説明

撮像データにおける動きベクトル検出方法と装置

【課題】勾配法を用い、簡単な構成で、輝度値の増減が激しい画像でも、また、輝度に変化のない平坦な画像においても、さらにノイズの多い画像でも、正確に動きベクトルを検出することのできる、撮像データにおける動きベクトル検出方法と装置を提供することが課題である。
【解決手段】撮影レンズを介して得られた時間的に連続する複数の撮像データにおける、水平方向または垂直方向に連続した複数画素からなり、輝度変化が連続して増加もしくは減少している勾配部を抽出する第1のステップと、該第1のステップで選択された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第2のステップとで動きベクトルを検出するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像画像における手ブレなどのブレ補正を行う際に必要な、撮像装置の動き量(画像のブレ量)を検出するための撮像データにおける動きベクトル検出方法と装置に係わり、特に、勾配法を用い、動きベクトルを簡単に、精度良く検出できるようにした撮像データにおける動きベクトル検出方法と装置に関するものである。
【背景技術】
【0002】
最近のデジタルカメラやビデオカメラを含むカメラにおいては、手持ちで撮影すること等により生じる画像ブレ(手ブレ)を、レンズや撮像素子を手ブレとは逆の方向に移動させたり(光学式手ブレ補正)、撮像データを手ブレとは逆の方向に移動させ(ソフト的な手ブレ補正)て補正する、手ブレ補正機構を内蔵したものが多くなっている。
【0003】
このうち、光学式の手ブレ補正機構は、機械的にレンズや撮像素子を移動させる駆動機構を要するためにカメラが大型化したり高価になるという問題や、落下などの衝撃で故障が発生しやすいという問題や、撮影動作以外に駆動機構を駆動するのに電力を使うために撮影枚数が制限されるなどの問題がある。それに対してソフト的な手ブレ補正では、こういった故障や消費電力増大の問題は生じない。
【0004】
こういった手ブレを補正するためには、まず、撮影者が保持したカメラの動き量(手ブレ量)を動きベクトルとして検出することが必要であるが、この動きベクトルのソフト的な検出方法の代表例には、図7に示したブロックマッチング法と称される手法と、図8に示した勾配法と称される手法とがある。
【0005】
図7に示したブロックマッチング法と称される手法では、図7(A)に示した撮像データ70中におけるある大きさの領域71をテンプレートのブロックとし、図7(B)に示した次フレームの撮像データ72におけるテンプレートブロック71と同じ大きさのブロック73を検索対象ブロックから探索して、前フレーム70のテンプレートブロック71に対するブロック73の輝度の差分評価関数を求め、その差分評価関数の値が最小となるブロック73を対応ブロックとして動きベクトルを検出する手法である。
【0006】
このブロックマッチング法は、輝度値の急激に変化するところでも誤差が少なく、雑音にも強いが、画像72の全領域に渡って探索を行うので計算時間(処理量)が膨大となり、また、拡大・縮小、回転運動に弱いという欠点がある。
【0007】
一方、図8に示した勾配法と称される手法では、物体上の点の明るさは移動後も変化しないという仮定のもとに、時空間微分とオプティカルフローとの関係式を導出し、それを利用して対象の動きを推定するもので、具体的には撮像装置から得られた撮像データにおける輝度や色調の変化の傾き(勾配)を捉え、それがX軸、Y軸でどう動いていくかを見て、トータルでどちらに動いているかを算出する手法である。
【0008】
この図8において横方向(x方向)は撮像データにおける座標、縦方向(y方向)は輝度であり、特定位置を基点として輝度が実線81で示したように変化している被写体が、手ブレによって破線82に示したようにVだけ動いたとすると、この81と82におけるあるx座標の輝度レベル差(Ydiff)と空間微分値(tanθ)とがわかれば、1フレームの間に動いたベクトル値Vは下記(1)式で求めることができる。
V=Ydiff/tanθ ………………………(1)
【0009】
この勾配法では、画像の全探索をおこなう必要が無いから計算時間が少なくて済み、拡大・縮小、回転運動にも強い。しかしながら、前記したように時間的・空間的な輝度値や色調の変化は滑らかである、という仮定に基づいて動きベクトルを検出するため、その仮定が成り立たない場合は動きベクトルの検出精度が低下する。
【0010】
すなわち、例えば横軸(x方向)に座標、縦軸(y方向)に輝度レベルを取ったグラフ図9(A)に示したように、撮像装置から得られた撮像データにおける輝度値は一般的に複雑に変化している。そして、91でその範囲を示してそれを拡大した図9(B)のように、例えば葉が生い茂った樹木を撮影する場合のように、空間周波数の高い被写体に対しては勾配法は不向きであり、また、逆に極端に平坦な画像に対しては、ベクトルの検出精度が悪化すると共に雑音に弱いという欠点がある。
【0011】
この図9(B)のように被写体の空間周波数が高い場合、輝度が+に変化する部分と−に変化する部分とが混在する場合が生じる。この場合、時間的に連続する画像間(フレーム間)で対応する勾配の正確な特定ができず、動きベクトルを算出することが難しくなる。
【0012】
また、デジタルカメラやデジタルビデオカメラでは、撮像データがアナログ/デジタル変換(以下、A/D変換と略称する)されるため、極端に平坦に近い傾きを持った画像に対しては図5(A)に示したように、座標xとxの間には増加方向の輝度差があるのに座標x、x間、x〜x間のように輝度変化が0となる部分や、x、x間のように突然輝度が変化する部分が生じ、x、x間では前記(1)式におけるθが0であるため勾配が算出できず、x、x間でのみ勾配を持ってこれまた正確な勾配とはいえず、動きベクトルを求めることが難しい。
【0013】
こういった場合、前記したようにブロックマッチング法を用いれば正確に動きベクトルを検出できるが、最近のデジタルカメラやビデオカメラは用いられる撮像素子の画素数が増大しているため、ブロックマッチング法のような手法はその分、処理量が増大して高速化が難しい。
【0014】
こういった動きベクトルを求める方法としては、例えば特許文献1に、時間的に連続する画像信号の水平方向及び垂直方向の高域成分を抑圧し出力するLPFと、この出力より所定の代表点の画素値のみを選択記憶する代表点メモリと、LPFの出力画像の空間勾配fx、fyを求めて出力する勾配算出手段と、LPFの出力する現フレームの画素値f(x,y,n)と、代表点メモリが出力する前フレームの画素値f(x,y,n−1)、及び勾配算出手段の出力する空間勾配fx,fyとより、動きベクトルが存在可能な範囲を直線として求める直線算出手段と、この直線上の点を動きベクトル(u、v)別に累積する累積加算器と、1代表点に対し1直線が累積される累積加算器のテーブルとを備え、この累積加算器による累積処理を全ての代表点に対して実行し、テーブルに累積された各動きベクトル(u、v)ごとの頻度を求め、これを動きベクトルの存在可能性として出力するようにした、動きベクトル検出方式と移動体検出装置が示されている。
【0015】
【特許文献1】特開平6−139359号公報
【発明の開示】
【発明が解決しようとする課題】
【0016】
しかしこの特許文献1に示された技術では、動きベクトルの存在可能性なるものを算出してそれが最大となる点である最適点を算出・補正しているが、このように最適点のみで動きベクトルを検出すると、最適点の確からしさによっては誤った結果が導かれるリスクがある。
【0017】
そのため本発明においては、勾配法を用い、簡単な構成で、輝度値が急激に変化している画像でも、また、輝度に変化のない平坦な画像においても、さらにノイズの多い画像でも、正確に動きベクトルを検出することのできる、撮像データにおける動きベクトル検出方法と装置を提供することが課題である。
【課題を解決するための手段】
【0018】
上記課題を解決するため本発明になる撮像データにおける動きベクトル検出方法は、
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が連続して増加もしくは減少している勾配部を抽出する第1のステップと、
該第1のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第2のステップと、
からなることを特徴とする。
【0019】
そしてこの方法を実施するための動きベクトル検出装置は、
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が連続して増加もしくは減少している勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、で構成されていることを特徴とする。
【0020】
このように勾配部を、輝度が連続して増加もしくは減少のどちらかのみの輝度変化が存在する部位として抽出することで、勾配法における弱点である輝度値が増加方向、減少方向に急激に変化する部位においても、輝度変化が増加もしくは減少のどちらかのみの画素が選択されるから、勾配が正確に算出されて正確な動きベクトルを短時間で求めることができる。
【0021】
なお、例えば撮像装置で得られた撮像データをA/D変換することで、隣接する画素の輝度がそのA/D変換における分解能以下の場合、この勾配が連続したものとみなせない場合が生じるが、その場合も本発明になる撮像データにおける動きベクトル検出方法は、
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が増加と平坦もしくは減少と平坦で構成されている部分について輝度データの補間を行い、勾配部とする第1のステップと、
該第1のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第2のステップと、
からなることを特徴とする。
また、この方法を実施するための動きベクトル検出装置は、
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が増加と平坦もしくは減少と平坦で構成された勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、
前記輝度が増加と平坦もしくは減少と平坦で構成された勾配部における輝度データの補間を行なう勾配平均化処理部と、
で構成されていることを特徴とすることで、前記と全く同様に勾配法における弱点である輝度値が激しく増減する部位においても、輝度変化が増加もしくは減少のどちらかのみの画素が選択されるから、勾配が正確に算出されて正確な動きベクトルを短時間で求めることができる。
【0022】
そして、前記時間的に連続する複数の撮像データに対してノイズ除去処理を行った後、前記第1のステップを実施し、そのため、前記動きベクトル検出部は、前記画像保持部に一時記憶された時間的に連続する複数の撮像データのノイズを除去するノイズ低減処理部を有していることで、ノイズに影響されることがなくなるから、正確に動きベクトルを検出することができる。
【0023】
さらに、前記勾配部を構成する画素の数は、前記時間的に連続する複数の撮像データにおける空間周波数成分に対応させて変化させることで、前記した図9(B)のようにコントラストが強くて明暗の輝度が急激に変化する場合は勾配部を構成する画素数を少なく、図9(C)のように輝度変化が平坦な場合では多くすることで、さらに正確に動きベクトルを求めることができる。
【0024】
そして、前記第1のステップで選択された勾配部が予め定めた数より少ないか否かを判断する第3のステップを有し、該第3のステップで勾配部の数が予め定めた数より少ないと判断された場合、ブロックマッチング法により動きベクトルを求め、そのため、前記動きベクトル検出部は、前記勾配演算部で抽出された勾配部の数が予め定めた数より少ないか否かを判断する演算処理判断部を有し、該演算処理判断部により勾配部の数が予め定めた数より少ないと判断された状態で、ブロックマッチング法により動きベクトルを算出するブロックマッチング演算部を有していることで、前記図9(B)のようにコントラストが強く、画面全体に亘って明暗の輝度が急激に変化する被写体の場合はブロックマッチング法により動きベクトルを検出することで、こういった問題にも対処することが可能となる。
【0025】
この場合、前記撮像データを複数ブロックに分割し、各ブロック毎に前記第3のステップを実施して、勾配部の数が予め定めた数より少ないブロックでは前記ブロックマッチング法を、多いブロックでは前記第2のステップを実施することで、ブロックマッチング法を実施するブロックは少なくて済み、従来のようにブロックマッチング法のみを実施する場合に比較し、大幅に処理量を減少させて、正確に動きベクトルを検出することができる。
【0026】
また、前記第2のステップ、若しくは前記ブロックマッチング法により求めた動きベクトルが複数種類である場合、各動きベクトルの平均値、または求めた動きベクトルにおける分布中心、もしくは大きいまたは小さい順から所定順位の動きベクトルを最終結果として採用することで、正確に動きベクトルを検出することができる。
【発明の効果】
【0027】
以上説明したように本発明によれる動きベクトル検出は、勾配法を用いることで高速な処理が可能であり、また、勾配法の弱点であった輝度値の増減が著しい画像や、輝度に変化のない平坦に近い勾配を持った画像においても正確な検出が可能となり、手ブレ補正のための動きベクトル検出方法として好適な、撮像データにおける動きベクトル検出方法と装置を提供することができる。
【発明を実施するための最良の形態】
【0028】
以下、図面を参照して本発明の好適な実施例を例示的に詳しく説明する。但しこの実施例に記載されている構成部品の形状等は、この発明の範囲をそれに限定する趣旨ではなく、単なる説明例に過ぎない。
【実施例1】
【0029】
最初に本発明の概略を図3乃至図6に基づいて簡単に説明する。まず図3(A)は、前記図8に説明したように輝度が滑らかに変化する勾配を有する場合の動きベクトル検出方法を説明するための図であり、(B)は空間周波数が高くて輝度が増減する場合の対応方法について説明するための図である。
【0030】
本発明においては、最初に、撮影レンズを介して得られた撮像データにおける、水平方向または垂直方向に輝度変化が連続して増加もしくは減少のどちらかのみの勾配部を抽出する。この抽出は、単純に隣接する画素の輝度変化を見て、輝度値が連続して増加または減少している部分を抽出しても良いが、このようにすると、撮像データをアナログ/デジタル変換(以下、A/D変換と略称する)した場合、このA/D変換における最小分解能以下の勾配、すなわち図5(A)におけるx、x、xのように平坦部が有る場合に検出できなくなる。そのため、例えば水平方向または垂直方向に連続した複数画素において輝度差があり、かつ、その輝度差の増減方向と逆の増減方向の輝度差が存在しない複数画素を勾配部とする。
【0031】
今、横軸を撮像データの座標、縦軸を輝度とした図3(A)における実線31のように、座標xの輝度がP、座標xの輝度がP、座標xの輝度がP、……と、輝度変化が滑らかな増加のみであり、かつ、画素が水平方向(または垂直方向)に連続している場合、この部分を前記した勾配部として採用する。そしてこの実線31が、次の撮像データ(フレーム)において破線32のように移動し、座標xの輝度がN、座標xの輝度がN、座標xの輝度がN、……、となった場合、この場合の動きベクトルV2は、下記(2)式で算出できる。
V2=(P−N)/((P−P)/(X−X))………(2)
【0032】
それに対し、図3(A)と同じく横軸を撮像データの座標、縦軸を輝度とした図3(B)の実線33のように、座標xの輝度がp、座標xの輝度がp、座標xの輝度がp、……と、輝度が増減し、次の撮像データ(フレーム)においてこの実線33が破線34のように移動して、座標xの輝度がn、座標xの輝度がn、座標xの輝度がn、……、となった場合、全く同様にして動きベクトルV3を求めると、下記(3)式となる。
V3=(p−n)/((p−p)/(x−x))………(3)
【0033】
ここで、図3(A)における(P−N)>0、(P−P)>0、(X−X)>0、はいずれも正であるからV2は正の値となるが、図3(B)における(p−n)>0、(p−p)<0、(x−x>0は、(p−p)が負であるためV3は負の値となり、全く逆のベクトルを求めてしまうことになる。
【0034】
このような問題を避けるため、本発明においては前記したように、水平方向または垂直方向に連続した複数画素に、増加もしくは減少のどちらかのみの輝度変化が存在する場合にのみ、有効ベクトルとして採用することにしたものである。すなわち、図3(A)の実線31、破線32の場合、(P−P)、(P−P)、(P−P)、(N−N)、(N−N)、(N−N)、が全て正であるから有効ベクトルとし、図3(B)の実線33、破線34のように、(p−p)、(p−p)、(n−n)、(n−n)は正であるが、(p−p)、(n−n)が負の場合、輝度変化に増減両方が含まれるとして無効ベクトルとする。
【0035】
そして実際に動きベクトルを検出する際は、このようにして抽出した動きベクトルを複数算出し、その平均を求めるなどして動きベクトルの値の信頼性を向上させるが、輝度変化が極端に少ない勾配の場合、撮像データにノイズが多いと前記した条件に当てはまる勾配部の数が減ってしまう。
【0036】
そのため本発明においては、動きベクトルを検出する前に、図4(A)に示したメディアンフィルタ処理、または図4(B)に示したローパスフィルタ処理などのノイズ除去処理を実施する。まず図4(A)に示したメディアンフィルタ処理は、例えば(a)における注目画素として示した223の輝度値を有する画素に対し、その周辺の、この図4(A)の場合は3×3の画素における輝度データを(b)に示したように昇順もしくは降順に並べ、(c)に示したようにその中央となる値(この場合は117)に注目画素の輝度データを置き換える処理をおこなうものである。これによって、例えばこの注目画素にノイズが重乗され、223という周辺に比して異常に高い値となったデータでも、周辺画素と協調のとれたデータに置き換えられる。
【0037】
また図4(B)に示したローパスフィルタ処理は、図4(A)と同様例えば(a)における注目画素として示した223の輝度値を有する画素に対し、その周辺画素のデータを少しずつ加味してやることにより、ノイズの影響を減らす処理をおこなうものである。具体的には、(b)の「重み付け係数:Co」と記した表に示したように、中央の注目画素の比重を最も重く、隣接する周辺画素の比重をその次に重く、注目画素から離れるほど比重を軽くした「重み付け係数:Co」をそれぞれの画素データに乗じ、(c)の「座標位置:(x,y)」として示した表の座標位置に基づいて(d)に示した下記(4)式から注目画素の輝度値を求め、(e)に示したように、周辺画素の輝度値の傾向から注目画素の輝度値の異常をある程度抑えるものである。
【数1】

【0038】
なお、このように撮像データのノイズを除去して勾配部の輝度変化が小さく、例えば前記した図5(A)のように、座標xとxの間には増加方向の輝度差があるのに撮像データをアナログ/デジタル変換(以下、A/D変換と略称する)した際、座標x、x、x、のように隣接する画素の輝度差がA/D変換における分解能以下と小さく、輝度差が平坦で現れない場合、前記したように(1)式におけるθが0となったり値を持ったりとまちまちとなって、正確な勾配が算出できないために動きベクトルを求めることが難しい場合が生じる。
【0039】
そのため本発明においてはこのような場合、例えば、図5(A)において、xの輝度値はyであるが、前後のxとxの輝度値と平均した値(y+y+y)/3を算出を行うための輝度値とし、これを行っていくことで各座標の平均化した輝度は図5(B)の52の線で示したようになる。さらに画像が平坦に近い図5(C)のような場合、平均化する範囲を広げ、例えばxの輝度値はyであるが、前後のx、x、x、xの輝度値と平均した値(y+y+y+y+y)/5を算出を行うための輝度値とし、これを行っていくことで各座標の平均化した輝度は図5(D)の54の線で示したようになる。
【0040】
またこのような方法だけでなく、前記勾配部の抽出に用いた、「水平方向または垂直方向に連続した複数画素からなると共に、輝度変化が連続して増加もしくは減少のどちらかのみ」という条件を用い、この複数画素における始点と終点画素の輝度差と画素数とから{(始点と終点の間の輝度差)/(始点と終点の間の画素数)}の演算を行って勾配を求め、始点と終点の間の画素についてはこの求めた勾配から補間により輝度を算出するようにしてもよい。
【0041】
すなわち、例えば図5(A)におけるxとxを始点と終点の画素とすると、この間にはyからyの輝度差があるから、この場合の勾配は、
(y−y)/(x−x
となり、勾配は図5(B)に直線52で示したようになるから、xからxの間の各画素x、x、x、x、の輝度値は容易に算出できる。
【0042】
これは、さらに画像の輝度変化が少なくて平坦な図5(C)の場合も同様であり、この図5(C)において例えばxとxを始点と終点の画素とすると、この間にはyからyの輝度差があるから、この場合の勾配は、
(y−y)/(x−x
となり、勾配は図5(D)に直線54で示したようになって、xからxの間の各画素x、x、x、x、の輝度値も同様に算出できる。従って、輝度が極端に平坦な画像でも動きベクトルの検出が可能となり、有効ベクトル数を増加させてベクトル検出の信頼性を向上させることができる。
【0043】
なお、勾配部を構成する複数の画素の数は、時間的に連続する複数の撮像データにおける「コントラスト」や「ダイナミックレンジ」による空間周波数成分に対応させて変化させることが好ましい。「コントラスト」や「ダイナミックレンジ」が大きいということは、画像の特徴が顕著で捉え易いということであり、勾配部を構成する複数の画素の数が少なくても信頼性は得られるが、「コントラスト」や「ダイナミックレンジ」が小さい場合、相対的にノイズ等の影響を受け易くなるから、勾配部を構成する複数の画素の数はある程度の長さとし、信頼性を確保する必要がある。
【0044】
このようにして動きベクトルを求めるわけであるが、以上説明してきた方法では、なだらかな部分が多い画像や平坦な部分が多い画像では正確に動きベクトルを抽出できる可能性が高いが、輝度値が細かく変化するコントラストの高い複雑な画像は有効ベクトルが少くなり、精度が低くなることが考えられる。これを回避するには画像を複数のブロックに分割し、なめらか度や平坦度が大きいブロックは勾配法を、逆に複雑で輝度の変化が大きい画像はブロックマッチング法が得意とする画像なので、ブロックマッチング法をそれぞれ使用し、両方の処理を併用するとさらに信頼度の高い動きベクトルを求めることができる。
【0045】
この場合も、最初は前記した方法で勾配部を抽出し、輝度値が細かく変化する複雑な画像などで抽出した勾配部が少ない場合、例えば予め定めた勾配部の数と抽出した勾配部の数を比較し、予め定めた勾配部の数より抽出した勾配部の数が少ない場合にブロックマッチング法を、多い場合はそのまま勾配法で動きベクトルを求めるようにすればよい。これは画像を複数のブロックに分割した場合も同様である。
【0046】
なお、前記したようにブロックマッチング法を用いると演算量が増大し、処理に時間がかかるが、上記したように画像を複数のブロックに分割し、なめらか度が大きいブロックは勾配法を使用し、逆に抽出された勾配部が少ない複雑な画像はブロックマッチング法を使用するようにすることで、ブロックマッチング法を使用する範囲を狭めれば演算量増大の問題を低減させることができる。
【0047】
このようにして動きベクトルを求めるわけであるが、このようにして求めた動きベクトルは、なだらかな部分が多い画像や平坦な部分が多い画像、さらに複雑な画像など、画像の種類や同一画像でもこれらが混在している場合などで、必ずしも同一な大きさの動きベクトルが求められるとは限らない。特に動いている被写体を撮影した場合など、手ブレ以外に被写体の動きも加わるから、画像を複数のブロックに分割した場合、各ブロック毎に異なった大きさの動きベクトルが求まる場合もある。
【0048】
そのため、このようにして求めた動きベクトルから、例えば図6(A)に示した平均値を求める方式、または図6(B)に示した中央値を求める方式、或いは大きいまたは小さい順から所定順位の動きベクトルを用いる方式などにより、代表とするベクトルを求める。
【0049】
図6(A)に示した平均値を求める方式では、例えば撮像データを(a)の表のように1、2、3、……mのm個のブロックに分割し、各ブロックで動きベクトルVmを求めて、(b)に示した(5)式を用いて全て加算し、mで除して平均値を求めて代表動きベクトルとする。
【数2】

【0050】
また図6(B)に示した中央値を求める方式では、例えば撮像データを(a)の表のように3×3のブロックに分割し、(b)のようにブロック毎の動きベクトルを例えば昇順に並べ、その中央値を(c)のように代表ベクトルとするものである。なお、この場合、単に中央値だけを用いず、例えば昇順の上から4番目、或いは5番目という具合に、所定順位の動きベクトルを代表ベクトルとしても良い。
【0051】
以上が本発明になる動きベクトル検出方法の概略であるが、以下、図1の、本発明になる動きベクトル検出方法を実施するためのブロック図、図2の動きベクトル検出方法のフロー図を用いて本発明をさらに詳細に説明する。
【0052】
図1において11は撮像レンズ、12はCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconducter)を用いた固体撮像素子、13は固体固体撮像素子12からのアナログ画像信号を増幅すると共にアナログ画像信号をデジタル画像信号に変換する映像信号処理部、14は本発明の方法により動きベクトルを検出する動きベクトル検出部、15はブロック毎に検出された動きベクトルを記憶するブロック動きベクトル保持部、16はブロック動きベクトル保持部15に記憶された画面全体の複数の動きベクトルから、最も確からしいと考えられる動きベクトルを決定する動きベクトル決定部である。
【0053】
このうち動きベクトル検出部14は、142、143、……、など、取り込まれた撮像データを1フレーム毎一時記憶する、複数のフレームメモリからなる画像保持部141、ノイズが載ったデータに対して誤った勾配を検出したり、逆に本来は本発明の条件に合うような連続した勾配があるのにノイズによって勾配部でないと判定したりするのを防ぎ、取り込まれた撮像データに対して有効に動きベクトル検出ができるように、前記したメディアンフィルタやローパスフィルタの様なノイズ低減処理を行うノイズ低減処理部144、画像保持部141に記憶された撮像データから、勾配部の相関によって動きベクトルを演算する動きベクトル演算部146などで構成される。
【0054】
さらに動きベクトル演算部146は、前記図5で説明したように勾配部の勾配が小さく、映像信号処理部13によるA/D変換における最小分解能以下の勾配に対して画素毎の輝度値を算出する勾配平均化処理部145、撮像データの輝度、或いは色データ等から勾配を検出し、それが水平方向、垂直方向の所定区間、連続しているか否かを判断し、条件に適っていればその勾配データより動きベクトルを求める勾配演算部148、その勾配演算部148によって検出した勾配が本発明の条件に適わない場合、ブロックマッチング演算部149によるブロックマッチング法での動きベクトル検出処理に切り替える判断や、撮像データの流れをコントロールする演算処理判断部147で構成される。なお、ノイズ低減処理部144は、画像保持部141の前段に配置して処理済みの撮像データを画像保持部141に保持する構成としてもよい。
【0055】
このような構成の撮像データにおける動きベクトル検出装置において、図2のステップS10で処理がスタートすると、まずステップS11で、撮像レンズ11を介して固体撮像素子12上に結像された被写体像の撮像データが、映像信号処理部13によって増幅されてアナログ画像信号がデジタル画像信号に変換され、フレーム撮像データがフレームメモリ142、143、……に記憶される。
【0056】
そしてステップS12でノイズ低減処理部144により、例えば前記図4で説明したメディアンフィルタやローパスフィルタによってノイズが除去される。ノイズが除去された撮像データはステップS13で、動きベクトル演算部146の勾配演算部148により、演算処理判断部147へ送られてくる、撮像データ(画像)の空間周波数成分から、勾配の連続性の条件が決定される。
【0057】
こうして勾配の連続性の条件が決定されるとそれを元に、勾配演算部148がステップS14で撮像データの輝度(或いは色データ等)から勾配を抽出する。そしてステップS15でその勾配が、ステップS13で決定された勾配の連続性の条件に当てはまるか否か、すなわち勾配方向が連続しているかどうかが判断され、Yesの場合は処理がステップS20へ進んでデータが保存され、Noの場合はステップS16へ進み、勾配0が含まれるかどうかが判断される。
【0058】
ステップS16へ進んだ場合、勾配0が含まれていないと判断された場合はステップS19に進んで勾配検出NG(勾配として採用できない)とされ、勾配0が含まれている場合は処理がステップS17に進み、前記図5で説明したように、図5(A)のxの輝度値がyの場合、前後のxとxの輝度値と平均した値(y+y+y)/3を算出して勾配を求めたり、勾配部における始点、終点の画素の輝度差に基づき、中間の画素の輝度値を演算する。
【0059】
そしてステップS18で、再度勾配演算部148により勾配が連続しているかどうかが判断され、Yesの場合は処理がステップS20へ進んで勾配の保存が行われ、Noの場合はステップS19へ進んで前記したように勾配検出NGとされる。そして次のステップS22で、1ブロックの動きベクトル検出が終了したかどうかが判断され、終わっていない場合はステップS14に戻って同じことを繰り返し、終わっている場合は続けてステップS23で、ブロックにおける勾配部の数が予め定めた閾値より多いか判断する。これは、前記したように勾配部の数が少ないのは、輝度の変化が激しいかまたは輝度の変化が少なすぎて勾配法に適さないかである可能性が高いから、ブロックマッチング法による動きベクトル検出を行うかどうかを判断するためである。
【0060】
そのため、勾配部の数が少ない場合はステップS25に進み、図1のブロックマッチング演算部149でブロックマッチング法による動きベクトル検出を行い、多い場合はステップS24に進んで勾配法による動きベクトル検出を行う。そして得られた結果はブロック動きベクトル保持部15に記憶される。
【0061】
それが済むとステップS26で、演算処理判断部147が全てのブロックで動きベクトルを検出したか否かを判断し、終わっていない場合は処理がステップS27へ行って対象ブロックが変更され、さらにステップS14に戻って同じことが繰り返され、終わっている場合は処理がステップS28へ進む。
【0062】
このステップS28では動きベクトル決定部16で、保存されている各ブロックの代表動きベクトルから、、例えば前記図6(A)に示したように平均値を求めたり、図6(B)に示したように中央値を求める、或いは大きいまたは小さい順から所定順位の動きベクトルを用いるなどしてその画像の代表動きベクトルを決定する演算を行って終了する。
【0063】
このようにして動きベクトルを検出することで、勾配法を用いているため高速な処理が可能であり、また、勾配法の弱点であった輝度値が急激に変化している画像や、輝度に変化のない平坦な画像においても正確な検出が可能となり、手ブレ補正のための動きベクトル検出方法として好適な、撮像データにおける動きベクトル検出方法と装置とすることができる。
【産業上の利用可能性】
【0064】
本発明によれば、手ブレ補正に必要な動きベクトル検出を簡単に、高速に、正確に行うことができ、デジタルカメラやビデオカメラにおける手ブレ補正を安価に行うことができる。
【図面の簡単な説明】
【0065】
【図1】本発明になる撮像データにおける動きベクトル検出装置のブロック図である。
【図2】本発明になる撮像データにおける動きベクトル検出方法のフロー図である。
【図3】(A)は輝度が滑らかに変化する勾配を有する場合の動きベクトル検出方法を説明するための図、(B)は輝度が増減する場合の対応について説明するための図である。
【図4】勾配法による動き検出に当たって精度を落とす原因となるノイズ除去について説明するための図で、(A)はメディアンフィルタについて説明するための図、(B)はローパスフィルタについて説明するための図である。
【図5】勾配が平坦すぎる場合の勾配部抽出方法について説明するための図である。
【図6】本発明によりブロック毎に求めた動きベクトルから、代表とする動きベクトルを求めるための方法を説明するための図で、(A)は平均値を用いる場合、(B)は中央値を求める場合である。
【図7】ブロックマッチング法と称される手法を説明するための図である。
【図8】勾配法と称される手法を説明するための図である。
【図9】(A)は撮像画像における1ラインの輝度レベルの変化を示したグラフであり、(B)は輝度変化が激しい部分を、(C)は輝度変化が滑らかな部分を示したものである。
【符号の説明】
【0066】
11 撮像レンズ
12 固体撮像素子
13 映像信号処理部
14 動きベクトル検出部
141 画像保持部
142、143、…… フレームメモリ
144 ノイズ低減処理部
145 勾配平均化処理部
146 動きベクトル演算部
147 演算処理判断部
148 勾配演算部
149 ブロックマッチング演算部
15 ブロック動きベクトル保持部
16 動きベクトル決定部

【特許請求の範囲】
【請求項1】
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が連続して増加もしくは減少している勾配部を抽出する第1のステップと、
該第1のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第2のステップと、
からなることを特徴とする撮像データにおける動きベクトル検出方法。
【請求項2】
撮影レンズを介して得られた時間的に連続する複数の撮像データから、勾配法を用いて動きベクトルを検出する方法であって、
前記撮像データから、輝度が増加と平坦もしくは減少と平坦で構成されている部分について輝度データの補間を行い、勾配部とする第1のステップと、
該第1のステップで抽出された勾配部を前記時間的に連続した複数の撮像データ間で比較し、互いの相関関係を調べて動きベクトルを求める第2のステップと、
からなることを特徴とする撮像データにおける動きベクトル検出方法。
【請求項3】
前記時間的に連続する複数の撮像データに対してノイズ除去処理を行った後、前記第1のステップを実施することを特徴とする請求項1または2に記載した撮像データにおける動きベクトル検出方法。
【請求項4】
前記勾配部を構成する画素の数は、前記時間的に連続する複数の撮像データにおける空間周波数成分に対応させて変化させることを特徴とする請求項1乃至3の何れかに記載した撮像データにおける動きベクトル検出方法。
【請求項5】
前記第1のステップで選択された勾配部が予め定めた数より少ないか否かを判断する第3のステップを有し、該第3のステップで勾配部の数が予め定めた数より少ないと判断された場合、ブロックマッチング法により動きベクトルを求めることを特徴とする請求項1乃至4の何れかに記載した撮像データにおける動きベクトル検出方法。
【請求項6】
前記撮像データを複数ブロックに分割し、各ブロック毎に前記第3のステップを実施して、勾配部の数が予め定めた数より少ないブロックでは前記ブロックマッチング法を、多いブロックでは前記第2のステップを実施することを特徴とする請求項5に記載した撮像データにおける動きベクトル検出方法。
【請求項7】
前記第2のステップ、若しくは前記ブロックマッチング法により求めた動きベクトルが複数種類である場合、各動きベクトルの平均値、または求めた動きベクトルにおける分布中心、もしくは大きいまたは小さい順から所定順位の動きベクトルを最終結果として採用することを特徴とする請求項6に記載した撮像データにおける動きベクトル検出方法。
【請求項8】
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が連続して増加もしくは減少している勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、で構成されていることを特徴とする撮像データにおける動きベクトル検出装置。
【請求項9】
撮像レンズと、
該撮像レンズを介して得られた像を光電変換する撮像素子と、
該撮像素子の出力信号を処理して撮像データに変換する映像信号処理部と、
該映像信号処理部により処理された時間的に連続する複数の撮像データから動きベクトルを検出する動きベクトル検出部とからなり、
該動きベクトル検出部は、前記映像信号処理部により処理された時間的に連続する複数の撮像データのそれぞれを一時記憶する画像保持部と、
該画像保持部に記憶された各撮像データから、輝度が増加と平坦もしくは減少と平坦で構成された勾配部の抽出と、該勾配部における各撮像データ間の相関を求めて動きベクトルを算出する勾配演算部と、
前記輝度が増加と平坦もしくは減少と平坦で構成された勾配部における輝度データの補間を行なう勾配平均化処理部と、
で構成されていることを特徴とする撮像データにおける動きベクトル検出装置。
【請求項10】
前記動きベクトル検出部は、前記画像保持部に一時記憶された時間的に連続する複数の撮像データのノイズを除去するノイズ低減処理部を有していることを特徴とする請求項8または9に記載した撮像データにおける動きベクトル検出装置。
【請求項11】
前記動きベクトル検出部は、前記勾配演算部で抽出された勾配部の数が予め定めた数より少ないか否かを判断する演算処理判断部を有し、該演算処理判断部により勾配部の数が予め定めた数より少ないと判断された状態で、ブロックマッチング法により動きベクトルを算出するブロックマッチング演算部を有していることを特徴とする請求項8乃至10のいずれかに記載した撮像データにおける動きベクトル検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−88884(P2009−88884A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−254819(P2007−254819)
【出願日】平成19年9月28日(2007.9.28)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】