(57)【要約】  本開示では、ビデオデータをコーディングするための技法について説明する。一例として、本開示では、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを示す、ビデオデータのコーディングユニット（ＣＵ）のためのコード化ブロックパターン（ＣＢＰ）について説明する。別の例によれば、本開示では、ＣＵのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示すＣＢＰについて説明する。本明細書で説明するＣＢＰは、単一の可変長コード（ＶＬＣ）コードワードにマッピングされ得る。ＶＬＣコードワードは、ビデオデータのＣＵをコーディングするためにコーダによって使用され得る。
2013524734.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータのコーディングユニット（ＣＵ）を符号化する方法であって、
ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのＣＵを受信することと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断することと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することと、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、
前記単一のＶＬＣコードワードを出力することと
を備える、方法。
【請求項２】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングすることが、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを備える、請求項１に記載の方法。
【請求項３】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングすることが、前記単一のＶＬＣコードワードに値を割り当てることを備える、請求項１に記載の方法。
【請求項４】
前記単一のＶＬＣコードワードに前記値を割り当てることが、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて割り当てることを備える、請求項３に記載の方法。
【請求項５】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項４に記載の方法。
【請求項６】
コンテキストに基づいて前記単一のＶＬＣコードワードに前記値を割り当てることは、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づいて割り当てることを備える、請求項４に記載の方法。
【請求項７】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記単一のＶＬＣコードワードに前記値を割り当てることは、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて割り当てることを備える、請求項４に記載の方法。
【請求項８】
前記単一のＶＬＣコードワードに値を割り当てることが、前記単一のＶＬＣコードワードにビット長を割り当てることを備える、請求項４に記載の方法。
【請求項９】
前記ＶＬＣコードワードを出力することが、デコーダに出力することを備える、請求項１に記載の方法。
【請求項１０】
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非ゼロ変換係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングすることと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちのいずれも少なくとも１つの非ゼロ変換係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないことと
をさらに備える、請求項１に記載の方法。
【請求項１２】
ビデオデータを符号化する装置であって、前記装置は、
ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのＣＵを受信し、前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断するビデオエンコーダと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成し、前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングし、前記単一のＶＬＣコードワードを出力するＣＢＰモジュールと
を備える、装置。
【請求項１３】
前記ＣＢＰモジュールが、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを介して、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングする、請求項１２に記載の装置。
【請求項１４】
前記ＣＢＰモジュールが、前記単一のＶＬＣコードワードに値を割り当てることを介して、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングする、請求項１２に記載の装置。
【請求項１５】
前記ＣＢＰモジュールが、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて前記単一のＶＬＣコードワードに値を割り当てる、請求項１４に記載の装置。
【請求項１６】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項１５に記載の装置。
【請求項１７】
前記ＣＢＰモジュールは、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づいて前記値を割り当てることを介して、前記少なくとも１つの前にコーディングされたＣＵによって定義されたコンテキストに基づいて前記単一のＶＬＣコードワードを割り当てる、請求項１５に記載の装置。
【請求項１８】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記ＣＢＰモジュールは、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて前記単一のＶＬＣコードワードに前記値を割り当てる、請求項１５に記載の装置。
【請求項１９】
前記ＣＢＰモジュールが、前記単一のＶＬＣコードワードにビット長を割り当てることによって前記単一のＶＬＣコードワードに値を割り当てる、請求項１５に記載の装置。
【請求項２０】
前記ＣＢＰモジュールが前記ＶＬＣコードワードをデコーダに出力する、請求項１２に記載の装置。
【請求項２１】
前記ビデオエンコーダは、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、前記予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、前記予測モードを表す専用ＶＬＣコードワードを維持することと
を行うようにさらに構成された、請求項１２に記載の装置。
【請求項２２】
前記ビデオエンコーダは、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非ゼロ変換係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングすることと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちのいずれも少なくとも１つの非ゼロ変換係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないことと
を行うようにさらに構成された、請求項１２に記載の装置。
【請求項２３】
ビデオデータを符号化するデバイスであって、前記デバイスが、
ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのコーディングユニット（ＣＵ）を受信する、ビデオデータを符号化するための手段と、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断するための手段と、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成するための手段と、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングするための手段と、
前記単一のＶＬＣコードワードを出力するための手段と
を備える、デバイス。
【請求項２４】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングするための前記手段が、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスするための手段を備える、請求項２３に記載のデバイス。
【請求項２５】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングするための前記手段が、前記単一のＶＬＣコードワードに値を割り当てるための手段を備える、請求項２３に記載のデバイス。
【請求項２６】
前記単一のＶＬＣコードワードに値を割り当てるための前記手段が、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて前記単一のＶＬＣコードワードに値を割り当てる、請求項２３に記載のデバイス。
【請求項２７】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項２５に記載のデバイス。
【請求項２８】
前記単一のＶＬＣコードワードに値を割り当てるための前記手段は、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づいて前記値を割り当てる、請求項２６に記載のデバイス。
【請求項２９】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記単一のＶＬＣコードワードに前記値を割り当てるための前記手段は、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて前記値を割り当てる、請求項２６に記載のデバイス。
【請求項３０】
前記単一のＶＬＣコードワードに値を割り当てるための前記手段が、前記単一のＶＬＣコードワードにビット長を割り当てる、請求項２６に記載のデバイス。
【請求項３１】
前記ＶＬＣコードワードを出力するための前記手段が、前記ＶＬＣコードワードをデコーダに出力する、請求項２３に記載のデバイス。
【請求項３２】
前記ＣＵのための予測モードを判断し、前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新し、前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持するための手段
をさらに備える、請求項２３に記載のデバイス。
【請求項３３】
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非ゼロ変換係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングし、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちのいずれも少なくとも１つの非ゼロ変換係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないための手段
をさらに備える、請求項２３に記載のデバイス。
【請求項３４】
プロセッサ中で実行されると、前記プロセッサにビデオデータを符号化させる命令を備えるコンピュータ可読記憶媒体であって、前記命令は、前記プロセッサに、
ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのコーディングユニット（ＣＵ）を受信することと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断することと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することと、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、
前記単一のＶＬＣコードワードを出力することと
を行わせる、コンピュータ可読記憶媒体。
【請求項３５】
前記命令が、コンピューティングデバイスに、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを介して、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングさせる、請求項３４に記載のコンピュータ可読記憶媒体。
【請求項３６】
前記命令が、コンピューティングデバイスに、前記単一のＶＬＣコードワードに値を割り当てることを介して、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングさせる、請求項３４に記載のコンピュータ可読記憶媒体。
【請求項３７】
前記命令が、前記コンピューティングデバイスに、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて前記単一のＶＬＣコードワードに前記値を割り当てさせる、請求項３６に記載のコンピュータ可読記憶媒体。
【請求項３８】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記命令は、前記コンピューティングデバイスに、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づいて前記単一のＶＬＣコードワードに前記値を割り当てさせる、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記命令は、前記コンピューティングデバイスに、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて前記単一のＶＬＣコードワードに前記値を割り当てさせる、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記命令が、前記コンピューティングデバイスに、前記単一のＶＬＣコードワードにビット長を割り当てることを介して前記単一のＶＬＣコードワードに前記値を割り当てさせる、請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記命令が、コンピューティングデバイスに、前記ＶＬＣコードワードをデコーダに出力させる、請求項３４に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記命令は、コンピューティングデバイスに、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに行わせる、請求項３４に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記命令は、コンピューティングデバイスに、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非ゼロ変換係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングすることと、
前記ルミナンス成分（Ｙ）と前記第１のクロミナンス成分（Ｕ）と前記第２のクロミナンス成分とのうちのいずれも少なくとも１つの非ゼロ変換係数を含まない場合、前記ＣＵのための変換インデックスをシグナリングしないことと
をさらに行わせる、請求項３４に記載のコンピュータ可読記憶媒体。
【請求項４４】
ビデオデータのＣＵを復号する方法であって、
ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することと、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断することであって、前記ＣＢＰは、前記ルーマ成分（Ｙ）と前記第１のクロマ成分（Ｕ）と前記第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、判断することと、
前記ＣＵを復号するために前記判断されたＣＢＰを使用することと
を備える、方法。
【請求項４５】
前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断することが、ＶＬＣコードテーブルを使用して前記単一のＶＬＣコードワードを前記ＣＢＰにマッピングすることに基づいて判断することを備える、請求項４４に記載の方法。
【請求項４６】
前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断することが、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて判断することを備える、請求項４５に記載の方法。
【請求項４７】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項４５に記載の方法。
【請求項４８】
前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断することは、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づくコンテキストに基づいて判断することを備える、請求項４５に記載の方法。
【請求項４９】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断することは、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて判断することを備える、請求項４５に記載の方法。
【請求項５０】
前記単一のＶＬＣコードワードを受信することが、エンコーダから受信することを備える、請求項４５に記載の方法。
【請求項５１】
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに備える、請求項４５に記載の方法。
【請求項５２】
ビデオデータを復号する装置であって、前記装置は、
ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信するビデオデコーダと、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断するＣＢＰ復号モジュールであって、前記ＣＢＰは、前記ルーマ成分（Ｙ）と前記第１のクロマ成分（Ｕ）と前記第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、ＣＢＰ復号モジュールと
を備え、
前記ビデオデコーダが、前記ＣＵを復号するために前記判断されたＣＢＰを使用する、装置。
【請求項５３】
前記ＣＢＰ復号モジュールが、ＶＬＣコードテーブルを使用して前記単一のＶＬＣコードワードを前記ＣＢＰにマッピングすることに基づいて前記ＣＵのための前記ＣＢＰを判断する、請求項５２に記載の装置。
【請求項５４】
前記ＣＢＰ復号モジュールが、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて前記ＣＵのための前記ＣＢＰを判断する、請求項５３に記載の装置。
【請求項５５】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項５４に記載の装置。
【請求項５６】
前記ＣＢＰ復号モジュールは、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づいて前記ＣＵのための前記ＣＢＰを判断する、請求項５４に記載の装置。
【請求項５７】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記ＣＢＰ復号モジュールは、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて前記ＣＵのための前記ＣＢＰを判断する、請求項４６に記載の装置。
【請求項５８】
前記ビデオデコーダがエンコーダから前記単一のＶＬＣコードワードを受信する、請求項５４に記載の装置。
【請求項５９】
前記ビデオデコーダは、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
を行うようにさらに構成された、請求項５４に記載の装置。
【請求項６０】
ビデオデータを復号するデバイスであって、前記デバイスは、
ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信するための手段と、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断するための手段であって、前記ＣＢＰは、前記ルーマ成分（Ｙ）と前記第１のクロマ成分（Ｕ）と前記第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、判断するための手段と、
前記ＣＵを復号するために前記判断されたＣＢＰを使用するための手段と
を備える、デバイス。
【請求項６１】
前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断するための前記手段が、ＶＬＣコードテーブルを使用して前記単一のＶＬＣコードワードを前記ＣＢＰにマッピングすることに基づいて判断するための手段を備える、請求項６０に記載のデバイス。
【請求項６２】
前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断するための前記手段が、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて判断するための手段を備える、請求項６１に記載のデバイス。
【請求項６３】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項６２に記載のデバイス。
【請求項６４】
前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断するための前記手段は、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づくコンテキストに基づいて判断するための手段を備える、請求項６２に記載のデバイス。
【請求項６５】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記ＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＰを判断するための前記手段は、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて判断するための手段を備える、請求項６２に記載のデバイス。
【請求項６６】
前記単一のＶＬＣコードワードを受信するための前記手段が、エンコーダから前記単一のＶＬＣコードワードを受信する、請求項６０に記載のデバイス。
【請求項６７】
ビデオデコーダは、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
を行うようにさらに構成された、請求項６０に記載のデバイス。
【請求項６８】
プロセッサ中で実行されると、前記プロセッサにビデオデータを復号させる命令を備えるコンピュータ可読記憶媒体であって、前記命令は、前記プロセッサに、
ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することと、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断することであって、前記ＣＢＰは、前記ルーマ成分（Ｙ）と前記第１のクロマ成分（Ｕ）と前記第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、判断することと、
前記ＣＵを復号するために前記判断されたＣＢＰを使用することと
を行わせる、コンピュータ可読記憶媒体。
【請求項６９】
前記命令が、コンピューティングデバイスに、ＶＬＣコードテーブルを使用して前記単一のＶＬＣコードワードを前記ＣＢＰにマッピングすることに基づいて前記ＣＵのための前記ＣＢＰを判断させる、請求項６８に記載のコンピュータ可読記憶媒体。
【請求項７０】
コンピューティングデバイスに、前記ＣＵのための前記ＣＢＰを判断させる前記命令は、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて判断させることを備える、請求項６８に記載のコンピュータ可読記憶媒体。
【請求項７１】
前記少なくとも１つの前に符号化されたＣＵが隣接ＣＵを備える、請求項７０に記載のコンピュータ可読記憶媒体。
【請求項７２】
前記命令は、前記コンピューティングデバイスに、前記少なくとも１つの前にコーディングされたＣＵが少なくとも１つの非ゼロ係数を含むかどうかに基づくコンテキストに基づいて前記ＣＵのための前記ＣＢＰを判断させる、請求項７０に記載のコンピュータ可読記憶媒体。
【請求項７３】
前記少なくとも１つの前にコーディングされたＣＵが、第１の前にコーディングされたＣＵと第２の前にコーディングされたＣＵとを備え、前記命令は、前記コンピューティングデバイスに、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの一方が少なくとも１つの非ゼロ係数を含み、前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵとの他方が少なくとも１つの非ゼロ係数を含まないかどうかと、
前記第１の前にコーディングされたＣＵと前記第２の前にコーディングされたＣＵの両方が少なくとも１つの非ゼロ係数を含むかどうかと
からなるグループから選択されるコンテキストに基づいて前記ＣＵのための前記ＣＢＰを判断させる、請求項７０に記載のコンピュータ可読記憶媒体。
【請求項７４】
前記命令が、前記コンピューティングデバイスに、エンコーダから前記単一のＶＬＣコードワードを受信させる、請求項７０に記載のコンピュータ可読記憶媒体。
【請求項７５】
前記命令は、前記コンピューティングデバイスに、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに行わせる、請求項７０に記載のコンピュータ可読記憶媒体。
【請求項７６】
ビデオデータのコーディングユニット（ＣＵ）を符号化する方法であって、
複数のブロックを含むビデオデータのＣＵを受信することと、
前記複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断することと、
それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成することと、
前記複数のブロックの各々についての前記ＣＢＦをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することと、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、
前記単一のＶＬＣコードワードを出力することと
を備える、方法。
【請求項７７】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングすることが、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを備える、請求項７６に記載の方法。
【請求項７８】
前記生成されたＣＢＰを単一のＶＬＣコードワードにマッピングすることが、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいてマッピングすることを備える、請求項７６に記載の方法。
【請求項７９】
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに備える、請求項７６に記載の方法。
【請求項８０】
前記複数のブロックのうちの少なくとも１つが、少なくとも１つの非ゼロ係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングすることと、
前記複数のブロックのうちのいずれも、少なくとも１つの非ゼロ係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないことと
をさらに備える、請求項７６に記載の方法。
【請求項８１】
前記ＣＵの予測モードを判断することと、
前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルを使用して、前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、単一のＶＬＣテーブルを使用して、前記ルミナンス成分（Ｙ）のための前記生成されたＣＢＰを前記単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと
をさらに備える、請求項７６に記載の方法。
【請求項８２】
ビデオデータを符号化する装置であって、前記装置は、
複数のブロックを含むビデオデータのＣＵを受信し、前記複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断するビデオエンコーダと、
それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成することと、
前記複数のブロックの各々についての前記ＣＢＦをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することと、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、
前記単一のＶＬＣコードワードを出力することと
を行うように構成されたＣＢＰモジュールと
を備える、装置。
【請求項８３】
前記ＣＢＰモジュールが、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを介して、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングするように構成された、請求項８２に記載の装置。
【請求項８４】
前記ＣＢＰモジュールは、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて、前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングするように構成された、請求項８２に記載の装置。
【請求項８５】
前記ビデオエンコーダは、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
を行うようにさらに構成された、請求項８２に記載の装置。
【請求項８６】
前記ビデオエンコーダは、
前記複数のブロックのうちの少なくとも１つが、少なくとも１つの非ゼロ係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングすることと、
前記複数のブロックのうちのいずれも、少なくとも１つの非ゼロ係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないことと
を行うようにさらに構成された、請求項８２に記載の装置。
【請求項８７】
前記ビデオエンコーダは、
前記ＣＵの予測モードを判断することと、
前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルを使用して、前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、単一のＶＬＣテーブルを使用して、前記ルミナンス成分（Ｙ）のための前記生成されたＣＢＰを前記単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと
を行うようにさらに構成された、請求項８２に記載の装置。
【請求項８８】
ビデオデータを符号化するための装置であって、
複数のブロックを含むビデオデータのＣＵを受信するための手段と、
前記複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断するための手段と、
それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成するための手段と、
前記複数のブロックの各々についての前記ＣＢＦをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成するための手段と、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングするための手段と、
前記単一のＶＬＣコードワードを出力するための手段と
を備える、装置。
【請求項８９】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングするための前記手段が、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスする、請求項８８に記載の装置。
【請求項９０】
前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングするための前記手段が、少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいてマッピングする、請求項８８に記載の装置。
【請求項９１】
前記ＣＵのための予測モードを判断し、前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新し、前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持するための手段
をさらに備える、請求項８８に記載の装置。
【請求項９２】
前記複数のブロックのうちの少なくとも１つが、少なくとも１つの非ゼロ係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングし、前記複数のブロックのうちのいずれも、少なくとも１つの非ゼロ係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないための手段
をさらに備える、請求項８８に記載の装置。
【請求項９３】
前記ＣＵの予測モードを判断し、前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルを使用して、前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングし、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、単一のＶＬＣテーブルを使用して、前記ルミナンス成分（Ｙ）のための前記生成されたＣＢＰを前記単一の可変長コード（ＶＬＣ）コードワードにマッピングするための手段
をさらに備える、請求項８８に記載の装置。
【請求項９４】
コンピューティングデバイスに、
複数のブロックを含むビデオデータのコーディングユニット（ＣＵ）を受信することと、
前記複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断することと、
それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成することと、
前記複数のブロックの各々についての前記ＣＢＦをまとめて示す前記ＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することと、
前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、
前記単一のＶＬＣコードワードを出力することと
を行わせるように構成された命令を備えるコンピュータ可読記憶媒体。
【請求項９５】
前記命令が、前記コンピューティングデバイスに、
前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることに基づいて、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングさせる、請求項９４に記載のコンピュータ可読記憶媒体。
【請求項９６】
前記命令が、前記コンピューティングデバイスに、
少なくとも１つの前に符号化されたＣＵに基づくコンテキストに基づいて、前記生成されたＣＢＰを前記単一のＶＬＣコードワードにマッピングさせる、請求項９４に記載のコンピュータ可読記憶媒体。
【請求項９７】
前記命令は、前記コンピューティングデバイスに、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに行わせる、請求項９４に記載のコンピュータ可読記憶媒体。
【請求項９８】
前記命令は、前記コンピューティングデバイスに、
前記複数のブロックのうちの少なくとも１つが、少なくとも１つの非ゼロ係数を含む場合、前記ＣＵの少なくとも１つの変換ユニットのサイズを示す変換インデックスをシグナリングすることと、
前記複数のブロックのうちのいずれも、少なくとも１つの非ゼロ係数を含まない場合、前記ＣＵのための前記変換インデックスをシグナリングしないことと
をさらに行わせる、請求項９４に記載のコンピュータ可読記憶媒体。
【請求項９９】
前記命令は、前記コンピューティングデバイスに、
前記ＣＵの予測モードを判断することと、
前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルを使用して、前記生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、単一のＶＬＣテーブルを使用して、前記ルミナンス成分（Ｙ）のための前記生成されたＣＢＰを前記単一の可変長コード（ＶＬＣ）コードワードにマッピングすることと
をさらに行わせる、請求項９４に記載のコンピュータ可読記憶媒体。
【請求項１００】
ビデオデータのコーディングユニット（ＣＵ）を復号する方法であって、
複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することと、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断することと、
前記ＣＵのための前記コード化ブロックパターンに基づいて、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断することであって、前記ＣＢＦは、前記複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断することと、
前記判断されたＣＢＦに基づいて前記ＣＵを復号することと
を備える、方法。
【請求項１０１】
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断することが、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを備える、請求項１００に記載の方法。
【請求項１０２】
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断することが、少なくとも１つの前に復号されたＣＵに基づくコンテキストに基づいて判断することを備える、請求項１００に記載の方法。
【請求項１０３】
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
をさらに備える、請求項１００に記載の方法。
【請求項１０４】
前記ＣＵの予測モードを判断することと、
前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断し、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、単一のＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断することと
をさらに備える、請求項１００に記載の方法。
【請求項１０５】
ビデオデータを復号するための装置であって、
複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することと、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断することと、
前記ＣＵのための前記コード化ブロックパターンに基づいて、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断することであって、前記ＣＢＦは、前記複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断することと、
前記判断されたＣＢＦに基づいて前記ＣＵを復号することと
を行うように構成されたビデオデコーダを備える、装置。
【請求項１０６】
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのための前記ＣＢＦを判断することは、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルに基づくことを含む、請求項１０５に記載の装置。
【請求項１０７】
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断することは、少なくとも１つの前に復号されたＣＵに基づくコンテキストに基づくことを含む、請求項１０５に記載の装置。
【請求項１０８】
前記ビデオデコーダは、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
を行うようにさらに構成された、請求項１０５に記載の装置。
【請求項１０９】
前記ビデオデコーダは、
前記ＣＵの予測モードを判断することと、
前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断し、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、単一のＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断することと
を行うようにさらに構成された、請求項１０５に記載の装置。
【請求項１１０】
ビデオデータを復号するための装置であって、
複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信するための手段と、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断するための手段と、
前記ＣＵのための前記コード化ブロックパターンに基づいて、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断するための手段であって、前記ＣＢＦは、前記複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断するための手段と、
前記判断されたＣＢＦに基づいて前記ＣＵを復号するための手段と
を備える、装置。
【請求項１１１】
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断するための手段が、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルに基づいて判断する、請求項１１０に記載の装置。
【請求項１１２】
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断するための手段が、少なくとも１つの前に復号されたＣＵに基づくコンテキストに基づいて判断する、請求項１１０に記載の装置。
【請求項１１３】
前記ＣＵのための予測モードを判断し、前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新し、前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持するための手段
をさらに備える、請求項１１０に記載の装置。
【請求項１１４】
前記ＣＵの予測モードを判断し、前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断し、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、単一のＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断するための手段
をさらに備える、請求項１１０に記載の装置。
【請求項１１５】
コンピューティングデバイスに、
複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することと、
前記単一のＶＬＣコードワードに基づいて、前記ＣＵのためのコード化ブロックパターンを判断することと、
前記ＣＵのための前記コード化ブロックパターンに基づいて、前記複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断することであって、前記ＣＢＦは、前記複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断することと、
前記判断されたＣＢＦに基づいて前記ＣＵを復号することと
を行わせるように構成された命令を備えるコンピュータ可読記憶媒体。
【請求項１１６】
前記命令が、前記コンピューティングデバイスに、前記単一のＶＬＣコードワードに基づいて、前記単一のＶＬＣコードワードを含むＶＬＣコードテーブルにアクセスすることを介して、前記ＣＵのためのコード化ブロックパターンを判断させるように構成された、請求項１１５に記載のコンピュータ可読記憶媒体。
【請求項１１７】
前記命令が、前記コンピューティングデバイスに、少なくとも１つの前に復号されたＣＵに基づくコンテキストに基づいて前記ＣＵのためのコード化ブロックパターンを判断させるように構成された、請求項１１５に記載のコンピュータ可読記憶媒体。
【請求項１１８】
前記命令は、前記コンピューティングデバイスに、
前記ＣＵのための予測モードを判断することと、
前記判断された予測モードがインター予測モードを備える場合、その予測モードを表す少なくとも１つのＶＬＣコードワードを適応的に更新することと、
前記判断された予測モードがイントラ予測モードを備える場合、その予測モードを表す専用ＶＬＣコードワードを維持することと
を行わせるようにさらに構成された、請求項１１５に記載のコンピュータ可読記憶媒体。
【請求項１１９】
前記命令は、前記コンピューティングデバイスに、
前記ＣＵの予測モードを判断することと、
前記ＣＵのための前記予測モードがイントラ予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、複数のＶＬＣテーブルの中から選択されたＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断し、前記ＣＵのための前記予測モードがインター予測モードを備え、前記ブロックがルーマ（Ｙ）成分である場合、前記単一のＶＬＣコードワードに基づいて、単一のＶＬＣテーブルに基づく前記ＣＵのためのコード化ブロックパターンを判断することと
を行わせるようにさらに構成された、請求項１１５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その各々の内容全体が参照により本明細書に組み込まれる、２０１０年４月１２日に出願された「Variable Length Coding for Coded Block Pattern (CBP)」と題する米国仮出願第６１／３２３，２５６号、２０１０年９月２４日に出願された「Variable Length Coding for Coded Block Pattern (CBP) in Video Compression」と題する米国仮出願第６１／３８６，４６０号、２０１０年４月１３日に出願された「Variable Length Code for Block Type and Coded Block Flag In Video Coding」と題する米国仮出願第６１／３２３，７３１号、および２０１０年７月１５日に出願された「Variable Length Coding for Coded Block Flag」と題する米国仮出願第６１／３６４，７４９号の利益を主張する。
【０００２】
本開示は、ビデオデータを圧縮するために使用されるブロックベースのビデオコーディング技法に関し、より詳細には、コード化ブロックパターン（coded block patterns）（ＣＢＰ）と呼ばれるシンタックス要素のコーディング（coding）に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタル・ダイレクト・ブロードキャスト・システム、無線電話ハンドセットなどのワイヤレス通信デバイス、ワイヤレス・ブロードキャスト・システム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲーム機、パーソナルマルチメディアプレーヤなどを含む、広範囲にわたるデバイスに組み込まれ得る。そのようなビデオデバイスは、ビデオデータを圧縮するために、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）に記載されたビデオ圧縮技法などのビデオ圧縮技法を実装し得る。ビデオ圧縮技法では、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および時間的予測を実行する。高効率ビデオコーディング（High Efficiency Video Coding）（ＨＥＶＣ）規格などの新しい規格が出現し、発展し続けている。
【０００４】
多くのビデオコーディング規格および技法は、ブロックベースのビデオコーディングを使用する。ブロックベースのビデオコーディング技法は、ビデオフレームのビデオデータ（またはそれの一部分）をビデオブロックに分割し（divide）、次いでブロックベースの圧縮技法を使用してそのビデオブロックを符号化（encode）する。ビデオブロックは、１つまたは複数のビデオ固有の符号化技法ならびに一般的なデータ圧縮技法を使用して符号化される。ビデオ符号化は、しばしば、動き推定、動き補償、変換（たとえば、離散コサイン変換（discrete cosine transforms）（ＤＣＴ））、量子化、および可変長コーディング（variable length coding）を含む。
【０００５】
ＩＴＵ−Ｔ  Ｈ．２６４規格では、変換は８×８変換として定義される。１６×１６「マクロブロック（macroblock）」は、４つの８×８ルーマブロック（luma blocks）と、２つのサブサンプリングされた８×８クロマブロック（chroma blocks）とを備える。これらのルーマブロックおよびクロマブロックの各々は、残差ブロック（residual block）を生成するために予測コーディングされ、残差ブロックは、８×８変換を介して変換係数（transform coefficients）のブロックに変換される。各個の変換係数の８×８残差ブロックが非ゼロデータ（non-zero data）を有するかどうかをシグナリングするために、たとえば、Ｈ．２６４対応ビットストリームのマクロブロックヘッダ中に、いわゆる「コード化ブロックパターン（coded block pattern）（ＣＢＰ）」がシンタックス情報としてしばしば含まれる。ＣＢＰが、変換係数の所与の８×８残差ブロックが非ゼロデータを有しないことを示す場合、係数データはそのブロックのために通信されない。６ビットＣＢＰの使用は、従来ではマクロブロックヘッダにオーバーヘッドのいくつかのビットを追加する。しかしながら、変換係数のブロックがしばしば非ゼロデータを含まないので、ＣＢＰはまた、データ圧縮を可能にする。
【発明の概要】
【０００６】
本開示では、コーディングユニット（coding unit）（ＣＵ）のコード化ブロックパターン（ＣＢＰ）に適用可能なビデオコーディング技法について説明する。ＣＢＰは、たとえば、符号化されたビットストリームのヘッダ中にビデオブロックシンタックス情報を備え得る。本開示の技法は、ＣＢＰに可変長コーディング（variable length coding）（ＶＬＣ）技法を適用し、ＣＢＰをコーディングするための１つまたは複数のＶＬＣテーブルを選択し得る。本開示の一態様によれば、単一のＶＬＣコードワード（code word）として、コーディングユニット（ＣＵ）のそれぞれのルーマ（Ｙ）ブロックと第１のクロマ（Ｕ）ブロックと第２のクロマ（Ｖ）ブロックとの各々についてのコード化ブロックフラグ（coded block flag）（ＣＢＦ）を含むＣＢＰをシグナリングするための技法が提供される。本開示の別の態様によれば、単一のＶＬＣコードワードとして一緒にグループ化されるＣＵのサブブロック（たとえば、変換ユニット（transform unit）（ＴＵ）および／または予測ユニット（prediction units）（ＰＵ））のための複数のＣＢＦを含むＣＢＰをシグナリングするための技法が説明される。本明細書で説明するこれらおよび他の技法は、ビデオデータをコーディングする（たとえば、符号化または復号する）際の効率を改善するために使用され得る。
【０００７】
たとえば、ビデオデータのコーディングユニット（ＣＵ）を符号化する方法について、本明細書で説明する。本方法は、ルミナンス成分（luminance component）（Ｙ）と第１のクロミナンス成分（chrominance component）（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのＣＵを受信することを含む。本方法は、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断することをさらに含む。本方法は、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することをさらに含む。本方法は、生成されたＣＢＰを単一の可変長コード（single variable length code）（ＶＬＣ）コードワードにマッピングすることをさらに含む。本方法は、単一のＶＬＣコードワードを出力することをさらに含む。
【０００８】
別の例によれば、ビデオデータを符号化する装置について本明細書で説明する。本装置は、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのＣＵを受信し、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断するビデオエンコーダを含む。本装置は、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成し、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングし、単一のＶＬＣコードワードを出力するＣＢＰモジュールをさらに含む。
【０００９】
別の例によれば、ビデオデータを符号化するデバイスについて本明細書で説明する。本デバイスは、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのコーディングユニット（ＣＵ）を受信する、ビデオデータを符号化するための手段を含む。本デバイスは、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断するための手段をさらに含む。本デバイスは、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成するための手段をさらに含む。本デバイスは、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングするための手段をさらに含む。本デバイスは、単一のＶＬＣコードワードを出力するための手段をさらに含む。
【００１０】
別の例によれば、コンピュータ可読記憶媒体について本明細書で説明する。本コンピュータ可読記憶媒体は、プロセッサ中で実行されると、プロセッサにビデオデータを符号化させる命令を含む。本命令は、プロセッサに、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むビデオデータのＣＵを受信させる。本命令は、さらにプロセッサに、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かを判断させる。本命令は、さらにプロセッサに、ルミナンス成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）との各々が少なくとも１つの非ゼロ係数を含むか否かをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成させる。本命令は、さらにプロセッサに、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングさせる。本命令は、さらにプロセッサに、単一のＶＬＣコードワードを出力させる。
【００１１】
別の例によれば、ビデオデータのＣＵを復号する方法について本明細書で説明する。本方法は、ルーマ成分（luma component）（Ｙ）と第１のクロマ成分（chroma component）（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することを含む。本方法は、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断することであって、ＣＢＰは、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、判断することをさらに含む。本方法は、ＣＵを復号するために、判断されたＣＢＰを使用することをさらに含む。
【００１２】
別の例によれば、ビデオデータを復号する装置について本明細書で説明する。本装置は、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信するビデオデコーダを含む。本装置は、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断するＣＢＰ復号モジュールであって、ＣＢＰは、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、ＣＢＰ復号モジュールをさらに含む。ビデオデコーダは、ＣＵを復号するために、判断されたＣＢＰをさらに使用する。
【００１３】
別の例によれば、ビデオデータを復号するデバイスについて本明細書で説明する。本デバイスは、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信するための手段を含む。本デバイスは、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断するための手段であって、ＣＢＰは、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、判断するための手段をさらに含む。本デバイスは、ＣＵを復号するために、判断されたＣＢＰを使用するための手段をさらに含む。
【００１４】
別の例によれば、コンピュータ可読記憶媒体について本明細書で説明する。本コンピュータ可読記憶媒体は、プロセッサ中で実行されると、プロセッサにビデオデータを復号させる命令を含む。本命令は、プロセッサに、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信させる。本命令は、さらにプロセッサに、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断することであって、ＣＢＰは、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）との各々が非ゼロ係数を含むか否かを個別に示す、判断することを行わせる。本命令は、さらにプロセッサに、ＣＵを復号するために、判断されたＣＢＰを使用させる。
【００１５】
別の例によれば、ビデオデータのコーディングユニット（ＣＵ）を符号化する方法について、本明細書で説明する。本方法は、複数のブロックを含むビデオデータのＣＵを受信することを含む。本方法は、複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断することをさらに含む。本方法は、それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成することをさらに含む。本方法は、複数のブロックの各々についてのＣＢＦをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成することをさらに含む。本方法は、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングすることをさらに含む。本方法は、単一のＶＬＣコードワードを出力することをさらに含む。
【００１６】
別の例によれば、ビデオデータを符号化する装置について本明細書で説明する。本装置は、複数のブロックを含むビデオデータのＣＵを受信し、複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断するビデオエンコーダを含む。本装置は、それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成するように構成されたＣＢＰモジュールをさらに含む。本ＣＢＰモジュールは、複数のブロックの各々についてのＣＢＦをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成するようにさらに構成される。本ＣＢＰモジュールは、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングするようにさらに構成される。本ＣＢＰモジュールは、単一のＶＬＣコードワードを出力するようにさらに構成される。
【００１７】
別の例によれば、ビデオデータを符号化するための装置について本明細書で説明する。本装置は、複数のブロックを含むビデオデータのＣＵを受信するための手段を含む。本装置は、複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断するための手段をさらに含む。本装置は、それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成するための手段をさらに含む。本装置は、複数のブロックの各々についてのＣＢＦをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成するための手段をさらに含む。本装置は、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングするための手段をさらに含む。本装置は、単一のＶＬＣコードワードを出力するための手段をさらに含む。
【００１８】
別の例によれば、コンピュータ可読記憶媒体について本明細書で説明する。本コンピュータ可読記憶媒体は、コンピューティングデバイスに、複数のブロックを含むビデオデータのＣＵを受信させるように構成された命令を含む。本命令は、さらにコンピューティングデバイスに、複数のブロックの各々が少なくとも１つの非ゼロ係数を含むか否かを判断させる。本命令は、さらにコンピューティングデバイスに、それぞれのブロックが少なくとも１つの非ゼロ係数を含むかどうかを示す、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を生成させる。本命令は、さらにコンピューティングデバイスに、複数のブロックの各々についてのＣＢＦをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成させる。本命令は、さらにコンピューティングデバイスに、生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングさせる。本命令は、さらにコンピューティングデバイスに、単一のＶＬＣコードワードを出力させる。
【００１９】
別の例によれば、ビデオデータのコーディングユニット（ＣＵ）を復号する方法について、本明細書で説明する。本方法は、複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することを含む。本方法は、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターンを判断することをさらに含む。本方法は、ＣＵのためのコード化ブロックパターンに基づいて、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断することであって、ＣＢＦは、複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断することをさらに含む。本方法は、判断されたＣＢＦに基づいてＣＵを復号することをさらに含む。
【００２０】
別の例によれば、ビデオデータを復号するための装置について本明細書で説明する。本装置は、複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信することと、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターンを判断することと、ＣＵのためのコード化ブロックパターンに基づいて、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断することであって、ＣＢＦは、複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断することと、判断されたＣＢＦに基づいてＣＵを復号することとを行うように構成されたビデオデコーダを含む。
【００２１】
別の例による、ビデオデータを復号するための装置。本装置は、複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信するための手段を含む。本装置は、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターンを判断するための手段をさらに含む。本装置は、ＣＵのためのコード化ブロックパターンに基づいて、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断するための手段であって、ＣＢＦは、複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断するための手段をさらに含む。本装置は、判断されたＣＢＦに基づいてＣＵを復号するための手段をさらに含む。
【００２２】
別の例によれば、コンピュータ可読記憶媒体について本明細書で説明する。本コンピュータ可読記憶媒体は、コンピューティングデバイスに、複数のブロックを含むビデオデータのＣＵのための単一の可変長コード（ＶＬＣ）コードワードを受信させるように構成された命令を含む。本命令は、さらにコンピューティングデバイスに、単一のＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターンを判断させる。本命令は、さらにコンピューティングデバイスに、ＣＵのためのコード化ブロックパターンに基づいて、複数のブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を判断することであって、ＣＢＦは、複数のブロックのそれぞれのブロックが少なくとも１つの非ゼロ係数を含むか否かを示す、判断することを行わせる。本命令は、さらにコンピューティングデバイスに、判断されたＣＢＦに基づいてＣＵを復号させる。
【００２３】
本開示の１つまたは複数の態様の詳細は、添付の図面および下記の説明に記載されている。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２４】
【図１】本開示の技法のうちの１つまたは複数を実装し得るビデオ符号化および復号システムを示すブロック図。
【図２】本開示の１つまたは複数の技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示の１つまたは複数の技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４】本開示の技法に一致する、ルーマ成分（Ｙ）と第１のクロミナンス成分（Ｕ）と第２のクロミナンス成分（Ｖ）とを含むコーディングユニット（ＣＵ）の一例を示す概念図。
【図５】本開示の技法に一致する、複数のブロックに分割されたＣＵの一例を示す概念図。
【図６】本開示の様々な技法を示す流れ図。
【図７】本開示の様々な技法を示す流れ図。
【図８】本開示の様々な技法を示す流れ図。
【図９】本開示の様々な技法を示す流れ図。
【図１０】本開示の様々な技法を示す流れ図。
【図１１】本開示の様々な技法を示す流れ図。
【図１２Ａ】本開示の技法に一致する４分木データ構造（quadtree data structure）の一例を示す概念図。
【図１２Ｂ】本開示の技法に一致する４分木データ構造の一例を示す概念図。
【詳細な説明】
【００２５】
本開示は、以下でさらに詳細に説明する、ビデオデータのコーディングユニット（ＣＵ）のコード化ブロックパターン（ＣＢＰ）に適用可能なビデオコーディング技法について説明する。本開示の一態様によれば、コーディングユニット（ＣＵ）のそれぞれのルーマ（Ｙ）ブロック、第１のクロマブロック（Ｕ）、および第２のクロマブロック（Ｖ）ブロックの各々についてのコード化ブロックフラグ（ＣＢＦ）を含むＣＢＰを単一のＶＬＣコードワードとしてシグナリングするための技法が提供される。本開示の別の態様によれば、単一のＶＬＣコードワードとして、一緒にグループ化されたＣＵの複数のブロックについてのＣＢＰを単一のＶＬＣコードワードとしてシグナリングするための技法が提供される。本明細書で説明するこれらおよび他の技法は、ビデオデータをコーディングする（たとえば、符号化または復号する）際の効率を改善するために使用され得る。
【００２６】
高効率ビデオコーディング（ＨＥＶＣ）と現在呼ばれている新しいビデオコーディング規格を開発するための取り組みが現在進行中である。新興のＨＥＶＣ規格はＩＴＵ−Ｔ  Ｈ．２６５と呼ばれることがあり得る。規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従うデバイスに勝るビデオコーディングデバイスのいくつかの能力を推定する。たとえば、ＩＴＵ−Ｔ  Ｈ．２６４は９つのイントラ予測モード（intra-prediction modes）を提供するが、ＨＭは３４個ものイントラ予測モードを提供する。
【００２７】
ＨＭは、ビデオデータのブロックをコーディングユニット（ＣＵ）と称する。ビットストリーム内のシンタックスデータは、ピクセルの数に関する最大コーディングユニット（largest coding unit）（ＬＣＵ）である最大コーディングユニットを規定し得る。一般に、ＣＵは、ＣＵがマクロブロックに関連する同じサイズ制限を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。たとえば、ＣＵはサブＣＵに分割され（split）得、ＬＣＵのサイズはシナリオまたは状況に応じて異なり得る。一般に、本開示におけるＣＵへの言及はピクチャ（picture）のＬＣＵまたはＬＣＵのサブＣＵを指し得る。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームについてのシンタックスデータは、ＬＣＵのサイズ、ならびに最大ＣＵ深さ（maximum CU depth）と呼ばれる、ＬＣＵが分割され得る最大回数を規定し得る。したがって、ビットストリームは最小コーディングユニット（smallest coding unit）（ＳＣＵ）をも規定し得る。また、本開示は、ＬＣＵ、ＳＣＵ、ＣＵ、予測ユニット（ＰＵ）、または変換ユニット（ＴＵ）（ＰＵおよびＴＵについては以下でさらに詳細に説明する）のいずれかを指すために「ブロック」という用語を使用する。
【００２８】
ＬＣＵは４分木データ構造に関連し得る。一般に、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割される場合、そのＣＵに対応するノードは、各々がサブＣＵのうちの１つ、あるいはサブＣＵのうちの１つまたは複数のサブＣＵに対応する４つの子ノードを含む。４分木データ構造の各ノードは、対応するＣＵについてシンタックスデータを与え得る。たとえば、４分木中のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵについてのシンタックス要素は再帰的に定義され得、そのＣＵがサブＣＵに分割されるかどうかに依存し得る。また、各ＣＵについて、そのＣＵにフィルタ処理が適用されるべきかどうかを示すフラグなどの追加のシンタックス要素が含まれ得る。
【００２９】
分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。一般に、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵについての基準サンプル（reference sample）を検索するためのデータを含む。たとえば、ＰＵがイントラモード符号化される（intra-mode encoded）とき、ＰＵは、そのＰＵのためのイントラ予測モード（intra-prediction mode）を記述するデータを含み得る。別の例として、ＰＵがインターモード符号化される（inter-mode encoded）とき、ＰＵは、そのＰＵについての動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す基準フレーム（reference frame）、および／あるいは動きベクトルの参照リスト（reference list）（たとえば、リスト０またはリスト１）について説明し得る。また、（１つまたは複数の）ＰＵを定義するＣＵについてのデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分について記述し得る。区分モード（partitioning modes）は、ＣＵがイントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。
【００３０】
また、ＣＵは、ビデオデータ上で変換演算を実行するために使用され得る１つまたは複数の変換ユニット（ＴＵ）を含み得る。ＰＵを使用した予測に続いて、ビデオエンコーダは、ＰＵに対応するＣＵの一部分についての残差値（residual values）を計算し得る。残差値は、変換、走査、および量子化され得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵについての対応するＰＵよりも大きくても小さくてもよい。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００３１】
ＣＵは、（「Ｙ」と呼ばれる）ルミナンス（ルーマ）ブロックと、（それぞれ「Ｕ」および「Ｖ」と呼ばれる）２つのクロミナンス（クロマ）ブロックとによって表され得る。ルーマブロックおよびクロマブロックは、ルーマブロックおよびクロマブロックについての元の値を予測どおりにコーディングすることによって生成されたデータの残差ブロックを備え得る。人間の視覚は、クロミナンス値によって表された画像プロパティに対する感度がより低いので、クロマブロックは一般にサブサンプリングされる。ブロックの各々は、ビデオシーケンス内の現在のフレーム、前のフレーム、または後続のフレームからであり得る、前にコーディングされたピクセルのブロックに基づいて予測符号化され（predictively encoded）得る。ブロックの各々に関連する残差データは、コーディングプロセスの一部として周波数領域に変換され得る。いくつかの例では、クロマブロック上でサブサンプリングが実行されるかどうかに応じて、クロマブロック（ＵおよびＶ）の（サンプルの数に関する）サイズは、ルーマ（Ｙ）ブロックのサイズと同じか、またはそれとは異なり得る。
【００３２】
ＣＢＰは、たとえば、符号化されたビットストリームのＣＵヘッダ中に含まれ得るビデオブロックシンタックス情報のタイプを指し得る。Ｈ．２６４では、ＣＢＰは、一般に、１６×１６ＣＵ（マクロブロック）についての６ビット情報を含む。この場合、ＣＵ（マクロブロック）は、１６×１６ピクセルエリアをまとめて定義する変換係数の４つの８×８ルーマブロックと、１６×１６ピクセルエリア上でサブサンプリングされる変換係数の２つのサブサンプリングされたクロマブロックとを含み得る。ＣＢＰ中の各ビットは、クロマブロックまたはルーマブロック（すなわち、残差クロマブロックまたは残差ルーマブロック）のうちの所与の１つが非ゼロ変換係数を有するかどうかを示し得る。説明したようなＣＢＰのビットはコード化ブロックフラグ（ＣＢＦ）と呼ばれることがある。各ＣＢＦは、対応するブロックの１つまたは複数のビデオ成分が非ゼロ変換係数を含んでいるかどうかを示すフラグである。ＣＢＰは、一般に、１つのシンタックス要素として一緒にシグナリングされるＣＢＦの数を指す。
【００３３】
一態様によれば、本開示の技法は、ＣＵのそれぞれのＹ成分、Ｕ成分およびＶ成分の各々が非ゼロ係数を含むかどうかを示す複数のＣＢＦを含むビデオデータのＣＵについてのＣＢＰのシグナリングを可能にするコーディング技法に対処し得る。たとえば、ＣＢＰの第１のＣＢＦは、ＣＵのＵ成分が非ゼロデータを含むか否かを示し得る。ＣＢＰの第２のＣＢＦは、ＣＵのＶ成分が非ゼロデータを含むか否かを示し得る。ＣＢＰの第３のＣＢＦは、ＣＵのＹ成分が非ゼロデータを含むか否かを示し得る。ビデオデータのＣＵについてのＣＢＰは、それぞれのＹ成分、Ｕ成分およびＶ成分の各々が非ゼロデータを含むか否かを示す単一のＶＬＣコードワードを備え得る。そのようなＶＬＣコードワードは、ＶＬＣテーブルの複数のエントリのうちの１つのエントリを表し得る。
【００３４】
いくつかの例では、本開示の技法は、上記で説明したように、考えられるＣＰＢをそれぞれシグナリングする複数のＶＬＣコードワードを含む１つまたは複数のＶＬＣテーブルの中から作成および／または選択するために使用され得る。ＣＵのルーマ（Ｙ）ブロック、ならびにクロマ（ＵおよびＶ）ブロックの各々についてのＣＢＦを含むＣＢＰを単一のＶＬＣコードワードとしてシグナリングすることは、コーディング演算のためにシグナリングされるデータの量を低減し得るので、本明細書で説明する技法は有利であり得る。
【００３５】
上記で説明したように、ＣＵはブロックに、たとえば、サブＣＵおよび／あるいは１つまたは複数のＰＵまたはＴＵに分けられ得る。別の態様によれば、本開示は、単一のＶＬＣコードワードを使用して、ＣＵの複数のブロック（たとえば、ＰＵ、ＴＵ）の各々についてのそれぞれのＣＢＦを含むＣＢＰを１つのグループとしてシグナリングするための技法について説明する。これらの技法は、コーディング目的のためにシグナリングされるデータの量を低減するために、および／またはコーディング効率を改善するために使用され得る。
【００３６】
本開示の技法は、異なる変換サイズを可能にするコーディング技法に対処し得る。前述のように、いくつかの例では、ＣＵは、上記で説明したように、変換演算（たとえば、上記で説明したようなＴＵ）、または予測演算（たとえば、ＰＵ）のためにより小さいブロックに分割され得る。
【００３７】
いくつかの例では、ビデオエンコーダは、ＣＵについての変換インデックスをシグナリングし得る。変換インデックスは、コーダがＣＵまたはブロックのサイズに対応する変換ブロックサイズを判断し得るように、ＣＵのサイズおよび／またはＣＵのブロック（たとえば、それぞれのＹ成分、Ｕ成分、Ｖ成分）のサイズを示し得る。いくつかの例では、変換インデックスは、ＣＵの異なるビデオ成分、たとえばＹ、ＵおよびＶの間で共有され得る。他の例では、変換インデックスは、ＣＵのそれぞれのルミナンス（Ｙ）成分ならびにクロミナンス（ＵおよびＶ）成分について個々にシグナリングされ得る。
【００３８】
本開示の別の態様によれば、上記で説明したような１つまたは複数の変換インデックスは、ＣＵまたはブロックについてのＣＢＰ値に基づいてシグナリングされることもシグナリングされないこともある。たとえば、ＣＵのみがゼロ値係数を含む場合、コーダは、ＣＵのそれぞれのブロック（たとえば、それぞれのＹ成分、Ｕ成分、およびＶ成分）についての変換インデックスをシグナリングしないことがある。
【００３９】
ビデオコーダは、ＣＵを「イントラモード（intra mode）」（Ｉモード（登録商標）あるいは「インターモード（inter mode）」（ＰモードまたはＢモード）でコーディングし得る。イントラモード符号化ＣＵ（intra mode encoded CU）は、ビデオシーケンスの同じフレームのデータ（たとえば、同じフレームの他のブロック）に依拠し得る。インターモード符号化ＣＵ（inter mode encoded CU）またはブロックは、ビデオシーケンスの別のフレームのデータに依拠し得る。
【００４０】
いくつかの例では、上記で説明したような変換演算に加えて、ＰＵのブロックサイズに基づいてＰＵを使用して予測演算が実行され得る。いくつかの例では、コーダは、ＰＵのための予測モードをシグナリングし得る。予測モードは、ＰＵに適用されるべき予測のサイズおよび／またはタイプを識別し得る。たとえば、予測モードは、ブロックがイントラ１６×１６であることを示し得、イントラ１６×１６とは、ブロックがイントラ予測（たとえば、Ｉモード）を使用してコーディングされ、ブロックが１６×１６のサイズを有することを示し得る。別の例として、予測モードは、ブロックがインター８×８であることを示し得、インター８×８とは、ブロックがインター予測（たとえば、ＰモードまたはＢモード）を使用してコーディングされ、ブロックが８×８のサイズを有することを示し得る。
【００４１】
いくつかの例では、上記で説明したような予測モードは、ＶＬＣ技法を使用してシグナリングされ得る。たとえば、特定の予測モードは、ＶＬＣコードワードの位置を特定するためにＶＬＣテーブルに入力され得るインデックス値であるコード番号にマッピングされ得る。いくつかの例では、複数のそのようなコード番号は、一緒に、様々な予測モード値と様々なＶＬＣコードワードとの間のマッピングを定義するマッピングテーブルを備え得る。そのようなマッピングテーブルは、最も可能性のある予測モードが最も短いＶＬＣコードワードについてのインデックスを割り当てられるように構築され得る。したがって、複数のブロックのための予測モードを通信するためのデータ量が最小限に抑えられ得る。
【００４２】
いくつかの例では、ＶＬＣマッピングテーブルは適応的に調整され得る。たとえば、ビデオフレームのブロックが符号化されるとき、エンコーダは、各予測モードの発生頻度に基づいて、予測モードを表す１つまたは複数のＶＬＣテーブルのコードワードを適応させ得る。たとえば、ある予測モードが、前にコーディングされたＣＵまたはブロックのための他の予測モードよりも頻繁に発生すると判断された場合、その予測モードは、他の予測モードよりも短いＶＬＣコードワードを割り当てられ得る。
【００４３】
本開示の別の態様によれば、インターコード化フレーム、たとえばＢフレームまたはＰフレームをコーディングするために、コーダは、そのようなフレームにおいて１つまたは複数のイントラコード化予測モードに専用コードワード（dedicated code words）を割り当て得る。コーダは、インターコード化モードまたは他の予測モードには対応するが、イントラコード化予測モードには対応しないＶＬＣコードワードを適応的に割り当て得る。これらの技法によれば、計算量を低減することによってコーディング効率が改善され得る。
【００４４】
本開示では、「コーディング（coding）」という用語は符号化または復号を指す。同様に、「コーダ（coder）」という用語は、一般に、任意のビデオエンコーダ、ビデオデコーダ、または複合エンコーダ／デコーダ（コーデック）を指す。したがって、「コーダ」という用語は、本明細書では、ビデオ符号化またはビデオ復号を実行する専用コンピュータデバイスまたは装置を指すために使用される。本開示のＣＢＰコーディング技法はエンコーダまたはデコーダに適用可能であり得る。エンコーダは、ＣＢＰを符号化するために説明したＶＬＣ技法を使用し、デコーダは、ＣＢＰを復号するために逆（reciprocal）ＶＬＣ技法を使用する。
【００４５】
図１は、本開示の技法を実装し得る例示的なビデオ符号化および復号システム１００を示すブロック図である。図１に示すように、システム１００は、通信チャネル１１５を介して符号化ビデオ（encoded video）を宛先デバイス１０６に送信するソースデバイス１０２を含む。ソースデバイス１０２および宛先デバイス１０６は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１０２および宛先デバイス１０６は、いわゆるセルラー電話または衛星無線電話などのワイヤレス通信デバイスハンドセットを備え得る。しかしながら、マクロブロックについてのＣＢＰの符号化および復号に一般に適用される本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるわけではなく、ビデオ符号化および／または復号能力を含む多種多様な非ワイヤレスデバイスに適用され得る。
【００４６】
図１の例では、ソースデバイス１０２は、ビデオソース１２０と、ビデオエンコーダ１２２と、変調器／復調器（モデム）１２４と、送信機１２６とを含み得る。宛先デバイス１０６は、受信機１２８と、モデム１３０と、ビデオデコーダ１３２と、ディスプレイデバイス１３４とを含み得る。本開示によれば、ソースデバイス１０２のビデオエンコーダ１２２は、ビデオデータのＣＵについてのＣＢＰを符号化するように構成され得、ＣＢＰは、ＣＵのそれぞれのＹ成分、Ｕ成分、およびＶ成分中に非ゼロデータが含まれるか否かについて個々に識別するシンタックス情報を備える。ビデオエンコーダは、ＣＵのそれぞれのＹ成分、Ｕ成分、およびＶ成分中に非ゼロデータが含まれるか否かを示す複数のＣＢＦを含む単一のＶＬＣコードワードを使用して、ＣＢＰを符号化し得る。また本開示によれば、ソースデバイス１０２のビデオエンコーダ１２２は、ＣＵのブロックのグループについてのＣＢＰを単一のＶＬＣコードワードとしてまとめて符号化するように構成され得る。ブロックのグループは、ＰＵ、ＴＵ、またはＣＵの他のブロックを備え得る。ブロックのグループは、ＰＵ、ＴＵ、またはＣＵの他のブロックに関連する１つまたは複数のルーマ（Ｙ）成分またはクロマ（Ｕ，Ｖ）成分をも備え得る。
【００４７】
非ゼロデータが存在するかどうかをＣＢＰが個々に識別するルミナンスブロック（Ｙ）およびクロミナンスブロック（Ｕ，Ｖ）は、一般に、変換係数の残差ブロックを備える。変換係数は、予測ブロックとコーディングされている元のブロックとの間の差を示す残差ピクセル値を変換することによって生成され得る。変換は、整数変換、ＤＣＴ変換、ＤＣＴと概念的に同様のＤＣＴ様変換（DCT-like transform）などであり得る。
【００４８】
また、逆ＣＢＰ復号は、宛先デバイス１０６のビデオデコーダ１３２によって実行され得る。すなわち、ビデオデコーダ１３２はまた、ビデオデータのＣＵについてのＣＢＰを復号するように構成され得、ＣＢＰは、非ゼロデータが変換係数のＹブロック、ならびに変換係数のそれぞれのＵブロックおよびＶブロック中に個々に含まれるか否かを識別するシンタックス情報（たとえば、複数のＣＢＦ）を備える。本明細書で説明する技法に従ってＣＢＰを復号するために、ビデオデコーダ１３２は、１つまたは複数のＶＬＣテーブルを選択し、コーディングユニットのそれぞれのＹ成分、Ｕ成分、およびＶ成分が非ゼロ係数を含むか否かを判断するためにＣＢＰを復号し得る。
【００４９】
図１の図示のシステム１００は例にすぎない。本開示のＣＢＰ符号化および復号技法は、任意の符号化デバイスまたは復号デバイスによって実行され得る。ソースデバイス１０２および宛先デバイス１０６は、そのような技法をサポートすることができるコーディングデバイスの例にすぎない。
【００５０】
ソースデバイス１０２のビデオエンコーダ１２２は、ビデオソース１２０から受信したビデオデータを符号化し得る。ビデオソース１２０は、ビデオカメラ、前にキャプチャされた（captured）ビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィード（video feed）など、ビデオキャプチャデバイスを備え得る。さらなる代替として、ビデオソース１２０は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１２０がビデオカメラである場合、ソースデバイス１０２および宛先デバイス１０６は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ１２２によって符号化され得る。
【００５１】
システム１００において、ビデオデータがビデオエンコーダ１２２によって符号化されると、符号化されたビデオ情報は次いで、たとえば、符号分割多元接続（ＣＤＭＡ）、あるいは他の通信規格または技法などの通信規格に従ってモデム１２４によって変調され、送信機１２６を介して宛先デバイス１０６に送信され得る。モデム１２４は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機１２６は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。宛先デバイス１０６の受信機１２８はチャネル１１５を介して情報を受信し、モデム１３０は情報を復調する。同じく、ビデオデコーダ１３２によって実行されるビデオ復号プロセスは、ビデオエンコーダ１２２によって実行されるＣＢＰ符号化技法と同様の（たとえば、逆）ＣＢＰ復号技法を含み得る。
【００５２】
通信チャネル１１５は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理的伝送線路など、ワイヤレスまたはワイヤードの任意の通信媒体、あるいはワイヤレスおよび有線の媒体の任意の組合せを備え得る。通信チャネル１１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１１５は、概して、ビデオデータをソースデバイス１０２から宛先デバイス１０６に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。
【００５３】
ビデオエンコーダ１２２とビデオデコーダ１３２とは、上記で説明したような新興のＨＶＥＣ規格などのビデオ圧縮規格と極めて類似して動作し得る。したがって、コーディングプロセスに適用されるＣＢＰコーディング技法および変換サイズは、ＩＴＵ−Ｔ  Ｈ．２６４において定義されているものとは異なり得る。それにもかかわらず、本開示の技法は、様々な他のビデオコーディング規格のコンテキストに容易に適用され得る。詳細には、エンコーダまたはデコーダにおける別様にサイズ決定された変換を可能にする任意のビデオコーディング規格が、本開示のＶＬＣ技法から利益を得ることがある。
【００５４】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ１２２およびビデオデコーダ１３２は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラム・プロトコル（user datagram protocol）（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００５５】
ビデオエンコーダ１２２およびビデオデコーダ１３２はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ１２２およびビデオデコーダ１３２の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれかは複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
【００５６】
ただし、場合によっては、デバイス１０２、１０６は、実質的に対称に動作し得る。たとえば、デバイス１０２、１０６の各々は、ビデオ符号化および復号構成要素を含み得る。したがって、システム１００は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話通信のためのビデオデバイス１０２とビデオデバイス１０６との間の一方向または双方向のビデオ送信をサポートし得る。
【００５７】
符号化プロセス中、ビデオエンコーダ１２２は、いくつかのコーディング技法または演算を実行し得る。一般に、ビデオエンコーダ１２２は、ビデオブロックを符号化するために、個々のビデオフレーム（または、スライス（slices）などの他の独立してコーディングされたユニット）内のビデオブロック上で動作する。フレーム、スライス、フレームの部分、ピクチャのグループ、または他のデータ構造は、複数のビデオブロックを含む独立したデータユニットとして定義され得、シンタックス要素は、そのような様々な独立したデータユニットに含まれ得る。独立したデータユニット内のビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。場合によっては、各ビデオフレームは、一連の単独で復号可能なスライスを含み得、各スライスは１つまたは複数のＬＣＵを含み得る。
【００５８】
本開示では、「ブロック」という語句は、任意のサイズまたはタイプのビデオブロックを指す。たとえば、「ブロック」という語句は、マクロブロック、ＬＣＵ、ＣＵ、サブＣＵ、ＴＵ、またはＰＵのうちの１つまたは複数を指し得る。さらに、ブロックは、ピクセル領域中のビデオデータのブロック、または離散コサイン変換（ＤＣＴ）領域、ＤＣＴと同様の領域、ウェーブレット領域などの変換領域中のデータのブロックを指し得る。さらに、「ブロック」という語句は、一般に変換領域中のデータの残差ブロックであるルーマブロックおよびクロマブロックを指し得る。
【００５９】
再び図１を参照すると、ビデオエンコーダ１２２は、予測ブロックを識別するために、コーディングされているビデオブロックがビデオデータの別のブロックと比較される予測コーディングを実行し得る。予測コーディングのこのプロセスはしばしば、動き推定および動き補償と呼ばれる。動き推定は、１つまたは複数の予測フレーム（または他のコード化ユニット）の１つまたは複数の予測ビデオブロックに対するビデオブロック動きを推定する。動き補償は、１つまたは複数の予測フレーム、あるいは他のコード化ユニットから所望の予測ビデオブロックを生成する。動き補償は、フラクショナルピクセル精度（fractional pixel precision）で予測データを生成するために補間フィルタ処理が実行される補間プロセスを含み得る。
【００６０】
予測ブロックを生成した後に、コーディングされている現在のビデオブロックと予測ブロックとの間の差は、残差ブロックとしてコーディングされ、（動きベクトルなどの）予測シンタックスは予測ブロックを識別するために使用される。残差ブロックは変換および量子化され得る。変換技法は、ＤＣＴプロセスまたは概念的に同様のプロセス、整数変換、ウェーブレット変換、あるいは他のタイプの変換を備え得る。ＤＣＴプロセスまたはＤＣＴ様プロセスでは、一例として、変換プロセスは、ピクセル値（たとえば、残差値）のセットを、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換する。量子化は典型的には変換係数に適用され、一般に、任意の所与の変換係数に関連するビット数を制限するプロセスを必要とする。
【００６１】
変換および量子化に続いて、変換および量子化された残差ビデオブロックに対してエントロピーコーディング（entropy coding）が実行され得る。また、本明細書で説明したＣＢＰなどのシンタックス要素、様々なフィルタシンタックス情報、および符号化中に定義された予測ベクトルは、エントロピーコード化ビットストリーム（entropy-coded bitstream）中に含まれ得る。一般に、エントロピーコーディングは、一連の量子化された変換係数（quantized transform coefficients）および／または他のシンタックス情報を一括して圧縮する１つまたは複数のプロセスを備える。２次元ビデオブロックから係数の１つまたは複数のシリアル化された（serialized）１次元ベクトルを定義するために、量子化された変換係数に対してジグザグ走査技法などの走査技法が実行される。走査された係数は次いで、たとえば、コンテンツ適応型可変長コーディング（content adaptive variable length coding）（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（context adaptive binary arithmetic coding）（ＣＡＢＡＣ）、または別のエントロピーコーディングプロセスによって、任意のシンタックス情報とともにエントロピーコーディングされる。
【００６２】
符号化プロセスの一部として、符号化されたビデオブロックは、後続のビデオブロックの後続の予測ベースのコーディングのために使用されるビデオデータを生成するために復号され得る。この段階で、ビデオ品質を改善するために、たとえば、復号されたビデオからブロッキネス（blockiness）または他のアーティファクト（artifacts）を除去するために、フィルタ処理が採用され得る。このフィルタ処理はインループ（in-loop）でもポストループ（post-loop）でもよい。インループフィルタ処理の場合、コーディングループ中で、再構成されたビデオデータのフィルタ処理が行われ、これは、フィルタ処理されたデータが、後続の画像データの予測において後で使用するためにエンコーダまたはデコーダによって記憶されることを意味する。対照的に、ポストループフィルタ処理の場合、コーディングループの外で再構成されたビデオデータのフィルタ処理が行われ、これは、データのフィルタ処理されていないバージョンが、後続の画像データの予測において後で使用するためにエンコーダまたはデコーダによって記憶されることを意味する。
【００６３】
図２は、本開示に一致する例示的なビデオエンコーダ２００を示すブロック図である。ビデオエンコーダ２００は、ソースデバイス１００のビデオエンコーダ１２２、または異なるデバイスのビデオエンコーダに対応し得る。図２に示すように、ビデオエンコーダ２００は、予測モジュール２１０と、加算器２３０および２３２と、メモリ２１２とを含む。ビデオエンコーダ２００は、変換モジュール２１４および量子化モジュール２１６、ならびに逆量子化モジュール２２０および逆変換モジュール２２２をも含む。ビデオエンコーダ２００は、ＶＬＣテーブル２５２を適用するＣＢＰ符号化モジュール２５０をも含む。さらに、ビデオエンコーダ２００はエントロピーコーディングモジュール２１８を含む。ＣＢＰ符号化モジュール２５０がＶＬＣテーブル２５２を適用する限り、ＶＬＣテーブル２５２はＣＢＰ符号化モジュール２５０の一部として示される。ただし、ＶＬＣテーブル２５２は実際には、それらのテーブルを適用するためにＣＢＰ符号化モジュール２５０によってアクセス可能であり得る、メモリ２１２などのメモリロケーションに記憶され得る。フィルタモジュール２３６は、再構成されたビデオブロックに対してインループフィルタ処理またはポストループフィルタ処理を実行し得る。
【００６４】
符号化プロセス中に、ビデオエンコーダ２００はコーディングされるべきビデオブロックを受信し、予測モジュール２１０は予測コーディング技法を実行する。インターコーディングの場合、予測モジュール２１０は、予測ブロックを定義するために、符号化されるべきビデオブロックを、１つまたは複数のビデオ基準フレームまたはスライス中の様々なブロックと比較する。イントラコーディングの場合、予測モジュール２１０は、同じコード化ユニット内の隣接するデータに基づいて予測ブロックを生成する。予測モジュール２１０は予測ブロックを出力し、加算器２３０は、残差ブロックを生成するために、コーディングされているビデオブロックから予測ブロックを減算する。
【００６５】
インターコーディングの場合、予測モジュール２１０は、予測ブロックを指す動きベクトルを識別し、その動きベクトルに基づいて予測ブロックを生成する、動き推定モジュールおよび動き補償モジュール（図２に図示せず）を備え得る。一般に、動き推定は、動きを推定する、動きベクトルを生成するプロセスと考えられる。たとえば、動きベクトルは、現在のフレーム内のコーディングされている現在のブロックに対する予測フレーム内の予測ブロックの変位を示し得る。動き補償は、一般に、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成するプロセスと見なされる。イントラコーディングの場合、予測モジュール２１０は、同じフレーム内の隣接するデータ、スライス、またはビデオデータの他のユニットに基づいて予測ブロックを生成する。１つまたは複数のイントラ予測モードは、イントラ予測ブロックをどのように定義することができるかを定義し得る。
【００６６】
インターコーディングのための動き補償は、サブピクセル解像度への補間を含み得る。予測モジュール２１０によって生成された補間予測データ（Interpolated predictive data）は、たとえば、１／２ピクセル解像度、１／４ピクセル解像度、またはさらにより精細な解像度に補間され得る。これにより、動き推定が、そのようなサブピクセル解像度へのビデオブロックの動きを推定することが可能になる。
【００６７】
予測モジュール２１０が予測ブロックを出力した後、および加算器２３０が、残差ブロックを生成するために、コーディングされているビデオブロックから予測ブロックを減算した後、変換モジュール２１４は残差ブロックに変換を適用する。変換は、離散コサイン変換（ＤＣＴ）、整数変換、またはＩＴＵ  Ｈ．２６４規格、ＨＶＥＣ規格などによって定義されるものなど、概念的に同様の変換を備え得る。いくつかの例では、変換モジュール２１４は、別様にサイズ決定された変換を実行し得、コーディング効率および改善された圧縮のために異なるサイズの変換を選択し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換が使用され得る。いずれの場合も、変換モジュール２１４は、残差ピクセル値の残差ブロックに特定の変換を適用し、残差変換係数のブロックを生成する。変換は、残差ピクセル値情報をピクセル領域から周波数領域に変換し得る。
【００６８】
次いで、量子化モジュール２１６は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化モジュール２１６は、たとえば、係数の各々をコーディングするために使用されるビット数を制限し得る。量子化後、エントロピーコーディングモジュール２１８は、データを走査し、そのデータをエントロピー符号化し得る。たとえば、エントロピーコーディングモジュールは、量子化された係数ブロックを２次元表現から１つまたは複数のシリアル化された１次元ベクトルに走査し得る。走査順序は、（ジグザグ走査、水平走査、垂直走査、または別のあらかじめ定義された順序などの）定義された順序で行われるように事前プログラムされ得、あるいは場合によっては、以前のコーディング統計に基づいて適応的に定義され得る。この走査プロセスの後、エントロピー符号化モジュール２１８が、データをさらに圧縮するために、ＣＡＶＬＣまたはＣＡＢＡＣなどのエントロピーコーディング方法に従って（シンタックス要素とともに）量子化された変換係数を符号化する。エントロピーコード化ビットストリーム中に含まれるシンタックス情報は、インターコーディングのための動きベクトルまたはイントラコーディングのための予測モードなど、予測モジュール２１０からの予測シンタックスを含み得る。エントロピーコード化ビットストリーム中に含まれるシンタックス情報は、予測モジュール２１０による補間のために適用されるようなフィルタ情報、またはフィルタモジュール２３６によって適用されるフィルタをも含み得る。さらに、エントロピーコード化ビットストリーム中に含まれるシンタックス情報は、ＣＵおよび／またはブロックに関連するＣＢＰをも含み得、本開示の技法は、特に、ＣＢＰ符号化モジュール２５０のＶＬＣテーブル２５２に基づいてＣＢＰのＶＬＣコーディングを定義する。
【００６９】
ＣＡＶＬＣは、エントロピーコーディングモジュール２１８によってベクトル化ベースで適用され得る、ＩＴＵ  Ｈ．２６４／ＭＰＥＧ４、ＡＶＣ規格によってサポートされるエントロピーコーディング技法の１つのタイプである。ＣＡＶＬＣは、変換係数および／またはシンタックス要素のシリアル化された「ラン（run）」を効果的に圧縮する方法で（モジュール２１８には示されていない）ＶＬＣテーブルを使用する。ＣＡＢＡＣは、エントロピーコーディングモジュール２１８によってベクトル化ベースで適用され得る、ＩＴＵ  Ｈ．２６４／ＭＰＥＧ４、ＡＶＣ規格によってサポートされる別のタイプのエントロピーコーディング技法である。ＣＡＢＡＣは、２値化（binarization）、コンテキストモデル選択、および２進算術コーディングを含むいくつかの段（stage）を必要とし得る。この場合、エントロピーコーディングモジュール２１８は、ＣＡＢＡＣに従って変換係数およびシンタックス要素をコーディングする。多くの他のタイプのエントロピーコーディング技法もまた存在し、将来、新しいエントロピーコーディング技法がおそらく出現するであろう。本開示は、任意の特定のエントロピーコーディング技法に限定されるものではない。
【００７０】
エントロピー符号化モジュール２１８によるエントロピーコーディングの後、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信または検索するためにアーカイブされ（archived）得る。この場合も、符号化されたビデオは、デコーダによって復号プロセスを適切に構成するために使用され得る様々なシンタックスと、エントロピーコード化ベクトル（entropy coded vectors）とを備え得る。逆量子化モジュール２２０および逆変換モジュール２２２は、それぞれ逆量子化および逆変換を適用して、ピクセル領域中の残差ブロックを再構成する。加算器２３２は、再構成された残差ブロックを、予測モジュール２１０によって生成された予測ブロックに加算して、メモリ２１２に記憶するための再構成されたビデオブロックを生成する。メモリ２１２は、符号化されるべき他のフレームのブロックに関する動き推定において使用するためのブロックのスライスまたはフレームを記憶し得る。そのような記憶より前に、インループフィルタ処理（in-loop filtering）の場合、フィルタモジュール２３６は、ビデオ品質を改善するためにビデオブロックにフィルタ処理を適用し得る。フィルタモジュール２３６によるそのようなフィルタ処理は、ブロッキネスまたは他のアーティファクトを低減し得る。さらに、フィルタ処理は、コーディングされているビデオブロックへの緊密な一致を備える予測ビデオブロックを生成することによって、圧縮を改善し得る。フィルタ処理はまた、フィルタ処理されたデータは復号データとして出力されるが、フィルタ処理されていないデータは予測モジュール２１０によって使用されるように、ポストループで実行され得る。
【００７１】
図３は、本明細書で説明する方法で符号化されたビデオシーケンスを復号するビデオデコーダ３００の一例を示すブロック図である。受信されたビデオシーケンスは、画像フレームの符号化されたセット、フレームスライスのセット、通常コード化ピクチャグループ（coded group of pictures）（ＧＯＰ：group of pictures）、または符号化されたビデオブロックとそのようなビデオブロックを復号する方法を定義するためのシンタックス情報とを含む多種多様なコード化ビデオユニットを備え得る。
【００７２】
ビデオデコーダ３００は、図２のエントロピー符号化モジュール２１８によって実行される符号化の逆復号関数（reciprocal decoding function）を実行するエントロピー復号モジュール３０２を含む。特に、エントロピー復号モジュール３０２は、ＣＡＶＬＣまたはＣＡＢＡＣ復号、あるいは図２のエントロピー符号化モジュール２１８によって適用された他のタイプの逆エントロピーコーディングに応じた復号を実行し得る。１次元シリアル化フォーマットのエントロピー復号されたビデオブロックは、１つまたは複数の１次元係数ベクトルから２次元ブロックフォーマットに戻され得る。ビデオブロックについて定義されたベクトルの数およびサイズ、ならびに走査順序は、２次元ブロックがどのように再構成されるのかを定義し得る。エントロピー復号された予測シンタックスはエントロピー復号モジュール３０２から予測モジュール３１０に送られ得、エントロピーＣＢＰシンタックスはエントロピー復号モジュール３０２からＣＢＰ復号モジュール３５０に送られ得る。
【００７３】
ビデオデコーダ３００はまた、予測モジュール３１０と、逆量子化ユニット３０６と、逆変換モジュール３０４と、メモリ３２２と、加算器３１４とを含む。さらに、ビデオデコーダ６０はまた、ＶＬＣテーブル３５２を含むＣＢＰ復号モジュール３５０を含む。ＣＢＰ復号モジュール３５０がＶＬＣテーブル３５２を適用する限り、ＶＬＣテーブル３５２はＣＢＰ復号モジュール３５０の一部として示されているが、ＶＬＣテーブル３５２は、ＣＢＰ復号モジュール３５０によってアクセスされる、メモリ３２２などのメモリロケーション中に実際に記憶され得る。この場合、ＶＬＣテーブル３５２は、テーブルを適用し、受信したＣＢＰコードワードを、ＶＬＣテーブル３５２のうちの１つまたは複数の、対応するデータにマッピングするために、ＣＢＰ復号モジュール３５０によってアクセス可能であり得る。本開示の一態様によれば、復号モジュール３５０は、それぞれのＹ成分、Ｕ成分、およびＶ成分の各々が非ゼロ係数を含むか否かを個別に示すＣＢＰを復号するために、ＶＬＣコードワードをＶＬＣテーブルのエントリにマッピングし得る。本開示の別の態様によれば、復号モジュール３５０は、ＣＵのブロックのグループが非ゼロ係数を含むかどうかを示すＣＢＰを復号するために、ＶＬＣコードワードをＶＬＣテーブルのエントリにマッピングし得る。
【００７４】
多種多様なビデオ圧縮技術および規格は、入力ビデオ信号に固有の冗長性を低減または除去するために、空間的および時間的予測を実行する。上記で説明したように、入力ビデオブロックは、空間的予測（すなわちイントラ予測）および／または時間的予測（すなわちインター予測または動き推定）を使用して予測される。本明細書で説明する予測モジュールは、与えられた入力ビデオブロックのための望ましい予測モードを選定するために、モード決定モジュール（図示せず）を含み得る。モード選択は、ブロックがイントラコード化されたのかインターコード化されたのか、イントラコーディングが使用された場合の予測ブロックサイズおよび予測モード、ならびにインターコーディングが使用された場合に使用された動きパーティションサイズおよび動きベクトルなど、様々なファクタを考慮し得る。入力ビデオブロックから予測ブロックが減算され、次いで、上記で説明したように、残差ビデオブロック上に変換および量子化が適用される。変換は、本開示に従って可変サイズを有し得、ＣＢＰ符号化および復号は、ＣＵまたはブロックのために使用される変換サイズに基づき得る。使用されるべき変換は、マクロブロックシンタックス中でシグナリングされ得るか、またはコンテキストまたは他のファクタに基づいて適応的に判断され得る。
【００７５】
量子化された係数は、モード情報とともに、ビデオビットストリームを形成するためにエントロピー符号化され得る。量子化された係数はまた、再構成されたビデオブロックを形成するために予測ビデオブロック（選定されたコーディングモードに応じてイントラ予測されたブロックまたは動き補償ブロック）に加算され戻され得る再構成された残差ブロックを形成するために、逆量子化および逆変換され得る。再構成されたビデオ信号中の視覚的アーティファクトを低減するために、インループフィルタまたはポストループフィルタが適用され得る。再構成されたビデオブロックは、最後に、将来のビデオブロックのコーディングの使用のために基準フレームバッファ（すなわち、メモリ）に記憶される。
【００７６】
本開示で説明するＣＢＰ符号化技法は、図２のＣＢＰ符号化モジュール２５０によってＶＬＣテーブル２５２を使用することによって実行され得る。この場合も、ＶＬＣテーブル２５２はＣＢＰ符号化モジュール２５０内に示されているが、ＶＬＣテーブルは（メモリ２１２などの）メモリロケーションに実際に記憶され、コーディングプロセスにおいてＣＢＰ符号化モジュール２５０によってアクセスされ得る。本開示の逆ＣＢＰ復号技法は、図３のＣＢＰ復号モジュール３５０によってＶＬＣテーブル３５２を適用することによって実行され得る。ＣＢＰ符号化モジュール２５０の場合と同様に、ＣＢＰ復号モジュール３５０とともに、ＶＬＣテーブル３５２はＣＢＰ復号モジュール３５０内に示されている。ただし、この図は例示のためのものである。実際には、ＶＬＣテーブル３５２は、（メモリ３２２などの）メモリロケーションに記憶され、復号プロセスにおいてＣＢＰ復号モジュール３５０によってアクセスされ得る。本明細書で使用する「コーディング」という用語は、符号化、復号、または符号化と復号の両方を含む任意のプロセスを指す。
【００７７】
上記で説明したように、本明細書で説明する技法に従ってコード化ブロックフラグをコーディングするために、コーディングモジュール（たとえば、符号化モジュール２５０、復号モジュール３５０）は、１つまたは複数の可変長コード（variable length code）（ＶＬＣ）テーブルを生成および／または選択し得る。１つまたは複数のＶＬＣテーブルはそれぞれ、ブロックのためのそれぞれのＣＢＰ値にマッピングする複数のＶＬＣコードワードを含み得る。たとえば、本明細書で説明するＶＬＣコードワードは、ブロックのＹ成分、Ｕ成分、およびＶ成分の各々が非ゼロ係数を含むかどうかを示す、それぞれの成分についてのＣＢＦを表し得る。別の例によれば、本明細書で説明するＶＬＣコードワードは、複数のブロックの各々が非ゼロ係数を含むかどうかを個別に識別する、ＣＵの複数のブロックの各々についてのＣＢＦを表し得る。
【００７８】
符号化モジュール２５０は、ＣＵのブロックのルミナンス（Ｙ）成分、第１のクロミナンス（Ｕ）成分、および第２のクロミナンス（Ｖ）成分の各々など、ＣＵのブロックの複数の成分の各々についてのコード化ブロックフラグ（ＣＢＦ）を判断し得る。符号化モジュール２５０は、第１のクロミナンス（Ｕ）ブロックについてのＣＢＦの値と、第２のクロミナンス（Ｖ）成分についてのＣＢＦの値とを、他方とは無関係に判断し得る。たとえば、符号化モジュール２５０は、第１のクロミナンス（Ｕ）成分が非ゼロ係数を含まない場合はゼロ（０）の値を備え、第１のクロミナンス（Ｕ）成分が１つまたは複数の非ゼロ係数を含む場合は１の値を備える、第１のクロミナンス（Ｕ）成分についてのＣＢＦを判断し得る。符号化モジュール２５０は、第２のクロミナンス（Ｖ）成分が非ゼロ係数を含まない場合はゼロ（０）の値を備え、第２のクロミナンス（Ｖ）成分が１つまたは複数の非ゼロ係数を含む場合は１の値を備える、第２のクロミナンス（Ｖ）成分についてのＣＢＦを判断し得る。
【００７９】
符号化モジュール２５０は、それぞれのルミナンス（Ｙ）、第１のクロミナンス（Ｕ）、および第２のクロミナンス（Ｖ）の各々についてのそれぞれのＣＢＦを組み合わせて、単一のＶＬＣコードワードとして表されるＣＢＰとしてシグナリングし得る。たとえば、符号化モジュール２５０は、ルミナンス（Ｙ）成分、第１のクロミナンス（Ｕ）成分、および第２のクロミナンス（Ｖ）成分の各々についての集合的なＣＢＦ値を組合せで含むＣＢＰを表すＶＬＣコードワードの値を判断し、判断されたコードワードを復号モジュール３５０に通信するために、表１および表２に示す例示的なＶＬＣテーブルなどのＶＬＣテーブルを作成し、および／またはそれにアクセスし得る。復号モジュール３５０は、ＣＵのルミナンス（Ｙ）成分、第１のクロミナンス（Ｕ）成分、および第２のクロミナンス（Ｖ）成分の各々についてそれぞれのＣＢＦを判断するために、ＣＢＰを判断または復号するために、表１および表２に示すＶＬＣテーブルと同じかまたは同様のＶＬＣテーブルにアクセスし得る。
【００８０】
いくつかの例では、ＣＢＰ符号化モジュール２５０は、ＣＵの隣接ブロックのコンテキスト、または他のＣＵのコンテキストに基づいて、ＶＬＣテーブルを適応的に生成し得る。たとえば、ＣＢＰ符号化モジュール２５０は、符号化されるべきブロックの１つまたは複数の隣接ブロックについての少なくとも１つのＣＢＰ値を判断し、１つまたは複数の隣接ＣＵまたはブロックによって定義されたコンテキストに基づいて特定のＣＢＰ値を表すようにＶＬＣテーブルの可変長コードワードを割り当て得る。たとえば、１つまたは複数の隣接ブロックが非ゼロ係数を含まない場合、現在のブロックも非ゼロ係数を含まない可能性は、隣接ブロックが非ゼロ係数を含む場合よりも高いことがある。この例によれば、（それぞれのルーマ（Ｙ）成分、第１のクロマ（Ｕ）成分、および第２のクロマ（Ｖ）成分について非ゼロ係数がないことを表す）ゼロの値を有するブロックのそれぞれのルーマ（Ｙ）成分、第１のクロマ（Ｕ）成分、および第２のクロマ（Ｖ）成分についてのＣＢＦの組合せを備えるＣＢＰに、より短いＶＬＣコードワードが割り当てられ得る。上述の例によれば、エンコーダ２５０は、ＶＬＣテーブルにおいて、それぞれのＹ成分、Ｕ成分、およびＶ成分の各々が非ゼロ係数を有しないことを示し得る（Ｙ，Ｕ，Ｖ）＝（０，０，０）のＣＢＰに、最も短いＶＬＣコードワード、たとえば１ビットコードワードを割り当て得る。また、この例によれば、エンコーダ２５０は、（Ｙ，Ｕ，Ｖ）＝（１，０，０）、（Ｙ，Ｕ，Ｖ）＝（０，１，０）、または（Ｙ，Ｕ，Ｖ）＝（０，０，１）のＣＢＰに、短いＶＬＣコードワードを割り当て得る。エンコーダは、コンテキストに基づいて、より可能性が低いＣＢＰ値により長いＶＬＣコードワードをさらに割り当て得る。たとえば、１つまたは複数の隣接ブロックが非ゼロ係数を含まない場合、ＶＬＣテーブルにおいて、（Ｙ，Ｕ，Ｖ）＝（１，１，１）のＣＢＰは最長のコードワードを割り当てられ得る。
【００８１】
図４に、現在のＣＵ４０１の一例を示す。現在のＣＵ４０１は、現在コーディングされているＣＵを表し得る。たとえば、現在のＣＵ４０１は、任意のサイズ、たとえば、８×８、１６×１６、３２×３２、または６４×６４を有し得る。図４に示すように、現在のＣＵ４０１は、関連するＹ成分、Ｕ成分、およびＶ成分の各々を含む。いくつかの例では、Ｙ成分、Ｕ成分、およびＶ成分は、現在のＣＵ４０１のサイズにそれぞれ対応し得る。たとえば、ＣＵ４０１のそれぞれのＹ成分、Ｕ成分、およびＶ成分は、現在のＣＵ４０１と同じサイズをそれぞれ有し得る。他の例によれば、２つ以上のＹ成分、Ｕ成分、またはＶ成分は、現在のＣＵ４０１に対応し得る。たとえば、現在のＣＵは、現在のＣＵのサイズの細分された（subdivided）ブロックにそれぞれ対応する４つのそれぞれのＹ成分を含み得る。１つのそのような例によれば、現在のＣＵに関連するそれぞれのＵ成分およびＶ成分は、現在のＣＵ４０１と同じサイズを有し得る。別のそのような例によれば、現在のＣＵ４０１に関連するそれぞれのＵ成分およびＶ成分は、上記で説明したように細分されたＹ成分のサイズに対応し得る。
【００８２】
また、図４に、ビデオフレーム４００の現在のＣＵ４０１の２つの隣接ＣＵ４０２および４０３を示す。図４に示すように、上の方のＣＵ４０２はビデオフレーム４００においてＣＵ４０１の上方に配置され、左のＣＵ４０３はビデオフレーム４００においてＣＵ４０１の左側に配置される。いくつかの例では、現在のＣＵ４０１に関して上記で説明したように、上の方のＣＵ４０２および左のＣＵ４０３は、関連するＹ成分、Ｕ成分、およびＶ成分を含み得る。
【００８３】
本開示の技法によれば、コーダは、現在のＣＵ４０１のＹ成分、Ｕ成分、およびＶ成分の各々が非ゼロ係数を含むかどうかを個別に表す複数のＣＢＦを含む単一の可変長コードワードをシグナリングし得る。一例によれば、ＶＬＣテーブルは、隣接ＣＵ４０２、４０３の１つまたは複数のＣＰＢによって定義されたコンテキストに基づいて選択され得る。たとえば、ＣＢＰ符号化モジュール２５０は、隣接ＣＵ４０２、４０３のうちの１つまたは複数が非ゼロ係数を含むか否かに基づいて、現在のＣＵ４０１の集合的なＹ成分、Ｕ成分、およびＶ成分についてのＣＢＰをコーディングするために、ＶＬＣテーブルを選択し得る。
【００８４】
具体的な一例によれば、コーダ（たとえば、ＣＢＰ符号化モジュール２５０およびＣＢＰ復号モジュール３５０）は、次のように１つまたは複数の隣接ＣＵ４０２、４０３について判断されたＣＢＰに基づいて、現在のＣＵ４０１について１つまたは複数のコンテキストを判断し得る。  
コンテキスト１：上の方のＣＵ４０２と左のＣＵ４０３の両方についてのＣＢＰ値は、ゼロ値係数のみが存在することを示す。  
コンテキスト２：上の方のＣＵ４０２および左のＣＵ４０３のうちの１つについてのＣＢＰ値は、ゼロ値係数のみが存在することを示し、上のＣＵ４０２および左のＣＵ４０３のうちの１つについてのＣＢＰ値は、非ゼロ係数が存在することを示す。  
コンテキスト３：上の方のＣＵ４０２と左のＣＵ４０３の両方についてのＣＢＰ値は、両方とも非ゼロ係数が存在することを示す。  
したがって、コンテキストを定義するために隣接データが使用され、隣接データは、ビデオデータの隣接ブロックに関連するそれぞれのＣＢＰを含み得る。上述の例によれば、第１のコンテキスト（たとえば、コンテキスト１）は、第１の隣接ＣＵ４０２のＣＢＰと第２の隣接ＣＵ４０３のＣＢＰとが、ゼロ値係数のみが存在することを示す場合を備え、第２のコンテキスト（たとえば、コンテキスト２）は、第１の隣接ＣＵ４０２のＣＢＰと第２の隣接ＣＵ４０３のＣＢＰとが、隣接ＣＵ４０２、４０３の一方にゼロ値係数のみが存在し、隣接ＣＵ４０２、４０３の他方に非ゼロ係数が存在することを示す場合を備え、第３のコンテキスト（たとえば、コンテキスト３）は、第１の隣接ＣＵ４０２のＣＢＰと第２の隣接ＣＵ４０３のＣＢＰとの両方のＣＢＰが、非ゼロ係数が存在することを示す場合を備える。
【００８５】
他の例では、コンテキストを定義するために隣接ブロックの他の部分のＣＢＰ値が使用され得る。たとえば、現在のＣＵ４０１のコーディングのためのコンテキストを識別するために、隣接ＣＵ４０２、４０３の１つまたは複数のブロックについてのＣＢＰ値が使用され得る。いずれの場合も、現在のＣＵのために定義されたコンテキストが与えられれば、ＣＵについてのＣＢＰは、以下の式と表とに基づいて符号化および復号され得る。たとえば、符号化することは、上記の１つまたは複数のコンテキストに基づいて、ＣＢＰ値に割り当てられたコード番号とともに１つまたは複数のＶＬＣコードテーブルを選択および／または生成することを含み得る。別の例として、デコーダは、１つまたは複数のＶＬＣコードワードを受信し、上記で説明したように、１つまたは複数のコンテキストに基づいて選択されたＶＬＣテーブルを使用して、１つまたは複数のＶＬＣコードワードを復号し得る。いくつかの例によれば、ＶＬＣテーブルは、あらかじめ定義され得るが、本明細書で説明する方法で選択され得る。他の場合には、ＶＬＣテーブルは、それら自体が本明細書で説明する方法で適応的に生成され、選択され、適用され得る。
【表１】
2013524734.tif 000003
【００８６】
表１は、図４に関して上記で説明したように、ＣＢＰ符号化モジュール２５０および／または復号モジュール３５１によってコンテキスト１に従って使用／生成され得るＶＬＣテーブルの一例を示している。表１の例によれば、ＣＢＰ符号化モジュール２５０は、（Ｙ，Ｕ，Ｖ）＝（０，０，０）のＣＢＰに、１の単一ビットＶＬＣコードワードを割り当てた。コンテキスト１に基づいて、値（０，０，０）が現在のＣＵ４０１の（Ｙ，Ｕ，Ｖ）成分についての最も可能性が高いＣＢＰであり得るので、ＣＢＰ符号化モジュール２５０は、（Ｙ，Ｕ，Ｖ）＝（０，０，０）のＣＢＰに、最も短いコードワード長を割り当て得る。ＣＢＰ符号化モジュール２５０はまた、上記で説明したコンテキスト１に基づいて２番目に可能性が高いＣＢＰであり得るＣＢＰ値（０，０，１）に２ビットコードワードを割り当てた。ＣＢＰ符号化モジュール２５０はまた、コンテキスト１に従って３番目に可能性が高い組合せであり得るＣＢＰ値（０，１，０）に３ビットコードワードを割り当て、４番目に可能性が高い組合せであり得るＣＢＰ値（１，０，０）に４ビットコードワードを割り当てた。また表１に示すように、ＣＢＰ符号化モジュール２５０は、それぞれ、コンテキスト１に従って可能性が最も低い組合せであり得るＣＢＰ（１，１，０）および（１，１，１）に７ビットコードワードを割り当てた。
【表２】
2013524734.tif 000004
【００８７】
表２は、図４に関して上記で説明したように、符号化モジュール２５０および／または復号モジュール３５１によってコンテキスト３に従って使用／生成され得るＶＬＣテーブルの一例を示している。表２の例によれば、符号化モジュール２５０は、（Ｙ，Ｕ，Ｖ）＝（１，１，１）のＣＢＰに、１の単一ビットＶＬＣコードワードを割り当てた。コンテキスト３に基づいて、値（１，１，１）が現在のＣＵ４０１またはブロック４１０〜４１３の（Ｙ，Ｕ，Ｖ）成分についての最も可能性が高いＣＢＰであり得るので、符号化モジュール２５０は、（Ｙ，Ｕ，Ｖ）＝（１，１，１）のＣＢＰに最も短いコードワード長を割り当て得る。符号化モジュールはまた、上記で説明したコンテキスト１に基づいて２番目に可能性が高いＣＢＰであり得るＣＢＰ値（１，１，０）に２ビットコードワードを割り当てた。符号化モジュールはまた、コンテキスト３に従って３番目に可能性が高い組合せであり得るＣＢＰ値（１，０，１）に３ビットコードワードを割り当て、４番目に可能性が高い組合せであり得るＣＢＰ値（０，１，１）に４ビットコードワードを割り当てた。また表２に示すように、符号化モジュール２５０は、コンテキスト３に従って最も可能性が低い組合せであり得るＣＢＰ（０，０，０）および（０，０，１）にそれぞれ７ビットコードワードを割り当てた。
【００８８】
上記で説明した例によれば、可変長コードテーブルは、ビデオフレームの１つまたは複数の他のＣＵまたはブロックによって定義されたコンテキストに基づいてアクセスおよび／または作成され得る。上記で説明したように、コンテキストは、１つまたは複数の隣接ＣＵ（たとえば、図４に示すＣＵ４０２、４０３）またはブロックが非ゼロ係数を含むかどうかに基づいており、それは、隣接ブロックまたはユニットについてのＣＢＰに基づいて判断され得る。
【００８９】
他の例によれば、そのようなコンテキストは他のファクタに基づいて判断され得る。たとえば、ＣＢＰ符号化モジュール２５０および／またはＣＢＰ復号モジュール３５０は、パーティション深さ、ＴＵサイズ、および／または（単方向インター予測または双方向インター予測を含む）インター予測またはイントラ予測など、現在のＣＵ予測モードのうちの１つまたは複数の非限定的なファクタに基づいてそのようなコンテキストを判断し得る。隣接ＣＢＰを含むこれらのファクタは、コンテキストを判断するために別個にまたは一緒に使用され得る。たとえば、ＴＵのサイズ、ＰＵに関連する予測モード、または両方に基づいてコンテキストが判断され得る。別の例によれば、ＰＵに関連する予測モードおよび／またはＴＵの変換サイズとともに、１つまたは複数の隣接ＣＵまたはブロック（たとえば、図４に示されている隣接ＣＵ４０２、４０３）の１つまたは複数のＣＢＰに基づいてコンテキストが判断され得る。
【００９０】
上記の表１および表２に示したＶＬＣテーブルの例は、本明細書で説明するコーディングユニットを復号するために選択され得るＶＬＣテーブルのいくつかの例にすぎない。表１および表２の例では、現在のＣＵが、１つまたは複数の隣接ＣＵが非ゼロ係数を含むか否かに基づく特定のＣＢＰ値を含む可能性に基づいて、ＶＬＣコードワードに、いくつかのビットが割り当てられる。表１および表２の例では、ＣＵのそれぞれのＹ成分、Ｕ成分、およびＶ成分についての最も可能性が高いＣＢＰは単一ビットを割り当てられ、２番目に可能性が高い組合せは２ビットを割り当てられ、３番目に可能性が高い組合せは３ビットを割り当てられる。そのようなＶＬＣテーブルはユニタリー（unitary）ＶＬＣテーブルと呼ばれることがある。他の例によれば、ＶＬＣテーブルは、本明細書で説明するユニタリーではないことがある。代わりに、ＶＬＣテーブル中の２つ以上のコードワードは同じビット数を共有し得る。たとえば、最も可能性が高いＣＢＰは２ビットを割り当てられ得、２番目、３番目、および４番目に可能性が高い組合せは３ビットを割り当てられ得る。５番目、６番目および７番目に可能性が高い組合せは４ビットを割り当てられ得る。
【００９１】
上記で説明したように、いくつかの例では、コーデック（たとえば、エンコーダ、デコーダ）は、コードワードとＣＢＰ値との間の異なるマッピングをもつ複数のＶＬＣテーブルの中から選択するように構成され得る。いくつかの例では、特定のＣＵをコーディングするためのＶＬＣテーブルが、ＣＵのサイズ、ＣＵの予測モード（たとえば、イントラコード化、インターコード化）、ＣＵのコンテキストおよび／または他のファクタに基づいて選択され得る。表１および表２に示す例によれば、ＶＬＣコードワードは、それらの可能性に応じて異なるＣＢＰ値に割り当てられる。より短いＶＬＣコードワードは、発生する可能性がより高いことがあるそれらのＣＢＰ値に割り当てられる。
【００９２】
いくつかの例では、ブロックについてのＶＬＣテーブルは、すでにコーディングされたＣＵにおけるそれぞれのＣＢＰ値の相対的可能性に応じて符号化プロセスまたは復号プロセス中に並べ替えられ得る。この例によれば、コーダは、ＶＬＣコードワードとＣＢＰ値との間のマッピングを判断するために、インデックステーブル（コードワードインデックス・マッピングテーブル）にアクセスし得る。たとえば、そのようなマッピングは、ＣＵのために使用され得る複数のＶＬＣテーブルについて、ＣＢＰ値を特定のコードワードにマッピングするテーブルの各々内の相対インデックスを定義し得る。これらの例に従って、エンコーダは、ＣＵについてのＣＢＰを表すコードワードを判断するために、そのようなインデックステーブルにアクセスし得る。またこれらの例によれば、デコーダは、特定のコードワードがＣＢＰ値にマッピングされる１つまたは複数のＶＬＣテーブル内のインデックスを判断するために、そのようなインデックステーブルにアクセスし得る。
【００９３】
いくつかの例では、説明したインデックステーブルによって定義されるマッピングは、上記で説明したように適応型および／またはコンテキスト依存であり得る。インデックステーブルによって定義されるマッピングは、選択されたＶＬＣテーブルとともに、ＣＵについてのＣＢＰをコーディングするために使用され得る。
【００９４】
図５は、４つの１／４サイズのルーマブロック５１１〜５１４に分割されたＣＵ５０１の一例を示す概念図である。本開示の一態様によれば、ＣＵ５０１のブロックの特定のビデオ成分に対応するＣＢＰは、一緒にグループ化され、単一のＶＬＣコードワードとしてシグナリングされ得る。たとえば、図５の例によれば、コーダは、ブロック５１１〜５１４の各々が非ゼロルーマ（Ｙ）係数を含むかどうかを判断し得る。この例によれば、コーダは、ブロック５１１〜５１４の各々について、ブロックが非ゼロルーマ係数を含むかどうかを示すＣＢＦを含む４ビットＣＢＰ値を生成し得る。そのような４ビット値は、ＶＬＣテーブルの単一のＶＬＣコードワードにマッピングされ、シグナリングされ得る。
【００９５】
いくつかの例では、図５に示すルーマブロック５１１〜５１４は、関連するクロマ成分を各々含み得る。これらの例によれば、コーダは、ブロック５１１〜５１４の各々に関連するクロマ（Ｕ，Ｖ）成分が非ゼロ係数を含むか否かを判断し得る。一例によれば、コーダは、ブロック５１１〜５１４の各々について、それぞれのＵクロマ成分およびＶクロマ成分が非ゼロ係数を集合的に含むか否かを示すＣＢＦを含む４ビットＣＢＰを生成し得る。他の例によれば、コーダは、個々のＵ成分およびＶ成分ごとにＣＢＦを含む２つの４ビット（または単一の８ビット）ＣＢＰを生成し得る。
【００９６】
いくつかの例では、コーダは、図５に示す４つのルーマブロック５１１〜５１４についてのそれぞれのＣＢＦを含むＣＢＰを表す単一のＶＬＣコードワードのみをシグナリングし得る。他の例では、コーダはまた、ルーマブロック５１１〜５１４に関連するクロマ成分についてのそれぞれのＣＢＦを含むＣＢＰを表す別個の単一のＶＬＣコードワードをシグナリングし得る。他の例によれば、複数のルーマブロックについてのＣＢＰおよび複数の関連付けられたクロマ（Ｕ，Ｖ）についてのＣＢＰは、単一のＶＬＣコードワードとして組合せでシグナリングされ得る。
【００９７】
いくつかの例では、コーダは、ＣＵのＹ成分、Ｕ成分、およびＶ成分に関して上記で説明したように、１つまたは複数のコンテキストに基づいてＣＵ５０１のブロック５１１〜５１４についてのＶＬＣコードワードとグループ化された４ビットＣＢＰ値との間のマッピングを表す１つまたは複数のインデックステーブルを判断し得る。たとえば、コーダは、１つまたは複数のＣＵ、またはＣＵの固有のブロック、が非ゼロ係数を含むかどうかに基づいてインデックステーブルを判断し得る。たとえば、図５に示すように、上の方のブロック５０２、左のブロック５０３がゼロ値係数のみを含む場合、４つのブロックの各々についてゼロのＣＢＦ値を表すグループ化された４ビットＣＢＰ値（たとえば、（Ｂ５１１，Ｂ５１２，Ｂ５１３，Ｂ５１４）＝（０，０，０，０））は最も短いＶＬＣコードワードにマッピングされ得、各ブロックについて１のコード化ブロックフラグ値を表すグループ化された４ビットＣＢＰ値（たとえば、（Ｂ５１１，Ｂ５１２，Ｂ５１３，Ｂ５１４）＝（１，１，１，１））はより長いＶＬＣコードワードにマッピングされ得る。
【００９８】
ＣＵ５０１のブロック５１１〜５１４の特定のビデオ成分（たとえば、ルーマ成分、クロマ成分）について、上記で説明した単一のＶＬＣコードワードとして一緒にグループ化されたＣＢＰをシグナリングすることは、コーディング効率を改善し得る。たとえば、ブロックについてのＣＢＰを単一のＶＬＣコードワードとしてシグナリングすることによって、ＣＢＰをシグナリングするために必要なデータの量（たとえば、ビット数）が低減され得る。
【００９９】
上記で説明したように、いくつかの例では、１つまたは複数のファクタに基づいて複数のＶＬＣテーブルの中からＶＬＣテーブルが選択され得る。いくつかの例では、インターコード化ルーマブロックについてのＣＢＰの値は、イントラコード化ルーマブロックについてのＣＢＰの値よりもランダムであり得る。したがって、ＣＵのコンテキストに基づいて異なるＶＬＣテーブルを使用することは、インターコード化ＣＵのルーマブロックでは、イントラコード化ＣＵのルーマブロックの場合ほど有効ではないことがある。本明細書で説明する技法に合致する一例によれば、ＣＢＰ値をコーディングするために、イントラコード化ＣＵのルーマブロックでは複数のＶＬＣテーブルの中からＶＬＣテーブルが選択され得、インターコード化ＣＵのルーマブロックでは、インターコード化ＣＵのコンテキストにかかわらず、単一のＶＬＣテーブルが使用され得る。
【０１００】
クロマブロックでは、現在のブロックの予測モード（すなわちイントラまたはインター）にかかわらず、それらのコード化ブロックフラグは、インターコード化ルーマブロックについてのコード化ブロックフラグと同様の特性を有する。言い換えれば、それらの値はよりランダムであり得る。したがって同じ理由から、クロマブロックについてのコード化ブロックフラグは、インターコード化ブロックのルーマブロックについてのコード化ブロックフラグと同様にコーディングされ得る。より具体的に言えば、現在のブロックの予測モードにかかわらず、クロマブロックについてのＣＢＦは、単一のＶＬＣテーブルを使用してコーディングされ得る。
【０１０１】
上記で説明したように、インデックステーブルは、どのＶＬＣテーブルが使用されたのかにかかわらず、コンテキストに基づいて選択され得る。この例によれば、ＣＵのコンテキストに基づいて現在のＣＵをコーディングするために、コードワードとＣＢＰ値との間のマッピングを与える複数のインデックステーブルの中からインデックステーブルが選択され得る。前述のように、ＣＢＰ値をコーディングするために、イントラコード化ＣＵでは複数のＶＬＣテーブルの中からＶＬＣテーブルが選択され得、インターコード化ＣＵでは、インターコード化ＣＵのコンテキストにかかわらず、単一のＶＬＣテーブルが使用され得る。
【０１０２】
上記で説明したように、本開示の技法は、異なる変換サイズを可能にするコーディング技法に対処し得る。前述のように、いくつかの例では、ＣＵは、変換演算（たとえば、上記で説明したようなＴＵ）、または予測演算（たとえば、ＰＵ）のためにより小さいブロックに分割され得る。
【０１０３】
いくつかの例では、エンコーダは、ＣＵまたはＴＵについての変換インデックスをシグナリングし得る。変換インデックスは、コーダがＣＵまたはＴＵのサイズに対応する変換を判断し得るように、ＣＵまたはＴＵのサイズを示し得る。いくつかの例では、変換インデックスは、ＣＵのそれぞれのルミナンス（Ｙ）成分ならびにクロミナンス（ＵおよびＶ）成分について個々にシグナリングされ得る。他の例では、コーダは、たとえば、複数のブロックのうち共有されるサイズを表す単一の値を使用して、ＣＵの複数のブロックのサイズをまとめてシグナリングし得る。
【０１０４】
本開示の別の態様によれば、上記で説明したような１つまたは複数の変換インデックスは、ＣＵまたはブロックについてのＣＢＰ値に基づいてシグナリングされることもシグナリングされないこともある。たとえば、ＣＵのみがゼロ値係数を含む場合、コーダは、ＣＵのそれぞれのブロック（たとえば、それぞれのＹ成分、Ｕ成分、およびＶ成分）についての変換インデックスをシグナリングしないことがある。たとえば、ＣＵについてのＣＢＰは、ＣＵがゼロ値係数のみを含むことを示す場合、コーダはＣＵについての変換インデックスをシグナリングしないことがある。ただし、ＣＵについてのＣＢＰは、ＣＵが非ゼロ係数を含むことを示す場合、コーダはＣＵについての変換インデックスをシグナリングし得る。
【０１０５】
上記で説明したように、ＣＵのＣＢＰはＶＬＣ技法に従ってシグナリングされ得る。本開示の他の態様によれば、ＣＵの予測ユニット（ＰＵ）の予測モードは、ＶＬＣ技法を使用してシグナリングされ得る。いくつかの例では、コーダは、ＰＵを使用してＰＵのサイズに基づいて予測演算を実行し得る。いくつかの例では、コーダは、ＰＵのための予測モードをシグナリングし得る。予測モードは、ＰＵに適用されるべき予測のサイズおよび／またはタイプを識別し得る。たとえば、予測モードは、ＰＵがイントラ１６×１６であることを示し得、イントラ１６×１６とは、ＰＵがイントラ予測（たとえば、Ｉモード）を使用してコーディングされ、ＰＵが１６×１６のサイズを有することを示し得る。別の例として、予測モードは、ＰＵがインター８×８であることを示し得、インター８×８とは、ＰＵがインター予測（たとえば、ＰモードまたはＢモード）を使用してコーディングされ、ＰＵが８×８のサイズを有することを示し得る。
【０１０６】
いくつかの例では、上記で説明したような予測モードは、ＶＬＣ技法を使用してシグナリングされ得る。たとえば、特定の予測モードは、予測モードとＶＬＣコードワードとの間のマッピングを定義するマッピングテーブルに基づいてコードワードにマッピングされ得る。そのようなマッピングテーブルは、最も可能性のある予測モードが最も短いＶＬＣコードワードを割り当てられるように構築され得る。したがって、複数のブロックのための予測モードを通信するためのデータ量が最小限に抑えられ得る。
【０１０７】
いくつかの例では、ＶＬＣコードワードとＣＵ（またはＣＵの１つまたは複数のＰＵ）のための予測モードとの間のマッピングを示すマッピングテーブルが適応的に生成され得る。たとえば、ビデオフレームのＣＵが符号化されるとき、エンコーダは、各予測モードの発生頻度に基づいて、予測モードを表す１つまたは複数のＶＬＣテーブルのコードワードを適応させ得る。たとえば、ある予測モードが、前にコーディングされたＣＵまたはブロックのための他の予測モードよりも頻繁に発生すると判断された場合、その予測モードは、他の予測モードよりも短いＶＬＣコードワードを割り当てられ得る。
【０１０８】
本開示の一態様によれば、インターコード化フレーム、たとえばＢフレームまたはＰフレームをコーディングするために、コーダは、そのようなフレームにおいて１つまたは複数のイントラコード化予測モードに専用コードワードを割り当て得る。この例によれば、インターコード化フレームのＣＵがコーディングされるので、コーダは、インターコード化モードまたは他の予測モードには対応するが、イントラコード化予測モードには対応しないＶＬＣコードワードを適応的に割り当て得る。これらの技法によれば、計算量を低減することによってコーディング効率が改善され得る。
【０１０９】
図６は、本開示の技法に一致するビデオエンコーダ２００によって実行され得る技法の一例を示す流れ図である。図６に示すように、ビデオエンコーダ２００は、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのコーディングユニット（たとえば、図４に示すＣＵ４０１）を受信する（６０１）。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、ルーマ成分（Ｙ）、第１のクロマ成分（Ｕ）、および第２のクロマ成分（Ｖ）の各々が非ゼロ係数を含むか否かを判断する（６０２）。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、ルーマ成分（Ｙ）、第１のクロマ成分（Ｕ）、および第２のクロマ成分（Ｖ）の各々が、互いに無関係に非ゼロ係数を含むか否かをまとめて示すＣＵのためのコード化ブロックパターン（ＣＢＰ）を生成する（６０３）。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、ＣＵのための生成されたＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングする（６０４）。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、単一のＶＬＣコードワードを出力する（６０５）。単一のＶＬＣコードワードは、デコーダに対して、ルーマ成分（Ｙ）、第１のクロマ成分（Ｕ）、および第２のクロマ成分（Ｖ）の各々が非ゼロ係数を含むか否かを識別し得る。
【０１１０】
図７は、本開示の技法に一致するビデオデコーダ３００によって実行され得る技法の一例を示す流れ図である。図７に示すように、ビデオデコーダ３００（たとえば、ＣＢＰ復号モジュール３５０）は、ルーマ成分（Ｙ）と第１のクロマ成分（Ｕ）と第２のクロマ成分（Ｖ）とを含むビデオデータのコーディングユニット（ＣＵ）のための可変長コード（ＶＬＣ）コードワードを受信する（７０１）。ビデオデコーダ３００（たとえば、ＣＢＰ復号モジュール３５０）は、ＶＬＣコードワードに基づいて、ＣＵのためのコード化ブロックパターン（ＣＢＰ）を判断する（７０２）。ＣＵについてのＣＢＰは、ルーマ成分（Ｙ）、第１のクロマ成分（Ｕ）、および第２のクロマ成分（Ｖ）の各々が非ゼロ係数を含むか否かを個別に示す。ビデオデコーダ３００は、判断されたＣＢＰに基づいてＣＵを復号する（６０３）。たとえば、ビデオデコーダ３００は、ルーマ成分（Ｙ）、第１のクロマ成分（Ｕ）、および／または第２のクロマ成分（Ｖ）のうちの１つまたは複数の変換係数を復号すべきか否かを、ＣＢＰが、それぞれの成分が非ゼロ係数を含むことを示すか否かに基づいて判断し得る。
【０１１１】
図８は、本開示の技法に一致するビデオエンコーダ２００によって実行され得る技法の一例を示す流れ図である。図８に示すように、ビデオエンコーダ２００は、複数のブロックを含むビデオデータのコーディングユニット（たとえば、図４および図５にそれぞれ示すＣＵ５０１）を受信する（８０１）。たとえば、ＣＵは、図５に示すように４つの等しいサイズのブロックに分割され得る。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、複数のブロックの各ブロックについて、それぞれのブロックが非ゼロ係数を含むかどうかを判断する（８０２）。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、ビデオ成分について、複数のブロックの各個のブロックが非ゼロ係数を含むか否かを（たとえば、複数のＣＢＦを介して）示すコード化ブロックパターン（ＣＢＰ）をＣＵの各ビデオ成分について生成する（８０３）。ビデオエンコーダ２００（たとえば、ＣＢＰ符号化モジュール２５０）は、ＣＢＰを単一の可変長コード（ＶＬＣ）コードワードにマッピングする（８０４）。ビデオエンコーダ２００は、各ビデオ成分について単一のＶＬＣコードワードを出力する（８０５）。単一のＶＬＣコードワードは、デコーダに対して、ＣＵのビデオ成分について、複数のブロックの各ブロックが非ゼロ係数を含むか否かを識別し得る。
【０１１２】
図９は、本開示の技法に一致するビデオデコーダ３００によって実行され得る技法の一例を示す流れ図である。図９に示すように、ビデオデコーダ３００（たとえば、ＣＢＰ復号モジュール３５０）は、複数のブロックを含むビデオデータのコーディングユニット（ＣＵ）のビデオ成分のための可変長コード（ＶＬＣ）コードワードを受信する（９０１）。ビデオデコーダ３００（たとえば、ＣＢＰ復号モジュール３５０）は、受信したＶＬＣコードワードに基づいて、ＣＵのビデオ成分のためのコード化ブロックパターン（ＣＢＰ）を判断する（９０２）。たとえば、ビデオデコーダ３００は、ＶＬＣコードワードをＣＵについてのＣＢＰにマッピングするために、１つまたは複数のＶＬＣテーブルにアクセスし得る。ビデオデコーダ３００（たとえば、ＣＢＰ復号モジュール３５０）は、ＣＢＰに基づいて、ＣＵのビデオ成分の複数のブロックの各々が非ゼロ係数を含むか否かを判断する（９０３）。ビデオデコーダ３００は、ＣＵの複数のブロックの各々が非ゼロ係数を含むか否かに基づいてＣＵを復号する（９０４）。たとえば、ＣＵについてのＣＢＰが、複数のブロックの特定のブロックが非ゼロ係数を含むことを示す場合、ビデオデコーダは特定のブロックの変換係数を復号し得る。しかしながら、ＣＢＰが、特定のブロックが非ゼロ係数を含まないことを示す場合、ビデオデコーダ３００はブロックを復号し得ない。
【０１１３】
図１０は、本開示の技法に一致するビデオエンコーダ２００によって実行され得る技法の一例を示す流れ図である。図１０に示すように、ビデオエンコーダ２００は、ビデオデータのＣＵ（たとえば、図４および図５にそれぞれ示すＣＵ４０１、ＣＵ５０１）を受信する（１００１）。図１０の例によれば、ビデオエンコーダ２００は、コーディングされているＣＵの予測モードに基づいて、ＶＬＣテーブルを適応的に変更することもしないこともある。たとえば、ビデオエンコーダ２００は、ＣＵのための予測モードがインター予測モードであるかどうかを判断する（１００２）。予測モードがインター予測モードを備える場合、ビデオエンコーダ２００は、少なくとも１つのＶＬＣコードワードと少なくとも１つの関連する予測モード値との間のマッピングを適応的に更新する（１００３）。たとえば、ビデオエンコーダ２００は、予測モードを表すＶＬＣコードワードを変更し得る。一例として、ビデオエンコーダ２００は、ＣＵの予測モードを表すために異なるビット長をもつＶＬＣコードワードを使用し得る。
【０１１４】
ＣＵがインター予測モードを含まない場合（たとえば、イントラ予測モード）、ビデオエンコーダ２００は、予測モードを表すために同じＶＬＣテーブル中の専用コードワードを使用する（１００４）。たとえば、ビデオデコーダは、１００３に示すように、予測モードに関連するＶＬＣコードワードを適応的に更新しないことがある。代わりに、ビデオエンコーダ２００は、予測モードを表すために、ＶＬＣテーブル中の特定のＶＬＣコードワード（たとえば、同じビット長）を割り当て、維持し得る。
【０１１５】
図１１は、本開示の技法に一致するビデオデコーダ３００によって実行され得る技法の一例を示す流れ図である。図１１に示すように、ビデオデコーダ３００は、ビデオデータのコーディングユニット（ＣＵ）を受信する（１１０１）。ビデオデコーダ３００は、ＣＵの予測モードを復号する（１１０２）。ＣＵの復号された予測モードがインター予測モードを備える場合、ビデオデコーダ３００は、予測モードを表す少なくとも１つのＶＬＣコードワードのためのマッピングを更新する（１１０３）。しかしながら、ＣＵの復号された予測モードがイントラ予測モードを備える場合、ビデオデコーダ３００は、予測モードを表すＶＬＣコードワードのマッピングのための更新を実行しない（１１０４）。
【０１１６】
図１２Ａおよび図１２Ｂは、例示的な４分木７５０と対応する最大ＣＵ７７２とを示す概念図である。図１２Ａに、階層様式で構成されたノードを含む例示的な４分木７５０を示す。４分木７５０などの４分木中の各ノードは、子のないリーフノード（leaf node）であるか、または４つの子ノードを有し得る。図１２Ａの例では、４分木７５０はルートノード７５２を含む。ルートノード７５２は、リーフノード７５６Ａ〜７５６Ｃ（リーフノード７５６）とノード７５４とを含む、４つの子ノードを有する。ノード７５４がリーフノードでないので、ノード７５４は、この例では、リーフノード７５８Ａ〜７５８Ｄ（リーフノード７５８）である４つの子ノードを含む。
【０１１７】
４分木７５０は、この例ではＬＣＵ７７２などの対応する最大ＣＵ（largest CU）（ＬＣＵ）の特性を記述するデータを含み得る。たとえば、４分木７５０は、それの構造によって、サブＣＵへのＬＣＵの分割を記述し得る。ＬＣＵ７７２が２Ｎ×２Ｎのサイズを有すると仮定する。ＬＣＵ７７２は、図１２Ｂの例に示すように、各々のサイズがＮ×Ｎである、４つのサブＣＵ７７６Ａ〜７７６Ｃ（サブＣＵ７７６）および７７４を有する。サブＣＵ７７４は、各々のサイズがＮ／２×Ｎ／２である４つのサブＣＵ７７８Ａ〜７７８Ｄ（サブＣＵ７７８）にさらに分割される。この例では、４分木７５０の構造は、ＬＣＵ７７２の分割に対応する。すなわち、ルートノード７５２はＬＣＵ７７２に対応し、リーフノード７５６はサブＣＵ７７６に対応し、ノード７５４はサブＣＵ７７４に対応し、リーフノード７５８はサブＣＵ７７８に対応する。
【０１１８】
４分木７５０のノードのためのデータは、ノードに対応するＣＵが分割されたかどうかを記述し得る。ＣＵが分割された場合、４つの追加のノードは４分木７５０中に存在し得る。４分木のノードは、ｓｐｌｉｔ＿ｆｌａｇ値など、対応するＣＵが分割されたかどうかのインジケータを含み得る。ｓｐｌｉｔ＿ｆｌａｇ値は、現在のノードに対応するＣＵが分割されたかどうかを表す１ビット値であり得る。ＣＵが分割されない場合、ｓｐｌｉｔ＿ｆｌａｇ値は「０」であり得るが、ＣＵが分割された場合、ｓｐｌｉｔ＿ｆｌａｇ値は「１」であり得る。４分木７５０の例に関して、ルートノードからリーフノードにレベル単位で進む、分割されたフラグ値のアレイの例は、「１，０１００，００００」である。
【０１１９】
説明したように、本開示の様々な技法は、特定の機械を備え得るビデオエンコーダ、またはビデオデコーダによって実行され得る。本開示のビデオエンコーダおよびデコーダは、ワイヤレスハンドセットおよび集積回路（ＩＣ）またはＩＣのセット（すなわち、チップセット）を含む、多種多様なデバイスまたは装置において使用または開発され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。
【０１２０】
したがって、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装され得る。また、モジュールまたは構成要素として説明する特徴は、集積論理デバイスに一緒に、またはディスクリートであるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたときに、上記で説明した方法の１つまたは複数を実行する命令を備える有形コンピュータ可読記憶媒体によって少なくとも部分的に実現され得る。有形（tangible）コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがある、コンピュータプログラム製品の一部を形成し得る。
【０１２１】
有形コンピュータ可読記憶媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセス、読取り、および／または実行され得るコンピュータ可読通信媒体に少なくとも部分的によって実現され得る。
【０１２２】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得るまた、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１２３】
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
【図１】
2013524734.tif 000005
【図２】
2013524734.tif 000006
【図３】
2013524734.tif 000007
【図４】
2013524734.tif 000008
【図５】
2013524734.tif 000009
【図６】
2013524734.tif 000010
【図７】
2013524734.tif 000011
【図８】
2013524734.tif 000012
【図９】
2013524734.tif 000013
【図１０】
2013524734.tif 000014
【図１１】
2013524734.tif 000015
【図１２Ａ】
2013524734.tif 000016
【図１２Ｂ】
2013524734.tif 000017
【国際調査報告】
2013524734.tif 000018
2013524734.tif 000019
2013524734.tif 000020
2013524734.tif 000021
2013524734.tif 000022
2013524734.tif 000023
2013524734.tif 000024