(57)【要約】【課題】勾配法を用い、簡単な構成で、輝度値の増減が激しい画像でも、また、輝度に変化のない平坦な画像においても、さらにノイズの多い画像でも、正確に動きベクトルを検出することのできる、撮像データにおける動きベクトル検出方法と装置を提供することが課題である。【解決手段】撮影レンズを介して得られた時間的に連続する複数の撮像データにおける、水平方向または垂直方向に連続した複数画素からなり、輝度変化が連続して増加もしくは減少している勾配部を抽出する第１のステップと、該第１のステップで選択された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第２のステップとで動きベクトルを検出するようにした。【選択図】図２
2009088884.tif 000002
【特許請求の範囲】
【請求項１】
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が連続して増加もしくは減少している勾配部を抽出する第１のステップと、
該第１のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第２のステップと、
からなることを特徴とする撮像データにおける動きベクトル検出方法。
【請求項２】
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が増加と平坦もしくは減少と平坦で構成されている部分について輝度データの補間を行い、勾配部とする第１のステップと、
該第１のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第２のステップと、
からなることを特徴とする撮像データにおける動きベクトル検出方法。
【請求項３】
前記時間的に連続する複数の撮像データに対してノイズ除去処理を行った後、前記第１のステップを実施することを特徴とする請求項１または２に記載した撮像データにおける動きベクトル検出方法。
【請求項４】
前記勾配部を構成する画素の数は、前記時間的に連続する複数の撮像データにおける空間周波数成分に対応させて変化させることを特徴とする請求項１乃至３の何れかに記載した撮像データにおける動きベクトル検出方法。
【請求項５】
前記第１のステップで選択された勾配部が予め定めた数より少ないか否かを判断する第３のステップを有し、該第３のステップで勾配部の数が予め定めた数より少ないと判断された場合、ブロックマッチング法により動きベクトルを求めることを特徴とする請求項１乃至４の何れかに記載した撮像データにおける動きベクトル検出方法。
【請求項６】
前記撮像データを複数ブロックに分割し、各ブロック毎に前記第３のステップを実施して、勾配部の数が予め定めた数より少ないブロックでは前記ブロックマッチング法を、多いブロックでは前記第２のステップを実施することを特徴とする請求項５に記載した撮像データにおける動きベクトル検出方法。
【請求項７】
前記第２のステップ、若しくは前記ブロックマッチング法により求めた動きベクトルが複数種類である場合、各動きベクトルの平均値、または求めた動きベクトルにおける分布中心、もしくは大きいまたは小さい順から所定順位の動きベクトルを最終結果として採用することを特徴とする請求項６に記載した撮像データにおける動きベクトル検出方法。
【請求項８】
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が連続して増加もしくは減少している勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、で構成されていることを特徴とする撮像データにおける動きベクトル検出装置。
【請求項９】
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が増加と平坦もしくは減少と平坦で構成された勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、
前記輝度が増加と平坦もしくは減少と平坦で構成された勾配部における輝度データの補間を行なう勾配平均化処理部と、
で構成されていることを特徴とする撮像データにおける動きベクトル検出装置。
【請求項１０】
前記動きベクトル検出部は、前記画像保持部に一時記憶された時間的に連続する複数の撮像データのノイズを除去するノイズ低減処理部を有していることを特徴とする請求項８または９に記載した撮像データにおける動きベクトル検出装置。
【請求項１１】
前記動きベクトル検出部は、前記勾配演算部で抽出された勾配部の数が予め定めた数より少ないか否かを判断する演算処理判断部を有し、該演算処理判断部により勾配部の数が予め定めた数より少ないと判断された状態で、ブロックマッチング法により動きベクトルを算出するブロックマッチング演算部を有していることを特徴とする請求項８乃至１０のいずれかに記載した撮像データにおける動きベクトル検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像における手ブレなどのブレ補正を行う際に必要な、撮像装置の動き量（画像のブレ量）を検出するための撮像データにおける動きベクトル検出方法と装置に係わり、特に、勾配法を用い、動きベクトルを簡単に、精度良く検出できるようにした撮像データにおける動きベクトル検出方法と装置に関するものである。
【背景技術】
【０００２】
最近のデジタルカメラやビデオカメラを含むカメラにおいては、手持ちで撮影すること等により生じる画像ブレ（手ブレ）を、レンズや撮像素子を手ブレとは逆の方向に移動させたり（光学式手ブレ補正）、撮像データを手ブレとは逆の方向に移動させ（ソフト的な手ブレ補正）て補正する、手ブレ補正機構を内蔵したものが多くなっている。
【０００３】
このうち、光学式の手ブレ補正機構は、機械的にレンズや撮像素子を移動させる駆動機構を要するためにカメラが大型化したり高価になるという問題や、落下などの衝撃で故障が発生しやすいという問題や、撮影動作以外に駆動機構を駆動するのに電力を使うために撮影枚数が制限されるなどの問題がある。それに対してソフト的な手ブレ補正では、こういった故障や消費電力増大の問題は生じない。
【０００４】
こういった手ブレを補正するためには、まず、撮影者が保持したカメラの動き量（手ブレ量）を動きベクトルとして検出することが必要であるが、この動きベクトルのソフト的な検出方法の代表例には、図７に示したブロックマッチング法と称される手法と、図８に示した勾配法と称される手法とがある。
【０００５】
図７に示したブロックマッチング法と称される手法では、図７（Ａ）に示した撮像データ７０中におけるある大きさの領域７１をテンプレートのブロックとし、図７（Ｂ）に示した次フレームの撮像データ７２におけるテンプレートブロック７１と同じ大きさのブロック７３を検索対象ブロックから探索して、前フレーム７０のテンプレートブロック７１に対するブロック７３の輝度の差分評価関数を求め、その差分評価関数の値が最小となるブロック７３を対応ブロックとして動きベクトルを検出する手法である。
【０００６】
このブロックマッチング法は、輝度値の急激に変化するところでも誤差が少なく、雑音にも強いが、画像７２の全領域に渡って探索を行うので計算時間（処理量）が膨大となり、また、拡大・縮小、回転運動に弱いという欠点がある。
【０００７】
一方、図８に示した勾配法と称される手法では、物体上の点の明るさは移動後も変化しないという仮定のもとに、時空間微分とオプティカルフローとの関係式を導出し、それを利用して対象の動きを推定するもので、具体的には撮像装置から得られた撮像データにおける輝度や色調の変化の傾き（勾配）を捉え、それがＸ軸、Ｙ軸でどう動いていくかを見て、トータルでどちらに動いているかを算出する手法である。
【０００８】
この図８において横方向（ｘ方向）は撮像データにおける座標、縦方向（ｙ方向）は輝度であり、特定位置を基点として輝度が実線８１で示したように変化している被写体が、手ブレによって破線８２に示したようにＶだけ動いたとすると、この８１と８２におけるあるｘ座標の輝度レベル差（Ｙｄｉｆｆ）と空間微分値（ｔａｎθ）とがわかれば、１フレームの間に動いたベクトル値Ｖは下記（１）式で求めることができる。
Ｖ＝Ｙｄｉｆｆ／ｔａｎθ  ………………………（１）
【０００９】
この勾配法では、画像の全探索をおこなう必要が無いから計算時間が少なくて済み、拡大・縮小、回転運動にも強い。しかしながら、前記したように時間的・空間的な輝度値や色調の変化は滑らかである、という仮定に基づいて動きベクトルを検出するため、その仮定が成り立たない場合は動きベクトルの検出精度が低下する。
【００１０】
すなわち、例えば横軸（ｘ方向）に座標、縦軸（ｙ方向）に輝度レベルを取ったグラフ図９（Ａ）に示したように、撮像装置から得られた撮像データにおける輝度値は一般的に複雑に変化している。そして、９１でその範囲を示してそれを拡大した図９（Ｂ）のように、例えば葉が生い茂った樹木を撮影する場合のように、空間周波数の高い被写体に対しては勾配法は不向きであり、また、逆に極端に平坦な画像に対しては、ベクトルの検出精度が悪化すると共に雑音に弱いという欠点がある。
【００１１】
この図９（Ｂ）のように被写体の空間周波数が高い場合、輝度が＋に変化する部分と−に変化する部分とが混在する場合が生じる。この場合、時間的に連続する画像間（フレーム間）で対応する勾配の正確な特定ができず、動きベクトルを算出することが難しくなる。
【００１２】
また、デジタルカメラやデジタルビデオカメラでは、撮像データがアナログ／デジタル変換（以下、Ａ／Ｄ変換と略称する）されるため、極端に平坦に近い傾きを持った画像に対しては図５（Ａ）に示したように、座標ｘ１とｘ６の間には増加方向の輝度差があるのに座標ｘ１、ｘ２間、ｘ３〜ｘ５間のように輝度変化が０となる部分や、ｘ２、ｘ３間のように突然輝度が変化する部分が生じ、ｘ１、ｘ２間では前記（１）式におけるθが０であるため勾配が算出できず、ｘ２、ｘ３間でのみ勾配を持ってこれまた正確な勾配とはいえず、動きベクトルを求めることが難しい。
【００１３】
こういった場合、前記したようにブロックマッチング法を用いれば正確に動きベクトルを検出できるが、最近のデジタルカメラやビデオカメラは用いられる撮像素子の画素数が増大しているため、ブロックマッチング法のような手法はその分、処理量が増大して高速化が難しい。
【００１４】
こういった動きベクトルを求める方法としては、例えば特許文献１に、時間的に連続する画像信号の水平方向及び垂直方向の高域成分を抑圧し出力するＬＰＦと、この出力より所定の代表点の画素値のみを選択記憶する代表点メモリと、ＬＰＦの出力画像の空間勾配ｆｘ、ｆｙを求めて出力する勾配算出手段と、ＬＰＦの出力する現フレームの画素値ｆ（ｘ，ｙ，ｎ）と、代表点メモリが出力する前フレームの画素値ｆ（ｘ，ｙ，ｎ−１）、及び勾配算出手段の出力する空間勾配ｆｘ，ｆｙとより、動きベクトルが存在可能な範囲を直線として求める直線算出手段と、この直線上の点を動きベクトル（ｕ、ｖ）別に累積する累積加算器と、１代表点に対し１直線が累積される累積加算器のテーブルとを備え、この累積加算器による累積処理を全ての代表点に対して実行し、テーブルに累積された各動きベクトル（ｕ、ｖ）ごとの頻度を求め、これを動きベクトルの存在可能性として出力するようにした、動きベクトル検出方式と移動体検出装置が示されている。
【００１５】
【特許文献１】特開平６−１３９３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしこの特許文献１に示された技術では、動きベクトルの存在可能性なるものを算出してそれが最大となる点である最適点を算出・補正しているが、このように最適点のみで動きベクトルを検出すると、最適点の確からしさによっては誤った結果が導かれるリスクがある。
【００１７】
そのため本発明においては、勾配法を用い、簡単な構成で、輝度値が急激に変化している画像でも、また、輝度に変化のない平坦な画像においても、さらにノイズの多い画像でも、正確に動きベクトルを検出することのできる、撮像データにおける動きベクトル検出方法と装置を提供することが課題である。
【課題を解決するための手段】
【００１８】
上記課題を解決するため本発明になる撮像データにおける動きベクトル検出方法は、
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が連続して増加もしくは減少している勾配部を抽出する第１のステップと、
該第１のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第２のステップと、
からなることを特徴とする。
【００１９】
そしてこの方法を実施するための動きベクトル検出装置は、
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が連続して増加もしくは減少している勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、で構成されていることを特徴とする。
【００２０】
このように勾配部を、輝度が連続して増加もしくは減少のどちらかのみの輝度変化が存在する部位として抽出することで、勾配法における弱点である輝度値が増加方向、減少方向に急激に変化する部位においても、輝度変化が増加もしくは減少のどちらかのみの画素が選択されるから、勾配が正確に算出されて正確な動きベクトルを短時間で求めることができる。
【００２１】
なお、例えば撮像装置で得られた撮像データをＡ／Ｄ変換することで、隣接する画素の輝度がそのＡ／Ｄ変換における分解能以下の場合、この勾配が連続したものとみなせない場合が生じるが、その場合も本発明になる撮像データにおける動きベクトル検出方法は、
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が増加と平坦もしくは減少と平坦で構成されている部分について輝度データの補間を行い、勾配部とする第１のステップと、
該第１のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第２のステップと、
からなることを特徴とする。
また、この方法を実施するための動きベクトル検出装置は、
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が増加と平坦もしくは減少と平坦で構成された勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、
前記輝度が増加と平坦もしくは減少と平坦で構成された勾配部における輝度データの補間を行なう勾配平均化処理部と、
で構成されていることを特徴とすることで、前記と全く同様に勾配法における弱点である輝度値が激しく増減する部位においても、輝度変化が増加もしくは減少のどちらかのみの画素が選択されるから、勾配が正確に算出されて正確な動きベクトルを短時間で求めることができる。
【００２２】
そして、前記時間的に連続する複数の撮像データに対してノイズ除去処理を行った後、前記第１のステップを実施し、そのため、前記動きベクトル検出部は、前記画像保持部に一時記憶された時間的に連続する複数の撮像データのノイズを除去するノイズ低減処理部を有していることで、ノイズに影響されることがなくなるから、正確に動きベクトルを検出することができる。
【００２３】
さらに、前記勾配部を構成する画素の数は、前記時間的に連続する複数の撮像データにおける空間周波数成分に対応させて変化させることで、前記した図９（Ｂ）のようにコントラストが強くて明暗の輝度が急激に変化する場合は勾配部を構成する画素数を少なく、図９（Ｃ）のように輝度変化が平坦な場合では多くすることで、さらに正確に動きベクトルを求めることができる。
【００２４】
そして、前記第１のステップで選択された勾配部が予め定めた数より少ないか否かを判断する第３のステップを有し、該第３のステップで勾配部の数が予め定めた数より少ないと判断された場合、ブロックマッチング法により動きベクトルを求め、そのため、前記動きベクトル検出部は、前記勾配演算部で抽出された勾配部の数が予め定めた数より少ないか否かを判断する演算処理判断部を有し、該演算処理判断部により勾配部の数が予め定めた数より少ないと判断された状態で、ブロックマッチング法により動きベクトルを算出するブロックマッチング演算部を有していることで、前記図９（Ｂ）のようにコントラストが強く、画面全体に亘って明暗の輝度が急激に変化する被写体の場合はブロックマッチング法により動きベクトルを検出することで、こういった問題にも対処することが可能となる。
【００２５】
この場合、前記撮像データを複数ブロックに分割し、各ブロック毎に前記第３のステップを実施して、勾配部の数が予め定めた数より少ないブロックでは前記ブロックマッチング法を、多いブロックでは前記第２のステップを実施することで、ブロックマッチング法を実施するブロックは少なくて済み、従来のようにブロックマッチング法のみを実施する場合に比較し、大幅に処理量を減少させて、正確に動きベクトルを検出することができる。
【００２６】
また、前記第２のステップ、若しくは前記ブロックマッチング法により求めた動きベクトルが複数種類である場合、各動きベクトルの平均値、または求めた動きベクトルにおける分布中心、もしくは大きいまたは小さい順から所定順位の動きベクトルを最終結果として採用することで、正確に動きベクトルを検出することができる。
【発明の効果】
【００２７】
以上説明したように本発明によれる動きベクトル検出は、勾配法を用いることで高速な処理が可能であり、また、勾配法の弱点であった輝度値の増減が著しい画像や、輝度に変化のない平坦に近い勾配を持った画像においても正確な検出が可能となり、手ブレ補正のための動きベクトル検出方法として好適な、撮像データにおける動きベクトル検出方法と装置を提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して本発明の好適な実施例を例示的に詳しく説明する。但しこの実施例に記載されている構成部品の形状等は、この発明の範囲をそれに限定する趣旨ではなく、単なる説明例に過ぎない。
【実施例１】
【００２９】
最初に本発明の概略を図３乃至図６に基づいて簡単に説明する。まず図３（Ａ）は、前記図８に説明したように輝度が滑らかに変化する勾配を有する場合の動きベクトル検出方法を説明するための図であり、（Ｂ）は空間周波数が高くて輝度が増減する場合の対応方法について説明するための図である。
【００３０】
本発明においては、最初に、撮影レンズを介して得られた撮像データにおける、水平方向または垂直方向に輝度変化が連続して増加もしくは減少のどちらかのみの勾配部を抽出する。この抽出は、単純に隣接する画素の輝度変化を見て、輝度値が連続して増加または減少している部分を抽出しても良いが、このようにすると、撮像データをアナログ／デジタル変換（以下、Ａ／Ｄ変換と略称する）した場合、このＡ／Ｄ変換における最小分解能以下の勾配、すなわち図５（Ａ）におけるｘ３、ｘ４、ｘ５のように平坦部が有る場合に検出できなくなる。そのため、例えば水平方向または垂直方向に連続した複数画素において輝度差があり、かつ、その輝度差の増減方向と逆の増減方向の輝度差が存在しない複数画素を勾配部とする。
【００３１】
今、横軸を撮像データの座標、縦軸を輝度とした図３（Ａ）における実線３１のように、座標ｘ０の輝度がＰ０、座標ｘ１の輝度がＰ１、座標ｘ２の輝度がＰ２、……と、輝度変化が滑らかな増加のみであり、かつ、画素が水平方向（または垂直方向）に連続している場合、この部分を前記した勾配部として採用する。そしてこの実線３１が、次の撮像データ（フレーム）において破線３２のように移動し、座標ｘ０の輝度がＮ０、座標ｘ１の輝度がＮ１、座標ｘ２の輝度がＮ２、……、となった場合、この場合の動きベクトルＶ２は、下記（２）式で算出できる。
Ｖ２＝（Ｐ２−Ｎ２）／（（Ｐ２−Ｐ１）／（Ｘ２−Ｘ１））………（２）
【００３２】
それに対し、図３（Ａ）と同じく横軸を撮像データの座標、縦軸を輝度とした図３（Ｂ）の実線３３のように、座標ｘ０の輝度がｐ０、座標ｘ１の輝度がｐ１、座標ｘ２の輝度がｐ２、……と、輝度が増減し、次の撮像データ（フレーム）においてこの実線３３が破線３４のように移動して、座標ｘ０の輝度がｎ０、座標ｘ１の輝度がｎ１、座標ｘ２の輝度がｎ２、……、となった場合、全く同様にして動きベクトルＶ３を求めると、下記（３）式となる。
Ｖ３＝（ｐ２−ｎ２）／（（ｐ２−ｐ１）／（ｘ２−ｘ１））………（３）
【００３３】
ここで、図３（Ａ）における（Ｐ２−Ｎ２）＞０、（Ｐ２−Ｐ１）＞０、（Ｘ２−Ｘ１）＞０、はいずれも正であるからＶ２は正の値となるが、図３（Ｂ）における（ｐ２−ｎ２）＞０、（ｐ２−ｐ１）＜０、（ｘ２−ｘ１＞０は、（ｐ２−ｐ１）が負であるためＶ３は負の値となり、全く逆のベクトルを求めてしまうことになる。
【００３４】
このような問題を避けるため、本発明においては前記したように、水平方向または垂直方向に連続した複数画素に、増加もしくは減少のどちらかのみの輝度変化が存在する場合にのみ、有効ベクトルとして採用することにしたものである。すなわち、図３（Ａ）の実線３１、破線３２の場合、（Ｐ１−Ｐ０）、（Ｐ２−Ｐ１）、（Ｐ３−Ｐ２）、（Ｎ１−Ｎ０）、（Ｎ２−Ｎ１）、（Ｎ３−Ｎ２）、が全て正であるから有効ベクトルとし、図３（Ｂ）の実線３３、破線３４のように、（ｐ１−ｐ０）、（ｐ３−ｐ２）、（ｎ１−ｎ０）、（ｎ３−ｎ２）は正であるが、（ｐ２−ｐ１）、（ｎ２−ｎ１）が負の場合、輝度変化に増減両方が含まれるとして無効ベクトルとする。
【００３５】
そして実際に動きベクトルを検出する際は、このようにして抽出した動きベクトルを複数算出し、その平均を求めるなどして動きベクトルの値の信頼性を向上させるが、輝度変化が極端に少ない勾配の場合、撮像データにノイズが多いと前記した条件に当てはまる勾配部の数が減ってしまう。
【００３６】
そのため本発明においては、動きベクトルを検出する前に、図４（Ａ）に示したメディアンフィルタ処理、または図４（Ｂ）に示したローパスフィルタ処理などのノイズ除去処理を実施する。まず図４（Ａ）に示したメディアンフィルタ処理は、例えば（ａ）における注目画素として示した２２３の輝度値を有する画素に対し、その周辺の、この図４（Ａ）の場合は３×３の画素における輝度データを（ｂ）に示したように昇順もしくは降順に並べ、（ｃ）に示したようにその中央となる値（この場合は１１７）に注目画素の輝度データを置き換える処理をおこなうものである。これによって、例えばこの注目画素にノイズが重乗され、２２３という周辺に比して異常に高い値となったデータでも、周辺画素と協調のとれたデータに置き換えられる。
【００３７】
また図４（Ｂ）に示したローパスフィルタ処理は、図４（Ａ）と同様例えば（ａ）における注目画素として示した２２３の輝度値を有する画素に対し、その周辺画素のデータを少しずつ加味してやることにより、ノイズの影響を減らす処理をおこなうものである。具体的には、（ｂ）の「重み付け係数：Ｃｏ」と記した表に示したように、中央の注目画素の比重を最も重く、隣接する周辺画素の比重をその次に重く、注目画素から離れるほど比重を軽くした「重み付け係数：Ｃｏ」をそれぞれの画素データに乗じ、（ｃ）の「座標位置：（ｘ，ｙ）」として示した表の座標位置に基づいて（ｄ）に示した下記（４）式から注目画素の輝度値を求め、（ｅ）に示したように、周辺画素の輝度値の傾向から注目画素の輝度値の異常をある程度抑えるものである。
【数１】
2009088884.tif 000003
【００３８】
なお、このように撮像データのノイズを除去して勾配部の輝度変化が小さく、例えば前記した図５（Ａ）のように、座標ｘ１とｘ６の間には増加方向の輝度差があるのに撮像データをアナログ／デジタル変換（以下、Ａ／Ｄ変換と略称する）した際、座標ｘ３、ｘ４、ｘ５、のように隣接する画素の輝度差がＡ／Ｄ変換における分解能以下と小さく、輝度差が平坦で現れない場合、前記したように（１）式におけるθが０となったり値を持ったりとまちまちとなって、正確な勾配が算出できないために動きベクトルを求めることが難しい場合が生じる。
【００３９】
そのため本発明においてはこのような場合、例えば、図５（Ａ）において、ｘ２の輝度値はｙ２であるが、前後のｘ１とｘ３の輝度値と平均した値（ｙ２＋ｙ２＋ｙ３）／３を算出を行うための輝度値とし、これを行っていくことで各座標の平均化した輝度は図５（Ｂ）の５２の線で示したようになる。さらに画像が平坦に近い図５（Ｃ）のような場合、平均化する範囲を広げ、例えばｘ４の輝度値はｙ３であるが、前後のｘ２、ｘ３、ｘ５、ｘ６の輝度値と平均した値（ｙ２＋ｙ３＋ｙ３＋ｙ３＋ｙ３）／５を算出を行うための輝度値とし、これを行っていくことで各座標の平均化した輝度は図５（Ｄ）の５４の線で示したようになる。
【００４０】
またこのような方法だけでなく、前記勾配部の抽出に用いた、「水平方向または垂直方向に連続した複数画素からなると共に、輝度変化が連続して増加もしくは減少のどちらかのみ」という条件を用い、この複数画素における始点と終点画素の輝度差と画素数とから｛（始点と終点の間の輝度差）／（始点と終点の間の画素数）｝の演算を行って勾配を求め、始点と終点の間の画素についてはこの求めた勾配から補間により輝度を算出するようにしてもよい。
【００４１】
すなわち、例えば図５（Ａ）におけるｘ１とｘ７を始点と終点の画素とすると、この間にはｙ２からｙ４の輝度差があるから、この場合の勾配は、
（ｙ４−ｙ２）／（ｘ７−ｘ１）
となり、勾配は図５（Ｂ）に直線５２で示したようになるから、ｘ１からｘ７の間の各画素ｘ３、ｘ４、ｘ５、ｘ６、の輝度値は容易に算出できる。
【００４２】
これは、さらに画像の輝度変化が少なくて平坦な図５（Ｃ）の場合も同様であり、この図５（Ｃ）において例えばｘ０とｘ５を始点と終点の画素とすると、この間にはｙ２からｙ３の輝度差があるから、この場合の勾配は、
（ｙ３−ｙ２）／（ｘ５−ｘ０）
となり、勾配は図５（Ｄ）に直線５４で示したようになって、ｘ０からｘ５の間の各画素ｘ１、ｘ２、ｘ３、ｘ４、の輝度値も同様に算出できる。従って、輝度が極端に平坦な画像でも動きベクトルの検出が可能となり、有効ベクトル数を増加させてベクトル検出の信頼性を向上させることができる。
【００４３】
なお、勾配部を構成する複数の画素の数は、時間的に連続する複数の撮像データにおける「コントラスト」や「ダイナミックレンジ」による空間周波数成分に対応させて変化させることが好ましい。「コントラスト」や「ダイナミックレンジ」が大きいということは、画像の特徴が顕著で捉え易いということであり、勾配部を構成する複数の画素の数が少なくても信頼性は得られるが、「コントラスト」や「ダイナミックレンジ」が小さい場合、相対的にノイズ等の影響を受け易くなるから、勾配部を構成する複数の画素の数はある程度の長さとし、信頼性を確保する必要がある。
【００４４】
このようにして動きベクトルを求めるわけであるが、以上説明してきた方法では、なだらかな部分が多い画像や平坦な部分が多い画像では正確に動きベクトルを抽出できる可能性が高いが、輝度値が細かく変化するコントラストの高い複雑な画像は有効ベクトルが少くなり、精度が低くなることが考えられる。これを回避するには画像を複数のブロックに分割し、なめらか度や平坦度が大きいブロックは勾配法を、逆に複雑で輝度の変化が大きい画像はブロックマッチング法が得意とする画像なので、ブロックマッチング法をそれぞれ使用し、両方の処理を併用するとさらに信頼度の高い動きベクトルを求めることができる。
【００４５】
この場合も、最初は前記した方法で勾配部を抽出し、輝度値が細かく変化する複雑な画像などで抽出した勾配部が少ない場合、例えば予め定めた勾配部の数と抽出した勾配部の数を比較し、予め定めた勾配部の数より抽出した勾配部の数が少ない場合にブロックマッチング法を、多い場合はそのまま勾配法で動きベクトルを求めるようにすればよい。これは画像を複数のブロックに分割した場合も同様である。
【００４６】
なお、前記したようにブロックマッチング法を用いると演算量が増大し、処理に時間がかかるが、上記したように画像を複数のブロックに分割し、なめらか度が大きいブロックは勾配法を使用し、逆に抽出された勾配部が少ない複雑な画像はブロックマッチング法を使用するようにすることで、ブロックマッチング法を使用する範囲を狭めれば演算量増大の問題を低減させることができる。
【００４７】
このようにして動きベクトルを求めるわけであるが、このようにして求めた動きベクトルは、なだらかな部分が多い画像や平坦な部分が多い画像、さらに複雑な画像など、画像の種類や同一画像でもこれらが混在している場合などで、必ずしも同一な大きさの動きベクトルが求められるとは限らない。特に動いている被写体を撮影した場合など、手ブレ以外に被写体の動きも加わるから、画像を複数のブロックに分割した場合、各ブロック毎に異なった大きさの動きベクトルが求まる場合もある。
【００４８】
そのため、このようにして求めた動きベクトルから、例えば図６（Ａ）に示した平均値を求める方式、または図６（Ｂ）に示した中央値を求める方式、或いは大きいまたは小さい順から所定順位の動きベクトルを用いる方式などにより、代表とするベクトルを求める。
【００４９】
図６（Ａ）に示した平均値を求める方式では、例えば撮像データを（ａ）の表のように１、２、３、……ｍのｍ個のブロックに分割し、各ブロックで動きベクトルＶｍを求めて、（ｂ）に示した（５）式を用いて全て加算し、ｍで除して平均値を求めて代表動きベクトルとする。
【数２】
2009088884.tif 000004
【００５０】
また図６（Ｂ）に示した中央値を求める方式では、例えば撮像データを（ａ）の表のように３×３のブロックに分割し、（ｂ）のようにブロック毎の動きベクトルを例えば昇順に並べ、その中央値を（ｃ）のように代表ベクトルとするものである。なお、この場合、単に中央値だけを用いず、例えば昇順の上から４番目、或いは５番目という具合に、所定順位の動きベクトルを代表ベクトルとしても良い。
【００５１】
以上が本発明になる動きベクトル検出方法の概略であるが、以下、図１の、本発明になる動きベクトル検出方法を実施するためのブロック図、図２の動きベクトル検出方法のフロー図を用いて本発明をさらに詳細に説明する。
【００５２】
図１において１１は撮像レンズ、１２はＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｅｒ）を用いた固体撮像素子、１３は固体固体撮像素子１２からのアナログ画像信号を増幅すると共にアナログ画像信号をデジタル画像信号に変換する映像信号処理部、１４は本発明の方法により動きベクトルを検出する動きベクトル検出部、１５はブロック毎に検出された動きベクトルを記憶するブロック動きベクトル保持部、１６はブロック動きベクトル保持部１５に記憶された画面全体の複数の動きベクトルから、最も確からしいと考えられる動きベクトルを決定する動きベクトル決定部である。
【００５３】
このうち動きベクトル検出部１４は、１４２、１４３、……、など、取り込まれた撮像データを１フレーム毎一時記憶する、複数のフレームメモリからなる画像保持部１４１、ノイズが載ったデータに対して誤った勾配を検出したり、逆に本来は本発明の条件に合うような連続した勾配があるのにノイズによって勾配部でないと判定したりするのを防ぎ、取り込まれた撮像データに対して有効に動きベクトル検出ができるように、前記したメディアンフィルタやローパスフィルタの様なノイズ低減処理を行うノイズ低減処理部１４４、画像保持部１４１に記憶された撮像データから、勾配部の相関によって動きベクトルを演算する動きベクトル演算部１４６などで構成される。
【００５４】
さらに動きベクトル演算部１４６は、前記図５で説明したように勾配部の勾配が小さく、映像信号処理部１３によるＡ／Ｄ変換における最小分解能以下の勾配に対して画素毎の輝度値を算出する勾配平均化処理部１４５、撮像データの輝度、或いは色データ等から勾配を検出し、それが水平方向、垂直方向の所定区間、連続しているか否かを判断し、条件に適っていればその勾配データより動きベクトルを求める勾配演算部１４８、その勾配演算部１４８によって検出した勾配が本発明の条件に適わない場合、ブロックマッチング演算部１４９によるブロックマッチング法での動きベクトル検出処理に切り替える判断や、撮像データの流れをコントロールする演算処理判断部１４７で構成される。なお、ノイズ低減処理部１４４は、画像保持部１４１の前段に配置して処理済みの撮像データを画像保持部１４１に保持する構成としてもよい。
【００５５】
このような構成の撮像データにおける動きベクトル検出装置において、図２のステップＳ１０で処理がスタートすると、まずステップＳ１１で、撮像レンズ１１を介して固体撮像素子１２上に結像された被写体像の撮像データが、映像信号処理部１３によって増幅されてアナログ画像信号がデジタル画像信号に変換され、フレーム撮像データがフレームメモリ１４２、１４３、……に記憶される。
【００５６】
そしてステップＳ１２でノイズ低減処理部１４４により、例えば前記図４で説明したメディアンフィルタやローパスフィルタによってノイズが除去される。ノイズが除去された撮像データはステップＳ１３で、動きベクトル演算部１４６の勾配演算部１４８により、演算処理判断部１４７へ送られてくる、撮像データ（画像）の空間周波数成分から、勾配の連続性の条件が決定される。
【００５７】
こうして勾配の連続性の条件が決定されるとそれを元に、勾配演算部１４８がステップＳ１４で撮像データの輝度（或いは色データ等）から勾配を抽出する。そしてステップＳ１５でその勾配が、ステップＳ１３で決定された勾配の連続性の条件に当てはまるか否か、すなわち勾配方向が連続しているかどうかが判断され、Ｙｅｓの場合は処理がステップＳ２０へ進んでデータが保存され、Ｎｏの場合はステップＳ１６へ進み、勾配０が含まれるかどうかが判断される。
【００５８】
ステップＳ１６へ進んだ場合、勾配０が含まれていないと判断された場合はステップＳ１９に進んで勾配検出ＮＧ（勾配として採用できない）とされ、勾配０が含まれている場合は処理がステップＳ１７に進み、前記図５で説明したように、図５（Ａ）のｘ２の輝度値がｙ２の場合、前後のｘ１とｘ３の輝度値と平均した値（ｙ２＋ｙ２＋ｙ３）／３を算出して勾配を求めたり、勾配部における始点、終点の画素の輝度差に基づき、中間の画素の輝度値を演算する。
【００５９】
そしてステップＳ１８で、再度勾配演算部１４８により勾配が連続しているかどうかが判断され、Ｙｅｓの場合は処理がステップＳ２０へ進んで勾配の保存が行われ、Ｎｏの場合はステップＳ１９へ進んで前記したように勾配検出ＮＧとされる。そして次のステップＳ２２で、１ブロックの動きベクトル検出が終了したかどうかが判断され、終わっていない場合はステップＳ１４に戻って同じことを繰り返し、終わっている場合は続けてステップＳ２３で、ブロックにおける勾配部の数が予め定めた閾値より多いか判断する。これは、前記したように勾配部の数が少ないのは、輝度の変化が激しいかまたは輝度の変化が少なすぎて勾配法に適さないかである可能性が高いから、ブロックマッチング法による動きベクトル検出を行うかどうかを判断するためである。
【００６０】
そのため、勾配部の数が少ない場合はステップＳ２５に進み、図１のブロックマッチング演算部１４９でブロックマッチング法による動きベクトル検出を行い、多い場合はステップＳ２４に進んで勾配法による動きベクトル検出を行う。そして得られた結果はブロック動きベクトル保持部１５に記憶される。
【００６１】
それが済むとステップＳ２６で、演算処理判断部１４７が全てのブロックで動きベクトルを検出したか否かを判断し、終わっていない場合は処理がステップＳ２７へ行って対象ブロックが変更され、さらにステップＳ１４に戻って同じことが繰り返され、終わっている場合は処理がステップＳ２８へ進む。
【００６２】
このステップＳ２８では動きベクトル決定部１６で、保存されている各ブロックの代表動きベクトルから、、例えば前記図６（Ａ）に示したように平均値を求めたり、図６（Ｂ）に示したように中央値を求める、或いは大きいまたは小さい順から所定順位の動きベクトルを用いるなどしてその画像の代表動きベクトルを決定する演算を行って終了する。
【００６３】
このようにして動きベクトルを検出することで、勾配法を用いているため高速な処理が可能であり、また、勾配法の弱点であった輝度値が急激に変化している画像や、輝度に変化のない平坦な画像においても正確な検出が可能となり、手ブレ補正のための動きベクトル検出方法として好適な、撮像データにおける動きベクトル検出方法と装置とすることができる。
【産業上の利用可能性】
【００６４】
本発明によれば、手ブレ補正に必要な動きベクトル検出を簡単に、高速に、正確に行うことができ、デジタルカメラやビデオカメラにおける手ブレ補正を安価に行うことができる。
【図面の簡単な説明】
【００６５】
【図１】本発明になる撮像データにおける動きベクトル検出装置のブロック図である。
【図２】本発明になる撮像データにおける動きベクトル検出方法のフロー図である。
【図３】（Ａ）は輝度が滑らかに変化する勾配を有する場合の動きベクトル検出方法を説明するための図、（Ｂ）は輝度が増減する場合の対応について説明するための図である。
【図４】勾配法による動き検出に当たって精度を落とす原因となるノイズ除去について説明するための図で、（Ａ）はメディアンフィルタについて説明するための図、（Ｂ）はローパスフィルタについて説明するための図である。
【図５】勾配が平坦すぎる場合の勾配部抽出方法について説明するための図である。
【図６】本発明によりブロック毎に求めた動きベクトルから、代表とする動きベクトルを求めるための方法を説明するための図で、（Ａ）は平均値を用いる場合、（Ｂ）は中央値を求める場合である。
【図７】ブロックマッチング法と称される手法を説明するための図である。
【図８】勾配法と称される手法を説明するための図である。
【図９】（Ａ）は撮像画像における１ラインの輝度レベルの変化を示したグラフであり、（Ｂ）は輝度変化が激しい部分を、（Ｃ）は輝度変化が滑らかな部分を示したものである。
【符号の説明】
【００６６】
１１  撮像レンズ
１２  固体撮像素子
１３  映像信号処理部
１４  動きベクトル検出部
１４１  画像保持部
１４２、１４３、……  フレームメモリ
１４４  ノイズ低減処理部
１４５  勾配平均化処理部
１４６  動きベクトル演算部
１４７  演算処理判断部
１４８  勾配演算部
１４９  ブロックマッチング演算部
１５  ブロック動きベクトル保持部
１６  動きベクトル決定部
【図１】
2009088884.tif 000005
【図２】
2009088884.tif 000006
【図３】
2009088884.tif 000007
【図４】
2009088884.tif 000008
【図５】
2009088884.tif 000009
【図６】
2009088884.tif 000010
【図７】
2009088884.tif 000011
【図８】
2009088884.tif 000012
【図９】
2009088884.tif 000013