(57)【要約】【課題】撮像画像の中で主要被写体を自動的に判定する。【解決手段】画像全体の動きを示すグローバル動きを検出し、また画像中の各領域の動きを示すローカル動きを検出する。そしてグローバル動きとローカル動きとに基づいて主要被写体を判定する。例えば比較により、各領域のうち、ローカル動きが、グローバル動きに対して非類似と判定される領域の検出結果に基づいて主要被写体を判定する。【選択図】図２
2015111746.tif 000002
【特許請求の範囲】
【請求項１】
画像全体の動きを示すグローバル動きを検出するグローバル動き検出部と、
画像中の各領域の動きを示すローカル動きを検出するローカル動き検出部と、
上記グローバル動きと上記ローカル動きとに基づいて主要被写体を判定する主要被写体判定部と、
を備えた画像処理装置。
【請求項２】
上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似である領域を判定する請求項１に記載の画像処理装置。
【請求項３】
上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して安定的に非類似である領域を判定する請求項１に記載の画像処理装置。
【請求項４】
上記主要被写体判定部は、上記各領域のうち所定の時間条件において継続的又は累積的又は平均的に非類似と判定される領域を、安定的に非類似と判定する請求項３に記載の画像処理装置。
【請求項５】
上記主要被写体判定部は、
高信頼度とされた上記ローカル動きと上記グローバル動きとに基づいて主要被写体を判定する請求項１に記載の画像処理装置。
【請求項６】
上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似と判定された領域から抽出した画像を主要被写体と判定する請求項１に記載の画像処理装置。
【請求項７】
上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似と判定された領域のうちで選択された領域の画像を主要被写体と判定する請求項１に記載の画像処理装置。
【請求項８】
上記主要被写体判定部は、撮像方向変動中に相当する画像データを主要被写体判定処理の対象とする際に、上記グローバル動きに対して非類似と判定される上記ローカル動きを持つ領域に基づいて主要被写体を判定する請求項１に記載の画像処理装置。
【請求項９】
上記主要被写体判定部は、撮像方向変動中以外に相当する画像データを主要被写体判定処理の対象とする際、画像データ内から抽出した候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、該候補画像から主要被写体を判定する請求項８に記載の画像処理装置。
【請求項１０】
上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似と判定された領域の画像を候補画像とし、各候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、該候補画像から主要被写体を判定する請求項１に記載の画像処理装置。
【請求項１１】
上記主要被写体判定部は、上記各領域のうち上記グローバル動きが大きく上記ローカル動きが小さいと検出される場合において、上記ローカル動きが上記グローバル動きに対して非類似と判定される領域に基づいて主要被写体を判定する請求項１に記載の画像処理装置。
【請求項１２】
上記ローカル動きは、画像解析処理により検出される画像中の各領域のローカルベクトルを指し、
上記グローバル動きは、各領域のローカルベクトルを用いて検出されるグローバルベクトルを指す請求項１に記載の画像処理装置。
【請求項１３】
上記グローバル動き検出部は、画像データを得る撮像装置の動きを検出する動きセンサにより形成される請求項１に記載の画像処理装置。
【請求項１４】
画像全体の動きを示すグローバル動きを検出し、
画像中の各領域の動きを示すローカル動きを検出し、
上記グローバル動きと上記ローカル動きとに基づいて主要被写体を判定する画像処理方法。
【請求項１５】
画像全体の動きを示すグローバル動きの情報を取得し、
画像中の各領域の動きを示すローカル動きの情報を取得し、
上記グローバル動きと上記ローカル動きとに基づいて主要被写体を判定する処理を、演算処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像内の主要被写体を判定する処理を行う画像処理装置、画像処理方法、及びプログラムに関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２０１１−１６６３０５号公報
【特許文献２】特開２０１１−１４６８２６号公報
【特許文献３】特開２０１１−１４６８２７号公報
【特許文献４】特開２０１１−１６０３７９号公報
【背景技術】
【０００３】
近年のデジタルスチルカメラ、デジタルビデオカメラには顔検出機能が標準的に備わっており、顔位置・領域に合わせてカメラの各種パラメータ（フォーカス・明るさ等）を最適に合わせるといった機能が搭載されている。 
【０００４】
一方、撮像画像内で、被写体追尾のターゲットとする「主要被写体」を、ユーザが指定することによって選択する手法が、特許文献１に記載されている。
また例えば上記特許文献２，３，４に開示された技術を用いれば、任意の被写体の全身枠を取り囲んだ被写体追尾が実現できる。
また、オートフォーカス・自動露光などは、撮像画像内の所望の領域を検出・追跡し、その領域がもっとも好適になるように光学系等を制御するような機能も存在する。
これらのように、撮像画像内で、ユーザが主要被写体として指定した画像、例えば顔等の画像領域を追尾したり、顔領域にフォーカスを合わせたりする等の技術が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、撮像画像内での、追尾やフォーカス合わせの目的となる所望の領域、つまり「主要被写体」は、現状は各種検出器から得られる「複数の候補領域」の中から撮像者自身が何らかの方法で一つの候補を選択することで決定される。
例えばカメラを所持した状態で、画面表示されたスルー画（シャッタ操作時点以外に表示される被写体のモニタリング画像）に写されている複数の顔の中からタッチパネルによって任意の顔を選択するというような行為で主要被写体が選定される。あるいはユーザ指定のタイミング（シャッタ半押し等）で所定の領域内に存在する被写体を主要被写体とするなどである。
【０００６】
しかしながら実際のユースケースにおいてはこのユーザインターフェースを考えてみると、「撮像者による主要被写体の選択」という行為自体が難しいことが多々ある。
たとえば動き回る被写体に焦点を合わせ続けたいためにこの機能を使いたいのに、ユーザがカメラを構えて被写体を狙いながら指で選択すること自体が難しい。
例を挙げれば、被写体の変化（移動）に対するユーザの反応速度により、指定が困難なこともある。例えば動き回る被写体を、スルー画の画面上でうまく指定できないような場合である。
また、そもそもカメラを手に持って、被写体に向けて被写体を選定しているような状況で、ユーザが画面上で主要被写体を指で選択する行為自体が難しい。特に被写体を追っているような状況、例えばカメラがパンニングやチルティングとしての動きをするようにユーザが撮像方向を変化させている状況では、主要被写体を選択することはほぼ無理に近い。
またタッチパネルを配した表示画面の解像度によって、ユーザにとって被写体が選択しにくいことがある。
また、タッチパネルを配した表示画面上の被写体サイズとユーザの指の大きさ（太さ）によっては、所望の被写体を適切に指定できないこともある。
また、カメラシステム上のタイムラグ、例えば実際の光景と撮像画像のスルー画のタイムラグによって、ユーザが適切に被写体を指定しにくいこともある。
【０００７】
さらには動画撮像・記録中にこの操作を行う場合には、主要被写体の選択行為による画揺れがそのまま記録されたり、フレームアウトあるいは一時遮蔽等による追跡消失（失敗）時に再選択するという行為をユーザに強いたりといった状況がある。
【０００８】
これらのように、ハンドヘルドタイプのカメラにおいて、主要被写体を選択する行為自体が、それを必要とする多くのユースケースで難しく、撮像者にストレスを与えてしまう。
そこで本開示では、撮像者等のユーザが意図的に被写体を選択する行為を行わなくとも、ユーザの求める対象被写体を主要被写体と判定する技術を実現することを目的とする。
【課題を解決するための手段】
【０００９】
本開示の画像処理装置は、画像全体の動きを示すグローバル動きを検出するグローバル動き検出部と、画像中の各領域の動きを示すローカル動きを検出するローカル動き検出部と、上記グローバル動きと上記ローカル動きとに基づいて主要被写体を判定する主要被写体判定部とを備える。
【００１０】
本開示の画像処理方法は、画像全体の動きを示すグローバル動きを検出し、画像中の各領域の動きを示すローカル動きを検出し、上記グローバル動きと上記ローカル動きとに基づいて主要被写体を判定する。
本開示のプログラムは、これらの各処理を演算処理装置に実行させるプログラムである。
【００１１】
これらの本開示の技術によれば、画像データについて自動的に主要被写体を判定する主要被写体判定処理を行う。画像全体の動きを示すグローバル動きは、撮像時の撮像装置と、画像に現れている被写体全体の間の相対的な動きとなる。一方、画像中の各領域の動きを示すローカル動きを示すローカル動きとは、撮像時の撮像装置と、画像に現れる各被写体（画像内の各領域毎の被写体画像）の相対的な動きとなる。
例えばユーザが、撮像装置を構えて撮像のターゲットとしたい被写体を狙う場合、当該被写体の動きに合わせて撮像方向を変えていく。従って、ユーザが主要被写体と考えている被写体は、複数フレームにわたる画像内で、画像上での動き（撮像装置との間の相対的な動き）が小さいものとなる。一方で撮像方向を変えていることで、画像全体の動き、つまりグローバル動きは大きい。つまりユーザが目的としている被写体が現れている画像内の領域のローカルベクトルは、グローバルベクトルと大きく異なる。
このようなローカルベクトルとグローバルベクトルの差異によって、ユーザが主要或いは主役と考えている被写体を推定することができ、これにより自動的な主要被写体判定が可能となる。
【発明の効果】
【００１２】
本開示によれば、撮像画像内で自動的に主要被写体が判定されるため、撮像者等のユーザが、主要被写体を選択する行為を行う必要は無い。従ってユーザの操作性、利便性を向上できる。例えば本開示の画像処理装置を搭載した撮像装置を手に持って撮像を行う場合の操作性の向上、ユーザストレスの低減、さらには自動的な主要被写体判定に応じた各種機能の実現という製品付加価値向上を実現できる。
【図面の簡単な説明】
【００１３】
【図１】本開示の実施の形態の画像処理装置の構成例のブロック図である。
【図２】実施の形態の画像処理装置の主要被写体判定処理のフローチャートである。
【図３】実施の形態の撮像装置のブロック図である。
【図４】第１の実施の形態の主要被写体判定部の機能構成のブロック図である。
【図５】実施の形態の動きベクトル検出の説明図である。
【図６】実施の形態のベクトル非類似フラグと時間安定度判定フラグの説明図である。
【図７】実施の形態の主要被写体判定動作の説明図である。
【図８】実施の形態の主要被写体判定動作の説明図である。
【図９】第１の実施の形態の主要被写体判定処理のフローチャートである。
【図１０】第１の実施の形態の最終判定処理のフローチャートである。
【図１１】第２の実施の形態の主要被写体判定部の機能構成のブロック図である。
【図１２】第２の実施の形態の判定モード設定処理のフローチャートである。
【図１３】第２の実施の形態で用いる安定存在度判定モードでの主要被写体判定処理のフローチャートである。
【図１４】実施の形態の候補画像枠と判定基準点の説明図である。
【図１５】実施の形態の候補画像枠と判定基準点の距離の説明図である。
【図１６】実施の形態の位置状態による安定存在度判定の説明図である。
【図１７】実施の形態の安定存在度判定モードでの主要被写体判定処理の詳細なフローチャートである。
【図１８】第３の実施の形態の主要被写体判定部の機能構成のブロック図である。
【図１９】第３の実施の形態の主要被写体判定処理のフローチャートである。
【図２０】実施の形態のコンピュータ装置での適用の場合のブロック図である。
【発明を実施するための形態】
【００１４】
以下、実施の形態を次の順序で説明する。
＜１．画像処理装置の構成＞
＜２．撮像装置の構成＞
＜３．主要被写体判定機会／目的等＞
＜４．第１の実施の形態＞
＜５．第２の実施の形態＞
＜６．第３の実施の形態＞
＜７．プログラム及びコンピュータ装置への適用＞
＜８．変形例＞
【００１５】
＜１．画像処理装置の構成＞
図１に、実施の形態の画像処理装置の構成例を示す。
画像処理装置１は、主要被写体判定部２と、ローカル動き検出部３と、グローバル動き検出部４を有する。
【００１６】
ローカル動き検出部３は、画像データＤｇとしての順次入力されるフレーム画像から、画像中の各領域の動きを示すローカル動きを検出する。例えば１フレームの画像全体を複数の領域に分割し、各領域についてフレーム間差分から、その領域の被写体の動きの情報を検出する。ローカル動きとは、撮像時の撮像装置と、画像に現れる各被写体（画像内の各領域毎の被写体）の相対的な動きとなる。
このような各領域についての相対的な動きを示すローカル動きの情報とは、例えば動きベクトル（方向及び量（スカラー））の情報であったり、動き方向の情報であったり、動き量の情報などである。
そしてローカル動き検出部３は、各領域についてのこのような動きの情報を、ローカル動きの情報として逐次主要被写体判定部２に供給する。
【００１７】
グローバル動き検出部４は、画像全体の動きを示すグローバル動きを検出する。グローバル動きとは、撮像時の撮像装置と、画像に現れている被写体全体に相対的な動きとなる。このような画像全体の相対的な動きを示すグローバル動きの情報としても、ローカル動きの情報に応じた、例えば動きベクトル（方向及び量（スカラー））の情報であったり、動き方向の情報であったり、動き量の情報などとなる。
グローバル動きの情報は、例えば画面の各領域毎のローカル動きを用いた演算処理により検出可能である。
また、この画像処理装置１が撮像装置に搭載される場合は、撮像装置自体の動きを検出するセンサ（例えば角速度センサ、加速度センサ等）の情報からグローバル動きの情報を生成することもできる。さらにこの画像処理装置１が撮像時に撮像装置と接続される機器に搭載される場合も、同様に撮像装置自体の動きを検出するセンサの情報を受信入力することでグローバル動きの情報を生成することもできる。即ち、ローカル動きの情報を用いなくてもグローバル動きの情報を得ることは可能である。
そしてグローバル動き検出部４は、グローバル動きの情報を、逐次主要被写体判定部２に供給する。
【００１８】
主要被写体判定部２は、グローバル動きとローカル動きとに基づいて主要被写体判定処理を行う。
例えば主要被写体判定部２は、各領域のローカル動きの情報を、それぞれグローバル動きの情報と比較する。そしてグローバル動きに対してローカル動きの情報の差異が大きい領域を、主要被写体が現れている領域と推定し、その領域の画像（被写体）を主要被写体と判定する。
そして主要被写体判定部２は判定結果として、主要被写体情報Ｄｍを出力する。
【００１９】
なお、以上の主要被写体判定部２、ローカル動き検出部３、グローバル動き検出部４を有する画像処理装置１は、演算処理装置としてのＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）で実現できる。
またＣＰＵ等で主要被写体判定部２としての機能を実現し、ＣＰＵと接続された画像処理用ＤＳＰ等で、ローカル動き検出部３、グローバル動き検出部４の機能を実現することも考えられる。
【００２０】
この画像処理装置１の主要被写体判定部２による主要被写体判定処理の流れは図２のようになる。
主要被写体判定部２は、ステップＦ１でグローバル動きの情報を取得する。即ちグローバル動き検出部４で検出したグローバル動きの情報を取り込む。
また主要被写体判定部２は、ステップＦ２でローカル動きの情報を取得する。即ちローカル動き検出部３で検出した、画像の各領域についてのローカル動きの情報を取り込む。
【００２１】
ステップＦ３で主要被写体判定部２は、各領域のローカル動きの情報とグローバル動きの情報を比較する。
ステップＦ４で主要被写体判定部２は、上記の比較結果を用いて、主要被写体を判定する。
【００２２】
判定手法としては例えば以下のような例が考えられる。
・ローカル動きがグローバル動きと最も異なる領域の被写体を主要被写体とする。
・ローカル動きがグローバル動きに対して所定値以上異なる１又は複数の領域を抽出し、抽出した１又は複数の領域における各被写体を１又は複数の主要被写体とする。
・ローカル動きがグローバル動きに対して所定値以上異なる１又は複数の領域を抽出し、抽出した１又は複数の領域から選択した領域の被写体を主要被写体とする。
・ローカル動きがグローバル動きに対して所定値以上異なる１又は複数の領域を抽出し、抽出した１又は複数の領域から抽出した１又は複数の被写体を１又は複数の主要被写体とする。
・ローカル動きがグローバル動きに対して所定値以上異なる１又は複数の領域を抽出し、抽出した１又は複数の領域から抽出した１又は複数の被写体のうちで選択した被写体を主要被写体とする。
・ステップＦ１，Ｆ２のグローバル動きの情報とローカル動きの情報の検出を継続的に行い、時間条件により安定的に、ローカル動きがグローバル動きと最も非類似と判断される領域の被写体を主要被写体とする。
・ステップＦ１，Ｆ２のグローバル動きの情報とローカル動きの情報の検出を継続的に行い、時間条件により安定的に、ローカル動きがグローバル動きと非類似と判断される１又は複数の領域の被写体を主要被写体とする。
・ステップＦ１，Ｆ２のグローバル動きの情報とローカル動きの情報の検出を継続的に行い、時間条件により安定的に、ローカル動きがグローバル動きと非類似と判断される１又は複数の領域のうちで選択した領域の被写体を主要被写体とする。
・ステップＦ１，Ｆ２のグローバル動きの情報とローカル動きの情報の検出を継続的に行い、時間条件により安定的に、ローカル動きがグローバル動きと非類似と判断される１又は複数の領域から抽出した１又は複数の被写体を１又は複数の主要被写体とする。
・ステップＦ１，Ｆ２のグローバル動きの情報とローカル動きの情報の検出を継続的に行い、時間条件により安定的に、ローカル動きがグローバル動きと非類似と判断される１又は複数の領域から抽出した１又は複数の被写体のうちで選択した被写体を主要被写体とする。
【００２３】
判定手法は他にも考えられるが、例えばこれらの手法で主要被写体を判定したら、主要被写体判定部２はステップＦ５で、主要被写体情報Ｄｍをアプリケーションプログラム等に受け渡す。
アプリケーションプログラム等では、主要被写体と設定された画像が特定されたことに応じた処理を行う。例えば、フォーカス制御、追尾処理、画像効果処理などである。
【００２４】
以上のように画像処理装置１による主要被写体判定処理が行われる。
この主要被写体判定処理に関しては、ローカル動きの情報とグローバル動きの情報の比較結果を用いて主要被写体判定を行う。例えばカメラを構えている撮像者が、ターゲットを狙って撮像方向を移動させているときは、撮像装置と、そのターゲットの被写体との相対的な動きが小さくなる。例えば撮像者は、ターゲットとしたい被写体を画像内にとどめるために、被写体の動きに応じてパンニングやチルティングを行うなど、撮像装置の撮像方向を変化させるためである。
すると、画像全体のグローバル動きが大きいにもかかわらず、ユーザがターゲットとしたい被写体の領域ではローカル動きが小さい状態となる。このような動きの情報の差異により、ユーザがターゲットと意図している被写体を推定できる。よってユーザの手動操作に頼らずに、自動的に主要被写体判定を行うことができる。つまり主要被写体が自動判定されることになり、主要被写体設定に応じた動作を行う各種電子機器において図１の画像処理装置１が搭載されることで、ユーザの操作性は格段に向上する。
【００２５】
＜２．撮像装置の構成＞
以下では、上記のような画像処理装置を内蔵した撮像装置１０を例に挙げ、主要被写体判定動作について詳しく説明する。
実施の形態の撮像装置１０の構成例を図３に示す。この撮像装置１０はいわゆるデジタルスチルカメラ或いはデジタルビデオカメラとされ、静止画や動画の撮像／記録を行う機器であり、請求項でいう画像処理装置を内蔵するものである。
【００２６】
図３に示すように撮像装置１０は、光学系１１、イメージャ１２、光学系駆動部１３、センサ部１４、記録部１５、通信部１６、デジタル信号処理部２０、制御部３０、ユーザインターフェースコントローラ（以下、「ＵＩコントローラ」）３２、ユーザインターフェース３３を有する。
【００２７】
光学系１１は、カバーレンズ、ズームレンズ、フォーカスレンズ等のレンズや絞り機構を備える。この光学系１１により、被写体からの光がイメージャ１２に集光される。
イメージャ１２は、例えば、ＣＣＤ（Charge Coupled Device）型、ＣＭＯＳ（Complementary Metal OxideSemiconductor）型などの撮像素子を有する。
このイメージャ１２では、撮像素子での光電変換で得た電気信号について、例えばＣＤＳ(Correlated Double Sampling)処理、ＡＧＣ(Automatic Gain Control)処理などを実行し、さらにＡ／Ｄ(Analog/Digital)変換処理を行う。そしてデジタルデータとしての撮像信号を、後段のデジタル信号処理部２０に出力する。
【００２８】
光学系駆動部１３は、制御部３０の制御に基づいて、光学系１１におけるフォーカスレンズを駆動し、フォーカス動作を実行する。また光学系駆動部１３は、制御部３０の制御に基づいて、光学系１１における絞り機構を駆動し、露光調整を実行する。さらに光学系駆動部１３は、制御部３０の制御に基づいて、光学系１１におけるズームレンズを駆動し、ズーム動作を実行する。
【００２９】
デジタル信号処理部２０は、例えばＤＳＰ等により画像処理プロセッサとして構成される。このデジタル信号処理部２０は、イメージャ１２からのデジタル信号（撮像画像信号）に対して、各種の信号処理を施す。
例えばデジタル信号処理部２０は、前処理部２１、同時化部２２、ＹＣ生成部２３、解像度変換部２４、コーデック部２５、候補検出部２６、動きベクトル検出部２７を備えている。
【００３０】
前処理部２１は、イメージャ１２からの撮像画像信号に対して、Ｒ，Ｇ，Ｂの黒レベルを所定のレベルにクランプするクランプ処理や、Ｒ，Ｇ，Ｂの色チャンネル間の補正処理等を施す。
同時化部２２は、各画素についての画像データが、Ｒ，Ｇ，Ｂ全ての色成分を有するようにするデモザイク処理を施す。
ＹＣ生成部２３は、Ｒ，Ｇ，Ｂの画像データから、輝度（Ｙ）信号および色（Ｃ）信号を生成（分離）する。
解像度変換部２４は、各種の信号処理が施された画像データに対して、解像度変換処理を実行する。
コーデック部２５は、解像度変換された画像データについて、例えば記録用や通信用の符号化処理を行う。
【００３１】
動きベクトル検出部２７は、上述のローカル動きの情報の一例であるローカルベクトル検出を行う。又は、この動きベクトル検出部２７では、ローカルベクトル検出と上述のグローバル動きの情報の一例であるグローバルベクトル検出を行う。
動きベクトル検出部２７の動作は、詳しくは後述する第１の実施の形態の説明中で述べるが、この動きベクトル検出部２７は、例えばＹＣ生成部２３で得られる撮像画像信号（輝度信号／色信号）を対象として、各フレーム単位での画像解析処理を行い、画面を複数に分割した各エリアの動きベクトル（ローカルベクトル）を求める。またローカルベクトルから、画像全体のベクトル（グローバルベクトル）を求める場合もある。
動きベクトル検出部２７は、画面を分割した各領域のローカルベクトル、又は各領域のローカルベクトルとグローバルベクトルを、主要被写体判定処理のために、制御部３０の主要被写体判定部３０ａに受け渡す。
なお、この図３の例では動きベクトル検出部２７をデジタル信号処理部２０で実行される機能構成としているが、これは一例であり、制御部３０における主要被写体判定部３０ａが、動きベクトル検出部２７の処理を実行する例も考えられる。
【００３２】
候補検出部２８は、後述する第２，第３の実施の形態を採用する場合に設けられる機能構成である。
この図３の例では候補検出部２８をデジタル信号処理部２０で実行される機能構成としているが、これは一例であり、制御部３０における主要被写体判定部３０ａによって候補検出部２８の処理が実行されてもよい。
【００３３】
候補検出部２８は、例えばＹＣ生成部２３で得られる撮像画像信号（輝度信号／色信号）を対象として、各フレーム単位（又は間欠的なフレーム毎）での画像解析処理を行い、候補画像を抽出する。即ち、時間軸上で連続的に入力される画像データについて顔画像検出、人体画像検出などを行って、主要被写体の候補となる画像を抽出する。
なお、顔検出、人体検出等は、撮像画像データに対しての画像解析におけるパターンマッチングの手法などで可能であるが、パターンマッチングに用いる辞書さえ差し替えれば他の検出器も原理的には実現可能である。例えば（特定種の）犬顔検出・猫顔検出などとして主要被写体の候補画像を抽出してもよい。
また例えばフレーム差分による動体検出の手法で、動体を検出し、当該動体を候補画像とすることも考えられるし、セイレンシ（Saliency）と呼ばれる注視領域抽出の手法を用いてもよい。候補画像の抽出、選定の手法は多様に考えられる。
【００３４】
候補検出部２８は例えば一例としては、顔画像の検出を行い、その顔画像が存在する領域を候補画像枠として抽出する。
抽出した候補画像については、その候補画像枠の位置情報（画面上でのｘ，ｙ座標値、被写体距離の情報等）や、サイズ情報（例えば候補画像枠の幅、高さ、ピクセル数等）を、候補画像情報として制御部３０の主要被写体判定部３０ａに受け渡す。なお、ここでは、候補画像となる画像領域の枠を示す情報であることから、候補画像情報のことを「候補画像枠情報」ともいうこととする。
また、候補画像枠情報としては、さらに、候補画像の属性情報（顔、人体、犬、猫等の種別や、個人（個体）識別情報、さらには画像データ自体を含むようにしてもよい。
また、候補検出部２８は、画像に平滑化処理、アウトライヤ（outlier）除去等の処理を行って、候補画像枠情報を生成してもよい。
【００３５】
制御部３０は、ＣＰＵ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリなどを備えたマイクロコンピュータ（演算処理装置）により構成される。
ＣＰＵがＲＯＭやフラッシュメモリ等に記憶されたプログラムを実行することで、この撮像装置１０全体を統括的に制御する。
ＲＡＭは、ＣＰＵの各種データ処理の際の作業領域として、データやプログラム等の一時的な格納に用いられる。
ＲＯＭやフラッシュメモリ（不揮発性メモリ）は、ＣＰＵが各部を制御するためのＯＳ（Operating System）や、画像ファイル等のコンテンツファイルの他、各種動作のためのアプリケーションプログラムや、ファームウエア等の記憶に用いられる。例えば本例において後述する主要被写体判定処理を実行するためのプログラムや、さらに主要被写体判定結果を利用するアプリケーションプログラム等が記憶される。
【００３６】
このような制御部３０は、デジタル信号処理部２０における各種信号処理の指示、ユーザの操作に応じた撮像動作や記録動作、記録した画像ファイルの再生動作、ズーム、フォーカス、露光調整等のカメラ動作、ユーザインターフェース動作等について、必要各部の動作を制御する。
【００３７】
また本実施の形態の場合、制御部３０は、主要被写体判定部３０ａとしての機能を備え、後述する第１〜第３の実施の形態で説明するような主要被写体判定処理を実行する。
この場合、主要被写体判定部３０ａは、動きベクトル検出部２７や後述するセンサ部１４から受け渡されたグローバルベクトル、ローカルベクトルを用いた主要被写体判定の処理を実行する。第２、第３の実施の形態で述べるように、グローバルベクトル、ローカルベクトルを用いた処理に加えて、候補検出部２８から受け渡された候補画像情報についての位置状態判定処理、安定存在度算出処理、及び安定存在度に基づく主要被写体設定の処理を実行する場合もある。
【００３８】
ユーザインターフェース３３は、ユーザに対する表示出力や音声出力を実行し、またユーザの操作入力を受け付ける。このため、表示デバイス、操作デバイス、スピーカデバイス、マイクロホンデバイスなどを有する。ここでは、表示部３４，操作部３５を示している。
【００３９】
表示部３４はユーザ（撮像者等）に対して各種表示を行う表示部であり、例えば撮像装置１０の筐体上に形成されるＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro-Luminescence）ディスプレイ等のディスプレイデバイスを有して形成される。なお、いわゆるビューファインダーの形態で、ＬＣＤや有機ＥＬディスプレイ等を用いて形成されてもよい。
この表示部３４は、上記のディスプレイデバイスと、該ディスプレイデバイスに表示を実行させる表示ドライバとから成る。表示ドライバは、制御部３０の指示に基づいて、ディスプレイデバイス上に各種表示を実行させる。例えば表示ドライバは、撮像して記録媒体に記録した静止画や動画を再生表示させたり、レリーズ（シャッタ操作）待機中に撮像される各フレームの撮像画像データによる動画としてのスルー画（被写体モニタリング画像）をディスプレイデバイスの画面上に表示させる。また各種操作メニュー、アイコン、メッセージ等、即ちＧＵＩ（Graphical User Interface）としての表示を画面上に実行させる。本実施の形態の場合、例えばスルー画や再生画上で、主要被写体判定による判定結果がユーザにわかるような表示も実行される。
【００４０】
操作部３５は、ユーザの操作を入力する入力機能を有し、入力された操作に応じた信号を制御部３０へ送る。
この操作部３５としては、例えば撮像装置１０の筐体上に設けられた各種操作子や、表示部３４に形成されたタッチパネルなどとして実現される。
筐体上の操作子としては、再生メニュー起動ボタン、決定ボタン、十字キー、キャンセルボタン、ズームキー、スライドキー、シャッターボタン（レリーズボタン）等が設けられる。
またタッチパネルと表示部３４に表示させるアイコンやメニュー等を用いたタッチパネル操作により、各種の操作が可能とされてもよい。
【００４１】
ユーザインターフェース３３の表示部３４等の動作は、制御部３０の指示に従ってＵＩコントローラ３２により制御される。また操作部３５による操作情報は、ＵＩコントローラ３２によって制御部３０に伝達される。
【００４２】
記録部１５は、例えば不揮発性メモリからなり、静止画データや動画データ等の画像ファイル（コンテンツファイル）や、画像ファイルの属性情報、サムネイル画像等を記憶する記憶領域として機能する。
画像ファイルは、例えばＪＰＥＧ（Joint Photographic Experts Group）、ＴＩＦＦ（Tagged Image File Format）、ＧＩＦ（Graphics Interchange Format）等の形式で記憶される。
記録部１５の実際の形態は多様に考えられる。例えば記録部１５は、撮像装置１０に内蔵されるフラッシュメモリでもよいし、撮像装置１０に着脱できるメモリカード（例えば可搬型のフラッシュメモリ）と該メモリカードに対して記録再生アクセスを行うカード記録再生部による形態でもよい。また撮像装置１０に内蔵されている形態としてＨＤＤ（Hard Disk Drive）などとして実現されることもある。
また、本例において後述する安定撮像状態推定処理及び主要被写体判定処理を実行するためのプログラムは、記録部１５に記憶されてもよい。
【００４３】
通信部１６は、外部機器との間のデータ通信やネットワーク通信を有線又は無線で行う。
例えば外部の表示装置、記録装置、再生装置等の間で撮像画像データ（静止画ファイルや動画ファイル）の通信を行う。
また、ネットワーク通信部として、例えばインターネット、ホームネットワーク、ＬＡＮ（Local Area Network）等の各種のネットワークによる通信を行い、ネットワーク上のサーバ、端末等との間で各種データ送受信を行うようにしてもよい。
【００４４】
センサ部１４は各種センサを包括的に示している。例えば手ぶれ、或いは撮像装置１０の姿勢や移動（パン移動、チルト移動等）等、撮像装置１０の全体の動きを検出するためのジャイロセンサ（角速度センサ）、加速度センサ等が設けられる。
また露光調整等のための外部照度を検出する照度センサ、さらには被写体距離を測定する測距センサが設けられてもよい。
またセンサ部１４として、光学系１１におけるズームレンズの位置を検出するズームレンズ位置センサ、フォーカスレンズの位置を検出するフォーカスレンズ位置センサが設けられる場合もある。
またセンサ部１４として、メカアイリス（絞り機構）の開口量を検出するセンサが設けられる場合もある。
センサ部１４の各種センサは、それぞれ検出した情報を制御部３０に伝達する。制御部３０は、センサ部１４で検出された情報を用いて各種制御を行うことができる。
【００４５】
このような撮像装置１０において、図１で説明したような画像処理装置１の構成部分は次のようになる。
図１の画像処理装置１における主要被写体判定部２に相当する構成は、撮像装置１０における制御部３０における主要被写体判定部３０ａとしてソフトウエアにより実装される。制御部３０は、請求項でいうプログラムに基づく処理を実行することで、請求項でいう画像処理方法としての動作を行う。
【００４６】
図１のローカル動き検出部３に相当する構成は、動きベクトル検出部２７となる。動きベクトル検出部２７は、画面を分割した各領域についてローカルベクトルを検出し、主要被写体判定部３０ａに供給する。
【００４７】
図１のグローバル動き検出部４に相当する構成も動きベクトル検出部２７となる。
動きベクトル検出部２７は、画面を分割した各領域についてローカルベクトルを検出したら、そのローカルベクトルを用いた演算で、グローバルベクトルを求めることができる。この場合、動きベクトル検出部２７は、
即ちローカル動き検出部３及びグローバル動き検出部４としての構成は、動きベクトル検出部２７が、画像解析処理により画像中の各領域のローカルベクトルを検出し、また各領域のローカルベクトルを用いてグローバルベクトルを検出する構成として実現できる。
【００４８】
但し、グローバル動き検出部４に相当する構成は、センサ部１４とすることもできる。
画像全体の動きを示すグローバル動きの情報は、撮像装置１０の撮像方向の変化として得ることもできる。撮像画像の全体的な動きは、撮像方向の変化によって表れるためである。従って、センサ部１４における角速度センサ、加速度センサの検出値、つまり撮像装置１０自体の動きの情報から、撮像画像全体の動きの情報としてのグローバルベクトルの値を求めることができる。
例えば制御部１の主要被写体判定部３０ａは、角速度センサの検出値を時間で積分することでグローバルベクトルの値として取り込むことができる。或いは加速度センサの検出値を時間で２回積分することでグローバルベクトルの値として取り込むことができる。
この場合、ローカル動き検出部３に相当する構成が動きベクトル検出部２７となり、グローバル動き検出部４に相当する構成がセンサ部１４となる。
【００４９】
後述する第１〜第３の実施の形態では、グローバル動き検出部４に相当する構成として、以上のいずれの構成を用いてもよい。
【００５０】
＜３．主要被写体判定機会／目的等＞
本実施の形態では、後述の第１〜第３の実施の形態として説明するように主要被写体判定が行われるが、撮像装置１０において主要被写体判定を行う機会や目的等について説明しておく。
【００５１】
まず主要被写体判定結果の利用例を述べる。
主要被写体判定は、例えばユーザ（撮像者）がシャッタタイミング（レリーズタイミング）を狙っている際に実行されるが、制御部３０は主要被写体を自動的に判定した後、次のような処理を行うことができる。
【００５２】
・追尾処理
撮像される各フレームにおいて設定された主要被写体を追尾する。例えばスルー画表示上でユーザに主要被写体を明示して、ユーザの画角調整（例えばカメラを手に持っている状態における被写体決め）の用に供する。
なお、主要被写体の提示としては、表示部３４でのスルー画表示上で主要被写体の枠を強調表示することが考えられる。また、強調表示等は、判定直後の一定期間でもよいし、スルー画内に主要被写体が存在する限り実行させてもよい。
【００５３】
・フォーカス合わせ
主要被写体にオートフォーカス制御する。また、追尾処理と合わせて、主要被写体が動き回っていても、フォーカスが、その主要被写体に追尾して調整されるようにする。
・露光調整
主要被写体の明るさ（輝度）に基づいて自動露光調整を行う。
・指向性調整
撮像（例えば動画撮像）とともにマイクロホンにより音声収音を行う場合、画角空間内での主要被写体の方向に応じて、指向性調整を行う。
・ズーム制御
主要被写体に対応したオートズーム制御する。例えば主要被写体が常に所定以上のサイズで撮像画像で映り込むように自動的なズームレンズ駆動を行う。追尾処理と合わせて、主要被写体との距離が変化に応じたズームによる画角調整を行うようにしてもよい。
・録画スタート制御
動画撮像の開始のトリガーとする。例えば主要被写体が決定されたことに応じて、動画撮像記録を開始する。
【００５４】
また、撮像画像信号に対する各種信号処理にも用いることができる。
・画像効果処理
撮像される各フレームにおいて主要被写体の領域にのみ、画質調整、ノイズリダクション、肌色調整などの画像処理を加える。
或いは、主要被写体の領域以外に、画像効果、例えばモザイク処理、ぼかし処理、塗りつぶし処理等を加えることも考えられる。
【００５５】
・画像編集処理
撮像画像、もしくは記録された画像について、フレーミング、クロッピング等の編集処理を加える。
例えば主要被写体を含むフレーム内の一部領域の切り出しや、拡大等の処理を行うことができる。
また、撮像画像データのうちで、主要被写体が画像の中心に配置されるように画像周辺部のカット等を行い、構図調整を行うことができる。
【００５６】
これらは一例に過ぎないが、これら以外にも、アプリケーションプログラムや撮像装置内の自動調整機能が、設定した主要被写体を利用する処理は各種考えられる。
【００５７】
次に主要被写体判定処理をどのような時点で実行するかも各種考えられる。
例えば撮像装置１０が電源オンとされて、撮像を行っているとき（表示部３４にスルー画を表示している期間）は、常時主要被写体判定処理を行っていてもよい。
また、主要被写体を判定したら、追尾処理を行う場合、追尾が外れた時点で、再度主要被写体判定処理を行うようにしてもよい。
また、ユーザ操作により主要被写体判定処理が開始されるようにしてもよい。
またユーザが、判定実行モードを選択しているときに、常時実行されたり、追尾が外れたりといったときに実行されるなどとしてもよい。
またユーザ操作にかかわらず、自動的に主要被写体判定処理が起動されることも考えられる。
【００５８】
主要被写体判定処理を行うことによる効果としては次のとおりである。
先に述べたように、撮像者が撮像装置１０をもって被写体を狙っているときには、そもそも主要被写体を指定するような操作は難しい。
特にパンニングやチルティングのように撮像方向を継続的に一定方向に変化させている場合、或いは一定方向ではなくとも、撮像方向を変化させている場合は、特に主要被写体を指定する操作はユーザにとって困難である。
また何度も指定する行為は面倒である。
主要被写体判定を自動的に実行することによれば、このようなことが解消され、ユーザストレスの低減効果が得られる。
またユーザが通常使用するデジタルスチルカメラ、携帯電話機内蔵カメラなど、ユーザが携帯して使用する撮像装置１０としては、表示部３４も小型であり、ユーザが主要被写体を画面上で指定する操作を行ったとしても、正確に行いにくい。本実施の形態のように自動判定することで、誤指定ということもなくなる。
【００５９】
また撮像装置１０が自動的に主要被写体判定を行うことによれば、ユーザにとっては、被写体を狙って撮像装置１０を構えていたり、被写体を追って撮像方向を変化させていたりする状況で、主要被写体判定が実行されることとなり、ユーザが装置に感じるインテリジェント感の向上や、付加価値の向上という効果が得られる。
また撮像装置１０を自然に構えていれば主役を撮れる、という感覚で使用できるため、撮像機会の増加、対応ユースケースの増加ということができ、使いやすいカメラをユーザに提供できることにもなる。
【００６０】
以上のことから、ハンドヘルドタイプのカメラとして、主要被写体判定を自動的に行う本実施の形態の撮像装置１０は特に好適となる。
【００６１】
＜４．第１の実施の形態＞
第１の実施の形態としての主要被写体判定処理を説明する。
第１の実施の形態は、制御部３０（主要被写体判定部３０ａ）が、画面を分割した各領域とローカルベクトルとグローバルベクトルの比較により、各領域のうち、ローカルベクトルが、グローバルベクトルに対して非類似と判定される領域の検出結果に基づいて主要被写体を判定する処理である。
【００６２】
まず第１の実施の形態における主要被写体判定部３０ａの機能構成を図４で説明する。
主要被写体判定部３０ａは、例えばソフトウエアによる機能構成として図４に示すようにローカルベクトル取得部５１、グローバルベクトル取得部５２、領域毎比較部５３、最終判定部５４を備える。
【００６３】
ローカルベクトル取得部５１は、動きベクトル検出部２７からの、画面を分割した各領域毎のローカルベクトルＬＶを取得する。
グローバルベクトル取得部５２は、動きベクトル検出部２７、又はセンサ部１４からの、画面全体の動きの情報であるグローバルベクトルＧＶを取得する。
なおセンサ部１４からの角速度検出値、加速度検出値をグローバルベクトルＧＶとして取得する構成の場合は、グローバルベクトル取得部５２は、検出値をピクセル次元への変換処理を行って、ローカルベクトルＬＶと整合をとればよい。
即ち、角速度検出値を用いる場合、時間で積分すると角度情報が得られ、また加速度検出値を用いる場合、時間で２回積分すると角度情報が得られるが、これらの角度が、何ピクセルに相当するかを換算し、それをグローバルベクトルＧＶの値とすればよい。もちろんセンサ部１４においてこのような換算処理を行う機能を設け、換算を行ってから、グローバルベクトルＧＶを制御部３０（主要被写体判定部３０ａ）に供給してもよい。
【００６４】
領域毎比較部５３は、ローカルベクトル取得部５１によって取り込まれた各領域についてのローカルベクトルＬＶを、グローバルベクトル取得部５２によって取り込まれたグローバルベクトルＧＶと比較する処理を行う。
最終判定部５４は、領域毎比較部５３の判定結果を用いて、主要被写体判定を行い、主要被写体情報Ｄｍを出力する。
【００６５】
このような機能構成の主要被写体判定部３０ａと、動きベクトル検出部２７（或いは加えてセンサ部１４）により実行される主要被写体判定動作の概要を図５〜図８で説明する。
【００６６】
図５Ａは、動きベクトル検出部２７が、時間軸上で順次得られる各フレームＦＲ１，ＦＲ２，ＦＲ３・・・の撮像画像データを対象として、動きベクトルを検出することを示している。
動きベクトル検出部２７は、図５Ｂのように、１フレームの画面を多数の領域に分割し、各領域毎に、フレームが遷移していく期間での被写体画像の動き（時間差分）をベクトルとして検出する処理を行う。
図５Ｂの場合、画面を領域ＡＲ１〜ＡＲ２０の２０個の領域に分割する例を示している。領域を２０分割することは一例に過ぎないが、以下では、この例で説明していく。
各領域ＡＲ１〜ＡＲ２０において検出されたベクトルがローカルベクトルＬＶであり、各ローカルベクトルＬＶを実線、太線、破線で示している。
【００６７】
但しローカルベクトルＬＶとしては主要被写体判定のために用いるベクトルとして信頼度の高いものと低いものがある。
例えば画像のコントラストの高い領域のベクトルは信頼度が高い。例えば人、動物、移動体など、主要被写体判定の対象となる被写体が存在する領域は、比較的コントラストが高くなるためである。
一方、画像のコントラストの低い領域のベクトルは信頼度が低い。例えば背景などとしての被写体が存在する領域は、比較的コントラストが低いためである。
図５Ｂでは、信頼度の高い領域のローカルベクトルＬＶを実線又は太線で示し、信頼度の低い領域のローカルベクトルＬＶを破線で示している。
動きベクトル検出部２７は、このような各領域のローカルベクトルＬＶの情報を制御部３０（主要被写体判定部３０ａ）に供給する。なお、この場合に、各ローカルベクトルＬＶについて、高信頼度／低信頼度を示す情報も付加する。
【００６８】
一方、グローバルベクトルＧＶは、画面全体の動きである。つまり撮像画像データに表れている被写体画像全体の大局的な動きの情報といえる。図５Ｂでは、中央にグローバルベクトルＧＶを示している。
動きベクトル検出部２７がグローバルベクトルＧＶを求める場合、このグローバルベクトルＧＶは、実線又は太線で示した信頼度の高いローカルベクトルＬＶの平均などとして求めることができる。また、アフィン変換等の手法を用い、各ローカルベクトルＬＶの回転成分も考慮した演算でグローバルベクトルＧＶを求めることもできる。
センサ部１４からの角速度又は加速度の検出値を用いる場合、それらの検出値から得られる角度情報をピクセル次元へ換算することで、図のようなグローバルベクトルＧＶの情報が得られる。
このグローバルベクトルＧＶの情報は、動きベクトル検出部２７又はセンサ部１４からの制御部３０（主要被写体判定部３０ａ）に供給される。
【００６９】
なお、この図５Ｂでは、例えばユーザが、撮像装置１０の撮像方向をユーザから見て左方向に動かしている（パンニングしている）状況の例としている。従って画像に表れる動きとしては全体的には向かって左から右への動きが観測される。多くの領域では、実線矢印のように右向きのローカルベクトルＲＶが得られることになる。
主にこのような右向きのローカルベクトルＲＶが用いられてグローバルベクトルＧＶが算出されることで、画像の全体的な動きとしてのグローバルベクトルＧＶも図のように右向きとなる。
ところで、グローバルベクトルＧＶはセンサ部１４からの情報としても得られると述べたが、撮像装置１０が例えば左にパンニングすると、画像全体の動きは右方向となる。従って、角速度センサや加速度センサとしての検出値を用いる場合、そのグローバルベクトルＧＶとしての方向性は、ローカルベクトルＲＶとの整合のため、撮像装置１０の動きが画像全体に表れる動きに変換された状態とすることが必要である。
【００７０】
主要被写体判定部３０ａの構成として図４に示したローカルベクトル取得部５１、グローバルベクトル取得部５２は、このように各領域ＡＲ１〜ＡＴ２０について求められたローカルベクトルＬＶ（及び信頼度情報）と、画像全体の大局的な動きの情報としてのグローバルベクトルＧＶを取得する。
例えば動きベクトル検出部２７が１フレームタイミング毎に各領域ＡＲ１〜ＡＴ２０のローカルベクトルＬＶを検出して出力する場合、ローカルベクトル取得部５１は、１フレームタイミング毎に各領域ＡＲ１〜ＡＴ２０のローカルベクトルＬＶを取得する。
またグローバルベクトル取得部５２は、１フレーム毎に動きベクトル検出部２７又はセンサ部１４からグローバルベクトルＧＶを取得する。
なお、ローカルベクトルＬＶ及びグローバルベクトルＧＶの検出は必ずしも１フレーム毎でなく、間欠的なフレームのタイミング毎におこなってもよい。
【００７１】
主要被写体判定部３０ａの領域毎比較部５３は、取得した各領域ＡＲ１〜ＡＲ２０のローカルベクトルＬＶと、グローバルベクトルＧＶについて比較処理を行い、図６Ａに示すベクトル非類似フラグＦ（ｎ）の処理や、図６Ｂに示す時間安定度判定フラグＪ（ｎ）の処理を行う。
図６Ａのベクトル非類似フラグＦ（ｎ）（「ｎ」は領域ＡＲ（ｎ）としての番号。この場合領域ＡＲ１〜ＡＲ２０に分割するためｎは１〜２０）は、画面を分割した各領域ＡＲ１〜ＡＲ２０のそれぞれについて、ローカルベクトルＬＶとグローバルベクトルＧＶの比較結果を示すフラグである。
ここではローカルベクトルＬＶがグローバルベクトルＧＶに類似しているか、或いはローカルベクトルＬＶの信頼性が低い場合にベクトル非類似フラグＦ（ｎ）＝Ｌとする。
一方、ローカルベクトルＬＶが信頼性が高いと判断されるものであって、かつグローバルベクトルＧＶと非類似と判定される場合、ベクトル非類似フラグＦ（ｎ）＝Ｈとする。
【００７２】
図６Ｂの時間安定度判定フラグＪ（ｎ）（上記のＦ（ｎ）と同様、ｎは１〜２０）は、画面を分割した各領域ＡＲ１〜ＡＲ２０のそれぞれについての時間安定度判定結果を示すフラグである。時間安定度とは、継続的、累積的、或いは平均的に、ローカルベクトルＲＶがグローバルベクトルＧＶに非類似という条件を満たしているか否かを示すフラグである。
例えば、上記のベクトル非類似フラグＦ（ｎ）＝Ｈ、つまり非類似と判定される状態が所定時間継続した場合に、時間安定度判定フラグＪ（ｎ）＝Ｈとなる。
ベクトル非類似フラグＦ（ｎ）＝Ｌ、又はベクトル非類似フラグＦ（ｎ）＝Ｈの継続時間が所定時間に満たない時点では、領域ＡＲ（ｎ）に対応する時間安定度判定フラグＪ（ｎ）＝Ｌとする。
【００７３】
なお図では時間安定度判定フラグＪ（ｎ）は、所定時間継続的に条件（ベクトル非類似フラグＦ（ｎ）＝Ｈ）を満たした場合に「Ｈ」になるものとしたが、ベクトル非類似フラグＦ（ｎ）＝Ｈとなる時間が累積的或いは単位時間内で平均的に、所定時間に達した場合に、時間安定度判定フラグＪ（ｎ）＝Ｈとなるようにしてもよい。つまり継続性は問わないという条件設定もある。
【００７４】
図７，図８で、ベクトル非類似フラグＦ（ｎ）と時間安定度判定フラグＪ（ｎ）の変化を説明する。
図７は、ローカルベクトルＬＶはグローバルベクトルＧＶに類似していると判定される領域ＡＲ（ｓｃ）についての領域毎比較部５３で行われる比較処理を示している。領域ＡＲ（ｓｃ）とは、例えば図５ＢにローカルベクトルＬＶを実線で示した領域ＡＲ２，ＡＲ３，ＡＲ４，ＡＲ５などのことである
図８は、ローカルベクトルＬＶがグローバルベクトルＧＶに非類似と判定される領域ＡＲ（ｍｃ）についての領域毎比較部５３で行われる比較処理を示している。領域ＡＲ（ｍｃ）とは例えば図５ＢにローカルベクトルＬＶを太線で示した領域ＡＲ９，ＡＲ１４などである
【００７５】
図７、図８には、それぞれグローバルベクトルＧＶの変位を点線で示している。各点が、各時点（例えばフレームタイミング毎）にグローバルベクトル取得部５２に取り込まれ、領域毎比較部５３に供給されるグローバルベクトルＧＶの値を示している。なお、図示の都合上、縦軸一次元でのレベルとして示しているが、実際にはグローバルベクトルＧＶの値としては、ベクトルの方向及び量（スカラー）である。
【００７６】
図７では、領域ＡＲ２等の、結果的にグローバルベクトルＧＶと類似と判断される領域ＡＲ（ｓｃ）のローカルベクトルＬＶ（ｓｃ）を示している。各点が各時点でのローカルベクトルＬＶ（ｓｃ）の値（ベクトルの方向及び量）を模式的に表すものとしている。
またグローバルベクトルＧＶとローカルベクトルＬＶ（ｓｃ）の差分（ＧＶ＊ＬＶ（ｓｃ））を示している。
各点が差分の値である。但し、グローバルベクトルＧＶとローカルベクトルＬＶ（ｓｃ）はともにベクトル方向及び量の値を持つ。ここでの両ベクトルの差分とは、グローバルベクトルＧＶとローカルベクトルＬＶ（ｓｃ）の内積の値とすればよい。ここではＧＶ＊ＬＶ（ｓｃ）の「＊」は内積演算を表すものとする。内積の値は、グローバルベクトルＧＶとしての方向性にローカルベクトルＬＶが寄与している度合いを示す値ともいえる。
この図７における差分（ＧＶ＊ＬＶ（ｓｃ））が、或る領域ＡＲ（ｓｃ）についてのグローバルベクトルＧＶとローカルベクトルＬＶ（ｓｃ）の比較結果である。差分（ＧＶ−ＬＶ（ｓｃ））が、閾値Ｔｈ＋，Ｔｈ−の範囲内であるか否かにより、類似度が判定される。
図７の場合、差分（ＧＶ＊ＬＶ（ｓｃ））は常に閾値Ｔｈ＋，Ｔｈ−の範囲内である。この場合、各フレームタイミング時点で、当該領域ＡＲ（ｓｃ）のローカルベクトルＬＶ（ｓｃ）はグローバルベクトルＧＶに類似しているとして、ベクトル非類似フラグＦ（ｓｃ）＝Ｌのままとなる。
また、時間安定度判定フラグＪ（ｎ）は、ベクトル非類似フラグＦ（ｎ）＝Ｈの継続時間によって「Ｈ」となるフラグであるとする。この場合、図７のようにベクトル非類似フラグＦ（ｓｃ）＝Ｌが継続しているため、時間安定度判定フラグＪ（ｓｃ）＝Ｌのままで「Ｈ」にはならない。
【００７７】
次に図８についてみてみる。
図８では、領域ＡＲ９等の、結果的にグローバルベクトルＧＶと非類似と判断される領域ＡＲ（ｍｃ）のローカルベクトルＬＶ（ｍｃ）を示している。各点が各時点でのローカルベクトルＬＶ（ｍｃ）の値（ベクトルの方向及び量）を模式的に表す。
またグローバルベクトルＧＶとローカルベクトルＬＶ（ｍｃ）の差分を示している。各点が差分（ＧＶ＊ＬＶ（ｍｃ））とは、グローバルベクトルＧＶとローカルベクトルＬＶ（ｍｃ）の内積の値である。
この図８における差分（ＧＶ＊ＬＶ（ｍｃ））が、或る領域ＡＲ（ｍｃ）についてのグローバルベクトルＧＶとローカルベクトルＬＶ（ｍｃ）の比較結果である。差分（ＧＶ−ＬＶ（ｍｃ））も、図７の場合と同様に閾値Ｔｈ＋，Ｔｈ−の範囲内であるか否かにより、類似度が判定される。
図８の場合、差分（ＧＶ＊ＬＶ（ｍｃ））の値が閾値Ｔｈ＋，Ｔｈ−の範囲内を越えることが頻発している。また時点ｔ１以降は、継続して差分（ＧＶ＊ＬＶ（ｍｃ））の値が閾値Ｔｈ＋，Ｔｈ−の範囲を越えている。
【００７８】
差分（ＧＶ＊ＬＶ（ｍｃ））の値が閾値Ｔｈ＋，Ｔｈ−の範囲内を越えるタイミングでは、ベクトル非類似フラグＦ（ｍｃ）＝Ｈとなる。
また、上記のように時間安定度判定フラグＪ（ｎ）は、ベクトル非類似フラグＦ（ｎ）＝Ｈの継続時間によって「Ｈ」となるフラグであるとしている。この場合、図８の時点ｔ１以後、継続してベクトル非類似フラグＦ（ｎ）＝Ｈとなり、時点ｔ２でこの状態が所定時間Ｔｊを経過したとする。すると、時間安定度判定フラグＪ（ｓｃ）＝Ｈとなる。
【００７９】
ここで図７，図８におけるグローバルベクトルＧＶに着目する。図７，図８に前半として示す期間ＴＫ１は、グローバルベクトルＧＶが大きく変動している。これは撮像者が例えば素早く動き回る被写体を捉えようとして撮像装置１０の撮像方向を多様な方向に変化させているような状況が推定される。
一方、後半の期間ＴＨ２は、被写体を追って撮像装置１０をパンニングさせているような状況が推定される。
【００８０】
図７のように、グローバルベクトルＧＶに対してローカルベクトルＬＶ（ｓｃ）が類似しているということは、領域ＡＲ（ｓｃ）に表れる画像は、撮像方向の変化と概略同様に変化しているということである。撮像装置１０自体に対する画像の相対的な動きという観点でみると、領域ＡＲ（ｓｃ）は画像の動きが大きいということになる。
例えば領域ＡＲ（ｓｃ）には、ユーザが追っていない背景の画像がうつっているような状況が想定される。背景被写体は静止しているにもかかわらず、撮像装置１０の撮像方向が変化するため、領域ＡＲ（ｓｃ）に表れる背景画像の変化が、大きく、かつグローバルベクトルＧＶと類似したものとなる。
【００８１】
図７に示す期間ＴＫ１，ＴＫ２のいずれも、ローカルベクトルＬＶ（ｓｃ）は、グローバルベクトルＧＶに類似している。これは領域ＡＲ（ｓｃ）に表れる背景画像が、撮像装置１０の撮像方向変化によって変動していることを示す。即ち領域ＡＲ（ｓｃ）に表れる画像は、ユーザが目的としていない画像と推定できる。
このような領域ＡＲ（ｓｃ）については、グローバルベクトルＧＶとローカルベクトルＬＶ（ｓｃ）の差分（ＧＶ＊ＬＶ（ｓｃ））は小さい。
従って図７のように差分（ＧＶ＊ＬＶ（ｓｃ））が小さく、ベクトル非類似フラグＦ（ｎ）＝Ｌとなっている領域ＡＲ（ｓｃ）に表れている画像は、主要被写体となる画像ではないと判断できる。
【００８２】
一方、図８のように、グローバルベクトルＧＶに対してローカルベクトルＬＶ（ｍｃ）が非類似であるということは、領域ＡＲ（ｍｃ）に表れる画像は、撮像方向の変化があるにもかかわらず、画像上での動きが小さいということである。撮像装置１０自体に対する画像の相対的な動きという観点でみると、領域ＡＲ（ｍｃ）は画像の動きが小さいということになる。
例えば領域ＡＲ（ｍｃ）には、ユーザが撮像目的として追っている画像がうつっているような状況が想定される。つまり動き回っている被写体を、なるべく画像の中央に捉えようとして、ユーザが撮像方向を変化させている状況である。撮像方向の変化は大きいにもかかわらず、ユーザが目的とする被写体を追っていることによるため、目的の被写体画像は、画面上の或る領域の近辺に捉えられ続ける。
【００８３】
このため図８に示す期間ＴＫ１，ＴＫ２のいずれも、ローカルベクトルＬＶ（ｍｃ）は、グローバルベクトルＧＶと非類似で比較的小さい値となる。
ただ期間ＴＫ１は、領域ＡＲ（ｍｃ）についてのグローバルベクトルＧＶとローカルベクトルＬＶ（ｍｃ）の差分（ＧＶ＊ＬＶ（ｍｃ））は大きく変化している。これはまだユーザが目的の被写体を画面内の意図する位置に捉えきれていないような状態が推定される。
その後、時点ｔ１以降は、ユーザがパンニングさせているような状況であるが、グローバルベクトルＧＶが大きいにもかかわらず、ローカルベクトルＬＶ（ｍｃ）の値は小さく、差分（ＧＶ＊ＬＶ（ｍｃ））は閾値Ｔｈ＋を越えた状態で安定している。
これは、ユーザが目的の被写体を捉えた状態で撮像装置１０をパンニングさせている状況が推定される。つまり、このような領域ＡＲ（ｍｃ）に表れている画像は、ユーザが目的としている画像と推定できる。
【００８４】
即ち図８のように差分（ＧＶ＊ＬＶ（ｓｃ））が閾値Ｔｈ＋，Ｔｈ−の範囲内を越えて安定している場合、領域ＡＲ（ｍｃ）に表れている画像は、主要被写体画像と判断できる。これは、ベクトル非類似フラグＦ（ｎ）＝Ｈとなっている時間が所定時間Ｔｊだけ継続し、時間安定度判定フラグＪ（ｎ）＝Ｈとなったこととして検出できるものとなる。
例えば図６Ｂでは。領域ＡＲ９，ＡＲ１４が時間安定度判定フラグＪ（ｎ）＝Ｈとなっている。これは、この領域ＡＲ９、ＡＲ１４に含まれる被写体画像が、主要被写体と推定されるものとなる。
なお、ここではベクトル非類似フラグＦ（ｎ）＝Ｈとなっている時間が所定時間Ｔｊだけ継続したときに、時間安定度判定フラグＪ（ｎ）＝Ｈとなるとしたが、ベクトル非類似フラグＦ（ｎ）＝Ｈとなっている時間が累積的に所定時間Ｔｊに達したときに、時間安定度判定フラグＪ（ｎ）＝Ｈとなるとしてもよい。
或いは単位時間内で平均的にベクトル非類似フラグＦ（ｎ）＝Ｈとなっている時間が所定時間に達したときに、時間安定度判定フラグＪ（ｎ）＝Ｈとなるとしてもよい。
【００８５】
図４に示した領域毎比較部５３は、以上の図７，図８で説明した処理を行ってベクトル非類似フラグＦ（ｎ）、時間安定度判定フラグＪ（ｎ）の処理を行う。
そして最終判定部５４は、このフラグ処理の結果を用いて、最終的に主要被写体判定を行うものとなる。
【００８６】
図９で、制御部３０（主要被写体判定部３０ａ）が実行する主要被写体判定処理の具体例を説明する。
図９のステップＦ１０１〜Ｆ１３０は、制御部３０が主要被写体判定部３０ａの機能として実行する処理を示している。
なお一点鎖線で囲ったステップＦ１００（Ｆ１０１〜Ｆ１１８）は、図４の領域毎比較部５３が、ローカルベクトル取得部５１、グローバルベクトル取得部５２からのローカルベクトルＬＶ、グローバルベクトルＧＶの供給を受けて実行するベクトル比較判定処理と考えればよい。またステップＦ１２０，Ｆ１３０は図４の最終判定部５４の処理と考えればよい。
あくまで説明上の前提として、制御部３０（図４のローカルベクトル取得部５１、グローバルベクトル取得部５２）には、フレームタイミング毎に、各領域ＡＲ１〜ＡＲ２０のローカルベクトルＬＶ（ｎ）と、グローバルベクトルＧＶが取り込まれるとする。
また変数ｎは上述の「ｎ」と同様、画像を分割した領域ＡＲ１〜ＡＲ２０の領域番号とする。領域ＡＲ１〜ＡＲ２０に２０分割する例で言えばｎは１〜２０の値をとる。Ｎはｎの最大値であり、この例の場合Ｎ＝２０となる。
【００８７】
図９の主要被写体判定処理として、まずステップＦ１０１で制御部３０は、処理対象としてのグローバルベクトルＧＶを取り込む。具体的には、或るフレームの時点でグローバルベクトル取得部５２に取り込まれたグローバルベクトルＧＶを領域毎比較部５３が処理対象として取り込む処理となる。
続いて制御部３０はステップＦ１０２で変数ｎ＝１としてステップＦ１０３以降に進む。
【００８８】
制御部３０は、変数ｎが最大値Ｎに達してない時点では、ステップＦ１０３からＦ１０４に進み、ローカルベクトルＬＶ（ｎ）を処理対象とする。即ち現フレームタイミングでローカルベクトル取得部５１に取り込まれている各領域ＡＲ１〜ＡＲ２０のローカルベクトルＬＶ１〜ＬＶ２０のうちで、ローカルベクトルＬＶ（ｎ）＝ＬＶ１を、領域毎比較部５３での処理対象とする。
【００８９】
制御部３０はステップＦ１０５では、処理対象としたローカルベクトルＬＶ（ｎ）の情報に付加されている信頼度の情報を確認する。当該ローカルベクトルＬＶ（ｎ）が高信頼度であれば、ステップＦ１０６に進む。一方、当該ローカルベクトルＬＶ（ｎ）が低信頼度であれば、ステップＦ１０９に進む。
【００９０】
ローカルベクトルＬＶ（ｎ）が高信頼度であった場合、ステップＦ１０６で制御部３０は、領域ＡＲ（ｎ）のローカルベクトルＬＶとグローバルベクトルＧＶの差分として、内積Ｓ（ｎ）＝ＧＶ＊ＬＶ（ｎ）を算出する。「＊」はベクトル内積演算を表す。
従ってｎ＝１の時点では、まず領域ＡＲ１について、内積Ｓ１＝ＧＶ＊ＬＶ１の演算を行うことになる。
図７，図８で説明したように、内積は、ローカルベクトルＬＶとグローバルベクトルＧＶの差分に相当する。
【００９１】
ステップＦ１０７で制御部３０は、｜Ｓ（ｎ）｜＞Ｔｈの判断を行う。即ち求めた内積の値（ベクトルの類似度を示すベクトル差分に相当する値）が所定範囲内であるか否かを判定する。
この「Ｔｈ」は、図７、図８に示した閾値Ｔｈ＋、Ｔｈ−を表す。この場合、閾値Ｔｈ＋、Ｔｈ−は、０を中心として正負で絶対値が同じ値であるとしている。
従って｜Ｓ（ｎ）｜＞Ｔｈの判断は、内積Ｓ（ｎ）が閾値Ｔｈ＋〜閾値Ｔｈ−の範囲を越えているか否かを判定する処理となる。言い換えれば、処理対象のローカルベクトルＬＶ（ｎ）が、グローバルベクトルＧＶと非類似であるか否かの判断となる。
【００９２】
｜Ｓ（ｎ）｜＞Ｔｈであれば、制御部３０はステップＦ１０８にすすみ、ベクトル非類似フラグＦ（ｎ）＝１（＝「Ｈ」）とする。
｜Ｓ（ｎ）｜＞Ｔｈでなければ、制御部３０はステップＦ１０９にすすみ、ベクトル非類似フラグＦ（ｎ）＝０（＝「Ｌ」）とする。
なお、上記のステップＦ１０５でローカルベクトルＬＶ（ｎ）が低信頼度と判定された場合も、ステップＦ１０９にすすみ、ベクトル非類似フラグＦ（ｎ）＝０（＝「Ｌ」）とする。
この処理で、例えばｎ＝１の時点では、領域ＡＲ１についてのベクトル非類似フラグＦ１が処理される。
つまりローカルベクトルＬＶ１がグローバルベクトルＧＶに類似しているか、或いはローカルベクトルＬＶ１の信頼度が低い場合にベクトル非類似フラグＦ１＝０とする。
一方、ローカルベクトルＬＶ１が信頼度が高いと判断されるものであって、かつグローバルベクトルＧＶと非類似と判定される場合、ベクトル非類似フラグＦ１＝１とする。
【００９３】
続いてステップＦ１１０で制御部３０は、ベクトル非類似フラグＦ（ｎ）、例えば領域ＡＲ１のベクトル非類似フラグＦ１が「１」であるか「０」であるかによりカウントオフセット値ＯＦＳを設定する。
例えば制御部３０は、ベクトル非類似フラグＦ（ｎ）＝１であればステップＦ１１１でカウントオフセット値ＯＦＳ＝αとする。αはカウンタをインクリメントする所定値である。例えばα＝１とする。
また制御部３０は、ベクトル非類似フラグＦ（ｎ）＝０であればステップＦ１１２でカウントオフセット値ＯＦＳ＝βとする。βはカウント値をキープ、又はカウント値をデクリメントするための所定値である。カウント値をキープする場合は、β＝０とする。カウンタをデクリメントする場合は、例えばβ＝−１とする。
【００９４】
そしてステップＦ１１３で制御部３０は、時間的安定度を算出する。具体的には時間的安定度を示すカウンタＣＮＴ（ｎ）の計数処理を、ＣＮＴ（ｎ）＝ＣＮＴ（ｎ）＋ＯＦＳとして行う。
上記のステップＦ１１１，Ｆ１１２でα＝１、β＝０とされて、オフセット値ＯＦＳが設定される場合、ベクトル非類似フラグＦ（ｎ）＝１であればカウンタＣＮＴ（ｎ）の値はインクリメントされる。ベクトル非類似フラグＦ（ｎ）＝０のときはカウンタＣＮＴ（ｎ）の値はキープされる。
また上記のステップＦ１１１，Ｆ１１２でα＝１、β＝−１とされて、オフセット値ＯＦＳが設定される場合、ベクトル非類似フラグＦ（ｎ）＝１であればカウンタＣＮＴ（ｎ）の値はインクリメントされ、ベクトル非類似フラグＦ（ｎ）＝０であればカウンタＣＮＴ（ｎ）の値はデクリメントされる。
【００９５】
そしてステップＦ１１４で制御部３０は、カウンタＣＮＴ（ｎ）の値が所定時間Ｔｊを越えているか否かを判断し、越えていればステップＦ１１５で時間安定度判定フラグＪ（ｎ）＝１とする。また越えていなければステップＦ１１６で時間安定度判定フラグＪ（ｎ）＝０とする。
【００９６】
そしてステップＦ１１７で変数ｎをインクリメントしてステップＦ１０３に戻る。
これまでは、変数ｎ＝１であって、領域ＡＲ１についてローカルベクトルＬＶ１とグローバルベクトルＧＶを比較し、その結果によりベクトル非類似フラグＦ１の処理及びカウンタＣＮＴ１の処理、さらにはカウンタＣＮＴ１のカウント値に応じた時間安定度判定フラグＪ１の処理を行ったことになった。
続いては変数ｎ＝２であることから、ステップＦ１０４〜Ｆ１１６で制御部３０は、領域ＡＲ２についてローカルベクトルＬＶ２とグローバルベクトルＧＶを比較し、その結果によりベクトル非類似フラグＦ２の処理及びカウンタＣＮＴ２の処理、さらにはカウンタＣＮＴ２のカウント値に応じた時間安定度判定フラグＪ２の処理を行うこととなる。
【００９７】
このような処理を領域ＡＲ２０まで順次行う。領域ＡＲ２０までの処理を終えた時点で、現在のフレームにおける各領域ＡＲ１〜ＡＲ２０についての処理がおわり、その際、ステップＦ１０３ではｎ≦Ｎ（Ｎ＝２０）ではなくなるため、制御部３０はステップＦ１１８に進む。
このステップＦ１１８で制御部３０は、時間安定度判定フラグＪ（ｎ）＝１となっているものが有るか否かを判定する。時間安定度判定フラグＪ１〜Ｊ２０が全て「０」であれば、制御部３０はステップＦ１０１に戻り、次のフレームに関して、ステップＦ１０１〜Ｆ１１７の処理を実行していくことになる。
【００９８】
図６〜図８で説明したように時間安定度判定フラグＪ（ｎ）とは、継続的に所定時間、又は累積的に所定時間、又は単位時間内に平均的に、ベクトル非類似フラグＦ（ｎ）＝１となる条件が満たされたときに、１（＝Ｈ）とされる。
この図９の処理例では、累積的又は平均的にベクトル非類似フラグＦ（ｎ）＝１となる条件が満たされたときに、時間安定度判定フラグＪ（ｎ）＝１とする例としている。
つまりカウンタＣＮＴ（ｎ）の値はベクトル非類似フラグＦ（ｎ）＝１のときにインクリメントされ、ベクトル非類似フラグＦ（ｎ）＝０の際にキープされるものとすれば、ベクトル非類似フラグＦ（ｎ）＝１の状態が累積的に所定時間Ｔｊに達した場合に、時間安定度判定フラグＪ（ｎ）＝１となる。
また、カウンタＣＮＴ（ｎ）の値はベクトル非類似フラグＦ（ｎ）＝１のときにインクリメントされ、ベクトル非類似フラグＦ（ｎ）＝０の際にデクリメントされるものとすれば、ベクトル非類似フラグＦ（ｎ）＝１の状態が平均的に所定時間Ｔｊに達した場合に、時間安定度判定フラグＪ（ｎ）＝１となる。
【００９９】
なお、継続的に所定時間、ベクトル非類似フラグＦ（ｎ）＝１となっている条件が満たされたときに、時間安定度判定フラグＪ（ｎ）＝１とされるようにする場合は、図９の処理を多少変形すればよい。
即ち、ステップＦ１０８でベクトル非類似フラグＦ（ｎ）＝１とされた場合には、カウンタＣＮＴ（ｎ）をインクリメントし、ステップＦ１０９でベクトル非類似フラグＦ（ｎ）＝０とされた場合には、カウンタＣＮＴ（ｎ）をリセットすればよい。すると、ベクトル非類似フラグＦ（ｎ）＝１の状態が継続的に所定時間Ｔｊに達した場合に、時間安定度判定フラグＪ（ｎ）＝１となる。
なお、以上の累積判断、平均判断、継続判断の場合では、それぞれ所定時間Ｔｊに相当する具体的な判断値は異なることが適切である。
【０１００】
複数フレームにわたってステップＦ１０１〜Ｆ１１７の処理が行われていくことで、或る時点で、１又は複数の領域ＡＲについて、時間安定度判定フラグＪ（ｎ）＝１となることがある。ユーザが或る被写体を目的としてある程度の時間、撮像画像内に安定して捉えているような場合である。
そのような場合、制御部３０はステップＦ１１８からステップＦ１２０に進み最終判定処理を行う。
【０１０１】
そして制御部３０（最終判定部５４）は、最終判定処理として時間安定度判定フラグＪ（ｎ）＝１となっている領域の画像から主要被写体判定を行い、ステップＦ１３０で主要被写体情報Ｄｍを出力する。
以上で主要被写体判定処理が完了することになる。
【０１０２】
ステップＦ１２０の最終判定処理としては、図１０Ａ、図１０Ｂのような処理が考えられる。
図１０Ａの処理例は、各領域ＡＲ１〜ＡＲ２０のうち、ローカルベクトルＬＶ（ｎ）が、グローバルベクトルＧＶに対して安定的に非類似と判定される領域の検出結果、即ち時間安定度判定フラグＪ（ｎ）をそのまま用いて主要被写体を判定する処理例である。
制御部３０はステップＦ１２１で、時間安定度判定フラグＪ（ｎ）＝１の領域の画像を抽出する。例えば該当領域内の全体の画像をそのまま抽出してもよいし、該当領域内の画像の画像解析処理により認識される顔画像、人体画像、犬画像、猫画像などを抽出してもよい。
また領域を越えた画像解析処理により、該当領域内に限らず、複数の領域にまたがる被写体画像として顔画像等を抽出するようにしてもよい。
さらに、１つの領域内で、複数の顔が検出される場合など、複数の画像を抽出するようにしてもよい。
そして制御部３０はステップＦ１２２で、抽出した画像を主要被写体と設定する。
【０１０３】
この処理によれば、１又は複数の領域について、時間安定度判定フラグＪ（ｎ）＝１とされることにより、その１又は複数の領域の画像として、１または複数の主要被写体が設定されることとなる。
【０１０４】
次に図１０Ｂの処理例は、各領域ＡＲ１〜ＡＲ２０のうち、ローカルベクトルＬＶ（ｎ）が、グローバルベクトルＧＶに対して安定的に非類似と判定される領域の検出結果、即ち時間安定度判定フラグＪ（ｎ）＝１とされた領域のうち、選択された領域の画像を主要被写体と判定する処理例である。
制御部３０はステップＦ１２１で、時間安定度判定フラグＪ（ｎ）＝１の領域の画像を抽出する。図１０Ａの場合と同様、例えば該当領域内の全体の画像を抽出してもよいし、該当領域内で認識される顔画像、人体画像、犬画像、猫画像などを抽出してもよい。この場合も、他の領域にまたがる画像抽出や、１領域内での複数の画像抽出もあり得る。
【０１０５】
ステップＦ１２３で制御部３０は、複数の画像が抽出されたかを判断する。
複数の画像が抽出される場合とは、時間安定度判定フラグＪ（ｎ）＝１の領域が複数あって、それぞれの領域から異なる画像が抽出された場合や、時間安定度判定フラグＪ（ｎ）＝１の領域が１つであっても、その領域から複数の画像が抽出されたような場合である。
抽出画像が１つであれば、制御部３０はステップＦ１２６に進み、抽出した画像を主要被写体と設定する。
一方、抽出画像が複数であれば、制御部３０はステップＦ１２４に進む。そして、抽出した各画像のうち、画面中央に最も近い画像を選択する。例えば画面上をｘ，ｙ座標として、抽出した各画像の重心座標を求め、その重心座標と画面上の中心座標の距離を判定し、距離が最も短い画像を選択する。
そしてステップＦ１２５で制御部３０は、選択した画像を主要被写体と設定する。
【０１０６】
この処理によれば、１又は複数の領域について、時間安定度判定フラグＪ（ｎ）＝１とされることにより、その１又は複数の領域の画像のうちから、画面上の位置状態に応じて、１つの主要被写体が設定されることとなる。
なお、複数の画像に対するステップＦ１２４の選択手法は多様に考えられる。例えば画面上の中心位置ではなく、中心以外の特定の位置、或いはユーザの指定位置などとの距離で選択を行ってもよい。
また、位置状態ではなく、抽出画像のサイズ（最も大きい／最も小さい等）、フォーカス状態、画像のコントラストなどを条件として、選択を行ってもよい。
【０１０７】
以上、第１の実施の形態では、制御部３０（主要被写体判定部３０ａ）は、ローカルベクトルＬＶとグローバルベクトルＧＶの比較により、画面上の各領域ＡＲ１〜ＡＲ２０のうち、ローカルベクトルＬＶがグローバルベクトルＧＶに対して非類似と判定される領域の検出結果に基づいて主要被写体を判定する。
画像全体の動きを示すグローバルベクトルＧＶは、撮像時の撮像装置１０と、画像に現れている被写体全体の間の相対的な動きとなる。一方、画像中の各領域ＡＲ１〜ＡＲ２０の動きを示すローカルベクトルＬＶ（ｎ）は、撮像時の撮像装置１０と、画像に現れる各被写体（画像内の各領域毎の被写体）の相対的な動きとなる。
例えばユーザが、撮像装置を構えて撮像のターゲットとしたい被写体を狙う場合、当該被写体の動きに合わせて撮像方向を変えていく。従って、ユーザが主要被写体と考えている被写体は、複数フレームにわたる画像内で、撮像装置との相対的な動きが小さいものとなる。つまりその被写体が現れている画像内の領域のローカルベクトルは、グローバルベクトルと異なる。
特にユーザが撮像方向についてパンニング、チルティング等をしている場合、グローバルベクトルＧＶは大きくなる一方で、目的としている被写体が写された領域のローカルベクトルＬＶは小さくなる。
このようなローカルベクトルとグローバルベクトルの差異によって、ユーザが主要或いは主役と考えている被写体を推定することができ、これにより自動的な主要被写体判定が可能となる。
【０１０８】
そしてこのように撮像画像内で自動的に主要被写体が判定されるため、撮像者等のユーザが、主要被写体を選択する行為を行う必要は無い。従ってユーザの操作性、利便性を向上できる。撮像装置１０を手に持って撮像を行う場合の操作性の向上、ユーザストレスの低減、さらには自動的な主要被写体判定に応じた各種機能の実現という製品付加価値向上を実現できる。
【０１０９】
また第１の実施の形態では、ローカルベクトルＬＶがグローバルベクトルＧＶに対して非類似と判定される領域として、特には所定の時間条件で、継続的又は累積的又は平均的という意味で安定的に非類似と判定される領域の検出結果に基づいて主要被写体を判定する。
時間条件を用いて、安定的にローカルベクトルＬＶとグローバルベクトルＧＶが非類似という結果に基づいて主要被写体判定を行うことで、その判定確度を高めることができる。
【０１１０】
また第１の実施の形態では、ローカルベクトルＬＶの情報が高信頼度とされた領域のうちで、ローカルベクトルＬＶがグローバルベクトルＧＶに対して非類似と判定される領域の検出結果に基づいて主要被写体を判定する。つまりステップＦ１０５でローカルベクトルＬＶの信頼度を判断して、ベクトル非類似フラグＦ（ｎ）の処理に反映させている。
これにより、信頼度の低いローカルベクトルＬＶについては、ローカルベクトルＬＶとグローバルベクトルＧＶの非類似の判定から除外でき、結果として主要被写体判定精度を高めることができる。
【０１１１】
また主要被写体判定部３０ａは、各領域のうち、ローカルベクトルＬＶが、グローバルベクトルＧＶに対して非類似と判定された領域の画像、例えば該当領域の全体の画像や該当領域から抽出された画像について、主要被写体と判定する。
例えば該当領域から主要被写体とされうる画像、例えば顔画像等を抽出することで、領域の分割設定やサイズ等に関わらず、適切に主要被写体画像を抽出し、主要被写体判定を行うことができる。
さらには、１又は複数の該当領域から抽出された画像の全部を主要被写体とすることや、選択した１つの画像を主要被写体とすることができ、主要被写体情報Ｄｍを受け渡すアプリケーション等に応じた主要被写体判定が可能となる。
【０１１２】
なお、実施の形態では、ローカルベクトルＬＶがグローバルベクトルＧＶに対して非類似である領域から主要被写体を設定したが、非類似の条件として、グローバルベクトルＧＶが大きく、ローカルベクトルＬＶが小さいと検出される場合において、ローカルベクトルＬＶがグローバルベクトルＧＶに対して非類似と判定される領域ということを追加してもよい。
例えばパン、チルト、或いはランダムな動きとしてユーザが目的の被写体を追って撮像方向を変化させているときは、グローバルベクトルＧＶは大きくなる。一方、目的の被写体に対してユーザが撮像方向を変化させているため、当該被写体を含む領域のローカルベクトルＬＶは小さくなる。
このような状況に限定して主要被写体判定を行うとする場合、ＧＶ＞ＬＶという条件判断を加えて、ステップＦ１０８，Ｆ１０９のベクトル非類似フラグＦ（ｎ）の処理を行うようにすればよい。
つまり、ＧＶ＞ＬＶのときにステップＦ１０７で｜Ｓ（ｎ）｜＞Ｔｈであれば、ステップＦ１０８でベクトル非類似フラグＦ（ｎ）＝１とする。
一方、ＧＶ＜ＬＶであるか、或いは｜Ｓ（ｎ）｜＞Ｔｈでなければ、ステップＦ１０９でベクトル非類似フラグＦ（ｎ）＝０とする。
【０１１３】
但し、逆に撮像装置１０が静止状態などで、グローバルベクトルＧＶが小さいときに大きなローカルベクトルＬＶの領域から主要被写体を選ぶという処理も想定される。その意味では、非類似の条件として、グローバルベクトルＧＶが大きく、ローカルベクトルＬＶが小さいとする条件は入れないことが適切となる。
さらには、非類似の条件として、グローバルベクトルＧＶが小さく、ローカルベクトルＬＶが大きいと検出される場合に条件を絞って、ローカルベクトルＬＶがグローバルベクトルＧＶに対して非類似と判定されるようにすることも考えられる。
【０１１４】
また上記のようなベクトル比較に基づく主要被写体判定処理としての具体的処理例は他に多様に考えられる。
例えば所定の時間条件で、継続的又は累積的又は平均的という意味で安定的に非類似と判定される領域を検出しているが、時間的に判定の重みを変化させてもよい。
例えば図９のステップＦ１１１，Ｆ１１２で設定するオフセット値ＯＦＳに代入する値α、βを、処理の進行に伴って変化させる。
一般に撮像者が被写体を狙ってカメラを構える場合、最初は主役としたい被写体を画像中央などの所望の位置にとらえられず、撮像者が徐々にカメラの向きを調整していく。このことを考慮すると、最初は、撮像者が「主要被写体」と念頭においている被写体は、画像内での位置（領域）が不安定である。その後、時間が進むにつれ徐々に所望の位置にとらえられるようになる。
従って、主要被写体判定処理の実行中に、時間が進むほど、グローバルベクトルＧＶとは動きの異なる被写体の領域の判定の重みを強くする（即ちステップＦ１１１のα値を徐々に大きくする）ことは、撮像者の考えに合致した主要被写体判定ができる可能性を高めることになる。
【０１１５】
また、一定の主要被写体判定期間を設定し、その期間内に、時間安定度のカウンタＣＮＴ（ｎ）の値が最も大きい領域ＡＲ、或いは所定以上の値の１又は複数の領域ＡＲを、ステップＦ１２０の最終判定処理の対象として主要被写体と判定する処理例も考えられる。
【０１１６】
＜５．第２の実施の形態＞
第２の実施の形態を説明する。第２の実施の形態は、撮像装置１０の撮像方向として動きがある場合（撮像方向変動中）には、第１の実施の形態のようにベクトル比較に基づく主要被写体判定を行う。一方、撮像装置１０の撮像方向が静止又はあまり動いていない場合には、画像データ内から抽出した候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、候補画像のうちで主要被写体を判定する処理を行う例である。
【０１１７】
第２の実施の形態における主要被写体判定部３０ａの機能構成を図１１に示す。
主要被写体判定部３０ａは、例えばソフトウエアによる機能構成として図１１に示すようにローカルベクトル取得部５１、グローバルベクトル取得部５２、領域毎比較部５３、最終判定部５４、位置状態判定部５５、安定存在度算出部５６、動作状態判定部５７を備える。
【０１１８】
ローカルベクトル取得部５１、動きベクトル検出部２７、領域毎比較部５３は第１の実施の形態の図４と同様の機能である。
位置状態判定部５５、安定存在度算出部５６は、安定存在度判定モードとしての主要被写体判定処理を行うための機能である。
位置状態判定部５５は、図３に示した候補検出部２８から候補画像情報を受け取る。そして候補画像情報で示される候補画像について、画角空間内における位置状態を判定する。
安定存在度算出部５６は、位置状態判定部５５で判定された、各フレームでの候補画像の位置状態から、各候補画像についての、複数フレームにわたる画像データ内での安定存在度を求める。
【０１１９】
動作状態判定部５７は、現在の撮像装置１０の動作状態を判定する。つまり撮像装置１０の撮像方向として動きがある撮像方向変動中か、或いは撮像装置１０の撮像方向が静止又はあまり動いていない状態であるかを、例えばセンサ部１４からの角速度、加速度検出値から判定する。
最終判定部５４は領域毎比較部５３の比較結果、又は安定存在度算出部５６からの安定存在度の算出結果に基づいて、主要被写体の最終的な判定を行い、主要被写体情報Ｄｍを出力する。
【０１２０】
このような機能構成の主要被写体判定部３０ａにより実行される処理を説明していく。
制御部３０（主要被写体判定部３０ａの動作状態判定部５７）は、例えば図１２の処理を継続的又は随時行って、主要被写体判定のためのモード設定を行う。
図１２のステップＦ１５０で制御部３０は、撮像方向変動中であるか否かを判断する。この判断は、センサ部１４からの角速度や加速度の検出値が所定量以内であるかで行えばよい。
【０１２１】
撮像方向変動中、即ちユーザが、パンニング、チルティング、又はランダムな動きとして撮像装置１０の撮像方向を変化させている状況が判定された場合は、制御部３０はステップＦ１５１に進み、ベクトル比較判定モードとする。
一方、撮像方向変動中ではない、つまり撮像装置１０が静止している、或いは撮像方向がほぼ一定の微小な動き（例えば手ぶれや、わずかな撮像方向調整など）が検出されるに過ぎない場合は、制御部３０はステップＦ１５２に進み、安定存在度判定モードに設定する。
【０１２２】
制御部３０（主要被写体判定部３０ａ）において主要被写体判定処理が開始される場合には、この図１２の処理によるモード設定に応じて、主要被写体判定のアルゴリズムが選択される。
【０１２３】
或る時点で主要被写体判定処理を開始する際に、ベクトル比較判定モードに設定されていたとすると、制御部３０（主要被写体判定部３０ａ）は、図１１のローカルベクトル取得部５１、グローバルベクトル取得部５２、領域毎比較部５３、最終判定部５４の機能により、上記第１の実施の形態で説明した処理で主要被写体判定を行う。
一方、主要被写体判定処理を開始する際に、安定存在度判定モードに設定に設定されていたとすると、制御部３０（主要被写体判定部３０ａ）は、位置状態判定部５５、安定存在度算出部５６、最終判定部５４の機能により、以下で説明する安定存在度判定モードとしてのアルゴリズムによる主要被写体判定を行う。
【０１２４】
以下では安定存在度判定モードでの主要被写体判定処理を説明する。
なお、安定存在度判定モードの処理では、自動的な主要被写体判定の指標となる値として「安定存在度」を用いる。
この「安定存在度」とは、画角空間（後述）内で或る被写体が位置的に所定の状態にある頻度を示す値である。例えば時間的に高い確度で画像内において所定の位置状態にあるか否かを判定できる指標値である。
つまり主要被写体の候補となる候補画像が、画角空間内の位置状態として、ある所定の位置状態に存在する累積時間や継続時間、或いは平均的存在度等を示す値であり、この「安定存在度」として計算される例えば累積時間や継続時間が高い画像は、撮像者が主として狙っている被写体と推定できるものとしている。
なお上記の「画角空間」とは、撮像画像に表れる空間を意味する。主に撮像画像における画面平面としての２次元空間、又は撮像時のカメラ位置に対する被写体の相対的な距離も含む３次元空間としての意味で用いる。
【０１２５】
撮像装置１０において、制御部３０（主要被写体判定部３０ａ）が実行する安定存在度判定モードでの主要被写体判定処理について説明していく。
安定存在度判定モードでの主要被写体判定処理としての大まかな処理例を図１３で説明し、後に図１４〜図１７で具体的な処理例を説明する。
【０１２６】
図１３に安定存在度判定モードの主要被写体判定処理を示す。
ステップＦ１０で制御部３０（主要被写体判定部３０ａ）は、図３で説明した候補検出部２８からの、或る１つのフレームについての候補画像枠情報を取り込む。
ステップＦ１１で制御部３０は、取り込んだ候補画像枠情報で示される１又は複数の各候補画像枠について、それぞれ画角空間内の位置計算を行って位置状態を判定する。
「位置状態」とは、画像データにおける候補画像の、画角空間内の絶対的又は相対的な位置の状況を総称した言葉とする。
「位置状態」の具体例としては、
・画角空間内の或る判定基準点との相対距離
・画角空間内の或る判定基準領域に対する相対的位置関係や相対距離
・撮像画像の二次元平面内での候補画像の位置
・被写体距離（撮像時のカメラ位置に対する被写体の相対的な距離）
・被写体距離と判定基準点又は判定基準領域との相対位置関係
などがある。
ここでは、位置状態として、画角空間内に設定した判定基準点に対する候補画像の距離を判定するものとして説明する。
【０１２７】
ステップＦ１２で制御部３０は、各候補画像枠について安定存在度を計算する。この場合制御部３０は、安定存在度として、位置状態が所定条件を満たしている累積時間情報を算出する。又は、制御部３０は、安定存在度として、位置状態が継続して所定条件を満たしている継続時間情報を算出する。
なお、安定存在度の算出には、算出の条件として、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を用いることもある。
【０１２８】
ステップＦ１３で制御部３０は、安定存在度を用いて主要被写体を判定する。
ここでステップＦ１３での判定は、主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定する処理である。又は、主要被写体判定期間に、安定存在度の値が最も高い候補画像を、主要被写体と判定する処理である。
また主要被写体の判定には、安定存在度の値に加えて、画角空間内での候補画像の位置情報、又は候補画像のサイズ情報を用いることもある。
【０１２９】
安定存在度の値が所定値に達した候補画像が未だ存在しない時点、あるいは所定の主要被写体判定期間を経過しておらずに、当該期間中での安定存在度の値が最も高い候補画像が未だ選定できない時点では、ステップＦ１３の処理では、まだ主要被写体と判定できない。その場合、制御部３０はステップＦ１４からＦ１０に戻って、各処理を繰り返す。つまり、候補検出部２６で次に処理を行ったフレームの候補画像枠情報を取り込んで、同様の処理を行う。
【０１３０】
或る時点で安定存在度の値が所定値に達した候補画像が発見された場合、あるいは所定の主要被写体判定期間を経過して、当該期間中での安定存在度の値が最も高い候補画像が選定できた時点では、制御部３０はステップＦ１４からＦ１５に進む。そして、ステップＦ１３で判定された候補画像を、主要被写体と設定する。
【０１３１】
なお以上の図１３の主要被写体判定処理は、主要被写体判定を行う期間に、候補画像情報を取り込みながら、判定を実行する処理態様である。
これ以外に、或る期間に候補画像情報の取り込み（バッファリング）を行う。そして当該期間が経過したら、取り込んだ候補画像情報を用いて主要被写体判定を行う処理態様も考えられる。
【０１３２】
続いて、以上の図１３の主要被写体判定処理に相当する、具体的な処理例を説明していく。
以下の具体例では、候補画像枠の位置状態として設定した判定基準点との距離を求める。
また、各候補画像枠について安定存在度としては、位置状態（判定基準点との距離）が所定の閾値以内という条件を満たしている累積時間情報を算出する。
また、主要被写体判定開始から、安定存在度が最も早く所定値に達した候補画像を、主要被写体と判定するものとする。
そこで、まず図１４、図１５、図１６で候補画像枠、判定基準点との距離、安定存在度のそれぞれについて説明する。
【０１３３】
図１４は、図３に示した候補検出部２８で行われる候補画像枠の抽出動作を模式的に示したものである。
図１４には、撮像装置１０の光学系１１，イメージャ１２の動作によりデジタル信号処理部２０に入力される撮像画像信号の各フレームＦＲ１，ＦＲ２，ＦＲ３・・・を示している。候補検出部２８は、このような順次入力される連続した各フレームのそれぞれ（或いは間欠的な各フレームについて）に候補画像の検出を行う。
例えば図示のように、フレームＦＲ１について、３人の人が存在していた場合、それぞれの顔画像部分を候補画像として抽出し、その候補画像枠Ｅ１，Ｅ２，Ｅ３についての候補画像枠情報を出力する。例えば候補画像枠Ｅ１の候補画像枠情報は、例えばこの候補画像枠Ｅ１の画像内での位置情報（ｘ，ｙ位置情報、被写体距離情報）、サイズ情報（枠の幅、高さ、ピクセル数）、属性情報等である。
候補検出部２８は、このような候補画像枠情報を、候補画像枠Ｅ２，Ｅ３についても生成し、制御部３０（主要被写体判定部３０ａ）に受け渡す。
【０１３４】
後続のフレームＦＲ２、ＦＲ３・・・についても同様に、候補検出部２８は候補画像の抽出を行い、それぞれの候補画像枠について、候補画像枠情報を生成して制御部３０（主要被写体判定部３０ａ）に受け渡していく。
【０１３５】
制御部３０は、各フレームの候補画像枠情報を取り込む度に、各候補画像枠について位置状態として、判定基準点との距離を算出する。
図１５Ａに判定基準点ＳＰの例を示している。これは画像中央を判定基準点ＳＰとした例である。判定基準点ＳＰのｘｙ座標値を（Ｃｘ，Ｃｙ）とする。
例えばフレームＦＲ１の時点で、候補画像枠Ｅ１，Ｅ２，Ｅ３のそれぞれの候補画像枠情報が取り込まれた場合、制御部３０は、図示する各候補画像枠Ｅ１，Ｅ２，Ｅ３の重心Ｇから判定基準点ＳＰの距離Diff１、Diff２、Diff３を算出する。
【０１３６】
なお、判定基準点ＳＰが画面中央とされるのは一例である。
例えば図１５Ｂのように、中央よりやや左上方の位置に判定基準点ＳＰを設定してもよい。例えば静止画の構図を考えた場合、このような中央でない位置に主たる被写体を配置するとよい場合が多々考えられるからである。
この図１５Ｂの場合も、各候補画像枠（例えばＥ４，Ｅ５）と判定基準点ＳＰの距離（例えばDiff４、Diff５）を算出するようにする。
【０１３７】
判定基準点ＳＰは、例えば図１５Ａ、図１５Ｂのような位置に固定的に設定していてもよいし、ユーザが表示画面上でのタッチ操作などにより任意に指定できるようにしてもよい。また表示部３４の画面上でユーザにいくつかの判定基準点の候補点を提示し、ユーザが選択できるようにしてもよい。さらには、画像内容、画像解析結果などに応じて制御部３０が構図などを考慮して最適な位置を判定し、自動設定することも考えられる。
即ち判定基準点ＳＰについては、
・画像中央位置、或いは中央よりずれた位置などとして、予め決められた固定的な位置に設定される。
・ユーザが任意に指定する。
・いくつかの候補点をユーザに提示し、ユーザが選択することで設定される。
・制御部３０が画像内容に応じて最適位置を判定し、自動的に可変設定する。
などが考えられる。
【０１３８】
候補画像枠Ｅ（ｎ）についての位置状態としての距離Diff（ｎ）は、各フレームの時点で求めていく。
図１６は、仮に候補画像枠Ｅ１，Ｅ２，Ｅ３が、ある期間継続してフレーム（ＦＲ１，ＦＲ２・・・）内に存在し続けたとして、算出される距離Diff１、Diff２、Diff３の変動の様子を示したものである。
例えば撮像者が撮像装置１０で、ある期間、３人の被写体をとらえていた場合を想定している。３人の各人が、それぞれ動いていたり、或いは撮像者が撮像装置１０の被写体方向を動かしていたり、手ぶれがあるなどにより、時間軸上では、算出される各距離Diff１、Diff２、Diff３は変動している。
【０１３９】
後述の図１７の処理例では、安定存在度とは、判定基準点ＳＰに近い状態の累積時間とする。このため、「近い／近くない」の判定に、距離閾値Thr-diffを用いる。
図１６下部には、距離Diff１、Diff２、Diff３の各時点での、距離閾値Thr-diff以内か否かの判定結果を示している。距離Diff（ｎ）が距離閾値Thr-diff以下であれば、近い＝「１」とされることとする。
この判定結果「１」を各時点で累積加算していったものが処理例１での安定存在度となる。
【０１４０】
判定開始から判定終了までの期間は具体的な処理例によって異なる。後述の図１７の処理例では、距離閾値Thr-diff以下の判定結果「１」の累積加算値は、その時点までの安定存在の度合いを示す累積時間となるが、その累積時間が所定値に達した候補画像が発見された時点が判定終了のタイミングとなる。
例えば図１６の例では、候補画像枠Ｅ３は、継続して「１（＝判定基準点ＳＰに近い）」と判定されるが、この累積加算値が或る所定値に達した時点で、判定が終了され、候補画像枠Ｅ３が主要被写体と判定されることとなる。
【０１４１】
なお、ここでは継続性は問わないとする。例えば図１６における候補画像枠Ｅ２の距離Diff２は、時点によって「１」「０」の判定があるが、あくまでも累積時間であるため、「１」の状況が多く、他の候補画像枠よりも早く累積時間が所定値に達した場合は、候補画像枠Ｅ２が主要被写体と判定されることもあり得る。
但し、もちろん継続性を安定存在度の条件に用いる例も考えられる。
【０１４２】
図１７で制御部３０の安定存在度判定モードでの主要被写体判定処理の具体例を説明する。
制御部３０は、安定存在度判定モードにおいて主要被写体判定処理を開始すると、まずステップＦ４０１でカウント値Cnt（ｍ）＝０とする。
カウント値Cnt（ｍ）は、上述の距離Diffの距離閾値Thr-diffとの比較判定結果の値を加算するカウンタの値である。
【０１４３】
なお「ｍ」は、自然数１，２，３・・・を表し、カウント値Cnt（ｍ）は、候補画像枠Ｅ１，Ｅ２，Ｅ３のように、検出された候補画像枠Ｅ（ｍ）にそれぞれ対応するカウント値としている。例えば３つの候補画像枠Ｅ１，Ｅ２，Ｅ３が検出される場合、カウント値として、Cnt１、Cnt２、Cnt３が用いられる。フローチャートの説明上、カウント値Cnt（ｍ）についての処理とは、例えばCnt１、Cnt２、Cnt３のそれぞれを対象とする処理を示しているものと理解されたい。
また、同様に距離Diff（ｍ）とは、３つの候補画像枠Ｅ１，Ｅ２，Ｅ３の判定基準点ＳＰからの距離Diff１、Diff２、Diff３を総称して表すものとしており、距離Diff（ｍ）についての処理とは、例えば距離Diff１、Diff２、Diff３のそれぞれについての処理という意味で用いている。
【０１４４】
また、候補画像枠Ｅ（ｍ）は候補画像枠Ｅ１，Ｅ２，Ｅ３・・・を表すが、これは複数フレームにわたって、被写体別に区別されることが望ましい。例えば候補検出部２６が顔を抽出する例でいうと、人物Ａ、人物Ｂ、人物Ｃが被写体となっている場合、各フレームにおいて共通に、人物Ａの顔画像部分が候補画像枠Ｅ１、人物Ｂの顔画像部分が候補画像枠Ｅ２、人物Ｃの顔画像部分が候補画像枠Ｅ３というようにされる。もし途中の或るフレームで、人物Ｄのみが被写体に入っている状態になったとしても、人物Ｄの顔画像部分は候補画像枠Ｅ４とされる。従って候補検出部２６は、単に「顔」を検出するのみでなく、個体（個人）判別も行うこととするとよい。
【０１４５】
ステップＦ４０２で制御部３０は、候補検出部２８から或るフレームについての候補画像枠情報を取り込む。例えば各候補画像枠Ｅ（ｍ）について、位置情報として、画像データの二次元（ｘ−ｙ）座標値としてのｘ値、ｙ値や、サイズ情報として候補画像枠の幅ｗ、高さｈの情報を取得する。
なお、候補画像枠情報には被写体距離（上記二次元（ｘ−ｙ）座標平面に直交するｚ軸方向の値で表される、カメラ位置に対する被写体の相対的な距離：ｚ値）やピクセル数等も含まれていてもよい。
【０１４６】
ステップＦ４０３で制御部３０は、各候補画像枠Ｅ（ｍ）について、重心Ｇの座標を算出する。
例えば候補画像枠情報によっては、候補画像枠のｘ，ｙ座標値として、方形の候補画像枠の左上頂点の座標値が与えられるとする。このｘ，ｙ座標値を（E(m)_x，E(m)_y）とする。また図１５に示したように、ｘ，ｙ座標は画面平面の左上を原点Ｏ（ｘ，ｙ座標値が（０，０））とする。
また候補画像枠Ｅ（ｍ）の幅ｗをE(m)_w、高さｈをE(m)_hとする。
そして候補画像枠Ｅ（ｍ）の重心Ｇの座標値を（E(m)_cx，E(m)_cy）とすると、重心Ｇの座標値は、
E(m)_cx＝E(m)_cx＋E(m)_w／２
E(m)_cy ＝E(m)_cy＋E(m)_h／２
として求められる。
【０１４７】
ステップＦ４０４で制御部３０は、各候補画像枠Ｅ（ｍ）の重心Ｇから、判定基準点ＳＰまでの距離Diff（ｍ）を算出する。判定基準点ＳＰの座標値（Ｃｘ，Ｃｙ）として、
Diff（ｍ）＝√｛（E(m)_cx−Ｃｘ）2＋（E(m)_cy−Ｃｙ）2｝
で求められる。
【０１４８】
ステップＦ４０５、Ｆ４０６，Ｆ４０７では、制御部３０は各候補画像枠Ｅ（ｍ）が距離Diff（ｍ）に関して所定の条件を満たしているか否かを確認する。
即ち判定基準点ＳＰまでの距離Diff（ｍ）が、判定基準点ＳＰに近いか近くないかを、距離閾値Thr-diffを用いて判定する。
このため制御部３０はステップＦ４０５で、各候補画像枠Ｅ（ｍ）の判定基準点ＳＰまでの距離Diff（ｍ）と距離閾値Thr-diffを比較し、Diff（ｍ）＜Thr-diffであればステップＦ４０６でフラグＦｌｇ（ｍ）＝１（近い）とする。またDiff（ｍ）＜Thr-diffでなければステップＦ４０７でフラグＦｌｇ（ｍ）＝０（近くない）とする。
【０１４９】
次にステップＦ４０８，Ｆ４０９で制御部３０は、各候補画像枠Ｅ（ｍ）の安定存在度を算出する。この場合、ステップＦ４０８で、各候補画像枠Ｅ（ｍ）について、フラグＦｌｇ（ｍ）＝１であるか否かを確認し、フラグＦｌｇ（ｍ）＝１であれば、ステップＦ４０９でカウント値Cnt（ｍ）をインクリメント（＋１加算）する。フラグＦｌｇ（ｍ）＝０の場合は、カウント値Cnt（ｍ）は変更しない。
このカウント値Cnt（ｍ）は、上述した累積加算値としての安定存在度の値となる。つまり、候補画像枠Ｅ（ｍ）が判定基準点ＳＰに「近い」状態の頻度を表す値となる。
【０１５０】
次にステップＦ４１０で制御部３０は、各候補画像枠Ｅ（ｍ）のカウント値Cnt（ｍ）が、カウント閾値ＣＴｔｈｒに達しているか否かを確認する。
Cnt（ｍ）≧ＣＴｔｈｒでなければ、つまり各候補画像枠Ｅ（ｍ）のカウント値Cnt（ｍ）のいずれもが、カウント閾値ＣＴｔｈｒに達していなければ、ステップＦ４０２に戻る。この場合、次のフレームについて入力される候補画像枠情報に基づいて、ステップＦ４０２以降の処理を上記同様に実行していく。
【０１５１】
安定存在度による主要被写体判定は、或る時間長をもって判定されるため、ある程度の時間（フレーム数）での候補画像枠情報についての処理を経なければ、上記のようにステップＦ４１０からステップＦ４０２に戻って処理が繰り返される。
【０１５２】
ここで、例えば図１６で示したように或る候補画像枠Ｅ３が、非連続的でもよいが、複数のフレームのうちで高い頻度で、撮像画像上で判定基準点ＳＰに近い位置に存在する状況があったとする。すると時間が進むにつれ、候補画像枠Ｅ３のカウント値Cnt３のステップＦ４０９でのインクリメントの機会が多く発生し、カウント値Cnt３が、カウント値Cnt１、Cnt２よりも早く進む。
すると或る時点で、カウント値Cnt３がカウント閾値ＣＴｔｈｒに最初に到達することとなる。
このような場合、制御部３０は処理をステップＦ４１０からＦ４２０に進める。
【０１５３】
ステップＦ４２０で制御部３０は、カウント値Cnt（ｍ）がカウント閾値ＣＴｔｈｒに達した候補画像枠Ｅ（ｍ）を主要被写体と判定し、主要被写体設定を行う。
そしてステップＦ４３０で制御部３０は主要被写体情報Ｄｍを出力して、主要被写体判定処理を終える。
【０１５４】
以上の図１７の処理例によれば、ユーザが主として撮像したい被写体を、なるべく画像中央などの判定基準点ＳＰに近い状態になるように、撮像装置１０を構える（被写体を追う）ことによって、当該被写体が主要被写体として自動的に判定されることとなる。
特にこの安定存在度判定モードでの主要被写体判定処理は、判定基準点ＳＰに「近い」状態の累積時間で安定存在度を判定している。動いている状況の被写体、或いは動物等の動きの早い被写体の場合、撮像者はある程度の時間（例えば数秒程度でも）、主としたい被写体を継続して画像中央に捕らえることは難しい場合がある。また撮像者の撮像技量によっては、手ぶれが激しいなどにより、なかなかとりたい被写体を画像中央に維持できないといったこともある。このような場合であっても、累積時間を用いることで、比較的迅速に主要被写体判定が可能となる。
従って動きの速い被写体を対象とする場合や、比較的不慣れなユーザにとっても好適となる。
また、主要被写体判定処理は、一定時間を必ず行うものではなく、主要被写体が判定された時点で処理は終了されるため、被写体や撮像者の技量によっては、迅速に主要被写体判定が為されるといった利点もある。
【０１５５】
なお、安定存在度判定モードでの主要被写体判定処理としての具体的処理例は他に多様に考えられる。
例えば各候補画像枠について安定存在度としては、位置状態（判定基準点との距離）が所定の閾値以内という条件を継続して満たしている継続時間情報を算出するようにしてもよい。継続時間によって安定的な存在かどうかを評価すると、動きの少ない被写体を対象とする場合、容易に画像中央等に継続して対象被写体をとらえることができるため、ユーザの望む主要被写体を正確に設定できる可能性が高い。また撮像者の技量によっては、主としてとりたい被写体を継続して画面中央等（判定基準点ＳＰに近い位置）に維持できるため、正確に撮像者の希望の被写体を主要被写体と判定できる確率が高い。つまり、撮像技能の上級者や、被写体によっては、よりユーザの望む被写体を主要被写体と判定できる可能性を高くできる。
【０１５６】
また安定存在度の算出に、重み付けを行ってもよい。例えば主要被写体判定処理の実行期間の後の時点ほど、判定基準点ＳＰに近いことの価値を重くするなどである。
一般に撮像者が被写体を狙ってカメラを構える場合、最初は主役としたい被写体を画像中央などの所望の位置にとらえられず、撮像者が徐々にカメラの向きを調整していく。このことを考慮すると、最初は、撮像者が「主要被写体」と念頭においている被写体は、時間が進むにつれ徐々に画像中央にとらえられるようになる。
従って、主要被写体判定処理の実行中に、時間が進むほど、判定基準点ＳＰに近いということの価値を重くすることは、撮像者の考えに合致した主要被写体判定ができる可能性を高めることになる。
【０１５７】
また安定存在度の算出について、距離Diff（ｍ）が距離閾値Thr-diff以下であるかの条件以外にも条件を加えることも考えられる。例えば被写体距離が所定範囲内であること、サイズが所定範囲内であること、特定の画像種別であること、などを条件に加えても良い。
【０１５８】
また、一定の主要被写体判定期間を設定し、その期間内に、安定存在度の値が最も高い候補画像を、主要被写体と判定する処理例も考えられる。
【０１５９】
また、上述の処理例では、候補画像枠の位置状態としては、設定した判定基準点との位置関係としたが、判定基準領域との位置関係としてもよい。
例えば画像中央などの正方形や円形等の領域を設定し、それを判定基準領域とする。各候補画像枠Ｅ（ｍ）の判定基準領域との位置関係とは、例えば、
・重心が判定基準領域に入っているか否か
・全体が判定基準領域に入っているか否か
・少なくとも一部が判定基準領域に入っているか否か
・判定基準領域の外縁との距離が所定以内か否か
などとする。
このような位置関係の条件で、安定存在度を求めることもできる。
【０１６０】
また、各候補画像枠について安定存在度としては、位置状態（例えば判定基準点との距離）の平均値（平均距離）を算出するようにしてもよい。平均距離は、時間的にみて高い頻度で判定基準点に近い位置状態にあることを示す指標となる。例えば「平均距離の値が小さい」ということは、上述した処理例でいう「累積時間が長い」ことと同様の意味となる。そして、平均距離が最も小さく、かつこれが所定の閾値以内という条件を満たしている候補画像枠を主要被写体と判定することもできる。
【０１６１】
以上の第２の実施の形態では、制御部３０（主要被写体判定部３０ａ）は、撮像方向変動中に相当する画像データについては、グローバルベクトルＧＶに対して非類似と判定されるローカルベクトルＬＶを持つ領域に基づいて主要被写体を判定する。
そして撮像方向変動中以外に相当する画像データを主要被写体判定処理の対象とする際には、画像データ内から抽出した候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、候補画像のうちで主要被写体を判定する。
【０１６２】
つまり撮像装置１０自体の動きがあるときとないときで主要被写体判定のアルゴリズムを切り換えるようにしている。
例えばパンニング中、チルティング中など、撮像方向変動中は、或る目的の被写体、特に動いている被写体を追っている場合の可能性が高く、そのような場合、特に動きベクトルを用いた主要被写体判定が適切である。
ところが撮像装置１０自体が静止しているときや、ユーザが撮像装置１０をあまり撮像方向を変化させずに構えている状況などは、ユーザが狙っている主要被写体は、あまり動いていないと推定される。このような場合、その目的の被写体の画像上の領域のローカルベクトルＬＶと、グローバルベクトルＧＶの差が明確でなくなることがある。そこで、そのような場合は、主要被写体判定のアルゴリズムを安定存在度判定モードの処理に切り換える。安定存在度判定モードの処理は、上述の説明からわかるように位置状態の安定性を指標とするため、静止している被写体に対して主要被写体判定をすることに適している。
つまり第２の実施の形態によれば、撮像装置１０の状況に応じて、適切な主要被写体判定処理が実行され、より適切な主要被写体判定が実現される。
【０１６３】
＜６．第３の実施の形態＞
第３の実施の形態を説明する。第３の実施の形態は、ベクトル比較判定モードと同様の処理で、主要被写体の候補となる領域を求め、それに基づいて候補画像を設定し、候補画像を用いて、安定存在度判定モードと同様の処理で主要被写体判定を行うものである。
【０１６４】
第３の実施の形態における主要被写体判定部３０ａの機能構成を図１８に示す。
主要被写体判定部３０ａは、例えばソフトウエアによる機能構成として図１８に示すようにローカルベクトル取得部５１、グローバルベクトル取得部５２、領域毎比較部５３、最終判定部５４、位置状態判定部５５、安定存在度算出部５６、候補検出部５８を備える。
【０１６５】
ローカルベクトル取得部５１、動きベクトル検出部２７、領域毎比較部５３は第１の実施の形態の図４と同様の機能である。
但し領域毎比較部５３の検出結果は、候補検出部５８に受け渡される。候補検出部５８は、図３に示した候補検出部２８と同様の機能である。ここでは候補検出部５８は制御部３０内の機能として示しているが、図３のようにデジタル信号処理部２０における候補検出部２８として構成されてもよい。
【０１６６】
位置状態判定部５５、安定存在度算出部５６は、安定存在度判定モードとしての主要被写体判定処理を行うための機能であり、図１１で説明したものと同様である。位置状態判定部５５は候補検出部２８から候補画像枠情報を受け取る。そして安定存在度算出部５６は、各候補画像枠情報で示される候補画像について安定存在度を算出する。
最終判定部５４は、安定存在度算出部５６の処理結果に基づいて主要被写体判定を行う。
【０１６７】
この第３の実施の形態の主要被写体判定処理を図１９に示す。
制御部３０（主要被写体判定部３０ａ）は、まずステップＦ１００としてベクトル比較判定処理を行う。
このベクトル比較判定処理とは図９に一点鎖線で囲ったステップＦ１０１〜Ｆ１１８の処理である。重複説明は避けるが、このベクトル比較判定処理により、ローカルベクトルＬＶが、グローバルベクトルＧＶに対して安定的に非類似と判定される領域の情報、つまり時間安定度判定フラグＪ（ｎ）の情報が得られる。
【０１６８】
ステップＦ２００では制御部３０は、候補検出部５８としての機能により、時間安定度判定フラグＪ（ｎ）＝１の領域ＡＲから画像を抽出する。
例えば制御部３０は、時間安定度判定フラグＪ（ｎ）＝１とされた領域ＡＲの画像について顔画像検出、人体画像検出などを行って画像を抽出する。
顔検出、人体検出等は、撮像画像データに対しての画像解析におけるパターンマッチングの手法などで可能である。パターンマッチングに用いる辞書さえ差し替えることで犬顔検出・猫顔検出などとして画像を抽出してもよい。
また前後のフレームにおける当該領域ＡＲの画像を用い、例えばフレーム差分による動体検出の手法で、動体を検出し、当該動体の画像を抽出することも考えられるし、セイレンシ（Saliency）と呼ばれる注視領域抽出の手法を用いてもよい。画像の抽出、選定の手法は多様に考えられる。
ステップＦ３００では、制御部３０は、このように抽出した１又は複数の画像を、主要被写体の候補となる候補画像（候補画像枠Ｅ（ｍ））とする。
【０１６９】
ステップＦ４００で制御部３０は、位置状態判定部５５及び安定存在度算出部５６としての機能により、上記のように設定された候補画像（候補画像枠Ｅ（ｍ））についての、安定存在度算出処理を行う。このステップＦ４００は、図１７において一点鎖線で囲ったステップＦ４０１〜Ｆ４１０の処理となる。重複説明は避けるが、或る時点でステップＦ４１０から、ステップＦ４２０に進むことになる。
図１９のステップＦ４２０、Ｆ４３０も、図１７のステップＦ４２０，Ｆ４３０と同様である。
つまり図１７で述べた安定存在度のカウント値Cnt（ｍ）がカウント閾値ＣＴｔｈｒに達した候補画像枠Ｅ（ｍ）を主要被写体と判定し、主要被写体設定を行う。
そしてステップＦ４３０で制御部３０は主要被写体情報Ｄｍを出力して、主要被写体判定処理を終える。
【０１７０】
以上のように第３の実施の形態では、制御部３０（主要被写体判定部３０ａ）は、画面を分割した各領域ＡＲ１〜ＡＲ２０のうち、ローカルベクトルＬＶが、グローバルベクトルＧＶに対して非類似と判定された領域の画像を候補画像とする。そして各候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、候補画像のうちで主要被写体を判定する。
このような第３の実施の形態によれば、ベクトル比較判定処理で、大まかに主要被写体の候補を検出し、その後、候補画像の中から、安定存在度判定モードの処理で確度の高い主要被写体判定を行うことができる。
ベクトル比較判定処理と安定存在度判定処理の両方を実行することで、高精度な主要被写体判定が実現される。
【０１７１】
＜７．プログラム及びコンピュータ装置への適用＞
以上、画像処理装置１、撮像装置１０の実施の形態を説明してきたが、上述した主要被写体判定処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。
【０１７２】
実施の形態のプログラムは、上述の実施の形態で示した処理を、例えばＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）等の演算処理装置に実行させるプログラムである。
即ちこのプログラムは、画像全体の動きを示すグローバル動きの情報を取得し、画像中の各領域の動きを示すローカル動きの情報を取得し、グローバル動きとローカル動きとを比較した結果に基づいて主要被写体を判定する処理を、演算処理装置に実行させるプログラムである。
【０１７３】
具体的には、実施の形態のプログラムは、図２、図９、又は図１９に示した処理を演算処理装置に実行させるプログラムとすればよい。
このようなプログラムにより、上述した主要被写体判定処理を実行する装置を、演算処理装置を用いて実現できる。
【０１７４】
このようなプログラムはコンピュータ装置等の機器に内蔵されている記録媒体としてのＨＤＤや、ＣＰＵを有するマイクロコンピュータ内のＲＯＭ等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＭＯ(Magnet optical)ディスク、ＤＶＤ(Digital Versatile Disc)、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、ＬＡＮ(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
【０１７５】
またこのようなプログラムによれば、実施の形態の画像処理装置の広範な提供に適している。例えばパーソナルコンピュータ、携帯型情報処理装置、携帯電話機、ゲーム機器、ビデオ機器、ＰＤＡ（Personal Digital Assistant）等にプログラムをダウンロードすることで、当該携帯型情報処理装置等を、本開示の画像処理装置とすることができる。
例えば、図２０に示されるようなコンピュータ装置において、図１の画像処理装置１や撮像装置１０における主要被写体判定処理と同様の処理が実行されるようにすることもできる。
【０１７６】
図２０において、コンピュータ装置７０のＣＰＵ７１は、ＲＯＭ７２に記憶されているプログラム、または記憶部７８からＲＡＭ７３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ７３にはまた、ＣＰＵ７１が各種の処理を実行する上において必要なデータなども適宜記憶される。
ＣＰＵ７１、ＲＯＭ７２、およびＲＡＭ７３は、バス７４を介して相互に接続されている。このバス７４にはまた、入出力インターフェース７５も接続されている。
【０１７７】
入出力インターフェース７５には、キーボード、マウスなどよりなる入力部７６、ＣＲＴ（Cathode Ray Tube）やＬＣＤ、或いは有機ＥＬパネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部７７、ハードディスクなどより構成される記憶部７８、モデムなどより構成される通信部７９が接続されている。通信部７９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１７８】
入出力インターフェース７５にはまた、必要に応じてドライブ８０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア８１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部７８にインストールされる。
【０１７９】
上述した主要被写体判定処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１８０】
この記録媒体は、例えば、図２０に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ブルーレイディスク（Blu-ray Disc（登録商標）、CD-ROM（Compact Disc - Read Only Memory）、DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア８１により構成される。或いは、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているＲＯＭ７２や、記憶部７８に含まれるハードディスクなどでも構成される。
【０１８１】
このようなコンピュータ装置７０は、通信部７９による受信動作や、或いはドライブ８０（リムーバブルメディア８１）もしくは記録部７８での再生動作等により、動画データを入力した際に、ＣＰＵ７１がプログラムに基づいて、上述の主要被写体判定部（２，３０ａ）の機能を実行する。即ち図２，図９，図１９のような処理を実行することで、入力された画像データについて自動的に主要被写体判定を行うことができる。
【０１８２】
＜８．変形例＞
上述の実施の形態は、各種の変形例が考えられる。
まずベクトル比較判定処理については、ローカルベクトルＬＶとグローバルベクトルＧＶのベクトル値（方向及び量）を比較したが、方向のみ、或いは量（スカラー）のみを比較する例も考えられる。
方向のみの比較の場合は、例えば、ローカルベクトルＬＶとグローバルベクトルＧＶという２つのベクトルのなす角θが、所定角度以上であるか否かなどの判定を行い、ベクトル非類似フラグＦ（ｎ）を設定するような処理とできる。
スカラー比較の場合も同様に、ローカルベクトルＬＶとグローバルベクトルＧＶのスカラー値の差分が、所定値以上であるか否かなどの判定を行い、ベクトル非類似フラグＦ（ｎ）を設定する処理とすればよい。
【０１８３】
領域ＡＲの分割は多様に考えられる。
上記例は領域ＡＲ１〜ＡＲ２０の２０分割とした例で説明したが、分割数はもちろん限定されない。４分割、６分割、８分割、９分割・・・３０分割、４０分割などでもよい。
領域の分割数が多いほど、ローカルベクトルＬＶとグローバルベクトルＧＶの比較処理負担は増えるが、ズーム状態や被写体が小さい場合なども確度の高い主要被写体判定ができる。逆に分割数が少ないほど処理負担は軽くなる。
【０１８４】
分割する領域は、全てが同一の面積や同一の領域形状でなくてもよい。例えば画像の端部は１領域を広い範囲とし、画面の中央部は細かい領域に分割することなども考えられる。主要被写体の存在する位置として画面中央付近の確率が高いことを考えれば、画面中央部で細かく領域分割することは適切となる。
また、顔検出等の処理を行って、顔領域を1つの領域ＡＲとして用いるような例も考えられる。例えばいくつかの検出された顔領域のうち、そのローカルベクトルがグローバルベクトルとは異なる顔領域を主要被写体と判定するなどである。
【０１８５】
ベクトル比較判定処理で用いる閾値Ｔｈ＋，Ｔｈ−（図７，図８、図９のステップＦ１０７参照）や、時間安定度判定のための所定時間Ｔｊ（図９のステップＦ１１４参照）の設定は、撮像装置１０や画像処理装置１としての製品、使用態様などに応じて適宜変更することが好適である。またユーザが任意に所望の値を設定できるようにしてもよい。
閾値Ｔｈ＋，Ｔｈ−の設定により、主要被写体となりえる画像の基準を変更できる。また所定時間Ｔｊの設定により、迅速な判定を優先させるか、或いは確度の高い判定を優先するかを選択できる。
【０１８６】
第２，第３の実施の形態を組み合わせる処理例も考えられる。
例えばパンニング中などであって図１２の処理でベクトル比較判定モードとされたときは、第３の実施の形態の処理を行い、安定存在度判定モードとされたときは、図１７の処理を行うような例である。
【０１８７】
また主要被写体情報は、画像効果処理や画像編集処理にも利用できると述べたが、そのためには再生画像を対象として主要被写体判定処理を行うことも好適である。
このような再生画像を対象とする主要被写体判定処理は、図１の画像処理装置、図２０の情報処理装置などにおいても当然に想定される。
【０１８８】
また、主要被写体判定処理の結果については、その後撮像されて記録された静止画データや動画データに、メタデータとして付加してもよい。つまり主要被写体を示す情報を静止画ファイル等に付加する。
【０１８９】
また、スルー画を表示させ、同時に主要被写体判定処理を行っている間に、撮像者の操作による主要被写体指定操作を可能としてもよい。
【０１９０】
また、実施の形態では、主に静止画撮像を想定して主要被写体を判定する処理を説明したが、動画撮像のためのスタンバイ中や、動画の撮像及び記録の実行中においても、撮像される複数のフレームから主要被写体判定を行う処理として、上記実施の形態の処理を適用できる。
【０１９１】
なお本技術は以下のような構成も採ることができる。
（１）画像全体の動きを示すグローバル動きを検出するグローバル動き検出部と、
画像中の各領域の動きを示すローカル動きを検出するローカル動き検出部と、
上記グローバル動きと上記ローカル動きとに基づいて主要被写体を判定する主要被写体判定部と、
を備えた画像処理装置。
（２）上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似である領域を判定する上記（１）に記載の画像処理装置。
（３）上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して安定的に非類似である領域を判定する判定する上記（１）又は（２）に記載の画像処理装置。
（４）上記主要被写体判定部は、上記各領域のうち所定の時間条件において継続的又は累積的又は平均的に非類似と判定される領域を、安定的に非類似と判定する上記（３）に記載の画像処理装置。
（５）上記主要被写体判定部は、
高信頼度とされた上記ローカル動きと上記グローバル動きとに基づいて主要被写体を判定する上記（１）乃至（４）のいずれかに記載の画像処理装置。
（６）上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似と判定された領域から抽出した画像を主要被写体と判定する上記（１）乃至（５）のいずれかに記載の画像処理装置。
（７）上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似と判定された領域のうちで選択された領域の画像を主要被写体と判定する上記（１）乃至（５）のいずれかに記載の画像処理装置。
（８）上記主要被写体判定部は、撮像方向変動中に相当する画像データを主要被写体判定処理の対象とする際に、上記グローバル動きに対して非類似と判定される上記ローカル動きを持つ領域に基づいて主要被写体を判定する上記（１）乃至（７）のいずれかに記載の画像処理装置。
（９）上記主要被写体判定部は、撮像方向変動中以外に相当する画像データを主要被写体判定処理の対象とする際、画像データ内から抽出した候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、該候補画像から主要被写体を判定する上記（８）に記載の画像処理装置。
（１０）上記主要被写体判定部は、上記各領域のうち上記ローカル動きが上記グローバル動きに対して非類似と判定された領域の画像を候補画像とし、各候補画像について、複数フレームにわたる画像データ内での安定存在度を求め、該安定存在度を用いて、該候補画像から主要被写体を判定する上記（１）乃至（９）のいずれかに記載の画像処理装置。
（１１）上記主要被写体判定部は、上記各領域のうち上記グローバル動きが大きく上記ローカル動きが小さいと検出される場合において、上記ローカル動きが上記グローバル動きに対して非類似と判定される領域に基づいて主要被写体を判定する上記（１）乃至（１０）のいずれかに記載の画像処理装置。
（１２）上記ローカル動きは、画像解析処理により検出される画像中の各領域のローカルベクトルを指し、
上記グローバル動きは、各領域のローカルベクトルを用いて検出されるグローバルベクトルを指す上記（１）乃至（１１）のいずれかに記載の画像処理装置。
（１３）上記グローバル動き検出部は、画像データを得る撮像装置の動きを検出する動きセンサにより形成される上記（１）乃至（１１）のいずれかに記載の画像処理装置。
【符号の説明】
【０１９２】
１  画像処理装置、２  主要被写体判定部、３  ローカル動き検出部、４  グローバル動き検出部、１０  撮像装置、１１  光学系、１２  イメージャ、１３  光学系駆動部、１４  センサ部、１５  記録部、１６  通信部、２０  デジタル信号処理部、２１  前処理部、２２  同時化部、２３  ＹＣ生成部、２４  解像度変換部、２５  コーデック部、２７  動きベクトル検出部、２８  候補検出部、３０  制御部、３０ａ  主要被写体判定部、３２  ＵＩコントローラ、３３  ユーザインターフェース、３４  表示部、３５  操作部、７０  コンピュータ装置、７１  ＣＰＵ
【図１】
2015111746.tif 000003
【図２】
2015111746.tif 000004
【図３】
2015111746.tif 000005
【図４】
2015111746.tif 000006
【図５】
2015111746.tif 000007
【図６】
2015111746.tif 000008
【図７】
2015111746.tif 000009
【図８】
2015111746.tif 000010
【図９】
2015111746.tif 000011
【図１０】
2015111746.tif 000012
【図１１】
2015111746.tif 000013
【図１２】
2015111746.tif 000014
【図１３】
2015111746.tif 000015
【図１４】
2015111746.tif 000016
【図１５】
2015111746.tif 000017
【図１６】
2015111746.tif 000018
【図１７】
2015111746.tif 000019
【図１８】
2015111746.tif 000020
【図１９】
2015111746.tif 000021
【図２０】
2015111746.tif 000022