(57)【要約】      （修正有）【課題】コンテキスト適応型バイナリー・エントロピー符号化において、符号化効率を改善するエントロピー復号器を提供する。【解決手段】エントロピー復号器４０９は、以前に復号された部分に基づいて異なるコンテキストの中から１つのコンテキストを選択し、異なるコンテキストに関連する確率状態を更新することによりバイナリー・エントロピー復号を使用していくつかのビンを導出する。エントロピー復号器４０９は、１２６個の確率状態を区別し、量子化パラメータの線形方程式に従って異なるコンテキストに関連した確率状態を初期化し、異なるコンテキストのそれぞれについて各８ビット初期化値の上位４ビットから線型方程式の傾きを導出し、下位４ビットからオフセットを導出する。【選択図】図１６
2018186527.tif 000002
【特許請求の範囲】
【請求項１】
シンタックス要素（３２７）がこのシンタックス要素のバイナリゼーションを使用して符号化された、データストリーム（４０１）からビデオを復号化するためのデコーダであって、
前記データストリーム（４０１）の以前に復号化された部分に基づいて、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連する確率状態を更新することにより、バイナリー・エントロピー復号化を使用して、前記データストリーム（４０１）から前記バイナリゼーションのいくつかのビン（３２６）を導出するエントロピー復号器（４０９）と、
前記シンタックス要素（３２７）のバイナリゼーションを逆二値化することで、前記シンタックス要素の整数値を得るデ・シンボライザ（３１４）と、
前記シンタックス要素の整数値に基づいて、量子化パラメータを使用して予測的な方法で前記ビデオを再構築する再構築部（４０４）であって、予測残余を表現する精度を設定するために前記量子化パラメータを使用する再構築部と、を備え、
前記エントロピー復号器（４０９）は、１２６個の確率状態を区別し、前記量子化パラメータの線形方程式にしたがって前記異なるコンテキストに関連した確率状態を初期化し、
前記エントロピー復号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
【請求項２】
請求項１に記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、バイナリー算術復号化又はバイナリーＰＩＰＥ復号化を使用して、前記データストリーム（４０１）から前記バイナリゼーションのいくつかのビン（３２６）を導出するよう構成されている、デコーダ。
【請求項３】
請求項１又は２に記載のデコーダにおいて、
現在導出されるべきビンが所属する前記バイナリゼーション内での前記現在導出されるべきビンのビン位置と、
前記現在導出されるべきビンが所属する前記バイナリゼーションを逆二値化することによって、整数値が得られる前記シンタックス要素のシンタックス要素タイプと、
前記データストリーム（４０１）から以前に導出された１つ以上のビン、又は以前に逆二値化されたシンタックス要素の整数値と、の内の１つ又は複数に依存して、
前記エントロピー復号器（４０９）が前記現在導出されるべきビンに対するコンテキスト選択を実行するよう構成されている、デコーダ。
【請求項４】
請求項１〜３のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、現在導出されるべきビンに依存して、前記１２６個の確率状態の中の前記現在導出されるべきビンのために選択されたコンテキストに関連する現在の確率状態から、前記１２６個の確率状態の中の新たな確率状態へと遷移させることで、前記現在導出されるべきビンに対する前記確率状態の更新を実行するよう構成されている、デコーダ。
【請求項５】
請求項１〜４のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、現在の確率区間を表す現在の確率区間幅値を量子化することにより、確率区間インデックスを取得し、更に、前記確率区間インデックスと、前記現在導出されるべきビンのために選択されたコンテキストに関連する現在の確率状態に依存する確率状態インデックスとを使用して、テーブルエントリー内の１つのテーブルエントリーをインデックス化することで、区間サブ分割を実行して前記現在の確率区間から２つの部分的区間へサブ分割することにより、現在導出されるべきビンをバイナリー算術復号化するよう構成されている、デコーダ。
【請求項６】
請求項５に記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記現在の確率区間幅値のために８ビット表現を使用し、前記現在の確率区間幅値を量子化するに際し、前記８ビット表現の２つ又は３つの最も有意なビットを取り出すよう構成されている、デコーダ。
【請求項７】
請求項５又は６に記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記現在の確率区間の内部からのオフセット状態値に基づいて前記２つの部分的区間内で選択し、前記確率区間幅値とオフセット状態値とを更新し、前記選択された部分的区間を使用して現在導出されるべきビンの値を推測し、前記データストリーム（４０１）からビットの継続的な読み出しを含む、前記更新された確率区間幅値と前記オフセット状態値との再正規化を実行するよう構成されている、デコーダ。
【請求項８】
請求項１〜７のいずれかに記載のデコーダにおいて、前記エントロピー復号器（４０９）は、前記ビデオのスライスの開始時に、前記異なるコンテキストに関連した確率状態を初期化するよう構成されている、デコーダ。
【請求項９】
請求項８に記載のデコーダにおいて、前記エントロピー復号器（４０９）は、前記ビデオの各スライスについて前記量子化パラメータを個別に決定するよう構成されている、デコーダ。
【請求項１０】
請求項１〜９のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記データストリーム（４０１）から現在のスライスに対する前記量子化パラメータを読み出し、かつ前記現在のスライスに対する前記量子化パラメータの線形方程式に従って前記異なるコンテキストに関連した確率状態を初期化することによって、前記ビデオのスライスの開始時に前記異なるコンテキストに関連した確率状態を初期化するよう構成されており、
前記エントロピー復号器（４０９）は、前記スライスのそれぞれについて、同じ各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから、前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
【請求項１１】
請求項１〜１０のいずれかに記載のデコーダにおいて、
前記再構築部（４０４）は、前記シンタックス要素（３２７）の整数値に基づいて前記ビデオ（４０５）を再構築するに当り、前記量子化パラメータを使用して前記シンタックス要素に含まれる変換係数レベルを逆量子化し、前記逆量子化された変換係数レベルに対して再変換を実行して予測残余を取得し、空間的及び／又は時間的予測を実行して予測信号を取得し、さらに前記予測残余と前記予測信号とを結合して前記ビデオ（４０５）を再構築するよう構成されている、デコーダ。
【請求項１２】
請求項１〜１１のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから互いに独立して前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
【請求項１３】
請求項１〜１２のいずれかに記載のデコーダにおいて、
前記エントロピー復号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とからテーブル・ルックアップ又は算術的演算を使用して前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
【請求項１４】
請求項１〜１２のいずれかに記載のデコーダにおいて、
前記エントロピー復号器は、前記異なるコンテキストのそれぞれについて、前記第１の４ビット部分をパラメータの第１ペアで乗算しかつオフセットすることによって前記線形方程式の傾きを導出し、前記第２の４ビット部分をパラメータの第２ペアで乗算しかつオフセットすることによって前記線形方程式のオフセットを導出するよう構成されている、デコーダ。
【請求項１５】
前記データストリームは深度マップを含む、請求項１〜１４のいずれか１項に記載のデコーダ。
【請求項１６】
シンタックス要素のバイナリゼーションを使用して前記シンタックス要素をデータストリームへと符号化することによって、ビデオを前記データストリームへと符号化するエンコーダであって、
量子化パラメータに依存して前記シンタックス要素の整数値を設定することにより、予測的な方法で前記ビデオを表現する構築部であって、予測残余を表現する精度を設定するために前記量子化パラメータを使用する構築部と、
前記シンタックス要素の整数値を二値化して前記シンタックス要素のバイナリゼーションを得るシンボライザと、
前記データストリームの以前に符号化された部分に依存して、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連した確率状態を更新することにより、バイナリー・エントロピー符号化を使用して、前記バイナリゼーションのいくつかのビンを前記データストリームへと符号化するエントロピー符号器と、を備え、
前記エントロピー符号器は、１２６個の確率状態を区別し、前記量子化パラメータの線形方程式に従って、前記異なるコンテキストに関連した確率状態を初期化するよう構成され、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
【請求項１７】
請求項１６に記載のエンコーダにおいて、
前記エントロピー符号器は、バイナリー算術符号化又はバイナリーＰＩＰＥ符号化を使用して、前記バイナリゼーションのいくつかのビンを前記データストリームへと符号化するよう構成されている、エンコーダ。
【請求項１８】
請求項１６又は１７に記載のエンコーダにおいて、
現在符号化されるべきビンが所属する前記バイナリゼーション内での前記現在符号化されるべきビンのビン位置と、
前記現在符号化されるべきビンが所属する前記バイナリゼーションへと、整数値が二値化される前記シンタックス要素のシンタックス要素タイプと、
前記データストリームへと以前に符号化された１つ以上のビン、又はバイナリゼーションが以前に符号化されたシンタックス要素の整数値と、の内の１つ又は複数に依存して、
前記エントロピー符号器が前記現在符号化されるべきビンに対するコンテキスト選択を実行するよう構成されている、エンコーダ。
【請求項１９】
請求項１６〜１８のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、現在符号化されるべきビンに依存して、前記１２６個の確率状態の中の現在符号化されるべきビンに対して選択されたコンテキストに関連する現在の確率状態から、前記１２６個の確率状態の中の新たな確率状態へと遷移させることによって、現在符号化されるべきビンに対して前記確率状態の更新を実行するよう構成されている、エンコーダ。
【請求項２０】
請求項１６〜１９のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、現在の確率区間を表す現在の確率区間幅値を量子化することにより、確率区間インデックスを取得し、更に、前記確率区間インデックスと、前記現在符号化されるべきビンのために選択されたコンテキストに関連付けられた現在の確率状態に依存する確率状態インデックスとを使用して、テーブルエントリー内の１つのテーブルエントリーをインデックス化することにより、区間サブ分割を実行して前記現在の確率区間から２つの部分的区間へサブ分割することにより、現在符号化されるべきビンをバイナリー算術符号化するよう構成されている、エンコーダ。
【請求項２１】
請求項２０に記載のエンコーダにおいて、
前記エントロピー符号器は、前記現在の確率区間幅値のために８ビット表現を使用し、前記現在の確率区間幅値を量子化するに際し、前記８ビット表現の２つ又は３つの最も有意なビットを取り出すよう構成されている、エンコーダ。
【請求項２２】
請求項２０又は２１に記載のエンコーダにおいて、
前記エントロピー符号器は、前記現在符号化されるべきビンの整数値に基づいて前記２つの部分的区間内で選択し、前記選択された部分的区間を使用して前記確率区間幅値と確率区間オフセットとを更新し、前記データストリームへのビットの継続的な書き込みを含む、前記確率区間幅値と前記確率区間オフセットとの再正規化を実行するよう構成されている、エンコーダ。
【請求項２３】
請求項１６〜２２のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記ビデオの各スライスの開始時に、異なるコンテキストに関連した前記確率状態を初期化するよう構成されている、エンコーダ。
【請求項２４】
請求項１６〜２３のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記データストリームから現在のスライスに対する前記量子化パラメータを個別に設定し、かつ前記現在のスライスに対する前記量子化パラメータの線形方程式に従って異なるコンテキストに関連した前記確率状態を初期化することにより、前記ビデオの各スライスの開始時に前記異なるコンテキストに関連した確率状態を初期化するよう構成されており、
前記エントロピー符号器は、前記スライスのそれぞれについて、同じ各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから、前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
【請求項２５】
請求項１６〜２４のいずれかに記載のエンコーダにおいて、
前記構築部は、前記シンタックス要素の整数値を設定するに当り、空間的及び／又は時間的予測を実行して予測信号を取得し、前記予測信号及び前記ビデオから予測残余を導出し、前記予測残余に対して変換を実行して変換係数レベルを取得し、前記量子化パラメータを使用して前記変換係数レベルを量子化することで前記シンタックス要素に含まれる量子化済み変換係数レベルを取得するよう構成されている、エンコーダ。
【請求項２６】
請求項１６〜２５のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから互いに独立して前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
【請求項２７】
請求項１６〜２６のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とからテーブル・ルックアップ又は算術的演算を使用して前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
【請求項２８】
請求項１６〜２７のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、前記第１の４ビット部分をパラメータの第１ペアで乗算しかつオフセットすることによって前記線形方程式の傾きを導出し、前記第２の４ビット部分をパラメータの第２ペアで乗算しかつオフセットすることによって前記線形方程式のオフセットを導出するよう構成されている、エンコーダ。
【請求項２９】
前記データストリームは深度マップを含む、請求項１６〜２８のいずれか１項に記載のエンコーダ。
【請求項３０】
シンタックス要素がこのシンタックス要素のバイナリゼーションを使用して符号化された、データストリームからビデオを復号化するための方法であって、
前記データストリームの以前に復号化された部分に基づいて、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連する確率状態を更新することにより、バイナリー・エントロピー復号化を使用して、前記データストリームから前記バイナリゼーションのいくつかのビンを導出するステップと、
前記シンタックス要素のバイナリゼーションを逆二値化することで、前記シンタックス要素の整数値を得るステップと、
前記シンタックス要素の整数値に基づいて、量子化パラメータを使用して予測的な方法で前記ビデオを再構築するステップであって、予測残余を表現する精度を設定するために前記量子化パラメータを使用するステップと、を備え、
前記バイナリゼーションのいくつかのビンを導出するステップは、１２６個の確率状態を区別し、前記方法はさらに、前記量子化パラメータの線形方程式にしたがって前記異なるコンテキストに関連した確率状態を初期化し、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出すること、を含む方法。
【請求項３１】
シンタックス要素のバイナリゼーションを使用して前記シンタックス要素をデータストリームへと符号化することによって、ビデオを前記データストリームへと符号化する方法であって、
量子化パラメータに依存して前記シンタックス要素の整数値を設定することにより、予測的な方法で前記ビデオを表現するステップであって、予測残余を表現する精度を設定するために前記量子化パラメータを使用するステップと、
前記シンタックス要素の整数値を二値化して前記シンタックス要素のバイナリゼーションを得るステップと、
前記データストリームの以前に符号化された部分に依存して、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連した確率状態を更新することにより、バイナリー・エントロピー符号化を使用して、前記バイナリゼーションのいくつかのビンを前記データストリームへと符号化するステップと、を備え、
前記ビデオを表現するステップは、１２６個の確率状態を区別し、前記方法はさらに、前記量子化パラメータの線形方程式に従って、前記異なるコンテキストに関連した確率状態を初期化し、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出すること、を含む方法。
【請求項３２】
コンピュータ上で作動されたとき、請求項３０又は３１に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【請求項３３】
シンタックス要素がこのシンタックス要素のバイナリゼーションを使用して符号化されたデータストリームを格納したデジタル記憶媒体であって、前記データストリームから以下の方法によってビデオを復号化可能な、デジタル記憶媒体であって、
前記データストリームの以前に復号化された部分に基づいて、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連する確率状態を更新することにより、バイナリー・エントロピー復号化を使用して、前記データストリームから前記バイナリゼーションのいくつかのビンを導出するステップと、
前記シンタックス要素のバイナリゼーションを逆二値化することで、前記シンタックス要素の整数値を得るステップと、
前記シンタックス要素の整数値に基づいて、量子化パラメータを使用して予測的な方法で前記ビデオを再構築するステップであって、予測残余を表現する精度を設定するために前記量子化パラメータを使用するステップと、を備え、
前記バイナリゼーションのいくつかのビンを導出するステップは、１２６個の確率状態を区別し、前記方法はさらに、前記量子化パラメータの線形方程式にしたがって前記異なるコンテキストに関連した確率状態を初期化し、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出すること、を含むデジタル記憶媒体。
【請求項３４】
前記データストリームは深度マップを含む、請求項３３に記載のデジタル記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを符号化するためのエントロピー符号化の概念に関する。
【背景技術】
【０００２】
多数のビデオコーデックが当業界で知られている。一般的に、これらのコーデックは、ビデオコンテンツを表現するために必要なデータの量を削減する。即ち、それらコーデックはデータを圧縮する。エントロピー符号化においては、実際のシンボル統計にできるだけ近く対応する確率推定を用いてシンボルを符号化することが極めて重要である。確率推定は、１つの確率の値と、符号化すべき複数のシンボルが持つ可能性のある各々の値とを関連付ける。例えばバイナリー・エントロピー符号化の場合には、シンボルはバイナリー(二値)の性質を持ち、そのような可能性のある２つの値だけが存在する。ビデオ符号化の場合には、符号化されるべきシンボルは、ビデオコンテキストを記述するための種々の作業を実行する様々なシンタックス要素に属している。即ち、動きベクトル差、符号化モード、予測残余を表す変換係数レベルなどが存在する。第１に、これらシンタックス要素の全ては可能性のある値の１つの異なるドメインを有しており、可能性のある値の同じドメイン上に定義されたそれらシンタックス要素でさえも、可能性のある値のこのドメインに亘って異なる発生頻度ヒストグラムを示す可能性が高い。従って、これらシンタックス要素のシンボル化／バイナリゼーションのシンボルストリング／ビンストリングのシンボル／ビンもまた、シンボルアルファベットについての確率分布に関して異なる統計を示す。そのため、コンテキスト適応型エントロピー符号化が使用される。まず、異なるコンテキストが供給されるが、このとき、各コンテキストは異なる確率推定に関連付けられている。従って、例えば異なるシンタックス要素のビンを異なるコンテキストに割り当てる可能性が高い。ビデオのある画像の隣接する部分に関するシンタックス要素のビン同士／シンボル同士の間の空間的な相互関係でさえも、提供された様々なコンテキストの中からの選択のために利用されてもよい。このような手法で、ビン／シンボルをグループに分類することが可能であり、それらグループのシンボル統計も、異なるビデオコンテキストについては同様に変化する。しかしながら、それ以外にも、これらコンテキストに関連付けられた確率推定は、符号化の間に実際のシンボル統計に対して継続的に適応される。
【０００３】
上述の説明から、コンテキストを注意深くデザインし、かつコンテキストの確率推定を適切に初期化することが重要であることが直ぐに分る。例えば、コンテキストの数が過大となった場合には、個々のコンテキスト内の各シンボルの発生頻度が低すぎるために、確率推定の適応は失敗するであろう。他方、コンテキストの数が過少である場合には、個々のコンテキスト内に集められたシンボルが実際上は異なる統計を持つため、確率推定がそれぞれのコンテキスト内のこれら全てのシンボルの実際のシンボル統計を厳密に近似することは不可能であろう。確率推定の初期化に関する限り、この確率推定の初期化は、ビデオコンテンツの代表的ブレンドに対して符号化が施されて、シンタックス要素のサンプル統計が研究されるような、ある練習段階を実行することから取得されてもよい。このとき、例えばＨ．２６４においては、Ｈ．２６４の種々のコンテンツのシンボルのシンボル統計が、符号器がビデオの個々のスライスのために選択する量子化パラメータＱＰに対する依存性を部分的に示す、という点が利用されてきた。つまり、Ｈ．２６４においては、量子化パラメータに依存する確率推定の初期化が使用されてきた。特に、Ｈ．２６４コーデックは各コンテキストについて一対の値を定義している。つまり、線形の量子化パラメータに依存する因子即ち傾きと、オフセット値即ち量子化パラメータから独立した初期化の値と、である。両方の値とも８ビットで定義されていた。
【０００４】
ビデオ符号化の符号化効率をさらに改善したいという要望が絶え間なく存在する。従って、上述したコンテキスト適応型バイナリー・エントロピー符号化を効率の点でさらに改善できるならば、即ち、圧縮率を一方とし、実装の複雑さを他方とする妥協点において改善できるならば、好ましいことである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＷＯ２０１１／１２８２６８Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の目的は、上述したようなコーティングの概念を提供することである。
【課題を解決するための手段】
【０００７】
この目的は、添付した独立請求項の要旨によって達成される。
【０００８】
本発明の基本的な知見は、発明者らの以下のような発見に基づいている。即ち、コンテキスト適応型バイナリー・エントロピー符号化における上述した傾きとオフセットとの精度は高過ぎるべきでないということであり、その理由は、個々のコンテキストについての傾きとオフセットとの対を導出するために、ビデオコンテンツの代表的ブレンドが検査されるいかなる練習段階も、ビデオの統計的母集団の代表値よりも、実際に検査されたビデオコンテンツのブレンドを事実上より近似して表現するような、最適値に固執するのを避けるためである。従って、本発明の発明者らは、コンテキストの確率推定を初期化するために、傾きとオフセットとの値を提供する精度を低減することが好ましいことを発見した。発明者らは、このような低減が、例えば傾きとオフセットとの対を記憶するためにビデオエンコーダ及びデコーダに対して課せられるメモリー需要における低減をもたらすだけではなく、現場における符号化効率を試験するなかで符号化効率が僅かに向上することを実感した。
【０００９】
本発明の好適な実施形態は、以下に図面を参照しながら説明する。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るエンコーダのブロック図を示す。
【図２】２Ａ〜２Ｃはピクチャなどのサンプルアレイからブロックへの様々なサブ分割を概略的に示す。
【図３】一実施形態に係るデコーダのブロック図を示す。
【図４】一実施形態に係るエンコーダのブロック図を更に詳細に示す。
【図５】一実施形態に係るデコーダのブロック図を更に詳細に示す。
【図６】ブロックの空間ドメインからスペクトルドメインへの変換と、結果的に得られる変換ブロックとその再変換とを概略的に示す。
【図７】一実施形態に係るエンコーダのブロック図を示す。
【図８】図８のエンコーダによって生成されたビットストリームを復号化するのに適した、一実施形態に係るデコーダのブロック図を示す。
【図９】多重化された部分的ビットストリームを有する、一実施形態に係るデータパケットを示す概略図である。
【図１０】固定サイズのセグメントを使用する別のセグメンテーションを持つ、他の実施形態に係るデータパケットを示す概略図である。
【図１１】モード切替えを支持する一実施形態に係るデコーダを示す。
【図１２】モード切替えを支持する他の実施形態に係るデコーダを示す。
【図１３】図１１のデコーダに適合する、一実施形態に係るエンコーダを示す。
【図１４】図１２のデコーダに適合する、一実施形態に係るエンコーダを示す。
【図１５】pStateCtxとfullCtxState/256とのマッピングを示す。
【図１６】本発明の一実施形態に係るデコーダを示す。
【図１７】本発明の一実施形態に係るエンコーダを示す。
【発明を実施するための形態】
【００１１】
図を説明する中で、これらの図の幾つかに登場する構成要素は、それらの図の各々において同じ参照符号で示し、不要な反復を避けるために、機能に関する限りはそれら構成要素の繰返しの説明を省略する。しかしながら、１つの図面に関して与えられた機能及び説明は、明示の断りがない限りは他の図面にも適用されるものとする。
【００１２】
以下に、まず全体的なビデオ符号化概念の実施形態を図１〜図１７に関して説明する。図１〜図６は、シンタックスレベルで動作するビデオコーデックの部分に関連する。続く図８〜図１７は、シンタックス要素ストリームからデータストリームへの変換と、その逆とに関する符号化部分の実施形態に関連する。次に、本発明の具体的な態様及び実施形態を、図１〜図１７に関して説明される全体的な概念の可能性のある実施の形態として説明する。
【００１３】
図１は本発明の諸態様が実施され得るエンコーダ１０の一例を示す。
【００１４】
エンコーダは、情報サンプルのアレイ２０をデータストリームへと符号化する。情報サンプルのアレイは、例えば明るさ値、色彩値、輝度値及びクロマ値などに対応する情報サンプルを表してもよい。しかし、情報サンプルはまた、サンプルアレイ２０が例えば光センサーの時間などによって生成された深度マップである場合には、深度値であってもよい。
【００１５】
エンコーダ１０はブロック・ベースの符号器である。即ち、エンコーダ１０は、サンプルアレイ２０をブロック４０の単位でデータストリーム３０へと符号化する。ブロック４０の単位での符号化は、必ずしもエンコーダ１０がこれらブロック４０を完全に互いに独立して符号化することを意味するものではない。むしろ、エンコーダ１０は、残りのブロックを外挿又はイントラ予測するために、以前に符号化されたブロックの復元を使用してもよいし、符号化パラメータを設定するために、即ちそれぞれのブロックに対応する各サンプルアレイ領域が符号化される方法を設定するために、ブロックの粒度を使用してもよい。
【００１６】
また、エンコーダ１０は変換符号器である。即ち、エンコーダ１０は、各ブロック４０内の情報サンプルを空間ドメインからスペクトルドメインに移すための変換を使用することで、ブロック４０を符号化する。ＦＦＴのＤＣＴなどのような二次元変換が使用されてもよい。好ましくは、ブロック４０は正方形又は長方形である。
【００１７】
図１に示すサンプルアレイ２０からブロック４０へのサブ分割は、単に説明の目的を担うだけのものである。図１は、相互に重ならないように隣接する正方形又は長方形のブロック４０の規則的な二次元配置へとサブ分割された状態としての、サンプルアレイ２０を示す。ブロック４０のサイズは予め決定されてもよい。つまり、エンコーダ１０は、ブロック４０のブロックサイズについての情報をデータストリーム３０内で復号側に伝送しなくてもよい。例えば、デコーダはその予め決定されたブロックサイズを予想してもよい。
【００１８】
しかし、複数の代替例が可能である。例えば、ブロックは相互にオーバーラップしてもよい。しかし、その重なりの程度は、各ブロックがいずれの隣接ブロックにも重ならない部分を有するように、又は、ブロックの各サンプルが所定の方向に沿って現在のブロックに並置して配される隣接ブロックの中で最大でも１ブロックにしか重ならないように、制限される。後者は、左右の隣接ブロックが現在のブロックを完全に覆うように重なることができるが、隣接ブロック自体は互いに重ならないことを意味する。同じことが縦方向及び対角方向での隣接についても当てはまる。
【００１９】
更なる代替例として、サンプルアレイ２０のブロック４０へのサブ分割をエンコーダ１０によりサンプルアレイ２０のコンテンツに適用し、サブ分割で使用されたサブ分割情報をビットストリーム３０を介してデコーダ側に転送してもよい。
【００２０】
図２ａ〜２ｃは、サンプルアレイ２０のブロック４０へのサブ分割についての異なる例を示す。図２ａは、異なるサイズのブロック４０へのサンプルアレイ２０の四分木ベースのサブ分割を示し、ここでは、代表的なブロックを４０ａ、４０ｂ、４０ｃ及び４０ｄによって示し、この順序でサイズが増大している。図２ａのサブ分割によると、サンプルアレイ２０は、最初に、ツリーブロック４０ｄの規則的な二次元配置に分割される。これらツリーブロック４０ｄは、それに関連付けられて、あるツリーブロック４０ｄが、四分木構造に従ってさらにサブ分割されるか否かに関する個別のサブ分割情報を有する。ブロック４０ｄの左側のツリーブロックは、例示的に、四分木構造に従って、更に小さいブロックへとサブ分割されている。エンコーダ１０は、図２ａにおいて実線及び破線で示したブロックの各々について、１つの二次元変換を実行してもよい。換言すると、エンコーダ１０は、ブロックのサブ分割の単位でアレイ２０を変換することができる。
【００２１】
四分木ベースのサブ分割の代わりに、より一般的な複分木ベースのサブ分割を用いてもよく、階層レベルあたりの子ノードの数は、異なる階層レベル間で異なっていてもよい。
【００２２】
図２ｂはサブ分割についての他の例を示す。図２ｂによると、サンプルアレイ２０は、最初に、互いに重ならずに隣接する規則的な二次元配置のマクロブロック４０ｂに分割される。ここで、各マイクロブロック４０ｂにはサブ分割情報が関連付けられており、このサブ分割情報によって、マイクロブロックは、サブ分割されないか、又はサブ分割される場合には異なるマイクロブロックについては異なるサブ分割粒度が達成されるように、規則的な二次元の方法で同じサイズのサブブロックにサブ分割される。その結果は、サンプルアレイ２０の異なるサイズのブロック４０へのサブ分割となり、異なるサイズの代表例が４０ａ、４０ｂ及び４０ａ'で示されている。図２ａに示されているように、エンコーダ１０は、図２ｂに実線及び破線で示すブロックの各々に二次元変換を実行する。図２ｃについては後述する。
【００２３】
図３は、エンコーダ１０によって生成されたデータストリーム３０を復号化してサンプルアレイ２０の復元バージョン６０を復元することができるデコーダ５０を示す。デコーダ５０は、データストリーム３０からブロック４０の各々についての変換係数ブロックを抽出し、変換係数ブロックの各々に逆変換を実行することによって、復元バージョン６０を復元する。
【００２４】
エンコーダ１０及びデコーダ５０は、変換係数ブロックについての情報を挿入し、またこの情報をデータストリームから抽出するために、エントロピー符号化／復号化をそれぞれ実行するように構成されてもよい。これに関する詳細は後述する。なお、データストリーム３０は、必ずしもサンプルアレイ２０の全てのブロック４０に対して、変換係数ブロックの情報を含んでいなくてもよい。寧ろ、ブロック４０の部分集合が、他の手法でビットストリーム３０に符号化されてもよい。例えば、エンコーダ１０は、ブロック４０うちのあるブロックについての変換係数ブロックを挿入することをやめるように判断し、代わりに、代替の符号化パラメータをビットストリーム３０内に挿入して、デコーダ５０がそれを予測できるようにするか、又は復元されたバージョン６０内のそれぞれブロックを満たせるようにしてもよい。例えば、エンコーダ１０は、復号側でデコーダによるテクスチャ合成を行ってサンプルアレイ２０が満たされるように、サンプルアレイ２０内にブロックを配置するためのテクスチャ解析を行い、これをビットストリーム内で適宜示すようにしてもよい。
【００２５】
以降の図面において説明するように、変換係数ブロックは、必ずしも、サンプルアレイ２０のそれぞれのブロック４０の元の情報サンプルのスペクトルドメイン表現を表す必要はない。寧ろ、そのような変換係数ブロックは、それぞれのブロック４０の予測残余のスペクトルドメイン表現を表してもよい。図４はそのようなエンコーダの実施形態を示す。図４のエンコーダは、変換ステージ１００、エントロピー符号器１０２、逆変換ステージ１０４、予測器１０６、減算器１０８及び加算器１１０を備える。減算器１０８と変換ステージ１００とエントロピー符号器１０２とは、この順序で図４のエンコーダの入力１１２と出力１１４との間に直列に接続される。逆変換ステージ１０４と加算器１１０と予測器１０６とは、この順序で変換ステージ１００の出力と減算器１０８の反転入力との間に接続され、予測器１０６の出力はまた、加算器１１０の他の入力に接続されている。
【００２６】
図４のコーダは、予測変換ベースのブロックコーダである。即ち、入力１１２に入るサンプルアレイ２０のブロックが、同じサンプルアレイ２０の以前に符号化および再構築された部分から、又は、以前に符号化および再構築された他のサンプルアレイであって、上演時間において現在のサンプルアレイ２０に先行又は後続してもよいサンプルアレイから、予測される。予測は、予測器１０６によって実行される。減算器１０８は、そのような元のブロックから予測値を減算し、変換ステージ１００は、予測残余について二次元変換を実行する。変換ステージ１００内における二次元変換そのもの又は後続の処理が、変換係数ブロック内の変換係数の量子化を導いてもよい。量子化された変換係数ブロックは、例えば、エントロピー符号器１０２内でエントロピー符号化によってロスレスで符号化され、結果として得られるデータストリームは、出力１１４で出力される。逆変換ステージ１０４は量子化された残余を再構築し、続く加算器１１０は、再構築された残余と対応する予測とを結合することで再構築された情報サンプルを取得し、この情報サンプルに基づいて、予測器１０６が、上述した現在符号化されている予測ブロックを予測することができる。予測器１０６は、ブロックを予測するために、イントラ予測モード及びインター予測モードのような異なる予測モードを使用してもよく、予測パラメータは、データストリーム内への挿入のためにエントロピー符号器１０２に送られる。各インター予測された予測ブロックについて、それぞれの動きデータがエントロピー符号器１１４を介してビットストリーム内へと挿入されることで、復号化側が予測を再現できるようになる。ピクチャの予測ブロックのための動きデータは、動きベクトル差を表すシンタックス要素を含むシンタックス部分を含んでもよく、その動きベクトル差は、現在の予測ブロックについての動きベクトルを、例えば近隣の既に符号化された予測ブロックの動きベクトルから所定の方法で導出された動きベクトル予測値との比較において差分的に符号化するものであってもよい。
【００２７】
即ち、図４の実施形態によれば、変換係数ブロックは、サンプルアレイの実際の情報サンプルではなく、サンプルアレイの残余のスペクトル表示を表す。即ち、図４の実施形態によれば、シンタックス要素の列は、データストリーム１１４内へとエントロピー符号化されるために、エントロピー符号器１０２に入力されてもよい。シンタックス要素の列は、変換ブロックについて、インター予測ブロックのための動きベクトル差のシンタックス要素と、有意変換係数レベルの位置を示す有意性マップと、有意変換係数レベルそのものを定義するシンタックス要素とを含んでもよい。
【００２８】
なお、図４の実施形態には幾つかの代替例が存在し、そのうちの幾つかは明細書の導入部で記載されたものであり、その記載は、ここで図４の説明に組み込まれる。
【００２９】
図５は、図４のエンコーダによって生成されたデータストリームを復号化できるデコーダを示す。図５のデコーダは、エントロピー復号器１５０、逆変換ステージ１５２、加算器１５４及び予測器１５６を備える。エントロピー復号器１５０と逆変換ステージ１５２と加算器１５４とは、この順で図５の復号器の入力１５８と出力１６０との間に直列に接続される。エントロピー復号器１５０の他の出力が予測器１５６に接続され、次に予測器１５６は、加算器１５４の出力と他の入力との間に接続される。エントロピー復号器１５０は、入力１５８で図５のデコーダに入るデータストリームから変換係数ブロックを抽出するが、この場合、残余信号を取得するために、ステージ１５２において変換係数ブロックに逆変換が適用される。残余信号は、加算器１５４において予測器１５６からの予測と結合されることで、出力１６０におけるサンプルアレイの再構成されたバージョンの再構成されたブロックが得られる。再構成されたバージョンに基づいて予測器１５６が予測を生成し、それにより、エンコーダ側の予測器１０６によって実行された予測を再構成する。エンコーダ側で使用されたのと同じ予測を取得するために、予測器１５６は予測パラメータを用いるが、この予測パラメータは、エントロピー復号器１５０が入力１５８におけるデータストリームから取得したものである。
【００３０】
なお、上記の実施形態において、残余の予測および変換が実行される空間的粒度は相互に等しくなくてもよい。これは図２Ｃに示される。同図は、予測粒度の予測ブロックに関するサブ分割を実線で、残余粒度を破線で示している。図から分かるように、サブ分割は、相互に独立したエンコーダによって選択されてもよい。より厳密には、データストリームのシンタックスは、予測のサブ分割から独立した残余のサブ分割の定義を可能とする。代替的に、残余のサブ分割が予測のサブ分割の拡張であり、各残余ブロックが予測ブロックと等しいか、又はその適切なサブセットとなってもよい。これは、例えば図２ａ及び図２ｂに示す。ここでも、予測粒度は実線で示され、残余粒度は破線で示されている。つまり、図２ａ〜図２ｃでは、参照符号が付された全てのブロックは、１つの二次元変換が実行される残余ブロックとなる一方で、破線ブロック４０ａを包含する大きい実線ブロックが、例えば、予測パラメータ設定が個々に実行される予測ブロックとなる。
【００３１】
上述の実施形態は、（残余又は元の）サンプルのブロックがエンコーダ側で変換係数ブロックへと変換され、その変換係数ブロックがデコーダ側でサンプルの再構成されたブロックへと逆変換される、という点で共通する。この点については図６に示す。図６はサンプル２００のブロックを示す。図６の場合、このブロック２００は、例示的に、二次元でサイズが４・４のサンプル２０２である。サンプル２０２は、横方向ｘ及び縦方向ｙに沿って、規則的に配置されている。上述の二次元変換Ｔによって、ブロック２００は、スペクトルドメイン、即ち変換係数２０６のブロック２０４へと変換され、ここで、変換ブロック２０４はブロック２００と同じサイズである。即ち、変換ブロック２０４は、横方向および縦方向の両方において、ブロック２００が有するサンプルの数と同数の変換係数２０６を有する。しかし、変換Ｔはスペクトル変換であるので、変換ブロック２０４内の変換係数２０６の位置は、ブロック２００のコンテンツの空間位置ではなく、スペクトル成分に対応する。特に、変換ブロック２０４の横軸は、それに沿って横方向のスペクトル周波数が単調増加する軸に対応し、縦軸は、それに沿って縦方向の空間周波数が単調増加する軸に対応し、ここで、横方向および縦方向の両方において最も高い周波数に対応する変換係数２０６が最下段右側角に位置するように、ＤＣ成分変換係数はブロック２０４の角、ここでは例示的に最上段左角、に位置する。空間方向を無視すれば、所定の変換係数２０６が属する空間周波数は、概して最上段左角から最下段右側角へと増加する。逆変換Ｔ-1によって、変換ブロック２０４は、ブロック２００の複製２０８を再取得するように、スペクトルドメインから空間ドメインへと再伝送される。変換中に量子化／損失がもたらされない場合には、再構築は完全なものとなる。
【００３２】
既に上述したように、ブロック２００のブロックサイズが大きくなると、結果として得られるスペクトル表示２０４のスペクトル解像度は増加することが、図６から分かる。他方、量子化ノイズは、ブロック２０８全体にわたって拡がる傾向にあり、このため、ブロック２００内の急激かつ非常に局所的なオブジェクトは、量子化ノイズに起因して、元のブロック２００と比較して、再変換されたブロックに偏差をもたらす傾向がある。しかし、より大きなブロックを用いることの主な優位点は、小さなブロックに比べて大きなブロック内では、有意の、即ち非ゼロの（量子化された）変換係数、即ちレベルの数を一方とし、非有意変換係数の数を他方とする比が低減されることができ、その結果、より良い符号化効率が可能となることである。換言すると、往々にして、有意変換係数レベル、即ち、ゼロに量子化されていない変換係数レベルは、変換ブロック２０４にわたって疎らに分散される。そのため、以降にさらに詳細に記載する実施形態によると、有意変換係数レベルの位置は、有意性マップによって、データストリーム内に信号化される。これとは別に、有意変換係数の値、即ち変換係数が量子化される場合には変換係数レベルが、データストリーム内で送信される。
【００３３】
従って、上述した全てのエンコーダ及びデコーダは、シンタックス要素の所定のシンタックスを扱うように構成されている。つまり、変換係数レベル、変換ブロックの有意性マップに関するシンタックス要素、インター予測ブロックに関する動きデータのシンタックス要素などのような上述したシンタックス要素は、所定の方法でデータストリーム内に連続的に配置されると推定されている。そのような所定の方法は、例えばＨ２６４標準または他のビデオコーデックにおいて行われたような疑似コードの形態で表現されてもよい。
【００３４】
更に換言すれば、上述の記載は、ここでは例示的にビデオデータであるメディアデータから、所定のシンタックス要素タイプを規定する予め定義されたシンタックス構造に従うシンタックス要素列への変換と、その意味論と、それらの間の順序とを、主に扱うものである。図４と図５のエントロピーエンコーダ及びエントロピーデコーダは、次に記載するように動作し、構成されてもよい。それらエンコーダ及びデコーダは、シンタックス要素列とデータストリーム、即ちシンボル又はビットのストリームとの間の変換を実行する役割を担う。
【００３５】
本発明の実施形態に係るエントロピーエンコーダを図７に示す。このエンコーダは、シンタックス要素のストリーム３０１を２つ以上の部分的ビットストリーム３１２の集合へとロスレスに変換する。
【００３６】
本発明の好適な一実施形態においては、各シンタックス要素３０１は、１つ以上のカテゴリー、即ちシンタックス要素タイプからなる１つの集合のカテゴリーと関連付けられている。一例として、カテゴリーはシンタックス要素のタイプを特定することができる。ハイブリッド・ビデオ符号化のコンテキストにおいては、マクロブロック・符号化モード、ブロック・符号化モード、参照ピクチャーインデックス、動きベクトル差、サブ分割フラグ、符号化されたブロックフラグ、量子化パラメータ、変換係数レベルなどに対し、別個のカテゴリーが関連付けられてもよい。オーディオ、スピーチ、テキスト、文書、又は汎用データ符号化などの他のアプリケーション分野において、シンタックス要素のさまざまな分類が可能である。
【００３７】
一般的に、各シンタックス要素は有限又は可算無限の集合の値を取ることができ、ここで、可能性のあるシンタックス要素値の集合は、異なるシンタックス要素カテゴリーごとに異なることができる。例えば、バイナリーのシンタックス要素も整数値のシンタックス要素も存在する。
【００３８】
符号化および復号化のアルゴリズムの複雑さを低減するとともに、様々なシンタックス要素とシンタックス要素カテゴリーのための一般的な符号化および復号化の設計を可能にするため、シンタックス要素３０１はバイナリー決定（binary decisions）の順序付けられた集合へと変換され、その後、これらのバイナリー決定は単純なバイナリー・符号化アルゴリズムによって処理される。そのため、バイナライザ３０２は各シンタックス要素３０１の値をビン３０３の列（又はストリング又はワード）へ全単射的にマップする。ビン３０３の列は順序付けられたバイナリー決定の１つの集合を表す。各ビン３０３又はバイナリー決定は、２つの値からなる１セットのうちの１つの値、例えば値０と１のうちの一方をとることができる。バイナリゼーションスキームは、異なるシンタックス要素カテゴリーについては異なっていてもよい。特定のシンタックス要素カテゴリーについてのバイナリゼーションスキームは、その特定のカテゴリーのための可能なシンタックス要素値の集合及び／又はシンタックス要素の他の特性に依存することができる。
【００３９】
表１は、可算無限集合のための３つの例示的なバイナリゼーションスキームを示す。これらの可算無限集合のためのバイナリゼーションスキームは、シンタックス要素値の有限集合にも適用することができる。特に、シンタックス要素値の大きな有限集合の場合は、（使用されないビン列から生じる）非効率性を無視することができるが、このようなバイナリゼーションスキームの普遍性は、複雑性とメモリー要件の面で利点を提供する。シンタックス要素値の小さな有限集合については、可能なシンボル値の数に対してバイナリゼーションスキームを適応することが（符号化効率の点から）好ましいことが多い。
【００４０】
表２は、８つの値から成る有限集合のための３つの例示的なバイナリゼーションスキームを示す。有限集合のためのバイナリゼーションスキームは、ビン列の有限集合が冗長度のない符号を表す（かつ潜在的にビン列を並び換える）ように、ビン列の幾つかを変更することによって、可算無限集合のための普遍的バイナリゼーションスキームから導出することができる。例えば表２の切り詰めユーナリー・バイナリゼーションスキームは、普遍的ユーナリー・バイナリゼーションのシンタックス要素７のためのビン列を変更することによって作られた（表１参照）。表２の次数０の、切り詰められかつ並べ換えられた指数ゴロム・バイナリゼーションは、普遍的指数ゴロム次数０のシンタックス要素７のためのビン列を変更することによって（表１参照）、及びビン列を並び換えることによって作られた（シンボル７のための切り詰められたビン列はシンボル１に割り当てられた）。シンタックス要素の有限集合については、表２の最後のコラムに例示されるように、非系統的／非普遍的なバイナリゼーションスキームを使用することも可能である。
【００４１】
【表１】
2018186527.tif 000003
【００４２】
【表２】
2018186527.tif 000004
【００４３】
バイナライザ３０２によって作成されたビン列の各ビン３０３は、パラメータ割当部３０４に順に送られる。パラメータ割当部は各ビン３０３に１つ以上のパラメータからなる１つの集合を割り当て、パラメータの関連付けられた集合を有するビン３０５を出力する。パラメータの集合は、エンコーダとデコーダにおいて全く同じ方法で決定される。パラメータの集合は、以下のパラメータのうちの１つ以上から構成されてもよい。
【００４４】
特に、パラメータ割当部３０４は、現在のビン３０３に対してコンテキストモデルを割り当てるよう構成されてもよい。例えば、パラメータ割当部３０４は、現在のビン３０３についての有効なコンテキストインデックスのうちの１つを選択してもよい。現在のビン３０３についての有効なコンテキストの集合は、ビンのタイプに依存してもよく、そのビンのタイプは、シンタックス要素３０１のタイプ／カテゴリーと、現在のビン３０３がその一部であるバイナリゼーションと、そのバイナリゼーション内における現在のビン３０３の位置と、により定義されてもよい。有効なコンテキストの集合の中からのコンテキストの選択は、以前のビンとそのビンに関連するシンタックス要素とに依存してもよい。これらコンテキストの各々は、それに関連付けされた確率モデルを有している。即ち、現在のビンに関する２つの可能なビン値のうちの１つについての確率の推定の尺度を有している。確率モデルは、特に、現在のビンに関する劣勢確率又は優勢確率を持つビン値についての確率推定の尺度であってもよく、さらに、確率モデルは、２つの可能なビン値のうちのどちらが現在のビン３０３に関して劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子によって定義されてもよい。現在のビンについて１つのコンテキストだけが有効である場合には、コンテキストの選択は行わなくてもよい。後段にて更に詳細に説明するように、パラメータ割当部３０４は、異なるコンテキストに関連付けられた確率モデルをそれぞれのコンテキストに属するそれぞれのビンの実際のビン統計へと適応させるために、確率モデルの適応を実行してもよい。
【００４５】
また、後段にて更に詳細に説明するように、パラメータ割当部３０４は、高効率（ＨＥ）モードまたは低複雑性（ＬＣ）モードのいずれが活性化されているかに依存して、異なるように動作してもよい。両方のモードにおいて、確率モデルは現在のビン３０３を、ビン符号器３１０のうちのいずれかに対し、後述するように関連付ける。この場合、パラメータ割当部３０４の動作モードは、ＬＣモードにおいて複雑性が低くなる傾向があるが、符号化効率は高効率モードにおいて高くなる。それは、個々のビン３０３を個々の符号器３１０へと関連付けるパラメータ割当部３０４がビン統計に対してより正確に適応され、結果としてＬＣモードよりもエントロピーを最適化しているからである。
【００４６】
パラメータ割当部３０４の出力であるパラメータの関連付けられた集合を有する各ビン３０５は、ビンバッファ選択部３０６に送られる。ビンバッファ選択部３０６は、入力されたビン値とこれに関連付けられたパラメータ３０５に基づいて、入力されたビン３０５の値を潜在的に変更し、出力ビン３０７(潜在的に変更済みの値を有する)を２つ以上のビンバッファ３０８のうちの１つに送る。出力ビン３０７が送られるビンバッファ３０８は、入力ビン３０５の値及び／又は関連付けられたパラメータ３０５の値に基づいて決定される。
【００４７】
本発明の好適な一実施形態において、ビンバッファ選択部３０６はビンの値を変更しない。即ち、出力ビン３０７は入力ビン３０５と常に同一の値を有する。本発明の更なる好適な実施形態においては、ビンバッファ選択部３０６は、入力ビン値３０５と、現在のビンに関する２つの可能なビン値のうちの１つについての確率推定のための関連付けられた尺度と、に基づいて、出力ビン値３０７を決定する。本発明の好適な一実施形態においては、出力ビン値３０７は、現在のビンに関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値未満（又はしきい値以下）の場合には、入力ビン値３０５と同等に設定され、他方、現在のビンに関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値以上の（又はしきい値より大きい）場合には、出力ビン値３０７は変更される（即ち入力ビン値の逆に設定される）。本発明の更なる好適な実施形態においては、出力ビン値３０７は、現在のビンに関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値より大きい（又はしきい値以上の）場合には、入力ビン値３０５と等しい値を設定され、他方、現在のビンに関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値以下（又はしきい値未満）の場合には、出力ビン値３０７は変更される（即ち入力ビン値の逆に設定される）。本発明の好適な一実施形態において、しきい値は、両方の可能なビン値の推定される確率について、値０．５に一致する。
【００４８】
本発明の更なる好適な実施形態においては、ビンバッファ選択部３０６は、入力ビン値３０５と、２つの可能なビン値のうちのどちらが現在のビンに関して劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する関連付けられた識別子と、に基づいて、出力ビン値３０７を決定する。本発明の好適な一実施形態においては、識別子が２つの可能なビン値のうちの第１のビン値が現在のビンに関して劣勢確率（又は優勢確率）を持つビン値を表すことを指定する場合、出力ビン値３０７は入力ビン値３０５と等しい値に設定され、他方、識別子が２つの可能なビン値のうちの第２のビン値が現在のビンに関して劣勢確率（又は優勢確率）を持つビン値を表すことを指定する場合、出力ビン値３０７は変更される（即ち、入力ビン値の逆に設定される）。
【００４９】
本発明の好適な一実施形態においては、ビンバッファ選択部３０６は、現在のビンに関する２つの可能なビン値のうちの１つについて確率推定のために関連付けられた尺度に基づいて、出力ビン３０７が送られるビンバッファ３０８を決定する。本発明の好適な一実施形態においては、２つの可能なビン値のうちの１つについての確率推定の尺度としての可能な値の集合は有限であり、ビンバッファ選択部３０６は、２つの可能なビン値のうちの１つに関する確率推定のための可能な各値に対し、正に１つのビンバッファ３０８を関連付けるテーブルを含み、このテーブルでは、２つの可能なビン値の１つについての確率推定の尺度の異なる値が、同じビンバッファ３０８に対して関連付けられることができる。本発明の更なる好ましい実施形態においては、２つの可能なビン値のうちの１つについての確率推定の尺度として可能な値の範囲は、幾つかの区間に区分され、ビンバッファ選択部３０６は、２つの可能なビン値のうちの１つについての確率推定の現在の尺度のための区間インデックスを決定し、更に、ビンバッファ選択部３０６は、正に１つのビンバッファ３０８をこの区間インデックスのための可能な各値に関連付けるテーブルを含み、ここでは、区間インデックスのための異なる値を同じビンバッファ３０８に対して関連付けることができる。本発明の好ましい一実施形態においては、２つの可能なビン値のうちの一方についての確率推定の逆の尺度（逆の尺度とは確率推定Ｐ及び１−Ｐを表す尺度である）を有する入力ビン３０５が、同じビンバッファ３０８に供給される。本発明の更なる好ましい実施形態においては、現在のビンに関する２つの可能なビン値のうちの一方についての確率推定の尺度を特定のビンバッファに関連付けることは、例えば作成された部分的ビットストリームが同様のビットレートを持つことを確実にするために、経時的に適応される。以下においては、区間インデックスはｐｉｐｅインデックスとも呼ばれ、そのｐｉｐｅインデックスは、精製インデックス(refinement index)と優勢確率を持つビン値を示すフラグと共に、実際の確率モデル、即ち確率推定を指示する。
【００５０】
本発明の好ましい一実施形態においては、ビンバッファ選択部３０６は、現在のビンに関して劣勢確率又は優勢確率を持つビン値の確率推定のために関連付けられた尺度に基づいて、出力ビン３０７を送るべきビンバッファ３０８を決定する。本発明の好ましい一実施形態においては、劣勢確率又は優勢確率を持つビン値の確率推定のための尺度として可能な値の集合は有限であり、ビンバッファ選択部３０６は、正に１つのビンバッファ３０８を劣勢確率又は優勢確率を持つビン値のための確率推定の可能な各値に関連付けるテーブルを含み、このテーブルでは、劣勢確率又は優勢確率を持つビン値についての確率推定の尺度のための異なる値を同じビンバッファ３０８に対して関連付けることができる。本発明の更なる好適な実施形態においては、劣勢確率又は優勢確率を持つビン値についての確率推定の尺度として可能な値の範囲は幾つかの区間に区分され、ビンバッファ選択部３０６は、劣勢確率又は優勢確率を持つビン値についての確率推定のための現在の尺度に関する区間インデックスを決定し、さらに、ビンバッファ選択部３０６は、１つのビンバッファ３０８をこの区間インデックスのための可能な各値に関連付けるテーブルを含み、このテーブルでは、区間インデックスのための異なる値を同じビンバッファ３０８に対して関連付けることができる。本発明の更なる実施形態においては、現在のビンに関して劣勢確率又は優勢確率を持つビン値についての確率推定の尺度を特定のビンバッファに関連付けることは、例えば作成された部分的ビットストリームが同様のビットレートを持つことを確実にするために、経時的に適応される。
【００５１】
２つ以上のビンバッファ３０８の各々は１つのビン符号器３１０に接続され、各ビン符号器は１つのビンバッファ３０８だけに連結されている。各ビン符号器３１０は、関連付けられたビンバッファ３０８からビンを読み出し、ビン列３０９をビット列を表す符号語３１１に変換する。ビンバッファ３０８は先入れ先出しバッファを表す。即ち、（順番において）後でビンバッファ３０８に送られるビンは、（順番において）先にビンバッファ３０８に送られたビンよりも前に符号化されることはない。特定のビン符号器３１０の出力である符号語３１１は、特定の部分的ビットストリーム３１２に書き込まれる。全体の符号化アルゴリズムは、シンタックス要素３０１を２つ以上の部分的なビットストリーム３１２へと変換し、この場合、部分的ビットストリームの数はビンバッファ及びビン符号器の数と等しい。本発明の好ましい実施形態においては、ビン符号器３１０は、可変数のビン３０９を可変数のビットからなる符号語３１１へと変換する。上記および下記に概説される本発明の実施形態の１つの利点は、ビンの符号化は（例えば、確率尺度が異なる各グループについて）並列的に実行することができる点にあり、これにより、幾つかの構成例における処理時間が短縮される。
【００５２】
本発明の実施形態の他の利点は、ビン符号器３１０によって行われるビン符号化がパラメータ３０５の様々な集合のために特別に設計できる点にある。特に、ビン符号化と符号化は、推定された確率の異なるグループ毎に（符号化効率および／又は複雑性に関して）最適化することができる。一方で、この利点は符号化／復号化の複雑性の低減を可能にする。他方では、符号化効率の向上を可能にする。本発明の好適な一実施形態においては、ビン符号器３１０は、現在のビンに関する２つの可能なビン値５のうちの１つについての確率推定の尺度の異なるグループ毎に、異なる符号化アルゴリズム（即ち、ビン列の符号語へのマッピング）を実施する。本発明の更なる好適な実施形態においては、ビン符号器３１０は、現在のビンに関して劣勢確率又は優勢確率を持つビン値についての確率推定の尺度の異なるグループ毎に、異なる符号化アルゴリズムを実施する。
【００５３】
本発明の好ましい一実施形態において、複数のビン符号器３１０−又は１つ以上のビン符号器−は、入力ビン列３０９を符号語３１１へと直接的にマップするエントロピー符号器を表している。このようなマッピングは効率的に実施することができ、複雑な算術符号化エンジンを必要としない。（デコーダで行われているような）ビン列への符号語の逆マッピングは、入力列の完全な復号化を保証するために一意的である必要があるが、ビン列３０９の符号語３１１へのマッピングは、必ずしも一意的である必要はない。即ち、１つの特定のビン列が２つ以上の符号語の列へとマップされることも可能である。本発明の好ましい一実施形態においては、入力ビン列３０９の符号語３１１へのマッピングは全単射である。本発明の更なる好ましい実施形態において、複数のビン符号器３１０−又は１つ以上のビン符号器−は、可変長の入力ビン列３０９を可変長の符号語３１１に直接的にマップするエントロピー符号器を表している。本発明の好ましい一実施形態において、出力された符号語は、一般的なハフマン符号(general Huffman codes)又は基準ハフマン符号(canonical Huffman codes)などの冗長度のない符号を表している。
【００５４】
冗長度のない符号にビン列を全単射的にマッピングするための２つの例を表３に示す。本発明の更なる好適な実施形態において、出力符号語は、エラー検出とエラー回復のために適した冗長度のある符号を表している。本発明の更なる好適な実施形態において、出力符号語は、シンタックス要素を暗号化するために適した暗号化コードを表す。
【００５５】
【表３】
2018186527.tif 000005
【００５６】
本発明の更なる好適な実施形態において、複数のビン符号器３１０−又は１つ以上のビン符号器−は、可変長の入力ビン列３０９を固定長の符号語３１１に直接的にマップするエントロピー符号器を表している。本発明の更なる好適な実施形態において、複数のビン符号器３１０(又は１つ以上のビン符号器)は、固定長の入力ビン列３０９を可変長の符号語３１１に直接的にマップするエントロピー符号器を表している。
【００５７】
本発明の一実施形態に係るデコーダを図８に示す。このデコーダは、基本的には上述のエンコーダの逆の操作を実行し、これによってシンタックス要素３２７の（以前に符号化済みの）列が、２つ以上の部分的ビットストリーム３２４の集合から復号化される。デコーダは２つの異なる処理フローを含む。即ち、エンコーダのデータフローを複製するデータ要求のためのフローと、エンコーダデータフローの逆を表わすデータフローとを含む。図８において、破線の矢印はデータ要求フローを表し、他方、実線の矢印はデータフローを表す。デコーダの構成ブロックは、基本的にエンコーダの構成ブロックを複製しているが、逆の操作を実行する。
【００５８】
シンタックス要素の復号化は、バイナライザ３１４へ送られる、新たな復号化済みシンタックス要素に対する要求３１３によってトリガーされる。本発明の好ましい一実施形態において、新たな復号化済みシンタックス要素に対する各要求３１３は、１つ以上のカテゴリーからなる集合の１つのカテゴリーに関連付けられている。このシンタックス要素に対する要求に関連付けられているカテゴリーは、対応するシンタックス要素に符号化の過程で関連付けられていたカテゴリーと同一である。
【００５９】
バイナライザ３１４は、シンタックス要素に対する要求３１３をパラメータ割当部３１６へ送られるビンに対する１つ以上の要求へとマップする。バイナライザ３１４によりパラメータ割当部３１６へ送られる、ビンに対する要求への最終応答として、バイナライザ３１４は、ビンバッファ選択部３１８から復号化済みのビン３２６を受信する。バイナライザ３１４は、復号化済みのビン３２６の受信された列と、要求されたシンタックス要素のための特定のバイナリゼーションスキームのビン列とを比較して、もし受信された復号化済みのビン３２６の列がシンタックス要素のバイナリゼーションと合致した場合には、バイナライザは、そのビンバッファを空にして、さらに、新たな復号化済みシンボルに対する要求への最終応答として、その復号化済みのシンタックス要素を出力する。もし既に受信された復号化済みのビンの列が、要求されたシンタックス要素のためのバイナリゼーションスキームのビン列のいずれとも合致しない場合には、バイナライザは、復号化済みのビンの列が、要求されたシンタックス要素のためのバイナリゼーションスキームのビン列の１つに合致するまで、ビンに対する他の要求をパラメータ割当部へと送信する。シンタックス要素に対する各々の要求ごとに、デコーダは、対応するシンタックス要素を符号化するために使用されたものと同じバイナリゼーションスキームを使用する。バイナリゼーションスキームは、異なるシンタックス要素カテゴリーごとに異なり得る。特定のシンタックス要素カテゴリーのためのバイナリゼーションスキームは、可能なシンタックス要素値の集合及び／又は特定のカテゴリーについてのシンタックス要素の他の特性に依存し得る。
【００６０】
パラメータ割当部３１６は、ビンに対する各要求に対して１つ以上のパラメータの集合を割り当て、さらにそのビンに対する要求とそれに関連付けられたパラメータの集合とを、ビンバッファ選択部に送信する。要求されたビンに対してパラメータ割当部により割り当てられたパラメータの集合は、符号化の過程において対応するビンへ割当てられたものと同一である。このパラメータの集合は、図７のエンコーダの説明の中で上述したパラメータのうちの１つ以上から構成されてもよい。
【００６１】
本発明の好適な一実施形態においては、パラメータ割当部３１６は、ビンに対する各要求と、割当部３０４が実行したのと同様のパラメータ、即ち、コンテキスト及びその関連する尺度であって現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の尺度、例えば現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値についての確率推定の尺度や、２つの可能なビン値のうちどちらが現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子などと、を関連付ける。
【００６２】
パラメータ割当部３１６は、１つ以上の既に復号化済みのシンボルの集合に基づいて、上述した確率の尺度（現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の尺度と、現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値についての確率推定の尺度と、２つの可能なビン値のうちどちらが現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子）のうちの１つ以上を決定してもよい。ビンに対する特定の要求のための確率尺度の決定は、対応するビンのためのエンコーダにおける処理を複製するものである。確率尺度を決定するために使用される復号化済みのシンボルは、同じシンボルカテゴリーの既に復号化済みの１つ以上のシンボル、（シンタックス要素に対する現在の要求に関連付けられたデータ集合に対して）空間的及び／又は時間的に隣接した位置にある（例えばサンプルのブロックやグループなどの）データ集合に対応する、同じシンボルカテゴリーの１つ以上の既に復号化済みのシンボル、又は、（シンタックス要素に対する現在の要求に関連付けられたデータ集合に対して）空間的及び／又は時間的に同一及び／又は隣接した位置にあるデータ集合に対応する、異なるシンボルカテゴリーの１つ以上の既に復号化済みのシンボルを含むことができる。
【００６３】
パラメータ割当部３１６の出力である、関連付けられたパラメータの集合を有するビンに対する各要求３１７は、ビンバッファ選択部３１８内へ送られる。関連付けられたパラメータ３１７の集合に基づいて、ビンバッファ選択部３１８は、２つ以上のビンバッファ３２０のうちの１つに向かってビンに対する要求３１９を送信し、選択されたビンバッファ３２０から復号化済みのビン３２５を受信する。復号化済みの入力ビン３２５は、潜在的に変更され、復号化済みの出力ビン３２６−潜在的に変更済みの値を有する−は、関連付けられたパラメータの集合を有するビンに対する要求３１７への最終応答として、バイナライザ３１４に送信される。
【００６４】
ビンに対する要求が送信されるべきビンバッファ３２０が選択される方法は、エンコーダ側においてビンバッファ選択部の出力ビンが送信されるべきビンバッファが選択された方法と同様である。
【００６５】
本発明の好ましい一実施形態において、ビンバッファ選択部３１８は、ビンに対する要求３１９が送信されるべきビンバッファ３２０を、現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の関連付けられた尺度に基づいて決定する。本発明の好ましい一実施形態において、２つの可能なビン値のうちの１つについての確率推定の尺度に関する可能な値の集合は有限であり、ビンバッファ選択部３１８は、正に１つのビンバッファ３２０を、２つの可能なビン値のうちの１つについての確率推定の各可能な値と関連付ける、テーブルを含み、ここで、２つの可能なビン値のうちの１つについての確率推定の尺度に関する異なる値を、同一のビンバッファ３２０と関連付けることができる。本発明の更なる好ましい実施形態において、２つの可能なビン値のうちの１つについての確率推定の尺度に関する可能な値の範囲は、複数の区間に区分され、ビンバッファ選択部３１８は、２つの可能なビン値のうちの１つについての確率推定の現在の尺度に係る区間インデックスを決定し、さらに、ビンバッファ選択部３１８は、正に１つのビンバッファ３２０を、区間インデックスに関する各可能な値と関連付けるテーブルを含み、ここで、区間インデックスに関する異なる値を、同じビンバッファ３２０に関連付けることができる。本発明の好適な一実施形態においては、２つの可能なビン値のうちの１つについての確率推定に関し、反対の尺度を有するビンに対する要求３１７（反対の尺度とは、確率推定Ｐと１−Ｐとを表す尺度同士である）は、同じビンバッファ３２０へ転送されてもよい。本発明の更なる好適な実施形態においては、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率推定の尺度と特定のビンバッファとの関連付けが、経時的に適応されてもよい。
【００６６】
本発明の更なる好適な実施形態においては、ビンバッファ選択部３１８は、ビンに対する要求３１９が送信されるべきビンバッファ３２０を、現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値についての確率推定の関連付けられた尺度に基づいて決定してもよい。本発明の好適な一実施形態においては、劣勢確率又は優勢確率を持つビン値についての確率推定の尺度に関する可能な値の集合は有限であり、ビンバッファ選択部３１８は、正に１つのビンバッファ３２０を劣勢確率又は優勢確率を持つビン値についての確率推定の各可能な値と関連付ける、テーブルを含み、ここで、劣勢確率又は優勢確率を持つビン値についての確率推定の尺度に関する異なる値を同じビンバッファ３２０と関連付けることができる。本発明の更なる好適な実施形態においては、劣勢確率又は優勢確率を持つビン値についての確率推定の尺度に関する可能な値の範囲が複数の区間へと区分され、ビンバッファ選択部３１８は、劣勢確率又は優勢確率を持つビン値についての確率推定に関する現在の尺度に係る区間インデックスを決定し、更に、ビンバッファ選択部３１８は、正に１つのビンバッファ３２０を区間インデックスに関する各可能な値と関連付ける、テーブルを含み、ここで、区間インデックスに関する異なる値を、同じビンバッファ３２０と関連付けることができる。本発明の更なる好適な実施形態においては、現在要求されているビンに関して劣勢確率又は優勢確率を持つビン値についての確率推定の尺度と特定のビンバッファとの関連付けが、経時的に適応される。
【００６７】
ビンバッファ選択部３１８は、選択されたビンバッファ３２０から復号化済みのビン３２５を受信した後で、入力ビン３２５を潜在的に変更し、出力ビン３２６−潜在的に変更済みの値を有する−をバイナライザ３１４へと送信する。ビンバッファ選択部３１８の入力／出力ビンマッピングは、エンコーダ側におけるビンバッファ選択部の入力／出力ビンマッピングの逆である。
【００６８】
本発明の好ましい一実施形態においては、ビンバッファ選択部３１８は、ビンの値を変更しないように、即ち、出力ビン３２６が入力ビン３２５と同じ値を常に有するように構成される。本発明の好ましい更なる実施形態においては、ビンバッファ選択部３１８は、入力ビン値３２５と、ビンに対する要求３１７と関連付けられた現在要求されているビンに関する２つの可能なビン値のうちの１つについての確率推定の尺度とに基づいて、出力ビン値３２６を決定する。本発明の好ましい一実施形態においては、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値未満（又はしきい値以下）である場合には、出力ビン値３２６は入力ビン値３２５と等しく設定されるが、他方、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値以上（又はしきい値より大きい）である場合には、出力ビン値３２６は変更される（即ち、入力ビン値の逆に設定される）。本発明の好ましい更なる実施形態において、出力ビン値３２６は、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値より大きい（又はしきい値以上の）場合には、入力ビン値３２５と等しく設定されるが、他方、現在のビン要求に関する２つの可能なビン値のうちの１つについての確率の尺度が特定のしきい値以下（又はしきい値未満）である場合には、出力ビン値３２６は変更される（即ち、入力ビン値の逆に設定される）。本発明の好ましい一実施形態においては、しきい値は、両方の可能なビン値についての推定された確率に関し、０．５の値に一致している。
【００６９】
本発明の更なる好ましい実施形態において、ビンバッファ選択部３１８は、入力ビン値３２５と、ビンに対する要求３１７と関連付けられており、２つの可能なビン値のうちのどちらが現在のビン要求に関して劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子と、に基づいて、出力ビン値３２６を決定する。本発明の好ましい一実施形態においては、識別子が、２つの可能なビン値のうちの第１のビン値が現在のビン要求について劣勢確率（又は優勢確率）を持つビン値を表していると指定する場合には、出力ビン値３２６は入力ビン値３２５と等しく設定され、他方、識別子が２つの可能なビン値のうちの第２のビン値が現在のビン要求について劣勢確率（又は優勢確率）を持つビン値を表していると指定する場合には、出力ビン値３２６は変更される（即ち、入力ビン値の逆に設定される）。
【００７０】
上述したように、ビンバッファ選択部は、２つ以上のビンバッファ３２０のうちの１つへ、ビンに対する要求３１９を送信する。ビンバッファ３２０は、接続されたビン復号器３２２から復号化済みのビンの列３２１を受け取る、先入れ先出しバッファを表す。ビンバッファ選択部３１８からビンバッファ３２０へ送られる、ビンに対する要求３１９への応答として、ビンバッファ３２０はビンバッファ３２０に最初に送られたそのコンテンツのビンを取り除き、それをビンバッファ選択部３１８に送信する。先にビンバッファ３２０に送信されるビンは先に取り除かれ、ビンバッファ選択部３１８へと送信される。
【００７１】
２つ以上のビンバッファ３２０の各々は、正に１つのビン復号器３２２に接続されており、各ビン復号器は１つだけのビンバッファ３２０に接続されている。各ビン復号器３２２は、分離された部分的ビットストリーム３２４からビット列を表す符号語３２３を読み出す。ビン復号器は、符号語３２３を接続されたビンバッファ３２０に送信されるビンの列３２１に変換する。全体的な復号化アルゴリズムは、２つ以上の部分的なビットストリーム３２４を複数の復号化済みシンタックス要素へ変換し、ここで、部分的ビットストリームの数はビンバッファとビン復号器の数と等しく、シンタックス要素の復号化は新しいシンタックス要素に対する要求によってトリガーされる。本発明の好適な一実施形態においては、ビン復号器３２２は、可変数のビットから成る符号語３２３を可変数のビンの列３２１へ変換する。本発明の実施形態の１つの利点は、２つ以上の部分的ビットストリームからのビンの復号化が（例えば確率尺度の異なるグループについて）並列的に実行されることができ、これによって複数の構成にかかる処理時間を短縮できるという点にある。
【００７２】
本発明の実施形態の他の利点は、ビン復号器３２２によって行われるビン復号化が、パラメータ３１７の異なる集合に対して特別に設計することができる点にある。特に、ビンの符号化と復号化は推定される確率の異なるグループ毎に（符号化効率及び／又は複雑性に関して）最適化することができる。一方で、このような最適化は、同様の符号化効率を有する現状技術のエントロピー符号化アルゴリズムと比較して、符号化／復号化の複雑性を低減できる。他方で、このような最適化は、同様の符号化／復号化の複雑性を有する現状技術のエントロピー符号化アルゴリズムと比較して、符号化効率の向上を可能にする。本発明の好適な一実施形態において、ビン復号器３２２は、現在のビン要求に関する２つの可能なビン値３１７のうちの１つについての確率推定の尺度の異なるグループ毎に、異なる復号化アルゴリズム（即ち、ビン列から符号語へのマッピング）を実行する。本発明の好適な更なる実施形態において、ビン復号器３２２は、現在要求されているビンに関する劣勢確率又は優勢確率を持つビン値についての確率推定の尺度の異なるグループ毎に、異なる復号化アルゴリズムを実行する。
【００７３】
ビン復号器３２２は、エンコーダ側における対応するビン符号器の逆マッピングを行う。
【００７４】
本発明の好ましい一実施形態において、複数のビン復号器３２２−又は１つ以上のビン復号器−は、符号語３２３をビンの列３２１に直接的にマップするエントロピー復号器を表している。このようなマッピングは効率的に実施することができ、複雑な算術符号化エンジンを必要としない。ビン列への符号語のマッピングは一意である必要がある。本発明の好ましい一実施形態においては、符号語３２３のビンの列３２１へのマッピングは全単射である。本発明の更なる好ましい実施形態において、複数のビン復号器３１０−又は１つ以上のビン復号器−は、可変長の符号語３２３を可変長のビン列３２１へと直接的にマップするエントロピー復号器を表している。本発明の好ましい実施形態において、入力された符号語は、一般的なハフマン符号又は基準ハフマン符号などの冗長度のない符号を表している。冗長度のない符号をビン列に全単射マッピングするための２つの例は表３に示されている。
【００７５】
本発明の好ましい更なる実施形態においては、複数のビン復号器３２２−又は１つ以上のビン復号器−は、固定長の符号語３２３を可変長のビン列３２１へと直接的にマップするエントロピー復号器を表している。本発明の好ましい更なる実施形態においては、複数のビン復号器３２２−又は１つ以上のビン復号器−は、可変長の符号語３２３を固定長のビン列３２１へと直接的にマップするエントロピー復号器を表している。
【００７６】
従って、図７及び図８は、シンボル３０１の列を符号化するためのエンコーダと、それを再構築するためのデコーダとについての実施の形態を示したものである。エンコーダは、幾つかのパラメータ３０５を、シンボルの列の各シンボルに対して割り当てるよう構成された割当部３０４を含む。この割当ては、シンタックス要素３０１のカテゴリーなど、シンボル列の先行するシンボル内に含まれた情報に基づいたものであり、現在のシンボルが属する表現−例えばバイナリゼーションなど−であって、シンタックス要素３０１のシンタックス構造に従って現時点で予想される表現への割り当てであり、その予想とは、先行するシンタックス要素とシンボル３０１の履歴から推定可能なものである。更に、符号器は、それぞれのエントロピー符号器へ送られたシンボル３０１をそれぞれのビットストリーム３１２へと変換するように各々が構成されている、複数のエントロピー符号器３１０と、複数のエントロピー符号器３１０のうちの選択された１つに対して各シンボル３０１を送るように構成されている選択部３０６であって、その選択がそれぞれのシンボル３０１に割り当てられたパラメータ３０５の数に基づいている、選択部３０６と、を含む。割当部３０４は、選択部３０６と統合されて、それぞれの選択部５０２が得られると考えることもできる。
【００７７】
シンボル列を再構築するためのデコーダは、それぞれのビットストリーム３２３をシンボル３２１へと変換するように各々が構成されている、複数のエントロピー復号器３２２と、シンボル列の以前に再構築済みのシンボル（図８の３２６及び３２７参照）内に含まれる情報に基づいて、再構築されるべきシンボル列の各シンボル３１５に対し、幾つかのパラメータ３１７を割り当てるよう構成された割当部３１６と、再構築されるべきシンボル列の各シンボルを、複数のエントロピー復号器３２２のうちの選択された１つから回収するよう構成されている選択部３１８であって、その選択がそれぞれのシンボルに対して定義づけられているパラメータの数に依存する、選択部３１８と、を含む。割当部３１６は、各シンボルに割り当てられたパラメータの数が、それぞれのシンボルが持つ可能性のあるシンボル値の間の分布の確率推定のための尺度を含むか又は尺度そのものとなるように構成されていてもよい。また、割当部３１６と選択部３１８とは、１つのブロック、即ち選択部４０２へと統合されると考えられてもよい。再構築されるべきシンボル列は、二値アルファベットから作成され、割当部３１６は、確率分布の推定が、二値アルファベットの２つの可能なビン値の劣勢確率又は優勢確率を持つビン値の確率推定のための尺度と、２つの可能なビン値のうちどちらが劣勢確率又は優勢確率を持つビン値を表すかの推定を指定する識別子と、から成るように構成されていてもよい。割当部３１６はさらに、再構築されるべきシンボル３１５の列の各シンボルに対し、再構築されるべきシンボル列の以前の再構築済みのシンボル内に含まれる情報に基づいて、コンテキストを内部的に割り当てるよう構成されてもよく、このとき各コンテキストは、それぞれの確率分布の推定が関連付けられた状態であり、割当部３１６はさらに、各コンテキストについての確率分布推定を、それぞれのコンテキストが割り当てられた以前に再構築済みのシンボルのシンボル値に基づいて、実際のシンボル統計に適応するよう構成されてもよい。このコンテキストは、ビデオ又はピクチャの符号化において、又は財務的なアプリケーションの場合には表において、シンタックス要素が属する位置の空間的関係又は近接性を考慮に入れてもよい。次いで、各シンボルについての確率分布の推定のための尺度が、それぞれのシンボルに割り当てられたコンテキストと関連付けられた確率分布推定に基づいて決定されてもよく、それは例えば、それぞれのシンボルに割り当てられたコンテキストと関連付けられた確率分布推定（以下の実施形態においてはｐｉｐｅインデックスと精製インデックスとによって示される）を、複数の確率分布推定の代表値（精製インデックスは切り離した状態）の１つへと、量子化するか又はそれぞれの表へのインデックスとして使用することによって実行され、それにより、（ｐｉｐｅインデックスが部分的ビットストリーム３１２を示している）確率分布推定のための尺度が取得されてもよい。選択部は、複数のエントロピー符号器と複数の確率分布推定の代表値との間で、全単射的な関連付けが定義付けられるよう構成されてもよい。選択部３１８は、シンボル列の以前に再構築済みのシンボルに基づく予め決定された決定論的な方法で、確率分布推定の範囲から複数の確率分布推定の代表値へと、量子化マッピングを経時的に変化させるよう構成されてもよい。つまり、選択部３１８は、量子化ステップのサイズ、即ち、個別の確率インデックスにマップされた確率分布の区間を変更することができ、その個別の確率インデックスは、個別のエントロピー復号器と全単射的に関連付けられていてもよい。次いで、複数のエントロピー復号器３２２は、量子化マッピングにおける変化に応答してシンボルをビットストリームへと変換する方法を適応するよう構成されてもよい。例えば、各エントロピー復号器３２２は、それぞれの確率分布推定の量子化区間内において、所定の確率分布推定に対して最適化される、即ち最適な圧縮率を有することができ、かつ、エントロピー復号器３２２が最適化されるべく変化する際に、それぞれの確率分布推定の量子化区間内においてこの所定の確率分布推定の位置を適応させるために、その符号語／シンボルの列のマッピングを変化させてもよい。選択部は、シンボルが複数のエントロピー復号器から回収されるレートのばらつきが小さくなるように、量子化マッピングを変化させるよう構成されてもよい。バイナライザ３１４に関しては、シンタックス要素が既に二値である場合には無くてもよいことに留意すべきである。さらに、復号器３２２のタイプによっては、バッファ３２０は不要である。また、バッファはその復号器内で統合されてもよい。
【００７８】
＜有限のシンタックス要素列の終了＞
本発明の好ましい実施形態において、符号化と復号化は、シンタックス要素の有限集合に対して行われる。多くの場合、静止画像、ビデオシーケンスのフレームやフィールド、画像のスライス、ビデオシーケンスのフレーム又はフィールドのスライス、又は連続的なオーディオサンプルの集合などのデータの所定の量が符号化される。シンタックス要素の有限集合の場合、一般に、符号器側で作成された部分的ビットストリームを終了させる必要がある。即ち、伝送された又は記憶された部分的ビットストリームから、全てのシンタックス要素を復号化できることが保証されなければならない。最後のビンが対応するビンバッファ３０８内へ挿入された後に、ビン符号器３１０は、完全な符号語が部分的ビットストリーム３１２に書き込まれることを保証しなければならない。もしビン符号器３１０が、ビン列を符号語に直接マッピングするエントロピー符号器を表す場合には、最後のビンをビンバッファに書き込んだ後にビンバッファに記憶されるビン列は、符号語に関連付けられているビン列を表さない場合がある（即ち、符号語に関連付けられている２つ以上のビン列の接頭語を表す場合がある）。このような場合、ビンバッファ内でそのビン列を接頭語として含むビン列に関連付けられているどのような符号語も、部分的ビットストリームに書き込まれる必要がある（ビンバッファはフラッシュされる必要がある）。これは、特定の又は任意の値を持つビンを、符号語が書き込まれるまで、ビンバッファへ挿入することにより、実行することができる。本発明の好ましい一実施形態において、ビン符号器は、（関連付けられたビン列がビンバッファ内でそのビン列を接頭語として含む必要があるという特性に加えて）最短の長さを有する符号語の１つを選択する。デコーダ側では、ビン復号器３２２は、部分的ビットストリーム内の最後の符号語に要求されるより多くのビンを復号化してもよく、これらのビンはビンバッファ選択部３１８によって要求されずに、廃棄されかつ無視される。シンボルの有限集合の復号化は、復号化済みのシンタックス要素に対する要求によって制御される。即ち、もしある量のデータに対して更なるシンタックス要素が要求されない場合、その復号化は終了する。
【００７９】
＜部分的ビットストリームの伝送と多重化＞
エンコーダによって作成される部分的ビットストリーム３１２は、別個に伝送されることが可能であり、若しくは単一のビットストリーム内へ多重化されることが可能であり、又は、部分的ビットストリームの符号語が単一のビットストリーム内へインターリーブされることが可能である。
【００８０】
本発明の一実施形態においては、ある量のデータに係る各部分的ビットストリームは１つのデータパケットへ書き込まれる。その量のデータとは、静止画像、ビデオシーケンスのフィールドやフレーム、静止画像のスライス、ビデオシーケンスのフィールド又はフレームのスライス、又はオーディオサンプルのフレームなどの、シンタックス要素の任意の集合であってもよい。
【００８１】
本発明の他の好ましい実施形態においては、ある量のデータに係る部分的ビットストリームの２つ以上、又はある量のデータに係る全ての部分的ビットストリームが、１つのデータパケット内へ多重化される。多重化された部分的ビットストリームを含むデータパケットの構造を図９に示す。
【００８２】
データパケット４００は、（考慮対象となるある量のデータに係る）各部分的ビットストリームのデータに関するヘッダと１つのパーティションとから構成される。データパケットのヘッダ４００は、データパケット（の残り）をビットストリームデータのセグメント４０２へと区分するための指示を含む。パーティション（区分）についての指示に加え、ヘッダは、更なる情報を含み得る。本発明の好ましい一実施形態においては、データパケットの区分についての指示は、ビット若しくはバイトの単位、又は多数のビット若しくは多数のバイトの単位のデータセグメントの始点位置である。本発明の好ましい一実施形態において、データセグメントの始点位置は、データパケットのヘッダ内に絶対値として符号化されており、データパケットの始点に対する位置か、若しくはヘッダの終点に対する位置か、又は先行するデータパケットの始点に対する位置である。本発明の好ましい更なる実施形態においては、データセグメントの始点位置は、差分的に符号化される。即ち、データセグメントの実際の始点と、データセグメントの始点についての予測と、の間の差のみが符号化される。この予測は、データパケットの全体のサイズ、ヘッダのサイズ、データパケット内のデータセグメントの数、先行するデータセグメントの始点位置など、既に既知であるか又は伝送された情報に基づいて導出可能である。本発明の好ましい一実施形態においては、最初のデータパケットの始点位置は符号化されないが、データパケットのヘッダのサイズに基づいて推測される。デコーダ側においては、伝送されたパーティションの指示は、データセグメントの始点を導出するために使用される。次いで、データセグメントは部分的ビットストリームとして使用され、データセグメントに含まれるデータは、対応するビン復号器に順に供給される。
【００８３】
部分的ビットストリームをデータパケット内へ多重化するための方法には、幾つかの選択肢がある。一つの方法は、部分的ビットストリームのサイズ同士が非常に近い場合は特に必要なサイド情報を低減できる方法であり、図１０に示す。データパケットのペイロード、即ちそのヘッダ４１１なしのデータパケット４１０は、予め定義された方法でセグメント４１２へと区分される。一例として、データパケットのペイロードは同一サイズのセグメントへと区分されることができる。次に、各セグメントは部分的ビットストリーム又は部分的ビットストリーム４１３の最初の部分と関連付けられる。部分的ビットストリームが関連付けられたデータセグメントよりも大きい場合には、その残りの部分４１４は、他のデータセグメントの終点における未使用のスペースに配置される。これは、ビットストリームの残りの部分が（データセグメントの終点から開始する）逆の順序で挿入される方法で実行されることができ、サイド情報が削減される。部分的ビットストリームの残りの部分とデータセグメントとの関連付け、及び、２つ以上の残りの部分がデータセグメントへ追加される場合に、１つ以上の残りの部分に関する始点は、ビットストリームの内部、例えばデータパケットヘッダ内で信号化される必要がある。
【００８４】
＜可変長符号語のインターリービング＞
幾つかのアプリケーションにおいては、１つのデータパケット内の（ある量のシンタックス要素に係る）部分的ビットストリームの上述した多重化は、次のような欠点を持つ可能性がある。即ち、一方では、小さいデータパケットにとっては、パーティションについて信号化するために必要とされるサイド情報のためのビット数が、部分的ビットストリーム内の実際のデータに対して重大になりうるため、最終的に符号化効率を低下させる。他方で、多重化は、（例えばビデオ会議アプリケーションなどの）低遅延が要求されるアプリケーションには、不向きである可能性がある。上述した多重化の場合、部分的ビットストリームが完全に作成される以前に、エンコーダがデータパケットの伝送を開始することは不可能である。なぜなら、パーティションの始点位置が事前に知られていないからである。さらに、一般に、デコーダは、データパケットの復号化を開始し得る前に、最後のデータセグメントの始点を受信するまで待機する必要がある。ビデオ会議システムのようなアプリケーションにおいては、これらの遅延は合計されて、複数のビデオピクチャを用いたシステム（特に、伝送ビットレートに近いビットレートに関して、及び１つのピクチャを符号化／復号化するために２つのピクチャ間の時間区間に近い要求をするエンコーダ／デコーダに関して）の追加的な全体的遅延となる可能性があり、このようなアプリケーションには致命的である。特定のアプリケーションに関するこのような欠点を克服するために、本発明の好ましい実施形態のエンコーダは、２つ以上のビン符号器によって生成される符号語が、単一のビットストリームにインターリーブされるよう構成され得る。インターリーブ済みの符号語を有するビットストリームは、デコーダに直接的に送信されることができる（小さなバッファ遅延を無視する場合は以下を参照）。デコーダ側においては、２つ以上のビン復号器は、復号化の順序でビットストリームから直接的に符号語を読み出す。即ち、復号化は最初に受信したビットから開始され得る。更に、部分的ビットストリームの多重化（又はインターリービング）を信号化するために、サイド情報は必要とされない。ビン復号器３２２が、グローバル・ビットバッファから可変長符号語を読み出さず、その代わりにビン復号器３２２が、グローバル・ビットバッファから固定長のビット列を常に読み出し、これら固定長のビット列をローカル・ビットバッファへ追加する場合には、デコーダの複雑さを低減するための更なる方法が得られる。ここで、各ビン復号器３２２は、分離したローカル・ビットバッファと連結されている。次いで、可変長符号語がローカル・ビットバッファから読み出される。これにより、可変長符号語の解析が並行的に実行されることができ、固定長のビット列のアクセスを同期的な方法で実行するだけでよくなり、しかし固定長のビット列のこのようなアクセスは通常は非常に迅速であるため、結果的に、全体的な復号化の複雑さは一部のアーキテクチャについて低減され得る。特定のローカル・ビットバッファへ送信されるビンの固定数は異なるローカル・ビットバッファごとに異なる場合があり、ビン復号器、ビンバッファ、又はビットバッファにおける事象としてのあるパラメータに依存して、経時的に変化し得る。しかしながら、特定のアクセスによって読み出されるビット数は特定のアクセス中に読み出される実際のビットには依存しない。これは可変長の符号語の読み出しに対する重要な違いである。固定長のビット列の読み出しは、ビンバッファ、ビン復号器、又はローカル・ビットバッファ内における所定の事象によってトリガーされる。一例として、連結されているビットバッファ内に存在しているビット数が予め定義されたしきい値を下回った場合、新たな固定長のビット列の読み出しを要求することが可能である。この場合、異なるしきい値を異なるビットバッファに対して使用することができる。エンコーダにおいては、固定長のビン列がデコーダ側でビットストリームから読み出されるのと同じ順序で、ビットストリーム内へ挿入されることを確保する必要がある。この固定長列のインターリービングと、上述したものと同様の低遅延制御とを組み合わせることも可能である。固定長のビット列のインターリービングのための好ましい実施形態を以下に説明する。このようなインターリービングのスキームについての詳細に関しては、特許文献１を参照されたい。
【００８５】
以前の符号化がビデオデータの圧縮のために使用される実施形態を説明した後で、本発明の実施形態を実行するための更なる実施形態として、圧縮率を一方とし、ルックアップテーブル及び演算のオーバーヘッドを他方とする妥協点に関して、特に効率的な構成をもたらす実施形態について説明する。特に、以下の実施形態は、演算的にあまり複雑でない可変長符号を、ビットストリームを個別にエントロピー符号化し、確率推定の部分を効率的にカバーするために使用することを可能にする。以下に説明する実施形態においては、シンボルはバイナリーの性質を持ち、以下に記載するＶＬＣ符号は、例えば［０；０．５］内の範囲を有するＲLPSによって表されるような、確率推定を効率的にカバーする。
【００８６】
特に、以下の実施形態は、図７〜図１７における個別のエントロピー符号器３１０及び復号器３２２の可能な実施形態を、それぞれ説明するものである。それらの実施形態は、ビン即ちバイナリーシンボルが、画像やビデオの圧縮アプリケーションにおいて出現する場合、それらを符号化するために適している。従って、これらの実施形態はまた、画像やビデオの符号化であって、そのようなバイナリーシンボルが、符号化されるべき１つ以上のビンストリーム３０７や、復号化されるべき１つ以上のビットストリーム３２４へとそれぞれ分割され、そのようなビンストリームの各々が、ベルヌーイ・プロセスの実現として考慮され得るような符号化に対して適用可能である。以下に説明する実施形態は、以下に説明する種々のいわゆる可変／可変符号（ｖ２ｖ符号）を使用して、ビンストリームを符号化する。ｖ２ｖ符号は、同一数の符号語を有する２つの接頭語なし符号として考えられてもよい。即ち、１次及び２次の接頭語なし符号である。１次の接頭語なし符号の各符号語は、２次の接頭語なし符号の１つの符号語と関連付けられている。以下に説明する実施形態によれば、符号器３１０及び復号器３２２のうちの少なくとも幾つかは、次のように動作する。即ち、特定のビン列３０７を符号化するために、１次の接頭語なし符号の符号語がバッファ３０８から読まれたときにはいつも、２次の接頭語なし符号の対応する符号語がビットストリーム３１２に書き込まれる。同様の過程がそのようなビットストリーム３２４を復号化するために使用されるが、但し、１次と２次の接頭語なし符号は入れ替わっている。つまり、ビットストリーム３２４を復号化するために、２次の接頭語なし符号の符号語がそれぞれのビットストリーム３２４から読まれたときにはいつも、１次の接頭語なし符号の対応する符号語がバッファ３２０に書き込まれる。
【００８７】
有利なことには、以下に説明する符号はルックアップテーブルを必要とはしない。それらの符号は、有限状態機械(finite state machines)の形態で構成可能である。ここで説明するｖ２ｖ符号は、単純な構築ルールによって生成できるので、符号語のために大きなテーブルを記憶する必要がない。代わりに、単純なアルゴリズムを使用して、符号化や復号化を実行できる。３つの構築ルールを以下に説明するが、そのうち２つはパラメータ化できる。それらは上述した確率区間の異なる部分又は互いに素な部分をもカバーし、従って、例えばこれら３つの全ての符号を（符号器３１０／復号器３２２）のうちの異なる各１つに対して各々を並行して）使用するか、又はそれらのうちの２つを使用すれば、特に有利となる。以下に説明する構築ルールを用いて、任意の確率ｐを有するベルヌーイ過程において、符号の１つが過度の符号長に関して良好に作動するように、ｖ２ｖ符号の集合を設計することが可能である。
【００８８】
上述したように、ストリーム３１２及び３２４の符号化及び復号化は、各ストリームについて独立して、又はインターリーブされる方法で実行されてもよい。しかし、この点は本件で説明するｖ２ｖ符号の部類に特有というわけではない。従って、以下の説明では、３つの構築ルールの各々について、特定の符号語の符号化及び復号化だけが説明されている。しかしながら、ここで強調しておくが、インターリービングの解決策に関連する上述した実施形態の全てもまた、本件で説明する符号、又は符号器３１０及び復号器３２２に対して、それぞれ組み合わせることが可能である。
【００８９】
構築ルール１：「ユーナリービンＰＩＰＥ」符号又は符号器３１０／復号器３２２
ユーナリービンＰＩＰＥ符号（ＰＩＰＥ＝probability interval partitioning entropy：確率区間区分エントロピー）は、いわゆる「ビンＰＩＰＥ」符号、即ち、各々が上述した確率範囲［０；０．５］の所定の確率のサブ区間に属しているバイナリーシンボル統計のデータを伝送する個々のビットストリーム３１２および３２４のいずれかの符号化に適している符号の特別なバージョンである。まず、ビンＰＩＰＥ符号の構築を説明する。ビンＰＩＰＥ符号は、少なくとも３つの符号語を有する任意の接頭語なし符号から構築することができる。１つのｖ２ｖ符号を形成するために、ビンＰＩＰＥ符号は１次及び２次の符号として接頭語なし符号を使用するが、しかし、２次の接頭語なし符号の２つの符号語は入れ替えられている。これは、２つの符号語を除いて、ビンが、ビットストリームに変更なしに書き込まれることを意味する。この技術によれば、１つの接頭語なし符号だけを情報とともに記憶するだけで済み、２つの符号語が入れ替えられることから、メモリー消費量が削減される。異なる長さの符号語を入れ替えることに意味があることに留意されたい。そうでない場合、ビットストリームは（ビンストリームの終端で発生する効果を考慮に入れずに）ビンストリームと同じ長さを有することになり得るからである。
【００９０】
この構築ルールにより、ビンＰＩＰＥ符号の顕著な特性は、（符号語のマッピングが保持されたままで）１次と２次の接頭語なし符号が入れ替えられた場合、結果として得られるｖ２ｖ符号は元のｖ２ｖ符号と同一である点にある。従って、符号化アルゴリズムと復号化アルゴリズムはビンＰＩＰＥ符号に対して同一である。
【００９１】
ユーナリービンＰＩＰＥ符号は、特殊な接頭語なし符号から構築される。この特別な接頭語なし符号は、以下のように構築される。最初に、ｎ個のユーナリー符号語から成る接頭語なし符号が、'０１'、'００１'、'０００１'からスタートして、ｎ個の符号語が生じるまで生成される。ｎはユーナリービンＰＩＰＥ符号のパラメータである。最長の符号語から、後続の(trailing)１は削除される。これは切り詰められた（truncated）ユーナリー符号（ただし、符号語'０'なし）に対応している。次に、ｎ−１個のユーナリー符号語が'１０'、'１１０'、'１１１０'からスタートして、ｎ−１個の符号語が生じるまで生成される。最長の符号語から、後続の０は削除される。これら２つの接頭語なし符号の和集合はユーナリービンＰＩＰＥ符号を生成するための入力として使用される。入れ替えられる２つの符号語は、０だけから成る符号語と１だけから成る符号語である。
【００９２】
ｎ＝４の場合の例：
番号    １次        ２次
１      ００００    １１１
２      ０００１    ０００１
３      ００１      ００１
４      ０１        ０１
５      １０        １０
６      １１０      １１０
７      １１１      ００００
【００９３】
構築ルール２：「ユーナリー・トゥ・ライス」符号およびユーナリー・トゥ・ライス符号器１０／復号器２２：
ユーナリー・トゥ・ライス符号は、切り詰められたユーナリー符号を１次符号として使用する。すなわち、ユーナリー符号語は、'１'、'０１'、'００１'からスタートして、２n＋１個の符号語が生じるまで生成され、最長の符号語から、後続の１が削除される。ｎはユーナリー・トゥ・ライス符号のパラメータである。２次の接頭語なし符号は、以下のように、１次の接頭語なし符号の符号語から構築される。０だけから成る１次の符号語に対して、符号語'１'が割り当てられる。他の全ての符号語は、１次の接頭語なし符号の対応する符号語の０の数のｎビットのバイナリー表現を有する符号語'０'の連結から成る。
【００９４】
ｎ＝３の場合の例：
番号    １次              ２次
１      １                ００００
２      ０１              ０００１
３      ００１            ００１０
４      ０００１          ００１１
５      ００００１        ０１００
６      ０００００１      ０１０１
７      ００００００１    ０１１０
８      ０００００００１  ０１１１
９      ００００００００  １
これは、無限のユーナリー符号を、ライスパラメータ２nを有するライス符号にマッピングすることと同じであることに留意されたい。
【００９５】
構築ルール３：「３つのビン」符号
３つのビン符号は次のように与えられる：
番号    １次      ２次
１      ０００    ０
２      ００１    １００
３      ０１０    １０１
４      １００    １１０
５      １１０    １１１００
６      １０１    １１１０１
７      ０１１    １１１１０
８      １１１    １１１１１
【００９６】
１次の符号（シンボル列）が固定長（常に３つのビン）であり、符号語は１の数の昇順でソートされるという特性を有している。
【００９７】
３つのビン符号の効率的な構成例を次に説明する。この３つのビン符号のための符号器と復号器は、テーブルを記憶せずに、以下のように構成することができる。
【００９８】
符号器（１０のいずれか）において、３つのビンが、ビンストリーム（即ち７）から読み出される。これらの３つのビンがたった１つの１を含む場合、この符号語'１'がビットストリームに書き込まれ、その後には、（右から００でスタートする）１の位置のバイナリー表現から成る２つのビンが続く。３つのビンがたった１つの０を含む場合、符号語'１１１'がビットストリームに書き込まれ、その後には、（右から００でスタートする）０の位置のバイナリー表現から成る２つのビンが続く。残りの符号語'０００'と'１１１'は、'０'と'１１１１１'にそれぞれマップされる。
【００９９】
復号器（２２のいずれか）において、１つのビン又はビットがそれぞれのビットストリーム２４から読み出される。１つのビン又はビットが'０'と等しい場合には、符号語'０００'がビンストリーム２１に復号化される。もしそれが'１'と等しい場合には、さらに２つのビンがビットストリーム２４から読み出される。これら２つのビットが'１１'と等しくない場合、これらのビットは、数のバイナリー表現として解釈され、２つの０と１つの１とが、この１の位置がその数によって決定されるようにビットストリームから復号化される。２つのビットが'１１'と等しい場合、さらに２つのビットが数のバイナリー表現として解釈される。この数が３より小さい場合、２つの１と１つの０とが復号化され、この数は０の位置を決定する。もしそれが３と等しい場合には、'１１１'がビンストリームに復号化される。
【０１００】
ユーナリービンＰＩＰＥ符号の効率的な構成例を次に説明する。ユーナリービンＰＩＰＥ符号のためのエンコーダとデコーダは、カウンタを使用して効率的に実装することができる。ビンＰＩＰＥ符号の構造により、ビンＰＩＰＥ符号の符号化と復号化は容易に実施できる。
【０１０１】
符号器（１０のいずれか）において、符号語の最初のビンが'０'と等しい場合、ビンは、'１'が生じるか又はｎ個の０（符号語の最初の'０'を含む）が読み出されるまで処理される。'１'が生じた場合、読み出されたビンは変更されないままでビットストリームに書き込まれる。それ以外の場合（すなわち、ｎ個の０が読み出された場合）、ｎ−１個の１がビットストリームに書き込まれる。符号語の最初のビンが'１'と等しい場合、ビンは'０'が生じるかまたはｎ−１個の１（符号語の最初の'１'を含む）が読み出されるまで処理される。'０'が生じた場合、読み出されたビンは変更されないままでビットストリームに書き込まれる。それ以外の場合（すなわち、ｎ−１個の１が読み出された場合）、ｎ個の０がビットストリームへ書き込まれる。
【０１０２】
復号器（３２２のいずれか）においては、符号器のためのアルゴリズムと同じアルゴリズムが使用される。これは、上述したようにビンＰＩＰＥ符号に関して同じであるためである。
【０１０３】
ユーナリー・トゥ・ライス符号の効率的な構成例を次に説明する。ユーナリー・トゥ・ライス符号のためのエンコーダとデコーダは、ここで説明するようにカウンタを使用して効率的に実装することができる。
【０１０４】
符号器（３１０のいずれか）において、ビンは、１が生じるかまたは２n個の０が読み出されるまで、ビンストリーム（即ち７）から読み出される。０の数がカウントされる。カウント数が２n個と等しい場合、符号語'１'がビットストリームへ書き込まれる。それ以外の場合、'０'が書き込まれ、その後に、カウントされた数のバイナリー表現がｎビットで書き込まれる。
【０１０５】
復号器（３２２のいずれか）において、１つのビットが読み出される。このビットが'１'と等しい場合、２n個の０がビンストリングに復号化される。もしこのビットが'０'と等しい場合には、ｎ個の更なるビットが読み出され、数のバイナリー表現として解釈される。０のこの数は、ビンストリームに復号化され、その後に１つの'１'が続く。
【０１０６】
換言すれば、直上で述べた実施形態は、シンボル３０３の列を符号化するためのエンコーダについて説明しており、このエンコーダは、シンボル列の以前のシンボル内に含まれる情報に基づいてこのシンボル列の各シンボルに対して幾つかのパラメータ３０５を割り当てるように構成された割当部３１６と、各々がそれぞれのエントロピー符号器３１０へ伝送されたシンボル３０７をそれぞれのビットストリーム３１２へ変換するように構成された複数のエントロピー符号器３１０と、各シンボル３０３を複数のエントロピー符号器３１０の選択された１つへ伝送するように構成された選択部６であって、この選択はそれぞれのシンボル３０３に割り当てられたパラメータ３０５の数に依存している選択部６と、を含む。この実施形態によれば、エントロピー符号器の少なくとも第１の部分集合は、シンボル３０７のストリーム内の可変長のシンボル列を、ビットストリーム３１２内に挿入されるべき可変長の符号語へとそれぞれマップするよう構成された可変長符号器であってもよく、その際に、第１の部分集合のエントロピー符号器３１０の各々は全単射マッピングルールを使用し、この全単射マッピングルールに基づいて、（２ｎ−１）≧３個の符号語を有する１次の接頭語なし符号の符号語が、１次の接頭語符号と同一である２次の接頭語なし符号の符号語へとマップされて、その結果、１次の接頭語なし符号の符号語のうち２つを除く全てが、２次の接頭語なし符号の同一の符号語にマップされる一方で、１次と２次の接頭語なし符号の２つの符号語は異なる長さを有し、かつ相互に入れ替えられた状態でマップされ、ここで、上述した確率区間の区間の異なる部分をカバーするために、エントロピー符号器同士で異なるｎを使用してもよい。第１の接頭語なし符号は、第１の接頭語なし符号の符号語が（ａ，ｂ）2，（ａ，ａ，ｂ）3，．．．，（ａ，．．．，ａ，ｂ）n，（ａ，．．．，ａ）n，（ｂ，ａ）2，（ｂ，ｂ，ａ）3，．．．，（ｂ，．．．，ｂ，ａ）n-1，（ｂ，．．．，ｂ）n-1となるよう構成され、相互に入れ替えられた状態にマップされた２つの符号語は、（ａ，．．．，ａ）nと（ｂ，．．．，ｂ）n-1とであり、ここで、ｂ≠ａでかつａ，ｂ∈｛０，１｝である。しかしながら、これに代わる方法も実行可能である。
【０１０７】
換言すれば、エントロピー符号器の第１の部分集合の各々は、それぞれのエントロピー符号器に伝送されたシンボルをそれぞれのビットストリームに変換する際に、それぞれのエントロピー符号器へ伝送された最初のシンボルを検査し、
（１）最初のシンボルがａ∈｛０，１｝と等しいかどうかを判定し、そうである場合、それぞれのエントロピー符号器は、それぞれのエントロピー符号器に伝送された後続のシンボルを検査し、
（１．１）ｂ≠ａでかつｂ∈｛０，１｝であるｂが、最初のシンボルに続く次のｎ−１個のシンボル内に生じるかどうかを判定し、そうである場合、それぞれのエントロピー符号器は、シンボルｂに至るまで、最初のシンボルの後にそれぞれのエントロピー符号器に伝送された後続のシンボルが続く状態と等しいそれぞれのビットストリームへ符号語を書き込むよう構成され、
（１．２）ｂが最初のシンボルに続く次のｎ−１個のシンボル内に全く生じないかどうかを判定し、そうである場合、それぞれのエントロピー符号器は、（ｂ，．．．，ｂ）n-1と等しいそれぞれのビットストリームへ符号語を書き込むよう構成され、又は、
（２）最初のシンボルがｂと等しいかどうかを判定し、そうである場合、それぞれのエントロピー符号器は、それぞれのエントロピー符号器に伝送された後続のシンボルを検査し、
（２．１）ａが最初のシンボルに続く次のｎ−２個のシンボル内に生じるかどうかを判定し、そうである場合、それぞれのエントロピー符号器は、シンボルａに至るまで、最初のシンボルの後にそれぞれのエントロピー符号器に伝送された後続のシンボルが続く状態と等しいそれぞれのビットストリームへ符号語を書き込むよう構成され、若しくは、
（２．２）ａが最初のシンボルに続く次のｎ−２個のシンボル内に全く生じないかどうかを判定し、そうである場合、それぞれのエントロピー符号器は、（ａ，．．．，ａ）nと等しいそれぞれのビットストリームへ符号語を書き込むよう構成されている。
【０１０８】
追加的または代替的に、エントロピー符号器１０の第２の部分集合は、可変長のシンボル列を固定長の符号語へとそれぞれマップするよう構成された可変長符号器であってもよく、その際には、第２の部分集合のエントロピー符号器の各々は全単射マッピングルールを使用し、この全単射マッピングルールに基づいて、ｂ≠ａでかつａ，ｂ∈｛０，１｝であるタイプ｛（ａ），（ｂａ），（ｂｂａ），．．．，（ｂ．．．ｂａ），（ｂｂ．．．ｂ）｝の２n＋１個の符号語を有する１次の切り詰められたユーナリー符号の符号語が、２次の接頭語なし符号の符号語へとマップされ、その結果、１次の切り詰められたユーナリー符号の符号語（ｂｂ．．．ｂ）が２次の接頭語なし符号の符号語（ｃ）へとマップされ、かつ１次の切り詰められたユーナリー符号の他の全ての符号語｛（ａ），（ｂａ），（ｂｂａ），．．．，（ｂ．．．ｂａ）｝が、ｃ≠ｄでかつｃ，ｄ∈｛０，１｝である（ｄ）を接頭語として有しかつｎビットのワードを接尾語として有するような符号語へとマップされ、ここで、各エントロピー符号器は異なるｎを使用する。エントロピー符号器の第２の部分集合の各々は、ｎビットのワードが、１次の切り詰められたユーナリー符号のそれぞれの符号語内にあるｂの数のｎビットの表現となるよう構成されてもよい。しかしながら、これに代わる代替方法も実行可能である。
【０１０９】
ここでも、それぞれの符号器１０の演算モードの観点から、エントロピー符号器の第２の部分集合の各々は、それぞれのエントロピー符号器に伝送されたシンボルをそれぞれのビットストリームへと変換する際に、ａが生じるまで、又は、それぞれのエントロピー符号器に伝送されたシンボル列の数が２n個であって列の２n個の全てのシンボルがｂであるような２n個に達するまで、それぞれのエントロピー符号器へ伝送されたシンボル列内のｂの数をカウントするよう構成されてもよく、
（１）ｂの数が２nと等しい場合には、ｃ∈｛０，１｝であるｃを２次の接頭語なし符号の符号語としてそれぞれのビットストリームへ書き込み、
（２）ｂの数が２nより小さい場合には、ｃ≠ｄでかつｄ∈｛０，１｝である（ｄ）を接頭語として有し、ｂの数に応じて決定されたｎビットのワードを接尾語として有する、それぞれのビットストリームへと２次の接頭語なし符号の符号語を書き込む。
【０１１０】
更に追加的または代替的に、エントロピー符号器１０の所定の１つは、固定長のシンボル列を可変長の符号語にそれぞれマップするよう構成された可変長符号器であってもよく、その所定のエントロピー符号器は全単射マッピングルールを使用し、この全単射マッピングルールに基づいて、１次符号の長さ３を有する２3個の符号語が２次の接頭語なし符号の符号語へとマップされ、その結果、ａ∈｛０，１｝である１次符号の符号語（ａａａ）3は、ｃ∈｛０，１｝である符号語（ｃ）にマップされ、ｂ≠ａでかつｂ∈｛０，１｝である１個だけのｂを有する１次符号の全ての３個の符号語は、接頭語としてｃ≠ｄでかつｄ∈｛０，１｝である（ｄ）を有しかつ接尾語として２ビットワードの第１の集合からのそれぞれの第１の２ビットワードを有する符号語にマップされ、１つだけのａを有する１次符号の全ての３つの符号語は、接頭語として（ｄ）を有しかつ接尾語として第１の集合の要素ではない第１の２ビットワードと２ビットワードの第２の集合からの第２の２ビットワードとの連結を有する符号語へとマップされる。符号語（ｂｂｂ）3は、接頭語として（ｄ）を有しかつ接尾語として第１の集合の要素ではない第１の２ビットワードと第２の集合の要素ではない第２の２ビットワードとの連結を有する符号語へとマップされる。１つだけのｂを有する１次符号の符号語の第１の２ビットワードは１次符号のそれぞれの符号語内のｂの位置の２ビット表現であってもよく、１つだけのａを有する１次符号の符号語の第２の２ビットワードは１次符号のそれぞれの符号語内のａの位置の２ビット表現であってもよい。しかしながら、これに代わる方法も実行可能である。
【０１１１】
ここでも、エントロピー符号器の所定の１つは、所定のエントロピー符号器に伝送されたシンボルをそれぞれのビットストリームへ変換する際に、所定のエントロピー符号器へのトリプレット（３要素から成る１組）内のシンボルを以下の点について検査するよう構成されてもよい。即ち、
（１）トリプレットは複数のａから成るか否かが検査され、そうである場合には、所定のエントロピー符号器がそれぞれのビットストリームへ符号語（ｃ）を書き込むよう構成され、
（２）トリプレットが１つだけのｂを含むか否かが検査され、そうである場合には、所定のエントロピー符号器が（ｄ）を接頭語として有しかつトリプレット内のｂの位置の２ビットの表現を接尾語として有する符号語を、それぞれのビットストリームへと書き込むよう構成され、
（３）トリプレットが１つだけのａを含むか否かが検査され、そうである場合には、所定のエントロピー符号器が、（ｄ）を接頭語として有しかつ第１の集合の要素ではない第１の２ビットワードとトリプレット内のａの位置の２ビットの表現との連結を接尾語として有する符号語を、それぞれのビットストリームへと書き込むよう構成され、又は、
（４）トリプレットが複数のｂから成るか否かが検査され、そうである場合には、所定のエントロピー符号器が、（ｄ）を接頭語として有しかつ第１の集合の要素ではない第１の２ビットワードと第２の集合の要素ではない第１の２ビットワードとの連結を接尾語として有する符号語を、それぞれのビットストリームへと書き込むよう構成されてもよい。
【０１１２】
復号化側に関して、直上で説明した実施形態は、シンボル３２６の列を再構築するためのデコーダであって、各々がそれぞれのビットストリーム３２４をシンボル３２１へと変換するよう構成された複数のエントロピー復号器３２２と、シンボル列の以前に再構築されたシンボル内に含まれる情報に基づいて、再構築されるべきシンボル列の各シンボル３２６に対して幾つかのパラメータを割り当てるよう構成された割当部３１６と、複数のエントロピー復号器のうちの選択された１つから再構築されるべきシンボル列の各シンボル３２５を回収するよう構成された選択部３１８であって、その選択はそれぞれのシンボルに対して定義付けられたパラメータの数に依存する選択部３１８と、を含むデコーダを開示している。この実施形態によれば、エントロピー復号器３２２の少なくとも第１の部分集合は、可変長の符号語を可変長のシンボル列へとそれぞれマップするよう構成された可変長復号器であり、その際に、第１の部分集合のエントロピー復号器３２２の各々は全単射マッピングルールを使用し、この全単射マッピングルールに基づいて、（２ｎ−１）≧３個の符号語を有する１次の接頭語なし符号の符号語が１次の接頭語符号と同一である２次の接頭語なし符号の符号語へとマップされて、その結果、１次の接頭語なし符号の符号語のうち２つを除く全てが、２次の接頭語なし符号の同一の符号語へとマップされる一方で、１次と２次の接頭語なし符号の２つの符号語は異なる長さを有し、かつ相互に入れ替えられた状態でマップされ、ここで、各エントロピー復号器が異なるｎを使用する。第１の接頭語なし符号は、第１の接頭語なし符号の符号語が（ａ，ｂ）2，（ａ，ａ，ｂ）3，．．．，（ａ，．．．，ａ，ｂ）n，（ａ，．．．，ａ）n，（ｂ，ａ）2，（ｂ，ｂ，ａ）3，．．．，（ｂ，．．．，ｂ，ａ）n-1，（ｂ，．．．，ｂ）n-1であり、相互に入れ替えられた状態でマップされた２つの符号語が、（ａ，．．．，ａ）n及び（ｂ，．．．，ｂ）n-1であって、但しｂ≠ａでかつａ，ｂ∈｛０，１｝となるように構築することができる。しかしながら、これに代わる方法も実行可能である。
【０１１３】
エントロピー復号器の第１の部分集合の各々は、それぞれのビットストリームをシンボルに変換する際に、それぞれのビットストリームの最初のビットを以下の点について検査するよう構成されてもよい。即ち、
（１）最初のビットがａ∈｛０，１｝と等しいかどうかを判定し、そうである場合、それぞれのエントロピー復号器はそれぞれのビットストリームの後続するビットを検査するよう構成され、
（１．１）最初のビットに続く次のｎ−１個のビット内に、ｂ≠ａでかつｂ∈｛０，１｝のｂが生じるかどうかを判定し、そうである場合、それぞれのエントロピー復号器は、ビットｂに至るまで、最初のビットの後にそれぞれのビットストリームの後続のビットが続く状態と等しいシンボル列を再構築するよう構成され、若しくは、
（１．２）最初のビットに続く次のｎ−１個のビット内にｂが全く生じないかどうかを判定し、そうである場合、それぞれのエントロピー復号器は（ｂ，．．．，ｂ）n-1と等しいシンボル列を再構築するよう構成され、又は、
（２）最初のビットがｂと等しいかどうかを判定し、そうである場合、それぞれのエントロピー復号器はそれぞれのビットストリームの後続するビットを検査するよう構成され、
（２．１）ａが最初のビットに続く次のｎ−２個のビット内に生じるかどうかを判定し、そうである場合、それぞれのエントロピー復号器は、シンボルａに至るまで、最初のビットの後にそれぞれのビットストリームの後続のビットが続く状態と等しい、シンボル列を再構築するよう構成され、若しくは、
（２．２）ａが最初のビットに続く次のｎ−２個のビット内に全く生じないかどうかを判定し、そうである場合、それぞれのエントロピー復号器は（ａ，．．．，ａ）nと等しいシンボル列を再構築するよう構成されてもよい。
【０１１４】
追加的又は代替的に、エントロピー復号器３２２の少なくとも第２の部分集合は、固定長の符号語を可変長のシンボル列へとそれぞれマップするよう構成された可変長復号器であってもよく、その際に、第２の部分集合のエントロピー復号器の各々は全単射マッピングルールを使用し、この全単射マッピングルールに基づいて、２次の接頭語なし符号の符号語が、タイプ｛（ａ），（ｂａ），（ｂｂａ），．．．，（ｂ．．．ｂａ），（ｂｂ．．．ｂ）｝であって、但しｂ≠ａでかつａ，ｂ∈｛０，１｝である２ｎ＋１個の符号語を有する１次の切り詰められたユーナリー符号からなる符号語へとマップされて、その結果、２次の接頭語なし符号の符号語（ｃ）が１次の切り詰められたユーナリー符号の符号語（ｂｂ．．．ｂ）にマップされて、ｃ≠ｄおよびｃ，ｄ∈｛０，１｝である（ｄ）を接頭語として有し、かつｎビットのワードを接尾語として有する各符号語が、１次の切り詰められたユーナリー符号の他の符号語｛（ａ），（ｂａ），（ｂｂａ），．．．，（ｂ．．．ｂａ）｝のうちのそれぞれ１つへとマップされ、ここで、各エントロピー復号器は、異なるｎを使用する。エントロピー復号器の第２の部分集合の各々は、ｎビットのワードが、１次の切り詰められたユーナリー符号のそれぞれの符号語内のｂの数のｎビットの表現であるように構成されてもよい。しかしながら、これに代わる方法も実行可能である。
【０１１５】
エントロピー復号器の第２の部分集合の各々は、固定長の符号語を可変長のシンボル列へとそれぞれマップするよう構成された可変長の復号器であってもよく、それぞれのエントロピー復号器のビットストリームをシンボルに変換する際に、それぞれのビットストリームの最初のビットを以下の点について検査するよう構成されてもよい。即ち、
（１）最初のビットが、ｃ∈｛０，１｝であるｃと等しいかどうかを判定し、そうである場合、それぞれのエントロピー復号器は、ｂ∈｛０，１｝である（ｂｂ．．．ｂ）2nと等しいシンボル列を再構築するよう構成され、又は、
（２）最初のビットが、ｃ≠ｄでかつｃ，ｄ∈｛０，１｝であるｄと等しいかどうかを判定し、そうである場合、それぞれのエントロピー復号器は、最初のビットに後続する、それぞれのビットストリームのｎ個の更なるビットからｎビットのワードを決定し、そのｎビットのワードから、タイプ｛（ａ），（ｂａ），（ｂｂａ），．．．，（ｂ．．．ｂａ），（ｂｂ．．．ｂ）｝であり但しｂ≠ａでかつｂ∈｛０，１｝であって、ｂの数がｎビットのワードに依存するシンボル列を再構築するよう構成されてもよい。
【０１１６】
追加的又は代替的に、エントロピー復号器２２の所定の１つは、可変長の符号語を固定長のシンボル列へとそれぞれマップするよう構成された可変長の復号器であってもよく、その所定のエントロピー復号器は全単射マッピングルールを使用し、この全単射マッピングルールに基づいて、２次の接頭語なし符号の符号語は１次符号の長さ３の２3個の符号語へとマップされて、その結果、ｃ∈｛０，１｝である符号語（ｃ）は、ａ∈｛０，１｝である１次符号の符号語（ａａａ）3へとマップされ、ｃ≠ｄでかつｄ∈｛０，１｝である（ｄ）を接頭語として有しかつ３つの２ビットワードからなる第１の集合からそれぞれの第１の２ビットワードを接尾語として有する符号語は、ｂ≠ａでかつｂ∈｛０，１｝である１つだけのｂを有する１次符号の全ての３つの符号語へとマップされ、（ｄ）を接頭語として有しかつ第１の集合の要素ではない第１の２ビットワードと３つの２ビットワードから成る第２の集合からの第２の２ビットワードとの連結を接尾語として有する符号語は、１つだけのａを有する１次符号の全ての３つ符号語へとマップされ、（ｄ）を接頭語として有しかつ第１の集合の要素ではない第１の２ビットワードと第２の集合の要素ではない第２の２ビットワードとの連結を接尾語として有する符号語は、符号語（ｂｂｂ）3へとマップされる。１つだけのｂを有する１次符号の符号語の第１の２ビットワードは、１次符号のそれぞれの符号語内のｂの位置の２ビット表現であってもよく、また、１つだけのａを有する１次符号の符号語の第２の２ビットワードは、１次符号のそれぞれの符号語内のａの位置の２ビット表現であってもよい。しかしながら、これに代わる方法も実行可能である。
【０１１７】
エントロピー復号器の所定の１つは、可変長の符号語を、各々３つのシンボルから成るシンボル列へとそれぞれマップするよう構成された可変長の復号器であってもよく、それぞれのエントロピー復号器のビットストリームをシンボルへ変換する際に、それぞれのビットストリームの最初のビットを以下の点について検査するよう構成されてもよい。即ち、
（１）それぞれのビットストリームの最初のビットがｃ∈｛０，１｝であるｃと等しいかどうかを判定し、そうである場合、所定のエントロピー復号器がａ∈｛０，１｝である（ａａａ）3と等しいシンボル列を再構築するよう構成され、又は、
（２）それぞれのビットストリームの最初のビットがｃ≠ｄでかつｄ∈｛０，１｝であるｄと等しいかどうかを判定し、そうである場合、所定のエントロピー復号器は、それぞれのビットストリームの最初のビットに続く２個の更なるビットから第１の２ビットワードを決定するよう構成され、さらに、その第１の２ビットワードを検査して、
（２．１）その第１の２ビットワードが３つの２ビットワードからなる第１の集合の要素でないかどうかを判定し、そうである場合、所定のエントロピー復号器は、ｂ≠ａでかつｂ∈｛０，１｝である１つだけのｂを有するシンボル列を再構築するよう構成されており、ここで、それぞれのシンボル列内のｂの位置は第１の２ビットワードに依存しており、若しくは、
（２．２）第１の２ビットワードが第１の集合の要素であるかどうかを判定し、そうである場合、所定のエントロピー復号器は、その第１の２ビットワードがそこから決定されてきた２つのビットに後続する、それぞれのビットストリームの２個の更なるビットから第２の２ビットワードを決定するよう構成され、さらに、その第２の２ビットワードを検査するよう構成されて、
（３．１）その第２の２ビットワードが３つの２ビットワードから成る第２の集合の要素でないかどうかを判定し、そうである場合、所定のエントロピー復号器は、１つだけのａを有するシンボル列を再構築するよう構成されており、ここで、それぞれのシンボル列内のａの位置は第２の２ビットワードに依存しており、若しくは、
（３．２）第２の２ビットワードが３つの２ビットワードから成る第２の集合の要素であるかどうかを判定し、そうである場合、所定のエントロピー復号器は、（ｂｂｂ）3と等しいシンボル列を再構築するよう構成されてもよい。
【０１１８】
ビデオ符号化スキームの全体的な概念を説明した後で、本発明の実施形態を上述した実施形態に関して説明する。換言すれば、以下に説明する実施形態は、上述したスキームを使用して実施されてもよく、逆に、以下に説明する実施形態を使用しまた開発して、上述した符号化スキームが実施されてもよい。
【０１１９】
図７〜図９に関連して説明された上述の実施形態においては、図１〜図６のエントロピーエンコーダ及びデコーダは、ＰＩＰＥの概念に従って構成されていた。１つの特別な実施形態では、算術的な単一確率状態の符号器３１０／復号器３２２が使用されていた。以下に説明するように、他の実施形態によれば、エンティティー３０６〜３１０とそれに対応するエンティティー３１８〜３２２とは、通常のエントロピー符号化エンジンによって置き換えられてもよい。例えば、ある算術的な符号化エンジンは、ただ１つの共通状態ＲとＬを処理し、全てのシンボルを１つの共通のビットストリームへと符号化してもよく、それにより、並行処理に関する現在のＰＩＰＥ概念の有利な局面をあきらめる一方で、以下に説明するように、部分的ビットストリームをインターリーブする必要性を除去できる。そのようにすることで、更新（テーブルのルックアップ）によってコンテキストの確率が推定される基となる確率状態の数が、確率区間のサブ分割が実行される基となる確率状態の数よりも大きくなる可能性がある。つまり、テーブルＲｔａｂへとインデックス化する前に確率区間幅の値を量子化するのと同様に、確率状態インデックスもまた量子化されてもよい。従って、上述した単一の符号器３１０及び復号器３２２についての可能な構成は、コンテキスト適応型バイナリー算術符号化／復号化のエンジンとしてのエントロピー符号器／復号器３１８〜３２２／３０６〜３１０の構成例として拡大解釈可能である。
【０１２０】
更に詳細には、一実施形態によれば、（ここではコンテキスト割当部として作動する）パラメータ割当部の出力は以下のように動作してもよい：
０．割当部３０４は、確率パラメータと共にビン値を伝送する。確率はpState_current[bin]である。
１．従って、エントロピー符号化エンジンは、１）valLPSと、２）ビンと、３）確率分布推定pState_current[bin]とを受け取る。pState_current[bin]は、Rtabの識別可能な確率状態インデックスの数よりも多数の状態を有してもよい。その場合、pState_current[bin]は、例えばｍ個のＬＳＢを無視することなどによって量子化されてもよい。ここで、１つのp_state、即ち次にテーブルRtabにアクセスするために使用されるインデックスを得るために、ｍは１以上であり、恐らくは２又は３である。しかし、この量子化は行われなくてもよい。即ち、p_stateはpState_current[bin]であってもよい。
２．次に、Ｒの量子化が実行される（上述したように、１つのＲ（及び１つの共通ビットストリームを持つ対応するＬ）がp_stateの全ての識別可能な値について使用／処理されるか、又は、１つのＲ（及び各Ｒ／Ｌのペア毎の関連付けられた部分的ビットストリームを持つ対応するＬ）がp_stateの識別可能な値ごとに使用／処理されるか、であり、後者の場合は、そのような値ごとに１つのビン符号器３１０を有することと同じになるであろう。）
q_index = Qtab[R＞＞q]  (又は量子化の他の形態）
３．次に、ＲLPSとＲの決定が実行される。
ＲLPS＝Ｒtab[p_state][q_index]；Ｒtabはp[p_state]・Q[q_index]についての事前に計算された値をその中に格納済みである。
Ｒ＝Ｒ−ＲLPS （即ち、Ｒはまるで「ビン」がＭＰＳであったかのように、事前更新されている）
４．新たな部分的区間の計算:
(bin = 1 - valMPS)の場合、
Ｌ¬Ｌ＋Ｒ
Ｒ¬ＲLPS
５．ＬとＲの再正規化、ビットの書き込み。
【０１２１】
同様に、（ここではコンテキスト割当部として作動する）パラメータ割当部の出力に接続されたエントロピー復号器は、以下のように動作してもよい：
０．割当部３０４は、確率パラメータと共にビン値を伝送する。確率はpState_current[bin]である。
１．従って、エントロピー復号化エンジンは、１）valLPSと、２）確率分布推定pState_current[bin]と共に、ビンに対する要求を受け取る。pState_current[bin]は、Rtabの識別可能な確率状態インデックスの数よりも多数の状態を有してもよい。その場合、pState_current[bin]は、例えばｍ個のＬＳＢを無視することなどによって量子化されてもよい。ここで、１つのp_state、即ち次にテーブルRtabにアクセスするために使用されるインデックスを得るために、ｍは１以上であり、恐らくは２又は３である。しかし、この量子化は行わなくてもよい。即ち、p_stateはpState_current[bin]であってもよい。
２．次に、Ｒの量子化が実行される（上述したように、１つのＲ（及び１つの共通ビットストリームを持つ対応するＶ）が、p_stateの全ての識別可能な値について使用／処理されるか、又は、１つのＲ（及び各Ｒ／Ｌのペア毎の関連付けられた部分的ビットストリームを持つ対応するＶ）が、p_stateの識別可能な値ごとに使用／処理されるか、であり、後者の場合は、そのような値ごとに１つのビン符号器３１０を有することと同じになるであろう。）
q_index = Qtab[R＞＞q]  (又は量子化の他の形態）
３．次に、ＲLPSとＲの決定が実行される。
ＲLPS＝Ｒtab[p_state][q_index]；Ｒtabはp[p_state]・Q[q_index]についての事前に計算された値をその中に格納済みである。
Ｒ＝Ｒ−ＲLPS （即ち、Ｒはまるで「ビン」がＭＰＳであったかのように、事前更新されている）
４．部分的区間の位置に基づくビンの決定:
（Ｖ3Ｒ）の場合、
bin ¬ １−valMPS（ビンはＬＰＳとして復号化される。ビンバッファ選択部１８は、このビン情報及びvalMPSを使用して実際のビン値を取得する。）
Ｖ¬Ｖ−Ｒ
Ｒ¬ＲLPS
その他のとき、
bin ¬ valMPS （ビンはＭＰＳとして復号化される。このビン情報及びvalMPSを使用して実際のビン値が取得される。）
５．Ｒの再正規化、１ビットの読出しとＶの更新。
【０１２２】
上述したように、割当部４は各ビンに対してpState_current[bin]を割り当てる。その関連付けはコンテキストの選択に基づいて実行されてもよい。つまり、割当部４は、コンテキストインデックスctxIdxを使用してコンテキストを選択してもよく、そのインデックスには、それぞれのpState_currentが関連付けられている。確率の更新は、確率pState_current[bin]が現在のビンに適用される各回ごとに実行されてもよい。確率状態pState_current[bin]の更新は、符号化されたビットの値に基づいて実行される。
(bit = 1 - valMPS) の場合、
pState_current ← Next_State_LPS [pState_current]
(pState_current = 0) の場合、valMPS ← １−valMPS
その他の場合
pState_current ← Next_State_MPS [pState_current]
【０１２３】
２つ以上のコンテキストが与えられた場合、その適応は、コンテキストごとに実行される。即ちpState_current[ctxIdx]が符号化のために使用され、次に現在のビン値を使用して更新される（それぞれ符号化又は復号化される）。
【０１２４】
以下に更に詳細に説明するように、以下の実施形態によれば、エンコーダとデコーダとは、任意ではあるが、異なるモード、即ち低複雑性（ＬＣ)及び高効率（ＨＥ)のモードで動作するよう構成されてもよい。この点については、以下においては主にＰＩＰＥ符号化に関して（またＬＣ及びＨＥ−ＰＩＰＥモードについて述べながら）説明する。しかし、複雑性のスケーラビリティの詳細に関する説明は、１つの共通のコンテキスト適応型算術エンコーダ／デコーダを使用する実施形態などのような、エントロピー符号化／復号化エンジンの他の構成へと容易に転用できる。
【０１２５】
以下に説明する実施形態によれば、両方のエントロピー符号化のモードは、次の点について共有可能である。即ち、
・（シンタックス要素列３０１と３２７についてそれぞれ）同一のシンタックス及びセマンティクス
・（ＣＡＢＡＣに関して現在指定されているように）全てのシンタックス要素について同一のバイナリゼーションスキーム（即ちバイナライザは活性されたモードに関係なく動作してもよい）
・同一のＰＩＰＥ符号の使用（即ちビン符号器／復号器は、活性されたモードに関係なく動作してもよい）
・（ＣＡＢＡＣに関して現在指定されているように１６ビットの初期化値の代わりに）８ビットの確率モデル初期化値の使用。
【０１２６】
一般的に言えば、ＬＣ-ＰＩＰＥとＨＥ-ＰＩＰＥとは、各ビンのためにＰＩＰＥ経路３１２を選択する複雑性などのような、処理の複雑性において異なっている。
【０１２７】
例えば、ＬＣモードは次のような制限下に動作してもよい。即ち、各ビン(binIdx)のために、ただ１つの確率モデル、即ち１つのctxIdxが存在してもよい。つまり、ＬＣＰＩＰＥの中にコンテキスト選択／適応が準備されなくてもよい。しかし、残余符号化に使用されるシンタックス要素など特定のシンタックス要素は、以下に更に説明するように、コンテキストを使用して符号化されてもよい。更に、全ての確率モデルは非適応型であってもよい。即ち、全てのモデルは（スライスタイプとスライスＱＰとの選択に依存する）適切なモデル確率を用いて各スライスの開始時に初期化されてもよく、また、そのスライスの処理を通じて固定されていてもよい。例えば、８個の異なるＰＩＰＥ符号３１０／３２２に対応する８個の異なるモデル確率だけが、コンテキストのモデリング及び符号化の両方についてサポートされてもよい。残余符号化のための特定のシンタックス要素、即ちsignificance_coeff_flag と coeff_abs_level_greaterX （但し Ｘ＝１，２）とは、それらのセマンティクスについては以下により詳細に説明するが、例えば４個のシンタックス要素から成る（少なくとも）複数のグループが、同一のモデル確率を用いて符号化／復号化されるように、確率モデルへと割り当てられてもよい。ＣＡＢＡＣと比較して、ＬＣ−ＰＩＰＥモードは、凡そ同一のＲ−Ｄ性能と同一の処理能力とを達成できる。
【０１２８】
ＨＥ−ＰＩＰＥはＨ．２６４のＣＡＢＡＣと概念的に同様に構成されてもよいが、以下のような違いが存在する。即ち、バイナリー算術符号化（ＢＡＣ）は、（ＬＣ−ＰＩＰＥの場合と同様に）ＰＩＰＥ符号化によって置き換えられる。各確率モデル、即ち各ctxIdxは、pipeIdx と refineIdxとによって表現されてもよく、ここで、０．．．７の範囲内の値を有するpipeIdx は、８個の異なるＰＩＰＥ符号のモデル確率を表している。この変化は、状態の内部的表現に影響を与えるだけであって、状態機械（即ち確率推定）の挙動そのものに対して影響を与えるものではない。以下に更に詳細に説明するように、確率モデルの初期化は上述したような８ビットの初期化値を使用してもよい。シンタックス要素coeff_abs_level_greaterX （但し Ｘ＝１，２）、coeff_abs_level_minus3及び coeff_sign_flag（これらのセマンティクスについては以下の説明から明らかになるであろう）の後方スキャニングは、（例えば有意性マップの符号化などで使用される）前方スキャンと同じスキャニング経路で実行されてもよい。coeff_abs_level_greaterX （但し Ｘ＝１，２）の符号化のためのコンテキストの導出もまた簡素化されてもよい。ＣＡＢＡＣと比較して、本願提案のＨＥ−ＰＩＰＥは、より良好な処理量で概ね同様のＲ−Ｄ性能を達成できる。
【０１２９】
例えば、直上で述べたコンテキスト適応型バイナリー算術符号化／復号化エンジンを様々なモードにおいて動作するようにレンダリングすることによって、直上で述べたモードを容易に形成できることは、理解しやすいことである。
【０１３０】
従って、本発明の第１の態様に係る実施形態によれば、データストリームを復号化するためのデコーダは、図１１に示すように構築されてもよい。そのデコーダは、インターリーブされたビットストリーム３４０などのデータストリーム４０１を復号化するためのものであり、そのビットストリーム３４０内には、ビデオデータなどのメディアデータが符号化されている。デコーダは、データストリーム４０１に依存して、低複雑性モードまたは高効率モードを活性化するよう構成された、モードスイッチ４００を含む。この目的のために、データストリーム４０１は、バイナリーシンタックス要素などのシンタックス要素を含んでもよく、その場合、低複雑性モードが活性されるべきモードとなるバイナリー値１と、高効率モードが活性されるべきモードとなるバイナリー値０とを有してもよい。自明ではあるが、バイナリー値と符号化モードとの間の関係は切り替え可能であり、また、３つ以上の可能な値を有する非バイナリーのシンタックス要素も使用可能である。両方のモード間の実際の選択は、それぞれのシンタックス要素の受取りの前には未だ不明であるため、このシンタックス要素は、例えば固定の確率推定もしくは確率モデルを用いて符号化されるデータストリーム４０１のある先頭ヘッダの内部に含まれてもよく、又は、そのまま、即ちバイパスモードを使用して、データストリーム４０１内へと書き込まれてもよい。
【０１３１】
更に、図１１のデコーダは、複数のエントロピー復号器３２２を含み、その各々が、データストリーム４０１内の符号語を、シンボルから成る部分的シーケンス３２１へと変換するよう構成されてもよい。上述したように、デ・インターリーバ４０４が、エントロピー復号器３２２の入力を一方とし、データストリーム４０１が適用される図１１のデコーダの入力を他方として、それらの間に接続されてもよい。更に、既に上述したように、エントロピー復号器３２２の各々は、それぞれの確率区間と関連付けられてもよく、その場合、異なるエントロピー復号器の各確率区間が一緒になって、０から１の全体的確率区間（又はエントロピー復号器３２２が絶対シンボル値ではなくＭＰＳ及びＬＰＳを扱っている場合には０から０．５）をカバーしてもよい。この点に関する詳細は、上述した通りである。後段においては、復号器の数は８個であって、各復号器に１つのＰＩＰＥインデックスが割り当てられていると仮定するが、しかし、他のいかなる個数もまた可能である。更に、これらコーダの内の１つであって、以下においては例示的にpipe_id 0 を有するコーダは、同等に確からしい(equi-probable)統計を有するビン、即ちそれらのビン値が１と０とを同等に確からしいと想定しているビンに対して最適化されている。この復号器はビンを単に次へと送るだけでもよい。それぞれの符号器３１０は、同様に作動する。最高確率を有するビン値の値、即ちvalMpsに依存した、選択部４０２及び５０２のそれぞれによるいかなるビン操作も行われないこともあり得る。換言すれば、それぞれの部分的ストリームのエントロピーは、既に最適である。
【０１３２】
更に、図１１のデコーダは選択部４０２を含み、この選択部は、複数のエントロピー復号器３２２の中の選択された１つからシンボル列３２６の各シンボルを回収するよう構成されている。上述したように、選択部４０２はパラメータ割当部３１６と選択部３１８とに分解されてもよい。デ・シンボライザ３１４は、シンボル列３２６をデ・シンボライズしてシンタックス要素列３２７を取得するよう構成されている。再構築部（リ・コンストラクタ）４０４は、シンタックス要素列３２７に基づいてメディアデータ４０５を再構築するよう構成されている。選択部４０２は、矢印４０６により示すように、低複雑性モードと高効率モードとのうちの活性化された１つに依存して、選択を実行するよう構成されている。
【０１３３】
既に上述したように、再構築部４０４は、シンタックス要素の固定されたシンタックス及びセマンティクス、即ちモードスイッチ４００によるモード選択に関して固定されたものに作用する、予測的なブロック・ベースのビデオデコーダの一部であってもよい。つまり、再構築部４０４の構築は、モードが切替え可能であることによる影響を受けない。より厳密には、再構築部４０４は、モードスイッチ４００がもたらすモードの切替え可能性に起因して、実装オーバーヘッドを増大させることがなく、さらに、少なくとも残余データ及び予測データに関する機能は、スイッチ４００によって選択されたモードに関係なく同じである。同様のことがエントロピー復号器３２２に関しても当てはまる。これら全てのエントロピー復号器３２２は両方のモードにおいて再使用される。従って、図１１のデコーダが両方のモード、即ち低複雑性モードと高効率モードとに対して互換性を有しているが、追加的な実装オーバーヘッドがない。
【０１３４】
側面的な特徴として留意すべき点は、図１１のデコーダが１つのモード又は他のモードにおける自己充足型のデータストリームに対して作動できるだけではない点である。寧ろ、図１１のデータストリーム４０１とデコーダは、ビデオ又は何らかのオーディオピースの途中などのようなメディアデータの１ピースの間に、両方のモード間で切り替えることさえ可能であるように構成されてもよく、それにより、例えば電池の状態やその他の外部的または環境的条件に依存して、デコーダからエンコーダへのフィードバックチャネルを使用しながら復号化側の符号化複雑性を制御してもよく、それにより、モード選択を状況に応じてロック・ループ制御してもよい。
【０１３５】
従って、図１１のデコーダは、両方の場合即ちＬＣモードが選択されている場合とＨＥモードが選択されている場合とにおいて、同様に作動する。再構築部４０４は、シンタックス要素を使用して再構築を実行し、あるシンタックス構造指令(syntax structure prescription)を処理するか又はそれに従うことで、所定のシンタックス要素タイプの現在のシンタックス要素を要求する。デ・シンボライザ３１４は、再構築部４０４によって要求されたシンタックス要素のための有効なバイナリゼーションをもたらすために、幾つかのビンを要求する。自明ではあるが、バイナリーアルファベットの場合には、デ・シンボライザ３１４によって実行されるバイナリゼーションは、現在要求されているバイナリーシンタックスとして、それぞれのビン／シンボル３２６を再構築部４０４へと単に送るだけである。
【０１３６】
しかし、選択部４０２は、モードスイッチ４００によって選択されたモードとは独立して作動する。選択部４０２の作動モードは、高効率モードにおいては複雑さが増し、低複雑性モードにおいては複雑さが低くなる傾向にある。さらに、以下の説明から分かるように、低複雑性モードにおける選択部４０２の作動モードはまた、エントロピー復号器３２２から連続的なシンボルを回収する際に選択部４０２がエントロピー復号器３２２間の選択を変化させるレートを減少させる傾向にある。換言すれば、低複雑性モードにおいて、直接的に連続するシンボルは、複数のエントロピー復号器３２２の中の同一のエントロピー復号器から回収される確率が高くなる。これにより、エントロピー復号器３２２からのシンボルの回収をより高速化できる。他方、高効率モードにおいては、選択部４０２の作動モードは、エントロピー復号器３２２間における選択を以下のように導く傾向にある。即ち、それぞれの選択されたエントロピー復号器３２２と関連付けられた確率区間が、選択部４０２によって現時点で回収されつつあるシンボルの実際のシンボル統計により近い状態で一致するような選択であって、その結果、高効率モードに従ってそれぞれのデータストリームを生成する際に、符号化側においてより良好な圧縮率をもたらす選択である。
【０１３７】
例えば、両方のモードにおける選択部４０２の異なる挙動は、以下のように実現されてもよい。例えば、選択部４０２は、所定のシンボルについて、高効率モードが活性化している場合には、複数のエントロピー復号器３２２間の選択をシンボル列３２６の以前に回収されたシンボルに依存して実行してもよく、低複雑性モードが活性化している場合には、シンボル列の以前に回収されたシンボルから独立して実行してもよい。シンボル列３２６の以前に回収されたシンボルに対する依存性は、コンテキスト適応性及び／又は確率適応性に基づいてもよい。これら両方の適応性は、選択部４０２における低複雑性モードの期間中はスイッチオフされてもよい。
【０１３８】
更なる実施形態によれば、データストリーム４０１は、スライス、フレーム、ピクチャのグループ、フレーム列又はその他のような連続的な部分を有する構造であってもよく、シンボル列の各シンボルが複数のシンボルタイプのうちのそれぞれ１つと関連付けられていてもよい。この場合、選択部４０２は、高効率モードが活性化している場合には、現在の部分の中の所定のシンボルタイプのシンボルについて、その選択を現在の部分の中の所定のシンボルタイプのシンボル列の以前に回収されたシンボルに依存して変化させるよう構成されてもよく、低複雑性モードが活性化されている場合には、その選択が現在の部分の中で一定を保つように構成されてもよい。つまり、選択部４０２は、所定のシンボルタイプについてエントロピー復号器３２２間の選択を変更可能としてもよいが、しかし、これらの変更は、連続的な部分間の遷移の間に発生するよう制限される。このような手法により、実際のシンボル統計の評価は、発生する時間事象が稀となるよう制限され、他方、符号化の複雑性は時間的大部分の中では低減される。
【０１３９】
更に、シンボル列３２６の各シンボルは、複数のシンボルタイプの内のそれぞれ１つと関連付けられていてもよく、選択部４０２は、高効率モードが活性化している場合には、所定のシンボルタイプの所定のシンボルについて、複数のコンテキストの内の１つをシンボル列３２６の以前に回収されたシンボルに依存して選択するよう構成され、かつエントロピー復号器３２２間の選択を選択されたコンテキストに関連する確率モデルに依存して実行すると共に、所定のシンボルに依存して、選択されたコンテキストに関連する確率モデルを更新するよう構成されてもよく、他方、低複雑性モードが活性化している場合には、複数のコンテキストの内の１つをシンボル列３２６の以前に回収されたシンボルに依存して選択するよう構成され、かつエントロピー復号器３２２間の選択を選択されたコンテキストに関連する確率モデルに依存して実行すると共に、選択されたコンテキストに関連する確率モデルを維持するよう構成されてもよい。つまり、選択部４０２は、両方のモードにおいて、あるシンタックス要素タイプに関してはコンテキスト適応性を使用できる一方で、ＬＣモードの場合には、確率適応を抑制している。
【０１４０】
代替的に、確率適応を完全に抑制する代わりに、選択部４０２は、ＨＥモードと比較してＬＣモードの確率適応の更新レートを単に減少させるだけでもよい。
【０１４１】
更に、可能性のあるＬＣ−ＰＩＰＥ特有の態様、即ちＬＣモードの態様は、下記のように言い換えることもできるであろう。特に、非適応型の確率モデルをＬＣモードにおいて使用することが可能である。非適応型の確率モデルは、ハードコード化され、即ち全体的に一定の確率を有してもよく、又は、１つのスライスを処理する間を通してだけその確率が一定に保持され、よってスライスタイプ及びＱＰ、即ち例えばスライスごとにデータストリーム４０１内に信号化されている量子化パラメータに依存して設定されてもよい。同一のコンテキストに割り当てられた連続的なビンは固定の確率モデルに従うと仮定することで、それらビンの内の複数個について、それらが同一のＰＩＰＥ符号を使用して符号化されているとして、１つのステップで、即ち同一のエントロピー復号器を使用して復号化することが可能であり、また、復号化された各ビンの後の確率更新を省略できる。確率更新を省略することは、符号化および復号化プロセスの間の動作を節約できることになり、従ってまた複雑性を低減させ、ハードウエアの設計においても有意な簡素化をもたらすことになる。
【０１４２】
全ての又は幾つかの選択された確率モデルについて、このモデルを使用した所定数のビンの符号化／復号化が完了した後では確率更新が許可されるという方法で、非適応型の制約が軽減されてもよい。適切な更新区間は、複数のビンを一度に復号化する能力を持つ一方で、確率適応を可能にする。
【０１４３】
以下に、ＬＣ-ＰＩＰＥとＨＥ-ＰＩＰＥとに共通でかつ複雑性においてスケーラブルな可能性のある態様について、より詳細に説明する。特に、以下においては、ＬＣ-ＰＩＰＥモードとＨＥ-ＰＩＰＥモードに関して同一の方法で又は複雑性においてスケーラブルな方法で使用できる態様について説明する。複雑性においてスケーラブルであるとは、特別な部分を取り除くか又はその部分をそれより複雑でない何かによって置き換えることにより、ＬＣの場合がＨＥの場合から導出されるという意味である。しかしながら、この説明の前に注意すべき点がある。それは、図１１の実施形態は、上述したコンテキスト適応型バイナリー算術符号化／復号化の実施形態へと容易に変換可能であるという点であり、その場合、選択部４０２及びエントロピー復号器３２２は１つのコンテキスト適応型バイナリー算術デコーダへと凝縮されて、データストリーム４０１を直接的に受け取り、現時点でデータストリームから導出されるべきビンのためのコンテキストを選択するであろうという点である。この点は、特にコンテキスト適応性及び／又は確率適応性に関して真実である。低複雑性モードにおいては、機能性／適応性の両方がスイッチオフされてもよく、又はより緩和されて設計されてもよい。
【０１４４】
例えば、図１１の実施形態を構成する際に、エントロピー復号器３２２を含むＰＩＰＥエントロピー・符号化ステージは、８個の系統的な可変−可変符号(variable-to-variable-codes)を使用することが可能である。即ち、各エントロピー復号器３２２が、上述したｖ２ｖタイプの復号器であってもよい。系統的なｖ２ｖ符号を使用するＰＩＰＥの符号化概念は、ｖ２ｖ符号の個数を制限することで簡素化される。コンテキスト適応型バイナリー算術復号器の場合には、その復号器は、異なるコンテキストに対して同じ確率状態を取り扱うことも可能であり、それを−又はその量子化されたバージョンを−確率サブ分割のために使用することもできる。ＣＡＢＡＣ又は確率モデルの状態、即ち確率更新のために使用された状態から、ＰＩＰＥids又はＲtab内を参照するための確率インデックスへのマッピングは、表Ａに示すようなものでもよい。
【０１４５】
【表Ａ】
2018186527.tif 000006
【０１４６】
この修正された符号化スキームは、複雑性においてスケーラブルなビデオ符号化の手法のための基礎として使用されてもよい。確率モード適応を実行する場合には、選択部４０２又はコンテキスト適応型バイナリー算術復号器はＰＩＰＥ復号器３２２を選択してもよく、即ち、使用されるべきＰＩＰＥインデックスとＲｔａｂ内への確率インデックスとをそれぞれ、（ここでは例示的に０〜６２の範囲である）確率状態インデックスであって(コンテキストを介するなどにより)現時点で復号化されるべきシンボルに関連しているインデックスに基づいて、表Ａに示すマッピングを用いて導出してもよく、また現時点で復号化されたシンボルに依存して、例えばＭＰＳ及びＬＰＳの場合にそれぞれ参照されるべき次の確率状態インデックスを指摘している特定のテーブルウォーク遷移値(table walk transition values)を使用して、前記確率状態インデックスを更新してもよい。ＬＣモードの場合には、後者の更新は行わなくてもよい。グローバルに固定された確率モデルの場合には、マッピングさえ行わなくてもよい。
【０１４７】
しかしながら、任意のエントロピー符号化の設定が使用可能であり、本明細書に示す技術は軽微な適応とともに使用されることも可能である。
【０１４８】
上述した図１１の説明では、シンタックス要素およびシンタックス要素タイプについて多少一般的に説明した。以下においては、変換係数レベルの複雑性を構成可能な符号化について説明する。
【０１４９】
例えば、再構築部４０４は、シンタックス要素列の一部分に基づいて、高効率モード又は低複雑性モードが活性化されているかに関わらず、変換係数レベル２０２の変換ブロック２００を再構築するよう構成されてもよく、そのシンタックス要素列３２７のその部分が、変換ブロック２００内の非ゼロの変換係数レベルの位置を示す１つの有意性マップを定義している有意性マップシンタックス要素をインターリーブされていない状態で含んでいてもよく、次に（その後に）、それら非ゼロの変換係数レベルを定義するレベルシンタックス要素を含んでもよい。特に、次のような要素が含まれてもよい。即ち、変換ブロック内の最後の非ゼロの変換係数レベルの位置を示すエンド位置シンタックス要素(last_significant_pos_x, last_significant_pos_y)と、第１のシンタックス要素(coeff_significant_flag)であって、それらシンタックス要素が一緒になって１つの有意性マップを定義しており、更に、変換ブロック（２００）内のＤＣ位置から最後の非ゼロの変換係数レベルの位置へと繋がる一次元経路（２７４）に沿って、各位置についてそれぞれの位置にある変換係数レベルが非ゼロであるか否かについて示している第１のシンタックス要素と、第１のバイナリーシンタックス要素に従って非ゼロの変換係数レベルが位置している一次元経路（２７４）の各位置について、それぞれの位置にある変換係数レベルが１よりも大きいか否かを示す第２のシンタックス要素(coeff_abs_greater1)と、第１のバイナリーシンタックス要素に従って１よりも大きい変換係数レベルが位置している一次元経路の各位置について、それぞれの位置にあるそれぞれの変換係数レベルが１を超える量を示す第３のシンタックス要素(coeff_abs_greater2, coeff_abs_minus3)と、が含まれてもよい。
【０１５０】
エンド位置シンタックス要素と第１のシンタックス要素と第２のシンタックス要素と第３のシンタックス要素との間の順序は、高効率モードと低複雑性モードとに関して同一であってもよく、更に、選択部４０２は、シンボルについてのエントロピー復号器３２２間の選択であって、デ・シンボライザ３１４がそのシンボルからエンド位置シンタックス要素、第１のシンタックス要素、第２のシンタックス要素及び／又は第３のシンタックス要素を取得するシンボルについての選択を、活性化されている低複雑性モード又は高効率モードに依存して異なるように実行するよう構成されてもよい。
【０１５１】
特に、選択部４０２は、デ・シンボライザ３１４が第１のシンタックス要素と第２のシンタックス要素とを取得するシンボル・サブ列の中の所定のシンボルタイプの各シンボルのために、その所定のシンボルタイプの各シンボルについて、シンボル・サブ列内の所定のシンボルタイプの以前に回収されたシンボルに依存して、複数のコンテキストの内の１つを選択するよう構成されてもよく、高効率モードが活性化されている場合には、選択されたコンテキストに関連する確率モデルに依存して選択を実行し、低複雑性モードが活性化されている場合には、サブ列の一連の連続的サブ部分に亘って選択が一定となるように、ピース毎に一定の方法で選択を実行するよう構成されてもよい。上述したように、サブ部分は、一次元経路２７４に沿って測定された場合にそれぞれのサブ部分が伸びる位置の数、又は、現在のコンテキストを用いて既に符号化されたそれぞれのタイプのシンタックス要素の数として測定されてもよい。つまり、バイナリーシンタックス要素のcoeff_significant_flag, coeff_abs_greater1 及び coeff_abs_greater2は、例えばＨＥモードにおける選択されたコンテキストの確率モデルに基づいて復号器３２２を選択することで、コンテキスト適応型で符号化される。確率適応もまた使用される。ＬＣモードにおいては、各シンタックス要素coeff_significant_flag, coeff_abs_greater1 及び coeff_abs_greater2のために使用される異なるコンテキストも存在する。しかし、これらシンタックス要素の各々に関し、経路２７４に沿った第１部分についてはコンテキストが静的に保持され、経路２７４に沿った次の直後の部分への遷移部においてのみコンテキストが変化できる。例えば、各部分は、それぞれの位置に関してそれぞれシンタックス要素が存在するか否かとは関係なくブロック２００の４、８、１６個の位置分の長さを有すると定義されてもよい。例えば、coeff_abs_greater1及びcoeff_abs_greater2は、有意な位置、即ちcoeff_significant_flag が１である位置についてだけ存在する。代替的に、各部分は、結果として得られるそれぞれの部分がより多くのブロック位置に亘って延びるか否かとは関係なく、４、８、１６個のシンタックス要素分の長さを有すると定義されてもよい。例えば、coeff_abs_greater1及びcoeff_abs_greater2は、有意な位置についてだけ存在する。従って、４個のシンタックス要素の各部分は４ブロック位置を超えて延びていてもよく、そこでは、経路２７４に沿ったその間の位置について、この位置におけるそれぞれのレベルがゼロであるために、coeff_abs_greater1及びcoeff_abs_greater2などのようなシンタックス要素が全く伝送されない。
【０１５２】
デ・シンボライザが第１のシンタックス要素と第２のシンタックス要素とを取得するシンボル・サブ列の中の所定のシンボルタイプのシンボルについて、選択部４０２は、その所定のシンボルタイプの各シンボルに対して、複数のコンテキストの内の１つを選択するよう構成されてもよく、その選択は、所定のシンボル値を有しかつ同一のサブ部分に属するシンボル・サブ列内の所定のシンボルタイプの以前に回収されたシンボルの数に依存してもよいし、又は、同一のサブ部分に属するシンボルの列内の所定のシンボルタイプの以前に回収されたシンボルの数に依存してもよい。上述した実施形態によれば、第１の選択肢ではcoeff_abs_greater1が正しく、第２の選択肢ではcoeff_abs_greater2が正しい。
【０１５３】
更に、第１のバイナリーシンタックス要素に従って１よりも大きい変換係数レベルが位置している一次元経路の各位置について、それぞれの位置にあるそれぞれの変換係数レベルが１を超える量を示す第３のシンタックス要素は、整数値のシンタックス要素、即ち coeff_abs_minus3を含んでもよい。デ・シンボライザ３１４は、制御パラメータによって制御可能なマッピング関数を使用して、シンボル列ワードのドメインを整数値のシンタックス要素のコ・ドメイン(co-domain)へとマップするよう構成されてもよく、更に、各整数値のシンタックス要素ごとの制御パラメータを、高効率モードが活性化されている場合には、先行する第３のシンタックス要素の整数値のシンタックス要素に依存して設定し、低複雑性モードが活性化されている場合には、サブ列の一連の連続的サブ部分に亘ってその設定が一定となるように、ピース毎に一定の方法でその設定を実行するよう構成されてもよい。但し、選択部４０２は、整数値のシンタックス要素へとマップされたシンボル列ワードのシンボルのために、複数のエントロピー復号器（３２２）の内の所定の１つを選択するよう構成され、その１つが、高効率モードと低複雑性モードとの両方において、ある均等確率分布に関連付けられていてもよい。つまり、デ・シンボライザさえも、スイッチ４００により選択されるモードに依存して作動可能であることが、点線４０７によって示されている。制御パラメータのピース毎に一定の設定に代えて、デ・シンボライザ３１４は、制御パラメータを例えば現在のスライスの期間中一定に保持してもよく、又は、時間において全体的に一定に保持してもよい。
【０１５４】
次に、複雑性のスケーラブルなコンテキストモデリングについて説明する。
【０１５５】
コンテキストモデル・インデックスを導出するために、上方と左の近隣部の同じシンタックス要素を評価することは、普通の手法であり、ＨＥの場合には、例えば動きベクトル差シンタックス要素に関して、頻繁に使用されている。しかし、この評価は比較的大きなバッファストレージを必要とし、シンタックス要素の直接的な符号化を許可しない。更に、より高度な符号化性能を達成するためには、より多くの有効な近隣部が評価されてもよい。
【０１５６】
好ましい一実施形態においては、近隣の正方形または長方形のブロック又は予測ユニットのシンタックス要素を評価する全てのコンテキストモデリング・ステージが、１つのコンテキストモデルに固定される。これは、コンテキストモデル選択ステージにおける適応性の無効化に等しい。その好ましい実施形態については、現在のＣＡＢＡＣの設計とは違い、バイナリゼーションの後の、ビンストリングのビンインデックスに依存したコンテキストモデル選択は、修正されない。他の好ましい実施形態は、シンタックス要素についての近隣部の評価も用いた固定型コンテキストモデルに加えて、異なるビンインデックスについてのコンテキストモデルもまた固定される。この説明には、動きベクトル差や、変換係数レベルの符号化に関連するシンタックス要素についてのバイナリゼーション及びコンテキストモデル選択を含んでいない点に注意されたい。
【０１５７】
好ましい一実施形態においては、左の近隣部の評価だけが許可される。これにより、もはや最終のブロック又は符号化ユニットラインを格納する必要がなくなるため、処理チェーン内におけるバッファの削減がもたらされる。他の好ましい実施形態においては、同一の符号化ユニット内にある近隣部だけが評価される。
【０１５８】
好ましい一実施形態においては、全ての有効な近隣部が評価される。例えば、上方と左の近隣部に加えて、上方左、上方右および下方左の近隣部が有効性の場合に評価される。
【０１５９】
すなわち、図１１の選択部４０２は、高効率モードが活性化されている場合には、メディアデータのある所定のブロックに関連するある所定のシンボルのために、メディアデータのより多数の異なる近隣ブロックに関連するシンボル列の以前に回収されたシンボルを使用して、複数のコンテキストのうちの１つを選択し、かつその選択されたコンテキストに関連する確率モデルに依存して、エントロピー復号器３２２間の選択を実行するよう構成されてもよい。つまり、近隣ブロックは、時間及び／又は空間のドメインにおいて近隣であってもよい。空間的に近隣のブロックは、例えば図１〜図３において示されている。その場合、選択部４０２は、モードスイッチ４００によるモード選択に応じてコンタクト適応を実行してもよく、その適応は、ＨＥモードの場合にはＬＣモードの場合と比較して、より多数の近隣ブロックに関連する以前に回収されたシンボル又はシンタックス要素に基づいて実行されるため、上述したようにストレージオーバーヘッドを低減できる。
【０１６０】
次に、一実施形態に従って、複雑性において低減された動きベクトル差の符号化について説明する。
【０１６１】
Ｈ.２６４／ＡＶＣビデオコーデック標準においては、マクロブロックに関連する動きベクトルは、現在のマクロブロックの動きベクトルと、中央動きベクトル予測値との間の差（動きベクトル差−ｍｖｄ）を信号化することで伝送される。エントロピーコーダとしてＣＡＢＡＣが使用された場合には、ｍｖｄは以下のように符号化される。即ち、整数値のｍｖｄは絶対値と正負符号の部分へと分割される。絶対値の部分は、切り詰められたユーナリー及び３次の指数ゴロムの組合せを使用して二値化（バイナライズ）され、結果として得られるビンストリングの接頭語及び接尾語として参照される。切り詰められたユーナリー・バイナリゼーションに関連するビンは、コンテキストモデルを使用しながら符号化され、指数ゴロムのバイナリゼーションに関連するビンは、バイパスモード、即ちＣＡＢＡＣの０．５を有する固定された確率で符号化される。ユーナリー・バイナリゼーションは以下のように行われる。ｍｖｄの絶対値の整数値をｎと仮定する。その場合、結果として得られるビンストリングは、ｎ個の「１」と１個の後続の「０」とから構成される。一例として、ｎ＝４と仮定する。その場合は、ビンストリングは「１１１１０」となる。切り詰められたユーナリーの場合には、ある限界値が存在し、もし値がこの限界値を超えた場合には、ビンストリングはｎ＋１個の「１」を有する。ｍｖｄの場合には、限界値は９に等しい。つまり、９以上の絶対値ｍｖｄが符号化された場合には、９個の「１」という結果になり、ビンストリングは接頭語と接尾語から成る指数ゴロムのバイナリゼーションを用いたものとなる。切り詰められたユーナリー部分に関するコンテキストモデリングは、以下のように実行される。ビンストリングの第１のビンについて、上方及び左の近隣マクロブロックからの絶対値のｍｖｄの値が、もし有効ならば取得される（有効でない場合はその値は０と推定される）。（水平又は垂直方向の）特定の成分についての合計が２よりも大きい場合には第２のコンテキストモデルが選択される。もしその絶対値合計が３２よりも大きい場合には第３のコンテキストモデルが選択され、その他の場合（絶対値合計が３未満の場合）には第１のコンテキストモデルが選択される。更に、コンテキストモデルは各成分について異なっている。ビンストリングの第２のビンについて、第４のコンテキストモデルが使用され、第５のコンテキストモデルがユーナリー部分の残りのビンのために使用される。絶対値のｍｖｄが９以上である場合、例えば切り詰められたユーナリー部分の全てのビンが「１」に等しい場合には、その絶対値のｍｖｄの値と９との間の差が３次の指数ゴロムバイナリゼーションを用いてバイパスモードで符号化される。最後のステップにおいて、ｍｖｄの正負符号がバイパスモードで符号化される。
【０１６２】
エントロピーコーダとしてＣＡＢＡＣを使用する場合のｍｖｄについての最新の符号化技術が、高効率ビデオ符号化（ＨＥＶＣ）プロジェクトの現在のテストモデル（ＨＭ）の中に明記されている。ＨＥＶＣにおいて、ブロックサイズは可変であり、動きベクトルによって特定される形状は予測ユニット（ＰＵ）と呼ばれている。上方及び左の近隣部のＰＵサイズは、現在のＰＵとは異なる形状及びサイズを有してもよい。従って、関連する場合は常に、上方及び左の近隣の定義は、ここでは現在のＰＵの上方−左のコーナーの上方及び左の近隣として言及される。符号化そのものに関しては、第１のビンについての導出処理だけが実施形態によって変化し得る。近隣部からのＭＶの絶対値合計を評価する代わりに、各近隣部が別個に評価されてもよい。ある近隣部の絶対値ＭＶが有効であり、１６を超える場合にはコンテキストモデル・インデックスが増加され、結果として第１のビンのためのコンテキストモデルと同数になってもよく、他方、残りの絶対値ＭＶＤレベル及び正負符号の符号化は、Ｈ．２６４／ＡＶＣと正に同一であってもよい。
【０１６３】
上述したｍｖｄの符号化に関する技術においては、９個のビンまではコンテキストモデルを用いて符号化され、他方、ｍｖｄの残りの値は正負符号の情報と一緒に低複雑性バイパスモードで符号化されてもよい。この実施形態が説明する技術は、コンテキストモデルで符号化されるビンの数を減少させ、結果的にバイパスの数を増大させ、更にｍｖｄの符号化のために必要なコンテキストモデルの数を減少させる。そのため、カットオフ値は９から１又は２へと減少する。つまり、絶対値ｍｖｄがゼロよりも大きいか否かを特定する第１のビンだけがコンテキストモデルを使用して符号化されるか、又は、絶対値ｍｖｄがゼロ及び１よりも大きいか否かを特定する第１及び第２のビンだけがコンテキストモデルを使用して符号化され、他方、残りの値はバイパスモード及び／又はＶＬＣ符号を使用して符号化される。ユーナリー符号又は切り詰められたユーナリー符号を使用せずに、ＶＬＣ符号を使用するバイナリゼーションから生じた全てのビンは、低複雑性のバイパスモードを使用して符号化される。ＰＩＰＥの場合には、ビットストリーム内への及びビットストリームからの直接的な挿入が可能である。更に、第１のビンについてのより良好なコンテキストモデル選択を導出するための上方及び左の近隣部の異なる定義が存在するときは、それが使用されてもよい。
【０１６４】
好ましい一実施形態においては、絶対値のＭＶＤ成分の残りの部分を二値化するために、指数ゴロム符号が使用される。そのため、指数ゴロム符号の次数は可変である。指数ゴロム符号の次数は次のように導出される。第１のビンについてのコンテキストモデルと、そのコンテキストモデルのインデックスとが導出されて符号化された後で、そのインデックスが指数ゴロムバイナリゼーション部分の次数として使用される。この好ましい実施形態においては、第１のビンのためのコンテキストモデルは１〜３の範囲にあり、その結果、インデックスは０〜２となり、これらが指数ゴロム符号の次数として使用される。この好ましい実施形態は、ＨＥの場合について使用可能である。
【０１６５】
絶対値ＭＶＤの符号化における上述したような２×５のコンテキストを使用する技術の代替法として、９個のユーナリー符号バイナリゼーションビンを符号化するために、１４個のコンテキストモデル（各成分について７個）が使用されてもよい。例えば、ユーナリー部分の第１及び第２のビンが、上述したように４個の異なるコンテキストを用いて符号化され得る一方で、第５のコンテキストが第３のビンのために使用され、第６のコンテキストが第４のビンのために使用されてもよく、また、第５〜第９のビンが第７のコンテキストを使用して符号化されてもよい。従って、この場合、１４個のコンテキストが必要となり、残りの値だけが低複雑性バイパスモードで符号化できることさえ起こり得る。コンテキストモデルを用いて符号化されるビンの数を減少させて結果的にバイパスの数を増大させ、またＭＶＤの符号化に必要とされるコンテキストモデルの数を減少させるための技術は、カットオフ値を例えば９から１又は２へと減少させることである。つまり、絶対値ＭＶＤがゼロよりも大きいか否かを特定する第１のビンだけがコンテキストモデルを使用して符号化されるか、又は、絶対値ＭＶＤがゼロ及び１よりも大きいか否かを特定する第１及び第２のビンだけがそれぞれのコンテキストモデルを使用して符号化され、他方、残りの値はＶＬＣ符号を使用して符号化される。ＶＬＣ符号を使用するバイナリゼーションから生じた全てのビンは、低複雑性のバイパスモードを使用して符号化される。ＰＩＰＥの場合には、ビットストリーム内へ及びビットストリームからの直接的な挿入が可能である。更に、ここに提案された実施形態は、第１のビンについてのより良好なコンテキストモデル選択を導出するための上方及び左の近隣部の異なる定義を使用する。これに加え、第１のビン又は第１及び第２のビンのために必要とされるコンテキストモデルの数を減少させるような方法で、コンテキストモデリングが修正されてもよく、その結果、更なるメモリー削減を実現し得る。また、上方の近隣部のような近隣部の評価を無効化することも可能であり、その結果、近隣部のｍｖｄ値の格納のために必要となるラインバッファ／メモリーの節約を実現することもできる。最後に、上記成分の符号化順序は、両方の成分についての接頭語のビン（即ち、コンテキストモデルを用いて符号化されるビン）の符号化の後で、バイパスビンの符号化を可能にするような方法で分割されてもよい。
【０１６６】
好ましい一実施形態においては、絶対値のｍｖｄ成分の残りの部分を二値化するために、指数ゴロム符号が使用される。そのため、指数ゴロム符号の次数は可変である。指数ゴロム符号の次数は次のように導出されてもよい。第１のビンについてのコンテキストモデルと、そのコンテキストモデルのインデックスとが導出された後で、そのインデックスが指数ゴロムバイナリゼーションの次数として使用される。この好ましい実施形態においては、第１のビンのためのコンテキストモデルは１〜３の範囲にあり、その結果、インデックスは０〜２となり、これが指数ゴロム符号の次数として使用される。この好ましい実施形態は、ＨＥの場合について使用可能であり、コンテキストモデルの数は６へと削減される。再度コンテキストモデルの数を減少させ、従ってメモリーを節約するために、更なる実施形態においては、水平及び垂直成分が同一のコンテキストモデルを共有してもよい。その場合、３個のコンテキストモデルだけが必要とされる。更に、本発明の更なる好ましい実施形態においては、左の近隣部だけが評価の考慮対象となってもよい。この好ましい実施形態においては、（例えば０若しくは１の指数ゴロムパラメータとなる単一閾値１６か、又は、０若しくは２の指数ゴロムパラメータとなる単一閾値３２のように）閾値は無修正であり得る。この好ましい実施形態では、ｍｖｄ値の格納のために必要となるラインバッファを節約できる。他の好適な実施形態においては、閾値が修正され、２及び１６に等しくなる。その好適な実施形態については、合計で３個のコンテキストモデルがｍｖｄの符号化のために必要となり、可能性のある指数ゴロムパラメータは０〜２の範囲となる。更なる好適な実施形態において、閾値は１６及び３２に等しい。この実施形態もＨＥの場合にとって適切である。
【０１６７】
本発明の更なる好適な実施形態において、カットオフ値は、９から２へと引き下げられる。この好適な実施形態では、第１及び第２のビンは、コンテキストモデルを用いて符号化されてもよい。第１のビンについてのコンテキストモデルの選択は、現状技術に沿って実行されてもよく、又は、上述した好ましい実施形態に沿って修正されてもよい。第２のビンについては、現状技術のように別のコンテキストモデルが選択される。更なる好ましい実施形態においては、第２のビンについてのコンテキストモデルは、左の近隣部のｍｖｄを評価することで選択される。その場合、コンテキストモデル・インデックスは第１のビンのものと同一であるが、有効なコンテキストモデルは第１のビンのものとは異なる。合計で６個のコンテキストモデルが必要となる（成分同士がコンテキストモデルを共有している点に注意されたい）。ここでも、指数ゴロムパラメータは、第１のビンの選択されたコンテキストモデル・インデックスに依存してもよい。本発明の他の好適な実施形態においては、指数ゴロムパラメータは第２のビンのコンテキストモデル・インデックスに依存している。本発明のこの実施形態も、ＨＥの場合に使用可能である。
【０１６８】
本発明の更なる好適な実施形態においては、両方のビンのためのコンテキストモデルは固定されており、左又は上方の近隣部を評価することで導出される訳ではない。この好適な実施形態に関しては、コンテキストモデルの合計数は２と等しい。本発明の更なる好適な実施形態においては、第１のビン及び第２のビンは同一のコンテキストモデルを共有する。結果的に、ただ１つのコンテキストモデルがｍｖｄの符号化のために必要となる。本発明の両方の好適な実施形態においては、指数ゴロムパラメータが固定され、１に等しくてもよい。本発明のこの好適な実施形態は、ＨＥとＬＣとの両方の構成にとって適切である。
【０１６９】
他の好適な実施形態において、指数ゴロム部分の次数は、第１のビンのコンテキストモデル・インデックスから独立して導出される。この場合、Ｈ．２６４／ＡＶの通常のコンテキストモデル選択の絶対値合計が、指数ゴロム部分の次数を導出するために使用される。この好適な実施形態は、ＨＥの構成にとって適切である。
【０１７０】
他の好適な実施形態において、指数ゴロム符号の次数は固定であって、０に設定される。別の好適な実施形態では、指数ゴロム符号の次数は固定であって、１に設定される。また別の好適な実施形態では、指数ゴロム符号の次数は２に固定される。更に別の実施形態では、指数ゴロム符号の次数は３に固定される。更に他の実施形態では、指数ゴロム符号の次数は、現在のＰＵの形状及びサイズに基づいて固定される。これらの提案された実施形態は、ＬＣの場合に使用可能である。指数ゴロム部分の固定された次数は、コンテキストモデルを用いて符号化された少ない個数のビンを用いて考慮されることに注意されたい。
【０１７１】
ある好ましい実施形態においては、近隣部は以下のように定義される。上方のＰＵについては、現在のＰＵをカバーする全てのＰＵが考慮対象となり、最大値ＭＶを有するＰＵが使用される。この方法は、左の近隣についても適用される。現在のＰＵをカバーする全てのＰＵが評価され、最大値ＭＶを有するＰＵが使用される。他の好適な実施形態においては、現在のＰＵの上方及び左の境界をカバーする全てのＰＵからの平均絶対値動きベクトル値が第１のビンを導出するために使用される。
【０１７２】
上段で提案された好ましい実施形態において、符号化の順序は以下のように変更することも可能である。即ち、水平及び垂直方向に関して次々に（又はその逆に）、ｍｖｄが特定されなければならない。従って、２個のビンストリングが符号化される必要がある。エントロピー符号化・エンジンに関するモード切替え（即ちバイパスと通常モードの間の切替え）の数を最小化するために、第１のステップにおいては両方の成分に関するコンテキストモデルを用いて符号化されたビンを符号化し、次に第２のステップにおいてはバイパスモードで符号化されたビンを符号化することが可能である。これは、順序だけを述べていることに注意されたい。
【０１７３】
ユーナリー又は切り詰められたユーナリー・バイナリゼーションから得られるビンはまた、その値が現在のビンインデックスよりも大きいか否かを特定する１ビンインデックス毎に１つのフラグの等価固定長バイナリゼーションによっても、表現され得ることに留意されたい。一例として、ｍｖｄの切り詰められたユーナリー・バイナリゼーションのカットオフ値が２に設定された場合、値０、１、２に対して符号語は０、１０、１１となる。１ビンインデックス毎に１つのフラグを有する対応する等価固定長バイナリゼーションにおいては、ビンインデックス０（即ち第１のビン）のための１つのフラグは、絶対値ｍｖｄの値が０よりも大きいか否かを特定し、ビンインデックス１を有する第２のビンのための１つのフラグは、絶対値ｍｖｄの値が１よりも大きいか否かを特定する。第１のフラグが１と等しいときだけ第２のフラグが符号化される場合には、結果として同じ符号語０、１０、１１が得られる。
【０１７４】
次に、一実施形態に従う確率モデルの内部状態の複雑性がスケーラブルな表現について説明する。
【０１７５】
ＨＥ−ＰＩＰＥのセットアップでは、確率モデルの内部状態は、それを用いてビンを符号化した後で更新される。更新された状態は、古い状態と符号化されたビンの値とを使用して、状態遷移テーブル・ルックアップ(state transition table lookup)によって導出される。ＣＡＢＡＣの場合には、１つの確率モデルは６３個の異なる状態を持つことができ、そこでは各状態が区間（０．０，０．５）内の１つのモデル確率と対応している。これら状態の各々は、２個のモデル確率を実現するために使用される。その状態に割り当てられた確率に加え、１．０からその確率を差し引いたものも使用され、valMpsと呼ばれるフラグが、その確率又は１．０からその確率を差し引いたものが使用されたかどうかを記憶する。そのため、合計で１２６個の状態になる。そのような確率モデルをＰＩＰＥ符号化概念を用いて使用するために、１２６個の状態の各々は有効なＰＩＰＥコーダの内の１つへとマップされる必要がある。ＰＩＰＥコーダの現在の実装例においては、この点はルックアップテーブルを使用して行われている。そのようなマッピングの一例は、表Ａに示されている。
【０１７６】
以下の実施形態は、内部状態をＰＩＰＥインデックスへと変換するためのルックアップテーブルの使用を避けるために、確率モデルの内部状態がどのように表現され得るかを説明するものである。確率モデルの内部状態変数からＰＩＰＥインデックスを抽出するためには、単に、ある簡素なビットマスキング操作が必要とされるのみである。確率モデルの内部状態の、複雑性がスケーラブルであるこの新規な表現は、２つのレベルを持つ方法で設計されている。低複雑性の操作が必須であるようなアプリケーションについては、第１レベルだけが使用される。そのレベルは、関連するビンを符号化又は復号化するために使用されるｐｉｐｅインデックス及びフラグvalMpsだけを記述する。上述したＰＩＰＥエントロピー符号化・スキームの場合には、第１レベルは、８個の異なるモデル確率の間を区別するために使用されてもよい。従って、第１レベルは、pipeIdx のための３ビットと、valMpsフラグのための更なる１ビットとを必要とするであろう。第２レベルでは、第１レベルの粗い確率範囲の各々が、確率の表現をより高度な分解能でサポートする複数のより小さな区間へと精製(refine)される。このようなより詳細な表現によって、確率推定値（probability estimators）のより正確な操作が可能となる。一般的には、それは高度なＲＤ性能を目指す符号化アプリケーションにとって適切である。一例として、ＰＩＰＥを用いた確率モデルの内部状態のこの複雑性がスケーラブルな表現は、以下のように示される。
【０１７７】
2018186527.tif 000007
【０１７８】
第１及び第２のレベルは、単一の８ビットメモリ内に記憶される。第１のレベル−ＰＩＰＥインデックスと最有意ビット(most significant bit)についてのＭＰＳの値−を記憶するために４ビットが必要であり、別の４ビットは第２のレベルを記憶するために使用される。ＣＡＢＡＣ確率推定値の挙動を行うために、各ＰＩＰＥインデックスは、何個のＣＡＢＡＣ状態がＰＩＰＥインデックスにマップされたかに依存して、特定数の許可された精製インデックス(refinement indeices)を有している。例えば、表Ａのマッピングについての各ＰＩＰＥインデックス当たりのＣＡＢＡＣ状態の数を表Ｂに示す。
【０１７９】
2018186527.tif 000008
【０１８０】
ビンの符号化又は復号化の処理の間、ＰＩＰＥインデックス及びvalMpsは、単純なビットマスク又はビットシフト操作を使用して、直接的にアクセスされ得る。低複雑性符号化処理は第１レベルの４ビットだけを要求し、高効率符号化処理は追加的に第２レベルの４ビットを利用して、ＣＡＢＡＣ確率推定値の確率モデル更新を実行する。この更新を実行するために、状態遷移ルックアップテーブルは、オリジナルテーブルと同一の状態遷移を実行する一方で、複雑性においてスケーラブルである２レベルの状態の表現を使用するよう設計されてもよい。オリジナル状態遷移テーブルは、２×６３個の構成要素から成る。各入力状態について、そのテーブルは２個の出力状態を含む。複雑性がスケーラブルである表現を使用する場合、状態遷移テーブルのサイズは、テーブルサイズの許容可能な増大量である２×１２８の構成要素を超えることはない。この増大量は、精製インデックスを表現するためにどれだけ多数のビットが使用されるかに依存しており、ＣＡＢＡＣ確率推定値の挙動を正確に模倣するためには、４ビットが必要である。しかし、各ｐｉｐｅインデックスについて８個以下の状態しか許可しないようにＣＡＢＡＣ状態の縮小された集合に対して作動できる、異なる確率推定値が使用され得る。従って、精製インデックスを表現するために使用されるビットの数を適応することで、メモリ消費を、符号化処理の所与の複雑性レベルに合致させることができる。ＣＡＢＡＣを用いたモデル確率の内部状態−６４個の確率状態インデックスが存在する−とは異なり、モデル確率を特定のＰＩＰＥ符号へとマップするためにテーブル・ルックアップを使用することが回避され、更なる変換は不要となる。
【０１８１】
次に、一実施形態に係る複雑性がスケーラブルなコンテキストモデルの更新について説明する。
【０１８２】
コンテキストモデルを更新するために、その確率状態インデックスは、１つ以上の以前に符号化されたビンに基づいて更新されてもよい。ＨＥ−ＰＩＰＥのセットアップにおいては、この更新は、各ビンの符号化又は復号化の後に実行される。反対に、ＬＣ−ＰＩＰＥのセットアップにおいては、この更新は一度も実行されなくてもよい。
【０１８３】
しかし、コンテキストモデルの更新を複雑性においてスケーラブルな方法で実行することは可能である。つまり、コンテキストモデルを更新するか否かの決定は、多様な局面に基づいてもよい。例えば、あるコーダのセットアップは、例えばシンタックス要素coeff_significant_flagのコンテキストモデルのような特定のコンテキストモデルだけについては更新を実行できない一方で、他の全てのコンテキストモデルについては常に更新を実行してもよい。
【０１８４】
換言すれば、選択部４０２は、幾つかの所定のシンボルタイプの各々のシンボルについて、エントロピー復号器３２２間での選択を実行するよう構成され、その場合、それぞれの所定のシンボルに関連するそれぞれの確率モデルに依存して、低複雑性モードにおいては高効率モードの場合よりも所定のシンボルタイプの数が小さくなるように選択してもよい。
【０１８５】
更に、コンテキストモデルを更新するかどうかを制御する基準は、例えばビットストリームパケットのサイズやそれまでに復号化されたビンの数であってもよく、又は、コンテキストモデルに関する特定の固定数若しくは可変数のビンを符号化した後にだけ更新を実行してもよい。
【０１８６】
コンテキストモデルを更新するかどうかを決定するこのスキームを用いて、複雑性がスケーラブルであるコンテキストモデル更新が実装され得る。その更新は、コンテキストモデルの更新が実行されるビットストリーム内のビンの部分を増大させるか又は減少させることができる。コンテキストモデルの更新数が多ければ多い程、符号化効率が良好となり、かつ演算上の複雑性が増す。このように、上述のスキームを用いて、複雑性においてスケーラブルなコンテキストモデル更新が達成可能となる。
【０１８７】
好適な一実施形態において、コンテキストモデル更新は、シンタックス要素coeff_significant_flag, coeff_abs_greater1, 及び coeff_abs_greater2を除く全てのシンタックス要素のビンに関して実行される。
【０１８８】
更なる実施形態において、コンテキストモデル更新は、シンタックス要素coeff_significant_flag, coeff_abs_greater1, 及び coeff_abs_greater2のビンに関してだけ実行される。
【０１８９】
更なる実施形態において、コンテキストモデル更新は、あるスライスの符号化又は復号化が開始したときに、全てのコンテキストモデルについて実行される。特定の所定数の変換ブロックが処理された後に、コンテキストモデル更新は、そのスライスの終端に到達するまで全てのコンテキストモデルについて無効化される。
【０１９０】
例えば選択部４０２は、所定のシンボルタイプのシンボルに関し、エントロピー復号器３２２間の選択を、その所定のシンボルタイプに関連する確率モデルに依存して、その関連する確率モデルの更新と共に又は更新なしに実行してもよく、その場合、所定のシンボルタイプのシンボルについての選択が上記更新と共に実行されるシンボル列の学習段階(learning phase)の長さが、低複雑性モードにおいては高効率モードよりも短くなるように構成されてもよい。
【０１９１】
別の好ましい実施形態は、前述した好ましい実施形態と同様であるが、但し、この実施形態では、コンテキストモデルの内部状態の複雑性がスケーラブルな表現を使用しており、その方法は、１つのテーブルが全てのコンテキストモデルの「第１部分」（valMpsとpipeIdx）を記憶し、第２のテーブルが全てのコンテキストモデルの「第２部分」（refineIdx)を記憶するという方法である。（前述した好ましい実施形態において説明したように）コンテキストモデル更新が全てのコンテキストモデルに関して無効化される点においては、「第２部分」を記憶しているテーブルが不要となり、従って削除され得る。
【０１９２】
次に、一実施形態に係るビン列のためのコンテキストモデル更新について説明する。
【０１９３】
ＬＣ−ＰＩＰＥの構成においては、タイプcoeff_significant_flag, coeff_abs_greater1、及び coeff_abs_greater2のシンタックス要素のビンが、複数の部分集合へとグループ化される。各部分集合について、そのビンを符号化するために単一のコンテキストモデルが使用される。この場合、この列のある固定数のビンを符号化した後で、コンテキストモデル更新が実行されてもよい。これは、以下においてはマルチビン更新と呼ばれる。しかし、この更新は、最後のビン及びコンテキストモデルの内部状態を使用する更新とは異なっていてもよい。例えば、符号化されたビンごとに、１つのコンテキストモデル更新ステップが実行されてもよい。
【０１９４】
以下に、８個のビンから成る例示的な部分集合の符号化についての例を挙げる。文字「ｂ」は１つのビンの復号化を表し、文字「ｕ」はコンテキストモデルの更新を表す。ＬＣ−ＰＩＰＥの場合には、コンテキストモデル更新を実行せずに、ビン復号化だけが実行される。
ｂｂｂｂｂｂｂｂ
【０１９５】
ＨＥ-ＰＩＰＥの場合には、各ビンの復号化の後にコンテキストモデル更新が実行される。
ｂｕｂｕｂｕｂｕｂｕｂｕｂｕｂｕ
【０１９６】
複雑性を幾分減少させるために、コンテキストモデル更新はビン列の後に実行されてもよい（この例では各４個のビンの復号化の後にこれら４個のビンの更新が実行される）。
ｂｂｂｂｕｕｕｕｂｂｂｂｕｕｕｕ
【０１９７】
つまり、選択部４０２は、所定のシンボルタイプのシンボルに関し、エントロピー復号器３２２間の選択を、その所定のシンボルタイプに関連する確率モデルに依存して、その関連する確率モデルの更新と共に若しくは更新なしに実行するよう構成されてもよく、その場合、上記更新と共に所定のシンボルタイプのシンボルのための選択が実行される回数が、低複雑性モードにおいては高効率モードよりも低くなるように構成されてもよい。
【０１９８】
この場合、４個のビンの復号化の後で、それら復号化されたばかりの４個のビンに基づいて４個の更新ステップが続く。これら４個の更新ステップは、特別なルックアップテーブルの参照を用いた単一のステップによっても実行され得る点に留意されたい。このルックアップテーブルは、４個のビンの可能な各組合せとコンテキストモデルの可能な各内部状態とについて、４つの従来の更新ステップの後で結果として得られる新たな状態を記憶する。
【０１９９】
あるモードにおいては、シンタックス要素coeff_significant_flagのためにマルチビン更新が使用される。他の全てのシンタックス要素に関しては、コンテキストモデル更新は使用されない。マルチビン更新ステップが実行される前に符号化されるビンの数は、ｎに設定される。その集合のビンの数がｎによって割り切れない場合には、１〜ｎ−１個のビンは、最後のマルチビン更新の後でその部分集合の末尾に残る。これらビンの各々について、これら全てのビンの符号化の後で、従来の単一ビン更新が実行される。数ｎは１よりも大きい任意の正の数であってよい。他のモードは、以前のモードと同一であってもよい。但し、マルチビン更新が（coeff_significant_flag だけに代えて）coeff_significant_flag、coeff_abs_greater1、及びcoeff_abs_greater2の任意の組合せについて実行される。従って、このモードは他のモードよりも複雑になる可能性がある。（マルチビン更新が使用されない）他の全てのシンタックス要素は、２つの互いに素な部分集合へと分割されることができ、ここで、これら部分集合の内の１つについて、単一ビン更新が使用され、他の部分集合については、コンテキストモデル更新は使用されない。可能性のある任意の互いに素な部分集合（空の部分集合を含む）が有効である。
【０２００】
代替的な実施形態において、マルチビン更新は、マルチビン更新ステップの直前に符号化された最後のｍ個のビンだけに基づいてもよい。ｍは、ｎよりも小さい任意の自然数であってもよい。従って、復号化は以下のように実行されてよい。即ち、
ｂｂｂｂｕｕｂｂｂｂｕｕｂｂｂｂｕｕｂｂｂｂ・・・
但し、ｎ＝４かつｍ＝２である。
【０２０１】
つまり、選択部４０２は、所定のシンボルタイプのシンボルに関し、エントロピー復号器３２２間の選択をその所定のシンボルタイプに関連する確率モデルに依存して実行してもよく、その選択と共に、所定のシンボルタイプのｍ個の最近のシンボルに基づいて、所定のタイプのｎ番目のシンボル毎にその関連する確率モデルを更新してもよく、低複雑性モードにおいては比ｎ／ｍが高効率モードよりも高くなるよう構成されてもよい。
【０２０２】
更なる好適な実施形態においては、シンタックス要素coeff_significant_flagについて、ＨＥ−ＰＩＰＥに関して上述したようなローカルテンプレートを用いるコンテキストモデリングスキームが、コンテキストモデルをシンタックス要素のビンに対して割り当てるために使用されてもよい。しかしながら、これらビンについて、コンテキストモデル更新は使用されない。
【０２０３】
更に、選択部４０２は、所定のシンボルタイプのシンボルについて、複数のコンテキストの内の１つをシンボル列の以前に回収されたシンボルの数に依存して選択し、かつエントロピー復号器３２２間の選択を、選択されたコンテキストに関連する確率モデルに依存して実行してもよく、その場合、コンテキストの数及び／又は以前に回収されたシンボルの数が低複雑性モードにおいては高効率モードよりも低くなるようしてもよい。
【０２０４】
＜８ビットの初期化値を使用する確率モデル初期化＞
この章では、現状技術のビデオ符号化標準Ｈ．２６５／ＡＶＣの場合のような２個の８ビット値の代わりに、いわゆる８ビットの初期化値を使用する、複雑性がスケーラブルな確率モデルの内部状態の初期化プロセスについて説明する。この８ビットの初期化値は、Ｈ．２６４／ＡＶＣのＣＡＢＡＣにおける確率モデルのために使用される初期化値のペアに匹敵する、２つの部分から構成される。これら２つの部分は、あるＱＰから（例えばＰＩＰＥインデックスの形態で）特別な確率を表現する確率モデルの内部状態を計算するための線形方程式の２個のパラメータを表現している。
−第１部分は傾きを記述し、それは、符号化又は復号化の間に使用される量子化パラメータ（ＱＰ）に対する内部状態の依存性を利用するものである。
−第２部分は、所与のＱＰにおけるＰＩＰＥインデックス及びvalMpsを定義する。
【０２０５】
所与の初期化値を使用して確率モデルを初期化するために、２つの異なるモードが有効である。第１モードはＱＰ独立型の初期化と呼ばれる。それは、全てのＱＰのための初期化値の第２部分に定義されたＰＩＰＥインデックス及びvalMpsだけを使用する。これは、傾きが０に等しい場合と同じである。第２モードはＱＰ依存型の初期化と呼ばれ、それは、追加的に初期化値の第１部分の傾きを使用して、ＰＩＰＥインデックスを変更しかつ精製インデックスを定義する。８ビット初期化値の２つの部分は、次のように表される。
【０２０６】
2018186527.tif 000009
【０２０７】
それは２個の４ビット部分から成る。第１部分は、１つのアレイ内に記憶されていた１６個の異なる所定の傾きの内から１つを指し示す、あるインデックスを含む。所定の傾きは、７個の負の傾き（傾きインデックス０〜６）と、ゼロと等しい１つの傾き（傾きインデックス７）と、８個の正の傾き（傾きインデックス８〜１５）とから成る。傾きは表Ｃ内に示されている。
【０２０８】
2018186527.tif 000010
【０２０９】
浮動小数点演算の使用を回避するために、全ての値は２５６のファクタによってスケールされる。第２部分は、確率区間ｐ＝０とｐ＝１との間のvalMps＝１の上昇する確率を具体化するＰＩＰＥインデックスである。換言すれば、ＰＩＰＥコーダｎは、ＰＩＰＥコーダｎ−１よりも高いモデル確率で作動しなければならない。各確率モデルについて、１つのＰＩＰＥ確率インデックスが有効であり、そのインデックスにより、その確率区間がＱＰ＝２６についてｐvalMPs=1の確率を含むＰＩＰＥコーダが識別される。
【０２１０】
2018186527.tif 000011
【０２１１】
ＱＰと８ビット初期化値とは、ｙ＝ｍ＊（ＱＰ−ＱＰref）＋２５６＊ｂの形態を有する単純な線形方程式を演算することにより、確率モデルの内部状態の初期化を計算する上で必要である。ｍは、傾きインデックス（８ビット初期化値の第１部分）を使用して表Ｃから導出された傾きを定義しており、ｂは、ＱＰref＝２６におけるＰＩＰＥコーダ（８ビット初期化値の第２部分：「ＰＩＰＥ確率インデックス」）を示すことに注意されたい。そのとき、ｙが２０４７よりも大きい場合、valMpsは１であり、pipeIdxは（ｙ−２０４８）＞＞８と等しい。その他の場合には、valMpsは０であり、pipeIdxは（２０４７−ｙ）＞＞８と等しい。valMpsが１と等しい場合、精製インデックスは、（（（ｙ−２０４８）＆２５５）＊numStates）＞＞８と等しい。その他の場合には、精製インデックスは、（（（２０４７−ｙ）＆２５５）＊numStates）＞＞８と等しい。両方の場合において、numStatesは、表Ｂに示されたpipeIdxのＣＡＢＡＣ状態の数と等しい。
【０２１２】
上述のスキームは、ＰＩＰＥコーダとの組合せの中で使用されるだけではなく、上述のＣＡＢＡＣスキームとの組合せにおいても使用可能である。ＰＩＰＥがない場合、幾つかのＣＡＢＡＣ状態、即ちPIPEIdx (即ち pState_current[bin]のそれぞれ最有意ビット)ごとの確率更新の状態遷移が実行される確率状態(pState_current[bin])は、実際にはＣＡＢＡＣ状態のピース毎の線形補間をＱＰに依存して実現させるパラメータの一集合に過ぎない。更に、パラメータnumStatesが同じ値を全てのPIPEIdxのために使用する場合には、このピース毎の線形補間はまた、仮想的に無効化されることもできる。例えば、全ての場合についてnumStatesを８へと設定することは、全体で１６＊８個の状態を生じさせ、精製インデックスの演算は、valMpsが１と等しい場合の（（ｙ−２０４８）＆２５５）＞＞５、又は、valMpsが０と等しい場合の（（２０４７−ｙ）＆２５５）へと簡易化する。この場合、valMpsとPIPEIdxと精製インデックスとを使用した表現を、Ｈ．２６４／ＡＶＣのオリジナルＣＡＢＡＣによって使用される表現へと逆にマッピングすることは、非常に簡単である。ＣＡＢＡＣ状態は、（PIPEIdx＜＜３）＋精製インデックスとして与えられる。この点については、以下に図１６を参照しながら更に説明する。
【０２１３】
８ビット初期化値の傾きがゼロと等しくない場合、又は、ＱＰが２６と等しくない場合には、符号化又は復号化処理のＱＰを用いた線形方程式を使用することで、内部状態を演算する必要がある。傾きがゼロと等しい場合、又は、現在の符号化処理のＱＰが２６と等しい場合には、８ビット初期化値の第２部分は、確率モデルの内部状態を初期化するために直接的に使用可能である。その他の場合には、結果的に得られる内部状態の小数部(decimal part)が、特定のＰＩＰＥコーダの限界値の間の線形補間によって、高効率符号化のアプリケーションにおける精製インデックスを決定するために更に利用されてもよい。この好ましい実施形態においては、線形補間は、小数部と現在のＰＩＰＥコーダに有効な精製インデックスの合計数とを単純に乗算し、その結果を最も近い整数の精製インデックスへとマッピングすることによって実行される。
【０２１４】
確率モデルの内部状態の初期化のプロセスは、ＰＩＰＥ確率インデックス状態の数に関連して変化できる。特に、ＰＩＰＥコーダＥ１を使用している同等に確からしいモードの二重の発生、即ちＭＰＳが１又は０である間を区別する２個の異なるＰＩＰＥインデックスの使用は、以下のように回避でき得る。ここでも、このプロセスは、スライスデータの解析の開始期間中に発動されることができ、更に、このプロセスの入力は、表Ｅに示すような８ビットの初期化値であってもよく、それらは、例えば初期化されるべき各コンテキストモデルについてのビットストリーム内で伝送されてもよい。
【０２１５】
2018186527.tif 000012
【０２１６】
最初の４ビットはある傾きインデックスを定義し、ビットｂ４〜ｂ７をマスキングすることによって回収される。各傾きインデックスに対して１つの傾き（ｍ）が特定され、これを表Ｆに表す。
【０２１７】
2018186527.tif 000013
【０２１８】
ビットｂ０〜ｂ３、即ち８ビット初期化値の最後の４ビットは、probIdxを識別し、所定のＱＰにおける確率を記述する。probIdx ０は、値０を有するシンボルについての最高確率を示し、probIdx １４は、値１を有するシンボルについての最高確率を示す。表Ｇは、各probIdxについて、対応するpipeCoderとその valMpsとを示す。
【０２１９】
2018186527.tif 000014
【０２２０】
内部状態の計算は、両方の値を用いて、ｙ＝ｍ＊ｘ＋２５６＊ｂのような線形方程式を使用することで実行され、ここで、ｍは傾きを示し、ｘは現在のスライスのＱＰを示し、ｂは以下に説明するようにprobIdxから導出される。このプロセス内の全ての値は２５６のファクタでスケールされ、浮動小数点演算の使用が回避される。このプロセスの出力（ｙ）は現在のＱＰにおける確率モデルの内部状態を表現しており、８ビットメモリ内に格納される。表Ｇに示すように、内部状態はvalMpsとpipeIdxとrefineIdxとから構成される。
【０２２１】
2018186527.tif 000015
【０２２２】
refineIdxとpipeIdxとの割り当ては、ＣＡＢＡＣ確率モデルの内部状態(pStateCtx)と類似し、表Ｈに示す。
【０２２３】
2018186527.tif 000016
【０２２４】
ある好適な実施形態では、probIdxはＱＰ２６において定義される。８ビットの初期化値に基づいて、１つの確率モデルの内部状態（valMps、pipeIdx及びrefineIdx）は、以下の疑似コードで記述されるように処理される。
2018186527.tif 000017
【０２２５】
上記疑似コードに示されるように、refineIdxは、pipeIdxの区間の間を線形的に補間し、その結果を対応するrefineIdxへと量子化することで計算される。オフセットは、各pipeIdxについてのrefineIdxの合計数を特定する。fullCtxState/256の区間［７，８）は半分に分割される。区間［７，７．５）は、pipeIdx＝０及びvalMps＝０へとマップされ、区間［７．５，８）は、pipeIdx＝０及びvalMps＝１へとマップされる。図１５は、内部状態を導出するプロセスを説明し、fullCtxState/256のpStateCtxへのマッピングを示す。
【０２２６】
傾きは、probIdx及びＱＰの依存性を示す点に注意されたい。８ビットの初期化値のslopeIdxが７と等しい場合には、結果として得られる確率モデルの内部状態は全てのスライスＱＰについて同一となり、よって、内部状態の初期化プロセスはスライスの現在のＱＰから独立したものとなる。
【０２２７】
つまり、選択部４０２は、量子化ステップサイズＱＰを示すシンタックス要素を使用して、全体ストリーム又は次のスライスなどであるデータストリームの後続部分を復号化する際に使用されるべきｐｉｐｅインデックスを初期化してもよく、量子化ステップサイズＱＰとは、この後続部分のデータであってその中に含まれている変換係数レベルなどのデータを、このシンタックス要素をあるインデックスとして使用して、ＬＣとＨＥとの両方のモードに共通の１つのテーブルへと量子化するために使用されたものである。表Ｄのようなテーブルは、各シンボルタイプについてのそれぞれの参照ＱＰrefに関するｐｉｐｅインデックス、又は、各シンボルタイプについての他のデータを含んでもよい。現在の部分の実際のＱＰに依存して、選択部は、実際のＱＰ及びＱＰそれ自身によって示されるそれぞれのテーブルエントリーａを使用して、ａと（ＱＰ−ＱＰref）との乗算などにより、ｐｉｐｅインデックス値を演算してもよい。ＬＣモードとＨＥモードとのただ１つの違いは、選択部が、ＬＣモードの場合はＨＥモードよりも低い精度で結果を演算するという点である。選択部は、例えば演算結果の整数部分だけを使用してもよい。ＨＥモードにおいては、小数部などのようなより高い精度の残余が、より低い精度又は整数の部分によって示されるそれぞれのｐｉｐｅインデックスに対して有効な精製インデックスの内の１つを選択するために、使用される。精製インデックスは、ＨＥモードで（潜在的にはより稀ではあるがＬＣモードでも）使用され、上述したテーブルウォークを使用することなどによって、確率適応が実行される。現在のｐｉｐｅインデックスについての有効なインデックスをその高域側境界に維持する場合には、その高いｐｉｐｅインデックスは、次に、精製インデックスを最小化することで選択される。現在のｐｉｐｅインデックスについての有効なインデックスをその低域側境界に維持する場合には、その次の低いｐｉｐｅインデックスは、次に、精製インデックスを新たなｐｉｐｅインデックスについて有効な最大値へと最大化することで、選択される。ｐｉｐｅインデックスと精製インデックスは確率状態を定義するが、部分的ストリーム間の選択については、選択部はｐｉｐｅインデックスだけを使用する。精製インデックスは、確率モデルをより近く、又はより細密な精度で追跡する役割だけを果たす。
【０２２８】
しかしながら、上述の説明は、複雑性におけるスケーラブル性が、図７〜図１７のＰＩＰＥ又はＣＡＢＡＣの符号化概念から独立して、図１２に示すデコーダを用いても達成可能であることを示している。図１２のデコーダは、メディアデータがその中に符号化されているデータストリーム６０１を復号化するものであり、データストリーム６０１に依存して低複雑性モード又は高効率モードを活性化するよう構成されたモードスイッチ６００と、データストリーム６０１から−直接的又は例えばエントロピー復号化を介して−取得されたシンボル列６０３を、制御パラメータによって制御可能なマッピング関数を使用してデ・シンボライズすることで、整数値のシンタックス要素６０４を取得するよう構成されたデ・シンボライザ６０２と、を備える。前記マッピング関数は、シンボル列ワードのドメインを整数値のシンタックス要素のコ・ドメインへとマッピングするためのものである。再構築部６０５は、整数値のシンタックス要素に基づいて、メディアデータ６０６を再構築するよう構成されている。デ・シンボライザ６０２は、そのデ・シンボル化を以下のように実行するよう構成されている。即ち、制御パラメータは、矢印６０７によって示すように、高効率モードが活性化されている場合には、データストリームに応じて第１レートで変化し、他方、低複雑性モードが活性化されている場合には、制御パラメータは、データストリームとは無関係に一定であるか、又はデータストリームに応じて変化するものの、第１レートよりも低い第２レートで変化するよう構成されている。例えば、制御パラメータは、以前にデ・シンボライズされたシンボルに応じて変化してもよい。
【０２２９】
上述の実施形態のうちの幾つかは図１２の態様を使用していた。列３２７内のシンタックス要素coeff_abs_minus3 と ＭＶＤとは、例えば矢印４０７によって示すように、選択されたモードに依存してデ・シンボライザ３１４内で二値化されており、再構築部６０５は、これらシンタックス要素を再構築のために使用していた。自明な点として、図１１と図１２の両態様は容易に組合せ可能であるが、図１２の態様はまた、他の符号化環境とも組合せ可能である。
【０２３０】
例えば、上述した動きベクトル差符号化を参照されたい。デ・シンボライザ６０２は、以下のように構成されてもよい。即ち、マッピング関数は、カットオフ値未満の整数値シンタックス要素のドメインの第１区間内では、マッピングを実行するために切り詰められたユーナリー符号を使用し、カットオフ値以上の整数値シンタックス要素のドメインの第２区間内では、カットオフ値のための切り詰められたユーナリー符号の形態を持つ接頭部とＶＬＣ符号語の形態を持つ接尾語との組合せを使用するよう構成されてもよく、ここで、デコーダはエントロピー復号器６０８を含んでもよく、そのエントロピー復号器６０８は、切り詰められたユーナリー符号の幾つかの第１ビンを可変の確率推定を用いるエントロピー復号化を使用してデータストリーム６０１から導出し、ＶＬＣ符号語の幾つかの第２ビンを一定の同等確率を有するバイパスモードを使用して導出するよう構成されてもよい。ＨＥモードにおいては、エントロピー符号化は、矢印６０９で示すように、ＬＣ符号化よりも複雑であり得る。つまり、コンテキスト適応性及び／又は確率適応は、ＨＥモードにおいて適用され、ＬＣモードにおいては抑制されてもよく、又は、多様な実施形態に関して上述したように、複雑性が他の条件に関してスケールされてもよい。
【０２３１】
メディアデータをデータストリームへと符号化するための、図１１のデコーダに適合するエンコーダを図１３に示す。このエンコーダは、低複雑性モード又は高効率モードの活性化をデータストリーム５０１内で信号化するよう構成された挿入部５００と、メディアデータ５０５をシンタックス要素列５０６へとプリコード(precode)するよう構成された構築部（コンストラクタ）５０４と、シンタックス要素列５０６をシンボル列５０８へとシンボル化するよう構成されたシンボライザ５０７と、各々がシンボルの部分的な列をデータストリームの符号語へと変換するよう構成された複数のエントロピー符号器３１０と、シンボル列５０８の各シンボルを複数のエントロピー符号器３１０内の選択された１つへと送るよう構成された選択部５０２と、を含んでもよく、ここで選択部５０２は、矢印５１１で示すように、その選択を低複雑性モード及び高効率モードの内の活性化された１つに依存して実行するよう構成されてもよい。符号器３１０の符号語をインターリーブするために、任意ではあるが、インターリーバ５１０が準備されてもよい。
【０２３２】
メディアデータをデータストリームへと符号化するための、図１２のデコーダに適合するエンコーダを図１４に示す。このエンコーダは、低複雑性モード又は高効率モードの活性化をデータストリーム７０１内で信号化するよう構成された挿入部７００と、メディアデータ７０５を整数値のシンタックス要素を含むシンタックス要素列７０６へとプリコードするよう構成された構築部７０４と、整数値のシンタックス要素のドメインをシンボル列ワードのコ・ドメインへとマッピングするためのシンボライザ７０７であって、制御パラメータによって制御可能なマッピング関数を使用して、整数値のシンタックス要素をシンボル化するよう構成されたシンボライザ７０７と、を含み、ここで、シンボライザ７０７は、そのシンボル化を以下のように実行するよう構成されている。即ち、制御パラメータは、矢印７０８によって示すように、高効率モードが活性化されている場合には、データストリームに応じて第１レートで変化し、他方、低複雑性モードが活性化されている場合には、制御パラメータは、データストリームとは無関係に一定であるか、又はデータストリームに応じて変化するものの、第１レートよりも低い第２レートで変化するよう構成されている。シンボル化の結果は、データストリーム７０１内へと符号化される。
【０２３３】
図１４の実施形態は、上述したコンテキスト適応型バイナリー算術符号化／復号化の実施形態へと容易に転換可能であるという点を指摘しておく。その場合、選択部５０９及びエントロピー符号器３１０は１つのコンテキスト適応型バイナリー算術エンコーダへと凝縮されて、データストリーム４０１を直接的に出力し、現時点でデータストリームから導出されるべきビンのためのコンテキストを選択するであろう。この点は、特にコンテキスト適応性及び／又は確率適応性にとって真実である。低複雑性モードにおいては、機能性／適応性の両方がスイッチオフされてもよく、又はより緩和されて設計されてもよい。
【０２３４】
上述の実施形態の幾つかに関して説明されたようなモード切替え能力は、他の実施形態では無くてもよいことがこれまで簡単に触れられて来た。この点を明確にするために、図１６を参照されたい。この図がその説明に用いられるのは、図１６の実施形態が上述の実施形態とはモード切替え能力が削除されている点においてだけ異なっているからである。更に、以下の説明を読めば、傾き及びオフセットに関し、例えばＨ．２６４よりも精度の低いパラメータを使用して、コンテキストの確率推定を初期化することの結果として得られる利点が明らかになるであろう。
【０２３５】
具体的には、図１６は、シンタックス要素３２７のバイナリゼーションを使用して、その中にシンタックス要素３２７が符号化されているデータストリーム４０１からビデオを復号化するためのデコーダを示す。上述の説明において、図１〜図１５に関して述べられた全ての詳細についても、例えばデ・シンボライザ３１４、再構築部４０４及びエントロピー復号器４０９の機能などに関する限り、図１６の中に示す項目へと転換可能である点に注意しなければならない。しかしながら、完全性を目途として、これら詳細の内の幾つかについて以下に再度説明する。
【０２３６】
デコーダは、異なるコンテキストの中から１つのコンテキストを選択し、データストリーム４０１の以前に復号化された部分に依存して、それら異なるコンテキストに関連する確率状態を更新することによって、バイナリー・エントロピー復号化を使用して、データストリーム４０１からバイナリゼーションの幾つかのビン３６を導出するよう構成されたエントロピー復号器４０９を含む。より詳細には、上述したように、エントロピー復号器４０９は、上述のＣＡＢＡＣスキーム、又は、バイナリーＰＩＰＥ復号化などのバイナリー・エントロピー復号化を使用して、即ち、並行して作動する複数のエントロピー復号器３２２とそれぞれの選択部／割当部とを含む構造を使用して、データストリーム４０１からバイナリゼーションの幾つかのビン３２６を導出するよう構成されてもよい。コンテキスト選択に関する限り、データストリーム４０１の以前に復号化済みの部分に対するその依存性は、上述のように具体化されてもよい。つまり、エントロピー復号器は、現在導出されるべきビンが属しているバイナリゼーションの中の現在導出されるべきビンの位置、現在導出すべきビンが属しているバイナリゼーションを逆二値化（デ・バイナライズ）することによりその整数値が取得されるシンタックス要素のシンタックス要素タイプ、又は、データストリーム４０１から以前に導出された１つ以上のビン若しくは以前に逆二値化されたシンタックス要素の整数値に依存して、現在導出されるべきビンのためのコンテキスト選択を実行するよう構成されてもよい。例えば、選択されるコンテキストは、所定のシンタックス要素のバイナリゼーションの第１及び第２のビンの間で異なってもよい。更に、コンテキストの異なるグループが、変換係数レベル、動きベクトル差、符号化モード・パラメータその他のような、異なるシンタックス要素タイプのために提供されてもよい。
【０２３７】
確率状態の更新に関する限り、エントロピー復号器４０９は、現在導出されたビンに依存して、１２６個の確率状態の内の現在導出されたビンのために選択されたコンテキストに関連付けられた現在の確率状態から、１２６個の中の新たな確率状態へと遷移することで、現在導出されたビンについての更新を実行するよう構成されてもよい。上述したように、エントロピー復号器４０９は、例えば現在の状態と現在導出されたビンの値とを使用してテーブルエントリーにアクセスしてもよく、そのアクセスされたテーブルエントリーが新たな確率状態を示していてもよい。上述のテーブルNext_State_LPS と Next_State_MPS とを参照されたい。上述した他のステップ０〜５に加え、それらのテーブルに対するテーブル・ルックアップがエントロピー復号器によって実行される。上述の説明においては、確率状態は時折pState_current[bin]として表された。また、上述したように、エントロピー復号器４０９は、現在の確率区間を表す現在の確率区間ビット値（Ｒ）を量子化して、確率区間インデックスq_index を取得し、更に、その確率区間インデックスと、現在導出されるべきビンのために選択されたコンテキストに関連する現在の確率状態に依存する確率状態インデックスp_stateとを使用して、テーブルエントリー（Ｒtab）の中の１つのテーブルエントリーをインデックス化することで、区間サブ分割を実行して現在の確率区間を２つの部分的区間へとサブ分割することによって、現在導出されるべきビンをバイナリー算術的に復号化するよう構成されてもよい。上述したように、エントロピー復号器４０９は、現在の確率区間幅の値Ｒに関し８ビット表現を使用してもよい。現在の確率区間幅の値を量子化するために、エントロピー復号器４０９は、例えば８ビット表現の２個又は３個の最も有意なビットを取り出してもよい。
【０２３８】
エントロピー復号器４０９は、次に、現在の確率区間の内部からのオフセット状態の値に基づいて、２つの部分的区間の間の選択を実行し、確率区間幅の値とオフセット状態の値を更新し、更に、選択された部分的区間を使用して現在導出されるべきビンの値を推測し、かつ更新された確率区間幅と、オフセット状態の値即ち上述の説明におけるＶと、の再正規化を実行してもよく、このとき、データストリーム４０１からのビットの読み出しの継続を含んでもよい。上述したように、オフセット状態の値Ｖに基づく２つの部分的区間の間の選択は、ＲとＶとの間の比較を含んでもよく、他方、確率区間幅の値とオフセット状態値との更新は、現在導出されるべきビンの値に依存してもよい。
【０２３９】
図１６の説明を続けると、デコーダは、シンタックス要素３２７のバイナリゼーションを逆二値化して、その結果、シンタックス要素の整数値を取得するよう構成された、デ・シンボライザ３１４を更に含む。図１６のデコーダに更に含まれる再構築部４０４は、次に、シンタックス要素の整数値に基づき、量子化パラメータＱＰを使用して、ビデオ４０５を再構築する。例えば、再構築部４０４は上述したように予測的な方法で作動してもよく、それと共に、量子化パラメータを使用して、予測残余の変換されたバージョンを表現する変換係数レベルなど、予測残余を表現するための正確さを設定してもよい。エントロピー復号器４０９は、上述のように１２６個の確率状態を区別するよう構成されている。つまり、valMPSの指示、即ち０と１との間における、即ち可能なシンボル状態の間におけるＭＢＳの指示と組合せられた、pState_current[bin] が、１２６個の異なる状態を呈することができることになる。エントロピー復号器４０９は、量子化パラメータの線形方程式、即ちａ・ＱＰ＋ｄの方程式に従って、様々なコンテキストに関連付けられた確率状態、即ち様々な有効コンテキストに関するpState_currentを初期化する。ここで、pState_currentは、実際にはＬＳＢの確率だけを指示していることを思い出して欲しい。従って、ａ・ＱＰ＋ｄは両方を表す。即ち、pState_current及びvalMPSであって、２つの状態の内のどちらがＭＢＳであり、どちらがＬＢＳであるかの指示を表す。ａ・ＱＰ＋ｄがあるシンボルの、即ち１又は０の確率を指示する一方で、ａ・ＱＰ＋ｄが６３より大きいか否かについての事実は、０か１がＭＳＢであるか否かを直接的に指示する。エントロピー復号器１２６は、様々なコンテキストの各々について、線形方程式の傾きａとオフセットｂとを、それぞれの８ビット初期化値の第１及び第２の４ビット部分、即ち、４個のＭＳＢ及びより低い４個のＬＳＢから導出する。この点において、エントロピー復号器４０９は、様々なコンテキストに関連する確率を、ビデオのスライスの開始点として初期化するよう構成されてもよい。エントロピー復号器は、例えばビデオの各スライスのための量子化パラメータを、個別に決定するよう構成されてもよい。つまり、エントロピー復号器４０９は、データストリーム４０１から、各スライスのための量子化パラメータをどのように設定するかについての情報を導出してもよい。次に、傾きとオフセットとを使用しながら、確率推定が、各スライスの開始時に、それぞれのスライスのそれぞれの量子化パラメータを使用してセットされる。「スライスの開始時に」とは、例えば「何らかのコンテキストを使用してエントロピー復号化されるべき第１のビンを復号化する前に」という意味であってもよい。特に、エントロピー復号器４０９は、ビデオの各スライスの開始時に異なるコンテキストと関連付けられた各確率状態を初期化する際に、現在のスライスのための量子化パラメータをデータストリーム４０１から読み出し、かつ、異なるコンテキストに関連付けられた各確率状態を現在のスライスのための量子化パラメータの線形方程式に従って初期化するよう構成されてもよく、ここで、エントロピー復号器は、スライスの各々のために、線形方程式の傾きとオフセット���を同一のそれぞれ８ビット初期化値の第１及び第２の４ビット部分から導出してもよい。つまり、量子化パラメータＱＰがビデオのスライスの間で変化する一方で、傾きとオフセットの対は変化しない。
【０２４０】
上述したように、再構築部４０４は予測的な方法で作動してもよい。従って、再構築部４０４は、シンタックス要素３２７の整数値に基づいてビデオ４０５を再構築する際に、量子化パラメータＱＰを使用しながらシンタックス要素に含まれた変換係数レベルを逆量子化し、逆量子化された変換係数レベルに対する再変換を実行して予測残余を取得し、空間的及び／又は時間的予測を実行して予測信号を取得し、更に、予測残余と予測信号とを結合してビデオ４０５を再構築してもよい。
【０２４１】
具体的な例を挙げると、エントロピー復号器４０９は、異なるコンテキストの各々のために、傾き及びオフセットを第１及び第２の４ビット部分から、例えば上述したテーブル・ルックアップにより、又は代替的に線形演算など個別の算術的演算を使用することにより、互いに独立して導出するよう構成されてもよい。つまり、８ビットの初期化値の２個の４ビット部分の４ビットを一方とし、１２６個の異なる確率状態値を他方とする場合の間のギャップを埋めるために、エントロピー復号器４０９は、両方の４ビット部分を個別に各線形方程式に当てはめてもよい。例えば、８ビット初期化値のＭＳＢであるｐが、slope＝ｍ・ｐ＋ｎを演算することによって傾きへと変更され、８ビット初期化値の４個のＬＳＢであるｑが、offset＝ｓ・ｑ＋ｔによってオフセットを演算するために使用される。ｍ，ｎ，ｔ及びｓは、適切に選択された定数である。完全さを目指す意味だけにおいて、図１７は、図１６のデコーダに適合するエンコーダを示す。ここで、図１７のエンコーダは例えば図２０のエンコーダや他の実施形態のエンコーダの構造に密接に対応しており、それは、図１６のデコーダが図１１のデコーダに対応していることと同様である。即ち、モード切換え能力を除外する点と、エントロピー符号器５１３をＰＩＰＥの概念又は上述したＣＡＢＡＣの概念などの他の概念を含むより包括的な条件で実装する点と、を除いて対応している。このほか、図１６に関して述べた全ての説明は、図１７に対して同等に転換できる。
【０２４２】
これまで装置を説明する文脈で幾つかの態様を示してきたが、これらの態様は対応する方法の説明でもあることは明らかであり、そのブロック又は装置が方法ステップ又は方法ステップの特徴に対応することは明らかである。同様に、方法ステップを説明する文脈で示した態様もまた、対応する装置の対応するブロックもしくは項目又は特徴を表している。方法ステップの幾つか又は全ては、例えばマイクロプロセッサ、プログラム可能なコンピュータ、又は電子回路等のハードウエア装置により（を使用して）実行されても良い。幾つかの実施形態においては、最も重要な方法ステップの内の１つ又は複数のステップはそのような装置によって実行されても良い。
【０２４３】
本発明の符号化済みの信号は、デジタル記憶媒体に記憶されても良く、インターネットのような無線伝送媒体や有線伝送媒体などの伝送媒体によって伝送されても良い。
【０２４４】
所定の構成要件にも依るが、本発明の実施形態は、ハードウエア又はソフトウエアにおいて実装可能である。この実装は、その中に格納される電子的に読み取り可能な制御信号を有し、本発明の各方法が実行されるようにプログラム可能なコンピュータシステムと協働する（又は協働可能な）、デジタル記憶媒体、例えばフレキシブルディスク，ＤＶＤ，ブルーレイ，ＣＤ，ＲＯＭ，ＰＲＯＭ，ＥＰＲＯＭ，ＥＥＰＲＯＭ，フラッシュメモリなどを使用して実行することができる。従って、そのデジタル記憶媒体はコンピュータ読み取り可能であっても良い。
【０２４５】
本発明に従う幾つかの実施形態は、上述した方法の１つを実行するようプログラム可能なコンピュータシステムと協働可能で、電子的に読み取り可能な制御信号を有するデータキャリアを含んでも良い。
【０２４６】
一般的に、本発明の実施例は、プログラムコードを有するコンピュータプログラム製品として実装することができ、このプログラムコードは当該コンピュータプログラム製品がコンピュータ上で作動するときに、本発明の方法の一つを実行するよう作動できる。そのプログラムコードは例えば機械読み取り可能なキャリアに記憶されても良い。
【０２４７】
他の実施形態は、上述した方法の１つを実行するための、機械読み取り可能なキャリアに記憶されたコンピュータプログラムを含む。
【０２４８】
換言すれば、本発明の方法のある実施形態は、そのコンピュータプログラムがコンピュータ上で作動するときに、上述した方法の１つを実行するためのプログラムコードを有する、コンピュータプログラムである。
【０２４９】
本発明の他の実施形態は、上述した方法の１つを実行するために記録されたコンピュータプログラムを含む、データキャリア（又はデジタル記憶媒体又はコンピュータ読み取り可能な媒体）である。データキャリア、デジタル記憶媒体又は記録された媒体は、典型的には有形であり、及び／又は非一時的である。
【０２５０】
本発明の他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムを表現するデータストリーム又は信号列である。そのデータストリーム又は信号列は、例えばインターネットを介するデータ通信接続を介して伝送されるように構成されても良い。
【０２５１】
他の実施形態は、上述した方法の１つを実行するように構成又は適用された、例えばコンピュータ又はプログラム可能な論理デバイスのような処理手段を含む。
【０２５２】
他の実施形態は、上述した方法の１つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
【０２５３】
本発明によるさらなる実施形態は、本明細書に記載の方法のうちの１つを実行するためのコンピュータプログラムを受信機へと（例えば、電子的または光学的に）転送するよう構成された装置またはシステムを含む。受信機は、例えばコンピュータ、携帯デバイス、メモリデバイス、などであってよい。装置またはシステムは、例えばコンピュータプログラムを受信機へと転送するためのファイルサーバを備えることができる。
【０２５４】
幾つかの実施形態においては、（例えば書換え可能ゲートアレイのような）プログラム可能な論理デバイスは、上述した方法の幾つか又は全ての機能を実行するために使用されても良い。幾つかの実施形態では、書換え可能ゲートアレイは、上述した方法の１つを実行するためにマイクロプロセッサと協働しても良い。一般的に、そのような方法は、好適には任意のハードウエア装置によって実行される。
【０２５５】
上述した実施形態は、本発明の原理を単に例示的に示したにすぎない。本明細書に記載した構成及び詳細について修正及び変更が可能であることは、当業者にとって明らかである。従って、本発明は、本明細書に実施形態の説明及び解説の目的で提示した具体的詳細によって限定されるものではなく、添付した特許請求の範囲によってのみ限定されるべきである。
【０２５６】
［請求項１］
シンタックス要素（３２７）がこのシンタックス要素のバイナリゼーションを使用して符号化された、データストリーム（４０１）からビデオを復号化するためのデコーダであって、
前記データストリーム（４０１）の以前に復号化された部分に基づいて、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連する確率状態を更新することにより、バイナリー・エントロピー復号化を使用して、前記データストリーム（４０１）から前記バイナリゼーションのいくつかのビン（３２６）を導出するエントロピー復号器（４０９）と、
前記シンタックス要素（３２７）のバイナリゼーションを逆二値化することで、前記シンタックス要素の整数値を得るデ・シンボライザ（３１４）と、
前記シンタックス要素の整数値に基づいて、量子化パラメータを使用して前記ビデオを再構築する再構築部（４０４）と、を備え、
前記エントロピー復号器（４０９）は、１２６個の確率状態を区別し、前記量子化パラメータの線形方程式にしたがって前記異なるコンテキストに関連した確率状態を初期化し、前記エントロピー復号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
［請求項２］
請求項１に記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、バイナリー算術復号化又はバイナリーＰＩＰＥ復号化を使用して、前記データストリーム（４０１）から前記バイナリゼーションのいくつかのビン（３２６）を導出するよう構成されている、デコーダ。
［請求項３］
請求項１又は２に記載のデコーダにおいて、
現在導出されるべきビンが所属する前記バイナリゼーション内での前記現在導出されるべきビンのビン位置と、
前記現在導出されるべきビンが所属する前記バイナリゼーションを逆二値化することによってその整数値が得られる前記シンタックス要素のシンタックス要素タイプと、
前記データストリーム（４０１）から以前に導出された１つ以上のビン、又は以前に逆二値化されたシンタックス要素の整数値と、の内の１つ又は複数に依存して、
前記エントロピー復号器（４０９）が前記現在導出されるべきビンに対するコンテキスト選択を実行するよう構成されている、デコーダ。
［請求項４］
請求項１〜３のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、現在導出されたビンに依存して、前記１２６個の確率状態の中の前記現在導出されたビンのために選択されたコンテキストに関連する現在の確率状態から、前記１２６個の確率状態の中の新たな確率状態へと遷移させることで、前記現在導出されたビンに対する前記確率状態の更新を実行するよう構成されている、デコーダ。
［請求項５］
請求項１〜４のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、現在の確率区間を表す現在の確率区間幅値を量子化することにより、確率区間インデックスを取得し、更に、前記確率区間インデックスと、前記現在導出されるべきビンのために選択されたコンテキストに関連する現在の確率状態に依存する確率状態インデックスとを使用して、テーブルエントリー内の１つのテーブルエントリーをインデックス化することで、区間サブ分割を実行して前記現在の確率区間から２つの部分的区間へサブ分割することにより、現在導出されるべきビンをバイナリー算術復号化するよう構成されている、デコーダ。
［請求項６］
請求項５に記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記現在の確率区間幅値のために８ビット表現を使用し、前記現在の確率区間幅値を量子化するに際し、前記８ビット表現の２つ又は３つの最も有意なビットを取り出すよう構成されている、デコーダ。
［請求項７］
請求項５又は６に記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記現在の確率区間の内部からのオフセット状態値に基づいて前記２つの部分的区間内で選択し、前記確率区間幅値とオフセット状態値とを更新し、前記選択された部分的区間を使用して現在導出されるべきビンの値を推測し、前記データストリーム（４０１）からビットの継続的な読み出しを含む、前記更新された確率区間幅値と前記オフセット状態値との再正規化を実行するよう構成されている、デコーダ。
［請求項８］
請求項１〜７のいずれかに記載のデコーダにおいて、前記エントロピー復号器（４０９）は、前記ビデオのスライスの開始時に、前記異なるコンテキストに関連した確率状態を初期化するよう構成されている、デコーダ。
［請求項９］
請求項８に記載のデコーダにおいて、前記エントロピー復号器（４０９）は、前記ビデオの各スライスについて前記量子化パラメータを個別に決定するよう構成されている、デコーダ。
［請求項１０］
請求項１〜９のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記データストリーム（４０１）から現在のスライスに対する前記量子化パラメータを読み出し、かつ前記現在のスライスに対する前記量子化パラメータの線形方程式に従って前記異なるコンテキストに関連した確率状態を初期化することによって、前記ビデオのスライスの開始時に前記異なるコンテキストに関連した確率状態を初期化するよう構成されており、
前記エントロピー復号器（４０９）は、前記スライスのそれぞれについて、同じ各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから、前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
［請求項１１］
請求項１〜１０のいずれかに記載のデコーダにおいて、
前記再構築部（４０４）は、前記シンタックス要素（３２７）の整数値に基づいて前記ビデオ（４０５）を再構築するに当り、前記量子化パラメータを使用して前記シンタックス要素に含まれる変換係数レベルを逆量子化し、前記逆量子化された変換係数レベルに対して再変換を実行して予測残余を取得し、空間的及び／又は時間的予測を実行して予測信号を取得し、さらに前記予測残余と前記予測信号とを結合して前記ビデオ（４０５）を再構築するよう構成されている、デコーダ。
［請求項１２］
請求項１〜１１のいずれかに記載のデコーダにおいて、
前記エントロピー復号器（４０９）は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから互いに独立して前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
［請求項１３］
請求項１〜１２のいずれかに記載のデコーダにおいて、
前記エントロピー復号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とからテーブル・ルックアップ又は算術的演算を使用して前記線形方程式の傾きとオフセットとを導出するよう構成されている、デコーダ。
［請求項１４］
請求項１〜１２のいずれかに記載のデコーダにおいて、
前記エントロピー復号器は、前記異なるコンテキストのそれぞれについて、前記第１の４ビット部分をパラメータの第１ペアで乗算しかつオフセットすることによって前記線形方程式の傾きを導出し、前記第２の４ビット部分をパラメータの第２ペアで乗算しかつオフセットすることによって前記線形方程式のオフセットを導出するよう構成されている、デコーダ。
［請求項１５］
シンタックス要素のバイナリゼーションを使用して前記シンタックス要素をデータストリームへと符号化することによって、ビデオを前記データストリームへと符号化するエンコーダであって、
量子化パラメータに依存して前記シンタックス要素の整数値を設定することにより、前記ビデオを表現する構築部と、
前記シンタックス要素の整数値を二値化して前記シンタックス要素のバイナリゼーションを得るシンボライザと、
前記データストリームの以前に符号化された部分に依存して、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連した確率状態を更新することにより、バイナリー・エントロピー符号化を使用して、前記バイナリゼーションのいくつかのビンを前記データストリームへと符号化するエントロピー符号器と、を備え、
前記エントロピー符号器は、１２６個の確率状態を区別し、前記量子化パラメータの線形方程式に従って、前記異なるコンテキストに関連した確率状態を初期化するよう構成され、前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
［請求項１６］
請求項１５に記載のエンコーダにおいて、
前記エントロピー符号器は、バイナリー算術符号化又はバイナリーＰＩＰＥ符号化を使用して、前記バイナリゼーションのいくつかのビンを前記データストリームへと符号化するよう構成されている、エンコーダ。
［請求項１７］
請求項１５又は１６に記載のエンコーダにおいて、
現在符号化されるべきビンが所属する前記バイナリゼーション内での前記現在符号化されるべきビンのビン位置と、
前記現在符号化されるべきビンが所属する前記バイナリゼーションへとその整数値が二値化される前記シンタックス要素のシンタックス要素タイプと、
前記データストリームへと以前に符号化された１つ以上のビン、又はバイナリゼーションが以前に符号化されたシンタックス要素の整数値と、の内の１つ又は複数に依存して、
前記エントロピー符号器が前記現在符号化されるべきビンに対するコンテキスト選択を実行するよう構成されている、エンコーダ。
［請求項１８］
請求項１５〜１７のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、現在符号化されたビンに依存して、前記１２６個の確率状態の中の現在符号化されたビンに対して選択されたコンテキストに関連する現在の確率状態から、前記１２６個の確率状態の中の新たな確率状態へと遷移させることによって、現在符号化されたビンに対して前記確率状態の更新を実行するよう構成されている、エンコーダ。
［請求項１９］
請求項１５〜１８のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、現在の確率区間を表す現在の確率区間幅値を量子化することにより、確率区間インデックスを取得し、更に、前記確率区間インデックスと、前記現在符号化されるべきビンのために選択されたコンテキストに関連付けられた現在の確率状態に依存する確率状態インデックスとを使用して、テーブルエントリー内の１つのテーブルエントリーをインデックス化することにより、区間サブ分割を実行して前記現在の確率区間から２つの部分的区間へサブ分割することにより、現在符号化されるべきビンをバイナリー算術符号化するよう構成されている、エンコーダ。
［請求項２０］
請求項１９に記載のエンコーダにおいて、
前記エントロピー符号器は、前記現在の確率区間幅値のために８ビット表現を使用し、前記現在の確率区間幅値を量子化するに際し、前記８ビット表現の２つ又は３つの最も有意なビットを取り出すよう構成されている、エンコーダ。
［請求項２１］
請求項１９又は２０に記載のエンコーダにおいて、
前記エントロピー符号器は、前記現在符号化されるべきビンの整数値に基づいて前記２つの部分的区間内で選択し、前記選択された部分的区間を使用して前記確率区間幅値と確率区間オフセットとを更新し、前記データストリームへのビットの継続的な書き込みを含む、前記確率区間幅値と前記確率区間オフセットとの再正規化を実行するよう構成されている、エンコーダ。
［請求項２２］
請求項１５〜２１のいずれかに記載のエンコーダにおいて、
前記エントロピー復号器は、前記ビデオの各スライスの開始時に、異なるコンテキストに関連した前記確率状態を初期化するよう構成されている、エンコーダ。
［請求項２３］
請求項１５〜２２のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記ビデオの各スライスの開始時に、異なるコンテキストに関連した前記確率状態を初期化するよう構成されている、エンコーダ。
［請求項２４］
請求項１５〜２３のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記データストリームから現在のスライスに対する前記量子化パラメータを個別に設定し、かつ前記現在のスライスに対する前記量子化パラメータの線形方程式に従って異なるコンテキストに関連した前記確率状態を初期化することにより、前記ビデオの各スライスの開始時に前記異なるコンテキストに関連した確率状態を初期化するよう構成されており、
前記エントロピー符号器は、前記スライスのぞれぞれについて、同じ各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから、前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
［請求項２５］
請求項１５〜２４のいずれかに記載のエンコーダにおいて、
前記構築部は、前記シンタックス要素の整数値を設定するに当り、空間的及び／又は時間的予測を実行して予測信号を取得し、前記予測信号及び前記ビデオから予測残余を導出し、前記予測残余に対して変換を実行して変換係数レベルを取得し、前記量子化パラメータを使用して前記変換係数レベルを量子化することで前記シンタックス要素に含まれる量子化済み変換係数レベルを取得するよう構成されている、エンコーダ。
［請求項２６］
請求項１５〜２５のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから互いに独立して前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
［請求項２７］
請求項１５〜２６のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とからテーブル・ルックアップ又は算術的演算を使用して前記線形方程式の傾きとオフセットとを導出するよう構成されている、エンコーダ。
［請求項２８］
請求項１５〜２７のいずれかに記載のエンコーダにおいて、
前記エントロピー符号器は、前記異なるコンテキストのそれぞれについて、前記第１の４ビット部分をパラメータの第１ペアで乗算しかつオフセットすることによって前記線形方程式の傾きを導出し、前記第２の４ビット部分をパラメータの第２ペアで乗算しかつオフセットすることによって前記線形方程式のオフセットを導出するよう構成されている、エンコーダ。
［請求項２９］
シンタックス要素がこのシンタックス要素のバイナリゼーションを使用して符号化された、データストリームからビデオを復号化するための方法であって、
前記データストリームの以前に復号化された部分に基づいて、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連する確率状態を更新することにより、バイナリー・エントロピー復号化を使用して、前記データストリームから前記バイナリゼーションのいくつかのビンを導出するステップと、
前記シンタックス要素のバイナリゼーションを逆二値化することで、前記シンタックス要素の整数値を得るステップと、
前記シンタックス要素の整数値に基づいて、量子化パラメータを使用して前記ビデオを再構築するステップと、を備え、
前記バイナリゼーションのいくつかのビンを導出するステップは、１２６個の確率状態を区別し、前記方法はさらに、前記量子化パラメータの線形方程式にしたがって前記異なるコンテキストに関連した確率状態を初期化し、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出すること、を含む方法。
［請求項３０］
シンタックス要素のバイナリゼーションを使用して前記シンタックス要素をデータストリームへと符号化することによって、ビデオを前記データストリームへと符号化する方法であって、
量子化パラメータに依存して前記シンタックス要素の整数値を設定することにより、前記ビデオを表現するステップと、
前記シンタックス要素の整数値を二値化して前記シンタックス要素のバイナリゼーションを得るステップと、
前記データストリームの以前に符号化された部分に依存して、異なるコンテキストの中から１つのコンテキストを選択し、かつ前記異なるコンテキストに関連した確率状態を更新することにより、バイナリー・エントロピー符号化を使用して、前記バイナリゼーションのいくつかのビンを前記データストリームへと符号化するステップと、を備え、
前記ビデオを表現するステップは、１２６個の確率状態を区別し、前記方法はさらに、前記量子化パラメータの線形方程式に従って、前記異なるコンテキストに関連した確率状態を初期化し、前記異なるコンテキストのそれぞれについて、各８ビット初期化値の第１の４ビット部分と第２の４ビット部分とから前記線形方程式の傾きとオフセットとを導出すること、を含む方法。
［請求項３１］
コンピュータ上で作動されたとき、請求項２９又は３０に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【図１】
2018186527.tif 000018
【図２】
2018186527.tif 000019
【図３】
2018186527.tif 000020
【図４】
2018186527.tif 000021
【図５】
2018186527.tif 000022
【図６】
2018186527.tif 000023
【図７】
2018186527.tif 000024
【図８】
2018186527.tif 000025
【図９】
2018186527.tif 000026
【図１０】
2018186527.tif 000027
【図１１】
2018186527.tif 000028
【図１２】
2018186527.tif 000029
【図１３】
2018186527.tif 000030
【図１４】
2018186527.tif 000031
【図１５】
2018186527.tif 000032
【図１６】
2018186527.tif 000033
【図１７】
2018186527.tif 000034