(57)【要約】  本発明は、第１の値を有する特定の第１の数のデータシンボルおよび第１の値以外の値を有する特定の第２の数のデータシンボルを含むデータシンボルのセットが可変長符号語により表される適応可変長符号化の方法に関する。本発明によると、データシンボルに適用される可変長符号化の少なくとも１つの特性が、第１の値以外の値を有する第２の数のデータシンボルに従って適応させられる。本発明は、対応する可変長デコード方法、ならびに本発明による可変長符号化およびデコード方法を実現するエンコーダおよびデコーダにも関する。
2005516456.tif 000002
【特許請求の範囲】
【請求項１】
第１の値を有する特定の第１の数のデータシンボルおよび前記第１の値以外の値を有する特定の第２の数のデータシンボルを含むデータシンボルのセットをエンコードする方法であって、可変長符号化されるシンボルのセットは前記データシンボルのセットから形成され、可変長エンコードは、可変長エンコードされる前記シンボルのセットに適用される前記方法において、可変長エンコードされる前記シンボルのセットに適用される可変長エンコードの少なくとも１つの特性が、可変長エンコードされるシンボルの数に従って適応させられることを特徴とする方法。
【請求項２】
可変長エンコードされたシンボルの数の表示がデコード装置へ伝送されることを特徴とする請求項１に記載の方法。
【請求項３】
データシンボルの値を示す第１の値および前記データシンボルに先行または続くゼロ値データシンボルの数を示す第２の値を含む値のペアによって前記第２の数のデータシンボルの各々を表すことを含み、それによって、可変長エンコードされる前記シンボルを表す第１および第２の値のぺアのセットを形成することを特徴とする請求項１または２に記載の方法。
【請求項４】
可変長エンコードされる前記シンボルの各々が符号語に割り当てられるマッピング操作の実行を含み、それによって、可変長エンコードされる前記シンボルを表すエンコードされた値のセットを形成し、前記符号語は、符号語のセットから選択され、前記符号語のセットは、前記マッピング操作において用いられる場合に、可変長エンコードされる前記シンボルを表すために必要とされる情報量の低減をもたらすように設計されていることを特徴とする請求項１、２または３に記載の方法。
【請求項５】
前記マッピング操作は、前記第２の数のデータシンボルに依存することを特徴とする請求項４に記載の方法。
【請求項６】
前記マッピング操作は、可変長エンコードされるシンボルの符号語への割り当てを各々が定義する選択可能な割り当てテーブルのセットの内の１つを選択すること、および前記選択された割り当てテーブルにより定義された前記割り当てに従って、可変長エンコードされる前記シンボルの各々を符号語へ割り当てることを特徴とする請求項５に記載の方法。
【請求項７】
割り当てテーブルが、前記データシンボルのセットの特性に基づいて選択されることを特徴とする請求項６に記載の方法。
【請求項８】
前記特定の第１の数のデータシンボルはゼロ値データシンボルであり、前記特定の第２の数のデータシンボルは非ゼロ値データシンボルであることを特徴とする請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記データシンボルのセットは、量子化された変換係数値のセットであることを特徴とする請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
第１および第２の値の前記ペアの前記第１の値は、非ゼロ値量子化変換係数の値を表し、第１および第２の値の前記ペアの前記第２の値は、前記非ゼロ値量子化変換係数に先行するゼロ値量子化変換係数の数を表すことを特徴とする請求項３に記載の方法。
【請求項１１】
データシンボルのセットを表す可変長符号語をデコードする方法であって、前記データシンボルのセットは、第１の値を有する特定の第１の数のデータシンボルと前記第１の値以外の値を有する特定の第２の数のデータシンボルとを含み、前記データシンボルのセットは、前記データシンボルのセットから可変長エンコードされるデータシンボルのセットを形成することによりエンコードされており、前記可変長符号語は、可変長エンコードされる前記シンボルのセットに可変長エンコードを適用することにより形成されている前記方法において、可変長符号語に適用されるデコードの少なくとも１つの特性が、可変長エンコードされた前記シンボルのセット中のシンボルの数の表示に従って適応されていることを特徴とする方法。
【請求項１２】
可変長エンコードされた前記シンボルのセット中のシンボルの前記数の前記表示は、エンコード装置から受信されることを特徴とする請求項１１に記載の方法。
【請求項１３】
可変長エンコードされたシンボルの前記数の各々は、データシンボルの値を示す第１の値および前記データシンボルに先行または続くゼロ値データシンボルの数を示す第２の値を含む値のペアにより表され、第１および第２の値の前記ペアは、可変長エンコードされた前記シンボルを表すことを特徴とする請求項１１または１２に記載の方法。
【請求項１４】
可変長エンコードされた前記シンボルのセットの内の特定の１つを識別するために各可変長符号語が用いられる逆マッピング操作の実行を含むことを特徴とする請求項１１、１２または１３に記載の方法。
【請求項１５】
前記逆マッピング操作は、可変長エンコードされた前記シンボルのセット中のデータシンボルの第２の数の前記表示に基づくことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記逆マッピング操作は、エンコードされるシンボルの符号語への割り当てを各々が定義する選択可能な割り当てテーブルのセットの内の１つを選択すること、および前記選択された割り当てテーブルにより定義される前記割り当てに従って可変長エンコードされた前記シンボルの内の特定の１つを特定することにより実行されることを特徴とする請求項１５に記載の方法。
【請求項１７】
割り当てテーブルが、前記データシンボルのセットの特性に基づいて選択されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記特定の第１の数のデータシンボルはゼロ値データシンボルであり、前記特定の第２の数のデータシンボルは非ゼロ値データシンボルであることを特徴とする請求項１１〜１７のいずれか一項に記載の方法。
【請求項１９】
第１の値を有する特定の第１の数のデータシンボルおよび前記第１の値以外の値を有する特定の第２の数のデータシンボルを含むデータシンボルのセットをエンコードするためのエンコーダであって、可変長エンコードされるシンボルのセットは、前記データシンボルのセットから形成されるように構成されており、可変長エンコードされる前記シンボルのセットを可変長エンコードするための手段を含む前記エンコーダにおいて、可変長エンコードされるシンボルの数に従って、可変長エンコードされる前記シンボルのセットに適用される可変長エンコードの特性の少なくとも１つを適応させるように構成されていることを特徴とするエンコーダ。
【請求項２０】
可変長エンコードされるシンボルの前記数の表示を含むビットストリームを形成するように構成されていることを特徴とする請求項１９に記載のエンコーダ。
【請求項２１】
可変長エンコードされるシンボルの前記数の表示をデコード装置へ伝送するように構成されていることを特徴とする請求項１９に記載のエンコーダ。
【請求項２２】
データシンボルの値を示す第１の値および前記データシンボルに先行または続くゼロ値データシンボルの数を示す第２の値を含む値のペアによって前記第２の数のデータシンボルの各々を表すように構成されており、それによって、可変長エンコードされる前記シンボルを表す第１および第２の値のぺアのセットを形成することを特徴とする請求項１９、２０または２１に記載のエンコーダ。
【請求項２３】
可変長エンコードされる前記シンボルの各々が符号語に割り当てられるマッピング操作を実行するように構成されており、それによって、可変長エンコードされる前記シンボルを表すエンコードされた値のセットを形成し、符号語は符号語のセットから選択され、前記符号語のセットは、前記マッピング操作において用いられる場合に、可変長エンコードされる前記シンボルを表すために必要とされる情報量の低減をもたらすように設計されていることを特徴とする請求項２０〜２２のいずれか一項に記載のエンコーダ。
【請求項２４】
前記マッピング操作は、前記第２の数のデータシンボルに基づくように構成されていることを特徴とする請求項２３に記載のエンコーダ。
【請求項２５】
前記マッピング操作は、可変長エンコードされるシンボルの符号語への割り当てを各々が定義する選択可能な割り当てテーブルのセットの内の１つを選択すること、および前記選択されたテーブルにより定義された割り当てに従って、第２の数のデータシンボルの各々を符号語へ割り当てることを特徴とする請求項２４に記載のエンコーダ。
【請求項２６】
前記データシンボルのセットの特性に基づいて割り当てテーブルを選択するように構成されていることを特徴とする請求項２５に記載のエンコーダ。
【請求項２７】
前記特定の第１の数のデータシンボルはゼロ値データシンボルであり、前記特定の第２の数のデータシンボルは非ゼロ値データシンボルであることを特徴とする請求項１９〜２６のいずれか一項に記載のエンコーダ。
【請求項２８】
ビデオエンコーダ中に設けられる請求項１９〜２７のいずれか一項に記載のエンコーダ。
【請求項２９】
コンピュータ可読記憶媒体上に保存された機械実行可能なコードとして実装される請求項１９〜２７のいずれか一項に記載のエンコーダ。
【請求項３０】
データシンボルのセットを表す可変長符号語をデコードするためのデコーダであって、前記データシンボルのセットは、第１の値を有する特定の第１の数のデータシンボルと前記第１の値以外の値を有する特定の第２の数のデータシンボルとを含み、前記データシンボルのセットは、可変長エンコードされるシンボルのセットを形成することによりエンコードされており、前記可変長符号語は、可変長エンコードされる前記シンボルのセットに可変長エンコードを適用することにより形成されている前記デコーダにおいて、前記可変長符号語に適用されるデコードの少なくとも１つの特性を可変長エンコードされた前記シンボルのセット中のシンボルの数の表示に従って適応させるように構成されていることを特徴とするデコーダ。
【請求項３１】
可変長エンコードされた前記シンボルのセット中のシンボルの前記数の前記表示は、エンコード装置から受信されることを特徴とする請求項３０に記載のデコーダ。
【請求項３２】
データシンボルの値を示す第１の値および前記データシンボルに先行または続くゼロ値データシンボルの数を示す第２の値を含む値のペアを含むデータシンボルを表す可変長符号語をデコードするように構成されていることを特徴とする請求項３０または３１に記載のデコーダ。
【請求項３３】
可変長エンコードされた前記シンボルのセットの内の特定の１つを特定するために各可変長符号語が用いられる逆マッピング操作を実行することにより前記可変長符号語をデコードするように構成されていることを特徴とする請求項３０、３１または３２に記載のデコーダ。
【請求項３４】
前記逆マッピング操作は、前記データシンボルのセット中の前記第２の数のデータシンボルの前記表示に基づくように構成されていることを特徴とする前記請求項３３に記載のデコーダ。
【請求項３５】
前記逆マッピング操作は、可変長エンコードされたシンボルの符号語への割り当てを各々が定義する選択可能な割り当てテーブルのセットの内の１つを選択すること、および前記選択された割り当てテーブルにより定義された割り当てに従って可変長エンコードされた前記シンボルの内の特定の１つを特定することにより実行されるように構成されていることを特徴とする前記請求項３４に記載のデコーダ。
【請求項３６】
前記データシンボルのセットの１つの特性に基づいて割り当てテーブルを選択するように構成されていることを特徴とする請求項３５に記載のデコーダ。
【請求項３７】
前記特定の第１の数のデータシンボルはゼロ値データシンボルであり、前記特定の第２の数のデータシンボルは非ゼロ値データシンボルであることを特徴とする３０〜３６のいずれか一項に記載のデコーダ。
【請求項３８】
ビデオデコーダ中に設けらる請求項３０〜３７のいずれか一項に記載のデコーダ。
【請求項３９】
コンピュータ可読記憶媒体上に格納された機械実行可能なコードとして実装される請求項３０〜３７のいずれか一項に記載のデコーダ。
【請求項４０】
請求項１９〜２９のいずれか一項に記載のエンコーダを含むマルチメディア端末。
【請求項４１】
請求項３０〜３９のいずれか一項に記載のデコーダを含むマルチメディア端末。
【請求項４２】
無線接続手段によって移動通信網と通信するように構成された移動マルチメディア端末であることを特徴とする請求項４０または４１に記載のマルチメディア端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータシンボルの可変長符号化に関する。より具体的には、本発明は、デジタルビデオの符号化における応用に適した可変長符号化の方法に関する。
【背景技術】
【０００２】
デジタルビデオシーケンスは、フィルムに記録された通常の映画と同じように、一連の静止画像を含み、画像を比較的速いレートで、典型的には毎秒１５ないし３０フレームで次々に表示することによって動きの幻覚が作り出される。表示レートが比較的速いので、連続フレーム中の画像は、ほぼ類似する傾向があり、それゆえ、かなりの量の冗長な情報を含んでいる。例えば、典型的な場面は、背景風景のようないくつかの静止要素と、多種多様な形態、例えばニュースキャスターの顔、動いている交通等、を取り得るいくつかの動く領域とを含み得る。代わりに、場面を記録しているカメラ自体が移動していることがあり、その場合、画像の全要素は同じ種類の動きを有している。多くの場合、このことは、１つのビデオフレームと次のビデオフレームとの間の全体的変化はかなり小さいことを意味している。
【０００３】
非圧縮デジタルビデオシーケンスの各フレームは、画像ピクセルの配列を含んでいる。例えば、クオーター共通交換形式（ＱＣＩＦ：Quarter Common Interchange Format）として知られる、一般に用いられるデジタル画像形式において、１つのフレームは、１７６×１４４ピクセルの配列を含み、その場合、各フレームは２５，３４４個のピクセルを含む。次に、各ピクセルは、そのピクセルに対応する画像領域の輝度および／または色コンテンツについての情報を伝える特定数のビットにより表される。一般的に、いわゆるＹＵＶカラーモデルが、画像の輝度およびクロミナンスコンテンツを表すために使用される。輝度、すなわちＹ、成分は、画像の強度（明るさ）を表す一方、画像の色コンテンツは、２つのクロミナンスすなわちＵおよびＹと表記される色差成分により表される。
【０００４】
画像コンテンツの輝度／クロミナンス表現に基づくカラーモデルは、原色（すなわち、赤、緑および青、ＲＧＢ）を含む表現に基づくカラーモデルと比較していくつかの利点を提供する。人間の視覚系は、色の変化に対するよりも強度の変化に対してより敏感であり、ＹＵＶカラーモデルは、輝度成分（Ｙ）についてよりもクロミナンス成分（Ｕ，Ｖ）についてより低い空間分解能を用いることによりこの特性を利用している。このようにして、画質低下を容認できるものにしつつ、画像中の色情報を符号化するために必要とされる情報量を低減できる。
【０００５】
クロミナンス成分のより低い空間分解能は通常、サブサンプリングによって達成される。典型的には、ビデオシーケンスの各フレームは、輝度（Ｙ）情報および空間的にサブサンプリングされる関連クロミナンス（Ｕ，Ｖ）情報を含むいわゆる‘マクロブロック’に分割される。図３は、マクロブロックが形成され得る１つの方法を例示している。図３ａは、ＹＵＶカラーモデルを用いて表わされたビデオシーケンスのフレームを示しており、各成分が同じ空間分解能を有している。マクロブロックは、元の画像中の１６×１６画像ピクセルの範囲を（図３ｂ）４つの輝度情報ブロックとして表わすことにより形成され、各輝度ブロックは、輝度(Ｙ)値の８×８配列および空間的に対応する２つのクロミナンス成分（Ｕ，Ｖ)を含み、このクロミナンス成分は、ｘおよびｙ方向において２のファクターによりサブサンプリングされて、８×８クロミナンス(Ｕ，Ｖ)値の対応する配列を与える(図３ｃ参照)。国際電気通信連合（ＩＴＵ−Ｔ）勧告Ｈ．２６Ｌのような特定のビデオ符号化勧告によると、マクロブロック内で用いられる基本ブロックサイズは、８×８以外、例えば４×８または４×４とすることができる。（G. Bjontegaard, “H.26L Test Model Long Term Number 8 (TML-8) draft0”, VCEG-N10, June 2001, section 2.3参照）。
【０００６】
１つのＱＣＩＦ画像は１１×９個のマクロブロックを含む。輝度ブロックおよびクロミナンスブロックが８ビット分解能で（つまり、０から２５５の範囲の数により）表されれば、マクロブロック毎に必要とされる総ビット数は、（１６×１６×８）＋２×（８×８×８）＝３０７２ビットである。ＱＣＩＦ形式のビデオフレームを表すために必要なビット数は、従って９９×３０７２＝３０４，１２８ビットである。このことは、ＹＵＶカラーモデルを用いて表された、ＱＣＩＦ形式の非圧縮ビデオシーケンスを３０フレーム／秒のレートで伝送／記録／表示するために必要とされるデータ量が９Ｍｂｐｓ（１００万ビット／秒）以上であることを意味している。これは極めて高いデータレートであり、必要とされる記憶容量、伝送チャンネル容量およびハードウェア性能が非常に大きいため、ビデオ記録、伝送および表示の用途に使用するのは非実用的である。
【０００７】
ビデオデータが、ＩＳＤＮ（Integrated Services Digital Network：統合サービスデジタル網）または従来のＰＳＴＮ（Public Service Telephone Network：公衆電話網）のような固定回線網上をリアルタイムで伝送されるのであれば、利用可能なデータ伝送帯域幅は、典型的には６４ｋｂｉｔｓ／秒程度である。伝送が少なくとも部分的に無線通信リンク上で行われる移動ビデオ電話技術においては、利用可能帯域幅は２０ｋｂｉｔｓ／秒と低くなり得る。このことは、低帯域幅通信網上でのデジタルビデオシーケンスの伝送を可能にするために、ビデオデータを表すために用いられる情報量のかなりの低減を達成しなければならないことを意味している。この理由から、許容できる画質を維持しつつ伝送される情報量を低減するビデオ圧縮技術が開発されてきた。
【０００８】
ビデオ圧縮方法は、ビデオシーケンスの冗長かつ知覚的に関係のない部分を減らすことに基づいている。ビデオシーケンス中の冗長性は、空間的、時間的およびスペクトル冗長性に分類できる。‘空間的冗長性’は、フレーム内の近隣ピクセル間の相関（類似性）を説明するために用いられる用語である。用語‘時間的冗長性’は、シーケンスの１フレーム中に現れるオブジェクトがそれに続くフレーム中に現れる可能性があるという事実を表すのに対して、‘スペクトル冗長性’は、同じ画像の異なる色成分間の相関を意味する。
【０００９】
十分に効率的な圧縮は通常、所定の画像シーケンス中の様々な形態の冗長性を単に減らすだけでは達成できない。従って、ほとんどの現行のビデオエンコーダは、主観的に最も重要でないビデオシーケンスの部分の品質も低減する。さらに、圧縮されたビデオビットストリーム自体の冗長性は、効率的な無損失エンコードによって低減される。一般に、これは、エントロピー符号化として知られている技術を使って達成される。
【００１０】
デジタルビデオシーケンスの各フレームを構成するピクセル間に相当量の空間的冗長性があることがよくある。言い換えれば、シーケンスのフレーム内のどんなピクセルの値も、その直近の他のピクセルの値と実質的に同じである。典型的には、ビデオ符号化システムは、数学的変換が画像のピクセルにマクロブロックごとに適用される‘ブロックベース変換符号化’として知られている手法を用いて空間的冗長性を低減する。変換符号化は、ピクセル値を含む表現からの画像データを、各々が当該変換の基底関数についての重み係数（乗数）である係数値のセットを含む形式に変換する。２次元離散コサイン変換（ＤＣＴ）のような特定の数学的変換を用いることにより、デジタルビデオシーケンスのフレーム内の空間的冗長性を著しく低減することができ、その結果、画像データのよりコンパクトな表現を作り出す。
【００１１】
ビデオシーケンス内の他のどのようなフレームも参照することなく、ブロックベース変換符号化を用いて圧縮されるビデオシーケンスのフレームは、ＩＮＴＲＡ符号化またはＩフレームと呼ばれる。その上、可能な場合には、ＩＮＴＲＡ符号化されたフレームのブロックは、同じフレーム内の前もって符号化されたブロックから予測される。ＩＮＴＲＡ予測として知られるこの手法は、ＩＮＴＲＡ符号化されたフレームを表現するために必要とされるデータ量をさらに低減する効果がある。
【００１２】
一般に、ビデオ符号化システムは、ビデオシーケンスの個々のフレーム内の空間的冗長性を低減するだけでなく、シーケンス中の時間的冗長性を減らすために‘動き補償予測’として知られている手法も利用する。動き補償予測を用いると、デジタルビデオシーケンス中のいくつか（しばしば多く）のフレームの画像コンテンツが、‘参照’または‘アンカー’フレームとして知られているシーケンス中の１つ以上の他のフレームから‘予測される’。画像コンテンツの予測は、符号化（圧縮）されるフレームと参照フレームとの間での画像のオブジェクトまたは範囲の動きを‘動きベクトル’を用いて追跡することによって達成される。一般に、参照フレームは、ビデオシーケンス中で、符号化されるフレームに先行するかこれに続くことができる。ＩＮＴＲＡ符号化の場合のように、ビデオフレームの動き補償予測は、典型的にはマクロブロックごとに実行される。
【００１３】
動き補償予測を用いて圧縮されるビデオシーケンスのフレームは、ＩＮＴＥＲ符号化またはＰフレームと一般に呼ばれる。動き補償予測のみでは、ビデオフレームの画像コンテンツの十分に精密な表現が提供されることはめったになく、従って、各ＩＮＴＥＲ符号化フレームにいわゆる‘予測エラー’（ＰＥ）フレームを提供することが一般に必要である。予測エラーフレームは、ＩＮＴＥＲ符号化フレームのデコードされたバージョンと符号化されるフレームの画像コンテンツとの間の差分を表す。より具体的には、予測エラーフレームは、符号化されるフレーム中のピクセル値と当該フレームの予測されたバージョンに基づいて形成された対応する再構築されたピクセル値との間の差分を表す値を含む。その結果、予測エラーフレームは静止画像と同様な特性を有し、その空間的冗長性それゆえそのフレームを表すのに必要なデータ量（ビット数）を低減するためにブロックベース変換符号化が適用できる。
【００１４】
ビデオ符号化システムの動作をより詳細に例示するために、図１および図２を参照する。図１は、圧縮された（エンコードされた）ビデオビットストリームを作り出すためにＩＮＴＲＡおよびＩＮＴＥＲ符号化の組合せを利用する汎用ビデオエンコーダの概略図である。対応するデコーダが図２に例示されており、本明細書中で後述する。
【００１５】
ビデオエンコーダ１００は、カメラまたは他のビデオソース（図示せず）からデジタルビデオ信号を受信するための入力１０１を備えている。エンコーダは、ブロックベース離散コサイン変換（ＤＣＴ）を実行するように構成された変換ユニット１０４、量子化器１０６、逆量子化器１０８、逆ブロックベース離散コサイン変換（ＩＤＣＴ）を実行するように構成された逆変換ユニット１１０、結合器１１２および１１６、ならびにフレーム記憶装置１２０も含んでいる。エンコーダは、動き推定器１３０、動き場コーダ１４０および動き補償予測器１５０をさらに備えている。スイッチ１０２および１１４は、エンコーダをビデオエンコードのＩＮＴＲＡモードとビデオエンコードのＩＮＴＥＲモードとの間で切り替えるために、コントロールマネージャー１６０により協調的に操作される。エンコーダ１００は、遠方の受信端末へのさらなる伝送のため、または、例えば、コンピュータハードドライブのような大容量記憶媒体（図示せず）上での記憶のためにエンコーダ１００によって作り出された種々のタイプの情報から単一ビットストリームを形成するビデオ多重コーダ１７０も備えている。
【００１６】
エンコーダ１００は以下の通り動作する。ビデオソースから入力１０１へ提供される非圧縮ビデオの各フレームは、好ましくはラスタ−スキャン方式でマクロブロックごとに受信および処理される。新しいビデオシーケンスのエンコードが開始すると、エンコードされる最初のフレームが、ＩＮＴＲＡ符号化フレームとしてエンコードされる。その後、以下の条件、すなわち、１）符号化されているフレームの現在のマクロブロックが、その予測に用いられる参照フレーム中のピクセル値と非常に異なるため、過剰な予測エラー情報が作り出されると判定される（その場合、現在のマクロブロックはＩＮＴＲＡ符号化形式で符号化される）、２）あらかじめ定義されたＩＮＴＲＡフレーム繰返し間隔が満了した、または、３）フレームがＩＮＴＲＡ符号化形式で提供されることを要求する受信端末からのフィードバックが受信される、の１つが満たされない限り、エンコーダは各フレームをＩＮＴＥＲ符号化形式で符号化するようにプログラムされる。
【００１７】
条件１）の発生は、結合器１１６の出力を監視することにより検出される。結合器１１６は、符号化されているフレームの現在のマクロブロックと、動き補償予測ブロック１５０において作り出される予測との間の差分を形成する。もしこの差分の測定値（例えば、ピクセル値の絶対差分の合計）が、所定のしきい値を超過すれば、結合器１１６はコントロールライン１１９を介してコントロールマネージャー１６０に通知し、コントロールマネージャー１６０は、エンコーダ１００をＩＮＴＲＡ符号化モードに切り替えるため、コントロールライン１１３を介してスイッチ１０２および１１４を操作する。このようにして、さもなければＩＮＴＥＲ符号化形式でエンコードされるフレームがＩＮＴＲＡ符号化マクロブロックを含むことがある。条件２）の発生は、タイマーが満了するかフレームカウンターがフレームの所定数に達すれば、コントロールマネージャー１６０が、スイッチ１０２および１１４を操作して、コントロールライン１１３を介してエンコーダをＩＮＴＲＡ符号化モードに切り替えるように、コントロールマネージャー１６０に実装されたタイマーまたはフレームカウンターよって監視される。もしコントロールマネージャー１６０が、ＩＮＴＲＡフレームリフレッシュが受信端末により要求されていることを示すフィードバック信号を、例えば受信端末からコントロールライン１２１を介して受信すれば、条件３）が起動される。例えば、前に伝送されたフレームが、その伝送中の障害によりひどく損なわれ、受信器においてデコードすることが不可能になれば、そのような条件が生じることがある。この状況において、受信デコーダは、次のフレームがＩＮＴＲＡ符号化形式でエンコードされるように要求を出し、従って、符号化シーケンスを再初期化する。
【００１８】
ＩＮＴＲＡ符号化モードにおけるエンコーダ１００の動作を説明する。ＩＮＴＲＡ符号化モードにおいて、コントロールマネージャー１６０は、スイッチ１０２を操作して入力ライン１１８からビデオ入力を受け入れる。ビデオ信号入力は、入力１０１から入力ライン１１８を介してマクロブロックごとに受信される。それらが受信されると、マクロブロックを構成する輝度値およびクロミナンス値のブロックがＤＣＴ変換ブロック１０４に送られ、この変換ブロックは、値の各ブロックに対して２次元離散コサイン変換を実行して、各ブロックについてＤＣＴ係数の２次元配列を作り出す。ＤＣＴ変換ブロック１０４は、各ブロックについて係数値の配列を作り出し、係数値の数は、マクロブロックを構成するブロックの性質に依存している。例えば、マクロブロックにおいて使われる基本ブロックサイズが４×４であれば、ＤＣＴ変換ブロック１０４は、各ブロックについてＤＣＴ係数の４×４配列を作り出す。ブロックサイズが８×８であれば、ＤＣＴ係数の８×８配列が作り出される。
【００１９】
各ブロックについてのＤＣＴ係数は量子化器１０６に送られ、そこで量子化パラメータＱＰを用いて量子化される。量子化パラメータＱＰの選択は、コントロールライン１１５を介してコントロールマネージャー１６０により制御される。量子化により情報の損失が生じるが、これは、量子化された係数は、当初ＤＣＴ変換ブロック１０４により生成された係数よりも数値精度が低いからである。これにより、ビデオシーケンスの各画像を表すために必要なデータ量を低減できるさらなる機構が提供される。しかしながら、本質的に無損失であるＤＣＴ変換とは異なり、量子化により生じた情報損失は、画質における不可逆的劣化を引き起こす。ＤＣＴ係数に適用される量子化の程度が大きくなればなるほど、画質の損失はより大きくなる。
【００２０】
各ブロックについて量子化されたＤＣＴ係数は、図１のライン１２５により示されるように、量子化器１０６からビデオ多重コーダ１７０に送られる。ビデオ多重コーダ１７０は、ジグザグスキャン手順を用いて各ブロックについて量子化された変換係数を順序付けする。この操作により、量子化された変換係数の２次元配列が、１次元配列に変換される。図４に示されるような４×４配列についての典型的なジグザグスキャン順序は、係数を空間周波数のほぼ昇順に順序付けする。これは、１次元配列中により早く配置された係数がその配列中により遅く配置された係数よりも大きい絶対値を有する確率が強くなるように、係数をそれらの値に従って順序付ける傾向もある。これは、より低い空間周波数が画像ブロック内でより高い振幅を有する傾向があるからである。その結果、量子化された変換係数の１次元配列中の最後付近で生じる値はゼロになる傾向がある。
【００２１】
典型的には、ビデオ多重コーダ１７０は、１次元配列中の各非ゼロ量子化係数を、ｌｅｖｅｌおよびｒｕｎと呼ばれる２つの値で表す。ｌｅｖｅｌは、量子化された係数の値であり、ｒｕｎは、当該係数に先行する連続したゼロ値係数の数である。ある特定の係数についてのｒｕｎおよびｌｅｖｅｌ値は、ｌｅｖｅｌ値が、関連するｒｕｎ値に先行するように順序付けされる。ゼロに等しいｌｅｖｅｌ値は、そのブロック中に非ゼロ係数値がもはやないことを示すために用いられる。この０−ｌｅｖｅｌ値は、ＥＯＢ（end-of-block：ブロック終結）シンボルと呼ばれる。
【００２２】
ｒｕｎおよびｌｅｖｅｌ値は、ビデオ多重コーダ１７０中でエントロピー符号化を用いてさらに圧縮される。エントロピー符号化は、無損失操作であり、符号化されるデータセット内のシンボルが様々な発生確率を一般に有しているという事実を利用する。ｌｅｖｅｌおよびｒｕｎの特定の値は他のものよりも発生する確率が高いので、エントロピー符号化手法は、量子化された変換係数を表すｒｕｎおよびｌｅｖｅｌ値を符号化するために必要とされるビット数を効果的に低減するために用い得る。いくつかの異なる方法を、エントロピー符号化を実現するために用い得る。ビデオ符号化システムにおいて一般的に用いられる１つの方法は、可変長符号化（ＶＬＣ）として知られている。一般に、ＶＬＣ符号語は、所定の符号語の長さが、それが表しているシンボルの発生頻度に対応するように構成されたビット（すなわち、０および１）のシーケンスである。従って、符号化される各シンボルを表すために固定数のビットを用いる代わりに、発生する確率がより高いシンボルが、より少ないビットを有するＶＬＣ符号語により表されるように、可変数のビットが割り当てられる。符号語の長さは異なることがある（そして一般にそうである）ので、符号語の長さは、一意的にデコード可能となるようにも構成されなければならない。言い換えれば、特定の有限長さを有する有効なビットのシーケンスがデコーダにより受信されれば、受信されたビットのシーケンスに対応する唯一の考えられるシンボルの入力シーケンスがあるべきである。図１に示されるビデオエンコーダにおいて、可変長符号化を用いるｒｕｎおよびｌｅｖｅｌパラメータのエントロピー符号化は、符号化されるデータセット中の各可能なシンボルとその対応する可変長コードとの間のマッピングを定義するルックアップテーブルを用いて実現できる。そのようなルックアップテーブルは、符号化されるシンボルと同一のシンボルを含みかつ同様な統計的特性を有するトレーニングマテリアルの統計解析により定義されることが多い。
【００２３】
算術符号化として知られている別のエントロピー符号化方法も、ｒｕｎおよびｌｅｖｅｌ値を可変長符号語に変換するために用い得る。算術符号化において、シンボルのグループ、例えば、量子化された変換係数のブロックについてのｒｕｎおよびｌｅｖｅｌ値は、単一の浮動小数点１０進数として符号化される。シンボルのグループが単一の符号語を用いてエンコードされるエントロピー符号化へのこのアプローチは、各シンボルを独立して表す可変長符号化のような方法と比較して改善された圧縮効率につながり得る。算術符号化に関するさらなる詳細は、例えば、Vasudev BhaskaranおよびKonstantinos Konstantinides“画像およびビデオ圧縮標準（Image and Video Compression Standards）”2nd Edition, Kluwer Academic Publishers, 1999, ISBN 0-7923-9952-8, Section 2.9から見出し得る。
【００２４】
適切な方法を用いてｒｕｎおよびｌｅｖｅｌ値がひとたびエントロピー符号化されると、ビデオ多重コーダ１７０はさらに、それらの値を、当該情報の種類に適した可変長符号化方法を用いてやはりエントロピー符号化された制御情報と結合させて、符号化された画像情報１３５の単一の圧縮されたビットストリーム１３５を形成する。ビデオ多重コーダ１７０により実行される操作に関連してエントロピー符号化を説明してきたが、別の実施において別個のエントロピー符号化ユニットを設け得ることに注目しなければならない。
【００２５】
マクロブロックの局所的にデコードされたバージョンも、エンコーダ１００中で形成される。これは、量子化器１０６により出力された各ブロックについての量子化された変換係数を、逆量子化器１０８を通して送り、逆ＤＣＴ変換を逆変換ブロック１１０中で適用することによって行われる。このようにして、ピクセル値の再構成された配列が、マクロブロックの各ブロックについて構成される。その結果生じるデコードされた画像データは、結合器１１２に入力される。ＩＮＴＲＡ符号化モードにおいては、スイッチ１１４は、スイッチ１１４を介した結合器１１２への入力がゼロになるように設定される。このようにして、結合器１１２により実行される操作は、デコードされた画像データを未変更のまま送ることに等しい。
【００２６】
現在のフレームの以降のマクロブロックが受信され、前に説明されたエンコードおよび局所的デコードステップを、ブロック１０４、１０６、１０８、１１０、および１１２で受けるにつれて、ＩＮＴＲＡ符号化されたフレームのデコードされたバージョンがフレーム記憶装置１２０中に蓄積される。現在のフレームの最後のマクロブロックがＩＮＴＲＡ符号化され、続いてデコードされた時、フレーム記憶装置１２０は、その後受信されるＩＮＴＥＲ符号化形式のビデオフレームを符号化する際に予測参照フレームとして使用するために利用可能な完全にデコードされたフレームを含んでいる。
【００２７】
ＩＮＴＥＲ符号化モードでのエンコーダ１００の動作を説明する。ＩＮＴＥＲ符号化モードにおいて、コントロールマネージャー１６０は、結合器１１６の出力を含むその入力をライン１１７から受信するためにスイッチ１０２を操作する。結合器１１６は、入力１０１からマクロブロックごとにビデオ入力信号を受信する。マクロブロックを構成する輝度およびクロミナンス値のブロックを結合器１１６が受信するにつれて、結合器は対応する予測エラー情報ブロックを形成する。予測エラー情報は、当該ブロックと、動き補償予測ブロック１５０において作り出されたその予測との差分を表す。より具体的には、マクロブロックの各ブロックについての予測エラー情報は値の２次元配列を含み、値の各々は、符号化されている輝度またはクロミナンス情報のブロック中のピクセル値と、以下で説明される手順に従いそのブロックについての動き補償予測を形成することにより得られたデコードされたピクセル値との間の差分を表している。従って、各マクロブロックが、例えば、輝度およびクロミナンス値を含む４×４ブロックのアセンブリを含む状況において、マクロブロックの各ブロックについての予測エラー情報は、予測エラー値の４×４配列を同様に含んでいる。
【００２８】
マクロブロックの各ブロックについての予測エラー情報は、ＤＣＴ変換ブロック１０４に送られ、このブロックが、予測エラー値の各ブロックに対して２次元離散コサイン変換を実行して各ブロックについてＤＣＴ変換係数の２次元配列を生成する。ＤＣＴ変換ブロック１０４は、各予測エラーブロックについて係数値の配列を作り出し、係数値の数は、そのマクロブロックを構成しているブロックの性質に依存する。例えば、マクロブロックにおいて用いられる基本ブロックサイズが４×４であれば、ＤＣＴ変換ブロック１０４は、各予測エラーブロックについてＤＣＴ係数の４×４配列を作り出す。ブロックサイズが８×８であれば、ＤＣＴ係数の８×８配列が作り出される。
【００２９】
各予測エラーブロックについての変換係数は、量子化器１０６に送られ、そこで、ＩＮＴＲＡ符号化モードでのエンコーダの動作に関して上記で説明した方法と類似した方法で、量子化パラメータＱＰを用いて量子化される。やはり、量子化パラメータＱＰの選択は、コントロールライン１１５を介してコントロールマネージャー１６０により制御される。
【００３０】
マクロブロックの各ブロックについての予測エラー情報を表す量子化されたＤＣＴ係数は、図１のライン１２５により示されるように、量子化器１０６からビデオ多重コーダ１７０に送られる。ＩＮＴＲＡ符号化モードにおけるように、ビデオ多重コーダ１７０は、前に説明したジグザグスキャン手順（図４参照）を用いて各予測エラーブロックについての変換係数を順序付けし、次に、各非ゼロ量子化係数をｌｅｖｅｌおよびｒｕｎ値として表す。このコーダはさらに、ＩＮＴＲＡ符号化モードに関して上記で説明した方法と類似の方法で、エントロピー符号化を用いてｒｕｎおよびｌｅｖｅｌ値を圧縮する。ビデオ多重コーダ１７０は、ライン１２６を介して動き場符号化ブロック１４０から動きベクトル情報（以下で説明される）を、そしてコントロールマネージャー１６０から制御情報も受信する。このコーダは、動きベクトル情報および制御情報をエントロピー符号化し、エントロピー符号化された動きベクトル、予測エラーおよび制御情報を含む符号化された画像情報の単一ビットストリーム１３５を形成する。
【００３１】
マクロブロックの各ブロックについての予測エラー情報を表す量子化されたＤＣＴ係数も、量子化器１０６から逆量子化器１０８へ送られる。ここで、それらは逆量子化され、結果的に生じる逆量子化されたＤＣＴ係数のブロックが逆ＤＣＴ変換ブロック１１０に適用され、そこで逆ＤＣＴ変換を受けて予測エラー値の局所的にデコードされたブロックを作り出す。予測エラー値の局所的にデコードされたブロックは次に結合器１１２に入力される。ＩＮＴＥＲ符号化モードにおいて、スイッチ１１４は、動き補償予測ブロック１５０により生成されるマクロブロックの各ブロックについての予測ピクセル値も結合器１１２が受信するように設定される。結合器１１２は、予測エラー値の局所的にデコードされたブロックの各々を、予測されたピクセル値の対応するブロックと結合して、再構成された画像ブロックを作り出してそれらをフレーム記憶装置１２０内に保存する。
【００３２】
ビデオ信号の以降のマクロブロックがビデオソースから受信され、前に説明されたエンコードおよびデコードステップをブロック１０４、１０６、１０８、１１０、１１２で受けるにつれて、フレームのデコードされたバージョンがフレーム記憶装置１２０中に蓄積される。フレームの最後のマクロブロックが処理された時、フレーム記憶装置１２０は、その後受信されるＩＮＴＥＲ符号化形式のビデオフレームをエンコードする際の予測参照フレームとして使用するために利用可能な完全にデコードされたフレームを含む。
【００３３】
現在のフレームのマクロブロックについての予測の形成を説明する。ＩＮＴＥＲ符号化形式でエンコードされたどのようなフレームも、動き補償予測のための参照フレームを必要とする。このことは必然的に，ビデオシーケンスをエンコードする時、エンコードされる最初のフレームは、それがシーケンス中の最初のフレームであろうと他のフレームであろうと、ＩＮＴＲＡ符号化された形式でエンコードされなければならないことを意味している。このことは、ひいては、ビデオエンコーダ１００がコントロールマネージャー１６０によりＩＮＴＥＲ符号化モードに切り替えられると、前にエンコードされたフレームを局所的にデコードすることによって形成された完全な参照フレームが、エンコーダのフレーム記憶装置１２０中ですでに利用可能であることを意味している。一般に、参照フレームは、ＩＮＴＲＡ符号化されたフレームかＩＮＴＥＲ符号化されたフレームを局所的にデコードすることによって形成される。
【００３４】
現在のフレームのマクロブロックについての予測形成における最初のステップは、動き推定ブロック１３０により実行される。動き推定ブロック１３０は、符号化されるフレームの現在のマクロブロックを構成する輝度およびクロミナンス値のブロックをライン１２８を介して受信する。動き推定ブロックは次に、現在のマクロブロックと実質的に一致す参照フレーム中の領域を識別するために、ブロックマッチング操作を実行する。ブロックマッチング操作を実行するために、動き推定ブロックは、フレーム記憶装置１２０中に保存された参照フレームデータにライン１２７を介してアクセスする。より具体的には、動き推定ブロック１３０は、検査中のマクロブロックと、フレーム記憶装置１２０中に保存された参照フレームからの最もマッチする候補ピクセル領域との間のピクセル値の差分を表す差分値（例えば、絶対差分の合計）を計算することによりブロックマッチングを実行する。参照フレームの所定調査領域内の考えられるすべてのオフセットにおける候補領域についての差分値が作り出され、動き推定ブロック１３０が最小の計算された差分値を決定する。現在のフレーム中のマクロブロックと、最小差分を生じる参照フレーム中のピクセル値の候補ブロックとの間のオフセットは、当該マクロブロックについての動きベクトルを定義する。
【００３５】
動き推定ブロック１３０がマクロブロックについての動きベクトルをひとたび作り出すと、このブロックは、動きベクトルを動き場符号化ブロック１４０に出力する。動き場符号化ブロック１４０は、基底関数および動き係数のセットを含む動きモデルを用いて、動き推定ブロック１３０から受信された動きベクトルを見積もる。より具体的には、動き場符号化ブロック１４０は、動きベクトルを、基底関数を掛けられた時に、動きベクトルの近似値を形成する動き係数値のセットとして表す。典型的には、２つの動き係数と基底関数のみを有する並進動きモデルが用いられるが、複雑性がより大きい動きモデルも用い得る。
【００３６】
動き係数は、動き場符号化ブロック１４０から動き補償予測ブロック１５０へ送られる。動き補償予測ブロック１５０は、動き推定ブロック１３０により識別されたピクセル値の最もマッチする候補領域もフレーム記憶装置１２０から受信する。動き場符号化ブロック１４０により生成された動きベクトルの近似表現と、参照フレームからのピクセルの最もマッチする候補領域のピクセル値とを用いて、動き補償予測ブロック１５０は、マクロブロックの各ブロックについての予測されたピクセル値の配列を生成する。予測されたピクセル値の各ブロックは結合器１１６へ送られ、そこで、予測されたピクセル値は、現在のマクロブロックの対応するブロック中の実際の（入力）ピクセル値から減じられる。このように、マクロブロックについての予測エラーブロックのセットが得られる。
【００３７】
図２に示されるビデオデコーダ２００の動作を説明する。デコーダ２００は、エンコードされたビデオビットストリーム１３５をエンコーダ１００から受信しこれをその成分部分に多重分離するビデオ多重デコーダ２７０、逆量子化器２１０、逆ＤＣＴ変換器２２０、動き補償予測ブロック２４０、フレーム記憶装置２５０、結合器２３０、コントロールマネージャー２６０、および出力２８０を含む。
【００３８】
コントロールマネージャー２６０は、ＩＮＴＲＡ符号化されたフレームかそれともＩＮＴＥＲ符号化されたフレームがデコードされているかに呼応して、デコーダ２００の動作を制御する。デコーダをデコードモード間で切り替えさせるＩＮＴＲＡ／ＩＮＴＥＲトリガ制御信号が、例えば、エンコーダから受信された各圧縮ビデオフレームのヘッダー部分中に提供されるピクチャタイプ情報から導き出される。ＩＮＴＲＡ／ＩＮＴＥＲトリガ制御信号は、エンコードされたビデオビットストリームからビデオ多重デコーダ２７０によって抽出され、コントロールライン２１５を介してコントロールマネージャー２６０に送られる。
【００３９】
ＩＮＴＲＡ符号化されたフレームのデコードは、マクロブロックごとに実行され、各マクロブロックは、それに関連するエンコードされた情報が受信されたビデオビットストリーム１３５中で受信されるとほぼ直ちにデコードされる。ビデオ多重デコーダ２７０は、当該マクロブロックに関連する考えられる制御情報から、マクロブロックのブロックについてのエンコードされた情報を分離する。ＩＮＴＲＡ符号化されたマクロブロックの各ブロックについてのエンコードされた情報は、ブロックの非ゼロ量子化ＤＣＴ係数についてのエントロピー符号化されたｌｅｖｅｌおよびｒｕｎ値を表す可変長符号語を含む。ビデオ多重デコーダ２７０は、エンコーダ１００において用いられるエンコード方法に対応する可変長デコード方法を用いて可変長符号語をデコードし、それによって、ｌｅｖｅｌおよびｒｕｎ値を復元する。次にこのデコーダは、マクロブロックの各ブロックについての量子化された変換係数値の配列を再構成し、それらを逆量子化器２１０に送る。マクロブロックに関連するどのような制御情報も、適切なデコード方法を用いてビデオ多重デコーダにおいてデコードされ、コントロールマネージャー２６０に送られる。特に、変換係数に適用される量子化レベルに関する情報が、エンコードされたビットストリームからビデオ多重デコーダ２７０によって抽出され、コントロールライン２１７を介してコントロールマネージャー２６０に供給される。そして今度は、このコントロールマネージャーが、この情報をコントロールライン２１８を介して逆量子化器２１０に送る。逆量子化器２１０は、制御情報に従ってマクロブロックの各ブロックについて量子化されたＤＣＴ係数を逆量子化し、今逆量子化されたＤＣＴ係数を逆ＤＣＴ変換器２２０に供給する。
【００４０】
逆ＤＣＴ変換器２２０は、マクロブロックの各ブロックについての逆量子化されたＤＣＴ係数に対して逆ＤＣＴ変換を実行し、再構成されたピクセル値を含む画像情報のデコードされたブロックを形成する。ＩＮＴＲＡ符号化されたマクロブロックのエンコード／デコードにおいて動き補償予測が使用されないので、コントロールマネージャー２６０は、ＩＮＴＲＡ符号化されたマクロブロックのデコードにおいてどのような参照情報も使用されないように、結合器２３０を制御する。マクロブロックの各ブロックについての再構成されたピクセル値は、デコーダのビデオ出力２８０に送られ、そこで、例えば表示装置（図示せず）に供給し得る。マクロブロックの各ブロックについての再構成されたピクセル値はまた、フレーム記憶装置２５０中に保存し得る。ＩＮＴＲＡ符号化されたフレームのその後のマクロブロックがデコードおよび記憶されるにつれて、デコードされたフレームは、フレーム記憶装置２５０中で順次アセンブルされ、かくして、後に受信されたＩＮＴＥＲ符号化されたフレームのデコードに関連して、動き補償予測のための参照フレームとして使用するために利用可能になる。
【００４１】
ＩＮＴＥＲ符号化されたフレームもマクロブロックごとにデコードされ、各ＩＮＴＥＲ符号化されたマクロブロックは、それに関連するエンコードされた情報がビットストリーム１３５中で受信されるとほぼ直ちにデコードされる。ビデオ多重デコーダ２７０は、ＩＮＴＥＲ符号化されたマクロブロックの各ブロックについてのエンコードされた予測エラー情報を、エンコードされた動きベクトル情報および当該マクロブロックに関連する考えられる制御情報から分離する。上記で説明したように、マクロブロックの各ブロックについてのエンコードされた予測エラー情報は、当該予測エラーブロックについての非ゼロ量子化変換係数についてのエントロピー符号化されたｌｅｖｅｌおよびｒｕｎ値を表す可変長符号語を含んでいる。ビデオ多重デコーダ２７０は、エンコーダ１００において用いられる符号化方法に対応する可変長デコード方法を用いて可変長符号語をデコードし、それによって、ｌｅｖｅｌおよびｒｕｎ値を復元する。次にこのデコーダは、各予測エラーブロックについての量子化された変換係数値の配列を再構成し、それらを逆量子化器２１０に送る。ＩＮＴＥＲ符号化されたマクロブロックに関する制御情報も、ビデオ多重デコーダにおいて２７０、適切なデコード方法を用いてデコードされ、コントロールマネージャー２６０に送られる。予測エラーブロックの変換係数に適用される量子化レベルに関する情報が、エンコードされたビットストリームから抽出され、コントロールライン２１７を介してコントロールマネージャー２６０に提供される。そして今度は、コントロールマネージャーは、この情報をコントロールライン２１８を介して逆量子化器２１０に送る。逆量子化器２１０は、制御情報に従ってマクロブロックの各ブロックについての予測エラー情報を表す量子化されたＤＣＴ係数を逆量子化し、今逆量子化されたＤＣＴ係数を逆ＤＣＴ変換器２２０に供給する。次に、各ブロックについての予測エラー情報を表す逆量子化されたＤＣＴ係数は、逆ＤＣＴ変換器２２０において逆変換されて、マクロブロックの各ブロックについての再構成された予測エラー値の配列を生成する。
【００４２】
マクロブロックに関連したエンコードされた動きベクトル情報は、エンコードされたビデオビットストリーム１３５からビデオ多重デコーダ２７０により抽出され、デコードされる。このようにして得られたデコードされた動きベクトル情報は、コントロールライン２２５を介して動き補償予測ブロック２４０に送られて、このブロックが、エンコーダ１００においてＩＮＴＥＲ符号化されたマクロブロックをエンコードするために使用されたものと同じ動きモデルを用いてマクロブロックについての動きベクトルを再構成する。再構成された動きベクトルは、元々はエンコーダの動き推定ブロック１３０により決定される動きベクトルを見積もる。デコーダの動き補償予測ブロック２４０は、フレーム記憶装置２５０中に保存された予測参照フレーム中の再構成されたピクセルの領域の位置を特定するために、再構成された動きベクトルを用いる。参照フレームは、例えば、前にデコードされたＩＮＴＲＡ符号化されたフレーム、あるいは前にデコードされたＩＮＴＥＲ符号化されたフレームとすることができる。どちらの場合も、再構成された動きベクトルにより示されるピクセルの範囲は、当該マクロブロックについての予測を形成するために使用される。より具体的には、動き補償予測ブロック２４０は、参照フレーム中で識別されたピクセルの範囲から対応するピクセル値をコピーすることにより、マクロブロックの各ブロックについてのピクセル値の配列を形成する。予測、すなわち参照フレームから導き出されたピクセル値のブロックは、動き補償予測ブロック２４０から結合器２３０へ送られ、そこで、デコードされた予測エラー情報と結合される。実際には、予測された各ブロックのピクセル値は、逆ＤＣＴ変換器２２０により出力される対応する再構成された予測エラー値に加算される。このようにして、マクロブロックの各ブロックについての再構成されたピクセル値の配列が得られる。再構成されたピクセル値は、デコーダのビデオ出力２８０に送られて、またフレーム記憶装置２５０中に保存される。ＩＮＴＥＲ符号化されたフレームのその後のマクロブロックがデコードされて保存されるにつれて、デコードされたフレームがフレーム記憶装置２５０中で順次アセンブルされ、このようにして、他のＩＮＴＥＲ符号化されたフレームの動き補償予測のための参照フレームとして使用するために利用可能になる。
【００４３】
可変長符号化（ＶＬＣ）の手法を用いて、量子化された変換係数と関連付けられたｒｕｎおよびｌｅｖｅｌ値のエントロピー符号化を、実施例を用いてより詳細に試験する。上記で説明されたように、輝度／クロミナンスデータ（ＩＮＴＲＡ符号化モード）のブロックまたは予測エラーデータ（ＩＮＴＥＲ符号化モード）を変換符号化および量子化することにより作り出された量子化された変換係数の２次元配列は最初に、順序付けられた１次元配列を形成するためにジグザグスキャン方式を用いてスキャンされる。係数値の４×４配列の場合の典型的なスキャン順序が図４に例示してある。ジグザグスキャン順序の厳密な性質における変形が可能であることが当業者に明白になるであろう。さらに、同様なジグザグスキャン方式は、４×４係数値以外の配列にも応用できる。
【００４４】
ジグザグスキャンスキャンの結果として作り出され順序付けられた１次元配列が試験され、各非ゼロ係数がｒｕｎおよびｌｅｖｅｌ値により表される。前に説明されたように、ｒｕｎ値は、当該係数に先行する連続したゼロ係数の数を表す。ｒｕｎ値は、従って、スキャンにおける非ゼロ係数の位置表示を提供する。ｌｅｖｅｌ値は、係数の値である。ブロック終結（ＥＯＢ）シンボルは、典型的には０に等しいｌｅｖｅｌ値であり、そのブロック中に非ゼロ係数がそれ以上ないことを表示するために用いられる。
【００４５】
別の方式では、各非ゼロ係数が３つの値（ｒｕｎ，ｌｅｖｅｌ，ｌａｓｔ）により表される。この表現においては、ｌｅｖｅｌおよびｒｕｎパラメータは、前の段落で説明されたものと同じ目的を果たす。ｌａｓｔパラメータは、そのスキャン中に非ゼロ係数がそれ以上ないことを示す。係数のこの表現が用いられる場合、所定のブロックが符号化されその結果別個のＥＯＢシンボルの必要が全くないことを示すために別個のシンタックス要素が用いられる。
【００４６】
エントロピー符号化の目的で、各（ｒｕｎ，ｌｅｖｅｌ）ペア（または（ｒｕｎ，ｌｅｖｅｌ，ｌａｓｔ）トリプレット）は典型的には単一シンボルとして取り扱われる。従って、ＶＬＣ符号語は、別の考えられる（ｒｕｎ，ｌｅｖｅｌ）ペアに割り当てられる。一意の符号語も、ＥＯＢシンボルに割り当てられる。一般的に、考えられる（ｒｕｎ，ｌｅｖｅｌ）ペアとＶＬＣ符号語との間のマッピングは、エンコーダおよびデコーダ双方に知られている（例えば、その中に保存されている）固定ルックアップテーブルの形で実行される。ＶＬＣ符号語は、シンボルを、デコーダに伝送される２進表現に変換するために用いられ、一意的にデコード可能になるように設計される。現実の問題として、このことは、どのＶＬＣ符号語も別の符号語のための接頭語になり得ないことを意味している。
【００４７】
表１は、説明したばかりのタイプのルックアップテーブルであり、特定の（ｒｕｎ，ｌｅｖｅｌ）ペアとＶＬＣ符号語との間の典型的なマッピングを示している。表１に提示される例において、ＥＯＢシンボルには最も短い符号語が割り当てられる。
【００４８】
【表１】
2005516456.tif 000003
【００４９】
図５は、ＩＮＴＲＡ符号化モードの画像ブロックまたはＩＮＴＥＲ符号化モードの予測エラー値のブロックについてビデオエンコーダ中で生成されるような量子化された変換係数の４×４配列の例を示している。図４に示されるジグザグスキャン方式を適用した後、このようにして作り出された量子化された係数の順序付けられた１次元シーケンスは、以下の要素を有している：
0,1,2,0,0,0,-1,0,0,0,0,0,0,0,0,0
【００５０】
このシーケンスはさらに、ＥＯＢシンボルにより終端された（ｒｕｎ，ｌｅｖｅｌ）ペアの以下のセットとして表現され得る：
(1,1),(0,2),(3,-1),EOB
【００５１】
表１に与えられる（ｒｕｎ，ｌｅｖｅｌ）ペアとＶＬＣ符号語との間のマッピングを適用すると、以下のシーケンスビットが生成される：
00001|0000001|0001011|1
【００５２】
上記で言及されたように、これは、エンコーダからデコーダへビットストリーム中で送られる量子化された変換係数の２進表現である。ビットストリームを正しくデコードするために、デコーダは、ＶＬＣ符号語と（ｒｕｎ，ｌｅｖｅｌ）ペアとの間のマッピングを認識している。言い換えれば、エンコーダおよびデコーダ双方は、ＶＬＣ符号語の同じセットおよびＶＬＣ符号語へのシンボルの同じ割り当てを用いる。
【００５３】
可変長符号化によって提供される圧縮を最大化するためには、符号化されるデータ中で最も頻繁に生じるシンボルは、最も短いＶＬＣ符号語を割り当てられるべきである。しかしながら、画像符号化において、種々の変換係数の発生頻度（すなわち、確率）従って種々の（ｒｕｎ，ｌｅｖｅｌ）ペアの確率は、画像コンテンツおよびエンコード化された画像のタイプによって変わる。従って、可変長符号語の単一セットが用いられ、エンコード／デコードされるデータシンボルとＶＬＣとの間の単一マッピングのみが提供されるのであれば、一般に、最適符号化効率は達成できない。
【００５４】
この問題に対する１つの解決策は、可変長符号語および種々のデータシンボルへのそれらの割り当てをビットストリームの一部として伝送することである。この可能性は、Joint Photographic Experts Groupにより開発され、一般にＪＰＥＧ画像符号化標準と呼ばれる国際静止画圧縮標準ＩＳＯ／ＩＥＣ  １０９１８−１“連続階調静止画のデジタル圧縮および符号化（Digital Compression and Coding of Continuous-Tone Still Images）”／ＩＴＵ−Ｔ勧告Ｔ．８１中に含まれている。もしこのオプションが利用されれば、種々のデータシンボルの確率、例えば種々の（ｒｕｎ，ｌｅｖｅｌ）ペアの確率が、符号化される各画像について計算される。次にこの情報は、ＶＬＣ符号語を作り出し、データシンボルと符号語との間のマッピングを定義するために用いられる。符号語およびマッピング情報は、例えば、所定の画像について圧縮されたファイル中に含まれ、エンコーダからデコーダへビットストリーム中で伝送される。この解決策は、符号語および符号語とデータシンボルとの間のマッピングが、符号化される画像の性質／内容に適応できる方法で構成されることを可能にする。このようにして、もし固定符号語およびマッピングが用いられたら得られるであろうレベルを一般に超えるデータ圧縮レベルが達成できる。しかしながら、このアプローチにはいくつかの技術的短所があり、この短所によってこのアプローチはビデオ分野での使用に適さない。より具体的には、画像データのいずれかがエンコードおよび伝送され得る前に、各画像、またはその各部分が前処理を必要とするので、かなりの遅延が生じる。さらに、可変長符号語およびデータシンボルへのそれらの割り当てについての情報を特定するために多くのビットが必要とされる。加えて、エラー耐性が大きな問題である。符号語、または符号語とデータシンボルとの間のマッピングに関する情報が失われるか、デコーダにおけるエラー訂正を経た後に残留エラーを有していれば、エンコードされた画像データを含むビットストリームは正しくデコードできない。
【００５５】
適応ＶＬＣ符号化として知られている、可変長符号化により提供されたデータ圧縮の改善を目的とする代替手法においては、当初のＶＬＣコードおよびマッピングが、アプリオリシンボル確率推定値に基づいてエンコーダおよびデコーダ双方において計算される。画像符号化アプリケーションにおいて、これらの確率推定値は、事前に、例えば、エンコードおよび伝送される画像を表現／代表するいわゆる‘トレーニング’画像のデータベースを用いて計算できる。その後、さらなるエンコードされたデータシンボルが送られると、シンボル確率推定値はエンコーダおよびデコーダにおいて更新される。更新された確率推定値を用いて、エンコーダおよびデコーダはＶＬＣ符号語およびそれらの割り当てを再計算する。この再計算は、非常に頻繁に、例えば、新しいシンボルを受信するたびに実行できる。この方法の主な欠点は、計算の複雑性が高いこと（特に、確率推定値が非常に頻繁に再計算される場合）およびエラー耐性に乏しいことである。１つのシンボルの不正確なデコードが、エンコーダおよびデコーダシンボル計数の間の不一致を引き起こし、エンコーダおよびデコーダ中に設計されたＶＬＣコードがその時点以降異なる。このことは、確率計数が頻繁な間隔でリセットされるべきであることを意味しており、この方法を用いて達成された符号化効率はこれにより低下する傾向がある。
【００５６】
前に言及されたように、最近のビデオ符号化システムは複数のエントロピー符号化方法を一般に提供する。例えば、G. Bjontegaard, “H.26L Test Model Long Term Number 8 (TML-8) draft0”, VCEG-N10, June 2001, section 5に記載されるようなＩＴＵ−Ｔ勧告Ｈ．２６Ｌは、エントロピー符号化の２つの代替的方法／モードを提供する。デフォルトである第１の方法は、可変長符号化に基づくものであり、他方は、コンテキストベース２進計算符号化（略してＣＡＢＡＣ）として知られている算術符号化の１形態である。
【００５７】
Ｈ．２６Ｌの可変長符号化モードは、ＶＬＣ符号語およびデータシンボルへのそれらの割り当てを規定するいくつかのテーブルを提供する。エンコーダにおいて、使用するために選択される特定のテーブルは、エンコードおよび伝送される情報のタイプに依存する。例えば、種々のタイプの符号化された画像ブロック（例えば、ＩＮＴＲＡ符号化（Ｉ）またはＩＮＴＥＲ符号化（Ｐ）タイプブロック）、カラーモデル（輝度またはクロミナンス成分）の種々の成分または量子化パラメータ（ＱＰ）の種々の値に関連付けられたデータシンボル（例えば、（ｒｕｎ，ｌｅｖｅｌ）ペア）の符号化のために別個のＶＬＣルックアップテーブルが提供される。このアプローチは、計算の複雑性と圧縮効率との間の良好なトレードオフをもたらす。しかしながら、その性能は、テーブルを切り替えるために用いられるパラメータが、データシンボルの統計的特性をどれほどうまく特徴付けるかによる。
【００５８】
Ｈ．２６Ｌのコンテキストベース２進算術符号化モードは、算術符号化の本来的に適応性の性質を利用し、デフォルトのＶＬＣ符号化モードと比較して改善された圧縮効率を一般に提供する。しかしながら、このモードは、計算の複雑性が比較的高く、エラーが生じやすい環境での使用は問題となる。具体的には、伝送エラーが符号語の一部の不正確なデコードを引き起こす場合に生じ得るエンコーダとデコーダとの間の同期損失に関連する技術的欠点をこのモードは被る。さらに、シンボルデコードに要する時間が総デコード時間の大部分を占める場合、Ｈ．２６Ｌ勧告中で採用されるＣＡＢＡＣ方法の計算の複雑性は、デコーダ側で特に高い。
【００５９】
算術符号化と関連した高い計算の複雑性および伝送エラーに対する敏感さという固有の問題のため、可変長符号化は依然として、ビデオ符号化システムにおいて使用するためのエントロピー符号化の強力かつ効率的な方法と見なされている。しかしながら、高度のデータ圧縮が一貫して達成できるように符号化されるデータシンボルのタイプおよび統計的特性へのＶＬＣ符号化方式の適応性を改善する要望および必要が依然としてある。計算の複雑性または伝送エラーに対する敏感さの大きな増大を引き起こすことなく改善された適応性および圧縮効率が達成される方法に関する技術的問題がこれにより引き起こされる。
【発明の開示】
【００６０】
本発明の要約
本発明による方法は、低い計算の複雑性および良好なエラー耐性を維持しつつ、符号化されるデータシンボルのタイプおよび統計的特性への可変長符号化方法の適応性を改善することに関する前述の問題を対処しようとするものである。
【００６１】
一般的に言えば、本発明は、ＶＬＣ符号化されるデータシンボルのセットが、第１の値を有する特定の第１の数のデータシンボルおよび第１の値以外の値を有する特定の第２の数のデータシンボルを含みデータシンボルのセットに適用される可変長符号化の少なくとも１つの特性が第１の値以外の値を有するデータシンボルの数に従って変更または適応されるどのような状況においても適用し得る。より具体的には、本発明による方法は、（ｒｕｎ，ｌｅｖｅｌ）ペアの形で表現されるデータシンボルをエンコードするために可変長符号化を用いる場合に適用し得る。この場合、エンコード／デコードされるデータシンボルのセットは、特定の数の非ゼロ値データシンボルおよび特定の数のゼロ値データシンボルを含み、その内の非ゼロ値データシンボルが（ｒｕｎ，ｌｅｖｅｌ）の形で表わされる。本発明により、非ゼロ値データシンボルの数、（ｒｕｎ，ｌｅｖｅｌ）ペアを表すために用いられる符号語および（ｒｕｎ，ｌｅｖｅｌ）ペアと符号語との間のマッピングの間の関係が確立される。
【００６２】
（ｒｕｎ，ｌｅｖｅｌ）ペアとして表されるデータシンボルのＶＬＣ符号化またはエンコードされるデータシンボルのセットのどのような等価表現にも本発明による方法が一般に適用できることを当業者は理解するであろう。本発明による方法の実際的な実行においては、複数のＶＬＣルックアップテーブルが提供され、第１の値以外の値(例えば、非ゼロ値データシンボルの数)を有するセット内のデータシンボルの数に依存するデータシンボルのセットをエンコード／デコードするために特定のルックアップテーブルが選択される。
【００６３】
本発明による方法についての動機は、（例えば、ビデオエンコーダにおいて）画像データから導き出された量子化された変換係数がランレングス符号化される場合に生成されるｒｕｎおよびｌｅｖｅｌ値の観察された統計的特性に起因する。より具体的には、非ゼロ値量子化変換係数の数が小さい場合、比較的高いｒｕｎ値および小さいｌｅｖｅｌ（大きさ／絶対値）値を有する(ｒｕｎ，ｌｅｖｅｌ)ペアがより確率が大きいことが注目され得る。反対に、非ゼロ値係数の数が大きい場合、小さいｒｕｎ値および高いｌｅｖｅｌ値を有する(ｒｕｎ，ｌｅｖｅｌ)ペアがより大きい確率を有している。従って、（ｒｕｎ，ｌｅｖｅｌ）ペアの統計的特性における明確な差は、これらの２つの状況の中に存在し、符号化効率（圧縮）に関してはこの差を考慮するために、種々のＶＬＣ符号語および／またはデータシンボルとＶＬＣ符号語との間のマッピングを用いることが有利である。
【００６４】
本発明の第１の局面によると、第１の値を有する特定の第１の数のデータシンボルおよび前記第１の値以外の値を有する特定の第２の数のデータシンボルを含むデータシンボルのセットを可変長符号化する方法が提供される。この方法によると、データシンボルに適用される可変長符号化の少なくとも１つの特性が、第１の値以外の値を有する第２の数のデータシンボルに応じて適応させられる。
【００６５】
好ましくは、第１の値はゼロであり、その結果、データシンボルのセットは、特定の第１の数のゼロ値データシンボルおよび特定の第２の数の非ゼロ値データシンボルを含む。
【００６６】
好ましくは、この方法は、非ゼロ値データシンボルの値を示す第１の値および非ゼロ値データシンボルに先行または続くゼロ値データシンボルの数を示す第２の値をデータシンボルのセットを表す第１および第２の値のセットを形成するように含む値のペアにより、第１の数の非ゼロ値データシンボルの各々を表すことを含む。有利には、この操作は、第１および第２の値のペアのセットの各ペアが、データシンボルのセットを表すエンコードされた値のセットを形成するように符号語に割り当てられるマッピング操作を実行することを伴い、符号語は、マッピング操作において用いられる場合に前記データシンボルのセットを表すために必要とされる情報量の低減をもたらすように設計された符号語のセットから選択される。本発明の方法によると、マッピング操作は、データシンボルのセット中の非ゼロ値データシンボルの数に基づいて符号語が設計される少なくとも１つの符号語のセットを用いて実行される。
【００６７】
有利には、符号語とデータシンボルとの間のマッピングも、前記データシンボルのセット中の非ゼロ値データシンボルの数に依存する。
【００６８】
有利には、マッピング操作は、第１および第２の値のペアの符号語への割り当てを定義する割り当てテーブルを用いて実行される。
【００６９】
好ましくは、マッピング操作は、選択可能な割り当てテーブルのセットのうちの１つを選択し、選択された割り当てテーブルにより定義されたマッピングに従って第１および第２の値の前記ペアの各々を符号語に割り当てることにより実行される。
【００７０】
有利には、割り当てテーブルは、データシンボルのセットの別の特性に基づいても選択され得る。有利には、他の特性は量子化パラメータの値である。
【００７１】
好ましくは、割り当てテーブルは、データシンボルのセット中の非ゼロ値データシンボルの数に基づいて選択される。
【００７２】
有利には、データシンボルのセットは、量子化された変換係数値のセットである。
【００７３】
好ましくは、本発明による可変長符号化方法は、エンコード装置において実行される。本発明の１つの実施の形態においては、エンコード装置はビデオエンコーダである。有利には、エンコード装置は移動通信装置中に実装される。
【００７４】
有利には、本発明による方法は、データシンボルのセットを表わすエンコードされた値のセットをデコードするステップも含む。
【００７５】
好ましくは、デコードステップは、エンコードされた値の前記セットを形成する各符号語が第１および第２の値のセットの内の特定のものを識別するために使われる逆マッピング操作を実行することを含む。
【００７６】
好ましくは、逆マッピング操作は、第１および第２の値のペアの符号語への割り当てを定義する割り当てテーブルを用いて実行される。
【００７７】
さらに好ましくは、逆マッピング操作は、選択可能な割り当てテーブルのセットの内の１つを選択することおよび選択された割り当てテーブルにより定義された割り当てに従って第１および第２の値のペアのセットの内の特定のものを識別することによって実行される。
【００７８】
有利には、前記データシンボルのセット中の非ゼロ値データシンボルの数を示す値が、エンコードされた値のセットをデコードする際に用いられる選択可能な割り当てテーブルの内の１つを選択するために用いられる。
【００７９】
代わりに、データシンボルのセット中のゼロ値データシンボルの数を示す値が、エンコードされた値のセットをデコードする際に用いられる選択可能な割り当てテーブルの内の１つを選択するために用いられる。
【００８０】
有利には、デコードステップは、第１および第２の値のペアのセットからデータシンボルのセットを再構成することをさらに含む。
【００８１】
好ましくは、デコードステップはデコード装置中で実行される。本発明の１つの実施の形態においては、デコード装置はビデオデコーダである。有利には、デコード装置は移動通信装置に実装される。
【００８２】
好ましくは、データシンボルのセット中の非ゼロ値データシンボルの前記数を示す値が、エンコード装置からデコード装置へ伝送される。代わりに、データシンボルのセット中のゼロ値データシンボルの数を示す値が、エンコード装置からデコード装置へ伝送される。
【００８３】
本発明の第２の局面によると、第１の値を有する特定の第１の数のデータシンボルおよび前記第１の値以外の値を有する特定の第２の数のデータシンボルを含むデータシンボルのセットを可変長符号化するためのエンコーダが提供される。本発明によると、このエンコーダは、データシンボルの第２の数に従ってデータシンボルに適用される可変長符号化の少なくとも１つの特性を適応させるように構成される。
【００８４】
本発明の第３の局面によると、第１の値を有する特定の第１の数のデータシンボルおよび前記第１の値以外の値を有する特定の第２の数のデータシンボルを含むデータシンボルのセットを表す可変長符号語を可変長デコードするためのデコーダが提供される。本発明によると、このデコーダは、前記データシンボルのセット中のデータシンボルの第２の数の表示に従って可変長符号語に適用される可変長デコードの少なくとも１つの特性を適応させるように構成される。
【００８５】
より正確に言えば、本発明によるエンコード方法は第一に、可変長エンコードされるシンボルのセットに適用される可変長エンコードの少なくとも１つの特性が、可変長エンコードされるシンボルの数に従って適応させられることを特徴とする。本発明によるデコード方法は第一に、可変長符号語に適用されるデコードの少なくとも１つの特性が、可変長エンコードされた前記シンボルのセット中のシンボルの数の表示に従って適応されられることを特徴とする。本発明によるエンコーダは第一に、可変長エンコードされるシンボルの数に従って可変長エンコードされるシンボルのセットに適用される可変長エンコードの少なくとも１つの特性を適応させるように構成されることを特徴とする。本発明によるデコーダは第一に、可変長エンコードされた前記シンボルのセット中のシンボルの数の表示に従って可変長符号語に適用されるデコードの少なくとも１つの特性を適応させるように構成されることを特徴とする。
【００８６】
本発明の実施の形態を、添付図面を参照して実施例により説明する。
【００８７】
本発明の詳細な説明
以下の本発明の詳細な説明において、本発明による方法の代表的な実施の形態が提示される。代表的な実施の形態は、ビデオエンコーダにおけるブロックベース変換符号化の結果として作り出された非ゼロ値変換係数を表す（ｒｕｎ，ｌｅｖｅｌ）ペアの可変長符号化ならびに対応するビデオデコーダにおけるそれらのその後のデコードに関する。しかしながら、本発明による可変長エンコードおよびデコード方法が、符号化される他のタイプのデータにより一般的に適用し得ることが認識されるべきである。
【００８８】
図６は、本発明のこの実施の形態による方法が適用できるビデオエンコーダ６００の概略ブロック図である。図６に示されるビデオエンコーダの構造は、図１に示される先行技術のビデオエンコーダの構造と実質的に同一であり、可変長符号化操作を実行するエンコーダの部分が適宜修正されている。以前に説明された先行技術のビデオエンコーダと同一の方法で機能を実装し動作するビデオエンコーダのすべての部分は、同一の参照番号により識別される。この説明において、すべての可変長符号化操作はビデオ多重コーダ６７０において実行されると想定される。しかしながら、本発明の代わりの実施の形態においては、別個の１つ以上の可変長符号化ユニットを設け得ることが認識されるべきである。本発明による方法が、ビデオエンコーダにより作り出されたデータシンボルのいくつか（例えば、非ゼロ値変換係数に関連付けられた（ｒｕｎ，ｌｅｖｅｌ）ペア）に適用できることおよび他のデータシンボルをエンコードするために他のＶＬＣ符号化方法を用い得ることが注目されるべきである。
【００８９】
ビデオエンコーダ６００の動作を詳細に検討する。デジタルビデオのフレームをエンコードする場合、エンコーダ６００は、以前に図１に関連して記載された方法と同様な方法で動作して、ＩＮＴＲＡ符号化およびＩＮＴＥＲ符号化された圧縮ビデオフレームを生成する。本文中で以前に説明されたように、ＩＮＴＲＡ符号化モードにおいては、対応する変換係数値の２次元配列を作り出すために、離散コサイン変換（ＤＣＴ）が画像データの各ブロック（ピクセル値）に適用される。ＤＣＴ操作は変換ブロック１０４において実行され、このようにして作り出された係数はその後量子化器１０６へ送られ、そこで量子化される。ＩＮＴＥＲ符号化モードにおいては、ブロック１０４において実行されたＤＣＴ変換は、予測エラー値のブロックに適用される。この操作の結果作り出された変換係数も量子化器１０６へ送られ、そこで量子化される。ＩＮＴＥＲ符号化されたフレームは、ＩＮＴＲＡ符号化された画像ブロックを含み得る。ある状況下では、変換符号化は、特定の画像ブロックに適用されない。例えば、ＩＮＴＲＡ予測がＩＮＴＲＡ符号化モードで用いられると、以前にエンコードされた１つ以上の画像ブロックからいくつかの画像ブロックがエンコーダ中で予測される。この場合、エンコーダは、予測において用いられる以前のブロックの表示をデコーダに提供し、どのような変換係数データも出力しない。ＩＮＴＥＲ符号化モードでは、特定ブロックについての予測とそのブロック自体の画像データとの間の差が非常に小さいことがあるので、データ圧縮比の観点からどのような予測エラー情報も伝送しないのが有利である。
【００９０】
この実施の形態によると、本発明による方法は、変換符号化およびその後の変換係数量子化を受ける画像ブロックに適用される。ビデオ多重コーダ６７０は、量子化された変換係数のブロック（２次元配列）を受信すると、その配列中の非ゼロ値係数の数を決定する。この数はビットストリーム６３５でデコーダへ伝送される。この数は、それ自体で伝送されるか、または、伝送前に何らかの形のＶＬＣ符号化を用いてエンコードされ得る。
【００９１】
ビデオ多重コーダ６７０は次に、非ゼロ値係数を（ｒｕｎ，ｌｅｖｅｌ）ペアとして表す。これは、先行技術により周知の方法で行うことができる。より具体的には、量子化された変換係数の２次元配列が最初に、図４に示されるような既定のスキャン順序を用いてスキャンされ、順序付けられた１次元配列を作り出す。順序付けられた１次元配列中の各非ゼロ計数値は次に、ｒｕｎ値およびｌｅｖｅｌ値により表され、そこでは、ｌｅｖｅｌ値は計数の値を表し、ｒｕｎ値は非ゼロ値計数に先行する連続したゼロ値計数の数を表す。前に記載された先行技術のランレングス符号化方法とは異なり、本発明の方法によると、ＥＯＢシンボルは伝送される必要がない。本発明の方法によると、非ゼロ値量子化変換係数の数がデコーダ対して明示的に示されるので、ＥＯＢシンボルを伝送しない可能性が生じる。従って、所定の画像について（ｒｕｎ，ｌｅｖｅｌ）ペアをデコードする場合、デコーダは、デコードされたペアの数を計数できる。デコードされたペアの数（非ゼロ値係数の数に対応する）が、デコーダに対し示された非ゼロ値係数の数に達すると、当該ブロックについてのデコードを停止することができる。
【００９２】
ビデオ多重コーダ６７０は次に、単一ＶＬＣ符号語が各（ｒｕｎ，ｌｅｖｅｌ）ペアに割り当てられるように、ｒｕｎおよびｌｅｖｅｌ値に可変長符号化を適用する。本発明によると、ＶＬＣ符号化は、エンコーダ６００中に保存された可変長符号化（ルックアップ）テーブルのセットの内の１つを選択することによって実行される。符号化テーブルの各々は、符号語と画像ブロックについての量子化された変換係数データにおいて生じ得る（ｒｕｎ，ｌｅｖｅｌ）ペアの考えられる値との間のマッピングだけでなく、可変長符号語のセットも定義する。本発明によると、ビデオ多重コーダ６７０は、符号化されている画像ブロックのための量子化された変換係数の配列中の非ゼロ値係数の数に従って使用するために符号化テーブルを選択する。選択されたルックアップテーブル中で定義されるマッピングを用いて、ビデオ多重コーダは、符号語を各（ｒｕｎ，ｌｅｖｅｌ）ペアに割り当て、符号語をビットストリーム６３５でデコーダへ伝送する。
【００９３】
種々のＶＬＣ符号化テーブルの数は本発明の種々の実施の形態において変わり得る。本発明の１つの実施の形態においては、非ゼロ値量子化変換係数の各考えられる数について別個のルックアップテーブルが提供される。符号語および（ｒｕｎ，ｌｅｖｅｌ）ペアとテーブルの各々についての符号語との間のマッピングは、指定された数の非ゼロ値係数を有する量子化された変換係数値の配列から導かれた（ｒｕｎ，ｌｅｖｅｌ）ペアのセットに適用される場合に最適なデータ圧縮を提供するように設計されている。非ゼロ値量子化変換係数の数に関しての（ｒｕｎ，ｌｅｖｅｌ）ペアの統計的特性の変動についての情報は、経験的に、例えば、いくつかのテスト（‘トレーニング’）画像またはビデオシーケンスをあらかじめ符号化することによって得ることができる。次にＶＬＣ符号語および符号語間のマッピングを、エンコーダ中の１つ以上のルックアップテーブルとして設計および保存できる。
【００９４】
好ましい実施の形態においては、４×４画像ブロックから導かれた（ｒｕｎ，ｌｅｖｅｌ）ペアの符号化において用いるために、ただ２つのＶＬＣ符号化テーブルが提供され、１つは、非ゼロ値量子化変換係数の数が８以下の場合に用いられるものであり、１つは、非ゼロ値量子化変換係数の数が８を超える場合に用いられるものである。表２および３は、本発明のこの実施の形態における（ｒｕｎ，ｌｅｖｅｌ）ペアの様々な確率分布を例示している。統計データは、現行のＩＴＵ−Ｔ勧告Ｈ．２６Ｌのテストモデル８（ＴＭＬ８）に従って実装されたビデオエンコーダを用いて収集され、ＩＮＴＥＲ符号化された画像ブロックに関連する。これらの表中で、最も確率の高いペアは、数１が割り当てられ、２番目に確率の高いペアには数２が割り当てられ以下同様である。最初の１５個の最も確率の高いペアが列挙してある。
【００９５】
【表２】
2005516456.tif 000004
【００９６】
【表３】
2005516456.tif 000005
【００９７】
本発明の別の実施の形態においては、符号化効率は、伝送されるシンボルのタイプを変更することにより改善できる。量子化された変換係数を（ｒｕｎ，ｌｅｖｅｌ）ペアとして表す代わりに、これらは（ｌｅｖｅｌ，ｌａｓｔ）ペアにより表され、ＶＬＣ符号語が（ｌｅｖｅｌ，ｌａｓｔ）ペアの各々に割り当てられる。（ｌｅｖｅｌ，ｌａｓｔ）ペアのｌｅｖｅｌは、係数の値を表しているが、以前に記載された（ｒｕｎ，ｌｅｖｅｌ）ペアとは異なって、値０を取ることができる。ｌａｓｔパラメータは、そのブロック中に非ゼロ値係数がもはやないことを示すために用いられる。例えば、このパラメータは、特定の係数のｌｅｖｅｌ値がゼロでありすべての後続の係数値がゼロである場合にｌａｓｔは１に等しく設定されるバイナリフラッグとして用いることができる。量子化された変換係数のこの代替表現は、特にＩＮＴＲＡ符号化されたブロックについてそして小さいＱＰ値が用いられる状況において、符号化効率（データ圧縮）の改善を提供できる。
【００９８】
本発明の別の代わりの実施の形態においては、ＶＬＣ符号語の固定セットが用いられそして符号語とエンコードされる（ｒｕｎ，ｌｅｖｅｌ）ペアとの間のマッピングのみが非ゼロ値係数の数に基づいて変化する。
【００９９】
本発明のさらなる代わりの実施の形態においては、特定の画像ブロックについて選択されたＶＬＣ符号化テーブルは、画像ブロックの変換係数を量子化するために用いられる量子化パラメータ（ＱＰ）の値あるいはフレームまたは画像ブロックのタイプ（ＩＮＴＲＡ／ＩＮＴＥＲ）のような他のパラメータにも依存し得る。この場合、量子化された変換係数の特定配列についてのＶＬＣ符号化テーブルの選択は、非ゼロ値係数の数および他のパラメータの値の両方に依存する。
【０１００】
本発明のさらに別の代わりの実施の形態では、ゼロ値量子化変換係数値の数が決定されてパラメータとして用いられ、このパラメータに従って、ＶＬＣ符号語および符号語とデータシンボルとの間のマッピングが設計され、ＶＬＣルックアップテーブルが選択される。
【０１０１】
本発明の実施の形態によるビデオデコーダ７００の動作を、図７に関連して説明する。図７に例示されるビデオデコーダの構造は、図２に示された先行技術のビデオデコーダの構造と実質的に同一であり、可変長デコード操作を実行するデコーダの部分が適宜修正されている。以前に説明された先行技術のビデオデコーダと同一の方法で機能を実装し動作するビデオデコーダのすべての部分は、同一の参照番号により識別される。以下の説明において、すべての可変長デコード操作はビデオ多重デコーダ７７０中で実行されると想定される。しかしながら、本発明の代わりの実施の形態においては、別個の１つ以上の可変長デコードユニットを設け得ることが認識されるべきである。
【０１０２】
ビデオデコーダの動作を詳細に説明する。ここでは、図７のビデオデコーダが、図６に関連して記載されたエンコーダに対応しており従ってエンコーダ６００により伝送されたビットストリーム６３５を受信およびデコードできると想定される。このデコーダにおいて、ビットストリームは受信され、ビデオ多重デコーダ７７０によってその構成部分に分離される。先行技術の以前の説明に関連して説明されたように、ビットストリームから抽出された圧縮されたビデオデータがマクロブロックごとに処理される。ＩＮＴＲＡ符号化されたマクロブロックについての圧縮されたビデオデータは、マクロブロックの各ブロックについてのＶＬＣ符号化された（ｒｕｎ，ｌｅｖｅｌ）ペアを表わす可変長符号語を、エンコードされた（例えば、量子化パラメータＱＰに関する）制御情報と共に含む。ＩＮＴＥＲ符号化されたマクロブロックについての圧縮されたビデオデータは、各ブロックについてのＶＬＣエンコードされた予測エラー情報、マクロブロックについての動きベクトル情報およびエンコードされた制御情報を含む。
【０１０３】
ＩＮＴＲＡ符号化されたマクロブロックの各ブロックについてのＶＬＣ符号化された（ｒｕｎ，ｌｅｖｅｌ）ペアおよびＩＮＴＥＲ符号化されたマクロブロックと関連付けられた予測エラーデータの各ブロックについてのＶＬＣ符号化された（ｒｕｎ，ｌｅｖｅｌ）ペアは、同一の方式でデコードされる。より具体的には、ＩＮＴＲＡまたはＩＮＴＥＲ符号化された画像ブロックについてのＶＬＣ符号化された（ｒｕｎ，ｌｅｖｅｌ）ペアをデコードする時に、ビデオ多重デコーダ７７０は最初に、そのブロック中の非ゼロ値量子化変換係数の数を決定する。以前に説明されたように、非ゼロ値量子化変換係数の数に関連する情報が、エンコーダ６００によりビットストリーム６３５中に挿入される。デコーダ７００は、受信されたビットストリームからこの情報を抽出する。非ゼロ値量子化変換係数の数に関連する情報自体がＶＬＣ符号化されていれば、ビデオ多重デコーダ７７０は、情報を回復するために適切な可変長デコード操作を実行する。
【０１０４】
非ゼロ値量子化変換係数の数がひとたび決定されると、ビデオ多重デコーダ７７０は、ブロック中の非ゼロ値量子化変換係数の数に従って、可変長デコードテーブルを選択する。デコードテーブルは、エンコーダにおいて用いられたものと同一のルックアップテーブルのセットから選択される。デコードテーブルはあらかじめデコーダ中に保存されており、ビットストリーム６３５中で受信されたＶＬＣ符号語と画像ブロックについての量子化された変換係数データ中に生じ得る（ｒｕｎ，ｌｅｖｅｌ）ペアの考えられる値との間のマッピングを定義する。非ゼロ値量子化変換係数の数に従ってテーブルを選択すると、ビデオ多重デコーダ７７０は、選択されたルックアップテーブル中で定義されたマッピングを用いてｒｕｎおよびｌｅｖｅｌ値を回復する。次にビデオ多重デコーダは、ブロックについての量子化された変換係数値を再構成し、それらを逆量子化器２１０へ渡す。再構成されたピクセル値が各画像ブロックについて形成されるビデオデコード手順の残りは、先行技術のビデオデコーダ２００に関連して記載されたように進行する。
【０１０５】
以前に記載された先行技術のＶＬＣ符号化方法と比較して、本発明による方法は大きな利点を提供することが認識されるべきである。特に、本発明による方法は、比較的低い計算の複雑性および高い伝送エラー耐性を維持しつつ、エンコード／デコードされるデータシンボルの統計的特性に適応できる可変長エンコードおよびデコードの方法を提供する。この方法の適応性は、種々の多くの非ゼロ値量子化変換係数を有する画像ブロックについての種々の可変長符号語および／またはマッピングの使用から来ている。種々の符号語および／またはマッピングをルックアップテーブルとしてエンコーダおよびデコーダ中に提供することにより、計算の複雑性は低く保たれる。このことも、データ通信エラーの受けやすさの低減に役立っており、これは所定の画像ブロックについて用いられる特定のルックアップテーブルが、ブロック中の非ゼロ値変換係数の数を示す値によってデコーダに知らされるからである。
【０１０６】
図８は、本発明に従って動作するように適応させ得るビデオエンコードおよびデコード装置を含む端末装置を提示している。より正確には、この図は、ＩＴＵ−Ｔ勧告Ｈ．３２４に従って実装されるマルチメディア端末８０を例示している。この端末は、マルチメディアトランシーバー装置と見なすことができる。この端末は、通信網を介した伝送のためのマルチメディアデータストリームを取り込み、エンコードおよび多重化する要素ならびに、受信されたマルチメディアコンテンツを受信、多重分離および表示する要素を含んでいる。ＩＴＵ−Ｔ勧告Ｈ．３２４は、端末の全体的な動作を定義し、その様々な構成部品の動作を管轄する他の勧告を参照している。この種類のマルチメディア端末は、会話式テレビ電話のようなリアルタイム用途、または、例えばインターネット中のマルチメディアコンテンツサーバーからのビデオクリップの取得および／またはストリーミングのような非リアルタイム用途において用いることができる。
【０１０７】
本発明の文脈において、図８に示されるＨ．３２４端末は、本発明の方法に適した多くの代替マルチメディア端末実装の１つにすぎないことが認識されるべきである。端末装置の位置および実装に関連して多くの選択肢が存在することも注目されるべきである。図８に例示されるように、マルチメディア端末は、アナログＰＳＴＮ（公衆交換電話網）のような固定回線電話網に接続された通信装置中に置くことができる。この場合、マルチメディア端末は、ＩＴＵ−Ｔ勧告Ｖ．８、Ｖ．３４および任意にＶ．８ｂｉｓ準拠のモデム９１を備えている。代わりに、マルチメディア端末は外部のモデムと接続できる。モデムは、マルチメディア端末により作り出された多重化デジタルデータおよび制御信号をＰＳＴＮ上での伝送に適したアナログ形式に変換することを可能にする。モデムはさらに、マルチメディア端末がＰＳＴＮからアナログ形式のデータおよび制御信号を受信することならびにそれらを端末により適切な方法で多重分離および処理され得るデジタルデータストリームに変換することを可能にする。
【０１０８】
Ｈ．３２４マルチメディア端末は、ＩＳＤＮ（統合サービスデジタル網）のようなデジタル固定回線網に直接接続されるような方法でも実現し得る。この場合、モデム９１は、ＩＳＤＮユーザーネットワークインタフェースと置き換えられる。図８では、このＩＳＤＮユーザーネットワークインタフェースは代替ブロック９２により表されている。
【０１０９】
Ｈ．３２４マルチメディア端末は、移動通信分野用にも適応させ得る。ワイヤレス通信リンクと共に用いられれば、モデム９１は、図８の代替ブロック９３により表されるように、任意の適切なワイヤレスインタフェースと置き換え得る。例えば、Ｈ．３２４／Ｍマルチメディア端末は、現行第２世代ＧＳＭ移動電話網、または提案されている第３世代ＵＭＴＳ（汎用移動電話システム）への接続を可能にする無線トランシーバを含むことができる。
【０１１０】
ビデオデータの両方向通信用、すなわち伝送および受信用に設計されているマルチメディア端末において、本発明に従って実現されたビデオエンコーダおよびビデオデコーダの両方を提供することが有利であることに注目しなければならない。そのようなエンコーダおよびデコーダのペアは、'コーデック'と呼ばれる単一の結合された機能ユニットとして実装されることがよくある。
【０１１１】
典型的なＨ．３２４マルチメディア端末を、図８に関連してより詳細に説明する。
【０１１２】
マルチメディア端末８０は、‘端末装置’と呼ばれる各種の要素を含んでいる。これには、参照番号８１、８２および８３によってそれぞれ総称して示されるビデオ、オーディオおよびテレマティック装置が含まれる。ビデオ装置８１は、例えば、ビデオ画像を取り込むためのビデオカメラ、受信されたビデオコンテンツを表示するためのモニタおよび任意のビデオ処理装置を含み得る。オーディオ装置８２は、例えば口頭のメッセージを取り込むためのマイク、および受信されたオーディオコンテンツを再生するためのスピーカーを一般に含んでいる。オーディオ装置は、付加的なオーディオ処理ユニットも含み得る。テレマティック装置８３は、データ端末、キーボード、電子ホワイトボードまたはファックスユニットのような静止画像トランシーバを含み得る。
【０１１３】
ビデオ装置８１は、ビデオコーデック８５に連結されている。ビデオコーデック８５は、どちらも本発明に従って実装されたビデオエンコーダおよび対応するビデオデコーダを含んでいる。そのようなエンコーダおよびデコーダを以下で説明する。ビデオコーデック８５は、取り込まれたビデオデータをその後の通信リンク上での伝送のために適切な形式でエンコードすることおよび通信ネットワークから受信された圧縮されたビデオコンテンツをデコードすることを担当する。図８において例示される例においては、ビデオコーデックは、ビデオコーデックのエンコーダおよびデコーダ両方において本発明による適応可変長符号化方法を実現するための適切な修正により、ＩＴＵ−Ｔ勧告Ｈ．２６Ｌに従って実現される。
【０１１４】
端末のオーディオ装置は、図８において参照番号８６により示されるオーディオコーデックに連結されている。ビデオコーデックと同じように、オーディオコーデックはエンコーダ／デコーダペアを含んでいる。オーディオコーデックは、端末のオーディオ装置によって取り込まれたオーディオデータを、通信リンク上での伝送に適した形式に変換し、ネットワークから受信されたエンコードされたオーディオデータを、例えば端末のスピーカーでの再生に適した形式に変える。オーディオコーデックの出力は、遅延ブロック８７に渡される。このブロックは、ビデオ符号化プロセスによって生じた遅延を補償し、こうしてオーディオコンテンツとビデオコンテンツとの同期を保証する。
【０１１５】
マルチメディア端末のシステム制御ブロック８４は、伝送端末と受信端末との間の共通動作モードを設定するための適切な制御プロトコル（信号ブロック８８）を用いて端末−ネットワーク信号を制御する。信号ブロック８８は、伝送端末および受信端末のエンコードおよびデコード能力についての情報を交換し、ビデオエンコーダの様々な符号化モードを可能にするために使用できる。システム制御ブロック８４は、データ暗号化の使用も制御する。データ伝送において用いらる暗号化タイプに関する情報は、暗号化ブロック８９から多重化装置／多重分離装置（ＭＵＸ／ＤＭＵＸユニット）９０に渡される。
【０１１６】
マルチメディア端末からのデータ伝送の間に、ＭＵＸ／ＤＭＵＸユニット９０は、エンコードおよび同期させられたビデオおよびオーディオストリームを、テレマティック装置８３から入力されたデータおよび考えられる制御データと結合して単一ビットストリームを形成する。暗号化ブロック８９により提供されたビットストリームに適用されるデータ暗号化（もしあれば）のタイプに関する情報は、暗号化モードを選択するために用いられる。それに対応して、多重化され、時には暗号化されたマルチメディアビットストリームが受信されている時に、ＭＵＸ／ＤＭＵＸユニット９０はビットストリームを解読し、ビットストリームをその構成マルチメディア成分に分割し、デコードおよび再生のためにそれらの成分を適切なコーデックおよび／または端末装置に渡すことを担当する。
【０１１７】
本発明によるマルチメディア端末、ビデオエンコーダ、デコーダおよびビデオコーデックの機能要素がソフトウェアまたは専用ハードウェア、あるいはこの２つの組合せととして実現できることに注目しなければならない。本発明による可変長符号化およびデコード方法は、本発明の機能ステップを実行するための機械可読な命令を含むコンピュータプログラムの形での実現に特に適している。本発明による可変長エンコーダおよびデコーダはそれ自体で、記憶媒体上に保存されパーソナルデスクトップコンピュータのようなコンピュータ中で実行されるソフトウェアコードとして実現し得る。
【０１１８】
マルチメディア端末８０が移動端末であれば、すなわち無線トランシーバー９３を装備していれば、この端末が付加的要素も含み得ることが当業者により理解されるであろう。１つの実施の形態においては、ユーザーによるマルチメディア端末８０の操作を可能にするディスプレイおよびキーボードを有するユーザーインタフェース、マルチメディア端末の種々の機能を担当するブロックを制御するマイクロプロセッサのような中央処理装置、ランダムアクセスメモリＲＡＭ、リードオンリーメモリＲＯＭ、およびデジタルカメラが含まれる。マイクロプロセッサの操作命令、すなわち、マルチメディア端末８０の基本機能に対応するプログラムコードは、リードオンリーメモリＲＯＭ中に保存されており、例えばユーザーの制御下で、マイクロプロセッサにより要求される通りに実行できる。プログラムコードに従って、マイクロプロセッサは、移動通信網との接続を形成するために無線トランシーバー９３を用い、マルチメディア端末８０が無線経路上で移動通信網と情報をやり取りすることを可能にする。
【０１１９】
マイクロプロセッサは、ユーザーインタフェースの状態を監視し、デジタルカメラを制御する。ユーザーコマンドに応答して、マイクロプロセッサは、デジタル画像をＲＡＭに記録することをカメラに指示する。画像が取り込まれたとき、あるいは取り込みの間に、マイクロプロセッサは、その画像を画像セグメント（例えば、マクロブロック）に分割し、上記の解説で説明されたように、圧縮された画像シーケンスを生成するために、エンコーダを用いてセグメントの動き補償エンコードを実行する。ユーザーは、マルチメディア端末８０に命じて、取り込まれた画像をそのディスプレイ上に表示させたり、圧縮された画像シーケンスを、無線トランシーバー９３を用いて、別のマルチメディア端末、固定回線網（ＰＳＴＮ）と接続されたビデオ電話またはその他の通信装置に送信することができる。好ましい実施の形態においては、受信者は対応するデコードプロセスを最小の遅延で開始できるように、画像データの伝送は最初のセグメントがエンコードされると直ちに開始される。
【図面の簡単な説明】
【０１２０】
【図１】先行技術による一般的なビデオエンコーダの概略ブロック図である。
【図２】先行技術による、図１に示されるエンコーダに対応する一般的なビデオデコーダの概略ブロック図である。
【図３】先行技術によるマクロブロックの形成を例示する図である。
【図４】代表的なジグザグスキャン順序を例示する図である。
【図５】量子化された変換係数値の２次元配列の例を示す図である。
【図６】本発明の実施の形態によるビデオエンコーダの概略ブロック図である。
【図７】本発明の実施の形態による、図６に示されるエンコーダに対応するビデオデコーダの概略ブロック図である。
【図８】本発明による方法を実装し得るマルチメディア通信端末の概略ブロック図である。
【図１】
2005516456.tif 000006
【図２】
2005516456.tif 000007
【図３】
2005516456.tif 000008
【図４】
2005516456.tif 000009
【図５】
2005516456.tif 000010
【図６】
2005516456.tif 000011
【図７】
2005516456.tif 000012
【図８】
2005516456.tif 000013
【国際調査報告】
2005516456.tif 000014
2005516456.tif 000015
2005516456.tif 000016