(57)【特許請求の範囲】
【請求項１】
１画面全体または１画面を複数に分割した比較的大きなブロック毎に、前フレームおよび現フレームの画素間の差分の絶対値を演算することによって、１画面または上記比較的大きなブロックに関する評価値テーブルを生成し、上記評価値テーブルの中で、評価値の変化の曲線上で極小となる評価値で、該極小となる評価値からその周辺の評価値への変化の曲線が急峻となる評価値を生じさせる１または複数の候補ベクトルを抽出するステップと、
上記候補ベクトルのみを対象としてマッチングを行い、１画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなることを特徴とする動き検出方法。
【請求項２】
１画面全体または１画面を複数に分割した比較的大きなブロック毎に、前フレームおよび現フレームの画素間の差分の絶対値を演算することによって、１画面または上記比較的大きなブロックに関する評価値テーブルを生成し、上記評価値テーブルの中で、評価値の変化の曲線上で極小となる評価値で、該極小となる評価値からその周辺の評価値への変化の曲線が急峻となる評価値を生じさせる１または複数の候補ベクトルを抽出する手段と、
上記候補ベクトルのみを対象としてマッチングを行い、１画素または比較的小さいブロック毎に動きベクトルを検出する手段とからなることを特徴とする動き検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像信号の動き検出方法および動き検出装置に関する。
【０００２】
【従来の技術】
従来、動画像の処理の分野において、動き、すなわち、時間的に異なる画像中の物体の動き方向と大きさ（または速さ）が用いられる。例えば画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによるテレビジョン雑音低減装置における動きによるパラメータ制御等に動きが用いられる。動きを求める動き検出方法としては、ブロックマッチング法が知られている。
【０００３】
ブロックマッチング法の概略について図９および図１０を参照して説明する。まず、１画面を適当な数画素からなるブロック（簡単のために、２×２画素のサイズとする）に分割する。続いてこのようにブロック化された画像データと、この画像データが動いた領域を検索するために、時間的に異なる画面（例えば１フレーム前の画面）の画像データがブロック化されてなるサーチ範囲が設定され、サーチ範囲内で現フレームの参照ブロックと前フレームの候補ブロックとの間で、評価値が計算される。
【０００４】
図９において、破線で示す領域がサーチ範囲であり、図の例では、水平（ｘ）方向に±４、垂直（ｙ）方向に±４のサーチ範囲が設定されている。サーチ範囲内でｘ方向およびｙ方向にそれぞれ１画素ずつ移動した候補ブロックと、固定の参照ブロックとの間で評価値が計算される。評価値としては、参照ブロックと候補ブロックとの間での同一位置の画素間の値の差分の絶対値をブロック単位で集計したものが使用される。図１０は、このように求めた評価値Ｅx,y のテーブルを示す。候補ブロックのいくつかの例に対応した評価値が図１０に示されている。全部では、（９×９）個の評価値が求められる。
【０００５】
この評価値の中で、最小のものを求める。最小の評価値を生じさせる候補ブロックの位置が動きベクトルＭＶとなる。例えば、Ｅ0,3 が最小値であれば、動きベクトルがＭＶ0,3 である。これによって、ブロック単位の画像の動きを検出し得るようになされている。
【０００６】
【発明が解決しようとする課題】
上述したブロックマッチング法では、大きな動きをベクトルを検出するためには、比較的大きなサーチ範囲を設定する必要がある。しかしながら、マッチングの程度を示す評価値を計算するための計算量が多くなり、また、評価値から動きベクトルを決定する処理が増大する問題が生じる。
【０００７】
また、上述したブロックマッチング法では、ブロック単位で動きを検出する。従って、ブロック内に複数の動きが混在する場合には、正確な動きを求めることが難しい、という問題があった。例えばブロック内に動き部分と静止部分とが含まれる時に、動き部分の動きを検出できたとしても、その動きは、正確には、ブロックの動きとは言えない。ブロックを大きくすると、計算量の増大に加えて、ブロック内の複数動きの問題が発生し易くなる。
【０００８】
かかる問題を軽減するには、ブロック内に複数の動きが含まれないように、ブロックのサイズを小さくすればよい。しかしながら、ブロックサイズを小さくした場合には、マッチングの判断の領域が小さくなるので、動き検出の精度が低下する問題が生じる。すなわち、マッチングを行う時に、動きに起因しないで、参照ブロックと似た候補ブロックが現れやすくなる。また、ブロックサイズを小さくすると、同じ画像のパターンが反復することが生じやすくなる。例えば、文字テロップが水平または垂直方向に動く時には、反復パターンの影響が現れやすい。漢字の文字パターンの場合では、同じ文字でも、小さな部分に分割すると、同一のパターンとなることが多い。従って、サーチ範囲内で、参照ブロックと同一のパターンを持つ候補ブロックが複数個現れ、正確に動きを検出することが難しい。
【０００９】
上述したように、ブロックサイズを大きくすると、複数の動きが発生し易くなり、また、動きベクトルを求めるための演算量が多くなる。このように、ブロックサイズを大きくすることと、これを小さくすることとは、相反することであり、上述の問題を全て解決することは、困難であると考えられてきた。
【００１０】
例えば、動き文字テロップを含む画像は、テレビジョン放送において一般的な画像（シーン）である。このようなシーンは、複数の動きおよび反復パターンの両方の問題を同時に持つ典型的な例である。ブロック内に文字テロップが含まれる場合では、そのブロック内に複数の動きが混在することが多い。また、文字パターンは、幾何学的な要素からなることが多く、しばしば反復的なパターンを生み出す。このような画像を対象にした場合、従来のブロックマッチング法では、正確に動きを検出することが難しい。さらに、動き文字テロップは、視覚的に注視される度合いが高く、ここで発生する動き検出のエラーにより引き起こされる画像の劣化が非常に目立つことになる。
【００１１】
従って、この発明の目的は、上述した問題を解決することにあり、計算量を増大させることなく、大きな動きベクトルを検出でき、また、複数の動きや、反復パターンが存在する時でも、高い精度でもって動きを検出することが可能な動き検出方法および動き検出装置を提供することにある。
【００１２】
【課題を解決するための手段】
請求項１の発明は、上述した課題を達成するために、１画面全体または１画面を複数に分割した比較的大きなブロック毎に、前フレームおよび現フレームの画素間の差分の絶対値を演算することによって、１画面または比較的大きなブロックに関する評価値テーブルを生成し、評価値テーブルの中で、評価値の変化の曲線上で極小となる評価値で、該極小となる評価値からその周辺の評価値への変化の曲線が急峻となる評価値を生じさせる１または複数の候補ベクトルを抽出するステップと、
候補ベクトルのみを対象としてマッチングを行い、１画素または比較的小さいブロック毎に動きベクトルを検出するステップとからなることを特徴とする動き検出方法である。
【００１３】
請求項３の発明は、１画面全体または１画面を複数に分割した比較的大きなブロック毎に、前フレームおよび現フレームの画素間の差分の絶対値を演算することによって、１画面または比較的大きなブロックに関する評価値テーブルを生成し、評価値テーブルの中で、評価値の変化の曲線上で極小となる評価値で、該極小となる評価値からその周辺の評価値への変化の曲線が急峻となる評価値を生じさせる１または複数の候補ベクトルを抽出する手段と、
候補ベクトルのみを対象としてマッチングを行い、１画素または比較的小さいブロック毎に動きベクトルを検出する手段とからなることを特徴とする動き検出装置である。
【００１４】
この発明では、前処理において、１画面全体についてマッチング処理を行い、１または複数の候補ベクトルを抽出する。抽出した候補ベクトルを対象として、１画素または小さいブロック単位で動きベクトルを検出することによって、計算量を増大させずに、大きい動きベクトルを検出でき、また、ブロック内の複数動きの問題が生じにくく、さらに、動き検出精度が低下したり、反復パターンの影響を受けにくくできる。
【００１５】
【発明の実施の形態】
以下、この発明の一実施形態を、図面を参照しながら説明する。図１は、この発明の一実施形態の全体的構成を示す。１０１で示す入力端子にディジタルビデオ信号が供給される。ディジタルビデオ信号は、例えば輝度信号を所定の周波数でサンプリングし、サンプル（画素）をそれぞれ８ビットへ変換したものである。ディジタルビデオ信号が代表点マッチング処理部１０２に供給される。
【００１６】
代表点マッチング処理部１０２は、前フレームの画像を間引き処理することによって、代表点からなる画像に変換し、現フレームの画像と前フレームの代表点からなる画像との間で、ブロックマッチングと同様に、マッチング処理を行うものである。代表点は、図２に示すように、１画面例えば１フレームの画像を複数の（ｍ画素×ｎライン）のブロックへ分割した時の各ブロックを代表するデータである。代表点データとしては、ブロックの中心位置の画素の値、ブロック内の画素の値の平均値、ブロック内の画素の中間値等が使用される。
【００１７】
代表点マッチング処理部１０２は、設定されたサーチ範囲内で現フレームの参照フレーム画像と、代表点データで構成された前フレームの候補フレーム画像との間で、フレーム間差分を計算する。すなわち、前フレームのあるブロックの代表点データから、現フレームの同一位置のブロックのｍ×ｎ個の各画素の値が減算され、減算出力の絶対値が１ブロックで積算され、さらに、各ブロックの積算値が１フレームで積算される。この積算値が評価値テーブル形成部１０３に供給される。評価値テーブル形成部１０３では、サーチ範囲内の各位置において求められた積算値をメモリに記憶し、メモリ上に評価値テーブルを形成する。
【００１８】
評価値テーブル形成部１０３により形成された評価値テーブルを参照して、１または複数の候補ベクトルを候補ベクトル抽出部１０４が抽出する。抽出された候補ベクトルが動きベクトル検出部１０５に供給される。動きベクトル検出部１０５には、遅延回路１０６を介して入力ビデオデータが供給される。遅延回路１０６は、候補ベクトルを遅延するのに要する時間、入力ビデオデータを遅延させる。入力ビデオデータがメモリから読出されるものである時には、読出したビデオデータを動きベクトル検出部１０５に与えれば良いので、遅延回路１０６を設ける必要がない。
【００１９】
動きベクトル検出部１０５は、候補ベクトルを使用したマッチング処理によって１画素単位で動きベクトルを検出し、出力端子１０７に検出した動きベクトルを出力する。ここで、１画素単位の動きベクトル検出について説明する。１画素単位の動きベクトル検出においても、評価値を得るために、ブロック化がなされる。図３に示すように、例えば画素Ｐ１を中心とする３×３のブロックＢ１を構成する。ブロックＢ１が例えば現フレームの参照ブロックである。前フレームの候補ブロックも同様に構成される。そして、ブロックマッチングによって、サーチ範囲内の評価値テーブルが形成される。この評価値テーブル内で最小の評価値と対応して画素Ｐ１に関して動きベクトルが検出される。次に、隣の画素Ｐ２について同様に参照ブロックが形成される。そして、ブロックマッチングによって、同様に評価値テーブルが形成され、評価値テーブルに基づいて画素Ｐ２に関する動きベクトルが検出される。このようにして１画素毎に動きベクトルが検出される。
【００２０】
一般的には、１画素毎に動きベクトルを検出する処理は、ブロック毎に動きベクトルを検出する処理に比較して大幅に計算量が増大し、処理が複雑化する。しかしながら、この一実施形態では、候補ベクトル抽出部１０４にて抽出された１または複数の候補ベクトルのみを対象として動きベクトルを検出するので、計算量の増大、処理の複雑化を防止できる。
【００２１】
図４は、候補ベクトル抽出部１０４の処理を説明するためのものである。評価値テーブル形成部１０３において形成された評価値テーブルは、ｘおよびｙ座標で規定されるサーチ範囲のｚ座標として、評価値が存在するものである。図４Ａは、評価値テーブルのｘ方向の分布の一例を概念的に示し、例えばｙ＝ｙ1 を通る水平方向の分布である。図４Ｂは、評価値テーブルのｙ方向の分布の一例概念的に示し、例えばｘ＝ｘ1 を通る垂直方向の分布である。図４Ａおよび図４Ｂの評価値テーブルからは、座標上の原点と、（ｘ＝ｘ1 ，ｙ＝ｙ1 ）の点とにそれぞれ極小値が存在していることが分かる。このような評価値テーブルは、背景（静止画）に対して斜めに移動する物体が存在する画像の場合に得られる。
【００２２】
候補ベクトル抽出部１０４は、このような評価値テーブルから極小値を探し、極小値に対応する候補ベクトルを抽出する。図４の例では、（ｘ＝０，ｙ＝０）の動きベクトルと、（ｘ＝ｘ1 ，ｙ＝ｙ1 ）の動きベクトルを候補ベクトルとして抽出する。ここでは、簡単化のために、二つの極小値が明確に存在する評価値テーブルの例について説明した。しかしながら、実際には、より多くの極小値が存在したり、また、各極小値の大きさが相違し、さらに、各極小値と周辺の評価値とにより描かれる曲線の形状が相違する。候補ベクトル抽出部１０４では、そのような場合に、適切な候補ベクトルを抽出するように、候補数を削減する。すなわち、極小値としきい値とを比較して、しきい値より大きな極小値は、候補ベクトルとしない処理を行い、また、極小値と周辺の評価値とで描かれる曲線の急峻度を検出し、検出した急峻度としきい値とを比較して、急峻度が小さいものを候補ベクトルとしない処理を行う。
【００２３】
動きベクトル検出部１０５は、このように抽出された候補ベクトルのみを対象とし、１画素毎に候補ベクトルから最良と思われる動きベクトルを決定する。上述した例のように、二つの候補ベクトルが与えられた時に、注目画素について、マッチング処理によって、図５に示すように、二つの評価値を形成する。一つの評価値Ｅ0,0 は、（ｘ＝０，ｙ＝０）の動きベクトルに対応するものであり、他の評価値Ｅx1,y1 は、（ｘ＝ｘ1 ，ｙ＝ｙ1 ）の動きベクトルに対応するものである。
【００２４】
評価値に基づいて最良の動きベクトルを決定する方法の一例を説明する。候補ベクトルにそれぞれ対応して求められた評価値の中で最小の評価値を生じさせ、且つその大きさが十分に小なるものを最良の動きベクトルとして選択する。例えば評価値Ｅ0,0 が最小であり、且つ評価値Ｅ0,0 が十分に小さな値となる場合には、動きベクトルＭＶとして（ｘ＝０，ｙ＝０）が選択される。一方、評価値Ｅx1,y1 が最小であり、且つ評価値Ｅx1,y1 が十分に小さな値となる場合には、注目画素の動き動きベクトルＭＶとして（ｘ＝ｘ1 ，ｙ＝ｙ1 ）が選択される。若し、これらの条件が満たされない画素に関しては、動きベクトルが不定とする。候補ベクトルから最良の動きベクトルを決定する方法としては、これ以外の他の方法が可能である。
【００２５】
なお、上述した説明では、代表点マッチングを使用しているが、全画素マッチングにより画面全体の評価値テーブルを形成しても良い。また、画面全体ではなく、１画面を４分割、１２分割、１６分割等の比較的大きなブロックに分割し、各ブロックの評価値テーブルを作成する方法も採用できる。
【００２６】
動きベクトル検出部１０５は、候補ベクトルを対象として画素毎にマッチング処理するものである。動きベクトル検出部１０５として使用できるものとして、本願出願人の提案に係わるものを以下に説明する。図６において、１は、かかる動きベクトル検出装置の全体の構成を示す。なお、以下の説明では、ブロック単位で動きベクトルを検出する例を説明する。このブロックは、比較的小さいブロック（２×２画素等）である。動きベクトル検出装置１は、小ブロック単位ではなく、１画素単位で動きベクトルを検出するようにもできる。
【００２７】
動き検出装置１は、現フレームから２フレーム過去に位置するフレーム（以降、（ｎ−２）フレームと表記）の画像データのブロック領域（参照ブロック）を切り出し、現フレーム（以降、ｎフレームと表記）内の画像データから動きを検出するためのブロック領域（候補ブロック）、現フレームから１フレーム過去に位置するフレーム（以降、（ｎ−１）フレームと表記）の画像データから動きを検出するためのブロック領域（候補ブロック）、現フレームから３フレーム過去に位置するフレーム（以降、（ｎ−３）フレームと表記）の画像データ、現フレームから４フレーム過去に位置するフレーム（以降、（ｎ−４）フレームと表記）の画像データから動きを検出するためのブロック領域（候補ブロック）をそれぞれ切り出す。そして、候補ブロックを所定のサーチ範囲内で移動させることにより、参照ブロックと候補ブロックとの間で動きベクトルを検出するようになされる。
【００２８】
さらに、動き検出装置１についてより詳細に説明する。図６において、２が入力端子を示し、現フレームの画像データＳn が入力端子２から供給される。画像データは、例えばカラー映像信号のコンポーネント信号中の輝度信号である。入力端子２に対して、メモリ３および遅延部４が接続される。遅延部４に対して遅延部６、８および１０が直列に接続される。これらの遅延部４、６、８、１０は、それぞれ画像データを１フレーム分蓄え、１フレーム期間遅延された画像データを出力する。遅延部４、６、８、１０によって遅延された画像データがメモリ５、７、９、１１に対して供給される。遅延部４の出力Ｓn-1 が（ｎ−１）フレームの画像データであり、遅延部６の出力Ｓn-2 が（ｎ−２）フレームの画像データであり、遅延部８の出力Ｓn-3 が（ｎ−３）フレームの画像データであり、遅延部１０の出力Ｓn-4 が（ｎ−４）の画像データである。
【００２９】
メモリ３、５、７、９、１１の動作は、メモリコントロール部１２によって制御され、各フレームの映像信号から所定の大きさおよび所定の位置のブロックを切り出す。メモリコントロール部１２からは、動きベクトル情報を算出しようとする（ｎ−２）フレームのブロックアドレス情報がメモリ７に送出され、この結果、メモリ７からは、画像データＳn-2 の所定ブロックが切り出され、切り出された画像データＳn-2 のブロックが動き検出部１３に供給される。
【００３０】
メモリコントロール部１２に対して、候補ベクトル抽出部１０４で抽出された候補ベクトルが供給される。上述したように、動きベクトルが不定の場合を除いて、候補ベクトルの中の一つのベクトルを最良の動きベクトルとして選択するので、メモリコントロール部１２から出力される、候補ブロックを移動させるためのアドレス情報は、候補ベクトルに対応したものである。
【００３１】
また、メモリコントロール部１２からメモリ９には、所定のサーチ範囲内で候補ブロックを移動させるための（ｎ−３）フレームのアドレス情報が送出され、メモリ９は、与えられたアドレスに対応する（ｎ−３）フレームの候補ブロックのデータを動き検出部１３に出力する。（ｎ−３）フレームの候補ブロックがサーチ範囲内で持つ移動量を（ｘ，ｙ）で表す。
【００３２】
メモリコントロール部１２からメモリ５には、所定のサーチ範囲内で候補ブロックを移動させるための（ｎ−１）フレームのアドレス情報が送出され、メモリ５は、与えられたアドレスに対応する（ｎ−１）フレームの候補ブロックのデータを動き検出部１３に出力する。（ｎ−１）フレームの候補ブロックがサーチ範囲内で持つ移動量は、（（−１）×ｘ，（−１）×ｙ）である。これは、（ｎ−２）フレームに対して、（ｎ−３）フレームが１フレーム過去であるのに対して、（ｎ−１）フレームが１フレーム未来であるからである。
【００３３】
メモリコントロール部１２からメモリ１１には、所定のサーチ範囲内で候補ブロックを移動させるための（ｎ−４）フレームのアドレス情報が送出され、メモリ１１は、与えられたアドレスに対応する（ｎ−４）フレームの候補ブロックのデータを動き検出部１３に出力する。（ｎ−４）フレームの候補ブロックがサーチ範囲内で持つ移動量は、（２×ｘ，２×ｙ）である。これは、（ｎ−２）フレームに対して、（ｎ−３）フレームが１フレーム過去であるのに対して、（ｎ−４）フレームが２フレーム過去であるからである。
【００３４】
メモリコントロール部１２からメモリ３には、所定のサーチ範囲内で候補ブロックを移動させるためのｎフレームのアドレス情報が送出され、メモリ５は、与えられたアドレスに対応するｎフレームの候補ブロックのデータを動き検出部１３に出力する。ｎフレームの候補ブロックがサーチ範囲内で持つ移動量は、（（−２）×ｘ，（−２）×ｙ）である。これは、（ｎ−２）フレームに対して、（ｎ−４）フレームが２フレーム未来であるからである。
【００３５】
図８は、参照ブロックと候補ブロックとの位置関係を概略的に示すものである。簡単のため、サーチ範囲内の候補ブロックの移動をｘ方向のみとする。図８Ａに示すように、（ｎ−２）フレームの参照ブロックに対して、（ｎ−３）フレームの候補ブロックの移動量を（ａ，０）とすると、（ｎ−４）フレームの候補ブロックの移動量が（２ａ，０）とされ、（ｎ−１）フレームの候補ブロックの移動量が（−ａ，０）とされ、ｎフレームの候補ブロックの移動量が（−２ａ，０）とされる。また、図８Ｂに示すように、（ｎ−２）フレームの参照ブロックに対して、（ｎ−３）フレームの候補ブロックの移動量を（−ｂ，０）とすると、（ｎ−４）フレームの候補ブロックの移動量が（−２ｂ，０）とされ、（ｎ−１）フレームの候補ブロックの移動量が（ｂ，０）とされ、ｎフレームの候補ブロックの移動量が（２ｂ，０）とされる。すなわち、動きを等速度運動であるとみなし、フレーム間の時間間隔に比例して、候補ブロックの移動量が設定され、時間の前後関係に対応して移動の方向（極性）が設定される。
【００３６】
動き検出部１３がブロックマッチング法によって、動きベクトルＭＶを検出する。この動きベクトルＭＶは、（ｎ−２）フレームに属する参照ブロックの動きを表している。動き検出部１３では、ｎフレームの候補ブロックと（ｎ−２）フレームの参照ブロックとの間の同一位置の画素値の差分の絶対値を積算し、絶対値和が計算される。同様に、（ｎ−１）フレームの候補ブロックと（ｎ−２）フレームの参照ブロックとの間の差分の絶対値和、（ｎ−３）フレームの候補ブロックと（ｎ−２）フレームの参照ブロックとの間の差分の絶対値和、（ｎ−４）フレームの候補ブロックと（ｎ−２）フレームの参照ブロックとの間の差分の絶対値和が計算される。上述したように、これらの候補ブロックの参照ブロックに対する位置的オフセット（移動量および移動方向）は、参照ブロックが属するフレームと候補ブロックが属するフレーム間の時間間隔と、２フレームの時間的な前後関係によって設定される。
【００３７】
一例として、サーチ範囲内における一つの候補ベクトルに対応する移動に対応して、４個の差分の絶対値和が求められる。この差分の絶対値和が積算されて、その移動に対応する評価値が求められる。この評価値の中の最小値を生じさせる候補ブロックの位置的オフセットを検出することによって、参照ブロック内の動きベクトルが決定される。
【００３８】
移動量（ｘ，ｙ）における評価値Ｅ(x,y) は、下記の数式によって計算される。この式において、ｎフレームの各画素レベルをＺn(i,j)、（ｎ−１）フレームの各画素レベルをＺn-1(i,j)、（ｎ−２）フレームの各画素レベルをＺn-2(i,j)、（ｎ−３）フレームの各画素レベルをＺn-3(i,j)、（ｎ−４）フレームの各画素レベルをＺn-4(i,j)と表す。また、ブロックサイズをＭ画素×Ｎラインとする。
【００３９】
【数１】
0004161477.tif 000002
【００４０】
また、以上の説明では、２フレーム間の差分の絶対値和を求める場合に、（ｎ−２）フレームと他のフレーム間の差分の絶対値和を計算しているが、隣接する２フレーム間の差分の絶対値和を求め、差分の絶対値和を積算することによって評価値を求めるようにしても良い。この場合の評価値の計算式を下記に示す。
【００４１】
【数２】
0004161477.tif 000003
【００４２】
動き検出部１３の一例について図７を参照して説明する。（ｎ−２）フレームの画像データＳn-2 が格納されているメモリ７からの出力信号（画素データ）がレジスタ３１に供給され、並列に４個の同一のデータがレジスタ３１から出力される。レジスタ３１からの４個の画素データがそれぞれ反転されて加算器３６、３７、３８、３９に供給される。加算器３６、３７、３８、３９は、減算器としての機能を有するので、以下においては、減算器と称する。
【００４３】
ｎフレームの画像データＳn が格納されているメモリ３からの出力信号（画素データ）がレジスタ３２を介して減算器３６に供給される。（ｎ−１）フレームの画像データＳn-1 が格納されているメモリ５からの出力信号（画素データ）がレジスタ３３を介して減算器３７に供給される。同様に、（ｎ−３）フレームの画像データＳn-3 が格納されているメモリ９からの出力信号（画素データ）、並びに（ｎ−４）フレームの画像データＳn-4 が格納されているメモリ１１からの出力信号（画素データ）がレジスタ３４および３５をそれぞれ介して減算器３８および３９に供給される。
【００４４】
減算器３６では、（ｎ−２）フレームの参照ブロックの画素データと、それに対応するｎフレームの候補ブロックの画素データとの差分が計算される。この差分値が絶対値化回路４０によって絶対値に変換される。絶対値化回路４０に対しては、加算器４４およびレジスタ４８からなる累積加算器が接続される。ブロック内のＭ×Ｎ個の画素に関する差分値の計算が終了すると、レジスタ４８には、積算値（絶対値和）が発生する。この絶対値和が評価値メモリ５２に供給される。
【００４５】
減算器３７では、（ｎ−２）フレームの参照ブロックの画素データと、それに対応する（ｎ−１）フレームの候補ブロックの画素データとの差分が計算され、差分出力が絶対値化回路４１により絶対値に変換され、差分の絶対値が加算器４５およびレジスタ４９によって累積加算される。絶対値和が評価値メモリ５２に供給される。
【００４６】
減算器３８および絶対値化回路４２によって、（ｎ−２）フレームの参照ブロックの画素データと、それに対応する（ｎ−３）フレームの候補ブロックの画素データとの差分の絶対値が生成される。加算器４６およびレジスタ５０によって絶対値和が生成され、絶対値和が評価値メモリ５２に供給される。さらに、減算器３９、絶対値化回路４３、加算器４７およびレジスタ５１によって、（ｎ−２）フレームの参照ブロックの画素データと、それに対応する（ｎ−４）フレームの候補ブロックの画素データとの差分の絶対値和が生成される。この絶対値和が評価値メモリ５２に供給される。
【００４７】
評価値メモリ５２には、上述した４通りの２フレームの組み合わせで発生した差分の絶対値和を集計する積算回路が設けられており、４個の差分の絶対値和を集計したものが評価値Ｅ(x,y) として評価値メモリ５２に格納される。評価値メモリ５２は、サーチ範囲の原点と、原点からｘ方向および／またはｙ方向に１画素ずつオフセットを有する位置とにそれぞれ評価値を格納する。それによって、評価値テーブルが作成される。評価値メモリ５２の書き込み動作、読み出し動作がメモリコントロール部５３によって制御される。また、移動量（ｘ，ｙ）に対応する評価値が評価値メモリ５２に格納されると、レジスタ４８、４９、５０、５１の内容がクリアされる。
【００４８】
メモリコントロール部５３によって指定されたアドレスに従って評価値が読み出される。読み出された評価値が比較回路５４およびレジスタ５５に供給される。レジスタ５５の出力が比較回路５４に供給される。また、メモリコントロール部５３が発生した読み出しアドレスがレジスタ５６に供給される。レジスタ５５および５６に対して比較回路５４の出力がライト（入力）イネーブルとして供給される。
【００４９】
比較回路５４は、二つの入力の内でより小さい方の値を出力する。すなわち、評価値メモリ５２から読み出された評価値がレジスタ５５に格納されているそれまでの最小の評価値よりも小さい時には、レジスタ５５および５６に対するライトイネーブルとしての比較出力が発生する。それによって、新たな最小の評価値がレジスタ５５に取り込まれると共に、その新たな評価値のアドレスがレジスタ５６に取り込まれる。逆の場合では、比較回路５４からは、ライトイネーブルとしての出力が発生せず、レジスタ５５および５６の内容が更新されない。
【００５０】
候補ベクトルに対応する全ての評価値についての最小値が検出されると、最小の評価値のアドレスがレジスタ５６から動きベクトルＭＶとして出力端子１４に取り出される。
【００５１】
なお、上述した動き検出装置１では、評価値として、差分の絶対値和を計算しているが、差分の自乗和、しきい値以上またはしきい値以下の差分の絶対値の個数、差分の極値等を使用することができる。また、時間的に連続する５フレームを使用し、その中央のフレームの動きを検出している。しかしながら、動き検出に使用するフレーム数は、５フレームに限らず、３フレーム以上であれば良い。マッチングをとる２フレームの間隔は、１フレームに限定されず、２フレーム以上の複数フレーム間隔のマッチングをとるようにしても良い。
【００５２】
なお、この発明は、ハードウエアによる構成に限らず、処理の一部または全部をソフトウェア処理で実現するようにしても良い。
【００５３】
【発明の効果】
この発明では、計算量を増大させずに、１画素または小さいブロック単位で、大きい動きベクトルを検出でき、また、ブロック内の複数動きの問題が生じにくく、さらに、動き検出精度が低下したり、反復パターンの影響を受けにくくできる。
【図面の簡単な説明】
【図１】この発明の一実施形態の全体的構成を示すブロック図である。
【図２】この発明の一実施形態における代表点マッチングを説明するための略線図である。
【図３】この発明の一実施形態における１画素単位の動きベクトル検出処理を説明するための略線図である。
【図４】この発明の一実施形態における評価値の分布の一例を示す略線図である。
【図５】この発明の一実施形態における評価値テーブルの一例を示す略線図である。
【図６】この発明の一実施形態における動きベクトル検出部の一例の構成を示すブロック図である。
【図７】動きベクトル検出部の一例における動き検出部の構成を示すブロック図である。
【図８】動きベクトル検出部の一例の説明に用いる略線図である。
【図９】ブロックマッチングによる動き検出方法の説明に用いる略線図である。
【図１０】ブロックマッチングによる動き検出方法の説明に用いる略線図である。
【符号の説明】
１０３・・・評価値テーブル形成部、１０４・・・候補ベクトル検出部、１０５・・・動きベクトル検出部
【図１】
0004161477.tif 000004
【図２】
0004161477.tif 000005
【図３】
0004161477.tif 000006
【図４】
0004161477.tif 000007
【図５】
0004161477.tif 000008
【図６】
0004161477.tif 000009
【図７】
0004161477.tif 000010
【図８】
0004161477.tif 000011
【図９】
0004161477.tif 000012
【図１０】
0004161477.tif 000013