(58)【調査した分野】(Int.Cl.,DB名)
サンプル(5)のブロック(4)について、前記サンプル(5)のブロック(4)の残差データが色変換されている場合、前記符号化ビットストリーム内のフラグの値を1に等しくなるようにセットし、そうでない場合、前記フラグの値をゼロに等しくなるようにセットすること(S40)を更に含む、請求項6に記載の方法。
前記サンプル(5)のブロック(4)の前記残差データが色変換されているか否かを示すフラグがゼロに等しい場合、前記QP制御情報から独立した前記第1のQP導出プロセスに従って、前記サンプル(5)のブロック(4)の前記少なくとも1つの色成分に用いる前記QPを導出するように設定され、
前記フラグが1に等しい場合、前記QP制御情報に依拠する前記第2のQP導出プロセスに従って、前記サンプル(5)のブロック(4)の前記少なくとも1つの色成分に用いる前記QPを導出するように設定される、請求項9に記載のデコーダ(100、110、120)。
前記サンプル(5)のブロック(4)を含む前記ピクチャ(1)について有効な前記ピクチャパラメータセットからサンプルの非色変換ブロックについて有効なQPオフセット構文要素をパースするように設定され、
前記ピクチャパラメータセットからスライスクロマオフセット存在フラグをパースするように設定され、
前記スライスクロマオフセット存在フラグが1に等しい場合、前記ピクチャ(1)の前記スライス(2)の前記スライスヘッダからサンプルの非色変換ブロックについて有効なQPオフセット構文要素をパースするように設定され、
前記スライスクロマオフセット存在フラグが1に等しい場合、前記ピクチャパラメータセットからの前記QPオフセット構文要素及び前記スライスヘッダからの前記QPオフセット構文要素に基づく前記第2のQP導出プロセスに従って前記サンプル(5)のブロック(4)の前記少なくとも1つの色成分に用いる前記QPを導出するように設定され、
前記スライスクロマオフセット存在フラグがゼロに等しい場合、前記ピクチャパラメータセットからの前記QPオフセット構文要素に基づく前記第2のQP導出プロセスに従って前記サンプル(5)のブロック(4)の前記少なくとも1つの色成分に用いる前記QPを導出するように設定される、請求項9又は10に記載のデコーダ(100、110、120)。
サンプル(5)のブロック(4)について、前記サンプル(5)のブロック(4)の残差データが色変換されている場合、前記符号化ビットストリーム内のフラグの値を1に等しくなるようにセットし、そうでない場合、前記フラグの前記値をゼロに等しくなるようにセットするように設定される、請求項12に記載のエンコーダ(200、210、220)。
【発明を実施するための形態】
【0028】
図面全体を通して、同じ参照符号は同様の又は対応する要素に用いられる。
【0029】
本実施形態は、一般に、量子化パラメータのコーディング及び決定に関し、特に、サンプルの色変換ブロックのための量子化パラメータのコーディング及び決定に関する。
【0030】
これによって、本実施形態は、サンプルの色変換ブロックに適応し且つサンプルの色変換ブロックに固有の量子化パラメータ(QP)の決定及び使用を可能にする。これは、ビデオストリームにおけるサンプルの色変換されていないブロックと比較して、異なるQP値をビデオストリーム内のサンプルの色変換ブロックのために用いることができることを意味する。色変換を用いてコーディングされたサンプルのブロックのQP値と、色変換を用いずにコーディングされたサンプルのブロックのQP値とを分離することによって、符号化プロセスにおけるより良好な制御及び柔軟性が達成される。更に、ビデオの視覚品質が全般的に改善される。
【0031】
これによって、実施形態は、サンプルアレイが例えばGBR色成分を保有する場合と、サンプルアレイが代わりに例えばYCbCr色成分又はYCoCg色成分を保有する場合とを比較して、色成分間で異なるQPオフセット値を用いることを可能にする。そのような手法は、同じピクチャ又はピクチャのスライス内でサンプルの色変換ブロック及びサンプルの非色変換ブロックの双方に同じQPオフセット値を代わりに用いていた従来技術によれば可能でない。
【0032】
図1は、一実施形態によるQP導出方法を概略的に示す。本方法は、色変換ブロックのためのQPオフセットに関係する情報をパースすることを含む。このステップは通常、シーケンス、ピクチャ又はスライスレベルに対して実行される。第1の事例では、QPオフセットに関係する情報は、好ましくはシーケンスパラメータセット(SPS)からパースされ、第2の事例ではピクチャーパラメータセット(PPS)からパースされる。第3の事例では、QPオフセットに関係する情報は、好ましくはスライスヘッダからパースされる。次に、以下のステップがブロックレベルで、すなわち、ビデオストリームのピクチャのスライス内のサンプルのブロックごとに実行される。サンプルの現在のブロックが色変換される場合、サンプルのブロックは、色変換ブロックのQPオフセットに関係する情報を用いて復号される。しかしながら、サンプルの現在のブロックが色変換されていない場合、サンプルのブロックは、色変換ブロックのQPオフセットに関係する情報を用いることなく復号される。
【0033】
図2は、ビデオストリームの2つのピクチャ1、7を概略的に示す。ピクチャ1は、1つ又は複数の、すなわち少なくとも2つのスライス2、3に分割することができる。このとき、そのような各スライス2、3は、サンプル5、すなわちピクセルの1つ又は通常複数のブロック4、6を含む。
【0034】
一般に、ビデオコーディングにおいて、通常、コーディングユニット(CU)で表される、ビデオストリームのピクチャ1のスライス2の一部を構成するサンプル5のブロック4は、サンプル数の観点から現在のCUと同じサイズの、又は現在のCUの一部のための1つ又は複数の予測ユニット(PU)に分割される。次に、それぞれのイントラ予測モード又はインター予測がそのような各PUについて選択される。CU内のサンプル値と、選択された予測との間の差が計算され、残差データの1つ又は複数の残差ブロック、すなわち、予測誤差値が得られる。次に、CUと同じサイズを有する残差データに対し又は残差データの一部について変換ユニット(TU)において変換が適用され、それぞれの変換係数を有する、サンプルの1つ又は複数のTUが得られる。次に、変換係数は、QPを用いて量子化され、符号化される。復号中、符号化データはQPを用いて復号され、逆量子化されて、TU又はTUの或る程度再構成されたバージョンが得られる。TUは逆変換され、再構成又は復号された残差データが得られる。再構成又は復号された残差データは予測に付加され、CUの再構成されたバージョンが得られる。
【0035】
図2において、ビデオストリームの別のピクチャ7におけるサンプルのブロック8が、現在のピクチャ1におけるサンプル5の現在のブロック4のインター予測として用いられる。
【0036】
図3は、一実施形態によるQP導出方法を示すフローチャートである。本方法は、ステップS1において、サンプルのブロックについて有効なQP制御情報をパースすることを含む。サンプルのブロックの残差データが色変換されていない、すなわち、サンプルのブロックが色変換されていない場合、本方法はステップS2に続く。このステップS2は、QP制御情報から独立した第1のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。一方、サンプルのブロックの残差データが色変換されている、すなわちサンプルのブロックが色変換されている場合、本方法は、代わりに、ステップS1からステップS3に続く。ステップS3は、QP制御情報に依拠する第2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。
【0037】
このため、QP導出方法において、サンプルのブロックの残差データが色変換されているか否かに依拠して、2つの異なるQP導出プロセスが用いられる。2つのQP導出プロセスのうちの一方は、ステップS1においてパースされるQP制御情報から独立している、すなわちこのQP制御情報を用いないのに対し、他方のQP導出プロセスは、ステップS1においてパースされるQP制御情報に依拠する、すなわち、このQP制御情報を用いる。
【0038】
これは、ピクチャの同じスライス内であっても、サンプルの非色変換ブロックと比較して異なるQP値をサンプルの色変換ブロックのために導出することができることを意味する。
【0039】
背景セクションにおいて言及したように、コーディングユニット(CU)は、予測ユニット(PU)及び変換ユニット(TU)に更に分割することができるサンプル値のブロックである。TUは、サンプルのブロックの復号されたバージョンを得るために復号中に予測に付加される残差データを保持する。一実施形態では、本明細書において用いられるサンプルのブロックは、CUの形態をとることができる。別の実施形態では、サンプルのブロックはTUの形態である。前者、すなわちCUの事例では、CUの各サンプルは、色成分ごとに色成分値を含む。後者、すなわちTUの事例では、TUの各サンプルは、色成分ごとに変換係数を含む。
【0040】
一実施形態において、サンプルの第1のブロックについて
図3のステップS2が実行され、ピクチャ内のサンプルの第2のブロックについてステップS3が実行される。そのような場合、サンプルの第1のブロック及び第2のブロックは、ピクチャの同じスライスに属する場合もあるし、ピクチャの異なるスライスに属する場合もある。
【0041】
そのような実施形態において、
図3に示す方法は、ステップS1において、サンプル5のブロック4、6を含む、ピクチャ1について有効なQP制御情報をパースすることを含む。これについては
図2を参照されたい。ステップS2は、QP制御情報から独立した第1のQP導出プロセスに従ってピクチャ1内のサンプル5の第1のブロック6の少なくとも1つの色成分に用いるQPを導出することを含む。これに対応して、ステップS3は、QP制御情報に依拠する第2のQP導出プロセスに従って、ピクチャ1内のサンプル5の第2のブロック4の少なくとも1つの色成分に用いるQPを導出することを含む。この実施形態において、サンプル5の第1のブロック6の残差データは色変換されていないのに対し、サンプル5の第2のブロック4の残差データは色変換されている。
【0042】
このため、サンプル5の第1のブロック6は色変換されておらず、これによって、サンプル5のこの第1のブロック6について導出されたQPは、ステップS1においてパースされたQP制御情報から独立しており、第1のQP導出プロセスを用いる。これと明確に対照的に、サンプル5の第2のブロック4は色変換されており、このサンプル5の第2のブロック4について導出されたQPは、ステップS1においてパースされたQP制御情報に依拠し、第2のQP導出プロセスを用いる。
【0043】
一実施形態において、
図3のステップS2は、サンプルのブロックの残差データが色変換されているか否かを示すフラグがゼロに等しい場合、QP制御情報から独立した第1のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。この実施形態では、ステップS3は、好ましくは、フラグが1に等しい場合、QP制御信号に依拠する第2のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。
【0044】
このため、この実施形態では、サンプルのブロックが色変換されているか否か、すなわち、サンプルのブロックの残差データが色変換されているか否かをシグナリングするのにフラグが用いられる。
【0045】
フラグは、1ビットの構文要素であり、これによって、値0(0
bin)又は値1(1
bin)のいずれかを推定することができる。このため、好ましくは、PPS又はSPS内のフラグresidual_adaptive_color_transform_enabled_flagの値を1に等しくなるようにセットすることによってACTが使用可能にされているとき、サンプルの各ブロックは、サンプルのブロックの残差データが色変換されているか否かをシグナリングするそれぞれのフラグを有する。
【0046】
一実施形態では、フラグはcu_residual_act_flagで表される。このような場合、サンプルのブロックは好ましくはCUである。別の実施形態では、フラグはtu_residual_act_flagで表される。そのような場合、サンプルのブロックは好ましくはTUである。この後者の実施形態では、フラグの存在は、TUについて任意の非ゼロの残差データが存在するか否かを条件とすることができる。このため、TUが非ゼロ残差データを一切含まない場合、色変換に対する残差データが存在せず、TUについてQPを求める必要がない。
【0047】
一実施形態では、本方法は、サンプルのブロックの残差データが色変換されているか否かを示すフラグをパースするステップも含む。そのような事例では、フラグは符号化ビットストリームからパースされ、好ましくは、ピクチャのスライス内のサンプルのブロックについてのコーディングされたペイロードデータを含む符号化ビットストリームの一部からパースされる。
【0048】
一実施形態では、ステップS1は、異なるQPオフセットパラメータの少なくとも3つの組をパースすることを含む。そのような場合、ステップS2は、好ましくは、第1のQP導出プロセスに従って、異なるQPオフセットパラメータの少なくとも3つの組のうちの、QPオフセットパラメータの第1の組を用いて、少なくとも1つの色成分に用いるQPを導出することを含む。これに対応して、ステップS3は、好ましくは、第2のQP導出プロセスに従って、異なるQPオフセットパラメータの少なくとも3つの組のうちの、QPオフセットパラメータの第2の組又は第3の組を用いて、少なくとも1つの色成分に用いるQPを導出することを含む。
【0049】
このため、この実施形態において、ステップS1においてパースされるQP制御情報は、QPオフセットパラメータの形態をとる。更に、QPオフセットパラメータの異なる組が利用可能であり、サンプルのブロックが色変換されているか否かに依拠して用いられる。このため、QPオフセットパラメータの第1の組が、ステップS2において、サンプルの非色変換ブロックに用いられる。この実施形態において、QPオフセットパラメータの2つの組がサンプルの色変換ブロックに利用可能であり、これらのうちの1つが、ステップS3において、サンプルの所与のブロックに用いられる。
【0050】
QPオフセットパラメータの各組が、好ましくは、ピクチャパラメータセットからパースされるQPオフセットパラメータ及び/又はスライスヘッダからパースされるQPオフセットパラメータを含む。本明細書において、これについて更に説明する。
【0051】
図4は、
図3のステップS3の特定の実施形態を示すフローチャートである。このため、本方法は、サンプルの色変換ブロックについてステップS1から継続する。この実施形態において、ステップS10は、第2のQP導出プロセスに従って、QPオフセットパラメータの第2の組を用いて、サンプルの第1のブロックの少なくとも1つの色成分に用いるQPを導出することを含む。ステップS11は、第2のQP導出プロセスに従って、QPオフセットパラメータの第3の組を用いて、サンプルの第2のブロックの少なくとも1つの色成分に用いるQPを導出することを含む。サンプルの第1のブロック及びサンプルの第2のブロックは、異なるピクチャ又はスライスに属する。
【0052】
このため、符号化ビットストリームの異なるスライス及び/又は異なるピクチャに属するサンプルの色変換ブロックは、異なる組のQPオフセットパラメータを用いることができる。これは、ピクチャレベルにおいて、すなわちPPSにおいて、及び/又はスライスレベルにおいて、すなわちスライスヘッダにおいて、QPオフセットパラメータをシグナリングすることによって可能である。そのような場合、符号化ビットストリーム内の異なるピクチャが異なるPPSを参照することができる。これに対応して、ピクチャ内の各スライスは、QPオフセットパラメータを含むことができるそれぞれのスライスヘッダを有する。
【0053】
そのような場合、ステップS10は、ピクチャの第1のスライス又は符号化ビットストリームの第1のピクチャにおいてサンプルの色変換ブロックについて実行されるのに対し、ステップS11は、ピクチャの第2のスライス又は符号化ビットストリームの第2のピクチャにおいてサンプルの色変換ブロックについて実行される。第1のスライス若しくは第2のスライス、又は第1のピクチャ若しくは第2のピクチャにおけるサンプルのいかなる非色変換ブロックも、
図3のステップS2に従って処理され、
図4のステップS10又はS11に従って処理されないことに留意されたい。
【0054】
一実施形態において、
図3のステップS1は、サンプルのブロックを含むピクチャについて有効なPPS情報、及び/又はピクチャのスライスについて有効なスライスヘッダ情報から、QP制御情報をパースすることを含む。そのような場合、スライスはサンプルのブロックを含む。
【0055】
特定の実施形態において、ステップS1は、PPS情報からのQPオフセットパラメータ及び/又はスライスヘッダ情報からのQPオフセットパラメータをパースすることを含む。
【0056】
図5は、一実施形態によるQP導出方法の特定の実施例を示すフローチャートである。この実施形態では、QP制御情報をパースすることは、
図5に示すステップS25〜S27を含む。ステップS25は、サンプルのブロックを含むピクチャについて有効なPPSからサンプルの色変換ブロックについて有効なQPオフセット構文要素をパースすることを含む。ステップS26は、PPSからスライス変換オフセット存在フラグをパースすることを含む。スライス変換オフセット存在フラグが1に等しい場合、本方法は、ステップS27に続く。このステップS27は、ピクチャのスライスのスライスヘッダからのサンプルの色変換ブロックについて有効なQPオフセット構文要素をパースすることを含む。このスライスはサンプルのブロックを含む。
【0057】
この実施形態では、サンプルの色変換ブロックに用いるQPを導出することは、ステップS28又はS29に従って実行される。このため、スライス変換オフセット存在フラグが1に等しい場合、本方法はステップS27からステップS28に続く。このステップS28は、PPSからのQPオフセット構文要素及びスライスヘッダからのQPオフセット構文要素に基づいて、第2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。一方、スライス変換オフセットフラグが0に等しい場合、本方法はステップS26からステップS29に続く。このステップS29は、PPSからのQPオフセット構文要素に基づいて第2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。
【0058】
このため、この実施形態において、QP制御情報は、PPSからパースされたQPオフセット構文要素(ΔQP
PPST)、スライス変換オフセットフラグ、及びオプションで、スライスヘッダからのQPオフセット構文要素(ΔQP
sliceT)を含む。そのような場合、QPはステップS28において、これらの2つのQPオフセット構文要素の関数(f
2(・))、すなわち、QP=f
2(ΔQP
PPST,ΔQP
sliceT)として導出される。これに対応して、QPはステップS29において、PPSからのQPオフセット構文要素の関数、すなわち、QP=f
2(ΔQP
PPST)として導出される。
【0059】
ステップS29において、スライス変換オフセットフラグがゼロであるとき、スライスヘッダは所与のスライス内に存在するサンプルの色変換ブロックについて有効なQPオフセットパラメータ構文要素を一切含まない。これは、ΔQP
sliceT=0をセットすることに等しい。ステップS29は、QPをQP=f
2(ΔQP
PPST,ΔQP
sliceT=0)として導出することができる。
【0060】
図5は、サンプルの非色変換ブロックのQP導出中の処理も示す。サンプルのそのようなブロックについて、QP制御情報をパースすることは、ステップS20〜S22を含む。ステップS20は、サンプルのブロックを含むピクチャについて有効なPPSからサンプルの非色変換ブロックについて有効なQPオフセット構文要素をパースすることを含む。ステップS21は、PPSからスライスクロマオフセット存在フラグをパースすることを含む。次のステップS22は、スライスクロマオフセット存在フラグが1に等しい場合に実行される。このステップS22は、ピクチャのスライスのスライスヘッダからサンプルの非色変換ブロックについて有効なQPオフセット構文要素をパースすることを含む。このスライスは、サンプルのブロックを含む。次に、用いるQPの導出が、ステップS23又はS24に従って実行される。スライスクロマオフセット存在フラグが1に等しい場合、本方法はステップS22からS23に続く。このステップS23は、PPSからのQPオフセット構文要素及びスライスヘッダからのQPオフセット構文要素に基づいて、第
2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。スライスクロマオフセット存在フラグがゼロに等しい場合、本方法はステップS21からステップS24に続く。このステップS24は、PPSからのQPオフセット構文要素に基づいて、第
2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出することを含む。
【0061】
このため、この実施形態では、サンプルの非色変換ブロックに用いるQP制御情報は、PPSからパースされたQPオフセット構文要素(ΔQP
PPSNT)と、スライスクロマオフセット存在フラグと、オプションで、スライスヘッダからのQPオフセット構文要素(ΔQP
sliceNT)とを含む。そのような事例では、QPはステップS23において、これらの2つのQPオフセット構文要素の関数(f
1(・))として、すなわちQP=f
1(ΔQP
PPSNT,ΔQP
sliceNT)として導出される。これに対応して、QPはステップS24において、PPSからのQPオフセット構文要素の関数として、すなわちQP=f
1(ΔQP
PPSNT)として導出される。
【0062】
ステップS24において、すなわち、スライスクロマオフセット存在フラグがゼロであるとき、スライスヘッダは、所与のスライス内に存在するサンプルの非色変換ブロックについて有効なQPオフセットパラメータ構文要素を一切含まない。これは、QP
sliceNT=0をセットすることに等しい。このため、ステップS24は、QPをQP=f
1(ΔQP
PPSNT,ΔQP
sliceNT=0)として導出することができる。
【0063】
上記の実施形態において、f
1(・)及びf
2(・)は、サンプルの非色変換ブロックの第1のQP導出プロセスを示すために用いられ、第2のQP導出プロセスがサンプルの色変換ブロックのために用いられることを示すために用いられる。更に、サンプルの色変換ブロックΔQP
PPST、ΔQP
sliceT及びスライス変換オフセット存在フラグと比較して、異なるQPオフセット構文要素がサンプルの非色変換ブロックΔQP
PPSNT、ΔQP
sliceNT及びスライスクロマオフセット存在フラグに用いられることに留意されたい。
【0064】
一実施形態では、サンプルのブロックの各サンプルは、ルーマ成分Y、すなわち輝度成分又は第1の色成分と、2つのクロマ成分Cb、Cr、すなわち2つのクロマ成分又は第2及び第3の色成分を備える。そのような場合、
図3のステップS2は、好ましくは、サンプルのブロックの残差データが色変換されているか否かを示すフラグがゼロに等しい場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cb(第2の色成分)に用いるQPを、(Qp
Y+pps_cb_qp_offset+slice_cb_qp_offset)の関数として導出することを含む。これに対応して、
図3のステップS3は、好ましくは、フラグが1に等しい場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、(Qp
Y+pps_transformed_cb_qp_offset+slice_transformed_cb_qp_offset)の関数として導出することを含む。この実施形態では、Qp
Yは、ルーマ成分YのためのルーマQPの値を表す。構文要素pps_cb_qp_offsetは、ルーマQPに対するオフセットを表し、サンプルのブロックを含むピクチャについて有効なPPS内に存在し、サンプルの非色変換ブロックについて有効である。構文要素slice_cb_qp_offsetは、ルーマQPに対するオフセットを表し、ピクチャのスライスのスライスヘッダ内に存在し、サンプルの非色変換ブロックについて有効である。このスライスは、サンプルのブロックを含む。構文要素pps_transformed_cb_qp_offsetは、ルーマQPに対するオフセットを表し、PPS内に存在し、サンプルの色変換ブロックについて有効である。構文要素slice_transformed_cb_qp_offsetはルーマQPに対するオフセットを表し、スライスヘッダ内に存在し、サンプルの色変換ブロックについて有効である。
【0065】
これは、クロマ成分Cbに用いるQPが、ルーマ成分Yに用いるQPと、QPオフセットパラメータ、すなわち、サンプルの非色変換ブロックの場合、pps_cb_qp_offset及びslice_cb_qp_offset、並びにサンプルの色変換ブロックの場合、pps_transformed_cb_qp_offset及びslice_transformed_cb_qp_offsetとに基づいて計算されることを意味する。
【0066】
pps_transformed_cb_qp_offsetは、pps_cb_qp_offsetに等しくすることができるが、等しくなくてもよく、且つ/又はslice_transformed_cb_qp_offsetは、slice_cb_qp_offsetに等しくすることができるが、等しくなくてもよいことに留意されたい。しかしながら、QPオフセットパラメータの実際の値にかかわらず、pps_transformed_cb_qp_offset及びslice_transformed_cb_qp_offsetは、サンプルの色変換ブロックについて有効な構文要素であるのに対し、pps_cb_qp_offset及びslice_cb_qp_offsetは、サンプルの非色変換ブロックについて有効である。これは、PPSが、構文要素pps_transformed_cb_qp_offset及び構文要素pps_cb_qp_offsetの双方を含むことを意味する。
【0067】
一実施形態では、PPSは、スライスヘッダが構文要素slice_transformed_cb_qp_offsetを含むか否かをシグナリングする、pps_slice_act_qp_offsets_present_flagで表される場合もあるフラグpps_slice_transformed_qp_offsets_present_flagも含む。これに対応して、PPSは、好ましくは、スライスヘッダが構文要素slice_cb_qp_offsetを含むか否かをシグナリングするフラグpps_slice_chroma_qp_offsets_present_flagも含む。
【0068】
特定の実施形態では、
図3のステップS2は、フラグがゼロに等しい場合、すなわち、サンプルのブロックがサンプルの非色変換ブロックである場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、qPi
Cb=Clip3(−QpBdOffset
C,57,Qp
Y+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset
Cb)として導出することを含む。次に、ステップS3は、フラグが1に等しい場合、すなわち、サンプルのブロックがサンプルの色変換ブロックである場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、qPi
Cb=Clip3(−QpBdOffset
C,57,Qp
Y+pps_transformed_cb_qp_offset+slice_transformed_cb_qp_offset+CuQpOffset
Cb)として導出することを含む。この実施形態では、QpBdOffset
CはクロマQPレンジオフセットの値を表し、CuQpOffset
CbはルーマQPに対するオフセットを表し、Clip3(x,y,z)は、z<xである場合にxを出力し、z>yである場合にyを出力し、そうでない場合にzを出力する関数である。
【0069】
上記で説明した実施形態では、ステップS1は好ましくは
図5に示すように実行され、すなわち、ステップS20〜S22及びS25〜S27を含む。換言すれば、ステップS1は、ステップS20、S25において、PPSからpps_cb_qp_offset及びpps_transformed_cb_qp_offsetをパースすることと、ステップS21、S26において、PPSからpps_slice_chroma_qp_offsets_present_flagフラグ及びpps_slice_transformed_qp_offsets_presentフラグをパースすることとを含む。また、ステップS1は、ステップS22において、ps_slice_chroma_qp_offsets_present_flagフラグが1に等しい場合、スライスヘッダからslice_cb_qp_offsetをパースすることと、ステップS27において、pps_slice_transformed_qp_offsets_presentフラグが1に等しい場合、スライスヘッダからslice_transformed_cb_qp_offsetをパースすることとを含む。
【0070】
別の実施形態では、クロマ成分CrのQPを導出することに関係して、
図3のステップS2は、サンプルのブロックの残差データが色変換されているか否かを示すフラグがゼロに等しい場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cr(第3の色成分)に用いるQPを、(Qp
Y+pps_cr_qp_offset+slice_cr_qp_offset)の関数として導出することを含む。これに対応して、
図3のステップS3は、好ましくは、フラグが1に等しい場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、(Qp
Y+pps_transformed_cr_qp_offset+slice_transformed_cr_qp_offset)の関数として導出することを含む。この実施形態では、Qp
Yは、ルーマ成分YのためのルーマQPの値を表す。構文要素pps_cr_qp_offsetは、ルーマQPに対するオフセットを表し、サンプルのブロックを含むピクチャについて有効なPPS内に存在し、サンプルの非色変換ブロックについて有効である。構文要素slice_cr_qp_offsetは、ルーマQPに対するオフセットを表し、ピクチャのスライスのスライスヘッダ内に存在し、サンプルの非色変換ブロックについて有効である。このスライスは、サンプルのブロックを含む。構文要素pps_transformed_cr_qp_offsetは、ルーマQPに対するオフセットを表し、PPS内に存在し、サンプルの色変換ブロックについて有効である。構文要素slice_transformed_cr_qp_offsetはルーマQPに対するオフセットを表し、スライスヘッダ内に存在し、サンプルの色変換ブロックについて有効である。
【0071】
これは、クロマ成分Crに用いるQPが、ルーマ成分Yに用いるQPと、QPオフセットパラメータ、すなわち、サンプルの非色変換ブロックの場合、pps_cr_qp_offset及びslice_cr_qp_offset、並びにサンプルの色変換ブロックの場合、pps_transformed_cr_qp_offset及びslice_transformed_cr_qp_offsetとに基づいて計算されることを意味する。
【0072】
上記でクロマ成分Cbについて述べたように、pps_transformed_cr_qp_offsetは、pps_cr_qp_offsetに等しくすることができるが、等しくなくてもよく、且つ/又はslice_transformed_cr_qp_offsetは、slice_cr_qp_offsetに等しくすることができるが、等しくなくてもよい。しかしながら、QPオフセットパラメータの実際の値にかかわらず、pps_transformed_cr_qp_offset及びslice_transformed_cr_qp_offsetは、サンプルの色変換ブロックについて有効な構文要素であるのに対し、pps_cr_qp_offset及びslice_cr_qp_offsetは、サンプルの非色変換ブロックについて有効である。これは、PPSが、構文要素pps_transformed_cr_qp_offset及び構文要素pps_cr_qp_offsetの双方を含むことを意味する。
【0073】
特定の実施形態では、
図3のステップS2は、フラグがゼロに等しい場合、すなわち、サンプルのブロックがサンプルの非色変換ブロックである場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、qPi
Cr=Clip3(−QpBdOffset
C,57,Qp
Y+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset
Cr)として導出することを含む。次に、ステップS3は、フラグが1に等しい場合、すなわち、サンプルのブロックがサンプルの色変換ブロックである場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、qPi
Cr=Clip3(−QpBdOffset
C,57,Qp
Y+pps_transformed_cr_qp_offset+slice_transformed_cr_qp_offset+CuQpOffset
Cr)として導出することを含む。この実施形態では、QpBdOffset
CはクロマQPレンジオフセットの値を表し、CuQpOffset
CrはルーマQPに対するオフセットを表し、Clip3(x,y,z)は、z<xである場合にxを出力し、z>yである場合にyを出力し、そうでない場合にzを出力する関数である。
【0074】
上記で説明した実施形態では、ステップS1は好ましくは
図5に示すように実行され、すなわち、ステップS20〜S22及びS25〜S27を含む。換言すれば、ステップS1は、ステップS20、S25において、PPSからpps_cr_qp_offset及びpps_transformed_cr_qp_offsetをパースすることと、ステップS21、S26において、PPSからpps_slice_chroma_qp_offsets_present_flagフラグ及びpps_slice_transformed_qp_offsets_presentフラグをパースすることとを含む。また、ステップS1は、ステップS22において、pps_slice_chroma_qp_offsets_present_flagフラグが1に等しい場合、スライスヘッダからslice_cr_qp_offsetをパースすることと、ステップS27において、pps_slice_transformed_qp_offsets_presentフラグが1に等しい場合、スライスヘッダからslice_transformed_cr_qp_offsetをパースすることとを含む。
【0075】
一実施形態では、サンプルの色変換ブロックについて有効なQP制御情報の存在、すなわち、pps_slice_transformed_qp_offsets_present_flag、pps_transformed_cb_qp_offset、slice_transformed_cb_qp_offset、pps_transformed_cr_qp_offset、slice_transformed_cr_qp_offsetは、サンプルのブロックの残差データに色変換を用いることができるか否かを示すのに用いられるフラグを条件とする。そのようなフラグは、通常、residual_adaptive_coplor_transform_enabled_flagで表され、PPS又はSPS内に存在することができる。
【0076】
通常の例において、QPは、サンプルの所与のブロックについて、クロマ成分Cb(第2の色成分)及びクロマ成分Cr(第3の色成分)の双方について導出される。
【0077】
一実施形態において、ルーマ成分Yは、サンプルの非色変換ブロックの緑値Gを表すか又は定義し、サンプルの色変換ブロックのルーマ値Yを表す。クロマ成分Cbは、サンプルの非色変換ブロックの赤値Rを表し、サンプルの色変換ブロックのクロマ値Coを表す。これに対応して、クロマ成分Crはサンプルの非色変換ブロックの青値Bを表し、サンプルの色変換ブロックのクロマ値Cgを表す。
【0078】
このため、この実施形態において、サンプルの非色変換ブロックは、GRB色フォーマット又はGRB色空間を用いるのに対し、サンプルの色変換ブロックはYCoCg色フォーマット又はYCoCg色空間を用いる。
【0079】
各色成分の色値は、通常、サンプルアレイと呼ばれるデータ構造に含まれる。これは、サンプルの非色変換ブロックの場合、第1、第2及び第3のサンプルアレイが、緑、赤及び青色値を保有することを意味する。一方、サンプルの色変換ブロックの場合、第1、第2及び第3のサンプルアレイは、ルーマ値、クロマ値及びクロマ色値、好ましくは、Y、Co及びCg色値、又は別の実施形態では、Y、Cb及びCr色値を保有する。
【0080】
実施形態の別の態様は、QP導出方法に関する。本方法は、非色変換QPオフセット及び色変換QPオフセットを導出するために符号化ビットストリーム内のQP制御情報を復号することを含む。また、本方法は、サンプルのブロックの残差データが色変換されているか否かを条件として、非色変換QPオフセット又は色変換QPオフセットに基づいてサンプルのブロックのQP値を導出することを含む。
【0081】
QP制御情報の復号は、好ましくは、符号化ビットストリーム内、好ましくはPPS及び/又はスライスヘッダ内に存在する構文要素をパースして、非色変換QPオフセット及び色変換QPオフセットの値を得ることを含む。
【0082】
非色変換QPオフセット又は色変換QPオフセットに基づいてQP値を導出するか否かの判定は、好ましくは、サンプルのブロックに関連付けられたフラグの値に基づいて行われる。
【0083】
QP導出方法の上記の実施形態は、好ましくは、ビデオビットストリームのピクチャの復号中にデコーダによって実行される。一方、エンコーダも復号プロセスを実行し、復号プロセスにおいて、符号化された残差データは、QPを用いて逆量子化され、逆変換されて、再構成された残差データが得られる。このため、QP導出方法は、ビデオビットストリームのピクチャの符号化の再構成フェーズ中に実行することもできる。
【0084】
図6は、一実施形態によるQPコーディング方法を示すフローチャートである。本方法は、ステップS30において、サンプルのブロックの残差データが色変換されていない場合に有効な非色変換QPオフセットを決定することを含む。ステップS31は、サンプルのブロックの残差データが色変換されている場合に有効な色変換QPオフセットを決定することを含む。2つのステップS30及びS31は、任意の順序で順次、又は少なくとも部分的に並列に実行することができる。以下のステップS32は、非色変換QPオフセット及び色変換QPオフセットに基づいて符号化ビットストリームに含めるQP制御情報を生成することを含む。
【0085】
このため、サンプルの非色変換ブロックについて有効な少なくとも1組のQPオフセット、及びサンプルの色変換ブロックについて有効な少なくとも1組のQPオフセットを用いて、QPオフセットの異なる組が決定される。
【0086】
QP制御情報の生成は、好ましくは、本明細書に開示されるように、非色変換及び色変換QPオフセットを表す構文要素を決定することを含む。ステップS32は、好ましくは、PPS及び/又はスライスヘッダ内等、符号化ビットストリーム内に決定した構文要素を含めるか又は挿入することも含む。
【0087】
図7は、
図6に示す方法の追加の任意選択のステップを示すフローチャートである。本方法は、
図6のステップS32から継続する。次のステップS40は、サンプルのブロックについて、サンプルのブロックの残差データが色変換されている場合、符号化ビットストリーム内のフラグの値を1に等しくなるようにセットし、そうでない場合、フラグの値をゼロに等しくなるようにセットすることを含む。
【0088】
このフラグは、好ましくは、サンプルのブロックがCUの形態をとるか又はTUの形態をとるかに依拠して、上記で言及した構文要素cu_residual_act_flag又はtu_residual_act_flagである。
【0089】
図8は、
図6のステップS31の実施例を示すフローチャートである。このため、本方法は、ステップS30から継続する。次のステップS50は、色変換された残差データを有するサンプルの第1のブロックについて有効な色変換QPオフセットの第1の組を決定することを含む。ステップS51は、色変換された残差データを有するサンプルの第2のブロックについて有効な色変換QPオフセットの第2の組を決定することを含む。サンプルの第1のブロック及びサンプルの第2のブロックは異なるピクチャ又はスライスに属する。次に、本方法は、
図6のステップS32に続く。
【0090】
この実施例は、サンプルの2つのブロックが異なるスライスに属する場合、QPオフセットの異なる値を所与のピクチャ内のサンプルの異なる色変換ブロックに用いることができることを意味する。このとき、QPオフセットは好ましくは、それぞれのスライスヘッダに含めるQPオフセット構文要素によって表される。代替的に、又は加えて、それぞれのPPSに含めるQPオフセット構文要素によって表されるQPオフセットの値は、ビデオストリーム内の異なるピクチャについて異なることができる。
【0091】
一実施形態では、
図6のステップS32は、非色変換QPオフセット及び色変換QPオフセットに基づいて、サンプルのブロックを含むピクチャについて有効なPPS、及び/又はピクチャのスライスのスライスヘッダに含めるQP制御情報を生成することを含む。
【0092】
特定の実施形態では、このステップS32は、
図9に示すように実行される。
図9において、ステップS60〜S63は、サンプルの色変換ブロックに適用されるのに対し、ステップS64〜S67はサンプルの非色変換ブロックに適用される。
【0093】
ステップS60は、色変換QPオフセットに基づいてサンプルの色変換ブロックについて有効な第1のクロマQPオフセット構文要素を生成することを含む。以下のステップS61は、サンプルのブロックを含むピクチャについて有効なPPSに、サンプルの色変換ブロックについて有効な第1のクロマQPオフセット構文要素を含めることを含む。また、ステップS61は、スライス変換オフセット存在フラグをPPSに含めることを含む。以下のステップS62及びS63は、スライス変換オフセット存在フラグが1に等しい場合に実行される。そのような場合、ステップS62は、色変換QPオフセットに基づいてサンプルの色変換ブロックについて有効な第2のクロマQPオフセット構文要素を生成することを含む。サンプルの色変換ブロックについて有効な第2のクロマQPオフセット構文要素は、ステップS63において、ピクチャのスライスのスライスヘッダに含められる。
【0094】
ステップS61においてPPSに含められる第1のクロマQP構文要素は、このPPSに関連付けられた、すなわち符号化ビットストリームにおける特定のPPSを識別するPPS識別子を含むピクチャ内に存在するサンプルの色変換ブロックについて有効であり、この色変換ブロックのために用いられる。これに対応して、ステップS63においてスライスヘッダに含める第2のクロマQP構文要素は、関連スライス内に存在するサンプルの色変換ブロックについて有効であり、この色変換ブロックのために用いられる。これは、第1のピクチャ内の第1のスライスに存在するサンプルの第1の色変換ブロック、及び第1のピクチャ内の第2のスライスに存在するサンプルの第2の色変換ブロックが、同じ第1のクロマQPオフセット構文要素を用いるが異なる第2のクロマQPオフセット構文要素を用いることができることを意味する。これに対応して、異なるPPSに関連付けられた異なるピクチャに存在するサンプルの2つの色変換ブロックは、異なる第1のクロマQPオフセット構文要素及び第2のクロマQPオフセット構文要素を用いることができる。
【0095】
ステップS64は、色変換QPオフセットに基づいて、サンプルの非色変換ブロックについて有効な第1のクロマQPオフセット構文要素を生成することを含む。以下のステップS65は、サンプルのブロックを含むピクチャについて有効なPPSに、サンプルの非色変換ブロックについて有効な第1のクロマQPオフセット構文要素を含めることを含む。また、ステップS65は、スライスクロマオフセット存在フラグをPPSに含めることも含む。以下のステップS66及びS67は、スライス変換オフセット存在フラグが1に等しい場合に実行される。そのような場合、ステップS66は、色変換QPオフセットに基づいてサンプルの非色変換ブロックについて有効な第2のクロマQPオフセット構文要素を生成することを含む。ステップS67において、サンプルの非色変換ブロックについて有効な第2のクロマQPオフセット構文要素は、ピクチャのスライスのスライスヘッダに含められる。
【0096】
QPコーディング方法の上記で記載した実施形態は、好ましくは、ビデオストリームのピクチャの符号化中にエンコーダによって実行される。
【0097】
明示的なQPオフセットは、HEVCにおいてバージョン1から利用可能な機能であった。明示的なQPオフセットを用いるための複数の理由が存在する。GBRビデオをコーディングするとき、緑の場合のQPに対する青及び赤のQPオフセットを最適化することによって、主観的品質を大幅に改善することができる。いずれのオフセットが実際に最も良好に見えるかは、圧縮されるビデオのコンテンツに大きく依拠する。
【0098】
しかしながら、明示的なQPオフセットが用いられるときと同時に、これらの明示的なQPオフセットには、残差が色変換されるか否かにかかわらず同じ値が適用される。これは準最適な性能へとつながる可能性がある。例えば、エンコーダが、「Cbチャネル」に適用される明示的なQPオフセットを通じて、青色成分がより良好な品質でコーディングされることを望む場合、エンコーダは、ACTを用いるブロックにおいて、クロマ緑にも、より良好な品質を与えることになる。クロマ緑忠実度(品質)を青忠実度(品質)と結合させることは、全体的な主観的品質対ビットレートの観点から有利ではない。
【0099】
実施形態の目的は、改善されたビデオ圧縮のための解決策を達成することである。これは、残差データが色変換されているときに、明示的なQPオフセットに別個のパラメータを適用することによって達成される。
【0100】
これは、QP導出プロセスをACTが適用されるか否かに依拠させることによって行うことができる。導出プロセスをcu_residual_act_flag(又はtu_residual_act_flag)に依拠させることによって、色変換を用いてコーディングされたブロック、及び色変換を用いずにコーディングされたブロックについて、明示的なQPオフセットの提案される分離を達成するために、ブロックレベルで更なるデータを送信する必要がない。
【0101】
色変換を用いてコーディングされたブロック、及び色変換を用いずにコーディングされタブロックについて、明示的なクロマQPオフセットを分離することによって、エンコーダが、良好な視覚品質の生成において、より良好な制御(柔軟性)を有することが可能になる。
【0102】
提案される解決策の主要な要素は、色変換を用いているブロックと色変換を用いないブロックとを比較して、色成分間で異なる明示的なQPオフセット関係を有することを可能にすることである。
【0103】
「QP値」は、残差係数を、正しい大きさを適用されるようにスケーリングするために復号プロセスにおいて用いられる値であることに留意されたい。
【0104】
「QPオフセット」は、ルーマ又は緑等の原色成分と、別の色成分との間、及び本事例では更に、非色変換成分と色変換成分との間のQP値の差である。
【0105】
本明細書において、様々な実施例をより詳細に説明する。
【0106】
実施例1
第1の実施例において、デコーダは、現在のブロックの残差がいずれの色空間にコーディングされているかをチェックする。これは、好ましくは、フラグcu_residual_act_flag(又はtu_residual_act_flag)の値をチェックすることによって行われる。cu_residual_act_flag(又はtu_residual_act_flag)が0に等しい場合、現在のブロックのために用いられるQP値は、第1のプロセス、すなわち式に従って導出され、cu_residual_act_flag(又はtu_residual_act_flag)が1に等しい場合、現在のブロックのために用いられるQP値は、第2のプロセス、すなわち式に従って導出され、これによって、導出されたQP値は、第1のプロセスを用いた場合に導出されることになる値と異なる必要はないが、異なることができる。色変換と非色変換との間の所望の分離を達成するために、これらのプロセスのうちの少なくとも1つは、これらの間の差が単に固定値である、すなわち仕様において予め定義されるのではなく、他のプロセスに影響を与えない明示的なQPオフセットによって制御されるものであるように設定可能であるべきである。
【0107】
第1の実施例の好ましいバージョンでは、色変換を用いてコーディングされたブロックのための明示的なQPオフセットを制御するシーケンスレベル及び/又はピクチャレベル及び/又はスライスレベルのQP制御情報として導入される新たな構文要素が存在する。
【0108】
デコーダは、1つ又は複数のブロックからなるピクチャの復号プロセス中に以下のステップを実行する:
1.デコーダは、色変換を用いてコーディングされたブロックの量子化パラメータに関係するシーケンスレベル情報及び/又はピクチャレベル情報及び/又はスライスレベル情報から、1つ又は複数の値をパースする。
2.ブロックのうちの少なくとも1つのブロックの色成分のうちの少なくとも1つの色成分について、デコーダは、ブロックが色変換を用いてコーディングされているか、又は色変換を用いずにコーディングされているかに基づいて、用いる量子化パラメータの値を導出する。
3.ブロックが色変換されているとき、シーケンスレベル情報及び/又はピクチャレベル情報及び/又はスライスレベルからパースされた値を用いて量子化パラメータを導出する。
【0109】
代替的に、デコーダによって実行されるステップは、以下のように表すことができる:
1.デコーダは、1に等しいcu_residual_act_flag(又はtu_residual_act_flag)を有するブロックについて用いられる量子化パラメータに関係する少なくとも1つの構文要素(X)を含む現在のピクチャのためのSPS、PPS及びスライスヘッダ情報をパースする。
2.デコーダは、少なくとも1つのコーディングされたピクチャの少なくとも1つの現在のブロックの復号を開始する。
3.デコーダは、現在のブロックについて、cu_residual_act_flag(又はtu_residual_act_flag)の値をパース及び/又はチェックする。
4.cu_residual_act_flag(又はtu_residual_act_flag)が0に等しい場合、デコーダは、Xに依拠しない第1のプロセスに従って現在のブロックの現在の成分に用いるQPを導出する。
5.cu_residual_act_flag(又はtu_residual_act_flag)が1に等しい場合、デコーダは、Xに依拠する第2のプロセスに従って、現在のブロックの現在の成分に用いるQPを導出する。
【0110】
上記で言及した第1のプロセス及び第2のプロセスは、2つのプロセス間を区別するための分岐又はif節を用いて、同じプロセスの一部として表してもよいことに留意されたい。
【0111】
エンコーダは、以下のステップに従って第1の実施例を用いることができる:
1.エンコーダは、1に等しいcu_residual_act_flag(又はtu_residual_act_flag)を有するブロックに用いられる量子化パラメータに関する少なくとも1つの構文要素(X)を含む、現在のピクチャのためのSPS、PPS及びスライスヘッダ情報を符号化する。
2.エンコーダは、少なくとも1つの現在のブロックの少なくとも1つの成分に色変換を適用する。
3.エンコーダは、現在のブロックについて符号化される残差係数を導出するとき、Xに符号化された情報を用いる。
【0112】
「Xに依拠するプロセス」という語は、例えば、Xから導出される変数が存在し、この変数がプロセスにおいて用いられる事例における、直接依存性又は間接依存性を指すことができる。
【0113】
実施例2
第2の例において、以下の構文要素がSCC仕様の本文に加えられる(斜体で強調されている)。
【0115】
スライスヘッダ(スライスセグメントヘッダ)において:
【0116】
復号プロセス、すなわち、量子化パラメータのための導出プロセスは、以下のように変更される:
cu_residual_act_flag[xTbY][yTbY]が0に等しい場合、変数Qp
Yは以下のように導出される:
Qp
Y = ( ( qP
Y_PRED + CuQpDeltaVal + 52 + 2 * QpBdOffset
Y )%( 52 + QpBdOffset
Y ) ) − QpBdOffset
Y
そうでない場合(cu_residual_act_flag[xTbY][yTbY]が1に等しい)、変数Qp
Yは以下のように導出される:
Qp
Y = ( ( qP
Y_PRED + CuQpDeltaVal + pps_transformed_y_qp_offset + slice_transformed_y_qp_offset + 52 + 2 * QpBdOffset
Y ) % ( 52 + QpBdOffset
Y ) ) − QpBdOffset
Y
…
ChromaArrayTypeが0に等しくないとき、以下が適用される。
cu_residual_act_flag[xTbY][yTbY]が0に等しい場合、変数qP
Cb及びqP
Crは以下のように導出される:
qPi
Cb = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_cb_qp_offset + slice_cb_qp_offset + CuQpOffset
Cb )
qPi
Cr = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_cr_qp_offset + slice_cr_qp_offset + CuQpOffset
Cr )
そうでない場合(cu_residual_act_flag[xTbY][yTbY]が1に等しい)、変数qP
Cb及びqP
Crは以下のように導出される:
qPi
Cb = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_transformed_cb_qp_offset + slice_transformed_cb_qp_offset + CuQpOffset
Cb )
qPi
Cr = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_transformed_cr_qp_offset + slice_transformed_cr_qp_offset + CuQpOffset
Cr )
【0117】
別の実施例では、フラグcu_residual_act_flag[xTbY][yTbY]はフラグtu_residual_act_flag[xTbY][yTbY]に置き換えられる。
【0118】
したがって、PPS及びスライスヘッダに加えられる上記の斜体の新たな構文要素は、本明細書において用いられるとき、QP制御情報を設定する。
【0119】
実施例3
第3の実施例において、CU適応QPオフセットに用いられる構文も、色変換されているブロックに用いられることになる構文要素を含むように拡張される。これは、斜体で強調されたものと共に3つの新たな構文要素を導入することにより特に実現することができる。
【0120】
現在のブロックの現在の成分について用いられるQPが、CU適応オフセットシグナリングからの情報に基づいて導出されるとき、これは、cu_residual_act_flagの値が考慮されるように実行され、上記で斜体でマーキングされた構文要素は、cu_residual_act_flagが1に等しいときに用いられる。
【0121】
実施例4
この第4の実施例は、定義されたいくつかの異なる色変換が存在する事例に関する。この事例の場合、残差データがいずれの色空間にコーディングされるかの標示は、単一のフラグではなく、何らかの他の標示を通じて表される。そのような標示の例は、2つより多くの異なる値、すなわち定義された色空間ごとに1つの値を有することができる構文要素である。この事例において、第4の実施例の好ましい実現は、各色空間内の成分ごとに定義された新たな導出プロセスを有することである。例として:2つの異なる色変換が定義される場合、いずれのQPを用いるかを導出するのに用いられる6つの異なるプロセス及び少なくとも6つの異なるパラメータが存在することになる。
【0122】
この実施例によれば、デコーダは以下のステップを実行する:
1.デコーダは、異なる色空間においてコーディングされた残差を有するブロックの量子化パラメータに関するシーケンスレベル情報及び/又はピクチャレベル情報及び/又はスライスレベル情報から1つ又は複数の値をパースする。
2.ブロックのうちの少なくとも1つのブロックの色成分のうちの少なくとも1つの色成分について、デコーダは、いずれの色空間がブロックに用いられているかに基づいて、用いる量子化パラメータの値を導出する。
3.シーケンスレベル情報及び/又はピクチャレベル情報及び/又はスライスレベルからパースされた値を用いて量子化パラメータを導出する。
【0123】
実施例5
SCCコーデックの最新の草案は、色変換されているブロックの固定QPオフセットを含む。このオフセットは、仕様において予め定義され、色変換が正規化されていないことを補償するために適用される。このオフセットはQPの通常の導出プロセス後に適用される。
【0124】
これによって、上記記載した主要な問題に加えて、2つの追加の問題が生じる:
1.後段階で適用されるクリッピング動作が存在しないので、値が境界を超える、すなわち許容範囲を出る可能性がある。
2.既にクリッピングされた値にオフセットが適用されるので、いくつかのQP値を用いることが可能でない。例えば、値が51以上である場合、この値は51にクリッピングされる。固定オフセットが適用された後、−3/−5によって、達することが可能な最大値が48/46になる。
【0125】
第1の問題は、固定オフセットの追加後に、更なるクリッピングを適用することによって解決することができる。
【0126】
これらの双方の2つの問題を解決する代替形態は、後段階においてではなく通常の導出プロセスにおいて固定オフセットを適用することである。
【0127】
デコーダは以下のステップを実行する:
1.QPが少なくとも1つのブロックにおいて少なくとも1つの成分のために用いる導出プロセスにおいて、デコーダは、クリッピングが適用される前に所定のオフセットを適用する。
2.クリッピングは、予め定義されたオフセットが適用された後に適用される。
【0128】
上記で説明した分離解決策と組み合わせると、QP導出プロセスはこのようになる。
【0129】
量子化パラメータの復号プロセス、すなわち導出プロセスは、以下のように変更される:
cu_residual_act_flag[xTbY][yTbY]が0に等しい場合、変数Qp
Yは以下のように導出される:
Qp
Y = ( ( qP
Y_PRED + CuQpDeltaVal + 52 + 2 * QpBdOffset
Y )%( 52 + QpBdOffset
Y ) ) − QpBdOffset
Y
そうでない場合(cu_residual_act_flag[xTbY][yTbY]が1に等しい)、変数Qp
Yは以下のように導出される:
Qp
Y = ( ( qP
Y_PRED + CuQpDeltaVal + pps_transformed_y_qp_offset + slice_transformed_y_qp_offset + 47 + 2 * QpBdOffset
Y ) % ( 52 + QpBdOffset
Y ) ) − QpBdOffset
Y
…
ChromaArrayTypeが0に等しくないとき、以下が当てはまる。
cu_residual_act_flag[xTbY][yTbY]が0に等しい場合、変数qP
Cb及びqP
Crは以下のように導出される:
qPi
Cb = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_cb_qp_offset + slice_cb_qp_offset + CuQpOffset
Cb )
qPi
Cr = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_cr_qp_offset + slice_cr_qp_offset + CuQpOffset
Cr )
そうでない場合(cu_residual_act_flag[xTbY][yTbY]が1に等しい)、変数qP
Cb及びqP
Crは以下のように導出される:
qPi
Cb = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_transformed_cb_qp_offset + slice_transformed_cb_qp_offset + CuQpOffset
Cb )
qPi
Cr = Clip3( −QpBdOffset
C, 57, Qp
Y + pps_transformed_cr_qp_offset + slice_transformed_cr_qp_offset + 2 + CuQpOffset
Cr )
【0130】
実施例6
この例において、デコーダは、以下のステップのうちの少なくとも1つによって、ビデオストリームの少なくとも1つのピクチャの符号化表現を復号する:
1)デコーダは、異なるQPオフセットパラメータの少なくとも3つの組を受信するように設定される。ここで、パラメータの各組は、変換係数のためのQP導出プロセスにおいて用いられる。
2)QPオフセットパラメータの第1の組が、色変換されていないブロックの変換係数のためのQP導出プロセスに用いられる。QPオフセットパラメータの第2の組及び第3の組は、色変換されている2つの異なるブロックの変換係数のためのQPオフセットプロセスに用いられる。
3)QPオフセットパラメータの第2の組及び第3の組は等しくない。これは、同じ入力に対し、第2の組及び第3の組からのQPオフセットパラメータを適用した後に導出されるQPが等しくないことを意味する。
4)ステップ2の2つの異なるブロックは、異なるピクチャ又はスライスに属することができる。これは、ステップ2の2つの異なるブロックの各々が属するピクチャ又はスライスが、色変換ブロックのQPオフセットパラメータの特定の組に関連付けられていることを意味する。
5)QPオフセットパラメータの組は、ピクチャごと又はスライスごとにシグナリングすることができる。オフセットパラメータの組がピクチャごとにシグナリングされる場合、これらをピクチャパラメータセット(PPS)においてシグナリングすることができ、ステップ2の2つの異なるブロックを、ステップ2の2つの異なるブロックの復号に用いられるQPオフセットパラメータの異なる組を保有する異なるピクチャパラメータセットに関連付けることができる。
6)色変換ブロックを、GBRからYCoCg色フォーマットに色変換することができる。
7)色変換されているブロックのためのオフセットパラメータの1つの組は、同じコーディングユニット又は変換ユニットのY、Co及びCgサンプルアレイ間の相対的QP値を定義することができる。
8)色変換されているブロックのオフセットパラメータの1つの組は、それぞれが、Y、Co及びCgサンプルアレイうちの1つのサンプルアレイのオフセットを定義する3つの値からなることができる。
【0131】
デコーダは、実施例6による方法を実行するための命令を記憶するためのメモリと、命令を実行するためのプロセッサとを備えることができる。デコーダは、ネットワークノード又はユーザデバイス、例えば、ビデオカメラ又はモバイルデバイス等のデバイスにおいて実施することができる。
【0132】
この実施例では、エンコーダは、以下のステップのうちの少なくとも1つによって、ビデオストリームの少なくとも1つのピクチャのシーケンスを符号化するように設定される:
1)エンコーダは、色変換されているブロックの変換係数のためのQP導出プロセスを定義するためのQPオフセットパラメータの少なくとも1つの組を符号化するように設定される。QPオフセットパラメータの組は、ピクチャパラメータセット(PPS)内のピクチャごと、又はスライスヘッダ内のスライスごとにシグナリングされる。
2)エンコーダは、少なくとも1つの色変換ブロックを符号化するように設定され、QPオフセットパラメータを適用することによって、ブロックのサンプルアレイの各々について用いるQP値を導出する。
3)エンコーダは、少なくとも1つの色変換ブロックを量子化及び逆量子化するために導出されたQP値を用いるように設定される。
【0133】
エンコーダは、実施例6による方法を実行するための命令を記憶するためのメモリと、命令を実行するためのプロセッサとを備えることができる。エンコーダは、ネットワークノード又はユーザデバイス、例えば、ビデオカメラ又はモバイルデバイス等のデバイスにおいて実施することができる。
【0134】
実施例7
この寄稿は、適応色変換を用いるコーディングユニットに適用されるQPオフセットパラメータの追加の組を追加することを提案する。
【0135】
この寄稿は、PPSにおける3つの新たなQPオフセット構文要素及びスライスヘッダにおける3つの新たなQPオフセット構文要素の導入を通じて、更なる柔軟性及び改善された視覚品質を達成することができることを主張する。新たな構文要素は、適応色変換が用いられるとき、すなわちcu_residual_act_flagが1に等しいときに適用されるように提案される。ビデオのコンテンツ及び所望の圧縮結果に依拠して、緑、青、赤、ルーマ、クロマ橙、クロマ緑にいずれのQPを用いるかを別個に選択することが可能になることが有利であると主張される。
【0136】
HEVCバージョン1は、ルーマのために用いられるQPに対する各々のクロマ成分の量子化パラメータ(QP)に用いられるオフセットをシグナリングする能力を含む。この機能はHEVCスクリーンコンテンツコーディング草案本文1(HEVC Screen Content Coding Draft Text1)に受け継がれる。
【0137】
SCC草案がGBRデータと共に用いられるとき、Lサンプルアレイは緑データを保持するために用いられ、Cbサンプルアレイは青データを保持するために用いられ、Crサンプルアレイは赤データを保持するために用いられる。青データの再構成された品質を調整するために、エンコーダは、pps_cb_qp_offset+slice_cb_qp_offsetがゼロに等しくならないような値をシグナリングすることができる。
【0138】
HEVCスクリーンコンテンツコーディング草案本文1に対する第18回のJCT−VC会合において適応色変換(ACT)が採用された。ACTは、残差サンプルアレイに適用される追加の色変換の使用を可能にする。ACTが適用されるCUの場合、resSamplesLサンプルアレイがルーマデータを保持するために用いられ、resSamplesCbサンプルアレイがクロマ緑を保持するために用いられ、resSamplesCrがクロマ橙データを保持するために用いられる。
【0139】
一方、ACTが適用されるCUについて、QPは、色変換が正規化されていないことを補償する固定オフセットは別として、ACTを用いないCUと同じようにして導出される。これは、pps_cb_qp_offset及びslice_cb_qp_offsetが青データの再構成品質を調整するように用いられるとき、ACTを用いるCUのためのクロマ緑データにも同じオフセットが適用されることを意味する。
【0140】
3つの新たな構文要素をPPSに追加し、3つの新たな構文要素をスライスヘッダに追加し、QP導出プロセスを、cu_residual_act_flagの値に依拠させることを提案する。
【0141】
PPSにおいて提案される新たな構文要素は、pps_transformed_y_qp_offset、pps_transformed_cb_qp_offset及びpps_transformed_cr_qp_offsetである。
【0142】
スライスヘッダにおいて提案される新たな構文要素は、slice_transformed_y_qp_offset、slice_transformed_cb_qp_offset及びslice_transformed_cr_qp_offsetである。
【0143】
これらのパラメータが、cu_residual_act_flagが1に等しいCUにおいて用いられるQP値の導出プロセスにおいて、pps_cb_qp_offset、slice_cb_qp_offset、pps_cr_qp_offset及びslice_cr_qp_offsetの代わりに適用されることが提案される。
【0144】
HEVCスクリーンコンテンツコーディング草案本文1は、HEVCの範囲拡張から引き継がれた「CU適応クロマQPオフセット」の機能も含む。或る程度まで、これは、ACTを用いるCU及びACTを用いないCUについて異なるQPオフセットを適用するのに用いることができる。一方、この目的で「CU適応クロマQPオフセット」を用いるためには、エンコーダは、異なるQPオフセットが用いられるべきであることをCUレベルにおいてシグナリングしなくてはならない。スクリーンコンテンツコーディング草案本文1においてこれを行う唯一の可能性は、ACT利用(オン対オフ)が以前のCUと異なるときはいつでも新たなスライスを開始することである。これは、CTU境界においてのみ可能であり、非常に高いビットコストが生じることを意味する。
【0145】
実施形態の別の態様は、デコーダに関する。デコーダは、サンプルのブロックについて有効なQP制御情報をパースするように設定される。また、デコーダは、サンプルのブロックの残差データが色変換されていない場合、QP制御情報と独立した第1のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。デコーダは、サンプルのブロックの残差データが色変換されている場合、QP制御情報に依拠する第2のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように更に設定される。
【0146】
特定の実施形態では、デコーダは、サンプルのブロックを含むピクチャについて有効なQP制御情報をパースするように設定される。また、デコーダは、QP制御情報と独立した第1のQP導出プロセスに従って、ピクチャ内のサンプルの第1のブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。デコーダは、QP制御情報に依拠する第2のQP導出プロセスに従って、ピクチャ内のサンプルの第2のブロックの少なくとも1つの色成分に用いるQPを導出するように更に設定される。この実施形態では、サンプルの第1のブロックの残差データは色変換されていないのに対し。サンプルの第2のブロックの残差データは色変換されている。
【0147】
一実施形態では、デコーダは、サンプルのブロックの残差データが色変換されているか否かを示すフラグがゼロに等しい場合、QP制御情報と独立した第1のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。この実施形態では、デコーダは、フラグが1に等しい場合、QP制御情報に依拠する第2のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。
【0148】
一実施形態では、デコーダは、異なるQPオフセットパラメータの少なくとも3つの組をパースするように設定される。また、デコーダは、第1のQP導出プロセスに従って、異なるQPオフセットパラメータの少なくとも3つの組のQPオフセットパラメータの第1の組を用いて、少なくとも1つの色成分に用いるQPを導出するように設定される。デコーダは、第2のQP導出プロセスに従って、異なるQPオフセットパラメータの少なくとも3つの組のQPオフセットパラメータの第2の組又は第3の組を用いて、少なくとも1つの色成分に用いるQPを導出するように更に設定される。
【0149】
一実施形態では、デコーダは、第2のQP導出プロセスに従って、QPオフセットパラメータの第2の組を用いて、サンプルの第1のブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。また、デコーダは、第2のQP導出プロセスに従って、QPオフセットパラメータの第3の組を用いて、サンプルの第2のブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。サンプルの第1のブロック及びサンプルの第2のブロックは、異なるピクチャ又はスライスに属する。
【0150】
一実施形態では、デコーダは、サンプルのブロックを含むピクチャについて有効なピクチャ及び/又はピクチャのスライスについて有効なスライスヘッダ情報から、QP制御情報をパースするように設定される。ここで、スライスはサンプルのブロックを含む。
【0151】
一実施形態では、デコーダは、サンプルのブロックを含むピクチャについて有効なPPSからサンプルの色変換ブロックについて有効なQPオフセット構文要素をパースするように設定される。また、デコーダは、PPSからスライス変換オフセット存在フラグをパースするように設定される。デコーダは、スライス変換オフセット存在フラグが1に等しい場合、ピクチャのスライスのスライスヘッダからサンプルの色変換ブロックについて有効なQPオフセット構文要素をパースするように更に設定される。スライスはサンプルのブロックを含む。デコーダは、スライス変換オフセット存在フラグが1に等しい場合、PPSからのQPオフセット構文要素及びスライスヘッダからのQPオフセット構文要素に基づいて第2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように更に設定される。加えて、デコーダは、スライス変換オフセット存在フラグがゼロに等しい場合、PPSからのQPオフセット構文要素に基づいて第2のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。
【0152】
一実施形態では、デコーダは、サンプルのブロックを含むピクチャについて有効なPPSから、サンプルの非色変換ブロックについて有効なQPオフセット構文要素をパースするように設定される。また、デコーダは、PPSからスライスクロマオフセット存在フラグをパースするように設定される。デコーダは、スライスクロマオフセット存在フラグが1に等しい場合、ピクチャのスライスのスライスヘッダから、サンプルの非色変換ブロックについて有効なQPオフセット構文要素をパースするように更に設定される。このスライスは、サンプルのブロックを含む。デコーダは、スライスクロマオフセット存在フラグが1に等しい場合、PPSからのQPオフセット構文要素と、スライスヘッダからのQPオフセット構文要素とに基づいて第1のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように更に設定される。加えて、デコーダは、スライスクロマオフセット存在フラグが0に等しい場合、PPSからのQPオフセット構文要素に基づいて第1のQP導出プロセスに従ってサンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように設定される。
【0153】
一実施形態では、サンプルのブロックの各サンプルは、ルーマ成分Y及び2つのクロマ成分Cb、Crを含む。そのような事例では、デコーダは、サンプルのブロックの残差データが色変換されているか否かを示すフラグがゼロに等しい場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、(Qp
Y+pps_cb_qp_offset+slice_cb_qp_offset)の関数として導出するように設定される。また、デコーダは、フラグが1に等しい場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、(Qp
Y+pps_transformed_cb_qp_offset+slice_transformed_cb_qp_offset)の関数として導出するように設定される。
【0154】
特定の実施形態では、デコーダは、フラグがゼロに等しい場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、qPi
Cb=Clip3(−QpBdOffset
C,57,Qp
Y+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset
Cb)として導出するように設定される。また、デコーダは、フラグが1に等しい場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Cbに用いるQPを、qPi
Cb=Clip3(−QpBdOffset
C,57,Qp
Y+pps_transformed_cb_qp_offset+slice_transformed_cb_qp_offset+CuQpOffset
Cb)として導出するように設定される。
【0155】
一実施形態では、デコーダは、ピクチャパラメータセットからpps_cb_qp_offset及びpps_transformed_cb_qp_offsetをパースするように設定される。また、デコーダは、ピクチャパラメータセットから、pps_slice_chroma_qp_offsets_present_flagフラグ及びpps_slice_transformed_qp_offsets_presentフラグをパースするように設定される。デコーダは、pps_slice_chroma_qp_offsets_present_flagフラグが1に等しい場合、スライスヘッダからslice_cb_qp_offsetをパースするように更に設定される。加えて、デコーダは、pps_slice_transformed_qp_offsets_presentフラグが1に等しい場合、スライスヘッダからslice_transformed_cb_qp_offsetをパースするように設定される。
【0156】
一実施形態では、サンプルのブロックの各サンプルは、ルーマ成分Y並びに2つのクロマ成分Cb、Crを含む。そのような実施形態では、デコーダは、サンプルのブロックの残差データが色変換されているか否かを示すフラグがゼロに等しい場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、(Qp
Y+pps_cr_qp_offset+slice_cr_qp_offset)の関数として導出するように設定される。デコーダは、フラグが1に等しい場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、(Qp
Y+pps_transformed_cr_qp_offset+slice_transformed_cr_qp_offset)の関数として導出するように設定される。ここで、Qp
YはルーマQPの値を表し;pps_cr_qp_offsetは、ルーマQPに対するオフセットを表す。
【0157】
特定の実施形態では、デコーダは、フラグがゼロに等しい場合、第1のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、qPi
Cr=Clip3(−QpBdOffset
C,57,Qp
Y+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset
Cr)として導出するように設定される。また、デコーダは、フラグが1に等しい場合、第2のQP導出プロセスに従って、サンプルのブロックのクロマ成分Crに用いるQPを、qPi
Cr=Clip3(−QpBdOffset
C,57,Qp
Y+pps_transformed_cr_qp_offset+slice_transformed_cr_qp_offset+CuQpOffset
Cr)として導出するように設定される。
【0158】
一実施形態において、デコーダは、ピクチャパラメータセットからpps_cr_qp_offset及びpps_transformed_cr_qp_offsetをパースするように設定される。また、デコーダは、ピクチャパラメータセットから、pps_slice_chroma_qp_offsets_present_flagフラグ及びpps_slice_transformed_qp_offsets_presentフラグをパースするように設定される。デコーダは、pps_slice_chroma_qp_offsets_present_flagフラグが1に等しい場合、スライスヘッダからslice_cr_qp_offsetをパースするように更に設定される。加えて、デコーダは、pps_slice_transformed_qp_offsets_presentフラグが1に等しい場合、スライスヘッダからslice_transformed_cr_qp_offsetをパースするように設定される。
【0159】
上記のパラメータ及び構文要素は本明細書において以前に定義されたとおりである。
【0160】
特定の実施形態では、デコーダは、上記で記載したように、サンプルのブロックのクロマ成分Cbに用いるQP及びクロマ成分Crに用いるQPの双方を導出するように設定される。
【0161】
実施形態の更なる態様はデコーダに関する。デコーダは、符号化ビットストリーム内のQP制御情報を復号して、非色変換QPオフセット及び色変換QPオフセットを導出するように設定される。また、デコーダは、サンプルのブロックの残差データが色変換されているか否かを条件として、非色変換QPオフセット又は色変換QPオフセットに基づいてサンプルのブロックのQP値を導出するように設定される。
【0162】
特定の実施形態では、デコーダは、サンプルのブロックのための符号化ビットストリームから取り出されるか又はこの符号化ビットストリームにおいてパースされたフラグに基づいて、非色変換QPオフセット又は色変換QPオフセットに基づいてサンプルのブロックのためのQP値を導出することを決定する。説明のための例として、このフラグは、サンプルのブロックがCUであるか又はTUであるかに依拠して、上記で言及したcu_residual_act_flag又はtu_residual_act_flagである。
【0163】
実施形態の更に別の態様は、エンコーダに関する。エンコーダは、サンプルのブロックの残差データが色変換されていない場合に有効な非色変換QPオフセットを決定するように設定される。また、エンコーダは、サンプルのブロックの残差データが色変換されている場合に有効な色変換QPオフセットを決定するように設定される。エンコーダは、非色変換QPオフセット及び色変換QPオフセットに基づいて符号化ビットストリームに含めるQP制御情報を生成するように更に設定される。
【0164】
一実施形態では、エンコーダは、サンプルのブロックの残差データが色変換されている場合に、符号化ビットストリーム内のフラグの値を1に等しくなるようにセットし、そうでない場合、フラグの値をゼロに等しくなるようにセットするように設定される。
【0165】
一実施形態では、エンコーダは、色変換された残差データを有するサンプルの第1のブロックについて有効な色変換QPオフセットの第1の組を決定するように設定される。また、エンコーダは、色変換された残差データを有するサンプルの第2のブロックについて有効な色変換QPオフセットの第2の組を決定するように設定される。サンプルの第1のブロック及びサンプルの第2のブロックは異なるピクチャ又はスライスに属する。
【0166】
一実施形態では、エンコーダは、非色変換QPオフセット及び色変換QPオフセットに基づいて、サンプルのブロックを含むピクチャについて有効なPPS、及び/又はピクチャのスライスのスライスヘッダに含めるQP制御情報を生成するように設定される。
【0167】
一実施形態では、エンコーダは、色変換QPオフセットに基づいてサンプルの色変換ブロックについて有効な第1のクロマQPオフセット構文要素を生成するように設定される。また、エンコーダは、サンプルのブロックを含むピクチャについて有効なPPSに、サンプルの色変換ブロックについて有効な第1のクロマQPオフセット構文要素を含めるように設定される。エンコーダは、スライス変換オフセット存在フラグをPPSに含めるように更に設定される。加えて、エンコーダは、スライス変換オフセット存在フラグが1に等しい場合、色変換QPオフセットに基づいてサンプルの色変換ブロックについて有効な第2のクロマQPオフセット構文要素を生成するように設定される。また、エンコーダは、スライス変換オフセット存在フラグが1に等しい場合、サンプルの色変換ブロックについて有効な第2のクロマQPオフセット構文要素をピクチャのスライスのスライスヘッダに含めるように設定される。
【0168】
一実施形態において、エンコーダは、色変換QPオフセットに基づいてサンプルの非色変換ブロックについて有効な第1のクロマQPオフセット構文要素を生成するように設定される。エンコーダは、サンプルのブロックを含むピクチャについて有効なPPSに、サンプルの非色変換ブロックについて有効な第1のクロマQPオフセット構文要素を含めるように設定される。エンコーダは、スライスクロマオフセット存在フラグをPPSに含めるように更に設定される。加えて、エンコーダは、スライスクロマオフセット存在フラグが1に等しい場合、色変換QPオフセットに基づいてサンプルの非色変換ブロックについて有効な第2のクロマQPオフセット構文要素を生成するように設定される。また、エンコーダは、スライス変換オフセット存在フラグが1に等しい場合、サンプルの非色変換ブロックについて有効な第2のクロマQPオフセット構文要素をピクチャのスライスのスライスヘッダに含めるように設定される。
【0169】
本明細書において記載される方法、デバイス及び設定は、様々な形で実施し、組み合わせ、再構成することができることが理解されよう。
【0170】
例えば、実施形態は、ハードウェアにおいて、適切な処理回路部による実行のためのソフトウェアにおいて、又はこれらの組合せで実施することができる。
【0171】
本明細書に記載されるステップ、関数、プロシージャ、モジュール及び/又はブロックは、汎用電子回路及び特定用途向け回路の双方を含む、ディスクリート回路又は集積回路技術等の任意の従来技術を用いてハードウェアで実施することができる。
【0172】
代替的に又は補完するものとして、本明細書に記載されるステップ、関数、プロシージャ、モジュール及び/又はブロックのうちの少なくともいくつかを、1つ又は複数のプロセッサ又は処理装置等の適切な処理回路によって実行するためのコンピュータプログラム等のソフトウェアにおいて実施することができる。
【0173】
処理回路の例は、限定ではないが、1つ又は複数のマイクロプロセッサ、1つ又は複数のデジタル信号プロセッサ(DSP)、1つ又は複数の中央処理装置(CPU)、ビデオアクセラレーションハードウェア、及び/又は1つ若しくは複数のフィールドプログラマブルゲートアレイ(FPGA)若しくは1つ若しくは複数のプログラマブルロジックコントローラ(PLC)等の任意の適切なプログラマブル論理回路を含む。
【0174】
提案される技術が実施される任意の従来のデバイス又は装置の汎用処理機能を再利用することが可能であり得ることも理解されるべきである。例えば、既存のソフトウェアを再プログラムすることによって、又は新たなソフトウェアコンポーネントを追加することによって、既存のソフトウェアを再利用することも可能であり得る。
【0175】
図10は、一実施形態によるプロセッサメモリ実施に基づくデコーダ100の一例を示す概略ブロック図である。この特定の例では、デコーダ100はプロセッサ101及びメモリ102を備える。メモリ102は、プロセッサ101によって実行可能な命令を含む。プロセッサ101は、第1のQP導出プロセス又は第2のQP導出プロセスに従って、QP制御情報をパースし、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出するように動作可能である。
【0176】
別の実施形態では、メモリ102はプロセッサ101によって実行可能な命令を含み、プロセッサ101は、符号化ビットストリーム内のQP制御情報を復号し、非色変換QPオフセット又は色変換QPオフセットに基づいてサンプルのブロックのためのQP値を導出するように動作可能である。
【0177】
図11は、一実施形態によるプロセッサメモリ実施に基づくエンコーダ200の一例を示す対応する概略ブロック図である。この特定の例では、エンコーダ200はプロセッサ201及びメモリ202を備える。メモリ202は、プロセッサ201によって実行可能な命令を含む。プロセッサ201は、非色変換QPオフセット及び色変換QPオフセットを求めるように動作可能である。また、プロセッサ201は、非色変換QPオフセット及び色変換QPオフセットに基づいてQP制御情報を生成するように動作可能である。
【0178】
オプションで、
図10のデコーダ100及び
図11のエンコーダ100は、それぞれの通信回路103、203も備えることができる。通信回路103、203は、他のデバイス及び/又はネットワークノードとの有線及び/又は無線通信のための機能も含むことができる。特定の例では、通信回路103、203は、1つ又は複数の他のノードとの、情報の送信及び/又は受信を含む通信のための無線回路に基づくことができる。通信回路103、203は、プロセッサ101、201及び/又はメモリ102、202と相互接続することができる。例として、通信回路103、203は、以下のもの:受信機、送信機、送受信機、入出力(I/O)回路部、入力ポート及び/又は他の出力ポート、のうちの任意のものを含むことができる。
【0179】
特定の実施形態では、
図10のデコーダ100の通信回路103は、符号化ビットストリームを受信又は入力するように設定される。オプションで、通信回路103は、符号化ビットストリームを復号することによって得られるビデオストリームの復号されたピクチャを送信又は出力するように設定することができる。
【0180】
図11のエンコーダ200の通信回路203は、好ましくは、符号化ビットストリームを送信又は出力するように設定される。オプションで、通信回路203は、エンコーダ200によって符号化ビットストリーム内に符号化されたビットストリームのピクチャを受信又は入力するように設定することができる。
【0181】
図12及び
図13は、一実施形態によるハードウェア回路実装に基づく、デコーダ110(
図12を参照)及びエンコーダ210(
図13を参照)の別の例を示す、それぞれの概略的なブロック図である。適切なハードウェア回路の特定の例は、1つ又は複数の適切に設定された、又は場合によっては再構成可能な電子回路、例えば特定用途向け集積回路(ASIC)、FPGA、又は適切なレジスタ(REG)及び/若しくはメモリ装置(MEM)と接続して特殊な機能を実行するように相互接続されたディスクリート論理ゲート及び/若しくはフリップフロップに基づく回路等の任意の他のハードウェアロジックを含む。
【0182】
図14及び
図15は、適切なメモリ装置121;221と接続したプロセッサ122、123;222、223及びハードウェア回路124、125;224、225の双方の組み合わせに基づく、デコーダ120(
図14を参照)及びエンコーダ220(
図15を参照)の更に別の例を示すそれぞれの概略ブロック図である。デコーダ120及びエンコーダ220は、それぞれ、1つ又は複数のプロセッサ122、123;222、223と、ソフトウェア(SW)及びデータのためのストレージを含むメモリ121;221と、ASIC及び/又はFPGA等のハードウェア回路124、125;224、225の1つ又は複数のユニットとを備える。このため、全体的な機能は、1つ又は複数のプロセッサ122、123;222、223における実行のためにプログラムされたソフトウェアと、ASIC及び/又はFPGA等の、1つ又は複数の事前に設定されるか又は場合によっては再構成可能なハードウェア回路124、125;224、225との間で分割される。実際のハードウェア−ソフトウェア間の分割は、処理速度、実装コスト及び他の要件を含む複数の要因に基づいてシステム設計者によって決めることができる。
【0183】
図16は、一実施形態によるコンピュータ実装300の一例を示す概略図である。この特定の例では、本明細書に記載されるステップ、関数、手順、モジュール及び/又はブロックの少なくともいくつかがコンピュータプログラム340において実施される。コンピュータプログラム340は、1つ又は複数のプロセッサ310を含む処理回路によって実行されるようにメモリ320内にロードされる。プロセッサ310及びメモリ320は通常のソフトウェア実行を可能にするように互いに相互接続される。オプションの入出力(I/O)装置330も、デコーダベースの実施の場合、復号される符号化ビットストリーム及び/又はビデオストリームの復号されたピクチャ、並びにエンコーダベースの実施の場合、符号化ビットストリームに符号化されるビデオストリームのピクチャ及び/又は符号化ビットストリーム等の、関連データの入出力を可能にするように、プロセッサ310及び/又はメモリ320に相互接続することができる。
【0184】
「プロセッサ」という用語は、プログラムコード又はコンピュータプログラム命令を実行して、特定の処理、決定又は計算タスクを行うことが可能な任意のシステム又はデバイスとして汎用的な意味で解釈されるべきである。
【0185】
このため、1つ又は複数のプロセッサ310を備える処理回路は、コンピュータプログラム340を実行するとき、本明細書に説明した処理タスク等の明確に定義された処理タスクを行うように設定される。
【0186】
処理回路部は、上記で記載したステップ、関数、プロシージャ及び/又はブロックを実行することのみに専用である必要はなく、他のタスクも実行することができる。
【0187】
特定の実施形態において、コンピュータプログラム340は、少なくとも1つのプロセッサ310によって実行されると、この少なくとも1つのプロセッサ310に、サンプルのブロックについて有効なQP制御情報をパースさせる命令を含む。また、少なくとも1つのプロセッサ310は、サンプルのブロックの残差データが色変換されていない場合、QP制御情報と独立した第1のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出させられる。少なくとも1つのプロセッサ310は更に、サンプルのブロックの残差データが色変換されている場合、QP制御情報に依拠する第2のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出させられる。
【0188】
別の実施形態では、コンピュータプログラム340は、少なくとも1つのプロセッサ310によって実行されると、この少なくとも1つのプロセッサ310に、サンプルのブロックを含むピクチャについて有効なQP制御情報をパースさせる命令を含む。また、少なくとも1つのプロセッサ310は、QP制御情報と独立した第1のQP導出プロセスに従って、ピクチャ内のサンプルの第1のブロックの少なくとも1つの色成分に用いるQPを導出させられる。この事例では、サンプルの第1のブロックの残差データは色変換されていない。少なくとも1つのプロセッサ310は更に、QP制御情報に依拠する第2のQP導出プロセスに従って、ピクチャ内のサンプルの第2のブロックの少なくとも1つの色成分に用いるQPを導出させられる。この事例では、サンプルの第2のブロックの残差データは色変換されている。
【0189】
更なる実施形態では、コンピュータプログラム340は、少なくとも1つのプロセッサ310によって実行されると、この少なくとも1つのプロセッサ310に、符号化ビットストリーム内のQP制御情報を復号させて、非色変換QPオフセット及び色変換QPオフセットを導出させる命令を含む。また、少なくとも1つのプロセッサ310は、サンプルのブロックの残差データが色変換されているか否かを条件として、非色変換QPオフセット又は色変換QPオフセットに基づいてサンプルのブロックのQP値を導出させられる。
【0190】
更に別の実施形態では、コンピュータプログラム340は、少なくとも1つのプロセッサ310によって実行されると、この少なくとも1つのプロセッサ310に、サンプルのブロックの残差データが色変換されていない場合に有効な非色変換QPオフセットを決定させる命令を含む。また、少なくとも1つのプロセッサ310は、サンプルのブロックの残差データが色変換されている場合に有効な色変換QPオフセットを決定させられる。少なくとも1つのプロセッサ310は更に、非色変換QPオフセット及び色変換QPオフセットに基づいて符号化ビットストリームに含めるQP制御情報を生成させられる。
【0191】
提案される技術は、コンピュータプログラム340を備えるキャリア350も提供する。キャリア350は、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号又はコンピュータ可読ストレージ媒体のうちの1つである。
【0192】
例として、ソフトウェア又はコンピュータプログラム340は、通常、コンピュータ可読媒体、特に不揮発性媒体において搬送又は記憶されるコンピュータプログラム製品350として実現することができる。このため、一実施形態は、上記で記載されたようなコンピュータプログラム340を記憶したコンピュータ可読媒体を含むコンピュータプログラム製品350に関する。コンピュータ可読媒体は、限定ではないが、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク、ユニバーサルシリアルバス(USB)メモリ、ハードディスクドライブ(HDD)ストレージデバイス、フラッシュメモリ、磁気テープ、又は任意の他の従来のメモリデバイスを含む1つ又は複数の取外し可能又は非取外し可能メモリデバイスを含むことができる。このため、コンピュータプログラム340は、コンピュータ又は等価な処理デバイス300の動作メモリ320内に、その処理回路部310によって実行されるようにロードすることができる。
【0193】
本明細書において提示される1つ又は複数の流れ図は、1つ又は複数のプロセッサによって実行されるとき、1つ又は複数のコンピュータ流れ図とみなすことができる。対応するデバイスは、機能モジュールのグループとして定義することができ、プロセッサによって実行される各ステップは機能モジュールに対応する。この場合、機能モジュールは、プロセッサ上で実行されるコンピュータプログラムとして実装される。
【0194】
このため、メモリ内に常駐するコンピュータプログラムは、プロセッサによって実行されると、本明細書に記載されるステップ及び/又はタスクの少なくとも一部を実行するように設定される適切な機能モジュールとして編成することができる。
【0195】
図17は、エンコーダ130の例を示す概略図である。一実施形態では、デコーダ130は、サンプルのブロックについて有効なQP制御情報をパースするための情報パースユニット131を備える。また、デコーダ130は、サンプルのブロックの残差データが色変換されていない場合、QP制御情報と独立した第1のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出し、サンプルのブロックの残差データが色変換されている場合、QP制御情報に依拠する第2のQP導出プロセスに従って、サンプルのブロックの少なくとも1つの色成分に用いるQPを導出するためのQP導出ユニット132を備える。
【0196】
別の実施形態では、デコーダ130は、サンプルのブロックを含むピクチャについて有効なQP制御情報をパースするための情報パースユニット131を備える。また、デコーダ130は、QP制御情報と独立した第1のQP導出プロセスに従って、ピクチャ内のサンプルの第1のブロックの少なくとも1つの色成分に用いるQPを導出し、QP制御情報に依拠する第2のQP導出プロセスに従って、ピクチャ内のサンプルの第2のブロックの少なくとも1つの色成分に用いるQPを導出するためのQP導出ユニット132を備える。この事例では、サンプルの第1のブロックの残差データは色変換されていないのに対し、サンプルの第2のブロックの残差データは色変換されている。
【0197】
更なる実施形態では、デコーダは、符号化ビットストリーム内のQP制御情報を復号して、非色変換QPオフセット及び色変換QPオフセットを導出するためのQP復号ユニットを備える。また、デコーダは、サンプルのブロックの残差データが色変換されているか否かを条件として、非色変換QPオフセット又は色変換QPオフセットに基づいてサンプルのブロックのQP値を導出するためのQP導出ユニットを更に備える。
【0198】
図18は、エンコーダ230の一例を示す概略図である。エンコーダ230は、サンプルのブロックの残差データが色変換されていない場合に有効な非色変換QPオフセットと、サンプルのブロックの残差データが色変換されている場合に有効な色変換QPオフセットとを決定するためのオフセット決定ユニット231を備える。また、エンコーダ230は、非色変換QPオフセット及び色変換QPオフセットに基づいて符号化ビットストリームに含めるQP制御情報を生成するための情報生成ユニット232を備える。
【0199】
代替的に、主にハードウェアモジュールによって、又は代替的にはハードウェアによって、
図17及び
図18におけるモジュール131、132;231、232を、関連モジュール131、132;231、232間の適切な相互接続とともに実現することが可能である。特定の実施例は、1つ又は複数の適切に設定されたデジタルシグナルプロセッサ及び他の既知の電子回路、例えば、特殊な機能を実行するように相互接続されたディスクリート論理回路、及び/又は上述したようなASICを含む。使用可能なハードウェアの他の例は、I/O回路部及び/又は信号を送受信するための回路部を含む。ソフトウェア対ハードウェアの範囲は、純粋に実施の選択である。
【0200】
一態様によれば、エンコーダにおける方法が提供される。エンコーダは、QPのための制御情報を含む制御情報を符号化し、現在のブロックについて符号化される残差係数を導出するときに制御情報を用い、符号化ビットストリームを送信する。これについては
図19を参照されたい。
【0201】
更なる態様によれば、エンコーダが提供される。エンコーダは、QPのための制御情報を含む制御情報を符号化し、現在のブロックについて符号化される残差係数を導出するときに制御情報を用い、符号化ビットストリームを送信するように設定される。これについては
図19を参照されたい。
【0202】
エンコーダは、任意の態様又は実施形態による方法を実行するための命令を記憶するためのメモリと、命令を実行するためのプロセッサとを備えることができる。エンコーダは、ネットワークノード又はユーザデバイス、例えば、ビデオカメラ又はモバイルデバイス等のデバイスにおいて実施することができる。
【0203】
一態様によれば、デコーダにおける方法が提供される。デコーダは、符号化ビットストリームを受信し、QPのための制御情報を含む制御情報を復号し、現在のブロックの現在の成分に用いるQP関連情報を導出するときに、この制御情報を用いる。QP関連情報の導出は、条件、例えばACTが用いられるか否かに関係する。これについては
図19を参照されたい。
【0204】
更なる態様によれば、デコーダが提供される。デコーダは、符号化ビットストリームを受信し、QPのための制御情報を含む制御情報を復号し、現在のブロックの現在の成分に用いるQP関連情報を導出するときに、この制御情報を用いるように設定される。QP関連情報の導出は、条件、例えばACTが用いられるか否かに関係する。これについては
図19を参照されたい。
【0205】
デコーダは、任意の態様又は実施形態による方法を実行するための命令を記憶するためのメモリと、命令を実行するためのプロセッサとを備えることができる。デコーダは、ネットワークノード又はユーザデバイス、例えば、ビデオカメラ又はモバイルデバイス等のデバイスにおいて実施することができる。
【0206】
ネットワークノード及び/又はサーバ等の、リソースがネットワークを介して遠隔ロケーションにサービスとして送達されるネットワークデバイスにおいてコンピューティングサービスを提供することがますます一般的になっている。例として、これは、本明細書において記載されるような機能を、1つ又は複数の別個の物理ノード又はサーバに分散又は再割当てすることができることを意味する。機能は、別個の物理ノード、すなわちいわゆるクラウド内に配置することができる1つ又は複数の協働動作する物理マシン及び/又は仮想マシンに再配置又は分散することができる。これは、場合によってはクラウドコンピューティングとも呼ばれる。クラウドコンピューティングは、ネットワーク、サーバ、ストレージ、アプリケーション及び汎用サービス又はカスタマイズされたサービス等の設定可能なコンピューティングリソースのプールへのユビキタスなオンデマンドネットワークアクセスを可能にするためのモデルである。
【0207】
いわゆる汎用データセンタにおいて機能を集中化することが多くの場合に望ましい場合があるが、他のシナリオでは、ネットワークの異なる部分に機能を分散させることが実際に有利である場合がある。
【0208】
図20は、一般的な事例において、機能、すなわち、QPの導出、符号化ビットストリームの復号、QP復号及び/又は符号化ビットストリームへのビデオビットストリームの符号化を、異なるネットワークデバイス400、401間にどのように分散又は分割することができるかの例を示す概略図である。この例では、少なくとも2つの個々の相互接続されたネットワークデバイス400、401が存在し、これらは異なる機能を有することもできるし、ネットワークデバイス400、401間で分割された同じ機能の一部を有することもできる。そのような分散実施の一部である追加のネットワークデバイス402も存在することができる。ネットワークデバイス400、401、402は、同じ無線通信システムの一部とすることもできるし、ネットワークデバイスのうちの1つ又は複数を、無線通信システムの外側に位置するいわゆるクラウドベースのネットワークデバイスとすることもできる。
【0209】
図21は、1つ又は複数のクラウドベースのネットワークデバイス400と協働する、無線基地局、Node−B、発展型Node−B(eNode−B)等のネットワークノード420を有するアクセスネットワーク430、及び/又はコアネットワーク440、及び/又は運用及びサポートシステム(OSS)450を含む無線通信システムの例を示す概略図である。ネットワークデバイス400は一般的に、ネットワーク内の他の電子デバイスに通信可能に接続された電子デバイスとみなすことができる。
【0210】
例として、ネットワークデバイス400は、ハードウェア、ソフトウェア又はこれらの組合せにおいて実施することができる。例えば、ネットワークデバイス400は、専用ネットワークデバイス又は汎用ネットワークデバイス又はこれらのハイブリッドとすることができる。
【0211】
一実施形態では、ネットワークデバイス400は、
図10、
図12、
図14又は
図17のうちのいずれか1つに示すような実施形態によるデコーダ、及び/又は
図11、
図13、
図15又は
図18のうちのいずれか1つに示すような実施形態によるエンコーダを含む。
【0212】
本明細書において用いるとき、「ネットワークデバイス」という語は、基地局;アクセスポイント;ネットワークコントローラ等のネットワーク制御ノード、無線ネットワークコントローラ、基地局コントローラ、アクセスコントローラ等を指すことができる。特に、「基地局」という語は、ノードB又は発展型ノードB(eNB)、及びまたマクロ/ミクロ/ピコ無線基地局、フェムト基地局としても知られるホーム基地局、中継ノード、リピータ、無線アクセスポイント、ベース送受信局(BTS)、更には1つ又は複数の遠隔無線ユニット(RRU)を制御する無線制御ノード等の、標準化された基地局機能を含む様々なタイプの無線基地局を包含することができる。
【0213】
また、図面は、携帯電話又はスマートフォンによって表されるユーザデバイス410も示す。一実施形態では、ユーザデバイス410は、
図10、
図12、
図14又は
図17のうちのいずれか1つに示すような実施形態によるデコーダ、及び/又は
図11、
図13、
図15又は
図18のうちのいずれか1つに示すような実施形態によるエンコーダを含む。
【0214】
本明細書において用いられるとき、「ユーザデバイス」という語は、モバイルフォン、セルラフォン、好ましくは無線通信機能を備えた携帯情報端末(PDA)、スマートフォン、好ましくは内部及び外部のモバイルブロードバンドモデムを備えたラップトップ又はパーソナルコンピュータ(PC)、好ましくは無線通信機能を備えたタブレット、ビデオカメラ等を指すことができる。
【0215】
上記で説明した実施形態は、本発明のいくつかの説明のための例として理解される。当業者であれば、本発明の範囲から逸脱することなく、様々な変更、組合せ及び変形を実施形態に対し行うことができることが理解するであろう。特に、異なる実施形態における異なる部分的解決策を、技術的に可能な場合、他の設定において組み合わせることができる。一方、本発明の範囲は、添付の特許請求の範囲によって定義される。