ビデオのコード化ユニットCUをコーディングする方法であって、前記方法は、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することと、CUに関連する第1のVLCコードワードを受信することと、前記第1のVLCコードワードに基づいて、前記CUに対し前記複数の予測モードのうちの1つを決定することと、前記CUを再構成するために前記予測モードを使用することと、を備える方法。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項1に記載の方法。前記CUに関連する第2のVLCコードワードを受信することをさらに備え、前記第1のVLCコードワードは第2のVLCテーブルを識別し、前記第2のVLCコードワードは前記第2のVLCテーブル内の前記予測モードを識別する、請求項1に記載の方法。フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、をさらに備える、請求項1に記載の方法。ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、をさらに備える、請求項4に記載の方法。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することは、第1のCU深さに関連する第1のグループのVLCテーブルと、第2のCU深さに関連する第2のグループのVLCテーブルとを維持することを備える、請求項1に記載の方法。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することは、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルとを維持することを備える、請求項1に記載の方法。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することは、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルと、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルとを維持することを備える、請求項1に記載の方法。前記第1のグループのVLCテーブルは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項8に記載の方法。前記予測モードは、前記CUの第1の予測モードであり、前記方法は、少なくとも1つの他のシンボルを前記VLCコードワードに割り当てることをさらに備え、前記少なくとも1つの他のシンボルは、第2の予測モードを示す、請求項1に記載の方法。前記方法は、ビデオ符号化デバイスによって実施される、請求項1に記載の方法。前記方法は、ビデオ復号デバイスによって実施される、請求項1に記載の方法。ビデオデータを処理するためのデバイスであって、前記デバイスは、ビデオのコード化ユニットCUをコーディングするためのビデオコーダを備え、前記ビデオコーダは、可変長コーディングVLCコードワードを複数の予測モードにマッピングする、1つまたは複数のVLCテーブルを維持し、CUに関連する第1のVLCコードワードを受信し、前記第1のVLCコードワードに基づいて、前記CUに対し予測モードを決定し、前記予測モードを使用して、前記CUを再構成するように構成された、デバイス。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nとを含むグループから選択される1つまたは複数の予測モードを備える、請求項13に記載のデバイス。前記ビデオコーダは、さらに、前記CUに関連する第2のVLCコードワードを受信するように構成され、前記第1のVLCコードワードは第2のVLCテーブルを識別し、前記第2のVLCコードワードは前記第2のVLCテーブル内の前記予測モードを識別する、請求項13に記載のデバイス。前記ビデオコーダは、さらに、フレームのための予測モードのセット内の各予測モードの発生数をカウントし、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整するように構成される、請求項13に記載のデバイス。前記ビデオコーダは、さらに、ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするように構成される、請求項16に記載のデバイス。前記ビデオコーダは、さらに、第1のCU深さに関連する第1のグループのVLCテーブルと、第2のCU深さに関連する第2のグループのVLCテーブルとを維持するように構成される、請求項13に記載のデバイス。前記ビデオコーダは、さらに、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルとを維持するように構成される、請求項13に記載のデバイス。前記ビデオコーダは、さらに、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルを維持し、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルを維持するように構成される、請求項13に記載のデバイス。前記第1のグループのVLCテーブルは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項20に記載のデバイス。前記予測モードは、前記CUの第1の予測モードであり、前記ビデオコーダは、さらに、少なくとも1つの他のシンボルを前記VLCコードワードに割り当てるように構成され、前記少なくとも1つの他のシンボルは、第2の予測モードを示す、請求項13に記載のデバイス。前記ビデオコーダは、ビデオエンコーダである、請求項13に記載のデバイス。前記ビデオコーダは、ビデオデコーダである、請求項13に記載のビデオコーディングデバイス。ビデオデータをコーディングするための装置であって、前記装置は、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段と、CUに関連する第1のVLCコードワードを受信する手段と、前記第1のVLCコードワードに基づいて、前記CUに対し前記複数の予測モードのうちの1つを決定する手段と、前記CUを再構成するために、前記予測モードを使用する手段と、を備える装置。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項25に記載の装置。前記CUに関連する第2のVLCコードワードを受信する手段をさらに備え、前記第1のVLCコードワードは第2のVLCテーブルを識別し、前記第2のVLCコードワードは前記第2のVLCテーブル内の前記予測モードを識別する、請求項25に記載の装置。フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、をさらに備える、請求項25に記載の装置。ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段をさらに備える、請求項28に記載の装置。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段は、第1のCU深さに関連する第1のグループのVLCテーブルと、第2のCU深さに関連する第2のグループのVLCテーブルとを維持する手段を備える、請求項25に記載の装置。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段は、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルとを維持する手段を備える、請求項25に記載の装置。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段は、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルを維持する手段と、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルを維持する手段とを備える、請求項25に記載の装置。前記第1のグループのVLCテーブルは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項32に記載の装置。前記予測モードは、前記CUの第1の予測モードであり、前記装置は、少なくとも1つの他のシンボルを前記VLCコードワードに割り当てる手段をさらに備え、前記少なくとも1つの他のシンボルは、第2の予測モードを示す、請求項25に記載の装置。前記装置は、ビデオ符号化デバイスである、請求項25に記載の装置。前記装置は、ビデオ復号デバイスである、請求項25に記載の装置。実行されたとき、ビデオデータをコーディングするためのデバイスの1つまたは複数のプロセッサに、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することと、CUに関連する第1のVLCコードワードを受信することと、前記第1のVLCコードワードに基づいて、前記CUに対し前記複数の予測モードのうちの1つを決定することと、前記CUを再構成するために前記予測モードを使用することと、を行わせる命令を記憶したコンピュータ可読記憶媒体。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、前記CUに関連する第2のVLCコードワードを受信することを行わせる命令をさらに備え、前記第1のVLCコードワードは第2のVLCテーブルを識別し、前記第2のVLCコードワードは前記第2のVLCテーブル内の前記予測モードを識別する、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、前記各予測モードの発生の数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、を行わせる命令をさらに備える、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、請求項40に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、第1のCU深さに関連する第1のグループのVLCテーブルを維持することと、第2のCU深さに関連する第2のグループのVLCテーブルのグループを維持することと、を行わせる命令をさらに備える、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルとを維持させる命令をさらに備える、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルを維持することと、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルを維持することと、を行わせる命令をさらに備える、請求項37に記載のコンピュータ可読記憶媒体。前記第1のVLCテーブルのグループは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項44に記載の方法。前記予測モードは、前記CUの第1の予測モードであり、前記コンピュータプログラム製品は、前記プロセッサに、少なくとも1つの他のシンボルを前記VLCコードワードに割り当てさせる命令をさらに備え、前記少なくとも1つの他のシンボルは、第2の予測モードを示す、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサは、ビデオ符号化デバイスの構成要素である、請求項37に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサは、ビデオ復号デバイスの構成要素である、請求項37に記載のコンピュータ可読記憶媒体。ビデオのコード化ユニットCUをコーディングする方法であって、前記方法は、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することと、前記CUに対し前記複数の予測モードのうちの1つを決定することと、前記決定された予測モードに基づいて、前記1つまたは複数のVLCテーブルからVLCコードワードを決定することと、前記VLCコードワードを含むシンタックス要素を生成することと、を備える方法。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項49に記載の方法。フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれ発生数をカウントすることと、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、をさらに備える、請求項49に記載の方法。ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットすること、をさらに備える、請求項51に記載の方法。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することは、第1のCU深さに関連する第1のグループのVLCテーブルと、第2のCU深さに関連する第2のグループのVLCテーブルとを維持することを備える、請求項49に記載の方法。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することは、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルとを維持することを備える、請求項49に記載の方法。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することは、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルと、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルとを維持することを備える、請求項49に記載の方法。前記第1のVLCテーブルのグループは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項55に記載の方法。ビデオデータを処理するためのデバイスであって、前記デバイスは、ビデオのコード化ユニットCUをコーディングするためのビデオコーダを備え、前記ビデオコーダは、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持し、前記CUに対し前記複数の予測モードのうちの1つを決定し、前記決定された予測モードに基づいて、前記1つまたは複数のVLCテーブルからVLCコードワードを決定し、前記VLCコードワードを含むシンタックス要素を生成するように構成されたデバイス。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項57に記載のデバイス。前記ビデオコーダは、フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントし、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する、ようにさらに構成される、請求項57に記載のデバイス。前記ビデオコーダは、ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットするようにさらに構成される、請求項59に記載のデバイス。前記ビデオコーダは、第1のCU深さに関連する第1のグループのVLCテーブルと、第2のCU深さに関連する第2のグループのVLCテーブルとを維持するようにさらに構成される、請求項57に記載のデバイス。前記ビデオコーダは、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルを維持し、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルを維持するようにさらに構成される、請求項57に記載のデバイス。前記ビデオコーダは、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルを維持し、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルを維持するようにさらに構成される、請求項57に記載のデバイス。前記第1のグループのVLCテーブルは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項63に記載のデバイス。ビデオデータをコーディングするための装置であって、前記装置は、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段と、前記CUに対し前記複数の予測モードのうちの1つを決定する手段と、前記決定された予測モードに基づいて、前記1つまたは複数のVLCテーブルからVLCコードワードを決定する手段と、前記VLCコードワードを含むシンタックス要素を生成するための手段と、を備える装置。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項65に記載の装置。フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントする手段と、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整する手段と、をさらに備える、請求項65に記載の装置。ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットする手段をさらに備える、請求項67に記載の装置。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段は、第1のCU深さに関連する第1のグループのVLCテーブルを維持する手段と、第2のCU深さに関連する第2のグループのVLCテーブルを維持する手段とを備える、請求項65に記載の装置。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段は、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルを維持する手段と、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルを維持する手段と、を備える請求項65に記載の装置。VLCコードワードを前記複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持する手段は、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルを維持する手段と、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルを維持する手段とを備える、請求項65に記載の装置。前記第1のグループのVLCテーブルは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項71に記載の装置。実行されたとき、ビデオデータをコーディングするためのデバイスの1つまたは複数のプロセッサに、可変長コーディングVLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルを維持することと、前記CUに対し前記複数の予測モードのうちの1つを決定することと、前記決定された予測モードに基づいて、前記1つまたは複数のVLCテーブルからVLCコードワードを決定することと、前記VLCコードワードを含むシンタックス要素を生成することと、を行わせる命令を記憶した、コンピュータ可読記憶媒体。前記複数の予測モードは、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nと、を含むグループから選択される1つまたは複数の予測モードを備える、請求項73に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、フレームのための前記予測モードのセット内の前記複数の予測モードのそれぞれの発生数をカウントすることと、前記各予測モードの発生数に基づいて、コードワードへの前記予測モードのセットのマッピングを調整することと、を行わせる命令をさらに備える、請求項73に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、ビデオの新しいフレームを受信することに応答して、コードワードへの前記予測モードのセットの前記マッピングをリセットさせる命令をさらに備える、請求項75に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、第1のCU深さに関連する第1のグループのVLCテーブルを維持することと、第2のCU深さに関連する第2のグループのVLCテーブルを維持することと、を行わせる命令である、請求項73に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のグループのVLCテーブルを維持することと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のグループのVLCテーブルを維持することと、を行わせる命令である、請求項73に記載のコンピュータ可読記憶媒体。前記1つまたは複数のプロセッサに、非対称動き区分AMPが使用可能なCUに関連する第1のグループのVLCテーブルを維持することと、非対称AMPが使用不能なCUに関連する第2のグループのVLCテーブルを維持することと、を行わせる命令である、請求項73に記載のコンピュータ可読記憶媒体。前記第1のグループのVLCテーブルは、最小のコード化ユニットであるCUのための第1のサブグループのテーブルと、最小のコード化ユニットではないCUのための第2のサブグループのテーブルとを備える、請求項79に記載のコンピュータ可読記憶媒体。0019本開示は、概して、ビデオエンコーダが予測モードをビデオデコーダへシグナリングするために必要とされるビット数を減らすことによって、4分木構造のビデオデータのためのコーディング効率を向上させ得る技法について説明する。本開示の技法は、CUのための予測モードをシグナリングするために、1つまたは複数の可変長コードワードを使用することを含む。たとえば、ビデオエンコーダは、コードワードへの予測モードのマッピングを表す、1つまたは複数の可変長コーディングVLCテーブルを維持することができる。選択された予測モードを表すコードワードは、フレームのCUのためのVLCコードワードを使用して、デコーダへ通信され得る。デコーダは、ビデオエンコーダによって維持されたVLCテーブルと一致する、1つまたは複数のVLCテーブルを生成することができる。したがって、ビデオエンコーダから受信されたシングルコードワードに基づいて、ビデオデコーダは、CUを符号化するために使用される予測モードを決定し、次いで、CUを復号するためにその予測モードを使用することができる。0020図1は、ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を利用することができる、例示的なビデオ符号化およびビデオ復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先デバイス14に送信するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、通信チャネル16を介してビデオ情報を通信することができるワイヤレス通信デバイスを備え、その場合、通信チャネル16はワイヤレスである。0021本開示の技法は、ビデオブロックについての予測モード情報の効率的なコーディングに関係し、ワイヤレスアプリケーションまたは設定に適用可能であり得るが、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用し得る。したがって、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得、デバイス12、14は、携帯電話、スマートフォン、デジタルメディアプレーヤ、セットトップボックス、テレビジョン、ディスプレイ、デスクトップコンピュータ、ポータブルコンピュータ、タブレットコンピュータ、ゲームコンソール、ポータブルゲームデバイスなどの様々なワイヤードまたはワイヤレス媒体デバイスのいずれかを備え得る。0022図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器モデム22と、送信機24とを含む。宛先デバイス14は、受信機26と、モデム28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラ、ビデオストレージアーカイブ、コンピュータグラフィックスソースなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、一体型ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。0023図1の図示のシステム10は、一例にすぎない。ビデオブロックについての予測モード情報の効率的なコーディングのための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。本技法はまた、一般にコーデックと呼ばれるビデオエンコーダ/デコーダによって実行され得る。さらに、本開示の技法はまた、ビデオデータをコーディングするビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14の各々がビデオ符号化構成要素および復号構成要素を含むように、デバイス12、14は、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話通信のためのビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートすることができる。0024ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成することができる。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはビデオ電話を形成することができる。ただし、上述のように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得るものであり、ワイヤレスおよび/またはワイヤードアプリケーションに適用可能である。各場合において、キャプチャされたビデオ、プレキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化ビデオ情報は、通信規格に従ってモデム22によって変調され、送信機24を介して宛先デバイス14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。0025本開示によれば、ソースデバイス12のビデオエンコーダ20は、ビデオブロックについての予測モード情報をコーディングするコストを低減するための技法を適用するように構成され得る。以下でより詳細に説明するように、予測モードをコーディングするためのいくつかの現在の技法は、CUが第1の予測モードを使用してコード化されるかどうかを示すための第1のビットと、CUが第2の予測モードを使用してコード化されるかどうかを示すための第2のビットと、などを使用することを含む。これらの既存の技法を使用して、ビデオエンコーダは、いくつかの例において、最初の3つのうちの1つ以外のモードが使用されるたびに、最初の3つのモードのいずれかが使用されるかどうかを示す、最初の3つのビットを送信するように強制され得るものであり、それにより、最初の3つのモード以外のモードが頻繁に発生するとき、望ましくないビット送信の増加がある。本開示の技法の一例によれば、ビデオエンコーダ20は、上記のビットのシーケンスを使用することとは反対に、シングルコードワードを使用して、CUのための任意の予測モードをシグナリングすることができる。別の例では、ビデオエンコーダ20は、第1のコードワードと第2のコードワードとの組合せとして、予測モードをシグナリングすることができる。0026ビデオエンコーダ20は、コードワードへの予測モード値のマッピングを表す、1つまたは複数の可変長コーディングVLCテーブルを維持することができる。1つまたは複数のVLCテーブルを維持することの一部として、ビデオエンコーダ20は、VLCテーブルを生成、記憶および/または更新することができる。所与の予測モードのために、VLCテーブルからのシングルコードワードを、ビデオデコーダ30へ通信することができる。加えて、コードワード割当てを予測モードの配信により適切に適合させるために、何らかの形式のインデックススワップindexswapまたは適応を適用することができる。再び上記の例を参照すると、第4のモードが第2のモードよりも頻繁に発生する場合、ビデオエンコーダ20は、第2のモードのために使用されるコードワードよりも短いコードワードに、第4のモードを適応的にマッピングすることができる。いくつかの実装形態では、ビデオエンコーダ20は、第1のコードワードと第2のコードワードとをビデオデコーダ30へ送信することができ、第1のコードワードは、使用されたモードが第2のVLCテーブル内で発見されることを示す、第1のVLCテーブルからのエスケープコードである。第2のコードワードは、第2のVLCテーブルのどのモードが使用されるかを識別する。第1および第2のVLCテーブルはともに、モードの生起確率に基づいて、モードをコードワードに適応的にマッピングすることができる。0027宛先デバイス14の受信機26は、チャネル16を介して情報を受信し、モデム28は、情報を復調する。チャネル16を介して通信される情報は、予測ユニットPU:predictionunit、コーディングユニットCUまたはコード化されたビデオの他のユニット、たとえば、ビデオスライス、ビデオフレーム、およびビデオシーケンスまたはピクチャグループGOP:groupofpicturesの特性および/または処理を記述するシンタックス要素を含む、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶ディスプレイLCD、プラズマディスプレイ、有機発光ダイオードOLEDディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。0028本開示によれば、宛先デバイス14のビデオデコーダ30は、ビデオブロックについての予測モード情報をコーディングするコストを低減するための技法を適用するように構成され得る。ビデオデコーダ30は、ビデオエンコーダ20から、マッピングを記述する情報を受信することによって、ビデオエンコーダ20によって維持されたVLCテーブルと同じマッピングを用いたVLCテーブルを維持することができる。ビデオデコーダ30はまた、マッピングを明示的に記述する、ビデオエンコーダ20からの情報を受信することなしに、ビデオエンコーダ20と同じマッピングを維持することもできる。このようにして、ビデオデコーダ30は、ビデオデコーダ30によって生成されたテーブルが、ビデオエンコーダ20によって生成されたテーブルに一致するように、ビデオエンコーダ20と同じVLCテーブル生成のための技法を実行することができる。加えて、ビデオデコーダ30は、ビデオエンコーダ20のVLCテーブルに発生する変化が、ビデオデコーダ30のVLCテーブルに同様に発生するように、同じ適応および更新技法を実行することができる。したがって、ビデオデコーダ30は、1つのCUに対し1つまたは複数のコードワードを受信し、VLCテーブルを使用して、該1つまたは複数のコードワードに基づいて、該CUのための予測モードを決定することができる。0029図1の例では、通信チャネル16は、無線周波数RFスペクトルまたは1つまたは複数の物理的伝送線路のような任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル16は、一般に、ワイヤードまたはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス12から宛先デバイス14に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル16は、ソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。0030ビデオエンコーダ20およびビデオデコーダ30は、新たに登場した高効率ビデオコーディングHEVC:HighEfficiencyVideoCoding規格または代替的にMPEG-4、Part10、アドバンストビデオコーディングAVC:AdvancedVideoCodingとも呼ばれるITU-TH.264規格など、ビデオ圧縮規格に従って動作することができる。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはMPEG-2およびITU-TH.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、MUX-DEMUXユニットは、ITUH.223マルチプレクサプロトコル、またはユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠することができる。0031HEVCの規格化の取り組みは、HEVCテストモデルHMと呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、たとえば、ITU-TH.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供する。0032HMは、ビデオデータのブロックをコーディングユニットCUと称する。ビットストリーム内のシンタックスデータは、ピクセルの数に関する最大コーディングユニットLCU:largestcodingunitである最大コーディングユニットを定義することができる。概して、CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。したがって、CUは、サブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コーディングユニットまたはLCUのサブCUを指すことがある。LCUは、複数のサブCUに分割され得、各サブCUは、さらに、複数のサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義することができる。それに応じて、ビットストリームは最小コーディングユニットSCU:smallestcodingunitをも定義することができる。0033LCUおよびCUは、対称的または非対称的のいずれかで分割され得る。対称的な分割は、一般に、LCUまたはCUが同じサイズの2つ以上のサブCUに分割される結果となる。たとえば、64×64LCUは、2つの64×32ブロック、2つの32×64ブロック、または4つの32×32ブロックに対称的に分割され得る。非対称的な分割は、一般に、LCUまたはCUが異なるサイズの2つ以上のサブCUに分割される結果となる。たとえば、64×64LCUは、64×16ブロックおよび64×48ブロックに非対称的に分割され得る。場合によっては、非対称動き区分AMP:asymmetricmotionpartitioningは、不規則な画像パターンのためのコーディング効率を向上させ得る。そのような場合、ビデオエンコーダ20は、ビデオビットストリーム内で、AMPがフレームのシーケンスまたはピクチャセットなど、ビデオの一部分に対して使用可能にされることを示す、シンタックスを含み得る。他の場合には、ビデオエンコーダ20は、AMPがフレームのシーケンスまたはピクチャセットなど、ビデオの一部分に対して使用不能にされることを示す、シンタックスを含み得る。0034さらに分割されないCUは、1つまたは複数の予測ユニットPUを含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、そのPUのためのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度たとえば、1/4ピクセル精度もしくは1/8ピクセル精度、動きベクトルが指す参照フレーム、および/または動きベクトルの参照フレームリストたとえば、リスト0もしくはリスト1を記述することができる。また、1つまたは複数のPUを定義するCUについてのデータは、たとえば、1つまたは複数のPUへのCUの区分について記述することもできる。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。00351つまたは複数のPUを有するCUは、1つまたは複数の変換ユニットTU:transformunitをも含み得る。PUを使用した予測に続いて、ビデオエンコーダは、PUに対応するCUの一部分についての残差値を計算することができる。残差値は、エントロピーコーディングのためのシリアル化変換係数serializedtransformcoefficientを生成するために、変換係数に変換され、量子化され、走査され得るピクセル差分値に対応する。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUについての対応するPUよりも大きくても小さくてもよい。いくつかの例では、TUの最大サイズは、対応するCUのサイズであり得る。本開示は、CU、PU、またはTUのいずれかを指すためにビデオブロックという用語を使用する。0036ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダコーデックの一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。0037ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループGOPは、概して、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP中に含まれるいくつかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つまたは複数のフレームのヘッダ、または他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、コーディングユニットCUまたはCUの予測ユニットに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。各ビデオフレームは、複数のスライスを含み得る。各スライスは、1つまたは複数のPUを含み得る、複数のCUを含み得る。0038一例として、HEVCテストモデルHMは、様々なCUサイズでの予測をサポートする。LCUのサイズは、シンタックス情報によって定義され得る。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×Nのサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称サイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2Nのインター予測のための非対称分割をサポートする。非対称分割では、CUの一方向は分割されないが、他の方向が25と75とに分割される。25の分割に対応するCUの一部分は、nと、その後ろに付くUp、Down、Left、またはRightという指示とによって示される。したがって、たとえば2N×nUは、上部に2N×0.5NPUと下部に2N×1.5NPUとに水平方向に分割される2N×2NCUを指す。0039本開示では、N×NとNbyNとは、垂直寸法および水平寸法に関するビデオブロックたとえば、CU、PU、またはTUのピクセル寸法、たとえば、16×16ピクセルまたは16by16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有しy=16、水平方向に16ピクセルを有するx=16。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、非負整数値を表す。ブロック中のピクセルは、行と列に構成され得る。その上、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックは、N×Mピクセルを備え得、Mは、必ずしもNに等しいとは限らない。0040ビデオエンコーダ20は、いくつかの予測モードのうちの1つを使用して、各CUをコーディングすることができる。これらの予測モードは、たとえば、分割モードと、スキップモードと、ダイレクトモードと、ならびに、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インター_N×Nと、インター_2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nとのための追加のモードとを含み得、そのようなモードは、PUのサイズと、モードがイントラ予測モードであるか、インター予測モードであるかとを指す。分割モードは、必ずしも、他のものとしての予測のモードであるとは限らないが、代わりに、CUがより小さいCUにさらに分割されるかどうかを識別する。スキップモードでは、現在のPUが、残差データなしに、参照フレーム内のコロケーテッドcollocatedブロックに基づき再構成され、その結果、現在のPUは当該参照フレーム内の当該コロケーテッドブロックと等しくなる。ダイレクトモードでは、現在のPUが、残差データを用いて、参照フレーム内のコロケーテッドブロックに基づき再構成され、その結果、現在のPUは、残差データを加えた参照ブロックに対応する。0041これらのモードは、一般に、互いに排他的であり、所与のCUがこれらのモードのうちの1つのみを使用してコード化されることを意味する。本開示の技法によれば、ビデオエンコーダ20は、選択されたモードを識別するシングルコードワードを、ビデオデコーダ30へ送信する。予測モードを符号化するための現在の技法を使用して、現世代のビデオエンコーダは、CUが分割モードを使用してコード化されたかどうかを示す、第1のビットを送信することができる。CUが分割モードを使用してコード化されなかった場合、CUがスキップモードを使用してコード化されたかどうかを示す、第2のビットが送信され得る。現世代のビデオエンコーダが、スキップモードを使用してCUをコーディングしなかった場合、現世代のビデオエンコーダは、CUがダイレクトモードを使用してコード化されたかどうかを示す、第3のビットを送信する。CUがダイレクトモードを使用してコード化されなかった場合、現世代のビデオエンコーダは、追加のモードのうちの1つを示す、追加のビットを送信する。場合によっては、現世代のビデオエンコーダは、マージモードのような、追加のモードが使用されたかどうかを示す、追加のビットを送信することができる。0042本開示の技法は、予測モードをコーディングするためのこれらの現在の技法を、ビットを分割モード、スキップモード、ダイレクトモード、およびマージモードの各々専用にする代わりに、それらのモードが通常使用されない場合でも、CUのための予測モードをシグナリングするために1つまたは複数の可変長コードワードを使用することによって、改良し得る。スライスの特定のフレームの場合、あるモードが他のモードよりも頻繁に発生し得る。たとえば、そのような頻繁に発生するモードが、追加のモードのうちの1つであるすなわち、分割、スキップ、ダイレクトまたはマージでない場合、ビデオエンコーダ20は、本開示の技法を利用して、より短いコードワードを使用し、ビットをスキップモード、ダイレクトモード、およびマージモード専用にすることなしに、そのモードをビデオデコーダ30にシグナリングすることができる。別の例では、スキップモードまたはダイレクトモードが分割モードよりも頻繁に発生する場合、ビデオエンコーダ20は、より短いコードワードをスキップモードおよびダイレクトモードに割り当て、ビットを分割専用しないために、本開示の技法を利用することができる。0043一般に、VLCテーブル内のコードワードは、一意のプレフィックスを有し、より短いコードワードは、より長いコードワード用のプレフィックスになり得ないことを意味する。一例として、001がVLCテーブル内のコードワードである場合、VLCテーブル内の他のコードワードは、001で開始しない。一例では、VLCテーブル内の3つの最短のコードワードは、1、01および001であり得る。本開示の技法によれば、フレームまたはスライスのための特定の予測モードの発生の頻度に応じて、任意の予測モードがこれらの3つの最短のコードワードにマッピングされ得る。具体的には、場合によっては、ビデオコンテンツに応じて、分割モードは、他の予測モードと比較して頻繁に使用されないことがあり、または他の予測モードと比較して極めて頻繁に使用されることがある。本開示の技法によれば、分割モードは、頻繁に発生するとき、より短いコードワードにマッピングされ得るが、頻繁に発生しないとき、より長いコードワードにマッピングされ得る。0044特定のスライスの場合、イントラ_N×Nが、特定のフレームまたはスライスのための最も頻繁に発生する予測モードである場合、イントラ_N×Nモードには、最短のコードワードの1が割り当てられてもよく、それにより、最初に、スキップモード、ダイレクトモード、またはマージモードが使用されるかどうかを示す3つのビットと、その後に、イントラ_N×Nモードを識別するための追加のビットとを送ることによって、イントラ_N×Nモードをシグナリングする以前の技法と比較して、全体的なビットの節約となり得る。本開示の技法は、予測モードをコードワードに適応的にマッピングすることをさらに含み、特定の予測モードについての発生の頻度が、他の予測モードと比較して低下する場合、その特定の予測モードにより長いコードワードが割り当てられるようにし、特定の予測モードについての発生の頻度が、他の予測モードと比較して増す場合、その特定の予測モードにより短いコードワードが割り当てられるようにする。0045CUのためのPUを生成するために、イントラ予測コーディングまたはインター予測コーディングを行った後、ビデオエンコーダ20は、残差データを計算して、CUのための1つまたは複数の変換ユニットTUを生成し得る。CUのPUは、ピクセル領域とも呼ばれる空間領域におけるピクセル差分データを備え、一方、CUのTUは、たとえば、残差ビデオデータへの離散コサイン変換DCT:discretecosinetransform、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後、変換領域における係数を備え得る。残差データは、非符号化ピクチャunencodedpictureのブロックのピクセルと、ピクチャのブロックを予測するために使用されるCUのPUの予測値との間の、ピクセル差分に対応し得る。ビデオエンコーダ20は、CUについての残差データを含む1つまたは複数のTUを形成し得る。ビデオエンコーダ20は、次いで、TUを変換し得る。0046変換係数を生成するための任意の変換後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。0047いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査スキャンするためにあらかじめ定義された走査順序を利用することができる。他の例では、ビデオエンコーダ20は、適応型走査を実行することができる。量子化変換係数を走査して1次元ベクトルを形成した後、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディングCAVLC:contextadaptivevariablelengthcoding、コンテキスト適応型バイナリ算術コーディングCABAC:contextadaptivebinaryarithmeticcoding、シンタックスベースコンテキスト適応型2値算術コーディングSBAC:syntaxbasedcontextadaptivebinaryarithmeticcoding、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化することができる。0048CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択することができる。コンテキストは、たとえば、隣接値が非ゼロか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択することができる。VLCにおけるコードワードは、比較的より短いコードがより起こりえるシンボルに対応し、より長いコードがより起こりえないシンボルに対応するように構築され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用することに勝る、ビット節約を達成し得る。場合によっては、コードワードは、小数ビット、すなわち、1ビット未満に短縮され得る。確率決定は、コンテキストに基づくことができる。0049ビデオデコーダ30は、ビデオエンコーダ20の動作と本質的に対称的な形で動作することができる。たとえば、ビデオデコーダ30は、符号化されたPUデータとTUデータとを含む符号化されたCUを表す、エントロピー符号化されたデータを受信することができる。この受信データは、ビデオエンコーダ20がどのようにCUを符号化したかを識別する、シンタックス要素を含み得る。上記で説明したように、シンタックス要素は、他の情報の中に、CUのための予測モードを識別するコードワードを含み得る。デコーダ30は、ビデオエンコーダ20によって維持されたVLCテーブルと一致する、1つまたは複数のVLCテーブルを維持することができる。したがって、ビデオエンコーダ20から受信されたコードワードに基づいて、ビデオデコーダ30は、CUを符号化するために使用された予測モードを決定して、CUを再構成することができる。0050ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダコーデックの一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。0051図2は、一般化P/BGPBフレーム36A~36Bおよび38A~38Bを含む例示的なビデオシーケンス33を示す概念図である。現在のCUに関連するGPBシンタックス要素は、現在のCUを含むフレームが一般化P/BGPBフレームとしてコード化されたかどうかを示すことができる。このようにして、GPBフレームは、たとえば、シーケンス毎ベースで、使用可能または使用不能にされ得る。以下でより詳細に説明するように、本開示の技法は、概して、GPBが使用可能にされるか使用不能にされるかにかかわらず、ビデオコーディングに適用可能である。しかし、場合によっては、ビデオエンコーダ20は、フレームがGPBを使用可能にされるか使用不能にされるかに応じて、異なるVLCテーブルを使用して、CUのための予測モードをコーディングすることができる。他の場合には、ビデオエンコーダ20は、フレームがGPBを使用可能にされるかどうかに構わずに、CUのための予測モードをコーディングすることができる。0052場合によっては、ビデオシーケンス33は、ピクチャグループGOPと呼ばれることがある。ビデオシーケンス33は、図示のように、表示順でフレーム35A、36A、38A、35B、36B、38B、および35C、ならびに最終フレーム39を含む。フレーム34は、シーケンス33の前に発生するシーケンスの表示順における最終フレームである。図2は、概して、ビデオシーケンスの例示的な予測構造を表し、単に、様々なインターモードフレームタイプを符号化するために使用されるフレーム参照を示すものである。実際のビデオシーケンスは、様々なフレームタイプのより多いまたはより少ないビデオフレームを、異なる表示順で含み得る。0053ブロックベースビデオコーディングの場合、シーケンス33中に含まれるビデオフレームの各々は、ビデオブロックまたはコーディングユニットCUに区分され得る。ビデオフレームの各CUは、1つまたは複数の予測ユニットPUを含み得る。イントラコード化Iフレーム中のビデオブロックまたはPUは、同じフレーム中の隣接ブロックに関する空間的予測を使用して符号化される。インターコード化PまたはBまたはGPBフレーム中のビデオブロックまたはPUは、同じフレーム中の隣接ブロックに関する空間的予測、または他の参照フレームに関する時間的予測を使用することができる。0054Bフレーム中のビデオブロックは、2つの異なる参照フレームリスト、従来は1つの過去のフレームと1つの将来のフレームとから、2つの動きベクトルを計算するために、双方向予測を使用して符号化され得る。場合によっては、Bフレーム中のビデオブロックは、2つの異なる参照フレームリストのうちの1つからの単方向予測を使用して符号化され得る。Pフレーム中のビデオブロックは、単一の参照フレームリスト、従来は過去のフレームから、単一の動きベクトルを計算するために、単方向予測を使用して符号化され得る。新たに登場したHEVC規格によれば、GPBフレーム中のビデオブロックは、2つの同一の参照フレームリストのうちの1つから単一の動きベクトルを計算するための単方向予測、または2つの同一の参照フレームリストから2つの動きベクトルを計算するための双方向予測のいずれかを使用して符号化され得る。この2つの同一の参照フレームリストは、過去の参照フレームを含み得る。0055場合によっては、GPBフレームが、所与のビデオスライス、ビデオフレーム、またはビデオシーケンスのために全体的に使用可能であるとき、標準Pフレームの代わりにGPBフレームが使用され得る。この場合、すべての標準Pフレームは、GPBフレームとして扱われ得、したがって、ビデオエンコーダは、インターモードフレームをBフレームまたはGPBフレームとして符号化することを決定することができる。他の場合、GPBフレームが部分的に使用可能であるとき、3つすべてのインター予測モードすなわち、B、PまたはGPBが使用され得る。この場合、ビデオエンコーダは、インターモードフレームをBフレーム、PフレームまたはGPBフレームとして符号化することを決定することができる。0056図2の例では、最終フレーム39は、イントラモードコーディングのためにIフレームに指定される。他の例では、最終フレーム39は、例えば、前のシーケンスの最終フレーム34を参照するPフレームとして、インターモードコーディングを用いてコード化され得る。ビデオフレーム35A~35C総称してビデオフレーム35は、過去のフレームと将来のフレームとを参照する双方向予測を使用して、Bフレームとしてコーディングすると指定される。図示の例では、フレーム34とフレーム36Aとからビデオフレーム35Aへの矢印によって示されるように、フレーム35Aは、最終フレーム34とフレーム36Aとを参照してBフレームとして符号化される。フレーム35Bおよび35Cは、同様に符号化される。0057ビデオフレーム36A~36B総称してビデオフレーム36は、過去のフレームを参照する単方向予測を使用して、標準PフレームまたはGPBフレームのいずれかとしてコーディングすると指定され得る。図示の例では、フレーム34からビデオフレーム36Aへの矢印によって示されるように、フレーム36Aは、最終フレーム34を参照してPフレームまたはGPBフレームとして符号化される。フレーム36Bは、同様に符号化される。0058ビデオフレーム38A~38B総称してビデオフレーム38は、同じ過去のフレームを参照する双方向予測を使用して、GPBフレームとしてコーディングすると指定され得る。他の例では、GPBフレームは、同じ参照フレームリスト中に含まれる実質的に同様の過去のフレームを参照する双方向予測を使用して符号化され得る。図示の例では、フレーム36Aからビデオフレーム38Aへの2つの矢印によって示されるように、フレーム38Aは、フレーム36Aへの2つの参照を用いてGPBフレームとして符号化される。フレーム38Bは、同様に符号化される。0059図3は、ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を実装することができる、ビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、CU、またはCUのPUを含む、ビデオフレーム内のブロックのイントラコーディングとインターコーディングとを実行することができる。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラIモードは、いくつかの空間ベースの圧縮モードのいずれかを指すことができる。単方向予測Pモード、双方向予測Bモード、または一般化P/B予測GPBモードなどのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことができる。0060図3に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図3の例では、ビデオエンコーダ20は、モード選択ユニット40と、予測ユニット41と、メモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測ユニット41は、動き推定ユニット42MEU42と、動き補償ユニット44MCU44と、イントラ予測ユニット46IPU46とを含む。予測ユニット41は、図3でVLCテーブル48として示される、1つまたは複数のVLCテーブルをさらに維持する。図3は、説明のために、モード選択ユニット40と予測ユニット41とを別々に示すが、実装では、モード選択ユニット40と予測ユニット41との機能は、高度に統合され得る。したがって、ビデオエンコーダ20のいくつかの構成では、モード選択ユニット40に帰因する機能は、予測ユニット41によって実施され得、その逆も同様である。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理する、デブロッキングフィルタ図3に図示せずも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理するであろう。0061符号化プロセス中に、ビデオエンコーダ20は、コード化されるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のCUまたはビデオブロックに分割され得る。モード選択ユニット40は、誤差結果に基づいて現在のビデオブロックのためのコーディングモード、イントラまたはインターのうちの1つを選択することができ、予測ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に供給し、参照フレームとして使用するための符号化ブロックを再構成するために加算器62に供給することができる。予測モードは、上記で説明したように、CUがより小さいCUに分割される、分割モードを含み得る。より小さいCUの各々は次いで、予測モードのうちの1つを使用して、さらに分割またはコード化され得る。予測モードは、また、現在のPUが、残差データなしに、参照フレーム内のコロケーテッドcollocatedブロックに基づいて再構成され、その結果現在のPUが参照ブロックと等しくなるスキップモード、または、現在のPUが、残差データとともに、参照フレーム内のコロケーテッドブロックに基づいて再構成され、その結果現在のPUが、残差データを加えた参照ブロックに対応することとなるダイレクトモードを含み得る。他の予測モードは、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インター_N×Nと、インター_2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nとを含み得、そのようなモードは、PUのサイズと、モードがイントラ予測モードであるのかインター予測モードであるのかと、を指す。0062予測ユニット41内のイントラ予測ユニット46は、空間圧縮を提供するために、コード化されるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行する。現在のビデオブロックは、現在コード化されているビデオブロックを指す。イントラ予測ユニット46は、共通の一連のビデオブロックたとえば、フレームまたはスライス内の1つまたは複数の前に符号化された隣接ブロックに基づいて、現在のビデオブロックのための予測ブロックを生成することができる。イントラ予測ユニット46は、たとえば、現在のフレーム内の1つまたは複数の前に符号化された隣接ブロックを使用して、補間を実行することによって、予測ブロックを生成するための空間的予測を実行することができる。現在のフレーム内の1つまたは複数の隣接するブロックは、たとえば、メモリ64から取り出され得、メモリ64は、1つまたは複数の前に符号化されたフレームまたはブロックを記憶するために、任意のタイプのメモリまたはデータストレージデバイスを備え得る。イントラ予測ユニット46は、予測モードのセットのイントラ予測モードに従って、補間を実行することができる。0063予測ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照フレーム中の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。この1つまたは複数の参照フレームは、メモリ64に記憶された第1の参照フレームリストリスト066および/または第2の参照フレームリストリスト168から選択され得る。0064動き推定ユニット42は、ビデオシーケンスの予め定められたパターンに従ってビデオフレームのためのインター予測モードを判断するように構成され得る。予め定められたパターンは、シーケンス中のビデオフレームをPフレームおよび/またはBフレームに指定することができる。場合によっては、GPBフレームが使用可能であり得、したがって、1つまたは複数のビデオフレームがGPBフレームに指定され得る。他の場合には、GPBフレームが使用可能であるとき、動き推定ユニット42は、当初指定されたPフレームをGPBフレームとして符号化するかどうかを判断することができる。後者の場合は、GPBフレームが全体的に使用可能であるのか部分的に使用可能であるのかに依存し得る。0065動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレーム内の予測ブロックに対する現在のビデオフレーム内のPUまたはビデオブロックの変位を示すことができる。予測ブロックは、絶対差分和SAD:sumofabsolutedifference、2乗差分和SSD:sumofsquaredifference、または他の差分メトリックによって決定され得るピクセル差分に関して、コード化されるべきPUを含むCUの一部分にぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、メモリ64に記憶された参照フレームのサブ整数ピクセル位置の値を計算することができる。たとえば、ビデオエンコーダ20は、参照フレームの1/4ピクセル位置、1/8ピクセル位置、または他の小数ピクセル位置の値を計算することができる。したがって、動き推定ユニット42は、フルピクセル位置と小数ピクセル位置とに対する動き探索を実行し、小数ピクセル精度で動きベクトルを出力することができる。0066動き推定ユニット42は、PUと、メモリ64内のリスト066またはリスト168のいずれかの中の参照フレームのブロックとを比較することによって、インターコード化フレームのPUまたはビデオブロックのための動きベクトルを計算する。たとえば、インターコード化フレームがPフレームを備えるとき、動き推定ユニット42は、Pフレーム中のビデオブロックのために単方向予測を使用し、過去のフレームのための識別子を含むリスト066とリスト168とのうちの1つ、従来はリスト066から、単一の動きベクトルを計算することができる。0067インターコード化フレームがBフレームを備えるとき、たとえば、リスト066とリスト168とは、異なる参照フレーム、一般に過去のフレームと将来のフレームとのための識別子を含み得る。動き推定ユニット42は、Bフレームのビデオブロックのために双方向予測を使用し、リスト066とリスト168とから2つの動きベクトルを計算することができる。場合によっては、動き推定ユニット42は、Bフレームのビデオブロックのために単方向予測を使用し、参照フレームリスト66、68のうちの1つから単一の動きベクトルを計算することができる。0068新たに登場したHEVC規格によれば、インターコード化フレームがGPBフレームを備えるとき、リスト066とリスト168とは、同一の参照フレームのための識別子を含むようになる。具体的には、各リストは、同じ参照フレームのリストを含む。リスト066とリスト168との中に含まれる参照フレームは、過去のフレームを備え得る。この場合、動き推定ユニット42は、GPBフレームのビデオブロックのために双方向予測を使用し、リスト066からの1つとリスト168からの1つとの、2つの動きベクトルを計算することができる。動き推定ユニット42はまた、GPBフレームのビデオブロックのために単方向予測を使用し、リスト066とリスト168とのうちの1つから単一の動きベクトルを計算することもできる。0069参照フレームリストのうちの1つが他の参照フレームリストよりも好適であるとき、デフォルトで、単方向予測のために好適参照フレームリストを使用することがより効率的であり得る。これは、Bフレームのための単方向予測が、ほとんどの場合、参照フレームリストのうちの一方よりも他方に基づいて実行される場合であり得る。たとえば、Pフレームと同様に、Bフレームのための単方向予測は、一般に、リスト066からの過去の参照フレームに基づいて実行され得る。この例では、動き補償ユニット44は、リスト066が好適参照フレームリストであると決定できる。これはまた、リスト066とリスト168とが同一の参照フレームについての識別子を含み、GPBフレームが使用可能なときにも当てはまる。その場合、動き補償ユニット44は、2つの同一の参照フレームリスト間で選択する代わりに、リスト066とリスト168とのうちの1つを、単方向予測のために常に使用されるべき好適参照フレームリストとして、任意に選択し得る。たとえば、動き補償ユニット44は、リスト066を好適参照フレームリストとして選択し得る。0070動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴う。ビデオエンコーダ20は、コード化されている現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。0071動き補償ユニット44は、PUのための動きベクトルによって識別される予測ブロックを取り出すことによって、現在のCUのPUについての予測モード情報を計算することができる。予測情報は、たとえば、動き予測方向と、動き予測子を含む動きベクトル情報と、参照フレームリスト情報とを含み得る。動き補償ユニット44はまた、現在のビデオブロックまたはPUについて計算される予測情報を表すように定義されるシンタックス要素を生成することができる。ビデオエンコーダ20は、次いで、予測情報をシンタックス要素として符号化し、ビデオデコーダ30にシンタックス要素をシグナリングすることができる。0072動き補償ユニット44が、動きベクトルに基づいて現在のビデオブロックのための予測ブロックを生成し、現在のビデオブロックについての予測情報を表すためのシンタックス要素を生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。変換ユニット52は、残差ブロックから1つまたは複数の変換ユニットTUを形成することができる。変換ユニット52は、離散コサイン変換DCT:discretecosinetransformまたは概念的に同様の変換などの変換をTUに適用し、残差変換係数を備えるビデオブロックを生成する。変換は、残差ブロックをピクセル領域から周波数領域などの変換領域に変換することができる。0073変換ユニット52は、量子化ユニット54に、得られた変換係数を送ることができる。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行する。代替的に、エントロピー符号化ユニット56が走査を実行する。0074量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディングCAVLC:contextadaptivevariablelengthcoding、コンテキスト適応型バイナリ算術コーディングCABAC:contextadaptivebinaryarithmeticcoding、または別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ30などのビデオデコーダに送信されるか、あるいは後で送信または検索するためにアーカイブされ得る。0075エントロピー符号化ユニット56はまた、コード化されている現在のビデオブロックのための動きベクトルと他の予測シンタックス要素とをエントロピー符号化し得る。たとえば、エントロピー符号化ユニット56は、符号化されたビットストリーム中で送信するために動き補償ユニット44によって生成された適切なシンタックス要素を含むヘッダ情報を構築する。PUまたはビデオブロックレベルにおいて、シンタックス要素は、動きベクトルと動き予測方向とを含み得る。より高レベルにおいて、シンタックス要素は、GPBフレームが所与のビデオフレームのために使用可能であるかどうかを示すGPB使用可能フラグと、所与のビデオフレームがGPBフレームとして符号化されるかどうかを示すGPB符号化フラグGPBencodedflagとを含み得る。ビデオデコーダは、予測ブロックを取り出し、ビデオエンコーダ20によって符号化された元のビデオブロックを再構成するために、これらのシンタックス要素を使用することができる。0076シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット56は、コンテキストモデルに基づいて、CABACを実行し、シンタックス要素を1つまたは複数のバイナリビットに2値化することができる。上記でより詳細に説明したこの例では、エントロピー符号化ユニット56は、シングルビット2値化を、好適参照フレームからの単方向予測とリンクさせるために、動き補償ユニット44によって適合された2値化を適用することができる。エントロピー符号化ユニットはまた、コンテキストモデルに基づいた確率に従って、CAVLCを実行し、シンタックス要素をコードワードとして符号化することもできる。上記でより詳細に説明したこの例では、エントロピー符号化ユニット56は、動き補償ユニット44によって好適参照リストの方にバイアスされたビットの確率初期設定に基づいて、短縮されたコードワードとして、シンタックス要素のビットを符号化することができる。0077逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、参照フレームの参照ブロックとして後で使用するために、ピクセル領域における残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを、メモリ64内に記憶されたリスト066またはリスト168内の参照フレームのうちの1つの予測ブロックに加算することによって、参照ブロックを計算することができる。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算することもできる。加算器62は、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、メモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム中のブロックをインター予測するinterpredictために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。0078コーディングプロセスの一部として、予測ユニット41はまた、予測モードシンタックスを、ビットストリームに含めるために、エントロピー符号化ユニット56へ送り得る。予測モードシンタックスは、特定のCUのために使用される予測モードを識別することができる。予測ユニット41は、VLCテーブル48を維持し、VLCテーブル48は、予測モードをコードワードにマッピングする。任意の特定の予測モードに対し、予測ユニット41は、VLCテーブル48からコードワードを決定し、そのコードワードを、ビットストリーム中に含まれるように、エントロピー符号化ユニット56へ送る。以下の表1は、CUのためにVLCテーブル48内で予測ユニット41によって維持され得る予測モードへの、コードワードの例示的なマッピングを示す。いくつかの実装形態では、予測ユニット41は、GPBが使用可能にされたCUについてのみ、表1を使用し、GPBが使用不能にされるCUについては、別のVLCテーブルを使用することができる。以下の表2は、GPBが使用不能にされるCUのためにVLCテーブル48内で予測ユニット41によって維持され得る予測モードへの、コードワードの例示的なマッピングを示す。表1と表2とを比較することによってわかるように、表2は、方向性予測のために使用される2つのリストたとえば、図3のリスト066およびリスト168が同じであるため、ダイレクト_UniL1のためのエントリを含んでいない。したがって、ただ1つの単方向モード表1でダイレクト_UniL0と表されるのみが必要とされる。0079いくつかの実装形態では、表2のような単一のテーブルが、GPBが使用可能にされるCUとGPBが使用不能にされるCUとの両方について維持され得る。両方のタイプのCUについて1つのテーブルを使用する場合、ある予測モードが他の予測モードと比較してより頻繁でなく発生する場合、その予測モードにはより長いコードワードが割り当てられ得る。たとえば、予測モードのダイレクト_UniL1は、すべてのCUすなわち、GPBが使用不能のCUとGPBが使用可能のCUの両方のための他の予測モードと比較して頻繁に発生するよりも、GPBが使用不能のCUのための他の予測モードと比較して、より頻繁に発生し得る。0080上記で表1および表2で示した例によれば、予測ユニット41は、CUのための各予測モードを、その予測モードについての発生の頻度に対応するサイズたとえば、ビット長を有するVLCコードワードに従って、シグナリングすることができる。表1および表2に示されている予測モードへのコードワードの特定の割当ては、一例にすぎず、以下でより詳細に論じるように、予測ユニット41は、ある予測モードが特定のビデオシーケンスについてどのくらいの頻度で発生するかに基づいて、予測モードへのコードワードのマッピングを動的に変更し得る。0081別の例によれば、予測ユニット41は、予測モードを2つ以上のグループに分離し、各グループのためのシングルコードワードを使用して、各グループを一緒にコーディングし得る。たとえば、予測モードの第1の数たとえば、分割、スキップ、ダイレクト、マージは、第1のコードワードによってシグナリングされ得るが、予測モードの第2の数たとえば、インター_2N×2N、インター_N×2N、インター_2N×N、インターN×N、インター2N×nU、インター_2N×nD、インター_nL×2N、インター_nR×2N、イントラ_2N×2N、および/またはイントラ_N×Nは、第2のコードワードによってシグナリングされ得る。そのような一例によれば、第1のグループの最終シンボルは、エスケープコードと呼ばれることがあり、別のコードワードが現在のCUについて存在することを示すことができる。これらの例によれば、予測モードへのコードワードのマッピングは、グルーピングごとに動的に調整され得る。以下の表3および表4は、予測ユニット41がどのように予測モードを2つ以上のグループに分離することができるかの一例を示す。0082上記の表3および表4の例によれば、表3の000のコードワードは、予測モードが表4を使用して選択されるべきであることを示す。予測ユニット41が、たとえば、予測モードのインター_N×2Nを使用して、CUをコーディングする場合、予測ユニット41は、最初に、予測モードが表3ではなく表4に基づいて決定されるべきであることを示すために、000のコードワードを生成し、次いで、表4からのどの予測モードがCUのために使用されたかを示すために、101のコードワードを生成する。0083別の例によれば、マージフラグが現在のCUについてシグナリングされるとき、1つまたは複数のマージフラグが、CUの区分サイズとの組合せでシグナリングされ得る。たとえば、インター_2N×2Nの予測モードは、単一のマージフラグとともに、インター_2N×2N_マージ_0またはインター_2N×2N_マージ_1としてシグナリングされ得る。別の例として、インター_N×2Nの予測モードは、2つのマージフラグとともに、インター_N×2N_マージ_00、インター_N×2N_マージ_01、インター_N×2N_マージ_10、またはインター_N×2N_マージ_11としてシグナリングされ得る。この例によれば、マージおよび予測モードフラグを組合せて表す1つまたは複数のシンボルは、上記で説明したように、発生の数に基づいて、VLCコードワード内で表され得るたとえば、組み合わされたフラグの発生がより多い場合、コードワード内のシンボルは、より短い。また、いくつかの例では、予測モードおよびマージフラグの組合せによる指示を含むコードワードは、上記で説明したように、シングルコードワード、または、コードワードの複数のグループとして、他の予測モードで表され得る。0084上記で説明したように、いくつかの例によれば、エンコーダは、インター_pred_idcをシグナリングすることができ、インター_pred_idcは、現在のCUについての動き予測の方向とref_idxとを一緒にシングルコードワードたとえば、Bi_R0_R0、Bi_R0_R1、Bi_R1_R0、Bi_R0_R1、UniL0_R0、UniL0_R1、UniL1_R0、およびUniL1_Rとして示すことができる。ダイレクト予測モードが現在のCUについて使用される場合、ref_idxの値は、常に0の値を有してもよい。この例によれば、上記に示した例とは異なるコーディングテーブルが使用され得る。たとえば、ダイレクト予測モードが現在のCUについて使用される場合、コードワードBi_R0_R1、Bi_R1_R0、Bi_R0_R1、UniL0_R1、およびUniL1_R1がシグナリングされないことがある。0085別の例によれば、追加のコードテーブルが、シンタックス要素インター_pred_icをコーディングするために使用され得る。たとえば、GPBの値に応じて、異なるコードテーブルが、Bi、UniL0、および/またはUniL1のための値を示すために使用され得る。この例によれば、GPBが使用可能な場合、1のコードワードは、値Biリスト0およびリスト1を参照する双方向予測を表すことができ、01のコードワードは、値UniL0リスト0を参照する単方向予測を表すことができ、00のコードワードは、値UniL1リスト1を参照する単方向予測を表すことができる。また、この例によれば、単一ビットコードワードが、BiとUniL0とを示すために使用され得る。別の例として、GPBがBi値とUniL0値とUniL1値とを示すために使用不能か、使用可能かにかかわらず、単一のコードテーブルが使用され得る。この例によれば、UniL1には、より長いコードワードが割り当てられ得る。たとえば、Biには、1のコードワードが割り当てられ、UniL0には、01のコードワードが割り当てられ、UniL1には、00のコードワードが割り当てられ得る。0086別の例によれば、GPBが使用不能にされる場合、1つのコードテーブルが、分割と、スキップと、マージと、ダイレクト_Biと、ダイレクト_UniL0と、ダイレクト_UniL1と、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インター_N×Nと、インター_2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nとを示すために使用され得る。以下の表5は、そのようなコードテーブルの一例を示す。0087別の例によれば、予測ユニット41は、予測モードを2つ以上のグループに分離し、GPBが使用可能なCUおよびGPBが使用不能なCUについて、別々のVLCテーブルのセットを維持することができる。以下の表5は、GPBが使用不能なCUのためのコードワードにマッピングされる、第1の予測モードのグループの一例を示す。残りの予測モードたとえば、インター_2N×2N、インター_N×2N、インター_2N×N、インター_N×N、インター_2N×nU、インター_2N×nD、インター_nL×2N、インター_nR×2N、イントラ_2N×2N、およびイントラ_N×Nは、表3および表4に関して上記で説明したように、別のテーブルからのVLCコードワードを加えたエスケープコードこの例では0000の組合せとして、コード化され得る。0088以下の表6は、GPBが使用可能なCUのためのコードワードにマッピングされる、第1の予測モードのグループの一例を示す。表6と表5とを比較することによってわかるように、表5は、表6中に存在しない追加のモードダイレクト_UniL1を含む。表5の場合と同様に、残りの予測モードたとえば、インター_2N×2N、インター_N×2N、インター_2N×N、インター_N×N、インター_2N×nU、インター_2N×nD、インター_nL×2N、インター_nR×2N、イントラ_2N×2N、およびイントラ_N×Nは、表3および表4に関して上記で説明したように、別のテーブルからのVLCコードワードを加えたエスケープコードこの例では0000の組合せとして、コード化され得る。0089以下の表7は、GPBが使用可能または使用不可にかかわらず、CUのためのコードワードにマッピングされる、第1の予測モードのグループの一例を示す。表5および表6の場合と同様に、残りの予測モードたとえば、インター_2N×2N、インター_N×2N、インター_2N×N、インター_N×N、インター_2N×nU、インター_2N×nD、インター_nL×2N、インター_nR×2N、イントラ_2N×2N、およびイントラ_N×Nは、表3および表4に関して上記で説明したように、別のテーブルからのVLCコードワードを加えたエスケープコードこの例では0000の組合せとして、コード化され得る。表7と表5とを比較することによってわかるように、表7は、第1のモードのグループ内の同じモードを含むが、予測モードとコードワードの間のコードワードマッピングは異なる。この違いは、GPBが使用可能なCUと、GPBが使用不能なCUとが、同じまたは異なるように扱われるかどうかに応じて、あるモードがどのくらい頻繁に発生するかにおける違いに起因し得る。0090別の例によれば、予測ユニット41は、AMPが使用可能にされたCUおよびAMPが使用不能にされたCUについて、別々のVLCテーブルのセットを維持することができる。上記で説明したように、特定のCUがAMPを使用可能または使用不能にされるかどうかは、LCU、スライス、フレーム、ピクチャセット、シーケンスなどのようなより高いレベルのコーディングユニットに関連するシンタックスによって、符号化ビットストリーム内でシグナリングされ得る。表8~11は、AMPが使用可能にされるときに使用するために、予測ユニット41によって維持され得る、VLCテーブルの例を示す。SCUではなく、AMPが使用可能にされたCUの場合、予測ユニット41は、表8からコードワードを選択することができる。SCUであり、AMPが使用可能にされたCUの場合、予測ユニット41は、表9からコードワードを選択することができ、表9のエスケープコードが選択される場合、予測ユニット41は、表10または表11のいずれかから追加のコードワードを選択することができる。表8と表9とを比較することによってわかるように、分割モードは、SCUであるCUの場合、除去され得る。インターN×Nが使用可能な場合、予測ユニット41は、表10から追加のコードワードを選択することができる。インターンN×Nモードが使用不能な場合、予測ユニット41は、表11から追加のコードワードを選択することができる。SCUのサイズは、ビットストリーム内で明示的にシグナリングされ得るか、または、LCUサイズおよび最大CU深さのような他のシグナリングされた情報に基づいて、識別可能であり得るかのいずれかである。インターN×Nモードが特定のCUについて使用可能かまたは使用不能かは、同様に、LCU、スライス、フレーム、ピクチャセット、シーケンスなどのより高いレベルのコーディングユニットに関連するシンタックスから決定され得る。したがって、ビデオデコーダは、符号化ビットストリーム内の情報に基づいて、CUがSCUであるかどうかを判断し、および、インターN×Nが使用可能か使用不能かを判断することができる。0091表12~15は、AMPが使用不能なときに使用するために、予測ユニット41によって維持され得る、VLCテーブルの例を示す。AMPが使用不能で、SCUではないCUの場合、予測ユニット41は、表12からコードワードを選択することができる。AMPが使用不能で、SCUであるCUの場合、予測ユニット41は、表13からコードワードを選択することができ、表13のエスケープコードが選択される場合、表14または表15のいずれかから追加のコードワードを選択することができる。インターN×Nが使用可能な場合、予測ユニット41は、表14から追加のコードワードを選択することができる。インターN×Nモードが使用不能な場合、予測ユニット41は、表15から追加のコードワードを選択することができる。上記で説明したように、ビデオデコーダは、符号化ビットストリーム内の情報に基づいて、CUがSCUであるかどうかを判断し、および、インターN×Nが使用可能か使用不能かを決定することができる。0092表1~15に示す予測モードへのコードワードのマッピングは、説明のための例にすぎない。他のコードワードのマッピングもまた使用され得ることが企図され、より詳細には、予測モードへのコードワードのマッピングは、マッピングがある予測モードの発生に基づいて変化するように、動的であり得ることがさらに企図される。0093VLCテーブル48は、異なるCU深さについて別々のVLCテーブルのセットを含み得、CU深さは、一般に、LCUが何回分割されているかを指す。たとえば、特定のビデオシーケンスは、64×64であるLCUを含み、LCUは次に、32×32である4つのCUに分割され、次にそれぞれ16×16である4つのCUに分割され、以下同様である。64×64、32×32、16×16などの各々は、それ自体の関連するVLCテーブルのセットを有することができる、異なるCU深さを表す。異なるCU深さについて別々のVLCテーブルを維持することによって、本開示の技法は、より少ないビットを使用して、予測モードをデコーダへ送信する結果となり得る。たとえば、特定のスライスまたはフレームの場合、インター_2N×2Nモードは、64×64CUのためのイントラ_2N×2Nモードよりも頻繁に発生することができるが、イントラ_2N×2Nモードは、8×8CUのためのインター_2N×2Nモードよりも頻繁に発生し得る。異なるCU深さについて別々のVLCテーブルのセットを維持することによって、予測ユニット41は、より短いコードワードをより頻繁に使用可能になり、したがって、予測モードをシグナリングするために必要とされるビットを低減することができる。0094さらに、予測ユニット41は、異なるCU深さに対して異なるVLC技法を実装することができる。たとえば、64×64CUの場合、予測ユニット41は、予測モードを、表3~7のVLCテーブルのような2つ以上のグループに分離し得る。しかしながら、8×8および4×4のようなより小さいCUの場合、予測ユニット41は、たとえば、表1および表2に関して上記で説明したように、すべての予測モードについて単一のVLCテーブルを維持し得る。0095上記で紹介したように、予測ユニット41は、予測モードが特定のスライスまたはフレームについてどのくらいの頻度で発生するかに基づいて、VLCテーブル48に記憶された予測モードへのコードワードのマッピングを動的に変更することができる。この動的な変更は、VLCテーブル48によって維持されたすべてのVLCテーブルに対して、個別に発生し得る。たとえば、第1のCU深さに関連するVLCテーブルは、第2のCU深さに関連するVLCテーブルとは無関係に変更され、GPB使用可能に関連するVLCテーブルは、GPB使用不能に関連するVLCテーブルとは無関係に変更され得る。カウンタ47は、特定のスライスもしくはフレーム、または、他の一連のビデオブロックのための予測モードの発生を追跡することができ、他の予測モードよりも頻繁に発生する予測モードの場合、より頻繁に発生する予測モードをより短いコードワードにマッピングすることができる。他の予測モードよりも頻繁でなく発生する予測モードの場合、カウンタ47は、同様に、このより頻繁でなく発生する予測モードをより長いコードワードにマッピングすることができる。いくつかの実装形態では、スライスまたはフレームのようなビデオブロックの特定のグルーピングは、コードワードへの特定のモードのデフォルトマッピングで開始し得る。デフォルトマッピングは、たとえば、上記の表1~15に示すマッピングのうちの1つまたは複数である。0096図4は、ビデオフレームのビデオブロックについての予測モード情報を効率的にコーディングするための技法を実装し得る、ビデオデコーダ30の一例を示すブロック図である。図4の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測ユニット81と、逆量子化ユニット86と、逆変換ユニット89と、加算器90と、メモリ92とを含む。予測ユニット81は、動き補償ユニット82MCU82と、イントラ予測ユニット84IPU84とを含む。予測ユニット81は、VLCテーブル88を維持し、VLCテーブル88は、カウンタ87によって動的に更新され得る。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20図3に関して説明した符号化パスとは全体的に逆の復号パスを実行することができる。0097復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20のようなビデオエンコーダからの、符号化ビデオフレームと、予測モードを表すシンタックス要素とを含む、符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームをエントロピー復号し、量子化係数と、動きベクトルと、予測シンタックスとを生成する。エントロピー復号ユニット80は、予測ユニット81に動きベクトルと他の予測シンタックスとを転送する。ビデオデコーダ30は、ビデオブロックまたはPUレベル、ビデオスライスレベル、ビデオフレームレベルおよび/またはビデオシーケンスレベルにおいて、シンタックス要素を受信することができる。0098予測ユニット81のイントラ予測ユニット84は、シグナリングされたイントラ予測モードと現在のフレームの前に復号されたブロックからのデータとに基づいて、現在のビデオフレームのビデオブロックについての予測データを生成することができる。予測ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信した動きベクトルと予測シンタックスとに基づいて予測ブロックを生成する。予測ブロックは、メモリ92に記憶された第1の参照フレームリストリスト094および/または第2の参照フレームリストリスト196のうちの1つまたは複数から生成され得る。0099動き補償ユニット82はまた、補間フィルタに基づいて補間を実行することができる。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算することができる。動き補償ユニット82は、受信したシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成することができる。0100動き補償ユニット82は、動きベクトルと予測シンタックスとをパースすることによって現在のビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。動き補償ユニット82は、受信したシンタックス要素のいくつかを使用して、現在のフレームを符号化するために使用されるCUのサイズと、フレームの各CUがどのように分割されるかを記述する分割情報と、各分割がどのように符号化されるかを示すモードたとえば、イントラ予測またはインター予測と、インター予測スライスタイプたとえば、Bスライス、Pスライス、またはGPBスライスと、フレームのための1つまたは複数の参照フレームリストと、フレームの各インター符号化PUまたはCUのための動きベクトルと、フレームの各インター符号化PUまたはCUの動き予測方向と、現在のビデオフレームを復号するための他の情報と、を判断する。0101動き補償ユニット82は、GPBフレームが現在のビデオフレームに対して使用可能であるかまたは許可されるかどうかを判断するために、ビデオフレームレベルまたはビデオシーケンスレベルにおいてシンタックスをパースすることができる。たとえば、動き補償ユニット82は、ビデオフレームレベルまたはビデオシーケンスレベルのいずれかにおいてシンタックス中で受信されるGPB使用可能フラグに基づいて、GPBフレームが使用可能であると判断することができる。GPB使用可能フラグは、GPBフレームが使用不能であること、または使用可能であることを示すように定義され得る。動き補償ユニット82はまた、現在のビデオフレームについての参照フレームリスト情報を判断するために、ビデオスライスレベルまたはビデオフレームレベルにおいてシンタックスをパースすることもできる。ビデオデコーダ30は、次いで、シンタックスによって示される、参照フレームの識別子を含むリスト094とリスト196とをメモリ92に記憶する。現在のビデオフレームがGPBフレームであるとき、リスト094とリスト196とは、同一の参照フレームのための識別子を含む。0102逆量子化ユニット86は、ビットストリーム中で供給され、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化inversequantizeすなわち逆量子化dequantizeする。逆量子化プロセスは、量子化の程度と、同様に、適用されるべき逆量子化の程度とを判断するために、各CUまたはビデオブロックについてビデオエンコーダ20によって計算された量子化パラメータQPYの使用を含み得る。逆変換ユニット89は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用し、ピクセル領域において残差ブロックを生成する。0103動き補償ユニット82が、動きベクトルと予測シンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット89からの残差ブロックと動き補償ユニット82によって生成された対応する予測ブロックとを加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理することもできる。復号されたビデオブロックは、次いで、メモリ92に記憶され、メモリ92は、その後の動き補償のために参照フレームの参照ブロックを与える。メモリ92はまた、図1のディスプレイデバイス32のようなディスプレイデバイス上での提示のために、復号されたビデオを生成する。0104本開示の技法によれば、ビデオデコーダ30は、ビデオブロックについての予測モード情報をコーディングするコストを低減することができる。復号プロセスの一部として、予測ユニット81はまた、エントロピー復号ユニット80から予測モードシンタックスを受信することもできる。予測モードシンタックスは、特定のCUのために使用される予測モードを識別することができる。予測ユニット81は、VLCテーブル88を維持し、VLCテーブル88は、予測モードをコードワードにマッピングする。VLCテーブル88は、符号化ビデオビットストリームをビデオデコーダ30へ送信したビデオエンコーダによって維持されたVLCテーブルと同じ、コードワードへの予測モードのマッピングを維持する。たとえば、ビデオエンコーダが、表1~15に示す例示的なマッピングを維持する場合、VLCテーブル88は同様に、表1~15に示すマッピングを維持する。エントロピー復号ユニット80から受信されたいかなる特定のコードワードの場合も、予測ユニット81は、VLCテーブル88から予測モードを決定することができる。0105図3に関して上記でより詳細に説明したように、予測ユニット81は、すべての予測モードについて1つのVLCテーブルを維持することができ、または、予測モードを1つまたは複数のグループに分離することができ、各グループは別々のテーブルを有する。さらに、予測ユニット81は、異なるCU深さについて別々のテーブルを維持することができ、GPBが使用可能なフレームおよびGPBが使用不能なフレームについて別々のVLCテーブルを維持することができる。0106予測ユニット81は、予測モードが特定のスライスまたはフレームについてどのくらいの頻度で発生するかに基づいて、VLCテーブル88に記憶された予測モードへのコードワードのマッピングを動的に変更することができる。VLCテーブル88を変更するための技法は、VLCテーブル88が、予測モードを符号化するためにビデオエンコーダによって使用されたVLCテーブルに一致するように、ビデオエンコーダに実装された技法と酷似し得る。図3のVLCテーブル48に関連してより詳細に説明したように、この動的な変更は、VLCテーブル88によって維持されたすべてのVLCテーブルに対して、個別に発生し得る。たとえば、第1のCU深さに関連するVLCテーブルは、第2のCU深さに関連するVLCテーブルとは無関係に変更され得、GPB使用可能に関連するVLCテーブルは、GPB使用不能に関連するVLCテーブルとは無関係に変更され得る。カウンタ87は、特定のスライスもしくはフレーム、または、他の一連のビデオブロックのための予測モードの発生を追跡することができ、他の予測モードよりも頻繁に発生する予測モードの場合、当該より頻繁に発生する予測モードをより短いコードワードにマッピングすることができる。他の予測モードよりも頻繁でなく発生する予測モードの場合、カウンタ87は、同様に、当該より頻繁でなく発生する予測モードをより長いコードワードにマッピングすることができる。いくつかの実装形態では、スライスまたはフレームのようなビデオブロックの特定のグルーピングは、コードワードへの特定のモードのデフォルトマッピングで開始することができる。デフォルトマッピングは、たとえば、上記の表1~15に示すマッピングのうちの1つまたは複数であり得る。0107図5は、本開示に一致する符号化技法を示す流れ図である。図5の符号化技法について、図1~4を参照しながら説明する。ビデオエンコーダ20の予測ユニット41は、VLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルたとえば、VLCテーブル48を維持する501。予測ユニット41は、CUのコーディングに使用するために、複数の予測モードから予測モードを決定する502。予測ユニット41は、識別された予測モードにマッピングされる、VLCテーブル48内のコードワードを選択し、選択されたコードワードを含むシンタックス要素を生成する503。各予測モードの発生数をカウントすることに基づいて、カウンタ47は、VLCテーブル48によって維持されたコードワードへの予測モードのマッピングを調整することができる。0108図6は、本開示に一致する復号技法を示す流れ図である。図6の復号技法について、図1~4を参照しながら説明する。本開示は、概して、図6の技法が、ビデオデコーダ30のようなビデオデコーダによって実行されるものについて説明するが、図6の技法はまた、ビデオ符号化プロセスの一部として、ビデオエンコーダ20などのビデオエンコーダによっても実行され得る。ビデオデコーダ30の予測ユニット81は、VLCコードワードを複数の予測モードにマッピングする1つまたは複数のVLCテーブルたとえば、VLCテーブル88を維持する601。複数の予測モードは、たとえば、スキップと、ダイレクトと、マージと、インター_2N×2Nと、インター_N×2Nと、インター_2N×Nと、インターN×Nと、インター2N×nUと、インター_2N×nDと、インター_nL×2Nと、インター_nR×2Nと、イントラ_2N×2Nと、イントラ_N×Nとからなるグループから選択される、1つまたは複数の予測モードを含む。VLCテーブル88は、第1のCU深さに関連する第1のVLCテーブルのグループと、第2のCU深さに関連する第2のVLCテーブルのグループとを含み得る。VLCテーブル88はまた、一般化P/BPGBフレームとしてコード化されたフレームのCUに関連する第1のVLCテーブルのグループと、GPBフレームとしてコード化されなかったフレームのCUに関連する第2のVLCテーブルのグループとをも含み得る。上記で説明したように、VLCテーブル88はまた、AMPが使用可能なCUに関連する第1のVLCテーブルのグループと、AMPが使用不能なCUに関連する第2のVLCテーブルのグループとをも含み得る。0109符号化ビデオビットストリーム内で、ビデオデコーダ30は、CUに関連する第1のVLCコードワードを受信する602。いくつかの実装形態では、ビデオデコーダ30はまた、第2のVLCコードワードを受信することもできる。上記で説明したように、ビデオデコーダ30は、符号化ビットストリームに含まれた情報に基づいて、特定のVLCテーブル、または、VLCテーブル88からのテーブルのグループを選択し得る。この情報は、たとえば、GPBが使用可能か使用不能か、AMPが使用可能か使用不能か、および/または、インターN×Nモードが使用可能か使用不能かを識別するために、シーケンス、ピクチャグループ、フレーム、スライス、LCU、または他の一連のビデオブロックに関連する、シンタックス情報を含む。予測ユニット81は、第1のVLCコードワードに基づいて、CUのための予測モードを決定する603。予測ユニット81は、どの予測モードが、選択されたVLCテーブルのための第1のVLCコードワードに対応するかを識別することによって、CUのためのモードを決定することができる。予測ユニット81は、予測モードを使用して、CUを再構成する604。予測ユニット81のカウンタ87は、フレームのための予測モードのセット内の各予測モードの発生数をカウントし、各予測モードの発生数に基づいて、コードワードへの予測モードのセットのマッピングを調整することができる605。このカウントおよびマッピングは、新しいフレームごとに、新しいスライスごとに、または新しいシーケンスごとにリセットされ得る。01101つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、あるいは2信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。0111限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdiskおよびディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdiskおよびブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。0112命令は、1つまたは複数のデジタル信号プロセッサDSPなどの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用するプロセッサという用語は、前述の構造のいずれか、または本明細書で説明する技法の実装に好適ないずれかの他の構造を指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。0113本開示の技法は、ワイヤレスハンドセット、集積回路ICまたはICのセットたとえば、チップセットを含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したように1つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。