JPH11215503A - 差の絶対値の統計和に基づく適応型ステップサイズ動き予測 - Google Patents

差の絶対値の統計和に基づく適応型ステップサイズ動き予測

Info

Publication number
JPH11215503A
JPH11215503A JP10291200A JP29120098A JPH11215503A JP H11215503 A JPH11215503 A JP H11215503A JP 10291200 A JP10291200 A JP 10291200A JP 29120098 A JP29120098 A JP 29120098A JP H11215503 A JPH11215503 A JP H11215503A
Authority
JP
Japan
Prior art keywords
sad
block
luminance pixel
pixel data
value
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
JP10291200A
Other languages
English (en)
Other versions
JP3793657B2 (ja
Inventor
San Kai
サン カイ
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.)
Sharp Corp
Sharp Microelectronics Technology Inc
Original Assignee
Sharp Corp
Sharp Microelectronics Technology Inc
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 Sharp Corp, Sharp Microelectronics Technology Inc filed Critical Sharp Corp
Publication of JPH11215503A publication Critical patent/JPH11215503A/ja
Application granted granted Critical
Publication of JP3793657B2 publication Critical patent/JP3793657B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 固定ステップ動き予測法と共に適応的にサー
チウィンドウサイズを調節する方法を提供する。 【解決手段】 a)現フレーム内で第1のブロックを選
択し、b)その第1のブロックに対応する初期候補マト
リクスとして、前フレーム内のブロックサイズの輝度ピ
クセルマトリクスを選択し、c)前ブロック位置変化予
測値から導出されるフレーム間の輝度画素データの短期
平均比較値を得て、d)その短期平均比較値に応じて、
候補マトリクスを中心とするサーチウィンドウサイズを
計算し、e)サーチウィンドウ内で均一に分布した複数
のブロックサイズの輝度ピクセルマトリクスからの輝度
画素データを、現フレーム内の第1のブロックの輝度画
素データと比較して、それに最も類似する輝度画素デー
タを有する新たな候補マトリクスを選択する各ステップ
で構成され、これによりサーチウィンドウサイズがフレ
ーム間の動きの履歴と共に変化するステップとを包含す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、ビデオ撮
像システムにおける動き予測(motion estimation)に関
する。詳しくは、連続するビデオフレームでの画像間の
位置の変化を予測するのに必要なサーチ時間を短縮する
方法に関する。
【0002】
【従来の技術】ビデオ情報フォーマットは、テレビ画面
に映すのに、またはビデオテープに記録するのに適した
ビジュアル情報を与える。一般に、ビデオデータは階層
構造で編成されている。ビデオシーケンスはフレーム群
に分割され、各群は一連の単一フレームにより構成され
得る。各フレームはほぼ静止画に等しく、静止画は、連
続的な動きの表現をシミュレートするのに十分な頻度で
更新される。フレームはさらに、スライス、すなわち水
平方向のセクションに分割され、誤差回復のシステム設
計の補助となる。各スライスは、誤差がスライスを超え
て伝播しないように個別にコード化される。スライスは
マクロブロックよりなる。H.26PおよびMPEG−
X標準では、マクロブロックは、ビデオフォーマットに
より異なるが、16×16個の輝度画素および対応する
数の色差画素よりなる。マクロブロックは常に整数個の
ブロックを有し、8×8画素マトリックスが最小コード
化ユニットである。
【0003】ビデオデータの伝送または格納を必要とす
るアプリケーションではビデオ圧縮は重要な要素であ
る。圧縮技術は、前フレームに格納されている情報を再
利用することによる動き(時間的な冗長)を補償する。
圧縮はまた、空間ドメインのデータを周波数ドメインに
変換することによっても行われる。動きの補償によって
時間的な冗長を、および離散コサイン変換(DCT)な
どの変換によって空間的な冗長を活用するハイブリッド
デジタルビデオ圧縮は、H.26PおよびMPEG−X
国際標準において基礎として採用されている。図1は、
ビデオエンコードシステム(従来技術)のブロック図で
ある。
【0004】このようなビデオ圧縮システムでは、伝送
データの流れを減らすために、動き予測は重要である。
動き予測は、2つのフレーム、すなわちエンコードされ
る現フレームおよび参照フレームとも呼ばれる既にコー
ドされたフレームにわたって行われ、これら2つのフレ
ーム間のビデオデータの一致を引き出す。実際には、動
き予測を含むビデオ圧縮は、マクロクロックに関して行
われ、ハードウェアおよびソフトウェアの具現化を促進
する。動き予測は、16×16の輝度画素マトリックス
を用いて各マクロブロックに対して行われる。次に、動
き予測の結果が、マクロブロックのすべてのブロックに
対して適用される。現フレーム内のマクロブロックに対
しては、最後のフレームの最良一致領域が現在のマクロ
ブロックのための予測(prediction)データとして使用さ
れ、一方、予測誤差、すなわちマクロブロックデータか
ら予測値を差し引いた余りが時間的なデータ冗長から除
去される。時間的な冗長とは、現フレームデータのうち
の前フレームから予測され得る部分をいう。冗長の除
去、すなわち予想値を差し引くことにより、データの繰
り返し部分をエンコードする必要がなくなる。
【0005】時間的な冗長を除去した後、ビデオ圧縮は
さらに、隣接する予測誤差画素間の相関を除去すること
によって実現される。これは、ビデオデータに内在する
空間的な冗長を除去することである。これは、離散コサ
イン変換(DCT)によって実現され、これにより、周
波数ドメイン内でコンパクトな表示が得られ、引き続い
て、変換された係数を量子化して顕著な係数のみが保存
される。DCTおよび量子化は、各8×8ブロックに対
して個別に行われる。
【0006】各マクロブロックに対する動き予測の目標
は、前フレーム内に、現在のマクロブロックを最良に表
す16×16データ領域を見つけることである。データ
一致のための動き予測基準は様々なものがある。最終的
には、最小のビットストリームを生成するようにビデオ
ソースコード化をリンクする基準が最良の圧縮性能を実
現する。実際において、動き予測は、量子化係数のソー
スコード化とは異なるプロセスである。すなわち、動き
予測は、最後のビットストリームをチェックせずに行わ
れ、これにより、コンピュータ計算が恐ろしく複雑にな
るのが回避される。さらに、各マクロブロック内の動き
予測に対して、輝度データのみが使用され、これが輝度
および色差の両方のコード化に適用される。輝度画素し
か取り扱わないことにより手順が簡略化される。また、
人間の視覚系は色の変化より輝度の変化に対してより高
い感度を有する。動き予測基準は、周波数ドメインを含
む様々なドメインで調査されたが、有効であり且つ幅広
く適応している基準は、差の絶対値の和(SAD)であ
る。SADは、動き予測をコード化効率性と関連付ける
ために正確な表示を与えることが分かっている。これ
は、コンピュータ計算上簡単であり、また、例えば、最
小平均2乗誤差測定よりはるかに高速である。
【0007】(x,y)位置のマクロブロックにおい
て、現在のマクロブロックと(vx,vy)によってオ
フセットされる前フレームの16×16ブロックとの間
のSADは、以下で表される。
【0008】
【数1】 ここで、p(x+i,y+j)は、現フレームの現在の
マクロブロック内の画素値であり、q(x+i+vx,
y+j+vy)は、現在のマクロブロックから(vx,
vy)だけオフセットした16×16ブロック内の、前
フレームの画素値である。合計指数iおよびjは、マク
ロブロック領域をカバーする。SAD(vx,vy)が
予め特定されたサーチ範囲内における最小値である場合
は、(vx,vy)がそのマクロブロックのための動き
ベクトルである。
【0009】動き予測サーチ範囲(M,N)は(vx,
vy)の最大値であり、現在のマクロブロックと比較さ
れるマクロブロックサイズのマトリックスを含む、前フ
レーム内のデータのウィンドウを規定する。正確に言え
ば、サーチウィンドウは、動きを表すのに十分な大きさ
でなければならない。一方、動き予測の計算は非常に複
雑であるため、実際の目的においては、サーチ範囲は制
限されなければならない。図2は、現フレームの現在の
マクロブロックと前フレームのサーチウィンドウとの間
の空間的な関係を示す図(従来技術)である。動きベク
トル範囲を(M,N)と規定すると、サーチウィンドウ
サイズは(16+2M,16+2N)である。TVまた
は映画のシーケンスでは、動きベクトル範囲は、様々な
タイプの動き内容を収容するのに十分な大きさでなけれ
ばならない。ビデオ会議およびビデオ電話機のアプリケ
ーションでは、サーチ範囲はもっと小さくてもよい。従
って、サーチ範囲の選択は、アプリケーションと配布可
能な技術の利用可能性との組み合わせである。
【0010】動き予測サーチ範囲が得られると、計算要
件は、動きベクトルを得るためにサーチウィンドウをカ
バーする正確な方法によって大きく左右される。徹底サ
ーチ方法、すなわち全動き予測サーチは、最良の一致を
見つけるためにサーチウィンドウ内のすべての候補ブロ
ックをカバーする。この場合には、各マクロブロックに
対する動きベクトルを得るために、コスト関数を(2M
+1)*(2N+1)回計算する必要がある。この計算
コストはソフトウェア具現化にとってはあまりにも高す
ぎる。
【0011】計算コストを減らすために、入れ子式サー
チおよびステップサーチなどの様々な異なる方法が用い
られている。固定ステップサーチ法は、有効性と複雑性
との間に良好な均衡を有し、動きの予測で広範囲に使用
されている。図3は、固定ステップ動き予測法を示すフ
ローチャート(従来技術)である。
【0012】固定ステップ動き予測法は、最良の一致を
見つけるためにサーチウィンドウ内の固定数のステップ
を使用する。このとき次のステップに進む毎にサーチウ
ィンドウは小さくなる。この方法は、前フレーム内のタ
ーゲットサーチウィンドウ有効領域内に均一に配分され
た9個のポイントにより開始される。9ポイントのそれ
ぞれは、マクロブロックサイズの領域または輝度画素マ
トリックスの左上の隅を表す。現在のステップで最小S
ADを有するマトリックスが、次のステップのための開
始点(サーチ格子の新しい中心)として使用される。次
のステップは、サーチポイントまたはマトリックス間の
距離を半分にして、同じ方法で行われる。直前のステッ
プのサーチポイント間の間隔をwとすると、現在のステ
ップでの間隔はw/2である。この手順は最後のステッ
プまで続けられ、最後のステップでは、9個のサーチポ
イントすべてが隣接し、整数個の画素のためのズームイ
ンはもはや不可能である。図4は、図3のステップサー
チ法での最後の3つのステップを示す例(従来技術)で
ある。この例は、水平方向および垂直方向の(−7,+
7)の動きベクトル範囲をカバーする。動きベクトル範
囲が(−15,+15)の場合は、4つのステップが必
要である。
【0013】(−15,+15)の動きベクトル範囲で
は、コスト関数計算の回数は(9+8+8+8)=33
である。すなわち、最初のステップでは9回のSAD計
算が行われる。SADが最も低いマトリックスが第2の
サーチステップに(中心として)含まれるため、第2の
サーチステップでは8回のSAD計算が必要なだけであ
る。同様に、ステップ3および4でも、8回のSAD計
算が必要なだけである。16×16の画素サーチウィン
ドウ内のすべてのマトリックスのSADをチェックする
のに必要な計算回数に比べて、固定ステップ法で必要な
計算回数は少ない。フルサーチで(2*15+1)*
(2*15+1)=961回のコスト関数計算が必要で
ある。フルサーチと比べると、計算は3.4%へと飛躍
的に減少する。
【0014】
【発明が解決しようとする課題】しかし、固定ステップ
法は、前フレームの初期開始マトリックスの正確度、ま
たは近隣のマクロブロックのためになされる動き予測の
正確度には反応しない。例えば、前フレームと現フレー
ムとの間でマクロブロック内に動きがない場合は、サー
チでの開始マトリックスは最も低いSADを持つことが
多い。この場合は、上述のように、33回の計算すべて
を行うのは無駄である。一方、フレーム間の大きな動き
がある場合は、上述のような固定ステップ予測法では、
33回の計算を行ったとしても、最良のSADを有する
マトリックスを見つけることはできないかもしれない。
例えば、最良のSADを有するマトリックスは、32×
32マトリックスによって規定される初期サーチから外
れているかもしれない。この場合には、本来のサーチ領
域が48×48マトリックスによって規定される方がま
しであり得る。初期固定ステップサーチウィンドウを4
8×48マトリックスを収容するように永久に設定する
ことは可能であるが、この場合、すべての予測が5ステ
ップ、すなわち41回の計算(9+8+8+8+8)を
必要とし、これは平均的な変化の少ない動きの場面では
無駄である。
【0015】2つの連続するビデオフレームで表される
画像に僅かな動きしかないとき、固定ステップ動き予測
法と共に使用するために、サーチウィンドウサイズを縮
小して必要な計算回数を減らす方法が利用可能であるこ
とが望ましい。
【0016】2つの連続するフレームで表される画像に
飛躍的な動きがあるとき、固定ステップ動き予測と共に
使用するために、ウィンドウサイズを大きくする方法が
利用可能であることが望ましい。
【0017】隣接するマクロブロック内の動き予測から
計算される、位置の平均的な変化に応じてサーチウィン
ドウサイズを調節する、固定ステップ動き予測法と共に
使用される方法が望ましい。
【0018】
【課題を解決するための手段】本発明による一連のフレ
ームによってビデオシーケンスを表すデジタルビデオシ
ステム圧縮フォーマットは、該一連のフレームは前フレ
ームおよび該前フレームに続く現フレームを含み、該一
連のフレームは全て所定の時間間隔で分離されており、
該フレームは所定の位置を持つ複数のブロックに分割さ
れ、各ブロックは所定の輝度ピクセ輝度トリクスを含む
サイズを有する、デジタルビデオシステム圧縮フォーマ
ットにおいて、該現フレームにおける一連のブロック内
の輝度画素データマトリクスによって表される画像の、
該前フレームにおける対応するブロックサイズの該輝度
画素データマトリクスからの位置変化を効果的に予測す
る方法であって、a)該現フレーム内で第1のブロック
を選択するステップと、b)該現フレーム内の該第1の
ブロックに対応する初期候補マトリクスとして、該前フ
レーム内のブロックサイズの該輝度ピクセ輝度トリクス
を選択するステップと、c)前ブロック位置変化予測値
から導出されるフレーム間の輝度画素データの短期平均
比較値を与えるステップと、d)該ステップc)で与え
られた輝度画素データの短期平均比較値に応じて、該候
補マトリクスを中心とするサーチウィンドウサイズを計
算するステップと、e)該サーチウィンドウ内で均一に
分布した複数のブロックサイズの輝度ピクセ輝度トリク
スからの該輝度画素データを、該現フレーム内の第1の
ブロックの該輝度画素データと比較して、該現フレーム
内の該第1のブロックの該輝度画素データに最も類似す
る輝度画素データを有する新たな候補マトリクスを選択
するステップであって、これにより該サーチウィンドウ
サイズがフレーム間の動きの履歴と共に変化するステッ
プと、を包含し、そのことにより上記目的が達成され
る。
【0019】前記サーチウィンドウ内のブロックサイズ
のマトリクス間の最小間隔が与えられ、前記ステップ
e)の後に、f)該ステップe)を実行する度に該サー
チウィンドウ内に位置する複数のブロックサイズのマト
リクス間の間隔を低減するステップと、g)1)該複数
のブロックサイズのマトリクス間の該間隔が該最小間隔
以上である場合には該ステップe)に戻り、2)該複数
のブロックサイズのマトリクス間の該間隔が該最小間隔
未満である場合には次に進むようにして、該サーチを反
復するステップと、h)該ステップe)を最後に実行し
たときに選択された最終候補マトリクスの輝度画素デー
タを、前記現フレーム内の前記第1のブロックの輝度画
素データと比較して、輝度画素データの最終比較値を計
算し、これにより該最終候補マトリクスと該第1のブロ
ックとの間のブロック位置の差によってフレーム間の動
きを記述するベクトルを与えるステップとをさらに包含
してもよい。
【0020】前記ステップh)の後に、i)該ステップ
h)で計算された前記輝度画素データの最終比較値で、
前記輝度画素データの短期平均比較値を更新するステッ
プであって、これにより、次回の位置変化予測の前記ス
テップc)のために該短期平均値が更新されるステップ
をさらに包含してもよい。
【0021】前記ステップi)の後に、j)該ステップ
i)において更新された前記輝度画素データの短期平均
比較値で、サーチウィンドウサイズの長期平均値を更新
するステップと、c1)前記ステップc)の後で、前記
ステップd)の前に、該サーチウィンドウサイズの長期
平均値を与えるステップと、をさらに包含し、該ステッ
プd)は、該サーチウィンドウサイズの長期平均値に応
じて該サーチウィンドウサイズを計算するステップを含
み、これにより、次回のブロック位置変化予測の前記ス
テップc1)の準備のために該長期平均値が該ステップ
j)において更新されてもよい。
【0022】前記ステップj)の後に、k)前記ステッ
プh)で計算された前記輝度画素データの最終比較値
で、輝度画素データの長期平均比較値を更新し、これに
より前記第1のブロックの前記位置変化予測値で該長期
平均値を更新するステップをさらに包含し、該ステップ
j)は、該輝度画素データの長期平均値に応じて該長期
平均サーチウィンドウサイズを更新するステップを含ん
でもよい。
【0023】前記ステップe)は、前記サーチウィンド
ウ内の前記複数のブロックサイズのマトリクスのそれぞ
れと前記現フレーム内の前記第1のブロックとの間にお
ける輝度画素データの差の絶対値の和(SAD)の計算
を行うことによって輝度画素データを比較するステップ
を含み、最小のSADを持つブロックサイズのマトリク
スが、前記ステップe)〜f)の次回の実行時の候補マ
トリクスとして選択され、前記ステップh)は、前記輝
度画素データの最終比較値として該最小SAD(SAD
_min)を用いて該ブロックサイズのマトリクスの計
算を行うステップを含んでもよい。
【0024】前記ステップb)の後で、前記ステップ
c)の前に、b1)該ステップb)で選択された前記初
期候補マトリクスと、前記現フレーム内の前記第1のブ
ロックとの間のSADを計算することによりSAD_i
nitを導出するステップをさらに包含し、前記ステッ
プd)は、該ステップb1)で計算されたSAD_in
itに応じて前記サーチウィンドウサイズを計算するス
テップを含んでもよい。
【0025】前記ステップk)は、輝度画素データの長
期平均比較値として長期平均値(SAD_aveLT)
を含み、該ステップk)は、前記ステップh)で計算さ
れたSAD_minでSAD_aveLTを更新するス
テップを含み、これにより、前記第1のブロックの位置
変化が予測された後にSAD値でSAD_aveLTが
更新されてもよい。
【0026】前記ステップd)は、前記ブロックサイズ
のマトリクス間の間隔が前記最小間隔になるまでに必要
な前記ステップe)〜f)の反復回数(ME_ste
p)で前記サーチウィンドウサイズを規定するステップ
を含み、該ステップe)は、該ME_stepの値に応
じて、該サーチウィンドウ内で比較される該複数のブロ
ックサイズマトリクスを初期的に分布させるステップを
含んでもよい。
【0027】前記ステップi)は、前記輝度画素データ
の短期平均比較値としてSADの短期平均値(SAD_
ave)を含み、該ステップi)は、前記ステップh)
で計算されたSAD_minでSAD_aveを更新す
るステップを含み、これにより、前記第1のブロックの
位置変化が予測された後にSAD値でSAD_aveが
更新されてもよい。
【0028】前記ステップi)は、1フレーム内のブロ
ック数に応じてSAD_aveを計算するステップを含
み、前記ステップk)は、複数のフレーム内の合計ブロ
ック数に応じてSAD_aveLTを計算するステップ
を含んでもよい。
【0029】前記ステップb)は、隣接ブロックについ
て前に予測した位置変化に応じて前記初期候補マトリク
スを選択するステップを含み、これにより、該第1のブ
ロックの該予測処理を開始するために中間予測が用いら
れてもよい。
【0030】前記ステップb)は、前記前フレーム内の
前記第1のブロックについて前に予測した位置変化に応
じて前記初期候補マトリクスを選択するステップを含
み、これにより、該第1のブロックの該予測処理を開始
するために中間予測が用いられてもよい。
【0031】前記ステップe)は、整数個の画素間隔に
よって均一に分割された、前記サーチウィンドウ内の少
なくとも8個のブロックサイズマトリクスからの輝度画
素データを比較するステップを含んでいてもよい。
【0032】前記輝度画素ブロックはそれぞれ16×1
6個の輝度画素を含むマクロブロックであり、前記ステ
ップd)は、最大5のME_stepを使用し、前記ス
テップg)は、最大5回の前記ステップe)〜f)の反
復を含んでもよい。
【0033】前記ステップi)の後に、l)前記ステッ
プh)で計算されたSAD_minと、該ステップi)
において更新されたSAD_aveと、1フレーム内の
マクロブロック数とに応じて、SADの分散(SAD_
var)を計算するステップと、c2)前記ステップ
c)の後で、前記ステップd)の前に、SAD_var
を与えるステップとをさらに包含し、該ステップd)
は、該SAD_varに応じてME_stepを計算す
るステップを含み、これにより、次回のブロック位置変
化予測の前記ステップc2)の準備のためにSAD_v
arが該ステップl)において更新されてもよい。
【0034】前記ステップi)が以下に示すSAD_a
veの計算を含み、(SAD_ave)=((numM
B−1)(SAD_ave)0+SAD_min)/n
umMB、(SAD_ave)0は前回のマクロブロッ
ク位置変化予測からのSAD_aveであり、numM
Bは1フレーム内のマクロブロック数であってもよい。
【0035】前記ステップk)が以下に示すSAD_a
veLTの計算を含み、(SAD_aveLT)=
((numMBsLT−1)(SAD_aveLT)0
+SAD_min)/numMBsLT、(SAD_a
veLT)0は前回のマクロブロック位置変化予測で計
算されたSAD_aveLTであり、numMBsLT
は複数のフレーム内の合計ブロック数であってもよい。
【0036】前記ステップd)が以下に示すME_st
epの計算を含んでいてもよい。a)もし、SAD_i
nit<SAD_ave−SAD_varである場合に
は、ME_step=ME_stepAVE−2とし、
b)そうでない場合にもし、SAD_init<SAD
_aveである場合には、ME_step=ME_st
epAVE−1とし、c)そうでない場合にもし、SA
D_init<SAD_ave+SAD_varである
場合には、ME_step=ME_stepAVEと
し、d)そうでない場合にもし、SAD_init<S
AD_ave+2(SAD_var)である場合には、
ME_step=ME_stepAVE+1とし、e)
そうでない場合には、ME_step=ME_step
AVE+2とする。
【0037】ME_stepAVEは4の値で初期化さ
れ、前記ステップj)が以下に示すME_stepAV
Eの計算の更新を含んでもよい。 a)もし、SAD_ave>a0(SAD_aveL
T)/a1である場合には、ME_stepAVE=M
E_stepAVE+1とし、b)そうでない場合にも
し、SAD_ave<a2(SAD_aveLT)/a1
である場合には、ME_stepAVE=ME_ste
pAVE−1とする(但し、a0>a1>a2>0であ
る)。
【0038】ステップj)において、a0の値が10で
あり、a1の値が8であり、a2の値が7であってもよ
い。
【0039】前記ステップe)は、前記ステップd)で
計算された前記ME_stepの値を用いて、前記サー
チウィンドウ内の隣接するマクロブロックサイズのマト
リクスの中心を初期的に分離する画素数であるsを計算
するステップを含み、sは、s=2(ME#step-1)として
計算され、前記ステップf)は、該sの値を2で割るこ
とにより、該ステップe)〜f)を実行する度に該サー
チウィンドウ内のマクロブロック間の間隔を低減するス
テップを含んでもよい。
【0040】前記ステップl)は以下のようにSAD_
varを計算するステップを含み、SAD_var=√
[((numMB−1)*((SAD_var)02
(SAD_min−SAD_ave)2)/numM
B]、(SAD_var)0は、前回のマクロブロック
位置変化予測からのSAD_varであってもよい。
【0041】本発明の別の実施形態では、一連のフレー
ムによってビデオシーケンスを表すデジタルビデオシス
テム圧縮フォーマットであって、該一連のフレームは前
フレームおよび該前フレームに続く現フレームを含み、
該一連のフレームは全て所定の時間間隔で分離されてお
り、該フレームは所定の位置を持つ複数のブロックに分
割され、各ブロックは所定の輝度ピクセ輝度トリクスを
含むサイズを有する、デジタルビデオシステム圧縮フォ
ーマットにおいて、該現フレームにおける一連のブロッ
ク内の輝度画素データマトリクスによって表される画像
の、該前フレームにおける対応するブロックサイズの輝
度画素データマトリクスからの位置変化を効果的に予測
する方法であって、a)該現フレーム内で第1のブロッ
クを選択するステップと、b)該現フレーム内の該第1
のブロックに対応する初期候補マトリクスとして、該前
フレーム内のブロックサイズの輝度ピクセ輝度トリクス
を選択するステップと、c)前ブロック位置変化予測値
から求められるフレーム間の輝度画素データの短期平均
比較値を与えるステップと、d)サーチパターンを規定
するために該ステップc)で与えられた該短期平均値を
用いて、該候補マトリクスの周囲の輝度画素エリア内を
サーチして該第1のブロックの輝度画素データと比較し
て最も近いブロックサイズの最終候補マトリクスを見つ
けるステップであって、これにより、位置変化の履歴に
よって該サーチパターンが規定されるステップとを包含
し、そのことにより上記目的が達成される。 前記ステ
ップd)の後に、e)前記第1のブロックの前記輝度画
素データの比較値および該ステップd)で計算された前
記最終候補マトリクスで、前記輝度画素データの短期平
均比較値を更新するステップであって、これにより、次
回のブロック位置変化予測の前記ステップc)の準備の
ために該短期平均値が変更されるステップさらに包含し
てもよい。
【0042】前記ステップd)の後に、f)前記第1の
ブロックの輝度画素データの比較値および該ステップ
d)で計算された前記最終候補マトリクスで、輝度画素
データの長期平均比較値を更新するステップをさらに包
含してもよい。
【0043】g)前記ステップf)の後に、前記ステッ
プe)で更新された前記輝度画素データの短期平均比較
値と、該ステップf)で更新された前記輝度画素データ
の長期平均比較値とに応じて、サーチパターンサイズの
長期平均値を更新するステップと、c1)前記ステップ
c)の後で、前記ステップd)の前に、サーチパターン
サイズの長期平均値を与えるステップと、をさらに包含
し、該ステップd)は、該サーチパターンサイズの該長
期平均値に応じて該サーチパターンを規定するステップ
を含んでもよい。
【0044】前記ステップd)は、前記サーチウィンド
ウ内の前記複数のブロックサイズのマトリクスのそれぞ
れと前記現フレーム内の前記第1のブロックとの間にお
ける輝度画素データの差の絶対値の和(SAD)の計算
を行うことによって輝度画素データを比較するステップ
を含み、最小SAD(SAD_min)を持つブロック
サイズのマトリクスの計算は、該第1のブロックと前記
最終候補マトリクスとの間での輝度画素データの比較で
あってもよい。
【0045】前記ステップc)は、輝度画素データの短
期平均比較値としてSADの短期平均値(SAD_av
e)を含み、該ステップe)は、前記ステップd)で計
算されたSAD_minでSAD_aveを更新するス
テップを含み、これにより、次回のブロック位置変化予
測の該ステップc)の準備のために、該SAD_ave
が該ステップe)におけるSAD値で更新されてもよ
い。
【0046】前記ステップf)は、輝度画素データの長
期平均比較値として長期平均値(SAD_aveLT)
を含み、該ステップf)は、前記ステップd)で計算さ
れたSAD_minでSAD_aveLTを更新するス
テップを含み、これにより、前記ステップg)のため
に、SAD_aveLTが該ステップf)におけるSA
D値で更新されてもよい。
【0047】前記ステップe)は、1フレーム内のブロ
ック数に応じてSAD_aveを更新するステップを含
み、前記ステップf)は、複数のフレーム内の合計ブロ
ック数に応じてSAD_aveLTを更新するステップ
を含んでもよい。
【0048】前記ステップb)は、隣接ブロックについ
て前に予測した位置変化に応じて前記初期候補マトリク
スを選択するステップを含み、これにより、前記第1の
ブロックの前記予測処理を開始するために中間予測が用
いられてもよい。
【0049】前記ステップb)は、前記前フレーム内の
前記第1のブロックについて前に予測した位置変化に応
じて前記初期候補マトリクスを選択するステップを含
み、これにより、該第1のブロックの該予測処理を開始
するために中間予測が用いられてもよい。
【0050】前記ステップe)の後に、h)前記ステッ
プd)で計算されたSAD_minと、該ステップe)
において更新されたSAD_aveと、1フレーム内の
マクロブロック数とに応じて、SADの分散(SAD_
var)を計算するステップと、c2)前記ステップ
c)の後で、前記ステップd)の前に、SAD_var
を与えるステップとをさらに包含し、該ステップd)
は、該SAD_varに応じて前記サーチパターンを規
定するステップを含んでもよい。
【0051】本発明のさらに別の実施形態によると、一
連のフレームによってビデオシーケンスを表すデジタル
ビデオシステム圧縮フォーマットであって、該一連のフ
レームは前フレームおよび該前フレームに続く現フレー
ムを含み、該一連のフレームは全て所定の時間間隔で分
離されており、該フレームは所定の位置を持つ複数のマ
クロブロックに分割され、各マクロブロックは、16×
16の輝度ピクセ輝度トリクスを含むサイズを有するデ
ジタルビデオシステム圧縮フォーマットにおいて、該現
フレームにおける一連のマクロブロック内の輝度画素デ
ータマトリクスによって表される画像の、該前フレーム
における対応するマクロブロックサイズの輝度画素デー
タマトリクスからの位置変化を効果的に予測する方法で
あって、a)該現フレーム内で該一連のマクロブロック
の中から次のマクロブロックを選択するステップと、
b)隣接ブロックについて前に予測した位置変化に応じ
て、該ステップa)で選択されたマクロブロックに対応
する初期候補マトリクスとして該前フレーム内のマクロ
ブロックサイズの輝度ピクセ輝度トリクスを選択し、こ
れにより第1のブロックの予測処理を開始するために中
間予測が用いられるステップと、c)該ステップa)で
選択されたマクロブロックと、該ステップb)で選択さ
れた初期候補マトリクスとの間のSAD(SAD_in
it)を計算するステップと、d)前ブロック位置変化
予測値から導出されるフレーム間の輝度画素データの短
期平均比較値SAD(SAD_ave)を与えるステッ
プと、e)複数のマクロブロック位置変化予測値によっ
て求められるME_stepの長期平均(ME_ste
pAVE)を与えるステップと、f)以前の位置変化予
測値から導出されるSADの分散(SAD_var)を
与えるステップと、g)ブロックサイズのマトリクス間
の間隔が最小間隔になるまでに必要なサーチの反復回数
(ME_step)を計算するステップであって、該M
E_stepの計算は、SAD_init、SAD_a
ve、ME_stepAVEおよびSAD_varの値
に応じて行われるステップと、h)該ステップg)で計
算された該ME_stepの値に応じて、可能性のある
候補マトリクス間の初期間隔(s)を計算するステップ
と、i)該ステップa)で選択されたマクロブロック
と、隣接するマトリクスの中心間の間隔がsである少な
くとも8つの均一に分布したマクロブロックサイズのマ
トリクスとの間のSADを計算し、これにより、最小S
AD(SAD_min)を持つ新たな候補マトリクスの
位置を特定するステップと、j)1)sが該最小間隔以
上である場合には、sを2で割ってsの値を新たな値に
して該ステップi)へと進み、2)sが該最小間隔未満
である場合には、次に進むようにして、該サーチ処理を
反復するステップと、k)該ステップi)の最後の実行
時に最終候補マトリクスを選択して、該ステップa)で
選択された該ブロックと比較し、これにより、SAD_
minを計算するステップと、l)次のマクロブロック
の位置変化予測において該ステップg)でME_ste
pを計算する際に使用するために、該SAD_minで
SAD_ave、ME_stepAVEおよびSAD_
varを更新するステップと、m)該ステップa)に進
み、該一連のマクロブロックの中の該ステップa)で選
択されたマクロブロックの次のマクロブロックについて
該位置変化予測処理を繰り返すステップであって、これ
により1回の位置変化予測に必要なサーチ反復回数は、
それまでに予測を行ったマクロブロックにおけるSAD
の履歴に応じて変化するステップとを包含し、そのこと
により上記目的が達成される。
【0052】現フレームの一連のブロック内の輝度画素
データマトリックスによって表される画像の位置の変化
を、前フレームの対応するブロックサイズ輝度画素デー
タマトリックスから効率的に予測する方法が提供され
る。この方法は、ビデオシーケンスを、すべてが所定の
時間間隔で分離された、現フレームの直前の前フレーム
を含む一連のフレームで表すデジタルビデオシステム圧
縮フォーマットに適用される。フレームは所定の位置を
有する複数のブロックに分割され、各ブロックは、所定
の輝度画素マトリックスを含む大きさを有する。この方
法は、 a)現フレームの最初のブロックを選択するステップ
と、 b)前フレームのブロックサイズ輝度画素マトリックス
を、現フレームの最初のブロックに対応する初期候補マ
トリックスとして選択するステップと、 c)前のブロック位置変化予測から引き出される、フレ
ーム間の輝度画素データの短期平均比較を与えるステッ
プと、 d)ステップc)で提供された輝度画素データの短期平
均比較に応じて、候補マトリックスを中心とするサーチ
ウィンドウサイズを計算するステップと、 e)サーチウィンドウ内に均一に配分される複数のブロ
ックサイズ輝度画素マトリックスからの輝度画素データ
を、現フレームの最初のブロックの輝度画素データと比
較して、現フレームの最初のブロックの輝度画素データ
に最も類似する輝度画素データを有する新しい候補マト
リックスを選択し、これによりサーチウィンドウサイズ
がフレーム間の動きの履歴により変動する、ステップ
と、を包含する。
【0053】ステップe)に続いて、 f)ステップe)の各繰り返しの後、サーチウィンドウ
内に位置する複数のブロックサイズマトリックス間の間
隔を縮小するステップと、 g)複数のブロックサイズマトリックス間の間隔が、ユ
ーザ規定の最小間隔サイズに一致するまでステップe)
〜f)を繰り返し、ステップe)の最後の繰り返しでの
最後の候補マトリックスを選択するステップと、 h)ステップe)の最後の繰り返しで選択された最後の
候補マトリックスの輝度画素データを、現フレームの最
初のブロックの輝度画素データと比較して、輝度画素デ
ータの最後の比較の計算を行い、これにより最後の候補
マトリックスと最初のブロックとの間のブロック位置の
差がフレーム間の動きを示すベクトルを与える、ステッ
プと、よりなるステップがさらに包含される。
【0054】最後の候補マトリックスが見つかった後、
短期平均比較は、ステップh)で計算された輝度画素デ
ータの最後の比較により更新される。サーチウィンドウ
サイズはまた、サーチウィンドウサイズの長期平均を用
いて計算される。長期サーチウィンドウサイズは、輝度
画素データの新しい短期平均比較の計算に応じて更新さ
れる。長期平均サーチウィンドウサイズはまた、輝度画
素データの長期平均比較により計算される。これはステ
ップh)の後で更新される。
【0055】典型的には、輝度画素データは、輝度画素
データの差の絶対値の和(SAD)の計算を介して比較
される。ステップe)では、SADが最も小さいブロッ
クサイズマトリックスが、ステップe)〜f)の次の繰
り返しにおける候補マトリックスとして選択され、ステ
ップh)は、輝度画素データの最後の比較として最小S
AD(SAD_min)の計算を含む。さらに、輝度画
素データの短期(SAD−ave)および長期平均(S
AD_aveLT)比較の両方を生成するために、SA
D情報が使用される。SAD_aveを計算するために
はフレーム内の全マクロブロック数もまた使用され、S
AD_aveLTを計算するためには、いくつかのフレ
ームからのマクロブロックの合計数が使用される。
【0056】方法は、ブロックサイズマトリックス間の
間隔が最小間隔になるまでに必要とされるステップe)
〜f)の繰り返し回数(ME_step)に関連してサ
ーチウィンドウサイズを規定することを包含する。この
場合は、ステップe)は、ME_stepの値に応じて
サーチウィンドウ内に比較される複数のブロックサイズ
マトリックスを先ず配分することを包含し、ステップ
f)は、繰り返し毎にサーチウィンドウサイズを半分に
することを包含する。
【0057】新規な動き予測アルゴリズムであるAME
SSAD(adaptive motion estimation based on stat
istical sum of absolute difference「差の絶対値の統
計和に基づく適応型動き予測」)が提供される。本アル
ゴリズムは、SAD(sum ofabsolute difference「差
の絶対値の和」)の統計的分布に基づいて動きサーチス
テップサイズを適応的に求める。つまり、あるフレーム
中のある部分における動きを予測するためのサーチステ
ップサイズは、同じフレームの隣接部分から得たSAD
値を用いて計算される。本発明による効率的なサーチ手
順によって、H.26PおよびMPEG−X規格のビデ
オ圧縮のような、動き補償および変換を利用したハイブ
リッドビデオコーダー(coder)の実施を向上する。固定
ステップサイズの動き予測と比較して、本発明による適
応型アルゴリズムは、動き予測、ひいては全体的なビデ
オエンコード速度を向上する。さらに、本発明のアルゴ
リズムでは、動きの度合いによって各領域を差別化し、
動きの内容がより豊富なローカルエリアまたはローカル
フレームに対してより多くの動き予測リソースを割り当
てるので、多くの場合、向上した画質が得られる。
【0058】
【発明の実施の形態】ハイブリッドビデオコーデック
(codec)は、動き補償を用いて、連続するフレームに
おけるビデオデータ時間冗長度を解消または低減する。
物理的世界を表す場合、ビデオシーケンスにおける動き
フローはほぼ円滑である。即ち、ビデオデータの一次微
分は、時間方向に非常に相関する。このことは、任意の
動きアクティビティが多数のフレームにわたる高フレー
ムレートビデオシーケンスにおいて特に当てはまる。
【0059】以下に説明する、差の絶対値の統計和に基
づく適応型動き予測(AMESSAD)のアルゴリズム
は、動きベクトルの連続性を利用して、各マクロブロッ
クに動き予測特性を動的に且つ効率的に割り当てること
によって、固定ステップ動き予測を向上する。このアル
ゴリズムはまた、速い動きを有する物体の動き速度はよ
り速く変化し、遅い動きを有する物体の動き速度はより
遅く変化するという前提に基づいている。即ち、動きを
有する領域は、ビデオデータにおいて高2次微分を有す
る可能性が高い。局部的(フレーム内)には、豊富な動
き内容を有するマクロブロックには、より長い動き予測
ステップが割り当てられる。静的バックグラウンドタイ
プのマクロブロックには、より短い動き予測ステップが
割り当てられる。(数フレームにわたる)長期処理で
は、激しい動きを有するフレームのセグメントは、より
長い平均動き予測ステップを有する。一方、軽い動きを
有するフレームのセグメントは、本発明のアルゴリズム
による統計的分析に基づく、短い平均動き予測ステップ
を有する。
【0060】AMESSADの使用により、固定ステッ
プ動き予測と比べて、向上した動き予測速度が得られ
る。多くの場合、アルゴリズムの適用により、ビデオの
より高い視覚的品質も得られる。
【0061】図5は、現フレームの一連のブロックにお
いて輝度画素データのマトリクスによって表される画像
位置の変化を、前フレームの輝度画素データの対応する
ブロックサイズのマトリクスから効率的に予測する方法
を説明するためのフローチャートである。ステップ10
で、ビデオシーケンスが一連のフレームで表される圧縮
フォーマットを有するデジタルビデオシステムを与え
る。具体的には、一連のフレームは、現フレームの前フ
レームを含む。すべてのフレームは、所定の時間間隔で
分離される。フレームは、所定の位置で複数のブロック
に分割され、各ブロックは、輝度画素の所定のマトリク
スを含むような大きさを有する。例えば、ブロック1
は、固定位置を有し、各々の連続するフレームにおいて
同じ画素マトリクスを含む。典型的には、輝度画素のブ
ロックはマクロブロックであり、各マクロブロックは、
輝度画素の16×16マトリクスを含む。しかし、本発
明は、任意の大きさの画素ブロックに適用可能である。
以下に説明する種々の統計的パラメータは、アプリケー
ションプログラムの始めにゼロに初期化され、その後、
各マクロブロックについて動き補償が計算されると、更
新される。
【0062】ステップ12で、現フレームの第1のブロ
ックを選択するか、または、現フレームにおける一連の
マクロブロックのその次のマクロブロックを選択する。
典型的には、各ブロックはアドレスで識別され、隣接す
るブロックは連続するアドレスを有する。本発明の方法
は、予測されるマクロブロックの連続的な順序がフレー
ムの左上から右下に移動する場合によりよく作用する
が、本発明の方法はまた、各ブロックを順序付けおよび
選択して予測するその他の手段にも適用可能である。
【0063】ステップ14で、前フレームの輝度画素の
ブロックのサイズのマトリックスを、現フレームの最初
のブロックに対応する初期候補マトリクスとして選択す
る。好適な実施形態では、ステップ14は、隣接するブ
ロックについて以前に予測された位置変化に応じて初期
候補マトリクスを選択するステップを包含する。このよ
うに、フレーム内予測(intra prediction)を用いて、
最初のブロックについて予測プロセスを開始する。典型
的には、最初のブロックの直ぐ左および上ブロックが用
いられる。
【0064】本発明の幾つかの局面では、ステップ14
は、前フレームの最初のブロックについて以前に予測さ
れた位置変化に応じて初期候補マトリクスを選択するス
テップを包含し、これにより、フレーム間予測(inter
prediction)を用いて、最初のブロックについての予測
プロセスを開始する。
【0065】ステップ16で、以前のブロック位置変化
予測値から得られる、フレーム間の輝度画素データの短
期平均比較値を与える。ステップ16は、本発明の核心
である。フレーム間で劇的な動きがある場合には探索ウ
ィンドウを拡大し、フレーム間で動きがほとんどない場
合には探索ウィンドウを縮小するという柔軟性を本発明
に与えるのは、以下に説明する、探索ウィンドウサイズ
を決定するプロセスにステップ16を包含することによ
るものである。以下により詳細に説明するように、ステ
ップ16の短期平均値は、隣接するマクロブロックの輝
度画素比較値に非常に依存し、特に、ステップ12で最
初のブロックの選択の直前に行われたマクロブロック位
置変化予測値に非常に依存する計算値である。
【0066】ステップ16で与えられた短期間平均を用
いて探索パターンを規定するステップ18は、候補マト
リクスの周囲にある輝度画素の領域を探索して、最初の
ブロックの輝度画素データに最も匹敵する最終候補ブロ
ックサイズマトリクスを見つけるステップを包含し、こ
れにより、位置変化の履歴によって、探索パターンが規
定される。
【0067】ステップ18の後のステップ20は、平均
化統計値を更新するステップを包含する。具体的には、
ステップ20は、輝度画素データの短期間平均比較値
を、ステップ18で計算された最初のブロックおよび最
終候補マトリクスの輝度画素データの比較値で更新する
第1のサブステップ(図示せず)を包含し、これによ
り、短期平均値は、ステップ16でその次の位置変化予
測値を与えるために、変更される。ステップ18の後の
第2のサブステップ(図示せず)は、最初のブロックお
よび最終候補マトリクスの輝度画素データの比較値で、
輝度画素データの長期平均比較値を変更または更新する
ステップを包含する。
【0068】第2のサブステップの後の、ステップ20
の第3のステップ(図示せず)で、第1のサブステップ
で更新された輝度画素データの短期平均比較値と、第2
のサブステップで更新された輝度画素データの長期平均
比較値とに応じて、探索パターンサイズの長期平均値を
更新する。好適な実施形態では、ステップ16とステッ
プ18の間のさらなるステップ16a(図示せず)で、
以前のブロック位置変化予測値において計算された探索
パターンサイズの長期平均値を与え、ステップ18は、
長期平均探索パターンサイズに応じて探索パターンを規
定するステップを包含する。初期化後にマクロブロック
を予測する特殊な場合、ステップ20の第1、第2およ
び第3のサブステップで用いられる値はゼロであるか、
またはユーザによって規定される値である。
【0069】図5に示す方法は、ステップ20の後、ス
テップ12またはステップ22に進む。プロセスは、ス
テップ12に戻り、ステップ12において予測されたば
かりの第1のブロックに続いて、次のマクロブロックに
対して位置変化予測プロセスを連続して繰り返す。プロ
セスは、ステップ12からステップ20を連続して繰り
返し、実質的にすべてのビデオフレームにおける実質的
にすべてのマクロブロックの動きを予測する。ステップ
22は、方法の終了を示す。得られる積は、マクロブロ
ック位置の変化の予測であり、サーチパターンサイズ、
またはサーチ反復数は、フレーム間の動きの履歴、また
は前に予測されたマクロブロック間のSADの履歴と共
に変化する。
【0070】ステップ18は、サーチウィンドウにおけ
る複数のブロックサイズマトリクスのそれぞれと、現フ
レームにおける第1のブロックとの間の輝度画素データ
の差の絶対値の和(SAD)を計算することによって輝
度画素データを比較することを含む。従って、最小SA
D(SAD_min)を用いたブロックサイズマトリク
スの計算は、第1ブロックと最終候補マトリクスとの間
の輝度画素データの比較である。
【0071】ステップ16は、輝度画素データの短期平
均比較としてSAD(SAD_ave)の短期平均を含
む。次に、ステップ20の第1サブステップは、ステッ
プ18で計算されたSAD_minでSAD_aveを
更新することを含む。このように、SAD_aveは、
ステップ20における次のブロック位置変化予測の準備
のためのステップ20の第1サブステップにおけるSA
D値で更新される。
【0072】ステップ20の第2サブステップは、輝度
画素データの長期平均比較として長期平均(SAD_a
veLT)を含む。即ち、第2サブステップは、ステッ
プ18で計算されたSAD_minでSAD_aveL
Tを更新することを含む。このように、SAD_ave
LTは、第3サブステップにおける準備のためのステッ
プ20の第2サブステップにおいてSAD値で更新され
る。
【0073】ステップ20の第1サブステップは、フレ
ーム内のブロックの総数(例えば、現フレーム内のブロ
ックの総数)に応じて、SAD_aveを更新すること
を含む。本発明のいくつかの局面において、フレーム
は、99個のブロックを含む。同様に、ステップ20の
第2サブステップは、複数のフレームにおけるブロック
の総数に応じて、SAD_aveLTを更新することを
含む。本発明のいくつかの局面において、3フレームに
おけるマクロブロックの数(3×99)が用いられる。
【0074】本発明の好ましい実施態様において、ステ
ップ20の第4サブステップ(不図示)は、ステップ2
0の第1サブステップの後、ステップ18において計算
されたSAD_min、ステップ20の第1サブステッ
プにおいて更新されたSAD_ave、およびフレーム
内のマクロブロックの数に応じて、SAD(SAD_v
ar)の変動を計算する。SAD_varが用いられる
とき、ステップ16b(不図示)は、ステップ16の後
であって、ステップ18の前に、SAD_varを提供
し、ステップ20は、SAD_varに応じてサーチパ
ターンを規定することを含む。SAD_ave、SAD
_aveLT、およびSAD_varの詳細な定義は、
以下に提供される。
【0075】図6は、図5のフローチャートのさらに詳
細な図である。ステップ10、12、14および16
は、図5および図6の両図におけるステップと実質的に
同じであり、ここでは繰り返し説明しない。図6を参照
すると、ステップ38は、ステップ16において提供さ
れる輝度画素データの短期平均比較値に応じて、ステッ
プ14において選択された候補マトリクスを中心とし
た、サーチウィンドウサイズを計算する。ステップ38
は、ブロックサイズマトリクス間のスペーシングが、最
小スペーシングになるまで必要なステップ40から42
の反復(ME_step)数でサーチウィンドウサイズ
を規定することを含む。あるいは、潜在的な候補マトリ
クス間の初期スペーシングは、ステップ38において計
算されたME_stepに応じて計算される。
【0076】ステップ40は、サーチウィンドウ内で均
一に分布した輝度画素の複数のブロックサイズマトリク
スからの輝度画素データと、現フレーム内の第1ブロッ
クの輝度画素データとを比較する。通常、輝度画素のブ
ロックは、それぞれが、16×16マトリクスの輝度画
素を含むマクロブロックである。このように、現フレー
ム内の第1ブロックの輝度画素データに最も類似した輝
度画素データを有する新しい候補マトリクスが選択され
る。サーチパターンの計算を助ける平均を用いることに
よって、サーチウィンドウサイズは、フレーム間の動き
履歴と共に変化する。ステップ40は、最初、ME_s
tepの値に応じて、サーチウィンドウ内で比較される
複数のブロックサイズマトリクスを分布させる。ステッ
プ40の第1の反復における初期分布の後、ステップ4
0の次の反復はすべて、サーチウィンドウサイズを半分
に減少させる。
【0077】サーチウィンドウにおけるブロックサイズ
マトリクス間の最小スペーシングが提供される。計算
は、最小スペーシング1画素を形成するか、または隣接
する画素間に距離を形成することによって簡単にされ
る。しかし、本方法は、任意のスペーシング、または画
素ロケーション間のサブスペーシングに適用可能であ
る。
【0078】ステップ42は、ステップ40の後、ステ
ップ40を繰り返す度に、サーチウィンドウ内に配置さ
れた複数のブロックサイズマトリクス間のスペーシング
を減少させる。このように、サーチフィールドは、新し
い候補マトリクスのサーチを繰り返す度に、前のフレー
ムの領域にさらに狭くフォーカスされるようになる。
【0079】決定ブロック44は、以下のようにサーチ
を繰り返す。
【0080】複数のブロックサイズマトリクス間のスペ
ーシングが最小スペーシングよりも大きいかまたは等し
いとき、プロセスは、ステップ40に戻り、複数のブロ
ックサイズマトリクス間のスペーシングが最小スペーシ
ングよりも小さいとき、プロセスは、ステップ46まで
連続する。
【0081】ステップ46は、ステップ40の最終反復
において選択された最終候補マトリクスの輝度画素デー
タと、現フレーム内の最初のブロックの輝度画素データ
とを比較し、輝度画素データの最終比較を計算し、それ
によって、最終候補マトリクスと最初のブロックとの間
のブロック位置における相違が、フレーム間の動きを記
載するベクトルを与える。プロセス中のこのステップに
おいて、第1のブロックについての変化位置予測は完了
する。しかし、プロセスは、第1のブロックに続く一連
のマクロブロック内の次のマクロブロックの位置の変化
を予測するのに必要な統計学を続いて準備する。
【0082】本発明の1つの局面において、ステップ3
8は、5の最大ME_stepを用いることを含む。あ
るいは、決定ブロック44は、ステップ40において潜
在的な候補ブロック間の最少スペーシングが得られたが
否かに関する決定に応じて、ステップ40から42に、
最大5の反復を繰り返させる。本発明の方法には、ME
_stepの値が5を越えるかまたは5未満になること
を防止するものは何もなく、数字は、速度とは対照的
に、精度に対する必要性に応じて変化する(計算の数が
減少する)。TVまたは映画シーケンスなどの応用によ
っては、運動内容が大きく、精度が重要であり、ME_
stepは、5を越える。ビデオおよび電話会議では、
ME_stepは、場合によっては、5未満に減少する
ので、他の情報は、運動内容が小さいときに通信され得
る。
【0083】ステップ46に続くステップ48は、一連
のマクロブロック中における現在の予測の最初のブロッ
クに続く次のマクロブロックに対して位置予測がなされ
たとき、AMESSAD法の次の繰り返しにおけるステ
ップ16で与えられる輝度画素データの短期平均比較を
更新する。ステップ48で計算された短期平均は、ステ
ップ46で計算された輝度画素データの最終比較によっ
て更新されることにより、最初のブロックの現在の予測
が行われた後に短期平均をステップ48で変更する。ス
テップ48で計算された短期平均はこれで、プロセスの
次の繰り返しにおけるステップ16(一連のマクロブロ
ック中における最初のマクロブロックに続くマクロブロ
ックに対する位置変化予測がなされる)において提供の
ための準備が整ったことになる。
【0084】上述のように、マクロブロックはスライス
にグループ分けされる。スライスの1グループが1フレ
ームを構成する。典型的には、マクロブロックはスライ
ス中において連続して並べられることにより、マクロブ
ロック予測は常に同じ順番でなされる。スライス中の各
マクロブロックが予測されると、プロセスは次のスライ
スに続く。フレームの最後という特殊な状況において
は、最後のスライスの最後のマクロブロックが、次のフ
レーム中の最初のスライスの最初のマクロブロックのス
テップ16で用いられる短期平均をステップ48におい
て更新する。すなわち、現フレームの最初のスライス中
において最初に発生するマクロブロックは、参照フレー
ム中の最後のスライスの最後のマクロブロックに続いて
予測される。あるいは、現フレームの最初のブロックの
予測には、前フレーム中のユーザ定義されたマクロブロ
ックを用いる。
【0085】ステップ48に続くステップ50は、サー
チウィンドウサイズの長期平均を、ステップ48で更新
された輝度画素データの短期平均比較によって更新す
る。本発明の1局面において、ステップ16の後かつス
テップ38の前に、追加的なステップ16a(図示せ
ず)においてサーチウィンドウサイズの長期平均を提供
する。この場合、ステップ38は、前のブロック変化予
測のステップ50で計算された、ウィンドウサーチサイ
ズの長期平均に応じて、サーチウィンドウサイズを計算
することを包含する。すなわち、最初のマクロブロック
の予測プロセスの終わりにおいて、新しく更新された短
期平均を用いて、ステップ16aにおいて次のブロック
の位置変化予測の準備のため、ステップ50におけるサ
ーチウィンドウサイズの長期平均を更新する。次に、画
素データの短期平均およびサーチウィンドウの長期平均
を、一連のマクロブロック中において最初のマクロブロ
ックに続くマクロブロックのステップ38において、M
E_stepの計算に用いる。換言すれば、ステップ3
8において、ローカルME_stepをME_step
およびME_stepAveのローカル平均について決
定する。ME_stepAveは、ローカル決定プロセ
スの外部で決定される。ユーザ定義されてもよく、ま
た、後述のSAD長期挙動によって更新され得る。ME
_stepAveは、複数のマクロブロック位置平均予
測にわたって得られた、実効的なME_step平均で
ある。
【0086】本発明のいくつかの局面においてME_s
tepの決定において用いられる、動き予測ステップM
E_stepAveにおける長期平均は、ユーザ指定で
ある。下記に、ME_stepAve変数をユーザが予
め定義した値から適応型に更新するモデルを作成してい
る。
【0087】1ビデオフレーム中において、マクロブロ
ックは異なる動きの程度を有している。ローカル動き予
測サーチウィンドウサイズは、ローカルSAD統計分布
に基づいて決定される。長期的には(すなわちビデオシ
ーケンス中の数フレームにわたって)、各フレームは異
なる動き内容を有している。動きが少ないフレームのセ
グメントについては、より小さいサーチウィンドウを動
き予測に用いることによって計算を減らすことが望まし
い。動き内容が多大であるときは、サーチウィンドウ
は、動きベクトルの大きな変化に十分対応できるほど大
きくなければならない。
【0088】ステップ52は、輝度画素データの長期平
均比較を、ステップ46で計算された輝度画素データの
最終比較によって更新する。この結果、長期平均は、次
のマクロブロックを予測する際に用いられる最初のブロ
ックの位置変化予測によって更新される。本発明のいく
つかの局面において、ステップ50は、長期平均サーチ
ウィンドウサイズを、輝度画素データの長期平均に応じ
て更新することを包含する。図6においてステップ52
がステップ48の後かつステップ50の前に示されてい
るのは、ステップ52の結果をステップ50で行われる
計算に用いているからである。
【0089】フレーム間の輝度画素データを比較するた
めの様々な手段が存在する。これらの方法のうちいくつ
かは、最小2乗平均誤差測定および、周波数領域におけ
る量子化DCT係数の和を包含する。差の絶対値の和
(SAD)法は、計算が単純でありかつ有効な比較手段
であることがわかっている。本発明の好適な実施態様に
おいて、ステップ38は、サーチウィンドウ内の複数の
ブロックサイズのマトリクスの各々と、現フレームの最
初のブロックとの間の輝度画素データの差の絶対値の和
(SAD)を計算することによって、輝度画素データを
比較することを包含する。最小のSADを有するブロッ
クサイズのマトリクスを、ステップ40〜42の次の繰
り返しの再の候補マトリクスとして選択する。さらに、
ステップ46は、最小のSAD(SAD_min)を有
するブロックサイズのマトリクスを、輝度画素データの
最終比較とて計算することを包含する。
【0090】本発明のいくつの局面は、さらなるステッ
プとして、ステップ14の後かつステップ16の前に、
ステップ14a(図示せず)を包含する。ステップ14
aは、ステップ14で選択された初期の候補マトリクス
と現フレームの最初のブロックとの間のSADを計算す
ることにより、SAD_initを導出する。この場合
ステップ38は、ステップ14aで計算されたSAD_
initに応じてサーチウィンドウサイズを計算するこ
とを包含する。
【0091】各マクロブロックの動き予測の初めに、ス
テップ14において、動き予測を開始するための初期中
心動きポイントを選択する。この初期ポイント(xi,
yi)は、同一フレーム中の周囲のマクロブロックから
予測されるか(フレーム内予測)、最後の参照フレーム
の動き予測結果から予測される(フレーム間予測)。初
期動きサーチポイントのSADはSAD_initであ
る(ステップ14a)。ME_stepAve(前のブ
ロック予測のステップ52)について、SAD_ini
tをSAD_ave(前ブロック予測のステップ48)
と比較し、SAD_var(前ブロック予測のステップ
54として後述部分で導入する)をスケール化係数とし
て用いることにより、ME_step(ステップ38)
が選択される。ME_stepは、SAD_initに
関するガウス分布モデルに従って割り当てられる。SA
D_initが小さければ、ME_stepも小さくな
る。
【0092】SAD_init(ステップ14a)は、
最初のマクロブロックについて、マクロブロックの動き
予測(ME)のちょうど開始時に計算されたSADであ
ることに留意されたい。一方、SAD_minは、ME
の最後(ステップ46)でのSADである。これらは一
般に値が異なっている。SAD_initは、MEステ
ップサーチの中心開始ポイントについて計算されたSA
D値である。SAD_minは、全てのサーチポイント
についての最小値である。SAD_initはMEサー
チステップを決定するために用いられる。SAD_mi
nはME統計パラメータを更新するために用いられる。
【0093】ステップ48は、輝度画素データの短期間
平均比較としての、SAD(SAD_ave)という短
期間平均を含む。従って、ステップ48は、ステップ4
6で計算したSAD_minで、SAD_aveを更新
することを含む。このようにして、SAD_aveは、
第1のブロックの位置変化が評価された後のSAD値で
更新される。ステップ48はさらに、フレーム内のブロ
ックの数に応じてSAD_aveを計算することを含
む。特に、ステップ48は、以下のSAD_aveの計
算を含む。
【0094】
【数2】 上記式において、(SAD_ave)0は前のマクロブ
ロック位置変化評価からのSAD_aveであり、nu
mMBはフレーム内のマクロブロックの数である。
【0095】ステップ52は、輝度画素データの長期間
平均比較としての、(SAD_aveLT)という長期
間平均を含む。すなわち、ステップ52は、ステップ4
6で計算したSAD_minで、SAD_aveLTを
更新することを含む。それにより、SAD_aveLT
は、第1のブロックの位置変化が評価された後のSAD
値で更新される。ステップ52はさらに、複数のフレー
ム内のブロックの総数に応じてSAD_aveLTを計
算することを含む。特に、ステップ52は、以下のSA
D_aveLTの計算を含む。
【0096】
【数3】 上記式において、(SAD_aveLT)0は前のマク
ロブロック位置変化評価から計算されたSAD_ave
LTであり、numMBsLTはユーザにより定義され
た複数のフレーム内のマクロブロックの総数である。
【0097】長期間統計ウィンドウ長numMBsLT
は、numMBよりも大きく、通常、いくつかのフレー
ム、例えば、3フレームをカバーする。SAD_ave
LTは、各マクロブロックに関して、SAD_aveで
ゼロに初期化され、動き評価の完了時に更新される。
【0098】典型的には、ステップ40は、輝度画素デ
ータまたはSADを、ステップ12で選択されたマクロ
ブロックとサーチウィンドウ内で画素間隔の総数によっ
て均一に分離された少なくとも8ブロックサイズのマト
リクスとの間で比較することを含む。本発明の方法は様
々なサーチウィンドウ形状と候補マトリクス形状とに適
用可能であるが、サーチの標準的固定ステップ法での使
用に関して周知であるように、正方形のサーチウィンド
ウサイズが有効であることが判明している。上述し且つ
図4に示すように、固定ステップ法においては、8つの
潜在的候補マトリクスが、サーチウィンドウの辺に沿っ
て配置され、各隅に1マトリクスずつ配置されている。
第9番目のマトリクスは中央に位置している。最小のS
AD値を有する候補マトリクスが次のサーチ反復におい
て中央マトリクスとして用いられるため、ステップ40
の次反復において中央マトリクス用のSAD値を計算す
る必要がない。特定の環境において、サーチウィンドウ
は、いくつかの潜在的候補マトリクスがフレーム外また
は「スクリーン」外に位置するように、位置づけられて
いる。これらの場合、フレーム外の候補マクロブロック
用にSAD値を計算する必要がない。
【0099】本発明のある局面において、ステップ48
の後のステップ54は、ステップ46で計算されたSA
D_min、ステップ48で更新されたSAD_av
e、およびフレーム内のマクロブロックの数に応じてS
AD(SAD_var)の変化を計算する。SAD_v
arは、前のマクロブロック位置変化評価から導かれた
更新された値である。特に、ステップ54は、以下のS
AD_varの計算を含む。
【0100】
【数4】 上記式において、(SAD_var)0は、前のマクロ
ブロック位置変化評価からのSAD_varであり、
「sqrt」は、「〜の平方根」を表す。
【0101】本発明のある局面において、ステップ16
の後で且つステップ38の前に更なるステップ16b
(図示せず)が含まれる。ステップ16bは、SAD_
varを供給する。ステップ48、50および52の他
の統計と同様、ステップ54で更新されたSAD_va
r値がステップ16bで供給されて、AMESSAD法
の次反復のステップ38で用いられることにより、第1
のブロックに続く次のマクロブロックの位置変化が評価
される。ステップ38は、前のブロック評価のステップ
54で計算されてステップ16bで供給されたSAD_
varに応じてME_stepを計算することを含む。
特に、ステップ38は、以下のME_stepの計算を
含む。
【0102】
【数5】 本発明の方法は、ステップ54に続いてステップ12に
戻り、位置変化評価用の一連のマクロブロック内の次の
マクロブロックの選択を行う。あるいは、上記方法は、
動き評価プロセスの最終ステップであるステップ56に
進む。ステップ56において、サーチウィンドウサイズ
は、フレーム間の動きの履歴に伴って変化する。方法が
ステップ12に進むと、ステップ48、50および52
で更新された統計パラメータは、最も最近処理されたマ
クロブロックについて、numMBの長さを有するスラ
イディングウィンドウに亘ってSAD統計を有効に表
す。
【0103】ステップ50において、ME_stepA
veは、最近のnumMBマクロブロックの統計的SA
D挙動を表すSAD_aveを、numMBsLTマク
ロブロックに亘ってSAD_aveLTで表される長期
傾向と比較することにより、numMBの長さを有する
局部ウィンドウ用に決定される。有効なME_step
Aveは、SAD_aveとSAD_aveLTとの差
違を閾値とすることに割り当てられる。SAD_ave
がSAD_aveLTよりもある程度小さいということ
は、局部フレームがより小さい全体動きを有することを
意味し、従って、ステップ平均ME_stepAveは
減少する。その逆もまた同様である。
【0104】本発明のある局面において、ME_ste
pAveは、4の値で初期化され、ステップ50は、以
下のように、ME_stepAVEの計算を更新するこ
とを含む。
【0105】
【数6】 上記式においてa0>a1>a2>0である。
【0106】a0、a1およびa2の値は、評価手順が用
いられる特定の環境に従って変化する。1つの有用な順
番付けは、ステップ50において、a0の値を10に
し、a1の値を8にし、a2の値を7にすることである。
【0107】本発明のある局面において、ステップ40
は、ステップ38で計算されたME_stepの値を用
いて、sを計算することを含む。指定子sは、まずサー
チウィンドウ内の隣接するマクロブロックサイズのマト
リクスの中心(または上左隅)を分離する画素の数を表
す。その場合、sは以下のように計算される。
【0108】
【数7】 次に、ステップ42は、sの値を2で割ることにより、
ステップ40〜42を実行する度にサーチウィンドウ内
のマクロブロック間の間隔を低減するステップを含む。
【0109】図7は、図6に記載された変数の相対的な
範囲を示す。SAD_init、SAD_minおよび
ME_stepは完全にローカルな値とし、現マクロブ
ロック内でのみ使用する。SAD_ave、SAD_v
arおよびME_stepAVEは短期値とする。アプ
リケーションに応じて、これらの変数の公式(formula)
を変化させることによって、最新の更新をより強調した
り、あるいは軽めに扱ったり(de-emphasize)する。
【0110】ME_stepのローカル適応およびME
_stepAveの短期適応を組み合わせることによる
全体的な効果として、比較的小さなステップサイズが比
較的動きの少ない領域に割り当てられ、比較的大きなス
テップサイズが難しい領域に割り当てられる。長期的に
は、ME_stepAveは、SAD_aveLTとの
比較においてSAD_aveの変化に応じて変化する。
ローカルフレームのある範囲内において、各マクロブロ
ックについての動き予測ステップサイズを、そのマクロ
ブロックの動きを隣接するマクロブロックと比較するこ
とによってさらに適応的に求める。
【0111】以下に、AMESSADアルゴリズムの疑
似コードを示す。
【0112】
【表1】 図8に、本発明による方法を固定ステップ法と比較する
ために、あるビデオ画像の1フレームを例示する。フレ
ーム内の3つのマクロブロックにラベルを付けている。
マクロブロックi60は、ほとんど動きのない領域であ
る。マクロブロックj62は、マクロブロックi60よ
りは動きのある領域であり、マクロブロックk64は、
最も動きの大きい領域である。
【0113】固定ステップサイズサーチでは、マクロブ
ロックi60の動きベクトルが(1,−1)であること
を求めるために4ステップを必要とする。ここでは、あ
る位置から右および下方向への移動を正(+)の移動と
し、上および左方向への移動を負(−)の移動とする。
図9は、固定ステップサイズ法(従来技術)を用いた場
合の、図8のマクロブロックi60に対するサーチ手順
を示す。中心のスタート位置が(0,0)である。各サ
ーチステップでの最小SADのサーチポイントに星印を
付けている。マクロブロックi60の移動は最小である
ので、初めの3サーチステップの間、最小SAD点は常
に中心である。即ち、このサーチにおける初期スタート
位置として用いるブロックサイズのマトリクスは、最小
SAD値を用いて最終的に選択したマトリクスと同じで
ある。
【0114】図10は、AMESSADアルゴリズムに
従って図8のマクロブロックi60に対して行われる1
ステップサーチを示す。AMESSADアルゴリズムを
用いる場合、アルゴリズムは、マクロブロックのSAD
が小さいことを決定するので、マクロブロックの動き予
測は1ステップのみで行われる。マクロブロックに対す
るSADは非常に小さく、マクロブロックに対するの動
きベクトルは、初めに予測した動きベクトルに非常に近
いか、または等しい。これにより、演算量を大幅に節約
しながら同じ動きベクトルを得ている。一般に、AME
SSADアルゴリズムを用いて得られる動きベクトル
は、固定ステップサイズ法で得られるベクトルに非常に
近いか、または等しい。
【0115】図11は、図8のマクロブロックj62に
対する固定ステップサイズサーチ手順を示す(従来技
術)。マクロブロックj62の場合、4ステップのサー
チを行うことにより動きベクトル(1,−2)が得られ
る。図12は、図8のマクロブロックj62のサーチに
おいて、AMESSADアルゴリズムによって決定され
るサーチパスを示す。マクロブロックj62の場合、そ
のSAD値の統計的挙動に基づいて、AMESSADア
ルゴリズムは3ステップのサーチを行う(マクロブロッ
クj62のSAD値は、SAD平均値付近である)。や
はりこの例でも、結果的に同じ動きベクトルが得られて
いる。図11と図12を比較すると、AMESSAD法
では、まるまる1回分のサーチ(即ち、8回のコスト演
算)が節約できていることが分かる。
【0116】図13は、図8のマクロブロックk64に
ついて、AMESSADアルゴリズムおよび固定ステッ
プサイズアルゴリズムによって決定される同じサーチパ
スを示す。最後に、マクロブロックk64は、非常に大
きな動きを持つマクロブロックの例であり、良好な一致
を見つけるには、大きなサーチ範囲を用いた広範な動き
ベクトルサーチが必要である。マクロブロックk64
は、SADの平均よりも大幅に大きいSAD値を有し、
その偏差はSADの分散よりも大きい。このような場
合、AMESSADアルゴリズムは、フルステップサー
チ(4ステップ)を行うことになる。
【0117】AMESSADモデルは、典型的なビデオ
シーケンスにおいて、画素データが連続的であり、連続
フレーム間の移動もなめらかであることを利用してい
る。さらに、大きな動きベクトルの領域は大きな動きベ
クトル変化に関連する。本発明の新規なAMESSAD
アルゴリズムは、ローカルな動きの統計的挙動に応じ
て、適応的に演算量を割り当てることによって、固定ス
テップサイズサーチアルゴリズムを改良する。結果的
に、本発明のアルゴリズムは、動きベクトル精度を維持
しながら、全体の動き予測演算量を低減する。大量の実
験結果から、本発明のアルゴリズムによって動き予測速
度が最大約35%上昇することが示された。
【0118】本発明のアルゴリズムは、シーケンスの初
めには、最大範囲の動き予測サーチを行う。これによ
り、予測された複数の動きベクトルが実際の動きベクト
ルに適時に収束することを確実にする。本発明のAME
SSAD動きサーチアルゴリズムは、プラットホームか
ら独立しており、ハードウェアおよびソフトウェアのい
ずれにも容易に適用できる。さらに、本アルゴリズム
は、動きのあるシーケンス内の複数フレーム間にわたっ
て、または1フレーム内において、複数の領域を効果的
に差別化するので、動きの多い領域により多くの力が注
がれる。結果的に、動きの豊富な内容を持つオブジェク
トは、より正確な動きベクトルでコード化される。一般
に、このようなオブジェクトはフォアグランドに相当
し、より重点が置かれるオブジェクトである。比較的動
きの少ない内容を持つオブジェクトは、固定ステップサ
イズサーチと比べて比較的精度の低い動き動きベクトル
を用いてコード化される。ビデオシーケンスにおいて視
覚的に重要なオブジェクトは、質がより高くなるように
コード化される。これにより、多くの場合、より良い画
質が得られる。
【0119】本発明によるAMESSAD法を、現フレ
ームにおいてマクロブロックを選択し、基準フレームに
おいて対応するマクロブロック内でサーチを行う場合に
ついて説明した。本方法は、この反対の処理(基準フレ
ームにおいてマクロブロックを選択し、現フレーム内に
おいて対応するマクロブロックサイズのマトリクスにつ
いてサーチを行う処理)にも適用可能である。さらに、
本方法は、色差データ画素を使用する場合、または、輝
度画素および色差画素を組み合わせて使用する場合にも
適用可能である。本発明のAMESSAD法のその他の
更新例および実施例も当業者には可能である。
【0120】
【発明の効果】本発明によれば、隣接するマクロブロッ
ク内の動き予測から計算される、位置の平均的な変化に
応じてサーチウィンドウサイズを調節する、固定ステッ
プ動き予測法と共に使用される方法が提供される。
【0121】本発明によって、H.26PおよびMPE
G−X規格のビデオ圧縮のような、動き補償および変換
を利用したハイブリッドビデオコーダーの実施を向上す
る。固定ステップサイズの動き予測と比較して、本発明
による適応型アルゴリズムは、動き予測、ひいては全体
的なビデオエンコード速度を向上する。さらに、本発明
のアルゴリズムでは、動きの度合いによって各領域を差
別化し、動きの内容がより豊富なローカルエリアまたは
ローカルフレームに対してより多くの動き予測リソース
を割り当てるので、多くの場合、向上した画質が得られ
る。
【図面の簡単な説明】
【図1】ビデオエンコード方法のブロック図である(従
来技術)。
【図2】現フレームの現在のマクロブロックと前フレー
ムのサーチウィンドウとの間の空間的な関係を示す図で
ある(従来技術)。
【図3】固定ステップ動き予測法を示すフローチャート
である(従来技術)。
【図4】図3のステップ−サーチ法での直前の3ステッ
プを示す例(従来技術)を示す図である。
【図5】現フレームの一連のブロック内の輝度画素デー
タマトリックスによって表される画像の位置の変化を、
前フレームの対応するブロックサイズ輝度画素データマ
トリックスから効率的に予測する方法を示すフローチャ
ートである。
【図6】図5のフローチャートをもっと詳細に示すフロ
ーチャートである。
【図7】図6に示した変数の相対的な範囲を示す図であ
る。
【図8】本発明の方法を固定ステップ法と比較するため
のビデオ画像フレームの例を示す図である。
【図9】固定ステップ法を用いた、図8のマクロブロッ
クiに関連するサーチ手順(従来技術)を示す図であ
る。
【図10】AMESSADアルゴリズムにより行われ
る、図8のマクロブロックiのためのワンステップサー
チを示す図である。
【図11】図8のマクロブロックjのための固定ステッ
プサーチ手順(従来技術)を示す図である。
【図12】図8のマクロブロックjのサーチのためのA
MESSADアルゴリズムによって決定されるサーチパ
スを示す図である。
【図13】図8のマクロブロックkのための、AMES
SADおよび固定ステップアルゴリズムの両方によって
決定される同じサーチパスを示す図である。
【符号の説明】
60 マクロブロックi 62 マクロブロックj 64 マクロブロックk

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 一連のフレームによってビデオシーケン
    スを表すデジタルビデオシステム圧縮フォーマットであ
    って、該一連のフレームは前フレームおよび該前フレー
    ムに続く現フレームを含み、該一連のフレームは全て所
    定の時間間隔で分離されており、該フレームは所定の位
    置を持つ複数のブロックに分割され、各ブロックは所定
    の輝度ピクセ輝度トリクスを含むサイズを有する、デジ
    タルビデオシステム圧縮フォーマットにおいて、該現フ
    レームにおける一連のブロック内の輝度画素データマト
    リクスによって表される画像の、該前フレームにおける
    対応するブロックサイズの該輝度画素データマトリクス
    からの位置変化を効果的に予測する方法であって、 a)該現フレーム内で第1のブロックを選択するステッ
    プと、 b)該現フレーム内の該第1のブロックに対応する初期
    候補マトリクスとして、該前フレーム内のブロックサイ
    ズの該輝度ピクセ輝度トリクスを選択するステップと、 c)前ブロック位置変化予測値から導出されるフレーム
    間の輝度画素データの短期平均比較値を与えるステップ
    と、 d)該ステップc)で与えられた輝度画素データの短期
    平均比較値に応じて、該候補マトリクスを中心とするサ
    ーチウィンドウサイズを計算するステップと、 e)該サーチウィンドウ内で均一に分布した複数のブロ
    ックサイズの輝度ピクセ輝度トリクスからの該輝度画素
    データを、該現フレーム内の第1のブロックの該輝度画
    素データと比較して、該現フレーム内の該第1のブロッ
    クの該輝度画素データに最も類似する輝度画素データを
    有する新たな候補マトリクスを選択するステップであっ
    て、これにより該サーチウィンドウサイズがフレーム間
    の動きの履歴と共に変化するステップと、を包含する方
    法。
  2. 【請求項2】 前記サーチウィンドウ内のブロックサイ
    ズのマトリクス間の最小間隔が与えられ、前記ステップ
    e)の後に、 f)該ステップe)を実行する度に該サーチウィンドウ
    内に位置する複数のブロックサイズのマトリクス間の間
    隔を低減するステップと、 g) 1)該複数のブロックサイズのマトリクス間の該間隔が
    該最小間隔以上である場合には該ステップe)に戻り、 2)該複数のブロックサイズのマトリクス間の該間隔が
    該最小間隔未満である場合には次に進むようにして、 該サーチを反復するステップと、 h)該ステップe)を最後に実行したときに選択された
    最終候補マトリクスの輝度画素データを、前記現フレー
    ム内の前記第1のブロックの輝度画素データと比較し
    て、輝度画素データの最終比較値を計算し、これにより
    該最終候補マトリクスと該第1のブロックとの間のブロ
    ック位置の差によってフレーム間の動きを記述するベク
    トルを与えるステップと、をさらに包含する、請求項1
    に記載の方法。
  3. 【請求項3】 前記ステップh)の後に、 i)該ステップh)で計算された前記輝度画素データの
    最終比較値で、前記輝度画素データの短期平均比較値を
    更新するステップであって、これにより、次回の位置変
    化予測の前記ステップc)のために該短期平均値が更新
    されるステップ、をさらに包含する請求項2に記載の方
    法。
  4. 【請求項4】 前記ステップi)の後に、 j)該ステップi)において更新された前記輝度画素デ
    ータの短期平均比較値で、サーチウィンドウサイズの長
    期平均値を更新するステップと、 c1)前記ステップc)の後で、前記ステップd)の前
    に、該サーチウィンドウサイズの長期平均値を与えるス
    テップと、をさらに包含し、 該ステップd)は、該サーチウィンドウサイズの長期平
    均値に応じて該サーチウィンドウサイズを計算するステ
    ップを含み、これにより、次回のブロック位置変化予測
    の前記ステップc1)の準備のために該長期平均値が該
    ステップj)において更新される、 請求項3に記載の方法。
  5. 【請求項5】 前記ステップj)の後に、 k)前記ステップh)で計算された前記輝度画素データ
    の最終比較値で、輝度画素データの長期平均比較値を更
    新し、これにより前記第1のブロックの前記位置変化予
    測値で該長期平均値を更新するステップをさらに包含
    し、 該ステップj)は、該輝度画素データの長期平均値に応
    じて該長期平均サーチウィンドウサイズを更新するステ
    ップを含む、請求項4に記載の方法。
  6. 【請求項6】 前記ステップe)は、前記サーチウィン
    ドウ内の前記複数のブロックサイズのマトリクスのそれ
    ぞれと前記現フレーム内の前記第1のブロックとの間に
    おける輝度画素データの差の絶対値の和(SAD)の計
    算を行うことによって輝度画素データを比較するステッ
    プを含み、最小のSADを持つブロックサイズのマトリ
    クスが、前記ステップe)〜f)の次回の実行時の候補
    マトリクスとして選択され、前記ステップh)は、前記
    輝度画素データの最終比較値として該最小SAD(SA
    D_min)を用いて該ブロックサイズのマトリクスの
    計算を行うステップを含む、請求項5に記載の方法。
  7. 【請求項7】 前記ステップb)の後で、前記ステップ
    c)の前に、 b1)該ステップb)で選択された前記初期候補マトリ
    クスと、前記現フレーム内の前記第1のブロックとの間
    のSADを計算することによりSAD_initを導出
    するステップをさらに包含し、 前記ステップd)は、該ステップb1)で計算されたS
    AD_initに応じて前記サーチウィンドウサイズを
    計算するステップを含む、請求項6に記載の方法。
  8. 【請求項8】 前記ステップk)は、輝度画素データの
    長期平均比較値として長期平均値(SAD_aveL
    T)を含み、該ステップk)は、前記ステップh)で計
    算されたSAD_minでSAD_aveLTを更新す
    るステップを含み、これにより、前記第1のブロックの
    位置変化が予測された後にSAD値でSAD_aveL
    Tが更新される、請求項7に記載の方法。
  9. 【請求項9】 前記ステップd)は、前記ブロックサイ
    ズのマトリクス間の間隔が前記最小間隔になるまでに必
    要な前記ステップe)〜f)の反復回数(ME_ste
    p)で前記サーチウィンドウサイズを規定するステップ
    を含み、該ステップe)は、該ME_stepの値に応
    じて、該サーチウィンドウ内で比較される該複数のブロ
    ックサイズマトリクスを初期的に分布させるステップを
    含む、請求項8に記載の方法。
  10. 【請求項10】 前記ステップi)は、前記輝度画素デ
    ータの短期平均比較値としてSADの短期平均値(SA
    D_ave)を含み、該ステップi)は、前記ステップ
    h)で計算されたSAD_minでSAD_aveを更
    新するステップを含み、これにより、前記第1のブロッ
    クの位置変化が予測された後にSAD値でSAD_av
    eが更新される、請求項9に記載の方法。
  11. 【請求項11】 前記ステップi)は、1フレーム内の
    ブロック数に応じてSAD_aveを計算するステップ
    を含み、前記ステップk)は、複数のフレーム内の合計
    ブロック数に応じてSAD_aveLTを計算するステ
    ップを含む、請求項10に記載の方法。
  12. 【請求項12】 前記ステップb)は、隣接ブロックに
    ついて前に予測した位置変化に応じて前記初期候補マト
    リクスを選択するステップを含み、これにより、該第1
    のブロックの該予測処理を開始するために中間予測が用
    いられる、請求項11に記載の方法。
  13. 【請求項13】 前記ステップb)は、前記前フレーム
    内の前記第1のブロックについて前に予測した位置変化
    に応じて前記初期候補マトリクスを選択するステップを
    含み、これにより、該第1のブロックの該予測処理を開
    始するために中間予測が用いられる、請求項11に記載
    の方法。
  14. 【請求項14】 前記ステップe)は、整数個の画素間
    隔によって均一に分割された、前記サーチウィンドウ内
    の少なくとも8個のブロックサイズマトリクスからの輝
    度画素データを比較するステップを含む、請求項11に
    記載の方法。
  15. 【請求項15】 前記輝度画素ブロックはそれぞれ16
    ×16個の輝度画素を含むマクロブロックであり、前記
    ステップd)は、最大5のME_stepを使用し、前
    記ステップg)は、最大5回の前記ステップe)〜f)
    の反復を含む、請求項14に記載の方法。
  16. 【請求項16】 前記ステップi)の後に、 l)前記ステップh)で計算されたSAD_minと、
    該ステップi)において更新されたSAD_aveと、
    1フレーム内のマクロブロック数とに応じて、SADの
    分散(SAD_var)を計算するステップと、 c2)前記ステップc)の後で、前記ステップd)の前
    に、SAD_varを与えるステップとをさらに包含
    し、 該ステップd)は、該SAD_varに応じてME_s
    tepを計算するステップを含み、これにより、次回の
    ブロック位置変化予測の前記ステップc2)の準備のた
    めにSAD_varが該ステップl)において更新され
    る、請求項15に記載の方法。
  17. 【請求項17】 前記ステップi)が以下に示すSAD
    _aveの計算を含み、 (SAD_ave)=((numMB−1)(SAD_
    ave)0+SAD_min)/numMB (SAD_ave)0は前回のマクロブロック位置変化
    予測からのSAD_aveであり、numMBは1フレ
    ーム内のマクロブロック数である、請求項16に記載の
    方法。
  18. 【請求項18】 前記ステップk)が以下に示すSAD
    _aveLTの計算を含み、 (SAD_aveLT)=((numMBsLT−1)
    (SAD_aveLT) 0+SAD_min)/num
    MBsLT (SAD_aveLT)0は前回のマクロブロック位置
    変化予測で計算されたSAD_aveLTであり、nu
    mMBsLTは複数のフレーム内の合計ブロック数であ
    る、請求項17に記載の方法。
  19. 【請求項19】 前記ステップd)が以下に示すME_
    stepの計算を含む、請求項18に記載の方法 a)もし、SAD_init<SAD_ave−SAD
    _varである場合には、ME_step=ME_st
    epAVE−2とし、 b)そうでない場合にもし、SAD_init<SAD
    _aveである場合には、ME_step=ME_st
    epAVE−1とし、 c)そうでない場合にもし、SAD_init<SAD
    _ave+SAD_varである場合には、ME_st
    ep=ME_stepAVEとし、 d)そうでない場合にもし、SAD_init<SAD
    _ave+2(SAD_var)である場合には、ME
    _step=ME_stepAVE+1とし、 e)そうでない場合には、ME_step=ME_st
    epAVE+2とする。
  20. 【請求項20】 ME_stepAVEは4の値で初期
    化され、前記ステップj)が以下に示すME_step
    AVEの計算の更新を含む、請求項19に記載の方法 a)もし、SAD_ave>a0(SAD_aveL
    T)/a1である場合には、ME_stepAVE=M
    E_stepAVE+1とし、 b)そうでない場合にもし、SAD_ave<a2(S
    AD_aveLT)/a1である場合には、ME_st
    epAVE=ME_stepAVE−1とする(但し、
    0>a1>a2>0である)。
  21. 【請求項21】 ステップj)において、a0の値が1
    0であり、a1の値が8であり、a2の値が7である、請
    求項20に記載の方法。
  22. 【請求項22】 前記ステップe)は、前記ステップ
    d)で計算された前記ME_stepの値を用いて、前
    記サーチウィンドウ内の隣接するマクロブロックサイズ
    のマトリクスの中心を初期的に分離する画素数であるs
    を計算するステップを含み、sは、 s=2(ME#step-1)として計算され、 前記ステップf)は、該sの値を2で割ることにより、
    該ステップe)〜f)を実行する度に該サーチウィンド
    ウ内のマクロブロック間の間隔を低減するステップを含
    む、請求項20に記載の方法。
  23. 【請求項23】 前記ステップl)は以下のようにSA
    D_varを計算するステップを含み、 SAD_var=√[((numMB−1)*((SA
    D_var)02+(SAD_min−SAD_av
    e)2)/numMB] (SAD_var)0は、前回のマクロブロック位置変
    化予測からのSAD_varである、請求項20に記載
    の方法。
  24. 【請求項24】 一連のフレームによってビデオシーケ
    ンスを表すデジタルビデオシステム圧縮フォーマットで
    あって、該一連のフレームは前フレームおよび該前フレ
    ームに続く現フレームを含み、該一連のフレームは全て
    所定の時間間隔で分離されており、該フレームは所定の
    位置を持つ複数のブロックに分割され、各ブロックは所
    定の輝度ピクセ輝度トリクスを含むサイズを有する、デ
    ジタルビデオシステム圧縮フォーマットにおいて、該現
    フレームにおける一連のブロック内の輝度画素データマ
    トリクスによって表される画像の、該前フレームにおけ
    る対応するブロックサイズの輝度画素データマトリクス
    からの位置変化を効果的に予測する方法であって、 a)該現フレーム内で第1のブロックを選択するステッ
    プと、 b)該現フレーム内の該第1のブロックに対応する初期
    候補マトリクスとして、該前フレーム内のブロックサイ
    ズの輝度ピクセ輝度トリクスを選択するステップと、 c)前ブロック位置変化予測値から求められるフレーム
    間の輝度画素データの短期平均比較値を与えるステップ
    と、 d)サーチパターンを規定するために該ステップc)で
    与えられた該短期平均値を用いて、該候補マトリクスの
    周囲の輝度画素エリア内をサーチして該第1のブロック
    の輝度画素データと比較して最も近いブロックサイズの
    最終候補マトリクスを見つけるステップであって、これ
    により、位置変化の履歴によって該サーチパターンが規
    定されるステップと、を包含する方法。
  25. 【請求項25】 前記ステップd)の後に、 e)前記第1のブロックの前記輝度画素データの比較値
    および該ステップd)で計算された前記最終候補マトリ
    クスで、前記輝度画素データの短期平均比較値を更新す
    るステップであって、これにより、次回のブロック位置
    変化予測の前記ステップc)の準備のために該短期平均
    値が変更されるステップ、さらに包含する、請求項24
    に記載の方法。
  26. 【請求項26】 前記ステップd)の後に、 f)前記第1のブロックの輝度画素データの比較値およ
    び該ステップd)で計算された前記最終候補マトリクス
    で、輝度画素データの長期平均比較値を更新するステッ
    プ、をさらに包含する、請求項25に記載の方法。
  27. 【請求項27】 g)前記ステップf)の後に、前記ス
    テップe)で更新された前記輝度画素データの短期平均
    比較値と、該ステップf)で更新された前記輝度画素デ
    ータの長期平均比較値とに応じて、サーチパターンサイ
    ズの長期平均値を更新するステップと、 c1)前記ステップc)の後で、前記ステップd)の前
    に、サーチパターンサイズの長期平均値を与えるステッ
    プと、をさらに包含し、 該ステップd)は、該サーチパターンサイズの該長期平
    均値に応じて該サーチパターンを規定するステップを含
    む、請求項26に記載の方法。
  28. 【請求項28】 前記ステップd)は、前記サーチウィ
    ンドウ内の前記複数のブロックサイズのマトリクスのそ
    れぞれと前記現フレーム内の前記第1のブロックとの間
    における輝度画素データの差の絶対値の和(SAD)の
    計算を行うことによって輝度画素データを比較するステ
    ップを含み、最小SAD(SAD_min)を持つブロ
    ックサイズのマトリクスの計算は、該第1のブロックと
    前記最終候補マトリクスとの間での輝度画素データの比
    較である、請求項27に記載の方法。
  29. 【請求項29】 前記ステップc)は、輝度画素データ
    の短期平均比較値としてSADの短期平均値(SAD_
    ave)を含み、該ステップe)は、前記ステップd)
    で計算されたSAD_minでSAD_aveを更新す
    るステップを含み、これにより、次回のブロック位置変
    化予測の該ステップc)の準備のために、該SAD_a
    veが該ステップe)におけるSAD値で更新される、
    請求項28に記載の方法。
  30. 【請求項30】 前記ステップf)は、輝度画素データ
    の長期平均比較値として長期平均値(SAD_aveL
    T)を含み、該ステップf)は、前記ステップd)で計
    算されたSAD_minでSAD_aveLTを更新す
    るステップを含み、これにより、前記ステップg)のた
    めに、SAD_aveLTが該ステップf)におけるS
    AD値で更新される、請求項29に記載の方法。
  31. 【請求項31】 前記ステップe)は、1フレーム内の
    ブロック数に応じてSAD_aveを更新するステップ
    を含み、前記ステップf)は、複数のフレーム内の合計
    ブロック数に応じてSAD_aveLTを更新するステ
    ップを含む、請求項30に記載の方法。
  32. 【請求項32】 前記ステップb)は、隣接ブロックに
    ついて前に予測した位置変化に応じて前記初期候補マト
    リクスを選択するステップを含み、これにより、前記第
    1のブロックの前記予測処理を開始するために中間予測
    が用いられる、請求項31に記載の方法。
  33. 【請求項33】 前記ステップb)は、前記前フレーム
    内の前記第1のブロックについて前に予測した位置変化
    に応じて前記初期候補マトリクスを選択するステップを
    含み、これにより、該第1のブロックの該予測処理を開
    始するために中間予測が用いられる、請求項31に記載
    の方法。
  34. 【請求項34】 前記ステップe)の後に、 h)前記ステップd)で計算されたSAD_minと、
    該ステップe)において更新されたSAD_aveと、
    1フレーム内のマクロブロック数とに応じて、SADの
    分散(SAD_var)を計算するステップと、 c2)前記ステップc)の後で、前記ステップd)の前
    に、SAD_varを与えるステップとをさらに包含
    し、 該ステップd)は、該SAD_varに応じて前記サー
    チパターンを規定するステップを含む、請求項31に記
    載の方法。
  35. 【請求項35】 一連のフレームによってビデオシーケ
    ンスを表すデジタルビデオシステム圧縮フォーマットで
    あって、該一連のフレームは前フレームおよび該前フレ
    ームに続く現フレームを含み、該一連のフレームは全て
    所定の時間間隔で分離されており、該フレームは所定の
    位置を持つ複数のマクロブロックに分割され、各マクロ
    ブロックは、16×16の輝度ピクセ輝度トリクスを含
    むサイズを有するデジタルビデオシステム圧縮フォーマ
    ットにおいて、該現フレームにおける一連のマクロブロ
    ック内の輝度画素データマトリクスによって表される画
    像の、該前フレームにおける対応するマクロブロックサ
    イズの輝度画素データマトリクスからの位置変化を効果
    的に予測する方法であって、 a)該現フレーム内で該一連のマクロブロックの中から
    次のマクロブロックを選択するステップと、 b)隣接ブロックについて前に予測した位置変化に応じ
    て、該ステップa)で選択されたマクロブロックに対応
    する初期候補マトリクスとして該前フレーム内のマクロ
    ブロックサイズの輝度ピクセ輝度トリクスを選択し、こ
    れにより第1のブロックの予測処理を開始するために中
    間予測が用いられるステップと、 c)該ステップa)で選択されたマクロブロックと、該
    ステップb)で選択された初期候補マトリクスとの間の
    SAD(SAD_init)を計算するステップと、 d)前ブロック位置変化予測値から導出されるフレーム
    間の輝度画素データの短期平均比較値SAD(SAD_
    ave)を与えるステップと、 e)複数のマクロブロック位置変化予測値によって求め
    られるME_stepの長期平均(ME_stepAV
    E)を与えるステップと、 f)以前の位置変化予測値から導出されるSADの分散
    (SAD_var)を与えるステップと、 g)ブロックサイズのマトリクス間の間隔が最小間隔に
    なるまでに必要なサーチの反復回数(ME_step)
    を計算するステップであって、該ME_stepの計算
    は、SAD_init、SAD_ave、ME_ste
    pAVEおよびSAD_varの値に応じて行われるス
    テップと、 h)該ステップg)で計算された該ME_stepの値
    に応じて、可能性のある候補マトリクス間の初期間隔
    (s)を計算するステップと、 i)該ステップa)で選択されたマクロブロックと、隣
    接するマトリクスの中心間の間隔がsである少なくとも
    8つの均一に分布したマクロブロックサイズのマトリク
    スとの間のSADを計算し、これにより、最小SAD
    (SAD_min)を持つ新たな候補マトリクスの位置
    を特定するステップと、 j) 1)sが該最小間隔以上である場合には、sを2で割っ
    てsの値を新たな値にして該ステップi)へと進み、 2)sが該最小間隔未満である場合には、次に進むよう
    にして、 該サーチ処理を反復するステップと、 k)該ステップi)の最後の実行時に最終候補マトリク
    スを選択して、該ステップa)で選択された該ブロック
    と比較し、これにより、SAD_minを計算するステ
    ップと、 l)次のマクロブロックの位置変化予測において該ステ
    ップg)でME_stepを計算する際に使用するため
    に、該SAD_minでSAD_ave、ME_ste
    pAVEおよびSAD_varを更新するステップと、 m)該ステップa)に進み、該一連のマクロブロックの
    中の該ステップa)で選択されたマクロブロックの次の
    マクロブロックについて該位置変化予測処理を繰り返す
    ステップであって、これにより1回の位置変化予測に必
    要なサーチ反復回数は、それまでに予測を行ったマクロ
    ブロックにおけるSADの履歴に応じて変化するステッ
    プと、を包含する方法。
