JP2004229315A - 直交変換−ドメインブロックマッチングを用いる動き推定 - Google Patents

直交変換−ドメインブロックマッチングを用いる動き推定 Download PDF

Info

Publication number
JP2004229315A
JP2004229315A JP2004063256A JP2004063256A JP2004229315A JP 2004229315 A JP2004229315 A JP 2004229315A JP 2004063256 A JP2004063256 A JP 2004063256A JP 2004063256 A JP2004063256 A JP 2004063256A JP 2004229315 A JP2004229315 A JP 2004229315A
Authority
JP
Japan
Prior art keywords
block
matching
transformed
blocks
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004063256A
Other languages
English (en)
Other versions
JP3768507B2 (ja
Inventor
Daniel Q Zhu
キュー. ズ ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JP2004229315A publication Critical patent/JP2004229315A/ja
Application granted granted Critical
Publication of JP3768507B2 publication Critical patent/JP3768507B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/547Motion estimation performed in a transform domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Television Systems (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】 ブロックマッチングシステムは、1つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。
【解決手段】 このシステムは、動作ブロックおよび他のビデオイメージフレームからの複数のトライアルマッチングブロックを変換する、複数のアダマール変換プロセッサを含む。変換されたマッチングブロックは、次に、変換された動作ブロックと比較され、そして、この変換された動作ブロックに対して最小の差分を有する変換されたマッチングブロックが判定される。この判定された、変換されたマッチングブロックに対応するマッチングブロックは、動作ブロックについてのマッチングブロックとして選択される。ブロックマッチングシステムは、異なる数の行および列を有する動作ブロックを変換し得る。
【選択図】 図2

Description

本発明は、イメージブロック適合方法に関する。本発明は、詳細には、直交変換のドメイン内で動作する2つのイメージ間で、画素のブロックをマッチングする方法に関する。
動き推定は基礎的なタイプのデジタルビデオ処理である。動き推定は、多くのデジタルビデオアプリケーションにおいて、例えば、ビデオコーディング(video
coding)、動き補償型ビデオ規格変換(motion compensated video standards conversion)および機械視覚(machine vision)において見受けられ得る。ビデオコーディングの文脈における動作情報は、信号エントロピーを低減するのに有用であるので、圧縮されたビデオ信号は帯域幅が制限されたチャネルを介して伝送され得る。ビデオ規格変換の文脈における動作情報は、動作パス(motion path)に沿って信号を補間することにより、変換器が失われたデータを回復するのを空間的および/または時間的に助ける。動作情報は、機械視覚アプリケーションにおいて有用であり、ロボットがさまざまな処理ステップを介してワークピース(workpiece)を発見または追尾するのを可能にする。これらの例の各々において、動き推定は、通常、画素−ドメインブロックマッチング(BM)技術を用い、マッチング基準(matching criterion)は、現在のフレーム内の動作ブロックと検索フレーム内のトライアルマッチングブロック(trial matching block)との間の最小平均二乗誤差(MSE)である。最小MSEは、より費用効率の高いハードウェアインプリメンテーションのために、最小平均絶対値差分(mean absolution difference)(MAD)と置き換えられ得る。
画素−ドメインBM技術は、そのアルゴリズムの単純さのため、および、超大型集積(VSLI)回路の用いて実行され得るので、これらのアプリケーションにより適している。
しかし、これら既存のBM技術は画素−ドメイン比較に基づき、かつ、最良のマッチは最小エラーインデックス(MAD/MSE)に基づいて判定されるので、これら既存のBM技術は最適未満の結果を提供し得る。画素−ドメインMSE(または相互相関(cross−correlation))寸法は人によって認知されるイメージビジュアルエラーと完全に一致しないということが、一般的に了解されている。結果的に、動き推定において現在用いられている誤差寸法は、さらなる改変を要求する。換言すると、マッチングプロセスの間、人間の視覚システムの特性を考慮する必要がある。
本発明による、第1および第2のイメージを表す画素データを処理して、第1のイメージ内の画素値からなる動作ブロックに対応する第2のイメージ内の画素値のマッチングブロックを識別する方法は、所定の直交変換動作を用いて画素値からなる動作ブロックを変換して、変換された動作ブロックを生成するステップと、第2のイメージから複数のトライアルマッチングブロックを選択するステップと、所定の直交変換動作を用いてトライアルマッチングブロックの各々を変換して、対応する複数の変換されたマッチングブロックを生成するステップと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の複数の寸法を生成するステップと、差分の複数の寸法のうちの最小寸法である差分の寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、マッチングブロックとして選択するステップとを含み、そのことにより上記目的が達成される。
所定の変換動作がアダマール変換動作であってもよい。
変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の複数の寸法を生成するステップは、変換された動作ブロックと変換されたマッチングブロックの各々との間の平均二乗誤差(MSE)を計算するステップを含み、マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのMSEよりも小さなMSEを有する変換されたマッチングブロックに対応するマッチングブロックを選択してもよい。
変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の複数の寸法を生成するステップは、変換された動作ブロックと変換されたマッチングブロックの各々との間の平均絶対値差分(MAD)を計算するステップを含み、マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのMADよりも小さなMADを有する変換されたマッチングブロックに対応するマッチングブロックを選択してもよい。
動作ブロックは、画素値からなる第1の数の行、つまりM行の画素値、および、画素値からなる第2の数の行、つまりN行の画素値、を含み、そして、動作ブロックを変換するステップは、動作ブロックによって、M×Mアダマールマトリクスを乗算して、M×Nマトリクスの値を生成するステップと、N×Nアダマールマトリクスによって、M×Nマトリクスの値を乗算して、N×Mブロックの変換されたイメージ値を生成するステップとを含んでもよい。
第1および第2のイメージは、ビデオ信号からなる第1および第2の連続するフレームであり、かつ、第1および第2のイメージの差分はフレーム間動作に対応し、位置に関して動作ブロックに対応する第2のフレーム内の基準ブロックを識別するステップと、第2のフレーム内の、基準ブロックと選択されたマッチングブロックとの間の移動変位を判定するステップと、移動変位から動きベクトルを生成するステップとをさらに含んでもよい。
本発明による、第1および第2のイメージを表す画素データを処理して、第1のイメージ内の画素値からなる動作ブロックに対応する第2のイメージ内の画素値のマッチングブロックを識別する方法は、第1のイメージ内のM×Nブロックの画素値を選択するステップであって、M×Nブロックの画素値は、画素値からなる動作ブロックを適切な下位セットとして含む、ステップと、所定の直交変換動作を用いてM×Nブロックの画素値を変換して、変換されたM×Nブロックの画素値を生成するステップと、第2のイメージから、複数のトライアルM×Nマッチングブロックを選択するステップと、所定の変換動作を用いて複数のトライアルM×Nマッチングブロックの各々を変換して、対応する複数の変換されたM×Nマッチングブロックを生成するステップと、変換されたM×Nマッチングブロックとそれぞれの複数の変換されたM×Nマッチングブロックの各々との間の差分の、複数の寸法を生成するステップと、差分の生成された寸法を比較して、差分の最小寸法を識別し、そして、いずれの変換されたM×Nマッチングブロックが差分の最小寸法に対応するかを判定するステップと、M×Nブロックと選択されたM×Nマッチングブロックとの間の移動変位を判定するステップと、所定の直交変換動作を用いて画素値からなる動作ブロックを変換して、変換された動作ブロックを生成するステップと、第2のイメージから複数のトライアルマッチングブロックを選択するステップであって、選択されたトライアルマッチングブロックは、判定された移動変位によって動作ブロックからずらされたトライアルマッチングブロックの周りに密集させられる、ステップと、所定の直交変換動作を用いて、画素値からなるトライアルマッチングブロックの各々を変換して、対応する複数の変換されたマッチングブロックを生成するステップと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成するステップと、複数の差分の寸法のうちの他の差分の寸法のいずれよりも小さな差分の寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、マッチングブロックとして選択するステップとを含み、そのことにより上記目的が達成される。
本発明による、第1および第2のイメージを表す画素データを処理して、第1のイメージ内の画素値からなる動作ブロックに対応する第2のイメージ内の画素値のマッチングブロックを識別する装置は、所定の直交変換動作を用いて画素値からなる動作ブロックを変換して、変換された動作ブロックを生成する変換プロセッサと、第2のイメージから、それぞれの複数のトライアルマッチングブロックを選択して、そして、所定の直交変換動作を用いて、画素値のそれぞれのトライアルマッチングブロックを変換して、対応する複数の変換されたマッチングブロックを生成する、複数のさらなる変換プロセッサと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の、複数の寸法を生成し、そして、差分の寸法のうちの1つを差分の最小寸法として識別するコンパレータであって、差分の最小寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックは、画素値の動作ブロックに対応する画素値のマッチングブロックとして識別される、コンパレータとを含み、そのことにより上記目的が達成される。
変換プロセッサおよび複数の変換プロセッサの各々は、アダマール変換プロセッサであってもよい。
コンパレータは、変換された動作ブロックと変換されたマッチングブロックとの間の平均二乗誤差(MSE)を計算する手段と、他の変換されたブロックのMSEよりも小さなMSEを有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段とを含んでもよい。
コンパレータは、変換された動作ブロックと変換されたマッチングブロックとの間の平均絶対値差分(MAD)を計算する手段と、他の変換されたブロックのMADよりも小さなMADを有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段とを含んでもよい。
第1および第2のイメージは、ビデオ信号からなる第1および第2の連続するフレームであり、かつ、第1および第2のイメージの差分はフレーム間動作に対応し、位置に関して動作ブロックに対応する第2のフレーム内の基準ブロックを識別する手段と、第2のフレーム内の、基準ブロックと選択されたマッチングブロックとの間の移動変位を判定する手段と、移動変位から動きベクトルを生成する手段とをさらに含んでもよい。
コンピュータプログラムを含むキャリヤであって、コンピュータプログラムは、コンピュータに以下のステップを実行させる複数の命令を含み、以下のステップは、第1のイメージから画素の動作ブロックを識別するステップと、所定の直交変換動作を用いて画素値の動作ブロックを変換して、変換された動作ブロックを生成するステップと、第2のイメージから複数のトライアルマッチングブロックを選択するステップと、所定の直交変換動作を用いて画素値のトライアルマッチングブロックの各々を変換して、対応する複数の変換されたマッチングブロックを生成するステップと、変換された動作ブロックとそれぞれの複数の変換されたマッチングブロックとの間の差分の、複数の寸法を生成するステップと、複数の差分の寸法のうちの他の差分の寸法のいずれよりも小さな差分の寸法を有する変換されたマッチングブロックに対応するトライアルマッチングブロックを、マッチングブロックとして選択するステップとを含み、そのことにより上記目的が達成される。
本発明は、人間の視覚特性を考慮に入れた動き推定技術において実施される。このスキームは、変換−ドメインブロックマッチング技術を用いて、画素−ドメインブロックマッチング技術を用いて達成され得るよりも正確な動きベクトルを達成する。
本発明のある局面によると、動き推定方法は、動作ブロック上、および、全てのトライアルマッチングブロック上で変換動作を実行する。次に、この動き推定方法は、変換された動作ブロックを、変換されたトライアルマッチングブロックの各々と比較し、そして、変換ドメイン内の動作ブロックとの最小の差分を示すトライアルマッチングブロックをマッチングブロックとして選択する。
本発明の別の局面によると、変換動作はアダマール変換動作である。
本発明の別の局面によると、上記方法は、変換された動作ブロックと変換されたトライアルマッチングブロックの各々との間の平均二乗誤差(MSE)を計算し、そして、最小MSEを有する変換されたトライアルマッチングブロックをマッチングブロックとして選択する。
本発明の別の局面によると、上記方法は、変換された動作ブロックと変換されたトライアルマッチングブロックの各々との間の平均絶対値差分(MAD)を計算し、そして、最小MADを有する変換されたトライアルマッチングブロックをマッチングブロックとして選択する。
本発明の更に別の局面によると、上記方法は、動作ブロックのサイズを変えることを可能にする。
本発明によるブロックマッチングシステムは、1つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。動き推定において誤差寸法が、さらに改変される。換言すると、マッチングプロセスの間、人間の視覚システムの特性を考慮される。
動き推定技術は、ビデオ解析、コーディング、および規格変換において幅広く使用される。ビデオコーディングにおいて、イメージエントロピーを低減するために動作情報が使用され、それにより、イメージを伝送または格納するのに必要なビットの数を低減する。ビデオ規格変換アプリケーションにおいて、失われた画素の補間を助けるために、動作情報がしばしば用いられる。機械視覚において、イメージの、解析する必要のある部分を制限するために、動き推定が使用され得る。全ての場合で、コード化されたまたは変換されたイメージは、動き推定の正確さに直接リンクされる。たとえ現実世界であっても、カメラによって捕捉される観察可能なデータは、イメージ強度であり、イメージ動作ではない。オブジェクトおよび観察者の相対的な移動による、イメージシーケンス内の強度パターンの、知覚された一時的な移動変位は、イメージ解析における重要な局面であり、オプティカルフローと呼ばれる。オプティカルフローは、移動するオブジェクトの空間構成および構造に関する情報を提供する。したがって、特に機械視覚および規格変換アプリケーションにおいて、イメージシーケンス内のオプティカルフローを推定することにより、真の動作をモデリングするのが望ましい。
ブロック型の動き推定技術および動き補償技術は、ビデオコーディングおよび規格変換のための最もポピュラーなアプローチに含まれる。ある例示的なブロック型動き推定および補償技術は、DERIVATION AND USE OF
MOTION VECTOR IN A DIFFERENTIAL PULSE CODE MODULATION SYSTEMというタイトルの、米国特許第5,198,091号に記載されている。ブロック型動き推定技術に関する教示について、この文献を本明細書中参考として援用する。H.261およびMPEG1−2等のデジタルビデオ圧縮の国際規格では、ブロック型動き推定が採用されてきた。しかし、これらの規格は、具体的な動き推定方法を特定していない。ブロック型動き推定はまた、規格変換および機械視覚のための動き補償型フィルタリング(補間)を含む、複数の他のデジタルビデオアプリケーションにおいて幅広く使用される。
ブロック動作モデルは、ビデオイメージが移動するブロックを含むと仮定している。計算の複雑さを低減するために、単純な2−D平行運動の動作がしばしば仮定される。多くの他のブロック型動き推定アルゴリズムのうち、ブロックマッチングは、ハードウェアの複雑さがより少ないので、実際の動き推定を実現するための、最もポピュラーな方法であると考えられ得る。その結果、VLSIにおいて幅広く使用され、そして、ほとんど全てのH.261およびMPEG1−2符復号器が、動き推定のためにブロックマッチングを使用する。これらのブロックマッチング技術の多くが、画素ドメイン検索プロシージャを用いて、所定の動作ブロックについての、最良の動きベクトル推定値(estimate)を識別する。
基本ブロックマッチングアルゴリズムを図1に示す。ここで、現在のフレーム(基準フレーム)100内の画素x(u,v)についての移動変位は、(u,v)を中心として配置されたN×N動作ブロック102を考慮し、そして、同じサイズの、最適マッチングブロック110のロケーションについて、次/前のフレーム(検索フレーム)104を検索することにより、最適マッチングブロックが一旦発見されると、検索イメージ内の同じ位置を占めるブロック108と相対的に決定される。検索は通常、計算上の理由から、N+2M×N+2M領域(検索ウィンドウ)106に制限される。ブロックマッチングアルゴリズムは、以下の局面の点で異なり得る。その局面とは、マッチング基準(matching criteria)(例えば、最小交差相関、最小MSE、最小MAD)、検索ストラテジー(例えば、3ステップ高速検索)、またはブロックサイズの判定(例えば、階層的(hierarchical))である。
複数のトライアルマッチングブロックのうちから最適マッチングブロックを見つけるのに使用されるマッチング基準に焦点をあてる。
通常、マッチング基準は、最大交差相関および最小MSE等の画素ドメインエラーインデックス寸法に基づく。ブロックマッチングにおける計算上の要件を減らすために、最小の平均絶対値差分(MAD)または最大マッチング画素カウント(MPC)は、性能を妥協することを犠牲にして、MSEまたはMADを置換し得る。最小MSE基準において、MSEは式(1)により定義される。
Figure 2004229315
ここで、
Figure 2004229315
は、1組の候補動きベクトル(d,d)について、N×Nブロックを示す。動きベクトルの推定値を(d,d)の値とすると、式(2)に示すように、MSEは最小になる。
Figure 2004229315
ハードウェアにおける平方動作(square operation)を効率的に実現するのは困難であるので、式(3)によって定義され得る最小MAD基準がMSE基準の代わりに用いられ得る。
Figure 2004229315
次に移動変位推定値が式(4)により与えられる。
Figure 2004229315
2フレーム間の差分がフレーム間動作を表す場合、移動変位は、現在のフレームと検索フレームとの間で、例えばxおよびy座標軸に沿って、動作ブロックの所定の画素の移動変位を表す命令された対の値として、動きベクトルへと直接変え得る。
実世界のビデオアプリケーションにおいて、動き推定スキームの正確度は、どのマッチング基準が使用されるかに関わらず、観察者によって最終的に判断される。画素ドメインエラー寸法(例えばMSE、MAD)は、人間の目によって知覚されるようなイメージビジュアルエラーと完全に矛盾しないわけではないと一般に理解されている。結果的に、動き推定において現在使用されているエラー寸法は、人間の視覚システムの特性を提供するように、さらなる改変を要求する。本発明は、画素ドメイン内でなく、変換(シーケンス/周波数)ドメインにおいてブロックマッチングを行うことによりこれらの特性を考慮する。知覚されたイメージブロックエラーは、より高い空間周波数成分におけるよりもむしろ、より低い空間周波数成分において発生した場合には、より目立つので、シーケンス/周波数ドメイン変換の使用により、より効果的なブロックマッチングが提供され得る。通常の画素型ブロックマッチング技術は、画素ドメイン内のみで動作するので、マッチングの間に、全ての画素を等しく取り扱う。
本発明の方法は、まず動作ブロックおよびトライアルマッチングブロックを直交ドメインに変換し、次に、例えばMSE/MADマッチング基準を用いて、係数対係数の比較を行う。従来の画素ドメインブロックマッチングではなく、変換ドメインブロックマッチングを用いることには、複数の利点がある。
(1)より低いオーダーの変換成分は、人間の知覚と一致するマッチングの結果に影響を及ぼしやすい。
(2)変換ドメインにおける有効ノイズ電力(effective noise power)が低減される。
(3)イメージが平行運動的な動作(transnational motion)を示すという仮定が覆された場合、動き推定エラーは、画素ドメインブロックマッチング技術の動き推定エラーよりも小さい。
イメージブロックをシーケンス/周波数ドメインに変更し得る、多くの変換がある。フーリエ変換(FT)、離散コサイン変換(DCT)、およびアダマール変換(HT)は、3つの代表的な方法である。FTは複素変換であり、DCT動作は実数変換であるので、ハードウェアインプリメンテーションにおける比較的高いコストのために、それらは考慮しない。HTは、その純粋な+1および−1変換カーネルならびに高速変換アルゴリズムの存在のために、上記タスクにより適している。したがって、HT処理の実現には、FTまたはDCT処理を実現するよりも、より少ないハードウェア論理で済む。アダマール変換について本発明を説明するが、本発明は、任意の周波数/シーケンスドメイン変換、または、信号エネルギが比較的少ない数の成分に圧縮される他の直交変換で実施され得ることが想定されている。さらに、本発明は、変換されたブロックの最小平均絶対値差分(MAD)を用いて、最適マッチングブロックを識別するように説明されるが、最大交差相関、最小MSE、または最大マッチング画素カウント(MPC)等の他のマッチング寸法が使用され得る。
アダマールマトリクス、H=(hij)、は次元n×nの二乗マトリクスとして規定される。ここで、
i. 全てのエントリは、±1である。
ii. 任意の2つの別個の行は直交している。つまり、
Figure 2004229315
iii.アダマールマトリクスの順序は、1、2、4、8、16、...4mであり、ここで、m=1、2、...である。
一般性を失うことなく、変換のために通常使用されるアダマールマトリクスのサブセット、つまり、ランク2のシルベスター−アダマールマトリクスについて考える。その機能的な形態は、式(5)によって規定される。
Figure 2004229315
ここで、
Figure 2004229315
はノネカー積(Knonecker product)を示し、かつ、
Figure 2004229315
である。
したがって、
Figure 2004229315
かつ、
Figure 2004229315
である。
2−D二乗アダマール変換は、式(6)によって規定される。
Figure 2004229315
ここで、HおよびHは、それぞれN×N(2×2)アダマールマトリクスおよびN×N(2×2)アダマールマトリクスである。マトリクスfNは、N×Nの次元を有するイメージデータマトリクスである。(注:アダマールマトリクスの第3の特性(third property)と一致する順序で、イメージデータマトリクスをアダマール変換することも可能である。)
従来の画素ドメインBMのように、アダマール変換ドメインBMは、N×N動作ブロックが(u,v)を中心として配置されているとし、かつ、同じサイズの最適マッチングブロックのロケーションについて次の(または前の)フレーム(検索フレーム)を検索することにより、現在のフレーム(基準フレーム)内の画素f(u,v)についての移動変位を判定する。検索は、また、N+2M×N+2M領域に制限される。基準フレームおよび検索フレーム内のブロックは、両方とも、式(7)および(8)に規定されるように、個々にアダマール変換が行われる。
Figure 2004229315
ここで、RはN×Nのサイズを有する画素のブロックを示す。
式(9)に基づいて変換ドメインブロック差分を計算するためにMAD基準が使用され得る。
Figure 2004229315
次に、移動変位推定が、式(10)によって計算され得る。
Figure 2004229315
BMについてのマッチング基準は変化するが、提案された変換ドメインBM(TBM)は、BMアルゴリズムファミリーの他の変形例と共に使用し得る。例えば、TBMは、階層動き推定アルゴリズムにおいて使用され得る。このアルゴリズムでは、まず、間引かれた低解像度のバージョンの現在の画像および検索画像、および、これらのイメージについて判定されたマッチを用いて検索を行って、連続的により高い解像度の画像についての検索の精度を上げることにより、マッチングブロックを識別する。あるいは、粗い動きベクトルを見つけるために、イメージのフィルタリングおよび間引きを行うよりも、より大きいブロックサイズの、対応するより高いオーダーのアダマールマトリクスが使用され得、粗い動きベクトルを1つ以上の精密な動きベクトルに変換するために、ブロックサイズおよびマトリクスサイズが連続的に減少され得る。
この技術は、J. N. KimおよびT. S. Choiの「A Fast Three−Step Search Algorithm With Minimum Checking Point Using Unimodal
Error Surface Assumption」(IEEE Trans. on Consumer Electronics, Aug. 1998, pp 638−648)という題の文献に開示された3ステップ検索方法等の高速検索動き推定アルゴリズムで使用され得る。高速検索動き推定アルゴリズムに関する教示について、この文献を本明細書中参考として援用する。これらの高速検索技術を用いて、この技術の各ステップが実行される前に、現在のフレームからの動作ブロックおよび検索フレームからの各トライアルマッチングブロックは変換され得る。さらに、TBM技術は、イメージの空間周波数コンテンツに対して、より感度がよいので、回転またはズーム等の非平行運動を示すイメージシーケンスに適用可能である。
図2は、本発明による、変換ブロックマッチングアルゴリズムの実行に使用するのに適した回路のブロック図である。図2に示す回路は、現在のフレーム210からの動作ブロックを、次のフレーム212からのマッチングブロックへとマッピングする。ブロックマッチングプロセッサ200は、マイクロプロセッサ226の制御下で現在のフレーム210からの動作ブロックを選択するアダマール変換プロセッサ214を含む。
ブロックマッチングプロセッサ200はまた、マイクロプロセッサ226の制御下で、次のフレームメモリ212からトライアルマッチングブロックを選択する、複数のアダマール変換プロセッサ216、218、220、および222を含む。マイクロプロセッサ226は、アダマール変換プロセッサ214〜222を制御して、全検索アルゴリズムまたは高速検索アルゴリズムに基づいて、現在のフレーム210および次のフレーム212からブロックを選択する。ブロックマッチングプロセッサ200が、階層ブロックマッチング技術を用いるシステムにおいて使用される場合、現在のフレームおよび次のフレームから取ってきた画素のブロックのサイズは、X方向およびY方向のうちのいずれか一方向、もしくは、両方向に変化し得、そして、式(7)および(8)を参照して上で説明したように、対応するアダマール変換が、取ってきた画素のブロックに適用され得る。
変換プロセッサ214〜222によって提供された画素データの変換されたブロックは、予測ブロック決定プロセッサ224に与えられる。プロセッサ224は、例えば、最小MAD基準を、上で式(9)および(10)を参照して説明したように、さまざまな変換された画素値のブロックに与えて、変換された動作ブロックに対して最小平均二乗絶対値差分を有する変換された検索ブロックを選択し得る。
予測ブロック決定プロセッサ224はまた、マイクロプロセッサ226からブロック識別信号を受け取るように結合される。式(10)の基準を満たす検索ブロックを識別すると、予測ブロック決定プロセッサ224によって、動作ブロックとこの検索ブロックとの間の移動変位が計算され得る。この移動変位は、予測ブロック決定プロセッサ224によって提供される出力信号である動きベクトルとして表される。
図3は、別のブロックマッチングプロセッサ200’のブロック図である。このプロセッサは、前のフレーム310および次のフレーム212の両方においてマッチングブロックを検索することにより、図2に示すブロックマッチングプロセッサ200を延長する。図3に示すように、例示的なブロックマッチングプロセッサ200’は、マイクロプロセッサ226’によって制御されて、前のフレーム310からトライアルマッチングブロックを取って来て、そして、これらのブロックが予測ブロック決定プロセッサ224’に与えられる前に変換する、アダマール変換プロセッサ312、314、316、および318を含む。図3に示した回路の残りの部分は、図2に示したものと同じであり、その説明は省略する。ブロック決定プロセッサ224’は、現在のフレーム210からの変換された動作ブロックと、前のフレーム310または次のフレーム212から提供された、変換されたブロックのいずれかとの間の最小絶対値差分を計算する。
図3に示す例示的な実施形態は、次のフレームおよび前のフレームからのトライアルマッチングブロックを並行して処理する。図4は、次のフレームおよび前のフレームからのトライアルマッチングブロックが3つの連続するステップで処理される、本発明の別の実施形態を示す。図4に示すシステムは、次のフレーム212および前のフレーム310からのトライアルマッチングブロックを受け取るように結合されたマルチプレクサ/ブロック平均プロセッサ410を含む。プロセッサ410はまた、マイクロプロセッサ226”からの制御信号を受け取るように結合される。ブロックマッチングプロセッサ200”は、以下のように動作する。第1のインターバルにおいて、現在のフレーム210からの動作ブロックが、アダマール変換プロセッサ214に与えられ、次に、予測ブロック決定プロセッサ224”に与えられる。また、このインターバルにおいて、前のフレームからのトライアルマッチングブロックは、マルチプレクサ/ブロック平均プロセッサ410を介して、アダマール変換プロセッサ216、218、220、および222それぞれに与えられて、予測ブロック決定プロセッサ224”に与えられる変換されたトライアルマッチングブロックを生成する。
この第1のインターバルの間に、予測ブロック決定プロセッサ224”は、変換された動作ブロックに対して最小平均絶対値差分を有する、前のフレームから変換されたマッチングブロックを選択する。
第2のタイムインターバルの間に、変換された動作ブロックが依然予測ブロック決定プロセッサ224”に与えられる一方、マイクロプロセッサ226”は、マルチプレクサ/ブロック平均プロセッサ410を切り換えて、次のフレーム212からのトライアルマッチングブロックを提供する。この第2のタイムインターバルの間に、次のフレームからのマッチングブロックは、アダマール変換プロセッサ216、218、220、および222によって変換されて、変換されたマッチングブロックを生成して、これを予測ブロック決定プロセッサ224”に与える。この第2のタイムインターバルにおいて、予測ブロック決定プロセッサ224”は、変換されたマッチングブロックの各々と変換された動作ブロックとの間の平均絶対値差分に基づいて、次のフレームからのマッチングブロックのうちの1つを選択する。
第3のタイムインターバルにおいて、予測ブロック決定プロセッサ224”は、マイクロプロセッサ226”に、次のフレーム212および前のフレーム310から選択されたマッチングブロックを知らせる。マルチプレクサ/ブロック平均プロセッサ410は、次に、次のフレームおよび前のフレームからの選択されたブロックを平均化し、そして、平均化されたブロックを、アダマール変換プロセッサの1つ、例えばプロセッサ216、に提供する。この変換ブロックは、予測ブロック決定プロセッサ224”に与えられる。この予測ブロック決定プロセッサ224”が、第3のタイムインターバルの間に、アダマール変換プロセッサ214によって提供される変換された動作ブロックと、変換プロセッサ216によって提供される変換された平均ブロックとの間の平均絶対値差分を計算する。
予測ブロック決定プロセッサ224”は、次に、変換され、平均化されたブロックについての平均絶対値差分を、次のフレーム212および前のフレーム310からの変換され、選択されたブロックについての平均絶対値差分と比較する。最小平均絶対値差分を有するブロックは、ブロックマッチングプロセッサ200”によって与えられる動きベクトルを判定する。変換され、平均化されたブロックについての平均絶対値差分を、次のフレームおよび前のフレームからのマッチングブロックの平均絶対値差分と比較する際、予測ブロック決定プロセッサ224”は、次および前のフレームからのMAD値を格納し得るか、または、変換された平均ブロックを受け取るのと同時に、次および前のフレームからの変換されたマッチングブロックを受け取り得る。この例において、変換されたマッチングブロックは、マルチプレクサ/ブロック平均回路410によって、アダマール変換プロセッサ216、218、220、および222のいずれか、例えばプロセッサ218および220、にそれぞれルーティングされる。
図4に示す回路は、例えば、MPEG−2エンコーダ等のトランスコーティングプロセッサにおいて使用され、この回路は、順方向予測または逆方向予測動き補償型符合化技術を用いる。
図2、図3、および図4に示す例示的なブロックマッチングプロセッサを、次のフレームおよび/または前のフレームからの4つのトライアルマッチングブロックを提供して、現在のフレームからの動作ブロックと比較するように示す。これらの図面は単なる例示的なものにすぎない。例えば、全検索動き推定技術を用いて、256個ものトライアルマッチングブロックが、前のフレームおよび次のフレームから提供され得る。上で参照した文献で説明されているような、高速検索プロセスのために、次のフレームおよび前のフレームの各々は、3ステッププロセスの各ステップにおいて、8つの動作ブロックを提供し得る。
図5は、本発明の実施形態を含むように調節され、例えばMPEG−2規格に基づいて符合化されたビデオ信号を生成し得る、従来の動き調節型ビデオエンコーダ回路のブロック図である。図5に示すシステムにおいて、入力ビデオ信号は、動き補償プロセッサ200”に結合されたフレームメモリ212’に与えられる。動き補償プロセッサは、フレームメモリにアクセスして、次のフレームからトライアルマッチングブロックを得る。本発明の例示的な実施形態におけるフレームメモリ212’はまた、フレーム遅延210’に結合される。フレームメモリ212’がビデオ情報の1つのフレームを保持する間に、直前のフレームが、フレーム遅延210’を介して、復号化回路に提供される。フレーム遅延210’によって提供された出力信号は、動き補償プロセッサ200”に結合された現在のビデオフレームであり、図4を参照して上で説明した動作ブロックを提供する。動き補償プロセッサ200”はまた、フレーム遅延310’に結合されて、前のイメージフレームからトライアルマッチングブロックを受け取る。
一般的な言葉で言うと、図5に示すエンコーダは、動き補償型プロセッサ200”によって提供された動き補償型ビデオデータから、フレーム遅延210’によって提供された、現在のビデオ情報を減算することにより得られた差分画素値を符号化することにより動作する。
本発明の例示的な実施形態において、プロセッサ210”によって提供された動き補償型ビデオデータが、減算器510によって現在のビデオデータから減算される。得られた差分信号は、DCTプロセッサ512において、離散コサイン変換(DCT)プロセスが行われる。プロセッサ512によって提供された変換された差分信号は、量子化回路514に与えられる。下で説明するように、DCT符号化された差分信号の量子化解像度は、バッファ制御プロセッサ526に応答して、制御される。量子化プロセッサ514の出力信号は、動き補償プロセッサ200”によって提供された動きベクトルも受け取る可変長コード化器522に与えられる。可変長コード化器522は、エントロピーコーディングを、量子化され、変換された差分コード値、および、動きベクトルに与えられて、符号化された出力ビデオストリームを生成する。符号化されたビデオストリームは、ビットレートが低減された、トランスポートチャネルの出力ポートに符号化されたビデオ信号を提供する、先入れ先出し(FIFO)バッファ524に与えられる。
ビデオイメージ内の動きの詳細および量に基づいて、FIFOバッファ524に提供されたビデオデータは、トランスポートチャネルによってサポートされ得るよりも、より高いレートであり得る。トランスポートチャネル限界に近づくと、FIFOバッファ524は、バッファ制御回路526に信号を送って、量子化器514によって与えられた量子化解像度を減少させて、符号化されたビデオ信号を表すのに用いられるデータのボリュームを減少させる。バッファ制御回路526のために、図5に示す符号化プロセッサは、異なるレベルの詳細および動きを有するイメージシーケンスを、均一なビットレートのビデオ信号に、依存的に符号化することができる。
フレーム遅延回路310’によって提供されたビデオデータの前のフレームは、符号化されたビデオ信号から再生成される。本発明の例示的な実施形態において、逆量子化回路516は、量子化器514によって実行される量子化動作を逆転させ、そして、逆量子化された、変換された、差分的にコード化されたビデオ信号を、逆離散コサイン変換プロセッサ518に与える。プロセッサ518は、プロセッサ512によって実行されるDCT動作を逆転して、復号化された差分ビデオ信号を合算回路520に提供する。合算回路520は、動き補償されたビデオデータを復号化された差分ビデオ信号に与えることにより、現在のフレームからのデータを再構築する。再構築されたデータは、現在のフレームデータを1フレーム間隔分遅延させるフレーム遅延回路310’に与えられて、前のフレームビデオデータを動き補償プロセッサ200”に提供する。
図6は、本発明の例示的な実施形態に基づいて動きベクトルフィールドを生成するために使用され得る、高度な並行プロセッサシステムのブロック図である。このプロセッサシステムは、NH時間NVプロセッサP0,0〜PNv−1Nh−1を含む。したがって、プロセッサシステムは、イメージの各ブロック毎に1つのプロセッサを有し、ここで、イメージは、NH水平ブロック×NV垂直ブロックまたはNH倍のNVブロックを含む。
図6に示すように、現在のフィールドに対応する入力サンプルF、前のフィールドにおける入力サンプルF、次のフィールドにおける入力サンプルFk+1は、入力/出力(I/O)プロセッサ612に与えられる。このプロセッサは、制御プロセッサ610の制御下で、これらのサンプルをマルチポートメモリ614に格納する。メモリ614は、例えば、複数のプロセッサP0,Nv−1Nh−1の各々と共存するそれぞれに異なる部分を有する分散型メモリであり得る。コントローラ610および複数のプロセッサP0,Nv−1Nh−1は、図2、図3、および図4を参照して上で説明した方法に基づいて動作して、2つまたは3つのイメージフィールドを表すサンプルから、現在のイメージについての動きベクトルフィールドを表すサンプルを生成する。
I/Oプロセッサ612を、3フレームのデータを受け取るように示すが、安定状態の動作では、データの1つの新たなフレームのみが所定の時間にプロセッサ612に与えられてもよい。前に格納されたフレームのうちの2つが、フレームFに対応する格納されたデータが、フレームFk+1を表すデータとなり、かつ、フレームFk−1に対応する格納されたデータが、フレームFを表すデータとなるように、単に再設計されてもよい。本発明の例示的な実施形態において、各プロセッサ、例えばP0,0は、メモリ614の1つのポートを介して、フレームFからの画素データのそれぞれ異なる動作ブロックを得る。プロセッサはまた、メモリポートを介して、フレームFk−1およびフレームFk+1からトライアルマッチングブロックを得る。
各プロセッサP0,0〜PNv−1Nh−1は、図7に示すフローチャートに基づいて動作する。フローチャートの第1のステップであるステップ710は、フレームFから動作ブロックを取って来て、アダマール変換を与える。ステップ712は、フレームFk−1および適宜フレームFk+1から、トライアルマッチングブロックを取って来る。さらに、ステップ712は、可変MINMADを大きな値に初期化する。次に、ステップ714は、トライアルマッチングブロックの1つを選択して、そして、アダマール変換を選択されたブロックに与える。この動作は、式(8)を参照して上で説明した。ステップ714はまた、選択された、変換されたマッチングブロックと変換された動作ブロックとの間の平均絶対値差分(MAD)を計算する。平均絶対値差分の計算は、式(9)を参照して上で説明した。ステップ716において、ステップ714において計算されたMADの値は、MINMADと比較される。MADがMINMADよりも小さい場合、ステップ718が実行され、MADの値を可変MINMADに割り付けて、そして、ステップ714において可変MINMATCHへと処理されたブロックのブロック識別子(BLOCK ID)を記録する。ステップ720において、プロセッサは、いくつかより多くのマッチングブロックを処理する必要があるかどうかを判定する。必要がある場合には、制御はステップ714に戻って、次のマッチングブロックを選択する。他のマッチングブロックが処理されない場合には、ステップ722が実行されて、式(10)を参照して上で説明したように、ブロックMINMATCHについての動きベクトルを計算する。
図7に示すフローチャートは、本発明のソフトウェアインプリメンテーションを示す。このソフトウェアインプリメンテーションは、ディスケット、CD−ROM、または変調された搬送波等のキャリヤを介して搬送される、コンピュータプログラムの形態であり得る。
図6に示すプロセッサシステムによって提供されたこの結果が、フレームFの各動作ブロックについての動きベクトルを含む動きベクトルフィールドである。式(7)および(8)を参照して上で説明したように、アダマールマトリクス、つまり、基準ブロックおよび検索ブロックは、水平および垂直方向の各々に、異なる数の画素を含み得る。したがって、図6に示すプロセッサは、16×16ブロックと同様に、4×4ブロック上で動作し得る。式(6)によって規定されるアダマール変換動作は、異なるオーダーの2つのアダマールマトリクスを用いるので、図6に示すプロセッサはまた、16×4ブロックまたは8×16ブロック上で動作し得る。
図8Aおよび図8Bは、本発明の階層動作ブロック検索アルゴリズムへの応用を示す。図8Aにおいて、画素値からなる8×8ブロックを16個含む動作ブロック140は、32×32アダマールマトリクスを用いて変換され、そして、前のフレーム104内のマッチングブロック150および152もまた、32×32アダマール変換が行われる。平均絶対値差分は、変換されたブロック150および152の各々について計算される。ブロック150は、前のフレーム104内に、ブロック140が現在のフレーム100内に有するのと同じロケーションを有するので、ブロック150とブロック152との間の移動変位は、ブロック140についての動きベクトルを規定する。あるいは、動きベクトルは、32×32ブロックの画素値のローパスフィルタリング、および、フィルタリングされた画素を間引いて、例えば8×8ブロックの画素値を生成することにより、32×32ブロックの画素値について計算され得る。32×32ブロックの画素値のローパスフィルタリングは、フィルタリングされたブロックがサブサンプルされて8×8ブロックの画素値を生成する場合に、エイリアシング歪みを低減する働きをする。次に、8×8ブロックの画素値は、アダマール変換を行なわれて、そして同様のフィルタリングをされ、間引かれ、そして変換されたトライアルマッチングブロックと比較されて、最適なマッチを見つける。ローパスフィルタおよび間引き器は、図示しない。
図8Aに示すように計算された動きベクトルは、MPEG−2規格の下で、4個のマクロブロックをカバーする。図8Aに開示された方法に追って識別された動きベクトル160を用いると、単一のマクロブロックについての動きベクトルは、図8Bに示すように生成され得る。図8Bにおいて、単一のマクロブロック170が動作ブロックとして使用される場合、前のフレーム104内のマッチングブロックを配置するのに用いられる検索領域106’を制限するために、動きベクトル160が使用され得る。図8Bに示すように、ブロック172、174、176、178は、トライアルマッチングブロックとして識別され得る。
このアルゴリズムに基づいて、16×16アダマール変換マトリクスが、動作ブロック170、ならびにトライアルマッチングブロック172、174、176、178の各々に与えられる。次に、変換されたブロックは、式(9)および(10)を参照して上で説明した最小平均絶対値差分アルゴリズムを用いて比較され、検索領域106’内の1つのブロックを動作ブロック170のマッチングブロックとして選択する。上で説明したように、画素値の16×16ブロックおよび16×16アダマール変換を用いる代わりに、アルゴリズムは、16×16ブロックのフィルタリングおよび間引きを行って、8×8ブロックを生成し得、そして、8×8アダマール変換を、動作ブロック、ならびに、1組の、同様にフィルタリングおよびサブサンプリングされたトライアルマッチングブロックの各々に与え得る。
図8Aおよび図8Bを参照して説明したアルゴリズムは、2つの異なるオーダーのアダマール変換を用いる。図8Aにおいて、オーダー32アダマール変換が実行される。それに対して、図8Bにおいて、オーダー16アダマール変換が実行される。図2〜図5を参照して上で説明したように、アダマール変換を実行するのに使用される処理回路は、異なるオーダーのアダマール変換をその処理中に、異なる時間に使用し得る。単一のシーケンスのイメージが複数のオーダーの変換を使用し得ることが、さらに想定される。高いオーダーの変換が、このシーケンスの、イメージからイメージへと著しく変化しないイメージの大きな領域に使用され得、それに対して、より低いオーダーのアダマール変換がより頻繁に変化するイメージの部分において使用され得る。例えば、ニュース放送において、バックグラウンドは、比較的大きなオーダーのアダマール変換を用いて符号化され得、それに対して、ニュースキャスターの顔は、比較的低いオーダーのアダマール変換を用いて符号化される。
図8Aおよび図8Bを参照して上で説明した動き推定技術において、階層動き推定は、大きなブロックから小さなブロックへと行われる。しかし、階層技術はまた、小さなブロックから大きなブロックへと進み得ることが想定される。図9は、例示的な動き推定方法を示すイメージ図である。ここでは、大きなブロックについての動きベクトルを推測するために、小さなブロックの動きが使用される。図9において、現在のフレーム100の動作ブロック118は、サブブロック120、122、124、および126を含む。本発明の例示的な実施形態において、個々の動きベクトルは、サブブロックの各々について判定される。これを図9の検索フレーム104内に示し、ブロック118’は同じ位置のブロックを表し、動作ブロック118としての検索イメージは現在のイメージ内にある。一旦動きベクトルが判定されると、動作ブロックのサブブロック120、122、および126が、検索イメージ内のブロック130のサブブロック120’、122’、および126’へとマッピングされる。それに対して、サブブロック124は、検索ブロック132のサブブロック124’へとマッピングされる。図1を参照して上で説明した従来のブロック動きアルゴリズムでのように、検索領域は、検索イメージ104の領域106に制限される。動作ブロックのサブブロックのうち、3つのサブブロックがマッチングブロック130へとマッピングされるのに対して、1つのサブブロックのみがブロック132へとマッピングされるので、ブロック130は、動作ブロック118についてのマッチングブロックとして選択される。
図9に示すブロックマッチング方法において、サブブロック120、122、124、および126の各々は、まず、検索フレーム104の検索領域106内の全てのサブブロックのように、アダマール変換が行われる。次に、上で説明したブロックマッチングアルゴリズムは、検索イメージ104の検索領域106内で、サブブロック毎に適用される。
例示的な実施形態について本発明を説明したが、請求の範囲内で、上で概説したように実施され得ることが想定されている。
ブロックマッチングシステムは、1つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。このシステムは、動作ブロックおよび他のビデオイメージフレームからの複数のトライアルマッチングブロックを変換する、複数のアダマール変換プロセッサを含む。変換されたマッチングブロックは、次に、変換された動作ブロックと比較され、そして、この変換された動作ブロックに対して最小の差分を有する変換されたマッチングブロックが判定される。この判定された、変換されたマッチングブロックに対応するマッチングブロックは、動作ブロックについてのマッチングブロックとして選択される。ブロックマッチングシステムは、異なる数の行および列を有する動作ブロックを変換し得る。あるアプリケーションにおいて、このシステムは、1つのフレーム内の比較的大きな動作ブロックを、他のフレーム内の対応する大きなマッチングブロックにマッチさせて、マッチングブロックと動作ブロックとの間の移動変位を判定する。この移動変位は、1つのフレーム内のより小さな動作ブロックが他のフレーム内のブロックにマッチされる場合に、トライアルマッチングブロックの選択を導くために使用される。
本発明によるブロックマッチングシステムは、1つのビデオイメージフレーム内の動作ブロックを、別のビデオイメージフレーム内のマッチングブロックとマッチさせる。動き推定において誤差寸法が、さらに改変される。換言すると、マッチングプロセスの間、人間の視覚システムの特性を考慮される。
従来の技術による、ブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。 本発明による、例示的なブロックマッチングプロセッサのブロック図である。 本発明による、別の例示的なブロックマッチングプロセッサのブロック図である。 本発明による、さらに別の例示的なブロックマッチングプロセッサのブロック図である。 図4に示したブロックマッチングプロセッサ等のブロックマッチングプロセッサを用いるビデオ信号符号化システムのブロック図である。 本発明によるブロックマッチング技術を用いて動きベクトルフィールドを生成する機械視覚システムのブロック図である。 図6に示したプロセッサのうちの1つを示すフローチャートである。 本発明による、あるブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。 本発明による、あるブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。 本発明による、別のブロックマッチング技術を説明するのに有用なマルチフレームイメージ図である。
符号の説明
200 ブロックマッチングプロセッサ
210 現在のフレーム
212 次のフレーム
214、216、218、220、222 アダマール変換
224 予測ブロック判定
226 マイクロプロセッサ

Claims (8)

  1. 第1および第2のイメージを表す画素データを処理して、第1のイメージ内の複数の画素値を含む動作ブロックに対応する第2のイメージ内の複数の画素値を含むマッチングブロックを識別する方法であって、該方法は、
    2次元アダマール変換動作を用いて画素値の該動作ブロックを変換して、変換された動作ブロックを生成するステップであって、該変換された動作ブロックは、該動作ブロックにおける該複数の画素値に対応する複数の係数を含む、ステップと、
    該第2のイメージから複数のトライアルマッチングブロックを選択するステップと、
    複数のプロセッサをそれぞれ用いて該選択された複数のトライアルマッチングブロックの各々を変換するステップであって、各プロセッサは、2次元アダマール変換動作を実行することにより、対応する複数の変換されたマッチングブロックを生成し、該変換されたマッチングブロックの各々は、該マッチングブロックの各々における該複数の画素値に対応する複数の係数を含む、ステップと、
    該変換された動作ブロックと該複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成するステップと、
    該差分の複数の寸法のうちの最小寸法である該差分の寸法を有する該変換されたマッチングブロックに対応する該トライアルマッチングブロックを、該マッチングブロックとして選択するステップと
    を含む方法。
  2. 前記変換された動作ブロックと前記複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成するステップは、該変換された動作ブロックの係数と該変換されたマッチングブロックの各々の係数との間の平均二乗誤差(MSE)を計算するステップを含み、
    該マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのMSEよりも小さなMSEを有する該変換されたマッチングブロックに対応する該マッチングブロックを選択する、請求項1に記載の方法。
  3. 前記変換された動作ブロックと前記複数の変換されたマッチングブロック各々との間の差分の複数の寸法を生成するステップは、該変換された動作ブロックの係数と該変換されたマッチングブロックの各々の係数との間の平均絶対値差分(MAD)を計算するステップを含み、
    該マッチングブロックを選択するステップは、他のいずれかの変換されたマッチングブロックのMADよりも小さなMADを有する該変換されたマッチングブロックに対応する該マッチングブロックを選択する、請求項1に記載の方法。
  4. 前記動作ブロックは、第1の数の行(すなわち、M行)の画素値と第2の数の列(すなわち、N列)の画素値とを含み、
    該動作ブロックを変換するステップは、
    M×Mアダマールマトリクスに該動作ブロックを乗算することにより、M×Nマトリクスの値を生成するステップと、
    該M×Nマトリクスの値にN×Nアダマールマトリクスを乗算することにより、N×Mブロックの変換されたイメージ値を生成するステップと
    を含む、請求項1に記載の方法。
  5. 第1および第2のイメージを表す画素データを処理して、第1のイメージ内の画素値の動作ブロックに対応する第2のイメージ内の画素値のマッチングブロックを識別する方法であって、該方法は、
    該第1のイメージ内のM×Nブロックの画素値を選択するステップであって、該M×Nブロックの画素値は、画素値の該動作ブロックを適切な下位セットとして含み、MおよびNは、1より大きい整数である、ステップと、
    所定の直交変換動作を用いて該M×Nブロックの画素値を変換して、変換されたM×Nブロックの画素値を生成するステップと、
    該第2のイメージから、複数のトライアルM×Nマッチングブロックを選択するステップと、
    プロセッサを用いて該選択された複数のトライアルM×Nマッチングブロックの各々を変換するステップであって、該プロセッサは、該所定の変換動作を実行することにより、対応する複数の変換されたM×Nマッチングブロックを生成する、ステップと、
    該変換されたM×Nマッチングブロックと該複数の変換されたM×Nマッチングブロックの各々との間の差分の複数の寸法を生成するステップと、
    差分の該生成された寸法を比較して、差分の最小寸法を識別し、いずれの変換されたM×Nマッチングブロックが差分の該最小寸法に対応するかを決定するステップと、
    該M×Nブロックと該選択されたM×Nマッチングブロックとの間の移動変位を決定するステップと、
    所定の直交変換動作を用いて画素値からなる該動作ブロックを変換して、変換された動作ブロックを生成するステップと、
    該第2のイメージから複数のさらなるトライアルマッチングブロックを選択するステップであって、該選択されたさらなるトライアルマッチングブロックは、該決定された移動変位によって該動作ブロックからずらされた該トライアルマッチングブロックの周りに集められる、ステップと、
    プロセッサを用いて該選択されたさらなる画素値のトライアルマッチングブロックの各々を変換するステップであって、各プロセッサは、該所定の直交変換動作を実行することにより、対応する複数の変換されたさらなるマッチングブロックを生成する、ステップと、
    該変換された動作ブロックと該複数の変換されたさらなるマッチングブロックの各々との間の差分の複数のさらなる寸法を生成するステップと、
    該差分の複数のさらなる寸法のうち差分の他の寸法のいずれよりも小さな差分の寸法を有する該変換されたマッチングブロックに対応する該さらなるトライアルマッチングブロックを、該マッチングブロックとして選択するステップと
    を含む方法。
  6. 第1および第2のイメージを表す画素データを処理して、第1のイメージ内の画素値の動作ブロックに対応する第2のイメージ内の画素値のマッチングブロックを識別する装置であって、該装置は、
    2次元アダマール変換動作を用いて画素値の該動作ブロックを変換して、変換された動作ブロックを生成する変換プロセッサと、
    該動作ブロックに応答して該第2のイメージから複数のトライアルマッチングブロックをそれぞれ選択し、該2次元アダマール変換動作を用いて画素値の該トライアルマッチングブロックをそれぞれ変換することにより、対応する複数の変換されたマッチングブロックを生成する複数のさらなる変換プロセッサと、
    該変換された動作ブロックと該複数の変換されたマッチングブロックの各々との間の差分の複数の寸法を生成し、該差分の寸法のうちの1つを差分の最小寸法として識別するコンパレータであって、該差分の最小寸法を有する該変換されたマッチングブロックに対応する該トライアルマッチングブロックは、画素値の該動作ブロックに対応する画素値の該マッチングブロックとして識別される、コンパレータと
    を含む装置。
  7. 前記コンパレータは、
    前記変換された動作ブロックと前記変換されたマッチングブロックとの間の平均二乗誤差(MSE)を計算する手段と、
    他の変換されたブロックのMSEよりも小さなMSEを有する該変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段と
    を含む、請求項6に記載の装置。
  8. 前記コンパレータは、
    前記変換された動作ブロックと前記変換されたマッチングブロックとの間の平均絶対値差分(MAD)を計算する手段と、
    他の変換されたブロックのMADよりも小さなMADを有する該変換されたマッチングブロックに対応するトライアルマッチングブロックを、画素値のマッチングブロックとして選択する手段と
    を含む、請求項6に記載の装置。
JP2004063256A 1999-01-27 2004-03-05 直交変換−ドメインブロックマッチングを用いる動き推定 Expired - Fee Related JP3768507B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/239,089 US6625216B1 (en) 1999-01-27 1999-01-27 Motion estimation using orthogonal transform-domain block matching

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000016921A Division JP2000222587A (ja) 1999-01-27 2000-01-26 直交変換―ドメインブロックマッチングを用いる動き推定

Publications (2)

Publication Number Publication Date
JP2004229315A true JP2004229315A (ja) 2004-08-12
JP3768507B2 JP3768507B2 (ja) 2006-04-19

Family

ID=22900560

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000016921A Pending JP2000222587A (ja) 1999-01-27 2000-01-26 直交変換―ドメインブロックマッチングを用いる動き推定
JP2004063256A Expired - Fee Related JP3768507B2 (ja) 1999-01-27 2004-03-05 直交変換−ドメインブロックマッチングを用いる動き推定

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000016921A Pending JP2000222587A (ja) 1999-01-27 2000-01-26 直交変換―ドメインブロックマッチングを用いる動き推定

Country Status (6)

Country Link
US (1) US6625216B1 (ja)
EP (1) EP1024456A3 (ja)
JP (2) JP2000222587A (ja)
KR (1) KR100378902B1 (ja)
CN (1) CN1179302C (ja)
TW (1) TWI224290B (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2348064A (en) * 1999-03-16 2000-09-20 Mitsubishi Electric Inf Tech Motion vector field encoding
US6956971B1 (en) * 1999-07-20 2005-10-18 Lg Electronics Inc. Terminal and method for transporting still picture
GB2363020B (en) * 2000-04-07 2004-08-18 Discreet Logic Inc Processing image data
US6970577B2 (en) * 2000-12-19 2005-11-29 Lockheed Martin Corporation Fast fourier transform correlation tracking algorithm with background correction
US7170932B2 (en) * 2001-05-11 2007-01-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction and drift compensation
JP3997749B2 (ja) * 2001-10-22 2007-10-24 ソニー株式会社 信号処理方法及び装置、信号処理プログラム、並びに記録媒体
US6999514B2 (en) * 2001-10-26 2006-02-14 Selliah Rathnam Motion compensation with subblock scanning
US7155065B1 (en) 2002-03-27 2006-12-26 Microsoft Corporation System and method for progressively transforming and coding digital data
US7006699B2 (en) * 2002-03-27 2006-02-28 Microsoft Corporation System and method for progressively transforming and coding digital data
US8311095B2 (en) * 2002-07-17 2012-11-13 Onmobile Global Limited Method and apparatus for transcoding between hybrid video codec bitstreams
US20040057521A1 (en) * 2002-07-17 2004-03-25 Macchina Pty Ltd. Method and apparatus for transcoding between hybrid video CODEC bitstreams
KR100598093B1 (ko) * 2003-01-29 2006-07-07 삼성전자주식회사 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법
US6950495B2 (en) 2003-12-01 2005-09-27 The Boeing Company Backscatter imaging using Hadamard transform masking
DE10361327A1 (de) * 2003-12-27 2005-07-21 Leica Microsystems Heidelberg Gmbh Verfahren zur Korrektur des Drifts bei einem optischen Gerät
JP4476104B2 (ja) * 2004-04-22 2010-06-09 三洋電機株式会社 符号化回路
US20050276493A1 (en) * 2004-06-01 2005-12-15 Jun Xin Selecting macroblock coding modes for video encoding
WO2006070614A1 (ja) * 2004-12-28 2006-07-06 Nec Corporation 画像符号化装置、画像符号化方法及びそのプログラム
JP2007279800A (ja) * 2006-04-03 2007-10-25 Seiko Epson Corp 動きベクトル検出装置、動きベクトル検出方法、手ぶれ補正装置、手ぶれ補正方法、手ぶれ補正プログラム、及び手ぶれ補正装置を備えた動画像表示装置
US8068543B2 (en) * 2006-06-14 2011-11-29 Samsung Electronics Co., Ltd. Method and system for determining the reliability of estimated motion vectors
US8472527B2 (en) * 2006-09-13 2013-06-25 Texas Instruments Incorporated Hierarchical motion estimation using original frame for sub-sampled reference
JP2010521118A (ja) * 2007-03-09 2010-06-17 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション 圧縮したビデオ源からのマルチフレーム動画の推定
US7924316B2 (en) 2007-03-14 2011-04-12 Aptina Imaging Corporation Image feature identification and motion compensation apparatus, systems, and methods
US7920746B2 (en) 2007-04-23 2011-04-05 Aptina Imaging Corporation Compressed domain image summation apparatus, systems, and methods
US8724705B2 (en) * 2008-06-26 2014-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Detecting repetition in digital video
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US20110206132A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US9609342B2 (en) 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US9078009B2 (en) * 2010-02-19 2015-07-07 Skype Data compression for video utilizing non-translational motion information
JP5685837B2 (ja) * 2010-06-15 2015-03-18 ソニー株式会社 ジェスチャ認識装置、ジェスチャ認識方法およびプログラム
TW201306568A (zh) 2011-07-20 2013-02-01 Novatek Microelectronics Corp 移動估測方法
CN102333220B (zh) * 2011-10-21 2013-11-06 北京大学 一种选择在变换域完成预测编码的视频编解码方法
WO2014107762A1 (en) * 2013-01-09 2014-07-17 Vincenzo Liguori Method and apparatus for comparing two blocks of pixels
US9398312B2 (en) * 2013-11-04 2016-07-19 Samsung Display Co., Ltd. Adaptive inter-channel transform for wavelet color image compression
JP6591199B2 (ja) * 2015-05-22 2019-10-16 株式会社日立製作所 超音波診断装置及びプログラム
US11425353B1 (en) * 2016-11-18 2022-08-23 X Development Llc Disparity interpolation refinement for stereo vision
CN108205810B (zh) * 2016-12-16 2021-08-10 富士通株式会社 图像比较装置及方法、电子设备
CN107135396B (zh) * 2017-06-16 2020-08-28 北京奇艺世纪科技有限公司 一种运动估计方法和装置
US11778195B2 (en) * 2017-07-07 2023-10-03 Kakadu R & D Pty Ltd. Fast, high quality optical flow estimation from coded video
US20190188829A1 (en) * 2017-12-14 2019-06-20 Multitek Inc. Method, Apparatus, and Circuitry of Noise Reduction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347309A (en) * 1991-04-25 1994-09-13 Matsushita Electric Industrial Co., Ltd. Image coding method and apparatus
DE69230115T2 (de) * 1991-05-23 2000-04-20 Nippon Hoso Kyokai Auswertungsvorrichtung und Methode verwendbar für ein Gerät zur Detektion von Bewegungsvektoren
US5198901A (en) 1991-09-23 1993-03-30 Matsushita Electric Corporation Of America Derivation and use of motion vectors in a differential pulse code modulation system
JP3230263B2 (ja) 1992-01-31 2001-11-19 ソニー株式会社 動きベクトル検出回路
US5337085A (en) 1992-04-10 1994-08-09 Comsat Corporation Coding technique for high definition television signals
JP2778412B2 (ja) * 1993-05-20 1998-07-23 国際電信電話株式会社 動き補償フレーム間コンポジットtv信号直接符号化装置
JPH0799658A (ja) 1993-08-03 1995-04-11 Sony Corp 動きベクトル検出装置
US5471252A (en) 1993-11-03 1995-11-28 Matsushita Electric Industrial Corporation Of America Method and apparatus for estimating motion vector fields by rejecting local outliers
JPH07170521A (ja) * 1993-12-15 1995-07-04 Canon Inc 画像処理装置
EP0665688A3 (en) * 1993-12-29 1995-11-02 Toshiba Kk Method for arranging video data and device for encoding / decoding video data.
JPH0844708A (ja) 1994-07-27 1996-02-16 Fujitsu Ltd 二次元離散コサイン変換演算回路
JP3655651B2 (ja) * 1994-09-02 2005-06-02 テキサス インスツルメンツ インコーポレイテツド データ処理装置
GB9422018D0 (en) 1994-10-31 1994-12-21 Vistek Electronics An improved method of estimating motion in a video signal
US5731850A (en) * 1995-06-07 1998-03-24 Maturi; Gregory V. Hybrid hierarchial/full-search MPEG encoder motion estimation
US5790686A (en) * 1995-09-19 1998-08-04 University Of Maryland At College Park DCT-based motion estimation method
US5786856A (en) 1996-03-19 1998-07-28 International Business Machines Method for adaptive quantization by multiplication of luminance pixel blocks by a modified, frequency ordered hadamard matrix
US5796434A (en) * 1996-06-07 1998-08-18 Lsi Logic Corporation System and method for performing motion estimation in the DCT domain with improved efficiency
KR100235355B1 (ko) * 1997-08-13 1999-12-15 전주범 개선된 움직임 추정 장치 및 그 추정 방법
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor

Also Published As

Publication number Publication date
JP2000222587A (ja) 2000-08-11
EP1024456A2 (en) 2000-08-02
JP3768507B2 (ja) 2006-04-19
US6625216B1 (en) 2003-09-23
CN1179302C (zh) 2004-12-08
KR100378902B1 (ko) 2003-04-07
CN1262496A (zh) 2000-08-09
EP1024456A3 (en) 2001-08-29
KR20000076522A (ko) 2000-12-26
TWI224290B (en) 2004-11-21

Similar Documents

Publication Publication Date Title
JP3768507B2 (ja) 直交変換−ドメインブロックマッチングを用いる動き推定
CN108781284B (zh) 具有仿射运动补偿的视频编解码的方法及装置
JP2022022228A (ja) マルチリファレンス予測のための動きベクトルの精密化
US5760846A (en) Apparatus for estimating motion vectors for feature points of a video signal
KR0171118B1 (ko) 비디오신호 부호화 장치
EP1138152B8 (en) Method and apparatus for performing hierarchical motion estimation using nonlinear pyramid
US8625678B2 (en) Method for scalable video coding on a plurality of space resolution levels
JP2022027770A (ja) 動きベクトルの改善のための制限されたメモリアクセスウィンドウ
JP3655651B2 (ja) データ処理装置
JPH08307874A (ja) 映像信号符号化装置
JP2004526363A (ja) ビデオ符号化における中間画素高精度高速探索を実現する装置及び方法
JP2006279383A (ja) 階層間予測符号化方法,装置,階層間予測復号方法,装置,階層間予測符号化プログラム,階層間予測復号プログラムおよびそれらのプログラム記録媒体
JP4494803B2 (ja) 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置
EP1472881B1 (en) Unit for and method of estimating a current motion vector
JPH11168731A (ja) 動きベクトル検出方法及びその方法を実施する装置
JP3681784B2 (ja) 映像信号符号化装置
KR100208375B1 (ko) 동화상 부호화 방법 및 장치
KR20050084396A (ko) 공간 스케일 능력를 갖는 디지털 필터
JP2012513141A (ja) ビデオピクチャ系列の動きパラメータを予測及び符号化する方法及び装置
KR100859073B1 (ko) 움직임 추정 방법
Bhojani et al. Hybrid video compression standard
Kuo et al. Multiresolution video coding based on Kalman filtering motion estimation
JPH10150665A (ja) 予測画像の作成方法及び画像符号化方法及び画像符号化装置
JPH10191347A (ja) 動き検出装置、動き検出方法、及び、記憶媒体
KR20070053402A (ko) 영상 압축 시스템의 움직임 보상 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees