[0001]本願は下記の利益を主張する。2012年1月22日に出願された米国仮特許出願番号61/589,384;
2012年1月30日に出願された米国仮特許出願番号61/592,300;
2012年3月2日に出願された米国仮特許出願番号61/606,300;
2012年3月2日に出願された米国仮特許出願番号61,606,304;
2012年3月2日に出願された米国仮特許出願番号61/606,338;
2012年4月16日に出願された米国仮特許出願番号61/625,062;および
2012年4月16日に出願された米国仮特許出願番号61/625,072。
各米国仮特許出願の各々の内容全体は、参照により本願に組み込まれる。
[0002]本開示は、映像コード化および圧縮に関し、特に映像コード化における係数のコード化に関する。
[0003]デジタル映像機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線ブロードキャストシステム、個人用デジタル補助ユニット(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、e−ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤー、映像ゲームデバイス、映像ゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、映像電話会議用デバイス、映像ストリーミングデバイス、等を含む広範囲のデバイスに組み込まれることができる。デジタル映像デバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、先進的な映像コード化(AVC)、現在開発中の高効率映像コード化(HEVC)規格、およびこういった規格の拡張によって定義される規格に記載されたもののような映像圧縮技術を実行する。映像デバイスは、こういった映像圧縮技術等を実行することにより、より効果的にデジタル映像情報を送信、受信、符号化、復号、および/または格納し得る。
[0004]映像圧縮技術は、映像シーケンスに内在する冗長度を低減するまたは除去するために、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を行う。ブロックベースの映像のコード化に関して、映像スライス(すなわち、映像フレームまたは映像フレームの一部分)は、映像ブロックに分割され、これらはまた、ツリーブロック、コード化ユニット(CU)および/またはコード化ノードと称され得る。画像のイントラコード化された(I)スライス内の映像ブロックは、同じ画像内の近辺のブロック内の参考用のサンプルに関する空間予測を用いて符号化される。画像のインターコード化された(PまたはB)スライス内の映像ブロックは、同じ画像内の近辺のブロック内の参考用サンプルに関する空間予測またはその他の参考用画像内の参考用サンプルに関する時間予測を用い得る。画像はフレームと呼ばれてもよく、および参考用画像は参考用フレームと呼ばれても良い。
[0005]空間または時間予測は、コード化されるべきブロックに関する予測ブロックをもたらす。残差(residual)データは、コード化されるべきオリジナルのブロックと予測ブロックの間のピクセル差異を表す。インターコード化されたブロックは、予測ブロックを形成する参考用サンプルのブロックを示す動きベクトルにしたがって符号化され、および残差データは、コード化されたブロックと予測ブロックの間の差異を示す。イントラコード化されたブロックは、イントラコード化モードと残差データにしたがって符号化される。さらなる圧縮に関して、残差データは、ピクセルドメインから変換ドメインへ変換され、結果として残差係数をもたらし、それらは次に量子化され得る。量子化された係数は、初めに2次元配列に配列され、係数の一次元ベクトルを作るためにスキャンされ、およびエントロピーコード化はより多くの圧縮を実現するために適用され得る。
[0006]一般に、本開示は、映像のコード化における係数ブロックの係数をコード化するための技術を記載する。係数は、予測的にコード化されおよび周波数ドメインに変換される映像ブロックと関連する残差ピクセル値のセットに対応する変換された係数を備えても良い。代替として、変換が残差サンプルブロックに適用されない場合、係数はサンプルドメインにおいて残差サンプルであり得る。特に、映像符号化器は、係数ブロックを生成しおよび係数ブロック内の係数に対して複数のコード化パスを実行する。各コード化パスの間、映像符号化器は、係数ブロック内の係数に関する異なるシンタックスエレメントの異なるセットを符号化する。映像復号器は、係数の値を決定するために係数に関するシンタックスエレメントを用いても良い。映像符号化器が初期のコード化パス以外のコード化パスを実行する場合、映像符号化器は、少なくとも部分的に非因果係数(non-causal coefficient)に関する以前のコード化パスにおいて生成されたシンタックスエレメントの値に基づいて、および少なくとも部分的に因果係数(causal coefficient)に関する現在のコード化パスの間に生成されたシンタックスエレメントの値に基づいて、シンタックスエレメントに関するコード化コンテキストを選択し得る。非因果係数は係数の後に生じ、および因果係数は、現在のコード化パスのコード化順序にしたがって係数の前に生じる。映像符号化器は、選択されたコード化コンテキストに基づいて、シンタックスエレメントをエントロピー符号化し得る。映像復号器は、映像復号器がコード化コンテキストを選択しおよび係数のシンタックスエレメントをエントロピー復号する類似した一連のコード化パスを実行し得る。
[0007]1つの側面において、本開示は映像データを符号化するための方法を記載する。
方法は、残差サンプルブロックに基づいて、係数ブロックを生成することを備える。さらに、方法は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化することを備える。さらに、方法は、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化することを備える。シンタックスエレメントの第2のセットを符号化することは、第1のシンタックスエレメントを生成することを備え、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。シンタックスエレメントの第2のセットを符号化することはまた、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択することを備える。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は、第2のコード化パスのコード化順序において、現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において、現在の係数の前に生じる。さらに、シンタックスエレメントの第2のセットを符号化することは、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー符号化することを備える。
[0008]別の側面において、本開示は、残差サンプルブロックに基づいて、係数ブロックを生成するように構成された1つまたは複数のプロセッサを備える映像符号化デバイスを記載する。1つまたは複数のプロセッサはまた、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化するように構成される。さらに、1つまたは複数のプロセッサは、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化するように構成される。1つまたは複数のプロセッサは、第2のコード化パスの間に1つまたは複数のプロセッサが第1のシンタックスエレメントを生成するように構成され、第1のシンタックスエレメントはシンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。第2のコード化パスの間に、1つまたは複数のプロセッサはまた、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択する。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は、第2のコード化パスのコード化順序において、現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において、現在の係数の前に生じる。さらに、第2のコード化パスの間に、1つまたは複数のプロセッサは、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー符号化する。
[0009]別の側面において、本開示は、残差サンプルブロックに基づいて、係数ブロックを生成するための手段を備える映像符号化デバイスを記載する。映像符号化デバイスはまた、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化するための手段を備える。さらに、映像符号化デバイスは、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化するための手段を備える。シンタックスエレメントの第2のセットを符号化するための手段は、第1のシンタックスエレメントを生成するための手段を備え、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。シンタックスエレメントの第2のセットを符号化するための手段はまた、少なくとも部分的に、第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択するための手段を備える。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は第2のコード化パスのコード化順序において、現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において現在の係数の前に生じる。シンタックスエレメントの第2のセットを符号化するための手段はまた、少なくとも部分的に、第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー符号化するための手段を備える。
[0010]別の側面において、本開示は、映像符号化デバイスの1つまたは複数のプロセッサによって実行される場合、残差サンプルブロックに基づいて、係数ブロックを生成するように映像符号化デバイスを構成する命令を記憶するコンピュータ可読記憶媒体を記載する。命令はまた、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化するように映像符号化デバイスを構成する。命令はまた、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化するように映像符号化デバイスを構成する。命令は、第2のコード化パスの間に、映像符号化デバイスが第1のシンタックスエレメントを生成するように映像符号化デバイスを構成し、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。命令はまた、第2のコード化パスの間に、映像符号化デバイスが、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択するように映像符号化デバイスを構成する。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は第2のコード化パスのコード化順序において、現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において現在の係数の前に生じる。さらに、命令は、第2のコード化パスの間に、映像符号化デバイスが、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー符号化するように、映像符号化デバイスを構成する。
[0011]別の側面において、本開示は、映像データを復号するための方法を記載する。方法は、係数ブロックの係数の第1のコード化パスの間に係数ブロックの係数に対応するシンタックスエレメントの第1のセットを復号することを備える。方法はまた、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを復号することを備える。第2のコード化パスを実行することは、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択することを備え、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、係数ブロックの現在の係数に対応する。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は、第2のコード化パスのコード化順序において、現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において、現在の係数の前に生じる。第2のコード化パスを実行することはまた、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて第1のシンタックスエレメントをエントロピー復号することを備える。さらに、第2のコード化パスを実行することは、係数ブロックの係数に基づいて、残差サンプルブロックを生成することを備える。
[0012]別の側面において、本開示は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを復号するように構成された1つまたは複数のプロセッサを備える映像復号デバイスを記載する。1つまたは複数のプロセッサはまた、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを復号するように構成される。1つまたは複数のプロセッサは、第2のコード化パスの間に、1つまたは複数のプロセッサが、少なくとも部分的に2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択するように構成され、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は、第2のコード化パスのコード化順序において現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において現在の係数の前に生じる。1つまたは複数のプロセッサはまた、第2のコード化パスの間に、1つまたは複数のプロセッサが、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー復号するように構成される。さらに、1つまたは複数のプロセッサは、係数ブロックの係数に基づいて、残差サンプルブロックを生成するように構成される。
[0013]別の側面において、本開示は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを復号するための手段を備える映像復号デバイスを記載する。映像復号デバイスはまた、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを復号するための手段を備える。第2のコード化パスを実行するための手段は、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択するための手段を備え、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は、第2のコード化パスのコード化順序において、現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において、現在の係数の前に生じる。第2のコード化パスを実行するための手段はまた、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー復号するための手段を備える。さらに、映像復号デバイスは、係数ブロックの係数に基づいて、残差サンプルブロックを生成するための手段を備える。
[0014]別の側面において、本開示は、映像復号デバイスの1つまたは複数のプロセッサによって実行される場合、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを復号するように映像復号デバイスを構成する命令を記憶するコンピュータ可読記憶媒体を記載する。命令はまた、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを復号するように映像復号デバイスを構成する。命令は、第2のコード化パスの間に、映像復号デバイスが少なくとも部分的に、第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択するように映像符号化デバイスを構成し、第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応し、非因果係数は、第2のコード化パスのコード化順序において現在の係数の後に生じ、因果係数は、第2のコード化パスのコード化順序において現在の係数の前に生じる。命令はまた、第2のコード化パスの間に、映像復号デバイスが、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー復号するように映像復号デバイスを構成する。さらに、命令は、係数ブロックの係数に基づいて、残差サンプルブロックを生成するように映像復号デバイスを構成する。
[0015]本開示の1つまたは複数の具体例の詳細は、添付の図面と下記の記載において説明される。その他の特徴、目的、利点は、説明、図面、および請求項から明らかであろう。
[0016]図1は、本開示に記載された技術を利用し得る映像コード化システムの例を示すブロック図である
[0017]図2は、サブブロックに区分された係数ブロックの例を示す概念図である。
[0018]図3は、サブブロックに区分されない係数ブロックの例を示す概念図である。
[0019]図4は、サブブロックに区分された係数ブロックの例を示す概念図であり、非因果係数を含むコンテキスト近傍(context neighborhood)を示す。
[0020]図5は、本開示に記載された技術を実施し得る映像符号化器の例を示すブロック図である。
[0021]図6は、本開示に記載された技術を実施し得る映像復号器の例を示すブロック図である。
[0022]図7は、本開示の1つまたは複数の技術にしたがって、映像データを符号化するための映像符号化器の動作の例を示すフローチャートである。
[0023]図8は、本開示の1つまたは複数の技術にしたがって、映像データを復号するための映像復号器の動作の例を示すフローチャートである。
[0024]図9Aは、4×4のサブブロックの例を示す概念図である。
[0025]図9Bは、図9Aのサブブロックにおける係数のコンテキスト近傍内のホールの例を示す概念図である。
[0025]図9Cは、図9Aのサブブロックにおける係数のコンテキスト近傍内のホールの例を示す概念図である。
[0025]図9Dは、図9Aのサブブロックにおける係数のコンテキスト近傍内のホール(hole)の例を示す概念図である。
[0025]図9Eは、図9Aのサブブロックにおける係数のコンテキスト近傍内のホールの例を示す概念図である。
[0025]図9Fは、図9Aのサブブロックにおける係数のコンテキスト近傍内のホールの例を示す概念図である。
[0025]図9Gは、図9Aのサブブロックにおける係数のコンテキスト近傍内のホールの例を示す概念図である。
[0026]図10Aは、係数ブロックの4×4のサブブロック内の係数のグループの例を示す概念図である。
[0026]図10Bは、係数ブロックの4×4のサブブロック内の係数のグループの例を示す概念図である。
[0026]図10Cは、係数ブロックの4×4のサブブロック内の係数のグループの例を示す概念図である。
[0026]図10Dは、係数ブロックの4×4のサブブロック内の係数のグループの例を示す概念図である。
[0026]図10Eは、係数ブロックの4×4のサブブロック内の係数のグループの例を示す概念図である。
[0026]図10Fは、係数ブロックの4×4のサブブロック内の係数のグループの例を示す概念図である。
[0027]図11は、係数ブロックの4×4のサブブロック内の係数のグループ分けの別の例を示す概念図である。
[0028]図12は、映像コーダーが、本開示の1つまたは複数の技術にしたがって、3つのコード化パスでサブブロックの係数シンタックスエレメントをコード化する動作の例示すフローチャートである。
[0029]図13Aは、斜めのコード化順序にしたがってコード化パスが実行される場合に、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。
[0029]図13Bは、斜めのコード化順序にしたがってコード化パスが実行される場合に、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。
[0030]図14Aは、水平のコード化順序にしたがってコード化パスが実行される場合に、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。
[0030]図14Bは、水平のコード化順序にしたがってコード化パスが実行される場合に、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。
[0031]図15Aは、垂直のコード化順序にしたがってコード化パスが実行される場合に、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。
[0031]図15Bは、垂直のコード化順序にしたがってコード化パスが実行される場合に、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。
詳細な説明
[0032]映像の符号化の間に、映像符号化器は、オリジナルのサンプルブロックのサンプルから予測サンプルブロックの対応するサンプルを減じることによって、残差サンプルブロックを生成し得る。いくつかの場合において、映像符号化器は次に、係数ブロックを生成するために、1つまたは複数の変換を残差サンプルブロックに適用し得る。その他の場合において、映像符号化器は、残差サンプルブロックに変換を適用しない。映像符号化器が残差サンプルブロックに変換を適用しない場合、映像コーダーは、係数ブロックと同じまたは類似の方法で残差サンプルブロックを処理し得る。したがって、説明を容易にするために、本開示は、残差サンプルブロックを係数ブロックと呼び、残差サンプルブロック内のサンプルを係数と呼び得る。しかし、映像符号化器が変換を残差サンプルブロックへ適用しない場合、係数と係数ブロックの議論は、残差サンプルブロックと残差サンプルに適用し得ることが理解されるべきである。
[0033]映像符号化器は、特定のコード化順序にしたがって、係数ブロック内の各係数を処理し得る。映像符号化器が係数ブロック内の係数を処理する場合、映像符号化器は、係数に関するシンタックスエレメントのセットを生成およびエントロピー符号化し得る。映像復号器は、係数に関するシンタックスエレメントのセットに基づいて係数の値を決定することができ得る。係数に関するシンタックスエレメントをエントロピー符号化するために、映像符号化器は、シンタックスエレメントに関するコード化コンテキストを選択し、次にシンタックスエレメントをエントロピー符号化するために、シンタックスエレメントに関する選択されたコード化コンテキストを用い得る。映像符号化器は、係数のコンテキスト近傍内にある予め処理された係数のシンタックスエレメントの値に基づいて、シンタックスエレメントに関するコード化コンテキストを選択し得る。
[0034]係数を処理するために上述されたアプローチは、種々の不都合な点を有する。例えば、上述されたアプローチは、係数ブロックの複数の係数の処理を並列化することを難しくする。別の例において、上述されたアプローチは、映像符号化器(および映像復号器)がコード化コンテキストを選択する際に用いるための係数の絶対値を記憶することを必要とし得る。こういった絶対値を記憶することによって、映像コード化デバイスにおいて必要とされる記憶の容量が増加し得る。
[0035]本開示の技術は、これらの問題等に対処し得る。本開示の技術にしたがって、映像符号化器は、係数ブロックの係数のシンタックスエレメントを生成および符号化するために、複数のコード化パスを実行し得る。映像符号化器は、同じコード化順序にしたがってまたは2つ以上の異なるコード化順序にしたがって、コード化パスの各々を実行し得る。映像符号化器が最初のコード化パス以外のコード化パスを実行する場合、映像符号化器は、少なくとも部分的に、非因果係数に関する前のコード化パスにおいて生成されたシンタックスエレメントの値に基づいて、および少なくとも部分的に、因果係数に関する現在のコード化パスの間に生成されたシンタックスエレメントの値に基づいて、現在のシンタックスエレメントに関するコード化コンテキストを選択し得る。非因果係数は、現在の係数(すなわち、コード化されている係数)の後に生じ、因果係数は、現在のコード化パスのコード化順序にしたがって、現在の係数の前に生じる。映像符号化器は、選択されたコード化コンテキストに基づいて、現在のシンタックスエレメントをエントロピー符号化し得る。少なくとも部分的に1つまたは複数の非因果係数のシンタックスエレメントに基づいて現在の係数の現在のシンタックスエレメントをコード化するためのコード化コンテキストを選択することによって、映像符号化器は、映像符号化器がコード化コンテキストを選択する精度を向上させ得る。同時に、少なくとも部分的に1つまたは複数の非因果係数のシンタックスエレメントに基づいてコード化コンテキストを選択することによって、映像符号化器は、因果シンタックスエレメントに非常に大きく依存することなくコード化コンテキストを選択することができ得、これは、映像符号化器が、現在の係数と並列に処理し得る。
[0036]例えば、映像符号化器は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化し得る。さらに、映像符号化器は、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化し得る。映像符号化器が第2のコード化パスを実行する場合、映像コーダーは、第1のシンタックスエレメントを生成し得る。第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および係数ブロックの現在の係数に対応する。映像符号化器は、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択し得る。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントはシンタックスエレメントの第2のセット内にあり、および因果係数に対応する。非因果係数は、第2のコード化パスのコード化順序において、現在の係数の後に生じる。因果係数は、コード化順序において、現在の係数の前に生じる。映像符号化器は、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー符号化し得る。
[0037]添付の図面は具体例を示す。参照番号によって示されたエレメントは、下記の説明における添付の図面において同じ参照番号によって示されたエレメントに対応する。本開示において、順序を表す用語(例えば、「第1」、「第2」、「第3」、等)で始まる名前を持つエレメントは、エレメントが特定の順序を持っていることを必ずしも暗示しているわけではない。むしろ、このように順序を表す用語は、単に同じまたは類似のタイプの異なるエレメントを指すために用いられ得る。
[0038]図1は、本開示の技術を利用し得る映像コード化システム10の例を示すブロック図である。ここに記載されたように、用語「映像コーダー」は、総称して映像符号化器と映像復号器の両方を指す。本開示において、用語「映像のコード化」または「コード化」は、総称して映像の符号化または映像の復号を指し得る。
[0039]図1に示されるように、映像コード化システム10は、ソースデバイス12とデスティネーションデバイス14を含む。ソースデバイス12は符号化された映像データを生成する。したがって、ソースデバイス12は、映像符号化デバイスまたは映像符号化装置と呼ばれ得る。デスティネーションデバイス14は、ソースデバイス12によって生成された符号化された映像データを復号し得る。したがって、デスティネーションデバイス14は、映像復号デバイスまたは映像の復号装置と呼ばれ得る。ソースデバイス12とデスティネーションデバイス14は、映像コード化デバイスまたは映像コード化装置の例であり得る。ソースデバイス12とデスティネーションデバイス14は、デスクトップコンピュータ、モバイル計算デバイス、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン等の電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤー、映像ゲームコンソール、車内用コンピュータ、等を含む広範囲のデバイスを備えても良い。
[0040]デスティネーションデバイス14は、チャネル16を介してソースデバイス12から符号化された映像データを受信し得る。チャネル16は、ソースデバイス12からデスティネーションデバイス14へ符号化された映像データを移動可能な1つまたは複数の媒体および/またはデバイスを備えても良い。一例において、チャネル16は、ソースデバイス12が、符号化された映像データを直接デスティネーションデバイス14にリアルタイムに送信することを可能にする1つまたは複数の通信媒体を備えても良い。この例において、ソースデバイス12は、無線通信プロトコルのような通信規格にしたがって、符号化された映像データを変調し得、およびデスティネーションデバイス14に変調された映像データを送信し得る。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理的な伝送回線のような無線および/または有線の通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはグローバルネットワーク(例えば、インターネット)のようなパケットベースのネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ソースデバイス12からデスティネーションデバイス14への通信を容易にするルータ、スイッチ、基地局、またはその他の機器を含み得る。
[0041]別の例において、チャネル16は、ソースデバイス12によって生成された符号化された映像データを記憶する記憶媒体を含んでも良い。この例において、デスティネーションデバイス14は、ディスク(disk)アクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、ブルーレイディスク(disc)、DVD、CD−ROM、フラッシュメモリ、または符号化された映像データを記憶するためのその他の適切なデジタル記憶媒体のようなローカルにアクセスされる様々なデータ記憶媒体を含み得る。
[0042]さらなる例において、チャネル16は、ソースデバイス12によって生成された符号化された映像データを記憶するファイルサーバまたは別の中間記憶デバイスを含んでも良い。この例において、デスティネーションデバイス14は、ストリーミングまたはダウンロードを介して、ファイルサーバまたはその他の中間記憶デバイスに記憶された符号化された映像データにアクセスし得る。ファイルサーバは、符号化された映像データを記憶し、および符号化された映像データをデスティネーションデバイス14に送信可能なサーバのタイプであり得る。ファイルサーバの例は、(例えば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続記憶(NAS)デバイス、およびローカルディスク(disk)ドライブを含む。
[0043]デスティネーションデバイス14は、インターネット接続のような標準のデータ接続を通して符号化された映像データにアクセスし得る。データ接続のタイプの例は、無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、等)、またはファイルサーバに記憶された符号化された映像データにアクセスするのに適切な両方の組み合わせを含む。ファイルサーバからの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0044]本開示の技術は、無線アプリケーションまたは環境に限定されない。この技術は、例えばインターネットを介した無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ストリーミング映像送信、データ記憶媒体に記憶するための映像データの符号化、データ記憶媒体に記憶された映像データの復号、またはその他のアプリケーションのような様々なマルチメディアアプリケーションをサポートしている映像のコード化に適用され得る。いくつかの例において、映像コード化システム10は、映像ストリーミング、映像再生、映像放送、および/または映像電話通信のようなアプリケーションをサポートするために、一方向または二方向の映像送信をサポートするように構成され得る。
[0045]図1の例において、ソースデバイス12は、映像ソース18、映像符号化器20、および出力インターフェース22を含む。いくつかの例において、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。映像ソース18は、例えば、ビデオカメラ等の映像取得デバイス、予め取得された映像データを含む映像アーカイブ、映像コンテンツプロバイダから映像データを受信する映像フィードインターフェースおよび/または映像データを生成するためのコンピュータグラフィックスシステム、または映像データのこういったソースの組合せを含み得る。
[0046]映像符号化器20は、映像ソース18からの映像データを符号化し得る。いくつかの例において、ソースデバイス12は、出力インターフェース22を介して符号化された映像データをデスティネーションデバイス14に直接送信する。符号化された映像データはまた、復号および/または再生のためにデスティネーションデバイス14による後のアクセスのためにファイルサーバまたは記憶媒体に記憶され得る。
[0047]図1の例において、デスティネーションデバイス14は、入力インターフェース28、映像復号器30、およびディスプレイデバイス32を含む。いくつかの例において、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化された映像データを受信し得る。ディスプレイデバイス32は、デスティネーションデバイス14と一体化されるかまたはデスティネーションデバイス14の外部にあり得る。一般に、ディスプレイデバイス32は、復号された映像データを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような様々なディスプレイデバイスを備えても良い。
[0048]映像符号化器20と映像復号器30は、現在開発中の高効率映像コード化(HEVC)規格のような映像圧縮規格にしたがって動作し得、およびHEVCテストモデル(HM)に適合し得る。「HEVC Working Draft5」または「WD5」と呼ばれる次に出るHEVC規格のドラフトは、2011年11月にスイスのジュネーブでの第7回会議のITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11の映像コード化についての共同チームの「WD5: Working Draft 5 of High Efficiency Video Coding,」のBross他による文書JCTVC−G1103に記載されており、これは、2012年11月26日時点で、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G1103-v12.zipからダウンロード可能であり、その内容全体は参照により本願によって組み込まれる。「HEVC Working Draft 9」と称される次に出るHEVC規格の別のドラフトは、2012年10月に中国の上海での第11回会議のITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11の映像コード化についての共同チーム(JCT−VC)のBross他による「High Efficiency Video Coding (HEVC) text specification draft 9,」に記載されており、2012年11月26日時点でhttp://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zipからダウンロード可能であり、その内容全体が参照により本願に組み込まれる。
[0049]代替として、映像符号化器20と映像復号器30は、そのスケーラブル映像コード化(SVC)およびマルチビュー映像コード化(MVC)の拡張を含む、ITU−T H.261、ISO/IEC MPEG−1 Visual、 ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 VisualおよびITU−T H.264(ISO/IEC
MPEG−4 AVCとしても知られる)を含む、その他の独占所有権のある規格または産業規格にしたがって動作し得る。しかし、本開示の技術は、いずれかの特定のコード化規格または技術に限定されない。
[0050]さらに、図1は単なる例であり、および本開示の技術は、符号化デバイスと復号デバイスの間の任意のデータ通信を必ずしも含まない映像のコード化の設定(例えば、映像の符号化または映像の復号)に適用し得る。その他の例において、データはローカルメモリから検索され、ネットワーク等を介してストリーミングされる。符号化デバイスは、データを符号化してメモリに記憶し得、および/または復号デバイスは、データを検索し、メモリから復号し得る。多くの例において、符号化および復号は相互に通信しないデバイスによって実行されるが、単純に、データをメモリに符号化および/またはデータをメモリから検索および復号する。
[0051]映像符号化器20および映像復号器30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲイト・アレイ(FPGA)、個別論理、ハードウェア、またはいずれそれらの組み合わせのような様々な適切な回路のうちのいずれかとして実行され得る。技術が部分的にソフトウェアにおいて実行される場合、デバイスは、適切な非一時的コンピュータ可読記憶媒体内のソフトウェアに関する命令を記憶し、および本開示の技術を実行するために1つまたは複数のプロセッサを用いるハードウェアにおいて命令を実行し得る。上記のうちのいずれかは(ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアの組合せ等を含む)は、1つまたは複数のプロセッサであると考えられ得る。映像符号化器20および映像復号器30の各々は1つまたは複数の符号化器または復号器に含まれても良く、映像符号化器20および映像復号器30のいずれかは、各デバイス内において結合された符号化器/復号器(CODEC)の一部として統合され得る。
[0052]本開示は一般に、映像復号器30のような別のデバイスに特定の情報を「シグナリング」する映像符号化器20を指しても良い。用語「シグナリング」は一般に、符号化された映像データを表すシンタックスエレメントおよび/またはその他のデータの通信を指しても良い。こういった通信は、リアルタイムにまたはほぼリアルタイムに生じ得る。代替として、こういった通信は、符号化の時間に符号化されたビットストリームにおいてコンピュータ可読記憶媒体にシンタックスエレメントを記憶するときに生じるような、ある時間の期間にわたって生じ、これは次に、この媒体に記憶された後の任意の時間に復号デバイスによって検索され得る。
[0053]簡潔に上述されたように、映像符号化器20は映像データを符号化する。映像データは1つまたは複数の画像を備えても良い。画像の各々は、静止画像であっても良い。映像符号化器20は、映像データのコード化された表現を形成する一連のビットを含むビットストリームを生成し得る。映像データのコード化された表現は、コード化された画像コード関連データを含み得る。コード化された画像は画像のコード化された表現である。関連データは、シーケンスパラメータセット(SPS)、画像パラメータセット(PPS)、およびその他のシンタックス構造を含み得る。SPSは、画像のゼロ個以上の連続に適用可能なパラメータを含み得る。PPSは、ゼロ個以上の画像に適用可能なパラメータを含み得る。シンタックス構造は、特定の順序でビットストリームに共に存在するゼロ個以上のシンタックスエレメントのセットであり得る。
[0054]画像は、輝度(すなわち、ルマまたはY)サンプルのブロックおよびクロミナンス(すなわち、クロマ)サンプルの2つのブロックを含む。説明を容易にするために、本開示は、サンプルの2次元配列をサンプルブロックと呼び得る。画像の符号化された表現を生成するために、映像符号化器20は画像のための複数のコード化ツリーブロック(CTB)を生成し得る。いくつかの例において、ツリーブロックはまた、最大コード化ユニット(LCU)またはツリーブロックと称され得る。画像の各CTBは、ルマブロックと2つのクロマブロックと関連し得る。CTBのルマブロックは画像のルマブロックのサブブロックであり、およびCTBのクロマブロックは画像のクロマブロックのサブブロックである。CTBのクロマブロックは、CTBのルマブロックと画像内の同じ領域に対応する。HEVCのCTBは、H.264/AVCのような以前の映像コード化規格のマクロブロックに広く類似し得る。しかし、CTBは、必ずしも特定のサイズに限定されず、および1つまたは複数のコード化ユニット(CU)を含み得る。映像符号化器20は、CUと関連するサンプルブロックにCTBと関連するサンプルブロックを分割する4分木分割(quad-tree partitioning)を用いるので、したがって「コード化ツリーブロック」と称される。
[0055]画像のCTBは、1つまたは複数のスライスにグループ分けされ得る。いくつかの例において、スライスの各々は、整数個のCTBを含む。画像の符号化の一環として、映像符号化器20は、画像の各スライスの符号化された表現(すなわち、コード化されたスライス)を生成し得る。コード化されたスライスを生成するために、映像符号化器20は、スライスのCTBの各々の符号化された表現(すなわち、コード化されたCTB)を生成するためにスライスの各CTBを符号化し得る。
[0056]コード化されたCTBを生成するために、映像符号化器20は、サンプルブロックを徐々により小さいサンプルブロックに区分するために、CTBと関連するサンプルブロックに対して4分木分割を再帰的に実行し得る。CTBのCUは、ルマ・サンプルブロックと2つのクロマ・サンプルブロックと関連づけられ得る。CUのルマ・サンプルブロックは、CTBのルマ・サンプルブロックのサブブロックであり得、およびCUのクロマ・サンプルブロックは、CTBのクロマ・サンプルブロックのサブブロックであり得る。CUのルマ・サンプルブロックとクロマ・サンプルブロックは画像内の同じ領域に対応する。分割されたCUは、そのサンプルブロックがその他のCUと関連するサンプルブロックに分割されるCUであり得る。分割されていないCUは、そのサンプルブロックがその他のCUと関連するサンプルブロックに分割されていないCUであり得る。
[0057]映像符号化器20は、各分割されていないCUのために1つまたは複数の予測ユニット(PU)を生成し得る。CUのPUの各々は、CUに対応する画像の領域内の画像の領域に対応し得る。映像符号化器20は、CUの各PUのための予測サンプルブロックを生成し得る。PUの予測サンプルブロックは、複数のサンプルのブロックであり得る。
[0058]映像符号化器20は、PUに関する予測サンプルブロックを生成するためにイントラ予測またはインター予測を用いても良い。映像符号化器20がPUの予測サンプルブロックを生成するためにイントラ予測を用いる場合、映像符号化器20は、PUと関連する画像の復号されたサンプルに基づいてPUの予測サンプルブロックを生成し得る。映像符号化器20が、PUの予測サンプルブロックを生成するためにインター予測を用いる場合、映像符号化器20は、PUと関連する画像以外の1つまたは複数の画像の復号されたピクセルに基づいて、PUの予測サンプルブロックを生成し得る。
[0059]映像符号化器20は、CUのPUの予測サンプルブロックに基づいて、CUに関する残差ブロックを生成し得る。CUに関する残差サンプルブロックは、CUのPUに関する予測サンプルブロック内のサンプル間の差異を示しおよびCUのオリジナルのサンプルブロック内のサンプルに対応する。
[0060]さらに、分割されていないCUの符号化の一環として、映像符号化器20は、CUの変換ユニット(TU)と関連する1つまたは複数のより小さい残差サンプルブロックにCUの残差サンプルブロックを分割するために、CUの残差サンプルブロックに対して再帰的な4分木分割を実行し得る。TUの各々は、ルマサンプルの残差サンプルブロックとクロマサンプルの2つの残差サンプルブロックと関連し得る。
[0061]映像符号化器20は、係数ブロック(すなわち、係数のブロック)を生成するために、TUと関連する残差サンプルブロックに1つまたは複数の変換を適用し得る。
映像符号化器20は、係数ブロックの各々に対して量子化の過程を実行し得る。量子化は一般に、係数が係数を表すために用いられるデータ量を場合によっては低減するために量子化される過程を指し、それはさらに圧縮を提供する。量子化後、映像符号化器20は、係数の値を表すシンタックスエレメントをエントロピー符号化し得る。例えば、映像符号化器20は、係数の値を表すシンタックスエレメントのうちの少なくともいくつかに対してコンテキスト適応型バイナリ算術コード化(CABAC)符号化を実行し得る。シンタックスエレメントをエントロピー符号化することは、さらなる圧縮を提供し得る。映像符号化器20は、エントロピーコード化されたシンタックスエレメントを含むビットストリームを出力し得る。
[0062]映像復号器30は、ビットストリームを受信し得る。ビットストリームは、映像符号化器20によって符号化された映像データのコード化された表現を含み得る。映像復号器30は、ビットストリームからシンタックスエレメントを抽出するためにビットストリームを解析し得る。ビットストリームから少なくともいくつかのシンタックスエレメントを抽出する一環として、映像復号器30は、ビットストリーム内のデータをエントロピー復号(例えば、CABAC復号、指数ゴロム復号、等)し得る。
[0063]映像復号器30は、ビットストリームから抽出されたシンタックスエレメントに基づいて、映像データの画像を再構成し得る。シンタックスエレメントに基づいて映像データを再構成するための過程は一般に、シンタックスエレメントを生成するために映像符号化器20によって実行される過程と相反し得る。例えば、映像復号器30は、CUと関連するシンタックスエレメントに基づいて、CUのPUに関する予測サンプルブロックを生成し得る。さらに、映像復号器30は、CUのTUと関連する係数ブロックを逆量子化し得る。映像復号器30は、CUのTUと関連する残差サンプルブロックを再構成するために係数ブロックに対して逆変換を実行し得る。映像復号器30は、予測サンプルブロックと残差サンプルブロックに基づいて、CUのサンプルブロックを再構成し得る。
[0064]上で簡単に述べられたように、映像符号化器20は、残差サンプルブロックに1つまたは複数の変換を適用することによって、係数ブロックを生成し得る。(いくつかの例において、映像符号化器20は、残差サンプルブロックへの1つまたは複数の変換の適用をスキップし得る。)さらに、いくつかの例において、映像符号化器20は、係数ブロックをサブブロックに区分し得る。例えば、映像符号化器20は、4個の正方形のサブブロックに係数ブロックを区分し得る。サブブロックはまた、ここにおいて、「チャンク」と称され得る。いくつかの例において、サブブロックのサイズは16である。そのため、サブブロックの各々は、逆のスキャン順序において16個の係数を含む。したがって、各4×4のサブブロックは、サブセットまたはチャンクに対応する。さらに、いくつかの例において、水平または垂直スキャンを用いる特定の8×8のTUを除いた全てのTUは、4×4のサブブロックスキャンを用いる。
[0065]映像符号化器20は、サブブロックの各々に対して5つのコード化パスを実行し得る。映像符号化器20は、サブブロックの次の1つに対して5つのコード化パスを実行する前に、サブブロックに対して全ての5つのコード化パスを実行し得る。映像符号化器20は、様々な順序でサブブロックを処理し得る。例えば、映像符号化器20は、初めに右下のサブブロック、続いて左下のサブブロック、右上のサブブロック、および最後に左上のサブブロックを処理する逆Zスキャンでサブブロックを処理し得る。斜め左下のスキャンのようなその他のスキャンもまた可能である。
[0066]映像符号化器20がサブブロックに対してコード化パスを実行する場合、映像符号化器20は、特定のコード化パスと関連するコード化順序にしたがって、サブブロック内の係数の各々を処理する。異なるコード化パスは、同じコード化順序、または1つまたは複数の異なるコード化順序を用い得る。いくつかの例において、コード化順序は右下の係数から始まる斜め左下の順序であり得、次に、さらに右下の係数から徐々に係数の対角線を処理する。この例において、映像符号化器20は、係数の各対角線に沿って、右上から左下に係数を処理し得る。その他の例において、コード化順序は、垂直または水平順序であり得る。映像符号化器20は、有意性とレベルのコード化に関して(すなわち、sigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemに関して)逆のスキャン順序(すなわち、右下の係数から始まるコード化順序)を用い得る。しかし、本開示の技術は、順方向のスキャン順序が用いられる場合でも有効であり得る。本開示の技術はまた、斜め、ジグザグ、水平、垂直、4×4のサブブロックスキャンまたは任意のその他のスキャンが用いられるかどうかにかかわらず有効であり得る。
[0067]映像符号化器20がサブブロックに対して第1のコード化パスを実行する場合、映像符号化器20は、サブブロック内の各係数に関して、significant_coeff_flag(短縮してsigMapFlag)を生成し得る。いくつかの例において、映像符号化器20は、第1のコード化パスのコード化順序における第1のゼロでは無い係数の後に生じるそれら係数のみに関してsigMapFlagを生成し得る。係数に関するsigMapFlagは、係数の絶対値がゼロより大きいかどうかを示す。本開示において、係数の絶対値がゼロより大きい場合、係数は「有意である」と考えられる。映像符号化器20と映像復号器30は、sigMapFlagをエントロピーコード化するために通常のCABACコード化を用い得る。通常のCABACコード化は、複数のコンテキストを用い得る。
[0068]映像符号化器20がサブブロックに対して第2のコード化パスを実行する場合、映像符号化器20は、ゼロより大きい絶対値を持つサブブロック内の各係数に関してcoeff_abs_level_greater1_flag(短縮してgr1Flag)を生成する。係数に関するgr1Flagは、係数の絶対値が1より大きいかどうかを示す。いくつかの例において、サブブロック毎にせいぜい8個のgr1Flagが、対応する係数が1より大きいことを示すために用いられ得る。映像符号化器20と映像復号器30は、gr1Flagをエントロピーコード化するために通常のCABACコード化を用い得る。
[0069]映像符号化器20がサブブロックに対して第3のコード化パスを実行する場合、映像符号化器20は、1より大きい絶対値を持つサブブロック内の各係数に関するcoeff_abs_level_greater2_flag(短縮してgr2Flag)を生成し得る。係数に関するgr2Flagは、係数の絶対値が2より大きいかどうかを示す。いくつかの例において、サブブロック毎にせいぜい1つのgr2Flagは、対応する係数が2より大きいことを示すために用いられ得る。したがって、せいぜい8個のgr1Flagと1つのgr2Flagが各サブブロックのために送られ得る。したがって、levelRemの解釈は、gr1Flagおよび/またはgr2Flagがコード化されたかどうかに依存して変化し得る。映像符号化器20と映像復号器30は、gr2Flagをエントロピーコード化するために通常のCABACコード化を用い得る。
[0070]映像符号化器20がサブブロックに対して第4のコード化パスを実行する場合、映像符号化器20は、0より大きい絶対値を持つサブブロック内の各係数に関するcoeff_sign_flag(短縮してsignFlag)を生成し得る。係数に関するsignFlagは、係数のプラス/マイナスの記号を示す。映像符号化器20と映像復号器30は、signFlagをエントロピーコード化するためにバイパスエントロピーコード化を用い得る。
[0071]映像符号化器20がサブブロックに対して第5のコード化パスを実行する場合、映像符号化器20は、0より大きい絶対値を持つサブブロック内の各係数に関するcoeff_abs_level_remain値(短縮してlevelRem)を生成し得る。いくつかの例において、映像符号化器20は、2より大きい振幅(すなわち、gr2Flag = 1)を持つ各係数に関するlevelRemをシグナリングし得る。係数に関するlevelRemは、係数の残りの絶対値を示す。映像符号化器20は、gr2Flagが1である、またはgr2Flagがコード化されないでgr1Flagが1である場合、またはgr1Flagとgr2Flagがコード化されないでsigMapFlagが1である場合のサブブロック内の各係数に関するlevelRemを生成し得る。係数に関するgr2Flagが、係数が2より大きいことを示す場合、係数に関するlevelRemは、3をマイナスした係数の絶対値を示す。係数に関してgr2Flagがコード化されず、係数に関するgr1Flagが係数が1より大きいことを示す場合、係数に関するlevelRemは、2をマイナスした係数の絶対値を示す。同様に、係数に関してgr1Flagまたはgr2Flagのいずれも生成されず、sigMapFlagが1である場合、係数に関するlevelRemは1をマイナスした係数の絶対値を示す。映像符号化器20と映像復号器30は、levelRemをエントロピーコード化するためにバイパスエントロピーコード化を用い得る。説明を容易にするために、本開示は、sigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemを「係数シンタックスエレメント」または「レベル情報」と呼び得る。いくつかの例において、別のフラグは、サブブロック全体が有意でないかどうかを示すために用いられ得る。
[0072]本開示において、前のコード化パスの間に生成されたシンタックスエレメントは、後のコード化パスの間に生成されたシンタックスエレメントよりも高い優先度を持つと考えられる。言い換えれば、最初にコード化された係数シンタックスエレメントは、より高い優先度を持つと言われ得る。例えば、sigMapFlagは、gr1Flag、gr2Flag、signFlag、およびlevelRemより高い優先度を持つ。gr1Flagは、gr2Flag、signFlag、およびlevelRemより高い優先度を持つが、sigMapFlagよりは低い優先度を持つ。類似の例がgr2Flag、signFlag、およびlevelRemに提供されることができる。
[0073]映像符号化器20が第1、第2、および第3のコード化パスを実行すると、映像符号化器20は、それぞれsigMapFlag、gr1Flag、およびgr2Flagに対して通常のCABAC符号化を実行し得る。すなわち、5個の係数シンタックスエレメントのうち3つだけが、CABAC、すなわち、sigMapFlag、gr1Flag、およびgr2Flagを用いてコンテキストコード化される。例えば、映像符号化器20が第3のコード化パス内にgr2Flagを生成した後に、映像符号化器20は、次の係数に関するgr2Flagを生成する前に、gr2Flagに対して通常のCABAC符号化を実行し得る。映像符号化器20が第4および第5のコード化パスを実行すると、映像符号化器20は、signFlagとlevelRemに対してバイパス符号化を実行し得る。
[0074]映像符号化器20は、sigMapFlag、gr1Flag、gr2Flag、またはlevelRem等のシンタックスエレメントに対してCABAC符号化を実行する場合、映像符号化器20は、一連の1つまたは複数のビットを備える2進列を形成するために、シンタックスエレメントをバイナライズし、これは「ビン」と称される。映像符号化器20は、ビンのうちのいくつかを符号化するために通常のCABAC符号化を用いても良いし、ビンのうちの他のいくつかを符号化するためにバイパス符号化を用いても良い。
[0075]映像符号化器20が、一連のビンを符号化するために通常のCABAC符号化を用いる場合、映像符号化器20は、初めにコード化コンテキストを識別し得る。コード化コンテキストは、特定の値を持つビンをコード化する確率を識別し得る。例えば、コード化コンテキストは、0の値を持つビンをコード化する0.7の確率、1の値を持つビンをコード化する0.3の確率を示し得る。コード化コンテキストを識別した後、映像符号化器20は、インターバルを下部サブインターバルと上部サブインターバルに区分し得る。サブインターバルのうちの一方は、値0と関連しても良く、他方のサブインターバルは、値1と関連しても良い。サブインターバルの幅は、識別されたコード化コンテキストによる関連した値について示された確率に比例し得る。シンタックスエレメントのビンが下部サブインターバルと関連する値を持つ場合、符号化された値は、下部サブインターバルの下部境界と等しくなり得る。シンタックスエレメントの同じビンが上部サブインターバルと関連する値を持つ場合、符号化された値は、上部サブインターバルの下部境界と等しくなり得る。シンタックスエレメントの次のビンを符号化するために、映像符号化器20は、インターバルが符号化されたビットの値と関連するサブインターバルである状態でこれらのステップを繰り返し得る。映像符号化器20が次のビンに関してこれらのステップを繰り返す場合、映像符号化器20は、符号化されたビンの実際の値と識別されたコード化コンテキストとによって示された確率に基づいて修正された確率を用い得る。
[0076]映像復号器30がCABACの復号を実行する場合、映像復号器30は、いくつかのビンに対して通常のCABACの復号を実行し、およびその他のビンに対してバイパスの復号を実行し得る。映像復号器30がシンタックスエレメントに対して通常のCABACの復号を実行する場合、映像復号器30はコード化コンテキストを識別し得る。
次に、映像復号器30は、インターバルを下部サブインターバルと上部サブインターバルに区分し得る。サブインターバルのうちの一方は、値0と関連し、他方のサブインターバルは、値1と関連し得る。サブインターバルの幅は、識別されたコード化コンテキストによって関連した値に関して示された確率に比例し得る。符号化された値が下部サブインターバルの中にある場合、映像復号器30は、下部サブインターバルと関連する値を持つビンを復号し得る。符号化された値が上部サブインターバル内にある場合、映像復号器30は、上部サブインターバルと関連する値を持つビンを復号し得る。シンタックスエレメントの次のビンを復号するために、映像復号器30は、インターバルが符号された値を含むサブインターバルである状態でこれらのステップを繰り返し得る。映像復号器30が次のビンに関してこれらのステップを繰り返す場合、映像復号器30は、識別されたコード化コンテキストと復号されたビンとによって示された確率に基づいて、修正された確率を用い得る。次に、映像復号器30は、シンタックスエレメントをリカバーするためにビンをデバイナライズし得る。デバイナライゼーションは、2進列とシンタックスエレメント値の間のマッピングにしたがって、シンタックスエレメント値を選択することを指し得る。
[0077]全てのビンに対して、または全てのシンタックスエレメントに対して通常のCABACを実行する代わりに、映像符号化器20または映像復号器30のような映像コーダーは、バイパスコード化を用いていくつかのビンをコード化し得る。バイパスコード化は、一般に適応型コード化コンテキストを用いることなくビンを算術的に符号化する過程を指す。例えば、バイパス算術コード化において、映像コーダーはコンテキストを選択せず、およびシンボル(0および1)の両方に関して0.5の確率を仮定し得る。バイパスコード化は、CABACコード化ほど帯域幅効果は無いが、バイパスコード化は、計算的にCABACコード化より安価であり得る。さらに、バイパスコード化を実行することはより高度の並列化とスループットを可能にし得る。
[0078]コード化のパフォーマンスは、0または1の値を持つビンの確率を正確に反映しないコード化コンテキストを選択することによって否定的に影響を受けることもある。近傍の係数の値の間に既知の統計的関係があるので、映像符号化器20は、近傍の係数に関する予め生成された情報に基づいて、コード化コンテキストを選択し得る。近傍の係数に関する情報に基づいてコード化コンテキストを選択し得る。近傍のコンテキストにお関する情報に基づいてコード化コンテキストを選択することは、映像符号化器20がコード化コンテキストを選択する正確さが向上させ得るが、映像符号化器20は、コード化コンテキストを選択する前に、近傍の係数に関する情報等を生成しなければならない。このことは、映像符号化器20がシンタックスエレメントに関するコード化コンテキストを選択するのと並列に近傍の係数に関する情報を生成するのを防ぎ得る。
[0079]本開示の技術は、レベル情報と有意性情報に関するコンテキストコード化されたシンタックスエレメント(例えば、sigMapFlag、gr1Flag、およびgr2Flag)に関するコンテキストを形成し得る。本開示の1つまたは複数の技術にしたがって、映像符号化器20は、係数の各それぞれのコード化パスの間に、サブブロック内の係数に関するそれぞれのコード化パスのシンタックスエレメントの全てに関するコード化コンテキストを並列に選択し得る。いくつかの例において、本開示の技術は、並列にサブブロック内の特定のシンタックスエレメントに対応する全てのフラグに関するコンテキストの導出(derivation)を可能にし得る。例えば、映像符号化器20は、サブブロック内の係数に関する全てのgr2Flagに関するコード化コンテキストを並列に選択し得る(すなわち、導出する)。
[0080]そのようにするために、映像符号化器20は、いくつかの例において、少なくとも部分的に係数ブロックの予めコード化されたサブブロック内の係数に関する全ての係数シンタックスエレメントに基づいて、特定のサブブロック内の特定の係数のシンタックスエレメントに関するコード化コンテキストを選択し得る。言い換えれば、コンテキストは、前のサブブロック内の全ての有意性およびレベル情報に依存し得る。さらに、映像符号化器20は、少なくとも部分的に特定のサブブロックの係数に関するより高い優先度の係数シンタックスエレメントに基づいて、シンタックスエレメントに関するコード化コンテキストを選択し得る。すなわち、コンテキストは、現在のサブブロックからのより高い優先度のシンタックスエレメントに依存し得る。
[0081]図2は、サブブロックに区分される係数ブロック48の例を示す概念図である。
図2の例は8×8のTUに関する4×4のサブブロックスキャンの例を示す。各4×4のサブブロックは、「チャンク」である。HEVCの作業ドラフト5は、8×8のTUに関する4×4のサブブロックスキャンを用いないが、それは例としてここに示される。
[0082]図2において、丸は係数に対応する。係数ブロック48は、サブブロック50A、50B、50Cおよび50Dを含む。図2の例において、4×4のサブブロックは、逆斜め左下の順序でスキャンされる。したがって、4×4のサブブロックに関する処理順序は、右下、右上、左下、および左上である。各4×4のサブブロックの中において、係数は逆斜め左下のスキャンにしたがって処理される。図2における矢印は、係数のコード化順序を示す。その他の例において、斜め右上、ジグザグ、水平または垂直等の異なるスキャン順序が用いられ得る。順方向のスキャンが逆スキャンの代わりに用いられる場合、本開示の技術は適用可能であり得る。言い換えれば、本開示の技術は、順方向のスキャンと同様に戻り方向のスキャンにも適用可能であり得る。
[0083]各サブブロックに関する有意性およびレベル情報(例えば、係数シンタックスエレメント)は、次のサブブロックに進む前に完全にコード化され得る。サブブロックの中で、有意性およびレベル情報は、次の、sigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemの順序でコード化され得る。図2の例において、映像符号化器20は、サブブロック50A、50B、および50C内の係数に関する係数シンタックスエレメントをすでに符号化していてもよい。すなわち、映像符号化器20は、サブブロック50A、50B、および50C内の係数に対して全ての5つのコード化パスをすでに実行していてもよい。この例において、映像符号化器20は、少なくとも部分的にサブブロック50A、50B、および50C内の係数のsigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemに基づいて、係数52の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。さらに、映像符号化器20は、サブブロック50D内の係数に関するより高い優先度の係数シンタックスエレメントに基づいて、係数52の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。例えば、映像符号化器20は、サブブロック50D内の係数のうちのsigMapFlagおよびgr1Flagのいずれかに基づいて、係数52のgr2Flagに関するコード化コンテキストを選択し得る。したがって、係数52のgr2Flagがコード化される場合、すでに処理された3つのサブブロック(すなわち、右上、左下、および右下のサブチャンク)に関する全ての有意性およびレベル情報(sigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRem)は、コンテキストの形成のために用いられ得る。さらに、左上の4×4のサブブロックに関するsigMapFlagおよびgr1Flagが用いられ得る。
[0084]その他の例において、映像符号化器20は、予めコード化されたサブブロックのより高い優先度の係数シンタックスエレメントおよび現在のサブブロックのより高い優先度の係数シンタックスエレメントに基づいて、現在のサブブロック内の係数の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。例えば、図2の例において、映像符号化器20は、サブブロック50A、50B、50C、または50Dのいずれかにおける係数のうちのgr2Flag、signFlag、またはlevelRemではなく、サブブロック50A、50B、50Cおよび50D内の係数のうちのsigMapFlagおよびgr1Flagのいずれかに基づいて、係数52のgr2Flagに関するコード化コンテキストを選択し得る。
[0085]さらに、いくつかの例において、映像符号化器20は、特定の係数のコンテキスト近傍における係数に関する係数シンタックスエレメントに基づいて、特定の係数の係数シンタックスエレメントに関するコード化コンテキストを選択する。上述したように、係数シンタックスエレメントに関するコンテキストを形成する場合、コンテキストを現在のサブブロックからの係数シンタックスエレメントに関するすでにコード化された情報に依存させることが可能であり得る。こういった例において、別個のコンテキスト導出近傍(context derivation neighborhoods)は、現在のシンタックスエレメントとより高い優先度のシンタックスエレメントからのすでにコード化された情報に用いられ得る。図2の例において、四辺形54は、係数52に関するコンテキスト近傍を示す。図2の例に示されたように、係数52に関するコンテキスト近傍は、サブブロック50B内の係数55、サブブロック50C内の係数56、およびサブブロック50D内の3つの係数58、60、および62を含む。いくつかの例において、映像符号化器20は、係数54および56のうちのいずれかの係数シンタックスエレメントと係数58、60、および62のうちのより高い優先度の係数シンタックスエレメントに基づいて、係数52の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。その他の例において、映像符号化器20は、係数54、56、58、60、および62のうちのより高い優先度の係数シンタックスエレメントに基づいて、係数52の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。例えば、係数52は、16個の係数を含むサブブロック内の8番目の係数である。したがって、係数52のgr2Flagをコード化する場合、係数52のgr2Flagに関するコンテキストは、サブブロック50Dに関してそれまでコード化されたgr2Flag(7番目の係数まで)と同様に、サブブロック50Dに関する全てのsigMapFlagおよびgr1Flagに依存し得る。さらに、係数52のgr2Flagに関するコンテキストは、前のサブブロック(すなわち、サブブロック50A、50B、および50C)からの有意性およびレベル情報に依存し得る。したがって、係数52に関するgr2Flagをコード化するために、全ての4×4のサブブロック50A、50B、50Cおよび50Dに関するsigMapFlagおよびgr1Flag情報に加えて、係数58、60、および62に関するgr2Flag情報を用いることが可能であり得る。いくつかの例において、係数シンタックスエレメントのコンテキストが前のサブブロックからの有意性およびレベル情報に依存する場合、コンテキストの導出過程を並列にするのがより難しいこともある。
[0086]いくつかの例において、映像符号化器20は、図2の例において示されるように、係数ブロックをサブブロックに区分しない。こういった例において、映像符号化器20は、上述の方法で、全体の係数ブロックに対して同じ5つの符号化パスを実行し得る。図3は、サブブロックに区分されない係数ブロック70の例を示す概念図である。図3において、丸は係数に対応する。図3の例において、四辺形72は係数74に関するコンテキスト近傍を示す。映像符号化器20は、係数74に関するコンテキスト近傍内の係数のより高い優先度のシンタックスエレメントに基づいて、係数72の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。言い換えると、チャンクのサイズがTUのサイズと同じである場合、TU全体に関するより高い優先度のシンタックスエレメントに関してコード化された情報は、現在のシンタックスエレメントに関するコンテキストを形成する際に用いられることができる。いくつかの例において、係数74のgr2Flagがコード化されている場合、TU全体に関するsigMapFlagおよびgr1Flagは、コンテキストの形成の際に用いられ得る。さらに、コンテキストの形成のための前のTUからの全ての有意性およびレベル情報を用いることが可能である。いくつかの例において、現在および前のTUに関するより高い優先度のシンタックスエレメント(例えば、sigMapFlagおよびgr1Flag)のみが係数74のgr2Flagのコード化コンテキストの形成のために用いられ得る。
[0087]別の例において、コンテキストを形成するために情報全体を用いる必要は無い。典型的に、現在の係数の周りの近傍からのより高い優先度のシンタックスエレメント情報は、コンテキストの形成の際に用いられ得る。例えば、サブブロック(すなわち、チャンク)のサイズがTUのサイズと等しい場合、TUの係数のいずれかは、因果関係またはスキャンに関係なく近傍に含まれ得る。図3の例において、四辺形72は、係数74のコンテキスト近傍の例を示す。係数74のgr2Flagをコード化するために、映像符号化器20は、係数74に関するコンテキスト近傍内の係数のうちのsigMapFlagおよびgr1Flagに基づいて、係数74のgr2Flagに関するコード化コンテキストを選択し得る。
[0088]図3の例において、サブブロック(すなわち、チャンク)を用いる代わりに、全体のTUは、逆左下方向のスキャンを用いて処理され得る。この例において、サブブロックのサイズは、TUのサイズと同じサイズであるように選択され得る。さらに、図3の例において、TU全体に関するsigMapFlag情報は、最初にコード化される。この後に、TU全体に関するgr1Flag情報等が続く。サブブロックまたはTU内の係数は各シンタックスエレメントに関して(必ずしもコード化される必要はないが)一度訪問を受けなければならないので、各シンタックスエレメントに対応する情報は、ここにおいて「パス」と呼ばれ得る。
[0089]さらに、いくつかの例において、映像符号化器20は、少なくとも部分的に現在のサブブロックの因果係数の同じ優先度の係数シンタックスエレメントに基づいて、現在のサブブロックの係数の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。こういった例において、映像符号化器20はまた、現在のサブブロックと同様に、現在のコード化パスのコード化順序における前のサブブロック内の係数に関するより高い優先度の係数シンタックスエレメント(および、いくつかの例においては、現在のコード化パスのコード化順序における現在のサブブロックの前に生じるサブブロック内の係数に関する任意の係数シンタックスエレメント)に基づいて、係数シンタックスエレメントに関するコード化コンテキストを選択し得る。例えば、映像符号化器20は、少なくとも部分的に現在のサブブロックの因果係数のgr2Flagに基づいて、現在のサブブロックの係数のgr2Flagに関するコード化コンテキストを決定し得る。
[0090]現在の係数シンタックスエレメントに関するコード化コンテキストが少なくとも部分的に、予めコード化されたサブブロックの係数シンタックスエレメントに基づいて形成される場合の例において、並列のコンテキスト導出を可能にするために、1つまたは複数の制限が、現在の係数シンタックスエレメントに関したすでにコード化された情報に基づいて、コンテキスト導出近傍に課せられ得る。すなわち、コンテキスト近傍は、並列コンテキスト導出が所望される任意の位置を含まない。これは、全体的に参照により本願に組み込まれている、2011年11月11日に出願された米国出願番号13/294,869と、全体的に参照により本願に組み込まれている、2012年1月13日に出願された米国出願番号61/586,609とに記載の案に原理が類似している。
[0091]サブブロックの複数の係数シンタックスエレメントを並列に符号化するために、映像符号化器20は、係数と並列に符号化されていないサブブロック内の同じ優先度の係数シンタックスエレメントのみに基づいて、コード化コンテキストを選択し得る。
例えば、係数のコンテキスト近傍は、コンテキスト近傍が係数と並列にコード化され得る任意の係数を含まないように成形され得る。この例において、コンテキスト近傍の形状は、米国出願番号61/586、609に記載されるように、ある位置から別の位置へ変化し得る。図2の例において、逆の4×4のサブブロックベースのスキャンが用いられる。4×4のサブブロックの右下にある係数(例えば、係数64、66、および68)は、現在のシンタックスエレメントに関するすでにコード化された情報に基づいて、修正されたコンテキストの導出近傍を用いなくてはならない。例えば、コンテキスト導出における並列処理が、係数64、66、および68のうちの1つのgr2Flagをコード化するために所望される場合、4×4のサブブロックの右下のピクセルに関するコード化されたgr2Flag情報は用いられない。
[0092]一例において、映像符号化器20は、第1のシンタックスエレメントと第2のシンタックスエレメントを並列に生成し、第1のシンタックスエレメントに関するコード化コンテキストと第2のシンタックスエレメントに関するコード化コンテキストを並列に選択し得る。この例において、第1のシンタックスエレメントに関するコード化コンテキストは、第2のシンタックスエレメントに基づいて選択されず、および第2のシンタックスエレメントに関するコード化コンテキストは、第1のシンタックスエレメントに基づいて選択されない。この例において、映像符号化器20は、第1および第2のシンタックスエレメントに関するコード化コンテキストに基づいて、第1および第2のシンタックスエレメントを並列にエントロピー符号化し得る。同様に、映像復号器30は、第1のシンタックスエレメントと第2のシンタックスエレメントを並列に生成し、および第1のシンタックスエレメントに関するコード化コンテキストと第2のシンタックスエレメントに関するコード化コンテキストを並列に選択し得る。この例において、第1のシンタックスエレメントに関するコード化コンテキストは、第2のシンタックスエレメントに基づいて選択されず、第2のシンタックスエレメントに関するコード化コンテキストは、第1のシンタックスエレメントに基づいて選択されない。この例において、映像符号化器30は、第1および第2のシンタックスエレメントに関するコード化コンテキストに基づいて第1および第2のシンタックスエレメントを並列にエントロピー復号し得る。
[0093]別の例において、チャンクのサイズはTUのサイズと等しくても良くおよび映像符号化器20は、係数のgr2Flagをコード化している。この例において、順方向または逆方向の順序でジグザグまたは斜めのスキャンが用いられ得る。さらに、この例において、対角線に対応するgr2Flagに関する全てのコンテキストが並列に導出されるべきである場合、その対角線からのgr2Flag情報のいずれも、コンテキスト導出近傍に含まれることができない。この例において、TUの位置のいずれかは、sigMapとgr1Flagに依存するgr2Flagに関するコンテキストの導出近傍に含まれる可能性がある。図2におけるコンテキスト近傍の例はこの制限に従う。
[0094]別の例において、映像符号化器20は、現在のサブブロックの第1および第2の係数のgr2Flagに関するコード化コンテキストを並列に選択し得る。この例において、第1の係数のコンテキスト近傍は、第2の係数を含まず、および第2の係数のコンテキスト近傍は第1の係数を含まない。したがって、この例において、映像符号化器20は、第2の係数のgr2Flagに基づいて、第1の係数のgr2Flagに関するコード化コンテキストを選択せずおよびその逆も同様である。
[0095]いくつかのこういった例において、特定の係数のコンテキスト近傍は、特定の係数とは異なるサブブロック内の係数を含み得る。さらに、いくつかの例において、特定の係数ブロックのコンテキスト近傍は、特定の係数と同じサブブロック内にある特定の係数の因果および非因果近傍を含み得る。第1の係数がコード化パスのコード化順序にしたがって、第2の係数の前に生じる場合、第1の係数は、第2の係数の因果近傍である。第1の係数がコード化パスのコード化順序にしたがって第2の係数の後に生じる場合、第1の係数は、第2の係数の非因果近傍である。
[0096]図4は、因果および非因果係数を含むコンテキスト近傍の例を示す概念図である。図4内の丸は、係数ブロック80内の係数に対応する。図4の例において、係数ブロック80は、サブブロック82A、82B、82C、および82Dに区分される。形状84は、係数86に関するコンテキスト近傍を示す。図4の例において、係数86に関するコンテキスト近傍は、係数88、90、92、94、96、および98を含む。係数88、90、および92は、コード化順序において係数86の前に生じ、それ故に因果係数である。係数94、96、および98は、コード化順序において係数86の後に生じ、それ故に非因果係数である。
[0097]本開示の技術にしたがって、映像符号化器20は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化し得る。さらに、映像符号化器20は、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化し得る。映像符号化器20が第2のコード化パスを実行する場合、映像符号化器20は、第1のシンタックスエレメントを生成し得る。第1のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり得、および係数ブロックの現在の係数に対応し得る。さらに、映像符号化器20は、少なくとも第2のシンタックスエレメントと第3のシンタックスエレメントの一部に基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択し得る。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応する。非因果係数は、現在の(第2の)コード化パスのコード化順序において、現在の係数の後に生じる。因果係数は、第2のコード化パスのコード化順序において、現在の係数の前に生じる。映像符号化器20は、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー符号化し得る。
[0098]同様に、映像復号器30は、係数ブロックの係数の第1のコード化パスの間に,係数ブロックの係数に対応するシンタックスエレメントの第1のセットを復号し得る。さらに、映像復号器30は、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを復号し得る。映像復号器30が第2のコード化パスを実行する場合、映像復号器30は、少なくとも第2のシンタックスエレメントと第3のシンタックスエレメントの一部に基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択し得る。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応する。映像復号器30は、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、第1のシンタックスエレメントをエントロピー復号し得る。
[0099]コンテキスト導出は、上記の情報の全てを用いる必要がないことが留意されるべきである。例えば、コンテキスト導出は、図3および図4に示された近傍のみに基づき得る。別の例において、コンテキスト導出は、より高い優先度を持つシンタックスエレメントのみに基づき得る。例として、所与の係数に関するgr2Flagをコード化するために、コンテキスト導出の目的で、シンタックスエレメントsigMapFlagとgr1Flagに関する情報のみが用いられ得る。上記で特定された方法以外のその他の方法でコンテキストの形成に用いられる情報を制限することが可能であり得る。
[0100]図5は、本開示の技術を実装するように構成される映像符号化器20の例を示すブロック図である。図5は、説明の目的のために提供され、および本開示において広く例示されおよび記載された技術を限定すると考えられるべきではない。説明の目的のために、本開示は、HEVCコード化のコンテキストにおける映像符号化器20を記載する。しかし、本開示の技術は、その他のコード化の規格または方法に適用され得る。
[0101]図5の例において、映像符号化器20は、予測処理ユニット100、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構成ユニット112、フィルタユニット113、復号画像バッファ(decoded picture buffer)114、およびエントロピー符号化ユニット116を含む。予測処理ユニット100は、インター予測処理ユニット121とイントラ予測処理ユニット126を含む。インター予測処理ユニット121は、動き推定ユニット122と動き補正ユニット124を含む。その他の例において、映像符号化器20は、より多くの、より少ない、または異なる機能コンポーネントを含み得る。
[0102]映像符号化器20は、映像データを受信し得る。映像データを符号化するために、映像符号化器20は、映像データの各画像の各スライスを符号化し得る。スライスを符号化する一環として、映像符号化器20は、スライス内の各CTBを符号化し得る。CTBを符号化する一環として、予測処理ユニット100は、サンプルブロックを徐々により小さいサンプルブロックに区分するために、CTBと関連するサンプルブロックに対して4分木分割を実行し得る。より小さいサンプルブロックはCUと関連し得る。例えば、予測処理ユニット100は、CTBの各サンプルブロックの各々を4個の等しいサイズのサブブロックに分割し、サブブロックの1つまたは複数を4個の等しいサイズのサブサブブロックに分割しというように行い得る。
[0103]映像符号化器20は、CUの符号化された表現(すなわち、コード化されたCU)を生成するために画像内のCTBのCUを符号化し得る。映像符号化器20は、Zスキャン順序にしたがって、CTBのCUを符号化し得る。言い換えれば、映像符号化器20は、その順序において、左上のCU、右上のCU、左下のCU、次に右下のCUを符号化し得る。映像符号化器20が分割されたCUを符号化する場合、映像符号化器20は、Zスキャン順序にしたがって、分割されたCUのサンプルブロックのサブブロックと関連するCUを符号化し得る。
[0104]さらに、CUを符号化する一環として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUのサンプルブロックを分割し得る。映像符号化器20と映像復号器30は、様々なPUのサイズをサポートし得る。特定のCUのサイズが2N×2Nであると仮定すると、映像符号化器20と映像復号器30は、イントラ予測のための2N×2NまたはN×NのPUのサイズ、およびインター予測のための2N×2N、2N×N、N×2N、N×N、またはそれに類似した対称のPUのサイズをサポートし得る。映像符号化器20と映像復号器30はまた、インター予測のための2N×nU、2N×nD、nL×2N、およびnR×2NのPUのサイズに関する非対称の分割をサポートし得る。
[0105]インター予測処理ユニット121は、CUの各PUに対してインター予測を実行することによって、PUに関する予測データを生成し得る。PUに関する予測データは、PUおよびPUに関する動き情報に対応する予測サンプルブロックを含み得る。スライスは、Iスライス、Pスライス、またはBスライスであり得る。インター予測ユニット121は、PUがIスライス、Pスライス、またはBスライス内にあるかどうかに依存して、CUのPUに関する異なる動作を実行し得る。Iスライスにおいて、全てのPUはイントラ予測される。したがって、PUがIスライスにある場合、インター予測ユニット121は、PUに対してインター予測を実行しない。
[0106]PUがPスライス内にある場合、動き推定ユニット122は、PUに関する参照ブロックのための参照画像のリスト(例えば、「リスト0」)内の参照画像をサーチし得る。PUの参照ブロックは、参照画像の同じ領域に対応し、およびPUのサンプルブロックに最も密に対応するサンプルブロックのセットであり得る。動き推定ユニット122は、PUの参照ブロックを含むリスト0内の参照画像を示す参照画像インデックスと、PUのルマ・サンプルブロックとルマ参照サンプルブロック(luma reference sample block)の間の空間変位を示す動きベクトルを生成し得る。動き推定ユニット122は、PUの動き情報としての動きベクトルと参照画像インデックスを出力し得る。動き補正ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測サンプルブロックを生成し得る。
[0107]PUがBスライス内にある場合、動き推定ユニット122は、PUに関する一方向のインター予測または双方向のインター予測を実行し得る。PUに関する一方向のインター予測を実行するために、動き推定ユニット122は、PUに関する参照ブロックに関する第1の参照画像リスト(「リスト0」)または第2の参照画像リスト(「リスト1」)の参照画像をサーチし得る。動き推定ユニット122は、PUの動き情報として、参照ブロックを含む参照画像のリスト0またはリスト1内の位置を示す参照画像インデックス、PUのサンプルブロックと参照ブロックの間の空間変位を示す動きベクトル、および参照画像がリスト0またはリスト1内にあるかどうかを示す予測方向インジケータを出力し得る。
[0108]PUに関する双方向のインター予測を実行するために、動き推定ユニット122は、PUに関する参照ブロックに関するリスト0内の参照画像をサーチし得、また、PUに関する別の参照ブロックに関するリスト1内の参照画像をサーチし得る。動き推定ユニット122は、参照ブロックを含む参照画像のリスト0およびリスト1内の位置を示す参照画像インデックスを生成し得る。さらに、動き推定ユニット122は、PUのサンプルブロックと参照ブロックの間の空間変位を示す動きベクトルを生成し得る。PUの動き情報は、PUの動きベクトルと参照画像インデックスを含み得る。動き補正ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測サンプルブロックを生成し得る。
[0109]イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUに関する予測データを生成し得る。PUに関する予測データは、PUに関する予測サンプルブロックと様々なシンタックスエレメントを含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス内のPUに対してイントラ予測を実行し得る。
[0110]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、PUに関する予測データの複数のセットを生成するために、複数のイントラ予測モードを用い得る。PUに関する予測データのセットを生成するためのイントラ予測モードを用いるために、イントラ予測処理ユニット126は、イントラ予測モードと関連する方向に、PUのサンプルブロックにわたって近傍のPUのサンプルブロックからサンプルを拡張し得る。近傍のPUは、PU、CU、およびCTBに関する左から右、上から下の符号化順序を仮定すると、PUの上、PUの上及びその右側、PUの上及びその左側、またはPUの左側であり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、例えば、33方向のイントラ予測モードを用い得る。いくつかの例において、イントラ予測モードの数は、PUのサンプルブロックのサイズに依存し得る。
[0111]予測処理ユニット100は、PUに関するインター予測処理ユニット121によって生成された予測データ、またはPUに関するイントラ予測処理ユニット126によって生成された予測データのうちからCUのPUに関する予測データを選択し得る。いくつかの例において、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUに関する予測データを選択する。選択された予測データの予測サンプルブロックは、ここにおいて、選択された予測サンプルブロックと称され得る。
[0112]残差生成ユニット102は、CUのサンプルブロックとCUのPUの選択された予測サンプルブロックに基づいて、CUの残差サンプルブロックを生成し得る。例えば、残差生成ユニット102は、残差サンプルブロック内の各サンプルが、CUのオリジナルのサンプルブロック内のサンプルとCUのPUの選択された予測サンプルブロック内の対応するサンプルの間の差異と等しい値を持つように、CUの残差サンプルブロックを生成し得る。
[0113]変換処理ユニット104は、CUに関する1つまたは複数のTUのセットを生成し得る。CUのTUの各々は、ルマの残差サンプルブロックと2つのクロマ・サンプルブロックと関連し得る。TUのルマ残差サンプルブロックは、CUのルマ残差サンプルブロックのサブブロックであり得、およびTUのクロマの残差サンプルブロックは、CUのクロマの残差サンプルブロックのサブブロックであり得る。TUのクロマ残差サンプルブロックは、TUのルマの残差サンプルブロックと同じ画像の領域に対応する。変換処理ユニット104は、CUの残差サンプルブロックをCUのTUと関連する残差サンプルブロックに分割するために4分木分割を実行し得る。CUのTUと関連する残差サンプルブロックのサイズと位置は、CUのPUのサンプルブロックのサイズと位置に基づくことも基づかないこともある。
[0114]変換処理ユニット104は、1つまたは複数の変換をTUと関連する残差サンプルブロックに適用することによってCUの各TUに関する係数ブロックを生成し得る。
変換処理ユニット104は、様々な変換をTUと関連する残差サンプルブロックに適用し得る。例えば、変換処理ユニット104は、ディスクリートコサイン変換(DCT)、方向変換、または概念的に類似した変換を残差サンプルブロックに適用し得る。変換は、残差サンプルブロックをピクセルドメインからの周波数ドメインに変換し得る。したがって、係数ブロック内の係数は、特定の周波数にあると考えられ得る。
[0115]量子化ユニット106は、係数ブロック内の係数を量子化し得る。量子化の過程は、係数のうちのいくつかまたは全てと関連するビット深度を低減し得る。例えば、nビットの係数は、量子化の間に、mビット係数に端数が切り捨てられ得、ここで、nはmよりも大きい。量子化ユニット106は、CUと関連する量子化パラメータ(QP)値に基づいて、CUのTUと関連する係数ブロックを量子化し得る。映像符号化器20は、CUと関連するQP値を調整することによって、CUと関連する係数ブロックに適用される量子化の程度を調整し得る。
[0116]逆量子化ユニット108と逆変換処理ユニット110は、係数ブロックから残差サンプルブロックを再構成するために、係数ブロックに、それぞれ逆量子化および逆変換を適用し得る。再構成ユニット112は、TUと関連する再構成されたサンプルブロックを作成するために、再構成された残差サンプルブロックのサンプルを、予測処理ユニット100によって生成された1つまたは複数の予測サンプルブロックからの対応するサンプルに追加し得る。この方法で、CUの各TUに関するサンプルブロックを再構成することによって、映像符号化器20は、CUのサンプルブロックを再構成し得る。
[0117]フィルタユニット113は、CUのサンプルブロック内のブロッキングアーチファクト(blocking artifacts)を低減するためにデブロッキング動作(deblocking operation)を実行し得る。復号画像バッファ114は、再構成されたサンプルブロックを記憶し得る。インター予測ユニット121は、その他の画像のPUに対してインター予測を実行するために、再構成されたサンプルブロックを含む参照画像を用い得る。さらに、イントラ予測処理ユニット126は、CUと同じ画像内のその他のPUに対してイントラ予測を実行するために復号画像バッファ114内の再構成されたサンプルブロックを用い得る。
[0118]エントロピー符号化ユニット116は、映像符号化器20のその他の機能コンポーネントからデータを受信し得る。例えば、エントロピー符号化ユニット116は、量子化ユニット106から係数ブロックを受信し得、および予測処理ユニット100からシンタックスエレメントを受信し得る。エントロピー符号化ユニット116は、エントロピー符号化されたデータを生成するために、データに対して1つまたは複数のエントロピー符号化動作を実行し得る。例えば、エントロピー符号化ユニット116は、データに対してコンテキスト適応型可変長コード化(context-adaptive variable length coding)(CAVLC)動作、CABAC動作、V2V(variable-to-variable)長コード化動作(length coding operation)、シンタックスベースのコンテキスト適応型バイナリ算術コード化(syntax-based context-adaptive binary arithmetic coding)(SBAC)動作、確率間隔分割エントロピー(Probability Interval Partitioning Entropy)(PIPE)コード化動作、指数ゴロム符号化動作(Exponential-Golomb encoding operation)、または別のタイプのエントロピー符号化動作を実行し得る。映像符号化器20は、エントロピー符号化ユニット116によって生成されたエントロピー符号化されたデータを含むビットストリームを出力し得る。
[0119]エントロピー符号化ユニット116は、RQTのリーフ・ノードと関連する係数ブロック(すなわち、TUと関連する係数ブロック)を複数のサブブロックに区分し得る。エントロピー符号化ユニット116は、エントロピー符号化ユニット116が、サブブロックのうちの次の1つを処理する前に、サブブロックのうちの1つを完全に処理するように、サブブロックを連続して処理し得る。エントロピー符号化ユニット116は、右下のサブブロックから開始して、サブブロックを逆順に処理し得る。エントロピー符号化ユニット116は、この方法で、ルマ係数ブロック(すなわち、ルマ残差サンプルブロックから導出された係数ブロック)とクロマ係数ブロック(すなわち、クロマ残差サンプルブロックから導出された係数ブロック)を処理し得る。
[0120]2011年1月20日付のNguyen他による文書番号JCTVC−H0228の「Non-CE11: Proposed Cleanup for Transform Coefficient Coding,」は、その内容全体が参照により本願に組み込まれ、変換係数コード化のための異なる方法を提案する。JCTVC−H0228の提案において、上述された同じ5個のシンタックスエレメントが用いられる。しかし、現在の係数のコンテキスト近傍は、sigMapFlag、gr1Flag、およびgr2Flagに関するコンテキストと同様に、levelRemに関するゴロム・ライス(Golomb-Rice)パラメータを導出するために用いられる。係数74に関するコンテキスト導出に用いられるコンテキスト近傍の例(斜め左下のスキャンの場合)が四辺形72を用いて図3に示される。コンテキスト近傍は、sigMapFlagのコード化に関してHEVC委員会草案によって用いられるものと同じである。その他のコンテキスト近傍も同様に用いられ得る。JCTVC−H0228の提案において、異なるシンタックスエレメントに関するコンテキスト導出は、コンテキスト近傍内の係数の絶対レベルの関数に基づく。さらに、JCTVC−H0228において、5個のパス、上述した各係数シンタックスエレメントにつき1つ、の中の各チャンクをコード化する代わりに1つの係数に関して全ての必要な係数シンタックスエレメントが、次の係数に進む前にコード化される。さらに、JCTVC−H0228の提案は、いくつかのスキャン(例えば、4×4のサブブロックスキャン)の際に、2つの連続係数が異なる対角線に属し得る(belong to different diagonals)ことを提供する。この場合、1つの係数に関するコンテキストは、前の係数の実際の復号された(絶対)値に依存し得る。
[0121]JCTVC−H0228の提案において、下記の量は、コンテキスト近傍を用いて定義され得る。和は、コンテキスト近傍内の係数の全体にわたる。
JCTVC−H0228の提案において、sum_absolute_level値は、sigMapFlagに関するコンテキストインデックスを導出するために用いられ、およびsum_absolute_levelMinus1値は、gr1Flagおよびgr2Flagに関するコンテキストインデックスを導出するために用いられる。コンテキストインデックスはコード化コンテキストを識別し得る。
[0122]JCTVC−H0228の提案において、num_significant_coeff、sum_absolute_level、およびsum_absolute_levelMinus1を計算した後、sigMapFlag、gr1Flag、およびgr2Flag(すなわち、それぞれc0、c1、およびc2、)に関するコンテキストモデルインデックスは下記の式の通り導出される。
[0123]JCTVC−H0228の提案は種々の欠点を持ち得る。例えば、各係数に関してコード化の必要なシンタックスエレメントの数は1から5まで変わることができる。これはコード化の過程においてボトルネックを引き起こし得、および1つのサイクルにおいて複数のビンを並列化またコード化するために先読み戦略を用いることを難しくし得る。さらに、例えば、4×4のサブブロックコード化順序のようないくつかのコード化順序において、2つの連続係数は、異なる対角線に属し得る。この場合、1つの係数に関するコード化コンテキストは、前の係数の実際の復号された値に依存し得る。別の欠点は、コンテキスト導出のために、近傍における係数に関するレベル情報と同様に有意性が必要であるということである。コンテキスト近傍に係数の有意性およびレベル情報を記憶することは必要な記憶量を増加させ得る。別の例において、コンテキストコード化されたシンタックスエレメントとバイパスコード化されたシンタックスエレメントはインターリーブされ、それによって、バイパスコード化されたシンタックスエレメントの並列化解析機能に不利益がもたらされ得る。
[0124]本開示の1つまたは複数の技術は、JCTVC−H0228の提案の欠点に対処し得る。上述したように、映像コーダー(video coder)(例えば、映像符号化器20または映像復号器30)は、1つまたは複数のサブセット(例えば、サブブロックまたはチャンク)を含む各TUを区分することによって、1つのサイクルにおける(または並列での)複数のビンの処理を容易にする。映像コーダーは次に、HEVCの作業ドラフト5に記載された5つのコード化パスを用い得る。しかし、本開示の1つまたは複数の技術にしたがって、sigMapFlag、gr1Flag、およびgr2Flagに関するコンテキスト導出と同様に、シンタックスエレメントlevelRemのゴロム・ライスパラメータの選択は、コンテキスト近傍を用いるJCTVC−H0228に記載されたように実行される。しかし、JCTVC−H0228の提案とは異なり、コンテキスト近傍は非因果係数を含み得る。
[0125]本開示の1つまたは複数の技術にしたがって、エントロピー符号化ユニット116がサブブロックを処理する場合、エントロピー符号化ユニット116は、上述された5つのコード化パスを実行し得る。すなわち、エントロピー符号化ユニット116は、サブブロックの係数に関するsigMapFlagを符号化するための第1のコード化パス、サブブロックの係数に関するgr1Flagを符号化するための第2のコード化パス、サブブロックの係数に関するgr2Flagを符号化するための第3のコード化パス、サブブロックの係数に関するsignFlagを符号化するための第4のコード化パス、およびサブブロックの係数に関するlevelRemを符号化するための第5のコード化パスを実行し得る。
[0126]エントロピー符号化ユニット116がコード化パスのいずれかを実行する場合、エントロピー符号化ユニット116は、コード化順序に従ってサブブロック内の係数の各々を処理する。コード化順序は、逆左下斜めのコード化順序、水平のコード化順序、垂直のコード化順序、または別のコード化順序であり得る。コード化順序における連続位置で生じる係数は、連続係数と呼ばれ得る。
[0127]各それぞれのコード化パスの間に、エントロピー符号化ユニット116は、それぞれのコード化パスの間に生成されたシンタックスエレメントをエントロピー符号化する。例えば、エントロピー符号化ユニット116は、第1のコード化パスの間にsigMapFlagを、第2のコード化パスの間にgr1Flagを、および第3のコード化パスの間にgr2FlagをCABAC符号化し得る。通常のCABACコード化を用いて係数シンタックスエレメントを符号化するために、エントロピー符号化ユニット116は、係数シンタックスエレメントに関するコード化コンテキストを選択し得る。エントロピー符号化ユニット116は、コンテキストインデックスを決定して次にコード化コンテキストを調べるためにそのコンテキストインデックスを用いることによって、特定の係数の係数シンタックスエレメントに関するコード化コンテキストを選択し得る。
[0128]いくつかの例において、エントロピー符号化ユニット116は、現在の係数のコンテキスト近傍内の係数の実際のまたは推定された絶対値に基づいて、コンテキストインデックスを決定する。エントロピー符号化ユニット116が係数の各係数シンタックスエレメントをすでに符号化していた場合、エントロピー符号化ユニット116は、その係数の実際の絶対値を決定し得る。例えば、エントロピー符号化ユニット116は、現在のサブブロックの外の因果近傍係数の実際の絶対値を決定するためにこれらの係数のsigMapFlag、gr1Flag、gr2Flag、およびlevelRemを用いることができるので、エントロピー符号化ユニット116は、これらの係数の推定された絶対値を決定する必要は無い。例えば、係数ブロックは、複数のサブブロックを備えても良く、および現在のコード化パスのコード化順序は、サブブロックに基づいても良い。この例において、因果係数は、現在の係数と異なるサブブロックのうちの1つにあり得る。
[0129]しかし、エントロピー符号化ユニット116が係数の各係数シンタックスエレメントをまだ符号化していない場合、エントロピー符号化ユニット116は、その係数の係数シンタックスエレメントに基づいて、係数の実際の絶対値を決定することができない。
したがって、エントロピー符号化ユニット116が、係数の各係数シンタックスエレメントをまだ符号化していない場合、エントロピー符号化ユニット116は、その係数の推定されたまたは実際の絶対値を決定し得る。例えば、エントロピー符号化ユニット116は、因果近傍係数の推定されたまたは実際の絶対値を決定するために、特定の係数の因果近傍係数のより低い優先度の係数シンタックスエレメントおよび現在の優先度の係数シンタックスエレメントを用い得る。例として、第3のコード化パスにおいて(すなわち、係数に関するgr2Flagが符号化されている場合)、sigMapFlagとgr1Flagから推測可能な最小の絶対レベル値は、現在の係数のコンテキスト近傍における係数に関して用いられる。係数のsigMapFlagが0である場合、その係数の推定された絶対値は0である。その係数のsigMapFlagが0であり、その係数のgr1Flagが0である場合、推定された絶対レベルは1であると推測される。係数のsigMapFlagが1であり、およびその係数のgr1Flagが1である場合、絶対レベルは2であると推測される。したがって、推測された値は、今までコード化されていないシンタックスエレメントに0の値を割り当てることに基づく。近傍内の因果係数に関して、gr2Flagは値1を持ち、因果係数の実際の絶対値は知られていないが、3と推定され得る。
[0130]例えば、図2の例は因果近傍を示す。したがって、コンテキスト近傍は、現在のシンタックスエレメント(すなわち、現在のコード化パスと関連する係数シンタックスエレメント)がすでに符号化されている(または復号されている)係数のみを含む。しかし、本開示の技術にしたがって、映像コーダー(例えば、映像符号化器20または映像復号器30)は、図4の例に示されるように非因果近傍(スキャン順において)を用い得る。特に、非因果(すなわち、図4における係数94、96、および98)であるコンテキスト近傍係数に関して、前のシンタックスエレメント(すなわち、コード化パス)までの情報のみがコンテキスト導出の際に用いられることができる。因果的であり、および現在の係数と同じサブブロックに属するコンテキスト近傍係数に関して、こういった係数の絶対レベルは、こういった係数の全ての係数シンタックスエレメントから現在のコード化パスのシンタックスエレメントまで推測され得る。因果的であり、および現在の係数のサブブロックの外側にあるコンテキスト近傍係数に関して、コンテキスト近傍係数の実際の絶対レベル値が用いられ得る。
[0131]一般に、エントロピー符号化ユニット116は、係数Xを含むサブブロック内の全ての因果係数に関して、係数シンタックスエレメントYの優先度より大きいか、またはそれと等しい優先度を持つシンタックスエレメントに基づく因果係数の推定された(または実際の)絶対値に基づいて、係数Xの係数シンタックスエレメントYに関するコード化コンテキストを決定し得る。例えば、エントロピー符号化ユニット116が現在の係数に関するsigMapFlagを符号化しているときに現在の係数と同じサブブロック内の因果近傍係数の推定された(または実際の)絶対値を決定するために、エントロピー符号化ユニット116は、因果近傍係数のsigMapFlagが0または1に等しいかどうかを決定し得る。因果近傍係数のsigMapFlagが0に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の絶対値が0に等しいと決定し得る。因果近傍係数のsigMapFlagが1に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の推定された絶対値が1に等しいと決定し得る。
[0132]エントロピー符号化ユニット116が現在の係数に関するgr1Flagを符号化しているときに現在の係数と同じサブブロック内の因果近傍係数の推定された(または実際の)絶対値を決定するために、エントロピー符号化ユニット116は、因果近傍係数に関するsigMapFlagが0または1に等しいかどうかを決定し得る。因果近傍係数に関するsigMapFlagが0に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の絶対値が0に等しいと決定し得る。因果近傍係数に関するsigMapFlagが1に等しい場合、エントロピー符号化ユニット116は、因果近傍係数のgr1Flagが0または1に等しいかどうかを決定し得る。因果近傍係数のgr1Flagが0に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の絶対値が1に等しいと決定し得る。因果近傍係数のgr1Flagが1に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の推定された絶対値が2に等しいと決定し得る。
[0133]エントロピー符号化ユニット116が現在の係数に関するgr2Flagを符号化しているときに現在の係数と同じサブブロック内の因果近傍係数の推定された(または実際の)絶対値を決定するために、エントロピー符号化ユニット116は、因果近傍係数に関するsigMapFlagが0または1に等しいかどうかを決定し得る。因果近傍係数に関するsigMapFlagが0に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の絶対値が0に等しいと決定し得る。因果近傍係数に関するsigMapFlagが1に等しい場合、エントロピー符号化ユニット116は、因果近傍係数のgr1Flagが0または1に等しいかどうかを決定し得る。因果近傍係数のgr1Flagが0に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の絶対値が1に等しいと決定し得る。因果近傍係数のgr1Flagが1に等しい場合、エントロピー符号化ユニット116は、因果近傍係数のgr2Flagが0または1に等しいかどうかを決定し得る。因果近傍係数のgr2Flagが0に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の絶対値が2に等しいと決定し得る。因果近傍係数のgr2Flagが1に等しい場合、エントロピー符号化ユニット116は、因果近傍係数の推定された絶対値が3と等しいと決定し得る。
[0134]さらに、エントロピー符号化ユニット116は、非因果係数の推定された(または実際の)絶対値を決定するために、非因果近傍係数のより低い優先度のシンタックスエレメントを用い得る。すなわち、係数Xに関する係数シンタックスエレメントYに関するコード化コンテキストの決定は、サブブロック内の全ての非因果係数に関して、係数シンタックスエレメントYの優先度よりも高い優先度を有するシンタックスエレメントに基づいた推定された(または実際の)絶対値に基づき得る。例えば、エントロピー符号化ユニット116は、少なくとも部分的に前のパスにおいて符号化されたシンタックスエレメントに基づいて、非因果係数の推定された(または実際の)絶対値を決定し、少なくとも部分的に現在のコード化パスにおいて符号化されたシンタックスエレメントに基づいて、因果係数の推定された(または実際の)絶対値を決定し、および少なくとも部分的に非因果係数の推定された(または実際の)絶対値と因果係数の推定された(または実際の)絶対値に基づいて、シンタックスエレメントのコード化コンテキストを選択し得る。
[0135]例えば、エントロピー符号化ユニット116が、現在sigMapFlagをコード化中である場合、エントロピー符号化ユニット116は、非因果近傍係数の推定された絶対値が0に等しいと決定し得る。エントロピー符号化ユニット116が、現在gr1Flagをコード化中であり、および非因果近傍係数のsigMapFlagが0に等しい場合、エントロピー符号化ユニット116は、非因果近傍係数の絶対値が0に等しいと決定し得る。エントロピー符号化ユニット116が現在gr1Flagをコード化中であり、および非因果近傍係数のsigMapFlagが1に等しい場合、エントロピー符号化ユニット116は、非因果近傍係数の推定された絶対値が1に等しいと決定し得る。
[0136]エントロピー符号化ユニット116がgr2Flagを符号化しており、および非因果近傍係数のsigMapFlagが0に等しい場合、エントロピー符号化ユニット116は、非因果近傍係数の絶対値が0に等しいと決定し得る。エントロピー符号化ユニット116がgr2Flagを符号化しており、非因果近傍係数のsigMapFlagが1に等しく、および非因果近傍係数のgr1Flagが0に等しい場合、エントロピー符号化ユニット116は、非因果近傍係数の絶対値が1に等しいと決定し得る。エントロピー符号化ユニット116がgr2Flagを符号化しており、非因果近傍係数のsigMapFlagが1に等しく、および非因果近傍係数のgr1Flagが1に等しい場合、エントロピー符号化ユニット116は、非因果近傍係数の推定された絶対値が2に等しいと決定し得る。
[0137]エントロピー符号化ユニット116が第4のおよび/または第5のコード化パスを実行すると、エントロピー符号化ユニット116は、係数のlevelRemと関連するゴロム・ライスコードを識別し得る。係数の係数シンタックスエレメントに関するゴロム・ライスコードを識別するために、エントロピー符号化ユニット116は、係数のコンテキスト近傍内の係数の推定されたまたは実際の絶対値に基づいて、係数シンタックスエレメントに関するコード化コンテキストを選択し得る。エントロピー符号化ユニット116は次に、係数シンタックスエレメントに関するゴロム・ライスパラメータとゴロム・ライスコードを識別するために選択されたコンテキストを用い得る。エントロピー符号化ユニット116はゴロム・ライスコードを出力し得る。
[0138]エントロピー符号化ユニット116がlevelRemに対してゴロム・ライスコード化動作を実行している場合、エントロピー符号化ユニット116は、現在のサブブロックの中の因果近傍係数の実際の絶対値を決定するために、これらの係数のsigMapFlag、gr1Flag、gr2Flag、およびlevelRemを用いることができるので、エントロピー符号化ユニット116は、これらの係数の推定された絶対値を決定する必要は無い。
[0139]いくつかの例において、映像コーダー(例えば、映像符号化器20または映像復号器30)は、コンテキストインデックスに基づいてコード化コンテキストを決定する。映像コーダーは、コンテキストインデックスc0を計算することによって、係数のsigMapFlagに関するコンテキストインデックスを計算することができ、そこで、c0=min(sum_absolute_level,5)であり、sum_absolute_levelは、係数のコンテキスト近傍内の係数の実際のまたは推定された絶対値の和である。言い換えれば、
JCTVC−H0228の提案において、係数のコンテキスト近傍は、図2および図3の例において示されるように、因果近傍に限定される。さらに、JCTVC−H0228の提案において、映像コーダーは、各サブブロックを通して単一パスを実行する。単一パスの間に、映像コーダーは、サブブロックの次の係数を処理する前に、サブブロックの係数に関するsigMapFlag、gr1Flag、gr2Flag、signFlag、およびLevelRemを生成および符号化する。
[0140]さらに、JCTVC−H0228の提案において、映像コーダーは、gr1Flagに関するコンテキストインデックスc1を計算することができ、そこで、c1=min(sum_absolute_levelMinus1,4)+1である。gr2Flagに関するコンテキストインデックスを計算するために、映像コーダーは、コンテキストインデックスc2を計算することができ、ここで、c2=min(sum_absolute_levelMinus1,4)+1である。値sum_absolute_levelMinus1は、sum_absolute_levelから値num_significant_coeffを差し引くことによって決定されることができ、ここにおいて、num_significant_coeffは、コンテキスト近傍内のゼロではない係数の数と等しい。
上記の式において、合計は、コンテキスト近傍内の係数の全体にわたる。上記の式において、
は、
の場合
に等しく、x iが0に等しい場合0に等しく、ここにおいてxiは係数iの実際のまたは推定された絶対値である。映像コーダーは、値num_significant_coeffをsum_absolute_levelから差し引くことによってsum_absolute_levelMinus1を決定し得る。値num_significant_coeffは、
を持つ
に等しい。
[0141]さらに、JCTVC−H0228の提案がコード化パスおよび非因果近傍係数に拡張された場合、過度の重要度が非因果近傍係数の推定された(または実際の)絶対値に与えられ得、それがコード化能率を低下させる可能性がある。例えば、係数の絶対値は、より高い周波数における係数に関して、平均して、典型的に減少する。したがって、因果係数が有意であり、および高い絶対マグニチュードを有する場合、現在の係数が有意であり、および高い絶対マグニチュードを持っている見込みがある。高い絶対マグニチュードの1つの例は、3または3よりも高いものであり得る。しかし、この関係は非因果係数を求めない。例えば、現在の係数は典型的に非因果係数より高い周波数にある。したがって、非因果係数が有意であるならば、現在の係数が有意であるという推論は、それが因果係数に関するものよりも弱い。このため、エントロピー符号化ユニット116は、本開示の技術にしたがって、コード化コンテキストを決定する際に、因果および非因果係数を異なるように扱い得る。
[0142]例えば、エントロピー符号化ユニット116は、本開示の技術にしたがって、コード化コンテキストを決定するときに因果係数の実際のまたは推定された絶対値とは対照的に、非因果係数の推定されたまたは実際の絶対値に異なる重み付けを適用し得る。言い換えれば、異なる重み付けが因果および非因果係数に与えられ得る。この例において、非因果係数(または因果係数)に適用される重み付けは、非因果係数と現在の係数の間で、コード化順序における係数の数の点で、距離に依存し得る。さらに、一般に、非因果係数は所与の係数に関するコード化コンテキストの中で因果係数より低い重みつけを割り当てられ得る。
[0143]本開示の1つまたは複数の技術にしたがって、エントロピー符号化ユニット116は、非因果近傍係数のトータルの有意性を1減らし得る。例えば、エントロピー符号化ユニット116は、因果および非因果係数に関して別個の和を保持し得る。この例において、エントロピー符号化ユニット116は、トータルを1だけ減少させることによって、コンテキスト近傍内の有意な非因果係数のトータルの重要度を減らし得る。したがって、num_significant_coeffを計算するために、有意な非因果係数の数が4である場合、有意な非因果係数の数は3であると扱われる。すなわち、エントロピー符号化ユニット116は、下記の式の通りnum_significant_coeffを計算し得る。
[0144]エントロピー符号化ユニット116は、下記の式を計算することによって、sum_absolute_levelMinus1を決定し得る。
sum_absolute_level−num_significant_coeff
エントロピー符号化ユニット116は、sum_absolute_levelMinus1と4のうちの小さい方としてgr2Flagまたはgr1Flagに関するコンテキストインデックスを決定し得る。類似の変更は、sum_absolute_levelおよびsum_absolute_levelMinus1のようなその他の値の計算に対しても行える。1減少させる代わりに、エントロピー符号化ユニット116は、コンテキスト近傍内の非因果係数に関するコンテキスト導出計算にその他の調整を適用し得る。例えば、その他の例において、エントロピー符号化ユニット116は、有意な非因果近傍係数の数を1以外の値、例えば、2、3、4、等だけ減らし得る。有意な非因果コンテキスト近傍係数の数に適用された調整が高ければ高いほど、非因果係数の効果的な重み付けは低くなる。この方法において、エントロピー符号化ユニット116は、1つまたは複数の非因果係数の推定されたまたは実際の絶対値および1つまたは複数の因果係数の推定された絶対値に基づいて、インデックスを決定するために式を適用し得、ここにおいて、式は、1つまたは複数の非因果係数の推定されたまたは実際の絶対値または1つまたは複数の因果係数の推定されたまたは実際の絶対値に重み付け付け値を適用する。エントロピー符号化ユニット116は、少なくとも部分的にインデックスに基づいて、シンタックスエレメントのコード化コンテキストを選択し得る。
[0145]その他の例において、エントロピー符号化ユニット116は、上述以外の方法で、sigMapFlag、gr1Flag、およびgr2Flagに関するコンテキストインデックスを決定し得る。例えば、エントロピー符号化ユニット116は、1より大きい絶対値を有するコンテキスト近傍係数の数に基づいて、gr1Flagに関するコンテキストインデックスを決定し得る。別の例において、エントロピー符号化ユニット116は、gr1Flagに関する2つのコード化コンテキストのセットを用い得る。この例において、エントロピー符号化ユニット116は、1より大きい絶対値を有するコンテキスト近傍係数がない場合、gr1Flagに関する第1のコード化コンテキストのセットを使用し得る。さらに、この例において、エントロピー符号化ユニット116は、1より大きい絶対値を有する1つまたは複数のコンテキスト近傍係数がある場合、gr1Flagに関する第2のコード化コンテキストのセットを用い得る。この例において、エントロピー符号化ユニット116は、sum_absolute_levelMinus1または4のより小さい方と等しくなる第1または第2のコード化コンテキストのセットのいずれかにコンテキストインデックスを決定し得る。この方法において、エントロピー符号化ユニット116は、現在の係数のコンテキスト近傍内のいくつの係数が1より大きい絶対値を持つかに基づいて、gr1Flagに関するコード化コンテキストを選択し得る。その他の例において、エントロピー符号化ユニット116は、gr1Flagに関する2より大きいコード化コンテキストのセットを用い得る。同様に、エントロピー符号化ユニット116は、sigMapFlagおよびgr2Flagに関するコード化コンテキストの複数のセットを用い得る。別の例において、エントロピー符号化ユニット116は、1より大きく、および2より大きい絶対値を有する近傍係数の数に基づいて、sigMapFlagに関するコンテキストインデックスを決定し得る。
[0146]エントロピー符号化ユニット116は、上で定義されたコンテキストインデックスc0、c1、およびc2を計算するために、係数の絶対値を記憶し得る。c0、c1、およびc2の定義から、sum_absolute_levelが4より大きい場合、c0の値の上限は5に定められる。同様に、sum_absolute_levelMinus1が3より大きい場合、c1およびc2の値の上限は4に定められる。したがって、各係数に関する絶対レベル値を記憶する代わりに、c0、c1およびc2に関する同一の値を作成する間に絶対レベル値を3ビットに切り捨てることが適当である。したがって、本開示の技術にしたがって、各係数に関する絶対値を記憶する代わりに、エントロピー符号化ユニット116は、c0、c1およびc2に関する同一の値を作成する間に7(3ビット)に係数の絶対値をクリップ(例えば、切り捨て)し得る。さらに、いくつかの例において、エントロピー符号化ユニット116は、3(2ビット)に係数の絶対値をクリップし得る。この方法において、エントロピー符号化ユニット116は、非因果係数の推定された(または実際の)絶対値を3(2ビット)または7(3ビット)以下にクリップし、因果係数の推定された絶対値を3(2ビット)または7(3ビット)に切り捨て、および少なくとも部分的に非因果および因果係数のクリップされた推定された(または実際の)絶対値に基づいて、シンタックスエレメントに関するコード化コンテキストを選択し得る。しかし、エントロピー符号化ユニット116が係数の絶対値を3(2ビット)にクリップする場合の例において、c0、c1およびc2の値は影響を受け得る。
[0147]いくつかの例において、エントロピー符号化ユニット116は、単一のコード化パスの間に、サブブロックの複数の係数の係数シンタックスエレメントを符号化し得る。
エントロピー符号化ユニット116は、様々な方法でこれを達成し得る。アプローチの第1の例にしたがって、エントロピー符号化ユニット116は、各コード化パスの中で、並列にn個の連続した係数まで処理し得、ここで、nはゼロより大きい数である。例えば、エントロピー符号化ユニット116は、並列に4個の連続した係数まで処理し得る。エントロピー符号化ユニット116が現在、現在の係数を処理している場合、エントロピー符号化ユニット116は、シンタックスエレメントが現在のコード化パスと関連する場合の別の係数と関連するシンタックスエレメントにアクセスできず、その別の係数は、n個の連続した係数のグループのメンバーであり、その別の係数および現在の係数は、同じサブブロックの中にあり得る。言い換えれば、現在の係数に関するコンテキスト導出は、並列のコンテキスト導出が所望されるその他の係数からの情報に依存し得ないという制限が課せられる。エントロピー符号化ユニット116がこういった状況でシンタックスエレメントへアクセスするのを防ぐことは並列処理を容易にし得る。本開示の1つまたは複数の技術にしたがって、「ホール」および「部分ホール」の概念は複数のビンに関する並列のコンテキスト導出を可能にするために用いられる。
[0148]因果係数は、エントロピー符号化ユニット116が、現在の係数の現在の優先度のシンタックスエレメントをコード化するためのコンテキストを選択するために、係数の現在の優先度のシンタックスエレメントを用いることができない場合に「ホール」と称され得る。現在の優先度のシンタックスエレメントは、エントロピー符号化ユニット116が現在実行しているコード化パスの間に処理されるシンタックスエレメントである。いくつかの例において、ホールの位置は、現在の係数を含む4×4のサブブロックの外側にあることは決して無い。
[0149]エントロピー符号化ユニット116は、ホールの現在の優先度のシンタックスエレメントにアクセスしないので、エントロピー符号化ユニット116は、ホールの実際のまたは推定された絶対値を決定するために、ホールの現在の優先度のシンタックスエレメントを用いることはできない。エントロピー符号化ユニット116は、ホールの実際の絶対値を決定することができないので、エントロピー符号化ユニット116は、現在の係数のシンタックスエレメントをコード化するゴロム・ライスまたはCABACに関するコンテキストを選択するために、ホールの実際の絶対値を用いることができない。下記で詳細に論じられる図10A−10Gは、エントロピー符号化ユニット116のようなエントロピーコード化ユニットがコード化パスの間に並列に4個の係数を処理する場合に4×4のサブブロック内の係数のコンテキスト近傍内のホールの位置の例を示す。
[0150]したがって、エントロピー符号化ユニット116は、ホールに関する推定された(または実際の)絶対値を決定し得る。いくつかの例において、エントロピー符号化ユニット116は、ホールの絶対値がゼロまたは別の既定値と等しいと常に決定し得る。言い換えれば、エントロピー符号化ユニット116は、因果係数の絶対値を既定値と等しいと決定し得る。例えば、エントロピー符号化ユニット116は、ホールの位置に関する固定された絶対レベル値を用い得る。さらに、この例において、エントロピー符号化ユニット116が4×4のサブブロックスキャンに4つのビンの並列処理を用いる場合、ホールは、同じサブブロックからのスキャン順序における前の3つの係数のうちのいずれかが現在の係数のコンテキスト近傍に属する場合、前の3つの係数がコンテキスト導出の目的のために0の絶対値を持つと仮定されるように導入される。
[0151]別の例において、ホールの係数が有意でない(すなわち、0に等しい)と仮定する代わりに、エントロピー符号化ユニット116は、別の係数に関する絶対レベル値を用い得る。すなわち、エントロピー符号化ユニット116が特定の係数の係数シンタックスエレメントに関するコード化コンテキストを選択している場合、エントロピー符号化ユニット116は特定の係数のコンテキスト近傍内のホールの絶対値として別の係数の実際のまたは推定された絶対値を用い得る。このその他の係数は、特定の係数のコンテキスト近傍の中にあり得る。その他の例において、エントロピー符号化ユニット116は、ホールを除きおよびオリジナルのコンテキスト近傍の外側にあるその他の係数を含むために特定の係数のコンテキスト近傍を修正し得る。いくつかの例において、その他の係数は、ホールの右側の係数であり得る。したがって、コンテキスト導出に関して、右側の係数は、2度数えられる。
[0152]その他の例において、エントロピー符号化ユニット116は、少なくとも部分的にホールのより高い優先度のシンタックスエレメントに基づいてホールに関する絶対値を決定し得る。こういった例において、ホールは「部分ホール」と称され得る。さらに、こういった例において、エントロピー符号化ユニット116は、ホールの現在の優先度およびより低い優先度の係数シンタックスエレメントがまるで0に等しいかのようにホールに関する絶対値を決定し得る。例えば、エントロピー符号化ユニット116が特定の係数のgr2Flagに関するコード化コンテキストを選択している場合、エントロピー符号化ユニット116は、ホールのsigMapFlagおよびもしあればgr1Flagに基づいて、特定の係数のコンテキスト近傍内のホールの絶対値を決定し得る。さらに、この例において、エントロピー符号化ユニット116が特定の係数のgr2Flagを符号化している場合、エントロピー符号化ユニット116は、まるでホールのgr2FlagおよびlevelRemが0に等しいかのようにホールの絶対値を決定し得る。
[0153]エントロピー符号化ユニット116がホールのより高い優先度の係数シンタックスエレメントに基づいてホールに関する絶対値を決定する別の例において、エントロピー符号化ユニット116は、部分的にホール(例えば、ホールの右側)に隣接する係数の現在の優先度の係数シンタックスエレメントに基づいて、ホールの絶対値を決定し得る。言い換えれば、エントロピー符号化ユニット116は、因果係数の絶対値を因果係数に隣接する係数の絶対値に等しいと決定し得る。例えば、エントロピー符号化ユニット116が特定の係数のgr2Flagを符号化している場合、エントロピー符号化ユニット116はホールのsigMapFlag、ホールのgr1Flag、およびホールに隣接する係数のgr2Flagに基づいて、特定の係数のコンテキスト近傍内のホールの絶対値を決定し得る。ホールに隣接する係数は、特定の係数のコンテキスト近傍の外側にあり得る。いくつかの例において、ホールに隣接する係数は、特定の係数を含むサブブロックの外側にあり得る。
[0154]エントロピー符号化ユニット116は、現在の係数のシンタックスエレメントのCABACまたはゴロム・ライスコード化に関するコンテキストを選択するために、現在の係数のコンテキスト近傍内の係数の絶対値を用い得る。したがって、エントロピー符号化ユニット116は、近傍の係数がコード化順序に従ったn個の連続した位置のグループに属するという決定に応じて、近傍の係数の絶対値を決定し得る。
[0155]エントロピー符号化ユニット116が、コード化パスの間に、並列にn個の係数シンタックスエレメントのコード化コンテキストを決定する場合のその他の例において、エントロピー符号化ユニット116は、サブブロックの係数をn個の係数から成るグループに区分し得る。例えば、エントロピー符号化ユニット116が並列に4個の係数シンタックスエレメントのコード化コンテキストを決定する場合、エントロピー符号化ユニット116は、サブブロックを4個の係数から成るグループに区分し得る。いくつかの例において、グループはn個未満の係数を含み得る。典型的に、n個未満の係数を含むグループはサブブロック内の係数から成る最後のグループである。係数のコンテキスト近傍は、サブブロック内の各係数に関して、その係数のコンテキスト近傍が、その係数と同じグループ内にある係数を含まないように定義される。下記に詳細に記載される図11A−11Fは、係数ブロックの4×4のサブブロック内の係数から成るグループの例を示す概念図である。
[0156]符号化ユニット116が前の段落に記載されたようにサブブロックの係数をn個の係数から成るグループに区分する場合の例において、係数のコンテキスト近傍はホールを含み得る。エントロピーコード化ユニット116は、上述した技術のいずれかにしたがって、ホールの絶対値を決定し得る。例えば、エントロピーコード化ユニット116が特定の係数の係数シンタックスエレメントに関するコード化コンテキストを選択している場合、エントロピーコード化ユニット116は、特定の係数のコンテキスト近傍内にあり得るまたは有り得ない別の係数の実際のまたは推定された絶対値に基づいて、ホールの絶対値を決定し得る。すなわち、コンテキスト近傍は、もともと特定の係数のコンテキスト近傍内になかった係数を含むように修正され得る。別の例において、エントロピー符号化ユニット116が特定の係数の係数シンタックスエレメントに関するコード化コンテキストを選択している場合、エントロピーコード化ユニット116は、ホールのより高い優先度の係数シンタックスエレメントおよび0に等しいと仮定されるホールの現在の優先度およびより低い優先度の係数シンタックスエレメントに基づいて、ホールの絶対値を決定し得る。
[0157]さらに、エントロピー符号化ユニット116がサブブロックの係数をn個の係数から成るグループに区分する場合のいくつかの例において、係数のコンテキスト近傍は、5個未満の係数を含み得る。こういった例において、エントロピー符号化ユニット116は、コンテキストインデックスを決定するために、sum_absolute_level、sum_absolute_level_Minus1、およびnum_significant_coeffの調整された値を用い得る。例えば、エントロピー符号化ユニット116は、特定のスケーリング係数だけsum_absolute_level、sum_absolute_level_Minus1、およびnum_significant_coeffをスケールし得る。この例において、特定の係数のコンテキスト近傍が1つのホールを有する場合、エントロピー符号化ユニット116は、5/4の係数によって、sum_absolute_level、sum_absolute_level_Minus1、およびnum_significant_coeffをスケールし得る。いくつかの例において、エントロピー符号化ユニット116は、sum_absolute_level、sum_absolute_level_Minus1、およびnum_significant_coeffのスケーリングを実施するためにルックアップテーブルを用い得る。
[0158]その他の例において、エントロピー符号化ユニット116は、係数ブロックの各サブブロックを係数から成るグループに区分する。いくつかの例において、係数から成るグループのそれぞれは、場合によっては係数から成る最後のグループを除く、n個の係数を含み得る。下記に詳細に記載される図12は、係数ブロックの4×4のサブブロックの中の係数から成るグループ分けの別の例を示す概念図である。こういった例において、エントロピー符号化ユニット116は、次のグループ内の係数のいずれかの係数シンタックスエレメントを処理する前に、グループ内の係数の全ての係数シンタックスエレメントを処理する。すなわち、サブブロック全体に関する次のコード化パスを実行する前に、サブブロック全体に関する1つのコード化パスを実行する代わりに、エントロピー符号化ユニット116は、サブブロック内の係数から成る次のグループに関する5つのコード化パスを実行する前に、サブブロック内の係数から成るグループに関する全ての5つのコード化パスを実行し得る。したがって、グループ内で、エントロピー符号化ユニット116は、全ての5つのコード化パスを実行する。
[0159]前の段落の例において、エントロピー符号化ユニット116は、上の例に記載されたのと同じ方法で、係数のコンテキスト近傍内のホールの絶対値を決定し得る。しかし、前の段落の例において、エントロピー符号化ユニット116は、係数の推定された絶対値とは対照的に、より多くの係数の実際の絶対値を決定することができ得る。
[0160]いくつかの例において、係数シンタックスエレメントをエントロピーコード化するために利用可能なコード化コンテキストは、コンテキストセットに区分され得る。コンテキストセットのそれぞれは、複数のコード化コンテキストを含み得る。特定のシンタックスエレメントに関するコード化コンテキストを選択するために、エントロピー符号化ユニット116は、特定の係数シンタックスエレメントに関するコンテキストセットインデックス(context set index)を決定し、および特定の係数シンタックスエレメントに関するコンテキストインデックスを決定し得る。決定されたコンテキストインデックスは、決定されたコンテキストセットインデックスによって示されるコンテキストセット内のコード化コンテキストを示す。
[0161]1つの例において、エントロピー符号化ユニット116は、4×4および8×8のTU内の係数のsigMapFlagに関する位置ベースのコンテキストモデリングを用いる。位置ベースのコンテキストモデリングにおいて、エントロピー符号化ユニット116は、少なくとも部分的に係数ブロック内の特定の係数の位置に基づいて特定の係数に関するコード化コンテキストを選択する。この例において、sigMapFlagに関するコンテキストインデックスはテーブルのセット内で定義され得る。テーブルは異なるコンテキストセットに対応し得る。4×4のルマ係数ブロックに関するテーブル、4×4のクロマ係数ブロックに関するテーブル、および8×8のルマまたはクロマ係数ブロックに関するテーブルの3つのテーブルがあり得る。ルマ係数ブロックとは、ルマ・サンプルブロックから導出される係数ブロックである。クロマ係数ブロックとは、クロマ・サンプルブロックから導出される係数ブロックである。さらに、エントロピー符号化ユニット116は、例えば16×16および32×32の係数ブロックのようなより大きい係数ブロックに関するテンプレートベースのコンテキストモデリングおよび位置ベースのコンテキストモデリングの混合を用い得る。こういったより大きい係数ブロック内の係数に関して、エントロピー符号化ユニット116は、より高い周波数にある係数(すなわち、係数ブロックの右下隅により近い係数)のsigMapFlagに関する単一のコード化コンテキストを用い得る。こういったより大きい係数ブロック内のその他の係数に関して、エントロピー符号化ユニット116は、係数のコンテキスト近傍内のその係数が0に等しいかどうかに基づいてコード化コンテキストを選択し得る。言い換えれば、エントロピー符号化ユニット116は、特定の係数のsigMapFlagに関するコード化コンテキストを決定するために特定の低い周波数係数のコンテキスト近傍内の係数の有意性を用い得る。
[0162]1つの例において、エントロピー符号化ユニット116は、ルマ係数ブロック内の係数のgr1Flagをエントロピー符号化のために4つのコンテキストセットを用い、およびクロマ係数ブロック内の係数のgr1Flagをエントロピー符号化するために2つのコンテキストセットを用いる。この例において、エントロピー符号化ユニット116は、係数ブロック内の特定の係数の場所に基づいて、および予めコード化された係数から成るグループ内の1に等しいgr1Flagの数(numGreater1)にもまた基づいて、特定の係数のgr1Flagに関するコンテキストセットインデックスを決定し得る。この例において、エントロピー符号化ユニット116は、最大3である、特定の係数のコンテキスト近傍内の後続のもの(すなわち、0に等しいgr1Flag)の数に基づいて、コンテキストセットの中のコンテキストインデックス(ctxIdx_level_greater1)を決定し得る。例えば、エントロピー符号化ユニット116は下記の式のようにコンテキストインデックスを決定し得る。
[0163]いくつかの例において、エントロピー符号化ユニット116は、ルマ係数ブロック内の係数のgr2Flagをエントロピー符号化するために4つのコンテキストセットを用い、およびクロマ係数ブロック内の係数のgr1Flagをエントロピー符号化するために2つのコンテキストセットを用いる。エントロピー符号化ユニット116は、係数ブロックの中の特定の係数の場所および係数から成る予めコード化されたグループ内の1に等しいgr1Flagの数(numGreater1)に基づいて、特定の係数のgr2Flagに関するコンテキストセットインデックスを決定し得る。gr2Flagのコンテキストインデックスは、gr2Flagに関するコンテキストセットインデックスと等しくなり得る。
[0164]別の例において、ルマ係数ブロックに関する係数シンタックスエレメントをエントロピーコード化するための3つのコンテキストセットとクロマ係数ブロックに関する係数シンタックスエレメントをエントロピーコード化するための2つのコンテキストセットがある。この例において、sigMapFlagをエントロピー符号化するためにコンテキストセットの各々の中に6つのコード化コンテキストがある。言い換えれば、ルマ係数ブロックの係数のsigMapFlagに関して、3つのコンテキストセットがあり得、それぞれが6つのコード化コンテキストを含む。クロマ係数ブロックの係数のsigMapFlagに関して、2つのコンテキストセットがあり得、それぞれが6つのコード化コンテキストを含む。さらに、この例において、gr1Flagとgr2Flagをエントロピー符号化するためのコンテキストセットの各々の中に5つのコード化コンテキストがある。
[0165]前の段落の例において、エントロピー符号化ユニット116は、特定の係数の係数ブロックの中の位置に基づいて、特定の係数の係数シンタックスエレメントをエントロピー符号化するための選択されたコード化コンテキストを含むコンテキストセットを示すコンテキストセットインデックス(ctx_set_idx)を決定し得る。この例において、エントロピー符号化ユニット116は、下記の式のようにコンテキストセットインデックスを決定し得る。
上記の式において、posXおよびposYは、特定の係数の係数ブロック内で、それぞれ列と行を指す。上記の式において、posXが2未満であり、およびposYが2未満である場合、ctx_set_idxは0に等しい。さらに、上記の式において、posXが2以上またはposYが2以上であり、および係数ブロックがルマ係数ブロックではない場合、ctx_set_idxは1に等しい。上記の式において、posXまたはposYのどちらか一方が2以上であり、係数ブロックがルマ係数ブロックであり、およびposXとposYの両方が4未満である場合、ctx_set_idxは1に等しい。上記の式において、係数ブロックがルマ係数ブロックであり、およびposXとposYのどちらか一方が4以上である場合、ctx_set_idxは2に等しい。この例において、エントロピー符号化ユニット116は、本開示の別の場所に記載した例の1つまたは複数にしたがって、コンテキストインデックスを決定し得る。
[0166]エントロピー符号化ユニット116がコンテキストセットをどのように用い得るかの別の例において、ルマ係数ブロックに関する係数シンタックスエレメントをエントロピーコード化する3つのコンテキストセットがあり得る。さらに、この例において、クロマ係数ブロック内の係数のsigMapFlagを符号化するための2つのコンテキストセットがあり得、およびクロマ係数ブロック内の係数のgr1Flagとgr2Flagを符号化するための1つのコンテキストセットがあり得る。ルマおよびクロマ係数ブロック内の係数のうちのsigMapFlagを符号化するためのコンテキストセットの各々は、6つのコード化コンテキストを含み得る。ルマおよびクロマ係数ブロック内の係数のうちのgr1Flagとgr2Flagを符号化するためのコンテキストセットの各々は、5個のコード化コンテキストを含み得る。この例において、エントロピー符号化ユニット116は、下記の式を用いて、ルマ係数ブロックの係数シンタックスエレメントに関するコンテキストセットインデックス(ctx_set_idx)を決定し得る。
上記の式において、posXおよびposYは、特定の係数の係数ブロック内で、それぞれ列と行を表す。さらに、上記の式において、posXまたはposYのどちらか一方が4以上である場合、ctx_set_idxは0に等しい。上記の式において、posXとposYの両方が4未満であり、およびposXまたはposXのどちらか一方が2以上である場合、ctx_set_idxは1に等しい。上記の式において、posXとposYの両方が2未満である場合、ctx_set_idxは2に等しい。
[0167]前の段落の例において、エントロピー符号化ユニット116は、下記の式を用いて、クロマ係数ブロックの係数のうちのsigMapFlagに関するコンテキストセットインデックス(ctx_set_idx)を決定し得る。
上記の式において、posXおよびposYは、特定の係数の係数ブロック内で、それぞれ列と行を表す。さらに、上記の式において、posXとposYの両方が2未満である場合、ctx_set_idxは1に等しい。posXまたはposYのどちらか一方が2より大きいか、または2に等しい場合、ctx_set_idxは0に等しい。この例において、エントロピー符号化ユニット116は、本開示の別の場所に記載した例の1つまたは複数にしたがって、コンテキストインデックスを決定し得る。
[0168]図6は、本開示の技術を実施するように構成される映像復号器30の例を示すブロック図である。図6は説明の目的のために提供されており、および本開示において広く例示されおよび記載された技術を限定するものではない。説明の目的のために、本開示はHEVCコード化のコンテキストにおいて映像復号器30について記載する。しかし、本開示の技術は、その他のコード化の規格または方法に適用可能であり得る。
[0169]図6の例において、映像復号器30は、エントロピー復号ユニット150、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット159、および復号画像バッファ160を含む。予測処理ユニット152は、動き補正ユニット162およびイントラ予測処理ユニット164を含む。その他の例において、映像復号器30は、より多くの、より少ない、または異なる機能コンポーネントを含み得る。
[0170]映像復号器30は、ビットストリームを受信する。エントロピー復号ユニット150は、ビットストリームからシンタックスエレメントを抽出するためにビットストリームを解析し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット159は、ビットストリームから抽出されたシンタックスエレメントに基づいて、復号された映像データを生成し得る。
[0171]ビットストリームを解析する一環として、エントロピー復号ユニット150は、ビットストリーム内のエントロピー符号化されたシンタックスエレメントをエントロピー復号し得る。例えば、エントロピー復号ユニット150は、係数ブロック内の係数の、例えば、sigMapFlag、gr1Flag、およびgr2Flag等のいくつかのシンタックスエレメントに対して通常のCABAC復号を実行し得る。さらに、エントロピー復号ユニット150は、係数ブロック内の係数のうちのsignFlagおよびlevelRemのようなその他のシンタックスエレメントに対してバイパスエントロピー復号を実行し得る。
[0172]エントロピー復号ユニット150が、例えばsigMapFlag、gr1Flag、またはgr2Flagのような係数シンタックスエレメントに対して通常のCABACの復号を実行する場合、エントロピー復号ユニット150は、係数シンタックスエレメントに関するコード化コンテキストを選択し得る。エントロピー復号ユニット150は、係数シンタックスエレメントを選択するエントロピー符号化ユニット116に関して上述した例およびその他のもののいずれかにしたがって、係数シンタックスエレメントに関するコード化コンテキストを選択し得る。
[0173]さらに、映像復号器30は、分割されていないCUに対して再構成動作を実行し得る。分割されていないCUに対して再構成動作を実行するために、映像復号器30は、CUの各TUに対して再構成動作を実行し得る。CUの各TUに関する再構成動作実行することによって、映像復号器30は、CUと関連する残差サンプルブロックを再構成し得る。
[0174]CUのTUに対して再構成動作を実行する一環として、逆量子化ユニット154は、TUと関連する係数ブロックを逆量子化、すなわち非量子化(de-quantize)し得る。逆量子化ユニット154は、量子化の程度を決定するためにTUのCUと関連するQP値を用い得、および同様に、適用するための逆量子化ユニット154に関する逆量子化の程度を用い得る。
[0175]逆量子化ユニット154は、係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUと関連する残差サンプルブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用し得る。例えば、逆変換処理ユニット156は、係数ブロックに、逆DCT、逆整数変換、逆Karhunen−Loeve変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を適用し得る。
[0176]PUがイントラ予測を用いて符号化される場合、イントラ予測処理ユニット164は、PUに関する予測サンプルブロックを生成するためにイントラ予測を実行し得る。
イントラ予測処理ユニット164は、空間的に近傍にあるPUのサンプルブロックに基づいて、PUに関する予測サンプルブロックを生成するために、イントラ予測モードを用い得る。イントラ予測処理ユニット164は、ビットストリームから解析された1つまたは複数のシンタックスエレメントに基づいて、PUに関するイントラ予測モードを決定し得る。
[0177]動き補正ユニット162は、ビットストリームから抽出されたシンタックスエレメントに基づいて、第1の参照画像リスト(リスト0)と第2の参照画像リスト(リスト1)を構成し得る。さらに、PUがインター予測を用いて符号化される場合、エントロピー復号ユニット150は、PUに関する動き情報を抽出し得る。動き補正ユニット162は、PUの動き情報に基づいて、PUに関する1つまたは複数の参照ブロックを決定し得る。動き補正ユニット162は、PUに関する1つまたは複数の参照ブロックに基づいて、PUに関する予測サンプルブロックを生成し得る。
[0178]再構成ユニット158は、CUのTUと関連する残差サンプルブロックとCUのPUの予測サンプルブロック、すなわち、適宜、CUのサンプルブロックの再構成する、イントラ予測データかまたはインター予測データのいずれかを用い得る。特に、再構成ユニット158は、CUのサンプルブロックを再構成するために、残差サンプルブロックのサンプルを予測サンプルブロックの対応するサンプルに追加し得る。
[0179]フィルタユニット159は、CTBのCUのサンプルブロックと関連するブロッキングアーチファクトを低減するために、デブロッキング動作を実行し得る。映像復号器30は、復号画像バッファ160にCUのサンプルブロックを記憶し得る。復号画像バッファ160は、その後の動き補正、イントラ予測、および図1のディスプレイデバイス32のようなディスプレイデバイス上での表示のための参照画像を提供し得る。例えば、映像復号器30は、復号画像バッファ160内のサンプルブロックに基づいて、その他のCUのPUに対してイントラ予測またはインター予測動作を実行し得る。
[0180]図7は、本開示の1つまたは複数の技術にしたがって、映像データを符号化するための映像符号化器20の動作例200を示すフローチャートである。図7は、一例として提供されている。その他の例において、本開示の技術は、図7の例に示されるステップよりも多い、より少ない、またはそれとは異なるステップを用いて実施され得る。
[0181]図7の例において、変換処理ユニット104は、残差サンプルブロックに基づいて、係数ブロックを生成し得る(202)。上述したように、変換処理ユニット104は、離散コサイン変換のような1つまたは複数の変換を残差サンプルブロックに適用することによって、係数ブロックを生成し得る。特定の場合において、変換処理ユニット104は、残差サンプルブロックに変換を適用するのではなく、むしろ変換の適用をスキップし得る。図7の例には図示されていないが、量子化ユニット106は、係数ブロック内の係数を量子化し得る。
[0182]エントロピー符号化ユニット116は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを符号化し得る(204)。例えば、エントロピー符号化ユニット116は、サブブロック内の係数のsigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemを符号化するために、係数ブロックのサブブロック内の係数のコード化パスを実行し得る。エントロピー符号化ユニット116が、シンタックスエレメントの第1のセットを符号化する場合、エントロピー符号化ユニット116は、サブブロック内の各係数に関して、係数シンタックスエレメントを生成し得る。係数シンタックスエレメントがコンテキストコード化される場合、エントロピー符号化ユニット116は、係数シンタックスエレメントに関するコード化コンテキストを選択し、および係数シンタックスエレメントをエントロピー符号化するために、選択されたエントロピーコード化コンテキストを用い得る。そうでない場合、エントロピー符号化ユニット116は、係数シンタックスエレメントをバイパス符号化し得る。
[0183]さらに、エントロピー符号化ユニット116は、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを符号化し得る(206)。例えば、エントロピー符号化ユニット116は、第1のコード化パスの間にsigMapFlagを符号化し得、および第2のコード化パスの間にgr1Flagを符号化し得る。
[0184]エントロピー符号化ユニット116が、第2のコード化パスの間に、シンタックスエレメントを符号化する場合、エントロピー符号化ユニット116は、シンタックスエレメントを生成し得る(208)。シンタックスエレメントは、シンタックスエレメントの第2のセット内にあり得、および係数ブロックの現在の係数に対応し得る。さらに、エントロピー符号化ユニット116は、シンタックスエレメントに関するコード化コンテキストを選択する(210)。本開示の技術にしたがって、エントロピー符号化ユニット116は、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、シンタックスエレメントに関するコード化コンテキストを選択し得る。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり得、および非因果係数に対応し得る。例えば、第2のシンタックスエレメントは、非因果係数のより高い優先度のシンタックスエレメントであり得る。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応する。例えば、第1のシンタックスエレメントがgr2Flagである場合、第2のシンタックスエレメントは、gr1FlagまたはsigMapFlagであり得、および第3のシンタックスエレメントは、gr2Flagであり得る。非因果係数は、現在の(例えば、第2の)コード化パスのコード化順序において、現在の係数のあとに生じる。因果係数は、コード化順序において、現在の係数の前に生じる。
[0185]シンタックスエレメントに関するコード化コンテキストを選択した後、エントロピー符号化ユニット116は、少なくとも部分的に第1のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、シンタックスエレメントをエントロピー符号化し得る(212)。例えば、エントロピー符号化ユニット116は、通常のCABAC符号化を用いてシンタックスエレメントを符号化し得る。
[0186]図8は、本開示の1つまたは複数の技術にしたがって、映像データを復号するための映像復号器30の動作例250を示すフローチャートである。図8の例に示されるように、エントロピー復号ユニット150は、係数ブロックの係数の第1のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第1のセットを復号する(252)。さらに、エントロピー復号ユニット150は、係数ブロックの係数の第2のコード化パスの間に、係数ブロックの係数に対応するシンタックスエレメントの第2のセットを復号する(254)。
[0187]エントロピー復号ユニット150が、第2のコード化パスの間に現在のシンタックスエレメントを復号する場合、エントロピー復号ユニット150は、少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択し得る(256)。第2のシンタックスエレメントは、シンタックスエレメントの第1のセット内にあり、および非因果係数に対応する。第3のシンタックスエレメントは、シンタックスエレメントの第2のセット内にあり、および因果係数に対応する。非因果係数は、現在の(第2の)コード化パスのコード化順序において、現在の係数の後に生じる。因果係数は、コード化順序において、現在の係数の前に生じる。現在のシンタックスエレメントに関するコード化コンテキストを選択した後、エントロピー復号ユニット150は、少なくとも部分的に現在のシンタックスエレメントのために選択されたコード化コンテキストに基づいて、現在のシンタックスエレメントをエントロピー復号し得る(258)。例えば、エントロピー復号ユニット150は、通常のCABACの復号を用いて、現在のシンタックスエレメントを復号し得る。
[0188]エントロピー復号ユニット150は、少なくとも部分的に係数のシンタックスエレメントの第1および第2のセットに基づいて、係数ブロック内の係数の値を決定し得る(260)。逆量子化ユニット154および逆変換処理ユニット156は、係数ブロックの係数に基づいて、残差サンプルブロックを生成し得る(262)。続いて、再構成ユニット158は、PUのサンプルブロックを再構成するために、予測サンプルブロック内の対応するサンプルに追加され得る残りのサンプルブロックにおけるサンプルを追加し得る。
[0189]図9Aは、4×4のサブブロック300の例を示す概念図である。図9B−9Gは、図9Aのサブブロック300内の係数のコンテキスト近傍内のホールの例を示す概念図である。図9A−9内の丸は、サブブロック内の係数に対応する。図9A内の丸は、様々なタイプのクロスハッチングを有する。図9A内の丸のクロスハッチングのタイプは、図9B−9G内のどのコンテキスト近傍が、その丸に対応する係数に適用可能であるかを示す。例えば、水平のクロスハッチングを有する図9A内の丸は、図9Bに示されるタイプのコンテキスト近傍を持つ。垂直のクロスハッチングを有する図9Aの丸は、図9Cに示されるタイプのコンテキスト近傍を持つ。斜め右下のクロスハッチングを有する図9A内の丸は、図9Dに示されるタイプのコンテキスト近傍を持つ。斜め右上のクロスハッチングを有する図9A内の丸は、図9Eに示されるタイプのコンテキスト近傍を持つ。グリッドクロスハッチングを有する図9A内の丸は、図9Fに示されるタイプのコンテキスト近傍を持つ。対角線にクロスしたクロスハッチングを有する図9A内の丸は、図9Gに示されるタイプのコンテキスト近傍を持つ。
[0190]図9B−9Gにおいて、白塗りの丸はホールに対応し、黒塗りの丸はホールではない係数に対応する。いくつかの例において、エントロピーコード化ユニット(エントロピー符号化ユニット116またはエントロピー復号ユニット150のような)は、エントロピーコード化ユニットが現在の係数と並列にホールを処理しているので、「ホール」の現在の優先度の係数シンタックスエレメントにアクセスすることができないこともある。図9Gに示されるように、対角線にクロスしたクロスハッチングを有する図9A内の丸に関して、いずれのホールも用いられない。現在の4×4のサブブロックの外側にある係数が前のチャンクに属し得、およびそのチャンクの全ての係数シンタックスエレメントが利用可能なので、ホールの位置は、現在の4×4のサブブロックの外側にあり得ない。図9A−9Gの例において、エントロピーコード化ユニットは、コード化パスの間に、並列に4個の係数を符号化すると仮定される。図9A−9Gの例は4個のビンの並列処理を仮定するが、類似の技術が、n個のビンの並列処理を可能にするために用いられ得、ここで、
である。
[0191]図9A−9Eは4×4のサブブロックのコード化順序に関するホールの使用について記載しているが、エントロピーコード化ユニットは、水平、垂直等のその他のコード化順序にホールを適用し得る。したがって、一般に、n個のビンに関する並列のコンテキスト導出を可能にするために、係数に関するコンテキスト近傍が、現在の係数と同じサブブロックに属するコード化順序において前の(n−1)の係数のいずれかを含む場合、前の(n−1)の係数は、上述されたような、ホールまたはその他の係数によって置き換えられる。ホールを用いる利点の1つは、エントロピーコード化ユニットがn個のビンの並列処理のために設計される場合、
である限りm個のビンの並列処理のためにエントロピーコード化ユニットが用いられることができる点である。コンテキスト近傍の再設計は、並列処理の設計される程度と実行される程度の間の差異を説明するために必要とされ得ない。
[0192]下記で詳細に記載される図10A−10Fは、係数ブロックの4×4のサブブロック350内の係数のグループの例を示す概念図である。図10A−10F内の丸は、サブブロック内の係数に対応する。図10Aにおいて、係数を囲む形状352A−352Dは係数のグループの例を示す。図10A−10Fの例において、エントロピーコード化ユニット(例えば、エントロピー符号化ユニット116またはエントロピー復号ユニット150)は、サブブロック350の4個の係数を並列に処理すると仮定される。図10A−10Fの例は、4個のビンの並列処理を仮定するが、図10A−10Fの例は、係数のその他の数を並列に処理する、すなわち、nが1より大きい場合のn個のビンの並列処理のために修正され得る。さらに、図10A−10Fの例において、エントロピーコード化ユニットは、4×4のサブブロックの左下のコード化順序にしたがって、係数を処理することが仮定される。図10A−10Fの例は、水平のコード化順序、垂直のコード化順序等のような、その他のコード化順序に関して修正され得る。
[0193]図10B−10Fは、係数に関する例示的なコンテキスト近傍を示す。図10A内の丸は様々なタイプのクロスハッチングを有する。図10A内の丸のクロスハッチングのタイプは、図10B−10F内のどのタイプのコンテキスト近傍が丸に対応する係数に適用可能であるかを示す。例えば、垂直のクロスハッチングを有する図10A内の丸は、図10Bに示されるタイプのコンテキスト近傍を持つ。水平のクロスハッチを有する図10A内の丸は、図10Cに示されるタイプのコンテキスト近傍を持つ。対角線のクロスハッチングを有する図10A内の丸は、図10Dに示されるタイプのコンテキスト近傍を持つ。グリッドクロスハッチングを有する図10A内の丸は、図10Eに示されるタイプのコンテキスト近傍を持つ。対角線十字のクロスハッチングを有する図10A内の丸は、図10Fに示されるタイプのコンテキスト近傍を持つ。
[0194]図10B−10Fにおいて、白塗りの丸はホールに対応し、および黒塗りの丸はホールではない係数に対応する。しかし、図10B−10Fが、コンテキスト近傍内の係数がホールであり、および係数がサブブロック350の外側にあることを示す場合、係数の各係数シンタックスエレメントは利用可能であり、およびエントロピーコード化ユニットは、係数の係数シンタックスエレメントに基づいて、係数の実際の絶対値を決定し得る。
[0195]いくつかの例において、エントロピーコード化ユニットは、次の係数のグループに進む前に、4個の係数のグループに関する全てのコード化パスを終了し得る。したがって、エントロピーコード化ユニットが次の係数のグループをコード化する場合、最初の係数のグループ内の係数に関する実際の絶対値は利用可能である。例えば、エントロピーコード化ユニットは、グループ352C内のいずれかの係数シンタックスエレメントをコード化する前に、グループ352D内の各係数に関するsigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemをコード化し得る。
したがって、グループ352C内の係数に関する係数シンタックスエレメントをコード化する場合、グループ352D内の係数の実際の絶対値は利用可能であり得る。
[0196]図9A−9Gを図10A−10Fと比較すると、図10A−10F内に、ホールを持たないコンテキスト近傍を有するより多くの係数が存在することが明らかである。しかし、図10A−10Fの例において、グループがn個の係数を含む場合、m個のビンの並列処理(すなわち、m個の係数シンタックスエレメントを並列に処理する能力)は、mがnより少ないか、またはnと等しい、およびmがnで割り切れる場合のみ可能であり得る。例えば、グループがそれぞれ4個の係数を含む場合、エントロピーコード化ユニットは、4つまたは2つの係数シンタックスエレメントを並列に処理するだけである。
[0197]図11は、係数ブロックの4×4のサブブロック400の中の係数のグループ分けの別の例を示す概念図である。図11の例において、各丸は、サブブロック400内の係数に対応する。楕円402A−402Gは、サブブロック400内の係数のグループを示す。上述の図10A−10Gの例とは異なり、図11の例において、エントロピー符号化ユニット116またはエントロピー復号ユニット150のようなエントロピーコード化ユニットは、係数の次のグループの係数に対して任意のコード化パスを実行する前に、係数のグループに対して全ての5つのコード化パスを実行し得る。このために、エントロピーコード化ユニットがグループ内の係数シンタックスエレメントに関するコード化コンテキストを選択する場合、エントロピーコード化ユニットは、予め処理されたグループ内の係数の実際の絶対値を決定し得る。
[0198]上述したJCTVC−H0228の提案の欠点に加えて、JCTVC−H0228の提案は、映像コーダーに、CABACコード化されたシンタックスエレメントとバイパスコード化されたシンタックスエレメントのインターリーブコード化することを要求し得る。これは、JCTVC−H0228の提案が、次の係数をコード化する前に、係数に関するsigMapFlag、gr1Flag、gr2Flag、signFlag、およびlevelRemをコード化することを求めるからである。典型的に、sigMapFlag、gr1Flag、およびgr2Flagは、CABACコード化され、一方で、signFlagおよびlevelRemはバイパスコード化される。CABACコード化されたシンタックスエレメントとバイパスコード化されたシンタックスエレメントのインターリーブコード化は、コード化能率を低下させ得る。さらに、JCTVC−H0228の提案は、特定の係数に関するコード化コンテキストを選択するために、映像コーダーに特定の係数の係近傍数内の係数の絶対値全体を記憶することを要求し得る。係数の絶対値全体を記憶することは、映像コーダーによって要求される記憶量を著しく増加させ得る。
[0199]本開示の1つまたは複数の技術にしたがって、バイパスコード化されたシンタックスエレメントの並列化解析能力を容易にするために、各TUは1つまたは複数のサブセットに区分され得る。いくつかの例において、各サブセットは、主に2つのパス、1つはコンテキストコード化されたシンタックスエレメントに関するパスで、もう1つはバイパスコード化されたシンタックスエレメントに関するパスを用いてコード化される。コンテキストコード化されたシンタックスエレメントは、sigMapFlag、gr1Flag、およびgr2Flagであり得、およびバイパスコード化されたシンタックスエレメントは、signFlagおよびlevelRemであり得る。コンテキストコード化されたシンタックスエレメントパスにおいて、1つの係数の(もし利用可能の場合)sigMapFlag、gr1Flagおよびgr2Flagは、次の係数に進む前に符号化される/復号される。SingFlagおよびlevelRemはまた、分離されたパスを用いて処理され得る。この例において、3つのコード化パスは各チャンク内で適用される。上述された2つまたは3つのコード化パスの例はまた、TU全体内の係数コード化に適用され得る。
[0200]予め記載したとおり、絶対レベル値の記憶は、JCTVC−H0228の提案を用いることによるsigMapFlag、gr1Flag、およびgr2Flagのシンタックスエレメントのコンテキストモデルの選択のために必要とされ得る。本開示の別個のコード化パス技術において、すでに符号化された(または復号された)シンタックスエレメントは、コンテキストモデル選択のために用いられることができる。こういった論理を用いると、係数シンタックスエレメントのコンテキストモデルを導出する場合、同じチャンクに属する近傍の係数は、(すでにコード化されたコンテキストビンを用いて再構成された)3つの最大レベルを持ち得、前のチャンクに属する近傍の係数は、レベル情報全体を持つことができる。2つの部分の間のバランスのため、ならびに各係数に関するレベル値全体を記憶するためにバッファサイズを低減するために、記憶される係数は、コンテキストモデル導出のために記憶された係数を用いる前に、特定のしきい値に切り捨てられ得る。一例において、映像コーダーは、記憶された係数を3に切り捨て得(例えば、クリップし)、これは、2つのビットで表されたコンテキスト導出のための全ての記憶された係数が一貫したデータ幅を持つことをもたらし得る。
[0201]図12は、本開示の1つまたは複数の技術にしたがって、映像コーダーが3つのコード化パスにおいてサブブロックの係数シンタックスエレメントをコード化する動作例450を示すフローチャートである。動作450は、上述されたJCTVC−H0228の提案の欠点を解消し得る。
[0202]図12の例において、エントロピーコード化ユニット(例えば、エントロピー符号化ユニット116またはエントロピー復号ユニット150)は、係数ブロックのサブブロック内の係数のsigMapFlag、gr1Flag、およびgr2Flagをコード化するために、第1のコード化パスを実行し得る(452)。エントロピーコード化ユニットが第1のコード化パスを実行する場合、エントロピーコード化ユニットは、次の係数のsigMapFlag、gr1Flag、およびgr2Flagを生成およびCABACコード化する前に、係数のsigMapFlag、gr1Flag、およびgr2Flagを生成およびCABACコード化し得る。
[0203]第1のコード化パスを完了した後、エントロピーコード化ユニットは、サブブロック内の係数のsignFlagをコード化するために、第2のコード化パスを実行し得る(454)。エントロピーコード化ユニットが第2のコード化パスを実行する場合、エントロピーコード化ユニットは、次の係数のsignFlagをコード化する前に、係数のsignFlagを生成およびバイパスコード化し得る。さらに、第2のコード化パスを完了した後、エントロピーコード化ユニットは、サブブロック内の係数のlevelRemをコード化するために第3のコード化パスを実行し得る(456)。エントロピーコード化ユニットが第3のコード化パスを実行する場合、エントロピーコード化ユニットは次の係数のlevelRemをコード化する前に、係数のlevelRemを生成しおよびバイパスコード化し得る。
[0204]代替例において、エントロピーコード化ユニットは、単一のパスにおけるサブブロック内の係数のsignFlagとlevelRemの両方をコードし得る。すなわち、エントロピーコード化ユニットは、サブブロック内の次の係数のsignFlagとlevelRemをバイパスコード化する前に、係数のsignFlagとlevelRemをバイパスコード化し得る。この方法において、エントロピーコード化ユニットは、2つのパス、CABACコード化されたシンタックスエレメントに関する1つのコード化パスおよびバイパスコード化されたシンタックスエレメントに関する1つのコード化パスを実行し得る。さらに、その他の例において、エントロピーコード化ユニットは、係数ブロックのサブブロックとは対照的に、TUに関する係数ブロック全体に対して上述した3つまたは2つのコード化パスを実行し得る。コード化順序において前の方の係数のより多くのレベル情報(すなわち、sigMapFlag、gr1Flag、およびgr2Flag)がコード化コンテキストの選択に利用可能であるので、2つまたは3つのコード化パスの使用は、5つのコード化パスの使用に対して有利であり得る。すなわち、5個の別個のコード化パスと比較して、2つまたは3つのコード化パスの利点は、コンテキスト近傍内のより多くのレベル情報(3までのレベル)がコンテキスト導出のために用いられ得ることである。
[0205]図13Aおよび13Bは、コード化パスが斜めのコード化順序にしたがって実行される場合、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。図14Aおよび14Bは、コード化パスが水平のコード化順序にしたがって実行される場合、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。図15Aおよび15Bは、コード化パスが垂直のコード化順序にしたがって実行される場合、sigMapFlagに関するコード化コンテキストを選択するために用いられるコンテキスト近傍に関するテンプレートの例を示す概念図である。図13A、13B、14A、14B、15Aおよび15Bのテンプレートは、任意のサイズのTUを求め得る。図13A、13B、14A、14B、15Aおよび15Bの例において、各ブロックは係数ブロック内の係数に対応する。図13Aおよび13B内の矢印500は、斜めのコード化順序の方向を示す。図14Aおよび14B内の矢印510は、水平のコード化順序の方向を示す。図15Aおよび15B内の矢印520は、垂直のコード化順序の方向を示す。
[0206]図13A、13B、14A、14B、15Aおよび15B内のドットクロスハッチングを有するブロック502、504、512、514、522および524はそれぞれ、係数ブロック内の現在の係数を示す。図13A、13B、14A、14B、15Aおよび15Bの例において、エントロピーコード化ユニット(例えば、エントロピー符号化ユニット116またはエントロピー復号ユニット150)は、並列に2つのシンタックスエレメント(例えば、ビン)を処理し得る。したがって、係数のコンテキスト近傍に関するテンプレートは、コード化順序において、前の係数の現在の優先度のシンタックスエレメントを用いることを避ける。代わりに、いくつかの係数のコンテキスト近傍に関するテンプレートは、コード化順序において、前の係数以外の付加的な係数を含み得る。図13Bにおいて、ブロック506および508は付加的な係数に対応する。別の例において、ブロック506より上のブロックは付加的な係数に対応し得る。図14Aにおいて、ブロック516は付加的な係数に対応する。図14Bにおいて、ブロック518および519は付加的な係数に対応する。図15Aにおいて、ブロック526は付加的な係数に対応する。図15Bにおいて、ブロック528および530は付加的な係数に対応する。
[0207]エントロピーコード化ユニットが、4×4のサブブロックを用いて係数ブロックをコード化する場合および係数ブロックの中の現在の係数(係数ブロックの左上隅について)の(列、行)座標が、(0、0)または(3、2)ではない場合、エントロピーコード化ユニットは、コード化順序に依存して、図13A、14Aまたは15Aに示される現在の係数に対して空間関係を持つ係数のsigMapFlagに基づいて、現在の係数のsigMapFlagに関するコード化コンテキストを選択し得る。係数ブロックの中の現在の係数の(列、行)座標が(0、0)または(3、2)である場合、エントロピーコード化ユニットは、コード化順序に依存して、図13B、14Bまたは15Bに示される現在の係数に対して空間関係を有する係数のsigMapFlagに基づいて現在の係数のsigMapFlagに関するコード化コンテキストを選択し得る。この例は、異なるサイズのサブブロックにまで拡張され得、および(3、2)は、右下の係数のすぐ上にある係数の座標と置き換えられ得る。
[0208]エントロピーコード化ユニットが図13A、13B、14A、14B、15Aまたは15Bのコンテキスト近傍を用いるいくつかの例において、エントロピーコード化ユニットは、少なくとも部分的に現在の係数のコンテキスト近傍内のゼロでは無い係数の総数に基づいて、現在の係数のsigMapFlagに関するコンテキストインデックスを決定し得る。現在の係数のコンテキスト近傍内のゼロでは無い係数の総数はsumOnesと表され得る。こういった例において、エントロピーコード化ユニットは、下記の式を用いて、現在の係数のsigMapFlagに関するコード化コンテキストを選択するためのコンテキストインデックス(ctx_idx)を決定し得る。
上記の式において、ctx_set_idxはコンテキストセットインデックスを表す。エントロピーコード化ユニットは、本開示の別の場所に記載した方法を含む様々な方法でコンテキストセットインデックスを決定し得る。
[0209]いくつかの例において、エントロピーコード化ユニットは、全ての利用可能な情報に基づいてコード化コンテキストを選択することによって、より正確にコード化コンテキストを選択することができ得る。例えば、エントロピーコード化ユニットがgr1Flagに関するコード化コンテキストを選択している場合、エントロピーコード化ユニットはテンプレート内のsigMapFlagおよびgr1Flagに基づいて、コード化コンテキストを選択し得る。この例において、エントロピーコード化ユニットは、また、利用可能な場合、実際の係数の絶対値に基づいて、gr1Flagに関するコード化コンテキストを選択し得る。しかし、いくつかの例において、この方法でコード化コンテキストを選択することは、実質的に、エントロピーコード化ユニットの計算の複雑性を高め得る。これは、エントロピーコード化ユニットが、sigMapFlag、gr1Flag、およびgr2Flagに関する係数の(実際のまたは推定された)絶対値を更新する必要があり得るからである。エントロピーコード化ユニットの計算の複雑性を低減するために、エントロピーコード化ユニットは、その後のシンタックスエレメントに関するコード化されたシンタックスエレメントのテンプレートから取得された情報を再利用し得る。
[0210]例えば、エントロピーコード化ユニットは、係数のgr1Flagおよびgr2Flagに関する同じコード化コンテキストを選択し得る。言い換えれば、coeff_abs_level_greater1_flagおよびcoeff_abs_level_greater2_flagは、係数に関する同じコンテキストを用い得る。さらに、エントロピーコード化ユニットは、gr1Flagとgr2Flagに関するコード化コンテキストのためのコンテキストインデックスを決定するために、係数に関するsumOnesの値を再利用し得る。いくつかのこういった例において、エントロピーコード化ユニットは、コンテキストインデックスを決定するために下記の公式を用い得る。
[0211]別の例において、エントロピーコード化ユニットは、gr1Flagとgr2Flagに関するコード化コンテキストを選択するために、sigMapFlagに関するコード化コンテキストを選択するために用いられた同じコンテキストインデックスを、修正することなく用い得る。したがって、これらの例において、gr1Flagに関するコンテキストモデリングは、sigMapFlagに関する計算の結果を再利用し得、そのため付加的な近傍アクセスは必要とされない。gr2Flagに関するコンテキストモデリングは、任意の追加の計算をすることなく対応するgr1Flagに使用されたコンテキストを再利用し得る。
[0212]下記の表は、図13A、13B、14A、14B、15Aおよび15Bに関連して、本開示の技術と一致する技術を用いるテスト結果を示す。提案された方法は、HM6.0で実施され、および共通のテスト条件の下でシミュレーションされる。パフォーマンスは、Bjontegaard Delta(BD)ビットレートの観点からHM6.0のアンカーと比較される。表3.1および3.2は、それぞれ、
および
[0213]本開示は、上述された変換係数で用いられたシンタックスエレメントについて記載されるが、その他のシンタックスエレメントは、コード化が優先度パスの概念が適用可能であるように少なくとも2つのパスにおいて行われる限り用いられるのであれば本開示の技術が適用可能であり得る。
[0214]1つまたは複数の例において、記載された機能は、ハードウェア、ソフトウェア、ファ−ムウェア、またはそれらの任意の組合せ内に実装されても良い。ソフトウェアに実装された場合、その機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されるか、またはそれを介して送信され、およびハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体を含んでもよく、それは、例えば、通信プロトコルにしたがって、ある場所から別の場所へコンピュータプログラムの転送を容易にする任意の媒体を含むデータ記憶媒体または通信媒体のような実体のある媒体に対応する。この方法において、コンピュータ可読媒体は一般に、(1)非一時的である実体のあるコンピュータ可読記憶媒体、または(2)信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示に記載された技術の実施のための命令、コードおよび/またはデータ構造を検索するために1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセス可能な任意の利用可能な媒体であり得る。コンピュータ・プログラム・プロダクトはコンピュータ可読媒体を含み得る。
[0215]例として、および限定ではなく、こういったコンピュータ可読記憶媒体は、命令またはデータ構造の形式で所望のプログラムコードを記憶するために用いられることが可能であり、およびコンピュータによってアクセス可能であるRAM、ROM、EEPROM(登録商標)、CD−ROMまたはその他の光学ディスク記憶装置、磁気ディスク記憶装置、またはその他の磁気記憶デバイス、フラッシュメモリ、または任意のその他の媒体を備えることができる。同様に、任意の接続は、適切にコンピュータ可読媒体と呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、撚線対、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波のような無線技術を用いるウェブサイト、サーバ、またはその他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバーケーブル、撚線対、DSL、または赤外線、無線、およびマイクロ波のような無線技術は、媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、またはその他の一時媒体を含まないが、代わりに非一時な、実体のある記憶媒体を対象にすることが理解されるべきである。ディスク(disk)およびディスク(disc)は、ここで用いられるように、コンパクトディスク(CD)、レーザ―ディスク(登録商標)、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスク、Blu−ray(登録商標)(disc)を含み、ここで、ディスク(disk)が通常データを磁気作用によって再生する一方で、ディスク(disc)は、レーザを用いて、データを光学的に再生する。上記の組合せはまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0216]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ロジック・アレイ(FPGA)、またはその他の等価の統合された回路またはディスクリートロジック回路のような1つまたは複数のプロセッサ、によって実行され得る。したがって、用語「プロセッサ」は、ここで用いられるように、前述の構造、またはここに記載された任意の技術の実施に適切なその他の構造のいずれかを指し得る。さらに、いくつかの側面において、ここに記載された機能は、符号化および復号、または結合されたコーデックに組み込まれるように構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供される。同様に、この技術。は1つまたは複数の回路または論理エレメントを十分に実行できるはずである。
[0217]本開示の技術は、無線ハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む多種多様なデバイスまたは装置に実装され得る。種々のコンポーネント、モジュール、またはユニットは、開示された技術を実行するように構成されたデバイスの機能的な側面を強調するために本開示に記載されるが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上述のように、様々なユニットは、適切なソフトウェアおよび/またはファ−ムウェアと共に上述のような1つまたは複数のプロセッサを含むコーデックハードウェアユニットに組み込まれ、または相互動作可能なハードウェアユニットのコレクションによって提供され得る。
[0218]種々の具体例が記載されたてきた。これらのおよびその他の例は下記の請求項の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
映像データを符号化するための方法であって、前記方法は、
残りのサンプルブロックに基づいて、係数ブロックを生成することと、
前記係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを符号化することと、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを符号化することと、を備え、ここにおいて、前記第2のシンタックスエレメントのセットを符号化することは、
第1のシンタックスエレメントを生成することであって、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内に入り、および前記係数ブロックの現在の係数に対応する、生成することと、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、前記第1のシンタックスエレメントに関するコード化コンテキストを選択することであって、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択することと、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー符号化することと、を備える、方法。
[C2]
前記第2のシンタックスエレメントのセットを符号化することは、
第1のシンタックスエレメントと第4のシンタックスエレメントを並行して生成することと、
前記第1のシンタックスエレメントに関する前記コード化コンテキストと前記第4のシンタックスエレメントに関するコード化コンテキストを並行して選択することと、ここにおいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストは、前記第4のシンタックスエレメントに基づいて選択されず、および前記第4のシンタックスエレメントに関する前記コード化コンテキストは、前記第1のシンタックスエレメントに基づいて選択されず、
前記第1および第4のシンタックスエレメントに関する前記コード化コンテキストに基づいて、前記第1および第4のシンタックスエレメントを並行してエントロピー符号化することを備える、
[C1]に記載の方法。
[C3]
前記係数ブロックは、複数のサブブロックを備え、前記第2のコード化パスの前記コード化順序は、前記サブブロックに基づき、および前記因果係数は、前記現在の係数とは異なる前記サブブロックのうちの1つの中にある、[C1]に記載の方法。
[C4]
前記第2のシンタックスエレメントのセット内の各シンタックスエレメントは、次の、前記シンタックスエレメントと関連する係数が1より大きいか、または前記シンタックスエレメントと関連する前記係数が2より大きいかのうちの1つを示す、[C1]に記載の方法。
[C5]
前記第1のシンタックスエレメントのために前記コード化コンテキストを選択することは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定することと、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の現実の絶対値を決定することと、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記現実の絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択すること、を備える、
[C1]に記載の方法。
[C6]
前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択することは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定することと、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の推定された絶対値を決定することと、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択すること、を備える、
[C1]に記載の方法。
[C7]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記因果係数の前記推定された絶対値を決定することは、前記因果係数に隣接する係数の推定された絶対値に等しくなるように前記因果係数の前記推定された絶対値を決定することを備える、
[C6]に記載の方法。
[C8]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記因果係数の前記推定された絶対値を決定することは、既定の値に等しくなるように前記因果係数の前記推定された絶対値を決定することを備える、
[C6]に記載の方法。
[C9]
前記第1のシンタックスエレメントの前記コード化コンテキストを選択することは、
前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、指数を決定するために式を適用することと、ここにおいて、前記式は、前記非因果係数の前記推定された絶対値または前記因果係数の前記推定された絶対値に重み付け値を適用し、
少なくとも部分的に前記指数に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択すること、
を備える[C6]に記載の方法。
[C10]
前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択することは、
前記非因果係数の前記推定された絶対値を2つまたは3つのビットにクリップすることと、
前記因果係数の前記推定された絶対値を2つまたは3つのビットにクリップすることと、
少なくとも部分的に前記非因果および因果係数の前記クリップされた推定された絶対値に基づいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択することを備える、
[C6]に記載の方法。
[C11]
1つまたは複数のプロフェッサを備える映像符号化デバイスであって、前記プロフェッサは、
残りのサンプルブロックに基づいて、係数ブロックを生成し、
前記係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを符号化し、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを符号化するように構成され、ここにおいて、前記1つまたは複数のプロセッサは、前記第2のコード化パスの間に、前記1つまたは複数のプロセッサが、
第1のシンタックスエレメントを生成することであって、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内に入り、および前記係数ブロックの現在の係数に対応する、生成をし、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、前記第1のシンタックスエレメントに関するコード化コンテキストを選択することであって、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択をし、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー符号化する、
映像符号化デバイス。
[C12]
前記1つまたは複数のプロセッサは、
前記第1のシンタックスエレメントと第4のシンタックスエレメントを並行して生成し、
前記第1のシンタックスエレメントに関する前記コード化コンテキストと前記第4のシンタックスエレメントに関するコード化コンテキストを並行して選択することであって、ここにおいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストは、前記第4のシンタックスエレメントに基づいて選択されず、および前記第4のシンタックスエレメントに関する前記コード化コンテキストは、前記第1のシンタックスエレメントに基づいて選択されない、選択をし、
前記第1および第4のシンタックスエレメントに関する前記コード化コンテキストに基づいて、前記第1および第4のシンタックスエレメントを並行してエントロピー符号化するように構成される、
[C11]に記載の映像符号化デバイス。
[C13]
前記係数ブロックは、複数のサブブロックを備え、前記第2のコード化パスの前記コード化順は、前記サブブロックに基づいており、および前記因果係数は、前記現在の係数とは異なる前記サブブロックのうちの1つの中にある、[C11]に記載の映像符号化デバイス。
[C14]
前記第2のシンタックスエレメントのセット内の各シンタックスエレメントは、次の、前記シンタックスエレメントと関連する係数が1より大きいか、または前記シンタックスエレメントと関連する前記係数が2より大きいかのうちの1つを示す、[C11]に記載の映像符号化デバイス。
[C15]
前記1つまたは複数のプロセッサは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定し、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の現実の絶対値を決定し、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記現実の絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択するように構成される、
[C11]に記載の映像符号化デバイス。
[C16]
前記1つまたは複数のプロセッサは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定し、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の推定された絶対値を決定し、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択するように構成される、
[C11]に記載の映像符号化デバイス。
[C17]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記1つまたは複数のプロセッサは、前記因果係数に隣接した係数の推定された絶対値に等しくなるように前記因果係数の前記推定された絶対値を決定するように構成される、[C16]に記載の映像符号化デバイス。
[C18]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記1つまたは複数のプロセッサは、既定値に等しくなるように前記因果係数の前記推定された絶対値を決定するように構成される、[C16]に記載の映像符号化デバイス。
[C19]
前記1つまたは複数のプロセッサは、
前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、指数を決定するために式を適用することであって、ここにおいて、前記式は、前記非因果係数の前記推定された絶対値または前記因果係数の前記推定された絶対値に重み付け値を適用する、適用をし
少なくとも部分的に前記指数に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択する
ように構成される、
[C16]に記載の映像符号化デバイス。
[C20]
前記1つまたは複数のプロセッサは、
前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択することが、
前記非因果係数の前記推定された絶対値を2つまたは3つのビットにクリップすることと、
前記因果係数の前記推定された絶対値を2つまたは3つのビットにクリップすることと、および
少なくとも部分的に前記非因果および因果係数の前記クリップされた推定された絶対値に基づいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択すること、
を備える、
ように構成される、
[C16]に記載の映像符号化デバイス。
[C21]
映像符号化デバイスであって、前記デバイスは、
残りのサンプルブロックに基づいて、係数ブロックを生成するための手段と、
前記係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを符号化するための手段と、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを符号化するための手段、を備え、ここにおいて、前記第2のシンタックスエレメントのセットを符号化するための前記手段は、
第1のシンタックスエレメントを生成するための手段であって、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセットに入り、および前記係数ブロックの現在の係数に対応する、生成するための手段と、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、前記第1のシンタックスエレメントに関するコード化コンテキストを選択するための手段であって、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択するための手段と、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー符号化するための手段、を備える、
映像符号化デバイス。
[C22]
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、映像符号化デバイスの1つまたは複数のプロセッサによって実行される場合に、
残りのサンプルブロックに基づいて、係数ブロックを生成し、
前記係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを符号化し、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを符号化するように、前記映像符号化デバイスを構成し、ここにおいて、前記命令は、前記第2のコード化パスの間に前記映像符号化デバイスが、
第1のシンタックスエレメントを生成することであって、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内に入り、および前記係数ブロックの現在の係数に対応する、生成をし、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、前記第1のシンタックスエレメントに関するコード化コンテキストを選択することであって、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択をし、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー符号化するように、前記映像符号化デバイスを構成する、
コンピュータ可読記憶媒体。
[C23]
映像データを復号化するための方法であって、前記方法は、
係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを復号化することと、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを復号化することであって、ここにおいて、前記第2のコード化パスを実行することは、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択することであって、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセットに入り、および前記係数ブロックの現在の係数に対応し、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択することと、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー復号化すること、
を備える、復号化することと、
前記係数ブロックの前記係数に基づいて、残りのサンプルブロックを生成すること、
を備える、
方法。
[C24]
前記第2のシンタックスエレメントのセットを復号化することは、
前記第1のシンタックスエレメントに関する前記コード化コンテキストと第4のシンタックスエレメントに関するコード化コンテキストを並行して選択することであって、ここにおいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストは、前記第4のシンタックスエレメントに基づいて選択されず、および前記第4のシンタックスエレメントに関する前記コード化コンテキストは、前記第1のシンタックスエレメントに基づいて選択されない、選択することと、
前記第1および第4のシンタックスエレメントに関する前記コード化コンテキストに基づいて前記第1および第4のシンタックスエレメントを並行してエントロピー復号化すること、
を備える、[C23]に記載の方法。
[C25]
前記係数ブロックは、複数のサブブロックを備え、前記第2のコード化パスの前記コード化順序は前記サブブロックに基づき、および前記因果係数は、前記現在の係数とは異なる前記サブブロックのうちの1つの中にある、[C23]に記載の方法。
[C26]
前記第2のシンタックスエレメントのセット内の各シンタックスエレメントは、次の、前記シンタックスエレメントと関連する係数が1より大きいか、または前記シンタックスエレメントと関連する前記係数が2より大きいかのうちの1つを示す、[C23]に記載の方法。
[C27]
前記第1のシンタックスエレメントのために前記コード化コンテキストを選択することは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定することと、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の現実の絶対値を決定することと、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記現実の絶対値に基づいて前記第1のシンタックスエレメントの前記コード化コンテキストを選択すること、
を備える、
[C26]に記載の方法。
[C28]
前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択することは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定することと、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の推定された絶対値を決定することと、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択すること、
を備える、
[C26]に記載の方法。
[C29]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記因果係数の前記推定された絶対値を決定することは、前記因果係数に隣接する係数の推定された絶対値に等しくなるように前記因果係数の前記推定された絶対値を決定することを備える、[C28]に記載の方法。
[C30]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記因果係数の前記推定された絶対値を決定することは、既定値に等しくなるように前記因果係数の前記推定された絶対値を決定することを備える、[C28]に記載の方法。
[C31]
前記第1のシンタックスエレメントの前記コード化コンテキストを選択することは、
前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、指数を決定するために式を適用することであって、ここにおいて、前記式は、前記非因果係数の前記推定された絶対値または前記因果係数の前記推定された絶対値に重み付け値を適用する、適用することと、
少なくとも部分的に前記指数に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択すること、
を備える、
[C28]に記載の方法。
[C32]
前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択することは、
前記非因果係数の前記推定された絶対値を2つまたは3つのビットにクリップすることと、
前記因果係数の前記推定された絶対値を2つまたは3つのビットにクリップすることと、
少なくとも部分的に前記非因果および因果係数の前記クリップされた推定された絶対値に基づいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択すること、
を備える、
[C28]に記載の方法。
[C33]
1つまたは複数のプロセッサを備える映像復号化デバイスであって、前記プロセッサは、
係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを復号化し、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを復号化することであって、ここにおいて、前記1つまたは複数のプロセッサは、前記第2のコード化パスの間に、前記1つまたは複数のプロセッサが、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択しすることであって、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内に入り、および前記係数ブロックの現在の係数に対応し、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択をし、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー符号化する、
ように構成される、復号化をし、
前記係数ブロックの前記係数に基づいて、残りのサンプルブロックを生成する、
ように構成される、
1つまたは複数のプロセッサを備える映像復号化デバイス。
[C34]
前記1つまたは複数のプロセッサは、
前記第1のシンタックスエレメントに関する前記コード化コンテキストと第4のシンタックスエレメントに関するコード化コンテキストを並行して選択することであって、ここにおいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストは、前記第4のシンタックスエレメントに基づいて選択されず、および前記第4のシンタックスエレメントに関する前記コード化コンテキストは、前記第1のシンタックスエレメントに基づいて選択されない、選択することと、
前記第1および第4のシンタックスエレメントに関する前記コード化コンテキストに基づいて、前記第1および第4のシンタックスエレメントを並行してエントロピー符号化する、
ように構成される、[C33]に記載の映像復号化デバイス。
[C35]
前記係数ブロックは、複数のサブブロックを備え、前記第2のコード化パスのコード化順は、前記サブブロックに基づいており、前記因果係数は、前記現在の係数とは異なる前記サブブロックのうちの1つの中にある、[C33]に記載の映像復号化デバイス。
[C36]
前記第2のシンタックスエレメントのセット内の各シンタックスエレメントは、次の、前記シンタックスエレメントと関連する係数が1より大きいか、または前記シンタックスエレメントと関連する前記係数が2より大きいかのうちの1つを示す、[C33]に記載の映像復号化デバイス。
[C37]
前記1つまたは複数のプロセッサは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定し、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の現実の絶対値を決定し、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記現実の絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択するように構成される、
[C33]に記載の映像復号化デバイス。
[C38]
前記1つまたは複数のプロセッサは、
少なくとも部分的に前記第2のシンタックスエレメントに基づいて、前記非因果係数の推定された絶対値を決定し、
少なくとも部分的に前記第3のシンタックスエレメントに基づいて、前記因果係数の推定された絶対値を決定し、
少なくとも部分的に前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択するように構成される、
[C33]に記載の映像復号化デバイス。
[C39]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数内にあり、および前記1つまたは複数のプロセッサは、前記因果係数に隣接する係数の推定された絶対値に等しくなるように前記因果係数の前記推定された絶対値を決定するように構成される、[C38]に記載の映像復号化デバイス。
[C40]
前記因果係数は、前記第2のコード化パスの前記コード化順に従った前記現在の係数の特定の数の係数の中にあり、および前記1つまたは複数のプロセッサは、既定値に等しくなるように前記因果係数の前記推定された絶対値を決定するように構成される、[C38]に記載の映像復号化デバイス。
[C41]
前記1つまたは複数のプロセッサは、
前記非因果係数の前記推定された絶対値と前記因果係数の前記推定された絶対値に基づいて、指数を決定するために式を適用し、ここにおいて、前記式は、前記非因果係数の前記推定された絶対値または前記因果係数の前記推定された絶対値に重み付け値を適用し、
少なくとも部分的に前記指数に基づいて、前記第1のシンタックスエレメントの前記コード化コンテキストを選択するように構成される、
[C38]に記載の映像復号化デバイス。
[C42]
前記1つまたは複数のプロセッサは、
前記非因果係数の前記推定された絶対値を2つまたは3つのビットにクリップし、
前記因果係数の前記推定された絶対値を2つまたは3つのビットにクリップし、
少なくとも部分的に前記非因果および因果係数の前記クリップされた推定された絶対値に基づいて、前記第1のシンタックスエレメントに関する前記コード化コンテキストを選択するように構成される、
[C38]に記載の映像復号化デバイス。
[C43]
映像復号化デバイスであって、前記デバイスは、
係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを復号化するための手段と、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを復号化するための手段であって、ここにおいて、前記第2のコード化パスを実行するための前記手段は、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択するための手段であって、前記第1のシンタックスエレメントは前記第2のシンタックスエレメントのセット内に入り、および前記係数ブロックの現在の係数に対応し、ここにおいて、前記第2のシンタックスエレメントは前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は前記第2のコード化パスのコード化順において前記現在の係数後に生じ、前記因果係数は前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択するための手段と、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー復号化するための手段、
を備える、復号化するための手段と
前記係数ブロックの前記係数に基づいて、残りのサンプルブロックを生成するための手段、
を備える映像復号化デバイス。
[C44]
映像復号化デバイスの1つまたは複数のプロセッサによって実行される場合に、命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、
係数ブロックの係数の第1のコード化パスの間に、前記係数ブロックの係数に対応する第1のシンタックスエレメントのセットを復号化し、
前記係数ブロックの前記係数の第2のコード化パスの間に、前記係数ブロックの係数に対応する第2のシンタックスエレメントのセットを復号化することであって、ここにおいて、前記命令は、前記第2のコード化パスの間に前記映像復号化デバイスが、
少なくとも部分的に第2のシンタックスエレメントと第3のシンタックスエレメントに基づいて、第1のシンタックスエレメントに関するコード化コンテキストを選択し、前記第1のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内に入り、および前記係数ブロックの現在の係数に対応し、ここにおいて、前記第2のシンタックスエレメントは、前記第1のシンタックスエレメントのセット内にあり、および非因果係数に対応し、ここにおいて、前記第3のシンタックスエレメントは、前記第2のシンタックスエレメントのセット内にあり、および因果係数に対応し、前記非因果係数は、前記第2のコード化パスのコード化順において前記現在の係数の後に生じ、前記因果係数は、前記第2のコード化パスの前記コード化順において前記現在の係数の前に生じる、選択をし、
少なくとも部分的に前記第1のシンタックスエレメントのために選択された前記コード化コンテキストに基づいて、前記第1のシンタックスエレメントをエントロピー復号化する、
ように、前記映像符号化デバイスを構成する、復号化をし、
前記係数ブロックの前記係数に基づいて、残りのサンプルブロックを生成する、
ように前記映像復号化デバイスを構成する、
コンピュータ可読記憶媒体。