(57)【要約】【課題】  ブロックマッチングシステムは、１つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。【解決手段】  このシステムは、動作ブロックおよび他のビデオイメージフレームからの複数のトライアルマッチングブロックを変換する、複数のアダマール変換プロセッサを含む。変換されたマッチングブロックは、次に、変換された動作ブロックと比較され、そして、この変換された動作ブロックに対して最小の差分を有する変換されたマッチングブロックが判定される。この判定された、変換されたマッチングブロックに対応するマッチングブロックは、動作ブロックについてのマッチングブロックとして選択される。ブロックマッチングシステムは、異なる数の行および列を有する動作ブロックを変換し得る。【選択図】  図２
2004229315.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２のイメージを表す画素データを処理して、第１のイメージ内の複数の画素値を含む動作ブロックに対応する第２のイメージ内の複数の画素値を含むマッチングブロックを識別する方法であって、該方法は、
２次元アダマール変換動作を用いて画素値の該動作ブロックを変換して、変換された動作ブロックを生成するステップであって、該変換された動作ブロックは、該動作ブロックにおける該複数の画素値に対応する複数の係数を含む、ステップと、
該第２のイメージから複数のトライアルマッチングブロックを選択するステップと、
複数のプロセッサをそれぞれ用いて該選択された複数のトライアルマッチングブロックの各々を変換するステップであって、各プロセッサは、２次元アダマール変換動作を実行することにより、対応する複数の変換されたマッチングブロックを生成し、該変換されたマッチングブロックの各々は、該マッチングブロックの各々における該複数の画素値に対応する複数の係数を含む、ステップと、
該変換された動作ブロックと該複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成するステップと、
該差分の複数の寸法のうちの最小寸法である該差分の寸法を有する該変換されたマッチングブロックに対応する該トライアルマッチングブロックを、該マッチングブロックとして選択するステップと
を含む方法。
【請求項２】
前記変換された動作ブロックと前記複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成するステップは、該変換された動作ブロックの係数と該変換されたマッチングブロックの各々の係数との間の平均二乗誤差（ＭＳＥ）を計算するステップを含み、
該マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのＭＳＥよりも小さなＭＳＥを有する該変換されたマッチングブロックに対応する該マッチングブロックを選択する、請求項１に記載の方法。
【請求項３】
前記変換された動作ブロックと前記複数の変換されたマッチングブロック各々との間の差分の複数の寸法を生成するステップは、該変換された動作ブロックの係数と該変換されたマッチングブロックの各々の係数との間の平均絶対値差分（ＭＡＤ）を計算するステップを含み、
該マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのＭＡＤよりも小さなＭＡＤを有する該変換されたマッチングブロックに対応する該マッチングブロックを選択する、請求項１に記載の方法。
【請求項４】
前記動作ブロックは、第１の数の行（すなわち、Ｍ行）の画素値と第２の数の列（すなわち、Ｎ列）の画素値とを含み、
該動作ブロックを変換するステップは、
Ｍ×Ｍアダマールマトリクスに該動作ブロックを乗算することにより、Ｍ×Ｎマトリクスの値を生成するステップと、
該Ｍ×Ｎマトリクスの値にＮ×Ｎアダマールマトリクスを乗算することにより、Ｎ×Ｍブロックの変換されたイメージ値を生成するステップと
を含む、請求項１に記載の方法。
【請求項５】
第１および第２のイメージを表す画素データを処理して、第１のイメージ内の画素値の動作ブロックに対応する第２のイメージ内の画素値のマッチングブロックを識別する方法であって、該方法は、
該第１のイメージ内のＭ×Ｎブロックの画素値を選択するステップであって、該Ｍ×Ｎブロックの画素値は、画素値の該動作ブロックを適切な下位セットとして含み、ＭおよびＮは、１より大きい整数である、ステップと、
所定の直交変換動作を用いて該Ｍ×Ｎブロックの画素値を変換して、変換されたＭ×Ｎブロックの画素値を生成するステップと、
該第２のイメージから、複数のトライアルＭ×Ｎマッチングブロックを選択するステップと、
プロセッサを用いて該選択された複数のトライアルＭ×Ｎマッチングブロックの各々を変換するステップであって、該プロセッサは、該所定の変換動作を実行することにより、対応する複数の変換されたＭ×Ｎマッチングブロックを生成する、ステップと、
該変換されたＭ×Ｎマッチングブロックと該複数の変換されたＭ×Ｎマッチングブロックの各々との間の差分の複数の寸法を生成するステップと、
差分の該生成された寸法を比較して、差分の最小寸法を識別し、いずれの変換されたＭ×Ｎマッチングブロックが差分の該最小寸法に対応するかを決定するステップと、
該Ｍ×Ｎブロックと該選択されたＭ×Ｎマッチングブロックとの間の移動変位を決定するステップと、
所定の直交変換動作を用いて画素値からなる該動作ブロックを変換して、変換された動作ブロックを生成するステップと、
該第２のイメージから複数のさらなるトライアルマッチングブロックを選択するステップであって、該選択されたさらなるトライアルマッチングブロックは、該決定された移動変位によって該動作ブロックからずらされた該トライアルマッチングブロックの周りに集められる、ステップと、
プロセッサを用いて該選択されたさらなる画素値のトライアルマッチングブロックの各々を変換するステップであって、各プロセッサは、該所定の直交変換動作を実行することにより、対応する複数の変換されたさらなるマッチングブロックを生成する、ステップと、
該変換された動作ブロックと該複数の変換されたさらなるマッチングブロックの各々との間の差分の複数のさらなる寸法を生成するステップと、
該差分の複数のさらなる寸法のうち差分の他の寸法のいずれよりも小さな差分の寸法を有する該変換されたマッチングブロックに対応する該さらなるトライアルマッチングブロックを、該マッチングブロックとして選択するステップと
を含む方法。
【請求項６】
第１および第２のイメージを表す画素データを処理して、第１のイメージ内の画素値の動作ブロックに対応する第２のイメージ内の画素値のマッチングブロックを識別する装置であって、該装置は、
２次元アダマール変換動作を用いて画素値の該動作ブロックを変換して、変換された動作ブロックを生成する変換プロセッサと、
該動作ブロックに応答して該第２のイメージから複数のトライアルマッチングブロックをそれぞれ選択し、該２次元アダマール変換動作を用いて画素値の該トライアルマッチングブロックをそれぞれ変換することにより、対応する複数の変換されたマッチングブロックを生成する複数のさらなる変換プロセッサと、
該変換された動作ブロックと該複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成し、該差分の寸法のうちの１つを差分の最小寸法として識別するコンパレータであって、該差分の最小寸法を有する該変換されたマッチングブロックに対応する該トライアルマッチングブロックは、画素値の該動作ブロックに対応する画素値の該マッチングブロックとして識別される、コンパレータと
を含む装置。
【請求項７】
前記コンパレータは、
前記変換された動作ブロックと前記変換されたマッチングブロックとの間の平均二乗誤差（ＭＳＥ）を計算する手段と、
他の変換されたブロックのＭＳＥよりも小さなＭＳＥを有する該変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段と
を含む、請求項６に記載の装置。
【請求項８】
前記コンパレータは、
前記変換された動作ブロックと前記変換されたマッチングブロックとの間の平均絶対値差分（ＭＡＤ）を計算する手段と、
他の変換されたブロックのＭＡＤよりも小さなＭＡＤを有する該変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段と
を含む、請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イメージブロック適合方法に関する。本発明は、詳細には、直交変換のドメイン内で動作する２つのイメージ間で、画素のブロックをマッチングする方法に関する。
【背景技術】
【０００２】
動き推定は基礎的なタイプのデジタルビデオ処理である。動き推定は、多くのデジタルビデオアプリケーションにおいて、例えば、ビデオコーディング（ｖｉｄｅｏ
ｃｏｄｉｎｇ）、動き補償型ビデオ規格変換（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｅｄ  ｖｉｄｅｏ  ｓｔａｎｄａｒｄｓ  ｃｏｎｖｅｒｓｉｏｎ）および機械視覚（ｍａｃｈｉｎｅ  ｖｉｓｉｏｎ）において見受けられ得る。ビデオコーディングの文脈における動作情報は、信号エントロピーを低減するのに有用であるので、圧縮されたビデオ信号は帯域幅が制限されたチャネルを介して伝送され得る。ビデオ規格変換の文脈における動作情報は、動作パス（ｍｏｔｉｏｎ  ｐａｔｈ）に沿って信号を補間することにより、変換器が失われたデータを回復するのを空間的および／または時間的に助ける。動作情報は、機械視覚アプリケーションにおいて有用であり、ロボットがさまざまな処理ステップを介してワークピース（ｗｏｒｋｐｉｅｃｅ）を発見または追尾するのを可能にする。これらの例の各々において、動き推定は、通常、画素−ドメインブロックマッチング（ＢＭ）技術を用い、マッチング基準（ｍａｔｃｈｉｎｇ  ｃｒｉｔｅｒｉｏｎ）は、現在のフレーム内の動作ブロックと検索フレーム内のトライアルマッチングブロック（ｔｒｉａｌ  ｍａｔｃｈｉｎｇ  ｂｌｏｃｋ）との間の最小平均二乗誤差（ＭＳＥ）である。最小ＭＳＥは、より費用効率の高いハードウェアインプリメンテーションのために、最小平均絶対値差分（ｍｅａｎ  ａｂｓｏｌｕｔｉｏｎ  ｄｉｆｆｅｒｅｎｃｅ）（ＭＡＤ）と置き換えられ得る。
【０００３】
画素−ドメインＢＭ技術は、そのアルゴリズムの単純さのため、および、超大型集積（ＶＳＬＩ）回路の用いて実行され得るので、これらのアプリケーションにより適している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、これら既存のＢＭ技術は画素−ドメイン比較に基づき、かつ、最良のマッチは最小エラーインデックス（ＭＡＤ／ＭＳＥ）に基づいて判定されるので、これら既存のＢＭ技術は最適未満の結果を提供し得る。画素−ドメインＭＳＥ（または相互相関（ｃｒｏｓｓ−ｃｏｒｒｅｌａｔｉｏｎ））寸法は人によって認知されるイメージビジュアルエラーと完全に一致しないということが、一般的に了解されている。結果的に、動き推定において現在用いられている誤差寸法は、さらなる改変を要求する。換言すると、マッチングプロセスの間、人間の視覚システムの特性を考慮する必要がある。
【課題を解決するための手段】
【０００５】
本発明による、第１および第２のイメージを表す画素データを処理して、第１のイメージ内の画素値からなる動作ブロックに対応する第２のイメージ内の画素値のマッチングブロックを識別する方法は、所定の直交変換動作を用いて画素値からなる動作ブロックを変換して、変換された動作ブロックを生成するステップと、第２のイメージから複数のトライアルマッチングブロックを選択するステップと、所定の直交変換動作を用いてトライアルマッチングブロックの各々を変換して、対応する複数の変換されたマッチングブロックを生成するステップと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の複数の寸法を生成するステップと、差分の複数の寸法のうちの最小寸法である差分の寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、マッチングブロックとして選択するステップとを含み、そのことにより上記目的が達成される。
【０００６】
所定の変換動作がアダマール変換動作であってもよい。
【０００７】
変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の複数の寸法を生成するステップは、変換された動作ブロックと変換されたマッチングブロックの各々との間の平均二乗誤差（ＭＳＥ）を計算するステップを含み、マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのＭＳＥよりも小さなＭＳＥを有する変換されたマッチングブロックに対応するマッチングブロックを選択してもよい。
【０００８】
変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の複数の寸法を生成するステップは、変換された動作ブロックと変換されたマッチングブロックの各々との間の平均絶対値差分（ＭＡＤ）を計算するステップを含み、マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのＭＡＤよりも小さなＭＡＤを有する変換されたマッチングブロックに対応するマッチングブロックを選択してもよい。
【０００９】
動作ブロックは、画素値からなる第１の数の行、つまりＭ行の画素値、および、画素値からなる第２の数の行、つまりＮ行の画素値、を含み、そして、動作ブロックを変換するステップは、動作ブロックによって、Ｍ×Ｍアダマールマトリクスを乗算して、Ｍ×Ｎマトリクスの値を生成するステップと、Ｎ×Ｎアダマールマトリクスによって、Ｍ×Ｎマトリクスの値を乗算して、Ｎ×Ｍブロックの変換されたイメージ値を生成するステップとを含んでもよい。
【００１０】
第１および第２のイメージは、ビデオ信号からなる第１および第２の連続するフレームであり、かつ、第１および第２のイメージの差分はフレーム間動作に対応し、位置に関して動作ブロックに対応する第２のフレーム内の基準ブロックを識別するステップと、第２のフレーム内の、基準ブロックと選択されたマッチングブロックとの間の移動変位を判定するステップと、移動変位から動きベクトルを生成するステップとをさらに含んでもよい。
【００１１】
本発明による、第１および第２のイメージを表す画素データを処理して、第１のイメージ内の画素値からなる動作ブロックに対応する第２のイメージ内の画素値のマッチングブロックを識別する方法は、第１のイメージ内のＭ×Ｎブロックの画素値を選択するステップであって、Ｍ×Ｎブロックの画素値は、画素値からなる動作ブロックを適切な下位セットとして含む、ステップと、所定の直交変換動作を用いてＭ×Ｎブロックの画素値を変換して、変換されたＭ×Ｎブロックの画素値を生成するステップと、第２のイメージから、複数のトライアルＭ×Ｎマッチングブロックを選択するステップと、所定の変換動作を用いて複数のトライアルＭ×Ｎマッチングブロックの各々を変換して、対応する複数の変換されたＭ×Ｎマッチングブロックを生成するステップと、変換されたＭ×Ｎマッチングブロックとそれぞれの複数の変換されたＭ×Ｎマッチングブロックの各々との間の差分の、複数の寸法を生成するステップと、差分の生成された寸法を比較して、差分の最小寸法を識別し、そして、いずれの変換されたＭ×Ｎマッチングブロックが差分の最小寸法に対応するかを判定するステップと、Ｍ×Ｎブロックと選択されたＭ×Ｎマッチングブロックとの間の移動変位を判定するステップと、所定の直交変換動作を用いて画素値からなる動作ブロックを変換して、変換された動作ブロックを生成するステップと、第２のイメージから複数のトライアルマッチングブロックを選択するステップであって、選択されたトライアルマッチングブロックは、判定された移動変位によって動作ブロックからずらされたトライアルマッチングブロックの周りに密集させられる、ステップと、所定の直交変換動作を用いて、画素値からなるトライアルマッチングブロックの各々を変換して、対応する複数の変換されたマッチングブロックを生成するステップと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成するステップと、複数の差分の寸法のうちの他の差分の寸法のいずれよりも小さな差分の寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、マッチングブロックとして選択するステップとを含み、そのことにより上記目的が達成される。
【００１２】
本発明による、第１および第２のイメージを表す画素データを処理して、第１のイメージ内の画素値からなる動作ブロックに対応する第２のイメージ内の画素値のマッチングブロックを識別する装置は、所定の直交変換動作を用いて画素値からなる動作ブロックを変換して、変換された動作ブロックを生成する変換プロセッサと、第２のイメージから、それぞれの複数のトライアルマッチングブロックを選択して、そして、所定の直交変換動作を用いて、画素値のそれぞれのトライアルマッチングブロックを変換して、対応する複数の変換されたマッチングブロックを生成する、複数のさらなる変換プロセッサと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の、複数の寸法を生成し、そして、差分の寸法のうちの１つを差分の最小寸法として識別するコンパレータであって、差分の最小寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックは、画素値の動作ブロックに対応する画素値のマッチングブロックとして識別される、コンパレータとを含み、そのことにより上記目的が達成される。
【００１３】
変換プロセッサおよび複数の変換プロセッサの各々は、アダマール変換プロセッサであってもよい。
【００１４】
コンパレータは、変換された動作ブロックと変換されたマッチングブロックとの間の平均二乗誤差（ＭＳＥ）を計算する手段と、他の変換されたブロックのＭＳＥよりも小さなＭＳＥを有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段とを含んでもよい。
【００１５】
コンパレータは、変換された動作ブロックと変換されたマッチングブロックとの間の平均絶対値差分（ＭＡＤ）を計算する手段と、他の変換されたブロックのＭＡＤよりも小さなＭＡＤを有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段とを含んでもよい。
【００１６】
第１および第２のイメージは、ビデオ信号からなる第１および第２の連続するフレームであり、かつ、第１および第２のイメージの差分はフレーム間動作に対応し、位置に関して動作ブロックに対応する第２のフレーム内の基準ブロックを識別する手段と、第２のフレーム内の、基準ブロックと選択されたマッチングブロックとの間の移動変位を判定する手段と、移動変位から動きベクトルを生成する手段とをさらに含んでもよい。
【００１７】
コンピュータプログラムを含むキャリヤであって、コンピュータプログラムは、コンピュータに以下のステップを実行させる複数の命令を含み、以下のステップは、第１のイメージから画素の動作ブロックを識別するステップと、所定の直交変換動作を用いて画素値の動作ブロックを変換して、変換された動作ブロックを生成するステップと、第２のイメージから複数のトライアルマッチングブロックを選択するステップと、所定の直交変換動作を用いて画素値のトライアルマッチングブロックの各々を変換して、対応する複数の変換されたマッチングブロックを生成するステップと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の、複数の寸法を生成するステップと、複数の差分の寸法のうちの他の差分の寸法のいずれよりも小さな差分の寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、マッチングブロックとして選択するステップとを含み、そのことにより上記目的が達成される。
【００１８】
本発明は、人間の視覚特性を考慮に入れた動き推定技術において実施される。このスキームは、変換−ドメインブロックマッチング技術を用いて、画素−ドメインブロックマッチング技術を用いて達成され得るよりも正確な動きベクトルを達成する。
【００１９】
本発明のある局面によると、動き推定方法は、動作ブロック上、および、全てのトライアルマッチングブロック上で変換動作を実行する。次に、この動き推定方法は、変換された動作ブロックを、変換されたトライアルマッチングブロックの各々と比較し、そして、変換ドメイン内の動作ブロックとの最小の差分を示すトライアルマッチングブロックをマッチングブロックとして選択する。
【００２０】
本発明の別の局面によると、変換動作はアダマール変換動作である。
【００２１】
本発明の別の局面によると、上記方法は、変換された動作ブロックと変換されたトライアルマッチングブロックの各々との間の平均二乗誤差（ＭＳＥ）を計算し、そして、最小ＭＳＥを有する変換されたトライアルマッチングブロックをマッチングブロックとして選択する。
【００２２】
本発明の別の局面によると、上記方法は、変換された動作ブロックと変換されたトライアルマッチングブロックの各々との間の平均絶対値差分（ＭＡＤ）を計算し、そして、最小ＭＡＤを有する変換されたトライアルマッチングブロックをマッチングブロックとして選択する。
【００２３】
本発明の更に別の局面によると、上記方法は、動作ブロックのサイズを変えることを可能にする。
【発明の効果】
【００２４】
本発明によるブロックマッチングシステムは、１つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。動き推定において誤差寸法が、さらに改変される。換言すると、マッチングプロセスの間、人間の視覚システムの特性を考慮される。
【発明を実施するための最良の形態】
【００２５】
動き推定技術は、ビデオ解析、コーディング、および規格変換において幅広く使用される。ビデオコーディングにおいて、イメージエントロピーを低減するために動作情報が使用され、それにより、イメージを伝送または格納するのに必要なビットの数を低減する。ビデオ規格変換アプリケーションにおいて、失われた画素の補間を助けるために、動作情報がしばしば用いられる。機械視覚において、イメージの、解析する必要のある部分を制限するために、動き推定が使用され得る。全ての場合で、コード化されたまたは変換されたイメージは、動き推定の正確さに直接リンクされる。たとえ現実世界であっても、カメラによって捕捉される観察可能なデータは、イメージ強度であり、イメージ動作ではない。オブジェクトおよび観察者の相対的な移動による、イメージシーケンス内の強度パターンの、知覚された一時的な移動変位は、イメージ解析における重要な局面であり、オプティカルフローと呼ばれる。オプティカルフローは、移動するオブジェクトの空間構成および構造に関する情報を提供する。したがって、特に機械視覚および規格変換アプリケーションにおいて、イメージシーケンス内のオプティカルフローを推定することにより、真の動作をモデリングするのが望ましい。
【００２６】
ブロック型の動き推定技術および動き補償技術は、ビデオコーディングおよび規格変換のための最もポピュラーなアプローチに含まれる。ある例示的なブロック型動き推定および補償技術は、ＤＥＲＩＶＡＴＩＯＮ  ＡＮＤ  ＵＳＥ  ＯＦ
ＭＯＴＩＯＮ  ＶＥＣＴＯＲ  ＩＮ  Ａ  ＤＩＦＦＥＲＥＮＴＩＡＬ  ＰＵＬＳＥ  ＣＯＤＥ  ＭＯＤＵＬＡＴＩＯＮ  ＳＹＳＴＥＭというタイトルの、米国特許第５，１９８，０９１号に記載されている。ブロック型動き推定技術に関する教示について、この文献を本明細書中参考として援用する。Ｈ．２６１およびＭＰＥＧ１−２等のデジタルビデオ圧縮の国際規格では、ブロック型動き推定が採用されてきた。しかし、これらの規格は、具体的な動き推定方法を特定していない。ブロック型動き推定はまた、規格変換および機械視覚のための動き補償型フィルタリング（補間）を含む、複数の他のデジタルビデオアプリケーションにおいて幅広く使用される。
【００２７】
ブロック動作モデルは、ビデオイメージが移動するブロックを含むと仮定している。計算の複雑さを低減するために、単純な２−Ｄ平行運動の動作がしばしば仮定される。多くの他のブロック型動き推定アルゴリズムのうち、ブロックマッチングは、ハードウェアの複雑さがより少ないので、実際の動き推定を実現するための、最もポピュラーな方法であると考えられ得る。その結果、ＶＬＳＩにおいて幅広く使用され、そして、ほとんど全てのＨ．２６１およびＭＰＥＧ１−２符復号器が、動き推定のためにブロックマッチングを使用する。これらのブロックマッチング技術の多くが、画素ドメイン検索プロシージャを用いて、所定の動作ブロックについての、最良の動きベクトル推定値（ｅｓｔｉｍａｔｅ）を識別する。
【００２８】
基本ブロックマッチングアルゴリズムを図１に示す。ここで、現在のフレーム（基準フレーム）１００内の画素ｘ（ｕ１，ｖ１）についての移動変位は、（ｕ１，ｖ１）を中心として配置されたＮ１×Ｎ２動作ブロック１０２を考慮し、そして、同じサイズの、最適マッチングブロック１１０のロケーションについて、次／前のフレーム（検索フレーム）１０４を検索することにより、最適マッチングブロックが一旦発見されると、検索イメージ内の同じ位置を占めるブロック１０８と相対的に決定される。検索は通常、計算上の理由から、Ｎ１＋２Ｍ１×Ｎ２＋２Ｍ２領域（検索ウィンドウ）１０６に制限される。ブロックマッチングアルゴリズムは、以下の局面の点で異なり得る。その局面とは、マッチング基準（ｍａｔｃｈｉｎｇ  ｃｒｉｔｅｒｉａ）（例えば、最小交差相関、最小ＭＳＥ、最小ＭＡＤ）、検索ストラテジー（例えば、３ステップ高速検索）、またはブロックサイズの判定（例えば、階層的（ｈｉｅｒａｒｃｈｉｃａｌ））である。
【００２９】
複数のトライアルマッチングブロックのうちから最適マッチングブロックを見つけるのに使用されるマッチング基準に焦点をあてる。
【００３０】
通常、マッチング基準は、最大交差相関および最小ＭＳＥ等の画素ドメインエラーインデックス寸法に基づく。ブロックマッチングにおける計算上の要件を減らすために、最小の平均絶対値差分（ＭＡＤ）または最大マッチング画素カウント（ＭＰＣ）は、性能を妥協することを犠牲にして、ＭＳＥまたはＭＡＤを置換し得る。最小ＭＳＥ基準において、ＭＳＥは式（１）により定義される。
【００３１】
【数１】
2004229315.tif 000003
ここで、
【００３２】
【数２】
2004229315.tif 000004
は、１組の候補動きベクトル（ｄ１，ｄ２）について、Ｎ１×Ｎ２ブロックを示す。動きベクトルの推定値を（ｄ１，ｄ２）の値とすると、式（２）に示すように、ＭＳＥは最小になる。
【００３３】
【数３】
2004229315.tif 000005
ハードウェアにおける平方動作（ｓｑｕａｒｅ  ｏｐｅｒａｔｉｏｎ）を効率的に実現するのは困難であるので、式（３）によって定義され得る最小ＭＡＤ基準がＭＳＥ基準の代わりに用いられ得る。
【００３４】
【数４】
2004229315.tif 000006
次に移動変位推定値が式（４）により与えられる。
【００３５】
【数５】
2004229315.tif 000007
２フレーム間の差分がフレーム間動作を表す場合、移動変位は、現在のフレームと検索フレームとの間で、例えばｘおよびｙ座標軸に沿って、動作ブロックの所定の画素の移動変位を表す命令された対の値として、動きベクトルへと直接変え得る。
【００３６】
実世界のビデオアプリケーションにおいて、動き推定スキームの正確度は、どのマッチング基準が使用されるかに関わらず、観察者によって最終的に判断される。画素ドメインエラー寸法（例えばＭＳＥ、ＭＡＤ）は、人間の目によって知覚されるようなイメージビジュアルエラーと完全に矛盾しないわけではないと一般に理解されている。結果的に、動き推定において現在使用されているエラー寸法は、人間の視覚システムの特性を提供するように、さらなる改変を要求する。本発明は、画素ドメイン内でなく、変換（シーケンス／周波数）ドメインにおいてブロックマッチングを行うことによりこれらの特性を考慮する。知覚されたイメージブロックエラーは、より高い空間周波数成分におけるよりもむしろ、より低い空間周波数成分において発生した場合には、より目立つので、シーケンス／周波数ドメイン変換の使用により、より効果的なブロックマッチングが提供され得る。通常の画素型ブロックマッチング技術は、画素ドメイン内のみで動作するので、マッチングの間に、全ての画素を等しく取り扱う。
【００３７】
本発明の方法は、まず動作ブロックおよびトライアルマッチングブロックを直交ドメインに変換し、次に、例えばＭＳＥ／ＭＡＤマッチング基準を用いて、係数対係数の比較を行う。従来の画素ドメインブロックマッチングではなく、変換ドメインブロックマッチングを用いることには、複数の利点がある。
（１）より低いオーダーの変換成分は、人間の知覚と一致するマッチングの結果に影響を及ぼしやすい。
（２）変換ドメインにおける有効ノイズ電力（ｅｆｆｅｃｔｉｖｅ  ｎｏｉｓｅ  ｐｏｗｅｒ）が低減される。
（３）イメージが平行運動的な動作（ｔｒａｎｓｎａｔｉｏｎａｌ  ｍｏｔｉｏｎ）を示すという仮定が覆された場合、動き推定エラーは、画素ドメインブロックマッチング技術の動き推定エラーよりも小さい。
【００３８】
イメージブロックをシーケンス／周波数ドメインに変更し得る、多くの変換がある。フーリエ変換（ＦＴ）、離散コサイン変換（ＤＣＴ）、およびアダマール変換（ＨＴ）は、３つの代表的な方法である。ＦＴは複素変換であり、ＤＣＴ動作は実数変換であるので、ハードウェアインプリメンテーションにおける比較的高いコストのために、それらは考慮しない。ＨＴは、その純粋な＋１および−１変換カーネルならびに高速変換アルゴリズムの存在のために、上記タスクにより適している。したがって、ＨＴ処理の実現には、ＦＴまたはＤＣＴ処理を実現するよりも、より少ないハードウェア論理で済む。アダマール変換について本発明を説明するが、本発明は、任意の周波数／シーケンスドメイン変換、または、信号エネルギが比較的少ない数の成分に圧縮される他の直交変換で実施され得ることが想定されている。さらに、本発明は、変換されたブロックの最小平均絶対値差分（ＭＡＤ）を用いて、最適マッチングブロックを識別するように説明されるが、最大交差相関、最小ＭＳＥ、または最大マッチング画素カウント（ＭＰＣ）等の他のマッチング寸法が使用され得る。
【００３９】
アダマールマトリクス、Ｈ＝（ｈｉｊ）、は次元ｎ×ｎの二乗マトリクスとして規定される。ここで、
ｉ．  全てのエントリは、±１である。
ｉｉ．  任意の２つの別個の行は直交している。つまり、
【００４０】
【数６】
2004229315.tif 000008
ｉｉｉ．アダマールマトリクスの順序は、１、２、４、８、１６、．．．４ｍであり、ここで、ｍ＝１、２、．．．である。
【００４１】
一般性を失うことなく、変換のために通常使用されるアダマールマトリクスのサブセット、つまり、ランク２ｎのシルベスター−アダマールマトリクスについて考える。その機能的な形態は、式（５）によって規定される。
【００４２】
【数７】
2004229315.tif 000009
ここで、
【００４３】
【数８】
2004229315.tif 000010
はノネカー積（Ｋｎｏｎｅｃｋｅｒ  ｐｒｏｄｕｃｔ）を示し、かつ、
【００４４】
【数９】
2004229315.tif 000011
である。
したがって、
【００４５】
【数１０】
2004229315.tif 000012
かつ、
【００４６】
【数１１】
2004229315.tif 000013
である。
【００４７】
２−Ｄ二乗アダマール変換は、式（６）によって規定される。
【００４８】
【数１２】
2004229315.tif 000014
ここで、ＨｍおよびＨｎは、それぞれＮ１×Ｎ１（２ｍ×２ｍ）アダマールマトリクスおよびＮ２×Ｎ２（２ｎ×２ｎ）アダマールマトリクスである。マトリクスｆＮ１Ｎ２は、Ｎ１×Ｎ２の次元を有するイメージデータマトリクスである。（注：アダマールマトリクスの第３の特性（ｔｈｉｒｄ  ｐｒｏｐｅｒｔｙ）と一致する順序で、イメージデータマトリクスをアダマール変換することも可能である。）
従来の画素ドメインＢＭのように、アダマール変換ドメインＢＭは、Ｎ１×Ｎ２動作ブロックが（ｕ１，ｖ１）を中心として配置されているとし、かつ、同じサイズの最適マッチングブロックのロケーションについて次の（または前の）フレーム（検索フレーム）を検索することにより、現在のフレーム（基準フレーム）内の画素ｆ（ｕ１，ｖ１）についての移動変位を判定する。検索は、また、Ｎ１＋２Ｍ１×Ｎ２＋２Ｍ２領域に制限される。基準フレームおよび検索フレーム内のブロックは、両方とも、式（７）および（８）に規定されるように、個々にアダマール変換が行われる。
【００４９】
【数１３】
2004229315.tif 000015
ここで、ＲはＮ１×Ｎ２のサイズを有する画素のブロックを示す。
【００５０】
式（９）に基づいて変換ドメインブロック差分を計算するためにＭＡＤ基準が使用され得る。
【００５１】
【数１４】
2004229315.tif 000016
次に、移動変位推定が、式（１０）によって計算され得る。
【００５２】
【数１５】
2004229315.tif 000017
ＢＭについてのマッチング基準は変化するが、提案された変換ドメインＢＭ（ＴＢＭ）は、ＢＭアルゴリズムファミリーの他の変形例と共に使用し得る。例えば、ＴＢＭは、階層動き推定アルゴリズムにおいて使用され得る。このアルゴリズムでは、まず、間引かれた低解像度のバージョンの現在の画像および検索画像、および、これらのイメージについて判定されたマッチを用いて検索を行って、連続的により高い解像度の画像についての検索の精度を上げることにより、マッチングブロックを識別する。あるいは、粗い動きベクトルを見つけるために、イメージのフィルタリングおよび間引きを行うよりも、より大きいブロックサイズの、対応するより高いオーダーのアダマールマトリクスが使用され得、粗い動きベクトルを１つ以上の精密な動きベクトルに変換するために、ブロックサイズおよびマトリクスサイズが連続的に減少され得る。
【００５３】
この技術は、Ｊ．  Ｎ．  ＫｉｍおよびＴ．  Ｓ．  Ｃｈｏｉの「Ａ  Ｆａｓｔ  Ｔｈｒｅｅ−Ｓｔｅｐ  Ｓｅａｒｃｈ  Ａｌｇｏｒｉｔｈｍ  Ｗｉｔｈ  Ｍｉｎｉｍｕｍ  Ｃｈｅｃｋｉｎｇ  Ｐｏｉｎｔ  Ｕｓｉｎｇ  Ｕｎｉｍｏｄａｌ
Ｅｒｒｏｒ  Ｓｕｒｆａｃｅ  Ａｓｓｕｍｐｔｉｏｎ」（ＩＥＥＥ  Ｔｒａｎｓ．  ｏｎ  Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ，  Ａｕｇ．  １９９８，  ｐｐ  ６３８−６４８）という題の文献に開示された３ステップ検索方法等の高速検索動き推定アルゴリズムで使用され得る。高速検索動き推定アルゴリズムに関する教示について、この文献を本明細書中参考として援用する。これらの高速検索技術を用いて、この技術の各ステップが実行される前に、現在のフレームからの動作ブロックおよび検索フレームからの各トライアルマッチングブロックは変換され得る。さらに、ＴＢＭ技術は、イメージの空間周波数コンテンツに対して、より感度がよいので、回転またはズーム等の非平行運動を示すイメージシーケンスに適用可能である。
【００５４】
図２は、本発明による、変換ブロックマッチングアルゴリズムの実行に使用するのに適した回路のブロック図である。図２に示す回路は、現在のフレーム２１０からの動作ブロックを、次のフレーム２１２からのマッチングブロックへとマッピングする。ブロックマッチングプロセッサ２００は、マイクロプロセッサ２２６の制御下で現在のフレーム２１０からの動作ブロックを選択するアダマール変換プロセッサ２１４を含む。
【００５５】
ブロックマッチングプロセッサ２００はまた、マイクロプロセッサ２２６の制御下で、次のフレームメモリ２１２からトライアルマッチングブロックを選択する、複数のアダマール変換プロセッサ２１６、２１８、２２０、および２２２を含む。マイクロプロセッサ２２６は、アダマール変換プロセッサ２１４〜２２２を制御して、全検索アルゴリズムまたは高速検索アルゴリズムに基づいて、現在のフレーム２１０および次のフレーム２１２からブロックを選択する。ブロックマッチングプロセッサ２００が、階層ブロックマッチング技術を用いるシステムにおいて使用される場合、現在のフレームおよび次のフレームから取ってきた画素のブロックのサイズは、Ｘ方向およびＹ方向のうちのいずれか一方向、もしくは、両方向に変化し得、そして、式（７）および（８）を参照して上で説明したように、対応するアダマール変換が、取ってきた画素のブロックに適用され得る。
【００５６】
変換プロセッサ２１４〜２２２によって提供された画素データの変換されたブロックは、予測ブロック決定プロセッサ２２４に与えられる。プロセッサ２２４は、例えば、最小ＭＡＤ基準を、上で式（９）および（１０）を参照して説明したように、さまざまな変換された画素値のブロックに与えて、変換された動作ブロックに対して最小平均二乗絶対値差分を有する変換された検索ブロックを選択し得る。
【００５７】
予測ブロック決定プロセッサ２２４はまた、マイクロプロセッサ２２６からブロック識別信号を受け取るように結合される。式（１０）の基準を満たす検索ブロックを識別すると、予測ブロック決定プロセッサ２２４によって、動作ブロックとこの検索ブロックとの間の移動変位が計算され得る。この移動変位は、予測ブロック決定プロセッサ２２４によって提供される出力信号である動きベクトルとして表される。
【００５８】
図３は、別のブロックマッチングプロセッサ２００’のブロック図である。このプロセッサは、前のフレーム３１０および次のフレーム２１２の両方においてマッチングブロックを検索することにより、図２に示すブロックマッチングプロセッサ２００を延長する。図３に示すように、例示的なブロックマッチングプロセッサ２００’は、マイクロプロセッサ２２６’によって制御されて、前のフレーム３１０からトライアルマッチングブロックを取って来て、そして、これらのブロックが予測ブロック決定プロセッサ２２４’に与えられる前に変換する、アダマール変換プロセッサ３１２、３１４、３１６、および３１８を含む。図３に示した回路の残りの部分は、図２に示したものと同じであり、その説明は省略する。ブロック決定プロセッサ２２４’は、現在のフレーム２１０からの変換された動作ブロックと、前のフレーム３１０または次のフレーム２１２から提供された、変換されたブロックのいずれかとの間の最小絶対値差分を計算する。
【００５９】
図３に示す例示的な実施形態は、次のフレームおよび前のフレームからのトライアルマッチングブロックを並行して処理する。図４は、次のフレームおよび前のフレームからのトライアルマッチングブロックが３つの連続するステップで処理される、本発明の別の実施形態を示す。図４に示すシステムは、次のフレーム２１２および前のフレーム３１０からのトライアルマッチングブロックを受け取るように結合されたマルチプレクサ／ブロック平均プロセッサ４１０を含む。プロセッサ４１０はまた、マイクロプロセッサ２２６”からの制御信号を受け取るように結合される。ブロックマッチングプロセッサ２００”は、以下のように動作する。第１のインターバルにおいて、現在のフレーム２１０からの動作ブロックが、アダマール変換プロセッサ２１４に与えられ、次に、予測ブロック決定プロセッサ２２４”に与えられる。また、このインターバルにおいて、前のフレームからのトライアルマッチングブロックは、マルチプレクサ／ブロック平均プロセッサ４１０を介して、アダマール変換プロセッサ２１６、２１８、２２０、および２２２それぞれに与えられて、予測ブロック決定プロセッサ２２４”に与えられる変換されたトライアルマッチングブロックを生成する。
【００６０】
この第１のインターバルの間に、予測ブロック決定プロセッサ２２４”は、変換された動作ブロックに対して最小平均絶対値差分を有する、前のフレームから変換されたマッチングブロックを選択する。
【００６１】
第２のタイムインターバルの間に、変換された動作ブロックが依然予測ブロック決定プロセッサ２２４”に与えられる一方、マイクロプロセッサ２２６”は、マルチプレクサ／ブロック平均プロセッサ４１０を切り換えて、次のフレーム２１２からのトライアルマッチングブロックを提供する。この第２のタイムインターバルの間に、次のフレームからのマッチングブロックは、アダマール変換プロセッサ２１６、２１８、２２０、および２２２によって変換されて、変換されたマッチングブロックを生成して、これを予測ブロック決定プロセッサ２２４”に与える。この第２のタイムインターバルにおいて、予測ブロック決定プロセッサ２２４”は、変換されたマッチングブロックの各々と変換された動作ブロックとの間の平均絶対値差分に基づいて、次のフレームからのマッチングブロックのうちの１つを選択する。
【００６２】
第３のタイムインターバルにおいて、予測ブロック決定プロセッサ２２４”は、マイクロプロセッサ２２６”に、次のフレーム２１２および前のフレーム３１０から選択されたマッチングブロックを知らせる。マルチプレクサ／ブロック平均プロセッサ４１０は、次に、次のフレームおよび前のフレームからの選択されたブロックを平均化し、そして、平均化されたブロックを、アダマール変換プロセッサの１つ、例えばプロセッサ２１６、に提供する。この変換ブロックは、予測ブロック決定プロセッサ２２４”に与えられる。この予測ブロック決定プロセッサ２２４”が、第３のタイムインターバルの間に、アダマール変換プロセッサ２１４によって提供される変換された動作ブロックと、変換プロセッサ２１６によって提供される変換された平均ブロックとの間の平均絶対値差分を計算する。
【００６３】
予測ブロック決定プロセッサ２２４”は、次に、変換され、平均化されたブロックについての平均絶対値差分を、次のフレーム２１２および前のフレーム３１０からの変換され、選択されたブロックについての平均絶対値差分と比較する。最小平均絶対値差分を有するブロックは、ブロックマッチングプロセッサ２００”によって与えられる動きベクトルを判定する。変換され、平均化されたブロックについての平均絶対値差分を、次のフレームおよび前のフレームからのマッチングブロックの平均絶対値差分と比較する際、予測ブロック決定プロセッサ２２４”は、次および前のフレームからのＭＡＤ値を格納し得るか、または、変換された平均ブロックを受け取るのと同時に、次および前のフレームからの変換されたマッチングブロックを受け取り得る。この例において、変換されたマッチングブロックは、マルチプレクサ／ブロック平均回路４１０によって、アダマール変換プロセッサ２１６、２１８、２２０、および２２２のいずれか、例えばプロセッサ２１８および２２０、にそれぞれルーティングされる。
【００６４】
図４に示す回路は、例えば、ＭＰＥＧ−２エンコーダ等のトランスコーティングプロセッサにおいて使用され、この回路は、順方向予測または逆方向予測動き補償型符合化技術を用いる。
【００６５】
図２、図３、および図４に示す例示的なブロックマッチングプロセッサを、次のフレームおよび／または前のフレームからの４つのトライアルマッチングブロックを提供して、現在のフレームからの動作ブロックと比較するように示す。これらの図面は単なる例示的なものにすぎない。例えば、全検索動き推定技術を用いて、２５６個ものトライアルマッチングブロックが、前のフレームおよび次のフレームから提供され得る。上で参照した文献で説明されているような、高速検索プロセスのために、次のフレームおよび前のフレームの各々は、３ステッププロセスの各ステップにおいて、８つの動作ブロックを提供し得る。
【００６６】
図５は、本発明の実施形態を含むように調節され、例えばＭＰＥＧ−２規格に基づいて符合化されたビデオ信号を生成し得る、従来の動き調節型ビデオエンコーダ回路のブロック図である。図５に示すシステムにおいて、入力ビデオ信号は、動き補償プロセッサ２００”に結合されたフレームメモリ２１２’に与えられる。動き補償プロセッサは、フレームメモリにアクセスして、次のフレームからトライアルマッチングブロックを得る。本発明の例示的な実施形態におけるフレームメモリ２１２’はまた、フレーム遅延２１０’に結合される。フレームメモリ２１２’がビデオ情報の１つのフレームを保持する間に、直前のフレームが、フレーム遅延２１０’を介して、復号化回路に提供される。フレーム遅延２１０’によって提供された出力信号は、動き補償プロセッサ２００”に結合された現在のビデオフレームであり、図４を参照して上で説明した動作ブロックを提供する。動き補償プロセッサ２００”はまた、フレーム遅延３１０’に結合されて、前のイメージフレームからトライアルマッチングブロックを受け取る。
【００６７】
一般的な言葉で言うと、図５に示すエンコーダは、動き補償型プロセッサ２００”によって提供された動き補償型ビデオデータから、フレーム遅延２１０’によって提供された、現在のビデオ情報を減算することにより得られた差分画素値を符号化することにより動作する。
【００６８】
本発明の例示的な実施形態において、プロセッサ２１０”によって提供された動き補償型ビデオデータが、減算器５１０によって現在のビデオデータから減算される。得られた差分信号は、ＤＣＴプロセッサ５１２において、離散コサイン変換（ＤＣＴ）プロセスが行われる。プロセッサ５１２によって提供された変換された差分信号は、量子化回路５１４に与えられる。下で説明するように、ＤＣＴ符号化された差分信号の量子化解像度は、バッファ制御プロセッサ５２６に応答して、制御される。量子化プロセッサ５１４の出力信号は、動き補償プロセッサ２００”によって提供された動きベクトルも受け取る可変長コード化器５２２に与えられる。可変長コード化器５２２は、エントロピーコーディングを、量子化され、変換された差分コード値、および、動きベクトルに与えられて、符号化された出力ビデオストリームを生成する。符号化されたビデオストリームは、ビットレートが低減された、トランスポートチャネルの出力ポートに符号化されたビデオ信号を提供する、先入れ先出し（ＦＩＦＯ）バッファ５２４に与えられる。
【００６９】
ビデオイメージ内の動きの詳細および量に基づいて、ＦＩＦＯバッファ５２４に提供されたビデオデータは、トランスポートチャネルによってサポートされ得るよりも、より高いレートであり得る。トランスポートチャネル限界に近づくと、ＦＩＦＯバッファ５２４は、バッファ制御回路５２６に信号を送って、量子化器５１４によって与えられた量子化解像度を減少させて、符号化されたビデオ信号を表すのに用いられるデータのボリュームを減少させる。バッファ制御回路５２６のために、図５に示す符号化プロセッサは、異なるレベルの詳細および動きを有するイメージシーケンスを、均一なビットレートのビデオ信号に、依存的に符号化することができる。
【００７０】
フレーム遅延回路３１０’によって提供されたビデオデータの前のフレームは、符号化されたビデオ信号から再生成される。本発明の例示的な実施形態において、逆量子化回路５１６は、量子化器５１４によって実行される量子化動作を逆転させ、そして、逆量子化された、変換された、差分的にコード化されたビデオ信号を、逆離散コサイン変換プロセッサ５１８に与える。プロセッサ５１８は、プロセッサ５１２によって実行されるＤＣＴ動作を逆転して、復号化された差分ビデオ信号を合算回路５２０に提供する。合算回路５２０は、動き補償されたビデオデータを復号化された差分ビデオ信号に与えることにより、現在のフレームからのデータを再構築する。再構築されたデータは、現在のフレームデータを１フレーム間隔分遅延させるフレーム遅延回路３１０’に与えられて、前のフレームビデオデータを動き補償プロセッサ２００”に提供する。
【００７１】
図６は、本発明の例示的な実施形態に基づいて動きベクトルフィールドを生成するために使用され得る、高度な並行プロセッサシステムのブロック図である。このプロセッサシステムは、ＮＨ時間ＮＶプロセッサＰ０，０〜ＰＮｖ−１、Ｎｈ−１を含む。したがって、プロセッサシステムは、イメージの各ブロック毎に１つのプロセッサを有し、ここで、イメージは、ＮＨ水平ブロック×ＮＶ垂直ブロックまたはＮＨ倍のＮＶブロックを含む。
【００７２】
図６に示すように、現在のフィールドに対応する入力サンプルＦｋ、前のフィールドにおける入力サンプルＦｋー１、次のフィールドにおける入力サンプルＦｋ＋１は、入力／出力（Ｉ／Ｏ）プロセッサ６１２に与えられる。このプロセッサは、制御プロセッサ６１０の制御下で、これらのサンプルをマルチポートメモリ６１４に格納する。メモリ６１４は、例えば、複数のプロセッサＰ０，ＰＮｖ−１、Ｎｈ−１の各々と共存するそれぞれに異なる部分を有する分散型メモリであり得る。コントローラ６１０および複数のプロセッサＰ０，ＰＮｖ−１、Ｎｈ−１は、図２、図３、および図４を参照して上で説明した方法に基づいて動作して、２つまたは３つのイメージフィールドを表すサンプルから、現在のイメージについての動きベクトルフィールドを表すサンプルを生成する。
【００７３】
Ｉ／Ｏプロセッサ６１２を、３フレームのデータを受け取るように示すが、安定状態の動作では、データの１つの新たなフレームのみが所定の時間にプロセッサ６１２に与えられてもよい。前に格納されたフレームのうちの２つが、フレームＦｋに対応する格納されたデータが、フレームＦｋ＋１を表すデータとなり、かつ、フレームＦｋ−１に対応する格納されたデータが、フレームＦｋを表すデータとなるように、単に再設計されてもよい。本発明の例示的な実施形態において、各プロセッサ、例えばＰ０，０は、メモリ６１４の１つのポートを介して、フレームＦｋからの画素データのそれぞれ異なる動作ブロックを得る。プロセッサはまた、メモリポートを介して、フレームＦｋ−１およびフレームＦｋ＋１からトライアルマッチングブロックを得る。
【００７４】
各プロセッサＰ０，０〜ＰＮｖ−１，Ｎｈ−１は、図７に示すフローチャートに基づいて動作する。フローチャートの第１のステップであるステップ７１０は、フレームＦｋから動作ブロックを取って来て、アダマール変換を与える。ステップ７１２は、フレームＦｋ−１および適宜フレームＦｋ＋１から、トライアルマッチングブロックを取って来る。さらに、ステップ７１２は、可変ＭＩＮＭＡＤを大きな値に初期化する。次に、ステップ７１４は、トライアルマッチングブロックの１つを選択して、そして、アダマール変換を選択されたブロックに与える。この動作は、式（８）を参照して上で説明した。ステップ７１４はまた、選択された、変換されたマッチングブロックと変換された動作ブロックとの間の平均絶対値差分（ＭＡＤ）を計算する。平均絶対値差分の計算は、式（９）を参照して上で説明した。ステップ７１６において、ステップ７１４において計算されたＭＡＤの値は、ＭＩＮＭＡＤと比較される。ＭＡＤがＭＩＮＭＡＤよりも小さい場合、ステップ７１８が実行され、ＭＡＤの値を可変ＭＩＮＭＡＤに割り付けて、そして、ステップ７１４において可変ＭＩＮＭＡＴＣＨへと処理されたブロックのブロック識別子（ＢＬＯＣＫ  ＩＤ）を記録する。ステップ７２０において、プロセッサは、いくつかより多くのマッチングブロックを処理する必要があるかどうかを判定する。必要がある場合には、制御はステップ７１４に戻って、次のマッチングブロックを選択する。他のマッチングブロックが処理されない場合には、ステップ７２２が実行されて、式（１０）を参照して上で説明したように、ブロックＭＩＮＭＡＴＣＨについての動きベクトルを計算する。
【００７５】
図７に示すフローチャートは、本発明のソフトウェアインプリメンテーションを示す。このソフトウェアインプリメンテーションは、ディスケット、ＣＤ−ＲＯＭ、または変調された搬送波等のキャリヤを介して搬送される、コンピュータプログラムの形態であり得る。
【００７６】
図６に示すプロセッサシステムによって提供されたこの結果が、フレームＦｋの各動作ブロックについての動きベクトルを含む動きベクトルフィールドである。式（７）および（８）を参照して上で説明したように、アダマールマトリクス、つまり、基準ブロックおよび検索ブロックは、水平および垂直方向の各々に、異なる数の画素を含み得る。したがって、図６に示すプロセッサは、１６×１６ブロックと同様に、４×４ブロック上で動作し得る。式（６）によって規定されるアダマール変換動作は、異なるオーダーの２つのアダマールマトリクスを用いるので、図６に示すプロセッサはまた、１６×４ブロックまたは８×１６ブロック上で動作し得る。
【００７７】
図８Ａおよび図８Ｂは、本発明の階層動作ブロック検索アルゴリズムへの応用を示す。図８Ａにおいて、画素値からなる８×８ブロックを１６個含む動作ブロック１４０は、３２×３２アダマールマトリクスを用いて変換され、そして、前のフレーム１０４内のマッチングブロック１５０および１５２もまた、３２×３２アダマール変換が行われる。平均絶対値差分は、変換されたブロック１５０および１５２の各々について計算される。ブロック１５０は、前のフレーム１０４内に、ブロック１４０が現在のフレーム１００内に有するのと同じロケーションを有するので、ブロック１５０とブロック１５２との間の移動変位は、ブロック１４０についての動きベクトルを規定する。あるいは、動きベクトルは、３２×３２ブロックの画素値のローパスフィルタリング、および、フィルタリングされた画素を間引いて、例えば８×８ブロックの画素値を生成することにより、３２×３２ブロックの画素値について計算され得る。３２×３２ブロックの画素値のローパスフィルタリングは、フィルタリングされたブロックがサブサンプルされて８×８ブロックの画素値を生成する場合に、エイリアシング歪みを低減する働きをする。次に、８×８ブロックの画素値は、アダマール変換を行なわれて、そして同様のフィルタリングをされ、間引かれ、そして変換されたトライアルマッチングブロックと比較されて、最適なマッチを見つける。ローパスフィルタおよび間引き器は、図示しない。
【００７８】
図８Ａに示すように計算された動きベクトルは、ＭＰＥＧ−２規格の下で、４個のマクロブロックをカバーする。図８Ａに開示された方法に追って識別された動きベクトル１６０を用いると、単一のマクロブロックについての動きベクトルは、図８Ｂに示すように生成され得る。図８Ｂにおいて、単一のマクロブロック１７０が動作ブロックとして使用される場合、前のフレーム１０４内のマッチングブロックを配置するのに用いられる検索領域１０６’を制限するために、動きベクトル１６０が使用され得る。図８Ｂに示すように、ブロック１７２、１７４、１７６、１７８は、トライアルマッチングブロックとして識別され得る。
【００７９】
このアルゴリズムに基づいて、１６×１６アダマール変換マトリクスが、動作ブロック１７０、ならびにトライアルマッチングブロック１７２、１７４、１７６、１７８の各々に与えられる。次に、変換されたブロックは、式（９）および（１０）を参照して上で説明した最小平均絶対値差分アルゴリズムを用いて比較され、検索領域１０６’内の１つのブロックを動作ブロック１７０のマッチングブロックとして選択する。上で説明したように、画素値の１６×１６ブロックおよび１６×１６アダマール変換を用いる代わりに、アルゴリズムは、１６×１６ブロックのフィルタリングおよび間引きを行って、８×８ブロックを生成し得、そして、８×８アダマール変換を、動作ブロック、ならびに、１組の、同様にフィルタリングおよびサブサンプリングされたトライアルマッチングブロックの各々に与え得る。
【００８０】
図８Ａおよび図８Ｂを参照して説明したアルゴリズムは、２つの異なるオーダーのアダマール変換を用いる。図８Ａにおいて、オーダー３２アダマール変換が実行される。それに対して、図８Ｂにおいて、オーダー１６アダマール変換が実行される。図２〜図５を参照して上で説明したように、アダマール変換を実行するのに使用される処理回路は、異なるオーダーのアダマール変換をその処理中に、異なる時間に使用し得る。単一のシーケンスのイメージが複数のオーダーの変換を使用し得ることが、さらに想定される。高いオーダーの変換が、このシーケンスの、イメージからイメージへと著しく変化しないイメージの大きな領域に使用され得、それに対して、より低いオーダーのアダマール変換がより頻繁に変化するイメージの部分において使用され得る。例えば、ニュース放送において、バックグラウンドは、比較的大きなオーダーのアダマール変換を用いて符号化され得、それに対して、ニュースキャスターの顔は、比較的低いオーダーのアダマール変換を用いて符号化される。
【００８１】
図８Ａおよび図８Ｂを参照して上で説明した動き推定技術において、階層動き推定は、大きなブロックから小さなブロックへと行われる。しかし、階層技術はまた、小さなブロックから大きなブロックへと進み得ることが想定される。図９は、例示的な動き推定方法を示すイメージ図である。ここでは、大きなブロックについての動きベクトルを推測するために、小さなブロックの動きが使用される。図９において、現在のフレーム１００の動作ブロック１１８は、サブブロック１２０、１２２、１２４、および１２６を含む。本発明の例示的な実施形態において、個々の動きベクトルは、サブブロックの各々について判定される。これを図９の検索フレーム１０４内に示し、ブロック１１８’は同じ位置のブロックを表し、動作ブロック１１８としての検索イメージは現在のイメージ内にある。一旦動きベクトルが判定されると、動作ブロックのサブブロック１２０、１２２、および１２６が、検索イメージ内のブロック１３０のサブブロック１２０’、１２２’、および１２６’へとマッピングされる。それに対して、サブブロック１２４は、検索ブロック１３２のサブブロック１２４’へとマッピングされる。図１を参照して上で説明した従来のブロック動きアルゴリズムでのように、検索領域は、検索イメージ１０４の領域１０６に制限される。動作ブロックのサブブロックのうち、３つのサブブロックがマッチングブロック１３０へとマッピングされるのに対して、１つのサブブロックのみがブロック１３２へとマッピングされるので、ブロック１３０は、動作ブロック１１８についてのマッチングブロックとして選択される。
【００８２】
図９に示すブロックマッチング方法において、サブブロック１２０、１２２、１２４、および１２６の各々は、まず、検索フレーム１０４の検索領域１０６内の全てのサブブロックのように、アダマール変換が行われる。次に、上で説明したブロックマッチングアルゴリズムは、検索イメージ１０４の検索領域１０６内で、サブブロック毎に適用される。
【００８３】
例示的な実施形態について本発明を説明したが、請求の範囲内で、上で概説したように実施され得ることが想定されている。
【００８４】
ブロックマッチングシステムは、１つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。このシステムは、動作ブロックおよび他のビデオイメージフレームからの複数のトライアルマッチングブロックを変換する、複数のアダマール変換プロセッサを含む。変換されたマッチングブロックは、次に、変換された動作ブロックと比較され、そして、この変換された動作ブロックに対して最小の差分を有する変換されたマッチングブロックが判定される。この判定された、変換されたマッチングブロックに対応するマッチングブロックは、動作ブロックについてのマッチングブロックとして選択される。ブロックマッチングシステムは、異なる数の行および列を有する動作ブロックを変換し得る。あるアプリケーションにおいて、このシステムは、１つのフレーム内の比較的大きな動作ブロックを、他のフレーム内の対応する大きなマッチングブロックにマッチさせて、マッチングブロックと動作ブロックとの間の移動変位を判定する。この移動変位は、１つのフレーム内のより小さな動作ブロックが他のフレーム内のブロックにマッチされる場合に、トライアルマッチングブロックの選択を導くために使用される。
【００８５】
本発明によるブロックマッチングシステムは、１つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。動き推定において誤差寸法が、さらに改変される。換言すると、マッチングプロセスの間、人間の視覚システムの特性を考慮される。
【図面の簡単な説明】
【００８６】
【図１】従来の技術による、ブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。
【図２】本発明による、例示的なブロックマッチングプロセッサのブロック図である。
【図３】本発明による、別の例示的なブロックマッチングプロセッサのブロック図である。
【図４】本発明による、さらに別の例示的なブロックマッチングプロセッサのブロック図である。
【図５】図４に示したブロックマッチングプロセッサ等のブロックマッチングプロセッサを用いるビデオ信号符号化システムのブロック図である。
【図６】本発明によるブロックマッチング技術を用いて動きベクトルフィールドを生成する機械視覚システムのブロック図である。
【図７】図６に示したプロセッサのうちの１つを示すフローチャートである。
【図８Ａ】本発明による、あるブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。
【図８Ｂ】本発明による、あるブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。
【図９】本発明による、別のブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。
【符号の説明】
【００８７】
２００  ブロックマッチングプロセッサ
２１０  現在のフレーム
２１２  次のフレーム
２１４、２１６、２１８、２２０、２２２  アダマール変換
２２４  予測ブロック判定
２２６  マイクロプロセッサ
【図１】
2004229315.tif 000018
【図２】
2004229315.tif 000019
【図３】
2004229315.tif 000020
【図４】
2004229315.tif 000021
【図５】
2004229315.tif 000022
【図６】
2004229315.tif 000023
【図７】
2004229315.tif 000024
【図８Ａ】
2004229315.tif 000025
【図８Ｂ】
2004229315.tif 000026
【図９】
2004229315.tif 000027