IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

<>
  • 特開-量子化パラメータシグナリング 図1
  • 特開-量子化パラメータシグナリング 図2
  • 特開-量子化パラメータシグナリング 図3
  • 特開-量子化パラメータシグナリング 図4A
  • 特開-量子化パラメータシグナリング 図4B
  • 特開-量子化パラメータシグナリング 図5A
  • 特開-量子化パラメータシグナリング 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023175919
(43)【公開日】2023-12-12
(54)【発明の名称】量子化パラメータシグナリング
(51)【国際特許分類】
   H04N 19/126 20140101AFI20231205BHJP
   H04N 19/70 20140101ALI20231205BHJP
   H04N 19/186 20140101ALI20231205BHJP
【FI】
H04N19/126
H04N19/70
H04N19/186
【審査請求】有
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023172850
(22)【出願日】2023-10-04
(62)【分割の表示】P 2022111987の分割
【原出願日】2020-05-27
(31)【優先権主張番号】62/853,352
(32)【優先日】2019-05-28
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】プー ファンチュン
(72)【発明者】
【氏名】ルー タオラン
(72)【発明者】
【氏名】イン ポン
(72)【発明者】
【氏名】マッカーシー ショーン トーマス
(57)【要約】      (修正有)
【課題】ビデオ符号化におけるSDR及びHDRコンテンツの両方のための量子化パラメータシグナリングメカニズムを提供する。
【解決手段】提供する2つのアプローチのうち、第1のアプローチは、ユーザ定義Qpcテーブルを高水準シンタックスで直接的に送信することである。これは、将来のコーデック開発及びビデオコンテンツコーディングのためのより柔軟かつ効率的なQP制御につながる。第2のアプローチは、ルマQPとクロマQPとを独立に信号送信することである。この方法により、Qpcテーブルが不要になり、ルマQPに対するクロマ量子化パラメータの依存性がなくなる。
【選択図】なし
【特許請求の範囲】
【請求項1】
符号化データを再構成する装置であって、
前記装置は、
1つ以上の符号化画像を含む符号化ビットストリームを受信する手段であって、各画像は、ルマ成分、第1のクロマ成分及び第2のクロマ成分を含む、受信する手段と、
クロマ量子化パラメータ(QP)テーブルを決定するために前記符号化ビットストリームからシンタックスパラメータを抽出する手段であって、前記クロマQPテーブルは、入力ルマQP値を対応するクロマQP値にマップする、抽出することと、
前記クロマQPテーブルに基づいて前記1つ以上の符号化画像を復号することであって、前記シンタックスパラメータは、開始ルマQP値と1つ以上のオフセットパラメータを含み、区分線形表現を使って前記ルマQP値から前記クロマQP値へのマッピングを決定する、複合する手段と、
を含む、装置。
【請求項2】
前記1つ以上のオフセットパラメータは、デルタQPクロマパラメータdQpc[i]=Qpc[i]-Qpc[i-1]を含み、ここでiはインデックスを表し、Qpc[i-1]及びQpc[i]は連続するクロマQP値を表す、請求項1に記載の装置。
【請求項3】
前記シンタックスパラメータは、前記第1のクロマ成分及び前記第2のクロマ成分が共通のクロマQPテーブルを共有するかどうか、又は前記第1のクロマ成分及び前記第2のクロマ成分が異なるクロマQPテーブルを有するかどうかを示すフラグをさらに含む、請求項1に記載の装置。
【請求項4】
符号化データを再構成するための電子装置であって、
前記電子装置は、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続された非一時的メモリと、
を含み、
前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記少なくとも1つのプロセッサによって実行されたときに、前記命令は、前記少なくとも1つのプロセッサに、
1つ以上の画像を含む符号化されたビットストリーム受信し、各画像は、ルマ成分、第1のクロマ成分及び第2のクロマ成分を含み、
クロマ量子化パラメータ(QP)テーブルを決定するために前記符号化ビットストリームからシンタックスパラメータを抽出し、前記クロマQPテーブルは、入力ルマQP値を対応するクロマQP値にマップし、
前記クロマQPテーブルに基づいて前記1つ以上の符号化画像を復号する、前記シンタックスパラメータは、開始ルマQP値と1つ以上のオフセットパラメータを含み、区分線形表現を使って前記ルマQP値から前記クロマQP値へのマッピングを決定する、
ようにさせる電子装置。
【請求項5】
前記1つ以上のオフセットパラメータは、デルタQPクロマパラメータdQpc[i]=Qpc[i]-Qpc[i-1]を含み、ここでiはインデックスを表し、Qpc[i-1]及びQpc[i]は連続するクロマQP値を表す、請求項4に記載の電子装置。
【請求項6】
前記シンタックスパラメータは、前記第1のクロマ成分及び前記第2のクロマ成分が共通のクロマQPテーブルを共有するかどうか、又は前記第1のクロマ成分及び前記第2のクロマ成分が異なるクロマQPテーブルを有するかどうかを示すフラグをさらに含む、請求項4に記載の電子装置。
【請求項7】
符号化ビデオビットストリームを生成するビデオ画像のシーケンスを符号化する装置であって、
前記装置は、
画像のシーケンスを受信することであって、各画像は、ルマ成分、第1のクロマ成分及び第2のクロマ成分を含む、受信する手段と、
符号化ビデオビットストリームを生成するためにルマ量子化パラメータ(QP)値及びクロマQP値を試用して前記ビデオ画像のシーケンスを符号化する手段と、
クロマ量子化パラメータ(QP)テーブルを決定するためにデコーダのために前記ビデオビットストリーム中に信号パラメータを符号化することであって、前記クロマQPテーブルは、入力ルマQP値を対応するクロマQP値にマップし、前記信号パラメータは、開始ルマQP値と1つ以上のオフセットパラメータを含み、区分線形表現を使って前記ルマQP値から前記クロマQP値へのマッピングを決定する、信号パラメータを符号化する手段と、
を含む、装置。
【請求項8】
前記1つ以上のオフセットパラメータは、デルタQPクロマパラメータdQpc[i]=Qpc[i]-Qpc[i-1]を含み、ここでiはインデックスを表し、Qpc[i-1]及びQpc[i]は連続するクロマQP値を表す、請求項7に記載の装置。
【請求項9】
前記信号パラメータは、前記第1のクロマ成分及び前記第2のクロマ成分が共通のクロマQPテーブルを共有するかどうか、又は前記第1のクロマ成分及び前記第2のクロマ成分が異なるクロマQPテーブルを有するかどうかを示すフラグをさらに含む、請求項7に記載の装置。
【請求項10】
符号化データを再構成するための電子装置であって、
前記電子装置は、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続された非一時的メモリと、
を含み、
前記メモリは、前記少なくとも1つのプロセッサによって実行可能な命令を記憶し、前記少なくとも1つのメモリによって実行されたときに、前記命令は、前記少なくとも1つのプロセッサに、
画像のシーケンスを受信することであって、各画像は、ルマ成分、第1のクロマ成分及び第2のクロマ成分を含む、受信し、
符号化ビデオビットストリームを生成するためにルマ量子化パラメータ(QP)値及びクロマQP値を試用してビデオ画像のシーケンスを符号化し、
クロマ量子化パラメータ(QP)テーブルを決定するためにデコーダのために前記ビデオビットストリーム中に信号パラメータを符号化することであって、前記クロマQPテーブルは、入力ルマQP値を対応するクロマQP値にマップし、前記信号パラメータは、開始ルマQP値と1つ以上のオフセットパラメータを含み、区分線形表現を使って前記ルマQP値から前記クロマQP値へのマッピングを決定する、信号パラメータを符号化する、
処理を実行させる、電子装置。
【請求項11】
前記1つ以上のオフセットパラメータは、デルタQPクロマパラメータdQpc[i]=Qpc[i]-Qpc[i-1]を含み、ここでiはインデックスを表し、Qpc[i-1]及びQpc[i]は連続するクロマQP値を表す、請求項10に記載の電子装置。
【請求項12】
前記信号パラメータは、前記第1のクロマ成分及び前記第2のクロマ成分が共通のクロマQPテーブルを共有するかどうか、又は前記第1のクロマ成分及び前記第2のクロマ成分が異なるクロマQPテーブルを有するかどうかを示すフラグをさらに含む、請求項10に記載の電子装置。
【請求項13】
符号化されたビデオビットストリームを送信する装置であって、
前記装置は、前記ビットストリームを生成し、送信する少なくとも1つのプロセッサを含み、
前記プロセッサは、
画像のシーケンスを受信することであって、各画像は、ルマ成分、第1のクロマ成分及び第2のクロマ成分を含む、受信し、
符号化ビデオビットストリームを生成するためにルマ量子化パラメータ(QP)値及びクロマQP値を試用してビデオ画像のシーケンスを符号化し、
クロマ量子化パラメータ(QP)テーブルを決定するためにデコーダのために前記ビデオビットストリーム中に信号パラメータを符号化することであって、前記クロマQPテーブルは、入力ルマQP値を対応するクロマQP値にマップし、前記信号パラメータは、開始ルマQP値と1つ以上のオフセットパラメータを含み、区分線形表現を使って前記ルマQP値から前記クロマQP値へのマッピングを決定する、信号パラメータを符号化する、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオ信号を符号化するときに量子化パラメータを導出し、シグナリングすることに関し、より詳細には、ビデオ信号のルマ(luma:輝度)及び/又はクロマ(chroma:彩度)量子化パラメータを導出し、シグナリングするための方法、装置、コンピュータプログラム、及びコンピュータプログラムベースのデバイスに関する。
【0002】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれる、2019年5月28日に出願された米国仮特許出願第62/853,352号の優先権を主張する。
【背景技術】
【0003】
量子化パラメータ(QP)は、品質及びビットレートを調整するためにビデオビットストリームで使用されるパラメータの1つのタイプである。一般に、符号化中に設定されるより低いQP値は、必要とされるより多くの消費ビット数を犠牲にして、符号化ビデオのより高い品質をもたらし、0のQPは、量子化を意味しない。一方、QPの値がより高いほど、符号化ビデオの品質は低くなり、消費されるビットはより少なくなる。さらに、符号化ビデオからビデオコンテンツを再構成するときに、デコーダ(decoder:符号化器)は、QP値を使用する。
【0004】
汎用ビデオ符号化(Versatile Video Coding:VVC)は、標準ダイナミックレンジ(SDR)コンテンツ及び高ダイナミックレンジ(HDR)コンテンツの両方を符号化するJVET(Joint Video Exploration Team)によって開発されている標準規格である。現在の(2019)VVC規格書では、ルマ成分とクロマ成分に対する量子化パラメータの信号伝達が異なる方法で扱われている。
【0005】
ルマ成分では、連続する量子化パラメータ値間の差を意味するデルタ量子化パラメータ(QP)が信号化され、各スライスの初期QP値に加えられる。
【0006】
クロマの場合、クロマ量子化パラメータ(Qpc)は、クロマ量子化パラメータテーブルを使用してクロマオフセット値(qPi)を持つルマQPから導出される。例として、図1は、クロマオフセットqPiを有するルマ量子化パラメータの関数としてQpcの異なる値を含むテーブル(100)を示す。テーブル(100)に示されたデータは、特定のクロマフォーマットに対応している。VVC標準規格によると、クロマフォーマットは0~3の範囲の変数chroma_format_idcに基づく。テーブル(100)は、クロマフォーマット(4:2:0)を表す1のchroma_format_idc値に対応する。
【0007】
図1のテーブル(100)は、高効率ビデオ符号化(HEVC:High Efficiency Video Coding)規格から継承され、SDRコンテンツのみのために設計される。しかしながら、HDR知覚量子化(PQ:Perceptual Quantization)コンテンツが、JCT-VCにおいて最初に検討されたとき、デフォルトSDR Qpcテーブルは、特に無彩色領域(achromatic regions)において、低いビットレートでクロマアーチファクトをもたらすので、HDRコンテンツに適していないと結論付けられた。その結果、ChromaQPOffsetと呼ばれる変数を使用する非ノーマティブエンコーダ最適化が、HDR PQコンテンツのためのHDR共通テスト条件(CTC)に導入された。一般に、ルマQP値との差異を示すと、ChromaQPOffsetがピクチャパラメータセット(PPS)において信号伝達され、これは、入力QPに基づいて一定の値が使用されることを示す。しかしながら、ピクチャ上でQPが変動し、一定のオフセットでは対応できない場合がある。
【0008】
HEVCの第1のバージョンでは、スライスレベルで2つのクロマ成分の各々に対して別個のQPオフセットがあった。しかしながら、符号化ユニット(CU)レベルでは、デルタQPがルマQPに基づくマッピングテーブルを通過するクロマを有する3つの成分全てに適用された。Range Extensions(Rext)バージョンでは、別個のクロマQP制御が、Cb及びCrについてそれぞれ指定されたクロマQPオフセットリストを介してCUレベルで導入された。
【0009】
<現在のVVC標準規格における量子化パラメータ導出>
この過程で、ルマ量子化パラメータQp'Yとクロマ量子化パラメータQp'Cb及びQp'Crを導出した。スライスのルマ量子化パラメータQpYの初期値は、次のように導かれる:
SliceQpY=26+init_qp_minus26+slice_qp_delta
qPY_PREVは、現在の符号化ユニットに対する以前のルマ量子化パラメータを表す。現在の量子化グループがスライス又はブリックの最初の量子化グループの場合、qPY_PREVはSliceQpYに設定される。それ以外の場合、qPY_PREVは、デコード順序で前の量子化グループの最後のルマ符号化ユニットのルマ量子化パラメータQpYに等しく設定される。
【0010】
qPY_PREDは、現在の符号化ユニットの予測ルマ量子化パラメータを表す。現在の量子化グループが、ブリック内のCTB行の最初の量子化グループで、トップの符号化ユニットが使用可能な場合は、qPY_PREDをトップのCUのQpYに設定し、それ以外の場合は、
qPY_PRED=(qPY_A+qPY_B+1)>>1
ここで、左側の符号化ブロックが左側の量子化グループの最初の符号化ブロックでない場合、又は左側の符号化ブロックが使用できない場合、qPY_AはqPY_PREVに設定され、トップの符号化ブロックがトップの量子化グループの最初の符号化ブロックでない場合、又はトップの符号化ブロックが使用できない場合、qPY_BはqPY_PREVに設定される。
【0011】
符号化ユニットごとの可変Qpは、以下のように導出される:
【数1】

