(57)【特許請求の範囲】
【請求項１】
基本画像と参照画像との間の動き量を検出する動き量検出方法において、
上記基本画像と上記参照画像との間の大まかな動きベクトルの検出対象座標を制限する上位階層動きベクトル検出制限ステツプと、
上記基本画像を分割した基本ブロツクの一部である基本小ブロツク内画素のアクテイビテイを当該基本小ブロツクに対応させることにより形成され当該基本画像よりも解像度の低い第１の基本上位階層画像と、上記参照画像を分割した参照ブロツクの一部である参照小ブロツク内画素のアクテイビテイを当該参照小ブロツクに対応させることにより形成され当該参照画像よりも解像度の低い第１の参照上位階層画像とを用いて、上記上位階層動きベクトル検出制限ステツプにより制限された上記検出対象座標のなかから、上記基本小ブロツクの上記アクテイビテイと当該基本小ブロツクに対応する上記参照小ブロツクの上記アクテイビテイとの差分量における絶対値を上記基本ブロツク内の上記基本小ブロツクについて加算したものを評価値として、上記基本ブロツクと上記参照ブロツク間とのブロツクマツチング法により上位階層での大まかな動きベクトルを検出する上位階層動きベクトル検出ステツプと、
上記基本画像及び上記参照画像を用いて、上記上位階層動きベクトル検出ステツプで求めた上記上位階層での大まかな動きベクトルを中心とした所定のサーチ領域内で上記基本画像及び上記参照画像間での細かい動きベクトルを検出する下位階層動きベクトル検出ステツプと
を具え、
上記上位階層動きベクトル検出制限ステツプは、
上記基本小ブロツク毎の画素値の平均値により形成された第２の基本上位階層画像と上記参照小ブロツク毎の画素値の平均値により形成された第２の参照上位階層画像との差分を上記ブロツク単位で比較評価することにより上記大まかな動きベクトルの候補点を検出し、当該大まかな動きベクトルの検出対象座標を当該候補点に制限する
ことを特徴とする動き量検出方法。
【請求項２】
基本画像と参照画像との間の動き量を検出する動き量検出装置において、
上記基本画像と上記参照画像との間の大まかな動きベクトルの検出対象座標を制限する上位階層動きベクトル検出制限手段と、
上記基本画像を分割した基本ブロツクの一部である基本小ブロツク内画素のアクテイビテイを当該基本小ブロツクに対応させることにより形成され当該基本画像よりも解像度の低い第１の基本上位階層画像と、上記参照画像を分割した参照ブロツクの一部である参照小ブロツク内画素のアクテイビテイを当該参照小ブロツクに対応させることにより形成され当該参照画像よりも解像度の低い第１の参照上位階層画像とを用いて、上記上位階層動きベクトル検出制限手段により制限された上記検出対象座標のなかから、上記基本小ブロツクの上記アクテイビテイと、当該基本小ブロツクに対応する上記参照小ブロツクの上記アクテイビテイとの差分量における絶対値を上記基本ブロツク内の上記基本小ブロツクについて加算したものを評価値として、上記基本ブロツクと上記参照ブロツク間とのブロツクマツチング法により上位階層での大まかな動きベクトルを検出する上位階層動きベクトル検出手段と、
上記基本画像及び上記参照画像を用いて、上記上位階層動きベクトル検出手段で求めた上記上位階層での上記大まかな動きベクトルを中心とした所定のサーチ領域内で上記基本画像及び上記参照画像間での細かい動きベクトルを検出する下位階層動きベクトル検出手段と
を具え、
上記上位階層動きベクトル検出制限手段は、
上記基本ブロツク毎の画素値の平均値により形成された第２の基本上位階層画像と上記参照小ブロツク毎の画素値の平均値により形成された第２の参照上位階層画像との差分を上記ブロツク単位で比較評価することにより上記大まかな動きベクトルの候補点を検出し、当該大まかな動きベクトルを検出する際の対象座標を当該候補点に制限する
ことを特徴とする動き量検出装置。
【請求項３】
上記上位階層動きベクトル検出手段は、
上記大まかな動きベクトルを検出する際、上記基本小ブロツクと上記参照小ブロツクとを用い、少なくとも当該参照小ブロツク内画素の最大値及び最小値が当該基本小ブロツク内画素の最大値及び最小値により定められる値域を飛び出した差分量の絶対値を上記基本ブロツク内で加算したものを上記評価値とし、当該評価値のうち最小値を有する動きベクトルを上記大まかな動きベクトルとして検出し、
上記参照小ブロツクは、上記参照ブロツクにおいて上記基本小ブロツクと空間的に対応する領域を少なくとも縦または横に拡張して得られる領域でなる
ことを特徴とする請求項２に記載の動き量検出装置。
【請求項４】
上記上位階層動きベクトル検出手段は、
上記大まかな動きベクトルを検出する際、上記基本小ブロツクと上記参照小ブロツクとを用い、当該基本小ブロツク内画素の最大値及び最小値が当該参照小ブロツク内画素の最大値及び最小値により定められる値域を飛び出した差分量の絶対値を上記参照ブロツク内で加算したものを上記評価値とし、当該評価値のうち最小値を有する動きベクトルを上記大まかな動きベクトルとして検出し、
上記基準小ブロツクは、上記基準ブロツクにおいて上記参照小ブロツクと空間的に対応する領域を少なくとも縦または横に拡張して得られる領域でなる
ことを特徴とする請求項２に記載の動き量検出装置。
【請求項５】
上記上位階層動きベクトル検出制限手段は、上記第２の基本上位階層画像及び上記第２の参照上位階層画像を所定のブロツク単位で比較評価する際、
第２の基本上位階層画像から取り出した基準ブロツクと、所定のサーチ領域内で移動させるように第２の参照上位階層画像から取り出した複数の参照ブロツクとの間でブロツクの類似度を表わす複数の評価値を求め、
上記複数の評価値のうちの最小値の所定数倍の値を閾値として設定し、当該閾値によつて各評価値を閾値判定することにより上記上位階層画像の動きベクトルの候補点を検出する
ことを特徴とする請求項２に記載の動き量検出装置。
【請求項６】
上記上位階層動きベクトル検出制限手段は、上記第２の基本上位階層画像及び上記第２の参照上位階層画像を所定のブロツク単位で比較評価する際、
第２の基本上位階層画像から取り出した第２の基準ブロツクと、所定のサーチ領域内で移動させるように第２の参照上位階層画像から取り出した複数の第２の参照ブロツクとの間でブロツクの類似度を表わす複数の評価値を求め、
上記第２の参照ブロツク内画素の最大値及び最小値が上記第２の基準ブロツク内画素の最大値及び最小値により定められる値域を飛び出した差分量の絶対値を加算した閾値によつて各評価値を閾値判定することにより上記上位階層画像の動きベクトルの候補点を検出する
ことを特徴とする請求項２に記載の動き量検出装置。
【請求項７】
上記上位階層動きベクトル検出制限手段は、上記第２の基本上位階層画像及び上記第２の参照上位階層画像を所定のブロツク単位で比較評価する際、
第２の基本上位階層画像から取り出した基準ブロツクと、所定のサーチ領域内で移動させるように第２の参照上位階層画像から取り出した複数の参照ブロツクとの間でブロツクの類似度を表わす複数の評価値を求め、
固定の閾値によつて各評価値を閾値判定することにより上記上位階層画像の動きベクトルの候補点を検出する
ことを特徴とする請求項２に記載の動き量検出装置。
【請求項８】
上記下位階層動きベクトル検出手段は、上記基本画像から取り出した下位基準ブロツクと、上記上位階層動きベクトル検出手段で求めた上記上位階層での大まかな動きベクトルにより動き補償されたサーチ領域内で移動させるように上記参照画像から取り出した複数の下位参照ブロツクとの間でブロツクの類似度を表わす複数の評価値を求め、当該評価値を最小とする当該下位参照ブロツクを基に上記細かい動きベクトルを検出する
ことを特徴とする請求項２に記載の動き量検出装置。
【発明の詳細な説明】
【０００１】
【目次】
以下の順序で本発明を説明する。
産業上の利用分野
従来の技術（図７〜図９）
発明が解決しようとする課題
課題を解決するための手段（図１及び図４）
作用（図１及び図４）
実施例
（１）実施例の構成（図１〜図７）
（２）実施例の動作（図１及び図４）
（３）実施例の効果（図１）
（４）他の実施例
発明の効果
【０００２】
【産業上の利用分野】
本発明は動き量検出方法及び動き量検出装置に関し、特に階層画像を用いて画像の動き量を検出するものに適用し得る。
【０００３】
【従来の技術】
従来、動画像の処理として、動き量（動きベクトル）すなわち時間的に異なる画像中の物体の動き方向と大きさ（又は速さ）を用いるものがある。例えば画像の高能率符号化における動き補償フレーム間符号化などに動き量が用いられている。この画像の動き量を求める方法として、ブロツクマツチング法がある（特公昭54-124927 号公報）。
【０００４】
このブロツクマツチング法では、現在の画像（基本画像）と１フレーム分過去の画像（参照画像）からそれぞれ適当な数画素からなるブロツクを形成する。そして例えば基本画像のブロツクを固定し（以下、このように固定する側のブロツクを基準ブロツクと呼ぶ）、参照画像のブロツクを所定のサーチ領域内で移動させたとき（以下、このように移動させる側のブロツクを参照ブロツクと呼ぶ）、基準ブロツクと最も似通つた参照ブロツクの位置を見つけることにより、動きベクトルを検出する。
【０００５】
具体的には、図７に示すように、時間的に隣接するｎフレームと（ｎ−１）フレームにおいて、空間的に対応する位置にＭ画素×Ｎラインの大きさの基準ブロツクと参照ブロツクを設定する。そして基準ブロツクと、サーチ領域内で移動させた参照ブロツクとの間でパターンマツチングを行ない、最も似通つたブロツクの座標を検出する。この際ブロツク内の対応画素の差分絶対値和などがパターンマツチングの評価値として用いられる。
例えばｎフレームの各画素レベルを、Ｌn (i,j) 、（ｎ−１）フレームの各画素レベルをＬn-1(i,j)とすると、座標（ｘ、ｙ）における評価値Ｅ（ｘ，ｙ）は、次式
【数１】
0003812750.tif 000002
により求めることができる。
【０００６】
図７の例においては、Ｘ×Ｙ点の各座標について（１）式を演算して各座標についての評価値Ｅ（ｘ、ｙ）を求め、Ｘ×Ｙ点の座標のうち、評価値Ｅ（ｘ、ｙ）が最小値となる座標が動きベクトルとなる。
以上の処理はフルサーチと呼ばれ、精度は高いが演算量も多くなる。最小値検出処理を除くフルサーチの差分和のための演算回数Ｃ０は、次式
【数２】
0003812750.tif 000003
で表すことができる。
【０００７】
従来、このブロツクマツチング法の演算回数Ｃ０を少なくするために、様々な工夫がなされてきた。実際には、（２）式のブロツク内画素数を減らす方法とサーチ点数を減らす方法の２種類がある。ブロツク内画素数を減らす方法としては、画素間引きなどの方法等がある。またサーチ点数を減らす方法としては、飛び飛びの粗い座標から細かい座標へと３段階で徐々に座標を決定していく３ステツプサーチ方式等がある。
【０００８】
また従来、（２）式で表わされるブロツクマツチング法におけるブロツク内画素数とサーチ点数を同時に減らすことができる手法として階層画像を用いた動き量検出方法が提案されている（特願平5-2448814 号）。
この動き量検出方法では、まず原画像データ（以下これを第１階層と呼ぶ）を、平均化やローパスフイルタ処理等により平均値階層化して、画素数を低減した画像データ（以下これを第２階層と呼ぶ）を作成する。次に作成した第２階層の画像データを用いて大まかな動き量を検出し、その動き量に基づいて第１階層の画像データについて細かい動き量を検出を行うことにより、少ない計算量で動き量を検出し得るようになされている。なおここで階層数は２階層に限らず、順次平均値階層化を繰り返すことにより、さらにデータ量の少ない第３階層、第４階層、……の画像データを作成し、データ量の少ない階層から順に動き量を求めるようにしてもよい。
【０００９】
このような動き量検出方法を用いれば、階層数が多くなる程少ない計算量で動き量を求めることができる。すなわち上位階層の画像データほどブロツクのサイズとサーチ領域が小さくなるため、評価関数による演算量は必然的に小さくなる。最終的に動き量を求める最下位階層での評価は、ブロツクサイズ自体は通常のブロツクマツチング法と同じになるが、上位階層の画像データで求めた動き量に応じて動き補償することにより、サーチ領域を小さくできるため、演算量を削減することができる。
【００１０】
具体的な例として３階層の階層画像を用いた階層ブロツクマツチングについて、図８及び図９に従つて説明する。図８は階層画像の生成過程を示し、上位階層の画素値を下位階層の２×２の４画素平均処理により生成する。この例では、第１階層で８画素×８ラインのブロツクが、第２階層では４画素×４ラインのブロツクとなり、最上位の第３階層では２画素×２ラインのブロツクとなる。実際には、このような階層画像を現フレーム及び１フレーム分過去の画像について生成する。
【００１１】
階層構造の上位階層では、少ない画素数で広い動き領域を表現できることが分かる。そこで図９に示すように、上位階層から順に各階層で動きベクトルｖ2 、ｖ1 、ｖ0 を検出し、最終的に各階層で検出した動きベクトルを加算することにより第１階層での動きベクトルを求める。このとき各階層では少ないサーチ点により動きベクトルを検出できるため、総演算回数を削減することが可能となる。
【００１２】
図９の例で演算回数を試算してみる。まず、最上位階層（第３階層）においてブロツクマツチング法により第３階層の画素精度の動きベクトルｖ2 を検出する。図７で示したブロツクサイズとサーチ領域で考えると、ブロツクサイズは1/16になり、サーチ点の数も1/16になる。依つて演算回数は（1/16）×（1/16）＝1/256 になる。次の第２階層においては、第３階層で得られた動きベクトルｖ2 を中心に、水平、垂直の＋１〜−１の領域をサーチするので、ブロツクサイズは1/4 で、サーチ点の数は３×３＝９点となる。第２階層で検出した動きベクトルをｖ1 とする。
【００１３】
最下位階層の第１階層においては、第３階層と第２階層の動きベクトルの加算値（ｖ2 ＋ｖ1 ）を基準に動きベクトルｖ0 を検出する。このときブロツクサイズはＭ×Ｎのままであるが、サーチ点の数は３×３＝９点で済む。第１階層で検出した動きベクトルをｖ0 とする。そして、最終的な検出目標である動きベクトルＶが（ｖ0 ＋ｖ1 ＋ｖ2 ）より得られる。
以上の階層構造を用いた動き量検出における総演算回数Ｃ１は、次式
【数３】
0003812750.tif 000004
で表わされるように非常に小さくなる。このように階層構造を導入することにより大幅に演算回数を削減できる。
【００１４】
【発明が解決しようとする課題】
ところが、一般に上位階層画像は下位階層画像に比べて縮小化されており、画像の特徴を表わす高周波成分が減少する傾向にある。このため上位階層における動きベクトルの誤検出の危険性が高まる。特に最上位階層での１画素の検出誤りは、最下位階層での数画素の位置ずれを引き起こし、最終的に検出する動きベクトルが真値から大きくずれてしまうことになる。
本発明は以上の点を考慮してなされたもので、階層画像を用いて動き量を検出する場合の動き量の検出精度を向上し得る動き量検出方法及び動き量検出装置を提案しようとするものである。
【００１５】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、基本画像と参照画像との間の動き量を検出する動き量検出装置１において、基本画像と参照画像との間の大まかな動きベクトルＭＶ′を検出する際の対象座標を制限する上位階層動きベクトル検出制限手段２と、基本画像を分割した基本ブロツクの一部である基本小ブロツク内画素のアクテイビテイを当該基本小ブロツクに対応させることにより形成され当該基本画像よりも解像度の低い第１の基本上位階層画像と、参照画像を分割した参照ブロツクの一部である参照小ブロツク内画素のアクテイビテイを当該参照小ブロツクに対応させることにより形成され当該参照画像よりも解像度の低い第１の参照上位階層画像とを用いて、上位階層動きベクトル検出制限手段２により制限された候補点のなかから、基本小ブロツクのアクテイビテイと、当該基本小ブロツクに対応する参照小ブロツクのアクテイビテイとの差分量における絶対値を上記基本ブロツク内の上記基本小ブロツクについて加算したものを評価値として、基本ブロツクと参照ブロツクとの間のブロツクマツチング法により大まかな動きベクトルＭＶ′を検出する上位階層動きベクトル検出手段３と、基本画像及び参照画像を用いて、上位階層動きベクトル検出手段３で求めた上位階層での動きベクトルＭＶ′を中心とした所定のサーチ領域内で基本画像及び参照画像間での細かい動きベクトルＭＶを検出する下位階層動きベクトル検出手段４とを設けるようにし、上位階層動きベクトル検出制限手段２は、基本小ブロツク毎の画素値の平均値により形成された第２の基本上位階層画像と参照小ブロツク毎の画素値の平均値により形成された第２の参照上位階層画像との差分をブロツク単位で比較評価することにより大まかな動きベクトルＭＶ′の候補点を検出し、当該大まかな動きベクトルＭＶ′を検出する際の対象座標を当該候補点に制限する。
【００１６】
【作用】
上位階層動きベクトル検出手段３により検出された大まかな動きベクトルに基づいて細かい動きベクトルＭＶを検出するようにしたことにより、少ない演算回数で細かい動きベクトルＭＶを求めることができる。しかしながら、上位階層動きベクトル検出手段３による検出結果に誤検出が発生すると、最終的な動きベクトルＭＶの精度は大きく低下することになる。
【００１７】
そこで本発明においては、上位階層動きベクトル検出手段３で用いる第１の基本上位階層画像及び第１の参照上位階層画像とは異なる、第２の基本上位階層画像及び第２の参照上位階層画像を用いて上位階層動きベクトル検出手段３における動きベクトル検出対象座標を制限する。この結果第１の基本上位階層画像及び第１の参照上位階層画像のみでは動きベクトルと誤検出されてしまうような座標を予め動きベクトル座標から除外できる。
かくして、階層画像を用いて動き量を検出する場合の動き量の検出精度を向上し得る。
【００１８】
【実施例】
以下図面について、本発明の一実施例を詳述する。
【００１９】
（１）実施例の構成
図１において、１は全体として本発明による動き量検出装置を示し、入力画像データＤ１を前処理部２、上位階層動き量検出回路３及び下位階層動き量検出回路４にそれぞれ入力する。上位階層動き量検出回路３は入力画像データＤ１から上位階層画像を形成し、当該上位階層画像を用いてブロツクマツチング法によつて上位階層での動きベクトルＭＶ′を検出する。この上位階層動きベクトルＭＶ′は下位階層動き量検出回路４に送出される。
【００２０】
下位階層動き量検出回路４は入力画像データＤ１を用いてブロツクマツチングを行うことにより入力画像データＤ１の画素単位の詳細な動き量を求める。このとき下位階層動き量検出回路４は、上位階層動きベクトルＭＶ′を中心にして下位階層画像（すなわちオリジナル画像）でのサーチ領域を設定して動き検出を行うことにより、少ない演算回数で詳細な動きベクトルＭＶを求めることができるようになされている。
【００２１】
前処理部２は、上位階層動き量検出回路３における動きベクトル検出対象座標を制限するための判定処理を行い、この結果得た判定結果を制御信号Ｄ２として上位階層動き量検出回路３に送出する。これにより動き量検出装置１においては、上位階層動き量検出回路３での誤動作を有効に回避でき、最終的な動きベクトルＭＶの精度を向上し得るようになされている。
【００２２】
実際上、前処理部２は、入力画像データＤ１から上位階層動き量検出回路３とは異なる手法で上位階層画像を形成し、この上位階層画像を用いて各座標についての動きの可能性を判定する。そして動きの可能性のある座標は、上位階層での動きベクトル候補点として残し、動きの可能性がないと判定した座標は上位階層での動きベクトル候補点から除外する制御信号Ｄ２を出力するようになされている。
【００２３】
上位階層動き量検出回路３は、図２に示すように構成されている。この実施例の上位階層動き量検出回路３においては、現フレーム画像の小ブロツク内のアクテイビテイと参照フレーム画像の小ブロツク内のアクテイビテイを比較することにより上位階層の動きベクトルＭＶ′を求めるようになされている。さらに小ブロツク内のアクテイビテイ比較を順方向及び逆方向の双方向について行うことにより、検出精度を向上するようになされている。
【００２４】
上位階層動き量検出回路３は、先ず入力画像データＤ１Ａを現フレームメモリ１０に格納すると共に、１フレーム分過去の入力画像データＤ１Ｂを参照フレームメモリ１１に格納する。現フレームメモリ１０及び参照フレームメモリ１１の書込み及び読出し動作はコントローラ１２によつて制御される。ここでコントローラ１２は現フレームメモリ１０から図７に示すような基準ブロツクを読み出すと共に、参照フレームメモリ１１から読み出す参照ブロツクを所定のサーチ領域内で移動させる。
【００２５】
図３は、実施例の上位階層動き量検出回路３によるブロツクマツチングの際のブロツク構造を示す。図３（Ａ）に示す順方向処理において、基本処理構造が示されている。ここで定義される１６画素×８ラインのブロツクは、図７のＭ×Ｎのブロツクに対応する。実施例では、この１６画素×８ラインのブロツクをさらに４画素×２ラインの小ブロツク１６個に分割する。
【００２６】
そしてＮフレームと（Ｎ−１）フレームとの間で対応する小ブロツク間のアクテイビテイを比較する。左上隅の小ブロツクＸ０、Ｙ０について考えると、小ブロツクＸ０中の最大値及び最小値を検出すると共に小ブロツクＹ０中の最大値及び最小値を検出し、小ブロツクＸ０とＹ０との間の最大値及び最小値を比較評価する。このとき（Ｎ−１）フレームにおいては、広い領域をカバーするため、点線で示すように拡張した小ブロツクＹ０を定義し、この拡張小ブロツクＹ０内での最大値及び最小値を検出する。この例の場合、４画素×２ラインの小ブロツクＹ０を拡張して、８画素×４ラインの拡張小ブロツクを定義している。
【００２７】
ここで小ブロツクＸ０の最大値、最小値をｍａｘ０、ｍｉｎ０と定義し、拡張小ブロツクＹ０の最大値、最小値をＥ ＭＡＸ０、Ｅ ＭＩＮ０と定義すると、比較評価は、Ｘ０の値域を拡張Ｙ０の最大値、最小値が上下に飛び出した差分量の絶対値を加算することにより行う。この評価値をブロツク内の全ての小ブロツク１６個について加算した結果を、このサーチ点における評価値とする。従つてサーチ点ｊにおける順方向のブロツクマツチングの評価値Ｅj は、次式
【数４】
0003812750.tif 000005
と表すことができる。但し、（４）式における関数ＳＵＢは、次式
【数５】
0003812750.tif 000006
によつて定義されるものとする。
【００２８】
この評価値算出処理を、参照ブロツク（すなわち（Ｎ−１）フレームのブロツク）をサーチ領域内で移動させることで、対象となる全サーチ点について実行する。なお、この上位階層処理におけるサーチ点は、小ブロツクの大きさに沿つて粗く設定されるため、（32/4）×（16/2）の６４点に削減される。
【００２９】
図３（Ｂ）に示す逆方向処理では、Ｎフレームにおいて拡張小ブロツクを設定する。そして（Ｎ−１）フレームの小ブロツクＹ０を基準に考えると、最大値ＭＡＸ０、最小値ＭＩＮ０に対し、Ｎフレームの拡張小ブロツクＸ０の最大値Ｅ ｍａｘ０、最小値Ｅ ｍｉｎ０との比較評価を行なう。従つてサーチ点ｊにおける逆方向のブロツクマツチングの評価値Ｅj ′は、次式
【数６】
0003812750.tif 000007
と表すことができる。
【００３０】
順方向及び逆方向の評価値の加算値を双方向の評価値とする。従つてサーチ点ｊにおける双方向の評価値Ｅｊ″は、次式
【数７】
0003812750.tif 000008
となる。そしてこの評価値Ｅｊ″が最小となるサーチ点の座標を上位階層の動きベクトルＭＶ′とする。
このようにして上位階層動き量検出回路３は小ブロツクアクテイビテイ評価法に基づいて、上位階層での粗い動きベクトルＭＶ′を検出する。
【００３１】
図２に戻つてこのような双方向のブロツクマツチングを実現する上位階層動き量検出回路３の構成を説明する。上位階層動き量検出回路３は、現フレームメモリ１０及び参照フレームメモリ１１の出力をそれぞれ小ブロツク化回路１３及び１４に入力する。小ブロツク化回路１３及び１４は小ブロツクＸ０〜Ｘ１５、Ｙ０〜Ｙ１５（図３）を形成する。
【００３２】
最大値・最小値検出回路１５は各小ブロツクＸ０〜Ｘ１５内の最大値及び最小値を検出し、当該検出結果を評価値計算回路１９に送出する。同様に最大値・最小値検出回路１８は各小ブロツクＹ０〜Ｙ１５内の最大値及び最小値を検出し、当該検出結果を評価値計算回路２０に送出する。また最大値・最小値検出回路１６は拡張小ブロツクＸ０〜Ｘ１５内の最大値及び最小値を検出し、当該検出結果を評価値計算回路２０に送出する。同様に最大値・最小値検出回路１７は拡張小ブロツクＹ０〜Ｙ１５内の最大値及び最小値を検出し、当該検出結果を評価値計算回路１９に送出する。
【００３３】
評価値計算回路１９は（４）式の演算を行うことにより順方向での評価値Ｅj を求め、これを加算回路２１に与える。評価値計算回路２０は（６）式の演算を行うことにより逆方向での評価値Ｅj ′を求め、これを加算回路２１に与える。加算回路２１は、順方向での評価値Ｅj 及び逆方向での評価値Ｅj ′を用いて（７）式の演算を実行することにより双方向の評価値Ｅj ″を求め、これを評価値メモリ２２に送出する。
【００３４】
評価値メモリ２２は加算回路２１からの出力を参照ブロツクの移動位置に対応したアドレスに順次格納する。評価値メモリ２２に格納された評価値Ｅj ″はコントローラ１２からの読出しアドレスに基づいて順次読み出され、最小値検出回路２３に与えられる。最小値検出回路２３は評価値Ｅj ″の最小値を検出すると共に、この最小値を与える座標に基づいて上位階層動きベクトルＭＶ′を求める。
【００３５】
これに加えて、上位階層動き量検出回路３はコントローラ１２に前処理部２からの制御信号Ｄ２を入力し、制御信号Ｄ２によつて指定された座標についてのみ上述した上位階層の動き検出処理を実行し、指定されない座標については上位階層での動き検出処理は行わない。実際上、上位階層動き量検出回路３においては、制御信号Ｄ２によつて指定されない座標のブロツクは現フレームメモリ１０及び参照フレームメモリ１１から読みださないようにすることで、動きベクトルの検出対象座標を制限する。
【００３６】
前処理部２は、図４に示すように構成されている。前処理部２は各小ブロツクの平均値を求めることで上位階層画像を形成し、この上位階層画像を用いて、各ブロツクの動きの可能性を判定する。前処理部２は入力画像データＤ１を小ブロツク化回路３０に入力する。小ブロツク化回路３０は上述した上位階層動き量検出回路３の小ブロツク化回路１３及び１４と同様に入力画像データＤ１を４画素×２ラインの小ブロツクに分割し、これにより得た小ブロツクデータＤ３を平均化回路３１に送出する。
【００３７】
平均化回路３１は各小ブロツクデータＤ３を平均化し、これにより得た平均小ブロツクデータＤ４をフレームメモリ３２及び評価値計算回路３３に送出する。評価値計算回路３３は、平均化回路３１の出力を基準ブロツク（図３の１６画素×８ラインのブロツク）とし、フレームメモリ３２の出力を参照ブロツク（図３の１６画素×８ラインのブロツク）として、参照ブロツクを所定のサーチ領域で移動させた際の各サーチポイントｊでの評価値Ｍj を、次式
【数８】
0003812750.tif 000009
により求める。なお（８）式において、ＡＢＳは絶対値処理を表し、ｍｅａｎi はＮフレームの小ブロツクＸi （図３）の平均値を表し、ＭＥＡＮi は（Ｎ−１）フレームの小ブロツクＹi （図３）の平均値を表わす。
【００３８】
評価値計算回路３３により得られた評価値Ｍj は、最小値検出回路３４に与えられると共に、遅延回路３５を介して候補点決定回路３６に与えられる。最小値検出回路３４は、全サーチポイントでの評価値Ｍｊの最小値を検出する。実施例の場合、サーチ点は（32/4）×（16/2）の６４点存在する。依つて、６４個の評価値Ｍｊの中での最小値Ｍ ＭＩＮを求めることになる。最小値検出回路３４により求められた、サーチ領域内の最小値Ｍ ＭＩＮは候補点決定回路３６に送出される。
【００３９】
候補点決定回路３６は、サーチ領域内の評価値Ｍj の最小値Ｍ ＭＩＮと、当該サーチ領域内の各評価値Ｍj とを比較する。このとき候補点決定回路３６は最小値Ｍ ＭＩＮをｋ倍した値を閾値ＴＨとし、この閾値ＴＨと各サーチ点における評価値Ｍｊとを比較する。そして、当該比較結果に応じて各サーチ点を上位階層動き量検出回路３での動き量検出対象候補点とするか否かを決定する。
【００４０】
実際上、候補点決定回路３６は、評価値Ｍj が閾値ＴＨ以下のサーチポイントを上位階層動き量検出回路３での動き量検出対象候補点とし、評価値Ｍj が閾値ＴＨよりも大きいサーチポイントは上位階層動き量検出回路３での動き量検出対象候補点から除外する制御信号Ｄ２を出力する。
【００４１】
下位階層動き量検出回路４は、図５に示すように構成されている。下位階層動き量検出回路４は入力画像データＤ１をブロツク化回路４０に入力し、当該ブロツク化回路４０によつて入力画像データＤ１を１６画素×８ライン単位のブロツクデータに分割する。このブロツクデータはフレームメモリ４１及び評価値計算回路４３に与えられる。
【００４２】
フレームメモリ４１に格納されたブロツクデータは上位階層動き量検出回路３によつて求められた上位階層動きベクトルＭＶ′の分だけ動き補償されて読み出される。そしてサーチブロツク回路４２によつて所定のサーチ領域内でブロツクを移動させながら、サーチ領域内のブロツクデータを順次続く評価値計算回路４３に与える。なお、ここでは動きベクトルＭＶ′により動き補償されている分だけサーチポイントを少なくすることができ、評価値計算回路４３における演算回数は低減されている。
【００４３】
評価値計算回路４３は、上述した（１）式に基づいて、基準ブロツクと、サーチ領域内で移動された参照ブロツクとの評価値を計算し、これにより得た評価値を最小値検出回路４４に送出する。最小値検出回路４４は評価値の最も小さかつた参照ブロツクの座標からこの階層での動きベクトルｍｖを求め、これを加算回路４５に与える。加算回路４５では、動きベクトルｍｖと上位階層動きベクトルＭＶ′とが加算されることにより、入力画像データＤ１についての最終的な動きベクトルＭＶが求められる。
【００４４】
ここで実施例による前処理を導入した階層的動きベクトル検出手法の処理フローを図６に示す。すなわちステツプＳＰ０から入つて、ステツプＳＰ１において、サーチ点カウンタＣＮＴ（例えば動き量検出装置１全体を制御する制御部（図示せず）に設けられている）を初期化した後、ステツプＳＰ２に移る。
ステツプＳＰ２において、前処理部２によつて上述のような判定用前処理が行なわれ、評価値Ｍｊが生成され、続くステツプＳＰ３において、評価値Ｍｊと閾値ＴＨの間で閾値判定が行なわれ、上位階層での動き量検出処理を施すか否かが決定される。
【００４５】
すなわちステツプＳＰ３において評価値Ｍj が閾値ＴＨ以下の場合にはステツプＳＰ４に移つて、ここで上位階層の評価値Ｅj ″  を生成した後ステツプＳＰ５に進む。これに対して評価値Ｍj が閾値ＴＨより大きい場合には、ステツプＳＰ５に移る。ステツプＳＰ５において、サーチ点カウンタＣＮＴをインクリメントすると、続くステツプＳＰ６でサーチ点カウンタＣＮＴのカウント値から全サーチ点についての処理が終了したか否か判断する。
【００４６】
このステツプＳＰ２−ＳＰ３−（ＳＰ４）−ＳＰ５−ＳＰ６−ＳＰ２の処理がサーチ点カウンタＣＮＴのカウント値が全サーチ点終了を示すまで、繰り返される。やがて全サーチ点での処理が終了すると、ステツプＳＰ６からステツプＳＰ７に移つて、当該ステツプ７において上位階層動き量検出回路３によつてステツプ４で求めた評価値Ｅj ″の最小値が検出され、上位階層での粗い動きベクトルＭＶ′が検出される。この「粗さ」は前述のように、ブロツク内の小ブロツク精度で決定される。
【００４７】
最後にステツプＳＰ８において、粗い動きベクトルＭＶ′を中心に、詳細な動きベクトルＭＶを決定し、続くステツプＳＰ９に移つて当該処理手順を終了する。このようにして、前処理付き小ブロツクアクテイビテイ評価法が実行される。かくして、上位階層動き検出処理での誤動作を抑制して、最終的な動きベクトルＭＶの検出精度を向上させることができる。
【００４８】
（２）実施例の動作
以上の構成において、動き量検出装置１は、上位階層動き量検出回路３によつて小ブロツク内の最小画素値及び最大画素値に基づいて、ブロツク内小ブロツク単位の上位階層動きベクトルＭＶ′を求める。換言すれば、小ブロツク内の最大画素値及び最小画素値に基づいて形成した上位階層画像を用いて上位階層動きベクトルＭＶ′を求める。
【００４９】
また動き量検出装置１は、前処理部２によつて小ブロツク内の平均値に基づいて形成した上位階層画像を用いて各ブロツクが動きブロツクの可能性のあるブロツクか否かを判定する。
【００５０】
前処理部２は、あるブロツクが動きベクトルの可能性のあるブロツクであると判定すると、すなわち評価値Ｍj が閾値ＴＨ以下であつた場合には、このブロツクの位置を上位階層での動きベクトル検出対象候補点とし、このことを表わす制御信号Ｄ２を上位階層動き量検出回路３に送出する。
【００５１】
これに対して前処理部２は、あるブロツクが動きベクトルの可能性のないブロツクであると判定すると、すなわち評価値Ｍj が閾値ＴＨより大きい場合には、このブロツクの位置を上位階層での動きベクトル検出対象候補点から除外し、このことを表わす制御信号Ｄ２を上位階層動き量検出回路３に送出する。
【００５２】
このように動き量検出装置１においては、もし上位階層動き量検出回路３によつて動き量を検出すると、動きベクトルの検出誤りが発生するおそれのあるブロツクを上位階層での動きベクトル検出対象から除外し、このようなブロツクに対しては始めから下位階層動き量検出回路４によつて細かい動きベクトルを検出する。
かくするにつき、動き量検出のための演算回数は若干増加するが、上位階層での検出誤りを回避できることにより、最終的な動きベクトルＭＶの検出精度を格段的に向上し得る。
【００５３】
（３）実施例の効果
以上の構成によれば、階層画像を用いて少ない演算回数で動きベクトルを求める場合に、上位階層動き量検出回路３とは異なる上位階層画像に基づいて上位階層での動き量検出処理を制限する前処理部２を設けるようにしたことにより、動き量の検出精度を格段的に向上し得る動き量検出装置１を実現できる。
【００５４】
（４）他の実施例
なお上述の実施例においては、上位階層動き量検出回路３によつて小ブロツク内の最小値及び最大値を検出し、この最大値及び最小値を用いて（７）式を実行して評価値Ｅj ″を求め、評価値Ｅj ″に基づいて上位階層での動きベクトルＭＶ′を求める場合について述べたが、本発明は小ブロツク内の最小値及び最大値を検出評価して上位階層動きベクトルを求める場合に限らず、例えば所定ブロツク間の平均値、標準偏差又は分散等を用いて上位階層動きベクトルＭＶ′を求めるようにしても良い。
【００５５】
また上述の実施例においては、双方向のブロツクマツチングにより上位階層の動きベクトルＭＶ′を求める場合について述べたが、本発明はこれに限らず、順方向のみのブロツクマツチングにより上位階層の動きベクトルを求めるようにしても良い。さらにブロツクマツチング法により動きベクトルを求める場合に限らず、例えば勾配法や位相相関法を用いて動きベクトルを求める場合にも適用できる。
【００５６】
ここで勾配法とは、ある空間傾斜を持つ画素がある位置まで動くと、動き量に応じた時間差分が発生するというモデルに基づき、時間差分を空間傾斜で割算することにより動きベクトルを求めるものである。また位相相関法とは、現画像と過去の画像の同一位置のブロツクデータに対し、各々フーリエ変換を施し、周波数領域で位相のずれ量を検出し、その位相項を逆フーリエ変換を用いて動きベクトルを検出する手法である。
【００５７】
また上述の実施例においては、前処理部２によつて上位階層動きベクトル候補点の選定を行う際の閾値ＴＨを、評価値Ｍj の最小値を基準にして設定した場合について述べたが、本発明はこれに限らず、固定の閾値ＴＨを設定するようにしても良い。このようにすれば閾値設定のための計算量を低減し得る。さらに画像の内容に依存した閾値ＴＨを設定するようにしても良い。ここで画像の内容に依存した閾値ＴＨを設定する方法としては、１６画素×８ラインの基準ブロツク内データのアクテイビテイ、例えばダイナミツクレンジや標準偏差などに応じて閾値ＴＨを変えることが考えられる。
【００５８】
また上述の実施例においては、小ブロツク平均値に基づいて算出した評価値Ｍj を閾値判定し、当該判定結果に応じて上位階層での動きベクトルの検出座標を制限する場合について述べたが、本発明はこれに限らず、要は前処理部２によつて、上位階層動き量検出回路３とは異なる上位階層画像に基づいて動きの可能性を判定し、当該判定結果に基づいて上位階層での動きベクトル検出座標を制限するようにすれば良い。
【００５９】
さらに上述の実施例においては、２階層の階層構造を用いて階層的に動きベクトルＭＶを求める場合について述べたが、本発明はこれに限らず、３階層や４階層等の階層構造を用いて上位階層から順に動きベクトルを求める場合にも適用することができる。
【００６０】
【発明の効果】
上述のように本発明によれば、基本画像と参照画像との間動き量を検出する動き量検出装置において、基本画像と参照画像との間の大まかな動きベクトルの検出対象座標を制限する上位階層動きベクトル検出制限手段と、基本画像を分割した基本ブロツクの一部である基本小ブロツク内画素のアクテイビテイを当該基本小ブロツクに対応させることにより形成され当該基本画像よりも解像度の低い第１の基本上位階層画像と、参照画像を分割した参照ブロツクの一部である参照小ブロツク内画素のアクテイビテイを当該参照小ブロツクに対応させることにより形成され当該参照画像よりも解像度の低い第１の参照上位階層画像とを用いて、上位階層動きベクトル検出制限手段により制限された検出対象座標のなかから、基本小ブロツクのアクテイビテイと、当該基本小ブロツクに対応する参照小ブロツクのアクテイビテイとの差分量における絶対値を上記基本ブロツク内の上記基本小ブロツクについて加算したものを評価値として、基本ブロツクと参照ブロツクとの間のブロツクマツチング法により上位階層での大まかな動きベクトルを検出する上位階層動きベクトル検出手段と、基本画像及び参照画像を用いて、上位階層動きベクトル検出手段で求めた上位階層での大まかな動きベクトルを中心とした所定のサーチ領域内で基本画像及び参照画像間での細かい動きベクトルを検出する下位階層動きベクトル検出手段とを設け、上位階層動きベクトル検出制限手段は、基本ブロツク毎の画素値の平均値により形成された第２の基本上位階層画像と参照小ブロツク毎の画素値の平均値により形成された第２の参照上位階層画像との差分をブロツク単位で比較評価することにより大まかな動きベクトルの候補点を検出し、当該大まかな動きベクトルを検出する際の対象座標を当該候補点に制限するようにしたことにより、階層画像を用いて動き量を検出する場合の動き量の検出精度を向上し得、少ない計算回数で高精度の動き量を求めることができる動き量検出装置を実現できる。
【図面の簡単な説明】
【図１】本発明による動き量検出装置の一実施例の全体構成を示すブロツク図である。
【図２】実施例による上位階層動き量検出回路の構成を示すブロツク図である。
【図３】上位階層動き量検出回路の動作の説明に供する略線図である。
【図４】実施例による前処理部の構成を示すブロツク図である。
【図５】実施例による下位階層動き量検出回路の構成を示すブロツク図である。
【図６】実施例による動き量検出装置の動きベクトル検出処理手順を示すフローチヤートである。
【図７】ブロツクマツチングの説明に供する略線図である。
【図８】階層構造の説明に供する略線図である。
【図９】階層構造を用いた動きベクトルの検出の説明に供する略線図である。
【符号の説明】
１……動き量検出装置、２……前処理部、３……上位階層動き量検出回路、４……下位階層動き量検出回路、Ｄ１、Ｄ１Ａ、Ｄ１Ｂ……入力画像データ、Ｄ２……制御信号、Ｄ３……小ブロツクデータ、Ｄ４……平均小ブロツクデータ、ＭＶ′……上位階層動きベクトル、ＭＶ……動きベクトル、Ｅj 、Ｅj ′、Ｅj ″、Ｍj ……評価値、Ｘ０〜Ｘ１５、Ｙ０〜Ｙ１５……小ブロツク。
【図１】
0003812750.tif 000010
【図５】
0003812750.tif 000011
【図２】
0003812750.tif 000012
【図３】
0003812750.tif 000013
【図４】
0003812750.tif 000014
【図６】
0003812750.tif 000015
【図７】
0003812750.tif 000016
【図８】
0003812750.tif 000017
【図９】
0003812750.tif 000018