JP6469652B2 - ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新 - Google Patents

ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新 Download PDF

Info

Publication number
JP6469652B2
JP6469652B2 JP2016507681A JP2016507681A JP6469652B2 JP 6469652 B2 JP6469652 B2 JP 6469652B2 JP 2016507681 A JP2016507681 A JP 2016507681A JP 2016507681 A JP2016507681 A JP 2016507681A JP 6469652 B2 JP6469652 B2 JP 6469652B2
Authority
JP
Japan
Prior art keywords
value
rice parameter
block
coefficients
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016507681A
Other languages
English (en)
Other versions
JP2016515786A (ja
JP2016515786A5 (ja
Inventor
ソル・ロジャルス、ジョエル
カークゼウィックズ、マルタ
ジョシ、ラジャン・ラクスマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016515786A publication Critical patent/JP2016515786A/ja
Publication of JP2016515786A5 publication Critical patent/JP2016515786A5/ja
Application granted granted Critical
Publication of JP6469652B2 publication Critical patent/JP6469652B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、2013年4月12日に出願された米国仮特許出願第61/811,632号、2013年6月7日に出願された米国仮特許出願第61/832,652号、2013年7月12日に出願された米国仮特許出願第61/845,850号、及び2014年3月14日に出願された米国仮特許出願第61/953,647号の利益を主張する。
[0002]本開示は、ビデオコード化に関し、より詳細には、変換係数をコード化するための技法に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信、受信及び記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、高度ビデオコード化(AVC:Advanced Video Coding)によって定義された規格、現在開発中の高効率ビデオコード化(HEVC:High Efficiency Video Coding)規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び/又は時間的予測を含む。ブロックベースのビデオコード化の場合、ビデオスライス、即ち、ビデオフレーム又はビデオフレームの一部分)がブロックに区分され得る。ピクチャのイントラコード化された(I)スライス中のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。インターコード化された(P又はB)スライス中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化されたブロックと予測ブロックとの差分を示す残差データとに従って符号化される。イントラコード化されたブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。最初は2次元アレイで構成される量子化された変換係数は、変換係数の1次元ベクトルを生成するために特定の順序で走査され得、なお一層の圧縮を達成するためにエントロピーコード化が適用され得る。
[0006]概して、本開示では、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明する。特に、本開示では、係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明し、ここで、有意な係数、1よりも大きい係数レベル、及び2よりも大きい係数レベルの指示をコード化するためにコンテキスト適応型バイナリ算術コード化(CABAC:context adaptive binary arithmetic coding)が使用される。幾つかの例では、本技法は、高効率ビデオコード化(HEVC)規格のための範囲拡張における係数レベルコード化のためのライスパラメータ更新に適用され得る。ライスパラメータによって定義されるゴロムコードは、係数グループ(CG:coefficient group)、即ち、係数のブロック中の少なくとも1つの係数のための係数レベルの残りの絶対値をコード化するために使用され得る。CGは、変換単位(TU)の変換ブロック内に存在し得る。
[0007]本開示の技法によれば、ライスパラメータの値は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて更新される。変数増分の量は、ライスパラメータの値と、コード化されている現在の係数のための係数レベルの絶対値とに基づいて決定される。本開示で説明されるライスパラメータ更新方式は、ライスパラメータが、CG中の係数のための係数レベルの残りの絶対値をコード化する過程中に自然コンテンツとスクリーンコンテンツとの間で迅速及び効率的に適応することを可能にする。
[0008]更に、本開示では、CGを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するための技法について説明する。本技法によれば、変換ブロックに変換が適用されない場合、即ち、変換スキップ又はバイパスの場合、本開示で説明するライスパラメータ更新方式は、CG中の後続の係数のための係数レベルの残りの絶対値をコード化するためのライスパラメータの値を更新するために使用される。更に、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のCG中の係数のための係数レベルの残りの絶対値をコード化した後に、ライスパラメータの値に基づいて変換ブロック中の後続のCGについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータは、HEVCライスパラメータ更新及び初期化方式に従って調整され得る。
[0009]一例では、本開示は、ビデオ復号プロセスにおいて係数を復号する方法を対象とし、本方法は、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値を復号することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとを備える。
[0010]更なる一例では、本開示は、ビデオ復号プロセスにおいて係数を符号化する方法を対象とし、本方法は、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値を符号化することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとを備える。
[0011]追加の例では、本開示は、ビデオデータを記憶するように構成されたメモリと、1つ又は複数のプロセッサとを備えるビデオコード化機器を対象とする。プロセッサは、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとを行うように構成される。
[0012]別の例では、本開示は、残差ビデオデータの係数のブロックを決定するための手段と、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化するための手段と、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整するための手段とを備えるビデオコード化機器を対象とする。
[0013]追加の例では、本開示は、ビデオコード化機器の1つ又は複数のプロセッサによって実行されたとき、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、係数のブロックを含む変換ブロックに変換が適用されるかどうかに基づいてライスパラメータの値を調整することとをプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体を対象とする。
[0014]別の例では、本開示は、ビデオ復号プロセスにおいて係数を復号する方法を対象とし、本方法は、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値を復号することと、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新することとを備え、ここにおいて、変数増分は、ライスパラメータの値と、復号されている係数のための係数レベルの絶対値とに基づいて決定される。
[0015]別の例では、本開示は、ビデオ符号化プロセスにおいて係数を符号化する方法を対象とし、本方法は、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値を符号化する残差ビデオデータの係数のブロックを決定することと、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新することとを備え、ここにおいて、変数増分は、ライスパラメータの値と、符号化されている係数のための係数レベルの絶対値とに基づいて決定される。
[0016]更なる一例では、本開示は、ビデオデータを記憶するように構成されたメモリと、1つ又は複数のプロセッサとを備えるビデオコード化機器を対象とする。プロセッサは、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新することとを行うように構成され、ここにおいて、変数増分は、ライスパラメータの値と、コード化されている係数のための係数レベルの絶対値とに基づいて決定される。
[0017]1つ又は複数の例の詳細が、添付の図面及び以下の説明において述べられる。他の特徴、目的、及び利点は、その説明及び図面から、ならびに特許請求の範囲から明らかになるであろう。
[0018]本開示で説明する係数レベルをコード化するための技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。 [0019]係数レベルコード化のための例示的な逆方向走査順序を示す概念図。 [0020]係数グループ(CG)の係数レベルコード化のための例示的なサブブロックベースの逆方向対角走査順序を示す概念図。 [0021]CGのための係数レベルをコード化するための例示的な逆方向対角走査順序を示す概念図。 [0022]本開示で説明する係数レベルを符号化するための技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0023]本開示で説明する係数レベルを復号するための技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0024]本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を更新する例示的な動作を示すフローチャート。 [0025]本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を更新する例示的な動作を示すフローチャート。 [0026]本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を調整する例示的な動作を示すフローチャート。 [0027]本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を調整する例示的な動作を示すフローチャート。
[0028]本開示では、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明する。特に、本開示では、係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するために使用されるライスパラメータの値を更新するための技法について説明し、ここで、有意な係数、1よりも大きい係数レベル、及び2よりも大きい係数レベルの指示をコード化するためにコンテキスト適応型バイナリ算術コード化(CABAC)が使用される。幾つかの例では、本技法は、高効率ビデオコード化(HEVC)規格のための範囲拡張における係数レベルコード化のためのライスパラメータ更新に適用され得る。ライスパラメータは、ゴロムコードのファミリーからコードワードセットを選択するために使用される調節可能な値である。ライスパラメータによって定義されるゴロムコードは、係数グループ(CG)、即ち、係数のブロック中の少なくとも1つの係数のための係数レベルの残りの絶対値をコード化するために使用され得る。
[0029]本開示の技法によれば、ライスパラメータの値は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて更新される。変数増分の量は、ライスパラメータの値と、コード化されている現在の係数のための係数レベルの絶対値とに基づいて決定される。幾つかの例では、変数増分は、現在の係数のための係数レベルの絶対値の右シフトされたバージョンに基づいて決定され得、ここで、右シフトの量はライスパラメータの値に基づく。
[0030]変数増分は、ライスパラメータの値がライスパラメータの最大値まで、いずれかの整数値だけ増加することを可能にする。例えば、ライスパラメータの最大値は7に等しくなり得、変数増分は、ライスパラメータの値と、現在の係数のための係数レベルの絶対値とに応じて0、1、2、3、4、5又は6のいずれかに等しくなり得る。他の例では、ライスパラメータの最大値は4又は5に等しくなり得る。更なる一例では、本開示の技法は、ライスパラメータが、更新中に減少又は減分されることを可能にし得る。
[0031]幾つかの例では、ビデオエンコーダは、ビデオデコーダ又は記憶機器への送信のために残差ビデオデータの係数レベルをビットストリーム中に符号化し得る。符号化されたビストリーム(bistream)を受信すると、ビデオデコーダは、ビデオエンコーダとは逆の様式で残差ビデオデータの係数レベルを復号し得る。非可逆ビデオコード化(lossy video coding)の場合、係数は、量子化された変換係数であり得る。可逆ビデオコード化(lossless video coding)、又は変換スキッピング又はバイパスを伴う非可逆ビデオコード化の場合、係数は、大きい絶対値をもつ係数レベルを有し得る。係数が、グラフィック及びテキスト領域を含み得るスクリーンコンテンツを表すとき、そのコンテンツはうまく予測されないことがあり、その結果、係数のための係数レベルの大きい絶対値が生じる。
[0032]本開示で説明するライスパラメータ更新方式は、スクリーンコンテンツのブロックと変換スキッピング又はバイパスを伴うブロックとにおいて生じ得る大きい係数値にライスパラメータが迅速に及び効率的に適応することを可能にする。本技法によれば、スクリーンコンテンツ及び/又は変換又は量子化されていない係数に適応するようにより迅速に適合するが、HEVCライスパラメータ更新方式と同様の性能で依然として自然コンテンツのための変換係数の係数レベルコード化を処理するために、ライスパラメータの値は変数増分に基づいて更新され得る。例えば、コード化されている現在の係数のための係数レベルが大きい絶対値を有するとき、変数増分は、大きい係数値により迅速に適応するために1よりも大きい整数値に等しくなり得る。本開示の技法はまた、係数レベルエントロピーコード化のループ内のライスパラメータ更新中に条件操作を低減又は除去することによってより大きい計算効率を提供する。
[0033]更に、本開示では、CGを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するための技法について説明する。本開示で説明するように、ライスパラメータの値を調整することは、CG中の後続の係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を更新すること、又は、後続のCG中の少なくとも1つの係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を初期化することを含み得る。
[0034]本技法によれば、変換ブロックに変換が適用されない場合、即ち、変換スキップ又はバイパスの場合、ライスパラメータの値を更新するために、本開示で説明するライスパラメータ更新方式が使用される。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値を更新するためにHEVCライスパラメータ更新方式が使用され得る。別の例では、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のCG中の係数のための係数レベルの残りの絶対値を復号した後に、ライスパラメータの値に基づいて変換ブロック中の後続のCGについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のCGについて0に等しくなるように初期化され得る。
[0035]図1は、本開示で説明する係数レベルをコード化するための技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。図1に示されているように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信する発信源機器12を含む。符号化ビデオデータはまた、記憶媒体34又はファイルサーバ36に記憶され得、所望に応じて宛先機器14によってアクセスされ得る。記憶媒体又はファイルサーバに記憶されたとき、ビデオエンコーダ20は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク(CD)、Blu−ray(登録商標)又はデジタルビデオディスク(DVD)バーナー又はスタンピングファシリティ機器(stamping facility device)、あるいは他の機器など、別の機器にコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、CD又はDVDリーダーなど、ビデオデコーダ30とは別個の機器が、記憶媒体からコード化ビデオデータを取り出し得、取り出されたデータをビデオデコーダ30に与えた。
[0036]発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様な機器のいずれかを備え得る。多くの場合、そのような機器はワイヤレス通信のために装備され得る。従って、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、又はワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ36は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先機器14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、又は両方の組合せを含み得る。
[0037]本開示の例による、係数レベルをコード化するための技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオテレフォニーなどの適用例をサポートするために、一方向又は二方向のビデオ送信をサポートするように構成され得る。
[0038]図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、変調器/復調器22と、送信機24とを含む。発信源機器12において、ビデオ発信源18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び/又は、発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源、若しくはそのような発信源の組合せを含み得る。一例として、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラフォン又はビデオフォンを形成し得、これらは、例えば、スマートフォン又はタブレットコンピュータ内に与えられ得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び/又はワイヤード適用例、若しくは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
[0039]撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、ワイヤード通信プロトコル又はワイヤレス通信プロトコルなどの通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器と、フィルタと、ワイヤレス通信の場合には1つ又は複数のアンテナとを含む、データを送信するために設計された回路を含み得る。
[0040]ビデオエンコーダ20によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成されたビデオはまた、後で消費するために記憶媒体34又はファイルサーバ36に記憶され得る。記憶媒体34は、Blu−rayディスク、DVD、CD−ROM、フラッシュメモリ、又は符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体34に記憶された符号化ビデオは、次いで、復号及び再生のために宛先機器14によってアクセスされ得る。図1には示されていないが、幾つかの例では、記憶媒体34及び/又はファイルサーバ36は送信機24の出力を記憶し得る。
[0041]ファイルサーバ36は、符号化ビデオを記憶すること、及びその符号化ビデオを宛先機器14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)機器、ローカルディスクドライブ、又は、符号化ビデオデータを記憶すること及び符号化ビデオデータを宛先機器に送信することが可能な任意の他のタイプの機器を含む。ファイルサーバ36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。ファイルサーバ36は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先機器14によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(例えば、Wi−Fi接続)、ワイヤード接続(例えば、DSL、ケーブルモデム、イーサネット(登録商標)、USBなど)、又は両方の組合せを含み得る。
[0042]宛先機器14は、図1の例では、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28は、その情報を復調して、ビデオデコーダ30のための復調されたビットストリームを生成する。チャネル16を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ30が使用する、ビデオエンコーダ20によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体34又はファイルサーバ36に記憶される符号化ビデオデータとともに含まれ得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、ビデオデータを符号化又は復号することが可能であるそれぞれのエンコーダデコーダ(コーデック)の一部を形成し得る。
[0043]表示装置32は、宛先機器14と一体化されるか、又は宛先機器14の外部にあり得る。幾つかの例では、宛先機器14は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器14は表示装置であり得る。概して、表示装置32は、復号されたビデオデータをユーザに対して表示し、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
[0044]図1の例では、通信チャネル16は、無線周波数(RF)スペクトル又は1つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器12から宛先機器14に送信するための任意の好適な通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、発信源機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
[0045]ビデオエンコーダ20及びビデオデコーダ30は、ITU−Tビデオコード化エキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコード化(JCT−VC:Joint Collaboration Team on Video Coding)によって開発された高効率ビデオコード化(HEVC)規格など、ビデオ圧縮規格に従って動作し得る。文書JCTVC−L1003v34、Brossら、「High efficiency video coding (HEVC) text specification draft 10」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第12回会合:ジュネーブ、スイス、2013年1月14〜23日におけるHEVC規格のドラフトは、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipから入手可能である。
[0046]図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0047]ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、1つ又は複数のプロセッサを使用して命令をハードウェアで実行して本開示の技法を実施し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれもが、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0048]ビデオエンコーダ20は、ビデオ符号化プロセスにおいて係数レベルを符号化するために本開示の技法のいずれか又は全てを実装し得る。同様に、ビデオデコーダ30は、ビデオ復号プロセスにおいて係数レベルを復号するためにこれらの技法のいずれかの又は全てを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダ又はビデオデコーダを指し得る。同様に、ビデオコード化単位はビデオエンコーダ又はビデオデコーダを指し得る。同様に、ビデオコード化はビデオ符号化又はビデオ復号を指し得る。
[0049]デジタルビデオ機器は、デジタルビデオ情報をより効率的に符号化及び復号するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的(フレーム内)予測及び/又は時間的(フレーム間)予測技法を適用し得る。上記で説明したHEVC規格は、HEVCテストモデル(HM)と呼ばれるビデオコード化機器の発展的モデルに基づいている。HMは、例えばITU−T H.264/AVCに従う既存の機器に対して、ビデオコード化機器の幾つかの追加の能力を仮定する。例えば、H.264は、9つのイントラ予測符号化モードを提供するが、HEVC HMは、33個ものイントラ予測符号化モードを提供し得る。以下のセクションでは、HMの幾つかの態様についてより詳細に説明する。
[0050]HEVC規格に従うビデオコード化の場合、ビデオフレームはコード化単位に区分され得る。コード化単位(CU)は、概して、ビデオ圧縮のために様々なコード化ツールが適用される基本単位として働く画像領域を指す。CUは通常、Yとして示されるルミナンス成分と、U及びVとして示される2つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、U成分とV成分とのサイズは、サンプル数に関して、Y成分のサイズと同じであるか、又はY成分のサイズとは異なり得る。
[0051]CUは、一般に正方形であり、例えば、ITU−T H.264などの他のビデオコード化規格の下での所謂マクロブロックと同様であると見なされ得る。本出願では、例示のために、開発中のHEVC規格の現在提案されている態様の幾つかに従うコード化について説明する。但し、本開示で説明する技法は、H.264又は他の規格に従って定義されるビデオコード化プロセス若しくはプロプライエタリビデオコード化プロセスなど、他のビデオコード化プロセスのために有用であり得る。
[0052]HMによれば、CUは、1つ以上の予測単位(PU)及び/又は1つ以上の変換単位(TU)を含み得る。ビットストリーム内のシンタックスデータは、画素の数に関して最大CUである最大コード化単位(LCU)を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264のマクロブロックと同様の目的を有する。従って、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コード化単位又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUは更にサブCUに分割され得る。ビットストリームのためのシンタックスデータは、CU深度と呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コード化単位(SCU)をも定義し得る。本開示ではまた、CU、PU、又はTUのいずれかを指すために「ブロック」又は「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指すことがある。
[0053]LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割される場合、CUに対応するノードは4つのリーフノードを含み、その各々は、サブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを提供し得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのためのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUが更に分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的な分割が存在しなくても、リーフCUの4つのサブCUはリーフCUとも呼ばれる。例えば、16×16サイズのCUが更に分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUがリーフCUとも呼ばれる。
[0054]リーフCUは、1つ又は複数の予測単位(PU)を含み得る。概して、PUは、対応するCUの全部又は一部分を表し、そのPUの参照サンプルを取り出すためのデータを含み得る。例えば、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4画素精度又は1/8画素精度)、動きベクトルが指す参照フレーム、及び/又は動きベクトルの参照リスト(例えば、リスト0又はリスト1)を記述し得る。PUを定義するリーフCUのデータはまた、例えば、CUを1つ又は複数のPUに区分することを記述し得る。区分モードは、CUがコード化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかに応じて異なり得る。イントラコード化の場合、PUは、以下で説明するリーフ変換単位と同じように扱われ得る。
[0055]新生のHEVC規格は、CUごとに異なり得る変換単位(TU)に従う変換を可能にする。TUは、通常、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。TUは、通常、PUと同じサイズであるか、又はPUよりも小さい。幾つかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)と呼ばれる4分木構造を使用して、より小さい単位に更に分割され得る。RQTのリーフノードは変換単位(TU)と呼ばれることがある。TUに関連付けられた画素差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。TUは、1つのルーマ変換ブロックと、2つのクロマ変換ブロックとを含む。従って、TUに適用される後述の任意のコード化プロセスは、実際には、ルーマ及びクロマの変換ブロックに適用され得る。
[0056]概して、PUは、予測プロセスに関係するデータを指す。例えば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。
[0057]概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つ又は複数のPUを有する所与のCUは、1つ又は複数の変換単位(TU)をも含み得る。予測に続いて、ビデオエンコーダ20は、PUに従ってコード化ノードによって識別されたビデオブロックから残差値を計算し得る。コード化ノードは、次いで、元のビデオブロックではなく、残差値を参照するように更新される。残差値は画素差分値を備え、画素差分値は、エントロピーコード化のためのシリアル化変換係数(serialized transform coefficient)を生成するためにTU中で指定された変換及び他の変換情報を使用して変換係数に変換され、量子化され、走査され得る。コード化ノードは、これらのシリアル化変換係数を参照するように、もう一度更新され得る。本開示では、一般に、CUのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合において、本開示では、コード化ノード及びPU並びにTUを含む、ツリーブロック、即ち、LCU又はCUを指すためにも「ビデオブロック」という用語を使用し得る。
[0058]ビデオシーケンスは、一般に、一連のビデオフレーム又はピクチャを含む。グループオブピクチャ(GOP)は、概して、ビデオピクチャのうちの一連の1つ又は複数を備える。GOPは、GOP中に含まれる幾つかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに作用する。ビデオブロックは、CU内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。
[0059]ブロック(例えば、ビデオデータの予測単位)をコード化するために、ブロックの予測子が最初に導出される。予測ブロックとも呼ばれる予測子は、イントラ(I)予測(即ち、空間的予測)又はインター(P又はB)予測(即ち時間的予測)のいずれかを通じて導出され得る。従って、幾つかの予測単位は、同じフレーム(又はスライス)中の隣接参照ブロック中の参照サンプルに対する空間的予測を使用してイントラコード化(I)され得、他の予測単位は、他の以前にコード化されたフレーム(又はスライス)中の参照サンプルのブロックに対して単方向にインターコード化(P)されるか又は双方向にインターコード化(B)され得る。各場合において、参照サンプルは、コード化されるべきブロックの予測ブロックを形成するために使用され得る。
[0060]予測ブロックの識別時に、元のビデオデータブロック中の画素とそれの予測ブロック中の画素との間の差分が決定される。この差分は予測残差データと呼ばれることがあり、コード化されるべきブロック中の画素値と、コード化ブロックを表すように選択された予測ブロック中の画素値との間の画素差分を示す。より良好な圧縮を実現するために、予測残差データは、例えば、離散コサイン変換(DCT)、離散サイン変換(DST)、整数変換、カルーネンレーベ(K−L)変換、又は変換係数を生成するための別の変換を使用して変換され得る。
[0061]TUなどの変換ブロック中の残差データは、空間的画素領域中に存在する画素差分値の2次元(2D)アレイで構成され得る。変換は、周波数領域などの変換領域において残差画素値を変換係数の2次元アレイに変換する。更なる圧縮のために、変換係数は、エントロピーコード化に先立って量子化され得る。可逆コード化、又は変換スキッピング若しくはバイパスを伴う非可逆コード化など、幾つかの例では、係数について変換手順と量子化手順の両方がスキップされ得る。
[0062]次いで、エントロピーコーダは、係数に、コンテキスト適応型可変長コード化(CAVLC:Context Adaptive Variable Length Coding)、コンテキスト適応型バイナリ算術コード化(CABAC)、確率間隔区分エントロピーコード化(PIPE:Probability Interval Partitioning Entropy Coding)などのエントロピーコード化を適用する。幾つかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を実施し得る。係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、1次元ベクトルをエントロピー符号化し得る、ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0063]本開示は、コンテキスト適応型バイナリ算術コード化(CABAC)エントロピーコーダ、あるいは確率間隔区分エントロピーコード化(PIPE)又は関係するコーダなど、他のエントロピーコーダのための関係する技法である。算術コード化は、シンボルを非整数長さコードワードにマッピングすることが可能であるので、高いコード化効率を有する多くの圧縮アルゴリズムにおいて使用されるエントロピーコード化の形態である。算術コード化アルゴリズムの一例はコンテキストベースバイナリ算術コード化(CABAC)である。
[0064]概して、CABACを使用してデータシンボルをエントロピーコード化することは、以下のステップのうちの1つ又は複数を伴う。
(1)2値化:コード化されるべきシンボルが非2進値化された場合、そのシンボルは、所謂「ビン」のシーケンスにマッピングされる。各ビンは「0」又は「1」の値を有することができる。
(2)コンテキスト割当て:(標準モードにおける)各ビンはコンテキストに割り当てられる。コンテキストモデルは、以前に符号化されたシンボルの値又はビン数など、ビンについて利用可能な情報に基づいて所与のビンのコンテキストがどのように計算されるかを決定する。
(3)ビン符号化:ビンは算術エンコーダを用いて符号化される。ビンを符号化するために、算術エンコーダは、入力として、ビンの値の確率、即ち、ビンの値が「0」に等しい確率と、ビンの値が「1」に等しい確率とを必要とする。各コンテキストの推定された確率は、「コンテキスト状態」と呼ばれる整数値によって表される。各コンテキストはある状態を有し、従って、その状態(即ち、推定された確率)は、1つのコンテキストに割り当てられたビンに対して同じであり、コンテキスト間で異なる。
(4)状態更新:選択されたコンテキストの確率状態は、ビンの実際のコード化値に基づいて更新される(例えば、ビン値が「1」であった場合、「1」の確率が増加される)。
[0065]バイパスモードにおいてCABACを使用してデータシンボルをエントロピーコード化する場合、コード化されるべきシンボルは、ビンのシーケンスに2値化され、固定等確率モデルを用いて(例えば、指数ゴロムコード又はゴロムライスコードを用いて)算術的にコード化される。バイパスモードは、コンテキスト割当て又は確率状態更新を必要としない。例えば、本開示では、ライスパラメータによって定義されるゴロムコードを使用する、係数のための係数レベルの残りの絶対値のバイパスコード化のための技法について説明する。確率間隔区分エントロピーコード化(PIPE)は、算術コード化の原理と同様の原理を使用し、従って、本開示の技法をも利用することができることに留意されたい。
[0066]H.264/AVC及びHEVCにおけるCABACは状態を使用し、各状態は暗黙的に確率に関係する。シンボル(「0」又は「1」)の確率が直接使用される、即ち、確率又は確率の整数バージョンが状態である、CABACの変形態が存在する。例えば、CABACのそのような変形態は、以下において「JCTVC−A114」と呼ぶ、「Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor」、JCTVC−A114、第1回JCT−VC会合、ドレスデン、ドイツ、2010年4月、及び、以下において「JCTVC−F254」と呼ぶ、A.Alshin及びE.Alshina、「Multi−parameter probability upgrade for CABAC」、JCTVC−F254、第6回JCT−VC会合、トリノ、イタリア、2011年7月に記載されている。
[0067]変換され量子化されるのか又は変換も量子化もされないのかにかかわらず、係数のブロックをエントロピーコード化するために、ブロック中の係数の2次元(2D)アレイが、特定の走査順序に従って係数の順序付き1次元(1D)アレイ、即ちベクトルに再構成されるように、通常、走査プロセスが実施される。次いで、係数のベクトルにエントロピーコード化が適用される。変換単位中の係数の走査は、エントロピーコーダのために係数の2Dアレイをシリアル化する。有意(即ち、非0)係数の位置を示すための有意性マップが生成され得る。走査は、有意(即ち、非0)係数のレベルを走査するために、及び/又は有意係数の符号をコード化するために適用され得る。
[0068]HEVC規格では、有意変換の位置情報(例えば、有意性マップ)は、走査順序内の最後の非0係数の位置を示すために、変換ブロックについて最初にコード化される。有意性マップ及びレベル情報(即ち、係数の絶対値と符号)は、逆方向走査順序で係数ごとにコード化される。
[0069]図2は、係数レベルコード化のための例示的な逆方向走査順序を示す概念図である。H.264規格はジグジグ(zig-zig)走査を定義している。HEVC規格は、サブブロック対角走査、サブブロック水平走査、及びサブブロック垂直走査という、3つの異なる走査を定義している。図2は、逆方向ジグザグ走査パターン29と、逆方向垂直走査パターン31と、逆方向水平走査パターン33と、逆方向対角走査パターン35とを示しており、それぞれ変換ブロックの8×8サブブロックに適用される。逆方向対角走査パターン35と、逆方向ジグザグ走査パターン29と、逆方向垂直走査パターン31と、逆方向水平走査パターン33との各々は、変換ブロックの右下隅におけるより高い周波数の係数から変換ブロックの左上隅におけるより低い周波数の係数に進むことに留意されたい。
[0070]サブブロック対角走査パターン35と、サブブロック水平走査パターン33と、サブブロック垂直走査パターン31とは、4×4及び8×8変換ブロックに適用され得る。サブブロック対角走査パターン35はまた、HEVC規格では、16×16及び32×32変換ブロックに適用され得る。幾つかの例では、サブブロック対角走査パターン35はまた、8×8TUに適用され得る。サブブロックベースの走査では、より大きい変換ブロックのある4×4サブブロックが、そのより大きい変換ブロック内の別の4×4サブブロックに進む前に走査される。他の例では、「サブブロック」は、使用される走査順序による幾つかの連続的に走査される係数からなり得る。例えば、「サブブロック」は、対角走査順序に沿った16個の連続的に走査される係数からなり得る。
[0071]図3は、係数グループ(CG)の係数レベルコード化のための例示的なサブブロックベースの逆方向対角走査順序を示す概念図である。図3は、4つの4×4サブブロック(37A、37B、37C、37D)からなる8×8変換ブロック38を示している。図3に示されているように、サブブロック37Dにおける係数が走査され、その後、サブブロック37Cにおける係数を走査する。次いで走査は、サブブロック37Cからサブブロック37Bに進み、最後にサブブロック37Aに進む。図3は、各サブブロックにおいて逆方向対角走査順序を示している。他の例では、どんな走査順序でも使用され得る(例えば、水平、垂直、ジグザグなど)。幾つかの例では、各サブブロック内で順方向走査順序が使用され得る。
[0072]HEVC規格では、係数はチャンク又はサブセットにグループ化され得る。係数の有意性マップ及びレベル情報(即ち、絶対値及び符号)は、サブセットごとにコード化される。係数のサブセットは、本開示では係数グループ(CG)と呼ばれることがある。CGは、4×4サブブロックに対応し得る、変換ブロックのための走査順序で16個の連続する係数として定義され得る。一例では、サブセットは、4×4変換ブロックと8×8変換ブロックとのための走査順序(例えば、順方向又は逆方向の対角走査順序、水平走査順序、又は垂直走査順序)に沿った16個の連続する係数からなる。16×16及び32×32変換ブロックの場合、そのより大きい変換ブロック内の係数の4×4サブブロックはサブセットとして扱われる。図3の例では、サブブロック37の各々がCGであり得る。
[0073]CG内の係数レベル情報を表すために、以下で説明するシンボルがコード化される。一例では、全てのシンボルが逆方向走査順序でコード化される。シンボルの各々は、その逆方向走査順序に従ってCGの別個の走査においてコード化され得る。以下のシンボルは「フラグ」と呼ばれることがある。本開示で説明する「フラグ」のいずれもバイナリシンボルに限定される必要はなく、複数のビットシンタックス要素としても実装され得ることに留意されたい。
[0074]sigMapFlagとも呼ばれるsignificant_coeff_flagは、サブセットにおける各係数の有意性を示す。0を超える絶対値をもつ係数は有意であると見なされる。一例として、0のsigMapFlagは、係数が有意でないこと、即ち、0以下であることを示し、一方、1の値は、係数が有意であること、即ち、0よりも大きいことを示す。このフラグは概して、有意性フラグと呼ばれ得る。signFlagとも呼ばれるcoeff_sign_flagは、任意の非0係数(即ち、sigMapFlagを1としてもつ係数)についての符号情報を示す。例えば、このフラグの0は正の符号を示し、一方、1は負の符号を示す。
[0075]gr1Flagとも呼ばれるcoeff_abs_level_greater1_flagは、任意の非0係数(即ち、sigMapFlagを1としてもつ係数、又はsigMapFlagが暗黙的に1として導出される場合)について、係数の絶対値が1よりも大きいかどうかを示す。一例として、0のgr1Flag値は、係数が1よりも大きい絶対値を有しないことを示し、一方、1のgr1Flag値は、係数が1よりも大きい絶対値を有することを示す。このフラグは概して、1超フラグと呼ばれることがある。
[0076]gr2Flagとも呼ばれるcoeff_abs_level_greater2_flagは、1よりも大きい絶対値をもつ任意の係数(即ち、gr1Flagを1としてもつ係数)について、係数の絶対値が2よりも大きいかどうかを示す。一例として、0のgr2Flag値は、係数が2よりも大きい絶対値を有しないことを示し、一方、1のgr2Flag値は、係数が2よりも大きい絶対値を有することを示す。このフラグは概して、2超フラグと呼ばれることがある。sigMapFlag、gr1Flag、及びgr2Flagはそれぞれ、CABACを使用してコード化され得る。
[0077]levelRemシンタックス要素とも呼ばれるcoeff_abs_level_remainingシンタックス要素は、前のフラグによってコード化された値よりも大きい絶対値をもつ任意の係数について、係数レベルの残りの絶対値を示す。概して、levelRemシンタックス要素の場合、2よりも大きい絶対値を有する係数(即ち、gr2Flagを1としてもつ係数)ごとに、係数レベルの絶対値から3を差し引いた値(即ち、abs(level)−3)がコード化される。幾つかの例では、現在のCGについてgr1Flag及び/又はgr2Flagの最大数に達したとき、2以下の絶対値をもつ係数レベルをコード化するためにlevelRemシンタックス要素が使用され得る。levelRemシンタックス要素は、ライスパラメータの値によって定義されるゴロムコードを使用してコード化され得る。
[0078]図4は、CG39のための係数レベルをコード化するための例示的な逆方向対角走査順序を示す概念図である。CG39は、4×4変換ブロックであり得るか、又は8×8、16×16若しくは32×32変換ブロック中の4×4サブブロックであり得る。逆方向走査順序で走査される図4に示された係数の符号化シンボルが、表1に要約されている。表1において、scan_posは、図4に示されたCG39の逆方向対角走査パターンに沿った係数の位置を指す。scan_pos15が、走査される最初の係数であり、CG39の右下隅にある。scan_pos15における係数は、0の絶対値を有する。scan_pos0が、走査される最後の係数であり、CG39の左上隅にある。scan_pos0における量子化係数は、10の絶対値を有する。4×4変換ブロック、又はより大きい変換ブロック中の最後の4×4サブブロックの場合、最後の非0係数の位置が知られているので、最初の4つのsigMapFlagはコード化される必要がない。即ち、sigMapFlagのコード化は、最後の非0係数(この例では、scan_pos11における係数)で始まり得る。
Figure 0006469652
[0079]これらのシンボルのうち、sigMapFlag、gr1Flag及びgr2Flagのビンは、適応コンテキストモデルを用いて、例えば、CABACを使用して符号化される。signFlagと、levelRemの2値化されたビンとは、(例えば、指数ゴロムコード又はゴロムライスコードを用いて)固定等確率モデルを用いてバイパスモードを通して符号化される。
[0080]上記で説明したように、HEVC規格におけるシンタックス要素coeff_abs_level_remaining(即ち、levelRem)は、係数のための係数レベルの残りの絶対値が、係数コード化のための前の走査パスにおいてコード化された値よりも大きい場合、その係数のための係数レベルの残りの絶対値を示す。このシンタックス要素は、スループットを増加させるためにバイパスモードでコード化した。HEVC規格は、小さい値のためにはゴロムライスコード化を採用し、より大きい値のためには指数ゴロム(Exp−Golomb)コード化に切り替わる。ゴロムライスコードと指数ゴロムコードとの間の遷移点は、単項コード長が4に等しいときである。ライスパラメータは、ゴロムコードのファミリーからコードワードセットを選択するための調節可能な値である。
[0081]例えば、ゴロムライスコードはゴロムコードのサブセットであり、調節可能なライスパラメータmを仮定すれば、商q=floor(n/m)及び剰余r=n−q×mとして値n>=0を表し、但し、mは2のべき乗である。商qはプレフィックスであり、単項コード表現を有する。剰余rはサフィックスであり、固定長表現を有する。指数ゴロムコードでは、コード構造は、固定長サフィックスが後続する単項プレフィックスによって同様に形成されるが、サフィックス部分におけるコードワードの数は、単項コード中の各ビットの後に2倍になる。指数ゴロムコードは、従って、コードワード長のより遅い増大を有する。概して、ライスパラメータの値が大きくなるほど、コードの増大は遅くなり、それにより、大きい係数値をコード化するときのより大きい効率が可能になる。ライスパラメータに関する更なる詳細は、J.Sole、R.Joshi、M.Karczewicz、N.Nguyen、T.Ji、G.Clare、F.Henry、A.Duenasによる、Transform Coefficient Coding in HEVC、IEEE Transactions on Circuits and Systems for Video Transmission(HEVCに関する特別号)、2012年12月において見つけられよう。
[0082]HEVC規格において、ライスパラメータは、各係数グループ(CG)の開始において0の値等しく設定され、以下のように、ライスパラメータの値と、コード化されている現在の係数のための係数レベルの絶対値とに応じてCGのコード化中に条件付きで更新される。
absCoeffLevel>3cRiceParamである場合、cRiceParam=min(cRiceParam+1,4)
他の場合、cRiceParam=cRiceParam、
但し、cRiceParamはライスパラメータであり、absCoeffLevelは現在の係数のための係数レベルの絶対値であり、min( )は最小値を選択する関数である。HEVCライスパラメータ更新方式により、2値化プロセスは、分布において大きい絶対値が観測されたとき、係数統計値に漸進的に適応することが可能になる。上式でわかるように、HEVCライスパラメータ更新方式は、1又は0の固定増分だけライスパラメータの値を更新する。
[0083]CコードでのHEVCライスパラメータ更新プロセスの一例を以下に示す。
if(absCoeff > 3*( 1<< cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + 1, 4);
}
但し、cRiceParamはライスパラメータであり、absCoeffは現在の係数のための係数レベルの絶対値であり、min( )は最小値を選択する関数であり、<<は左ビットシフト演算である。
[0084]HEVC規格において、HEVCライスパラメータ更新プロセスは以下のように記述される。
変数cRiceParamは、cLastAbsLevel及びcLastRiceParamから次のように導出される。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >
( 3 * ( 1 << cLastRiceParam ) ) ? 1 : 0 ), 4 )
上式において、cRiceParamは、ライスパラメータの更新された値であり、Min( )は最小値を選択する関数であり、cLastRiceParamはライスパラメータの現在値であり、cLastAbsLevelは、現在のコード化されている係数のための係数レベルの絶対値である。ライスパラメータの更新された値は、CG中の後続の係数をコード化するためのゴロムコードを定義するために使用され得るので、これらのパラメータは「Last」という用語を使用して呼ばれる。「?」は条件「if」文の略記である。例えば、上式は次のことを述べているものと見なされ得る。cLastAbsLevel ia(3*(1<<cLastRicParam))よりも大きい場合、cLastRiceParamは1だけ増分され、他の場合、cLastRiceParamは変更されない。
[0085]JCTVC−M0316、M.Budagavi、「AHG8: Coefficient level cRiceParam updates for screen content coding」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコード化(JCT−VC)、第13回会合:仁川、大韓民国、2013年4月18〜26日(以下では、JCTVC−M0316)において提案されている技法は、ライスパラメータのためのより高速な更新プロセスについて説明している。JCTVC−M0316の技法は、HEVCイントラ予測ツールによって時々うまく予測されない鋭いエッジを有する、グラフィック及びテキスト領域をターゲットにしている。予測誤差の結果として、係数値は高い振幅増加を有し得る。
[0086]JCTVC−M0316の寄与は、スクリーンコンテンツビデオを符号化するときのHEVC規格における可逆コード化効率を改善するために、coeff_abs_level_remainingシンタックス要素をコード化するためのライスパラメータ更新プロセスに対して2つの修正を提示する。これらの2つの修正は、(1)ライスパラメータの値の高速更新、及び(2)4から5へのライスパラメータの最大値の増加である。
[0087]JCTVC−M0316の修正(1)のための修正されたCコードの一例は以下の通りである。
if(absCoeff > 25*(1<<cRiceParam)) {
cRiceParam = 4;
}
Else
if(absCoeff > 3*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam+ 1, 4);
}
[0088]修正(1)のための修正されたHEVC規格の一例は以下の通りである。
if ( cLastAbsLevel > ( 25 * ( 1 << cLastRiceParam ) ) ) cRiceParam = 4
else cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >
( 3 * ( 1 << cLastRiceParam ) ) ? 1 : 0 ), 4 )
[0089]JCTVC−M0316の修正(1)と修正(2)の組合せについて、修正されたCコードの一例は以下の通りである。
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]修正(1)と修正(2)の組合せのための修正されたHEVC規格の一例は以下の通りである。
if ( cLastAbsLevel > ( 25 * ( 1 << cLastRiceParam ) ) ) cRiceParam = 4
else cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >
( 3 * ( 1 << cLastRiceParam ) ) ? 1 : 0 ), 4 )
if ( cRiceParam == 4 ) cRiceParam = 5
[0091]JCTVC−M0316において提案されている高速更新技法は、一部のスクリーンコンテンツに対して良好な効率を示す。現在の係数のための係数レベルの絶対値が閾値を上回るとき、ライスパラメータはそれの最大値に直接行くので、JCTVC−M0316の技法は、HEVCライスパラメータ更新方式よりも良好に幾つかのビデオ統計値に調整される。JCTVC−M0316における高速適応プロセスは、基本的に、大きい係数が観測されたとき、ライスパラメータを最大値に設定する。HEVC規格では、(上式に示されている)ライスパラメータは、各係数の係数レベルのための残りの絶対値のコード化において1又は0だけ増加するにすぎない。HEVCライスパラメータ更新方式では、従って、ライスパラメータは、大きい係数値のコード化にはあまり高速に適応しないことがある。
[0092]JCTVC−M0316において提案されている方法の1つの潜在的欠点は、それがライスパラメータ更新プロセスに条件検査を組み込んでいることである。そのような検査はビデオエンコーダ20及びビデオデコーダ30をより遅くさせ得る。また、JCTVC−M0316の技法は、追加の乗算が計算されることを必要とする。そのような追加の計算は係数エントロピーコード化のループ内で行われなければならず、このループはビデオコード化において重要なループであり、ボトルネックになり得る。
[0093]これらの欠点に鑑みて、本開示は、係数レベル値又はビデオコンテンツによる変数増分に基づく高速で効率的なライスパラメータ更新方式のための技法を提案する。本開示の技法は、重要なループへの追加の条件の導入を必要とせず、場合によっては、HEVCライスパラメータ更新方式における幾つかの既存の条件を削除さえし得る。本開示は、変数増分により、ライスパラメータの値が、ライスパラメータの最大値を達成するまで何らかの量だけ増加することが可能になるので、よりフレキシブルであり得る追加の論理なしの高速更新を導入する。
[0094]本開示の第1の例では、ライスパラメータ更新のためのパラメータを信号伝達(signaling)するための技法が説明される。ライスパラメータ更新プロセスのためのHEVC規格における現在の技法を次のように以下に繰り返す。
if(absCoeff > 3*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + 1, 4);
}
但し、cRiceParamはCGの開始において0に等しい。
[0095]本開示の技法は4つの新しいパラメータで表され得る。
・INIT_PARAM:CGの開始におけるライスパラメータの初期値
・INC_PARAM:ライスパラメータの増分値
・MAX_PARAM:ライスパラメータの最大値
・THRESH_ABS_COEFF:係数レベルの絶対値と比較するために更新方式において使用される閾値
[0096]本開示の技法によれば、ビデオエンコーダ20は、ビットストリーム中で、例えば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、LCU、CU、TU又は変換ブロックレベルにおいて、これらのパラメータのうちの1つ又は複数を信号伝達するように構成され得る。この場合、ビデオエンコーダ20は、符号化されているコンテンツのために最良のパラメータを選定し、この選択をビデオデコーダ30に信号伝達するように構成され得る。
[0097]信号伝達されるパラメータを含む、本開示のライスパラメータ更新関数のCコードにおける表現の一例は、以下の通りである。
cRiceParam = INIT_PARAM

