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