(57)【要約】手短に言えば、本発明の一実施形態に従って、以下を含むビデオ・コーディング用の動き推定を実施するための方法である。中間動きベクトル構成要素は、動きベクトルを含む近傍の一組のマクロブロックから決定される。最も近い一致を生み出すピクセル位置を見つけるために、決定された中間動きベクトル構成要素を適用することに関連付けられたピクセル位置を中心とする所定サイズのウィンドウがサーチされる。この特定の実施形態以外の、本発明に従った他の多くの実施形態についても開示される。
2004501582.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ・コーディング用の動き推定を実施する方法であって、
動きベクトルを含む近傍の一組のマクロブロックから中間動きベクトル構成要素を決定することと、
最も近い一致を生み出すピクセル位置を見つけるために、決定された中間動きベクトル構成要素を適用することに関連付けられたピクセル位置を中心とする、所定のサイズのウィンドウをサーチすることを含む方法。
【請求項２】
サーチに、ゼロ値の構成要素を有する動きベクトルに関連付けられたピクセル位置のサーチが含まれる請求項１に記載の方法。
【請求項３】
動きベクトル推定がビデオ・フレームの所定の部分に適用される請求項２に記載の方法。
【請求項４】
ビデオ・フレームの所定の部分が特定のマクロブロックを含み、
さらに、
少なくとも一部は、中間動きベクトル構成要素と、潜在的なピクセル位置から最も近い一致を生み出すピクセル位置との差に基づいて、特定のマクロブロックに対して動きベクトルをコーディングすることを含む請求項３に記載の方法。
【請求項５】
中間動きベクトル構成要素が水平の動きベクトル構成要素と垂直の動きベクトル構成要素を含む請求項２に記載の方法。
【請求項６】
近傍の一組のマクロブロックが以前にコーディングされた３つのマクロブロックを含む請求項２に記載の方法。
【請求項７】
以前にコーディングされた３つのマクロブロックが、直前にコーディングされた３つのマクロブロックを含む請求項６に記載の方法。
【請求項８】
最も近い一致を生み出すピクセル位置が、潜在的なピクセル位置のそれぞれのピクセル位置に絶対差和を適用することによって決定される請求項２に記載の方法。
【請求項９】
最も近い一致が輝度ピクセル信号値の最も近い一致を含む請求項８に記載の方法。
【請求項１０】
最も近い一致を生み出すピクセル位置が、潜在的なピクセル位置のそれぞれのピクセル位置に平均平方誤差（ＭＳＥ）を適用することによって決定される請求項２に記載の方法。
【請求項１１】
中間動きベクトル構成要素が、それぞれ他方の構成要素とは無関係に近傍の一組のマクロブロックから決定される請求項１に記載の方法。
【請求項１２】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の異なるマクロブロックから生じる場合、ウィンドウが５ピクセル×５ピクセルのウィンドウを含む請求項１１に記載の方法。
【請求項１３】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の異なるマクロブロックから生じる場合、動きベクトル構成要素の領域が算出される請求項１１に記載の方法。
【請求項１４】
特定構成要素の領域が所定の値に等しいかまたはこれよりも下である場合、サーチされるウィンドウはその特定構成要素方向に３ピクセル長さ、そうでない方向に５ピクセル長さである請求項１３に記載の方法。
【請求項１５】
所定の値が３ピクセルである請求項１４に記載の方法。
【請求項１６】
特定構成要素の領域が所定の値よりも下である場合、サーチされるウィンドウはその特定構成要素方向に所定の整数値Ｘ、およびそうでない方向に所定の整数値Ｙであって、ＹがＸよりも大きい請求項１３に記載の方法。
【請求項１７】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の同じマクロブロックから生じる場合、ウィンドウが３ピクセル×３ピクセルのウィンドウを含む請求項１１に記載の方法。
【請求項１８】
記憶させる記憶媒体と、コンピューティング・プラットフォームによって実行可能な命令とを含む製品であって、前記命令が、前記プラットフォームによって実行された場合、結果的に
動きベクトルを含む近傍の一組のマクロブロックから中間動きベクトル構成要素を決定することと、
最も近い一致を生み出すピクセル位置を見つけるために決定された中間動きベクトル構成要素を適用することに関連付けられたピクセル位置を中心とする所定サイズのウィンドウをサーチすることを実施する製品。
【請求項１９】
サーチに、ゼロ値の構成要素を有する動きベクトルに関連付けられたピクセル位置のサーチが含まれる請求項１８に記載の製品。
【請求項２０】
命令が、実行されると結果的に少なくとも一部は潜在的なピクセル位置から最も近い一致を生み出すピクセル位置に基づいて推定される特定マクロブロック用の動きベクトルを生じさせ、
さらに、
少なくとも一部は、中間動きベクトル構成要素と、潜在的なピクセル位置から最も近い一致を生み出すピクセル位置との差に基づいて、特定のマクロブロック用に動きベクトルをコーディングする請求項１９に記載の製品。
【請求項２１】
最も近い一致を生み出すピクセル位置が、潜在的なピクセル位置のそれぞれのピクセル位置に絶対差和を適用することによって決定される請求項２０に記載の製品。
【請求項２２】
最も近い一致が輝度ピクセル信号値の最も近い一致を含む請求項２１に記載の製品。
【請求項２３】
中間動きベクトル構成要素がそれぞれ他方の構成要素とは無関係に近傍の一組のマクロブロックから決定される請求項１８に記載の製品。
【請求項２４】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の異なるマクロブロックから生じる場合、ウィンドウが５ピクセル×５ピクセルのウィンドウを含む請求項２３に記載の製品。
【請求項２５】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の異なるマクロブロックから生じる場合、動きベクトル構成要素の領域が算出される請求項２３に記載の製品。
【請求項２６】
特定構成要素の領域が所定の値に等しいかまたはこれよりも下である場合、サーチされるウィンドウはその特定構成要素方向に３ピクセル長さ、そうでない方向に５ピクセル長さである請求項２５に記載の製品。
【請求項２７】
特定構成要素の領域が所定の値よりも下である場合、サーチされるウィンドウはその特定構成要素方向に所定の整数値Ｘピクセル、およびそうでない方向に所定の整数値Ｙピクセルであって、ＹがＸよりも大きい請求項２５に記載の製品。
【請求項２８】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の同じマクロブロックから生じる場合、ウィンドウが３ピクセル×３ピクセルのウィンドウを含む請求項２３に記載の製品。
【請求項２９】
動き推定を実施するためのシステムであって、
コンピューティング・プラットフォームを含み、
前記コンピューティング・プラットフォームが、動きベクトルを含む近傍の一組のマクロブロックから中間動きベクトル構成要素を生み出すように適合され、さらに動き推定を生み出すために中間動きベクトル構成要素に関連付けられたピクセル位置を中心とする所定のサイズのウィンドウをサーチするように適合されたシステム。
【請求項３０】
さらに前記プラットフォームが、ゼロ値の構成要素を有する動きベクトルに関連付けられたピクセル位置をサーチするように適合された請求項２９に記載のシステム。
【請求項３１】
さらに前記プラットフォームが、少なくとも一部は、中間動きベクトル構成要素と推定された動きベクトルとの差に基づいて特定マクロブロック用の動きベクトルをコーディングするように適合された請求項３０に記載のシステム。
【請求項３２】
前記プラットフォームが、それぞれの中間動きベクトル構成要素を、他方の構成要素とは無関係に近傍の一組のマクロブロックから決定するように適合された請求項３１に記載のシステム。
【請求項３３】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の異なるマクロブロックから生じる場合、前記プラットフォームが５ピクセル×５ピクセルのサイズのウィンドウをサーチするように適合された請求項３２に記載のシステム。
【請求項３４】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の異なるマクロブロックから生じる場合、前記プラットフォームが動きベクトル構成要素の領域を算出するように適合された請求項３２に記載のシステム。
【請求項３５】
特定構成要素の領域が所定の値に等しいかまたはこれよりも下である場合、前記プラットフォームが、その特定構成要素方向に３ピクセル長さ、そうでない方向に５ピクセル長さのウィンドウをサーチするように適合された請求項３４に記載のシステム。
【請求項３６】
特定構成要素の領域が所定の値よりも下である場合、前記プラットフォームが、その特定構成要素方向に所定の整数値Ｘピクセル、およびそうでない方向に所定の整数値Ｙピクセルのサイズを有するウィンドウをサーチするように適合され、ＹがＸよりも大きい請求項３４に記載のシステム。
【請求項３７】
中間動きベクトル構成要素がそれぞれ近傍の一組のマクロブロック内の同じマクロブロックから生じる場合、前記プラットフォームが３ピクセル×３ピクセルのサイズを有するウィンドウをサーチするように適合された請求項３２に記載のシステム。
【発明の詳細な説明】
【０００１】
（背景）
本発明は、動き推定の実施に関し、より具体的に言えば低ビット・レート・ビデオ・コーディングなどのビデオ・コーディング用の動き推定の実施に関する。
【０００２】
よく知られているように、動き推定はビデオ符号化の一般的な態様または構成要素である。ビデオ・コーディングを実施する技法は多種多様であり、その中には規格に関するものとそうでないものがある。一般的な規格には、ＩＴＵ−Ｔ「Ｖｉｄｅｏ　ｃｏｄｉｎｇ　ｆｏｒ　ｌｏｗ　ｂｉｔ−ｒａｔｅ　ｃｏｍｍｕｎｉｃａｔｉｏｎｓ」ＩＴＵ−Ｔ　Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ　Ｈ．２６３の１９９５年１１月付けバージョン１および１９９８年１月付けバージョン２、「Ｇｅｎｅｒｉｃ　Ｃｏｄｉｎｇ　ｏｆ　Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅｓ　ａｎｄ　Ａｓｓｏｃｉａｔｅｄ　Ａｕｄｉｏ　Ｉｎｆｏｒｍａｔｉｏｎ：Ｖｉｄｅｏ」ＩＳＯ／ＩＥＣ　１３８１８−２：Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｓｔａｎｄａｒｄ　１９９５年、ならびに「Ｃｏｄｉｎｇ　ｏｆ　ａｕｄｉｏ−ｖｉｓｕａｌ　Ｏｂｊｅｃｔｓ−Ｐａｒｔ　２：Ｖｉｓｕａｌ　Ａｍｅｎｄｍｅｎｔ　１；Ｖｉｓｕａｌ　ｅｘｔｅｎｓｉｏｎｓ」ＩＳＯ／ＩＥＣ　１４４９６−２：２０００年１月６日付け草案が含まれ、以下ではそれぞれ、Ｈ．２６３、Ｈ．２６３＋、ＭＰＥＧ−２、およびＭＰＥＧ−４と呼ぶ。これらは、復号化／圧縮解除規格の例である。典型的には、これらの規格またはこれらの規格に関する仕様は、動き推定に関するものを含んで使用可能な圧縮方法に関するガイダンスをほとんど、あるいはまったく提供するものではない。
【０００３】
動き推定は、ビデオ・フレームにおいて時間的な冗長を除去するために使用されるものであって、その結果、フレームの伝送に使用される通信チャネルの帯域幅をより効率的に使用することができる。動き推定は、典型的にはブロックサーチ技法を使用して達成される。本来サーチ・ウインドウ内ですべてのピクセル位置がサーチされる「フル・モーション」サーチ方法は典型的には計算上非常に複雑であり、リアルタイム・アプリケーションでは時折禁止される場合がある。マクロブロックが使用されているフルサーチ動き推定では、３２×３２ウィンドウに対するサーチ・ポイントの数は１，０２４である。
【０００４】
この計算上の複雑さを減らすために、これまで様々な方法が提案されてきた。一般的な方法は、対数サーチに基づくかまたは対数サーチと呼ばれる。この方法では、サーチ・ウィンドウ内のあらゆるサーチ・ポイントまたはピクセル位置をサーチする代わりに、サーチ・ウインドウのサイズの４分の１の距離ずつ離れた９つの初期ポイントがチェックまたはサーチされる。絶対差和（ｓｕｎ ｏｆ ａｂｓｏｌｕｔｅ ｄｉｆｆｅｒｅｎｃｅｓ：ＳＡＤ）の最低値または他の誤差測定の平均平方誤差（ＭＳＥ）のような他の誤差測定の９つからの最低値であるこれらの９つから、サーチ・ポイントまたはピクセル位置を見つけた後、サーチ・ポイント間の距離を半分に減らすことによって、そのポイントを中心とする別の８つのポイントでサーチが続行される。これが、２つのサーチ・ポイント間の距離が１ピクセルになるまで続行される。フル・モーション・サーチではサーチ・ポイントが１，０２４であるのに対して、この方法では３３個のサーチ・ポイントから結果が生成される。サーチ・ポイントの追加によって追加の計算が生じることに留意されたい。
【０００５】
対数サーチはサーチ・ポイントの数を減らすものである一方、欠点もある。たとえば、この動き推定方法によって生成されるイメージは、一般に、フル・モーション・サーチに比べて品質が低下する。さらに、３３個のサーチ・ポイントを有するこの方法は、依然としてリアルタイム・アプリケーションには好適でない。したがって、イメージ品質に関して対数サーチ方法に匹敵するかもしくはこれよりも優れており、計算が複雑でない方法が求められている。
【０００６】
本発明の主題は、本明細書の結論部分に具体的に指摘されており、特許請求の範囲に明確に示されている。ただし、本発明は、オペレーションの編成および方法、ならびにその目的、特徴、および利点のどちらについても、以下の詳細な説明を参照しながら添付の図面と共に読むことによって、最も良く理解することができる。
【０００７】
（詳細な説明）
以下の詳細な説明では、本発明を完全に理解するために多数の特有の詳細について説明する。ただし、当分野の技術者であれば、本発明がこれらの特有の詳細なしで実施できることを理解されよう。その他の場合には、よく知られた方法、手順、構成要素、および回路は、本発明を不明瞭なものにしないように詳細に説明していない。
【０００８】
前述のように、動き推定はビデオ符号化で使用される。ＭＰＥＧ−２およびＭＰＥＧ−４ならびに他のビデオ規格は、動き推定がビデオ符号化に適用されている例である。ただしこれらの方法は典型的には、特に動き推定に関連して使用する圧縮技法を用いていない。公知のように、通常は動き推定が、ビデオ・フレームを伝送する場合に、たとえばある位置から別の位置へビデオ・フレームを伝送するのに使用可能な限定された帯域幅をより効率良く使用できるようにするために、時間的な冗長を除去するのに使用される。もちろん、ビデオのコーディングおよびデコーディングは記憶装置などの他の状況でも使用されるものであって、本発明がこれらの技法の特定の適用範囲に限定されることはない。
【０００９】
動き推定の一技法は、フル・モーション・サーチと呼ばれる。ただしこの方法は計算上複雑であり、典型的にはリアルタイム・アプリケーションへの使用は禁止されている。フルサーチ動き推定の場合、マクロブロックと共に使用される３２×３２ウィンドウでのサーチ・ポイント数は１，０２４である。マクロブロックという用語はよく知られ、よく理解されているので詳細には説明しないが、典型的にはアレイが１６×１６サイズのスクエア・アレイの輝度ピクセルとそれぞれ８×８サイズの２つの対応するスクエア・アレイの彩度ピクセルとを含むビデオ・フレームの一部を表すのに対して、この情況では輝度アレイは表すが彩度アレイは表していない。典型的には彩度に関する動きベクトルが輝度アレイに関する動きベクトルから導出されるものであることから、これはこの特有の実施形態に適用される規約であるが、もちろん本発明はこの点で範囲が限定されるものではない。
【００１０】
計算上の複雑さを減らすために、これまでいくつかの技法が提案されてきた。上記で述べたように、一般的な方法は対数サーチに基づくものである。この方法では、前述のように、サーチ・ウインドウ内のすべてのサーチ・ポイントをサーチする代わりに、相互にサーチ・ウインドウ・サイズの４分の１ずつ離れた初期ポイントがサーチされる。絶対差和（ＳＡＤ）の最低値または何らかの他の測定を与える９つのポイントのうち１つのポイントまたはピクセル位置を見つけた後、この方法は、サーチ・ポイント間の距離を半分に減らすことによって、そのポイントを中心とする８つの追加ポイントを考慮またはチェックする。この方法は、２つのサーチ・ポイント間の距離が１ピクセルになるまで続行される。その結果、フル・モーション・サーチでは１，０２４個であるのに対して、３３個のサーチ・ポイントがチェックされる。上記で述べたように、この方法はフル・モーション・サーチに比べれば複雑ではないが、依然として一部のリアルタイム・アプリケーションには好適でないだけでなく、ビデオ・イメージまたはフレームの品質低下を招く場合もある。
【００１１】
これに対して、本発明に従って動き推定を実施する方法の一実施形態は、たとえば対数サーチ方法と比較した場合、計算上の複雑さを減らし、生成されるイメージの品質および結果的に生じる圧縮効率の両方に関して圧縮性能を向上させるものである。この特定の実施態様では、通信チャネルの送信側で、たとえば動き推定の実施方法に以下のことが含まれる。中間動きベクトル構成要素は、動きベクトルを含む近傍の一組のマクロブロックから決定される。もちろん、この特定実施形態はマクロブロックを使用しているが、本発明はこの点に関して範囲が限定されるものではない。たとえば、マクロブロック以外のフレームの他の部分を使用することができる。ただしこの実施形態では、よく知られており便利であることからマクロブロックが使用されているが、本発明は、本発明に従った実施形態が適用されている特定数のピクセルあるいは特定の形状または配置構成のピクセルに限定されるものではない。
【００１２】
次に、決定された中間動きベクトル構成要素に関連付けられたピクセル位置を中心とした所定のサイズおよび形状のウィンドウがサーチされる。より具体的に言えば、ピクセル位置を生成するために中間動きベクトル構成要素がマクロブロックに適用される。この特定実施形態の場合は、そのピクセル位置はサーチ・ウインドウの中心である。所定のサイズおよび形状のウィンドウのサーチに加えて、その構成要素すべてについてゼロ値を有する動きベクトルに関連付けられたピクセル位置も、サーチまたはチェックされる。したがって、ウィンドウのピクセル位置およびゼロ動きベクトルに関連付けられたピクセル位置がチェックまたはサーチされ、それらのうちどちらのピクセル位置が、この技法が適用される特定マクロブロックに最も近い一致を発生させるかを判定する。
【００１３】
もちろん、上記で述べてきたように、本発明の範囲は特定の実施形態に限定されるものではなく、多くの変形形態が可能である。たとえば、代替実施形態では、ゼロ値の動きベクトルをサーチから省略することができる。同様に、ピクセル位置をサーチする際に、特定のマクロブロックとチェックまたはサーチされるピクセル位置を中心としたマクロブロックとの絶対差和（ＳＡＤ）を適用することによって、最も近い一致を判定することができるが、本発明の範囲はこの点で限定されるものではない。ただし、別法として、最低平均平方誤差（ｌｅａｓｔ ｍｅａｎ ｓｑｕａｒｅ ｅｒｒｏｒ：ＭＳＥ）方法を使用するか、または誤差または差を測定するためのいくつかの他の可能な方法のうち任意の１つを使用することができる。同様に、この特定実施形態の中間動きベクトル構成要素は、図１に示されるようにこの実施形態では具体的には３つの近傍の一組のマクロブロックから決定される。さらに同様に、本発明の範囲は、近傍のマクロブロックに関する任意の特定の方法に限定されるものではなく、使用される近傍の一組のマクロブロックを特徴付けるいくつかの方法のうち任意の１つが可能である。たとえば、これより少ないまたは多いマクロブロックを使用することができる。同様に代替実施形態では、必ずしも連続マクロブロックまたは順次マクロブロックを使用しなくてもよい。
【００１４】
さらにこの特定の実施形態では、本発明の範囲はこの点に関しても限定されるものではないが、最も近い一致を判定するために、上記で述べたように明るさピクセル信号値が使用される。ただし、明るさピクセル信号値が使用可能でない場合は、代替例の１つとして、最も大量の明るさ信号情報を含むフレームの構成要素を使用することができる。同様に、別法として明るさを使用しなくてもよく、代わりに彩度信号値または彩度構成要素が優勢を占める信号値を使用することができる。ここでも、本発明の範囲は特定の方法に限定されるものではない。たとえば、フレームが赤緑青（ＲＧＢ）色空間フォーマットで提供される場合、典型的には緑のピクセル信号値が使用されるが、ここでも本発明の範囲はこの点に関して限定されるものではない。
【００１５】
本発明の範囲は、この点に関して限定されるものではないが、ＭＰＥＧ−４およびＨ．２６３では、フレーム間コーディングが使用されるときに動きベクトルが符号化および伝送される。圧縮されたビデオ・データ・ストリームは、伝送されるときに典型的には、動き推定によって生成された動きベクトル用の符号ならびに誤差フレーム用の符号を含む。こうした状況では、この特定の実施形態で、動きベクトルＭＶを２つの構成要素（ＭＶｘ，ＭＶｙ）で表すことが可能であり、ここでＭＶｘおよびＭＶｙはそれぞれ水平方向および垂直方向の構成要素である。典型的には、動きベクトルは図３を参照しながら以下のように算出することができる。
【数１】
2004501582.tif 000003
上式では、
（ｘ０，ｙ０）　　　　現在のマクロブロックの左上隅の座標
Ｃ［ｘ，ｙ］　　　　現在のマクロブロック輝度サンプル
Ｒ［ｘ，ｙ］　　　　再構築された以前のフレーム輝度サンプル
Ｓ　　　　　　　　　サーチ領域：｛（ｘ，ｙ）：−１６　≦ｘ，ｙ＜１６｝
（ＭＶｘ，ＭＶｙ）　結果的に上記の最低和を生じさせる動きベクトル
である。
【００１６】
この特定の実施形態では、動きベクトル・コーディングに使用されるビット数を減らすために、この実施形態での水平および垂直の動きベクトル構成要素が、３つのマクロブロックの空間近傍を使用することによって差分的に符号化される。図１に示されるように、それぞれのマクロブロックは動きベクトルを有する。この近傍の信号情報が、本実施形態ではすでに伝送されていることにも留意されたい。次にこの実施形態では、これら３つの動きベクトルが、現在符号化されることになっている動きベクトルの差分コーディング用の候補予測子である。もちろん、上記で述べたように、本発明の範囲は３つの以前のマクロブロック、より具体的に言えば３つの以前のマクロブロックからの動きベクトルを使用することに限定されるものではないことに留意されたい。いくつかの以前のマクロブロックのうち任意の１つを使用することが可能であり、この特定の実施形態について上記で述べたように、マクロブロックは連続している必要はない。
【００１７】
この実施形態では、動きベクトル・コーディングは水平構成要素と垂直構成要素について別々に実施される。この実施形態では、それぞれの構成要素について、構成要素の３つの候補の中間値が次のように算出される。
Ｐｘ＝Ｍｅｄｉａｎ（ＭＶ１ｘ，ＭＶ２ｘ，ＭＶ３ｘ）
Ｐｙ＝Ｍｅｄｉａｎ（ＭＶ１ｙ，ＭＶ２ｙ，ＭＶ３ｙ）
たとえば、ＭＶ１が（−２，３）に等しく、ＭＶ２が（２，５）に等しく、ＭＶ３が（−１，８）に等しい場合、ここでＰｘおよびＰｙと指定された中間動きベクトル構成要素はそれぞれ−１および５である。以下の等式で示される。
ＭＶＤｘ＝ＭＶｘ−Ｐｘ
ＭＶＤｙ＝ＭＶｙ−Ｐｙ
【００１８】
この方法の一形態は、典型的には、近傍のマクロブロック間に動きベクトルに関する空間相関関係が存在することの観測である。したがって、効率的なサーチ方法には、Ｐｘ，Ｐｙを中心とするより小さなサーチ・ウインドウを使用することを含むことができる。さらにここでは、それぞれのベクトル構成要素について別々に中間値を算出することによって、追加情報の機会が存在する。特に、中間動きベクトル構成要素が同じマクロブロックから生じるものである場合、これは、動きベクトル・フィールドが比較的「平滑」であること、すなわちこの情況では、空間的に比較的近傍に配置された動きベクトル間に比較的変化が少ないことを示すことができる。したがって、この実施形態では、サーチ・ウインドウはＰｘ，Ｐｙを中心とする９つのポイントに限定される。ただし別法として、ここではそれぞれ水平および垂直の中間動きベクトル構成要素が異なるマクロブロックから生じる場合、これは動きフィールドがより複雑であるかもしれず、したがってサーチ・ウインドウは、ここでもＰｘ，Ｐｙを中心とするが２５個のポイントに増加する。さらにこの実施形態では、両方の構成要素についてゼロ動きベクトルもサーチされるが、上記で述べたように、本発明の範囲はこの点に関して限定されるものではない。ゼロ動きベクトルを使用する理由は、ＳＡＤなどの誤差に関して許容可能な一致を提供する場合に、帯域幅を保持するからであり、これは状況によっては特に望ましい。上記で述べたように、この特定の実施形態では絶対差和（ＳＡＤ）が使用されるが、本発明の範囲はこの点に関して限定されるものではない。
【００１９】
本発明に従ったこの特定の技法または実施形態は、擬似コードを使用して次のように特徴付けることができる。
Ｉｆ（Ｐｘ＝ＭＶ１ｘ）　ｔｈｅｎ　ｉ＝１
ｅｌｓｅ　ｉｆ　Ｐｘ＝ＭＶ２ｘ　ｔｈｅｎ　ｉ＝２
ｅｌｓｅ　ｉ＝３
Ｉｆ（Ｐｙ＝ＭＶ１ｙ）　ｔｈｅｎ　ｊ＝１
ｅｌｓｅ　ｉｆ　（Ｐｙ＝ＭＶ２ｙ）ｔｈｅｎ　ｊ＝２
ｅｌｓｅ　ｊ＝３
ｉｆ（ｉ＝＝ｊ）ｔｈｅｎ
（Ｐｘ，Ｐｙ）を中心とする３×３サーチ・ウインドウを使用して動き推定を適用
ｅｌｓｅ
（Ｐｘ，Ｐｙ）を中心とする５×５サーチ・ウインドウを使用して動き推定を適用
ｅｎｄｉｆ
【００２０】
図２は、この特定の実施形態の有効性をフル・モーション・サーチおよび対数サーチと比較した場合の表である。フルサーチでは、上記で述べたようにサーチ・ポイント数が１，０２４であるため、サーチ領域は（−１６，１５）である。同様に上記で述べたように、対数サーチは３３のサーチ・ポイントを含む。本実施形態の特定の場合、サーチ・ポイントの数は、もちろん部分的にビデオ・シーケンスに依存する。本実施形態が適用された特定セットのシーケンスでは、時間の６９％でより小さなサーチ・ウインドウが適用されたため、サーチ・ポイント数は２６と１０の重み付け平均となり、この例では１５のサーチ・ポイントとなる。これらの結果は、１３４フレームに対する４分の１共通中間フォーマット（ＱＣＩＦ）サイズのイメージでイメージ・シーケンスを使用することによって取得された。ここで適用されたフレーム・レートは毎秒１０フレームである。
【００２１】
図２の表の結果は、本発明に従ってこの実施形態について動き推定が実施されると、複雑さが減ることを示している。典型的には動き推定はビデオ符号化の計算負担のかなりの部分を含むため、これは望ましい結果である。この特定の実施形態のサーチ・ポイント数はフルサーチに使用されるサーチ・ポイント数のわずか１．５％であり、かなりの計算負担が軽減される。同様にこの特定実施形態では、信号対雑音比の劣化は約０．４５デシベルから０．６５デシベルのみであるが、ビット・レートの減少はフルサーチに比べて４．５％より多くなる。同様に表に示されるように、この特定の実施形態で取得されるピーク信号対雑音比（ＰＳＮＲ）値は、対数サーチで取得されるそれよりも複雑でなく「ビット予算」が少ないので良い。
【００２２】
上記の考察で述べたように、本発明に従ったこの実施形態には、最新技術の方法を介した動き推定および符号化についていくつかの利点がある。上記で述べたように、これらの利点には計算負担の削減、圧縮比率の向上、動きベクトル・コーディングのビット数削減、および対数サーチと比較したピーク信号対雑音比の向上が含まれる。さらに、本発明の範囲はこの点に関して限定されるものではないが、この特定の実施形態はかなりの低ビット・レート・コーディング用のＭＰＥＧ−４とＨ．２６３の両方に準拠している。同様にこの実施形態は、所望に応じて、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施可能である。
【００２３】
本発明に従った他の実施形態は以下の擬似コードで示され、以下の式でＲｘおよびＲｙは次のように算出される。
Ｒｘ＝ＭＡＸ（ＭＶ１ｘ，ＭＶ２ｘ，ＭＶ３ｘ）−ＭＩＮ（ＭＶ１ｘ，ＭＶ２ｘ，ＭＶ３ｘ）
Ｒｙ＝ＭＡＸ（ＭＶ１ｙ，ＭＶ２ｙ，ＭＶ３ｙ）−ＭＩＮ（ＭＶ１ｙ，ＭＶ２ｙ，ＭＶ３ｙ）
Ｉｆ（Ｐｘ＝ＭＶ１ｘ）　ｔｈｅｎ　ｉ＝１
ｅｌｓｅ　ｉｆ　Ｐｘ＝ＭＶ２ｘ　ｔｈｅｎ　ｉ＝２
ｅｌｓｅ　ｉ＝３
Ｉｆ（Ｐｙ＝ＭＶ１ｙ）　ｔｈｅｎ　ｊ＝１
ｅｌｓｅ　ｉｆ　（Ｐｙ＝ＭＶ２ｙ）ｔｈｅｎ　ｊ＝２
ｅｌｓｅ　ｊ＝３
ｉｆ（ｉ＝＝ｊ）｛
（Ｐｘ，Ｐｙ）を中心とする、ｘ＿ａｒｍ＝３およびｙ＿ａｒｍ＝３であるｘ＿ａｒｍ　×　ｙ＿ａｒｍサーチ・ウインドウを使用して、動き推定を適用
｝
（
ｅｌｓｅ｛
ｘ＿ａｒｍ＝５およびｙ＿ａｒｍ＝５を設定；
ｉｆ（Ｒｘ＜＝３）　ｘ＿ａｒｍ＝３を設定；
ｉｆ（Ｒｙ＜＝３）　ｙ＿ａｒｍ＝３を設定；
｝
この特定の実施形態は、以前の実施形態よりも計算上の複雑さまたは負担が少ないという利点を提供するが、結果的にイメージ品質に関して犠牲を払う可能性がある。この実施形態は、中間値が計算され、動きベクトル・フィールドに関するプロパティを決定または推論するのに使用される点で、上記で述べた実施形態と同様である。上記と同様に、両方の座標の中間値が同じマクロブロックから生じる場合は、この実施形態では、サーチは９ポイントに限定される。ただし、座標の中間値が異なるマクロブロックから生じる場合は、サーチするポイント数は増加する場合または増加しない場合がある。この環境では単に２５ポイント・ウィンドウをサーチするのではなく、上記の実施形態の場合と同様に、異なる方向の領域が算出され、その情報を使用してサーチ・ウインドウに関する決定がなされる。
【００２４】
領域値ＲｘおよびＲｙは、動きベクトル・フィールドがこれらの方向にどのように変化するかを示すものである。したがって、変化が比較的大きい場合はこの方向に大きい方のウィンドウがサーチされるが、変化が比較的小さい場合はその方向に小さい方のウィンドウがサーチされる。これにより以前の実施形態に比べて複雑さが減少するが、これは場合によっては、前者の実施形態には２５ポイントサーチが使用されてきたが、後者の実施形態に９ポイントまたは１５ポイントサーチが使用されることになるためである。
【００２５】
この特定実施形態の適用範囲は、図４の例で具体的に示されている。動きベクトルは（４，２）、（９，３）、および（５，４）である。したがって前述の実施形態が適用される場合は、（５，３）を中心とする３×５の矩形がサーチされる。
【００２６】
同様に、図５は前述の実施形態が評価されたシーケンスにこの実施形態を適用した結果を示す表である。図５は、この実施形態の結果とフルサーチ、対数サーチ、および前述の実施形態の結果とを比較した図である。
【００２７】
もちろん、上記で述べたように、本発明の範囲は特定の実施形態または実施に限定されるものではないことを理解されよう。たとえば、本発明に従った方法の一例として、前述の方法は、ハードウェア、ソフトウェア、ファームウェア、および／またはそれらの任意の組合せで実施することができる。ここでも本発明の範囲を限定しない単なる例として意図された一例には、前述の内容を実施する集積回路チップなどのハードウェアを含むイメージャを含むことができる。あるいは、前述の内容を実施することのできるソフトウェアを含むイメージャを、コンピューティング・プラットフォームに結合することができる。同様に、たとえばデスクトップ・パーソナル・コンピュータに結合されたデジタル・カメラは一実施形態を実施することができる。さらにハードウェアおよびソフトウェアでのこれらの実施は、もちろん、前述の内容から逸脱し依然として本発明の範囲内であることができる。
【００２８】
少なくとも部分的にたとえば前述の実施形態などのソフトウェアで実施される実施形態の場合、こうしたソフトウェアは、たとえばランダム・アクセス・メモリ、ＣＤ　ＲＯＭ、フロッピィ・ディスク、またはハード・ドライブなどの命令が格納されるような記憶媒体上に常駐することが可能であり、ＰＣまたは他のコンピューティング・デバイスなどのコンピューティング・プラットフォームなどによって実施されると、システムが動き推定を生じさせる命令を実行することができる。同様に、こうしたソフトウェアは、たとえばフラッシュ・メモリまたはＥＥＰＲＯＭなどのファームウェアにも常駐が可能である。
【００２９】
以上、本明細書では本発明の一定の特徴について図示および説明してきたが、当分野の技術者であれば、多くの修正、置換、変更、および等価の内容が実施されるであろう。したがって、添付の特許請求の範囲は、本発明の真の精神の範囲内にあるこうしたすべての修正および変更をカバーすることが意図されるものであることを理解されよう。
【図面の簡単な説明】
【図１】本発明に従った動きベクトル予測に関する技法の一実施形態で使用するための、マクロブロックに関連付けられた動きベクトルを示す概略図である。
【図２】本発明に従った一実施形態を動き推定に適用したシミュレーション結果を示す表である。
【図３】整数ピクセル動き推定の一実施形態を示す概略図である。
【図４】本発明に従った一実施形態を、動きベクトルを含む例に適用することを示す図である。
【図５】本発明に従った他の実施形態を動き推定に適用したシミュレーション結果を示す表である。
【図１】
2004501582.tif 000004
【図２】
2004501582.tif 000005
【図３】
2004501582.tif 000006
【図４】
2004501582.tif 000007
【図５】
2004501582.tif 000008
【国際公開パンフレット】
2004501582.tif 000009
2004501582.tif 000010
2004501582.tif 000011
2004501582.tif 000012
2004501582.tif 000013
2004501582.tif 000014
2004501582.tif 000015
2004501582.tif 000016
2004501582.tif 000017
2004501582.tif 000018
2004501582.tif 000019
2004501582.tif 000020
2004501582.tif 000021
2004501582.tif 000022
2004501582.tif 000023
2004501582.tif 000024
2004501582.tif 000025
2004501582.tif 000026
2004501582.tif 000027
2004501582.tif 000028
2004501582.tif 000029
2004501582.tif 000030
2004501582.tif 000031
2004501582.tif 000032
2004501582.tif 000033
2004501582.tif 000034
2004501582.tif 000035
【国際公開パンフレット（コレクトバージョン）】
2004501582.tif 000036
2004501582.tif 000037
【国際調査報告】
2004501582.tif 000038
2004501582.tif 000039
2004501582.tif 000040