(57)【特許請求の範囲】
【請求項１】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
前記エントロピー復号化エンジンは、全てのエントロピー復号化方式について、ただ１つの確率区間幅値Ｒおよびオフセット状態値Ｖが処理されるように、構成されることを特徴とする、デコーダ。
【請求項２】
前記選択は、前記高効率モードがアクティブにされている場合には、シンボルの前記シーケンス（３２６）の先に取り出されたシンボルに依存し、前記低煩雑性モードがアクティブにされている場合には、シンボルの前記シーケンスのいかなる先に取り出されたシンボルからも独立していることを特徴とする、請求項１に記載のデコーダ。
【請求項３】
前記データストリームは、連続部分に構築され、シンボルの前記シーケンスの各シンボルは、複数のシンボルタイプのそれぞれと関連しており、現在の部分の中の所定のシンボルタイプのシンボルについて、前記選択は、前記高効率モードがアクティブにされている場合には、前記現在の部分の中の前記所定のシンボルタイプのシンボルの前記シーケンスの先に取り出されたシンボルに応じてコンテキスト適合性および確率適合性の少なくとも一方の結果として、変動し、そして、前記低煩雑性モードがアクティブにされている場合には、前記コンテキスト適合性および前記確率適合性を非選択に切替えることで、前記現在の部分の中で一定のままにしておかれることを特徴とする、請求項１又は請求項２に記載のデコーダ。
【請求項４】
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記エントロピー復号化エンジンは、所定のシンボルタイプの所定のシンボルについて、
前記高効率モードがアクティブにされている場合には、シンボルの前記シーケンスの先に取り出されたシンボルに応じて、複数のコンテキストのうちの一つを選択し、前記所定のシンボルに応じて、前記選択されたコンテキストと関連した確率モデルをアップデートするとともに、前記選択されたコンテキストと関連した前記確率モデルに応じて、前記エントロピー復号化方式の中の前記選択を実行し、そして、
前記低煩雑性モードがアクティブにされている場合には、シンボルの前記シーケンスの前記先に取り出されたシンボルに応じて、前記複数のコンテキストのうちの前記一つの選択を実行し、前記選択されたコンテキストと関連した前記確率モデルを一定にしたままにしておくとともに、前記選択されたコンテキストと関連した前記確率モデルに応じて、前記エントロピー復号化方式の中の前記選択を実行するように構成されることを特徴とする、請求項１〜請求項３のいずれかに記載のデコーダ。
【請求項５】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、
所定のシンボルタイプの各シンボルについて、前記高効率モードがアクティブにされている場合には、前記選択は、前記所定のシンボルタイプと関連した確率モデルに依存し、前記確率モデルは、第１のアップデートレートで前記所定のシンボルの前記シンボルに応じて、アップデートされ、
前記所定のシンボルタイプの各シンボルについて、前記低煩雑性モードがアクティブにされている場合には、前記選択は、前記確率モデルに依存し、前記確率モデルは、前記第１のアップデートレートより低い第２のアップデートレートで前記所定のシンボルタイプの前記シンボルに応じて、間欠的にアップデートされることを特徴とするデコーダ。
【請求項６】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
所定のシンボルタイプのシンボルについて、
前記高効率モードがアクティブにされている場合には、確率モード適応は、第１の確率状態精度で定められた確率状態インデックスを用いて実行され、前記選択は、前記第１の確率状態精度で定められた前記確率状態インデックスに依存し、
前記低煩雑性モードがアクティブにされている場合には、確率モード適応が実行されない、または、前記第１の確率状態精度より低い第２の確率状態精度で定められた確率状態インデックスを用いた確率モード適応が実行され、前記選択は、前記第２の確率状態精度で定められた前記確率状態インデックスに依存することを特徴とするデコーダ。
【請求項７】
前記再現器（４０４）は、前記高効率モードがアクティブにされているか前記低煩雑性モードがアクティブにされているかとは独立して作動するように構成されることを特徴とする、請求項１〜請求項６のいずれかに記載のデコーダ。
【請求項８】
前記再現器（４０４）は、前記高効率モードがアクティブにされているか前記低煩雑性モードがアクティブにされているかとは独立して、構文要素の前記シーケンスの一部に基づいて、変換係数レベル（２０２）の変換ブロック（２００）を再現するように構成され、構文要素の前記シーケンスの前記一部は、非インターリーブされた方法で、
前記変換ブロック（２００）の中のゼロでない変換係数レベルの位置を示している有効性マップを定めている有効性マップ構文要素と、
前記ゼロでない変換係数レベルを定めているレベル構文要素とを含むことを特徴とする、請求項１〜請求項７のいずれかに記載のデコーダ。
【請求項９】
前記再現器（４０４）は、前記高効率モードがアクティブにされているか前記低煩雑性モードがアクティブにされているかとは独立して、構文要素の前記シーケンスの一部に基づいて、変換係数レベル（２０２）の変換ブロック（２００）を再現するように構成され、構文要素の前記シーケンスの前記一部は、非インターリーブされた方法で、
前記変換ブロックの中の最後のゼロでない変換係数レベルの一部を示しているエンド位置構文要素（ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙ）と、
有効性マップを定めると共に、ＤＣ位置から前記変換ブロック（２００）の中の前記最後のゼロでない変換係数レベルの前記位置に通じている一次元のパス（２７４）に沿った位置ごとに、前記各位置の前記変換係数レベルがゼロでないかどうかに関して示している第１の構文要素（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）と、
前記第１のバイナリの構文要素に従って、ゼロでない変換係数レベルが位置決めされる前記一次元のパス（２７４）の位置ごとに、前記各位置の前記変換係数レベルが１より大きいものであるかどうかに関して示している第２の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１）と、
前記第１のバイナリの構文要素に従って、１より大きい変換係数レベルが位置決めされる前記一次元のパスの位置ごとに、前記各位置の前記各変換係数レベルが１を上回る量を表している第３の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）と、
前記エンド位置構文要素、並びに前記第１の構文要素、前記第２の構文要素、および前記第３の構文要素間の順序は、前記高効率モードおよび前記低煩雑性モードに関して同じであり、
前記選択（４０２）は、前記高効率モードがアクティブにされているか前記低煩雑性モードがアクティブにされているかに応じて異なって、前記デシンボライザが、前記エンド位置構文要素、前記第１の構文要素、前記第２の構文要素、および／または前記第３の構文要素を得るシンボルに関して、実行されることを特徴とする、請求項１〜請求項８のいずれかに記載のデコーダ。
【請求項１０】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
前記再現器（４０４）は、前記高効率モードがアクティブにされているか前記低煩雑性モードがアクティブにされているかとは独立して、構文要素の前記シーケンスの一部に基づいて、変換係数レベル（２０２）の変換ブロック（２００）を再現するように構成され、構文要素の前記シーケンスの前記一部は、非インターリーブされた方法で、
前記変換ブロックの中の最後のゼロでない変換係数レベルの一部を示しているエンド位置構文要素（ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙ）と、
有効性マップを定めると共に、ＤＣ位置から前記変換ブロック（２００）の中の前記最後のゼロでない変換係数レベルの前記位置に通じている一次元のパス（２７４）に沿った位置ごとに、前記各位置の前記変換係数レベルがゼロでないかどうかに関して示している第１の構文要素（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）と、
前記第１のバイナリの構文要素に従って、ゼロでない変換係数レベルが位置決めされる前記一次元のパス（２７４）の位置ごとに、前記各位置の前記変換係数レベルが１より大きいものであるかどうかに関して示している第２の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１）と、
前記第１のバイナリの構文要素に従って、１より大きい変換係数レベルが位置決めされる前記一次元のパスの位置ごとに、前記各位置の前記各変換係数レベルが１を上回る量を表している第３の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）と、
前記エンド位置構文要素、並びに前記第１の構文要素、前記第２の構文要素、および前記第３の構文要素間の順序は、前記高効率モードおよび前記低煩雑性モードに関して同じであり、
前記選択（４０２）は、前記高効率モードがアクティブにされているか前記低煩雑性モードがアクティブにされているかに応じて異なって、前記デシンボライザが、前記エンド位置構文要素、前記第１の構文要素、前記第２の構文要素、および／または前記第３の構文要素を得るシンボルに関して、実行され、
前記第１のバイナリの構文要素に従って、１より大きい変換係数レベルが位置決めされる前記一次元のパスの位置ごとに、前記各位置の前記各変換係数レベルが１を上回る量を表している前記第３の構文要素は、整数値の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）を含み、前記デシンボライザ（３１４）は、シンボル・シーケンス・ワードのドメインを、前記整数値の構文要素のコドメインにマッピングするために制御パラメータによって制御可能なマッピング関数を使用し、前記高効率モードがアクティブにされている場合には、先の第３の構文要素の整数値の構文要素に応じて、整数値の構文要素ごとに、前記制御パラメータを設定し、そして、前記低煩雑性モードがアクティブにされている場合には、前記設定が前記サブシーケンスの連続するサブパートにわたって一定であるような区分的に一定の方法で、前記設定を実行するように構成され、前記選択（４０２）は、前記高効率モードおよび前記低煩雑性モードの両方において、等しい確率分布に関連した前記整数値の構文要素にマップされたシンボル・シーケンス・ワードの前記シンボルについて、前記エントロピー復号器（３２２）又はエントロピー復号化方式のうちの所定の一つを選択することを特徴とするデコーダ。
【請求項１１】
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記選択は、いくつかの所定のシンボルタイプの各々のシンボルについて、前記各所定のシンボルと関連した各確率モデルに依存し、その結果、
所定のシンボルタイプの数が、前記高効率モードに比べて、前記低煩雑性モードにおいて、より小さい
ことを特徴とする、請求項１〜請求項１０のいずれかに記載のデコーダ。
【請求項１２】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記選択（４０２）は、所定のシンボルタイプのシンボルについて、前記所定のシンボルタイプと関連した確率モデルをアップデートするとともに又はアップデートせずに、前記関連した確率モデルに依存し、その結果、
前記所定のシンボルタイプの前記シンボルについての前記選択が、前記アップデートとともに実行されるシンボルの前記シーケンスの学習フェーズの長さが、前記高効率モードに比べて、前記低煩雑性モードにおいて、より短い
ことを特徴とするデコーダ。
【請求項１３】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記選択は、所定のシンボルタイプのシンボルについて、前記所定のシンボルタイプと関連した確率モデルをアップデートするとともに、前記関連した確率モデルに依存し、その結果、
前記アップデートのレートが、前記高効率モードに比べて、前記低煩雑性モードにおいて、より低い
ことを特徴とするデコーダ。
【請求項１４】
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記選択は、所定のシンボルタイプのシンボルについて、シンボルの前記シーケンスの先に取り出されたシンボルの数に応じて、いくつかのコンテキストのうちの一つを選択し、前記選択されたコンテキストと関連した確率モデルに応じて、前記エントロピー復号器（３２２）またはエントロピー復号化方式の中で選択することによって実行され、その結果、
コンテキストの数、および／または、先に取り出されたシンボルの数が、前記高効率モードに比べて、前記低煩雑性モードにおいて、より低いように、
ことを特徴とする、請求項１〜請求項１３のいずれかに記載のデコーダ。
【請求項１５】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
シンボルの前記シーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記選択（４０２）は、所定のシンボルタイプのシンボルについて、前記所定のシンボルタイプと関連した確率モデルに依存し、前記所定のシンボルタイプのｙ個の最新のシンボルに基いて前記所定のタイプのｘ番目のシンボルごとに、前記関連した確率モデルがアップデートされ、その結果、
比率ｘ／ｙが、前記高効率モードに比べて、前記低煩雑性モードにおいて、より低い
ことを特徴とするデコーダ。
【請求項１６】
メディアデータが符号化されるデータストリーム（４０１）を復号するためのデコーダであって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするために構成された、モードスイッチ（４００）と、
複数のエントロピー復号化方式（３２２）のうちの選択された一つを使用して、前記データストリームからエントロピー復号化することによって、シンボルのシーケンス（３２６）の各シンボルを取り出すために構成された、エントロピー復号化エンジン（６０８）と、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化するために構成された、デシンボライザ（３１４）と、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するために構成された、再現器（４０４）とを含み、
前記選択は、前記低煩雑性モードおよび前記高効率モードのうちのアクティブにされた一つに依存し、
前記エントロピー復号化エンジンは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率評価を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
シンボルのシーケンス（３２６）の各シンボルは、複数のシンボルタイプのそれぞれと関連しており、前記シンボルタイプと関連した前記確率モデルは、計算および構文要素が、前記高効率モードと前記低煩雑性モードとでそれぞれ同じであるが、前記計算結果の解像度が前記高効率モードより前記低煩雑性モードにおいてより低い前記データストリームの構文要素を用いた計算に基いて、初期化されることを特徴とするデコーダ。
【請求項１７】
データストリーム（６０１）にメディアデータを符号化するためのエンコーダであって、
低煩雑性モードまたは高効率モードのアクティブ化を前記データストリームの中で示すように構成された、インサータ（５００）と、
前記メディアデータを構文要素のシーケンスにプレコーディングするように構成された、再現器（５０４）と、
構文要素（３２７）の前記シーケンスを、シンボルのシーケンスに記号化するように構成されたシンボライザ（５０７）と、
複数のエントロピー符号化方式の選択された一つを使用して、シンボルの前記シーケンスの各シンボルを、前記データストリームに符号化するように構成されたエントロピー符号化エンジン（７１０）とを含み、
前記エントロピー符号化エンジンは、前記低煩雑性モードおよび前記高効率モードの前記アクティブ化された一つに応じて、前記選択を実行するように構成され、
前記エントロピー符号化エンジンは、前記複数のエントロピー符号化方式の各々が、前記各エントロピー符号化方式が選択された前記シンボルの算術符号化を、前記算術符号化において異なる確率推定を使用する際に互いに異なる前記複数のエントロピー符号化方式と関係させるように、そして、前記複数のエントロピー符号化方式が、一つの共通のビットストリームに前記シンボルを符号化するために、共通の確率区間でそれらの確率細分化を実行するように、構成され、
前記エントロピー符号化エンジンは、全てのエントロピー復号化方式について、ただ１つの確率区間幅値Ｒおよびオフセット状態値Ｖが処理されるように、構成されることを特徴とする、エンコーダ。
【請求項１８】
メディアデータが符号化されるデータストリーム（４０１）を復号するための方法であって、
前記データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするステップと、
構文要素（３２７）のシーケンスを得るために、シンボル（３２６）の前記シーケンスを非記号化している複数のエントロピー復号化方式（３２２）の選択された一つを使用して、前記データストリームからエントロピー復号化によってシンボルのシーケンス（３２６）の各シンボルを取り出すステップと、
構文要素の前記シーケンスに基づいて、前記メディアデータを再現するステップとを含み、
前記複数のエントロピー復号化方式（３２２）の中の前記選択は、前記低煩雑性モードおよび前記高効率モードのうちの前記アクティブ化された一つに応じて実行され、
前記取り出すステップは、前記複数のエントロピー復号化方式の各々が、前記各エントロピー復号化方式が選択された前記シンボルの算術復号化を、前記算術復号化において異なる確率推定を使用する際に互いに異なる前記複数のエントロピー復号化方式と関係させるように、そして、前記複数のエントロピー復号化方式が、一つの共通のビットストリームから前記シンボルを復号するために、共通の確率区間でそれらの確率細分化を実行するように、実行され、
全てのエントロピー復号化方式について、ただ１つの確率区間幅値Ｒおよびオフセット状態値Ｖが処理されるように、構成される、
ことを特徴とする、方法。
【請求項１９】
メディアデータをデータストリームに符号化するための方法であって、
低煩雑性モードまたは高効率モードのアクティブ化を前記データストリームの中で示すステップと、
前記メディアデータを構文要素のシーケンスにプレコーディングするステップと、
構文要素の前記シーケンスを、シンボルのシーケンスに記号化するステップと、
複数のエントロピー符号化方式の選択された一つを使用して、シンボルの前記シーケンスの各シンボルを、前記データストリームに符号化するステップとを含み、
前記複数のエントロピー符号化方式の中の前記選択が、前記低煩雑性モードおよび前記高効率モードの前記アクティブ化された一つに応じて、実行され、
前記符号化するステップは、前記複数のエントロピー符号化方式の各々が、前記各エントロピー符号化方式が選択された前記シンボルの算術符号化を、前記算術符号化において異なる確率推定を使用する際に互いに異なる前記複数のエントロピー符号化方式と関係させるように、そして、前記複数のエントロピー符号化方式が、一つの共通のビットストリームに前記シンボルを符号化するために、共通の確率区間でそれらの確率細分化を実行するように、実行され、
全てのエントロピー復号化方式について、ただ１つの確率区間幅値Ｒおよびオフセット状態値Ｖが処理されるように、構成される、
ことを特徴とする、方法。
【請求項２０】
コンピュータ上で動作するときに、請求項１８または請求項１９に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオデータまたはオーディオデータなどのメディアコンテンツを符号化するためのエントロピー符号化構想に関する。
【背景技術】
【０００２】
多くのオーディオおよびビデオオーディオコーデックが知られている。通常、これらの符復号化は、オーディオ又はビデオなどのメディアコンテンツを表すために必要なデータ量を削減する、すなわち、それらはデータを圧縮する。しかし、これらの符復号化に課される要求は、高い圧縮効率の達成に限られていない。むしろ、符復号化は、特定のアプリケーションタスクのために特殊化される傾向がある。したがって、オーディオ分野においては、音声符号化のために特殊化されるオーディオコーデックがあり、他方、音楽を符号化するために特殊化されるオーディオコーデックがある。さらに、使用目的によっては、符号化遅延は重要であり、したがって、符復号化のいくつかは、低遅延のために特殊化される。このほか、これらの符復号化のほとんどは、煩雑性／効率性の異なるレベルにおいて利用できる。すなわち、これらのレベルの一部は、低符号化効率という代償を払った低符号化煩雑性についてのものである。Ｈ．２６４ビデオ符号化標準は、例えば、ベースラインプロファイルとメインプロファイルを提供する。第一に、これらの符号化プロファイルは、オーディオ符号化分野におけるＳＢＲの利用可能性／欠如やビデオ符号化分野におけるＢフレームの利用可能性／欠如などの特定の符号化オプション／装置のアクティブ化／非アクティブ化において、互いに異なっている。このほか、これらのメディア符復号化の煩雑性の相当な部分は、構文要素のエントロピー符号化に関する。通常、ＶＬＣエントロピー符号化方式は、算術符号化方式よりは複雑でない傾向があるが、後者がより良好な符号化効率を示す。したがって、Ｈ２６４標準では、適応２進法算術符号化（ｃｏｎｔｅｘｔ  ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）（ＣＡＢＡＣ）は、ベースラインプロファイルではなく、メインプロファイルにおいてのみ利用できる。明白であるが、ベースラインプロファイル適応デコーダは、メインプロファイル適応デコーダより複雑でないように構成されることができる。同じことが、エンコーダにも当てはまる。この種のデコーダおよび／またはエンコーダを含むハンドへルドデバイスが限られたエネルギー利用度を有するので、ベースラインプロファイルは、低煩雑性に関してはメインプロファイルより利点がある。メインプロファイル適応デコーダ／エンコーダは、より複雑な算術符号化方式であるというだけでなく、これらのメインプロファイル適応デコーダ／エンコーダがベースラインプロファイル適応データストリームと上位互換性を持たなければならないという事実のため、より複雑である。換言すれば、増加した煩雑性は、低煩雑性可変長符号化方式から生じている煩雑性につながっている算術符号化方式に起因する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記からみて、符号化煩雑性と符号化効率との間のコーデックスの比率のより効果的なスケーラビリティを可能にする符号化構想があれば、それが好ましいだろう。
【０００４】
したがって、このような符号化構想を提供することが、本発明の目的である。
【課題を解決するための手段】
【０００５】
この目的は、これに添付された独立請求項の内容によって達成される。
【０００６】
一実施形態によれば、メディアデータが符号化されるデータストリームを復号するためのデコーダは、データストリームに応じて、低煩雑性モードまたは高効率モードをアクティブにするように構成されるモードスイッチと、複数のエントロピー復号方式の選択された一つを使用して、データストリームから、エントロピー復号化によって、シンボルのシーケンスのうちの各シンボルを取り出すように構成されるエントロピー復号化エンジンと、構文要素のシーケンスを得るためにシンボルのシーケンスを非記号化（ｄｅｓｙｍｂｏｌｉｚｅ）するように構成されたデシンボライザ（ｄｅｓｙｍｂｏｌｉｚｅｒ）と、構文要素のシーケンスに基づいてメディアデータを再現するように構成された再現器とを含み、そこにおいて、前記選択は、低煩雑性モードおよび高効率モードのうちのアクティブにされた一つに依存する。
【０００７】
別の実施形態によれば、メディアデータが符号化されるデータストリームを復号するためのデコーダは、データストリームに応じて低煩雑性モードまたは高効率モードをアクティブにするように構成されるモードスイッチと、制御パラメータによって制御可能なマッピング関数を使用して、整数値の構文要素のシーケンスを得るためにシンボルのシーケンスを非記号化するように構成されたデシンボライザと、整数値の構文要素のシーケンスに基づいてメディアデータを再現するように構成された再現器とを含み、そこにおいて、デシンボライザは、高効率モードがアクティブにされている場合には、制御パラメータが、第１のレートでデータストリームに従って変動し、低煩雑性モードがアクティブにされている場合には、制御パラメータが、データストリームに関係なく一定であるか、又は、第１のレートより低い第２のレートでデータストリームに応じて変化するように、非記号化を実行するように構成される。
【０００８】
本願の好ましい実施形態は、図を参照して、以下に説明される。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態によるエンコーダのブロック図を示す。
【図２】図２ａ〜２ｃは、図式的に、ブロックへの画像などのサンプル配列の様々な細分化を示す。
【図３】図３は、一実施形態によるデコーダのブロック図を示す。
【図４】図４は、更に詳細に、一実施形態によるエンコーダのブロック図を示す。
【図５】図５は、更に詳細に、一実施形態によるデコーダのブロック図を示す。
【図６】図６は、空間ドメインからスペクトルドメインへのブロックの変換、結果として生じる変換ブロックおよびその再変換を図式的に示す。
【図７】図７は、一実施形態によるエンコーダのブロック図を示す。
【図８】図８は、一実施形態による、図８のエンコーダによって生成されたビットストリームを復号することに適しているデコーダのブロック図を示す。
【図９】図９は、一実施形態による多重化された一部分のビットストリームを有するデータパケットを示している図式的なダイヤグラムを示す。
【図１０】図１０は、更なる実施形態による固定サイズのセグメントを使用して別のセグメンテーションを有するデータパケットを示している図式的なダイヤグラムを示す。
【図１１】図１１は、一部分のビットストリームのインターリーブを用いた実施形態によるエンコーダのブロック図を示す。
【図１２】図１２は、一実施形態による図１１のエンコーダ側の符号語バッファの状態のための例を示している図表を示す。
【図１３】図１３は、一部分のビットストリームのインターリーブを用いた実施形態によるデコーダのブロック図を示す。
【図１４】図１４は、符号語の単一のセットを使用した符号語のインターリーブを使用した実施形態によるデコーダのブロック図を示す。
【図１５】図１５は、固定長ビット列のインターリービングを使用した実施形態によるエンコーダのブロック図を示す。
【図１６】図１６は、一実施形態による図１５のエンコーダ側のグローバルビットバッファの状態のための例を示している図表を示す。
【図１７】図１７は、固定長ビット列のインターリービングを使用した一実施形態によるデコーダのブロック図を示す。
【図１８】図１８は、一実施形態によるデコーダサポートモード切り替えを示す。
【図１９】図１９は、更なる実施形態によるデコーダサポートモード切り替えを示す。
【図２０】図２０は、一実施形態による図１８のデコーダに適合するエンコーダを示す。
【図２１】図２１は、実施形態に従って図１９のデコーダに適合するエンコーダを示す。
【図２２】図２２は、ｐＳｔａｔｅＣｔｘおよびｆｕｌｌＣｔｘＳｔａｔｅ／２５６のマッピングを示す。
【発明を実施するための形態】
【００１０】
図の説明の間、これらの図のいくつかにおいて生じている要素は、これらの図のそれぞれにおいて、同じ参照符号で示され、機能に関するこれらの要素の繰り返しの説明は、不必要な繰り返しを回避するために、回避されることに留意されたい。それにもかかわらず、１つの図に関して与えられた機能性および説明は、反対のことが明示的に示されない限り、他の図にもあてはまる。
【００１１】
以下において、まず、図１〜図１７に関して、一般のビデオ符号化構想の実施形態が説明される。図１〜図６は、シンタックスレベルに作用しているビデオコーデックの一部と関連する。それ以降の図８〜図１７は、データストリームへの構文要素ストリームの変換およびその逆に関するコードの一部のための実施形態に関する。それから、本発明の特定の態様および実施形態は、図１〜図１７に関して概説される一般の構想のありうる実施態様の形で説明される。しかし、 本発明の実施形態のほとんどの態様が、ビデオ符号化に制限されないことに、前もって留意しなければならない。同じことは、下記の多くの詳細に関してあてはまる。
【００１２】
図１は、本願の態様が実施されうるエンコーダ１０のための一例を示す。
【００１３】
エンコーダは、データストリームに情報サンプルの配列２０を符号化する。情報サンプルの配列は、いかなる種類の空間的にサンプリングされた情報信号も示すことができる。例えば、サンプル配列２０は、静止画またはビデオの画像でもよい。したがって、情報サンプルは、明度値、カラー値、輝度値、彩度値等に対応することができる。しかし、情報サンプルはまた、サンプル配列２０が、例えば、光センサ等の時間によって生じた奥行きマップである場合、奥行き値でもよい。
【００１４】
エンコーダ１０は、ブロックベースのエンコーダである。すなわち、エンコーダ１０は、ブロック４０を単位にするデータストリーム３０に、サンプル配列２０を符号化する。ブロック４０を単位にする符号化は、エンコーダ１０が、互いに全く独立してこれらのブロック４０を符号化することを必ずしも意味するわけではない。むしろ、エンコーダ１０は、残りのブロックを外挿する又は内部予測するために、先に符号化されたブロックの再現を使用することができる、または、符号化パラメータを設定するために、すなわち、各ブロックに対応する各サンプル配列ドメインが符号化される方法を設定するために、ブロックの粒度を使用することができる。
【００１５】
更に、エンコーダ１０は、変換符号器である。すなわち、エンコーダ１０は、空間ドメインからスペクトルドメインに各ブロック４０の中の情報サンプルを移すための変換を使用することにより、ブロック４０を符号化する。ＦＦＴのＤＣＴのような二次元変換等が使用されうる。好ましくは、ブロック４０は、正方形状または長方形状である。
【００１６】
図１に示されるブロック４０へのサンプル配列２０の細分化は、単に説明の目的のためだけに役立つ。図１は、重なりなしの方法で互いに当接する正方形または長方形のブロック４０の規則的な二次元配置に細分化されるようなサンプル配列２０を示す。ブロック４０のサイズは予め定められうる。すなわち、エンコーダ１０は、復号化側に、データストリーム３０の中のブロック４０のブロックサイズに関する情報を転送しないこともある。例えば、デコーダは、予め定められたブロックサイズを予測することができる。
【００１７】
しかし、いくつかの変形例が可能である。例えば、ブロックは、重なり合うことができる。しかし、その重なり合いは、各ブロックがいかなる隣接したブロックによっても重ならない部分を有する程度にまで、または、ブロックの各サンプルが、最大で、所定の方向に沿って現在ブロックに並列に配置された隣接したブロックの中の１ブロックだけ重複されるように、制限されうる。後者は、左側および右側の隣接ブロックが、完全に現在ブロックをカバーするように現在ブロックに重なるが、それらが互いにオーバーレイしないこと、および、同じことが、垂直および斜めの方向の隣接に当てはまることを意味する。
【００１８】
更なる変形例として、ブロック４０へのサンプル配列２０の細分化は、ビットストリーム３０を介してデコーダ側へ転送される、使用される細分化に関する細分化情報を有するエンコーダ１０によって、サンプル配列２０のコンテンツに適合されることができる。
【００１９】
図２ａ〜図２ｃは、ブロック４０にサンプル配列２０の細分化のための様々な例を示す。図２ａは、サイズの増加に伴って４０ａ、４０ｂ、４０ｃおよび４０ｄで示されている代表的なブロックについて、異なるサイズのブロック４０に、サンプル配列２０の４分木ベースの細分化を示す。図２ａの細分化によれば、サンプル配列２０は、まず、ツリーブロック４０ｄの規則的な二次元配置に分割される。次に、それは、それと関連する個々の細分化情報を有しており、それに従って、特定のツリーブロックが、４分木構造に従って更に細分化される又はされない。ブロック４０ｄの左のツリーブロックは、例として、４分木構造に従ってより小さいブロックに細分化される。エンコーダ１０は、図２ａの実線および破線で示されるブロックの各々のために、１つの二次元変換を実行することができる。換言すれば、エンコーダ１０は、ブロック細分化の単位で配列２０を変換することができる。
【００２０】
４分木ベースの細分化の代わりに、より一般的な複数ツリーベースの細分化が使用されることができ、階層レベルごとの子ノードの数は、異なる階層レベルの間で異なることができる。
【００２１】
図２ｂは、細分化のための別の例を示す。図２ｂによれば、サンプル配列２０は、まず、重なりなしで互いに当接する方法で、規則的な二次元配置で配置されるマクロブロック４０ｂに分割される。そこにおいて、各マクロブロック４０ｂは、それと細分化情報を関連させており、それにより、マクロブロックが、細分化されない、または、細分化される場合、異なるマクロブロックについて異なる細分化粒度を達成するために、等サイズのサブブロックに規則的な二次元的方法で細分化される。その結果が、４０ａ、４０ｂおよび４０ａで示されている異なるサイズの代表を有する異なったサイズにされたブロック４０でのサンプル配列の細分化である。図２ａのように、エンコーダ１０は、実線および破線を有する図２ｂに示されるブロックの各々で、二次元変換を実行する。図２ｃは、後に述べられる。
【００２２】
図３は、サンプル配列２０の再現されたバージョン６０を再現するために、エンコーダ１０によって生成されるデータストリーム３０を復号することができるデコーダ５０を示す。デコーダ５０は、データストリーム３０から、ブロック４０の各々のための変換係数ブロックを抽出して、変換係数ブロックの各々で逆変換を実行することによって、再現されたバージョン６０を再現する。
【００２３】
エンコーダ１０およびデコーダ５０は、データストリームに変換係数ブロックに関する情報を挿入するために、および、データストリームからこの情報を抽出するために、それぞれ、エントロピー符号化／復号化を実行するように構成されることができる。この点に関する詳細は、後述する。データストリーム３０が、サンプル配列２０のすべてのブロック４０について変換係数ブロックに関する情報を含むというわけでは必ずしもない点に留意する必要がある。むしろ、ブロック４０のサブセット、別の方法でビットストリーム３０に符号化されることができる。例えば、エンコーダ１０は、ビットストリーム３０に、デコーダが再現されたバージョン６０の各ブロックを予測する又はそうでない場合は満たすことを可能にする別の符号化パラメータを代わりに挿入することによって、ブロック４０の特定のブロックについて変換係数ブロックを挿入することを控えることを決定することができる。例えば、エンコーダ１０は、テクスチャ合成によって、デコーダによりデコーダ側で満たされることができるサンプル配列２０の中のブロックを検出して、それに応じてビットストリーム内でこれを示すために、テクスチャ解析を実行することができる。
【００２４】
以下の図に関して述べられるように、変換係数ブロックは、必ずしもサンプル配列２０の各ブロック４０の元の情報サンプルのスペクトルドメイン表現を示すというわけではない。むしろ、この種の変換係数ブロックは、各ブロック４０の予測残差のスペクトルドメイン表現を示すことができる。図４は、この種のエンコーダのための一実施形態を示す。図４のエンコーダは、変換ステージ１００と、エントロピー符号器１０２と、逆変換ステージ１０４と、予測器１０６と、減算器１０８と、加算器１１０とを備える。減算器１０８、変換ステージ１００およびエントロピー符号器１０２は、図４のエンコーダの入力１１２と出力１１４との間に、言及された順番で連続的に接続される。また、逆変換ステージ１０４、加算器１１０および予測器１０６は、変換ステージ１００の出力と減算器１０８の逆入力との間に、言及される順番で接続され、予測器１０６の出力は、加算器１１０の更なる入力と接続されている。
【００２５】
図４のエンコーダは、予測的な変換ベースのブロックエンコーダである。すなわち、入力１１２に入力するサンプル配列２０のブロックは、そのサンプル配列２０の先に符号化され再現された部分から、または、表示時間において現在のサンプル配列２０に先行しうる又は後続しうる先に符号化され再現された他のサンプル配列から、予測される。予測は、予測器１０６によって実行される。減算器１０８は、この種の元のブロックからの予測を減算し、変換ステージ１００は、予測残差で二次元変換を実行する。二次元変換自体または変換ステージ１００内部の後続の手段は、変換係数ブロックの中の変換係数の量子化につながりうる。例えば、量子化された変換係数ブロックは、出力１１４で出力されている結果として生じるデータストリームを有するエントロピー符号器１０２の中でのエントロピー符号化によって、ロスなく符号化される。逆変換ステージ１０４は、量子化された残差を再現し、加算器１１０は、次に、再現された残差を、対応する予測と結合して、再現された情報サンプルを得て、それに基いて、予測器１０６は、前述の現在符号化される予測ブロックを予測することができる。予測器１０６は、ブロックを予測するために、イントラ予測モードおよびインター予測モードなどの異なる予測モードを使用することができ、予測パラメータは、データストリームへの挿入のためにエントロピー符号器１０２に転送される。インター予測された予測ブロックごとに、各動きデータは、復号化側が予測をやり直すことを可能にするために、エントロピー符号器１１４を介してビットストリームに挿入される。画像の予測ブロックのための動きデータは、例えば、隣接する既に符号化された予測ブロックの動きベクトルからの規定された方法によって導き出された動きベクトル予測因子に対する現在の予測ブロックのための動きベクトルを区別して符号化する動きベクトル差を示している構文要素を含むシンタックス部分に関与しうる。すなわち、図４の実施形態によれば、変換係数ブロックは、その実際の情報サンプルではなく、むしろサンプル配列の残差のスペクトル表現を示す。
【００２６】
すなわち、図４の実施形態によれば、構文要素のシーケンスは、データストリーム１１４にエントロピー符号化されるためにエントロピー符号器１０２に入ることができる。構文要素のシーケンスは、インター予測ブロックのための動きベクトル差構文要素、および、変換ブロックのための、有意な変換係数レベルの位置を示している有意マップ（ｓｉｇｎｉｆｉｃａｎｃｅ  ｍａｐ）に関する構文要素、並びに、有意な変換係数レベル自体を定めている構文要素を含むことができる。
【００２７】
いくつかの変形例が、図４の実施形態について存在し、それらのいくつかが、説明が図４の記載に組み入れられる本明細書の導入部分内で説明されている点に留意する必要がある。
【００２８】
図５は、図４のエンコーダによって生成されるデータストリームを復号することができるデコーダを示す。図５のデコーダは、エントロピー復号器１５０と、逆変換ステージ１５２と、加算器１５４と、予測器１５６とを備える。エントロピー復号器１５０、逆変換ステージ１５２および加算器１５４は、言及された順で、図５のデコーダの入力１５８と出力１６０との間に連続的に接続される。エントロピー復号器１５０の更なる出力は、予測器１５６に接続され、予測器１５６は、次に、加算器１５４の出力とその更なる入力との間に接続される。エントロピー復号器１５０は、入力１５８で図５のデコーダに入っているデータストリームから、変換係数ブロックを抽出する。そこにおいて、逆変換は、残差信号を得るために、ステージ１５２で変換係数ブロックに適用される。残差信号は、出力１６０でサンプル配列の再現されたバージョンの再現されたブロックを得るために、加算器１５４で予測器１５６からの予測と結合される。再現されたバージョンに基づいて、予測器１５６は、予測を生成し、それによりエンコーダ側で予測器１０６によって実行される予測を作り直す。エンコーダ側で使用される予測と同じ予測を得るために、予測器１５６は、エントロピー復号器１５０も入力１５８でデータストリームから得る予測パラメータを使用する。
【００２９】
上記の実施形態において、予測および残差の変換が実行される空間的な粒度が、互いに等しくある必要はないことは留意される必要がある。これは図２Ｃで示される。この図は、実線の予測粒度および破線の残差粒度の予測ブロックのための細分化を示す。図から分かるように、細分化は、互いに独立しているエンコーダによって選択されることができる。より正確には、データストリームシンタックスは、予測細分化から独立している残差細分化の定義を可能にすることができる。あるいは、各残差ブロックが予測ブロックに等しい又はその真部分集合であるように、残差細分化は、予測細分化の拡張でもよい。これは、図２ａおよび図２ｂに示され、例えば、予測粒度が実線で、残差粒度が破線で示される。すなわち、図２ａ〜２ｃにおいて、それと関連する参照符号を有するすべてのブロックは、１つの二次元変換が実行される残差ブロックであるであろうし、一方、例えば、破線ブロック４０ａを含むより大きな実線ブロックは、予測パラメータ設定が個々に実行される予測ブロックであるであろう。
【００３０】
前記実施形態は、（残差又は元の）サンプルのブロックが、変換係数ブロックに、エンコーダ側で変換されることになり、次に、変換係数ブロックは、デコーダ側でサンプルの再現されたブロックに逆変換されることになるという点で共通である。これは、図６に示す。図６は、サンプルのブロック２００を示す。図６の場合には、このブロック２００は、例示的に、正方形で、サイズにおいて４ｘ４サンプル２０２である。サンプル２０２は、水平方向ｘおよび垂直方向ｙに沿って規則的に配置される。上述の二次元変換Ｔによって、ブロック２００が、スペクトルドメインに、すなわち変換係数２０６のブロック２０４に変換され、その変換ブロック２０４は、ブロック２００と同じサイズである。すなわち、変換ブロック２０４は、水平方向および垂直方向において、ブロック２００がサンプルを有するのと同じ数の変換係数２０６を有する。しかし、変換Ｔがスペクトル変換であるように、変換ブロック２０４の中の変換係数２０６の位置は、空間位置にではなく、むしろブロック２００のコンテンツのスペクトル成分に対応する。特に、変換ブロック２０４の水平軸は、水平軸のスペクトル周波数が単調に増加する軸に対応し、一方、その垂直軸は、垂直軸のスペクトル周波数が単調に増加する軸に対応し、そこにおいて、右下隅で、水平方向及び垂直方向の両方で最も高い周波数に対応する変換係数２０６が位置するように、直流（ＤＣ）成分変換係数は、ブロック２０４の隅に、ここでは例示的に左上隅に、位置する。空間的方向を無視すれば、特定の変換係数２０６が属する空間周波数は、一般に左上隅から右下隅へ増加する。逆変換Ｔ-1によって、変換ブロック２０４は、ブロック２００のコピー２０８を再取得するために、スペクトルドメインから空間ドメインに再変換される。変換の間、量子化／ロスが生じなかった場合、再現は完全であろう。
【００３１】
すでに上述したように、ブロック２００のより大きなブロックサイズが、結果として生じるスペクトル表現２０４のスペクトル分解能を増加させることが、図６から分かる。一方では、量子化雑音はブロック２０８全体にわたって広がる傾向があり、したがって、ブロック２００の中の切り取られ且つ非常にローカライズされたオブジェクトは、量子化ノイズにより元のブロック２００に対する再変換されたブロックの偏差をもたらす傾向がある。しかし、より大きなブロックを使用する主な利点は、有意である、すなわちゼロでない（量子化された）変換係数、すなわちレベルの数と、有意でない変換係数の数との間の比率を、より小さいブロックと比べてより大きいブロック内では、低下することができ、このことにより、より良好な符号化効率を可能にするということである。換言すれば、しばしば、有意な変換係数レベル、すなわちゼロに量子化されない変換係数は、低密度に変換ブロック２０４全体に分配される。このため、以下で更に詳細に説明される実施形態によれば、有意な変換係数レベルの位置は、有意性マップとしてデータストリームの中で信号を送られる。それとは別に、変換係数が量子化されている場合の、有意な変換係数の値、すなわち変換係数レベルは、データストリームの中で送信される。
【００３２】
従って、上記のすべてのエンコーダおよびデコーダは、構文要素の特定のシンタックスを処理するように構成される。すなわち、変換係数レベルなどの前述の構文要素、変換ブロックの有意性マップに関する構文要素、インター予測ブロックに関する動きデータ構文要素などは、所定の方法でデータストリームの中で順次配置されるとみなされる。この種の所定の方法は、例えば、Ｈ．２６４標準または他のオーディオ／ビデオコーデックにおいてなされているように、擬似コードの形で示されることができる。
【００３３】
さらに換言すれば、上記説明は、主に、特定の構文要素タイプ、そのセマンティクスおよびそれらの中の順序を規定している所定のシンタックス構造による、構文要素への、メディアデータ、ここでは例示的にビデオデータの変換を扱った。次に概説されるように、図４および図５のエントロピー符号器およびエントロピー復号器が、作動するように構成されうり、そして、構築されうる。それは、構文要素シーケンスとデータストリーム、すなわちシンボルまたはビットストリームとの間の変換を実行する役割を果たす。
【００３４】
一実施形態によるエントロピー符号器が、図７に示される。エンコーダは、構文要素３０１のストリームを、２つ又はそれ以上の部分的ビットストリームのセット３１２に変換する。
【００３５】
本発明の好ましい実施形態において、各構文要素３０１は、１つ又は複数のセットのカテゴリ、すなわち構文要素タイプに関連している。例えば、そのカテゴリは、構文要素の種類を特定することができる。ハイブリッドビデオ符号化に関連して、別個のカテゴリは、マクロブロック符号化モード、ブロック符号化モード、参照画像インデックス、動きベクトル差、細分化フラグ、符号化ブロックフラグ、量子化パラメータ、変換係数レベルなどと関連しうる。オーディオ、音声、テキスト、書類、または一般のデータ符号化などの他のアプリケーション分野において、構文要素の様々なカテゴライズが可能である。
【００３６】
一般に、各構文要素は、値の有限又は可算無限集合のうちの１つの値をとることができる。ここで、可能な構文要素値のセットは、異なる構文要素カテゴリに関して異なることができる。例えば、バイナリの構文要素並びに整数値の構文要素がある。
【００３７】
符号化アルゴリズムおよび復号化アルゴリズムの煩雑性を低減するために、そして、様々な構文要素および構文要素カテゴリのための一般の符号化および復号化設計を可能にするために、構文要素３０１は、バイナリの決定の順序集合に変換されて、これらのバイナリの決定は、それから単純なバイナリの符号化アルゴリズムによって処理される。従って、二値化器（ｂｉｎａｒｉｚｅｒ）３０２は、各構文要素３０１の値を、ビン（ｂｉｎ）３０３のシーケンス（または列またはワード）に、全単射に（ｂｉｊｅｃｔｉｖｅｌｙ）マッピングする。ビン３０３のシーケンスは、一組の順序付けられたバイナリ決定を示す。各ビン３０３またはバイナリ決定は、２つの値のセットのうちの１つの値、例えば値０および値１のうちの１つをとることができる。バイナリ方式は、異なる構文要素カテゴリについて異なることができる。特定の構文要素カテゴリのための二値化方式は、ありうる構文要素値のセットおよび／または特定のカテゴリのための構文要素のその他の特性に依存しうる。
【００３８】
表１は、可算無限集合の３つの例の二値化方式を示す。可算無限集合の二値化方式は、構文要素値の有限集合にも適用されることもできる。特に構文要素値の大きい有限集合について、非効率性（ビンの使用されないシーケンスから生じる）は、ごくわずかでありえるが、この種の二値化方式の一般性は、煩雑性および所要メモリ量に関して利点を与える。構文要素値の小さい有限集合について、二値化方式をありうるシンボル値の数に適合することは、（符号化効率の観点から）しばしば好ましい。
【００３９】
表２は、８個の値の有限集合について３つの例の二値化方式を示す。有限集合についての二値化方式は、ビンシーケンスの有限集合が、冗長度のないコード（ｒｅｄｕｎｄａｎｃｙ−ｆｒｅｅ  ｃｏｄｅ）を示す方法で、ビンのいくつかのシーケンスを修正すること（およびビンシーケンスを潜在的に再度順序付けること）によって、可算無限集合についてのユニバーサルバイナリ方式から導き出されうる。例えば、表２の短縮単項（ｔｒｕｎｃａｔｅｄ  ｕｎａｒｙ）二値化方式は、ユニバーサルユーナリー二値化方式の構文要素７のためのビンシーケンスを修正することによって構築された（表１参照）。表２の短縮されたおよび再度順序付けられた０次の指数ゴロム（Ｅｘｐ  Ｇｏｌｏｍｂ）二値化は、ユニバーサル指数ゴロム０次二値化（参照表１）の構文要素７のためのビンシーケンスを修正することによって、そして、ビンシーケンス（シンボル７のための短縮されたビンシーケンスは、シンボル１に割り当てられた）を再度順序付けることによってつくられた。構文要素の有限集合のために、表２の最後の列において例示されるように、非システマチック／非ユニバーサル二値化方式を使用することも可能である。
【００４０】
【表１】
0005952900.tif 000002
【００４１】
【表２】
0005952900.tif 000003
【００４２】
二値化器３０２によってつくられたビンのシーケンスの各ビン３０３は、順番にパラメータ割当て器３０４に入れられる。パラメータ割当て器は、各ビン３０３に一つ以上のパラメータのセットを割り当て、パラメータ３０５の関連したセットを有するビンを出力する。パラメータのセットは、エンコーダおよびデコーダでちょうど同一の方法で決定される。パラメータのセットは、以下のパラメータの一つ以上から成ることができる。
【００４３】
特に、パラメータ割当て器３０４は、現在のビン３０３にコンテキストモデルを割り当てるように構成されることができる。例えば、パラメータ割当て器３０４は、現在のビン３０３のための利用できるコンテキストインデックスのうちの１つを選択することができる。現在のビン３０３のためのコンテキストの利用できるセットは、ビンの種類に依存しうり、それは、次に、構文要素３０１の種類／カテゴリ、現在のビン３０３がその一部である二値化、および、後の二値化の範囲内の現在のビン３０３の位置によって定められうる。利用できるコンテキストセットの中のコンテキスト選択は、後者と関連した前のビンおよび構文要素に依存しうる。これらのコンテキストの各々は、それとともに関連する確率モデル、すなわち、現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための尺度を有する。確率モデルは、特に、現在のビンのためのより確率の低い又は確率の高いビン値のための確率の評価のための尺度でありえ、加えて、確率モデルは、２つの可能なビン値のうちどちらが現在のビン３０３のためのより確率が低い又は確率が高いビン値を示すかという推定を特定している識別子によって定められている。単に１つのコンテキストだけが現在のビンに利用できる場合には、コンテキスト選択は、省かれることができる。
【００４４】
下で更に詳細に概説されるように、パラメータ割当て器３０４は、さまざまなコンテキストに関連した確率モデルを、各コンテキストに属している各ビンの実際のビン統計に適合するために、確率モデル適合を実行することもできる。また、下で更に詳細に説明されるように、パラメータ割当て器３０４は、アクティブ化されている高効率（ＨＥ）モードまたは低煩雑性（ＬＣ）モードに応じて異なって作動することができる。下で概説されるように、両方のモードにおいて、確率モデルは、ビン符号器３１０のいずれかに現在のビン３０３を関連させるが、パラメータ割当て器３０４の動作モードは、ＬＣモードでより複雑でない傾向があるが、個々のエンコーダ３１０への個々のビン３０３の関連付けを、ビン統計により正確に適合させられているパラメータ割当て器３０４によって、符号化効率が高効率モードで増加して、それによって、ＬＣモードに関連してエントロピーを最適化する。
【００４５】
パラメータ割当て器３０４の出力であるパラメータ３０５の関連したセットを有する各ビンは、ビンバッファ・セレクタ３０６に入れられる。ビンバッファ・セレクタ３０６は、潜在的に入力ビン値および関連パラメータ３０５に基づいて、入力ビン３０５の値を修正して、（潜在的に修正された値を有する）出力されたビン３０７を、２つ以上のビンバッファ３０８のうちの１つに入れる。出力ビン３０７が送られるビンバッファ３０８は、入力ビン３０５の値および／または関連パラメータ３０５の値に基づいて決定される。
【００４６】
本発明の好ましい実施形態において、ビンバッファ・セレクタ３０６は、ビンの値を修正しない、すなわち出力ビン３０７は、常に入力ビン３０５と同じ値を有する。更なる本発明の好ましい実施形態において、ビンバッファ・セレクタ３０６は、入力ビン値３０５に基づいた出力ビン値３０７および現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための関連した尺度を決定する。本発明の好ましい実施形態において、現在のビンのための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値未満である（または以下である）場合、出力ビン値３０７は、入力ビン値３０５に等しく設定される。現在のビンのための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値以上である（またはより大きい）場合、出力ビン値３０７は、修正される（すなわち、それは、入力ビン値の反対のものにセットされる）。
【００４７】
更なる本発明の好ましい実施形態において、現在のビンのための２つの可能なビン値のうちの１つのための確率のための尺度が、特定の閾値より大きい（または以上である）場合、出力ビン値３０７は、入力ビン値３０５に等しく設定される。現在のビンのための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値以下である（またはより小さい）場合、出力ビン値３０７は、修正される（すなわち、それは、入力ビン値で反対のものに設定される）。本発明の好ましい実施形態において、閾値の値は、両方の可能なビン値のための推定された確率のための０．５という値に対応する。更なる本発明の好ましい実施形態において、ビンバッファ・セレクタ３０６は、入力ビン値３０５に基づいた出力ビン値３０７、および、２つの可能なビン値のいずれが現在のビンのための確率の低いまたは確率の高いビン値を示すかについての推定を特定する関連識別子を決定する。本発明の好ましい実施形態において、識別子が、２つの可能なビン値のうちの第１のものが現在のビンのためのより確率が低い（またはより確率が高い）ビン値を示すことを特定する場合、出力ビン値３０７は、入力ビン値３０５に等しく設定され、そして、識別子が、２つの可能なビン値のうちの第２のものが現在のビンのためのより確率が低い（またはより確率が高い）ビン値を示すことを示している場合、出力ビン値３０７は修正される（すなわち、それは、入力ビン値で反対のものにセットされる）。
【００４８】
本発明の好ましい実施形態において、ビンバッファ・セレクタ３０６は、出力ビン３０７が現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための関連した尺度に基づくようにされるビンバッファ３０８を決定する。本発明の好ましい実施形態において、２つの可能なビン値のうちの１つのための確率の評価のための尺度のための可能な値のセットは、有限であり、そして、ビンバッファ・セレクタ３０６は、ちょうど１つのビンバッファ３０８を２つの可能なビン値のうちの１つのための確率の評価のための各可能な値と関連させるテーブルを含む。ここで、２つの可能なビン値のうちの１つのための確率の評価のための尺度のための異なる値は、同じビンバッファ３０８と関連させることができる。更なる本発明の好ましい実施形態において、２つの可能なビン値の１つのための確率の評価のための尺度のための可能な値の範囲はいくつかの区間に区分化される、ビンバッファ・セレクタ３０６は２つの可能なビン値のうちの１つのための確率の評価のための現在の尺度のための区間インデックスを決定し、ビンバッファ・セレクタ３０６は、ちょうど１つのビンバッファ３０８を区間インデックスのための各可能な値と関連させるテーブルを含む。ここで、区間インデックスのための異なる値は、同じビンバッファ３０８と関連させることができる。本発明の好ましい実施形態において、２つの可能なビン値のうちの１つのための確率の評価のための逆の尺度を有する入力ビン３０５（逆の尺度は、確率評価Ｐと１−Ｐを示す尺度である）は、同じビンバッファ３０８に入れられる。更なる本発明の好ましい実施形態において、例えば、つくられた一部分のビットストリームが同様のビット速度を有することを確実にするために、特定のビンバッファを有する現在のビンのための２つの可能なビン値のうちの１つのための確率の評価のための尺度の関連は、時間に関して適合される。更に下では、区間インデックスがパイプ・インデックスとも呼ばれ、一方、改良インデックスおよびより確率の高いビン値を示しているフラグとともに、パイプ・インデックスは、実際の確率モデル、すなわち確率評価を示す。
【００４９】
更なる本発明の好ましい実施形態において、ビンバッファ・セレクタ３０６は、出力ビン３０７が現在のビンのためにより確率が低いまたはより確率が高いビン値のための確率の評価のための関連した尺度に基づいて送られるビンバッファ３０８を決定する。本発明の好ましい実施形態において、より確率が低いまたはより確率が高いビン値のための確率の評価のための尺度のための可能な値のセットは、有限であり、ビンバッファ・セレクタ３０６は、ちょうど１つのビンバッファ３０８をより確率が低いまたはより確率が高いビン値のための確率の評価の各可能な値と関連させるテーブルを含む。ここで、より確率が低いまたはより確率が高いビン値のための確率の評価のための尺度のための異なる値は、同じビンバッファ３０８と関連させることができる。更なる本発明の好ましい実施形態において、より確率が低いまたはより確率が高いビン値のための確率の評価のための尺度のための可能な値の範囲は、いくつかの区間に区分化され、ビンバッファ・セレクタ３０６は、より確率が低いまたはより確率が、高いビン値のための確率の評価のための現在の尺度のための区間インデックスを決定し、そして、ビンバッファ・セレクタ３０６は、ちょうど１つのビンバッファ３０８を区間インデックスのための各可能な値と関連させるテーブルを含む。ここで、区間インデックスのための異なる値は、同じビンバッファ３０８と関連させることができる。更なる本発明の好ましい実施形態において、例えばつくられた一部分のビットストリームが同様のビット速度を有することを確実にするために、特定のビンバッファを有する現在のビンのためのより確率が低いまたはより確率が高いビン値のための確率の評価のための尺度の関連は、時間に関して適合される。
【００５０】
２つ以上のビンバッファ３０８の各々は、ちょうど１つのビン符号器３１０と関係し、そして、各ビン符号器は、１つのビンバッファ３０８と関係があるだけである。各ビン符号器３１０は、関連したビンバッファ３０８からビンを読み取って、ビン３０９のシーケンスを、ビットのシーケンスを示す符号語３１１に変換する。ビンバッファ３０８は、先入れ先出しバッファを示す。後にビンバッファ３０８に（順番に）入れられるビンは、ビンバッファにより早く（順番に）入れられるビンの前に、符号化されない。特定のビン符号器３１０の出力である符号語３１１は、特定の一部分のビットストリーム３１２に書き込まれる。全体の符号化算術は構文要素３０１を２つ以上の一部分のビットストリーム３１２に変換する。ここで、一部分のビットストリームの数は、ビンバッファおよびビン符号器の数に等しい。本発明の好ましい実施形態において、ビン符号器３１０は、ビン３０９の変数をビットの変数の符号語３１１に変換する。上記および下記に概説される本発明の実施形態の１つの利点は、ビンの符号化を、（例えば確率尺度の異なるグループについて）並列に行うことができ、それが幾つかの態様について処理時間を削減することである。
【００５１】
本発明の実施形態の別の利点は、ビン符号器３１０によって行われるビン符号化を、パラメータ３０５の異なるセットについて、特別に設計することができることである。特に、ビン符号化および符号化は、推定された確率の異なるグループについて、（符号化効率および／または符号化煩雑性の観点から）最適化されることができる。一方で、これは、符号化／復号化煩雑性の削減を可能にし、他方で、符号化効率の改善を可能にする。本発明の好ましい実施形態において、ビン符号器３１０は、現在のビンのための２つの可能なビン値３０５のうちの１つのための確率の評価のための尺度の異なるグループのための異なる符号化アルゴリズム（すなわち、符号語へのビンシーケンスのマッピング）を実行する。更なる本発明の好ましい実施形態において、ビン符号器３１０は、現在のビンのためのより確率が低いまたはより確率が高いビン値のための確率の評価のための尺度の異なるグループについて異なる符号化アルゴリズムを実行する。
【００５２】
本発明の好ましい実施形態において、ビン符号器３１０（またはビン符号器の１つまたは複数）は、直接入力ビン３０９のシーケンスを符号語３１０にマッピングするエントロピー符号器を示す。この種のマッピングは、効率よく実行されることができて、複雑な算術符号化エンジンを必要としない。（デコーダにおいてなされるような）ビンのシーケンスへの符号語の逆写像は、入力シーケンスの完全な復号化を保証するために、一意であるべきであるが、符号語３１０へのビンシーケンス３０９のマッピングは、必ずしも一意である必要はない、すなわち、ビンの特定のシーケンスが、符号語の一つ以上のシーケンスにマップされることができることが可能である。本発明の好ましい実施形態において、符号語３１０への入力ビン３０９のシーケンスのマッピングは、全単射（ｂｉｊｅｃｔｉｖｅ）である。更なる本発明の好ましい実施形態において、ビン符号器３１０（あるいは、ビン符号器の１つ又は複数）は、入力ビン３０９の可変長シーケンスを可変長符号語３１０に直接マッピングするエントロピー符号器を示す。本発明の好ましい実施形態において、出力された符号語は、冗長のない符号（例えば一般のハフマン符号または標準的なハフマン符号）を示す。
【００５３】
冗長のない符号へのビンシーケンスの全単射のための２つの例が、表３に示される。更なる本発明の好ましい実施形態において、出力された符号語は、誤り検出およびエラーリカバリに適している冗長符号を示す。更なる本発明の好ましい実施形態において、出力された符号語は、構文要素を暗号化することに適している暗号化コードを示す。
【００５４】
【表３】
0005952900.tif 000004
【００５５】
【表４】
0005952900.tif 000005
【００５６】
更なる本発明の好ましい実施形態において、ビン符号器３１０（あるいは、ビン符号器の１つ又は複数）は、入力ビン３０９の可変長シーケンスを、固定長符号語３１０に直接マッピングするエントロピー符号器を示す。更なる本発明の好ましい実施形態において、ビン符号器３１０（あるいは、ビン符号器の１つ又は複数）は、入力ビン３０９の固定長シーケンスを、可変長符号語３１０に直接マッピングするエントロピー符号器を示す。
【００５７】
本発明の実施形態によるデコーダが、図８に示される。デコーダは、基本的に、エンコーダの逆演算を実行する。その結果、構文要素３２７の（先に符号化される）シーケンスは、２つ以上の部分的ビットストリーム３２４のセットから復号される。デコーダは、２つの異なる手順フローを含む。エンコーダのデータフローを繰り返すデータ要求のためのフロー、および、エンコーダデータフローの逆を示すデータフローである。図８の図において、破線の矢印は、データ要求フローを示す。その一方で、実線の矢印は、データフローを示す。デコーダの基礎単位は、基本的に、エンコーダの基礎単位を複製するが、逆演算を実行する。
【００５８】
構文要素の復号化は、二値化器３１４に送信される新規な復号化構文要素３１３の要求によってトリガされる。本発明の好ましい実施形態において、新規な復号化構文要素３１３の各要求は、１つ又は複数のカテゴリのセットのカテゴリと関係している。構文要素の要求と関係しているカテゴリは、符号化の間、対応する構文要素と関係していたカテゴリと同じである。
【００５９】
二値化器３１４は、構文要素３１３の要求をパラメータ割当て器３１６に送信されるビンの１つ又は複数の要求にマッピングする。二値化器３１４によってパラメータ割当て器３１６に送信されるビンの要求に対する最終的な応答として、二値化器３１４は、ビンバッファ・セレクタ３１８から、復号されたビン３２６を受信する。二値化器３１４は、復号されたビン３２６の受信されたシーケンスを、要求された構文要素の特定の二値化方式のビンシーケンスと比較し、そして、復号されたビン２６の受信されたシーケンスが、構文要素の二値化に一致する場合、二値化器は、そのビンバッファを空にして、新規な復号化シンボルの要求に対する最終的な応答として復号化構文要素を出力する。復号されたビンのすでに受信されたシーケンスが、要求された構文要素の二値化方式のためのビンシーケンスのいずれも一致しない場合、復号されたビンのシーケンスが要求された構文要素の二値化方式のビンシーケンスのうちの１つと一致するまで、二値化器は、ビンの他の要求をパラメータ割当て器に送信する。構文要素の各要求について、デコーダは、対応する構文要素を符号化するために使用された同じ二値化方式を使用する。二値化方式は、異なる構文要素カテゴリについて異なるものでありえる。特定の構文要素カテゴリの二値化方式は、可能な構文要素値のセットおよび／または特定のカテゴリのための構文要素のその他の特性に依存しうる。
【００６０】
パラメータ割当て器３１６は、ビンの各要求に、１つ又は複数のパラメータのセットを割り当て、パラメータの関連したセットを有するビンの要求をビンバッファ・セレクタに送信する。パラメータ割当て器によって要求されたビンに割り当てられるパラメータのセットは、符号化の間、対応するビンに割り当てられたものと同じである。パラメータのセットは、図７のエンコーダの説明において言及されるパラメータの１つ又は複数から成ることができる。
【００６１】
本発明の好ましい実施形態において、パラメータ割当て器３１６は、ビンの各要求を、割当て器３０４がそうしたのと同じパラメータ、すなわち、現在の要求されたビンのためのより確率が低いまたはより確率が高いビン値のための確率の評価のための尺度などの、現在の要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のためのコンテキストおよびその関連した尺度、および、２つの可能なビン値のうちどちらが現在の要求されたビンのためのより確率が低いまたはより確率が高いビン値を示すかという評価を特定している識別子に関連させる。
【００６２】
パラメータ割当て器３１６は、１つ又は複数のすでに復号されたシンボルのセットに基づいて、１つ又は複数の上述の確率尺度（現在要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のための尺度、現在要求されたビンのためのより確率が低いまたはより確率が高いビン値のための確率の評価のための尺度、２つの可能なビン値のうちどちらが現在要求されたビンのためのより確率が低いまたはより確率が高いビン値を示すかという評価を特定する識別子）を決定することができる。ビンの特定の要求のための確率尺度の決定は、対応するビンのためのエンコーダのプロセスを複製する。確率尺度を決定するために使用される復号されたシンボルは、同じシンボルカテゴリの１つ又は複数のすでに復号されたシンボル、（構文要素の現在の要求と関連したデータセットに関して）隣接した空間的および／または時間的位置の（サンプルのブロックまたはグループなどの）データセットに対応する同じシンボルカテゴリの１つ又は複数のすでに復号されたシンボル、または、（構文要素の現在の要求と関連したデータセットに関して）同じおよび／または隣接した空間的および／または時間的位置の（サンプルのブロックまたはグループなどの）データセットに対応する異なるシンボルカテゴリの１つ又は複数のすでに復号されたシンボルを含むことができる。
【００６３】
パラメータ割当て器３１６の出力であるパラメータ３１７の関連したセットを有するビンの各要求は、ビンバッファ・セレクタ３１８に入れられる。パラメータ３１７の関連したセットに基づいて、ビンバッファ・セレクタ３１８は、ビンの要求３１９を、２つ以上のビンバッファ３２０のうちの１つに送信して、選択されたビンバッファ３２０から、復号されたビン３２５を受信する。復号された入力ビン３２５は、潜在的に修正され、（潜在的に修正された値を有する）復号された出力ビン３２６は、パラメータ３１７の関連したセットを有するビンの要求に対する最終的な応答として二値化器３１４に送られる。
【００６４】
ビンの要求が転送されるビンバッファ３２０は、エンコーダ側のビンバッファ・セレクタの出力ビンが送られたビンバッファと同様に選択される。
【００６５】
本発明の好ましい実施形態において、ビンバッファ・セレクタ３１８は、ビンの要求３１９が現在要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のための関連した尺度に基づいて送られるビンバッファ３２０を決定する。本発明の好ましい実施形態において、２つの可能なビン値のうちの１つのための確率の評価のための尺度のための可能な値のセットは、有限であり、ビンバッファ・セレクタ３１８は、ちょうど１つのビンバッファ３２０を、２つの可能なビン値のうちの１つのための確率の評価の各可能な値と関連させるテーブルを含む。ここで、２つの可能なビン値のうちの１つのための確率の評価のための尺度のための異なる値は、同じビンバッファ３２０と関連させることができる。更なる本発明の好ましい実施形態において、２つの可能なビン値の１つのための確率の評価のための尺度のための可能な値の範囲は、いくつかの区間に区分化され、ビンバッファ・セレクタ３１８は、２つの可能なビン値のうちの１つのための確率の評価のための現在の尺度のための区間インデックスを決定し、そして、ビンバッファ・セレクタ３１８は、ちょうど１つのビンバッファ３２０を区間インデックスのための各可能な値と関連させるテーブルを含む。ここで、区間インデックスのための異なる値は、同じビンバッファ３２０と関連させることができる。本発明の好ましい実施形態において、２つの可能なビン値のうちの１つのための確率の評価のための逆の尺度（逆の尺度は、確率評価Ｐおよび１−Ｐを示す尺度である）を有するビン３１７の要求は、同じビンバッファ３２０に転送される。更なる本発明の好ましい実施形態において、特定のビンバッファを有する現在ビン要求のための２つの可能なビン値のうちの１つのための確率の評価のための尺度の関連は、時間に関して適合される。
【００６６】
更なる本発明の好ましい実施形態において、ビンバッファ・セレクタ３１８は、ビンの要求３１９が現在の要求されたビンのためのより確率が低いまたはより確率が高いビン値のための確率の評価のための関連した尺度に基づいて送られるビンバッファ３２０を決定する。本発明の好ましい実施形態において、より確率が低いまたはより確率が高いビン値のための確率の評価のための尺度のための可能な値のセットは、有限であり、そして、ビンバッファ・セレクタ３１８は、ちょうど１つのビンバッファ３２０を、より確率が低いまたはより確率が高いビン値のための確率の評価の各可能な値と関連させるテーブルを含む。ここで、より確率が低いまたはより確率が高いビン値のための確率の評価のための尺度のための異なる値は、同じビンバッファ３２０と関連させることができる。更なる本発明の好ましい実施形態において、より確率が低いまたはより確率が高いビン値のための確率の評価のための尺度のための可能な値の範囲は、いくつかの区間に区分化され、ビンバッファ・セレクタ３１８は、より確率が低いまたはより確率が高いビン値のための確率の評価のための現在の尺度のための区間インデックスを決定し、ビンバッファ・セレクタ３１８は、ちょうど１つのビンバッファ３２０を区間インデックスのための各可能な値と関連させるテーブルを含む。ここで、区間インデックスのための異なる値は、同じビンバッファ３２０と関連させることができる。更なる本発明の好ましい実施形態において、特定のビンバッファを有する現在のビン要求のためのより確率が低いまたはより確率が高いビン値のための確率の評価のための尺度の関連は、時間に関して適合される。
【００６７】
選択されたビンバッファ３２０から復号されたビン３２５を受信した後に、ビンバッファ・セレクタ３１８は、潜在的に入力ビン３２５を修正して、（潜在的に修正された値を有する）出力ビン３２６を、二値化器３１４に送信する。ビンバッファ・セレクタ３１８の入力／出力ビンマッピングは、エンコーダ側のビンバッファ・セレクタの入力／出力ビンマッピングの逆である。
【００６８】
本発明の好ましい実施形態において、ビンバッファ・セレクタ３１８は、ビンの値を修正しない、すなわち出力ビン３２６が常に入力ビン３２５と同じ値を有する。更なる本発明の好ましい実施形態において、ビンバッファ・セレクタ３１８は、入力ビン値３２５に基づいて出力ビン値３２６、および、ビン３１７の要求と関係している現在要求されたビンのための２つの可能なビン値のうちの１つのための確率の評価のための尺度を決定する。本発明の好ましい実施形態において、現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値未満である（または以下である）場合、出力ビン値３２６は入力ビン値３２５に等しく設定される。現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値以上である（またはより大きい）場合、出力ビン値３２６は、修正される（すなわち、それは、入力ビン値の逆のものに設定される）。更なる本発明の好ましい実施形態において、現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値より大きい（または以上である）場合、出力ビン値３２６は入力ビン値３２５に等しく設定される。現在のビン要求のための２つの可能なビン値のうちの１つのための確率のための尺度が特定の閾値以下である（またはより小さい）場合、出力ビン値３２６は修正される（すなわち、それは、入力ビン値で逆のものにセットされる）。本発明の好ましい実施形態において、閾値の値は、両方の可能なビン値のための推定された確率のための０．５の値に対応する。
【００６９】
更なる本発明の好ましい実施形態において、ビンバッファ・セレクタ３１８は、入力ビン値３２５、および、ビン３１７の要求と関係している、２つの可能なビン値のうちどちらが現在のビン要求のためのより確率が低いまたはより確率が高いビン値を示すかという評価を特定する識別子に基づいて、出力ビン値３２６を決定する。本発明の好ましい実施形態において、識別子が、２つの可能なビン値のうちの第１のものが現在のビン要求のためのより確率の低い（またはより確率の高い）ビン値を示すことを特定している場合、出力ビン値３２６は、入力ビン値３２５に等しく設定され、そして、識別子が、２つの可能なビン値のうちの第２のものが、現在のビン要求のためのより確率の低い（またはより確率の高い）ビン値を示すことを特定している場合、出力ビン値３２６は、修正される（すなわち、それは、入力ビン値で逆のものにセットされる）。
【００７０】
上述の通り、ビンバッファ・セレクタは、ビンの要求３１９を、２つ以上のビンバッファ３２０のうちの１つに送信する。ビンバッファ２０は、先入れ先出しバッファを示し、それは、接続されたビン復号器３２２から復号されたビン３２１のシーケンスによって供給される。ビンバッファ・セレクタ３１８からビンバッファ３２０に送信されるビンの要求３１９に対する応答として、ビンバッファ３２０は、ビンバッファ３２０に入れられた第１のものであったそのコンテンツのビンを除き、それをビンバッファ・セレクタ３１８に送信する。ビンバッファ３２０に先に送信されるビンは、先に除かれて、ビンバッファ・セレクタ３１８に送信される。
【００７１】
２つ以上のビンバッファ３２０の各々は、ちょうど１つのビン復号器３２２と関係があり、各ビン復号器は、１つのビンバッファ３２０と関係があるだけである。各ビン復号器３２２は、別の部分的ビットストリーム３２４から、ビットのシーケンスを示す符号語３２３を読み取る。ビン復号器は、符号語３２３を、接続されたビンバッファ３２０に送信されるビン３２１のシーケンスに変換する。全体の復号化アルゴリズムは、２つ以上の部分的ビットストリーム３２４を、いくつかの復号された構文要素に変換する。ここで、部分的ビットストリームの数は、ビンバッファおよびビン復号器の数に等しく、構文要素の復号化は、新規な構文要素の要求によってトリガされる。本発明の好ましい実施形態において、ビン復号器３２２は、ビットの変数の符号語３２３を、ビン３２１のシーケンスの変数に変換する。本発明の実施形態の１つの利点は、２つ以上の部分的ビットストリームのビンの復号化が、（例えば確率尺度の異なるグループについて）並列においてされることができ、それはいくつかの実施態様のための処理時間を削減することである。
【００７２】
本発明の実施形態の他の利点は、（ビン復号器３２２によってされる）ビン復号化がパラメータ３１７の異なるセットのために特別に設計されることができることである。特に、ビン符号化および復号化は、推定された確率の異なるグループについて、（符号化効率および／または符号化煩雑性の観点から）最適化されることができる。一方で、これは、同様の符号化効率を有する現状技術のエントロピー符号化アルゴリズムと比較して、符号化／復号化煩雑性の低減を可能にする。他方で、これは、同様の符号化／復号化煩雑性を有する現状技術のエントロピー符号化アルゴリズムと比較して、符号化効率の改善を可能にする。本発明の好ましい実施形態において、ビン復号器３２２は、現在のビン要求のための２つの可能なビン値３１７のうちの１つのための確率の評価のための尺度の異なるグループについて、異なる復号化アルゴリズム（すなわち符号語へのビンシーケンスのマッピング）を実行する。更なる本発明の好ましい実施形態において、ビン復号器３２２は、現在要求されたビンのためのより確率が低いまたはより確率が高いビン値のための確率の評価のための尺度の異なるグループについて異なる復号化アルゴリズムを実行する。
【００７３】
ビン復号器３２２は、エンコーダ側で対応するビン符号器の逆写像をする。
【００７４】
本発明の好ましい実施形態において、ビン復号器３２２（またはビン復号器の１つ又は複数）は、符号語３２３をビン３２１のシーケンスに直接マッピングするエントロピー復号器を示す。この種のマッピングは、効率よく実行されることができて、複雑な算術符号化エンジンを必要としない。ビンのシーケンスへの符号語のマッピングは、一意でなければならない。本発明の好ましい実施形態において、ビン３２１のシーケンスへの符号語３２３のマッピングは、全単射（ｂｉｊｅｃｔｉｖｅ）である。更なる本発明の好ましい実施形態において、ビン復号器３１０（またはビン復号器の１つ又は複数）は、可変長符号語３２３をビン３２１の可変長シーケンスに直接マッピングするエントロピー復号器を示す。本発明の好ましい実施形態において、入力された符号語は、例えば一般のハフマン符号または標準的なハフマン符号などの冗長のない符号（ｒｅｄｕｎｄａｎｃｙ  ｆｒｅｅ  ｃｏｄｅ）を示す。ビンシーケンスへの冗長のない符号の全単射のための２つの例が、表３に示される。
【００７５】
更なる本発明の好ましい実施形態において、ビン復号器３２２（またはビン復号器の１つ又は複数）は、固定長符号語３２３をビン３２１の可変長シーケンスに直接マッピングするエントロピー復号器が表す。更なる本発明の好ましい実施形態において、ビン復号器３２２（またはビン復号器の１つ又は複数）は、可変長符号語３２３をビン３２１の固定長シーケンスに直接マッピングするエントロピー復号器を示す。
【００７６】
このように、図７および図８は、シンボル３のシーケンスを符号化するためのエンコーダおよびそれを再現するためのデコーダのための実施形態を示した。エンコーダは、シンボルのシーケンスの各シンボルに、いくつかのパラメータ３０５を割り当てるように構成される割当て器３０４を含む。割り当ては、構文要素１のカテゴリなどのシンボルのシーケンスの以前のシンボルの中に含まれる情報に基づく。現在のシンボルが属するそれの二値化などの表現、構文要素１のシンタックス構造に従って、現在それが予測される、その予測は、以前の構文要素１およびシンボル３の履歴から推論できる。更に、エンコーダは、その各々が各エントロピー符号器に転送されるシンボル３を各ビットストリーム３１２に変換するように構成される複数のエントロピー符号器１０と、複数のエントロピー符号器１０のうちの選択された一つに各シンボル３を転送するように構成されるセレクタ３０６を含む。そして、その選択は各シンボル３に割り当てられたパラメータ３０５の数に依存する。割当て器３０４は、各セレクタ５０２に従うようにセレクタ２０６に組み込まれるものとして案出されることができる。
【００７７】
シンボルのシーケンスを再現するためのデコーダは、複数のエントロピー復号器３２２で、その各々は、各ビットストリーム３２３をシンボル３２１に変換するように構成される複数のエントロピー復号器３２２と、シンボルのシーケンスの以前に再現されたシンボルの中に含まれる情報に基づいて再現されるシンボルのシーケンスの各シンボル３１５に、いくつかのパラメータ３１７を割り当てるように構成された割当て器３１６（図８の３２６および３２７参照）と、複数のエントロピー復号器３２２のうちの選択された一つから再現されるシンボルのシーケンスの各シンボルを取り出すために構成されたセレクタ３１８であって、その選択が各シンボルに定められるパラメータの数に依存するセレクタ３１８を含む。割当て器３１６は、各シンボルに割り当てられたパラメータの数が、各シンボルがみなされうる可能なシンボル値の中の分布の確率の評価のための尺度であるように又はそれを含むように、構成されうる。さらにまた、割当て器３１６およびセレクタ３１８は、１ブロック、セレクタ４０２に組み込まれるものとしてみなされることができる。再現されるシンボルのシーケンスは、バイナリアルファベットでもよく、割当て器３１６は、確率分布の評価が、バイナリアルファベットの２つの可能なビン値のより確率が低いまたはより確率が高いビン値の確率の評価のための尺度、および、２つの可能なビン値のうちどちらがより確率が低いまたはより確率が高いビン値を示すかという評価を特定している識別子から成るように、構成されることができる。割当て器３１６は、それと関連する各確率分布評価を有する各コンテキストによって再現されるシンボルのシーケンスの以前に再現されたシンボルの中に含まれる情報に基づいて再現されるシンボル３１５のシーケンスの各シンボルに内部的にコンテキストを割り当てて、各コンテキストが割り当てられる、以前に再現されたシンボルのシンボル値に基づいて、各コンテキストの確率分布評価を実際のシンボル統計に適合するように更に構成されることができる。コンテキストは、例えばビデオ符号化または画像符号化において、または、ファイナンシャル・アプリケーションの場合のテーブルなどにおいても、構文要素が属する、空間関係または位置の隣接を考慮することができる。それから、シンボルごとに確率分布の評価のための尺度は、（確率分布の評価のための尺度（部分的ビットストリーム３１２を割出しているパイプ・インデックス）を得るために、複数の確率分布評価代表のうちの１つに、（改良インデックスとともにパイプ・インデックスによってインデックスされた下記実施形態において）各シンボルによって割り当てられたコンテキストと関連した確率分布評価を、量子化する、または、各テーブルにインデックスとして使用するなどによって各シンボルに割り当てられるコンテキストと関連した確率分布評価に基づいて、決定されることができる。セレクタは、全単射の関係が、複数のエントロピー符号器と複数の確率分布評価代表との間に定められるように、構成されることができる。セレクタ１８は、時間とともに、シンボルのシーケンスの以前に再現されたシンボルに依存する所定の決定論的な方法で、確率分布評価の範囲から複数の確率分布評価代表への量子化マッピングを変化させるように構成されることができる。すなわち、セレクタ３１８は、量子化ステップサイズ、すなわち、個々のエントロピー復号器と全単射的に関連した個々の確率インデックスにマップされた確率分布の区間を変えることができる。複数のエントロピー復号器３２２は、次に、量子化マッピングの変化に応答してビットストリームにシンボルを変換する方法を適用させるように構成されることができる。例えば、各エントロピー復号器３２２は、各確率分布評価量子化区間の中の特定の確率分布評価に、最適化されることができ、すなわち、最適な圧縮率を有することができ、そして、最適化されるように後者の変化に応じて各確率分布評価量子化区間の中のこの特定の確率分布評価の位置を適応させるために、その符号語／シンボルシーケンスマッピングを変えることができる。セレクタは、シンボルが複数のエントロピー復号器から取り出される率がよりあまり分散されないように、量子化マッピングを変えるように構成されることができる。二値化器３１４に関しては、それは、構文要素がすでにバイナリである場合、省くことができることに留意される。更に、デコーダ３２２の種類に応じて、バッファ３２０の存在が必要でない。更に、バッファは、デコーダの中に組み込まれうる。
【００７８】
有限構文要素シーケンスの終了
本発明の好ましい実施形態において、符号化および復号化は、構文要素の有限集合のためにされる。しばしば、静止画、ビデオシーケンスのフレームまたはドメイン、画像のスライス、フレームまたはビデオシーケンスのスライス、または連続したオーディオサンプルのセットなどの特定の量のデータが、符号化される。構文要素の有限集合のために、一般に、エンコーダ側でつくられる部分的ビットストリームが終了されなければならないこと、すなわち、それは、すべての構文要素が、送信されるまたは記憶される部分的ビットストリームから復号されることができることを確実にされなければならない。最後のビンが対応するビンバッファ３０８に挿入されたあと、ビン符号器３１０は、完全な符号語が部分的ビットストリーム３１２に書き込まれることを確実にする必要がある。ビン符号器３１０が、符号語へのビンシーケンスの直接マッピングを実行するエントロピー符号器を示す場合、最後のビンをビンバッファに書き込んだ後にビンバッファに格納されるビンシーケンスは、符号語と関係しているビンシーケンスを示さないかもしれない（すなわち、それは、符号語と関係している２つ以上のビンシーケンスのプレフィックスを示すかもしれない）。このような場合、プレフィックスとしてビンバッファのビンシーケンスを含むビンシーケンスと関連した符号語のいずれかが、部分的ビットストリームに書き込まれなければならない（ビンバッファが、消去されなければならない）。これは、符号語が書かれるまで、特定または任意の値を有するビンをビンバッファに挿入することによってすることができる。本発明の好ましい実施形態において、ビン符号器は、（関連したビンシーケンスがプレフィックスとしてビンバッファのビンシーケンスを含まなければならない特性に加えて、）最小限の長さを有する符号語のうちの１つを選択する。デコーダ側で、ビン復号器３２２は、部分的ビットストリームの最後の符号語のために必要であるより多くのビンを復号することができる。これらのビンは、ビンバッファ・セレクタ３１８によって要求されず、破棄されて、無視される。シンボルの有限集合の復号化は、復号された構文要素の要求によって制御される。更なる構文要素がデータの量について要求されない場合、復号化は終了される。
【００７９】
部分的ビットストリームの送信および多重化
エンコーダによってつくられる部分的ビットストリーム３１２は、別々に送信されることができる、または、それらは、単一のビットストリームに多重化されることができる、または、部分的ビットストリームの符号語は、単一のビットストリームにおいてインターリーブされることができる。
【００８０】
本発明の実施形態において、データの量についての各部分的ビットストリームは、１つのデータパケットに書き込まれる。データの量は、静止画、ビデオシーケンスのフレームまたはドメイン、画像のスライス、フレームまたはビデオシーケンスのスライス、または連続したオーディオサンプルのセットなどの構文要素の任意のセットでありえる。
【００８１】
他の本発明の好ましい実施形態において、データの量についての２つ以上の部分的ビットストリームまたはデータの量についてのすべての部分的ビットストリームは、１つのデータパケットに多重化される。多重化された部分的ビットストリームを含むデータパケットの構造は、図９に示される。
【００８２】
データパケット４００は、ヘッダと、（データの考慮された量について）各部分的ビットストリームのデータのための１つのパーティションとからなる。データパケットのヘッダ４００は、ビットストリームデータ４０２のセグメントに、データパケット（の残り）の区分化のための表示を含む。区分化のための表示のほか、ヘッダは、付加情報を含むことができる。本発明の好ましい実施形態において、データパケットの区分化のための表示は、ビットまたは複数のビットまたは複数のバイトの単位とするデータセグメントの始まりの位置である。本発明の好ましい実施形態において、データセグメントの始まりの位置は、データパケットの始まりと関連して、または、ヘッダの終わりと関連して、または、前のデータパケットの始まりと関連して、データパケットのヘッダの絶対値として、符号化される。更なる本発明の好ましい実施形態において、データセグメントの始まりの位置は、差分符号化される。すなわち、データセグメントの実際の始まりとデータセグメントの始まりの予測との差だけが、符号化される。予測は、データパケットの全体の量、ヘッダの量、データパケットのデータセグメントの数、先のデータセグメントの始まりの位置などのすでに知られた又は送信された情報に基づいて引き出されることができる。本発明の好ましい実施形態において、第１のデータパケットの始まりの位置は、符号化されなくて、データパケットヘッダの量に基づいて割り出される。デコーダ側で、送信されたパーティション表示は、データセグメントの始まりを得るために使用される。データセグメントは、次に、部分的ビットストリームとして使用され、そして、データセグメントに含まれるデータは、順番に、対応するビン復号器に入れられる。
【００８３】
データパケットに部分的ビットストリームを多重化するためのいくつかの代替案がある。特に部分的ビットストリームのサイズが非常に類似する場合に関して、必要補助情報を削減することができる１つの代替案は、図１０に示される。データパケットのペイロード、すなわち、そのヘッダ４１１のないデータパケット４１０は、所定の方法でセグメント４１２に区分化される。例えば、データパケットペイロードは、同一サイズのセグメントに区分化されることができる。次に、各セグメントは、部分的ビットストリームに、または、部分的ビットストリーム４１３の最初の部分に関連付けられる。部分的ビットストリームが、関連したデータセグメントより大きい場合、その残り４１４は、他のデータセグメントの最後に、未使用ドメインに位置付けられる。これは、（データセグメントの最後から始まって）ビットストリームの残りの部分が逆順に挿入される方法で、なされうり、それは、補助情報を削減する。データセグメントへの部分的ビットストリームの残りの関連付け、および、一つ以上の残りがデータセグメントに付け加えられるときの、残りの１つ又は複数のための開始点は、例えばデータパケットヘッダにおいて、ビットストリーム内に信号を送られなければならない。
【００８４】
可変長符号語のインターリービング
いくつかのアプリケーションについて、１つのデータパケットにおける（構文要素の量についての）部分的ビットストリームの上記多重化は、以下の不利な点がありうる。一方で、小さいデータパケットについて、区分化を示すために必要である補助情報のためのビットの数は、部分的ビットストリームの実際データと比較して有意になりえて、それは最終的に符号化効率を削減する。他方で、多重化は、（例えばテレビ会議アプリケーションについて）低遅延を必要とするアプリケーションに適さないこともある。説明された多重化については、エンコーダは、部分的ビットストリームが完全につくられる前に、データパケットの送信を始めることができない。というのも、パーティションの始まりの位置が事前に知られていないからである。さらにまた、一般に、デコーダは、それがデータパケットの復号化を始めることができる前に、それが最後のデータセグメントの始まりを受けるまで待たなければならない。ビデオ会議システムとしてのアプリケーションについて、これらの遅延は、（特に、送信ビット速度に近いビット速度について、およびピクチャを符号化／復号化するための２つのピクチャ間の近い時間区間を必要とするエンコーダ／デコーダについて、）いくつかのビデオ画像のシステムの付加的な全体の遅延にまとめられ、それはこの種のアプリケーションのために重要である。特定のアプリケーションのための不利な点を克服するために、本発明の好ましい実施形態のエンコーダは、２つ以上のビン符号器によって生成される符号語が、単一のビットストリームにインターリーブされる方法で構成されることができる。インターリーブされた符号語を有するビットストリームを、デコーダに直接送ることができる（小さいバッファ遅延を無視するとき。下記参照）。デコーダ側で、２つ以上のビン復号器は、復号順にビットストリームから直接符号語を読み取る。復号化は、最初の受信されたビットで始まることができる。加えて、補助情報は、部分的ビットストリームの多重化（またはインターリービング）を示すのに必要でない。
【００８５】
符号語インターリービングを用いたエンコーダの基本構造は、図１１に示される。ビン符号器３１０は、直接符号語を部分的ビットストリームに書き込まず、単一の符号語バッファ３２９と関係し、そこから、符号語は符号化する順序でビットストリーム３４に書き込まれる。ビン符号器３１０は、一つ以上の新規な符号語バッファエントリの要求３２８を符号語バッファ３２９に送信して、後に、符号語３０を符号語バッファ３２９に送信する。そして、それは確保されたバッファエントリに格納される。符号語バッファ３２９の（一般に可変長）符号語３１は、符号語ライタ３２によってアクセスされ、それは対応ビット３３を生成されたビットストリーム３４に書き込む。符号語バッファ３２９は、先入れ先出しバッファとして作動する。先に確保される符号語エントリは、ビットストリームに先に書き込まれる。
【００８６】
更なる一般化において、複数の符号語バッファおよび部分的ビットストリームが可能である。ここで、符号語バッファの数は、ビン符号器の数より少ない。ビン符号器３１０は、符号語バッファ３２９の一つ以上の符号語を確保する。それによって、符号語バッファにおける一つ以上の符号語の確保は、接続されたビンバッファ３０８の特定の事象によってトリガされる。本発明の好ましい実施形態において、符号語バッファ３２９は、デコーダがビットストリームを即座に復号することができる方法で作動される。符号語がビットストリームに書き込まれる符号化順序は、対応する符号語が符号語バッファにおいて確保される順序と同様である。本発明の好ましい実施形態において、接続されたビンバッファの特定の事象によってアクティブにされている確保については、各ビン符号器３１０は、１つの符号語を確保する。他の本発明の好ましい実施形態において、接続されたビンバッファの特定の事象によってアクティブにされている確保については、各ビン符号器３１０は、複数の符号語を確保する。更なる本発明の好ましい実施形態において、ビン符号器３１０は、異なる量の符号語を確保する。ここで、特定のビン符号器によって確保される符号語の量は、特定のビン符号器／ビンバッファ（例えば関連した確率尺度、すでに書き込まれたビットの数、その他）の特定のビン符号器および／またはその他の性能に依存しうる。
【００８７】
本発明の好ましい実施形態において、符号語バッファは、以下のように作動される。新規なビン３０７が、特定のビンバッファ３０８に送信され、ビンバッファにすでに格納されたビンの数がゼロであり、そして、特定のビンバッファと関係があるビン符号器のための符号語バッファにおいて確保される符号語が現在ない場合、接続されたビン符号器３１０は、符号語バッファに要求を送信し、それによって、１つ又は複数の符号語エントリは、特定のビン符号器のための符号語バッファ３２９に確保される。符号語エントリは、ビットの変数を有することができる。バッファエントリのビットの数のための上側の閾値は、通常、対応するビン符号器のための最大符号語サイズによって与えられる。（それのために符号語エントリが確保された）ビン符号器によってつくられる次の符号語は、符号語バッファの確保されたエントリに格納される。特定のビン符号器のための符号語バッファにおけるすべての確保されたバッファエントリが、符号語で満たされ、次のビンが、特定のビン符号器と接続されるビンバッファに送られる場合、１つ又は複数の新しい符号語は、特定のビン符号器などのために符号語バッファに確保される。符号語バッファ３２９は、特定の方法で先入れ先出しバッファを示す。バッファエントリは、順番に確保される。対応するバッファエントリが先に確保される符号語は、ビットストリームに先に書き込まれる。符号語ライタ３２は、連続的に、または、符号語３０が符号語バッファ３２９に書きこまれた後に、符号語バッファ３２９のステータスをチェックする。第１のバッファエントリが、完全な符号語を含む（すなわち、バッファエントリが、確保されず、符号語を含む）場合、対応する符号語３１および対応するバッファエントリは、符号語バッファ３２０から取り除かれ、符号語３３のビットがビットストリームに書き込まれる。この処理は、最初のバッファエントリが符号語を含まなくなる（すなわち、それが確保されるまたはフリーである）まで繰り返される。復号処理の最後に、すなわち、データの考慮された量のすべての構文要素が処理された場合、符号語バッファは、消去されなければならない。その消去プロセスの間、以下が、第１のステップとして各ビンバッファ／ビン符号器について当てはまる。ビンバッファがビンを含む場合、特定又は任意の値を有するビンは、結果として生じるビンシーケンスが、符号語と関係しているビンシーケンスを示すまで加えられ（上記のとおり、ビンを加える１つの好ましい方法は、プレフィックスとしてのビンバッファの元のコンテキストのために含むビンシーケンスと関係しているできるだけ短い符号語をつくるこの種のビン値を加えることである）、それから、その符号語は、対応するビン符号器（そして、対応する）ビンバッファが空にされる次に確保されたバッファエントリに書かれる。１つ以上のバッファエントリが１つ以上のビン符号器のために確保されていた場合、符号語バッファは、確保された符号語エントリをまだ含むことができる。その場合、これらの符号語エントリは、対応するビン符号器について任意であるが、有効な符号語で満たされる。本発明の好ましい実施形態において、最も短い有効な符号語または（複数ある場合）最も短い有効な符号語のうちの１つが挿入される。最後に、符号語バッファのすべての残りの符号語は、ビットストリームに書き込まれる。
【００８８】
符号語バッファのステータスのための２つの例は、図１２に示される。例（ａ）において、符号語バッファは、符号語および５つの確保されたエントリで満たされる２つのエントリを含む。加えて、次のフリーのバッファエントリがマークされる。第１のエントリは、符号語で満たされる（すなわち、ビン符号器２は、ちょうど先に確保されたエントリに符号語を書き込んだ）。次のステップでは、この符号語は、符号語バッファから除かれて、ビットストリームに書き込まれる。それから、ビン符号器３の第１の確保された符号語は、第１のバッファエントリであるが、このエントリは、符号語バッファから除かれることができない。というのも、それが確保されているだけで、符号語がこのエントリに書き込まれなかったからである。例（ｂ）において、符号語バッファは、符号語および４つの確保されたエントリで満たされる３つのエントリを含む。第１のエントリは、確保されたものとしてマークされ、従って、符号語ライタは、符号語をビットストリームに書き込むことができない。３つの符号語が符号語バッファに含まれるにもかかわらず、符号語がビン符号器３のための第１の確保されたバッファエントリに書き込まれるまで、符号語ライタは待たなければならない。符号語が、デコーダ側での処理を逆にすることができるように、それらが確保された順番に書きこまれる必要があることに留意されたい（下記参照）。
【００８９】
符号語インターリービングを用いたデコーダの基本構造は、図１３に示される。ビン復号器３１０は、別の部分的ビットストリームから直接符号語を読み取らないが、ビットバッファ３３８に接続され、そこから符号語３３７が符号化順に読み取られる。ビットバッファ３３８が必ずしも必要であるというわけではない点に留意する必要がある。というのも、符号語はビットストリームから直接読み取ることもできるからである。ビットバッファ３３８は、処理チェーンの明らかに分離した異なる態様についての図に主に含まれる。インターリーブされた符号語を有するビットストリーム３４０のビット３３９は、それは先入れ先出しバッファを示すビットバッファ３３８に順次挿入される。特定のビン復号器３２２が、１つ又は複数のビンシーケンスの要求３３５を受信する場合、ビン復号器３２２は、ビットの要求３３６によりビットバッファ３３８から１つ又は複数の符号語３３７を読み取る。デコーダは、構文要素を即座に復号することができる。（上記のような）エンコーダは、符号語バッファを最適に作動することによって、それらがビン復号器によって要求されるビットストリームに、同じ順序で書き込まれることを確実にしなければならないことに留意されたい。デコーダでは、全復号化処理は、構文要素の要求によってトリガされる。特定のビン符号器によってエンコーダ側で確保される符号語の数および対応するビン復号器によって読み取られる符号語の数としてのパラメータは、同じでなければならない。
【００９０】
更なる一般化において、複数の符号語バッファおよび部分的ビットストリームが可能である。ここで、ビットバッファの数は、ビン復号器の数より少ない。ビン復号器３２２は、１つの瞬間でビットバッファ３３８から１つ又は複数の符号語を読み取る。それによって、ビットバッファから１つ又は複数の符号語を読み取ることは、接続されたビンバッファ３２０の特定の事象によってトリガされる。本発明の好ましい実施形態において、ビンの要求３１９が特定のビンバッファ３２０に送信されるときに、デコーダは、１つ又は複数の符号語が読み取られる方法で作動され、ビンバッファは、いかなるビンも含まない。しかし、例えば、ビンバッファのビンの数が所定の閾値を下回った場合、他の事象によって符号語を読み取ることをトリガすることも、可能である。本発明の好ましい実施形態において、接続されたビンバッファの特定の事象によってトリガしている読み込みについては、各ビン復号器３２２は、１つの符号語を読み取る。他の本発明の好ましい実施形態において、接続されたビンバッファの特定の事象によってトリガしている読み込みについては、各ビン復号器３２２は、１つ以上の符号語を読み取る。更なる本発明の好ましい実施形態において、ビン復号器３２２は、異なる量の符号語を読み取る。ここで、特定のビン復号器によって読み取られる符号語の量は特定のビン復号器／ビンバッファ（例えば関連する確率尺度、すでに読み取られたビットの数など）の特定のビン復号器および／またはその他の性能に依存していることがありえる。
【００９１】
本発明の好ましい実施形態において、ビットバッファから符号語を読み取ることは、以下のように作動される。新規なビン要求３１９がビンバッファ・セレクタ３１８から特定のビンバッファ３２０まで送られ、ビンバッファのビンの数がゼロである場合、接続されたビン復号器３２２は、ビットバッファ３３８へのビット要求３３６を介して、ビットバッファ３３８から１つ又は複数の符号語３３７を読み取る。ビン復号器３２２は、読取符号語３３７をビン３２１のシーケンスに変換して、これらのビンシーケンスを接続されたビンバッファ３２０に格納する。ビンの要求３１９に対する最終的な応答として、第１の挿入されたビンは、ビンバッファ３２０から除かれて、ビンバッファ・セレクタ３１８に送信される。更なるビン要求に応答として、ビンバッファの残りのビンは、ビンバッファが空になるまで除かれる。付加的なビン要求は、ビットバッファなどから１つ又は複数の新しい符号語を読み取るためにビン復号器をトリガする。ビットバッファ３３８は、所定のサイズの先入れ先出しバッファを示して、ビットストリーム３４０からのビット３３９で連続的に満たされる。それらが復号プロセスによって要求されるのと同じ方法で、符号語がビットストリームに書き込まれることを確実にするために、エンコーダ側の符号語バッファは、上記の方法で作動されることができる。
【００９２】
このように、複数のエントロピー復号器の各々は、固定長の符号語を可変長のシンボルシーケンスにマッピングするように構成される可変長デコーダでもよく、符号語バッファ４３の出力などの符号語エントリは、インターリーブされた符号語の単一のストリームを受信するために提供されることができる。複数のエントロピー復号器２２は、複数のエントロピー復号器からセレクタ１８によって取り出されるように再現されるシンボルのシーケンスのうちのシンボルが、結果として、各エントロピー復号器の新たな符号語からマップされる新たなシンボルシーケンスとなるような順番に応じて、符号語エントリから符号語を取り出すように構成されることができる。
【００９３】
低遅延拘束条件を有する可変長符号語のインターリービング
説明された符号語インターリービングは、いかなる区分化情報も補助情報として送られることを必要としない。そして、符号語がビットストリームにおいてインターリーブされるので、遅延は一般に小さい。しかし、（例えば符号語バッファに格納されるビットの最大数によって特定される）特定の遅延拘束条件が従われることは保証されない。さらにまた、符号語バッファのために必要なバッファサイズは、理論的に非常に大きくなりうる。図１２（ｂ）の例を考慮するときに、更なるビンが、ビンバッファ３に送られず、従って、ビン符号器３は、データパケットの最後の消去処理が適用されるまで、いかなる新しい符号語も、符号語バッファに送らないだろう。それから、ビン符号器１および２のすべての符号語は、それらをビットストリームに書き込むことができる前に、データパケットの端まで待たなければならない。この欠点は、符号化処理に（および、後述するような復号化処理にも）更なる機構を加えることによって回避されることができる。その追加機構の基本的概念は、遅延または遅延の上限に関連した尺度（下記参照）が特定の閾値を上回る場合、第１の確保されたバッファエントリが、（データパケットの最後と同様の機構を用いて）対応するビンバッファを消去することによって満たされるということである。このような機構によって、関連した遅延尺度が特定された閾値未満となるまで、待機中バッファエントリの数は低減される。デコーダ側で、遅延拘束条件に従うためにエンコーダ側で挿入されたビンは、除かなければならない。基本的に、ビンのこの除去のために、エンコーダ側と同じ機構を使用することができる。以下において、この種の遅延調節のための２つの好ましい実施形態は、説明される。
【００９４】
好ましい実施形態では、遅延（または遅延の上限）のための尺度は符号語バッファの作動中のバッファエントリの数である。ここで、作動中のバッファエントリの数は符号語を含むバッファエントリの数を加えた確保されたバッファエントリの数である。第１のバッファエントリが常に確保されたバッファエントリまたは自由なバッファエントリであることに留意されたい。これは、次のことの故である。第１のバッファエントリが符号語を含む場合、この符号語はビットストリームに書き込まれる。例えば、（アプリケーションによって定まる）最大許容バッファ遅延が、Ｄビットであり、すべてのビン符号器のための最大符号語サイズがＬである場合、遅延拘束条件に反することなく、符号語バッファに含まれることができる符号語の最大数のための下限は、Ｎ＝Ｄ／Ｌによって算出されることができる。ビットの遅延尺度Ｄは、システムによって必要でないが、符号語Ｎの最大数は、エンコーダおよびデコーダに知られていなければならない。本発明の好ましい実施形態において、符号語バッファエントリＮの最大数は、アプリケーションによって固定される。他の本発明の好ましい実施形態において、符号語バッファエントリＮの最大数は、例えば、ビットストリームに含まれる、データパケットのヘッダ（またはスライスヘッダ）において、または、パラメータセットにおいて、ビットストリーム内に信号を送られる。ビン符号器３１０が、１つ又は複数の新規なバッファエントリの確保の要求を符号語バッファ３２９に送信する場合、新規な符号語バッファエントリが確保される前に、以下の方法が実行される（すなわち、複数の符号語バッファエントリが１つの要求によって確保される場合、複数回実行される）。（次に確保されるバッファエントリを考慮する）現在アクティブであるバッファエントリの数プラス１が、符号語バッファエントリＮの最大数より大きい場合、（確保される）第１のバッファエントリは、現在アクティブであるバッファエントリの数プラス１が、符号語バッファエントリＮの最大数より以下であるまで、以下に説明される処理によって消去される。確保されたバッファエントリの消去は、データパケットの終わりの消去と同様である。対応する第１のバッファエントリを確保したビン符号器３１０は、結果生じるビンシーケンスが、符号語と関係しているビンシーケンスを示し、符号語がそれから確保されたバッファエントリに書き込まれて、それがビットストリーム（ビンバッファを空にして、先に確保されたバッファエントリを取り除くと共に）に最後に加えられるまで、接続されたビンバッファ３０８に、特定の又は任意の値を有するビンを加えることによって消去される。上述のように、ビンバッファにビンを加えるための１つの好ましい方法は、できるだけ短い符号語を生じさせるそれらのビンを加えることである。デコーダ側で、同様の処理は、遅延拘束条件に従うために加えられたビンを破棄するために実行される。従って、デコーダは、ビットバッファから読み取られた符号語を計数するカウンタＣを保有する（このカウンタは、ビットバッファにおいて保有されることができる）。このカウンタＣは、データパケットの復号化の初めに（例えばゼロで）初期化されて、符号語が読み取られたあと、１増やされる。加えて、各ビン復号器３２２はカウンタＣｘを含む。そして、最後の符号語が通信ビン復号器３２２によって読み取られる前に、それは符号語カウンタＣの値を格納する。すなわち、特定のビン復号器３２２が新しい符号語を読み取るときに、そのカウンタＣｘは、第１ステップとしてＣに等しく設定され、その結果、符号語はビットバッファから読み取られる。ビンの要求３１９が特定のビンバッファ３２０に送られ、全体の符号語カウンタＣと接続されたビン復号器３２２のカウンタＣｘとの間の差（Ｃ−Ｃｘ）が符号語バッファエントリＮの最大数より大きいとき、特定のビンバッファ３２０に現在格納されるすべてのビンは、破棄されて、無視される。その追加ステップに加えて、復号化は、上記の通りに作動される。（すべてのビンがすでに除かれたため、または、ビン要求が受けられた後に、低遅延機構が第１のステップですべてのビンを破棄したため、）ビンの要求３１９が送られるビンバッファ３２０が空である場合、接続されたビン復号器３２２は、ビットバッファ３３８などから１つ又は複数の新しい符号語を読み取る。
【００９５】
他の本発明の好ましい実施形態において、遅延（または遅延の上限）のための尺度は、符号語バッファにおけるアクティブバッファエントリのための最大符号語長の総計である。ここで、特定のバッファエントリについての最大符号語長は、そのバッファエントリと関係している復号されたビンに依存する。図として、バッファエントリのための最大符号語長は、図６の例に示される。さらにまた、第１のバッファエントリが常に確保されたバッファエントリまたはフリーのバッファエントリである点に留意されたい。というのも、第１のバッファエントリが符号語を含む場合、この符号語はビットストリームに書き込まれる。（アプリケーションによって定まる）最大許容バッファ遅延をＤビットであるとする。この最大バッファ遅延Ｄは、エンコーダおよびデコーダに知られていなければならない。本発明の好ましい実施形態において、最大バッファ遅延Ｄは、アプリケーションによって固定される。他の本発明の好ましい実施形態において、最大バッファ遅延Ｄは、例えば、ビットストリームに含まれる、データパケットのヘッダ（またはスライスヘッダ）において、または、パラメータセットにおいてビットストリーム内に、信号を送られる。それは、ビット（またはバイト）または複数のビットまたは複数のバイトの単位で、信号を送られることができる。ビン符号器３１０が１つ又は複数の新規なバッファエントリの確保の要求を符号語バッファ３２９に送信する場合、新規な符号語バッファエントリが確保される前に、以下の方法が実行される（すなわち、複数の符号語バッファエントリが１つの要求によって確保される場合、それは複数回実行される）。
【００９６】
すべての現在アクティブのバッファエントリのための最大符号語長プラス確保されたバッファエントリのための最大符号語長の総計が、最大バッファ遅延Ｄより大きい場合、すべてのアクティブのバッファエントリのための最大符号語長プラス確保されたバッファエントリのための最大符号語長の総計が、最大バッファ遅延Ｄ以下になるまで、（確保される）第１のバッファエントリは、上記処理によって消去される。一例として、図１２（ｂ）の例を考慮する。すべての現在アクティブのバッファエントリのための最大符号語長の総計は、２９である。最大バッファ遅延Ｄが３２に等しく設定されると仮定する。次のバッファエントリが、最大符号語長が３に等しいビン符号器２によって確保される場合、第１のバッファエントリは消去されない。というのも、２９＋３は３２より大きくないためである。しかし、次のバッファエントリが、最大符号語長が７に等しいビン符号器１によって確保される場合、第１のバッファエントリは消去される。というのも、２９＋７が３２より大きいためである。（対応するビンバッファに、特定の又は任意の値を有するビンを加えることによって）確保されたバッファエントリの消去が上述のようになされる。
【００９７】
デコーダ側で、同様の処理は、遅延拘束条件に従うために加えられたビンを破棄するために実行される。従って、デコーダは、ビットバッファから読み取られた符号語のための最大符号語長を計数するカウンタＣを保有する（このカウンタは、ビットバッファにおいて保有されることができる）。異なるビン復号器と関係している最大符号語長が異なりうることに留意されたい。カウンタＣは、データパケットの復号化の初めに（例えばゼロで）初期化され、符号語が読み取られたあと、それは増加する。このカウンタは、読み取られた符号語の実長によって増加せず、その最大長によって増加する。すなわち、符号語が特定のビン復号器によって読み取られ、特定のビン復号器により用いられる符号語テーブルと関係している最大符号語長がＬｘである場合（異なるビン復号器は、異なる最大符号語長と関係していることがありえる）、カウンタＣは、Ｌｘだけ増加する。全体のカウンタＣに加えて、各ビン復号器３２２は、最後の符号語が対応するビン復号器３２２によって読み取られる前に、符号語カウンタＣの値を格納するカウンタＣｘを含む。すなわち、特定のビン復号器３２２が新しい符号語を読み取るときに、そのカウンタＣｘは第１ステップとしてＣに等しく設定され、それから符号語はビットバッファから読み取られる。ビンの要求３１９が特定のビンバッファ３２０に送られ、全体のカウンタＣおよび接続されたビン復号器３２２のカウンタＣｘとの間の差（Ｃ−Ｃｘ）が、最大バッファ遅延Ｄより大きいとき、特定のビンバッファ３２０に現在格納されるすべてのビンは、破棄されて、無視される。その追加ステップに加えて、復号化は、上記の通りに作動される。（すべてのビンがすでに除かれたため、または、ビン要求が受けられた後に、低遅延機構が第１ステップのすべてのビンを破棄したため、）ビンの要求３１９が送られるビンバッファ３２０が、空である場合、接続されたビン復号器３２２は、ビットバッファ３３８などから１つ又は複数の新しい符号語を読み取る。
【００９８】
このように、複数のエントロピー復号器２２およびセレクタ１８は、再現されるシンボルのシーケンスを形成する際に参加しないように、シンボルシーケンスの接尾語を間欠的に破棄するように構成されることができる。間欠的に破棄することは、符号語エントリから各エントロピー復号器の２つの連続した符号語取り出し間に複数のエントロピー復号器によって符号語エントリから取り出されていた符号語の数が、所定の評価基準を満たす事象で、実行することができる。複数のエントロピー符号器および符号語バッファは、次に、現在転送されたが、まだマップされていないシンボルをプレフィックスとして有する無関係シンボルによって、現在転送されたが、まだマップされていないシンボルを、有効なシンボルシーケンスに間欠的に広げて、こうして広げられたシンボルシーケンスを符号語にマップして、こうして得られた符号語を、確保された符号語エントリに入れて、符号語エントリを消去するように構成されることができる。間欠的に広げること、入れること、および消去することは、確保された符号語エントリの数プラスそこに入れられた符号語を有する符号語エントリの数が、所定の基準を満たす事象で生じうる。所定の基準は、複数のエンコーダ／デコーダペアの符号語の最大長を考慮することができる。
【００９９】
いくつかのアーキテクチャのために、符号語インターリービングについて上記好ましい実施形態は、復号化煩雑性に関して、結果として欠点になるかもしれない。図１３に示したように、すべてのビン復号器３２２は、単一のビットバッファ３３８から、符号語（一般には可変長符号語）を読み取る。符号語を読み取ることは、並列になされることができない。というのも、符号語は、正しい順序で読み取られなければならないからである。そのことは、特定のビン復号器が、他のビン復号器が符号語を読み取り終わるまで、待たなければならないことを意味する。そして、可変長符号語の読み取りの煩雑性が、（部分的に並列にされた）復号化処理の残りに対して有意であるときに、可変長符号語のこのアクセスは、全復号化処理についてボトルネックでありえる。一つのビットバッファからアクセスの煩雑性を削減するために使用されることができる本発明の説明された実施形態のいくつかのバリエーションがあり、それらの２、３は、以下に説明される。本発明の好ましい実施形態において、（例えば冗長度のないプレフィックスコードを示す）符号語の単一のセットが存在し、ビン復号器３２２ごとに使用される符号語のセットは、一つの符号語集合のサブセットである。異なるビン復号器３２２が、一つの符号語セットの異なるサブセットを使用することができることに留意されたい。ビン復号器３２２のいくつかにより用いられる符号語セットが同じである場合であっても、ビンシーケンスとのそれらの関連は、異なるビン復号器３２２のために異なる。本発明の特定の実施形態において、符号語の同一のセットは、すべてのビン復号器３２２のために使用される。我々がサブセットとしてすべてのビン復号器のための符号語セットを含む単一の符号語セットを有する場合、符号語の構文解析は、ビン復号器の外側でされることができる。そして、それは、符号語アクセスの煩雑性を削減することができる。符号化処理は、上記した処理に関して変わらない。修正された復号化処理は、図１４において示される。単一の符号語リーダは、ビットストリーム３４０からビット３４６によって供給されて、（一般には可変長）符号語を解析する。読み取られた符号語３４４は、先入れ先出しバッファを示す符号語バッファ３４３に挿入される。ビン復号器３２２は、１つ又は複数の符号語３４１の要求を、符号語バッファ３４３に送信し、この要求に対する応答として、１つ又は複数の符号語は、符号語バッファから（順番に）削除されて、対応するビン復号器３２２に送る。なお、本発明の本実施形態については、潜在的に複雑な符号語構文解析は、バックグラウンドプロセスにおいてなされることができ、それはビン復号器を待つことを必要としない。ビン復号器がすでに解析された符号語にアクセスし、潜在的に複雑な符号語構文解析は、全体のバッファへの要求のもはや一部ではない。その代わりに、すでに解析された符号語は、ビン復号器に送られる。そして、それはまた、符号語インデックスのみがビン復号器に送られる方法で、実行されることもできる。
【０１００】
固定長ビットシーケンスのインターリービング
ビン復号器３２２がグローバルビットバッファ３３８から可変長符号語を読み取らないときに、デコーダ煩雑性を削減する更なる方法を達成することができるが、その代わりに、それらは、常にグローバルビットバッファ３３８からビットの固定長シーケンスを読み取って、ローカルビットバッファにこれらのビットの固定長シーケンスを加える。ここで、各ビン復号器３２２は、別のローカルビットバッファと関係する。可変長符号語は、それからローカルビットバッファから読み取られる。それ故、可変長符号語の構文解析は、並列になされることができ、ビットの固定長シーケンスのアクセスだけは、同期的方法でなされなければならないが、ビットの固定長シーケンスのこの種のアクセスは、通常非常に速く、その結果、全体の復号化煩雑性は、いくつかのアーキテクチャのために低減されることができる。特定のローカルビットバッファに送られるビンの固定された数は、ビン復号器、ビンバッファまたはビットバッファの事象としての特定のパラメータに依存して、異なるローカルビットバッファについて異なりえて、それは時間とともに変動しうる。しかし、特定のアクセスによって読み取られるビットの数は、特定のアクセスの間、読み取られる実際のビットに依存せず、それは可変長符号語の読み取りとの重要な違いである。ビットの固定長シーケンスの読み取りは、ビンバッファ、ビン復号器またはローカルビットバッファの特定の事象によってトリガされる。例えば、接続されたビットバッファに存在するビットの数が、所定の閾値以下に減少するとき、ビットの新規な固定長シーケンスの読み取りを要求することは可能である。ここで、異なる閾値は、異なるビットバッファのために使用されることができる。エンコーダで、ビンの固定長シーケンスが、ビットストリームに同じ順序で挿入されることが保証されなければならない。そこにおいて、それらはデコーダ側でビットストリームから読み取られる。この固定長シーケンスのインターリービングを、上記説明されたものに似た低遅延制御と結びつけることも可能である。以下に、ビットの固定長シーケンスのインターリービングのための好ましい実施形態を説明する。
【０１０１】
図１５は、２つ以上のビン符号器のためのビットの固定長シーケンスをインターリーブする本発明の実施形態のための基本的なエンコーダ構造の図を示す。図１１に表された実施形態とは対照的に、ビン符号器３１０は、単一の符号語バッファと接続されない。その代わりに、各ビン符号器３１０は、対応する部分的ビットストリームのためのビットを格納する、別のビットバッファ３４８と接続される。すべてのビットバッファ３４８は、グローバルビットバッファ３５１と接続される。グローバルビットバッファ３５１は、グローバルビットバッファから符号化／復号化順にビット３５２を取り除いて、取り除かれたビット３５４をビットストリーム３５５に書き込む、ビットライタ３５３と接続される。特定のビットバッファ３４８または接続されたビン符号器３１０またはビンバッファ３０８における特定の事象に関して、ビットバッファ３４８は、特定の数のビットがグローバルビットバッファ３５１に確保されるグローバルビットバッファ３５１に要求３４９を送信する。固定長ビットシーケンスの確保の要求３４９は、順番に処理される。グローバルビットバッファ３５１は、特定の方法で先入れ先出しバッファを示す。先に確保されるビットは、ビットストリームに先に書き込まれる。異なるビットバッファ３４８が、すでに符号化されたシンボルに基づいて時間とともに変動することもできる異なる量のビットを確保することができる点に留意する必要がある。しかし、特定の要求によって確保されるビットの数は、その要求がグローバルビットバッファに送られる時間に知られている。
【０１０２】
本発明の特定の実施形態では、ビットバッファ３４８およびグローバルビットバッファ３５１は、以下に説明するように作動される。特定のビットバッファ３４８によって確保されるビットの量は、Ｎｘとして示される。このビットの数Ｎｘは、異なるビットバッファ３４８について異なりうり、それは時間とともに変動しうる。本発明の好ましい実施形態において、特定のビットバッファ３４８によって確保されるビットの数Ｎｘは、時間とともに固定される。ビット３４９の固定された数Ｎｘのための確保は、ビットバッファ３４８のビットの数Ｍｘ、確保要求のためのビットの数Ｎｘ、および関連した最大符号語長Ｌｘに基づいて、トリガされる。各ビン符号器３１０が異なる最大符号語長Ｌｘと関係していることがありえることに留意されたい。ビン３０７が特定のビンバッファ３０８に送信され、そして、特定のビンバッファ３０８は空であり、Ｎｘビットの一つのシーケンスが、特定のビンバッファと接続されるビットバッファ３４８のためのグローバルビットバッファにおいて確保され、特定のビンバッファ３０８と（ビン符号器を介して）接続されるビットバッファ３４８の確保要求によって確保されるビットの数Ｎｘとこのビットバッファ３４８に現在存在しているビットの数Ｍｘとの間の差Ｎｘ−Ｍｘが、対応するビン符号器３１０と関連している最大符号語長Ｌｘより小さい場合、接続されたビットバッファ３４９は、グローバルビットバッファ３５１に、Ｎｘビットの確保の要求３４９を送信する。グローバルビットバッファ３５１は、特定のビットバッファ３４８のためにＮｘビットを確保し、次の確保のためにそのポインタを増加させる。Ｎｘビットがグローバルビットバッファに確保された後、ビン３０７は、ビンバッファ３０８に格納される。この一つのビンが、符号語と関係しているビンシーケンスをすでに示す場合、ビン符号器３１０は、ビンバッファ３０８からこのビンを除き、対応する符号語３４７を接続されたビットバッファ３４８に書き込む。その他の場合（この一つのビンが、符号語と関係しているビンシーケンスをすでに示す）、更なるビン３０７は、ビンバッファ３０８が符号語と関係しているビンシーケンスを含むまで、特定のビンバッファ３０８によって受け入れられる。この場合、接続されたビン符号器３１０は、ビンバッファ３０８からビンシーケンス３０９を除いて、対応する符号語３４７を接続されたビットバッファ３４８に書き込む。ビットバッファ３４８における結果として生じるビットの数Ｍｘが、確保されたビットＮｘの数以上である場合、ビットバッファ３４８に最初に書き込まれたＮｘビットは、グローバルビットバッファ３５１において、先に確保された空間に挿入される。特定のビンバッファ３０８に送信される次のビン３０７について、上で特定したものと同じ処理が実行される。すなわち、（Ｎｘ−ＭｘがＬｘ未満である場合）新しい数のＮｘビットがグローバルビットバッファにおいて確保されなければならないかどうかがまずチェックされ、それから、ビンは、ビンバッファ３０８などに挿入される。ビットライタは、それらが確保された順番に、グローバルビットバッファの固定長のビットシーケンスを書き込む。グローバルビットバッファ３５１の第１の固定長エントリが、グローバルビットバッファに実際に挿入された固定長ビットシーケンスを含む（すなわち、それは、確保されるだけでない）場合、ビットライタ３５３は、グローバルビットバッファ３５１からこのビットシーケンス３５２のためのビットを取り除いて、ビット３５４をビットストリームに書き込む。この処理は、グローバルビットバッファの第１の固定長エントリが、確保された又はフリーのエントリを示すまで、繰り返される。グローバルビットバッファの第１の固定長エントリが、確保されたエントリを示す場合、ビットライタ３５３は、それが更なるビット３５４をビットストリーム３５５に書き込む前に、このエントリが実際のビットで満たされるまで、待つ。
【０１０３】
データパケットの終わりに、ビンバッファは、上記のように消去される。加えて、グローバルビットバッファのすべての確保されたバッファエントリが満たされて、ビットストリームに書き込まれるまで、ビットバッファは、特定の又は任意の値を有するビットを加えることによって消去されなければならない。
【０１０４】
図１６において、グローバルビットバッファ３５１の可能なステータスのための２つの例が示される。例（ａ）において、異なるビットバッファ／ビン符号器が異なる数のビットを確保するケースについて示される。グローバルビットバッファは、実際に書き込まれた固定長ビットシーケンスを有する３つのエントリおよび確保された固定長ビットシーケンスを有する４つのエントリを含む。第１の固定長エントリは、（ビットバッファ／ビン符号器２によってちょうど挿入されたにちがいない）すでに実際のビットを含む。このエントリ（すなわち対応する８つのビット）は、除かれることができて、ビットストリームに書き込まれることができる。次のエントリは、ビン符号器３のために１０ビットを確保するが、実際のビットはまだ挿入されなかった。このエントリは、ビットストリームに書き込まれることができない。実際のビットが挿入されるまで、それは待たれなければならない。第２の例（ｂ）において、すべてのビットバッファ／ビン符号器は、同じ数のビット（８つのビット）を確保した。グローバルビットバッファは、８つのビットシーケンスおよび３つの実際に書き込まれた８ビットのシーケンスのための４つの確保を含む。第１のエントリは、ビン符号器３のための８つのビットのための確保を含む。いかなる新規なビットもビットストリームに書き込まれることができる前に、ビットライタは、ビットバッファ／ビン符号器３が、この確保されたエントリに８つのビットの実際の値を書き込むまで、待たなければならない。
【０１０５】
図１７は、ビットの固定長シーケンスをインターリーブする本発明の実施形態のための基本的なデコーダ構造の図を示す。図１３において表された実施形態とは対照的に、ビン復号器３２２は、単一のビットバッファと接続されない。その代わりに、各ビン復号器３２２は、対応する部分的ビットストリームからビットを格納する、別のビットバッファ３５８と接続される。すべてのビットバッファ３５８は、グローバルビットバッファ３６１と接続される。ビットストリーム３６３からのビット３６２は、グローバルビットバッファ３６１に挿入される。特定のビットの事象は、特定のビットバッファ３５８または接続されたビン復号器３２２またはビンバッファ３２０における特定の事象に関して、ビットバッファ３５８は、グローバルビットバッファ３６１に要求３５９を送信し、それにより、ビット３６０の固定長シーケンスがグローバルビットバッファ３６１から除かれて、特定のビットバッファ３５８に挿入される。固定長ビットシーケンス３５９の要求は、順番に処理される。グローバルビットバッファ３６１は、先入れ先出しバッファを示す。グローバルビットバッファに先に挿入されるビットは、先に取り除かれる。異なるビットバッファ３５８が、すでに復号化シンボルに基づいて時間とともに変動もしうる異なる量のビットを要求することができる点に留意する必要がある。しかし、特定の要求によって要求されるビットの数は、その要求がグローバルビットバッファに送られる時間に知られている。グローバルビットバッファ３６１が必ずしも必要であるというわけではない点に留意する必要がある。というのも、符号語はビットストリームから直接読み取られることもできるからである。グローバルビットバッファ３６１は、主に処理チェーンの明らかに別の異なる態様のための図面に含まれる。
【０１０６】
本発明の特定の実施形態において、ビットバッファ３５８およびグローバルビットバッファ３６１は、以下に説明したように、作動される。特定のビットバッファ３５８によって要求されて、読み取られるビットの量は、Ｎｘで示され、それは、エンコーダ側で対応するビットバッファによってグローバルビットバッファに書き込まれるビットの量に等しい。このビットの数Ｎｘは、異なるビットバッファ３５８について異なりえて、そして、それは時間とともに変動しうる。本発明の好ましい実施形態において、特定のビットバッファ３５８によって要求されて、読み取られるビットＮｘの数は、時間とともに固定される。ビット３６０の定数Ｎｘの読み取りは、ビットバッファ３５８のビットの数Ｍｘおよび関連する最大符号語長Ｌｘに基づいてトリガされる。各ビン復号器３２２が異なる最大符号語長Ｌｘと関連することができることに留意されたい。ビンの要求３１９が、特定のビンバッファ３２０に送られ、特定のビンバッファ３２０が空であり、特定のビンバッファ３２０と接続されるビンバッファ３５８のビットの数Ｍｘが、対応するビン復号器３２２と関係している最大符号語長Ｌｘより小さい場合、接続されたビンバッファ３５８は、Ｎｘビットの新規なシーケンスの要求３５９を、グローバルビットバッファ３６１に送る。この要求に対する応答として、最初のＮｘビットは、グローバルビットバッファ３６１から除かれて、Ｎｘビット３６０のこのシーケンスは、その要求が送られたビットバッファ３５８に送られる。最後に、Ｎｘビットのこのシーケンスは、対応するビットバッファ３５８に加えられる。それから、次の符号語３５７は、このビットバッファから読み取られ、接続されたビン復号器３２２は、関連したビンシーケンス３２１を、接続されたビンバッファ３２０に挿入する。ビン３１９の最初の要求に対する最終的な応答として、最初のビンは、ビンバッファ３２０から除かれて、この復号されたビン３２５は、ビンバッファ・セレクタ３１８に送信される。次のビン要求３１９が、特定のビンバッファ３２０に送信され、ビンバッファが空でないときに、次のビットは、ビンバッファ３２０から除かれる。ビンバッファが空であるが、接続されたビットバッファ３５８のビットの数Ｍｘが関連した最大符号語長Ｌｘ以上である場合、次の符号語は、ビットバッファから読み取られ、新規なビンシーケンスは、ビンバッファに挿入され、それから、最初のビットは、除かれて、ビンバッファ・セレクタに送信される。ビンバッファが空であり、接続されたビットバッファ３５８のビットの数Ｍｘが関連した最大符号語長Ｌｘ未満である場合、Ｎｘビットの次のシーケンスは、グローバルビットバッファ３６１から読み取られ、接続されたローカルビットバッファ３５８に挿入され、次の符号語は、ビットバッファから読み取られ、新規なビンシーケンスは、ビンバッファに挿入され、シーケンスの最初のビンは、除かれて、ビンバッファ・セレクタに送信される。この方法は、すべての構文要素が復号されるまで繰り返される。
【０１０７】
データパケットの最後に、要求された構文要素を復号するために必要なものより多いビットが、ビンバッファおよび／またはビットバッファに挿入されうる。ビンバッファの残りのビンおよびビットバッファの残りのビットは、破棄されて、無視される。
【０１０８】
低遅延拘束条件を有する固定長ビットシーケンスのインターリービング
固定長ビットシーケンスのインターリービングを用いたエントロピー符号器およびデコーダのために説明された実施形態は、上記の説明されるエンコーダバッファ遅延を制御するための方式と組み合わされる。基本的概念は、上記の遅延調節を有する実施形態と同じである。遅延または遅延の上限に関連した尺度（下記参照）が特定された閾値を上回る場合、最初に確保されたバッファエントリは、（データパケットの最後に同様の機構を用いて）対応するビンバッファを消去して、潜在的に確保された固定長バッファエントリのすべてのビットを満たすための追加ビットに書き込むことによって満たされる。この種の機構によって、待機中バッファエントリの数は、関連した遅延尺度が特定された閾値未満となるまで低減される。デコーダ側で、遅延拘束条件に従うためにエンコーダ側で挿入されたビンおよびビットは、破棄されなければならない。ビンおよびビットのこの破棄について、基本的に、エンコーダ側と同じ機構を使用することができる。
【０１０９】
本発明の好ましい実施形態において、遅延（または遅延の上限）のための尺度は、グローバルビットバッファのアクティブなバッファエントリのビットの数である。ここで、アクティブなバッファエントリの数は、確保された固定長バッファエントリの数プラスすでに書き込まれたビットを含む固定長バッファエントリの数である。最初のバッファエントリが、常に確保された固定長バッファエントリまたはフリーのバッファエントリであることに留意されたい。というのも、最初のバッファエントリが書き込まれたビットを含む場合、これらのビットは、ビットストリームに書き込まれる。（アプリケーションによって定まる）最大可能バッファ遅延を、Ｄビットとする。この最大バッファ遅延Ｄは、エンコーダおよびデコーダに知られていなければならない。本発明の好ましい実施形態において、最大バッファ遅延Ｄは、アプリケーションによって固定される。他の本発明の好ましい実施形態において、最大バッファ遅延Ｄは、例えば、データパケットのヘッダ（またはスライスヘッダ）において、または、パラメータセットにおいて、ビットストリーム内に信号を送られる。そして、それはビットストリームに含まれる。それは、ビットまたはバイトまたは複数のビットまたは複数のバイトを単位にして信号を送られることができる。ビン符号器３１０が、グローバルビットバッファ３５１に新規な固定長ビットシーケンスの確保の要求を送る場合、新規な固定長バッファエントリが確保される前に、以下の方法が実行される。
【０１１０】
グローバルビットバッファのアクティブのバッファエントリのビットの数プラス現在の確保要求によって確保されるビットの数が、最大バッファ遅延Ｄより大きい場合、グローバルビットバッファのアクティブのバッファエントリのビットの数プラス現在確保要求によって確保されるビットの数が、最大バッファ遅延Ｄ以下になるまで、（確保される）最初のバッファエントリは、以下に説明された処理によって消去される。確保された固定長バッファエントリの消去は、データパケットの最後の消去と同様である。対応する最初のバッファエントリを確保したビットバッファ３４８と接続されるビン符号器３１０は、結果として生じるビンシーケンスが符号語と関係しているビンシーケンスを示すまで、接続されたビンバッファ３０８に、特定の又は任意の値を有するビンを加えることによって、対応する最初のバッファエントリは、消去され、符号語は、それから対応するビットバッファ３４８に挿入される。上述したように、ビンバッファにビンを加えるための１つの好ましい方法は、可能な限り短い符号語を生み出すそれらのビンを足し合わせることである。接続されたビットバッファへの符号語の書き込みおよびグローバルビットバッファへの固定長ビットシーケンスの潜在的挿入の後に、ビットバッファにビットがいまだにある（すなわち、書き込まれた符号語が、ビットの確保された固定長シーケンスを完全に満たさなかった）場合、すべてのビットがビットバッファから除かれて、確保されたバッファエントリに書き込まれるまで、特定の又は任意の値を有する更なるビットが、ビットバッファに加えられる。最後に、この処理の最後に、完了されたバッファエントリ（グローバルビットバッファの最初の固定長エントリ）は、グローバルビットバッファから除かれて、ビットストリームに書き込まれる。
【０１１１】
デコーダ側で、同様の処理は、遅延拘束条件に従うために加えられたビンおよびビットを破棄するために実行される。従って、デコーダは、グローバルビットバッファから読み取られたビットを計数するカウンタＣを保有する（このカウンタは、グローバルビットバッファにおいて維持されることができる）。カウンタＣは、データパケットの復号化の初めに、（例えばゼロで）初期化されて、それは、固定長が読み込まれた後、増加する。Ｎｘビットの固定長シーケンスが、グローバルビットバッファ３６１から読み取られる場合、カウンタＣは、Ｎｘによって増加する。全体のカウンタＣに加えて、各ビットバッファ３５８は、最後の固定長ビットシーケンスが対応するビットバッファ３５８に読み取られる前に、ビットカウンタＣの値を格納するカウンタＣｘを含む。特定のビットバッファ３５８が、新規な固定長ビットシーケンスを読み取るときに、そのカウンタＣｘは、第１ステップとしてＣに等しく設定され、それから、固定長ビットシーケンスは、グローバルビットバッファ３６１から読み取られる。ビンの要求３１９が特定のビンバッファ３２０に送られ、全体のカウンタＣと接続されたビットバッファ３５８のカウンタＣｘとの間の差（Ｃ−Ｃｘ）が、最大バッファ遅延Ｄより大きいとき、特定のビンバッファ３２０に現在格納されるすべてのビンおよび接続されたビットバッファ３５８に格納されるすべてのビットが破棄されて、無視される。その追加ステップの他、復号化は上記の通りに作動される。（すべてのビンがすでに除かれたため、または、ビン要求が受けられた後、低遅延機構が第１のステップですべてのビンを破棄したため、）ビンの要求３１９が送られるビンバッファ３２０が空である場合、接続されたビン復号器３２２は、接続されたビットバッファ３５８から新しい符号語を読み取ることを試みる。ビットバッファ３５８のビットの数が、最大符号語長より少ない場合、新規な固定長ビットシーケンスは、符号語は読み込まれる前などに、グローバルビットバッファ３６１から読み取られる。
【０１１２】
以前に符号化されたものがビデオデータの圧縮のために使われることが記載された実施例を記載した後に、本発明の実施例を実行するためのさらなる実施例として、一方では圧縮率と他方では参照表および計算オーバーヘッドとの間の良好なトレードオフに関して特に効果的な実施を示す。特に、以下の実施例は、個々にビットストリームをエントロピー符号化し、効果的に確率評価の部分をカバーするために、計算的に複雑でない可変長符号を用いることを可能にする。後述する実施例において、シンボルは、２進性のものであり、下で発表されるＶＬＣコードは、例えば、［０；０．５］の間で延びるＲLPSによって表される確率評価を効果的にカバーする。
【０１１３】
特に、以下において概説される実施例は、それぞれ、図７〜１７に示す個々のエントロピー符号器３１０およびデコーダ３２２を示している。それらは、画像またはビデオ圧縮アプリケーションで起こるため、それらはビン、すなわちバイナリのシンボルの符号化に適している。したがって、これらの実施例は、画像またはビデオ符号化に適用することができ、このようなバイナリのシンボルが、それぞれ符号化されるビン３０７および復号化されるビットストリーム３２４の１つ以上に分離され、このような各ビンストリームは、ベルヌーイ・プロセスの実現と考えることができる。以下に述べる実施例は、ビンストリームを符号化するために、１つ以上のさまざまないわゆるｖａｒｉａｂｌｅ−ｔｏ−ｖａｒｉａｂｌｅ−コード（ｖ２ｖ−コード）を使用する。ｖ２ｖ−コードは、符号語の同じ数を有する２つの接頭符号と考えることができる。第１および第２の接頭符号。第１の接頭符号の各符号語は、第２の接頭符号の１つの符号語と関連している。以下に概説された実施例によれば、少なくともエンコーダ３１０およびデコーダ３２２のいくつかは以下のように作動する。ビン３０７の特定のシーケンスを符号化するために、第１の接頭符号の符号語がバッファ３０８から読み込まれるときはいつでも、第２の接頭符号の対応する符号語がビットストリーム３１２に書き込まれる。このようなビットストリームを復号化するために同様の手順が用いられるが、第１および第２の接頭符号で置き換えられる。すなわち、ビットストリーム３２４を復号化するために、第２の接頭符号の符号語がそれぞれのビットストリーム３２４から読み込まれるときはいつでも、第１の接頭符号の対応する符号語がバッファ３２０に書き込まれる。
【０１１４】
都合のよいことに、後述する符号は、参照表を必要としない。符号は、有限状態マシンの形で実行可能である。ここで現れるｖ２ｖ−コードは、符号語のために大きな表を格納する必要がないような単純な構造規則によって生成されることができる。その代わりに、単純なアルゴリズムは、符号化または復号化を行うために用いることができる。３つの構造規則は以下に記載され、それらのうちの２つがパラメータ化されることができる。それらは前述の確率区間の異なるかバラバラの部分をカバーし、したがって、平行に（各々がエンコーダ／デコーダ１１および２２の異なるもののために）あるか、またはそれらのうちの２つの全ての３つの符号のように、一緒に使われる場合、特に有利である。後述する構造規則については、任意の確率ｐを有するベルヌーイ・プロセスのために、符号のうちの１つは過剰な符号長に関してよく機能するように、ｖ２ｖ−コードのセットを設計することは可能である。
【０１１５】
上述したように、ストリーム３１２および３２４の符号化および復号化は、それぞれのストリームごとに、または、交互配置された方法でそれぞれに実行されることもできる。しかしながら、これはｖ２ｖ−コードの示された種類に特有でなく、従って、特定の符号語の符号化および復号化だけは以下の３つの構造規則の各々のために記載されている。しかしながら、それは、強調される、交互配置された解決策に関する前記実施例の全ては、現在記載されている符号またはエンコーダおよびデコーダ３１０および３２２に、それぞれ結合可能である。
【０１１６】
構造規則１：「単項ビンパイプ（ｕｎａｒｙ  ｂｉｎ  ｐｉｐｅ）」コードまたはエンコーダ／デコーダ３１０および３２２
単項ビンパイプ・コード（ＰＩＰＥ＝確率区間分割エントロピー（probability interval partitioning entropy））はいわゆる「ビンパイプ」コード、すなわち個々のビットストリーム１２および２４のいずれかの符号化に適しているコードの特別版であり、各々が前述の確率範囲［０；０．５］の特定の確率部分区間に帰属しているバイナリのシンボル統計値のデータを転送する。ビンパイプ・コードの構造は、最初に記載されている。ビンパイプ・コードは、少なくとも３つの符号語を有するいかなる接頭符号からも構成されることができる。ｖ２ｖ−コードを形成するために、第１および第２の符号として接頭符号を使用するが、第２の接頭符号の２つの符号語で交換される。これは、２つの符号語を除いて、ビンがビットストリームに変えられることなく書き込まれることを意味する。この技術については、１つの接頭符号だけは、２つの符号語が交換されて、メモリの消費が減らされる情報とともに格納されることを必要とする。異なる長さの符号語を交換することは道理にかなうものであり、さもなければ、ビットストリームはビンストリームと同じ長さを有する（ビンストリームの終わりに発生することができる無視効果）ことになるからであることに注意されたい。
【０１１７】
この構造規則のため、ビンパイプ・コードの目立った特性は、第１および第２の接頭符号が交換される（符号語のマッピングが保持される）場合、結果として生じるｖ２ｖ−コードが、オリジナルのｖ２ｖ−コードと同一であるということである。したがって、符号化アルゴリズムおよび復号化アルゴリズムは、ビンパイプ・コードで同一である。
【０１１８】
単項ビンパイプ・コードは、特別な接頭符号から構成される。この特別な接頭符号は、以下の通りに作成される。第１に、ｎ個の符号語で構成される接頭符号は、「０１」、「００１」、「０００１」、・・・から始めて、符号語が作成されるまで生成される。ｎは、単項ビンパイプ・コードのパラメータである。最も長い符号語から、一続きの１は取り除かれる。これは、短縮単項符号（しかし、符号語「０」なしで）に対応する。それから、ｎ−１単項符号語は、「１０」、「１１０」、「１１１０」、・・・から始めて、ｎ−１符号語が作成されるまで生成される。これらの符号語で最も長いものから、一続きの０は取り除かれる。これらの２つの接頭コードの結合セットは、単項ビンパイプ・コードを生成するための入力として用いられる。交換される２つの符号語は、０ｓから構成されるだけのものおよび１ｓから構成されるだけのものである。
【０１１９】
ｎ＝４に関する実施例：
Ｎｒ      第１      第２
１      ００００    １１１
２      ０００１    ０００１
３      ００１      ００１
４      ０１        ０１
５      １０        １０
６      １１０      １１０
７      １１１      ００００
【０１２０】
構造規則２：「Unary to rice」コードおよび Unary to rice エンコーダ／デコーダ１０および２２：
Unary to rice コードは、第１のコードとして短縮単項コードを使用する。すなわち、単項符号語は、「１」、「０１」、「００１」、・・・から始めて２n+１符号語が発生するまで生成され、最も長い符号語から、一続きの１が取り除かれる。ｎは、unary to rice コードのパラメータである。第２の接頭符号は、以下の通りに第１の接頭コードの符号語から構成される。０ｓから構成されるだけの第１の符号語に対して、符号語「１」が割り当てられる。他の全ての符号語は、第１の接頭符号に対応する０ｓの番号のｎ−ビットバイナリ表現を有する符号語「０」の連結で構成される。
【０１２１】
ｎ＝３に関する実施例：
Ｎｒ      第１                第２
１        １                  ００００
２        ０１                ０００１
３        ００１              ００１０
４        ０００１            ００１１
５        ００００１          ０１００
６        ０００００１        ０１０１
７        ００００００１      ０１１０
８        ０００００００１    ０１１１
９        ００００００００１  １
これは、無限単項符号をriceパラメータを有するriceコードにマッピングするのと同じであることに注意。
【０１２２】
構造規則３：スリービンコード（Ｔｈｒｅｅ  ｂｉｎ  ｃｏｄｅ）
スリービンコードは次のように与えられる。
Ｎｒ      第１      第２
１      ０００      ０
２      ００１      １００
３      ０１０      １０１
４      １００      １１０
５      １１０      １１１００
６      １０１      １１１０１
７      ０１１      １１１１０
８      １１１      １１１１１
【０１２３】
第１の符号（シンボルシーケンス）は固定長（常に３つのビン）のものであり、符号語は１ｓの昇順場号によって選別される。
【０１２４】
スリービンコードの効率的な実施態様は、次に記載されている。スリービンコードのためのエンコーダおよびデコーダは、以下のようにして格納テーブルなしで行うことができる。
【０１２５】
エンコーダ（１０のいずれか）において、３つのビンは、ビンストリーム（すなわち、７）から読み込まれる。これらの３つのビンが正確に１つの１を含む場合、符号語「１」がビットストリームに書き込まれ、続いて１つ（００を有する右側から始まる）の位置のバイナリの表現からなる２つのビンが続く。３つのビンが正確に１つの０を含む場合、符号語「１１１」がビットストリームに書き込まれ、続いて０（００を有する右側から始まる）の位置のバイナリの表現からなる２つのビンが続く。残りの符号語「０００」および「１１１」は、それぞれ、「０」および「１１１１１」にマッピングされる。
【０１２６】
デコーダ（２２のいずれか）において、１つのビンまたはビットは、それぞれのビットストリーム２４から読み込まれる。それが「０」に等しい場合、符号語「０００」はビンストリーム２１に復号化される。それが「１」に等しい場合、更に２つのビンがビットストリーム２４から読み込まれる。これらの２つのビットが「１１」に等しくない場合、それらは数のバイナリの表現と解釈され、１の位置が数で決定されるように、２つの０および１つの１はビットストリームに復号化される。２つのビットが「１１」に等しい場合、更に２つのビットが読み込まれて、数のバイナリの表現と解釈される。この数が３より小さい場合、２つの１および１つの０は復号化され、数は０の位置を決定する。それが３に等しい場合、「１１１」がビンストリームに復号化される。
【０１２７】
単項ビンパイプ・コードの効率的な実施は、以下に記載されている。単項ビンパイプ・コードのためのエンコーダおよびデコーダは、カウンタを用いて能率的に行うことができる。ビンパイプ・コードの構造のため、ビンパイプ・コードの符号化および復号化は、実行するのが容易である。
【０１２８】
エンコーダ（１０のいずれか）において、符号語の第１のビンが「０」に等しい場合、「１」が発生するまで、または、ｎ個の０が読み込まれる（符号語の最初の「０」を含む）まで、ビンは処理される。「１」が発生する場合、読み込まれたビンは不変のビットストリームに書き込まれる。さもなければ（すなわち、ｎ個の０が読み込まれると）、ｎ−１個の１がビットストリームに書き込まれる。符号語の第１のビンが「１」に等しい場合、「０」が発生するまで、または、ｎ−１個の１が読み込まれる（符号語の最初の「１」を含む）まで、ビンは処理される。「０」が発生する場合、読み込まれたビンは不変のビットストリームに書き込まれる。さもなければ（すなわち、ｎ−１個の１が読み込まれると）、ｎ個の０がビットストリームに書き込まれる。
【０１２９】
デコーダ（３２２のいずれか）において、これは上述のものと同じビンパイプ・コードであるから、同じアルゴリズムがエンコーダに関するのと同様に用いられる。
【０１３０】
単項から rice コードまでの効率的な実施が、以下に記載されている。単項からrice コードのためのエンコーダおよびデコーダは、今から述べるようなカウンタを使用して能率的に行うことができる。
【０１３１】
エンコーダ（３１０のいずれか）において、１が発生するまで、または、２n個の０が読み込まれるまで、ビンはビンストリーム（すなわち７）から読み込まれる。０の数は、計数される。計数された数が２nに等しい場合、符号語「１」がビットストリームに書き込まれる。さもなければ、「０」が書き込まれ、計数された数のｎビットで書かれたバイナリの表現が続く。
【０１３２】
デコーダ（３２２のいずれか）において、１ビットが読み込まれる。それが「１」に等しい場合、２n個の０はビンストリングに復号化される。それが「０」に等しい場合、ｎより多くのビットが読み込まれて、数のバイナリ表現として解釈される。０のこの数はビンストリームに復号化され、「１」が続く。
【０１３３】
0005952900.tif 000006
【０１３４】
0005952900.tif 000007
【０１３５】
0005952900.tif 000008
【０１３６】
0005952900.tif 000009
【０１３７】
0005952900.tif 000010
【０１３８】
また、エンコーダのエントロピーの所定の１つは、所定のエントロピー符号器に送られるシンボルをそれぞれのビットストリームに変換する際に、三重項における所定のエントロピー符号器に対して、（１）三重項がａで構成されている場合、所定のエントロピー符号器がそれぞれのビットストリームに符号語（ｃ）を書くように構成されているか、（２）三重項が確かに１つのｂで構成されている場合、それぞれのビットストリームに対して所定のエントロピー符号器が接頭辞として（ｄ）を有する符号語および接尾辞として三重項におけるｂの位置の２−ビット表現を書くように構成されているか、（３）三重項が確かに１つのａで構成されている場合、それぞれのビットストリームに対して所定のエントロピー符号器が接頭辞として（ｄ）を有する符号語および接尾辞として第１のセットのエレメントでない第１の２−ビット・ワードの連続および三重項における位置ａの２−ビット表現を書くように構成されているか、（４）三重項がｂで構成されている場合、所定のエントロピー符号器がそれぞれのビットストリームに対して接頭辞として（ｄ）を有する符号語および接尾辞として第１のセットのエレメントでない第２の２−ビット・ワードの連続および第２のセットのエレメントでない第１の２−ビット・ワードの連続を書くように構成されているかどうかについて調べるように構成される。
【０１３９】
0005952900.tif 000011
【０１４０】
エントロピー符号器の第１のサブセットの各々は、それぞれのビットストリームをシンボルに変換する際に、（１）第１のビットが０｛０，１｝に等しい場合、それぞれのエントロピー符号器が、（１．１）ｂ≠ａでｂ０｛０，１｝であるｂが第１のビットに続く次のｎ−１ビットの中に発生する場合、それぞれのエントロピー復号器がそれぞれのビットストリームの次のビットが続く第１のビットに等しいシンボルのシーケンスをビットｂまで再現するように構成されているか、または（１．２）第１のビットに続く次のｎ−１ビットの中でｂが発生しない場合、それぞれのエントロピー復号器が（ｂ，・・・，ｂ）ｎ−１に等しいシンボルのシーケンスを再現するように構成されているかどうかに関して決定するそれぞれのビットストリームの次のビットを調べるように構成されているか、または、（２）第１のビットがｂに等しい場合、それぞれのエトロピー復号器が、（２．１）第１のビットに続く次のｎ−２ビットの中でａが発生する場合、それぞれのエントロピー復号器がそれぞれのビットストリームの次のビットが続く第１のビットに日等しいシンボルのシーケンスをシンボルａまで再現するように構成されているか、または（２．１）第１のビットに続く次のｎ−２ビットの中でａが発生しなかった場合、それぞれのエントロピー復号器が（ａ，・・・，ａ）nに等しいシンボルのシーケンスを再現するように構成されているかどうかに関して決定するそれぞれのビットストリームの次のビットを調べるように構成されているかどうかに関して決定するために、それぞれのビットストリームの第１のビットを調べるように構成されている。
【０１４１】
0005952900.tif 000012
【０１４２】
0005952900.tif 000013
【０１４３】
0005952900.tif 000014
【０１４４】
0005952900.tif 000015
【０１４５】
現在、ビデオ符号化方式の一般の概念を記載した後に、本発明の実施例は、前記実施例に関して記載される。換言すれば、以下で概説される実施例は上記の方式を用いて実施されることができ、その逆も同じであり、上記の符号化方式は下で概説される実施例を使っておよび有効に使用して行うことができる。
【０１４６】
図７〜９に関して記載されている前記実施例において、図１〜６のエントロピー符号器および復号器は、ＰＩＰＥ概念に従って行われた。１つの特別な実施例は、算術的に１つの確率状態の符号器／復号器３１０および３２２を使用した。後述するように、別の実施例によれば、構成要素３０６〜３１０および対応する構成要素３１８〜３２２は一般のエントロピー符号化エンジンと置き換えられることができる。例えば、更に後述するように、算術的な符号化エンジンを考えると、それは単に１つの一般の状態ＲおよびＬを管理し、全てのシンボルを１つの共通のビットストリームに符号化し、それにより、並列処理に関して現在のＰＩＰＥ概念の有利な態様を断念するが、部分的なビットストリームの交互配置の必要性を回避する。この際、コンテキストの確率がアップデート（例えば、ルックアップを表に記入する）によって推定される確率状態の数は、確率区間副区分が実行される確率状態の数より高くてもよい。すなわち、テーブルＲｔａｂにインデックスをつける前に確率区間幅値を量子化することに類似して、確率状態インデックスは、量子化されることができる。１つの符号器／復号器３１０および３２２のため可能な実施態様のための前記説明は、このように、コンテキスト適応二進演算符号化／復号化エンジンのように、エントロピー符号器／復号器３１８〜３２２／３０６〜３１０の実現の実施例に拡張することができる。
【０１４７】
より正確には、実施例によれば、パラメータ割当て器（ここでは、コンテキスト割当て器して作用する）の出力に取り付けられるエントロピー符号器は、以下のように作動することができる。
【０１４８】
0005952900.tif 000016
【０１４９】
同様に、パラメータ割当て器（ここでは、コンテキスト割当て器として作用する）の出力に取り付けられるエントロピー復号器は、以下のようにして作動することができる。
【０１５０】
0005952900.tif 000017
【０１５１】
上述のように、割当て器４は、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］を各ビンに割り当てる。関連は、コンテキスト選択に基づいて行われる。すなわち、割当て器４は、それと関連するそれぞれのｐＳｔａｔｅ＿ｃｕｒｒｅｎｔを有するコンテキストインデックスｃｔｘＩｄｘを使用しているコンテキストを選択することができる。確率アップデートはそれぞれの時間に実行され、確率ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］は現在のビンに適用された。確率状態ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］のアップデートは、符号化ビットの値に応じて実行される。
【０１５２】
0005952900.tif 000018
【０１５３】
１つ以上のコンテキストが設けられている場合、適合はコンテキスト的に行われ、すなわち、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｃｔｘＩｄｘ］が、符号化のために使用され、そして、現在のビン値（それぞれ、符号化されるか復号化される）を用いてアップデートされる
【０１５４】
以下において更に詳細に概説されるように、現在記載されている実施例によれば、エンコーダおよびデコーダは異なるモード、すなわち、低複雑性（ＬＣ）および高効率（ＨＥ）モードで作動するように任意に行うことができる。これは以下のＰＩＰＥ符号化に関して主に例示される（そして、ＬＣおよびＨＥ  ＰＩＰＥモードに言及している）が、複雑性の拡張の詳細の説明は、１つの共通のコテクスト適応算術符号器／復号器を用いた実施例のようなエントロピー符号化／復号化エンジンの他の実施例に容易に移転可能である。
【０１５５】
以下で概説される実施例によれば、両方のエントロピー符号化モードは、分担することができる。
・同じ構文および動作（それぞれ、構文要素シーケンス３０１および３２７のために）
・全ての構文要素のための同じ二値化スキーム（現在、ＣＡＢＡＣのために規定されているように）（すなわち、二値化器は作動されたモードにかかわりなく動作することができる）
・同じＰＩＰＥコードの使用（すなわち、ビン符号器／復号器は、起動するモードにかかわりなく作動することができる）
・８ビット確率モデル初期化値の使用（現在ＣＡＢＡＣのために特定されているような１６ビット初期化値の代わりに）
【０１５６】
一般的に言って、（例えば、各ビンのためのＰＩＰＥ経路３１２を選択する複雑性のように、ＬＣ−ＰＩＰＥは、処理の複雑性においてＨＥ−ＰＩＰＥとは異なる。
【０１５７】
たとえば、ＬＣモードは、以下の制約の下で作動することができる。各ビン（ｂｉｎＩｄｘ）に対して、確かに１つの確率モデル（すなわち１つのｃｔｘＩｄｘ）がある。すなわち、コンテキスト選択／適合は、ＬＣ  ＰＩＰＥにおいて提供されることができない。以下において更に概説されるように、残余の符号化のために使用されるそれらのような特定の構文要素は、コンテキストを用いて符号化される。さらに、全ての確率モデルは非適応可能でもよく、すなわち、すべてのモデルは（スライス・タイプおよびスライスＱＰの選択に応じて）適当なモデル確率で各スライスの始めに初期化され、スライスの処理の全体にわたって固定するように保たれることができる。たとえば、コンテキスト・モデリングおよび符号化の両方のために、８つの異なるＰＩＰＥ符号３１０／３２２に対応する８つの異なるモデル確率だけは支持されることができる。残余の符号化のための特定の構文要素、すなわち、ｓｉｇｎｉｆｉｃａｎｃｅ＿ｃｏｅｆｆ＿ｆｌａｇおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒＸ（Ｘ＝１，２）は、その動作は以下において概説されるが、例えば、４つの構文要素の（少なくとも）グループが、同じ確率で符号化／復号化されるように、確率モデルに割り当てられることができる。ＣＡＶＬＣと比較して、ＬＣ−ＰＩＰＥモードは、概略的に同じＲＤパフォーマンスおよび同じスループットを成し遂げる。
【０１５８】
ＨＥ−ＰＩＰＥは、概念的には以下の違いを有するＨ．２６４のＣＡＢＡＣと類似しているように構成されることができる：二進演算符号化（ＢＡＣ）は、ＰＩＰＥ符号化（ＬＣ−ＰＩＰＥケースにおけるのと同様に）と置き換えられる。各確率モデル、すなわち各ｃｔｘＩｄｘは、ｐｉｐｅＩｄｘおよびｒｅｆｉｎｅＩｄｘによって表されることができ、０・・・７からの範囲内の値を有するｐｉｐｅＩｄｘは、８つの異なるＰＩＰＥ符合のモデル確率を表す。この変化は、状態機械（すなわち確率評価）自体の動きではなく、状態の内部表現だけに影響を及ぼす。以下において更に詳細に概説するように、確率モデルの初期化は、上述したように、８ビットの初期化値を使用することができる。構文要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒＸ（Ｘ＝１，２）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ３およびｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ（その動作は、以下の考察から明白になる）の後方へのスキャニングは、（例えば、有意性マップ符号化において使用する）前方へのスキャンと同じ走査経路に沿って実行することができる。ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒＸ（Ｘ＝１，２）の符号化のためのコンテキスト派生は、単純化されることもできる。ＣＡＢＡＣと比較して、提唱されたＨＥ―ＰＩＰＥは、より良好なスループットで概略的に同じＲＤパフォーマンスを成し遂げる。
【０１５９】
ちょうど言及されたモードが、例えば、異なるモードで作動するように、前述のコンテキスト適応二進演算符号化／復号化エンジンをレンダリングすることによって直ちに発生するということを知ることは、容易である。
【０１６０】
このように、本発明の第１の態様に従う実施例によれば、データストリームを復号化するためのデコーダは、図１８に示すように作製されることができる。デコーダは、その中にビデオデータのようなメディアデータが符号化された、交互配置したビットストリーム３４０のようなデータストリーム４０１を復号化するためにある。デコーダは、データストリーム４０１に応じて低複雑性モードまたは高効率モードを作動させるように構成されるモードスイッチ４００を含む。この目的で、データストリーム４０１は、作動する１つである低複雑性モードの場合には１のバイナリの値を有し、作動する１つである高効率モードの場合には０のバイナリの値を有する、例えばバイナリの構文要素のような構文要素を含む。明らかに、バイナリの値および符号化モードの間の関連は切替えられることができ、２つ以上の可能な値を有する非バイナリの構文要素が同様に用いられることができる。両方のモード間の実際の選択がそれぞれの構文要素の受理の前にはまだ明らかであるというわけではないので、この構文要素は、例えば、固定確率評価または確率モデルで符号化されて、またはバイパスモードを用いてそのままデータストリーム４０１に書き込まれて、データストリーム４０１のいくつかの主要なヘッダ内に含まれることができる。
【０１６１】
さらに、図１８のデコーダは、各々がデータストリーム４０１の符号語をシンボルの部分的なシーケンス３２１に変換するように構成された複数のエントロピー復号器３２２を含む。上述の通り、デインターリーバ４０４は、一方ではエントロピー復号器３２２の入力の間に接続され、他方では、データストリーム４０１が適用される図１８のデコーダの入力に接続される。さらに、すでに上述したように、エントロピー復号器３２２の各々はそれぞれの確率区間と関連し、絶対のシンボル値よりむしろＭＰＳおよびＬＰＳを取扱うエントロピー復号器３２２の場合、さまざまなエントロピー復号器の確率区間が０から１まで−または０から０．５まで一緒に全ての確率区間をカバーする。この問題に関する詳細は上述した。後ほど、各デコーダに割り当てられているＰＩＰＥインデックスを有するデコーダ３２２の数が８であると仮定されるが、他のいかなる数も可能である。さらに、以下において見本としてｐｉｐｅ＿ｉｄ  ０を有するこれらの符号器の１つは、同程度の確率がある統計値を有するビンのために最適化される、すなわちそれらのビン値は高い確率で１および０が平等にあるものとみなされる。これほどに、デコーダは、単にビンを渡すことができるだけである。それぞれのエンコーダ３１０は、同じように動作する。セレクタ４０２および５０２によって最もありそうなビン値、ｖａｌＭＰＳ、の値によるいかなるビン操作さえも、それぞれ、離れておかれることができる。換言すれば、それぞれの部分的なストリームのエントロピーは、すでに最適である。
【０１６２】
さらに、図１８のデコーダは、シンボルのシーケンス３２６の各シンボルを複数のエントロピー復号器３２２の選択された１つから検索するように構成されるセレクタ４０２を含む。上述したように、セレクタ４０２は、パラメータ割当て器３１６およびセレクタ３１８に分離されもよい。デシンボライザ３１４は、構文要素のシーケンス３２７を得るためにシンボルのシーケンス３２６を非記号化するように構成される。再現器４０４は、構文要素３２７のシーケンスに基づいてメディアデータ４０５を再現するように構成される。セレクタ４０２は、矢印４０６によって示されているように、低複雑性モードおよび高効率モードの動作する１つに応じて選択を実行するように構成される。
【０１６３】
すでに上述したように、再現器４０４は構文要素の一定の構文および動作に作用している、すなわち、モードスイッチ４００によってモード選択と関連して固定した前兆となるブロックベースのビデオデコーダの一部でもよい。すなわち、再現器４０４の構造は、モード切替可能性に悩まされることはない。より正確であるために、再現器４０４はモードスイッチ４００によって示されるモード切替可能性により実施オーバーヘッドを増やすことはなく、残余のデータに関して少なくとも機能性および予測データが残り、それはスイッチ４００によって選択されるモードに関係ない。しかしながら、同じことは、エントロピー復号器３２２に関してあてはまる。すべてのこれらのデコーダ３２２は両方のモードで再利用され、したがって、図１８のデコーダが両方のモード、低複雑性および高効率モードと互換性を持つにもかかわらず、追加の実施オーバーヘッドがない。
【０１６４】
付随する態様として、図１８のデコーダが１つのモードまたは他のモードの自己充足的なデータストリームに作用することが可能であるだけでない点に留意する必要がある。むしろ、例えばバッテリーの状態などのような外部のまたは環境の状態に応じた復号側における符号化複雑性を制御するために、結果的にモデル選択の固定ループ制御をするためにデコーダからエンコーダへのフィードバックチャネルを用いて、ビデオまたはいくらかのオーディオ要素の間のようなメディアデータの１つの要素の間に、両方のモードの間の切り替えが可能であるように、図１８のデコーダがデータストリーム４０１と同様に構成される。
【０１６５】
このように、選択されているＬＣモードまたは選択されているＨＥモードの場合には、図１８のデコーダは、同じようにいずれの場合においても作動する。再現器４０４は、構文要素を用いて再現を実行して、いくらかの構文構造規定を処理するかまたは従うことによって、所定の構文要素タイプの現在の構文要素を要求する。デシンボライザ３１４は、再現器４０４によって要求される構文要素のための有効な二値化を生み出すために、複数のビンを要求する。明らかに、バイナリのアルファベットの場合には、デシンボライザ３１４によって実行される二値化は、現在要求されているバイナリの構文要素として再現器４０４にそれぞれのビン／シンボル３２６を通すだけにまで減少する。
【０１６６】
しかしながら、セレクタ４０２は、それぞれに、モードスイッチ４００によって選択されるモードに従って行動する。セレクタ４０２の作動のモードは、高効率モードの場合にはより複雑な、および低複雑性モードの場合にはより複雑でない傾向がある。さらに、以下の説明は、より複雑でないモードにおけるセレクタ４０２の作動のモードも、セレクタ４０２が連続的なシンボルをエントロピー復号器３２２から検索する際のエントロピー復号器３２２の中の選択を変える率を低下させる傾向があることを示す。換言すれば、低複雑性モードで、直ちに連続的なシンボルが複数のエントロピー復号器３２２の中の同じエントロピー復号器から検索されるという増加した確率がある。これは、次に、エントロピー復号器３２２からシンボルのより速い検索を可能にする。高効率モードにおいて、次に、セレクタ４０２の作動のモードは、それぞれの選択されたエントロピー復号器３２２と関連した確率区間がより密接に、セレクタ４０２によって現在検索されるシンボルの実際のシンボル統計値に適合するエントロピー復号器３２２の中の選択に至る傾向があり、それによって、高効率モードに従うそれぞれのデータストリームを生成するときに、符号化側でより良好な圧縮比を得る。
【０１６７】
たとえば、両方のモードにおけるセレクタ４０２の異なる反応は、以下の通りに理解されることができる。たとえば、セレクタ４０２は、所定のシンボルのために、高効率モードが作動している場合にはシンボルのシーケンス３２６の前に検索されたシンボルに応じて、低複雑性モードが作動している場合にはシンボルのシーケンスの以前に検索されたシンボルから独立して、複数のエントロピー復号器３２２の中の選択を実行するように構成されることができる。シンボルのシーケンス３２６の以前に検索されたシンボルへの依存は、コンテキスト適応および／または確率適応に起因することができる。両方の適応は、セレクタ４０２の低複雑性モードの間、スイッチを切られることができる。
【０１６８】
更なる実施例によれば、データストリーム４０１はスライス、フレーム、画像のグループ、フレーム・シーケンス等のような連続的な部分に構築されることができ、シンボルのシーケンスの各シンボルは複数のシンボルタイプのそれぞれの１つと関連している。この場合、セレクタ４０２は、現在の部分内の所定のシンボルタイプのシンボルのために、高効率モードが作動している場合には現在の部分内で所定のシンボルタイプのシンボルのシーケンスの以前に検索されたシンボルに応じて選択を変化させるように構成され、低複雑性モードが作動している場合には、選択を現在の部分内で一定のままにすることができる。すなわち、セレクタ４０２はエントロピー復号器３２２の中の選択を所定のシンボルタイプに変えることができるが、これらの変化は連続的な部分との間の移行との間に発生することを制限される。この計測によって、符号化複雑性が時間の大部分の中で減らされると共に、実際のシンボル統計値の評価はめったに発生しないタイムインスタンスに制限される。
【０１６９】
さらに、シンボルのシーケンス３２６の各シンボルが複数のシンボルタイプのそれぞれの１つに関連し、セレクタ４０２は、所定のシンボルタイプの所定のシンボルのために、シンボルのシーケンス３２６の以前に検索されたシンボルに応じて複数のコンテキストの１つを選択するとともに、高効率モードが作動している場合に、所定のシンボルに応じて選択されたコンテキストと関連する確率モデルに応じてエントロピー復号器３２２の間で選択を実行するように構成され、低複雑性モードが作動している場合に、シンボルのシーケンス３２６の以前に検索されたシンボルに応じて複数のコテクストの１つを選択するとともに、選択されたコンテキスト定数と関連する確率モデルから離れるとともに選択されたコンテキストと関連する確率モデルに応じてエントロピー復号器３２２の間で選択を実行するように構成される。
【０１７０】
あるいは、完全に確率適合を抑制する代わりに、セレクタ４０２は、単にＨＥモードと関連してＬＣモードの確率適合のアップデート率を低下させることができるだけである。
【０１７１】
さらに、可能なＬＣ−ｐｉｐｅ−ｓｐｅｃｉｆｉｃ  ａｓｐｅｃｔｓ、すなわちＬＣモードの態様は、換言すれば以下の通りに記載されていることができる。特に、非適応確率モデルが、ＬＣモードで用いられることができる。非適応確率モデルはハードコードされたもの、すなわち、全体の一定の確率またはその確率のいずれかがスライスだけの処理の全体にわたって固定されるように保たれることができ、このようにスライス・タイプおよびＱＰ、すなわち、例えば、各スライスのためのデータストリーム４０１の中で信号を送った品質パラメータに応じて設定されることができる。同じコンテキストに割り当てられる連続したビンが固定確率モデルに続くと仮定することによって、それらが、同じパイプコードを用いて、すなわち、同じエントロピー復号器を使用して符号化されるため、１つのステップでのそれらのビンのいくつかを復号化することは可能であり、各復号化ビンの後の確率アップデートは省略される。確率アップデートを省略することは、符号化および復号化プロセスの間、動作を保存して、複雑性減少およびハードウェア設計の重要な簡略化に至る。
【０１７２】
特定の数のビンがこのモデルを用いて符号化／復号化された後に確率アップデートが許容されるというような方法で、非適応制約は全てまたは若干の選択された確率モデルのために容易にされることができる。適当なアップデート区間は確率適合を可能にし、すぐにいくつかのビンを復号化する能力を得る。
【０１７３】
以下に、ＬＣ−ｐｉｐｅおよびＨＥ−ｐｉｐｅの可能な一般のおよび複雑性計測可能な態様のより詳細な説明が示される。特に、以下において、同一方法で、または複雑性計測可能な方法でＬＣ−ｐｉｐｅモードおよびＨＥ−ｐｉｐｅモードのために用いられる態様が記載されている。複雑性計測可能な方法は、ＬＣ−ｃａｓｅが特定の部分を除去するか、それらをより複雑でない何かに置き換えることによってＨＥ−ｃａｓｅから引き出されることを示している。しかしながら、それとともに処理する前に、図１８の実施例が、上述のコンテキスト適応二進演算符号化／復号化の実施例上へ容易に移転可能であると述べられるべきであり：セレクタ４０２およびエントロピー復号器３２２が凝集して、直接データストリーム４０１を受信し、現在データストリームから引き出されるビンのためのコンテキストを選択するエントロピー復号器６０８になる。これは、特にコンテキスト適応および／または確率適応にとって真実である。低い複雑性モードの間、両方の機能／適応は、スイッチオフされるか、またはより緩和して設計されることができる。すなわち、エントロピー復号化エンジン６０８は、通常、複数のエントロピー復号化方式の選択された一つを使用して、データストリーム４０１からエントロピー復号化によってシンボルのシーケンス３２６の各シンボルを取り出すように構成されることができ、例えば、複数のエントロピー復号化方式の各々が、算術復号化において、異なる確率評価を使用する際、互いに異なっている複数のエントロピー復号化方式に、それぞれのエントロピー復号化方式が選択されたシンボルの算術復号化を関連させるように、構成されることができる。上で概説されたＣＡＢＡＣ構想と関連して説明されるように、エントロピー復号化エンジンは、複数のエントロピー復号化方式が、共通の確率区間で、すなわち、部分的ビットストリームではなく１つの共有のビットストリームで、それらの確率細分化を実行するように、構成されることができる。換言すれば、そして、より一般的に言えば、エントロピー復号器６０８は、データストリーム４０１の先に復号された部分に依存して、異なるコンテキストの中のコンテキストを選択して、異なるコンテキストと関連した確率状態をアップデートすることによって、バイナリのエントロピー復号化を使用して、データストリーム４０１から二値化のいくつかのビン３２６を得るように構成されることができる。より正確には、上記の通り、エントロピー復号器６０８は、上述のＣＡＢＡＣ方式などのバイナリエントロピー復号化またはバイナリＰＩＰＥ復号化を使用して、すなわち、各セレクタ／割当て器とともにいくつかの並列作動しているエントロピー復号器３２２に関与している構築を使用して、データストリーム４０１から二値化のビン３２６の数を得るように構成されることができる。コンテキスト選択に関する限り、上記概説されるように、データストリーム４０１の先に復号された部分のその依存性は、具現化されることができる。すなわち、エントロピー復号器６０８は、現在得られるビンが属する二値化の中で現在得られるビンのビン位置、構文要素の構文要素タイプ、現在得られるビンが属する二値化を非二値化することによって得られるその整数値、またはデータストリーム４０１から先に得られた１つ又は複数のビン、または先に非二値化された構文要素の整数値に応じて、現在得られるビンのためのコンテキスト選択を実行するように構成されうる。例えば、選択されたコンテキストは、特定の構文要素の二値化の第１のビンと第２のビンとの間に異なることができる。さらに、コンテキストの異なるグループは、変換係数レベル、動きベクトル差、符号化モードパラメータなどの異なる構文要素タイプを供給されうる。確率状態アップデートに関する限り、エントロピー復号器６０８は、現在得られるビンに応じて、現在得られたビンのために選択されるコンテキストと関連した現在の確率状態から、新しい確率状態に移行することによって、現在得られたビンについて、それを実行するように構成されることができる。上述の通り、エントロピー復号器４０９は、例えば、現在の状態を使用してテーブルエントリにアクセスすることができ、アクセスされたテーブルエントリについての現在得られたビンの値は新しい確率状態を明らかにする。上でリストされた他のステップ０〜５に加えて、エントロピー復号器６０８によって実行されるテーブルルックアップに関して上のテーブルＮｅｘｔ＿Ｓｔａｔｅ＿ＬＰＳおよびＮｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳを参照されたい。上記記載において、確率状態は、時々ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］として示された。また、上記説明のとおり、エントロピー復号器６０８は、確率区間インデックスｑ＿ｉｎｄｅｘを得るために、現在の確率区間を示している現在の確率区間ビット値（Ｒ）を量子化して、２つの部分的区間に現在の確率区間の細分化を得るために、確率区間インデックスと、現在得られるビンのために選択されたコンテキストと関連した現在の確率状態に依存する確率状態インデックスｐ＿ｓｔａｔｅとを使用して、テーブルエントリ（Ｒｔａｂ）の中でテーブルエントリをインデックスすることによる区間細分化を実行することによって現在得られるビンをバイナリ算術復号化するように構成されうる。前述のように、エントロピー復号器６０８は、現在の確率区間幅値Ｒのための８ビット表現を使用しうる。現在の確率幅値を量子化するために、エントロピー復号器６０８は、例えば８ビット表現の２又は３の最上位ビットを使用しうる。エントロピー復号器６０８は、それから現在の確率区間の内部からオフセット状態値に基づいて２つの部分的区間の中の選択を実行し、確率区間幅値およびオフセット状態値をアップデートし、選択された部分的区間を使用して、現在得られるビンの値を割り出し、アップデートされた確率幅値とオフセット状態値、すなわち、データストリーム４０１からビットを読み取る継続を含む、前記説明のＶの繰り込みを実行することができる。上述の通り、確率区間幅値およびオフセット状態値のアップデートが現在得られるビンの値に依存しうると共に、オフセット状態値Ｖに基づく２つの一部分の区間の中の選択は、ＲとＶとの間の比較を含みうる。
【０１７４】
ＰＩＰＥに関する図１８の実施例を実施する際に、エントロピー復号器３２２を含むパイプ・エントロピー符号化ステージは、８つの組織的なｖａｒｉａｂｌｅ−ｔｏ−ｖａｒｉａｂｌｅ−ｃｏｄｅｓを使用することができる、すなわちエントロピー復号器３２２が上記されているｖ２ｖタイプのものであることができる。組織的なｖ２ｖ−コードを使用しているＰＩＰＥ符号化概念は、ｖ２ｖ−コードの数を制限することによって単純化される。コンテキスト適応二進演算デコーダの場合、それは、異なるコンテキストのための同じ確率状態を管理することができ、それ−またはその復号化されたバージョン−を使用することができる。ＣＡＢＡＣまたは確率モデル状態、すなわち確率アップデートのために用いられる状態−のＰＩＰＥｉｄｓまたはルックアップのための確率インデックスのＲｔａｂへのマッピングは、表Ａにて図示されるようなものである。
【０１７５】
【表５】
0005952900.tif 000019
【０１７６】
この修正された符号化スキームが、複雑性計測可能なビデオ符号化アプローチの根拠として用いられることができる。確率モード適合を実行するときに、セレクタ４０２またはコンテキスト適応二進演算デコーダが、それぞれ、ＰＩＰＥ復号器３２２を選択する、すなわち、それぞれ、確率状態インデックスに基づいて、使用されるパイプ・インデックスおよび確率インデックスをＲｔａｂに引き出し、表Ａに示されるマッピングを用いて−例えばコンテキストを介して−現在復号化されたシンボルであるのに関連して−ここで、見本として０から６２にわたって−確率状態インデックスに基づいており、それぞれ、例えば、ＭＰＳおよびＬＰＳの場合に訪れる次の確率状態インデックスに示す遷移値を歩く特定の表を用いて、現在復号化されているシンボルに応じてこの確率状態インデックスをアップデートする。
【０１７７】
しかしながら、任意のエントロピー符号化セットアップが使われることができ、この文書の技術が小さい適合によって用いられることもできる。
【０１７８】
図１２の前記説明は、むしろ通常、構文要素および構文要素タイプに関連している。
以下に、変換係数レベルの複雑性可変符号化が記載されている。
【０１７９】
変換係数レベルのための現在想定された符号化技術は、ＣＡＢＡＣのためのＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）プロジェクトの現在のＴｅｓｔ  Ｍｏｄｅｌ（ＨＭ）において特定される。まず、最後の有意な走査位置は、２つの構文要素、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙによって符号化される。構文要素ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘは、最後の有意な走査位置の列を特定し、第２の構文要素ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙは、最後の有意な走査位置の行を特定する。
【０１８０】
その後、０より大きい絶対変換係数レベルの位置を特定する有意性マップは、前方向走査順を用いて符号化される。いわゆる有意性マップ走査順は、変換ブロック内の二次元位置から一次元ベクトルへのマッピングであって、予測モードや変換ブロックサイズに応じて異なりうる。最新の技術において、３つの異なる走査順、すなわちジグザグ走査、水平走査および垂直走査が使用される。最後の走査位置を特定することによって有意とすでに確認される、最後の走査位置を除いた走査位置ごとに、バイナリの構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、符号化される。
【０１８１】
次に、有意性マップの符号化の後、構文要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２およびｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３は、残りの絶対レベルを示し、、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、符号情報が符号化されることを示す。残りの絶対変換レベルの符号化および符号のために、変換ブロックは、４ｘ４サブブロックに分けられ、この種のサブブロック内の位置はサブセットを形成した。サブセットは、前方へジグザクの走査順において走査され、各サブセットは、連続的に符号化される。それは、１つの４ｘ４サブブロックまたはサブセットの絶対変換レベルのすべての残りの情報および符号情報が符号化されたあと、前方へジグザク順で次のサブセットが処理されることを意味する。サブセット自体のために、逆ジグザクの走査順が使用される。サブセットの第１の符号化ステージにおいて、絶対変換係数レベルが１より大きいものであるかどうかを特定しているバイナリの構文要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１が、サブセットのすべての有意な走査位置のために符号化される。次に、走査順が再設定され、再度サブセットの第１の走査位置から始まる後、１より大きい絶対レベルを有するすべての走査位置について、例えばｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１は１に等しく、バイナリの構文要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、特定の走査位置のための絶対変換レベルが２より大きいか否かを特定して符号化される。それから、走査順を再度リセットした後に、２より大きい絶対変換レベルを有するすべての走査位置について、絶対変換レベルの残りの値を特定している非負整数値の構文要素ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３は、符号化される。最後のステップにおいて、さらに、走査順をリセットした後に、構文要素ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、バイパスモードで符号化される、例えば０．５に等しい確率モデルが符号化される。サブセットへの分割の理由は、より良いコンテキスト・モデリングがより高い符号化効率をもたらすからであり、それは以下において説明される。構文要素間に依存関係があることに留意されたい。Ｈ．２６４／ＡＶＣのような構文要素を符号化することも、可能である。その場合、走査位置について、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１は、１に等しいｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの符号化の後、直接、符号化され、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１の符号化の後、直接、符号化されるなどされる。しかし、構文要素を符号化するこのインターリーブされたモードは、ハードウェア化のために非効率的である。従って、完全に変換ブロックのための、または、サブセットのための、各構文要素を符号化することによる分離について説明する。
【０１８２】
絶対変換レベルの符号化に関連した各構文要素のためのコンテキスト・モデリングは、以下の通りである。ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのためのコンテキストモデル選択は、ローカルテンプレートを使用する。それは、現在の走査位置周辺のドメインを特定して、すでに符号化された走査位置をカバーする。コンテキストモデルは、ローカルテンプレートに存在しているすでに符号化された有効な走査位置の数を評価することによって、ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのために得られる。
【０１８３】
サブセットの第１の有効な走査位置について、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１に関連したコンテキストモデルセットの第２のコンテキストモデルは、サブセットの第１のｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１構文要素を符号化するために選択される。ちょうど符号化されたｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１構文要素が１に等しい場合、第１のコンテキストモデルは、サブセット内で構文要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１のすべての残りの符号化ステージのために選択される。そうでない場合、構文要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１についてのコンテキストモデルセットの次のコンテキストモデルが選択され、その一方で、最大のコンテキストモデルは、５に制限される。
【０１８４】
ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２について、第１のコンテキストモデルが選択されて、各ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２構文要素の符号化の後、増加し、その一方で、最大コンテキストはまた５に制限される。異なるコンテキストモデルが、異なる構文要素に関連したビンのために使用される、例えば、異なるコンテキストモデルセットは、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２構文要素のために使用される点に留意されたい。絶対変換レベルの残りの負でない整数値は、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３構文要素によって示される。それは、１に等しいｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２を有する走査位置ごとに符号化される。ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３について、パラメータ化されたriceおよび０次Ｅｘｐ―Ｇｏｌｏｍｂ可変長符号（ＶＬＣ）の組み合わせが、二値化として使用され、二値化から結果として生じるビン列のすべてのビンは、０．５の固定した確率を有する低煩雑性バイパスモードで符号化される。ａｂｓ＿ｃｏｅｆｆ＿ｍｉｎｕｓ３のための二値化のrice部分は、制御パラメータを必要とする。そして、それは各サブセットの始まりにおいてゼロであって、各ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３構文要素の符号化の後、最適に、アップデートされる。制御パラメータの新しい値は、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３によって示されるちょうど符号化された残りの値に依存する。常にｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１のための第２のコンテキストモデルとｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２のための第１のコンテキストモデルとｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３のための二値化制御パラメータが、サブセット内の先頭位置に関してゼロであるように、コンテキスト・モデリング規則がサブセットごとに再設定されることに留意されたい。ここで、各構文要素は符号化される。ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２構文要素について、付加的なコンテキスト・モデリングステージは、前に符号化されたサブセットの統計に依存する。この追加ステップは、コンテキストオフセットまたはコンテキストセットを得る。両方の構文要素のためのオフセットまたはコンテキストセットは、以下のように得られる。各サブセットの初めに、コンテキストセット又はオフセットが、少なくとも一つの有効な位置を含んでいる以前のサブセットにおいて１より大きい絶対レベルの数に応じて選択される。この種のサブセットがない場合、セットは（変換ブロックの有効な走査位置を含んでいる第１のサブセットのために）５である。わずか１つのサブセットが全部の変換ブロックをカバーする、４ｘ４変換ブロックについて、コンテキストセットはゼロにセットされる。そうでない場合、コンテキストセットは、１〜５に範囲を定められうる。残りの絶対変換レベルを符号化した後に、符号情報は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ構文要素によって、例えば０．５の固定確率を使用して、コンテキストモデルで、バイパスモードで符号化される。
【０１８５】
変換係数レベルのための上記符号化技術は、より良い符号化機能を成し遂げる。しかし、それは、高い適合性によって一部の煩雑性を含む。これは、（バイパスモードで符号化されるビンを除いて）同時に、複数のビンを符号化することを可能にしない。それには、２つの理由がある。第１に、確率モデル自体を示しているコンテキストモデルは、適応可能で、各ビンの符号化の後、アップデートされる。それで、同じコンテキストモデルが連続したビンのために選択される場合であっても、確率モデルは、ビンごとに異なる。第２に、コンテキストモデル選択は、走査位置ごとに異なる以前の符号化構文要素にしばしば依存している。このように、最高水準の構想によって、複数のビンの符号化が、エントロピー符号化ステージにおいて煩雑性を低減することができなくて、複数のビンの符号化は低煩雑性実施態様を可能にする、ＰＩＰＥエントロピー符号器の利点も利用しない。
【０１８６】
一実施形態によれば、異なるレベルの適合に構成可能である変換係数レベルのための修正された符号化技術が説明され、従って、高効率モードの高い適合から利益を得ることができると共に、低煩雑性モードのＰＩＰＥの複数ビン復号能力を使用することを可能にするかについて説明した。拡張性は、コンテキスト導出のための異なるモードがあるが両方の煩雑性レベルのための統一走査順を有することによって達成される。変換係数レベルの符号化のために使用される構文要素は、上で説明されたものとちょうど同じである。しかし、それと比較して、違いが、残りの絶対変換レベルのための走査順およびサブセットが形成される方法にある。さらに、ＰＩＰＥがエントロピー符号器として使用されるときに、変換ブロックのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇによって示す符号情報が、直接符号化して、例えば書くことができて、ワンパスのビットストリームから直接に読めた。
【０１８７】
４ｘ４サブセットを用いてそれらを別々にジグザグ走査によってスキャンする代わりに、サブセットが逆ジグザクの走査順において走査されると共に、ここで説明される実施形態は、有意性マップに関しては同じ走査順を使用する。サブセットは、特定の数の走査位置に沿ってつくられる。これによれば、まず、有意性マップは、特定の走査順で符号化される。ここで、走査方向は逆でありえる。上記技術にて説明したように、走査順は、予測モードおよび変換ブロックサイズに応じて異なりうる。残りの絶対変換係数レベルについて、有意性マップについてと同じ走査順が使用される一方、走査順が有意性マップのスキャンに対して逆にされうる。
【０１８８】
前記したように、サブセットは、４ｘ４サブブロックに変換ブロックに区分化する代わりに、連続した走査位置に沿ってつくられる。特定の数の連続した走査位置に沿ったサブセットの作成は、本実施形態のすべての構成のために使用される。
【０１８９】
前述のように、煩雑性は、適合の程度によって構成可能である。以下に、３つの構成が説明される。第１の構成は、高い符号化性能を達成するのに適したものであり、第２が、低煩雑性処理のためのものであり、そして、第３は、煩雑性と符号化性能との間のトレードオフ構成である。３つの構成例は、コンテキスト適合がどのように構成されるかを示し、デコーダ３２２の形のエントロピー符号化エンジンが、例えば、すべての構成について同じである。
【０１９０】
第１の構成について、コンテキスト・モデリングステージは、上記のテクニックと同じである。唯一の違いは、サブセットへのグループ化である。サブブロックまたはサブセットへの４ｘ４空間位置のグループ化の代わりに、ここにある実施形態は、前記したように、いくつかの連続した走査位置をサブセットに分類する。コンテキストオフセットまたはコンテキストセット抽出は、上記概説されたテクニックと比べて修正されず、構文要素についてのコンテキスト・モデリングパラメータも、サブセットごとに再設定される。低煩雑性構成の場合には、固定された確率を有する同じコンテキストモデルは、全部のサブセットのために使用される。ＰＩＰＥがエントロピー符号器として使用されるときに、この構想は、複数のビンの符号化を可能にする。その構成のために、コンテキストモデル選択の適応は、走査位置に依存するだけであり、前に符号化された構文要素には依存せず、コンテキストモデルは、それらの内部確率モデル表現をアップデートしていない。有意性マップの走査位置ごとにコンテキストモデルを得るためにローカルテンプレートを使用する代わりに、特定量数の連続した走査位置は、サブセットにまとめられ、各サブセットは、同じコンテキストモデルを使用して符号化される。その一方で、そのコンテキストモデルのための確率は固定する。有意性マップのサブセットも存在するが、ローカルテンプレートは他のサブセットに存在している走査位置を評価することができることに留意されたい。有意性マップを特定した後に、残りの絶対変換レベルは、符号化される。有意性マップと同じ構想は、残りの絶対レベルのために使用される。それ故、連続した数の有効な走査位置は、サブセットとしてまとめられ、各サブセットは、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１構文要素のための同じコンテキストモデルで符号化される。次に、グループ化機構は、構文要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２のためにされる。１より大きいものとして知られている連続した数の走査位置は、セットにまとめられ、そのセットは、固定された確率でコンテキストモデルで符号化される。残りの絶対変換係数レベルおよび符号は、上記概説された比較技術において符号化され、一方、riceパラメータは、特定の数の走査位置に沿って各サブセットの始まりに再セットされ、符号情報は１ステップで符号化される。最後の構成は、煩雑性と符号化性能との間のトレードオフである。この構成において、各構文要素のためのサブセット生成が、低煩雑性ケースにおいてされるのと同じコンテキストモデルを有する変換係数レベルの符号化に関連した。しかし、低煩雑性構成とは対照的に、サブセットのコンテキストモデルは、すべてのビンが、そのサブセットに符号化されたその構文要素に関連したあと、アップデートされる。選ばれた構成に関係なく、ＰＩＰＥ構想は、変換ブロックの（ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇによって示される）符号情報を、直接符号化することを可能にする（例えば、ワンパスでビットストリームから直接に書き込まれ、読み取られることができる）。
【０１９１】
好ましい実施形態において、有意性マップは、前方向走査順において符号化され、その一方で、残りの絶対変換係数レベルは、逆走査順において符号化される。前方向走査順は、通常、一次元のパス２７４に沿って例えば図６に示されるように、ＤＣ値から、最高周波数成分まで通じることができる。その一方で、逆順は、反対方向であるが同じパスに沿って進行する。他の好ましい実施形態において、有意性マップの符号化および残りの絶対レベルは、逆走査順において符号化される。別の好ましい実施形態において、絶対変換レベルの符号化に関連したすべての構文要素は、前方向走査順において符号化される。
【０１９２】
好ましい実施形態において、サブセットのサイズは、１６に固定されて、変換ブロックの走査位置に沿って広げられる。他の好ましい形態において、サブセットのサイズは、４に固定されて、変換ブロックの走査位置に沿って広げられる。さらなる実施形態において、サブセットのサイズは、変換ブロックの空間位置に応じて変動可能である。その好ましい実施形態において、サブセットのサイズは、変換ブロックの低周波ドメインに関して、例えば変換ブロックの第１の走査位置について、より小さくて、変換ブロックのより高い走査位置について、より大きくなる。別の好ましい実施形態において、サブセットのサイズは、変換ブロックの幅に等しい。他の好ましい形態において、各サブセットは、変換ブロックの対角線に沿って、走査位置を含む。この好ましい実施形態において、対角線は、右上から変換ブロックの左下まで定められる。
【０１９３】
好ましい実施形態において、サブセットは、特定数の連続した走査位置に沿ってつくられる。そのために、特定の構文要素は符号化されなければならない。その場合、サブセットは、以下のようにつくられる。ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのためのサブセットは、変換ブロックの走査位置に沿って広げられ、その一方で、サブセットのサイズは固定されうる又は変動しうる。次に、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１構文要素について、サブセットのサイズがどのようであるかの構成に依存し、１に等しいｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを有する走査位置だけがサブセットを形成した。例えば、固定された場合において、走査位置０〜４は、ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのためのサブセットを形成して、残りの絶対レベルは構文要素を関連させた。この好ましい実施形態について対照的に、サブセットサイズがｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ構文要素のための４であり、残りの絶対レベルが構文要素を関連させる場合、走査位置０〜４は、第１のサブセットを形成し、４〜８は、ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのための第２のサブセットを形成する。しかし、１に等しいｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを有する走査位置だけは、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１のためのサブセットを形成する。それで、この範囲の１に等しいちょうど４つのｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ構文要素があり、走査位置０に第１のものが、走査位置６に第４のものがある場合、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１のためのサブセットは、ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇと同じサイズを有するが、０から６に及びうる。これは、変動するサブセット範囲につながる。他の好ましい実施形態において、一定のサブセットサイズのための可変のストレッチ長は、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２構文要素について適用される。別の好ましい実施形態において、この構想は、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３構文要素のためにも使用される。
【０１９４】
好ましい実施形態において、ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのためのコンテキスト・モデリングは、ローカルテンプレートを使用し、残りの絶対変換レベルのために、コンテキスト・モデリングは、最新の技術と同じである。この好ましい実施形態は、高効率構成につながる。他の好ましい形態において、すべての構文要素のためのコンテキスト・モデリングは、サブセットにのみ依存する。この好ましい実施形態において、コンテキスト・モデリングは、サブセットの数によって得られる。例えば、変換ブロックサイズは８ｘ８であり、サブセットサイズは、１６に固定され、変換ブロックの走査位置に沿ってストレッチする。この場合、変換ブロックは、４つのサブセットを有し、各サブセットは、異なるコンテキストモデルを使用する。サブセットが、構文要素が符号化される走査位置に沿って伸びる場合、少なくとも４つのサブセットがｃｏｅｆｆ＿ｓｉｇｉｎｉｆｉｃａｎｔ＿ｆｌａｇのために存在する。その一方で、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１構文要素のためのサブセットの数は、有意な位置の数に依存する。２４の有意な走査位置があると仮定する。それで、第１の１６の走査位置は、第１のサブセットを形成し、残りの８つの走査位置は、第２のサブセットを形成した。さらにまた、サブセットごとに、特定のコンテキストモデルは、サブセット数に従って選択される。
【０１９５】
別の好ましい実施形態において、サブセットのコンテキスト・モデリング、例えばｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２のためのコンテキストモデルセットまたはコンテキストモデルオフセットは、前に復号されたサブセットに依存する。他の好ましい形態において、サブセットのコンテキスト・モデリングは、最後の復号されたビンに依存する。ここで、ビンの数は、１つのステップで符号化されることができる。別の好ましい実施形態において、サブセットのコンテキスト・モデリングステージは、サブセットのサイズに依存する。この好ましい実施形態は、可変のサブセットサイズの場合に適切である。
【０１９６】
たとえば、再現器４０４は作動している高効率モードまたは低複雑性モードから独立している構文要素の一部のシーケンスに基づいて変換係数レベル２０２を再現するように構成され、構文要素のシーケンス３２７の部分が、交互配置されない方法で、有意性マップ構文要素が変換ブロック２００内でゼロでない変換係数レベルの位置を示す有意性マップを規定し、（それに続いて）レベル構文要素がゼロでない返還係数レベルを規定する。特に、以下の要素は、含まれることができる：変換ブロック内で最後のゼロでない変換係数レベルの位置を示す端末部位置構文要素（ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙ）；共に有意性マップを規定し、変換ブロック（２００）内でＤＣ位置から最後のゼロでない変換係数レベルの位置に導く一次元経路（２７４）に沿った各位置に対して、それぞれの位置の変換係数レベルがゼロでないかどうかを示す第１の構文要素（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）；第１のバイナリの構文要素によれば、ゼロでない変換係数レベルが位置する一次元経路（２７４）の各位置に対して、それぞれの位置の変換係数レベルがそれより大きいかどうかを示す第２の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１）；および、第１のバイナリの構文要素によれば、それより大きい変換係数レベルが位置する一次元経路の各位置に対して、それぞれの位置におけるそれぞれの変換係数レベルがそれを超えている数値を明らかにする第３の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）。
【０１９７】
端部位置構文要素の間の順序、第１、第２および第３の構文要素は高効率モードおよび低複雑性モードに共通し、セレクタ４０２は、作動している低複雑性モードまたは高効率モードに応じて異なって、デシンボライザ３１４が端部位置構文要素、第１の構文要素、第２の構文要素および／または第３の構文要素を得るシンボルのためのエントロピー復号器３２２の中の選択を実行するように構成されることができる。
【０１９８】
特に、低複雑性モードが作動する場合にサブシーケンスの連続的な連続副部分を通じて選択が一定であるように、セレクタ４０２は、デシンボライザ３１４が第１の構文要素および第２の構文要素を得るシンボルの部分列の中の所定のシンボルタイプのシンボルのために、所定のシンボルタイプの各シンボルに対してシンボルの部分列の中の所定のシンボルタイプの以前に検索されたシンボルに応じて複数のコンテキストの１つを選択し、高効率モードが作動している場合には選択されたコンテキストと関連した確率モデルに応じて選択を実行し、部分的一定方法で選択を実行するように構成される。上述の通り、副部分は、一次元の経路２７４に沿って測定されるときにそれぞれの副部分が拡張する位置の数において、または、現在のコンテキストによってすでに符号化されるそれぞれのタイプの構文要素の数において測定されることができる。すなわち、例えば、バイナリの構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、ＨＥモードで選択されたコンテキストの確率モデルに基づいてデコーダ３２２を選択することに関して順応する符号化コンテキストである。確率適合が、同様に使われる。ＬＣモードにおいて、バイナリの構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２の各々のために用いられる異なるコンテキストもある。しかしながら、これらの構文要素の各々のために、コンテキストは、経路２７４に沿って次の、直ちに続く部分への移行において単にコンテキストを変えることに関する経路２７４に沿った第１の部分のために変化しないように保たれる。たとえば、各部分は、それぞれの位置に対してそれぞれの構文があるかどうかとは独立して、ブロック２００の４、８、１６位置の長さに定められる。たとえば、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、有意な位置、すなわちｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ＝１である位置のために存在するだけである。あるいは、このように結果として生じるそれぞれの部分に対してブロック位置の更に置きい数を超えた拡張であるかどうかとは独立して、４、８、１６構文要素の長さに定められる。たとえば、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２は、有意な位置のために存在するだけであり、このように、４つの構文要素の部分はそれぞれ、この位置のそれぞれのレベルがゼロであるために、この種の構文要素がｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２がないような、そのうな構文が送信されない経路２７４に沿ったその間の位置のため、４ブロック以上位置を拡張することができる。
【０１９９】
セレクタ４０２は、デシンボライザが第１の構文要素および第２の構文要素を得るシンボルのサブシーケンスの間の所定のシンボルタイプのシンボルのために、所定のシンボルタイプの各シンボルのためにシンボルのサブシーケンス内で所定のシンボルタイプの以前に検索された複数のシンボルに応じて複数のコンテキストの１つを選択するように構成され、それは、所定のシンボル値を有するとともに同じ副部分に属し、または、同じ副部分に属するシンボルのシーケンス内で所定のシンボルタイプの以前に検索された複数のシンボルである。第１の変形例は、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１に言えることであり、第２の変形例は、上記の特定実施例に従うｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２にいえることである。
【０２００】
さらに、検査する第３の構文要素は、第１の構文要素によれば、それより大きい変換係数レベルが位置する一次元の経路の各位置のために、それぞれの位置におけるそれぞれの変換係数レベルがそれを超える量が整数値の構文要素すなわち、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３を含み、デシンボライザ３１４は、整数値の構文要素の値域にシンボルシーケンス・ワードのドメインをマッピングする制御パラメータによって制御されるマッピング関数を使用するように構成され、高効率モードが作動している場合に以前の第３の構文要素の整数値構文要素に応じて整数値構文要素ごとに制御パラメータを設定し、低複雑性モードが作動している場合に設定がサブシーケンスの連続的な副部分にわたって一定であるように区分的に一定の方法で設定を実行するように構成され、セレクタ４０２は、高効率モードおよび低複雑性モードの両方において、同じ確率分布と関連する整数値構文要素うにマッピングされるシンボルシーケンス・ワードのシンボルのためのエントロピー復号器（３２２）の所定の１つを選択するように構成される。すなわち、デシンボライザでさえスイッチ４００で選択されるモードに応じて動作していることが点線４０７で示されている。制御パラメータの区分的な一定の設定の代わりに、デシンボライザ３１４は、例えば現在のスライスの間、または時間において全体的に一定である間制御パラメータを一定に保つ。
【０２０１】
次に、複雑性計測可能なコンテキストモデリングが記載されている。
【０２０２】
例えば動きベクトル差構文要素のために、コンテキストモデル・インデックスの導出のための上および左の隣の同じ構文要素の評価が、一般の方法であって、ＨＥケースにおいてしばしば使われる。しかしながら、この評価は、よりバッファ記憶装置を必要とし、構文要素の直接の符号化をすることができない。また、より高い符号化パフォーマンスを成し遂げるために、より利用できる隣は評価されることができる。
【０２０３】
好ましい実施例において、隣接する正方形または長方形ブロックまたは予測ユニットの構文要素を評価している全てのコンテキスト・モデリング・ステージは、１つのコンテキストモデルに決定される。これは、コンテキストモデル選択ステージの適応を無効にすることに等しい。その好ましい実施例のために、二値化の後のビン文字列のビンインデックスに応じたコンテキストモデル選択は、ＣＡＢＡＣのための現在の設計と比較して修正されない。別の好ましい実施態様では、構文要素のための固定されたコンテキストモデルが隣の評価を採用するのに加えて、異なるビンインデックスのためのコンテキストモデルは固定される。説明が変換係数レベルの符号化に関連した動きベクトル差および構文要素のための二値化およびコンテキストモデル選択を含まないことに注意されたい。
【０２０４】
好ましい実施例において、左の隣の評価だけは、許容される。最後のブロックまたは符号化ユニット・ラインがもう格納される必要がないので、これは処理チェーンの減少したバッファにつながる。別の好ましい実施例では、同じ符号化装置に存在している隣だけは、評価される。
【０２０５】
好ましい実施例において、すべての利用できる隣は、評価される。たとえば、上部および左の隣に加えて、左上、右上および左下隣は、有効性の場合には評価される。
【０２０６】
すなわち、図１８のセレクタ４０２は、メディアデータの所定のブロックに関連する所定のシンボルのために、複数のコンテキストのうちの１つを選択して、選択されたコンテキストと関連した確率モデルに応じてエントロピー復号器３２２の中の選択を実行するために高効率モードが作動している場合には、メディアデータの異なる隣接ブロックのより高い数に関するシンボルのシーケンスの以前に検索されたシンボルを使用するように構成されることができる。すなわち、隣接ブロックは、時間および／または空間領域において近くにあることができる。空間的に隣接するブロックは、例えば、図１〜３において見ることができる。それから、ちょうど記載されているように、セレクタ４０２はこのことにより記憶オーバーヘッドを減らしているＬＣモードと比較して、ＨＥモードの場合には隣接ブロックのより高い数に関する以前に検索されたシンボルまたは構文要素に基づいて接触適合を実行するためにモードスイッチ４００によってモード選択に応答してもよい。
【０２０７】
次に、実施例に従う動きベクトル差の減少した複雑性符号化が記載されている。
【０２０８】
Ｈ．２６４／ＡＶＣビデオ・コーデック規格において、マクロブロックと関連した動きベクトルは、現行マクロブロックの動きベクトルおよび中間動きベクトル予測器の間の違い（動きベクトル差−ｍｖｄ）の信号を送ることによって送信される。ＣＡＢＡＣがエントロピー符号器として使われるときに、ｍｖｄは以下の通りに符号化される。整数値のｍｖｄは、絶対部分および符号部分に分割される。絶対部分は、接頭辞および接尾辞と呼ばれる、短縮単項３次のＥｘｐ−Ｇｏｌｏｍｂとの組み合わせを用いて二値化される。Ｅｘｐ−Ｇｏｌｏｍｂに関連したビンが、バイパスモード、すなわちＣＡＢＡＣでの０．５の固定確率によって符号化されると共に、短縮単項の二値化に関連するビンはコンテキストモデルを用いて符号化される。単項の二値化は、以下の通りに働く。ｍｖｄの絶対のｉｎｔｅｒｇｅｒ−値をｎとすると、結果として生じるビン文字列はｎ回の「１」および１つの後を追う「０」から成る。一例として、ｎ＝４とすると、ビン文字列は「１１１１０」となる。省略した単項の場合には、制限が存在し、値がこの制限を超えると、ビン文字列はｎ+１回の「１」から成る。ｍｖｄの場合は、制限は９に等しい。つまり、９に等しいかそれより大きい絶対ｍｖｄの場合、結果として９回の「１」が生じ、ビン文字列はＥｘｐ−Ｇｏｌｏｍｂ二値化を有する接頭辞および接尾辞から成る。省略した単項部分のためのコンテキストモデリングは、以下の通りにされる。ビン文字列の第１のビンのために、利用できる（利用できない場合、値は０と推定される）場合、上部および左の隣接マクロブロックからの絶対ｍｖｄ値が必要とされる。特定の成分（横であるか垂直方向）の合計が２より大きい場合、第２のコンテキストモデルが選択され、絶対の合計が３２より大きい場合、第３のコンテキストモデルが選択される、そうでなければ（絶対の合計が３より小さい）、第１のコンテキストモデルが選択される。さらに、コンテキストモデルは、各成分によって異なる。ビン文字列の第２のビンのために、第４のコンテキストモデルが用いられ、第５のコンテキストモデルは単項部分の残りのビンのために使用される。絶対ｍｖｄが９に等しい可それより大きい場合、例えば、省略した単項の部分の全てのビンは「１」に等しく、絶対ｍｖｄ値と９との差は３次Ｅｘｐ−Ｇｏｌｏｍｂ二値化を有するバイパス・モードで符号化される。最終工程において、ｍｖｄの符号は、バイパス・モードで符号化される。
【０２０９】
エントロピー符号器としてＣＡＢＡＣを使用したときの最新の符号化技術は、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）プロジェクトの現在のＴｅｓｔ  Ｍｏｄｅｌ（ＨＭ）に定められる。ＨＥＶＣにおいて、ブロック・サイズは可変的であり、動きベクトルによって特定される形状は予測ユニット（ＰＵ）と呼ばれる。上部および左の隣のＰＵサイズは、現在のＰＵより別の形状およびサイズを有することができる。したがって、関連する場合はいつでも、上部および左の隣の定義は、現在のＰＵの上部および左上隅の左隣として現在参照する。符号化そのもののために、第１のビンのための誘導方法だけは、実施例に従って変わることができる。隣からＭＶの絶対合計を評価する代わりに、それぞれの隣は別に評価されることができる。隣の絶対ＭＶが利用でき１６より大きい場合、コンテキストモデル・インデックスは増加して、結果として第１のビンのためのコンテキストモデルと同じ数になり、その一方で、残りの絶対ＭＶＤレベルおよび符号の符号化は正確にＨ．２６４／ＡＶＣと同様になる。
【０２１０】
ｍｖｄの符号化に関する上記の概説された技術において、９以下のビンはコンテキストモデルで符号化されなければならず、その一方で、ｍｖｄの残りの値は符号情報と共に低複雑性バイパス・モードで符号化されることができる。この現在の実施例は、コンテキストモデルで符号化されるビンの数を減らすための技術を記載し、結果として、バイパスの数が増加し、ｍｖｄの符号化のために必要なコンテキストモデルの数を減らす。それのために、カットオフ値は、９から１または２に減少する。つまり、絶対ｍｖｄがゼロより大きいかどうか特定している第１のビンだけがコンテキストモデルを用いて符号化されるか、または、絶対ｍｖｄがゼロより大きいかどうか特定している第１および第２のビンおよびそれがコンテキストモデルを用いて符号化され、その一方で、残りの値はバイパス・モードでおよび／またはＶＬＣコードを用いて符号化されている。単項または短縮単項符号を使用せず、ＶＬＣコードを使用して二値化して得られる全てのビンは、低複雑性バイパス・モードを使用して符号化される。ＰＩＰＥの場合には、ビットストリームへの、および、ビットストリームからの直接挿入は可能である。さらに、あるとすれば、第１のビンのためのより良好なコンテキストモデル選択を引き出す上部または左の隣の異なる定義が使われることができる。
【０２１１】
好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードは、絶対ＭＶＤ成分の残りの部分を二値化するために用いる。それのために、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は可変的である。Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は以下のように引き出される。第１のビンのためのコンテキストモデル、したがって、そのコンテキストモデルのインデックスが引き出されて符号化された後に、インデックスが、Ｅｘｐ−Ｇｏｌｏｍｂ二値化部分を求める命令として用いられる。この好ましい実施例において、第１のビンのためのコンテキストモデルが１−３の範囲にあり、結果としてＥｘｐ−Ｇｏｌｏｍｂコードの命令として使用されるインデックス０〜２をもたらす。この好ましい実施例が、ＨＥケースのために使われることができる。
【０２１２】
絶対のＭＶＤの符号化の２回の５つのコンテキストを使用する上記の概説された技術の変形例において、９つの単項コード二値化ビンを符号化するために、１４のコンテキストモデル（各成分に対して７）が、同様に用いられることができる。たとえば、単項部分の第１および第２のビンは上述の４つの異なるコンテキストで符号化されることができると共に、第５のコンテキストが第３のビンのための使用されることができ、第６のコンテキストが第４のビンに関して使用されることができ、第５〜第９のビンが第７のコンテキストを使用して符号化される。このように、この場合、実に１４のコンテキストが必要とされ、単に残りの値だけは低複雑性バイパス・モードで符号化されることができる。バイパスの増加した数となり、ＭＶＤの符号化のために必要なコンテキストモデルの数を減らす結果となるコンテキストモデルで符号化されるビンの数を減らす技術は、例えば９から１または２などのように、カットオフ値を減少させる。それは絶対ＭＶＤがゼロより大きいかどうか特定している第１のビンだけがコンテキストモデルを用いて符号化され、または、絶対ＭＶＤがゼロより大きいかどうか特定している第１および第２のビンおよびそれはそれぞれのコンテキストモデルを使用して符号化され、その一方で、残りの値はＶＬＣコードによって符号化されることを示す。ＶＬＣコードを用いた二値化から得られる全てのビンは、低複雑性バイパス・モードを使用して符号化される。ＰＩＰＥの場合には、ビットストリームへの、および、ビットストリームからの直接挿入は可能である。さらに、示された実施例は、第１のビンのためのより良好なコンテキストモデル選択を引き出すために、上部および左の隣の他の定義を使用する。これに加えて、第１の、または第１および第２のビンのために必要なコンテキストモデルの数が減少して更なるメモリ減少に至るように、コンテキストモデリングはいくらか修正される。また、上記の隣のような隣の評価は無効にすることができ、隣のｍｖｄ値の蓄積のために必要なラインバッファ／メモリの節減という結果となる。最後に、成分の符号化順序は、バイパスビンの符号化が続く両方の成分（すなわちコンテキストモデルで符号化されるビン）に接頭ビンの符号化を可能にする方法で分割されることができる。
【０２１３】
好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードは、絶対ｍｖｄ成分の残りの部分を二値化するために用いられる。それのために、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は可変的である。Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は、以下の通りに引き出されることができる。第１のビンのためのコンテキストモデル、したがって、そのコンテキストモデルのイデックスが引き出された後で、インデックスが、Ｅｘｐ−Ｇｏｌｏｍｂ二値化を求める命令として用いられる。この好ましい実施例において、第１のビンのためのコンテキストモデルは１〜３の範囲にあり、Ｅｘｐ−Ｇｏｌｏｍｂコードの命令として用いられるｉｎｄｅｘ０〜２という結果となる。この好ましい実施例がＨＥケースのために使われることができ、コンテキストモデルの数は６に減らされる。また、コンテキストモデルの数を減らし、それによってメモリを節約するために、水平および垂直成分は、更なる好ましい実施例の同じコンテキストモデルを共有することができる。その場合、３つのコンテキストモデルが必要とされるだけである。さらに、左の隣だけが、更なる本発明の好ましい実施例の評価のために考慮されることができる。この好ましい実施例において、閾値は変更される必要はない（例えば、１つだけの閾値１６がＥｘｐ−Ｇｏｌｏｍｂパラメータ０または１をもたらし、１つの閾値３２がＥｘｐ−Ｇｏｌｏｍｂパラメータ０または２を引き出す）。この好ましい実施例は、ｍｖｄの蓄積のために必要なラインバッファを節約する。他の好ましい例として、閾値は修正されて、２および１６に等しくなる。その好ましい実施例のために、合計３つのコンテキストモデルがｍｖｄの符号化のために必要とされ、可能なＥｘｐ−Ｇｏｌｏｍｂパラメータは０〜２の範囲となる。別の好ましい実施例では、閾値は、１６および３２に等しい。また、記載されている実施例は、ＨＥケースに適している。
【０２１４】
更なる本発明の好ましい実施例において、カットオフ値は、９から２に減少する。この好ましい実施例において、第１のビンおよび第２のビンは、コンテキストモデルを用いて符号化される。第１のビンのためのコンテキストモデル選択は、上述の好ましい実施例に記載されているような最高水準のまたは修正されたやり方で実施されることができる。第２のビンのために、最高水準の技術のような別のコンテキストモデルが選択される。別の好ましい実施例では、第２のビンのためのコンテキストモデルは、左の隣のｍｖｄを評価することによって選択される。その場合のために、コンテキストモデル・インデックスは第１のビンに関して同じものであり、その一方で、利用できるコンテキストモデルは第１のビンに対するものとは異なる。全体で、６つのコンテキストモデルが必要とされる（コンテキストモデルを共有している成分に注意）。また、Ｅｘｐ−Ｇｏｌｏｍｂパラメータは、第１のビンの選択されたコンテキストモデル・インデックスに依存することができる。他の本発明の好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂパラメータは、第２のビンのコンテキストモデル・インデックスに応じている。本発明の記載されている実施例が、ＨＥケースのために使用されることができる。
【０２１５】
更なる本発明の好ましい実施例において、両方のビンのためのコンテキストモデルは固定され、左または上の隣を評価することによって引き出されるというわけではない。この好ましい実施例のために、コンテキストモデルの総数は２に等しい。更なる本発明の好ましい実施例において、第１のビンおよび第２のビンは、同じコンテキストモデルを共有する。その結果、１つのコンテキストモデルだけは、ｍｖｄの符号化のために必要とされる。本発明の両方の好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂパラメータは固定され、１に等しい。本発明の記載された好ましい実施例は、ＨＥおよびＬＣ構成の両方に適している。
【０２１６】
他の好ましい例として、Ｅｘｐ−Ｇｏｌｏｍｂ部分の順序は、それぞれに第１のビンのコンテキストモデル・インデックスに由来する。この場合、Ｈ．２６４／ＡＶＣの通常のコンテキストモデルの絶対和は、Ｅｘｐ−Ｇｏｌｏｍｂパートを求める命令を引き出すために用いる。この好ましい実施例が、ＨＥケースのために使われることができる。
【０２１７】
別の好ましい実施例では、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は固定され、０に設定される。他の好ましい例として、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は固定され、１に設定される。好ましい実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は２に固定される。さらなる実施例において、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は３に固定される。さらなる実例において、Ｅｘｐ−Ｇｏｌｏｍｂコードの順序は、現在のＰＵの形状およびサイズにしたがって固定される。示された好ましい実施例が、ＬＣケースのために使われることができる。Ｅｘｐ−Ｇｏｌｏｍｂ部分の固定された順序がコンテキストモデルで符号化されるビンの減少した数で考慮されることに注意されたい。
【０２１８】
好ましい実施例において、隣は、以下の通りに定められる。上記のＰＵのために、現在のＰＵをカバーする全てのＰＵが考慮され、最大のＭＶを有するＰＵが使用される。これは、左の隣のためにもされる。現在のＰＵをカバーする全てのＰＵは評価されて、そして、最大のＭＶを有するＰＵが使用される。他の好ましい例として、現在のＰＵの上部および左の境界をカバーする全てのＰＵからの平均的な絶対の動きベクトル値は、第１のビンを引き出すために用いられる。
【０２１９】
示された好ましい実施例のために、以下の通りに符号化順序を変えることは可能である。ｍｖｄは、次々と（またはその逆）水平および垂直方向のために特定されなければならない。このように、２つのビン文字列は、符号化されなければならない。エントロピー符号化エンジンのためのモード切換え（すなわち、バイパスおよび通常モード間の切換え）第１段階において両方の成分のためにコンテキスト・モデルで符号化されたビンに続いて、第２段階においてバイパス・モードで符号化されたビンを符号化することは可能である。これは単に並べ替えであることに注意されたい。
【０２２０】
単項または短縮単項の二値化から得られるビンは、値が現在のビンインデックスより大きいかどうかを特定しているビンインデックスにつき１つのフラグの等価な固定長に二値化によって表されることもできる点に注意されたい。たとえば、ｍｖｄの省略した単項の二値化のためのカットオフ値は、値０、１、２のための符号語０、１０、１１という結果となる２に設定される。ビンインデックスにつき１つのフラグを有する対応する固定長二値化において、ビンインデックス０（すなわち、第１のビン）のための１つのフラグは、絶対ｍｖｄ値が０より大きいかどうかを特定し、ビンインデックス１を有する第２のビンのための１つのフラグは、絶対ｍｖｄ値が１より大きいかどうかを特定する。第１のフラグが１に等しいときに第２のフラグが符号化されるだけのときに、これは同じ符号語０、１０、１１という結果となる。
【０２２１】
次に、実施例にしたがって、確率モデルの内部状態の複雑性計測可能な表現が記載される。
【０２２２】
ＨＥ−ＰＩＰＥセットアップにおいて、確率モデルの内部状態は、それを有するビンを符号化した後にアップデートされる。アップデートされた状態は、旧状態および符号化されたビンの値を使用している表検索の状態遷移によって引き出される。ＣＡＢＡＣの場合、確率モデルは、区間（０．０、０．５）におけるモデル確率に対応する６３の異なる状態をとることができる。これらの状態の各々は、２つのモデル確率を実現するために用いる。状態に割り当てられる確率に加えて、１マイナス確率も使われ、ｖａｌＭｐｓと呼ばれているフラグは、確率または１マイナス確率のどちらかが使用される情報を格納する。これは、合計１２６の状態に至る。ＰＩＰＥ符号化概念を有するこのような確率モデルを使用するために、１２６の状態の各々は、利用できるＰＩＰＥ符号器のうちの１つにマッピングされることを必要とする。ＰＩＰＥ符号器の現在の実現例において、これは、参照表を用いて行われる。このようなマッピングの実施例は、表Ａにおいて表される。
【０２２３】
以下に、どのようにして確率モデルの内部状態が内部状態をＰＩＰＥインデックスに変換するために参照表を使用することを回避するために示されることができるかについて、実施例は記載されている。単にいくらかの単純なビット・マスキング動作は、確率モデルの内部状態変数からＰＩＰＥインデックスを得るために必要である。確率モデルの内部状態のこの新規な複雑性計測可能な表現は、２つのレベルの方法で設計される。低い複雑性動作が必須であるアプリケーションのために、第１のレベルだけが用いられる。それは、関連するビンを符号化または復号化するために用いられるｐｉｐｅインデックスおよびフラグｖａｌＭｐｓだけを記載する。記載されているＰＩＰＥエントロピー符号化方式の場合、第１のレベルは、８つの異なるモデル確率を区別するために用いることができる。このように、第１のレベルは、ｐｉｐｅＩｄｘのために３ビットを、ｖａｌＭｐｓフラグのために１つの更なるビットを必要とする。第２のレベルで、第１のレベルの粗い確率範囲の各々は、より高い分解能で確率の提示をサポートするいくつかのより小さい区間に改良される。このより詳細な提示は、確率推定器のより正確な動作を可能にする。一般に、それは、高いＲＤ−パフォーマンスに向かって狙いをつける符号化アプリケーションに適している。たとえば、ＰＩＰＥの使用法を有する確率モデルの内部状態のこの複雑性基準の表現は、以下の通りに例示される。
【０２２４】
【表６】
0005952900.tif 000020
【０２２５】
第１および第２のレベルは、単一の８ビットのメモリに保存される。４ビットは第１のレベル−最上位ビット上でＭＰＳの値を有するＰＩＰＥインデックスを定めるインデックス−を格納することを必要とし、別の４ビットは第２のレベルを格納するために用いられる。ＣＡＢＡＣ確率推定器の反応を満たすために、各ＰＩＰＥインデックスは、どれくらいのＣＡＢＡＣ状態がＰＩＰＥインデックスにマッピングされたかに応じて特定の数の許容された改良インデックスを有する。たとえば、表Ａのマッピングのために、ＰＩＰＥインデックスにつきＣＡＢＡＣ状態の数は、表Ｂにおいて表される。
【０２２６】
【表７】
0005952900.tif 000021
【０２２７】
ビンの符号化または復号化プロセスの間、ＰＩＰＥインデックスおよびｖａｌＭｐｓは、単純なビット・マスクまたはビットシフト動作を使用することによって、直接アクセスされることができる。低複雑性符号化プロセスは第１のレベルだけで４ビットを必要とし、高効率符号化プロセスは加えて、ＣＡＢＡＣ確率推定器の確率モデルアップデートを実行するために第２のレベルの４ビットを利用することができる。このアップデートを実施するために、オリジナルの表と同じ遷移をするが、状態の複雑性計測可能な２つのレベル表現を使用する状態遷移参照表は、設計されることができる。オリジナルの状態遷移表は、２×６３の成分から成る。入力状態ごとに、それは、２つの出力状態を含む。複雑性計測可能な表現を使用するときに、状態遷移表のサイズは表のサイズの受け入れられる増加である２×１２８の成分を上回らない。この増加は何ビットが改良インデックスを表すために用いられるか、および、正確にＣＡＢＡＣ確率推定器の反応をエミュレートするために用いられるかに依存し、４ビットが必要である。しかしながら、ｐｉｐｅインデックスごとにわずか８つの状態だけが許容されるように、ＣＡＢＡＣ状態の減らされたセットに作用することができるように，異なる確率推定器が使用されることができる。したがって、メモリの消費は、改良インデックスを表すために用いられるビットの数を適応させることによって、符号化プロセスの所与の複雑性レベルと合致することができる。６４の確率状態インデックスが存在するＣＡＢＡＣを有するモデル確率の内部状態と比較して、モデル確率を特定のＰＩＰＥコードにマッピングする表検索の使用法は回避され、更なる変換は必要とされない。
【０２２８】
次に、実施例に従ってアップデートされている複雑性計測可能なコンテキストモデルが記載されている。
【０２２９】
コンテキストモデルをアップデートするために、その確率状態インデックスは、１つ以上の以前に符号化されたビンに基づいてアップデートされることができる。ＨＥ−ＰＩＰＥセットアップにおいて、このアップデートは、各ビンの符号化または復号化の後に行われる。逆にいえば、ＬＣ−ＰＩＰＥセットアップで、このアップデートは、決して行われることはない。
【０２３０】
しかしながら、複雑性計測可能な方法でコンテキストモデルのアップデートを行うことは可能である。すなわち、コンテキストモデルをアップデートするべきかどうかの決定は、さまざまな態様に基づく。たとえば、符号化セットアップは、例えば構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのコンテキストモデルのような特定のコンテキストモデルのためだけのアップデートをすることができなくて、常に他の全てのコンテキストモデルのためのアップデートをすることができる。
【０２３１】
換言すれば、所定のシンボルタイプの数が高効率モードと比較して低複雑性モードにおいてより低くなるように、セレクタ４０２は、所定のシンボルタイプの数の各々のシンボルのために、それぞれの所定のシンボルに関連付けるそれぞれの確率モデルに応じてエントロピー復号器３２２の中で洗濯を実行するように構成される。
【０２３２】
さらに、コンテキストモデルをアップデートすべきか否かを制御するための基準は、例えば、ビットストリーム・パケットのサイズ、今までのところ復号化されたビンの数等であり、または、アップデートは、コンテキストモデルのためのビンの特定の固定または可変の数を符号化した後にのみ行われる。
【０２３３】
コンテキストモデルをアッフデートするべきかどうか決めるこのスキームについては、複雑性計測可能なコンテキストモデルは実施されることができる。それは、コンテキストモデルのアップデートが行われるビットストリームのビンの部分を増減することを許容する。コンテキストモデルのアップデートの数が多いほど、符号化効率はより良好になり、計算の複雑性はより高くなる。このように、複雑性計測可能なコンテキストモデルのアップデートは、記載されている方式によって提供されることができる。
【０２３４】
好ましい実施例において、コンテキストモデルのアップデートは、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２を除いてすべての構文要素のビンのために行われる。
【０２３５】
別の好ましい実施例では、コンテキストモデルのアップデートは、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２だけのビンのために行われる。
【０２３６】
別の好ましい実施例では、スライスの符号化または復号化が始まるときに、コンテキストモデルのアップデートはすべてのコンテキストモデルのために行われる。処理されている特定の所定の数の変換ブロックの後、スライスの終わりが達せられるまで、コンテキストモデルのアップデートは全てのコンテキストモデルのために使用不能である。
【０２３７】
例えば、セレクタ４０２は、所定のシンボルタイプのために、所定のシンボルタイプのシンボルのための選択がアップデートとともに実行されるシンボルのシーケンスの学習フェーズの長さが高効率モードと比べたよりも低複雑性モードにおいて短くなるように、関連する確率モデルのアップデートとともに、またはアップデートなしで、所定のシンボルタイプに関連する確率モデルに応じてエントロピー復号器３２２の中で選択を実行するように構成される。
【０２３８】
更なる好ましい実施例は先に述べた好ましい実施例と同一であるが、１つの表が全てのコンテキストモデルの「第１の部分」（ｖａｌＭｐｓ  ａｎｄ  ｐｉｐｅＩｄｘ）を格納し、全てのコンテキストモデルの「第２の部分」（ｒｅｆｉｎｅＩｄｘ）を格納するように、それはコンテキストモデルの内部状態の複雑性計測可能な表現をいくぶん使用する。そこにおいて、アップデートしているコンテキストモデルはすべてのコンテキストモデル（以前の好ましい実施例にて説明したように）のために使用不能であり、「第２の部品」を格納する表がもはや必要でなくて、破棄されることができる。
【０２３９】
次に、実施例に従うビンのシーケンスのためにアップデートしているコンテキストモデルが記載されている。
【０２４０】
ＬＣ−ＰＩＰＥ構成において、タイプｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２の構文要素のビンは、サブセットに分類される。サブセットごとに、単一のコンテキストモデルは、そのビンを符号化するために用いられる。この場合、コンテキストモデルのアップデートは、このシーケンスのビンの固定数の符号化の後に行われる。これは、以下においてマルチビンのアップデートを示す。しかしながら、このアップデートは、最後の符号化ビンのみおよびコンテキストモデルの内部状態を用いたアップデートとは異なる。たとえば、 符号化されたビンごとに、１つのコンテキストモデルのアップデートステップが実行される。
【０２４１】
以下に、実施例は、８つのビンからなる典型的なサブセットを符号化するために挙げられる。文字「ｂ」はビンの復号化を意味し、文字「ｕ」はコンテキストモデルのアップデートを意味する。ＬＣ−ＰＩＰＥの場合において、ビンの復号化だけは、コンテキストモデルのアップデートなしで行われる：
ｂｂｂｂｂｂｂｂ
【０２４２】
ＨＥ−ＰＩＰＥの場合において、各ビンの復号化の後、コンテキストモデルのアップデートが行われる：
ｂｕｂｕｂｕｂｕｂｕｂｕｂｕｂｕ
【０２４３】
複雑性をいくらか減少させるために、コンテキストモデルのアップデートは、ビンのシーケンスの後に行われることができる（この例では、各４つのビンの後、これらの４つのビンのアップデートが行われる）：
ｂｂｂｂｕｕｕｕｂｂｂｂｕｕｕｕ
【０２４４】
すなわち、セレクタ４０２は、所定のシンボルタイプのシンボルのために、所定のシンボルタイプのシンボルのための選択がアップデートとともに実行される周波数が高効率モードと比較したよりも低複雑性モードにおいて低くなるように、関連する確率モデルのアップデートとともに、またはアップデートなしで、所定のシンボルタイプに関連する確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成される。
【０２４５】
この場合、４つのビンを復号化した後に、４つのアップデート・ステップが、ちょうど復号化された４つのビンに基づいて続く。これらの４つのアップデート・ステップが特別な参照表の検索を用いて１つの一回のステップで実行されることができることに注意されたい。４つのビンの各可能な組合せおよびコンテキストモデルの各可能な内部状態のために、この参照表は、４つの従来のアップデート・ステップの後に結果として得られる新しい状態を格納する。
【０２４６】
特定のモードにおいて、マルチビンのアップデートが、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのために用いられる。他の全ての構文要素のビンのために、コンテキストモデルのアップデートは用いられない。マルチビン・アップデートステップの前に符号化されるビンの数は、ｎに設定される。セットのビンの数がｎによって割り切れないときに、１からｎ−１個のビンが、最後のマルチビンのアップデートの後にサブセットの終わりに残る。これらのビンの各々のために、従来の１つのビンのアップデートは、これらのビンの全てを符号化した後に行われる。数ｎは、１より大きいいかなる正数であってもよい。マルチビンのアップデートがｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１およびｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇだけの代わりに）の任意の組合せのために行われることを除いて、別のモードが以前のモードと同じものであってもよい。このように、このモードは、その他より複雑である。他の全ての構文要素（マルチビンのアップデートが使われない所で）は２つの別のサブセットに分割され、ここで、サブセットの１つのために、１つのビンのアップデートが用いられ、他のサブセットのために、コンテキストモデルのアップデートが用いられない。あらゆる可能な別のサブセットは、有効である（空のサブセットを含む）。
【０２４７】
別の実施形態では、マルチビンのアップデートは、マルチビンのアップデートの前にすぐに符号化される最後のｍ個のビンだけに基づくことができる。ｍはｎより小さいいかなる自然数であってもよい。したがって、復号化は、次のようになされることができる：
ｂｂｂｂｕｕｂｂｂｂｕｕｂｂｂｂｕｕｂｂｂｂ
ここで、ｎ＝４およびｍ＝２。
【０２４８】
すなわち、セレクタ４０２は、所定のシンボルタイプのシンボルのために、高効率モードと比較するよりも低複雑性モードにおいてｎ／ｍ比が高くなるように、所定のシンボルタイプの最も近いシンボルｍに基づいて関連する確率モデル全てのｎ番目のシンボルのアップデートとともに、所定のシンボルタイプに関連する確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成される。
【０２４９】
別の好ましい実施例では、構文要素ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇのために、ＨＥ−ＰＩＰＥ構成のために上記の通りにローカル・テンプレートを用いたコンテキストモデル化スキームは、コンテキストモデルを構文要素のビンに割り当てるために用いられる。しかしながら、これらのビンのために、コンテキストモデルのアップデートは使われない。
【０２５０】
さらに、セレクタ４０２は、所定のシンボルタイプのシンボルのために、コンテキストの数および／または以前に検索したシンボルの数が高効率モードと比べるよりも低複雑性モードにおいて低くなるように、シンボルのシーケンスの多くの以前に検索されたシンボルに応じて多くのコンテキストの１つを選択するように構成され、選択されたコンテキストに関連する確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成される。
【０２５１】
８ビットの初期化値を使用した確率モデル初期化
このセクションは、最高水準のビデオ符号化基準Ｈ．２６４／ＡＶＣのケースのような２つの８ビットの値の代わりにいわゆる８ビット初期化値を使用している確率モデルの複雑性計測可能な内部状態の初期化プロセスを示している。それは、Ｈ．２６４／ＡＶＣのＣＡＢＡＣの確率モデルのために使用される初期化値の対と同等である２つの部分から成る。２つの部分は確率モデルの初期状態を計算する一次方程式の２つのパラメータを示し、ＱＰから特定の確率（例えば、ＰＩＰＥインデックスの形で）を表す。
【０２５２】
・第１の部分は傾斜を示し、それは符号化または復号化の間に使用される量子化パラメータ（ＱＰ）に関して内部状態の依存を利用する。
・第２の部分は、ｖａｌＭｐｓと同様に所定のＱＰでＰＩＰＥインデックスを定める。
【０２５３】
２つの異なるモードは、所定の初期化値を用いて確率モデルを初期化するために利用することができる。第１のモードは、ＱＰ独立初期化を示す。それは、すべてのＱＰのための初期化値の第２の部分において定められるＰＩＰＥインデックスおよびｖａｌＭｐｓを使用するだけである。これは、傾斜が０に等しい場合と同一である。第２のモードはＱＰ依存初期化を示し、さらに、それは、ＰＩＰＥインデックスを変えて、改良インデックスを定めるために初期化値の第１の部分の傾斜を使用する。８ビットの初期化値の２つの部分は、以下の通りに例示される。
【０２５４】
【表８】
0005952900.tif 000022
【０２５５】
それは、２つの４ビットの部分から成る。第１の部分は、配列に格納される１６の異なる所定の傾斜の中の１つを示すインデックスを含む。所定の傾斜は、７つの負の傾斜（傾斜インデックス０−６）、ゼロに等しい傾斜（傾斜インデックス７）および８つの正の傾斜（傾斜インデックス８−１５）の中の１つの傾斜から成る。傾斜は、表Ｃで表される。
【０２５６】
【表９】
0005952900.tif 000023
【０２５７】
すべての値は、浮動小数点演算の使用を回避するために、２５６の因子で見積もられる。第２の部分は、確率区間ｐ＝０およびｐ＝１の間にｖａｌＭｐｓ＝１の上昇性の確率を具体化するＰＩＰＥインデックスである。換言すれば、ＰＩＰＥ符号器ｎは、ＰＩＰＥ符号器ｎ−１より高いモデル確率で動作する。あらゆる確率モデルのために、１つのＰＩＰＥ確率インデックスは利用でき、それは確率区間がＱＰ＝２６のためのｐvalMPs=1の確率を含むＰＩＰＥ符号器を確認する。
【０２５８】
【表１０】
0005952900.tif 000024
【０２５９】
ＱＰおよび８ビットの初期化値は、ｙ＝ｍ＊（ＱＰ ― ＱＰｒｅｆ）＋２５６＊ｂの形で単純な一次方程式を計算することによって確率モデルの内部状態の初期化を算出することを必要とする。ｍが傾斜インデックス（８ビットの初期化値の第１の部分）を用いて表Ｃからとられる傾斜を定め、ｂがＱＰｒｅｆ＝２６（８ビットの初期化値の第２の部分：「ＰＩＰＥ確率インデックス」）でＰＩＰＥ符号器を意味する点に注意されたい。そして、ｙが２０４７より大きい場合、ｖａｌＭＰＳは１であり、ｐｉｐｅＩｄｘは（ｙ−２０４８）＞＞８に等しい。さもなければ、ｖａｌＭＰＳは０であり、ｐｉｐｅＩｄｘは（２０４７―ｙ）＞＞８に等しい。ｖａｌＭＰＳが１に等しい場合、改良インデックスは（（（ｙ―２０４８）＆２５５）＊ｎｕｍＳｔａｔｅｓ）＞＞８に等しい。さもなければ、改良インデックスは、（（（２０４７―ｙ）＆２５５）＊ｎｕｍＳｔａｔｅｓ）＞＞８に等しい。いずれの場合においても、ｎｕｍＳｔａｔｅｓは、表Ｂにて図示するように、ｐｉｐｅＩｄｘのＣＡＢＡＣ状態の数に等しい。
【０２６０】
上述のスキームは、ＰＩＰＥ符号器と組み合わせて用いられるだけでなく、上述のＣＡＢＡＣ方式と関連しても用いられる。ＰＩＰＥがなければ、ＣＡＢＡＣ状態、すなわち、その間で確率アップデートの状態移行がＰＩＰＥ  Ｉｄｘ（すなわち、ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］のそれぞれの最上位ビット）につき実行される（ｐＳｔａｔｅ＿ｃｕｒｒｅｎｔ［ｂｉｎ］）確率状態）の数は、事実、ＱＰに応じてＣＡＢＡＣ状態の区分的線形補間法を実現する一組のパラメータだけである。さらに、パラメータｎｕｍＳｔａｔｅｓがすべてのＰＩＰＥ  Ｉｄｘのための同じ値を使用する場合には、この区分的線形補間法は実質的に無効であってもよい。たとえば、全てのケースのための８に対する設定ｎｕｍＳｔａｔｅｓは、合計１６＊８つの様相およびインデックスがｖａｌＭＰＳは１に等しく、（（ｙ−２０４８）＆２５５）＞＞５またはｖａｌＭＰＳは０に等しく、（（２０４７―ｙ）＆２５５）＞＞５に単純化する改良インデックスの計算を得る。この場合、ｖａｌＭＰＳ、ＰＩＰＥ  ｉｄｘおよび改良ｉｄｘを用いている表現をもとのＨ．２６４／ＡＶＣのオリジナルのＣＡＢＡＣにより用いられる表現にマッピングすることは、非常に単純である。ＣＡＢＡＣ状態は、（ＰＩＰＥ  Ｉｄｘ＜＜３）＋ｒｅｆｉｎｅｍｅｎｔ  Ｉｄｘとして与えられる。この態様は、図１７に関して更に下で記載されている。
【０２６１】
８ビットの初期化値の傾斜がゼロに等しくない限り、または、ＱＰが２６に等しくない限り、それは符号化または復号プロセスのＱＰを有する一次方程式を使用することによって内部状態を計算するのに必要である。ゼロに等しいかまたは現在の符号化方法のＱＰが２６に等しくなっている傾斜の場合、８ビットの初期化値の第２の部品が、確率モデルの内部状態を初期化するために、直接用いられることができる。さもなければ、結果として生じる内部状態の小数部は、特定のＰＩＰＥ符号器の限界との間に一次補間で高効率符号化アプリケーションの改良インデックスを決定するために、更に利用されることができる。この好ましい実施例において、一次補間は、単に現在のＰＩＰＥ符号器に利用できる改良インデックスの総数を有する小数部を乗じて、結果を最も近い整数改良インデックスにマッピングすることによって実行される。
【０２６２】
確率モデルの内部状態の初期化のプロセスは、ＰＩＰＥ確率インデックス状態の数に関して変化することができる。特に、等しい見込みがあるモードを使用しているＰＩＰＥ符号器Ｅ１、すなわちＭＰＳとの間に１または０であることを区別する２つの異なるＰＩＰＥインデックスの使用の二重の発生は、以下の通りに回避されることができる。また、プロセスはスライス・データの構文解析の始まりの間、引き起こされることができ、このプロセスの入力は例えば、初期化されるためにあらゆるコンテキストモデルのためのビットストリームの範囲内で送信される表Ｅにて図示するように、８ビットの初期化値であり得る。
【０２６３】
【表１１】
0005952900.tif 000025
【０２６４】
最初の４ビットは傾斜インデックスを定めて、ビットｂ４−ｂ７をマスキングすることによって検索される。
あらゆる傾斜インデックスのために、傾斜（ｍ）は、表Ｆにおいて特定されて、示される。
【０２６５】
【表１２】
0005952900.tif 000026
【０２６６】
ビットｂ０−ｂ３、８ビットの初期化値の最後の４ビット、はｐｒｏｂＩｄｘを確認し、所定のＱＰ．ｐｒｏｂＩｄｘ０は値０を有するシンボルのための最高確率を示し、それぞれ、ｐｒｏｂＩｄｘ  １４は値１を有するシンボルのための最高確率を示す。表Ｇは、各ｐｒｏｂＩｄｘのために対応するｐｉｐｅ符号器およびそのｖａｌＭｐｓを示す。
【０２６７】
【表１３】
0005952900.tif 000027
【０２６８】
両方の値については、内部状態の算出は、ｙ＝ｍ＊ｘ＋２５６＊ｂのような一次方程式を用いてされることができ、ｍは傾斜を意味し、ｘは現在のスライスのＱＰを意味し、ｂは以下の説明に示すようにｐｒｏｂＩｄｘに由来する。このプロセスのすべての値は、浮動小数点演算の使用を回避するために、２５６の因子によって見積もられる。このプロセスの出力（ｙ）は、現在のＱＰで確率モデルの内部状態を表して、８つのビット・メモリに保存される。Ｇに示されるように、内部状態は、ｖａｌＭＰｓ、ｐｉｐｅＩｄｘおよびｒｅｆｉｎｅＩｄｘから成る。
【０２６９】
【表１４】
0005952900.tif 000028
【０２７０】
【表１５】
0005952900.tif 000029
【０２７１】
ｒｅｆｉｎｅＩｄｘおよびｐｉｐｅＩｄｘの譲渡は、ＣＡＢＡＣ確率モデル（ｐＳｔａｔｅＣｔｘ）の内部状態と類似していて、Ｈに示される。
【０２７２】
【表１６】
0005952900.tif 000030
【０２７３】
好ましい実施例において、ｐｒｏｂＩｄｘは、ＱＰ２６で定められる。８ビットの初期化値に基づいて、確率モデルの内部状態（ｖａｌＭｐｓ、ｐｉｐｅＩｄｘおよびｒｅｆｉｎｅＩｄｘ）は、以下の疑似コードに説明されているように処理される。
【０２７４】
0005952900.tif 000031
【０２７５】
疑似コードに示すように、ｒｅｆｉｎｅＩｄｘは、線形にｐｉｐｅＩｄｘの区間の間に挿入して、対応するｒｅｆｉｎｅＩｄｘに結果を量子化することによって計算される。オフセットは、ｐｉｐｅＩｄｘごとにｒｅｆｉｎｅＩｄｘの総数を特定する。ｆｕｌｌＣｔｘＳｔａｔｅ／２５６の区間［７、８）は、半分に分割される。区間［７、７．５）はｐｉｐｅＩｄｘ＝０およびｖａｌＭｐｓ＝０にマッピングされ、区間［７．５、８）はｐｉｐｅＩｄｘ＝０およびｖａｌＭｐｓ＝１にマッピングされる。図２２は、内部状態を引き出す方法を表し、ｐＳｔａｔｅＣｔｘへのｆｕｌｌＣｔｘＳｔａｔｅ／２５６のマッピングを表示する。
【０２７６】
傾斜がｐｒｏｂＩｄｘおよびＱＰの依存を示す点に注意されたい。８ビットの初期化値のｓｌｏｐｅＩｄｘが７に等しい場合、確率モデルの結果として生じる内部状態はすべてのスライスＱＰｓに共通するものであり−それゆえに、内部状態の初期化プロセスはスライスの現在のＱＰから独立している。
【０２７７】
すなわち、セレクタ４０２は、両方のモードＬＣおよびＨＣに共通する表にインデックスとしてこの構文要素を用いてその中に含まれる変換係数レベルのような、この部分のデータを量子化するために用いられる量子化ステップサイズＱＰを示す構文要素を用いて、全てのストリームまたは次のスライスのようなデータストリームの次の部分を復号化するのに用いられるｐｉｐｅインデックスを初期化する。表Ｄのような表は、各シンボルタイプ、それぞれの参照ＱＰｒｅｆのためのｐｉｐｅインデックス、または各シンボルタイプのためのほかのデータを含む。現在の部分の実際のＱＰに応じて、セレクタは、実際のＱＰおよびＱＰ自体によって索引をつけられるそれぞれのテーブル項目ａを使用して、ａと（ＱＰ−ＱＰｒｅｆ）との乗算のように、パイプ・インデックス値を計算することができる。ＬＣおよびＨＥモードの唯一の違い：セレクタは、ＨＥモードと比較してＬＣの場合には単に結果を低い精度で計算する。セレクタは、例えば、単に計算結果の整数部分を使用することができるだけである。ＨＥモードにおいて、例えば端数部分のような高精度残余は、低い精度または整数部分によって示されるように、それぞれのｐｉｐｅインデックスのための利用できる改良インデックスのうちの１つを選択するために用いられる。改良インデックスが、上述の表散歩を用いることによって例えば確率適合を実行するために、ＨＥモードで（ＬＣモードにおいても潜在的でより稀であるように）用いられる。より高い境界で現在のｐｉｐｅインデックスのための利用できるインデックスを残すときに、より高いパイプ・インデックスは改良インデックスを最小化するとともに次に選択される。より低い境界で現在のｐｉｐｅインデックスのための利用できるインデックスを残すときに、次の低いｐｉｐｅインデックスは新規なパイプ・インデックスに最大限に利用できる改良インデックスを最大にするとともに次に選択される。改良インデックスと一緒にｐｉｐｅインデックスは確率状態を定めるが、部分的なストリームの中の選択のために、セレクタは単にｐｉｐｅインデックスを使用するだけである。改良インデックスは、単により密接に確率を追うために、または、より微細な精度において役立つだけである。
【０２７８】
しかしながら、上記説明も、複雑性の拡張性が図７〜図１７のＰＩＰＥまたはＣＡＢＡＣ符号化概念とは別に、図１９に示されるデコーダを使用して達成されることを示した。図１９のデコーダは、メディアデータが符号化されたデータストリーム６０１を復号化するためにあって、データストリーム６０１に応じて低複雑性モードまたは高効率モードを起動させるように構成されるモードスイッチ６００と、シンボル・シーケンス・ワードの領域を整数値構文要素の共同領域にマッピングするために、制御パラメータによって制御可能なマッピング機能を使用している整数値構文要素６０４を得るために、データストリーム６０１から−直接、または、例えば、エントロピー復号化によって−得られたシンボルのシーケンス６０３を記号で表すように構成されたデシンボライザを含む。再現器６０５は、整数値構文要素に基づいてメディアデータ６０６を再現するように構成される。デシンボライザ６０２は、高効率モードが作動している場合には制御パラメータが第１の割合でデータストリームに従って変化するように、デシンボライザ６０２は非記号化を実行するように構成される、そして、低複雑性モードが作動している場合には、矢印６０７で示されるように、第１の割合より低い第２の割合である以外、制御パラメータはデータストリームまたはデータストリームに応じた変化にかかわりなく一定である。たとえば、制御パラメータは、前に非記号化されたシンボルに従って変化することができる。
【０２７９】
前記実施例のいくつかは、図１９の態様を利用した。シーケンス３２７の中の構文要素ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３およびＭＶＤは、例えば、４０７で示されるような選択されるモードに応じてデシンボライザ３１４において二値化され、再現器６０５は再現のためのこれらの構文要素を使用した。明らかに、図１８および１９の両方の態様は直ちに統合可能であるが、図１９の態様は他の符号化環境と結合されることもできる。
【０２８０】
たとえば、上で示した動きベクトル差符号化を参照する。マッピング機能がカットオフ値より小さい整数値構文要素の領域の第１の区間の範囲内でマッピングを実行する短縮単項符号、およびカットフ値のための短縮単項符号の形の接頭辞およびカットオフ値を含むか超える整数値構文要素の領域の第２の区間の範囲内のＶＬＣ符号語の形の接尾辞の組み合わせをしようするようにデシンボライザ６０２は構成され、デコーダは、変化する確率評価を有する単項のエントロピー復号化を用いてデータストリーム６０１から短縮単項のコードの複数の第１のビンおよび一定の等確率バイパスモードを用いてＶＬＣ符号語の複数の第２のビンを引き出すように構成されたエントロピー復号器６０８を含む。ＨＥモードにおいて、矢印６０９で示すように、エントロピー符号化はＬＣ符号化におけるよりも複雑である。すなわち、コンテキスト適応および／または確率適合はＨＥモードで適用され、ＬＣモードで抑制され、または、各種実施形態に関して上述されるように、複雑性は拡大・縮小される。
【０２８１】
メディアデータをデータストリームに符号化する、図１８のデコーダに適合するエンコーダが、図２０に示される。それは、データストリーム５０１の中で低複雑性モードまたは高効率モードの起動の信号を送るように構成されるインサータ５００、構文要素のシーケンス５０６にメディアデータ５０５を前符号化するように構成されるコンストラクタ５０４、シンボルのシーケンス５０８に構文要素のシーケンス５０６を記号で表すように構成されるシンボライザ５０７、各々がシンボルの部分的なシーケンスをデータストリームの符号語に変換するように構成された複数のエントロピー符号器３１０、および複数のエントロピー符号器３１０の選択された１つにシンボルのシーケンス５０８の各シンボルを送るように構成されたセレクタ５０２を含み、セレクタ５０２は、矢印５１１で示すように、低複雑性モードおよび高効率モードの作動している１つに応じて選択を実行するように構成される。インターリーバ５１０は、エンコーダ３１０の符号語を挟むために、任意に提供されることができる。
【０２８２】
メディアデータをデータストリームに符号化するための、図１９のデコーダに適合したエンコーダは、図２１に示され、データストリーム７０１の中で低複雑性モードまたは高効率モードの作動の信号を送るように構成されたインサータ７００、整数値を有する構文要素のシーケンス７０６にメディアデータ７０５を前符号化するように構成されたコンストラクタ７０４、および整数値を有する構文要素の領域をシンボル・シーケンス・ワードの共同領域にマッピングするために、制御パラメータによって制御可能なマッピング機能を用いて整数値を有する構文要素を記号で表すように構成されるコンストラクタ７０７を含み、高効率モードが作動している場合には制御パラメータが第１の割合でデータストリームに従って変化するように、そして、データストリームまたはデータストリームに応じた変化にかわりなく制御パラメータは一定であるが、矢印７０８で示されるように、低複雑性モードが作動している場合には第１の割合より低い第２の割合で、シンボライザ７０７は象徴化を実行するように構成される。記号化の結果は、データストリーム７０１に符号化される。
【０２８３】
また、図１８の実施例が上述のコンテキスト適応二進演算符号化／復号化の実施に容易に移転可能であると述べられなければならず：セレクタ５０９およびエントロピー符号器３１０は、直接データストリーム４０１を出力するエントロピー符号器７１０に凝縮して、現在ビンのためのコンテキストをデータストリームから引き出すように選択する。これは、特にコンテキスト適応および／または確率適応について成り立つものである。低い複雑性モードの間、両方の機能／適応は、スイッチを切られるか、またはより緩和して設計されることができる。
【０２８４】
上記実施形態の上記態様の多くが、オーディオ符号化又は他のデータの符号化へ直ちに移行可能であることに留意されたい。特に、特定の種類の再現器は、重要ではない。
【０２８５】
いくつかの態様が装置のコンテキストに記載されたが、これらの態様も対応する方法の説明に適用できることは明らかであり、ブロックまたは装置は、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップのコンテキストに記載されている態様は、対応する装置の対応するブロックまたは部材または特徴の説明を表す。いくつかのまたは全ての方法ステップは、ハードウェア装置、例えばマイクロプロセッサ、プログラム可能なコンピュータまたは電子回路等によって（使用して）を実行することができる。
いくつかの実施形態では、最も重要な方法ステップの若干の１つ以上は、この種の装置によって実行されることができる。
【０２８６】
発明の符号化信号は、デジタル記憶媒体に保存されることができるか、または例えば無線伝送媒体または有線の伝送媒体、例えばインターネット等の伝送媒体上に送信されることができる。
【０２８７】
特定の実施要件に応じて、本発明の実施例は、ハードウェアにおいて、または、ソフトウェアで実施されることができる。実施はその上に格納される電子的に読み込み可能な制御信号を有するデジタル記憶媒体、例えばフレキシブルディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュメモリを使用して実行されることができ、それぞれの方法が実行されるように、それはプログラム可能なコンピュータシステムと協働する（または協働することができる）。したがって、デジタル記憶媒体は、計算機可読でもよい。
【０２８８】
本発明による若干の実施例は、電子的に読み込み可能な制御信号を有するデータキャリアを含み、本願明細書において記載されている方法のうちの１つが実行されるように、それはプログラム可能なコンピュータシステムと協働することができる。
【０２８９】
通常、本発明の実施例はプログラムコードを有するコンピュータ・プログラム製品として実施されることができ、コンピュータ・プログラム製品がコンピュータで動くときに、プログラムコードが方法のうちの１つを実行するために実施されている。プログラムコードは、機械読み取り可読キャリアに例えば格納されることができる。
【０２９０】
他の実施例は、本願明細書において記載されていて、機械読み取り可読キャリアに格納される方法のうちの１つを実行するためのコンピュータプログラムを含む。
【０２９１】
換言すれば、発明の方法の実施例は、従って、コンピュータプログラムはコンピュータで動くとき、本願明細書において記載されている方法のうちの１つを実行するためのプログラムコードを有するコンピュータプログラムである。
【０２９２】
発明の方法の更なる実施例は、従って、その上に記録されて、本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムから成っているデータキャリア（またはデジタル記憶媒体またはコンピュータ可読媒体）である。データキャリア、デジタル記憶媒体または記録されたものは、典型的に有形および／または非移行的なものである。
【０２９３】
発明の方法の更なる実施例は、従って、本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムを表しているデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、データ通信接続を経て、例えばインターネットで転送されるように構成されることができる。
【０２９４】
更なる実施例は、ここに記載されている方法の１つを実行するように構成され、または適応された処理手段、例えばコンピュータまたはプログラム可能な論理装置を含む。
【０２９５】
更なる実施例は、その上に、本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【０２９６】
本発明による更なる実施例は、受信機に本願明細書において記載されている方法のうちの１つを実行するためのコンピュータプログラムを移す、（例えば、電子的に、または、光学的に）ように構成される装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイル機器、メモリデバイス等でもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に伝送するためのファイル・サーバであってもよい。
【０２９７】
いくつかの実施形態では、プログラム可能な論理装置（例えばフィールド・プログラム可能なゲート・アレイ）は、本願明細書において記載されている方法の機能のいくらかまたは全てを実行するために用いることができる。いくつかの実施形態では、フィールド・プログラム可能なゲート・アレイは、本願明細書において記載されている方法のうちの１つを実行するために、マイクロプロセッサと協働することができる。通常、方法は、いかなるハードウェア装置によっても好ましくは実行される。
【０２９８】
上記した実施例は、本発明の原理のために、単に図示するだけである。配置の修正変更および本願明細書において記載されている詳細が他の当業者にとって明らかであるものと理解される。しだって、間近に迫った特許クレームの範囲だけによって制限され、本願明細書において実施例の説明および説明として示される具体的な詳細だけで制限されることは意図していない。
【０２９９】
このように、特に、上記説明は、データストリームに応じて低煩雑性モードまたは高効率モードをアクティブにするように構成されたモードスイッチ４００と、各々がデータストリームの符号語を、シンボルの部分的シーケンス３２１に、変換するように構成される、複数のエントロピー符号器３２２と、複数のエントロピー復号器３２２の選択された一つから、シンボルのシーケンス３２６の各シンボルを取り出すように構成されたセレクタ４０２と、構文要素のシーケンス３２７を得るために、シンボル３２６のシーケンスを非記号化するように構成されたデシンボライザ３１４と、構文要素のシーケンスに基づいて、メディアデータを再現するために構成された再現器４０４とを含み、そこにおいて、セレクタ４０２は、低煩雑性モードおよび高効率モードのうちのアクティブにされた一つに応じて、選択を実行するように構成されることを特徴とする、メディアデータが符号化されるデータストリーム４０１を復号するためのデコーダを明らかにした。セレクタ４０２は、所定のシンボルについて、高効率モードがアクティブにされている場合には、シンボルのシーケンス３２６の前に取り出されたシンボルに応じて、そして、低煩雑性モードがアクティブにされている場合には、シンボルのシーケンスの前に取り出されたシンボルから独立して、複数のエントロピー復号器３２２の中から選択を実行するように構成されうる。データストリームは、連続した部分に構築されえて、シンボルのシーケンスの各シンボルは、複数のシンボルタイプのうちのそれぞれ一つと関係しえ、そこにおいて、セレクタ４０２は、現在の部分の中の所定のシンボルタイプのシンボルについて、高効率モードがアクティブにされている場合には、現在の部分の中の所定のシンボルタイプのシンボルのシーケンスの先に取り出されたシンボルに応じて、その選択を変化させ、そして、低煩雑性モードがアクティブにされている場合には、その選択を現在の部分の中で一定にしたままにするように、構成されうる。シンボルのシーケンス３２６の各シンボルが、複数のシンボルタイプのうちのそれぞれと関連していることも可能である。そこにおいて、セレクタ４０２は、所定のシンボルタイプの所定のシンボルについて、シンボルのシーケンスの先に取り出されたシンボルに応じて、複数のコンテキストのうちの１つを選択し、そして、高効率モードがアクティブにされている場合には、所定のシンボルに応じて選択されたコンテキストと関連した確率モデルをアップデートするとともに、選択されたコンテキストと関連した確率モデルに応じて、エントロピー符号器３２２の中でその選択を実行し、そして、低煩雑性モードがアクティブにされている場合には、選択されたコンテキストと関連した確率モデルを一定にしたままにするとともに、選択されたコンテキストと関連した確率モデルに応じて、エントロピー復号器３２２の中で、その選択を実行するように構成される。代わりに、または、加えて、シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのうちのそれぞれと関連付けられうる。そこにおいて、セレクタ４０２は、高効率モードがアクティブにされている場合には、所定のシンボルタイプのシンボルごとに、第１のアップデートレートで所定のシンボルタイプのシンボルに応じて、確率モデルをアップデートするとともに、所定のシンボルタイプと関連した確率モデルに応じて、エントロピー復号器３２２の中の選択を実行し、そして、低煩雑性モードがアクティブにされている場合には、所定のシンボルタイプのシンボルごとに、第１のアップデートレートより低い第２のアップデートレートで所定のシンボルタイプのシンボルに応じて、確率モデルを間欠的にアップデートするとともに、確率モデルに応じてエントロピー復号器３２２の中の選択を実行するように構成されうる。セレクタ４０２が、所定のシンボルタイプのシンボルについて、第１の確率状態精度で定められた確率状態インデックスを用いて、複数のモード適応を実行し、高効率モードがアクティブにされている場合には、第１の確率状態精度で定められた確率状態インデックスに応じて、エントロピー復号器３２２の中の選択を実行し、そして、低煩雑性モードがアクティブにされている場合には、確率モード適応を実行しないか、または、第１の確率状態精度より低い第２の確率状態精度で定められた確率状態インデックスを用いて確率モード適応を実行し、第２の確率状態精度で定められた確率状態インデックスに応じてエントロピー復号器の中の選択を実行するように構成されることも可能である。再現器４０４が、高効率モードがアクティブにされているか低煩雑性モードがアクティブにされているかから独立して、作動するように構成されることも可能である。再現器４０４は、高効率モードがアクティブにされているか低煩雑性モードがアクティブにされているかから独立して、構文要素の一部のシーケンスに基づいて、変換係数レベル２０２の変換ブロック２００を再現するように構成されることができ、構文要素のシーケンスのその部分が、インターリーブされない方法で、変換ブロック２００の中でゼロでない変換係数レベルの位置を示している有意性マップを定めている有意性マップ構文要素と、ゼロでない変換係数レベルを定めているレベル構文要素を含む。再現器４０４は、高効率モードがアクティブにされているか低煩雑性モードがアクティブにされているかから独立して、構文要素のシーケンスの一部に基いて、変換係数レベル２０２の変換ブロック２００を再現するように構成されえて、構文要素のシーケンスのその部分は、インターリーブされない方法で、変換ブロックの中で最後のゼロ以外の変換係数レベルの位置を示しているエンド位置構文要素（ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｘ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｐｏｓ＿ｙ）と、有意性マップを定めるとともに、各位置の変換係数レベルがゼロ以外かどうかに関して、位置ごとに、ＤＣ位置から変換ブロック２００の中の最後のゼロでない変換係数レベルの位置まで通じている一次元のパス２７４に沿って示している第１の構文要素（ｃｏｅｆｆ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）と、第１のバイナリの構文要素に従って、ゼロ以外の変換係数レベルが位置決めされる一次元のパス（２７４）の位置ごとに、各位置の変換係数レベルが１より大きいかどうかに関して、示している第２の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１）と、第１のバイナリの構文要素に従って、１より大きい変換係数レベルが位置決めされる一次元のパスの位置ごとに、各位置の各変換係数レベルが１を超える量を表している第３の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ２、ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）とを含み、そこにおいて、エンド位置構文要素、第１、第２、第３の構文要素の中の順序、が、高効率モードおよび低煩雑性モードについて同じであり、セレクタ４０２は、デシンボライザが、高効率モードがアクティブにされているか低煩雑性モードがアクティブにされているかに応じて異なって、エンド位置構文要素、第１、第２、第３の構文要素を得るシンボルのためのエントロピー復号器３２２の中の選択を実行するように構成される。この点に関して、セレクタ４０２は、デシンボライザがエンド位置構文要素、第１、第２、第３の構文要素を得るシンボルのシーケンスの中の所定のシンボルタイプのシンボルについて、所定のシンボルタイプのシンボルごとに、シンボルのシーケンスの中の所定のシンボルタイプの先に取り出されたシンボルに応じて、複数のコンテキストのうちの１つを選択し、高効率モードがアクティブにされている場合には、選択されたコンテキストと関連した確率モデルに応じた選択を実行し、そして、低煩雑性モードがアクティブにされている場合には、その選択が、サブシーケンスの連続したサブ部分にわたって一定であるように区分的に一定の方法で選択を実行するように構成されうる。セレクタ４０２は、デシンボライザが第１の構文要素および第２の構文要素を得るシンボルのシーケンスの中の所定のシンボルタイプのシンボルについて、所定のシンボルタイプのシンボルごとに、所定のシンボル値を有し、同じサブパートに属するシンボルのシーケンスの中の所定のシンボルタイプの先に取り出されたシンボルの数、または、同じサブパートに属するシンボルのシーケンスの中の所定のシンボルタイプの先に取り出されたシンボルの数に応じて、複数のコンテキストのうちの１つを選択するように構成されうる。第１のバイナリ構文要素により、１より大きい変換係数レベルが位置決めされる一次元パスの位置ごとに、各位置の各変換係数レベルが１を超える量を表している第３の構文要素は、整数値の構文要素（ｃｏｅｆｆ＿ａｂｓ＿ｍｉｎｕｓ３）を含むことができ、デシンボライザ３１４は、シンボル・シーケンス・ワードのドメインを整数値の構文要素のコドメインにマッピングするために制御パラメータによって制御可能なマッピング関数を使用し、高効率モードがアクティブにされている場合には、先の第３の構文要素の整数値の構文要素に応じて、整数値の構文要素ごとに、制御パラメータを設定し、そして、低煩雑性モードがアクティブにされている場合には、その設定がシーケンスの連続したサブパートにわたって一定であるように区分的に一定の方法で設定を実行するように構成されることができ、そこにおいて、セレクタ４０２は、高効率モードおよび低煩雑性モードの両方において、等しい確率分布に関連した整数値の構文要素にマップされたシンボル・シーケンス・ワードのシンボルについて、エントロピー復号器３２２のうちの所定の１つを選択する。シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのそれぞれと関連しうる。そこにおいて、セレクタ４０２は、いくつかの所定のシンボルタイプの各々のシンボルについて、所定のシンボルタイプの数が、高効率モードに比べて低煩雑性モードにおいて小さいように、各所定のシンボルと関連した各確率モデルに応じて、エントロピー復号器３２２の中の選択を実行するように構成されうる。シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのそれぞれと関連しうる。そこにおいて、セレクタ４０２は、所定のシンボルタイプのシンボルについて、所定のシンボルタイプのシンボルについての選択が、アップデートとともに実行されるシンボルのシーケンスの学習フェーズの長さが、高効率モードに比べて低煩雑性モードにおいて短いように、関連した確率モデルをアップデートするとともに又はアップデートせずに、所定のシンボルタイプと関連した確率モデルに応じて、エントロピー復号器３２２の中の選択を実行するように構成されうる。シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのそれぞれと関連しうる。そこにおいて、セレクタ４０２は、所定のシンボルタイプのシンボルについて、所定のシンボルタイプのシンボルについての選択が、アップデートとともに実行される周波数が、高効率モードに比べて低煩雑性モードにおいて低いように、関連した確率モデルをアップデートするとともに又はアップデートせずに、所定のシンボルタイプと関連した確率モデルに応じて、エントロピー復号器３２２の中の選択を実行するように構成されうる。シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのそれぞれと関連しうる。そこにおいて、セレクタ４０２は、所定のシンボルタイプのシンボルについて、シンボルのシーケンスの先に取り出されたシンボルの数に応じて、いくつかのコンテキストのうちの１つを選択し、コンテキストの数および／または先に取り出されたシンボルの数が、高効率モードに比べて低煩雑性モードにおいて低いように、選択されたコンテキストと関連した確率モデルに応じて、エントロピー復号器３２２の中の選択を実行するように構成されうる。シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのそれぞれと関連しうる。そこにおいて、セレクタ４０２は、所定のシンボルタイプのシンボルについて、比率ｘ／ｙが、高効率モードに比べて低煩雑性モードに
おいて低いように、所定のシンボルタイプのｙ個の最新のシンボルに基いて所定のタイプのｘ番目のシンボルごとに、関連した確率モデルをアップデートするとともに、所定のシンボルタイプと関連した確率モデルに応じて、エントロピー復号器３２２の中の選択を実行するように構成されうる。シンボルのシーケンス３２６の各シンボルは、複数のシンボルタイプのそれぞれと関連しうる。そこにおいて、セレクタ４０２は、計算と構文要素は、高効率モードと低煩雑性モードとで同じであるが、計算結果の解像度は高効率モードに比べて低煩雑性モードにおいて低いデータストリームの構文要素を用いた計算に基いて、シンボルタイプと関連した確率モデルを初期化するように構成されうる。
【図１】
0005952900.tif 000032
【図２】
0005952900.tif 000033
【図３】
0005952900.tif 000034
【図４】
0005952900.tif 000035
【図５】
0005952900.tif 000036
【図６】
0005952900.tif 000037
【図７】
0005952900.tif 000038
【図８】
0005952900.tif 000039
【図９】
0005952900.tif 000040
【図１０】
0005952900.tif 000041
【図１１】
0005952900.tif 000042
【図１２】
0005952900.tif 000043
【図１３】
0005952900.tif 000044
【図１４】
0005952900.tif 000045
【図１５】
0005952900.tif 000046
【図１６】
0005952900.tif 000047
【図１７】
0005952900.tif 000048
【図１８】
0005952900.tif 000049
【図１９】
0005952900.tif 000050
【図２０】
0005952900.tif 000051
【図２１】
0005952900.tif 000052
【図２２】
0005952900.tif 000053