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