if(absCoeff > THRESH_ABS_COEFF*(1<<cRiceParam))
{
cRiceParam = min<UInt>(cRiceParam + INC_PARAM, MAX_PARAM);
}
[0098]幾つかの例では、ビデオエンコーダ20及びビデオデコーダ30は、本開示のライスパラメータ更新方式のためのパラメータのデフォルト値を記憶し得る。自然コンテンツのための量子化変換係数のHEVC規格コード化では、デフォルト値であり得るパラメータの値は、以下の通りであり得る。
・INIT_PARAM=0
・INC_PARAM=1
・MAX_PARAM=4
・THRESH_ABS_COEFF=3
[0099]変換又は量子化されていない係数をコード化するために、スクリーンコード化について又は可逆コンテンツについて、デフォルト値パラメータは異なり得る。例えば、デフォルト値パラメータは以下の通りであり得る。
・INIT_PARAM=2
・INC_PARAM=1
・MAX_PARAM=5
・THRESH_ABS_COEFF=3
上記のパラメータ値は例にすぎない。他の例では、ビデオエンコーダ20及びビデオデコーダ30に他のデフォルト値が記憶され得る。例えば、MAX_PARAMは7の値に等しくなり得る。別の例として、INC_PARAMは、1よりも大きく最大値までのどんな整数値にも等しくなり得る。
[0100]別の例では、ビデオエンコーダ20及び/又はビデオデコーダ30は、残差が非可逆様式でコード化されるときは値のあるセットを使用し、残差がいずれかの可逆様式でコード化されるとき(即ち、cu_transquant_bypass_flagがオンであるとき)は値の別のセットを使用するように構成され得る。別の例では、値のあるセットは、非可逆コード化のためのHEVC値とは異なる変換スキップ又は変換バイパスモードにおいて非可逆コード化のために使用され得る。別の例では、デフォルト値のセットは変換タイプ(例えば、DCT、DST、スキップなど)に依存し得る。
[0101]上記で説明したように、HEVCライスパラメータ更新方式は、各更新において(即ち、ライスパラメータによって定義されるゴロムコードを使用してバイパスモードでコード化されるべき各係数において)ライスパラメータをたかだか1だけ増加させる。JCTVC−M0316における高速適応プロセスは、基本的に、大きい係数が観測されたとき、ライスパラメータを最大値に設定する。
[0102]別の例では、本開示は、追加の論理なしに、又はHEVCライスパラメータ更新方式における検査の数を低減さえすることによって利用され得る高速更新技法を提示する。本開示では、フレキシブルであるライスパラメータの値の高速で効率的な更新のための以下の方法が、最大値を達成するまでライスパラメータの値を何らかの量だけ増加させることができるので、この以下の方法を提案する。
[0103]本開示のこの例によれば、以下に繰り返す、HEVCライスパラメータ更新方式のためのCコードライン
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 );
但し、(absCoeff>>(PARAM1*(2<<cRiceParam)))は、ライスパラメータの値(即ち、cRiceParam)と、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)とに基づいて決定されるライスパラメータの値の変数増分を定義する。この例では、変数増分は、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)の右シフトされたバージョンに基づいて決定され、但し、右シフトの量はライスパラメータの値(即ち、cRiceParam)に基づく。
[0104]本開示のライスパラメータ更新方式の上記の表現では、HEVCライスパラメータ更新方式から1つの検査が削除され、JCTVC−M0316に導入されたライスパラメータ更新方式に関して2つ又は3つの検査が削除されている。本質的に、cRiceParamは、ライスパラメータの最大値(即ち、MAX_RICE_PARAM)、又は、定数パラメータ値(PARAM1)で乗算された(即ち、左シフトされた、「<<」)ライスパラメータ(即ち、cRiceParam)の関数で除算された(即ち、右シフトされた、「>>」)、コード化されている係数の絶対値(即ち、absCoeff)に基づいて決定されるライスパラメータの値(即ち、cRiceParam)の変数増分のいずれかの最小値の選択に基づいて更新される。
[0105]HEVC規格は以下のように定義され得る。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >>
( PARAM1 * ( 2 << cLastRiceParam ) ) ), MAX_RICE_PARAM )
[0106]本開示の一例では、PARAM1は1に等しく設定され、MAX_RICE_PARAMは4に等しく設定される。本開示の第1の例において上記で説明したように、これらのパラメータは、ビデオエンコーダ20によってビデオデコーダ30に信号伝達され得るか、又はビデオデコーダ30によって信号伝達なしに導出され得る。例えば、MAX_RICE_PARAMは、非可逆コード化では4に等しく設定され、可逆コード化では(即ち、cu_transquant_bypass_flagがオンであるときは)5に等しく設定され得る。
[0107]一例では、上記に与えた例示的な値を使用すると、本開示のライスパラメータ更新方式のためのCコード式は以下のようになり得る。
cRiceParam = min<UInt>((cRiceParam + (absCoeff >>
(2<<cRiceParam))), 4);
等価的に、HEVC規格は以下のように定義され得る。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >>
( 2 << cLastRiceParam ) ), 4 )
[0108]JCTVC−M0316において提示されているライスパラメータ更新は、ライスパラメータの値を1だけ増加させるか、又は条件に応じてライスパラメータを4又は5のそれの最大値に等しく設定するだけであることに留意されたい。本開示の技法は、いかなる更新においても、変数増分の量を、ライスパラメータの最大値まで、いずれかの整数値、即ち、1、2、3又はそれ以上だけ増加させることができる。幾つかの例では、ライスパラメータの最大値は、4よりも大きいか又はそれに等しい整数値であり得る。特定の一例では、ライスパラメータの最大値は7に等しい。変数増分の量は、コード化されている係数の絶対値に依存し得る。一例では、大きい絶対値を有する、復号されている係数のための係数レベルに基づいて、変数増分は、1よりも大きい整数値を有するように決定され得る。従って、本開示の技法は、より多くの適応能力を可能にする。
[0109]更に、上述したように、HEVC更新プロセスとJCTVC−M0316の更新プロセスとを表す関数、「?」は「if」条件文と等価である。本開示で説明する技法は、いかなる条件操作の実施をも必要としない。条件操作は係数エントロピーコード化の重要なループにおいて処理及び時間集約的であり得、「if」条件文の削除によって効率が改善され得る。
[0110]また、ライスパラメータを様々な量だけ増加させるこの能力は、ルックアップテーブルによっても達成され得ることに留意されたい。例えば、ルックアップテーブルへの入力が、ライスパラメータの値と、復号されている係数のための係数レベルの絶対値とであり、ルックアップテーブルの出力は、ライスパラメータの値に適用されるべき、0及び1の従来の増分とは異なり得る変数増分の量である、ルックアップテーブルが使用され得る。
[0111]上記に与えた例のうちのいずれかの組合せが使用され得る。例えば、上記に与えた例のいずれかにおけるパラメータは、上記で説明したように、ビデオエンコーダ20によってビデオデコーダ30に信号伝達されるか、又はビデオデコーダ30によって信号伝達なしに導出され得る。本開示の技法は特に、可逆コード化されるか、又は、それらの状況において観測される異なる係数統計値により、HEVC規格における変換とは異なる変換でコード化されるデータに適し得る。特定の一例として、ライスパラメータ更新式cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(2<<cLastRiceParam)),4)は、変換が適用されないCG、即ち、可逆コード化の場合かあるいは変換スキッピング又はバイパスを伴う非可逆コード化でのCGに使用され得、他の場合、HEVCライスパラメータ更新方法が適用される。本開示の技法がより多くの利得を提供し得る別の状況は、極高ビットレート(即ち、高品質)ビデオコード化に関する。本開示の技法は、従って、ターゲットビットレート、ターゲットピーク信号対雑音比(PSNR)、あるいは残差ビデオデータがコード化される量子化ステップ又は量子化パラメータ(QP)に応じて適用され得る。
[0112]本開示の技法は、上記で説明したライスパラメータ更新方式の変形態を含み、そのCコード式を以下に繰り返す。
cRiceParam = min<UInt>((cRiceParam + (absCoeff >>
(PARAM1*(2<<cRiceParam)))), MAX_RICE_PARAM);
[0113]本開示の技法の一例では、上記の基本式は、ライスパラメータがそれについて増加される係数の絶対値のための異なる閾値を取得するように拡張され得る。コード化されている係数の絶対値(即ち、absCoeff)にパラメータ値が加算されるか、又は、絶対値の右シフト演算がそれだけ実施される値にパラメータ値が加算又は乗算され得る。Cコード式の一例は次のように与えられる。
cRiceParam = min<UInt>((cRiceParam + ((absCoeff+P1)>>
(P2+P3*(P4<< cRiceParam)))), MAX_RICE_PARAM);
但し、パラメータ値は、整数値であるP1、P2、P3及びP4であり、ここで、((absCoeff+P1)>>(P2+P3*(P4<<cRiceParam)))は、ライスパラメータの値(即ち、cRiceParam)と、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)とに基づいて決定されるライスパラメータの値の変数増分を定義する。この例では、変数増分は、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)の右シフトされたバージョンに基づいて決定され、但し、右シフトの量はライスパラメータの値(即ち、cRiceParam)に基づく。パラメータMAX_RICE_PARAMは、ライスパラメータが達成し得る最大値を設定する。
[0114]上記の例に示されているように、P1は、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)に加算され得、P2は、絶対値の右シフト演算がそれだけ実施される値(即ち、(P4<<cRiceParam))に加算され得、P3は、絶対値の右シフト演算がそれだけ実施される値(即ち、(P4<<cRiceParam))を乗算し得る。パラメータ値P4と、ライスパラメータの値(即ち、cRiceParam)とは、絶対値の右シフト演算がそれだけ実施される値を決定し得る。
[0115]等価的に、HEVC規格は、この最後の場合について以下のように定義され得る。
cRiceParam = Min(cLastRiceParam + ( (cLastAbsLevel + P1) >>
( P2 + P3 * ( P4 << cLastRiceParam ) ) ), MAX_RICE_PARAM )
[0116]この式の一実装形態では、パラメータ値は、P1=0、P2=1、P3=1、P4=1及びMAX_RICE_PARAM=4になるように設定される。この特定の場合についてのHEVCテキストは以下の通りである。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >>
( 1 + ( 1 << cLastRiceParam ) ) ), 4 )
MAX_RICE_PARAMが5に等しい例では、スクリーンコンテンツの可逆コード化について性能結果が改善され得る。スクリーンコンテンツの可逆コード化の場合のより一層大きい性能のために、MAX_RICE_PARAMは7に等しく設定され得る。
[0117]別の例では、条件を追加することによって、ライスパラメータの値だけ絶対値に適用される右シフトの量への影響は、以下のように限定され得る。
cRiceParam = Min( cLastRiceParam + ( (cLastAbsLevel+P1) >>
( P2 + P3 * ( P4 << ( cLastRiceParam > P5 ? P5 : cLastRiceParam ) ) ),
MAX_RICE_PARAM )
[0118]上記の例において、ライスパラメータ更新方式は、条件(cLastRiceParam>P5?P5:cLastRiceParam)を含むように修正され、これにおいて、ライスパラメータの値がP5よりも大きいとき、ライスパラメータによるライシフト(righ-shift)量はP5の値に限定される。一実装形態では、パラメータ値は、P1=0、P2=1、P3=1、P4=1、P5=0及びMAX_RICE_PARAM=4になるように設定される。この特定の場合についてのHEVCテキストは以下の通りである。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >>
( 2 << ( cLastRiceParam > 0 ? 1 : 0 ) ), 4 )
この場合、絶対値に適用される右シフトの量は、1よりも大きいか又はそれに等しい(即ち、0よりも大きい)任意のライスパラメータについて、同じである、即ち、1に等しい。
[0119]異なる条件下では、ライスパラメータの値を更新するために異なるプロセスが使用され得る。本開示で説明するライスパラメータ更新方法は、コード化されているCGを含む変換ブロックに変換が適用されるかどうかに応じて適用され得る。ビデオエンコーダ20又はビデオデコーダ30などのビデオコード化機器は、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はSPSなどのパラメータセット中のプロファイルセットのうちの1つ又は複数に基づいて、変換ブロックに変換が適用されるかどうかを決定し得る。本開示のライスパラメータ更新方式を使用するプロファイルセットは、HEVCの範囲拡張4:4:4のためのプロファイル又はスクリーンコンテンツ専用のプロファイルであり得るが、他のプロファイルはHEVCライスパラメータ更新方式を使用し得る。
[0120]一例では、CGを含む変換ブロックに変換が適用されるかどうかに基づく条件は以下のように提示され得る。
transform_skip_flagが1に等しいか又はcu_transquant_bypass_flagが1に等しい場合、変数cRiceParamは、cLastAbsLevel及びcLastRiceParamから次のように導出される。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >>
( 1 + ( 1 << cLastRiceParam ) ) ), 4 )
他の場合、変数cRiceParamは、cLastAbsLevel及びcLastRiceParamから次のように導出される。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >
( 3 * ( 1 << cLastRiceParam ) ) ? 1 : 0 ), 4 )
従って、本開示のライスパラメータ更新方式の一変形態は、変換が適用されないとき、即ち、可逆コード化又は変換スキップを伴う非可逆コード化の場合に適用され得、HEVCライスパラメータ更新方式は、変換が適用されるとき、即ち、量子化変換係数の非可逆コード化の場合に適用され得る。
[0121]本開示の技法は、上記で説明したライスパラメータ更新方式の追加の変形態を含み、そのCコード式を以下に繰り返す。
cRiceParam = min<UInt>((cRiceParam + (absCoeff >>
(PARAM1*(2<<cRiceParam)))), MAX_RICE_PARAM);
本開示の技法は、ライスパラメータの値を減少させるための、及び各CGの開始においてライスパラメータを設定又は初期化するための方法について更に説明する。
[0122]本開示の技法の一例では、上記の基本式は、ライスパラメータがそれについて増加される係数の絶対値のための異なる閾値を取得するように、及び乗算演算(即ち、左ビットシフト演算、「<<」)を削除するように拡張され得る。Cコード式の一例は次のように与えられる。
cRiceParam = min((cRiceParam + ((absCoeff + P1)>>
(P2+P3*cRiceParam))), MAX_RICE_PARAM );
但し、パラメータ値は、整数値であるP1、P2及びP2であり、ここで、((absCoeff+P1)>>(P2+P3cRiceParam))は、ライスパラメータの値(即ち、cRiceParam)と、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)とに基づいて決定されるライスパラメータの値の変数増分を定義する。この例では、変数増分は、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)の右シフトされたバージョンに基づいて決定され、但し、右シフトの量はライスパラメータの値(即ち、cRiceParam)に基づく。パラメータMAX_RICE_PARAMは、ライスパラメータが達成し得る最大値を設定する。
[0123]上記の例に示されているように、P1は、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)に加算され得、P2は、絶対値の右シフト演算がそれだけ実施されるライスパラメータの値(即ち、cRiceParam)に加算され得、P3は、絶対値の右シフト演算がそれだけ実施されるライスパラメータの値(即ち、cRiceParam)を乗算し得る。
[0124]HEVC規格は以下のように定義される。
cRiceParam = Min( cLastRiceParam + ( ( cLastAbsLevel + P1 ) >>
( P2 + P3 * cLastRiceParam ) ), MAX_RICE_PARAM )
[0125]上記の例示的な更新方法の一実装形態では、パラメータ値は、P1=0、P2=2、及びP3=1、MAX_RICE_PARAM=4になるように設定される。これらのパラメータは、ビデオエンコーダ20によってビデオデコーダ30に信号伝達され得るか、又はこれらのパラメータは、ビデオデコーダ30によって信号伝達なしに導出され得る。幾つかの例では、MAX_RICE_PARAMは、非可逆コード化では4に等しく設定され、可逆コード化では5に等しく設定され得る。幾つかの他の例では、MAX_RICE_PARAMは7に等しく設定され得る。
[0126]上記のデフォルト値を使用する本開示のライスパラメータ更新方式のためのCコード式の一例は、以下の通りである。
cRiceParam = min((cRiceParam + (absCoeff >> ( 2 + cRiceParam ))), 4 );
[0127]等価的に、HEVC規格は、この最後の場合について以下のように定義される。
cRiceParam = Min( cLastRiceParam + ( cLastAbsLevel >>
( 2 + cLastRiceParam ) ), 4 )
[0128]別の例では、ライスパラメータの値の各更新における変数増分の量量は上限を定められ得る。例えば、各更新において(即ち、ライスパラメータによって定義されるゴロムコードを使用してコード化される各係数レベルについて)ライスパラメータの値がたかだか最大増分値(即ち、MAX_INCREMENT)だけ増加し得る、追加の制限が課され得る。上限を定められたライスパラメータ更新方式のための例示的な式は以下の通りであり得る。
increment = Min( ( cLastAbsLevel >>
( 2 + cLastRiceParam ) ), MAX_INCREMENT )
cRiceParam = Min( cLastRiceParam + increment, MAX_RICE_PARAM )
[0129]他の例では、ライスパラメータの値の各更新における変数増分の量の上限をMAX_INCREMENTに定める代わりに、変数増分がそれでスケーリングされる減衰ファクタがビー導入される。減衰されたライスパラメータ更新方式の一例は以下の通りであり得る。
Figure 0006469652
幾つかの例では、減衰ファクタ(即ち、damp_fact)は1以下である。
[0130]1つの更新ステップにおけるcRiceParamの最大増分の上限を定めるという、又は増分の量を減衰させるというこの概念は、本開示で説明するライスパラメータ更新方式の例のいずれにも適用され得る。同じ概念はまた、以下でより詳細に説明するように、ライスパラメータが減少することが可能にされる場合、ライスパラメータの値の減分の上限を定めるか又はその減分を減衰させるために適用され得る。上記で説明した技法は、全てのブロック中のCGに適用され得るか、又は、変換がそれに適用されない、即ち、可逆コード化又は変換スキッピング又はバイパスを伴う非可逆コード化の場合のブロック中のCGのみに適用され得る。
[0131]上記で説明したライスパラメータ更新技法は、ライスパラメータがCGにわたって減少することを可能にしないことがある。代わりに、更新関数は増加関数として説明された。本開示の技法は、ライスパラメータの値が場合によっては減少することを可能にするライスパラメータ更新方法を更に含む。概括的な言葉で、ライスパラメータの増分と減分の両方を可能にするライスパラメータ更新方式は以下のように表され得る。
cRiceParam = F1( cRiceParam, absCoeff )
但し、F1は、ライスパラメータの幾つかの入力値(即ち、cRiceParam)と、コード化されている係数のための係数レベルの絶対値(即ち、absCoeff)との下で、cRiceParamの出力値がcRiceParamの入力値よりも小さくなるように減少していることがある関数である。
[0132]より具体的な例では、更新方式は以下のように記述され得る。
If ( F2 ( cRiceParam, absCoeff ) )
cRiceParam = cRiceParam + F3( cRiceParam, absCoeff );
else
cRiceParam = cRiceParam - F4( cRiceParam, absCoeff );
但し、条件が関数F2の上でテストされ、関数F3及びF4は、入力としてcRiceParam及びabsCoeff、ならびに潜在的に、前のCGの統計値などの他の入力)を取り、0よりも大きいか又はそれに等しいライスパラメータの値を出力する。
[0133]上記の例示的な更新方式の一実装形態では、単純な関数F2、F3及びF4はそれぞれ以下のように定義される。
If (absCoeff >= (P1*cRiceParam+P2))
cRiceParam = min((cRiceParam+(absCoeff >> (2+cRiceParam))), MAX_RICE_PARAM);
else
cRiceParam = max(cRiceParam - 1, 0);
但し、P1及びP2はパラメータ値である。一例では、パラメータ値は、良好なコード化性能利得を提供するために、P1=1、P2=0、及びMAX_RICE_PARAM=4として設定され得る。他の例では、特に可逆コード化では、ライスパラメータの最大値は、5又は7など、4よりも大きい整数値に等しく設定され得る。
[0134]上記の例では、条件操作は、コード化されている現在の係数のための係数レベルの絶対値(即ち、absCoeff)がライスパラメータの値(即ち、cRiceParam)よりも大きいか又はそれに等しいかどうかを決定するために実施され得る。現在の係数のための係数レベルの絶対値がライスパラメータの値よりも大きいか又はそれに等しい場合、ライスパラメータの値は、上記で詳細に説明したように、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて更新され得る。現在の係数のための係数レベルの絶対値がライスパラメータの値よりも小さい場合、ライスパラメータの値は、0又はライスパラメータの値の減分のいずれかの最大値の選択に基づいて更新され得る。
[0135]ライスパラメータの増分と減分の両方を可能にするライスパラメータ更新方式の上記の例は、ライスパラメータを増加させるべきか減少させるべきかを決定するための1つの追加の条件操作(即ち、if/else条件)を含み得る。しかしながら、本技法は、条件の総数がHEVC方式におけるのと同じままであるように条件がHEVCライスパラメータ更新方式に関して削除されている、本開示のライスパラメータ更新方式に基づく。幾つかの例では、他のライスパラメータ更新方法が、ライスパラメータを増分するか又はそれを減分するように修正され得る。
[0136]更に、変換スキップを伴う非可逆コード化の場合、ライスパラメータの値の減分は、以下のように変換スキップブロックのみに適用され得る。
If ( absCoeff >= cRiceParam || transform_skip_flag )
cRiceParam = min((cRiceParam+(absCoeff >>(2 + cRiceParam))), 4);
else
cRiceParam = cRiceParam - 1;
但し、transform_skip_flagは、変換がCG又はCGの変換ブロックについてスキップされたかどうかを信号伝達する。
[0137]上記の例では、ライスパラメータは1だけのみ減少し得る。他の例では、関数F4は、ライスパラメータの現在値が大きく現在の係数の絶対値が小さい場合、ライスパラメータが1超だけ減少し得るように選定され得る。
[0138]本開示の技法は、ここまでは、CG又は係数のブロックをコード化しながらライスパラメータの値を更新することに焦点を当ててきた。以下の例では、CGの開始においてライスパラメータの値を初期化するための技法について説明する。従来、HEVC規格では、ライスパラメータは、CG(例えば、4×4変換ブロック又は変換ブロック中の4×4サブブロック)中の係数の残りの絶対値をコード化した後に0の値にリセットされる。スクリーンコンテンツのための係数レベルをコード化する場合、又は可逆コード化若しくは変換スキッピング又はバイパスを伴う非可逆コード化の場合、ライスパラメータの値を0に初期化することは最適でないことがある。本開示の技法は、変換ブロックの各CGの開始においてライスパラメータの値を非0値に初期化又は設定し得る。
[0139]本開示のライスパラメータ初期化方式の一例として、ライスパラメータは、CGをコード化した後にリセットされない。本開示の技法によれば、後続のCGのためのライスパラメータの値は、代わりに、現在のCGのコード化の終了時にライスパラメータについて取得されたのと同じ値に設定される。HEVC初期化方式の場合のように、値は、後続のCGの開始において0に等しく設定され得る。しかしながら、HEVC方式とは異なり、ライスパラメータの値は0に設定されることを必要とされない。
[0140]本開示のライスパラメータ初期化方式の別の例として、後続のCGのためのライスパラメータの値は、現在のCGをコード化した後のライスパラメータの値に基づく値に設定される。特定の例では、各CGの開始におけるライスパラメータは以下のように設定される。
cRiceParam = max ( 0, cRiceParam - 1);
上記の例では、ライスパラメータの値は、現在のCGをコード化した後に、0又はライスパラメータの値の減少のいずれかの最大値の選択に基づいて、後続のCGについて初期化される。幾つかの他の例では、ライスパラメータの初期化値は、以下の例におけるように上限を定められ得る。
cRiceParam = min ( 2, max ( 0, cRiceParam - 1 ) );
この例では、ライスパラメータの初期化値は2よりも大きくならないように上限を定められる。
[0141]幾つかの例では、ライスパラメータの現在値から1ではなく2(即ち、nは2に等しい)を減算することを含めて、ライスパラメータの現在値を低減するために1以外の値(例えば、値n)が使用され得る。例えば、変換がそれに適用される変換ブロック中に後続のCGが含まれるかどうかに基づいて、ライスパラメータを初期化するための減少の値は変動し得る。例示的な式は以下の通りであり得る。
if(transform_skip_flag)
cRiceParam = max(0, cRiceParam - 1);
else
cRiceParam = max(0, cRiceParam - 2);
[0142]本開示で説明するライスパラメータ初期化方式の例示的な場合は、全ての変換ブロック中に含まれるCGに適用され得るか、又は、変換ブロックに変換が適用されるかどうかに基づいてCGに適用され得る。例えば、変換スキッピング又は変換バイパスを伴う変換ブロックの場合、ライスパラメータ値は、ブロック中の後続のCGについて0にリセットされないことがあるが、変換がそれに適用されている変換ブロックについては、ライスパラメータはブロック中の後続のCGについて0にリセットされ得る。
[0143]例えば、変換スキップを伴う非可逆コード化の場合、後続のCGのための初期化のためのライスパラメータの値の減少は、変換スキップブロック中のCGのみに適用され得る。例示的な式は以下の通りであり得る。
if(transform_skip_flag)
cRiceParam = max(0, cRiceParam - 1);
else
cRiceParam = 0
[0144]概して、本開示では、CGを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するための技法について説明する。本開示によれば、ライスパラメータの値を調整することは、CG中の後続の係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を更新すること、又は、後続のCG中の少なくとも1つの係数のための係数レベルの残りの絶対値をコード化するためのゴロムコードを定義するためにライスパラメータの値を初期化することを含み得る。
[0145]例えば、変換ブロックに変換が適用されない場合、即ち、変換スキップ又はバイパスの場合、本開示で説明するライスパラメータ更新方式は、CG中の後続の係数のためのライスパラメータの値を更新するために使用され得る。そうではなく、変換ブロックに変換が適用される場合、CG中の後続の係数のためのライスパラメータの値を更新するためにHEVCライスパラメータ更新方式が使用され得る。更なる一例では、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のCGをコード化した後に、ライスパラメータの値に基づいて変換ブロック中の後続のCGについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のCGについて0に等しくなるように初期化され得る。
[0146]ライスパラメータの値を調整する例示的な方法、例えば、ライスパラメータ更新方式及びライスパラメータ初期化方式について、上記では別々に説明したが、本開示の技法はそのように限定されない。概して、上記で説明した例示的な技法の様々な組合せが可能であり得る。上記で説明した例示的な方法はまた、別々に実装され得る。更に、上記で説明した方法の全て又はそれらの組合せは、全ての変換ブロック内のCGに適用されるか、又は変換がそれについてスキップ又はバイパスされる変換ブロックのみに適用され得る。
[0147]図5は、本開示で説明する係数レベルを符号化するための技法を実装し得る例示的なビデオエンコーダを示すブロック図である。ビデオエンコーダ20について、例示のためにHEVCコード化のコンテキストにおいて説明するが、変換係数の走査を必要とし得る他のコード化規格又は方法に関して本開示を限定するものではない。ビデオエンコーダ20は、ビデオフレーム内のCUのイントラコード化及びインターコード化を実施し得る。イントラコード化は、所与のビデオフレーム内のビデオデータの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの現在のフレームと以前にコード化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
[0148]図5に示されているように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図5の例では、ビデオエンコーダ20は、モード選択ユニット30と、ビデオデータメモリ41と、動き補償ユニット44と、動き推定ユニット42と、イントラ予測処理ユニット46と、復号ピクチャバッファ(DPB)64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図5に示された変換処理ニット52は、残差データのブロックに実際の変換又は変換の組合せを適用するユニットであり、CUの変換ユニット(TU)と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロック歪み(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するために、デブロッキングフィルタ(図5に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器62の出力をフィルタ処理することになる。
[0149]ビデオデータメモリ41は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ41に記憶されたビデオデータは、例えば、ビデオ発信源18から取得され得る。復号ピクチャバッファ64は、例えば、イントラコード化モード又はインターコード化モードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ41及び復号ピクチャバッファ64は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、又は他のタイプのメモリ機器を含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ41及び復号ピクチャバッファ64は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、ビデオデータメモリ41は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
[0150]符号化プロセス中に、ビデオエンコーダ20は、コード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大コード化単位(LCU)に分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ又は複数の参照フレーム中の1つ又は複数のブロックに対して受信されたビデオブロックのインター予測コード化を実施する。イントラ予測処理ニット46は、空間圧縮を行うために、コード化されるべきブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コード化を実施し得る。
[0151]モード選択ユニット40は、例えば、各モードについての誤差(即ち、歪み)結果に基づいて、コード化モードのうちの1つ、即ち、イントラ又はインターを選択し得、得られたイントラ又はインター予測ブロック(例えば、予測単位(PU))を、残差ブロックデータを生成するために加算器50に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器62に与える。加算器62は、以下でより詳細に説明するように、予測ブロックを、そのブロックについての、逆変換処理ユニット60からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。幾つかのビデオフレームはIフレームに指定され得、Iフレーム中の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定ユニット42によって実施された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測処理ユニット46は、Pフレーム又はBフレーム中のブロックのイントラ予測符号化を実施し得る。
[0152]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定(又は動き探索)は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在のフレーム中の予測単位の変位を示し得る。動き推定ユニット42は、予測単位を復号ピクチャバッファ64に記憶された参照ピクチャの参照サンプルと比較することによってインターコード化フレームの予測単位の動きベクトルを計算する。参照サンプルは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of squared difference)、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されているPUを含むCUの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレーム又は参照スライス内のどこにでも発生し得、必ずしも、参照フレーム又はスライスのブロック(例えば、コード化単位)境界において発生するとは限らない。幾つかの例では、参照サンプルは分数画素位置において発生し得る。
[0153]動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット44は、例えば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在のCUの予測単位についての予測値を計算し得る。
[0154]イントラ予測処理ユニット46は、動き推定ユニット42と動き補償ユニット44とによって実施されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測処理ユニット46は、隣接する、以前にコード化されたブロック、例えば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在のブロックの上、右上、左上、又は左のブロックに対して受信ブロックを予測し得る。イントラ予測処理ユニット46は多種多様なイントラ予測モードで構成され得る。例えば、イントラ予測処理ユニット46は、符号化されているCUのサイズに基づいて、一定数の方向性予測モード、例えば、33個の方向性予測モードで構成され得る。
[0155]イントラ予測処理ユニット46は、例えば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接する画素の値を合成し、その合成された値をPU中の1つ又は複数の画素位置に適用するための機能を含み得る。PU中の全ての画素位置の値が計算されると、イントラ予測処理ユニット46は、PUと符号化されるべき受信ブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測処理ユニット46は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測処理ユニット46は、次いで、PUを加算器50に送り得る。
[0156]ビデオエンコーダ20は、コード化されている元のビデオブロックから、動き補償ユニット44又はイントラ予測処理ユニット46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実施する1つ又は複数の構成要素を表す。残差ブロックは画素差分値の2次元行列に対応し得、ここで、残差ブロック中の値の数は、残差ブロックに対応するPU中の画素の数と同じである。残差ブロック中の値は、PU中と、コード化されるべき元のブロック中との同一位置配置画素(co-located pixels)の値の差分、即ち、誤差に対応し得る。差分は、コード化されるブロックのタイプに応じてクロマ差分又はルーマ差分であり得る。
[0157]変換処理ユニット52は、残差ブロックから1つ又は複数の変換単位(TU)を形成し得る。変換処理ユニット52は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コード化モードなど、1つ又は複数のコード化特性に基づいて選択され得る。変換処理ユニット52は、次いで、選択された変換をTUに適用して、変換係数の2次元アレイを備えるビデオブロックを生成する。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、次いで、その変換係数を量子化し得る。
[0158]エントロピー符号化ユニット56が、次いで、走査モードに従って行列中の係数の走査を実施し得る。非可逆コード化の場合、係数は、量子化された変換係数であり得る。可逆コード化又は変換スキッピング若しくはバイパスを伴う非可逆コード化の場合、係数は、変換又は量子化されていない係数であり得る。本開示では、エントロピー符号化ユニット56が走査を実施するものとして説明する。但し、他の例では、量子化ユニット54などの他の処理ユニットが走査を実施し得ることを理解されたい。
[0159]変換係数が1次元アレイに走査されると、エントロピー符号化ユニット56は、CABAC、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE)、又は別のエントロピーコード化方法などのエントロピーコード化を係数に適用し得る。エントロピー符号化ユニット56は、本開示の技法に従って係数をコード化するように構成され得る。CABACの例では、エントロピー符号化ユニット56は、通常コード化モード又はバイパスモードのいずれかを使用して係数を符号化し得る。CABACを実施するために、エントロピー符号化ユニット56は、送信されるべきシンボルを符号化するためのあるコンテキストを適用するためにコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非0であるか否かに関係し得る。エントロピー符号化ユニット56は、コンテキストモデル選択のために使用される要因の中でも、例えば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、及び/又は変換タイプに基づいて、これらのシンボルを符号化するために使用されるコンテキストモデルを選択し得る。
[0160]エントロピー符号化ユニット56は、ビデオデコーダ又は記憶機器への送信のために残差ビデオデータの係数レベルをビットストリーム中に符号化し得る。可逆ビデオコード化、又は変換スキッピング若しくはバイパスを伴う非可逆ビデオコード化の場合、符号化されるべき係数は、大きい絶対値をもつ係数レベルを有し得る。係数が、グラフィック及びテキスト領域を含み得るスクリーンコンテンツを表すとき、そのコンテンツはうまく予測されないことがあり、その結果、符号化されるべき係数のための係数レベルの大きい絶対値が生じる。
[0161]エントロピー符号化ユニット56は、ライスパラメータによって定義されるゴロムコードを使用してバイパスモードで係数グループ(CG)中の少なくとも1つの係数のための係数レベルの残りの絶対値(例えば、coeff_abs_level_remaining又はlevelRem)を符号化する。本開示の技法によれば、エントロピー符号化ユニット56は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新するように構成される。変数増分の量は、ライスパラメータの値と、符号化されている現在の係数のための係数レベルの絶対値とに基づいて決定される。変数増分は、ライスパラメータの値がライスパラメータの最大値まで、いずれかの整数値だけ増加することを可能にする。ライスパラメータ更新を表す例示的な式については上記でより詳細に説明した。本開示で説明するライスパラメータ更新方式は、スクリーンコンテンツのブロックと変換スキッピング又はバイパスを伴うブロックとにおいて生じ得る大きい係数値にライスパラメータが迅速に及び効率的に適応することを可能にする。
[0162]幾つかの例では、エントロピー符号化ユニット56は、CGを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するように更に構成され得る。本開示で説明する技法によれば、変換ブロックに変換が適用されないとき、即ち、変換スキップ又はバイパスの場合、エントロピー符号化ユニット56は、CGの係数のための係数レベルの大きい絶対値に適応するためにフレキシブルであるライスパラメータ更新及びライスパラメータ初期化方式を実施し得る。一方、変換ブロックに変換が適用されるとき、エントロピー符号化ユニット56は、変換された係数の小さい係数値のために最適化されたHEVCライスパラメータ更新及び初期化方式を適用し得る。
[0163]エントロピー符号化ユニット56によるエントロピーコード化の後に、得られた符号化ビデオは、ビデオデコーダ30などの別の機器に送信されるか、又は後で送信するか若しくは取り出すためにアーカイブされ得る。場合によっては、エントロピー符号化ユニット56又はビデオエンコーダ20の別のユニットは、エントロピーコード化に加えて、他のコード化機能を実施するように構成され得る。例えば、エントロピー符号化ユニット56は、CUとPUとのコード化ブロックパターン(CBP:coded block pattern)値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は係数のランレングスコード化を実施し得る。
[0164]逆量子化ユニット58及び逆変換処理ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを復号ピクチャバッファ64の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、復号ピクチャバッファ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するための参照ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用され得る。
[0165]図6は、本開示で説明する係数レベルを復号するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図6の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、ビデオデータメモリ71と、動き補償ユニット72と、イントラ予測処理ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、復号ピクチャバッファ(DPB)82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20(図5参照)に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
[0166]ビデオデータメモリ71は、ビデオエンコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ71に記憶されたビデオデータは、例えば、コンピュータ可読媒体16から、例えば、カメラなどのローカルビデオ発信源から、ビデオデータのワイヤード又はワイヤレスネットワーク通信を介して、若しくは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ71は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ82は、例えば、イントラコード化モード又はインターコード化モードでビデオデコーダ30によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ71及び復号ピクチャバッファ82は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリ機器を含む、ダイナミックランダムアクセスメモリ(DRAM)など、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ71及び復号ピクチャバッファ82は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、ビデオデータメモリ71は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
[0167]エントロピー復号ユニット70は、残差ビデオデータ係数の1次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実施する。使用されるエントロピー復号プロセスは、ビデオエンコーダ20によって使用されたエントロピーコード化(例えば、CABAC)に依存する。エンコーダによって使用されたエントロピーコード化プロセスは、符号化ビットストリーム中で信号伝達されるか、又は所定のプロセスであり得る。エントロピー復号ユニット70は、本開示の技法に従って係数を復号するように構成され得る。CABACの例では、エントロピー復号ユニット70は、通常コード化モード又はバイパスモードのいずれかを使用して係数を復号し得る。
[0168]幾つかの例では、エントロピー復号ユニット70は、ビデオエンコーダ20のエントロピー符号化ユニット56によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット76において実施され得るが、走査については、例示のために、エントロピー復号ユニット70によって実施されるものとして説明する。更に、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ30のエントロピー復号ユニット70、逆量子化ユニット76、及び他のユニットの構造及び機能は、互いに高度に統合され得る。
[0169]エントロピー復号ユニット70は、ビデオエンコーダ20とは逆の様式でビットストリームからの残差ビデオデータ係数の係数レベルを復号する。非可逆ビデオコード化の場合、復号されるべき係数は、量子化された変換係数であり得る。可逆ビデオコード化、又は変換スキッピング若しくはバイパスを伴う非可逆ビデオコード化の場合、復号されるべき係数は、大きい絶対値をもつ係数レベルを有し得る。係数が、グラフィック及びテキスト領域を含み得るスクリーンコンテンツを表すとき、そのコンテンツはうまく予測されないことがあり、その結果、復号されるべき係数のための係数レベルの大きい絶対値が生じる。
[0170]エントロピー復号ユニット70は、ライスパラメータによって定義されるゴロムコードを使用して係数グループ(CG)中の少なくとも1つの係数のための係数レベルの残りの絶対値を復号する。本開示の技法によれば、エントロピー復号ユニット70は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新するように構成される。変数増分の量は、ライスパラメータの値と、復号されている現在の係数のための係数レベルの絶対値とに基づいて決定される。変数増分は、ライスパラメータの値がライスパラメータの最大値まで、いずれかの整数値だけ増加することを可能にする。ライスパラメータ更新を表す例示的な式については上記でより詳細に説明した。本開示で説明するライスパラメータ更新方式は、スクリーンコンテンツのブロックと変換スキッピング又はバイパスを伴うブロックとにおいて生じ得る大きい係数値にライスパラメータが迅速に及び効率的に適応することを可能にする。
[0171]幾つかの例では、エントロピー復号ユニット70は、CGを含む変換ブロックに変換が適用されるかどうかに基づいて、係数レベルコード化のためのゴロムコードを定義するために使用されるライスパラメータの値を調整するように更に構成され得る。本開示で説明する技法によれば、変換ブロックに変換が適用されないとき、即ち、変換スキップ又はバイパスの場合、エントロピー復号ユニット70は、CGの係数のための係数レベルの大きい絶対値に適応するためにフレキシブルであるライスパラメータ更新及びライスパラメータ初期化方式を実施し得る。一方、変換ブロックに変換が適用されるとき、エントロピー復号ユニット70は、変換された係数の小さい係数値のために最適化されたHEVCライスパラメータ更新及び初期化方式を適用し得る。
[0172]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された、量子化された変換係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、例えば、HEVCのために提案されたプロセス又はH.264復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化処理は、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、CUについてビデオエンコーダ20によって計算される量子化パラメータQPの使用を含み得る。逆量子化ユニット76は、係数が1次元アレイから2次元アレイに変換される前又は変換された後に変換係数を逆量子化し得る。
[0173]逆変換処理ユニット78は、逆量子化された変換係数に逆変換を適用する。幾つかの例では、逆変換処理ユニット78は、ビデオエンコーダ20からの信号伝達に基づいて、又はブロックサイズ、コード化モードなどの1つ以上のコード化特性から変換を推測することによって、逆変換を決定し得る。幾つかの例では、逆変換処理ユニット78は、現在のブロックを含むLCUのための4分木のルートノードにおける信号伝達された変換に基づいて、現在のブロックに適用すべき変換を決定し得る。代替的に、変換は、LCU4分木中のリーフノードCUのためのTU4分木のルートにおいて信号伝達され得る。幾つかの例では、逆変換処理ユニット78は、逆変換処理ユニット78が、復号されている現在のブロックの変換係数に2つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
[0174]イントラ予測処理ユニット74は、信号伝達されたイントラ予測モードと、現在のフレームについて以前に復号されたブロックからのデータとに基づいて、現在のフレームの現在のブロックについての予測データを生成し得る。
[0175]動き補償ユニット72は、符号化ビットストリームから、動きベクトルと、動き予測方向と、参照インデックスとを取り出し得る。参照予測方向は、インター予測モードが単方向である(例えば、Pフレーム)か、双方向である(Bフレーム)かを示す。参照インデックスは、候補動きベクトルがどの参照フレームに基づくかを示す。取り出された動き予測方向と、参照フレームインデックスと、動きベクトルとに基づいて、動き補償ユニット72は、現在の部分についての動き補償ブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
[0176]動き補償ユニット72は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実施し得る。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0177]更に、動き補償ユニット72及びイントラ予測処理ユニット74は、HEVCの例では、(例えば、4分木によって与えられる)シンタックス情報の一部を使用して、符号化ビデオシーケンスのフレームを符号化するために使用されるLCUのサイズを決定し得る。動き補償ユニット72及びイントラ予測処理ユニット74はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各CUがどのように分割されるか(及び、同様に、サブCUがどのように分割されるか)を記述する分割情報を決定し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード(例えば、イントラ又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード)と、各インター符号化PUについての1つ又は複数の参照フレーム(及び/又はそれらの参照フレームの識別子を含んでいる参照リスト)と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
[0178]加算器80は、残差ブロックを、動き補償ユニット72又はイントラ予測処理ユニット74によって生成された対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロック歪みを除去するために復号されたブロックをフィルタ処理するために、デブロッキングフィルタも適用され得る。復号されたビデオブロックは、次いで、復号ピクチャバッファ82に記憶され、復号ピクチャバッファ82は、参照ブロックを後続の動き補償のために与え、また、(図1の表示装置32などの)表示装置上での提示のために復号されたビデオを生成する。
[0179]図7は、本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を更新する例示的な動作を示すフローチャートである。例示的な動作について、図5からのエントロピー符号化ユニット56を含むビデオエンコーダ20に関して説明する。
[0180]エントロピー符号化ユニット56は、ビデオデコーダ30への送信のために又は記憶媒体34若しくはファイルサーバ36上の記憶のために、ビットストリーム中に符号化されるべき残差ビデオデータの係数を受信する。符号化のための残差ビデオデータ係数を受信すると、エントロピー符号化ユニット56は、係数のブロック又は係数グループ(CG)を決定する(100)。CGは、図4に示されているn×n(例えば、4×4)サブブロックなど、変換ブロックのサブブロックであり得る。
[0181]上記でより詳細に説明したように、エントロピー符号化ユニット56は、CG中の係数の係数レベルを符号化するために、逆方向走査順序に従ってCGについて1つ又は複数の走査を実施し得る。例えば、エントロピー符号化ユニット56は、通常コード化モードでコンテキストモデルを使用して、係数が、1よりも大きい絶対値をもつ係数レベルを有するか、又は2よりも大きい絶対値をもつ係数レベルを有するかを示すためのフラグ又はシンタックス要素を符号化し得る。エントロピー符号化ユニット56は、次いで、ライスパラメータによって定義されるゴロムコードを使用してCG中の係数のうちの少なくとも1つのための係数レベルの残りの絶対値を示すためのフラグ又はシンタックス要素を符号化する(102)。例えば、エントロピー符号化ユニット56は、バイパスモードで2よりも大きい係数レベルをもつ係数の全てのための係数レベルの残りの絶対値を示すシンタックス要素を符号化し得る。
[0182]本開示の技法に従って、エントロピー符号化ユニット56は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新する(104)。上記で詳細に説明したように、変数増分の量は、ライスパラメータの値と、符号化されている係数のための係数レベルの絶対値とに基づいて決定される。幾つかの例では、変数増分の量は、現在の係数のための係数レベルの絶対値の右シフトされたバージョンに基づいて決定され得、ここで、右シフトの量はライスパラメータの値に基づく。幾つかの例では、エントロピー符号化ユニット56は、CG中の後続の係数のための係数レベルの残りの絶対値を符号化するためのゴロムコードを定義するために、ライスパラメータの更新された値を使用し得る。
[0183]図8は、本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を更新する例示的な動作を示すフローチャートである。例示的な動作について、図6からのエントロピー復号ユニット70を含むビデオデコーダ30に関して説明する。
[0184]ビデオデコーダ30は、ビデオエンコーダ20から、又は記憶媒体34若しくはファイルサーバ36などの記憶機器から符号化ビデオビットストリームを受信する。受信されたビデオビストリームは、復号されるべき残差ビデオデータの係数を表す。ビデオビットストリームを受信すると、エントロピー復号ユニット70は、ビットストリームから復号されるべき残差ビデオデータ係数のブロック又は係数グループ(CG)を決定する(110)。CGは、図4に示されている4×4サブブロックなど、変換ブロックのサブブロックであり得る。
[0185]上記でより詳細に説明したように、エントロピー復号ユニット70は、CG中の係数の係数レベルを復号するために、逆方向走査順序に従ってCGについて1つ又は複数の走査を実施し得る。例えば、エントロピー復号ユニット70は、通常コード化モードでコンテキストモデルを使用して、係数が、絶対値をもつ係数レベルを有するかどうか、1よりも大きいか2よりも大きいかを示すフラグ又はシンタックス要素を復号し得る。エントロピー復号ユニット70はまた、ライスパラメータによって定義されるゴロムコードを使用してCG中の係数のうちの少なくとも1つのための係数レベルの残りの絶対値を示すフラグ又はシンタックス要素を復号する(112)。例えば、エントロピー復号ユニット70は、バイパスモードで2よりも大きい係数レベルをもつ係数の全てのための係数レベルの残りの絶対値を示すシンタックス要素を復号し得る。
[0186]本開示の技法に従って、エントロピー復号ユニット70は、ライスパラメータの最大値又はライスパラメータの値の変数増分のいずれかの最小値の選択に基づいてライスパラメータの値を更新する(114)。上記で詳細に説明したように、変数増分の量は、ライスパラメータの値と、復号されている係数のための係数レベルの絶対値とに基づいて決定される。幾つかの例では、変数増分の量は、現在の係数のための係数レベルの絶対値の右シフトされたバージョンに基づいて決定され得、ここで、右シフトの量はライスパラメータの値に基づく。幾つかの例では、エントロピー復号ユニット70は、CG中の後続の係数のための係数レベルの残りの絶対値を復号するためのゴロムコードを定義するために、ライスパラメータの更新された値を使用し得る。
[0187]図9は、本開示で説明する技法に従って係数レベルのエントロピー符号化中にライスパラメータの値を調整する例示的な動作を示すフローチャートである。例示的な動作について、図5からのエントロピー符号化ユニット56を含むビデオエンコーダ20に関して説明する。
[0188]エントロピー符号化ユニット56は、ビデオデコーダ30への送信のために又は記憶媒体34又はファイルサーバ36上の記憶のために、ビットストリーム中に符号化されるべき残差ビデオデータの係数を受信する。符号化のための残差ビデオデータ係数を受信すると、エントロピー符号化ユニット56は、係数のブロック又は係数グループ(CG)を決定する(120)。CGは、図4に示されている4×4サブブロックなど、変換ブロックのサブブロックであり得る。非可逆ビデオコード化の場合、符号化されるべき係数は、量子化された変換係数であり得る。可逆ビデオコード化と、変換スキップ又はバイパスを伴う非可逆ビデオコード化との場合、変換及び量子化演算は、符号化されるべき係数についてスキップされる。
[0189]上記でより詳細に説明したように、エントロピー符号化ユニット56は、CG中の係数の係数レベルを符号化するために、逆方向走査順序に従ってCGについて1つ又は複数の走査を実施し得る。例えば、エントロピー符号化ユニット56は、ライスパラメータによって定義されるゴロムコードを使用してCG中の係数のうちの少なくとも1つのための係数レベルの残りの絶対値を示すフラグ又はシンタックス要素を符号化する(122)。本開示の技法に従って、エントロピー符号化ユニット56は、CGを含む変換ブロックに変換が適用されたかどうかに基づいてライスパラメータの値を調整する(124)。エントロピー符号化ユニット56は、変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも1つに基づいて、変換ブロックに変換が適用されるかどうかを決定し得る。
[0190]一例では、本開示の技法によれば、変換ブロックに変換が適用されない場合、CG中の後続の係数のための係数レベルの残りの絶対値をコード化するためのライスパラメータの値を更新するために、本開示で説明するライスパラメータ更新方式が使用され得る。そうではなく、変換ブロックに変換が適用される場合、CG中の後続の係数のためのライスパラメータの値を更新するためにHEVCライスパラメータ更新方式が使用され得る。別の例では、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のCG中の係数のための係数レベルの残りの絶対値を符号化した後に、ライスパラメータの値に基づいて変換ブロック中の後続のCGについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のCGについて0に等しくなるように初期化され得る。
[0191]図10は、本開示で説明する技法に従って係数レベルのエントロピー復号中にライスパラメータの値を調整する例示的な動作を示すフローチャートである。例示的な動作について、図6からのエントロピー復号ユニット70を含むビデオデコーダ20に関して説明する。
[0192]ビデオデコーダ30は、ビデオエンコーダ20から、又は記憶媒体34若しくはファイルサーバ36などの記憶機器から符号化ビデオビットストリームを受信する。受信されたビデオビストリームは、復号されるべき残差ビデオデータの係数を表す。ビデオビットストリームを受信すると、エントロピー復号ユニット70は、ビットストリームから復号されるべき残差ビデオデータ係数のブロック又は係数グループ(CG)を決定する(130)。CGは、図4に示されている4×4サブブロックなど、変換ブロックのサブブロックであり得る。非可逆ビデオコード化の場合、復号されるべき係数は、量子化された変換係数であり得る。可逆ビデオコード化と、変換スキップ又はバイパスを伴う非可逆ビデオコード化との場合、変換及び量子化演算は、復号されるべき係数についてスキップされる。
[0193]上記でより詳細に説明したように、エントロピー復号ユニット70は、CG中の係数の係数レベルを復号するために、逆方向走査順序に従ってCGについて1つ又は複数の走査を実施し得る。例えば、エントロピー復号ユニット70は、ライスパラメータによって定義されるゴロムコードを使用してCG中の係数のうちの少なくとも1つのための係数レベルの残りの絶対値を示すフラグ又はシンタックス要素を復号する(132)。本開示の技法に従って、エントロピー復号ユニット70は、CGを含む変換ブロックに変換が適用されたかどうかに基づいてライスパラメータの値を調整する(134)。エントロピー復号ユニット70は、変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも1つに基づいて、変換ブロックに変換が適用されるかどうかを決定し得る。
[0194]一例では、本開示の技法によれば、変換ブロックに変換が適用されない場合、CG中の後続の係数のための係数レベルの残りの絶対値をコード化するためのライスパラメータの値を更新するために、本開示で説明するライスパラメータ更新方式が使用され得る。そうではなく、変換ブロックに変換が適用される場合、CG中の後続の係数のためのライスパラメータの値を更新するためにHEVCライスパラメータ更新方式が使用され得る。別の例では、本技法によれば、変換ブロックに変換が適用されない場合、ライスパラメータの値は、現在のCG中の係数のための係数レベルの残りの絶対値を復号した後に、ライスパラメータの値に基づいて変換ブロック中の後続のCGについて初期化され得る。そうではなく、変換ブロックに変換が適用される場合、ライスパラメータの値は、変換ブロック中の後続のCGについて0に等しくなるように初期化され得る。
[0195]1つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得るか、又は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0196]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置機器、フラッシュメモリ、若しくは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0197]命令は、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又は他の等価な集積回路又はディスクリート論理回路など、1つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成されるか、又は複合コーデックに組み込まれる、専用ハードウェア及び/又はソフトウェアモジュール内で提供され得る。また、本技法は、1つ又は複数の回路又は論理要素において完全に実装され得る。
[0198]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。様々な構成要素、モジュール、又はユニットについて、開示する技術を実施するように構成された機器の機能的態様を強調するために本開示で説明したが、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、又は相互動作ハードウェアユニットの集合によって提供され得る。
[0199]様々な例について説明した。これら及び他の例は、以下の特許請求の範囲内にある。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオ復号プロセスにおいて係数を復号する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値を復号することと、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することとを備える、方法。
[2] 係数の前記ブロックが係数グループ(CG)を備え、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値を更新することを備え、前記方法が、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG中の後続の係数のための係数レベルの残りの絶対値を復号することを更に備える、[1]に記載の方法。
[3] 係数の前記ブロックが係数グループ(CG)を備え、前記ライスパラメータの前記値を調整することが、後続のCGのために前記ライスパラメータの前記値を初期化することを備え、前記方法が、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のCG中の少なくとも1つの係数のための係数レベルの残りの絶対値を復号することを更に備える、[1]に記載の方法。
[4] 前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、[1]に記載の方法。
[5] 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させる、[4]に記載の方法。
[6] 前記変数増分が、復号されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、[4]に記載の方法。
[7] 前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの1つである、[4]に記載の方法。
[8] 前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させることを備える、[1]に記載の方法。
[9] 前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、係数の現在のブロック中の前記少なくとも1つの係数のための前記係数レベルの前記残りの絶対値を復号した後に、前記ライスパラメータの前記値に基づいて前記変換ブロック中の係数の後続のブロックのために前記ライスパラメータの前記値を初期化することを備える、[1]に記載の方法。
[10] 前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、係数の前記ブロック中の後続の係数のために高効率ビデオコード化(HEVC)ライスパラメータ更新方式に従って前記ライスパラメータの前記値を更新することを備える、[1]に記載の方法。
[11] 前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、前記変換ブロック中の係数の後続のブロックについて0に等しくなるように前記ライスパラメータの前記値を初期化することを備える、[1]に記載の方法。
[12] 前記変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも1つに基づいて、前記変換ブロックに前記変換が適用されるかどうかを決定することを更に備える、[1]に記載の方法。
[13] ビデオ復号プロセスにおいて係数を符号化する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値を符号化することと、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することとを備える、方法。
[14] 係数の前記ブロックが係数グループ(CG)を備え、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値を更新することを備え、前記方法が、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG中の後続の係数のための係数レベルの残りの絶対値を符号化することを更に備える、[13]に記載の方法。
[15] 係数の前記ブロックが係数グループ(CG)を備え、前記ライスパラメータの前記値を調整することが、後続のCGのために前記ライスパラメータの前記値を初期化することを備え、前記方法が、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のCG中の少なくとも1つの係数のための係数レベルの残りの絶対値を符号化することを更に備える、[13]に記載の方法。
[16] 前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、[13]に記載の方法。
[17] 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させる、[16]に記載の方法。
[18] 前記変数増分が、符号化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、[16]に記載の方法。
[19] 前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの1つである、[16]に記載の方法。
[20] 前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させることを備える、[13]に記載の方法。
[21] 前記変換ブロックに前記変換が適用されない場合、前記ライスパラメータの前記値を調整することが、係数の現在のブロック中の前記少なくとも1つの係数のための前記係数レベルの前記残りの絶対値を符号化した後に、前記ライスパラメータの前記値に基づいて前記変換ブロック中の係数の後続のブロックのために前記ライスパラメータの前記値を初期化することを備える、[13]に記載の方法。
[22] 前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、係数の前記ブロック中の後続の係数のために高効率ビデオコード化(HEVC)ライスパラメータ更新方式に従って前記ライスパラメータの前記値を更新することを備える、[13]に記載の方法。
[23] 前記変換ブロックに前記変換が適用される場合、前記ライスパラメータの前記値を調整することが、前記変換ブロック中の係数の後続のブロックについて0に等しくなるように前記ライスパラメータの前記値を初期化することを備える、[13]に記載の方法。
[24] 前記変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも1つに基づいて、前記変換ブロックに前記変換が適用されるかどうかを示すことを更に備える、[13]に記載の方法。
[25] ビデオデータを記憶するように構成されたメモリと、 残差ビデオデータの係数のブロックを決定することと、 ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、 係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することと を行うように構成された1つ以上のプロセッサとを備えるビデオコード化機器。
[26] 前記ビデオコード化機器がビデオ復号機器を備え、係数の前記ブロックが係数グループ(CG)を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記CG中の前記係数のための前記係数レベルの前記残りの絶対値を復号することと、前記CGを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて前記ライスパラメータの前記値を更新することと、前記ライスパラメータの前記更新された値によって定義されるゴロムコードを使用して前記CG中の後続の係数のための係数レベルの残りの絶対値を復号することとを行うように構成された、[25]に記載の機器。
[27] 前記ビデオコード化機器がビデオ符号化機器を備え、係数の前記ブロックが係数グループ(CG)を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記CG中の前記係数のための前記係数レベルの前記残りの絶対値を符号化することと、前記CGを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて前記ライスパラメータの前記値を更新することと、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG中の後続の係数のための係数レベルの残りの絶対値を符号化することとを行うように構成された、[25]に記載の機器。
[28] 前記ビデオコード化機器がビデオ復号機器を備え、係数の前記ブロックが係数グループ(CG)を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記CG中の前記係数のための前記係数レベルの前記残りの絶対値を復号することと、前記CGを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて後続のCGのために前記ライスパラメータの前記値を初期化することと、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のCG中の少なくとも1つの係数のための係数レベルの残りの絶対値を復号することとを行うように構成された、[25]に記載の機器。
[29] 前記ビデオコード化機器がビデオ符号化機器を備え、係数の前記ブロックが係数グループ(CG)を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記CG中の前記係数のための前記係数レベルの前記残りの絶対値を符号化することと、前記CGを含む前記変換ブロックに前記変換が適用されるかどうかに基づいて後続のCGのために前記ライスパラメータの前記値を初期化することと、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを使用して後続のCG中の少なくとも1つの係数のための係数レベルの残りの絶対値を符号化することとを行うように構成された、[25]に記載の機器。
[30] 前記変換ブロックに前記変換が適用されない場合、前記プロセッサが、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新するように構成され、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、[25]に記載の機器。
[31] 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させる、[30]に記載の機器。
[32] 前記変数増分が、コード化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、[30]に記載の機器。
[33] 前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの1つである、[30]に記載の方法。
[34] 前記変換ブロックに前記変換が適用されない場合、前記プロセッサが、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させるように構成された、[25]に記載の機器。
[35] 前記変換ブロックに前記変換が適用されない場合、前記プロセッサが、係数の現在のブロック中の前記少なくとも1つの係数のための前記係数レベルの前記残りの絶対値を復号した後に、前記ライスパラメータの前記値に基づいて前記変換ブロック中の係数の後続のブロックのために前記ライスパラメータの前記値を初期化するように構成された、[25]に記載の機器。
[36] 前記変換ブロックに前記変換が適用される場合、前記プロセッサが、係数の前記ブロック中の後続の係数のために高効率ビデオコード化(HEVC)ライスパラメータ更新方式に従って前記ライスパラメータの前記値を更新するように構成された、[25]に記載の機器。
[37] 前記変換ブロックに前記変換が適用される場合、前記プロセッサが、前記変換ブロック中の係数の後続のブロックについて0に等しくなるように前記ライスパラメータの前記値を初期化するように構成された、[25]に記載の機器。
[38] 前記プロセッサは、前記変換ブロックのための可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又はパラメータセット中のプロファイルセットのうちの少なくとも1つに基づいて、前記変換ブロックに前記変換が適用されるかどうかを決定するように構成された、[25]に記載の機器。
[39] 残差ビデオデータの係数のブロックを決定するための手段と、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化するための手段と、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整するための手段とを備えるビデオコード化機器。
[40] ビデオコード化機器の1つ以上のプロセッサによって実行されたとき、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、係数の前記ブロックを含む変換ブロックに変換が適用されるかどうかに基づいて前記ライスパラメータの値を調整することとを前記プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
[41] ビデオ復号プロセスにおいて係数を復号する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値を復号することと、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を備える、方法。
[42] 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させ、前記ライスパラメータの前記最大値が、4よりも大きいか又はそれに等しい整数値である、[41]に記載の方法。
[43] 大きい絶対値を有する、復号されている前記係数のための前記係数レベルに基づいて、前記変数増分が、前記ライスパラメータの前記値を1よりも大きい整数値だけ増加させる、[42]に記載の方法。
[44] 前記ライスパラメータの前記値を更新することが、どんな条件操作も実施することなしに前記ライスパラメータの前記値を更新することを備える、[41]に記載の方法。
[45] 係数の前記ブロックが、変換係数、又は変換がそれに適用されない係数のいずれかを備える、[41]に記載の方法。
[46] 前記変数増分が、復号されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、[41]に記載の方法。
[47] 前記ライスパラメータの前記値と、復号されている前記係数のための前記係数レベルの前記絶対値とに基づいて、前記ライスパラメータの前記値を更新することが、前記ライスパラメータの前記値を減少させることを備える、[41]に記載の方法。
[48] 係数の前記ブロックのための前記ライスパラメータの初期値と、前記ライスパラメータの前記変数増分と、前記ライスパラメータの前記最大値と、復号されている前記係数のための前記係数レベルの前記絶対値のための閾値と、1つ以上の整数パラメータ値とのうちの1つ以上を示すように構成されたシンタックス要素を受信することを更に備える、[41]に記載の方法。
[49] ビデオ符号化プロセスにおいて係数を符号化する方法であって、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値を符号化することと、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を備える、方法。
[50] 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させ、前記ライスパラメータの前記最大値が、4よりも大きいか又はそれに等しい整数値である、[49]に記載の方法。
[51] 大きい絶対値を有する、符号化されている前記係数のための前記係数レベルに基づいて、前記変数増分が、前記ライスパラメータの前記値を1よりも大きい整数値だけ増加させる、[50]に記載の方法。
[52] 前記ライスパラメータの前記値を更新することが、どんな条件操作も実施することなしに前記ライスパラメータの前記値を更新することを備える、[49]に記載の方法。
[53] 係数の前記ブロックが、変換係数、又は変換がそれに適用されない係数のいずれかを備える、[49]に記載の方法。
[54] 前記変数増分が、符号化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、[49]に記載の方法。
[55] 前記ライスパラメータの前記値と、符号化されている前記係数のための前記係数レベルの前記絶対値とに基づいて、前記ライスパラメータの前記値を更新することが、前記ライスパラメータの前記値を減少させることを備える、[49]に記載の方法。
[56] 係数の前記ブロックのための前記ライスパラメータの初期値と、前記ライスパラメータの前記変数増分と、前記ライスパラメータの前記最大値と、符号化されている前記係数のための前記係数レベルの前記絶対値のための閾値と、1つ以上の整数パラメータ値とのうちの1つ以上を示すように構成されたシンタックス要素を生成することを更に備える、[49]に記載の方法。
[57] ビデオデータを記憶するように構成されたメモリと、 残差ビデオデータの係数のブロックを決定することと、 ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、 前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、を行うように構成された1つ以上のプロセッサとを備えるビデオコード化機器。
[58] 前記ビデオコード化機器がビデオ復号機器を備え、係数の前記ブロックが係数グループ(CG)を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記CG中の前記係数のための前記係数レベルの前記残りの絶対値を復号することと、前記ライスパラメータの前記値を更新することと、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG中の後続の係数のための係数レベルの残りの絶対値を復号することとを行うように構成された、[57]に記載の機器。
[59] 前記ビデオコード化機器がビデオ符号化機器を備え、係数の前記ブロックが係数グループ(CG)を備え、ここにおいて、前記プロセッサは、前記ライスパラメータによって定義される前記ゴロムコードを使用して前記CG中の前記係数のための前記係数レベルの前記残りの絶対値を符号化することと、前記ライスパラメータの前記値を更新することと、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG中の後続の係数のための係数レベルの残りの絶対値を符号化することとを行うように構成された、[57]に記載の機器。
[60] 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで、いずれかの整数値だけ増加させ、前記ライスパラメータの前記最大値が、4よりも大きいか又はそれに等しい整数値である、[57]に記載の機器。
[61] 大きい絶対値を有する、コード化されている前記係数のための前記係数レベルに基づいて、前記変数増分が、前記ライスパラメータの前記値を1よりも大きい整数値だけ増加させる、[60]に記載の機器。
[62] 前記プロセッサが、どんな条件操作も実施することなしに前記ライスパラメータの前記値を更新するように構成された、[57]に記載の機器。
[63] 係数の前記ブロックが、変換係数、又は変換がそれに適用されない係数のいずれかを備える、[57]に記載の機器。
[64] 前記変数増分が、コード化されている前記係数のための前記係数レベルの前記絶対値の右シフトされたバージョンに基づいて決定され、ここにおいて、前記右シフトの量が前記ライスパラメータの前記値に基づく、[57]に記載の機器。
[65] 前記プロセッサが、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの前記絶対値とに基づいて前記ライスパラメータの前記値を減少させるように構成された、[57]に記載の機器。
[66] 前記プロセッサが、係数の前記ブロックのための前記ライスパラメータの初期値と、前記ライスパラメータの前記変数増分と、前記ライスパラメータの前記最大値と、コード化されている前記係数のための前記係数レベルの前記絶対値のための閾値と、1つ以上の整数パラメータ値とのうちの1つ以上のを示すように構成されたシンタックス要素を決定するように構成された、[57]に記載の機器。
[67] 残差ビデオデータの係数のブロックを決定するための手段と、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化するための手段と、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新するための手段と、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を備えるビデオコード化機器。
[68] ビデオコード化機器の1つ以上のプロセッサによって実行されたとき、残差ビデオデータの係数のブロックを決定することと、ライスパラメータによって定義されるゴロムコードを使用して前記係数のうちの少なくとも1つのための係数レベルの残りの絶対値をコード化することと、前記ライスパラメータの最大値又は前記ライスパラメータの値の変数増分のいずれかの最小値の選択に基づいて前記ライスパラメータの前記値を更新することと、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と、コード化されている前記係数のための前記係数レベルの絶対値とに基づいて決定される、
を前記プロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。

