(57)【要約】【課題】グリッド分割を用いた動きベクトルの検出において、動きベクトルの誤検出を抑制する。【解決手段】１つの画像を複数の領域に分割する領域分割部と、領域分割部により分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択部と、分割領域ごとの特徴点に基づいてマッチング処理に使用する画像領域を決定し、動きベクトルを算出する動きベクトル算出部とを備え、特徴点選択部は、複数の分割領域のうちの１つである第１の分割領域における特徴点と、第１の分割領域に隣接する第２の分割領域における特徴点の距離が所定距離以上となるように、分割領域ごとに特徴点を選択する。【選択図】  図４
2018081640.tif 000002
【特許請求の範囲】
【請求項１】
１つの画像を複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択手段と、
前記分割領域ごとの特徴点に基づいてマッチング処理に使用する画像領域を決定し、動きベクトルを算出する動きベクトル算出手段と、を備え、
前記特徴点選択手段は、複数の前記分割領域のうちの１つである第１の分割領域における特徴点と、該第１の分割領域に隣接する第２の分割領域における特徴点の距離が所定距離以上となるように、前記分割領域ごとに特徴点を選択することを特徴とする画像処理装置。
【請求項２】
前記特徴点選択手段は、前記分割領域ごとに１つの特徴点を記憶手段に記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特徴点選択手段は、前記分割領域ごとに、複数の特徴点候補の画素の座標と該複数の特徴点候補の画素の特徴値とを記憶手段に記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記特徴点選択手段は、前記分割領域ごとに、少なくとも、前記特徴値が最も大きい第１の特徴点候補と、前記特徴値が２番目に大きい第２の特徴点候補とを記憶手段に記憶させることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記特徴点選択手段は、前記第１の分割領域における前記第１の特徴点候補と、前記第２の分割領域における前記第１の特徴点候補の距離が所定距離より小さかった場合に、前記記憶手段に記憶した前記第１及び第２の分割領域それぞれにおける前記第２の特徴点候補の特徴値を比較することにより、特徴点を選択することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記特徴点選択手段は、前記第１及び第２の分割領域のうち、第２の特徴点候補の特徴値が大きい方の分割領域において、前記第１の特徴点候補の代わりに前記第２の特徴点候補を特徴点として選択することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記特徴点選択手段は、前記分割領域ごとに記憶する複数の特徴点候補同士の距離が前記所定距離以上となるように、前記特徴点候補を選択することを特徴とする請求項３乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記ベクトル算出手段は、連続する２つのフレームの画像に対して前記マッチング処理を行うことにより、前記動きベクトルを算出することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記動きベクトルは、像ブレの補正に用いられることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
１つの画像を複数の領域に分割する領域分割工程と、
前記領域分割工程により分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択工程と、
前記分割領域ごとの特徴点に基づいてマッチング処理に使用する画像領域を決定し、動きベクトルを算出する動きベクトル算出工程と、を有し、
前記特徴点選択工程では、複数の前記分割領域のうちの１つである第１の分割領域における特徴点と、該第１の分割領域に隣接する第２の分割領域における特徴点の距離が所定距離以上となるように、前記分割領域ごとに特徴点を選択することを特徴とする画像処理方法。
【請求項１１】
請求項９に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項９に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレーム画像間で動きベクトルを検出する画像処理装置に関するものである。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラ等の撮像装置を用いて撮影された映像に対して像ブレ補正を施すためには、フレーム画像間の動き量を検出して複数枚の画像の位置合わせを行う必要がある。フレーム画像間の動き量を検出する方法としては、ジャイロセンサのような外部機器の情報を用いたり、撮影されたフレーム画像から動き量を推定したりする方法等がある。
【０００３】
フレーム画像を用いて動き量を推定する方法は従来から種々提案されているが、その代表的なものとしてテンプレートマッチングによる動きベクトル検出がある。テンプレートマッチングでは、まず映像中のある２枚のフレーム画像の一方を原画像、もう一方を参照画像とする。そして、原画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置においてテンプレートブロック内の画素値の分布との相関を求める。このとき、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先であり、原画像上でのテンプレートブロックの位置を基準とした時の移動先への向きと移動量が動きベクトルとなる。
【０００４】
動きベクトルの検出率を向上させるため、特徴点を抽出し、抽出した特徴点にテンプレートブロックを配置し、フレーム画像間でテンプレートマッチングを行う技術がある。ここで、画像全体に対して特徴点抽出を行うと、特徴点の分布は不均一になることが多い。不均一な特徴点に対して得られた動きベクトルを像ブレ補正の用途で使用する場合、特徴の集中した領域が主となる像ブレ補正となってしまう。
【０００５】
この問題を解決するため、特許文献１では、特徴点を均一に分布させるために、画像をグリッド状に分割して、特徴の大きさを表す特徴値を画素ごとに計算し、各グリッド内で特徴値が最も大きい画素を特徴点として抽出している。
【０００６】
図１０は、特許文献１に記載されている技術に基づいて、各グリッド内で特徴点を求めて、その特徴点にテンプレートブロックを配置し、テンプレートマッチングを行う例を示した図である。図１０において、１００１は画像、１００２−１はグリッド、１０１０−１はグリッド内の特徴点、１００３はテンプレート、１００４はテンプレートに対するサーチ範囲を示す。グリッド１００２−１においては、特徴点１０１０−１を重心としたテンプレート１００３に基づいて、テンプレートマッチングが行われる。また、１０２０−２は、グリッド１００２−２内の被写体１０２０から求められた特徴点である。このようにグリッド毎に特徴点を求めてテンプレートマッチングを行い、動きベクトルを検出して像ブレ補正が行われる。グリッド毎に被写体の特徴点を求めることにより、特徴の集中した領域に偏らずに特徴点の分布を均一にすることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１９２０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、１つの被写体が複数のグリッドの境界にまたがった場合、複数のグリッドで同一被写体に対する特徴点を検出することになる。例えば、図１０において、被写体１０３０が４つのグリッド１００２−３〜１００２−６にまたがった場合、４つのグリッド１００２−３〜１００２−６のそれぞれで１つの被写体１０３０に対する特徴点１０３０−３〜１０３０−６を検出することになる。ここで被写体１０３０が手振れとは異なる動きの動体等であった場合、手振れとは異なる動きベクトルを複数誤検出することになり、像ブレ補正精度が低下してしまうという課題がある。
【０００９】
本発明は上述した課題に鑑みてなされたものであり、その目的は、グリッド分割を用いた動きベクトルの検出において、動きベクトルの誤検出を抑制することである。
【課題を解決するための手段】
【００１０】
本発明に係わる画像処理装置は、１つの画像を複数の領域に分割する領域分割手段と、前記領域分割手段により分割された分割領域ごとに画素の特徴値を算出して、特徴点を選択する特徴点選択手段と、前記分割領域ごとの特徴点に基づいてマッチング処理に使用する画像領域を決定し、動きベクトルを算出する動きベクトル算出手段と、を備え、前記特徴点選択手段は、複数の前記分割領域のうちの１つである第１の分割領域における特徴点と、該第１の分割領域に隣接する第２の分割領域における特徴点の距離が所定距離以上となるように、前記分割領域ごとに特徴点を選択することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、グリッド分割を用いた動きベクトルの検出において、動きベクトルの誤検出を抑制することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係わる画像処理装置の構成を示す図。
【図２】画像信号のグリッド分割方法を示す図。
【図３】分割された画像信号の処理順序を示す図。
【図４】動きベクトル検出部の構成を示す図。
【図５】第１の実施形態における特徴点算出部の構成を示す図。
【図６】第１の実施形態における特徴点決定方法を説明する図。
【図７】第１の実施形態における動きベクトル検出動作を示す図。
【図８】第２の実施形態における特徴点算出部の構成を示す図。
【図９】第２の実施形態における特徴点決定方法を説明する図。
【図１０】従来の動きベクトル検出方法を説明する図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【００１４】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係わる画像処理装置の構成を示す図である。図１において、結像光学系２０１は、レンズや絞り等からなり、フォーカス調節や露出調節を行う。撮像素子２０２は、ＣＣＤ、ＣＭＯＳセンサ等からなり、光学像を電気信号に変換する。Ａ／Ｄ変換回路２０３は、撮像素子２０２から出力されるアナログ画像信号をデジタル画像データに変換する。ＣＰＵ２０４は、バスを介して画像処理装置全体の各種制御を司る。メモリであるＤＲＡＭ２１２は、データを格納する。動きベクトル検出部２１０は、連続する少なくとも２つのフレーム画像信号から動きベクトルを検出し、検出結果をＣＰＵ２０４に通知する。画像処理部２１１は、画像信号に対して、レンズ歪の補正処理、動きベクトル検出部２１０が検出した動きベクトルに基づく像ブレ補正処理、等の各種画像処理を施す。表示部２０５は、画像処理部２１１で生成された画像データを液晶ディスプレイ等に表示する。記録部２０６は、画像処理部２１１で生成された画像データをメディア等に記録する。
【００１５】
図２は、本実施形態における画像信号のグリッド分割（領域分割）を示す図である。図２では、画像信号５５０を、水平方向に６個、垂直方向に４個の領域（グリッド）に分割している。グリッド分割数、グリッド画像サイズは、ＣＰＵ２０４によって動きベクトル検出部２１０に対して設定される。以降の処理では、グリッド５０１について特徴点５０３を求め、求めた特徴点に応じて、テンプレート画像５０４の位置（画像領域）とサーチ画像５０５の位置（画像領域）を決定して、テンプレートマッチングを行う。
【００１６】
特徴点５０３の座標は、グリッド５０１内の座標となる。テンプレート画像５０４とサーチ画像５０５は、特徴点５０３の位置によってグリッド５０１をはみ出す場合がある。そのため、テンプレート画像５０４、及びサーチ画像５０５がグリッド５０１の上側にはみ出した場合に参照される上側余分領域５０６が必要になる。グリッド５０８−５に対しては、特徴点５１３を求め、求めた特徴点に応じて、テンプレート画像５１４の位置と、サーチ画像５１５を決定して、テンプレートマッチングを行う。本実施形態においては、グリッド５０８−５内の特徴点５１３は、グリッド５０１内の特徴点５０３との距離がＣＰＵ２０４で設定された隣接座標閾値以上となる点の中から決定される。
【００１７】
図３は、分割された画像信号の処理順序を示す図である。まず、左上端の余分領域５０８−１の画像信号を読み出したら、次に、その右隣の余分領域５０８−２の画像信号を読み出し、その後も右隣の余分領域の画像信号を読み出す。上端の余分領域の画像信号を全て読み出し終えたら、グリッド５０１に対する左端の余分領域５０８−４の画像信号を読み出し、その後に、グリッド５０１の画像信号を読み出す。グリッド５０１の画像信号を読み出し終えたら、グリッド５０８−５、グリッド５０８−１０の順で、水平方向のグリッドの画像信号を読み出していく。
【００１８】
図４は、本実施形態における動きベクトル検出部２１０の構成を示す図である。グリッド分割部１０１は、ＣＰＵ２０４により設定されたグリッド分割情報に基づいて画像を複数領域（本実施形態ではグリッドと呼ぶ）に分割する。グリッド分割部１０１は、後段のベクトル検出画像生成部１０２に対し、画像信号５５０を前述した余分領域を含めた分割領域単位で出力する。ベクトル検出画像生成部１０２は、ベクトル検出用の画像（ベクトル算出画像）を生成する。生成されたベクトル検出画像は、ＤＲＡＭ２１２に格納される。ＤＲＡＭ２１２には、現時点のベクトル検出画像と、１フレーム前のベクトル検出画像の、２フレーム分のベクトル検出画像が記憶されている。本実施形においては、現時点のベクトル検出画像をテンプレート画像とし、１フレーム前のベクトル検出画像をサーチ画像として、テンプレートマッチングを行う。
【００１９】
特徴点算出部（特徴点選択部）１０３は、画像信号の特徴点を算出する。特徴点算出部１０３は、グリッドのみが処理対象となるため、余分領域は含まないグリッド単位の画像信号のみが入力される。また、グリッド分割部１０１から、画像信号がどのグリッド領域の画像であるかを判別するためのグリッド番号、及び画像信号におけるグリッド左上の原点の座標が入力される。本実施形態では、グリッド５０１のグリッド番号を１、グリッド５０８−５のグリッド番号を２としており、各グリッドに識別可能な番号を割り当てている。特徴点算出部１０３は、グリッド分割部１０１からのグリッド単位の画像信号、グリッド番号、グリッド原点座標、ＣＰＵ２０４から設定されたグリッド分割情報、隣接座標閾値、に基づいてグリッド毎の特徴点を算出する。メモリアドレス生成部１０６は、特徴点の検出結果に応じて、ＤＲＡＭ２１２からのテンプレート画像とサーチ画像の読み出し位置を決定する。マッチング処理部１０５は、ＤＲＡＭ２１２から読み出したテンプレート画像とサーチ画像を用いてテンプレートマッチング処理を行う。テンプレート画像の水平、垂直サイズ、サーチ画像の水平、垂直サイズは、ＣＰＵ２０４によってメモリアドレス生成部１０６、マッチング処理部１０５に設定されている。
【００２０】
図５は、特徴点算出部１０３の構成を示した図である。特徴点算出部１０３は、特徴フィルタ部４０１、特徴評価部４０２、座標算出部４０３、特徴点決定部４０４、特徴点決定部４０４がアクセスするＳＲＡＭ０４０５を備えて構成されている。
【００２１】
特徴フィルタ部４０１は、例えば、バンドパスフィルタ、水平微分フィルタ、垂直微分フィルタ、平滑化フィルタなど、複数のフィルタから構成される。本実施形態においては、バンドパスフィルタで不要な画像信号の高周波成分と低周波成分をカットし、水平方向の微分フィルタ処理を施した信号と、垂直方向の微分フィルタ処理を施した信号、それぞれに対して、平滑化フィルタ処理を施した信号を出力する。
【００２２】
特徴評価部４０２は、特徴フィルタ部４０１によりフィルタ処理されたグリッドの画像信号に対し、画素ごとに２つのエッジの交点や曲率が極大である曲線状の点など画素の周辺の微分値が多方向に大きい点を特徴評価式により特徴値として算出する。本実施形態では、例えば、Ｓｈｉ ａｎｄ Ｔｏｍａｓｉの手法を用いる場合について説明する。水平微分フィルタと垂直微分フィルタを施した結果から、自己相関行列Ｈを作成する。自己相関行列Ｈの式を（式１）に示す。
【００２３】
【数１】
2018081640.tif 000003
【００２４】
（式１）において、Ｉxは水平微分フィルタを施した結果、Ｉyは垂直微分フィルタを施した結果を表しており、ガウシアンフィルタＧを畳み込む。Ｓｈｉ ａｎｄ Ｔｏｍａｓｉの特徴評価式を（式２）に示す。
【００２５】
Shi and Tomashi ＝ min（λ1，λ2）      （式２）
（式２）は、（式１）の自己相関行列Ｈの固有値λ1，λ2のうち小さい方の固有値を特徴値とすることを示す。
【００２６】
座標算出部４０３は、グリッドの原点座標とグリッド単位の画像信号から、処理している画素の画像信号における絶対座標を算出する。特徴点決定部４０４は、グリッド毎に特徴点を決定し、グリッド番号と特徴点座標をＳＲＡＭ４０５に格納する。本実施形態においては、特徴点決定部４０４は、グリッド５０１に対して、特徴評価部４０２によって算出された特徴値がグリッド５０１内で最も大きい画素を特徴点としている。また、特徴点決定部４０４は、ＳＲＡＭ４０５に格納した各グリッドの特徴点座標をＳＲＡＭ４０５から読み出すことが可能である。
【００２７】
特徴点決定部４０４は、現在処理中のグリッド番号、及びＣＰＵ２０４に設定されたグリッド分割情報から隣接グリッド番号を算出し、ＳＲＡＭ４０５から隣接グリッドの特徴点座標を読み出す。本実施形態では、特徴点決定部４０４は、グリッド５０８−５の特徴点算出時において、既に特徴点を算出した隣接グリッド５０１の特徴点座標をＳＲＡＭ４０５から読み出す。また、特徴点決定部４０４はグリッド５０８−５の特徴点算出時において、隣接グリッド５０１の特徴点座標との距離がＣＰＵ２０４から設定された隣接座標閾値以上（所定距離以上）となる画素の中で、特徴値が最も大きい画素を特徴点とする。
【００２８】
以降同様に、他のグリッドの特徴点算出時において、隣接グリッドの特徴点座標との距離が隣接座標閾値以上となる画素の中で、特徴値が最も大きい画素を特徴点とする。グリッド５０８−５にとって、既に特徴点を算出した隣接グリッドは左隣のグリッド５０１のみであるが、他のグリッドでは、最大で左上・上・右上・左隣の４つのグリッドが既に特徴点を算出した隣接グリッドになる。その場合、４つの隣接グリッドの特徴点座標との距離が隣接座標閾値以上となる画素の中で、特徴値が最も大きい画素を特徴点とする。また、特徴点決定部４０４は、マッチング処理部１０５が対応するグリッドのテンプレートマッチング処理を開始する時に、メモリアドレス生成部１０６へ特徴点座標を出力する。
【００２９】
図６は、本実施形態における特徴点決定方法及びベクトル検出方法を説明する図である。５０２はグリッド５０１の原点座標であり、画素５０３の座標（ＰＸ，ＰＹ）は、グリッド原点５０２からの相対座標である。本実施形態では、座標が（ＰＸ，ＰＹ）である画素５０３がグリッド５０１内において特徴値の最も大きい画素であるとする。５０３は特徴点座標、５０４はテンプレート画像、５０５はサーチ画像、５０６はテンプレート画像読み出し開始座標、５０７はサーチ画像読み出し開始座標となる。５０８−１，２，３，４，６，１１はテンプレートマッチング処理に必要となる余分画素領域である。
【００３０】
特徴点５０３（ＰＸ，ＰＹ）は、グリッドの原点座標を（ＧＳＸ，ＧＳＹ）とした場合に、画像信号内の絶対座標（ＧＰＸ，ＧＰＹ）として以下の式で表現される。
【００３１】
（ＧＰＸ，ＧＰＹ）＝（ＧＳＸ＋ＰＸ，ＧＳＹ＋ＰＹ）      （式３）
テンプレート画像は、特徴点が中心となるように配置される。従って、テンプレート画像の読み出し開始位置（ＧＴＸ，ＧＴＹ）は、テンプレート画像の水平サイズをＴＸ、垂直サイズをＴＹとした場合、以下の式で表現される。
【００３２】
（ＧＴＸ，ＧＴＹ）＝（ＧＰＸ−ＴＸ／２，ＧＰＹ−ＴＹ／２）      （式４）
サーチ画像は、画像の中心をテンプレート画像の中心に揃えて配置する。従って、サーチ画像の読み出し開始位置（ＧＭＸ，ＧＭＹ）は、サーチ画像の水平サイズをＳＸ、垂直サイズをＳＹとした場合、以下の式で表現される。
【００３３】
（ＧＭＸ，ＧＭＹ）＝（ＧＰＸ−ＳＸ／２，ＧＰＹ−ＳＹ／２）      （式５）
メモリアドレス生成部１０６は、ＤＲＡＭ２１２に配置された、現フレームのベクトル検出画像に対して、テンプレート画像として、座標（ＧＴＸ，ＧＴＹ）から水平サイズＴＸ、垂直サイズＴＹの矩形領域を読み出すよう、メモリアドレスを発行する。また、同様に、ＤＲＡＭ２１２に配置された１フレーム前のベクトル検出画像に対して、サーチ画像として、座標（ＧＭＸ，ＧＭＹ）から水平サイズＳＸ、垂直サイズＳＹの矩形領域を読み出すよう、メモリアドレスを発行する。テンプレート画像の水平、垂直サイズ、サーチ画像の水平、垂直サイズは、ＣＰＵ２０４によってメモリアドレス生成部１０６、マッチング処理部１０５に対して設定されている。
【００３４】
マッチング処理部１０５は、ＤＲＡＭ２１２から読み出されたテンプレート画像とサーチ画像を用いて相関値を算出し、その相関値からベクトル値を算出する。例えば、相関値の算出方法の一例として差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤと略す）を使用する。
【００３５】
【数２】
2018081640.tif 000004
【００３６】
…（式６）
（式６）において、ｆ（ｉ，ｊ）はテンプレート画像５０４内の座標（ｉ，ｊ）における画素値を表しており、ｇ（ｉ，ｊ）はサーチ画像５０５において相関値算出の対象となる領域内の各画素値を表す。相関値算出対象領域は、テンプレート画像５０４と同じ大きさである。そしてＳＡＤでは、両ブロック内の各画素値ｆ（ｉ，ｊ）及びｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得ることが出来る。従って、相関値Ｓ＿ＳＡＤの値が小さいほど両ブロック間の輝度値の差分が小さい、つまりテンプレート画像５０４と相関値算出領域内のテクスチャが類似していることを表している。なお、本実施形態では、相関値の一例としてＳＡＤを使用しているが、これに限られるものではなく、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いてもよい。そして、相関値の最小値の位置（ＭＶＸ，ＭＶＹ）を、グリッドの動きベクトル値として出力する。
【００３７】
他のグリッドに対しても同様に動きベクトル値を算出する。本実施形態では、グリッド内の特徴点の決定時において、隣接するグリッドの特徴点座標との距離がＣＰＵ２０４から設定された隣接座標閾値以上となる画素の中で、特徴値の最も大きい画素を特徴点とする。本実施形態では、グリッド５０８−５内で特徴値の最も大きい画素が５０９、グリッド５０８−１０内で特徴値の最も大きい画素が５１２、グリッド５０８−７内で特徴値の最も大きい画素が５１０であるものとする。そして、本実施形態では、グリッド５０１，５０８−５，５０８−１０，５０８−７において、特徴値の最も大きい画素同士の距離は、ＣＰＵ２０４から設定された隣接座標閾値以上とする。よって、それぞれのグリッドで特徴値の最も大きい画素が特徴点となる。
【００３８】
一方、グリッド５０８−８内においては、特徴値の最も大きい画素が画素５１１−１（ＰＸ２，ＰＹ２）、２番目に大きい画素が画素５１１−２（ＰＸ３，ＰＹ３）であるとする。この場合、特徴点決定部４０４は、グリッド５０８−８の特徴点決定時において、隣接グリッドの特徴点との距離がＣＰＵ２０４から設定された隣接座標閾値以上となる画素の中で、特徴値の最も大きい画素を特徴点とする。本実施形態では、隣接グリッドの特徴点との水平距離または垂直距離のどちらかが隣接座標閾値以上となる画素の中で、特徴値の最も大きい画素を特徴点とする。そして、本実施形態の場合、画素５１１−１（ＰＸ２，ＰＹ２）と、左隣接グリッド５０８−７の特徴点５１０（ＰＸ１，ＰＹ１）の水平距離ＤＸ１、垂直距離ＤＹ１は共に隣接座標閾値未満であるとする。よって本実施形態では、画素５１１−１（ＰＸ２，ＰＹ２）は、グリッド５０８−８の特徴点として選択されない。
【００３９】
（ＤＸ１，ＤＹ１）＝（｜ＰＸ２−ＰＸ１｜，｜ＰＹ２−ＰＹ１｜）    …（式７）
また、画素５１１−２（ＰＸ３，ＰＹ３）と、左隣接グリッド５０８−７の特徴点５１０（ＰＸ１，ＰＹ１）の水平距離ＤＸ２、垂直距離ＤＹ２は共に隣接座標閾値以上であるとする。よって本実施形態では、画素５１１−２（ＰＸ３，ＰＹ３）をグリッド５０８−８の特徴点として選択する。
【００４０】
（ＤＸ２，ＤＹ２）＝（｜ＰＸ３−ＰＸ１｜，｜ＰＹ３−ＰＹ１｜）    …（式８）
図７は、本実施形態における動きベクトルの検出動作を示すフローチャートである。ＣＰＵ２０４は、グリッド分割部１０１にグリッド分割数、グリッド画像サイズ、余分領域サイズを設定する（Ｓ７０１）。ＣＰＵ２０４は、メモリアドレス生成部１０６、マッチング処理部１０５にテンプレート画像の水平・垂直サイズ、サーチ画像の水平・垂直サイズを設定する（Ｓ７０２）。ＣＰＵ２０４は、特徴点算出部１０３に隣接座標閾値を設定する（Ｓ７０３）。ＣＰＵ２０４は、結像光学系２０１、撮像素子２０２に画像信号の取得、動きベクトル検出部２１０に動きベクトル検出開始を指示する（Ｓ７０４）。ＣＰＵ２０４は、動きベクトル検出部２１０から検出完了の通知を受けたら（Ｓ７０５）、検出された動きベクトルデータを取得する（Ｓ７０６）。
【００４１】
以上説明したように、第１の実施形態におけるベクトル検出処理により、被写体が複数のグリッドにまたがった場合においても、各グリッドで異なる被写体の動きベクトルを検出できる。そのため、動体の被写体検出による像ブレ補正精度の劣化を防ぐことが出来る。
【００４２】
なお、本実施形態では、入力画像を水平方向６個、垂直方向４個のグリッドに分割したが、分割数はこの値に限定されるものではない。また、画像信号の読み出し順は必ずしも本実施形態と同じでなくてもよい。また、各グリッドの特徴点と、隣接グリッドの特徴点との距離の算出式は、必ずしも本実施形態と同じでなくてもよい。
【００４３】
＜第２の実施形態＞
以下、本発明の第２の実施形態について説明する。第２の実施形態の画像処理装置の構成、グリッド分割方法、分割画像信号の処理順序、動きベクトル検出部の構成、動きベクトル検出シーケンスは第１の実施形態と同様であるため、説明を省略する。第２の実施形態では、特徴点算出部の構成、及び特徴点の決定方法が第１の実施形態と異なる。
【００４４】
図８は、本実施形態における特徴点算出部の構成を示した図である。特徴フィルタ部４０１、特徴評価部４０２、座標算出部４０３は、第１の実施形態と同様であるため、説明を省略する。第２の実施形態では、特徴点決定部８０１、特徴点決定部８０１がＳＲＡＭ８０２にアクセスする情報が第１の実施形態と異なる。
【００４５】
特徴点決定部８０１は、グリッド毎に特徴点を決定し、グリッド番号、特徴点の第１候補である第１特徴点座標、第２候補である第２特徴点座標、第２特徴点の評価値をＳＲＡＭ８０２に格納する。本実施形態ではグリッド５０１に対して、グリッド内で一番特徴値の大きい画素の座標を第１特徴点座標、第１特徴点座標との距離がＣＰＵ２０４から設定された隣接座標閾値以上となる画素の中で、グリッド内で特徴値が一番大きい座標を第２特徴点座標とする。特徴点決定部８０１は、ＳＲＡＭ８０２に格納した各グリッドの第１特徴点座標、第２特徴点座標、第２特徴点の評価値をＳＲＡＭ８０２から読み出すことが可能である。
【００４６】
本実施形態では、隣接グリッド間の第１特徴点座標同士（特徴点候補同士）の距離が隣接座標閾値未満の場合、隣接グリッド間の第２特徴点評価値を比較して、第２特徴点評価値の大きい方のグリッドについては、第１特徴点座標を第２特徴点座標に変更する。第２特徴点評価値が小さい方のグリッドは、第１特徴点座標を変更しない。これにより、各グリッド間の特徴点座標の距離が隣接座標閾値以上となり、更に第１の実施形態よりも、各グリッドでより評価値の高い座標を特徴点として選択することが出来る。
【００４７】
第１特徴点座標を第２特徴点座標に変更する場合、特徴点決定部８０１は、ＳＲＡＭ８０２から読み出した第２特徴点座標を第１特徴点座標としてＳＲＡＭ８０２に上書きする。この時、特徴点決定部８０１は、第２特徴点評価値を最小値で上書きする。これは以降のグリッドの特徴点算出時に、既に第１特徴点座標を第２特徴点座標に変更したグリッドの特徴点座標が更に変更されないようにするためである。
【００４８】
なお、本実施形態では、第２特徴点座標、第２特徴点評価値をＳＲＡＭ８０２に書き出したが、更に多くの特徴点座標、特徴点評価値をＳＲＡＭ８０２に書き出しても良い。例えば、隣接するグリッドは最大８つあるため（左上・上・右上・左・右・左下・下・右下）、９つの特徴点座標、特徴点評価値をＳＲＡＭ８０２に書き出してもよい。９つの特徴点座標、特徴点評価値をＳＲＡＭ８０２に書き出せば、１つのグリッドに対して第１特徴点座標を最大８回変更することが出来る。特徴点決定部８０１は、決定した各グリッドの特徴点座標を、マッチング処理部１０５が対応するグリッドのテンプレートマッチング処理を開始する時に、メモリアドレス生成部１０６へ出力する。
【００４９】
図９は、本実施形態における特徴点の決定方法を説明するための図である。テンプレート画像、サーチ画像、余分画素領域、絶対座標の算出方法は第１の実施形態と同じである。本実施形態では、各グリッドで第１特徴点座標と第２特徴点座標の２つの特徴点座標を算出する点が第１の実施形態と異なる。本実施形態では、画素５０３（ＰＸ，ＰＹ）がグリッド５０１内で特徴値の最も大きい画素、画素５０３−２（ＰＸ４，ＰＹ４）がグリッド５０１内で特徴値の２番目に大きい画素であるとする。
【００５０】
本実施形態では、第１特徴点座標との水平距離・垂直距離のどちらかがＣＰＵ２０４から設定された隣接座標閾値以上となる画素の中で、特徴値の最も大きい画素を第２特徴点とする。本実施形態では、画素５０３（ＰＸ，ＰＹ）と画素５０３−２（ＰＸ４，ＰＹ４）の水平距離ＤＸ３、垂直距離ＤＹ３は共にＣＰＵ２０４から設定された隣接座標閾値以上であるとする。よって、画素５０３（ＰＸ，ＰＹ）を第１特徴点座標、画素５０３−２（ＰＸ４，ＰＹ４）を第２特徴点座標として選択する。
【００５１】
（ＤＸ３，ＤＹ３）＝（｜ＰＸ４−ＰＸ｜，｜ＰＹ４−ＰＹ｜）    …（式９）
他のグリッドに対しても同様に第１特徴点座標、第２特徴点座標を算出する。グリッド５０８−５内における第１特徴点が５０９、グリッド５０８−１０内における第１特徴点が５１２であるとする。また、グリッド５０８−７内における第１特徴点５１０の座標が（ＰＸ５，ＰＹ５）、第２特徴点５１０−２の座標が（ＰＸ６，ＰＹ６）、グリッド５０８−８内における第１特徴点５１１の座標が（ＰＸ７，ＰＹ７）、第２特徴点５１１−２の座標が（ＰＸ８，ＰＹ８）であるとする。
【００５２】
本実施形態では、グリッド５０８−７内の第１特徴点５１０、及び第２特徴点５１０−２は、隣接グリッドの特徴点５０３−２、５０９からの距離が、ＣＰＵ２０４から設定された隣接座標閾値以上であるとする。また、グリッド５０８−８内の第１特徴点５１１、及び第２特徴点５１１−２は、隣接グリッドの特徴点５０３−２，５０９，５１２からの距離が、ＣＰＵ２０４から設定された隣接座標閾値以上であるとする。また、画素５１０（ＰＸ５，ＰＹ５）と画素５１１（ＰＸ７，ＰＹ７）の水平距離ＤＸ４、垂直距離ＤＹ４は共にＣＰＵ２０４から設定された隣接座標閾値未満であるとする。
【００５３】
（ＤＸ４，ＤＹ４）＝（｜ＰＸ７−ＰＸ５｜，｜ＰＹ７−ＰＹ５｜）    …（式１０）
本実施形態では、グリッド５０８−７、グリッド５０８−８に対して、第２特徴点評価値の大きい方のグリッドは第１特徴点座標を第２特徴点座標に変更し、第２特徴点評価値の小さい方のグリッドは第１特徴点座標を変更しないものとする。本実施形態では、グリッド５０８−７の第２特徴点５１０−２（ＰＸ６，ＰＹ６）の評価値の方が、グリッド５０８−８の第２特徴点５１１−２（ＰＸ８，ＰＹ８）の評価値より大きいとする。よって、グリッド５０８−７の第１特徴点を第２の特徴点５１０−２（ＰＸ６，ＰＹ６）に変更し、グリッド５０８−８の第１特徴点は画素５１１（ＰＸ７，ＰＹ７）のまま変更しない。これにより、第１特徴点座標を第２特徴点座標に変更する際、より評価値の大きな第２特徴点座標を特徴点として選択することが出来る。
【００５４】
以上説明したように、本実施形態の制御により、第１実施形態より評価値の大きい座標を特徴点として選択出来るため、より像ブレ補正精度の劣化を防ぐことが出来る。これにより、被写体が複数のグリッドにまたがった場合においても、各グリッドで異なる被写体の動きベクトルを検出し、動体の被写体検出による像ブレ補正精度の劣化をより防ぐことが出来る。
【００５５】
なお、本実施形態では、入力画像を水平方向６個、垂直方向４個のグリッドに分割したが、分割数はこの値に限定されるものではない。また、画像信号の読み出し順は必ずしも本実施形態と同じでなくてもよい。また、各グリッドの特徴点と、隣接グリッドの特徴点との距離の算出式は、必ずしも本実施形態と同じでなくてもよい。また、本実施形態では各グリッドで記憶する特徴点座標の数は２つであるが、必ずしも２つでなくてもよい。
【００５６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５７】
１０１：グリッド分割部、１０２：ベクトル検出画像生成部、１０３：特徴点算出部、１０５：マッチング処理部、１０６：メモリアドレス生成部、２１０：動きベクトル検出部、２１２：ＤＲＡＭ
【図１】
2018081640.tif 000005
【図２】
2018081640.tif 000006
【図３】
2018081640.tif 000007
【図４】
2018081640.tif 000008
【図５】
2018081640.tif 000009
【図６】
2018081640.tif 000010
【図７】
2018081640.tif 000011
【図８】
2018081640.tif 000012
【図９】
2018081640.tif 000013
【図１０】
2018081640.tif 000014