(57)【要約】      （修正有）【課題】符号化の複雑性と圧縮効率との間のより良好な妥協を達成できる、エントロピー符号化の概念を提供する。【解決手段】シンボル復号器は、データストリームからの符号語に基づいてソースシンボルの第１列とソースシンボルの第２列とを取得し、第１列と第２列のソースシンボルは変換係数ブロックの変換係数のレベル値に関係している。シンボル復号器は、算術的なコンテキストベースのエントロピー符号化を用いて第１列のソースシンボルを取得し、指数ゴロム符号化を用いて第２列のソースシンボルを取得する。組立手段は、複数の区間部分にサブ分割されるある値範囲を持つシンタックス要素の列を、各シンタックス要素について、複数の区間部分のうちのシンタックス要素に関連する一部分に基づいて、第１列と第２列から１セットのソースシンボルを取得し、セットのソースシンボルの値を結合してシンタックス要素の値を決定すること、によって組み立てる。【選択図】図２ｂ
2020099077.tif 000002
【特許請求の範囲】
【請求項１】
復号化装置であって、
シンボル復号器と組立手段とを含み、
前記シンボル復号器は、データストリームからの符号語に基づいてソースシンボルの第１列とソースシンボルの第２列とを取得するよう構成され、前記第１列と第２列のソースシンボルは変換係数ブロックの変換係数のレベル値に関係しており、前記シンボル復号器は、算術的なコンテキストベースのエントロピー符号化を用いて前記第１列のソースシンボルを取得し、指数ゴロム符号化を用いて前記第２列のソースシンボルを取得するよう構成され、
前記組立手段は、複数の区間部分にサブ分割されるある値範囲を持つシンタックス要素の列を、各シンタックス要素について、前記複数の区間部分のうちの前記シンタックス要素に関連する一部分に基づいて、前記第１列と第２列から１セットのソースシンボルを取得すること、及び
前記セットのソースシンボルの値を結合して前記シンタックス要素の値を決定すること、
によって組み立てるよう構成される、
復号化装置。
【請求項２】
前記シンボル復号器は、
前記データストリームの第１部分を受信し、前記算術的なコンテキストベースのエントロピー符号化を用いて、前記データストリームの第１部分の符号語から、ソースシンボルの第１列のソースシンボルを復元するよう構成された、第１復号器部と、
前記データストリームの第２部分を受信し、前記指数ゴロム符号化を用いて、前記データストリームの第２部分の符号語から、ソースシンボルの第２列のソースシンボルを復元するよう構成された、第２復号器部と、
を含む請求項１に記載の復号化装置。
【請求項３】
前記ソースシンボルの第１列における１つのソースシンボルは、前記複数の区間部分の第１部分と対応しており、前記複数の区間部分は、前記第１部分が前記複数の区間部分の第２部分よりも前記値範囲の低い値をカバーするように配置される、
請求項１に記載の復号化装置。
【請求項４】
前記第１列からのソースシンボルと前記第２列からのソースシンボルとは、異なる部分に対応している、
請求項１に記載の復号化装置。
【請求項５】
前記複数の区間部分は、最大で３つの部分を含む、
請求項１に記載の復号化装置。
【請求項６】
前記データストリームの第３部分は少なくとも１つのスケーリングファクタを表している、
請求項１に記載の復号化装置。
【請求項７】
前記復号化装置は、プログラム可能な論理デバイス、プログラム可能なゲートアレイ、マイクロプロセッサ、コンピュータ、又は電子回路の少なくとも一部である、
請求項１に記載の復号化装置。
【請求項８】
前記組立手段は、変換係数ブロックの変換係数の絶対値変換係数レベルを組み立てる間に、以下の（ア）〜（エ）の少なくとも１つに基づいて、前記区間部分の間に少なくとも１つの限界を設定するよう構成される、
（ア）スキャン順序において先行する変換係数の以前に復元された絶対値変換係数レベル、
（イ）スキャン順序で組み立てられる現在の絶対値変換係数レベルの位置、
（ウ）組み立てられる現在の絶対値変換係数レベルの位置に空間的に隣接している変換係数の以前に復元された絶対値変換係数レベルの評価、
（エ）組み立てられる現在の絶対値変換係数レベルの位置にスキャン順序に従って隣接している変換係数の以前に復元された絶対値変換係数レベルの評価、
請求項１に記載の復号化装置。
【請求項９】
復号化方法であって、
データストリームからの符号語に基づいてソースシンボルの第１列とソースシンボルの第２列とを取得するステップであって、前記第１列と第２列のソースシンボルは変換係数ブロックの変換係数のレベル値に関係しており、前記ステップは、算術的なコンテキストベースのエントロピー符号化を用いて前記第１列のソースシンボルを取得し、指数ゴロム符号化を用いて前記第２列のソースシンボルを取得するものである、ステップと、
複数の区間部分にサブ分割されるある値範囲を持つシンタックス要素の列を、各シンタックス要素について、
前記複数の区間部分のうちの前記シンタックス要素に関連する一部分に基づいて、前記第１列と第２列から１セットのソースシンボルを取得すること、及び
前記セットのソースシンボルの値を結合して前記シンタックス要素の値を決定すること、
によって組み立てるステップと、
を有する復号化方法。
【請求項１０】
前記データストリームの第１部分を受信すること、
前記算術的なコンテキストベースのエントロピー符号化を用いて、前記データストリームの第１部分の符号語から、ソースシンボルの第１列のソースシンボルを復元すること、
前記データストリームの第２部分を受信すること、
前記指数ゴロム符号化を用いて、前記データストリームの第２部分の符号語から、ソースシンボルの第２列のソースシンボルを復元すること、
を含む請求項９に記載の復号化方法。
【請求項１１】
前記ソースシンボルの第１列における１つのソースシンボルは、前記複数の区間部分の第１部分と対応しており、前記複数の区間部分は、前記第１部分が前記複数の区間部分の第２部分よりも前記値範囲の低い値をカバーするように配置される、
請求項９に記載の復号化方法。
【請求項１２】
前記第１列からのソースシンボルと前記第２列からのソースシンボルとは、異なる部分に対応している、
請求項９に記載の復号化方法。
【請求項１３】
前記複数の区間部分は、最大で３つの部分を含む、
請求項９に記載の復号化方法。
【請求項１４】
前記データストリームの第３部分は少なくとも１つのスケーリングファクタを表している、
請求項９に記載の復号化方法。
【請求項１５】
前記復号化方法は、プログラム可能な論理デバイス、プログラム可能なゲートアレイ、マイクロプロセッサ、コンピュータ、又は電子回路を使用して実行される、
請求項９に記載の復号化方法。
【請求項１６】
前記変換係数ブロックの変換係数の絶対値変換係数レベルを組み立てる間に、以下の（ア）〜（エ）の少なくとも１つに基づいて前記区間部分の間に少なくとも１つの限界を設定するステップをさらに含む、
（ア）スキャン順序において先行する変換係数の以前に復元された絶対値変換係数レベル、
（イ）スキャン順序で組み立てられるべき現在の絶対値変換係数レベルの位置、
（ウ）組み立てられるべき現在の絶対値変換係数レベルの位置に空間的に隣接している変換係数の以前に復元された絶対値変換係数レベルの評価、
（エ）組み立てられるべき現在の絶対値変換係数レベルの位置にスキャン順序に従って隣接している変換係数の以前に復元された絶対値変換係数レベルの評価、
請求項９に記載の復号化方法。
【請求項１７】
符号化装置であって、
分解手段とシンボル符号器とを含み、
前記分解手段は、
変換係数ブロックの変換係数のレベル値に関係する、複数の区間部分にサブ分割されるある値範囲を持つシンタックス要素の列を受信し、かつ
各シンタックス要素を、複数の区間部分のうちの前記シンタックス要素に関連する一部分に基づくソースシンボルの対応するセットに分解することによって、前記セットのソースシンボルの値の合計が前記シンタックス要素の値をもたらすように、前記シンタックス要素の列に基づいてソースシンボルの列を取得するよう構成され、
前記シンボル符号器は、
前記ソースシンボルの列を受信し、
前記ソースシンボルの列をソースシンボルの第１列とソースシンボルの第２列へとサブ分割し、かつ
算術的なコンテキストベースのエントロピー符号化を用いて前記第１列のソースシンボルを符号化し、指数ゴロム符号化を用いて前記第２列のソースシンボルを符号化するよう構成される、
符号化装置。
【請求項１８】
前記シンボル符号器は、
算術的なコンテキストベースのエントロピー符号化を用いて前記第１列のソースシンボルを符号化する第１符号器部と、
指数ゴロム符号化を用いて前記第２列のソースシンボルを符号化する第２符号器部と、
を含む請求項１７に記載の符号化装置。
【請求項１９】
ソースシンボルの第１列における１つのソースシンボルは、前記複数の区間部分の第１部分と対応しており、前記複数の区間部分は、前記第１部分が前記複数の区間部分の第２部分よりも前記値範囲の低い値をカバーするように配置される、
請求項１７に記載の符号化装置。
【請求項２０】
前記第１符号器部又は前記第２符号器部はさらに、スケーリングファクタを符号化するよう構成される、
請求項１７に記載の符号化装置。
【請求項２１】
前記第１列からのソースシンボルと前記第２列からのソースシンボルとは、前記複数の区間部分の異なる部分に対応している、
請求項１７に記載の符号化装置。
【請求項２２】
前記符号化装置は、プログラム可能な論理デバイス、プログラム可能なゲートアレイ、マイクロプロセッサ、コンピュータ、又は電子回路の少なくとも一部である、
請求項１７に記載の符号化装置。
【請求項２３】
ビデオデータを記憶する非一過性のコンピュータ読み取り可能な記憶媒体であって、前記ビデオデータは、
前記非一過性のコンピュータ読み取り可能な記憶媒体に格納され、かつソースシンボルの第１列とソースシンボルの第２列とに関連するデータを含む、データストリームを含み、
前記第１列と第２列のソースシンボルは、変換係数ブロックの変換係数のレベル値に関係しており、かつプロセッサを使用して以下の操作（ア）〜（ウ）を実行することにより、複数の区間部分にサブ分割されるある値範囲を持つシンタックス要素の列に基づいて取得される、
（ア）１セットのソースシンボルの値の合計が前記シンタックス要素の値となるように、前記複数の区間部分のうちの前記シンタックス要素に関連する一部分に基づいて、各シンタックス要素をソースシンボルの対応するセットに分解すること、
（イ）前記ソースシンボルの列をソースシンボルの第１列とソースシンボルの第２列へとサブ分割すること、及び
（ウ）算術的なコンテキストベースのエントロピー符号化を用いて前記第１列のソースシンボルを符号化し、指数ゴロム符号化を用いて前記第２列のソースシンボルを符号化すること、
非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項２４】
前記操作は、第１符号器部を使用して前記第１列のソースシンボルを符号化する操作と、第２符号器部を使用して前記第２列のソースシンボルを符号化する操作と、をさらに含む、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項２５】
前記第１符号器部又は前記第２符号器部は、スケーリングファクタを符号化するよう構成される、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項２６】
ソースシンボルの第１列における１つのソースシンボルは、前記複数の区間部分の第１部分と対応しており、前記複数の区間部分は、前記第１部分が前記複数の区間部分の第２部分よりも前記値範囲の低い値をカバーするように配置される、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項２７】
前記第１列からのソースシンボルと前記第２列からのソースシンボルとは、前記複数の区間部分の異なる部分に対応している、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項２８】
前記複数の区間部分は、最大で３つの部分を含む、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項２９】
前記データストリームの第３部分は少なくとも１つのスケーリングファクタを表している、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【請求項３０】
前記操作は、変換係数ブロックの変換係数の絶対値変換係数レベルを組み立てる間に、以下の（ア）〜（エ）の少なくとも１つに基づいて、前記区間部分の間に少なくとも１つの限界を設定することをさらに含む、
（ア）スキャン順序において先行する変換係数の以前に復元された絶対値変換係数レベル、
（イ）スキャン順序で組み立てられる現在の絶対値変換係数レベルの位置、
（ウ）組み立てられる現在の絶対値変換係数レベルの位置に空間的に隣接している変換係数の以前に復元された絶対値変換係数レベルの評価、
（エ）組み立てられる現在の絶対値変換係数レベルの位置にスキャン順序に従って隣接している変換係数の以前に復元された絶対値変換係数レベルの評価、
請求項２３に記載の非一過性のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばビデオ及びオーディオ圧縮のようなアプリケーションに使用可能な、エントロピー符号化および復号化に関する。
【背景技術】
【０００２】
エントロピー符号化は、一般的には、ロスレスデ−タ圧縮の最も総称的な形態として考えられ得る。ロスレス圧縮は、元のデータ表現のために必要とされるよりも少ないビット数で、但し情報の損失が全くない状態で、離散的データを表現することを目的としている。離散的なデータは、テキスト、図形、画像、ビデオ、オーディオ、スピーチ、ファクシミリ、医療データ、気象データ、財務データの形態、または任意の他のデジタルデータの形態において提供され得る。
【０００３】
エントロピー符号化においては、基礎となる離散データソースの特定の高レベルの特性が無視される場合が多い。そのため、任意のデータソースは、所与のｍ−ａｒｙのアルファベット値を持ち、かつ対応する（離散的）確率分布｛ｐ1，．．．，ｐm｝によって特徴付けられるような、ソースシンボル列として与えられると考えられる。これらの概念的な設定において、シンボルあたりのビットの予想される符号語長に関して、任意のエントロピー符号化方法の下限が次式のエントロピーによって与えられる。
【数１】
2020099077.tif 000003
【０００４】
ハフマン符号や算術符号は、（ある意味で）エントロピーの限界を近似できる現実的な符号の周知の例である。固定的な確率分布については、ハフマン符号は比較的容易に構築できる。ハフマン符号の最も魅力的な特性は、可変長符号（ＶＬＣ）テーブルを使用することにより、その実装を効率的に実現し得るという点である。しかしながら、時間で変動するソース統計、即ち変動するシンボル確率を扱う場合には、ハフマン符号とそれに対応するＶＬＣテーブルとを適用することは、アルゴリズムの複雑さと実装に係る費用の点において、過大な要求を発生させてしまう。さらに、ｐk＞０．５を持つ優勢アルファベット値がある場合には、（ランレングス符号化などの任意のアルファベット拡張子も使用しない）対応するハフマン符号は、かなりの冗長度を持つ可能性がある。ハフマン符号の他の欠点は、より高次の確率モデリングを扱う場合に、ＶＬＣテーブルの多数の集合が必要となる可能性があるという事実である。他方、算術符号化は、実質的にはＶＬＣよりも複雑であるにも関わらず、適応型および高次の確率モデリングを扱う場合や、かなり偏りのある確率分布を扱う場合には、より一貫性があり適切な処理を提供できるという利点がある。実際に、この特徴は基本的に以下の事実から生まれるものである。すなわち、算術符号化は、少なくとも概念的には、確率推定のいかなる所与の値をも多かれ少なかれ直接的な方法で、結果として得られる符号語の一部分へとマップ（写像）するためのメカニズムを提供するという事実である。そのようなインターフェイスを備えることで、算術符号化は、一方では確率モデリング作業と確率推定作業との間の明確な分離を可能にし、他方では実際のエントロピー符号化、即ちシンボルから符号語へのマッピングを可能にしている。
【０００５】
算術符号化とＶＬＣ符号化とに対する代替法は、ＰＩＰＥ符号化である。より正確には、ＰＩＰＥ符号化においては、ランダムシンボル変数の確率推定に沿って符号化処理をパイプライン化するために、ユニット区間が小さな１セットのばらばらの確率区間へと区分され（partitioned）ていく。この区分によれば、任意のアルファベット・サイズを持つ離散的なソースシンボルの入力列は、アルファベットシンボルの列へとマップされることができ、アルファベットシンボルの各々が１つの特別な確率区間へと割り当てられ、その確率区間は、次に特別仕様のエントロピー符号化処理によって符号化される。区間の各々が固定的な確率によって表現されることで、確率区間区分エントロピー（ＰＩＰＥ: probability interval partitioning entropy）符号化処理は、単純な可変長符号から可変長符号へのデザイン及びアプリケーションに基づいてもよい。確率モデリングは固定型または適応型のいずれであってもよい。しかし、ＰＩＰＥ符号化は、算術符号化よりも複雑性においてかなり低い一方で、依然としてＶＬＣ符号化よりも高い複雑性を有している。
【０００６】
そこで、算術符号化およびＶＬＣ符号化の両方の長所を既に組み合わせたＰＩＰＥ符号化と比較してもなお、符号化の複雑性と圧縮効率との間のより良好な妥協を達成できるようなエントロピー符号化スキームを獲得することは有益であろう。
【０００７】
さらに一般的には、適度な符号化の複雑性において、より良好な圧縮効率そのものを達成できるようなエントロピー符号化スキームを獲得することは有益であろう。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明の目的は、上述した要求を満たす、即ち符号化の複雑性と圧縮効率との間のより良好な妥協を達成できる、エントロピー符号化の概念を提供することである。
【課題を解決するための手段】
【０００９】
この目的は、請求項１乃至１０に記載の復号化方法と、請求項１１乃至２０に記載の復号化装置と、請求項２１に記載の記憶媒体と、請求項２２乃至２６に記載の符号化方法と、請求項２７乃至３０に記載の符号化装置によって達成される。
【００１０】
本発明は次のような知見に基づいている。即ち、それぞれのシンタックス要素の値領域をｎ個のパーティション（区分）からなる１つの列へと分解(decomposing)し、それぞれのパーティションの中に含まれるシンタックス要素の値ｚの成分を別々に符号化すること、即ち少なくとも１つをＶＬＣ符号化により符号化し、少なくとも１つをＰＩＰＥ符号化もしくは算術符号化又は他の任意のエントロピー符号化方法により符号化することは、使用される符号化スキームがシンタックス要素の統計に対してより良好に適応され得るという点で、適度な符号化オーバーヘッドで、圧縮効率をはるかに増大させる可能性がある、という知見である。従って、本発明の実施形態によれば、シンタックス要素は、ソースシンボルｓiのそれぞれの数ｎへと分解され、ここで、ｉ＝１．．．ｎであり、ソースシンボルｓiのそれぞれの数ｎは、それぞれのシンタックス要素の値領域がサブ分割されていくｎ個のパーティション（１４０1-3）からなる１列のどの部分に、それぞれのシンタックス要素の値ｚが当てはまるか、に基づいており、その場合、ソースシンボルｓiのそれぞれの数の値の合計がｚとなり、ｎ＞１である場合には、全てのｉ＝１．．．ｎ−１について、ｓiの値がｉ番目のパーティションの領域に対応するようになる。
【００１１】
更に、ＶＬＣ符号化と共にＰＩＰＥ符号化を使用する本発明の幾つかの実施形態は、以下の事実を利用する。即ち、符号化の複雑性を一方とし圧縮効率を他方とした場合のそれらの間のより良好な妥協点は、複数の特別仕様のエントロピー符号器／復号器の間で、アルファベットシンボルがそれらの確率分布推定に基づいて分布されるような、ＰＩＰＥ符号化のカテゴリー化の特徴に加えて、更なるカテゴリー化ステージが提供された場合に達成される、という事実であり、その更なるステージでは、符号化されるべきソースシンボルが、ＶＬＣ符号化を施される第１のサブストリームとＰＩＰＥ符号化を施される第２のサブストリームとにサブ分割されており、第２のサブストリームは、ＰＩＰＥ符号器のシンボルアルファベット内で、即ち、アルファベットシンボルの列として表現されるという事実である。この方法によれば、適切なシンボル確率分布を有するソースシンボル、即ち本願明細書の導入部に記載した欠点がないＶＬＣ符号化によって効率的に符号化されるのに適した確率分布を有するソースシンボルは、より高い値を持つパーティションなどのようなＶＬＣ符号化されるシンボルとして分類され、他方、最も低い値を持つパーティションなどのような他のソースシンボルは、ＰＩＰＥ符号化されるシンボルとして扱われてＰＩＰＥ符号化が施され、そのＰＩＰＥ符号化の符号化複雑性は、ＶＬＣ符号化よりも高度であるが、より良好な圧縮効率を示す。
【００１２】
一実施形態によれば、シンタックス要素はそれぞれ整数個のソースシンボルに分解され、そのうちの１つがＶＬＣ符号化されるシンボルとして扱われ、他の１つがＰＩＰＥ符号化されるシンボルとして扱われることが可能である。
【００１３】
本発明の好適な態様は、添付した従属請求項の要旨となる。
【００１４】
本発明の好適な実施形態は、以下に図面を参照しながら説明する。
【図面の簡単な説明】
【００１５】
【図１ａ】一実施形態に係るエントロピー符号化装置のブロック図である。
【図１ｂ】シンタックス要素からソースシンボルへの可能性のある分解を示す、一実施形態に係る概略図である。
【図１ｃ】シンタックス要素からソースシンボルへと分解する図１ａの分解部の可能な操作モードを示す、一実施形態に従うフロー図である。
【図２ａ】一実施形態に係るエントロピー復号化装置のブロック図を示す。
【図２ｂ】ソースシンボルからシンタックス要素を組み立てる図２ａの組立部の可能な操作モードを示す、一実施形態に従うフロー図である。
【図３】図１で使用され得る一実施形態に係るＰＩＰＥ符号器のブロック図である。
【図４】図２で使用可能であり、一実施形態に係る図３のＰＩＰＥ符号器によって生成されたビットストリームを復号化するために適切なＰＩＰＥ復号器のブロック図である。
【図５】多重化された部分的ビットストリームを持つデータパケットを示す、一実施形態に係る概略図である。
【図６】固定サイズのセグメントを使用した代替的なセグメンテーションを持つデータパケットを示す、他の実施形態に係る概略図である。
【図７】部分的ビットストリーム・インターリービングを使用する、一実施形態に係るＰＩＰＥ符号器のブロック図である。
【図８】図７の符号器側における符号語バッファのステータスの例を概略的に示す、一実施形態に係る図である。
【図９】部分的ビットストリーム・インターリービングを使用する、一実施形態に係るＰＩＰＥ復号器のブロック図である。
【図１０】符号語の単一の集合を用いた符号語インターリービングを使用する、一実施形態に係るＰＩＰＥ復号器のブロック図である。
【図１１】固定長のビット列のインターリービングを使用する、一実施形態に係るＰＩＰＥ符号器のブロック図である。
【図１２】図１１の符号器側におけるグローバル・ビットバッファのステータスの例を概略的に示す、一実施形態に係る図である。
【図１３】固定長のビット列のインターリービングを使用する、一実施形態に係るＰＩＰＥ復号器のブロック図である。
【図１４】（０，０．５）内の均一な確率分布を仮定したとき、Ｋ＝４の区間への最適な確率区間離散化を示すグラフである。
【図１５】ｐ＝０．３８のＬＰＢ確率についてのバイナリー事象のツリーと、ハフマン・アルゴリズムによって得られた関連する可変長符号と、を概略的に示す図である。
【図１６】テーブルエントリの最大数Ｌｍが与えられた場合に、最適な符号Ｃについての相対的なビットレートの増加率ρ（ｐ,Ｃ）を推測し得るグラフである。
【図１７】Ｋ＝１２の区間への理論上最適な確率区間区分と、最大数がＬｍ＝６５のテーブルエントリである場合のＶ２Ｖ符号を有する実際の設計と、についてのレートの増加率を示すグラフである。
【図１８】３項選択ツリーを完全なバイナリー選択ツリーへと変換する例を概略的に示す図である。
【図１９】符号器（左側部分）と復号器（右側部分）とを含むシステムを示す、一実施形態に係るブロック図である。
【図２０】一実施形態に係るエントロピー符号化装置を示すブロック図である。
【図２１】一実施形態に係るエントロピー復号化装置を示すブロック図である。
【図２２】他の実施形態に係るエントロピー符号化装置を示すブロック図である。
【図２３】図２２の符号器側におけるグローバル・ビットバッファのステータスの例を概略的に示す、一実施形態に係る図である。
【図２４】本発明の他の実施形態に係るエントロピー復号化装置を示すブロック図である。
【発明を実施するための形態】
【００１６】
本発明の複数の実施形態を図面を参照しながら以下に説明する前に、これらの図面内における同一または同等の構成要素を示すために同一の参照符号が図面全体にわたって使用されている点、さらに、先の説明がその時点の図面の説明と矛盾しない限り、先の図面に関して記載されたそれら構成要素の説明が後続のいずれの図面にも適用される点について、留意されたい。
【００１７】
図１ａは、本発明の一実施形態に係るエントロピー符号化装置を示す。この装置は、サブ分割部１００と、ＶＬＣ符号器１０２と、ＰＩＰＥ符号器１０４とを含む。
【００１８】
サブ分割部１００は、ソースシンボル１０６の列を、ソースシンボルの第１サブ列１０８とソースシンボルの第２サブ列１１０とにサブ分割するよう構成されている。ＶＬＣ符号器１０２は、サブ分割部１００の第１出力に接続された入力を備え、さらに第１サブ列１０８のソースシンボルをシンボル毎に符号語へと変換し、第１ビットストリーム１１２を形成するよう構成されている。ＶＬＣ符号器１０２はルックアップテーブルを含み、さらに、そのルックアップテーブル内でそれぞれの符号語をソースシンボル毎に参照するためのインデックスとして、ソースシンボルを個別に使用してもよい。ＶＬＣ符号器は前記符号語を出力し、サブ列１０８内の後続のソースシンボルを続いて処理する結果、符号語の列が出力されて、その列内の各符号語がサブ列１１０内のソースシンボルのうちの正に１つと関連付けられる。符号語は異なる長さを持っていてもよく、いずれの符号語も他の符号語と一緒に接頭語を形成することがないように定義されてもよい。加えて、ルックアップテーブルは静的でよい。
【００１９】
ＰＩＰＥ符号器１０４は、サブ分割部１００の第２出力に接続された入力を備え、さらに、アルファベットシンボル列の形態で表現されるソースシンボルの第２サブ列１１０を符号化するよう構成されている。ＰＩＰＥ符号器１０４はまた、アルファベットシンボル列の先行するアルファベットシンボル内に含まれる情報に基づいて、アルファベットシンボル列の各アルファベットシンボルに対して、それぞれのアルファベットシンボルが持つ可能性のある値間における確率分布推定のための測度（measure）を割り当てるよう構成された割当部１１４と、複数のエントロピー符号器１１６であって、各符号器に送られてきたアルファベットシンボルをそれぞれの第２ビットストリーム１１８へと変換するよう構成されたエントロピー符号器１１６と、第２サブ列１１０の各アルファベットシンボルを複数のエントロピー符号器１１６のうちの選択された１つへと送るように構成された選択部１２０であって、その選択がそれぞれのアルファベットシンボルに割り当てられた確率分布の推定のための上述した測度に依存する、選択部１２０と、を備えていてもよい。ソースシンボルとアルファベットシンボルとの間の関係は、アルファベットシンボル列内の他のアルファベットシンボルであって相互に直接続く可能性のあるものと一緒に、各アルファベットシンボルが１つのソースシンボルを表現するように、各アルファベットシンボルがサブ列１１０の正にその１つのソースシンボルと一意に関連付けられるような関係であってもよい。
【００２０】
以下により詳細に説明するように、ソースシンボルの列１０６は、解析可能なビットストリームのシンタックス要素の列であってもよい。解析可能なビットストリームとは、例えばスケーラブル又は非スケーラブルな状態でビデオ及び／又はオーディオのコンテンツを表現してもよく、その場合、シンタックス要素が例えば変換係数レベル、動きベクトル、動画参照インデックス、スケールファクタ、オーディオエンベロープ・エネルギー値又は同種のものを表現してもよい。シンタックス要素は、特に異なるタイプ又はカテゴリーのものであってもよく、その場合、異なる画像、異なるマクロブロック、異なるスペクトル成分などのような異なる部分に関する点を除き、同じタイプのシンタックス要素が例えば解析可能なビットストリーム内では同じ意味を有してもよく、他方では、例えば動きベクトルが動き予測残余を表す変換係数レベルを表現するシンタックス要素とは異なる意味を持つように、異なるタイプのシンタックス要素がビットストリーム内で異なる意味を持ってもよい。
【００２１】
サブ分割部１００は、シンタックス要素のタイプに基づいてサブ分割を実行するように構成されてもよい。つまり、サブ分割部１００は、第１グループのタイプのシンタックス要素を第１サブ列１０８へと送り、第１グループとは異なる第２グループのタイプのシンタックス要素を第２サブ列１１０へと送ってもよい。サブ分割部１００により実行されるサブ分割は、サブ列１０８内のシンタックス要素のシンボル統計がＶＬＣ符号器１０２によりＶＬＣ符号化されることに適するように設計されてもよい。即ち、本願明細書の導入部で記述したように、ＶＬＣ符号化を使用した場合に、所定のシンボル統計に関する制限があるにも拘わらず、可能性な限り殆ど最小のエントロピーという結果をもたらす。他方、サブ分割部１００は、他の全てのシンタックス要素を第２のサブ列１１０へと送ってもよく、その場合、ＶＬＣ符号化に適さないシンボル統計を持つこれらシンタックス要素は、より複雑で、しかし圧縮率においてはより効率的なＰＩＰＥ符号器１０４によって符号化される。
【００２２】
後続の図においてさらに詳細に説明するケースにも当てはまるが、ＰＩＰＥ符号器１０４は、第２サブ列１１０の各シンタックス要素をアルファベットシンボルのそれぞれの部分的な列へと個別にマップして、アルファベットシンボルの上述した列１２４を一緒に形成するよう構成された、シンボライザ１２２を含んでもよい。換言すれば、もし例えばサブ列１１０のソースシンボルが既にアルファベットシンボルのそれぞれの部分的な列として表現されている場合には、シンボライザ１２２は存在しなくてもよい。例えばサブ列１１０内のソースシンボルが異なるアルファベットからなり、特にそれらアルファベットが可能なアルファベットシンボルの異なる個数を持つアルファベットである場合に、シンボライザ１２２は有利である。つまり、この場合には、シンボライザ１２２は、サブストリーム１１０内で到着するシンボルのアルファベットを調和させることができる。シンボライザ１２２は、例えばサブストリーム１１０内で到着するシンボルを二値化するよう構成されたバイナライザとして具体化されてもよい。
【００２３】
上述したように、シンタックス要素は異なるタイプのものでもよい。この点は、サブ列１１０内のシンタックス要素についても真実である。シンボライザ１２２は、次に、二値化スキームなどのシンボル化のマッピングスキームであって、異なるタイプのシンタックス要素に対しては異なるスキームを使用して、サブ列１１０のシンタックス要素の個別のマッピングを実行するよう構成されてもよい。例えば、ユーナリー二値化スキーム、０次または１次の指数ゴロム二値化スキーム、又は切り詰められた（truncated）ユーナリー二値化スキーム、切り詰められかつ並べ替えられた０次の指数ゴロム二値化スキーム、又は非系統的な二値化スキームなど、特定の二値化スキームの例を以下の説明で示す。
【００２４】
従って、エントロピー符号器１１６は二値アルファベットで作動するよう構成されてもよい。最後に、シンボライザ１２２は図１ａに示すようにＰＩＰＥ符号器１０４自身の一部として認識されてもよいことに留意されたい。しかし代替的に、バイナライザはＰＩＰＥ符号器に対する外部要素として認識されてもよい。
【００２５】
前段の注意書きと同様に、割当部１１４は、シンボライザ１２２と選択部１２０との間に直列的に接続されるよう示されているが、図３に関して後述するように、シンボライザ１２２の出力と選択部１２０の第１入力との間に接続され、割当部１１４の出力が選択部１２０の他の入力に接続されていてもよい。実際には、割当部１１４は各アルファベットシンボルに確率分布の推定のための上述した測度を付加する。
【００２６】
図１ａのエントロピー符号化装置の出力に関して言えば、当該出力は、ＶＬＣ符号器１０２により出力された第１ビットストリーム１１２と、複数のエントロピー符号器１１６により出力された複数の第２のビットストリーム１１８とによって構成される。さらに後述するように、これら全てのビットストリームは並列的に伝送されてもよい。代替的に、エントロピー符号化装置の出力は、インターリーバー１２８を使用して１つの共通のビットストリーム１２６へとインターリーブされてもよい。図２２〜図２４の実施形態がそのようなビットストリームのインターリービングの例を示す。図１にさらに示すように、ＰＩＰＥ符号器１０４自身が専用のインターリーバー１３０を備え、複数の第２のビットストリーム１１８を１つの共通のＰＩＰＥ符号化されたビットストリーム１３２へとインターリーブしてもよい。そのようなインターリーバー１３０の可能性は、図５から図１３に関して説明する以下の実施形態から導かれ得る。ビットストリーム１３２とビットストリーム１１２とは、並列的な構成では、図１ａのエントロピー符号化装置の出力を表現してもよい。代替的に、もう１つのインターリーバー１３４が両方のビットストリームをインターリーブしてもよく、この場合には、インターリーバー１３０と１３４とは１つの２段階インターリーバー１２８の２つの段階を形成することになる。
【００２７】
上述したように、サブ分割部１００はシンタックス要素単位でサブ分割を実行してもよく、即ちサブ分割部１００が操作するソースシンボルは全体的なシンタックス要素であってもよく、換言すれば、サブ分割部１００はシンタックス要素からなるユニット単位で作動してもよい。
【００２８】
しかしながら、代替的な実施形態によれば、図１ａのエントロピー符号化装置は分解部１３６を備え、解析可能なビットストリーム１３８内のシンタックス要素を、サブ分割部１００に入力されるソースシンボル列１０６の１つ以上のソースシンボルへと個別に分解してもよい。特に、分解部１３６は、各シンタックス要素をそれぞれ整数個のソースシンボルへと個別に分解することで、シンタックス要素の列１３８をソースシンボル列１０６へと変換するよう構成されてもよい。その整数の個数はシンタックス要素間で変化してもよい。特に、シンタックス要素の幾つかは分解部１３６によって変化なしのままとしてもよく、その一方で、他のシンタックス要素は２つ又は少なくとも２つのソースシンボルに分解されてもよい。サブ分割部１００は、そのような分解されたシンタックス要素のソースシンボルの１つをソースシンボルの第１のサブ列１０８に送ってもよく、さらに、同じ分解されたシンタックス要素のソースシンボルの他の１つをソースシンボルの第２のサブ列１１０に送ってもよい。上述したように、ビットストリーム１３８内のシンタックス要素は異なるタイプのものでも良く、分解部１３６は、シンタックス要素のタイプに応じて個別の分解を実行するよう構成されてもよい。好適には、分解部１３６は、後に復号器側で使用される整数個のソースシンボルからそれぞれのシンタックス要素への予め決定された一意的な逆マッピングであって全てのシンタックス要素に共通するものが存在するように、シンタックス要素の個別の分解を実行する。
【００２９】
例えば、分解部１３６は、解析可能なビットストリーム１３８内のシンタックス要素ｚを２つのソースシンボルｘとｙとに分解する際に、ｚ＝ｘ＋ｙ，ｚ＝ｘ−ｙ，ｚ＝ｘ・ｙ又はｚ＝ｘ：ｙとなるように、分解するよう構成されてもよい。この方法により、サブ分割部１００は、シンタックス要素を２つの成分、即ちソースシンボルストリーム１０６のソースシンボルであって、そのうちの１つはｘのように圧縮効率の観点からＶＬＣ符号化されることに適したものであり、他の１つはｙのようにＶＬＣ符号化には適さず、従って第１サブ列１０８ではなく第２のサブ列１１０へと送られるものに分解する。分解部１３６によって使用されるこの分解は、全単射(bijective)である必要はない。しかし、上述したように、もしこの分解が全単射でない場合には、分解部１３６がその中から選ぶ可能性のある可能な分解方法によるシンタックス要素の一意的な回復を可能にするような、逆マッピングが存在しなければならない。
【００３０】
これまで、異なるシンタックス要素の取り扱いについて異なる可能性を説明してきた。そのようなシンタックス要素またはケースが存在するか否かについては任意である。しかし、ここで以下に説明する実施形態は、以下の原理に従って分解部１３６により分解されるシンタックス要素に焦点を当てるものである。
【００３１】
図１ｃに示すように、分解部１３６は、解析可能なビットストリーム１３８内の所定のシンタックス要素ｚを複数の段階において分解するように構成されている。２又は３の段階が存在してもよい。それら段階とは、図１ｂに示すように、シンタックス要素ｚの値領域を２つ以上の隣接するサブ区間またはサブ領域へと分割するためである。シンタックス要素の値領域は、２つの無限の終点を持ってもよく、１つの終点だけが無限であってもよく、複数の有限の終点を持ってもよい。図１ｂにおいては、シンタックス要素の値領域は、例示的にパーティション１４０1-3にサブ分割される。図１ｃに示すように、もしシンタックス要素が、第１パーティション１４０1の境界１４２、即ちパーティション１４０1と１４０2とを分けている上限以上である場合には、シンタックス要素は第１パーティション１４０1の境界の限界１の分だけ減算され、ｚ'は、それが第２パーティション１４０2の境界１４４、即ちパーティション１４０2と１４０3とを分ける上限以上であるか否かを再度チェックされる。もしｚ'が境界１４４以上である場合には、第２パーティション１４０2の境界の限界２の分だけ減算され、結果としてｚ''がもたらされる。ｚが限界１よりも小さい1番目の場合には、シンタックス要素ｚはそのままサブ分割部１００に送られる。ｚが限界１と限界２との間にある場合には、シンタックス要素ｚはタプル(tuple)（限界１,ｚ'）としてサブ分割部１００に送られ、このときｚ＝限界１＋ｚ'である。ｚが限界２以上の場合には、シンタックス要素ｚはトリプル(triplet)（限界１, 限界２−限界１,ｚ''）としてサブ分割部１００に送られ、このときｚ＝限界１＋限界２＋ｚ''である。第１の（又は唯一の）成分、即ちｚ又は限界１は、サブ分割部１００によって符号化されるべき第１のソースシンボルを形成し、第２の成分、即ちｚ'又は限界２−限界１は、存在する場合にはサブ分割部１００によって符号化されるべき第２のソースシンボルを形成し、第３の成分、即ちｚ''は、存在する場合にはサブ分割部１００によって符号化されるべき第３のソースシンボルを形成する。このように、図１ｂと図１ｃとに示す実施形態に従ってシンタックス要素は１〜３のソースシンボルのいずれかにマップされるが、しかし、多かれ少なかれ最大数のソースシンボルへの一般化は上述の説明から容易に導くことができ、そのような代替例も以下に説明する。
【００３２】
いずれにせよ、以下に記載する実施形態に従えば、これら全ての異なる成分または結果として得られるソースシンボルは符号化の選択肢の中で符号化される。それら成分のうちの少なくとも1つはサブ分割部によってＰＩＰＥ符号器１０４へと送られ、さらに、それらのうちの少なくとも他の１つはＶＬＣ符号器１０２へと送られる。
【００３３】
具体的で有利な実施形態を以下にさらに詳細に説明する。
【００３４】
エントロピー符号化装置の一実施形態を上述した後で、エントロピー復号化装置の一実施形態を図２ａに関連して説明する。図２ａのエントロピー復号化装置は、ＶＬＣ復号器２００と、ＰＩＰＥ復号器２０２とを含む。ＶＬＣ復号器２００は、第１ビットストリーム２０６の符号語から第１サブ列２０４のソースシンボルを符号単位で復元するよう構成されている。第１ビットストリーム２０６は図１のビットストリーム１１２に対応し、同様に、サブ列２０４は図１ａのサブ列１０８に対応する。ＰＩＰＥ復号器２０２は、アルファベットシンボル列の形態で表現されるソースシンボルの第２サブ列２０８を復元するよう構成されており、さらに、複数のエントロピー復号器２１０と、割当部２１２と、選択部２１４とを含む。複数のエントロピー復号器２１０は、第２のビットストリーム２１６のそれぞれをアルファベットシンボル列のアルファベットシンボルへと変換するよう構成されている。割当部２１２は、アルファベットシンボル列の以前の復元済みのアルファベットシンボル内に含まれる情報に基づいて、復元されるべきソースシンボルの第２サブ列２０８を表現しているアルファベットシンボル列の各アルファベットシンボルに対して、それぞれのアルファベットシンボルが持つ可能性のある値の間の確率分布の推定のための測度を割り当てるよう構成されている。この目的のため、割当部２１２は、選択部２１４の出力と１つの入力との間に直列的に接続されてもよく、他方、選択部２１４の他の入力には、エントロピー復号器２１０の出力がそれぞれ接続されている。選択部２１４は、複数のエントロピー復号器２１０のうちの選択された１つから、アルファベットシンボル列の各アルファベットシンボルを回収するよう構成されており、その選択は、それぞれのアルファベットシンボルに割り当てられた測度に依存する。換言すれば、選択部２１４は割当部２１２と共に、アルファベットシンボル列の先行するアルファベットシンボル内に含まれる情報を調査することによって得られたエントロピー復号器２１０間の順序で、エントロピー復号器２１０によって取得されたアルファベットシンボルを回収するよう作動できる。さらに換言すれば、割当部２１２と選択部２１４とは、アルファベットシンボル毎にアルファベットシンボルの元の順序を復元できる。次のアルファベットシンボルを予想することに加え、割当部２１２は、それぞれのアルファベットシンボルのための確率分布の推定の上述した測度を決定することができ、それを使用することで、選択部２１４は、エントロピー復号器２１０の中から、このアルファベットシンボルの実際の値を回収させるための復号器を選択する。より正確には、かつ以下により詳細に説明するように、ＰＩＰＥ復号器２０２は、アルファベットシンボル列の形態で表現されるソースシンボルのサブ列２０８を、アルファベットシンボルに対して順次要求しているアルファベットシンボル要求に応じて復元するよう構成されてもよく、割当部２１２は、復元されるべきソースシンボルの第２サブ列２０８を表現するアルファベットシンボル列のアルファベットシンボルに対する各要求に対して、それぞれのアルファベットシンボルが持つ可能性のある値の間の確率分布の推定の上述した測度を割り当てるよう構成されてもよい。また、選択部２１４は、復元されるべきソースシンボルの第２サブ列２０８を表現するアルファベットシンボル列のアルファベットシンボルに対する各要求に対し、複数のエントロピー復号器２１０のうちの選択された１つから、アルファベットシンボル列のそれぞれのアルファベットシンボルを回収するよう構成されてもよく、その選択は、それぞれのアルファベットシンボルに対するそれぞれの要求に対して割り当てられた測度に基づいてもよい。復号化側における要求を一方とし、符号化側におけるデータフロー又は符号化を他方とした場合のそれらの間の調和については、図４を参照しながらより詳細に説明する。
【００３５】
図２ａのエントロピー復号化装置は、ソースシンボルの第１サブ列２０４とソースシンボルの第２のサブ列２０８と共にソースシンボルの１つの共通の列２１８を形成するので、任意ではあるが、第１サブ列２０４と第２サブ列２０８とを再結合してソースシンボルの共通の列２１８を取得するよう構成された再結合部２２０を含む。このソースシンボルの共通の列２１８は、図１ａの列１０６の復元をもたらす。
【００３６】
図１に関して上述した説明と一致して、第１及び第２のサブ列２０４と２０８とのソースシンボルは、解析可能なビットストリームのシンタックス要素であってもよい。この場合、再結合部２２０は、第１及び第２のサブ列２０４と２０８とを介して到着するソースシンボルを、シンタックス要素間の順序を定義するある解析規則によって規定された順序でインターリーブすることで、シンタックス要素から成る列２１８のこの解析可能なビットストリームを復元するよう構成されてもよい。特に、シンタックス要素は上述したように異なるタイプのものでもよく、再結合部２２０は、ＶＬＣ復号器２００から第１グループのタイプのシンタックス要素をサブ列２０４を介して回収または要求し、さらに、ＰＩＰＥ復号器２０２から第２グループのタイプのシンタックス要素をサブ列２０８を介して回収または要求するよう構成されてもよい。従って、第１グループのタイプのシンタックス要素が次の位置にあると直近で述べた解析規則が示す場合には常に、再結合部２２０は、サブ列２０４の実際のソースシンボルを共通の列２１８へと挿入し、その他の場合にはサブ列２０８から挿入する。
【００３７】
また、ＰＩＰＥ復号器２０２は、選択部２１４の出力と再結合部２２０の入力との間に接続された、デ・シンボライザ（逆シンボル化部）２２２を含んでもよい。図１に関連する上述の説明と同様に、デ・シンボライザ２２２は、ＰＩＰＥ復号器２０２に対する外部要素として認識されてもよく、更に再結合部２２０の後方、即ち再結合部２２０の出力側に配置されてもよい。デ・シンボライザ２２２は、アルファベットシンボルの部分的な列の単位で、選択部２１４により出力されたアルファベットシンボル列２２４をソースシンボルに、即ちサブ列２０８のシンタックス要素に、リマップ（逆写像）するよう構成されてもよい。再結合部２２０と同様に、デ・シンボライザ２２２は、アルファベットシンボルの可能性のある部分的な列の構成について承知している。特に、デ・シンボライザ２２２は、選択部２１４から直前に受け取ったアルファベットシンボルを分析して、それら直前に受け取ったアルファベットシンボルが、それぞれのシンタックス要素のそれぞれの値に関連するアルファベットシンボルの有効な部分的な列をもたらすか否か、又はそうでないか否か、及びどのアルファベットシンボルが次に欠損しているか、などを確認してもよい。換言すれば、デ・シンボライザ２２２は常に、それぞれのシンタックス要素の受領を完成させるために更なるアルファベットシンボルを選択部２１４から受け取る必要があるか否か、また従って、選択部２１４により出力されたアルファベットシンボルの各々１つがどのシンタックス要素に属しているか、について承知している。この目的で、デ・シンボライザ２２２は、異なるタイプのシンタックス要素については異なっている、シンボル化の（デ・）マッピングスキームを使用してもよい。同様に、割当部２１２は、選択部２１４によって任意のエントロピー復号器２１０から回収されるべき現在のアルファベットシンボルと、シンタックス要素のうちの各々１つと、の関連について承知しており、このアルファベットシンボルの確率分布の推定の上述した測度を、それと対応するように、即ち関連するシンタックス要素のタイプに基づいて設定してもよい。さらに、割当部２１２は、現在のアルファベットシンボルの同一の部分的な列に属する異なるアルファベットシンボル同士を区別し、それらのアルファベットシンボルに対して確率分布の推定の測度を異なるように設定してもよい。この点については、以下により詳細に説明する。以下に記載するように、割当部２１２は、コンテキストをアルファベットシンボルに割り当てるよう構成されてもよい。その割当は、シンタックス要素のタイプ及び／又は現在のシンタックス要素のアルファベットシンボルの部分的な列内の位置に基づいてもよい。選択部２１４によって選択された任意のエントロピー復号器２１０から回収されるべき現在のアルファベットシンボルに対し、割当部２１２がコンテキストを割り当てると直ぐに、アルファベットシンボルは、それに関連付けられた確率分布の推定の測度を本来的に持ってもよい。なぜなら、各コンテキストがそれに関連付けられたその推定の測度を有するからである。更に、コンテキスト−及びその関連付けられた確率分布の推定の測度−は、エントロピー復号器２１０からそれまでに回収されてきたそれぞれのコンテキストのアルファベットシンボルの実際の統計に従って適応されてもよい。この点については、以下により詳細に説明する。
【００３８】
図１に関する上述の説明と同様に、シンタックス要素におけるサブ列２０４，２０８の上述したソースシンボル間の対応は、１対１の対応ではない可能性がある。むしろ、シンタックス要素は整数個のソースシンボルへと分解されており、その個数が、シンタックス要素間で変化しつつ、しかしいずれの場合にも、少なくとも１つのシンタックス要素について２以上となってもよい。上述したように、以下の実施形態は、これらの種類のシンタックス要素を扱うことに焦点を当てたものであり、しかも、他の種類のシンタックス要素は存在しない可能性もある。
【００３９】
上述したシンタックス要素を扱うために、図２ａのエントロピー復号化装置は、図１ａの分解部１３６により実行された分解を元に戻すよう構成された、組立部２２４を含んでもよい。特に、組立部２２４は、それぞれ整数個のソースシンボルから各シンタックス要素を個別に組み立てることにより、ソースシンボル列２１８から、又はもし再結合部２２０がない場合にはサブ列２０４と２０８とから、シンタックス要素の列２２６を組み立てるよう構成されてもよく、このとき、整数個のソースシンボルのうちの１つのソースシンボルが第１サブ列２０４に属し、かつ同じシンタックス要素の整数個のソースシンボルのうちの他の１つのソースシンボルが第２サブ列２０８に属していてもよい。この方法では、所定のシンタックス要素は、ＶＬＣ復号化に適する成分をＰＩＰＥ復号化経路を通って送られるべき他の成分から分離するために、符号器側において分解されていたと見ることもできる。上述の説明と同様に、シンタックス要素は異なるタイプのものであってもよく、組立部２２４は、シンタックス要素のタイプに基づいて個別の組立を実行するよう構成されてもよい。特に、組立部２２４は、論理的または数学的にそれぞれのシンタックス要素の整数個のソースシンボルを結合することにより、それぞれのシンタックス要素を取得するよう構成されてもよい。例えば、組立部２２４は、各シンタックス要素について、１つのシンタックス要素の第１および第２のソースシンボルに対し、＋、−、：又は・を適用するよう構成されてもよい。
【００４０】
しかし、上述したように、本明細書の以下に説明する実施形態は、分解部１３６によって図１ｂと図１ｃに示すように分解されるシンタックス要素、及びそれらシンタックス要素に関して説明された他の選択肢に焦点を当てるものである。図２ｂは、組立部２２４がどのように機能してこれらのシンタックス要素をそのソースシンボル２１８から復元するかを示している。
【００４１】
図２ｂに示すように、組立部２２４は、入来するソースシンボルｓ1〜ｓxから、そのようなシンタックス要素ｚを複数の段階において組み立てるよう構成され、ここで、この実施形態においてｘは１〜３の任意の数である。２つ以上の段階が存在してもよい。図２ｂに示すように、組立部２２４は、事前にｚを第１シンボルｓ1であると設定し、ｚが第１の限界１と等しいか否かについてチェックする。もし等しくない場合には、ｚが発見されたということになる。もし等しい場合には、組立部２２４は、ソースシンボルストリーム２１８の次のソースシンボルｓ2をｚに加え、再度、このｚが限界２と等しいか否かをチェックする。等しくない場合には、ｚが発見されたということになる。等しい場合には、組立部２２４はソースシンボル列２１８の次のソースシンボルｓ3をｚに加え、最終的な形態におけるｚを得る。多かれ少なかれ最大数のソースシンボルへの一般化は上述の説明から容易に導くことができ、そのような選択肢も以下に説明する。
【００４２】
いずれにせよ、以下に記載する実施形態に従えば、これら全ての異なる成分または結果として得られるソースシンボルは符号化の選択肢の中で符号化される。それらの内の少なくとも１つはサブ分割部によってＰＩＰＥ符号器１０４へと送られ、さらにそれらの内の少なくとも他の１つはＶＬＣ符号器１０２へと送られる。
【００４３】
特に有利な実施形態について、以下にさらに詳細に説明する。これらの詳細は、シンタックス要素の値領域の分割の好適な可能性と、ソースシンボルを符号化するために使用され得るエントロピーＶＬＣ及びＰＩＰＥの符号化スキームとに焦点を当てるものである。
【００４４】
更に、図１に関して上述したように、図２ａのエントロピー復号化装置は、第１のビットストリーム２０６と複数の第２のビットストリーム２１６とを、別個に又はインターリーブされた形態で、インターリーブされたビットストリーム２２８を経由して受け取るように構成されてもよい。後者の場合、図２ａのエントロピー復号化装置は、インターリーブされたビットストリーム２２８をデ・インターリーブして、第１のビットストリーム２０６を一方とし、複数の第２のビットストリーム２１６を他方として取得するよう構成された、デ・インターリーバー２３０を含んでもよい。図１に関する上述の説明と同様に、デ・インターリーバー２３０は２つの段階にサブ分割することができる。即ち、１番目の段階は、インターリーブされたビットストリーム２２８を、ビットストリーム２０６を一方とし、第２のビットストリーム２１６のインターリーブされた形態２３４を他方とする、２つの部分へとデ・インターリーブするためのデ・インターリーバー２３２であり、２番目の段階は、前記ビットストリーム２３４をデ・インターリーブして個別のビットストリーム２１６を得るためのデ・インターリーバー２３６である。
【００４５】
以上のように、図１ａはエントロピー符号化装置を示し、図２ａは、図１のエントロピー符号化装置によって取得された符号化の結果を復号化するのに適したエントロピー復号化装置を示すものである。図１ａと図２ａに示された要素のうちの多数に係る詳細を、更なる図面に基づいてより詳細に説明する。従って、以下の説明ではこれらの詳細について触れるが、これらの詳細が上述した実施形態の中で分離して実装し得る限り、図１ａと図２ａに示す実施形態にも適用されると認識されるべきである。インターリーバー１２８及びデ・インターリーバー２３０に関してのみ、幾つかの追加的な注意点がある。特に、ビットストリーム１１２と１１８のインターリービングは、伝送するためにビットストリームが１つのチャネルへと多重化されなければならない場合に、好適であり得る。この場合、ある最大復号化遅延に従うというような、満たすべき所定の条件に従うためには、ＶＬＣビットストリーム１１２を一方とし、ＰＩＰＥ符号化ビットストリーム１１８を他方として、インターリーブすることが好適となり得る。換言すれば、シンタックス要素およびソースシンボルがそれぞれ復号化側において回収可能である時間を一方とし、解析可能なビットストリーム内のそれらの位置に応じた時間における相対的なずれを他方とした場合に、それら時間同士の相対的な時間的ずれが所定の最大遅延を超えないことが必要となり得る。この問題を解決するための多数の選択肢を以下に説明する。その可能性のうちの１つは、エントロピー符号器１１６が、可変長符号器タイプであって、アルファベットシンボル列を符号語へとマッピングするよう構成されており、かつエントロピー復号器２１０が逆マッピングを行うことを含む。ＶＬＣビットストリーム１１２とＰＩＰＥビットストリーム１１８との符号語は、符号語の境界が復号器側において一意に決定可能な状態のままとなるように、これらいずれのビットストリームのどの符号語も、他のいずれのビットストリームのどの符号語の接頭語ではないように選択されてもよく、但し必須という訳ではない。いずれにせよ、インターリーバー１２８は、第１ビットストリーム１１２および第２ビットストリーム１１８内の符号語に関する符号語エントリの列を、順次リザーブしバッファするよう構成されてもよく、その順序は、選択部１２０によって複数のエントロピー符号器１１６へと送られたアルファベットシンボル列１２４のアルファベットシンボルが、それぞれのエントロピー符号器１１６においてそれぞれの符号語へとマップされるべき新たなアルファベットシンボル列の開始となる結果をもたらし、他方、第１のサブストリーム１０８の新たなソースシンボルが、ＶＬＣ符号器１０２によってマップされるような、それぞれの順序に基づいている。換言すれば、インターリーバー１２８は、ビットストリーム１１２の符号語を、それら符号語がＶＬＣ符号化によって取得されたソースシンボルの順序で、つまりサブストリーム１０８内とソースシンボル１０６内におけるそれぞれの順序で、共通ビットストリーム１２６内に挿入する。エントロピー符号器１１６によって出力された符号語は、共通ビットストリーム１２６内のＶＬＣビットストリーム１１２の連続した符号語の間に挿入される。割当部１１４と選択部１２０とがそれぞれ実行するアルファベットシンボルのＰＩＰＥ符号化のカテゴリー化によって、エントロピー符号器１１６の各符号語が、サブ列１１０の異なるソースシンボルのアルファベットシンボルを、その中に符号化された状態で持つ。共通ビットストリーム１２６内における、ＰＩＰＥ符号化されたビットストリーム１１８の符号語の、相互間の位置、およびビットストリーム１１２のＶＬＣ符号語に対する位置は、それぞれ各符号語内における符号化された最初のアルファベットシンボルにより、即ち、時間的に最も古いものにより決定される。アルファベットシンボル列１２４内のこれら最初のアルファベットシンボルがビットストリーム１１８の符号語に符号化されていく順序が、共通ビットストリーム１２６内におけるビットストリーム１１８の符号語同士の間の順序を決定する。一方、ビットストリーム１１２のＶＬＣ符号語に対しては、ビットストリーム１１８の符号語に符号化されたこれら最初のアルファベットシンボルが属するソースシンボルは、ビットストリーム１１２の連続的な符号語のうちのどの間に、任意のビットストリーム１１８のそれぞれの符号語が配置されるべきかを決定する。特に、連続的なＶＬＣ符号語であって、それらの間にビットストリーム１１８の符号語が配置されるべきＶＬＣ符号語の間には、サブ列１１０のソースシンボルがサブ分割されていないソースシンボル列１０６の元の順序に従って配置され、そのソースシンボル列１０６とは、ビットストリーム１１８のそれぞれの符号語へと符号化される最初のアルファベットシンボルが帰属する列である。インターリーバー１２８は、インターリーブされた符号語の共通ビットストリーム１２６を得るために、上述した符号語エントリに順次挿入された符号語を除外するよう構成されてもよい。既に上述したように、エントロピー符号器１１６は、それぞれのエントロピー符号器１１６のためにリザーブされている符号語エントリにそれらの符号語を順次挿入するよう構成されてもよく、また、選択部１２０は、第２サブ列１１０のソースシンボルを表すアルファベットシンボルを、ソースシンボル列１０６内で第１サブ列１０８及び第２サブ列１１０のソースシンボルがインターリーブされた順序を保つ順序で転送するよう構成されてもよい。
【００４６】
エントロピー符号器１１６のうちのいくつかは選択されることがかなり稀であるため、その非常に稀にしか使用されないエントロピー符号器１１６内で有効な符号語を取得するために、あまりに時間が掛かり過ぎるという状況に対処する目的で、追加的な手段が提供されてもよい。そのような手段の例を、以下により詳細に説明する。この場合、特にインターリーバー１２８とエントロピー符号器１１６とは、それまで集められたそれらのアルファベットシンボルと、上述した符号語エントリにそれまで挿入された符号語とを、復号化側においてフラッシュ手順の時刻が予測又はエミュレートできるような方法で、それぞれフラッシュするよう構成されてもよい。
【００４７】
復号器側においては、デ・インターリーバー２３０が逆の意味で作動してもよい。つまり、上述した解析スキームに従って、復号化されるべき次のソースシンボルがＶＬＣ符号化されたシンボルであるときはいつも、共通ビットストリーム２２８内の現在の符号語がＶＬＣ符号語として認識され、ビットストリーム２０６内でＶＬＣ復号器２００へと送られる。反対に、サブ列２０８の任意のＰＩＰＥ符号化されたシンボルに属する任意のアルファベットシンボルが最初のアルファベットシンボルであるときはいつも、即ち、それぞれのビットストリーム２１６の１つの符号語を、それぞれのエントロピー復号器２１０によってそれぞれのアルファベットシンボル列へと新たにマッピングすることが必要となるときはいつも、共通ビットストリーム２２８の現在の符号語はＰＩＰＥ符号化された符号語として認識され、それぞれのエントロピー復号器２１０へと送られる。次の符号語の境界の検出、即ち復号器２００と２０２とのいずれかにそれぞれ送られたばかりの符号語の終端から、入来しているインターリーブされたビットストリーム２２８内におけるその終端までの、次の符号語の長さ検出は延期されてもよく、さらに、復号器２００と２０２とのいずれが上述した規則に従って次の符号語の専用の受取用復号器となるかという知識の下に、つまり、この知識に基づいて受取用復号器によって使用される符号帳が認識され、それぞれの符号語が検出可能となったときに、長さ検出が実行されてもよい。他方、もし符号帳が、復号器２００と２０２との間でいずれが受取用復号器であるかについての先験的な知識がない状態でその符号語境界が検出できるように設計されていた場合には、符号語の分離は並列的に実行することが可能となる。いずれにせよ、インターリービングによって、ソースシンボルはエントロピー復号化された形態で、即ちそれらの正しい順序で合理的な遅延を持つソースシンボルとして、復号器において利用可能となる。
【００４８】
エントロピー符号化装置およびそれぞれのエントロピー復号化装置のための上記実施形態について説明した後で、次に、上述したＰＩＰＥ符号器およびＰＩＰＥ復号器についてのより詳細な実施形態の説明を行う。
【００４９】
本発明の実施形態に係るＰＩＰＥ符号器を図３に示す。この符号器は、図１ａのＰＩＰＥ符号器として使用されてもよい。このＰＩＰＥ符号器は、ソースシンボル１のストリームを２つ以上の部分的ビットストリーム１２の集合へロスレスに変換する。各ソースシンボル１は、１つ以上のカテゴリー又はタイプからなる集合のうちの１つのカテゴリー又はタイプと関連付けられてもよい。一例として、カテゴリーはソースシンボルのタイプを指定することができる。ハイブリッドビデオ符号化のコンテキストにおいては、マクロブロック符号化モード、ブロック符号化モード、参照画像インデックス、動きベクトル差、分割フラグ、符号化されたブロックフラグ、量子化パラメータ、変換係数レベルなどに対し、別個のカテゴリーが関連付けられてもよい。オーディオ、スピーチ、テキスト、文書、または汎用データ符号化などの他のアプリケーション分野において、ソースシンボルのさまざまな分類が可能である。
【００５０】
一般に、各ソースシンボルは有限または可算無限の集合の値を取ることができ、可能性のあるソースシンボル値の集合は、異なるソースシンボルカテゴリーごとに異ることができる。符号化および復号化アルゴリズムの複雑さを低減するとともに、様々なソースシンボルとソースシンボルカテゴリーのための一般的な符号化および復号化の設計を可能にするため、ソースシンボル１はバイナリー決定（binary decisions）の順序付けられた集合に変換され、その後、これらのバイナリー決定は単純なバイナリー符号化アルゴリズムによって処理される。そのため、バイナライザ２は各ソースシンボル１の値をビン３の列（またはストリング）へ全単射的にマップする。ビン３の列は順序付けられたバイナリー決定の１つの集合を表す。各ビン３またはバイナリー決定は、２つの値からなる１セットのうちの１つの値、例えば値０と１のうちの一方をとることができる。二値化スキームは、異なるソースシンボルカテゴリーについては異なっていてもよい。特定のソースシンボルカテゴリーについての二値化スキームは、その特定のカテゴリーのための可能なソースシンボル値の集合及び／又はソースシンボルの他の特性に基づくことができる。表１は、可算無限集合のための３つの例示的な二値化スキームを示す。これらの可算無限集合のための二値化スキームは、シンボル値の有限集合にも適用することができる。特に、シンボル値の大きな有限集合の場合は、（使用されないビン列から生じる）非効率性を無視することができるが、このような二値化スキームの普遍性は、複雑性とメモリ要件の面で利点を提供する。シンボル値の小さな有限集合については、可能性のあるシンボル値の数に対して二値化スキームを適応することが（符号化効率の点から）好ましいことが多い。表２は、８つの値から成る有限集合のための３つの例示的な二値化スキームを示す。有限集合のための二値化スキームは、ビン列の有限集合が冗長度のない符号を表す（かつ潜在的にビン列を並び換える）ように、ビン列の一部を変更することによって、可算無限集合のための普遍的二値化スキームから導出することができる。例えば表２の切り詰めユーナリー二値化スキームは、普遍的ユーナリー二値化のソースシンボル７のためのビン列を変更することによって作られた（表１参照）。表２の次数０の、切り詰められかつ並べ換えられた指数ゴロム二値化は、普遍的指数ゴロム次数０の二値化のソースシンボル７のためのビン列を変更することによって（表１参照）、及びビン列を並び換えることによって作られた（シンボル７のための切り詰められたビン列はシンボル１に割り当てられた）。シンボルの有限集合については、表２の最後のコラムに例示されるように、非系統的／非普遍的な二値化スキームを使用することも可能である。
【００５１】
【表１】
2020099077.tif 000004
【００５２】
【表２】
2020099077.tif 000005
【００５３】
バイナライザ２によって作成されたビン列の各ビン３は、パラメータ割当部４に順に送られる。パラメータ割当部は各ビン３に１つ以上のパラメータからなる１つの集合を割り当て、パラメータの関連付けられた集合を有するビン５を出力する。パラメータの集合は、符号器と復号器において全く同じ方法で決定される。パラメータの集合は、以下のパラメータのうちの１つ以上から構成されてもよい。
−現在のビンに関する２つの可能なビン値のうちの１つについての確率推定の測度
−現在のビンに関する、劣勢確率 (less probable)または優勢確率 (more probable) を持つビン値についての確率推定の測度
−２つの可能なビン値のうちのどちらが現在のビンに関して劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子
−関連付けられたソースシンボルのカテゴリー
−関連付けられたソースシンボルの重要性の測度
−関連付けられたシンボルの位置の測度（例えば時間的、空間的、または量的なデータ集合における）
−ビンまたは関連付けられたソースシンボルについてチャネル符号保護を指定する識別子
−ビンまたは関連付けられたソースシンボルについて暗号化スキームを指定する識別子
−関連付けられたシンボルについて等級を指定する識別子
−関連付けられたソースシンボルについてのビン列内のビン番号
【００５４】
一実施形態においては、パラメータ割当部４は、各ビン３、５を、現在のビンに関する２つの可能なビン値のうちの１つについての確率推定の測度に関連付ける。パラメータ割当部４は、各ビン３、５を、現在のビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の測度と、２つの可能なビン値のうちのどちらが現在のビンに関して劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子と、に関連付ける。劣勢確率または優勢確率を持つビン値についての確率と、２つの可能なビン値のうちのどちらが劣勢確率または優勢確率を持つビン値を表すかを指定する識別子とは、２つの可能なビン値のうちの１つの確率についての等しい測度であることに留意されたい。
【００５５】
更なる実施形態において、パラメータ割当部４は各ビン３、５を、現在のビンに関する２つの可能なビン値のうちの１つについての確率推定の測度と、１つ以上の更なるパラメータ（上記に挙げたパラメータの１つ以上であり得る）と、に関連付ける。本発明の更なる好ましい実施形態において、パラメータ割当部４は各ビン３、５を、現在のビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の測度と、２つの可能なビン値のうちのどちらが現在のビンに関して劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子と、１つ以上の更なるパラメータ（上記に挙げたパラメータの１つ以上であり得る）と、に関連付ける。
【００５６】
一実施形態において、パラメータ割当部４は、既に符号化済みのシンボルからなる１つ以上の集合に基づいて、上述した確率測度（現在のビンに関する２つの可能なビン値のうちの１つについての確率推定の測度、現在のビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の測度、及び２つの可能なビン値のうちのどちらが現在のビンに関して劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子）の１つ以上を決定する。確率の測度を決定するために使用される符号化済みのシンボルは、同じシンボルカテゴリーの既に符号化済みの１つ以上のシンボル、（現在のソースシンボルに関連付けられたデータ集合に対して）空間的および／または時間的に隣接した位置にある（例えばサンプルのブロックやグループなどの）データ集合に対応する同じシンボルカテゴリーの１つ以上の既に符号化済みのシンボル、又は、（現在のソースシンボルに関連付けられたデータ集合に対して）空間的および／または時間的に同一および／または隣接した位置にあるデータ集合に対応する異なるシンボルカテゴリーの１つ以上の既に符号化済みのシンボル、を含むことができる。
【００５７】
パラメータ割当部４の出力であるパラメータの関連付けられた集合を有する各ビン５は、ビンバッファ選択部６に送られる。ビンバッファ選択部６は、入力されたビン値とこれに関連付けられたパラメータ５に基づいて、入力されたビン５の値を潜在的に変更し、出力ビン７(潜在的に変更済みの値を有する)を２つ以上のビンバッファ８のうちの１つに送る。出力ビン７が送られるビンバッファ８は、入力ビン５の値および／または関連付けられたパラメータ５の値に基づいて、決定される。
【００５８】
本発明の一実施形態において、ビンバッファ選択部６はビンの値を変更しない。すなわち、出力ビン７は入力ビン５と常に同一の値を有する。
【００５９】
更なる実施形態においては、ビンバッファ選択部６は、入力ビン値５と、現在のビンに関する２つの可能なビン値のうちの１つについての確率推定のための関連付けられた測度と、に基づいて、出力ビン値７を決定する。一実施形態においては、出力ビン値７は、現在のビンに関する２つの可能なビン値のうちの１つについての確率の測度が、特定のしきい値未満（又はしきい値以下）の場合には、入力ビン値５と同等に設定され、他方、現在のビンに関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値以上の（又はしきい値より大きい）場合には、出力ビン値７は変更される（即ち入力ビン値の逆に設定される）。更なる実施形態においては、出力ビン値７は、現在のビンに関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値より大きい（又はしきい値以上の）場合には、入力ビン値５と等しい値を設定され、他方、現在のビンに関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値以下（又はしきい値未満）の場合には、出力ビン値７は変更される（即ち入力ビン値の逆に設定される）。一実施形態において、しきい値は、両方の可能なビン値の推定される確率について、値０．５に一致する。
【００６０】
ビンバッファ選択部６は、入力ビン値５と、２つの可能なビン値のうちのどちらが現在のビンに関して劣勢確率または優勢確率を持つビン値を表すかの推定を指定する関連付けられた識別子と、に基づいて、出力ビン値７を決定してもよい。一実施形態においては、識別子が２つの可能なビン値のうちの第１のビン値が現在のビンに関して劣勢確率（又は優勢確率）を持つビン値を表すことを指定する場合、出力ビン値７は入力ビン値５と等しい値に設定され、他方、識別子が２つの可能なビン値のうちの第２のビン値が現在のビンに関して劣勢確率（又は優勢確率）を持つビン値を表すことを指定する場合、出力ビン値７は変更される（即ち、入力ビン値の逆に設定される）。
【００６１】
ビンバッファ選択部６は、現在のビンに関する２つの可能なビン値のうちの１つについて確率推定のために関連付けられた測度に基づいて、出力ビン７が送られるビンバッファ８を決定してもよい。一実施形態において、２つの可能なビン値のうちの１つについての確率推定の測度としての可能な値の集合は有限であり、ビンバッファ選択部６は、２つの可能なビン値のうちの１つに関する確率推定のための可能な各値に対し、正に１つのビンバッファ８を関連付けるテーブルを含み、このテーブルでは、２つの可能なビン値の１つについての確率推定の測度の異なる値が、同じビンバッファ８に対して関連付けられることができる。更なる好ましい実施形態においては、２つの可能なビン値のうちの１つについての確率推定の測度として可能な値の範囲は、幾つかの区間に区分され、ビンバッファ選択部６は、２つの可能なビン値のうちの１つについての確率推定の現在の測度のための区間インデックスを決定し、さらに、ビンバッファ選択部６は、正に１つのビンバッファ８をこの区間インデックスのための可能な各値に関連付けるテーブルを含み、ここでは、区間インデックスのための異なる値を同じビンバッファ８に対して関連付けることができる。一実施形態においては、２つの可能なビン値のうちの一方についての確率推定の逆の測度を有する入力ビン５（逆測度は確率推定Ｐおよび１−Ｐを表す測度である）が、同じビンバッファ８に供給される。更なる実施形態においては、現在のビンに関する２つの可能なビン値のうちの一方についての確率推定の測度を特定のビンバッファに関連付けることは、例えば作成された部分的ビットストリームが同様のビットレートを持つことを確実にするために、経時的に適応される。
【００６２】
ビンバッファ選択部６は、現在のビンに関して劣勢確率または優勢確率を持つビン値の確率推定のために関連付けられた測度に基づいて、出力ビン７を送るべきビンバッファ８を決定する。本発明の好ましい実施形態においては、劣勢確率または優勢確率を持つビン値の確率推定のための測度として可能な値の集合は有限であり、ビンバッファ選択部６は、正に１つのビンバッファ８を、劣勢確率または優勢確率を持つビン値のための確率推定の可能な各値に関連付けるテーブルを含み、このテーブルでは、劣勢確率または優勢確率を持つビン値についての確率推定の測度のための異なる値を、同じビンバッファ８に対して関連付けることができる。更なる実施形態においては、劣勢確率または優勢確率を持つビン値についての確率推定の測度として可能な値の範囲は幾つかの区間に区分され、ビンバッファ選択部６は、劣勢確率または優勢確率を持つビン値についての確率推定のための現在の測度に関する区間インデックスを決定し、さらに、ビンバッファ選択部６は、１つのビンバッファ８をこの区間インデックスのための可能な各値に関連付けるテーブルを含み、このテーブルでは、区間インデックスのための異なる値を同じビンバッファ８に対して関連付けることができる。更なる実施形態においては、現在のビンに関して劣勢確率または優勢確率を持つビン値についての確率推定の測度を特定のビンバッファに関連付けることは、例えば作成された部分的ビットストリームが同様のビットレートを持つことを確実にするために、経時的に適応される。
【００６３】
２つ以上のビンバッファ８の各々は、１つのビン符号器１０に接続され、各ビン符号器は１つのビンバッファ８だけに連結されている。各ビン符号器１０は、関連付けられたビンバッファ８からビンを読み出し、ビン列９を、ビットの列を表す符号語１１に変換する。ビンバッファ８は先入れ先出しバッファを表す。即ち、（順番において）後でビンバッファ８に送られるビンは、（順番において）先にビンバッファ８に送られたビンよりも前に符号化されることはない。特定のビン符号器１０の出力である符号語１１は、特定の部分的ビットストリーム１２に書き込まれる。全体の符号化アルゴリズムは、ソースシンボル１を２つ以上の部分的なビットストリーム１２へ変換し、この場合、部分的ビットストリームの数はビンバッファ及びビン符号器の数と等しい。好ましい実施形態においては、ビン符号器１０は、可変数のビン９を、可変数のビットからなる符号語１１に変換する。上記および下記に概説されるＰＩＰＥ符号化の実施形態の１つの利点は、ビンの符号化は（例えば、確率測度の異なるグループについて）並列的に実行することができる点にあり、これにより、幾つかの構成例における処理時間が短縮される。
【００６４】
ＰＩＰＥ符号化の他の利点は、ビン符号器１０によって行われるビン符号化が、パラメータ５の様々な集合のために特別に設計できる点にある。特に、ビン符号化と符号化は、推定された確率の異なるグループ毎に、（符号化効率および／または複雑性に関して）最適化することができる。一方で、この利点は、同様の符号化効率を有する算術符号化アルゴリズムと比較して、符号化／復号化の複雑性の低減を可能にする。他方では、同様の符号化／復号化の複雑性を有するＶＬＣ符号化アルゴリズムと比較して、符号化効率の向上を可能にする。一実施形態においては、ビン符号器１０は、現在のビンに関する２つの可能なビン値５のうちの１つについての確率推定の測度の異なるグループ毎に、異なる符号化アルゴリズム（即ち、ビン列の符号語へのマッピング）を実施する。更なる実施形態においては、ビン符号器１０は、現在のビンに関して劣勢確率または優勢確率を持つビン値についての確率推定の測度の異なるグループ毎に、異なる符号化アルゴリズムを実施する。更なる実施形態において、ビン符号器１０は、異なるチャネル保護コード毎に異なる符号化アルゴリズムを実施する。更なる実施形態において、ビン符号器１０は、異なる暗号化スキーム毎に異なる符号化アルゴリズムを実施する。更なる実施形態において、ビン符号器１０は、チャネル保護コードと現在のビンに関する２つの可能なビン値５のうちの１つについての確率推定の測度のグループとの様々な組み合わせ毎に、異なる符号化アルゴリズムを実施する。更なる実施形態において、ビン符号器１０は、チャネル保護コードと現在のビンに関して劣勢確率または優勢確率を持つビン値５についての確率推定の測度のグループとの様々な組み合わせ毎に、異なる符号化アルゴリズムを実施する。更なる実施形態において、ビン符号器１０は、暗号化スキームと現在のビンに関する２つの可能なビン値５のうちの１つについての確率推定の測度のグループとの様々な組み合わせ毎に、異なる符号化アルゴリズムを実施する。更なる好ましい実施形態において、ビン符号器１０は、暗号化スキームと現在のビンに関して劣勢確率または優勢確率を持つビン値５についての確率推定の測度のグループとの様々な組み合わせ毎に、異なる符号化アルゴリズムを実施する。
【００６５】
ビン符号器１０(又は複数のビン符号器のうちの１つ以上)は、バイナリー算術符号化エンジンを表してもよい。更なる実施形態においては、１つ以上のビン符号器がバイナリー算術符号化エンジンを表し、ここで、所与のビンバッファの代表的ＬＰＳ／ＬＰＢ確率ｐLPSから対応する符号区間幅ＲLPSへのマッピング、−即ち、例えば符号区間の下限を識別する、現在の区間幅Ｒと現在の区間オフセットＬとによって定義されるバイナリー算術符号化エンジンの内部状態の区間のサブ分割−は、テーブルルックアップを使用することによって実現される。更なる好ましい実施形態においては、所与のビンバッファに関連付けられる各テーブルベースのバイナリー算術符号化エンジンについて、Ｋ個の代表的区間幅の値｛Ｑ0，．．．，ＱK-1｝がＲLPSを表すために使用され、その際、Ｋの選択および代表的区間幅の値｛Ｑ0，．．．，ＱK-1｝はビンバッファに依存している。Ｋ＞１を選択した場合には、ビンの算術符号化は、現在の区間幅Ｒを｛０，．．．，Ｋ−１｝内の値を有する量子化インデックスｑにマッピングするサブステップと、ｑをインデックスとして使用することでルックアップテーブルから対応する部分的区間幅の値Ｑqにアクセスすることによって区間のサブ分割を実行するサブステップと、を含む。Ｋ＝１を選択する場合には、即ち、代表的区間幅の値Ｑ0だけが与えられている場合には、この値Ｑ0は、対応するビンバッファを単一の再正規化サイクル内に入れつつ、多数のＭＰＳ／ＭＰＢ値を復号化できるように、２の冪として選択される。結果として得られる各算術符号化エンジンの符号語は、個別に転送され、パケット化され、若しくは記憶されてもよく、又は、以下に説明するように伝送または記憶するためにインターリーブされてもよい。
【００６６】
つまり、バイナリー算術符号化エンジン１０は、そのビンバッファ８内で複数のビンを符号化するために、以下のステップを実行することができる。
１．ビンバッファからｖａｌＬＰＳ、ビンを受信するステップ：（ここで考慮対象となるそれぞれのバイナリー算術符号化エンジン１０は、既に「ビン」を受け取るべく選択されていたことを想起されたい。なぜなら、ｐ＿ｓｔａｔｅ［ｂｉｎ］などの確率分布推定が、そのバイナリー算術符号化エンジン１０に関連付けられていた（換言すれば、「ビン」がそれぞれのバイナリー算術符号化エンジン１０に関連付けられていた）からである。）
２．Ｒを量子化するステップ：
ｑ＿ｉｎｄｅｘ＝Ｑｔａｂ［Ｒ＞＞ｑ］（または他の形態の量子化）
３．ＲLPSおよびＲを決定するステップ：
ＲLPS＝Ｒｔａｂ［ｑ＿ｉｎｄｅｘ］（ここでは、ｐ＿ｓｔａｔｅについて述べていている訳ではない点に留意されたい。なぜなら、ｐ＿ｓｔａｔｅは、考慮対象となるバイナリー算術符号化エンジン１０に対して固定されている、即ち、ｐ＿ｓｔａｔｅ［ｅｎｃｏｄｅｒ］であるからであり、さらに、Ｒｔａｂはその中に、ｐ［ｐ＿ｓｔａｔｅ［ｅｎｃｏｄｅｒ］］・Ｑ［ｑ＿ｉｎｄｅｘ］について事前に計算された値を記憶しているからである。）
Ｒ＝Ｒ−ＲLPS［即ち、「ビン」がＭＰＳであるかのように、Ｒが予め事前更新される。］
４．新たな部分的区間を計算するステップ：
もし（ビン＝１−ｖａｌＭＰＳ）である場合は、
Ｌ←Ｌ+Ｒ
Ｒ←ＲLPS
５．ＬとＲとの再正規化、ビットを書き込むステップ：
ここで、
ｑ＿ｉｎｄｅｘはＱｔａｂから読み出された量子化値のインデックスを記述し、
ｐ＿ｓｔａｔｅは（バイナリー算術符号化エンジン１０について固定された）現在の状態を記述し、
ＲLPSはＬＰＳに対応する区間幅を記述し、
ｖａｌＭＰＳはＭＰＳに対応するビットの値を記述する。
【００６７】
従って、バイナリー算術復号化エンジン２２は、ビンバッファ２０内へと出力されるビンを復号化する際、以下のステップを実行することができる。
１．ビンに対する要求を受信するステップ：（ここで考慮対象となるそれぞれのバイナリー算術復号化エンジン２２は、既に「ビン」を復号すべく選択されていたことを想起されたい。なぜなら、ｐ＿ｓｔａｔｅ［ｂｉｎ］などの確率分布推定が、そのバイナリー算術復号化エンジン２２に関連付けられていた（換言すれば、「ビン」がそれぞれのバイナリー算術復号化エンジン２２に関連付けられていた）からである。）
２．Ｒを量子化するステップ：
ｑ＿ｉｎｄｅｘ＝Ｑｔａｂ［Ｒ＞＞ｑ］（または他の形態の量子化）
３．ＲLPSとＲを決定するステップ：
ＲLPS＝Ｒｔａｂ［ｑ＿ｉｎｄｅｘ］（ここでは、ｐ＿ｓｔａｔｅについて述べていている訳ではない点に留意されたい。なぜなら、ｐ＿ｓｔａｔｅは、考慮対象となるバイナリー算術復号化エンジン２２に対して固定されている、即ち、ｐ＿ｓｔａｔｅ［ｅｎｃｏｄｅｒ］であるからであり、さらに、Ｒｔａｂはその中に、ｐ［ｐ＿ｓｔａｔｅ［ｅｎｃｏｄｅｒ］］・Ｑ［ｑ＿ｉｎｄｅｘ］について事前に計算された値を記憶しているからである。）
Ｒ＝Ｒ−ＲLPS(即ち、「ビン」がＭＰＳであるかのように、Ｒが予め事前更新される)
４．部分的区間の位置に応じてビンを決定するステップ：
もし（Ｖ≧Ｒ）である場合、
ビン←１−ｖａｌＭＰＳ  （ビンはＬＰＳとして復号化される：ビンバッファ選択部１８は、このビン情報とｖａｌＭＰＳとを用いて実際のビン値を取得するであろう）
Ｖ←Ｖ−Ｒ
Ｒ←ＲLPS
その他の場合、
ビン←ｖａｌＭＰＳ  （ビンはＭＰＳとして復号化される：ビンバッファ選択部１８は、このビン情報とｖａｌＭＰＳとを用いて実際のビン値を取得するであろう）
５．Ｒの再正規化、１ビットを読み出してＶを更新するステップ
ここで、
ｑ＿ｉｎｄｅｘはＱｔａｂから読み出された量子化値のインデックスを記述し、
ｐ＿ｓｔａｔｅは（バイナリー算術復号化エンジン２２について固定された）現在の状態を記述し、
ＲLPSはＬＰＳに対応する区間幅を記述し、
ｖａｌＭＰＳはＭＰＳに対応するビットの値を記述し、
Ｖは現在の部分的区間の内部からの値を記述する。
【００６８】
複数のビン符号器１０(又は１つ以上のビン符号器)は、入力ビン列９を符号語１０に直接的にマップするエントロピー符号器を表している。このようなマッピングは効率的に実施することができ、複雑な算術符号化エンジンを必要としない。（復号器で行われているような）ビン列への符号語の逆マッピングは、入力列の完全な復号化を保証するために一意的である必要があるが、ビン列９の符号語１０へのマッピングは、必ずしも一意的である必要はない。即ち、１つの特定のビン列が２つ以上の符号語の列へとマップされることも可能である。一実施形態においては、入力ビン列９の符号語１０へのマッピングは全単射である。更なる好ましい実施形態において、複数のビン符号器１０−又は１つ以上のビン符号器−は、可変長の入力ビン列９を可変長の符号語１０に直接的にマップするエントロピー符号器を表している。一実施形態において、出力された符号語は、一般的なハフマン符号(general Huffman codes)又は基準ハフマン符号(canonical Huffman codes)などの冗長度のない符号を表している。
【００６９】
冗長度のない符号にビン列を全単射的にマッピングするための２つの例を表３に示す。更なる実施形態において、出力符号語は、エラー検出とエラー回復のために適した冗長度のある符号を表している。更なる実施形態において、出力符号語は、ソースシンボルを暗号化するために適した暗号化コードを表す。
【００７０】
【表３】
2020099077.tif 000006
【００７１】
更なる実施形態において、複数のビン符号器１０−又は１つ以上のビン符号器−は、可変長の入力ビン列９を固定長の符号語１０に直接的にマップするエントロピー符号器を表している。更なる実施形態において、複数のビン符号器１０(又は１つ以上のビン符号器)は、固定長の入力ビン列９を可変長の符号語１０に直接的にマップするエントロピー符号器を表している。
【００７２】
一実施形態に係るＰＩＰＥ復号器を図４に示す。この復号器は、基本的には図３の符号器の逆の操作を実行し、これによってソースシンボル２７の（以前に符号化済みの）列が、２つ以上の部分的ビットストリーム２４の集合から復号化される。復号器は２つの異なる処理フローを含む。即ち、符号器のデータフローを複製するデータ要求のためのフローと、符号器データフローの逆を表わすデータフローとを含む。図４において、破線の矢印はデータ要求フローを表し、他方、実線の矢印はデータフローを表す。復号器の構成ブロックは、基本的に符号器の構成ブロックを複製しているが、逆の操作を実行する。
【００７３】
ソースシンボルの復号化は、バイナライザ１４へ送られる、新たな復号化済みソースシンボルに対する要求１３によってトリガ−される。一実施形態において、新たな復号化済みソースシンボルに対する各要求１３は、１つ以上のカテゴリーからなる集合の１つのカテゴリーに関連付けられている。このソースシンボルに対する要求に関連付けられているカテゴリーは、対応するソースシンボルに符号化の過程で関連付けられていたカテゴリーと同一である。
【００７４】
バイナライザ１４は、ソースシンボルに対する要求１３をパラメータ割当部１６へ送られるビンに対する１つ以上の要求へとマップする。バイナライザ１４によりパラメータ割当部１６へ送られる、ビンに対する要求への最終応答として、バイナライザ１４は、ビンバッファ選択部１８から復号化済みのビン２６を受信する。バイナライザ１４は、復号化済みのビン２６の受信された列と、要求されたソースシンボルのための特定の二値化スキームのビン列と、を比較して、もし受信された復号化済みのビン２６の列がソースシンボルの２値化と合致した場合には、バイナライザは、そのビンバッファを空にして、さらに、新たな復号化済みシンボルに対する要求への最終応答としてその復号化済みのソースシンボルを出力する。もし既に受信された復号化済みのビンの列が、要求されたソースシンボルのための２値化スキームのビン列のいずれとも合致しない場合には、バイナライザは、復号化済みのビンの列が要求されたソースシンボルのための二値化スキームのビン列の１つに合致するまで、ビンに対する他の要求をパラメータ割当部へ送信する。ソースシンボルに対する各要求ごとに、復号器は、対応するソースシンボルを符号化するために使用されたものと同じ二値化スキームを使用する。二値化スキームは、異なるソースシンボルカテゴリーごとに異なり得る。特定のソースシンボルカテゴリーのための二値化スキームは、可能なソースシンボル値の集合および／または特定のカテゴリーについてのソースシンボルの他の特性に依存し得る。
【００７５】
パラメータ割当部は、ビンに対する各要求に対して１つ以上のパラメータの集合を割り当て、さらにそのビンに対する要求とそれに関連付けられたパラメータの集合とを、ビンバッファ選択部へ送信する。要求されたビンに対してパラメータ割当部により割り当てられたパラメータの集合は、符号化の過程において対応するビンへ割当てられたものと同一である。このパラメータの集合は、符号器の説明の中で上述したパラメータの１つ以上から構成されてもよい。
【００７６】
パラメータ割当部１６は、ビンに対する各要求、現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の測度と、を関連付けてもよい。特に、パラメータ割当部１６は、ビンに対する各要求を、現在要求されているビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の測度と、２つの可能なビン値のうちどちらが現在要求されているビンに関する劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子と、に関連付けてもよい。
【００７７】
更なる実施形態において、パラメータ割当部１６は、ビンに対する各要求１５、１７を、現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の測度と、１つ以上の更なるパラメータと、に関連付ける。更なる好ましい実施形態において、パラメータ割当部１６は、ビンに対する各要求１５、１７を、現在要求されているビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の測度と、２つの可能なビン値のうちどちらが現在要求されているビンに関する劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子と、１つ以上の更なるパラメータ（上記に挙げたパラメータの１つ以上であり得る）と、に関連付ける。
【００７８】
一実施形態において、パラメータ割当部１６は、１つ以上の既に復号化済みのシンボルの集合に基づいて、上述した確率の測度（現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の測度と、現在要求されているビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の測度と、２つの可能なビン値のうちどちらが現在要求されているビンに関する劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子）のうちの１つ以上を決定する。ビンに対する特定の要求のための確率測度の決定は、対応するビンのための符号器における処理を複製するものである。確率測度を決定するために使用される復号化済みのシンボルは、同じシンボルカテゴリーの既に復号化済みの１つ以上のシンボル、（ソースシンボルに対する現在の要求に関連付けられたデータ集合に対して）空間的および／または時間的に隣接した位置にある（例えばサンプルのブロックやグループなどの）データ集合に対応する、同じシンボルカテゴリーの１つ以上の既に符号化済みのシンボル、又は、（ソースシンボルに対する現在の要求に関連付けられたデータ集合に対して）空間的および／または時間的に同一および／または隣接した位置にあるデータ集合に対応する、異なるシンボルカテゴリーの１つ以上の既に符号化済みのシンボルを含むことができる。
【００７９】
パラメータ割当部１６の出力である、関連付けられたパラメータの集合を有するビンに対する各要求１７は、ビンバッファ選択部１８内へ送られる。関連付けられたパラメータ１７の集合に基づいて、ビンバッファ選択部１８は、２つ以上のビンバッファ２０のうちの１つに向かってビンに対する要求１９を送信し、選択されたビンバッファ２０から復号化済みのビン２５を受信する。復号化済みの入力ビン２５は、潜在的に変更され、復号化済みの出力ビン２６(潜在的に変更済みの値を有する)は、関連付けられたパラメータの集合を有するビンに対する要求１７への最終応答として、バイナライザ１４へ送信される。
【００８０】
ビンに対する要求が送信されるべきビンバッファ２０が選択される方法は、符号器側においてビンバッファ選択部の出力ビンが送信されるべきビンバッファが選択された方法と同様である。
【００８１】
一実施形態において、ビンバッファ選択部１８は、ビンに対する要求１９が送信されるべきビンバッファ２０を、現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の関連付けられた測度に基づいて決定する。一実施形態において、２つの可能なビン値のうちの１つについての確率推定の測度に関する可能な値の集合は有限であり、ビンバッファ選択部１８は、正に１つのビンバッファ２０を、２つの可能なビン値のうちの１つについての確率推定の各可能な値と関連付ける、テーブルを含み、ここで、２つの可能なビン値のうちの１つについての確率推定の測度に関する異なる値を、同一のビンバッファ２０と関連付けることができる。更なる実施形態において、２つの可能なビン値のうちの１つについての確率推定の測度に関する可能な値の範囲は、複数の区間に区分され、ビンバッファ選択部１８は、２つの可能なビン値のうちの１つについての確率推定の現在の測度に係る区間インデックスを決定し、さらに、ビンバッファ選択部１８は、正に１つのビンバッファ２０を、区間インデックスに関する各可能な値と関連付けるテーブルを含み、ここで、区間インデックスに関する異なる値を、同じビンバッファ２０に関連付けることができる。２つの可能なビン値のうちの１つについての確率推定に関し、反対の測度を有するビンに対する要求１７（反対の測度とは、確率推定Ｐと１−Ｐとを表す測度同士である）は、同じビンバッファ２０へ転送されてもよい。さらに、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率推定の測度と特定のビンバッファとの関連付けが、経時的に適応されてもよい。
【００８２】
ビンバッファ選択部１８は、ビンに対する要求１９が送信されるべきビンバッファ２０を、現在要求されているビンに関する劣勢確率または優勢確率を持つビン値についての確率推定の関連付けられた測度に基づいて決定してもよい。一実施形態においては、劣勢確率または優勢確率を持つビン値についての確率推定の測度に関する可能な値の集合は有限であり、ビンバッファ選択部１８は、正に１つのビンバッファ２０を劣勢確率または優勢確率を持つビン値についての確率推定の各可能な値と関連付ける、テーブルを含み、ここで、劣勢確率または優勢確率を持つビン値についての確率推定の測度に関する異なる値を同じビンバッファ２０と関連付けることができる。一実施形態においては、劣勢確率または優勢確率を持つビン値についての確率推定の測度に関する可能な値の範囲が複数の区間へと区分され、ビンバッファ選択部１８は、劣勢確率または優勢確率を持つビン値についての確率推定に関する現在の測度に係る区間インデックスを決定し、更に、ビンバッファ選択部１８は、正に１つのビンバッファ２０を区間インデックスに関する各可能な値と関連付ける、テーブルを含み、ここで、区間インデックスに関する異なる値を、同じビンバッファ２０と関連付けることができる。更なる実施形態においては、現在要求されているビンに関して劣勢確率または優勢確率を持つビン値についての確率推定の測度と特定のビンバッファとの関連付けが、経時的に適応される。
【００８３】
ビンバッファ選択部１８は選択されたビンバッファ２０から復号化済みのビン２５を受信した後で、入力ビン２５を潜在的に変更し、潜在的に変更済みの値を有する出力ビン２６をバイナライザ１４へと送信する。ビンバッファ選択部１８の入力／出力ビンマッピングは、符号器側におけるビンバッファ選択部の入力／出力ビンマッピングの逆である。
【００８４】
ビンバッファ選択部１８は、ビンの値を変更しないように、即ち、出力ビン２６が入力ビン２５と同じ値を常に有するように構成されてもよい。
【００８５】
ビンバッファ選択部１８は、入力ビン値２５と、ビンに対する要求１７と関連付けられた現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の測度に基づいて、出力ビン値２６を決定してもよい。一実施形態においては、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値未満（又はしきい値以下）である場合には、出力ビン値２６は入力ビン値２５と等しく設定されるが、他方、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値以上（又はしきい値より大きい）である場合には、出力ビン値２６は変更される（即ち、入力ビン値の逆に設定される）。更なる実施形態において、出力ビン値２６は、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値より大きい（又はしきい値以上の）場合には、入力ビン値２５と等しく設定されるが、他方、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の測度が特定のしきい値以下（またはしきい値未満）である場合には、出力ビン値２６は変更される（即ち、入力ビン値の逆に設定される）。好ましい一実施形態においては、しきい値は、両方の可能なビン値についての推定された確率に関し、０．５の値に一致している。
【００８６】
更なる好ましい実施形態において、ビンバッファ選択部１８は、入力ビン値２５と、ビンに対する要求１７と関連付けられており、２つの可能なビン値のうちのどちらが現在のビン要求に関して劣勢確率または優勢確率を持つビン値を表すかの推定を指定する識別子と、に基づいて、出力ビン値２６を決定する。好ましい一実施形態においては、もし識別子が、２つの可能なビン値のうちの第１のビン値が現在のビン要求について劣勢確率（又は優勢確率）を持つビン値を表していると指定する場合には、出力ビン値２６は入力ビン値２５と等しく設定され、他方、もし識別子が２つの可能なビン値のうちの第２のビン値が現在のビン要求について劣勢確率（又は優勢確率）を持つビン値を表していると指定する場合には、出力ビン値２６は変更される（即ち、入力ビン値の逆に設定される）。
【００８７】
上述したように、ビンバッファ選択部は、２つ以上のビンバッファ２０のうちの１つへ、ビンに対する要求１９を送信する。ビンバッファ２０は、接続されたビン復号器２２から復号化済みのビンの列を受け取る、先入れ先出しバッファを表す。ビンバッファ選択部１８からビンバッファ２０へ送られる、ビンに対する要求１９への応答として、ビンバッファ２０はビンバッファ２０に最初に送られたそのコンテンツのビンを取り除き、それをビンバッファ選択部１８へ送信する。先にビンバッファ２０に送信されるビンは先に取り除かれ、ビンバッファ選択部１８へ送信される。
【００８８】
２つ以上のビンバッファ２０の各々は、正に１つのビン復号器２２に接続されており、各ビン復号器は１つだけのビンバッファ２０に接続されている。各ビン復号器２２は、分離された部分的ビットストリーム２４からビット列を表す符号語２３を読み出す。ビン復号器は、符号語２３を接続されたビンバッファ２０に送信されるビンの列２１に変換する。全体的な復号化アルゴリズムは、２つ以上の部分的なビットストリーム２４を複数の復号化済みソースシンボルへ変換し、ここで、部分的ビットストリームの数はビンバッファとビン復号器の数と等しく、ソースシンボルの復号化は新しいソースシンボルに対する要求によってトリガーされる。ある実施形態においては、ビン復号器２２は、可変数のビットから成る符号語２３を可変数のビンの列２１へ変換する。上述したＰＩＰＥの実施形態の１つの利点は、２つ以上の部分的ビットストリームからのビンの復号化が（例えば確率測度の異なるグループについて）並列的に実行されることができ、これによって複数の構成にかかる処理時間を短縮できるという点にある。
【００８９】
上述したＰＩＰＥ復号化の実施形態の他の利点は、ビン復号器２２によって行われるビン復号化が、パラメータ１７の異なる集合に対して特別に設計することができる点にある。特に、ビンの符号化と復号化は推定される確率の異なるグループ毎に（符号化効率及び／又は複雑性に関して）最適化することができる。一方で、このような最適化は、同様の符号化効率を有する算術符号化アルゴリズムと比較して、符号化／復号化の複雑性を低減できる。他方で、このような最適化は、同様の符号化／復号化の複雑性を有するＶＬＣ符号化アルゴリズムと比較して、符号化効率の向上を可能にする。本発明のある実施形態において、ビン復号器２２は、現在のビン要求に関する２つの可能なビン値１７のうちの１つについての確率推定の測度の異なるグループ毎に、異なる復号化アルゴリズム（即ち、ビン列から符号語へのマッピング）を用いる。更なる実施形態において、ビン復号器２２は、現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値についての確率推定の測度の異なるグループ毎に、異なる復号化アルゴリズムを用いる。更なる実施形態において、ビン復号器２２は、異なるチャネル保護コード毎に異なる復号化アルゴリズムを用いる。更なる実施形態において、ビン復号器２２は、異なる暗号化スキーム毎に異なる復号化アルゴリズムを用いる。更なる実施形態において、ビン復号器２２は、チャネル保護コードと、現在要求されているビンに関する２つの可能なビン値１７のうちの１つについての確率推定の測度のグループと、の様々な組み合わせ毎に、異なる復号化アルゴリズムを用いる。更なる実施形態において、ビン復号器２２は、チャネル保護コードと、現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値１７の確率推定の測度のグループと、の様々な組み合わせ毎に、異なる復号化アルゴリズムを用いる。更なる実施形態において、ビン復号器２２は、暗号化スキームと、現在要求されているビンに関する２つの可能なビン値１７のうちの１つについての確率推定の測度のグループと、の様々な組み合わせ毎に、異なる復号化アルゴリズムを実施する。更なる実施形態において、ビン復号器２２は、暗号化スキームと、現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値１７についての確率推定の測度のグループと、の様々な組み合わせ毎に、異なる復号化アルゴリズムを用いる。
【００９０】
ビン復号器２２は、符号器側における対応するビン符号器の逆マッピングを行う。
【００９１】
一実施形態において、複数のビン復号器２２(又は１つ以上のビン復号器)は、バイナリー算術復号化エンジンを表している。
【００９２】
更なる好ましい実施形態において、複数のビン復号器２２(又は１つ以上のビン復号器)は、符号語２３をビンの列２１に直接的にマップするエントロピー復号器を表している。このようなマッピングは効率的に実施することができ、複雑な算術符号化エンジンを必要としない。ビン列への符号語のマッピングは一意である必要がある。ある実施形態においては、符号語２３のビンの列２１へのマッピングは全単射である。更なる実施形態において、複数のビン復号器２２(又は１つ以上のビン復号器)は、可変長の符号語２３を可変長のビン列２１へ直接的にマップするエントロピー復号器を表している。一実施形態において、入力された符号語は、一般的なハフマン符号又は基準ハフマン符号などの冗長度のない符号を表している。冗長度のない符号をビン列に全単射マッピングするための２つの例を表３に示す。更なる実施形態において、入力された符号語は、エラー検出とエラー回復のために適切な冗長度のある符号を表している。更なる実施形態において、入力された符号語は暗号化符号を表している。
【００９３】
複数のビン復号器２２(又は１つ以上のビン復号器)は、固定長の符号語２３を可変長のビン列２１上へと直接的にマップするエントロピー復号器を表している。代替的に、複数のビン復号器２２(又は１つ以上のビン復号器)は、可変長の符号語２３を固定長のビン列２１へと直接的にマップするエントロピー復号器を表している。
【００９４】
従って、図３及び図４は、ソースシンボル１の列を符号化するためのＰＩＰＥ符号器と、それを復元するためのＰＩＰＥ復号器とについての実施の形態を示す。つまり、図３のＰＩＰＥ符号器は、図１ａのＰＩＰＥ符号器１０４として使用されてもよく、このとき、バイナライザ２はシンボライザ１２２として作用し、パラメータ割当部４は割当部１１４として作用し、ビンバッファ選択部６は選択部１２０として作用し、直列に接続されたビンバッファ８とビン符号器１０とのペアは、エントロピー符号器１１６のそれぞれ１つとして作用し、そのエントロピー符号器のそれぞれが図１ａに示すビットストリーム１１８に対応するビットストリーム１２を出力する。図３と図１ａとを比較すれば明らかなように、図１ａの割当部１１４は代替的に、その入力が、シンボライザ１２２の出力側ではなく、入力側に接続されていてもよい。同様に、図４のＰＩＰＥ復号器は、図２ａのＰＩＰＥ復号器２０２として使用されてもよく、このとき、部分的ビットストリーム２４は図２のビットストリーム２１６に対応し、直列に接続されたバッファ２０とビン復号器２２とのペアは個別のエントロピー復号器２１０に対応し、ビンバッファ選択部１８は選択部２１４として作用し、パラメータ割当部１６は割当部２１２として作用し、バイナライザ１４はデ・シンボライザ２２２として作用する。また、図２ａと図４とを比較すれば明らかなように、デ・シンボライザ２２２と割当部２１２と選択部２１４との間の相互接続は、異なる状態で構成されてもよく、その結果、代替的な実施形態によれば、図２ａの接続は図４における接続と対応するように修正されている。
【００９５】
図３のＰＩＰＥ符号器は、幾つかのパラメータ５を、アルファベットシンボル３の列の各アルファベットシンボルに対して割り当てるよう構成された、割当部４を含む。この割当ては、シンタックス要素１のカテゴリーなど、アルファベットシンボル列の先行するアルファベットシンボル内に含まれた情報に基づいたものであり、現在のアルファベットシンボルが属する表現−例えば二値化など−であって、シンタックス要素１のシンタックス構造に従って現時点で予想される表現への割り当てであり、その予想とは、先行するシンタックス要素１とアルファベットシンボル３との履歴から推定可能なものである。更に、符号器は、それぞれのエントロピー符号器へ送られたアルファベットシンボル３をそれぞれのビットストリーム１２へと変換するように各々が構成されている、複数のエントロピー符号器１０と、複数のエントロピー符号器１０のうちの選択された１つに対して各アルファベットシンボル３を送るように構成されている選択部６であって、その選択がそれぞれのアルファベットシンボル３に割り当てられたパラメータ５の数に基づいている、選択部６とを含む。図４に示すＰＩＰＥ復号器は、それぞれのビットストリーム２３をアルファベットシンボル２１へと変換するように各々が構成されている、複数のエントロピー復号器２２と、アルファベットシンボル列の以前に復元済みのアルファベットシンボル（図４の２６および２７参照）内に含まれる情報に基づいて、復元されるべきアルファベットシンボル列の各アルファベットシンボル１５に対し、幾つかのパラメータ１７を割り当てるよう構成された割当部１６と、復元されるべきアルファベットシンボルの列の各アルファベットシンボルを回収するよう構成されている選択部１８であって、その選択がそれぞれのアルファベットシンボルに対して定義づけられているパラメータの数に依存する、選択部１８と、を含む。割当部１６は、各シンボルに割り当てられたパラメータの数が、それぞれのアルファベットシンボルが持つ可能性のあるアルファベットシンボル値の間の分布の確率推定のための測度を含むか又は測度そのものとなるように構成されていてもよい。復元されるべきアルファベットシンボル列は、二値アルファベットから作成され、割当部１６は、確率分布の推定が、二値アルファベットの２つの可能なビン値の劣勢確率又は優勢確率を持つビン値の確率推定のための測度と、２つの可能なビン値のうちどちらが劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子と、から成るように構成されていてもよい。割当部１６はさらに、復元されるべきアルファベットシンボル１５の列の各アルファベットシンボルに対し、復元されるべきアルファベットシンボル列の以前の復元済みのアルファベットシンボル内に含まれる情報に基づいて、コンテキストを内部的に割り当てるよう構成されてもよく、このとき各コンテキストは、それぞれの確率分布の推定が関連付けられた状態であり、割当部１６はさらに、各コンテキストについての確率分布推定を、それぞれのコンテキストが割り当てられた以前に復元済みのアルファベットシンボルのシンボル値に基づいて、実際のシンボル統計に適応するよう構成されてもよい。このコンテキストは、ビデオ又は画像符号化において、又は財務的なアプリケーションの場合には表において、シンタックス要素が属する位置の空間的関係又は近接性を考慮に入れてもよい。次いで、各アルファベットシンボルについての確率分布の推定のための測度は、例えば、それぞれのシンボルに割り当てられたコンテキストと関連付けられた確率分布推定を、確率分布の推定のための測度を得るために、複数の確率分布推定の代表値の１つに対して量子化することによって、それぞれのシンボルに割り当てられたコンテキストと関連付けられた確率分布推定に基づいて決定されてもよい。選択部は、複数のエントロピー符号器と複数の確率分布推定の代表値との間で、全射的(surjective)な関連付けが定義付けられるように構成することができる。即ち、各エントロピー符号器は、関連付けられた少なくとも１つの確率分布推定の代表値を持つが、しかし、２つ以上の確率分布推定の代表値が１つのエントロピー符号器に関連付けられてもよい。一実施形態によれば、この関連付けは全単射的でもよい。選択部１８は、アルファベットシンボル列の以前に復元済みのアルファベットシンボルに基づく、予め決定された決定論的な方法で、量子化マッピングを、確率分布推定の範囲から複数の確率分布推定の代表値へと、経時的に変化させるよう構成されてもよい。つまり、選択部１８は、量子化ステップのサイズ、即ち、個別の確率インデックスにマップされた確率分布の区間を変更することができ、その個別の確率インデックスは、個別のエントロピー復号器と全単射的に関連付けられていてもよい。次いで、複数のエントロピー復号器２２は、量子化マッピングにおける変化に応答してアルファベットシンボルをビットストリームへと変換する方法を適応するよう構成されてもよい。例えば、各エントロピー復号器２２は、それぞれの確率分布推定の量子化区間内において、所定の確率分布推定に対して最適化される、即ち最適な圧縮率を有することができ、かつ、エントロピー復号器２２が最適化されるべく切り替わる際に、それぞれの確率分布推定の量子化区間内においてこの所定の確率分布推定の位置を適応させるために、その符号語／シンボルの列のマッピングを変化させてもよい。選択部は、アルファベットシンボルが複数のエントロピー復号器から回収されるレートのばらつきが小さくなるように、量子化マッピングを変化させるよう構成されてもよい。バイナライザ１４に関しては、シンタックス要素が既に二値である場合には放置されてもよいことに留意すべきである。さらに、復号器２２のタイプによってはバッファ２０は不要である。また、バッファは復号器内で統合されてもよい。
【００９６】
これまで、図１ａと図２に示すＰＩＰＥ符号器１０４とＰＩＰＥ復号器２０２とのより詳細な実施形態を、図３と図４を参照しながら説明してきた。図３と図４とに示す実施形態は、図１ａと図２に示す装置の中で実装された場合には並列的なビットストリーム出力をもたらし、その出力の中ではＶＬＣ及びＰＩＰＥの部分的ビットストリームが並列的に運ばれる。以下に、ＰＩＰＥの部分的ビットストリームをどのようにしてＶＬＣビットストリームと結合させ、一緒に並列的に伝送されるようにするか、又は、両方のビットストリーム、即ちＶＬＣビットストリームとインターリーブされたＰＩＰＥビットストリームに２回目のインターリーブを施すかについての可能性を説明する。
【００９７】
有限のソースシンボル列の終了
ＰＩＰＥ符号器および復号器の実施形態において、符号化と復号化は、ソースシンボルの有限集合に対して行われる。多くの場合、静止画像、ビデオシーケンスのフレームやフィールド、画像のスライス、ビデオシーケンスのフレーム又はフィールドのスライス、又は連続的なオーディオサンプルの集合などのデータの所定の量が符号化される。ソースシンボルの有限集合の場合、一般に、符号器側で作成された部分的ビットストリームを終了させる必要がある。即ち、伝送済み又は記憶済みの部分的ビットストリームから全てのソースシンボルを復号化できることが保証されなければならない。最後のビンが対応するビンバッファ８内へ挿入された後に、ビン符号器１０は、完全な符号語が部分的ビットストリーム１２に書き込まれることを保証しなければならない。もしビン符号器１０がバイナリー算術符号化エンジンを表す場合には、算術符号語は終了されなければならない。もしビン復号器１０が、ビン列を符号語に直接マッピングするエントロピー符号器を表す場合には、最後のビンをビンバッファに書き込んだ後にビンバッファに記憶されるビン列は、符号語に関連付けられているビン列を表さない場合がある（即ち、符号語に関連付けられている２つ以上のビン列の接頭語を表す場合がある）。このような場合、ビンバッファ内でそのビン列を接頭語として含むビン列に関連付けられているどのような符号語も、部分的ビットストリームに書き込まれる必要がある（ビンバッファはフラッシュされる必要がある）。これは、特定の又は任意の値を持つビンを、符号語が書き込まれるまで、ビンバッファへ挿入することにより、実行することができる。好ましい一実施形態において、ビン符号器は、（関連付けられたビン列がビンバッファ内でそのビン列を接頭語として含む必要があるという特性に加えて）最短の長さを有する符号語の１つを選択する。復号器側では、ビン復号器２２は、部分的ビットストリーム内の最後の符号語に要求されるより多くのビンを復号化してもよく、これらのビンはビンバッファ選択部１８によって要求されずに、廃棄されかつ無視される。シンボルの有限集合の復号化は、復号化済みのソースシンボルに対する要求によって制御される。即ち、もしある量のデータに対して更なるソースシンボルが要求されない場合、その復号化は終了する。
【００９８】
部分的ビットストリームの伝送と多重化
ＰＩＰＥ符号器によって作成される部分的ビットストリーム１２は、別個に伝送されることが可能であり、若しくは単一のビットストリーム内へ多重化されることが可能であり、又は、部分的ビットストリームの符号語が単一のビットストリーム内へインターリーブされることが可能である。
【００９９】
ある実施形態においては、ある量のデータに係る各部分的ビットストリームは１つのデータパケットへ書き込まれる。その量のデータとは、静止画像、ビデオシーケンスのフィールドやフレーム、静止画像のスライス、ビデオシーケンスのフィールド又はフレームのスライス、又はオーディオサンプルのフレームなどの、ソースシンボルの任意の集合であってもよい。
【０１００】
他の好ましい実施形態においては、ある量のデータに係る部分的ビットストリームの２つ以上、又はある量のデータに係る全ての部分的ビットストリームが、１つのデータパケット内へ多重化される。多重化された部分的ビットストリームを含むデータパケットの構造を図５に示す。つまり、図５に示すデータパケットは、それぞれ中間的なインターリーブ済みのストリーム１３２と２３４の一部であってもよい。
【０１０１】
データパケット３００は、（考慮対象となるある量のデータに係る）各部分的ビットストリームのデータに関するヘッダと１つのパーティションとから構成される。データパケットのヘッダ３０１は、データパケット（の残り）をビットストリームデータのセグメント３０２へと区分するための指示を含む。パーティション（区分）についての指示に加え、ヘッダは、更なる情報を含み得る。一実施形態においては、データパケットの区分についての指示は、ビット若しくはバイトの単位、又は多数のビット若しくは多数のバイトの単位の、データセグメントの始点の位置である。一実施形態において、データセグメントの始点の位置は、データパケットのヘッダ内に絶対値として符号化されており、データパケットの始点に対する位置か、若しくはヘッダの終点に対する位置か、又は先行するデータパケットの始点に対する位置である。更なる実施形態においては、データセグメントの始点の位置は、差分的に符号化される。即ち、データセグメントの実際の始点と、データセグメントの始点についての予測と、の間の差のみが符号化される。この予測は、データパケットの全体のサイズ、ヘッダのサイズ、データパケット内のデータセグメントの数、先行するデータセグメントの始点の位置など、既に既知であるか又は伝送された情報に基づいて導出可能である。一実施形態においては、最初のデータパケットの始点の位置は符号化されないが、データパケットのヘッダのサイズに基づいて推測される。復号器側においては、伝送されたパーティションの指示は、データセグメントの始点を導出するために使用される。次いで、データセグメントは部分的ビットストリームとして使用され、データセグメントに含まれるデータは対応するビン復号器に順に供給される。
【０１０２】
部分的ビットストリームをデータパケット内へ多重化するための方法には、いくつかの選択肢がある。一つの方法は、部分的ビットストリームのサイズ同士が非常に近い場合は特に必要なサイド情報を低減できる方法であり、図６に示す。データパケットのペイロード、即ちそのヘッダ３１１なしのデータパケット３１０は、予め定義された方法でセグメント３１２へと区分される。一例として、データパケットのペイロードは同一サイズのセグメントへと区分されることができる。次に、各セグメントは部分的ビットストリーム又は部分的ビットストリーム３１３の最初の部分と関連付けられる。部分的ビットストリームが関連付けられたデータセグメントよりも大きい場合には、その残りの部分３１４は、他のデータセグメントの終点における未使用のスペースに配置される。これは、ビットストリームの残りの部分が、（データセグメントの終点から開始する）逆の順序で挿入される方法で実行されることができ、サイド情報が削減される。部分的ビットストリームの残りの部分とデータセグメントとの関連付け、及び、２つ以上の残りの部分がデータセグメントへ追加される場合に、１つ以上の残りの部分に関する始点は、ビットストリームの内部、例えばデータパケットヘッダ内で、信号化される必要がある。
【０１０３】
可変長符号語のインターリービング
幾つかのアプリケーションにおいては、１つのデータパケット内の（ある量のソースシンボルに係る）部分的ビットストリーム１２の上記した多重化は、次のような欠点を持つ可能性がある。即ち、一方では、小さいデータパケットにとっては、パーティションについて信号化するために必要とされるサイド情報のためのビット数が、部分的ビットストリーム内の実際のデータに対して重大になりうるため、最終的に符号化効率を低下させる。他方では、多重化は、（例えばビデオ会議アプリケーションなどの）低遅延が要求されるアプリケーションには、不向きである可能性がある。上述した多重化の場合、部分的ビットストリームが完全に作成される以前に、ＰＩＰＥ符号器がデータパケットの伝送を開始することは不可能である。なぜなら、パーティションの始点の位置が事前に知られていないからである。さらに、一般に、ＰＩＰＥ復号器は、データパケットの復号化を開始し得る前に、最後のデータセグメントの始点を受信するまで待機する必要がある。ビデオ会議システムのようなアプリケーションにおいては、これらの遅延は合計されて、複数のビデオ画像を用いたシステム（特に、伝送ビットレートに近いビットレートに関して、および１つの画像を符号化／復号化するために２つの画像間の時間区間に近い要求をする符号器／復号器に関して）の追加的な全体的遅延となる可能性があり、このようなアプリケーションには致命的である。特定のアプリケーションに関するこのような欠点を克服するために、ＰＩＰＥ符号器は、２つ以上のビン符号器によって生成される符号語が、単一のビットストリームにインターリーブされるよう構成され得る。インターリーブ済みの符号語を有するビットストリームは、復号器に直接的に送信されることができる（小さなバッファ遅延を無視する場合は以下を参照）。ＰＩＰＥ復号器側においては、２つ以上のビン復号器は、復号化の順序でビットストリームから直接的に符号語を読み出す。即ち、復号化は最初に受信したビットから開始され得る。更に、部分的ビットストリームの多重化（又はインターリービング）を信号化するために、サイド情報は必要とされない。
【０１０４】
符号語のインターリービングを有するＰＩＰＥ符号器の基本構造を図７に示す。ビン符号器１０は、部分的ビットストリームに符号語を直接的には書き込まないが、単一の符号語バッファ２９に接続されており、そこから符号語が符号化の順序でビットストリーム３４へと書き込まれる。ビン符号器１０は、１つ以上の新たな符号語バッファエントリに対する要求２８を符号語バッファ２９へと送信し、この後、符号語３０を符号語バッファ２９に送信し、これら符号語が、リザーブされたバッファエントリに記憶される。符号語バッファ２９の（一般的には可変長の）符号語３１は、符号語ライタ３２によってアクセスされ、その符号語ライタ３２は、対応するビット３３を生成されたビットストリーム３４へと書き込む。符号語バッファ２９は、先入れ先出しバッファとして作動し、先にリザーブされた符号語エントリはビットストリームへ先に書き込まれる。
【０１０５】
更に一般化すれば、符号語バッファの数がビン符号器の数より少ない場合、複数の符号語バッファと部分的ビットストリーム１２とが可能である。１つのビン符号器１０は、符号語バッファ２９内に１つ以上の符号語をリザーブし、それにより、符号語バッファ内における１つ以上の符号語のリザーブは、接続されたビンバッファ８内のある事象によってトリガーされる。ある実施形態においては、ビットストリーム３４を、即ち図１ａでは１３２と対応し、図２では１３４に対応するビットストリームを、ＰＩＰＥ復号器が瞬時に復号化できる方法で、符号語バッファ２９が作動することができる。符号語がビットストリームに書き込まれる符号化の順序は、対応する符号語が符号語バッファの中にリザーブされる順序と同じである。ある実施形態においては、各ビン符号器１０が１つの符号語をリザーブし、そのリザーブのトリガーは、接続されたビンバッファ内の所定の事象により実行される。他の実施形態においては、各ビン符号器１０が２つ以上の符号語をリザーブし、そのリザーブのトリガーは、接続されたビンバッファ内の所定の事象により実行される。更に他の実施形態においては、特定のビン符号器によってリザーブされる符号語の量が、特定のビン符号器及び／又は（例えば関連する確率測度、既に書き込まれたビット数などの）特定のビン符号器／ビンバッファの他の特性に依存し得る場合、各ビン符号器１０が異なる量の符号語をリザーブする。
【０１０６】
一実施形態においては、符号語バッファは次のように作動する。即ち、新たなビン７が特定のビンバッファ８に送られ、ビンバッファ内に既に記憶されていたビンの数がゼロであり、かつその特定のビンバッファに接続されたビン符号器のために符号語バッファ内にリザーブされた符号語が現時点で存在しない場合には、この接続されたビン符号器１０は符号語バッファへ要求を送信し、それにより、１つ以上の符号語エントリが特定のビン符号器のために符号語バッファ２９内でリザーブされる。符号語エントリは可変数のビットを有することができる。即ち、１つのバッファエントリ内のビット数の上限しきい値は、通常、対応するビン符号器に係る最大符号語サイズによって与えられる。ビン符号器によって生成される次の単数又は複数の符号語（それら符号語のために単数又は複数の符号語エントリがリザーブされている）は、符号語バッファのリザーブされた単数又は複数のエントリ内に記憶される。もし、符号語バッファ内の特定のビン符号器のためにリザーブされた全てのバッファエントリが符号語で満たされており、かつ、その特定のビン符号器に接続されたビンバッファに対して次のビンが送信される場合には、その特定のビン符号器に関し、１つ以上の新たな符号語が、符号語バッファ内においてリザーブされる、等が実行される。符号語バッファ２９は、ある所定の方法での先入れ先出しバッファを表す。バッファエントリは、順にリザーブされる。対応するバッファエントリが先にリザーブされている符号語は、先にビットストリームへ書き込まれる。符号語ライタ３２は、連続的に、又は符号語３０が符号語バッファ２９へと書き込まれた後に、符号語バッファ２９の状態をチェックする。最初のバッファエントリが完全な符号語を含む場合（即ち、バッファエントリはリザーブされていないが符号語を含む場合）には、対応する符号語３１と対応するバッファエントリは符号語バッファ２０から取り除かれ、符号語３３のビットはビットストリームへ書き込まれる。この処理は、最初のバッファエントリが符号語を含む（即ち、リザーブされるか又は空である）状態を抜けるまで繰り返される。復号化処理の終了時、即ち、考慮対象となる所定量のデータの全てのソースシンボルが処理された場合には、符号語バッファをフラッシュする必要がある。そのフラッシュ処理に関しては、以下の方法が第１のステップとして各ビンバッファ／ビン符号器に適用される。即ち、ビンバッファがビンを含む場合には、結果として得られるビン列が、符号語に関連付けられたビン列を表すようになるまで、特定の又は任意の値を有するビンが加えられる（上記したように、ビンを追加する１つの好ましい方法は、接頭語としてビンバッファの元のコンテンツに関するビンを含むビン列に関連付けられた、最短の長さの可能な符号語−又はそれらのうちの１つ−を生成するようなビン値を追加することである）。次に、符号語は対応するビン符号器のための次にリザーブされたバッファエントリへ書き込まれ、（対応する）ビンバッファは空になる。もし２つ以上バッファエントリが１つ以上のビン符号器に対してリザーブされている場合、符号語バッファは、リザーブされた符号語エントリをまだ含んでいる可能性がある。その場合、これらの符号語エントリは、対応するビン符号器のために、任意であるが、有効な符号語でよって満たされる。ある好ましい実施形態においては、最短の有効な符号語、又は（複数ある場合には）最短の有効な符号語の１つが挿入される。最後に、符号語バッファ内の残りの全ての符号語が、ビットストリームに書き込まれる。
【０１０７】
符号語バッファの状態を表す２つの例を図８に示す。この例（ａ）において、符号語バッファは、符号語で満たされた２個のエントリと、リザーブされた５個のエントリとを含む。加えて、次の空きのバッファエントリも記載されている。最初のエントリは、符号語で満たされている（即ち、ビン符号器２が前にリザーブされたエントリへ符号語を書き込んだばかりである）。次のステップにおいて、この符号語は符号語バッファから取り除かれ、ビットストリームへ書き込まれる。次に、ビン符号器３のための最初にリザーブされた符号語は、第１のバッファエントリである。しかし、このエントリを符号語バッファから取り除くことができない。なぜなら、このエントリはリザーブされているだけであって、このエントリにはこれまで全く符号語が書き込まれていないからである。例（ｂ）において、符号語バッファは、符号語で満たされた３個のエントリとリザーブされた４個のエントリとを含む。最初のエントリはリザーブされていると記載されており、従って、符号語ライタは符号語をビットストリームに書き込むことはできない。３個の符号語が符号語バッファに含まれているが、符号語ライタは、ビン符号器３のための最初にリザーブされたバッファエントリに符号語が書き込まれるまで待機しなければならない。符号語は、復号器側で処理を逆転させることが可能となるように（下記参照）、それらがリザーブされた順序で書き込むまれる必要があることに留意されたい。
【０１０８】
符号語インターリーブを有するＰＩＰＥ復号器の基本的な構造を図９に示す。ビン復号器１０は、個別の部分的ビットストリームから直接的に符号語を読み出さず、ビットバッファ３８に接続されており、このビットバッファ３８から符号語３７が符号化の順序で読み出される。符号語はビットストリームから直接的に読み出されることも可能であるため、ビットバッファ３８は必ずしも必要ではないことに留意されたい。ビットバッファ３８をこの図に含めた理由は、主に、処理の流れの異なる態様を明確に区別するためである。インターリーブ済みの符号語を持つビットストリーム４０、つまり図２ではビットストリーム２３４に対応するビットストリームのビット３９は、ビットバッファ３８内に順次挿入され、このビットバッファ３８は先入れ先出しバッファを表している。もし特定のビン復号器２２が１つ以上のビン列に対する要求３５を受信した場合には、ビン復号器２２は、ビットに対する要求３６を介して、ビットバッファ３８から１つ以上の符号語３７を読み出す。ＰＩＰＥ復号器は、ソースシンボルを瞬時に復号化することができる。（上記のような）ＰＩＰＥ符号器は、符号語バッファを適切に作動させることにより、符号語がビン復号器によって要求されるのと同じ順序で、符号語がビットストリームへ書き込まれることを確保する必要があることに留意されたい。ＰＩＰＥ復号器においては、全体の復号化プロセスは、ソースシンボルに対する要求によってトリガーされる。特定のビン符号器によって符号器側でリザーブされた符号語の数としてのパラメータと、対応するビン復号器によって読み出される符号語の数としてのパラメータとは、同一でなければならない。
【０１０９】
更に一般化すれば、ビットバッファの数がビン復号器の数より少ない場合には、多数の符号語バッファと部分的なビットストリームが可能である。ビン復号器２２は、ビットバッファ３８から１つ以上の符号語をある時刻において読み出し、ここで、ビットバッファからの１つ以上の符号語のその読み出しは、接続されたビンバッファ２０内の所定の事象によってトリガーされる。一実施形態においては、ビンに対する要求１９が特定のビンバッファ２０に送信されたときに１つ以上の符号語が読み出され、かつビンバッファはビンを含まないような方法で、復号器が作動する。しかし、符号語の読み出しをトリガーすることは、例えばビンバッファ内のビン数が予め定義されたしきい値を下回る場合など、他の事象によっても可能である。ある実施形態においては、各ビン復号器２２が１つの符号語を読み出すが、この読み出しは、接続されたビンバッファ内の所定の事象によってトリガーされる。他の実施形態においては、各ビン復号器２２が２つ以上の符号語を読み出すが、この読み出しは、接続されたビンバッファ内の所定の事象によってトリガーされる。更なる実施形態においては、特定のビン復号器によって読み出される符号語の量が、特定のビン復号器および／又は（例えば関連する確率測度、既に読み出されたビット数などの）特定のビン復号器／ビンバッファの他の特性に依存し得る場合に、ビン復号器２２が異なる量の符号語を読み出す。
【０１１０】
ある実施形態においては、ビットバッファからの符号語の読み出しは以下のように操作される。もし新たなビン要求１９がビンバッファ選択部１８から特定のビンバッファ２０へ送信され、ビンバッファ内のビンの数がゼロである場合には、接続されたビン復号器２２は、ビットバッファ３８に対するビット要求３６を介して、ビットバッファ３８から１つ以上の符号語３７を読み出す。ビン復号器２２は読み出された符号語３７をビンの列２１へ変換し、これらのビン列を接続されたビンバッファ２０内に記憶する。ビンに対する要求１９への最終応答として、第１の挿入されたビンはビンバッファ２０から取り除かれ、ビンバッファ選択部１８へ送られる。更なるビン要求に対する応答として、ビンバッファ内に残っているビンは、ビンバッファが空になるまで除去される。追加のビン要求は、ビン復号器をトリガーし、ビットバッファから１つ以上の新たな符号語を読み出す、などの動作をさせる。ビットバッファ３８は、予め定義されたサイズの先入れ先出しバッファを表し、ビットストリーム４０からのビット３９により連続的に満たされる。符号語が復号化プロセスによって要求されたときと同じ方法で、符号語がビットストリームに確実に書き込まれるように、符号器側の符号語バッファは、上述の方法と同様に操作されることができる。
【０１１１】
従って、複数のエントロピー復号器の各々は、固定長の符号語を可変長のシンボル列にマップするよう構成された可変長復号器であってもよく、符号語バッファ４３の出力などの符号語エントリは、インターリーブ済みの符号語の単一のストリームを受け取るために提供されてもよい。複数のエントロピー復号器２２は、符号語エントリから順次符号語を回収するよう構成されてもよく、その順序は、複数のエントロピー復号器から選択部１８によって回収されるにつれて復元されるべきシンボル列のシンボルが、それぞれのエントロピー復号器において新たな符号語からマップされるべき新たなシンボル列をもたらすような順序に基づいていてもよい。
【０１１２】
低遅延制約のある可変長符号語のインターリービング
ここで説明するＰＩＰＥ符号化に関する符号語のインターリービングは、何らかのパーティション情報がサイド情報として送信されることを必要とするものではない。また、符号語はビットストリーム内でインターリーブされるので、遅延も一般的に小さい。しかしながら、（例えば、符号語バッファに記憶される最大ビット数によって指定されるような）特定の遅延制約が守られることを保証するものではない。更に、符号語バッファに必要とされるバッファのサイズは、理論的には非常に大きくなる可能性がある。図８（ｂ）に示す例を考慮した場合には、これ以上のビンがビンバッファ３へ送信されず、従って、データパケットの終点におけるフラッシュ処理が適用されるまで、ビン符号器３が符号語バッファに新たな符号語を１つも送信しないという可能性がある。その場合、ビン符号器１および２に係る全ての符号語は、それらがビットストリームへ書き込まれ得る前に、データパケットの終点まで待機しなければならない可能性がある。このような欠点は、更なるメカニズムをＰＩＰＥ符号化プロセスに（及び後述するようにＰＩＰＥ復号化プロセスにも）追加することにより、回避することができる。この追加メカニズムの基本的な概念は、もし遅延又は遅延の上限（以下を参照）に関連した測度が指定されたしきい値を超える場合には、最初のリザーブされたバッファエントリは、（データパケットの終点と同様のメカニズムを用いて）対応するビンバッファをフラッシュすることによって満たされる、というものである。このようなメカニズムによって、関連付けられた遅延測度が指定されたしきい値を下回るまで待機しているバッファエントリの数が削減される。復号器側においては、遅延制約を守るために、符号器側で挿入されていたビンを廃棄する必要がある。このようなビンの廃棄のためには、基本的に符号器側と同様のメカニズムを使用することができる。以下に、このような遅延制御のための２つの実施形態を説明する。
【０１１３】
一実施形態において、遅延（又は遅延の上限）の測度は、符号語バッファ内のアクティブなバッファエントリの数であり、ここで、アクティブなバッファエントリの数とは、リザーブされたバッファエントリの数と符号語を含むバッファエントリの数との合計である。最初のバッファエントリは常に、リザーブされたバッファエントリ又は空きのバッファエントリであることに留意されたい。なぜなら、もし最初のバッファエントリが符号語を含む場合には、この符号語はビットストリームに書き込まれるからである。例えば、（アプリケーションにより決定される）最大許容バッファ遅延がＤ個のビットであり、全てのビン符号器に係る最大符号語サイズがＬとすると、遅延の制約を犯さずに、符号語バッファ内に含まれることができる符号語の最大数に関する下限は、Ｎ＝Ｄ／Ｌによって算出することができる。ビットにおける遅延測度Ｄはシステムによって必要とされる訳ではないが、符号語の最大数Ｎは符号器と復号器との両方に既知である必要がある。ある実施形態においては、符号語バッファエンントリの最大数Ｎはアプリケーションによって固定される。他の実施形態において、符号語バッファエントリの最大数Ｎは、ビットストリームの内部で、即ち例えばビットストリームに含まれるデータパケットのヘッダ（又はスライスヘッダ）内又はパラメータ集合内で、信号化されている。もしビン符号器１０が、１つ以上の新たなバッファエントリのリザーブに対する要求を符号語バッファ２９に送信する場合には、新たな符号語バッファエントリがリザーブされる前に、以下のプロセスが実行される（即ち、多数の符号語バッファエントリが１つの要求によってリザーブされる場合は、多数回実行される）。もし、現時点でアクティブなバッファエントリ数に（次にリザーブされるバッファエントリを考慮して）１を加算した数が符号語バッファエントリの最大数Ｎより大きい場合には、（リザーブされた）最初のバッファエントリは、現時点でアクティブなバッファエントリ数に１を加算した数が符号語バッファエントリの最大数Ｎ以下になるまで、次に記載するプロセスによってフラッシュされる。リザーブされたバッファエントリのフラッシュは、データパケットの終点におけるフラッシュに類似している。対応する最初のバッファエントリをリザーブしていたビン符号器１０は、結果として得られるビン列が符号語と関連付けられたビン列を表すまで、接続されたビンバッファ８に対し、特定の又は任意のビン値を持つビンを追加することによってフラッシュされる。次に、符号語はリザーブされたバッファエントリに書き込まれ、それが最終的に（ビンバッファを空にし、前にリザーブされたバッファエントリを削除しつつ）ビットストリームへ追加される。前述したように、ビンバッファにビンを追加するための１つの好ましい方法は、可能性のある最短の符号語を生成するビンを追加することである。復号器側では、遅延制約を守るために追加されたビンを廃棄するために、同様のプロセスが実行される。そのため、復号器はビットバッファから読み出された符号語をカウントするカウンタＣを保有する（このカウンタはビットバッファ内で保有され得る）。カウンタＣはデータパケットの復号化の開始時に（例えばゼロを用いて）初期化され、符号語の読み出し後に１だけ増加される。加えて、各ビン復号器２２はカウンタＣｘを含み、このカウンタＣｘは、最後の符号語が対応するビン復号器２２によって読み出される前に、符号語カウンタＣの値を記憶する。即ち、特定のビン復号器２２が新たな符号語を読み出す場合には、第１のステップとして、そのカウンタＣｘがＣと等しくなるよう設定され、次に符号語がビットバッファから読み出される。ビンに対する要求１９が特定のビンバッファ２０へ送信され、全体の符号語カウンタＣと接続されたビン復号器２２のカウンタＣｘとの差（Ｃ−Ｃｘ）が、符号語バッファエントリの最大数Ｎよりも大きい場合には、特定のビンバッファ２０に現時点で記憶されている全てのビンが除去されかつ無視される。この追加的なステップ以外に、復号化は、上記のように操作される。もしビンに対する要求１９が送信されるべきビンバッファ２０が（全てのビンが既に除去されているため、又はビン要求が受信された後に低遅延メカニズムが第１のステップにおいて全てのビンを廃棄したために）空である場合には、接続されたビン復号器２２は、ビットバッファ３８などから１つ以上の新たな符号語を読み出す。
【０１１４】
別の実施形態において、遅延（又は遅延の上限）についての測度は、符号語バッファ内の（複数の）アクティブなバッファエントリに係る最大符号語の長さの合計であり、ここで、ある特定のバッファエントリに係る最大符号語の長さは、そのバッファエントリに関連付けられた復号化済みのビンに基づいている。説明のため、バッファエントリの最大符号語長を図８の例に示す。最初のバッファエントリは、常にリザーブされたバッファエントリ又は空きのバッファエントリであることに改めて留意されたい。なぜなら、もし最初のバッファエントリが符号語を含む場合には、この符号語はビットストリームに書き込まれるからである。（アプリケーションにより決定される）最大許容バッファ遅延がＤ個のビットと仮定すると、この最大バッファ遅延Ｄは符号器と復号器との両方に知られる必要がある。好ましい実施形態においては、最大バッファ遅延Ｄはアプリケーションによって固定される。別の好ましい実施形態においては、最大バッファ遅延Ｄは、ビットストリームの内部で、即ち例えばビットストリームに含まれるデータパケットのヘッダ（又はスライスヘッダ）内又はパラメータ集合内で、信号化されている。最大バッファ遅延Ｄは、ビットもしくはバイトの単位、又は多数のビットもしくは多数のバイトの単位で信号化できる。もしビン符号器１０が、符号語バッファ２９に１つ以上の新たなバッファエントリのリザーブに対する要求を送信する場合には、新たな符号語バッファエントリがリザーブされる前に、以下のプロセスが実行される（即ち、多数の符号語バッファエントリが１つの要求によってリザーブされる場合は、多数回実行される）。
【０１１５】
現時点でアクティブな全てのバッファエントリに係る最大符号語の長さと、リザーブされるであろうバッファエントリの最大符号語の長さと、の合計が、最大バッファ遅延Ｄよりも大きい場合には、全てのアクティブなバッファエントリに係る最大符号語の長さとリザーブされるであろうバッファエントリに係る最大符号語の長さとの合計が、最大バッファ遅延Ｄ以下になるまで、第１の（リザーブされた）バッファエントリは、上記したプロセスによってフラッシュされる。一例として、図８（ｂ）の例について考察する。現時点でアクティブな全てのバッファエントリの最大符号語の長さの合計は２９である。ここで、最大バッファ遅延Ｄが３２に等しいと設定されると仮定する。もし次のバッファエントリが、最大符号語長が３と等しいビン符号器２によってリザーブされる場合には、最初のバッファエントリはフラッシュされない。なぜなら、２９＋３は３２より大きくないからである。しかし、もし次のバッファエントリが、最大符号語長が７と等しいビン符号器１によってリザーブされる場合には、第１のバッファエントリはフラッシュされる。なぜなら、２９＋７は３２より大きいからである。リザーブされたバッファエントリのフラッシュは、（対応するビンバッファに特定又は任意の値を持つビンを追加することによって）上記のように行われる。
【０１１６】
復号器側においては、遅延の制約に従うために追加されたビンを廃棄するために、同様のプロセスが実行される。そのため、復号器は、ビットバッファから読み出された符号語に係る最大符号語の長さをカウントする、カウンタＣを保有する（このカウンタはビットバッファ内に保有され得る）。異なるビン復号器と関連付けられた最大符号語長は、異なる場合があることに留意されたい。カウンタＣは、データパケットの復号化の開始時に（例えばゼロを用いて）初期化され、符号語の読み出し後に増加される。このカウンタは、読み出された符号語の実際の長さではなく、その最大長さの分だけ増加される。即ち、もしある符号語が特定のビン復号器によって読み出され、その特定のビン復号器によって使用される符号語テーブルと関連付けられる最大符号語長がＬｘである場合（異なるビン復号器は異なる最大符号語長に関連付けられ得る）、カウンタＣはＬｘだけ増加される。全体的なカウンタＣに加えて、各ビン復号器２２はカウンタＣｘを含み、このカウンタＣｘは、最後の符号語が対応するビン復号器２２によって読み出される前に、符号語カウンタＣの値を記憶する。即ち、もし特定のビン復号器２２が新たな符号語を読み出す場合には、第１のステップとして、そのカウンタＣｘはＣと等しく設定され、次に、符号語がビットバッファから読み出される。ビンに対する要求１９が特定のビンバッファ２０へと送信され、かつ、全体的なカウンタＣと接続されたビン復号器２２のカウンタＣｘとの差（Ｃ−Ｃｘ）が最大バッファ遅延Ｄよりも大きい場合には、その特定のビンバッファ２０に現時点で記憶されている全てのビンが廃棄され、無視される。この追加的なステップに加え、復号化は、上述した操作が実行される。もしビンに対する要求１９が送信されるべきビンバッファ２０が、（全てのビンがすでに除去されていたため、又はビン要求が受信された後に低遅延メカニズムが第１のステップにおいて全てのビンを廃棄したために）空の場合には、接続されたビン復号器２２は、ビットバッファ３８などから１つ以上の新たな符号語を読み出す。
【０１１７】
従って、複数のエントロピー復号器２２と選択部１８とは、復元されるべきシンボル列２７の形成に関わらないように、シンボル列の接尾語を断続的に破棄するよう構成されてもよい。この断続的な破棄は、符号語エントリから複数のエントロピー復号器によって回収された幾つかの符号語であって、符号語エントリからのそれぞれのエントロピー復号器による２つの連続的な符号語回収の間に回収された符号語が、予め決定された基準を満たすという事象の発生に基づいて、実行されてもよい。次いで、複数のエントロピー符号器と符号語バッファとは、現在転送されているが未だマップされていないシンボルを接頭語として有するドント・ケアシンボルによって、現在転送されているが未だマップされていないシンボルを有効なシンボル列へと断続的に拡張し、そのように拡張されたシンボル列を符号語へとマップし、そのように得られた符号語をリザーブされた符号語エントリに入力し、更に符号語エントリをフラッシュするよう構成されてもよい。断続的な拡張、入力及びフラッシュは、幾つかのリザーブされた符号語エントリとその中に入力された符号語を有する幾つかの符号語エントリとの合計が、予め決定された基準を満たすという事象の発生に基づいて実行されてもよい。予め決定された基準は、複数の符号器／復号器ペアの最大符号語長を考慮に入れることができる。
【０１１８】
いくつかのアーキテクチャにおいて、符号語のインターリービングに係る上述の好適な実施形態は、復号化の複雑性の点において欠点が生じる可能性がある。図９に示すように、全てのビン復号器２２は、単一のビットバッファ３８から符号語（一般的な場合には可変長符号語）を読み出す。符号語は正しい順序で読み出される必要があるので、符号語の読出しは並列に実行することができない。これは、特定のビン復号器は、他のビン復号器が符号語の読み出しを終了するまで待機する必要があることを意味する。更に、可変長符号語の読出しの複雑さが（部分的に並列化された）復号化プロセスの残りの部分との関係において有意である場合には、可変長符号語のこのアクセスが全体の復号化プロセスにとって障害になり得る。単一のビットバッファからのアクセスの複雑さを低減するために使用可能な上述した実施形態のいくつかの変形例があり、そのうちの幾つかを以下に説明する。好ましい一実施形態においては、（例えば冗長度のない接頭語符号を表している）符号語の単一の集合が存在し、各ビン復号器２２に使用される符号語の集合は、その単一符号語の集合の部分集合である。異なるビン復号器２２は、単一符号語の集合の異なる部分集合を使用できることに留意されたい。たとえビン復号器２２の一部によって使用される符号語の集合が同じであった場合でも、それらとビン列との関連付けは、異なるビン復号器２２については異なる。ある特定の実施形態においては、符号語の同一の集合が全てのビン復号器２２のために使用される。全てのビン復号器のための（複数の）符号語の集合を含む単一符号語の集合を（複数の）部分集合として有する場合、符号語の解析はビン復号器外で行うことができることから、符号語アクセスの複雑さを低減できる。ＰＩＰＥ符号化プロセスは、上述のプロセスとの関係においては変更されない。修正されたＰＩＰＥ復号化プロセスを図１０に示す。単一の符号語リーダは、ビットストリーム４０からビット４６を供給され、−一般に可変長である−符号語を解析する。読み出された符号語４４は、先入れ先出しバッファを表す符号語バッファ４３内に挿入される。ビン復号器２２は、１つ以上の符号語に対する要求４１を符号語バッファ４３に送信し、更に、この要求への応答として、１つ以上の符号語が符号語バッファから（順に）取り除かれ、対応するビン復号器２２へと送信される。この実施形態によれば、潜在的に複雑な符号語の解析は背景処理で行うことができ、ビン復号器のために待機する必要がないことに留意されたい。ビン復号器は、既に解析された符号語へとアクセスし、潜在的に複雑な符号語の解析はもはや全体的なバッファに対する要求の一部ではない。代わりに、既に解析された符号語がビン復号器に送信されるが、符号語のインデックスだけがビン復号器に送信されるような方法で実施することも可能である。
【０１１９】
固定長ビット列のインターリービング
ＰＩＰＥ復号器の複雑性を低減する更なる方法が達成される場合として、ビン復号器２２が、グローバル・ビットバッファ３８から可変長符号語を読み出さず、代わりに、グローバル・ビットバッファ３８から常に固定長のビット列を読み出し、これら固定長のビット列をローカルビットバッファへ追加する場合が挙げられる。このとき、各ビン復号器２２は分離されたローカル・ビットバッファと接続されている。次いで、可変長符号語がローカル・ビットバッファから読み出される。これにより、可変長符号語の解析は並列的に実行することができ、固定長のビット列のアクセスのみが同期的な方法で実行される必要があるが、固定長のビット列のこのようなアクセスは通常は非常に迅速であり、これにより、全体的な復号化の複雑性は一部のアーキテクチャについては低減できる可能性がある。特定のローカル・ビットバッファに送信されるビンの固定数は、異なるローカル・ビットバッファごとに異なる可能性があり、ビン復号器、ビンバッファ又はビットバッファ内に発生する事象としての所定のパラメータに基づいて、経時的に変化しうる。しかしながら、特定のアクセスによって読み出されるビットの数は、その特定のアクセスの間に読み出される実際のビットに依存しない。この点は可変長の符号語の読み出しに対する重要な相違点である。固定長のビット列の読み出しは、ビンバッファ、ビン復号器又はローカル・ビットバッファ内における所定の事象によってトリガーされる。一例として、接続されたビットバッファ内に存在しているビットの数が予め決定されたしきい値を下回った場合に、新たな固定長のビット列の読み出しを要求することが可能であり、このとき、異なるビットバッファについては異なるしきい値を使用することが可能である。符号器では、固定長のビット列が、それらが復号器側でビットストリームから読み出されるのと同じ順序でビットストリーム内へ挿入されることを保証する必要がある。この固定長のビット列のインターリービングと、上述したものと同様の低遅延コントロールと、を組み合わせることも可能である。固定長のビット列のインターリービングのための好ましい実施形態を以下に説明する。
【０１２０】
図１１は、２つ以上のビン符号器のための固定長のビット列をインターリーブする本発明の実施形態に係る基本的なＰＩＰＥ符号器の構造を示す図である。図７に示された実施例とは対照的に、ビン符号器１０は、単一の符号語バッファに接続されていない。代わりに、各ビン符号器１０は、対応する部分的ビットストリームのためのビットを記憶する、個別のビットバッファ４８と接続されている。全てのビットバッファ４８は、グローバル・ビットバッファ５１に接続されている。グローバル・ビットバッファ５１はビットライタ５３に接続されており、このビットライタ５３は、グローバル・ビットバッファから符号化／復号化の順序でビット５２を取り除き、取り除かれたビット５４をビットストリーム５５へ書き込む。特定のビットバッファ４８又は接続されたビン符号器１０もしくはビンバッファ８内に発生するある所定の事象に基づいて、ビットバッファ４８はグローバル・ビットバッファ５１へ要求４９を送信し、これにより、幾つかのビットの数がグローバル・ビットバッファ５１内にリザーブされる。固定長のビット列のリザーブに対する要求４９は順に処理される。グローバル・ビットバッファ５１は、所定方法の先入れ先出しバッファを表す。即ち、先にリザーブされたビットはビットストリームに先に書き込まれる。異なるビットバッファ４８は、既に符号化済みのシンボルに基づいて経時的に変化可能な異なる量のビットをリザーブすることができるが、特定の要求によってリザーブされたビットの数は、要求がグローバル・ビットバッファに送信される時点で知られていることに留意されたい。
【０１２１】
特定の実施形態においては、ビットバッファ４８とグローバル・ビットバッファ５１とは以下に説明するように操作される。特定のビットバッファ４８によってリザーブされたビットの量はＮｘと表記される。このビットの数Ｎｘは、異なるビットバッファ４８ごとに異なることができ、また経時的にも変化し得る。好ましい実施形態においては、特定のビットバッファ４８によってリザーブされたビットの数Ｎｘは経時的に固定される。ビット４９の固定数Ｎｘ個に対するリザーブは、ビットバッファ４８内のビット数Ｍｘ個と、リザーブ要求のためのビット数Ｎｘ個と、関連付けられた最大符号語長Ｌｘと、に基づいてトリガーされる。各ビン符号器１０は、異なる最大符号語長Ｌｘと関連付けることができることに留意されたい。もしビン７が特定のビンバッファ８へ送られ、その特定のビンバッファ８が空であり、Ｎｘ個のビットの１つ以下の列が、（ビン符号器を介して）その特定のビンバッファに接続されたビットバッファ４８のためにグローバル・ビットバッファ内にリザーブされ、更に、（ビン符号器を介して）その特定のビンバッファ８に接続されたビットバッファ４８のリザーブ要求によってリザーブされたビットの数Ｎｘと、このビットバッファ４８内に現時点で存在するビットの数Ｍｘとの差（Ｎｘ−Ｍｘ）が、対応するビン符号器１０と関連付けられた最大符号語長Ｌｘより小さい場合には、接続されたビットバッファ４８は、Ｎｘ個のビットのリザーブに対する要求４９をグローバル・ビットバッファ５１へと送信する。グローバル・ビットバッファ５１は、その特定のビットバッファ４８のためにＮｘ個のビットをリザーブし、次のリザーブのためにそのポインタを増加させる。Ｎｘ個のビットがグローバル・ビットバッファにリザーブされた後、ビン７はビンバッファ８に記憶される。この単一のビンがある符号語に関連付けられたビン列を既に表している場合には、ビン符号器１０は、ビンバッファ８からこのビンを取り除き、対応する符号語４７を接続されたビットバッファ４８へ書き込む。そうでない場合（この単一ビンが符号語に関連付けられたビン列を表していない場合）には、ビンバッファ８が符号語に関連付けられたビン列を含むまで、更なるビン７がその特定のビンバッファ８によって受け入れられる。この場合、接続されたビン符号器１０は、ビンバッファ８からビン列９を取り除き、対応する符号語４７を接続されたビットバッファ４８に書き込む。ビットバッファ４８内で結果として得られるビット数Ｍｘ個がリザーブされたビットの数Ｎｘ以上である場合には、ビットバッファ４８に最初に書き込まれたＮｘ個のビットは、グローバル・ビットバッファ５１内で以前にリザーブされたスペースへ挿入される。特定のビンバッファ８へ送信される次のビン７についても、上述と同様の処理が実行される。即ち、最初に新たなＮｘ個のビットがグローバル・ビットバッファ内にリザーブされる必要があるかどうか（Ｎｘ−ＭｘがＬｘより小さいかどうか）がチェックされ、次にビンがビンバッファ８に挿入される、等である。ビットライタは、グローバル・ビットバッファの固定長のビット列をそれらがリザーブされた順序で書き込む。もしグローバル・ビットバッファ５１内の最初の固定長エントリが、グローバル・ビットバッファに実際に挿入された固定長のビット列を含む場合（即ち、リザーブされただけではない場合）には、ビットライタ５３は、グローバル・ビットバッファ５１からこのビット列５２に係るビットを除去し、ビット５４をビットストリームに書き込む。この処理は、グローバル・ビットバッファ内の最初の固定長エントリがリザーブされた又はフリーのエントリを表すまで、繰り返される。グローバル・ビットバッファ内の最初の固定長のエントリがリザーブされたエントリを表す場合には、ビットライタ５３はこのエントリが実際のビットで満たされるまで待機し、その後、ビットストリーム５５へ更なるビット５４を書き込む。
【０１２２】
データパケットの終点において、ビンバッファは上記したようにフラッシュされる。更に、ビットバッファは、グローバル・ビットバッファ内の全てのリザーブされたバッファエントリが満たされ、ビットストリームに書き込まれるようになるまで、特定の又は任意の値を有するビットを追加することによってフラッシュする必要がある。
【０１２３】
図１２に、グローバル・ビットバッファ５１の可能性のある状態の２つの例を示す。この例（ａ）において、異なるビットバッファ／ビン符号器が異なる数のビットをリザーブするケースが図示されている。グローバル・ビットバッファは、実際に書き込まれた固定長のビット列を有する３つのエントリと、リザーブされた固定長のビット列を有する４つのエントリとを含む。最初の固定長エントリは、（ビットバッファ／ビン符号器２によって挿入されたばかりであるはずの）実際のビットを既に含む。このエントリ（即ち、対応する８ビット）は、除去されかつビットストリームに書き込まれることができる。次のエントリはビン符号器３のために１０個のビットをリザーブするが、実際のビットはまだ挿入されていない。このエントリはビットストリームに書き込まれず、実際のビットが挿入されるまで待機する必要がある。第２の例（ｂ）においては、全てのビットバッファ／ビン符号器が同一個数のビット（８ビット）をリザーブしている。グローバル・ビットバッファは、８ビット列のための４つのリザーブと、実際に書き込まれた３つの８ビット列とを含む。最初のエントリはビン符号器３のための８ビットのリザーブを含む。任意の新たなビットがビットストリームに書き込まれ得る前に、ビットライタは、ビットバッファ／ビン符号器３がこのリザーブされたエントリに８ビットの実際の値を書き込むまで、待機する必要がある。
【０１２４】
図１３は、固定長のビット列をインターリーブする本発明のある実施形態に係るＰＩＰＥ復号器の構造を示す図である。図９に示す実施形態とは対照的に、ビン復号器２２は単一のビットバッファには接続されていない。その代わり、各ビン復号器２２は、個別のビットバッファ５８に接続されており、このビットバッファ５８は対応する部分的ビットストリームからビットを記憶する。全てのビットバッファ５８はグローバル・ビットバッファ６１に接続されている。ビットストリーム６３からのビット６２は、グローバル・ビットバッファ６１内に挿入される。特定のビットバッファ５８又は接続されたビン復号器２２もしくはビンバッファ２０内で、ある事象が発生すると、ビットバッファ５８はグローバル・ビットバッファ６１へ要求５９を送信し、その要求により、固定長のビット列６０がグローバル・ビットバッファ６１から除去され、特定のビットバッファ５８へ挿入される。固定長ビット列に対する要求５９は、順に処理される。グローバル・ビットバッファ６１は先入れ先出しバッファを表し、即ち、グローバル・ビットバッファへ先に挿入されたビットは先に除去される。異なるビットバッファ５８は異なるビット量を要求することができ、この量は既に復号化済みのシンボルに基づいて経時的に変化し得るが、しかし、特定の要求によって要求されたビット数は、要求がグローバル・ビットバッファへ送られる時点で知られることに留意されたい。符号語はビットストリームから直接的に読み出すこともできるので、グローバル・ビットバッファ６１は必ずしも必要とされないことに留意されたい。グローバル・ビットバッファ６１は、主として、処理の流れの異なる態様を明確に区別ために図示されている。
【０１２５】
一実施形態においては、ビットバッファ５８とグローバル・ビットバッファ６１とは以下に説明するように操作する。特定のビットバッファ５８によって要求されかつ読み出されるビットの量はＮｘと表記され、この量は、符号器側において対応するビットバッファによってグローバル・ビットバッファに書き込まれるビット量と等しい。このビットの数Ｎｘは、異なるビットバッファ５８ごとに異なることができ、また、経時的にも変化し得る。本発明のある好ましい実施形態においては、特定のビットバッファ５８によって要求されかつ読み出されるビット数のＮｘ個は、経時的に固定される。固定数のＮｘ個のビット６０の読み出しは、ビットバッファ５８内のビット数Ｍｘ個と、関連付けられた最大符号語長Ｌｘとに基づいてトリガーされる。各ビン復号器２２は、異なる最大符号語長Ｌｘと関連付けられ得ることに留意されたい。もしビンに対する要求１９が特定のビンバッファ２０へ送られ、その特定のビンバッファ２０が空であり、（ビン復号器を介して）その特定のビンバッファ２０に接続されたビットバッファ５８内のビット数Ｍｘが、対応するビン復号器２２と関連付けられた最大符号語長Ｌｘよりも小さい場合には、接続されたビットバッファ５８は、新たなＮｘ個のビットの列に対する要求５９を、グローバル・ビットバッファ６１へ送信する。この要求への応答として、第１のＮｘ個のビットがグローバル・ビットバッファ６１から除去され、このＮｘ個のビットの列６０は、この要求の送信元のビットバッファ５８へ送信される。最終的に、このＮｘ個のビットの列は、対応するビットバッファ５８に追加される。次に、次の符号語５７がこのビットバッファから読み出され、更に、接続されたビン復号器２２は、関連付けられたビン列２１を接続されたビンバッファ２０内に挿入する。ビンに対する元の要求１９に対する最終応答として、第１のビンがビンバッファ２０から除去され、更に、この復号化済みのビン２５がビンバッファ選択部１８へ送られる。次のビン要求１９が特定のビンバッファ２０へ送られ、かつこのビンバッファが空でない場合には、次のビットがビンバッファ２０から除去される。もしビンバッファが空であり、しかし接続されたビットバッファ５８内のビット数Ｍｘが、関連付けられた最大符号語長Ｌｘ以上である場合には、次の符号語がビットバッファから読み出され、新たなビン列が、第１のビットが除去されかつビンバッファ選択部へ送信されるビンバッファ内に挿入される。もしビットバッファが空であり、かつ接続されたビットバッファ５８内のビット数Ｍｘが、関連付けられた最大符号語長Ｌｘよりも小さい場合には、Ｎｘ個のビットからなる次の列がグローバル・ビットバッファ６１から読み出されかつ接続されたローカルビットバッファ５８内へと挿入され、次の符号語がビットバッファから読み出され、新たなビン列がビンバッファ内に挿入され、更に、その列の第１のビンが除去されかつビンバッファ選択部へ送信される。この処理は、全てのソースシンボルが復号化されるまで繰り返しされる。
【０１２６】
データパケットの終点において、要求されたソースシンボルを復号化するために必要とされる以上のビン及び／又はビットが、ビンバッファ及び／又はビットバッファに挿入されてもよい。ビンバッファ内の残りのビンと、ビットバッファ内の残りのビットとは廃棄され、無視される。
【０１２７】
低遅延制約を有する固定長ビット列のインターリービング
固定長のビット列のインターリービングを有するＰＩＰＥ符号器及び復号器についての上述の実施形態は、上述した符号器バッファ遅延を制御するためのスキームと組み合わせることもできる。ＰＩＰＥ符号化の概念は、上述した遅延制御を有する実施形態と同様である。もし遅延又は遅延の上限に関連した測度（以下参照）が、特定のしきい値を超えた場合には、第１のリザーブされたバッファエントリは、（データパケットの終点におけるものと同様のメカニズムを用いて）対応するビンバッファをフラッシュし、かつリザーブされた固定長のバッファエントリの全てのビットを満たすために追加的なビットを潜在的に書き込むことによって、満たされる。このようなメカニズムによって、関連付けられた遅延測度が特定のしきい値を下回るまで、待機するバッファエントリの数が削減される。復号器側においては、遅延制約を遵守するために符号器側で挿入されていたビン及びビットを廃棄する必要がある。このビン及びビットの廃棄については、基本的に、符号器側と同様のメカニズムを使用することができる。
【０１２８】
ある実施形態においては、遅延（又は遅延の上限）の測度は、グローバル・ビットバッファ内のアクティブなバッファエントリ内のビット数であり、ここで、アクティブなバッファエントリの数とは、リザーブされた固定長バッファエントリの数と、既に書き込まれたビットを含む固定長のバッファエントリの数との合計である。第１のバッファエントリは、常にリザーブされた固定長のバッファエントリ又は空きのバッファエントリであることに留意されたい。なぜなら、もし第１のバッファエントリが、書き込まれたビットを含む場合には、これらのビットはビットストリームへ書き込まれるからである。（アプリケーションにより決定される）最大許容バッファ遅延をＤ個のビットと仮定する。この最大バッファ遅延Ｄは、符号器と復号器との両方に知られている必要がある。本発明の好ましい実施形態においては、最大バッファ遅延Ｄはアプリケーションによって固定される。本発明の他の好ましい実施形態においては、最大バッファ遅延Ｄは、ビットストリームの内部で、即ち例えば、ビットストリームに含まれるデータパケットのヘッダ（又はスライスヘッダ）内又はパラメータ集合内で、信号化されている。最大バッファ遅延Ｄは、ビット若しくはバイトの単位、又は多数のビット若しくは多数のバイトの単位で信号化され得る。もしビン符号器１０がグローバル・ビットバッファ５１へ新たな固定長のビット列のリザーブに対する要求を送信する場合には、新たな固定長のバッファエントリがリザーブされる前に次のプロセスが実行される。
【０１２９】
もしグローバル・ビットバッファ内のアクティブなバッファエントリ内のビット数と、現在のリザーブ要求によってリザーブされるであろうビット数と、の合計が、最大バッファ遅延Ｄより大きい場合には、（リザーブされた）第１のバッファエントリは、グローバル・ビットバッファ内のアクティブなバッファエントリ内のビット数と、現在のリザーブ要求によってリザーブされるであろうビットの数と、の合計が、最大バッファ遅延Ｄ以下になるまで、以下のプロセスによってフラッシュされる。リザーブされた固定長のバッファエントリのフラッシュは、データパケットの終点におけるフラッシュに類似している。即ち、対応する第１のバッファエントリをリザーブしたビットバッファ４８に接続されたビン符号器１０は、結果として得られるビン列が符号語と関連付けられたビン列を表すまで、接続されたビンバッファ８に対し、特定の又は任意の値を有するビンを追加することによってフラッシュされ、次に、符号語は対応するビットバッファ４８へ挿入される。前述したように、ビンバッファにビンを追加するための１つの好ましい方法は、可能性のある最短の符号語を生成するビンを追加することである。接続されたビットバッファへの符号語の書き込みと、グローバル・ビットバッファへの固定長のビット列の潜在的な挿入との後で、もしビットバッファ内にビットがまだある場合（即ち、書き込まれた符号語が、リザーブされた固定長のビット列を完全には満たさなかった場合）には、全てのビットがビットバッファから除去され、かつリザーブされたバッファエントリに書き込まれるまで、特定の又は任意の値を有する更なるビットがビットバッファへ追加される。最終的に、このプロセスの最後では、完成されたバッファエントリ（グローバル・ビットバッファ内の第１の固定長エントリ）が、グローバル・ビットバッファから除去され、かつビットストリームへと書き込まれる。
【０１３０】
復号器側では、遅延制約を守るために追加されたビン及びビットを廃棄するために、同様のプロセスが実行される。そのため、復号器はグローバル・ビットバッファから読み出されたビットをカウントするカウンタＣを保有する（このカウンタはグローバル・ビットバッファ内で保有されることができる）。カウンタＣは、データパケットの復号化の開始時に（例えばゼロに）初期化され、固定長のビット列が読み出された後に増加される。もしＮｘ個のビットからなる固定長の列がグローバル・ビットバッファ６１から読み出される場合、カウンタＣはＮｘだけ増加される。全体的なカウンタＣに加え、各ビットバッファ５８はカウンタＣｘを含み、このカウンタＣｘは、最後の固定長ビット列が対応するビットバッファ５８内に読み込まれたときよりも前のビットカウンタＣの値を記憶する。特定のビットバッファ５８が新たな固定長ビット列を読み出す場合、そのカウンタＣｘは、第１のステップとしてＣと等しく設定され、次に、固定長ビット列がグローバル・ビットバッファ６１から読み出される。ビンに対する要求１９が特定のビンバッファ２０へ送信され、かつ、全体のカウンタＣと、接続されたビットバッファ５８のカウンタＣｘと、の差（Ｃ−Ｃｘ）が、最大バッファ遅延Ｄより大きい場合には、その特定のビンバッファ２０に現時点で記憶されている全てのビンと、接続されたビットバッファ５８内に記憶されている全てのビットとが、破棄されかつ無視される。この追加のステップに加え、復号化は上述したように操作される。もしビンに対する要求１９が送信されるべきビンバッファ２０が、（全てのビンが既に除去されていたため、又はビン要求が受信された後に低遅延メカニズムが第１のステップにおいて全てのビンを破棄したため）空である場合には、接続されたビン復号器２２は、接続されたビットバッファ５８から新たな符号語を読み出すことを試みる。もしビットバッファ５８内のビット数が最大符号語長より少ない場合には、グローバル・ビットバッファ６１から新たな固定長ビット列が読み出され、符号語が読み出される等が実行される。
【０１３１】
図７〜図１３に関して上述した説明は、ＰＩＰＥ符号器１０４を一方とし、ＰＩＰＥ復号器２０２を他方とする間における、インターリーブされたビットストリームの経路を達成する可能性に関するものである。図１と図２に関連して説明したように、エントロピー符号化と復号化の装置は、２つの別個のチャネルによって相互に接続されていてもよく、そのうちの１つはＶＬＣビットストリーム１１２を運び、他の１つはインターリーブされたＰＩＰＥ符号化済みビットストリームを運ぶ。しかし、ＶＬＣビットストリーム１１２とＰＩＰＥ符号化済みビットストリーム１１８との両方をもインターリーブする可能性もあり、そのような可能性については、図２０〜図２４に関して後述する。しかしながら、その前に、ＰＩＰＥ符号化についての数学的な背景と、確率区間をどのようにして最適にサブ分割し、結果として得られる個別の部分的区間を個別のエントロピー符号器１１６及びエントロピー復号器２１０にそれぞれ割り当てるのかについての詳細と、を説明する。
【０１３２】
既に上述したように、ＰＩＰＥ符号化においては、離散的なシンボルからなる入力列の事象スペースは、二値の確率区間の小さな集合へとマップされる。ソースシンボルについての確率モデリングは、固定型でも適応型でもよく、一方、確率区間を用いたエントロピー符号化は、固定のままであってモデリングの段階から切り離されている。確率区間の各々は、ハフマン符号の複雑さのレベルを持つ非常に単純なエントロピー符号を用いて符号化され得る。確率区間区分エントロピー（ＰＩＰＥ）符号の超過率（excess rate）は、純粋な算術符号化の場合と同様である。
【０１３３】
エントロピー符号化は、一般に、ロスレスデータ圧縮の最も一般的な形態と考えられ得る。ロスレス圧縮は、元のデータ表現が必要とするより少ないビット数を用いて、しかし情報を損なわずに、離散的データを表現することを目的としている。離散的データは、テキスト、図形、画像、ビデオ、オーディオ、スピーチ、ファクシミリ、医療用データ、気象データ、財務データの形態、又はデジタルデータの任意の他の形態において与えられ得る。多くの符号化アプリケーションにおいて、元のソースデータは、まず所謂符号化シンボルにマップされ、次に、これらの符号化シンボルはエントロピー符号化される。符号化シンボルへのマッピングは、量子化を含むことが可能であり、この場合、全体的な符号化スキームはロスが存在する。符号化シンボルｓは、Ｍ−ａｒｙ（Ｍ≧２）のアルファベットＡ＝｛ａ0，．．．，ａM-1｝の任意の値を取ることができる。このシンボルｓを符号化するために、アルファベットは、推定された確率質量関数（ｐｍｆ）｛ｐs（ａ0），．．．，ｐs（ａM-1）｝と関連付けられ、このｐｍｆ内で考慮されない符号化シンボル間の全ての依存関係は無視される。これらの抽象的な設定に対し、エントロピー
【数２】
2020099077.tif 000007
は、シンボルｓを符号化するために、シンボルあたりのビットにおいて予想される符号語の長さに関する最大の下限であり、これはエントロピー符号化技術を用いて達成することができる。何十年もの間、ハフマン符号化と算術符号化が実用的なエントロピー符号化を支配してきた。これらは（ある意味で）エントロピーの限界を近似することが可能な実用符号の周知の例である。
【０１３４】
固定された確率分布については、ハフマン符号を構築することは比較的容易である。ハフマン符号の最も魅力的な特性は、それらの構成が可変長符号の（ＶＬＣ）テーブルを使用することで効率的に実現できることである。しかしながら、時間で変化するソース統計を扱う場合には、即ち時間で変化するシンボル確率を扱う場合には、ハフマン符号とこれに対応するＶＬＣテーブルとの適応は、アルゴリズムの複雑さと実装に掛かる費用との両方の観点において過大な要求を発生させてしまう。更に、ｐs（ａi）＞０．５である優勢アルファベット値を有する場合には、（ランレングス符号化などの任意のアルファベット拡張子も使用しない）対応するハフマン符号は、かなりの冗長度を持つ可能性がある。ハフマン符号の他の欠点は、より高次の確率モデリングを扱う場合に、ＶＬＣテーブルの多数の集合が必要となる可能性があるという事実である。
【０１３５】
一方、算術符号化は、実質的にはＶＬＣよりも複雑であるにも拘わらず、適応型および高次の確率モデリングを扱う場合やかなり偏りのある確率分布を扱う場合には、より一貫性があり適切な処理を提供できるという利点がある。実際に、この特徴は基本的に、算術符号化が、少なくとも概念的には、確率推定のいかなる所与の値をも、多かれ少なかれ直接的な方法で、結果として得られる符号語の一部分へとマップ（写像）するためのメカニズムを提供する、という事実から生まれるものである。そのようなインターフェイスを備えることで、算術符号化は、一方では確率モデリング作業と確率推定作業との間の明確な分離を可能にし、他方では実際のエントロピー符号化、即ちシンボルから符号語へのマッピングを可能にしている。
【０１３６】
上述した従来型のエントロピー符号化のスキームとは異なり、ＰＩＰＥ符号化は確率区間のパーティションを使用する。その数学的背景について、以下により詳細に説明する。
【０１３７】
符号化シンボルの列｛ｓ0，．．．，ｓN-1）｝を考える。各シンボルは、アルファベットｓi∈Ａiから導出される。アルファベットＡ＝｛ａi0，ａi1，．．．｝は、それぞれが確率推定ｐs（ａim）と関連付けられている２つ以上の文字を含む。確率推定ｐs（ａim）は、符号器と復号器に知られており、固定型又は可変型でもよい。可変の確率が、符号器と復号器において同時に推定されると仮定する。アルファベットＡiは、シンボル列について同一であってもよく、又は、異なるシンボルタイプが異なるアルファベットと関連付けられてもよい。後者の場合には、復号器が列内の各シンボルのアルファベットを知っていると仮定される。この仮定は、実用的なソースのコーデックの記述がシンボルとそのアルファベットの順序を定めているシンタックスを含むことから、正当化される。
【０１３８】
シンボルの列｛ｓ0，．．．，ｓN-1｝は、ビンとも呼ばれる二値シンボルの列に変換される。各シンボルｓiごとに、二値化
【数３】
2020099077.tif 000008
は、アルファベット文字ａimの、ビンｂimの順序付けられた集合への全単射マッピングを表している。二値化マッピングγibは、異なるシンボルｓiごとに又はシンボルカテゴリーごとに異なってもよい。特定のシンボルｓiのための各ビン列ｉは、１つ以上のビンｂikからなる。復号器側において、シンボルｓiは、ビン列ｂiが与えられている場合、逆マッピングｓi＝（γib）-1（ｂi）によって復元することができる。二値化の結果として、ソースシンボルの列｛ｓ0，．．．，ｓN-1｝を表すビン列｛ｂ0，．．．，ｂB-1｝が取得される。
【０１３９】
全てのビンｂjが同じ二値アルファベットＢ＝｛０，１｝と関連付けられるが、しかし、対応するバイナリーｐｍｆ｛ｐj0，ｐj1｝（但し、ｐj1＝ｐj0）は通常は異なる。バイナリーｐｍｆ｛ｐj0，ｐj1｝は、確率の低いビン（ＬＰＢ）値ｂjLPBと、その確率ｐjLPB（但し、ｐjLPB≦０．５）とによって記述することができる。このバイナリー確率記述｛ｂjLPB，ｐjLPB｝は、二値化マッピングγibが与えられた場合、シンボルアルファベットに対する確率推定ｐs（ａim）から直接的に導出することができる。また、符号器側と復号器側において、｛ｂjLPB，ｐjLPB｝を同時に直接的に推定することも可能である（かつ多くの場合に好ましい）。従って、ビンは、シンタックスと、以前に符号化されたシンボル又はビンに基づく確率モデル（コンテキストとも呼ばれる）と、に対して関連付けることができる。更に、各確率モデルに関して、確率の記述｛ｂjLPB，ｐjLPB｝は、その確率モデルを用いて符号化されたビンの値に基づいて推定可能である。このようなバイナリー確率モデリングの例をＨ．２６４のＣＡＢＡＣに関して説明する。
【０１４０】
バイナリーエントロピー関数
【数４】
2020099077.tif 000009
はｐ＝０．５周辺で左右対称であり、同じバイナリー符号器が、ｂjLPBの値とは無関係に、同一のＬＰＢ確率ｐjLPBと関連付けられた全てのビンを符号化するために使用され得る。従って、ビン列｛ｂ0，．．．，ｂB-1｝は、符号化ビン列｛ｂc0，．．．，ｂcB-1｝へと変換される。各ビンｂjに対して、対応する全単射マッピングγibは、
2020099077.tif 000010
で特定される。ここで、
2020099077.tif 000011
は排他論理和 (exclusive or) の演算子を表す。復号器側において、符号化ビンｂcjと対応するＬＰＢ値ｂjLPBが与えられている場合、ビンｂjは逆マッピング
【数５】
2020099077.tif 000012
によって復元され得る。符号化ビンｂcj＝０は、対応するビンｂjの値がＬＰＢ値ｂjLPBと等しいことを特定し、符号化ビンｂcj＝１は、対応するビンｂjの値が確率の高い値（ＭＰＢ）の値１−ｂjLPBと等しいことを特定する。
【０１４１】
符号化ビンの列｛ｂc0，．．．，ｂcB-1｝は、一意にソースシンボルの列｛ｓ0，．．．，ｓN-1｝を表し、エントロピー符号化に使用可能な対応する確率推定は、ＬＰＢ確率ｐjLPB（但し、ｐjLPB≦０．５）によって完全に記述することができる。従って、符号化ビンｂcjに関するバイナリーエントロピー符号器を設計するために、半開区間（０，０．５］内の確率だけを考慮すればよい。
【０１４２】
実際のバイナリーエントロピー符号化については、符号化ビン列｛ｂc0，．．．，ｂcB-1｝が少数の確率区間Ｉkへと投影される。ＬＰＢの確率区間（０，０．５］は、Ｋ個の区間Ｉk＝（ｐk，ｐk+1）に区分される。
【数６】
2020099077.tif 000013
【０１４３】
Ｋ個の区間の集合は、Ｋ−１個の区間の境界ｐkで特徴づけられ、但しｋ＝１，．．．，Ｋ−１である。一般性を失うことなく、ｋ＝０，．．．，Ｋであるときは、ｐk＜ｐk+1であると仮定する。外側の区間の境界は固定され、ｐ0＝０及びｐk＝０．５により与えられる。単純な非適応型のバイナリーエントロピー符号器が、各区間Ｉkに設計される。関連づけられたＬＰＢの確率ｐjLPB∈Ｉkを有する全ての符号化ビンｂcjが区間Ｉkに割り当てられ、かつ対応する固定エントロピー符号器によって符号化される。
【０１４４】
以下の説明において、全てのビンは符号化ビンｂcjを表し、全ての確率ｐはＬＰＢ確率ｐjLPBである。
【０１４５】
確率区間の離散化が符号化効率に与える影響を調べる際に、エントロピー境界を達成するある固定的な確率について最適なエントロピー符号器を設計できると仮定した。各確率区間Ｉk＝（ｐk，ｐk+1］は、代表的な確率ｐIk∈Ｉkと関連付られており、対応する最適なエントロピー符号器は、この代表的な確率についてのエントロピー限界を達成するであろう。これらの仮定の下で、区間の代表値ｐIkに関する最適なエントロピー符号器を用いて確率ｐのビンを符号化するレートは、次式により与えられる。
【数７】
2020099077.tif 000014
ここで、Ｈ（ｐ）はバイナリーエントロピー関数３を表し、
【数８】
2020099077.tif 000015
は、その最初の導関数である。更に、区間（０，０．５］における確率分布が、ｆ（ｐ）但し
2020099077.tif 000016
により与えられることを前提とする。次に、対応する代表的な確率｛ｐIk｝を有するＫ個の区間｛Ｉk｝の所与の集合に関し、各ビンについてビットで予想されるレートは次式で表される。
【数９】
2020099077.tif 000017
【０１４６】
ｋ＝０，．．．，Ｋ−１であるとき、任意の代表的な確率ｐIkに関する第１の部分的導関数は、次式で表される。
【数１０】
2020099077.tif 000018
【０１４７】
式
2020099077.tif 000019
は、定義Ｉkのドメイン内側の代表的な確率ｐIkに関し、単一の解
【数１１】
2020099077.tif 000020
を有する。この解に関する第２の部分的導関数
【数１２】
2020099077.tif 000021
は、
【数１３】
2020099077.tif 000022
の場合には、常にゼロより大きい。
【０１４８】
従って、条件（Ｂ１２）が満たされた場合、式（Ｂ１０）において与えられた値ｐ*Ikは、区間の境界ｐk及びｐk+1が与えられたとき、予想される全体のレートＲを最小化させる区間Ｉkに関する代表的な確率である。それ以外の場合には、区間Ｉkに投影されるビン１つもなく、代表的確率ｐIk∈Ｉkは、全体のレートＲに影響を全く与えずに、任意に選択され得る。しかし、区間Ｉkがエントロピー符号化のために使用されないため、このような構成は回避すべきである。
【０１４９】
最適な区間境界についての条件を見つけるため、ｋ＝１，．．．，Ｋ−１であるときに、区間境界ｐkに関して予想される全体のレートＲの第１の導関数について検討する。もし全てのｐ∈［ｐIk-1，ｐIk］についてｆ（ｐ）＞０である場合には、次式
2020099077.tif 000023
は、定義［ｐIk-1，ｐIk］のドメイン内側の区間の境界ｐkに関して単一の解
【数１４】
2020099077.tif 000024
を有しており、この解に関する第２の部分的導関数
【数１５】
2020099077.tif 000025
は、ゼロより常に大きく、その結果、区間の代表値ｐIk-1及びｐIkが与えられたとき、ｐ*kは、予想される全体のレートＲを最小化する区間境界ｐk∈［ｐIk-1，ｐIk］である。もし、確率ｐ∈［ｐIk-1，ｐIk］但しｆ（ｐ）＝０が存在する場合には、式
2020099077.tif 000026
は複数の解を有するが、しかし、式（Ｂ１３）で与えられるｐ*kは、更なる最適な解が存在する可能性はあるにしても、依然として最適である。
【０１５０】
区間の個数Ｋと確率分布ｆ（ｐ）とが与えられたとき、予想される全体のレートＲを最小化する、ｋ＝１，．．．，Ｋ−１である区間境界ｐkと、ｋ＝０，．．．，Ｋ−１である区間代表値ｐIkとは、ｋ＝０，．．．，Ｋ−１については条件（Ｂ１２）を受ける式（Ｂ１０）と（Ｂ１３）によって与えられる等式システムを解くことによって取得することができる。これは、以下の反復(iterative)アルゴリズムによって達成することができる。
【０１５１】
アルゴリズム１：
１）全てのｋ＝０，．．．，Ｋ−１について条件（Ｂ１２）が守られる方法で、区間（０，０．５）をＫ個の任意の区間Ｉk＝（ｐk，ｐk+1）へと区分する。但し、ｐ0＝０、ｐk＝０．５であり、全てのｋ＝０，．．．，Ｋ−１についてｐk＜ｐk+1である。２）式（Ｂ１０）に基づいて、ｋ＝０，．．．，Ｋ−１である代表値ｐIkを更新する。
３）式（Ｂ１３）に基づいて、ｋ＝１，．．．，Ｋ−１である区間境界値ｐkを更新する。
４）収束(convergence)まで前の２つのステップを繰り返す。
【０１５２】
図１４は、上記アルゴリズムを用いた最適な区間の離散化の例を示す。この例において、０＜ｐ≦０．５については均一な確率分布ｆ（ｐ）＝２を仮定し、確率区間（０，０．５］をＫ＝４の区間に区分した。確率区間の離散化が、二値エントロピー関数Ｈ（ｐ）のピース毎の線形近似Ａ（ｐ）をもたらすことが見て取れる。但し、全てのｐ∈（０，０．５］について、Ａ（ｐ）≧Ｈ（ｐ）である。
【０１５３】
区間の離散化が符号化効率に与える影響に関する測度として、エントロピー限界に相対して予想される全体的なレート増加率
【数１６】
2020099077.tif 000027
を使用することができる。図１４に示す特定の例において、エントロピーの予想値
2020099077.tif 000028
は、ビンあたり１／（２ｌｎ２）ビットと等しく、レートオーバーヘッド
2020099077.tif 000029
は１．０１％と等しい。表４は、レートオーバーヘッド
2020099077.tif 000030
を表にしたものであり、これらは、選択されたK個の区間についての、均一な確率分布と、
f(p)=8p 但しp∈(0,0.5]
のときの線形に増加する確率分布とをそれぞれ示す。
【０１５４】
【表４】
2020099077.tif 000031
【０１５５】
このセクションの研究では、固定された確率を有する少数の区間（例えば、８〜１０個の区間）へのＬＰＢの確率区間（０，０．５］の離散化が、符号化効率に与える影響は、極めて小さいことを示している。
【０１５６】
上述した確率区間に関するエントロピー符号化により、固定確率を用いた個別の符号器の使用が可能となる。
【０１５７】
以下においてはまず、単純な符号が固定確率に対してどのように設計され得るかを示す。これらの結果を得た上で、符号の設計とＬＰＢ確率区間（０，０．５］のパーティションとを一緒に最適化するアルゴリズムを開発する。
【０１５８】
固定確率ｐ＝ｐIkに関するエントロピー符号化は、算術符号化又は可変長符号化を使用して実行することができる。後者の場合には、以下の手法が単純かつ非常に効率的であるように見える。
【０１５９】
可変数のビンが可変長の符号語にマップされるバイナリーエントロピー符号化スキームについて考察する。一意の復号可能性を達成するために、符号語のビン列への逆マッピングは一意である必要がある。更に、エントロピー限界にできるだけ近い符号の設計を望むが故に、考慮対象を全単射マッピングに限定する。図１５に示すように、このような全単射マッピングは、全てのリーフノードが符号語と関連付けられたバイナリーツリーによって表現され得る。ツリーエッジはバイナリー事象を表現する。図１５の例においては、下方のエッジはＬＰＢビン値を表し、上方のエッジはＭＰＢビン値を表している。もしバイナリーツリーが完全なバイナリーツリーの場合には、即ち、全てのノードがリーフ(leaf)か又は２つの子系統（descendants）を持つ場合には、バイナリーツリーはビンに関する接頭語符号を表している。各リーフノードは、所与のＬＰＢの確率ｐに基づく確率と関連付けられる。ルートノードは確率ｐroot＝１を有している。他の全てのノードに関する確率は、対応する源流(ancestor)の確率に対し、ＬＰＢの末流についてはｐを乗算し、ＭＰＢの末流についてはｑ＝１−ｐを乗算することによって得られる。各リーフノードＬlは、ルートノードからリーフノードまでの、ＬＰＢエッジの数ａlと、ＭＰＢエッジの数ｂlによって特徴づけられる。ある特定のＬＰＢの確率ｐについて、リーフノードＬl＝｛ａl、ｂl｝に関する確率ｐlは、次式と等しい。
【数１７】
2020099077.tif 000032
【０１６０】
バイナリーツリーＴは、リーフノードの数Ｌと、関連付けられたペア｛ａl，ｂl｝と、によって完全に特徴付けられ、但しｌ＝０，．．．，Ｌ−１である。
【０１６１】
完全なバイナリーツリーＴとＬＰＢの確率ｐとが与えられた場合、リーフノードに対する符号語の最適な割当ては、ハフマン・アルゴリズムによって得ることができる。結果として得られる可変数のビットから可変長の符号語（Ｖ２Ｖ）へのマッピングＣは、リーフノードの数と同一である符号語の数Ｌと、ｌ＝０，．．．，Ｌ−１に関するタプル｛ａl，ｂl，ｌl｝とによって特徴付けられ、ここで、ｌlは、対応するリーフノードＬl＝｛ａl，ｂl｝と関連付けられた符号語長を表す。符号語長｛ｌl｝が与えられたとき、符号語の割り当てに関しては複数の可能性があり、かつ、符号語が一意に復号可能な接頭語符号を表している限りは、実際の符号語の割当ては重要ではないことに留意されたい。所与の符号ＣとＬＰＢの確率ｐに関するビン毎のビットでの予想されるレートＲ（ｐ，Ｃ）は、符号語毎の予想される符号語長と予想されるビンの個数との比である。
【数１８】
2020099077.tif 000033
【０１６２】
大抵の場合、符号の設計は、符号語の最大数Ｌ、符号語毎のビンの最大数、又は最大符号語長などの要因によって制限されるか、又は、特定の構造の符号へと限定される（例えば、最適化された解析を可能にするために）。もし特定のアプリケーションのために利用可能な符号の集合Ｓcが与えられたと仮定した場合には、特定のＬＰＢ確率ｐに関する最適な符号Ｃ*∈Ｓcは、予想されるレートＲ（ｐ，Ｃ）を最小化することによって求め得る。
【数１９】
2020099077.tif 000034
【０１６３】
他の迅速な代替例として、最小化はバイナリーツリーＳTの所与のセットに関して進めることができ、各ツリーについて、ハフマン・アルゴリズムによって得られるＶ２ＶコードＣが１つだけ考慮される。一例として、リーフノードの数Ｌが所与の最大数Ｌm以下である全てのバイナリーツリーＴを考慮することで、様々なＬＰＢの確率ｐについてのＶ２Ｖコードを設計した。図１６においては、相対レートの増加率
ρ（ｐ，Ｃ*（ｐ））＝Ｒ（ｐ，Ｃ*（ｐ））／Ｈ（ｐ）
が、選択された最大テーブルサイズＬmに関するＬＰＢの確率ｐにわたってプロットされる。レート増加率ρ（ｐ）は、通常、より大きなテーブルサイズを可能にすることによって減少され得る。より大きなＬＰＢ確率に関しては、レート増加率ρ（ｐ）を合理的に小さく保持するために、通常は８〜１６個の符号語から成る小さなテーブルサイズＬで十分であるが、より小さいＬＰＢ確率（例えばｐ＜０．１）に関しては、より大きなテーブルサイズＬが必要とされる。
【０１６４】
前のセクションで、固定型のＬＰＢ確率のための最適な符号とコード設計を想定して、最適な確率の離散化を検討した。しかし、一般に、限定されたテーブルサイズの実際のＶ２Ｖコードを持つエントロピー限界を達成することはできないので、最適化されたエントロピー符号化設計を得るためには、コード設計とＬＰＢ確率区間（０，０．５］のパーティションとを一緒に考慮する必要がある。
【０１６５】
所与の区間Ｉk＝（ｐk，ｐk+1）に関し、所与の集合ＳCの符号Ｃkが、この所与の区間について予想されるレート
2020099077.tif 000035
を最小化する場合には、次式に示す最適な符号Ｃ*kである。
【数２０】
2020099077.tif 000036
【０１６６】
実用的な設計のために、式（Ｂ１９）における積分の最小化は、まず式（Ｂ１０）に基づいて、区間Ｉkに関する最適な代表的確率ｐ*lkを決定し、次に式（Ｂ１８）に基づいて、代表的確率ｐ*lkのための所与の集合ＳCの最適な符号Ｃ*kを選択することによって、符号化効率にほとんど影響を与えずに、簡略化することができる。
【０１６７】
ｋ＝０，．．．，Ｋ−１である符号Ｃkの集合が与えられたとき、ｋ＝１，．．．，Ｋ−１である最適な区間境界値ｐkは、予想される全体的なレート
【数２１】
2020099077.tif 000037
を最小化することにより導出され得る。
【０１６８】
区間境界に関する第１の導関数をゼロに設定すると、ｋ＝１，．．．，Ｋ−１である場合の式
2020099077.tif 000038
は、
【数２２】
2020099077.tif 000039
をもたらす。
【０１６９】
式（Ｂ１３）と同様に、ｐ*kは常に最適な解であることが分るが、しかし、確率分布ｆ（ｐ）によっては、更なる最適な解が存在する可能性がある。従って、所与の関連付けられた符号Ｃk-1とＣkとをそれぞれ有する、２つの区間Ｉk-1とＩkとの間の最適な区間境界ｐ*kは、関数Ｒ（ｐ，Ｃk-1）とＲ（ｐ，Ｃk）との交点である。
【０１７０】
その結果、確率区間の数Ｋ、可能な符号の集合ＳC、及び確率分布ｆ（ｐ）但しｐ∈（０，０．５］が与えられた場合には、以下の対話型アルゴリズムを、確率区間のパーティションと関連付けられた符号とを一緒に導出するために使用することができる。
【０１７１】
アルゴリズム２：
１）セクション３で特定されたアルゴリズム１を使用して、ｋ＝０，．．．，Ｋであるときの初期の確率区間境界値ｐkを求める。
２）式（Ｂ１０）に基づいて、ｋ＝０，．．．，Ｋ−１であるときの確率区間Ｉkに関する代表値ｐIkを求める。
３）式（Ｂ１８）に基づいて、ｋ＝０，．．．，Ｋ−１であるときの区間の代表値ｐIkに関する符号Ｃk∈Ｓcを求める。
４）式（Ｂ２１）に基づいて、ｋ＝１，．．．，Ｋ−１であるときの区間境界値ｐkを更新する。
５）収束するまで前の３ステップを繰り返す。
【０１７２】
アルゴリズム２におけるステップ２及び３は、式（Ｂ１９）に従って、ｋ＝０，．．．，Ｋであるときの区間境界ｐkに基づいた、ｋ＝０，．．．，Ｋ−１であるときの符号Ｃk∈Ｓcの直接的な導出によって置き換えることができる。更に、セクション４．１で上述したように、ステップ３における最小化は、各バイナリーツリーＴについて、ハフマン・アルゴリズムによって得られるＶ２ＶコードＣkが１つだけ考慮されるような、バイナリーツリーＳTの所与の集合にわたって進めることもできる。
【０１７３】
一例として、アルゴリズム２を使用して、Ｋ＝１２の確率区間への区分と対応するＶ２Ｖコードとを一緒に導出した。このとき、ステップ３におけるアルゴリズムの最小化は、各ツリーＴに関する評価された符号Ｃがハフマン・アルゴリズムによって取得された、バイナリーツリーＳTの所与の集合にわたる等価の最小化と置き換えた。最大数Ｌm＝６５個のリーフノードを有するツリーＴ、つまり、最大６５個までのテーブルエントリを有する符号Ｃについて考察した。最大１６個までのリーフノードを有する全てのバイナリーツリーＴは、最小化においてこれまでも評価されてきたが、ここでは、１６個を超えるリーフノードをもつツリーに関して、より少数のリーフノードを有するツリーに対して最良の結果をもたらす次善のサーチを採用した。
【０１７４】
図１７においては、コードの設計例のためのエントロピー限界
ΔＲ（ｐ）＝Ｒ（ｐ）−Ｈ（ｐ）
との相対関係において予想されるレートの増加が、ＬＰＢの確率ｐにわたってプロットされている。比較として、（セクション３で展開されるように）理論的に最適な確率区間の離散化に関する予想されるレートの増加ΔＲと、更なる制約ｐIK-1＝０．５を有する理論的に最適な確率の離散化と、をもこの図の中にプロットした。確率区間の離散化とＶ２Ｖコード設計とをまとめることで、区間の境界線のシフトにつながる（ｋ＝１，．．．，Ｋ−１である区間境界ｐkがΔＲ（ｐ）曲線の極大値によって与えられる）ことが分かる。均一な確率分布ｆ（ｐ）を仮定した場合、実際のＶ２Ｖコードを有する設計例に関するエントロピー限界との関係において相対的に予想される全体的レートの増加率は、
2020099077.tif 000040
である。理論的に最適な確率区間の離散化と、更なる制約ｐIK-1＝０．５を有する理論的に最適な確率の離散化のそれぞれに対応する相対的なレート増加率はそれぞれ、
2020099077.tif 000041
と
2020099077.tif 000042
である。
【０１７５】
符号語の終了は以下のように実行できる。有限のシンボル列｛ｓ0，．．．，ｓN-1｝を符号化する時、Ｋ個のバイナリー符号器の各々は、有限の符号化ビンの列をｂck＝｛ｂc0，．．．，ｂcBk-1｝k処理する。ここで、ｋ＝０，．．．，Ｋ−１である。また、Ｋ個のバイナリー符号器の各々について、符号語又は符号語の列ｃk（ｂck）が付えられた場合、列ｂck＝｛ｂc0，．．．，ｂcBk-1｝kの全ての符号化ビンが復元可能であることが確認されてきた。
【０１７６】
算術符号化を採用する場合、符号化ビンの列のための算術符号語は、符号語を与えられた場合に全ての符号化ビンが復号化され得るような方法で終了されなければならない。上記のＶ２Ｖコードについては、列ｂckの終点にあるビンは、符号語に関連付けられたビン列を表していない可能性がある。このような場合、その残りのビン列を接頭語として含む任意の符号語が書き込まれ得る。もし最短の長さを持つ対応する符号語（又はこれらの符号語の１つ）が選ばれた場合には、オーバーヘッドを最小化することができる。復号器側においては、ビットストリーム・シンタックスと二値化スキームとによって識別可能である、ビン列の終点において追加的に読み出されたビンは、廃棄される。
【０１７７】
単純なコード設計の例を以下に提供する。図示する目的で、３文字と、ｐs（ａ0）＝０．７、ｐs（ａ1）＝０．１８、及びｐs（ａ2）＝０．１２の固定された関連する確率とを有するソース｛ｓ｝の簡単な例について考察する。図１８に示すように、対応する３項の選択ツリーは完全なバイナリーツリーに変換されることができる。
【０１７８】
図１８に示す完全なバイナリーツリーへの二値化を表５に示す。３項シンボルのｐｍｆであるｐsは、２つのバイナリーｐｍｆ、即ちｐb0＝（０．７，０．３）とｐb1＝（０．６，０．４）とに変換される。ビットストリーム内の各シンボルｓについて、ビンｂ0が存在している。ビンｂ0が０と等しい場合には、ｂ1も存在している。表２で示した二値化は、ソースｓについての最適な単一文字のハフマン符号と同じであることに留意されたい。
【０１７９】
【表５】
2020099077.tif 000043
【０１８０】
ソースｓのエントロピーは、次式で与えられる。
【数２３】
2020099077.tif 000044
【０１８１】
単一文字のハフマン符号の平均符号語長は、次式で与えられる。
【数２４】
2020099077.tif 000045
これは、ρHC＝０．１２７４ビット／シンボルの冗長度、又は１０．８７％の予想されるレートオーバーヘッドに相当する。
【０１８２】
固定されたｐｍｆを有する特定の二値化の例については、ビンｂ0とｂ1とが、既に符号化ビンを表している。なぜなら、両ビンについてＬＰＢの値ｂjLPBが０と等しいからである。ＬＰＢの確率の分布ｆ（ｓ）は離散的であり、ここで、ｐ＝０．３とｐ＝０．４の場合を除いて、ｆ（ｐ）＝０である。その結果、最適な確率離散化はＫ＝２の区間をもたらし、ここで、代表値はｐI0＝０．３及びｐI1＝０．４である。これらの区間の間の区間境界ｐ1は、［０．３，０．４）において任意に選択することができる。
【０１８３】
ソースを符号化するために、ソースシンボルの列はビン列へと二値化される。ビンｂ0は、全てのソースシンボルについて送信される。ビンｂ1は、ｂ0＝０の場合に限って送信される。ビンｂ0とｂ1は、一定のＬＰＢ確率ｐI0＝０．３とｐI1＝０．４とを用いて、それぞれ個別に符号化される。
【０１８４】
固定型の確率を有するバイナリーアルファベットの効率的な符号化は、単純なＶ２Ｖのマッピングによって達成することができる。ＬＰＢの確率ｐLPB＝０．３とｐLPB＝０．４に関する小さな符号化テーブルを用いたＶ２Ｖマッピングの例を、表６と表７にそれぞれ示す。ｐLPB＝０．３に関するＶ２Ｖマッピングは、０．００６９ビット／ビン、又は０．７８８％の冗長度を生じさせる。ＬＰＢの確率ｐLPB＝０．４に関しては、冗長度は０．００５３ビット／ビン、又は０．５４８％である。
【０１８５】
【表６】
2020099077.tif 000046
【０１８６】
【表７】
2020099077.tif 000047
【０１８７】
新たな符号化方法によってもたらされる全体的な予想されるレートは、次式で示される。
【数２５】
2020099077.tif 000048
【０１８８】
全体の冗長度はエントロピー限界に対して０．７３％であり、これは単一文字のハフマン符号と比較して、有意に改善された値を示している。
【０１８９】
同様の符号化効率の改良は、ランレングス符号を作成することによっても達成できる、と主張することもできる。上記の例において、最大２つのシンボルまでのランを考慮することによって、最大確率シンボルに対するランレングス符号を構築することができる。各々の事象の｛ａ0ａ0，ａ0ａ1，ａ0ａ2，ａ1ａ2｝は、別個の符号語に関連付けられ得る。このような符号は、エントロピー限界との相対関係において冗長度１．３４％をもたらす。実際に、Ｖ２Ｖコードは、ランレングス符号のバイナリーシンボルへの一般化としてみなされ得る（表３のＶ２Ｖコードは、ランレングス符号を効果的に表している）。固定の確率を有する単一のシンボルアルファベットの場合には、提示した手法と同様の符号化効率を、可変長符号語に対して可変数のソースシンボルをマップする符号を作成することによっても達成することができる。この提示した手法の主な利点は、固定型又は適合型の確率推定を有する任意のソースシンボル列を、固定型のＬＰＢ確率を用いて作動する少数の単純なバイナリー符号器へとマッピングする際の、その柔軟性である。
【０１９０】
次に、一意の復号可能性を達成する方法を考察する。
【０１９１】
提示したエントロピー符号化方式において、ソースシンボル列ｓ＝｛ｓ0，．．．，ｓN-1｝の符号化は、以下の３つの基本的なステップから成る。
・シンボル二値化ｂ＝｛ｂ0，．．．，ｂB-1｝＝γb（ｓ）がビン列ｂ＝｛ｂ0，．．．，ｂB-1｝をもたらすステップ
・ビン列を符号化ビン列ｂc＝｛ｂc0，．．．，ｂcB-1｝＝γc（ｂ）へと変換するステップ
・確率区間の離散化とＫ個の固定型バイナリー符号器を用いて、符号化ビン列ｂc＝｛ｂc0，．．．，ｂcB-1｝をバイナリーエントロピー符号化するステップ
【０１９２】
もし符号化ビン列ｂc＝｛ｂc0，．．．，ｂcB-1｝が一意に復号可能であり、γbとγcとのマッピングが可逆である場合には、シンボル列ｓ＝｛ｓ0，．．．，ｓN-1｝は一意に復号可能である。
【０１９３】
１つ以上の符号化ビンの列ｂc＝｛ｂc0，．．．｝の１つ以上の符号語ｃ（ｂc）＝｛ｃ0，．．．｝の列への符号器マッピングを、γeで示すことにする。
【数２６】
2020099077.tif 000049
【０１９４】
符号語ｃ（ｂc）の列が付えられているとき、符号化ビン列ｂcが一意的に復号可能となるためには、符号器マッピングγeは、一意の符号語ｃ（ｂc）が各々の可能な符号化ビン列ｂcに割り当てられるという特性を有する必要がある。
【数２７】
2020099077.tif 000050
【０１９５】
この特性は、算術符号又は接頭語の符号が使用されている場合、常に満たされる。特に、セクション４．１に説明されているＶ２Ｖコードについて満たされる。なぜなら、Ｖ２Ｖコードは、可変数のビンに関する接頭語の符号を表しているからである（セクション４．３において説明した符号語の終了を含む）。
【０１９６】
しかしながら、提示したエントロピー符号化のアプローチにおいては、符号化ビンの列ｂcはｋ＝０，．．．，Ｋ−１であるＫ個のサブシーケンスｂkcに分割され、
【数２８】
2020099077.tif 000051
各サブシーケンスｂ kcに対して、符号語ｃk（ｂkc）の列が、特定の符号器マッピングγekを使用して割り当てられる。その結果、一意的な復号の可能性の条件は、拡張されなければならない。もし符号化ビンｂkcの各サブシーケンスが、対応する符号語ｃk（ｂkc）が与えられると一意に復号可能であり、かつ区分規則γpがその復号器に知られている場合には、符号化ビンｂcの列は、符号語ｃk（ｂkc）のＫ個の列が与えられると一意に復号可能となり、ここで、ｋ＝０，．．．，Ｋ−１である。区分規則γpは、ＬＰＢ確率区間の離散化｛Ｉk｝と、ｊ＝０，．．．，Ｂ−１である符号化ビンｂcjに関連付けられたＬＰＢ確率ｐjLPBと、によって付与される。従って、ＬＰＢ確率区間の離散化｛Ｉｋ｝は、復号器側で知られている必要があり、ｊ＝０，．．．，Ｂ−１である各符号化ビンｂcjについてのＬＰＢ確率ｐjLPBは、符号器側と復号器側とにおいて同一の方法で導出される必要がある。
【０１９７】
ビン列の符号化ビン列ｂcへのマッピングγcのために、ｊ＝０，．．．，Ｂ−１である各単一のｂjがバイナリーマッピング
2020099077.tif 000052
によって変換される。復号器側では、ビン列はｊ＝０，．．．，Ｂ−１であるバイナリーマッピング
【数２９】
2020099077.tif 000053
によって求めることができる。もし各ビンｂjについてのＬＰＢ値ｂjLPBが符号器と復号器側とにおいて同一の方法で導出される場合には、
【数３０】
2020099077.tif 000054
であるため、これらのマッピング（γjc）-1は、対応する符号器マッピングγjcの逆を表しており、従って、ビン列ｂの符号化ビン列ｂcへの変換γbは可逆である。
【０１９８】
最後に、ｉ＝０，．．．，Ｎ−１のときの各シンボルｓiがビン列ｂj＝γjb（ｓi）へとマップされるような二値化ｂ＝γb（ｓ）の可逆性を調べる。もし二値化マッピングγjbが、シンボルｓiに関するアルファベットＡiの各文字ａimに対して異なるビン列ｂjmを割り当てる場合には、対応するビン列ｂiが与えられると、シンボルｓiは一意に復号化することができる。しかしながら、ビン列ｂ＝｛ｂ0，．．．，ｂB-1｝の、ｉ＝０，．．．，Ｎ−１であるシンボルｓiに対応するビン列ｂiへの区分が復号器に知られていないため、この条件は不十分である。十分な条件は、各シンボルｓiについて、対応するアルファベットＡiの文字ａimに関連付けられているビン列ｂjmが接頭語符号を形成し、かつｉ＝０，．．．，Ｎ−１であるシンボル各ｓiについて、二値化マッピングγjbが復号器側に知られているときに与えられる。
【０１９９】
提示したエントロピー符号化の手法において一意的な復号を可能にする条件は、次のようにまとめることができる。
・二値化マッピングγjbが接頭語符号を表し、かつ（シンボル符号化の順序で）復号器に知られる。
・全てのビンｂjに関する確率モデル（ｂjLPB、ｐjLPB）が、符号器側と復号器側とにおいて同じ方法で導出される。
・ＬＰＢ確率区間（０、０．５］のｋ＝０，．．．，Ｋ−１であるＫ個の区間Ｉkへの区分が復号器に知られる。
・ｋ＝０，．．．，Ｋ−１である各確率区間Ｉkに関するマッピングγkeが一意に復号可能な符号を表す。
【０２００】
以下に、全体的な符号器と復号器の設計例をより詳細に説明する。ビンに関する確率モデル｛ｂLPB、ｐLPB｝が符号器側と復号器側とにおいて直接的に推定され、Ｋ個のバイナリー符号器が上述したＶ２Ｖマッピングを使用するような、符号化スキームに焦点を当てる。各ソースシンボルｓはシンボルカテゴリーｃsと関連付けられ、そのシンボルカテゴリーｃsはその値の範囲を含むシンボルのタイプを決定する。シンボルの順序と関連するシンボルカテゴリーとは、符号器側と復号器側とにおいて既知であると推定されるシンタックスによって与えられる。
【０２０１】
ＰＩＰＥ符号器とＰＩＰＥ復号器との設計例のブロック図を図１９に示す。符号器側において、関連付けられたシンボルカテゴリーｃsを有するシンボルｓはバイナライザへ供給され、このバイナライザは各シンボルｓをビン列ｂs＝γcsb（ｓ）へと変換する。
【０２０２】
γcsbはシンボルカテゴリーｃsに基づいて決定される。更に、バイナライザは、ビン列ｂsの各ビンｂを、このビンｂを符号化するために使用される確率モデルを指定する確率モデル指示ｃbと関連付ける。確率モデル指示ｃbは、シンボルカテゴリーｃs、ビン列ｂs内部の現在のビンのビン数、及び／又は既に符号化済みのビン及びシンボルの値に基づいて、導出され得る。
【０２０３】
確率推定及び割当部は、値の対｛ｂLPB，ｐLPB｝によって特徴付けられた多数の確率モデルを保有している。この確率推定及び割当部は、ビンｂとその関連付けられた確率モデル指示ｃbとをバイナライザから受信し、ＬＰＢ値ｂLPBと指示された確率モデルのＬＰＢ確率ｐLPBとを、符号化ビン導出部と確率量子化部とにそれぞれ送信する。その後、対応する確率モデル｛ｂLPB、ｐLPB｝は、受信されたビンｂの値を用いて更新される。
【０２０４】
符号化ビン導出部は、バイナライザと確率推定及び割当部とから、ビンｂと関連付けられたＬＰＢ値ｂLPBとをそれぞれ受け取り、
2020099077.tif 000055
によって導出される符号化ビンｂcを確率量子化部へと送信する。この確率量子化部は、各符号化ビンｂcをＫ個のバイナリー符号器の１つへ転送する。確率量子化部は、ＬＰＢ確率区間の量子化｛Ｉk｝に関する情報を含む。符号化ビンｂcに関連付けられかつ確率推定及び割当部から受信されたＬＰＢ確率ｐLPBは、区間境界｛ｐk｝と確率区間インデックスｋとに対して比較され、この確率区間インデックスｋに関してはｐLPB∈Ｉkが導出される。次に、符号化ビンｂcは関連するバイナリー符号器へと転送される。
【０２０５】
Ｋ個のバイナリー符号器の各々はビンバッファ及びビン符号器から成る。ビンバッファは、確率量子化部から符号化ビンｂcを受け取り、これらを符号化の順序で記憶する。ビン符号器は、特定のＶ２Ｖマッピングを構成し、ビンバッファ内のビン列を符号語に関連付けられたビン列と比較する。ビンバッファ内のビン列がこれらのビン列の１つと等しい場合には、ビン符号器は、このビン列｛ｂc｝をビンバッファから取り除き、関連する符号語（｛ｂc｝）を対応する符号語ストリームに書き込む。シンボル列に関する符号化処理の終了時に、セクション４．３で説明したように、関連するビンバッファが空でない全てのバイナリー符号器において、終端符号語が書き込まれる。
【０２０６】
結果として得られたＫ個の符号語ストリームは、個別に送信され、パケット化され、若しくは記憶され、又は送信若しくは記憶を目的としてインターリーブされることもできる（セクション６．２参照）。
【０２０７】
復号器側では、ビン復号器とビンバッファから成るＫ個のバイナリー復号器の各々は、１つの符号語のストリームを受信する。ビン復号器は、符号語のストリームから符号語（｛ｂc｝）を読み出し、関連するビン列｛ｂc｝を符号化の順序でビンバッファ内に挿入する。
【０２０８】
シンボル列の復号化は、基底にあるシンタックスによって駆動される。シンボルｓに対する要求は、シンボルカテゴリーｃsと一緒にバイナライザへ送信される。バイナライザは、これらのシンボル要求をビンに対する要求に変換する。ビンに対する要求は、符号器内と同一の方法で導出される確率モデル指示ｃbと関連付けられ、確率推定及び割当部へと送信される。確率推定及び割当部は、符号器側におけるその等価物と同様に操作される。確率推定及び割当部は、確率モデル表示ｃbに基づいて確率モデルを識別し、そのＬＰＢ値ｂLPBとＬＰＢ確率ｐLPBとをビン導出部と確率量子化部のそれぞれへと送信する。
【０２０９】
確率量子化部は、バイナリー符号器が符号器側で決定されるのと同じ方法で、ＬＰＢ確率ｐLPBに基づいてＫ個のバイナリー復号器の１つを決定し、対応するビンバッファから符号化の順序で第１の符号化ビンｂcを取り除き、それをビン導出部へと転送する。ビン導出部は、符号化ビンｂcと関連するＬＰＢ値ｂLPBとを、確率量子化部と確率推定及び割当部とのそれぞれから受け取り、ビン値
2020099077.tif 000056
を求める。バイナライザから送信されたビン要求への最終応答として、ビン導出部は、復号化されたビン値ｂをバイナライザと確率推定及び割当部とに送信する。
【０２１０】
確率推定及び割当部において、復号化されたビンｂの値は、符号器側と同じ方法で、関連する値ｃbによって選択された確率モデル｛ｂLPB，ｐLPB｝を更新するために使用される。最後に、バイナライザは、受信されたビンｂをシンボル要求に関して既に受信されているビン列ｂsに加え、このビン列ｂsを二値化スキームγcsbによってシンボル値と関連付けられたビン列と比較する。そのビン列ｂsがこれらのビン列の１つと一致する場合には、対応する復号化されたシンボルｓがシンボル要求への最終応答として出力される。それ以外の場合には、バイナライザはシンボルｓが復号化されるまで更なるビン要求を送る。
【０２１１】
シンタックスによって駆動される更なるシンボル要求が受信されなくなった場合には、シンボル列の復号化は終了する。エントロピー復号化処理の終点において（終端符号語の結果として）、ビンバッファ内に含まれている可能性のある符号化ビンｂcは廃棄される。
【０２１２】
図１と図２及び図３〜図１３を参照しながらＰＩＰＥ符号器及びＰＩＰＥ復号器について幾つかの実施形態を説明し、また、図１４〜図１９を参照しながらＰＩＰＥ符号化についての一般的な数学的背景を提供した後で、次に、図２０〜図２４を参照しながらエントロピー符号化装置及び復号化装置に関するより詳細な実施形態について説明する。以下に図２２〜図２４に示す実施形態は、ＰＩＰＥ符号化されたビットストリーム同士間で互いにインターリーブするだけではなく、ＶＬＣビットストリームとＰＩＰＥ符号化されたビットストリームとを全部一緒にインターリーブする。これと比較して、ＰＩＰＥ符号器とＰＩＰＥ復号器についての実施形態であって、ＰＩＰＥ符号化されたビットストリームのためのインターリーブを有する実施形態、即ち図７〜図１３に示す実施形態では、ＰＩＰＥ符号化されたビットストリームの個別のインターリービングだけが提示されていた。既に上述したように、これらの実施形態であっても、もう一つのインターリーバー／デ・インターリーバーのペア１３４及び２３２をそれぞれ使用することで（図１及び図２を参照）、例えば図５及び図６に示すビットストリーム・インターリービングなどを用いて、完全にインターリーブされたビットストリームを達成するための基礎として役割を果たすことができる。しかし、次に示す実施形態は、ＶＬＣビットストリームとＰＩＰＥ符号化されたビットストリームとの両方に対して、一段階のインターリーバー１２８／デ・インターリーバー２３０をそれぞれ使用して、一度にインターリービングを実行する。
【０２１３】
複雑性と符号化効率との間のより適切な妥協点を達成するために、ＶＬＣ及びＰＩＰＥ符号化されたシンボルがビットストリームの内部でインターリーブされる実施形態を詳細に説明する前に、インターリービングがない基礎的な構造について図２０と図２１とを参照しながら説明する。
【０２１４】
図１ａのエントロピー符号化装置の構造を図２０に示す。このエントロピー符号化装置は、ソースシンボルのストリーム１ａ、即ちＶＬＣ符号化されたソースシンボルとＰＩＰＥ符号化されたソースシンボルとの組合せであって、図１の１０６と図２の２１８とにそれぞれ対応するストリームを、２つ以上の部分的ビットストリーム１２、１２ａからなるセットへと変換し、ここで、ビットストリーム１２ａは、図１及び図２のビットストリーム１１２及び２０６に対応する。
【０２１５】
既に上述したように、各ソースシンボル１ａは、図１内のＶＬＣ符号器１０２に対応するＶＬＣ符号器２２ａ内で標準的なＶＬＣ符号を使用して符号化されるのかどうか、又は、ＰＩＰＥ符号化の概念を用いて符号化されるべきかどうかについて特定する、ある指示を関連づけて有している。図１及び図２に関して既に上述したように、この指示は復号化側に対して明確には送信されない可能性もある。寧ろ、その関連付けられた指示は、ソースシンボル自身のタイプ又はカテゴリーから生じる可能性もある。
【０２１６】
ＶＬＣ符号化されたシンボル１ｂは標準的なＶＬＣ符号を用いて符号化されるが、そのＶＬＣ符号は、ＶＬＣ符号器２２ａを使用して、上述のシンボルカテゴリーまたはシンボルタイプに基づいて符号化されてもよい。対応する符号語１１ａは、独特な部分的ビットストリーム１２ａに書き込まれる。非ＶＬＣ符号シンボル１は、例えば図１及び図３に関して上述したようなＰＩＰＥ符号化を使用して符号化され、その結果、多数の部分的ビットストリーム１２が取得される。ソースシンボル１ａの幾つかは、図１ａに関して既に上述したように、二値化が２つの部分から構成される方法で既に二値化されていてもよい。これらの部分のうちの１つは、ＰＩＰＥの手法を用いて符号化され、対応する部分的ビットストリーム１２へと書き込まれてもよい。ビン列の他の部分は、標準的なＶＬＣ符号を用いて符号化され、対応する部分的ビットストリーム１２ａへと書き込まれてもよい。
【０２１７】
図２０の実施形態に適合する基本的なエントロピー復号化装置を図２１に示す。
【０２１８】
この復号器は、基本的に図２０の符号器と逆の操作を実行するため、以前に符号化されたソースシンボル列２７と２７ａは、２つ以上の部分的ビットストリーム（２４、２４ａ）の集合から復号化されている。この復号器は２つの異なる処理フローを含む。即ち、符号器のデータフローを複製する、データ要求のためのフローと、符号器のデータフローの逆を表すデータフローとである。図２１においては、破線の矢印はデータ要求のフローを表し、実線の矢印はデータフローを表す。復号器の構造ブロックは、基本的に符号器の構造ブロックを複製するものであるが、但し、逆の操作を実行する。
【０２１９】
本発明の好適な実施形態においては、各シンボル要求１３ａは、そのソースシンボルが標準的なＶＬＣ符号を使用して符号化されるか、又は、ＰＩＰＥ符号化の概念を用いて符号化されるかについて特定する、ある指示に関連づけられている。図２０に関して既に上述したように、この指示は、ソースシンボル自身によって表現されるシンタックス要素の解析規則又はシンタックスから生じてもよい。例えば、図１及び図２に関して説明したように、異なる符号化のスキーム、即ちＶＬＣ符号化またはＰＩＰＥ符号化に対しては、異なるシンタックス要素のタイプが関連付られてもよい。同様のことが、二値化の異なる部分、又はより一般的にはシンタックス要素の他のシンボル化についても適用できる。あるシンボルがＶＬＣ符号化されている場合には、要求はＶＬＣ復号器２２ａに送られ、ＶＬＣ符号語２３ａは独特な部分的ビットストリーム２４ａから読み出される。対応する復号化シンボル２７ａが出力される。あるシンボルがＰＩＰＥを用いて符号化されている場合には、そのシンボル２７は、例えば図４に関して上述したように部分的ビットストリーム２４の集合から復号化される。
【０２２０】
本発明の他の好適な実施形態においては、ソースシンボルの幾つかは、２つの部分から構成されるような方法で二値化される。これらの部分のうちＰＩＰＥ手法を用いて符号化された部分は、関連する部分的ビットストリーム２４からそれに応じて復号化される。また、ビン列の他の部分は標準的なＶＬＣ符号を用いて符号化され、独特な部分的ビットストリーム２４ａから対応する符号語２３ａを読み出すＶＬＣ復号器２２ａを用いて復号化される。
【０２２１】
部分的ビットストリーム（ＶＬＣ符号化済み及びＰＩＰＥ符号化済み）の送信と多重化
符号器によって作成される部分的ビットストリーム１２と１２ａは、別個に伝送されることが可能であり、若しくは単一のビットストリーム内へ多重化されることが可能であり、又は、部分的ビットストリームの符号語が単一のビットストリーム内へインターリーブされることが可能である。
【０２２２】
本発明の好ましい実施形態においては、ある量のデータに係る各部分的ビットストリームは１つのデータパケットへ書き込まれる。そのある量のデータとは、静止画像、ビデオシーケンスのフィールドやフレーム、静止画像のスライス、ビデオシーケンスのフィールド又はフレームのスライス、又はオーディオサンプルのフレームなどの、ソースシンボルの任意の集合であってもよい。
【０２２３】
本発明の他の好ましい実施形態においては、ある量のデータに係る２つ以上の部分的ビットストリーム１２、１２ａ、又はある量のデータに係る全ての部分的ビットストリームが１つのデータパケット内へ多重化される。多重化された部分的ビットストリームを含むデータパケットの構造を図５に示す。
【０２２４】
データパケット３００は、（考慮対象となるある量のデータに係る）各部分的ビットストリームのデータに関するヘッダと１つのパーティションとから構成される。データパケットのヘッダ３０１は、データパケット（の残り）をビットストリームデータのセグメント３０２へと区分するための指示を含む。区分についての指示に加え、ヘッダは更なる情報を含み得る。本発明の一実施形態においては、データパケットの区分についての指示は、ビット若しくはバイトの単位、又は多数のビット若しくは多数のバイトの単位のデータセグメントの始点位置である。一実施形態において、データセグメントの始点位置はデータパケットのヘッダ内に絶対値として符号化されており、データパケットの始点に対する位置か、若しくはヘッダの終点に対する位置か、又は先行するデータパケットの始点に対する位置である。本発明の更なる実施形態においては、データセグメントの始点位置は差分的に符号化される。即ち、データセグメントの実際の始点と、データセグメントの始点についての予測との間の差のみが符号化される。この予測は、データパケットの全体のサイズ、ヘッダのサイズ、データパケット内のデータセグメントの数、先行するデータセグメントの始点の位置など、既に既知であるか又は伝送された情報に基づいて導出可能である。本発明の一実施形態においては、第１のデータパケットの始点の位置は符号化されないが、データパケットのヘッダのサイズに基づいて推測される。復号器側においては、伝送された区分の指示はデータセグメントの始点を導出するために使用される。次いで、データセグメントは、部分的ビットストリーム１２、１２ａとして使用され、データセグメントに含まれるデータは、対応するビン復号器及びＶＬＣ復号器に順に供給される。
【０２２５】
符号語のインターリービング（ＶＬＣ及びＰＩＰＥ符号語）
幾つかのアプリケーションにおいては、１つのデータパケット内の（ある量のソースシンボルに係る）部分的ビットストリーム１２の上記した多重化は、次のような欠点を持つ可能性がある。即ち、一方では、小さいデータパケットにとっては、区分について信号化するために必要とされるサイド情報のためのビット数が、部分的ビットストリーム内の実際のデータに対して重大になりうるため、最終的に符号化効率を低下させる。他方では、（例えばビデオ会議アプリケーションなどの）低遅延が要求されるアプリケーションには、多重化は不向きである可能性がある。上述した多重化の場合、部分的ビットストリームが完全に作成される以前にＰＩＰＥ符号器がデータパケットの伝送を開始することは不可能である。なぜなら、パーティションの始点位置が事前に知られていないからである。さらに、一般にＰＩＰＥ復号器は、データパケットの復号化を開始し得る前に、最後のデータセグメントの始点を受信するまで待機する必要がある。ビデオ会議システムのようなアプリケーションにおいては、これらの遅延は合計されて、複数のビデオ画像を用いたシステム（特に、伝送ビットレートに近いビットレートに関して、および１つの画像を符号化／復号化するために２つの画像間の時間区間に近い要求をする符号器／復号器に関して）の追加的な全体的遅延となる可能性があり、このようなアプリケーションには致命的である。特定のアプリケーションに関するこのような欠点を克服するために、本発明の好適な実施形態に係る符号器は、２つ以上のビン符号器とＶＬＣ符号器とによって生成される符号語が、単一のビットストリームにインターリーブされるよう構成され得る。インターリーブ済みの符号語を有するビットストリームは、復号器に直接的に送信されることができる（小さなバッファ遅延を無視する場合は以下を参照）。復号器側においては、２つ以上のビン復号器とＶＬＣ符号器とは、復号化の順序でビットストリームから直接的に符号語を読み出す。即ち、復号化は最初に受信したビットから開始され得る。更に、部分的ビットストリームの多重化（又はインターリービング）を信号化するためにサイド情報は必要とされない。
【０２２６】
符号語のインターリービングを有するＰＩＰＥ符号器の基本構造を図２２に示す。ビン符号器１０とＶＬＣ符号器１０ａとは、符号語を部分的ビットストリームに直接的には書き込まないが、単一の符号語バッファ２９に接続されており、そこから符号語が符号化の順序でビットストリーム３４へと書き込まれる。ビン符号器１０は、１つ以上の新たな符号語バッファエントリに対する要求２８を符号語バッファ２９へと送信し、この後、符号語３０を符号語バッファ２９に送信し、これら符号語がリザーブされたバッファエントリに記憶される。ＶＬＣ符号器１０ａは、ＶＬＣ符号語３０ａを符号語バッファ２９に直接的に書き込む。符号語バッファ２９の（一般的には可変長の）符号語３１は符号語ライタ３２によってアクセスされ、その符号語ライタ３２は対応するビット３３を生成されたビットストリーム３４へと書き込む。符号語バッファ２９は先入れ先出しバッファとして作動し、先にリザーブされた符号語エントリは先にビットストリームへ書き込まれる。
【０２２７】
本発明の好適な一実施形態においては、符号語バッファは次のように作動する。即ち、新たなビン７が特定のビンバッファ８に送られ、ビンバッファ内に既に記憶されていたビンの数がゼロであり、かつその特定のビンバッファに接続されたビン符号器のために符号語バッファ内にリザーブされた符号語が現時点で存在しない場合には、この接続されたビン符号器１０は符号語バッファへ要求を送信し、それにより、１つ以上の符号語エントリが特定のビン符号器１０のために符号語バッファ２９内でリザーブされる。符号語エントリは可変数のビットを有することができる。即ち、１つのバッファエントリ内のビット数の上限しきい値は、通常、対応するビン符号器に係る最大符号語サイズによって与えられる。ビン符号器によって生成される次の単数又は複数の符号語（それら符号語のために単数又は複数の符号語エントリがリザーブされている）は、符号語バッファのリザーブされた単数又は複数のエントリ内に記憶される。もし、符号語バッファ内の特定のビン符号器のためにリザーブされた全てのバッファエントリが符号語で満たされており、かつ、その特定のビン符号器に接続されたビンバッファに対して次のビンが送信される場合には、その特定のビン符号器に関し、１つ以上の新たな符号語が符号語バッファ内においてリザーブされる、等が実行される。ＶＬＣ符号器１０ａは、符号語バッファ２９の次の空のエントリに対してＶＬＣ符号語３０ａを直接的に書き込む。即ち、ＶＬＣ符号器にとっては符号語のリザーブと符号語の書き込みとが一度で実行される。符号語バッファ２９は、ある所定の方法での先入れ先出しバッファを表す。バッファエントリは順次リザーブされる。対応するバッファエントリが先にリザーブされている符号語は、先にビットストリームへ書き込まれる。符号語ライタ３２は、連続的に、又は符号語３０が符号語バッファ２９へと書き込まれた後に、符号語バッファ２９の状態をチェックする。もし第１のバッファエントリが完全な符号語を含む場合（即ち、バッファエントリはリザーブされていないが符号語を含む場合）には、対応する符号語３１と対応するバッファエントリとは符号語バッファ２０から取り除かれ、符号語ビット３３はビットストリームへ書き込まれる。この処理は、最初のバッファエントリが符号語を含まない（即ち、リザーブされているか又は空である）状態になるまで繰り返される。復号化処理の終了時、即ち、考慮対象となる所定量のデータの全てのソースシンボルが処理されたときには、符号語バッファをフラッシュする必要がある。そのフラッシュ処理に関しては、以下の方法が最初のステップとして各ビンバッファ／ビン符号器に適用される。即ち、ビンバッファがビンを含む場合には、結果として得られるビン列が符号語に関連するビン列を表すようになるまで、特定の又は任意の値を有するビンが加えられる（上記したようにビンを追加する１つの好ましい方法は、接頭語としてビンバッファの元のコンテンツに関するビンを含むビン列に関連する、最短の長さの可能な符号語−又はそれらのうちの１つ−を生成するようなビン値を追加することである）。次に、符号語は対応するビン符号器のための次にリザーブされたバッファエントリへ書き込まれ、（対応する）ビンバッファは空になる。もし２つ以上のバッファエントリが１つ以上のビン符号器に対してリザーブされている場合、符号語バッファは、リザーブされた符号語エントリを依然として含んでいる可能性がある。その場合、これらの符号語エントリは、対応するビン符号器のために、任意であるが有効な符号語によって満たされる。本発明のある好ましい実施形態においては、最短の有効な符号語、又は（複数ある場合には）最短の有効な符号語の１つが挿入される。ＶＬＣ符号器はいかなる終端を必要としない。最後に、符号語バッファ内の残りの全ての符号語がビットストリームに書き込まれる。
【０２２８】
符号語バッファの状態を表す２つの例を図２３に示す。例（ａ）において、符号語バッファは、符号語で満たされた４個のエントリ（それらの内の２つはＶＬＣエントリである）と、リザーブされた３個のエントリとを含む。加えて、次の空きのバッファエントリも記載されている。最初のエントリは符号語で満たされている（即ち、ビン符号器２が前にリザーブされたエントリへ符号語を書き込んだばかりである）。次のステップにおいて、この符号語は符号語バッファから取り除かれ、ビットストリームへ書き込まれる。次に、ビン符号器３のための最初にリザーブされた符号語は、第１のバッファエントリである。しかし、このエントリを符号語バッファから取り除くことができない。なぜなら、このエントリはリザーブされているだけであって、このエントリにはこれまで全く符号語が書き込まれていないからである。例（ｂ）において、符号語バッファは、符号語で満たされた４個のエントリ（それらの内の１つはＶＬＣエントリである）と、リザーブされた３個のエントリとを含む。最初のエントリはリザーブされていると記載されており、符号語ライタは符号語をビットストリームに書き込むことはできない。４個の符号語が符号語バッファに含まれているが、符号語ライタは、ビン符号器３のための最初のリザーブされたバッファエントリに符号語が書き込まれるまで、待機しなければならない。符号語は、復号器側で処理を逆転させることが可能となるように（下記参照）、それらがリザーブされた順序で書き込むまれる必要があることに留意されたい。更に、ＶＬＣバッファエントリは常に完全であることにも留意されたい。なぜなら、符号語のリザーブと書き込みとは一度に実行されるからである。
【０２２９】
符号語インターリーブを有する復号器の基本的な構造を図２４に示す。ビン復号器２２とＶＬＣ復号器２２ａとは、個別の部分的ビットストリームから直接的に符号語を読み出さず、ビットバッファ３８に接続されており、このビットバッファ３８から符号語３７，３７ａが符号化の順序で読み出される。符号語はビットストリームから直接的に読み出されることも可能であるため、ビットバッファ３８は必ずしも必要ではないことに留意されたい。ビットバッファ３８をこの図に含めた理由は、主に処理の流れの異なる態様を明確に区別するためである。インターリーブ済みの符号語を持つビットストリーム４０のビット３９は、先入れ先出しバッファを表しているビットバッファ３８内に順次挿入される。もし特定のビン復号器２２が１つ以上のビン列に対する要求３５を受信した場合には、ビン復号器２２は、ビットに対する要求３６を介してビットバッファ３８から１つ以上の符号語３７を読み出す。復号器は、ソースシンボルを瞬時に復号化することができる。同様に、もしＶＬＣ復号器２２ａが新たなシンボルに対する要求１９ａを受け取れば、ＶＬＣ復号器はビットバッファ３８から対応するＶＬＣ符号語３７ａを読み取り、復号化されたシンボル２７ａをリターンする。（前述の）符号器は、符号語バッファを適切に作動させることにより、符号語がビン復号器によって要求されるのと同じ順序で、符号語がビットストリームへ確実に書き込まれる必要があることに留意されたい。復号器においては、全体の復号化プロセスがソースシンボルに対する要求によってトリガーされる。特定のビン符号器によって符号器側でリザーブされた符号語の数としてのパラメータと、対応するビン復号器によって読み出される符号語の数としてのパラメータとは、同一でなければならない。
【０２３０】
低遅延制約のある可変長符号語のインターリービング
ここで説明する符号語インターリービングは、何らかの区分情報がサイド情報として送信されることを必要とするものではない。また、符号語はビットストリーム内でインターリーブされるので、遅延も一般的に小さい。しかしながら、（例えば、符号語バッファに記憶される最大ビット数によって指定されるような）特定の遅延制約が守られることを保証するものではない。更に、符号語バッファに必要とされるバッファのサイズは、理論的には非常に大きくなる可能性がある。図２３（ｂ）に示す例を考慮した場合には、これ以上のビンがビンバッファ３へ送信されず、従って、データパケットの終点におけるフラッシュ処理が適用されるまで、ビン符号器３が符号語バッファに新たな符号語を１つも送信しないという可能性がでてくる。その場合、ビン符号器１および２に係る全ての符号語は、それらがビットストリームへ書き込まれ得る前に、データパケットの終点まで待機しなければならない可能性がある。このような欠点は、更なるメカニズムを、符号化プロセスに（及び後述するように復号化プロセスにも）追加することにより、回避することができる。この追加メカニズムの基本的な概念は、もし遅延又は遅延の上限（以下を参照）に関連した測度が、指定されたしきい値を超える場合には、第１のリザーブされたバッファエントリは、（データパケットの終点と同様のメカニズムを用いて）対応するビンバッファをフラッシュすることによって満たされる、というものである。このようなメカニズムによって、関連付けられた遅延測度が指定されたしきい値を下回るまで待機しているバッファエントリの数が削減される。復号器側においては、遅延制約を遵守するために、符号器側で挿入されていたビンを廃棄する必要がある。このようなビンの廃棄のためには、基本的に、符号器側と同様のメカニズムを使用することができる。
【０２３１】
ＶＬＣ及びＰＩＰＥ符号化のビットストリームのインターリービングに関する可能性を詳細に説明した後で、以下の本明細書では、既に上述したシンタックス要素が図１ｂ，図１ｃ及び図２ｂに関して説明したようにソースシンボルへと分解される点について、再度焦点を当てて説明する。明確化のために、以下の説明においては、分解されたシンタックス要素が絶対変換係数レベル（absolute transform coefficient level）であると仮定する。しかし、これは単なる一例であって、他のタイプのシンタックス要素も同様に取り扱われ得る。特に以下の説明では、区分（パーティション）と、ブロック・ベースで異なるエントロピー符号語及びビデオ符号器の使用と、による絶対レベルの符号化について説明する。
【０２３２】
例えば、ビデオシーケンスの画像は、通常ブロックへと分解される。ブロック又はブロックの色彩成分は、動き補償予測又はイントラ予測のいずれかにより予測される。ブロックは異なるサイズを有することができ、二次(quadratic)又は長方形(rectangular)のいずれかであってもよい。あるブロックの全てのサンプル又はあるブロックの色彩要素は、予測パラメータ、即ち、（既に符号化済みの画像の集合内において一つの参照画像を識別する）参照インデックス、（参照画像と現在の画像との間におけるブロック同士の動きについての測度を特定する）動きパラメータ、補間フィルタを特定するパラメータ、イントラ予測モード、その他などの同一の集合を使用して予測される。動きパラメータは、水平及び垂直の成分を持つ変位ベクトルにより、又は、６個の成分からなるアフィン動きパラメータなどの高次の動きパラメータにより、表現されることができる。また、（参照インデックスと動きパラメータなどの）予測パラメータの２つ以上の集合が単一のブロックに関連付けられることも可能である。その場合には、予測パラメータの各集合について、そのブロック又はブロックの色彩要素に関する単一の中間的な予測信号が生成され、最終的な予測信号は、（複数の）中間的な予測信号の重み付き合計によって形成される。重み付けパラメータと、潜在的にはまた（重み付き合計に加算される）一定のオフセットとは、ある画像、参照画像、若しくは参照画像の集合に対して固定されるか、又はそれらは対応するブロックに関する予測パラメータの集合の中に含まれることができる。同様に、静止画像もまた複数のブロックへと分解されることが多く、更に、それらブロックは、（空間的イントラ予測方法、又はブロックのＤＣ成分を予測する単純なイントラ予測方法であり得る）イントラ予測の方法によって予測される。極端な場合には、予測信号はゼロにもなり得る。
【０２３３】
元のブロック又は元のブロックの色彩要素と、対応する予測信号であって残余信号とも呼ばれる信号との間の差は、通常、変換されかつ量子化される。残余信号に対してある２次元変換が適用され、結果として得られる変換係数が量子化される。この変換符号化に関し、予測パラメータのある特定の集合が使用されたブロック又はそのブロックの色彩成分は、変換が適用される前に更に分割されていてもよい。変換ブロックは、予測のために使用されたもの以下の大きさであってよい。更に、変換ブロックが予測に使用されるブロックのうちの２つ以上を含むことも可能である。１つの静止画像又はビデオシーケンスの１つの画像の中の異なる変換ブロックは異なるサイズを有することができ、また、変換ブロックは二次又は長方形のブロックを表すことができる。
【０２３４】
これら予測及び残余のパラメータの全ては、シンタックス要素のストリーム１３８と２２６とをそれぞれ形成してもよい。
【０２３５】
結果として得られる量子化された変換係数であって変換係数レベルとも呼ばれる係数は、次に、上述した符号化スキームの任意のスキームによりエントロピー符号化を使用して伝送されてもよい。この目的で、変換係数レベルのブロックが、あるスキャンを使用して変換係数値のあるベクトル（即ち、ある順序付けられた集合）上にマップされてもよい。このとき、異なるブロックに対しては異なるスキャンが使用され得る。多くの場合、ジグザグスキャンが使用される。インターレースされたフレームの１つのフィールドのサンプルだけを含むブロック（これらのブロックは、符号化されたフィールド内のブロックか、又は符号化されたフレーム内のフィールドブロックであり得る）については、フィールドブロックのために特別に設計された異なるスキャンを使用することもよくあることである。結果として得られる順序付けられた変換係数の列を符号化するための可能な符号化スキームは、ランレベル符号化である。通常、変換係数レベルの多数はゼロであり、ゼロに等しい連続的な変換係数レベルの集合は、そのゼロに等しい連続的な変換係数レベルの数（ラン）をそれぞれのシンタックス要素により符号化することで、効率的に表現され得る。残りの（非ゼロの）変換係数については、実際のレベルがそれぞれのシンタックス要素の形態で符号化される。ランレベルの符号にはいろいろな選択肢がある。非ゼロの係数の前のランと非ゼロの変換係数のレベルとは、単一のシンタックス要素を使用して一緒に符号化され得る。多くの場合、ブロックの終点についての特別なシンタックス要素であって、最後の非ゼロの変換係数の後に送信されるものが含まれる。又は、最初に非ゼロの変換係数レベルの数が符号化され、この数に基づいてレベルとランとが符号化されることも可能である。
【０２３６】
Ｈ．２６４／ＡＶＣにおける高度に効率的なＣＡＢＡＣエントロピー符号化において、幾分異なる手法が用いられている。ここでは、変換係数レベルの符号化は、３つのステップに分けられている。第１のステップでは、変換ブロックごとにバイナリーシンタックス要素ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇが送信され、この要素は変換ブロックが有意の変換係数レベル（即ち非ゼロである変換係数）を含むかどうかを通知する。このシンタックス要素が有意の変換係数レベルが存在していることを示す場合には、バイナリー値の有意性マップが符号化され、どの変換係数レベルが非ゼロ値を有しているかを特定する。次に、逆のスキャン順序で非ゼロの変換係数レベルの値が符号化される。有意性マップは、以下のようにシンタックス要素ストリーム１３８へと符号化される。スキャン順序で係数ごとにバイナリーシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが符号化され、この要素は対応する変換係数レベルがゼロと等しくないかどうかを指定する。ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇビンが１に等しい場合には、即ち非ゼロの変換係数レベルがこのスキャン位置に存在する場合には、更なるバイナリーシンタックス要素ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが符号化される。このビンは、現在の有意の変換係数レベルがブロック内部における最後の有意変換係数レベルであるかどうか、又は更なる有意変換係数レベルがスキャンの順序で続くかどうかを示す。ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが更なる有意変換係数が続いていないことを示す場合には、そのブロックについての有意性マップを特定するために、更なるシンタックス要素が符号化されることはない。次のステップにおいて、有意の変換係数レベルの値が符号化され、それらのブロック内の位置は有意性マップによって既に決定されている。有意の変換係数レベルの値は、以下の３つのシンタックス要素を使用して、逆のスキャン順序で符号化される。バイナリーシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅは、有意の変換係数レベルの絶対値が１より大きいかどうかを示す。バイナリーシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅが絶対値は１より大きいと示す場合には、さらなるシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏが送信され、これは変換係数レベルの絶対値マイナス２を指定する。この種のシンタックス要素の処理は、以下に記載する実施形態において図１ｂ、図１ｃ及び図２ｂに従って実行される。最後に、変換係数値の正負符号を指定するバイナリーシンタックス要素ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇが、有意の変換係数レベルごとに符号化される。ここでも、有意性マップに関連しているシンタックス要素はスキャンの順序で符号化される一方で、変換係数レベルの実際の値に関連しているシンタックス要素は逆のスキャン順序で符号化され、より適切なコンテキストモデルの使用を可能にすることに留意されたい。また、Ｈ．２６５／ＨＥＶＣの最初のテストモデルのように、適応型のスキャンパターンが有意性マップのために使用されることも可能である。Ｈ．２６５／ＨＥＶＣの最初のテストモデルでは、４×４よりも大きな変換ブロックについては、絶対変換係数レベルの符号化のために他の概念が使用される。４×４よりも大きな変換ブロックの場合には、その大きな変換ブロックは４×４ブロックへと区分され、それら４×４ブロックはスキャンの順序で符号化される一方で、４×４ブロックの変換係数の符号化については逆のスキャン順序が使用される。
【０２３７】
Ｈ．２６４／ＡＶＣのＣＡＢＡＣエントロピー符号化においては、変換係数レベルに関する全てのシンタックス要素はバイナリー確率モデリングを用いて符号化される。非バイナリーシンタックス要素である例えばｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏは、まず二値化される。即ち、バイナリー決定（ｂｉｎｓ）の列上にマップされ、これらのビンは順次符号化される。二値のシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇと、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇと、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅと、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇとは、直接的に符号化される。符号化された各ビン（二値のシンタックス要素を含む）は、コンテキストと関連付けられる。コンテキストは、符号化されたビンの等級ごとの確率モデルを表わしている。２つの可能なビン値のうちの１つに係る確率に関連する測度は、対応するコンテキストを用いて既に符号化されているビンの値に基づいて、各コンテキストごとに推定される。変換符号化に関連する複数のビンに関し、符号化に使用されるコンテキストは、既に伝送されたシンタックス要素に基づいて又はブロック内部の位置に基づいて選択される。
【０２３８】
有意性マップを符号化した後で、ブロックは逆のスキャン順序で処理される。上述したように、Ｈ．２６５／ＨＥＶＣの最初のテストモデルでは別の概念が使用される。４×４よりも大きな変換ブロックは４×４のブロックへと区分され、結果として得られる４×４のブロックがスキャンの順序で符号化される一方で、その４×４のブロックの係数は逆のスキャン順序で符号化される。以下の説明は、Ｈ．２６５／ＨＥＶＣの最初のテストモデルとＨ．２６４／ＡＶＣとにおける全ての４×４のブロックと、Ｈ．２６４／ＡＶＣにおける８×８のブロックとについて有効であり、この説明は、シンタックス要素のストリーム１３８と２２６との構造についてそれぞれ適用可能である。
【０２３９】
もしスキャン位置が有意であれば、即ち係数がゼロでない場合には、二値のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅがストリーム１３８の中で伝送される。最初に（ブロック内部において）、対応するコンテキストモデルの集合の第２のコンテキストモデルが、そのシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅのために選択される。もしブロック内部の任意のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの符号化された値が１と等しい場合には（即ち絶対係数が２よりも大きい場合には）、そのコンテキストモデリングは、集合のうちの第１のコンテキストモデルへとスイッチバックし、このコンテキストモデルをブロックの終点まで使用する。その他の場合（ブロック内部のｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの全ての符号化された値がゼロであり、対応する絶対係数レベルが１に等しい場合）には、考慮対象であるブロックの逆のスキャン順序で既に処理されたゼロに等しいシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの数に基づいて、コンテキストモデルが選択される。シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅに関するコンテキストモデルの選択は、以下の式によって要約され得る。ここで、現在のコンテキストモデル・インデックスＣt+1は、前のコンテキストモデル・インデックスＣtと、以前に符号化され次式においてｂｉｎtで表されるシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの値と、に基づいて選択される。ブロック内の最初のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅに関しては、コンテキストモデル・インデックスはＣt＝１と等しく設定される。
2020099077.tif 000057
【０２４０】
同じスキャン位置に関するｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅのシンタックス要素が１と等しい場合には、絶対変換係数レベルを符号化するための２番目のシンタックス要素であるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏだけが符号化される。非二値のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏはビン列へと二値化され、この二値化の第１のビンに関し、コンテキストモデル・インデックスは以下に説明するように選択される。二値化の残りのビンは固定型のコンテキストで符号化される。二値化の第１のビンに関するコンテキストは次のように選択される。最初のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏについては、シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏの第１のビンに関するコンテキストモデルの集合のうちの第１のコンテキストモデルが選択され、対応するコンテキストモデル・インデックスはＣt＝０に等しく設定される。シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏの更なる第１のビンについては、コンテキストモデリングは集合内の次のコンテキストモデルに切り替わり、ここで、集合内のコンテキストモデルの数は５に制限されている。コンテキストモデルの選択は次式によって表すことができ、ここで、現在のコンテキストモデル・インデックスＣt+1は前のコンテキストモデル・インデックスＣtに基づいて選択される。
2020099077.tif 000058
【０２４１】
上述のように、ブロック内の第１のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏに関し、コンテキストモデル・インデックスはＣt＝０と等しく設定される。コンテキストモデルの異なる集合が、シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅと、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏと、に対して定義され得ることに留意されたい。更に、Ｈ．２６５／ＨＥＶＣの最初のテストモデルに関しては、４×４よりも大きな変換ブロックは４×４のブロックへと区分され得ることにも留意されたい。区分された４×４のブロックはスキャンの順序で符号化されてもよく、区分された各４×４のブロックに関し、コンテキストの集合が先行する４×４のブロック内の２以上の係数の数に基づいて導出されてもよい。４×４よりも大きい変換ブロックの最初の４×４のブロックと、元の４×４変換ブロックとについて、別々のコンテキストの集合が使用されてもよい。
【０２４２】
つまり、以下の説明において、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅとｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏとが以下の実施形態に従ってその中に分解されるようなソースシンボルのうちの任意のものに対して、コンテキストベースの符号化が使用される場合はいつも、このコンテキストの導出が、例えば割当部１１４及び２１２と、ＶＬＣ符号器／復号器１０２及び２００によって使用されてもよい。
【０２４３】
現状技術との比較におけるＣＡＢＡＣ又はＰＩＰＥによって処理されるビンの数の観点と演算量の観点とから見た複雑性を低減する目的で、又は、符号化効率を高めるためにも、以下に記載する実施形態は、画像及びビデオの符号器及び復号器における異なる区分１４０1〜１４０3に対して異なる可変長符号を使用して、絶対レベルを符号化するための手法を説明するものである。しかし、以下に記載する実施形態は、画像及びビデオの符号器に関する全ての種類の絶対レベル、例えば動きベクトルの差、又は適応型ループフィルタの係数などに対して適用可能である。変換係数レベルの符号化は以下に記載のように実行される一方で、有意性マップの符号化は、Ｈ．２６５／ＨＥＶＣの最初のテストモデル又は上述の説明にある符号化のままであってもよく、又は、有意性マップの符号化は、Ｈ．２６４／ＡＶＣその他における場合のように実行されることもできる。
【０２４４】
上述のように、絶対変換レベルの符号化は複数の区分１４０1-3内において実行される。符号化スキームは、図１ｂにおいて３つの区分１４０1-3を用いてこれまで例示的に説明してきた。スキームの境界１４２と１４４とは可変であり、その結果、可変の区分サイズをもたらす。符号化のスキームは以下のように実行される。
【０２４５】
絶対変換係数レベル（ｚ）が限界１よりも小さい場合には、第１の成分又はソースシンボル、即ちその絶対変換係数レベルを符号化するために、第１のエントロピー符号が使用される。もし絶対変換係数レベルが第１の区分１４０1の境界の限界１以上である場合には、第１の区分（１４０1）の境界の限界１（１４２）がその絶対変換係数レベルから減算され、結果として得られる値ｚ'が第２のエントロピー符号を用いて符号化される。もし残りの絶対変換係数レベルｚ'が、第２の区分１４０2の境界の限界２−限界１以上である場合には、第２の区分１４０2の境界の限界２−限界１は、絶対変換係数レベルｚ'から再度減算され、結果として得られる値は第３のエントロピー符号を用いて符号化される。一般的に言えば、区分の境界に到達したときに、絶対変換係数レベルから対応する区分を減算した結果の値を符号化するために、その境界の次の区分のためのエントロピー符号が使用される。
【０２４６】
エントロピー符号は、ランレングス符号若しくはルックアップテーブル（例えばハフマン符号など）のように単純な可変符号であってもよく、又は、ＣＡＢＡＣ若しくはＰＩＰＥのような確率モデルを使用するより複雑なエントロピー符号であってもよい。区分の数と区分の境界とは、可変であっても又は実際のシンタックス要素に基づくものであってもよい。図１ｂに示す区分の概念は以下の利点を有する。以下においては、絶対変換係数を一例として使用するが、それらは任意の他のシンタックス要素と置き換えられてもよいことを理解されたい。一例として、絶対変換係数レベルの確率分布はほぼ幾何分布であってもよい。そのため、幾何分布に最適化されたエントロピー符号が絶対変換係数レベルを符号化するために使用されてもよい。しかし、そのようなモデルは、たとえコンテキストモデリングと確率モデルの選択が使用されたとしても、常に局所的に最適とは限らない。例えばある変換ブロックに関し、もしその変換ブロックが同一量の非常に低位及び中間の範囲の変換係数レベルを含む場合には、局所的な絶対変換係数レベルは、全く幾何分布でない分布に従ってしまう一方で、画像又はビデオの特定量のブロックに関しては、多数の原則によって、そのモデルが（所定の正確さをもって）正しいままであることも起こり得る。そのような場合には、幾何分布モデルは適切なモデルではない。また、大きな値を有する絶対変換係数レベルを考慮する場合には、これらの大きな値の分布は均一であることが多い。区分の概念は、異なる絶対変換係数レベルについては異なる確率モデルを許可する。低い絶対値については、より高効率のためにより複雑なエントロピー符号を適用することが可能であり、他方、大きな絶対値レベルについては、複雑性を低減するために、より複雑でないエントロピー符号を使用することが可能である。
【０２４７】
上述したように、様々な区分に対して適切なエントロピー符号が使用される。本発明の好適な実施形態においては、３つのタイプのエントロピー符号が使用される。第１のエントロピー符号はＰＩＰＥを使用する。しかし、他の実施形態によれば、ＣＡＢＡＣのようなエントロピー符号化方法、又は任意の他の算術復号器を代替的に使用することもできる。つまり、第１のシンボルｓ1（図２ｂを参照）は、ＰＩＰＥ符号化の経路を介して符号化されてもよい。サブ分割部１００及び再結合器２２０も適切に作動する。
【０２４８】
第２のタイプは、ゴロム符号と、サブセット（例えばゴロム−ライス符号）を含む幾つかの切り詰められた変形例とが使用されてもよい。つまり、第２のシンボルｓ2（図２ｂを参照）は、ＶＬＣ符号器／復号器１０２／２００内でそのようなＶＬＣ符号を介して符号化されてもよい。サブ分割部１００及び再結合器２２０も適切に作動する。
【０２４９】
指数ゴロム符号は、第３のタイプとして使用される。つまり、第３のシンボルｓ3（図２ｂを参照）は、ＶＬＣ符号器／復号器１０２／２００内でそのようなＶＬＣ符号を介して符号化されてもよい。サブ分割部１００及び再結合器２２０も適切に作動する。様々なＶＬＣ符号、及び、ＶＬＣとＰＩＰＥ又はＶＬＣと算術符号との組合せも可能である。
【０２５０】
第１の符号は、より複雑ではあるがより良好な圧縮性能をもたらす一方で、第２のエントロピー符号は、複雑性と性能との間の合理的な妥協点を表している。最後のエントロピー符号は例えば指数ゴロム符号であるが、複雑性は非常に低い。以下に異なる区分の符号化について説明する。
【０２５１】
もし区分１４０1など、即ちシンボルｓ1などが、ＰＩＰＥ符号器１０４(ＣＡＢＡＣ又は任意の他の算術符号器を代替的に使用し得るが、ここではこれ以上説明しない)のように確率モデルを用いたエントロピー符号器を使用してエントロピー符号化される場合には、サブ分割部１００はそれをＰＩＰＥ符号器１０４へと送る。まず、非二値の値を持つ絶対変換係数レベルがある二値化方法を用いてシンボライザ１２２内で二値化されてもよい。この二値化は、非二値の値を持つ絶対変換係数レベルを二値のビン列へとマップする。ビン列の各ビンは、割当部１１４により選択されたコンテキストと一緒に符号化される。コンテキストモデリングは、第１のビンについて実行され、ビン列の後続のビンについては、Ｈ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏとして固定されてもよく、又は、ビン列の各ビンについて異なるコンテキストモデリングが使用されてもよい。二値化は、ゴロム符号又は指数ゴロム符号のような可変長符号、又は他の可変長符号であってもよいことに留意すべきである。
【０２５２】
次に、区分１４０2又はシンボルｓ2などの区分が、ゴロム符号を用いて、ここではＶＬＣ符号器１０２内で符号化され、それぞれＶＬＣ復号器内で復号化されてもよい。ゴロム符号は、幾何分布されたソースのために設計された、エントロピー符号の集合である。もしゴロム符号の次数がゼロであれば、そのゴロム符号はユーナリー符号としても知られている。ユーナリー符号は、Ｈ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏの二値化に関連している。ゴロム符号は以下のように構築される。特定のゴロムパラメータｋについて、値ｎが整数除算を用いてゴロムパラメータｋによって除算され、剰余ｒが計算される。
2020099077.tif 000059
【０２５３】
上述した式により特定されたパラメータを導出した後で、値ｎは２つの部分を用いて符号化され得る。第１の部分は接頭部とも呼ばれ、ユーナリー符号である。結果として得られる値ｐ＋１は、１の数と終了のゼロとを特定するか、又はその逆を特定する。剰余の値は、剰余部とも呼ばれかつｒにより示されるものであり、切り詰められた二値符号により表される。特定の実施形態によれば、ソースシンボルｓ2のようなソースシンボルを符号化するためには、ゴロム符号のサブセットであるゴロム−ライス符号が使用される。また、区分１４０2のように境界を含む区分１４０1-3に関してそのようなエントロピー符号を使用する場合には、それぞれのソースシンボル（ソースシンボルｓ2など）のアルファベットは制限され、ゴロム−ライス符号は、符号化効率が改善され得るように、修正されることができる。ゴロム−ライス符号のパラメータは固定型でも可変型でもよい。パラメータが可変型である場合には、パラメータはコンテキストモデリングの段階の一部として推定されてもよい。例えばソースシンボルｓ2がＶＬＣ符号器１０２に入る場合には、ＶＬＣ符号器１０２はゴロム−ライス符号のパラメータをｓ2のコンテキストから決定してもよい。ゴロム−ライス符号は、２の冪に対するパラメータを有するゴロム符号である。従って、ゴロム−ライス符号は２による除算と乗算とに基づいており、また、ゴロム−ライス符号は、シフトと追加の操作を有する二値のアーキテクチャにおいて効率的に実現され得る。従って、ゴロム−ライスパラメータとゴロムパラメータとの間の関係は、ｋGOLOMB＝２kRICEである。ゴロム−ライス符号の場合には、剰余部はその剰余の値の正に二値表現である。ゼロのゴロム−ライスパラメータについては、結果として得られる符号はユーナリー符号と同一であり、剰余部を有していない。１と等しいパラメータについては、剰余部は同じユーナリー接頭部を共有する２つの入力シンボルを有する１つのビンから構成される。以下に、選択されたゴロム−ライスパラメータのための幾つかの例示的なテーブルを示す。
【０２５４】
【表８】
2020099077.tif 000060
【０２５５】
例えば区分１４０2の場合の限界２−限界１などのような区分の範囲と、ゴロム−ライス符号のパラメータとが与えられた場合、トランケーション（切り詰め）は以下のように実行され得る。ゴロム−ライス・パラメータは、剰余部を表すために必要とされるビンの数を記述し、パラメータの２の冪に対する値は、同一の接頭部を用いて表され得る値の数を記述する。これらの値は接頭部のグループを形成する。例えば、パラメータ０については、１つの接頭部だけが１つの特定の値を表し得る一方で、パラメータ３については、８個の入力値が同一の接頭部を共有し、従ってパラメータ３に関しては１つの接頭部のグループが８個の値を含む。ある制限されたソースアルファベットと所与のゴロム−ライス符号に関し、接頭部の最後のビンは、最後の接頭部グループ内の値のために残しておかれてもよく、その結果、固定長を有する接頭部が生じてもよい。
【０２５６】
例えば、範囲が９で、ゴロム−ライス・パラメータが２であるとする。この例の場合には、同じ接頭部を用いて表され得る値の数は４である。最大値は９であり、この数はまた、境界を超えて、次の区分の次のエントロピー符号が使用されなければならないということを示している。この例の場合には、０〜３の値は接頭部０を有し、４〜７の値は接頭部１０を有し、８〜９の値は接頭部１１０を有する。８〜９の値が最後の接頭部グループを形成したので、それらのトレーリング・ゼロ（trailing zero）は無視され、値８〜９は１１によって表されることができる。換言すれば、仮に、ソースシンボルｓ2がＶＬＣ符号器１０２に入り、ここでｓ2の可能な値の数が９（＝限界２−限界１＋１）であり、そのソースシンボルに関するゴロム−ライス・パラメータが２であったとする。その場合、それぞれのゴロム−ライス符号がＶＬＣ符号器１０２によってそのソースシンボルのために出力され、そのゴロム−ライス符号は上述した接頭部を有することになる。符号語の剰余部については、切り詰められた符号はＶＬＣ符号器１０２によって以下のように導出されてもよい。通常は、ゴロム−ライス符号のパラメータは剰余部のビンの数を示す。切り詰められた場合には、剰余の全てのビンが符号化される必要はない。切り詰められた場合に関しては、固定された接頭部を有する全ての値（例えば接頭部のビンは無視されている）がカウントされる。符号は切り詰められているので、カウントされる値は常に接頭部のための値の最大数以下であることに留意されたい。もし剰余部の切り詰めが可能である場合には、最後の接頭部グループに関する切り詰められた剰余部の導出は、以下のステップにより実行され得る。第１に、カウントされる数以下の２の冪に対する最大数ｌが導出される。次に、第２のステップでは、カウントされる数よりも大きい２の冪に対する最小数ｈが導出される。第１の値ｌは、接頭部グループ内の値の数を記述し、剰余のｈ個のビンを有している。これらの値のすべての剰余は０で始まり、その後には、剰余グループ内の値の数に限定された剰余の二値の表現が続く。最後の接頭部グループであって、この時点では新たな接頭部グループとして扱われるグループの剰余の値に関しては、同様の処理が実行されるが、剰余が１で始まる第１の剰余グループを形成した結果的な値は例外である。このような処理は剰余が導出されるまで実行される。一例として、範囲が１４でパラメータが３と仮定する。第１の接頭部グループは値０〜７を含み、第２の選択部グループは値８〜１３を含む。第２の選択部グループは６個の値を含む。パラメータは、ｌ＝２及びｈ＝３である。従って、選択部グループの始めの４個の値は、３個のビン（トレーリング・ゼロと４個の値を判別するための二値表現と）を有する剰余によって表される。最後の２つの値に関しては、同様の処理が再度実行される。パラメータは、ｌ＝１及びｈ＝２である。最後の２つの値の剰余は１０と１１として表され得る。この方法を説明する他の例は、４個のゴロム−ライス・パラメータと１０個の範囲である。この例に関しては、パラメータは、ｌ＝３及びｈ＝４である。これらのパラメータと共に、始めの８個の値についての切り詰められた剰余部分は４個のビンによって表される。残りの２つの値は、前の例と同じ剰余部分を有する。もし前の例に関する範囲が９であれば、第２のランについてのパラメータはｌ＝０及びｈ＝１である。残っているただ１つの値の剰余部分は１である。
【０２５７】
エントロピー符号の第３のタイプは指数ゴロム符号であってもよい。それらの符号は、ソースシンボルｓ3など、（例えばパラメータ０を用いた）均等な確率分布のために使用されてもよい。つまり、それらの符号化はＶＬＣ符号器／復号器のペアに任されてもよい。上述したように、大きな絶対変換係数レベルが均一的に分布される場合が多い。さらに詳細には、ゼロ次の指数ゴロム符号が最後の区分１４０3を符号化するために使用されてもよい。その始点、従って前の区分１４０2との境界１４４は可変でもよい。境界１４４の位置は、ＶＬＣ符号器１０２／復号器２００により、符号化／復号化されたソースシンボル１０６、１０８及び／若しくは１１０、又はシンタックス要素１３８（又は、２１８、２０４及び／若しくは２０８、又はシンタックス要素２２６）に基づいて制御されてもよい。
【０２５８】
ある好適な実施形態においては、図１ｂに示すように、区分の数は３であり、境界１４２と１４４とは可変であってもよい。第１の区分１４０1に関しては、上述のようなＰＩＰＥ符号化が使用されてもよい。しかしながら、代替的にＣＡＢＡＣが使用されてもよい。その場合には、ＰＩＰＥ符号器／復号器のペアはバイナリー算術符号器／復号器のペアで置き換えられてもよい。切り詰められたゴロム−ライス符号が第２の区分１４０2に関して使用され、ゼロ次の指数ゴロム符号が最後の区分１４０3に関して使用されてもよい。
【０２５９】
他の好適な実施形態においては、区分１４０1-3の数は３であり、第１の境界１４２は固定されている一方で、第２の境界１４４は可変である。第１の区分１４０1に関しては、ＣＡＢＡＣ又はＰＩＰＥが使用されてもよい。切り詰められたゴロム−ライス符号が第２の区分１４０2に関して使用され、ゼロ次の指数ゴロム符号が最後の区分１４０3に関して使用されてもよい。
【０２６０】
他の好適な実施形態においては、区分の数は２に等しい。第１の区分１４０1はＣＡＢＡＣ又はＰＩＰＥを使用してもよい。第２の区分１４０2はゴロム−ライス符号を使用してもよい。
【０２６１】
他の好適な実施形態においては、区分の数は３に等しく、両方の境界１４２と１４４とは可変である。例えば、第１の区分１４０1に関してはＣＡＢＡＣ又はＰＩＰＥが使用され、第２の区分１４０2は切り詰められたゴロム−ライス符号を使用し、第３の区分１４０3はゼロ次の指数ゴロム符号を使用してもよい。
【０２６２】
ある好適な実施形態においては、適応型の確率モデルを用いたＣＡＢＡＣ又はＰＩＰＥを使用する第１の区分１４０1の境界１４２は２である。この好適な実施形態においては、第１のビンに係るコンテキストモデリングは、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅについて上述したように実行されてもよく、第２のビンに係るコンテキストモデリングは、同じく上述したように、Ｈ．２６４／ＡＶＣにおいてｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏについて記述されているように実行されてもよい。後者のコンテキスト決定は、割当部１１４及び２１２によってそれぞれ決定されてもよい。他の好適な実施形態においては、（例えばＰＩＰＥ又はＣＡＢＡＣの）確率モデリングを用いたエントロピー符号化を使用する第１の区分１４０1の境界１４２は２である。この好適な実施形態に関しては、第１及び第２の両方のビンのためのコンテキストモデリングは、上述したように、Ｈ．２６４／ＡＶＣにおいてｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅについて記述されているように実行されてもよい。第２のビンに関しては、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅについて記述されているようなコンテキストセットの評価が別々に実行されてもよい。
【０２６３】
ある好適な実施形態においては、（例えばＣＡＢＡＣ又はＰＩＰＥの）確率モデリングを用いたエントロピー符号化を使用する第１の区分１４０1の境界１４２は、１と等しくてもよい。各ソースシンボルのビン列の唯一のビン（又はアルファベットシンボル）に関し、コンテキストモデリングは、上述したように、Ｈ．２６４／ＡＶＣにおいてｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅについて記述されているように実行されてもよい。
【０２６４】
ある好適な実施形態においては、（例えばＣＡＢＡＣ又はＰＩＰＥの）確率モデリングを用いたエントロピー符号化を使用する第１の区分１４０1の境界１４２は、３であってもよい。各ソースシンボルのビン列の第１及び第２のビンのコンテキストモデリングは、Ｈ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅのように実行されてもよい。第３のビンに関するコンテキストモデリングは、Ｈ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏのように実行されてもよい。第２のビンに関しては、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅについて記述されているようなコンテキストセットの評価が別々に実行されてもよい。
【０２６５】
ある好適な実施形態においては、切り詰められたゴロム−ライス符号の１セットが第２の区分１４０2のエントロピー符号として使用されてもよい。エントロピー符号パラメータに基づいて第３の区分１４０3の始点を特定する第２の区分の境界１４４は、可変であってもよい。また、この好適な実施形態においては、ゴロム−ライス・パラメータは３に制限され、パラメータの選択は、Ｈ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏに関するコンテキストモデリングのように実行されてもよい。限界１〜限界２の範囲は可変であってもよく、ゴロム−ライス・パラメータに依存してもよい。もしそのパラメータがゼロである場合には、その範囲は８になる。パラメータ１に対しては、範囲は１０である。パラメータ２の場合には、範囲は１２であり、パラメータ３の場合には、範囲は１６と等しくなる。この好適な実施形態では、変換係数のブロックの始点において、ゴロム−ライス・パラメータはゼロに設定される。第１の境界以上であるブロック内の各符号化済みの変換係数レベルに対し、対応するゴロム−ライス符号が使用される。レベルを符号化（復号化）した後で、次の評価が実行され、第１の境界以上である次のレベルを符号化（復号化）するためのゴロム−ライス・パラメータが更新される。この形態の適応を用いることによって、ゴロム−ライス・パラメータは減少され得ない点に留意されたい。
【０２６６】
パラメータの適応規則は次式のように要約することができる。ここで、ｋt+1は次のレベル値の符号化に使用されるべきゴロム−ライス・パラメータを示し、ｖａｌｕｅtは対応するゴロム−ライス・パラメータｋtを有する以前に符号化された値を示す。
【数３１】
2020099077.tif 000061
【０２６７】
ある好適な実施形態においては、切り詰められたゴロム−ライス符号のセットが第２の区分１４０2のエントロピー符号として使用されてもよい。エントロピー符号パラメータに基づいて第３の区分１４０3の始点を特定する第２の区分１４０2の境界１４４は、可変であってもよい。また、この好適な実施形態においては、ゴロム−ライス・パラメータは３により制限され、パラメータの選択はＨ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏに関するコンテキストモデリングのように実行されてもよい。範囲は可変であってもよく、ゴロム−ライス・パラメータに依存してもよい。パラメータが０である場合には、その範囲は８になる。パラメータ１に対しては、範囲は１０である。パラメータ２の場合には、範囲は１２であり、パラメータ３の場合には、範囲は１６と等しくなる。この好適な実施形態では、ブロックの始点においてゴロム−ライス・パラメータはゼロに設定される。このゴロム−ライス・パラメータの適応は、上述の等式（ＱＱ）に説明したように実行される。この形態の適応を用いることによって、パラメータは減少され得ない点に留意されたい。
【０２６８】
他の好適な実施形態においては、切り詰められたゴロム−ライス符号のセットが第２の区分１４０2のエントロピー符号として使用されてもよい。エントロピー符号パラメータに基づいて第３の区分１４０3の始点を特定する第２の区分１４０2の境界１４４は、固定であってもよい。また、この好適な実施形態においては、ゴロム−ライス・パラメータは３により制限され、パラメータの選択はＨ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏに関するコンテキストモデリングように実行されてもよい。第２の区分１４０2の範囲は１４に固定されてもよい。この好適な実施形態においては、ゴロム−ライス・パラメータはブロックの始点においてゼロに設定されてもよい。このゴロム−ライス・パラメータの適応は、上述の等式（ＱＱ）に説明したように実行される。この形態の適応を用いることによって、パラメータは減少され得ない点に留意されたい。
【０２６９】
更に他の好適な実施形態においては、切り詰められたゴロム−ライス符号のセットが第２の区分１４０2のエントロピー符号として使用されてもよい。エントロピー符号パラメータに基づいて第３の区分１４０3の始点を特定する第２の区分１４０2の境界１４４は、可変であってもよい。また、この好適な実施形態においては、ゴロム−ライス・パラメータは３により制限され、パラメータの選択は、Ｈ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏに関するコンテキストモデリングように実行されてもよい。範囲は可変であってもよく、ゴロム−ライス・パラメータに依存してもよい。もしそのパラメータが０である場合には、その範囲は８になる。パラメータ１に対しては、範囲は１０である。パラメータ２の場合には、範囲は１２であり、パラメータ３の場合には、範囲は１６と等しくなる。この好適な実施形態では、ブロックの始点において、ゴロム−ライス・パラメータはゼロに設定されてもよい。このゴロム−ライス・パラメータの適応は、上述の等式（ＱＱ）に説明したように実行される。パラメータはこの適応形態を使用することで減少できる訳ではないことに留意されたい。更に、例えば０から３への直接的な切換えが可能であることにも留意されたい。この好適な実施形態においては、ゴロム−ライス符号の接頭部が確率モデルを使用するエントロピー符号を用いて符号化される。コンテキストモデリングはＨ．２６４／ＡＶＣにおけるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｔｗｏについてと同様に実行され得る。
【０２７０】
他の好適な実施形態では、固定のゴロム−ライス・パラメータが全ての変換係数レベルを現在の変換ブロック内で符号化するために使用されてもよい。この実施形態では、先行するブロックの最適なパラメータが計算され、現在の変換ブロックのために使用されてもよい。この実施形態に関しては、範囲は１４で固定されてもよい。
【０２７１】
他の好適な実施形態では、固定のゴロム−ライス・パラメータが全ての変換係数レベルを現在の変換ブロック内で符号化するために使用されてもよい。この実施形態では、先行するブロックの最適なパラメータが計算され、現在の変換ブロックのために使用されてもよい。この実施形態に関しては、範囲は上述のように可変でよい。
【０２７２】
他の好適な実施形態では、現在のスキャンインデックスの既に符号化（又は復号化）された隣接部が、前の境界よりも大きな絶対変換係数レベルを含むかどうかが評価される。この好適な実施形態では、最適なパラメータは局所的に因果関係のあるテンプレート内で隣接部を使用して導出されてもよい。
【０２７３】
従って、上述した（複数の）実施形態は、以下の符号化装置を特に記述する。即ち、シンタックス要素の少なくとも１つのサブグループをそれぞれｎ個のソースシンボルｓi（ｉ＝１・・・ｎ）に個々に分解することによって、シンタックス要素列１３８をソースシンボル列１０６に変換するよう構成された分解手段１３６であって、ソースシンボルのそれぞれの数ｎは、それぞれのシンタックス要素の値範囲がサブ分割されていくｎ個のパーティション１４０1-3の列のどのパーティションにそれぞれのシンタックス要素の値ｚが当てはまるかに依存しており、ソースシンボルｓiのそれぞれの数の値の合計がｚであり、ｎ＞１の場合に全てのｉ＝１．．．ｎ−１についてｓiの値がｉ番目のパーティションの範囲に対応している、分解手段１３６と、ソースシンボル列１０６をソースシンボルの第１サブ列１０８とソースシンボルの第２サブ列１１０へとサブ分割するよう構成されたサブ分割手段１００であって、｛１．．．ｎ｝の第１サブセットの要素であるｘを持つすべてのソースシンボルｓxが第１サブ列１０８の中に含まれ、第１サブセットとは共通元を持たない｛１．．．ｎ｝の第２サブセットの要素であるｙを持つすべてのソースシンボルｓyが第２サブ列１１０の中に含まれている、サブ分割手段１００と、第１サブ列１０８のソースシンボルをシンボル毎に符号化するように構成されたＶＬＣ符号器１０２と、ソースシンボルの第２サブ列１１０を符号化するよう構成されたＰＩＰＥ符号器又は算術符号器１０４と、を備えたエントロピー符号化装置である。
【０２７４】
シンタックス要素のサブグループの値ｚは絶対値でもよい。第２サブセットは｛１｝であってもよく、ｐ＞ｑであるすべてのｐ，ｑ∈｛１．．．ｎ｝について、ｐ番目のパーティションがｑ番目のパーティションよりも前記値範囲のより高い値をカバーするように、ｎ個のパーティションからなる前記列が配置されていてもよい。ｎは３でもよい。第１サブセットは｛２，３｝であってもよく、このときＶＬＣ符号器（１０２）は、ソースシンボルｓ2をシンボル毎に符号化するためにゴロム−ライス符号を使用し、ソースシンボルｓ3をシンボル毎に符号化するために指数ゴロム符号を使用するよう構成されていてもよい。さらに一般的には、第１サブセットの要素は２であり、ＶＬＣ符号器（１０２）は、ソースシンボルｓ2をシンボル毎に符号化するためにゴロム−ライス符号を使用し、以前に符号化されたシンボルにしたがって、ゴロム−ライス・パラメータ、即ちゴロム−ライス符号のｋを適応させるよう構成されていてもよい。分解手段は、以前に符号化されたソースシンボルにしたがって、パーティション間に１つ以上の限界を適用するよう構成されてもよい。両方の適用は組み合わされていてもよい。つまり、第２のパーティションを限定する限界同士の位置は、ゴロム−ライス符号の長さ、即ちその符号語の数が第２のパーティションの幅の長さに対応する（又は長さを規定する）ように、互いに間隔をおいて配置されるよう適応されてもよい。第１と第２のパーティションを分離する限界は、他のコンテキストに基づく他の方法に従って定義により定められるか適応されるなど、別のやり方で定義されてもよく、この場合には、ｋを適応することにより、ゴロム−ライス符号の長さと第２のパーティションの幅とをそれぞれ介して、第２と第３のパーティションを分離する限界の位置を定義し得る。第２のパーティションがゴロム−ライス符号の長さと対応するようにｋを適応することを組み合わせることで、符号効率は最適に使用される。シンタックス要素の統計にｋを適応することにより、第３のパーティションができるだけ多くをカバーできるように、第２のパーティションの幅を適応させることが可能になる。これは、指数ゴロム符号など複雑性の低い符号が第３のパーティションに使用される可能性があるため、全体の符号化の複雑性を低減させるためである。更に、第１のパーティションの長さは、最も低い３つのレベルなど、ｊ∈｛１，２，３｝の可能なシンタックス要素値に限定されてもよい。考慮対象となるシンタックス要素は、上段で例示した予測残余を表す変換係数レベルの場合のように、差分的に符号化されるか、又は予測残余を表現してもよい。第１のソースシンボルｓ1は、切り詰めされたユーナリ符号を使用してシンボル化／逆シンボル化されてもよく、ここで、結果として得られるｊ個のビンは、部分的に又はそれらの全てがコンテキスト適応型で又は上述していない方法で符号化されてもよい。
【０２７５】
シンタックス要素のサブグループは、あるピクチャの変換ブロックの絶対変換係数の絶対変換係数レベルを包含してもよく、各変換ブロックの絶対変換係数レベルは、各変換ブロックの絶対変換係数を通過して進むスキャン経路に従ってシンタックス要素の列（１３８）の内部に配置されており、ここで、分解手段は、各変換ブロックの絶対変換係数の絶対変換係数レベルを分解する間に、パーティション同士の間に１つ以上の限界を適応するよう構成されており、その適応は、スキャン順序において先行する各変換ブロックの絶対変換係数の既に符号化済みの絶対変換係数レベルに基づくか、スキャン順序において現在分解されるべき絶対変換係数レベルの位置に基づくか、又は、現在分解されるべき絶対変換係数レベルの位置に対して空間的又はスキャン順序において隣接している変換係数の既に復元された絶対変換係数レベルの評価に基づいてもよい。
【０２７６】
さらに、上述した実施形態は、以下の復号化装置を特に記述する。即ち、第１ビットストリーム２０６の符号語からソースシンボルの第１サブ列２０４のソースシンボルを符号語毎に復元するよう構成されたＶＬＣ復号器２００と、ソースシンボルの第２サブ列２０８を復元するよう構成されたＰＩＰＥ復号器又は算術復号器２０２と、それぞれの数のソースシンボルから各シンタックス要素を個別に組み立てることによって、ソースシンボルの第１サブ列２０４とソースシンボルの第２サブ列２０８とからシンタックス要素列２２６を組み立てるよう構成された組立手段２２４と、を含むエントロピー復号化装置である。組立手段２２４は、シンタックス要素の少なくとも１つのサブグループについて、それぞれのシンタックス要素の値範囲がサブ分割されていくｎ個のパーティション１４０1-3からなる列のうちのどのパーティションにそれぞれのシンタックス要素の値ｚが当てはまるかに依存して、ｓiの値がｉ番目のパーティションの範囲に対応している間ではシンタックス要素ｚの値を得るために１からｎまでソースシンボルｓiのそれぞれの数の値を合計することによって、ｉ＝１・・・ｎのソースシンボルｓiのそれぞれの数ｎを決定するよう構成される。組立手段２２４は、第１サブ列２０４から｛１．．．ｎ｝の第１サブセットの要素であるｘを持つ全てのソースシンボルｓxと、第２サブ列２０８から第１サブセットとは共通元を持たない｛１．．．ｎ｝の第２サブセットの要素であるｙを持つ全てのソースシンボルｓyとを回収するよう構成されている。シンタックス要素のサブグループの値ｚは絶対値であってもよい。第２サブセットは、ｐ＞ｑであるすべてのｐ，ｑ∈｛１．．．ｎ｝について、ｐ番目のパーティションがｑ番目のパーティションよりも前記値範囲のより高い値をカバーするように、ｎ個のパーティションの列を持つ｛１｝であってもよい。ｎは３であってもよい。第１サブセットは｛２，３｝であり、ＶＬＣ復号器２００は、ソースシンボルｓ2を符号語毎に復元するためにゴロム・ライス符号を使用し、ソースシンボルｓ3を符号語毎に復元するために指数ゴロム符号を使用するよう構成されてもよい。さらに一般的には、第１のサブセットの要素は２であり、ＶＬＣ復号器２００は、前記ソースシンボルｓ2を符号語毎に復号化するためにゴロム・ライス符号を使用し、以前に復元されたソースシンボルにしたがって、前記ゴロム・ライス符号のゴロム・ライスパラメータを適用するよう構成されてもよい。このエントロピー復号化装置は、ソースシンボルの第１サブ列（２０４）とソースシンボルの第２サブ列とを再結合し、ソースシンボル列（２１８）を得るよう構成された、再結合部２２０をさらにそなえてもよい。シンタックス要素は異なるタイプからなり、組立手段はシンタックス要素のタイプに基づいて個別の組立を実行するよう構成されてもよい。シンタックス要素のサブグループは、ピクチャの変換ブロックの絶対変換係数の絶対変換係数レベルを包含しており、それぞれの変換ブロックの絶対変換係数レベルは、それぞれの変換ブロックの絶対変換係数を通過して進むスキャン経路にしたがってシンタックス要素列（１３８）内に配置されており、このとき組立部は、スキャン���序において先行するそれぞれの変換ブロックの絶対変換係数の既に復元された絶対変換係数レベルに基づいて、又はスキャン順序において現時点で組み立てられるべき絶対変換係数レベルの位置に基づいて、又は現時点で組み立てられるべき絶対変換係数レベルの空間的又はスキャン順序的に隣接する位置の変換係数の既に復元された絶対変換係数レベルの評価に基づいて、それぞれの変換ブロックの絶対変換係数の絶対変換係数レベルを組み立てている間に、前記パーティション間に１つ又はそれ以上の限界を適用するよう構成されてもよい。
【０２７７】
ＰＩＰＥ符号化とＶＬＣ符号化とを結合し、図１ｂに示す分解部を使用する実施形態に関し、以下の記載によりその幾つかの態様について繰り返し説明する。
【０２７８】
シンボル列からビットストリームへのマッピングと逆マッピングについてこれまで説明した。各シンボルはそれ自身と共に、関連するパラメータを運ぶものであり、それらは符号器と復号器とに対して同時に知られている。エントロピーコーデックは多数の先入れ先出し（ＦＩＦＯ）バッファを含み、それらバッファの各々が、シンボルに関連付けられたパラメータのサブセットに割り当てられている。あるシンボルの所与の（複数の）パラメータに関し、符号器はそのシンボルを対応するＦＩＦＯバッファへと割り当てる。符号器の割り当て規則は復号器側でも知られているため、復号器は、符号器がシンボルを割り当てたＦＩＦＯバッファから読み出しを実行する。
【０２７９】
幾つかのシンタックス要素は標準的な可変長符号を使用して符号化され、特定のバッファに書き込まれる。他のシンタックス要素は、確率区間区分エントロピー（ＰＩＰＥ）符号化の概念を用いて符号化される。この場合、シンボルは最初に二値化され、結果として得られるビンは関連する確率推定に基づいて分類される。確率推定は、符号器と復号器とにおいて同時に実行され得るような測度から与えられるか又は導出されてもよい。特定のＦＩＦＯバッファは、選択された確率のサブセット内に当てはまる推定された確率の値を有するシンボルを含み、その結果、エントロピー符号化が改善され得る。ＰＩＰＥの概念とＶＬＣとの組み合わせによって達成されるこの改善は、複雑性を低減する一方で、なお高い符号化効率を提供するということである。標準的なＶＬＣ符号が適合するシンボルは、単純で複雑性の低いＶＬＣの手法により符号化され、他方、ＶＬＣ符号を用いて符号化することでビットレートがかなり増大するであろう他のシンボルは、より洗練されたＰＩＰＥの概念を用いて符号化される。
【０２８０】
従って、エントロピー符号化の複雑性をさらに低減するために、シンボルは２つのカテゴリーへと分離されてきた。第１のカテゴリーのシンボルは、ＶＬＣ符号を用いて適切に表現されることができ、より複雑なＰＩＰＥ符号化は必要としない。他方、第２のカテゴリーのシンボルは、ＶＬＣ符号を用いて効率的に表現されることは不可能であり、これらのシンボルをＰＩＰＥ符号化することで、必要なビットレートがかなり低減された。
【０２８１】
上述の実施形態は１つのＶＬＣ符号器及び復号器だけを用いて説明してきたが、しかしこの概念は、２つ以上のＶＬＣ符号器及び復号器が使用されてＰＩＰＥ符号器と一緒にインターリーブされる場合にも一般化できることは明白であることに留意されたい。
【０２８２】
これまで装置を説明する文脈で幾つかの態様を示してきたが、これらの態様は対応する方法の説明でもあることは明らかであり、そのブロック又は装置が方法ステップ又は方法ステップの特徴に対応することは明らかである。同様に、方法ステップを説明する文脈で示した態様もまた、対応する装置の対応するブロックもしくは項目又は特徴を表している。方法ステップの幾つか又は全ては、例えばマイクロプロセッサ、プログラム可能なコンピュータ、又は電子回路等のハードウエアにより（を使用して）実行されても良い。幾つかの実施形態においては、最も重要な方法ステップの内の１つ又は複数のステップはそのような装置によって実行されても良い。
【０２８３】
本発明の符号化済み／圧縮済みの信号は、デジタル記憶媒体に記憶されても良く、インターネットのような無線伝送媒体や有線伝送媒体などの伝送媒体によって伝送されても良い。
【０２８４】
所定の構成要件にも依るが、本発明の実施形態は、ハードウエア又はソフトウエアにおいて構成可能である。この構成は、その中に格納される電子的に読み取り可能な制御信号を有し、本発明の各方法が実行されるようにプログラム可能なコンピュータシステムと協働する（又は協働可能な）、デジタル記憶媒体、例えばフレキシブルディスク，ＤＶＤ，ブルーレイ，ＣＤ，ＲＯＭ，ＰＲＯＭ，ＥＰＲＯＭ，ＥＥＰＲＯＭ，フラッシュメモリなどを使用して実行することができる。従って、そのデジタル記憶媒体はコンピュータ読み取り可能であっても良い。
【０２８５】
本発明に従う幾つかの実施形態は、上述した方法の１つを実行するようプログラム可能なコンピュータシステムと協働可能で、電子的に読み取り可能な制御信号を有するデータキャリアを含んでも良い。
【０２８６】
一般的に、本発明の実施例は、プログラムコードを有するコンピュータプログラム製品として構成することができ、このプログラムコードは当該コンピュータプログラム製品がコンピュータ上で作動するときに、本発明の方法の一つを実行するよう作動する。そのプログラムコードは例えば機械読み取り可能なキャリアに記憶されても良い。
【０２８７】
本発明の他の実施形態は、上述した方法の１つを実行するための、機械読み取り可能なキャリアに記憶されたコンピュータプログラムを含む。
【０２８８】
換言すれば、本発明の方法のある実施形態は、そのコンピュータプログラムがコンピュータ上で作動するときに、上述した方法の１つを実行するためのプログラムコードを有する、コンピュータプログラムである。
【０２８９】
本発明の他の実施形態は、上述した方法の１つを実行するために記録されたコンピュータプログラムを含む、データキャリア（又はデジタル記憶媒体又はコンピュータ読み取り可能な媒体）である。
【０２９０】
本発明の他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムを表現するデータストリーム又は信号列である。そのデータストリーム又は信号列は、例えばインターネットを介するデータ通信接続を介して伝送されるように構成されても良い。
【０２９１】
他の実施形態は、上述した方法の１つを実行するように構成又は適用された、例えばコンピュータ又はプログラム可能な論理デバイスのような処理手段を含む。
【０２９２】
他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
【０２９３】
幾つかの実施形態においては、（例えば書換え可能ゲートアレイのような）プログラム可能な論理デバイスは、上述した方法の幾つか又は全ての機能を実行するために使用されても良い。幾つかの実施形態では、書換え可能ゲートアレイは、上述した方法の１つを実行するためにマイクロプロセッサと協働しても良い。一般的に、そのような方法は、好適には任意のハードウエア装置によって実行される。
【０２９４】
上述した実施形態は、本発明の原理を単に例示的に示したにすぎない。本明細書に記載した構成及び詳細について修正及び変更が可能であることは、当業者にとって明らかである。従って、本発明は、本明細書に実施形態の説明及び解説の目的で提示した具体的詳細によって限定されるものではなく、添付した特許請求の範囲によってのみ限定されるべきである。
−備考−
［請求項１］
シンタックス要素の少なくとも１つのサブグループをそれぞれｎ個のソースシンボルｓi（ｉ＝１・・・ｎ）に個々に分解することによって、Ｎ個のパーティション（１４０1-3）の列にサブ分割される値範囲を持つシンタックス要素列（１３８）をソースシンボル列（１０６）に変換するよう構成された分解手段（１３６）であって、前記それぞれｎ個のソースシンボルは、Ｎ個のパーティション（１４０1-3）の列のどのパーティションにそれぞれのシンタックス要素の値ｚが当てはまるかに依存しており、前記それぞれの個数のソースシンボルｓiの値の合計がｚであり、ｎ＞１の場合に全てのｉ＝１．．．ｎ−１について前記ｓiの値がｉ番目のパーティションの範囲に対応している、分解手段（１３６）と、
前記ソースシンボル列（１０６）をソースシンボルの第１サブ列（１０８）とソースシンボルの第２サブ列（１１０）へとサブ分割するよう構成されたサブ分割手段（１００）であって、｛１．．．Ｎ｝の第１サブセットの要素であるｘを持つすべてのソースシンボルｓxが前記第１サブ列（１０８）の中に含まれ、前記第１サブセットとは共通元を持たない｛１．．．Ｎ｝の第２サブセットの要素であるｙを持つすべてのソースシンボルｓyが前記第２サブ列（１１０）の中に含まれている、サブ分割手段（１００）と、
前記第１サブ列（１０８）のソースシンボルをシンボル毎に符号化するように構成されたＶＬＣ符号器（１０２）と、
ソースシンボルの前記第２サブ列（１１０）を符号化するよう構成されたＰＩＰＥ符号器又は算術符号器（１０４）と、
を備えたエントロピー符号化装置。
［請求項２］
請求項１に記載のエントロピー符号化装置において、
前記シンタックス要素の前記サブグループの値ｚは絶対値である、エントロピー符号化装置。
［請求項３］
請求項１又は２に記載のエントロピー符号化装置において、
前記第２サブセットは｛１｝であり、ｐ＞ｑであるすべてのｐ，ｑ∈｛１．．．Ｎ｝について、ｐ番目のパーティションがｑ番目のパーティションよりも前記値範囲のより高い値をカバーするように、ｎ個のパーティションからなる前記列が配置されている、エントロピー符号化装置。
［請求項４］
請求項３に記載のエントロピー符号化装置において、
Ｎ＝３であることを特徴とする、エントロピー符号化装置。
［請求項５］
請求項４に記載のエントロピー符号化装置において、
前記第１サブセットは｛２，３｝であり、前記ＶＬＣ符号器（１０２）は、前記ソースシンボルｓ2をシンボル毎に符号化するためにゴロム−ライス符号を使用し、前記ソースシンボルｓ3をシンボル毎に符号化するために指数ゴロム符号を使用するよう構成されている、エントロピー符号化装置。
［請求項６］
請求項２に記載のエントロピー符号化装置において、
前記第１サブセットの要素は２であり、前記ＶＬＣ符号器（１０２）は、前記ソースシン
ボルｓ2をシンボル毎に符号化するためにゴロム−ライス符号を使用し、以前に符号化さ
れたシンボルにしたがって、前記ゴロム−ライス符号のゴロム−ライス・パラメータを適
応させるよう構成されている、エントロピー符号化装置。
［請求項７］
請求項２に記載のエントロピー符号化装置において、
前記分解手段は、以前に符号化されたソースシンボルにしたがって、前記パーティション間に１つ又はそれ以上の限界を適用するよう構成されている、エントロピー符号化装置。
［請求項８］
請求項１〜７のいずれか１項に記載のエントロピー符号化装置において、
前記シンタックス要素の前記サブグループは、ピクチャの変換ブロックの絶対変換係数の絶対変換係数レベルを包含しており、それぞれの変換ブロックの絶対変換係数レベルは、それぞれの変換ブロックの絶対変換係数を通過して進むスキャン経路にしたがって前記シンタックス要素列（１３８）内に配置されており、
前記分解手段は、前記スキャン順序において先行するそれぞれの変換ブロックの絶対変換係数の既に符号化された絶対変換係数レベルに基づいて、又は前記スキャン順序において現時点で分解されるべき絶対変換係数レベルの位置に基づいて、又は現時点で分解されるべき絶対変換係数レベルの空間的又はスキャン順序的に隣接する位置の変換係数の既に復元された絶対変換係数レベルの評価に基づいて、それぞれの変換ブロックの絶対変換係数の絶対変換係数レベルを分解している間に、前記パーティション間に１つ又はそれ以上の限界を適用するよう構成されている、エントロピー符号化装置。
［請求項９］
請求項１〜８のいずれか１項に記載のエントロピー符号化装置において、
前記シンタックス要素は異なるタイプからなり、前記分解手段（１３６）は前記シンタックス要素のタイプに基づいて個別の分解を実行するよう構成されている、エントロピー符号化装置。
［請求項１０］
請求項１〜９のいずれか１項に記載のエントロピー符号化装置において、
前記ＰＩＰＥ符号器又は算術符号器（１０４）は、アルファベットシンボル列（１２４）の形式で表現されたソースシンボルの前記第２サブ列（１１０）を符号化するよう構成されたＰＩＰＥ符号器であり、
前記ＰＩＰＥ符号器は、前記アルファベットシンボル列（１２４）の先行するアルファベットシンボル内に含まれる情報に基づいて、前記アルファベットシンボル列（１２４）の各アルファベットシンボルに対して、それぞれのアルファベットシンボルが持つ可能性のある値間における確率分布推定のための測度を割り当てるよう構成された割当手段（１１４）と、
複数のエントロピー符号器（１１６）であって、それぞれのエントロピー符号器へ転送された前記アルファベットシンボルを、それぞれの部分的第２ビットストリーム（１１８）へと変換するよう構成された、エントロピー符号器（１１６）と、
前記複数のエントロピー符号器（１１８）の選択された１つへ各アルファベットシンボルを転送するよう構成された選択手段（１２０）であって、前記選択が前記それぞれのアルファベットシンボルへ割り当てられた前記測度に依存している、選択手段（１２０）と、
を備えている、エントロピー符号化装置。
［請求項１１］
請求項１０に記載のエントロピー符号化装置において、
前記シンタックス要素は異なるタイプからなり、前記サブ分割手段（１００）は前記シンタックス要素のタイプに基づいて前記サブ分割を実行するよう構成された、エントロピー符号化装置。
［請求項１２］
請求項１０又は１１に記載のエントロピー符号化装置において、
前記アルファベットシンボル列（１２４）を形成すると共に、前記第２サブ列（１１０）の各ソースシンボルを、アルファベットシンボルのそれぞれの部分列へと個別にマップするよう構成されたシンボライザー（１２２）をさらに備える、エントロピー符号化装置。
［請求項１３］
請求項１１に記載のエントロピー符号化装置において、
前記シンボライザー（１２２）と前記ＰＩＰＥ符号器（１０４）は、前記アルファベットシンボルがバイナリーシンボルであるよう構成された、エントロピー符号化装置。
［請求項１４］
請求項１０〜１２のいずれか１項に記載のエントロピー符号化装置において、
前記アルファベットシンボル列（１２４）はバイナリーアルファベット列であり、前記割当手段（１１４）は、前記確率分布推定が、劣勢確率又は優勢確率を持つビン値の確率推定のための測度と、前記２つの可能なビン値の内どちらが前記劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子と、から成るように構成された、エントロピー符号化装置。
［請求項１５］
請求項１０〜１５のいずれか１項に記載のエントロピー符号化装置において、
前記割当手段（１１４）は、前記アルファベットシンボル列の先行するアルファベットシンボル内に含まれる前記情報に基づいて前記アルファベットシンボル列の各アルファベットシンボルへコンテキストを割り当て、各コンテキストはこれに関連付けられた各確率分布推定を有しており、かつ前記それぞれのコンテキストが割り当てられた先行するアルファベットシンボルのシンボル値に基づいて各コンテキストの前記確率分布推定を実際のシンボル統計に適応させ、前記それぞれのアルファベットシンボルに割り当てられた前記コンテキストに関連付けられた前記確率分布推定に基づいて各アルファベットシンボルに対して前記確率分布推定のための前記測度を決定するよう構成された、エントロピー符号化装置。
［請求項１６］
請求項１４に記載のエントロピー符号化装置において、
前記割当手段（１１４）は、各アルファベットシンボルに対して前記確率分布推定についての前記測度を決定する際に、前記確率分布推定についての前記測度を得るために、前記各アルファベットシンボルに割り当てられた前記コンテキストと関連する前記確率分布推定を、複数の確率分布推定の代表値の１つへと量子化するように構成されており、
前記選択手段（１２０）は、前記複数の確率分布推定の代表値から前記複数のエントロピー符号器（１１６）へと全射的な関連付けが定義されるように構成された、エントロピー符号化装置。
［請求項１７］
請求項１５に記載のエントロピー符号化装置において、
前記選択手段（１１４）は、前記アルファベットシンボル列（１２４）の先行するアルファベットシンボルに応じて、前記確率分布推定の範囲から前記複数の確率分布推定の代表値への量子化マッピングを、所定の決定論的な方法で時間的に変化させる、エントロピー符号化装置。
［請求項１８］
請求項１６に記載のエントロピー符号化装置において、
前記複数のエントロピー符号器（１１６）は、前記量子化マッピングの変化に応じて、アルファベットシンボルを前記部分的第２ストリーム（１１８）へ変換する方法を適応させる、エントロピー符号化装置。
［請求項１９］
請求項１６又は１７に記載のエントロピー符号化装置において、
前記選択手段（１１４）は、前記エントロピー符号器（１１６）が前記アルファベットシンボルをその中に変換してゆく前記部分的第２ストリームのビットレートのバラツキが小さくなるように、前記量子化マッピングを変更するよう構成された、エントロピー符号化装置。
［請求項２０］
請求項１０〜１８のいずれか１項に記載のエントロピー符号化装置において、
前記複数のエントロピー符号器（１１６）の少なくとも１つは、これに関連付けられたシンボル入力バッファを有しており、前記選択手段（１２０）は、前記関連付けられたシンボル入力バッファを介して、前記少なくとも１つのエントロピー符号器（１１６）へ前記アルファベットシンボルを転送するよう構成された、エントロピー符号化装置。
［請求項２１］
請求項１０〜１９のいずれか１項に記載のエントロピー符号化装置において、
前記複数のエントロピー符号器（１１６）はアルファベットシンボル列を符号語にマップするように構成された可変長符号器である、エントロピー符号化装置。
［請求項２２］
請求項１０〜２０のいずれか１項に記載のエントロピー符号化装置において、
前記複数のエントロピー符号器（１１６）の各々は、可変長のアルファベットシンボル列を固定長の符号語へマップするように構成された可変長符号器である、エントロピー符号化装置。
［請求項２３］
請求項２０又は２１に記載のエントロピー符号化装置において、
インターリーバー（１２８）を更に含み、
前記インターリーバーは、前記選択手段（１２０）によって前記複数のエントロピー符号器（１１６）へ転送された前記アルファベットシンボル列の前記アルファベットシンボルが前記それぞれのエントロピー符号器（１１６）において符号語へマップされる新たなアルファベットシンボル列の始まりとなり、かつ前記第２サブストリーム（１０８）の新たなソースシンボルがＶＬＣ符号器（１０２）によってマップされるような順番に基づいて、前記第１ビットストリーム（１１２）と前記部分的第２ストリーム（１１８）との中の前記符号語のために符号語エントリー列を順にリザーブするよう構成され、
さらに前記インターリーバーは、前記第１ビットストリーム（１１２）と前記部分的第２ストリーム（１１８）からインターリーブされた符号語の単一ストリーム（１２６）を得るために、順に前記符号語エントリー内へ入力された符号語を取り除くように構成され、
各エントロピー符号器（１１６）は、前記それぞれのエントロピー符号器（１１６）のためにリザーブされた前記符号語エントリーへその符号語を順に導入するよう構成され、
前記選択手段（１２０）は、前記第１サブストリーム（１０８）及び前記第２サブストリーム（１１０）のソースシンボルがソースシンボル列内で散在していた順序を維持するような順序で、前記第２サブストリーム（１１０）のソースシンボルを表す前記アルファベットシンボルを転送するよう構成された、エントロピー符号化装置。
［請求項２４］
請求項２２に記載のエントロピー符号化装置において、
前記複数のエントロピー符号器（１１６）と前記インターリーバー（１２８）とは、現在転送されているがまだマップされていないシンボルを、前記現在転送されているがまだマップされていないアルファベットシンボルを接頭語として有するドント・ケアアルファベットシンボルによって、有効なアルファベットシンボル列へ断続的に拡張し、そのように拡張された前記アルファベットシンボル列を符号語へとマップし、それにより得られた前記符号語を前記リザーブされた符号語エントリーへ導入し、さらに前記符号語エントリーをフラッシュする、エントロピー符号化装置。
［請求項２５］
請求項２３に記載のエントロピー符号化装置において、
前記複数のエントロピー符号器（１１６）と前記インターリーバー（１２８）とは、幾つかのリザーブされた符号語エントリーとその中に導入された符号語を有する幾つかの符号語エントリーとの合計が所定基準を満たす事象において、前記断続的拡張、導入、及びフラッシュを実行するよう構成された、エントロピー符号化装置。
［請求項２６］
第１ビットストリーム（２０６）の符号語からソースシンボルの第１サブ列（２０４）のソースシンボルを符号語毎に復元するよう構成されたＶＬＣ復号器（２００）と、
ソースシンボルの第２サブ列（２０８）を復元するよう構成されたＰＩＰＥ復号器又は算術復号器（２０２）と、
それぞれの個数のソースシンボルから各シンタックス要素を個別に組み立てることによって、ソースシンボルの前記第１サブ列（２０４）とソースシンボルの前記第２サブ列（２０８）とから、Ｎ個のパーティション（１４０1-3）の列にサブ分割される値範囲を持つシンタックス要素列（２２６）を組み立てるよう構成された組立手段（２２４）であって、前記シンタックス要素の少なくとも１つのサブグループについて、それぞれのシンタックス要素の値範囲がサブ分割されてゆくＮ個のパーティション（１４０1-3）の列のうちのどのパーティションにそれぞれのシンタックス要素の値ｚが当てはまるかに依存して、ｓiの値がｉ番目のパーティションの範囲に対応している間では前記シンタックス要素ｚの値を得るためにそれぞれの個数のソースシンボルｓiの値を１からｎまで合計することによって、ｉ＝１・・・ｎのそれぞれｎ個のソースシンボルｓiを決定する、組立手段（２２４）とを備え、
前記組立手段（２２４）は、前記第１サブ列（２０４）から｛１．．．ｎ｝の第１サブセットの要素であるｘを持つ全てのソースシンボルｓxと、前記第２サブ列（２０８）から第１サブセットとは共通元を持たない｛１．．．ｎ｝の第２サブセットの要素であるｙを持つ全てのソースシンボルｓyとを回収するよう構成されている、エントロピー復号化装置。
［請求項２７］
請求項２６に記載のエントロピー復号化装置において、
前記シンタックス要素のサブグループの値ｚは絶対値である、エントロピー復号化装置。
［請求項２８］
請求項２６又は２７に記載のエントロピー復号化装置において、
前記第２サブセットは｛１｝であり、ｐ＞ｑであるすべてのｐ，ｑ∈｛１．．．Ｎ｝について、ｐ番目のパーティションがｑ番目のパーティションよりも前記値範囲のより高い値をカバーするように、Ｎ個のパーティションの列が配置されている、エントロピー復号化装置。
［請求項２９］
請求項２８に記載のエントロピー復号化装置において、
Ｎ＝３であることを特徴とする、エントロピー復号化装置。
［請求項３０］
請求項２８に記載のエントロピー復号化装置において、
前記第１サブセットは｛２，３｝であり、前記ＶＬＣ復号器（２００）は、前記ソースシンボルｓ2を符号語毎に復元するためにゴロム−ライス符号を使用し、前記ソースシンボルｓ3を符号語毎に復元するために指数ゴロム符号を使用するよう構成されている、エントロピー復号化装置。
［請求項３１］
請求項２６に記載のエントロピー復号化装置において、
前記第１サブセットの要素は２であり、前記ＶＬＣ復号器（１０２）は、前記ソースシンボルｓ2を符号語毎に復号化するためにゴロム−ライス符号を使用し、以前に復元されたソースシンボルにしたがって、前記ゴロム−ライス符号のゴロム−ライス・パラメータを適応させるよう構成されている、エントロピー復号化装置。
［請求項３２］
請求項２６〜３１のいずれか１項に記載のエントロピー復号化装置において、
ソースシンボルの前記第１サブ列（２０４）とソースシンボルの前記第２サブ列とを再結合し、ソースシンボル列（２１８）を得るよう構成されている、エントロピー復号化装置。
［請求項３３］
請求項２６〜３２のいずれか１項に記載のエントロピー復号化装置において、
前記シンタックス要素は異なるタイプからなり、前記組立手段は前記シンタックス要素のタイプに基づいて個別の組立を実行するよう構成されている、エントロピー復号化装置。
［請求項３４］
請求項２６〜３３のいずれか１項に記載のエントロピー復号化装置において、
前記シンタックス要素のサブグループは、ピクチャの変換ブロックの絶対変換係数の絶対変換係数レベルを包含しており、それぞれの変換ブロックの絶対変換係数レベルは、それぞれの変換ブロックの絶対変換係数を通過して進むスキャン経路にしたがってシンタックス要素列（１３８）内に配置されており、
前記組立手段は、スキャン順序において先行するそれぞれの変換ブロックの絶対変換係数の既に復元された絶対変換係数レベルに基づいて、又はスキャン順序において現時点で組み立てられるべき絶対変換係数レベルの位置に基づいて、又は現時点で組み立てられるべき絶対変換係数レベルの空間的又はスキャン順序的に隣接する位置の変換係数の既に復元された絶対変換係数レベルの評価に基づいて、それぞれの変換ブロックの絶対変換係数の絶対変換係数レベルを組み立てしている間に、前記パーティション間に１つ又はそれ以上の限界を適用するよう構成されている、エントロピー復号化装置。
［請求項３５］
請求項２６〜３４のいずれか１項に記載のエントロピー復号化装置において、
前記組立手段は、以前に復元されたソースシンボルにしたがって、前記パーティション間に１つ又はそれ以上の限界を適用するよう構成され、
アルファベットシンボル列（２２４）の形式で表現され、かつ前記アルファベットシンボルを順に要求するアルファベットシンボル要求に応答しており、
前記ＰＩＰＥ復号器は、
複数のエントロピー復号器（２１０）であって、その各々がそれぞれの部分的第２ストリーム（２１６）をアルファベットシンボル列のアルファベットシンボルへ変換するよう構成されたエントロピー復号器（２１０）と、
復元されるべきソースシンボルの前記第２サブ列（２０８）を表すアルファベットシンボル列のアルファベットシンボルに対する各要求に対し、前記アルファベットシンボル列の以前に復元されたアルファベットシンボル内に含まれた情報に基づいて、それぞれのアルファベットシンボルが持つ可能性のある値間における確率分布推定のための測度を割り当てるよう構成された、割当手段（２１２）と、
復元されるべきソースシンボルの前記第２サブ列（２０８）を表す前記アルファベットシンボル列の１つのアルファベットシンボルに対する各要求に対し、前記複数のエントロピー復号器（２１０）の選択された１つから前記アルファベットシンボル列のそれぞれのアルファベットシンボルを回収するよう構成された選択手段（２１４）であって、前記選択が前記それぞれのアルファベットシンボルに対するそれぞれの要求へ割り当てられた前記測度に依存している、選択手段（２１４）と、を備え、
前記ソースシンボルの前記第１サブ列（２０４）とソースシンボルの前記第２サブ列（２０８）とは、共通してソースシンボル列（２１８）を形成する、エントロピー復号化装置。
［請求項３６］
請求項３５に記載のエントロピー復号化装置において、
前記ソースシンボル列（２１８）は解析可能なビットストリームのシンタックス要素列である、エントロピー復号化装置。
［請求項３７］
請求項３６に記載のエントロピー復号化装置において、
前記シンタックス要素はそれぞれ異なるタイプからなり、前記第１ビットストリーム（２０６）と前記第２ビットストリーム（２１６）とはインターリーブ済みビットストリーム（２２８）へと互いにインターリーブされ、
前記シンタックス要素のタイプにしたがって前記第１ビットストリーム（２０６）を前記第２ビットストリーム（２１６）から分離するよう構成された、エントロピー復号化装置。
［請求項３８］
請求項３４〜３７のいずれか１項に記載のエントロピー復号化装置において、
前記アルファベットシンボル列（１２４）を前記第２サブ列（１１０）のソースシンボルへと、アルファベットシンボルの部分列単位で、個別にリマップするよう構成されたデ・シンボライザー（１２２）をさらに備える、エントロピー復号化装置。
［請求項３９］
請求項３８に記載のエントロピー復号化装置において、
前記デ・シンボライザー（１２２）と前記ＰＩＰＥ復号器（１０４）は、前記アルファベットシンボルがバイナリーシンボルであるよう構成された、エントロピー復号化装置。
［請求項４０］
請求項３４〜３８のいずれか１項に記載のエントロピー復号化装置において、
前記アルファベットシンボルのサブ列はバイナリーアルファベット列であり、前記割当手段は、前記確率分布推定が、前記バイナリーアルファベットの２つの可能なビン値の劣勢確率又は優勢確率を持つビン値の確率推定のための測度と、前記２つの可能なビン値の内どちらが前記劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子と、から成るように構成された、エントロピー復号化装置。
［請求項４１］
請求項３４〜４０のいずれか１項に記載のエントロピー復号化装置において、
前記割当手段（２１２）は、前記アルファベットシンボル列の以前に復元されたアルファベットシンボル内に含まれる前記情報に基づいて、前記アルファベットシンボルのサブ列の各アルファベットシンボルに対する各要求に対してコンテキストを内的に割り当て、各コンテキストはこれに関連する各確率分布推定を有しており、かつ前記それぞれのコンテキストが割り当てられた前記以前に復元されたアルファベットシンボルのシンボル値に基づいて、各コンテキストについての前記確率分布推定を実際のシンボル統計に適応させ、
前記それぞれのアルファベットシンボルに割り当てられた前記コンテキストに関連する前記確率分布推定に基づいて、アルファベットシンボルの前記サブ列の各アルファベットシンボルに対する各要求毎に、アルファベットシンボルのサブ列のそれぞれのアルファベットシンボルについて前記確率分布推定のための前記測度を決定するよう構成された、エントロピー復号化装置。
［請求項４２］
請求項４１に記載のエントロピー復号化装置において、
前記割当手段（２１２）は、アルファベットシンボルに対する各要求毎に前記確率分布推定のための前記測度を決定する際に、前記確率分布推定についての前記測度を得るために、前記各アルファベットシンボルに割り当てられた前記コンテキストと関連する前記確率分布推定を、複数の確率分布推定の代表値の１つへと量子化するように構成されており、
前記選択手段は、前記複数の確率分布推定の代表値から前記複数のエントロピー復号器へと全射的な関連付けが定義されるように構成された、エントロピー符号化装置。
［請求項４３］
請求項４２に記載のエントロピー復号化装置において、
前記選択手段は、前記アルファベットシンボル列の以前に復元されたアルファベットシンボルに依存して、前記確率分布推定の範囲から前記複数の確率分布推定の代表値への量子化マッピングを所定の決定論的な方法で時間的に変化させる、エントロピー復号化装置。
［請求項４４］
請求項４３に記載のエントロピー復号化装置において、
前記複数のエントロピー復号器は、前記量子化マッピングの変化に応じて、それぞれの部分的第２ストリームをアルファベットシンボルへと変換する方法を適応させる、エントロピー復号化装置。
［請求項４５］
請求項４３又は４４に記載のエントロピー復号化装置において、
前記選択手段は、前記アルファベットシンボルが前記複数のエントロピー復号器から回収されるレートのバラツキが小さくなるように、前記量子化マッピングを変更するよう構成された、エントロピー復号化装置。
［請求項４６］
請求項３４〜４５のいずれか１項に記載のエントロピー復号化装置において、
前記複数のエントロピー復号器の少なくとも１つは、これに関連付けられたシンボル出力バッファを有しており、前記選択手段は、前記関連付けられたシンボル出力バッファを介して、前記少なくとも１つのエントロピー復号器から前記アルファベットシンボルを回収するよう構成された、エントロピー復号化装置。
［請求項４７］
請求項３４〜４６のいずれか１項に記載のエントロピー復号化装置において、
前記エントロピー復号器は符号語をアルファベットシンボル列へとマップするように構成された可変長復号器である、エントロピー復号化装置。
［請求項４８］
請求項４７に記載のエントロピー復号化装置において、
前記ソースシンボルの列（２１８）内の前記第１サブ列（２０４）と前記第２サブ列（２０８）のソースシンボルの順序によって定義される順序で、単一ストリーム（２２８）内の符号語をデ・インターリーブすることによって、前記第１と前記部分的第２ストリームとを生成するように構成された、デ・インターリーバー（２３０）を更に含む、エントロピー復号化装置。
［請求項４９］
請求項４８に記載のエントロピー復号化装置において、
前記デ・インターリーバー（２３０）は、
現在一列に並んでいるソースシンボル列（２１８）内のソースシンボルが前記第１サブ列（２０４）に属している場合には常に、単一ビットストリーム（２２８）内の現在の符号語は前記第１ビットストリーム（２０６）の符号語であるとみなすように構成され、
現在一列に並んでいるソースシンボル列（２１８）内のソースシンボルが前記第２サブ列（２０８）に属している場合には常に、単一ビットストリーム（２２８）内の現在の符号語は前記部分的第２ストリーム（２１６）の各１つの符号語であるとみなすように構成され、もし現在のソースシンボルに属しているアルファベットシンボルのいずれかが、それぞれのアルファベットシンボルに対する要求に関連付けられた前記測度に依存して選択された前記エントロピー復号器（２１０）によって、前記それぞれの部分的第２ストリーム（２１６）の符号語からそれぞれのアルファベットシンボル列への新たなマッピングを必要とする場合には、前記現在のソースシンボルが属しているアルファベットシンボルが複数存在しているならば、前記アルファベットシンボル列（２２４）内の前記アルファベットシンボルの順序に依存して、そのようなアルファベットシンボル間での順序を使用する、エントロピー復号化装置。
［請求項５０］
シンタックス要素の少なくとも１つのサブグループをそれぞれｎ個のソースシンボルｓi（ｉ＝１・・・ｎ）に個々に分解することによって、Ｎ個のパーティション（１４０1-3）の列にサブ分割される値範囲を持つシンタックス要素列（１３８）をソースシンボル列（１０６）に変換するステップであって、前記それぞれｎ個のソースシンボルは、Ｎ個のパーティション（１４０1-3）の列のうちのどのパーティションにそれぞれのシンタックス要素の値ｚが当てはまるかに依存しており、それぞれの個数のソースシンボルｓiの値の合計がｚであり、ｎ＞１の場合に全てのｉ＝１．．．ｎ−１について前記ｓiの値がｉ番目のパーティションの範囲に対応している、ステップと、
前記ソースシンボル列（１０６）をソースシンボルの第１サブ列（１０８）とソースシンボルの第２サブ列（１１０）へとサブ分割するステップであって、｛１．．．Ｎ｝の第１サブセットの要素であるｘを持つすべてのソースシンボルｓxが前記第１サブ列（１０８）の中に含まれ、第１サブセットとは共通元を持たない｛１．．．Ｎ｝の第２サブセットの要素であるｙを持つすべてのソースシンボルｓyが前記第２サブ列（１１０）の中に含まれている、ステップと、
ＰＩＰＥ符号化又は算術符号化によって、ソースシンボルの前記第２サブ列（１１０）を符号化するステップと、
を備えたエントロピー符号化方法。
［請求項５１］
ＶＬＣ復号化によって、第１ビットストリーム（２０６）の符号語からソースシンボルの第１サブ列（２０４）のソースシンボルを符号語毎に復元するステップと、
ＰＩＰＥ復号化又は算術復号化によって、ソースシンボルの第２サブ列（２０８）を復元するステップと、
それぞれｎ個のソースシンボルから各シンタックス要素を個別に組み立てることによって、ソースシンボルの前記第１サブ列（２０４）とソースシンボルの前記第２サブ列（２０８）とから、シンタックス要素列（２２６）を組み立てるステップであって、前記組み立てるステップは、前記シンタックス要素の少なくとも１つのサブグループについて、それぞれのシンタックス要素の値範囲がサブ分割されてゆくＮ個のパーティション（１４０1-3）の列のうちのどのパーティションにそれぞれのシンタックス要素の値ｚが当てはまるかに依存して、ｓiの値がｉ番目のパーティションの範囲に対応している間では前記シンタックス要素ｚの値を得るためにそれぞれの個数のソースシンボルｓiの値を１からｎまで合計することによって、ｉ＝１・・・ｎのそれぞれｎ個のソースシンボルｓiを決定し、
前記組み立てるステップは、前記第１サブ列（２０４）から｛１．．．Ｎ｝の第１サブセットの要素であるｘを持つ全てのソースシンボルｓxと、前記第２サブ列（２０８）から第１サブセットとは共通元を持たない｛１．．．Ｎ｝の第２サブセットの要素であるｙを持つ全てのソースシンボルｓyとを回収する、エントロピー復号化方法。
［請求項５２］
コンピュータ上で実行したとき、請求項４９又は５０に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【図１ａ】
2020099077.tif 000062
【図１ｂ】
2020099077.tif 000063
【図１ｃ】
2020099077.tif 000064
【図２ａ】
2020099077.tif 000065
【図２ｂ】
2020099077.tif 000066
【図３】
2020099077.tif 000067
【図４】
2020099077.tif 000068
【図５】
2020099077.tif 000069
【図６】
2020099077.tif 000070
【図７】
2020099077.tif 000071
【図８】
2020099077.tif 000072
【図９】
2020099077.tif 000073
【図１０】
2020099077.tif 000074
【図１１】
2020099077.tif 000075
【図１２】
2020099077.tif 000076
【図１３】
2020099077.tif 000077
【図１４】
2020099077.tif 000078
【図１５】
2020099077.tif 000079
【図１６】
2020099077.tif 000080
【図１７】
2020099077.tif 000081
【図１８】
2020099077.tif 000082
【図１９】
2020099077.tif 000083
【図２０】
2020099077.tif 000084
【図２１】
2020099077.tif 000085
【図２２】
2020099077.tif 000086
【図２３】
2020099077.tif 000087
【図２４】
2020099077.tif 000088