(57)【特許請求の範囲】
【請求項１】
ビデオ復号プロセスにおいて係数を復号する方法であって、
残差ビデオデータの係数のブロックを決定することと、
変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
係数の前記ブロック中の係数の少なくとも１つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示を復号することと、ここにおいて、前記所定の値は０，１、又は２に等しい、
ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも１つのための前記係数レベルの残りの絶対値を復号することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を復号した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第１のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第１のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第２のプロセスとは異なる、
前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のための係数レベルの残りの絶対値を復号することと、
を備える、方法。
【請求項２】
係数の前記ブロックが前記変換ブロックに含まれる係数グループ（ＣＧ）を備え、ここにおいて前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記ＣＧの中の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、前記次の係数のために前記係数レベルの前記残りの絶対値を復号することは、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ内の前記次の係数のための前記係数レベルの前記残りの絶対値を復号すること備える、請求項１に記載の方法。
【請求項３】
係数の前記ブロックが、前記変換ブロックに含まれる次の係数グループ（ＣＧ）を備え、前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換ブロック内の次のＣＧのために前記ライスパラメータの前記値を初期化することを備え、前記次の係数のための前記係数レベルの前記残りの絶対値を復号することは、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを用いて前記次のＣＧ内の前記次の係数のための前記係数レベルの前記残りの絶対値を復号することを備える、請求項１に記載の方法。
【請求項４】
前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、変換が係数の前記ブロックを含む前記変換ブロックに適用されないことを決定することに応答して、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて係数の前記ブロック内の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と前記係数の前記少なくとも１つのための前記係数レベルの前記絶対値とに基づいて決定される、請求項１に記載の方法。
【請求項５】
前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで任意の整数値だけ増加させる、
請求項４に記載の方法。
【請求項６】
前記変数増分は、前記係数の前記少なくとも１つのための前記係数レベルの前記絶対値の右にシフトされたバージョンに基づいて決定され、右シフトの量は前記ライスパラメータの前記値に基づいている、請求項４に記載の方法。
【請求項７】
前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの１つである、請求項４に記載の方法。
【請求項８】
前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、前記ライスパラメータの前記値及び前記係数の前記少なくとも１つの係数のための前記係数レベルの前記絶対値に基づいて係数の前記ブロックの中の前記次の係数のために前記ライスパラメータの前記値を減少することを備える、請求項１に記載の方法。
【請求項９】
前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、係数の前記ブロック中の前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を復号した後に前記ライスパラメータの前記値に基づいて前記変換ブロックの中の係数の次のブロックのために前記ライスパラメータの前記値を初期化することを含む、請求項１に記載の方法。
【請求項１０】
前記変換が前記変換ブロックに適用されないことを決定することは、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又は前記変換ブロックのためのパラメータセット中のプロファイルセットのうちの少なくとも１つを決定することを備える、請求項１に記載の方法。
【請求項１１】
ビデオ符号化プロセスにおいて係数を符号化する方法であって、
残差ビデオデータの係数のブロックを決定することと、
変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
係数の前記ブロック中の係数の少なくとも１つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示を符号化することと、ここにおいて、前記所定の値は０，１、又は２に等しい、
前記係数について、及びライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも１つの前記係数レベルの残りの絶対値を符号化することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
前記係数の前記少なくとも１つの前記係数レベルの前記残りの絶対値を復号した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第１のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第１のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第２のプロセスとは異なる、
前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のための係数レベルの残りの絶対値を復号することと、
を備える、方法。
【請求項１２】
係数の前記ブロックが前記変換ブロックに含まれる係数グループ（ＣＧ）を備え、ここにおいて前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記ＣＧの中の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、前記次の係数のために前記係数レベルの前記残りの絶対値を符号化することは、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ内の前記次の係数のために前記係数レベルの前記残りの絶対値を符号化すること備える、請求項１１に記載の方法。
【請求項１３】
係数の前記ブロックが、前記変換ブロックに含まれる次の係数グループ（ＣＧ）を備え、前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換ブロック内の次のＣＧのために前記ライスパラメータの前記値を初期化することを備え、前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することは、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを用いて前記次のＣＧ内の前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することを備える、請求項１１に記載の方法。
【請求項１４】
前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、変換が係数の前記ブロックを含む前記変換ブロックに適用されないことを決定することに応答して、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて係数の前記ブロック内の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と前記係数の前記少なくとも１つのための前記係数レベルの前記絶対値とに基づいて決定される、請求項１１に記載の方法。
【請求項１５】
前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで任意の整数値だけ増加させる、請求項１４に記載の方法。
【請求項１６】
前記変数増分は、前記係数の前記少なくとも１つのための前記係数レベルの前記絶対値の右にシフトされたバージョンに基づいて決定され、右シフトの量は前記ライスパラメータの前記値に基づいている、請求項１４に記載の方法。
【請求項１７】
前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの１つである、請求項１４に記載の方法。
【請求項１８】
前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、前記ライスパラメータの前記値及び符号化されている前記係数のための前記係数レベルの前記絶対値に基づいて係数の前記ブロックの中の前記次の係数のために前記ライスパラメータの前記値を減少することを備える、請求項１１に記載の方法。
【請求項１９】
前記第１のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、係数の前記ブロック中の前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を符号化した後に前記ライスパラメータの前記値に基づいて前記変換ブロックの中の係数の次のブロックのために前記ライスパラメータの前記値を初期化することを含む、請求項１１に記載の方法。
【請求項２０】
前記変換が前記変換ブロックに適用されないことを決定することは、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又は前記変換ブロックのためのパラメータセット中のプロファイルセットのうちの少なくとも１つを決定することを備える、請求項１１に記載の方法。
【請求項２１】
ビデオデータを格納するように構成されるメモリと、
１つ以上のプロセッサと、前記プロセッサは、
残差ビデオデータの係数のブロックを決定することと、
変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
係数の前記ブロック中の係数の少なくとも１つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示をコード化することと、ここにおいて、前記所定の値は０，１、又は２に等しい、
ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも１つの前記係数レベルの残りの絶対値をコード化することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
前記係数の前記少なくとも１つに対して前記係数レベルの前記残りの絶対値をコード化した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第１のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第１のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第２のプロセスとは異なる、
前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のために係数レベルの残りの絶対値をコード化することと、
を行うように構成される、ビデオコード化機器。
【請求項２２】
前記ビデオコード化機器は、ビデオ復号機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ（ＣＧ）を備え、ここにおいて前記プロセッサは、
前記ライスパラメータによって定義されるゴロムコードを用いて前記ＣＧの中の前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を復号することと、
前記変換が前記ＣＧを含む前記変換ブロックに適用されないことに基づいて前記ライスパラメータの前記値を更新することと、
前記ライスパラメータの更新された前記値によって定義される前記ゴロムコードを用いて前記ＣＧの中の前記次の係数のための前記係数レベルの前記残りの絶対値を復号することと、
を行うように構成される、請求項２１に記載の機器。
【請求項２３】
前記ビデオコード化機器は、ビデオ符号化機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ（ＣＧ）を備え、ここにおいて前記プロセッサは、
前記ライスパラメータによって定義される前記ゴロムコードを用いて前記ＣＧの中の前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を符号化することと、
前記変換が前記ＣＧを含む前記変換ブロックに適用されないことに基づいて前記ライスパラメータの前記値を更新することと、
前記ライスパラメータの更新された前記値によって定義されるゴロムコードを用いて前記ＣＧの中の前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することと、
を行うように構成される、請求項２１に記載の機器。
【請求項２４】
前記ビデオコード化機器は、ビデオ復号機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ（ＣＧ）を備え、ここにおいて前記プロセッサは、
前記ライスパラメータによって定義される前記ゴロムコードを用いて前記ＣＧの中の前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を復号することと、
前記変換が前記ＣＧを含む前記変換ブロックに適用されないことに基づいて前記変換ブロック内の次のＣＧのために前記ライスパラメータの前記値を初期化することと、
前記ライスパラメータの更新された前記値によって定義されるゴロムコードを用いて前記次のＣＧの中の前記次の係数のための前記係数レベルの前記残りの絶対値を復号することと、
を行うように構成される、請求項２１に記載の機器。
【請求項２５】
前記ビデオコード化機器は、ビデオ符号化機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ（ＣＧ）を備え、ここにおいて前記プロセッサは、
前記ライスパラメータによって定義される前記ゴロムコードを用いて前記ＣＧの中の前記係数の前記少なくとも１つのための前記係数レベルの前記残りの絶対値を符号化することと、
前記変換が前記ＣＧを含む前記変換ブロックに適用されないことに基づいて前記変換ブロック内の次のＣＧのために前記ライスパラメータの前記値を初期化することと、
前記ライスパラメータの更新された前記値によって定義されるゴロムコードを用いて前記次のＣＧの中の前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することと、
を備える、請求項２１に記載の機器。
【請求項２６】
前記プロセッサは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの前記決定に応答して、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小の選択に基づいて係数の前記ブロック内の前記次の係数のために前記ライスパラメータの値を更新するように構成され、前記変数増分が前記ライスパラメータの前記値及び前記係数の前記少なくとも１つのための前記係数レベルの前記絶対値に基づいて決定される、請求項２１に記載の機器。
【請求項２７】
前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで任意の整数値だけ増加させる、請求項２６に記載の機器。
【請求項２８】
前記変数増分は、前記係数の前記少なくとも１つのために前記係数レベルの前記絶対値の右にシフトされたバージョンに基づいて決定され、右シフトの量は前記ライスパラメータの前記値に基づいている、請求項２６に記載の機器。
【請求項２９】
前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの１つである、請求項２６に記載の機器。
【請求項３０】
前記プロセッサは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないことの前記決定に応答して、前記ライスパラメータの前記値及び前記係数の前記少なくとも１つのための前記係数のレベルの前記絶対値に基づいて前記ライスパラメータの前記値を減少するように構成される、請求項２１に記載の機器。
【請求項３１】
前記プロセッサは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないことの前記決定に応答して、係数の前記ブロック内の前記係数の前記少なくとも１つのために前記係数レベルの前記残りの絶対値をコード化した後に前記ライスパラメータの前記値に基づいて前記変換ブロックの中の係数の次のブロックのために前記ライスパラメータの前記値を初期化するように構成される、請求項２１に記載の機器。
【請求項３２】
前記変換が前記変換ブロックに適用されないことを決定するために、前記プロセッサは、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又は前記変換ブロックのためのパラメータセット中のプロファイルセットのうちの少なくとも１つを決定するように構成される、請求項２１に記載の機器。
【請求項３３】
残差ビデオデータの係数のブロックを決定するための手段と、
変換が係数の変換ブロックに適用されないことを決定するための手段と、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
係数の前記ブロック中の係数の少なくとも１つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示をコード化するための手段と、ここにおいて、前記所定の値は０，１、又は２に等しい、
ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも１つの前記係数レベルの残りの絶対値をコード化するための手段と、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
前記係数の前記少なくとも１つの前記係数レベルの前記残りの絶対値をコード化した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第１のプロセスに従って前記ライスパラメータの値を調整するための手段と、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第１のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第２のプロセスとは異なる、
前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のための係数レベルの残りの絶対値をコード化するための手段と、
を備える、ビデオコード化機器。
【請求項３４】
ビデオコード化機器の１つ以上のプロセッサによって実行されると、前記プロセッサに
残差ビデオデータの係数のブロックを決定することと、
変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
係数の前記ブロック中の係数の少なくとも１つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示をコード化することと、ここにおいて、前記所定の値は０，１、又は２に等しい、
ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも１つに対して前記係数レベルの残りの絶対値をコード化することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
前記係数の前記少なくとも１つの前記係数レベルの前記残りの絶対値をコード化した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第１のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第１のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第２のプロセスとは異なる、
前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のために係数レベルの残りの絶対値をコード化することと、
を行わせる命令を備える、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１３年４月１２日に出願された米国仮特許出願第６１／８１１，６３２号、２０１３年６月７日に出願された米国仮特許出願第６１／８３２，６５２号、２０１３年７月１２日に出願された米国仮特許出願第６１／８４５，８５０号、及び２０１４年３月１４日に出願された米国仮特許出願第６１／９５３，６４７号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコード化に関し、より詳細には、変換係数をコード化するための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信、受信及び記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、高度ビデオコード化（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を含む。ブロックベースのビデオコード化の場合、ビデオスライス、即ち、ビデオフレーム又はビデオフレームの一部分）がブロックに区分され得る。ピクチャのイントラコード化された（Ｉ）スライス中のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。インターコード化された（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化されたブロックと予測ブロックとの差分を示す残差データとに従って符号化される。イントラコード化されたブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するために特定の順序で走査され得、なお一層の圧縮を達成するためにエントロピーコード化が適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示では、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明する。特に、本開示では、係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明し、ここで、有意な係数、１よりも大きい係数レベル、及び２よりも大きい係数レベルの指示をコード化するためにコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）が使用される。幾つかの例では、本技法は、高効率ビデオコード化（ＨＥＶＣ）規格のための範囲拡張における係数レベルコード化のためのライスパラメータ更新に適用され得る。ライスパラメータによって定義されるゴロムコードは、係数グループ（ＣＧ：coefficient group）、即ち、係数のブロック中の少なくとも１つの係数のための係数レベルの残りの絶対値をコード化するために使用され得る。ＣＧは、変換単位（ＴＵ）の変換ブロック内に存在し得る。
【０００７】
[0007]本開示の技法によれば、ライスパラメータの値は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて更新される。変数増分の量は、ライスパラメータの値と、コード化されている現在の係数のための係数レベルの絶対値とに基づいて決定される。本開示で説明されるライスパラメータ更新方式は、ライスパラメータが、ＣＧ中の係数のための係数レベルの残りの絶対値をコード化する過程中に自然コンテンツとスクリーンコンテンツとの間で迅速及び効率的に適応することを可能にする。
【０００８】
[0008]更に、本開示では、ＣＧを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するための技法について説明する。本技法によれば、変換ブロックに変換が適用されない場合、即ち、変換スキップ又はバイパスの場合、本開示で説明するライスパラメータ更新方式は、ＣＧ中の後続の係数のための係数レベルの残りの絶対値をコード化するためのライスパラメータの値を更新するために使用される。更に、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のＣＧ中の係数のための係数レベルの残りの絶対値をコード化した後に、ライスパラメータの値に基づいて変換ブロック中の後続のＣＧについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータは、ＨＥＶＣライスパラメータ更新及び初期化方式に従って調整され得る。
【０００９】
[0009]一例では、本開示は、ビデオ復号プロセスにおいて係数を復号する方法を対象とし、本方法は、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値を復号することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとを備える。
【００１０】
[0010]更なる一例では、本開示は、ビデオ復号プロセスにおいて係数を符号化する方法を対象とし、本方法は、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値を符号化することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとを備える。
【００１１】
[0011]追加の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、１つ又は複数のプロセッサとを備えるビデオコード化機器を対象とする。プロセッサは、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとを行うように構成される。
【００１２】
[0012]別の例では、本開示は、残差ビデオデータの係数のブロックを決定するための手段と、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化するための手段と、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整するための手段とを備えるビデオコード化機器を対象とする。
【００１３】
[0013]追加の例では、本開示は、ビデオコード化機器の１つ又は複数のプロセッサによって実行されたとき、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体を対象とする。
【００１４】
[0014]別の例では、本開示は、ビデオ復号プロセスにおいて係数を復号する方法を対象とし、本方法は、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値を復号することと、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新することとを備え、ここにおいて、変数増分は、ライスパラメータの値と、復号されている係数のための係数レベルの絶対値とに基づいて決定される。
【００１５】
[0015]別の例では、本開示は、ビデオ符号化プロセスにおいて係数を符号化する方法を対象とし、本方法は、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値を符号化する残差ビデオデータの係数のブロックを決定することと、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新することとを備え、ここにおいて、変数増分は、ライスパラメータの値と、符号化されている係数のための係数レベルの絶対値とに基づいて決定される。
【００１６】
[0016]更なる一例では、本開示は、ビデオデータを記憶するように構成されたメモリと、１つ又は複数のプロセッサとを備えるビデオコード化機器を対象とする。プロセッサは、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新することとを行うように構成され、ここにおいて、変数増分は、ライスパラメータの値と、コード化されている係数のための係数レベルの絶対値とに基づいて決定される。
【００１７】
[0017]１つ又は複数の例の詳細が、添付の図面及び以下の説明において述べられる。他の特徴、目的、及び利点は、その説明及び図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１】[0018]本開示で説明する係数レベルをコード化するための技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】[0019]係数レベルコード化のための例示的な逆方向走査順序を示す概念図。
【図３】[0020]係数グループ（ＣＧ）の係数レベルコード化のための例示的なサブブロックベースの逆方向対角走査順序を示す概念図。
【図４】[0021]ＣＧのための係数レベルをコード化するための例示的な逆方向対角走査順序を示す概念図。
【図５】[0022]本開示で説明する係数レベルを符号化するための技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図６】[0023]本開示で説明する係数レベルを復号するための技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図７】[0024]本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を更新する例示的な動作を示すフローチャート。
【図８】[0025]本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を更新する例示的な動作を示すフローチャート。
【図９】[0026]本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を調整する例示的な動作を示すフローチャート。
【図１０】[0027]本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を調整する例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１９】
[0028]本開示では、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明する。特に、本開示では、係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明し、ここで、有意な係数、１よりも大きい係数レベル、及び２よりも大きい係数レベルの指示をコード化するためにコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）が使用される。幾つかの例では、本技法は、高効率ビデオコード化（ＨＥＶＣ）規格のための範囲拡張における係数レベルコード化のためのライスパラメータ更新に適用され得る。ライスパラメータは、ゴロムコードのファミリーからコードワードセットを選択するために使用される調節可能な値である。ライスパラメータによって定義されるゴロムコードは、係数グループ（ＣＧ）、即ち、係数のブロック中の少なくとも１つの係数のための係数レベルの残りの絶対値をコード化するために使用され得る。
【００２０】
[0029]本開示の技法によれば、ライスパラメータの値は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて更新される。変数増分の量は、ライスパラメータの値と、コード化されている現在の係数のための係数レベルの絶対値とに基づいて決定される。幾つかの例では、変数増分は、現在の係数のための係数レベルの絶対値の右シフトされたバージョンに基づいて決定され得、ここで、右シフトの量はライスパラメータの値に基づく。
【００２１】
[0030]変数増分は、ライスパラメータの値がライスパラメータの最大値まで、いずれかの整数値だけ増加することを可能にする。例えば、ライスパラメータの最大値は７に等しくなり得、変数増分は、ライスパラメータの値と、現在の係数のための係数レベルの絶対値とに応じて０、１、２、３、４、５又は６のいずれかに等しくなり得る。他の例では、ライスパラメータの最大値は４又は５に等しくなり得る。更なる一例では、本開示の技法は、ライスパラメータが、更新中に減少又は減分されることを可能にし得る。
【００２２】
[0031]幾つかの例では、ビデオエンコーダは、ビデオデコーダ又は記憶機器への送信のために残差ビデオデータの係数レベルをビットストリーム中に符号化し得る。符号化されたビストリーム（bistream）を受信すると、ビデオデコーダは、ビデオエンコーダとは逆の様式で残差ビデオデータの係数レベルを復号し得る。非可逆ビデオコード化（lossy video coding）の場合、係数は、量子化された変換係数であり得る。可逆ビデオコード化（lossless video coding）、又は変換スキッピング又はバイパスを伴う非可逆ビデオコード化の場合、係数は、大きい絶対値をもつ係数レベルを有し得る。係数が、グラフィック及びテキスト領域を含み得るスクリーンコンテンツを表すとき、そのコンテンツはうまく予測されないことがあり、その結果、係数のための係数レベルの大きい絶対値が生じる。
【００２３】
[0032]本開示で説明するライスパラメータ更新方式は、スクリーンコンテンツのブロックと変換スキッピング又はバイパスを伴うブロックとにおいて生じ得る大きい係数値にライスパラメータが迅速に及び効率的に適応することを可能にする。本技法によれば、スクリーンコンテンツ及び／又は変換又は量子化されていない係数に適応するようにより迅速に適合するが、ＨＥＶＣライスパラメータ更新方式と同様の性能で依然として自然コンテンツのための変換係数の係数レベルコード化を処理するために、ライスパラメータの値は変数増分に基づいて更新され得る。例えば、コード化されている現在の係数のための係数レベルが大きい絶対値を有するとき、変数増分は、大きい係数値により迅速に適応するために１よりも大きい整数値に等しくなり得る。本開示の技法はまた、係数レベルエントロピーコード化のループ内のライスパラメータ更新中に条件操作を低減又は除去することによってより大きい計算効率を提供する。
【００２４】
[0033]更に、本開示では、ＣＧを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するための技法について説明する。本開示で説明するように、ライスパラメータの値を調整することは、ＣＧ中の後続の係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を更新すること、又は、後続のＣＧ中の少なくとも１つの係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を初期化することを含み得る。
【００２５】
[0034]本技法によれば、変換ブロックに変換が適用されない場合、即ち、変換スキップ又はバイパスの場合、ライスパラメータの値を更新するために、本開示で説明するライスパラメータ更新方式が使用される。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値を更新するためにＨＥＶＣライスパラメータ更新方式が使用され得る。別の例では、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のＣＧ中の係数のための係数レベルの残りの絶対値を復号した後に、ライスパラメータの値に基づいて変換ブロック中の後続のＣＧについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のＣＧについて０に等しくなるように初期化され得る。
【００２６】
[0035]図１は、本開示で説明する係数レベルをコード化するための技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示されているように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先機器１４に送信する発信源機器１２を含む。符号化ビデオデータはまた、記憶媒体３４又はファイルサーバ３６に記憶され得、所望に応じて宛先機器１４によってアクセスされ得る。記憶媒体又はファイルサーバに記憶されたとき、ビデオエンコーダ２０は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙ（登録商標）又はデジタルビデオディスク（ＤＶＤ）バーナー又はスタンピングファシリティ機器（stamping facility device）、あるいは他の機器など、別の機器にコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、ＣＤ又はＤＶＤリーダーなど、ビデオデコーダ３０とは別個の機器が、記憶媒体からコード化ビデオデータを取り出し得、取り出されたデータをビデオデコーダ３０に与えた。
【００２７】
[0036]発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様な機器のいずれかを備え得る。多くの場合、そのような機器はワイヤレス通信のために装備され得る。従って、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、又はワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先機器１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。
【００２８】
[0037]本開示の例による、係数レベルをコード化するための技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は二方向のビデオ送信をサポートするように構成され得る。
【００２９】
[0038]図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。発信源機器１２において、ビデオ発信源１８は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又は、発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源、若しくはそのような発信源の組合せを含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラフォン又はビデオフォンを形成し得、これらは、例えば、スマートフォン又はタブレットコンピュータ内に与えられ得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例、若しくは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
【００３０】
[0039]撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤード通信プロトコル又はワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先機器１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機２４は、増幅器と、フィルタと、ワイヤレス通信の場合には１つ又は複数のアンテナとを含む、データを送信するために設計された回路を含み得る。
【００３１】
[0040]ビデオエンコーダ２０によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオはまた、後で消費するために記憶媒体３４又はファイルサーバ３６に記憶され得る。記憶媒体３４は、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号及び再生のために宛先機器１４によってアクセスされ得る。図１には示されていないが、幾つかの例では、記憶媒体３４及び／又はファイルサーバ３６は送信機２４の出力を記憶し得る。
【００３２】
[0041]ファイルサーバ３６は、符号化ビデオを記憶すること、及びその符号化ビデオを宛先機器１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）機器、ローカルディスクドライブ、又は、符号化ビデオデータを記憶すること及び符号化ビデオデータを宛先機器に送信することが可能な任意の他のタイプの機器を含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先機器１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、又は両方の組合せを含み得る。
【００３３】
[0042]宛先機器１４は、図１の例では、受信機２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。宛先機器１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８は、その情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４又はファイルサーバ３６に記憶される符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、ビデオデータを符号化又は復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００３４】
[0043]表示装置３２は、宛先機器１４と一体化されるか、又は宛先機器１４の外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００３５】
[0044]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器１２から宛先機器１４に送信するための任意の好適な通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１６は、発信源機器１２から宛先機器１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００３６】
[0045]ビデオエンコーダ２０及びビデオデコーダ３０は、ＩＴＵ−Ｔビデオコード化エキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコード化（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発された高効率ビデオコード化（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得る。文書ＪＣＴＶＣ−Ｌ１００３ｖ３４、Ｂｒｏｓｓら、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコード化（ＪＣＴ−ＶＣ）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４〜２３日におけるＨＥＶＣ規格のドラフトは、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ３４．ｚｉｐから入手可能である。
【００３７】
[0046]図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３８】
[0047]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、１つ又は複数のプロセッサを使用して命令をハードウェアで実行して本開示の技法を実施し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれもが、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００３９】
[0048]ビデオエンコーダ２０は、ビデオ符号化プロセスにおいて係数レベルを符号化するために本開示の技法のいずれか又は全てを実装し得る。同様に、ビデオデコーダ３０は、ビデオ復号プロセスにおいて係数レベルを復号するためにこれらの技法のいずれかの又は全てを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダ又はビデオデコーダを指し得る。同様に、ビデオコード化単位はビデオエンコーダ又はビデオデコーダを指し得る。同様に、ビデオコード化はビデオ符号化又はビデオ復号を指し得る。
【００４０】
[0049]デジタルビデオ機器は、デジタルビデオ情報をより効率的に符号化及び復号するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的（フレーム内）予測及び／又は時間的（フレーム間）予測技法を適用し得る。上記で説明したＨＥＶＣ規格は、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づいている。ＨＭは、例えばＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対して、ビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は、９つのイントラ予測符号化モードを提供するが、ＨＥＶＣ  ＨＭは、３３個ものイントラ予測符号化モードを提供し得る。以下のセクションでは、ＨＭの幾つかの態様についてより詳細に説明する。
【００４１】
[0050]ＨＥＶＣ規格に従うビデオコード化の場合、ビデオフレームはコード化単位に区分され得る。コード化単位（ＣＵ）は、概して、ビデオ圧縮のために様々なコード化ツールが適用される基本単位として働く画像領域を指す。ＣＵは通常、Ｙとして示されるルミナンス成分と、Ｕ及びＶとして示される２つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、Ｕ成分とＶ成分とのサイズは、サンプル数に関して、Ｙ成分のサイズと同じであるか、又はＹ成分のサイズとは異なり得る。
【００４２】
[0051]ＣＵは、一般に正方形であり、例えば、ＩＴＵ−Ｔ  Ｈ．２６４などの他のビデオコード化規格の下での所謂マクロブロックと同様であると見なされ得る。本出願では、例示のために、開発中のＨＥＶＣ規格の現在提案されている態様の幾つかに従うコード化について説明する。但し、本開示で説明する技法は、Ｈ．２６４又は他の規格に従って定義されるビデオコード化プロセス若しくはプロプライエタリビデオコード化プロセスなど、他のビデオコード化プロセスのために有用であり得る。
【００４３】
[0052]ＨＭによれば、ＣＵは、１つ以上の予測単位（ＰＵ）及び／又は１つ以上の変換単位（ＴＵ）を含み得る。ビットストリーム内のシンタックスデータは、画素の数に関して最大ＣＵである最大コード化単位（ＬＣＵ）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。従って、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コード化単位又はＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵは更にサブＣＵに分割され得る。ビットストリームのためのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コード化単位（ＳＣＵ）をも定義し得る。本開示ではまた、ＣＵ、ＰＵ、又はＴＵのいずれかを指すために「ブロック」又は「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指すことがある。
【００４４】
[0053]ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノードを含み、その各々は、サブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを提供し得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵが更に分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的な分割が存在しなくても、リーフＣＵの４つのサブＣＵはリーフＣＵとも呼ばれる。例えば、１６×１６サイズのＣＵが更に分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵがリーフＣＵとも呼ばれる。
【００４５】
[0054]リーフＣＵは、１つ又は複数の予測単位（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。例えば、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照フレーム、及び／又は動きベクトルの参照リスト（例えば、リスト０又はリスト１）を記述し得る。ＰＵを定義するリーフＣＵのデータはまた、例えば、ＣＵを１つ又は複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがコード化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかに応じて異なり得る。イントラコード化の場合、ＰＵは、以下で説明するリーフ変換単位と同じように扱われ得る。
【００４６】
[0055]新生のＨＥＶＣ規格は、ＣＵごとに異なり得る変換単位（ＴＵ）に従う変換を可能にする。ＴＵは、通常、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。ＴＵは、通常、ＰＵと同じサイズであるか、又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）と呼ばれる４分木構造を使用して、より小さい単位に更に分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。ＴＵに関連付けられた画素差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。ＴＵは、１つのルーマ変換ブロックと、２つのクロマ変換ブロックとを含む。従って、ＴＵに適用される後述の任意のコード化プロセスは、実際には、ルーマ及びクロマの変換ブロックに適用され得る。
【００４７】
[0056]概して、ＰＵは、予測プロセスに関係するデータを指す。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。
【００４８】
[0057]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つ又は複数のＰＵを有する所与のＣＵは、１つ又は複数の変換単位（ＴＵ）をも含み得る。予測に続いて、ビデオエンコーダ２０は、ＰＵに従ってコード化ノードによって識別されたビデオブロックから残差値を計算し得る。コード化ノードは、次いで、元のビデオブロックではなく、残差値を参照するように更新される。残差値は画素差分値を備え、画素差分値は、エントロピーコード化のためのシリアル化変換係数（serialized transform coefficient）を生成するためにＴＵ中で指定された変換及び他の変換情報を使用して変換係数に変換され、量子化され、走査され得る。コード化ノードは、これらのシリアル化変換係数を参照するように、もう一度更新され得る。本開示では、一般に、ＣＵのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合において、本開示では、コード化ノード及びＰＵ並びにＴＵを含む、ツリーブロック、即ち、ＬＣＵ又はＣＵを指すためにも「ビデオブロック」という用語を使用し得る。
【００４９】
[0058]ビデオシーケンスは、一般に、一連のビデオフレーム又はピクチャを含む。グループオブピクチャ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つ又は複数を備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、ＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。
【００５０】
[0059]ブロック（例えば、ビデオデータの予測単位）をコード化するために、ブロックの予測子が最初に導出される。予測ブロックとも呼ばれる予測子は、イントラ（Ｉ）予測（即ち、空間的予測）又はインター（Ｐ又はＢ）予測（即ち時間的予測）のいずれかを通じて導出され得る。従って、幾つかの予測単位は、同じフレーム（又はスライス）中の隣接参照ブロック中の参照サンプルに対する空間的予測を使用してイントラコード化（Ｉ）され得、他の予測単位は、他の以前にコード化されたフレーム（又はスライス）中の参照サンプルのブロックに対して単方向にインターコード化（Ｐ）されるか又は双方向にインターコード化（Ｂ）され得る。各場合において、参照サンプルは、コード化されるべきブロックの予測ブロックを形成するために使用され得る。
【００５１】
[0060]予測ブロックの識別時に、元のビデオデータブロック中の画素とそれの予測ブロック中の画素との間の差分が決定される。この差分は予測残差データと呼ばれることがあり、コード化されるべきブロック中の画素値と、コード化ブロックを表すように選択された予測ブロック中の画素値との間の画素差分を示す。より良好な圧縮を実現するために、予測残差データは、例えば、離散コサイン変換（ＤＣＴ）、離散サイン変換（ＤＳＴ）、整数変換、カルーネンレーベ（Ｋ−Ｌ）変換、又は変換係数を生成するための別の変換を使用して変換され得る。
【００５２】
[0061]ＴＵなどの変換ブロック中の残差データは、空間的画素領域中に存在する画素差分値の２次元（２Ｄ）アレイで構成され得る。変換は、周波数領域などの変換領域において残差画素値を変換係数の２次元アレイに変換する。更なる圧縮のために、変換係数は、エントロピーコード化に先立って量子化され得る。可逆コード化、又は変換スキッピング若しくはバイパスを伴う非可逆コード化など、幾つかの例では、係数について変換手順と量子化手順の両方がスキップされ得る。
【００５３】
[0062]次いで、エントロピーコーダは、係数に、コンテキスト適応型可変長コード化（ＣＡＶＬＣ：Context Adaptive Variable Length Coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、確率間隔区分エントロピーコード化（ＰＩＰＥ：Probability Interval Partitioning Entropy Coding）などのエントロピーコード化を適用する。幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実施し得る。係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、１次元ベクトルをエントロピー符号化し得る、ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００５４】
[0063]本開示は、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）エントロピーコーダ、あるいは確率間隔区分エントロピーコード化（ＰＩＰＥ）又は関係するコーダなど、他のエントロピーコーダのための関係する技法である。算術コード化は、シンボルを非整数長さコードワードにマッピングすることが可能であるので、高いコード化効率を有する多くの圧縮アルゴリズムにおいて使用されるエントロピーコード化の形態である。算術コード化アルゴリズムの一例はコンテキストベースバイナリ算術コード化（ＣＡＢＡＣ）である。
【００５５】
[0064]概して、ＣＡＢＡＣを使用してデータシンボルをエントロピーコード化することは、以下のステップのうちの１つ又は複数を伴う。
【００５６】
（１）２値化：コード化されるべきシンボルが非２進値化された場合、そのシンボルは、所謂「ビン」のシーケンスにマッピングされる。各ビンは「０」又は「１」の値を有することができる。
【００５７】
（２）コンテキスト割当て：（標準モードにおける）各ビンはコンテキストに割り当てられる。コンテキストモデルは、以前に符号化されたシンボルの値又はビン数など、ビンについて利用可能な情報に基づいて所与のビンのコンテキストがどのように計算されるかを決定する。
【００５８】
（３）ビン符号化：ビンは算術エンコーダを用いて符号化される。ビンを符号化するために、算術エンコーダは、入力として、ビンの値の確率、即ち、ビンの値が「０」に等しい確率と、ビンの値が「１」に等しい確率とを必要とする。各コンテキストの推定された確率は、「コンテキスト状態」と呼ばれる整数値によって表される。各コンテキストはある状態を有し、従って、その状態（即ち、推定された確率）は、１つのコンテキストに割り当てられたビンに対して同じであり、コンテキスト間で異なる。
【００５９】
（４）状態更新：選択されたコンテキストの確率状態は、ビンの実際のコード化値に基づいて更新される（例えば、ビン値が「１」であった場合、「１」の確率が増加される）。
【００６０】
[0065]バイパスモードにおいてＣＡＢＡＣを使用してデータシンボルをエントロピーコード化する場合、コード化されるべきシンボルは、ビンのシーケンスに２値化され、固定等確率モデルを用いて（例えば、指数ゴロムコード又はゴロムライスコードを用いて）算術的にコード化される。バイパスモードは、コンテキスト割当て又は確率状態更新を必要としない。例えば、本開示では、ライスパラメータによって定義されるゴロムコードを使用する、係数のための係数レベルの残りの絶対値のバイパスコード化のための技法について説明する。確率間隔区分エントロピーコード化（ＰＩＰＥ）は、算術コード化の原理と同様の原理を使用し、従って、本開示の技法をも利用することができることに留意されたい。
【００６１】
[0066]Ｈ．２６４／ＡＶＣ及びＨＥＶＣにおけるＣＡＢＡＣは状態を使用し、各状態は暗黙的に確率に関係する。シンボル（「０」又は「１」）の確率が直接使用される、即ち、確率又は確率の整数バージョンが状態である、ＣＡＢＡＣの変形態が存在する。例えば、ＣＡＢＡＣのそのような変形態は、以下において「ＪＣＴＶＣ−Ａ１１４」と呼ぶ、「Ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｔｅｃｈｎｏｌｏｇｙ  ｐｒｏｐｏｓａｌ  ｂｙ  Ｆｒａｎｃｅ  Ｔｅｌｅｃｏｍ，  ＮＴＴ，  ＮＴＴ  ＤＯＣＯＭＯ，  Ｐａｎａｓｏｎｉｃ  ａｎｄ  Ｔｅｃｈｎｉｃｏｌｏｒ」、ＪＣＴＶＣ−Ａ１１４、第１回ＪＣＴ−ＶＣ会合、ドレスデン、ドイツ、２０１０年４月、及び、以下において「ＪＣＴＶＣ−Ｆ２５４」と呼ぶ、Ａ．Ａｌｓｈｉｎ及びＥ．Ａｌｓｈｉｎａ、「Ｍｕｌｔｉ−ｐａｒａｍｅｔｅｒ  ｐｒｏｂａｂｉｌｉｔｙ  ｕｐｇｒａｄｅ  ｆｏｒ  ＣＡＢＡＣ」、ＪＣＴＶＣ−Ｆ２５４、第６回ＪＣＴ−ＶＣ会合、トリノ、イタリア、２０１１年７月に記載されている。
【００６２】
[0067]変換され量子化されるのか又は変換も量子化もされないのかにかかわらず、係数のブロックをエントロピーコード化するために、ブロック中の係数の２次元（２Ｄ）アレイが、特定の走査順序に従って係数の順序付き１次元（１Ｄ）アレイ、即ちベクトルに再構成されるように、通常、走査プロセスが実施される。次いで、係数のベクトルにエントロピーコード化が適用される。変換単位中の係数の走査は、エントロピーコーダのために係数の２Ｄアレイをシリアル化する。有意（即ち、非０）係数の位置を示すための有意性マップが生成され得る。走査は、有意（即ち、非０）係数のレベルを走査するために、及び／又は有意係数の符号をコード化するために適用され得る。
【００６３】
[0068]ＨＥＶＣ規格では、有意変換の位置情報（例えば、有意性マップ）は、走査順序内の最後の非０係数の位置を示すために、変換ブロックについて最初にコード化される。有意性マップ及びレベル情報（即ち、係数の絶対値と符号）は、逆方向走査順序で係数ごとにコード化される。
【００６４】
[0069]図２は、係数レベルコード化のための例示的な逆方向走査順序を示す概念図である。Ｈ．２６４規格はジグジグ（zig-zig）走査を定義している。ＨＥＶＣ規格は、サブブロック対角走査、サブブロック水平走査、及びサブブロック垂直走査という、３つの異なる走査を定義している。図２は、逆方向ジグザグ走査パターン２９と、逆方向垂直走査パターン３１と、逆方向水平走査パターン３３と、逆方向対角走査パターン３５とを示しており、それぞれ変換ブロックの８×８サブブロックに適用される。逆方向対角走査パターン３５と、逆方向ジグザグ走査パターン２９と、逆方向垂直走査パターン３１と、逆方向水平走査パターン３３との各々は、変換ブロックの右下隅におけるより高い周波数の係数から変換ブロックの左上隅におけるより低い周波数の係数に進むことに留意されたい。
【００６５】
[0070]サブブロック対角走査パターン３５と、サブブロック水平走査パターン３３と、サブブロック垂直走査パターン３１とは、４×４及び８×８変換ブロックに適用され得る。サブブロック対角走査パターン３５はまた、ＨＥＶＣ規格では、１６×１６及び３２×３２変換ブロックに適用され得る。幾つかの例では、サブブロック対角走査パターン３５はまた、８×８ＴＵに適用され得る。サブブロックベースの走査では、より大きい変換ブロックのある４×４サブブロックが、そのより大きい変換ブロック内の別の４×４サブブロックに進む前に走査される。他の例では、「サブブロック」は、使用される走査順序による幾つかの連続的に走査される係数からなり得る。例えば、「サブブロック」は、対角走査順序に沿った１６個の連続的に走査される係数からなり得る。
【００６６】
[0071]図３は、係数グループ（ＣＧ）の係数レベルコード化のための例示的なサブブロックベースの逆方向対角走査順序を示す概念図である。図３は、４つの４×４サブブロック（３７Ａ、３７Ｂ、３７Ｃ、３７Ｄ）からなる８×８変換ブロック３８を示している。図３に示されているように、サブブロック３７Ｄにおける係数が走査され、その後、サブブロック３７Ｃにおける係数を走査する。次いで走査は、サブブロック３７Ｃからサブブロック３７Ｂに進み、最後にサブブロック３７Ａに進む。図３は、各サブブロックにおいて逆方向対角走査順序を示している。他の例では、どんな走査順序でも使用され得る（例えば、水平、垂直、ジグザグなど）。幾つかの例では、各サブブロック内で順方向走査順序が使用され得る。
【００６７】
[0072]ＨＥＶＣ規格では、係数はチャンク又はサブセットにグループ化され得る。係数の有意性マップ及びレベル情報（即ち、絶対値及び符号）は、サブセットごとにコード化される。係数のサブセットは、本開示では係数グループ（ＣＧ）と呼ばれることがある。ＣＧは、４×４サブブロックに対応し得る、変換ブロックのための走査順序で１６個の連続する係数として定義され得る。一例では、サブセットは、４×４変換ブロックと８×８変換ブロックとのための走査順序（例えば、順方向又は逆方向の対角走査順序、水平走査順序、又は垂直走査順序）に沿った１６個の連続する係数からなる。１６×１６及び３２×３２変換ブロックの場合、そのより大きい変換ブロック内の係数の４×４サブブロックはサブセットとして扱われる。図３の例では、サブブロック３７の各々がＣＧであり得る。
【００６８】
[0073]ＣＧ内の係数レベル情報を表すために、以下で説明するシンボルがコード化される。一例では、全てのシンボルが逆方向走査順序でコード化される。シンボルの各々は、その逆方向走査順序に従ってＣＧの別個の走査においてコード化され得る。以下のシンボルは「フラグ」と呼ばれることがある。本開示で説明する「フラグ」のいずれもバイナリシンボルに限定される必要はなく、複数のビットシンタックス要素としても実装され得ることに留意されたい。
【００６９】
[0074]ｓｉｇＭａｐＦｌａｇとも呼ばれるｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇは、サブセットにおける各係数の有意性を示す。０を超える絶対値をもつ係数は有意であると見なされる。一例として、０のｓｉｇＭａｐＦｌａｇは、係数が有意でないこと、即ち、０以下であることを示し、一方、１の値は、係数が有意であること、即ち、０よりも大きいことを示す。このフラグは概して、有意性フラグと呼ばれ得る。ｓｉｇｎＦｌａｇとも呼ばれるｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、任意の非０係数（即ち、ｓｉｇＭａｐＦｌａｇを１としてもつ係数）についての符号情報を示す。例えば、このフラグの０は正の符号を示し、一方、１は負の符号を示す。
【００７０】
[0075]ｇｒ１Ｆｌａｇとも呼ばれるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇは、任意の非０係数（即ち、ｓｉｇＭａｐＦｌａｇを１としてもつ係数、又はｓｉｇＭａｐＦｌａｇが暗黙的に１として導出される場合）について、係数の絶対値が１よりも大きいかどうかを示す。一例として、０のｇｒ１Ｆｌａｇ値は、係数が１よりも大きい絶対値を有しないことを示し、一方、１のｇｒ１Ｆｌａｇ値は、係数が１よりも大きい絶対値を有することを示す。このフラグは概して、１超フラグと呼ばれることがある。
【００７１】
[0076]ｇｒ２Ｆｌａｇとも呼ばれるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇは、１よりも大きい絶対値をもつ任意の係数（即ち、ｇｒ１Ｆｌａｇを１としてもつ係数）について、係数の絶対値が２よりも大きいかどうかを示す。一例として、０のｇｒ２Ｆｌａｇ値は、係数が２よりも大きい絶対値を有しないことを示し、一方、１のｇｒ２Ｆｌａｇ値は、係数が２よりも大きい絶対値を有することを示す。このフラグは概して、２超フラグと呼ばれることがある。ｓｉｇＭａｐＦｌａｇ、ｇｒ１Ｆｌａｇ、及びｇｒ２Ｆｌａｇはそれぞれ、ＣＡＢＡＣを使用してコード化され得る。
【００７２】
[0077]ｌｅｖｅｌＲｅｍシンタックス要素とも呼ばれるｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇシンタックス要素は、前のフラグによってコード化された値よりも大きい絶対値をもつ任意の係数について、係数レベルの残りの絶対値を示す。概して、ｌｅｖｅｌＲｅｍシンタックス要素の場合、２よりも大きい絶対値を有する係数（即ち、ｇｒ２Ｆｌａｇを１としてもつ係数）ごとに、係数レベルの絶対値から３を差し引いた値（即ち、ａｂｓ（ｌｅｖｅｌ）−３）がコード化される。幾つかの例では、現在のＣＧについてｇｒ１Ｆｌａｇ及び／又はｇｒ２Ｆｌａｇの最大数に達したとき、２以下の絶対値をもつ係数レベルをコード化するためにｌｅｖｅｌＲｅｍシンタックス要素が使用され得る。ｌｅｖｅｌＲｅｍシンタックス要素は、ライスパラメータの値によって定義されるゴロムコードを使用してコード化され得る。
【００７３】
[0078]図４は、ＣＧ３９のための係数レベルをコード化するための例示的な逆方向対角走査順序を示す概念図である。ＣＧ３９は、４×４変換ブロックであり得るか、又は８×８、１６×１６若しくは３２×３２変換ブロック中の４×４サブブロックであり得る。逆方向走査順序で走査される図４に示された係数の符号化シンボルが、表１に要約されている。表１において、ｓｃａｎ＿ｐｏｓは、図４に示されたＣＧ３９の逆方向対角走査パターンに沿った係数の位置を指す。ｓｃａｎ＿ｐｏｓ１５が、走査される最初の係数であり、ＣＧ３９の右下隅にある。ｓｃａｎ＿ｐｏｓ１５における係数は、０の絶対値を有する。ｓｃａｎ＿ｐｏｓ０が、走査される最後の係数であり、ＣＧ３９の左上隅にある。ｓｃａｎ＿ｐｏｓ０における量子化係数は、１０の絶対値を有する。４×４変換ブロック、又はより大きい変換ブロック中の最後の４×４サブブロックの場合、最後の非０係数の位置が知られているので、最初の４つのｓｉｇＭａｐＦｌａｇはコード化される必要がない。即ち、ｓｉｇＭａｐＦｌａｇのコード化は、最後の非０係数（この例では、ｓｃａｎ＿ｐｏｓ１１における係数）で始まり得る。
【表１】
0006469652.tif 000002
【００７４】
[0079]これらのシンボルのうち、ｓｉｇＭａｐＦｌａｇ、ｇｒ１Ｆｌａｇ及びｇｒ２Ｆｌａｇのビンは、適応コンテキストモデルを用いて、例えば、ＣＡＢＡＣを使用して符号化される。ｓｉｇｎＦｌａｇと、ｌｅｖｅｌＲｅｍの２値化されたビンとは、（例えば、指数ゴロムコード又はゴロムライスコードを用いて）固定等確率モデルを用いてバイパスモードを通して符号化される。
【００７５】
[0080]上記で説明したように、ＨＥＶＣ規格におけるシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ（即ち、ｌｅｖｅｌＲｅｍ）は、係数のための係数レベルの残りの絶対値が、係数コード化のための前の走査パスにおいてコード化された値よりも大きい場合、その係数のための係数レベルの残りの絶対値を示す。このシンタックス要素は、スループットを増加させるためにバイパスモードでコード化した。ＨＥＶＣ規格は、小さい値のためにはゴロムライスコード化を採用し、より大きい値のためには指数ゴロム（Ｅｘｐ−Ｇｏｌｏｍｂ）コード化に切り替わる。ゴロムライスコードと指数ゴロムコードとの間の遷移点は、単項コード長が４に等しいときである。ライスパラメータは、ゴロムコードのファミリーからコードワードセットを選択するための調節可能な値である。
【００７６】
[0081]例えば、ゴロムライスコードはゴロムコードのサブセットであり、調節可能なライスパラメータｍを仮定すれば、商ｑ＝ｆｌｏｏｒ（ｎ／ｍ）及び剰余ｒ＝ｎ−ｑ×ｍとして値ｎ＞＝０を表し、但し、ｍは２のべき乗である。商ｑはプレフィックスであり、単項コード表現を有する。剰余ｒはサフィックスであり、固定長表現を有する。指数ゴロムコードでは、コード構造は、固定長サフィックスが後続する単項プレフィックスによって同様に形成されるが、サフィックス部分におけるコードワードの数は、単項コード中の各ビットの後に２倍になる。指数ゴロムコードは、従って、コードワード長のより遅い増大を有する。概して、ライスパラメータの値が大きくなるほど、コードの増大は遅くなり、それにより、大きい係数値をコード化するときのより大きい効率が可能になる。ライスパラメータに関する更なる詳細は、Ｊ．Ｓｏｌｅ、Ｒ．Ｊｏｓｈｉ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ、Ｎ．Ｎｇｕｙｅｎ、Ｔ．Ｊｉ、Ｇ．Ｃｌａｒｅ、Ｆ．Ｈｅｎｒｙ、Ａ．Ｄｕｅｎａｓによる、Ｔｒａｎｓｆｏｒｍ  Ｃｏｅｆｆｉｃｉｅｎｔ  Ｃｏｄｉｎｇ  ｉｎ  ＨＥＶＣ、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｒａｎｓｍｉｓｓｉｏｎ（ＨＥＶＣに関する特別号）、２０１２年１２月において見つけられよう。
【００７７】
[0082]ＨＥＶＣ規格において、ライスパラメータは、各係数グループ（ＣＧ）の開始において０の値等しく設定され、以下のように、ライスパラメータの値と、コード化されている現在の係数のための係数レベルの絶対値とに応じてＣＧのコード化中に条件付きで更新される。
【００７８】
ａｂｓＣｏｅｆｆＬｅｖｅｌ＞３＊２cRiceParamである場合、ｃＲｉｃｅＰａｒａｍ＝ｍｉｎ（ｃＲｉｃｅＰａｒａｍ＋１，４）
他の場合、ｃＲｉｃｅＰａｒａｍ＝ｃＲｉｃｅＰａｒａｍ、
但し、ｃＲｉｃｅＰａｒａｍはライスパラメータであり、ａｂｓＣｏｅｆｆＬｅｖｅｌは現在の係数のための係数レベルの絶対値であり、ｍｉｎ（  ）は最小値を選択する関数である。ＨＥＶＣライスパラメータ更新方式により、２値化プロセスは、分布において大きい絶対値が観測されたとき、係数統計値に漸進的に適応することが可能になる。上式でわかるように、ＨＥＶＣライスパラメータ更新方式は、１又は０の固定増分だけライスパラメータの値を更新する。
【００７９】
[0083]ＣコードでのＨＥＶＣライスパラメータ更新プロセスの一例を以下に示す。
【００８０】
if(absCoeff > 3*( 1<< cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + 1, 4);
}
但し、ｃＲｉｃｅＰａｒａｍはライスパラメータであり、ａｂｓＣｏｅｆｆは現在の係数のための係数レベルの絶対値であり、ｍｉｎ（  ）は最小値を選択する関数であり、＜＜は左ビットシフト演算である。
【００８１】
[0084]ＨＥＶＣ規格において、ＨＥＶＣライスパラメータ更新プロセスは以下のように記述される。
【００８２】
変数ｃＲｉｃｅＰａｒａｍは、ｃＬａｓｔＡｂｓＬｅｖｅｌ及びｃＬａｓｔＲｉｃｅＰａｒａｍから次のように導出される。
【００８３】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel > 
( 3 * ( 1  <<  cLastRiceParam ) ) ? 1 : 0 ), 4 )
上式において、ｃＲｉｃｅＰａｒａｍは、ライスパラメータの更新された値であり、Ｍｉｎ（  ）は最小値を選択する関数であり、ｃＬａｓｔＲｉｃｅＰａｒａｍはライスパラメータの現在値であり、ｃＬａｓｔＡｂｓＬｅｖｅｌは、現在のコード化されている係数のための係数レベルの絶対値である。ライスパラメータの更新された値は、ＣＧ中の後続の係数をコード化するためのゴロムコードを定義するために使用され得るので、これらのパラメータは「Ｌａｓｔ」という用語を使用して呼ばれる。「？」は条件「ｉｆ」文の略記である。例えば、上式は次のことを述べているものと見なされ得る。ｃＬａｓｔＡｂｓＬｅｖｅｌ  ｉａ（３＊（１＜＜ｃＬａｓｔＲｉｃＰａｒａｍ））よりも大きい場合、ｃＬａｓｔＲｉｃｅＰａｒａｍは１だけ増分され、他の場合、ｃＬａｓｔＲｉｃｅＰａｒａｍは変更されない。
【００８４】
[0085]ＪＣＴＶＣ−Ｍ０３１６、Ｍ．Ｂｕｄａｇａｖｉ、「ＡＨＧ８：  Ｃｏｅｆｆｉｃｉｅｎｔ  ｌｅｖｅｌ  ｃＲｉｃｅＰａｒａｍ  ｕｐｄａｔｅｓ  ｆｏｒ  ｓｃｒｅｅｎ  ｃｏｎｔｅｎｔ  ｃｏｄｉｎｇ」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコード化（ＪＣＴ−ＶＣ）、第１３回会合：仁川、大韓民国、２０１３年４月１８〜２６日（以下では、ＪＣＴＶＣ−Ｍ０３１６）において提案されている技法は、ライスパラメータのためのより高速な更新プロセスについて説明している。ＪＣＴＶＣ−Ｍ０３１６の技法は、ＨＥＶＣイントラ予測ツールによって時々うまく予測されない鋭いエッジを有する、グラフィック及びテキスト領域をターゲットにしている。予測誤差の結果として、係数値は高い振幅増加を有し得る。
【００８５】
[0086]ＪＣＴＶＣ−Ｍ０３１６の寄与は、スクリーンコンテンツビデオを符号化するときのＨＥＶＣ規格における可逆コード化効率を改善するために、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇシンタックス要素をコード化するためのライスパラメータ更新プロセスに対して２つの修正を提示する。これらの２つの修正は、（１）ライスパラメータの値の高速更新、及び（２）４から５へのライスパラメータの最大値の増加である。
【００８６】
[0087]ＪＣＴＶＣ−Ｍ０３１６の修正（１）のための修正されたＣコードの一例は以下の通りである。
【００８７】
if(absCoeff > 25*(1<<cRiceParam)) {
cRiceParam = 4;
}
Else
if(absCoeff > 3*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam+ 1, 4);
}
[0088]修正（１）のための修正されたＨＥＶＣ規格の一例は以下の通りである。
【００８８】
if ( cLastAbsLevel > ( 25 * ( 1  <<  cLastRiceParam ) ) )      cRiceParam = 4  
else cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel > 
( 3 * ( 1  <<  cLastRiceParam ) ) ? 1 : 0 ), 4 )
[0089]ＪＣＴＶＣ−Ｍ０３１６の修正（１）と修正（２）の組合せについて、修正されたＣコードの一例は以下の通りである。
【００８９】
if(absCoeff > 25*(1<<cRiceParam)) {
cRiceParam = 4;
}
Else
if(absCoeff > 3*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + 1, 4);
}
if(cRiceParam == 4) {
cRiceParam = 5;
}
[0090]修正（１）と修正（２）の組合せのための修正されたＨＥＶＣ規格の一例は以下の通りである。
【００９０】
if ( cLastAbsLevel > ( 25 * ( 1  <<  cLastRiceParam ) ) )      cRiceParam = 4   
else cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel > 
( 3 * ( 1  <<  cLastRiceParam ) ) ? 1 : 0 ), 4 )
if ( cRiceParam == 4 )      cRiceParam = 5
[0091]ＪＣＴＶＣ−Ｍ０３１６において提案されている高速更新技法は、一部のスクリーンコンテンツに対して良好な効率を示す。現在の係数のための係数レベルの絶対値が閾値を上回るとき、ライスパラメータはそれの最大値に直接行くので、ＪＣＴＶＣ−Ｍ０３１６の技法は、ＨＥＶＣライスパラメータ更新方式よりも良好に幾つかのビデオ統計値に調整される。ＪＣＴＶＣ−Ｍ０３１６における高速適応プロセスは、基本的に、大きい係数が観測されたとき、ライスパラメータを最大値に設定する。ＨＥＶＣ規格では、（上式に示されている）ライスパラメータは、各係数の係数レベルのための残りの絶対値のコード化において１又は０だけ増加するにすぎない。ＨＥＶＣライスパラメータ更新方式では、従って、ライスパラメータは、大きい係数値のコード化にはあまり高速に適応しないことがある。
【００９１】
[0092]ＪＣＴＶＣ−Ｍ０３１６において提案されている方法の１つの潜在的欠点は、それがライスパラメータ更新プロセスに条件検査を組み込んでいることである。そのような検査はビデオエンコーダ２０及びビデオデコーダ３０をより遅くさせ得る。また、ＪＣＴＶＣ−Ｍ０３１６の技法は、追加の乗算が計算されることを必要とする。そのような追加の計算は係数エントロピーコード化のループ内で行われなければならず、このループはビデオコード化において重要なループであり、ボトルネックになり得る。
【００９２】
[0093]これらの欠点に鑑みて、本開示は、係数レベル値又はビデオコンテンツによる変数増分に基づく高速で効率的なライスパラメータ更新方式のための技法を提案する。本開示の技法は、重要なループへの追加の条件の導入を必要とせず、場合によっては、ＨＥＶＣライスパラメータ更新方式における幾つかの既存の条件を削除さえし得る。本開示は、変数増分により、ライスパラメータの値が、ライスパラメータの最大値を達成するまで何らかの量だけ増加することが可能になるので、よりフレキシブルであり得る追加の論理なしの高速更新を導入する。
【００９３】
[0094]本開示の第１の例では、ライスパラメータ更新のためのパラメータを信号伝達（signaling）するための技法が説明される。ライスパラメータ更新プロセスのためのＨＥＶＣ規格における現在の技法を次のように以下に繰り返す。
【００９４】
if(absCoeff > 3*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + 1, 4);
}
但し、ｃＲｉｃｅＰａｒａｍはＣＧの開始において０に等しい。
【００９５】
[0095]本開示の技法は４つの新しいパラメータで表され得る。
【００９６】
・ＩＮＩＴ＿ＰＡＲＡＭ：ＣＧの開始におけるライスパラメータの初期値
・ＩＮＣ＿ＰＡＲＡＭ：ライスパラメータの増分値
・ＭＡＸ＿ＰＡＲＡＭ：ライスパラメータの最大値
・ＴＨＲＥＳＨ＿ＡＢＳ＿ＣＯＥＦＦ：係数レベルの絶対値と比較するために更新方式において使用される閾値
[0096]本開示の技法によれば、ビデオエンコーダ２０は、ビットストリーム中で、例えば、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、ＬＣＵ、ＣＵ、ＴＵ又は変換ブロックレベルにおいて、これらのパラメータのうちの１つ又は複数を信号伝達するように構成され得る。この場合、ビデオエンコーダ２０は、符号化されているコンテンツのために最良のパラメータを選定し、この選択をビデオデコーダ３０に信号伝達するように構成され得る。
【００９７】
[0097]信号伝達されるパラメータを含む、本開示のライスパラメータ更新関数のＣコードにおける表現の一例は、以下の通りである。
【００９８】
cRiceParam = INIT_PARAM
…
if(absCoeff > THRESH_ABS_COEFF*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + INC_PARAM, MAX_PARAM);
}
[0098]幾つかの例では、ビデオエンコーダ２０及びビデオデコーダ３０は、本開示のライスパラメータ更新方式のためのパラメータのデフォルト値を記憶し得る。自然コンテンツのための量子化変換係数のＨＥＶＣ規格コード化では、デフォルト値であり得るパラメータの値は、以下の通りであり得る。
【００９９】
・ＩＮＩＴ＿ＰＡＲＡＭ＝０
・ＩＮＣ＿ＰＡＲＡＭ＝１
・ＭＡＸ＿ＰＡＲＡＭ＝４
・ＴＨＲＥＳＨ＿ＡＢＳ＿ＣＯＥＦＦ＝３
[0099]変換又は量子化されていない係数をコード化するために、スクリーンコード化について又は可逆コンテンツについて、デフォルト値パラメータは異なり得る。例えば、デフォルト値パラメータは以下の通りであり得る。
【０１００】
・ＩＮＩＴ＿ＰＡＲＡＭ＝２
・ＩＮＣ＿ＰＡＲＡＭ＝１
・ＭＡＸ＿ＰＡＲＡＭ＝５
・ＴＨＲＥＳＨ＿ＡＢＳ＿ＣＯＥＦＦ＝３
上記のパラメータ値は例にすぎない。他の例では、ビデオエンコーダ２０及びビデオデコーダ３０に他のデフォルト値が記憶され得る。例えば、ＭＡＸ＿ＰＡＲＡＭは７の値に等しくなり得る。別の例として、ＩＮＣ＿ＰＡＲＡＭは、１よりも大きく最大値までのどんな整数値にも等しくなり得る。
【０１０１】
[0100]別の例では、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、残差が非可逆様式でコード化されるときは値のあるセットを使用し、残差がいずれかの可逆様式でコード化されるとき（即ち、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇがオンであるとき）は値の別のセットを使用するように構成され得る。別の例では、値のあるセットは、非可逆コード化のためのＨＥＶＣ値とは異なる変換スキップ又は変換バイパスモードにおいて非可逆コード化のために使用され得る。別の例では、デフォルト値のセットは変換タイプ（例えば、ＤＣＴ、ＤＳＴ、スキップなど）に依存し得る。
【０１０２】
[0101]上記で説明したように、ＨＥＶＣライスパラメータ更新方式は、各更新において（即ち、ライスパラメータによって定義されるゴロムコードを使用してバイパスモードでコード化されるべき各係数において）ライスパラメータをたかだか１だけ増加させる。ＪＣＴＶＣ−Ｍ０３１６における高速適応プロセスは、基本的に、大きい係数が観測されたとき、ライスパラメータを最大値に設定する。
【０１０３】
[0102]別の例では、本開示は、追加の論理なしに、又はＨＥＶＣライスパラメータ更新方式における検査の数を低減さえすることによって利用され得る高速更新技法を提示する。本開示では、フレキシブルであるライスパラメータの値の高速で効率的な更新のための以下の方法が、最大値を達成するまでライスパラメータの値を何らかの量だけ増加させることができるので、この以下の方法を提案する。
【０１０４】
[0103]本開示のこの例によれば、以下に繰り返す、ＨＥＶＣライスパラメータ更新方式のためのＣコードライン
cRiceParam = INIT_PARAM
…
if(absCoeff > THRESH_ABS_COEFF*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + INC_PARAM, MAX_PARAM);
}
は、以下によって置き換えられ得る。
【０１０５】
cRiceParam = min<UInt>((cRiceParam + ( absCoeff >> 
(PARAM1 * (2<<cRiceParam)))), MAX_RICE_PARAM );
但し、（ａｂｓＣｏｅｆｆ＞＞（ＰＡＲＡＭ１＊（２＜＜ｃＲｉｃｅＰａｒａｍ）））は、ライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）と、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）とに基づいて決定されるライスパラメータの値の変数増分を定義する。この例では、変数増分は、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）の右シフトされたバージョンに基づいて決定され、但し、右シフトの量はライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）に基づく。
【０１０６】
[0104]本開示のライスパラメータ更新方式の上記の表現では、ＨＥＶＣライスパラメータ更新方式から１つの検査が削除され、ＪＣＴＶＣ−Ｍ０３１６に導入されたライスパラメータ更新方式に関して２つ又は３つの検査が削除されている。本質的に、ｃＲｉｃｅＰａｒａｍは、ライスパラメータの最大値（即ち、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭ）、又は、定数パラメータ値（ＰＡＲＡＭ１）で乗算された（即ち、左シフトされた、「＜＜」）ライスパラメータ（即ち、ｃＲｉｃｅＰａｒａｍ）の関数で除算された（即ち、右シフトされた、「＞＞」）、コード化されている係数の絶対値（即ち、ａｂｓＣｏｅｆｆ）に基づいて決定されるライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）の変数増分のいずれかの最小値の選択に基づいて更新される。
【０１０７】
[0105]ＨＥＶＣ規格は以下のように定義され得る。
【０１０８】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >> 
( PARAM1 * ( 2  <<  cLastRiceParam ) ) ), MAX_RICE_PARAM )
[0106]本開示の一例では、ＰＡＲＡＭ１は１に等しく設定され、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは４に等しく設定される。本開示の第１の例において上記で説明したように、これらのパラメータは、ビデオエンコーダ２０によってビデオデコーダ３０に信号伝達され得るか、又はビデオデコーダ３０によって信号伝達なしに導出され得る。例えば、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは、非可逆コード化では４に等しく設定され、可逆コード化では（即ち、ｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇがオンであるときは）５に等しく設定され得る。
【０１０９】
[0107]一例では、上記に与えた例示的な値を使用すると、本開示のライスパラメータ更新方式のためのＣコード式は以下のようになり得る。
【０１１０】
cRiceParam = min<UInt>((cRiceParam + (absCoeff >> 
(2<<cRiceParam))), 4);
等価的に、ＨＥＶＣ規格は以下のように定義され得る。
【０１１１】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >> 
( 2  <<  cLastRiceParam ) ), 4 )
[0108]ＪＣＴＶＣ−Ｍ０３１６において提示されているライスパラメータ更新は、ライスパラメータの値を１だけ増加させるか、又は条件に応じてライスパラメータを４又は５のそれの最大値に等しく設定するだけであることに留意されたい。本開示の技法は、いかなる更新においても、変数増分の量を、ライスパラメータの最大値まで、いずれかの整数値、即ち、１、２、３又はそれ以上だけ増加させることができる。幾つかの例では、ライスパラメータの最大値は、４よりも大きいか又はそれに等しい整数値であり得る。特定の一例では、ライスパラメータの最大値は７に等しい。変数増分の量は、コード化されている係数の絶対値に依存し得る。一例では、大きい絶対値を有する、復号されている係数のための係数レベルに基づいて、変数増分は、１よりも大きい整数値を有するように決定され得る。従って、本開示の技法は、より多くの適応能力を可能にする。
【０１１２】
[0109]更に、上述したように、ＨＥＶＣ更新プロセスとＪＣＴＶＣ−Ｍ０３１６の更新プロセスとを表す関数、「？」は「ｉｆ」条件文と等価である。本開示で説明する技法は、いかなる条件操作の実施をも必要としない。条件操作は係数エントロピーコード化の重要なループにおいて処理及び時間集約的であり得、「ｉｆ」条件文の削除によって効率が改善され得る。
【０１１３】
[0110]また、ライスパラメータを様々な量だけ増加させるこの能力は、ルックアップテーブルによっても達成され得ることに留意されたい。例えば、ルックアップテーブルへの入力が、ライスパラメータの値と、復号されている係数のための係数レベルの絶対値とであり、ルックアップテーブルの出力は、ライスパラメータの値に適用されるべき、０及び１の従来の増分とは異なり得る変数増分の量である、ルックアップテーブルが使用され得る。
【０１１４】
[0111]上記に与えた例のうちのいずれかの組合せが使用され得る。例えば、上記に与えた例のいずれかにおけるパラメータは、上記で説明したように、ビデオエンコーダ２０によってビデオデコーダ３０に信号伝達されるか、又はビデオデコーダ３０によって信号伝達なしに導出され得る。本開示の技法は特に、可逆コード化されるか、又は、それらの状況において観測される異なる係数統計値により、ＨＥＶＣ規格における変換とは異なる変換でコード化されるデータに適し得る。特定の一例として、ライスパラメータ更新式ｃＲｉｃｅＰａｒａｍ＝Ｍｉｎ（ｃＬａｓｔＲｉｃｅＰａｒａｍ＋（ｃＬａｓｔＡｂｓＬｅｖｅｌ＞＞（２＜＜ｃＬａｓｔＲｉｃｅＰａｒａｍ）），４）は、変換が適用されないＣＧ、即ち、可逆コード化の場合かあるいは変換スキッピング又はバイパスを伴う非可逆コード化でのＣＧに使用され得、他の場合、ＨＥＶＣライスパラメータ更新方法が適用される。本開示の技法がより多くの利得を提供し得る別の状況は、極高ビットレート（即ち、高品質）ビデオコード化に関する。本開示の技法は、従って、ターゲットビットレート、ターゲットピーク信号対雑音比（ＰＳＮＲ）、あるいは残差ビデオデータがコード化される量子化ステップ又は量子化パラメータ（ＱＰ）に応じて適用され得る。
【０１１５】
[0112]本開示の技法は、上記で説明したライスパラメータ更新方式の変形態を含み、そのＣコード式を以下に繰り返す。
【０１１６】
cRiceParam = min<UInt>((cRiceParam + (absCoeff >>
(PARAM1*(2<<cRiceParam)))), MAX_RICE_PARAM);
[0113]本開示の技法の一例では、上記の基本式は、ライスパラメータがそれについて増加される係数の絶対値のための異なる閾値を取得するように拡張され得る。コード化されている係数の絶対値（即ち、ａｂｓＣｏｅｆｆ）にパラメータ値が加算されるか、又は、絶対値の右シフト演算がそれだけ実施される値にパラメータ値が加算又は乗算され得る。Ｃコード式の一例は次のように与えられる。
【０１１７】
cRiceParam = min<UInt>((cRiceParam + ((absCoeff+P1)>> 
(P2+P3*(P4<< cRiceParam)))), MAX_RICE_PARAM);
但し、パラメータ値は、整数値であるＰ１、Ｐ２、Ｐ３及びＰ４であり、ここで、（（ａｂｓＣｏｅｆｆ＋Ｐ１）＞＞（Ｐ２＋Ｐ３＊（Ｐ４＜＜ｃＲｉｃｅＰａｒａｍ）））は、ライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）と、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）とに基づいて決定されるライスパラメータの値の変数増分を定義する。この例では、変数増分は、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）の右シフトされたバージョンに基づいて決定され、但し、右シフトの量はライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）に基づく。パラメータＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは、ライスパラメータが達成し得る最大値を設定する。
【０１１８】
[0114]上記の例に示されているように、Ｐ１は、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）に加算され得、Ｐ２は、絶対値の右シフト演算がそれだけ実施される値（即ち、（Ｐ４＜＜ｃＲｉｃｅＰａｒａｍ））に加算され得、Ｐ３は、絶対値の右シフト演算がそれだけ実施される値（即ち、（Ｐ４＜＜ｃＲｉｃｅＰａｒａｍ））を乗算し得る。パラメータ値Ｐ４と、ライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）とは、絶対値の右シフト演算がそれだけ実施される値を決定し得る。
【０１１９】
[0115]等価的に、ＨＥＶＣ規格は、この最後の場合について以下のように定義され得る。
【０１２０】
cRiceParam = Min(cLastRiceParam + ( (cLastAbsLevel + P1) >> 
( P2 + P3 * ( P4  <<  cLastRiceParam ) ) ), MAX_RICE_PARAM )
[0116]この式の一実装形態では、パラメータ値は、Ｐ１＝０、Ｐ２＝１、Ｐ３＝１、Ｐ４＝１及びＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭ＝４になるように設定される。この特定の場合についてのＨＥＶＣテキストは以下の通りである。
【０１２１】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >> 
( 1 + ( 1 <<  cLastRiceParam ) ) ), 4 )
ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭが５に等しい例では、スクリーンコンテンツの可逆コード化について性能結果が改善され得る。スクリーンコンテンツの可逆コード化の場合のより一層大きい性能のために、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは７に等しく設定され得る。
【０１２２】
[0117]別の例では、条件を追加することによって、ライスパラメータの値だけ絶対値に適用される右シフトの量への影響は、以下のように限定され得る。
【０１２３】
cRiceParam = Min( cLastRiceParam + ( (cLastAbsLevel+P1) >> 
( P2 + P3 * ( P4 << ( cLastRiceParam > P5 ? P5 : cLastRiceParam ) ) ),
MAX_RICE_PARAM )
[0118]上記の例において、ライスパラメータ更新方式は、条件（ｃＬａｓｔＲｉｃｅＰａｒａｍ＞Ｐ５？Ｐ５：ｃＬａｓｔＲｉｃｅＰａｒａｍ）を含むように修正され、これにおいて、ライスパラメータの値がＰ５よりも大きいとき、ライスパラメータによるライシフト（righ-shift）量はＰ５の値に限定される。一実装形態では、パラメータ値は、Ｐ１＝０、Ｐ２＝１、Ｐ３＝１、Ｐ４＝１、Ｐ５＝０及びＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭ＝４になるように設定される。この特定の場合についてのＨＥＶＣテキストは以下の通りである。
【０１２４】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >> 
( 2  << ( cLastRiceParam > 0 ? 1 : 0 ) ), 4 )
この場合、絶対値に適用される右シフトの量は、１よりも大きいか又はそれに等しい（即ち、０よりも大きい）任意のライスパラメータについて、同じである、即ち、１に等しい。
【０１２５】
[0119]異なる条件下では、ライスパラメータの値を更新するために異なるプロセスが使用され得る。本開示で説明するライスパラメータ更新方法は、コード化されているＣＧを含む変換ブロックに変換が適用されるかどうかに応じて適用され得る。ビデオエンコーダ２０又はビデオデコーダ３０などのビデオコード化機器は、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はＳＰＳなどのパラメータセット中のプロファイルセットのうちの１つ又は複数に基づいて、変換ブロックに変換が適用されるかどうかを決定し得る。本開示のライスパラメータ更新方式を使用するプロファイルセットは、ＨＥＶＣの範囲拡張４：４：４のためのプロファイル又はスクリーンコンテンツ専用のプロファイルであり得るが、他のプロファイルはＨＥＶＣライスパラメータ更新方式を使用し得る。
【０１２６】
[0120]一例では、ＣＧを含む変換ブロックに変換が適用されるかどうかに基づく条件は以下のように提示され得る。
【０１２７】
ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇが１に等しいか又はｃｕ＿ｔｒａｎｓｑｕａｎｔ＿ｂｙｐａｓｓ＿ｆｌａｇが１に等しい場合、変数ｃＲｉｃｅＰａｒａｍは、ｃＬａｓｔＡｂｓＬｅｖｅｌ及びｃＬａｓｔＲｉｃｅＰａｒａｍから次のように導出される。
【０１２８】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >> 
( 1 + ( 1  <<  cLastRiceParam ) ) ), 4 )
他の場合、変数ｃＲｉｃｅＰａｒａｍは、ｃＬａｓｔＡｂｓＬｅｖｅｌ及びｃＬａｓｔＲｉｃｅＰａｒａｍから次のように導出される。
【０１２９】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel > 
( 3 * ( 1  <<  cLastRiceParam ) ) ? 1 : 0 ), 4 )
従って、本開示のライスパラメータ更新方式の一変形態は、変換が適用されないとき、即ち、可逆コード化又は変換スキップを伴う非可逆コード化の場合に適用され得、ＨＥＶＣライスパラメータ更新方式は、変換が適用されるとき、即ち、量子化変換係数の非可逆コード化の場合に適用され得る。
【０１３０】
[0121]本開示の技法は、上記で説明したライスパラメータ更新方式の追加の変形態を含み、そのＣコード式を以下に繰り返す。
【０１３１】
cRiceParam = min<UInt>((cRiceParam + (absCoeff >>
(PARAM1*(2<<cRiceParam)))), MAX_RICE_PARAM);
本開示の技法は、ライスパラメータの値を減少させるための、及び各ＣＧの開始においてライスパラメータを設定又は初期化するための方法について更に説明する。
【０１３２】
[0122]本開示の技法の一例では、上記の基本式は、ライスパラメータがそれについて増加される係数の絶対値のための異なる閾値を取得するように、及び乗算演算（即ち、左ビットシフト演算、「＜＜」）を削除するように拡張され得る。Ｃコード式の一例は次のように与えられる。
【０１３３】
cRiceParam = min((cRiceParam + ((absCoeff + P1)>>
(P2+P3*cRiceParam))), MAX_RICE_PARAM );
但し、パラメータ値は、整数値であるＰ１、Ｐ２及びＰ２であり、ここで、（（ａｂｓＣｏｅｆｆ＋Ｐ１）＞＞（Ｐ２＋Ｐ３＊ｃＲｉｃｅＰａｒａｍ））は、ライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）と、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）とに基づいて決定されるライスパラメータの値の変数増分を定義する。この例では、変数増分は、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）の右シフトされたバージョンに基づいて決定され、但し、右シフトの量はライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）に基づく。パラメータＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは、ライスパラメータが達成し得る最大値を設定する。
【０１３４】
[0123]上記の例に示されているように、Ｐ１は、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）に加算され得、Ｐ２は、絶対値の右シフト演算がそれだけ実施されるライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）に加算され得、Ｐ３は、絶対値の右シフト演算がそれだけ実施されるライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）を乗算し得る。
【０１３５】
[0124]ＨＥＶＣ規格は以下のように定義される。
【０１３６】
cRiceParam = Min( cLastRiceParam + ( ( cLastAbsLevel + P1 ) >> 
( P2 + P3 * cLastRiceParam ) ), MAX_RICE_PARAM )
[0125]上記の例示的な更新方法の一実装形態では、パラメータ値は、Ｐ１＝０、Ｐ２＝２、及びＰ３＝１、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭ＝４になるように設定される。これらのパラメータは、ビデオエンコーダ２０によってビデオデコーダ３０に信号伝達され得るか、又はこれらのパラメータは、ビデオデコーダ３０によって信号伝達なしに導出され得る。幾つかの例では、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは、非可逆コード化では４に等しく設定され、可逆コード化では５に等しく設定され得る。幾つかの他の例では、ＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭは７に等しく設定され得る。
【０１３７】
[0126]上記のデフォルト値を使用する本開示のライスパラメータ更新方式のためのＣコード式の一例は、以下の通りである。
【０１３８】
cRiceParam = min((cRiceParam + (absCoeff >> ( 2 + cRiceParam ))), 4 );
[0127]等価的に、ＨＥＶＣ規格は、この最後の場合について以下のように定義される。
【０１３９】
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >> 
( 2  + cLastRiceParam ) ), 4 )
[0128]別の例では、ライスパラメータの値の各更新における変数増分の量量は上限を定められ得る。例えば、各更新において（即ち、ライスパラメータによって定義されるゴロムコードを使用してコード化される各係数レベルについて）ライスパラメータの値がたかだか最大増分値（即ち、ＭＡＸ＿ＩＮＣＲＥＭＥＮＴ）だけ増加し得る、追加の制限が課され得る。上限を定められたライスパラメータ更新方式のための例示的な式は以下の通りであり得る。
【０１４０】
increment = Min( ( cLastAbsLevel >> 
( 2 + cLastRiceParam ) ), MAX_INCREMENT )
cRiceParam = Min( cLastRiceParam + increment, MAX_RICE_PARAM )
[0129]他の例では、ライスパラメータの値の各更新における変数増分の量の上限をＭＡＸ＿ＩＮＣＲＥＭＥＮＴに定める代わりに、変数増分がそれでスケーリングされる減衰ファクタがビー導入される。減衰されたライスパラメータ更新方式の一例は以下の通りであり得る。
【数１】
0006469652.tif 000003
【０１４１】
幾つかの例では、減衰ファクタ（即ち、ｄａｍｐ＿ｆａｃｔ）は１以下である。
【０１４２】
[0130]１つの更新ステップにおけるｃＲｉｃｅＰａｒａｍの最大増分の上限を定めるという、又は増分の量を減衰させるというこの概念は、本開示で説明するライスパラメータ更新方式の例のいずれにも適用され得る。同じ概念はまた、以下でより詳細に説明するように、ライスパラメータが減少することが可能にされる場合、ライスパラメータの値の減分の上限を定めるか又はその減分を減衰させるために適用され得る。上記で説明した技法は、全てのブロック中のＣＧに適用され得るか、又は、変換がそれに適用されない、即ち、可逆コード化又は変換スキッピング又はバイパスを伴う非可逆コード化の場合のブロック中のＣＧのみに適用され得る。
【０１４３】
[0131]上記で説明したライスパラメータ更新技法は、ライスパラメータがＣＧにわたって減少することを可能にしないことがある。代わりに、更新関数は増加関数として説明された。本開示の技法は、ライスパラメータの値が場合によっては減少することを可能にするライスパラメータ更新方法を更に含む。概括的な言葉で、ライスパラメータの増分と減分の両方を可能にするライスパラメータ更新方式は以下のように表され得る。
【０１４４】
cRiceParam = F1( cRiceParam, absCoeff )
但し、Ｆ1は、ライスパラメータの幾つかの入力値（即ち、ｃＲｉｃｅＰａｒａｍ）と、コード化されている係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）との下で、ｃＲｉｃｅＰａｒａｍの出力値がｃＲｉｃｅＰａｒａｍの入力値よりも小さくなるように減少していることがある関数である。
【０１４５】
[0132]より具体的な例では、更新方式は以下のように記述され得る。
【０１４６】
If ( F2 ( cRiceParam, absCoeff ) )
cRiceParam = cRiceParam + F3( cRiceParam, absCoeff );
else
cRiceParam = cRiceParam - F4( cRiceParam, absCoeff );
但し、条件が関数Ｆ2の上でテストされ、関数Ｆ3及びＦ4は、入力としてｃＲｉｃｅＰａｒａｍ及びａｂｓＣｏｅｆｆ、ならびに潜在的に、前のＣＧの統計値などの他の入力）を取り、０よりも大きいか又はそれに等しいライスパラメータの値を出力する。
【０１４７】
[0133]上記の例示的な更新方式の一実装形態では、単純な関数Ｆ2、Ｆ3及びＦ4はそれぞれ以下のように定義される。
【０１４８】
If (absCoeff >= (P1*cRiceParam+P2))
cRiceParam = min((cRiceParam+(absCoeff >> (2+cRiceParam))), MAX_RICE_PARAM);
else 
cRiceParam = max(cRiceParam - 1, 0);
但し、Ｐ１及びＰ２はパラメータ値である。一例では、パラメータ値は、良好なコード化性能利得を提供するために、Ｐ１＝１、Ｐ２＝０、及びＭＡＸ＿ＲＩＣＥ＿ＰＡＲＡＭ＝４として設定され得る。他の例では、特に可逆コード化では、ライスパラメータの最大値は、５又は７など、４よりも大きい整数値に等しく設定され得る。
【０１４９】
[0134]上記の例では、条件操作は、コード化されている現在の係数のための係数レベルの絶対値（即ち、ａｂｓＣｏｅｆｆ）がライスパラメータの値（即ち、ｃＲｉｃｅＰａｒａｍ）よりも大きいか又はそれに等しいかどうかを決定するために実施され得る。現在の係数のための係数レベルの絶対値がライスパラメータの値よりも大きいか又はそれに等しい場合、ライスパラメータの値は、上記で詳細に説明したように、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて更新され得る。現在の係数のための係数レベルの絶対値がライスパラメータの値よりも小さい場合、ライスパラメータの値は、０又はライスパラメータの値の減分のいずれかの最大値の選択に基づいて更新され得る。
【０１５０】
[0135]ライスパラメータの増分と減分の両方を可能にするライスパラメータ更新方式の上記の例は、ライスパラメータを増加させるべきか減少させるべきかを決定するための１つの追加の条件操作（即ち、ｉｆ／ｅｌｓｅ条件）を含み得る。しかしながら、本技法は、条件の総数がＨＥＶＣ方式におけるのと同じままであるように条件がＨＥＶＣライスパラメータ更新方式に関して削除されている、本開示のライスパラメータ更新方式に基づく。幾つかの例では、他のライスパラメータ更新方法が、ライスパラメータを増分するか又はそれを減分するように修正され得る。
【０１５１】
[0136]更に、変換スキップを伴う非可逆コード化の場合、ライスパラメータの値の減分は、以下のように変換スキップブロックのみに適用され得る。
【０１５２】
If ( absCoeff >= cRiceParam || transform_skip_flag )
cRiceParam = min((cRiceParam+(absCoeff >>(2 + cRiceParam))), 4);
else 
cRiceParam = cRiceParam - 1;
但し、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇは、変換がＣＧ又はＣＧの変換ブロックについてスキップされたかどうかを信号伝達する。
【０１５３】
[0137]上記の例では、ライスパラメータは１だけのみ減少し得る。他の例では、関数Ｆ４は、ライスパラメータの現在値が大きく現在の係数の絶対値が小さい場合、ライスパラメータが１超だけ減少し得るように選定され得る。
【０１５４】
[0138]本開示の技法は、ここまでは、ＣＧ又は係数のブロックをコード化しながらライスパラメータの値を更新することに焦点を当ててきた。以下の例では、ＣＧの開始においてライスパラメータの値を初期化するための技法について説明する。従来、ＨＥＶＣ規格では、ライスパラメータは、ＣＧ（例えば、４×４変換ブロック又は変換ブロック中の４×４サブブロック）中の係数の残りの絶対値をコード化した後に０の値にリセットされる。スクリーンコンテンツのための係数レベルをコード化する場合、又は可逆コード化若しくは変換スキッピング又はバイパスを伴う非可逆コード化の場合、ライスパラメータの値を０に初期化することは最適でないことがある。本開示の技法は、変換ブロックの各ＣＧの開始においてライスパラメータの値を非０値に初期化又は設定し得る。
【０１５５】
[0139]本開示のライスパラメータ初期化方式の一例として、ライスパラメータは、ＣＧをコード化した後にリセットされない。本開示の技法によれば、後続のＣＧのためのライスパラメータの値は、代わりに、現在のＣＧのコード化の終了時にライスパラメータについて取得されたのと同じ値に設定される。ＨＥＶＣ初期化方式の場合のように、値は、後続のＣＧの開始において０に等しく設定され得る。しかしながら、ＨＥＶＣ方式とは異なり、ライスパラメータの値は０に設定されることを必要とされない。
【０１５６】
[0140]本開示のライスパラメータ初期化方式の別の例として、後続のＣＧのためのライスパラメータの値は、現在のＣＧをコード化した後のライスパラメータの値に基づく値に設定される。特定の例では、各ＣＧの開始におけるライスパラメータは以下のように設定される。
【０１５７】
cRiceParam = max ( 0, cRiceParam - 1);
上記の例では、ライスパラメータの値は、現在のＣＧをコード化した後に、０又はライスパラメータの値の減少のいずれかの最大値の選択に基づいて、後続のＣＧについて初期化される。幾つかの他の例では、ライスパラメータの初期化値は、以下の例におけるように上限を定められ得る。
【０１５８】
cRiceParam = min ( 2, max ( 0, cRiceParam - 1 ) );
この例では、ライスパラメータの初期化値は２よりも大きくならないように上限を定められる。
【０１５９】
[0141]幾つかの例では、ライスパラメータの現在値から１ではなく２（即ち、ｎは２に等しい）を減算することを含めて、ライスパラメータの現在値を低減するために１以外の値（例えば、値ｎ）が使用され得る。例えば、変換がそれに適用される変換ブロック中に後続のＣＧが含まれるかどうかに基づいて、ライスパラメータを初期化するための減少の値は変動し得る。例示的な式は以下の通りであり得る。
【０１６０】
if(transform_skip_flag)
cRiceParam = max(0, cRiceParam - 1);
else
cRiceParam = max(0, cRiceParam - 2);
[0142]本開示で説明するライスパラメータ初期化方式の例示的な場合は、全ての変換ブロック中に含まれるＣＧに適用され得るか、又は、変換ブロックに変換が適用されるかどうかに基づいてＣＧに適用され得る。例えば、変換スキッピング又は変換バイパスを伴う変換ブロックの場合、ライスパラメータ値は、ブロック中の後続のＣＧについて０にリセットされないことがあるが、変換がそれに適用されている変換ブロックについては、ライスパラメータはブロック中の後続のＣＧについて０にリセットされ得る。
【０１６１】
[0143]例えば、変換スキップを伴う非可逆コード化の場合、後続のＣＧのための初期化のためのライスパラメータの値の減少は、変換スキップブロック中のＣＧのみに適用され得る。例示的な式は以下の通りであり得る。
【０１６２】
if(transform_skip_flag)
cRiceParam = max(0, cRiceParam - 1);
else
cRiceParam = 0
[0144]概して、本開示では、ＣＧを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するための技法について説明する。本開示によれば、ライスパラメータの値を調整することは、ＣＧ中の後続の係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を更新すること、又は、後続のＣＧ中の少なくとも１つの係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を初期化することを含み得る。
【０１６３】
[0145]例えば、変換ブロックに変換が適用されない場合、即ち、変換スキップ又はバイパスの場合、本開示で説明するライスパラメータ更新方式は、ＣＧ中の後続の係数のためのライスパラメータの値を更新するために使用され得る。そうではなく、変換ブロックに変換が適用される場合、ＣＧ中の後続の係数のためのライスパラメータの値を更新するためにＨＥＶＣライスパラメータ更新方式が使用され得る。更なる一例では、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のＣＧをコード化した後に、ライスパラメータの値に基づいて変換ブロック中の後続のＣＧについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のＣＧについて０に等しくなるように初期化され得る。
【０１６４】
[0146]ライスパラメータの値を調整する例示的な方法、例えば、ライスパラメータ更新方式及びライスパラメータ初期化方式について、上記では別々に説明したが、本開示の技法はそのように限定されない。概して、上記で説明した例示的な技法の様々な組合せが可能であり得る。上記で説明した例示的な方法はまた、別々に実装され得る。更に、上記で説明した方法の全て又はそれらの組合せは、全ての変換ブロック内のＣＧに適用されるか、又は変換がそれについてスキップ又はバイパスされる変換ブロックのみに適用され得る。
【０１６５】
[0147]図５は、本開示で説明する係数レベルを符号化するための技法を実装し得る例示的なビデオエンコーダを示すブロック図である。ビデオエンコーダ２０について、例示のためにＨＥＶＣコード化のコンテキストにおいて説明するが、変換係数の走査を必要とし得る他のコード化規格又は方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコード化及びインターコード化を実施し得る。イントラコード化は、所与のビデオフレーム内のビデオデータの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの現在のフレームと以前にコード化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
【０１６６】
[0148]図５に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図５の例では、ビデオエンコーダ２０は、モード選択ユニット３０と、ビデオデータメモリ４１と、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測処理ユニット４６と、復号ピクチャバッファ（ＤＰＢ）６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図５に示された変換処理ニット５２は、残差データのブロックに実際の変換又は変換の組合せを適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。再構成されたビデオからブロック歪み（blockiness artifacts）を除去するためにブロック境界をフィルタ処理するために、デブロッキングフィルタ（図５に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。
【０１６７】
[0149]ビデオデータメモリ４１は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４１に記憶されたビデオデータは、例えば、ビデオ発信源１８から取得され得る。復号ピクチャバッファ６４は、例えば、イントラコード化モード又はインターコード化モードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ４１及び復号ピクチャバッファ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、又は他のタイプのメモリ機器を含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ４１及び復号ピクチャバッファ６４は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、ビデオデータメモリ４１は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【０１６８】
[0150]符号化プロセス中に、ビデオエンコーダ２０は、コード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大コード化単位（ＬＣＵ）に分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ又は複数の参照フレーム中の１つ又は複数のブロックに対して受信されたビデオブロックのインター予測コード化を実施する。イントラ予測処理ニット４６は、空間圧縮を行うために、コード化されるべきブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コード化を実施し得る。
【０１６９】
[0151]モード選択ユニット４０は、例えば、各モードについての誤差（即ち、歪み）結果に基づいて、コード化モードのうちの１つ、即ち、イントラ又はインターを選択し得、得られたイントラ又はインター予測ブロック（例えば、予測単位（ＰＵ））を、残差ブロックデータを生成するために加算器５０に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器６２に与える。加算器６２は、以下でより詳細に説明するように、予測ブロックを、そのブロックについての、逆変換処理ユニット６０からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。幾つかのビデオフレームはＩフレームに指定され得、Ｉフレーム中の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定ユニット４２によって実施された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測処理ユニット４６は、Ｐフレーム又はＢフレーム中のブロックのイントラ予測符号化を実施し得る。
【０１７０】
[0152]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定（又は動き探索）は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在のフレーム中の予測単位の変位を示し得る。動き推定ユニット４２は、予測単位を復号ピクチャバッファ６４に記憶された参照ピクチャの参照サンプルと比較することによってインターコード化フレームの予測単位の動きベクトルを計算する。参照サンプルは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of squared difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレーム又は参照スライス内のどこにでも発生し得、必ずしも、参照フレーム又はスライスのブロック（例えば、コード化単位）境界において発生するとは限らない。幾つかの例では、参照サンプルは分数画素位置において発生し得る。
【０１７１】
[0153]動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、例えば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在のＣＵの予測単位についての予測値を計算し得る。
【０１７２】
[0154]イントラ予測処理ユニット４６は、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測処理ユニット４６は、隣接する、以前にコード化されたブロック、例えば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在のブロックの上、右上、左上、又は左のブロックに対して受信ブロックを予測し得る。イントラ予測処理ユニット４６は多種多様なイントラ予測モードで構成され得る。例えば、イントラ予測処理ユニット４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、例えば、３３個の方向性予測モードで構成され得る。
【０１７３】
[0155]イントラ予測処理ユニット４６は、例えば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をＰＵ中の１つ又は複数の画素位置に適用するための機能を含み得る。ＰＵ中の全ての画素位置の値が計算されると、イントラ予測処理ユニット４６は、ＰＵと符号化されるべき受信ブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測処理ユニット４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測処理ユニット４６は、次いで、ＰＵを加算器５０に送り得る。
【０１７４】
[0156]ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４又はイントラ予測処理ユニット４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実施する１つ又は複数の構成要素を表す。残差ブロックは画素差分値の２次元行列に対応し得、ここで、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中の画素の数と同じである。残差ブロック中の値は、ＰＵ中と、コード化されるべき元のブロック中との同一位置配置画素（co-located pixels）の値の差分、即ち、誤差に対応し得る。差分は、コード化されるブロックのタイプに応じてクロマ差分又はルーマ差分であり得る。
【０１７５】
[0157]変換処理ユニット５２は、残差ブロックから１つ又は複数の変換単位（ＴＵ）を形成し得る。変換処理ユニット５２は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コード化モードなど、１つ又は複数のコード化特性に基づいて選択され得る。変換処理ユニット５２は、次いで、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、その変換係数を量子化し得る。
【０１７６】
[0158]エントロピー符号化ユニット５６が、次いで、走査モードに従って行列中の係数の走査を実施し得る。非可逆コード化の場合、係数は、量子化された変換係数であり得る。可逆コード化又は変換スキッピング若しくはバイパスを伴う非可逆コード化の場合、係数は、変換又は量子化されていない係数であり得る。本開示では、エントロピー符号化ユニット５６が走査を実施するものとして説明する。但し、他の例では、量子化ユニット５４などの他の処理ユニットが走査を実施し得ることを理解されたい。
【０１７７】
[0159]変換係数が１次元アレイに走査されると、エントロピー符号化ユニット５６は、ＣＡＢＡＣ、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ）、又は別のエントロピーコード化方法などのエントロピーコード化を係数に適用し得る。エントロピー符号化ユニット５６は、本開示の技法に従って係数をコード化するように構成され得る。ＣＡＢＡＣの例では、エントロピー符号化ユニット５６は、通常コード化モード又はバイパスモードのいずれかを使用して係数を符号化し得る。ＣＡＢＡＣを実施するために、エントロピー符号化ユニット５６は、送信されるべきシンボルを符号化するためのあるコンテキストを適用するためにコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非０であるか否かに関係し得る。エントロピー符号化ユニット５６は、コンテキストモデル選択のために使用される要因の中でも、例えば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、及び／又は変換タイプに基づいて、これらのシンボルを符号化するために使用されるコンテキストモデルを選択し得る。
【０１７８】
[0160]エントロピー符号化ユニット５６は、ビデオデコーダ又は記憶機器への送信のために残差ビデオデータの係数レベルをビットストリーム中に符号化し得る。可逆ビデオコード化、又は変換スキッピング若しくはバイパスを伴う非可逆ビデオコード化の場合、符号化されるべき係数は、大きい絶対値をもつ係数レベルを有し得る。係数が、グラフィック及びテキスト領域を含み得るスクリーンコンテンツを表すとき、そのコンテンツはうまく予測されないことがあり、その結果、符号化されるべき係数のための係数レベルの大きい絶対値が生じる。
【０１７９】
[0161]エントロピー符号化ユニット５６は、ライスパラメータによって定義されるゴロムコードを使用してバイパスモードで係数グループ（ＣＧ）中の少なくとも１つの係数のための係数レベルの残りの絶対値（例えば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ又はｌｅｖｅｌＲｅｍ）を符号化する。本開示の技法によれば、エントロピー符号化ユニット５６は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新するように構成される。変数増分の量は、ライスパラメータの値と、符号化されている現在の係数のための係数レベルの絶対値とに基づいて決定される。変数増分は、ライスパラメータの値がライスパラメータの最大値まで、いずれかの整数値だけ増加することを可能にする。ライスパラメータ更新を表す例示的な式については上記でより詳細に説明した。本開示で説明するライスパラメータ更新方式は、スクリーンコンテンツのブロックと変換スキッピング又はバイパスを伴うブロックとにおいて生じ得る大きい係数値にライスパラメータが迅速に及び効率的に適応することを可能にする。
【０１８０】
[0162]幾つかの例では、エントロピー符号化ユニット５６は、ＣＧを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するように更に構成され得る。本開示で説明する技法によれば、変換ブロックに変換が適用されないとき、即ち、変換スキップ又はバイパスの場合、エントロピー符号化ユニット５６は、ＣＧの係数のための係数レベルの大きい絶対値に適応するためにフレキシブルであるライスパラメータ更新及びライスパラメータ初期化方式を実施し得る。一方、変換ブロックに変換が適用されるとき、エントロピー符号化ユニット５６は、変換された係数の小さい係数値のために最適化されたＨＥＶＣライスパラメータ更新及び初期化方式を適用し得る。
【０１８１】
[0163]エントロピー符号化ユニット５６によるエントロピーコード化の後に、得られた符号化ビデオは、ビデオデコーダ３０などの別の機器に送信されるか、又は後で送信するか若しくは取り出すためにアーカイブされ得る。場合によっては、エントロピー符号化ユニット５６又はビデオエンコーダ２０の別のユニットは、エントロピーコード化に加えて、他のコード化機能を実施するように構成され得る。例えば、エントロピー符号化ユニット５６は、ＣＵとＰＵとのコード化ブロックパターン（ＣＢＰ：coded block pattern）値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は係数のランレングスコード化を実施し得る。
【０１８２】
[0164]逆量子化ユニット５８及び逆変換処理ユニット６０は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを復号ピクチャバッファ６４の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、復号ピクチャバッファ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するための参照ブロックとして動き推定ユニット４２及び動き補償ユニット４４によって使用され得る。
【０１８３】
[0165]図６は、本開示で説明する係数レベルを復号するための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図６の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、ビデオデータメモリ７１と、動き補償ユニット７２と、イントラ予測処理ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、復号ピクチャバッファ（ＤＰＢ）８２と、加算器８０とを含む。ビデオデコーダ３０は、幾つかの例では、ビデオエンコーダ２０（図５参照）に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
【０１８４】
[0166]ビデオデータメモリ７１は、ビデオエンコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ７１に記憶されたビデオデータは、例えば、コンピュータ可読媒体１６から、例えば、カメラなどのローカルビデオ発信源から、ビデオデータのワイヤード又はワイヤレスネットワーク通信を介して、若しくは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７１は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ８２は、例えば、イントラコード化モード又はインターコード化モードでビデオデコーダ３０によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ７１及び復号ピクチャバッファ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、又は他のタイプのメモリ機器を含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ７１及び復号ピクチャバッファ８２は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、ビデオデータメモリ７１は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【０１８５】
[0167]エントロピー復号ユニット７０は、残差ビデオデータ係数の１次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実施する。使用されるエントロピー復号プロセスは、ビデオエンコーダ２０によって使用されたエントロピーコード化（例えば、ＣＡＢＡＣ）に依存する。エンコーダによって使用されたエントロピーコード化プロセスは、符号化ビットストリーム中で信号伝達されるか、又は所定のプロセスであり得る。エントロピー復号ユニット７０は、本開示の技法に従って係数を復号するように構成され得る。ＣＡＢＡＣの例では、エントロピー復号ユニット７０は、通常コード化モード又はバイパスモードのいずれかを使用して係数を復号し得る。
【０１８６】
[0168]幾つかの例では、エントロピー復号ユニット７０は、ビデオエンコーダ２０のエントロピー符号化ユニット５６によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット７６において実施され得るが、走査については、例示のために、エントロピー復号ユニット７０によって実施されるものとして説明する。更に、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆量子化ユニット７６、及び他のユニットの構造及び機能は、互いに高度に統合され得る。
【０１８７】
[0169]エントロピー復号ユニット７０は、ビデオエンコーダ２０とは逆の様式でビットストリームからの残差ビデオデータ係数の係数レベルを復号する。非可逆ビデオコード化の場合、復号されるべき係数は、量子化された変換係数であり得る。可逆ビデオコード化、又は変換スキッピング若しくはバイパスを伴う非可逆ビデオコード化の場合、復号されるべき係数は、大きい絶対値をもつ係数レベルを有し得る。係数が、グラフィック及びテキスト領域を含み得るスクリーンコンテンツを表すとき、そのコンテンツはうまく予測されないことがあり、その結果、復号されるべき係数のための係数レベルの大きい絶対値が生じる。
【０１８８】
[0170]エントロピー復号ユニット７０は、ライスパラメータによって定義されるゴロムコードを使用して係数グループ（ＣＧ）中の少なくとも１つの係数のための係数レベルの残りの絶対値を復号する。本開示の技法によれば、エントロピー復号ユニット７０は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新するように構成される。変数増分の量は、ライスパラメータの値と、復号されている現在の係数のための係数レベルの絶対値とに基づいて決定される。変数増分は、ライスパラメータの値がライスパラメータの最大値まで、いずれかの整数値だけ増加することを可能にする。ライスパラメータ更新を表す例示的な式については上記でより詳細に説明した。本開示で説明するライスパラメータ更新方式は、スクリーンコンテンツのブロックと変換スキッピング又はバイパスを伴うブロックとにおいて生じ得る大きい係数値にライスパラメータが迅速に及び効率的に適応することを可能にする。
【０１８９】
[0171]幾つかの例では、エントロピー復号ユニット７０は、ＣＧを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するように更に構成され得る。本開示で説明する技法によれば、変換ブロックに変換が適用されないとき、即ち、変換スキップ又はバイパスの場合、エントロピー復号ユニット７０は、ＣＧの係数のための係数レベルの大きい絶対値に適応するためにフレキシブルであるライスパラメータ更新及びライスパラメータ初期化方式を実施し得る。一方、変換ブロックに変換が適用されるとき、エントロピー復号ユニット７０は、変換された係数の小さい係数値のために最適化されたＨＥＶＣライスパラメータ更新及び初期化方式を適用し得る。
【０１９０】
[0172]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化された変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、ＨＥＶＣのために提案されたプロセス又はＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化処理は、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰの使用を含み得る。逆量子化ユニット７６は、係数が１次元アレイから２次元アレイに変換される前又は変換された後に変換係数を逆量子化し得る。
【０１９１】
[0173]逆変換処理ユニット７８は、逆量子化された変換係数に逆変換を適用する。幾つかの例では、逆変換処理ユニット７８は、ビデオエンコーダ２０からの信号伝達に基づいて、又はブロックサイズ、コード化モードなどの１つ以上のコード化特性から変換を推測することによって、逆変換を決定し得る。幾つかの例では、逆変換処理ユニット７８は、現在のブロックを含むＬＣＵのための４分木のルートノードにおける信号伝達された変換に基づいて、現在のブロックに適用すべき変換を決定し得る。代替的に、変換は、ＬＣＵ４分木中のリーフノードＣＵのためのＴＵ４分木のルートにおいて信号伝達され得る。幾つかの例では、逆変換処理ユニット７８は、逆変換処理ユニット７８が、復号されている現在のブロックの変換係数に２つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
【０１９２】
[0174]イントラ予測処理ユニット７４は、信号伝達されたイントラ予測モードと、現在のフレームについて以前に復号されたブロックからのデータとに基づいて、現在のフレームの現在のブロックについての予測データを生成し得る。
【０１９３】
[0175]動き補償ユニット７２は、符号化ビットストリームから、動きベクトルと、動き予測方向と、参照インデックスとを取り出し得る。参照予測方向は、インター予測モードが単方向である（例えば、Ｐフレーム）か、双方向である（Ｂフレーム）かを示す。参照インデックスは、候補動きベクトルがどの参照フレームに基づくかを示す。取り出された動き予測方向と、参照フレームインデックスと、動きベクトルとに基づいて、動き補償ユニット７２は、現在の部分についての動き補償ブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
【０１９４】
[0176]動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実施し得る。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１９５】
[0177]更に、動き補償ユニット７２及びイントラ予測処理ユニット７４は、ＨＥＶＣの例では、（例えば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスのフレームを符号化するために使用されるＬＣＵのサイズを決定し得る。動き補償ユニット７２及びイントラ予測処理ユニット７４はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（及び、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を決定し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（例えば、イントラ又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つ又は複数の参照フレーム（及び／又はそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
【０１９６】
[0178]加算器８０は、残差ブロックを、動き補償ユニット７２又はイントラ予測処理ユニット７４によって生成された対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロック歪みを除去するために復号されたブロックをフィルタ処理するために、デブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、復号ピクチャバッファ８２に記憶され、復号ピクチャバッファ８２は、参照ブロックを後続の動き補償のために与え、また、（図１の表示装置３２などの）表示装置上での提示のために復号されたビデオを生成する。
【０１９７】
[0179]図７は、本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を更新する例示的な動作を示すフローチャートである。例示的な動作について、図５からのエントロピー符号化ユニット５６を含むビデオエンコーダ２０に関して説明する。
【０１９８】
[0180]エントロピー符号化ユニット５６は、ビデオデコーダ３０への送信のために又は記憶媒体３４若しくはファイルサーバ３６上の記憶のために、ビットストリーム中に符号化されるべき残差ビデオデータの係数を受信する。符号化のための残差ビデオデータ係数を受信すると、エントロピー符号化ユニット５６は、係数のブロック又は係数グループ（ＣＧ）を決定する（１００）。ＣＧは、図４に示されているｎ×ｎ（例えば、４×４）サブブロックなど、変換ブロックのサブブロックであり得る。
【０１９９】
[0181]上記でより詳細に説明したように、エントロピー符号化ユニット５６は、ＣＧ中の係数の係数レベルを符号化するために、逆方向走査順序に従ってＣＧについて１つ又は複数の走査を実施し得る。例えば、エントロピー符号化ユニット５６は、通常コード化モードでコンテキストモデルを使用して、係数が、１よりも大きい絶対値をもつ係数レベルを有するか、又は２よりも大きい絶対値をもつ係数レベルを有するかを示すためのフラグ又はシンタックス要素を符号化し得る。エントロピー符号化ユニット５６は、次いで、ライスパラメータによって定義されるゴロムコードを使用してＣＧ中の係数のうちの少なくとも１つのための係数レベルの残りの絶対値を示すためのフラグ又はシンタックス要素を符号化する（１０２）。例えば、エントロピー符号化ユニット５６は、バイパスモードで２よりも大きい係数レベルをもつ係数の全てのための係数レベルの残りの絶対値を示すシンタックス要素を符号化し得る。
【０２００】
[0182]本開示の技法に従って、エントロピー符号化ユニット５６は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新する（１０４）。上記で詳細に説明したように、変数増分の量は、ライスパラメータの値と、符号化されている係数のための係数レベルの絶対値とに基づいて決定される。幾つかの例では、変数増分の量は、現在の係数のための係数レベルの絶対値の右シフトされたバージョンに基づいて決定され得、ここで、右シフトの量はライスパラメータの値に基づく。幾つかの例では、エントロピー符号化ユニット５６は、ＣＧ中の後続の係数のための係数レベルの残りの絶対値を符号化するためのゴロムコードを定義するために、ライスパラメータの更新された値を使用し得る。
【０２０１】
[0183]図８は、本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を更新する例示的な動作を示すフローチャートである。例示的な動作について、図６からのエントロピー復号ユニット７０を含むビデオデコーダ３０に関して説明する。
【０２０２】
[0184]ビデオデコーダ３０は、ビデオエンコーダ２０から、又は記憶媒体３４若しくはファイルサーバ３６などの記憶機器から符号化ビデオビットストリームを受信する。受信されたビデオビストリームは、復号されるべき残差ビデオデータの係数を表す。ビデオビットストリームを受信すると、エントロピー復号ユニット７０は、ビットストリームから復号されるべき残差ビデオデータ係数のブロック又は係数グループ（ＣＧ）を決定する（１１０）。ＣＧは、図４に示されている４×４サブブロックなど、変換ブロックのサブブロックであり得る。
【０２０３】
[0185]上記でより詳細に説明したように、エントロピー復号ユニット７０は、ＣＧ中の係数の係数レベルを復号するために、逆方向走査順序に従ってＣＧについて１つ又は複数の走査を実施し得る。例えば、エントロピー復号ユニット７０は、通常コード化モードでコンテキストモデルを使用して、係数が、絶対値をもつ係数レベルを有するかどうか、１よりも大きいか２よりも大きいかを示すフラグ又はシンタックス要素を復号し得る。エントロピー復号ユニット７０はまた、ライスパラメータによって定義されるゴロムコードを使用してＣＧ中の係数のうちの少なくとも１つのための係数レベルの残りの絶対値を示すフラグ又はシンタックス要素を復号する（１１２）。例えば、エントロピー復号ユニット７０は、バイパスモードで２よりも大きい係数レベルをもつ係数の全てのための係数レベルの残りの絶対値を示すシンタックス要素を復号し得る。
【０２０４】
[0186]本開示の技法に従って、エントロピー復号ユニット７０は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新する（１１４）。上記で詳細に説明したように、変数増分の量は、ライスパラメータの値と、復号されている係数のための係数レベルの絶対値とに基づいて決定される。幾つかの例では、変数増分の量は、現在の係数のための係数レベルの絶対値の右シフトされたバージョンに基づいて決定され得、ここで、右シフトの量はライスパラメータの値に基づく。幾つかの例では、エントロピー復号ユニット７０は、ＣＧ中の後続の係数のための係数レベルの残りの絶対値を復号するためのゴロムコードを定義するために、ライスパラメータの更新された値を使用し得る。
【０２０５】
[0187]図９は、本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を調整する例示的な動作を示すフローチャートである。例示的な動作について、図５からのエントロピー符号化ユニット５６を含むビデオエンコーダ２０に関して説明する。
【０２０６】
[0188]エントロピー符号化ユニット５６は、ビデオデコーダ３０への送信のために又は記憶媒体３４又はファイルサーバ３６上の記憶のために、ビットストリーム中に符号化されるべき残差ビデオデータの係数を受信する。符号化のための残差ビデオデータ係数を受信すると、エントロピー符号化ユニット５６は、係数のブロック又は係数グループ（ＣＧ）を決定する（１２０）。ＣＧは、図４に示されている４×４サブブロックなど、変換ブロックのサブブロックであり得る。非可逆ビデオコード化の場合、符号化されるべき係数は、量子化された変換係数であり得る。可逆ビデオコード化と、変換スキップ又はバイパスを伴う非可逆ビデオコード化との場合、変換及び量子化演算は、符号化されるべき係数についてスキップされる。
【０２０７】
[0189]上記でより詳細に説明したように、エントロピー符号化ユニット５６は、ＣＧ中の係数の係数レベルを符号化するために、逆方向走査順序に従ってＣＧについて１つ又は複数の走査を実施し得る。例えば、エントロピー符号化ユニット５６は、ライスパラメータによって定義されるゴロムコードを使用してＣＧ中の係数のうちの少なくとも１つのための係数レベルの残りの絶対値を示すフラグ又はシンタックス要素を符号化する（１２２）。本開示の技法に従って、エントロピー符号化ユニット５６は、ＣＧを含む変換ブロックに変換が適用されたかどうかに基づいてライスパラメータの値を調整する（１２４）。エントロピー符号化ユニット５６は、変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも１つに基づいて、変換ブロックに変換が適用されるかどうかを決定し得る。
【０２０８】
[0190]一例では、本開示の技法によれば、変換ブロックに変換が適用されない場合、ＣＧ中の後続の係数のための係数レベルの残りの絶対値をコード化するためのライスパラメータの値を更新するために、本開示で説明するライスパラメータ更新方式が使用され得る。そうではなく、変換ブロックに変換が適用される場合、ＣＧ中の後続の係数のためのライスパラメータの値を更新するためにＨＥＶＣライスパラメータ更新方式が使用され得る。別の例では、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のＣＧ中の係数のための係数レベルの残りの絶対値を符号化した後に、ライスパラメータの値に基づいて変換ブロック中の後続のＣＧについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のＣＧについて０に等しくなるように初期化され得る。
【０２０９】
[0191]図１０は、本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を調整する例示的な動作を示すフローチャートである。例示的な動作について、図６からのエントロピー復号ユニット７０を含むビデオデコーダ２０に関して説明する。
【０２１０】
[0192]ビデオデコーダ３０は、ビデオエンコーダ２０から、又は記憶媒体３４若しくはファイルサーバ３６などの記憶機器から符号化ビデオビットストリームを受信する。受信されたビデオビストリームは、復号されるべき残差ビデオデータの係数を表す。ビデオビットストリームを受信すると、エントロピー復号ユニット７０は、ビットストリームから復号されるべき残差ビデオデータ係数のブロック又は係数グループ（ＣＧ）を決定する（１３０）。ＣＧは、図４に示されている４×４サブブロックなど、変換ブロックのサブブロックであり得る。非可逆ビデオコード化の場合、復号されるべき係数は、量子化された変換係数であり得る。可逆ビデオコード化と、変換スキップ又はバイパスを伴う非可逆ビデオコード化との場合、変換及び量子化演算は、復号されるべき係数についてスキップされる。
【０２１１】
[0193]上記でより詳細に説明したように、エントロピー復号ユニット７０は、ＣＧ中の係数の係数レベルを復号するために、逆方向走査順序に従ってＣＧについて１つ又は複数の走査を実施し得る。例えば、エントロピー復号ユニット７０は、ライスパラメータによって定義されるゴロムコードを使用してＣＧ中の係数のうちの少なくとも１つのための係数レベルの残りの絶対値を示すフラグ又はシンタックス要素を復号する（１３２）。本開示の技法に従って、エントロピー復号ユニット７０は、ＣＧを含む変換ブロックに変換が適用されたかどうかに基づいてライスパラメータの値を調整する（１３４）。エントロピー復号ユニット７０は、変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも１つに基づいて、変換ブロックに変換が適用されるかどうかを決定し得る。
【０２１２】
[0194]一例では、本開示の技法によれば、変換ブロックに変換が適用されない場合、ＣＧ中の後続の係数のための係数レベルの残りの絶対値をコード化するためのライスパラメータの値を更新するために、本開示で説明するライスパラメータ更新方式が使用され得る。そうではなく、変換ブロックに変換が適用される場合、ＣＧ中の後続の係数のためのライスパラメータの値を更新するためにＨＥＶＣライスパラメータ更新方式が使用され得る。別の例では、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のＣＧ中の係数のための係数レベルの残りの絶対値を復号した後に、ライスパラメータの値に基づいて変換ブロック中の後続のＣＧについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のＣＧについて０に等しくなるように初期化され得る。
【０２１３】
[0195]１つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得るか、又は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、又は（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び／又はデータ構造を取り出すために、１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２１４】
[0196]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置機器、フラッシュメモリ、若しくは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２１５】
[0197]命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又は他の等価な集積回路又はディスクリート論理回路など、１つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成されるか、又は複合コーデックに組み込まれる、専用ハードウェア及び／又はソフトウェアモジュール内で提供され得る。また、本技法は、１つ又は複数の回路又は論理要素において完全に実装され得る。
【０２１６】
[0198]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。様々な構成要素、モジュール、又はユニットについて、開示する技術を実施するように構成された機器の機能的態様を強調するために本開示で説明したが、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、又は相互動作ハードウェアユニットの集合によって提供され得る。
【０２１７】
[0199]様々な例について説明した。これら及び他の例は、以下の特許請求の範囲内にある。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオ復号プロセスにおいて係数を復号する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値を復号することと、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することとを備える、方法。
［２］  係数の前記ブロックが係数グループ（ＣＧ）を備え、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値を更新することを備え、前記方法が、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ中の後続の係数のための係数レベルの残りの絶対値を復号することを更に備える、［１］に記載の方法。
［３］  係数の前記ブロックが係数グループ（ＣＧ）を備え、前記ライスパラメータの前記値を調整することが、後続のＣＧのために前記ライスパラメータの前記値を初期化することを備え、前記方法が、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のＣＧ中の少なくとも１つの係数のための係数レベルの残りの絶対値を復号することを更に備える、［１］に記載の方法。
［４］  前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、［１］に記載の方法。
［５］  前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させる、［４］に記載の方法。
［６］  前記変数増分が、復号されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、［４］に記載の方法。
［７］  前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの１つである、［４］に記載の方法。
［８］  前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させることを備える、［１］に記載の方法。
［９］  前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、係数の現在のブロック中の前記少なくとも１つの係数のための前記係数レベルの前記残りの絶対値を復号した後に、前記ライスパラメータの前記値に基づいて前記変換ブロック中の係数の後続のブロックのために前記ライスパラメータの前記値を初期化することを備える、［１］に記載の方法。
［１０］  前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、係数の前記ブロック中の後続の係数のために高効率ビデオコード化（ＨＥＶＣ）ライスパラメータ更新方式に従って前記ライスパラメータの前記値を更新することを備える、［１］に記載の方法。
［１１］  前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、前記変換ブロック中の係数の後続のブロックについて０に等しくなるように前記ライスパラメータの前記値を初期化することを備える、［１］に記載の方法。
［１２］  前記変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも１つに基づいて、前記変換ブロックに前記変換が適用されるかどうかを決定することを更に備える、［１］に記載の方法。
［１３］  ビデオ復号プロセスにおいて係数を符号化する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値を符号化することと、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することとを備える、方法。
［１４］  係数の前記ブロックが係数グループ（ＣＧ）を備え、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値を更新することを備え、前記方法が、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ中の後続の係数のための係数レベルの残りの絶対値を符号化することを更に備える、［１３］に記載の方法。
［１５］  係数の前記ブロックが係数グループ（ＣＧ）を備え、前記ライスパラメータの前記値を調整することが、後続のＣＧのために前記ライスパラメータの前記値を初期化することを備え、前記方法が、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のＣＧ中の少なくとも１つの係数のための係数レベルの残りの絶対値を符号化することを更に備える、［１３］に記載の方法。
［１６］  前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、［１３］に記載の方法。
［１７］  前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させる、［１６］に記載の方法。
［１８］  前記変数増分が、符号化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、［１６］に記載の方法。
［１９］  前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの１つである、［１６］に記載の方法。
［２０］  前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させることを備える、［１３］に記載の方法。
［２１］  前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、係数の現在のブロック中の前記少なくとも１つの係数のための前記係数レベルの前記残りの絶対値を符号化した後に、前記ライスパラメータの前記値に基づいて前記変換ブロック中の係数の後続のブロックのために前記ライスパラメータの前記値を初期化することを備える、［１３］に記載の方法。
［２２］  前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、係数の前記ブロック中の後続の係数のために高効率ビデオコード化（ＨＥＶＣ）ライスパラメータ更新方式に従って前記ライスパラメータの前記値を更新することを備える、［１３］に記載の方法。
［２３］  前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、前記変換ブロック中の係数の後続のブロックについて０に等しくなるように前記ライスパラメータの前記値を初期化することを備える、［１３］に記載の方法。
［２４］  前記変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも１つに基づいて、前記変換ブロックに前記変換が適用されるかどうかを示すことを更に備える、［１３］に記載の方法。
［２５］  ビデオデータを記憶するように構成されたメモリと、  残差ビデオデータの係数のブロックを決定することと、  ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、  係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することと  を行うように構成された１つ以上のプロセッサとを備えるビデオコード化機器。
［２６］  前記ビデオコード化機器がビデオ復号機器を備え、係数の前記ブロックが係数グループ（ＣＧ）を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記ＣＧ中の前記係数のための前記係数レベルの前記残りの絶対値を復号することと、前記ＣＧを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて前記ライスパラメータの前記値を更新することと、前記ライスパラメータの前記更新された値によって定義されるゴロムコードを使用して前記ＣＧ中の後続の係数のための係数レベルの残りの絶対値を復号することとを行うように構成された、［２５］に記載の機器。
［２７］  前記ビデオコード化機器がビデオ符号化機器を備え、係数の前記ブロックが係数グループ（ＣＧ）を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記ＣＧ中の前記係数のための前記係数レベルの前記残りの絶対値を符号化することと、前記ＣＧを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて前記ライスパラメータの前記値を更新することと、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ中の後続の係数のための係数レベルの残りの絶対値を符号化することとを行うように構成された、［２５］に記載の機器。
［２８］  前記ビデオコード化機器がビデオ復号機器を備え、係数の前記ブロックが係数グループ（ＣＧ）を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記ＣＧ中の前記係数のための前記係数レベルの前記残りの絶対値を復号することと、前記ＣＧを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて後続のＣＧのために前記ライスパラメータの前記値を初期化することと、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のＣＧ中の少なくとも１つの係数のための係数レベルの残りの絶対値を復号することとを行うように構成された、［２５］に記載の機器。
［２９］  前記ビデオコード化機器がビデオ符号化機器を備え、係数の前記ブロックが係数グループ（ＣＧ）を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記ＣＧ中の前記係数のための前記係数レベルの前記残りの絶対値を符号化することと、前記ＣＧを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて後続のＣＧのために前記ライスパラメータの前記値を初期化することと、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のＣＧ中の少なくとも１つの係数のための係数レベルの残りの絶対値を符号化することとを行うように構成された、［２５］に記載の機器。
［３０］  前記変換ブロックに前記変換が適用されない場合、前記プロセッサが、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新するように構成され、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、［２５］に記載の機器。
［３１］  前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させる、［３０］に記載の機器。
［３２］  前記変数増分が、コード化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、［３０］に記載の機器。
［３３］  前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの１つである、［３０］に記載の方法。
［３４］  前記変換ブロックに前記変換が適用されない場合、前記プロセッサが、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させるように構成された、［２５］に記載の機器。
［３５］  前記変換ブロックに前記変換が適用されない場合、前記プロセッサが、係数の現在のブロック中の前記少なくとも１つの係数のための前記係数レベルの前記残りの絶対値を復号した後に、前記ライスパラメータの前記値に基づいて前記変換ブロック中の係数の後続のブロックのために前記ライスパラメータの前記値を初期化するように構成された、［２５］に記載の機器。
［３６］  前記変換ブロックに前記変換が適用される場合、前記プロセッサが、係数の前記ブロック中の後続の係数のために高効率ビデオコード化（ＨＥＶＣ）ライスパラメータ更新方式に従って前記ライスパラメータの前記値を更新するように構成された、［２５］に記載の機器。
［３７］  前記変換ブロックに前記変換が適用される場合、前記プロセッサが、前記変換ブロック中の係数の後続のブロックについて０に等しくなるように前記ライスパラメータの前記値を初期化するように構成された、［２５］に記載の機器。
［３８］  前記プロセッサは、前記変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも１つに基づいて、前記変換ブロックに前記変換が適用されるかどうかを決定するように構成された、［２５］に記載の機器。
［３９］  残差ビデオデータの係数のブロックを決定するための手段と、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化するための手段と、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整するための手段とを備えるビデオコード化機器。
［４０］  ビデオコード化機器の１つ以上のプロセッサによって実行されたとき、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することとを前記プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
［４１］  ビデオ復号プロセスにおいて係数を復号する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値を復号することと、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を備える、方法。
［４２］  前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させ、前記ライスパラメータの前記最大値が、４よりも大きいか又はそれに等しい整数値である、［４１］に記載の方法。
［４３］  大きい絶対値を有する、復号されている前記係数のための前記係数レベルに基づいて、前記変数増分が、前記ライスパラメータの前記値を１よりも大きい整数値だけ増加させる、［４２］に記載の方法。
［４４］  前記ライスパラメータの前記値を更新することが、どんな条件操作も実施することなしに前記ライスパラメータの前記値を更新することを備える、［４１］に記載の方法。
［４５］  係数の前記ブロックが、変換係数、又は変換がそれに適用されない係数のいずれかを備える、［４１］に記載の方法。
［４６］  前記変数増分が、復号されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、［４１］に記載の方法。
［４７］  前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの前記絶対値とに基づいて、前記ライスパラメータの前記値を更新することが、前記ライスパラメータの前記値を減少させることを備える、［４１］に記載の方法。
［４８］  係数の前記ブロックのための前記ライスパラメータの初期値と、前記ライスパラメータの前記変数増分と、前記ライスパラメータの前記最大値と、復号されている前記係数のための前記係数レベルの前記絶対値のための閾値と、１つ以上の整数パラメータ値とのうちの１つ以上を示すように構成されたシンタックス要素を受信することを更に備える、［４１］に記載の方法。
［４９］  ビデオ符号化プロセスにおいて係数を符号化する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値を符号化することと、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を備える、方法。
［５０］  前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させ、前記ライスパラメータの前記最大値が、４よりも大きいか又はそれに等しい整数値である、［４９］に記載の方法。
［５１］  大きい絶対値を有する、符号化されている前記係数のための前記係数レベルに基づいて、前記変数増分が、前記ライスパラメータの前記値を１よりも大きい整数値だけ増加させる、［５０］に記載の方法。
［５２］  前記ライスパラメータの前記値を更新することが、どんな条件操作も実施することなしに前記ライスパラメータの前記値を更新することを備える、［４９］に記載の方法。
［５３］  係数の前記ブロックが、変換係数、又は変換がそれに適用されない係数のいずれかを備える、［４９］に記載の方法。
［５４］  前記変数増分が、符号化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、［４９］に記載の方法。
［５５］  前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの前記絶対値とに基づいて、前記ライスパラメータの前記値を更新することが、前記ライスパラメータの前記値を減少させることを備える、［４９］に記載の方法。
［５６］  係数の前記ブロックのための前記ライスパラメータの初期値と、前記ライスパラメータの前記変数増分と、前記ライスパラメータの前記最大値と、符号化されている前記係数のための前記係数レベルの前記絶対値のための閾値と、１つ以上の整数パラメータ値とのうちの１つ以上を示すように構成されたシンタックス要素を生成することを更に備える、［４９］に記載の方法。
［５７］  ビデオデータを記憶するように構成されたメモリと、  残差ビデオデータの係数のブロックを決定することと、  ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、  前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、を行うように構成された１つ以上のプロセッサとを備えるビデオコード化機器。
［５８］  前記ビデオコード化機器がビデオ復号機器を備え、係数の前記ブロックが係数グループ（ＣＧ）を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記ＣＧ中の前記係数のための前記係数レベルの前記残りの絶対値を復号することと、前記ライスパラメータの前記値を更新することと、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ中の後続の係数のための係数レベルの残りの絶対値を復号することとを行うように構成された、［５７］に記載の機器。
［５９］  前記ビデオコード化機器がビデオ符号化機器を備え、係数の前記ブロックが係数グループ（ＣＧ）を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記ＣＧ中の前記係数のための前記係数レベルの前記残りの絶対値を符号化することと、前記ライスパラメータの前記値を更新することと、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記ＣＧ中の後続の係数のための係数レベルの残りの絶対値を符号化することとを行うように構成された、［５７］に記載の機器。
［６０］  前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させ、前記ライスパラメータの前記最大値が、４よりも大きいか又はそれに等しい整数値である、［５７］に記載の機器。
［６１］  大きい絶対値を有する、コード化されている前記係数のための前記係数レベルに基づいて、前記変数増分が、前記ライスパラメータの前記値を１よりも大きい整数値だけ増加させる、［６０］に記載の機器。
［６２］  前記プロセッサが、どんな条件操作も実施することなしに前記ライスパラメータの前記値を更新するように構成された、［５７］に記載の機器。
［６３］  係数の前記ブロックが、変換係数、又は変換がそれに適用されない係数のいずれかを備える、［５７］に記載の機器。
［６４］  前記変数増分が、コード化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、［５７］に記載の機器。
［６５］  前記プロセッサが、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させるように構成された、［５７］に記載の機器。
［６６］  前記プロセッサが、係数の前記ブロックのための前記ライスパラメータの初期値と、前記ライスパラメータの前記変数増分と、前記ライスパラメータの前記最大値と、コード化されている前記係数のための前記係数レベルの前記絶対値のための閾値と、１つ以上の整数パラメータ値とのうちの１つ以上のを示すように構成されたシンタックス要素を決定するように構成された、［５７］に記載の機器。
［６７］  残差ビデオデータの係数のブロックを決定するための手段と、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化するための手段と、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新するための手段と、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を備えるビデオコード化機器。
［６８］  ビデオコード化機器の１つ以上のプロセッサによって実行されたとき、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも１つのための係数レベルの残りの絶対値をコード化することと、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を前記プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
【図１】
0006469652.tif 000004
【図２】
0006469652.tif 000005
【図３】
0006469652.tif 000006
【図４】
0006469652.tif 000007
【図５】
0006469652.tif 000008
【図６】
0006469652.tif 000009
【図７】
0006469652.tif 000010
【図８】
0006469652.tif 000011
【図９】
0006469652.tif 000012
【図１０】
0006469652.tif 000013