Claims (34)

  1. ビデオ復号プロセスにおいて係数を復号する方法であって、
    残差ビデオデータの係数のブロックを決定することと、
    変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
    係数の前記ブロック中の係数の少なくとも1つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示を復号することと、ここにおいて、前記所定の値は0,1、又は2に等しい、
    ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも1つのための前記係数レベルの残りの絶対値を復号することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
    前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を復号した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第1のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第1のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第2のプロセスとは異なる、
    前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のための係数レベルの残りの絶対値を復号することと、
    を備える、方法。
  2. 係数の前記ブロックが前記変換ブロックに含まれる係数グループ(CG)を備え、ここにおいて前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記CGの中の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、前記次の係数のために前記係数レベルの前記残りの絶対値を復号することは、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG内の前記次の係数のための前記係数レベルの前記残りの絶対値を復号すること備える、請求項1に記載の方法。
  3. 係数の前記ブロックが、前記変換ブロックに含まれる次の係数グループ(CG)を備え、前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換ブロック内の次のCGのために前記ライスパラメータの前記値を初期化することを備え、前記次の係数のための前記係数レベルの前記残りの絶対値を復号することは、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを用いて前記次のCG内の前記次の係数のための前記係数レベルの前記残りの絶対値を復号することを備える、請求項1に記載の方法。
  4. 前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、変換が係数の前記ブロックを含む前記変換ブロックに適用されないことを決定することに応答して、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて係数の前記ブロック内の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と前記係数の前記少なくとも1つのための前記係数レベルの前記絶対値とに基づいて決定される、請求項1に記載の方法。
  5. 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで任意の整数値だけ増加させる、
    請求項4に記載の方法。
  6. 前記変数増分は、前記係数の前記少なくとも1つのための前記係数レベルの前記絶対値の右にシフトされたバージョンに基づいて決定され、右シフトの量は前記ライスパラメータの前記値に基づいている、請求項4に記載の方法。
  7. 前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの1つである、請求項4に記載の方法。
  8. 前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、前記ライスパラメータの前記値及び前記係数の前記少なくとも1つの係数のための前記係数レベルの前記絶対値に基づいて係数の前記ブロックの中の前記次の係数のために前記ライスパラメータの前記値を減少することを備える、請求項1に記載の方法。
  9. 前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、係数の前記ブロック中の前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を復号した後に前記ライスパラメータの前記値に基づいて前記変換ブロックの中の係数の次のブロックのために前記ライスパラメータの前記値を初期化することを含む、請求項1に記載の方法。
  10. 前記変換が前記変換ブロックに適用されないことを決定することは、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又は前記変換ブロックのためのパラメータセット中のプロファイルセットのうちの少なくとも1つを決定することを備える、請求項1に記載の方法。
  11. ビデオ符号化プロセスにおいて係数を符号化する方法であって、
    残差ビデオデータの係数のブロックを決定することと、
    変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
    係数の前記ブロック中の係数の少なくとも1つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示を符号化することと、ここにおいて、前記所定の値は0,1、又は2に等しい、
    前記係数について、及びライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも1つの前記係数レベルの残りの絶対値を符号化することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
    前記係数の前記少なくとも1つの前記係数レベルの前記残りの絶対値を復号した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第1のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第1のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第2のプロセスとは異なる、
    前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のための係数レベルの残りの絶対値を復号することと、
    を備える、方法。
  12. 係数の前記ブロックが前記変換ブロックに含まれる係数グループ(CG)を備え、ここにおいて前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記CGの中の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、前記次の係数のために前記係数レベルの前記残りの絶対値を符号化することは、前記ライスパラメータの更新された前記値によって定義されるゴロムコードを使用して前記CG内の前記次の係数のために前記係数レベルの前記残りの絶対値を符号化すること備える、請求項11に記載の方法。
  13. 係数の前記ブロックが、前記変換ブロックに含まれる次の係数グループ(CG)を備え、前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換ブロック内の次のCGのために前記ライスパラメータの前記値を初期化することを備え、前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することは、前記ライスパラメータの初期化された前記値によって定義されるゴロムコードを用いて前記次のCG内の前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することを備える、請求項11に記載の方法。
  14. 前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、変換が係数の前記ブロックを含む前記変換ブロックに適用されないことを決定することに応答して、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小値の選択に基づいて係数の前記ブロック内の前記次の係数のために前記ライスパラメータの前記値を更新することを備え、ここにおいて、前記変数増分が、前記ライスパラメータの前記値と前記係数の前記少なくとも1つのための前記係数レベルの前記絶対値とに基づいて決定される、請求項11に記載の方法。
  15. 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで任意の整数値だけ増加させる、請求項14に記載の方法。
  16. 前記変数増分は、前記係数の前記少なくとも1つのための前記係数レベルの前記絶対値の右にシフトされたバージョンに基づいて決定され、右シフトの量は前記ライスパラメータの前記値に基づいている、請求項14に記載の方法。
  17. 前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの1つである、請求項14に記載の方法。
  18. 前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、前記ライスパラメータの前記値及び符号化されている前記係数のための前記係数レベルの前記絶対値に基づいて係数の前記ブロックの中の前記次の係数のために前記ライスパラメータの前記値を減少することを備える、請求項11に記載の方法。
  19. 前記第1のプロセスに従って前記ライスパラメータの前記値を調整することは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの決定に応答して、係数の前記ブロック中の前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を符号化した後に前記ライスパラメータの前記値に基づいて前記変換ブロックの中の係数の次のブロックのために前記ライスパラメータの前記値を初期化することを含む、請求項11に記載の方法。
  20. 前記変換が前記変換ブロックに適用されないことを決定することは、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又は前記変換ブロックのためのパラメータセット中のプロファイルセットのうちの少なくとも1つを決定することを備える、請求項11に記載の方法。
  21. ビデオデータを格納するように構成されるメモリと、
    1つ以上のプロセッサと、前記プロセッサは、
    残差ビデオデータの係数のブロックを決定することと、
    変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
    係数の前記ブロック中の係数の少なくとも1つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示をコード化することと、ここにおいて、前記所定の値は0,1、又は2に等しい、
    ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも1つの前記係数レベルの残りの絶対値をコード化することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
    前記係数の前記少なくとも1つに対して前記係数レベルの前記残りの絶対値をコード化した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第1のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第1のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第2のプロセスとは異なる、
    前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のために係数レベルの残りの絶対値をコード化することと、
    を行うように構成される、ビデオコード化機器。
  22. 前記ビデオコード化機器は、ビデオ復号機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ(CG)を備え、ここにおいて前記プロセッサは、
    前記ライスパラメータによって定義されるゴロムコードを用いて前記CGの中の前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を復号することと、
    前記変換が前記CGを含む前記変換ブロックに適用されないことに基づいて前記ライスパラメータの前記値を更新することと、
    前記ライスパラメータの更新された前記値によって定義される前記ゴロムコードを用いて前記CGの中の前記次の係数のための前記係数レベルの前記残りの絶対値を復号することと、
    を行うように構成される、請求項21に記載の機器。
  23. 前記ビデオコード化機器は、ビデオ符号化機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ(CG)を備え、ここにおいて前記プロセッサは、
    前記ライスパラメータによって定義される前記ゴロムコードを用いて前記CGの中の前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を符号化することと、
    前記変換が前記CGを含む前記変換ブロックに適用されないことに基づいて前記ライスパラメータの前記値を更新することと、
    前記ライスパラメータの更新された前記値によって定義されるゴロムコードを用いて前記CGの中の前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することと、
    を行うように構成される、請求項21に記載の機器。
  24. 前記ビデオコード化機器は、ビデオ復号機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ(CG)を備え、ここにおいて前記プロセッサは、
    前記ライスパラメータによって定義される前記ゴロムコードを用いて前記CGの中の前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を復号することと、
    前記変換が前記CGを含む前記変換ブロックに適用されないことに基づいて前記変換ブロック内の次のCGのために前記ライスパラメータの前記値を初期化することと、
    前記ライスパラメータの更新された前記値によって定義されるゴロムコードを用いて前記次のCGの中の前記次の係数のための前記係数レベルの前記残りの絶対値を復号することと、
    を行うように構成される、請求項21に記載の機器。
  25. 前記ビデオコード化機器は、ビデオ符号化機器を備え、係数の前記ブロックは前記変換ブロックに含まれる係数グループ(CG)を備え、ここにおいて前記プロセッサは、
    前記ライスパラメータによって定義される前記ゴロムコードを用いて前記CGの中の前記係数の前記少なくとも1つのための前記係数レベルの前記残りの絶対値を符号化することと、
    前記変換が前記CGを含む前記変換ブロックに適用されないことに基づいて前記変換ブロック内の次のCGのために前記ライスパラメータの前記値を初期化することと、
    前記ライスパラメータの更新された前記値によって定義されるゴロムコードを用いて前記次のCGの中の前記次の係数のための前記係数レベルの前記残りの絶対値を符号化することと、
    を備える、請求項21に記載の機器。
  26. 前記プロセッサは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないとの前記決定に応答して、前記ライスパラメータの最大値又は前記ライスパラメータの前記値の変数増分のいずれかの最小の選択に基づいて係数の前記ブロック内の前記次の係数のために前記ライスパラメータの値を更新するように構成され、前記変数増分が前記ライスパラメータの前記値及び前記係数の前記少なくとも1つのための前記係数レベルの前記絶対値に基づいて決定される、請求項21に記載の機器。
  27. 前記変数増分が、前記ライスパラメータの前記値を前記ライスパラメータの前記最大値まで任意の整数値だけ増加させる、請求項26に記載の機器。
  28. 前記変数増分は、前記係数の前記少なくとも1つのために前記係数レベルの前記絶対値の右にシフトされたバージョンに基づいて決定され、右シフトの量は前記ライスパラメータの前記値に基づいている、請求項26に記載の機器。
  29. 前記ライスパラメータの前記値の各更新における前記変数増分の量が、減衰ファクタによってスケーリングされたもの又は最大増分値以下になるように上限を定められたもののうちの1つである、請求項26に記載の機器。
  30. 前記プロセッサは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないことの前記決定に応答して、前記ライスパラメータの前記値及び前記係数の前記少なくとも1つのための前記係数のレベルの前記絶対値に基づいて前記ライスパラメータの前記値を減少するように構成される、請求項21に記載の機器。
  31. 前記プロセッサは、前記変換が係数の前記ブロックを含む前記変換ブロックに適用されないことの前記決定に応答して、係数の前記ブロック内の前記係数の前記少なくとも1つのために前記係数レベルの前記残りの絶対値をコード化した後に前記ライスパラメータの前記値に基づいて前記変換ブロックの中の係数の次のブロックのために前記ライスパラメータの前記値を初期化するように構成される、請求項21に記載の機器。
  32. 前記変換が前記変換ブロックに適用されないことを決定するために、前記プロセッサは、可逆コード化ステータス、変換バイパスステータス、変換スキップステータス、又は前記変換ブロックのためのパラメータセット中のプロファイルセットのうちの少なくとも1つを決定するように構成される、請求項21に記載の機器。
  33. 残差ビデオデータの係数のブロックを決定するための手段と、
    変換が係数の変換ブロックに適用されないことを決定するための手段と、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
    係数の前記ブロック中の係数の少なくとも1つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示をコード化するための手段と、ここにおいて、前記所定の値は0,1、又は2に等しい、
    ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも1つの前記係数レベルの残りの絶対値をコード化するための手段と、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
    前記係数の前記少なくとも1つの前記係数レベルの前記残りの絶対値をコード化した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第1のプロセスに従って前記ライスパラメータの値を調整するための手段と、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第1のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第2のプロセスとは異なる、
    前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のための係数レベルの残りの絶対値をコード化するための手段と、
    を備える、ビデオコード化機器。
  34. ビデオコード化機器の1つ以上のプロセッサによって実行されると、前記プロセッサに
    残差ビデオデータの係数のブロックを決定することと、
    変換が係数の変換ブロックに適用されないことを決定することと、ここにおいて、係数の前記ブロックは画素領域内の残差係数のブロックである、
    係数の前記ブロック中の係数の少なくとも1つの係数レベルが適応コンテキストモデルを使用して、所定の値よりも大きい絶対値を有するとの指示をコード化することと、ここにおいて、前記所定の値は0,1、又は2に等しい、
    ライスパラメータによって定義されるゴロムコードを使用して、前記係数レベルの前記少なくとも1つに対して前記係数レベルの残りの絶対値をコード化することと、ここにおいて前記係数レベルの前記残りの絶対値は、前記所定の値より大きい前記係数レベルの前記絶対値の量を備える、
    前記係数の前記少なくとも1つの前記係数レベルの前記残りの絶対値をコード化した後に係数の前記ブロックを含む前記変換ブロックに変換が適用されないことに基づいて第1のプロセスに従って前記ライスパラメータの値を調整することと、ここにおいて前記変換が前記変換ブロックに適用されないことに基づいて前記ライスパラメータの値を調整するための前記第1のプロセスが、変換が変換ブロックに適用されることに基づいてライスパラメータの値を調整するための第2のプロセスとは異なる、
    前記ライスパラメータの調整された前記値によって定義されるゴロムコードを用いて次の係数のために係数レベルの残りの絶対値をコード化することと、
    を行わせる命令を備える、コンピュータ可読記憶媒体。
