(57)【要約】本発明は、フレームの対に対する動き推定及び補償と共に３次元（３Ｄ）ウェーブレット分解に基づき、フレームの系列に適用されるビデオ符号化方法に関する。本発明の方法は、分解によって得られるウェーブレット係数を、分解能フラグによって区別されたマクロブロックと分解の最低近似サブバンドに適合するサイズを有するブロックの構造に編成する手順と、各３次元マクロブロックの係数を、各ブロックの空間方向及び位置に関連した所定の順序で走査する手順と、走査された係数をビットプレーン毎に符号化する手順と、を有する。さらに、符号化する手順は、大域的歪み最小化を用いて、マクロブロックの間に大域的ビットレートを割り付けるサブステップを含む。
2004509531.tif 000002
【特許請求の範囲】
【請求項１】
フレームの系列に適用され、フレームの対に対する動き推定及び補償を含む３次元ウェーブレット分解に基づいているビデオ符号化方法であって、
該３次元ウェーブレット分解は、元の画素の集合から、階層的ピラミッドと、上記階層的ピラミッド内の時空間関係を定義する時空間方向ツリーと、を構成する変換係数を導くウェーブレット変換であり、
時空間方向ツリー内では、ルート画素が３次元ウェーブレット変換から得られた近似サブバンドの画素によって形成され、各画素の子孫が上記ルート画素によって定義された画像容積に対応した高次サブバンドの画素によって形成され、
信号対雑音比、空間分解能及び時間分解能において拡張性のある符号化されたビットストリームを獲得するため、
３次元マクロブロックとブロックの構造内で時空間方向ツリーの変換係数を編成し、３次元マクロブロックは各３次元マクロブロックの先頭に個別に関連付けられた分解能フラグによって分離され、ブロックのサイズは最も粗い分解能での全ての変換係数を含む最低近似サブバンドに適合し、各３次元マクロブロック内の全てのブロックは、それ自体が、特定の空間分解レベルに属する連続した２次元マクロブロックに編成され、特定の時間分解レベルの全てのフレームに関してグループ化される手順と、
各ブロック内で当該ブロックの空間方向と、マクロブロック内で時間分解レベルの全てのフレームにおいて同じ位置を有するブロックの組合せとによって定義された所定の順序で各３次元マクロブロックの係数を走査する手順と、
上記走査された係数をビットプレーン単位で符号化する手順と、
を有することを特徴とするビデオ符号化方法。
【請求項２】
ビットプレーン単位で符号化する手順は、
対照としているビットプレーンで重要になる係数を含む重要マップ符号化動作を実行する第１のパスと、
既に重要である係数の改良ビットを付加的に符号化することなく精細化動作を実行する第２のパスと、
によって符号化を実行することを特徴とする請求項１記載のビデオ符号化方法。
【請求項３】
該符号化する手順の前に、大域的なビットレート割り付けサブステップが大域的な歪み最小化によって３次元マクロブロックの間で更に実行されることを特徴とする請求項１及び２記載のビデオ符号化方法。
【請求項４】
該大域的なビットレート割り付けサブステップは、
Ｙ、Ｕ及びＶで表わされる三つのルミナンス及びクロミナンスプレーンの間で、大域的なビット割当量Ｒを割り付ける動作と、
Ｙ、Ｕ及びＶの各カラープレーンに関して、３次元マクロブロックの間で残りのビット割当量を割り付ける動作と、
を含む、請求項３記載のビデオ符号化方法。
【請求項５】
大域的ビット割当量Ｒは、ビットプレーンＹに対応するビット割当量Ｒ（Ｙ）、ビットプレーンＵに対応するビット割当量Ｒ（Ｕ）及びビットプレーンＶに対応するビット割当量Ｒ（Ｖ）の３個のビット割当量に、以下の関係式、
【数１】
2004509531.tif 000019
に応じて分割される、請求項４記載のビデオ符号化方法。
【請求項６】
三つのプレーンの間でのビット割当量の割り付けを制御するパラメータαは、区間［０．６，０．９］に収まり、大域的二分アプローチによる決定される、請求項５記載のビデオ符号化方法。
【請求項７】
該残りのビット割当量は、３次元マクロブロックの間で、
各３次元マクロブロックの分散を計算する動作と、
該３次元マクロブロックを分散の減少に応じて分類する動作と、
各３次元マクロブロックに対する最適レートを見つけるため、反復処理を実行する動作と、
に従って割り付けられ、上記反復処理は、
処理される３次元マクロブロックの番号をｌ＝１で初期化する手順と、
以下の関係式：
【数２】
2004509531.tif 000020
に従ってラグランジュ乗数λ（ｌ）を計算する手順と、
ラグランジュ乗数λ（ｌ）が以下の関係式：
【数３】
2004509531.tif 000021
を満たすかどうかを検証し、
この検証の結果が肯定的である場合、ステップサイズｌを１ずつ増加させ、ラグランジュ乗数λ（ｌ）を計算する手順へ戻り、
この検証の結果が否定的である場合、３次元マクロブロックの最適な数が見つけられ、各マクロブロックに対するそれぞれの割当量は以下の二つの関係式：
【数４】
2004509531.tif 000022
を用いて得られる手順と、
を実行する、請求項４記載のビデオ符号化方法。
【請求項８】
フレームの系列を受信し、フレームの対に関する動き推定及び動き補償を含む３次元ウェーブレット分解に基づいているビデオ符号化器で使用され、
該分解によって得られたウェーブレット係数を、分解能フラグによって分離されたマクロブロック、及び、分解の最低近似サブバンドに適合するサイズのブロックの構造に編成する機能と、
各ブロックの空間方向と、３次元マクロブロック内で時間分解レベルの全てのフレームにおいて同じ位置を有するブロックの組合せとによって定義される所定の順序で各３次元マクロブロックの係数を走査する機能と、
該走査された係数をビットプレーン単位で符号化する機能と、
をコンピュータに実現させ、
該ビットプレーン単位で符号化する機能は、大域的歪み最小化によってマクロブロック間の大域的ビットレート割り付けサブステップを含む、
コンピュータ読取可能な記録媒体に格納され、該フレームを符号化するコンピュータで実行可能なプログラム。
【請求項９】
ビデオ符号化器にロードされ該ビデオ符号化器に請求項８に記載の機能を実現させる命令のセットに従ってフレームの系列を符号化するためのビデオ符号化器用のコンピュータプログラムの記録媒体。
【請求項１０】
３次元ウェーブレット分解によって得られたウェーブレット係数を、分解能フラグによって分離されたマクロブロック、及び、分解の最低近似サブバンドに適合するサイズのブロックの構造に編成する手順と、
各ブロックの空間方向と、３次元マクロブロック内で時間分解レベルの全てのフレームにおいて同じ位置を有するブロックの組合せとによって定義される所定の順序で各３次元マクロブロックの係数を走査する手順と、
該走査された係数をビットプレーン単位で符号化する手順と、
を有し、
該ビットプレーン単位で符号化する手順は、大域的歪み最小化によってマクロブロック間の大域的ビットレート割り付けサブステップを含む、
符号化方法に従ってフレームの系列を符号化することによって生成された伝送可能な符号化された信号。
【発明の詳細な説明】
【０００１】
本発明は、フレームの対に対する動き推定及び補償を含む３次元（３Ｄ）ウェーブレット分解（デコンポジション）に基づいて、フレームの系列に適用されるビデオ符号化方法に関する。この分解は、元の画像要素（画素）の集合から、階層的ピラミッドと、上記階層的ピラミッド内の時空間関係を定義する時空間方向ツリーと、を構成する変換係数を導くウェーブレット変換である。時空間方向ツリー内では、ルートが３次元ウェーブレット変換から得られた近似サブバンドの画素によって形成され、これら画素の各画素の子孫がこれらのルート画素によって定義された画像容積に対応した高次サブバンドの画素によって形成される。
【０００２】
ビデオ圧縮、特に、マルチメディアの分野における最近の主要な研究傾向は、スケーラビリティ（拡張性）と、プログレッシブ伝送に関する。このような機能性を用いることにより、伝送プロセスは、所望のレベルの分解能及び／又は忠実性（フィデリティ）を達成するため、元の信号のサブセットだけを送信できる。最も重要な情報が先に送信され、次に、受信器の帯域が許容する限り、精細化される。ビットストリームの組み込みは、実現すべき別の重要な特徴である。符号化プロセス及び復号化プロセスは、伝送中の中断、又は、情報の損失が生じるある種のネットワーク上で使用され得る。なぜならば、有効に伝送されたデータは、できる限り多くの情報を再構成するため効率的に使用されるからである。その上、ビットストリームの短い部分を復号化するために必要な情報は、自給する必要がある。
【０００３】
上記のポイントのうちのいくつかは、ビットプレーン符号化のような周知の技術を適用することにより達成される。最重要ビットプレーンが最初に符号化され、各パスで、後続のビットプレーンが伝送される。このようなプログレッシブ伝送スキームにおいて、最上位ビットプレーンは、多数の零を含み、エントロピー符号化器（エンコーダ）を用いて非常に効率的に圧縮される。この見方を静止画像の場合に発展させた場合、ウェーブレット分解を使用することによって、係数の良好な相関が得られ、よって、良好な圧縮率が得られる。ビデオ（動画像）圧縮スキームの場合に、時間的多重分解能分析は、冗長性を低下させるため使用され得るが、大きい変位を考慮し、かつ、符号化効率を高めるために、動き推定（ＭＥ）技術及び動き補償（ＭＣ）技術と組み合わせる必要がある。
【０００４】
分解プロセスは、ビデオ情報の時間的サブバンド分解を説明する図１に示されるように、二分木を用いて表現され得る。動き補償を伴う図示された３次元ウェーブレット分解は、Ｆ１からＦ８で指定されるフレームのグループ（ＧＯＦ）に適用される。この３次元サブバンド分解スキームにおいて、入力ビデオの各ＧＯＦは、最初に動き補償（ＭＣ）を受け、これによって、大きい動きを伴う系列を処理できるようになり、次に、Ｈａａｒウェーブレットを用いて時間的フィルタ処理（ＴＦ）を受ける。図１において、点線矢印はハイパス時間的フィルタ処理に対応し、その他の矢印はローパスフィルタ処理に対応する。図１には、３段階の分解が示されている（Ｌ及びＨは第１ステージ、ＬＬ及びＬＨは第２ステージ、ＬＬＬ及びＬＬＨは第３ステージを表わす）。
【０００５】
この時空間分解プロセスの後に、通常、低周波サブバンドに含まれるデータは、高い絶対値を示す。この値は、最高周波数へ向かって係数を走査するときに、減少する傾向がある。プログレッシブ符号化（コーディング）は、ウェーブレット係数が略同じ重要さ（大きさ）を有する係数のグループを獲得するため記録された場合に、より効率的になる。この原理を適用することにより、より長い零のランと、より優れた圧縮率を得ることができる。
【０００６】
このような係数のグループを作成する効率的なアルゴリズムは既に存在する。たとえば、いわゆる、埋め込み式零樹ウェーブレット（ＥＺＷ）法は、幾つかの分解能で最大の相関をもつ係数のツリーを与える。特定の周波数分解能及び位置におけるウェーブレット係数、「親」係数が、所与の閾値よりも小さい大きさを持つ場合、その子孫（最高分解能、かつ、同一空間位置）は、その閾値よりも小さい大きさをもつ可能性が非常に高い、という事実を利用する。
【０００７】
ＥＺＷ法に直接的に基づき、異なる分類プロセスを使用する別の分類技術は、文献：Ａ．Ｓａｉｄ ａｎｄ Ｗ．Ａ． Ｐｅａｒｌｍａｎ， ”Ａ ｎｅｗ， ｆａｓｔ ａｎｄ ｅｆｆｉｃｉｅｎｔ ｉｍａｇｅ ｃｏｄｅｃ ｂａｓｅｄ ｏｎ ｓｅｔ ｐａｒｔｉｔｉｏｎｉｎｇ ｉｎ ｈｉｅｒａｒｃｈｉｃａｌ ｔｒｅｅｓ （ＳＰＩＨＴ）”， ＩＥＥＥ Ｔｒａｎｓａｃｔｉｏｎｓ ｏｎ Ｃｉｒｃｕｉｔｓ ａｎｄ Ｓｙｓｔｅｍｓ ｆｏｒ Ｖｉｄｅｏ Ｔｅｃｈｎｏｌｏｇｙ， ｖｏｌ．６， ｎｏ．３， Ｊｕｎｅ １９９６， ｐｐ．２４３−２５０に記載されている。この方法は、特定のビットプレーンで零値係数をクラスタリングする際に非常に効率的であり、算術符号化と組み合わせることによって、最も効率的な画像圧縮アルゴリズムの一つとして実際に知られている。このアルゴリズムのビデオ系列に対する３次元（３Ｄ）アプリケーションは、文献：”Ａｎ ｅｍｂｅｄｄｅｄ ｗａｖｅｌｅｔ ｖｉｄｅｏ ｃｏｄｅｒ ｕｓｉｎｇ ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ ｓｅｔ ｐａｒｔｉｔｉｏｎｉｎｇ ｉｎ ｈｉｅｒａｒｃｈｉｃａｌ ｔｒｅｅ （ＳＰＩＨＴ）”， Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ ｔｈｅ Ｄａｔｅ Ｃｏｍｐｒｅｓｓｉｏｎ Ｃｏｎｆｅｒｅｎｃｅ， Ｍａｒｃｈ ２５−２７， １９９７， Ｓｎｏｗｂｉｒｄ， Ｕｔａｈ， ＵＳＡ， ｐｐ．２５１−２６０に記載されている。極めて効率的であるにもかかわらず（この効率は、符号化されるべきデータの解析に起因する）、この技術には、この技術を実現する際の計算的複雑さが真に制限的である、という一つの顕著な欠点がある。非常に多くの時間とリソース（資源）が必要とされるので、この技術をリアルタイムアプリケーションへそのまま使用すること、或いは、小規模の低コストシステムに実装することは困難である。
【０００８】
文献：Ｌ．Ｂｏｔｔｏｕ外， ”Ｔｈｅ Ｚ−ｃｏｄｅｒ ａｄａｐｔｉｖｅ ｃｏｄｅｒ”， Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ Ｄａｔａ Ｃｏｍｐｒｅｓｓｉｏｎ Ｃｏｎｆｅｒｅｎｃｅ， Ｓｎｏｗｂｉｒｄ， Ｕｔａｈ， ＵＳＡ， Ｍａｒｃｈ ３０−Ａｐｒｉｌ １， １９９８， ｐｐ．１８−３２に記載されている、低効率ではあるが、計算的複雑さが少ない符号化プロセスは、ビットプレーン符号化の別のアプローチである。このアプローチは、親子関係を調べ、重要性マップを符号化するためツリーを使用するのではなく、時空間ドメインでの単純な近傍関係を使用する。近傍は、データに応じて、４個の異なるタイプに分類される。これらのタイプ、すなわち、係数のグループは、Ｇｏｌｏｍｂ符号ベースのランレングス符号化器によって符号化される。ランレングス符号化器のようなエントロピー符号化器は、零の長いランを効率的に符号化することに注意する必要がある。このようなランは、２個の連続した高い強度の係数が幾つかの低強度係数によって分離されるので、ビットプレーン単位で動くプログレッシブ符号化プロセスにおいて生成され得る。しかし、低周波数における殆ど全てのウェーブレット係数は、エネルギーの殆どの部分がそこでグループ化されるので、高強度を有する。符号化の前に単にサブバンドの平均を差し引くのではなく、上述の欧州特許出願では、このような強度特性を示すサブバンドを符号化するため、差動パルス符号変調（ＤＰＣＭ）を導入するより効率的な計算スキームが提案されている。
【０００９】
上述の導入された技術の効率は、符号化されるべきデータを解析することを起点とする。しかし、対応した実施の複雑さは、時に制限的であるとみなされる。
【００１０】
本発明の目的は、符号化プロセスがデータとは無関係に実施される別の種類のアプローチを提供することである。
【００１１】
このため、本発明は、発明の詳細な説明の冒頭に記載した符号化方法であって、ＳＮＲ（信号対雑音比）、空間分解能及び時間分解能において拡張性のある符号化されたビットストリームを獲得するため、
（手順Ａ）３次元マクロブロックとブロックの構造内で時空間方向ツリーの変換係数を編成し、３次元マクロブロックは各３次元マクロブロックの先頭に個別に関連付けられた分解能フラグによって分離され、ブロックのサイズは最も粗い分解能での全ての変換係数を含む最低近似サブバンドに適合し、各３次元マクロブロック内の全てのブロックは、それ自体が、特定の空間分解レベルに属する連続した２次元マクロブロックに編成され、特定の時間分解レベルの全てのフレームに関してグループ化され、
（手順Ｂ）各ブロック内で当該ブロックの空間方向と、マクロブロック内で時間分解レベルの全てのフレームにおいて同じ位置を有するブロックの組合せとによって定義された所定の順序で各３次元マクロブロックの係数を走査し、
（手順Ｃ）上記走査された係数をビットプレーン単位で符号化する、
ことを特徴とする符号化方法に関する。
【００１２】
ここで提案した構造、すなわち、プログレッシブウェーブレット３次元符号化器は、埋め込み式の拡張性のあるビデオ符号化スキームを達成するアプローチを満たすものと考えられる。この構造の主要な機能は以下に詳細に説明する。
【００１３】
以下、添付図面を参照して、本発明の例を説明する。
【００１４】
本発明による符号化器には、以下の機能を与えるための主要モジュールが設けられる。
【００１５】
（１）動き推定及び動き補償を伴う３次元サブバンド分解。
【００１６】
（２）係数を強度に応じて並べ替えるために行われるマクロブロック編成。時空間ツリーにおける係数は、マクロブロック内のブロックの形に集められ、マクロブロックは、マクロブロック０を除いて、所与の時間分解能レベルの全てのフレームにおいて、時空間分解能レベルでディテールサブバンドの全ての係数を表現する。
【００１７】
（３）マクロブロック０におけるベクトルＤＰＣＭ予測。固有の統計的性質をもつ近似サブバンドは、サブバンドの係数の間の残留相関を減少させるためＤＰＣＭ技術を用いて個別に符号化される（予測誤差はディテール係数と同じアルゴリズムによって符号化される）。
【００１８】
（４）大域的歪みを最小限に抑えるアルゴリズムによるマクロブロック間のビットレート割付。
【００１９】
（５）ビットプレーン符号化。各マクロブロックの係数は、予め決められた順序で走査され、ビットプレーン毎に符号化され、各ビットプレーンレベルで２回のパス（ａ）及び（ｂ）が実行される。
【００２０】
（ａ）重要マップ符号化。このレベルで重要になる係数を符号化するため適応ランレングス符号化器を使用する。
【００２１】
（ｂ）精細化パス。このステップ中、”０”ランの長さを最大にすることを目標とし、各ブロック内の係数の走査は、サブバンド内のディテールの空間方向に従って実現され、上位レベルで有意性が検出された係数の精細ビットは符号化することなくビットストリームに入れられる。
【００２２】
本発明による符号化器は、文献：Ｈ．Ｓ．Ｍａｌｖａｒ， ”Ｆａｓｔ ｐｒｏｇｒｅｓｓｉｖｅ ｗａｖｅｌｅｔ ｃｏｄｉｎｇ”， Ｐｒｏｃｅｅｄｉｎｇｓ ｏｆ Ｄａｔａ Ｃｏｍｐｒｅｓｓｉｏｎ Ｃｏｎｆｅｒｅｎｃｅ， Ｓｎｏｗｂｉｒｄ， Ｕｔａｈ， ＵＳＡ， Ｍａｒｃｈ ２９−３１， １９９９， ｐｐ．３３６−３４３に記載された構造に基づいて発想されたマクロブロック構造を含む。上記文献に記載された構造からはじめて、ウェーブレット係数は、最初に、ブロックに編成される。各ブロックのサイズは、最低近似サブバンドを厳密に適合させるように選択され、最低近似サブバンド（各フレームをブロック（０，１，２，３など）に分割し、２次元の場合におけるマクロブロック内でのブロックの走査順序が示されている図２におけるブロック０）は、粗い分解能で全てのウェーブレット係数を含む。
【００２３】
各フレームが各時空間サブバンド内のブロックに分割されたとき、これらのブロックを読み出す方法は、データの読み出し／クラスタリングの結果、圧縮比を高めるため設けられた冗長性を生成する。ビットプレーン符号化を伴うプログレッシブスキームの場合、所与のビットプレーンで殆ど同じ強度を有するデータ（すなわち、ウェーブレット係数）は、当然にある程度の冗長性を示す。サブバンドはブロックに分割されるが、その目的は、相互にある程度の類似性を示すブロックを走査することであり、典型的に、これらのブロックは、同じ場所から由来する（そうでなければ、殆どの場合のウェーブレット係数はブロック内で重要な変動を示さないと考えられる）。１フレームに対し２次元の場合に維持されるブロックの走査順序は、図２に示されるように、水平ディテールサブバンドと垂直ディテールサブバンドの間で交番し、同じ分解能レベルの対角ディテールサブバンド（４８，４９，５０など）で終了し、係数の強度順序を考慮する。最も粗い分解能は、ブロックのサイズを決定し、ブロック０が適合する。２次元の場合に、各マクロブロックは空間分解能精細化を表す。マクロブロック０は特定の時空間レベルとして認められるブロック０であり、マクロブロック１はブロック１乃至３を含み、マクロブロック２はブロック４乃至１５を含み、マクロブロック３はブロック１６乃至６３を含む。
【００２４】
ビットプレーン並べ替えの他に、このようなマクロブロック構造は、空間及び時間の両方のスケーラビリティを可能にさせる。この機能性を実現するため（すなわち、マクロブロックに関する情報をビットストリームへ追加することは、空間分解能及び時間分解能を両方とも精細化する必要がある）、マクロブロック内のブロックは、特定の時間レベルの全てのフレームに関して、特定の空間分解レベル（マクロブロックの空間分解能）に属する。かくして、マクロブロックの３次元拡張は、特定の時間レベルの全てのフレームにおける全ての対応するマクロブロックをグループ化することによって、図２に関して、簡単に実現される。この拡張については、３番目の空間分解に対応したマクロブロックにおいて、２個のフレームの場合のインターレース方式を示す図３を参照せよ。たとえば、２次元の場合にブロック１６乃至６３を収容するマクロブロック３は、第１のフレーム内のブロック１６乃至６３と、第２のフレーム内のブロック１６乃至６３と、以下同様に残りのフレームに対するブロック１６乃至６３と、を含む。
【００２５】
３次元拡張の場合に、効率的な埋め込みを実現するため、ブロックの走査順序は、フレーム毎に計算する（たとえば、１６番目のブロックは第１フレーム内で最初に走査され、次に、第２フレーム内で走査され、続いて、１７番目のブロックが同様に走査され、以下同様に続く）のではなく、各フレームの間でインターレースされる。これにより、明確な時間的レベルと係数の強度順序の間で、時間的相関を考慮できるようになる。さらに、空間サブバンドのある種の特性を利用することが提案される。たとえば、水平ディテールサブバンド内の２個の水平方向に連続的な係数は、類似した強度をもつ可能性が高い。このような冗長性を考慮するため、各ブロック内での係数の走査は、当該ブロックの空間方向によって決定される。図４に示されるように、水平及び対角ディテールサブバンドに属するブロック内の係数は、水平方向に沿って走査され、垂直ディテールサブバンドに属するブロック内の係数は垂直方向に走査される。
【００２６】
係数強度に関する完全に一般的な仮説に基づく上述の並べ替え方法は、完全にデータ依存型であり、容易に実現され、あまり複雑ではない。また、この方法は、以下のようなデータ編成に特徴がある。
【００２７】
分解能スケーラビリティを簡単に実現するため、実際に空間レベル及び時間レベルを別々に分離する必要がある。たとえば、半分のサイズに符号化された系列を再構成することが要求される場合、各時間分解能で最高空間レベルを取り除く必要がある。マクロブロックは、その構造のために、特定の時空間レベルに対応するので、スケーラビリティ性能を得るために、各マクロブロックはその先頭をフラグ、たとえば、残りのビットストリームには許可されない固有系列でマーキングすることによって分離される。マクロブロックのヘッダの構造を説明する図５に示されるように、スケーラビリティのあるビットストリームを実現するを可能にするこの分解能フラグは、本例では、ヘッダの最初の１７ビット、すなわち、’１’用の１ビットと、’０’用の１６ビットとによって表現される。
【００２８】
この分解能フラグの後には、二つの多数ビットが続き、これらは、Ｎｂｉｔ＿Ｙ及びＮｂｉｔｓ＿Ｃと呼ばれる。これらの数は、後述するように、ルミナンスＹ及びクロミナンスＣ（Ｕ又はＶ）を符号化するため使用されるビットプレーンの数を表現する。これらの数は、それそれ、ルミナンス及びクロミナンスに関して、マクロブロック内の任意のウェーブレット係数を符号化するため使用されるビット総数を表現する。それらの値は、以下の式で与えられる。
【００２９】
【数５】
2004509531.tif 000003
式中、関数
【００３０】
【数６】
2004509531.tif 000004
は、値ｘをその値の整数部にマッピングする関数であり、Ｅｙ、Ｅｕ及びＥｖは、それぞれ、現在マクロブロック内のＹ、Ｕ及びＶ平面の係数の集合である。これらの値は、一つのマクロブロックだけに関係するので、それらはヘッダ内で、マクロブロックフラグの直後のビットストリームに付加される。これらの２個の値を符号化するため必要とされるビット数は、マクロブロック毎に異なり得るが、典型的に、最低時空間周波数サブバンドに対して多くなる。
【００３１】
良好なＰＳＮＲ（ピーク信号対雑音比）は、ウェーブレット係数の整数部だけが符号化される場合には、非常に高いビットレートでは容易に獲得し得ないので、精度は、符号化前に、各ウェーブレット係数を定数で、すなわち、それぞれ、ルミナンスプレーン用のＣ＿Ｙ及びクロミナンスプレーン用のＣ＿Ｃで、乗算することによって精緻化される。これらの２個の定数の値を調整することにより、ウェーブレット係数の最大精度が定義される（たとえば、Ｃ＿Ｙが１６であるとき、Ｙの係数は、最近傍の１／１６の値に丸められる）。これらの定数を用いることにより、Ｎｂｉｔｓ＿Ｙ及びＮｂｉｔｓ＿Ｃの値は、以下のようになる。
【００３２】
【数７】
2004509531.tif 000005
これらの２個の値を符号化するため使用されるビット”ｎ”の数は、各ウェーブレット係数の所望の精度に依存して変化し得る。本実施例の場合、１単位のエイドで符号化するためには４ビットで十分であり、１／１６の精度で符号化するためには５ビットであり、一般に、８ビットあれば任意の精度を実現するために十分である。何れの場合でも（すなわち、Ｎｂｉｔｓ＿Ｙ及びＮｂｉｔｓ＿Ｃが精細化されているか、精細化されていないかとは無関係に）、これらの値は、小さいウェーブレット係数の場合に（典型的に、高周波サブバンドにおいて）、マクロブロックの先頭に無駄な長い零のランが生ずることを回避すると共に、Ｙ及びＣの関連したデータだけを符号化するために使用される必要なビットプレーンを示す。
【００３３】
（プログレッシブビットプレーン符号化によって生じた）データ自体に関して、これらのデータは、ヘッダの直後のビットストリームに付加される。主な制約は、（系列を符号化するため使用されるビットレートとは異なるビットレートで系列を復号化することができる）ビットレートスケーラビリティであるため、３個のカラープレーン（Ｙプレーン、Ｕプレーン及びＶプレーン）の埋め込みは、カラープレーンをブロックのグループでインターレースすることにより、マクロブロック内で実現される。このようなビットストリームにおけるマクロブロック及びブロック構造は、ｎ個のブロックとｋ個のフレームの場合について、図６に示されている。詳細な構造は以下の通りである。図６の第１行目は、Ｙプレーン、Ｕプレーン及びＶプレーンの埋め込み（Ｙデータ、Ｕデータ及びＶデータの間には終了ビットＥＢが含まれる）を表わし、第２行目は、たとえば、Ｙデータの内容（ビットプレーンＢに対するランレングス符号ＲＬＣ（Ｂ）及び対応した改良ビットＲＥＦ（Ｂ）と、次のＲＬＣ（Ｂ−１）及びＲＥＦ（Ｂ−１）と、以下同様に、ＲＬＣ（Ｂ−Ｎ）とが続く）を詳細に表わし、第３行目は、これらのランレングス符号及び対応した改良ビットが与えられるブロック０乃至ｎを示し、第４行目は各ブロック（０，１，２，．．．，ｎ）におけるフレーム０乃至ｋを表わす。
【００３４】
符号化ステップは適応的であるため、ビットが符号化された後にビットストリームへ追加されるビット数は厳密には分からないが、符号化（及び復号化）プロセスの各段階で少なくとも最大ビット数、この最大ビット数はｋ＋２に一致する、を決定することは可能である。精細ビットレート制御を実行するため、ＲＬＲ符号が符号化されるときに、追加されるべき次のＲＬＲ符号に対し、少なくとも（ｋ＋２）ビットを符号化するために十分な割当量があるかどうかをテストすることが妥当である。さもなければ、終了ビットＥＢと呼ばれる無駄なビットは、最近傍ビットへのビット制御を実行するため追加される。
【００３５】
フレームのグループ（ＧＯＦ）の先頭を符号化し始めるとき、更なる点について考慮する。実際上、各マクロブロックを分離し、各ＧＯＦを分離できることが必要である。粗い時空間分解能を収容するだけではなく、そのヘッダは、全てのＧＯＦに対し必要とされる情報を収容する必要がある（線形予測の場合、予測子係数は復号化側で必要になる）。さらに、情報をできるだけ正確に復号化するために、マクロブロック毎に情報を符号化するため使用されるビットレートを精密に決定する必要があり、各マクロブロックの変化は、ＧＯＦのヘッダで送られる（ビットレートを決定するため使用される方法は全てのマクロブロックの変化を必要とするので、この変化は上述のヘッダ内のビットストリームに追加できない）。上記ＧＯＦヘッダは図７に示されている。
【００３６】
また、上述のマクロブロックのフラグは、前マクロブロックの終わりと、シンマクロブロックの先頭を示すためにも使用される。マクロブロックの先頭と、ＧＯＦの先頭を区別するため、零だけを収容するマクロブロックが存在する可能性は低いということが観察される。ＧＯＦの先頭にマークを付けるため選択された構造は、Ｎｂｉｔｓ＿Ｙ及びＮｂｉｔｓ＿Ｃが自動的に零に設定される点を除くと、マクロブロックのフラグと同様である。ＧＯＦフラグの検出は、マクロブロックのフラグの検出と略同じように行なわれる。フラグが見つけられると、Ｎｂｉｔｓ＿Ｙ及びＮｂｉｔｓ＿Ｃの簡単なテストによって、マクロブロックの先頭か、ＧＯＦの先頭が判明する。
【００３７】
ここで提案された符号化方法は、割当量の割り付けを簡単化することによって改良される。この簡単化を実現するため、前述の引用文献：”Ｆａｓｔ ｐｒｏｇｒｅｓｓｉｖｅ ｗａｖｅｌｅｔ ｃｏｄｉｎｇ”に基づくマクロブロック構造が導入され、３次元ウェーブレット・デコンポジションに適用される。エントロピー符号化中に、より良好な圧縮比を達成するためデータを並べることを主要なポイントとするこのマクロブロック構造について説明する。
【００３８】
最初に、ウェーブレット係数は、ブロックに編成される。各ブロックのサイズは、最低近似サブバンドと厳密に適合するように選択され、最低近似サブバンドは最も粗い分解能での全てのウェーブレット係数を含む。かくして、各時空間サブバンドの各フレームはブロックに分割される。これらのブロックを読み出す方法は、冗長性を生じる。ビットプレーン符号化を用いるプログレッシブスキームの場合、所与のビットプレーンで、殆ど同じ強度をもつデータがある程度の冗長性を示すことがわかる。サブバンドをブロックに分割する目的は、互いにある程度の類似性を示すブロックを走査することである。典型的に、これらのブロックは、同じ空間位置から得られる。そうでなければ、殆どの場合のウェーブレット係数は、ブロック内で重要な変化を示さないと考えられる。ブロックの走査順序は、水平ディテールサブバンドと垂直ディテールサブバンドの間で交番し、同じ分解能レベルの対角ディテールサブバンドで終わる。この順序は、係数の強度順序を考慮する。最も粗い分解能はブロックのサイズを決定し、ブロック０が適合する。２次元の場合に、各マクロブロックは、空間分解能の改良を表現する。マクロブロック０はブロック０である（特定の時空間レベルであるとみなされる）。
【００３９】
ビットプレーン並べ替えの他に、マクロブロック構造の第２の主要なポイントとして、空間スケーラビリティ及び時間スケーラビリティの両方が可能である。これを実現するため、主要なポイントは、マクロブロックに関する情報をビットストリームへ付加することによって、空間分解能及び時間分解能が改良されるべき点である。したがって、マクロブロック内の全てのブロックは、特定の時間レベルの全てのフレームに対し、特定の空間分解レベル（マクロブロックの空間分解能）に属する。このようにして、マクロブロックの３次元拡張は、特定の時間レベルの全てのフレーム内の対応する全ての２次元マクロブロックをグループ化することによって達成される。たとえば、２次元の場合にブロック１６乃至６３を格納するマクロブロック３は、第１フレームのブロック１６乃至６３と、第２フレームのブロック１６乃至６３と、以下同様に残りのフレームに対するブロックとを含む。
【００４０】
３次元の拡張に効率的な埋め込みを実現するため、ブロックの走査順序は、フレーム毎に走査順序を計算するのではなく、各フレームの間でインターレースされ、これにより、明確な時間レベルの異なるフレームと、係数の強度順序との間の時間的相関を考慮できるようになる。ここで提案した並べ替え方法は、完全にデータ非依存型であり、係数強度に関する非常に一般的な仮説だけに基づいている。かくして、３Ｄ−ＳＰＩＨＴによって達成される効率と同じ効率は得られない。しかし、この方法の利点は、実現が簡単であり、かつ、アルゴリズムの複雑さが低い、という点にある。
【００４１】
ビット割り付けは、以下の二つのレベルで行なわれる。
・第１のレベルでは、大域的ビット割当量がＹプレーン、Ｕプレーン及びＶプレーンの間で割り付けられる。
・第２のレベルでは、カラープレーン毎に、残りのビット割当量がマクロブロックの間で割り付けられる。
【００４２】
（ａ）カラープレーン間のビット割り付け
上述の通り、クロミナンスプレーンの分解能は、ルミナンスプレーンの分解能の半分よりも小さい（サイズは４で分割されている）。さらに、クロミナンスプレーンには少しの空間ディテールしか存在しない。したがって、クロミナンス係数を符号化するため必要とされるビット割当量は、ルミナンス係数を符号化するため必要とされるビット割当量よりも遥かに少ない。また、ルミナンスとクロミナンスの間の依存性が符号化プロセスで考慮されるならば、更なる節約が実現され得る。カラープレーン間での最適ビット割り付けを決定するため、以下の方法が使用される。大域的ビット割当量Ｒは、Ｙプレーン用のビット割当量ＲＹ、Ｕプレーン用のビット割当量ＲＵ及びＶプレーン用のビット割当量ＲＶの間で分割される。
【００４３】
【数８】
2004509531.tif 000006
パラメータα∈［０，１］は、割り付けプロセスを制御する。パラメータαの最適値は、二分アプローチによって決定される。本例の場合、テストによって、パラメータαは０．６と０．９の間で変化することがわかった。
【００４４】
（ｂ）マクロブロック間のビット割り付け
以下に説明するアルゴリズムは、符号化プロセスの大域的歪みを最小限に抑えるため、マクロブロック毎にビット割当量を割り付ける方法を提供する。表記法は以下の通りである。
・Ｎは、全ＧＯＦ内の画素数である（或いは、マクロブロックの係数の数の合計でもよい）。
・Ｍｉはｉ番目のマクロブロックであり、σｉはＭｉの分散であり、ｎｉは収容される点の数であり、ｂｉはｉ番目のマクロブロックで使用される係数毎のビット数であり、Ｉはマクロブロックの数である。
・ＤｉはＭｉの歪みであり、Ｄｇは全てのマクロブロックに関する大域的歪みである。
【００４５】
マクロブロックＭｉに関して均一な量子化を想定する場合、このマクロブロックの歪みＤｉは、以下の式によって与えられる。
【００４６】
【数９】
2004509531.tif 000007
この符号化プロセス全体での大域的歪みＤｇは次式で与えられる。
【００４７】
【数１０】
2004509531.tif 000008
符号化された系列に対する大域的ビットレート
【００４８】
【数１１】
2004509531.tif 000009
は、次式で与えられる。
【００４９】
【数１２】
2004509531.tif 000010
最小化されるべき規準は、ラグランジュ乗数法を用いて、次式のように表わされる。
【００５０】
【数１３】
2004509531.tif 000011
各マクロブロックの割当量に関する制約がない場合、これは、周知のビット割り付け方法に簡単化され、その解は、次式によって与えられる。
【００５１】
【数１４】
2004509531.tif 000012
この方法を本発明のケースにそのまま適用すると、特に、低ビットレートの場合に、非常に悪い結果を生じる可能性がある（実際、殆どのマクロブロックに、負の割当量を割り付けた）。この問題を回避するため、最適化規準は、解は正であるという補助的な制約を加えることによって変更される。この規準は次のように表わされる。
【００５２】
【数１５】
2004509531.tif 000013
最終的に、上述のアルゴリズム（図８に示されている）は、上述のマクロブロック構造（ＭＢ−ＯＲＧ）に適用され、後者の式と関連付けられた解を与える。
【００５３】
１．ステップＣＰＶＡＲで分散を計算した後、分散を減少させることによってマクロブロックを順序付ける（ステップＤＣＶＡ）。
【００５４】
【数１６】
2004509531.tif 000014
２．ｌ＝１をセットする。
【００５５】
３．Ｍｌを計算し（ステップＣＭＰＬ）、以下の式１のようにλｌを計算する（ステップＣＰＬＤ）。
式１：
【００５６】
【数１７】
2004509531.tif 000015
４．λｌが以下の不等式２を満たすかどうかを検証する（ステップＴＳＴＬＤ）。
不等式２：
【００５７】
【数１８】
2004509531.tif 000016
不等式２を満たす場合、ｌ＝ｌ＋１としてセットし（ＹＥＳを返答する）、（最大値になるまで）ステップ０へ戻る。
【００５８】
５．この検証結果がＮＯである場合、以下の式３を使用して、各マクロブロックｋに対して、ビットの数
【００５９】
【数１９】
2004509531.tif 000017
を計算する（ステップＣＰＢＢＭ）。
【００６０】
式３：
【００６１】
【数２０】
2004509531.tif 000018
【図面の簡単な説明】
【図１】
動き補償のある３次元サブバンド分解における、ビデオ情報の時間的サブバンド分解（８個のフレームのグループＧＯＦ）を示す図である。
【図２】
各時空間サブバンドの各フレームのブロックへの分割と、２次元の場合におけるマクロブロック内のブロックの走査順序とを示す図である。
【図３】
３番目の空間分解に対応したマクロブロックにおける二つのフレームの場合のブロックインターレース方式の説明図である。
【図４】
水平、垂直及び対角サブバンドにおける走査順序の説明図である。
【図５】
マクロブロックのヘッダの構造の説明図である。
【図６】
ビットストリーム中のマクロブロック構造の説明図である。
【図７】
ＧＯＦのヘッダの構造の説明図である。
【図８】
本発明の一実施例に関するフローチャートである。
【図５】
2004509531.tif 000023
【図６】
2004509531.tif 000024
【図７】
2004509531.tif 000025
【国際公開パンフレット】
2004509531.tif 000026
2004509531.tif 000027
2004509531.tif 000028
2004509531.tif 000029
2004509531.tif 000030
2004509531.tif 000031
2004509531.tif 000032
2004509531.tif 000033
2004509531.tif 000034
2004509531.tif 000035
2004509531.tif 000036
2004509531.tif 000037
2004509531.tif 000038
2004509531.tif 000039
2004509531.tif 000040
2004509531.tif 000041
2004509531.tif 000042
2004509531.tif 000043
2004509531.tif 000044
2004509531.tif 000045
2004509531.tif 000046
2004509531.tif 000047
2004509531.tif 000048
2004509531.tif 000049
2004509531.tif 000050
【国際公開パンフレット（コレクトバージョン）】
2004509531.tif 000051
【国際公開パンフレット（コレクトバージョン）】
2004509531.tif 000052
【国際調査報告】
2004509531.tif 000053
2004509531.tif 000054
2004509531.tif 000055
2004509531.tif 000056
2004509531.tif 000057
2004509531.tif 000058