(57)【要約】ビデオエンコーダは、コードワードへの予測モードのマッピングを表す１つまたは複数の可変長コーディング（ＶＬＣ）テーブルを、生成、記憶、調整、変更および／または更新することによって維持することができる。選択された予測モードを表す１つまたは複数のコードワードは、フレームのＣＵのためにデコーダへ通信され得る。デコーダは、ビデオエンコーダによって維持されたＶＬＣテーブルに一致する１つまたは複数のＶＬＣテーブルを維持する。したがって、ビデオエンコーダから受信された１つまたは複数のコードワードに基づいて、ビデオデコーダは、ＣＵを符号化するために使用された予測モードを決定することができる。
2013543316.tif 000002
【特許請求の範囲】
【請求項１】
ビデオのコード化ユニット（ＣＵ）をコーディングする方法であって、前記方法は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
ＣＵに関連する第１のＶＬＣコードワードを受信することと、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記ＣＵを再構成するために前記予測モードを使用することと、
を備える方法。
【請求項２】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項１に記載の方法。
【請求項３】
前記ＣＵに関連する第２のＶＬＣコードワードを受信することをさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項１に記載の方法。
【請求項４】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
をさらに備える、請求項１に記載の方法。
【請求項５】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、
をさらに備える、請求項４に記載の方法。
【請求項６】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項１に記載の方法。
【請求項７】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項１に記載の方法。
【請求項８】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項１に記載の方法。
【請求項９】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項８に記載の方法。
【請求項１０】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記方法は、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てることをさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項１に記載の方法。
【請求項１１】
前記方法は、ビデオ符号化デバイスによって実施される、請求項１に記載の方法。
【請求項１２】
前記方法は、ビデオ復号デバイスによって実施される、請求項１に記載の方法。
【請求項１３】
ビデオデータを処理するためのデバイスであって、前記デバイスは、
ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを備え、前記ビデオコーダは、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持し、
ＣＵに関連する第１のＶＬＣコードワードを受信し、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し予測モードを決定し、
前記予測モードを使用して、前記ＣＵを再構成する
ように構成された、デバイス。
【請求項１４】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと
を含むグループから選択される１つまたは複数の予測モードを備える、請求項１３に記載のデバイス。
【請求項１５】
前記ビデオコーダは、さらに、
前記ＣＵに関連する第２のＶＬＣコードワードを受信するように構成され、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項１３に記載のデバイス。
【請求項１６】
前記ビデオコーダは、さらに、
フレームのための予測モードのセット内の各予測モードの発生数をカウントし、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整するように構成される、請求項１３に記載のデバイス。
【請求項１７】
前記ビデオコーダは、さらに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするように構成される、請求項１６に記載のデバイス。
【請求項１８】
前記ビデオコーダは、さらに、
第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持するように構成される、請求項１３に記載のデバイス。
【請求項１９】
前記ビデオコーダは、さらに、
一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持するように構成される、請求項１３に記載のデバイス。
【請求項２０】
前記ビデオコーダは、さらに、
非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持し、
非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持するように構成される、請求項１３に記載のデバイス。
【請求項２１】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項２０に記載のデバイス。
【請求項２２】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記ビデオコーダは、さらに、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てるように構成され、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項１３に記載のデバイス。
【請求項２３】
前記ビデオコーダは、ビデオエンコーダである、請求項１３に記載のデバイス。
【請求項２４】
前記ビデオコーダは、ビデオデコーダである、請求項１３に記載のビデオコーディングデバイス。
【請求項２５】
ビデオデータをコーディングするための装置であって、前記装置は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段と、
ＣＵに関連する第１のＶＬＣコードワードを受信する手段と、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定する手段と、
前記ＣＵを再構成するために、前記予測モードを使用する手段と、
を備える装置。
【請求項２６】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項２５に記載の装置。
【請求項２７】
前記ＣＵに関連する第２のＶＬＣコードワードを受信する手段をさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項２５に記載の装置。
【請求項２８】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、
をさらに備える、請求項２５に記載の装置。
【請求項２９】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段
をさらに備える、請求項２８に記載の装置。
【請求項３０】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持する手段を備える、請求項２５に記載の装置。
【請求項３１】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持する手段を備える、請求項２５に記載の装置。
【請求項３２】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、請求項２５に記載の装置。
【請求項３３】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項３２に記載の装置。
【請求項３４】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記装置は、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てる手段をさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項２５に記載の装置。
【請求項３５】
前記装置は、ビデオ符号化デバイスである、請求項２５に記載の装置。
【請求項３６】
前記装置は、ビデオ復号デバイスである、請求項２５に記載の装置。
【請求項３７】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
ＣＵに関連する第１のＶＬＣコードワードを受信することと、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記ＣＵを再構成するために前記予測モードを使用することと、
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項３８】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記１つまたは複数のプロセッサに、
前記ＣＵに関連する第２のＶＬＣコードワードを受信すること
を行わせる命令をさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記１つまたは複数のプロセッサに、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生の数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
を行わせる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記１つまたは複数のプロセッサに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、請求項４０に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記１つまたは複数のプロセッサに、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルを維持することと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルのグループを維持することと、を行わせる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記１つまたは複数のプロセッサに、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持させる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記１つまたは複数のプロセッサに、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記第１のＶＬＣテーブルのグループは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項４４に記載の方法。
【請求項４６】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記コンピュータプログラム製品は、前記プロセッサに、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てさせる命令をさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記１つまたは複数のプロセッサは、ビデオ符号化デバイスの構成要素である、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記１つまたは複数のプロセッサは、ビデオ復号デバイスの構成要素である、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４９】
ビデオのコード化ユニット（ＣＵ）をコーディングする方法であって、前記方法は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、
前記ＶＬＣコードワードを含むシンタックス要素を生成することと、
を備える方法。
【請求項５０】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項４９に記載の方法。
【請求項５１】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれ発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
をさらに備える、請求項４９に記載の方法。
【請求項５２】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、
をさらに備える、請求項５１に記載の方法。
【請求項５３】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項４９に記載の方法。
【請求項５４】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項４９に記載の方法。
【請求項５５】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項４９に記載の方法。
【請求項５６】
前記第１のＶＬＣテーブルのグループは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項５５に記載の方法。
【請求項５７】
ビデオデータを処理するためのデバイスであって、前記デバイスは、
ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを備え、前記ビデオコーダは、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持し、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定し、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定し、
前記ＶＬＣコードワードを含むシンタックス要素を生成する
ように構成されたデバイス。
【請求項５８】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項５７に記載のデバイス。
【請求項５９】
前記ビデオコーダは、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントし、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する、
ようにさらに構成される、請求項５７に記載のデバイス。
【請求項６０】
前記ビデオコーダは、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするようにさらに構成される、請求項５９に記載のデバイス。
【請求項６１】
前記ビデオコーダは、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持するようにさらに構成される、請求項５７に記載のデバイス。
【請求項６２】
前記ビデオコーダは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持し、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持するようにさらに構成される、請求項５７に記載のデバイス。
【請求項６３】
前記ビデオコーダは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持し、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持するようにさらに構成される、請求項５７に記載のデバイス。
【請求項６４】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項６３に記載のデバイス。
【請求項６５】
ビデオデータをコーディングするための装置であって、前記装置は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段と、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定する手段と、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定する手段と、
前記ＶＬＣコードワードを含むシンタックス要素を生成するための手段と、
を備える装置。
【請求項６６】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項６５に記載の装置。
【請求項６７】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、
をさらに備える、請求項６５に記載の装置。
【請求項６８】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段をさらに備える、請求項６７に記載の装置。
【請求項６９】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルを維持する手段と、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、請求項６５に記載の装置。
【請求項７０】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段と、を備える請求項６５に記載の装置。
【請求項７１】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、請求項６５に記載の装置。
【請求項７２】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項７１に記載の装置。
【請求項７３】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、
前記ＶＬＣコードワードを含むシンタックス要素を生成することと、
を行わせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項７４】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７５】
前記１つまたは複数のプロセッサに、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
を行わせる命令をさらに備える、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７６】
前記１つまたは複数のプロセッサに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、請求項７５に記載のコンピュータ可読記憶媒体。
【請求項７７】
前記１つまたは複数のプロセッサに、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルを維持することと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７８】
前記１つまたは複数のプロセッサに、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７９】
前記１つまたは複数のプロセッサに、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項８０】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項７９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオコーディングに関し、より詳細には、ビデオ圧縮技法に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、または新生の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００３】
[0003]ビデオ圧縮技法では、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスがビデオブロックまたはコーディングユニット（ＣＵ）に区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のビデオブロックは、隣接ブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のビデオブロックは、同じフレームもしくはスライス中の近隣ブロックに関する空間的予測、または他の参照フレームに関する時間的予測を使用し得る。双方向予測（Ｂ）フレーム中のビデオブロックは、一般に、１つの過去のフレームと１つの将来のフレームとである２つの異なる参照フレームリスト内の参照フレームから２つの動きベクトルを計算するために双方向予測を使用して符号化される。単方向予測（Ｐ）フレーム中のビデオブロックは、一般に、過去のフレームである単一の参照フレームリストから単一の動きベクトルを計算するために単方向予測を使用して符号化される。
【発明の概要】
【０００４】
[0004]本開示は、概して、ビデオエンコーダが予測モードをビデオデコーダへシグナリングするために必要とされるビット数を減らすことによって、４分木構造の（quadtree structured）ビデオデータのためのコーディング効率を向上させ得る技法について説明し、予測モードは、たとえば、複数のイントラ予測モードのうちの１つ、または、複数のインター予測モードのうちの１つであり得る。本開示の技法は、ＣＵのための予測モードをシグナリングするために、可変長コードワードを使用することを含む。たとえば、ビデオエンコーダは、コードワードへの予測モードのマッピングを表す１つまたは複数の可変長コーディング（ＶＬＣ）テーブルを、生成、記憶、変更、調整および／または更新することによって、維持することができる。選択された予測モードを表す１つまたは複数のコードワードは、フレームのＣＵのためにデコーダへ通信され得る。デコーダは、ビデオエンコーダによって維持されたＶＬＣテーブルと一致する、１つまたは複数のＶＬＣテーブルを維持することができる。したがって、ビデオエンコーダから受信された１つまたは複数のコードワードに基づいて、ビデオデコーダは、ＣＵを符号化するために使用された予測モードを決定することができる。
【０００５】
[0005]一例では、ビデオのコード化ユニット（ＣＵ）をコーディングする方法は、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持することと、ＣＵに関連する第１のＶＬＣコードワードを受信することと、第１のＶＬＣコードワードに基づいて、ＣＵに対し、複数の予測モードのうちの１つを決定することと、予測モードを使用して、ＣＵを再構成することとを含む。
【０００６】
[0006]別の例では、コード化ユニット（ＣＵ）をコーディングする方法は、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持することと、ＣＵに対し、複数の予測モードのうちの１つを決定することと、決定された予測モードに基づいて、１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、ＶＬＣコードワードを含むシンタックス要素を生成することとを含む。
【０００７】
[0007]別の例では、ビデオデータを処理するためのデバイスは、ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを含み、ビデオコーダは、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持することと、ＣＵに関連する第１のＶＬＣコードワードを受信することと、第１のＶＬＣコードワードに基づいて、ＣＵのための予測モードを決定することと、予測モードを使用して、ＣＵを再構成することとを行うように構成される。
【０００８】
[0008]別の例では、ビデオデータを処理するためのデバイスは、ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを含み、ビデオコーダは、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持し、ＣＵに対し、複数の予測モードのうちの１つを決定し、決定された予測モードに基づいて、１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定し、ＶＬＣコードワードを含むシンタックス要素を生成するように構成される。
【０００９】
[0009]別の例では、ビデオデータをコーディングするための装置であって、該装置は、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持する手段と、ＣＵに関連する第１のＶＬＣコードワードを受信する手段と、第１のＶＬＣコードワードに基づいて、ＣＵに対し、複数の予測モードのうちの１つを決定する手段と、予測モードを使用して、ＣＵを再構成する手段とを含む。
【００１０】
[0010]別の例では、ビデオデータをコーディングするための装置であって、該装置は、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持する手段と、ＣＵに対し、複数の予測モードのうちの１つを決定する手段と、決定された予測モードに基づいて、１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定する手段と、ＶＬＣコードワードを含むシンタックス要素を生成する手段と含む。
【００１１】
[0011]さらなる一例では、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持させ、ＣＵに関連する第１のＶＬＣコードワードを受信させ、第１のＶＬＣコードワードに基づいて、ＣＵに対し、複数の予測モードのうちの１つを決定させ、予測モードを使用して、ＣＵを再構成させる命令を記憶した、コンピュータ可読記憶媒体である。
【００１２】
[0012]別の例では、実行されると、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持させ、ＣＵに対し、複数の予測モードのうちの１つを決定させ、決定された予測モードに基づいて、１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定させ、ＶＬＣコードワードを含むシンタックス要素を生成させる命令を記憶した、コンピュータ可読記憶媒体である。
【図面の簡単な説明】
【００１３】
【図１】ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を利用し得る、例示的なビデオ符号化および復号システムを示すブロック図。
【図２】一般化Ｐ−Ｂ（ＧＰＢ）フレームを含む例示的なビデオシーケンスを示す概念図。
【図３】ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を実装し得る、例示的なビデオエンコーダを示すブロック図。
【図４】ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を実装し得る、例示的なビデオデコーダを示すブロック図。
【図５】本開示に一致する符号化技法を示す流れ図。
【図６】本開示に一致する復号技法を示す流れ図。
【発明を実施するための形態】
【００１４】
[0019]本開示は、概して、ビデオエンコーダが予測モードをビデオデコーダへシグナリングするために必要とされるビット数を減らすことによって、４分木構造のビデオデータのためのコーディング効率を向上させ得る技法について説明する。本開示の技法は、ＣＵのための予測モードをシグナリングするために、１つまたは複数の可変長コードワードを使用することを含む。たとえば、ビデオエンコーダは、コードワードへの予測モードのマッピングを表す、１つまたは複数の可変長コーディング（ＶＬＣ）テーブルを維持することができる。選択された予測モードを表すコードワードは、フレームのＣＵのためのＶＬＣコードワードを使用して、デコーダへ通信され得る。デコーダは、ビデオエンコーダによって維持されたＶＬＣテーブルと一致する、１つまたは複数のＶＬＣテーブルを生成することができる。したがって、ビデオエンコーダから受信されたシングルコードワードに基づいて、ビデオデコーダは、ＣＵを符号化するために使用される予測モードを決定し、次いで、ＣＵを復号するためにその予測モードを使用することができる。
【００１５】
[0020]図１は、ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を利用することができる、例示的なビデオ符号化およびビデオ復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、通信チャネル１６を介してビデオ情報を通信することができるワイヤレス通信デバイスを備え、その場合、通信チャネル１６はワイヤレスである。
【００１６】
[0021]本開示の技法は、ビデオブロックについての予測モード情報の効率的なコーディングに関係し、ワイヤレスアプリケーションまたは設定に適用可能であり得るが、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得、デバイス１２、１４は、携帯電話、スマートフォン、デジタルメディアプレーヤ、セットトップボックス、テレビジョン、ディスプレイ、デスクトップコンピュータ、ポータブルコンピュータ、タブレットコンピュータ、ゲームコンソール、ポータブルゲームデバイスなどの様々なワイヤードまたはワイヤレス媒体デバイスのいずれかを備え得る。
【００１７】
[0022]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラ、ビデオストレージアーカイブ、コンピュータグラフィックスソースなどの外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００１８】
[0023]図１の図示のシステム１０は、一例にすぎない。ビデオブロックについての予測モード情報の効率的なコーディングのための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。本技法はまた、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによって実行され得る。さらに、本開示の技法はまた、ビデオデータをコーディングするビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４の各々がビデオ符号化構成要素および復号構成要素を含むように、デバイス１２、１４は、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートすることができる。
【００１９】
[0024]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成することができる。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ電話を形成することができる。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得るものであり、ワイヤレスおよび／またはワイヤードアプリケーションに適用可能である。各場合において、キャプチャされたビデオ、プレキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化ビデオ情報は、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００２０】
[0025]本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、ビデオブロックについての予測モード情報をコーディングするコストを低減するための技法を適用するように構成され得る。以下でより詳細に説明するように、予測モードをコーディングするためのいくつかの現在の技法は、ＣＵが第１の予測モードを使用してコード化されるかどうかを示すための第１のビットと、ＣＵが第２の予測モードを使用してコード化されるかどうかを示すための第２のビットと、などを使用することを含む。これらの既存の技法を使用して、ビデオエンコーダは、いくつかの例において、最初の３つのうちの１つ以外のモードが使用されるたびに、最初の３つのモードのいずれかが使用されるかどうかを示す、最初の３つのビットを送信するように強制され得るものであり、それにより、最初の３つのモード以外のモードが頻繁に発生するとき、望ましくないビット送信の増加がある。本開示の技法の一例によれば、ビデオエンコーダ２０は、上記のビットのシーケンスを使用することとは反対に、シングルコードワードを使用して、ＣＵのための任意の予測モードをシグナリングすることができる。別の例では、ビデオエンコーダ２０は、第１のコードワードと第２のコードワードとの組合せとして、予測モードをシグナリングすることができる。
【００２１】
[0026]ビデオエンコーダ２０は、コードワードへの予測モード値のマッピングを表す、１つまたは複数の可変長コーディング（ＶＬＣ）テーブルを維持することができる。１つまたは複数のＶＬＣテーブルを維持することの一部として、ビデオエンコーダ２０は、ＶＬＣテーブルを生成、記憶および／または更新することができる。所与の予測モードのために、ＶＬＣテーブルからのシングルコードワードを、ビデオデコーダ３０へ通信することができる。加えて、コードワード割当てを予測モードの配信により適切に適合させるために、何らかの形式のインデックススワップ（index swap）または適応を適用することができる。再び上記の例を参照すると、第４のモードが第２のモードよりも頻繁に発生する場合、ビデオエンコーダ２０は、第２のモードのために使用されるコードワードよりも短いコードワードに、第４のモードを適応的にマッピングすることができる。いくつかの実装形態では、ビデオエンコーダ２０は、第１のコードワードと第２のコードワードとをビデオデコーダ３０へ送信することができ、第１のコードワードは、使用されたモードが第２のＶＬＣテーブル内で発見されることを示す、第１のＶＬＣテーブルからのエスケープコードである。第２のコードワードは、第２のＶＬＣテーブルのどのモードが使用されるかを識別する。第１および第２のＶＬＣテーブルはともに、モードの生起確率に基づいて、モードをコードワードに適応的にマッピングすることができる。
【００２２】
[0027]宛先デバイス１４の受信機２６は、チャネル１６を介して情報を受信し、モデム２８は、情報を復調する。チャネル１６を介して通信される情報は、予測ユニット（ＰＵ：prediction unit）、コーディングユニット（ＣＵ）またはコード化されたビデオの他のユニット、たとえば、ビデオスライス、ビデオフレーム、およびビデオシーケンスまたはピクチャグループ（ＧＯＰ：group of pictures）の特性および／または処理を記述するシンタックス要素を含む、ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されるシンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２３】
[0028]本開示によれば、宛先デバイス１４のビデオデコーダ３０は、ビデオブロックについての予測モード情報をコーディングするコストを低減するための技法を適用するように構成され得る。ビデオデコーダ３０は、ビデオエンコーダ２０から、マッピングを記述する情報を受信することによって、ビデオエンコーダ２０によって維持されたＶＬＣテーブルと同じマッピングを用いたＶＬＣテーブルを維持することができる。ビデオデコーダ３０はまた、マッピングを明示的に記述する、ビデオエンコーダ２０からの情報を受信することなしに、ビデオエンコーダ２０と同じマッピングを維持することもできる。このようにして、ビデオデコーダ３０は、ビデオデコーダ３０によって生成されたテーブルが、ビデオエンコーダ２０によって生成されたテーブルに一致するように、ビデオエンコーダ２０と同じＶＬＣテーブル生成のための技法を実行することができる。加えて、ビデオデコーダ３０は、ビデオエンコーダ２０のＶＬＣテーブルに発生する変化が、ビデオデコーダ３０のＶＬＣテーブルに同様に発生するように、同じ適応および更新技法を実行することができる。したがって、ビデオデコーダ３０は、１つのＣＵに対し１つまたは複数のコードワードを受信し、ＶＬＣテーブルを使用して、該１つまたは複数のコードワードに基づいて、該ＣＵのための予測モードを決定することができる。
【００２４】
[0029]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理的伝送線路のような任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル１６は、一般に、ワイヤードまたはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を容易にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２５】
[0030]ビデオエンコーダ２０およびビデオデコーダ３０は、新たに登場した高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格または代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）とも呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作することができる。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００２６】
[0031]ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供する。
【００２７】
[0032]ＨＭは、ビデオデータのブロックをコーディングユニット（ＣＵ）と称する。ビットストリーム内のシンタックスデータは、ピクセルの数に関する最大コーディングユニット（ＬＣＵ：largest coding unit）である最大コーディングユニットを定義することができる。概して、ＣＵは、ＣＵがサイズ差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。したがって、ＣＵは、サブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指すことがある。ＬＣＵは、複数のサブＣＵに分割され得、各サブＣＵは、さらに、複数のサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義することができる。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義することができる。
【００２８】
[0033]ＬＣＵおよびＣＵは、対称的または非対称的のいずれかで分割され得る。対称的な分割は、一般に、ＬＣＵまたはＣＵが同じサイズの２つ以上のサブＣＵに分割される結果となる。たとえば、６４×６４  ＬＣＵは、２つの６４×３２ブロック、２つの３２×６４ブロック、または４つの３２×３２ブロックに対称的に分割され得る。非対称的な分割は、一般に、ＬＣＵまたはＣＵが異なるサイズの２つ以上のサブＣＵに分割される結果となる。たとえば、６４×６４  ＬＣＵは、６４×１６ブロックおよび６４×４８ブロックに非対称的に分割され得る。場合によっては、非対称動き区分（ＡＭＰ：asymmetric motion partitioning）は、不規則な画像パターンのためのコーディング効率を向上させ得る。そのような場合、ビデオエンコーダ２０は、ビデオビットストリーム内で、ＡＭＰがフレームのシーケンスまたはピクチャセットなど、ビデオの一部分に対して使用可能にされることを示す、シンタックスを含み得る。他の場合には、ビデオエンコーダ２０は、ＡＭＰがフレームのシーケンスまたはピクチャセットなど、ビデオの一部分に対して使用不能にされることを示す、シンタックスを含み得る。
【００２９】
[0034]さらに分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、そのＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照フレームリスト（たとえば、リスト０もしくはリスト１）を記述することができる。また、（１つまたは複数の）ＰＵを定義するＣＵについてのデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分について記述することもできる。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。
【００３０】
[0035]１つまたは複数のＰＵを有するＣＵは、１つまたは複数の変換ユニット（ＴＵ：transform unit）をも含み得る。ＰＵを使用した予測に続いて、ビデオエンコーダは、ＰＵに対応するＣＵの一部分についての残差値を計算することができる。残差値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するために、変換係数に変換され、量子化され、走査され得るピクセル差分値に対応する。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵについての対応するＰＵよりも大きくても小さくてもよい。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズであり得る。本開示は、ＣＵ、ＰＵ、またはＴＵのいずれかを指すために「ビデオブロック」という用語を使用する。
【００３１】
[0036]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００３２】
[0037]ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループ（ＧＯＰ）は、概して、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ、ＧＯＰの１つまたは複数のフレームのヘッダ、または他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、コーディングユニット（ＣＵ）またはＣＵの予測ユニットに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。各ビデオフレームは、複数のスライスを含み得る。各スライスは、１つまたは複数のＰＵを含み得る、複数のＣＵを含み得る。
【００３３】
[0038]一例として、ＨＥＶＣテストモデル（ＨＭ）は、様々なＣＵサイズでの予測をサポートする。ＬＣＵのサイズは、シンタックス情報によって定義され得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×Ｎのサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称サイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２Ｎのインター予測のための非対称分割をサポートする。非対称分割では、ＣＵの一方向は分割されないが、他の方向が２５％と７５％とに分割される。２５％の分割に対応するＣＵの一部分は、「ｎ」と、その後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という指示とによって示される。したがって、たとえば「２Ｎ×ｎＵ」は、上部に２Ｎ×０．５Ｎ  ＰＵと下部に２Ｎ×１．５Ｎ  ＰＵとに水平方向に分割される２Ｎ×２Ｎ  ＣＵを指す。
【００３４】
[0039]本開示では、「Ｎ×Ｎ」と「Ｎ by Ｎ」とは、垂直寸法および水平寸法に関するビデオブロック（たとえば、ＣＵ、ＰＵ、またはＴＵ）のピクセル寸法、たとえば、１６×１６ピクセルまたは１６ by １６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値を表す。ブロック中のピクセルは、行と列に構成され得る。その上、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックは、Ｎ×Ｍピクセルを備え得、Ｍは、必ずしもＮに等しいとは限らない。
【００３５】
[0040]ビデオエンコーダ２０は、いくつかの予測モードのうちの１つを使用して、各ＣＵをコーディングすることができる。これらの予測モードは、たとえば、分割モードと、スキップモードと、ダイレクトモードと、ならびに、インター＿２Ｎ×２Ｎと、インター＿Ｎ×２Ｎと、インター＿２Ｎ×Ｎと、インター＿Ｎ×Ｎと、インター＿２Ｎ×ｎＵと、インター＿２Ｎ×ｎＤと、インター＿ｎＬ×２Ｎと、インター＿ｎＲ×２Ｎと、イントラ＿２Ｎ×２Ｎと、イントラ＿Ｎ×Ｎとのための追加のモードとを含み得、そのようなモードは、ＰＵのサイズと、モードがイントラ予測モードであるか、インター予測モードであるかとを指す。分割モードは、必ずしも、他のものとしての予測のモードであるとは限らないが、代わりに、ＣＵがより小さいＣＵにさらに分割されるかどうかを識別する。スキップモードでは、現在のＰＵが、残差データなしに、参照フレーム内のコロケーテッド（collocated）ブロックに基づき再構成され、その結果、現在のＰＵは当該参照フレーム内の当該コロケーテッドブロックと等しくなる。ダイレクトモードでは、現在のＰＵが、残差データを用いて、参照フレーム内のコロケーテッドブロックに基づき再構成され、その結果、現在のＰＵは、残差データを加えた参照ブロックに対応する。
【００３６】
[0041]これらのモードは、一般に、互いに排他的であり、所与のＣＵがこれらのモードのうちの１つのみを使用してコード化されることを意味する。本開示の技法によれば、ビデオエンコーダ２０は、選択されたモードを識別するシングルコードワードを、ビデオデコーダ３０へ送信する。予測モードを符号化するための現在の技法を使用して、現世代のビデオエンコーダは、ＣＵが分割モードを使用してコード化されたかどうかを示す、第１のビットを送信することができる。ＣＵが分割モードを使用してコード化されなかった場合、ＣＵがスキップモードを使用してコード化されたかどうかを示す、第２のビットが送信され得る。現世代のビデオエンコーダが、スキップモードを使用してＣＵをコーディングしなかった場合、現世代のビデオエンコーダは、ＣＵがダイレクトモードを使用してコード化されたかどうかを示す、第３のビットを送信する。ＣＵがダイレクトモードを使用してコード化されなかった場合、現世代のビデオエンコーダは、追加のモードのうちの１つを示す、追加のビットを送信する。場合によっては、現世代のビデオエンコーダは、マージモードのような、追加のモードが使用されたかどうかを示す、追加のビットを送信することができる。
【００３７】
[0042]本開示の技法は、予測モードをコーディングするためのこれらの現在の技法を、ビットを分割モード、スキップモード、ダイレクトモード、およびマージモードの各々専用にする代わりに、それらのモードが通常使用されない場合でも、ＣＵのための予測モードをシグナリングするために１つまたは複数の可変長コードワードを使用することによって、改良し得る。スライスの特定のフレームの場合、あるモードが他のモードよりも頻繁に発生し得る。たとえば、そのような頻繁に発生するモードが、追加のモードのうちの１つである（すなわち、分割、スキップ、ダイレクトまたはマージでない）場合、ビデオエンコーダ２０は、本開示の技法を利用して、より短いコードワードを使用し、ビットをスキップモード、ダイレクトモード、およびマージモード専用にすることなしに、そのモードをビデオデコーダ３０にシグナリングすることができる。別の例では、スキップモードまたはダイレクトモードが分割モードよりも頻繁に発生する場合、ビデオエンコーダ２０は、より短いコードワードをスキップモードおよびダイレクトモードに割り当て、ビットを分割専用しないために、本開示の技法を利用することができる。
【００３８】
[0043]一般に、ＶＬＣテーブル内のコードワードは、一意のプレフィックスを有し、より短いコードワードは、より長いコードワード用のプレフィックスになり得ないことを意味する。一例として、００１がＶＬＣテーブル内のコードワードである場合、ＶＬＣテーブル内の他のコードワードは、００１で開始しない。一例では、ＶＬＣテーブル内の３つの最短のコードワードは、１、０１および００１であり得る。本開示の技法によれば、フレームまたはスライスのための特定の予測モードの発生の頻度に応じて、任意の予測モードがこれらの３つの最短のコードワードにマッピングされ得る。具体的には、場合によっては、ビデオコンテンツに応じて、分割モードは、他の予測モードと比較して頻繁に使用されないことがあり、または他の予測モードと比較して極めて頻繁に使用されることがある。本開示の技法によれば、分割モードは、頻繁に発生するとき、より短いコードワードにマッピングされ得るが、頻繁に発生しないとき、より長いコードワードにマッピングされ得る。
【００３９】
[0044]特定のスライスの場合、イントラ＿Ｎ×Ｎが、特定のフレームまたはスライスのための最も頻繁に発生する予測モードである場合、イントラ＿Ｎ×Ｎモードには、最短のコードワードの１が割り当てられてもよく、それにより、最初に、スキップモード、ダイレクトモード、またはマージモードが使用されるかどうかを示す３つのビットと、その後に、イントラ＿Ｎ×Ｎモードを識別するための追加のビットとを送ることによって、イントラ＿Ｎ×Ｎモードをシグナリングする以前の技法と比較して、全体的なビットの節約となり得る。本開示の技法は、予測モードをコードワードに適応的にマッピングすることをさらに含み、特定の予測モードについての発生の頻度が、他の予測モードと比較して低下する場合、その特定の予測モードにより長いコードワードが割り当てられるようにし、特定の予測モードについての発生の頻度が、他の予測モードと比較して増す場合、その特定の予測モードにより短いコードワードが割り当てられるようにする。
【００４０】
[0045] ＣＵのためのＰＵを生成するために、イントラ予測コーディングまたはインター予測コーディングを行った後、ビデオエンコーダ２０は、残差データを計算して、ＣＵのための１つまたは複数の変換ユニット（ＴＵ）を生成し得る。ＣＵのＰＵは、（ピクセル領域とも呼ばれる）空間領域におけるピクセル差分データを備え、一方、ＣＵのＴＵは、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ：discrete cosine transform）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後、変換領域における係数を備え得る。残差データは、非符号化ピクチャ（unencoded picture）のブロックのピクセルと、ピクチャのブロックを予測するために使用されるＣＵのＰＵの予測値との間の、ピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵについての残差データを含む１つまたは複数のＴＵを形成し得る。ビデオエンコーダ２０は、次いで、ＴＵを変換し得る。
【００４１】
[0046]変換係数を生成するための任意の変換後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【００４２】
[0047]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査（スキャン）するためにあらかじめ定義された走査順序を利用することができる。他の例では、ビデオエンコーダ２０は、適応型走査を実行することができる。量子化変換係数を走査して１次元ベクトルを形成した後、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型２値算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化することができる。
【００４３】
[0048]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択することができる。コンテキストは、たとえば、隣接値が非ゼロか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択することができる。ＶＬＣにおけるコードワードは、比較的より短いコードがより起こりえるシンボルに対応し、より長いコードがより起こりえないシンボルに対応するように構築され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用することに勝る、ビット節約を達成し得る。場合によっては、コードワードは、小数ビット、すなわち、１ビット未満に短縮され得る。確率決定は、コンテキストに基づくことができる。
【００４４】
[0049]ビデオデコーダ３０は、ビデオエンコーダ２０の動作と本質的に対称的な形で動作することができる。たとえば、ビデオデコーダ３０は、符号化されたＰＵデータとＴＵデータとを含む符号化されたＣＵを表す、エントロピー符号化されたデータを受信することができる。この受信データは、ビデオエンコーダ２０がどのようにＣＵを符号化したかを識別する、シンタックス要素を含み得る。上記で説明したように、シンタックス要素は、他の情報の中に、ＣＵのための予測モードを識別するコードワードを含み得る。デコーダ３０は、ビデオエンコーダ２０によって維持されたＶＬＣテーブルと一致する、１つまたは複数のＶＬＣテーブルを維持することができる。したがって、ビデオエンコーダ２０から受信されたコードワードに基づいて、ビデオデコーダ３０は、ＣＵを符号化するために使用された予測モードを決定して、ＣＵを再構成することができる。
【００４５】
[0050]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００４６】
[0051]図２は、一般化Ｐ／Ｂ（ＧＰＢ）フレーム３６Ａ〜３６Ｂおよび３８Ａ〜３８Ｂを含む例示的なビデオシーケンス３３を示す概念図である。現在のＣＵに関連するＧＰＢシンタックス要素は、現在のＣＵを含むフレームが一般化Ｐ／Ｂ（ＧＰＢ）フレームとしてコード化されたかどうかを示すことができる。このようにして、ＧＰＢフレームは、たとえば、シーケンス毎ベースで、使用可能または使用不能にされ得る。以下でより詳細に説明するように、本開示の技法は、概して、ＧＰＢが使用可能にされるか使用不能にされるかにかかわらず、ビデオコーディングに適用可能である。しかし、場合によっては、ビデオエンコーダ２０は、フレームがＧＰＢを使用可能にされるか使用不能にされるかに応じて、異なるＶＬＣテーブルを使用して、ＣＵのための予測モードをコーディングすることができる。他の場合には、ビデオエンコーダ２０は、フレームがＧＰＢを使用可能にされるかどうかに構わずに、ＣＵのための予測モードをコーディングすることができる。
【００４７】
[0052]場合によっては、ビデオシーケンス３３は、ピクチャグループ（ＧＯＰ）と呼ばれることがある。ビデオシーケンス３３は、図示のように、表示順でフレーム３５Ａ、３６Ａ、３８Ａ、３５Ｂ、３６Ｂ、３８Ｂ、および３５Ｃ、ならびに最終フレーム３９を含む。フレーム３４は、シーケンス３３の前に発生するシーケンスの表示順における最終フレームである。図２は、概して、ビデオシーケンスの例示的な予測構造を表し、単に、様々なインターモードフレームタイプを符号化するために使用されるフレーム参照を示すものである。実際のビデオシーケンスは、様々なフレームタイプのより多いまたはより少ないビデオフレームを、異なる表示順で含み得る。
【００４８】
[0053]ブロックベースビデオコーディングの場合、シーケンス３３中に含まれるビデオフレームの各々は、ビデオブロックまたはコーディングユニット（ＣＵ）に区分され得る。ビデオフレームの各ＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。イントラコード化（Ｉ）フレーム中のビデオブロックまたはＰＵは、同じフレーム中の隣接ブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢまたはＧＰＢ）フレーム中のビデオブロックまたはＰＵは、同じフレーム中の隣接ブロックに関する空間的予測、または他の参照フレームに関する時間的予測を使用することができる。
【００４９】
[0054]Ｂフレーム中のビデオブロックは、２つの異なる参照フレームリスト、従来は１つの過去のフレームと１つの将来のフレームとから、２つの動きベクトルを計算するために、双方向予測を使用して符号化され得る。場合によっては、Ｂフレーム中のビデオブロックは、２つの異なる参照フレームリストのうちの１つからの単方向予測を使用して符号化され得る。Ｐフレーム中のビデオブロックは、単一の参照フレームリスト、従来は過去のフレームから、単一の動きベクトルを計算するために、単方向予測を使用して符号化され得る。新たに登場したＨＥＶＣ規格によれば、ＧＰＢフレーム中のビデオブロックは、２つの同一の参照フレームリストのうちの１つから単一の動きベクトルを計算するための単方向予測、または２つの同一の参照フレームリストから２つの動きベクトルを計算するための双方向予測のいずれかを使用して符号化され得る。この２つの同一の参照フレームリストは、過去の参照フレームを含み得る。
【００５０】
[0055]場合によっては、ＧＰＢフレームが、所与のビデオスライス、ビデオフレーム、またはビデオシーケンスのために全体的に使用可能であるとき、標準Ｐフレームの代わりにＧＰＢフレームが使用され得る。この場合、すべての標準Ｐフレームは、ＧＰＢフレームとして扱われ得、したがって、ビデオエンコーダは、インターモードフレームをＢフレームまたはＧＰＢフレームとして符号化することを決定することができる。他の場合、ＧＰＢフレームが部分的に使用可能であるとき、３つすべてのインター予測モード（すなわち、Ｂ、ＰまたはＧＰＢ）が使用され得る。この場合、ビデオエンコーダは、インターモードフレームをＢフレーム、ＰフレームまたはＧＰＢフレームとして符号化することを決定することができる。
【００５１】
[0056]図２の例では、最終フレーム３９は、イントラモードコーディングのためにＩフレームに指定される。他の例では、最終フレーム３９は、例えば、前のシーケンスの最終フレーム３４を参照するＰフレームとして、インターモードコーディングを用いてコード化され得る。ビデオフレーム３５Ａ〜３５Ｃ（総称して「ビデオフレーム３５」）は、過去のフレームと将来のフレームとを参照する双方向予測を使用して、Ｂフレームとしてコーディングすると指定される。図示の例では、フレーム３４とフレーム３６Ａとからビデオフレーム３５Ａへの矢印によって示されるように、フレーム３５Ａは、最終フレーム３４とフレーム３６Ａとを参照してＢフレームとして符号化される。フレーム３５Ｂおよび３５Ｃは、同様に符号化される。
【００５２】
[0057]ビデオフレーム３６Ａ〜３６Ｂ（総称して「ビデオフレーム３６」）は、過去のフレームを参照する単方向予測を使用して、標準ＰフレームまたはＧＰＢフレームのいずれかとしてコーディングすると指定され得る。図示の例では、フレーム３４からビデオフレーム３６Ａへの矢印によって示されるように、フレーム３６Ａは、最終フレーム３４を参照してＰフレームまたはＧＰＢフレームとして符号化される。フレーム３６Ｂは、同様に符号化される。
【００５３】
[0058]ビデオフレーム３８Ａ〜３８Ｂ（総称して「ビデオフレーム３８」）は、同じ過去のフレームを参照する双方向予測を使用して、ＧＰＢフレームとしてコーディングすると指定され得る。他の例では、ＧＰＢフレームは、同じ参照フレームリスト中に含まれる実質的に同様の過去のフレームを参照する双方向予測を使用して符号化され得る。図示の例では、フレーム３６Ａからビデオフレーム３８Ａへの２つの矢印によって示されるように、フレーム３８Ａは、フレーム３６Ａへの２つの参照を用いてＧＰＢフレームとして符号化される。フレーム３８Ｂは、同様に符号化される。
【００５４】
[0059]図３は、ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を実装することができる、ビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ＣＵ、またはＣＵのＰＵを含む、ビデオフレーム内のブロックのイントラコーディングとインターコーディングとを実行することができる。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラ（Ｉ）モードは、いくつかの空間ベースの圧縮モードのいずれかを指すことができる。単方向予測（Ｐモード）、双方向予測（Ｂモード）、または一般化Ｐ／Ｂ予測（ＧＰＢモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことができる。
【００５５】
[0060]図３に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図３の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、予測ユニット４１と、メモリ６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測ユニット４１は、動き推定ユニット４２（ＭＥＵ４２）と、動き補償ユニット４４（ＭＣＵ４４）と、イントラ予測ユニット４６（ＩＰＵ４６）とを含む。予測ユニット４１は、図３でＶＬＣテーブル４８として示される、１つまたは複数のＶＬＣテーブルをさらに維持する。図３は、説明のために、モード選択ユニット４０と予測ユニット４１とを別々に示すが、実装では、モード選択ユニット４０と予測ユニット４１との機能は、高度に統合され得る。したがって、ビデオエンコーダ２０のいくつかの構成では、モード選択ユニット４０に帰因する機能は、予測ユニット４１によって実施され得、その逆も同様である。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理する、デブロッキングフィルタ（図３に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理するであろう。
【００５６】
[0061]符号化プロセス中に、ビデオエンコーダ２０は、コード化されるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のＣＵまたはビデオブロックに分割され得る。モード選択ユニット４０は、誤差結果に基づいて現在のビデオブロックのためのコーディングモード、イントラまたはインターのうちの１つを選択することができ、予測ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に供給し、参照フレームとして使用するための符号化ブロックを再構成するために加算器６２に供給することができる。予測モードは、上記で説明したように、ＣＵがより小さいＣＵに分割される、分割モードを含み得る。より小さいＣＵの各々は次いで、予測モードのうちの１つを使用して、さらに分割またはコード化され得る。予測モードは、また、現在のＰＵが、残差データなしに、参照フレーム内のコロケーテッド（collocated）ブロックに基づいて再構成され、その結果現在のＰＵが参照ブロックと等しくなるスキップモード、または、現在のＰＵが、残差データとともに、参照フレーム内のコロケーテッドブロックに基づいて再構成され、その結果現在のＰＵが、残差データを加えた参照ブロックに対応することとなるダイレクトモードを含み得る。他の予測モードは、インター＿２Ｎ×２Ｎと、インター＿Ｎ×２Ｎと、インター＿２Ｎ×Ｎと、インター＿Ｎ×Ｎと、インター＿２Ｎ×ｎＵと、インター＿２Ｎ×ｎＤと、インター＿ｎＬ×２Ｎと、インター＿ｎＲ×２Ｎと、イントラ＿２Ｎ×２Ｎと、イントラ＿Ｎ×Ｎとを含み得、そのようなモードは、ＰＵのサイズと、モードがイントラ予測モードであるのかインター予測モードであるのかと、を指す。
【００５７】
[0062]予測ユニット４１内のイントラ予測ユニット４６は、空間圧縮を提供するために、コード化されるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行する。現在のビデオブロックは、現在コード化されているビデオブロックを指す。イントラ予測ユニット４６は、共通の一連のビデオブロック（たとえば、フレームまたはスライス）内の１つまたは複数の前に符号化された隣接ブロックに基づいて、現在のビデオブロックのための予測ブロックを生成することができる。イントラ予測ユニット４６は、たとえば、現在のフレーム内の１つまたは複数の前に符号化された隣接ブロックを使用して、補間を実行することによって、予測ブロックを生成するための空間的予測を実行することができる。現在のフレーム内の１つまたは複数の隣接するブロックは、たとえば、メモリ６４から取り出され得、メモリ６４は、１つまたは複数の前に符号化されたフレームまたはブロックを記憶するために、任意のタイプのメモリまたはデータストレージデバイスを備え得る。イントラ予測ユニット４６は、予測モードのセットのイントラ予測モードに従って、補間を実行することができる。
【００５８】
[0063]予測ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。この１つまたは複数の参照フレームは、メモリ６４に記憶された第１の参照フレームリスト（リスト０）６６および／または第２の参照フレームリスト（リスト１）６８から選択され得る。
【００５９】
[0064]動き推定ユニット４２は、ビデオシーケンスの予め定められたパターンに従ってビデオフレームのためのインター予測モードを判断するように構成され得る。予め定められたパターンは、シーケンス中のビデオフレームをＰフレームおよび／またはＢフレームに指定することができる。場合によっては、ＧＰＢフレームが使用可能であり得、したがって、１つまたは複数のビデオフレームがＧＰＢフレームに指定され得る。他の場合には、ＧＰＢフレームが使用可能であるとき、動き推定ユニット４２は、当初指定されたＰフレームをＧＰＢフレームとして符号化するかどうかを判断することができる。後者の場合は、ＧＰＢフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。
【００６０】
[0065]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレーム内の予測ブロックに対する現在のビデオフレーム内のＰＵまたはビデオブロックの変位を示すことができる。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コード化されるべきＰＵを含むＣＵの一部分にぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、メモリ６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算することができる。たとえば、ビデオエンコーダ２０は、参照フレームの１／４ピクセル位置、１／８ピクセル位置、または他の小数ピクセル位置の値を計算することができる。したがって、動き推定ユニット４２は、フルピクセル位置と小数ピクセル位置とに対する動き探索を実行し、小数ピクセル精度で動きベクトルを出力することができる。
【００６１】
[0066]動き推定ユニット４２は、ＰＵと、メモリ６４内のリスト０  ６６またはリスト１  ６８のいずれかの中の参照フレームのブロックとを比較することによって、インターコード化フレームのＰＵまたはビデオブロックのための動きベクトルを計算する。たとえば、インターコード化フレームがＰフレームを備えるとき、動き推定ユニット４２は、Ｐフレーム中のビデオブロックのために単方向予測を使用し、過去のフレームのための識別子を含むリスト０  ６６とリスト１  ６８とのうちの１つ、従来はリスト０  ６６から、単一の動きベクトルを計算することができる。
【００６２】
[0067]インターコード化フレームがＢフレームを備えるとき、たとえば、リスト０  ６６とリスト１  ６８とは、異なる参照フレーム、一般に過去のフレームと将来のフレームとのための識別子を含み得る。動き推定ユニット４２は、Ｂフレームのビデオブロックのために双方向予測を使用し、リスト０  ６６とリスト１  ６８とから２つの動きベクトルを計算することができる。場合によっては、動き推定ユニット４２は、Ｂフレームのビデオブロックのために単方向予測を使用し、参照フレームリスト６６、６８のうちの１つから単一の動きベクトルを計算することができる。
【００６３】
[0068]新たに登場したＨＥＶＣ規格によれば、インターコード化フレームがＧＰＢフレームを備えるとき、リスト０  ６６とリスト１  ６８とは、同一の参照フレームのための識別子を含むようになる。具体的には、各リストは、同じ参照フレームのリストを含む。リスト０  ６６とリスト１  ６８との中に含まれる参照フレームは、過去のフレームを備え得る。この場合、動き推定ユニット４２は、ＧＰＢフレームのビデオブロックのために双方向予測を使用し、リスト０  ６６からの１つとリスト１  ６８からの１つとの、２つの動きベクトルを計算することができる。動き推定ユニット４２はまた、ＧＰＢフレームのビデオブロックのために単方向予測を使用し、リスト０  ６６とリスト１  ６８とのうちの１つから単一の動きベクトルを計算することもできる。
【００６４】
[0069]参照フレームリストのうちの１つが他の参照フレームリストよりも好適であるとき、デフォルトで、単方向予測のために好適参照フレームリストを使用することがより効率的であり得る。これは、Ｂフレームのための単方向予測が、ほとんどの場合、参照フレームリストのうちの一方よりも他方に基づいて実行される場合であり得る。たとえば、Ｐフレームと同様に、Ｂフレームのための単方向予測は、一般に、リスト０  ６６からの過去の参照フレームに基づいて実行され得る。この例では、動き補償ユニット４４は、リスト０  ６６が好適参照フレームリストであると決定できる。これはまた、リスト０  ６６とリスト１  ６８とが同一の参照フレームについての識別子を含み、ＧＰＢフレームが使用可能なときにも当てはまる。その場合、動き補償ユニット４４は、２つの同一の参照フレームリスト間で選択する代わりに、リスト０  ６６とリスト１  ６８とのうちの１つを、単方向予測のために常に使用されるべき好適参照フレームリストとして、任意に選択し得る。たとえば、動き補償ユニット４４は、リスト０  ６６を好適参照フレームリストとして選択し得る。
【００６５】
[0070]動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴う。ビデオエンコーダ２０は、コード化されている現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。
【００６６】
[0071]動き補償ユニット４４は、ＰＵのための動きベクトルによって識別される予測ブロックを取り出すことによって、現在のＣＵのＰＵについての予測モード情報を計算することができる。予測情報は、たとえば、動き予測方向と、動き予測子を含む動きベクトル情報と、参照フレームリスト情報とを含み得る。動き補償ユニット４４はまた、現在のビデオブロックまたはＰＵについて計算される予測情報を表すように定義されるシンタックス要素を生成することができる。ビデオエンコーダ２０は、次いで、予測情報をシンタックス要素として符号化し、ビデオデコーダ３０にシンタックス要素をシグナリングすることができる。
【００６７】
[0072]動き補償ユニット４４が、動きベクトルに基づいて現在のビデオブロックのための予測ブロックを生成し、現在のビデオブロックについての予測情報を表すためのシンタックス要素を生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。変換ユニット５２は、残差ブロックから１つまたは複数の変換ユニット（ＴＵ）を形成することができる。変換ユニット５２は、離散コサイン変換（ＤＣＴ：discrete cosine transform）または概念的に同様の変換などの変換をＴＵに適用し、残差変換係数を備えるビデオブロックを生成する。変換は、残差ブロックをピクセル領域から周波数領域などの変換領域に変換することができる。
【００６８】
[0073]変換ユニット５２は、量子化ユニット５４に、得られた変換係数を送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行する。代替的に、エントロピー符号化ユニット５６が走査を実行する。
【００６９】
[0074]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、または別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ３０などのビデオデコーダに送信されるか、あるいは後で送信または検索するためにアーカイブされ得る。
【００７０】
[0075]エントロピー符号化ユニット５６はまた、コード化されている現在のビデオブロックのための動きベクトルと他の予測シンタックス要素とをエントロピー符号化し得る。たとえば、エントロピー符号化ユニット５６は、符号化されたビットストリーム中で送信するために動き補償ユニット４４によって生成された適切なシンタックス要素を含むヘッダ情報を構築する。ＰＵまたはビデオブロックレベルにおいて、シンタックス要素は、動きベクトルと動き予測方向とを含み得る。より高レベルにおいて、シンタックス要素は、ＧＰＢフレームが所与のビデオフレームのために使用可能であるかどうかを示すＧＰＢ使用可能フラグと、所与のビデオフレームがＧＰＢフレームとして符号化されるかどうかを示すＧＰＢ符号化フラグ（GPB encoded flag）とを含み得る。ビデオデコーダは、予測ブロックを取り出し、ビデオエンコーダ２０によって符号化された元のビデオブロックを再構成するために、これらのシンタックス要素を使用することができる。
【００７１】
[0076]シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット５６は、コンテキストモデルに基づいて、ＣＡＢＡＣを実行し、シンタックス要素を１つまたは複数のバイナリビットに２値化することができる。上記でより詳細に説明したこの例では、エントロピー符号化ユニット５６は、シングルビット２値化を、好適参照フレームからの単方向予測とリンクさせるために、動き補償ユニット４４によって適合された２値化を適用することができる。エントロピー符号化ユニットはまた、コンテキストモデルに基づいた確率に従って、ＣＡＶＬＣを実行し、シンタックス要素をコードワードとして符号化することもできる。上記でより詳細に説明したこの例では、エントロピー符号化ユニット５６は、動き補償ユニット４４によって好適参照リストの方にバイアスされたビットの確率初期設定に基づいて、短縮されたコードワードとして、シンタックス要素のビットを符号化することができる。
【００７２】
[0077]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照フレームの参照ブロックとして後で使用するために、ピクセル領域における残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを、メモリ６４内に記憶されたリスト０  ６６またはリスト１  ６８内の参照フレームのうちの１つの予測ブロックに加算することによって、参照ブロックを計算することができる。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算することもできる。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、メモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム中のブロックをインター予測する（inter-predict）ために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００７３】
[0078]コーディングプロセスの一部として、予測ユニット４１はまた、予測モードシンタックスを、ビットストリームに含めるために、エントロピー符号化ユニット５６へ送り得る。予測モードシンタックスは、特定のＣＵのために使用される予測モードを識別することができる。予測ユニット４１は、ＶＬＣテーブル４８を維持し、ＶＬＣテーブル４８は、予測モードをコードワードにマッピングする。任意の特定の予測モードに対し、予測ユニット４１は、ＶＬＣテーブル４８からコードワードを決定し、そのコードワードを、ビットストリーム中に含まれるように、エントロピー符号化ユニット５６へ送る。以下の表１は、ＣＵのためにＶＬＣテーブル４８内で予測ユニット４１によって維持され得る予測モードへの、コードワードの例示的なマッピングを示す。いくつかの実装形態では、予測ユニット４１は、ＧＰＢが使用可能にされたＣＵについてのみ、表１を使用し、ＧＰＢが使用不能にされるＣＵについては、別のＶＬＣテーブルを使用することができる。以下の表２は、ＧＰＢが使用不能にされるＣＵのためにＶＬＣテーブル４８内で予測ユニット４１によって維持され得る予測モードへの、コードワードの例示的なマッピングを示す。表１と表２とを比較することによってわかるように、表２は、方向性予測のために使用される２つのリスト（たとえば、図３のリスト０  ６６およびリスト１  ６８）が同じであるため、ダイレクト＿ＵｎｉＬ１のためのエントリを含んでいない。したがって、ただ１つの単方向モード（表１でダイレクト＿ＵｎｉＬ０と表される）のみが必要とされる。
【表１】
2013543316.tif 000003
【表２】
2013543316.tif 000004
【００７４】
[0079]いくつかの実装形態では、表２のような単一のテーブルが、ＧＰＢが使用可能にされるＣＵとＧＰＢが使用不能にされるＣＵとの両方について維持され得る。両方のタイプのＣＵについて１つのテーブルを使用する場合、ある予測モードが他の予測モードと比較してより頻繁でなく発生する場合、その予測モードにはより長いコードワードが割り当てられ得る。たとえば、予測モードのダイレクト＿ＵｎｉＬ１は、すべてのＣＵ（すなわち、ＧＰＢが使用不能のＣＵとＧＰＢが使用可能のＣＵの両方）のための他の予測モードと比較して頻繁に発生するよりも、ＧＰＢが使用不能のＣＵのための他の予測モードと比較して、より頻繁に発生し得る。
【００７５】
[0080]上記で表１および表２で示した例によれば、予測ユニット４１は、ＣＵのための各予測モードを、その予測モードについての発生の頻度に対応するサイズ（たとえば、ビット長）を有するＶＬＣコードワードに従って、シグナリングすることができる。表１および表２に示されている予測モードへのコードワードの特定の割当ては、一例にすぎず、以下でより詳細に論じるように、予測ユニット４１は、ある予測モードが特定のビデオシーケンスについてどのくらいの頻度で発生するかに基づいて、予測モードへのコードワードのマッピングを動的に変更し得る。
【００７６】
[0081]別の例によれば、予測ユニット４１は、予測モードを２つ以上のグループに分離し、各グループのためのシングルコードワードを使用して、各グループを一緒にコーディングし得る。たとえば、予測モードの第１の数（たとえば、分割、スキップ、ダイレクト、マージ）は、第１のコードワードによってシグナリングされ得るが、予測モードの第２の数（たとえば、インター＿２Ｎ×２Ｎ、インター＿Ｎ×２Ｎ、インター＿２Ｎ×Ｎ、インターＮ×Ｎ、インター２Ｎ×ｎＵ、インター＿２Ｎ×ｎＤ、インター＿ｎＬ×２Ｎ、インター＿ｎＲ×２Ｎ、イントラ＿２Ｎ×２Ｎ、および／またはイントラ＿Ｎ×Ｎ）は、第２のコードワードによってシグナリングされ得る。そのような一例によれば、第１のグループの最終シンボルは、エスケープコードと呼ばれることがあり、別のコードワードが現在のＣＵについて存在することを示すことができる。これらの例によれば、予測モードへのコードワードのマッピングは、グルーピングごとに動的に調整され得る。以下の表３および表４は、予測ユニット４１がどのように予測モードを２つ以上のグループに分離することができるかの一例を示す。
【表３】
2013543316.tif 000005
【表４】
2013543316.tif 000006
【００７７】
[0082]上記の表３および表４の例によれば、表３の０００のコードワードは、予測モードが表４を使用して選択されるべきであることを示す。予測ユニット４１が、たとえば、予測モードのインター＿Ｎ×２Ｎを使用して、ＣＵをコーディングする場合、予測ユニット４１は、最初に、予測モードが表３ではなく表４に基づいて決定されるべきであることを示すために、０００のコードワードを生成し、次いで、表４からのどの予測モードがＣＵのために使用されたかを示すために、１０１のコードワードを生成する。
【００７８】
[0083]別の例によれば、マージフラグが現在のＣＵについてシグナリングされるとき、１つまたは複数のマージフラグが、ＣＵの区分サイズとの組合せでシグナリングされ得る。たとえば、インター＿２Ｎ×２Ｎの予測モードは、単一のマージフラグとともに、インター＿２Ｎ×２Ｎ＿マージ＿０またはインター＿２Ｎ×２Ｎ＿マージ＿１としてシグナリングされ得る。別の例として、インター＿Ｎ×２Ｎの予測モードは、２つのマージフラグとともに、インター＿Ｎ×２Ｎ＿マージ＿００、インター＿Ｎ×２Ｎ＿マージ＿０１、インター＿Ｎ×２Ｎ＿マージ＿１０、またはインター＿Ｎ×２Ｎ＿マージ＿１１としてシグナリングされ得る。この例によれば、マージおよび予測モードフラグを組合せて表す１つまたは複数のシンボルは、上記で説明したように、発生の数に基づいて、ＶＬＣコードワード内で表され得る（たとえば、組み合わされたフラグの発生がより多い場合、コードワード内のシンボルは、より短い）。また、いくつかの例では、予測モードおよびマージフラグの組合せによる指示を含むコードワードは、上記で説明したように、シングルコードワード、または、コードワードの複数のグループとして、他の予測モードで表され得る。
【００７９】
[0084]上記で説明したように、いくつかの例によれば、エンコーダは、インター＿ｐｒｅｄ＿ｉｄｃをシグナリングすることができ、インター＿ｐｒｅｄ＿ｉｄｃは、現在のＣＵについての動き予測の方向とｒｅｆ＿ｉｄｘとを一緒にシングルコードワード（たとえば、Ｂｉ＿Ｒ０＿Ｒ０、Ｂｉ＿Ｒ０＿Ｒ１、Ｂｉ＿Ｒ１＿Ｒ０、Ｂｉ＿Ｒ０＿Ｒ１、ＵｎｉＬ０＿Ｒ０、ＵｎｉＬ０＿Ｒ１、ＵｎｉＬ１＿Ｒ０、およびＵｎｉＬ１＿Ｒ）として示すことができる。ダイレクト予測モードが現在のＣＵについて使用される場合、ｒｅｆ＿ｉｄｘの値は、常に０の値を有してもよい。この例によれば、上記に示した例とは異なるコーディングテーブルが使用され得る。たとえば、ダイレクト予測モードが現在のＣＵについて使用される場合、コードワードＢｉ＿Ｒ０＿Ｒ１、Ｂｉ＿Ｒ１＿Ｒ０、Ｂｉ＿Ｒ０＿Ｒ１、ＵｎｉＬ０＿Ｒ１、およびＵｎｉＬ１＿Ｒ１がシグナリングされないことがある。
【００８０】
[0085]別の例によれば、追加のコードテーブルが、シンタックス要素インター＿ｐｒｅｄ＿ｉｃをコーディングするために使用され得る。たとえば、ＧＰＢの値に応じて、異なるコードテーブルが、Ｂｉ、ＵｎｉＬ０、および／またはＵｎｉＬ１のための値を示すために使用され得る。この例によれば、ＧＰＢが使用可能な場合、１のコードワードは、値Ｂｉ（リスト０およびリスト１を参照する双方向予測）を表すことができ、０１のコードワードは、値ＵｎｉＬ０（リスト０を参照する単方向予測）を表すことができ、００のコードワードは、値ＵｎｉＬ１（リスト１を参照する単方向予測）を表すことができる。また、この例によれば、単一ビットコードワードが、ＢｉとＵｎｉＬ０とを示すために使用され得る。別の例として、ＧＰＢがＢｉ値とＵｎｉＬ０値とＵｎｉＬ１値とを示すために使用不能か、使用可能かにかかわらず、単一のコードテーブルが使用され得る。この例によれば、ＵｎｉＬ１には、より長いコードワードが割り当てられ得る。たとえば、Ｂｉには、１のコードワードが割り当てられ、ＵｎｉＬ０には、０１のコードワードが割り当てられ、ＵｎｉＬ１には、００のコードワードが割り当てられ得る。
【００８１】
[0086]別の例によれば、ＧＰＢが使用不能にされる場合、１つのコードテーブルが、分割と、スキップと、マージと、ダイレクト＿Ｂｉと、ダイレクト＿ＵｎｉＬ０と、ダイレクト＿ＵｎｉＬ１と、インター＿２Ｎ×２Ｎと、インター＿Ｎ×２Ｎと、インター＿２Ｎ×Ｎと、インター＿Ｎ×Ｎと、インター＿２Ｎ×ｎＵと、インター＿２Ｎ×ｎＤと、インター＿ｎＬ×２Ｎと、インター＿ｎＲ×２Ｎと、イントラ＿２Ｎ×２Ｎと、イントラ＿Ｎ×Ｎとを示すために使用され得る。以下の表５は、そのようなコードテーブルの一例を示す。
【００８２】
[0087]別の例によれば、予測ユニット４１は、予測モードを２つ以上のグループに分離し、ＧＰＢが使用可能なＣＵおよびＧＰＢが使用不能なＣＵについて、別々のＶＬＣテーブルのセットを維持することができる。以下の表５は、ＧＰＢが使用不能なＣＵのためのコードワードにマッピングされる、第１の予測モードのグループの一例を示す。残りの予測モード（たとえば、インター＿２Ｎ×２Ｎ、インター＿Ｎ×２Ｎ、インター＿２Ｎ×Ｎ、インター＿Ｎ×Ｎ、インター＿２Ｎ×ｎＵ、インター＿２Ｎ×ｎＤ、インター＿ｎＬ×２Ｎ、インター＿ｎＲ×２Ｎ、イントラ＿２Ｎ×２Ｎ、およびイントラ＿Ｎ×Ｎ）は、表３および表４に関して上記で説明したように、別のテーブルからのＶＬＣコードワードを加えたエスケープコード（この例では００００）の組合せとして、コード化され得る。
【表５】
2013543316.tif 000007
【００８３】
[0088]以下の表６は、ＧＰＢが使用可能なＣＵのためのコードワードにマッピングされる、第１の予測モードのグループの一例を示す。表６と表５とを比較することによってわかるように、表５は、表６中に存在しない追加のモード（ダイレクト＿ＵｎｉＬ１）を含む。表５の場合と同様に、残りの予測モード（たとえば、インター＿２Ｎ×２Ｎ、インター＿Ｎ×２Ｎ、インター＿２Ｎ×Ｎ、インター＿Ｎ×Ｎ、インター＿２Ｎ×ｎＵ、インター＿２Ｎ×ｎＤ、インター＿ｎＬ×２Ｎ、インター＿ｎＲ×２Ｎ、イントラ＿２Ｎ×２Ｎ、およびイントラ＿Ｎ×Ｎ）は、表３および表４に関して上記で説明したように、別のテーブルからのＶＬＣコードワードを加えたエスケープコード（この例では００００）の組合せとして、コード化され得る。
【表６】
2013543316.tif 000008
【００８４】
[0089]以下の表７は、ＧＰＢが使用可能または使用不可にかかわらず、ＣＵのためのコードワードにマッピングされる、第１の予測モードのグループの一例を示す。表５および表６の場合と同様に、残りの予測モード（たとえば、インター＿２Ｎ×２Ｎ、インター＿Ｎ×２Ｎ、インター＿２Ｎ×Ｎ、インター＿Ｎ×Ｎ、インター＿２Ｎ×ｎＵ、インター＿２Ｎ×ｎＤ、インター＿ｎＬ×２Ｎ、インター＿ｎＲ×２Ｎ、イントラ＿２Ｎ×２Ｎ、およびイントラ＿Ｎ×Ｎ）は、表３および表４に関して上記で説明したように、別のテーブルからのＶＬＣコードワードを加えたエスケープコード（この例では００００）の組合せとして、コード化され得る。表７と表５とを比較することによってわかるように、表７は、第１のモードのグループ内の同じモードを含むが、予測モードとコードワードの間のコードワードマッピングは異なる。この違いは、ＧＰＢが使用可能なＣＵと、ＧＰＢが使用不能なＣＵとが、同じまたは異なるように扱われるかどうかに応じて、あるモードがどのくらい頻繁に発生するかにおける違いに起因し得る。
【表７】
2013543316.tif 000009
【００８５】
[0090]別の例によれば、予測ユニット４１は、ＡＭＰが使用可能にされたＣＵおよびＡＭＰが使用不能にされたＣＵについて、別々のＶＬＣテーブルのセットを維持することができる。上記で説明したように、特定のＣＵがＡＭＰを使用可能または使用不能にされるかどうかは、ＬＣＵ、スライス、フレーム、ピクチャセット、シーケンスなどのようなより高いレベルのコーディングユニットに関連するシンタックスによって、符号化ビットストリーム内でシグナリングされ得る。表８〜１１は、ＡＭＰが使用可能にされるときに使用するために、予測ユニット４１によって維持され得る、ＶＬＣテーブルの例を示す。ＳＣＵではなく、ＡＭＰが使用可能にされたＣＵの場合、予測ユニット４１は、表８からコードワードを選択することができる。ＳＣＵであり、ＡＭＰが使用可能にされたＣＵの場合、予測ユニット４１は、表９からコードワードを選択することができ、表９のエスケープコードが選択される場合、予測ユニット４１は、表１０または表１１のいずれかから追加のコードワードを選択することができる。表８と表９とを比較することによってわかるように、分割モードは、ＳＣＵであるＣＵの場合、除去され得る。インターＮ×Ｎが使用可能な場合、予測ユニット４１は、表１０から追加のコードワードを選択することができる。インターンＮ×Ｎモードが使用不能な場合、予測ユニット４１は、表１１から追加のコードワードを選択することができる。ＳＣＵのサイズは、ビットストリーム内で明示的にシグナリングされ得るか、または、ＬＣＵサイズおよび最大ＣＵ深さのような他のシグナリングされた情報に基づいて、識別可能であり得るかのいずれかである。インターＮ×Ｎモードが特定のＣＵについて使用可能かまたは使用不能かは、同様に、ＬＣＵ、スライス、フレーム、ピクチャセット、シーケンスなどのより高いレベルのコーディングユニットに関連するシンタックスから決定され得る。したがって、ビデオデコーダは、符号化ビットストリーム内の情報に基づいて、ＣＵがＳＣＵであるかどうかを判断し、および、インターＮ×Ｎが使用可能か使用不能かを判断することができる。
【表８】
2013543316.tif 000010
【表９】
2013543316.tif 000011
【表１０】
2013543316.tif 000012
【表１１】
2013543316.tif 000013
【００８６】
[0091]表１２〜１５は、ＡＭＰが使用不能なときに使用するために、予測ユニット４１によって維持され得る、ＶＬＣテーブルの例を示す。ＡＭＰが使用不能で、ＳＣＵではないＣＵの場合、予測ユニット４１は、表１２からコードワードを選択することができる。ＡＭＰが使用不能で、ＳＣＵであるＣＵの場合、予測ユニット４１は、表１３からコードワードを選択することができ、表１３のエスケープコードが選択される場合、表１４または表１５のいずれかから追加のコードワードを選択することができる。インターＮ×Ｎが使用可能な場合、予測ユニット４１は、表１４から追加のコードワードを選択することができる。インターＮ×Ｎモードが使用不能な場合、予測ユニット４１は、表１５から追加のコードワードを選択することができる。上記で説明したように、ビデオデコーダは、符号化ビットストリーム内の情報に基づいて、ＣＵがＳＣＵであるかどうかを判断し、および、インターＮ×Ｎが使用可能か使用不能かを決定することができる。
【表１２】
2013543316.tif 000014
【表１３】
2013543316.tif 000015
【表１４】
2013543316.tif 000016
【表１５】
2013543316.tif 000017
【００８７】
[0092]表１〜１５に示す予測モードへのコードワードのマッピングは、説明のための例にすぎない。他のコードワードのマッピングもまた使用され得ることが企図され、より詳細には、予測モードへのコードワードのマッピングは、マッピングがある予測モードの発生に基づいて変化するように、動的であり得ることがさらに企図される。
【００８８】
[0093]ＶＬＣテーブル４８は、異なるＣＵ深さについて別々のＶＬＣテーブルのセットを含み得、「ＣＵ深さ」は、一般に、ＬＣＵが何回分割されているかを指す。たとえば、特定のビデオシーケンスは、６４×６４であるＬＣＵを含み、ＬＣＵは次に、３２×３２である４つのＣＵに分割され、次にそれぞれ１６×１６である４つのＣＵに分割され、以下同様である。６４×６４、３２×３２、１６×１６などの各々は、それ自体の関連するＶＬＣテーブルのセットを有することができる、異なるＣＵ深さを表す。異なるＣＵ深さについて別々のＶＬＣテーブルを維持することによって、本開示の技法は、より少ないビットを使用して、予測モードをデコーダへ送信する結果となり得る。たとえば、特定のスライスまたはフレームの場合、インター＿２Ｎ×２Ｎモードは、６４×６４ＣＵのためのイントラ＿２Ｎ×２Ｎモードよりも頻繁に発生することができるが、イントラ＿２Ｎ×２Ｎモードは、８×８ＣＵのためのインター＿２Ｎ×２Ｎモードよりも頻繁に発生し得る。異なるＣＵ深さについて別々のＶＬＣテーブルのセットを維持することによって、予測ユニット４１は、より短いコードワードをより頻繁に使用可能になり、したがって、予測モードをシグナリングするために必要とされるビットを低減することができる。
【００８９】
[0094]さらに、予測ユニット４１は、異なるＣＵ深さに対して異なるＶＬＣ技法を実装することができる。たとえば、６４×６４ＣＵの場合、予測ユニット４１は、予測モードを、表３〜７のＶＬＣテーブルのような２つ以上のグループに分離し得る。しかしながら、８×８および４×４のようなより小さいＣＵの場合、予測ユニット４１は、たとえば、表１および表２に関して上記で説明したように、すべての予測モードについて単一のＶＬＣテーブルを維持し得る。
【００９０】
[0095]上記で紹介したように、予測ユニット４１は、予測モードが特定のスライスまたはフレームについてどのくらいの頻度で発生するかに基づいて、ＶＬＣテーブル４８に記憶された予測モードへのコードワードのマッピングを動的に変更することができる。この動的な変更は、ＶＬＣテーブル４８によって維持されたすべてのＶＬＣテーブルに対して、個別に発生し得る。たとえば、第１のＣＵ深さに関連するＶＬＣテーブルは、第２のＣＵ深さに関連するＶＬＣテーブルとは無関係に変更され、ＧＰＢ使用可能に関連するＶＬＣテーブルは、ＧＰＢ使用不能に関連するＶＬＣテーブルとは無関係に変更され得る。カウンタ４７は、特定のスライスもしくはフレーム、または、他の一連のビデオブロックのための予測モードの発生を追跡することができ、他の予測モードよりも頻繁に発生する予測モードの場合、より頻繁に発生する予測モードをより短いコードワードにマッピングすることができる。他の予測モードよりも頻繁でなく発生する予測モードの場合、カウンタ４７は、同様に、このより頻繁でなく発生する予測モードをより長いコードワードにマッピングすることができる。いくつかの実装形態では、スライスまたはフレームのようなビデオブロックの特定のグルーピングは、コードワードへの特定のモードのデフォルトマッピングで開始し得る。デフォルトマッピングは、たとえば、上記の表１〜１５に示すマッピングのうちの１つまたは複数である。
【００９１】
[0096]図４は、ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を実装し得る、ビデオデコーダ３０の一例を示すブロック図である。図４の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測ユニット８１と、逆量子化ユニット８６と、逆変換ユニット８９と、加算器９０と、メモリ９２とを含む。予測ユニット８１は、動き補償ユニット８２（ＭＣＵ８２）と、イントラ予測ユニット８４（ＩＰＵ８４）とを含む。予測ユニット８１は、ＶＬＣテーブル８８を維持し、ＶＬＣテーブル８８は、カウンタ８７によって動的に更新され得る。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図３）に関して説明した符号化パスとは全体的に逆の復号パスを実行することができる。
【００９２】
[0097]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０のようなビデオエンコーダからの、符号化ビデオフレームと、予測モードを表すシンタックス要素とを含む、符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、ビットストリームをエントロピー復号し、量子化係数と、動きベクトルと、予測シンタックスとを生成する。エントロピー復号ユニット８０は、予測ユニット８１に動きベクトルと他の予測シンタックスとを転送する。ビデオデコーダ３０は、ビデオブロックまたはＰＵレベル、ビデオスライスレベル、ビデオフレームレベルおよび／またはビデオシーケンスレベルにおいて、シンタックス要素を受信することができる。
【００９３】
[0098]予測ユニット８１のイントラ予測ユニット８４は、シグナリングされたイントラ予測モードと現在のフレームの前に復号されたブロックからのデータとに基づいて、現在のビデオフレームのビデオブロックについての予測データを生成することができる。予測ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信した動きベクトルと予測シンタックスとに基づいて予測ブロックを生成する。予測ブロックは、メモリ９２に記憶された第１の参照フレームリスト（リスト０）９４および／または第２の参照フレームリスト（リスト１）９６のうちの１つまたは複数から生成され得る。
【００９４】
[0099]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行することができる。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算することができる。動き補償ユニット８２は、受信したシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成することができる。
【００９５】
[0100]動き補償ユニット８２は、動きベクトルと予測シンタックスとをパースすることによって現在のビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。動き補償ユニット８２は、受信したシンタックス要素のいくつかを使用して、現在のフレームを符号化するために使用されるＣＵのサイズと、フレームの各ＣＵがどのように分割されるかを記述する分割情報と、各分割がどのように符号化されるかを示すモード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、フレームのための１つまたは複数の参照フレームリストと、フレームの各インター符号化ＰＵまたはＣＵのための動きベクトルと、フレームの各インター符号化ＰＵまたはＣＵの動き予測方向と、現在のビデオフレームを復号するための他の情報と、を判断する。
【００９６】
[0101]動き補償ユニット８２は、ＧＰＢフレームが現在のビデオフレームに対して使用可能であるかまたは許可されるかどうかを判断するために、ビデオフレームレベルまたはビデオシーケンスレベルにおいてシンタックスをパースすることができる。たとえば、動き補償ユニット８２は、ビデオフレームレベルまたはビデオシーケンスレベルのいずれかにおいてシンタックス中で受信されるＧＰＢ使用可能フラグに基づいて、ＧＰＢフレームが使用可能であると判断することができる。ＧＰＢ使用可能フラグは、ＧＰＢフレームが使用不能であること、または使用可能であることを示すように定義され得る。動き補償ユニット８２はまた、現在のビデオフレームについての参照フレームリスト情報を判断するために、ビデオスライスレベルまたはビデオフレームレベルにおいてシンタックスをパースすることもできる。ビデオデコーダ３０は、次いで、シンタックスによって示される、参照フレームの識別子を含むリスト０  ９４とリスト１  ９６とをメモリ９２に記憶する。現在のビデオフレームがＧＰＢフレームであるとき、リスト０  ９４とリスト１  ９６とは、同一の参照フレームのための識別子を含む。
【００９７】
[0102]逆量子化ユニット８６は、ビットストリーム中で供給され、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化（inverse quantize）すなわち逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度と、同様に、適用されるべき逆量子化の程度とを判断するために、各ＣＵまたはビデオブロックについてビデオエンコーダ２０によって計算された量子化パラメータＱＰYの使用を含み得る。逆変換ユニット８９は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用し、ピクセル領域において残差ブロックを生成する。
【００９８】
[0103]動き補償ユニット８２が、動きベクトルと予測シンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット８９からの残差ブロックと動き補償ユニット８２によって生成された対応する予測ブロックとを加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。復号されたビデオブロックは、次いで、メモリ９２に記憶され、メモリ９２は、その後の動き補償のために参照フレームの参照ブロックを与える。メモリ９２はまた、図１のディスプレイデバイス３２のようなディスプレイデバイス上での提示のために、復号されたビデオを生成する。
【００９９】
[0104]本開示の技法によれば、ビデオデコーダ３０は、ビデオブロックについての予測モード情報をコーディングするコストを低減することができる。復号プロセスの一部として、予測ユニット８１はまた、エントロピー復号ユニット８０から予測モードシンタックスを受信することもできる。予測モードシンタックスは、特定のＣＵのために使用される予測モードを識別することができる。予測ユニット８１は、ＶＬＣテーブル８８を維持し、ＶＬＣテーブル８８は、予測モードをコードワードにマッピングする。ＶＬＣテーブル８８は、符号化ビデオビットストリームをビデオデコーダ３０へ送信したビデオエンコーダによって維持されたＶＬＣテーブルと同じ、コードワードへの予測モードのマッピングを維持する。たとえば、ビデオエンコーダが、表１〜１５に示す例示的なマッピングを維持する場合、ＶＬＣテーブル８８は同様に、表１〜１５に示すマッピングを維持する。エントロピー復号ユニット８０から受信されたいかなる特定のコードワードの場合も、予測ユニット８１は、ＶＬＣテーブル８８から予測モードを決定することができる。
【０１００】
[0105]図３に関して上記でより詳細に説明したように、予測ユニット８１は、すべての予測モードについて１つのＶＬＣテーブルを維持することができ、または、予測モードを１つまたは複数のグループに分離することができ、各グループは別々のテーブルを有する。さらに、予測ユニット８１は、異なるＣＵ深さについて別々のテーブルを維持することができ、ＧＰＢが使用可能なフレームおよびＧＰＢが使用不能なフレームについて別々のＶＬＣテーブルを維持することができる。
【０１０１】
[0106]予測ユニット８１は、予測モードが特定のスライスまたはフレームについてどのくらいの頻度で発生するかに基づいて、ＶＬＣテーブル８８に記憶された予測モードへのコードワードのマッピングを動的に変更することができる。ＶＬＣテーブル８８を変更するための技法は、ＶＬＣテーブル８８が、予測モードを符号化するためにビデオエンコーダによって使用されたＶＬＣテーブルに一致するように、ビデオエンコーダに実装された技法と酷似し得る。図３のＶＬＣテーブル４８に関連してより詳細に説明したように、この動的な変更は、ＶＬＣテーブル８８によって維持されたすべてのＶＬＣテーブルに対して、個別に発生し得る。たとえば、第１のＣＵ深さに関連するＶＬＣテーブルは、第２のＣＵ深さに関連するＶＬＣテーブルとは無関係に変更され得、ＧＰＢ使用可能に関連するＶＬＣテーブルは、ＧＰＢ使用不能に関連するＶＬＣテーブルとは無関係に変更され得る。カウンタ８７は、特定のスライスもしくはフレーム、または、他の一連のビデオブロックのための予測モードの発生を追跡することができ、他の予測モードよりも頻繁に発生する予測モードの場合、当該より頻繁に発生する予測モードをより短いコードワードにマッピングすることができる。他の予測モードよりも頻繁でなく発生する予測モードの場合、カウンタ８７は、同様に、当該より頻繁でなく発生する予測モードをより長いコードワードにマッピングすることができる。いくつかの実装形態では、スライスまたはフレームのようなビデオブロックの特定のグルーピングは、コードワードへの特定のモードのデフォルトマッピングで開始することができる。デフォルトマッピングは、たとえば、上記の表１〜１５に示すマッピングのうちの１つまたは複数であり得る。
【０１０２】
[0107]図５は、本開示に一致する符号化技法を示す流れ図である。図５の符号化技法について、図１〜４を参照しながら説明する。ビデオエンコーダ２０の予測ユニット４１は、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブル（たとえば、ＶＬＣテーブル４８）を維持する（５０１）。予測ユニット４１は、ＣＵのコーディングに使用するために、複数の予測モードから予測モードを決定する（５０２）。予測ユニット４１は、識別された予測モードにマッピングされる、ＶＬＣテーブル４８内のコードワードを選択し、選択されたコードワードを含むシンタックス要素を生成する（５０３）。各予測モードの発生数をカウントすることに基づいて、カウンタ４７は、ＶＬＣテーブル４８によって維持されたコードワードへの予測モードのマッピングを調整することができる。
【０１０３】
[0108]図６は、本開示に一致する復号技法を示す流れ図である。図６の復号技法について、図１〜４を参照しながら説明する。本開示は、概して、図６の技法が、ビデオデコーダ３０のようなビデオデコーダによって実行されるものについて説明するが、図６の技法はまた、ビデオ符号化プロセスの一部として、ビデオエンコーダ２０などのビデオエンコーダによっても実行され得る。ビデオデコーダ３０の予測ユニット８１は、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブル（たとえば、ＶＬＣテーブル８８）を維持する（６０１）。複数の予測モードは、たとえば、スキップと、ダイレクトと、マージと、インター＿２Ｎ×２Ｎと、インター＿Ｎ×２Ｎと、インター＿２Ｎ×Ｎと、インターＮ×Ｎと、インター２Ｎ×ｎＵと、インター＿２Ｎ×ｎＤと、インター＿ｎＬ×２Ｎと、インター＿ｎＲ×２Ｎと、イントラ＿２Ｎ×２Ｎと、イントラ＿Ｎ×Ｎとからなるグループから選択される、１つまたは複数の予測モードを含む。ＶＬＣテーブル８８は、第１のＣＵ深さに関連する第１のＶＬＣテーブルのグループと、第２のＣＵ深さに関連する第２のＶＬＣテーブルのグループとを含み得る。ＶＬＣテーブル８８はまた、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のＶＬＣテーブルのグループと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のＶＬＣテーブルのグループとをも含み得る。上記で説明したように、ＶＬＣテーブル８８はまた、ＡＭＰが使用可能なＣＵに関連する第１のＶＬＣテーブルのグループと、ＡＭＰが使用不能なＣＵに関連する第２のＶＬＣテーブルのグループとをも含み得る。
【０１０４】
[0109]符号化ビデオビットストリーム内で、ビデオデコーダ３０は、ＣＵに関連する第１のＶＬＣコードワードを受信する（６０２）。いくつかの実装形態では、ビデオデコーダ３０はまた、第２のＶＬＣコードワードを受信することもできる。上記で説明したように、ビデオデコーダ３０は、符号化ビットストリームに含まれた情報に基づいて、特定のＶＬＣテーブル、または、ＶＬＣテーブル８８からのテーブルのグループを選択し得る。この情報は、たとえば、ＧＰＢが使用可能か使用不能か、ＡＭＰが使用可能か使用不能か、および／または、インターＮ×Ｎモードが使用可能か使用不能かを識別するために、シーケンス、ピクチャグループ、フレーム、スライス、ＬＣＵ、または他の一連のビデオブロックに関連する、シンタックス情報を含む。予測ユニット８１は、第１のＶＬＣコードワードに基づいて、ＣＵのための予測モードを決定する（６０３）。予測ユニット８１は、どの予測モードが、選択されたＶＬＣテーブルのための第１のＶＬＣコードワードに対応するかを識別することによって、ＣＵのためのモードを決定することができる。予測ユニット８１は、予測モードを使用して、ＣＵを再構成する（６０４）。予測ユニット８１のカウンタ８７は、フレームのための予測モードのセット内の各予測モードの発生数をカウントし、各予測モードの発生数に基づいて、コードワードへの予測モードのセットのマッピングを調整することができる（６０５）。このカウントおよびマッピングは、新しいフレームごとに、新しいスライスごとに、または新しいシーケンスごとにリセットされ得る。
【０１０５】
[0110]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１０６】
[0111]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【０１０７】
[0112]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造のいずれか、または本明細書で説明する技法の実装に好適ないずれかの他の構造を指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１０８】
[0113]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【図１】
2013543316.tif 000018
【図２】
2013543316.tif 000019
【図３】
2013543316.tif 000020
【図４】
2013543316.tif 000021
【図５】
2013543316.tif 000022
【図６】
2013543316.tif 000023
【手続補正書】
【提出日】平成25年5月1日(2013.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオのコード化ユニット（ＣＵ）をコーディングする方法であって、前記方法は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを維持することを備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
ＣＵに関連する第１のＶＬＣコードワードを受信することと、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記ＣＵを再構成するために前記予測モードを使用することと、
を備える方法。
【請求項２】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項１に記載の方法。
【請求項３】
前記ＣＵに関連する第２のＶＬＣコードワードを受信することをさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項１に記載の方法。
【請求項４】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
をさらに備える、請求項１に記載の方法。
【請求項５】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、
をさらに備える、請求項４に記載の方法。
【請求項６】
前記第１のＶＬＣコードワードは、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項１に記載の方法。
【請求項７】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項１に記載の方法。
【請求項８】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項１に記載の方法。
【請求項９】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項８に記載の方法。
【請求項１０】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記方法は、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てることをさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項１に記載の方法。
【請求項１１】
前記方法は、ビデオ符号化デバイスによって実施される、請求項１に記載の方法。
【請求項１２】
前記方法は、ビデオ復号デバイスによって実施される、請求項１に記載の方法。
【請求項１３】
ビデオデータを処理するためのデバイスであって、前記デバイスは、
ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを備え、前記ビデオコーダは、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持し、前記ビデオコーダは、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを維持し、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
ＣＵに関連する第１のＶＬＣコードワードを受信し、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し予測モードを決定し、
前記予測モードを使用して、前記ＣＵを再構成する
ように構成された、デバイス。
【請求項１４】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと
を含むグループから選択される１つまたは複数の予測モードを備える、請求項１３に記載のデバイス。
【請求項１５】
前記ビデオコーダは、さらに、
前記ＣＵに関連する第２のＶＬＣコードワードを受信するように構成され、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項１３に記載のデバイス。
【請求項１６】
前記ビデオコーダは、さらに、
フレームのための予測モードのセット内の各予測モードの発生数をカウントし、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整するように構成される、請求項１３に記載のデバイス。
【請求項１７】
前記ビデオコーダは、さらに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするように構成される、請求項１６に記載のデバイス。
【請求項１８】
前記第１のＶＬＣコードワードは、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項１３に記載のデバイス。
【請求項１９】
前記ビデオコーダは、さらに、
一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持するように構成される、請求項１３に記載のデバイス。
【請求項２０】
前記ビデオコーダは、さらに、
非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持し、
非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持するように構成される、請求項１３に記載のデバイス。
【請求項２１】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項２０に記載のデバイス。
【請求項２２】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記ビデオコーダは、さらに、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てるように構成され、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項１３に記載のデバイス。
【請求項２３】
前記ビデオコーダは、ビデオエンコーダである、請求項１３に記載のデバイス。
【請求項２４】
前記ビデオコーダは、ビデオデコーダである、請求項１３に記載のビデオコーディングデバイス。
【請求項２５】
ビデオデータをコーディングするための装置であって、前記装置は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段と、前記ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを維持する手段を備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
ＣＵに関連する第１のＶＬＣコードワードを受信する手段と、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定する手段と、
前記ＣＵを再構成するために、前記予測モードを使用する手段と、
を備える装置。
【請求項２６】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項２５に記載の装置。
【請求項２７】
前記ＣＵに関連する第２のＶＬＣコードワードを受信する手段をさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項２５に記載の装置。
【請求項２８】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、
をさらに備える、請求項２５に記載の装置。
【請求項２９】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段
をさらに備える、請求項２８に記載の装置。
【請求項３０】
前記第１のＶＬＣコードワードは、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項２５に記載の装置。
【請求項３１】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持する手段を備える、請求項２５に記載の装置。
【請求項３２】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、請求項２５に記載の装置。
【請求項３３】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項３２に記載の装置。
【請求項３４】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記装置は、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てる手段をさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項２５に記載の装置。
【請求項３５】
前記装置は、ビデオ符号化デバイスである、請求項２５に記載の装置。
【請求項３６】
前記装置は、ビデオ復号デバイスである、請求項２５に記載の装置。
【請求項３７】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルは、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
ＣＵに関連する第１のＶＬＣコードワードを受信することと、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記ＣＵを再構成するために前記予測モードを使用することと、
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項３８】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記１つまたは複数のプロセッサに、
前記ＣＵに関連する第２のＶＬＣコードワードを受信すること
を行わせる命令をさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記１つまたは複数のプロセッサに、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生の数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
を行わせる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記１つまたは複数のプロセッサに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、請求項４０に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記第１のＶＬＣコードワードは、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記１つまたは複数のプロセッサに、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持させる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記１つまたは複数のプロセッサに、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令をさらに備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記第１のＶＬＣテーブルのグループは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項４４に記載の方法。
【請求項４６】
前記予測モードは、前記ＣＵの第１の予測モードであり、前記コンピュータプログラム製品は、前記プロセッサに、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てさせる命令をさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記１つまたは複数のプロセッサは、ビデオ符号化デバイスの構成要素である、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記１つまたは複数のプロセッサは、ビデオ復号デバイスの構成要素である、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４９】
ビデオのコード化ユニット（ＣＵ）をコーディングする方法であって、前記方法は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルは、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、
前記ＶＬＣコードワードを含むシンタックス要素を生成することと、
を備える方法。
【請求項５０】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項４９に記載の方法。
【請求項５１】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれ発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
をさらに備える、請求項４９に記載の方法。
【請求項５２】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、
をさらに備える、請求項５１に記載の方法。
【請求項５３】
前記シンタックス要素は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項４９に記載の方法。
【請求項５４】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項４９に記載の方法。
【請求項５５】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、請求項４９に記載の方法。
【請求項５６】
前記第１のＶＬＣテーブルのグループは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項５５に記載の方法。
【請求項５７】
ビデオデータを処理するためのデバイスであって、前記デバイスは、
ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを備え、前記ビデオコーダは、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持し、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルは、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定し、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定し、
前記ＶＬＣコードワードを含むシンタックス要素を生成する
ように構成されたデバイス。
【請求項５８】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項５７に記載のデバイス。
【請求項５９】
前記ビデオコーダは、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントし、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する、
ようにさらに構成される、請求項５７に記載のデバイス。
【請求項６０】
前記ビデオコーダは、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするようにさらに構成される、請求項５９に記載のデバイス。
【請求項６１】
前記シンタックス要素は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項５７に記載のデバイス。
【請求項６２】
前記ビデオコーダは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持し、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持するようにさらに構成される、請求項５７に記載のデバイス。
【請求項６３】
前記ビデオコーダは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持し、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持するようにさらに構成される、請求項５７に記載のデバイス。
【請求項６４】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項６３に記載のデバイス。
【請求項６５】
ビデオデータをコーディングするための装置であって、前記装置は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段と、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、第１のＣＵ深さに関連する第１のＶＬＣテーブルを維持する手段と、第２のＣＵ深さに関連する第２のＶＬＣテーブルを維持する手段とを備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定する手段と、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定する手段と、
前記ＶＬＣコードワードを含むシンタックス要素を生成するための手段と、
を備える装置。
【請求項６６】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項６５に記載の装置。
【請求項６７】
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、
をさらに備える、請求項６５に記載の装置。
【請求項６８】
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段をさらに備える、請求項６７に記載の装置。
【請求項６９】
前記シンタックス要素は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項６５に記載の装置。
【請求項７０】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段と、を備える請求項６５に記載の装置。
【請求項７１】
ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、請求項６５に記載の装置。
【請求項７２】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項７１に記載の装置。
【請求項７３】
実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、ＶＬＣコードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルは、第１のＣＵ深さに関連する第１のＶＬＣテーブルと、第２のＣＵ深さに関連する第２のＶＬＣテーブルとを備え、前記第１のＶＬＣテーブルはスキップモードを第１のコードワードにマッピングし、前記第２のＶＬＣテーブルは前記スキップモードを前記第１のコードワードとは異なる第２のコードワードにマッピングし、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、
前記ＶＬＣコードワードを含むシンタックス要素を生成することと、
を行わせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項７４】
前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７５】
前記１つまたは複数のプロセッサに、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
を行わせる命令をさらに備える、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７６】
前記１つまたは複数のプロセッサに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、請求項７５に記載のコンピュータ可読記憶媒体。
【請求項７７】
前記シンタックス要素は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスを用いてコーディングされる、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７８】
前記１つまたは複数のプロセッサに、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項７９】
前記１つまたは複数のプロセッサに、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、請求項７３に記載のコンピュータ可読記憶媒体。
【請求項８０】
前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、請求項７９に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
[0113]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［付記］
［１］ビデオのコード化ユニット（ＣＵ）をコーディングする方法であって、前記方法は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
ＣＵに関連する第１のＶＬＣコードワードを受信することと、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記ＣＵを再構成するために前記予測モードを使用することと、
を備える方法。
［２］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える［１］に記載の方法。
［３］前記ＣＵに関連する第２のＶＬＣコードワードを受信することをさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、［１］に記載の方法。
［４］フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
をさらに備える、［１］に記載の方法。
［５］ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、
をさらに備える、［４］に記載の方法。
［６］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持することを備える、［１］に記載の方法。
［７］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、［１］に記載の方法。
［８］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、［１］に記載の方法。
［９］前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［８］に記載の方法。
［１０］前記予測モードは、前記ＣＵの第１の予測モードであり、前記方法は、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てることをさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、［１］に記載の方法。
［１１］前記方法は、ビデオ符号化デバイスによって実施される、［１］に記載の方法。
［１２］前記方法は、ビデオ復号デバイスによって実施される、［１］に記載の方法。
［１３］ビデオデータを処理するためのデバイスであって、前記デバイスは、
ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを備え、前記ビデオコーダは、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする、１つまたは複数のＶＬＣテーブルを維持し、
ＣＵに関連する第１のＶＬＣコードワードを受信し、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し予測モードを決定し、
前記予測モードを使用して、前記ＣＵを再構成する
ように構成された、デバイス。
［１４］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと
を含むグループから選択される１つまたは複数の予測モードを備える、［１３］に記載のデバイス。
［１５］前記ビデオコーダは、さらに、
前記ＣＵに関連する第２のＶＬＣコードワードを受信するように構成され、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、［１３］に記載のデバイス。
［１６］前記ビデオコーダは、さらに、
フレームのための予測モードのセット内の各予測モードの発生数をカウントし、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整するように構成される、［１３］に記載のデバイス。
［１７］前記ビデオコーダは、さらに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするように構成される、［１６］に記載のデバイス。
［１８］前記ビデオコーダは、さらに、
第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持するように構成される、［１３］に記載のデバイス。
［１９］前記ビデオコーダは、さらに、
一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持するように構成される、［１３］に記載のデバイス。
［２０］前記ビデオコーダは、さらに、
非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持し、
非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持するように構成される、［１３］に記載のデバイス。
［２１］前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［２０］に記載のデバイス。
［２２］前記予測モードは、前記ＣＵの第１の予測モードであり、前記ビデオコーダは、さらに、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てるように構成され、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、［１３］に記載のデバイス。
［２３］前記ビデオコーダは、ビデオエンコーダである、［１３］に記載のデバイス。
［２４］前記ビデオコーダは、ビデオデコーダである、［１３］に記載のビデオコーディングデバイス。
［２５］ビデオデータをコーディングするための装置であって、前記装置は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段と、
ＣＵに関連する第１のＶＬＣコードワードを受信する手段と、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定する手段と、
前記ＣＵを再構成するために、前記予測モードを使用する手段と、
を備える装置。
［２６］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、［２５］に記載の装置。
［２７］前記ＣＵに関連する第２のＶＬＣコードワードを受信する手段をさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、［２５］に記載の装置。
［２８］フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、
をさらに備える、［２５］に記載の装置。
［２９］ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段
をさらに備える、［２８］に記載の装置。
［３０］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持する手段を備える、［２５］に記載の装置。
［３１］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持する手段を備える、［２５］に記載の装置。
［３２］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、［２５］に記載の装置。
［３３］前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［３２］に記載の装置。
［３４］前記予測モードは、前記ＣＵの第１の予測モードであり、前記装置は、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てる手段をさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、［２５］に記載の装置。
［３５］前記装置は、ビデオ符号化デバイスである、［２５］に記載の装置。
［３６］前記装置は、ビデオ復号デバイスである、［２５］に記載の装置。
［３７］実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
ＣＵに関連する第１のＶＬＣコードワードを受信することと、
前記第１のＶＬＣコードワードに基づいて、前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記ＣＵを再構成するために前記予測モードを使用することと、
を行わせる命令を記憶したコンピュータ可読記憶媒体。
［３８］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、［３７］に記載のコンピュータ可読記憶媒体。
［３９］前記１つまたは複数のプロセッサに、
前記ＣＵに関連する第２のＶＬＣコードワードを受信すること
を行わせる命令をさらに備え、
前記第１のＶＬＣコードワードは第２のＶＬＣテーブルを識別し、前記第２のＶＬＣコードワードは前記第２のＶＬＣテーブル内の前記予測モードを識別する、［３７］に記載のコンピュータ可読記憶媒体。
［４０］前記１つまたは複数のプロセッサに、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生の数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
を行わせる命令をさらに備える、［３７］に記載のコンピュータ可読記憶媒体。
［４１］前記１つまたは複数のプロセッサに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、［４０］に記載のコンピュータ可読記憶媒体。
［４２］前記１つまたは複数のプロセッサに、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルを維持することと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルのグループを維持することと、を行わせる命令をさらに備える、［３７］に記載のコンピュータ可読記憶媒体。
［４３］前記１つまたは複数のプロセッサに、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持させる命令をさらに備える、［３７］に記載のコンピュータ可読記憶媒体。
［４４］前記１つまたは複数のプロセッサに、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令をさらに備える、［３７］に記載のコンピュータ可読記憶媒体。
［４５］前記第１のＶＬＣテーブルのグループは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［４４］に記載の方法。
［４６］前記予測モードは、前記ＣＵの第１の予測モードであり、前記コンピュータプログラム製品は、前記プロセッサに、
少なくとも１つの他のシンボルを前記ＶＬＣコードワードに割り当てさせる命令をさらに備え、前記少なくとも１つの他のシンボルは、第２の予測モードを示す、［３７］に記載のコンピュータ可読記憶媒体。
［４７］前記１つまたは複数のプロセッサは、ビデオ符号化デバイスの構成要素である、［３７］に記載のコンピュータ可読記憶媒体。
［４８］前記１つまたは複数のプロセッサは、ビデオ復号デバイスの構成要素である、［３７］に記載のコンピュータ可読記憶媒体。
［４９］ビデオのコード化ユニット（ＣＵ）をコーディングする方法であって、前記方法は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、
前記ＶＬＣコードワードを含むシンタックス要素を生成することと、
を備える方法。
［５０］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、［４９］に記載の方法。
［５１］フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれ発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
をさらに備える、［４９］に記載の方法。
［５２］ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、
をさらに備える、［５１］に記載の方法。
［５３］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持することを備える、［４９］に記載の方法。
［５４］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、［４９］に記載の方法。
［５５］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルとを維持することを備える、［４９］に記載の方法。
［５６］前記第１のＶＬＣテーブルのグループは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［５５］に記載の方法。
［５７］ビデオデータを処理するためのデバイスであって、前記デバイスは、
ビデオのコード化ユニット（ＣＵ）をコーディングするためのビデオコーダを備え、前記ビデオコーダは、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持し、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定し、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定し、
前記ＶＬＣコードワードを含むシンタックス要素を生成する
ように構成されたデバイス。
［５８］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、［５７］に記載のデバイス。
［５９］前記ビデオコーダは、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントし、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する、
ようにさらに構成される、［５７］に記載のデバイス。
［６０］前記ビデオコーダは、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするようにさらに構成される、［５９］に記載のデバイス。
［６１］前記ビデオコーダは、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルとを維持するようにさらに構成される、［５７］に記載のデバイス。
［６２］前記ビデオコーダは、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持し、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持するようにさらに構成される、［５７］に記載のデバイス。
［６３］前記ビデオコーダは、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持し、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持するようにさらに構成される、［５７］に記載のデバイス。
［６４］前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［６３］に記載のデバイス。
［６５］ビデオデータをコーディングするための装置であって、前記装置は、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段と、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定する手段と、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定する手段と、
前記ＶＬＣコードワードを含むシンタックス要素を生成するための手段と、
を備える装置。
［６６］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、［６５］に記載の装置。
［６７］フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、
をさらに備える、［６５］に記載の装置。
［６８］ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段をさらに備える、［６７］に記載の装置。
［６９］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルを維持する手段と、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、［６５］に記載の装置。
［７０］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段と、を備える［６５］に記載の装置。
［７１］ＶＬＣコードワードを前記複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持する手段は、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持する手段と、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持する手段とを備える、［６５］に記載の装置。
［７２］前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［７１］に記載の装置。
［７３］実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
可変長コーディング（ＶＬＣ）コードワードを複数の予測モードにマッピングする１つまたは複数のＶＬＣテーブルを維持することと、
前記ＣＵに対し前記複数の予測モードのうちの１つを決定することと、
前記決定された予測モードに基づいて、前記１つまたは複数のＶＬＣテーブルからＶＬＣコードワードを決定することと、
前記ＶＬＣコードワードを含むシンタックス要素を生成することと、
を行わせる命令を記憶した、コンピュータ可読記憶媒体。
［７４］前記複数の予測モードは、
スキップと、
ダイレクトと、
マージと、
インター＿２Ｎ×２Ｎと、
インター＿Ｎ×２Ｎと、
インター＿２Ｎ×Ｎと、
インターＮ×Ｎと、
インター２Ｎ×ｎＵと、
インター＿２Ｎ×ｎＤと、
インター＿ｎＬ×２Ｎと、
インター＿ｎＲ×２Ｎと、
イントラ＿２Ｎ×２Ｎと、
イントラ＿Ｎ×Ｎと、
を含むグループから選択される１つまたは複数の予測モードを備える、［７３］に記載のコンピュータ可読記憶媒体。
［７５］前記１つまたは複数のプロセッサに、
フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、
前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、
を行わせる命令をさらに備える、［７３］に記載のコンピュータ可読記憶媒体。
［７６］前記１つまたは複数のプロセッサに、
ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、［６５］に記載のコンピュータ可読記憶媒体。
［７７］前記１つまたは複数のプロセッサに、第１のＣＵ深さに関連する第１のグループのＶＬＣテーブルを維持することと、第２のＣＵ深さに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、［７３］に記載のコンピュータ可読記憶媒体。
［７８］前記１つまたは複数のプロセッサに、一般化Ｐ／Ｂ（ＰＧＢ）フレームとしてコード化されたフレームのＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、ＧＰＢフレームとしてコード化されなかったフレームのＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、［７３］に記載のコンピュータ可読記憶媒体。
［７９］前記１つまたは複数のプロセッサに、非対称動き区分（ＡＭＰ）が使用可能なＣＵに関連する第１のグループのＶＬＣテーブルを維持することと、非対称ＡＭＰが使用不能なＣＵに関連する第２のグループのＶＬＣテーブルを維持することと、を行わせる命令である、［７３］に記載のコンピュータ可読記憶媒体。
［８０］前記第１のグループのＶＬＣテーブルは、最小のコード化ユニットであるＣＵのための第１のサブグループのテーブルと、最小のコード化ユニットではないＣＵのための第２のサブグループのテーブルとを備える、［７９］に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2013543316.tif 000024
2013543316.tif 000025
2013543316.tif 000026