CuQpDeltaValは、変換ユニット層でcu_qp_delta_absとcu_qp_delta_sign_flagで指定される。
【0012】
ルマ量子化パラメータQp'Yは次のように導かれる:
Qp′Y= QpY+QpBdOffsetY
ChromaArrayTypeが0ではなく、treeTypeがSINGLE_TREE又はDUAL_TREE_CHROMAの場合、以下が適用される:
・treeTypeが、DUAL_TREE_CHROMAに等しい場合、変数QpYは、ルミナンス位置(xCb+cbWidth/2、yCb+cbHeight/2)をカバーする現在のルマ符号化ユニットのルマ量子化パラメータQpYに等しく設定される。
・変数qPCbとqPCrは次のように導出される:
【数2】

【数3】

・ChromaArrayTypeが1の場合、変数qPCb及びqPCrは、それぞれqPiCb及びqPiCrに等しいインデックスqPiに基づいて、テーブル1に指定されているQpcの値に等しく設定される(便宜上、再度以下に示す)。
・それ以外の場合、qPCb及びqPCrは、それぞれqPiCb及びqPiCrに等しいインデックスqPiに基づいて、Min(qPi、63)に設定される。
・Cb及びCr、Qp'Cb及びQp'Crに対するクロマ量子化パラメータは、以下のように導出される:
Qp′Cb=qPCb+QpBdOffsetC
Qp′Cr=qPCr+QpBdOffsetC
【発明の概要】
【0013】
現在のビデオコンテンツは、元のデフォルトSDR Qpcテーブルが設計されたSDRコンテンツと同じではない。一例として、SDRコンテンツ及びHDRコンテンツのルマ成分及びクロマ成分は、Y'CbCr又はICtCp信号フォーマットを使用して符号化され得る。HDRコンテンツの場合、状況はより複雑である。HDRコンテンツはさらに、HLG又はPQ伝達特性を使用して符号化されてもよい。異なるクロマ成分タイプ及び伝達特性に対して異なるクロマ量子化パラメータを信号化することは有益であろう。また、CbとCr又はCtとCpという2つの異なるクロマ成分に対して異なるクロマ量子化パラメータを信号化することも有益かもしれない。また、クロマ量子化パラメータをコンテンツ依存方式で信号化することも有益であり得る。開示された方法及び装置は、上述の問題及び要求に対処する。
【0014】
本開示によるデバイス及び方法は、HDRコンテンツのクロマQP(QPc)を導出する問題に対する解決策を提供する。さらに、HDRのためにそのような導出されたクロマQPをシグナリングするためのデバイス及び方法も開示されている。本開示の第1の態様によれば、符号化ビデオビットストリームを復号する方法が開示され、この方法は、a)クロマQPオフセット値qP(i)を有するルマ量子化パラメータ(Qp)を対応するクロマQp値Qpc(i)にマッピングするクロマ量子化パラメータ(Qpc)テーブルを抽出するステップであって、i)「i」は、startIDからendIDまでの範囲のテーブルエントリのインデックスであり、ii)startIDは、1以上N未満の整数であり、Nは、Qpcテーブルエントリの総数であり、iii)endIDは、startID及び1より大きく、N以下の整数である、a)ステップと、b)前記抽出されたQpcテーブル及び前記符号化ビデオビットストリームに基づいて、復号された出力信号を生成するステップであって、ここで、前記符号化ビットストリームは、テーブル識別子を含み、第1のケースで、前記テーブル識別子は、デフォルトテーブルの存在を示し、第2のケースで、前記符号化ビデオビットストリームはさらに、高レベルシンタックスで信号化された1つ以上の要素を含み、前記1つ以上の要素は、a)2つ以上のクロマQp値、又はb)1つ以上のクロマQp値とクロマオフセット値付きの1つ以上のルマQpとの組み合わせに基づいて符号化される、b)ステップと、を含む。
【0015】
本開示の第2の態様によれば、ビデオ信号の符号化ストリームを復号する方法であって、前記符号化ストリームから、ルマ量子化パラメータ(Qps)、第1のクロマ成分Qps、及び第2のクロマ成分Qpsを抽出することと、抽出された前記ルマ成分、前記第1のクロマ成分及び前記第2のクロマ成分Qp並びに前記符号化ビデオビットストリームに基づいて、前記出力復号ビデオ信号を生成することと、を含み、前記符号化ビデオストリームは、高レベルシンタックスで信号化された複数の要素を含み、前記複数の要素は、前記ルマQps、前記第1のクロマ成分及び第2のクロマ成分Qpsの組み合わせに基づいて符号化され、前記第1のクロマ成分Qpsは、前記第1のクロマ成分Qpsの予測値及び前記ビデオ信号の第1のクロマ成分サンプルのビット深度に基づいて導出され、第2のクロマ成分Qpsは、第2のクロマ成分Qpsの予測値及び前記ビデオ信号の第2のクロマ成分サンプルのビット深度に基づいて導出される。
【図面の簡単な説明】
【0016】
図1】ルミナンス量子化パラメータの関数としてクロマ量子化パラメータの異なる値を含む表の一例を示す。
図2】本開示の実施形態による例示的なHDR Qpcテーブルを示す。
図3】本開示の実施形態による例示的なQpcテーブルを示す。
図4A】HDR PQコンテンツタイプのための例示的なQpcテーブルを示す。
図4B】HDR Hybrid-Long Gamma(HLG)コンテンツタイプのための例示的なQpcテーブルを示す。
図5A】例示的なSDR Qpcマッピング関数ベースのルマ量子化パラメータを示す(図5Bへ続く)。
図5B】例示的なSDR Qpcマッピング関数ベースのルマ量子化パラメータを示す(図5Aから続く)。
【発明を実施するための形態】
【0017】
<定義>
この文書全体を通して、ビデオ符号化及び復号に関連して使用される技術用語は、Versatile Vide Coding(ドラフト5)、文書JVET-N1001-v3、ITU-T SG 16 WP 3のJoint Video Experts Team(JVET)、及びISO/IEC JTC 1/SC 29/WG 11、第14回会議:ジュネーブ、CH、19-27、2019年3月に従って定義される。
【0018】
<説明>
<1.ユーザ定義のQpcテーブルに基づくクロマPQの導出>
本開示の実施形態に従って、HDRコンテンツのクロマQPは、ユーザ定義のQpcテーブルを使用して決定されてもよい。図2は、本開示の実施形態に従った例示的なHDR Qpcテーブルを表すテーブル(200)を示す。テーブル(200)は、現行のVVCで指定されているデフォルトのSDR QpcテーブルがSDRコンテンツに対して果たす役割と、HDRコンテンツに対して本質的に同じ目的を果たす。当業者であれば、HDRコンテンツのためのユーザ定義のQpcテーブルに基づく開示されたアプローチは、すべてのSDR及びHDR信号タイプのためのコーデック設計を統一し、将来のコーデック開発のためのより柔軟で効率的なQP制御につながることを理解するであろう。
【0019】
本開示の一実施形態によれば、説明したようなHDR Qpcテーブルは、ビデオパラメータセット(VPS)、シグナルパラメータセット(SPS)、PPS、アダプテーションパラメータセット(APS)、スライスヘッダ、およびSEIメッセージなどの高レベルシンタックスで直接シグナリングされてもよい。シグナリングオーバーヘッドを削減するために、また、本開示の他の実施形態によれば、デフォルトのQpcテーブルは、標準仕様におけるノーマティブなテーブルとして、または標準仕様における非ノーマティブな例として使用されてもよい。
【0020】
図2を参照すると、SPSにおいて、新しいシンタックス要素chroma_qp_table_idcが追加されてもよい。chroma_qp_table_idcの値が0に等しい場合、VVC仕様書テキストのオリジナルのSDR Qpcテーブルを参照する(図1のテーブル(100)参照)。chroma_qp_table_idcの値が1に等しい場合は、図2のテーブル(200)を参照する。本開示の一実施形態によれば、変数chroma_qp_table_idcは、ChromaArrayTypeが1に等しい場合のqPiの関数としてのQpcの配列へのインデックスのインディケーションである。chroma_qp_table_idcの値は、0以上1以下の範囲であってもよい。
【0021】
本開示のさらなる実施形態によれば、1つのQpcテーブルが信号化されてCb及びCrの両方で共有されるか、またはCb及びCrそれぞれのために設計された2つの別個のテーブルが信号化されることができる。シグナリングオーバーヘッドを低減するために、各Qpcテーブルは、差分的に符号化されるか、区分線形関数で近似されるか、ランレングス符号化されるか、Lempel-Ziv-Welch(LZW)又は類似のアルゴリズムで符号化されるか、または上述の技術の混合物で符号化されることができる。
【0022】
上述のQpcテーブルは、HLG又はPQの伝達特性を用いたHDRコンテンツに使用してもよい。図1図2を参照すると、テーブル(100、200)、及びHLGなどの他のコンテンツタイプ用に設計されたQpcテーブルから、一部のQpc値はqPiに等しいか、又は定数値を差し引くことで直接導出できることが認められる。符号化ビットを節約するために、ビットストリームで信号を送る必要があるテーブル要素の範囲は、開始インデックス及び終了インデックス[startID,endID]で指定することができる。
【0023】
以下では、本開示の教示に従った、クロマQP値をシグナリングするための様々な方法について説明する。本開示全体を通して、「dQp」とも表される「デルタ(delta)Qp」という用語は、2つの連続するQP値の間の差を説明するために使用される。
【0024】
<方法1a>
この方法では、[startID,endID]内の2つの隣接するQpcエントリ間の差がコード化される:
dQpc[i]=Qpc[i]-Qpc[i-1] (1)
【0025】
一般に、本開示の教示によるSDR及びHDRのQpcテーブルは、0及び1のdQp値のみを含むことができる。デルタQP値を直接信号化することが可能である。代替的には、コードワードを複数のデルタQP値で構成することも可能である。例えば、同じインデックス値を持つCbとCrのペアのデルタQP値を組み合わせてもよい。別の例として、Cbについては、2つの連続したインデックス値のデルタQP値を組み合わせることができ、Crについても同様である。任意選択で、デルタQP値の組み合わせから構築されたコードワードのシーケンスは、ハフマン符号化又は他の可逆圧縮アルゴリズムなどの方法を用いてさらに圧縮することができる。0及び1以外のデルタQpc値については、シンタックスで最大デルタ値を指定することができる。場合によっては、信号を送る必要のあるビット数を減らすために、startIDとendIDが偶数又は奇数の値になるように制約されることがある。
【0026】
以下のさらなる実施形態の説明では、先に説明した実施形態との相違点を中心に説明する。したがって、両実施形態に共通する特徴は、以下の説明では省略されるので、以下の説明で別段の要求がない限り、先に説明した実施形態の特徴は、さらなる実施形態でも実装されているか、又は少なくとも実装可能であると考えられるべきである。
【0027】
<方法1b>
この方法では、[startID,endID]内の{qPi,Qpc}の各対の間の差分値は、次のように符号化されてもよい:
dQp[i]=qPi[i]-Qpc[i] (2)
qPiとQpcとの間のデルタQP値は、0から18の範囲内であってもよい。これは、方法1aが方法1bよりも符号化に適している可能性を示している。
【0028】
<方法1c>
この方法は、次のように定義される区分線形関数を介してqPiからQpcマッピング曲線をフィッティングすることに基づいている。
【数4】

