(57)【要約】低ビットレートでビデオの符号化および復号を可能にする。画像を符号化または復号するのにグローバル動きベクトル符号化方式が使用される。グローバル動きパラメータと現在の画像フレームとが関連づけされ、現在の画像フレーム内の個々のマクロブロックに対するグローバル動きパラメータからローカル動きベクトルが誘導される。次いで、このローカル動きベクトルは現在の基準フレーム内の基準ブロックを識別するのに使用され、これら基準ブロックは現在の画像フレーム内のマクロブロックを符号化または復号するのに使用される。
2005501491.tif 000002
【特許請求の範囲】
【請求項１】
現在の画像フレームに関連したグローバル動きパラメータを有する工程と、
前記現在の画像フレーム内の個々のマクロブロックに対するグローバル動きパラメータからローカル動きベクトルを誘導する工程と、
基準フレーム内の基準ブロックを識別するのに前記ローカル動きベクトルを使用する工程と、
前記現在の画像フレーム内の前記マクロブロックを符号または復号するために、前記識別された基準ブロックを使用する工程とを備えた、画像を符号化または復号するための方法。
【請求項２】
前記現在の画像フレームのコーナーに関連した４つのグローバル動きベクトルを識別する工程と、
前記現在の画像フレーム内の前記マクロブロックのロケーションに対し前記４つのグローバル動きベクトルを内挿することにより、前記ローカル動きベクトルを発生する工程とを含む、請求項１記載の方法。
【請求項３】
次の式
【数１】
2005501491.tif 000006
（ここで、ν００、νＨ０、ν０ＶおよびνＨＶは前記現在の画像フレームのうちの４つのコーナー（０，０）、（Ｈ−４，０）、（０，Ｖ−４）および（Ｈ−４，Ｖ−４）における前記グローバル動きパラメータをそれぞれ示し、ｘおよびｙは前記マクロブロックに対する左上のピクセルロケーションを示し、ｒ０、ｒｘ、ｒｙおよびｒｘｙは次の式
【数２】
2005501491.tif 000007
のとおりである）に従って前記グローバル動きパラメータから前記ローカル動きベクトルを誘導することを含む、請求項１記載の方法。
【請求項４】
関連するローカル動きベクトルを発生するのに前記グローバル動きパラメータを使用する前記マクロブロックを識別するコードワードを発生する工程を含む、請求項１記載の方法。
【請求項５】
前記現在の画像フレーム内の前記マクロブロックと実質的に同じである前記基準フレーム内の基準ブロックを識別するのに、前記誘導されたローカル動きベクトルを使用する工程と、
前記識別された基準ブロックを前記マクロブロック内にコピーすることにより復号されたコピータイプのマクロブロックとして前記マクロブロックを符号化する工程とを含む、請求項１記載の方法。
【請求項６】
前記基準ブロックと前記マクロブロックとの間の残差を識別する工程と、
前記マクロブロックに対する前記残差だけを符号化する工程を含む、請求項５記載の方法。
【請求項７】
コピータイプまたは残差タイプのいずれかの、符号化されたグローバル動きベクトルとして識別されたマクロブロックを含む、符号化されたビットストリームを受信する工程と、
前記グローバル動きベクトルの符号化されたマクロブロックに対するローカル動きベクトルだけを誘導する工程と、
前記基準フレーム内の基準ブロックを識別するように、誘導されたローカル動きベクトルを使用する工程と、
前記コピータイプのマクロブロックに対する前記識別された基準ブロックをコピーする工程と、
前記残差タイプのマクロブロックに対する前記識別された基準ブロックに符号化された残差を加える工程とを備えた、請求項１記載の方法。
【請求項８】
前記マクロブロックに対するローカル動きベクトルを発生するのに、前記グローバル動きパラメータを使用する場合、グローバル動きベクトル符号化を使用して前記現在の画像フレーム内の前記マクロブロックの一部を符号化し、復号する工程と、
別の符号化方式を使って前記現在の画像フレーム内の他のマクロブロックを符号化し、復号する工程とを含む、請求項１記載の方法。
【請求項９】
前記グローバル動きパラメータを使って同じマクロブロック内の個々のサブブロックに対するサブブロックローカル動きベクトルを発生する工程と、
前記サブブロックのローカル動きベクトルによってポイントされた前記基準フレーム内の個々の基準サブブロックを識別する工程と、
前記識別された基準サブブロックを使って前記サブブロックを別々に符号化し、復号する工程とを含む、請求項１記載の方法。
【請求項１０】
画像フレームに関連するグローバル動き推定パラメータから誘導されたローカル動きベクトルであって、識別されたマクロブロックに対するローカル動きベクトルを誘導することによって、符号化された画像フレームを復号するプロセッサを備え、該プロセッサが、現在の基準フレーム内の基準ブロックを識別するのに前記ローカル動きベクトルを使用し、次に現在フレーム内の前記マクロブロックを再構成するように前記基準ブロックを使用するようになっているデコーダ。
【請求項１１】
前記プロセッサが前記現在フレーム内の前記マクロブロックのロケーションに前記グローバル動き推定パラメータを内挿することにより前記ローカル動きベクトルを発生する、請求項１０記載のデコーダ。
【請求項１２】
前記プロセッサがグローバル動きベクトルで符号化されたマクロブロックを識別する符号化された画像フレームと共に含まれるコードワードを検出する、請求項１０記載のデコーダ。
【請求項１３】
前記マクロブロックが前記基準ブロックの直接のコピーであることを前記コードワードが表示する、請求項１２記載のデコーダ。
【請求項１４】
前記マクロブロックを再構成するのに前記基準ブロックに残差が加えられたことを前記コードワードが表示する、請求項１２記載のデコーダ。
【請求項１５】
前記プロセッサが異なるサブブロックに対するローカル動きベクトルを発生するのに、前記グローバル動き推定パラメータを使用し、前記プロセッサが前記現在の基準フレーム内の異なる基準サブブロックを識別するのに前記ローカル動きベクトルを使用し、次に、前記現在フレーム内の前記サブブロックを再構成するのに、前記識別された基準サブブロックを使用する、請求項１０記載のデコーダ。
【請求項１６】
画像フレームに対する一組のグローバル動き推定パラメータを符号化し、前記グローバル動き推定パラメータから復号中に誘導されたローカル動き推定パラメータを有する、前記画像フレーム内のマクロブロックを識別するプロセッサを含むエンコーダ。
【請求項１７】
前記グローバル動き推定パラメータが前記画像フレームのコーナーに関連したグローバル動きベクトルを含む、請求項１６記載のエンコーダ。
【請求項１８】
前記プロセッサが前記グローバル動き推定パラメータとブロック動き推定パラメータとを比較し、前記グローバル動き推定パラメータから誘導された前記ローカル動き推定パラメータをどのマクロブロックが使用するかを決定する、請求項１７記載のエンコーダ。
【請求項１９】
前記プロセッサが前記グローバル動き推定パラメータから前記ローカル動き推定パラメータを誘導する前記マクロブロックを識別するコードワードを発生する、請求項１６記載のエンコーダ。
【請求項２０】
前記グローバル動き推定パラメータから誘導された前記ローカル動き推定パラメータによってポイントされた、基準ブロックから直接コピーされたマクロブロックを前記プロセッサが識別する、請求項１６記載のエンコーダ。
【請求項２１】
ローカル動き推定パラメータではなく、前記識別されたマクロブロックに対する残差を前記プロセッサが符号化する、請求項１６記載のエンコーダ。
【請求項２２】
前記プロセッサが符号化された画像フレームでランレングス符号化を実行する、請求項１６記載のエンコーダ。
【請求項２３】
前記マクロブロックがＮ×Ｎのピクセルアレイ（ここでＮは整数である）であり、前記サブブロックがＭ×Ｍのピクセルアレイ（ここでＭはＮ以下の整数である）である、請求項１６記載のエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
高度ビデオ符号化では、これまで、グローバル動き補償（ＧＭＣ）技術、例えばＭＰＥＧ−４で使用される「スプライト」符号化技術、およびＨ.２６３＋の付属書Ｐにおける「基準ピクチャーリサンプリング」技術が使用されてきた。これら技術は通常、同じようなステップに従う。
【背景技術】
【０００２】
図１を参照すると、各現在の画像フレーム１２に対し、グローバル動きベクトル１６に基づき、１つの基準画像１４が誘導される。このグローバル動きベクトル１６は前の画像フレーム１８と現在の画像フレーム１２との間のグローバル画像の変化を考慮するものであり、例えば、グローバル動きベクトル１６はフレーム１８と１２との間で生じたカメラの角度、カメラのズーミングなどの変化を考慮する。次に、現在の画像１２が符号化され、基準フレーム１４を使って復号される。例えば、マクロブロック（ＭＢ）２０内の画像の部分は基準画像１４内の関連するマクロブロック２２内の画像と全く同じとなり得る。このようなケースの場合、マクロブロック２０内の画像情報は符号化しなくてもよい。基準フレーム１４内のブロック２２の画像データは現在の画像１２のマクロブロック２０内にコピーできる。
【発明の開示】
【０００３】
これらＧＭＣ技術は、ビットレートを減らし、かつ画質を高めることによって低ビットレートのビデオ符号化の利点を実証した。しかしながら、ＧＭＣは計算上の複雑さを増している。現在の画像フレーム１２に対し、グローバル動きベクトル１６に基づき、エンコーダおよびデコーダの双方で基準画像１４を再構成したり、更新しなければならない。このことは、計算期間およびメモリスペースの点でデコーダ側で特に高価となる。
【０００４】
その他の状況では、対象が前の画像１８から現在の画像１２まで位置を変えることがある。マクロブロック２０内の画像情報が前の画像フレーム１８からどこへ移動したかをローカル動きベクトル２６が識別する。マクロブロック２０に対して符号化しなければならない情報は、ローカル動きベクトル２６と、マクロブロック２０内の画像情報とマクロブロック２８内の画像情報との残差だけである。このローカル動きベクトルビデオ符号化技術はＧＭＣほど計算が複雑ではないが、画像１２内の各マクロブロック２０に対し、ローカル動きベクトル２６を別々に符号化し、次に送信し、記憶しなければならないので、一般に、より多くのビットを必要とする。
【０００５】
本発明は、上記従来技術に関連した上記の問題およびそれ以外の問題を解決しようとするものである。
【０００６】
（発明の概要）
１つの画像を符号化したり、復号するのに、グローバル動きベクトル符号化方式が使用される。現在の画像フレームには複数のグローバル動きパラメータが関連しており、現在の画像フレーム内の個々のマクロブロックに対し、グローバル動きパラメータからローカル動きベクトルが誘導される。このローカル動きベクトルは、次いで、現在の基準フレーム内の基準ブロックを識別するのに使用される。この基準ブロックは、現在の画像フレーム内のマクロブロックを符号化したり、復号するのに使用される。
【発明を実施するための最良の形態】
【０００７】
（詳細な説明）
エンコーダまたはデコーダのいずれかにおいて、基準画像を再構成しなくてもよいように、ローカル動きベクトル符号化のためにグローバル動きパラメータが使用される。
【０００８】
（グローバル動きパラメータを用いた動きベクトルの符号化）
図２は、現在のＴＭＬビデオコーデックに使用される従来のビットシンタックスを示す。このＴＭＬビデオコーデックはガイスル・ビヨンテガード氏著の論文「Ｈ.２６Ｌのテストモデル長期番号８（ＴＭＬ−８）ドラフト０」、ＩＴＵ−Ｔビデオ符号化の専門家グループ（ＶＣＥＧ）会議、２００１年６月２８日に記載されている。
【０００９】
図２を参照すると、ビットストリーム３０は画像フレーム内における符号化されたピクチャーヘッダー３２と、これに続くすべての画像マクロブロック３４（ＭＢ）の符号化とを含む。各個々のＭＢ３４は符号化され、ＭＢモード３６、すなわちフレーム間予測（インターＭＢ）またはフレーム内予測（イントラＭＢ）のために必要なローカル動きベクトルを含む。フレーム間予測はＭＢを符号化し、復号するのに前に誘導された基準フレームからのマクロブロックを使用することを意味し、フレーム内予測は符号化および復号のために同じ画像フレーム内でマクロブロックを使用することを意味する。画像の残差に対し、個々のＭＢ３４の後に変換係数３９が続く。
【００１０】
図３は、ＧＭＶＣ（グローバル動きベクトル符号化）に対して使用される符号化シンタックスを示す。符号化されたＧＭＶＣビットストリーム４０は図２におけるピクチャーヘッダー３２に類似したピクチャーヘッダー４２を含む。現在のフレームに対してＧＭＶＣがオンとなっているか、またはオフとなっているかのシグナルを出すために、各ＩＮＴＥＲフレームに対し、ピクチャーヘッダー４２の直後にＧＭＶＣ＿フラグ４４が追加される。
【００１１】
図４の表１には、このＧＭＶＣ＿フラグ４４に対するコードワード番号がリストされている。ＧＭＶＣがオフである場合、ビットストリーム４０に対するシンタックスの残りは図２に示されたビットストリームシンタックスに類似する。図２に示した元のＴＭＬシンタックスと図３に示したＧＭＶＣシンタックスとを比較した場合、ＧＭＶＣ＿フラグ４４に対するインターフレームごとに１つのイクストラビットが必要とされるに過ぎない。
【００１２】
ＧＭＶＣがオンである場合、ＧＭＶＣ＿フラグ４４とその後に続くＭＢ４８の後にグローバル動きベクトル（ＧＭＶ）４６が符号化される。各ＭＢ４８はＭＢ４８で使用される符号化モードを識別するＭＢモード５０を含む。従来の符号化モードが識別された場合、図２に類似するＭＢに対し、動きベクトル５２が符号化される。
【００１３】
ＭＢモード５０がＧＭＶＣモードのうちの１つであると判断された場合、どの動きベクトルも符号化されない。その理由は、ＭＢ４８内のすべてのサブブロックに対する動きベクトルは双線形内挿法によってＧＭＶ４６から誘導されたものであるからである。
【００１４】
図５の表２には、図３に示されたＧＭＶＣシンタックス４０で使用された異なるＭＢモード５０に対するコードワードの値をリストしたものである。ＧＭＶＣモードは画像を符号化するのに使用されたＭＢサイズを識別する。例えば、ＧＭＶＣフラグ４４がオフであり、ＭＢモードが３の値を有するときは８×８ピクセルのＭＢに対してローカル動きベクトルが符号化され、その後に残差５４が続く。ＧＭＶＣフラグ４４がオンであり、ＭＢモードがｘである場合は、ＧＭＶＣのコピーが表示され、マクロブロックに対してローカル動きベクトルまたは残差は符号化されない。記号「ｘ」は明示的に符号化する必要がないＣＯＰＹまたはＧＭＶＣ＿ＣＯＰＹを意味する。例えば、ＣＯＰＹまたはＧＭＶＣ＿のＣＯＰＹの信号を出すのに、ランレングス符号化を使用できる。ＧＭＶＣフラグ４４がオンであり、ＭＢモードが０である場合、ローカル動きベクトルは符号化されず、マクロブロックに対して残差だけが符号化される。
【００１５】
動きベクトル計算
図６を参照し、画像フレーム６０がサイズＨ×Ｖを有すると仮定する。双線形動きベクトル内挿法に対し、動きベクトルν００、νＨ０、ν０ＶおよびνＨＶが使用され、これら動きベクトルはフレーム６０の４つのコーナー（０，０）、（Ｈ−４，０）、（０，Ｖ−４）および（Ｈ−４，Ｖ−４）における４つの４×４サブブロックの動きベクトルをそれぞれ示す。数字「４」は４×４ピクセルのサブブロックサイズを使用する一例である。しかしながら、この値はサブブロックのサイズに従って変わってもよい。例えば８×８のサブブロックに対しては４つのコーナー（０，０）、（Ｈ−８，０）、（０，Ｖ−８）および（Ｈ−８，Ｖ−８）に動きベクトルが位置する。（ｘ、ｙ）における左上のピクセルを有するサブブロックの動きベクトルは次のように誘導される。
【００１６】
【数１】
2005501491.tif 000003
【００１７】
ここで、ｒ０、ｒｘ、ｒｙ、ｒｘｙは次のように定義される。
【００１８】
【数２】
2005501491.tif 000004
【００１９】
ローカル動きベクトルの分解能は変わることができる。一例において、ローカル動きベクトルは１／４のピクセルで表示される。従って、１の動きベクトルの値が１／４のピクセルを意味し、４の動きベクトルは１つのピクセルを意味する。符号化／復号中の不一致を防止するために、式（１）の出力は最も近い整数にしてもよいし、また端数がちょうど１／２であるときは四捨五入で切り上げてもよい。実施を容易にするために、式（１）は次のように実行できる。
【００２０】
【数３】
2005501491.tif 000005
【００２１】
所定の画像フレームに対し、ＧＭＶＣ＿フラグ４４がオンにセットされた場合、図３に示されるように、ＧＭＶＣ＿フラグ４４の直後においてグローバル動きベクトルパラメータ４６でｒ０、ｒｘ、ｒｙおよびｒｘｙの水平および垂直成分が符号化される。ＧＭＶに対するコードブックは他の符号化方式、例えば、動きベクトル差（ＭＶＤ）に対して使用されるコードブックに類似するように選択できる。このＭＶＤはローカル動きベクトル（ＭＶ）とローカル動きベクトル予測（ＭＶＰ）との差、すなわち、ＭＶ＝ＭＶＰ＋ＭＶＤである。式２における分母（Ｈ−４）（Ｌ−４）は一定である。フレームサイズが一旦決定されると、除算は乗算と次のシフトに容易に置換できる。従って、デコーダ側で要求される計算はわずかになる。
【００２２】
図７を参照すると、式（１）を使って、ＧＭＶＣモードの画像フレームにおける各ＭＢに対する動きベクトルが誘導される。例えば、現在の画像フレーム７２の４つのコーナーに対して４つのグローバル動きベクトル７０が関連している。このとき、ＭＢ７４は復号中である。ＭＢモード５０（図３）はＭＢ７４を符号化されたＧＭＶＣとして識別する。従って、デコーダはＭＢ７４の左上のコーナーに対し、ｘピクセルの位置７６およびｙピクセルの位置７８を識別する。次に、ローカル動きベクトル８０を発生するのに、式１に記載されたように、グローバル動きベクトル７０と共にこれらｘおよびｙピクセルの位置が使用される。
【００２３】
ローカル動きベクトル８０は基準フレーム８４内の基準ＭＢ８２をポイントする。ＭＢ７４に対するＧＭＶＣコードがＧＭＶＣコピー（図５）を表示する場合、ＭＢ７４内に基準ＭＢ８２の内容がコピーされる。ＭＢ７４に対するＧＭＶＣコードがコピーでない場合、ＭＢ７４に対する符号化されたビットストリーム内に残差が存在する。デコーダはＭＢ７４に対する画像の値を誘導するのに、これら残差を基準ＭＢ８２へ加える。
【００２４】
図８は、ＧＭＶＣがどのように同じＭＢ７４内の４×４サブブロック８６を符号化できるかを示している。この例では、サブブロックはピクセルの４×４アレイである。しかしながら、ＭＢおよびサブブロックは任意のサイズにすることができる。式１を使って、ＭＢ７４内の個々の各サブブロック８６に対し、ローカル動きベクトル８８が誘導される。例えば、まず、左上コーナーにおけるｘおよびｙのロケーション９０を識別することにより、サブブロック８６Ａに対するローカル動きベクトルが誘導される。次に、ローカル動きベクトル８８Ａを誘導するのに、式１を使って、ｘおよびｙのロケーション９０に対し、グローバル動きベクトル７０が内挿される。
【００２５】
ローカル動きベクトル８８Ａは基準フレーム８４内のサブブロック９２をポイントする。次に、サブブロック８６Ａ内の画像を構成するのに、基準サブブロック９２が使用される。ＭＢ７４内のその他のサブブロック８６も同じように復号される。例えば、サブブロック８６Ｂの左上コーナーは画像フレーム７２内のロケーション９４内に位置する。サブブロックが４×４ピクセルのサイズである場合、サブブロック８６Ｂはロケーション（ｘ、ｙ）におけるサブブロック８６Ａに対するロケーション（ｘ＋４、ｙ）に位置する。ローカル動きベクトル８８Ｂを誘導するのに、式１を使って、グローバル動きベクトル７０がピクセルロケーション（ｘ＋４、ｙ）へ内挿される。次に、基準フレーム８４内の基準サブブロック９６を識別するのに、ローカル動きベクトル８８Ｂが使用される。現在の画像フレーム７２内のサブブロック８６Ｂに対する画像を再構成するのに、サブブロック９６内の画像情報が使用される。ＭＢ７４における他のサブブロック８６に対しても同様なプロセスが実行される。
【００２６】
図５の表２に示されるように、マクロブロックに対して２つのＧＭＶＣモードがある。
【００２７】
第１のモードはＧＭＶＣ＿ＣＯＰＹモードである。このモードは現在のビデオ符号化規格で使用される「スキップ」または「コピー」モードに類似する。従来の「コピー」モードはマクロブロックすなわち現在の基準フレーム内の同じロケーションにあるマクロブロックの直接の「コピー」を表示する。「ＧＭＶＣ＿ＣＯＰＹ」における差はＧＭＶＣ＿ＣＯＰＹモードにおける各動きを補償されたブロックの「コピー」が式（１）で誘導される動きベクトルに従うことである。ＧＭＶＣ＿フラグが画像フレームに対して「オン」になっている場合には、従来の「コピー」モードはない。
【００２８】
第２のＧＭＶＣモードはＧＭＶＣ＿１６モードである。マクロブロックがＧＭＶＣ＿１６モードである場合、ビットストリームとなるように残差変換係数だけが符号化される。そのマクロブロックに対するローカル動きベクトルは式（１）から誘導される。ローカル動きベクトルによりポイントされる基準フレームマクロブロックと現在のマクロブロックとの差は残差変換係数として符号化される。
【００２９】
現在のＴＭＬシンタックスでは、「コピー」モードはＧＭＶＣフレーム用の「ＧＭＶＣ＿ＣＯＰＹ」モードに置換されており、ＧＭＶＣフレーム用の可能な他の符号化モードに新しいモード「ＧＭＶＣ＿１６」が追加されている。ＧＭＶＣフレーム内のすべての非ＧＭＶＣモードに対し、図２に示されているように、ビットストリーム内に明示的にローカル動きベクトルが符号化されている。
【００３０】
「ＣＯＰＹ」または「ＧＭＶＣ＿ＣＯＰＹ」モードを明示的に符号化する必要はない。符号化の効率を増すのにランレングス符号化を使用できる。ＧＭＶＣ＿ＣＯＰＹモードのＭＢのストリング内の各ＭＢ用のコピーコードワードを発生する代わりに、各非ＧＭＶＣ＿ＣＯＰＹ  ＭＢの前にＧＭＶＣ＿ＣＯＰＹモードであるＭＢの数を信号として表示できる。
【００３１】
ビデオシーケンス内にカメラの動きが存在する時は、ＧＭＶＣ＿ＣＯＰＹ  ＭＢの数は元のＴＭＬビットストリーム内の従来のＣＯＰＹ  ＭＢ内の数よりも多くなる性質がある。従って、「ＧＭＶＣ＿ＣＯＰＹ」モードに対し、ランレングス符号化を実施すると、より多数のビットを節約できる。ＧＭＶＣモードはＧＭＶＣモードを使用しない場合よりもより相関性のある真の動きベクトルを与える傾向があるので、画像フレームの視覚的な画質および符号化効率も改善される。
【００３２】
図９は、ＧＭＶＣ方式を実現するエンコーダおよびデコーダのブロック図を示す。これらのエンコーダおよびデコーダは、任意のプログラマブルプロセッサデバイスまたはディスクリート回路で実現できる。画像アプリケーション、例えば、ビデオフォン、カメラ、ビデオカメラ、テレビ、ストリーミングビデオアプリケーションまたは画像データを符号化または復号する他の任意のアプリーションでもこのＧＭＶＣ方式を使用できる。
【００３３】
エンコーダ９９は入力ビデオソース１００からの画像フレームを受信する。ボックス１２２および１２４を除けば、エンコーダの回路は従来のエンコーダに類似している。画像フレームはボックス１０４内で、例えば、離散的コサイン変換により変換される。これら画像フレームはボックス１０６内で量子化され、次にボックス１０８内で可変レングス符号化される。ボックス１０８の出力信号は符号化された画像データである。
【００３４】
量子化された画像フレームはボックス１１０で逆量子化され、ボックス１１２で逆変換される。ボックス１１６でループフィルタが適用され、この結果得られる基準フレームがフレームバッファ１１８に記憶される。ブロック１２０において、現在の画像フレームと現在の基準フレームとを比較することにより、ブロック動き推定が実行される。このブロック動き推定１２０はローカル動きベクトルを発生し、これらローカル動きベクトルはコンパレータ１０２から発生された残差と共に符号化される。
【００３５】
ボックス１２２でグローバル動きパラメータが推定され、ＧＭＶＣ符号化を特定の画像フレームに対して使用するかどうかを判断するように、これら推定パラメータはブロック動き判断ボックス１２４で使用される。ＧＭＶＣ符号化を使用する場合、ＭＢに対してどの符号化モードを使用するかを表示するコードワードと共に、符号化ビットストリーム１０９に対し、ボックス１２２で推定されたグローバル動きパラメータが加えられる。
【００３６】
デコーダ１３０はボックス１３２で可変ランレングス復号を実行し、ボックス１３４で逆量子化を実行する。ボックス１３６内の逆変換は加算回路１３８に逆変換ビットストリームを出力する。加算器１３８にはフレームバッファ１４４内の基準フレームも供給され、現在の画像フレームを再構成するように、逆変換器１３６からの出力と共に使用される。加算器１３８からの出力はボックス１４０内のループフィルタを通過し、ボックス１４２内で復号されたビデオ信号として出力される。
【００３７】
ブロック動き判断ボックス１２４によって発生されたＧＭＶＣ＿フラグ４４およびＧＭＶＣモード５０（図３）に基づき、特定の画像フレーム内の特定のＭＢ上でＧＭＶＣを実行することをデコーダ内のブロック動き判断ボックス１４６が決定する。
【００３８】
テスト結果
図１０は、主にガイスル・ビヨンデガード著「Ｈ.２６Ｌのための推奨シミュレーション条件」、文書ＶＣＥＧ−Ｍ７５、ＩＴＵ−Ｔビデオ符号化専門グループ（ＶＣＥＧ）会議、オースティン、米国テキサス州、２００１年４月２日〜４日に記載されたＶＣＥＧ−Ｍ７５で指定された「シミュレーション条件」に主に従って実行されたテスト結果を示す。
【００３９】
ＴＭＬ−８コーデックと比較するように、ＴＭＬ−８ソフトウェアにはグローバル動きベクトル符号化方式が統合されている。推奨されるＧＭＶＣ技術の利点を実証するように、テストの設定には３００フレームのＣＩＦフォーマットの「コースト−ガード」シーケンスが追加された。動きサーチレンジパラメータは１６に設定され、ＲＤ最適化オプションはオフにされた。
【００４０】
グローバル動きまたはカメラの動きを有するシーケンス、例えば「フォアマン」、「モバイル」、「テンピート」および「コーストガード」に対しては、特に最適化パラメータ（ＱＰ）値が大きいときの低ビットレートケースでビットが大幅に節約できた。例えば、ＱＰが２８のとき、「フォアマン」に対するビットの節約率は１１.４％であり、「モバイル」に対するビットの節約率は１０.２％であり、「テンピート」に対するビットの節約率は８.１％であり、「コーストガード」に対するビットの節約率は１９.５％である。動きベクトル符号化は高ビットレートではビットストリーム全体のあまり重要ではない部分となるので、ＱＰ値がより低いときにはＧＭＶＣは元のＴＭＬ−８コーデックに極めて類似したビットレートおよびビデオ画質を送る。
【００４１】
元のＴＭＬコーデックでは、従来の「コピー」モードによりグローバル動きがシーン内に存在するときに不快なアーティファクト（不整合）が生じる。ＧＭＶＣ技術を用いた場合、これらアーティファクトは大幅に除去される。ＧＭＶＣ技術はビットレートを低減し、視覚的な画質を高めることによって、低ビットレートのビデオ符号化に対する大きな利点を与える。ＧＭＶＣ方式は大きな量のグローバル動き、すなわちカメラの動きがあるようなモバイル環境におけるビデオアプリケーションに対して特に有効である。ＧＭＶＣを使用しない時にはＧＭＶＣ方式をイネーブルまたはディスエーブルするのに、フレーム当たり１ビットしか必要としない。従って、符号化の効率に対するオーバーヘッドは無視できる。このＧＭＶＣ方式はエンコーダにもデコーダにも符号化の複雑性を更に増すことはない。
【００４２】
これまで説明したシステムは、専用プロセッサシステム、マイクロコントローラ、プログラマブルロジックデバイスまたは演算の一部またはすべてを実行するマイクロプロセッサを使用できる。これまで説明した演算の一部はソフトウェアで実行してもよいし、他の演算はハードウェアで実行してもよい。
【００４３】
便宜上、演算は種々の内部に接続された機能ブロックまたは別個のソフトウェアモジュールとして記載した。しかしながら、このようなことは不要であり、明瞭な境界を設けることなく、単一のロジックデバイス、プログラムまたは演算にこれら機能的なブロックまたはモジュールを等価的に組み合わせるようなケースがあり得る。いずれの場合においても、機能ブロックおよびソフトウェアモジュール、または上記機能は自ら実行することもできるし、ハードウェアまたはソフトウェアのいずれかで他の演算と組み合わせて実行することもできる。
【００４４】
以上で、本発明の好ましい実施例において本発明の原理について記載し、図示したので、かかる原理から逸脱することなく、配置および細部において本発明を変更できることは明白であるはずである。特許請求の範囲にある変形例および変更例についても権利の請求を行うものである。
【図面の簡単な説明】
【００４５】
【図１】従来の符号化シンタックスを示す図である。
【図２】符号化されたビットストリームに対して使用される従来のシンタックスの図である。
【図３】グローバル動きベクトル符号化（ＧＭＶＣ）に対して使用されるシンタックスの図である。
【図４】ＧＭＶＣに対して使用されるコードワードの表である。
【図５】ＧＭＶＣに対して使用されるコードワードの表である。
【図６】ＧＭＶＣに対して使用されるグローバル動きベクトルを示す図である。
【図７】ＧＭＶＣ中にマクロブロック（ＭＢ）を再構成するのに、ローカル動きベクトルをどのように示すかを示す図である。
【図８】ＧＭＶＣ中にサブブロックを再構成するのに、ローカル動きベクトルをどのように示すかを示す図である。
【図９】ＧＭＶＣを実行するエンコーダおよびデコーダを示すブロック図である。
【図１０】ＧＭＶＣの結果を示す表である。
【図１】
2005501491.tif 000008
【図２】
2005501491.tif 000009
【図３】
2005501491.tif 000010
【図４】
2005501491.tif 000011
【図５】
2005501491.tif 000012
【図６】
2005501491.tif 000013
【図７】
2005501491.tif 000014
【図８】
2005501491.tif 000015
【図９】
2005501491.tif 000016
【図１０】
2005501491.tif 000017
【国際公開パンフレット】
2005501491.tif 000018
2005501491.tif 000019
2005501491.tif 000020
2005501491.tif 000021
2005501491.tif 000022
2005501491.tif 000023
2005501491.tif 000024
2005501491.tif 000025
2005501491.tif 000026
2005501491.tif 000027
2005501491.tif 000028
2005501491.tif 000029
2005501491.tif 000030
2005501491.tif 000031
2005501491.tif 000032
2005501491.tif 000033
2005501491.tif 000034
2005501491.tif 000035
2005501491.tif 000036
2005501491.tif 000037
2005501491.tif 000038
2005501491.tif 000039
2005501491.tif 000040
2005501491.tif 000041
2005501491.tif 000042
2005501491.tif 000043
【国際調査報告】
2005501491.tif 000044
2005501491.tif 000045