(57)【要約】【課題】  撮像装置のぶれにより生じる動きベクトルと、移動物の移動による動きベクトルとの識別を、精度良く行えるようにする。【解決手段】  本発明に係わる画像処理装置は、時間的に連続するフレームを処理する画像処理装置であって、それぞれのフレームに対して複数のベクトル検出領域で動きベクトルを検出するベクトル検出手段と、フレームごとに前記ベクトル検出手段にて検出した前記動きベクトルに基づいて前記動きベクトル検出領域をグループ化したグループ領域を設定する設定手段と、異なるフレーム間で前記グループ領域同士を比較することで、当該フレーム間で対応するグループ領域を判定する判定手段とを有することを特徴とする。【選択図】  図７
2010079655.tif 000002
【特許請求の範囲】
【請求項１】
時間的に連続するフィールドを処理する画像処理装置であって、
それぞれのフィールドに対して、複数のベクトル検出領域で動きベクトルを検出するベクトル検出手段と、
フィールドごとに、前記ベクトル検出手段にて検出した前記動きベクトルに基づいて前記ベクトル検出領域をグループ化したグループ領域を設定する設定手段と、
異なるフィールド間で前記グループ領域同士を比較することで、当該フィールド間で対応するグループ領域を判定する判定手段とを有することを特徴とする画像処理装置。
【請求項２】
前記判定手段は、異なるフィールド間で前記グループ領域の座標の重心を比較することで、当該フィールド間で対応するグループ領域を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、異なるフィールド間で前記グループ領域の重心同士の距離が予め定められた値よりも小さい場合は、前記異なるフィールド間で前記グループ領域の座標のばらつきの値同士を比較することで、当該フィールド間で対応するグループ領域を判定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記判定手段は、異なるフィールド間で前記グループ領域の座標のばらつきの値同士を比較することで、当該フィールド間で対応するグループ領域を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記判定手段は、異なるフィールド間で前記グループ領域の座標のばらつきの値同士の差が予め定められた値よりも小さい場合は、前記異なるフィールド間で前記グループ領域の重心同士を比較することで、当該フィールド間で対応するグループ領域を判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記設定手段は、前記ベクトル検出領域ごとの動きベクトルを、その大きさを階級とする度数分布上に振り分け、度数の大きさと階級間の距離に基づいて前記ベクトル検出領域ごとの動きベクトルを１つ以上のグループに分類し、分類された動きベクトルが対応する領域をグループ領域として設定することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
フィールドに複数のベクトル検出領域を設定し、フィールド間の相関から、設定されたそれぞれのベクトル検出領域において動きベクトルを検出する検出手段と、
前記それぞれのベクトル検出領域にて検出される動きベクトルに基づいて、前記それぞれのベクトル検出領域をグループに分類する領域分類手段と、
前記領域分類手段により分類された結果、前記それぞれのベクトル検出領域が複数のグループに分類された場合に、当該複数のグループから基準となる１つのグループを決定する決定手段とを備え、
前記決定手段は、前記複数のグループの重心と、前フィールドにおいて決定された１つのグループの重心との距離の差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする画像処理装置。
【請求項８】
前記決定手段は、前記複数のグループの重心と、基準となる画像データにおいて決定された１つのグループの重心との距離の差分が所定値より小さい場合には、
現在のフィールドにおける前記複数のグループそれぞれのベクトル検出領域のばらつき度合いを示す値と、前記前フィールドにおいて決定された１つのグループに属するベクトル検出領域のばらつき度合いを示す値との差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする、請求項７に記載の画像処理装置。
【請求項９】
フィールドに複数のベクトル検出領域を設定し、フィールド間の相関から、設定されたそれぞれのベクトル検出領域において動きベクトルを検出する検出手段と、
前記それぞれのベクトル検出領域にて検出される動きベクトルに基づいて、前記それぞれのベクトル検出領域をグループに分類する領域分類手段と、
前記領域分類手段により分類された結果、前記それぞれのベクトル検出領域が複数のグループに分類された場合に、当該複数のグループから基準となる１つのグループを決定する決定手段とを備え、
前記決定手段は、前記複数のグループのベクトル検出領域のばらつき度合いを示す値と、前フィールドにおいて決定された１つのグループのベクトル検出領域のばらつき度合いを示す値との差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする画像処理装置。
【請求項１０】
前記決定手段は、前記複数のグループのベクトル検出領域のばらつき度合いを示す値と、基準となる画像データにおいて決定された１つのグループのベクトル検出領域のばらつき度合いを示す値との差分が所定値より小さい場合には、
現在のフィールドにおける前記複数のグループそれぞれのベクトル検出領域の重心と、前記前フィールドにおいて決定された１つのグループに属するベクトル検出領域の重心から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする、請求項９に記載の画像処理装置。
【請求項１１】
前記領域分類手段は、前記それぞれのベクトル検出領域ごとの動きベクトルを、その大きさを階級とする度数分布上に振り分け、度数の大きさと階級間の距離に基づいて前記それぞれのベクトル検出領域ごとの動きベクトルを１つ以上のグループに分類することを特徴とする請求項７乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記決定手段は、前記領域分類手段により分類された結果、前記それぞれのベクトル検出領域ごとの動きベクトルが複数のグループに分類された場合に、該複数のグループのうちベクトル検出領域のばらつき度合いを示す値が最も大きいグループを決定することを特徴とする請求項７乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記決定手段は、前記領域分類手段により分類された結果、前記それぞれのベクトル検出領域ごとの動きベクトルが複数のグループに分類された場合に、該複数のグループのうちベクトル検出領域の数が最も多いグループを決定することを決定とする請求項７乃至１１のいずれか１項に記載の画像処理装置。
【請求項１４】
請求項１ないし１３いずれか１項に記載の画像処理装置を備えることを特徴とする撮像装置。
【請求項１５】
前記撮像装置は、更に前記画像処理装置の出力に基づいて振れを補正する振れ補正手段を備えることを特徴とする請求項１４に記載の撮像装置。
【請求項１６】
時間的に連続するフィールドを処理する画像処理方法であって、
それぞれのフィールドに対して、複数のベクトル検出領域で動きベクトルを検出するベクトル検出工程と、
フィールドごとに、前記ベクトル検出手段にて検出した前記動きベクトルに基づいて前記ベクトル検出領域をグループ化したグループ領域を設定する設定工程と、
異なるフィールド間で前記グループ領域同士を比較することで、当該フィールド間で対応するグループ領域を判定する判定工程とを有することを特徴とする画像処理方法。
【請求項１７】
フィールドに複数のベクトル検出領域を設定し、フィールド間の相関から、設定されたそれぞれのベクトル検出領域において動きベクトルを検出する検出工程と、
前記それぞれのベクトル検出領域にて検出される動きベクトルに基づいて、前記それぞれのベクトル検出領域をグループに分類する領域分類工程と、
前記領域分類工程により分類された結果、前記それぞれのベクトル検出領域が複数のグループに分類された場合に、当該複数のグループから基準となる１つのグループを決定する決定工程とを備え、
前記決定工程は、前記複数のグループの重心と、前フィールドにおいて決定された１つのグループの重心との距離の差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする画像処理方法。
【請求項１８】
フィールドに複数のベクトル検出領域を設定し、フィールド間の相関から、設定されたそれぞれのベクトル検出領域において動きベクトルを検出する検出工程と、
前記それぞれのベクトル検出領域にて検出される動きベクトルに基づいて、前記それぞれのベクトル検出領域をグループに分類する領域分類工程と、
前記領域分類工程により分類された結果、前記それぞれのベクトル検出領域が複数のグループに分類された場合に、当該複数のグループから基準となる１つのグループを決定する決定工程とを備え、
前記決定工程は、前記複数のグループのベクトル検出領域のばらつき度合いを示す値と、前フィールドにおいて決定された１つのグループのベクトル検出領域のばらつき度合いを示す値との差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする画像処理方法。
【請求項１９】
請求項１６乃至１８の何れか１項に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項２０】
請求項１９のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオカメラなどによって撮影された動画像のぶれを補正する装置等に適用する、画像処理装置及び方法の技術に関するものである。
【背景技術】
【０００２】
ビデオカメラなどの動画像を撮影する撮像装置においては、特にレンズを望遠側にズームしたときに、手ぶれにより画像がぶれることが問題となる。このような手ぶれによる画像のぶれを防止するために、従来より撮影した画像信号から画像の動きベクトルを検出し、この動きベクトルに基づいて画像のぶれを補正する技術が提案されている。この補正技術を搭載した撮像装置が特許文献１（特開平６−１３３２９８号公報）に記載されている。
【０００３】
また、画像の動きベクトルを検出する方法としては、従来より、相関演算に基づく相関法やブロックマッチング法等が知られている。
【０００４】
ブロックマッチング法では、入力された画像信号を複数の適当な大きさ（例えば８画素×８ライン）のブロック領域（以下、ベクトル検出領域とする）に分割する。そして、このベクトル検出領域単位で前のフィールド（またはフレーム）の一定範囲の画素との差を計算し、この差の絶対値の和が最小となる前のフィールド（またはフレーム）のベクトル検出領域を探索する。そして、画面間の相対的なずれが、そのベクトル検出領域の動きベクトルを表している。
【０００５】
また、マッチング演算については、尾上守夫等により、情報処理Ｖｏｌ．１７，Ｎｏ．７，ｐ．６３４〜６４０  Ｊｕｌｙ  １９７６  で詳しく論じられている。
【０００６】
次に、ブロックマッチング法を用いた従来の動きベクトル検出法の一例を、図面を用いて説明する。図１５は従来の動きベクトル検出法によりぶれを防止する装置の概略ブロック図である。
【０００７】
まず動きベクトルの検出対象となる画像信号（フィールドまたはフレーム）が画像メモリ１０１及び空間周波数成分を抽出するフィルタ１０２に加えられる。画像メモリ１０１は画像信号を一時記憶する。フィルタ１０２は画像信号から動きベクトル検出に有用な空間周波数成分を抽出する。即ち、画像信号の低空間周波数成分及び高空間周波数成分を除去する。
【０００８】
フィルタ１０２を通過した画像信号は２値化回路１０３に加えられる。２値化回路１０３は画像信号を、ゼロレベルを基準として２値化する。具体的には出力信号の符号ビットを出力する。
【０００９】
２値化された画像信号は相関演算回路１０４及び１フィールド期間遅延手段としてのメモリ１０５に加えられる。相関演算回路１０４には更にメモリ１０５から前フィールドの画像信号が加えられている。
【００１０】
相関演算回路１０４はブロックマッチング法に従い、上記のように適当な大きさのベクトル検出領域に画像領域を分割し、ベクトル検出領域単位に時間的に連続する画像データ間の相関演算を行い、その結果の相関値を動きベクトル検出回路１０６に加える。動きベクトル検出回路１０６は算出された相関値からベクトル検出領域単位の動きベクトルを検出する。具体的には相関値が最小となる前フィールドのベクトル検出領域を探索し、その相対的なずれを動きベクトルとしている。
【００１１】
このベクトル検出領域単位の動きベクトルは動きベクトル決定回路１０７に加えられる。動きベクトル決定回路１０７はベクトル検出領域単位の動きベクトルから全体の動きベクトルを決定する。具体的には、ベクトル検出領域単位の動きベクトルの中央値または平均値を画像全体の動きベクトルとしている。
【００１２】
動きベクトル決定回路１０７は全体の動きベクトルをメモリ読み出し制御回路１０８に加える。メモリ読み出し制御回路１０８は上記の全体の動きベクトルに応じて画像の動きが相殺されるように画像メモリ１０１の読み出し位置を制御し、画像メモリ１０１からぶれが補正された画像信号が出力される。
【００１３】
しかしながら、上記の方法では、画像中に移動被写体がある場合、例えば検出された動きベクトルの平均値を全体の動きベクトルにすると、画像中の移動被写体の動きが混入してしまう。その結果、移動被写体が画面内の元の位置にとどまるように画像メモリの読み出し位置が変化し、それにより本来動きがないはずである画面内の領域の位置が変化するため、画面が移動被写体に引っ張られたような動きをしてしまう。
【００１４】
本違和感回避のためには、移動物の領域への追従を防止し、背景の動きベクトルのみに追従するよう制御する必要がある。そこで特許文献２（特開２００７−２３５７６９号公報）のように、画面内に移動物が存在する場合に、領域の多数を占めるベクトルグループを検出し、それによって背景と移動物を見分けることによって対してぶれ補正を行うという方法が提案されている。
【特許文献１】特開平６−１３３２９８号公報
【特許文献２】特開２００７−２３５７６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら特許文献２の方法は、１フレームごとにグループ中のベクトル領域の離散度合いの情報を用いる移動物領域判定であるため、移動物領域判定が時系列で関連付けられていない。それゆえ、背景と移動物の離散度合いの大きさが同程度であるときや移動物が徐々に大きくなる場合などは、手ブレ補正する領域を誤判定したり、ぶれ補正の対象となるグループが切り替わったりしてしまうという課題があった。
【００１６】
そこで本発明は、上述した課題に鑑みて、フレームごとでの移動物領域判定において、時系列で関連付けを行うことによって、撮影中に誤判定しないよう撮像装置のぶれと移動物の移動による動きベクトルとの識別を精度良く行うことを目的とする。特に移動物の大きさが大きい場合や、移動物が徐々に大きくなる場合にも、誤判定しないよう、撮像装置のぶれにより生じる動きベクトルと移動物の移動による動きベクトルとの識別を精度良く行うことを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、時間的に連続するフィールドを処理する画像処理装置であって、それぞれのフィールドに対して、複数のベクトル検出領域で動きベクトルを検出するベクトル検出手段と、フィールドごとに、前記ベクトル検出手段にて検出した前記動きベクトルに基づいて前記ベクトル検出領域をグループ化したグループ領域を設定する設定手段と、異なるフィールド間で前記グループ領域同士を比較することで、当該フィールド間で対応するグループ領域を判定する判定手段とを有することを特徴とする。
【００１８】
さらに、本発明の別の実施形態に係わる画像処理装置は、フィールドに複数のベクトル検出領域を設定し、フィールド間の相関から、設定されたそれぞれのベクトル検出領域において動きベクトルを検出する検出手段と、前記それぞれのベクトル検出領域にて検出される動きベクトルに基づいて、前記それぞれのベクトル検出領域をグループに分類する領域分類手段と、前記領域分類手段により分類された結果、前記それぞれのベクトル検出領域が複数のグループに分類された場合に、当該複数のグループから基準となる１つのグループを決定する決定手段とを備え、前記決定手段は、前記複数のグループの重心と、前フィールドにおいて決定された１つのグループの重心との距離の差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする。
【００１９】
さらに、本発明の別の実施形態に係わる画像処理装置は、フィールドに複数のベクトル検出領域を設定し、フィールド間の相関から、設定されたそれぞれのベクトル検出領域において動きベクトルを検出する検出手段と、前記それぞれのベクトル検出領域にて検出される動きベクトルに基づいて、前記それぞれのベクトル検出領域をグループに分類する領域分類手段と、前記領域分類手段により分類された結果、前記それぞれのベクトル検出領域が複数のグループに分類された場合に、当該複数のグループから基準となる１つのグループを決定する決定手段とを備え、前記決定手段は、前記複数のグループのベクトル検出領域のばらつき度合いを示す値と、前フィールドにおいて決定された１つのグループのベクトル検出領域のばらつき度合いを示す値との差分から、前記前フィールドにおいて決定された１つのグループに対応するグループを決定することを特徴とする。
【００２０】
また、本発明に係わる撮像装置は、上記の画像処理装置を備えることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、フレームごとでの移動物領域判定において時系列で関連付けを行うことによって、撮影中に誤判定しないよう、撮像装置のぶれにより生じる動きベクトルと移動物の移動による動きベクトルとの識別を精度良く行うことが可能になる。特に移動物の大きさが大きい場合や、移動物が徐々に大きくなる場合にも、誤判定しないよう、撮像装置のぶれにより生じる動きベクトルと移動物の移動による動きベクトルとの識別を精度良く行うことが可能になる。
【発明を実施するための最良の形態】
【００２２】
（実施例１）
図１は、本発明の一実施形態に係わる画像処理装置を組み込んだ撮像装置としてのビデオ又はカメラの構成を示すブロック図である。図１は、一実施形態のビデオカメラの電気的構成を示すブロック図である。
【００２３】
図１において、１１はレンズおよび絞りからなる撮像光学系、１２はＣＣＤやＣＭＯＳセンサ等からなる固体撮像素子である。２１は、撮像光学系１１の内部の不図示のズームレンズ、フォーカスレンズ、絞り等を駆動するための駆動回路である。２３は、撮像素子１２を駆動するための駆動回路である。１３は撮影した画像データに必要な信号処理を行う信号処理回路である。１４は信号処理回路１３で信号処理された画像データから、動きベクトルを検出する動きベクトル検出装置である。１５は動きベクトル検出部１４により検出された動きベクトルから、記録または表示する画像データの範囲を決める制御を行うメモリ読み出し制御回路である。１６は信号処理された画像データを記憶する画像メモリである。
【００２４】
１８はメモリカード、ハードディスク等からなる記録媒体、１７は信号処理された画像データを記録媒体１８に記録するための記録回路、２０は信号処理された画像データを表示する表示装置、１９は表示装置２０に画像を表示する表示回路である。２２はビデオカメラ全体を制御するシステム制御部である。
【００２５】
以下、上記のように構成されるビデオカメラにおける撮影動作について説明する。
【００２６】
まず、駆動回路２１は、システム制御部２２からの制御信号に基づいて、撮像光学系１１内のズームレンズ、フォーカスレンズ、絞りを駆動して、被写体像を撮像素子１２上に結像させる。
【００２７】
撮像素子１２は、システム制御部２２により制御される駆動回路２１が発生する駆動パルスにより駆動され、被写体像を光電変換して電気信号に変換し、アナログ画像信号を出力する。撮像素子１２から出力されたアナログ画像信号は、信号処理回路１３の内部の不図示のＡ／Ｄ変換器でデジタル画像信号に変換される。
【００２８】
次に、システム制御部２２により制御される信号処理回路１３では、デジタル画像信号に対して、不図示の色変換、ホワイトバランス補正、ガンマ補正等の画像処理、解像度変換処理、画像圧縮処理等が行われる。画像メモリ１６は、信号処理中のデジタル画像信号を一時的に記憶したり、信号処理されたデジタル画像信号である画像データを記憶したりするために用いられる。
【００２９】
本発明の画像処理装置である動きベクトル検出部１４は、信号処理回路１３で信号処理された画像データから動きベクトルを検出する（詳細は後述する）。メモリ読み出し制御回路１５は、動きベクトル検出部１４により検出された動きベクトル情報に基づいて、画像ぶれが補正されるように、記録または表示する画像データの範囲を決定する制御を行う。
【００３０】
信号処理回路１３で信号処理された画像データや画像メモリ１６に記憶されている画像データは、記録回路１７において記録媒体１８への記録に適したデータ（例えば階層構造を持つファイルシステムデータ）に変換されて記録媒体１８に記録される。また、信号処理回路１３で解像度変換処理が実施された後、表示回路１９において表示装置２０に適した信号（例えばＮＴＳＣ方式のアナログ信号等）に変換されて表示装置２０に表示されたりする。
【００３１】
図２は、動きベクトル検出部１４の概略構成を示すブロック図である。図１８と同一符号は同一構成要素を示しており、重複する説明は省略する。
【００３２】
図２においては、ベクトル検出領域単位の動きベクトルを検出する動きベクトル検出回路１０６の後段に、動きベクトル分類回路３０と動きベクトル制御回路３１が備えられている点が、図１８と相違している。動きベクトル分類回路３０の動作について以下に説明する。
【００３３】
図３（Ａ）は、撮影した現フィールドの画面上に、動きベクトル検出のためのベクトル検出領域を示した一例を示す図である。図３（Ｂ）は、直前のフィールドとの差により得られた動きベクトルを示す図である。また、図３（Ｃ）は、全ベクトル検出領域の動きベクトルのＸ方向（画面横方向）、Ｙ方向（画面縦方向）のそれぞれの大きさの頻度を示すヒストグラム（度数分布）である。
【００３４】
動きベクトル分類回路３０では、まずこのヒストグラムデータの作成を行う。より具体的には、度数分布の横軸を動きベクトルの大きさとし、所定の大きさ（範囲）ごとに区切って階級を設定する。そして、検出された各ベクトル検出領域の動きベクトルを、その大きさにより何れの階級に属するかを判断して、それぞれの度数としてプロットする。図３（Ｂ）の例によれば、各ベクトル検出領域の動きベクトルとして、トータル４０個の動きベクトルが検出されるが、この４０の度数を属する階級に振り分けてプロットすることで各階級の度数（頻度）を得ることができる。なお、それぞれ範囲を持つ階級の階級値としては、その階級の上限値と下限値の中間値を用いればよい。
【００３５】
図４（Ａ）〜（Ｃ）は撮影した現フィールドにおける動きベクトルの検出の例を示す図である。図４（Ａ）に示すように時刻ｔ１時に画面内に移動している被写体が存在しているとする。この被写体が移動している場合、前フィールドと現フィールドの差異を取った移動被写体の領域における動きベクトルは、図４（Ｂ）に示すようにその他の領域とは異なる。このときＸ方向の大きさの頻度を表すヒストグラムは、図４（Ｃ）に示すように、グループ１とグループ２の２つのピークが存在する形となり、グループ化できる。グループ２は移動被写体の領域の動きベクトルであり、グループ１はその他の領域の動きベクトルであることが、図４（Ａ）との関係で理解できる。ただし、この段階では、分離され得る２つのグループが検出できただけである。どちらのグループが手ぶれのみの動きベクトルを表すグループであるか、手ぶれに被写体の動きが重畳されたグループであるかは、図４（Ｃ）のヒストグラムからは分からない。この判断については後述する。
【００３６】
図５は、撮影した現フィールドの画面上でのベクトル検出領域におけるＸ方向の大きさの頻度を表したヒストグラムの一例である。まず、検出された動きベクトルをグループに分類する方法について説明する。図５の度数分布上のプロットに対し、プロット５０３、５０５のような極値（ピーク）を探索する。ただし、この極値は予め定められた度数ｐを超えるものである事とする。そして、極値が複数見つかった場合、それらの階級間の距離が予め定められたｃを超えるものであるかを判断する。超えているものであれば、それらは互いに別グループと判定し、超えていなければ同一グループであると判定する。このようにして定められたグループは、その中で最も大きな度数を持つ階級をそのグループの代表階級とし、その階級値をそのグループの代表する代表階級値とする。なお、階級間距離ｃは、動きベクトル検出誤差よりも大きな値に設定される。
【００３７】
図５の場合、極値はプロット５０３とプロット５０５であり、これらは度数ｐを超えるものである。そして、これらの階級間の距離はｄであり、これはｃより大きいので、別グループであると判定できる。一方度数ｐを超えるものの、極値であるプロット５０３に隣接するプロット５０２は、階級間の距離がｃを超えるものではないので、極値５０３のグループと同一グループであると判断できる。そして、これらに隣接し、度数ｐを超えないプロット５０１も、極値５０３のグループと同一グループであると判断できる。同様に、極値５０５に隣接するプロット５０４は、極値５０５と同一グループであると判断できる。このようにして、各ベクトル検出領域ごとに検出された動きベクトルは、１つ以上のグループに分類され、グループには代表する代表階級値、すなわちそのグループとしての代表動きベクトルを求めることができる。なお、このグループ領域ごとに分ける領域分類の処理は、動きベクトル分類回路３０で行われる。
【００３８】
次に、図６と図７に示すフローチャートを参照して動きベクトル制御回路３１の動作について説明する。図７のステップＳ１０において動きベクトル制御回路３１は、動きベクトル分類回路３０が現フィールドにおいて複数個の動きベクトルのグループを検出したか否かを判定する。検出された動きベクトルのグループが１つである場合は、ステップＳ１１に進む。また、検出された動きベクトルのグループが複数個存在する場合は、ステップＳ１２に進む。
【００３９】
ステップＳ１１においてはベクトル決定を行う。ステップＳ１０で検出された動きベクトルのグループが１つであると判定されたので、当該グループの代表動きベクトルを画面全体（画像データ全体）の動きベクトルとして決定する。
【００４０】
ステップＳ１２において、ステップＳ１０で検出された動きベクトルのグループが複数あると判定されたので、それぞれのグループに属するベクトル検出領域の画面内における重心座標とベクトル検出領域のばらつき度合いを示す値を算出する。
【００４１】
ここで、ステップＳ１２の処理について図６を用いて説明する。なお、本説明においては、動きベクトルのグループが複数設定されている、図４（Ａ）〜（Ｃ）の状態を例に用いる。
【００４２】
まず図６（Ａ）に示すように、各ベクトル検出領域の画面内における座標を定義する。
【００４３】
いま、図４（Ｃ）におけるグループ１に属するベクトル検出領域の重心座標をＧ０１（ＧＸ０１，ＧＹ０１）、図４（Ｃ）におけるグループ１に属するベクトル検出領域のばらつき度合いを示す値をＺ０１と定義する。一方、図４（Ｃ）におけるグループ２に属するベクトル検出領域の重心座標をＧ０２（ＧＸ０２，ＧＹ０２）、図４（Ｃ）におけるグループ２に属するベクトル検出領域のばらつき度合いを示す値をＺ０２と定義する。
【００４４】
ここで、グループ２に属する各ベクトル検出領域の座標は図６（Ａ）に示す座標において、以下の６個となる。
（Ｘ１，Ｙ１），（Ｘ１，Ｙ２），（Ｘ１，Ｙ３），（Ｘ２，Ｙ１），（Ｘ２，Ｙ２），（Ｘ２，Ｙ３）
このとき、Ｇ０２＝（ＧＸ０２，ＧＹ０２）、及びＺ０２を求める計算式を（式１）、（式２）、（式３）に示す。グループ１の重心座標Ｇ０１＝（ＧＸ０１，ＧＹ０１）、及びベクトル検出領域のばらつき度合いを示す値Ｚ０１についても、同様の方法で求めることができる。
ＧＸ０２＝（Ｘ１＋Ｘ１＋Ｘ１＋Ｘ２＋Ｘ２＋Ｘ２）／６      （式１）
ＧＹ０２＝（Ｙ１＋Ｙ２＋Ｙ３＋Ｙ１＋Ｙ２＋Ｙ３）／６      （式２）
Ｚ０２＝［｛（Ｘ１−ＧＸ０２）２＋（Ｙ１−ＧＹ０２）２｝＋｛（Ｘ１−ＧＸ０２）２＋（Ｙ２−ＧＹ０２）２｝＋
｛（Ｘ１−ＧＸ０２）２＋（Ｙ３−ＧＹ０２）２｝＋｛（Ｘ２−ＧＸ０２）２＋（Ｙ１−ＧＹ０２）２｝＋
｛（Ｘ２−ＧＸ０２）２＋（Ｙ２−ＧＹ０２）２｝＋｛（Ｘ２−ＧＸ０２）２＋（Ｙ３−ＧＹ０２）２｝］／６      （式３）
図６（Ｂ）に、図４（Ｃ）におけるグループ１及びグループ２の画面内における重心座標の位置を示す。また、図６（Ｃ）に図４（Ｃ）のグループ１及びグループ２の代表動きベクトルの大きさとベクトル検出領域のばらつき度合いを示す値の大きさの関係を表すグラフを示す。  図７に示すフローチャートに戻り、次にステップＳ１３において、動きベクトル制御回路３１は前フィールドで複数個の動きベクトルのグループが検出されたかどうかの判定を行う。前フィールドで複数個の動きベクトルのグループが検出されていない場合は、ステップＳ１４に進み、前フィールドで複数個の動きベクトルのグループが検出されている場合は、ステップＳ１５に進む。
【００４５】
ステップＳ１４において、動きベクトル制御回路３１は１つのグループを基準のグループとして決定する。ステップＳ１４に進んだ場合、ステップＳ１３にて前フィールドで複数個の動きベクトルのグループが検出されていない。よって、画面上に全フィールドでは存在しなかった移動物が入ってきたか、静止していた移動物が動きだした可能性が高い。
【００４６】
本実施例においては、現フィールドでの上記複数個の動きベクトルのグループのうち、ステップＳ１２で求めたベクトル検出領域のばらつき度合いを示す値が大きい方のグループを、移動被写体が存在しないグループつまり背景のグループと判断する。そして、当該グループの代表動きベクトルを画面全体（画像データ全体）の動きベクトルとして決定する。
【００４７】
本実施例においてベクトル検出領域のばらつき度合いを示す値が大きい方のグループを決定する理由は、ほとんどの撮影シーンにおいて、被写体が存在する領域よりも、背景の領域の方が広いためである。また被写体を中心に撮影することが多いため、被写体の大きさがある程度大きい場合においても、ベクトル検出領域のばらつき度合いを示す値は背景の領域の方が大きくなることも理由の一つである。
【００４８】
現フィールドが図６（Ｂ）に示す状態であるとき、グループ１のベクトル検出領域のばらつき度合いを示す値をＺ０１、グループ２のベクトル検出領域のばらつき度合いを示す値をＺ０２とする。また、動きベクトルの大きさとベクトル検出領域のばらつき度合いを示す値の大きさの関係を図６（Ｃ）に示す。いま、図６（Ｃ）の状態においては、Ｚ０１＞Ｚ０２であるので、ベクトル検出領域のばらつき度合いを示す値が大きい方のグループであるグループ１の代表動きベクトルが、画面全体（画像データ全体）の動きベクトルとして決定される。
【００４９】
ステップＳ１５においては、動きベクトル制御回路３１は移動被写体識別処理を行う。ステップＳ１５に進んだ場合、ステップＳ１３で前フィールドで複数個の動きベクトルのグループが検出されているので、画面上の移動物が移動しているということである。ステップＳ１５の移動被写体識別処理の１つ目の方法について、図８に示す画面の状態図と図９に示すフローチャートを用いて説明する。
【００５０】
ステップＳ２０においては、前フィールドで画面全体の動きベクトルとして決定されたグループ領域と、現フィールドで検出された複数の動きベクトルのグループ領域同士を比較し、対応するグループであるかの判定を行う。具体的には、前フィールドで画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標との距離の差分の演算を行う。
【００５１】
ステップＳ２１においては、ステップＳ２０で演算した重心座標同士の距離の差分が最も小さいグループの代表動きベクトルを画面全体の動きベクトルとして決定し、前フィールドで決定されたグループとステップＳ２１にて決定されたグループが同じグループであるとする。以下、ステップＳ２０及びステップＳ２１の処理について詳細に説明を行う。
【００５２】
本実施例においては、前フィールド（時刻ｔ２−Δｔ）の画面が図８（Ａ）に示す状態であり、Δｔ秒後の現フィールド（時刻ｔ２）の画面が図８（Ｄ）に示す状態であったとする。また、前フィールドの動きベクトルの各グループの重心座標は図８（Ｂ）に示す状態であり、現フィールドの動きベクトルの各グループの重心座標は図８（Ｅ）に示す状態であるとする。また、前フィールドの動きベクトルの各グループの代表動きベクトルの大きさとばらつき度合いを示す値の関係は図８（Ｃ）に示す状態であるとする。また、現フィールドの動きベクトルの各グループの代表動きベクトルの大きさばらつき度合いを示す値の関係は図８（Ｆ）に示す状態であるとする。
【００５３】
またステップＳ１４の処理において、ばらつき度合いを示す値が大きい方のグループである、図８（Ｂ）のグループ１１が前フィールドで画面全体の動きベクトルとして決定されているものとする。
【００５４】
ステップＳ２０における前フィールドで代表動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標との距離の差分の演算は、以下のように行う。前フィールドで検出されたグループ１１の重心座標Ｇ１１＝（ＧＸ１１，ＧＹ１１）と、現フィールドで検出されたグループ２１の重心座標Ｇ２１＝（ＧＸ２１，ＧＹ２１）との距離の差分をΔＧ［２１］とする。また、グループ１１の重心座標Ｇ１１＝（ＧＸ１１，ＧＹ１１）と、現フィールドで検出されたグループ２２の重心座標Ｇ２２＝（ＧＸ２２，ＧＹ２２）との距離の差分をΔＧ［２２］とする。ΔＧ［２１］とΔＧ［２２］を求める計算式を（式４）、（式５）に示す。
ΔＧ［２１］＝｜Ｇ１１−Ｇ２１｜＝｛（ＧＸ１１−ＧＸ２１）２＋（ＧＹ１１−ＧＹ２１）２｝１／２      （式４）
ΔＧ［２２］＝｜Ｇ１１−Ｇ２２｜＝｛（ＧＸ１１−ＧＸ２２）２＋（ＧＹ１１−ＧＹ２２）２｝１／２      （式５）
ＮＴＳＣ方式においてはフィールド間の期間が１／６０秒という短い時間であり、動きベクトルの各グループの重心座標が前フィールドと現フィールドで大きく変わる可能性は低い。よって、現フィールドにおける複数のグループのうち、前フィールドで決定された移動被写体が存在しないグループの重心座標と、重心座標の距離が近い方のグループが、現フィールドにおいて移動被写体が存在しない可能性が高い。よって、前フィールドで画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された複数の動きベクトルのグループの重心座標との距離の差分を演算したときに、差分が最も小さいグループを画面全体の動きベクトルとして決定する。こうすることで、移動被写体の存在しないベクトル検出領域のグループをより確実に決定することが可能となる。
【００５５】
ここで、ステップＳ２１において、図８（Ｂ）と図８（Ｅ）に示すようにΔＧ［２１］＜ΔＧ［２２］である。よってグループ２１が現フィールドにおいて決定されるグループとなり、グループ２１とグループ１１が前フィールドで決定された移動被写体が存在しないグループと判断される。
【００５６】
なお、ステップＳ２０及びＳ２１の処理において、以下の他の方法でも同様の効果が得られる。前フィールドで画面全体の動きベクトルとして決定されなかったグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標との差分が最も小さいグループを画面全体の動きベクトルの決定対象から除外する。そして残ったグループの代表動きベクトルを画面全体の動きベクトルとして決定するようにしても、同様の効果が得られる。
【００５７】
本実施例における動きベクトル検出装置を組み込んだ撮像装置としてのビデオ又はカメラを使用して、移動被写体が存在しないと判断された方のグループに手ぶれ補正処理を行うことで、移動被写体に画面が引っ張られる現象を防止することが可能となる。
【００５８】
（実施例２）
ステップＳ１５の移動被写体識別処理の２つ目の方法について、図８に示す画面の状態図と図１０に示すフローチャートを用いて説明する。
【００５９】
ステップＳ３０において、前フィールドで画面全体の動きベクトルとして決定されたばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルのばらつき度合いを示す値同士を比較し、対応するグループであるかの判定を行う。具体的には、前フィールドで画面全体の動きベクトルとして決定されたグループのベクトル検出領域のばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルの各グループのベクトル検出領域のばらつき度合いを示す値同士を比較する。ばらつき度合いを示す値同士の比較は、本実施例では、ばらつきを示す値同士の差分の演算を行う。そしてステップＳ３１において、上記差分が最も小さいグループの代表動きベクトルを画面全体の動きベクトルとして決定する。
【００６０】
以下、ステップＳ３０及びステップＳ３１の処理について詳細に説明を行うが、本実施例において、図８の状態は実施例１と同様とする。また、ステップＳ１４の処理においてばらつき度合いを示す値が大きい方のグループである、図８（Ｂ）のグループ１が前フィールドで画面全体の動きベクトルとして決定されているものとする。
【００６１】
ステップＳ３０では、グループ１１のベクトル検出領域のばらつき度合いを示す値Ｚ１１と、現フィールドで検出されたグループ２１のベクトル検出領域のばらつき度合いを示す値Ｚ２１との差分をΔＺ［２１］とする。また、グループ１１のベクトル検出領域のばらつき度合いを示す値Ｚ１１と、現フィールドで検出されたグループ２２のベクトル検出領域のばらつき度合いを示す値Ｚ２２との差分をΔＺ［２２］とする。ΔＺ［２１］とΔＺ［２２］を求める計算式を（式６）、（式７）に示す。
ΔＺ［１］＝｜Ｚ２１−Ｚ１１｜      （式６）
ΔＺ［２］＝｜Ｚ２２−Ｚ１１｜      （式７）
ＮＴＳＣ方式においてはフィールド間の期間が１／６０秒という短い時間であり、現フィールドと１つ前のフィールドでは、ばらつき度合いを示す値が前フィールドと現フィールドで大きく変わる可能性は低い。よって、現フィールドにおける複数のグループのうち、前フィールドで決定された移動被写体が存在しないグループと、ばらつき度合いを示す値が近い方のグループが、現フィールドにおいて移動被写体が存在しない可能性が高い。また、前フィールドで画面全体の動きベクトルとして決定されたグループのばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルのグループのばらつき度合いを示す値との差分を演算する。そのときに、差分の最も小さいグループを画面全体の動きベクトルとすれば、移動被写体の存在しないベクトル検出領域をより確実に決定することが可能となる。
【００６２】
ここで、ステップＳ３１において、図８（Ｂ）と図８（Ｅ）に示すようにΔＺ［２１］＜ΔＺ［２２］である。よってグループ２１が現フィールドにおいて決定されるグループとなり、グループ２１とグループ１１が前フィールドで決定された移動被写体が存在しないグループと判断される。
【００６３】
なお、ステップＳ３０及びＳ３１の処理においては、前フィールドで画面全体の動きベクトルとして決定されなかったグループのばらつき度合いを示す値と、現フィールドで検出された各グループのばらつき度合いを示す値との差分が最も小さいグループを求めてもよい。そして、差分が最も小さかったグループを画面全体の動きベクトルの決定対象から除外し、残ったグループの代表動きベクトルを画面全体の動きベクトルとして決定しても同様の効果が得られる。
【００６４】
これによって、本実施例における動きベクトル検出装置を組み込んだ撮像装置を使用して、移動被写体が存在しないと判断された方のグループに手ぶれ補正処理を行うことで、移動被写体に画面が引っ張られる現象を防止することが可能となる。
【００６５】
（実施例３）
ステップＳ１５の移動被写体識別処理の３つ目の方法について、図１１に示す画面の状態図と図１２に示すフローチャートを用いて説明する。
【００６６】
実施例１においては、検出された複数の動きベクトルのグループ化を行った後に、各グループの重心座標を算出することで、前後のフィールドにおけるグループの判別を行ってきた。しかし、図１１（Ｄ）の場合のように、画面の中央部に被写体が存在する場合は、複数のグループの重心座標が同じになる（もしくは非常に近接する）ことが考えられる。そこで本実施例では、複数のグループの重心座標が同じになる（もしくは非常に近接する）場合を考える。
【００６７】
本実施例においては、前フィールド（時刻ｔ３−Δｔ）の画面が図１１（Ａ）に示す状態であり、Δｔ秒後の現フィールド（時刻ｔ３）の画面が図１１（Ｄ）に示す状態であったとする。また、前フィールドの動きベクトルの各グループの重心座標は図１１（Ｂ）に示す状態であり、現フィールドの動きベクトルの各グループの重心座標はＫ（Ｅ）に示す状態であるとする。また、前フィールドの動きベクトルの各グループの、代表動きベクトルの大きさとばらつき度合いを示す値の関係は図１１（Ｃ）に示す状態であるとする。また、現フィールドの動きベクトルの各グループの、代表動きベクトルの大きさとばらつき度合いを示す値の関係は図１１（Ｆ）に示す状態であるとする。
【００６８】
また、ステップＳ１４の処理において、ばらつき度合いを示す値が大きい方のグループである、図１１（Ｂ）のグループ３１が前フィールドで画面全体の動きベクトルとして決定されているものとする。
【００６９】
ステップＳ４０において、前フィールドで画面全体の動きベクトルとして決定されたグループ領域と、現フィールドで検出された複数の動きベクトルのグループ領域同士を比較し、対応するグループであるかの判定を行う。具体的には、前フィールドで画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標を比較する。また、重心同士の比較は、本実施例では重心座標の距離の差分の演算を行う。これは、ステップＳ２０の処理と同様であるため、説明は省略する。
【００７０】
次に、図１１（Ｄ）においては移動被写体が画面の中央にいるので、グループ４１とグループ４２の重心座標Ｇ４１とＧ４２は一致するか、若しくは近くなる。そのため、前フィールドで画面全体の動きベクトルとして決定されたグループ３１の重心座標Ｇ３１と、グループ４１とグループ４２の重心座標Ｇ４１とＧ４２との差分も一致するか、若しくは近い値になる。よって、移動被写体の識別に重心座標の差分のみを用いた場合、重心座標の差分が同じ場合は移動被写体が存在しないグループを識別することが出来ず、また重心座標の差分が近い場合は移動被写体が存在しないグループを誤って識別する危険性がある。
【００７１】
次にステップＳ４１の処理について説明する。ステップＳ４０で求めた前フィールドにて画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された各グループの重心座標との距離の差分同士が所定値（Ｇ＿ＤＩＦＦ）以上離れているかどうかの判定を行う。
【００７２】
前述の所定値Ｇ＿ＤＩＦＦを、例えば図６（Ａ）における画面上の隣接する動きベクトル検出領域の中心座標同士を結ぶ距離の半分、即ちＧ＿ＤＩＦＦ＝（Ｘｉ＋１−Ｘｉ）／２と定義する。本実施例においては、前フィールドで画面全体の動きベクトルとして決定された図１１（Ｂ）のグループ３１の重心座標Ｇ３１と、図１１（Ｅ）のグループ４１及びグループ４２の重心座標Ｇ４１とＧ４２との距離の差分同士の差がＧ＿ＤＩＦＦ以下であると判定された場合、ステップＳ４２の処理へ移る。すなわち、｜｜Ｇ４１−Ｇ３１｜−｜Ｇ４２−Ｇ３１｜｜≦Ｇ＿ＤＩＦＦであると判定された場合、ステップＳ４２の処理へ移る。
【００７３】
ステップＳ４２においては、前フィールドで画面全体の動きベクトルとして決定されたグループのベクトル検出領域のばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルの各グループのベクトル検出領域のばらつき度合いを示す値同士を比較する。ばらつき度合いを示す値同士の比較は、ばらつきを示す値同士の差分の演算を行う。そしてステップＳ４３において、上記差分が最も小さいグループの代表動きベクトルを画面全体の動きベクトルとして決定する。ステップＳ４２とステップＳ４３の本実施例での処理を以下に記す。
【００７４】
ステップＳ４２において、グループ３１のベクトル検出領域のばらつき度合いを示す値Ｚ３１と、現フィールドで検出されたグループ４１のベクトル検出領域のばらつき度合いを示す値Ｚ４１との差分をΔＺ［４１］とする。またグループ３１のベクトル検出領域のばらつき度合いを示す値Ｚ３１と、現フィールドで検出されたグループ４２のベクトル検出領域のばらつき度合いを示す値Ｚ４２との差分をΔＺ［４２］とする。そして、ΔＺ［４１］とΔＺ［４２］を求める。ΔＺ［４１］とΔＺ［４２］を求める計算式を（式８）、（式９）に示す。
ΔＺ［４１］＝｜Ｚ４１−Ｚ３１｜      （式８）
ΔＺ［４２］＝｜Ｚ４２−Ｚ３１｜      （式９）
図１１（Ｃ）、図１１（Ｆ）よりΔＺ［４１］＜ΔＺ［４２］となるため、ステップＳ４３の処理において、グループ４１を、グループ３１と同じ移動被写体が存在しないグループと判断することが出来る。ステップＳ４３の処理によって、ステップＳ４１の演算結果において、図１１（Ｅ）に示すように、グループ４１とグループ４２の重心座標Ｇ４１とＧ４２が一致する場合であっても、ベクトル検出領域のばらつき度合いを示す値の差分を用いることによって、移動被写体が存在しないグループを判定することが可能となる。
【００７５】
ステップＳ４１において、前フィールドで画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された動きベクトルの各グループの重心座標との距離の差分が、所定値Ｇ＿ＤＩＦＦより離れている場合は、ステップＳ４４の処理へ移る。
【００７６】
ステップＳ４４の処理はステップＳ２１と同様であり、前フィールドで画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標の距離の差分が、最も小さいグループの代表動きベクトルを現フィールドの画面全体の動きベクトルとして決定する。
【００７７】
なお、ステップＳ４０からＳ４３の処理においては、以下の方法を用いても同様の効果を得ることができる。すなわち、前フィールドで画面全体の動きベクトルとして決定されなかったグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標との距離の差分を判断する。この重心座標の距離の差分同士が所定値以上離れた値でなければ、前フィールドで画面全体の動きベクトルとして決定されなかったグループのばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルの各グループのばらつき度合いを示す値との差分が最も小さいグループを画面全体の動きベクトルの決定対象から除外する。そして、残ったグループの代表動きベクトルを画面全体の動きベクトルとして決定するようにしてもよい。
【００７８】
これによって、本実施例における動きベクトル検出装置を組み込んだ撮像装置を使用して、移動被写体が存在しないグループと判断された方のグループに手ぶれ補正処理を行うことで、移動被写体に画面が引っ張られる現象を防止することが可能となる。
【００７９】
（実施例４）
ステップＳ１５の移動被写体識別処理の４つ目の方法について、図１３に示す画面の状態図と図１４に示すフローチャートを用いて説明する。
【００８０】
実施例２においては、検出された複数の動きベクトルのグループ化を行った後に、各グループのベクトル検出領域の座標のばらつきを示す値を算出することで、前後のフィールドにおけるグループの判別を行ってきた。しかし、図１３（Ｄ）の場合のように、画面の半分に被写体が存在する場合は、複数の動きベクトルのグループのベクトル検出領域のばらつき度合いを示す値が同じ、もしくは非常に近接することが考えられる。そこで本実施例では、複数の動きベクトルのグループのベクトル検出領域のばらつき度合いを示す値が同じ、もしくは非常に近接する場合を考える。
【００８１】
本実施例においては、前フィールド（時刻ｔ４−Δｔ）の画面が図１３（Ａ）に示す状態であり、Δｔ秒後の現フィールド（時刻ｔ４）の画面が図１３（Ｄ）に示す状態であったとする。また、前フィールドの動きベクトルの各グループの重心座標は図１３（Ｂ）に示す状態であり、現フィールドの動きベクトルの各グループの重心座標は図１３（Ｅ）に示す状態であるとする。また、前フィールドの動きベクトルの各グループの、代表動きベクトルの大きさとベクトル検出領域のばらつき度合いを示す値の関係は図１３（Ｃ）に示す状態であるとする。また、現フィールドの動きベクトルの各グループの、代表動きベクトルの大きさとばらつき度合いを示す値の関係は図１３（Ｆ）に示す状態であるとする。また、ステップＳ１４の処理において、ばらつき度合いを示す値が大きい方のグループである、図１３（Ｂ）のグループ５１が前フィールドで代表動きベクトルとして決定されているものとする。
【００８２】
ステップＳ５０において、前フィールドで画面全体の動きベクトルとして決定されたグループ領域のばらつき度合いを示す値と現フィールドで検出された複数の動きベクトルのグループ領域のばらつき度合いを示す値同士を比較し、対応するグループであるかの判定を行う。具体的には、前フィールドで画面全体の動きベクトルとして決定されたグループのばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルの各グループのばらつき度合いを示す値同士を比較する。また、ばらつき度合いを示す値同士の比較は、本実施例では、ばらつきを示す値同士の差分の演算を行う。これは、ステップＳ３０の処理と同様であるため、説明は省略する。
【００８３】
次に、現フィールドである図１３（Ｄ）においては移動被写体が画面の左半分を占めているので、グループ６１とグループ６２のベクトル検出領域のばらつき度合いを示す値Ｚ６１とＺ６２は一致するか近い値になる。そのため、前フィールドで画面全体の動きベクトルとして決定されたグループ５１のベクトル検出領域のばらつき度合いを示す値Ｚ５１と、グループ６１とグループ６２のベクトル検出領域のばらつき度合いを示す値Ｚ６１とＺ６２との差分も一致するか近い値になる。よって、移動被写体の識別にベクトル検出領域のばらつき度合いの差分のみを用いた場合、ベクトル検出領域のばらつき度合いを示す値の差分が同じ場合は移動被写体が存在しないグループを識別することが出来ず、またベクトル検出領域のばらつき度合いを示す値の差分が近い場合は移動被写体が存在しないグループを誤って識別する危険性がある。
【００８４】
そこで、ステップＳ５１にて、ステップＳ５０で求めた前フィールドで画面全体の動きベクトルとして決定されたグループのベクトル検出領域のばらつき度合いを示す値と現フィールドで検出された複数の動きベクトルの各グループのベクトル検出領域のばらつき度合いを示す値との差分同士が、所定値（Ｚ＿ＤＩＦＦ）以上離れているかどうかの判定を行う。
【００８５】
前述の所定値Ｚ＿ＤＩＦＦを、例えば図６（Ａ）における画面の座標上の隣接する動きベクトル検出領域の中心同士を結ぶ距離の２乗、即ちＺ＿ＤＩＦＦ＝（Ｘｉ＋１−Ｘｉ）２と定義する。本実施例においては、前フィールドで代表動きベクトルとして決定された図１１（Ｃ）グループの５１のばらつき度合いを示す値Ｚ５１と、図１１（Ｆ）のグループ６１及びグループ６２のばらつき度合いを示す値Ｚ６１とＺ６２との差分同士の差がＺ＿ＤＩＦＦ以下であると判定された場合ステップＳ５２の処理へ移る。すなわち、｜｜Ｚ６１−Ｚ５１｜−｜Ｚ６２−Ｚ５１｜｜≦Ｚ＿ＤＩＦＦであると判定された場合、ステップＳ５２の処理へ移る。
【００８６】
ステップＳ５２において、前フィールドで画面全体の動きベクトルとして決定されたグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標同士を比較する。また、重心座標同士の比較は、本実施例では重心座標の距離の差分の演算を行う。そしてステップＳ５３において、上記差分が最も小さいグループの代表動きベクトルを画面全体の動きベクトルとして決定する。ステップＳ５２とステップＳ５３の本実施例での処理を以下に記す。
【００８７】
ステップＳ５２において、前フィールドで画面全体の動きベクトルとして決定されたグループ５１の重心座標Ｇ５１と、現フィールドで検出されたグループ６１の重心座標Ｇ６１との差分をΔＧ［６１］とする。また、グループ５１の重心座標Ｇ５１と、現フィールドで検出されたグループ６２の重心座標Ｇ６２との差分をΔＧ［６２］とする。そしてΔＧ［６１］とΔＧ［６２］を求める。ΔＧ［６１］とΔＧ［６２］を求める計算式を（式１０）、（式１１）に示す。
ΔＧ［６１］＝｜Ｇ６１−Ｇ５１｜      （式１０）
ΔＧ［６２］＝｜Ｇ６２−Ｇ５１｜      （式１１）
図１３（Ｂ）、図１１（Ｅ）よりΔＧ［６１］＜ΔＧ［６２］となるため、ステップＳ５３の処理において、グループ６１を、グループ５１と同じ移動被写体が存在しないグループと判断することが出来る。ステップＳ５３の処理によって、ステップＳ５１の演算結果において、図１３（Ｆ）に示すように、グループ６１とグループ６２のベクトル検出領域のばらつき度合いを示す値Ｚ６１とＺ６２が一致する場合であっても、重心座標の距離の差分を用いることによって、移動被写体が存在しないグループを判定することが可能となる。
【００８８】
ステップＳ５１において、前フィールドで画面全体の動きベクトルとして決定されたグループのベクトル検出領域のばらつき度合いを示す値と、現フィールドで検出された動きベクトルの各グループのベクトル検出領域のばらつき度合いを示す値との差分が、所定値Ｚ＿ＤＩＦＦより離れている場合は、ステップＳ５４の処理へ移る。
【００８９】
ステップＳ５４の処理はステップＳ３１と同様であり、前フィールドで画面全体の動きベクトルとして決定されたグループのベクトル検出領域のばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルの各グループのベクトル検出領域のばらつき度合いを示す値の差分が、最も小さいグループの代表動きベクトルを現フィールドの画面全体の動きベクトルとして決定する。
【００９０】
なお、ステップＳ５０からＳ５３の処理においては、以下の方法を用いても同様の効果を得ることができる。すなわち、前フィールドで画面全体の動きベクトルとして決定されなかったグループのばらつき度合いを示す値と、現フィールドで検出された複数の動きベクトルの各グループのばらつき度合いを示す値との差分を判断する。このばらつき度合いを示す値の差分同士が所定値以上離れた値でなければ、前フィールドで画面全体の動きベクトルとして決定されなかったグループの重心座標と、現フィールドで検出された複数の動きベクトルの各グループの重心座標との距離の差分が最も小さいグループを画面全体の動きベクトルの決定対象から除外する。そして、残ったグループの代表動きベクトルを画面全体の動きベクトルとして決定するようにしてもよい。
【００９１】
これによって、本実施例における動きベクトル検出装置を組み込んだ撮像装置を使用して、移動被写体が存在しないグループと判断された方のグループに手ぶれ補正処理を行うことで、移動被写体に画面が引っ張られる現象を防止することが可能となる。
【００９２】
（実施例５）
ステップＳ１４の別の実施例として、画面の半分以上を占めるほど大きな移動被写体が存在する場合の実施例を挙げる。
【００９３】
ステップＳ１４の処理において、複数グループのうちから１グループを画面全体の動きベクトル（基準グループ）として決定したが、実施例１から４においては、ベクトル検出領域のばらつき度合いを示す値を用いてグループを決定した。しかし、図１３のバスの例のように、画面上に大きい移動被写体が存在する場合においては、必ずしもベクトル検出領域のばらつき度合いを示す値が最も大きいグループを背景領域として代表動きベクトルを決定する方が良いとは限らない。
【００９４】
何故なら、画面上に大きい移動被写体が存在する場合は、移動被写体が存在するグループのベクトル検出領域のばらつき度合いを示す値が、移動被写体が存在しないグループのベクトル検出領域のばらつき度合いを示す値よりも、大きくなることがあるからである。そこで本実施例においては、ステップＳ１４の処理で、ベクトル検出領域の数が最も多いグループを画面全体の動きベクトルとして決定されたグループとする。これによって、大きな移動被写体が存在する場合も精度良く、グループの切り分けを行うことが可能になる。
【００９５】
なお、ステップＳ１４の基準グループの設定において、移動被写体領域と背景領域の分類に、顔検出機能や色情報、測距による被写体判別などの情報を用いることにより、移動被写体領域と背景領域の判断をより正確に行うことができる。
【００９６】
（その他の実施例）
なお、本発明は、以下の構成でも達成され得る。
【００９７】
実施例１〜５では、ベクトル検出領域の座標の重心あるいはベクトル検出領域の座標のばらつきの度合いを示す値を用いることで、前後のフィールド間での動きベクトルのグループ領域同士を比較した。しかし、本発明を実施するための手段としては、前後のフィールド間での色の相関度合いによって前後のフィールド間での動きベクトルのグループ領域同士を比較しても良い。また、前後のフィールドにおいて、グループ領域に属するベクトル検出領域の数を比較しても良い。
【００９８】
前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、コンピュータあるいは装置に供給し、そのコンピュータあるいは装置の制御部が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成され得る。なお、そのコンピュータあるいは装置の制御部とは、例えばシステム制御部やＣＰＵ、ＭＰＵなどが該当する。
【００９９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１００】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１０１】
また、上記実施例１〜５においては、移動被写体が１種類の場合で説明を行ったが、これに限定されるものではない。移動被写体が２種類以上画面内に存在する場合も、同様の考え方を用いることができる。
【産業上の利用可能性】
【０１０２】
本画像処理装置を防振機構に組み込むことによって、ビデオ又はカメラによる撮影時に撮影画面内に移動被写体が存在する場合は、移動被写体と背景を動きベクトルを用いることによって切り分けられるため、手ぶれ補正を効率よく行うことが可能である。また、背景に対して手ぶれ補正を働かせることによって防振機能を、被写体に対して手ブレ補正を働かせれば被写体ブレの防止だけでなく追尾機能を働かせることできる。ビデオ又はカメラは家庭用や業務用に限定されず、監視カメラや医療用カメラのような特殊な用途のビデオ又はカメラにも応用可能である。
【図面の簡単な説明】
【０１０３】
【図１】本発明の一実施形態に係わる動きベクトル検出装置を組み込んだ撮像装置としてのビデオ又はカメラの構成を示すブロック図である。
【図２】動きベクトル検出装置の概略構成を示すブロック図である。
【図３】（Ａ）は撮影した現フィールドの画面上に、動きベクトル検出のためのベクトル検出領域を示した一例を示す図、（Ｂ）は直前のフィールドとの差により得られた動きベクトルを示す図、（Ｃ）は全ベクトル検出領域の動きベクトルのＸ方向、Ｙ方向のそれぞれの大きさの頻度を示すヒストグラムである。
【図４】（Ａ）は画面内に移動物が入ってきた状態を示す図、（Ｂ）は図４（Ａ）の場合の動きベクトルの分布を示す図、（Ｃ）は図４（Ａ）の場合の動きベクトルのヒストグラムを示す図である。
【図５】図４（Ａ）の場合の動きベクトルのヒストグラムの詳細な図である。
【図６】（Ａ）は本実施態様にて定義されたベクトル検出領域の座標を表す図、（Ｂ）は図４（Ａ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｃ）は図４（Ａ）の場合のグループ１及びグループ２の中心座標の位置とばらつきを示す値及び、動きベクトルの大きさとばらつきを示す値の大きさを示す図である。
【図７】移動被写体判別のためのフローチャートである。
【図８】（Ａ）は前フィールドの移動物の状態を示す図、（Ｂ）は図８（Ａ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｃ）は図８（Ａ）の場合のグループ１及びグループ２の動きベクトルの大きさとばらつきを示す値の大きさを示す図、（Ｄ）は現フィールドの移動物の状態を示す図、（Ｅ）は図８（Ｄ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｆ）は図８（Ｄ）の場合のグループ１及びグループ２動きベクトルの大きさとばらつきを示す値の大きさを示す図である。
【図９】図７のステップＳ１５の移動被写体識別処理の１つ目の方法のフローチャートである。
【図１０】図７のステップＳ１５の移動被写体識別処理の２つ目の方法のフローチャートである。
【図１１】（Ａ）は画面中央で移動物が動いている場合の状態を示す図、（Ｂ）は図１１（Ａ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｃ）は図１１（Ａ）の場合のグループ１及びグループ２の中心座標の位置とばらつきを示す値及び、動きベクトルの大きさとばらつきを示す値の大きさを示す図、（Ｄ）は現フィールドの移動物の状態を示す図、（Ｅ）は図１１（Ｄ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｆ）は図１１（Ｄ）の場合のグループ１及びグループ２の動きベクトルの大きさとばらつきを示す値の大きさを示す図である。
【図１２】ステップＳ１５の移動被写体識別処理の３つ目の方法のフローチャートである。
【図１３】（Ａ）は画面内で大きい移動物が動いている場合の状態を示す図、（Ｂ）は図１３（Ａ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｃ）は図１３（Ａ）の場合のグループ１及びグループ２の中心座標の位置とばらつきを示す値及び、動きベクトルの大きさとばらつきを示す値の大きさを示す図、（Ｄ）は現フィールドの移動物の状態を示す図、（Ｅ）は図１３（Ｄ）の場合のグループ１及びグループ２のベクトル検出領域の中心座標を示す図、（Ｆ）は図１３（Ｄ）の場合のグループ１及びグループ２の動きベクトルの大きさとばらつきを示す値の大きさを示す図である。
【図１４】ステップＳ１５の移動被写体識別処理の４つ目の方法のフローチャートである。
【図１５】従来の画像処理方法によりぶれを防止する装置の概略ブロック図である。
【符号の説明】
【０１０４】
１１  光学系
【図１】
2010079655.tif 000003
【図２】
2010079655.tif 000004
【図３】
2010079655.tif 000005
【図４】
2010079655.tif 000006
【図５】
2010079655.tif 000007
【図６】
2010079655.tif 000008
【図７】
2010079655.tif 000009
【図８】
2010079655.tif 000010
【図９】
2010079655.tif 000011
【図１０】
2010079655.tif 000012
【図１１】
2010079655.tif 000013
【図１２】
2010079655.tif 000014
【図１３】
2010079655.tif 000015
【図１４】
2010079655.tif 000016
【図１５】
2010079655.tif 000017