JP2016507681A 2013-04-12 2014-04-11 ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新 Active JP6469652B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201361811632P 2013-04-12 2013-04-12
US61/811,632 2013-04-12
US201361832652P 2013-06-07 2013-06-07
US61/832,652 2013-06-07
US201361845850P 2013-07-12 2013-07-12
US61/845,850 2013-07-12
US201461953647P 2014-03-14 2014-03-14
US61/953,647 2014-03-14
US14/250,282 2014-04-10
US14/250,282 US9936200B2 (en) 2013-04-12 2014-04-10 Rice parameter update for coefficient level coding in video coding process
PCT/US2014/033780 WO2014169199A2 (en) 2013-04-12 2014-04-11 Rice parameter update for coefficient level coding in video coding process

Publications (3)

Publication Number Publication Date
JP2016515786A JP2016515786A (ja) 2016-05-30
JP2016515786A5 JP2016515786A5 (ja) 2017-04-20
JP6469652B2 true JP6469652B2 (ja) 2019-02-13

Family

ID=51686792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016507681A Active JP6469652B2 (ja) 2013-04-12 2014-04-11 ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新

Country Status (11)

Country Link
US (1) US9936200B2 (ja)
EP (1) EP2984830B1 (ja)
JP (1) JP6469652B2 (ja)
KR (1) KR102283307B1 (ja)
CN (1) CN105191307B (ja)
BR (1) BR112015025910B1 (ja)
DK (1) DK2984830T3 (ja)
ES (1) ES2865389T3 (ja)
HU (1) HUE054102T2 (ja)
TW (1) TWI554082B (ja)
WO (1) WO2014169199A2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
CN104981797B (zh) * 2014-02-07 2018-05-15 Sk科技有限公司 云流服务系统以及提供云流服务的方法和设备
US9683130B2 (en) 2014-03-19 2017-06-20 Xerox Corporation Polydiphenylsiloxane coating formulation and method for forming a coating
US9494884B2 (en) 2014-03-28 2016-11-15 Xerox Corporation Imaging plate coating composite composed of fluoroelastomer and aminosilane crosslinkers
US9428663B2 (en) 2014-05-28 2016-08-30 Xerox Corporation Indirect printing apparatus employing sacrificial coating on intermediate transfer member
US9611404B2 (en) 2014-09-23 2017-04-04 Xerox Corporation Method of making sacrificial coating for an intermediate transfer member of indirect printing apparatus
US9550908B2 (en) 2014-09-23 2017-01-24 Xerox Corporation Sacrificial coating for intermediate transfer member of an indirect printing apparatus
US9593255B2 (en) 2014-09-23 2017-03-14 Xerox Corporation Sacrificial coating for intermediate transfer member of an indirect printing apparatus
CN104410863B (zh) * 2014-12-11 2017-07-11 上海兆芯集成电路有限公司 图像处理器以及图像处理方法
US9956760B2 (en) 2014-12-19 2018-05-01 Xerox Corporation Multilayer imaging blanket coating
US9458341B2 (en) 2015-02-12 2016-10-04 Xerox Corporation Sacrificial coating compositions comprising polyvinyl alcohol and waxy starch
US9816000B2 (en) 2015-03-23 2017-11-14 Xerox Corporation Sacrificial coating and indirect printing apparatus employing sacrificial coating on intermediate transfer member
EP3292690B1 (en) * 2015-06-23 2020-05-06 MediaTek Singapore Pte Ltd. Method and apparatus for transform coefficient coding of non-square blocks
WO2017000222A1 (en) * 2015-06-30 2017-01-05 Mediatek Singapore Pte. Ltd. Grouping bypass bins and improved sign data hiding for residual coding
US9718964B2 (en) 2015-08-19 2017-08-01 Xerox Corporation Sacrificial coating and indirect printing apparatus employing sacrificial coating on intermediate transfer member
US10432952B2 (en) * 2015-11-19 2019-10-01 Qualcomm Incorporated System and methods for fixed-point approximations in display stream compression (DSC)
CN108259896B (zh) * 2016-12-29 2021-10-08 四川大学 一种利用系数分布特性的哥伦布-莱斯初始参数自适应决策方法
KR102495753B1 (ko) * 2017-10-10 2023-02-03 삼성전자주식회사 카메라를 이용하여 획득한 원시 이미지를 외부 전자 장치를 이용하여 처리하는 방법 및 전자 장치
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
KR102553150B1 (ko) * 2018-03-23 2023-07-10 삼성전자주식회사 외부 전자 장치와 이미지를 처리하는 전자 장치 및 그 동작 방법
US11516462B2 (en) * 2018-03-27 2022-11-29 Kt Corporation Method and apparatus for processing video signal
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
US11336918B2 (en) 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
WO2020064745A1 (en) * 2018-09-24 2020-04-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient coding of transform coefficients using or suitable for a combination with dependent scalar quantization
US10951898B2 (en) * 2018-10-11 2021-03-16 Lg Electronics Inc. Image decoding method and device using residual information in image coding system
US11743467B2 (en) * 2018-11-12 2023-08-29 Samsung Electronics Co., Ltd. Method and device for entropy encoding coefficient level, and method and device for entropy decoding coefficient level
WO2020112453A1 (en) * 2018-11-30 2020-06-04 Interdigital Vc Holdings, Inc. Entropy coding optimization
US10904548B2 (en) * 2018-12-06 2021-01-26 Qualcomm Incorporated Coefficient processing for video encoding and decoding
US11134273B2 (en) 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
TW202046729A (zh) * 2019-04-24 2020-12-16 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法、及解碼方法
CN117834875A (zh) * 2019-06-14 2024-04-05 松下电器(美国)知识产权公司 编码装置、解码装置和非暂时性的计算机可读取介质
US11368511B2 (en) * 2019-06-20 2022-06-21 Tencent America LLC Unification of rice parameter lookup table
CN112118456B (zh) * 2019-06-20 2022-03-25 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
US11184642B2 (en) * 2019-08-02 2021-11-23 Mediatek Inc. Methods and apparatus for simplification of coding residual blocks
EP4024869A4 (en) * 2019-08-31 2023-08-16 LG Electronics Inc. METHOD AND DEVICE FOR ENCODING TRANSFORMATION COEFFICIENTS IN A VIDEO/IMAGE ENCODING SYSTEM
KR102488435B1 (ko) * 2019-09-24 2023-01-12 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 잔차 및 계수를 코딩하는 방법 및 장치
US12015779B2 (en) 2019-10-07 2024-06-18 Lg Electronics Inc. Method and apparatus for deriving rice parameter in video/image coding system
WO2021071188A1 (ko) * 2019-10-07 2021-04-15 엘지전자 주식회사 비디오/영상 코딩 시스템에서 엔트로피 코딩 방법 및 장치
US11336891B2 (en) * 2019-11-25 2022-05-17 Tencent America LLC Coding method and system with improved transform domain coefficient computation
CN115039409A (zh) * 2019-12-23 2022-09-09 交互数字Vc控股法国公司 用于视频编码和解码的残差处理
US11478991B2 (en) 2020-06-17 2022-10-25 Xerox Corporation System and method for determining a temperature of an object
US11499873B2 (en) 2020-06-17 2022-11-15 Xerox Corporation System and method for determining a temperature differential between portions of an object printed by a 3D printer
US11498354B2 (en) 2020-08-26 2022-11-15 Xerox Corporation Multi-layer imaging blanket
US11722672B2 (en) * 2020-10-06 2023-08-08 Qualcomm Incorporated Adaptively deriving rice parameter values for high bit-depth video coding
US11767447B2 (en) 2021-01-19 2023-09-26 Xerox Corporation Topcoat composition of imaging blanket with improved properties
KR20220121747A (ko) * 2021-02-25 2022-09-01 주식회사 케이티 비디오 신호 부호화/복호화 방법 및 상기 부호화 방법에 의해 생성된 데이터 스트림을 저장하는 기록 매체
CN116982314A (zh) * 2021-03-17 2023-10-31 Oppo广东移动通信有限公司 系数编解码方法、编解码设备、终端及存储介质
US11991395B2 (en) 2021-09-29 2024-05-21 Tencent America LLC Techniques for constraint flag signaling for range extension with rice coding
WO2023056219A1 (en) * 2021-09-30 2023-04-06 Qualcomm Incorporated History-based adaptive interpretation of context coded syntax elements for high bit-depth video coding
US20230107599A1 (en) * 2021-09-30 2023-04-06 Qualcomm Incorporated History-based adaptive interpretation of context coded syntax elements for high bit-depth video coding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987468B1 (en) 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
KR20060051157A (ko) 2004-10-29 2006-05-19 마이크로소프트 코포레이션 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
CN106028050B (zh) 2011-05-16 2019-04-26 寰发股份有限公司 用于亮度和色度分量的样本自适应偏移的方法和装置
CN102238387B (zh) 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
KR101572535B1 (ko) * 2011-06-30 2015-11-27 후아웨이 테크놀러지 컴퍼니 리미티드 합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법
ES2908152T3 (es) 2011-06-30 2022-04-27 Sun Patent Trust Procedimiento de decodificación de imágenes
CN102368385B (zh) 2011-09-07 2013-08-14 中科开元信息技术(北京)有限公司 后向块自适应Golomb-Rice编解码方法及装置
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US10616581B2 (en) * 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
UA120434C2 (uk) 2012-01-20 2019-12-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Кодування коефіцієнтів перетворення
US9866829B2 (en) 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
CN107071420B (zh) * 2012-04-13 2021-07-16 佳能株式会社 视频数据的变换单位的子集的编解码的方法、设备和系统
US9426466B2 (en) 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
EP2866443A4 (en) * 2012-06-22 2016-06-15 Sharp Kk ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES
US9350998B2 (en) 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process

