(57)【要約】  ビデオデータを記憶するように構成されたメモリと、１つまたは複数のプロセッサとを備える、ビデオデータを復号するように構成された装置。１つまたは複数のプロセッサは、ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信することと、ここにおいて、ビットストリームが、復号されるべきビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、少なくとも１つのエスケープ値を決定するための情報を使用して、ビデオデータのブロック中のサンプルを再構成することとを行うように構成される。【選択図】図４
2018532319.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]本開示の１つまたは複数の例の詳細が添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２０】
【図１】本開示で説明される技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。
【図２】本開示で説明される技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】本開示で説明される技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４】本開示の技法に従って、パレットベースビデオコーディングのためのパレットエントリを決定することの一例を示す概念図。
【図５】本開示の技法に従って、ピクセルのブロックについてのパレットへのインデックスを決定することの一例を示す概念図。
【図６】本開示の１つまたは複数の態様による、エスケープピクセル値が制限される例示的な符号化プロセスを示すフローチャート。
【図７】本開示の１つまたは複数の態様による、エスケープピクセル値が制限される例示的な復号プロセスを示すフローチャート。
【図８】本開示の１つまたは複数の態様による、下限が量子化パラメータに適用される例示的な符号化プロセスを示すフローチャート。
【図９】本開示の１つまたは複数の態様による、下限が量子化パラメータに適用される例示的な復号プロセスを示すフローチャート。
【発明を実施するための形態】
【００２１】
[0029]本開示は、ビデオコーディングおよび圧縮のための技法について説明する。特に、本開示は、ビデオデータのパレットベースコーディングのための技法について説明する。いくつかの例では、本技法の態様は、個々のピクチャなど、他のコンテンツのコーディングのためにも使用され得る。旧来のビデオコーディングでは、画像は、連続トーンであり空間的に滑らかである自然画像であると仮定される。これらの仮定に基づいて、ブロックベース変換、フィルタ処理などの様々なツールが開発されており、そのようなツールは、自然コンテンツビデオに対して良好な性能を示している。
【００２２】
[0030]しかしながら、リモートデスクトップ、協調作業、およびワイヤレスディスプレイのような適用例では、コンピュータ生成スクリーンコンテンツが、圧縮されるべき主要なコンテンツであり得る。このタイプのコンテンツは、離散トーンを有し、鋭いラインおよび高コントラストオブジェクト境界を特徴とする傾向がある。連続トーンおよび滑らかさの仮定はもはや適用されないことがあり、したがって、旧来のビデオコーディング技法は、コンテンツを圧縮するための非効率的な方法であり得る。
【００２３】
[0031]いくつかの例では、パレットベースコーディング技法は、１つまたは複数のビデオコーディング規格とともに使用するために構成され得る。たとえば、ＩＴＵ−Ｔ  Ｈ．２６５、高効率ビデオコーディング（ＨＥＶＣ）は、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発された新しいビデオコーディング規格である。ＨＥＶＣ規格は、ITU-T H.265, Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services--Coding of moving video, High Efficiency Video Coding、国際電気通信連合。２０１５年４月（以下、「ＨＥＶＣ」）として発行されている。
【００２４】
[0032]ＨＥＶＣフレームワークに関して、一例として、パレットベースコーディング技法は、コーディングユニット（ＣＵ）モードとして使用されるように構成され得る。他の例では、パレットベースコーディング技法は、ＨＥＶＣのフレームワーク中でＰＵモードとして使用されるように構成され得る。したがって、ＣＵコーディングのコンテキストにおいて説明される以下の開示されるプロセスのすべてが、追加または代替として、ＰＵコーディングに適用され得る。しかしながら、これらのＨＥＶＣベースの例は、本明細書で説明されるパレットベースコーディング技法が、独立して、あるいは他の既存のまたはまだ開発されていないシステム／規格の一部として動作するように適用され得るので、そのような技法の制限または限定であると見なされるべきではない。これらの場合、パレットコーディングのためのユニットは、正方形ブロック、矩形ブロック、さらには非矩形形状の領域であり得る。
【００２５】
[0033]パレットベースコーディングでは、ビデオデータの特定のエリアが比較的少数の色を有すると仮定され得る。ビデオコーダ（ビデオエンコーダまたはビデオデコーダ）は、特定のエリア（たとえば、所与のブロック）のビデオデータを表すための色のテーブルとして、いわゆる「パレット」をコーディングし得る。ブロック中の各ピクセルは、ピクセルの色値を表すパレット中のエントリに関連付けられ得る。たとえば、ビデオコーダは、ブロック中のピクセルの色値をパレット中の適切な色値に関係付けるピクセルについてのインデックスをコーディングし得る。
【００２６】
[0034]上記の例では、ビデオエンコーダは、ブロックについてのパレットを決定することと、各ピクセルの値を表すためのパレット中のエントリの位置を特定することと、ピクセル値をパレットに関係付けるピクセルについての（パレットインデックス値とも呼ばれる）パレットインデックスを用いてパレットを符号化することとによって、ビデオデータのブロックを符号化し得る。ビデオデコーダは、符号化ビットストリームから、ブロックについてのパレット、ならびにブロックのピクセルについてのパレットインデックスを取得し得る。ビデオデコーダは、ブロックのピクセル値を再構成するために、ピクセルのパレットインデックスをパレットのエントリに関係付け得る。ピクセル（および／またはピクセル値を示す関係するパレットインデックス）は、概して、サンプルと呼ばれることがある。
【００２７】
[0035]ブロック中のサンプルは、あるスキャン順序を使用して処理（たとえば、スキャン）されると仮定される。たとえば、ビデオエンコーダは、スキャン順序を使用してパレットインデックスをスキャンすることによって、パレットインデックスの２次元ブロックを１次元アレイに変換し得る。同様に、ビデオデコーダは、スキャン順序を使用してパレットインデックスのブロックを再構成し得る。したがって、本開示は、スキャン順序でブロック中の現在コーディングされているサンプルに先行するサンプルとして前のサンプルを参照し得る。たとえば、スキャン順序は、水平スキャン順序、垂直スキャン順序、トラバース／トランスバース（ヘビ様の）スキャン順序、順方向または逆方向スキャン順序などであり得る。前述のもの以外のスキャンも適用可能であり得ることを諒解されたい。上記の例は、パレットベースコーディングの概略的な説明を与えるように意図されている。
【００２８】
[0036]パレットは、一般に、インデックスによって番号を付けられ、色成分（たとえば、ＲＧＢ、ＹＵＶなど）値または強度を表すエントリを含む。ビデオエンコーダとビデオデコーダの両方が、パレットエントリの数と、各パレットエントリのための色成分値と、現在ブロックのためのパレットエントリの厳密な順序付けとを決定する。本開示では、各パレットエントリがサンプルのすべての色成分のための値を指定すると仮定される。ただし、本開示の概念は、色成分ごとに別個のパレットを使用することに適用可能である。
【００２９】
[0037]いくつかの例では、パレットは、前にコーディングされたブロックからの情報を使用して構成され得る。すなわち、パレットは、前の（１つまたは複数の）ブロックをコーディングするために使用された（１つまたは複数の）パレットから予測される、予測されたパレットエントリを含んでいることがある。たとえば、規格提案ドキュメント、Ｗｅｉ  Ｐｕら、「AHG10: Suggested Software for Palette Coding based on RExt6.0」、ＪＣＴＶＣ−Ｑ００９４、バレンシア、スペイン、２０１４年３月２７日〜４月４日（以下、ＪＣＴＶＣ−Ｑ００９４）に記載されているように、パレットは、予測子パレットからコピーされたエントリを含み得る。予測子パレットは、パレットモードを使用して前にコーディングされたブロックまたは他の再構成されたサンプルからのパレットエントリを含み得る。予測子パレット中の各エントリについて、バイナリフラグが、そのフラグに関連付けられたエントリが現在パレットにコピーされる（たとえば、フラグ＝１によって示される）かどうかを示すようにコーディングされ得る。バイナリフラグのストリングは、バイナリパレット予測ベクトルと呼ばれることがある。現在ブロックをコーディングするためのパレットは、（たとえば、パレット予測ベクトルとは別に）明示的にコーディングされ得る、いくつかの新しいパレットエントリをも含み得る。新しいエントリの数のインジケーションもコーディングされ得る。予測されたエントリと新しいエントリとの和が、ブロックのための総パレットサイズを示し得る。
【００３０】
[0038]いくつかの例では、パレットベースコーディングモードを用いてコーディングされたブロック中の各サンプルは、以下に記載されるように、３つのパレットモードのうちの１つを使用してコーディングされ得る。
【００３１】
[0039]エスケープモード：このモードでは、サンプル値がパレットエントリとしてパレットに含まれないことがあり、被量子化サンプル値がすべての色成分について明示的にエンコーダによってビットストリーム中でシグナリングされる。エスケープモードは、新しいパレットエントリのシグナリングと同様であるが、新しいパレットエントリについて、色成分値が量子化されない。
【００３２】
[0040]（コピーアバブ（Copy Above）モードとも呼ばれる）コピートップ（Copy Top）モード：このモードでは、現在のサンプルについてのパレットエントリインデックスが、ブロック中ですぐ上に位置するサンプルからコピーされる。コピーの長さ（ランレングス）を指定するシンタックス要素のみが、コピートップモードについてエンコーダによってビットストリーム中でシグナリングされる。
【００３３】
[0041]（値モードまたは左モードとも呼ばれる）インデックスモード：このモードでは、パレットエントリインデックスの値が、たとえば、切捨てバイナリコードと、後続の、スキャン順序でのいくつの後続のピクセルが、シグナリングされたものと同じインデックスを共有するか（ランレングス）を指定する別のシンタックス要素とを使用して、エンコーダによってビットストリーム中で明示的にシグナリングされる。
【００３４】
[0042]本明細書で説明されるように、パレットエントリインデックスは、パレットインデックスまたは単にインデックスと呼ばれることがある。これらの用語は、本開示の技法について説明するために互換的に使用され得る。さらに、以下でより詳細に説明されるように、パレットインデックスは、１つまたは複数の関連付けられた色値または強度値を有し得る。たとえば、パレットインデックスは、ピクセルの単一の色成分または強度成分（たとえば、ＲＧＢデータの赤成分、ＹＵＶデータのＹ成分など）に関連付けられた単一の関連付けられた色値または強度値を有し得る。別の例では、パレットインデックスは、複数の関連付けられた色値または強度値を有し得る。いくつかの事例では、パレットベースコーディングは、モノクロームビデオをコーディングするために適用され得る。したがって、「色値」は、概して、ピクセル値を生成するために使用される任意の色成分または（モノクロームの場合）非色成分を指し得る。
【００３５】
[0043]コピートップモードおよびインデックスモードの場合、（単にランと呼ばれることもある）ラン値もシグナリングされ得る。ラン値は、一緒にコーディングされるパレットコード化ブロック中の特定のスキャン順序での連続するサンプルの数（たとえば、サンプルのラン）を示し得る。いくつかの事例では、サンプルのランは、ランの各サンプルが、パレットへの関連付けられたインデックスを有するので、パレットインデックスのランと呼ばれることもある。
【００３６】
[0044]ラン値は、同じパレットコーディングモードを使用してコーディングされるパレットインデックスのランを示し得る。たとえば、インデックスモードに関して、ビデオコーダ（ビデオエンコーダまたはビデオデコーダ）は、（パレットインデックス値または単にインデックス値とも呼ばれる）パレットインデックスと、同じパレットインデックスを有し、パレットインデックスを用いてコーディングされている、スキャン順序での連続するサンプルの数を示すラン値とをコーディングし得る。コピートップモードに関して、ビデオコーダは、現在サンプル値のためのインデックスが上隣接サンプル（たとえば、ブロック中で現在コーディングされているサンプルの上に位置するサンプル）のインデックスに基づいてコピーされるというインジケーションと、上隣接サンプルからのパレットインデックスをもコピーするスキャン順序での連続するサンプルの数を示すラン値とをコーディングし得る。したがって、上記の例では、パレットインデックスのランは、同じ値を有するパレットインデックスのラン、または上隣接パレットインデックスからコピーされたパレットインデックスのランを指す。
【００３７】
[0045]したがって、ランは、所与のモードについて、同じモードに属する後続のサンプルの数を指定し得る。いくつかの事例では、インデックスとラン値とをシグナリングすることはランレングスコーディングと同様であり得る。説明の目的の一例では、ブロックの連続するパレットインデックスのストリングは、０、２、２、２、２、５であり得る（たとえば、ここで、各インデックスはブロック中のサンプルに対応する）。この例では、ビデオコーダは、インデックスモードを使用して第２のサンプル（たとえば、２の第１のパレットインデックス）をコーディングし得る。２に等しいインデックスをコーディングした後に、ビデオコーダは、３つの後続のサンプルも２の同じパレットインデックスを有することを示す、３のランをコーディングし得る。同様にして、コピートップモードを使用してインデックスをコーディングした後に４つのパレットインデックスのランをコーディングすることは、合計５つのパレットインデックスが、現在コーディングされているサンプル位置の上の行中の対応するパレットインデックスからコピーされることを示し得る。
【００３８】
[0046]（エスケープピクセルとも呼ばれる）エスケープサンプルは、ブロックをコーディングするためのパレット中で表される対応する色を有しないブロックのサンプル（またはピクセル）であり得る。したがって、エスケープサンプルは、パレットからの色エントリ（またはピクセル値）を使用して再構成されないことがある。代わりに、エスケープサンプルのための色値が、パレットの色値とは別にビットストリーム中でシグナリングされる。
【００３９】
[0047]ビデオコーダ（たとえば、ビデオエンコーダおよびビデオデコーダ）は、パレットコード化ブロックのサンプルが、たとえば、上記の「エスケープモード」と呼ばれるプロセスを使用して、ブロックについてのパレット中に含まれていないサンプルの色に基づいてコーディングされるかどうかを示す、サンプルごとのデータをコーディングし得る。いくつかの例では、ビデオコーダは、パレットエントリに対応しないパレットに特殊インデックスを適応させるために、パレットのパレットエントリの数を１だけ増加させるように構成され得る。ビデオコーダは、所与のブロックについての増加されたパレット中の最後のパレットインデックスとして、追加のインデックスを含め得る。追加のインデックスは、エスケープモードのインジケーションとして使用され得る。
【００４０】
[0048]上記で説明された例では、ビデオコーダは、ブロックの特定のサンプル値について、追加のサンプルがエスケープサンプル（たとえば、ブロックをコーディングするためのパレット中で表される色値を有しないサンプル）としてコーディングされることを示すために、追加のインデックスを表すデータをコーディングし得る。ビデオコーダはまた、エスケープサンプルの（１つまたは複数の）色値をコーディングし得る。この例では、明示的シンタックスを使用してシグナリングされるべき２つの可能なモード（たとえば、コピートップモード、あるいは（インデックスモードまたは値モードとも呼ばれる）インデックスモード）のみがある。たとえば、サンプルがインデックスモードでコーディングされ、インデックスモードのためのインデックスがエスケープインデックス（たとえば、パレットへの上述の追加のインデックス）に等しい場合、ビデオコーダは、コーディングされるべきサンプルをエスケープサンプルと推論し得る。いくつかの事例では、ランは、エスケープサンプルとともにシグナリングされない。
【００４１】
[0049]パレットコード化ブロックについて、１つまたは複数のシンタックス要素は、ブロックレベル（たとえば、ＣＵレベルまたはＬＣＵレベル）において、ブロックのサンプルが、パレット中に含まれていないサンプルの色値に基づいてコーディングされるかどうか、たとえば、エスケープサンプルとしてコーディングされるかどうかを示し得る。１つまたは複数のシンタックス要素は、ブロックレベルエスケープシンタックスと呼ばれることがある。たとえば、ブロックレベルシンタックスは、ＣＵまたはＬＣＵなど、ビデオデータのブロックをコーディングする間にコーディングまたは決定されるシンタックスを指し得る。ブロックレベルシンタックスは、ヘッダ中に含まれるか、またはブロックに関連付けられた他のデータ（たとえば、ブロックの特性について説明するブロックより前にまたはその後にコーディングされるデータ）とともにあり得る。対照的に、ブロックレベルシンタックスでない他のシンタックスは、スライスヘッダ中に含まれるか、またはビデオデータの個々のピクセルとともにあり得る。
【００４２】
[0050]一例では、ビデオコーダは、ブロックのサンプルがエスケープモードでコーディングされるかどうかを示す（ブロックレベルエスケープフラグと呼ばれることがある）フラグをコーディングおよび／または決定するように構成され得る。たとえば、０のフラグ値は、ブロックのサンプルのいずれもエスケープモードを使用してコーディングされないことを示し得る。すなわち、ブロックのすべてのサンプルの値は、ブロックをコーディングするためのパレット中に含まれる色値に基づいて決定され得る。１のフラグ値は、ブロックの少なくとも１つのサンプルが、エスケープモードを使用してコーディングされることを示し得る。すなわち、少なくとも１つのサンプルの値が、エスケープサンプルとしてコーディングされる。したがって、フラグは、ビデオデータのブロックのすべてのサンプルについて、ブロックの少なくとも１つのサンプルが、ブロックをコーディングするためのパレット中に含まれない色値を有するかどうかを示し得る。
【００４３】
[0051]したがって、いくつかの例では、現在ＣＵがエスケープピクセルを有し得るか否かを指定するＣＵレベルエスケープフラグが、ビットストリーム中でシグナリングされ得る。たとえば、ＣＵレベルエスケープフラグは、エスケープ値が特定のＣＵのために有効にされるかどうかを示し得る。上述のように、ＣＵ中のエスケープサンプルの存在は、ＣＵのためのパレットインデックスの数に影響を及ぼし得る。たとえば、ＣＵのためのパレットは、たとえば、インデックスが両端値を含んで｛０，１，．．．，Ｎ｝から選定され得るように、最大インデックスＮをもついくつかのインデックスを有し得る。
【００４４】
[0052]しかしながら、いくつかの事例では、ＣＵレベルエスケープフラグが、現在ブロック中にエスケープピクセルがあり得ることを示す場合、現在ブロック中の可能なインデックス値は｛０，１，．．．，Ｎ，Ｎ＋１｝であり得、ここで、Ｎ＋１に等しいインデックスは、現在ピクセルがエスケープピクセルであることを示す。そのような事例では、コーディングされている特定のサンプルについて、インデックスＮ＋１を有するシンタックス要素は、量子化ピクセル値であり得る。上述のように、Ｎ＋１よりも小さいインデックスは、現在ピクセルが、そのインデックスに関連付けられたパレットからの色によって表されることを示し得る。
【００４５】
[0053]本開示の技法は、一般にエスケープピクセルコーディングに関する。エスケープピクセルは、ブロック中のエスケープピクセル位置、および４：４：４、４：２：２、４：２：０などのクロマフォーマット、および／またはモノクロームに応じて、ルーマサンプル、またはルーマサンプルと２つのクロマサンプルとの組合せを備え得る。色成分サンプルは、パレットモードの一部としてコーディングされるべき元のピクセルを表し、シグナリングされる値は量子化され得る。ルーマサンプルおよびクロマサンプルは、元のピクセルが有し得る最大可能値を表す異なるビット深度を有し得る。パレットエスケープ値は、エスケープコード化ピクセル値の色成分ごとのシグナリングされた値を表すｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌによって表され得、この値は、エスケープピクセルを再構成するために逆量子化され得る。
【００４６】
[0054]いくつかの例では、（ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが偽であるときの）不可逆コード化コーディングユニット（ＣＵ）のための次数３の指数ゴロム符号は、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ２値化のために使用され得、上限を含んでいないことがある。たとえば、規格提案ドキュメント、Ｂｉｎ  Ｌｉら、「On the Palette Escape Pixel Coding」、ＪＣＴＶＣ−Ｕ００５２、ワルシャワ、ポーランド、２０１５年６月１９日〜２６日（以下、ＪＣＴＶＣ−Ｕ００５２）は、上限を含んでいないそのようなコードについて説明している。
【００４７】
[0055]そのような事例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌは、デコーダが復号するように要求される大きい値を取り得る。また、無限に大きいシンタックス要素をパースすることは、図２および図３に関して以下でより詳細に説明されるように、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）エンジンにとって問題であり得る。たとえば、無制限の大きい値は、エスケープ再構成プロセス中にオーバーフローを生じ得る。本開示の技法は、ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの値を規範的に制限するために使用され得る。これは、たとえば、コンフォーマントビットストリームが、ある値よりも大きいｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌを含んでいないものとするか、または２値化の後にある数よりも大きい数のビンによって表されないものとするというビットストリーム制約によって定義され得る。他の例では、そのような制約は、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／またはエスケープ値、ならびに／あるいは他の形式のエスケープ値にも適用され得る。
【００４８】
[0056]本開示の他の態様は量子化パラメータ（ＱＰ）に関する。たとえば、ある値、たとえば、４よりも小さいＱＰの使用は、入力値が低減されるのではなく拡大されることを生じ得る。ＱＰがそのある値（上記の例では４）に等しいとき、名目上、対応する量子化器ステップサイズ（ｑＳｔｅｐ）は１に等しくなり得、これは、量子化プロセスが、それの入力値と同じ変更されていない値を出力することを意味する。ＱＰがある値、たとえば、４よりも小さいとき、入力値を量子化する代わりに、量子化プロセスは、入力値を拡大し、すなわち、それをｑＳｔｅｐ＜１で除算し得る。これは、（たとえば、（１つまたは複数の）入力値が変換係数であるときの）入力値の正確さを増加させるために使用され得る。しかしながら、１に等しいｑＳｔｅｐを用いたエスケープコード化ピクセルは、ひずみまたはエラーがない完全な精度の入力値をすでに表し得る。これらの事例では、精度をさらに高めることは、高められた正確さに関して改善をもたらさないことがある。これは、エスケープコード化ピクセルについてのみ起こるのではなく、変換スキップが使用されるとき、ある値、たとえば、４よりも小さいＱＰについても起こり得る。
【００４９】
[0057]本開示の例は、ＱＰのレンジに対する制限を備える。たとえば、より低いＱＰ値は、１のｑＳｔｅｐに名目上対応するＱＰ値にクリッピングされ得る。別の例では、より低いＱＰ値は、そのようなシナリオにおいて使用されるのを制限され得る。
【００５０】
[0058]図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指し得る。ビデオコーディングシステム１０のビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明される様々な例に従ってパレットベースビデオコーディングのための技法を実行するように構成され得るデバイスの例を表す。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、パレットベースコーディングまたは非パレットベースコーディングのいずれかを使用して、ＨＥＶＣコーディングにおけるＣＵまたはＰＵなど、ビデオデータの様々なブロックを選択的にコーディングするように構成され得る。非パレットベースコーディングモードは、ＨＥＶＣによって規定される様々なコーディングモードなど、様々なインター予測時間コーディングモードまたはイントラ予測空間コーディングモードを指し得る。
【００５１】
[0059]図１に示されているように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は符号化ビデオデータを生成する。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００５２】
[0060]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたるデバイスを備え得る。
【００５３】
[0061]宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。１つまたは複数の通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、ワイヤレスおよび／またはワイヤード通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）など、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００５４】
[0062]別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、たとえば、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００５５】
[0063]さらなる一例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。
【００５６】
[0064]宛先デバイス１４は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００５７】
[0065]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００５８】
[0066]図１に示されているビデオコーディングシステム１０は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（たとえば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスがデータを符号化し、メモリに記憶し得、および／またはビデオ復号デバイスがメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、単にメモリにデータを符号化し、および／またはメモリからデータを取り出し、復号するデバイスによって実行される。
【００５９】
[0067]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィクスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
【００６０】
[0068]ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータは、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上にも記憶され得る。
【００６１】
[0069]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信し得る。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。概して、ディスプレイデバイス３２は復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
【００６２】
[0070]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれも、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００６３】
[0071]本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリングすること」または「送信すること」に言及することがある。「シグナリングすること」または「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指すことがある。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
【００６４】
[0072]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、上記で述べられ、ＨＥＶＣに記載されているＨＥＶＣ規格など、ビデオ圧縮規格に従って動作する。ベースＨＥＶＣ規格に加えて、スケーラブルビデオコーディング、マルチビュービデオコーディング、およびＨＥＶＣのための３Ｄコーディング拡張、ならびにいわゆるレンジ拡張（ＲＥｘｔ：Range Extension）およびスクリーンコンテンツコーディング（ＳＣＣ：Screen Content Coding）がある。さらに、たとえば、本開示で説明されるようなパレットベースコーディングモードが、ＨＥＶＣ規格の拡張のために与えられ得る。いくつかの例では、パレットベースコーディングのための本開示で説明される技法が、ＩＴＵ−Ｔ−Ｈ．２６４／ＡＶＣ規格または将来の規格など、他のビデオコーディング規格に従って動作するように構成されたエンコーダおよびデコーダに適用され得る。したがって、ＨＥＶＣコーデックにおけるコーディングユニット（ＣＵ）または予測ユニット（ＰＵ）のコーディングのためのパレットベースコーディングモードの適用が、例として説明される。
【００６５】
[0073]ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCbおよびＳCrと示される３つのサンプルアレイを含み得る。ＳLはルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbはＣｂクロミナンスサンプルの２次元アレイである。ＳCrはＣｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００６６】
[0074]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。スライスは、ラスタスキャンにおいて連続的に順序付けられた整数個のＣＴＵを含み得る。
【００６７】
[0075]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するためにＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実行し得、したがって「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎブロックである。ＣＵは、ルーマサンプルアレイ、ＣｂサンプルアレイおよびＣｒサンプルアレイ、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を有するピクチャのルーマサンプルのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロックであり得る。ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロックとＣｂ予測ブロックとＣｒ予測ブロックとのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成し得る。
【００６８】
[0076]ビデオエンコーダ２０は、ＰＵのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいてＰＵの予測ブロックを生成し得る。
【００６９】
[0077]ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０は、ＰＵの予測ブロックを生成するために単予測または双予測を使用し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために単予測を使用するとき、ＰＵは単一の動きベクトル（ＭＶ：motion vector）を有し得る。ビデオエンコーダ２０が、ＰＵのための予測ブロックを生成するために双予測を使用するとき、ＰＵは２つのＭＶを有し得る。
【００７０】
[0078]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成した後に、ビデオエンコーダ２０は、ＣＵのためのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０はＣＵのためのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルとＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はＣＵのためのＣｒ残差ブロックをも生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルとＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００７１】
[0079]さらに、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロックとＣｂ残差ブロックとＣｒ残差ブロックとを１つまたは複数のルーマ変換ブロックとＣｂ変換ブロックとＣｒ変換ブロックとに分解するために４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロックとＣｂ変換ブロックとＣｒ変換ブロックとに関連し得る。ＴＵに関連付けられたルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。
【００７２】
[0080]ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するためにＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００７３】
[0081]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は、係数ブロックを量子化し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を実行し得る。ビデオエンコーダ２０は、エントロピー符号化シンタックス要素をビットストリーム中に出力し得る。
【００７４】
[0082]ビデオエンコーダ２０は、エントロピー符号化シンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含み得る。ビットストリームは、ネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットのシーケンスを備え得る。ＮＡＬユニットの各々はＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰはゼロビットを含む。
【００７５】
[0083]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ：picture parameter set）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットはＳＥＩのためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。
【００７６】
[0084]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ３０は、ビットストリームからシンタックス要素を復号するために、ビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するための処理は、概して、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックを決定するためにＰＵのＭＶを使用し得る。加えて、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換ブロックを再構成するために、変換係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのためのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００７７】
[0085]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、パレットベースコーディングを実行するように構成され得る。たとえば、パレットベースコーディングでは、上記で説明されたイントラ予測またはインター予測コーディング技法を実行するのではなく、ビデオエンコーダ２０およびビデオデコーダ３０は、特定のエリア（たとえば、所与のブロック）のビデオデータを表すための色のテーブルとして、いわゆるパレットをコーディングし得る。ブロック中の各ピクセルは、ピクセルの色を表すパレット中のエントリに関連付けられ得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ピクセル値をパレット中の適切な値に関係付けるインデックスをコーディングし得る。
【００７８】
[0086]上記の例では、ビデオエンコーダ２０は、ブロックについてのパレットを決定することと、各ピクセルの値を表すためのパレット中のエントリの位置を特定することと、ピクセル値をパレットに関係付けるピクセルについてのパレットインデックスを用いてパレットを符号化することとによって、ビデオデータのブロックを符号化し得る。ビデオデコーダ３０は、符号化ビットストリームから、ブロックについてのパレット、ならびにブロックのピクセルについてのパレットインデックスを取得し得る。ビデオデコーダ３０は、ブロックのピクセル値を再構成するために、ピクセルのパレットインデックスをパレットのエントリに関係付け得る。
【００７９】
[0087]上述のように、ビデオエンコーダ２０およびビデオデコーダ３０は、パレットのパレットインデックスをコーディングするために、いくつかの異なるパレットコーディングモードを使用し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ブロックのパレットインデックスをコーディングするために、エスケープモード、（コピーアバブモードとも呼ばれる）コピートップモード、あるいは（値モードまたは左モードとも呼ばれる）インデックスモードを使用し得る。概して、「エスケープモード」を使用してサンプルをコーディングすることは、概して、ブロックをコーディングするためのパレット中で表される対応する色を有しないことがあるブロックのサンプルをコーディングすることを指し得る。上述のように、そのようなサンプルは、エスケープサンプルまたはエスケープピクセルと呼ばれることがある。
【００８０】
[0088]エスケープシグナリングに関して、ビデオエンコーダ２０は、ブロックの特定のサンプル値について、追加のサンプルがエスケープサンプル（たとえば、ブロックをコーディングするためのパレット中で表される色値を有しないサンプル）としてコーディングされることを示すように、追加のパレットインデックスを表すデータを符号化し得る。ビデオエンコーダ２０はまた、エスケープサンプルの（１つまたは複数の）色値を符号化し得る。したがって、この例では、ビデオエンコーダ２０およびビデオデコーダ３０は、コピートップモードとインデックスモードとを区別するためにシンタックスをコーディングし得る。さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、次いで、コーディングされているピクセルのインデックス値に基づいて（たとえば、インデックス値がパレット中のＮ個のエントリ中に含まれるかどうか、またはインデックス値が追加のインデックスＮ＋１であるかどうかに基づいて）、エスケープコード化ピクセルとインデックスモード（またはコピートップモード）とを区別し得る。
【００８１】
[0089]エスケープモードの場合、ビデオエンコーダ２０はビットストリーム中でシグナリングし、ビデオデコーダ３０は、明示的にシグナリングされたピクセル値をビットストリーム中で受信する。いくつかの例では、本開示の態様によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、図５に関して以下で説明される技法など、エスケープピクセルコーディングのための本明細書で説明される技法の任意の組合せを実行するように構成され得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、シグナリングされるビットストリームエスケープピクセル値のための規範制限（normative restriction）を導入し得、さもなければ、無制限のときに構文解析問題を生じ得る。たとえば、ビデオエンコーダ２０は、１６個、３２個、または別の数のビンなど、最大ビット深度に基づいてエスケープピクセル値を符号化し得る。同様に、ビデオデコーダ３０は、ビットストリームからのエスケープ値をパースし、最大ビット深度に基づいてエスケープ値を復号し得る。他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／または他の形式のエスケープ値のための規範制限を導入し得る。
【００８２】
[0090]さらに、ビデオエンコーダ２０およびビデオデコーダ３０は、量子化パラメータを制限するように構成され得る。すなわち、以下でより詳細に説明されるように、ビデオエンコーダ２０およびビデオデコーダ３０は、エスケープピクセルをコーディングするためのＱＰを決定するとき、本開示の技法を実装し得る。
【００８３】
[0091]図２は、本開示の技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。図２は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【００８４】
[0092]ビデオエンコーダ２０は、本開示で説明される様々な例に従ってパレットベースビデオコーディングのための技法を実行するように構成され得るデバイスの一例を表す。たとえば、ビデオエンコーダ２０は、パレットベースコーディングまたは非パレットベースコーディングのいずれかを使用して、ＨＥＶＣコーディングにおけるＣＵまたはＰＵなど、ビデオデータの様々なブロックを選択的にコーディングするように構成され得る。非パレットベースコーディングモードは、ＨＥＶＣによって規定される様々なコーディングモードなど、様々なインター予測時間コーディングモードまたはイントラ予測空間コーディングモードを指し得る。ビデオエンコーダ２０は、一例では、ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロック中の少なくともいくつかのピクセルロケーションのピクセル値を表すためにパレット中のピクセル値を選択し、ビデオデータのブロック中のピクセルロケーションのうちの少なくともいくつかをパレット中の選択されたピクセル値にそれぞれ対応するパレット中のエントリに関連付ける情報をシグナリングするように構成され得る。シグナリングされた情報は、ビデオデータを復号するためにビデオデコーダ３０によって使用され得る。
【００８５】
[0093]図２の例では、ビデオエンコーダ２０は、予測処理ユニット１００と、ビデオデータメモリ１０１と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニットと、動き補償ユニットとを含む（図示せず）。ビデオエンコーダ２０は、本開示で説明されるパレットベースコーディング技法の様々な態様を実行するように構成された、パレットベース符号化ユニット１２２をも含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【００８６】
[0094]ビデオデータメモリ１０１は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ１０１に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。復号ピクチャバッファ１１６は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１０１および復号ピクチャバッファ１１６は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１０１は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
【００８７】
[0095]ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０はビデオデータのピクチャのスライス中の各ＣＴＵを符号化し得る。ＣＴＵの各々は、等しいサイズのルーマコーディングツリーブロック（ＣＴＢ：coding tree block）と、ピクチャの対応するＣＴＢとに関連し得る。ＣＴＵを符号化することの一部として、予測処理ユニット１００は、ＣＴＵのＣＴＢを徐々により小さいブロックに分割するために４分木区分を実行し得る。より小さいブロックはＣＵのコーディングブロックであり得る。たとえば、予測処理ユニット１００は、ＣＴＵに関連付けられたＣＴＢを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を４つの等しいサイズのサブブロックに区分し得、以下同様である。
【００８８】
[0096]ビデオエンコーダ２０は、ＣＵの符号化表現（すなわち、コーディングされたＣＵ）を生成するためにＣＴＵのＣＵを符号化し得る。ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの間でＣＵに関連付けられたコーディングブロックを区分し得る。したがって、各ＰＵは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連付けられ得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。上記のように、ＣＵのサイズはＣＵのルーマコーディングブロックのサイズを指すことがあり、ＰＵのサイズはＰＵのルーマ予測ブロックのサイズを指すことがある。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測のための２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、インター予測のための２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称ＰＵサイズとをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測のための２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。
【００８９】
[0097]インター予測処理ユニット１２０は、ＣＵの各ＰＵに対してインター予測を実行することによって、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、ＰＵの予測ブロックとＰＵのための動き情報とを含み得る。インター予測ユニット１２１は、ＰＵがＩスライス中にあるのか、Ｐスライス中にあるのか、Ｂスライス中にあるのかに応じて、ＣＵのＰＵに対して異なる動作を実行し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、インター予測ユニット１２１は、ＰＵに対してインター予測を実行しない。したがって、Ｉモードで符号化されたブロックの場合、予測ブロックは、同じフレーム内の前に符号化された隣接ブロックからの空間予測を使用して形成される。
【００９０】
[0098]ＰＵがＰスライス中にある場合、インター予測処理ユニット１２０の動き推定ユニットは、ＰＵの参照領域について参照ピクチャのリスト（たとえば、「ＲｅｆＰｉｃＬｉｓｔ０」）中の参照ピクチャを探索し得る。ＰＵのための参照領域は、ＰＵのサンプルブロックに最も密接に対応するサンプルブロックを含んでいる、参照ピクチャ内の領域であり得る。動き推定ユニットは、ＰＵのための参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す参照インデックスを生成し得る。さらに、動き推定ユニットは、ＰＵのコーディングブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示すＭＶを生成し得る。たとえば、ＭＶは、現在の復号ピクチャ中の座標から参照ピクチャ中の座標までのオフセットを与える２次元ベクトルであり得る。動き推定ユニットは、ＰＵの動き情報として、参照インデックスとＭＶとを出力し得る。インター予測処理ユニット１２０の動き補償ユニットは、ＰＵの動きベクトルによって示された参照ロケーションにおける実際のまたは補間されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００９１】
[0099]ＰＵがＢスライス中にある場合、インター予測処理ユニット１２０の動き推定ユニットは、ＰＵについての単予測または双予測を実行し得る。ＰＵについての単予測を実行するために、動き推定ユニットは、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０または第２の参照ピクチャリスト（「ＲｅｆＰｉｃＬｉｓｔ１」）の参照ピクチャを探索し得る。動き推定ユニットは、ＰＵの動き情報として、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、ＰＵの予測ブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示すＭＶと、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるのかＲｅｆＰｉｃＬｉｓｔ１中にあるのかを示す１つまたは複数の予測方向インジケータとを出力し得る。インター予測処理ユニット１２０の動き補償ユニットは、ＰＵの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【００９２】
[0100]ＰＵについての双方向インター予測を実行するために、動き推定ユニットは、ＰＵのための参照領域についてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索し得、ＰＵのための別の参照領域についてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャをも探索し得る。動き推定ユニットは、参照領域を含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照ピクチャインデックスを生成し得る。さらに、動き推定ユニットは、参照領域に関連付けられた参照ロケーションとＰＵのサンプルブロックとの間の空間変位を示すＭＶを生成し得る。ＰＵの動き情報は、ＰＵの参照インデックスとＭＶとを含み得る。インター予測処理ユニット１２０の動き補償ユニットは、ＰＵの動きベクトルによって示された参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、ＰＵの予測ブロックを生成し得る。
【００９３】
[0101]ビデオエンコーダ２０は、パレットベースコーディングを実行するように構成され得る。ＨＥＶＣフレームワークに関して、一例として、パレットベースコーディング技法は、コーディングユニット（ＣＵ）モードとして使用されるように構成され得る。他の例では、パレットベースコーディング技法は、ＨＥＶＣのフレームワーク中でＰＵモードとして使用されるように構成され得る。したがって、ＣＵモードのコンテキストにおいて（本開示全体にわたって）本明細書で説明される開示されるプロセスのすべてが、追加または代替として、ＰＵに適用され得る。しかしながら、これらのＨＥＶＣベースの例は、本明細書で説明されるパレットベースコーディング技法が、独立して、あるいは他の既存のまたはまだ開発されていないシステム／規格の一部として動作するように適用され得るので、そのような技法の制限または限定であると見なされるべきではない。これらの場合、パレットコーディングのためのユニットは、正方形ブロック、非正方形ブロック、矩形ブロック、さらには非矩形形状の領域であり得る。
【００９４】
[0102]パレットベース符号化ユニット１２２は、たとえば、パレットベース符号化モードが、たとえば、ＣＵまたはＰＵのために選択されるとき、パレットベース復号を実行し得る。たとえば、パレットベース符号化ユニット１２２は、ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロックの少なくともいくつかの位置のピクセル値を表すためにパレット中のピクセル値を選択し、ビデオデータのブロックの位置のうちの少なくともいくつかを選択されたピクセル値にそれぞれ対応するパレット中のエントリに関連付ける情報をシグナリングするように構成され得る。様々な機能が、パレットベース符号化ユニット１２２によって実行されるものとして説明されたが、そのような機能の一部または全部は、他の処理ユニット、または異なる処理ユニットの組合せによって実行され得る。
【００９５】
[0103]いくつかの例では、本開示の態様によれば、パレットベース符号化ユニット１２２は、ビットストリーム中でシグナリングされ得る、シグナリングされたビットストリームエスケープピクセル値（たとえば、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ）のための規範制限を導入するように構成され得る。この規範制限は、たとえば、コンフォーマントビットストリームが、ある値よりも大きいエスケープピクセル値、たとえば、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌを含んでいないことがあるか、またはエントロピーコーディング２値化、たとえば、ＣＡＢＡＣコーディングのための２値化の後にある数よりも大きい数のビンによって表されないことがあるというビットストリーム制約によって定義され得る。いくつかの例では、パレットベース符号化ユニット１２２は、本開示の技法が、以下で説明されるエントロピー符号化ユニット１１８を使用することを課し得る。
【００９６】
[0104]たとえば、ビンの数は、１６個または３２個以内のビンになるように、あるいは、概して、特定のビデオコーディングアーキテクチャがサポートすることができるビンの最大数になるように制限され得る。いくつかの例では、ビンの最大数は、コーディングされているビデオデータに関連付けられた特定のレベルまたはプロファイルに基づいて変動し得る。
【００９７】
[0105]ビットストリーム中でシグナリングされ得るエスケープピクセル値、たとえば、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値が制限されるとき、これは、シンタックス要素表現（たとえば、２値化）におけるビンの数に対する限定に対応し得る。別の例では、シンタックス要素表現におけるビンの数に対して限定を課することは、ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値に対する制限に対応する。
【００９８】
[0106]イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を実行することによって、ＰＵのための予測データを生成し得る。ＰＵのための予測データは、ＰＵのための予測ブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実行し得る。
【００９９】
[0107]ＰＵに対してイントラ予測を実行するために、イントラ予測処理ユニット１２６は、ＰＵのための予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット１２６は、ＰＵのための予測ブロックを生成するために隣接ＰＵのサンプルブロックからのサンプルを使用し得る。隣接ＰＵは、ＰＵ、ＣＵ、およびＣＴＵについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、たとえば、３３個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、ＰＵに関連付けられた領域のサイズに依存し得る。
【０１００】
[0108]予測処理ユニット１００は、ＰＵのためにインター予測処理ユニット１２０によって生成された予測データ、またはＰＵのためにイントラ予測処理ユニット１２６によって生成された予測データの中からＣＵのＰＵのための予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいてＣＵのＰＵのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれることがある。
【０１０１】
[0109]残差生成ユニット１０２は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックと、ＣＵのＰＵの選択された予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックとに基づいて、ＣＵのルーマ残差ブロックと、Ｃｂ残差ブロックと、Ｃｒ残差ブロックとを生成し得る。たとえば、残差生成ユニット１０２は、残差ブロック中の各サンプルが、ＣＵのコーディングブロック中のサンプルとＣＵのＰＵの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、ＣＵの残差ブロックを生成し得る。
【０１０２】
[0110]変換処理ユニット１０４は、ＣＵに関連付けられた残差ブロックをＣＵのＴＵに関連付けられた変換ブロックに区分するために、４分木区分を実行し得る。したがって、ＴＵは、ルーマ変換ブロックと２つのクロマ変換ブロックとに関連付けられ得る。ＣＵのＴＵのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、ＣＵのＰＵの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad-tree）として知られる４分木構造は、領域の各々に関連付けられたノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【０１０３】
[0111]変換処理ユニット１０４は、ＴＵの変換ブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための変換係数ブロックを生成し得る。変換処理ユニット１０４は、ＴＵに関連付けられた変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット１０４は変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
【０１０４】
[0112]量子化ユニット１０６は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。量子化ユニット１０６は、ＣＵに関連付けられた量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらし得、したがって、被量子化変換係数は、元の係数よりも低い精度を有し得る。いくつかの例では、本開示の態様によれば、量子化ユニット１０６は、エスケープピクセルのためのＱＰを決定するために、本明細書で説明される技法を適用し得る。
【０１０５】
[0113]逆量子化ユニット１０８および逆変換処理ユニット１１０は、係数ブロックから残差ブロックを再構成するために、それぞれ、係数ブロックに逆量子化および逆変換を適用し得る。再構成ユニット１１２は、ＴＵに関連付けられた再構成された変換ブロックを生成するために、再構成された残差ブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ブロックからの対応するサンプルに加算し得る。このようにＣＵの各ＴＵについて変換ブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構成し得る。
【０１０６】
[0114]フィルタユニット１１４は、ＣＵに関連付けられたコーディングブロック内のブロッキングアーティファクトを低減するために１つまたは複数のデブロッキング演算を実行し得る。復号ピクチャバッファ１１６は、フィルタユニット１１４が、再構成されたコーディングブロックに対して１つまたは複数のデブロッキング演算を実行した後に、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット１２０は、他のピクチャのＰＵに対してインター予測を実行するために、再構成されたコーディングブロックを含んでいる参照ピクチャを使用し得る。さらに、イントラ予測処理ユニット１２６は、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を実行するために、復号ピクチャバッファ１１６中の再構成されたコーディングブロックを使用し得る。
【０１０７】
[0115]エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１８は、エントロピー符号化データを生成するために、データに対して１つまたは複数のエントロピー符号化演算を実行し得る。たとえば、エントロピー符号化ユニット１１８は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）演算、ＣＡＢＡＣ演算、可変対可変（Ｖ２Ｖ：variable-to-variable）長コーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。ビデオエンコーダ２０は、エントロピー符号化ユニット１１８によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、ＣＵのための残差４分木（ＲＱＴ）を表すデータを含み得る。
【０１０８】
[0116]いくつかの例では、本開示の態様によれば、パレットベース符号化ユニット１２２および／またはエントロピー符号化ユニット１１８は、ビットストリーム中でシグナリングされ得る、シグナリングされたビットストリームエスケープピクセル値（たとえば、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ）のための規範制限を導入するように構成され得る。これは、たとえば、コンフォーマントビットストリームが、ある値よりも大きいｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌを含んでいないことがあるか、または２値化の後にある数よりも大きい数のビンによって表されないことがあるというビットストリーム制約によって定義され得る。たとえば、エンコーダ２０は、一例では１６個のビンに、または別の例では３２個に、あるいは、概して、特定のアーキテクチャがサポートすることができるビンの最大数にビンの数を制限し得る。したがって、エンコーダ２０は、ビンの特定の数よりも大きくない数を有するエスケープ値をシグナリングし得る。デコーダ３０は、説明された様式で制限されたビットストリームを受信するように構成され得、デコーダ３０は、エンコーダ２０によって課された制限に従ってビットストリームを復号し得る。
【０１０９】
[0117]ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値が制限されるとき、これは、シンタックス要素表現（２値化）におけるビンの数に対する限定に対応し得る。別の例では、シンタックス要素表現におけるビンの数に対して限定を課することは、ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値に対する制限に対応する。いくつかの態様がｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌに関して上記で説明されたが、本開示の１つまたは複数の態様による他の例では、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／または他の形式のエスケープ値に適用される制限が導入され得る。
【０１１０】
[0118]図３は、本開示の技法を実装するように構成された例示的なビデオデコーダ３０を示すブロック図である。図３は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１１１】
[0119]ビデオデコーダ３０は、本開示で説明される様々な例に従ってパレットベースビデオコーディングのための技法を実行するように構成され得るデバイスの一例を表す。たとえば、ビデオデコーダ３０は、パレットベースコーディングまたは非パレットベースコーディングのいずれかを使用して、ＨＥＶＣコーディングにおけるＣＵまたはＰＵなど、ビデオデータの様々なブロックを選択的に復号するように構成され得る。非パレットベースコーディングモードは、ＨＥＶＣによって規定される様々なコーディングモードなど、様々なインター予測時間コーディングモードまたはイントラ予測空間コーディングモードを指し得る。ビデオデコーダ３０は、一例では、（たとえば、ビットストリーム中のシグナリングされたまたは予測された情報に基づいて）ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロック中の少なくともいくつかのピクセルロケーションをパレット中のエントリに関連付ける情報を受信し、情報に基づいてパレット中のピクセル値を選択し、パレット中の選択されたピクセル値に基づいてブロックのピクセル値を再構成するように構成され得る。
【０１１２】
[0120]図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、ビデオデータメモリ１５１と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構成ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４と、イントラ予測処理ユニット１６６とを含む。ビデオデコーダ３０は、本開示で説明されるパレットベースコーディング技法の様々な態様を実行するように構成された、パレットベース復号ユニット１６５をも含む。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１１３】
[0121]ビデオデータメモリ１５１は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ１５１に記憶されるビデオデータは、たとえば、コンピュータ可読媒体から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ１５１は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ１６２は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ１５１および復号ピクチャバッファ１６２は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ１５１は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１１４】
[0122]たとえば、ビデオデータメモリ１５１によって形成されたコード化ピクチャバッファ（ＣＰＢ）は、ビットストリームの符号化ビデオデータ（たとえば、ＮＡＬユニット）を受信し、記憶し得る。エントロピー復号ユニット１５０は、ＣＰＢから符号化ビデオデータ（たとえば、ＮＡＬユニット）を受信し、シンタックス要素を復号するためにＮＡＬユニットをパースし得る。エントロピー復号ユニット１５０は、ＮＡＬユニット中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構成ユニット１５８、およびフィルタユニット１６０は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成し得る。
【０１１５】
[0123]ビットストリームのＮＡＬユニットはコード化スライスＮＡＬユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからシンタックス要素を抽出し、エントロピー復号し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたＰＰＳを識別するシンタックス要素を含み得る。
【０１１６】
[0124]ビットストリームからシンタックス要素を復号することに加えて、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を実行し得る。区分されていないＣＵに対して再構成演算を実行するために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構成演算を実行し得る。ＣＵの各ＴＵに対して再構成演算を実行することによって、ビデオデコーダ３０はＣＵの残差ブロックを再構成し得る。
【０１１７】
[0125]ＣＵのＴＵに対して再構成演算を実行することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた係数ブロックを逆量子化、すなわち、量子化解除し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、ＴＵのＣＵに関連付けられたＱＰ値を使用し得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるＱＰの値を調整することによって制御され得る。圧縮比はまた、採用されたエントロピーコーディングの方法に依存し得る。いくつかの例では、本開示の態様によれば、逆量子化ユニット１５４は、エスケープピクセルのためのＱＰを決定するために、本明細書で説明される技法を適用し得る。
【０１１８】
[0126]逆量子化ユニットが係数ブロックを逆量子化した後に、逆変換処理ユニット１５６は、ＴＵに関連付けられた残差ブロックを生成するために係数ブロックに１つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
【０１１９】
[0127]イントラ予測を使用してＰＵが符号化される場合、イントラ予測処理ユニット１６６は、ＰＵのための予測ブロックを生成するためにイントラ予測を実行し得る。イントラ予測処理ユニット１６６は、空間的に隣接するＰＵの予測ブロックに基づいてＰＵのための予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックを生成するためにイントラ予測モードを使用し得る。イントラ予測処理ユニット１６６は、ビットストリームから復号された１つまたは複数のシンタックス要素に基づいてＰＵのためのイントラ予測モードを決定し得る。
【０１２０】
[0128]予測処理ユニット１５２は、ビットストリームから抽出されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを構成し得る。さらに、ＰＵがインター予測を使用して符号化される場合、エントロピー復号ユニット１５０はＰＵのための動き情報を抽出し得る。動き補償ユニット１６４は、ＰＵの動き情報に基づいて、ＰＵのための１つまたは複数の参照領域を決定し得る。動き補償ユニット１６４は、ＰＵのための１つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、ＰＵのための予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックを生成し得る。
【０１２１】
[0129]再構成ユニット１５８は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを再構成するために、適用可能なとき、ＣＵのＴＵに関連付けられたルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック、ならびにＣＵのＰＵの予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロック、すなわち、イントラ予測データまたはインター予測データのいずれかを使用し得る。たとえば、再構成ユニット１５８は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを再構成するために、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックのサンプルを、予測ルーマブロック、予測Ｃｂブロックおよび予測Ｃｒブロックの対応するサンプルに加算し得る。
【０１２２】
[0130]フィルタユニット１６０は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を実行し得る。ビデオデコーダ３０は、ＣＵのルーマコーディングブロック、ＣｂコーディングブロックおよびＣｒコーディングブロックを復号ピクチャバッファ１６２に記憶し得る。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中のルーマブロック、ＣｂブロックおよびＣｒブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実行し得る。
【０１２３】
[0131]ビデオデコーダ３０は、パレットベースコーディングを実行するように構成され得る。パレットベース復号ユニット１６５は、たとえば、パレットベース復号モードが、たとえば、ＣＵまたはＰＵのために選択されるとき、パレットベース復号を実行し得る。たとえば、パレットベース復号ユニット１６５は、ピクセル値を示すエントリを有するパレットを生成し、ビデオデータのブロック中の少なくともいくつかのピクセルロケーションをパレット中のエントリに関連付ける情報を受信し、情報に基づいてパレット中のピクセル値を選択し、パレット中の選択されたピクセル値に基づいてブロックのピクセル値を再構成するように構成され得る。様々な機能が、パレットベース復号ユニット１６５によって実行されるものとして説明されたが、そのような機能の一部または全部は、他の処理ユニット、または異なる処理ユニットの組合せによって実行され得る。
【０１２４】
[0132]パレットベース復号ユニット１６５は、パレットコーディングモード情報を受信し、パレットコーディングモードがブロックに適用されることをパレットコーディングモード情報が示すとき、上記の動作を実行し得る。パレットコーディングモードがブロックに適用されないことをパレットコーディングモード情報が示すとき、または他のモード情報が異なるモードの使用を示すとき、予測処理ユニット１５２は、たとえば、ＨＥＶＣインター予測またはイントラ予測コーディングモードなど、非パレットベースコーディングモードを使用してビデオデータのブロックを復号する。ビデオデータのブロックは、たとえば、ＨＥＶＣコーディングプロセスに従って生成されるＣＵまたはＰＵであり得る。パレットベースコーディングモードは、複数の異なるパレットベースコーディングモードのうちの１つを備え得るか、または単一のパレットベースコーディングモードがあり得る。
【０１２５】
[0133]いくつかの例では、本開示の態様によれば、パレットベース復号ユニット１６５および／またはエントロピー復号ユニット１５０は、ビットストリーム中でシグナリングされ得る、シグナリングされたビットストリームエスケープピクセル値（たとえば、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ）のための規範制限（normative restriction）を導入するように構成され得る。これは、たとえば、コンフォーマントビットストリームが、ある値よりも大きいｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌを含んでいないことがあるか、または２値化の後にある数よりも大きい数のビンによって表されないことがあるというビットストリーム制約によって定義され得る。たとえば、ビンの数は、一例では１６個以内のビン、または別の例では３２個以内のビンになるように、あるいは、概して、特定のアーキテクチャがサポートすることができるビンの最大数になるように制限され得る。
【０１２６】
[0134]ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値が制限されるとき、これは、値のシンタックス要素表現（２値化）におけるビンの数に対する限定に対応し得る。別の例では、シンタックス要素表現におけるビンの数に対して限定を課することは、ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値に対する制限に対応する。
【０１２７】
[0135]ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌが最大許容値よりも大きいような事例では、ビデオデコーダ３０は、エラーが生じたと決定し得る。そのような例では、エラーをシグナリングするためのフラグが使用され得る。代替的に、さらなる実施形態では、デコーダ３０は、検出された状態を、バイト整合が失われていることがあるというインジケーションと見なし得、ビットストリーム中の後の位置におけるバイト整合の検出までのすべてのビットストリームデータを廃棄し得る。
【０１２８】
[0136]一例では、ビデオエンコーダ２０、パレットベース符号化ユニット１２２および／またはエントロピー符号化ユニット１１８は、ビットストリーム中でシグナリングされる色成分入力ビット深度に基づいて、エスケープピクセル値を符号化し得る。そのような例では、所与の色成分のためのエスケープ値は、両端値を含む、０〜（１＜＜ビット深度）−１のレンジ内に入るように制限され得る。この式では、ビット深度は、当該の色成分のためのビット深度であり得る。そのようなビット深度は、エンコーダに対する入力パラメータであり得、それは、エンコーダによって生成されたビットストリーム中のシーケンスパラメータセット（ＳＰＳ）中でシグナリングされるか、または別の方法で決定され得る。他の例では、ビデオエンコーダ２０は、エスケープピクセル値を、それらが、出力ビット深度（すなわち、入力ビット深度ではなく）に基づく、あるいは処理のためにエンコーダまたはデコーダによって使用される内部ビット深度に基づく最大値を超えないように符号化し得る。ビデオデコーダ３０、パレットベース復号ユニット１６５、および／またはエントロピー復号ユニット１５０は、ビットストリームを受信し、エスケープピクセル値のこの制限に基づいてビットストリームを復号し得る。
【０１２９】
[0137]別の例では、ビデオエンコーダ２０、パレットベース符号化ユニット１２２および／またはエントロピー符号化ユニット１１８は、１つまたは複数の色成分（たとえば、ルーマ色成分またはクロマ色成分）のためのコーデック（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）によってサポートされる最大ビット深度に対応する色成分ビット深度に基づいて、エスケープピクセル値を符号化し得る。そのような例では、ビット深度は、１つの色成分、あるいはスクリーンコンテンツコーディングプロファイルなど、あるプロファイル、および／またはいくつかのレベルのためのすべての色成分のための最大のサポートされるビット深度に対応し得る。ビデオデコーダ３０、パレットベース復号ユニット１６５、および／またはエントロピー復号ユニット１５０は、ビットストリームを受信し、エスケープピクセル値のそのような制限に基づいてビットストリームを復号し得る。いくつかの例が、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの値に対する制限を適用することおよび／または実施することに関して説明されてきたが、本開示の１つまたは複数の態様による他の例では、同様の制限が、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／または他の形式のエスケープ値に適用され得ることを理解されたい。
【０１３０】
[0138]他の例は、エスケープ値またはエスケープ値のための最大値に対する量子化の影響を考慮する。たとえば、ビデオエンコーダ２０および／または量子化ユニット１０６は、値を量子化ステップサイズ（ｑＳｔｅｐ）で除算し、次いで結果を丸めることによって、エスケープ値など、値を量子化し得る。ビデオデコーダ３０および逆量子化ユニット１５４は、そのような値にｑＳｔｅｐ値を乗算することによって、値を逆量子化し得る。ｑＳｔｅｐ値は、量子化パラメータの関数として決定される。しばしば、ｑＳｔｅｐ値は１よりも大きくなり得、したがって、量子化（たとえば、ｑＳｔｅｐで除算すること）は、エスケープ値など、量子化された値を表すために使用されるビット数を低減することになり得る。しかしながら、いくつかの量子化パラメータ値について、ｑＳｔｅｐは１よりも小さくなり得、このことは、量子化が、エスケープ値を表すために使用されるビット数を低減せず、むしろ、量子化が、エスケープ値を表すために使用されるビット数を拡大するかまたは増加させることを意味し得る。言い換えれば、ｑＳｔｅｐが１よりも小さい場合、値をｑＳｔｅｐで除算する量子化プロセスは、値に１よりも大きい数を事実上乗算している。
【０１３１】
[0139]したがって、他の例では、ビデオエンコーダ２０、パレットベース符号化ユニット１２２、エントロピー符号化ユニット１１８、および／または量子化ユニット１０６は、色成分ビット深度に基づくだけでなく、量子化パラメータにも基づいてエスケープピクセル値を符号化し得る。たとえば、ビデオエンコーダ２０、パレットベース符号化ユニット１２２および／またはエントロピー符号化ユニット１１８は、エスケープピクセル値のための最大値を決定し得、ここで、最大値は、成分ビット深度と量子化パラメータの両方に基づいて決定される。一例では、所与の色成分のためのエスケープ値を、両端値を含む、０〜（（１＜＜ビット深度−１）＊ｋのレンジ内に入るように制限することによって、１よりも小さいｑＳｔｅｐを用いた量子化から生じる増加された正確さが適応され得、ここで、ｋは、量子化パラメータおよび／またはｑＳｔｅｐ値に基づく拡大ファクタであり、ビット深度は、当該の色成分のための（または別の色成分のための、またはすべての色成分のための）ビット深度である。別の例では、所与の色成分のためのエスケープ値を、両端値を含む、０〜（（１＜＜ビット深度＋ｂ）−１）のレンジ内に入るように制限することによって、量子化から生じる増加された正確さが適応され得、ここで、ｂは、量子化パラメータおよび／またはｑＳｔｅｐ値に基づく拡大ファクタであり、ビット深度は、当該の色成分のための（または別の色成分のための、またはすべての色成分のための）ビット深度である。ビデオデコーダ３０、パレットベース復号ユニット１６５、エントロピー復号ユニット１５０、および／または逆量子化ユニット１５４は、ビットストリームを受信し、エスケープピクセル値の制限に基づいてビットストリームを復号し得る。
【０１３２】
[0140]他の例では、１よりも小さいｑＳｔｅｐを用いた量子化から生じる増加された正確さに適応するのではなく、ビデオエンコーダ２０および／または量子化ユニット１０６は、ｑＳｔｅｐ値が１以上であることを保証するために量子化パラメータの値を変更または制限し得る。上記で説明されたように、ｑＳｔｅｐが１よりも小さい場合、ビデオエンコーダ２０および／または量子化ユニット１０６による量子化は、量子化されている値の拡大を生じ得る。しかしながら、いくつかの場合には、ビットストリーム中でコーディングされたエスケープ値は、ひずみまたはエラーがない完全な精度のエスケープ値をすでに表し得る。したがって、１よりも小さいｑＳｔｅｐ値を用いてエスケープ値を量子化することは、完全な精度のエスケープ値がビットストリーム中ですでにコーディングされ得るので、逆効果であり得る。そのようなエスケープ値を拡大することは、コード成分値の増加された正確さに関する改善を与えないことがあり、ビットストリームサイズを望ましくなく増加させ得る。
【０１３３】
[0141]したがって、いくつかの例では、エスケープ値を符号化または復号するとき、ｑＳｔｅｐ値は、それが１以上になるように制限され得る。ｑＳｔｅｐ値は量子化パラメータ（ＱＰ）の関数であり得るので、そのような制限は、いくつかの例では、ＱＰのための下限を決定することによって実行され得、ここで、下限は１のｑＳｔｅｐ値に対応し、ここで、ＱＰのより高い値が、１よりも大きいｑＳｔｅｐ値に対応する。エスケープ値を符号化または復号するとき、ＱＰ値は、ＱＰ下限以上になるように制限され得る。言い換えれば、エスケープピクセルをコーディングするための量子化プロセスまたは逆量子化プロセスにおいてＱＰ値を使用する前に、下限よりも小さいＱＰ値は、下限に等しいように変更され、それにより、ｑＳｔｅｐが１以上であることを保証し得る。そのような例では、ビデオエンコーダ２０および／または量子化ユニット１０６は、変更されたＱＰを適用することによって、エスケープ値などの値を量子化し得、ビデオデコーダ３０および逆量子化ユニット１５４は、変更されたＱＰを適用することによって値を逆量子化し得る。
【０１３４】
[0142]別の例では、ビデオエンコーダ２０、パレットベース符号化ユニット１２２および／またはエントロピー符号化ユニット１１８は、エスケープピクセル値を、それらが、精度情報（たとえば、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ）に基づく、および色成分ビット深度にも基づく最大値に制限されるように符号化し得る。そのような例に対応する特定の例示的な計算が、以下でさらに説明される。ビデオデコーダ３０、パレットベース復号ユニット１６５および／またはエントロピー復号ユニット１５０は、ビットストリームを受信し、精度情報（たとえば、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ）に基づいて、および色成分ビット深度にも基づいて決定された最大値に従ってビットストリームを復号し得る。
【０１３５】
[0143]さらなる例では、エスケープ値は、変換係数として扱われ得、変換係数に課されるすべての制限が、エスケープ値の値を限定するために適用され得る。またさらなる例では、エスケープ値の２値化が、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇに基づいて制御され得る。ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇの値に応じて、エスケープ値の２値化は別様に導出され得る。異なる２値化プロセスに対応する特定の例が、以下でさらに説明される。
【０１３６】
[0144]図４は、本開示の技法に従って、ビデオデータをコーディングするためのパレットを決定することの一例を示す概念図である。図４の例は、第１のパレット１８４に関連付けられた第１のコーディングユニット（ＣＵ）１８０と第２のパレット１９２に関連付けられた第２のＣＵ１８８とを有するピクチャ１７８を含む。第１のＣＵ１８０および第２のＣＵ１８８は、パレットモード（ＰＡＬ）を使用してコーディングされる。以下でより詳細に説明されるように、および本開示の技法によれば、第２のパレット１９２は第１のパレット１８４に基づく。ピクチャ１７８は、イントラ予測コーディングモードを用いてコーディングされるブロック１９６と、インター予測コーディングモードを用いてコーディングされるブロック２００とをも含む。
【０１３７】
[0145]図４の技法は、ビデオエンコーダ２０（図１および図２）とビデオデコーダ３０（図１および図３）のコンテキストにおいて、説明の目的でＨＥＶＣビデオコーディング規格に関して、説明される。しかしながら、本開示の技法はこのように限定されず、他のビデオコーディングプロセスおよび／または規格において他のビデオコーディングプロセッサおよび／またはデバイスによって適用され得ることを、理解されたい。
【０１３８】
[0146]概して、パレットは、現在コーディングされているＣＵ、図４の例では第２のＣＵ１８８について支配的である、および／またはそのＣＵを表現する、いくつかのピクセル値を指す。第１のパレット１８４および第２のパレット１９２は、複数のパレットを含むものとして示されている。いくつかの例では、本開示の態様によれば、（ビデオエンコーダ２０またはビデオデコーダ３０などの）ビデオコーダは、ＣＵの各色成分について別々にパレットをコーディングし得る。たとえば、ビデオエンコーダ２０は、ＣＵのルーマ（Ｙ）成分のためのパレットと、ＣＵのクロマ（Ｕ）成分のための別のパレットと、ＣＵのクロマ（Ｖ）成分のためのまた別のパレットとを符号化し得る。この例では、ＹパレットのエントリはＣＵのピクセルのＹ値を表し得、ＵパレットのエントリはＣＵのピクセルのＵ値を表し得、ＶパレットのエントリはＣＵのピクセルのＶ値を表し得る。
【０１３９】
[0147]他の例では、ビデオエンコーダ２０は、ＣＵのすべての色成分について単一のパレットを符号化し得る。この例では、ビデオエンコーダ２０は、Ｙｉと、Ｕｉと、Ｖｉとを含む、トリプル値であるｉ番目のエントリを有するパレットを符号化し得る。この場合、パレットは、ピクセルの成分の各々についての値を含む。したがって、複数の個々のパレットを有するパレットのセットとしての第１のパレット１８４および第２のパレット１９２の表現は、一例にすぎず、限定することは意図されない。
【０１４０】
[0148]図４の例では、第１のパレット１８４の各々は、それぞれ、エントリインデックス値１、エントリインデックス値２、およびエントリインデックス値３を有する３つのエントリ２０２〜２０６を含む。エントリ２０２〜２０６は、それぞれ、ピクセル値Ａ、ピクセル値Ｂ、およびピクセル値Ｃを含むピクセル値に、インデックス値を関係付ける。本明細書で説明されるように、第１のＣＵ１８０の実際のピクセル値をコーディングするのではなく、（ビデオエンコーダ２０またはビデオデコーダ３０などの）ビデオコーダは、インデックス１〜３を使用してブロックのピクセルをコーディングするためにパレットベースコーディングを使用し得る。すなわち、第１のＣＵ１８０の各ピクセル位置について、ビデオエンコーダ２０はピクセルについてのインデックス値を符号化し得、ここで、インデックス値は、第１のパレット１８４のうちの１つまたは複数の中のピクセル値に関連付けられる。ビデオデコーダ３０は、ビットストリームからインデックス値を取得し、インデックス値と第１のパレット１８４のうちの１つまたは複数とを使用してピクセル値を再構成し得る。したがって、第１のパレット１８４は、パレットベース復号におけるビデオデコーダ３０による使用のために、符号化ビデオデータビットストリーム中でビデオエンコーダ２０によって送信される。
【０１４１】
[0149]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、第１のパレット１８４に基づいて第２のパレット１９２を決定し得る。たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０は、１つまたは複数のブロックの位置を特定し得、そのブロックから、予測パレット、この例では第１のパレット１８４が決定される。予測の目的で使用されているエントリの組合せは、予測子パレットと呼ばれることがある。
【０１４２】
[0150]図４の例では、第２のパレット１９２は、それぞれ、エントリインデックス値１、エントリインデックス値２、およびエントリインデックス値３を有する３つのエントリ２０８〜２１２を含む。エントリ２０８〜２１２は、それぞれ、ピクセル値Ａ、ピクセル値Ｂ、およびピクセル値Ｄを含むピクセル値に、パレットインデックスを関係付ける。この例では、ビデオエンコーダ２０は、（予測子パレットを表す、ただし、予測子パレットはいくつかのブロックのエントリを含み得る）第１のパレット１８４のどのエントリが第２のパレット１９２中に含まれるかを示す１つまたは複数のシンタックス要素をコーディングし得る。
【０１４３】
[0151]図４の例では、１つまたは複数のシンタックス要素は、ベクトル２１６として示される。ベクトル２１６は、いくつかの関連付けられたビン（またはビット）を有し、各ビンは、そのビンに関連付けられたパレット予測子が現在パレットのエントリを予測するために使用されるかどうかを示す。たとえば、ベクトル２１６は、第１のパレット１８４の最初の２つのエントリ（２０２および２０４）が、第２のパレット１９２中に含まれる（ベクトル２１６中の「１」の値）が、第１のパレット１８４の第３のエントリが、第２のパレット１９２中に含まれない（ベクトル２１６中の「０」の値）ことを示す。図４の例では、ベクトルは、ブールベクトルである。ベクトルはパレット予測ベクトルと呼ばれることがある。
【０１４４】
[0152]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、パレット予測を実行するとき、（パレット予測子テーブルと呼ばれることもある）パレット予測子リストを決定し得る。パレット予測子リストは、現在ブロックをコーディングするためのパレットの１つまたは複数のエントリを予測するために使用される１つまたは複数の隣接ブロックのパレットからのエントリを含み得る。ビデオエンコーダ２０およびビデオデコーダ３０は、同じ様式でリストを構成し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、パレット予測子リストのどのエントリが現在ブロックをコーディングするためのパレット中に含まれるべきであるかを示すために、（ベクトル２１６などの）データをコーディングし得る。
【０１４５】
[0153]図５は、本開示の技法に従って、ピクセルのブロックについてのパレットへのパレットインデックスを決定することの一例を示す概念図である。たとえば、図５は、パレットインデックスに関連付けられたピクセルのそれぞれの位置をパレット２４４のエントリに関係付けるパレットインデックスのマップ２４０を含む。たとえば、インデックス１が値Ａに関連付けられ、インデックス２が値Ｂに関連付けられ、インデックス３が値Ｃに関連付けられる。さらに、エスケープサンプルが暗黙的エスケープシグナリングを使用して示されるとき、ビデオエンコーダ２０およびビデオデコーダ３０はまた、インデックス４として図５に示されている追加のインデックスをパレット２４４に追加し得、これは、インデックス４に関連付けられたマップ２４０のサンプルがエスケープサンプルであることを示し得る。この場合、ビデオエンコーダ２０は、ピクセル値がパレット２４４中に含まれない場合、マップ２４０中の位置についての実際のピクセル値（またはそれの量子化バージョン）のインジケーションを符号化し得る（および、ビデオデコーダ３０は、符号化ビットストリームからそのインジケーションを取得し得る）。
【０１４６】
[0154]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、どのピクセル位置がパレットインデックスに関連付けられるかを示す追加のマップをコーディングするように構成され得る。たとえば、マップ中の（ｉ，ｊ）のエントリがＣＵの（ｉ，ｊ）の位置に対応すると仮定する。ビデオエンコーダ２０は、エントリが、関連付けられたインデックス値を有するかどうかを示す、マップの各エントリ（すなわち、各ピクセル位置）のための１つまたは複数のシンタックス要素を符号化し得る。たとえば、ビデオエンコーダ２０は、ＣＵ中の（ｉ，ｊ）のロケーションにおけるピクセル値がパレット２４４中の値のうちの１つであることを示すために、１の値を有するフラグを符号化し得る。そのような例では、ビデオエンコーダ２０はまた、パレット中のそのピクセル値を示し、ビデオデコーダがピクセル値を再構成することを可能にするために、（値１〜３として図５の例に示されている）パレットインデックスを符号化し得る。
【０１４７】
[0155]パレット２４４が単一のエントリと関連付けられたピクセル値とを含む事例では、ビデオエンコーダ２０は、インデックス値のシグナリングをスキップし得る。ビデオエンコーダ２０は、ＣＵ中の（ｉ，ｊ）のロケーションにおけるピクセル値がパレット２４４中の値のうちの１つではないことを示すために、０の値を有するようにフラグを符号化し得る。この例では、ビデオエンコーダ２０はまた、ピクセル値を再構成する際にビデオデコーダ３０によって使用するために、ピクセル値のインジケーションを符号化し得る。たとえば、ビデオエンコーダ２０はピクセル値を明示的にコーディングし得る。いくつかの事例では、ピクセル値は不可逆様式でコーディングされ得る。
【０１４８】
[0156]ＣＵの１つの位置におけるピクセルの値は、ＣＵの他の位置における１つまたは複数の他のピクセルの値のインジケーションを与え得る。たとえば、ＣＵの隣接ピクセル位置が、同じピクセル値を有するか、または（２つ以上のピクセル値が単一のインデックス値にマッピングされ得る、不可逆コーディングの場合）同じインデックス値にマッピングされ得る確率が比較的高くなり得る。
【０１４９】
[0157]したがって、ビデオエンコーダ２０は、一緒にコーディングされる、所与のスキャン順序での連続するピクセルまたはパレットインデックスの数を示す１つまたは複数のシンタックス要素を符号化し得る。上述のように、パレットインデックス（またはパレットインデックスによって示されるピクセル値）のストリングは、本明細書ではランと呼ばれることがある。ビデオデコーダ３０は、符号化ビットストリームからランを示すシンタックス要素を取得し、同じピクセル値またはインデックス値を有する連続するロケーションの数を決定するためにそのデータを使用し得る。
【０１５０】
[0158]上述のように、ランは、コピートップモードまたはインデックスモードとともに使用され得る。説明の目的のための一例では、マップ２４０の行２６４および２６８について考える。水平方向の左から右へのスキャン方向を仮定すると、行２６４は、「１」の３つのパレットインデックスと、「２」の２つのパレットインデックスと、「３」の３つのパレットインデックスとを含む。行２６８は、「１」の５つのパレットインデックスと、「３」の２つのパレットインデックスと、エスケープサンプルと呼ばれることがある（インデックス４によって表される）パレット２４４中に含まれない１つのサンプルとを含む。
【０１５１】
[0159]この例では、ビデオエンコーダ２０は、行２６８のためのデータを符号化するためにコピートップモードを使用し得る。たとえば、ビデオエンコーダ２０は、行２６８の第１の位置（行２６８の一番左の位置）が行２６４の第１の位置と同じであることを示す、１つまたは複数のシンタックス要素を符号化し得る。ビデオエンコーダ２０はまた、行２６８中のスキャン方向での２つの連続するエントリの次のランが行２６４の第１の位置と同じであることを示す、１つまたは複数のシンタックス要素を符号化し得る。
【０１５２】
[0160]（上述の）行２６４の第１の位置と２つのエントリのランとを示す１つまたは複数のシンタックス要素を符号化した後に、ビデオエンコーダ２０は、値モードを使用して、（左から右に）行２６８中の第４の位置と第５の位置とを符号化し得る。たとえば、ビデオエンコーダ２０は、第４の位置について１の値を示す１つまたは複数のシンタックス要素と、１のランを示す１つまたは複数のシンタックス要素とを符号化し得る（たとえば、値モード）。したがって、ビデオエンコーダ２０は、別のラインと無関係にこれらの２つの位置を符号化する。
【０１５３】
[0161]ビデオエンコーダ２０は、次いで、上の行２６４に対してコピートップモードを使用して、行２６８中の３のインデックス値を有する第１の位置を符号化し得る。たとえば、ビデオエンコーダ２０は、コピートップモードと１のランとをシグナリングし得る。したがって、ビデオエンコーダ２０は、たとえば、ランを使用して、ラインのピクセル値またはパレットインデックスをラインの他の値に対してコーディングすること、ラインのピクセル値またはパレットインデックスを別のライン（または列）の値に対してコーディングすること、あるいはそれらの組合せの間で選択し得る。ビデオエンコーダ２０は、いくつかの例では、この選択を行うために、レート／ひずみ最適化を実行し得る。
【０１５４】
[0162]ビデオエンコーダ２０は、次いで、（左から右に）行２６８の最終サンプルのためのエスケープサンプルを符号化し得、これはパレット２４４中に含まれない。たとえば、ビデオエンコーダ２０は、エスケープサンプルとして行２６８の最終位置を符号化し得る。すなわち、ビデオエンコーダ２０は、行２６８の最終位置がエスケープサンプル（たとえば、インデックス４）であるというインジケーション、ならびにサンプル値のインジケーションを符号化し得る。ビデオデコーダ３０は、符号化ビットストリームから上記で説明されたシンタックスを取得し、そのようなシンタックスを使用して行２６８を再構成し得る。
【０１５５】
[0163]一例では、エスケープサンプルをシグナリングまたはコーディングするために、ビデオエンコーダ２０およびビデオデコーダ３０は、パレット２４４に追加のインデックスを追加し得る（エントリインデックス４）。ビデオエンコーダ２０およびビデオデコーダ３０は、サンプルがエスケープサンプルとしてコーディングされることを示すために、パレット２４４への追加のインデックス、たとえば、インデックス４を使用し得る。しかしながら、追加のインデックスは、関連付けられた色値を有しない。そうではなく、ビデオエンコーダ２０およびビデオデコーダ３０はまた、追加のインデックスに関連付けられた各サンプルのための色値をコーディングする。サンプルがエスケープサンプルとしてコーディングされない場合、ビデオエンコーダ２０およびビデオデコーダ３０は、ｐａｌｅｔｔｅ＿ｍｏｄｅシンタックス要素など、モードがコピートップモードであるのかインデックスモードであるのかを示すためのデータをコーディングし得る。
【０１５６】
[0164]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータのブロックのすべてのサンプルについて、ブロックの少なくとも１つのサンプルが、ブロックのための色のパレット中に含まれていない色値に基づいてコーディングされるかどうかを示す、１つまたは複数のブロックレベルシンタックス要素をコーディングするように構成され得る。図５の例に関して、ビデオエンコーダ２０およびビデオデコーダ３０は、マップ２４０の少なくとも１つのサンプルが、エスケープサンプル、すなわち、行２６８の最終サンプルとしてコーディングされることを示す、マップ２４０に関連付けられた１つまたは複数のシンタックス要素をコーディングし得る。
【０１５７】
[0165]一例では、１つまたは複数のシンタックス要素は、ブロックレベルエスケープフラグであり得る。たとえば、ビデオエンコーダ２０は、マップ２４０が、エスケープサンプルとしてコーディングされるサンプルを含むことを示すための、１の値を有するエスケープフラグを符号化し得る。同様に、ビデオデコーダ３０は、マップ２４０が、エスケープサンプルとしてコーディングされるサンプルを含むことを示す、１の値を有するエスケープフラグを復号し得る。したがって、エスケープフラグに従って、ビデオエンコーダ２０はマップ２４０を符号化し得、ビデオデコーダ３０はマップ２４０を復号し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、インデックス４をパレット２４４に追加し得、インデックス４は、エスケープサンプルとしてコーディングされるサンプルを表すために使用され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、マップ２４０のコーディング中に、この追加のインデックスを使用し得る。
【０１５８】
[0166]一例として、ビデオデコーダ３０は、ビットストリームからのマップ２４０に関連付けられたパレットコード化ブロックのためのデータをパースし得る。ビデオデコーダ３０は、ブロック中の１つまたは複数のサンプルがエスケープピクセルとしてコーディングされ得るかどうかを示す、ブロックのためのブロックレベルエスケープフラグを復号し得る。ブロックレベルエスケープフラグが、エスケープサンプルとしてコーディングされるサンプルがあり得ることを示す場合、ビデオデコーダ３０は、パレット２４４にインデックス４を追加し得る。ビデオデコーダ３０はまた、他のサンプルのラン中でコーディングされないサンプル（たとえば、行２６４および行２６８に関して上記で説明されたものなど、明示的にコーディングされているサンプル）について、パレットコーディングモードを示す１つまたは複数のシンタックス要素（たとえば、ｐａｌｅｔｔｅ＿ｍｏｄｅフラグなど）を復号し得る。
【０１５９】
[0167]上記の例では、ビデオデコーダ３０はまた、サンプルのためのパレットインデックスを復号し得る。ビデオデコーダ３０は、復号されているサンプルのためのサンプル値をどのように復号すべきかを決定するために、復号されたパレットインデックスを使用し得る。たとえば、サンプルが４のインデックス（たとえば、エスケープサンプルに関連付けられたインデックス）を有する場合、ビデオデコーダ３０は、サンプルがエスケープコード化サンプルであると決定し得、サンプルのためのサンプル値を復号し得る。サンプルが４以外のインデックスを有する場合、ビデオデコーダ３０は、復号されたインデックスに基づいてパレット２４４から適切なサンプル値を決定し得る。ビデオデコーダ３０はまた、所与のスキャン順序で現在のサンプルとともにコーディングされている他のサンプルのランを示す１つまたは複数のシンタックス要素を復号し得る。ビデオデコーダ３０は、パレット２４４のサイズ、たとえば、４つのインデックスに等しい入力パラメータを有する切捨てバイナリコードを使用してインデックスを復号し得る。得られた切捨てバイナリコードは、プレフィックスとサフィックス（たとえば、末尾の１または０）とを含み得る。
【０１６０】
[0168]本開示の技法は、（たとえば、ビデオエンコーダ２０によって）ビットストリーム中で符号化されるか、または（たとえば、ビデオデコーダ３０によって）符号化ビットストリームから復号され得る、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの値を規範的に制限することを含み得る。この制限は、たとえば、コンフォーマントビットストリームが、ある値よりも大きいｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌを含んでいないものとするか、または２値化の後にある数よりも大きい数のビンによって表されないものとするというビットストリーム制約によって定義され得る。
【０１６１】
[0169]そのような制限は、シグナリングされるエスケープ値（すなわち、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ）にだけでなく、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／または他の形式のエスケープ値にも適用され得る。（再構成されたエスケープ値は、量子化エスケープ値に逆量子化を適用することによって決定され得る。）説明の目的で、値を制限するための１つまたは複数の技法が、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌまたは他の値に関して説明され得るが、同じまたは同様の技法が、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／またはエスケープ値など、他の量に適用され得る。したがって、所与の最大値に値を規範的に制限するための本明細書で説明される技法は、シグナリングされるエスケープ値（すなわち、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ）にだけでなく、量子化信号エスケープ値、再構成されたエスケープ値、非量子化エスケープ値、および／または他の形式のエスケープ値にも適用され得る。
【０１６２】
[0170]たとえば、ビンの数は、１６個以内の（すなわち、１６個よりも小さいかまたはそれに等しい）ビン、または３２個以内のビンになるように、あるいは、概して、特定のアーキテクチャがサポートすることができるビンの最大数になるように制限され得る。
【０１６３】
[0171]ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値が制限されるとき、これは、シンタックス要素表現（２値化）におけるビンの数に対する限定に対応する。代替的に、シンタックス要素表現におけるビンの数に対して限定を課することは、ビットストリーム中でシグナリングされ得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのための最大値に対する制限に対応する。
【０１６４】
[0172]ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌシンタックス要素の値は、たとえば、少なくとも、以下のうちの１つによって限定され得る。
【０１６５】
[0173]色成分ごとのシーケンスパラメータセット（ＳＰＳ）中でシグナリングされ得る入力ビット深度が知られているので、色成分の最大可能値も知られていることがある。色成分のこの最大可能値は、（１＜＜ｂｉｔＤｅｐｔｈ）−１として計算され得、ここで、ｂｉｔＤｅｐｔｈは色成分ビット深度であり、「＜＜」演算子は２の補数整数表現の算術左シフトを表す。再構成されたエスケープコード化サンプル色成分値は、両端値を含む、０から（１＜＜ｂｉｔＤｅｐｔｈ）−１の間にわたり得る。したがって、エスケープピクセルサンプル値の量子化表現であり得るｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌは、入力または再構成されたピクセル値と同じレンジ内にあるように制限され得る。言い換えれば、コンフォーマントビットストリームは、（１＜＜ｂｉｔＤｅｐｔｈ）−１よりも大きいｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ値を含んでいないことがあり、ここで、ｂｉｔＤｅｐｔｈは色成分入力ビット深度である。さらなる例では、ｂｉｔＤｅｐｔｈはまた、出力ビット深度、または処理のために使用される内部ビット深度であり得る。
【０１６６】
[0174]上記で説明されたものに加えて、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌのレンジは、たとえば、ＱＰ値が４よりも小さいとき、正確さの増加に適応するように拡張され得る。この場合、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ値のレンジは、０から（（１＜＜ｂｉｔＤｅｐｔｈ）−１）＊ｋの間で定義され得、ここで、ｋ（＞１）は拡大ファクタである。たとえば、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌは１／ｑＳｔｅｐ０として定義され得、ここで、ｑＳｔｅｐ０は、０に等しいＱＰのための量子化ステップである。代替例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌは、他のあらかじめ定義されたＱＰ値であり得る。
【０１６７】
[0175]別の例では、ＱＰが４よりも小さい場合など、いくつかのＱＰ値に関連付けられたレンジ増加は、表されたｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ値を、０から（１＜＜（ｂｉｔＤｅｐｔｈ＋ｂ））−１の間のレンジ内に制限することによって対処され得、ここで、ｂは、たとえば、１／ｑＳｔｅｐ０に関連付けられた正確さの増加を表す自然数である。一例では、ｂの値は１に等しく設定される。しかしながら、他の例では、ｂの値は別の値に設定される。
【０１６８】
[0176]代替的に、本開示の別の例では、エスケープサンプルに適用されるものと同様の量子化プロセスが、変換係数のために使用され得る。そのような例では、シンタックス要素ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌは、変換係数として扱われ得、変換係数に課される制限は、このシンタックス要素のシグナリングされる値を限定するために適用され得る。より詳細には、さらなる一例では、エスケープピクセルコーディングは、変換係数コーディングの変換スキップ部分に従うことができ、ここで、大きさに対する制限を含むこと、シグナリング、および随意に同じライスパラメータ適応を使用することを伴う２値化など、プロセスのすべての態様が借りられる。いくつかの例では、プロセスのいくつかの態様のみが借りられ、一例では、たとえば、大きさに対する制限のみが再利用される。別の例では、係数コーディングのために使用される２値化は、大きさ制限とともに使用される。固定ライスパラメータは、ライスパラメータの適応の代わりに使用され得る。別の例では、使用される固定ライスパラメータは３であり得る。代替例では、固定ライスパラメータは、３よりも大きくまたは小さくなり得る。
【０１６９】
[0177]一例では、変数Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎY、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎC、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘY、およびＰａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘCが、以下のように導出され得る。
【０１７０】
[0178]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎY＝−（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ ？ Ｍａｘ（１５，ＢｉｔＤｅｐｔｈＹ＋６）：１５））
【０１７１】
[0179]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎC＝−（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ ？ Ｍａｘ（１５，ＢｉｔＤｅｐｔｈＣ＋６）：１５））
【０１７２】
[0180]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘY＝（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ ？ Ｍａｘ（１５，ＢｉｔＤｅｐｔｈＹ＋６）：１５））−１
【０１７３】
[0181]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘC＝（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ ？ Ｍａｘ（１５，ＢｉｔＤｅｐｔｈＣ＋６）：１５））−１
【０１７４】
[0182]ここで、ステートメントｘ？ｙ：ｚは、ｘが真であるのか０に等しくないのかを表し、ステートメントはｙの値に対して評価し、さもなければ、ステートメントはｚの値に対して評価する。ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇは、拡張されたダイナミックレンジが使用されるとき、真に設定され、それが使用されないとき、偽に設定される。
【０１７５】
[0183]本開示の一例では、エンコーダ２０は、シンタックス要素ＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］の値を、０に等しいｃＩｄｘについて、両端値を含む、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎY〜Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘYのレンジ内にあるように、および０に等しくないｃＩｄｘについて、両端値を含む、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎC〜Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘCのレンジ内にあるように制約し得る。ＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］は、（現在パレット中のｉ番目の要素を指定する、ＣｕｒｒｅｎｔＰａｌｅｔｔｅＥｎｔｒｉｅｓ［ｃＩｄｘ］［ｉ］によって表されるアレイへのインデックスである、パレットインデックスを指定する）ＰａｌｅｔｔｅＩｎｄｅｘＭａｐ［ｘＣ］［ｙＣ］が、（現在コーディングユニットのためのパレットインデックスのための最大可能値を指定する）ＭａｘＰａｌｅｔｔｅＩｎｄｅｘに等しく、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが１に等しい、サンプルのエスケープ値を指定する。アレイインデックスｃＩｄｘは色成分を指定する。アレイインデックスｃＩｄｘは色成分を指定し得る。アレイインデックスｘＣおよびｙＣは、ピクチャの左上ルーマサンプルに対するサンプルのロケーション（ｘＣ，ｙＣ）を指定し得る。デコーダ３０は、エンコーダによって課された制約を受けたビットストリームを受信し得、デコーダ３０は、制約に基づいてＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］を再構成し得る。
【０１７６】
[0184]代替例では、エンコーダ２０は、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌまたはＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］のレンジを、両端値を含む、０から（１＜＜ｂｉｔＤｅｐｔｈＭａｘ）−１までのレンジに制限し得る。ｂｉｔＤｅｐｔｈＭａｘは、最大ビット深度、たとえば、ルーマ成分またはクロマ成分あるいはその両方についてコーデックによってサポートされる最大ビット深度、たとえば、８、９、１０、１１、１２、１３、１４、１５、１６など、ｂｉｔＤｅｐｔｈＭａｘ値であり得る。一例では、ｂｉｔＤｅｐｔｈＭａｘは、スクリーンコンテンツコーディング（ＳＣＣ）プロファイルなどのあるプロファイル、および／またはいくつかのレベルのためのすべての色成分の間の最大のサポートされるビット深度であり得る。別の例では、ｂｉｔＤｅｐｔｈＭａｘは常に１５に等しい。
【０１７７】
[0185]本開示のさらなる一例では、ＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］の値は、０に等しいｃＩｄｘについて、両端値を含む、０〜（１＜＜ｂｉｔｄｅｐｔｈＭａｘ）−１のレンジ内に、および０に等しくないｃＩｄｘについて、両端値を含む、０〜（１＜＜ｂｉｔｄｅｐｔｈＭａｘ）−１のレンジ内に制約され得る。
【０１７８】
[0186]代替例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌまたはＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］のレンジは、両端値を含む、０から（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ？Ｍａｘ（１５，ＢｉｔＤｅｐｔｈ＋６）：１５））−１までのレンジに制限される。レンジは、以下で定義されるビット深度およびｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇに基づき得る。
【０１７９】
[0187]変数Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎY、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎC、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘY、およびＰａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘCは、以下のように導出され得る。
【０１８０】
[0188]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎＹ＝０
【０１８１】
[0189]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎＣ＝  ０
【０１８２】
[0190]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘＹ＝（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ ？ Ｍａｘ（１５，ＢｉｔＤｅｐｔｈＹ＋６）：１５））−１
【０１８３】
[0191]
Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘＣ＝（１＜＜（ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇ？Ｍａｘ（１５，ＢｉｔＤｅｐｔｈＣ＋６）：１５））−１
【０１８４】
[0192]さらなる一例では、ＰａｌｅｔｔｅＥｓｃａｐｅＶａｌ［ｃＩｄｘ］［ｘＣ］［ｙＣ］の値は、０に等しいｃＩｄｘについて、両端値を含む、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎY〜Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘYのレンジ内に、および０に等しくないｃＩｄｘについて、両端値を含む、Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭｉｎC〜Ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌ＿ＭａｘCのレンジ内に制約され得る。
【０１８５】
[0193]さらなる代替例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの２値化は、下記のようにｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇに基づいて制御される。
【０１８６】
[0194]ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇが０に等しい一例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの２値化は、ｋ次指数ゴロム（ＥＧｋ：k-th order Exponential-Golomb）２値化プロセスを呼び出すことによって導出され得る。一例では、ｋは３に等しく設定され得る。代替例では、ｋは、任意の値、たとえば、０、１、２、３、４、５、６などに設定され得る。
【０１８７】
[0195]ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇが１に等しい一例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの２値化は、限定ｋ次ＥＧｋ２値化プロセスを呼び出すことによって導出される。例示的な例では、ｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌの２値化は、３に等しく設定された変数ｒｉｃｅＰａｒａｍと、色成分ｃＩｄｘとを用いて実行される。たとえば、利用される２値化プロセスは、Ｒａｊａｎ  Ｊｏｓｈｉら、「High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 4」ＪＣＴＶＣ−Ｕ１００５、ワルシャワ、ポーランド、２０１５年６月１９日〜６月２６日に記載されている、ｋ次指数ゴロム（ＥＧｋ）２値化プロセスおよび／または限定ｋ次指数ゴロム（ＥＧｋ）２値化プロセスであり得る。
【０１８８】
[0196]本開示のいくつかの例では、４よりも小さい量子化パラメータ（ＱＰ）が、値拡大の問題を提示し得る。そのような例では、ＱＰが４に等しいとき、名目上、対応する量子化器ステップサイズ（ｑＳｔｅｐ）は１に等しい。しかしながら、ＱＰが４よりも小さいとき、入力値を量子化する代わりに、量子化プロセスは、入力値を拡大している、すなわち、それをｑＳｔｅｐ＜１で除算している。これは、変換係数の正確さを増加させるために使用され得る。しかしながら、いくつかの例では、１に等しいｑＳｔｅｐを用いたエスケープコード化ピクセルは、ひずみまたはエラーがない完全な精度の入力値をすでに表す。したがって、そのような例では、さらなる拡大はメモリを浪費するにすぎないことがある。
【０１８９】
[0197]いくつかのＱＰ値に関連付けられた値拡大に対処し得る一例では、ＱＰ値が４よりも小さい一例では、ＱＰ値は、エスケープピクセルのための所望のＱＰ値レンジ内になるようにクリッピングされ得る。そのような例では、たとえば、この場合、量子化プロセスおよび逆量子化プロセスのために使用される所望のＱＰ値レンジの下限は、４に等しく設定され得る。したがって、エスケープピクセルコーディングまたは変換スキップのための量子化プロセスまたは逆量子化プロセスにおいてＱＰ値を使用する前に、最初に、ＱＰ値は、所望のＱＰレンジ内になるようにクリッピングされ得る。たとえば、０に等しいＱＰ値が使用される場合、ＱＰ値は、最初に、４の値にクリッピングされ得、その後、クリッピングされたＱＰ値は、関係するコーディングまたは復号プロセスにおいて使用される。８以外のビット深度について、４と等価と見なされ得るＱＰは、４−６＊（ｂｉｔＤｅｐｔｈ−８）によって指定され得ることに留意されたい。１０のビット深度について、ＱＰ値は、下から−８の値にクリッピングされ得る。一例では、より低いＱＰ値が、１のｑＳｔｅｐに名目上対応するＱＰ値にクリッピングされ得る。
【０１９０】
[0198]さらなる一例では、ＱＰレンジの制限はまた、変換スキップ、すなわち、変換処理ユニット１０４の変換ステップをバイパスするためのプロセスに適用可能である。
【０１９１】
[0199]図６は、本開示の１つまたは複数の態様による、エスケープピクセル値が制限される例示的な符号化プロセスを示すフローチャートである。図６のプロセスは、概して、説明の目的でビデオエンコーダ２０によって実行されるものとして説明されるが、様々な他のプロセッサのうちのいずれか１つまたは複数も、図６に示されているプロセスを行い得る。
【０１９２】
[0200]図６の例では、ビデオエンコーダ２０は、ビデオデータを符号化するためにパレットモードで使用されるエスケープ値のための最大値を決定し、ここにおいて、エスケープ値は、符号化されるべきビデオデータのブロック中のサンプルを表す（６０２）。たとえば、ビデオエンコーダ２０は、ルーマ成分またはクロマ成分のためのシグナリングされる入力ビット深度に基づいて、エスケープ値のための最大値を決定し得る。別の例では、ビデオエンコーダ２０は、エンコーダによってサポートされる最大ビット深度に基づいて、エスケープ値のための最大値を決定し得る。
【０１９３】
[0201]ビデオエンコーダ２０は、最大値よりも大きくならないように１つまたは複数のエスケープ値を制限する（６０４）。たとえば、ビデオエンコーダ２０は、シグナリングされたｐａｌｅｔｔｅ＿ｅｓｃａｐｅ＿ｖａｌに基づいて決定された再構成されたエスケープ値の値が、決定された最大値以下になるように、１つまたは複数のエスケープ値を規範的に制限し得る。ビデオエンコーダ２０は、符号化ビデオデータビットストリーム中でエスケープ値を符号化する（６０６）。
【０１９４】
[0202]図７は、本開示の１つまたは複数の態様による、エスケープピクセル値が制限される例示的な復号プロセスを示すフローチャートである。図７のプロセスは、概して、説明の目的でビデオデコーダ３０によって実行されるものとして説明されるが、様々な他のプロセッサのうちのいずれか１つまたは複数も、図７に示されているプロセスを行い得る。
【０１９５】
[0203]図７の例では、ビデオデコーダ３０は、ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信し、ここにおいて、ビットストリームは、復号されるべきビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む（７０２）。たとえば、ビデオデコーダ３０は、エスケープ値が、ルーマ成分またはクロマ成分のためのシグナリングされる入力ビット深度に基づいて決定された最大値よりも大きくならないように制約されたビットストリームを受信し得る。別の例では、ビデオデコーダ３０は、エスケープ値が、ビデオエンコーダ２０および／またはビデオデコーダ３０によってサポートされる最大ビット深度に基づいて決定された最大値よりも大きくならないように制約されたビットストリームを受信し得る。
【０１９６】
[0204]ビデオデコーダ３０は、少なくとも１つのエスケープ値を決定するための情報を使用して、ビデオデータのブロック中のサンプルを再構成する（７０４）。たとえば、ビデオデコーダ３０は、シグナリングされた最大ビット深度に基づいてビットストリームからエスケープ値を決定し、サンプルを再構成し得る。別の例では、ビデオデコーダ３０は、エンコーダおよび／またはデコーダによってサポートされる最大ビット深度に基づいて、ビットストリームからエスケープ値を決定し得る。
【０１９７】
[0205]図８は、本開示の１つまたは複数の態様による、下限が量子化パラメータに適用される例示的な符号化プロセスを示すフローチャートである。図８のプロセスは、概して、説明の目的でビデオエンコーダ２０によって実行されるものとして説明されるが、様々な他のプロセッサのうちのいずれか１つまたは複数も、図８に示されているプロセスを行い得る。
【０１９８】
[0206]図８の例では、ビデオエンコーダ２０は、ビデオデータのための量子化パラメータ値を決定する（８０２）。たとえば、ビデオエンコーダ２０は、ビデオエンコーダ２０によって使用される設定に基づいて、および／または符号化されるべきコンテンツに基づいて、量子化パラメータ値を決定し得る。
【０１９９】
[0207]ビデオエンコーダ２０は量子化パラメータ下限を決定する（８０４）。たとえば、ビデオエンコーダ２０は、１のｑＳｔｅｐに対応する量子化パラメータを決定し得、ビデオエンコーダ２０は、その量子化パラメータを下限として選定し得る。いくつかの例では、ビデオエンコーダ２０は、４の量子化パラメータを量子化パラメータのための下限として決定し得る。
【０２００】
[0208]ビデオエンコーダ２０は、量子化パラメータ値が量子化パラメータ下限よりも小さい場合、量子化パラメータ下限に従ってビデオデータを符号化するためにパレットモードで使用されるエスケープ値を量子化し、ここにおいて、エスケープ値は、符号化されるべきビデオデータのブロック中のサンプルを表す（８０６）。たとえば、下限が４であると決定された場合、ビデオエンコーダ２０は、４よりも小さい量子化パラメータが遭遇された場合、エスケープ値のための、または変換スキップのための量子化プロセスにおいて量子化パラメータを使用する前に、量子化パラメータを４の値に変更またはクリッピングし得る。ビデオエンコーダ２０は、符号化ビデオデータビットストリーム中でエスケープ値を符号化する（８０８）。
【０２０１】
[0209]図９は、本開示の１つまたは複数の態様による、下限が量子化パラメータに適用される例示的な復号プロセスを示すフローチャートである。図９のプロセスは、概して、説明の目的でビデオデコーダ３０によって実行されるものとして説明されるが、様々な他のプロセッサのうちのいずれか１つまたは複数も、図９に示されているプロセスを行い得る。
【０２０２】
[0210]図９の例では、ビデオデコーダ３０は、ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信し、ここにおいて、ビットストリームは、それが、少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される（９０２）。たとえば、ビデオデコーダ３０は、エスケープ値が、１のｑＳｔｅｐに対応する量子化パラメータ以上の量子化パラメータを用いて量子化されるように制約されたビットストリームを受信し得る。８に等しいビット深度値についてなど、いくつかの例では、量子化パラメータ下限は４であり得る。したがって、そのような例では、ビデオデコーダ３０は、エスケープ値が、４以上の量子化パラメータを用いて量子化されるように制約されたビットストリームを受信し得る。
【０２０３】
[0211]ビデオデコーダ３０は、制限に基づいてビットストリームから少なくとも１つのエスケープ値を決定する（９０４）。たとえば、ビデオデコーダ３０は、エスケープ値が、４以上の量子化パラメータを用いて量子化されるように制限されたビットストリームからエスケープ値を復号し得る。ビデオデコーダ３０は、少なくとも１つのエスケープ値を使用してビデオデータのサンプルを再構成する（９０６）。
【０２０４】
[0212]本明細書で説明されるプロセス、装置、および他の例または説明について、本明細書で説明される技法のいずれかに含まれるフローチャートまたは流れ図、いくつかの動作、行為、ステップ、あるいはイベントに含めることは、異なるシーケンスで実行され得、全体的に追加、マージ、または除外され得る（たとえば、すべての説明された行為またはイベントが本技法の実施のために必要であるとは限らない）。その上、いくつかの例では、動作、行為、ステップ、またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実行され得る。さらなるいくつかの動作、行為、ステップ、またはイベントが、自動的に実行されるものとして特に識別されない場合でも、自動的に実行され得る。また、自動的に実行されるものとして説明されたいくつかの動作、行為、ステップ、またはイベントは、代替的に、自動的に実行されないことがあり、むしろ、そのような動作、行為、ステップ、またはイベントは、いくつかの例では、入力または別のイベントに応答して実行され得る。
【０２０５】
[0213]上記例に応じて、本明細書で説明された技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行され得、全体的に追加、マージ、または除外され得る（たとえば、すべての説明された行為またはイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実行され得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニットによって実行されるものとして説明されたが、本開示の技法は、ビデオコーダに関連付けられたユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
【０２０６】
[0214]本開示のいくつかの態様は、説明の目的で、開発中のＨＥＶＣ規格に関して説明された。ただし、本開示で説明された技法は、まだ開発されていない他の規格またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
【０２０７】
[0215]上記で説明された技法は、その両方が一般にビデオコーダと呼ばれることがある、ビデオエンコーダ２０（図１および図２）および／またはビデオデコーダ３０（図１および図３）によって実行され得る。同様に、ビデオコーディングは、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
【０２０８】
[0216]技法の様々な態様の特定の組合せが上記で説明されたが、これらの組合せは、本開示で説明された技法の例を示すために与えたものにすぎない。したがって、本開示の技法は、これらの例示的な組合せに限定されるべきでなく、本開示で説明された技法の様々な態様の任意の考えられる組合せを包含し得る。
【０２０９】
[0217]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０２１０】
[0218]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２１１】
[0219]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０２１２】
[0220]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【図１】
2018532319.tif 000003
【図２】
2018532319.tif 000004
【図３】
2018532319.tif 000005
【図４】
2018532319.tif 000006
【図５】
2018532319.tif 000007
【図６】
2018532319.tif 000008
【図７】
2018532319.tif 000009
【図８】
2018532319.tif 000010
【図９】
2018532319.tif 000011
【手続補正書】
【提出日】平成30年5月16日(2018.5.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信すること、ここにおいて、前記最大値は、前記ビットストリーム中でシグナリングされた少なくとも成分ビット深度に基づき、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成することと
を備える、方法。
【請求項２】
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
請求項１に記載の方法。
【請求項３】
前記少なくとも１つのエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
請求項１に記載の方法。
【請求項４】
前記成分ビット深度は、色成分入力ビット深度である、
請求項１に記載の方法。
【請求項５】
シーケンスパラメータセット中でシグナリングされた前記成分ビット深度を受信することをさらに備える、
請求項１に記載の方法。
【請求項６】
前記最大値は、（１＜＜ｎ）−１に従って計算され、ｎは、前記成分ビット深度である、
請求項１に記載の方法。
【請求項７】
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは、整数である、
請求項１に記載の方法。
【請求項８】
ｂは、１に等しい、
請求項７に記載の方法。
【請求項９】
前記成分ビット深度は、デコーダによってサポートされる最大ビット深度である、
請求項１に記載の方法。
【請求項１０】
前記最大値は、少なくとも、成分ビット深度と量子化パラメータ値とに基づく、
請求項１に記載の方法。
【請求項１１】
前記最大値は、（（１＜＜ｎ）−１）＊ｋに従って計算され、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項１０に記載の方法。
【請求項１２】
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項１０に記載の方法。
【請求項１３】
前記最大値は、変換係数にも課される制限を前記エスケープ値に課することによって決定される、
請求項１に記載の方法。
【請求項１４】
前記最大値は、少なくとも、成分ビット深度と精度情報とに基づく、
請求項１に記載の方法。
【請求項１５】
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
請求項１４に記載の方法。
【請求項１６】
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することをさらに備える、
請求項１４に記載の方法。
【請求項１７】
ビデオデータを符号化する方法であって、
少なくとも成分ビット深度に基づいて、前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値のための最大値を決定すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
前記最大値よりも大きくならないように１つまたは複数のエスケープ値を制限することと、
符号化ビデオデータビットストリーム中で前記１つまたは複数のエスケープ値を符号化することと、
前記成分ビット深度をシグナリングすることと
を備える、方法。
【請求項１８】
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
請求項１７に記載の方法。
【請求項１９】
前記１つまたは複数のエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
請求項１７に記載の方法。
【請求項２０】
前記成分ビット深度は、色成分入力ビット深度である、
請求項１７に記載の方法。
【請求項２１】
シーケンスパラメータセット中で前記成分ビット深度をシグナリングすることをさらに備える、
請求項１７に記載の方法。
【請求項２２】
前記最大値を決定することは、
（１＜＜ｎ）−１に従って前記最大値を決定することを備え、ｎは、前記成分ビット深度である、
請求項１７に記載の方法。
【請求項２３】
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することを備え、ここにおいて、ｎが前記成分ビット深度であり、ｂは、整数である、
請求項１７に記載の方法。
【請求項２４】
ｂは、１に等しい、
請求項２３に記載の方法。
【請求項２５】
前記成分ビット深度は、エンコーダによってサポートされる最大ビット深度である、
請求項１７に記載の方法。
【請求項２６】
前記最大値を決定することは、
少なくとも、成分ビット深度と量子化パラメータ値とに基づいて、エスケープ値のための前記最大値を決定することを備える、
請求項１７に記載の方法。
【請求項２７】
前記最大値を決定することは、
（（１＜＜ｎ）−１）＊ｋに従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項２６に記載の方法。
【請求項２８】
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｂは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項２６に記載の方法。
【請求項２９】
前記最大値を決定することは、
変換係数にも課される制限を前記エスケープ値に課することを備える、
請求項１７に記載の方法。
【請求項３０】
前記最大値を決定することは、
少なくとも、成分ビット深度と精度情報とに基づいて、前記エスケープ値のための前記最大値を決定することを備える、
請求項１７に記載の方法。
【請求項３１】
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
請求項３０に記載の方法。
【請求項３２】
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することをさらに備える、
請求項３０に記載の方法。
【請求項３３】
ビデオデータを復号する方法であって、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信すること、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定することと、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成することと
を備える、方法。
【請求項３４】
前記少なくとも１つのエスケープ値は、復号されるべきビデオデータのブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
請求項３３に記載の方法。
【請求項３５】
前記量子化パラメータ下限は、１のｑＳｔｅｐ値に対応する、
請求項３３に記載の方法。
【請求項３６】
前記量子化パラメータ下限は、成分ビット深度に基づく、
請求項３３に記載の方法。
【請求項３７】
前記量子化パラメータ下限は、前記成分ビット深度が８であるときに４に等しい、
請求項３６に記載の方法。
【請求項３８】
ビデオデータを符号化する方法であって、
前記ビデオデータのための量子化パラメータ値を決定することと、
量子化パラメータ下限を決定することと、
前記量子化パラメータ値が前記量子化パラメータ下限よりも小さい場合、前記量子化パラメータ下限に従って前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値を量子化すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
符号化ビデオデータビットストリーム中で前記エスケープ値を符号化することと
を備える、方法。
【請求項３９】
前記エスケープ値は、前記ビデオデータの前記ブロックのサンプル値を表すために使用されるパレット中のエントリに関連付けられない、
請求項３８に記載の方法。
【請求項４０】
前記量子化パラメータ下限を決定することは、
１のｑＳｔｅｐ値に対応する前記量子化パラメータ下限を選定することを備える、
請求項３８に記載の方法。
【請求項４１】
前記量子化パラメータ下限を決定することは、
成分ビット深度に基づいて前記量子化パラメータ下限を決定することを備える、
請求項３８に記載の方法。
【請求項４２】
前記量子化パラメータ下限を決定することは、
前記成分ビット深度が８であるときに４に等しい前記量子化パラメータ下限を選定することを備える、
請求項４１に記載の方法。
【請求項４３】
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信すること、ここにおいて、前記最大値は、前記ビットストリーム中でシグナリングされた少なくとも成分ビット深度に基づき、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項４４】
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
請求項４３に記載の装置。
【請求項４５】
前記少なくとも１つのエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
請求項４３に記載の装置。
【請求項４６】
前記成分ビット深度は、色成分入力ビット深度である、
請求項４３に記載の装置。
【請求項４７】
前記１つまたは複数のプロセッサは、
シーケンスパラメータセット中でシグナリングされた前記成分ビット深度を受信することを行うようにさらに構成された、
請求項４３に記載の装置。
【請求項４８】
前記最大値は、（１＜＜ｎ）−１に従って計算され、ｎは、前記成分ビット深度である、
請求項４３に記載の装置。
【請求項４９】
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは整数である、
請求項４３に記載の装置。
【請求項５０】
ｂは、１に等しい、
請求項４９に記載の装置。
【請求項５１】
前記成分ビット深度は、デコーダによってサポートされる最大ビット深度である、
請求項４３に記載の装置。
【請求項５２】
前記最大値は、少なくとも、成分ビット深度と量子化パラメータ値とに基づく、
請求項４３に記載の装置。
【請求項５３】
前記最大値は、（（１＜＜ｎ）−１）＊ｋに従って計算され、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項５２に記載の装置。
【請求項５４】
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項５２に記載の装置。
【請求項５５】
前記最大値は、変換係数にも課される制限を前記エスケープ値に課することによって決定される、
請求項４３に記載の装置。
【請求項５６】
前記最大値は、少なくとも、成分ビット深度と精度情報とに基づく、
請求項４３に記載の装置。
【請求項５７】
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
請求項５６に記載の装置。
【請求項５８】
前記１つまたは複数のプロセッサは、
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することを行うようにさらに構成された、
請求項５６に記載の装置。
【請求項５９】
ビデオデータを符号化するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
少なくとも成分ビット深度に基づいて、前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値のための最大値を決定すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
前記最大値よりも大きくならないように１つまたは複数のエスケープ値を制限することと、
符号化ビデオデータビットストリーム中で前記１つまたは複数のエスケープ値を符号化することと、
前記成分ビット深度をシグナリングすることと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項６０】
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
請求項５９に記載の装置。
【請求項６１】
前記１つまたは複数のエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
請求項５９に記載の装置。
【請求項６２】
前記成分ビット深度は、色成分入力ビット深度である、
請求項５９に記載の装置。
【請求項６３】
前記１つまたは複数のプロセッサは、
シーケンスパラメータセット中で前記成分ビット深度をシグナリングすることを行うようにさらに構成された、
請求項５９に記載の装置。
【請求項６４】
前記最大値を決定することは、
（１＜＜Ｎ）−１に従って前記最大値を決定することを備え、ｎは、前記成分ビット深度である、
請求項５９に記載の装置。
【請求項６５】
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することを備え、ｎは、前記成分ビット深度であり、ｂが整数である、
請求項５９に記載の装置。
【請求項６６】
ｂは、１に等しい、
請求項６５に記載の装置。
【請求項６７】
前記成分ビット深度は、エンコーダによってサポートされる最大ビット深度である、
請求項５９に記載の装置。
【請求項６８】
前記最大値を決定することは、
少なくとも、成分ビット深度と量子化パラメータ値とに基づいて、エスケープ値のための前記最大値を決定することを備える、
請求項５９に記載の装置。
【請求項６９】
前記最大値を決定することは、
（（１＜＜ｎ）−１）＊ｋに従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
請求項６８に記載の装置。
【請求項７０】
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｂが、前記量子化パラメータ値に基づく拡大ファクタである、
請求項６８に記載の装置。
【請求項７１】
前記最大値を決定することは、
変換係数にも課される制限を前記エスケープ値に課することを備える、
請求項５９に記載の装置。
【請求項７２】
前記最大値を決定することは、
少なくとも、成分ビット深度と精度情報とに基づいて、前記エスケープ値のための前記最大値を決定することを備える、
請求項５９に記載の装置。
【請求項７３】
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
請求項７２に記載の装置。
【請求項７４】
前記１つまたは複数のプロセッサは、
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することを行うようにさらに構成された、
請求項７２に記載の装置。
【請求項７５】
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信すること、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定することと、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項７６】
前記少なくとも１つのエスケープ値は、復号されるべきビデオデータのブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
請求項７５に記載の装置。
【請求項７７】
前記量子化パラメータ下限は、１のｑＳｔｅｐ値に対応する、
請求項７５に記載の装置。
【請求項７８】
前記量子化パラメータ下限は、成分ビット深度に基づく、
請求項７５に記載の装置。
【請求項７９】
前記量子化パラメータ下限は、前記成分ビット深度が８であるときに４に等しい、
請求項７８に記載の装置。
【請求項８０】
ビデオデータを符号化するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのための量子化パラメータ値を決定することと、
量子化パラメータ下限を決定することと、
前記量子化パラメータ値が前記量子化パラメータ下限よりも小さい場合、前記量子化パラメータ下限に従って前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値を量子化すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
符号化ビデオデータビットストリーム中で前記エスケープ値を符号化することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項８１】
前記エスケープ値は、前記ビデオデータの前記ブロックのサンプル値を表すために使用されるパレット中のエントリに関連付けられない、
請求項８０に記載の装置。
【請求項８２】
前記量子化パラメータ下限を決定することは、
１のｑＳｔｅｐ値に対応する前記量子化パラメータ下限を選定することを備える、
請求項８０に記載の装置。
【請求項８３】
前記量子化パラメータ下限を決定することは、
成分ビット深度に基づいて前記量子化パラメータ下限を決定することを備える、
請求項８０に記載の装置。
【請求項８４】
前記量子化パラメータ下限を決定することは、
前記成分ビット深度が８であるときに４に等しい前記量子化パラメータ下限を選定することを備える、
請求項８３に記載の装置。
【請求項８５】
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信するための手段、ここにおいて、前記最大値は、前記ビットストリーム中でシグナリングされた少なくとも成分ビット深度に基づき、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成するための手段と
を備える、装置。
【請求項８６】
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信するための手段、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定するための手段と、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成するための手段と
を備える、装置。
【請求項８７】
実行されたとき、１つまたは複数のプロセッサに、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信すること、ここにおいて、前記最大値は、前記ビットストリーム中でシグナリングされた少なくとも成分ビット深度に基づき、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成することと
を行わせる命令を記憶した非一時的コンピュータ可読媒体。
【請求項８８】
実行されたとき、１つまたは複数のプロセッサに、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信すること、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定することと、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成することと
を行わせる命令を記憶した非一時的コンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２１２
【補正方法】変更
【補正の内容】
【０２１２】
[0220]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信すること、ここにおいて、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成することと
を備える、方法。
［Ｃ２］
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
［Ｃ１］に記載の方法。
［Ｃ３］
前記少なくとも１つのエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ１］に記載の方法。
［Ｃ４］
前記最大値は、少なくとも成分ビット深度に基づく、
［Ｃ１］に記載の方法。
［Ｃ５］
前記成分ビット深度は、色成分入力ビット深度である、
［Ｃ４］に記載の方法。
［Ｃ６］
前記ビットストリーム中でシグナリングされた前記成分ビット深度を受信することをさらに備える、
［Ｃ４］に記載の方法。
［Ｃ７］
シーケンスパラメータセット中でシグナリングされた前記成分ビット深度を受信することをさらに備える、
［Ｃ４］に記載の方法。
［Ｃ８］
前記最大値は、（１＜＜ｎ）−１に従って計算され、ｎは、前記成分ビット深度である、
［Ｃ４］に記載の方法。
［Ｃ９］
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは、整数である、
［Ｃ４］に記載の方法。
［Ｃ１０］
ｂは、１に等しい、
［Ｃ９］に記載の方法。
［Ｃ１１］
前記成分ビット深度は、デコーダによってサポートされる最大ビット深度である、
［Ｃ４］に記載の方法。
［Ｃ１２］
前記最大値は、少なくとも、成分ビット深度と量子化パラメータ値とに基づく、
［Ｃ１］に記載の方法。
［Ｃ１３］
前記最大値は、（（１＜＜ｎ）−１）＊ｋに従って計算され、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ１２］に記載の方法。
［Ｃ１４］
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ１２］に記載の方法。
［Ｃ１５］
前記最大値は、変換係数にも課される制限を前記エスケープ値に課することによって決定される、
［Ｃ１］に記載の方法。
［Ｃ１６］
前記最大値は、少なくとも、成分ビット深度と精度情報とに基づく、
［Ｃ１］に記載の方法。
［Ｃ１７］
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
［Ｃ１６］に記載の方法。
［Ｃ１８］
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することをさらに備える、
［Ｃ１６］に記載の方法。
［Ｃ１９］
ビデオデータを符号化する方法であって、
前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値のための最大値を決定すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
前記最大値よりも大きくならないように１つまたは複数のエスケープ値を制限することと、
符号化ビデオデータビットストリーム中で前記１つまたは複数のエスケープ値を符号化することと
を備える、方法。
［Ｃ２０］
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
［Ｃ１９］に記載の方法。
［Ｃ２１］
前記１つまたは複数のエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ１９］に記載の方法。
［Ｃ２２］
前記最大値を決定することは、
少なくとも成分ビット深度に基づいて、エスケープ値のための前記最大値を決定することを備える、
［Ｃ１９］に記載の方法。
［Ｃ２３］
前記成分ビット深度は、色成分入力ビット深度である、
［Ｃ２２］に記載の方法。
［Ｃ２４］
前記成分ビット深度をシグナリングすることをさらに備える、
［Ｃ２２］に記載の方法。
［Ｃ２５］
シーケンスパラメータセット中で前記成分ビット深度をシグナリングすることをさらに備える、
［Ｃ２２］に記載の方法。
［Ｃ２６］
前記最大値を決定することは、
（１＜＜ｎ）−１に従って前記最大値を決定することを備え、ｎは、前記成分ビット深度である、
［Ｃ２２］に記載の方法。
［Ｃ２７］
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することを備え、ここにおいて、ｎが前記成分ビット深度であり、ｂは、整数である、
［Ｃ２２］に記載の方法。
［Ｃ２８］
ｂは、１に等しい、
［Ｃ２３］に記載の方法。
［Ｃ２９］
前記成分ビット深度は、エンコーダによってサポートされる最大ビット深度である、
［Ｃ２２］に記載の方法。
［Ｃ３０］
前記最大値を決定することは、
少なくとも、成分ビット深度と量子化パラメータ値とに基づいて、エスケープ値のための前記最大値を決定することを備える、
［Ｃ１９］に記載の方法。
［Ｃ３１］
前記最大値を決定することは、
（（１＜＜ｎ）−１）＊ｋに従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ３０］に記載の方法。
［Ｃ３２］
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｂは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ３０］に記載の方法。
［Ｃ３３］
前記最大値を決定することは、
変換係数にも課される制限を前記エスケープ値に課することを備える、
［Ｃ１９］に記載の方法。
［Ｃ３４］
前記最大値を決定することは、
少なくとも、成分ビット深度と精度情報とに基づいて、前記エスケープ値のための前記最大値を決定することを備える、
［Ｃ１９］に記載の方法。
［Ｃ３５］
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
［Ｃ３４］に記載の方法。
［Ｃ３６］
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することをさらに備える、
［Ｃ３４］に記載の方法。
［Ｃ３７］
ビデオデータを復号する方法であって、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信すること、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定することと、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成することと
を備える、方法。
［Ｃ３８］
前記少なくとも１つのエスケープ値は、復号されるべきビデオデータのブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ３７］に記載の方法。
［Ｃ３９］
前記量子化パラメータ下限は、１のｑＳｔｅｐ値に対応する、
［Ｃ３７］に記載の方法。
［Ｃ４０］
前記量子化パラメータ下限は、成分ビット深度に基づく、
［Ｃ３７］に記載の方法。
［Ｃ４１］
前記量子化パラメータ下限は、前記成分ビット深度が８であるときに４に等しい、
［Ｃ４０］に記載の方法。
［Ｃ４２］
ビデオデータを符号化する方法であって、
前記ビデオデータのための量子化パラメータ値を決定することと、
量子化パラメータ下限を決定することと、
前記量子化パラメータ値が前記量子化パラメータ下限よりも小さい場合、前記量子化パラメータ下限に従って前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値を量子化すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
符号化ビデオデータビットストリーム中で前記エスケープ値を符号化することと
を備える、方法。
［Ｃ４３］
前記エスケープ値は、前記ビデオデータの前記ブロックのサンプル値を表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ４２］に記載の方法。
［Ｃ４４］
前記量子化パラメータ下限を決定することは、
１のｑＳｔｅｐ値に対応する前記量子化パラメータ下限を選定することを備える、
［Ｃ４２］に記載の方法。
［Ｃ４５］
前記量子化パラメータ下限を決定することは、
成分ビット深度に基づいて前記量子化パラメータ下限を決定することを備える、
［Ｃ４２］に記載の方法。
［Ｃ４６］
前記量子化パラメータ下限を決定することは、
前記成分ビット深度が８であるときに４に等しい前記量子化パラメータ下限を選定することを備える、
［Ｃ４５］に記載の方法。
［Ｃ４７］
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信すること、ここにおいて、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
［Ｃ４８］
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
［Ｃ４７］に記載の装置。
［Ｃ４９］
前記少なくとも１つのエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ４７］に記載の装置。
［Ｃ５０］
前記最大値は、少なくとも成分ビット深度に基づく、
［Ｃ４７］に記載の装置。
［Ｃ５１］
前記成分ビット深度は、色成分入力ビット深度である、
［Ｃ５０］に記載の装置。
［Ｃ５２］
前記１つまたは複数のプロセッサは、
前記ビットストリーム中でシグナリングされた前記成分ビット深度を受信することを行うようにさらに構成された、
［Ｃ５０］に記載の装置。
［Ｃ５３］
前記１つまたは複数のプロセッサは、
シーケンスパラメータセット中でシグナリングされた前記成分ビット深度を受信することを行うようにさらに構成された、
［Ｃ５０］に記載の装置。
［Ｃ５４］
前記最大値は、（１＜＜ｎ）−１に従って計算され、ｎは、前記成分ビット深度である、
［Ｃ５０］に記載の装置。
［Ｃ５５］
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは整数である、
［Ｃ５０］に記載の装置。
［Ｃ５６］
ｂは、１に等しい、
［Ｃ５５］に記載の装置。
［Ｃ５７］
前記成分ビット深度は、デコーダによってサポートされる最大ビット深度である、
［Ｃ５０］に記載の装置。
［Ｃ５８］
前記最大値は、少なくとも、成分ビット深度と量子化パラメータ値とに基づく、
［Ｃ４７］に記載の装置。
［Ｃ５９］
前記最大値は、（（１＜＜ｎ）−１）＊ｋに従って計算され、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ５８］に記載の装置。
［Ｃ６０］
前記最大値は、（１＜＜（ｎ＋ｂ））−１に従って計算され、ｎは、前記成分ビット深度であり、ｂは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ５８］に記載の装置。
［Ｃ６１］
前記最大値は、変換係数にも課される制限を前記エスケープ値に課することによって決定される、
［Ｃ４７］に記載の装置。
［Ｃ６２］
前記最大値は、少なくとも、成分ビット深度と精度情報とに基づく、
［Ｃ４７］に記載の装置。
［Ｃ６３］
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
［Ｃ６２］に記載の装置。
［Ｃ６４］
前記１つまたは複数のプロセッサは、
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することを行うようにさらに構成された、
［Ｃ６２］に記載の装置。
［Ｃ６５］
ビデオデータを符号化するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値のための最大値を決定すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
前記最大値よりも大きくならないように１つまたは複数のエスケープ値を制限することと、
符号化ビデオデータビットストリーム中で前記１つまたは複数のエスケープ値を符号化することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
［Ｃ６６］
前記パレットモードで使用される前記エスケープ値は、前記ビットストリーム中でシグナリングされたエスケープ値を備える、
［Ｃ６５］に記載の装置。
［Ｃ６７］
前記１つまたは複数のエスケープ値は、前記ビデオデータの前記ブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ６５］に記載の装置。
［Ｃ６８］
前記最大値を決定することは、
少なくとも成分ビット深度に基づいて、エスケープ値のための前記最大値を決定することを備える、
［Ｃ６５］に記載の装置。
［Ｃ６９］
前記成分ビット深度は、色成分入力ビット深度である、
［Ｃ６８］に記載の装置。
［Ｃ７０］
前記１つまたは複数のプロセッサは、
前記成分ビット深度をシグナリングすることを行うようにさらに構成された、
［Ｃ６８］に記載の装置。
［Ｃ７１］
前記１つまたは複数のプロセッサは、
シーケンスパラメータセット中で前記成分ビット深度をシグナリングすることを行うようにさらに構成された、
［Ｃ６８］に記載の装置。
［Ｃ７２］
前記最大値を決定することは、
（１＜＜Ｎ）−１に従って前記最大値を決定することを備え、ｎは、前記成分ビット深度である、
［Ｃ６８］に記載の装置。
［Ｃ７３］
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することを備え、ｎは、前記成分ビット深度であり、ｂが整数である、
［Ｃ６８］に記載の装置。
［Ｃ７４］
ｂは、１に等しい、
［Ｃ７３］に記載の装置。
［Ｃ７５］
前記成分ビット深度は、エンコーダによってサポートされる最大ビット深度である、
［Ｃ６８］に記載の装置。
［Ｃ７６］
前記最大値を決定することは、
少なくとも、成分ビット深度と量子化パラメータ値とに基づいて、エスケープ値のための前記最大値を決定することを備える、
［Ｃ６５］に記載の装置。
［Ｃ７７］
前記最大値を決定することは、
（（１＜＜ｎ）−１）＊ｋに従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｋは、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ７６］に記載の装置。
［Ｃ７８］
前記最大値を決定することは、
（１＜＜（ｎ＋ｂ））−１に従って前記最大値を決定することをさらに備え、ｎは、前記成分ビット深度であり、ｂが、前記量子化パラメータ値に基づく拡大ファクタである、
［Ｃ７６］に記載の装置。
［Ｃ７９］
前記最大値を決定することは、
変換係数にも課される制限を前記エスケープ値に課することを備える、
［Ｃ６５］に記載の装置。
［Ｃ８０］
前記最大値を決定することは、
少なくとも、成分ビット深度と精度情報とに基づいて、前記エスケープ値のための前記最大値を決定することを備える、
［Ｃ６５］に記載の装置。
［Ｃ８１］
前記精度情報は、ｅｘｔｅｎｄｅｄ＿ｐｒｅｃｉｓｉｏｎ＿ｐｒｏｃｅｓｓｉｎｇ＿ｆｌａｇを含む、
［Ｃ８０］に記載の装置。
［Ｃ８２］
前記１つまたは複数のプロセッサは、
少なくとも前記精度情報に基づいて、指数ゴロム２値化プロセスを呼び出すことによって前記エスケープ値の２値化を導出することを行うようにさらに構成された、
［Ｃ８０］に記載の装置。
［Ｃ８３］
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信すること、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定することと、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
［Ｃ８４］
前記少なくとも１つのエスケープ値は、復号されるべきビデオデータのブロック中のサンプルを表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ８３］に記載の装置。
［Ｃ８５］
前記量子化パラメータ下限は、１のｑＳｔｅｐ値に対応する、
［Ｃ８３］に記載の装置。
［Ｃ８６］
前記量子化パラメータ下限は、成分ビット深度に基づく、
［Ｃ８３］に記載の装置。
［Ｃ８７］
前記量子化パラメータ下限は、前記成分ビット深度が８であるときに４に等しい、
［Ｃ８６］に記載の装置。
［Ｃ８８］
ビデオデータを符号化するように構成された装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのための量子化パラメータ値を決定することと、
量子化パラメータ下限を決定することと、
前記量子化パラメータ値が前記量子化パラメータ下限よりも小さい場合、前記量子化パラメータ下限に従って前記ビデオデータを符号化するためにパレットモードで使用されるエスケープ値を量子化すること、ここにおいて、前記エスケープ値は、符号化されるべき前記ビデオデータのブロック中のサンプルを表す、と、
符号化ビデオデータビットストリーム中で前記エスケープ値を符号化することと
を行うように構成された１つまたは複数のプロセッサと
を備える、装置。
［Ｃ８９］
前記エスケープ値は、前記ビデオデータの前記ブロックのサンプル値を表すために使用されるパレット中のエントリに関連付けられない、
［Ｃ８８］に記載の装置。
［Ｃ９０］
前記量子化パラメータ下限を決定することは、
１のｑＳｔｅｐ値に対応する前記量子化パラメータ下限を選定することを備える、
［Ｃ８８］に記載の装置。
［Ｃ９１］
前記量子化パラメータ下限を決定することは、
成分ビット深度に基づいて前記量子化パラメータ下限を決定することを備える、
［Ｃ８８］に記載の装置。
［Ｃ９２］
前記量子化パラメータ下限を決定することは、
前記成分ビット深度が８であるときに４に等しい前記量子化パラメータ下限を選定することを備える、
［Ｃ９１］に記載の装置。
［Ｃ９３］
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信するための手段、ここにおいて、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成するための手段と
を備える、装置。
［Ｃ９４］
ビデオデータを復号するように構成された装置であって、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信するための手段、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定するための手段と、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成するための手段と
を備える、装置。
［Ｃ９５］
実行されたとき、１つまたは複数のプロセッサに、
前記ビデオデータを復号するためにパレットモードで使用されるエスケープ値が最大値よりも大きくならないように制約されたビットストリームを受信すること、ここにおいて、前記ビットストリームは、復号されるべき前記ビデオデータのブロック中のサンプルを表す少なくとも１つのエスケープ値を決定するための情報を含む、と、
前記少なくとも１つのエスケープ値を決定するための前記情報を使用して、前記ビデオデータの前記ブロック中の前記サンプルを再構成することと
を行わせる命令を記憶した非一時的コンピュータ可読媒体。
［Ｃ９６］
実行されたとき、１つまたは複数のプロセッサに、
前記ビデオデータを復号するためにパレットモードで使用される少なくとも１つのエスケープ値を決定するための情報を含むビットストリームを受信すること、ここにおいて、前記ビットストリームは、前記少なくとも１つのエスケープ値が、量子化パラメータ下限以上である量子化パラメータに従って量子化されることを保証する制限に準拠するように制約される、と、
前記制限に基づいて前記ビットストリームから前記少なくとも１つのエスケープ値を決定することと、
前記少なくとも１つのエスケープ値を使用して前記ビデオデータのサンプルを再構成することと
を行わせる命令を記憶した非一時的コンピュータ可読媒体。
【国際調査報告】
2018532319.tif 000012
2018532319.tif 000013
2018532319.tif 000014
2018532319.tif 000015
2018532319.tif 000016