(57)【要約】【課題】それぞれの階層画像における特徴点に差異があっても、該特徴点を用いた処理を良好に行える階層画像を選択する。【解決手段】画像処理装置１００は、入力画像を用いて、互いに解像度が異なる複数の階層画像を取得する画像取得手段１０４と、複数の階層画像のそれぞれにおいて複数の特徴点を抽出する抽出手段１０６と、各階層画像における複数の特徴点の位置に関する情報を用いて、複数の階層画像の相互間での複数の特徴点の相関を判定する判定手段１０８と、相関の判定結果に基づいて、複数の階層画像のうち特徴点を用いた処理の対象となる少なくとも１つの処理対象画像を選択する選択手段１１１とを有する。【選択図】図１
2016164709.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を用いて、互いに解像度が異なる複数の階層画像を取得する画像取得手段と、
前記複数の階層画像のそれぞれにおいて複数の特徴点を抽出する抽出手段と、
前記各階層画像における前記複数の特徴点の位置に関する情報を用いて、前記複数の階層画像の相互間での前記複数の特徴点の相関を判定する判定手段と、
前記相関の判定結果に基づいて、前記複数の階層画像のうち前記特徴点を用いた処理の対象となる少なくとも１つの処理対象画像を選択する選択手段とを有することを特徴とする画像処理装置。
【請求項２】
前記特徴点の特徴量を取得する特徴量取得手段を有し、
前記判定手段は、前記複数の階層画像のうち前記特徴量に関する所定の条件を満たす特定階層画像と他の階層画像との間で前記相関を判定し、
前記選択手段は、前記相関の判定結果に基づいて、少なくとも前記特定階層画像を含む前記処理対象画像を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定の条件は、前記複数の階層画像のうち、
最大の前記特徴量を有する前記特徴点を含むこと、
同一の階層画像に含まれる前記特徴量の平均値が最大であること、および、
所定値以上の前記特徴量を有する前記特徴点を含むことのうちいずれかであることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記各階層画像を複数の画像領域に分割する分割手段を有し、
前記抽出手段は、前記複数の階層画像における前記画像領域ごとに複数の特徴点を抽出し、
前記判定手段は、前記複数の階調画像の相互間において互いに対応する前記画像領域ごとに前記相関を判定し、
前記選択手段は、前記相関の判定結果に基づいて、前記複数の階層画像から前記画像領域単位で前記処理対象画像を選択することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記選択手段は、前記複数の階層画像のうち、前記相関が所定の相関値より高い少なくとも２つの前記階層画像または前記相関が相対的に高い少なくとも２つの階層画像を前記処理対象画像として選択することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記処理対象画像に対して前記処理を行う処理手段を有することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記処理対象画像として第１の画像と該第１の画像よりも解像度が低い第２の画像とが選択された場合において、
前記処理手段は、前記第２の画像において検出した動きベクトルを用いて前記第１の画像において動きベクトルを検出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
撮像により入力画像を生成する撮像手段と、
請求項１から７のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項９】
コンピュータに画像処理を実行させるコンピュータプログラムであって、
前記コンピュータに、
入力画像を用いて、互いに解像度が異なる複数の階層画像を取得させ、
前記複数の階層画像のそれぞれにおいて複数の特徴点を抽出させ、
前記各階層画像における前記複数の特徴点の位置に関する情報を用いて、前記複数の階層画像の相互間での前記複数の特徴点の相関を判定させ、
前記相関の判定結果に基づいて、前記複数の階層画像のうち前記特徴点を用いた処理の対象となる少なくとも１つの処理対象画像を選択させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレーム画像間で動きベクトルを検出する画像処理技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置により取得された映像に対して画像処理による手振れ補正やダイナミックレンジ拡大処理を行うために、映像を構成する複数のフレーム画像間で動きベクトルを検出し、該動きベクトルを用いて該フレーム画像の位置合わせを行う。動きベクトルの検出処理は、テンプレートマッチングによって行われることが多い。
【０００３】
テンプレートマッチングでは、まず２つのフレーム画像の一方を基準画像とし、他方を参照画像とする。そして、基準画像における所定の大きさの矩形領域をテンプレートブロックとし、参照画像における複数位置の矩形領域のそれぞれにおいてテンプレートブロックの輝度分布との相関を求める。参照画像のうち最も相関が高くなる矩形領域の位置がテンプレートブロックの移動先であり、基準画像上でのテンプレートブロックの位置を基準とした参照画像上での移動先への方向と移動量が動きベクトルの方向と大きさとなる。ただし、基準画像におけるテンプレートブロック内に特徴的なテクスチャが存在しないと、動きベクトルを正確に検出することができない。
【０００４】
このため、特許文献１には、基準画像からコーナー等の特徴点を抽出し、抽出した特徴点を含むようにテンプレートブロックを設定することで、動きベクトルの検出の信頼度を向上させる方法が開示されている。
【０００５】
また、動きベクトルの検出方法としては、以下のような階層動きベクトル検出がある。階層動きベクトル検出では、入力された画像から解像度が互いに異なる複数の階層画像を生成する。そして、まず最も低解像度の階層画像から動きベクトルを検出し、順次１つ上位（低解像度）の階層画像で検出された動きベクトルを参照しながら１つ下位（高解像度）の階層画像で動きベクトルを検出する。特許文献１では、特徴点を用いた階層動きベクトル検出が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３９３５５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、階層画像から特徴点を抽出する場合には、階層画像の解像度の差に起因して、抽出される特徴点の位置や特徴量に差異があることが多い。このため、階層動きベクトル検出においては、上位と下位の階層画像間での特徴点の差異を考慮することが必要である。この点、特許文献１にて開示された方法ではそのような特徴点の差異が考慮されておらず、所定の解像度の階層画像から抽出された特徴点を用いて動きベクトル検出を行うにすぎない。
【０００８】
本発明は、それぞれの階層画像における特徴点に差異があっても、該特徴点を用いた処理を良好に行える階層画像を選択できるようにした画像処理装置および撮像装置を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての画像処理装置は、入力画像を用いて、互いに解像度が異なる複数の階層画像を取得する画像取得手段と、複数の階層画像のそれぞれにおいて複数の特徴点を抽出する抽出手段と、各階層画像における複数の特徴点の位置に関する情報を用いて、複数の階層画像の相互間での複数の特徴点の相関を判定する判定手段と、相関の判定結果に基づいて、複数の階層画像のうち特徴点を用いた処理の対象となる少なくとも１つの処理対象画像を選択する選択手段とを有することを特徴とする。
【００１０】
なお、撮像により入力画像を生成する撮像手段と、上記画像処理装置とを有する撮像装置も本発明の他の一側面を構成する。
【００１１】
また、本発明の他の一側面としての画像処理プログラムは、コンピュータに、入力画像を用いて、互いに解像度が異なる複数の階層画像を取得し、複数の階層画像のそれぞれにおいて複数の特徴点を抽出し、各階層画像における複数の特徴点の位置に関する情報を用いて、複数の階層画像の相互間での複数の特徴点の相関を判定し、相関の判定結果に基づいて、複数の階層画像のうち特徴点を用いた処理の対象となる少なくとも１つの処理対象画像を選択する画像処理を実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数の階層画像における特徴点に差異があっても、該特徴点を用いた処理を良好に行える階層画像を選択することができる。このため、例えば、処理として階層動きベクトル検出を行う場合には、動きベクトルの検出精度を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１である撮像装置の構成を示すブロック図。
【図２】実施例１において行われる画像処理を説明するフローチャート。
【図３】実施例１における特徴点の相関判定を説明する図。
【図４】実施例１におけるテンプレートマッチングを説明する図。
【図５】実施例１における相関値マップを説明する図。
【図６】実施例１における階層動きベクトル検出を説明する図。
【図７】本発明の実施例２である画像処理装置の構成を示すブロック図。
【図８】実施例２における領域分割処理を説明する図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１５】
図１には、本発明の実施例１である撮像装置の構成を示している。撮影光学系１０１は被写体像を形成し、撮像素子１０２は撮影光学系１０１により形成された被写体像を光電変換（つまりは撮像）する。
【００１６】
カメラ信号処理回路１０３は、不図示のＡ／Ｄ変換回路、オートゲイン制御回路（ＡＧＣ）およびオートホワイトバランス回路を含み、撮像素子１０２から出力されたアナログ電気信号からデジタル映像信号（以下、入力画像という）を生成する。撮像素子１０２およびカメラ信号処理回路１０３により、撮像により入力画像を生成する撮像手段が構成される。
【００１７】
この撮像装置には、図１中に一点鎖線で囲んだ画像処理装置１００が設けられている。階層画像生成部（階層画像取得部）１０４は、入力画像に対してぼかしフィルタや平均値フィルタ等を適用して入力画像よりも解像度が段階的に低い複数の画像データ（以下、階層画像という）を生成する。なお、入力画像自体も１つの階層画像（最も高解像度の階層画像）として取得される。つまり、入力画像を用いて、該入力画像を含む複数の階層画像が取得される。階層画像生成部１０４は、これら互いに異なる解像度の階層画像を、階層画像保持部１０５ に格納する。
【００１８】
なお、階層画像生成部１０４は、入力画像に対してぼかしフィルタ等を使用する代わりに、入力画像を互いに異なる所定比率で縮小することによって解像度を段階的に低くした階層画像を生成するようにしてもよい。
【００１９】
特徴点抽出部１０６は、階層画像保持部１０５ に格納された複数の階層画像のそれぞれに対して複数の特徴点の抽出を行い、抽出したそれぞれの特徴点の位置を示す座標と特徴量とを特徴点情報として特徴点情報保持部１０７に格納する。特徴量抽出部１０６は、抽出手段および特徴量取得手段として機能する。
【００２０】
特徴点相関判定部（相関判定手段）１０８は、特徴点情報保持部１０７に特徴点情報として格納された複数の階層画像のそれぞれにおいて抽出された複数の特徴点（特徴点群）同士を比較することで、それら特徴点群同士の相関を判定する。そして、その判定結果を示す判定フラグを階層探索制御部１１１に出力する。特徴点群同士の相関の判定方法については後述する。
【００２１】
動きベクトル検出部（処理手段）１０９は、階層画像生成部１０４および階層画像保持部１０５から入力される２つの同一解像度の階層画像に対して、テンプレートマッチングにより動きベクトルを検出する。そして、検出した動きベクトルの情報（方向および大きさ：以下、まとめて動きベクトル情報という）を動きベクトル情報保持部１１０に格納する。
【００２２】
階層探索制御部（選択手段）１１１は、特徴点情報保持部１０７が保持する特徴点情報、特徴点相関判定部１０８からの判定フラグおよび動きベクトル情報保持部１１０が保持する動きベクトル情報に基づいて動きベクトル検出部１０９を制御する。
【００２３】
こられの構成要素１０４〜１１１を含む画像処理装置１００は、ＣＰＵやＭＰＵ等の画像処理用コンピュータにより構成され、図２にフローチャートで示す画像処理をコンピュータプログラムとしての画像処理プログラムに従って実行する。
【００２４】
ステップＳ２０１では、画像処理装置１００は、階層画像生成部１０４に複数の階層画像を生成させる。以下の説明では、階層画像生成部１０４が、入力画像（１／１画像）としての高解像度画像から、入力画像に対する１／２縮小画像である中解像度画像と入力画像に対する１／４縮小画像である低解像度画像を生成するものとする。つまり、以下のステップＳ２０２〜Ｓ２０４では入力画像を含む３つの階層画像に対して処理が行われる。
【００２５】
次に、ステップＳ２０２では、画像処理装置１００は、特徴点抽出部１０６に上記３つの階層画像のそれぞれから特徴点を抽出させる。特徴点の抽出方法としては、例えばHarris corner検出器もしくはShi and Tomasiの手法が用いられる。これらの手法では、画像の画素（ｘ，ｙ）における輝度値をＩ（ｘ，ｙ）と表現し、画像に対して水平および垂直の１次微分フィルタを適用した結果Ｉｘ，Ｉｙから、式（１）で示す自己相関行列Ｈを作成する。
【００２６】
【数１】
2016164709.tif 000003
【００２７】
式（１）において、Ｇは式（２）に示すガウス分布による平滑化を表す。
【００２８】
【数２】
2016164709.tif 000004
【００２９】
Harris検出器は、式（３）に示す特徴評価式により、特徴評価値（以下、特徴量という）が大きくなる画素を特徴点として抽出する。
【００３０】
【数３】
2016164709.tif 000005
【００３１】
式（３）において、ｄｅｔは行列式を、ｔｒは対角成分の和を表す。また、αは定数であり、実験的に０．０４〜０．１５の値が良いとされている。
一方、Shi and Tomasiは、式（４）に示す特徴評価式を用いる。
【００３２】
【数４】
2016164709.tif 000006
【００３３】
式（４）は、式（１）の自己相関行列Ｈの固有値λ１，λ２のうち小さい方の固有値を特徴量とすることを表す。Shi and Tomasiを用いる場合でも、特徴量が大きくなる画素を特徴点として抽出する。
【００３４】
次に、ステップＳ２０３では、画像処理装置１００は、特徴点相関判定部１０８に、ステップＳ２０２で得られた３つの階層画像の相互間において、それぞれの階層画像にて抽出された特徴点群同士の相関（整合性）を判定させる。
【００３５】
図３には、特徴点群同士の相関（以下、特徴点相関という）の判定例として、１／１画像（高解像度画像）と１／２縮小画像（中解像度画像）との間での特徴点相関の判定例を示す。図３（ａ）において、３０１は１／１画像であり、３０２は１／１画像から抽出された特徴点である。図３（ｂ）において、３０３は１／２縮小画像であり、３０４は１／２縮小画像から抽出された特徴点である。
【００３６】
特徴点相関の判定は、特徴点３０２，３０４の座標を比較することで行う。特徴点の座標を比較するためには、まずこれら座標のスケールを合わせる必要がある。ここでは、１／２縮小画像の特徴点３０４の座標を１／１画像の特徴点３０２の座標のスケールに合わせるように、１／２縮小画像３０３を２倍に拡大する。図３（ｃ）において、３０５は１／２縮小画像３０３を２倍に拡大した後の画像（２倍拡大画像）であり、３０６は２倍拡大画像３０５における特徴点を示す。
【００３７】
次に、１／１画像３０１の特徴点３０２の座標を（Ｘｉ，Ｙｉ）とし、２倍拡大画像３０５において１／１画像３０１の特徴点３０２に対応する特徴点３０６の座標を（Ｕｉ，Ｖｉ）として、これら互いに対応する一対の特徴点の座標の差異（位置ずれ量）を求める。差異Ｄとして、例えば式（５）に示すように、両座標間の距離の合計値を用いることができる。
【００３８】
【数５】
2016164709.tif 000007
【００３９】
ただし、Ｎは特徴点の個数である。差異Ｄが小さいほど特徴点相関が高くなり、整合性も高くなる。
【００４０】
特徴点３０２の座標と特徴点３０６の座標とで個数が異なる場合はどちらかに合わせるように調整してもよいし、個数の違い自体を差異として扱ってもよい。特徴点の個数を調整する場合は、例えば１フレーム画像中に含まれる特徴点のうち、特徴量が高い順に所定個数の特徴点を有効なものとして扱うようにすればよい。また、後述する実施例２で説明するように、階層画像を所定数の画像領域に分割し、画像領域ごとに所定数の特徴点を抽出することでも特徴点の個数の調整が可能である。また、特徴点の個数の違いにより特徴点（Ｘｉ，Ｙｉ）に対して対応する特徴点（Ｕｉ，Ｖｉ）が存在しない場合は、（Ｕｉ，Ｖｉ）を（０，０）等の所定の座標とみなした距離を差異Ｄに反映させればよい。
【００４１】
なお、特徴点相関を差異Ｄの逆数を用いる等して多値的に判定してもよいし、特徴点相関が高いか低いかの二値として判定してもよい。特徴点相関を多値的に判定する場合は、全ての特徴点相関において相対的に高い特徴点相関が得られた場合に「特徴点相関が高い」と判定し、相対的に低い特徴点相関が得られた場合に「特徴点相関が低い」と判定する。また、二値で判定する場合は、差異Ｄが所定の閾値よりも小さい場合、つまりは特徴点相関が所定の相関値より高い場合に「特徴点相関が高い」と判定し、逆の場合は「特徴点相関が低い」と判定する。所定の閾値を、被写体、撮影環境および撮影モード等に応じて変更してもよい。そして、特徴点相関判定部１０８は、特徴点相関の判定結果を判定フラグとして出力する。例えば、特徴点相関が高い場合には０の判定フラグを出力し、特徴点相関が低い場合には１の判定フラグを出力する。
【００４２】
このようにして、特徴点相関判定部１０８は、１／１画像、１／２縮小画像および１／４縮小画像の相互間における特徴点相関を、式（５）により算出される差異Ｄに基づいて判定する。そして、ステップＳ２０３が終了した画像処理装置１００は、ステップＳ２０４に移行する。
【００４３】
ステップＳ２０４では、画像処理装置１００は、階層探索制御部１１１に、ステップＳ２０３で得られた階層画像間における特徴点相関の判定結果に基づいて、動きベクトルの検出処理の対象となる階層画像（以下、ベクトル検出画像という）を選択させる。ベクトル検出画像は、処理対象画像に相当する。
【００４４】
表１には、ベクトル検出画像の選択方法の例を示す。
【００４５】
【表１】
2016164709.tif 000008
【００４６】
表１の第１列から第３列はそれぞれ、低解像度画像（１／４縮小画像）と中解像度画像（１／２縮小画像）間、中間像度画像と高解像度画像（１／１画像）間および低解像度画像と高解像度画像間のそれぞれでの特徴点相関の判定結果（判定フラグの値）を示している。前述したように０の判定フラグは特徴点相関が高い場合を、１の判定フラグは特徴点相関が低い場合を示している。なお、第３列における括弧付きの判定結果は、第１列と第２列に示した判定結果から自動的に決まるものであり、ステップＳ２０３での判定を省略できることを表している。
【００４７】
階層探索制御部１１１は、表１の第４列に示すように、特徴点相関が高い２つ以上の階層画像をベクトル検出画像として選択する。例えば、表１の第１行に示すように、低解像度画像と中解像度画像間、中間像度画像と高解像度画像間および低解像度画像と高解像度画像間の全てで特徴点相関が高い場合は、全ての階層画像をベクトル検出画像として選択する。また、表１の第２行に示すように、低解像度画像と中解像度画像間の特徴点相関は高いが、中間像度画像と高解像度画像間および低解像度画像と高解像度画像間の特徴点相関が低い場合は、低解像度画像と中解像度画像をベクトル検出画像として選択する。
【００４８】
一方、表１の第５行に示すように、低解像度画像と中解像度画像間、中間像度画像と高解像度画像間および低解像度画像と高解像度画像間の全てで特徴点相関が低い場合は、所定の階層画像、１つの階調画像、例えば高解像度画像をベクトル検出画像として選択する。
【００４９】
表２には、ベクトル検出画像の選択方法の別の例を示す。
【００５０】
【表２】
2016164709.tif 000009
【００５１】
表１の例では、階層画像間の特徴点相関のみに基づいてベクトル検出画像を選択したが、特徴点相関に加えて、特徴量の大きさに関して所定の条件を満たす階層画像を少なくとも１つのベクトル検出画像として選択してもよい。例えば、特徴量が大きい特徴点を含む階層画像はテンプレートマッチングに適した明確なテクスチャを含む可能性が高いため、そのような階層画像をベクトル検出画像として用いることでテンプレートマッチング、つまりは動きベクトルの検出精度が高くなる。
【００５２】
階層探索制御部１１１は、例えば、上記所定の条件として、上記３つの階層画像のうち最大の特徴量を有する特徴点を含む階層画像を着目階層画像（特定階層画像）として選択する。そして、着目階層画像から抽出された特徴点群と他の階層画像から抽出された特徴点群との相関が高いか否かを判定する。これらの特徴点相関が高い場合は、着目階層画像および該着目階層画像と特徴点相関が高い他の階層画像をベクトル検出画像として選択する。一方、着目階層画像から抽出された特徴点群と他の階層画像から抽出された特徴点群との相関が低い場合は、着目階層画像のみをベクトル検出画像として選択する。
【００５３】
このように着目階層画像を設けることで、特徴点相関と特徴量の大きさとに基づいたベクトル検出画像を選択することができる。
【００５４】
なお、着目階層画像を選択するための所定の条件としては他にも考えられる。まず、同一の階層画像に含まれる特徴量の平均値が最大の階層画像を着目階層画像として選択する。あるいは、所定値以上の特徴量を有する（少なくとも１つの）特徴点を含む階層画像を着目階層画像としてもよい。後者の場合は、着目階層画像が複数得られる場合があるため、最終的に着目階層画像を１つに絞る必要がある。例えば最も高解像度の階層画像に絞ることなどが考えられる。
【００５５】
なお、解像度の違いによって階層画像ごとに特徴量の応答が異なると考えられる。このため、階層画像間の特徴量の比較において、特徴量を正規化して比較することが望ましい。  また、相関判定結果が多値で与えられる場合は、階層画像の特徴点相関の大小関係からベクトル検出画像を選択すればよい。例えば、特徴点相関が最大となる２つの階層画像を選択する。より具体的には、低解像度画像と中解像度画像間の特徴点相関が最も高い場合は、これら低解像度画像と中解像度画像とを選択する。
【００５６】
さらに、２つの階層画像の特徴点相関が最大でなくても十分に高ければ、その２つの階層画像をベクトル検出画像として選択してもよい。この場合には、特徴点相関の最大値から所定幅内の相関を持つ階層画像をベクトル検出画像として選択すればよい。
【００５７】
次に、ステップＳ２０５では、画像処理装置１００は、動きベクトル検出部１０９に、ステップＳ２０４で選択された各ベクトル検出画像（のフレーム画像間）において、階層探索制御部１１１を通じて得られる特徴点情報を用いた動きベクトルの検出を行わせる。この際、動きベクトル検出部１０９は、階層動きベクトル検出を行う。
【００５８】
動きベクトル検出部１０９は、テンプレートマッチングにより動きベクトルを検出する。図４には、テンプレートマッチングの概要を示している。図４（ａ）は２つのベクトル検出画像のうち一方である基準画像を示し、図４（ｂ）は他方である参照画像を示している。ベクトル検出画像として用いられる階層画像は、階層画像保持部１０５に保持されているフレーム画像や階層画像生成部１０４から直接入力される画像データである。
【００５９】
動きベクトル検出部１０９は、基準画像中の特徴点の位置にテンプレートブロック４０１を配置し、該テンプレートブロック４０１と参照画像における複数の領域のそれぞれとの相関値を算出する。このとき、参照画像の全領域に対して相関値を算出するのでは演算量が膨大なものとなるため、実際には、参照画像上において相関値を算出する矩形の部分領域をサーチ範囲４０２として設定する。サーチ範囲４０２の位置や大きさについては特に制限はないが、動きベクトルを正しく検出するためにサーチ範囲４０２内にテンプレートブロック４０１の移動先に相当する領域が含まれるようにサーチ範囲４０２の位置や大きさを設定する必要がある。
【００６０】
本実施例では、相関値の算出方法として、差分絶対値和（Sum of Absolute Difference：以下、ＳＡＤと略す）を使用する。ＳＡＤの計算式を式（７）に示す。
【００６１】
【数６】
2016164709.tif 000010
【００６２】
式（７）において、ｆ（ｉ，ｊ）はテンプレートブロック４０１内の座標（ｉ，ｊ）での輝度値を示している。また、ｇ（ｉ，ｊ）はサーチ範囲４０２内において相関値の算出対象となるブロック（以下、相関値算出ブロックという）４０３内の各座標での輝度値を示す。ＳＡＤでは、両ブロック４０２，４０３内の輝度値ｆ（ｉ，ｊ），ｇ（ｉ，ｊ）の差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得る。相関値Ｓ＿ＳＡＤの値が小さいほど、ブロック４０２，４０３間の輝度値の差分が小さい、つまりはテンプレートブロック４０１と相関値算出ブロック４０３のテクスチャの類似度が高いことを表す。
【００６３】
なお、相関値の算出にＳＡＤ以外の方法を用いてもよく、例えば差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）を用いてもよい。
【００６４】
動きベクトル検出部１０９は、サーチ範囲４０２の全域にて相関値算出ブロック４０３を移動させて相関値を算出する。これにより、サーチ範囲４０２に対して図５に示すような相関値マップ（以下、ＳＡＤマップという）を作成する。
【００６５】
図５において、Ｘ軸とＹ軸はＳＡＤマップ内（つまりはサーチ範囲４０２内）での座標を表しており、Ｚ軸は各座標での相関値の大きさを表している。同図において、相関値が最も小さいのは極小値５０１であり、サーチ範囲４０２内（つまりは参照画像内）で極小値５０１が算出された領域（相関値算出ブロック４０３）にはテンプレートブロック４０１と非常に類似したテクスチャが存在していると判定できる。
【００６６】
このように、動きベクトル検出部１０９は、テンプレートブロック４０１とサーチ範囲４０２との間で相関値を算出し、その値が最も小さくなる相関値算出ブロック４０３の位置を判定する。これにより、基準画像上のテンプレートブロック４０１の参照画像上での移動先を特定することができる。そして、基準画像上でのテンプレートブロックの位置を基準とした参照画像上での移動先への方向および移動量を方向および大きさとした動きベクトルを検出することができる。
【００６７】
階層動きベクトル検出について、図６を用いて説明する。階層動きベクトル検出では、上位（低解像度側）の階層画像での動きベクトルの検出結果を、下位（高解像度側）の階層画像での動きベクトル検出における初期値として用いる。
【００６８】
図６（ａ）は、上位階層画像としての１／２縮小画像６０１での動きベクトル検出を示している。６０２は特徴点であり、６０３は１／２縮小画像６０１（基準画像としての前フレーム画像）上に配置されたテンプレートブロックである。６０４は１／２縮小画像６０１（参照画像としての後フレーム画像）上に設定されたサーチ範囲であり、６０５は１／２縮小画像６０１で検出された動きベクトルである。
【００６９】
１／２縮小画像６０１で検出された動きベクトル６０５を、図６（ｃ）に示す下位階層画像としての１／１画像６１１で初期値として用いるためには、両画像６０１，６１１のスケールを合わせる必要がある。図６（ｂ）は、図６（ａ）に示した１／２縮小画像６０１を２倍に拡大した２倍拡大画像６０６を示している。１／２縮小画像６０１の２倍拡大に伴って、テンプレートブロック６０８、サーチ範囲６０９および動きベクトル６１０も２倍に拡大されている。６０７は２倍拡大画像６０６上において１／２縮小画像６０１上の特徴点に対応する特徴点である。
【００７０】
図６（ｃ）に示す１／１画像６１１において、６１２は２倍拡大画像６０６上の特徴点６０７に対応する特徴点であり、６１３は１／１画像６１１（基準画像としての前フレーム画像）上に配置されたテンプレートブロックである。６１４は１／１画像６１１（参照画像としての後フレーム画像）上に設定されたサーチ範囲である。６１５は２倍拡大画像６０６上の動きベクトル６１０と同一の動きベクトル（初期値）であり、６１６は１／１画像６１１にて検出された動きベクトルである。階層動きベクトル検出により検出される最終的な動きベクトルは、動きベクトル６１５と動きベクトル６１６との和として得られる。
【００７１】
このような階層動きベクトル検出を行うことにより、上位階層画像での動きベクトルの検出結果を下位階層画像で用いることで、最終的な動きベクトルの検出精度を向上させることができる。
【００７２】
仮に下位階層画像（１／１画像）のみで動きベクトル検出を行う場合には、動きベクトルの予想が全くついていないために、図６（ｂ）と同様に、テンプレートブロックの全体を含むようにある程度大きいサーチ範囲を設定する必要がある。しかも、周期的な繰り返しパターンのテクスチャの検出を避けるため、テンプレートブロックのサイズも大きく設定する必要があり、この結果、サーチ範囲がさらに大きくなる。
【００７３】
一方、上位階層画像（１／２縮小画像６０１）にて動きベクトルを検出しておくことで、これを下位階層画像（１／１画像６１１）上でのサーチ範囲の設定に利用することができる。すなわち、図６（ｃ）に示すように、１／１画像６１１上でのサーチ範囲６１４を、１／２縮小画像６０１にて検出された動きベクトル６０５（実際には２倍拡大画像６０６上での動きベクトル６１０）の終点の周辺に小さく設定すれば足りる。この結果、サーチ範囲６１４内に周期的な繰り返しパターンのテクスチャが存在する確率も下がるため、テンプレートブロックのサイズも小さく設定することができる。また、サーチ範囲とテンプレートブロックのサイズを小さくすることにより、テンプレートマッチングにおいて、特徴点以外の周辺領域の動きの影響を受けにくくなり、より高精度な動きベクトル検出を行うことができる。
【００７４】
以上説明したように、本実施例では、それぞれの階層画像から抽出された特徴点群同士の相関が高い階層画像のみをベクトル検出画像として用いて階層動きベクトル検出を行うので、動きベクトルの検出精度を向上させることができる。
【実施例２】
【００７５】
図７には、本発明の実施例２である撮像装置の構成を示す。図７の撮像装置の構成要素において、図１に示した撮像装置の構成要素と同じものには図１中の符号と同符号を付す。また、図７の撮像装置の構成要素のうち、図１に示した撮像装置の構成要素に対応する（同じではないが類似する）ものには図１中の符号の末尾に「ａ」を付す。本実施例の撮像装置も画像処理装置２００を含む。画像処理装置２００は、領域分割部７０１を有する。以下では、実施例１と異なる部分を中心として説明する。
【００７６】
実施例１では、フレーム画像単位で複数の特徴点を抽出し、その単位での特徴点相関の判定結果に応じてベクトル検出画像を選択した。しかし、１つの階層画像においても、その領域によって特徴点相関の判定や動きベクトルの検出に適した階層が異なる場合があり得る。このため、本実施例では、階層画像を複数の画像領域に分割し、画像領域ごとに複数の特徴点を抽出し、複数の階層画像における互いに対応する画像領域間で特徴点相関の判定を行い、その判定結果に基づいて画像領域単位でベクトル検出画像を選択する。これにより、実施例１よりもさらに精度良く階層動きベクトル検出を行うことができる。
【００７７】
領域分割部（分割手段）７０１は、特徴点抽出部１０６ａ、特徴点相関判定部１０８ａおよび階層探索制御部１１１ａに対して、各階層画像を複数の画像領域に分割するための分割情報を出力する。各画像領域の形状は任意であるが、本実施例では図８（ａ）に示すように、階層画像を格子状に分割する。
【００７８】
特徴点抽出部１０６ａは、領域分割部７０１からの分割情報に基づいて、画像領域ごとに所定数（複数）の特徴点を抽出する。具体的には、画像領域ごとに、式（３）または式（４）により画素の特徴量を算出し、特徴量が高い方から所定数の画素を特徴点として抽出する。図８（ｂ）には、格子状に分割された画像領域ごとに１つの特徴点８０１が抽出された様子を示している。
【００７９】
特徴点相関判定部１０８は、領域分割手段７０１からの分割情報に基づいて、画像領域ごとに階層間の特徴点相関を判定する。画像領域ごとに抽出される特徴点の個数は定められているため、式（５）をそのまま用いればよい。
【００８０】
階層探索制御部１１１ａは、領域分割部７０１からの分割情報に基づいて、画像領域ごとにベクトル検出画像を選択する。ベクトル検出画像の選択方法は、実施例１において表１および表２を用いて説明した方法と同じでよい。
【００８１】
本実施例では、画像領域ごとに選択される階層画像が異なる場合が生じ、その分、実施例１に比べて処理負荷が増加する可能性がある。しかし、画像領域ごとに最適な階層画像をベクトル検出画像として選択するために、実施例１よりもさらに階層動きベクトル検出の精度を向上させることができる。
【００８２】
なお、上記実施例１，２では階層画像における特徴点の情報を用いて動きベクトルを検出する処理を行う場合について説明したが、該情報を用いて他の処理を行ってもよい。
【００８３】
また、上記実施例１，２では、画像処理装置１００，２００が撮像装置内に設けられている場合について説明したが、撮像装置とは別のパーソナルコンピュータ等によって画像処理装置を構成してもよい。この場合、撮像装置にて生成された撮影画像を、通信や記録媒体を介して入力画像として画像処理装置に入力すればよい。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８４】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００８５】
１０４  階層画像生成部
１０６  特徴点抽出部
１０８  特徴点相関判定部
１１１  階層探索制御部
【図１】
2016164709.tif 000011
【図２】
2016164709.tif 000012
【図３】
2016164709.tif 000013
【図４】
2016164709.tif 000014
【図５】
2016164709.tif 000015
【図６】
2016164709.tif 000016
【図７】
2016164709.tif 000017
【図８】
2016164709.tif 000018