ここで、
【数5】
【0029】
<方法1d>
この方法では、ランレングス符号化を用いて、式(1)で定義されるdQpc[i]値を符号化してもよい。一例として、図1のテーブル(100)を参照すると、デルタQp値は、0および1の系列として導出される。デルタ値(0又は1)は、結果的な値のカウントとともにコード化されてもよい。図3は、この方法に基づくQpcテーブルの例示的な説明であるテーブル(300)を示す。
【0030】
本開示の一実施形態によれば、SDR、PQ、HLGコンテンツなどの異なる信号タイプのそれぞれに対して、1つのデフォルトQpcテーブルが事前に定義されてもよい。図4A図4Bは、HDR PQ及びHLGコンテンツに対する例示的なQpcテーブルをそれぞれ表すテーブル(400A、400B)を示す。ユーザ定義のQpcテーブルが存在しない場合、エンコーダ及びデコーダは、代わりにデフォルトのQpcテーブルを適用してもよい。本開示による実施形態は、ユーザ定義のQpcがシグナリングされないことを想定してもよい。このアプローチは、より多くのビットを節約できるという利点がある。
【0031】
以下のテーブル(表)は、上記の方法1aに対応しており、SPSおよびタイルグループヘッダのロウバイトシーケンスペイロード(RBSB)の例示的な構文を示しており、本開示の教示に従ったシンタックス要素は、他の既存のシンタックス要素とは対照的に、イタリック体(斜字体)のフォントで描かれている。これから、様々なシンタックス要素の詳細な説明が行われる。デフォルトQPcテーブルは、SPSにおいて、デフォルトQPcテーブルタイプインデックスをシグナリングすることによって指定することができる。デフォルトのテーブルが提供されない場合、事前に定義されたQpcテーブルが、2つの隣接するテーブル要素間のデルタQP値とともにSPSで送信されてもよい。スライスで使用する1つ以上の代替QPcテーブルをPPSでシグナリングして、SPSのQpcテーブルを上書きしてもよい。
【0032】
【表1-1】
【0033】
【表1-2】
【0034】
【表1-3】
【0035】
sps_default_qpc_table_flagを1に設定すると、デフォルトのクロマ量子化パラメータテーブルを使用するため、Qpcテーブルを送信する必要はない。その代わりに、どのデフォルトQpcテーブルを使用するかを示すインデックスがシグナリングされる。0に等しいsps_default_qpc_table_flagは、デフォルトのQpcテーブルが定義されておらず、SPSで送信する必要があることを指定する。
【0036】
default_qpc_table_type_idxは、sps_default_qpc_table_flagが1の場合に、どのデフォルトQpcテーブルを使用するかを示す。default_qpc_table_type_idxが0で、pps_slice_qpc_table_present_flagが0の場合、1つ以上のデフォルトSDR Qpcテーブルを使用することを示す。default_qpc_table_type_idxが1に、pps_slice_qpc_table_present_flagが0に等しい場合、1つ以上のHDR PQ Qpcテーブルが使用されることを示す。default_qpc_table_type_idxが2に、pps_slice_qpc_table_present_flagが0に等しい場合、1つ以上のデフォルトHLG Qpcテーブルが使用されることを示す。default_qpc_table_type_idxが3の場合は、将来の使用のために予約されている。
【0037】
sps_separate_qpc_table_enable_flagが1の場合、CbとCrが別々のQpcテーブルを使用することを指定する。sps_cr_qp_delta[i]とsps_cr_qp_gap_idxはSPSで定義され、信号化され、slice_cr_qp_delta[i]とslice_cr_qp_gap_idxはスライスヘッダで定義される。sps_separate_qpc_table_enable_flagが0の場合、CbとCrが同じQpcテーブルを使用することを指定する。
【0038】
sps_qpc_table_start_index_div2は、Qpcテーブル要素でデルタQP値を信号化する際の開始インデックスを指定する。それは、0~63の偶数として定義される。sps_qpc_table_start_index_div2*2未満のインデックスを持つテーブル要素については、QpcはqPiと同じ値に設定される。
【0039】
sps_qpc_table_end_index_div2は、Qpcテーブル要素でデルタQP値を信号化する前の終了インデックスを指定する。それは、0~63の間の偶数として定義される。sps_qpc_table_end_index_div2*2より大きいインデックスを持つテーブル要素については、sps_cb_qp_delta[i]及びsps_cr_qp_delta[i]が1に設定される。sps_cb_qp_delta[i]は、SPSで定義されたCbの量子化パラメータテーブルを構築するために、spsQpcb[i]とspsQpcb[i-1]との間のデルタ値をsps_cb_qp_delta[0]で指定する。SPSにおけるCbの量子化パラメータテーブルのi番目のエントリは、次のように導かれる:
spsQpcb[i]=sps_cb_qp_delta[i]+spsQpcb[i-1]
【0040】
sps_cr_qp_delta[i]は、SPSで定義されたCrの量子化パラメータテーブルを構築するために、sps_cr_qp_delta[0]を中心にspsQpcr[i]とspsQpcr[i-1]のデルタ値を指定する。SPSにおけるCrの量子化パラメータテーブルのi番目のエントリは、次のように導かれる:
spsQpcr[i]=sps_cr_qp_delta[i]+spsQpcr[i-1]
【0041】
pps_slice_qpc_table_present_flagが1の場合、現在のスライスのCb成分及びCr成分の量子化パラメータテーブルが存在し、スライスヘッダに定義されていることを指定する。pps_slice_qpc_table_present_flagが0の場合、現在のスライスのCb成分及びCr成分に対する量子化パラメータテーブルがスライスヘッダに存在せず、Cb及びCrにデフォルトの量子化パラメータテーブルが適用されることを指定する。
【0042】
slice_cb_qp_delta[i]は、Cb用のスライス量子化パラメータテーブルを構築するために、sliceQpcb[i]とsliceQpcb[i-1]との間でslice_cb_qp_delta[0]によってデルタ値を指定する。Cb成分用のスライスQpcテーブルのi番目のエントリは、次のように導かれる:
sliceQpcb[i]=slice_cb_qp_delta[i]+sliceQpcb[i-1]
【0043】
slice_cr_qp_delta[i]は、sps_separate_qpc_table_enable_flagが1のときに定義され、Crのスライス量子化パラメータテーブルを構築するためのsliceQpcr[i]とsliceQpcr[i-1]との間のデルタ値をslice_cr_qp_delta[0]として指定する。Cr成分のスライスQpcテーブルのi番目のエントリは、以下のように導かれる:
sliceQpcr[i]=slice_cr_qp_delta[i]+sliceQpcr[i-1]
【0044】
<2.ルマQPから独立してクロマQPを導出する>
本開示のさらなる実施形態によれば、ルマQps及びクロマQpsは、独立して信号化され得る。このようなアプローチは、ルマQPに対するクロマQPの従属性を排除するという利点を有する。以下では、本開示の実施形態によるクロマQPの導出を詳細に説明する
【0045】
スライスSliceQpCb及びSliceQpCrのクロマ量子化パラメータの初期値は、以下のように導出することができる:
SliceQpCb=26+init_qp_minus26+slice_cb_qp_delta (3)
SliceQpCr=26+init_qp_minus26+slice_cr_qp_delta (4)
現在の量子化グループがスライス又はブリックの最初の量子化グループである場合、qPCb_PREVとqPCr_PREVは、それぞれSliceQpCbとSliceQpCrに設定される。それ以外の場合、qPCb_PREVとqPCr_PREVは、デコード順序で前の量子化グループの最後のクロマ符号化ユニットのクロマ量子化パラメータQpcに等しく設定される。
【0046】
qPCb_PRED及びqPCr_PREDは、現在の符号化ユニットのための予測されたクロマ量子化パラメータである。現在の量子化グループがブリック内のCTB行の最初の量子化グループで、トップの符号化ユニットが使用可能な場合はqPCb_PREDとqPCr_PREDを最上位CUのQpcに設定し、それ以外の場合は、
qPCb_PRED=(qPCb_A+qPCb_B+1)>>1 (5)
qPCr_PRED=(qPCr_A+qPCr_B+1)>>1 (6)
ここで、qPCb_A及びqPCr_Aは、左側符号化ブロックが左側量子化グループ内の最初の符号化ブロックでない場合、又は左側符号化ブロックが利用可能でない場合は、それぞれqPCb_PREV及びqPCr_PREVに設定され、トップの符号化ブロックがトップの量子化グループ内の最初の符号化ブロックでない場合、又はトップの符号化ブロックが利用可能でない場合は、それぞれqPCb_B及びqPCr_BはqPCb_PREV及びqPCr_PREVに設定される。
【0047】
各符号化ユニットに対する変数QpCb及びQpCrは、以下のように導き出すことができる:
【数6】