JP29120098A 1997-10-13 1998-10-13 画像の位置変化サーチ方法 Expired - Fee Related JP3793657B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/949,303 US6014181A (en) 1997-10-13 1997-10-13 Adaptive step-size motion estimation based on statistical sum of absolute differences
US08/949.303 1997-10-13

Publications (2)

Publication Number Publication Date
JPH11215503A true JPH11215503A (ja) 1999-08-06
JP3793657B2 JP3793657B2 (ja) 2006-07-05

Family

ID=25488879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29120098A Expired - Fee Related JP3793657B2 (ja) 1997-10-13 1998-10-13 画像の位置変化サーチ方法

Country Status (2)

Country Link
US (1) US6014181A (ja)
JP (1) JP3793657B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152760A (ja) * 2000-10-11 2002-05-24 Samsung Electronics Co Ltd ハイブリッド型高速動き推定方法及びその装置
KR100860988B1 (ko) 2005-12-05 2008-09-30 삼성전자주식회사 시퀀스들에서의 객체 탐지를 위한 방법 및 장치
US7953154B2 (en) 2005-05-06 2011-05-31 Hitachi, Ltd. Image coding device and image coding method
KR20140095607A (ko) * 2013-01-23 2014-08-04 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20200013254A (ko) * 2020-01-21 2020-02-06 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20200126954A (ko) * 2020-01-21 2020-11-09 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20210093818A (ko) * 2020-10-28 2021-07-28 한국전자통신연구원 인터 예측 방법 및 그 장치
CN113994699A (zh) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
US12075031B2 (en) 2019-06-06 2024-08-27 Beijing Bytedance Network Technology Co., Ltd Interactions between sub-block based intra block copy and different coding tools
US12088786B2 (en) 2019-06-22 2024-09-10 Beijing Bytedance Network Technology Co., Ltd Motion candidate list construction for intra block copy mode

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2311184A (en) * 1996-03-13 1997-09-17 Innovision Plc Motion vector field error estimation
JP3774954B2 (ja) * 1996-10-30 2006-05-17 株式会社日立製作所 動画像の符号化方法
AU719060B2 (en) * 1997-02-28 2000-05-04 Matsushita Electric Industrial Co., Ltd. Motion picture converting apparatus
US7298425B2 (en) * 1998-03-26 2007-11-20 Micron Technology, Inc. Method for assisting video compression in a computer system
US6987545B1 (en) 1998-03-26 2006-01-17 Micron Technology, Inc. Apparatus for assisting video compression in a computer system
US6128047A (en) * 1998-05-20 2000-10-03 Sony Corporation Motion estimation process and system using sparse search block-matching and integral projection
WO2000022833A1 (en) * 1998-10-13 2000-04-20 Stmicroelectronics Asia Pacific Pte Ltd Motion vector detection with local motion estimator
US6081209A (en) * 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
US6243494B1 (en) * 1998-12-18 2001-06-05 University Of Washington Template matching in 3 dimensions using correlative auto-predictive search
US6301387B1 (en) * 1998-12-18 2001-10-09 University Of Washington Template matching using correlative auto-predictive search
US6389072B1 (en) * 1998-12-23 2002-05-14 U.S. Philips Corp. Motion analysis based buffer regulation scheme
KR100305582B1 (ko) * 1999-02-22 2001-11-05 이형도 영상복잡도에 기초한 적응 매칭스캔을 이용한 움직임 고속예측방법
IT1313382B1 (it) * 1999-03-18 2002-07-23 St Microelectronics Srl Stima del moto ricorsiva spazio temporale con sottocampionamento ad 1/2 di macroblocco e ad 1/4 di pixel
CN1166213C (zh) * 1999-04-30 2004-09-08 皇家菲利浦电子有限公司 选择b帧编码模式的视频编码方法和系统
US6665342B1 (en) * 1999-07-02 2003-12-16 International Business Machines Corporation System and method for producing a still image representation of a motion video
KR100601618B1 (ko) * 1999-08-27 2006-07-14 삼성전자주식회사 계층적 움직임 추정기를 위한 최적의 데이터 공급장치 및 그방법
US7072398B2 (en) * 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
US6687410B1 (en) * 2000-02-07 2004-02-03 Sun Microsystems, Inc. Method and apparatus for compression and decompression of data
KR100619377B1 (ko) * 2000-02-22 2006-09-08 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
EP1134981A1 (en) * 2000-03-17 2001-09-19 STMicroelectronics S.r.l. Automatic setting of optimal search window dimensions for motion estimation
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
EP1511311B1 (en) * 2003-08-26 2007-04-04 STMicroelectronics S.r.l. Method and system for de-interlacing digital images, and computer program product therefor
US7663695B2 (en) * 2000-05-05 2010-02-16 Stmicroelectronics S.R.L. Method and system for de-interlacing digital images, and computer program product therefor
KR100782800B1 (ko) * 2000-07-28 2007-12-06 삼성전자주식회사 움직임 추정 방법
US7054500B1 (en) 2000-12-06 2006-05-30 Realnetworks, Inc. Video compression and decompression system with postfilter to filter coding artifacts
FI109634B (fi) * 2001-02-16 2002-09-13 Hantro Products Oy Menetelmä ja laite videokuvan koodaamiseksi
US6782052B2 (en) 2001-03-16 2004-08-24 Sharp Laboratories Of America, Inc. Reference frame prediction and block mode prediction for fast motion searching in advanced video coding
US20020136302A1 (en) * 2001-03-21 2002-09-26 Naiqian Lu Cascade window searching method and apparatus
US7043058B2 (en) * 2001-04-20 2006-05-09 Avid Technology, Inc. Correcting motion vector maps for image processing
JP4299123B2 (ja) * 2001-07-10 2009-07-22 エヌエックスピー ビー ヴィ 動き推定のための装置及び方法並びに斯かる動き推定装置が備えられた画像処理装置
JP3810657B2 (ja) * 2001-07-31 2006-08-16 松下電器産業株式会社 運動物体検出方法および装置
US7042439B2 (en) * 2001-11-06 2006-05-09 Omnivision Technologies, Inc. Method and apparatus for determining relative movement in an optical mouse
FI110745B (fi) * 2001-11-13 2003-03-14 Hantro Products Oy Menetelmä ja laite peräkkäisten kuvien koodaamiseksi
JP2003169336A (ja) * 2001-12-03 2003-06-13 Monolith Co Ltd 画像マッチング方法および装置
KR100450746B1 (ko) * 2001-12-15 2004-10-01 한국전자통신연구원 계층탐색 기반의 혼합형 움직임 추정 장치 및 방법
CN100395959C (zh) * 2002-01-16 2008-06-18 科纳斯通集团有限公司 优化的数据传输系统和方法
KR100833228B1 (ko) * 2002-02-21 2008-05-28 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
EP1361541B1 (en) * 2002-04-09 2011-06-22 STMicroelectronics Srl Process and device for global motion estimation in a sequence of images, for instance for optical mice
TW526657B (en) * 2002-04-12 2003-04-01 Univ Nat Taiwan Global elimination algorithm for motion estimation and the hardware structure
US7940844B2 (en) * 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
US7742525B1 (en) 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
US7239721B1 (en) * 2002-07-14 2007-07-03 Apple Inc. Adaptive motion estimation
US7769084B1 (en) 2002-07-15 2010-08-03 Apple Inc. Method for implementing a quantizer in a multimedia compression and encoding system
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7072399B2 (en) * 2002-07-17 2006-07-04 Lsi Logic Corporation Motion estimation method and system for MPEG video streams
US20040062308A1 (en) * 2002-09-27 2004-04-01 Kamosa Gregg Mark System and method for accelerating video data processing
US6757434B2 (en) * 2002-11-12 2004-06-29 Nokia Corporation Region-of-interest tracking method and device for wavelet-based video coding
US7940843B1 (en) 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7804897B1 (en) 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
US7519115B2 (en) * 2003-03-31 2009-04-14 Duma Video, Inc. Video compression method and apparatus
KR100579493B1 (ko) * 2003-06-16 2006-05-15 삼성전자주식회사 움직임 벡터 생성 장치 및 방법
TWI227641B (en) * 2003-11-11 2005-02-01 Mediatek Inc Method and related apparatus for motion estimation
US7373023B2 (en) * 2003-11-12 2008-05-13 Northrop Grumman Guidance And Electronics Company, Inc. Method and system for generating an image
US9351013B2 (en) * 2003-11-13 2016-05-24 Qualcomm Incorporated Selective and/or scalable complexity control for video codecs
US7602849B2 (en) * 2003-11-17 2009-10-13 Lsi Corporation Adaptive reference picture selection based on inter-picture motion measurement
KR100595616B1 (ko) * 2003-11-24 2006-06-30 엘지전자 주식회사 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법
CN100353768C (zh) * 2003-11-26 2007-12-05 联发科技股份有限公司 在视频压缩系统中进行运动估测的方法及相关装置
EP1574993B1 (en) * 2004-03-11 2012-09-12 STMicroelectronics Srl Method and system for estimating motion from a sequence of bidimensional arrays of sampled values, optical mouse including such a system and computer program product therefor
EP1574994B1 (en) * 2004-03-11 2012-05-30 STMicroelectronics Srl Method and system for estimating motion from a sequence of bidimensional arrays of sampled values, optical mouse including such a system and computer program product therefor
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US20050286777A1 (en) * 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
US20060062478A1 (en) * 2004-08-16 2006-03-23 Grandeye, Ltd., Region-sensitive compression of digital video
JP4032049B2 (ja) * 2004-10-18 2008-01-16 株式会社東芝 動きベクトル検出方法及びその装置
US7715645B2 (en) * 2004-11-17 2010-05-11 Samsung Electronics Co., Ltd. Methods to estimate noise variance from a video sequence
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
WO2006123331A2 (en) * 2005-05-16 2006-11-23 Human Monitoring Ltd Monitoring method and device
US8107748B2 (en) * 2005-09-16 2012-01-31 Sony Corporation Adaptive motion search range
US7852940B2 (en) * 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding
US8406303B2 (en) * 2005-12-15 2013-03-26 Analog Devices, Inc. Motion estimation using prediction guided decimated search
GB2436656A (en) * 2006-03-31 2007-10-03 Tandberg Television Asa Computing a sliding sum of absolute differences for video signal compression
US8155195B2 (en) * 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
US20070296855A1 (en) * 2006-06-22 2007-12-27 Yunwei Jia Video processing using region-based statistical measurements
US20080018788A1 (en) * 2006-07-20 2008-01-24 Samsung Electronics Co., Ltd. Methods and systems of deinterlacing using super resolution technology
US8098898B2 (en) * 2006-10-27 2012-01-17 Panasonic Corporation Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system
JP2010509799A (ja) * 2006-11-03 2010-03-25 サムスン エレクトロニクス カンパニー リミテッド 映像の予測符号化方法及び装置、その復号化方法及び装置
KR101365567B1 (ko) * 2007-01-04 2014-02-20 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
US8929448B2 (en) * 2006-12-22 2015-01-06 Sony Corporation Inter sub-mode decision process in a transcoding operation
US20080165278A1 (en) * 2007-01-04 2008-07-10 Sony Corporation Human visual system based motion detection/estimation for video deinterlacing
US20080212687A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. High accurate subspace extension of phase correlation for global motion estimation
US8553758B2 (en) * 2007-03-02 2013-10-08 Sony Corporation Motion parameter engine for true motion
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method
JP2008301028A (ja) * 2007-05-30 2008-12-11 Fuji Xerox Co Ltd 画像処理装置及びプログラム
US8238427B2 (en) * 2008-01-17 2012-08-07 Texas Instruments Incorporated Rate distortion optimized adaptive intra refresh for video coding
US9641861B2 (en) * 2008-01-25 2017-05-02 Mediatek Inc. Method and integrated circuit for video processing
TWI477152B (zh) * 2008-06-05 2015-03-11 Univ Nat Cheng Kung 一種應用於移動估測之適應性搜尋框的大小決定方法與其應用
US8144766B2 (en) * 2008-07-16 2012-03-27 Sony Corporation Simple next search position selection for motion estimation iterative search
US8094714B2 (en) * 2008-07-16 2012-01-10 Sony Corporation Speculative start point selection for motion estimation iterative search
US20100046624A1 (en) * 2008-08-20 2010-02-25 Texas Instruments Incorporated Method and apparatus for translation motion stabilization
US8750379B2 (en) * 2008-09-11 2014-06-10 General Instrument Corporation Method and apparatus for complexity-scalable motion estimation
US8265155B2 (en) * 2009-01-05 2012-09-11 Electronics And Telecommunications Research Institute Method of block partition for H.264 inter prediction
US8976860B2 (en) * 2009-09-23 2015-03-10 Texas Instruments Incorporated Method and apparatus for determination of motion estimation search window area utilizing adaptive sliding window algorithm
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
JP2014523708A (ja) 2011-07-01 2014-09-11 モトローラ モビリティ エルエルシー 動きベクトル予測設計の簡易化
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US8805403B2 (en) * 2012-04-05 2014-08-12 Qualcomm Incorporated Automatic data accuracy maintenance in a Wi-Fi access point location database
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
TWI571828B (zh) * 2013-01-02 2017-02-21 奇高電子股份有限公司 光學導航方法以及相關裝置
JP5726220B2 (ja) * 2013-02-01 2015-05-27 株式会社半導体理工学研究センター 動き推定装置及び動き推定プログラム
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
CN106709854B (zh) * 2016-12-20 2020-02-21 西安电子科技大学 基于猫脸变换和混沌的图像信息融合加密方法
CN109064507B (zh) * 2018-08-21 2021-06-22 北京大学深圳研究生院 一种用于视频预测的多运动流深度卷积网络模型方法
CN110740331B (zh) * 2019-08-05 2023-01-31 辽宁师范大学 基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法
CN116962708B (zh) * 2023-09-21 2023-12-08 北京国旺盛源智能终端科技有限公司 一种智能服务云终端数据优化传输方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151784A (en) * 1991-04-30 1992-09-29 At&T Bell Laboratories Multiple frame motion estimation
KR940010241B1 (ko) * 1991-12-14 1994-10-22 산성전자 주식회사 이동 벡터 검출 방법
JPH07115646A (ja) * 1993-10-20 1995-05-02 Sony Corp 画像処理装置
US5537155A (en) * 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
KR0182058B1 (ko) * 1995-05-10 1999-05-01 김광호 움직임 추정을 위한 다중 해상도 순환 탐색 장치 및 그 방법

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152760A (ja) * 2000-10-11 2002-05-24 Samsung Electronics Co Ltd ハイブリッド型高速動き推定方法及びその装置
US7953154B2 (en) 2005-05-06 2011-05-31 Hitachi, Ltd. Image coding device and image coding method
KR100860988B1 (ko) 2005-12-05 2008-09-30 삼성전자주식회사 시퀀스들에서의 객체 탐지를 위한 방법 및 장치
KR20140095607A (ko) * 2013-01-23 2014-08-04 한국전자통신연구원 인터 예측 방법 및 그 장치
US12075031B2 (en) 2019-06-06 2024-08-27 Beijing Bytedance Network Technology Co., Ltd Interactions between sub-block based intra block copy and different coding tools
CN113994699A (zh) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
US12081766B2 (en) 2019-06-06 2024-09-03 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for video coding
CN113994699B (zh) * 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
US12088786B2 (en) 2019-06-22 2024-09-10 Beijing Bytedance Network Technology Co., Ltd Motion candidate list construction for intra block copy mode
KR20200013254A (ko) * 2020-01-21 2020-02-06 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20200126954A (ko) * 2020-01-21 2020-11-09 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20210093818A (ko) * 2020-10-28 2021-07-28 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20230031862A (ko) * 2020-10-28 2023-03-07 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20220044258A (ko) * 2020-10-28 2022-04-07 한국전자통신연구원 인터 예측 방법 및 그 장치

