(57)【要約】  一例では、ビデオデータをコーディングするためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングすることと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を表すようにパラメータの値をコーディングすることと、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングすることとを行うことを行うように構成されたビデオコーダとを含む。
2016538749.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値を復号することと、
前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値を復号することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを復号することと
を備える方法。
【請求項２】
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素の前記値を復号することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値を復号することを備える、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備える、請求項１に記載の方法。
【請求項４】
前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値を復号することが、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を復号することを備える、請求項３に記載の方法。
【請求項５】
前記ビデオデータを復号することが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、請求項３に記載の方法。
【請求項６】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備える、請求項１に記載の方法。
【請求項７】
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を復号することが、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値を復号することを備える、請求項６に記載の方法。
【請求項８】
公式、Ｃｌｉｐ３（−２の（前記高ビット深度から１を減じた値）乗，２の（前記高ビット深度から１を減じた値）乗から１を減じた値，（ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］−（（２の（前記高ビット深度から１を減じた値）乗＊ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］）＞＞ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋２の（前記高ビット深度から１を減じた値）乗））に従ってＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］変数の値を導出することと、
公式、Ｃｌｉｐ３（−２の（前記高ビット深度から１を減じた値）乗，２の（前記高ビット深度から１を減じた値）乗から１を減じた値，（ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］−（（２の（前記高ビット深度から１を減じた値）乗＊ＣｈｒｏｍａＷｅｉｇｈｔＬ１［ｉ］［ｊ］）＞＞ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋２の（前記高ビット深度から１を減じた値）乗））に従ってＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｉ］［ｊ］変数の値を導出することと
をさらに備える、請求項６に記載の方法。
【請求項９】
前記ビデオデータを復号することが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、請求項８に記載の方法。
【請求項１０】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項１に記載の方法。
【請求項１１】
前記ビデオデータを復号することが、前記高ビット深度に従って右シフト演算を適応的に実行することを備える、請求項１に記載の方法。
【請求項１２】
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項１に記載の方法。
【請求項１３】
ビデオデータを符号化する方法であって、
ビデオデータのために高ビット深度を使用可能にすることを決定することと、
前記高ビット深度を使用可能にすることを決定した後に、
前記高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、
前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値を符号化することと、
前記パラメータの値が、前記高ビット深度に基づくビット深度を表すように前記パラメータの前記値を符号化することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを符号化することと
を備える方法。
【請求項１４】
前記高ビット深度が使用可能であることを示す前記シンタックス要素の前記値を符号化することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値を符号化することを備える、請求項１３に記載の方法。
【請求項１５】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備え、前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値を符号化することが、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を符号化することを備える、請求項１３に記載の方法。
【請求項１６】
前記ビデオデータを符号化することが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、請求項１５に記載の方法。
【請求項１７】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を符号化することが、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値を符号化することを備える、
請求項１３に記載の方法。
【請求項１８】
前記ビデオデータを符号化することが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、請求項１７に記載の方法。
【請求項１９】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項１３に記載の方法。
【請求項２０】
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項１３に記載の方法。
【請求項２１】
ビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングすることと、前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることとを行うことを行うように構成されたビデオコーダと
を備えるデバイス。
【請求項２２】
前記ビデオコーダが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）中の、前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素の前記値をコーディングすることを行うように構成された、請求項２１に記載のデバイス。
【請求項２３】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備え、前記ビデオコーダが、前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値をコーディングするように構成され、または前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータが、コード、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を備える、請求項２１に記載のデバイス。
【請求項２４】
前記ビデオコーダが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することとを行うように構成された、請求項２３に記載のデバイス。
【請求項２５】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、前記ビデオコーダが、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値として、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をコーディングすることを行うように構成された、請求項２１に記載のデバイス。
【請求項２６】
前記ビデオコーダが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することとを行うように構成された、請求項２５に記載のデバイス。
【請求項２７】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項２１に記載のデバイス。
【請求項２８】
前記ビデオコーダがビデオデコーダを備える、請求項２１に記載のデバイス。
【請求項２９】
前記ビデオコーダがビデオエンコーダを備える、請求項２１に記載のデバイス。
【請求項３０】
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項２１に記載のデバイス。
【請求項３１】
前記デバイスが、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項２１に記載のデバイス。
【請求項３２】
ビデオデータをコーディングするためのデバイスであって、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングするための手段と
を備えるデバイス。
【請求項３３】
実行されたとき、プロセッサに、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングすることと、
前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項３４】
前記高ビット深度が使用可能であることを示す前記シンタックス要素の前記値をコーディングすることを前記プロセッサに行わせる前記命令が、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備え、前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値の範囲内の値」をコーディングすることを前記プロセッサに行わせる命令を備える、請求項３３に記載のコンピュータ可読媒体。
【請求項３６】
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を行うことを前記プロセッサに行わせる命令を備える、請求項３５に記載のコンピュータ可読媒体。
【請求項３７】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項３３に記載のコンピュータ可読媒体。
【請求項３８】
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を前記プロセッサに行わせる命令を備える、請求項３７に記載のコンピュータ可読媒体。
【請求項３９】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項３３に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項３３に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１３年１０月３日に出願された米国仮出願第６１／８８６，２３０号、および２０１３年１０月１７日に出願された米国仮出願第６１／８９２，１９８号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、および、そのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示では、高精度明示的重み付け予測のための技法について説明する。これらの技法は、高効率ビデオコーディング（ＨＥＶＣ）のための範囲拡張または他のビデオコーディング規格に対する拡張のために使用され得る。
【０００７】
[0007]一例では、ビデオデータを復号する方法は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値を復号することと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を復号することと、パラメータの値に少なくとも部分的に基づいてビデオデータを復号することとを行うこととを含む。
【０００８】
[0008]別の例では、ビデオデータを符号化する方法は、ビデオデータのために高ビット深度を使用可能にすることを決定することと、高ビット深度を使用可能にすることを決定した後に、高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、ビデオデータの１つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値を符号化することと、パラメータの値が、高ビット深度に基づくビット深度を有するようにパラメータの値を符号化することと、パラメータの値に少なくとも部分的に基づいてビデオデータを符号化することとを行うこととを含む。
【０００９】
[0009]別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングすることと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値をコーディングすることと、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングすることとを行うことを行うように構成されたビデオコーダとを含む。
【００１０】
[0010]別の例では、ビデオデータをコーディングするためのデバイスは、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングするための手段と、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値をコーディングするための手段と、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングするための手段とを含む。
【００１１】
[0011]別の例では、コンピュータ可読記憶媒体（たとえば、非一時的コンピュータ可読記憶媒体）は、実行されたとき、プロセッサに、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのための高ビット深度を表すシンタックス要素の値をコーディングすることと、パラメータの値が、高ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値をコーディングすることと、パラメータの値に少なくとも部分的に基づいてビデオデータをコーディングすることとを行うこととを行わせる命令を有する。
【００１２】
[0012]１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]高精度明示的重み付け予測のための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0014]高精度明示的重み付け予測のための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0015]高精度明示的重み付け予測のための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0016]本開示の技法に従って、現在のブロックを符号化するための例示的な方法を示すフローチャート。
【図５】[0017]本開示の技法に従って、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１４】
[0018]概して、本開示の技法は、高精度明示的重み付け予測に関する。たとえば、これらの技法は、高効率ビデオコーディング（ＨＥＶＣ）範囲拡張において使用され得る。ＨＥＶＣは、ＩＴＵ−Ｔ  Ｈ．２６５、ＳＥＲＩＥＳ  Ｈ：ＡＵＤＩＯＶＩＳＵＡＬ  ＡＮＤ  ＭＵＬＴＩＭＥＤＩＡ  ＳＹＳＴＥＭＳ、Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ｏｆ  Ａｕｄｉｏｖｉｓｕａｌ  Ｓｅｒｖｉｃｅｓ−Ｃｏｄｉｎｇ  ｏｆ  Ｍｏｖｉｎｇ  Ｖｉｄｅｏ、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」、２０１３年４月（以下、「Ｈ．２６５」）に記載されている。ＨＥＶＣに対する様々な拡張が提案されている。１つのそのような拡張はＨＥＶＣ範囲拡張であり、ＨＥＶＣ範囲拡張は、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ：  Ｄｒａｆｔ  ４」、ＪＣＴＶＣ−Ｎ１００５＿ｖ３、２０１３年８月（以下、「ＪＣＴＶＣ−Ｎ１００５」）に記載されている。
【００１５】
[0019]Ｈ．２６５は、８ビットおよび１０ビットのコーデックについて記述するメインプロファイルバージョンＩを指定する。Ｈ．２６５における明示的重み付け予測に関するパラメータは、８ビットのコーデックに制限されている。しかしながら、ＨＥＶＣ範囲拡張のために提案されているように、入力ビデオは、最高１６ビットであり得、これにより、８ビットの明示的重み付け予測パラメータは不十分になる。本開示では、明示的重み付け予測パラメータのビット深度を入力ビデオのビット深度に整合させるために使用され得る拡張明示的重み付け予測技法について説明する。
【００１６】
[0020]ＪＣＴＶＣ−Ｎ１００５のセクション７．３．６．３は、以下の表１に示すように、重み付け予測パラメータについてのシンタックスを指定する。表１において、予測重みテーブル（ｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅ）の一部を形成する重み付け予測パラメータは、スライスヘッダ中でシグナリングされ得る。
【００１７】
【表１】
2016538749.tif 000003
【００１８】
[0021]ＪＣＴＶＣ−Ｎ１００５は、セクション７．４．７．３において、次のように表１のシンタックス要素についてのセマンティクスを定義する。
【００１９】
[0022]ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍは、すべてのルーマ重み係数のための分母の底を２とする対数である。ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍの値は、両端値を含む０〜７の範囲内にあるものとする。
【００２０】
[0023]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍは、すべてのクロマ重み係数のための分母の底を２とする対数の差である。
【００２１】
[0024]変数ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍは、ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ＋ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍに等しくなるように導出され、値は、両端値を含む０〜７の範囲内にあるものとする。
【００２２】
[0025]１に等しいｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のルーマ成分のための重み係数が存在することを指定する。０に等しいｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、これらの重み係数が存在しないことを指定する。
【００２３】
[0026]１に等しいｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のクロマ予測値のための重み係数が存在することを指定する。０に等しいｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、これらの重み係数が存在しないことを指定する。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、存在しないとき、０に等しくなると推論される。
【００２４】
[0027]ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のルーマ予測値に適用される重み係数の差である。
【００２５】
[0028]変数ＬｕｍａＷｅｉｇｈｔＬ０［ｉ］は、（１＜＜ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ）＋ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］に等しくなるように導出される。ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］が１に等しくなるとき、ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］の値は、両端値を含む−１２８〜１２７の範囲内にあるものとする。ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ＬｕｍａＷｅｉｇｈｔＬ０［ｉ］は、２luma_log2_weight_denomに等しくなると推論される。
【００２６】
[0029]ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のルーマ予測値に適用される加法オフセットである。ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］の値は、両端値を含む−１２８〜１２７の範囲内にあるものとする。ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］は、０に等しいものとして推論される。
【００２７】
[0030]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のクロマ予測値に適用される重み係数の差であり、ｊは、Ｃｂの場合０に等しくなり、ｊは、Ｃｒの場合１に等しくなる。
【００２８】
[0031]変数ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］は、（１＜＜ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］に等しくなるように導出される。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］が１に等しくなるとき、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］の値は、両端値を含む−１２８〜１２７の範囲内にあるものとする。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］は、２ChromaLog2WeightDenomに等しくなると推論される。
【００２９】
[0032]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のクロマ予測値に適用される加法オフセットの差であり、ｊは、Ｃｂの場合０に等しくなり、ｊは、Ｃｒの場合１に等しくなる。
【００３０】
[0033]変数ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］は、次のように導出される。
【００３１】
【数１】
2016538749.tif 000004
【００３２】
[0034]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］の値は、両端値を含む−５１２〜５１１の範囲内にあるものとする。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］は、０に等しくなると推論される。
【００３３】
[0035]ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ［ｉ］、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ［ｉ］、ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１［ｉ］、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１［ｉ］［ｊ］、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］は、それぞれ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］、ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］と同じセマンティクスを有し、ｌ０、Ｌ０、ｌｉｓｔ０、およびＬｉｓｔ０は、それぞれ、ｌ１、Ｌ１、ｌｉｓｔ１およびＬｉｓｔ１に置き換えられる。
【００３４】
[0036]変数ｓｕｍＷｅｉｇｈｔＬ０Ｆｌａｇｓは、ｉ＝０．．ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の場合、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］＋２＊ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］の和に等しくなるように導出される。
【００３５】
[0037]ｓｌｉｃｅ＿ｔｙｐｅがＢに等しくなるとき、変数ｓｕｍＷｅｉｇｈｔＬ１Ｆｌａｇｓは、ｉ＝０．．ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の場合、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ［ｉ］＋２＊ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ［ｉ］の和に等しくなるように導出される。
【００３６】
[0038]ＪＣＴＶＣ−Ｎ１００５は、ビットストリーム準拠のために、ｓｌｉｃｅ＿ｔｙｐｅがＰに等しくなるとき、ｓｕｍＷｅｉｇｈｔＬ０Ｆｌａｇｓが２４以下であるものとし、ｓｌｉｃｅ＿ｔｙｐｅがＢに等しくなるとき、ｓｕｍＷｅｉｇｈｔＬ０ＦｌａｇｓとｓｕｍＷｅｉｇｈｔＬ１Ｆｌａｇｓとの和が２４以下であるものとすることを必要とする。
【００３７】
[0039]ＪＣＴＶＣ−Ｎ１００５のセクション８．５．３．３．４．３は、明示的重み付け例示サンプル予測プロセスを次のように指定している。
【００３８】
[0040]このプロセスへの入力は以下の通りである。
【００３９】
[0041]−ルーマ予測ブロックの幅および高さを指定する２つの変数ｎＰｂＷおよびｎＰｂＨ、
[0042]−２つの（ｎＰｂＷ）ｘ（ｎＰｂＨ）アレイｐｒｅｄＳａｍｐｌｅｓＬ０およびｐｒｅｄＳａｍｐｌｅｓＬ１、
[0043]−予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１、
[0044]−参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
[0045]−色成分インデックスを指定する変数ｃＩｄｘ、
[0046]−サンプルのビット深度ｂｉｔＤｅｐｔｈ。
【００４０】
[0047]このプロセスの出力は、予測サンプル値の（ｎＰｂＷ）ｘ（ｎＰｂＨ）アレイｐｒｅｄＳａｍｐｌｅｓである。
【００４１】
[0048]変数ｓｈｉｆｔ１は、Ｍａｘ（２，１４−ｂｉｔＤｅｐｔｈ）に等しくなるように設定される。
【００４２】
[0049]変数ｌｏｇ２Ｗｄ、ｏ０、ｏ１、およびｗ０、ｗ１は、次のように導出される。
【００４３】
[0050]−ルーマサンプルの場合にｃＩｄｘが０に等しくなる場合、以下が適用される。
【００４４】
[0051]
【数２】
2016538749.tif 000005
【００４５】
[0052]
【数３】
2016538749.tif 000006
【００４６】
[0053]
【数４】
2016538749.tif 000007
【００４７】
[0054]
【数５】
2016538749.tif 000008
【００４８】
[0055]
【数６】
2016538749.tif 000009
【００４９】
[0056]そうでない場合（クロマサンプルの場合にｃＩｄｘが０に等しくない）、以下が適用される。
【００５０】
[0057]
【数７】
2016538749.tif 000010
【００５１】
[0058]
【数８】
2016538749.tif 000011
【００５２】
[0059]
【数９】
2016538749.tif 000012
【００５３】
[0060]
【数１０】
2016538749.tif 000013
【００５４】
[0061]
【数１１】
2016538749.tif 000014
【００５５】
[0062]ｘ＝０．．ｎＰｂＷ−１であり、ｙ＝０．．ｎＰｂＨ−１である予測サンプルｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］は、次のように導出される。
【００５６】
[0063]−ｐｒｅｄＦｌａｇＬ０が１に等しくなり、ｐｒｅｄＦｌａｇＬ１が０に等しくなる場合、予測サンプル値は、次のように導出される。
【００５７】
[0064]
【数１２】
2016538749.tif 000015
【００５８】
[0069]−そうではなく、ｐｒｅｄＦｌａｇＬ０が０に等しくなり、ｐｒｅｄＦｌａｇＬ１が１に等しくなる場合、予測サンプル値は、次のように導出される。
【００５９】
[0070]
【数１３】
2016538749.tif 000016
【００６０】
[0075]−そうでない場合（ｐｒｅｄＦｌａｇＬ０が１に等しくなり、ｐｒｅｄＦｌａｇＬ１が１に等しくなる）、予測サンプル値は、次のように導出される。
【００６１】
[0076]
【数１４】
2016538749.tif 000017
【００６２】
[0079]本開示では、ＪＣＴＶＣ−Ｎ１００５の明示的重み付け予測を改善し得る技法について説明する。たとえば、本開示の技法は、高精度明示的重み付け予測のために実装され得る。高精度明示的重み付け予測は、高ビット深度入力ビデオのコーディング効率を改善し得る。これらの技法によれば、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、１６ビットの乗算を使用してオーバーフローが起こらないことを保証するために、入力データのビット深度に従って右シフトを適応的に適用し得る。さらに、本開示の技法は、高精度明示的重み付け予測が使用されるかどうかを示す（フラグなどの）シンタックス要素の値をシグナリングすることを含み得る。
【００６３】
[0080]図１は、高精度明示的重み付け予測のための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００６４】
[0081]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００６５】
[0082]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００６６】
[0083]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００６７】
[0084]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、高精度明示的重み付け予測のための本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００６８】
[0085]図１の図示のシステム１０は一例にすぎない。高精度明示的重み付け予測のための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００６９】
[0086]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００７０】
[0087]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化されたビデオデータを受信し、宛先デバイス１４に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００７１】
[0088]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００７２】
[0089]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００７３】
[0090]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００７４】
[0091]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００７５】
[0092]ＪＣＴ−ＶＣは、ＨＥＶＣ規格を開発し続けている。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００７６】
[0093]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ：largest coding units）（「コーディングツリーユニット：coding tree units」とも呼ばれる）に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００７７】
[0094]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００７８】
[0095]ＣＵは、ＣＵがサイズの差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、もしくはＴＵ、または他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００７９】
[0096]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ：prediction unit）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形（たとえば、矩形）であり得る。
【００８０】
[0097]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差クワッドツリー」（ＲＱＴ：residual quad tree）として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
【００８１】
[0098]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵについてのデータは、ＰＵに対応するＴＵについてのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００８２】
[0099]１つまたは複数のＰＵを有するリーフＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブＴＵに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値をＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵはＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００８３】
[0100]さらに、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００８４】
[0101]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００８５】
[0102]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００８６】
[0103]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００８７】
[0104]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００８８】
[0105]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００８９】
[0106]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００９０】
[0107]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００９１】
[0108]本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、高精度明示的重み付け予測を実行するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、上記で説明した表１のシンタックス要素に対するいくつかの変更セマンティクスに従ってビデオデータをコーディングするように構成され得る。一例として、変更セマンティクスは、以下に示すセマンティクスのいずれかまたはすべてを含み得る。以下のシンタックス要素についてのセマンティクスでは、下線付きのテキストは、ＪＣＴＶＣ−Ｎ１００５に記載されているセマンティクスに対する差を表す。
【００９２】
[0109]ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍは、すべてのルーマ重み係数のための分母の底を２とする対数である。ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍの値は、両端値を含む０〜ｂｉｔＤｅｐｔｈ−１の範囲内にあるものとする。
【００９３】
[0110]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍは、すべてのクロマ重み係数のための分母の底を２とする対数の差である。
【００９４】
[0111]変数ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍは、ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ＋ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍに等しくなるように導出され、値は、両端値を含む０〜ｂｉｔＤｅｐｔｈ−１の範囲内にあるものとする。
【００９５】
[0112]ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のルーマ予測値に適用される重み係数の差である。
【００９６】
[0113]変数ＬｕｍａＷｅｉｇｈｔＬ０［ｉ］は、（１＜＜ｌｕｍａ＿ｌｏｇ２＿ｗｅｉｇｈｔ＿ｄｅｎｏｍ）＋ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］に等しくなるように導出される。ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］が１に等しくなるとき、ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］の値は、両端値を含む−２bitDepth-1〜２bitDepth-1−１の範囲内にあるものとする。ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ＬｕｍａＷｅｉｇｈｔＬ０［ｉ］は、２luma_log2_weight_denomに等しくなると推論される。
【００９７】
[0114]ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のルーマ予測値に適用される加法オフセットである。ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］の値は、両端値を含む−２bitDepth-1〜２bitDepth-1−１の範囲内にあるものとする。ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］は、０に等しいものとして推論される。
【００９８】
[0115]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のクロマ予測値に適用される重み係数の差であり、ｊは、Ｃｂの場合０に等しくなり、ｊは、Ｃｒの場合１に等しくなる。
【００９９】
[0116]変数ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］は、（１＜＜ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］に等しくなるように導出される。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］が１に等しくなるとき、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］の値は、両端値を含む−２bitDepth-1〜２bitDepth-1−１の範囲内にあるものとする。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］は、２ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍに等しくなると推論される。
【０１００】
[0117]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］は、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］を使用したリスト０予測のクロマ予測値に適用される加法オフセットの差であり、ｊは、Ｃｂの場合０に等しくなり、ｊは、Ｃｒの場合１に等しくなる。
【０１０１】
[0118]変数ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］は、次のように導出される。
【０１０２】
[0119]
【数１５】
2016538749.tif 000018
【０１０３】
[0120]ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］の値は、両端値を含む−２bitDepth+1〜２bitDepth+1−１の範囲内にあるものとする。ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ［ｉ］は、０に等しくなるとき、ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］は、０に等しくなると推論される。
【０１０４】
[0121]ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１［ｉ］、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１［ｉ］［ｊ］、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］は、それぞれ、ｄｅｌｔａ＿ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０［ｉ］［ｊ］、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］と同じセマンティクスを有し、ｌ０、Ｌ０、ｌｉｓｔ０、およびＬｉｓｔ０は、それぞれ、ｌ１、Ｌ１、ｌｉｓｔ１およびＬｉｓｔ１に置き換えられる。
【０１０５】
[0122]追加として、または代替として、ビデオエンコーダ２０およびビデオデコーダ３０は、以下で説明するように高精度明示的重み付けサンプル予測プロセスを実施するように構成され得る。以下の説明中の下線付きのテキストは、ＪＣＴＶＣ−Ｎ１００５に対する変更を表す。ＪＣＴＶＣ−Ｎ１００５の提案からの除去は、以下の説明において必ずしも強調されるとは限らないが、この説明を、上記で提示したＪＣＴＶＣ−Ｎ１００５の説明と比較することによって観察され得る。
【０１０６】
[0123]変数ｌｏｇ２Ｗｄ、ｏ０、ｏ１、およびｗ０、ｗ１は、次のように導出される。
【０１０７】
[0124]−ルーマサンプルの場合にｃＩｄｘが０に等しくなる場合、以下が適用される。
【０１０８】
[0125]
【数１６】
2016538749.tif 000019
【０１０９】
[0126]
【数１７】
2016538749.tif 000020
【０１１０】
[0127]
【数１８】
2016538749.tif 000021
【０１１１】
[0128]
【数１９】
2016538749.tif 000022
【０１１２】
[0129]
【数２０】
2016538749.tif 000023
【０１１３】
[0130]そうでない場合（クロマサンプルの場合にｃＩｄｘが０に等しくない）、以下が適用される。
【０１１４】
[0131]
【数２１】
2016538749.tif 000024
【０１１５】
[0132]
【数２２】
2016538749.tif 000025
【０１１６】
[0133]
【数２３】
2016538749.tif 000026
【０１１７】
[0134]
【数２４】
2016538749.tif 000027
【０１１８】
[0135]
【数２５】
2016538749.tif 000028
【０１１９】
[0136]ＪＣＴＶＣ−Ｎ１００５は、公式（８−２４６）、（８−２４７）、（８−２５１）および（８−２５２）を次のように指定する。
【０１２０】
[0137]
【数２６】
2016538749.tif 000029
【０１２１】
[0138]
【数２７】
2016538749.tif 000030
【０１２２】
[0139]
【数２８】
2016538749.tif 000031
【０１２３】
[0140]
【数２９】
2016538749.tif 000032
【０１２４】
[0141]比較を通してわかるように、本開示の公式（８−２４６’）、（８−２４７’）、（８−２５１’）および（８−２５２’）では、変数ｏ０およびｏ１は、ＪＣＴＶＣ−Ｎ１００５において指定されているように、（１＜＜（ｂｉｔＤｅｐｔｈ−８））を乗算することなしに計算され得る。同様に、変数ｏ０およびｏ１は、（１＜＜（ビット深度から８を減じた値））を計算することなしに計算され得、ここで、「＜＜」は、ビット単位左シフト演算子を表す。
【０１２５】
[0142]ビデオエンコーダ２０およびビデオデコーダ３０は、たとえば、ピクチャのシーケンスのために高精度重み付け予測が使用可能であるかどうかを示すデータをコーディングするように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、シーケンスパラメータセット（ＳＰＳ）のシンタックス要素をコーディングするように構成され得、ここで、シンタックス要素の値は、ビデオデータのために高精度重み付け予測（すなわち、高ビット深度）が使用可能であるかどうかを示す。以下の表２は、高精度重み付け予測が使用可能であるかどうかを示すそのようなデータのために使用され得るシンタックスを提示する。図２の例によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、高精度重み付け予測がＳＰＳ  ＲＢＳＰシンタックスにおいて使用されるかどうかを示すためにフラグをコーディングし得る。フラグはまた、ビデオパラメータセット（ＶＰＳ：video parameter set）、ピクチャパラメータセット（ＰＰＳ：picture parameter set）、スライスヘッダ、ブロックヘッダなどの他の高レベルシンタックスボディ中でシグナリングされ得る。表２の例では、下線付きのテキストは、ＨＥＶＣおよびＪＣＴＶＣ−Ｎ１００５のシンタックスに対する追加を表す。
【０１２６】
【表２】
2016538749.tif 000033
【０１２７】
[0143]ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇについてのセマンティクスは、次のように定義され得る。
【０１２８】
[0144]１に等しいｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇは、本開示における高精度明示的重み付け予測が使用されることを指定する。０に等しいｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇは、本開示における高精度明示的重み付け予測が使用されず、（ＪＣＴＶＣ−Ｎ１００５に従った）ＨＥＶＣ範囲拡張ドラフトが使用されることを指定する。存在しないとき、それは、０に等しくなると推測される。
【０１２９】
[0145]表２の例でわかるように、ルミナンス（ルーマまたは「Ｙ」）のためのビット深度が１０よりも大きい場合、またはクロミナンス（クロマまたは「Ｃ」）のためのビット深度が１０よりも大きい場合、シーケンスパラメータセットは、高精度重み付け予測（すなわち、高ビット深度）を使用すべきかどうかを示し得るｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇシンタックス要素を含み得る。したがって、重み付け予測プロセスのための「高ビット深度」は、１０ビットよりも大きいビット深度に対応し得る。
【０１３０】
[0146]さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、ＪＣＴＶＣ−Ｎ１００５に対する以下の変更に従って動作するように構成され得る。ＪＣＴＶＣ−Ｎ１００５のセクション８．５．３．３．４．３では、ｓｈｉｆｔ１は、Ｍａｘ（２，１４−ｂｉｔＤｅｐｔｈ）に等しくなるように設定される。ワーストケースでは、ｐｒｅｄＳａｍｐｌｅｓ［ｘ］［ｙ］は、最高ｂｉｔＤｅｐｔｈ（入力ビット深度）＋ｓｈｉｆｔ１＋１（補間からのスケーリング）＋１（補間からのサインビット）になり得る。
【０１３１】
[0147]以下の表３は、本開示の技法に適応するために変更されるワーストケースのサンプルビット深度をリストする（ここで、下線付きのテキストは、ＪＣＴＶＣ−Ｎ１００５に記述されているシンタックスに対する変更を表す）。
【０１３２】
【表３】
2016538749.tif 000034
【０１３３】
[0148]次いで、ワーストケースでは、上記で説明した公式（８−２５３）において、ｐｒｅｄＳａｍｐｌｅｓＬ０［ｘ］［ｙ］＊ｗ０は、場合によっては、１６ビットの乗算を使用して実装されないことになる。ただし、本開示の技法によれば、ｗ０は、Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１６−ｓｈｉｆｔ１−２）（ビット）に制限され得る。
【０１３４】
[0149]別の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、拡張精度を有するオフセットパラメータを使用するが、ＪＣＴＶＣ−Ｎ１００５の場合と同じ精度を有する重み付けパラメータを使用するように構成され得る。すなわち、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１のセマンティクスのみが上記で説明した様々な例に従って変更され得るが、他のシンタックス要素のセマンティクスは、ＪＣＴＶＣ−Ｎ１００５に対して不変に保たれ得る。したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、拡張精度を有する１つまたは複数のオフセットパラメータ（たとえば、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ  ｌ０、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１のうちの１つまたは複数）と、ＪＣＴＶＣ−Ｎ１００５において定義されている精度を有する重み付けパラメータとを使用してビデオデータをコーディングし得る。
【０１３５】
[0150]ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１などのオフセットパラメータは、特定の量だけブロックの予測サンプルをオフセットするために使用され得る。参照サンプルのセット（たとえば、参照ピクチャまたは参照ピクチャの一部）に対して、全体的なまたは局所的な変更が現在のピクチャ中に発生するとき、そのようなオフセットは有益であり得る。たとえば、シーンのフェードインもしくはフェードアウトまたは落雷などの光の突然の閃光などの間に、参照ピクチャに対して現在のピクチャ中で全体的にまたは局所的に照度が増加または減少する場合、異なる参照ピクチャを識別しようと試みるのではなく、参照ピクチャのルミナンス値においてサンプルにオフセットをもたらすことが有益であり得る。オフセットをもたらすことは、現在のピクチャのブロックの残差値を減少させ得、これは、ビデオデータのビットレートを低減し得る。
【０１３６】
[0151]ＪＣＴＶＣ−Ｎ１００５は、そのようなオフセットの可能な値の固定範囲（すなわち、そのようなオフセットをシグナリングするための固定ビット深度）を含めたが、本開示の技法により、そのようなオフセットのビット深度を動的に調節することが可能になる。すなわち、ビデオエンコーダ２０は、オフセットパラメータのビット深度、ならびに高ビット深度が使用可能であるかどうか（すなわち、高精度重み付け予測プロセスが使用可能であるかどうか）を表す１つまたは複数の値をシグナリングし得る。ビデオデコーダ３０は、同様に、ビットストリームを正しく復号するために、ビット深度を表すシグナリングされた値を使用し得る。より詳細には、ビデオデコーダ３０は、ビットストリームのどのビットがオフセットパラメータに適用され、後続の、異なるシンタックス要素にビットがいつ適用され始めるのかを決定し得る。たとえば、ビット深度が８ビットであり、ビデオデコーダ３０が、オフセットパラメータのために８ビットを復号している場合、ビデオデコーダ３０は、後続のビットが、オフセットパラメータにではなく、異なるシンタックス要素に適用されると決定し得る。
【０１３７】
[0152]ＪＣＴＶＣ−Ｎ１００５において指定されているそのようなパラメータのビット深度よりもオフセットパラメータのためにより高いビット深度を使用可能にすることは、いくつかの利点をもたらし得る。たとえば、入力ビデオデータが比較的高いビット深度を有するとき、コーディング効率（すなわち、ビットストリーム中に含まれるビット数）が改善され得る。しかしながら、入力ビデオデータが、比較的低いビット深度を有するとき、または、オフセットパラメータのために使用されるビット数が、（たとえば、レートひずみメトリックによって示されるように）有効なコーディング利得をもたらさないとき、ビデオエンコーダ２０は、高ビット深度を使用禁止にし得る。
【０１３８】
[0153]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【０１３９】
[0154]図２は、高精度明示的重み付け予測のための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【０１４０】
[0155]図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーエンコーディングユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ（ループ内またはループ後）が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【０１４１】
[0156]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【０１４２】
[0157]その上、パーティションユニット４８は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、初めにフレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、ＬＣＵをサブＣＵに区分することを示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含み得る。
【０１４３】
[0158]モード選択ユニット４０は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの１つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器５０に与え、参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器６２に与える。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に与える。
【０１４４】
[0159]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または他のコード化ユニット）内でコーディングされている現在のブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０１４５】
[0160]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０１４６】
[0161]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２および動き補償ユニット４４は機能的に統合され得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１４７】
[0162]動き補償ユニット４４は、さらに、動き補償中に予測サンプルにオフセットを適用するように構成され得る。たとえば、モード選択ユニット４０は、動き補償ユニット４４に、参照ブロックのルミナンスおよび／またはクロミナンスサンプルに（または参照ピクチャ全体に）オフセットを適用させ得、それにより、現在のピクチャのための参照ブロックまたは参照ピクチャからの予測を改善し得る。本開示の技法によれば、モード選択ユニット４０は、従来のビット深度または比較的高いビット深度のいずれかのオフセットを選択し得る。オフセットが高ビット深度のものであるとき、ビデオエンコーダ２０は、高ビット深度が使用可能であることを示す（たとえば、シーケンスパラメータセット（ＳＰＳ）の）シンタックス要素の値を符号化し得る。
【０１４８】
[0163]一例として、ビデオエンコーダ２０は、１つまたは複数の参照ピクチャのルミナンス予測データにオフセットを適用するように構成され得る。現在のピクチャが単方向予測されたピクチャ（すなわち、Ｐピクチャ）である場合、ビデオエンコーダ２０は、参照ピクチャリスト０中の１つまたは複数の参照ピクチャにオフセットを適用し得る。ビデオエンコーダ２０は、参照ピクチャリスト０中の１つまたは複数の参照ピクチャに適用されるべきオフセットを表すパラメータの値をシグナリングし得る。すなわち、ビデオエンコーダ２０は、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］の値をシグナリングし得、ここで、ｉは、参照ピクチャリスト０中のすべての参照ピクチャの範囲内にある。同様に、現在のピクチャがＢピクチャである場合、ビデオエンコーダ２０は、参照ピクチャリスト０と参照ピクチャリスト１との両方中の参照ピクチャのオフセットパラメータの値をシグナリングし得、ここで、参照ピクチャリスト０の参照ピクチャのためのオフセットパラメータは、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］に対応し得、参照ピクチャリスト１の参照ピクチャのためのオフセットパラメータは、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］に対応し得る。
【０１４９】
[0164]同様に、ビデオエンコーダ２０は、クロミナンスサンプルのためのオフセットパラメータの値を符号化し得る。たとえば、ビデオエンコーダ２０は、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータの値を符号化し、現在のピクチャがＢピクチャである場合、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を符号化し得る。この場合も、「ｌ０」は、参照ピクチャリスト０を表し、一方「ｌ１」は、参照ピクチャリスト１を表し、「ｉ」は、それぞれの参照ピクチャリスト中のピクチャの範囲内にある。これらのパラメータの変数「ｊ」は、コンテキストインデックス「ｃＩｄｘ」、すなわち、ｃＩｄｘ−１に基づく値を表す。ｃＩｄｘ値は、ルーマサンプルの場合に０になり、クロマサンプルの場合に非ゼロになり得る。
【０１５０】
[0165]ビデオエンコーダ２０は、スライスヘッダの一部を形成し得る予測重みテーブル（ｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅ）中のｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をシグナリングし得る。
【０１５１】
[0166]したがって、動き補償ユニット４４は、図１に関して上記で説明したように、公式（８−２４６’）、（８−２４７’）、（８−２５１’）および（８−２５２’）に従って変数ｏ０およびｏ１の値を計算し得る。動き補償ユニット４４は、それぞれの参照ピクチャから決定された参照ブロックにオフセットを適用し得る。したがって、ビデオエンコーダ２０が残差ブロックを形成し、符号化すると、加算器５０は、現在の、コーディングされていないブロックと、動き補償ユニット４４によって形成された参照ブロック（ここで、動き補償ユニット４４は、参照ブロックにオフセットを適用している）との間のピクセルごとの（またはサンプルごとの）差として残差ブロックを計算し得る。上記で説明したように、モード選択ユニット４０は、動き補償ユニット４４に、オフセットの様々な値を試み、最良のレートひずみ特性をもたらすオフセットパラメータの値を選択することを行わせ得る。さらに、高ビット深度が使用可能であるとき、モード選択ユニット４０は、高ビット深度によって定義される範囲内のオフセットパラメータの値を試み得る。
【０１５２】
[0167]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【０１５３】
[0168]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【０１５４】
[0169]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【０１５５】
[0170]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。
【０１５６】
[0171]いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化プロセスは「スケーリング」プロセスと呼ばれることもあり、したがって、量子化変換係数は「スケーリングされた変換係数」と呼ばれることもある。量子化（またはスケーリング）の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、エントロピー符号化ユニット５６は、次いで、量子化変換係数を含む行列の走査を実行し得る。
【０１５７】
[0172]量子化の後、エントロピー符号化ユニット５６は、走査された量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接するブロックに基づき得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
【０１５８】
[0173]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１５９】
[0174]このようにして、図２のビデオエンコーダ２０は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を符号化すること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を符号化することと、パラメータの値が、ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を符号化することと、パラメータの値に少なくとも部分的に基づいてビデオデータを符号化することとを行うことを行うように構成されたビデオエンコーダの一例を表す。
【０１６０】
[0175]図３は、高精度明示的重み付け予測のための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０１６１】
[0176]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１６２】
[0177]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【０１６３】
[0178]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１６４】
[0179]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１６５】
[0180]本開示の技法によれば、ビデオデコーダ３０は、ビデオデータのために高ビット深度が使用可能であるかどうかを決定するために、ＳＰＳのシンタックス要素を復号し得る。高ビット深度が使用可能であるとき、ビデオデコーダ３０は、シグナリングされたビット深度値に基づくビット深度を有するオフセットパラメータの値を復号し得る。すなわち、ＳＰＳは、高ビット深度が使用可能であるかどうかをシグナリングし、高ビット深度が使用可能であるとき、ルミナンスおよび／またはクロミナンスオフセットパラメータのためのビット深度をシグナリングし得る。
【０１６６】
[0181]高ビット深度（たとえば、ルミナンスおよび／またはクロミナンスオフセットパラメータの場合に１０よりも大きいビット深度）が使用可能であることをＳＰＳが示すと仮定すると、ビデオデコーダ３０は、さらに、オフセットパラメータの値を復号し得る。ビデオデコーダ３０は、オフセットパラメータの値をシグナリングし得る、表１などの予測重みテーブル（ｐｒｅｄ＿ｗｅｉｇｈｔ＿ｔａｂｌｅ）を含むスライスのスライスヘッダを復号し得る。特に、ビデオデコーダ３０は、オフセットパラメータの値を復号するために、（たとえば、上記の表２に従ってシグナリングされた）シグナリングされたビット深度値を使用し得る。たとえば、ビデオデコーダ３０は、スライスヘッダの後続のシンタックス要素ではなく、オフセットパラメータに適用されるビットストリームの部分を決定するために、シグナリングされたビット深度を使用し得る。
【０１６７】
[0182]オフセットパラメータの値を復号した後に、ビデオデコーダ３０は、ルミナンスおよび／またはクロミナンスサンプルのためのオフセット変数の値を計算するためにオフセットパラメータを使用し得る。オフセット変数は、たとえば、上記で説明したように変数ｏ０およびｏ１であり得る。ビデオデコーダ３０は、図１に関して上記で説明したように、公式（８−２４６’）、（８−２４７’）、（８−２５１’）および（８−２５２’）を使用して変数ｏ０およびｏ１の値を計算し得る。次いで、動き補償ユニット７２は、予測ブロックを生成するために、それぞれの参照サンプルにこれらのオフセットを適用し得る。すなわち、動き補償ユニット７２は、参照ピクチャリスト０中の参照ピクチャからの参照サンプルにｏ０のオフセット値を適用し、参照ピクチャリスト１中の参照ピクチャからの参照サンプルにｏ１のオフセット値を適用し得る。本開示の技法によれば、ビデオデコーダ３０は、ＪＣＴＶＣ−Ｎ１００５の技法に反して、（１＜＜（ビット深度から８を減じた値））を計算し、この値に、シグナリングされたオフセットパラメータの値を乗算することなしに変数ｏ０およびｏ１の値を計算し得る。
【０１６８】
[0183]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１６９】
[0184]逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１７０】
[0185]動き補償ユニット７２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための（上記で説明したように、高ビット深度を有し得るオフセットを使用して参照サンプルをオフセットすることを含み得る）予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
【０１７１】
[0186]このようにして、図３のビデオデコーダ３０は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号すること、および高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を復号することと、パラメータの値が、ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を復号することと、パラメータの値に少なくとも部分的に基づいてビデオデータを復号することとを行うことを行うように構成されたビデオデコーダの一例を表す。
【０１７２】
[0187]図４は、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分を備え得る。ビデオエンコーダ２０（図１および図２）に関して説明されるが、他のデバイスが図４の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０１７３】
[0188]この例では、ビデオエンコーダ２０は、最初に重み付けパラメータを決定し（１５０）、オフセットパラメータを決定する（１５４）。重み付けおよび／またはオフセットパラメータは、比較的高いビット深度、たとえば、１０ビットを超えるビット深度を有し得る。したがって、ビデオエンコーダ２０は、高ビット深度を使用可能にすべきかどうかを（たとえば、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇなどのＳＰＳのシンタックス要素中で）シグナリングし得る（１５４）。さらに、ビデオエンコーダ２０は、重み付けおよび／またはオフセットパラメータのためのビット深度を表す値、ならびにパラメータ自体の値をシグナリングし得る（１５６）。たとえば、ビデオエンコーダ２０は、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータ、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータ、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータ、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を符号化し得る。
【０１７４】
[0189]ビデオエンコーダ２０は、次いで、現在のブロックの参照ブロックを識別し得る（１５８）。たとえば、動き推定ユニット４２は、参照ピクチャ中の一致するブロックの動き探索を実行し得る。参照ブロックとして使用される一致するブロックは、たとえば、ＳＡＤ、ＳＳＤ、ＭＡＤ、ＭＳＤ、または他のそのような誤りメトリックによって測定される最低誤差値を示すブロックであり得る。動き補償ユニット４４は、次いで、重み付けおよびオフセットパラメータを使用して参照ブロックのサンプルを変更し得る（１６０）。たとえば、動き補償ユニット４４は、公式（８−２４６’）、（８−２４７’）、（８−２５１’）、および（８−２５２’）に従って、したがって、（１＜＜（ｂｉｔＤｅｐｔｈ−８））を計算することなしに変数ｏ０およびｏ１の値を計算し得る。この場合も、重み付けおよび／またはオフセットパラメータは、比較的高いビット深度を有し得る。したがって、動き補償ユニット４４は、たとえば、１０ビットを超えるビットを有するオフセットパラメータを使用して参照ブロックのサンプルをオフセットし得る。いくつかの例では、オフセットパラメータは、１６ビット値であり得る。ビデオエンコーダ２０は、現在のブロックのための予測ブロックとして変更された参照ブロックを使用し得る。
【０１７５】
[0190]ビデオエンコーダ２０は、次いで、たとえば、変換ユニット（ＴＵ）を生成するために、現在のブロックのための残差ブロックを計算し得る（１６２）。残差ブロックを計算するために、ビデオエンコーダ２０は、元のコーディングされていないブロックと現在のブロックのための予測ブロックとの間の差分を計算し得る。ビデオエンコーダ２０は、次いで、残差ブロックの係数を変換し、量子化し得る（１６４）。次に、ビデオエンコーダ２０は、残差ブロックの量子化変換係数を走査し得る（１６６）。走査中に、または走査の後に、ビデオエンコーダ２０は、係数をエントロピー符号化し得る（１６８）。たとえば、ビデオエンコーダ２０は、ＣＡＶＬＣまたはＣＡＢＡＣを使用して係数を符号化し得る。ビデオエンコーダ２０は、次いで、ブロックのエントロピーコーディングされたデータを出力し得る（１７０）。
【０１７６】
[0191]このようにして、図４の方法は、ビデオデータのために高ビット深度を使用可能にすべきかどうかを決定することと、高ビット深度を使用可能にすることを決定した後に、高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、ビデオデータの１つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を符号化することと、パラメータの値が、ビット深度に基づくビット深度を有するようにパラメータの値を符号化することと、パラメータの値に少なくとも部分的に基づいてビデオデータを符号化することとを行うこととを含むビデオデータを符号化するための方法の一例を表す。
【０１７７】
[0192]図５は、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のＣＵまたは現在のＣＵの一部分を備え得る。ビデオデコーダ３０（図１および図３）に関して説明されるが、他のデバイスが図５の方法と同様の方法を実行するように構成され得ることを理解されたい。
【０１７８】
[0193]最初に、ビデオデコーダ３０は、ビデオデータのために高ビット深度を使用可能にすべきかどうか、したがって、高精度明示的重み付け予測を実行すべきかどうかを表すシンタックス要素の値を復号し得る（２００）。高ビット深度が使用可能であると仮定すると、ビデオデコーダ３０は、ビット深度と重み付けおよび／またはオフセットパラメータとを表す値を復号し得る（２０２）。たとえば、ビデオデコーダ３０は、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータ、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータ、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータ、およびｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を復号し得る。そのような値は、上記で説明したように、たとえば、表１に従ってスライスヘッダの一部として復号され得る。
【０１７９】
[0194]ビデオデコーダ３０は、次いで、現在のブロックの参照ブロックを識別し得る（２０４）。たとえば、ビデオデコーダ３０は、マージモードまたは高度動きベクトル予測（ＡＭＶＰ）モードを使用して現在のブロックのための動きパラメータを復号し得る。動きパラメータは、参照ピクチャリスト、参照ピクチャリストへのインデックス、動きベクトル差分値、および／または候補動きベクトル予測子のセットのうちの動きベクトル予測子のうちの１つまたは複数を識別し得る。ビデオデコーダ３０は、次いで、重み付けおよびオフセットパラメータを使用して参照ブロックのサンプルを変更し得る（２０６）。たとえば、動き補償ユニット７２は、公式（８−２４６’）、（８−２４７’）、（８−２５１’）、および（８−２５２’）に従って、したがって、（１＜＜（ｂｉｔＤｅｐｔｈ−８））を計算することなしに変数ｏ０およびｏ１の値を計算し得る。この場合も、重み付けおよび／またはオフセットパラメータは、比較的高いビット深度を有し得る。したがって、動き補償ユニット７２は、たとえば、１０ビットを超えるビットを有するオフセットパラメータを使用して参照ブロックのサンプルをオフセットし得る。いくつかの例では、オフセットパラメータは、１６ビット値であり得る。ビデオデコーダ３０は、現在のブロックのための予測ブロックとして変更された参照ブロックを使用し得る。
【０１８０】
[0195]ビデオデコーダ３０はまた、現在のブロックに対応する残差ブロックの係数についてのエントロピーコーディングされたデータなど、現在のブロックについてのエントロピーコーディングされたデータを受信し得る（２０８）。ビデオデコーダ３０は、残差ブロックの係数を再生するために、エントロピーコーディングされたデータをエントロピー復号し得る（２１０）。ビデオデコーダ３０は、次いで、再生された係数を逆走査して（２１２）、量子化された変換係数のブロックを作成し得る。ビデオデコーダ３０は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換し得る（２１４）。ビデオデコーダ３０は、最終的に、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号し得る（２１６）。
【０１８１】
[0196]このようにして、図５の方法は、ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、高ビット深度が使用可能であることをシンタックス要素の値が示すとき、ビデオデータの１つまたは複数のパラメータのためのビット深度を表すシンタックス要素の値を復号することと、パラメータの値が、ビット深度を表すシンタックス要素の値に基づくビット深度を有するようにパラメータの値を復号することと、パラメータの値に少なくとも部分的に基づいてビデオデータを復号することとを含むビデオデータを復号するための方法の一例を表す。
【０１８２】
[0197]例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る（たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。
【０１８３】
[0198]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１８４】
[0199]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１８５】
[0200]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素において十分に実装され得る。
【０１８６】
[0201]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0202]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2016538749.tif 000035
【図２】
2016538749.tif 000036
【図３】
2016538749.tif 000037
【図４】
2016538749.tif 000038
【図５】
2016538749.tif 000039
【手続補正書】
【提出日】平成28年6月9日(2016.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値を復号することと、
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値を復号することと、ここにおいて、前記１つまたは複数のパラメータが、リスト０予測のルーマ予測値に適用されるべき加法オフセットを各々表す第１のリストのパラメータ、またはリスト１予測のルーマ予測値に適用されるべき加法オフセットを各々表す第２のリストのパラメータを備える、
前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値を復号することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを復号することと、
を備え、前記ビデオデータを復号することが、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第１のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第１の変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第２のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第２の変数の値を計算することと、
を備える方法。
【請求項２】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素の前記値を復号することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値を復号することを備える、請求項１に記載の方法。
【請求項３】
前記第１のリストのパラメータのうちの前記パラメータのうちの前記１つまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値を復号することが、両端値を含む、「−２の（前記シグナリングされたビット深度から１を減じた値）乗」〜「２の（前記シグナリングされたビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を復号することを備える、請求項１に記載の方法。
【請求項４】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータをさらに備える、請求項１に記載の方法。
【請求項５】
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を復号することが、両端値を含む、「−２の（前記シグナリングされたビット深度に１を加えた値）乗」〜「２の（前記シグナリングされたビット深度に１を加えた値）乗から１を減じた値」の範囲内の値を復号することを備える、請求項４に記載の方法。
【請求項６】
公式、Ｃｌｉｐ３（−２の（前記シグナリングされたビット深度から１を減じた値）乗，２の（前記シグナリングされたビット深度から１を減じた値）乗から１を減じた値，（ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］−（（２の（前記シグナリングされたビット深度から１を減じた値）乗＊ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］）＞＞ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋２の（前記シグナリングされたビット深度から１を減じた値）乗））に従ってＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］変数の値を導出することと、
公式、Ｃｌｉｐ３（−２の（前記シグナリングされたビット深度から１を減じた値）乗，２の（前記シグナリングされたビット深度から１を減じた値）乗から１を減じた値，（ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］−（（２の（前記シグナリングされたビット深度から１を減じた値）乗＊ＣｈｒｏｍａＷｅｉｇｈｔＬ１［ｉ］［ｊ］）＞＞ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋２の（前記シグナリングされたビット深度から１を減じた値）乗））に従ってＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｉ］［ｊ］変数の値を導出することと
をさらに備える、請求項４に記載の方法。
【請求項７】
前記ビデオデータを復号することが、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、請求項６に記載の方法。
【請求項８】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項１に記載の方法。
【請求項９】
前記ビデオデータを復号することが、前記シグナリングされたビット深度に従って右シフト演算を適応的に実行することを備える、請求項１に記載の方法。
【請求項１０】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを符号化する方法であって、
ビデオデータのためにシグナリングされたビット深度を有する重み付け予測を使用可能にすることを決定することと、
前記シグナリングされたビット深度を有する前記重み付け予測を使用可能にすることを決定した後に、
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを示すシンタックス要素の値を符号化することと、
前記ビデオデータの１つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値を符号化することと、ここにおいて、前記１つまたは複数のパラメータが、リスト０予測のルーマ予測値に適用されるべき加法オフセットを各々表す第１のリストのパラメータ、またはリスト１予測のルーマ予測値に適用されるべき加法オフセットを各々表す第２のリストのパラメータを備える、
前記パラメータの値が、前記シグナリングされたビット深度に基づくビット深度を表すように前記パラメータの前記値を符号化することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを符号化することと、
を備え、前記ビデオデータを復号することが、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第１のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第１の変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第２のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第２の変数の値を計算することと、
を備える方法。
【請求項１２】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを示す前記シンタックス要素の前記値を符号化することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値を符号化することを備える、請求項１１に記載の方法。
【請求項１３】
前記第１のリストのパラメータのうちの前記パラメータのうちの前記１つ、または前記第２のリストのパラメータのうちの前記パラメータのうちの前記１つの値を符号化することが、両端値を含む、「−２の（前記シグナリングされたビット深度から１を減じた値）乗」〜「２の（前記シグナリングされたビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を符号化することを備える、請求項１１に記載の方法。
【請求項１４】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を符号化することが、両端値を含む、「−２の（前記シグナリングされたビット深度に１を加えた値）乗」〜「２の（前記シグナリングされたビット深度に１を加えた値）乗から１を減じた値」の範囲内の値を符号化することを備える、
請求項１１に記載の方法。
【請求項１５】
前記ビデオデータを符号化することが、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、請求項１４に記載の方法。
【請求項１６】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項１１に記載の方法。
【請求項１７】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項１１に記載の方法。
【請求項１８】
ビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値をコーディングすることと、ここにおいて、前記１つまたは複数のパラメータが、リスト０予測のルーマ予測値に適用されるべき加法オフセットを各々表す第１のリストのパラメータ、またはリスト１予測のルーマ予測値に適用されるべき加法オフセットを各々表す第２のリストのパラメータを備える、
前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと、
を行うように構成されたビデオコーダと、
を備え、前記ビデオデータが、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第１のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第１の変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第２のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第２の変数の値を計算することと、
を行うようにさらに構成されるデバイス。
【請求項１９】
前記ビデオコーダが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）中の、前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素の前記値をコーディングすることを行うように構成された、請求項１８に記載のデバイス。
【請求項２０】
前記ビデオコーダが、両端値を含む、「−２の（前記シグナリングされたビット深度から１を減じた値）乗」〜「２の（前記シグナリングされたビット深度から１を減じた値）乗から１を減じた値」の範囲内における前記第１のリストのパラメータのうちの前記パラメータのうちの前記１つ、または前記第２のリストのパラメータのうちの前記パラメータのうちの前記１つの値をコーディングすることを行うように構成された、請求項１８に記載のデバイス。
【請求項２１】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、前記ビデオコーダが、両端値を含む、「−２の（前記シグナリングされたビット深度に１を加えた値）乗」〜「２の（前記シグナリングされたビット深度に１を加えた値）乗から１を減じた値」の範囲内の値として、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をコーディングすることを行うように構成された、請求項１８に記載のデバイス。
【請求項２２】
前記ビデオコーダが、クロミナンスサンプルに対して重み付け予測プロセスを実行するときに、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することとを行うように構成された、請求項２１に記載のデバイス。
【請求項２３】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項１８に記載のデバイス。
【請求項２４】
前記ビデオコーダがビデオデコーダを備える、請求項１８に記載のデバイス。
【請求項２５】
前記ビデオコーダがビデオエンコーダを備える、請求項１８に記載のデバイス。
【請求項２６】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項１８に記載のデバイス。
【請求項２７】
前記デバイスが、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスと
のうちの少なくとも１つを備える、請求項１８に記載のデバイス。
【請求項２８】
ビデオデータをコーディングするためのデバイスであって、
ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの１つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値をコーディングするための手段と、ここにおいて、前記１つまたは複数のパラメータが、リスト０予測のルーマ予測値に適用されるべき加法オフセットを各々表す第１のリストのパラメータ、またはリスト１予測のルーマ予測値に適用されるべき加法オフセットを各々表す第２のリストのパラメータを備える、
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングするための手段と、
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングするための手段と、
を備え、前記ビデオデータを前記コーディングするための手段が、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第１のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第１の変数の値を計算するための手段と、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第２のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第２の変数の値を計算するための手段と、
を備えるデバイス。
【請求項２９】
実行されたとき、プロセッサに、
ビデオデータのためにシグナリングされたビット深度を有する重み付け予測が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記シグナリングされたビット深度を表すシンタックス要素の値をコーディングすることと、ここにおいて、前記１つまたは複数のパラメータが、リスト０予測のルーマ予測値に適用されるべき加法オフセットを各々表す第１のリストのパラメータ、またはリスト１予測のルーマ予測値に適用されるべき加法オフセットを各々表す第２のリストのパラメータを備える、
前記パラメータの値が、前記シグナリングされたビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと、
を行わせる命令を記憶し、前記プロセッサに、前記ビデオデータをコーディングさせる前記命令が、前記プロセッサに、ルミナンスサンプルに対して重み付け予測プロセスを実行するときに、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第１のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第１の変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記第２のリストのパラメータのうちの前記パラメータのうちの１つの値に等しくなるように、前記重み付け予測プロセスにおいて使用される第２の変数の値を計算することと、
を行わせる命令を備えるコンピュータ可読記憶媒体。
【請求項３０】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であることを示す前記シンタックス要素の前記値をコーディングすることを前記プロセッサに行わせる前記命令が、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項２９に記載のコンピュータ可読媒体。
【請求項３１】
前記第１のリストのパラメータのうちの前記パラメータのうちの前記１つ、または前記第２のリストのパラメータのうちの前記パラメータのうちの前記１つの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−２の（前記シグナリングされたビット深度から１を減じた値）乗」〜「２の（前記シグナリングされたビット深度から１を減じた値）乗から１を減じた値の範囲内の値」をコーディングすることを前記プロセッサに行わせる命令を備える、請求項２９に記載のコンピュータ可読媒体。
【請求項３２】
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−２の（前記シグナリングされたビット深度に１を加えた値）乗」〜「２の（前記シグナリングされたビット深度に１を加えた値）乗から１を減じた値」の範囲内の値をコーディングすることを前記プロセッサに行わせる命令を備える、請求項２９に記載のコンピュータ可読媒体。
【請求項３３】
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記シグナリングされたビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を前記プロセッサに行わせる命令を備える、請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、請求項２９に記載のコンピュータ可読記憶媒体。
【請求項３５】
前記シグナリングされたビット深度を有する前記重み付け予測が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、請求項２９に記載のコンピュータ可読記憶媒体。
【請求項３６】
前記ビデオデータが、高効率ビデオコーディング（ＨＥＶＣ）規格に準拠し、前記第１のリストのパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０を備え、前記第２のリストのパラメータがｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１を備え、前記第１の変数が、ｏ０を備え、前記ｏ０の前記値を計算することが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］に等しくなるように、ｏ０の前記値を計算することを備え、前記第２の変数が、ｏ１を備え、ｏ１の前記値を計算することが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］に等しくなるように、ｏ１の前記値を計算することを備える、請求項１に記載の方法。
【請求項３７】
前記ビデオデータが、高効率ビデオコーディング（ＨＥＶＣ）に準拠し、前記第１のリストのパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０を備え、前記第２のリストのパラメータがｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１を備え、前記第１の変数が、ｏ０を備え、前記ｏ０の前記値を計算することが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］に等しくなるように、ｏ０の前記値を計算することを備え、前記第２の変数が、ｏ１を備え、ｏ１の前記値を計算することが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］に等しくなるように、ｏ１の前記値を計算することを備える、請求項１１に記載の方法。
【請求項３８】
前記ビデオデータが、高効率ビデオコーディング（ＨＥＶＣ）に準拠し、前記第１のリストのパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０を備え、前記第２のリストのパラメータがｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１を備え、前記第１の変数が、ｏ０を備え、前記ビデオコーダが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］に等しくなるように、ｏ０の前記値を計算するように構成され、前記第２の変数が、ｏ１を備え、前記ビデオコーダが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］に等しくなるように、ｏ１の前記値を計算するように構成された、請求項１８に記載のデバイス。
【請求項３９】
前記ビデオデータが、高効率ビデオコーディング（ＨＥＶＣ）に準拠し、前記第１のリストのパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０を備え、前記第２のリストのパラメータがｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１を備え、前記第１の変数が、ｏ０を備え、ｏ０の前記値を前記計算するための手段が、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］に等しくなるように、ｏ０の前記値を計算するための手段を備え、前記第２の変数が、ｏ１を備え、ｏ１の前記値を前記計算するための手段が、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］に等しくなるように、ｏ１の前記値を計算するための手段を備える、請求項２８に記載のデバイス。
【請求項４０】
前記ビデオデータが、高効率ビデオコーディング（ＨＥＶＣ）に準拠し、前記第１のリストのパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０を備え、前記第２のリストのパラメータがｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１を備え、前記第１の変数が、ｏ０を備え、前記プロセッサに、前記ｏ０の前記値を計算させる前記命令は、前記プロセッサに、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］に等しくなるように、ｏ０の前記値を計算させる命令を備え、前記第２の変数が、ｏ１を備え、前記プロセッサに、ｏ１の前記値を計算させる命令が、前記プロセッサに、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］に等しくなるように、ｏ１の前記値を計算させる命令を備える、請求項２９に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１８６
【補正方法】変更
【補正の内容】
【０１８６】
[0201]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0202]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値を復号することと、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値を復号することと、
前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値を復号することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを復号することと
を備える方法。
［Ｃ２］
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素の前記値を復号することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値を復号することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備える、Ｃ１に記載の方法。
［Ｃ４］
前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値を復号することが、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を復号することを備える、Ｃ３に記載の方法。
［Ｃ５］
前記ビデオデータを復号することが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、Ｃ３に記載の方法。
［Ｃ６］
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備える、Ｃ１に記載の方法。
［Ｃ７］
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を復号することが、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値を復号することを備える、Ｃ６に記載の方法。
［Ｃ８］
公式、Ｃｌｉｐ３（−２の（前記高ビット深度から１を減じた値）乗，２の（前記高ビット深度から１を減じた値）乗から１を減じた値，（ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］−（（２の（前記高ビット深度から１を減じた値）乗＊ＣｈｒｏｍａＷｅｉｇｈｔＬ０［ｉ］［ｊ］）＞＞ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋２の（前記高ビット深度から１を減じた値）乗））に従ってＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｉ］［ｊ］変数の値を導出することと、
公式、Ｃｌｉｐ３（−２の（前記高ビット深度から１を減じた値）乗，２の（前記高ビット深度から１を減じた値）乗から１を減じた値，（ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］−（（２の（前記高ビット深度から１を減じた値）乗＊ＣｈｒｏｍａＷｅｉｇｈｔＬ１［ｉ］［ｊ］）＞＞ＣｈｒｏｍａＬｏｇ２ＷｅｉｇｈｔＤｅｎｏｍ）＋２の（前記高ビット深度から１を減じた値）乗））に従ってＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｉ］［ｊ］変数の値を導出することと
をさらに備える、Ｃ６に記載の方法。
［Ｃ９］
前記ビデオデータを復号することが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、Ｃ８に記載の方法。
［Ｃ１０］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、Ｃ１に記載の方法。
［Ｃ１１］
前記ビデオデータを復号することが、前記高ビット深度に従って右シフト演算を適応的に実行することを備える、Ｃ１に記載の方法。
［Ｃ１２］
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、Ｃ１に記載の方法。
［Ｃ１３］
ビデオデータを符号化する方法であって、
ビデオデータのために高ビット深度を使用可能にすることを決定することと、
前記高ビット深度を使用可能にすることを決定した後に、
前記高ビット深度が使用可能であることを示すシンタックス要素の値を符号化することと、
前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値を符号化することと、
前記パラメータの値が、前記高ビット深度に基づくビット深度を表すように前記パラメータの前記値を符号化することと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータを符号化することと
を備える方法。
［Ｃ１４］
前記高ビット深度が使用可能であることを示す前記シンタックス要素の前記値を符号化することが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値を符号化することを備える、Ｃ１３に記載の方法。
［Ｃ１５］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備え、前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値を符号化することが、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を符号化することを備える、Ｃ１３に記載の方法。
［Ｃ１６］
前記ビデオデータを符号化することが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、Ｃ１５に記載の方法。
［Ｃ１７］
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値を符号化することが、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値を符号化することを備える、
Ｃ１３に記載の方法。
［Ｃ１８］
前記ビデオデータを符号化することが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を備える、Ｃ１７に記載の方法。
［Ｃ１９］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、Ｃ１３に記載の方法。
［Ｃ２０］
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、Ｃ１３に記載の方法。
［Ｃ２１］
ビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすること、および前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングすることと、前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることとを行うことを行うように構成されたビデオコーダと
を備えるデバイス。
［Ｃ２２］
前記ビデオコーダが、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）中の、前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素の前記値をコーディングすることを行うように構成された、Ｃ２１に記載のデバイス。
［Ｃ２３］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備え、前記ビデオコーダが、前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値をコーディングするように構成され、または前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータが、コード、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値」の範囲内の値を備える、Ｃ２１に記載のデバイス。
［Ｃ２４］
前記ビデオコーダが、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することとを行うように構成された、Ｃ２３に記載のデバイス。
［Ｃ２５］
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、前記ビデオコーダが、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値として、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をコーディングすることを行うように構成された、Ｃ２１に記載のデバイス。
［Ｃ２６］
前記ビデオコーダが、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することとを行うように構成された、Ｃ２５に記載のデバイス。
［Ｃ２７］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、Ｃ２１に記載のデバイス。
［Ｃ２８］
前記ビデオコーダがビデオデコーダを備える、Ｃ２１に記載のデバイス。
［Ｃ２９］
前記ビデオコーダがビデオエンコーダを備える、Ｃ２１に記載のデバイス。
［Ｃ３０］
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、Ｃ２１に記載のデバイス。
［Ｃ３１］
前記デバイスが、
集積回路と、
マイクロプロセッサと、
ワイヤレス通信デバイスと
のうちの少なくとも１つを備える、Ｃ２１に記載のデバイス。
［Ｃ３２］
ビデオデータをコーディングするためのデバイスであって、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングするための手段と、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングするための手段と
を備えるデバイス。
［Ｃ３３］
実行されたとき、プロセッサに、
ビデオデータのために高ビット深度が使用可能であるかどうかを表すシンタックス要素の値をコーディングすることと、
前記高ビット深度が使用可能であることを前記シンタックス要素の前記値が示すとき、
前記ビデオデータの１つまたは複数のパラメータのための前記高ビット深度を表すシンタックス要素の値をコーディングすることと、
前記パラメータの値が、前記高ビット深度を表す前記シンタックス要素の前記値に基づくビット深度を表すように前記パラメータの前記値をコーディングすることと、
前記パラメータの前記値に少なくとも部分的に基づいて前記ビデオデータをコーディングすることと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
［Ｃ３４］
前記高ビット深度が使用可能であることを示す前記シンタックス要素の前記値をコーディングすることを前記プロセッサに行わせる前記命令が、前記ビデオデータのピクチャのシーケンスのためのシーケンスパラメータセット（ＳＰＳ）のシンタックス要素の値をコーディングすることを前記プロセッサに行わせる命令を備える、Ｃ３３に記載のコンピュータ可読媒体。
［Ｃ３５］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたはｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータを備え、前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータまたは前記ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−２の（前記高ビット深度から１を減じた値）乗」〜「２の（前記高ビット深度から１を減じた値）乗から１を減じた値の範囲内の値」をコーディングすることを前記プロセッサに行わせる命令を備える、Ｃ３３に記載のコンピュータ可読媒体。
［Ｃ３６］
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、ルミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｒｅｆＩｄｘＬ０］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしにｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｒｅｆＩｄｘＬ１］パラメータの値に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を行うことを前記プロセッサに行わせる命令を備える、Ｃ３５に記載のコンピュータ可読媒体。
［Ｃ３７］
前記１つまたは複数の重み付け予測パラメータが、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたはｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータを備え、前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータまたは前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータの値をコーディングすることを前記プロセッサに行わせる前記命令が、両端値を含む、「−２の（前記高ビット深度に１を加えた値）乗」〜「２の（前記高ビット深度に１を加えた値）乗から１を減じた値」の範囲内の値をコーディングすることを前記プロセッサに行わせる命令を備える、Ｃ３３に記載のコンピュータ可読媒体。
［Ｃ３８］
前記ビデオデータをコーディングすることを前記プロセッサに行わせる前記命令が、クロミナンスサンプルに対して高精度重み付け予測プロセスを実行するときに、
ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ０［ｒｅｆＩｄｘＬ０］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ０の値を計算することと、
前記ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータからＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数の値を計算することと、
（１＜＜（前記高ビット深度から８を減じた値））を計算することなしに、前記ＣｈｒｏｍａＯｆｆｓｅｔＬ１［ｒｅｆＩｄｘＬ１］［ｃＩｄｘ−１］変数に等しくなるように、前記高精度重み付け予測プロセスにおいて使用される変数ｏ１の値を計算することと
を前記プロセッサに行わせる命令を備える、Ｃ３７に記載のコンピュータ可読媒体。
［Ｃ３９］
前記１つまたは複数のパラメータが、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］パラメータと、ｌｕｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ０［ｉ］［ｊ］パラメータと、ｄｅｌｔａ＿ｃｈｒｏｍａ＿ｏｆｆｓｅｔ＿ｌ１［ｉ］［ｊ］パラメータとを備える、Ｃ３３に記載のコンピュータ可読記憶媒体。
［Ｃ４０］
前記高ビット深度が使用可能であるかどうかを表す前記シンタックス要素が、ｕｓｅ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｗｅｉｇｈｔｅｄ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを備える、Ｃ３３に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2016538749.tif 000040
2016538749.tif 000041