【数7】
【0048】
クロマ量子化パラメータQp´CbとQp´Crは次のように導かれる:
Qp′Cb=QpCb+QpBdOffsetC (9)
Qp′Cr=QpCr+QpBdOffsetC (10)
現在の符号化ユニットの量子化パラメータとその予測、CuCbQpDeltaVal及びCuCrQpDeltaValとの間の差分値は、変換ユニット層において指定され得る。デルタQP値を符号化するいくつかの方法がある。
【0049】
以下では、本開示の教示による例示的な方法を説明する。また、各色成分(例えば、ルマ、クロマCb、及びクロマCr)のQPとその予測値との間の差は前述のように、Qpcテーブルのコンテクストにおける連続するQPの差を示すdPQと区別するために、dPQ´と略される。
【0050】
<方法2a>
この方法では、変数CuQpDeltaVal、CuCbQpDeltaVal、及びCuCrQpDeltaValによってそれぞれ表される、3つの色成分、ルマ、クロマCb、及びクロマCrのdQPが符号化される。
【0051】
さらなる実施形態の以下の説明は、それと前述の実施形態との間の相違点に焦点を当てる。したがって、両方の実施形態に共通する特徴は、以下の説明から省略され、したがって、以前に説明された実施形態の特徴は以下の説明が別途必要としない限り、さらなる実施形態で実装されるか、又は少なくとも実装することができると仮定されるべきである。
【0052】
<方法2b>
この方法では、ルマ成分CuQpDeltaValのdQP´が符号化される。さらに、各クロマ成分のdQp´とルマdQp´との間の差は、以下に従って符号化される:
CbdQpDeltaVal=CuCbQpDeltaVal-CuQpDeltaVal (11)
CrdQpDeltaVal=CuCrQpDeltaVal-CuQpDeltaVal (12)
【0053】
<方法2c>
この方法では、要素CrCbdQpDeltaValが以下のように定義され、
CrCbdQpDeltaVal=CuCrQpDeltaVal-CuCbQpDeltaVal (13)
符号化され、ここで、要素CuCrQpDeltaVal及びCuCbQpDeltaValは、上述の方法2cの場合と同じ定義を有する。
【0054】
<方法2d>
この方法では、要素CrCbdQpDeltaValが以下のように定義され、
CrCbdQpDeltaVal=CuCrQpDeltaVal-CuCbQpDeltaVal
符号化され、ここで、要素CuCrQpDeltaVal及びCuCbQpDeltaValは、上述の方法2cの場合と同じ定義を有する。
【0055】
<方法2e>
この方法では、クロマQP及びルマQPからの差分値が以下のように定義され、
dQp′Cb=Qp′Y-Qp′Cb (14)
dQp′Cr=Qp′Y-Qp′Cr (15)
符号化される。方法2eのシグナリングは、スライスヘッダ内のslice_cb_qp_delta及びslice_cr_qp_delta(以下参照)を信号化する必要がなく、方法2aと同様である。
【0056】
以下のテーブル(表)はSPS及びタイルグループヘッダのためのロウバイトシーケンスペイロード(RBSB)の例示的なシンタックスを示す、上記の方法2aに対応し、本開示の教示によるシンタックス要素は、他の既存のシンタックス要素とは対照的にイタリック体で示される。これに続いて、さまざまな構文要素の詳細な説明を示す。
【0057】
【表2-1】
【0058】
【表2-2】
【0059】
【表2-3】
【0060】
【表2-4】
【0061】
【表2-5】
【0062】
本開示で説明される方法及びシステムは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装し得る。ブロック、モジュール、又は構成要素として説明される特徴は、一緒に(例えば、集積論理デバイスなどの論理デバイスにおいて)、又は別々に(例えば、別個の接続された論理デバイスとして)実装され得る。本開示の方法のソフトウェア部分は、実行されると、説明された方法を少なくとも部分的に実行する命令を備えるコンピュータ可読媒体を備えることができる。コンピュータ可読媒体は、例えば、ランダム・アクセス・メモリ(RAM)及び/又はリード・オンリー・メモリ(ROM)を含んでもよい。命令は、プロセッサ(例えば、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、グラフィック処理ユニット(GPU)、又は汎用GPU)によって実行してもよい。
【0063】
本開示の多くの実施形態が記述された。それにもかかわらず、本開示の意図及び範囲から逸脱することなく種々の修正を行うことができると理解されるのであろう。したがって、他の実施形態は、特許請求の範囲の範囲内にある。
【0064】
上記の例は、本開示の実施形態をどのように作成し、使用するかの完全な開示及び説明として当業者に提供され、発明者がそれらの開示とみなすもの範囲を限定することを意図しない。
【0065】
当業者に明らかで本明細書に開示された方法及びシステムを実行するための上述のモードの修正は、以下の特許請求の範囲内であることが意図される。本明細書において言及された全ての特許及び公報は、本開示が関連する当業者の技術のレベルを示している。本開示において引用された全ての参考文献は、各参考文献が個々にその全内容を参照により取り込まれたかのように、同じ程度まで参照により取り込まれる。
【0066】
当然ながら、本開示は特定の方法又はシステムに限定されず、特定の方法又はシステムは変更することができることを理解されたい。また、本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、限定することを意図していないことを理解されたい。本明細書及び添付の特許請求の範囲で使用されるように、単数形「一つの(a)」、「一つの(an)」、及び「前記(The)」は、内容が別段の明確な指示をしない限り、複数の指示対象を含む。用語「複数の(plurality)」は、内容が別段の明確な指示をしない限り、2つ以上の指示対象を含む。他に規定されない限り、本明細書において使用される全ての技術的及び科学的用語は、本開示に関連する当業者により一般的に理解されるものと同じ意味を有している。
図1
図2
図3
図4A
図4B
図5A
図5B
【外国語明細書】