Also Published As

Publication number Publication date
JP3793657B2 (ja) 2006-07-05
US6014181A (en) 2000-01-11

Similar Documents

Publication Publication Date Title
JP3793657B2 (ja) 画像の位置変化サーチ方法
KR101932735B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
US6418166B1 (en) Motion estimation and block matching pattern
KR100582856B1 (ko) 움직임 추정 및 움직임 보상된 보간법
EP0762776B1 (en) A method and apparatus for compressing video information using motion dependent prediction
JP3836559B2 (ja) ディジタルビデオ符号化器における動き推定方法
KR950009699B1 (ko) 움직임벡터 검출방법 및 장치
KR100246167B1 (ko) 듀얼프라임 움직임 추정시스템 및 방법
US20050226329A1 (en) Motion estimation method using multilevel succesive elimination algorithm
US5574663A (en) Method and apparatus for regenerating a dense motion vector field
Bartolini et al. A segmentation-based motion-compensated scheme for low-rate video coding
KR100635009B1 (ko) 화면 전체의 움직임을 고려한 움직임예측방법 및 그 장치
KR101037743B1 (ko) 효율적인 조기중단 기법을 사용하는 움직임 추정 방법 및 이를 이용한 비디오 인코딩 장치
Chriqui et al. Survey of motion estimation techniques for video compression
KR101543200B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
Lu et al. Dual prediction based fractional pixel motion estimation for video coding
Mani et al. A fast block motion estimation algorithm based on motion adaptive partitioning
KR20040084327A (ko) 적응적 탐색 영역을 이용한 움직임 예측 방법
GB2341030A (en) Video motion estimation
WO2006082378A1 (en) Motion estimator
KR19990055385A (ko) 부호화 알고리즘 선택 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060209

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: 20060324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees