(57)【要約】【課題】限られた動きベクトル情報によって背景と主被写体の動きを効率的に検出できる画像処理装置を提供する。【解決手段】カメラの情報を取得する情報取得部と、カメラの情報に基づいて、カメラにより撮像された画像における撮影時の着目対象を推定する推定部と、画像を、複数種類の分割方法で、それぞれ複数の分割領域に分割する領域分割部と、複数種類の分割方法のそれぞれについて、複数の分割領域における動きベクトルを検出する動きベクトル検出部と、を備え、領域分割部は、推定部により推定された着目対象に応じて、画像を分割する複数種類の分割方法のそれぞれにおける分割領域の大きさ及び分割数の少なくとも一方を変更する。【選択図】図１
2018195084.tif 000002
【特許請求の範囲】
【請求項１】
カメラの情報を取得する情報取得手段と、
前記カメラの情報に基づいて、前記カメラにより撮像された画像における撮影時の着目対象を推定する推定手段と、
前記画像を、複数種類の分割方法で、それぞれ複数の分割領域に分割する領域分割手段と、
前記複数種類の分割方法のそれぞれについて、前記複数の分割領域における動きベクトルを検出する動きベクトル検出手段と、を備え、
前記領域分割手段は、前記推定手段により推定された着目対象に応じて、前記画像を分割する複数種類の分割方法のそれぞれにおける分割領域の大きさ及び分割数の少なくとも一方を変更することを特徴とする画像処理装置。
【請求項２】
前記複数種類の分割方法は、前記複数の分割領域のそれぞれが前記画像における主被写体を含むように前記画像を分割する第１の分割方法と、前記複数の分割領域のそれぞれが前記画像における背景を含むように前記画像を分割する第２の分割方法とを含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域分割手段は、前記推定手段により推定された前記着目対象が主被写体である度合いが高くなるについて、前記第１の分割方法における前記複数の分割領域の大きさを小さくするか、前記分割領域の数を増やすかの少なくともいずれかを行うとともに、前記第２の分割方法における前記複数の分割領域の大きさを大きくするか、前記分割領域の数を減らすかの少なくともいずれかを行うことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記領域分割手段は、前記第１の分割方法における前記複数の分割領域の数と、前記第２の分割方法における前記複数の分割領域の数の和が一定となるように、前記第１の分割方法における前記複数の分割領域の数と、前記第２の分割方法における前記複数の分割領域の数を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記カメラの情報は、撮影モード、主被写体情報、シャッタースピード、焦点距離、奥行き情報、慣性センサ情報、ユーザ指示情報の少なくともいずれかを含むことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記推定手段は、前記カメラの情報の１つまたは複数に基づいて、撮影時の着目対象が主被写体である度合いおよび背景である度合いを算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記推定手段は、前記カメラの情報のそれぞれについて算出された、前記着目対象が主被写体である度合い及び背景である度合いを加重加算することにより、最終的な前記着目対象が主被写体である度合い及び背景である度合いを算出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記動きベクトルの信頼度を算出する信頼度算出手段と、前記動きベクトルに対して、前記信頼度を用いてクラスタリング処理を行うクラスタリング手段とをさらに備え、
前記領域分割手段は、前記推定手段および前記クラスタリング手段の出力に基づいて、前記画像を分割する複数種類の分割方法のそれぞれにおける分割領域の大きさ及び分割数の少なくとも一方を変更することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記動きベクトルの信頼度を算出する信頼度算出手段と、前記動きベクトルに対して、前記信頼度を用いてクラスタリング処理を行うクラスタリング手段とをさらに備え、
前記動きベクトル検出手段は、前記第１の分割方法における複数の分割領域のそれぞれにおいて着目点を設定し、該着目点に基づいて前記複数の分割領域における動きベクトルを検出し、
前記領域分割手段は、前記第１の分割方法における複数の分割領域のそれぞれにおいて設定された前記着目点のうち、前記クラスタリング手段により主被写体の動きベクトルが検出されたと判定された着目点の分布に基づいて、前記第１の分割方法における複数の分割領域の大きさを変更することを特徴とする請求項２乃至４のいずれか１項に記載の画像処理装置。
【請求項１０】
前記領域分割手段は、前記推定手段の出力に基づいて得られる目標の動きベクトル数と、前記クラスタリング手段の出力から得られる実際の動きベクトル数との比較に基づいて、前記画像を分割する複数種類の分割方法のそれぞれにおける分割領域の大きさ及び分割数の少なくとも一方を変更することを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
前記信頼度算出手段は、前記動きベクトルを算出する画像間の相関値の演算の結果に基づいて、前記動きベクトルの信頼度を算出することを特徴とする請求項８に記載の画像処理装置。
【請求項１２】
前記信頼度算出手段は、複数の前記動きベクトルの信頼度を加重加算することにより、最終的な動きベクトルの信頼度を算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記信頼度算出手段は、前記動きベクトルを算出する画像間の相関の最大値が大きくなるにつれて、前記動きベクトルの信頼度を高く算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
前記信頼度算出手段は、前記動きベクトルを算出する画像間の相関の最大値と最小値との差分が大きくなるにつれて、前記動きベクトルの信頼度を高く算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１５】
前記信頼度算出手段は、前記動きベクトルを算出する画像間の相関の最大値と最小値の差分と、相関の最大値と平均値の差分との比率が大きくなるにつれて、前記動きベクトルの信頼度を高く算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１６】
前記信頼度算出手段は、前記動きベクトルを算出する画像間の相関の最大値と、少なくとも一つの相関の極大値との差分が大きくなるにつれて、前記動きベクトルの信頼度を高く算出することを特徴とする請求項１１に記載の画像処理装置。
【請求項１７】
カメラの情報を取得する情報取得工程と、
前記カメラの情報に基づいて、前記カメラにより撮像された画像における撮影時の着目対象を推定する推定工程と、
前記画像を、複数種類の分割方法で、それぞれ複数の分割領域に分割する領域分割工程と、
前記複数種類の分割方法のそれぞれについて、前記複数の分割領域における動きベクトルを検出する動きベクトル検出工程と、を有し、
前記領域分割工程では、前記推定工程において推定された着目対象に応じて、前記画像を分割する複数種類の分割方法のそれぞれにおける分割領域の大きさ及び分割数の少なくとも一方を変更することを特徴とする画像処理方法。
【請求項１８】
請求項１７に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１９】
請求項１７に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレーム画像間で動きベクトルを検出する技術に関するものである。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置を用いて撮影された映像に対して手ぶれ補正やダイナミックレンジ拡大処理を施すためには、フレーム画像間の動き量を検出してそれら複数枚の画像の位置合わせを行う必要がある。
【０００３】
フレーム画像を用いた動き量推定の方法は従来から種々提案されているが、その代表的なものとしてテンプレートマッチングによる動きベクトル検出方法がある。テンプレートマッチングでは、まず映像中のある２枚のフレーム画像の一方を基準画像、もう一方を参照画像とする。そして、基準画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置において参照画像の輝度値の分布とテンプレートブロック内の輝度値の分布との相関を求める。その結果、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先の位置であり、基準画像上でのテンプレートブロックの位置を基準とした時の移動先の位置への向きと移動量が動きベクトルとなる。
【０００４】
このとき、フレーム画像内には撮像装置の移動に伴う背景の動きと、主被写体の動きが混在している。画像内の全画素について動きベクトル検出を行えば、これらの動きを網羅的に検出することが可能である。しかしながら、カメラシステム上でリアルタイムに全画素の動きベクトルを検出することは、多大な回路規模や処理時間、メモリ帯域、消費電力を要するため困難である。そこで、画像内のいくつかの画素（以下、着目点と呼ぶ）に着目し、これらの画素の移動量から背景と主被写体の動きを検出する技術が知られている（例えば特許文献１、２）。
【０００５】
特許文献１には、画像から背景の動きを検出し、背景の動きに基づいて主被写体の動きを検出する技術が開示されている。特許文献２には、被写体追尾を行う場合は主被写体の動き、被写体追尾を行わない場合は背景の動きを主に検出するよう動きベクトルの検出領域の大きさを切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２１７１８８号公報
【特許文献２】特開２０１５−８９１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
カメラシステム上でリアルタイムに動きベクトルを検出できる着目点の数は限られている。手ぶれ補正などの用途では背景の動きを検出する必要があるため、着目点を画面一様に分布させることが望ましい。一方、被写体追尾などの用途では被写体の動きを検出する必要があるため、着目点を主被写体に密集して分布させることが望ましい。また、ＨＤＲ（ハイダイナミックレンジ）合成などの用途では、画面全体の位置合わせと動体領域の除去を行うため、背景と主被写体の両方の動きを検出することが求められる。このように、用途によって、限られた着目点を適切に設定する必要がある。
【０００８】
しかしながら、特許文献１、２に開示された技術では、撮影状況によらず、常に固定的な領域でベクトル検出を行っているため、限られた着目点を十分に活用できないという問題があった。
【０００９】
例えば、特許文献１では、背景と主被写体の動きを常に一定数ずつ検出している。そのため、背景と主被写体の各々に対する着目度が異なる場合でも、着目度が高い側と低い側で同じ検出量が割り当てられることになる。前述の通り、着目点の数には限りがあるため、着目度が低い側にも着目度が高い側と同じ検出量を割り当てた結果、着目度が高い側の動きが十分に検出できない場合がある。
【００１０】
特許文献２では、被写体追尾を行うか否かに応じて、背景と主被写体の動きのいずれを検出するかを切り替えている。そのため、背景と主被写体の動き検出を両立することはできない。また、被写体追尾を行うか否かは、撮影者の指示や主被写体検出の可否により判定することを想定している。動画撮影では、シーンがダイナミックに変化するため、撮影者が毎回指示を行うことは煩わしく、実用的でない。また主被写体検出の可否だけでは撮影者の意図を汲み取ることが難しい。
【００１１】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、限られた動きベクトル情報によって背景と主被写体の動きを効率的に検出できる画像処理装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明に係わる画像処理装置は、カメラの情報を取得する情報取得手段と、前記カメラの情報に基づいて、前記カメラにより撮像された画像における撮影時の着目対象を推定する推定手段と、前記画像を、複数種類の分割方法で、それぞれ複数の分割領域に分割する領域分割手段と、前記複数種類の分割方法のそれぞれについて、前記複数の分割領域における動きベクトルを検出する動きベクトル検出手段と、を備え、前記領域分割手段は、前記推定手段により推定された着目対象に応じて、前記画像を分割する複数種類の分割方法のそれぞれにおける分割領域の大きさ及び分割数の少なくとも一方を変更することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、限られた動きベクトル情報によって背景と主被写体の動きを効率的に検出できる画像処理装置を提供することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係わる画像処理装置の構成を示すブロック図。
【図２】第１の実施形態で行われる画像処理を説明するフローチャート。
【図３】カメラ情報と着目対象の関係を示す図。
【図４】画像の領域分割および着目点設定を説明する図。
【図５】画像の領域分割の一例を説明する図。
【図６】着目対象に基づく領域制御を説明する図。
【図７】着目対象に基づく領域制御における制御パラメータの変化を示す図。
【図８】テンプレートマッチングを説明する図。
【図９】相関値マップを説明する図。
【図１０】動きベクトル検出結果の一例を示す図。
【図１１】本発明の第２の実施形態に係わる画像処理装置の構成を示すブロック図。
【図１２】第２の実施形態で行われる画像処理を説明するフローチャート。
【図１３】相関値マップの表現方法を説明する図。
【図１４】動きベクトルの信頼度を表わす相関値指標を説明する図。
【図１５】動きベクトルの信頼度の算出方法を説明する図。
【図１６】クラスタリング処理を説明する図。
【図１７】クラスタリング処理結果に基づく領域サイズの制御を説明する図。
【図１８】クラスタリング処理結果に基づく領域個数の制御を説明する図。
【図１９】着目対象に基づく目標の動きベクトル数の設定方法を説明する図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【００１６】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる画像処理装置の構成を示すブロック図である。図１において、画像入力部１０１は画像を入力する。領域制御部１０２は、１つ以上（複数種類）の領域分割部１０２ａ，１０２ｂ，…を備え、画像入力部１０１により入力された画像を、後述する着目対象推定部１０７の出力に基づいて、複数の画像領域に分割するための分割情報を出力する。各画像領域の形状は任意であるが、本実施形態では図４（ａ）に示すように、画像を格子状に分割する。また、１つ以上の領域分割部１０２ａ，１０２ｂ，…は互いに独立で、それぞれ異なる分割設定が可能である。
【００１７】
着目点設定部１０３は、領域制御部１０２からの分割情報（分割の大きさ、分割数、座標など）に基づいて、画像領域ごとに所定数の着目点を設定する。画像メモリ１０４は、画像入力部１０１により入力された１フレームの画像又は複数フレームの画像を一時的に記憶保持する。動きベクトル検出部１０５は、着目点設定部１０３から出力される着目点に基づいて、画像入力部１０１および画像メモリ１０４から入力される画像に対して、例えばテンプレートマッチングにより動きベクトルを検出する。
【００１８】
カメラ情報取得部１０６は、撮影状況を推定するために必要なカメラ情報を取得する。カメラ情報とは、例えば撮影モード、主被写体情報、シャッタースピード、焦点距離、奥行き情報、慣性センサ情報、ユーザ指示情報などである。着目対象推定部１０７は、カメラ情報取得部１０６により得られるカメラ情報に基づいて、撮影時にユーザが背景と被写体のいずれに着目しているか、そして背景と被写体のいずれに着目して動きベクトル検出を行うべきかを推定する。
【００１９】
上記のように構成される画像処理装置１００の動作について、図２に示すフローチャートを参照して詳細に説明する。
【００２０】
ステップＳ２０１では、カメラ情報取得部１０６は、撮影状況を推定するために必要なカメラ情報を取得する。カメラ情報の例として、撮影モード、主被写体情報、シャッタースピード、焦点距離、奥行き情報、慣性センサ情報、ユーザ指示情報を用いるものとする。
【００２１】
主被写体情報は、例えば、主被写体の人物らしさ、主被写体の大きさ、主被写体の動きである。主被写体の人物らしさおよび大きさは、例えば主被写体を人物の顔とする場合、主被写体の色や輪郭の情報を用いる公知の顔検出技術によって得ることができる。主被写体の動きは、画像フレーム間で後述の動きベクトル検出技術により検出される動きベクトルから得ることができる。また、奥行き情報は、例えば測距センサを用いるか、あるいは、撮像画像から公知のＳｆＭ（Ｓｔｒｕｃｔｕｒｅ ｆｒｏｍ Ｍｏｔｉｏｎ）により検出することができる。
【００２２】
ステップＳ２０２では、着目対象推定部１０７は、ステップＳ２０１で取得したカメラ情報に基づいて、撮影状況を推定し、背景と主被写体のいずれに着目して動きベクトル検出を行うべきかを推定する。
【００２３】
ここで、カメラ情報に基づいて、着目対象を推定する方法について説明する。ここでは、まずカメラ情報ごとに着目対象が背景である度合いを表す背景度合いと、着目対象が主被写体である度合いを表す被写体度合いを算出する。背景度合いと被写体度合いを合計して１になる数値として表現するものとする。なお、背景度合いと被写体度合いのいずれか一方だけを算出するようにしてもよい。
【００２４】
撮影モードについては、例えば、ポートレートモードの場合には人物（＝被写体）に着目して撮影している可能性が高いので、被写体度合を高く（例えば０．９）、背景度合いを低く（例えば０．１）する。一方、風景モードの場合には風景に着目して撮影している可能性が高いため、被写体度合いを低く（例えば０．１）、背景度合いを高く（例えば０．９）する。このように、撮影モードによって可能性の高い撮影状況を想定することで、背景度合いおよび被写体度合いを決めることができる。
【００２５】
主被写体の人物らしさについては、主被写体がより人物らしいほど、被写体に着目して撮影している可能性が高いので、被写体度合いを高く（例えば０．７）、背景度合いを低く（例えば０．３）する。主被写体の大きさについては、主被写体が大きいほど、被写体に着目して撮影している可能性が高いので、被写体度合いを高く（例えば０．８）、背景度合いを低く（例えば０．２）する。
【００２６】
主被写体の動きについては、主被写体の動きが小さいほど、被写体を捉えようとカメラを構えていることが想定され、被写体に着目して撮影している可能性が高いので、被写体度合いを高く（例えば０．６）、背景度合いを低く（例えば０．４）する。シャッタースピードについては、シャッタースピードが速いほど、高速に移動する被写体に着目して撮影している可能性が高いので、被写体度合いを高く（例えば０．７）、背景度合いを低く（例えば０．３）する。図３は、以上のカメラ情報と着目被写体の関係についてまとめた表を示す図である。括弧内の数値は、前述した背景度合い／被写体度合いの一例を示している。
【００２７】
次に、焦点距離と奥行き情報については、それぞれ単独では撮影者の意図を汲み取ることが難しい。そこで、両者を組み合わせて着目対象を推定する方法の一例について説明する。
【００２８】
焦点距離ｆ［ｍｍ］と、主被写体までの距離（奥行き情報）ｄ［ｍｍ］が与えられている場合、撮像面上での主被写体の大きさをＸ［ｍｍ］とすれば、実際の主被写体の大きさＹ［ｍｍ］は、以下の式（１）で算出できる。
【００２９】
Ｙ＝（ｄ／ｆ）・Ｘ            …（１）
実際の主被写体の大きさが分かれば、像面上での主被写体の大きさや焦点距離との関係から、撮影者の意図を汲み取ることができる。例えば、実際の主被写体の大きさは小さいが、像面上での主被写体の大きさが大きく、焦点距離が長い場合は、主被写体に非常に着目していることになる。そのため、実際の主被写体の大きさが小さい、かつ、像面上での主被写体の大きさが大きい、かつ、焦点距離が長いほど被写体度合いを高く、背景度合いを低くする。
【００３０】
慣性センサ情報についても、単独では撮影者の意図を汲み取ることが難しい。そこで、慣性センサ情報と被写体の動き情報を組み合わせて着目対象を推定する方法の一例について説明する。撮影者の着目対象が被写体である場合、被写体を画面の定位置に収めようとカメラを動かすため、被写体の画面上での動きはカメラの動きに比べて相対的に小さくなる。よって、慣性センサ情報により得られるフレーム画像間のカメラの移動量に対して、被写体の画面上での移動量が小さくなるほど、被写体を捉えようとカメラを構えていることが想定され、被写体に着目して撮影している可能性が高いので、被写体度合いを高く、背景度合いを低くする。
【００３１】
着目対象の推定に利用できるカメラ情報が複数ある場合、カメラ情報ごとに得られる背景度合いおよび被写体度合いに対してそれぞれ重み付け加算を行い、最終的な背景度合いおよび被写体度合いを算出すればよい。重みは、例えば各情報源の確からしさに基づいて設定すればよい。
【００３２】
図３の例を用いて説明する。撮影モード、主被写体の人物らしさ、主被写体の大きさ、主被写体の動き、シャッタースピードのそれぞれから得られる背景度合いをＤａ、Ｄｂ、Ｄｃ、Ｄｄ、Ｄｅ、重みをＧａ、Ｇｂ、Ｇｃ、Ｇｄ、Ｇｅとする。最終的な背景度合いＤは、加重加算により以下の式（２）で計算できる。
【００３３】
Ｄ＝Ｇａ×Ｄａ＋Ｇｂ×Ｄｂ＋Ｇｃ×Ｄｃ＋Ｇｄ×Ｄｄ＋Ｇｅ×Ｄｅ    …（２）
例えば、重みをＧａ＝０．３、Ｇｂ＝０．２、Ｇｃ＝０．２、Ｇｄ＝０．１、Ｇｅ＝０．２とする。ここで、重みは合計が１になるよう正規化している。いま撮影モードが風景モード（Ｄａ＝０．９）、主被写体の人物らしさが高い（Ｄｂ＝０．３）、主被写体の大きさが小さい（Ｄｃ＝０．８）、主被写体の動きが小さい（Ｄｄ＝０．４）、シャッタースピードが遅い（Ｄｅ＝０．７）とすれば、式（２）よりＤ＝０．６となる。最終的な被写体度合いについても同じように算出できる。
【００３４】
各情報源の確からしさが同一または不明の場合は、全ての重みを同じにすればよい。
なお、カメラ情報としてユーザによる指示情報を用いる場合、例えば背景と被写体の着目度合いをユーザに指示させることで、推定することなく背景度合いと被写体度合いを決めることができる。
【００３５】
ステップＳ２０３では、領域制御部１０２は、ステップＳ２０２で得られた背景度合いおよび被写体度合いに基づいて１つ以上の領域分割部１０２ａ，１０２ｂ，…を制御し、画像を複数の領域に分割する。
【００３６】
図４は、領域分割部の制御パラメータを示す図である。図４（ａ）において、白い矩形領域が着目点を設定する着目点設定領域であり、着目点設定領域の周辺には斜線で示す周辺領域を設けている。これは、設定される着目点の位置によっては、後述する動きベクトル検出に用いるテンプレート領域およびサーチ領域が着目点設定領域をはみ出すため、そのはみ出し分だけ設けた余剰の画像領域である。
【００３７】
領域分割部の制御パラメータとしては、例えば着目点設定領域の水平・垂直位置を示すＳｘ，Ｓｙ、水平・垂直個数を示すＮｘ，Ｎｙ、水平・垂直サイズを示すＬｘ，Ｌｙがある。なお、ここでは制御を容易にするため、各領域の水平・垂直サイズを一律としたが、各領域の水平・垂直サイズを独立に設定できるようにしてもよい。
【００３８】
次に、これら領域分割部１０２の制御パラメータを、背景度合いおよび被写体度合いに基づいて制御する方法について説明する。ここでは、独立した２個の領域分割部１０２ａ，１０２ｂを制御する例について示す。例えば、第１の領域分割部１０２ａを背景の動きベクトル検出、第２の領域分割部１０２ｂを主被写体の動きベクトル検出に適するように制御する。
【００３９】
なお、領域分割部は３個以上設けてもよい。例えば、領域分割部が３個ある場合は、背景と主被写体に加えて、第３の領域分割部を主被写体以外の被写体の動きベクトル検出に適するように制御すればよい。
【００４０】
また、図５のように各領域の水平・垂直サイズを複数独立に設定できるような領域分割部を設けてもよい。図５の例では、水平・垂直個数Ｎｘ１，Ｎｙ１および水平・垂直サイズＬｘ１，Ｌｙ１の分割領域を背景の動きベクトル検出に適した分割領域としている。また、水平・垂直個数Ｎｘ２，Ｎｙ２および水平・垂直サイズＬｘ２，Ｌｙ２の分割領域を主被写体の動きベクトル検出に適した分割領域としている。
【００４１】
着目点設定領域の数（着目点の数）が増えるほど、動きベクトル検出にかかる処理時間は増え、動きベクトル情報を保持するためのメモリ容量およびメモリ帯域も増える。カメラシステム上でリアルタイムに動きベクトル検出を行うには、これらのシステム負荷の制約を満たす必要があるため、着目点設定領域の数には上限がある。
【００４２】
図６に示した、独立した２個の第１及び第２の領域分割部１０２ａ，１０２ｂを制御する例では、着目点設定領域の数の上限を４８個（一定）とし、各領域で１個の着目点を設定するものとする。なお、着目点設定領域の数の上限は、システム負荷の制約を満たす範囲内で動的に変更してもよい。図６では、左から右にいくにつれて、被写体度合いが高く、背景度合いが低くなっている。
【００４３】
被写体度合いが背景度合いに対して極めて低い場合、ユーザは背景のみに着目していることが想定されるので、背景の動きベクトルのみを検出すればよい。そのため、第１の領域分割部１０２ａによる領域分割を図６（ａ）、第２の領域分割部１０２ｂによる領域分割を図６（ｂ）のように設定することが望ましい。図６（ａ）では、着目点設定領域の上限である４８個を全て画面広域に配置し、背景の動きを最大限に検出するようにしている。一方、図６（ｂ）では、主被写体の動きは検出しないようにしている。
【００４４】
次に被写体度合いが背景度合いに対して低い場合、ユーザは主に背景に着目しているが、わずかに主被写体にも着目していることが想定されるので、背景の動きベクトルを優先して検出すればよい。そのため、第１の領域分割部１０２ａによる領域分割を図６（ｃ）、第２の領域分割部１０２ｂによる領域分割を図６（ｄ）のように設定することが望ましい。図６（ｃ）では、着目点設定領域の上限である４８個のうち過半数の３６個を画面広域に配置し、背景の動きを優先して検出するようにしている。一方、図６（ｄ）では、着目点の残りの１２個を主被写体領域に配置し、主被写体の動きも検出するようにしている。
【００４５】
次に被写体度合いが背景度合いに対して同程度の場合、ユーザは背景と主被写体を同程度に着目していることが想定されるので、背景と主被写体の動きベクトルを両立するように検出すればよい。そのため、第１の領域分割部１０２ａによる領域分割を図６（ｅ）、第２の領域分割部１０２ｂによる領域分割を図６（ｆ）のように設定することが望ましい。図６（ｅ）では、着目点設定領域の上限である４８個のうち半数の２４個を画面広域に配置し、背景の動きを検出するようにしている。一方、図６（ｆ）では、着目点の残りの２４個を主被写体領域に配置し、主被写体の動きも背景と同程度に検出するようにしている。
【００４６】
次に被写体度合いが背景度合いに対して高い場合、ユーザは主に主被写体に着目しているが、わずかに背景にも着目していることが想定されるので、主被写体の動きベクトルを優先して検出すればよい。そのため、第１の領域分割部１０２ａによる領域分割を図６（ｇ）、第２の領域分割部１０２ｂによる領域分割を図６（ｈ）のように設定することが望ましい。図６（ｇ）では、着目点設定領域の上限である４８個のうち半数未満の１２個を画面広域に配置し、背景の動きを検出するようにしている。一方、図６（ｈ）では、着目点の残りの３６個を主被写体領域に配置し、主被写体の動きを優先して検出するようにしている。
【００４７】
最後に被写体度合いが背景度合いに対して極めて高い場合、ユーザは主被写体のみに着目していることが想定されるので、主被写体の動きベクトルのみを検出すればよい。そのため、第１の領域分割部１０２ａによる領域分割を図６（ｉ）、第２の領域分割部１０２ｂによる領域分割を図６（ｊ）のように設定することが望ましい。図６（ｉ）では、背景の動きは検出しないようにしている。一方、図６（ｊ）では、着目点設定領域の上限である４８個を全て主被写体領域に配置し、主被写体の動きを最大限に検出するようにしている。
【００４８】
図６に示した制御を行うには、第１及び第２の領域分割部１０２ａ，１０２ｂの制御パラメータを図７のように制御すればよい。図７の左側の（ａ）〜（ｄ）は第１の領域分割部１０２ａ、右側の（ｅ）〜（ｈ）は第２の領域分割部１０２ｂの制御を示している。図７の横軸は被写体度合いを示し、縦軸は制御パラメータを示している。図７（ｃ）、図７（ｄ）の縦軸は、着目点設定領域全体の水平サイズが１となるように正規化し、図７（ｇ）、図７（ｈ）の縦軸は、着目点設定領域全体の垂直サイズが１となるように正規化した値を示している。
【００４９】
制御パラメータについては、第１の領域分割部１０２ａの制御パラメータは、添え字に１を付けてＳｘ１，Ｓｙ１，Ｎｘ１，Ｎｙ１，Ｌｘ１，Ｌｙ１と表記する。また、第２の領域分割部１０２ｂの制御パラメータは、添え字に２を付けてＳｘ２，Ｓｙ２，Ｎｘ２，Ｎｙ２，Ｌｘ２，Ｌｙ２と表記する。
【００５０】
図７について被写体度合いをＨで表すと、０≦Ｈ＜０．２は図６（ａ）、図６（ｂ）の状態に、０．２≦Ｈ＜０．４は図６（ｃ）、図６（ｄ）の状態に相当する。また、０．４≦Ｈ＜０．６は図６（ｅ）、図６（ｆ）の状態に、０．６≦Ｈ＜０．８は図６（ｇ）、図６（ｈ）の状態に、０．８≦Ｈ≦１．０は図６（ｉ）、図６（ｊ）の状態に相当する。
【００５１】
被写体度合いが高くなるにつれて、Ｎｘ１，Ｎｙ１を少なく、Ｎｘ２，Ｎｙ２を多くし、主被写体領域に設定する分割領域の数を増やしている。また、被写体度合いが高くなるにつれて、Ｌｘ１，Ｌｙ１を大きく、Ｌｘ２，Ｌｙ２を小さくし、主被写体領域に設定する分割領域の密度を高めている。ここで、着目点設定領域の上限をＮｍａｘとして、Ｎｘ１×Ｎｙ１＋Ｎｘ２×Ｎｙ２≦Ｎｍａｘの制約を満たすように制御するものとする。なお、分割領域のＸＹ方向の位置を表す制御パラメータＳＸ，ＳＹについては、例えばＳＸ１，ＳＹ１は背景領域の左上の座標、ＳＸ２，ＳＹ２は主被写体領域の左上の座標に設定すればよい。
【００５２】
ステップＳ２０４では、着目点設定部１０３は、ステップＳ２０３で分割された複数の画像領域ごとに所定数の着目点を設定する。着目点としては、例えば各領域における特徴点を用いればよい。図４（ｂ）は格子状に分割された画像領域ごとに１個の特徴点３０１を抽出する様子を示している。
【００５３】
特徴点の抽出方法としては、公知の方法を用いればよく、例えばHarris corner検出器もしくはShi and Tomasiの手法を用いる場合について説明する。これらの手法では、画像の画素（ｘ，ｙ）における輝度値をＩ（ｘ，ｙ）と表現し、画像に対して水平および垂直の１次微分フィルタを適用した結果のＩｘ，Ｉｙから、式（３）で示す自己相関行列Ｈを作成する。
【００５４】
【数１】
2018195084.tif 000003
【００５５】
式（３）において、Ｇは式（４）に示すガウス分布による平滑化を表す。
【００５６】
【数２】
2018195084.tif 000004
【００５７】
Harris検出器は、式（５）に示す特徴評価式により、特徴量が大きくなる画素を特徴点として抽出する。
【００５８】
Harris＝det(Ｈ)−α（tr(Ｈ))2    （α＝０．０４〜０．１５）  …（５）
式（５）において、ｄｅｔは行列式を、ｔｒは対角成分の和を表す。また、αは定数であり、実験的に０．０４〜０．１５の値がよいとされている。
【００５９】
一方、Shi and Tomasiの手法では、式（６）に示す特徴評価式を用いる。
【００６０】
Shi and Tomashi ＝ min（λ1，λ2）      …（６）
式（６）は、式（３）の自己相関行列Ｈの固有値λ１，λ２のうち小さい方の固有値を特徴量とすることを表す。Shi and Tomasiの手法を用いる場合でも、特徴量が大きくなる画素を特徴点として抽出する。分割された画像領域ごとに、式（５）または式（６）により画素の特徴量を算出し、特徴量が高い方から所定数の画素を特徴点として抽出し、着目点として設定する。
【００６１】
ステップＳ２０５では、ステップＳ２０４で設定された着目点を用いて動きベクトルの検出を行う。動きベクトル検出部１０５は、テンプレートマッチングにより動きベクトルを検出する。
【００６２】
図８は、テンプレートマッチングの概要を示す図である。図８（ａ）は２つのベクトル検出画像のうちの一方である基準画像を示し、図８（ｂ）は他方である参照画像を示している。ここでは、基準画像として画像メモリ１０４に保持されているフレーム画像、参照画像として画像入力部１０１から直接入力される画像データを用いることで、過去のフレーム画像から現在のフレーム画像への動きベクトルを算出する。なお、基準画像と参照画像は逆に入れ替えてもよく、その場合は現在のフレーム画像から過去のフレーム画像への動きベクトルを算出することを意味する。
【００６３】
動きベクトル検出部１０５は、基準画像にテンプレート領域７０１、参照画像にサーチ領域７０２を配置し、これらのテンプレート領域７０１とサーチ領域７０２の相関値を算出する。ここで、テンプレート領域７０１は、ステップＳ２０４で設定された着目点を中心に配置し、サーチ領域はテンプレート領域を上下左右均等に包含するように所定の大きさで配置すればよい。
【００６４】
本実施形態では、相関値の算出方法として、差分絶対値和（Sum of Absolute Difference：以下、ＳＡＤと略す）を使用する。ＳＡＤの計算式を式（７）に示す。
【００６５】
【数３】
2018195084.tif 000005
【００６６】
式（７）において、ｆ（ｉ，ｊ）はテンプレート領域７０１内の座標（ｉ，ｊ）での輝度値を示している。また、ｇ（ｉ，ｊ）はサーチ領域７０２内において相関値の算出対象となる領域（以下、相関値算出領域という）７０３内の各座標での輝度値を示す。ＳＡＤでは、サーチ領域７０２、相関値算出領域７０３内の輝度値ｆ（ｉ，ｊ），ｇ（ｉ，ｊ）の差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得る。相関値Ｓ＿ＳＡＤの値が小さいほど、テンプレート領域７０１と相関値算出領域７０３のテクスチャの類似度が高いことを表す。なお、相関値の算出にＳＡＤ以外の方法を用いてもよく、例えば差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）を用いてもよい。
【００６７】
動きベクトル検出部１０５は、サーチ領域７０２の全域において相関値算出領域７０３を移動させて相関値を算出する。これにより、サーチ領域７０２に対して図９に示すような相関値マップを作成する。
【００６８】
図９（ａ）はサーチ領域７０２の座標系で算出した相関値マップを示しており、Ｘ軸とＹ軸は相関値マップ座標、Ｚ軸は各座標での相関値の大きさを表している。また図９（ｂ）は、図９（ａ）の等高線を示したものである。図９（ａ）および図９（ｂ）において、相関値が最も小さいのは極小値８０１（相関の極大値）であり、サーチ領域７０２内で極小値８０１が算出された領域にはテンプレート領域７０１と非常に類似したテクスチャが存在していると判定できる。８０２は２番目の極小値、８０３は３番目の極小値を表わしており、これらは極小値８０１に次いで類似したテクスチャが存在していることを意味する。
【００６９】
このように、動きベクトル検出部１０５は、テンプレート領域７０１とサーチ領域７０２との間で相関値を算出し、その値が最も小さくなる相関値算出領域７０３の位置を判定する。これにより、基準画像上のテンプレート領域７０１の参照画像上での移動先を特定することができる。そして、基準画像上でのテンプレート領域の位置を基準とした参照画像上での移動先への方向および移動量を方向および大きさとした動きベクトルを検出することができる。
【００７０】
図１０は、本実施形態における動きベクトル検出結果の一例を示す図である。この例では、図２のステップＳ２０２において背景度合いと被写体度合いは同程度と推定し、ステップＳ２０３において第１の領域分割部１０２ａによる領域分割を図６（ｅ）、第２の領域分割部１０２ｂによる領域分割を図６（ｆ）のように設定している。
【００７１】
図１０（ａ）は、第１の領域分割部１０２ａにより分割された分割領域（図６（ｅ））において設定された着目点に基づいて検出された動きベクトルを示している。一方、図１０（ｂ）は、第２の領域分割部１０２ｂにより分割された分割領域（図６（ｆ））において設定された着目点に基づいて検出された動きベクトルを示している。
【００７２】
図１０（ａ）および図１０（ｂ）は、フレーム画像９０１上に、背景９０２と左方向に移動する主被写体９０３とが存在しており、右上方向への撮像装置の動きが生じている状況を示している。なお、撮像装置の動きは、手振れ等による撮像装置の小さな動きだけでなく、より大きな動きや、パンニング、チルティング等のカメラモーションによる意図的な動きも含んでいる。
【００７３】
検出された動きベクトルのうち、背景９０２の動きを表す動きベクトルを９０４、主被写体の動きを表す動きベクトルを９０５で示している。背景の動きベクトル９０４は、主被写体の動きベクトル９０５とは全く異なる方向と大きさを有している。なお、破線の動きベクトル９０６は誤検出された動きベクトルであり、詳細は第２の実施形態の説明において述べる。
【００７４】
図１０（ａ）では画面広域に着目点が設定されているため、背景の動きベクトル９０４が多く検出されており、一部の主被写体領域においてわずかに主被写体の動きベクトル９０５が検出されている。図１０（ｂ）では主被写体領域に着目点が設定されているため、主被写体の動きベクトル９０５が多く検出されており、一部の背景領域においてわずかに背景の動きベクトル９０４が検出されている。特に背景と主被写体の境界部分においては、テンプレートに含まれるテクスチャの強度によって、背景と主被写体のいずれの動きベクトルが検出されるかが変わり得る。
【００７５】
図１０（ａ）および図１０（ｂ）で検出された動きベクトルを重ね合わせた様子を図１０（ｃ）に示す。画面広域および主被写体領域に均等に着目点を設定することにより、背景と主被写体の動きベクトルの両方が得られる。
【００７６】
最後のステップＳ２０６では、画像処理装置１００が、最終フレームまでの処理を完了したか否かを判定する。最終フレームまでの処理が完了していない場合はステップＳ２０１に戻る。
【００７７】
以上説明したように、本実施形態では、カメラ情報を用いて撮影状況を推定し、背景と主被写体のいずれに着目して動きベクトル検出を行うべきかを推定する。その上で、推定結果に適した着目点分布となるよう分割領域を制御することで、ユーザの着目対象の動きを優先して検出することが可能となる。
【００７８】
（第２の実施形態）
図１１は、本発明の第２の実施形態の画像処理装置の構成を示す図である。図１１において、図１に示した構成要素と共通するものについては、図１と同符号を付す。本実施形態の画像処理装置は、図１に示した構成に加えて、信頼度算出部１００１とクラスタリング部１００２を有する。本実施形態では、第１の実施形態と同一部分については説明を省略し、第１の実施形態と異なる処理を行う部分についてのみ説明する。
【００７９】
第１の実施形態では、背景と主被写体に対する着目度合いに応じて分割領域を制御した。その結果、背景と主被写体に対する着目度合いが同程度の場合には、図１０（ｃ）に示すように、背景と主被写体の動きベクトルを両方得ることができた。しかしながら、図１０（ｃ）の例では、背景と主被写体の動きベクトルの数は均等ではなく、背景の動きベクトルの数の方が多い。これは、主被写体領域に配置した着目点のうち、背景ベクトルを検出するものの割合が多かったためである。特に主被写体と背景の境界部分においては、主被写体上に着目点があったとしても、テンプレートが背景のテクスチャを含むため、背景ベクトルが検出されやすい傾向にある。
【００８０】
そこで、本実施形態では、実際に検出された動きベクトルを解析した結果を、分割領域の制御にフィードバックすることにより、背景と主被写体に対する着目度合いにより適合した動きベクトル検出を行う。本実施形態が第１の実施形態と異なるのは、領域制御部１１２において、クラスタリング部１００２の出力結果をフィードバックする点である。
【００８１】
信頼度算出部１００１は、動きベクトル検出部１０５から入力される動きベクトルに対して信頼度を算出する。クラスタリング部１００２は、動きベクトル検出部１０５から得られる動きベクトルに対して、信頼度算出部１００１から得られる信頼度を用いてクラスタリング処理を行う。ここにいう「クラスタリング処理」とは、複数の動きベクトルのうち、同じような方向と大きさ（例えば、差が所定値以下の方向や大きさ）を持つ１又は２以上の動きベクトルを１つのグループとするように、グループ分けを行うことに相当する。１つのグループを以下の説明では、クラスタと称する。
【００８２】
図１２は、第２の実施形態の画像処理装置の動作を示すフローチャートである。図１２において、図２に示したステップと共通するものについては、図２と同符号を付し説明を省略する。
【００８３】
ステップＳ１１０１では、領域制御部１１２は、ステップＳ２０２で得られた背景度合いおよび被写体度合いと、後述するステップＳ１１０３のクラスタリング結果に基づいて１つ以上の領域分割部を制御し、画像を複数の領域に分割する。なお、最初のフレームではステップＳ１１０３がまだ実行されていないため、ステップＳ２０３と同じく背景度合いおよび被写体度合いに基づいて１つ以上の領域分割部を制御する。第２フレーム以降の処理については、ステップＳ１１０３の説明の後に説明する。
【００８４】
ステップＳ１１０２では、信頼度算出部１００１は、ステップＳ２０５で得られた動きベクトルの信頼度を算出する。動きベクトルの信頼度の算出には二次元の相関値マップを用いる。図９（ｂ）の２次元相関値マップにおいて、相関値を矢印８０４で示すようにラスター順に並べ１次元で表わしたものを図１３に示す。図１３の縦軸は相関値、横軸は相関値マップのＸ座標とＹ座標により一意に定まる画素アドレスである。以降、動きベクトルの信頼度を算出するため、この図１３の表現を用いることにする。なお、図１３に１２０１で示す位置は図９の極小値に対応する位置である。
【００８５】
図１４は、動きベクトルの信頼度を表わす相関値の指標の一例を示す図である。図１４の横軸は画素のアドレス、縦軸は相関値である。図１４（ａ）では、指標として相関値の最小値と最大値の差分Ｄａを用いる。Ｄａは相関値マップのレンジを表わしており、Ｄａが小さい場合、テクスチャのコントラストが低いことが考えられ、信頼度が低いことを示す。
【００８６】
図１４（ｂ）では、指標として相関値の最小値と最大値の差分Ａと、最小値と平均値の差分Ｂとの比率Ｄｂ（＝Ｂ／Ａ）を用いる。Ｄｂは相関値ピークの急峻性を表わしており、Ｄｂが小さい場合、テンプレート領域とサーチ領域の類似度が低いと考えられ、信頼度が低いことを示す。
【００８７】
図１４（ｃ）では、指標として相関値の極小値と２番目の極小値の差分Ｄｃを用いる。ここで、１３０１，１３０２，１３０３は、それぞれ図９の相関値８０１，８０２，８０３と対応している。よって、図１４（ｃ）は、図９（ｂ）の等高線において、相関値の最小と類似した極小値が存在しないかを確認することを意味している。Ｄｃは相関値マップの周期性を表わし、Ｄｃが小さい場合、テクスチャが繰り返しパターンやエッジなどであることが考えられ、信頼度が低いことを示す。なお、ここでは極小値と２番目の極小値を選択したが、相関値マップの周期性を判定できればよいため、その他の極小値を選択してもよい。
【００８８】
図１４（ｄ）では、指標として相関値の最小値Ｄｄを用いる。Ｄｄが大きい場合、テンプレート領域とサーチ領域の類似度が低いと考えられ、信頼度が低いことを表わす。Ｄｄと信頼度は反比例の関係にあるため、Ｄｄの逆数（１／Ｄｄ）を指標とする。
【００８９】
上記で説明した相関値の指標はそのまま信頼度として用いることができるが、例えば図１５のように相関値指標と信頼度の対応付けを行ってもよい。図１５の横軸は相関値指標（上述のＤａ，Ｄｂ，Ｄｃ，１／Ｄｄのいずれか）、縦軸は信頼度である。この例では、二つの閾値Ｔ１，Ｔ２を設けており、Ｔ１以下なら信頼度を０、Ｔ２以上なら信頼度を１としている。閾値は相関値指標ごとに変更してもよい。また閾値Ｔ１とＴ２の間の区間は、相関値指標と信頼度を非線形に対応付けてもよい。以降の説明では、各相関値指標から得られる信頼度をＲａ，Ｒｂ，Ｒｃ，Ｒｄと表現する。ここで、Ｒａ＝ｆ（Ｄａ），Ｒｂ＝ｆ（Ｄｂ），Ｒｃ＝ｆ（Ｄｃ），Ｒｄ＝ｆ（Ｄｄ）の関係にある。
【００９０】
最終的な動きベクトルの信頼度Ｒは、これらＲａ，Ｒｂ，Ｒｃ，Ｒｄを組み合わせて算出すればよい。ここでは、重み付け加算に基づく組み合わせ方法について説明する。重み付け加算による組み合わせでは、Ｒａ，Ｒｂ，Ｒｃ，Ｒｄの重みをそれぞれＷａ，Ｗｂ，Ｗｃ，Ｗｄとすれば、信頼度Ｒは式（８）のように計算される。
【００９１】
Ｒ＝Ｗａ×Ｒａ＋Ｗｂ×Ｒｂ＋Ｗｃ×Ｒｃ＋Ｗｄ×Ｒｄ      …（８）
例えば重みをＷａ＝０．４，Ｗｂ＝０．３，Ｗｃ＝０．２，Ｗｄ＝０．１とする。全ての信頼度が十分に高く、Ｒａ＝Ｒｂ＝Ｒｃ＝Ｒｄ＝１の場合には、式（８）よりＲ＝１．０となる。またＲａ＝０．６，Ｒｂ＝０．５，Ｒｃ＝０．７，Ｒｄ＝０．７のような場合には、式（８）よりＲ＝０．６となる。
【００９２】
論理演算による組み合わせでは、Ｒａ，Ｒｂ，Ｒｃ，Ｒｄに対する閾値をそれぞれＴａ，Ｔｂ，Ｔｃ，Ｔｄとすれば、信頼度Ｒは例えば論理積を用いて式（９）のように計算される。
【００９３】
Ｒ＝（Ｒａ≧Ｔａ）∧（Ｒｂ≧Ｔｂ）∧（Ｒｃ≧Ｔｃ）∧（Ｒｄ≧Ｔｄ）  …（９）  ∧は論理積を表す記号である。Ｒａ≧Ｔａ、Ｒｂ≧Ｔｂ、Ｒｃ≧Ｔｃ、Ｒｄ≧Ｔｄが全て成立する場合にＲ＝１（高信頼）、それ以外の場合にＲ＝０（低信頼）となる。また論理和を用いて式（１０）のように計算してもよい。
【００９４】
Ｒ＝（Ｒａ＜Ｔａ）↓（Ｒｂ＜Ｔｂ）↓（Ｒｃ＜Ｔｃ）↓（Ｒｄ＜Ｔｄ）  …（１０）
↓は否定論理和を表す記号である。Ｒａ＜Ｔａ、Ｒｂ＜Ｔｂ，Ｒｃ＜Ｔｃ、Ｒｄ＜Ｔｄの全てが成立しない場合にＲ＝１（高信頼）、それ以外の場合にＲ＝０（低信頼）となる。
【００９５】
ステップＳ１１０３では、クラスタリング部１００２は、ステップＳ２０５で得られた動きベクトルに対して、ステップＳ１１０２で得られた信頼度を用いてクラスタリング処理を行う。以下に、本実施形態におけるクラスタリング処理について説明する。ここでは、動きベクトルの大きさに着目してクラスタリング処理を行う。
【００９６】
最初に、動きベクトル検出部１０５により検出された全ての動きベクトルのうち、信頼度算出部１００１より算出された信頼度が所定の閾値よりも低いものを除去する。信頼度が低い動きベクトルは誤検出の可能性が高く、後述のクラスタリング処理で誤ったクラスタを形成する恐れがあるためである。
【００９７】
図１０において、破線の動きベクトル９０６は信頼度が所定の閾値よりも低く、誤検出と判定された動きベクトルである。図１０（ｄ）は、図１０（ｃ）の動きベクトル検出結果から、信頼度が低い動きベクトルを除去した状態を示している。この図１０（ｄ）に対して、各動きベクトルの大きさをグラフ（クラスタマップ）上にプロットしたものを図１６に示す。
【００９８】
図１６において、横軸は動きベクトルのＸ方向（水平方向）の大きさ、縦軸はＹ方向（垂直方向）の大きさを表す。Ｘ方向及びＹ方向において、符号が正の場合には、動きベクトルが上方向及び右方向を向いていることを示す。また、符号が負の場合には、動きベクトルが下方向及び左方向を向いていることを示す。
【００９９】
動きベクトルを、その大きさに着目してプロットすることによって、同じような方向及び大きさを有する２つ以上の動きベクトル同士が同じような位置にプロットされることになり、その結果として、動きベクトルの集合であるクラスタが形成される。
【０１００】
図１６において、クラスタ１５０１は、背景の動きベクトル９０４により形成されたクラスタ（以下、背景クラスタともいう）であり、クラスタ１５０２は、主被写体の動きベクトル９０５により形成されたクラスタ（以下、主被写体クラスタともいう）である。このように、動きベクトルに対してクラスタリング処理を行うことにより、背景と主被写体の動きベクトルを分離することが可能となる。これにより、各着目点および動きベクトルが、背景と主被写体のいずれに属しているかを表す所属が得られる。
【０１０１】
以上のようなクラスタリング処理は、順次生成される各フレーム画像に対して算出される複数の動きベクトルに対して順次行われる。また、本実施形態では、クラスタリング処理を動きベクトルの大きさに着目して行う場合について説明したが、動きベクトルの空間的な微分値を用いてクラスタリング処理を行う等の他のクラスタリング手法を用いてもよい。
【０１０２】
その後ステップＳ２０６の判定において、最終フレームまで処理が完了していない場合はステップＳ２０１に戻り、次にステップＳ２０２、そして再びステップＳ１１０１が実行される。２回目以降のステップＳ１１０１では、領域制御部１１２は、ステップＳ２０２で得られた背景度合いおよび被写体度合いだけでなく、ステップＳ１１０３のクラスタリングの結果に基づいて１つ以上の領域分割部を制御する。
【０１０３】
以下では、クラスタリングの結果を領域分割の制御に反映する方法について説明する。クラスタリングの結果から、各着目点および動きベクトルの所属が与えられる。各着目点の所属を領域制御に反映する方法について図１７を用いて説明する。
【０１０４】
図１７（ａ）では、図１０（ｂ）において被写体の動きベクトル９０５が検出された着目点が●印１６０１、背景の動きベクトル９０４が検出された着目点が×印１６０２として示されている。着目点設定領域（白い矩形領域）は、被写体領域に合わせて設定されている。一方、図１７（ｂ）では、被写体の動きベクトルが検出された着目点１６０１と、それを包含する領域１６０３が示されている。領域１６０３は、実際に被写体の動きベクトルを検出できる領域と見なせる。この例では、領域１６０３は被写体領域に対して内側に存在している。そのため、図１７（ｃ）のように、領域制御部１１２は、着目点設定領域を領域１６０３に合わせるように分割領域の大きさを変更する。
【０１０５】
なお、領域１６０３の決定方法として、ここでは全ての着目点１６０１を含む領域としたが、それに限られるものではない。例えば、全ての着目点１６０１の重心を求め、重心から近い所定数の着目点を選択し、選択された着目点を含むように領域１６０３を決定してもよい。
【０１０６】
次に各動きベクトルの所属を領域制御に反映する方法について説明する。背景と主被写体に対する着目度合いが同程度の場合について考えると、背景と主被写体の動きベクトルがそれぞれ均等に同数ずつ検出されることが望ましい。図１０（ｄ）の例では、背景の動きベクトルが２５本、主被写体の動きベクトルが１３本、誤検出の動きベクトルが１０本となっている。背景と主被写体の動きベクトルの合計は３８本であるので、これを均等に１９本ずつにすることが目標になる。ベクトル数を比較すると、目標の動きベクトルの数（以下、目標ベクトル数と呼ぶ）に対して、背景の動きベクトルは６本多く、被写体の動きベクトルは６本少ない。そのため、図６（ｅ）、図６（ｆ）のように、画面広域と主被写体領域に均等に２４個ずつ設定していた着目点設定領域を、それぞれ図１８（ａ）、図１８（ｂ）のように変更する。
【０１０７】
図１８（ａ）では、着目点設定領域の上限である４８個のうち１８個を画面広域に配置し、背景の動きを検出するようにしている。一方、図１８（ｂ）では、着目点の残りの３０個を主被写体領域に配置し、主被写体の動きを検出するようにしている。このように主被写体領域に配置する着目点の設定領域の数を増やすことで、背景と主被写体の動きベクトルの数が均等に近づくようにすることができる。
【０１０８】
主被写体の目標ベクトル数Ｎｔａｒは、図１９のように被写体度合いに応じて制御すればよい。この例では、二つの閾値Ｔ１，Ｔ２を設けており、Ｔ１以下なら０、Ｔ２以上なら上限のＮｍａｘとしている。なお、閾値Ｔ１とＴ２の間の区間は、被写体度合いと目標ベクトル数とを非線形に対応付けてもよい。また、主被写体ではなく、背景に対する目標ベクトル数を背景度合いに応じて同様に制御してもよい。
【０１０９】
実際に検出された主被写体のベクトル数をＮｃｕｒとすると、主被写体領域に配置する着目点の設定領域の数の変化量はΔＮ＝Ｎｔａｒ−Ｎｃｕｒとすればよい。主被写体領域に配置する着目点設定領域について、現在の数をＮｘ２，Ｎｙ２、クラスタリング結果反映後の数をＮｘ２’，Ｎｙ２’と表現する。クラスタリング結果を反映するには、Ｎｘ２×Ｎｙ２＋ΔＮ≧Ｎｘ２’×Ｎｙ２’の関係を満たすような最大の整数Ｎｘ２’とＮｙ２’を求めればよい。
【０１１０】
上述の例では、Ｎｘ２＝６、Ｎｙ２＝４、ΔＮ＝６であるため、Ｎｘ２’×Ｎｙ２’≦３０となる。例えば、水平の配置数を固定して考えると、Ｎｘ２’＝Ｎｘ２＝６となるので、Ｎｙ２’＝５が得られる。
【０１１１】
以上のようにして、クラスタリング結果である各着目点および動きベクトルの所属を領域制御に反映することができる。
【０１１２】
以上説明したように、本実施形態では、実際に検出された動きベクトルのクラスタリング結果を、分割領域の制御にフィードバックする。これにより、第１の実施形態よりもさらに背景と主被写体に対する着目度合いに適合した動きベクトル検出が可能となるという効果が得られる。
【０１１３】
（他の実施形態）
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現できる。
【符号の説明】
【０１１４】
１００：画像処理装置、１０１：画像入力部、１０２：領域制御部、１０３：着目点設定部、１０４：画像メモリ、１０５：動きベクトル検出部、１０６：カメラ情報取得部、１０７：着目対象推定部、１００１：信頼度算出部、１００２：クラスタリング部
【図１】
2018195084.tif 000006
【図２】
2018195084.tif 000007
【図３】
2018195084.tif 000008
【図４】
2018195084.tif 000009
【図５】
2018195084.tif 000010
【図６】
2018195084.tif 000011
【図７】
2018195084.tif 000012
【図８】
2018195084.tif 000013
【図９】
2018195084.tif 000014
【図１０】
2018195084.tif 000015
【図１１】
2018195084.tif 000016
【図１２】
2018195084.tif 000017
【図１３】
2018195084.tif 000018
【図１４】
2018195084.tif 000019
【図１５】
2018195084.tif 000020
【図１６】
2018195084.tif 000021
【図１７】
2018195084.tif 000022
【図１８】
2018195084.tif 000023
【図１９】
2018195084.tif 000024