(57)【要約】  一例では、ビデオデコーダは、ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、それらの判断に基づいて変換ユニットを復号することとを行うように構成される。別の例では、ビデオエンコーダは、ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、可変長コードテーブルからコードワードを選択することであって、可変長コードテーブルは、コードワードが判断に対応するという指示を与える、選択することと、変換ユニットのためのコードワードを与えることとを行うように構成される。
2013546257.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、前記変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、
前記コードワードに基づいて、前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、
前記判断に基づいて前記変換ユニットを復号することと
を備える、方法。
【請求項２】
前記成分が前記変換ユニットの第１の成分を備え、前記方法は、前記コードワードに基づいて、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断することをさらに備える、請求項１に記載の方法。
【請求項３】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、前記方法は、前記コードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを判断することをさらに備える、請求項１に記載の方法。
【請求項４】
前記コードワードが第１のコードワードを備え、前記第１のコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断することは、前記第１のコードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むと判断した後に、前記変換ユニットの第２の異なるコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断することを備え、前記方法は、
前記第２のコードワードに基づいて、前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断すること
をさらに備える、請求項３に記載の方法。
【請求項５】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、第２の異なる成分とを含み、前記方法は、
前記親変換ユニットの前記第２の成分が非０係数を含まないとき、前記コードワードと無関係に、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の異なる成分も非０係数を含まないと判断すること
をさらに備える、請求項１に記載の方法。
【請求項６】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットの複数のサブ変換ユニットのうちの１つを備え、前記親変換ユニットが、前記複数のサブ変換ユニットのうちの前記１つの前記第１の成分に対応する第１の成分と、第２の異なる成分とを含み、前記方法は、
前記親変換ユニットの前記第２の成分が少なくとも１つの非０係数を含むとき、および前記親変換ユニットの前記第２の成分に対応する前記複数のサブ変換ユニットのうちの前記１つ以外の前記複数のサブ変換ユニットの各々の第２の成分が非０係数を含まないとき、前記コードワードと無関係に、前記親変換ユニットの前記第２の成分に対応する前記複数のサブ変換ユニットのうちの前記１つの第２の異なる成分が少なくとも１つの非０係数を含むと判断すること
をさらに備える、請求項１に記載の方法。
【請求項７】
前記変換ユニットのコンテキストに基づいて可変長コードテーブルを選択することであって、前記コンテキストが、前記変換ユニットに対応する予測ユニットの予測モードと、前記変換ユニットのパーティションレベルと、前記コードワードによって表される前記変換ユニットの成分の数とのうちの少なくとも１つを含む、選択すること
をさらに備え、
前記コードワードに基づいて、前記成分が少なくとも１つの非０係数を含むかどうかを判断することは、前記成分が少なくとも１つの非０係数を含むことを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断することを備え、
前記コードワードに基づいて、前記変換ユニットが前記サブ変換ユニットに分割されるかどうかを判断することは、前記変換ユニットが前記サブ変換ユニットに分割されることを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断することを備える、
請求項１に記載の方法。
【請求項８】
前記判断に基づいて前記可変長コードテーブルを更新することをさらに備える、請求項７に記載の方法。
【請求項９】
前記コードワードに基づいて、前記変換ユニットが前記サブ変換ユニットに分割されるかどうかを判断することは、前記変換ユニットが前記サブ変換ユニットに分割されることを前記コードワードが表すと判断することを備え、前記サブ変換ユニットが前記コーディングユニットのための最小サイズの変換ユニットに対応し、前記方法は、前記サブ変換ユニットのそれぞれのコードワードと無関係に、前記コーディングユニットのための前記最小サイズの変換ユニットに対応する前記サブ変換ユニットに基づいて、前記サブ変換ユニットがさらなるサブ変換ユニットに分割されないと判断することをさらに備える、請求項１に記載の方法。
【請求項１０】
前記変換ユニットが前記コーディングユニットの親変換ユニットの複数のサブ変換ユニットのうちの１つを備え、前記親変換ユニットが前記コーディングユニットの最大許容サイズよりも大きいサイズを有し、前記方法は、前記親変換ユニットのそれぞれのコードワードと無関係に、前記コーディングユニットの前記最大許容サイズよりも大きい前記サイズを有する前記親変換ユニットに基づいて、前記親変換ユニットが前記複数のサブ変換ユニットに分割されると判断することをさらに備える、請求項１に記載の方法。
【請求項１１】
前記コードワードが第１のコードワードを備え、前記第１のコードワードに基づいて、前記変換ユニットが前記サブ変換ユニットに分割されるかどうかを判断することは、前記変換ユニットが前記サブ変換ユニットに分割されることを前記第１のコードワードが表すと判断することを備え、前記方法は、前記サブ変換ユニットの第２の異なるコードワードに基づいて、前記サブ変換ユニットがさらなるサブ変換ユニットに分割されるかどうかを判断することをさらに備える、請求項１に記載の方法。
【請求項１２】
ビデオデータを復号するための装置であって、前記装置は、ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、前記変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、前記コードワードに基づいて、前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、前記判断に基づいて前記変換ユニットを復号することとを行うように構成されたビデオデコーダを備える、装置。
【請求項１３】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、前記ビデオデコーダは、前記コードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成された、請求項１２に記載の装置。
【請求項１４】
前記コードワードが第１のコードワードを備え、前記第１のコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するために、前記ビデオデコーダは、前記第１のコードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むと判断した後に、前記変換ユニットの第２の異なるコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するように構成され、前記ビデオデコーダは、
前記第２のコードワードに基づいて、前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断する
ようにさらに構成された、請求項１３に記載の装置。
【請求項１５】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、第２の異なる成分とを含み、前記ビデオデコーダは、前記親変換ユニットの前記第２の成分が非０係数を含まないとき、前記コードワードと無関係に、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の異なる成分も非０係数を含まないと判断するようにさらに構成された、請求項１２に記載の装置。
【請求項１６】
前記ビデオデコーダは、前記変換ユニットのコンテキストに基づいて可変長コードテーブルを選択することであって、前記コンテキストが、前記変換ユニットに対応する予測ユニットの予測モードと、前記変換ユニットのパーティションレベルと、前記コードワードによって表される前記変換ユニットの成分の数とのうちの少なくとも１つを含む、選択することを行うようにさらに構成され、前記コードワードに基づいて、前記成分が少なくとも１つの非０係数を含むかどうかを判断するために、前記ビデオデコーダは、前記成分が少なくとも１つの非０係数を含むことを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断するように構成され、前記コードワードに基づいて、前記変換ユニットが前記サブ変換ユニットに分割されるかどうかを判断するために、前記ビデオデコーダは、前記変換ユニットが前記サブ変換ユニットに分割されることを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断するように構成された、請求項１２に記載の装置。
【請求項１７】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項１２に記載の装置。
【請求項１８】
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、前記変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断するための手段と、
前記コードワードに基づいて、前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断するための手段と、
前記判断に基づいて前記変換ユニットを復号するための手段と
を備える、装置。
【請求項１９】
前記成分が前記変換ユニットの第１の成分を備え、前記コードワードに基づいて、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断するための手段をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、前記コードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを判断するための手段をさらに備える、請求項１８に記載の装置。
【請求項２１】
前記コードワードが第１のコードワードを備え、前記第１のコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するための前記手段は、前記第１のコードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むと判断した後に、前記変換ユニットの第２の異なるコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するための手段を備え、
前記第２のコードワードに基づいて、前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するための手段
をさらに備える、請求項２０に記載の装置。
【請求項２２】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、第２の異なる成分とを含み、
前記親変換ユニットの前記第２の成分が非０係数を含まないとき、前記コードワードと無関係に、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の異なる成分も非０係数を含まないと判断するための手段
をさらに備える、請求項１８に記載の装置。
【請求項２３】
前記変換ユニットのコンテキストに基づいて可変長コードテーブルを選択するための手段であって、前記コンテキストが、前記変換ユニットに対応する予測ユニットの予測モードと、前記変換ユニットのパーティションレベルと、前記コードワードによって表される前記変換ユニットの成分の数とのうちの少なくとも１つを含む、選択するための手段
をさらに備え、
前記コードワードに基づいて、前記成分が少なくとも１つの非０係数を含むかどうかを判断するための前記手段は、前記成分が少なくとも１つの非０係数を含むことを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断するための手段を備え、
前記コードワードに基づいて、前記変換ユニットが前記サブ変換ユニットに分割されるかどうかを判断するための前記手段は、前記変換ユニットが前記サブ変換ユニットに分割されることを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断するための手段を備える、
請求項１８に記載の装置。
【請求項２４】
実行されたとき、
ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、前記変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、
前記コードワードに基づいて、前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、
前記判断に基づいて前記変換ユニットを復号することと
を、ビデオデータを復号するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項２５】
前記成分が前記変換ユニットの第１の成分を備え、前記コードワードに基づいて、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる命令をさらに備える、請求項２４に記載のコンピュータプログラム製品。
【請求項２６】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、前記コードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる命令をさらに備える、請求項２４に記載のコンピュータプログラム製品。
【請求項２７】
前記コードワードが第１のコードワードを備え、前記第１のコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる前記命令は、前記第１のコードワードに基づいて、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むと判断した後に、前記変換ユニットの前記第２の異なるコードワードに基づいて、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる命令を備え、前記第２のコードワードに基づいて、前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる命令をさらに備える、請求項２６に記載のコンピュータプログラム製品。
【請求項２８】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、第２の異なる成分とを含み、前記親変換ユニットの前記第２の成分が非０係数を含まないとき、前記コードワードと無関係に、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の異なる成分も非０係数を含まないと判断することを前記プロセッサに行わせる命令をさらに備える、請求項２４に記載のコンピュータプログラム製品。
【請求項２９】
前記変換ユニットのコンテキストに基づいて可変長コードテーブルを選択することを前記プロセッサに行わせる命令であって、前記コンテキストが、前記変換ユニットに対応する予測ユニットの予測モードと、前記変換ユニットのパーティションレベルと、前記コードワードによって表される前記変換ユニットの成分の数とのうちの少なくとも１つを含む、命令をさらに備え、
前記コードワードに基づいて、前記成分が少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる前記命令は、前記成分が少なくとも１つの非０係数を含むことを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断することを前記プロセッサに行わせる命令を備え、
前記コードワードに基づいて、前記変換ユニットが前記サブ変換ユニットに分割されるかどうかを判断することを前記プロセッサに行わせる前記命令は、前記変換ユニットが前記サブ変換ユニットに分割されることを前記コードワードが表すことを前記可変長コードテーブルが示すかどうかを判断することを前記プロセッサに行わせる命令を備える、
請求項２４に記載のコンピュータプログラム製品。
【請求項３０】
ビデオデータを符号化する方法であって、前記方法は、
ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、
前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、
可変長コードテーブルからコードワードを選択することであって、前記可変長コードテーブルは、前記コードワードが前記判断に対応するという指示を与える、選択することと、
前記変換ユニットのための前記コードワードを与えることと
を備える、方法。
【請求項３１】
前記成分が前記変換ユニットの第１の成分を備え、前記方法は、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断することをさらに備え、前記可変長コードテーブルは、前記コードワードが前記第２の成分についての前記判断に対応することをさらに示す、請求項３０に記載の方法。
【請求項３２】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、前記方法は、
前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断すること
をさらに備え、
前記可変長コードテーブルから前記コードワードを選択することは、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを前記コードワードが表すという指示を前記可変長コードテーブルが与えるように前記コードワードを選択することを備える、
請求項３０に記載の方法。
【請求項３３】
前記コードワードが第１のコードワードを備え、前記可変長コードテーブルが第１の可変長コードテーブルを備え、前記方法は、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むとき、
第２の異なる可変長コードテーブルから第２の異なるコードワードを選択することであって、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうか、および前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを前記第２のコードワードが表すという指示を前記第２の可変長コードテーブルが与える、選択することと、
前記変換ユニットのための前記第２のコードワードを与えることと
をさらに備える、請求項３２に記載の方法。
【請求項３４】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、非０係数を含まない第２の異なる成分とを含み、前記可変長コードテーブルが、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の成分の係数の値についての指示を与えない、請求項３０に記載の方法。
【請求項３５】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが、前記コーディングユニットの親変換ユニットの複数のサブ変換ユニットのうちの１つを備え、前記親変換ユニットが、前記複数のサブ変換ユニットのうちの前記１つの前記第１の成分に対応する第１の成分と、少なくとも１つの非０係数を含む第２の異なる成分とを含み、前記親変換ユニットの前記第２の成分に対応する前記複数のサブ変換ユニットのうちの前記１つ以外の前記複数のサブ変換ユニットの成分が非０係数を含まず、前記可変長コードテーブルが、前記親変換ユニットの前記第２の成分に対応する前記複数のサブ変換ユニットのうちの前記１つの第２の成分の係数の値についての指示を与えない、請求項３０に記載の方法。
【請求項３６】
前記変換ユニットが前記サブ変換ユニットに分割され、前記サブ変換ユニットが前記コーディングユニットのための最小サイズの変換ユニットに対応し、前記方法は、前記それぞれのサブ変換ユニットがさらなるサブ変換ユニットに分割されるかどうかを示さない１つまたは複数の可変長コードテーブルから、前記サブ変換ユニットの１つまたは複数の成分が少なくとも１つの非０係数を含むかどうかを表す１つまたは複数のコードワードを選択することをさらに備える、請求項３０に記載の方法。
【請求項３７】
前記変換ユニットが、前記コーディングユニットの親変換ユニットの複数のサブ変換ユニットのうちの１つを備え、前記親変換ユニットが、前記コーディングユニットの最大許容サイズよりも大きいサイズを有し、前記方法は、前記親変換ユニットが前記複数のサブ変換ユニットに分割されるかどうかを示さない１つまたは複数の可変長コードテーブルから、前記親変換ユニットの１つまたは複数の成分が少なくとも１つの非０係数を含むかどうかを表す１つまたは複数のコードワードを選択することをさらに備える、請求項３０に記載の方法。
【請求項３８】
前記変換ユニットのコンテキストに基づいて前記可変長コードテーブルを選択することであって、前記コンテキストが、前記変換ユニットに対応する予測ユニットの予測モードと、前記変換ユニットのパーティションレベルと、前記コードワードによって表されるべき前記変換ユニットの成分の数とのうちの少なくとも１つを含む、選択することをさらに備える、請求項３０に記載の方法。
【請求項３９】
前記コードワードが第１のコードワードを備え、前記変換ユニットが前記サブ変換ユニットに分割され、前記方法は、
前記サブ変換ユニットがさらなるサブ変換ユニットに分割されるかどうかを表す第２の異なるコードワードを選択することと、
前記サブ変換ユニットのための前記第２のコードワードを与えることと
をさらに備える、請求項３０に記載の方法。
【請求項４０】
前記判断に基づいて前記可変長コードテーブルを更新することをさらに備える、請求項３０に記載の方法。
【請求項４１】
ビデオデータを符号化するための装置であって、前記装置は、
ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、
前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、
可変長コードテーブルからコードワードを選択することであって、前記可変長コードテーブルは、前記コードワードが前記判断に対応するという指示を与える、選択することと、
前記変換ユニットのための前記コードワードを与えることと
を行うように構成されたビデオエンコーダを備える、装置。
【請求項４２】
前記成分が前記変換ユニットの第１の成分を備え、前記ビデオエンコーダは、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され、前記可変長コードテーブルは、前記コードワードが前記第２の成分についての前記判断に対応することをさらに示す、請求項４１に記載の装置。
【請求項４３】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、前記ビデオエンコーダは、前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され、前記可変長コードテーブルから前記コードワードを選択するために、前記ビデオエンコーダは、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを前記コードワードが表すという指示を前記可変長コードテーブルが与えるように前記コードワードを選択するように構成された、請求項４１に記載の装置。
【請求項４４】
前記コードワードが第１のコードワードを備え、前記可変長コードテーブルが第１の可変長コードテーブルを備え、前記ビデオエンコーダは、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むとき、第２の異なる可変長コードテーブルから第２の異なるコードワードを選択することであって、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうか、および前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを前記第２のコードワードが表すという指示を前記第２の可変長コードテーブルが与える、選択することと、前記変換ユニットのための前記第２のコードワードを与えることとを行うようにさらに構成された、請求項４３に記載の装置。
【請求項４５】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、非０係数を含まない第２の異なる成分とを含み、前記可変長コードテーブルが、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の成分の係数の値についての指示を与えない、請求項４１に記載の装置。
【請求項４６】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記ビデオエンコーダを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項４１に記載の装置。
【請求項４７】
ビデオデータを符号化するための装置であって、前記装置は、
ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断するための手段と、
前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断するための手段と、
可変長コードテーブルからコードワードを選択するための手段であって、前記可変長コードテーブルは、前記コードワードが前記判断に対応するという指示を与える、選択するための手段と、
前記変換ユニットのための前記コードワードを与えるための手段と
を備える、装置。
【請求項４８】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断するための手段をさらに備え、前記可変長コードテーブルは、前記コードワードが前記第２の成分についての前記判断に対応することをさらに示す、請求項４７に記載の装置。
【請求項４９】
前記成分が前記変換ユニットの第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、
前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するための手段
をさらに備え、
前記可変長コードテーブルから前記コードワードを選択するための前記手段は、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを前記コードワードが表すという指示を前記可変長コードテーブルが与えるように前記コードワードを選択するための手段を備える、
請求項４７に記載の装置。
【請求項５０】
前記コードワードが第１のコードワードを備え、前記可変長コードテーブルが第１の可変長コードテーブルを備え、
前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むとき、第２の異なる可変長コードテーブルから第２の異なるコードワードを選択するための手段であって、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうか、および前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを前記第２のコードワードが表すという指示を前記第２の可変長コードテーブルが与える、選択するための手段と、
前記変換ユニットのための前記第２のコードワードを与えるための手段と
をさらに備える、請求項４９に記載の装置。
【請求項５１】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、非０係数を含まない第２の異なる成分とを含み、前記可変長コードテーブルが、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の成分の係数の値についての指示を与えない、請求項４７に記載の装置。
【請求項５２】
実行されたとき、
ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、
前記変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、
可変長コードテーブルからコードワードを選択することであって、前記可変長コードテーブルは、前記コードワードが前記判断に対応するという指示を与える、選択することと、
前記変換ユニットのための前記コードワードを与えることと
を、ビデオデータを符号化するためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項５３】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットの第２の異なる成分が少なくとも１つの非０係数を含むかどうかを判断することを前記プロセッサに行わせる命令をさらに備え、前記可変長コードテーブルは、前記コードワードが前記第２の成分についての前記判断に対応することをさらに示す、請求項５２に記載のコンピュータプログラム製品。
【請求項５４】
前記成分が第１のクロミナンス成分を備え、前記変換ユニットが第２の異なるクロミナンス成分をさらに備え、
前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断すること
を前記プロセッサに行わせる命令をさらに備え、
前記可変長コードテーブルから前記コードワードを選択することを前記プロセッサに行わせる前記命令は、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを前記コードワードが表すという指示を前記可変長コードテーブルが与えるように前記コードワードを選択することを前記プロセッサに行わせる命令を備える、
請求項５２に記載のコンピュータプログラム製品。
【請求項５５】
前記コードワードが第１のコードワードを備え、前記可変長コードテーブルが第１の可変長コードテーブルを備え、前記第１のクロミナンス成分と前記第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むとき、、
第２の異なる可変長コードテーブルから第２の異なるコードワードを選択することであって、前記第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうか、および前記第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを前記第２のコードワードが表すという指示を前記第２の可変長コードテーブルが与える、選択することと、
前記変換ユニットのための前記第２のコードワードを与えることと
を前記プロセッサに行わせる命令をさらに備える、請求項５４に記載のコンピュータプログラム製品。
【請求項５６】
前記成分が前記変換ユニットの第１の成分を備え、前記変換ユニットが前記コーディングユニットの親変換ユニットのサブ変換ユニットを備え、前記親変換ユニットが、前記サブ変換ユニットの前記第１の成分に対応する第１の成分と、非０係数を含まない第２の異なる成分とを含み、前記可変長コードテーブルが、前記親変換ユニットの前記第２の成分に対応する前記サブ変換ユニットの第２の成分の係数の値についての指示を与えない、請求項５２に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第１１９条による優先権の主張
本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１０年１１月１日に出願された米国仮出願第６１／４０９，０５２号と、２０１０年１１月２日に出願された米国仮出願第６１／４０９，４７１号と、２０１１年１月１３日に出願された米国仮出願第６１／４３２，５４８号と、２０１１年１月２３日に出願された米国仮出願第６１／４３５，３４４号と、２０１１年３月４日に出願された米国仮出願第６１／４４９，５５６号と、２０１１年３月８日に出願された米国仮出願第６１／４５０，５５４号と、２０１１年３月１０日に出願された米国仮出願第６１／４５１，４４８号との利益を主張する。
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、コード化ビデオデータのためのシンタックス情報に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）のための今度の規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはビデオブロックに区分され得る。各ビデオブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のビデオブロックは、隣接ビデオブロックに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のビデオブロックは、同じフレームまたはスライス中の隣接ビデオブロックに対する空間的予測、あるいは他の参照フレームに対する時間的予測を使用して符号化され得る。
【発明の概要】
【０００５】
概して、本開示は、ビデオデータのコーディングユニット（ＣＵ：coding unit）の変換ユニット（ＴＵ：transform unit）のためのコード化ブロックフラグ（ＣＢＦ：coded block flag）および変換分割フラグ（ＴＳＦ：transform split flag）シンタックス要素をコーディングするための技法について説明する。ＴＵは、ＣＵの１つまたは複数の成分（たとえば、クロミナンス成分およびルミナンス成分）のための残差データを含む。ＴＵのためのＣＢＦは、ＣＵのそれぞれの成分のためのＴＵの残差データが少なくとも１つの非０係数を含むかどうかを示す。ＴＵのためのＴＳＦは、ＴＵがサブＴＵに区分または「分割」されるかどうかを示す。本開示の技法は、圧縮効率を改善し得る、ＴＵのためのＣＢＦとＴＳＦとをジョイントコーディングすることを含む。
【０００６】
一例では、ビデオデータを復号する方法は、ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、それらの判断に基づいて変換ユニットを復号することとを含む。
【０００７】
別の例では、ビデオデータを復号するための装置は、ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、それらの判断に基づいて変換ユニットを復号することとを行うように構成されたビデオデコーダを含む。
【０００８】
別の例では、ビデオデータを復号するための装置は、ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断するための手段と、コードワードに基づいて、変換ユニットがサブ変換ユニットに分割されるかどうかを判断するための手段と、それらの判断に基づいて変換ユニットを復号するための手段とを含む。
【０００９】
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータのコーディングユニットの変換ユニットのコードワードに基づいて、変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、それらの判断に基づいて変換ユニットを復号することとをプログラマブルプロセッサに行わせる命令を記憶したコンピュータ可読媒体を含む。
【００１０】
別の例では、ビデオデータを符号化する方法は、ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、可変長コードテーブルからコードワードを選択することであって、可変長コードテーブルは、コードワードが判断に対応するという指示を与える、選択することと、変換ユニットのためのコードワードを与えることとを含む。この例では、本方法は、コードワードをビットストリーム中に送ることをさらに含み得る。
【００１１】
別の例では、ビデオデータを符号化するための装置は、ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、可変長コードテーブルからコードワードを選択することであって、可変長コードテーブルは、コードワードが判断に対応するという指示を与える、選択することと、変換ユニットのためのコードワードを与えることとを行うように構成されたビデオエンコーダを含む。この例では、ビデオエンコーダは、コードワードをビットストリーム中に送るようにさらに構成され得る。
【００１２】
別の例では、ビデオデータを符号化するための装置は、ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断するための手段と、変換ユニットがサブ変換ユニットに分割されるかどうかを判断するための手段と、可変長コードテーブルからコードワードを選択するための手段であって、可変長コードテーブルは、コードワードが判断に対応するという指示を与える、選択するための手段と、変換ユニットのためのコードワードを与えるための手段とを含む。この例では、本装置は、コードワードをビットストリーム中に送るための手段をさらに含み得る。
【００１３】
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオデータのコーディングユニットの変換ユニットの成分が少なくとも１つの非０係数を含むかどうかを判断することと、変換ユニットがサブ変換ユニットに分割されるかどうかを判断することと、可変長コードテーブルからコードワードを選択することであって、可変長コードテーブルは、コードワードが判断に対応するという指示を与える、選択することと、変換ユニットのためのコードワードを与えることとをプロセッサに行わせる命令を記憶したコンピュータ可読媒体を含む。この例では、コンピュータプログラム製品は、コードワードをビットストリーム中に送ることをプロセッサに行わせる命令をさらに備え得る。
【００１４】
本開示の１つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１５】
【図１】ビデオデータのコーディングユニット（ＣＵ）の変換ユニット（ＴＵ）のための１つまたは複数のコード化ブロックフラグ（ＣＢＦ）と変換分割フラグ（ＴＳＦ）とをジョイントコーディングするための技法を実装し得るビデオ符号化および復号システムの一例を示すブロック図。
【図２】ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】ビデオデータのＣＵのＴＵのためのジョイント符号化された１つまたは複数のＣＢＦとＴＳＦとを復号するための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】ビデオデータのＣＵのＴＵの例を示す概念図。
【図５Ａ】ビデオデータのＣＵのＴＵの一例を示す概念図。
【図５Ｂ】図５ＡのＴＵのためのパーティション情報を表す残差４分木変換データ構造の一例を示す概念図。
【図５Ｃ】ビデオデータのＣＵのＴＵのための一様なパーティション構造の一例を示す概念図。
【図６】ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するための例示的な方法を示すフローチャート。
【図７】ビデオデータのＣＵのＴＵのためのジョイント符号化された１つまたは複数のＣＢＦとＴＳＦとを復号するための例示的な方法を示すフローチャート。
【図８】ビデオデータのＣＵのＴＵのためのルミナンスＣＢＦと、クロミナンスＣＢＦと、ＴＳＦとをジョイント符号化するための例示的な方法を示すフローチャート。
【図９】ビデオデータのＣＵのＴＵのためのジョイント符号化されたルミナンスＣＢＦと、クロミナンスＣＢＦと、ＴＳＦとを復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１６】
概して、本開示では、ビデオデータのコーディングユニット（ＣＵ）の変換ユニット（ＴＵ）のためのコード化ブロックフラグ（ＣＢＦ）および変換分割フラット（ＴＳＦ）シンタックス要素をコーディングするための技法について説明する。本開示では、「コーディング」は、概して、エンコーダにおいてビデオデータを符号化することと、デコーダにおいてビデオデータを復号することの両方を指す。ＣＵは、概して、ＣＵの予測データをどのように形成すべきかを示す１つまたは複数の予測ユニット（ＰＵ：prediction unit）を含む。ＴＵは、残差データ、すなわち、元のビデオデータと予測データとの間のピクセルごとの差分、または、残差データの変換バージョン、すなわち、変換係数を含む。ビデオデータのフレームはいくつかの最大ＣＵ（ＬＣＵ：largest CU）に分割され得、それらのＬＣＵはさらにサブＣＵに区分され得る。ＣＵ４分木は、ＬＣＵがどのようにサブＣＵに区分されるか、および各サブＣＵがどのようにさらなるサブＣＵに区分されるかを記述し得る。
【００１７】
区分されないＣＵはＣＵ４分木のリーフノードに対応する。そのようなＣＵはリーフノードＣＵと呼ばれることがある。各リーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含む。ＣＵと同様に、リーフノードＣＵのＴＵは、ＴＵ４分木に従ってサブＴＵに区分され得る。ＴＵ４分木の各ノードはＴＳＦシンタックス要素を含み得、ＴＳＦは、そのノードに対応するＴＵが、サブＴＵに「分割」すなわち区分されるかどうかを示す。
【００１８】
概して、ビデオデータは、ＲＧＢ色空間ではなく、ＹＵＶ色空間においてコーディングされる。ＲＧＢ色空間ではピクセルの赤、緑、および青の成分の値を記述するが、ＹＵＶ色空間では、ピクセルのルミナンス（Ｙ）ならびにクロミナンス（ＵおよびＶ）の成分の値を記述し、Ｕは、一般に、クロミナンスの青色相を表し、Ｖはクロミナンスの赤色相を表す。ＹＵＶ色空間はＹＣｂＣｒとしても記述され、Ｃｂが青色相を指し、Ｃｒが赤色相を指す。ＣＵのＴＵは、一般に、１つまたは複数の成分を含み、成分の各々は、ＣＵのＹ成分、Ｕ成分、またはＶ成分のうちの１つに対応する。たとえば、ＴＵは、ルミナンスデータを表すためのＹ成分と、青色相データを表すためのＵ成分と、赤色相データを表すためのＶ成分とを含み得る。
【００１９】
ＴＵ４分木の各ノードはまた、１つまたは複数のＣＢＦシンタックス要素を含み得、各ＣＢＦは、ノードに対応するＴＵの対応する成分がコーディングされるかどうかを示す。特に、ＴＵの成分は、その成分が少なくとも１つの非０係数を含むときに「コーディングされる」と見なされる。言い換えれば、ＴＵの成分は、その成分が０よりも大きい絶対値を有する少なくとも１つの係数を含むときにコーディングされると見なされる。ＴＵの成分のためのＣＢＦは、その成分がコーディングされるかどうか、すなわち、その成分が少なくとも１つの非０係数、または、言い換えれば、絶対値が０よりも大きい少なくとも１つの係数を含むかどうかを表す値を有する。
【００２０】
本開示の技法は、ＣＵをコーディングするために使用されるビデオデータのＣＵのＴＵのためのＣＢＦおよびＴＳＦシンタックス要素をコーディングするときの圧縮効率を改善し得る。このコンテキストでは、ビデオデータのＣＵのＴＵのためのＣＢＦまたはＴＳＦは、ＣＢＦまたはＴＳＦが符号化または復号されるとき、すなわち、エンコーダまたはデコーダが、ジョイントコーディングされたＣＢＦおよびＴＳＦと、ＶＬＣコードワードとの間で値をマッピングするときに「コーディングされる」ことに留意されたい。概して、これらの技法の開発において実行された経験的テストにより、ビデオデータのＣＵのＴＵのためのＣＢＦとＴＳＦとの間の相関関係が証明された。たとえば、概して、ＴＵがサブＴＵに分割されるとき、そのＴＵの成分がコーディングされることもあり得る。別の例として、ＴＵの成分がコーディングされないとき、ＴＵがサブＴＵに分割されないことがあり得る。また、同じＴＵの成分がコーディングされるかされないかの間には相関関係があり得る。たとえば、ＴＵの１つの成分がコーディングされるとき、ＴＵの他の成分もコーディングされることがあり得る。
【００２１】
可変長コーディング（ＶＬＣ：variable length coding）技法を使用してビデオデータのＣＵのＴＵのための相関するシンタックス要素（たとえば、１つまたは複数のＣＢＦと、ＴＳＦ）をジョイントコーディングすることによって圧縮効率が改善され得る。たとえば、相関のために、シンタックス要素の値のいくつかの組合せは他の組合せよりも可能性が高くなり得る。したがって、ＶＬＣ技法を使用して相関するシンタックス要素をジョイントコーディングするとき、可能性が高い組合せには、他の可能性が低い組合せよりも短いＶＬＣコードワードが割り当てられ得る。このようにして、可能性が高い組合せに対応するコードワードは、可能性が低い組合せに対応するコードワードよりも少ないビットを備え得る。たとえば、最も可能性が高い組合せに対応するコードワードはシングルビットのみを備え得る。したがって、本開示の技法を適用することにより、たとえば、シンタックス要素ごとにシングルビットフラグを使用して、ＴＵについて個々にシンタックス要素をコーディングすることよりも、可能性が最も高い場合におけるシンタックス要素をより効率的に表すビットストリームがもたらされ得る。
【００２２】
さらに、この場合もＶＬＣ技法を使用して、ビデオデータのＣＵのＴＵのサブＴＵのための相関するシンタックス要素（たとえば、ＴＳＦ）のうちの１つを、サブＴＵのための他の相関するシンタックス要素（たとえば、ＣＢＦ）の値に基づいてジョイントコーディングすることによっても圧縮効率が改善され得る。たとえば、上記で説明した相関のために、所与のサブＴＵについて、相関するシンタックス要素のうちの１つのいくつかの値は、他の相関するシンタックス要素の値に応じて、他の値よりも可能性が高くなり得る。一例として、サブＴＵのためのＴＳＦのいくつかの値は、サブＴＵのための所与のＣＢＦの値に応じて、他の値よりも可能性が高くなり得る。したがって、サブＴＵのためのＴＳＦをジョイントコーディングするとき、ＴＳＦの値のいくつかの組合せは、サブＴＵのためのＣＢＦ、たとえば、サブＴＵのルミナンス（Ｙ）成分のためのＣＢＦの値に応じて、他の組合せよりも可能性が高くなり得る。その結果、ＴＳＦをジョイントコーディングするために、ＣＢＦの値が与えられたときに、可能性が高いＴＳＦの値の組合せに、他の可能性が低い組合せよりも短いＶＬＣコードワードが割り当てられ得るように、ＣＢＦの値に基づいて異なるＶＬＣテーブルが選択され得る。
【００２３】
同様に、サブＴＵのための所与のＣＢＦのいくつかの値は、サブＴＵのためのＴＳＦの値に応じて、他の値よりも可能性が高くなり得る。したがって、サブＴＵの各々の特定の成分、たとえば、ルミナンス（Ｙ）成分に対応する、サブＴＵのためのＣＢＦをジョイントコーディングするとき、ＣＢＦの値のいくつかの組合せは、サブＴＵのためのＴＳＦの値に応じて、他の組合せよりも可能性が高くなり得る。その結果、ＣＢＦをジョイントコーディングするために、ＴＳＦの値が与えられたときに、可能性が高いＣＢＦの値の組合せに、他の可能性が低い組合せよりも短いＶＬＣコードワードが割り当てられ得るように、ＴＳＦの値に基づいて異なるＶＬＣテーブルが選択され得る。この場合も、本開示の技法を適用することにより、たとえば、シンタックス要素ごとにシングルビットフラグを使用して、サブＴＵについて個々にシンタックス要素をコーディングすることよりも、可能性が最も高い場合におけるサブＴＵのためのシンタックス要素をより効率的に表すビットストリームがもたらされ得る。
【００２４】
したがって、本開示の技法は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングすることを含む。いくつかの例では、ＴＵのためのＣＢＦのうちの１つまたは複数の値、あるいはＴＳＦの値が推測され得るとき、これらのＣＢＦまたはＴＳＦは、ＴＵのための残りのＣＢＦおよび／またはＴＳＦとともにジョイントコーディングされる必要はない。
【００２５】
一例として、ＴＵの第１のクロミナンス成分がコーディングされるかどうかと、ＴＵの第２のクロミナンス成分がコーディングされるかどうかとの間に相関関係があり得る。たとえば、ＴＵの第１のクロミナンス成分（たとえば、Ｕ）がコーディングされるとき、ＴＵの第２のクロミナンス成分（たとえば、Ｖ）もコーディングされることがあり得る。したがって、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするとき、本開示の技法は、ＴＵの両方のクロミナンス成分を表すＣＢＦをコーディングすることを含み得る。すなわち、本開示の技法は、ＴＵのクロミナンス成分のためのＣＢＦのビット単位での「論理和」をとることを含む。このようにして、本開示の技法は、ＴＵのためのクロミナンスＣＢＦ、たとえば、ＣＢＦCを与えることを含み、ＣＢＦCはＣＢＦU｜ＣＢＦVを表し、ＵおよびＶはＴＵのクロミナンス成分を指し、「｜」はビット単位での「論理和」演算子を指す。ＣＢＦCはさらに、ＴＵのためのＴＳＦとともにジョイントコーディングされ得る。ＴＵのクロミナンス成分のうちの少なくとも１つがコーディングされることをＴＵのためのＣＢＦCの値が示すとき、ＴＵの各個々のクロミナンス成分がコーディングされるかどうかを示す追加の情報が与えられ得る。いくつかの例では、ＴＵのクロミナンス成分のためのＣＢＦのうちの１つの値が推測され得るとき、追加の情報が与えられる必要はない。
【００２６】
他の例では、前に説明したように、ビデオデータのＣＵのＴＵの各サブＴＵがさらなるサブＴＵに分割されるかどうかと、各サブＴＵの１つまたは複数の成分がコーディングされるかどうかとの間にも相関関係があり得る。一例として、各サブＴＵがさらなるサブＴＵに分割されるとき、各サブＴＵの１つまたは複数の成分（たとえば、Ｙ成分）がコーディングされることがあり得る。さらに、各サブＴＵの１つまたは複数の成分がコーディングされないとき、各サブＴＵがさらなるサブＴＵに分割されないことがあり得る。したがって、本開示の技法は、ビデオデータのＣＵのＴＵのサブＴＵのためのＴＳＦをジョイントコーディングすることを含む。たとえば、本開示の技法は、各サブＴＵのためのＣＢＦのいずれもコーディングされない、すなわち、サブＴＵのためのＣＢＦの値が推測されるとき、サブＴＵのためのＴＳＦをジョイントコーディングすることを含み得る。この場合も、サブＴＵのためのＴＳＦのうちの１つまたは複数の値が推測され得るとき、これらのＴＳＦは、サブＴＵのための残りのＴＳＦとともにジョイントコーディングされる必要はない。
【００２７】
さらに、本開示の技法は、サブＴＵの各々の成分のためのＣＢＦをジョイントコーディングすることを含む。たとえば、本技法は、各サブＴＵのクロミナンス成分のためのＣＢＦのいずれもコーディングされない、すなわち、サブＴＵのクロミナンス成分のためのＣＢＦの値が推測されるとき、およびサブＴＵの各々のためのＴＳＦもコーディングされない、すなわち、サブＴＵのためのＴＳＦの値も推測されるとき、サブＴＵの各々のＹ成分のためのＣＢＦをジョイントコーディングすることを含み得る。この場合も、サブＴＵの各々の成分のためのＣＢＦのうちの１つまたは複数の値が推測され得るとき、これらのＣＢＦは、サブＴＵのための残りのＣＢＦとともにジョイントコーディングされる必要はない。
【００２８】
図１は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするための技法を実装し得るビデオ符号化および復号システム１０の一例を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイスを備えるか、あるいは、通信チャネル１６を介してビデオ情報を通信することができ、その場合、通信チャネル１６がワイヤレスである、任意のワイヤレスデバイスを備え得る。
【００２９】
ただし、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングすることに関係する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らない。たとえば、これらの技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、または他のシナリオに適用され得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスまたはワイヤード媒体の任意の組合せを備え得る。
【００３０】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、送信機２４とを含む。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０および／または宛先デバイス１４のビデオデコーダ３０は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３１】
図１の図示のシステム１０は一例にすぎない。ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスまたはビデオ復号デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００３２】
ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤードアプリケーションに適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００３３】
宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調する。この場合も、上記で説明したビデオ符号化プロセスは、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするために本明細書で説明する技法のうちの１つまたは複数を実装し得る。チャネル１６を介して通信される情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用され得るシンタックス情報を含み得、たとえば、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうか、すなわち、その成分がコーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを記述するシンタックス要素を含み得る。ビデオデコーダ３０は、このシンタックス情報、ならびにビットストリーム中の他のデータを使用して、符号化ビットストリームを復号し、復号された情報をディスプレイデバイス３２に受け渡す。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３４】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３５】
ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６３、および今度の高効率ビデオコーディング（ＨＥＶＣ）規格がある。概して、本開示の技法について、ＨＥＶＣに関して説明するが、これらの技法は、同様に他のビデオコーディング規格と併せて使用され得ることを理解されたい。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３６】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダおよびデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部としてそれぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどに統合され得る。
【００３７】
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループ（ＧＯＰ）は、概して、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのフレームを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のフレームのヘッダ中、または他の場所に含み得る。各フレームは、それぞれのフレームのための符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。各ビデオフレームは、複数のスライス、すなわち、ビデオフレームの部分を含み得る。各スライスは複数のビデオブロック（たとえば、ＬＣＵ）を含み得、それらのビデオブロックの各々は、サブブロック（たとえば、サブＣＵ）とも呼ばれるより小さいブロックに区分され得る。ＩＴＵ−Ｔ  Ｈ．２６４規格によれば、ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。ＨＥＶＣによれば、ビデオブロックは、ＣＵ、またはＣＵのパーティションに対応し得る。概して、ＬＣＵおよびそれのサブＣＵ（すなわち、ＣＵ４分木のＣＵ）は「ＣＵ」と呼ばれ得る。
【００３８】
指定のコーディング規格に応じて、ビデオブロックは、１６×１６、８×８、４×４、２×２など、様々な「Ｎ×Ｎ」サブブロックサイズに区分され得る。ビデオエンコーダ２０は、各ブロックを再帰的に区分し得、すなわち、２Ｎ×２Ｎブロックを４つのＮ×Ｎブロックに区分し、Ｎ×Ｎブロックのいずれかまたはすべてを４つの（Ｎ／２）×（Ｎ／２）ブロックに区分し、以下同様に区分し得る。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×（x）１６ピクセルまたは１６×（by）１６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格では、サイズが１６×１６ピクセルであるブロックはマクロブロックと呼ばれることがあり、１６×１６ピクセルよりも小さいブロックは、１６×１６マクロブロックのパーティションと呼ばれることがある。他の規格では、ブロックは、より一般的にそれらのサイズに関して、たとえば、各々が固定サイズではなく可変サイズを有する、ＣＵおよびそれのパーティションとして定義され得る。
【００３９】
ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、所与のビデオブロックのための残差データへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得、残差データは、ブロックのビデオデータと、ブロックのために生成される予測データとの間のピクセル差分を表す。場合によっては、ビデオブロックは、変換領域中に量子化変換係数のブロックを備え得、所与のビデオブロックのための残差データへの変換の適用後に、得られた変換係数も量子化される。
【００４０】
概して、ビデオエンコーダ２０は、ブロック区分プロセスに従ってブロックをサブブロックに区分する。たとえば、ビデオエンコーダ２０は、ブロックが高周波変動または他の高いディテール量を含むとき、そのブロックをサブブロックに区分するように構成され得る。いくつかの例では、ビデオエンコーダ２０は、ブロックをサブブロックに区分すべきかどうかを判断するレートひずみ最適化プロセスを実装する。ビデオデータをコーディングするためにより小さいブロックを使用すると、高レベルのディテールを含むブロックのための予測がより良くなり得、したがって、残差データとして表される生じる誤差（すなわち、予測データと元のビデオデータとの間のピクセルごとの差分）が低減し得る。ビデオデータの各ブロックは、ブロックのためのコーディング情報を提供するデータのセットを含む。このデータのセットは、コード化ビデオデータのブロックのためのメタデータとも呼ばれる、ブロックのためのオーバーヘッドと見なされる。したがって、ブロックが小さいほどブロックの残差値は低くなり得るが、場合によっては、小さいブロックを使用する利益よりも、小さいブロックのためのヘッダデータのオーバーヘッドのほうが上回ることがある。したがって、ビデオエンコーダ２０は、誤差（残差データまたはひずみ）の低減を、ブロックの各々に関連するオーバーヘッド（ビットレート）と平衡させる最適な（または許容できる）区分方式をビデオエンコーダ２０が判断することを試みる、レートひずみ最適化プロセスを実行するように構成され得る。
【００４１】
概して、ビデオブロックは、親ブロックとそれのパーティション（すなわち、サブブロック）の両方を指す。スライスは、概して複数のビデオブロック（たとえば、ＬＣＵのセット）を含み、それらのビデオブロックのいずれかまたはすべては、サブブロック（たとえば、サブＣＵ）に区分され得、それらのサブブロックはさらに再帰的に区分され得る。各スライスは、ビデオデータの単独で復号可能なユニットに対応し得る。代替的に、フレーム自体が復号可能なユニットに対応するか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）など、ビデオデータの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される他の単独で復号可能なユニットを指すことがある。
【００４２】
高効率ビデオコーディング（ＨＥＶＣ）と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。新生のＨＥＶＣ規格はＨ．２６５と呼ばれることもある。この規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは、たとえば、イントラ予測コーディングされるブロックのサイズに基づいて、３５個ものイントラ予測符号化モードを与える。
【００４３】
ＨＭは、ビデオデータのブロックをＣＵと称する。ＣＵは、圧縮のために様々なコーディングツールがそれに適用される基本ユニットとして働く２Ｎ×２Ｎピクセルイメージ領域を指し得る。ＣＵはＨ．２６４／ＡＶＣのマクロブロックと概念的に同様である。ビットストリーム内のシンタックスデータは、特定のユニット（たとえば、スライス、フレーム、ＧＯＰ、またはＬＣＵを含むビデオデータの他のユニット）のためのピクセルの数に関して最大のＣＵである、ＬＣＵを定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、概して、どんなＣＵもサブＣＵに区分または分割され得る。特定のＣＵを生成するためにＬＣＵが区分される回数は、ＣＵのパーティションレベル、分解レベル、または「深度」と呼ばれることがある。場合によっては、シンタックスデータがＬＣＵの最大パーティションレベルを定義し、今度は、その最大パーティションレベルが、ＬＣＵについて生じ得る最小サイズのＣＵ（ＳＣＵ：smallest sized CU）を制限し得る。
【００４４】
概して、本開示におけるＣＵへの言及は、ビデオデータのＬＣＵ、またはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはさらにサブＣＵに分割され得、以下同様である。上記で説明したように、ビットストリームのシンタックスデータは、最大パーティションレベルと呼ばれることがある、ＬＣＵが分割され得る最大回数を定義し得る。上記でも説明したように、ビットストリームはまた、ＳＣＵを定義し得る。本開示ではまた、ＣＵ、ＣＵの予測ユニット（ＰＵ）、またはＣＵの変換ユニット（ＴＵ）のいずれかを指すために「ブロック」という用語を使用する。ＰＵおよびＴＵについて、以下でより詳細に説明する。
【００４５】
ＬＣＵは、ＬＣＵがどのように区分されるかを示す４分木データ構造に関連し得る。ＬＣＵに関連する４分木データ構造はＣＵ４分木と呼ばれることがある。概して、ＣＵ４分木はＬＣＵのＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応し、他のノードはＬＣＵのサブＣＵに対応する。所定のＣＵが４つのサブＣＵに分割された場合、分割されたＣＵに対応する４分木中のノードは４つの子ノードを含み、子ノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックス情報を与え得る。たとえば、４分木中のノードは、ＣＵが４つのサブＣＵに分割されるかどうかを示す、対応するＣＵのための分割フラグを含み得る。所与のＣＵのシンタックス情報は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００４６】
分割されないＣＵ（すなわち、末端に対応するＣＵ、またはそれぞれのＣＵ４分木中の「リーフ」ノード）は、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、ＣＵの予測を実行するためにそのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＣＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＣＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルがポイントする参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。ＣＵの１つまたは複数のＰＵを定義するＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかとの間で異なり得る。
【００４７】
リーフノードＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。上記で説明したように、複数のＰＵの１つを使用したＣＵの予測の後に、ビデオエンコーダ２０は、１つまたは複数のＰＵに対応するＣＵのそれぞれの部分のために１つまたは複数の残差ブロックを計算し得る。残差ブロックは、ＣＵのビデオデータと、１つまたは複数のＰＵのための予測データとの間のピクセル差分を表し得る。概して、ＴＵは、ＣＵの残差ブロックの全部または一部分を表し、対応する残差ブロックデータを変換し、量子化するためのデータを含み、残差ブロックは残差データを使用して表される。たとえば、ビデオエンコーダ２０が、残差データを変換係数に変換し、次いで量子化し、ＴＵの変換係数を走査して量子化変換係数のセットを形成し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００４８】
ビデオデータのＣＵは、対応するビデオデータのルミナンス成分（Ｙ）と、第１のクロミナンス成分（Ｕ）と、第２のクロミナンス成分（Ｖ）との各々を含み得る。したがって、ＰＵとＴＵとに関して上記で説明したＣＵのための予測および変換は、ビデオデータの所与のＣＵのＹ成分とＵ成分とＶ成分との各々について実行され得る。いくつかの例では、予測情報（たとえば、予測モード（イントラ予測またはインター予測）およびそれの特性（たとえば、特定のイントラ予測モードまたは動きベクトル））は、ルミナンス（Ｙ）成分に関して判断され、クロミナンス（ＵおよびＶ）成分に対して再利用され得る。したがって、ＣＵの所与のＴＵについて、ＴＵの残差データの係数は、ＴＵのＹ、Ｕ、およびＶ成分のための残差データの係数として参照され得る。すなわち、判断された予測情報は、成分の各々について残差データの個々のブロックを形成するために、ＴＵの成分の各々に適用され得、残差データのブロックはピクセルごとの差分を表す係数を含む。その後、残差データは変換され、量子化され、ＴＵのＹ、Ｕ、およびＶ成分の各々のための量子化変換係数のブロックが形成され得る。
【００４９】
リーフノードＣＵはさらに、ＣＵの１つまたは複数のＴＵの区分を定義する変換４分木データ構造を含み得る。変換４分木データ構造は、ＬＣＵに関して上記で説明したＣＵ４分木と実質的に同様の方法でＣＵのＴＵのためのパーティション情報を示し得る。たとえば、変換４分木データ構造は、ＣＵの最大ＴＵがどのようにサブＴＵに区分されるかを定義し得る。いくつかの例では、変換４分木データ構造は「残差４分木変換」（ＲＱＴ：residual quadtree transform）と呼ばれることがある。ＲＱＴの各ノードは、ノードに対応するＴＵの成分（たとえば、Ｙ、Ｕ、またはＶ）が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを記述するシンタックス情報を含み得る。このシンタックス情報は、概して、上記で説明したように、ＴＵのためのＣＢＦおよびＴＳＦシンタックス要素に対応する。概して、ＲＱＴに従ってサブＴＵに分割されるＴＵは、サブＴＵの親ＴＵと呼ばれることがあり、サブＴＵはＴＵの子ＴＵと呼ばれることがある。さらに、サブＴＵは互いの兄弟ＴＵ（sibling TU）と呼ばれることがある。ＲＱＴに従ってサブＴＵに分割されないＴＵは、ＲＱＴのリーフノードＴＵと呼ばれることがある。
【００５０】
他の例では、本開示の技法によれば、ＣＵのＴＵは、図５Ｃに関して以下でより詳細に説明する一様なパーティション構造に従って区分され得る。これらの例では、ＴＵは、ＣＵの最大ＴＵであるか、またはＣＵの最大ＴＵのサブＴＵであり得る。ＣＵの最大ＴＵは、ＲＱＴと一様なパーティション構造の両方に従ってサブＴＵに区分され得る。一例として、最大ＴＵは、ＲＱＴに従ってサブＴＵに区分され得、サブＴＵのうちの１つまたは複数は、一様なパーティション構造に従ってさらなるサブＴＵに区分され得る。別の例として、最大ＴＵは、一様なパーティション構造に従って完全に区分され得る。この場合も、一様なパーティション構造に従ってサブＴＵに分割されるＴＵは、サブＴＵの親ＴＵと呼ばれることがあり、サブＴＵは、ＴＵの子ＴＵ、および互いの兄弟ＴＵと呼ばれることがある。さらに、サブＴＵは、さらなるサブＴＵに分割されないことがあり、したがって、前に説明したように、ＲＱＴと一様なパーティション構造とを使用して定義されるか、一様なパーティション構造のみを使用して定義されるかにかかわらず、ＣＵのためのＴＵパーティション構造のリーフノードＴＵを表し得る。
【００５１】
ＲＱＴに関して上記で説明したのと同様の方法で、一様なパーティション構造に従って区分されるＴＵの各サブＴＵは、サブＴＵの成分（たとえば、Ｙ、Ｕ、またはＶ）が少なくとも１つの非０係数を含むかどうかを記述するシンタックス情報を含み得る。上記で説明したように、このシンタックス情報は、概して、単にＴＵと呼ばれることがある、サブＴＵのＣＢＦに対応する。さらに、ＴＵのサブＴＵについて、ＴＵがどのようにサブＴＵに分割されるかをまとめて記述するシンタックス情報が存在し得る。言い換えれば、シンタックス情報は、一様なパーティション構造と、各サブＴＵのサイズとに従ってＴＵを分割することによっていくつのサブＴＵが生じるかを示し得る。たとえば、サブＴＵのこのシンタックス情報はＴＵ中に含まれ得る。
【００５２】
いくつかの例では、ビデオデータのＣＵのＴＵのためのＣＢＦおよびＴＳＦシンタックス要素は、前に説明したように、シングルビット値、たとえば、シングルビットフラグを使用してそれぞれ表され得る。上記で説明したＲＱＴ区分構造の例を参照すると、いくつかの場合には、ＴＵのＹ、Ｕ、およびＶ成分に対応するすべての３つのＣＢＦが、ＴＵに関連するＲＱＴの対応するノード中に含まれ得る。他の場合には、たとえば、ＣＢＦのうちの１つまたは複数の値が推測され得るとき、ＣＢＦのサブセットのみがノード中に含まれ得る。
【００５３】
概して、本開示の技法によれば、ＴＵの成分のためのＣＢＦの値は、親ＴＵの成分がコーディングされない（すなわち、非０係数を含まない）ことをＴＵの親ＴＵの同じ成分のためのＣＢＦの値が示すときに推測され得る。この場合、親ＴＵの各子ＴＵの同じ成分のためのＣＢＦの値は、それぞれの成分がコーディングされないことを示すように推測され得る。さらに、ＴＵの成分のためのＣＢＦの値はまた、親ＴＵの成分がコーディングされる（すなわち、少なくとも１つの非０係数を含む）ことをＴＵの親ＴＵの同じ成分のためのＣＢＦの値が示し、それぞれの成分がコーディングされないことを親ＴＵのあらゆる他の子ＴＵの同じ成分のためのＣＢＦの値が示すときに推測され得る。この場合、ＴＵの成分のためのＣＢＦの値は、成分がコーディングされることを示すように推測され得る。
【００５４】
さらに他の場合、たとえば、ＴＵのためのＴＳＦの値が推測され得るとき、ＴＵのためのＣＢＦのみが、ＲＱＴの対応するノード中に含まれ得る。概して、本開示の技法によれば、ＴＵのためのＴＳＦの値は、ＴＵが、ＣＵの最大許容サイズ、たとえば、ＣＵのための変換の最大許容サイズよりも大きいサイズを有するときに推測され得る。この場合、ＴＵのためのＴＳＦの値は、ＴＵがサブＴＵに分割されることを示すように推測され得る。同様に、ＴＵのためのＴＳＦの値はまた、ＴＵが、ＣＵのための最小サイズのＴＵ、たとえば、ＣＵのための変換の最小許容サイズに対応するときに推測され得る。この場合、ＴＵのためのＴＳＦの値は、ＴＵがサブＴＵに分割されないことを示すように推測され得る。ビデオデータのＣＵのＴＵのためのＣＢＦまたはＴＳＦシンタックス要素の値を推測することは、本開示全体にわたってシンタックス要素自体を推測することと呼ぶことがあることに留意されたい。
【００５５】
さらに、場合によっては、ＣＵのＴＵのＹ、Ｕ、およびＶ成分は、たとえば、各成分に対応するＲＱＴおよび／または一様なパーティション構造に従って、個々に区分され得る。そのような場合、ＴＳＦは、ＴＵのＹ、Ｕ、およびＶ成分の各々に対応するＲＱＴのノードにおいて与えられ得る。さらに、一様なパーティション構造に従ってＴＵを分割することによっていくつのサブＴＵが生じるかを示すシンタックス情報が、Ｙ、Ｕ、およびＶ成分の各々のためのＴＵについて与えられ得る。
【００５６】
他の例では、ＣＵのＴＵのＹ、Ｕ、およびＶ成分は、一緒に、すなわち、共通のＲＱＴおよび／または一様なパーティション構造に従って区分され得る。これらの例では、ＲＱＴの対応するノード中のＣＵの所与のＴＵについて単一のＴＳＦが含まれ得る。同様に、一様なパーティション構造に従ってＴＵを分割することによっていくつのサブＴＵが生じるかを示すシンタックス情報が、Ｙ、Ｕ、およびＶ成分のすべてのためのＴＵについて含まれ得る。
【００５７】
予測データと残差データとを生成するためのイントラ予測またはインター予測符号化の後に、および変換係数を生成するための（Ｈ．２６４／ＡＶＣにおいて使用される変換と同様の４×４または８×８整数変換、あるいは離散コサイン変換ＤＣＴなどの）任意の変換の後に、ビデオエンコーダ２０は変換係数を量子化し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００５８】
量子化の後に、たとえば、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング方法に従って、量子化データのエントロピーコーディングが実行され得る。エントロピーコーディング用に構成された処理ユニット、または別の処理ユニットは、量子化係数のゼロランレングスコーディング、および／またはコード化ブロックパターン（ＣＢＰ：coded block pattern）値、マクロブロックタイプ、コーディングモード、（フレーム、スライス、マクロブロック、またはシーケンスなどの）コード化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。いくつかのコーディング規格によれば、そのようなシンタックス情報は、前に説明したように、たとえば、ＲＱＴを使用して表される、ビデオデータのＣＵのＴＵのためのＣＢＦおよびＴＳＦシンタックス要素を含み得る。
【００５９】
最近、ビデオコーディングの焦点が高精細度ビデオと圧縮の改善とのほうへシフトするとともに、より良いコーディング効率を達成するためにより多くのますます高性能な予測モードが導入されるようになり、ビデオデータのコード化ＣＵのためのＰＵおよびＴＵ区分方式がより精巧になった。本開示は、たとえば、前に説明したように、ＲＱＴを使用して示される、ＴＵパーティション情報がシグナリングされる効率を改善するための技法を提供する。
【００６０】
たとえば、ＣＵのＴＵごとに個々のＣＢＦおよびＴＳＦを与えるのではなく、いくつかの例では、ビデオエンコーダ２０は、ＣＵの所与のＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得る。同様に、他の例では、ビデオデコーダ３０は、ビデオデコーダ３０がそれからＴＵのための１つまたは複数のＣＢＦとＴＳＦとを判断し得る単一の値を受信するように構成され得る。たとえば、１つまたは複数のＣＢＦとＴＳＦとは、ＴＵに対応するＲＱＴのノード中に含まれ得る。
【００６１】
同様に、いくつかの例では、ビデオエンコーダ２０は、ＣＵの所与のＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイント符号化し得る。同様に、さらに他の例では、ビデオデコーダ３０は、ビデオデコーダ３０がそれからサブＴＵのためのＣＢＦまたはＴＳＦを判断し得る単一の値を受信するように構成され得る。場合によっては、ＣＢＦまたはＴＳＦは、サブＴＵに対応するＲＱＴの複数のノード中に含まれ得る。
【００６２】
いずれの場合も、ＴＵのためのＣＢＦのうちの１つまたは複数とＴＳＦとの値が推測され得るとき、これらのＣＢＦとＴＳＦとは、ＴＵのための残りのＣＢＦおよび／またはＴＳＦとともにジョイントコーディングされる必要はない。同様に、サブＴＵのためのＣＢＦのうちの１つまたは複数あるいはＴＳＦの値が推測され得るとき、これらのＣＢＦまたはＴＳＦは、サブＴＵのための残りのＣＢＦまたはＴＳＦとともにジョイントコーディングされる必要はない。このようにして、推測され得ないＣＢＦおよびＴＳＦのみが他のＣＢＦおよび／またはＴＳＦとともにジョイントコーディングされる。
【００６３】
いくつかの例では、ビデオエンコーダ２０は、単一のＶＬＣコードワードを使用してＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得る。これらの例では、ビデオデコーダ３０が受信するように構成され得る単一の値は、ビデオデコーダ３０がＴＵのための１つまたは複数のＣＢＦとＴＳＦとを判断するために復号し得る、ＶＬＣコードワードを備え得る。同様に、他の例では、ビデオエンコーダ２０は、同じく単一のＶＬＣコードワードを使用してサブＴＵのためのＣＢＦまたはＴＳＦをジョイント符号化し得る。一例として、ビデオエンコーダ２０は、各サブＴＵのＣＢＦのいずれもコーディングされない、すなわち、サブＴＵのＣＢＦの値が推測されるとき、単一のＶＬＣコードワードを使用してサブＴＵのＴＳＦをジョイント符号化し得る。別の例として、ビデオエンコーダ２０は、各サブＴＵのクロミナンス成分のためのＣＢＦのいずれもコーディングされない、すなわち、サブＴＵのクロミナンス成分のためのＣＢＦの値が推測されるとき、およびサブＴＵの各々のためのＴＳＦもコーディングされない、すなわち、サブＴＵのためのＴＳＦの値も推測されるとき、単一のＶＬＣコードワードを使用して、サブＴＵの各々のＹ成分のためのＣＢＦをジョイント符号化し得る。この場合も、これらの例では、ビデオデコーダ３０が受信するように構成され得る単一の値は、ビデオデコーダ３０がサブＴＵのためのＣＢＦまたはＴＳＦを判断するために復号し得る、ＶＬＣコードワードを備え得る。
【００６４】
前に説明したように、本開示の技法によれば、推測され得ないＣＢＦおよびＴＳＦのみが他のＣＢＦおよび／またはＴＳＦとともにジョイントコーディングされる。さらに、推測され得ないＣＢＦおよびＴＳＦがＶＬＣコードワードを使用してジョイントコーディングされるとき、どのＣＢＦおよびＴＳＦが推測され得るかに応じて異なるＶＬＣテーブルが使用され得る。たとえば、本開示の技法によれば、ＴＵのためのＣＢＦのうちの１つまたは複数とＴＳＦとが推測され得るかどうかに応じて、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするために異なるＶＬＣテーブルを選択するためのＴＵの「フラグパターン」が使用され得る。また本開示の技法によれば、サブＴＵのためのＣＢＦのうちの１つまたは複数あるいはＴＳＦが推測され得るかどうかに応じて、サブＴＵのためのＣＢＦまたはＴＳＦをジョイントコーディングするために異なるＶＬＣテーブルを選択するための、ＴＵのサブＴＵの各々のためのフラグパターンが使用され得る。
【００６５】
たとえば、ＴＵのサブＴＵを含む、ＴＵのフラグパターンが、ＴＵのためのＴＳＦ推測可能フラグと、ＴＵの親ＴＵのＹ、Ｕ、およびＶ成分のためのＣＢＦとを含むように初期に判断され得る。たとえば、ＴＵのためのＴＳＦ推測可能フラグは、前に説明した技法を使用してＴＵのＴＳＦが推測され得るかどうかを示し得る。したがって、フラグパターンは、４つのシングルビット値、たとえば、４つのシングルビットフラグを使用して表され得る。ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをコーディングするための特定のＶＬＣテーブルを選択するために、フラグパターンは、前に説明したように、ＴＵのためのＣＢＦおよびＴＳＦを推測することに適用可能な技法を使用して、１つまたは複数のＣＢＦとＴＳＦとのうちのどれが推測され得、したがって、ＴＵのための残りのＣＢＦおよび／またはＴＳＦとともにジョイントコーディングされないかを示すために使用され得る。同様に、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをコーディングするための特定のＶＬＣテーブルを選択するために、サブＴＵの各々のためのフラグパターンは、前に説明したように、ＴＵのためのＣＢＦおよびＴＳＦを推測することに適用可能な技法を同じく使用して、サブＴＵのためのＣＢＦまたはＴＳＦのうちのどれが推測され得、したがって、サブＴＵのための残りのＣＢＦまたはＴＳＦとともにジョイントコーディングされないかを示すために使用され得る。
【００６６】
たとえば、上記でも説明したように、ＴＵのための所与のＣＢＦが、ＴＵの親ＴＵのための対応するＣＢＦと、場合によっては、ＴＵの兄弟ＴＵのための対応するＣＢＦとに基づいて推測され得る場合、フラグパターン中の対応するビット値は推測を示すように設定され得る（たとえば、「０」）。一方、ＣＢＦが推測され得ない場合、対応するビット値はそれに応じて設定され得る（たとえば、「１」）。ＴＵのためのフラグパターン中のＴＳＦ推測可能フラグに対応するビット値は同様にして設定され得、たとえば、ＴＵのためのＴＳＦが推測され得る場合、ＴＳＦ推測可能フラグの対応するビット値は「０」に設定され得、ＴＳＦが推測され得ない場合、ＴＳＦ推測可能フラグの対応するビット値は「１」に設定され得る。したがって、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングする場合、ＶＬＣテーブルは、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとのうちのどれが推測され得るか、および１つまたは複数のＣＢＦとＴＳＦとのうちのどれがジョイントコーディングされるかを反映するようにフラグパターンに基づいて選択され得る。同様に、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイントコーディングする場合、ＶＬＣテーブルは、サブＴＵのためのＣＢＦまたはＴＳＦのうちのどれが推測され得るか、およびＣＢＦまたはＴＳＦのうちのどれがジョイントコーディングされるかを反映するようにサブＴＵの各々のフラグパターンに基づいて選択され得る。
【００６７】
本開示の技法では、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうかを示す情報と、ＴＵがサブＴＵに分割されるかどうかを示す情報との間の、経験的テスト中に発見される相関を利用する。一例として、そのような相関は、ビデオデータのＣＵのＴＵのルミナンス成分がコーディングされるかどうかを示す情報と、ＴＵがサブＴＵに分割されるかどうかを示す情報との間に存在し得る。たとえば、ＴＵがサブＴＵに分割されるとき、ＴＵのルミナンス成分がコーディングされる可能性があり得る。同様に、ＴＵのルミナンス成分がコーディングされないとき、ＴＵがサブＴＵに分割されない可能性があり得る。
【００６８】
別の例として、ＴＵの各成分が他の成分とは無関係に区分され（すなわち、各成分が一意のパーティション情報を含み）、成分がコーディングされない場合、ＴＵの成分が、その成分に対応するサブＴＵに分割されない可能性があり得る。同様に、ＴＵの成分が、その成分に対応するサブＴＵに分割されるとき、ＴＵの成分がコーディングされる可能性があり得る。
【００６９】
より一般的には、ＴＵのすべての成分が同じ方法で区分され（すなわち、各成分が同じパーティション情報を共有し）、成分がコーディングされない場合、ＴＵがサブＴＵに分割されない可能性があり得る。同様に、ＴＵがサブＴＵに分割されるとき、ＴＵの成分の各々がコーディングされる可能性があり得る。
【００７０】
さらに、前に説明したように、ビデオデータのＣＵの同じＴＵの成分がコーディングされるかどうかを示す情報の間にも相関関係があり得る。たとえば、ＴＵの１つの成分がコーディングされるとき、ＴＵの他の成分もコーディングされることがあり得る。一例として、そのような相関関係は、ビデオデータのＣＵのＴＵのクロミナンス成分がコーディングされるかどうかを示す情報の間に存在し得る。たとえば、ＴＵの第１のクロミナンス成分（たとえば、Ｕ）がコーディングされるとき、ＴＵの第２のクロミナンス成分（たとえば、Ｖ）がコーディングされる可能性があり得、その逆も同様である。
【００７１】
これらの技法では、シンタックス要素によって表される情報をジョイントコーディングすることによってコード化ＣＢＦおよびＴＳＦシンタックス要素に関する圧縮効率を改善するために、この発見された相関を利用し得る。たとえば、上記で説明した相関により、ＣＵのＴＵのためのＣＢＦ値とＴＳＦ値のいくつかの組合せは、他の組合せよりも可能性が高くなり得る。単一のＶＬＣコードワードを使用してＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングするとき、（たとえば、各々がシングルビットコードワードを備える）個々にコーディングされた１つまたは複数のＣＢＦとＴＳＦとよりも少ないビットを備えるコードワードが、より可能性が高い組合せに割り当てられる場合、圧縮効率は改善され得る。同様に、ＣＵのＴＵのサブＴＵのためのＣＢＦ値またはＴＳＦ値のいくつかの組合せは、他の組合せよりも可能性が高くなり得る。単一のＶＬＣコードワードを使用してサブＴＵのためのＣＢＦまたはＴＳＦをジョイントコーディングするとき、（たとえば、この場合も、各々がシングルビットコードワードを備える）個々にコーディングされたＣＢＦまたはＴＳＦよりも少ないビットを備えるコードワードが、より可能性が高い組合せに割り当てられる場合、この場合も圧縮効率は改善され得る。
【００７２】
本開示の技法によれば、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとはジョイントコーディングされ得る。一例として、ソースデバイス１２のビデオエンコーダ２０が、ビデオデータのブロック（たとえば、１つまたは複数のＣＵ）を符号化し得る。ビデオエンコーダ２０は、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、ＴＵがサブＴＵに分割されるかどうかを判断することと、ＶＬＣテーブルからコードワードを選択することであって、ＶＬＣテーブルは、コードワードが判断に対応するという指示を与える、選択することと、ＴＵのためのコードワードを与えることとを行うように構成され得る。この例では、ビデオエンコーダ２０は、コードワードをビットストリーム中に送るようにさらに構成され得る。
【００７３】
ビデオエンコーダ２０はさらに、特定のＶＬＣテーブルを選択するために使用されるＴＵのための符号化コンテキストを判断するように構成され得る。コンテキストは、ＴＵの様々な特性、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるべきＴＵの成分の数とのうちの１つまたは複数を含み得る。
【００７４】
ビデオエンコーダ２０は、ＶＬＣテーブルを選択するための符号化コンテキストを使用し得る。さらに、ＴＵのクロミナンス成分のためのＣＢＦのうちの１つがコーディングされ、別のＣＢＦが推測され、したがって、他のＣＢＦとともにジョイントコーディングされないとき、ビデオエンコーダ２０は、どのＣＢＦがコーディングされ、どのＣＢＦが推測されるかにかかわらず、同じＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを含み得る。また、ＴＵのためのＴＳＦが推測され、したがって、ＴＵのための１つまたは複数のＣＢＦとともにジョイントコーディングされないとき、ビデオエンコーダ２０は、ＴＳＦが１つまたは複数のＣＢＦとともにコーディングされるときとは異なるＶＬＣテーブルを選択し得る。さらに、ビデオエンコーダ２０は、推測されたＴＳＦの値に応じて異なるＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値へのコードワードのマッピングを含み得る。
【００７５】
ビデオエンコーダ２０はさらに、ＶＬＣテーブルから、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとに対応するコードワードを選択し得る。最後に、ビデオエンコーダ２０はＴＵのためのコードワードを与え得る。この場合も、この例では、ビデオエンコーダ２０は、コードワードをビットストリーム中に送るようにさらに構成され得る。
【００７６】
さらに、ＶＬＣテーブルについて、ビデオエンコーダ２０は、符号化コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを更新し得る。たとえば、ビデオエンコーダ２０は、符号化コンテキストについてＣＢＦ値とＴＳＦ値との各組合せがどのくらいの頻度で生じるかを追跡し、コードワードが、対応する組合せの可能性に反比例する長さを有するように、各組合せに関連するコードワードを設定し得る。
【００７７】
一例として、ビデオエンコーダ２０は、ＴＵのルミナンス成分のためのＣＢＦ、たとえば、ＣＢＦYと、ＴＵの両方のクロミナンス成分のためのＣＢＦ、たとえば、前に説明したＣＢＦCと、ＴＵのためのＴＳＦとをジョイント符号化するように構成され得る。たとえば、成分がＴＵの第１のクロミナンス成分を備え、ＴＵが第２の異なるクロミナンス成分をさらに備える場合、ビデオエンコーダ２０は、第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され得る。この例では、ＶＬＣテーブルからコードワードを選択するために、ビデオエンコーダ２０は、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかをコードワードが表す、すなわち、ＴＵのＣＢＦCをコードワードが表すという指示をＶＬＣテーブルが与えるようなコードワードを選択するように構成され得る。
【００７８】
クロミナンス成分のうちの少なくとも１つが少なくとも１つの非０係数を含むことをＴＵのＣＢＦC値が示す場合、ビデオエンコーダ２０は、各個々のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを示す追加の情報を符号化するようにさらに構成され得る。ただし、いくつかの例では、クロミナンス成分のための２つのＣＢＦのうちの一方の値が推測され得るとき、ビデオエンコーダ２０は、追加の情報を符号化しないように構成され得る。
【００７９】
いくつかの例によれば、追加の情報を符号化するために、ビデオエンコーダ２０は、個々にＴＵのクロミナンス成分のためのＣＢＦを符号化するように構成され得る。他の例によれば、ビデオエンコーダ２０は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化することに関して上記で説明したのと同様の方法でＴＵのクロミナンス成分のためのＣＢＦをジョイント符号化するように構成され得る。たとえば、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含む場合、ビデオエンコーダ２０は、第２の異なるＶＬＣテーブルから第２の異なるコードワードを選択するようにさらに構成され得、第２のＶＬＣテーブルは、第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうか、および第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを第２のコードワードが表すという指示を与える。ビデオエンコーダ２０は、ＴＵのための第２のコードワードを与えるようにさらに構成され得る。この例では、ビデオエンコーダ２０は、第２のコードワードをビットストリーム中に送るようにさらに構成され得る。
【００８０】
この例では、この場合も、ビデオエンコーダ２０は、第２のＶＬＣテーブルを選択するために使用されるＴＵのための第２の異なる符号化コンテキストを判断するように構成され得る。コンテキストは、ＣＵのパーティションレベルと、ＴＵのパーティションレベルと、ＴＵに対応するＰＵの予測モードと、ＴＵの隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数を含み得る。たとえば、隣接ＴＵは、本明細書で説明するのと同じ方法でＣＢＦおよびＴＳＦがそれについて前にジョイント符号化されたＣＵの他のＴＵであり得る。いくつかの例では、ビデオエンコーダ２０は、第１のＶＬＣテーブルと第２のＶＬＣテーブルの両方を選択するために同じ符号化コンテキストを使用し得、その場合、上記で説明した第１の符号化コンテキストと第２の符号化コンテキストとは同じコンテキストを備え得る。
【００８１】
この場合も、ビデオエンコーダ２０は、第２のＶＬＣテーブルを選択するために第２の符号化コンテキストを使用し得る。たとえば、第２のＶＬＣテーブルは、ＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを含み得る。ビデオエンコーダ２０はさらに、第２のＶＬＣテーブルから、ＴＵのためのクロミナンスＣＢＦ、すなわち、ＣＢＦUおよびＣＢＦVに対応する第２のコードワードを選択し得る。最後に、ビデオエンコーダ２０は、ＴＵのための第２のコードワードを与え得る。この場合も、この例では、ビデオエンコーダ２０は、第２のコードワードをビットストリーム中に送るようにさらに構成され得る。
【００８２】
さらに、この場合も、第２のＶＬＣテーブルについて、ビデオエンコーダ２０は、第２の符号化コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを更新し得る。たとえば、ビデオエンコーダ２０は、符号化コンテキストについてＣＢＦU値とＣＢＦV値との各組合せがどのくらいの頻度で生じるかを追跡し、コードワードが、対応する組合せの可能性に反比例する長さを有するように、各組合せに関連するコードワードを設定し得る。
【００８３】
さらに別の例として、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦはジョイントコーディングされ得る。たとえば、ＴＵがサブＴＵに分割される場合、ビデオエンコーダ２０は、サブＴＵがさらなるサブＴＵに分割されるかどうかを表す第２の異なるコードワードを選択し、サブＴＵのための第２のコードワードを与えるようにさらに構成され得る。同様に、ビデオエンコーダ２０は、ＴＵの成分に対応するサブＴＵの成分が少なくとも１つの非０係数を含むかどうかを表すような第２のコードワードを選択し、サブＴＵのための第２のコードワードを与え得る。これらの例では、ビデオエンコーダ２０は、第２のコードワードをビットストリーム中に送るようにさらに構成され得る。
【００８４】
これらの例では、第２のコードワードはまた、ＶＬＣコードワードを備え得る。第２のコードワードは、第２の異なる符号化コンテキストを使用して第２の異なるＶＬＣテーブルから選択され得る。たとえば、サブＴＵのＴＳＦをジョイント符号化するとき、第２の符号化コンテキストはサブＴＵのＣＢＦの値を含み得る。同様に、サブＴＵのＣＢＦをジョイント符号化するとき、第２の符号化コンテキストはサブＴＵのＴＳＦの値を含み得る。
【００８５】
いずれの場合も、ビデオエンコーダ２０は、それぞれのＶＬＣコードワードを使用して、ＴＵのためのＣＢＦおよびＴＳＦ、および／またはサブＴＵのためのＣＢＦまたはＴＳＦを含むようにＣＵを符号化し得る。上記で説明したＶＬＣ技法を使用すると、平均な場合、コードワードによって表される個々に符号化されたＣＢＦおよびＴＳＦよりも少ないビットを備えるコードワードが生じ得るので、本開示の技法を使用したとき、コードワードを含むコード化ビットストリームのための相対的なビット節約があり得る。
【００８６】
宛先デバイス１４のビデオデコーダ３０は、最終的に、ビデオエンコーダ２０から、たとえば、モデム２８および受信機２６を介して符号化ビデオデータ（たとえば、１つまたは複数のＣＵ）を受信し得る。代替的に、ビデオデコーダ３０は、ＣＤ−ＲＯＭ、ブルーレイ（登録商標）ディスク、フラッシュドライブ、ハードドライブ、または他の記憶媒体などの記憶媒体から符号化ビデオデータを受信し得る。この場合も、一例として、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとはジョイントコーディングされ得る。本開示の技法によれば、ビデオデコーダ３０は、ビデオデータのＣＵのＴＵのコードワードに基づいて、ＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断することと、それらの判断に基づいてＴＵを復号することとを行うように構成され得る。
【００８７】
いくつかの例では、ビデオデコーダ３０は、コードワードを含んでいる特定のＶＬＣテーブルを選択するために、前に説明したように、ビデオエンコーダ２０によって使用される方法と実質的に同様の方法でＴＵのための復号コンテキストを判断するように構成され得る。たとえば、復号コンテキストは、ＴＵの様々な特性、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるＴＵの成分の数とのうちの１つまたは複数を含み得る。
【００８８】
ビデオデコーダ３０は、ＶＬＣテーブルを選択するための復号コンテキストを使用し得る。さらに、ＴＵのクロミナンス成分のためのＣＢＦのうちの１つがコーディングされ、別のＣＢＦが推測され、したがって、他のＣＢＦとともにジョイントコーディングされないとき、ビデオデコーダ３０は、どのＣＢＦがコーディングされ、どのＣＢＦが推測されるかにかかわらず、同じＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを含み得る。また、ＴＵのためのＴＳＦが推測され、したがって、ＴＵのための１つまたは複数のＣＢＦとともにジョイントコーディングされないとき、ビデオデコーダ３０は、ＴＳＦが１つまたは複数のＣＢＦとともにコーディングされるときとは異なるＶＬＣテーブルを選択し得る。さらに、ビデオデコーダ３０は、推測されたＴＳＦの値に応じて異なるＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値へのコードワードのマッピングを含み得る。
【００８９】
ＶＬＣテーブルを使用して、ビデオデコーダ３０は、コードワードに基づいて、ＴＵの１つまたは複数の成分が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを判断し得る。その上、ビデオデコーダ３０は、たとえば、ＶＬＣテーブル内のマッピングを、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するためにビデオエンコーダ２０によって使用される対応するＶＬＣテーブル中のマッピングと合わせるために、復号コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてコードワードとＶＬＣテーブル内のＣＢＦ値およびＴＳＦ値との間のマッピングを更新し得る。
【００９０】
一例として、ビデオデコーダ３０は、ジョイント符号化された、ＴＵのルミナンス成分のためのＣＢＦ、たとえば、ＣＢＦYと、ＴＵの両方のクロミナンス成分のためのＣＢＦ、たとえば、前に説明したＣＢＦCと、ＴＵのためのＴＳＦとを復号するように構成され得る。たとえば、成分がＴＵの第１のクロミナンス成分を備え、ＴＵが第２の異なるクロミナンス成分をさらに備える場合、ビデオデコーダ３０は、コードワードに基づいて、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを判断する、すなわち、ＴＵのためのＣＢＦCを判断するようにさらに構成され得る。
【００９１】
クロミナンス成分のうちの少なくとも１つが少なくとも１つの非０係数を含むことをＴＵのＣＢＦC値が示す場合、ビデオデコーダ３０は、各個々のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを示す追加の情報を復号するようにさらに構成され得る。ただし、いくつかの例では、クロミナンス成分のための２つのＣＢＦのうちの一方の値が推測され得るとき、ビデオデコーダ３０は、追加の情報を復号しないように構成され得る。
【００９２】
いくつかの例によれば、追加の情報を復号するために、ビデオデコーダ３０は、ＴＵのクロミナンス成分のための個々に符号化されたＣＢＦを復号するように構成され得る。他の例によれば、ビデオデコーダ３０は、ビデオデータのＣＵのＴＵのためのジョイント符号化された１つまたは複数のＣＢＦとＴＳＦとを復号することに関して上記で説明したのと同様の方法でＴＵのクロミナンス成分のためのジョイント符号化されたＣＢＦを復号するように構成され得る。
【００９３】
たとえば、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含む場合、コードワードに基づいて、第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するために、ビデオデコーダ３０は、コードワードに基づいて、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むと判断した後に、ＴＵのための第２の異なるコードワードに基づいて、第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され得る。ビデオデコーダ３０は、第２のコードワードに基づいて、第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され得る。
【００９４】
この例では、この場合も、ビデオデコーダ３０は、第２のコードワードを含んでいる第２のＶＬＣテーブルを選択するために、前に説明したように、ビデオエンコーダ２０によって使用される方法と実質的に同様の方法でＴＵのための第２の復号コンテキストを判断するように構成され得る。たとえば、第２の復号コンテキストは、ＣＵのパーティションレベルと、ＴＵのパーティションレベルと、ＴＵに対応するＰＵの予測モードと、ＴＵの隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数を含み得る。たとえば、隣接ＴＵは、本明細書で説明するのと同じ方法で、ジョイント符号化されたＣＢＦおよびＴＳＦがそれについて前に復号されたＣＵの他のＴＵであり得る。いくつかの例では、ビデオデコーダ３０は、第１のＶＬＣテーブルと第２のＶＬＣテーブルの両方を選択するために同じ復号コンテキストを使用し得、その場合、上記で説明した第１の復号コンテキストと第２の復号コンテキストとは同じコンテキストを備え得る。
【００９５】
ビデオデコーダ３０は、第２のＶＬＣテーブルを選択するための第２の復号コンテキストを使用し得る。たとえば、第２のＶＬＣテーブルは、ＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを含み得る。第２のＶＬＣテーブルを使用して、ビデオデコーダ３０は、第２のコードワードに基づいて、ＴＵのクロミナンス成分の各々が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうかを判断し得る。その上、ビデオデコーダ３０は、たとえば、第２のＶＬＣテーブル内のマッピングを、ＴＵのためのＣＢＦUとＣＢＦVとをジョイント符号化するためにビデオエンコーダ２０によって使用される対応するＶＬＣテーブル中のマッピングと合わせるために、第２の復号コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてコードワードと第２のＶＬＣテーブル内のＣＢＦU値およびＣＢＦV値との間のマッピングを更新し得る。
【００９６】
さらに別の例として、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦはジョイントコーディングされ得る。たとえば、ＴＵがサブＴＵに分割される場合、ビデオデコーダ３０は、サブＴＵのための第２の異なるコードワードに基づいて、サブＴＵがさらなるサブＴＵに分割されるかどうかを判断するように構成され得る。同様に、ビデオデコーダ３０は、サブＴＵのための第２のコードワードに基づいて、ＴＵの成分に対応するサブＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断するように構成され得る。
【００９７】
これらの例では、第２のコードワードはまた、ＶＬＣコードワードを備え得る。第２のコードワードは、第２の異なる復号コンテキストを使用して選択された第２の異なるＶＬＣテーブルを使用してサブＴＵのＣＢＦまたはＴＳＦを判断するために使用され得る。たとえば、サブＴＵのためのジョイント符号化されたＴＳＦを復号するとき、第２の復号コンテキストは、サブＴＵのＣＢＦ、たとえば、サブＴＵのＹ成分に対応するＣＢＦの値を含み得る。同様に、サブＴＵのためのジョイント符号化されたＣＢＦを復号するとき、第２の復号コンテキストはサブＴＵのＴＳＦの値を含み得る。
【００９８】
いずれの場合も、ビデオデコーダ３０は、１つまたは複数のコードワードを使用して判断された、ＴＵのためのＴＳＦと１つまたは複数のＣＢＦ、および／またはサブＴＵのためのＣＢＦまたはＴＳＦを使用してＣＵを復号し得る。この場合も、上記で説明したＶＬＣ技法を使用すると、平均な場合、コードワードによって表される個々にコーディングされたＣＢＦおよびＴＳＦよりも少ないビットを備える１つまたは複数のコードワードが生じ得るので、本開示の技法を使用したとき、コードワードを含むコード化ビットストリームのための相対的なビット節約があり得る。
【００９９】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０とビデオデコーダ３０の一方または両方と実質的に同様の構成要素は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０と実質的に同様の構成要素を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【０１００】
このように、ソースデバイス１２は、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、ＴＵがサブＴＵに分割されるかどうかを判断することと、ＶＬＣテーブルからコードワードを選択することであって、ＶＬＣテーブルは、コードワードが判断に対応するという指示を与える、選択することと、ＴＵのためのコードワードを与えることとを行うように構成されたビデオエンコーダを含む、ビデオデータを符号化するための装置の一例を表す。
【０１０１】
同様に、宛先デバイス１４は、ビデオデータのＣＵのＴＵのコードワードに基づいて、ＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断することと、それらの判断に基づいてＴＵを復号することとを行うように構成されたビデオデコーダを含む、ビデオデータを復号するための装置の一例を表す。
【０１０２】
図２は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、マクロブロックまたはＣＵ、および／またはパーティションまたはそれのサブパーティションなど、ビデオフレーム内のブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Intraモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【０１０３】
図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内のビデオデータの現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、参照フレームストア６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。
【０１０４】
符号化プロセス中に、ビデオエンコーダ２０はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック（たとえば、ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して所与の受信ビデオブロックのインター予測コーディングを実行し得る。イントラ予測ユニット４６は、ブロックを符号化するための空間ベースの予測値を与えるために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して所与の受信ビデオブロックのイントラ予測コーディングを実行し得る。
【０１０５】
モード選択ユニット４０は、たとえば、誤差結果に基づいて、およびコーディングされている所与の受信ブロックを含むフレームまたはスライスのフレームまたはスライスタイプに基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレームまたは参照スライス中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。概して、イントラ予測は、隣接する、前にコーディングされたブロックに対して現在のブロックを予測することを伴い、一方、インター予測は、現在のブロックを時間的に予測するために、動き推定および動き補償を伴う。
【０１０６】
動き推定ユニット４２および動き補償ユニット４４は、ビデオエンコーダ２０のインター予測要素を表す。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または他のコード化ユニット）内でコーディングされている現在のブロックに対する予測参照フレーム（または他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。概して、動きベクトルは、ＣＵの動きを記述し得るが、場合によっては（たとえば、マージモードを使用してＣＵがコーディングされるとき）、ＣＵは、別のＣＵからの動き情報を継承し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【０１０７】
動き推定ユニット４２は、ビデオブロックを参照フレームストア６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算し得る。動き補償ユニット４４はまた、この比較のために、参照フレーム、たとえば、ＩフレームまたはＰフレームのサブ整数ピクセルを補間し得る。一例として、ＩＴＵ  Ｈ．２６４規格には、符号化されている現在のフレームよりも前の表示順序を有する参照フレームを含むリスト０、および符号化されている現在のフレームよりも後の表示順序を有する参照フレームを含むリスト１という２つのリストが記載されている。したがって、参照フレームストア６４に記憶されたデータは、これらのリストに従って編成され得る。
【０１０８】
動き推定ユニット４２は、参照フレームストア６４からの１つまたは複数の参照フレームのブロックを現在のフレーム、たとえば、ＰフレームまたはＢフレームの符号化されるべきブロックと比較し得る。参照フレームストア６４中の参照フレームがサブ整数ピクセルの値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数ピクセルロケーションを参照し得る。動き推定ユニット４２および／または動き補償ユニット４４はまた、サブ整数ピクセル位置の値が参照フレームストア６４に記憶されていない場合、参照フレームストア６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算するように構成され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送り得る。動きベクトルによって識別される参照フレームブロックは、インター予測ブロック、または、より一般的に、予測ブロックと呼ばれることがある。動き補償ユニット４４は、予測ブロックに基づいて予測データを計算し得る。
【０１０９】
イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測ユニット４６は、どのイントラ予測モードが現在のブロックにとって最良のレートひずみ値を呈するかを判断するために、様々な符号化されたブロックについてのひずみおよびレートから比を計算し得る。
【０１１０】
いくつかの例では、モード選択ユニット４０は、変換ユニット５２、および／またはビデオエンコーダ２０の他のユニットもしくは構成要素とともに、インター予測符号化またはイントラ予測符号化されたＣＵの１つまたは複数のＴＵのためのＴＳＦを判断し得る。たとえば、上記で説明したように１つまたは複数のＴＵのパーティション情報を表すＴＳＦは、ＣＵの１つまたは複数のＰＵのためのパーティション情報を判断することの一部として判断され得る。したがって、ＣＵのためのＴＵパーティション情報は、ＣＵのためのＰＵパーティション情報に依存し得る。たとえば、モード選択ユニット４０は、変換ユニット５２とともに、ＣＵの予測データを生成することの一部として、ＣＵの１つまたは複数のＴＵがそれぞれサブＴＵに分割されるかどうかを判断し得る。さらに、１つまたは複数のＴＵがそれぞれサブＴＵに分割されるかどうかはまた、変換ユニット５２のプロパティ、たとえば、ＣＵのための最大および最小変換サイズに依存し得る。さらに、エントロピー符号化ユニット５６が、１つまたは複数のＴＵのためのＣＢＦを判断し得る。たとえば、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、１つまたは複数のＴＵの各々の成分が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうかを判断し得る。さらに他の例では、ビデオエンコーダ２０の他のユニットまたは構成要素が、ＣＵの１つまたは複数のＴＵのためのＣＢＦおよびＴＳＦを判断し得る。
【０１１１】
いずれの場合も、ビデオエンコーダ２０は、レートひずみ最適化プロセスを実行して適切なＣＵ、ＰＵ、およびＴＵ区分方式を判断し、判断された区分方式を使用してＣＵを符号化し得る。ビデオエンコーダ２０はまた、いくつかの例では、ＣＵの１つまたは複数のＴＵのためのＣＢＦおよびＴＳＦの値を判断し得る。モード選択ユニット４０は、変換ユニット５２とともに、エントロピー符号化ユニット５６にＴＳＦを供給し得、エントロピー符号化ユニット５６はＣＢＦをも生成し得る。
【０１１２】
本開示の技法によれば、以下でより詳細に説明するように、エントロピー符号化ユニット５６は、ＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得る。また本開示の技法によれば、エントロピー符号化ユニット５６は、ＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイント符号化し得る。
【０１１３】
たとえば、イントラ予測またはインター予測を使用して、現在のブロックを予測した後、ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４またはイントラ予測ユニット４６によって計算された予測データを減算することによって残差ビデオブロックを形成し得る。加算器５０は、この減算演算を実行し得る１つまたは複数の構成要素を表す。変換ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成し得る。変換ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義された変換またはＨＥＶＣにおいて使用される変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換、カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve Transform）、方向性変換、または他のタイプの変換も使用され得る。いずれの場合も、変換ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成し得る。変換は、残差情報をピクセル領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートをさらに低減するために残差変換係数を量子化し得る。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【０１１４】
量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングし得る。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、または別のエントロピーコーディング技法を実行し得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。ＣＡＢＡＣの場合、コンテキストは隣接ブロックおよび／またはブロックサイズに基づき得る。ＣＡＶＬＣの場合、コンテキストは、ビデオデータのコーディングされたブロック、または前にコーディングされた隣接ブロックの様々な特性に基づき得る。
【０１１５】
場合によっては、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、上記で説明したエントロピーコーディングに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６は、ビデオデータのブロックおよびそれのパーティションのＣＢＰ値を判断するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６はブロック中の係数のランレングスコーディングを実行し得る。特に、エントロピー符号化ユニット５６は、ブロック中の変換係数を走査するためにジグザグ走査または他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。ＨＥＶＣなど、いくつかのコーディング規格によれば、そのようなシンタックス要素は、前に説明したように、たとえば、ＲＱＴを使用して表される、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとを含み得る。
【０１１６】
本開示の技法によれば、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとはジョイントコーディングされ得る。一例として、エントロピー符号化ユニット５６が、ビデオデータのブロック（たとえば、１つまたは複数のＣＵ）を符号化し得る。エントロピー符号化ユニット５６は、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、ＴＵがサブＴＵに分割されるかどうかを判断することと、ＶＬＣテーブルからコードワードを選択することであって、ＶＬＣテーブルは、コードワードが判断に対応するという指示を与える、選択することと、ＴＵのためのコードワードを与えることとを行うように構成され得る。この例では、エントロピー符号化ユニット５６は、コードワードをビットストリーム中に送るようにさらに構成され得る。
【０１１７】
エントロピー符号化ユニット５６はさらに、特定のＶＬＣテーブルを選択するために使用されるＴＵのための符号化コンテキストを判断するように構成され得る。コンテキストは、ＴＵの様々な特性、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるべきＴＵの成分の数とのうちの１つまたは複数を含み得る。
【０１１８】
エントロピー符号化ユニット５６は、ＶＬＣテーブルを選択するための符号化コンテキストを使用し得る。さらに、ＴＵのクロミナンス成分のためのＣＢＦのうちの１つがコーディングされ、別のＣＢＦが推測され、したがって、他のＣＢＦとともにジョイントコーディングされないとき、エントロピー符号化ユニット５６は、どのＣＢＦがコーディングされ、どのＣＢＦが推測されるかにかかわらず、同じＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを含み得る。また、ＴＵのためのＴＳＦが推測され、したがって、ＴＵのための１つまたは複数のＣＢＦとともにジョイントコーディングされないとき、エントロピー符号化ユニット５６は、ＴＳＦが１つまたは複数のＣＢＦとともにコーディングされるときとは異なるＶＬＣテーブルを選択し得る。さらに、エントロピー符号化ユニット５６は、推測されたＴＳＦの値に応じて異なるＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値へのコードワードのマッピングを含み得る。
【０１１９】
エントロピー符号化ユニット５６はさらに、ＶＬＣテーブルから、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとに対応するコードワードを選択し得る。最後に、エントロピー符号化ユニット５６はＴＵのためのコードワードを与え得る。この場合も、この例では、エントロピー符号化ユニット５６は、コードワードをビットストリーム中に送るようにさらに構成され得る。
【０１２０】
さらに、ＶＬＣテーブルについて、エントロピー符号化ユニット５６は、符号化コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを更新し得る。たとえば、エントロピー符号化ユニット５６は、符号化コンテキストについてＣＢＦ値とＴＳＦ値との各組合せがどのくらいの頻度で生じるかを追跡し、コードワードが、対応する組合せの可能性に反比例する長さを有するように、各組合せに関連するコードワードを設定し得る。
【０１２１】
１つのそのような例として、エントロピー符号化ユニット５６は、ＴＵのルミナンス成分のためのＣＢＦと、ＴＵの両方のクロミナンス成分のためのＣＢＦ、たとえば、前に説明したＣＢＦCと、ＴＵのためのＴＳＦとをジョイント符号化するように構成され得る。たとえば、成分がＴＵの第１のクロミナンス成分を備え、ＴＵが第２の異なるクロミナンス成分をさらに備える場合、エントロピー符号化ユニット５６は、第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され得る。この例では、ＶＬＣテーブルからコードワードを選択するために、エントロピー符号化ユニット５６は、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかをコードワードが表す、すなわち、ＴＵのＣＢＦCをコードワードが表すという指示をＶＬＣテーブルが与えるようなコードワードを選択するように構成され得る。
【０１２２】
クロミナンス成分のうちの少なくとも１つが少なくとも１つの非０係数を含むことをＴＵのＣＢＦC値が示す場合、エントロピー符号化ユニット５６は、各個々のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを示す追加の情報を符号化するようにさらに構成され得る。ただし、いくつかの例では、クロミナンス成分のための２つのＣＢＦのうちの一方の値が推測され得るとき、エントロピー符号化ユニット５６は、追加の情報を符号化しないように構成され得る。
【０１２３】
いくつかの例によれば、追加の情報をコーディングするために、エントロピー符号化ユニット５６は、個々にＴＵのクロミナンス成分のためのＣＢＦを符号化するように構成され得る。他の例によれば、エントロピー符号化ユニット５６は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化することに関して上記で説明したのと同様の方法でＴＵのクロミナンス成分のためのＣＢＦをジョイント符号化するように構成され得る。たとえば、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含む場合、エントロピー符号化ユニット５６は、第２の異なるＶＬＣテーブルから第２の異なるコードワードを選択するようにさらに構成され得、第２のＶＬＣテーブルは、第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうか、および第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを第２のコードワードが表すという指示を与える。エントロピー符号化ユニット５６は、ＴＵのための第２のコードワードを与えるようにさらに構成され得る。この例では、エントロピー符号化ユニット５６は、第２のコードワードをビットストリーム中に送るようにさらに構成され得る。
【０１２４】
この例では、この場合も、エントロピー符号化ユニット５６は、第２のＶＬＣテーブルを選択するために使用されるＴＵのための第２の異なる符号化コンテキストを判断するように構成され得る。コンテキストは、ＣＵのパーティションレベルと、ＴＵのパーティションレベルと、ＴＵに対応するＰＵの予測モードと、ＴＵの隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数を含み得る。たとえば、隣接ＴＵは、本明細書で説明するのと同じ方法でＣＢＦおよびＴＳＦがそれについて前にジョイント符号化されたＣＵの他のＴＵであり得る。いくつかの例では、エントロピー符号化ユニット５６は、第１のＶＬＣテーブルと第２のＶＬＣテーブルの両方を選択するために同じ符号化コンテキストを使用し得、その場合、上記で説明した第１の符号化コンテキストと第２の符号化コンテキストとは同じコンテキストを備え得る。
【０１２５】
この場合も、エントロピー符号化ユニット５６は、第２のＶＬＣテーブルを選択するために第２の符号化コンテキストを使用し得る。たとえば、第２のＶＬＣテーブルは、ＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを含み得る。エントロピー符号化ユニット５６はさらに、第２のＶＬＣテーブルから、ＴＵのためのクロミナンスＣＢＦ、すなわち、ＣＢＦUおよびＣＢＦVに対応する第２のコードワードを選択し得る。最後に、エントロピー符号化ユニット５６はＴＵのための第２のコードワードを与え得る。この場合も、この例では、エントロピー符号化ユニット５６は、第２のコードワードをビットストリーム中に送るようにさらに構成され得る。
【０１２６】
さらに、この場合も、第２のＶＬＣテーブルについて、エントロピー符号化ユニット５６は、第２の符号化コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを更新し得る。たとえば、エントロピー符号化ユニット５６は、符号化コンテキストについてＣＢＦU値とＣＢＦV値との各組合せがどのくらいの頻度で生じるかを追跡し、コードワードが、対応する組合せの可能性に反比例する長さを有するように、各組合せに関連するコードワードを設定し得る。
【０１２７】
さらに別の例として、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦはジョイントコーディングされ得る。たとえば、ＴＵがサブＴＵに分割される場合、エントロピー符号化ユニット５６は、サブＴＵがさらなるサブＴＵに分割されるかどうかを表す第２の異なるコードワードを選択し、サブＴＵのための第２のコードワードを与えるようにさらに構成され得る。同様に、エントロピー符号化ユニット５６は、ＴＵの成分に対応するサブＴＵの成分が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうかを表すような第２のコードワードを選択し、サブＴＵのための第２のコードワードを与え得る。これらの例では、エントロピー符号化ユニット５６は、第２のコードワードをビットストリーム中に送るようにさらに構成され得る。
【０１２８】
これらの例では、第２のコードワードはまた、ＶＬＣコードワードを備え得る。第２のコードワードは、第２の異なる符号化コンテキストを使用して第２の異なるＶＬＣテーブルから選択され得る。たとえば、サブＴＵのＴＳＦをジョイント符号化するとき、第２の符号化コンテキストは、サブＴＵのＣＢＦ、たとえば、サブＴＵのＹ成分に対応するＣＢＦの値を含み得る。同様に、サブＴＵのＣＢＦをジョイント符号化するとき、第２の符号化コンテキストはサブＴＵのＴＳＦの値を含み得る。
【０１２９】
表１〜表５に、本開示の技法に従って使用され得るＶＬＣテーブルの例を示す。表１のＶＬＣテーブルは、対応するＣＢＦ値およびＴＳＦ値を表すために使用される（列「コードワード」に示す）ＶＬＣコードワードへの、（列「ＣＵのＴＵのためのＣＢＦおよびＴＳＦ」に示す）ビデオデータのＣＵのＴＵのためのＣＢＦ値およびＴＳＦ値のマッピングを含む。表２のＶＬＣテーブルは、対応するＣＢＦY値、ＣＢＦC値、およびＴＳＦ値を表すために使用される（列「コードワード」に示す）ＶＬＣコードワードへの、（列「ＣＵのＴＵのためのＣＢＦY、ＣＢＦC、およびＴＳＦ」に示す）ビデオデータのＣＵのＴＵのためのＣＢＦY値、ＣＢＦC値、およびＴＳＦ値のマッピングを含む。表３のＶＬＣテーブルは、対応するＣＢＦU値およびＣＢＦV値を表すために使用される（列「コードワード」に示す）ＶＬＣコードワードへの、（列「ＣＵのＴＵのためのＣＢＦUおよびＣＢＦV」に示す）ビデオデータのＣＵのＴＵのためのＣＢＦU値およびＣＢＦV値のマッピングを含む。最後に、表４および表５のＶＬＣテーブルは、それぞれ、対応するＣＢＦ値またはＴＳＦ値を表すために同じく使用される（それぞれの列「コードワード」に示す）ＶＬＣコードワードへの、（列「ＣＵのＴＵのサブＴＵのためのＣＢＦ」および列「ＣＵのＴＵのサブＴＵのためのＴＳＦ」に示す）ＣＵのＴＵの４つのサブＴＵのためのＣＢＦ値およびＴＳＦ値のマッピングを含む。
【０１３０】
表１、表２、表４、および表５の各々は、完全なＶＬＣテーブルの抜粋またはサブセットのみを含むことに留意されたい。一例として、表１および表５の各々の完全なＶＬＣテーブルは、通常ならば、ＴＵまたはサブＴＵのためのすべての可能なＣＢＦおよび／またはＴＳＦ値の組合せを表すために、対応する数の、異なるＶＬＣコードワードにマッピングされたＣＢＦおよび／またはＴＳＦ値の組合せの最高１６個の異なるエントリを含む。別の例として、表２の完全なＶＬＣテーブルは、通常ならば、同じくＴＵのためのすべての可能なＣＢＦ値とＴＳＦ値の組合せを表すために、対応する数の、異なるＶＬＣコードワードにマッピングされたＣＢＦ値とＴＳＦ値の組合せの最高８つの異なるエントリを含む。さらに別の例として、表４の完全なＶＬＣテーブルは、通常ならば、サブＴＵのためのすべての可能なＣＢＦ値の組合せを表すために、対応する数の、異なるＶＬＣコードワードにマッピングされたＣＢＦ値の組合せの最高１５個の異なるエントリを含む。この例では、０である、たとえば、４つのサブＴＵの各々の成分のための、すべての４つのＣＢＦに対応するＣＢＦ値の組合せは、この組合せがサブＴＵの親ＴＵの対応する成分のためのＣＢＦによって示され得るので、表４から除外される。
【０１３１】
表１の例では、各コードワードが、ビデオデータのＣＵのＴＵのための３つのＣＢＦと１つのＴＳＦとを表すと仮定される。他の例では、上記で説明したように、より多いまたはより少ないＣＢＦおよびＴＳＦが表され得る（たとえば、ＣＢＦYとＣＢＦUとＣＢＦVとのサブセット、またはＣＵのＴＵのための２つ以上のＴＳＦ）。したがって、表１中のコードワードの数は、ジョイント符号化されるＣＢＦとＴＳＦとの数に基づいて変わり得る。このように、表１は、この例で示すエントリよりも多いまたは少ないエントリを有し得る。さらに、表１の例では、列「ＣＵのＴＵのためのＣＢＦおよびＴＳＦ」に関して、「１」のＣＢＦ値は、対応する成分が少なくとも１つの非０係数を含む、すなわち、コーディングされることを示し、「０」の値は、成分が非０係数を含まない、すなわち、コーディングされないことを示す。さらに、「１」のＴＳＦ値は、ＴＵがサブＴＵに分割されることを示し、「０」の値は、ＴＵが分割されないことを示す。他の例では、ＴＵの成分がコーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを示すために、表１において異なる値が使用され得る。
【表１】
2013546257.tif 000003
【０１３２】
表１の例を参照すると、ビデオデータのＣＵのＴＵについて、ＴＵのすべての成分（すなわち、Ｙ、Ｕ、およびＶ成分）が少なくとも１つの非０係数を含み（したがってコーディングされ）、ＴＵがサブＴＵに分割されると仮定する。この例では、前に説明したように、少なくとも１つの非０係数を含むＣＵのＴＵの成分（すなわち、ＴＵのコード化成分）は「１」のＣＢＦ値で示され、サブＴＵに分割されるＴＵは「１」のＴＳＦ値で示されると仮定すると、モード選択ユニット４０は、変換ユニット５２とともに、「１」の値を有するＴＵのためのＴＳＦをエントロピー符号化ユニット５６に与え得る。さらに、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、各ＣＢＦが同じく「１」の値を有する、ＴＵのためのＣＢＦを判断し得る。表１の例では、ＴＵのすべての成分がコーディングされ（すなわち、少なくとも１つの非０係数を含み）、ＴＵがサブＴＵに分割される場合は、符号化コンテキスト（すなわち、表１に示すＶＬＣテーブルを選択するために使用されたコンテキスト）が与えられれば、ＴＵのための可能性が最も高い場合であるという仮定をさらに前提とする。したがって、この例では、エントロピー符号化ユニット５６は、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを表すためにコードワード「１」を選択することになる。
【０１３３】
表２の例では、各コードワードが、ビデオデータのＣＵのＴＵのためのＣＢＦYとＣＢＦCとＴＳＦとを表すと仮定する。他の例では、より多いまたはより少ないＣＢＦおよびＴＳＦが表され得る（たとえば、ＣＵのＴＵのためのＣＢＦCおよびＴＳＦのみ）。したがって、表２中のコードワードの数は、この場合も、ジョイント符号化されるＣＢＦとＴＳＦとの数に基づいて変わり得、表２は、この例で示すエントリよりも多いまたは少ないエントリを有し得る。この場合も、表２の例では、列「ＣＵのＴＵのためのＣＢＦY、ＣＢＦC、およびＴＳＦ」に関して、「１」のＣＢＦ値は、対応する成分がコーディングされることを示し、「０」の値は、成分がコーディングされないことを示す。特に、「１」のＣＢＦC値は、ＴＵのクロミナンス成分のうちの少なくとも１つがコーディングされることを示し、「０」の値は、クロミナンス成分がコーディングされないことを示す。さらに、「１」のＴＳＦ値は、ＴＵがサブＴＵに分割されることを示し、「０」の値は、ＴＵが分割されないことを示す。この場合も、他の例では、ＴＵの成分がコーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを示すために、表２において異なる値が使用され得る。
【表２】
2013546257.tif 000004
【０１３４】
表２の例を参照すると、ビデオデータのＣＵのＴＵについて、ＴＵのルミナンス成分（すなわち、Ｙ成分）と、クロミナンス成分（すなわち、ＵおよびＶ成分）のうちの少なくとも１つとが少なくとも１つの非０係数を含み、ＴＵがサブＴＵに分割されると仮定する。この例では、前に説明したように、少なくとも１つの非０係数を含むＣＵのＴＵのルミナンス成分と、少なくとも１つの非０係数を含むＴＵのクロミナンス成分のうちの少なくとも１つは、「１」の対応するＣＢＦ値でそれぞれ示され、サブＴＵに分割されるＴＵは「１」のＴＳＦ値で示されると仮定すると、モード選択ユニット４０は、変換ユニット５２とともに、「１」の値を有するＴＵのためのＴＳＦをエントロピー符号化ユニット５６に与え得る。さらに、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、各ＣＢＦが同じく「１」の値を有する、ＴＵのためのＣＢＦYとＣＢＦCとを判断し得る。表２の例では、ＴＵのルミナンス成分とクロミナンス成分のうちの少なくとも１つとが少なくとも１つの非０係数を含み、ＴＵがサブＴＵに分割される場合は、「第１の」符号化コンテキスト（すなわち、表２に示すＶＬＣテーブルを選択するために使用された符号化コンテキスト）が与えられれば、ＴＵのための可能性が最も高い場合であるという仮定をさらに前提とする。したがって、この例では、エントロピー符号化ユニット５６は、ＴＵのためのＣＢＦYとＣＢＦCとＴＳＦとを表すために、この例では第１のコードワードと呼ばれ得る、コードワード「１」を選択することになる。
【０１３５】
表２の例では、クロミナンス成分のうちの少なくとも１つが少なくとも１つの非０係数を含むことをＴＵのＣＢＦC値が示す場合（たとえば、ＣＢＦC＝「１」）、エントロピー符号化ユニット５６は、以下でさらに詳細に説明する表３の例に示すように、各個々のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを示す追加の情報を符号化するようにさらに構成され得る。ただし、いくつかの例では、前に説明したように、クロミナンス成分のための２つのＣＢＦのうちの一方の値が推測され得るとき、エントロピー符号化ユニット５６は、追加の情報を符号化しないように構成され得る。
【０１３６】
表３の例によれば、追加の情報をコーディングするために、エントロピー符号化ユニット５６は、ＴＵのクロミナンス成分のためのＣＢＦをジョイント符号化するように構成され得る。表３の例では、各コードワードが、ビデオデータのＣＵのＴＵのためのＣＢＦUとＣＢＦVとを表すと仮定する。この場合も、表３の例では、列「ＣＵのＴＵのためのＣＢＦUおよびＣＢＦV」に関して、「１」のＣＢＦ値は、対応する成分が少なくとも１つの非０係数を含むことを示し、「０」の値は、成分が非０係数を含まないことを示す。この場合も、他の例では、ＴＵのクロミナンス成分が少なくとも１つの非０係数を含むかどうかを示すために、表３において異なる値が使用され得る。
【表３】
2013546257.tif 000005
【０１３７】
表３の例を参照すると、ビデオデータのＣＵのＴＵについて、ＴＵのクロミナンス成分の両方（すなわち、Ｕ成分とＶ成分）が少なくとも１つの非０係数を含むと仮定する。この例では、前に説明したように、少なくとも１つの非０係数を含むＣＵのＴＵのクロミナンス成分が「１」の対応するＣＢＦ値で示されると仮定すると、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、各ＣＢＦが「１」の値を有する、ＴＵのためのＣＢＦUとＣＢＦVとを判断し得る。表３の例では、ＴＵの両方のクロミナンス成分が少なくとも１つの非０係数を含む場合は、「第２の」符号化コンテキスト（すなわち、表３に示すＶＬＣテーブルを選択するために使用された符号化コンテキスト）が与えられれば、ＴＵのための可能性が最も高い場合であるという仮定をさらに前提とする。したがって、この例では、エントロピー符号化ユニット５６は、ＴＵのためのＣＢＦUとＣＢＦVを表すために、この例では第２のコードワードと呼ばれ得る、コードワード「１」を選択することになる。
【表４】
2013546257.tif 000006
【表５】
2013546257.tif 000007
【０１３８】
最後に、表４および表５の例を参照すると、ビデオデータのＣＵのＴＵの４つのサブＴＵについて、サブＴＵの各々の成分（たとえば、Ｙ、Ｕ、またはＶ）が少なくとも１つの非０係数を含むか、あるいはサブＴＵがさらなるサブＴＵにそれぞれ分割されると仮定する。この例では、この場合も、前に説明したように、少なくとも１つの非０係数を含むＣＵのＴＵの成分は「１」のＣＢＦ値で示され、サブＴＵに分割されるＴＵは「１」のＴＳＦ値で示されると仮定すると、モード選択ユニット４０は、変換ユニット５２とともに、各々が「１」の値を有するサブＴＵのためのＴＳＦをエントロピー符号化ユニット５６に与え得る。代替的に、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、各ＣＢＦが同じく「１」の値を有する、成分に対応するサブＴＵのためのＣＢＦを判断し得る。
【０１３９】
サブＴＵのためのＣＢＦをジョイント符号化する場合、この場合も、ＣＢＦに対応するサブＴＵの各々の特定の成分が少なくとも１つの非０係数を含む場合は、符号化コンテキストが与えられれば、サブＴＵのための可能性が最も高い場合であると仮定すると、エントロピー符号化ユニット５６は、表４から最も短いコードワードを選択し得る。サブＴＵのためのＴＳＦをジョイント符号化する場合、この場合も、サブＴＵがさらなるサブＴＵに分割される場合は、符号化コンテキストが与えられれば、サブＴＵのための可能性が最も高い場合であると仮定すると、エントロピー符号化ユニット５６はまた、表５から最も短いコードワードを選択し得る。いずれの場合も、この例では、エントロピー符号化ユニット５６は、サブＴＵのためのＣＢＦまたはＴＳＦを表すためにコードワード「１」を選択することになる。
【０１４０】
以下でさらに詳細に説明する図３のビデオデコーダ３０を簡単に参照すると、ビデオデコーダ３０は、表１〜表５の例においてビデオエンコーダ２０によって選択されたコードワードのうちのいずれか１つに対応するコードワード「１」を最終的に受信し得る。したがって、ビデオデコーダ３０は、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを判断するために、表１または表２、および、場合によっては、表３に示すＶＬＣテーブルと実質的に同様のＶＬＣテーブルを使用してコードワードを復号し得る。同様に、ビデオデコーダ３０は、ＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをそれぞれ判断するために、表４または表５に示すＶＬＣテーブルと実質的に同様のＶＬＣテーブルを使用してコードワードを復号し得る。
【０１４１】
一例として、表１を使用して、ビデオデコーダ３０は、コードワードに基づいて、ＴＵのすべての成分（すなわち、Ｙ、Ｕ、およびＶ成分）が少なくとも１つの非０係数を含み、ＴＵがサブＴＵに分割されると判断し得る。同様に、表２または表３を使用して、ビデオデコーダ３０は、コードワードに基づいて、それぞれ、ＴＵのルミナンス成分（すなわち、Ｙ成分）とクロミナンス成分（すなわち、Ｕ成分およびＶ成分）のうちの少なくとも１つとが少なくとも１つの非０係数を含み、ＴＵがサブＴＵに分割されるか、またはクロミナンス成分の両方が少なくとも１つの非０係数を含むと判断し得る。別の例として、表４を使用して、ビデオデコーダ３０は、コードワードに基づいて、サブＴＵの各々の成分（たとえば、Ｙ、Ｕ、またはＶ成分）が少なくとも１つの非０係数を含むと判断し得る。同様に、表５を使用して、ビデオデコーダ３０は、コードワードに基づいて、サブＴＵがそれぞれさらなるサブＴＵに分割されると判断し得る。これらの例では、ビット節約は、前に説明したように、ＴＵのための１つまたは複数のＣＢＦおよび／またはＴＳＦ（たとえば、ＴＵのためのＣＢＦY、ＣＢＦU、ＣＢＦV、およびＴＳＦ、またはＣＢＦUおよびＣＢＦV）、ならびにサブＴＵのためのＣＢＦまたはＴＳＦを個々に示すために使用される２〜４ビットではなく、シングルビットを備えるコードワードにより達成され得る。
【０１４２】
表１〜表５は、ＣＵのＴＵのためのＴＳＦと１つまたは複数のＣＢＦと、ＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦとを符号化するために使用されるＶＬＣテーブルの例にすぎないことを理解されたい。表１〜表５中のＶＬＣテーブルのマッピングは、本開示の技法に従って使用されるＶＬＣテーブルについて存在し得る多くの可能なマッピングのうちのいくつかの例として与えたものである。
【０１４３】
表１のＶＬＣテーブルに示すように、少なくとも１つの非０係数を含むＣＵのＴＵのすべての成分と、サブＴＵに分割されるＴＵとに対応するＣＢＦ値およびＴＳＦ値は、ＶＬＣテーブル中の最も短いコードワードにマッピングされる。同様に、表２のＶＬＣテーブルに示すように、少なくとも１つの非０係数を含むＣＵのＴＵのルミナンス成分とクロミナンス成分のうちの少なくとも１つと、サブＴＵに分割されるＴＵとに対応するＣＢＦ値およびＴＳＦ値は、ＶＬＣテーブル中の最も短いコードワードにマッピングされる。さらに、表３のＶＬＣテーブルに示すように、少なくとも１つの非０係数を含むＴＵの両方のクロミナンス成分に対応するＣＢＦ値は、ＶＬＣテーブル中の最も短いコードワードにマッピングされる。最後に、表４および表５のＶＬＣテーブルに示すように、少なくとも１つの非０係数を含むＣＵのＴＵのすべてのサブＴＵの成分に対応するＣＢＦ値と、さらなるサブＴＵに分割されるＣＵのＴＵのサブＴＵに対応するＴＳＦ値とは、それぞれのＶＬＣテーブル中の最も短いコードワードにマッピングされる。上記の例の各々において、特定のマッピングは、対応するＣＢＦおよび／またはＴＳＦ値が、符号化コンテキストのためのＶＬＣテーブルによって定義された候補のうちで可能性が最も高い値であると判断されたことを示す。他の例では、他のＣＢＦ値およびＴＳＦ値が、可能性が最も高いと判断され得る。たとえば、ＣＵのＴＵのすべての成分が非０係数を含まないことを示すＣＢＦ値と、ＴＵがサブＴＵに分割されないことを示すＴＳＦ値とが、可能性が最も高いと判断され得る。同様に、また、ＣＵのＴＵのサブＴＵの各々の成分が非０係数を含まないことを示すＣＢＦ値、またはＣＵのＴＵのサブＴＵの各々がさらなるサブＴＵに分割されないことを示すＴＳＦ値が、可能性が最も高いと判断され得る。
【０１４４】
その上、異なるＶＬＣテーブルが、ＴＵおよびサブＴＵのための符号化コンテキストに基づいて、異なるマッピングを与え得る。したがって、選択された異なるＶＬＣテーブルについて、異なるＣＢＦおよび／またはＴＳＦ値の相対的可能性を示す対応するマッピングは変化し得、選択された所与のＶＬＣテーブルについて、マッピングは、ＣＵの他のＴＵと、１つまたは複数の前に符号化されたＣＵのＴＵとのためのＣＢＦおよび／またはＴＳＦ値に基づいて連続的に更新され得る。
【０１４５】
いくつかの例では、上記で説明した、ＴＵまたはサブＴＵのために判断された複数の符号化コンテキストは、共通のＶＬＣテーブル、たとえば、表１〜表５のいずれか１つに対応し得る。したがって、異なる符号化コンテキストは、それにもかかわらず、ＴＵのための複数のＣＢＦの１つおよびＴＳＦ、あるいはＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをコーディングするために共通のＶＬＣテーブルを使用するという結果になり得、それにより、システムの複雑さとコーディングリソースとが低減され得る。
【０１４６】
例として、上記の表１〜表５では、ＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦと、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦとを表すために単項（unary）コードワードを利用している。ただし、他の例では、他のタイプの可変長コード、たとえば、指数ゴロム、または他のハフマンコード、または算術コードが使用され得る。いくつかの例では、表１〜表５中のいくつかのコードワードは、たとえば、各コードワードに対応するＣＢＦおよび／またはＴＳＦ値の確率がほぼ同じとき、同様のビット長を有し得る。さらに、コードワードの各々が一意に復号可能である（たとえば、コードワードのいずれも、同じテーブル中の別のコードワードのプレフィックスでない）限り、コードワードの任意のセットが表１〜表５のために使用され得る。
【０１４７】
ビデオデコーダ２０は、１つまたは複数のコードワードを使用して、ＴＵのための１つまたは複数のＣＢＦとＴＳＦと、および／またはサブＴＵのためのＣＢＦまたはＴＳＦを含むようにＣＵを符号化し得る。たとえば、エントロピー符号化ユニット５６は、上記で説明したように、ＣＵのための符号化されたシンタックス情報の一部として１つまたは複数のコードワードを含み得る。上記で説明したＶＬＣコーディング技法を使用すると、平均な場合、コードワードによって表される個々にコーディングされたＣＢＦおよびＴＳＦよりも少ないビットを備える１つまたは複数のコードワードが生じ得るので、本開示の技法を使用したとき、コードワードを含むコード化ビットストリームのための相対的なビット節約があり得る。
【０１４８】
逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームストア６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームストア６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１４９】
このように、図２のビデオエンコーダ２０は、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、ＴＵがサブＴＵに分割されるかどうかを判断することと、ＶＬＣテーブルからコードワードを選択することであって、ＶＬＣテーブルは、コードワードが判断に対応するという指示を与える、選択することと、ＴＵのためのコードワードを与えることとを行うように構成されたビデオエンコーダを含む、ビデオデータを符号化するための装置の一例を表す。
【０１５０】
図３は、ビデオデータのＣＵのＴＵのためのジョイント符号化された１つまたは複数のＣＢＦとＴＳＦとを復号するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームストア８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット７４は、対応するＣＵについてエントロピー復号ユニット７０から受信されたイントラ予測モードに基づいて予測データを生成し得る。
【０１５１】
ビデオデコーダ３０は、たとえば、ビデオエンコーダ２０によって符号化された符号化ビデオデータ（たとえば、１つまたは複数のＣＵ）を受信し得る。代替的に、ビデオデコーダ３０は、ＣＤ−ＲＯＭ、ブルーレイディスク、フラッシュドライブ、ハードドライブ、または他の記憶媒体などの記憶媒体から符号化ビデオデータを受信し得る。この場合も、一例として、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとはジョイントコーディングされ得る。本開示の技法によれば、エントロピー復号ユニット７０は、ビデオデータのＣＵのＴＵのコードワードに基づいて、ＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断することと、それらの判断に基づいてＴＵを復号することとを行うように構成され得る。
【０１５２】
いくつかの例では、エントロピー復号ユニット７０は、コードワードを含んでいる特定のＶＬＣテーブルを選択するために、図２を参照しながら前に説明したように、エントロピー符号化ユニット５６によって使用される方法と実質的に同様の方法でＴＵのための復号コンテキストを判断するように構成され得る。たとえば、復号コンテキストは、ＴＵの様々な特性、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるＴＵの成分の数とのうちの１つまたは複数を含み得る。
【０１５３】
エントロピー復号ユニット７０は、ＶＬＣテーブルを選択するための復号コンテキストを使用し得る。さらに、ＴＵのクロミナンス成分のためのＣＢＦのうちの１つがコーディングされ、別のＣＢＦが推測され、したがって、他のＣＢＦとともにジョイントコーディングされないとき、エントロピー復号ユニット７０は、どのＣＢＦがコーディングされ、どのＣＢＦが推測されるかにかかわらず、同じＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを含み得る。また、ＴＵのためのＴＳＦが推測され、したがって、ＴＵのための１つまたは複数のＣＢＦとともにジョイントコーディングされないとき、エントロピー復号ユニット７０は、ＴＳＦが１つまたは複数のＣＢＦとともにコーディングされるときとは異なるＶＬＣテーブルを選択し得る。さらに、エントロピー復号ユニット７０は、推測されたＴＳＦの値に応じて異なるＶＬＣテーブルを選択し得る。これらの例では、ＶＬＣテーブルは、ＣＢＦ値へのコードワードのマッピングを含み得る。
【０１５４】
ＶＬＣテーブルを使用して、エントロピー復号ユニット７０は、コードワードに基づいて、ＴＵの１つまたは複数の成分が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを判断し得る。その上、エントロピー復号ユニット７０は、たとえば、ＶＬＣテーブル内のマッピングを、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するためにビデオエンコーダ２０によって使用される対応するＶＬＣテーブル中のマッピングと合わせるために、復号コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてコードワードとＶＬＣテーブル内のＣＢＦ値およびＴＳＦ値との間のマッピングを更新し得る。
【０１５５】
この場合も、一例として、エントロピー復号ユニット７０は、ジョイント符号化された、ＴＵのルミナンス成分のためのＣＢＦ、たとえば、ＣＢＦYと、ＴＵの両方のクロミナンス成分のためのＣＢＦ、たとえば、前に説明したＣＢＦCと、ＴＵのためのＴＳＦとを復号するように構成され得る。たとえば、成分がＴＵの第１のクロミナンス成分を備え、ＴＵが第２の異なるクロミナンス成分をさらに備える場合、エントロピー復号ユニット７０は、コードワードに基づいて、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むかどうかを判断する、すなわち、ＴＵのためのＣＢＦCを判断するようにさらに構成され得る。
【０１５６】
この場合も、クロミナンス成分のうちの少なくとも１つが少なくとも１つの非０係数を含むことをＴＵのＣＢＦC値が示す場合、エントロピー復号ユニット７０は、各個々のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを示す追加の情報を復号するようにさらに構成され得る。ただし、いくつかの例では、クロミナンス成分のための２つのＣＢＦのうちの一方の値が推測され得るとき、エントロピー復号ユニット７０は、追加の情報を復号しないように構成され得る。
【０１５７】
いくつかの例によれば、追加の情報を復号するために、エントロピー復号ユニット７０は、ＴＵのクロミナンス成分のための個々に符号化されたＣＢＦを復号するように構成され得る。他の例によれば、エントロピー復号ユニット７０は、ビデオデータのＣＵのＴＵのためのジョイント符号化された１つまたは複数のＣＢＦとＴＳＦとを復号することに関して上記で説明したのと同様の方法でＴＵのクロミナンス成分のためのジョイント符号化されたＣＢＦを復号するように構成され得る。
【０１５８】
たとえば、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含む場合、コードワードに基づいて、第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するために、エントロピー復号ユニット７０は、コードワードに基づいて、第１のクロミナンス成分と第２のクロミナンス成分とのうちの少なくとも１つが少なくとも１つの非０係数を含むと判断した後に、ＴＵのための第２の異なるコードワードに基づいて、第１のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され得る。エントロピー復号ユニット７０は、第２のコードワードに基づいて、第２のクロミナンス成分が少なくとも１つの非０係数を含むかどうかを判断するようにさらに構成され得る。
【０１５９】
この例では、この場合も、エントロピー復号ユニット７０は、第２のコードワードを含んでいる第２のＶＬＣテーブルを選択するために、前に説明したように、エントロピー符号化ユニット５６によって使用される方法と実質的に同様の方法でＴＵのための第２の復号コンテキストを判断するように構成され得る。たとえば、第２のコンテキストは、ＣＵのパーティションレベルと、ＴＵのパーティションレベルと、ＴＵに対応するＰＵの予測モードと、ＴＵの隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数を含み得る。たとえば、隣接ＴＵは、本明細書で説明するのと同じ方法で、ジョイント符号化されたＣＢＦおよびＴＳＦがそれについて前に復号されたＣＵの他のＴＵであり得る。いくつかの例では、エントロピー復号ユニット７０は、第１のＶＬＣテーブルと第２のＶＬＣテーブルの両方を選択するために同じ復号コンテキストを使用し得、その場合、上記で説明した第１の符号化コンテキストと第２の符号化コンテキストとは同じコンテキストを備え得る。
【０１６０】
この場合も、エントロピー復号ユニット７０は、第２のＶＬＣテーブルを選択するために第２の復号コンテキストを使用し得る。たとえば、第２のＶＬＣテーブルは、ＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを含み得る。第２のＶＬＣテーブルを使用して、エントロピー復号ユニット７０は、第２のコードワードに基づいて、ＴＵのクロミナンス成分の各々が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうかを判断し得る。その上、エントロピー復号ユニット７０は、たとえば、第２のＶＬＣテーブル内のマッピングを、ＴＵのためのＣＢＦUとＣＢＦVとをジョイント符号化するためにエントロピー符号化ユニット５６によって使用される対応するＶＬＣテーブル中のマッピングと合わせるために、第２の復号コンテキストに対してどの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてコードワードと第２のＶＬＣテーブル内のＣＢＦU値およびＣＢＦV値との間のマッピングを更新し得る。
【０１６１】
この場合も、さらに別の例として、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦはジョイントコーディングされ得る。たとえば、ＴＵがサブＴＵに分割される場合、エントロピー復号ユニット７０は、サブＴＵのための第２の異なるコードワードに基づいて、サブＴＵがさらなるサブＴＵに分割されるかどうかを判断するようにさらに構成され得る。同様に、エントロピー復号ユニット７０は、サブＴＵのための第２のコードワードに基づいて、ＴＵの成分に対応するサブＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断するように構成され得る。
【０１６２】
この場合も、これらの例では、第２のコードワードはまた、ＶＬＣコードワードを備え得る。第２のコードワードは、第２の異なる復号コンテキストを使用して選択された第２の異なるＶＬＣテーブルを使用してサブＴＵのＣＢＦまたはＴＳＦを判断するために使用され得る。たとえば、サブＴＵのためのジョイント符号化されたＴＳＦを復号するとき、第２の復号コンテキストは、サブＴＵのＣＢＦ、たとえば、サブＴＵのＹ成分に対応するＣＢＦの値を含み得る。同様に、サブＴＵのためのジョイント符号化されたＣＢＦを復号するとき、第２の復号コンテキストはサブＴＵのＴＳＦの値を含み得る。
【０１６３】
一例として、図２の表１〜表５のＶＬＣテーブルを再び参照して、エントロピー復号ユニット７０によって受信されたビデオデータのＣＵのＴＵのコードワードが「１」を備えると仮定する。この例では、エントロピー復号ユニット７０は、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを判断するために、表１、または表２、および、場合によっては、表３に示すコードワードとＶＬＣテーブルとを使用し得る。特に、この例では、表１は、コードワードが、少なくとも１つの非０係数を含むＴＵのすべての成分（すなわち、Ｙ、Ｕ、およびＶ成分）と、サブＴＵに分割されるＴＵとに対応することを示している。したがって、エントロピー復号ユニット７０は、表１に対応する復号コンテキストを有するＣＵのＴＵについて、および値「１」を有するＴＵのために受信されたコードワードについて、ＴＵのすべての成分が少なくとも１つの非０係数を含み、ＴＵがサブＴＵに分割されると判断し得る。
【０１６４】
同様に、エントロピー復号ユニット７０によって受信されたコードワードがＴＵのための第１のコードワードを備えると仮定する。この例では、表２は、コードワードが、少なくとも１つの非０係数を含むＴＵのルミナンス成分（すなわち、Ｙ成分）ならびにクロミナンス成分（すなわち、Ｕ成分およびＶ成分）のうちの少なくとも１つと、サブＴＵに分割されるＴＵとに対応することを示している。したがって、エントロピー復号ユニット７０は、表２に対応する復号コンテキストを有するＣＵのＴＵについて、および値「１」を有するＴＵのために受信された第１のコードワードについて、ＴＵのルミナンス成分とクロミナンス成分のうちの少なくとも１つとが少なくとも１つの非０係数を含み、ＴＵがサブＴＵに分割されると判断し得る。
【０１６５】
さらに、この例では、エントロピー復号ユニット７０によって受信されたＴＵのための第２のコードワードも「１」を備えると仮定する。表３は、第２のコードワードが、少なくとも１つの非０係数を含むＴＵの両方のクロミナンス成分（すなわち、Ｕ成分とＶ成分）に対応することを示している。したがって、エントロピー復号ユニット７０は、表３に対応する復号コンテキストを有するＣＵのＴＵについて、および値「１」を有するＴＵのために受信された第２のコードワードについて、ＴＵのクロミナンス成分の両方が少なくとも１つの非０係数を含むと判断し得る。
【０１６６】
別の例として、エントロピー復号ユニット７０によって受信されたビデオデータのＣＵのＴＵのサブＴＵのためのコードワードが「１」を備えると仮定する。この例では、表４は、コードワードが、少なくとも１つの非０係数を含むサブＴＵの各々の成分（たとえば、Ｙ、Ｕ、またはＶ成分）に対応することを示し、表５は、コードワードが、さらなるサブＴＵに分割されるサブＴＵの各々に対応することを示す。したがって、この場合、エントロピー復号ユニット７０は、表４または表５に対応する復号コンテキストを有するＣＵのＴＵのサブＴＵについて、および値「１」を有するサブＴＵのために受信されたコードワードについて、表４の場合、サブＴＵの各々の成分が少なくとも１つの非０係数を含む、すなわち、コーディングされるか、または、表５の場合、サブＴＵの各々がさらなるサブＴＵに分割されると判断し得る。
【０１６７】
ビデオデコーダ３０は、１つまたは複数のコードワードを使用して判断された、ＴＵのための１つまたは複数のＣＢＦとＴＳＦと、および／またはサブＴＵのためのＣＢＦまたはＴＳＦを使用してＣＵを復号し得る。一例として、逆変換ユニット７８および／または逆量子化ユニット７６は、逆変換および逆量子化を実行するために、判断されたＣＢＦを使用して、ＣＵの１つまたは複数のＴＵのうちのどのＴＵが、少なくとも１つの非０係数を含む成分を含んでいるかを判断し、判断されたＴＳＦを使用して、１つまたは複数のＴＵのためのパーティション情報を生成し得る。この場合も、上記で説明したＶＬＣコーディング技法を使用すると、平均な場合、コードワードによって表される個々にコーディングされたＣＢＦおよびＴＳＦよりも少ないビットを備える１つまたは複数のコードワードが生じ得るので、本開示の技法を使用したとき、コードワードを含むコード化ビットストリームのための相対的なビット節約があり得る。
【０１６８】
動き補償ユニット７２は、ビットストリーム中で受信された動きベクトルを使用して、参照フレームストア８２中の参照フレーム中の予測ブロックを識別し得る。イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。
【０１６９】
イントラ予測ユニット７４は、たとえば、隣接する、前に復号されたブロックのピクセルを使用して、符号化ブロックをイントラ予測するために符号化ブロックのイントラ予測モードの指示を使用し得る。ブロックがインター予測モード符号化される例では、動き補償ユニット７２は、符号化ブロックについての動き補償予測データを取り出すために、動きベクトルを定義する情報を受信し得る。いずれの場合も、動き補償ユニット７２またはイントラ予測ユニット７４は、予測ブロックを定義する情報を加算器８０に与え得る。
【０１７０】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、Ｈ．２６４復号規格によって定義される、またはＨＭによって実行されるなど、従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、各ブロックについてエンコーダ５０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１７１】
逆変換ユニット５８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。上記で説明したように、本開示の技法に従って、ＣＵの１つまたは複数のＴＵの変換係数がどのように区分されるかを記述するシンタックス情報は、場合によっては他のシンタックス情報とともに、１つまたは複数のＴＵについてジョイントコーディングされ、本明細書で説明するように逆変換ユニット５８によって使用され得る。
【０１７２】
動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１７３】
動き補償ユニット７２は、符号化ブロックのためのシンタックス情報のいくつかを使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されるブロックのサイズと、符号化ビデオシーケンスのフレームまたはスライスの各ブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化ブロックまたはパーティションのための１つまたは複数の参照フレーム（および参照フレームリスト）と、符号化ビデオシーケンスを復号するための他の情報とを判断する。
【０１７４】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニット７４によって生成される対応する予測ブロックと合計して、復号ブロックを形成する。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理し得る。復号ビデオブロックは、次いで、参照フレームストア８２に記憶され、参照フレームストア８２は、参照ブロックを後続の動き補償に与え、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号ビデオを生成する。
【０１７５】
このように、図３のビデオデコーダ３０は、ビデオデータのＣＵのＴＵのコードワードに基づいて、ＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断することと、それらの判断に基づいてＴＵを復号することとを行うように構成されたビデオデコーダを含む、ビデオデータを復号するための装置の一例を表す。
【０１７６】
図４は、ビデオデータのＣＵのＴＵの例を示す概念図である。図４に示すように、ビデオフレーム４００の現在のＣＵ４０２は、現在コーディングされているＣＵを表し得る。たとえば、現在のＣＵ４０２は、前に説明したように、ＬＣＵに関連するＣＵ４分木中のリーフノードに対応する、ビデオフレーム４００のＬＣＵのサブＣＵを表し得る。現在のＣＵ４０２は、任意のサイズ、たとえば、８×８、１６×１６、３２×３２、または６４×６４を有し得る。図４に示すように、現在のＣＵ４０２は現在のＴＵ４０４を含み得、現在のＴＵ４０４は、Ｙ成分４１０と、Ｕ成分４１２と、Ｖ成分４１４との各々を含み得る。たとえば、Ｙ成分４１０は、現在のＴＵ４０４のルミナンス成分に対応し得、Ｕ成分４１２およびＶ成分４１４は、それぞれ現在のＴＵ４０４の第１のクロミナンス成分および第２のクロミナンス成分に対応し得る。
【０１７７】
この例では、図４に示すように、現在のＴＵ４０４のサイズは現在のＣＵ４０２のサイズに対応し得る。さらに、Ｙ成分４１０とＵ成分４１２とＶ成分４１４との各々のサイズは、現在のＴＵ４０４のサイズに対応し得る。言い換えれば、Ｙ成分４１０とＵ成分４１２とＶ成分４１４との各々のサイズは、現在のＣＵ４０２のサイズに対応し得る。他の例によれば、現在のＴＵ４０４ならびに関連するＹ成分４１０、Ｕ成分４１２、およびＶ成分４１４は、サブＴＵならびにそれぞれのＹ、Ｕ、およびＶサブ成分に区分され得る。たとえば、現在のＴＵ４０４は４つのサブＴＵに区分され得、各サブＴＵは、現在のＴＵ４０４のＹ成分４１０、Ｕ成分４１２、およびＶ成分４１４のサブ成分に対応するそれぞれのＹ、Ｕ、およびＶ成分を含み得る。
【０１７８】
図４はまた、ビデオフレーム４００の現在のＣＵ４０２の隣接ＣＵ４０６を示す。図４に示すように、隣接ＣＵ４０６は、ビデオフレーム４００において現在のＣＵ４０２の左側に配置される。他の例では、隣接ＣＵ４０６、または現在のＣＵ４０２の他の隣接ＣＵは、ビデオフレーム４００において現在のＣＵ４０２の上方に配置され得る。さらに他の例では、現在のＣＵ４０２の隣接ＣＵは、現在のＣＵ４０２に隣接する他のロケーションに配置され得る。また、図４に示すように、現在のＴＵ４０４に関して上記で説明したのと実質的に同様の方法で、隣接ＣＵ４０６は隣接ＴＵ４０８を含み得、隣接ＴＵ４０８は、Ｙ成分４１６とＵ成分４１８とＶ成分４２０とを含み得、隣接ＴＵ４０８ならびに関連するＹ成分４１６、Ｕ成分４１８、およびＶ成分４２０は、サブＴＵならびにそれぞれのＹ、Ｕ、およびＶサブ成分に区分され得る。
【０１７９】
現在のＴＵ４０４を含む現在のＣＵ４０２の各ＴＵについて、および隣接ＴＵ４０８を含む隣接ＣＵ４０６の各ＴＵについて、それぞれのＴＵの１つまたは複数の成分、たとえば、Ｙ、Ｕ、またはＶ成分のうちの１つまたは複数が少なくとも１つの非０係数を含むか、すなわち、コーディングされるかどうかと、ＴＵがサブＴＵに分割されるかどうかとを記述するシンタックス情報が与えられ得る。このシンタックス情報は、概して、上記で説明したように、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとに対応し得る。たとえば、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとは、それぞれ、シングルビット値、たとえば、シングルビットフラグを使用して表され得る。いくつかの例では、ＣＢＦのうちの所与の１つの場合、ビデオエンコーダ２０は、ＣＢＦに対応するＴＵの成分が少なくとも１つの非０係数を含むことを示すために、対応するシングルビットフラグを「１」の値に設定し、成分が非０係数を含まないことを示すためにフラグを「０」の値に設定し得る。同様に、ＴＳＦの場合、ビデオエンコーダ２０は、ＴＵがサブＴＵに分割されることを示すために、対応するシングルビットフラグを「１」の値に設定し、ＴＵが分割されないことを示すためにフラグを「０」の値に設定し得る。
【０１８０】
本開示の技法によれば、一例として、ビデオエンコーダ２０は、ビデオデータのＣＵのＴＵ、たとえば、現在のＴＵ４０４、隣接ＴＵ４０８、あるいは現在のＴＵ４０４または隣接ＴＵ４０８のサブＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得る。たとえば、現在のＴＵ４０４のための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するとき、ビデオエンコーダ２０は、現在のＴＵ４０４のためのＴＳＦとともに、Ｙ成分４１０、Ｕ成分４１２、およびＶ成分４１４のうちの１つまたは複数に対応する１つまたは複数のＣＢＦをジョイント符号化し得る。前に説明したように、ビデオエンコーダ２０は、単一のＶＬＣコードワードを使用して１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得る。したがって、ビデオデコーダ３０は、単一のＶＬＣコードワードを受信し、コードワードを復号して、現在のＴＵ４０４のための１つまたは複数のＣＢＦとＴＳＦとを判断し得る。
【０１８１】
前にも説明したように、ビデオエンコーダ２０は、同じく単一のＶＬＣコードワード、たとえば、第１のコードワードを使用して、現在のＴＵ４０４のＴＳＦとともに、現在のＴＵ４０４のためのＹ成分４１０に対応するＣＢＦ、すなわち、ＣＢＦYと、Ｕ成分４１２とＶ成分４１４の両方に対応するＣＢＦ、すなわち、ＣＢＦCとをジョイント符号化し得る。さらに、場合によっては、ビデオエンコーダ２０はさらに、別の単一のＶＬＣコードワード、たとえば、第２のコードワードを使用して、Ｕ成分４１２およびＶ成分４１４に対応するＣＢＦ、すなわち、ＣＢＦUおよびＣＢＦVをジョイント符号化し得る。この場合も、ビデオデコーダ３０は、１つまたは複数の単一のＶＬＣコードワードを受信し、コードワードを復号して、現在のＴＵ４０４のための１つまたは複数のＣＢＦとＴＳＦとを判断し得る。
【０１８２】
これらの例では、１つまたは複数の単一のＶＬＣコードワードを使用して１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するために、ビデオエンコーダ２０は、現在のＴＵ４０４の符号化コンテキストに基づいてそれぞれのコードワードを含むＶＬＣテーブルを選択し得る。たとえば、現在のＴＵ４０４のための、ＣＢＦYとＣＢＦCとＴＳＦとを含む、１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するとき、符号化コンテキストは、現在のＴＵ４０４に対応するＰＵの予測モードと、現在のＴＵ４０４のパーティションレベルと、単一のＶＬＣコードワードによって表されるべき現在のＴＵ４０４の成分の数とのうちの１つまたは複数を含み得る。さらに、現在のＴＵ４０４のためのＣＢＦUとＣＢＦVとをジョイント符号化するとき、符号化コンテキストは、現在のＣＵ４０２のパーティションレベルと、現在のＴＵ４０４のパーティションレベルと、現在のＴＵ４０４の隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数を含み得る。この例では、隣接ＴＵは、本明細書で説明するのと同じ方法でルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとがそれについて前にジョイント符号化された現在のＣＵ４０２の他のＴＵであり得る。ビデオエンコーダ２０は、次いで、コードワードが現在のＴＵ４０４のための１つまたは複数のＣＢＦとＴＳＦとに、またはクロミナンスＣＢＦに対応するという指示をＶＬＣテーブルが与えるように、ＶＬＣテーブルからそれぞれの単一のＶＬＣコードワードを選択し、現在のＴＵ４０４のためのコードワードを与え得る。
【０１８３】
同様に、１つまたは複数の単一のＶＬＣコードワードを復号して現在のＴＵ４０４のための１つまたは複数のＣＢＦとＴＳＦと、またはクロミナンスＣＢＦを判断するために、ビデオデコーダ３０はまた、現在のＴＵ４０４の復号コンテキストに基づいてそれぞれのコードワードを含むＶＬＣテーブルを選択し得、復号コンテキストは符号化コンテキストと実質的に同じであり得る。したがって、ビデオエンコーダ２０とビデオデコーダ３０とによって選択されるＶＬＣテーブルは実質的に同じであり得る。ビデオデコーダ３０は、次いで、１つまたは複数の単一のＶＬＣコードワードに基づいて現在のＴＵ４０４のための１つまたは複数のＣＢＦとＴＳＦとを判断し、その判断に基づいて現在のＴＵ４０４を復号し得る。
【０１８４】
別の例として、ビデオエンコーダ２０は、この場合も、たとえば、現在のＴＵ４０４、隣接ＴＵ４０８、あるいは現在のＴＵ４０４または隣接ＴＵ４０８のサブＴＵなど、ＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイント符号化し得る。たとえば、現在のＴＵ４０４のサブＴＵのためのＣＢＦをジョイント符号化するとき、ビデオエンコーダ２０は、現在のＴＵ４０４のＹ成分４１０のサブ成分に対応する、サブＴＵのそれぞれのＹ成分に対応するＣＢＦをジョイント符号化し得る。たとえば、ビデオエンコーダ２０は、サブＴＵのＹ成分のためのそれぞれのＣＢＦのみがコーディングされる、すなわち、サブＴＵのための他のＣＢＦおよびＴＳＦが推測されるとき、サブＴＵのＣＢＦをジョイント符号化し得る。同様に、現在のＴＵ４０４のサブＴＵのためのＴＳＦをジョイント符号化するとき、ビデオエンコーダ２０は、サブＴＵのＣＢＦのいずれもコーディングされない、すなわち、サブＴＵのＣＢＦのすべてが推測されるとき、サブＴＵのＴＳＦをジョイント符号化し得る。
【０１８５】
前にも説明したように、ビデオエンコーダ２０は、単一のＶＬＣコードワードを使用してサブＴＵのためのＣＢＦまたはＴＳＦをジョイント符号化し得る。したがって、ビデオデコーダ３０は、単一のＶＬＣコードワードを受信し、コードワードを復号して、サブＴＵのためのＣＢＦまたはＴＳＦを判断し得る。
【０１８６】
この例では、単一のＶＬＣコードワードを使用してＣＢＦまたはＴＳＦをジョイント符号化するために、ビデオエンコーダ２０は、この場合も、サブＴＵの符号化コンテキストに基づいてコードワードを含むＶＬＣテーブルを選択し得る。たとえば、サブＴＵのＣＢＦをジョイント符号化するとき、符号化コンテキストはサブＴＵのＴＳＦの値を含み得る。同様に、サブＴＵのＴＳＦをジョイント符号化するとき、符号化コンテキストは、サブＴＵのＣＢＦ、たとえば、サブＴＵのＹ成分のためのＣＢＦの値を含み得る。ビデオエンコーダ２０は、次いで、コードワードがサブＴＵのためのＣＢＦまたはＴＳＦに対応するという指示をＶＬＣテーブルが与えるように、ＶＬＣテーブルから単一のＶＬＣコードワードを選択し、サブＴＵのためのコードワードを与え得る。
【０１８７】
同様に、単一のＶＬＣコードワードを復号してサブＴＵのためのＣＢＦまたはＴＳＦを判断するために、ビデオデコーダ３０はまた、サブＴＵの復号コンテキストに基づいてＶＬＣテーブルを選択し得、復号コンテキストは符号化コンテキストと実質的に同じであり得る。したがって、ビデオエンコーダ２０とビデオデコーダ３０とによって選択されるＶＬＣテーブルは、この場合も実質的に同じであり得る。ビデオデコーダ３０は、次いで、単一のＶＬＣコードワードに基づいてサブＴＵのためのＣＢＦまたはＴＳＦを判断し、その判断に基づいてサブＴＵを復号し得る。
【０１８８】
このようにして、本開示の技法に従って、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングし得る。さらに、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータのＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイントコーディングし得る。上記で説明したように、これらの技法により、ＴＵのシンタックス要素を個々にコーディングするときよりも相対的に効率的にビデオデータのＣＵのＴＵのためのＣＢＦおよびＴＳＦシンタックス要素をコーディングすることが可能になり得る。
【０１８９】
図５Ａは、ビデオデータのＣＵのＴＵの一例を示す概念図である。図５Ａに示すように、リーフノードＣＵの最大ＴＵを表し得るＴＵ５００は、サブＴＵ５０２、５０４、５０６、および５０８に分割され得る。この例では、ＴＵ５００が２Ｎ×２Ｎピクセルのサイズを有すると仮定する。したがって、サブＴＵ５０２、５０４、５０６、および５０８の各々はＮ×Ｎピクセルのサイズを有し得る。同様に、サブＴＵ５０４はサブＴＵ５１０、５１２、５１４、および５１６に分割され得、サブＴＵ５１０、５１２、５１４、および５１６の各々はＮ／２×Ｎ／２ピクセルのサイズを有し得る。サブＴＵ５１０、５１２、５１４、および５１６もＴＵ５００のサブＴＵと見なされる。同様に、サブＴＵ５１６はサブＴＵ５１８、５２０、５２２、および５２４に分割され得、サブＴＵ５１８、５２０、５２２、および５２４の各々はＮ／４×Ｎ／４ピクセルのサイズを有し得、以下同様である。したがって、この例では、ＴＵ５００はサブＴＵに分割され得、サブＴＵのいくつかはさらなるサブＴＵに分割され得る。言い換えれば、ＴＵ５００は、再帰的にサブＴＵに分割され得る。
【０１９０】
ＣＵのパーティションレベルに関して上記で説明したのと同様の方法で、ＣＵの最大ＴＵと最大ＴＵのサブＴＵとを含むＣＵの各ＴＵは、ＣＵのための「最大」ＴＵとも呼ばれるＣＵのルートノードＴＵに対応するレベル０から開始して、特定のパーティションレベル（または「深度」）に関連付けられ得る。図５Ａの例では、ＴＵ５００は、ＣＵの最大ＴＵに対応し得、パーティションレベル０に関連付けられ得る。同様に、ＴＵ５００のサブＴＵ５０２、５０４、５０６、および５０８はパーティションレベル１に関連付けられ得、サブＴＵ５０４のサブＴＵ５１０、５１２、５１４、および５１６はパーティションレベル２に関連付けられ得、サブＴＵ５１６のサブＴＵ５１８、５２０、５２２、および５２４はパーティションレベル３に関連付けられ得る。したがって、ビデオデータのＣＵのもう１つのＴＵがパーティションレベルを共有し得る。さらに、以下でより詳細に説明するように、ＣＵの１つまたは複数のＴＵのためのパーティションレベルを示す情報、ならびに他のシンタックス情報は、ＲＱＴまたは一様なパーティション構造などのデータ構造を使用して表され得る。
【０１９１】
図５Ｂは、図５ＡのＴＵ５００のためのパーティション情報を表すＲＱＴの一例を示す概念図である。図５Ｂに示すように、ＲＱＴ５２６は、ＴＵ５００に対応し、パーティションレベル０に関連付けられたルートノード５２８を含む。同じく図５Ｂに示すように、ＲＱＴ５２６は、子ノードをもたない末端または「リーフ」ノード５３０、５３４、５３６、５３８、５４０、５４２、５４６、５４８、５５０、および５５２と、それぞれ４つの子ノードを有する中間ノード５３２および５４４とを含む。この例では、ルートノード５２８は、３つのリーフノード５３０、５３４、および５３６と、１つの中間ノード５３２とを含む、４つの子ノードを有する。この例では、ノード５３０、５３２、５３４、および５３６は、それぞれＴＵ５００のサブＴＵ５０２、５０４、５０６、および５０８に対応し、それぞれパーティションレベル１に関連付けられる。
【０１９２】
ノード５３２はリーフノードでないので、ノード５３２は、３つのリーフノード５３８、５４０、および５４２と、１つの中間ノード５４４とを含む、４つの子ノードを含む。この例では、ノード５３８、５４０、５４２、および５４４は、それぞれＴＵ５００のサブＴＵ５１０、５１２、５１４、および５１６に対応し、それぞれパーティションレベル２に関連付けられる。中間ノード５４４は、それぞれＴＵ５００のサブＴＵ５１８、５２０、５２２、および５２４に対応し、それぞれパーティションレベル３に関連付けられた、４つのリーフノード５４６、５４８、５５０、および５５２を含む。概して、ビデオデータのＣＵのＴＵのためのＲＱＴは、ＲＱＴ５２６の例よりも多いまたは少ないノードおよび関連するパーティションレベルを含み得る。
【０１９３】
図５Ｃは、ビデオデータのＣＵのＴＵのための一様なパーティション構造の一例を示す概念図である。たとえば、ＴＵ５５６は、リーフノードＣＵの最大ＴＵを表し得る。他の例では、ＴＵ５５６は、ＣＵの最大ＴＵのサブＴＵを表し得、最大ＴＵは、前に説明したように、ＲＱＴに従って区分される。このようにして、本開示の技法によれば、一様なパーティション構造５５４は、ＣＵの最大ＴＵのための唯一のパーティション構造として使用されるか、または最大ＴＵに関連する図５Ｂに示したＲＱＴと併せて使用され得る。一例として、最大ＴＵは、一様なパーティション構造５５４に基づいてサブＴＵに分割され得る。別の例として、最大ＴＵは、ＲＱＴに基づいてサブＴＵに分割され得、サブＴＵのうちの１つまたは複数は、一様なパーティション構造５５４に基づいてさらなるサブＴＵに分割され得る。いずれの場合も、サブＴＵ５５８〜５８８は、一様なパーティション構造５５４に従って区分されたＴＵ５５６のサブＴＵに対応し得る。
【０１９４】
本開示の技法によれば、ＴＵ（たとえば、ＣＵの最大ＴＵ、または最大ＴＵのサブＴＵ）に関連する一様なパーティション構造は、一様なパーティション構造がＴＵのために使用されることと、一様なパーティション構造に従ってＴＵがそれに分割されるサブＴＵの数（たとえば、４、１６、６４など）とを示すシンタックス情報を使用してビットストリーム中でシグナリングされ得る。たとえば、一様なパーティション構造に従ってＴＵがそれに分割されるサブＴＵの数は、サブＴＵの各々のサイズを示し得る。さらに、いくつかの例では、一様なパーティション構造に従ってＴＵがそれに分割されるサブＴＵの数は、ＲＴＱに関して上記で説明したのと同様の方法でサブＴＵのパーティションレベルに対応し得る。概して、ビデオデータのＣＵの所与のＴＵのための一様なパーティション構造は、一様なパーティション構造５５４の例よりも多いまたは少ないパーティションを含み得る。
【０１９５】
再び図５Ａおよび図５Ｂを参照すると、ＲＱＴ５２６の各ノードは、対応するＴＵのための１つまたは複数のＣＢＦとＴＳＦとを含み得る。たとえば、前に説明したように、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとは、それぞれ、シングルビット値、たとえば、シングルビットフラグを使用して表され得る。上記で説明したように、いくつかの例では、ＣＢＦのうちの所与の１つの場合、ビデオエンコーダ２０は、ＣＢＦに対応するＴＵの成分が少なくとも１つの非０係数を含む、すなわち、コーディングされることを示すために、対応するシングルビットフラグを「１」の値に設定し、成分が非０係数を含まない、すなわち、コーディングされないことを示すためにフラグを「０」の値に設定し得る。同様に、ＴＳＦの場合、ビデオエンコーダ２０は、ＴＵがサブＴＵに分割されることを示すために、対応するシングルビットフラグを「１」の値に設定し、ＴＵが分割されないことを示すためにフラグを「０」の値に設定し得る。
【０１９６】
本開示の技法によれば、一例として、ビデオエンコーダ２０は、ＣＵのＴＵ、たとえば、ＴＵ５００、またはＴＵ５００のサブＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得る。前に説明したように、ビデオエンコーダ２０は、単一のＶＬＣコードワードを使用して１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化し得、ビデオデコーダ３０は、単一のＶＬＣコードワードを受信し、コードワードを復号して、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを判断し得る。
【０１９７】
別の例として、前にも説明したように、ビデオエンコーダ２０は、同じく単一のＶＬＣコードワードを使用して、ＴＵのルミナンス成分に対応するＣＢＦ、およびＴＵのＴＳＦとともに、ＣＵのＴＵ、たとえば、ＴＵ５００、またはＴＵ５００のサブＴＵの両方のクロミナンス成分に対応するＣＢＦ、すなわち、ＣＢＦCをジョイント符号化し得る。さらに、前にも説明したように、場合によっては、ビデオエンコーダ２０はさらに、別の単一のＶＬＣコードワードを使用して、ＴＵのクロミナンス成分に対応するＣＢＦをジョイント符号化し得る。この場合も、ビデオデコーダ３０は、１つまたは複数の単一のＶＬＣコードワードを受信し、コードワードを復号して、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを判断し得る。
【０１９８】
さらに別の例として、前にも説明したように、ビデオエンコーダ２０は、ＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦ、たとえば、ＴＵ５００のサブＴＵ５１０、５１２、５１４、および５１６をジョイント符号化し得る。前にも説明したように、ビデオエンコーダ２０は、同じく単一のＶＬＣコードワードを使用してＣＢＦまたはＴＳＦをジョイント符号化し得、ビデオデコーダ３０は、単一のＶＬＣコードワードを受信し、コードワードを復号して、サブＴＵのためのＣＢＦまたはＴＳＦを判断し得る。
【０１９９】
ビデオエンコーダ２０および／またはビデオデコーダ３０が、ＴＵ、たとえば、ＴＵ５００またはＴＵ５００のサブＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングする場合、ＴＵに対応するＲＱＴ５２６のノードは、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを表す１つまたは複数の単一の値（たとえば、１つまたは複数の単一のＶＬＣコードワード）を含み得る。言い換えれば、１つまたは複数のＣＢＦとＴＳＦとを表す１つまたは複数の単一の値は、元の１つまたは複数のＣＢＦとＴＳＦと同じノードまたはパーティション中に含まれ得る。
【０２００】
ビデオエンコーダ２０および／またはビデオデコーダ３０が、たとえば、ＴＵ５００またはＴＵ５００のサブＴＵなど、ＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイントコーディングする場合、ＴＵに対応するＲＱＴ５２６のノードは、サブＴＵのためのＣＢＦまたはＴＳＦを表す単一の値（たとえば、単一のＶＬＣコードワード）を含み得る。このようにして、サブＴＵのためのＣＢＦまたはＴＳＦを表す単一の値は、サブＴＵの親ＴＵに対応するノード中に含まれ得る。たとえば、ＴＵ５００に関して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、それぞれ、ＲＱＴ５２６のノード５３０、５３２、５３４、および５３６に対応する、ＴＵ５００のサブＴＵ５０２、５０４、５０６、および５０８のためのＣＢＦまたはＴＳＦをジョイントコーディングし得る。ＣＢＦまたはＴＳＦを表す得られた単一の値は、ノード５３０、５３２、５３４、および５３６の親ノードである、ＲＱＴ５２６のルートノード５２８中に含まれ得る。
【０２０１】
このようにして、本開示の技法に従って、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイントコーディングし得る。さらに、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオデータのＣＵのＴＵのサブＴＵのためのＣＢＦまたはＴＳＦをジョイントコーディングし得る。上記で説明したように、これらの技法により、ＴＵのシンタックス要素を個々にコーディングするときよりも相対的に効率的にビデオデータのＣＵのＴＵのためのＣＢＦおよびＴＳＦシンタックス要素をコーディングすることが可能になり得る。
【０２０２】
図６は、ビデオデータのＣＵのＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するための例示的な方法を示すフローチャートである。図６の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図６の技法について、ビデオエンコーダ２０（図１および図２）に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図６に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
【０２０３】
初めに、ビデオエンコーダ２０がビデオデータのブロックを受信する（６００）。このブロックは、上記で説明したように、ＬＣＵに関連するＣＵ４分木中のリーフノードに対応する、ＬＣＵのサブＣＵなどのＣＵに対応し得る。ＣＵは、たとえば、上記でも説明したように、最大ＴＵに関連するＲＱＴに従ってサブＴＵに分割され得る、ＣＵの最大ＴＵを含む、１つまたは複数のＴＵを含み得る。このようにして、図６の方法は、ＣＵの最大ＴＵを含む、ＣＵの任意のＴＵと、最大ＴＵのサブＴＵとに再帰的に適用され得る。
【０２０４】
ビデオエンコーダ２０は、さらに、ブロックまたはＣＵの所与のＴＵの１つまたは複数の成分がコーディングされるか、すなわち、少なくとも１つの非０係数を含むかどうかを判断する（６０２）。たとえば、エントロピー符号化ユニット５６が、上記で説明したように、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部としてこの判断を行い得、判断の結果は、ＴＵの１つまたは複数の成分のための１つまたは複数のＣＢＦに対応し得る。ビデオエンコーダ２０は、さらに、ＴＵがサブＴＵに分割されるかどうかを判断する（６０４）。たとえば、この判断は、上記でも説明したように、たとえば、変換ユニット５２および／またはビデオエンコーダ２０の他のユニットもしくは構成要素とともに、モード選択ユニット４０により、ＣＵの予測データを生成することの一部として、ＣＵを符号化するプロセスにおける初期に行われ得る。この判断の結果はＴＵのＴＳＦに対応し得る。
【０２０５】
例として、ビデオエンコーダ２０は、ＴＵの１つまたは複数の成分がコーディングされるかどうか、およびＴＵがサブＴＵに分割されるかどうかを判断すると仮定すると、ビデオエンコーダ２０は、さらに、対応する１つまたは複数のＣＢＦとＴＳＦとの値を判断し得る。たとえば、「１」のＣＢＦ値は、対応する成分がコーディングされることを示し得、「０」のＣＢＦ値は、成分がコーディングされないことを示し得る。同様に、「１」のＴＳＦ値は、ＴＵがサブＴＵに分割されることを示し得、「０」のＴＳＦ値は、ＴＵが分割されないことを示し得る。
【０２０６】
ビデオエンコーダ２０は、さらに、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを符号化し得る。たとえば、モード選択ユニット４０および／または変換ユニット５２が、ＴＳＦの値をエントロピー符号化ユニット５６に与え得る。上記で説明したように、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、１つまたは複数のＣＢＦの値を判断し得る。
【０２０７】
ＴＵのための１つまたは複数のＣＢＦとＴＳＦとを符号化するために、エントロピー符号化ユニット５６、またはビデオエンコーダ２０の別のユニットは、ＴＵのコンテキストを判断する（６０６）。ＴＵのコンテキストは、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるべきＴＵの成分の数のうちの１つまたは複数を含み得る。
【０２０８】
一例として、エントロピー符号化ユニット５６は、モード選択ユニット４０から、ＴＵに対応するＰＵの予測モードを示す情報を受信し得る。この情報は、ＣＵの予測データを生成することの一部として生成され得る。別の例として、エントロピー符号化ユニット５６は、ＣＵの他の前に符号化されたＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵ）からＴＵのパーティションレベルを判断し得る。さらに別の例として、エントロピー符号化ユニット５６は、ＣＵの他の前に符号化されたＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵおよび兄弟ＴＵ）を使用してＴＵのためのＣＢＦの値が推測され得るかどうかを判断することにより、コードワードによって表されるべきＴＵの成分の数を判断し得る。
【０２０９】
エントロピー符号化ユニット５６は、さらに、コンテキストに基づいてＶＬＣテーブルを選択する（６０８）。たとえば、ＶＬＣテーブルは、ＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを含み得る。エントロピー符号化ユニット５６は、さらに、ＶＬＣテーブルから上記の判断を表すコードワードを選択する（６１０）。すなわち、エントロピー符号化ユニット５６は、ブロックのＴＵの１つまたは複数の成分がコーディングされるかどうか、ならびにＴＵがサブＴＵに分割されるかどうかを表すコードワードを選択し得る。たとえば、上記で説明したように、エントロピー符号化ユニット５６は、ＣＢＦ値とＴＳＦ値とがコンテキストについてＴＵについて可能性が最も高い値であるとき、最も短い（たとえば、シングルビット）コードワードを選択し得る。一方、エントロピー符号化ユニット５６は、ＣＢＦ値とＴＳＦ値とが可能性が最も高い値でないとき、最も短いコードワード以外のコードワードを選択し得る。たとえば、コードワードは、ＣＢＦ値とＴＳＦ値との可能性、すなわち、コンテキストについてＴＵについて、ＴＵの１つまたは複数の成分がコーディングされ、ＴＵがサブＴＵに分割される可能性に反比例する長さ、たとえば、ビット長を有し得る。
【０２１０】
いくつかの例では、エントロピー符号化ユニット５６は、さらに、どの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてＶＬＣテーブルを更新する（６１２）。たとえば、エントロピー符号化ユニット５６は、前に説明したように、コンテキストについてより頻繁に発生する値が他のあまり頻繁に発生しない値よりも短いＶＬＣコードワードにマッピングされるように、判断されたＣＢＦ値およびＴＳＦ値に基づいてＶＬＣテーブル内のＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを更新し得る。
【０２１１】
最後に、エントロピー符号化ユニット５６は、コードワードをビットストリームに出力する（６１４）。たとえば、エントロピー符号化ユニット５６は、コードワードがＴＵのための１つまたは複数のＣＢＦとＴＳＦとを表す単一の値を備えるように、ＴＵに対応するＲＱＴのノード中のコードワードを含み得る。
【０２１２】
このように、図６の方法は、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、ＴＵがサブＴＵに分割されるかどうかを判断することと、ＶＬＣテーブルからコードワードを選択することであって、ＶＬＣテーブルは、コードワードが判断に対応するという指示を与える、選択することと、ＴＵのためのコードワードを与えることとを含む、ビデオデータを符号化する方法の一例を表す。
【０２１３】
図７は、ビデオデータのＣＵのＴＵのためのジョイント符号化された１つまたは複数のＣＢＦとＴＳＦとを復号するための例示的な方法を示すフローチャートである。この場合も、図７の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図７の技法について、ビデオデコーダ３０（図１および図３）に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図７に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
【０２１４】
初めに、ビデオデコーダ３０がビデオデータのブロックのＴＵのためのコードワードを受信する（７００）。ビデオデコーダ３０はまた、ブロックの予測モードおよび他のシンタックス情報を示すブロックのビデオデータ、たとえば、量子化変換係数および／またはブロックヘッダデータを受信し得る。図６の例示的な方法に関して上記で説明したように、このブロックは、ＬＣＵに関連するＣＵ４分木中のリーフノードに対応する、ＬＣＵのサブＣＵなどのＣＵに対応し得る。ＣＵは、たとえば、上記でも説明したように、最大ＴＵに関連するＲＱＴに従ってサブＴＵに分割され得る、ＣＵの最大ＴＵを含む、１つまたは複数のＴＵを含み得る。このようにして、図７の方法は、ＣＵの最大ＴＵを含む、ＣＵの任意のＴＵと、最大ＴＵのサブＴＵとに再帰的に適用され得る。上記でも説明したように、コードワードはＶＬＣコードワードを備え得る。
【０２１５】
ビデオデコーダ３０はさらに、ＴＵのコンテキストを判断する（７０２）。たとえば、エントロピー復号ユニット７０が、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるＴＵの成分の数とのうちの１つまたは複数に基づいて、エントロピー符号化ユニット５６に関して上記で説明したのと実質的に同様の方法でＴＵのコンテキストを判断し得る。
【０２１６】
一例として、エントロピー復号ユニット７０は、ＣＵのヘッダデータ内に含まれている受信シンタックス情報からＴＵに対応するＰＵの予測モードを判断し得る。別の例として、エントロピー復号ユニット７０は、ＣＵの他のＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵ）のための前に受信されたコードワードからＴＵのパーティションレベルを判断し得る。さらに別の例として、エントロピー復号ユニット７０は、ＣＵの他のＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵおよび兄弟ＴＵ）のための前に受信されたコードワードを使用してＴＵのためのＣＢＦの値が推測され得るかどうかを判断することにより、コードワードによって表されるＴＵの成分の数を判断し得る。
【０２１７】
エントロピー復号ユニット７０は、さらに、コンテキストに基づいてＶＬＣテーブルを選択する（７０４）。たとえば、ＶＬＣテーブルは、ＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを含み得る。エントロピー復号ユニット７０は、次いで、コードワードとＶＬＣテーブルとに基づいて、ＴＵの１つまたは複数の成分がコーディングされるか、すなわち、少なくとも１つの非０係数を含むかどうかを判断し得る。さらに、エントロピー復号ユニット７０は、コードワードとＶＬＣテーブルとに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断し得る。たとえば、エントロピー復号ユニット７０は、ＶＬＣテーブル内の受信コードワードにマッピングされた上記の判断に対応するＣＢＦおよびＴＳＦシンタックス要素の値を取り出し得る。このようにして、エントロピー復号ユニット７０は、ブロックのＴＵの１つまたは複数の成分がコーディングされることをコードワードが示すかどうか（７０６）、ならびにＴＵがサブＴＵに分割されることをコードワードが示すかどうか（７０８）を判断する。
【０２１８】
ビデオデコーダ３０のＶＬＣテーブルは、ビデオエンコーダ２０のＶＬＣテーブルと実質的に同様であり得る。前に説明したように、エントロピー復号ユニット７０は、エントロピー符号化ユニット５６に関して上記で説明したのと実質的に同様の方法でＴＵのコンテキストを判断し得る。したがって、ビデオデコーダ３０がコンテキストを使用してＶＬＣテーブルを選択すると、コードワードを選択するためにビデオエンコーダ２０によって使用されるＶＬＣテーブルのマッピングと実質的に同様の、ＣＢＦ値およびＴＳＦ値へのＶＬＣコードワードのマッピングを含むＶＬＣテーブルが得られ得る。マッピング間のこの類似性により、ビデオデコーダ３０は、コードワードとＶＬＣテーブルとを使用して上記の判断を行うことが可能になり得る。
【０２１９】
上記で説明したように、上記の判断の結果は、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとに対応し得る。たとえば、「１」のＣＢＦ値は、ＴＵの対応する成分がコーディングされることを示し得、「０」のＣＢＦ値は、成分がコーディングされないことを示し得る。同様に、「１」のＴＳＦ値は、ＴＵがサブＴＵに分割されることを示し得、「０」のＴＳＦ値は、ＴＵが分割されないことを示し得る。上記でも説明したように、コードワードは、ＣＢＦ値とＴＳＦ値との可能性、すなわち、コンテキストについてＴＵについて、ＴＵの１つまたは複数の成分がコーディングされ、ＴＵがサブＴＵに分割される可能性に反比例する長さを有し得る。
【０２２０】
最後に、エントロピー復号ユニット７０は、上記の判断に基づいてブロックまたはＣＵを復号する（７１０）。さらに、いくつかの例では、エントロピー復号ユニット７０は、どの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいてＶＬＣテーブルを更新する（７１２）。たとえば、エントロピー復号ユニット７０は、前に説明したように、コンテキストについてより頻繁に発生する値が他のあまり頻繁に発生しない値よりも短いＶＬＣコードワードにマッピングされるように、判断されたＣＢＦ値およびＴＳＦ値に基づいてＶＬＣテーブル内のＣＢＦ値およびＴＳＦ値へのコードワードのマッピングを更新し得る。このようにして、ビデオデコーダ３０は、ＶＬＣテーブル内のマッピングを、ＴＵのための１つまたは複数のＣＢＦとＴＳＦとをジョイント符号化するためにビデオエンコーダ２０によって使用されるＶＬＣテーブル内のマッピングと合わせ得る。
【０２２１】
このように、図７の方法は、ビデオデータのＣＵのＴＵのコードワードに基づいて、ＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断することと、それらの判断に基づいてＴＵを復号することとを含む、ビデオデータを復号する方法の一例を表す。
【０２２２】
図８は、ビデオデータのＣＵのＴＵのためのルミナンスＣＢＦと、クロミナンスＣＢＦと、ＴＳＦとをジョイント符号化するための例示的な方法を示すフローチャートである。この場合も、図８の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図８の技法について、ビデオエンコーダ２０（図１および図２）に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図８に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
【０２２３】
初めに、ビデオエンコーダ２０がビデオデータのブロックを受信する（８００）。上記で説明したように、このブロックは、ＬＣＵに関連するＣＵ４分木中のリーフノードに対応する、ＬＣＵのサブＣＵなどのＣＵに対応し得る。上記でも説明したように、ＣＵは、たとえば、最大ＴＵに関連するＲＱＴに従ってサブＴＵに分割され得る、ＣＵの最大ＴＵを含む、１つまたは複数のＴＵを含み得る。このようにして、図８の方法は、ＣＵの最大ＴＵを含む、ＣＵの任意のＴＵと、最大ＴＵのサブＴＵとに再帰的に適用され得る。
【０２２４】
ビデオエンコーダ２０は、さらに、ブロックまたはＣＵの所与のＴＵの第１のクロミナンス成分または第２のクロミナンス成分がコーディングされるか、すなわち、少なくとも１つの非０係数を含むかどうかを判断する（８０２）。たとえば、エントロピー符号化ユニット５６が、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部として、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされるかどうかを判断し得る。
【０２２５】
エントロピー符号化ユニット５６は、たとえば、ＣＢＦUとＣＢＦVとに対応する、ＴＵの第１のクロミナンス成分と第２のクロミナンス成分とのためのＣＢＦの前に判断された値のビット単位での「論理和」をとることによってこの判断を行い得、ＵおよびＶは、それぞれ第１のクロミナンス成分および第２のクロミナンス成分を指す。他の例では、エントロピー符号化ユニット５６は、他の技法を使用して、たとえば、この判断を直接行うことによってこの判断を行い得る。いずれの場合も、この判断の結果は、ＴＵのクロミナンスＣＢＦ、たとえば、ＣＢＦCに対応し得、ＣＢＦCは、ＣＢＦU｜ＣＢＦVを表し得、「｜」はビット単位での「論理和」演算子を指す。
【０２２６】
いくつかの例では、ビデオエンコーダ２０は、さらに、ＴＵのルミナンス成分がコーディングされるかどうかを判断する（８０４）。ＴＵの第１のクロミナンス成分と第２のクロミナンス成分とに関して上記で説明したのと同様の方法で、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部としてこの判断を行い得る。たとえば、この判断の結果は、ＴＵのルミナンスＣＢＦ、たとえば、ＣＢＦYに対応し得、Ｙはルミナンス成分を指す。
【０２２７】
ビデオエンコーダ２０は、さらに、ＴＵがサブＴＵに分割されるかどうかを判断する（８０６）。上記で説明したように、この判断は、たとえば、変換ユニット５２とともに、モード選択ユニット４０により、ＣＵの予測データを生成することの一部として、ＣＵを符号化するプロセスにおける初期に行われ得、判断の結果はＴＵのＴＳＦに対応し得る。
【０２２８】
この場合も、例として、ビデオエンコーダ２０は、ＴＵのルミナンス成分がコーディングされるかどうか、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされるかどうか、ならびにＴＵがサブＴＵに分割されるかどうかを判断すると仮定すると、ビデオエンコーダ２０は、対応するＣＢＦY、ＣＢＦC、およびＴＳＦの値をさらに判断し得る。たとえば、「１」のＣＢＦY値は、ＴＵのルミナンス成分がコーディングされることを示し得、「０」のＣＢＦY値は、ルミナンス成分がコーディングされないことを示し得る。同様に、「１」のＣＢＦC値は、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされることを示し得、「０」のＣＢＦC値は、第１のクロミナンス成分および第２のクロミナンス成分がコーディングされないことを示し得る。さらに、「１」のＴＳＦ値は、ＴＵがサブＴＵに分割されることを示し得、「０」のＴＳＦ値は、ＴＵが分割されないことを示し得る。
【０２２９】
ビデオエンコーダ２０はさらに、ＴＵのＣＢＦY、ＣＢＦC、およびＴＳＦをジョイント符号化し得る。上記で説明したように、たとえば、モード選択ユニット４０および／または変換ユニット５２が、ＴＳＦの値をエントロピー符号化ユニット５６に与え得、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部としてＣＢＦYおよびＣＢＦCの値を判断し得る。
【０２３０】
ＴＵのＣＢＦY、ＣＢＦC、およびＴＳＦをジョイント符号化するために、エントロピー符号化ユニット５６、またはビデオエンコーダ２０の別のユニットは、ＴＵのための第１のコンテキストを判断する（８０８）。図６〜図７を参照しながら上記で説明したのと同様の方法で、ＣＵのための第１のコンテキストは、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるべきＴＵの成分の数のうちの１つまたは複数を含み得る。
【０２３１】
この場合も、一例として、エントロピー符号化ユニット５６は、モード選択ユニット４０から、ＴＵに対応するＰＵの予測モードを示す情報を受信し得る。この情報は、ＣＵの予測データを生成することの一部として生成され得る。別の例として、エントロピー符号化ユニット５６は、ＣＵの他の前に符号化されたＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵ）からＴＵのパーティションレベルを判断し得る。さらに別の例として、エントロピー符号化ユニット５６は、ＣＵの他の前に符号化されたＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵおよび兄弟ＴＵ）を使用してＴＵのためのＣＢＦの値が推測され得るかどうかを判断することにより、コードワードによって表されるべきＴＵの成分の数を判断し得る。
【０２３２】
エントロピー符号化ユニット５６は、さらに、第１のコンテキストに基づいて第１のＶＬＣテーブルを選択する（８１０）。たとえば、第１のＶＬＣテーブルは、ＣＢＦY、ＣＢＦC、およびＴＳＦ値へのコードワードのマッピングを含み得る。エントロピー符号化ユニット５６は、さらに、第１のＶＬＣテーブルから上記の判断を表す第１のコードワードを選択する（８１２）。たとえば、上記で説明したように、エントロピー符号化ユニット５６は、ＣＢＦY値とＣＢＦC値とＴＳＦ値とが第１のコンテキストについてＴＵについて可能性が最も高い値を備えるとき、最も短い（たとえば、シングルビット）コードワードを選択し得る。一方、エントロピー符号化ユニット５６は、ＣＢＦY値とＣＢＦC値とＴＳＦ値とが可能性が最も高い値でないとき、最も短いコードワード以外のコードワードを選択し得る。たとえば、選択されたコードワードは、ＣＢＦY値とＣＢＦC値とＴＳＦ値との可能性、すなわち、この場合も第１のコンテキストについてＴＵについて、ＴＵのルミナンス成分がコーディングされ、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされ、ＴＵがサブＴＵに分割される可能性に反比例する長さ、たとえば、ビット長を有し得る。
【０２３３】
上記でも説明したように、いくつかの例では、エントロピー符号化ユニット５６は、さらに、どの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいて第１のＶＬＣテーブルを更新する（８１４）。たとえば、エントロピー符号化ユニット５６は、前に説明したように、第１のコンテキスト内でより頻繁に発生する値が他のあまり頻繁に発生しない値よりも短いコードワードにマッピングされるように、判断されたＣＢＦY値とＣＢＦC値とＴＳＦ値とに基づいて第１のＶＬＣテーブル内のＣＢＦY値とＣＢＦC値とＴＳＦ値とへのコードワードのマッピングを更新し得る。
【０２３４】
最後に、エントロピー符号化ユニット５６は、第１のコードワードをビットストリームに出力する（８１６）。たとえば、エントロピー符号化ユニット５６は、第１のコードワードがＴＵのためのＣＢＦYとＣＢＦCとＴＳＦとを表す単一の値を備えるように、ＣＵのためのＲＱＴにおける第１のコードワードを含み得る。
【０２３５】
上記で説明したように、ビデオエンコーダ２０は、ブロックのＴＵの第１のクロミナンス成分または第２のクロミナンス成分がコーディングされるかどうかを判断し得る（８１８）。このようにして、ビデオエンコーダ２０は、前に説明したように、ブロックのＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされるかどうかを判断し得る。第１のクロミナンス成分と第２のクロミナンス成分の両方がコーディングされない場合、エントロピー符号化ユニット５６は、ＴＵのためのルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとをジョイント符号化するのを停止し（８２０）、他のコーディングタスク、たとえば、ＣＵまたは後続のＣＵのための他のシンタックス要素の符号化に進む。しかしながら、第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされる場合、ビデオエンコーダ２０は、第１のクロミナンス成分および第２のクロミナンス成分のうちのどちらがコーディングされるかを示すことによって符号化プロセスを続け得る。
【０２３６】
たとえば、エントロピー符号化ユニット５６は、第１のクロミナンス成分がコーディングされるかどうかを判断する（８２２）。エントロピー符号化ユニット５６はさらに、第２のクロミナンス成分がコーディングされるかどうかを判断する（８２４）。上記で説明したように、エントロピー符号化ユニット５６は、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部としてこれらの判断を行い得、これらの判断は、それぞれＴＵのＣＢＦUおよびＣＢＦVに対応し得る。上記でも説明したように、いくつかの例では、これらの判断は、ＴＵのＣＢＦCを判断するために符号化プロセスにおいて前もって行われ得る。他の例では、これらの判断は、符号化プロセスにおける異なるポイントにおいて、たとえば、第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされるときのみ行われ得る。
【０２３７】
上記で説明したのと同様の方法で、例として、ビデオエンコーダ２０は、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分がコーディングされるかどうかを判断すると仮定すると、ビデオエンコーダ２０は、対応するＣＢＦUおよびＣＢＦVの値をさらに判断し得る。この場合も、たとえば、「１」のＣＢＦ値は、ＴＵの対応するクロミナンス成分がコーディングされることを示し得、「０」のＣＢＦ値は、クロミナンス成分がコーディングされないことを示し得る。
【０２３８】
ビデオエンコーダ２０は、さらに、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分がコーディングされるかどうかの指示を与え得る。いくつかの例では、ビデオエンコーダ２０は、ビットストリーム中でＴＵのＣＢＦUおよびＣＢＦVを明示的にシグナリングすることによってこの指示を与え得、各ＣＢＦは個々にシグナリングされる。他の例では、ビデオエンコーダ２０は、ＴＵのＣＢＦYとＣＢＦCとＴＳＦとをジョイント符号化することに関して上記で説明したのと実質的に同様の方法でＴＵのＣＢＦUおよびＣＢＦVをジョイント符号化することによってこの指示を与え得る。
【０２３９】
ＴＵのＣＢＦUおよびＣＢＦVをジョイント符号化するために、エントロピー符号化ユニット５６、またはビデオエンコーダ２０の別のユニットは、ＴＵのための第２のコンテキストを判断する（８２６）。たとえば、エントロピー符号化ユニット５６は、たとえば、ＣＵのパーティションレベルと、ＴＵのパーティションレベルと、ＴＵに対応するＰＵの予測モードと、ＴＵの隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数に基づいてＴＵのための第２のコンテキストを判断し得る。たとえば、隣接ＴＵは、本明細書で説明するのと同じ方法でルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとがそれについて前にジョイント符号化されたＣＵの他のＴＵであり得る。一例として、エントロピー符号化ユニット５６は、前に説明したように、たとえば、ＣＵのＬＣＵに関連するＣＵ４分木に対応する、ＣＵを符号化するために使用されるシンタックス情報を生成することの一部としてＣＵのパーティションレベルを判断し得る。
【０２４０】
エントロピー符号化ユニット５６は、さらに、第２のコンテキストに基づいて第２のＶＬＣテーブルを選択する（８２８）。たとえば、第２のＶＬＣテーブルは、ＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを含み得る。いくつかの例では、エントロピーコーディングユニット５６は、第１のＶＬＣテーブルと第２のＶＬＣテーブルの両方を選択するために同じコンテキストを使用し得、その場合、上記で説明した第１のコンテキストと第２のコンテキストとは同じコンテキストを備え得る。
【０２４１】
エントロピー符号化ユニット５６は、さらに、第２のＶＬＣテーブルから、第１のクロミナンス成分および第２のクロミナンス成分についての上記の判断を表す第２のコードワードを選択する（８３０）。たとえば、上記で説明したように、エントロピー符号化ユニット５６は、ＣＢＦU値およびＣＢＦV値が第２のコンテキストについてＴＵについて可能性が最も高い値を備えるとき、最も短い（たとえば、シングルビット）コードワードを選択し得る。一方、エントロピー符号化ユニット５６は、ＣＢＦU値およびＣＢＦV値が可能性が最も高い値でないとき、最も短いコードワード以外のコードワードを選択し得る。この場合も、たとえば、第２のコードワードは、ＣＢＦU値およびＣＢＦV値の可能性、すなわち、この場合も第２のコンテキストについてＴＵについて、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分がコーディングされる可能性に反比例する長さ、たとえば、ビット長を有し得る。
【０２４２】
上記で説明したように、いくつかの例では、エントロピー符号化ユニット５６は、さらに、どの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいて第２のＶＬＣテーブルを更新する（８３２）。たとえば、エントロピー符号化ユニット５６は、前に説明したように、第２のコンテキスト内でより頻繁に発生する値が他のあまり頻繁に発生しない値よりも短いコードワードにマッピングされるように、判断されたＣＢＦU値およびＣＢＦV値に基づいて第２のＶＬＣテーブル内のＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを更新し得る。
【０２４３】
最後に、エントロピー符号化ユニット５６は、第２のコードワードをビットストリームに出力する（８３４）。たとえば、エントロピー符号化ユニット５６は、第２のコードワードがＴＵのＣＢＦUとＣＢＦVとを表す単一の値を備えるように、第１のコードワードとともに、ＣＵのためのＲＱＴにおける第２のコードワードを含み得る。エントロピー符号化ユニット５６は、次いで、ＴＵのためのルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとをジョイント符号化するのを停止し（８２０）、他のコーディングタスク、たとえば、ＣＵまたは後続のＣＵのための他のシンタックス要素の符号化に進む。
【０２４４】
このように、図８の方法は、ビデオデータのＣＵのＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、ＴＵがサブＴＵに分割されるかどうかを判断することと、ＶＬＣテーブルからコードワードを選択することであって、ＶＬＣテーブルは、コードワードが判断に対応するという指示を与える、選択することと、ＴＵのためのコードワードを与えることとを含む、ビデオデータを符号化する方法の一例を表す。
【０２４５】
図９は、ビデオデータのＣＵのＴＵのためのジョイント符号化されたルミナンスＣＢＦと、クロミナンスＣＢＦと、ＴＳＦとを復号するための例示的な方法を示すフローチャートである。この場合も、図９の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せのいずれで実装されるかにかかわらず、任意の処理ユニットまたはプロセッサによって実行され得、ソフトウェアまたはファームウェアで実装されるとき、ソフトウェアまたはファームウェアのための命令を実行するために、対応するハードウェアが提供され得る。例として、図９の技法について、ビデオデコーダ３０（図１および図３）に関して説明するが、他のデバイスが同様の技法を実行するように構成され得ることを理解されたい。その上、図９に示すステップは、異なる順序でまたは並列に実行され得、本開示の技法から逸脱することなく、追加のステップが追加され、いくつかのステップが省略され得る。
【０２４６】
初めに、ビデオデコーダ３０がビデオデータのブロックのＴＵのための第１のコードワードを受信する（９００）。上記で説明したように、ビデオデコーダ３０はまた、たとえば、ブロックの予測モードおよび他のシンタックス情報を示す、量子化変換係数および／またはブロックヘッダデータなど、ブロックのビデオデータを受信し得る。上記でも説明したように、このブロックは、ＬＣＵに関連するＣＵ４分木中のリーフノードに対応する、ＬＣＵのサブＣＵなどのＣＵに対応し得る。ＣＵは、たとえば、上記でも説明したように、最大ＴＵに関連するＲＱＴに従ってサブＴＵに分割され得る、ＣＵの最大ＴＵを含む、１つまたは複数のＴＵを含み得る。このようにして、図９の方法は、ＣＵの最大ＴＵを含む、ＣＵの任意のＴＵと、最大ＴＵのサブＴＵとに再帰的に適用され得る。上記でも説明したように、第１のコードワードはＶＬＣコードワードを備え得る。
【０２４７】
ビデオデコーダ３０はさらに、ＴＵのための第１のコンテキストを判断する（９０２）。たとえば、エントロピー復号ユニット７０が、たとえば、ＴＵに対応するＰＵの予測モードと、ＴＵのパーティションレベルと、コードワードによって表されるＴＵの成分の数とのうちの１つまたは複数に基づいて、図８のエントロピー符号化ユニット５６に関して上記で説明したのと実質的に同様の方法でＴＵのための第１のコンテキストを判断し得る。
【０２４８】
一例として、エントロピー復号ユニット７０は、ＣＵのヘッダデータ内に含まれている受信シンタックス情報からＴＵに対応するＰＵの予測モードを判断し得る。別の例として、エントロピー復号ユニット７０は、ＣＵの他のＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵ）のための前に受信されたコードワードからＴＵのパーティションレベルを判断し得る。さらに別の例として、エントロピー復号ユニット７０は、ＣＵの他のＴＵ（たとえば、対応するＲＱＴにおけるＴＵの親ＴＵおよび兄弟ＴＵ）のための前に受信されたコードワードを使用して推測を行うことにより、コードワードによって表されるＴＵの成分の数を判断し得る。
【０２４９】
エントロピー復号ユニット７０は、さらに、第１のコンテキストに基づいて第１のＶＬＣテーブルを選択する（９０４）。たとえば、第１のＶＬＣテーブルは、ＣＢＦY、ＣＢＦC、およびＴＳＦ値へのコードワードのマッピングを含み得る。エントロピー復号ユニット７０は、さらに、第１のコードワードと第１のＶＬＣテーブルとに基づいて、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされるか、すなわち、少なくとも１つの非０係数を含むかどうかを判断し得る。いくつかの例では、エントロピー復号ユニット７０は、さらに、第１のコードワードと第１のＶＬＣテーブルとに基づいて、ＴＵのルミナンス成分がコーディングされるかどうかを判断し得る。エントロピー復号ユニット７０は、さらに、第１のコードワードと第１のＶＬＣテーブルとに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断し得る。たとえば、エントロピー復号ユニット７０は、第１のＶＬＣテーブル内の受信された第１のコードワードにマッピングされた上記の判断に対応するＣＢＦY、ＣＢＦC、およびＴＳＦシンタックス要素の値を取り出し得る。このようにして、エントロピー復号ユニット７０は、ブロックのＴＵの第１のクロミナンス成分または第２のクロミナンス成分がコーディングされることを第１のコードワードが示すかどうか（９０６）、ＴＵのルミナンス成分がコーディングされることを第１のコードワードが示すかどうか（９０８）、およびＴＵがサブＴＵに分割されることを第１のコードワードが示すかどうか（９１０）を判断する。
【０２５０】
この場合も、ビデオデコーダ３０のＶＬＣテーブルは、ビデオエンコーダ２０のＶＬＣテーブルと実質的に同様であり得る。前に説明したように、エントロピー復号ユニット７０は、図８のエントロピー符号化ユニット５６に関して上記で説明したのと実質的に同様の方法でＴＵのための第１のコンテキストを判断し得る。したがって、ビデオデコーダ３０が第１のコンテキストを使用して第１のＶＬＣテーブルを選択すると、第１のコードワードを選択するためにビデオエンコーダ２０によって使用されるＶＬＣテーブルのマッピングと実質的に同様の、ＣＢＦY値とＣＢＦC値とＴＳＦ値とへのＶＬＣコードワードのマッピングを含む第１のＶＬＣテーブルが得られ得る。マッピング間のこの類似性により、ビデオデコーダ３０は、第１のコードワードと第１のＶＬＣテーブルとを使用して上記の判断を行うことが可能になり得る。
【０２５１】
上記で説明したように、上記の判断の結果は、ＴＵのＣＢＦY、ＣＢＦC、およびＴＳＦに対応し得る。たとえば、「１」のＣＢＦY値は、ＴＵのルミナンス成分がコーディングされることを示し得、「０」のＣＢＦY値は、ルミナンス成分がコーディングされないことを示し得る。同様に、「１」のＣＢＦC値は、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされることを示し得、「０」のＣＢＦC値は、第１のクロミナンス成分および第２のクロミナンス成分がコーディングされないことを示し得る。同様に、「１」のＴＳＦ値は、ＴＵがサブＴＵに分割されることを示し得、「０」のＴＳＦ値は、ＴＵが分割されないことを示し得る。上記でも説明したように、第１のコードワードは、ＣＢＦY値とＣＢＦC値とＴＳＦ値との可能性、すなわち、第１のコンテキストについてＴＵについて、ＴＵのルミナンス成分がコーディングされ、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされ、ＴＵがサブＴＵに分割される可能性に反比例する長さを有し得る。
【０２５２】
上記でも説明したように、いくつかの例では、エントロピー復号ユニット７０は、どの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいて第１のＶＬＣテーブルを更新する（９１２）。たとえば、エントロピー復号ユニット７０は、前に説明したように、第１のコンテキスト内でより頻繁に発生する値が他のあまり頻繁に発生しない値よりも短いコードワードにマッピングされるように、判断されたＣＢＦY値とＣＢＦC値とＴＳＦ値とに基づいて第１のＶＬＣテーブル内のＣＢＦY値とＣＢＦC値とＴＳＦ値とへのコードワードのマッピングを更新し得る。
【０２５３】
上記で説明したように、ビデオデコーダ３０は、ブロックのＴＵの第１のクロミナンス成分または第２のクロミナンス成分がコーディングされるかどうかを判断する（９１４）。このようにして、ビデオデコーダ３０は、前に説明したように、ブロックのＴＵの第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされるかどうかを判断し得る。第１のクロミナンス成分と第２のクロミナンス成分の両方がコーディングされない場合、エントロピー復号ユニット７０は、ＴＵのためのジョイント符号化されたルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとを復号するのを停止し（９１６）、他のコーディングタスク、たとえば、ＣＵまたは後続のＣＵのための他のシンタックス要素の復号に進む。しかしながら、第１のクロミナンス成分および第２のクロミナンス成分のうちの少なくとも１つがコーディングされる場合、ビデオデコーダ３０は、第１のクロミナンス成分および第２のクロミナンス成分のうちのどちらがコーディングされるかを判断することによって復号プロセスを続け得る。
【０２５４】
たとえば、ビデオデコーダ３０は、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分がコーディングされるかどうかの指示を受信し得る。いくつかの例では、ビデオデコーダ３０は、ビットストリーム中でＴＵのための明示的にシグナリングされたＣＢＦUおよびＣＢＦVの形態でこの指示を受信し得、各ＣＢＦは個々にシグナリングされる。他の例では、ビデオデコーダ３０は、ＴＵのためのジョイント符号化されたＣＢＦYとＣＢＦCとＴＳＦとを復号することに関して上記で説明したのと実質的に同様の方法でＴＵのためのジョイント符号化されたＣＢＦUおよびＣＢＦVの形態でこの指示を受信し得る。
【０２５５】
たとえば、エントロピー復号ユニット７０は、ＴＵのための第２のコードワードを受信する（９１８）。第２のコードワードはまた、ＶＬＣコードワードを備え得、ＴＵのためのジョイント符号化されたＣＢＦUおよびＣＢＦVに対応し得る。第２のコードワードを復号するために、エントロピー復号ユニット７０、またはビデオデコーダ３０の別のユニットは、ＴＵのための第２のコンテキストを判断し得る（９２０）。この場合も、たとえば、エントロピー復号ユニット７０は、たとえば、ＣＵのパーティションレベルと、ＴＵのパーティションレベルと、ＴＵに対応するＰＵの予測モードと、ＴＵの隣接ＴＵの第１のクロミナンス成分および第２のクロミナンス成分に対応するＣＢＦ値とのうちの１つまたは複数に基づいて、図８のエントロピー符号化ユニット５６に関して上記で説明したのと実質的に同様の方法でＴＵのための第２のコンテキストを判断し得る。たとえば、隣接ＴＵは、本明細書で説明するのと同じ方法で、ジョイント符号化されたルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとがそれについて前に復号されたＣＵの他のＴＵであり得る。一例として、エントロピー復号ユニット７０は、前に説明したように、たとえば、ＣＵのＬＣＵに関連するＣＵ４分木に対応する、ＣＵのヘッダデータ内に含まれている受信シンタックス情報からＣＵのパーティションレベルを判断し得る。
【０２５６】
エントロピー復号ユニット７０は、さらに、第２のコンテキストに基づいて第２のＶＬＣテーブルを選択する（９２２）。たとえば、第２のＶＬＣテーブルは、ＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを含み得る。いくつかの例では、エントロピー復号ユニット７０は、第１のＶＬＣテーブルと第２のＶＬＣテーブルの両方を選択するために同じコンテキストを使用し得、その場合、上記で説明した第１のコンテキストと第２のコンテキストとは同じコンテキストを備え得る。
【０２５７】
エントロピー復号ユニット７０は、次いで、第２のコードワードと第２のＶＬＣテーブルとに基づいて、ＴＵの第１のクロミナンス成分がコーディングされるかどうかを判断し得る。さらに、エントロピー復号ユニット７０は、第２のコードワードと第２のＶＬＣテーブルとに基づいて、ＴＵの第２のクロミナンス成分がコーディングされるかどうかを判断し得る。たとえば、エントロピー復号ユニット７０は、第２のＶＬＣテーブル内の受信された第２のコードワードにマッピングされた上記の判断に対応するＣＢＦUおよびＣＢＦVシンタックス要素の値を取り出し得る。このようにして、エントロピー復号ユニット７０は、ＴＵの第１のクロミナンス成分がコーディングされることを第２のコードワードが示すかどうか（９２４）、ならびにＴＵの第２のクロミナンス成分がコーディングされることを第２のコードワードが示すかどうか（９２６）を判断する。
【０２５８】
この場合も、ビデオデコーダ３０のＶＬＣテーブルは、ビデオエンコーダ２０のＶＬＣテーブルと実質的に同様であり得る。前に説明したように、エントロピー復号ユニット７０は、図８のエントロピー符号化ユニット５６に関して上記で説明したのと実質的に同様の方法でＴＵのための第２のコンテキストを判断し得る。したがって、ビデオデコーダ３０が第２のコンテキストを使用して第２のＶＬＣテーブルを選択すると、第２のコードワードを選択するためにビデオエンコーダ２０によって使用されるＶＬＣテーブルのマッピングと実質的に同様の、ＣＢＦU値およびＣＢＦV値へのＶＬＣコードワードのマッピングを含む第２のＶＬＣテーブルが得られ得る。マッピング間のこの類似性により、ビデオデコーダ３０は、第２のコードワードと第２のＶＬＣテーブルとを使用して上記の判断を行うことが可能になり得る。
【０２５９】
上記で説明したように、上記の判断の結果は、ＴＵのためのＣＢＦUおよびＣＢＦVに対応し得る。たとえば、「１」のＣＢＦ値は、ＴＵの対応するクロミナンス成分がコーディングされることを示し得、「０」のＣＢＦ値は、クロミナンス成分がコーディングされないことを示し得る。上記でも説明したように、第２のコードワードは、ＣＢＦU値およびＣＢＦV値の可能性、すなわち、この場合も第２のコンテキストについてＴＵについて、ＴＵの第１のクロミナンス成分および第２のクロミナンス成分がコーディングされる可能性に反比例する長さを有し得る。
【０２６０】
上記でも説明したように、いくつかの例では、エントロピー復号ユニット７０は、さらに、どの判断が行われる可能性が高いかまたは低いかを反映するように、上記の判断に基づいて第２のＶＬＣテーブルを更新し得る（９２８）。たとえば、エントロピー復号ユニット７０は、前に説明したように、第２のコンテキスト内でより頻繁に発生する値が他のあまり頻繁に発生しない値よりも短いコードワードにマッピングされるように、判断されたＣＢＦU値およびＣＢＦV値に基づいて第２のＶＬＣテーブル内のＣＢＦU値およびＣＢＦV値へのコードワードのマッピングを更新し得る。
【０２６１】
最後に、ビデオデコーダ３０は、ＴＵのためのジョイント符号化されたルミナンスＣＢＦとクロミナンスＣＢＦとＴＳＦとを復号するのを停止し（９１６）、他のコーディングタスク、たとえば、ＣＵまたは後続のＣＵのための他のシンタックス要素の復号に進む。
【０２６２】
このように、図９の方法は、ビデオデータのＣＵのＴＵのコードワードに基づいて、ＴＵの成分が少なくとも１つの非０係数を含むかどうかを判断することと、コードワードに基づいて、ＴＵがサブＴＵに分割されるかどうかを判断することと、それらの判断に基づいてＴＵを復号することとを含む、ビデオデータを復号する方法の一例を表す。
【０２６３】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２６４】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２６５】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０２６６】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０２６７】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2013546257.tif 000008
【図２】
2013546257.tif 000009
【図３】
2013546257.tif 000010
【図４】
2013546257.tif 000011
【図５Ａ】
2013546257.tif 000012
【図５Ｂ】
2013546257.tif 000013
【図５Ｃ】
2013546257.tif 000014
【図６】
2013546257.tif 000015
【図７】
2013546257.tif 000016
【図８】
2013546257.tif 000017
【図９】
2013546257.tif 000018
【国際調査報告】
2013546257.tif 000019
2013546257.tif 000020