(57)【特許請求の範囲】
【請求項１】
複数の画像間の相関値を相対的な位置関係を変えて複数算出する算出手段と、
前記相関値に基づいて、前記複数の画像間の動きベクトルを検出する検出手段と、
前記動きベクトルの信頼性を判定する判定手段と、を有し、
前記判定手段は、前記複数の相関値のうち最も相関が高いことを示す値と、最も相関が高いことを示す値が得られた位置から予め定められた距離以上離れた位置で得られた相関値のうち、前記最も相関が高いことを示す値との差が所定の閾値以下である相関値の数に基づいて前記信頼性を判定することを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記複数の相関値のうち最も相関が高いことを示す値が得られた位置から前記予め定められた距離以上離れた位置で得られた相関値のうち、前記最も相関が高いことを示す値との差が所定の閾値以下である相関値が予め定められた数以上存在する場合、前記動きベクトルの信頼性が低いと判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記予め定められた距離を、前記複数の画像のいずれかの撮影パラメータおよび前記複数の画像のいずれかの解析結果の少なくとも一方に応じて決定する決定手段をさらに有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記撮影パラメータとして、シャッタースピード、絞り値、装置の動き情報の１つ以上に基づいて前記予め定められた距離を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、シャッタースピードが遅いほど前記予め定められた距離を長くすることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記決定手段は、絞り値が小さいほど前記予め定められた距離を長くすることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記決定手段は、前記装置の動き情報が表す動き量が大きいほど前記予め定められた距離を長くすることを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記決定手段は、前記解析結果として、画像の合焦度合いまたは画像の鮮鋭度に基づいて前記予め定められた距離を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項９】
前記解析結果が、前記複数の画像の一方に設定されたテンプレートブロックに対する解析結果であり、
前記決定手段は、前記テンプレートブロックが合焦領域に設定されている場合、非合焦領域に設定されている場合よりも前記予め定められた距離を短くすることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記解析結果が、前記複数の画像の一方に設定されたテンプレートブロックに対する解析結果であり、
前記決定手段は、前記テンプレートブロックの鮮鋭度が高いほど、前記予め定められた距離を短くすることを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記複数の画像を撮影する撮影手段と、
請求項１から１０のいずれか１項に記載の画像処理装置と、
を有することを特徴とする撮像装置。
【請求項１２】
算出手段が、複数の画像間の相関値を、相対的な位置関係を変えて複数算出する算出工程と、
検出手段が、前記相関値に基づいて、前記複数の画像間の動きベクトルを検出する検出工程と、
判定手段が、前記動きベクトルの信頼性を判定する判定工程と、を有し、
前記判定工程において前記判定手段は、前記複数の相関値のうち最も相関が高いことを示す値と、最も相関が高いことを示す値が得られた位置から予め定められた距離以上離れた位置で得られた相関値のうち、前記最も相関が高いことを示す値との差が所定の閾値以下である相関値の数に基づいて前記信頼性を判定することを特徴とする画像処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１から１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその制御方法に関し、特には複数枚の画像間で動きベクトルを検出する技術に関する。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラ等の撮像装置を用いて撮影された映像に対して防振処理を施すためには、複数の画像（例えば動画像のフレーム画像）間の動き量を検出して位置合わせする必要がある。画像間の動き量を検出する方法としては、ジャイロセンサのような外部機器の情報を用いる方法や、画像から動き量を推定する方法等がある。
【０００３】
画像から動き量を推定する代表的な方法に、テンプレートマッチングにより動きベクトルを検出する方法がある。テンプレートマッチングでは、任意の２枚の画像の一方を原画像、もう一方を参照画像とする。そして、原画像における所定の大きさの矩形領域（テンプレートブロック）と、参照画像内の矩形領域との相関値（例えば輝度値の分布）との相関値を、テンプレートブロックの位置を変えながら求める。最も高い相関値が得られた際のテンプレートブロックの位置を参照画像における移動先として、原画像上でのテンプレートブロックの位置を基準とした移動先への向きと移動量を動きベクトルとして検出する。このようにして求められた動きベクトルを用いることにより、入力映像に対する防振処理や移動物体の追尾処理等を行うことが可能となる。
【０００４】
テンプレートマッチングは、テンプレートブロックのテクスチャと類似度の高いテクスチャを有する領域を参照画像で探索する処理である。そのため、例えばテンプレートブロックのテクスチャが繰り返しパターンの一部であったり、低コントラストなテクスチャであったりする場合、参照画像中に同様のテクスチャを有する領域が複数存在する可能性が高い。この場合、高い相関値が得られるテンプレートブロック位置が複数存在し、どの位置が真の移動先であるかを判別することが困難となるため、正しい動きベクトルが得られない可能性が高く（動きベクトルの信頼性が低く）なる。
【０００５】
そこで、テンプレートブロックのテクスチャを解析することにより、正しい動きベクトルが得られない可能性が高いテクスチャ（以下、苦手領域と呼ぶ）かどうかの判定を行うことが特許文献１で提案されている。特許文献１に記載の画像処理装置は、最も高い相関値と、他の相関値の極大値とを検出し、両者を比較することによりテンプレートブロックが苦手領域かどうか（そのテンプレートブロックを用いて検出された動きベクトルの信頼性が低いかどうか）を判定している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２１９０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の撮像装置は、相関値の最大値と極大値との大小関係のみに基づいて苦手領域かどうかの判定を行うものであり、それらの位置関係は考慮していない。テンプレートブロックが苦手領域でない場合であっても、最大相関値が得られる位置の近傍では最大値に近い相関値が得られることは珍しくない。従って、最大値と極大値の大小関係からだけでは、検出された動きベクトルの信頼性を精度よく判定することは困難である。
【０００８】
本発明はこのような従来技術の課題に鑑みてなされたものであり、動きベクトルの信頼性を精度良く判定できる画像処理装置およびその制御方法の提供を目的とする。
【課題を解決するための手段】
【０００９】
上述の目的は、複数の画像間の相関値を相対的な位置関係を変えて複数算出する算出手段と、相関値に基づいて、複数の画像間の動きベクトルを検出する検出手段と、動きベクトルの信頼性を判定する判定手段と、を有し、判定手段は、複数の相関値のうち最も相関が高いことを示す値と、最も相関が高いことを示す値が得られた位置から予め定められた距離以上離れた位置で得られた相関値のうち、最も相関が高いことを示す値との差が所定の閾値以下である相関値の数に基づいて信頼性を判定することを特徴とする画像処理装置によって達成される。
【発明の効果】
【００１０】
本発明によれば、動きベクトルの信頼性を精度良く判定できる画像処理装置およびその制御方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係る画像処理装置の一例としての撮像装置の機能構成例を示すブロック図
【図２】本発明の第１の実施形態に係る撮像装置の動きベクトル検出動作を説明するためのフローチャート
【図３】テンプレートマッチングについて説明するための模式図
【図４】本発明の実施形態における相関値マップの例を示す図
【図５】本発明の実施形態における相関値マップを上方から見た状態を模式的に示す図
【図６】相関値マップにおけるピーク形状と近傍領域の大きさの関係例を示す図
【図７】本発明の第２の実施形態に係る画像処理装置の一例としての撮像装置の機能構成例を示すブロック図
【図８】本発明の第２の実施形態に係る撮像装置の動きベクトル検出動作を説明するためのフローチャート
【図９】本発明の第２の実施形態におけるテンプレートブロックの配置例を示す図
【発明を実施するための形態】
【００１２】
●（第１の実施形態）
以下、添付図面を参照して、本発明の例示的な実施形態について説明する。なお、ここでは、本発明に係る画像処理装置を撮像装置に適用した実施形態について説明する。しかし、本発明には撮影に係る構成は不要であり、動きを検出するための画像を取得可能な任意の電子機器において実施可能である。このような電子機器には、撮像装置や撮像装置を備えた機器はもちろん、コンピュータ機器、ゲーム機、携帯電話機、タブレット端末、ロボットなど、様々な機器が含まれる。
【００１３】
図１は、本発明の第１の実施形態に係る画像処理装置の一例である撮像装置の機能構成例を示すブロック図である。光学系１０１は被写体像を形成し、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子１０２は光学系１０１により形成された被写体像を光電変換する。現像処理部１０３は撮像素子１０２から出力される電気信号から画像信号を形成する。現像処理部１０３は、Ａ／Ｄ変換部、オートゲイン制御部（ＡＧＣ）、オートホワイトバランス部などを含み、デジタル画像信号を形成する。撮像素子１０２及び現像処理部１０３により、画像の取得を行う撮像系が構成される。メモリ１０４は、現像処理部１０３により形成されたデジタル画像信号の１又は複数の画像を一時的に記憶保持する。
【００１４】
相関値演算部１０５は、現像処理部１０３及びメモリ１０４から入力された２枚の画像間における相関値を算出する。動きベクトル検出部１０６は、相関値演算部１０５により算出された相関値に基づいて２枚の画像間の移動量を動きベクトルとして検出する。撮影パラメータ取得部１０７は、撮像装置の撮影パラメータを取得する。なお、撮影パラメータは、撮像装置から取得してもよいが、画像とともに記録されているメタデータから取得してもよい。
【００１５】
近傍領域決定部１０８は、撮影パラメータに基づいて後述の苦手判定処理における近傍領域の範囲を決定する。苦手領域判定部１０９では、相関値演算部１０５より得られる相関値及び近傍領域決定部１０８において設定された判定領域を用いて相関値を算出した領域が苦手領域であるかどうかの判定を行う。そして、動きベクトル出力部１１０では動きベクトル検出部１０６において検出された動きベクトルと、それに対応する苦手領域判定部での判定結果を統合してメモリ１０４に記憶する。
【００１６】
制御部１１１は、例えばＣＰＵやＭＰＵのようなプログラマブルプロセッサと、制御プログラムや設定値などを記憶する不揮発性メモリと、プログラムを実行する際にワークエリア等として用いる揮発性メモリとを有する。そして、制御プログラムを実行して撮像装置の各部を制御することにより、後述する動きベクトル検出処理をはじめとした、撮像装置の機能を実現する。また、現像処理部１０３〜動きベクトル出力部１１０（メモリ１０４を除く）の１つ以上を、回路として構成する代わりに制御部１１１がソフトウェア的に実現してもよい。
【００１７】
なお、図１には示していないが、本実施形態に係る撮像装置は、一般的な撮像装置が有する構成を備えている。例えば、ユーザが各種の設定や指示を入力するための操作部や、ライブビュー表示、撮影済みの画像、各種メニュー画面などを表示するための表示部、半導体メモリカードなどの記録媒体の記録再生を行う記録再生部などである。
【００１８】
以上のように構成された撮像装置における、動きベクトル検出動作の概要を図２に示すフローチャートを用いて説明する。ここでは、例えば撮影スタンバイ時のような、ライブビュー表示用の動画撮影が行われている状態で、動画のフレーム画像を用いて動きベクトルを検出する場合について説明する。しかし、上述したように、動きベクトルの検出を行う画像は撮影以外の方法で取得してもよい。
【００１９】
Ｓ２０１では、光学系１０１によって形成された被写体像を撮像素子１０２で撮影して取得したアナログ画像信号に対し、現像処理部１０３で処理を施すことでフレーム画像を生成する。現像処理部１０３は、Ａ／Ｄ変換部によってアナログ画像信号をたとえば１４ビットのデジタル画像信号に変換する。さらにＡＧＣ部及びＡＷＢ部によって信号レベル補正や白レベル補正が行われたデジタル画像信号は、メモリ１０４に記憶保持されると共に相関値演算部１０５に伝送される。本実施形態において制御部１１１は、所定のフレームレートで順次フレーム画像が生成され、メモリ１０４に記憶保持されたフレーム画像及び相関値演算部１０５に伝送されるフレーム画像が順次更新されるように各部を制御する。
【００２０】
Ｓ２０２では、相関値演算部１０５において、現像処理部１０３から入力される最新のフレーム画像と、メモリ１０４に記憶された過去のフレーム画像との相関値を算出する。過去のフレーム画像は、直近に撮影されたフレーム画像であってもよいし、２フレーム以上過去のフレーム画像であってもよい。また、本実施形態で相関値演算部１０５は、テンプレートマッチングを用いて相関値を算出するが、他の方法を用いてもよい。
【００２１】
図３にテンプレートマッチングの概要図を示す。図３（ａ）は原画像（メモリ１０４から入力されるフレーム画像）、図３（ｂ）は参照画像（現像処理部１０３から入力されるフレーム画像）である。そして、図３（ａ）に示すように原画像中の任意の位置にテンプレートブロック３０１を設定し、テンプレートブロック３０１と参照画像の各領域との相関値を算出する。このとき、参照画像の全体に対して相関値を算出すると演算量が膨大になるため、一般には相関値を算出するための、参照画像の全体より小さい矩形領域（サーチ範囲）３０２を設定し、サーチ範囲内で相関値を算出する。サーチ範囲３０２の位置や大きさについては特に制限は無く、公知かつ任意の方法を用いて設定することができる。
【００２２】
また本実施形態では、相関値の算出方法の一例として差分絶対値和（Sum of Absolute Difference、以下ＳＡＤと略す）を使用する場合について説明する。ＳＡＤの計算式を式１に示す。
【数１】
0005968379.tif 000002
【００２３】
式１において、ｆ（ｉ，ｊ）はテンプレートブロック３０１内の座標（ｉ，ｊ）における輝度値を表しており、ｇ（ｉ，ｊ）はサーチ範囲３０２において相関値算出の対象となるブロック（相関値算出領域）３０３内の各輝度値を表す。相関値演算部１０５は、両ブロック内の各輝度値ｆ（ｉ，ｊ）及びｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得る。従って、相関値Ｓ＿ＳＡＤの値が小さいほど両ブロック間の輝度値の差分が小さい、つまりテンプレートブロック３０１と相関値算出領域３０３のブロック内のテクスチャの類似度が高いことを表している。反対に、相関値をＳ＿ＳＡＤの逆数とすれば、相関値の値が大きいほど、テンプレートブロック３０１と相関値算出領域３０３のブロック内のテクスチャの類似度が高いことを表すことになる。そして、サーチ範囲３０２の内部で相関値算出領域３０３を順次移動させて相関値を算出する。相関値演算部１０５は、以上のような相関値演算処理を、複数の領域について実行する。
【００２４】
本実施形態では、相関値の一例としてＳＡＤを使用しているが、これに限るものではなく、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いても良い。相関値演算部１０５は、算出された相関値と、対応するテンプレートブロック３０１および相関値算出領域３０３の位置情報とを、動きベクトル検出部１０６と苦手領域判定部１０９に供給される。
【００２５】
Ｓ２０３では、動きベクトル検出部１０６において、相関値演算部１０５から得られた相関値を用いて動きベクトルを検出する。動きベクトル検出部１０６は、サーチ範囲３０２内の各位置において算出されたテンプレートブロック３０１との相関値の中で、最も高い相関を示す値（ここでは最小値）が得られた位置を判定する。これにより、原画像のテンプレートブロック３０１が参照画像のどの位置に移動したか、つまり画像間の動きベクトルを検出することが可能である。例えば、動きベクトル検出部１０６は、テンプレートブロック３０１の左上の座標を始点とし、ＳＡＤが最小となったサーチ範囲３０２の左上の座標を終点とするベクトルを動きベクトルとして算出する。もちろん、他の対応座標を用いることもできる。動きベクトル検出部１０６は、算出した動きベクトルを、動きベクトル出力部１１０に供給する。
【００２６】
Ｓ２０４では、撮影パラメータ取得部１０７において撮像装置の撮影情報を取得する。撮影パラメータの例としては、絞り値、焦点距離（画角）、合焦距離（被写体距離）等の光学系の制御パラメータや、シャッタースピード等の撮像系の制御パラメータ等が挙げられる。また、撮像装置に搭載されたジャイロセンサから得られる撮影時の撮像装置の動き情報等も撮影パラメータとして取得することができる。これらの情報は、撮影パラメータ取得部１０７が直接取得してもよいし、撮影動作を制御する制御部１１１が撮影パラメータ取得部１０７に供給してもよい。取得された撮像装置の撮影パラメータは撮影パラメータ取得部１０７から近傍領域決定部１０８に供給される。
【００２７】
動きベクトルを検出する２つの画像が動画の連続するフレーム画像である場合、撮影パラメータは同一であるか差異は小さい可能性が高い。そのため、撮影パラメータ取得部１０７は原画像の撮影パラメータと参照画像の参照パラメータの一方を取得し、近傍領域決定部１０８に出力すればよい。あるいは、撮影パラメータ取得部１０７は、原画像、参照画像の両方について撮影パラメータを取得して近傍領域決定部１０８に供給してもよい。
【００２８】
Ｓ２０５では近傍領域決定部１０８において、撮影パラメータ取得部１０７から入力される撮像装置の撮影パラメータに基づいて、苦手領域判定を行う際に必要となる近傍領域の大きさを決定する。なお、撮影パラメータ取得部１０７から原画像および参照画像の両方の撮影パラメータが供給される場合、近傍領域決定部１０８は両者を比較してもよい。そして、原画像と参照画像の撮影パラメータが大幅に異なる場合、近傍領域決定部１０８はその判定結果を苦手領域判定部１０９に通知してもよい。原画像と参照画像の撮影パラメータが大幅に異なる場合、それ自体が動きベクトルの信頼性低下要因となるため、苦手領域判定部１０９は相関値による判定を行うまでもなく、動きベクトルの信頼性が低いものと判定してもよい。原画像と参照画像の撮影パラメータの差異が小さければ（例えば１段以下の差異であれば）、近傍領域決定部１０８はいずれか一方の参照パラメータに基づいて近傍領域の大きさを決定することができる。参照パラメータに基づく近傍領域の大きさの決定方法の詳細については後述する。
【００２９】
まず、本実施形態における苦手領域判定部１０９の動作について説明する。図４は相関値演算部１０５で算出した、サーチ範囲内の相関値算出領域の位置と、各位置で得られた相関値との関係を３次元マップとして表した相関値マップの例を示す。同図において、ｘ軸およびｙ軸は相関値算出領域の位置を、ｚ軸は対応する相関値の大きさをそれぞれ示している。本実施形態では相関値としてＳＡＤを用いるため、相関値が小さいほどテンプレートブロック３０１と相関値算出領域３０３との類似度（相関）が高いことを示している。
【００３０】
図４（ａ）は、テンプレートブロック３０１のテクスチャがテンプレートマッチングに適している、つまり複雑な模様を多く含んでいる場合の相関値マップを示している。このような場合、移動先とそれ以外の位置で得られる相関には大きな差が生じるため、相関値マップは図４（ａ）に示すように一つの急峻なピーク４０１を有する形状となる。このような場合には、容易に、かつ精度良く動きベクトルを算出することができる。
【００３１】
それに対して、図４（ｂ）にはテンプレートブロック３０１のテクスチャが直線の繰り返しパターンの場合の相関値マップの例を示す。この場合、テンプレートブロック３０１のテクスチャと同じ繰り返しパターンがサーチ範囲３０２内に複数通り存在しているため、ピーク５０１が複数存在する形状の相関値マップになる。このような場合、図４（ａ）の場合とは異なり、どのピークに対応する座標位置が真の移動先であるのかを正しく判定することは容易でない。つまり、繰り返しパターンを含む領域は動きベクトルを正しく算出することが困難な苦手領域であると言える。ここでは、苦手領域の一例として繰り返しパターンの場合について述べたがこれに限るものではなく、例えば無地の壁のような低コントラスト領域や、空を背景とした時の電線のような一本線の領域についても同様のことが生じる。このような苦手領域から検出された動きベクトルは信頼性が低く、動きベクトルを使用する後段の処理における誤差要因となる。従って、動きベクトルを用いる処理の精度への影響を抑制するためには、動きベクトルを算出した領域が苦手領域であるかどうかを判定しておく必要がある。
【００３２】
このような苦手領域の判定を行うため、本実施形態では、相関値演算部１０５が算出した相関値のうち、高い相関を表す値の分布と、相関値の相対的な大小関係から相関値マップの形状を推定する。図５は、図４（ａ）及び図４（ｂ）で示したような相関値マップをｘ−ｙ平面の上方（ｚ＞０）方向から見た状態を模式的に示した図である。
【００３３】
６０２は相関値マップ６０１において最も高い相関を表す値（最大ピーク）の位置を示し、６０３は最大ピーク位置６０２以外において、高い相関を表すピークの位置を示している。なお、ピーク位置６０３は、相関値マップにおいて例えば２番目に高い相関を表す値から順に任意の所定数のピークを対象とすることができる。図５では一例として６個のピークを示している。
【００３４】
前述したように、苦手領域に対応した相関値マップは、最大ピークに近い大きさのピークが複数の位置に存在する形状となる。そこで、苦手領域判定部１０９は、ピーク位置６０３に対応する、最大ピーク以外の上位ピーク値のそれぞれについて、最大ピーク値との差分を求め、差分値が予め定められた閾値以下であるかどうか判定する。そして、上位ピーク値の中に、最大ピーク値との差分値が閾値以下のものが存在している場合、苦手領域判定部１０９は、テンプレートブロックが苦手領域であると判定する。ここで、閾値は、最大ピーク値と近いピーク値の存在を判定するための値であり、その設定方法には特に制限は無い。例えば実験的に適切な値を決定しても良いし、相関値の取り得る範囲の５％というように決定しても良い。また、苦手領域判定部１０９は、差分値を求める代わりに、最大ピーク以外の上位ピーク値のそれぞれについて、最大ピーク値に対する比率を求め、比率が予め定められた範囲に収まるかどうかを判定するようにしてもよい。
【００３５】
このように、苦手領域判定部１０９は、参照画像の複数の位置において得られた相関値のうち、最も大きな相関を表す相関値と、大きな相関を表す他の相関値との大小関係を考慮して、苦手領域であるかどうかの判定を行う。さらに本実施形態の苦手領域判定部１０９は、精度の良い判定を実現するため、これら大きな相関を表す相関値の位置関係を考慮する。
【００３６】
図４（ａ）を参照して説明したように、一般的な相関値マップの形状は、最大相関の位置を中心とした山、もしくは谷の形状となっており、例えば最大相関が得られる位置に隣接した位置で得られる相関値の大きさも必然的に最大相関と同様な値となる。そのため、大きな相関を表す相関値を複数抽出すると、その中には最大相関位置の近傍で得られた値が含まれる可能性が高い。そして、これらの値と最大相関を表す値との差分が閾値以下となる可能性が十分ある。その結果、図４（ａ）に示したような、動きベクトルが正しく検出可能な場合であっても、最大相関と同様の相関を表す相関値が複数存在していると判定され、苦手領域と誤判定されてしまう。
【００３７】
このような誤判定を防ぐために、本実施形態では、近傍領域決定部１０８が、最大ピーク位置６０２を中心とした近傍領域６０４を設定する。そして、苦手領域判定部１０９が、近傍領域６０４内の位置で算出された相関値を閾値との比較対象から除外することで、上述の誤判定を抑制する。
【００３８】
近傍領域６０４の設定方法について説明する。図６は最大ピーク位置を通る、ｚ軸に沿った面による相関値マップの断面形状と、設定する近傍領域の範囲との関係例を示す図である。図６（ａ）は最大ピークの形状がなだらかな場合の近傍領域の設定例を示している。図６（ａ）において相関値マップ７０２はなだらかな断面形状をしており、最大ピーク位置を中心として比較的広い範囲に最大ピークと同じような大きさの相関値が分布している。このような形状の相関値マップとなる場合、動きベクトルは精度良く検出可能であるが、近傍領域を狭く設定してしまうと、上述の誤判定の原因となる。そこで、相関値マップの形状がなだらかな場合には近傍領域７０１を広く設定し、最大ピークの周辺に存在する相関値が閾値の判定対象とならないようにする。
【００３９】
逆に、図６（ｂ）に示すように最大ピーク７０４の形状が急峻である場合を考える。このような状況において近傍領域を広く設定すると、最大ピーク７０４の近くに例えば繰り返しパターンによる相関値のピーク７０５が存在していた場合、ピーク７０５が閾値との比較対象から除外され、苦手領域ではないと誤判定されてしまう。従って、最大ピークの形状が急峻な場合には、近傍領域７０３を狭くする必要がある。
【００４０】
このように、近傍領域を設定して精度の良い苦手領域判定を行うためには、相関値マップにおける最大ピークの形状がなだらかであるか、もしくは急峻であるかに応じた広さの近傍領域の範囲を設定することが必要である。本実施形態では、相関値マップにおける最大ピークの形状がなだらかになるか急峻になるかを撮影パラメータから推定し、推定結果に基づいて近傍領域を設定する。
【００４１】
表１は、撮影パラメータの値と相関値マップの形状（最大ピークの形状）との関係について示している。
【表１】
0005968379.tif 000003
【００４２】
例えばシャッタースピードが遅い（露光時間が長い）場合、手振れや被写体の動きにより、撮影画像にボケが生じやすい。このようなボケが生じている領域にてテンプレートマッチングを行うと、テンプレート位置が少しずれている程度では相関値の大きさに大きな変動は生じないので、最大ピークはなだらかな形状となる。
【００４３】
逆にシャッタースピードが短い場合には被写体の鮮鋭度が高くなるため、テンプレートブロックとサーチブロック内の領域でテクスチャが一致する位置での相関度は非常に高くなる。しかしながら、その位置から少しでもずれるとテクスチャの差異が大幅に増えるため相関度は急激に低くなる、つまり最大ピークの形状は急峻となる。従って、撮影パラメータとしてシャッタースピードに着目した場合には、シャッタースピードが長い場合には苦手領域判定の近傍領域を広くし、短い場合には狭くすれば良い。
【００４４】
また、手振れや被写体ブレという観点においては、撮像装置が備える加速度センサやジャイロセンサなどから得られる撮像装置の動き情報に応じて近傍領域の範囲を決定することもできる。撮像装置の動きが大きいと判定される場合、つまりパンニングやチルティングのようなカメラワーク時や、大きな手振れが生じていると判定される場合には、撮像画像に動きボケが生じていると推定できるので、近傍領域を広く設定する。動き情報と近傍領域の広さとの関係は、実験的に予め求めておくことができる。
【００４５】
その他の撮影パラメータとしては、絞り値を用いる方法がある。絞りを開くことにより背景領域のボケ量は大きくなり、特にその効果は近接撮影時に顕著なものとなる。そして、絞り値が開放側に近く（小さく）なるほど画像中のボケ量は大きくなるので最大ピークの形状もなだらかになっていく。つまり、絞り値が小さいほど近傍領域の範囲を広くし、逆に絞り値が大きいほど近傍領域の範囲を狭くすれば良い。
【００４６】
ここでは、表１に示した撮影パラメータの個々の状況に応じて近傍領域の範囲を変更する方法について説明したが、これに限るものではなく、それぞれの撮影パラメータの組み合わせにより近傍領域の範囲を決定しても良い。さらに、表１に示した撮影パラメータ以外の情報、例えば被写体距離や画像の歪み情報等に基づいて近傍領域を決定しても良い。以上のように、撮影パラメータ取得部１０７から得られた撮像装置の撮影パラメータの値に応じて近傍領域決定部１０８が相関値マップの形状を推定し、近傍領域の範囲を変更することにより、良好な苦手領域判定を行うことが可能となる。近傍領域決定部１０８は、例えば近傍領域の広さを表す情報を苦手領域判定部１０９に通知し、苦手領域判定部１０９は、相関値の最大ピーク位置を中心とした近傍領域の具体的な範囲（近傍領域に該当する位置）を決定する。ここでは、近傍領域を正方領域としたが、これは一例であり、中心からの距離が一定となる円形領域や、矩形領域など、他の形状としてもよい。
【００４７】
図２に戻り、Ｓ２０６で苦手領域判定部１０９は、相関値演算部１０５が算出した相関値と、近傍領域決定部１０８において決定された近傍領域の範囲とに基づいて、テンプレートブロックが苦手領域であるかどうか判定する。苦手領域判定部１０９は、最大ピークに対して近傍領域を設定した後、近傍領域の外側に存在する相関値のピークのうち、最大ピークとの差分が予め定められた閾値以内の相関値が存在していれば、現在のテンプレートブロックが苦手領域であると判定する。なお、領域を設定する代わりに、領域に対応する距離を設定してもよい。この場合、最大ピークが得られる位置から所定距離以上離れた位置で得られた相関値のピークを閾値との比較対象とすればよい。
【００４８】
なお、差分が閾値以内の相関値が近傍領域外（最大ピーク位置から所定距離以上離れたの位置）に１つでも存在すれば苦手領域であると判定しても良いが、所定の数以上存在していた場合（所定の数は複数）に苦手領域であると判定してもよい。つまり、苦手領域判定部１０９は、近傍領域外に存在する、差分が閾値以内の相関値の数に基づいて苦手領域か否かを判定することができる。そして、テンプレートブロックが苦手領域であると判定された場合、苦手領域判定部１０９は例えば苦手領域である（検出された動きベクトルの信頼性が低い）ことを示す苦手領域判定情報（例えばフラグなど）を動きベクトル出力部１１０へ出力する。あるいは、苦手領域判定部１０９は、判定結果に関わらず、判定結果を示す苦手領域判定情報を動きベクトル出力部１１０に出力してもよい。
【００４９】
Ｓ２０７で動きベクトル出力部１１０は、動きベクトル検出部１０６から得られる動きベクトル情報に、苦手領域判定部１０９から得られる苦手領域判定情報を付加してメモリ１０４に記憶する。なお、動きベクトル出力部１１０の出力する情報は、記録部を通じて記録媒体へ記録してもよい。メモリ１０４に記憶した動きベクトル情報および苦手領域判定情報は、防振や被写体追尾等の処理で使用することができる。この際、苦手領域であることを示す情報が付加された動きベクトル情報については用いないようにしたり、苦手領域であることを示す情報が付加されていない動きベクトルよい小さい重みで使用することで、処理精度の向上を図ることが可能となる。
【００５０】
図２に示したフローチャートは、動きベクトルを検出する都度実施される。なお、動画像のフレーム画像に図２の処理を適用する場合は、１フレーム画像ごとに実施してもよいし、所定の複数フレーム周期で実施してもよい。
【００５１】
また、Ｓ２０６で苦手領域判定部１０９は、テンプレートブロックが苦手領域であるかどうか判定する際に、近傍領域の外側に存在する複数の相関値のピークの位置が、等間隔であるかを判定するようにしてもよい。例えば、苦手領域判定部１０９は、近傍領域の外側に存在する複数の相関値のピークの各々について、最も近い相関値の位置との距離を求める。そして、苦手領域判定部１０９は、求めた複数の距離について、どの２つの差分も閾値以内であれば、複数の相関値のピークの位置が等間隔で配置されていると判定する。
苦手領域判定部１０９は、近傍領域の外側に存在する複数の相関値のピークの位置が等間隔であると判定された場合には、そうでないと判定された場合に比べ、該当するテンプレートブロックから得られる動きベクトルを、より小さい重みで使用することができる。
【００５２】
以上説明したように、本実施形態では、相関値の最大ピークと他のピークとの大小関係だけでなく、最大ピークと他のピークとの位置関係を考慮して苦手領域かどうか（動きベクトルの信頼性が低いかどうか）を判定する。具体的には、最大ピークの近傍領域外（最大ピーク位置から所定距離以上離れた位置）に存在する他のピークとの大小関係に基づいて苦手領域を判定する。これにより、より精度の良い判定が可能である。さらに、近傍領域の広さ（所定距離の大きさ）を撮影パラメータに応じて可変することにより、さらに精度の良い判定を実現することができる。結果として、検出された動きベクトルの信頼性を精度良く判定できるため、動きベクトルを用いる処理精度の低下を抑制することもできる。
【００５３】
●（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態では、動きベクトル検出のために原画像に設定された複数のテンプレートブロックに対して個別に近傍領域を設定することで、苦手領域判定の精度を向上させることを特徴とする。
【００５４】
図７は本実施形態に係る撮像装置の機能構成例を示すブロック図であり、第１の実施形態と同様の構成要素については、図１と同じ参照数字を付してある。本実施形態の撮像装置は、現像処理部１０３より入力される画像について、複数のテンプレートブロックのそれぞれについて画像解析を行う解析部８０１が追加されている。
【００５５】
また、本実施形態の撮像装置の動きベクトル検出動作を図８のフローチャートに示す。図８において第１の実施形態と同じ処理を行うステップについては同じ参照数字を付し、以下では本実施形態に特有の処理について説明する。
【００５６】
Ｓ９０１で解析部８０１は、メモリ１０４に記憶された原画像について、複数のテンプレートブロックそれぞれの解析を行う。
図９はテンプレートブロックの配置例を模式的に示す図である。ここでは、画面中央に人物や花などの主被写体１００１が存在し、光学系１０１は主被写体に合焦しているものとする。一方、背景１００２は例えば絞りを開放にして撮影した場合にはボケる領域となる。また、テンプレートブロックが画面横方向に４箇所、縦方向に３箇所、ほぼ均等な間隔で設定されている。
【００５７】
図９におけるテンプレートブロックのうち、主被写体１００１の領域に含まれるテンプレートブロック１００３は合焦しているため鮮鋭度が高く、テンプレートブロック１００３を用いて得られる相関値マップの最大ピークは急峻な形状となる。従って、合焦している領域に配置されたテンプレートブロックに対しては、苦手領域判定における近傍領域の範囲を狭くする（所定距離を短くする）ことでより良好な苦手領域判定を行うことが可能となる。
【００５８】
一方、ボケが生じている背景１００２に配置されたテンプレートブロック１００４を用いて得られる相関値マップの最大ピークはなだらかな形状となる。従って、ボケが生じている領域に配置されたテンプレートブロックに対しては、苦手領域判定における近傍領域の範囲を広くする（所定距離を長くする）ことでより良好な苦手領域判定を行うことが可能となる。このように、画像の合焦度合いや鮮鋭度に応じて近傍領域の大きさ（所定距離の大きさ）を決定する。
【００５９】
なお、テンプレートブロック１００５のように、主被写体領域（合焦領域）と背景領域（非合焦領域）にまたがったテンプレートブロックで得られる相関値マップの最大ピークは、合焦領域で得られるピークと非合焦領域で得られるピークの中間的な形状となる。従って、このようなテンプレートブロックに対する近傍領域の範囲は、例えばテンプレートブロック内に含まれる合焦領域と非合焦領域の割合に応じて適応的に変更させることができる。また、信頼性の高い動きベクトルを得られるテンプレートブロックが苦手領域と誤判定されるよりも、信頼性の低い動きベクトルとなるテンプレートブロックが苦手領域でないと誤判定される方が後段の処理における影響度が大きい。そのため、主被写体領域（合焦領域）と背景領域（非合焦領域）にまたがったテンプレートブロックについては、非合焦領域に設定されたテンプレートブロックとして取り扱い、近傍領域を狭くしてもよい。
【００６０】
解析部８０１は複数のテンプレートブロックそれぞれが、主被写体領域（合焦領域）に存在するか、背景領域（非合焦領域）に存在するか判定する。ここでは、主被写体領域を合焦領域と想定しているため、解析部８０１は画像中の主被写体領域を検出するとともに、予め記憶されているテンプレートブロックの位置および大きさに関する情報を用いて判定を行う。主被写体領域の抽出方法に特に制限は無く、顔認識のような一般的な特定物体の認識手法や、ＡＦ評価枠の位置に基づいた領域分割処理等、任意かつ公知の手法を用いることができる。もちろん、操作部を通じて主被写体をユーザに指定させてもよい。さらに外測の測距センサから得られる距離情報を用いて、主被写体領域と背景領域を分離してもよい。また、各テンプレートブロック内のコントラストや周波数特性を計算することでテクスチャのボケ量または鮮鋭度を算出し、ボケ量が閾値未満（鮮鋭度が閾値以上）であれば合焦領域、ボケ量が閾値以上（鮮鋭度が閾値未満）であれば非合焦領域と判定してもよい。
【００６１】
なお、合焦領域のテンプレートブロックについて設定する近傍領域の大きさＡと、非合焦領域のテンプレートブロックについて設定する近傍領域の大きさＢとは、Ａ＜Ｂという関係を満たすが、具体的な大きさについては、例えば実験的に決定することができる。また、例えば鮮鋭度が高いほど近傍領域を小さくする（所定距離を短くする）など、３段階以上の大きさ（距離）を決定することもできる。なお、流し撮り撮影時も主被写体領域は合焦し、背景領域は動きボケにより非合焦状態になるため、解析部８０１では同様の解析結果が得られる。このように、解析により相関値マップにおける最大ピークの形状の急峻さが推定可能であれば、どのようなシーンの画像に対しても本実施形態を適用することが可能である。
【００６２】
解析部８０１は、個々のテンプレートブロックについて、それが合焦領域に存在するのか、非合焦領域に存在するのかを示す情報（あるいはいずれかの場合を示す情報のみでもよい）を解析結果として近傍領域決定部１０８に出力する。
【００６３】
そして、Ｓ２０５で近傍領域決定部１０８は、撮影パラメータ取得部１０７からの撮影パラメータと、解析部８０１の解析結果のうち、少なくとも一方に基づいて、相関値マップの最大ピークの形状を推定する。そして、近傍領域決定部１０８は推定結果に基づいて各々のテンプレートブロックに対して近傍領域の範囲を決定する。
【００６４】
撮影パラメータと解析結果の両方に基づいて近傍領域を決定する場合、近傍領域決定部１０８は種々の方法で近傍領域の大きさを決定することができる。例えば近傍領域決定部１０８は、両者がいずれも急峻な最大ピーク形状を示唆する場合には狭い近傍領域を、両者がいずれもなだらかな最大ピーク形状を示唆する場合には広い近傍領域を決定することができる。一方、両者が異なる最大ピーク形状を示唆する場合には、予め定めたいずれか一方を優先して近傍領域を決定したり、信頼性が高いと誤判定されることを回避するために、狭い近傍領域を決定するようにしてもよい。例えば、解析部８０１がテンプレートブロックに対する鮮鋭度を解析している場合には、解析の信頼度が高いと考えて、解析結果を優先するようにしてもよい。なお、ここでも、近傍領域の大きさは２つに限定されず、中間的な大きさを含めた３通り以上の大きさから１つを選択するように構成してもよい。
【００６５】
Ｓ２０６以降の処理は第１の実施形態と同様であるため、説明を省略する。
【００６６】
以上説明したように、本実施形態によれば、原画像を解析した結果に基づいて、相関度の最大ピークが急峻な形状となるか、なだらかな形状となるかをテンプレートブロックについて推定し、推定結果に基づく大きさの近傍領域を決定する。例えば、主被写体領域や合焦領域に設定されているテンプレートブロックは、相関度の最大ピークが急峻な形状となると推定する。また、主被写体領域以外の領域や背景領域、非合焦領域に設定されているテンプレートブロックは、相関度の最大ピークがなだらかな形状になると推定する。そのため、適切な大きさの近傍領域を決定できる可能性を高めることができ、第１の実施形態よりも精度の良い苦手領域の判定を実現できる。
【００６７】
（その他の実施形態）
なお、上述の実施形態においては、メモリ１０４に記憶された（過去の）画像を原画像、現像処理部１０３が出力する（現在の）画像を参照画像とする場合について説明したが、原画像と参照画像を逆にしてもよい。この場合、現在の画像に設定されたテンプレートブロックが、過去の画像のどこから移動してきたかが探索されることになり、動きベクトルの終点から始点を検出する処理となる。
【００６８】
また、原画像のみを用いて苦手領域の判定を行うこともできる。例えば、原画像に設定されたテンプレートブロックを基準として、原画像に近傍領域を設定し、原画像の近傍領域外の外側に差分が閾値以内の相関値が存在するか否かを判定する。そして、差分が閾値以内の相関値が存在する領域を苦手領域と判定する。原画像と参照画像の間の動きベクトルを求める際に、この苦手領域を除外して動きベクトルを検出すればよい。
【００６９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７０】
１０１…光学系、１０２…撮像素子、１０４…メモリ、１０５…相関値演算部、１０６…動きベクトル検出部、１０７…撮影パラメータ取得部、１０８…近傍領域決定部、１０９…苦手領域判定部、１１０…動きベクトル出力部、１１１…制御部
【図１】
0005968379.tif 000004
【図２】
0005968379.tif 000005
【図３】
0005968379.tif 000006
【図４】
0005968379.tif 000007
【図５】
0005968379.tif 000008
【図６】
0005968379.tif 000009
【図７】
0005968379.tif 000010
【図８】
0005968379.tif 000011
【図９】
0005968379.tif 000012