(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、ここにおいて、前記カラーマッピング係数を復号することが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を復号することを備え、前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成することと、
前記ビデオデータのビデオブロックの残差データを復号することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成することと
を備える、方法。
【請求項２】
前記カラーマッピング係数が、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して浮動小数点値を表す整数値を備える、請求項１に記載の方法。
【請求項３】
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、請求項１に記載の方法。
【請求項４】
前記カラーマッピング係数を復号することが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を復号することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を復号することとをさらに備える、請求項３に記載の方法。
【請求項５】
前記カラーマッピング係数を復号することが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に復号されたオクタントからの予測値に基づいて、前記カラーマッピング係数を復号することをさらに備える、請求項１に記載の方法。
【請求項６】
前記カラーマッピング係数の残差値に関する量子化値を決定することをさらに備え、前記カラーマッピング係数を復号することが、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の残差値を復号することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を逆量子化することと、
前記復号された残差値と、前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数を再構成することと
をさらに備える、請求項１に記載の方法。
【請求項７】
前記カラーマッピング係数の残差値に関する前記量子化値を決定することが、前記量子化値を示す少なくとも１つのシンタックス要素を復号することを備える、請求項６に記載の方法。
【請求項８】
前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値のうちの１つに基づく範囲に制限することをさらに備える、請求項１に記載の方法。
【請求項９】
前記色成分の各々に関するオクタントの前記数を決定することが、前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を復号することを備える、請求項１に記載の方法。
【請求項１０】
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと
をさらに備え、
前記ビデオデータの前記ビデオブロックを再構成することが、前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャとに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを再構成すること
を備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを符号化する方法であって、
３つの色成分の各々に関するオクタントの数と、前記オクタントの各々に関する色値とに基づいて、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の前記色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することと、ここにおいて、前記カラーマッピング係数を符号化することが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を符号化することを備え、前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、
前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、前記ビデオデータのビデオブロックを予測することと、
ビットストリーム内の前記ビデオブロックの残差データを符号化することと
を備える、方法。
【請求項１２】
前記カラーマッピング係数を符号化することに先立って、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して、前記カラーマッピング係数の浮動小数点値を整数値に変換することをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、請求項１１に記載の方法。
【請求項１４】
前記カラーマッピング係数を符号化することが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を符号化することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を符号化することとをさらに備える、請求項１３に記載の方法。
【請求項１５】
前記カラーマッピング係数を符号化することが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に符号化されたオクタントからの予測値に基づいて、前記カラーマッピング係数を符号化することをさらに備える、請求項１１に記載の方法。
【請求項１６】
前記カラーマッピング係数の残差値に関する量子化値を決定することをさらに備え、前記カラーマッピング係数を符号化することが、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の元の値と前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数の残差値を計算することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を量子化することと、
前記カラーマッピング係数の前記残差値を符号化することと
をさらに備える、請求項１１に記載の方法。
【請求項１７】
前記カラーマッピング係数の残差値に関する前記決定された量子化値を示す少なくとも１つのシンタックス要素を符号化することをさらに備える、請求項１６に記載の方法。
【請求項１８】
前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値のうちの１つに基づく範囲に制限することをさらに備える、請求項１１に記載の方法。
【請求項１９】
前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を符号化することをさらに備える、請求項１１に記載の方法。
【請求項２０】
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと
をさらに備え、
前記ビデオデータの前記ビデオブロックを予測することが、前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを予測することを備える、請求項１１に記載の方法。
【請求項２１】
ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信し、
前記ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、ここにおいて、１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を復号するように構成され、前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成することと、
前記ビデオデータのビデオブロックの残差データを復号することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成することと
を行うように構成された、前記１つまたは複数のプロセッサと
を備える、ビデオ復号デバイス。
【請求項２２】
前記カラーマッピング係数が、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して浮動小数点値を表す整数値を備える、請求項２１に記載のデバイス。
【請求項２３】
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、請求項２１に記載のデバイス。
【請求項２４】
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を復号することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を復号することとを行うように構成される、請求項２３に記載のデバイス。
【請求項２５】
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に復号されたオクタントからの予測値に基づいて、前記カラーマッピング係数を復号するように構成される、請求項２１に記載のデバイス。
【請求項２６】
前記１つまたは複数のプロセッサが、
前記カラーマッピング係数の残差値に関する量子化値を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の残差値を復号することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を逆量子化することと、
前記復号された残差値と、前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数を再構成することと
を行うように構成される、請求項２１に記載のデバイス。
【請求項２７】
前記カラーマッピング係数の残差値に関する前記量子化値を決定するために、前記１つまたは複数のプロセッサが、前記量子化値を示す少なくとも１つのシンタックス要素を復号するように構成される、請求項２６に記載のデバイス。
【請求項２８】
前記１つまたは複数のプロセッサが、前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値のうちの１つに基づく範囲に制限するように構成される、請求項２１に記載のデバイス。
【請求項２９】
前記色成分の各々に関するオクタントの前記数を決定するために、前記１つまたは複数のプロセッサが、前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を復号するように構成される、請求項２１に記載のデバイス。
【請求項３０】
前記１つまたは複数のプロセッサが、
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャとに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを再構成することと
を行うように構成される、請求項２１に記載のデバイス。
【請求項３１】
ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信し、
３つの色成分の各々に関するオクタントの数と、前記オクタントの各々に関する色値とに基づいて、前記ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の前記色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することと、ここにおいて、１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を符号化するように構成され、前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、
前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、前記ビデオデータのビデオブロックを予測することと、
ビットストリーム内の前記ビデオブロックの残差データを符号化することと
を行うように構成された、前記１つまたは複数のプロセッサと
を備える、ビデオ符号化デバイス。
【請求項３２】
前記１つまたは複数のプロセッサが、前記カラーマッピング係数を符号化することに先立って、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して、前記カラーマッピング係数の浮動小数点値を整数値に変換するように構成される、請求項３１に記載のデバイス。
【請求項３３】
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、請求項３１に記載のデバイス。
【請求項３４】
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を符号化することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を符号化することとを行うように構成される、請求項３３に記載のデバイス。
【請求項３５】
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に符号化されたオクタントからの予測値に基づいて、前記カラーマッピング係数を符号化するように構成される、請求項３１に記載のデバイス。
【請求項３６】
前記１つまたは複数のプロセッサが、
前記カラーマッピング係数の残差値に関する量子化値を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の元の値と前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数の残差値を計算することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を量子化することと、
前記カラーマッピング係数の前記残差値を符号化することと
を行うように構成される、請求項３１に記載のデバイス。
【請求項３７】
前記１つまたは複数のプロセッサが、前記決定された量子化値を示す少なくとも１つのシンタックス要素を符号化するように構成される、請求項３６に記載のデバイス。
【請求項３８】
前記１つまたは複数のプロセッサが、前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値のうちの１つに基づく範囲に制限するように構成される、請求項３１に記載のデバイス。
【請求項３９】
前記１つまたは複数のプロセッサが、前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を符号化するように構成される、請求項３１に記載のデバイス。
【請求項４０】
前記１つまたは複数のプロセッサが、
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと、
前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを予測することと
を行うように構成される、請求項３１に記載のデバイス。
【請求項４１】
ビデオ復号デバイスであって、
色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定するための手段と、
前記色成分の各々に関する前記オクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号するための手段と、ここにおいて、前記カラーマッピング係数を復号するための前記手段が、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を復号するための手段を備え、前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成するための手段と、
前記ビデオデータのビデオブロックの残差データを復号するための手段と、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成するための手段と
を備える、ビデオ復号デバイス。
【請求項４２】
ビデオデータを復号するための命令を記憶した非一時的コンピュータ可読記憶媒体であって、実行されるとき、１つまたは複数のプロセッサに、
色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、ここにおいて、前記プロセッサに前記カラーマッピング係数を復号させる前記命令が、前記プロセッサに、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を復号させる命令を備え、前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成することと、
前記ビデオデータのビデオブロックの残差データを復号することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成することと
を行わせる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]  本出願は、２０１３年１２月１７日に出願された米国仮出願第６１／９１７，２２８号、および２０１４年５月３０日に出願された米国仮出願第６２／００５，８４５の利益を主張する。
【０００２】
[0002]  本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ能力は、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイス、および類似物を含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって規定された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]  ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間（ピクチャ内）予測（spatial (intra-picture) prediction）および／または時間（ピクチャ間）予測（temporal (inter-picture) prediction）を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ：coding unit）、および／またはコーディングノードと呼ばれる場合もあるビデオブロック（video block）に区分される場合がある。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰもしくはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間予測、または他の参照ピクチャ（reference picture）中の参照サンプルに対する時間予測を使用することができる。ピクチャは、フレームと呼ばれる場合があり、参照ピクチャは、参照フレームと呼ばれる場合がある。
【０００５】
[0005]  空間予測または時間予測は、コーディングされるブロックに関する予測ブロックをもたらす。残差データ（residual data）は、コーディングされるべきオリジナルブロックと予測ブロックとの間のピクセル差を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、次いで量子化され得る残差変換係数が生じ得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]  概して、本開示は、マルチレイヤビデオコーディング（multi-layer video coding）における色域スケーラビリティ（color gamut scalability）のための３次元（３Ｄ）カラールックアップテーブル（color lookup table）を生成するために使用される情報をシグナリングするための技法について説明する。色域スケーラビリティに関する色予測技法は、ビデオデータ（video data）の下位レイヤ（lower layer）に関する色域（color gamut）がそのビデオデータの上位レイヤ（higher layer）に関する色域と異なるとき、レイヤ間参照ピクチャ（inter-layer reference picture）を生成するためにビデオエンコーダおよび／またはビデオデコーダによって使用され得る。たとえば、ビデオエンコーダおよび／またはビデオデコーダは、まず、下位レイヤに関する参照ピクチャの色データを上位レイヤに関する色域に変換し、次いで、変換された色データに基づいて、レイヤ間参照ピクチャを生成するために、色域スケーラビリティのための３Ｄルックアップテーブルを使用して、色予測（color prediction）を実行することができる。本開示で説明する技法によれば、ビデオエンコーダは、色域スケーラビリティのために生成された３Ｄルックアップテーブルの区分情報（partition information）および／または色値（color value）を符号化することができる。ビデオデコーダは、色域スケーラビリティを実行するために３Ｄルックアップテーブルを生成するための区分情報および／または色値を復号することができる。
【０００７】
[0007]  一例では、本開示は、ビデオデータを復号する方法を対象とし、本方法は、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルに関する基本区分値（base partition value）を決定することと、３Ｄルックアップテーブルのルーマ成分（luma component）に関するルーマ区分値（luma partition value）を決定することと、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分（chroma component）、および第２のクロマ成分の各々を第１の数のオクタント（octant）に区分すること、ならびにルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントに区分することを含む、クロマ成分に関するより粗い区分（coarser partitioning）とルーマ成分に関するより細かい区分（finer partitioning）とを用いて、３Ｄルックアップテーブルを生成することとを備える。本方法は、ビデオデータのビデオブロックの残差データを復号することと、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成することとをさらに備える。
【０００８】
[0008]  別の例では、本開示は、ビデオデータを符号化する方法を対象とし、本方法は、３次元（３Ｄ）ルックアップテーブルに関する基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分すること、ならびに３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントに区分することを含む、クロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、色域スケーラビリティのための３Ｄルックアップテーブルを生成することを備える。本方法は、３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、ビデオデータのビデオブロックを予測することと、ビットストリーム（bitstream）内のビデオブロックの残差データを符号化することとをさらに備える。
【０００９】
[0009]  さらなる例では、本開示は、ビデオデータを記憶するように構成されたメモリと、メモリと通信する１つまたは複数のプロセッサとを備えるビデオ復号デバイスを対象とする。１つまたは複数のプロセッサは、ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルに関する基本区分値を決定することと、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値を決定することと、クロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成することとを行うように構成され、１つまたは複数のプロセッサは、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分することと、ルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントに区分することとを行うように構成される。１つまたは複数のプロセッサは、ビデオデータのビデオブロックの残差データを復号することと、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成することとを行うようにさらに構成される。
【００１０】
[0010]  別の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、メモリと通信する１つまたは複数のプロセッサとを備えるビデオ符号化デバイスを対象とする。１つまたは複数のプロセッサは、クロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成するように構成され、１つまたは複数のプロセッサは、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分することと、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値に基づいて、ルーマ成分の第１のオクタントの各々を第２の数のオクタントに区分することとを行うように構成される。１つまたは複数のプロセッサは、３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、ビデオデータのビデオブロックを予測することと、ビットストリーム内のビデオブロックの残差データを符号化することとを行うようにさらに構成される。
【００１１】
[0011]  追加の例では、本開示は、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルに関する基本区分値を決定するための手段と、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値を決定するための手段と、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分するための手段、ならびにルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントに区分するための手段を含む、クロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成するための手段とを備えた、ビデオ復号デバイスを対象とする。ビデオ復号デバイスは、ビデオデータのビデオブロックの残差データを復号するための手段と、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成するための手段とをさらに備える。
【００１２】
[0012]  さらなる例では、本開示は、実行されるとき、１つまたは複数のプロセッサに、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルに関する基本区分値を決定することと、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値を決定することと、クロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成することとを行わせる、ビデオデータを復号するための命令を記憶したコンピュータ可読記憶媒体を対象とし、本命令は、１つまたは複数のプロセッサに、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分することと、ルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントに区分することとを行わせる。本命令は、１つまたは複数のプロセッサに、ビデオデータのビデオブロックの残差データを復号することと、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成することとをさらに行わせる。
【００１３】
[0013]  別の例では、本開示は、ビデオデータを復号する方法を対象とし、本方法は、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、色成分の各々に関するオクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される３Ｄルックアップテーブル内の色値の線形カラーマッピング関数（linear color mapping function）に関するカラーマッピング係数（color mapping coefficient）を復号することと、色成分の各々に関するオクタントの数とオクタントの各々に関するカラーマッピング係数に関連する色値とに基づいて、３Ｄルックアップテーブルを生成することとを備える。本方法は、ビデオデータのビデオブロックの残差データを復号することと、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成することとをさらに備える。
【００１４】
[0014]  さらなる例では、本開示は、ビデオデータを符号化する方法を対象とし、本方法は、３つの色成分の各々に関するオクタントの数とオクタントの各々に関する色値とに基づいて、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成することと、色成分の各々に関するオクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することとを備える。本方法は、３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、ビデオデータのビデオブロックを予測することと、ビットストリーム内のビデオブロックの残差データを符号化することとをさらに備える。
【００１５】
[0015]  追加の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、メモリと通信する、１つまたは複数のプロセッサとを備えるビデオ復号デバイスを対象とする。１つまたは複数のプロセッサは、ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、色成分の各々に関するオクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、色成分の各々に関するオクタントの数とオクタントの各々に関するカラーマッピング係数に関連する色値とに基づいて、３Ｄルックアップテーブルを生成することとを行うように構成される。１つまたは複数のプロセッサは、ビデオデータのビデオブロックの残差データを復号することと、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成することとを行うようにさらに構成される。
【００１６】
[0016]  さらなる例では、本開示は、ビデオデータを記憶するように構成されたメモリと、メモリと通信する、１つまたは複数のプロセッサとを備えるビデオ符号化デバイスを対象とする。１つまたは複数のプロセッサは、３つの色成分の各々に関するオクタントの数とオクタントの各々に関する色値とに基づいて、ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成することと、色成分の各々に関するオクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することとを行うように構成される。１つまたは複数のプロセッサは、３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、ビデオデータのビデオブロックを予測することと、ビットストリーム内のビデオブロックの残差データを符号化することとを行うようにさらに構成される。
【００１７】
[0017]  別の例では、本開示は、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定するための手段と、色成分の各々に関するオクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号するための手段と、色成分の各々に関するオクタントの数とオクタントの各々に関するカラーマッピング係数に関連する色値とに基づいて、３Ｄルックアップテーブルを生成するための手段とを備えるビデオ復号デバイスを対象とする。ビデオ復号デバイスは、ビデオデータのビデオブロックの残差データを復号するための手段と、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成するための手段とをさらに備える。
【００１８】
[0018]  追加の例では、本開示は、実行されるとき、１つまたは複数のプロセッサに、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、色成分の各々に関するオクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、色成分の各々に関するオクタントの数とオクタントの各々に関するカラーマッピング係数に関連する色値とに基づいて、３Ｄルックアップテーブルを生成することとを行わせる、ビデオデータを復号するための命令を記憶したコンピュータ可読記憶媒体を対象とする。本命令は、１つまたは複数のプロセッサに、ビデオデータのビデオブロックの残差データを復号することと、復号された残差データと３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、ビデオデータのビデオブロックを再構成することとをさらに行わせる。
【００１９】
[0019]  １つまたは複数の例の詳細は、添付の図面および以下の説明において記載される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２０】
【図１】[0020]  ３Ｄルックアップテーブルベースの色域スケーラビリティのための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0021]  ３つの異なる次元におけるスケーラビリティの一例を示す概念図。
【図３】[0022]  スケーラブルビデオコーディングビットストリームのある例示的な構造を示す概念図。
【図４】[0023]  ビットストリーム順序で、例示的なスケーラブルビデオコーディングアクセスユニットを示す概念図。
【図５】[0024]  ＨＥＶＣに対するある例示的なスケーラブルビデオコーディング拡張（ＳＨＶＣ：scalable video coding extension to HEVC）エンコーダを示すブロック図。
【図６】[0025]  サンプルビデオシーケンスのある例示的な色域を示すグラフ。
【図７】[0026]  高解像度（ＨＤ）色域ＢＴ．７０９から超高解像度（ＵＨＤ）色域ＢＴ．２０２０への変換を示すブロック図。
【図８】[0027]  ベースレイヤ色域とエンハンスメントレイヤ色域とが異なるときに、レイヤ間参照ピクチャを生成し得る色予測処理ユニットを含む色域スケーラブルコーダを示すブロック図。
【図９】[0028]  図９（ａ）および図９（ｂ）は色域スケーラビリティのためのある例示的な３Ｄルックアップテーブルを示す概念図。
【図１０】[0029]  色域スケーラビリティのための３Ｄルックアップテーブルを用いた３線補間を示す概念図。
【図１１】[0030]  色域スケーラビリティのための３Ｄルックアップテーブルを用いた四面体補間を示す概念図。
【図１２】[0031]  四面体補間を使用して補間されるべき３ＤルックアップテーブルのポイントＰを包含するために使用される四面体の６つの例を示す概念図。
【図１３】[0032]  単独で区分されたルーマ成分と共同で区分されたクロマ成分とを用いた例示的な３Ｄルックアップテーブルを示す概念図。
【図１４】[0033]  マルチレイヤビデオコーディングにおいて３Ｄルックアップテーブルベースの色域スケーラビリティを使用するための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図１５】[0034]  マルチレイヤビデオコーディングにおいて３Ｄルックアップテーブルベースの色域スケーラビリティを使用するための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図１６】[0035]  ３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関する区分情報を符号化する例示的な動作を示すフローチャート。
【図１７】[0036]  ３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関する区分情報を復号する例示的な動作を示すフローチャート。
【図１８】[0037]  ３Ｄルックアップテーブルの色成分の各々に関するオクタントの各々に関する色値を符号化する例示的な動作を示すフローチャート。
【図１９】[0038]  ３Ｄルックアップテーブルの色成分の各々に関するオクタントの各々に関する色値を復号する例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００２１】
[0039]  本開示は、マルチレイヤビデオコーディングにおける色域スケーラビリティのための３次元（３Ｄ）色予測に関する技法について説明する。マルチレイヤビデオコーディングは、スケーラブルビデオコーディング拡張、マルチビュービデオコーディング拡張、３Ｄビデオコーディング（すなわち、マルチビュービデオコーディングプラス深度）拡張、またはＨＥＶＣに対する他のマルチレイヤビデオコーディング拡張のうちのいずれかを含む、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）に一致し得る。本技法は、ビデオデータの下位レイヤに関する色域がそのビデオデータの上位レイヤに関する色域と異なるとき、レイヤ間参照ピクチャを生成するためにビデオエンコーダおよび／またはビデオデコーダによって使用され得る。いくつかの例では、本技法は、ビデオデータの下位レイヤのビット深度（bit depth）がビデオデータの上位レイヤに関するビット深度とは異なるときにも使用され得る。
【００２２】
[0040]  色域は、たとえば、ビデオデータのピクチャ、スライス、ブロック、またはレイヤ中で画像に関して複写され得る色の完全範囲を備える。従来、マルチレイヤビデオコーディングでは、ビデオデータの下位レイヤ（たとえば、ベースレイヤ）およびビデオデータの上位レイヤ（たとえば、エンハンスメントレイヤ）は、同じ色域内、たとえば高解像度（ＨＤ）色域ＢＴ．７０９内の色データを含む。この場合、ビデオエンコーダおよび／またはビデオデコーダは、ビデオデータの下位レイヤに関するコロケート参照ピクチャのアップサンプリングされたバージョンとして、そのビデオデータの上位レイヤに関するレイヤ間参照ピクチャを生成することができる。
【００２３】
[0041]  しかしながら、いくつかの例では、ビデオデータの下位レイヤは、第１の色域、たとえば、ＢＴ．７０９内の色データを含むことが可能であり、そのビデオデータの上位レイヤは、異なる第２の色域、たとえば、超高解像度（ＵＨＤ：ultra-high definition）色域ＢＴ．２０２０内の色データを含むことが可能である。この例では、ビデオデータの上位レイヤに関するレイヤ間参照ピクチャを生成するために、ビデオエンコーダおよび／またはビデオデコーダは、まず、ビデオデータの下位レイヤに関する第１の色域内の参照ピクチャの色データをそのビデオデータの上位レイヤに関する第２の色域に変換するために、色予測を実行しなければならない。
【００２４】
[0042]  ビデオエンコーダおよび／またはビデオデコーダは、色域スケーラビリティに関する３Ｄルックアップテーブルを使用して、色予測を実行することができる。いくつかの例では、色成分の各々、すなわち、ルーマ（Ｙ）成分、第１のクロマ（Ｕ）成分、および第２のクロマ（Ｖ）成分に関して、別個の３Ｄルックアップテーブルが生成され得る。３Ｄルックアップテーブルの各々は、ルーマ（Ｙ）次元と、第１のクロマ（Ｕ）次元と、第２のクロマ（Ｖ）次元とを含み、３つの独立した色成分（Ｙ、Ｕ、Ｖ）を使用してインデックス付けされる。
【００２５】
[0043]  従来、３Ｄルックアップテーブルは、３Ｄルックアップテーブルがルーマ成分、第１のクロマ成分、および第２のクロマ成分に関して同じサイズを有するように、常に対称的である。加えて、従来、３Ｄルックアップテーブルは、３Ｄルックアップテーブルの各次元のサイズが常に同じであるように、常に平衡である。これは結果として、高い計算複雑性と高いシグナリングコストとを有する、大きいテーブルサイズをもたらす可能性がある。たとえば、テーブルサイズは、９×９×９または１７×１７×１７までであり得る。
【００２６】
[0044]  ２０１４年１０月１０日に出願した、米国特許出願第１４／５１２，１７７号（整理番号第１２１２−７１２ＵＳ０１／１４０１９３）では、ビデオエンコーダならびに／またはビデオデコーダが、３Ｄルックアップテーブルが第１のクロマ成分および第２のクロマ成分とは異なるサイズをルーマ成分に関して有するように、非対称的および／もしくは不平衡型３Ｄルックアップテーブルを生成することを可能にする技法について説明されている。ビデオエンコーダおよび／またはビデオデコーダは、第１のクロマ成分および第２のクロマ成分とは異なる数のセグメントにルーマ成分を区分することによって、この非対称的および／または不平衡型３Ｄルックアップテーブルを生成することができる。この例では、テーブルサイズは８×２×２までであり得る。
【００２７】
[0045]  本開示の技法は、色域スケーラビリティのための３Ｄルックアップテーブルを生成するために使用される情報のシグナリングを対象とする。本技法によれば、ビデオエンコーダは、色域スケーラビリティのために生成される３Ｄルックアップテーブルの区分情報および／または色値を符号化することができる。ビデオデコーダは、色域スケーラビリティを実行するために３Ｄルックアップテーブルを生成するための区分情報および／または色値を復号することができる。本開示で説明する技法は、非対称的および／または不平衡型３Ｄルックアップテーブルを生成するために使用される情報をシグナリングする際に特に有用であり得る。
【００２８】
[0046]  開示する技法の一例では、ビデオデコーダおよび／またはビデオエンコーダは、基本区分値、たとえば、３Ｄルックアップテーブルに関する最大分割深度（maximal split depth）に従って、色成分の各々をいくつかのオクタントに区分し、次いで、ルーマ区分値に基づいて、ルーマ成分のオクタントの各々をさらに区分することによって、第１のクロマ成分および第２のクロマ成分に関するより粗い区分とルーマ成分に関するより細かい成分とを用いて、３Ｄルックアップテーブルを生成することができる。このようにして、３Ｄルックアップテーブルのクロマ成分は、より少数の、すなわちより少ないオクタントに区分され（すなわち、より粗く区分され）、３Ｄルックアップテーブルのルーマ成分は、より多数の、すなわちより多くのオクタントに区分される（すなわち、より細かく区分される）。
【００２９】
[0047]  一例では、ルーマ区分値はビットストリーム内でビデオエンコーダによってビデオデコーダにシグナリングされ得る。他の例では、基本区分値もビットストリーム内でビデオエンコーダによってビデオデコーダにシグナリングされ得る。他の場合には、ルーマ区分値はビデオエンコーダとビデオデコーダの両方によって導出され得、および／または基本区分値はビデオエンコーダとビデオデコーダの両方において知られている事前定義された値であり得る。
【００３０】
[0048]  一例として、基本区分値は、第１のクロマ色成分、第２のクロマ色成分、およびルーマ色成分の各々が単一のオクタントに区分されるように、１に等しく、ルーマ区分値は、ルーマ成分の単一のオクタントが、サイズ４×１×１の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。別の例として、基本区分値は、第１のクロマ色成分、第２のクロマ色成分、およびルーマ色成分の各々が２個のオクタントに区分されるように、２に等しく、ルーマ区分値は、ルーマ成分の２個のオクタントの各々が、サイズ８×２×２の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。わかるように、より低い区分値は、色成分に関して、より粗い区分（すなわち、より少数のオクタント）をもたらす。
【００３１】
[0049]  本技法によれば、色成分の各々は、基本区分値またはルーマ区分値のうちの１つもしくは複数に基づいて、１つもしくは複数のオクタントに区分され得る。本開示では、「オクタント（octant）」という用語は、８つの頂点（vertex）を含む３次元領域と定義される。本開示では、「区分（partition）」、「オクタント」、「セグメント（segment）」および「直方体（cuboid）」という用語は、３Ｄルックアップテーブルの色成分の区分された領域を記述するために交換可能に使用され得る。
【００３２】
[0050]  加えて、２個以上のオクタント、すなわち、１よりも大きい基本区分値に区分されている３Ｄルックアップテーブルの第１のクロマ成分および第２のクロマ成分のうちの少なくとも１つに基づいて、ビデオエンコーダは、クロマ成分のうちの１つに関する区分境界（partitioning boundary）をビデオデコーダにシグナリングすることができる。区分境界は、クロマ成分のうちの１つの、２個以上のオクタントへの不均等区分（uneven partitioning）を定義する。すなわち、クロマ成分のうちの１つまたは両方は、２個以上の均等または等しくサイズ決定されたオクタントに区分され得ない。この場合、クロマ成分のうちの所与の１つに関して、オクタントのうちの少なくとも１つは、２個以上の他のオクタントとは異なるサイズを有する。本開示の技法によれば、ビデオエンコーダは、クロマ成分のうちの１つが２個以上のオクタントに区分されるという条件に基づいてだけ、区分境界をシグナリングする。さもなければ、区分境界は、不要であり、ビデオデコーダにシグナリングされない。
【００３３】
[0051]  開示する技法の別の例では、ビデオエンコーダおよび／またはビデオデコーダは、ルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分の各々に関するオクタントの数とオクタントの各々に関する色値とに基づいて、３Ｄルックアップテーブルを生成することができる。上で説明したように、場合によっては、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関するオクタントの数も、ビデオエンコーダによってビデオデコーダにシグナリングされ得る。ビデオデコーダが３Ｄルックアップテーブル内の色値を決定するために、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数がビデオエンコーダによってビデオデコーダにシグナリングされる。線形カラーマッピング関数は、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用され、カラーマッピング係数は、ビデオデータの下位レイヤの色成分と上位レイヤの色成分との間の重みファクタ（weighting factor）である。色成分の各々に関して、カラーマッピング係数のうちの１つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重みファクタを定義する重要係数（key coefficient）であり得る。
【００３４】
[0052]  線形カラーマッピング関数のカラーマッピング係数は、浮動小数点値（floating point value）として導出される。ビットストリーム内でカラーマッピング係数をシグナリングする前に、浮動小数点値は整数値（integer value）に変換され得る。整数値は浮動小数点値より精度が低い可能性があるが、整数値は、浮動小数点値よりもシグナリングがより容易であり、整数演算は、浮動小数点演算よりも計算コストがより安い。この変換は、整数値ベースの３Ｄルックアップテーブルの入力ビット深度（input bit-depth）または出力ビット深度（output bit-depth）のうちの少なくとも１つに関するビット深度を使用することができる。加えて、カラーマッピング係数の値は、事前定義された固定値、または３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づいた所与の範囲内に制限され得る。
【００３５】
[0053]  カラーマッピング係数の元の値とカラーマッピング係数の予測値（predicted value）との間の残差値（residual value）がビットストリーム内で符号化されるように、カラーマッピング係数のうちの１つまたは複数が予測され得る。たとえば、色成分の各々に関する第１のオクタントに関して、線形カラーマッピング関数のカラーマッピング係数は事前定義された固定値（fixed value）に基づいて予測され得る。一例では、線形カラーマッピング関数の重要係数は、事前定義された非ゼロ値に等しい予測値に基づいて予測され得、任意の残りのカラーマッピング係数は、ゼロに等しい予測値に基づいて予測され得る。この例では、色成分の各々に関する任意の残りのオクタントのカラーマッピング係数は、第１のオクタントなど、少なくとも１つの前のオクタントからの予測値に基づいて予測され得る。場合によっては、カラーマッピング係数の残差値は、決定された量子化値（quantization value）に基づいて量子化され得る。ビデオエンコーダは、カラーマッピング係数を適切に復号するための逆量子化（inverse quantization）を実行するために、ビデオデコーダに関して決定された量子化値をシグナリングすることができる。
【００３６】
[0054]  ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、そのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）およびマルチビュービデオコーディング（ＭＶＣ：Multi-view Video Coding）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。
【００３７】
[0055]  新しいビデオコーディング規格、すなわちＨＥＶＣの設計が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのビデオコーディングに関する共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定されている。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０（ＷＤ１０）」と呼ばれるＨＥＶＣドラフト仕様書、Ｂｒｏｓｓら、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０（ＦＤＩＳ  ＆  Ｌａｓｔ  Ｃａｌｌに関する）」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディングに関する共同研究部会（ＪＣＴ−ＶＣ）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２３日、ＪＣＴＶＣ−Ｌ１００３ｖ３４は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ３４．ｚｉｐから利用可能である。確定したＨＥＶＣ規格は、ＨＥＶＣバージョン１と呼ばれる。
【００３８】
[0056]  欠陥報告、Ｗａｎｇら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）Ｄｅｆｅｃｔ  Ｒｅｐｏｒｔ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディングに関する共同研究部会（ＪＣＴ−ＶＣ）、第１４回会合：ウィーン、オーストリア、２０１３年７月２５日〜８月２日、ＪＣＴＶＣ−Ｎ１００３ｖ１は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１４＿Ｖｉｅｎｎａ／ｗｇ１１／ＪＣＴＶＣ−Ｎ１００３−ｖ１．ｚｉｐから利用可能である。確定したＨＥＶＣ規格文書は、ＩＴＵ−Ｔ  Ｈ．２６５、Ｓｅｒｉｅｓ  Ｈ：Ａｕｄｉｏｖｉｓｕａｌ  ａｎｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｙｓｔｅｍｓ、Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ｏｆ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ−Ｃｏｄｉｎｇ  ｏｆ  ｍｏｖｉｎｇ  ｖｉｄｅｏ、Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ、国際電気通信連合（ＩＴＵ：International Telecommunication Union）の電気通信標準化部門、２０１３年４月として公開されている。
【００３９】
[0057]  ＨＥＶＣに対するマルチビュー拡張（ＭＶ−ＨＥＶＣ：multi-view extension to HEVC）およびより高度な３Ｄビデオコーディングに関する別のＨＥＶＣ拡張（３Ｄ−ＨＥＶＣ：HEVC extension for more advanced 3D video coding）がＪＣＴ−３Ｖによって開発されている。ＭＶ−ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ５（ＷＤ５）と呼ばれる、ＭＶ−ＨＥＶＣのドラフト仕様書、Ｔｅｃｈら、「ＭＶ−ＨＥＶＣ  Ｄｒａｆｔ  Ｔｅｘｔ  ５」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発に関する共同研究部会（ＪＣＴ−３Ｖ：Joint Collaborative Team on 3D Video Coding Extension Development）、第５回会合、ウィーン、オーストリア、２０１３年７月２７日〜８月２日、ＪＣＴ３Ｖ−Ｅ１００４ｖ６は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／５＿Ｖｉｅｎｎａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｅ１００４−ｖ６．ｚｉｐから入手可能である。３Ｄ−ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １（ＷＤ１）と呼ばれ、Ｔｅｃｈら、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発に関する共同研究部会（ＪＣＴ−３Ｖ）、第５回会議、ウィーン、オーストリア、２０１３年７月２７日〜８月２日、ＪＣＴ３Ｖ−Ｅ１００１ｖ３に記載されている３Ｄ−ＨＥＶＣのドラフト仕様書は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／５＿Ｖｉｅｎｎａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｅ１００１−ｖ３．ｚｉｐから利用可能である。
【００４０】
[0058]  ＨＥＶＣに対するスケーラブル拡張（ＳＨＶＣ）は、ＪＣＴ−ＶＣによって開発されている。ＳＨＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ３（ＷＤ３）と呼ばれるＳＨＶＣのドラフト仕様書は、Ｃｈｅｎら、「ＳＨＥＶＣ  Ｄｒａｆｔ  ３」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオコーディングに関する共同研究部会（ＪＣＴ−ＶＣ）、第１４回会議：ウィーン、オーストリア、２０１３年７月２５日〜８月２日、ＪＣＴＶＣ−Ｎ１００８ｖ３は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１４＿Ｖｉｅｎｎａ／ｗｇ１１／ＪＣＴＶＣ−Ｎ１００８−ｖ３．ｚｉｐから入手可能である。
【００４１】
[0059]  図１は、３Ｄルックアップテーブルベースの色域スケーラビリティのための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後の時点で復号されるべき、符号化されたビデオデータを提供するソースデバイス１２を含む。具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供する。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対する機能を備え得る。
【００４２】
[0060]  宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化されたビデオデータを受信することができる。コンピュータ可読媒体１６は、符号化されたビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化されたビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つもしくは複数の物理伝送線路など、任意のワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００４３】
[0061]  いくつかの例では、符号化されたデータは、出力インターフェース２２からストレージデバイスへ出力され得る。同様に、符号化されたデータは、ストレージデバイスから入力インターフェースによってアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれをも含み得る。さらなる例では、ストレージデバイスは、ソースデバイス１２によって生成された、符号化されたビデオを記憶することができるファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶でき、符号化されたビデオデータを宛先デバイス１４に送信できる、任意のタイプのサーバとすることができる。例示的なファイルサーバは、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準データ接続を介して、符号化されたビデオデータにアクセスすることができる。これは、ファイルサーバ上に記憶された、符号化されたビデオデータにアクセスするのに適した、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその組合せとすることができる。
【００４４】
[0062]  本開示の技法は、ワイヤレス応用またはワイヤレス設定に必ずしも限定されない。本技法は、無線テレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、ＨＴＴＰ上の動的適応ストリーミング（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の応用など、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話などの応用をサポートするために一方向もしくは両方向のビデオ送信をサポートするように構成され得る。
【００４５】
[0063]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、ビデオデータを並列に処理するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部のビデオソース１８からビデオデータを受信することができる。同様に、宛先デバイス１４は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースしてもよい。
【００４６】
[0064]  図１の例示されたシステム１０は、一例にすぎない。ビデオデータを並列に処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック（CODEC）」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコード化ビデオデータを生成するコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、もしくはビデオ電話のためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００４７】
[0065]  ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを包含するビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてコンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成ビデオの組合せを生成することができる。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ付き電話を形成し得る。しかしながら、上で述べたように、本開示で説明した技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤードの応用例に適用され得る。各場合において、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化ビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００４８】
[0066]  コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、もしくは他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化されたビデオデータを受信し、符号化されたビデオデータを宛先デバイス１４に提供することができる。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを包含しているディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００４９】
[0067]  宛先デバイス１４の入力インターフェース２８は、情報をコンピュータ可読媒体１６から受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、ビデオデコーダ３０によっても使用される、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ（ＧＯＰ）の特性ならびに／または処理を記述するシンタックス要素（syntax element）を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちのいずれかを備え得る。
【００５０】
[0068]  ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装されるとき、デバイスは、ソフトウェアに対する命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための１つまたは複数のプロセッサを使用してハードウェアにおいてそれらの命令を実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、そのいずれかが、複合エンコーダ／デコーダ（コーデック）の一部として、それぞれのデバイス内に統合され得る、１つもしくは複数のエンコーダまたはデコーダに含まれてもよい。
【００５１】
[0069]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、そのスケーラブルビデオコーディング（ＳＶＣ）拡張と、マルチビュービデオコーディング（ＭＶＣ）拡張と、ＭＶＣベースの３次元ビデオ（３ＤＶ）拡張とを含む、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌおよび（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４などのビデオ圧縮規格に従って動作する。場合によっては、ＭＶＣベースの３ＤＶに適合する任意のビットストリームは、ＭＶＣプロファイル、たとえばステレオハイプロファイルに準拠するサブビットストリームを常に包含する。さらに、Ｈ．２６４／ＡＶＣへの３ＤＶコーディング拡張、すなわち、ＡＶＣベースの３ＤＶを生成するための取り組みが進行中である。ビデオコーディング規格の他の例は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびＩＴＵ−Ｔ  Ｈ．２６４、ＩＳＯ／ＩＥＣ  Ｖｉｓｕａｌなどがある。
【００５２】
[0070]  図１の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのビデオコーディングに関する共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定された高効率ビデオコーディング（ＨＥＶＣ）規格に従って動作し得る。上記で参照したＨＥＶＣドラフト仕様書は、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０（ＷＤ１０）と呼ばれ、ＨＥＶＣ規格の確定したバージョンはＨＥＶＣバージョン１と呼ばれる。ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣはＪＣＴ−３Ｖによって開発されている。ＭＶ−ＨＥＶＣの最近のドラフト仕様書はＭＶ−ＨＥＶＣ  ＷＤ５と呼ばれ、３Ｄ−ＨＥＶＣの最近のドラフト仕様書は３Ｄ−ＨＥＶＣ  ＷＤ１と呼ばれる。ＳＨＶＣはＪＣＴ−ＶＣによって開発されている。ＳＨＶＣの最近のドラフト仕様書は、ＳＨＶＣ  ＷＤ３と呼ばれる。
【００５３】
[0071]  ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは、一般に、一連のピクチャを含む。ピクチャは「フレーム（frame）」と呼ばれる場合もある。ピクチャは、ＳL、ＳCbおよびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ（chroma）」サンプルと呼ばれる場合もある。他の例では、ピクチャは、モノクロームであり得るし、ルーマサンプルのアレイのみを含む場合がある。
【００５４】
[0072]  ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ＣＴＵは、「ツリーブロック（tree block）」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなどの他のビデオコーディング規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。スライスは、ラスター走査順序で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００５５】
[0073]  本開示は、サンプル、およびサンプルの１つもしくは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造の１つもしくは複数のブロックを指すために、「ビデオユニット（video unit）」または「ビデオブロック（video block）」という用語を使用することがある。例示的なタイプのビデオユニットには、ＨＥＶＣにおけるＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ：transform unit）、または他のビデオコーディング規格におけるマクロブロック、マクロブロックパーティションなどが含まれ得る。
【００５６】
[0074]  コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するように、ＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実行することができ、したがって「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのＮ×Ｎのブロックである。ＣＵは、ルーマサンプルアレイと、Ｃｂサンプルアレイと、Ｃｒサンプルアレイとを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００５７】
[0075]  ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ：prediction unit）は、ルーマサンプルの予測ブロックと、ピクチャのクロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、それらの予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックに関する予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成し得る。
【００５８】
[0076]  ビデオエンコーダ２０は、ＰＵに関する予測ブロックを生成するためにイントラ予測またはインター予測を使用することができる。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成することができる。
【００５９】
[0077]  ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成することができる。インター予測は、単方向インター予測（すなわち、単予測（uni-prediction））または双方向インター予測（すなわち、双予測（bi-prediction））であり得る。単予測または双予測を実行するために、ビデオエンコーダ２０は、現在のスライスに関して、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。
【００６０】
[0078]  参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ中の参照ロケーションを決定するために、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１のいずれかまたは両方の中の参照ピクチャを探索することができる。さらに、単予測を使用するとき、ビデオエンコーダ２０は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵに関する予測サンプルブロックを生成することができる。さらに、単予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示す単一の動きベクトルを生成することができる。ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示すために、動きベクトルは、ＰＵの予測ブロックと参照ロケーションとの間の水平変位を指定する水平成分を含み得、ＰＵの予測ブロックと参照ロケーションとの間の垂直変位を指定する垂直成分を含み得る。
【００６１】
[0079]  ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照ロケーションと、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照ロケーションとを決定することができる。ビデオエンコーダ２０は、次いで、第１の参照ロケーションおよび第２の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵに関する予測ブロックを生成することができる。さらに、ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＰＵのサンプルブロックと第１の参照ロケーションとの間の空間変位を示す第１の動きと、ＰＵの予測ブロックと第２の参照ロケーションとの間の空間変位を示す第２の動きとを生成することができる。
【００６２】
[0080]  ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵに関する予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵに関するルーマ残差ブロックを生成することができる。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つの中のルーマサンプルと、ＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。加えてビデオエンコーダ２０は、ＣＵに関するＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０は、ＣＵに関するＣｒ残差ブロックを生成することもできる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００６３】
[0081]  さらに、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックと、Ｃｂ残差ブロックと、Ｃｒ残差ブロックとを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解するために、４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであってもよい。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは３つの別個の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであってよい。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであってよい。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであってよい。
【００６４】
[0082]  ビデオエンコーダ２０は、ＴＵに関するルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１回または複数回の変換を適用し得る。係数ブロックは、変換係数の２次元アレイであり得る。変換係数は、スカラー量であってよい。ビデオエンコーダ２０は、ＴＵに関するＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用することができる。ビデオエンコーダ２０は、ＴＵに関するＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用することができる。
【００６５】
[0083]  係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。さらに、ビデオエンコーダ２０は、ピクチャのＣＵのＴＵの変換ブロックを再構成するために、変換係数を逆量子化し、変換係数に逆変換を適用することができる。ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構成するために、ＣＵのＴＵの再構成された変換ブロックと、ＣＵのＰＵの予測ブロックとを使用することができる。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオエンコーダ２０は、ピクチャを再構成することができる。ビデオエンコーダ２０は、復号ピクチャバッファ（ＤＰＢ：decoded picture buffer）に再構成されたピクチャを記憶することができる。ビデオエンコーダ２０は、ＤＰＢ中の再構成されたピクチャを、インター予測およびイントラ予測のために使用することができる。
【００６６】
[0084]  ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素に対して、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行することができる。ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素をビットストリーム内に出力することができる。
【００６７】
[0085]  ビデオエンコーダ２０は、コード化ピクチャおよび関連するデータの表現を形成する一連のビットを含むビットストリームを出力することができる。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットを備え得る。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含む場合がある。ＮＡＬユニットのＮＡＬユニットヘッダによって規定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００６８】
[0086]  様々なタイプのＮＡＬユニットは、様々なタイプのＲＢＳＰをカプセル化することができる。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）に関するＲＢＳＰをカプセル化することができ、第２のタイプのＮＡＬユニットはコード化スライスに関するＲＢＳＰをカプセル化することができ、第３のタイプのＮＡＬユニットは補助拡張情報（ＳＥＩ：supplemental enhancement information）に関するＲＢＳＰをカプセル化することができ、以下同様である。ＰＰＳは、０個以上のコード化ピクチャ全体に適用されるシンタックス要素を含み得るシンタックス構造である。ビデオコーディングデータに関するＲＢＳＰをカプセル化するＮＡＬユニットは（パラメータセットおよびＳＥＩメッセージに関するＲＢＳＰとは対照的に）、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれる場合がある。コード化スライスをカプセル化するＮＡＬユニットは、本明細書ではコード化スライスＮＡＬユニットと呼ばれる場合がある。コード化スライスに関するＲＢＳＰは、スライスヘッダとスライスデータとを含み得る。
【００６９】
[0087]  ビデオデコーダ３０は、ビットストリームを受信することができる。加えて、ビデオデコーダ３０は、ビットストリームからシンタックス要素を復号するために、ビットストリームをパースすることができる。ビデオデコーダ３０は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成することができる。ビデオデータを再構成するための処理は、全般に、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、現在ＣＵのＰＵに関する予測ブロックを決定するために、ＰＵの動きベクトルを使用することができる。ビデオデコーダ３０は、ＰＵに関する予測ブロックを生成するために、ＰＵの１つまたは複数の動きベクトルを使用することができる。
【００７０】
[0088]  加えて、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換ブロックを再構成するために、係数ブロックに対して逆変換を実行することができる。ビデオデコーダ３０は、現在ＣＵのＰＵに関する予測サンプルブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成することができる。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオデコーダ３０は、ピクチャを再構成し得る。ビデオデコーダ３０は、出力のためにおよび／または他のピクチャを復号する際に使用するために、復号されたピクチャを復号ピクチャバッファ内に記憶することができる。
【００７１】
[0089]  ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣ、およびＳＨＶＣでは、ビデオエンコーダは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットを備えるマルチレイヤビットストリームを生成し得る。ビットストリームの様々なＮＡＬユニットが、ビットストリームの様々なレイヤに関連付けられ得る。レイヤは、同じレイヤ識別子を有するビデオコーディングレイヤ（ＶＣＬ：video coding layer）ＮＡＬユニットおよび関連する非ＶＣＬ  ＮＡＬユニットのセットとして定義され得る。レイヤは、マルチビュービデオコーディングにおけるビューと等価であり得る。マルチビュービデオコーディングでは、レイヤは、異なる時間インスタンスを伴う同じレイヤのすべてのビュー成分を含み得る。各ビュー成分は、特定の時間インスタンスにおける特定のビューに属するビデオシーンのコード化ピクチャであり得る。３Ｄビデオコーディングでは、レイヤは、特定のビューのすべてのコード化深度ピクチャ、または特定のビューのコード化テクスチャピクチャのいずれかを含み得る。同様に、スケーラブルビデオコーディングのコンテキストにおいて、レイヤは、通常、他のレイヤ中のコード化ピクチャと異なるビデオ特性を有するコード化ピクチャに対応する。そのようなビデオ特性は、通常、空間解像度と品質レベル（信号対雑音比）とを含む。ＨＥＶＣおよびその拡張では、時間スケーラビリティは、特定の時間レベルを伴うピクチャのグループをサブレイヤと定義することによって、１つのレイヤ中で達成され得る。
【００７２】
[0090]  ビットストリームのそれぞれの各レイヤについて、下位レイヤ中のデータは、上位レイヤ中のデータと無関係に復号され得る。スケーラブルビデオコーディングでは、たとえば、ベースレイヤ中のデータは、エンハンスメントレイヤ中のデータと無関係に復号され得る。ＮＡＬユニットは単に、単一のレイヤのデータをカプセル化する。ＳＨＶＣでは、ビデオデコーダが、あるビュー中のピクチャをいかなる他のレイヤのデータとも無関係に復号できる場合、そのビューは「ベースレイヤ（base layer）」と呼ばれ得る。ベースレイヤは、ＨＥＶＣベース仕様に準拠し得る。したがって、ビットストリームの残りの最高レイヤのデータをカプセル化するＮＡＬユニットは、ビットストリームの残りのレイヤ中のデータの復号可能性に影響を及ぼすことなくビットストリームから除去され得る。ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣでは、上位レイヤは、さらなるビュー成分を含み得る。ＳＨＶＣでは、上位レイヤは、信号対雑音比（ＳＮＲ：signal to noise ratio）エンハンスメントデータ、空間エンハンスメントデータ、および／または時間エンハンスメントデータを含み得る。
【００７３】
[0091]  いくつかの例では、上位レイヤのデータは、１つまたは複数の下位レイヤ中のデータを参照して復号され得る。下位レイヤは、レイヤ間予測を使用して上位レイヤを圧縮するための参照ピクチャとして使用され得る。下位レイヤのデータは、上位レイヤと同じ解像度を有するようにアップサンプリングされ得る。概して、１つまたは複数のアップサンプリングされた下位レイヤが、１つまたは複数の近隣ピクチャではなく、参照ピクチャとして使用され得ることを除いて、ビデオエンコーダ２０およびビデオデコーダ３０は、上記で説明したインター予測と同様の方法でレイヤ間予測を実行することができる。
【００７４】
[0092]  図２は、３つの異なる次元におけるスケーラビリティの一例を示す概念図である。スケーラブルビデオコーディング構造では、スケーラビリティは、３つの次元において有効化される。図２の例では、スケーラビリティは、空間（Ｓ）次元１００、時間（Ｔ）次元１０２、および信号対雑音比（ＳＮＲ）次元または品質（Ｑ）次元１０４において有効化される。時間次元１０２では、たとえば、７．５Ｈｚ（Ｔ０）、１５Ｈｚ（Ｔ１）、または３０Ｈｚ（Ｔ２）を有するフレームレートが時間スケーラビリティによってサポートされ得る。空間スケーラビリティがサポートされるとき、たとえば、ＱＣＩＦ（Ｓ０）、ＣＩＦ（Ｓ１）、および４ＣＩＦ（Ｓ２）など、異なる解像度が空間次元１００において有効化される。特定の空間解像度およびフレームレートごとに、ピクチャ品質を改善するために、ＳＮＲ次元１０４内にＳＮＲレイヤ（Ｑ１）が追加され得る。
【００７５】
[0093]  ビデオコンテンツがそのようなスケーラブルな方法で符号化されると、たとえば、クライアントまたは送信チャネルに依存する適用要件に従って、実際の配信されたコンテンツを適応させるために、抽出器ツールが使用され得る。図２に示した例では、各立方体は、同じフレームレート（時間レベル）、空間解像度、およびＳＮＲレイヤを有するピクチャを包含する。立方体（すなわち、ピクチャ）を次元１００、１０２、１０４のいずれかに追加することによって、より良い表現が達成され得る。２つ、３つ、またはさらに多くのスケーラビリティが有効化されるとき、複合スケーラビリティがサポートされる。
【００７６】
[0094]  Ｈ．２６４に対するＳＶＣ拡張、すなわちＳＨＶＣなど、スケーラブルビデオコーディング規格では、最低の空間レイヤおよびＳＮＲレイヤを有するピクチャは、単一レイヤビデオコーデックとの互換性を有し、最低の時間レベルにあるピクチャは、より高い時間レベルにあるピクチャを用いて拡張され得る時間ベースレイヤを形成する。ベースレイヤに加えて、空間スケーラビリティおよび／または品質スケーラビリティを実現するために、いくつかの空間エンハンスメントレイヤおよび／またはＳＮＲエンハンスメントレイヤが追加され得る。各々の空間エンハンスメントレイヤまたはＳＮＲエンハンスメントレイヤ自体は、ベースレイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルであり得る。１つの空間エンハンスメントレイヤまたはＳＮＲエンハンスメントレイヤについて、それが依存する下位レイヤは、その特定の空間エンハンスメントレイヤまたはＳＮＲエンハンスメントレイヤのベースレイヤと呼ばれることがある。
【００７７】
[0095]  図３は、スケーラブルビデオコーディングビットストリームのある例示的な構造１１０を示す概念図である。ビットストリーム構造１１０は、ピクチャまたはスライスＩ０、Ｐ４、およびＰ８を含むレイヤ０  １１２と、ピクチャまたはスライスＢ２、Ｂ６、およびＢ１０を含むレイヤ１  １１４とを含む。加えて、ビットストリーム構造１１０は、各々がピクチャ０、２、４、６、８、および１０を含むレイヤ２  １１６ならびにレイヤ３  １１７と、ピクチャ０から１１を含むレイヤ４  １１８とを含む。
【００７８】
[0096]  ベースレイヤは、最低の空間レイヤおよび品質レイヤを有する（すなわち、ＱＣＩＦ解像度を有する、レイヤ０  １１２およびレイヤ１  １１４中のピクチャ）。これらの中で、最低時間レベルのそれらのピクチャは、図３のレイヤ０  １１２に示すように、時間ベースレイヤを形成する。時間ベースレイヤ（レイヤ０）１１２は、上位時間レベル、たとえば、１５Ｈｚのフレームレートを有するレイヤ１  １１４、または３０Ｈｚのフレームレートを有するレイヤ４  １１８のピクチャで拡張され得る。
【００７９】
[0097]  ベースレイヤ１１２、１１４に加えて、空間スケーラビリティおよび／または品質スケーラビリティを実現するために、いくつかの空間エンハンストレイヤおよび／またはＳＮＲエンハンスメントレイヤが追加され得る。たとえば、ＣＩＦ解像度を有するレイヤ２  １１６は、ベースレイヤ１１２、１１４に対する空間エンハンスメントレイヤであり得る。別の例では、レイヤ３  １１７は、ベースレイヤ１１２、１１４、およびレイヤ２  １１６に対するＳＮＲエンハンスメントレイヤであり得る。図３に示すように、各々の空間エンハンスメントレイヤまたはＳＮＲエンハンスメントレイヤ自体は、ベースレイヤ１１２、１１４と同じ時間スケーラビリティ構造で、時間的にスケーラブルであり得る。加えて、エンハンスメントレイヤは空間解像度とフレームレートの両方を向上させることが可能である。たとえば、レイヤ４  １１８は、フレームレートを１５Ｈｚから３０Ｈｚにさらに増大させる、４ＣＩＦ解像度エンハンスメントレイヤを提供する。
【００８０】
[0098]  図４は、ビットストリーム順序（bitstream order）で、例示的なスケーラブルビデオコーディングアクセスユニット１２０Ａ〜１２０Ｅ（「アクセスユニット１２０」）を示す概念図である。図４に示すように、同じ時間インスタンス内のコード化ピクチャまたはスライスは、ビットストリーム順序で連続しており、Ｈ．２６４に対するＳＶＣ拡張、すなわち、ＳＨＶＣなど、スケーラブルビデオコーディング規格のコンテキストにおいて１つのアクセスユニットを形成する。次いで、これらのアクセスユニット１２０は、表示順序とは異なるものとされ得、たとえば、アクセスユニット１２０間の時間予測関係によって決定され得る復号順序に従う。
【００８１】
[0099]  たとえば、アクセスユニット１２０Ａは、レイヤ０  １１２からのピクチャＩ０と、レイヤ２  １１６からのピクチャ０と、レイヤ３  １１７からのピクチャ０と、レイヤ４  １１８からのピクチャ０とを含む。アクセスユニット１２０Ｂは、レイヤ０  １１２からのピクチャＰ４と、レイヤ２  １１６からのピクチャ４と、レイヤ３  １１７からのピクチャ４と、レイヤ４  １１８からのピクチャ４とを含む。アクセスユニット１２０Ｃは、レイヤ１  １１４からのピクチャＢ２と、レイヤ２  １１６からのピクチャ２と、レイヤ３  １１７からのピクチャ２と、レイヤ４  １１８からのピクチャ２とを含む。アクセスユニット１２０Ｄは、レイヤ４  １１８からのピクチャ１を含み、アクセスユニット１２０Ｅはレイヤ４  １１８からのピクチャ３を含む。
【００８２】
[0100]  図５は、ある例示的な３レイヤＳＨＶＣエンコーダ１２２を示すブロック図である。図５に示すように、ＳＨＶＣエンコーダ１２２は、ベースレイヤエンコーダ１２４と、第１のエンハンスメントレイヤエンコーダ１２５と、第２のエンハンスメントレイヤエンコーダ１２６とを含む。高レベルのシンタックス専用ＳＨＶＣでは、ＨＥＶＣ単一レイヤコーディングと比較されると、新しいブロックレベルのコーディングツールは存在しない。ＳＨＶＣでは、スライスおよびその上のレベルのシンタックス変更、ならびにピクチャのフィルタリングまたはアップサンプリングなどのピクチャレベルの動作のみが許可される。
【００８３】
[0101]  レイヤ間の冗長性を低減するために、単一レイヤ中でインターフレーム予測と同じようにレイヤ間予測が達成され得るように、上位レイヤ／エンハンスメントレイヤに関して、下位レイヤ／ベースレイヤに関するアップサンプリングされたコロケート参照レイヤピクチャが生成され、参照バッファ内に記憶され得る。図５に示すように、リサンプリングされたレイヤ間参照（ＩＬＲ：inter-layer reference）ピクチャ１２８がベースレイヤエンコーダ１２４中の参照ピクチャから生成され、第１のエンハンスメントレイヤエンコーダ１２５内に記憶される。同様に、リサンプリングされたＩＬＲピクチャ１２９が第１のエンハンスメントレイヤエンコーダ１２５中の参照ピクチャから生成され、第２のエンハンスメントレイヤエンコーダ１２６内に記憶される。ＳＨＶＣ  ＷＤ３では、ＩＬＲピクチャはエンハンスメントレイヤに関する長期参照ピクチャとして標示される。レイヤ間参照ピクチャに関連付けられた動きベクトル差分はゼロに制約される。
【００８４】
[0102]  超高解像度テレビジョン（ＵＨＤＴＶ：ultra-high definition television）デバイスおよびそのコンテンツの次の展開は、レガシーデバイスとは異なる色域を使用することになる。具体的には、ＨＤはＢＴ．７０９推奨、ＩＴＵ−Ｒ推奨ＢＴ．７０９「Ｐａｒａｍｅｔｅｒ  ｖａｌｕｅｓ  ｆｏｒ  ｔｈｅ  ＨＤＴＶ  ｓｔａｎｄａｒｄｓ  ｆｏｒ  ｐｒｏｄｕｃｔｉｏｎ  ａｎｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｐｒｏｇｒａｍｍｅ  ｅｘｃｈａｎｇｅ」２０１０年１２月を使用するのに対して、ＵＨＤＴＶは、ＢＴ．２０２０推奨、ＩＴＵ−Ｒ推奨ＢＴ．２０２０「Ｐａｒａｍｅｔｅｒ  ｖａｌｕｅｓ  ｆｏｒ  ＵＨＤＴＶ  ｓｙｓｔｅｍｓ  ｆｏｒ  ｐｒｏｄｕｃｔｉｏｎ  ａｎｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｐｒｏｇｒａｍｍｅ  ｅｘｃｈａｎｇｅ」２０１２年４月を使用することになる。色域は、たとえば、ピクチャ、スライス、ブロック、またはビデオデータのレイヤ中で画像に関して複写され得る色の完全範囲を備える。これらのシステム間の主な差は、ＵＨＤＴＶの色域はＨＤよりかなり大きい点である。ＵＨＤＴＶは、高解像度など、他のＵＨＤＴＶ特性に一致する、より真に迫った、または現実的な視聴体験を提供することになると主張されている。
【００８５】
[0103]  図６は、サンプルビデオシーケンス１３０のある例示的な色域を示すグラフである。図６に示すように、ＳＷＧ１サンプルビデオシーケンス１３０は、ＵＨＤ色域ＢＴ．２０２０  １３２の輪郭線内の点の集まりとして示される。比較のために、ＨＤ色域ＢＴ．７０９  １３４の輪郭および国際照明委員会（ＣＩＥ：International Commission on Illumination）−ＸＹＺ線形色空間１３６の輪郭はＳＷＧ１サンプルビデオシーケンス１３０をオーバーレイする。ＵＨＤ色域ＢＴ．２０２０  １３２はＨＤ色域ＢＴ．７０９  １３４よりもかなり大きいことが図６から容易に分かる。ＢＴ．７０９色域１３４から外れるＳＷＧ１サンプルビデオシーケンス１３０内のピクセルの数に留意されたい。
【００８６】
[0104]  図７は、ＨＤ色域ＢＴ．７０９  １３４からＵＨＤ色域ＢＴ．２０２０  １３２への変換を示すブロック図である。ＨＤ色域ＢＴ．７０９  １３４とＵＨＤ色域ＢＴ．２０２０  １３２は両方とも、ルーマ成分およびクロマ成分（たとえば、ＹＣｂＣｒまたはＹＵＶ）中のカラーピクセルの表現を定義する。各色域は、ＣＩＥ−ＸＹＺ線形色空間１３６の間の変換を定義する。この一般的な中間色空間は、ＨＤ色域ＢＴ．７０９  １３４内のルーマ値およびクロマ値のＵＨＤ色域ＢＴ．２０２０  １３２内の対応するルーマ値およびクロマ値への変換を定義するために使用され得る。
【００８７】
[0105]  図６に示したサンプルシーケンスの色域および図７に示した色域変換に関するさらなる詳細は、Ｌ．Ｋｅｒｏｆｓｋｙ、Ａ．Ｓｅｇａｌｌ、Ｓ．−Ｈ．Ｋｉｍ、Ｋ．Ｍｉｓｒａ、「Ｃｏｌｏｒ  Ｇａｍｕｔ  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ：Ｎｅｗ  Ｒｅｓｕｌｔｓ」、ＪＣＴＶＣ−Ｌ０３３４、ジュネーブ、スイス、２０１３年１月１４日〜２３日（以下、「ＪＣＴＶＣ−Ｌ０３３４」と呼ばれる）に見出すことができる。
【００８８】
[0106]  図８は、ベースレイヤ色域とエンハンスメントレイヤ色域とが異なるときに、レイヤ間参照ピクチャを生成し得る色予測処理ユニット１４４を含む色域スケーラブルコーダ１４０を示すブロック図である。色予測処理ユニット１４４は、ベースレイヤおよびエンハンスメントレイヤの色域が異なる色域スケーラブルビデオコーディングを実行するために、図１からのビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダによって使用され得る。
【００８９】
[0107]  図８に示す例では、ベースレイヤコーディングループ１４２は、第１の色域、たとえば、ＢＴ．７０９内の色データを含むピクチャのビデオコーディングを実行し、エンハンスメントレイヤコーディングループ１４６は、第２の色域、たとえば、ＢＴ．２０２０内の色データを含むピクチャのビデオコーディングを実行する。色予測処理ユニット１４４は、第１の色域内のベースレイヤ参照ピクチャの色データを第２の色域にマッピングまたは変換するために色予測を実行し、ベースレイヤ参照ピクチャのマッピングされた色データに基づいて、エンハンスメントレイヤに関するレイヤ間参照ピクチャを生成する。
【００９０】
[0108]  高いコーディング効率を達成するために、色予測処理ユニット１４４は、レイヤ間参照ピクチャを生成するとき、特定の色予測を実行するように構成される。下記でより詳細に説明するように、色予測処理ユニット１４４は、線形予測モデル、区分線形予測モデル、または３Ｄルックアップテーブルベースの色予測モデルのうちのいずれかに従って、色予測を実行するように構成され得る。
【００９１】
[0109]  線形予測モデルは、上記で参照したＪＣＴＶＣ−Ｌ０３３４で提案されている。概して、線形予測モデルの色予測プロセスは、利得およびオフセットモデルとして説明され得る。線形予測モデルは個々の色平面上で動作する。整数計算を容易にするために、パラメータは、パラメータｎｕｍＦｒａｃｔｉｏｎＢｉｔｓを使用した計算において使用される小数ビットの数について説明する。各チャネルに関して、ｇａｉｎ［ｃ]およびｏｆｆｓｅｔ［ｃ]が指定される。線形予測モデルは、次のように定義される、
【００９２】
【数１】
0006498673.tif 000002
【００９３】
[0110]  区分線形予測モデルは、上記で参照された、ＪＣＴＶＣ−Ｌ０３３４に基づく、Ｃ．Ａｕｙｅｕｎｇ、Ｋ．Ｓａｔｏ、「ＡＨＧ１４：Ｃｏｌｏｒ  ｇａｍｕｔ  ｓｃａｌａｂｌｅ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｗｉｔｈ  ｐｉｅｃｅｗｉｓｅ  ｌｉｎｅａｒ  ｐｒｅｄｉｃｔｉｏｎｓ  ａｎｄ  ｓｈｉｆｔ−ｏｆｆｓｅｔ  ｍｏｄｅｌ」、ＪＣＴＶＣ−Ｎ０２７１、ウィーン、オーストリア、２０１３年７月で提案されている。区分線形予測モデルの色予測プロセスも、利得およびオフセットモデルとして説明され得る。区分線形予測モデルは、次のように定義される、
【００９４】
【数２】
0006498673.tif 000003
【００９５】
予測パラメータｋｎｏｔ［ｃ]、ｏｆｆｓｅｔ［ｃ]、ｇａｉｎ１［ｃ]、およびｇａｉｎ２［ｃ]はビットストリーム中で符号化され得る。
【００９６】
[0111]  図９（ａ）および図９（ｂ）は、色域スケーラビリティのためのある例示的な３Ｄルックアップテーブル１５０を示す概念図である。３Ｄルックアップテーブルベースの色予測モデルは、Ｐ．Ｂｏｒｄｅｓ、Ｐ．Ａｎｄｒｉｖｏｎ、Ｆ．Ｈｉｒｏｎ、「ＡＨＧ１４：Ｃｏｌｏｒ  Ｇａｍｕｔ  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｕｓｉｎｇ  ３Ｄ−ＬＵＴ：Ｎｅｗ  Ｒｅｓｕｌｔｓ」、ＪＣＴＶＣ−Ｎ０１６８、ウィーン、オーストリア、２０１３年７月（以下、「ＪＣＴＶＣ−Ｎ０１６８」）で提案されている。色域スケーラビリティのための３Ｄルックアップテーブルの原理は図９（ａ）および図９（ｂ）に示される。３Ｄルックアップテーブル１５０は、第１の３Ｄ色空間、たとえば、ＨＤ色域ＢＴ．７０９のサブサンプリングと見なされてよく、この場合、各交点は、第２の３Ｄ色空間（すなわち、予測された）値に対応するカラートリプレット（color triplet）（ｙ、ｕ、ｖ）、たとえば、ＵＨＤ色域ＢＴ．２０２０に関連付けられる。
【００９７】
[0112]  概して、第１の色域は、各色次元（すなわち、Ｙ、Ｕ、およびＶ）内のオクタントまたは直方体に区分され得、オクタントの交点は、第２の色域に対応するカラートリプレットに関連付けられ、３Ｄルックアップテーブル１５０をポピュレートするために使用される。各色次元内の交点またはセグメントの数は、３Ｄルックアップテーブルのサイズを示す。図９（ａ）は、各色次元内のオクタントの交点、すなわち、交差する格子点を示す。図９（ｂ）は、交点の各々に関連付けられた異なる色値を示す。示すように、図９（ａ）では、各色次元は４つの交点を有し、図９（ｂ）では、各色次元は４つの色値を含む。
【００９８】
[0113]  図１０は、色域スケーラビリティのための３Ｄルックアップテーブル１５２を用いた３線補間を示す概念図である。第１の色域内の所与のベースレイヤカラーサンプルに関して、エンハンスメントレイヤに関する第２の色域内のその予測の計算は、次の式に従って、３線補間を使用して行われる。
【００９９】
【数３】
0006498673.tif 000004
【０１００】
式中、
【０１０１】
【数４】
0006498673.tif 000005
【０１０２】
【数５】
0006498673.tif 000006
【０１０３】
ｙ0は、ｙよりも下位である、最も近いサブサンプリングされた交点のインデックスである。
【０１０４】
ｙ1は、ｙより上位である、最も近いサブサンプリングされた交点のインデックスである。
【０１０５】
図９に示す３Ｄルックアップテーブル、および図１０に示す３Ｄルックアップテーブルとの３線補間のさらなる詳細は、上記で参照されたＪＣＴＶＣ−Ｎ０１６８に見出され得る。
【０１０６】
[0114]  図１１は、色域スケーラビリティのための３Ｄルックアップテーブル１５４を用いた四面体補間を示す概念図である。四面体補間は、３Ｄルックアップテーブルの計算上の複雑さを低減させるために、上で説明した３線補間の代わりに使用され得る。
【０１０７】
[0115]  図１２は、四面体補間を使用して補間されるべき３Ｄルックアップテーブルの点Ｐを包含するために使用される四面体の６つの例１５６Ａ〜１５６Ｆ（集合的に「四面体１５６」）を示す概念図である。図１２の例では、頂点Ｐ0およびＰ7が四面体内に含まれなければならないと仮定すると、３Ｄルックアップテーブルのオクタント内で補間されるべき点Ｐを含む四面体を決定するために６つの選択肢が存在する。四面体補間を使用して、３Ｄルックアップテーブルは、各２つの成分、すなわち、ｙおよびｕ、ｙおよびｖ、ｕおよびｖの関係をチェックする代わりに、高速決定のために設計され得る。
【０１０８】
[0116]  いくつかの例では、色成分の各々、すなわち、ルーマ（Ｙ）成分、第１のクロマ（Ｕ）成分、および第２のクロマ（Ｖ）成分に関して、別個の３Ｄルックアップテーブルが生成され得る。３Ｄルックアップテーブルの各々は、ルーマ（Ｙ）次元と、第１のクロマ（Ｕ）次元と、第２のクロマ（Ｖ）次元とを含み、３つの独立した色成分（Ｙ、Ｕ、Ｖ）を使用してインデックス付けされる。
【０１０９】
[0117]  一例では、マッピング関数は、３Ｄルックアップテーブルに基づいて各色成分に関して定義され得る。ルーマ（Ｙ）ピクセル値に関するある例示的なマッピング関数は次の式で提示される。
【０１１０】
【数６】
0006498673.tif 000007
【０１１１】
上記の式では、ＹEはエンハンスメントレイヤ中のルーマ画素値を表し、レイヤ（ＹB，ＵＵB，ＶB）はベースレイヤピクセル値を表し、ＬＵＴY，ＬＵＴU，ＬＵＴVおよびＬＵＴCは、それぞれ、各色成分Ｙ、Ｕ、Ｖ、および定数に関する３Ｄルックアップテーブルを表す。同様にマッピング関数は、エンハンスメントレイヤ内の第１のクロマ（Ｕ）ピクセル値および第２のクロマ（Ｖ）ピクセル値に関して定義され得る。
【０１１２】
[0118]  概して、３Ｄルックアップテーブルベースの色域スケーラビリティは、結果として、良好なコーディング性能をもたらす。しかしながら、３Ｄルックアップテーブルは、概して、ハードウェア実装でキャッシュメモリ内に記憶されるため、３Ｄルックアップテーブルのサイズは懸念事項であり得る。従来、３Ｄルックアップテーブルは、３Ｄルックアップテーブルがルーマ成分、第１のクロマ成分、および第２のクロマ成分に関して同じサイズを有するように、常に対称的である。加えて、従来、３Ｄルックアップテーブルは、３Ｄルックアップテーブルの各次元のサイズが常に同じであるように、常に平衡である。これは結果として、高い計算複雑性と高いシグナリングコストとを有する、大きいテーブルサイズをもたらす。たとえば、テーブルサイズは、９×９×９または１７×１７×１７までであり得る。
【０１１３】
[0119]  場合によっては、色域スケーラビリティのために使用される３Ｄルックアップテーブルのサイズはあまりにも大きく、実際の実装に問題をもたらす可能性がある。加えて、大きなテーブルサイズ、および３Ｄルックアップテーブルに関する３線補間の使用は、計算上高い複雑さをもたらす。
【０１１４】
[0120]  ２０１４年１０月１０日に出願した、米国特許出願第１４／５１２，１７７号（整理番号第１２１２−７１２ＵＳ０１／１４０１９３）では、３Ｄルックアップテーブルベースの色域スケーラビリティに関するシグナリングコストと計算複雑性の両方が低減され得るように、以下の方法が提案される。
【０１１５】
[0121]  第１の方法は、ルーマ（Ｙ）成分ならびにクロマ（ＵおよびＶ）成分が異なるサイズを有するように、非対称３Ｄルックアップテーブルを生成することを含む。場合によっては、３Ｄルックアップテーブルは、第１のクロマ成分および第２のクロマ成分の各々に関するよりも大きいサイズ、すなわち、より多いセグメントまたはオクタントをルーマ成分に関して有し得る。この場合、クロマ成分はより粗いルックアップテーブルを使用することができ、ルーマ成分はより微細化されたルックアップテーブルを使用することができる。たとえば、テーブルサイズは８×２×２までであり得る。他の場合では、３Ｄルックアップテーブルは、ルーマ成分に関するよりも大きいサイズをクロマ成分のうちの１つまたは両方に関して有し得る。
【０１１６】
[0122]  第２の方法は、３Ｄルックアップテーブルに関するテーブルインデックスとしてどの色成分が使用されているかに応じて、各次元のサイズが異なるように、不平衡３Ｄルックアップテーブル、すなわち、テーブル［Ｍ]［Ｎ]［Ｋ]を生成することを含む。３Ｄルックアップテーブルは、テーブルインデックスとして使用される色成分に関連付けられた次元に関してより大きいサイズを有し得る。この場合、カラーマッピングはテーブルインデックスとして使用される色成分に関してより正確であり得るが、他の色成分に関する精度はより低い。
【０１１７】
[0123]  第３の方法は、ルーマ成分３Ｄルックアップテーブルだけを生成することと、ルーマ成分予測を実行するために、３Ｄルックアップテーブルだけを使用することとを含む。１次元（１Ｄ）線形マッピング技法または区分的線形マッピング技法は、クロマ成分に関して使用され得る。
【０１１８】
[0124]  本開示の技法は、色域スケーラビリティのための３Ｄルックアップテーブルを生成するために使用される情報のシグナリングを対象とする。本技法によれば、ビデオエンコーダ２０は、色域スケーラビリティのために生成される３Ｄルックアップテーブルの区分情報および／または色値を符号化することができる。ビデオデコーダ３０は、色域スケーラビリティを実行するために３Ｄルックアップテーブルを生成するための区分情報および／または色値を復号することができる。開示する技法は、３Ｄルックアップテーブルの色成分の効率的な区分と、３Ｄルックアップテーブルに関する区分情報および／または色値の効率的なシグナリングとを実現する。このようにして、開示する技法は、３Ｄルックアップテーブルを生成するためのシグナリングコストと計算上の複雑さの両方を低減し得る。本開示で説明する技法は、非対称的および／または不平衡型３Ｄルックアップテーブルを生成するために使用される情報をシグナリングする際に特に有用であり得る。
【０１１９】
[0125]  一例では、本開示で説明する説明する技法は、３Ｄルックアップテーブルが第１のクロマ成分および第２のクロマ成分（たとえば、ＣｂおよびＣｒまたはＵおよびＶ）に関してより粗い区分を有し、ルーマ成分（たとえば、Ｙ）に関してより細かい区分を有するように非対称的区分を可能にすることによって、３Ｄルックアップテーブルの色成分のより効率的な区分を実現することができる。本技法は、３Ｄルックアップテーブルに関する基本数の区分に加えて、ルーマ成分に関するいくつかの追加の区分をシグナリングすることによって、３Ｄルックアップテーブルに関する区分情報のより効率的なシグナリングを実現することもできる。別の例では、本技法は、第１のクロマ成分および第２のクロマ成分（たとえば、ＣｂおよびＣｒまたはＵおよびＶ）の共同区分を可能にすることによって、３Ｄルックアップテーブルの色成分のより効率的な区分を実現することができる。
【０１２０】
[0126]  本技法は、以下の１つまたは複数を可能にすることによって、色域スケーラビリティ（ＣＧＳ：color gamut scalability）のための３Ｄルックアップテーブルを生成するために使用される情報のより効率的なシグナリングを実現することもできる。第１の例では、ビデオパラメータセット（ＶＰＳ：video parameter set）、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）、ピクチャパラメータセット（ＰＰＳ：picture parameter set）、スライスヘッダ（slice header）、または任意の他の高レベルシンタックスヘッダ（high level syntax header）内など、ＣＧＳ色予測情報がどこでシグナリングされるかを示すために、フラグまたはインデックスがシグナリングされ得る。第２の例では、非対称的（asymmetric）および／または不平衡型（unbalanced）３Ｄルックアップテーブルのサイズ、すなわち、セグメントまたはオクタントの数を示すために、いくつかの区分がシグナリングされ得る。第３の例では、クロマ成分が共同で区分されるとき、クロマ中心区分の範囲がシグナリングされ得る。
【０１２１】
[0127]  第４の例では、ＣＧＳ色予測情報の下位レベル（たとえば、スライスレベル）パラメータは、ＣＧＳ色予測情報の上位レベル（たとえば、ＰＰＳレベル）パラメータから予測的にコーディングされ得る。第５の例では、ＣＧＳ色予測情報のシンタックステーブルは、ＶＰＳ、ＳＰＳ、ＰＰＳ、またはスライスヘッダ内など、ビットストリーム内でシグナリングされ得る。いくつかのＣＧＳ色予測シンタックステーブルがビットストリーム内の異なるロケーションでシグナリングされるとき、コーディングされるべきピクチャをカバーする下位レベルにおけるシンタックステーブルが、ピクチャに関して使用され得る。第６の例では、ＣＧＳ色予測情報のシンタックステーブルは、コーディングされるべきピクチャに関してテクスチャ予測が有効化されるかどうかに従って、条件付きでシグナリングされ得る。ビデオデータの上位レイヤ、すなわち、拡張レイヤが複数のテクスチャ参照レイヤを有するとき、その色域が拡張レイヤとは異なる参照レイヤのすべてまたはいくつかに関して、ＣＧＳ色予測シンタックステーブルがシグナリングされ得る。第７の例では、低い複雑さを維持するために、ＣＧＳ色予測シンタックステーブルは、ピクチャ当たり、せいぜい１つだけの参照レイヤに関してシグナリングされるようにさらに制約され得る。
【０１２２】
[0128]  第８の例では、３Ｄルックアップテーブル内のクロマ方向のうちの１つに沿って不均等な区分を取得するために、第１のクロマ成分および第２のクロマ成分のうちの少なくとも１つに関して区分境界がシグナリングされ得る。区分境界情報は、クロマ成分のうちの少なくとも１つがクロマ方向に沿って２個以上のセグメントまたはオクタントに区分されるとき、条件付きでシグナリングされ得る。
【０１２３】
[0129]  ３Ｄルックアップテーブルの色成分の各々が１つまたは複数のオクタントに区分されると、本開示で説明する技法は、３Ｄルックアップテーブルの色値のより効率的なシグナリングを実現することができる。本技法は、３Ｄルックアップテーブルの色成分の各々に関する各オクタントに関して、オクタントの各々の頂点の値、またはオクタントの各々に関する線形カラーマッピング関数のカラーマッピング係数のうちのいずれかをシグナリングすることを含む。本開示では、「区分（partition）」、「オクタント（octant）」、「セグメント（segment）」および「直方体（cuboid）」という用語は、３Ｄルックアップテーブルの色成分の区分された領域を記述するために交換可能に使用され得る。
【０１２４】
[0130]  第１の例では、色成分の各々に関する各オクタントに関して、オクタントの頂点がシグナリングされ得る。この例では、所与の頂点の予測値と所与の頂点の実測値との間の残差値がシグナリングされ得る。場合によっては、残差ブロックはさらに量子化され得る。量子化ステップ情報、たとえば、量子化値は、シグナリングされてもよく、または予測値であってもよい。残差値は、第ｋ次指数ゴロムコーディング（kth-order exp-golomb coding）を用いてコーディングされ得る。次数ｋは、ビットストリーム内でシグナリングされ得るか、またはビットストリーム内で、残差値の大きさなど、他の情報に基づいて適応的に導出され得る。各オクタントすなわち区分に関して、すべての頂点がシグナリングされる必要があるとは限らない。たとえば、近隣のオクタントすなわち直方体が頂点値を共有しない場合、少なくとも４つの頂点がシグナリングされ得る。少なくとも４つの頂点は、オクタントすなわち直方体内のすべての値を補間するために使用され得る。
【０１２５】
[0131]  第２の例では、色成分の各々に関する各オクタントに関して、オクタントの頂点の代わりに、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数（すなわち、ａ、ｂ、ｃ、およびｄ）がシグナリングされ得る。色域予測を直接的に実行するために、カラーマッピングパラメータを有する線形カラーマッピング関数が使用され得る。線形カラーマッピング関数は、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用され、カラーマッピング係数は、ビデオデータの下位レイヤの色成分と上位レイヤの色成分との間の重みファクタ（weighting factor）である。本開示では、「カラーマッピング係数（color mapping coefficient）」および「線形色予測係数（linear color prediction coefficient）」という用語は交換可能に使用され得る。加えて、「線形カラーマッピング関数（linear color mapping function）」、「線形色予測関数（linear color prediction function）」、および「３Ｄ線形方程式（3D linear equation）」という用語も交換可能に使用され得る。
【０１２６】
[0132]  この例では、カラーマッピング係数（すなわち、ａ、ｂ、ｃ、およびｄ）は、事前定義された数のビットを使用して、浮動小数点値から整数値に変換または量子化され得る。場合によっては、変換情報または量子化情報がビットストリーム内でシグナリングされ得る。他の場合には、変換情報または量子化情報（すなわち、１の値を表すために使用されるビットの数）は、３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに依存し得る。
【０１２７】
[0133]  色成分の各々に関して、線形カラーマッピング関数のカラーマッピング係数のうちの１つは、予測されている同じ色成分の重みファクタを定義する重要係数であり得る。たとえば、線形カラーマッピング関数Ｕe＝ａ・Ｙb＋ｂ・Ｕb＋ｃ・Ｖb＋ｄを使用して上位レイヤの第１のクロマ成分（すなわち、Ｕe）を予測するとき、ｂは下位レイヤの第１のクロマ成分（すなわち、Ｕb）と予測されている上位レイヤの第１のクロマ成分（すなわち、Ｕe）との間の重みファクタであるため、ｂは重要係数である。重要係数のシグナリングは、他の係数とは異なり得る。いくつかの例では、重要係数の予測は、事前定義された非ゼロ値に依存し得るのに対して、他の係数の予測は、ゼロに等しい予測値に依存し得る。他の例では、重要係数の予測は、３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに依存し得る。
【０１２８】
[0134]  色域スケーラビリティのための３Ｄルックアップテーブルを効率的に区分およびシグナリングするための技法の上で説明した多数の例は、単独で、または何らかの組合せで使用されてよく、本開示で説明する例示的な組合せに限定されるべきではない。３Ｄルックアップテーブルの色成分の効率的な区分、ならびに３Ｄルックアップテーブルに関する区分情報および／または色値の効率的なシグナリングに関して開示する技法の追加の詳細を下で提供する。
【０１２９】
[0135]  上で説明したように、一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、第１のクロマ成分および第２のクロマ成分の共同区分を実行することによって、色域スケーラビリティのための３Ｄルックアップテーブルを生成することができる。従来の３Ｄルックアップテーブルでは、ルーマ成分、第１のクロマ成分、および第２のクロマ成分（すなわち、Ｙ、Ｕ、およびＶ）は、単独で区分される。各成分がＮ個のセグメントまたはオクタントに分割されるとき、オクタントの総数は、大きな３ＤルックアップテーブルをもたらすＮ×Ｎ×Ｎであり得る。たとえば、テーブルサイズは、９×９×９または１７×１７×１７までであり得る。オクタントの数を低減させるために、本開示の技法は、第１のクロマ成分および第２のクロマ成分（すなわち、ＵおよびＶ）を共同で区分しながら、ルーマ成分（すなわち、Ｙ）の単独区分を実現することができる。
【０１３０】
[0136]  たとえば、ルーマ成分はＭ個の区分またはオクタントに均等に分割され得る。第１のクロマ成分および第２のクロマ成分の２Ｄ  Ｕ×Ｖ空間は、次いで、次のように、２個の区分に分割され得る。
【０１３１】
【数７】
0006498673.tif 000008
【０１３２】
式中（ｕ，ｖ）は、Ｕ成分およびＶ成分のピクセル値を示し、ＣＢｉｔは、クロマ成分のビット深度を表し、２CBit-1は、クロマピクセルの中心値に対応し、Ｒは、中心値２CBit-1に対する距離を示す。場合によっては、Ｒは事前定義された固定値であり得、さもなければ、Ｒは、ＶＰＳ、ＳＰＳ、ＰＰＳ、またはスライスヘッダ内でなど、ビットストリーム内でシグナリングされる値であり得る。
【０１３３】
[0137]  図１３は、単独で区分されたルーマ成分と共同で区分されたクロマ成分とを用いた例示的な３Ｄルックアップテーブル１５８を示す概念図である。図１３の図示の例では、ルーマ成分（すなわち、Ｙ）は、区分線１６０Ａ、１６０Ｂ、および１６０Ｃに従って、４つの部分に均等に区分される。クロマ成分（すなわち、Ｕ−Ｖ）は区分直方体１６２に従って、２つの領域に区分される。この例では、クロマ対ピクセル値（ｕ，ｖ）の場合、それは区分直方体１６２の内部か、または区分直方体１６２の外部のいずれかである。図１３の例では、３Ｄルックアップテーブル１５８は４×２＝８個の区分に区分される。
【０１３４】
[0138]  別の例では、クロマ成分（すなわち、Ｕ−Ｖ）は共同で区分されるのに対して、ルーマ成分（すなわち、Ｙ）はＭ個の区分に分割されるが、Ｍ個の区分は必ずしも同じサイズであり得るとは限らない。言い換えれば、区分のうちの少なくとも１つが他の区分とは異なるサイズを有するように、ルーマ成分は不均等に区分され得る。たとえば、ルーマ成分の中心値に近接して位置する区分は、中心値からさらに離れて位置する区分よりも微細化、すなわち、細かくされ得る。
【０１３５】
[0139]  共同クロマ成分（すなわち、Ｕ−Ｖ）区分の例では、色域スケーラビリティ（ＣＧＳ）のための線形カラーマッピング関数のカラーマッピング係数をシグナリングするためのシンタックステーブルおよび関連するセマンティクスは、下の表１〜表３において、次のとおりであり得る。上記の、ＳＨＶＣ  ＷＤ３に対するいずれかの編集、追加、または更新は、イタリック体のテキストによって示されている。
【０１３６】
【表１】
0006498673.tif 000009
【０１３７】
１に等しいｃｇｓ＿ｅｎａｂｌｅ＿ｆｌａｇは、色域スケーラビリティが有効化されることを指定する。０に等しいｃｇｓ＿ｅｎａｂｌｅ＿ｆｌａｇは、色域スケーラビリティが無効化されることを指定する。存在しないとき、ｃｇｓ＿ｅｎａｂｌｅ＿ｆｌａｇは０であると推定される。
【０１３８】
１に等しいｃｇｓ＿ｉｎｆｏ＿ｉｎ＿ｐｐｓ＿ｆｌａｇは、ｃｇｓ＿ｉｎｆｏ＿ｔａｂｌｅがＰＰＳ内に存在することを指定する。０に等しいｃｇｓ＿ｉｎｆｏ＿ｉｎ＿ｐｐｓ＿ｆｌａｇは、ｃｇｓ＿ｉｎｆｏ＿ｔａｂｌｅは、ＰＰＳ内に存在しないが、スライスヘッダ内に存在することを指定する。存在しないとき、ｃｇｓ＿ｉｎｆｏｒ＿ｉｎ＿ｐｐｓ＿ｆｌａｇは０であると推定される。
【０１３９】
【表２】
0006498673.tif 000010
【０１４０】
ｃｇｓ＿ｕｖ＿ｐａｒｔ＿ｒａｎｇｅ＿ｆｒｏｍ＿ｃｅｎｔｅｒシンタックス要素は、クロマ成分の中心値からのクロマ区分の範囲を指定する。存在しないとき、ｃｇｓ＿ｕｖ＿ｐａｒｔ＿ｒａｎｇｅ＿ｆｒｏｍ＿ｃｅｎｔｅｒは０であると推定される。
【０１４１】
ｃｇｓ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２シンタックス要素は、ＣＧＳ色予測におけるルーマ区分の数を指定する。存在しないとき、ｃｇｓ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２は０であると推定される。ＣＧＳ＿ＰＡＲＴ＿ＮＵＭパラメータは、次のように導出される。ＣＧＳ＿ＰＡＲＴ＿ＮＵＭ＝１＜＜（ｃｇｓ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２＋１）。
【０１４２】
ｃｇｓ＿ｃｏｌｏｒ＿ｐｒｅｄ＿ｃｏｅｆｆ＿ｍｉｎｕｓ１２８シンタックス要素およびｃｇｓ＿ｃｏｌｏｒ＿ｐｒｅｄ＿ｃｏｅｆｆシンタックス要素は、各々、ＣＧＳのための線形カラーマッピング関数のカラーマッピング係数を指定する。存在しないとき、これらは０であると推定される。いくつかの例では、ｃｇｓ＿ｃｏｌｏｒ＿ｐｒｅｄ＿ｃｏｅｆｆ＿ｍｉｎｕｓ１２８シンタックス要素およびｃｇｓ＿ｃｏｌｏｒ＿ｐｒｅｄ＿ｃｏｅｆｆシンタックス要素は、異なるエントロピーコーディング方法を使用してシグナリングされ得ることに留意されたい。上の表２の例では、ｓｅ（ｖ）のエントロピーコーディング方法が使用される。代替的に、第ｋ次指数ゴロムコーディングまたは固定長コーディングが使用され得る。ｃｇｓ＿ｃｏｌｏｒ＿ｐｒｅｄ＿ｃｏｅｆｆ＿ｍｉｎｕｓ１２８シンタックス要素は、この例では、１．０の浮動小数点値を表すために使用される整数値である１２８に等しい事前定義された固定数として重要係数に関する予測値を示すことにも留意されたい。
【０１４３】
【表３】
0006498673.tif 000011
【０１４４】
色域スケーラビリティが有効化され（たとえば、ｃｇｓ＿ｅｎａｂｌｅ＿ｆｌａｔ＝１）、ｃｇｓ＿ｉｎｆｏ＿ｔａｂｌｅがＰＰＳ内に存在しない（たとえば、ｃｇｓ＿ｉｎｆｏ＿ｉｎ＿ｐｐｓ＿ｆｌａｇ＝０）とき、ｃｇｓ＿ｉｎｆｏ＿ｔａｂｌｅは、ＰＰＳ内に存在しないが、スライスヘッダ内に存在する。
【０１４５】
[0140]  上で説明したように、別の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、第１のクロマ成分および第２のクロマ成分（たとえば、ＣｂおよびＣｒまたはＵおよびＶ）に関するより粗い区分とルーマ成分（たとえば、Ｙ）に関するより細かい区分とを用いて、色域スケーラビリティのための３Ｄルックアップテーブルを生成することができる。ビデオエンコーダ２０および／またはビデオデコーダ３０は、基本区分値、たとえば、３Ｄルックアップテーブルに関する最大分割深度に従って、色成分の各々をいくつかのオクタントに区分し、次いで、ルーマ区分値に基づいて、ルーマ成分のオクタントの各々をさらに区分することによって、この３Ｄルックアップテーブルを生成することができる。一例では、ルーマ区分値はビットストリーム内でビデオエンコーダ２０によってビデオデコーダ３０にシグナリングされ得る。いくつかの例では、基本区分値もビットストリーム内でビデオエンコーダ２０によってビデオデコーダ３０にシグナリングされ得る。他の場合では、ルーマ区分値はビデオエンコーダ２０とビデオデコーダ３０の両方によって導出され得、および／または基本区分値はビデオエンコーダとビデオデコーダの両方において知られている事前定義された値であり得る。
【０１４６】
[0141]  一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、初めに、事前定義またはシグナリングされた分割深度（split depth）に達するまで、色成分の各々（すなわち、Ｙ−Ｕ−Ｖ空間）が反復的および対称的に分割または区分されるように、３Ｄルックアップテーブルを構成する。分割深度は、３Ｄルックアップテーブルの色成分のすべてが区分され得る最大回数を定義する。このようにして、基本区分値は分割深度として定義され得る。その場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ルーマ成分（すなわち、Ｙ）がより細かい区分を有するのに対して、クロマ成分（すなわち、ＵおよびＶ）がより粗い区分を有するように、ルーマ方向（すなわち、Ｙ）に沿って、各々、最小の立方体またはオクタントを均等に、または不均等にさらに分割する。
【０１４７】
[0142]  たとえば、ルーマ成分に関するより細かい区分とクロマ成分に関するより粗い区分とを有する、提案される３Ｄルックアップテーブルは、下の表４において次のようにシグナリングされ得る。上記の、ＳＨＶＣ  ＷＤ３に対するいずれかの編集、追加、または更新は、イタリック体のテキストによって示されている。
【０１４８】
【表４】
0006498673.tif 000012
【０１４９】
ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈシンタックス要素は、現在の表に関して、Ｙ−Ｕ−Ｖ空間に関する最大分割深度を示す。言い換えれば、ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈシンタックス要素は、３Ｄルックアップテーブルに関する基本区分値を示す。
【０１５０】
ｃｕｒ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２シンタックス要素は、最小立方体に関するＹ区分の数を指定する。代替的に、ｃｕｒ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２シンタックス要素は、そのｓｐｌｉｔ＿ｏｃｔａｎｔ＿ｆｌａｇが０に等しい立方体に関するＹ区分の数を指定する。言い換えれば、ｃｕｒ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２シンタックス要素は、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値を示す。一例として、ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈによって示される基本区分値は、色成分の各々が単一のオクタントに区分されるように、１に等しく、ｃｕｒ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２によって示されるルーマ区分値は、ルーマ成分の単一のオクタントが、サイズ４×１×１の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。別の例として、ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈによって示される基本区分値は、色成分の各々が２個のオクタントに区分されるように、２に等しく、ｃｕｒ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２によって示されるルーマ区分値は、ルーマ成分の２個のオクタントの各々が、サイズ８×２×２の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。
【０１５１】
ｉｎｐｕｔ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍｉｎｕｓ８シンタックス要素は、３Ｄルックアップテーブル入力のビット深度を指定する。ＩｎｐｕｔＢｉｔＤｅｐｔｈパラメータは次のように計算され得る。ＩｎｐｕｔＢｉｔＤｅｐｔｈ＝８＋ｉｎｐｕｔ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍｉｎｕｓ８。
【０１５２】
ｏｕｔｐｕｔ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍｉｎｕｓ８シンタックス要素は、３Ｄルックアップテーブル出力のビット深度を指定する。ＯｕｔｐｕｔＢｉｔＤｅｐｔｈパラメータは次のように計算され得る。ＯｕｔｐｕｔＢｉｔＤｅｐｔｈ＝８＋ｏｕｔｐｕｔ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍｉｎｕｓ８。
【０１５３】
ｒｅｓ＿ｑｕａｎｔ＿ｂｉｔシンタックス要素は、３Ｄルックアップテーブルの各色成分に関する各オクタントに関する頂点残差値またはカラーマッピング係数残差値のいずれかを量子化する際に使用されるビットの数を指定する。残差値の量子化は、頂点残差値またはカラーマッピング係数残差値をｒｅｓ＿ｑｕａｎｔ＿ｂｉｔだけ右シフトすることによって達成される。
ｃｏｄｉｎｇ＿ｏｃｔａｎｔシンタックステーブルについて、下で表５に関してより詳細に説明する。下の表５に示すｃｏｄｉｎｇ＿ｏｃｔａｎｔシンタックステーブルの例では、ルーマ成分（すなわち、Ｙ）がクロマ成分（すなわち、ＵおよびＶ）よりも細かい区分を有するように、最小のオクタントすなわち直方体だけが、ルーマ（すなわち、Ｙ方向）に沿ってさらに分割される。いくつかの例では、任意のオクタントすなわち直方体はルーマ方向に沿って分割され得る。この例では、オクタントがルーマ方向に沿ってさらに分割されるかどうかがビットストリーム内でシグナリングされ得る。
【０１５４】
[0143]  上で説明したように、さらなる例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、色成分の各々に関するオクタントの数と、オクタントの各々に関する色値とに基づいて、３Ｄルックアップテーブルを生成することができる。場合によっては、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関するオクタントの数は、ビデオエンコーダ２０によってビデオデコーダ３０にシグナリングされ得る。ビデオデコーダ３０が３Ｄルックアップテーブルの色成分の各々に関する各オクタントに関する色値を決定するために、ビデオエンコーダ２０は、オクタントの各々の頂点またはオクタントの各々の色値の線形カラーマッピング関数に関するカラーマッピング係数のいずれかをシグナリングすることができる。
【０１５５】
[0144]  上で説明した一例では、オクタントすなわち区分の各々に関して、ビデオエンコーダ２０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数のカラーマッピング係数をシグナリングすることができる。線形カラーマッピング関数は、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用され、カラーマッピング係数は、ビデオデータの下位レイヤの色成分と上位レイヤの色成分との間の重みファクタである。色成分の各々に関して、カラーマッピング係数のうちの１つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重みファクタを定義する重要係数であり得る。
【０１５６】
[0145]  共通線形カラーマッピング関数は、次のように表現され得る。
【０１５７】
【数８】
0006498673.tif 000013
【０１５８】
この例示的な関数では、下付き文字ｅおよびｂは、それぞれ、ルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分（すなわち、Ｙ、Ｕ、およびＶ）の各々に関する上位レイヤ（すなわち、拡張レイヤ）および下位レイヤ（たとえば、ベースレイヤ）を示す。パラメータａ、ｂ、ｃ、およびｄはカラーマッピング係数を表す。いくつかの例では、カラーマッピング係数ａ00、ｂ11、およびｃ22は、色成分の各々に関する重要係数、すなわち、ベースレイヤおよび拡張レイヤの同じ色成分間の重みファクタを表す）。本開示では、これらの係数は重要係数と呼ばれるが、同様に定義される係数は他の名称で呼ばれる場合もあるため、この名称は限定的と見なされるべきではない。いくつかの例では、所与のオクタントに関する線形カラーマッピング関数のカラーマッピング係数（すなわち、ａ、ｂ、ｃ、およびｄ）は、最初に、所与のオクタントの頂点に変換され得、次いで、それらの頂点の値は、３Ｄルックアップテーブル内の色値を表すために、ビットストリーム内でコーディングされ得る。
【０１５９】
[0146]  いくつかの例では、線形カラーマッピング関数のカラーマッピング係数（すなわち、ａ、ｂ、ｃ、およびｄ）は、浮動小数点値として導出される。この例では、ビデオエンコーダ２０は、カラーマッピング係数の浮動小数点値を整数値に変換または量子化し、次いで、各オクタントに関して、それらの整数値をビットストリーム内に符号化することができる。たとえば、カラーマッピング係数の整数値は、上の表２に示したｃｇｓ＿ｉｎｆｏ＿ｔａｂｌｅ内で符号化され得るか、または下の表５に示すｃｏｄｉｎｇ＿ｏｃｔａｎｔ表内で符号化され得る。ビデオデコーダ３０は、次いで、カラーマッピング係数の整数値を使用して、整数演算を実行することができる。
【０１６０】
[0147]  合理的な精度でカラーマッピング係数の浮動小数点値を表すために、たとえば、１．０の浮動小数点値を表すための整数値として２５６（８ビット）を使用して、１．０の浮動小数点値を表すための整数値が選択される。ビデオエンコーダ２０は、次の方程式に従って、変換または量子化を実行することができる。
【０１６１】
【数９】
0006498673.tif 000014
【０１６２】
式中、ａは、変換または量子化されるべきカラーマッピング係数の浮動小数点値を示し、Ａは、変換または量子化された整数値であり、
【０１６３】
【数１０】
0006498673.tif 000015
【０１６４】
は、パラメータｘを、ｘよりも小さい最大整数値に丸める床関数（floor function）を示し、Ｎは、１．０の浮動小数点値を変換または量子化するために必要とされるビットの数を示す。このようにして、浮動小数点値を表す整数値はパラメータＮに基づくビット深度（たとえば、８ビット）を有する。
【０１６５】
[0148]  一例では、変換または量子化は、８または１０など、事前定義された固定値に設定された、上記の方程式
【０１６６】
【数１１】
0006498673.tif 000016
【０１６７】
の指数のパラメータＮに基づき得る。別の例では、変換または量子化は、３Ｄルックアップテーブルの入力ビット深度（すなわち、Ｂi）または出力ビット深度（すなわち、Ｂo）のうちの少なくとも１つに基づいて決定されたＮの値に基づき得る。たとえば、変換または量子化は、次の方程式のうちの１つに従って決定されたパラメータＮに基づき得る。
【０１６８】
【数１２】
0006498673.tif 000017
【０１６９】
[0149]  いくつかの例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、カラーマッピング係数を予測し、カラーマッピング係数の元の値とカラーマッピング係数の予測値との間の差分として、カラーマッピング係数の残差値をコーディングすることができる。たとえば、所与のオクタントに関して、カラーマッピング係数のうちの少なくとも１つ、たとえば、重要係数のうちの１つに関する予測または予測の一部は、事前定義された固定値に等しい予測値に基づき得る。一例では、予測値は２Nに等しく設定されてよく、この場合、Ｎは、上で説明した量子化ビット値である。別の例として、所与のオクタントに関して、カラーマッピング係数のうちの少なくとも１つ、たとえば、重要係数のうちの１つに関する予測または予測の一部は、３Ｄルックアップテーブルの入力ビット深度（すなわち、Ｂi）または出力ビット深度（すなわち、Ｂo）のうちの少なくとも１つに依存し得る。たとえば、予測または予測の一部は、
【０１７０】
【数１３】
0006498673.tif 000018
【０１７１】
に等しい予測値に基づき得る。
【０１７２】
[0150]  一例として、ビデオエンコーダ２０および／またはビデオデコーダ３０は、次のようにカラーマッピング係数の予測を実行することができる。色成分の各々に関する第１のオクタントに関して、線形カラーマッピング関数のカラーマッピング係数は事前定義された固定値に基づいて予測され得る。色成分の各々に関する重要係数は、他の係数とは異なって予測され得る。たとえば、重要係数は、事前定義された非ゼロ値に等しい予測値に基づいて予測され得、任意の残りのカラーマッピング係数は、ゼロに等しい予測値に基づいて予測され得る。この例では、色成分の各々に関する任意の残りのオクタントのカラーマッピング係数は、第１のオクタントなど、少なくとも１つの前のオクタントからの予測値に基づいて予測され得る。
【０１７３】
[0151]  カラーマッピング係数の予測の別の例として、色成分の各々に関する第１のオクタントに関して、すべての色成分に関する重要係数に関する予測値は、
【０１７４】
【数１４】
0006498673.tif 000019
【０１７５】
に等しく設定されてよく、他の係数に関する予測値は０に等しく設定されてよい。この例では、色成分の各々に関する残りのオクタントの係数は前のオクタントから予測され得る。さらなる例では、カラーマッピング係数の予測は、色成分の各々に関する異なる区分間またはオクタント間で実行され得る。代替的に、カラーマッピング係数のセットは、ＳＰＳまたはＰＰＳ内など、基本係数としてシグナリングされ得る。その場合、カラーマッピング係数の実測値と基本係数の値との間の差分はピクチャレベルまたはスライスレベルでシグナリングされ得る。
【０１７６】
[0152]  場合によっては、カラーマッピング係数の残差値は、決定された量子化値に基づいて量子化され得る。ビデオエンコーダ２０は、ビデオデコーダ３０がカラーマッピング係数を適切に復号するための逆量子化を実行するために、決定された量子化値をシグナリングすることができる。一例では、決定された量子化値は、上の表４に関してより詳細に説明したｒｅｓ＿ｑｕａｎｔ＿ｂｉｔシンタックス要素によって示され得る。
【０１７７】
[0153]  この場合、色成分の各々に関するオクタントの各々に関して、ビデオエンコーダ２０は、カラーマッピング係数の元の値と、カラーマッピング係数の予測値とに基づいて、カラーマッピング係数の残差値を計算し、決定された量子化値に基づいて、カラーマッピング係数の残差値を量子化し、次いで、カラーマッピング係数の残差値をビットストリーム内で符号化することができる。ビデオエンコーダ２０は、決定された量子化値を示すために、ｒｅｓ＿ｑｕａｎｔ＿ｂｉｔシンタックス要素を符号化することもできる。ビデオデコーダ３０は、次いで、ｒｅｓ＿ｑｕａｎｔ＿ｂｉｔシンタックス要素と、カラーマッピング係数の残差値とを復号し、決定された量子化値に基づいて、カラーマッピング係数の残差値を逆量子化し、復号された残差値とカラーマッピング係数の予測値とに基づいて、カラーマッピング係数を再構成する。
【０１７８】
[0154]  加えて、カラーマッピング係数の値は、事前定義された固定値、または３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づいた所与の範囲内に制限され得る。カラーマッピング係数の値（すなわち、ａ、ｂ、ｃ、およびｄ）は、３Ｄルックアップテーブルを生成する計算上の複雑さを低減するために、ある範囲に限定され得る。一例として、この値は、両端値を含む−２Mから２M−１の範囲内に制限されてよく、この場合、Ｍは１０または１２など、事前定義された固定値に等しく設定される。代替的に、Ｍの値は、３Ｄルックアップテーブルの量子化ビット値Ｎ、入力ビット深度（すなわち、Ｂi）、または出力ビット深度（すなわち、Ｂ0）のうちの１つもしくは複数に依存し得る。
【０１７９】
[0155]  上で説明した別の例では、オクタントすなわち区分の各々に関して、ビデオエンコーダ２０は、３Ｄルックアップテーブル内の色値を示すために、オクタントの頂点の値をシグナリングすることができる。３Ｄルックアップテーブルの色値をシグナリングするために使用され得るｃｏｄｉｎｇ＿ｏｃｔａｎｔシンタックステーブルは、本開示では、主に、オクタント頂点の値をシグナリングすることに関して説明される。しかしながら、各オクタントに関する線形カラーマッピング関数に関するカラーマッピング係数の値をシグナリングするために、実質的に同様のｃｏｄｉｎｇ＿ｏｃｔａｎｔシンタックステーブルが使用され得るため、本説明は限定的であると見なされるべきではない。
【０１８０】
[0156]  上の表４に示した３Ｄルックアップテーブル色データシンタックス内に含まれるｃｏｄｉｎｇ＿ｏｃｔａｎｔシンタックステーブルについて、下で表５に関して説明する。上記の、ＳＨＶＣ  ＷＤ３に対するいずれかの編集、追加、または更新は、イタリック体のテキストによって示されている。
【０１８１】
【表５】
0006498673.tif 000020
【０１８２】
１に等しいｓｐｌｉｔ＿ｏｃｔａｎｔ＿ｆｌａｇは、オクタントが、頂点残差オクタントコーディングのためにすべての方向で半分のサイズを有する８個のオクタントに分割されることを指定する。存在しないとき、それは、０に等しいと推定される。
【０１８３】
変数ＹＰａｒｔＮｕｍは、ＹＰａｒｔＮｕｍ＝１＜＜ｃｕｒ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２として導出される。
【０１８４】
１に等しいｅｎｃｏｄｅｄ＿ｖｅｒｔｅｘ＿ｆｌａｇは、インデックス［ｙＩｄｘ２＋ｉ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]を有する頂点の残差が存在することを指定する。０に等しいｅｎｃｏｄｅｄ＿ｖｅｒｔｅｘ＿ｆｌａｇは、頂点に関する残差が存在しないことを指定する。存在しないとき、このフラグは０に等しいと推定される。
変数ｙＩｄｘは、次のように導出される。
【０１８５】
【数１５】
0006498673.tif 000021
【０１８６】
変数ｕＩｄｘは、次のように導出される。
【０１８７】
【数１６】
0006498673.tif 000022
【０１８８】
変数ｖＩｄｘは、次のように導出される。
【０１８９】
【数１７】
0006498673.tif 000023
【０１９０】
ｒｅｓＹ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]，ｒｅｓＵ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]、およびｒｅｓＶ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]は、インデックス［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]を有する頂点のＹ成分、Ｕ成分、およびＶ成分と、この頂点に関して予測されるＹ成分値、Ｕ成分値、およびＶ成分値との間の差分（すなわち、残差値）である。存在しないとき、これらの差分ｒｅｓＹ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]，ｒｅｓＵ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]、およびｒｅｓＶ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]は、０に等しいと推定される。
【０１９１】
[0157]  ３Ｄルックアップテーブルの各オクタントに関する線形カラーマッピング関数に関するカラーマッピング係数をシグナリングする例示的な技法では、ｃｏｄｉｎｇ＿ｏｃｔａｎｔシンタックステーブルは、頂点残差値ｒｅｓＹ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]，ｒｅｓＵ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]、およびｒｅｓＶ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]をシグナリングする代わりに、オクタントの線形カラーマッピング関数に関するカラーマッピング係数（すなわち、ａ、ｂ、ｃ、およびｄ）とオクタントに関して予測されるカラーマッピング係数値との間の差分である残差値を示すことができる。
【０１９２】
[0158]  オクタント頂点の値をシグナリングする例示的な技法に戻ると、３Ｄルックアップテーブルの各入力は次のように導出され得る。
【０１９３】
【数１８】
0006498673.tif 000024
【０１９４】
式中、Ｘは色成分Ｙ、Ｕ、およびＶの各々を示し、ｐｒｅｄＸ［ｙＩｄｘ]［ｕＩｄｘ]［ｖＩｄｘ]［ｖｅｒｔｅｘ]は下の表６に従って導出される。
【０１９５】
【表６】
0006498673.tif 000025
【０１９６】
場合によっては、上の表６に関して説明した予測手順のシフト演算の間に追加のオフセットが適用され得る。
【０１９７】
[0159]  ３Ｄルックアップテーブルの各オクタントに関する線形カラーマッピング関数に関するカラーマッピング係数をシグナリングする例示的な技法では、カラーマッピング係数の残差値を逆量子化し、カラーマッピング係数の逆量子化された残差値をカラーマッピング係数の予測値に加算することによって、３Ｄルックアップテーブルの線形カラーマッピング関数に関するカラーマッピング係数（すなわち、ｌｕｔＹ、ｌｕｔＵ、ｌｕｔＶ）を導出または再構成するために、同様の方程式が使用され得る。
【０１９８】
[0160]  場合によっては、カラーマッピング係数ｌｕｔＹ、ｌｕｔＵ、およびｌｕｔＶの値は、３Ｄルックアップテーブルを生成する計算上の複雑さを低減するために、ある範囲に限定され得る。一例として、この値は、両端値を含む−２Mから２M−１の範囲内に制限されてよく、この場合、Ｍは１０または１２など、事前定義された固定値に等しく設定される。代替的に、Ｍの値は、３Ｄルックアップテーブルの量子化ビット値Ｎ、入力ビット深度（すなわち、Ｂi）、または出力ビット深度（すなわち、Ｂ0）のうちの１つもしくは複数に依存し得る。
【０１９９】
[0161]  ビデオエンコーダ２０および／またはビデオデコーダ３０が、上で説明した１つまたは複数の例示的な技法を使用して３Ｄルックアップテーブルを生成した後、３Ｄルックアップテーブルを使用して、次のように色予測が実行され得る。色予測プロセスに対する入力は、ある色空間、たとえば、ビデオデータの下位レイヤまたはベースレイヤに関する第１の色域内の（ｙ，ｕ，ｖ）トリプレットである。色予測プロセスに対する出力は、別の色空間、たとえば、ビデオデータの上位レイヤすなわち拡張レイヤに関する第２の色域内のトリプレット（Ｙ，Ｕ，Ｖ）である。まず、入力トリプレット（ｙ，ｕ，ｖ）をカバーする最小のオクタントすなわち直方体が３Ｄルックアップテーブル内に位置特定される。直方体の開始頂点のインデックスの各々が次のように導出される。
【０２００】
【数１９】
0006498673.tif 000026
【０２０１】
いくつかの例では、インデックス計算の間に追加のオフセットが適用され得る。その場合、オクタントすなわち直方体の別の３つのインデックスが、（ｙＩｎｄｅｘ，ｕＩｎｄｅｘ＋１，ｖＩｎｄｅｘ）；（ｙＩｎｄｅｘ，ｕＩｎｄｅｘ＋１，ｖＩｎｄｅｘ＋１）；および（ｙＩｎｄｅｘ＋１，ｕＩｎｄｅｘ＋１，ｖＩｎｄｅｘ＋１）として導出される。これらの４つの頂点は、図１２で四面体１５６Ｄとして示される、第４の事例の四面体補間（tetrahedral interpolation）（Ｐ０，Ｐ１，Ｐ３，Ｐ７）に対応し得る。次いで、４つの頂点の３Ｄルックアップ値を補間する四面体補間によって出力トリプレット（output triplet）（Ｙ，Ｕ，Ｖ）が取得される。他の例では、他の事例の四面体補間が使用され得る。代替的に、オクタントすなわち直方体のすべての８つの頂点が導出され得る。この場合、出力トリプレット（Ｙ，Ｕ，Ｖ）を導出するために、３線補間が使用され得る。
【０２０２】
[0162]  さらに別の例では、３ＤルックアップテーブルはＳＰＳまたはＰＰＳ内でシグナリングされ得る。その場合、スライスヘッダ内で、３Ｄルックアップテーブルが現在スライスに関して上書きされることになるかどうかを示すための追加のフラグがシグナリングされ得る。代替的にまたは／および追加で、３Ｄルックアップテーブルは、ＳＰＳ内でシグナリングされ、ＰＰＳ内で更新され得る。ｍａｘ＿ｏｃｔａｎｔ＿ｄｅｐｔｈ、ｍａｘ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２、ｉｎｐｕｔ＿ｂｉｔ＿ｄｅｐｔｈ、およびｏｕｔｐｕｔ＿ｂｉｔ＿ｄｅｐｔｈなどの共通情報は、ＳＰＳまたはＰＰＳ内など、最高レベルでだけシグナリングされ得る。ここで、ｍａｘ＿ｏｃｔａｎｔ＿ｄｅｐｔｈおよびｍａｘ＿ｙ＿ｐａｒｔ＿ｎｕｍ＿ｌｏｇ２は、３Ｄルックアップテーブルのサポートされる最大区分数を示す。場合によっては、そのような情報は、最高レベルでシグナリングされる代わりに、プロファイルおよび／またはレベル関連であり得る。
【０２０３】
[0163]  上で説明したように、追加の例では、ビデオエンコーダ２０は、２個以上のオクタントに区分されているクロマ成分のうちの少なくとも１つ、すなわち、１よりも大きい基本区分値に基づいて、３Ｄルックアップテーブルのクロマ成分（すなわち、ＵまたはＶ）のうちの少なくとも１つに関する区分境界を条件付きでビデオデコーダ３０にシグナリングすることができる。場合によっては、クロマ成分のうちの１つまたは両方は均等に区分されない場合がある。言い換えれば、クロマ成分のうちの所与の１つに関して、区分のうちの少なくとも１つは他の区分とは異なるサイズを有する。区分境界は、クロマ成分のうちの１つの、２個以上のオクタントへの不均等区分を定義する。
【０２０４】
[0164]  従来、各クロマ成分に関する区分境界情報は、クロマ成分が２個以上のセグメントすなわちオクタントに均等に区分されているかどうかにかかわらず、常にシグナリングされる。本開示の技法によれば、一例では、ビデオエンコーダ２０は、クロマ成分（すなわち、ＵまたはＶ）のうちの少なくとも１つが２個以上の部分に区分されるときだけ区分境界をシグナリングする。さもなければ、区分境界は、不要であり、ビデオデコーダにシグナリングされない。別の例では、ビデオエンコーダ２０は、クロマ成分（すなわち、ＵおよびＶ）の各々が２個以上の部分に区分されるときだけ区分境界をシグナリングする。
【０２０５】
[0165]  下の表７に関して説明する例では、この条件は、ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈシンタックス要素が１に等しいことに基づく。上の表４に関して上で説明したように、ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈシンタックス要素は、３Ｄルックアップテーブルに関する最大分割深度として基本区分値を示す。ｃｕｒ＿ｏｃｔａｎｔ＿ｄｅｐｔｈシンタックス要素が１に等しいとき、ルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々は２つのセグメントまたはオクタントに区分される。この場合、区分境界情報をシグナリングするための条件を満たすためには、クロマ成分（すなわち、ＵおよびＶ）の両方が２つの部分に区分されなければならない。上記の、ＳＨＶＣ  ＷＤ３に対するいずれかの編集、追加、または更新は、イタリック体のテキストによって示されている。
【０２０６】
【表７】
0006498673.tif 000027
【０２０７】
ｃｂ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒシンタックス要素は、第１のクロマ成分（すなわち、Ｃｂ）に関する区分境界を指定する。ｃｂ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒシンタックス要素が存在しないとき、それは０と推定される。
【０２０８】
変数ＣｂＰａｒｔＴｈｒｅｓｈｏｌｄは（１＜＜（ｃｍ＿ｉｎｐｕｔ＿ｌｕｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍｉｎｕｓ８＋ｃｍ＿ｉｎｐｕｔ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｄｅｌｔａ＋７））＋ｃｂ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒに等しく設定される。
Ｃｂ値が変数ＣｂＰａｒｔＴｈｒｅｓｈｏｌｄよりも小さいか、またはそれよりも大きくないとき、Ｃｂ値は第１のＣｂ区分に属する。さもなければ、それは第２のＣｂ区分内に属する。
【０２０９】
ｃｒ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒシンタックス要素は、第２のクロマ成分（すなわち、Ｃｒ）に関する区分境界を指定する。ｃｒ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒシンタックス要素が存在しないとき、それは０と推定される。
【０２１０】
変数ＣｒＰａｒｔＴｈｒｅｓｈｏｌｄは（１＜＜（ｃｍ＿ｉｎｐｕｔ＿ｌｕｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍｉｎｕｓ８＋ｃｍ＿ｉｎｐｕｔ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｄｅｐｔｈ＿ｄｅｌｔａ＋７））＋ｃｒ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒに設定される。
【０２１１】
Ｃｒ値が変数ＣｒＰａｒｔＴｈｒｅｓｈｏｌｄよりも小さいか、またはそれよりも大きくないとき、Ｃｒ値は第１のＣｒ区分に属する。さもなければ、それは第２のＣｒ区分内に属する。
【０２１２】
ｃｂ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒシンタックス要素およびｃｒ＿ｐａｒｔ＿ｔｈｒｅｓｈｏｌｄ＿ｍｉｎｕｓ＿ｃｅｎｔｅｒシンタックス要素はコーディングに先立って量子化されないことに留意されたい。
【０２１３】
[0166]  図１４は、マルチレイヤビデオコーディングにおいて３Ｄルックアップテーブルベースの色域スケーラビリティを使用するための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行することができる。イントラコーディングは、所与のビデオフレームもしくはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームもしくはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれをも指すことができる。単一方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれをも指すことができる。
【０２１４】
[0167]  図１４に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内で現在のビデオブロックを受信する。図１４の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、ビデオデータメモリ４１と、復号ピクチャバッファ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測処理ユニット４６と、区分ユニット４８と、色予測処理ユニット６６とを含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクト（blockiness artifact）を除去するためにブロック境界をフィルタリングするためのデブロッキングフィルタ（deblocking filter）（図１４に図示せず）も含まれ得る。必要な場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタリングすることになる。さらなるフィルタ（インループまたはポストループ）も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡約のために図示されないが、必要な場合、加算器５０の出力を（インループフィルタとして）フィルタリングし得る。
【０２１５】
[0168]  ビデオデータメモリ４１は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ４１内に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ６４は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ４１および復号ピクチャバッファ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）のような様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ４１および復号ピクチャバッファ６４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ４１は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０２１６】
[0169]  符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間予測を提供するために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測処理ユニット４６は、代替で、空間予測を提供するために、コーディングされるべきブロックと同一のフレームまたはスライス中の１つもしくは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行することができる。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適当なコーディングモードを選択するために、複数のコーディングパスを実行することができる。
【０２１７】
[0170]  さらに、区分ユニット４８は、前のコーディングパス内の前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。たとえば、区分ユニット４８は、最初に、フレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいて、ＬＣＵの各々をサブＣＵに区分することができる。モード選択ユニット４０は、サブＣＵへのＬＣＵの区分を示す４分木データ構造をさらに生成することができる。４分木の葉ノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含み得る。
【０２１８】
[0171]  モード選択ユニット４０は、たとえば、誤差の結果に基づいて、コーディングモードのうちの１つを選択し、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に提供し、参照フレームとして使用するための符号化されたブロックを再構成するために加算器６２に提供することができる。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に提供する。
【０２１９】
[0172]  動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念上の目的から別々に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ（または、他のコード化ユニット）内でコーディングされている現在ブロックに対する参照ピクチャ（または、他のコード化ユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分の観点で、コーディングされるべきブロックと密に一致することが見出されたブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４内に記憶された参照ピクチャのサブ整数ピクセル位置に関する値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間することができる。したがって、動き推定ユニット４２は、フルピクセル位置および分数ピクセル位置に関する動き検索を実行し、分数ピクセル精度を有する動きベクトルを出力することができる。
【０２２０】
[0173]  動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵの動きベクトルを計算する。参照ピクチャは、その各々が、復号ピクチャバッファ６４内に記憶された１つまたは複数の参照ピクチャを識別する、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２２１】
[0174]  動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチすること、またはこれを生成することを含み得る。やはり、動き推定ユニット４２および動き補償ユニット４４は、いくつかの例で、機能的に統合され得る。現在ビデオブロックのＰＵの動きベクトルを受信するときに、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックを突き止めることができる。加算器５０は、下記で論じるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２は、ルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方に関して、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０は、ビデオスライスのビデオブロックを復号する際のビデオデコーダ３０による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成することもできる。
【０２２２】
[0175]  イントラ予測処理ユニット４６は、上述のように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測することができる。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット４６は、たとえば別々の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測処理ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用すべき適当なイントラ予測モードを選択することができる。
【０２２３】
[0176]  たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードに関するレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの間で最良レートひずみ特性（best rate-distortion characteristics）を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを作るために符号化された、元の符号化されていないブロックとの間のひずみ（または、誤差）の量、ならびに符号化されたブロックを作るのに使用されたビットレート（すなわち、ビットの個数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックに関して最良のレートひずみ値を示すのかを決定するために、様々な符号化されたブロックに関するひずみとレートとから比率を計算することができる。
【０２２４】
[0177]  ブロックに関するイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックの選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび（符号語マッピングテーブルとも呼ばれる）複数の修正されたイントラ予測モードインデックステーブルと、様々なブロックに関する符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの表示とを含み得る構成データを、送信されるビットストリーム中に含めることができる。
【０２２５】
[0178]  ビデオエンコーダ２０は、モード選択ユニット４０からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する、１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ：discrete cosine transform）または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴに概念的に類似する他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用され得る。どの場合においても、変換処理ユニット５２は、残差ブロックに変換を適用して、残差変換係数のブロックを作る。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換することができる。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。
【０２２６】
[0179]  量子化ユニット５４は、ビットレートをさらに低減させるために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を低減させることができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は次いで、量子化された変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット５６が、このスキャンを実行することができる。
【０２２７】
[0180]  量子化の後に、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応２進算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応２進算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率区間区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または別のエントロピーコーディング技法を実行することができる。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づくものとされ得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後の送信もしくは取出のためにアーカイブされ得る。
【０２２８】
[0181]  逆量子化ユニット５８および逆変換処理ユニット６０は、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット４４は、復号ピクチャバッファ６４のフレームのうちの１つの予測ブロックに残差ブロックを加算することによって参照ブロックを計算することができる。動き補償ユニット４４は、動き推定での使用のためにサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用することもできる。加算器６２は、復号ピクチャバッファ６４内に記憶するための再構成されたビデオブロックを生成するために、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償された予測ブロックに加算する。再構成されたビデオブロックは、後続ビデオフレーム中のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット４２と動き補償ユニット４４とによって使用され得る。
【０２２９】
[0182]  本開示で説明する技法によれば、ビデオエンコーダ２０は、マルチレイヤビデオデータを符号化するとき、３Ｄルックアップテーブルベースの色域スケーラビリティを実行するように構成される。ビデオエンコーダ２０は、ＳＨＶＣ拡張、ＭＶ−ＨＥＶＣ拡張、および３Ｄ−ＨＥＶＣ拡張、または他のマルチレイヤビデオコーディング拡張のいずれかに従って、マルチレイヤビデオデータを予測して、符号化することができる。具体的には、ビデオエンコーダ２０の色予測処理ユニット６６は、ビデオデータの上位レイヤに関する色域がそのビデオデータの下位レイヤに関する色域と異なるとき、ビデオデータの上位レイヤのピクチャ中のビデオブロックを予測するために使用されるレイヤ間参照ピクチャを生成することができる。
【０２３０】
[0183]  ビデオエンコーダ２０の色予測処理ユニット６６は、ビデオデータの下位レイヤに関する第１の色域内の参照ピクチャの色データをそのビデオデータの上位レイヤに関する第２の色域に変換するために、色域スケーラビリティのための３Ｄルックアップテーブルを使用して、色予測を実行することができる。いくつかの例では、色予測処理ユニット６６は、色成分の各々、すなわち、ルーマ成分、第１のクロマ成分、および第２のクロマ成分に関して、別個の３Ｄルックアップテーブルを生成することができる。３Ｄルックアップテーブルの各々は、ルーマ次元と、第１のクロマ次元と、第２のクロマ次元とを含み、３つの独立した色成分を使用してインデックス付けされる。
【０２３１】
[0184]  本開示の技法は、色域スケーラビリティのための３Ｄルックアップテーブルを生成するために使用される情報のシグナリングに関する。そのような技法のいくつかの例では、ビデオエンコーダ２０は、色域スケーラビリティのために生成される３Ｄルックアップテーブルの区分情報および／または色値を符号化することができる。本開示で説明する技法は、非対称的および／または不平衡型３Ｄルックアップテーブルを生成するために使用される情報をシグナリングする際に特に有用であり得る。
【０２３２】
[0185]  開示する技法の一例では、ビデオエンコーダ２０の色予測処理ユニット６６は、第１のクロマ成分および第２のクロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成することができる。色予測処理ユニット６６は、基本区分値、たとえば、３Ｄルックアップテーブルに関する最大分割深度に従って、第１のクロマ色成分、第２のクロマ色成分、およびルーマ色成分の各々を第１の数のオクタントに区分し、次いで、ルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々をさらに区分することによって、この３Ｄルックアップテーブルを生成することができる。このようにして、３Ｄルックアップテーブルの第１のクロマ成分および第２のクロマ成分の各々は、より少数の、すなわちより少ないオクタントに区分され（すなわち、より粗く区分され）、３Ｄルックアップテーブルのルーマ成分は、より多数の、すなわちより多くのオクタントに区分される（すなわち、より細かく区分される）。
【０２３３】
[0186]  一例として、基本区分値は、色成分の各々が単一のオクタントに区分されるように、１に等しく、ルーマ区分値は、ルーマ成分の単一のオクタントが、サイズ４×１×１の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。別の例として、基本区分値は、色成分の各々が２個のオクタントに区分されるように、２に等しく、ルーマ区分値は、ルーマ成分の２個のオクタントの各々が、サイズ８×２×２の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。わかるように、より低い区分値は、色成分に関して、より粗い区分（すなわち、より少数のオクタント）をもたらす。
【０２３４】
[0187]  場合によっては、色予測処理ユニット６６は、ルーマ区分値を示す少なくとも１つのシンタックス要素（たとえば、第１のシンタックス要素）を生成する。他の場合には、ルーマ区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において導出されるか、または知られている場合がある。一例として、色予測処理ユニット６６は、基本区分値に少なくとも部分的に基づいて、ルーマ区分値を導出することができる。場合によっては、色予測処理ユニット６６は、基本区分値を示す少なくとも１つのシンタックス要素（たとえば、第２のシンタックス要素）を生成することもできる。他の場合には、基本区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において知られている事前定義された値であり得る。ビデオエンコーダ２０のエントロピー符号化ユニット５６は、次いで、第１のシンタックス要素および／または第２のシンタックス要素をエントロピー符号化することができる。
【０２３５】
[0188]  加えて、ビデオエンコーダ２０は、クロマ成分のうちの少なくとも１つに関する区分境界を示す１つまたは複数のシンタックス要素を条件付きで符号化することができる。区分境界は、クロマ成分のうちの１つの、２個以上のオクタントへの不均等区分を定義する。本開示の技法のいくつかの例によれば、ビデオエンコーダ２０は、クロマ成分のうちの少なくとも１つが２個以上のオクタントに区分されるとき、すなわち、基本区分値が１よりも大きいときだけ、区分境界を示すシンタックス要素を符号化する。さもなければ、区分境界のシグナリングは不要である。
【０２３６】
[0189]  開示する技法の別の例では、ビデオエンコーダ２０は、ルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分の各々に関するオクタントの数と、オクタントの各々に関する色値とに基づいて、３Ｄルックアップテーブルを生成することができる。上で説明したように、場合によっては、ビデオエンコーダ２０は、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関するオクタントの数を示す少なくとも１つのシンタックス要素を符号化することができる。ビデオエンコーダ２０は、色成分の各々に関するオクタントの各々に関する色値を符号化することもできる。たとえば、ビデオエンコーダ２０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することができる。線形カラーマッピング関数は、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される。線形カラーマッピング関数に関するカラーマッピング係数は、ビデオデータの下位レイヤの色成分と上位レイヤの色成分との間の重みファクタである。色成分の各々に関して、カラーマッピング係数のうちの１つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重みファクタを定義する重要係数であり得る。
【０２３７】
[0190]  線形カラーマッピング関数に関するカラーマッピング係数は、浮動小数点値として導出され得る。カラーマッピング係数を符号化するのに先立って、ビデオエンコーダ２０の色予測処理ユニット６６は、カラーマッピング係数の浮動小数点値を整数値に変換することができる。この変換は、３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づく、整数値に関するビット深度を使用することができる。加えて、色予測処理ユニット６６は、カラーマッピング係数の値を、事前定義された固定値、または３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づいた所与の範囲内に制限し得る。
【０２３８】
[0191]  本開示の技法のいくつかの例では、色予測処理ユニット６６は、カラーマッピング係数の元の値とカラーマッピング係数の予測値との間の残差値を符号化するために、カラーマッピング係数のうちの１つまたは複数を予測することができる。たとえば、色成分の各々に関する第１のオクタントに関して、色予測処理ユニット６６は、事前定義された固定値に基づいて、線形カラーマッピング関数のカラーマッピング係数を予測することができる。一例では、色成分の各々に関する第１のオクタントに関して、色予測処理ユニット６６は、事前定義された非ゼロ値に等しい予測値に基づいて、線形カラーマッピング関数の重要係数を符号化し、ゼロに等しい予測値に基づいて、線形カラーマッピング関数の任意の残りのカラーマッピング係数を符号化することができる。この例では、色予測処理ユニット６６は、第１のオクタントなど、少なくとも１個の前に符号化されたオクタントからの予測値に基づいて、色成分の各々に関する任意の残りのオクタントのカラーマッピング係数を符号化することができる。
【０２３９】
[0192]  ビデオエンコーダ２０のエントロピー符号化ユニット５６は、次いで、色成分の各々に関するオクタントの各々に関する線形カラーマッピング関数に関するカラーマッピング係数の残差値をエントロピー符号化することができる。場合によっては、エントロピー符号化に先立って、ビデオエンコーダ２０は、決定された量子化値に基づいて、量子化ユニット５４を使用してカラーマッピング係数の残差値を量子化することができる。ビデオエンコーダ２０は、決定された量子化値を符号化することができる。
【０２４０】
[0193]  ３Ｄルックアップテーブルの生成時に、色予測処理ユニット６６は、３Ｄルックアップテーブルを使用して、ビデオデータの下位レイヤに関する参照ピクチャの色予測を実行し、色予測された参照ピクチャに基づいて、そのビデオデータの上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成する。レイヤ間参照ピクチャの生成時に、ビデオエンコーダ２０の動き補償ユニット４４は、３Ｄルックアップテーブルを使用して生成されたレイヤ間参照ピクチャに基づいて、ビデオデータの上位レイヤのピクチャ中のビデオブロックを予測するために、上記で説明したように動作することができる。ビデオエンコーダ２０は、次いで、ビデオデコーダ３０に送信するために、ビットストリーム内のビデオブロックの残差データを符号化することができる。
【０２４１】
[0194]  図１５は、マルチレイヤビデオコーディングにおいて３Ｄルックアップテーブルベースの色域スケーラビリティを使用することを決定するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図１５の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、ビデオデータメモリ７１と、動き補償ユニット７２と、イントラ予測処理ユニット７４と、色予測処理ユニット８６と、逆量子化ユニット７６と、逆変換処理ユニット７８と、復号ピクチャバッファ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図１４）に関して説明した符号化パスとは概して逆の復号パスを実行することができる。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成することができるが、イントラ予測処理ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成することができる。
【０２４２】
[0195]  ビデオデータメモリ７１は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ７１内に記憶されたビデオデータは、たとえば、コンピュータ可読媒体１６から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７１は、符号化されたビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成することができる。復号ピクチャバッファ８２は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ７１および復号ピクチャバッファ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）のような様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ７１および復号ピクチャバッファ８２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ７１は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０２４３】
[0196]  復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連付けられたシンタックス要素とを表す、符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２へ転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでのシンタックス要素を受信し得る。
【０２４４】
[0197]  ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測処理ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックに関する予測データを生成することができる。ビデオフレームがインターコード化（すなわち、ＢまたはＰ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックに関する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ８２内に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照ピクチャリスト、すなわち、リスト０およびリスト１を構成することができる。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在ビデオブロックの予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライス用の参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化されたビデオブロックに関する動きベクトルと、スライスの各インターコード化ビデオブロックに関するインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０２４５】
[0198]  動き補償ユニット７２は、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルに関して補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用することができる。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するためにそれらの補間フィルタを使用することができる。
【０２４６】
[0199]  逆量子化ユニット７６は、ビットストリーム中で提供され、エントロピー復号ユニット７０によって復号された、量子化された変換係数を逆量子化する（inverse quantize）、すなわち、逆量子化する（de-quantize）。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックに関してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。逆変換処理ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２４７】
[0200]  動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックに関する予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。必要な場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。（コーディングループ中の、またはコーディングループ後のいずれかにおける）他のループフィルタも、ピクセルの遷移を平滑化し、または場合によっては、ビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ８２内に記憶される。復号ピクチャバッファ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のために、復号ビデオを記憶する。
【０２４８】
[0201]  本開示で説明する技法のいくつかの例によれば、ビデオデコーダ３０は、マルチレイヤビデオデータを復号するとき、３Ｄルックアップテーブルベースの色域スケーラビリティを実行するように構成される。ビデオデコーダ３０は、ＳＨＶＣ拡張、ＭＶ−ＨＥＶＣ拡張、および３Ｄ−ＨＥＶＣ拡張、またはＨＥＶＣに対する他のマルチレイヤビデオコーディング拡張のいずれかに従って、予測されたマルチレイヤビデオデータを復号して、再構成することができる。具体的には、ビデオデコーダ３０の色予測処理ユニット８６は、ビデオデータの上位レイヤに関する色域がそのビデオデータの下位レイヤに関する色域と異なるとき、ビデオデータの上位レイヤのピクチャ中のビデオブロックを予測するために使用されるレイヤ間参照ピクチャを生成することができる。
【０２４９】
[0202]  ビデオデコーダ３０の色予測処理ユニット８６は、ビデオデータの下位レイヤに関する第１の色域内の参照ピクチャの色データをそのビデオデータの上位レイヤに関する第２の色域に変換するために、色域スケーラビリティのための３Ｄルックアップテーブルを使用して、色予測を実行することができる。いくつかの例では、色予測処理ユニット８６は、色成分の各々、すなわち、ルーマ成分、第１のクロマ成分、および第２のクロマ成分に関して、別個の３Ｄルックアップテーブルを生成することができる。３Ｄルックアップテーブルの各々は、ルーマ次元と、第１のクロマ次元と、第２のクロマ次元とを含み、３つの独立した色成分を使用してインデックス付けされる。
【０２５０】
[0203]  本開示の技法は、色域スケーラビリティのための３Ｄルックアップテーブルを生成するために使用される情報のシグナリングに関する。本技法によれば、ビデオデコーダ３０は、色域スケーラビリティを実行するために３Ｄルックアップテーブルを生成するための区分情報および／または色値を復号することができる。本開示で説明する技法は、非対称的および／または不平衡型３Ｄルックアップテーブルを生成するために使用される情報をシグナリングする際に特に有用であり得る。
【０２５１】
[0204]  開示する技法の一例では、ビデオデコーダ３０の色予測処理ユニット８６は、第１のクロマ成分および第２のクロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成することができる。色予測処理ユニット８６は、基本区分値、たとえば、３Ｄルックアップテーブルに関する最大分割深度に従って、第１のクロマ色成分、第２のクロマ色成分、およびルーマ色成分の各々を第１の数のオクタントに区分し、次いで、ルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々をさらに区分することによって、この３Ｄルックアップテーブルを生成することができる。このようにして、３Ｄルックアップテーブルの第１のクロマ成分および第２のクロマ成分の各々は、より少ないオクタントのより少数に区分され（すなわち、より粗く区分され）、３Ｄルックアップテーブルのルーマ成分は、より多数の、すなわちより多くのオクタントに区分される（すなわち、より細かく区分される）。
【０２５２】
[0205]  一例として、基本区分値は、色成分の各々が単一のオクタントに区分されるように、１に等しく、ルーマ区分値は、ルーマ成分の単一のオクタントが、サイズ４×１×１の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。別の例として、基本区分値は、色成分の各々が２個のオクタントに区分されるように、２に等しく、ルーマ区分値は、ルーマ成分の２個のオクタントの各々が、サイズ８×２×２の３Ｄルックアップテーブルをもたらす、４個のオクタントに区分されるように、４に等しい。わかるように、より低い区分値は、色成分に関して、より粗い区分（すなわち、より少数のオクタント）をもたらす。
【０２５３】
[0206]  場合によっては、ビデオデコーダ３０のエントロピー復号ユニット７０は、ルーマ区分値を示す少なくとも１つのシンタックス要素（たとえば、第１のシンタックス要素）をエントロピー復号する。他の場合には、ルーマ区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において導出されるか、または知られている場合がある。一例として、色予測処理ユニット８６は、基本区分値に少なくとも部分的に基づいて、ルーマ区分値を導出することができる。場合によっては、エントロピー復号ユニット７０は、基本区分値を示す少なくとも１つのシンタックス要素（たとえば、第２のシンタックス要素）を復号することもできる。他の場合には、基本区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において知られている事前定義された値であり得る。色予測処理ユニット８６は、上で説明したように、第１のクロマ成分および第２のクロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成するために、事前定義またはシグナリングされた基本区分値と導出またはシグナリングされたルーマ区分とを使用する。
【０２５４】
[0207]  加えて、ビデオデコーダ３０は、クロマ成分のうちの少なくとも１つに関する区分境界を示す１つまたは複数のシンタックス要素を条件付きで復号することができる。区分境界は、クロマ成分のうちの１つの、２個以上のオクタントへの不均等区分を定義する。本開示の技法によれば、ビデオデコーダ３０は、クロマ成分のうちの少なくとも１つが２個以上のオクタントに区分されるとき、すなわち、基本区分値が１よりも大きいときだけ、区分境界を示すシンタックス要素を復号する。さもなければ、区分境界の復号は不要である。
【０２５５】
[0208]  開示する技法の別の例では、ビデオデコーダ３０は、ルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分の各々に関するオクタントの数と、オクタントの各々に関する色値とに基づいて、３Ｄルックアップテーブルを生成することができる。上で説明したように、場合によっては、ビデオデコーダ３０は、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関するオクタントの数を示す少なくとも１つのシンタックス要素を復号するか、さもなければ、３Ｄルックアップテーブルの色成分の各々に関するオクタントの数を決定することができる。ビデオデコーダ３０は、色成分の各々に関するオクタントの各々に関する色値を復号することもできる。たとえば、ビデオデコーダ３０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することができる。線形カラーマッピング関数は、ビデオデータの下位レイヤに関する第１の色域内の色データをビデオデータの上位レイヤに関する第２の色域に変換するために使用される。線形カラーマッピング関数に関するカラーマッピング係数は、ビデオデータの下位レイヤの色成分と上位レイヤの色成分との間の重みファクタである。色成分の各々に関して、カラーマッピング係数のうちの１つは、ビデオデータの下位レイヤおよび上位レイヤの同じ色成分間の重みファクタを定義する重要係数であり得る。
【０２５６】
[0209]  線形カラーマッピング関数に関するカラーマッピング係数は、浮動小数点値として最初に導出される。浮動小数点値は、次いで、整数値に変換または量子化される、整数値としてシグナリングされる。この変換は、３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づく、整数値に関するビット深度を使用することができる。加えて、色予測処理ユニット８６は、カラーマッピング係数の値を、事前定義された固定値、または３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づいた所与の範囲内に制限し得る。
【０２５７】
[0210]  ビデオデコーダ３０のエントロピー復号ユニット７０は、色成分の各々に関するオクタントの各々に関する線形カラーマッピング関数に関するカラーマッピング係数の残差値をエントロピー復号することができる。場合によっては、エントロピー復号の後、および再構成に先立って、ビデオデコーダ３０は、決定された量子化値に基づいて、逆量子化ユニット７６を使用してカラーマッピング係数の残差値を逆量子化することができる。ビデオデコーダ３０は、決定された量子化値を示すシンタックス要素を復号することができる。
【０２５８】
[0211]  本開示の技法によれば、色予測処理ユニット８６は、カラーマッピング係数の残差値とカラーマッピング係数の予測値とに基づいて、カラーマッピング係数の値を再構成するために、カラーマッピング係数のうちの１つまたは複数を予測することができる。たとえば、色成分の各々に関する第１のオクタントに関して、色予測処理ユニット８６は、事前定義された固定値に基づいて、線形カラーマッピング関数のカラーマッピング係数を予測することができる。一例では、色成分の各々に関する第１のオクタントに関して、色予測処理ユニット８６は、事前定義された非ゼロ値に等しい予測値に基づいて、線形カラーマッピング関数の重要係数を復号し、ゼロに等しい予測値に基づいて、線形カラーマッピング関数の任意の残りのカラーマッピング係数を復号することができる。この例では、色予測処理ユニット８６は、第１のオクタントなど、少なくとも１個の前に復号されたオクタントからの予測値に基づいて、色成分の各々に関する任意の残りのオクタントのカラーマッピング係数を復号することができる。
【０２５９】
[0212]  ３Ｄルックアップテーブルの生成時に、色予測処理ユニット８６は、３Ｄルックアップテーブルを使用して、ビデオデータの下位レイヤに関する参照ピクチャの色予測を実行し、色予測された参照ピクチャに基づいて、ビデオデータの上位レイヤに関するレイヤ間参照ピクチャを生成する。レイヤ間参照ピクチャの生成時に、ビデオデコーダ３０の動き補償ユニット７２は、復号された残差データと、３Ｄルックアップテーブルを使用して生成されたレイヤ間参照ピクチャとに基づいて、ビデオデータの上位レイヤのピクチャ中のビデオブロックを再構成するために、上記で説明したように動作することができる。
【０２６０】
[0213]  図１６は、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関する区分情報を符号化する例示的な動作を示すフローチャートである。図１６の例示的な動作は、図１４のビデオエンコーダ２０の色予測処理ユニット６６によって実行されているとして本明細書で説明される。他の例では、この動作は、図８の色予測処理ユニット１４４によって実行され得る。
【０２６１】
[0214]  本開示の技法によれば、ビデオエンコーダ２０の色予測処理ユニット６６は、第１のクロマ成分および第２のクロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成することができる。色予測処理ユニット６６は、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分することによって、この３Ｄルックアップテーブルを生成することができる（１８０）。一例では、基本区分値は、３Ｄルックアップテーブルに関する最大分割深度であり得る。色予測処理ユニット６６は、次いで、ルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントにさらに区分する（１８２）。
【０２６２】
[0215]  場合によっては、ビデオエンコーダ２０は、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値を示す少なくとも１つのシンタックス要素（たとえば、第１のシンタックス要素）を符号化することができる。他の場合には、ルーマ区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において導出されるか、または知られている場合がある。場合によっては、ビデオエンコーダ２０は、３Ｄルックアップテーブルに関する基本区分値を示す少なくとも１つの追加のシンタックス要素（たとえば、第２のシンタックス要素）を生成することもできる。他の場合には、基本区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において知られている事前定義された値であり得る。
【０２６３】
[0216]  加えて、ビデオエンコーダ２０は、クロマ成分のうちの少なくとも１つに関する区分境界を示す１つまたは複数のシンタックス要素を条件付きで符号化することができる。区分境界は、クロマ成分のうちの１つの、２個以上のオクタントへの不均等区分を定義する。本開示の技法によれば、ビデオエンコーダ２０は、クロマ成分のうちの１つが２個以上のオクタントに区分されていること、すなわち、基本区分値が１よりも大きいことに基づいて、クロマ成分のうちの少なくとも１つに関する区分境界を示すシンタックス要素を符号化する。
【０２６４】
[0217]  ビデオエンコーダ２０は、色成分の各々に関するオクタントの各々に関する色値を符号化することもできる。たとえば、ビデオエンコーダ２０は、色成分の各々のオクタントの各々に関する頂点の色値を符号化することができる。別の例として、ビデオエンコーダ２０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することができる。このようにして、図１５からのビデオデコーダ３０などのビデオデコーダは、マルチレイヤビデオデータを復号するための色域スケーラビリティを実行するために、シグナリングされた区分情報とシグナリングされた色値とに基づいて、３Ｄルックアップテーブルを生成することができる。
【０２６５】
[0218]  図１７は、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関する区分情報を復号する例示的な動作を示すフローチャートである。図１７の例示的な動作は、図１５のビデオデコーダ３０の色予測処理ユニット８６によって実行されているとして本明細書で説明される。他の例では、動作は、図８の色予測処理ユニット１４４によって実行され得る。
【０２６６】
[0219]  本開示の技法によれば、ビデオデコーダ３０は、３Ｄルックアップテーブルに関する基本区分値を決定する（１８６）。場合によっては、ビデオデコーダ３０は、基本区分値を示す少なくとも１つのシンタックス要素（たとえば、第２のシンタックス要素）を受信されたビットストリームから復号することができる。他の場合には、基本区分値はビデオエンコーダ２０とビデオデコーダ３０の両方において知られている事前定義された値であり得る。ビデオデコーダ３０はまた、３Ｄルックアップテーブルのルーマ成分に関するルーマ区分値を決定する（１８８）。場合によっては、ビデオデコーダ３０は、ルーマ区分値を示す少なくとも１つのシンタックス要素（たとえば、第１のシンタックス要素）を受信されたビットストリームから復号することができる。他の例では、ビデオデコーダ３０は、ルーマ区分値を導出することができる。一例では、ビデオデコーダ３０は、基本区分値に少なくとも部分的に基づいて、ルーマ区分値を導出することができる。
【０２６７】
[0220]  ビデオデコーダ３０の色予測処理ユニット８６は、第１のクロマ成分および第２のクロマ成分に関するより粗い区分とルーマ成分に関するより細かい区分とを用いて、３Ｄルックアップテーブルを生成するために、基本区分値とルーマ区分値とを使用する。色予測処理ユニット８６は、基本区分値に基づいて、３Ｄルックアップテーブルのルーマ成分、第１のクロマ成分、および第２のクロマ成分の各々を第１の数のオクタントに区分することによって、この３Ｄルックアップテーブルを生成することができる（１９０）。一例では、基本区分値は、３Ｄルックアップテーブルに関する最大分割深度であり得る。色予測処理ユニット８６は、次いで、ルーマ区分値に基づいて、ルーマ成分の第１の数のオクタントの各々を第２の数のオクタントにさらに区分する（１９２）。このようにして、ルーマ成分は、クロマ成分の各々よりも多い数のオクタントを有するように区分化され得る。
【０２６８】
[0221]  加えて、ビデオデコーダ３０は、クロマ成分のうちの少なくとも１つに関する区分境界を示す１つまたは複数のシンタックス要素を条件付きで復号することができる。区分境界は、クロマ成分のうちの１つの、２個以上のオクタントへの不均等区分を定義する。本開示の技法によれば、ビデオデコーダ３０は、クロマ成分のうちの１つが２個以上のオクタントに区分されていること、すなわち、基本区分値が１よりも大きいことに基づいて、クロマ成分のうちの少なくとも１つに関する区分境界を示すシンタックス要素を復号する。
【０２６９】
[0222]  ビデオデコーダ３０は、色成分の各々に関するオクタントの各々に関する色値を復号することもできる。たとえば、ビデオデコーダ３０は、色成分の各々のオクタントの各々に関する頂点の色値を復号することができる。別の例として、ビデオデコーダ３０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することができる。このようにして、ビデオデコーダ３０は、マルチレイヤビデオデータを復号するための色域スケーラビリティを実行するために、シグナリングされた区分情報とシグナリングされた色値とに基づいて、３Ｄルックアップテーブルを生成することができる。
【０２７０】
[0223]  図１８は、３Ｄルックアップテーブルの色成分の各々に関するオクタントの各々に関する色値を符号化する例示的な動作を示すフローチャートである。図１８の例示的な動作は、図１４のビデオエンコーダ２０の色予測処理ユニット６６によって実行されているとして本明細書で説明される。他の例では、動作は、図８の色予測処理ユニット１４４によって実行され得る。
【０２７１】
[0224]  本開示の技法によれば、ビデオエンコーダ２０は、ルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分の各々に関するオクタントの数と、オクタントの各々に関する色値とに基づいて、３Ｄルックアップテーブルを生成することができる（２００）。ビデオエンコーダ２０は、色成分の各々に関するオクタントの各々に関する色値を符号化することができる。より具体的には、色成分の各々に関するオクタントの各々に関して、ビデオエンコーダ２０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することができる（２０２）。
【０２７２】
[0225]  カラーマッピング係数の符号化するのに先立って、ビデオエンコーダ２０の色予測処理ユニット６６は、３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して、カラーマッピング係数の浮動小数点値を整数値に変換することができる。加えて、色予測処理ユニット６６は、カラーマッピング係数の値を、事前定義された固定値、または３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づいた所与の範囲内に制限し得る。
【０２７３】
[0226]  色予測処理ユニット６６は、カラーマッピング係数の元の値とカラーマッピング係数の予測値との間の残差値を符号化するために、カラーマッピング係数のうちの１つまたは複数を予測することができる。たとえば、色成分の各々に関する第１のオクタントに関して、色予測処理ユニット６６は、事前定義された非ゼロ値に等しい予測値に基づいて、線形カラーマッピング関数の重要係数を符号化し、ゼロに等しい予測値に基づいて、線形カラーマッピング関数の任意の残りのカラーマッピング係数を符号化することができる。この例では、色予測処理ユニット６６は、第１のオクタントなど、少なくとも１個の前に符号化されたオクタントからの予測値に基づいて、色成分の各々に関する任意の残りのオクタントのカラーマッピング係数を符号化することができる。場合によっては、カラーマッピング係数の残差値を符号化することに先立って、ビデオエンコーダ２０は、決定された量子化値に基づいて、カラーマッピング係数の残差値を量子化することができる。
【０２７４】
[0227]  ビデオエンコーダ２０は、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関するオクタントの数を示す少なくとも１つのシンタックス要素を符号化することもできる。このようにして、図１５からのビデオデコーダ３０などのビデオデコーダは、マルチレイヤビデオデータを復号するための色域スケーラビリティを実行するために、シグナリングされた区分情報とシグナリングされた色値とに基づいて、３Ｄルックアップテーブルを生成することができる。
【０２７５】
[0228]  図１９は、３Ｄルックアップテーブルの色成分の各々に関するオクタントの各々に関する色値を復号する例示的な動作を示すフローチャートである。図１９の例示的な動作は、図１５のビデオデコーダ３０の色予測処理ユニット８６によって実行されているとして本明細書で説明される。他の例では、動作は、図８の色予測処理ユニット１４４によって実行され得る。
【０２７６】
[0229]  本開示の技法のいくつかの例によれば、ビデオデコーダ３０は、３Ｄルックアップテーブルのルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分の各々に関するオクタントの数を決定する（２０４）。場合によっては、ビデオデコーダ３０は、３Ｄルックアップテーブルの色成分のうちの少なくとも１つに関するオクタントの数を示す少なくとも１つのシンタックス要素を受信されたビットストリームから復号することができる。ビデオデコーダ３０はまた、色成分の各々に関するオクタントの各々に関する色値を復号する。より具体的には、色成分の各々に関するオクタントの各々に関して、ビデオデコーダ３０は、３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することができる（２０６）。ビデオデコーダ３０の色予測処理ユニット８６は、次いで、ルーマ色成分、第１のクロマ色成分、および第２のクロマ色成分の各々に関するオクタントの数と、オクタントの各々に関するカラーマッピング係数に関連する色値とに基づいて、３Ｄルックアップテーブルを生成する（２０８）。ビデオデコーダ３０は、マルチレイヤビデオデータを復号するための色域スケーラビリティを実行するために、３Ｄルックアップテーブルを使用することができる。
【０２７７】
[0230]  ビデオデコーダ３０は、色成分の各々に関するオクタントの各々に関する線形カラーマッピング関数に関するカラーマッピング係数の残差値を受信することができる。場合によっては、カラーマッピング係数の残差値を復号した後で、ビデオデコーダ３０は、決定された量子化値に基づいて、カラーマッピング係数の残差値を逆量子化することができる。色予測処理ユニット８６は、次いで、カラーマッピング係数のシグナリングされた残差値とカラーマッピング係数の予測値とに基づいて、カラーマッピング係数の値を再構成するために、カラーマッピング係数のうちの１つまたは複数を予測することができる。たとえば、色成分の各々に関する第１のオクタントに関して、色予測処理ユニット８６は、事前定義された非ゼロ値に等しい予測値に基づいて、線形カラーマッピング関数の重要係数を復号し、ゼロに等しい予測値に基づいて、線形カラーマッピング関数の任意の残りのカラーマッピング係数を復号することができる。この例では、色予測処理ユニット８６は、第１のオクタントなど、少なくとも１個の前に復号されたオクタントからの予測値に基づいて、色成分の各々に関する任意の残りのオクタントのカラーマッピング係数を復号することができる。
【０２７８】
[0231]  カラーマッピング係数を復号した後、カラーマッピング係数は、３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して浮動小数点値を表す整数値であり得る。色予測処理ユニット８６は、カラーマッピング係数の値を、事前定義された固定値、または３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づいた所与の範囲内に制限し得る。
【０２７９】
[0232]  本開示のいくつかの態様が、説明のためにＨＥＶＣ規格の拡張に関して説明されてきた。ただし、本開示で説明した技法は、他の規格またはまだ開発されていないプロプライエタリなビデオコーディング処理を含む、他のビデオコーディング処理にとって有用であり得る。
【０２８０】
[0233]  本開示で説明したビデオコーダは、ビデオエンコーダまたはビデオデコーダを指す場合がある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指す場合がある。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指す場合がある。
【０２８１】
[0234]  例に応じて、本明細書で説明した技法のうちの任意のもののいくつかの動作または事象は、異なるシーケンスで実行され得、全体的に追加、結合、または除外され得ることが認識されるべきである（たとえば、説明した動作または事象のすべてが、本技法の実施のために必要であるとは限らない）。その上、いくつかの例では、動作または事象は、たとえば、マルチスレッドの処理、割込み処理、または多数のプロセッサを用いて、連続的ではなく同時に実行され得る。
【０２８２】
[0235]  １つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてもよい。ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上の１つもしくは複数の命令またはコード上に記憶され、あるいはこれを介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従う、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のために命令、コード、および／またはデータ構造を取り出すために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る任意の使用可能な媒体とされ得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０２８３】
[0236]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、代わりに、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
【０２８４】
[0237]  命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の統合された、あるいは個別の論理回路など、１つもしくは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明した技法の実装に適切な任意の他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールならびに／またはソフトウェアモジュール内に提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つもしくは複数の回路または論理要素で十分に実装され得る。
【０２８５】
[0238]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）もしくはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。様々なコンポーネント、モジュール、またはユニットは、開示した技術を実行するように構成されたデバイスの機能的態様を強調するように本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。そうではなく、上記で説明したように、様々なユニットは、コーデックハードウェアユニット中で組み合わせられるか、または上記で説明した１つもしくは複数のプロセッサを含む、適切なソフトウェアおよび／あるいはファームウェアとともに相互動作可能なハードウェアユニットの集合によって提供され得る。
【０２８６】
[0239]  様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲に含まれる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成することと、
前記ビデオデータのビデオブロックの残差データを復号することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成することと
を備える、方法。
［Ｃ２］
前記カラーマッピング係数が、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して浮動小数点値を表す整数値を備える、Ｃ１に記載の方法。
［Ｃ３］
前記カラーマッピング係数を復号することが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を復号することを備える、Ｃ１に記載の方法。
［Ｃ４］
前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、Ｃ３に記載の方法。
［Ｃ５］
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、Ｃ３に記載の方法。
［Ｃ６］
前記カラーマッピング係数を復号することが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を復号することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を復号することとをさらに備える、Ｃ５に記載の方法。
［Ｃ７］
前記カラーマッピング係数を復号することが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に復号されたオクタントからの予測値に基づいて、前記カラーマッピング係数を復号することをさらに備える、Ｃ３に記載の方法。
［Ｃ８］
前記カラーマッピング係数の残差値に関する量子化値を決定することをさらに備え、前記カラーマッピング係数を復号することが、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の残差値を復号することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を逆量子化することと、
前記復号された残差値と、前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数を再構成することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記カラーマッピング係数の残差値に関する前記量子化値を決定することが、前記量子化値を示す少なくとも１つのシンタックス要素を復号することを備える、Ｃ８に記載の方法。
［Ｃ１０］
前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値のうちの１つに基づく範囲に制限することをさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記色成分の各々に関するオクタントの前記数を決定することが、前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を復号することを備える、Ｃ１に記載の方法。
［Ｃ１２］
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと
をさらに備え、
前記ビデオデータの前記ビデオブロックを再構成することが、前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャとに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを再構成すること
を備える、Ｃ１に記載の方法。
［Ｃ１３］
ビデオデータを符号化する方法であって、
３つの色成分の各々に関するオクタントの数と、前記オクタントの各々に関する色値とに基づいて、色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の前記色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することと、
前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、前記ビデオデータのビデオブロックを予測することと、
ビットストリーム内の前記ビデオブロックの残差データを符号化することと
を備える、方法。
［Ｃ１４］
前記カラーマッピング係数を符号化することに先立って、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して、前記カラーマッピング係数の浮動小数点値を整数値に変換することをさらに備える、Ｃ１３に記載の方法。
［Ｃ１５］
前記カラーマッピング係数を符号化することが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を符号化することを備える、Ｃ１３に記載の方法。
［Ｃ１６］
前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、Ｃ１５に記載の方法。
［Ｃ１７］
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、Ｃ１５に記載の方法。
［Ｃ１８］
前記カラーマッピング係数を符号化することが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を符号化することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を符号化することとをさらに備える、Ｃ１７に記載の方法。
［Ｃ１９］
前記カラーマッピング係数を符号化することが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に符号化されたオクタントからの予測値に基づいて、前記カラーマッピング係数を符号化することをさらに備える、Ｃ１５に記載の方法。
［Ｃ２０］
前記カラーマッピング係数の残差値に関する量子化値を決定することをさらに備え、前記カラーマッピング係数を符号化することが、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の元の値と前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数の残差値を計算することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を量子化することと、
前記カラーマッピング係数の前記残差値を符号化することと
をさらに備える、Ｃ１３に記載の方法。
［Ｃ２１］
前記カラーマッピング係数の残差値に関する前記決定された量子化値を示す少なくとも１つのシンタックス要素を符号化することをさらに備える、Ｃ２０に記載の方法。
［Ｃ２２］
前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づく範囲に制限することをさらに備える、Ｃ１３に記載の方法。
［Ｃ２３］
前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を符号化することをさらに備える、Ｃ１３に記載の方法。
［Ｃ２４］
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと
をさらに備え、
前記ビデオデータの前記ビデオブロックを予測することが、前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを予測すること
を備える、Ｃ１３に記載の方法。
［Ｃ２５］
ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信し、
前記ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成することと、
前記ビデオデータのビデオブロックの残差データを復号することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成することとを行うように構成された、１つまたは複数のプロセッサと
を備える、ビデオ復号デバイス。
［Ｃ２６］
前記カラーマッピング係数が、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して浮動小数点値を表す整数値を備える、Ｃ２５に記載のデバイス。
［Ｃ２７］
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を復号するように構成される、Ｃ２５に記載のデバイス。
［Ｃ２８］
前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、Ｃ２７に記載のデバイス。
［Ｃ２９］
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、Ｃ２７に記載のデバイス。
［Ｃ３０］
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を復号することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を復号することとを行うように構成される、Ｃ２９に記載のデバイス。
［Ｃ３１］
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に復号されたオクタントからの予測値に基づいて、前記カラーマッピング係数を復号するように構成される、Ｃ２７に記載のデバイス。
［Ｃ３２］
前記１つまたは複数のプロセッサが、
前記カラーマッピング係数の残差値に関する量子化値を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の残差値を復号することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を逆量子化することと、
前記復号された残差値と、前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数を再構成することと
を行うように構成される、Ｃ２５に記載のデバイス。
［Ｃ３３］
前記カラーマッピング係数の残差値に関する前記量子化値を決定するために、前記１つまたは複数のプロセッサが、前記量子化値を示す少なくとも１つのシンタックス要素を復号するように構成される、Ｃ３２に記載のデバイス。
［Ｃ３４］
前記１つまたは複数のプロセッサが、前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値のうちの１つに基づく範囲に制限するように構成される、Ｃ２５に記載のデバイス。
［Ｃ３５］
前記色成分の各々に関するオクタントの前記数を決定するために、前記１つまたは複数のプロセッサが、前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を復号するように構成される、Ｃ２５に記載のデバイス。
［Ｃ３６］
前記１つまたは複数のプロセッサが、
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャとに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを再構成することと
を行うように構成される、Ｃ２５に記載のデバイス。
［Ｃ３７］
ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信し、
３つの色成分の各々に関するオクタントの数と、前記オクタントの各々に関する色値とに基づいて、前記ビデオデータの色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルを生成することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の前記色値の線形カラーマッピング関数に関するカラーマッピング係数を符号化することと、
前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャに基づいて、前記ビデオデータのビデオブロックを予測することと、
ビットストリーム内の前記ビデオブロックの残差データを符号化することとを行うように構成された、１つまたは複数のプロセッサと
を備える、ビデオ符号化デバイス。
［Ｃ３８］
前記１つまたは複数のプロセッサが、前記カラーマッピング係数を符号化することに先立って、前記３Ｄルックアップテーブルの入力ビット深度または出力ビット深度のうちの少なくとも１つに基づくビット深度を使用して、前記カラーマッピング係数の浮動小数点値を整数値に変換するように構成される、Ｃ３７に記載のデバイス。
［Ｃ３９］
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの第１のオクタントに関して、前記カラーマッピング係数の少なくとも１つの係数の予測値に基づいて、前記カラーマッピング係数の前記少なくとも１つの係数を符号化するように構成される、Ｃ３７に記載のデバイス。
［Ｃ４０］
前記カラーマッピング係数の前記少なくとも１つの係数の前記予測値が事前定義された固定値である、Ｃ３９に記載のデバイス。
［Ｃ４１］
前記カラーマッピング係数の前記少なくとも１つの係数が、前記ビデオデータの前記下位レイヤおよび前記ビデオデータの前記上位レイヤの同じ色成分間の前記線形カラーマッピング関数に関する重みファクタを定義する重要係数を備える、Ｃ３９に記載のデバイス。
［Ｃ４２］
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントのうちの前記第１のオクタントに関して、事前定義された非ゼロ値に等しい予測値に基づいて、前記重要係数を符号化することと、ゼロに等しい予測値に基づいて、前記カラーマッピング係数の残りの係数を符号化することとを行うように構成される、Ｃ４１に記載のデバイス。
［Ｃ４３］
前記１つまたは複数のプロセッサが、前記色成分の各々に関する前記オクタントの各残りのオクタントに関して、少なくとも１つの前に符号化されたオクタントからの予測値に基づいて、前記カラーマッピング係数を符号化するように構成される、Ｃ３９に記載のデバイス。
［Ｃ４４］
前記１つまたは複数のプロセッサが、
前記カラーマッピング係数の残差値に関する量子化値を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記カラーマッピング係数の元の値と前記カラーマッピング係数の予測値とに基づいて、前記カラーマッピング係数の残差値を計算することと、
前記決定された量子化値に基づいて、前記カラーマッピング係数の前記残差値を量子化することと、
前記カラーマッピング係数の前記残差値を符号化することと
を行うように構成される、Ｃ３７に記載のデバイス。
［Ｃ４５］
前記１つまたは複数のプロセッサが、前記決定された量子化値を示す少なくとも１つのシンタックス要素を符号化するように構成される、Ｃ４４に記載のデバイス。
［Ｃ４６］
前記１つまたは複数のプロセッサが、前記カラーマッピング係数の値を、事前定義された固定値、または前記３Ｄルックアップテーブルの入力ビット深度もしくは出力ビット深度のうちの少なくとも１つに応じた値に基づく範囲に制限するように構成される、Ｃ３７に記載のデバイス。
［Ｃ４７］
前記１つまたは複数のプロセッサが、前記３Ｄルックアップテーブルの前記色成分のうちの少なくとも１つに関するオクタントの前記数を示す少なくとも１つのシンタックス要素を符号化するように構成される、Ｃ３７に記載のデバイス。
［Ｃ４８］
前記１つまたは複数のプロセッサが、
前記ビデオデータの前記下位レイヤに関する前記第１の色域内の参照ピクチャの色データを前記ビデオデータの前記上位レイヤに関する前記第２の色域に変換するために、前記３Ｄルックアップテーブルを使用して色予測を実行することと、
前記変換された色データに基づいて、前記ビデオデータの前記上位レイヤに関する少なくとも１つのレイヤ間参照ピクチャを生成することと、
前記３Ｄルックアップテーブルを使用して生成された前記少なくとも１つのレイヤ間参照ピクチャに基づいて、前記ビデオデータの前記上位レイヤのピクチャ内のビデオブロックを予測することと
を行うように構成される、Ｃ３７に記載のデバイス。
［Ｃ４９］
ビデオ復号デバイスであって、
色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定するための手段と、
前記色成分の各々に関する前記オクタントの各々に関して、ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号するための手段と、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成するための手段と、
前記ビデオデータのビデオブロックの残差データを復号するための手段と、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成するための手段と
を備える、ビデオ復号デバイス。
［Ｃ５０］
ビデオデータを復号するための命令を記憶したコンピュータ可読記憶媒体であって、
実行されるとき、１つまたは複数のプロセッサに、
色域スケーラビリティのための３次元（３Ｄ）ルックアップテーブルの３つの色成分の各々に関するオクタントの数を決定することと、
前記色成分の各々に関する前記オクタントの各々に関して、前記ビデオデータの下位レイヤに関する第１の色域内の色データを前記ビデオデータの上位レイヤに関する第２の色域に変換するために使用される前記３Ｄルックアップテーブル内の色値の線形カラーマッピング関数に関するカラーマッピング係数を復号することと、
前記色成分の各々に関するオクタントの前記数と、前記オクタントの各々に関する前記カラーマッピング係数に関連する色値とに基づいて、前記３Ｄルックアップテーブルを生成することと、
前記ビデオデータのビデオブロックの残差データを復号することと、
前記復号された残差データと前記３Ｄルックアップテーブルを使用して生成された少なくとも１つの参照ピクチャとに基づいて、前記ビデオデータの前記ビデオブロックを再構成することと
を行わせる、ビデオデータを復号するための命令を記憶したコンピュータ可読記憶媒体。
【図１】
0006498673.tif 000028
【図２】
0006498673.tif 000029
【図３】
0006498673.tif 000030
【図４】
0006498673.tif 000031
【図５】
0006498673.tif 000032
【図６】
0006498673.tif 000033
【図７】
0006498673.tif 000034
【図８】
0006498673.tif 000035
【図９】
0006498673.tif 000036
【図１０】
0006498673.tif 000037
【図１１】
0006498673.tif 000038
【図１２】
0006498673.tif 000039
【図１３】
0006498673.tif 000040
【図１４】
0006498673.tif 000041
【図１５】
0006498673.tif 000042
【図１６】
0006498673.tif 000043
【図１７】
0006498673.tif 000044
【図１８】
0006498673.tif 000045
【図１９】
0006498673.tif 000046