Also Published As

Publication number Publication date
US9936200B2 (en) 2018-04-03
TWI554082B (zh) 2016-10-11
ES2865389T3 (es) 2021-10-15
BR112015025910B1 (pt) 2023-03-28
DK2984830T3 (da) 2021-05-03
CN105191307B (zh) 2018-07-31
JP2016515786A (ja) 2016-05-30
HUE054102T2 (hu) 2021-08-30
KR20150139888A (ko) 2015-12-14
EP2984830B1 (en) 2021-04-07
KR102283307B1 (ko) 2021-07-28
US20140307800A1 (en) 2014-10-16
TW201445979A (zh) 2014-12-01
BR112015025910A2 (pt) 2017-07-25
CN105191307A (zh) 2015-12-23
WO2014169199A3 (en) 2014-12-18
EP2984830A2 (en) 2016-02-17
WO2014169199A2 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
JP6469652B2 (ja) ビデオコード化プロセスにおける係数レベルコード化のためのライスパラメータ更新
EP3020187B1 (en) Rice parameter initialization for coefficient level coding in video coding process
KR102352638B1 (ko) 비디오 코딩 프로세스에서의 계수 레벨 코딩
US9313498B2 (en) Sign hiding techniques for quantized transform coefficients in video coding
DK2805487T3 (en) Throughput improvement of cabac weighted level coding
JP6105048B2 (ja) ビデオコーディングのための変換係数のコーディングにおけるグループフラグ
US20140003530A1 (en) Sign hiding techniques for quantized transform coefficients in video coding
JP2014535243A (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
EP2772056A1 (en) Mapping states in binary arithmetic coder for video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170315

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190116

R150 Certificate of patent or registration of utility model

Ref document number: 6469652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250