(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-28
(54)【発明の名称】符号化されたビデオビットストリームを復号化する方法、装置及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/12 20140101AFI20221221BHJP
H04N 19/176 20140101ALI20221221BHJP
H04N 19/70 20140101ALI20221221BHJP
H04N 19/186 20140101ALI20221221BHJP
【FI】
H04N19/12
H04N19/176
H04N19/70
H04N19/186
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022526795
(86)(22)【出願日】2020-11-02
(85)【翻訳文提出日】2022-05-10
(86)【国際出願番号】 US2020058537
(87)【国際公開番号】W WO2021225623
(87)【国際公開日】2021-11-11
(32)【優先日】2020-05-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】セフン・ヤ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME11
5C159PP04
5C159PP16
5C159RC12
5C159TA37
5C159TB08
5C159TC04
5C159TC26
5C159UA02
5C159UA05
(57)【要約】
少なくとも1つのプロセッサを使用して、符号化されたビデオビットストリームを復号化する方法であって、符号化されたカラー成分を含む符号化されたビデオビットストリームを取得するステップと、前記符号化されたカラー成分をエントロピー解析するステップと、前記カラー成分を非量子化し、前記カラー成分の変換係数を取得するステップと、前記カラー成分の変換係数にジョイント成分二次変換(JCST)を適用することによってJCST出力を生成するステップと、前記JCST出力に逆変換を実行することによって前記カラー成分の残差成分を求めるステップと、前記カラー成分の残差成分に基づいて、前記符号化されたビデオビットストリームを復号化するステップとを含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを使用して、符号化されたビデオビットストリームを復号化する方法であって、
符号化されたカラー成分を含む符号化されたビデオビットストリームを取得するステップと、
前記符号化されたカラー成分をエントロピー解析するステップと、
前記カラー成分を非量子化し、前記カラー成分の変換係数を取得するステップと、
前記カラー成分の変換係数にジョイント成分二次変換(JCST)を適用することで、JCST出力を生成するステップと、
前記JCST出力に対して逆変換を実行することで、前記カラー成分の残差成分を求めるステップと、
前記カラー成分の残差成分に基づいて、前記符号化されたビデオビットストリームを復号化するステップと、を含む方法。
【請求項2】
前記変換成分は、Cb及びCr変換係数を含む、請求項1に記載の方法。
【請求項3】
前記変換成分は、Y、Cb及びCr変換係数を含む、請求項1に記載の方法。
【請求項4】
前記JCSTは、要素ごとに適用される、請求項1に記載の方法。
【請求項5】
前記カラー成分は、異なる座標に配置された2つ以上のペアの異なるカラー成分を含む、請求項1に記載の方法。
【請求項6】
前記JCSTは、限られた範囲内のブロックサイズに適用される、請求項1に記載の方法。
【請求項7】
前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む、符号化されたビデオシーケンス(CVS)を取得するステップと、
前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得するステップと、
前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得するステップと、
前記JCSTがいつから適用されるかを変換ブロックレベルで信号で通知するJCSTフラグを解析するステップと、を含む、請求項1に記載の方法。
【請求項8】
前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む、符号化されたビデオシーケンス(CVS)を取得するステップと、
前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得するステップと、
前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得するステップと、
前記JCSTがいつから適用されるかをCUまたはCBレベルで信号で通知するJCSTフラグを解析するステップと、を含む、請求項1に記載の方法。
【請求項9】
前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む、符号化されたビデオシーケンス(CVS)を取得するステップと、
前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得するステップと、
前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得するステップと、
前記JCSTがいつから高レベル構文を介して適用されるかを信号で通知するJCSTフラグを解析するステップと、を含む、請求項1に記載の方法。
【請求項10】
前記JCSTは、符号化情報によって決定される第2の変換を含む、請求項1に記載の方法。
【請求項11】
符号化されたビデオビットストリームを復号化するための装置であって、コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスするとともに、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサとを備え、
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、符号化されたカラー成分を含む符号化されたビデオビットストリームを取得させるように構成された第1の取得コードと、
前記少なくとも1つのプロセッサに、符号化されたカラー成分をエントロピー解析させるように構成された第1の解析コードと、
前記少なくとも1つのプロセッサに、前記符号化されたカラー成分を非量子化し、前記カラー成分の変換係数を取得させるように構成された非量子化コードと、
前記少なくとも1つのプロセッサに、前記カラー成分の変換係数にJCSTを適用させることによってJCST出力を生成させるように構成されたジョイント成分二次変換(JCST)適用コードと、
前記少なくとも1つのプロセッサに、前記JCST出力に逆方向変換を適用させることによって前記カラー成分の残差成分を求めるように構成された逆方向変換コードと、
少なくとも1つのプロセッサに、前記カラー成分の残差成分に基づいて、前記符号化されたビデオビットストリームを復号化させるように構成された復号化コードとを含む、装置。
【請求項12】
前記変換成分は、Cb及びCr変換係数を含む、請求項11に記載の装置。
【請求項13】
前記変換成分は、Y、Cb及びCr変換係数を含む、請求項11に記載の装置。
【請求項14】
前記ジョイント成分二次変換(JCST)適用コードは、前記少なくとも1つのプロセッサにJCSTを要素ごとに適用させるように構成された、請求項11に記載の装置。
【請求項15】
前記カラー成分は、異なる座標に配置された2つ以上のペアの異なるカラー成分を含む、請求項11に記載の装置。
【請求項16】
前記ジョイント成分二次変換(JCST)適用コードは、前記少なくとも1つのプロセッサにJCSTを限られた範囲内のブロックサイズに適用させるように構成された、請求項11に記載の方法。
【請求項17】
前記コンピュータプログラムコードは、さらに、
前記少なくとも1つのプロセッサに、前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む符号化されたビデオシーケンス(CVS)を取得させるように構成された第2の取得コードと、
前記少なくとも1つのプロセッサに、前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得させるように構成された第3の取得コードと、
前記少なくとも1つのプロセッサに、前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得させるように構成された第4の取得コードと、
前記少なくとも1つのプロセッサに、前記JCSTがいつから適用されるかを変換ブロックレベルで信号で通知するJCSTフラグを解析させるように構成された第2の解析コードと、を含む、請求項11に記載の装置。
【請求項18】
前記コンピュータプログラムコードは、さらに、
前記少なくとも1つのプロセッサに、前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む符号化されたビデオシーケンス(CVS)を取得させるように構成された第2の取得コードと、
前記少なくとも1つのプロセッサに、前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得させるように構成された第3の取得コードと、
前記少なくとも1つのプロセッサに、前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得させるように構成された第4の取得コードと、
前記少なくとも1つのプロセッサに、前記JCSTがいつから適用されるかをCUまたはCBレベルで信号で通知するJCSTフラグを解析させるように構成された第2の解析コードと、を含む、請求項11に記載の装置。
【請求項19】
前記コンピュータプログラムコードは、さらに、
前記少なくとも1つのプロセッサに、前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む符号化されたビデオシーケンス(CVS)を取得させるように構成された第2の取得コードと、
前記少なくとも1つのプロセッサに、前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得させるように構成された第3の取得コードと、
前記少なくとも1つのプロセッサに、前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得させるように構成された第4の取得コードと、
前記少なくとも1つのプロセッサに、前記JCSTがいつから高レベル構文を介して適用されるかを信号で通知するJCSTフラグを解析させるように構成された第2の解析コードと、を含む、請求項11に記載の装置。
【請求項20】
少なくとも1つのプロセッサに、以下の操作を行わせる命令が格納されている非一時的コンピュータ可読記憶媒体であって、
符号化されたカラー成分を含む符号化されたビデオビットストリームを取得する;
前記符号化されたカラー成分をエントロピー解析する;
前記カラー成分を非量子化し、前記カラー成分の変換係数を取得する;
前記カラー成分の変換係数にジョイント成分二次変換(JCST)を適用することによってJCST出力を生成する;
前記JCST出力に逆変換を実行することによって前記カラー成分の残差成分を求める;
前記カラー成分の残差成分に基づいて、前記符号化されたビデオビットストリームを復号化する。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年5月5日に提出された米仮特許出願第63/020,280号及び2020年10月16日に提出された米特許出願第17/072,606号に対する優先権の利益を主張し、その内容全体が援用により本明細書に組み込まれる。
【0002】
本開示は、一般的にデータ処理の分野、より具体的には、ビデオの符号化および復号化化に関する。さらにより具体的には、本開示の実施形態は、複数のカラー成分からの残差、例えば、2つのクロマ成分からの残差を符号化するためのジョイント成分二次変換(joint components secondary transform,JCST)技術案に関する。
【背景技術】
【0003】
AOMediaビデオ1(AOMedia Video 1,AV1)は、インターネットを介したビデオ伝送用に設計されたオープンビデオコーディング形式である。AV1はVP9の後継として、2015年に設立され、半導体企業、ビデオオンデマンドプロバイダー、ビデオコンテンツプロデューサー、ソフトウェア開発会社及びWebブラウザーベンダーからなるオープンメディアアライアンス(Alliance for Open Media,AOMedia)によって開発された。AV1プロジェクトの多くの構成要素は、AOMediaメンバーによる以前の研究活動から供給された。そして、個人貢献者は、何年も前から実験的なテクノロジープラットフォームを開始した。例えば、Xiph's/MozillaのDaalaは2010年にコードを公開した。 Googleの実験的VP9進化プロジェクトVP10は、2014年9月12日に発表された。CiscoのThorは2015年8月11日に公開された。
【0004】
VP9のコードベースをもとに構築されたAV1には、別の技術が組み込まれており、その幾つかはこれらの実験形式で開発された。AV1リファレンスコーデックの最初のバージョン(0.1.0)は、2016年4月7日にリリースされた。AOMediaは、リファレンスソフトウェアベースのエンコーダーとデコーダーとともに、2018年3月28日にAV1ビットストリーム仕様のリリースを発表した。2018年6月25日に、AV1仕様の検証済みバージョン1.0.0はリリースされた。2019年1月8日にAV1仕様の検証済みバージョン1.0.0は、Errata 1とともにリリースされた。AV1ビットストリーム仕様には、リファレンスビデオコーデックが含まれている。
【発明の概要】
【課題を解決するための手段】
【0005】
AV1では、クロマチャネルに対して生成された予測残差信号、例えばCbとCrは相互に高い相関関係にあるため、CbとCrの予測残差間の統計的冗長性を減らすことで残差の符号化をさらに向上させることが期待できる。
【0006】
本開示の実施形態は、前記課題の解決策を提供する。
【0007】
例えば、少なくとも1つのプロセッサを使用して、符号化されたビデオビットストリームを復号化する方法であって、符号化されたカラー成分を含む符号化されたビデオビットストリームを取得するステップと、符号化されたカラー成分をエントロピー解析するステップと、カラー成分を非量子化し、カラー成分の変換係数を取得するステップと、カラー成分の変換係数にジョイント成分二次変換(JCST)を適用することによってJCST出力を生成するステップと、JCST出力に逆変換を実行することによってカラー成分の残差成分を求めるステップと、カラー成分の残差成分に基づいて、符号化されたビデオビットストリームを復号化するステップとを含む。
【図面の簡単な説明】
【0008】
【
図1】ローカルテンプレートによってカバーされる符号化係数の概略図である。
【
図2】実施形態による通信システムのブロック図である。
【
図3】実施形態による、環境におけるG-PCC(graph-based point cloud compression),G-PCCコンプレッサー及びG-PCCデコンプレッサーの配置方式を示す図である。
【
図4】実施形態によるエンコーダ/デコーダスキームの概略図である。
【
図5】実施形態によるエンコーダ/デコーダスキームの概略図である。
【
図6】実施形態による、2つの4×2サイズのブロックから由来するCb及びCr変換係数の対の概略図である。
【
図7】実施形態による、2つの4×2サイズのCbブロック及びCrブロックに適用されたJCSTの概略図である。
【
図8】実施形態による4点変換を利用するJCSTの概略図である。
【
図9】実施形態による復号化方法を示すフローチャートである。
【
図10】各実施形態を実施するのに適したコンピュータシステムを示す図である。
【発明を実施するための形態】
【0009】
本明細書に記載の実施形態は、画像データを符号化および/または復号化化するための方法および装置を提供する。
【0010】
AV1による残差符号化
【0011】
定められた変換ユニットごとに、AV1係数エンコーダはスキップ記号から始まり、続いて変換カーネルタイプと、変換コーディングがスキップされない場合はすべての非ゼロ係数のブロック終了(end-of-block,EOB)位置を符号化する。次に、各係数値を複数の階層図及び記号にマッピングさせることができる。ここで、記号層は係数の記号及び3つの階層をカバーし、各係数値は係数の異なる階層範囲、即ち下位層、中位層及び上位層に対応する。下位層は0~2の範囲に対応し、中位層は3~14の範囲に対応し、上位層は15以上の範囲に対応する。
【0012】
EOB位置が符号化された後、係数の大きさが0から2の間にあるか否かを示す下位層と、その大きさが3から14の間にあるか否かを示す中位層を逆方向スキャン順で一緒に符号化し、次に、記号層と、大きさが14以上の残差値を示す上位層を順方向スキャン順で一緒に符号化する。残りの部分はExp-Golombコードでエントロピーコード化される。AV1では、従来のジグザグスキャン順序を採用している。
【0013】
このような分離は、下位層への豊富なコンテキストモデルの割り当てを可能にする。その中に、双方向、水平、および垂直などの変換方向、変換サイズ、および適度なコンテキストモデルサイズでの圧縮効率の向上のための最大5つの隣接係数が考慮される。中位層では、下位層と類似するコンテキストモデルが使用され、その中のコンテキスト隣接係数の数が5から2まで減る。上位層では、コンテキストモデルを使用せずにExp-Golombコードを使用して符号化する。記号層では、DC記号を除いた記号は、隣接変換ユニットのDC記号をコンテキスト情報として使用して符号化される。他の記号ビットは、コンテキストモデルを使用せずにそのまま符号化される。
【0014】
汎用ビデオコーティング(Versatile Video Coding,VVC)では、コーディングブロックは最初に4×4サイズのサブブロックに分割され、コーディングブロック内のサブブロックと、サブブロック内の変換係数は、予め定義されたスキャン順序に従って符号化される。少なくとも1つの非ゼロ変換係数を有するサブブロックの場合は、変換係数のコーディングは4つのスキャンパスに分けられる。
【0015】
例えば、absLevelが現在の変換係数の絶対値であると想定される。第1のパスでは、構文要素sig_coeff_flag(absLevelが0より大きいことを示す)、par_level_flag(absLevelのパリティを示す)、およびrem_abs_gt1_flag((absLevel-1)>> 1は0より大きいことを示す)が符号化される; 第2のパスでは、構文要素rem_abs_gt2_flag(absLevelが4より大きいことを示す)が符号化される; 第3のパスでは、係数レベルの残りの値(abs_remainderと呼ばれる)が呼び出される;そして必要に応じて、第4のパスでは、記号情報が符号化される。
【0016】
変換係数間の相関性を利用するために、
図1に示されるローカルテンプレートによってカバーされる符号化済みの係数が、現在の係数のコンテキスト選択に使用される。図中、黒で示される位置(101)は、現在の変換係数の位置を示す。網掛け部分で示される位置(102)は、その5つの隣接係数を示す。ここで、absLevel1[x][y]は、第1のパスの後に位置(x、y)での係数の部分的に再構成された絶対レベルを表し、dは、現在の係数の対角線位置(d=x+y)を表し、numSigはローカルテンプレートにおける非ゼロ係数の数を表し、sumAbs1はローカルテンプレートによってカバーされる係数の部分的に再構成された絶対レベルabsLevel1[x][y]の合計を表す。
【0017】
現在の係数であるsig_coeff_flagを符号化する場合、コンテキストモデルインデックスは、sumAbs1と対角位置dに応じて選択される。より具体的には、Luma成分の場合、コンテキストモデルインデックスは下記式1:ctxSig=18*max(0,state-1)+ min(sumAbs1,5+(d<2?12:(d<5?6:0))に従って決定される。これは、次の式2および式3と同等である。式2:ctxIdBase=18*max(0,state-1+(d<2?12:(d<5?6:0))。式3:ctxSig=ctxIdSigTable[min(sumAbs1,5)]+ctxIdBase。
【0018】
Chromaの場合、コンテキストモデルインデックスは下記式4:ctxSig=12*max(0,state-1+ min(sumAbs1,5+(d<2?6:0)に従って決定される。これは次の式5および式6と同等である。式5:ctxIdBase=12*max(0,state-1+(d<2?6:0)。式6:ctxSig=ctxIdSigTable[min(sumAbs1,5)]+ctxIdBase。
【0019】
ここで、依存量子化が利用され、状態が状態変換プロセスを使用して導出される場合、スカラー量子化器が使用される。テーブルctxIdSigTableには、コンテキストモデルインデックスオフセット、ctxIdSigTable[0~5] = {0, 1, 2, 3, 4, 5}が格納されている。
【0020】
現在の係数であるpar_level_flagを符号化する場合に、コンテキストモデルインデックスは、sumAbs1、numSigおよび対角位置dに応じて選択される。より具体的には、Luma成分に対して、コンテキストモデルインデックスは下記式7:ctxPar=1+min(sumAbs1-numSig, 4)+(d==0?15: (d<3?10:(d<10?5:0)))に従って決定される。これは、次の式8および式9と同等である。式8: ctxIdBase=(d==0?15:(d<3?10:(d<10?5:0)))。式9:ctxPar=1+ctxIdTable[min(sumAbs1-numSig,4]+ctxIdBase。クロマの場合、コンテキストモデルインデックスは下記式10:ctxPar=1+min(sumAbs1-numSig,4)+(d==0?5:0)に従って決定される。これは次の式11および式12と同等である。式11:ctxIdBase =(d==0?5:0)。式12:ctxPar=1+ctxIdTable[min(sumAbs1-numSig,4)]+ctxIdBase。
【0021】
ここで、テーブルctxIdTableには、コンテキストモデルインデックスオフセット、ctxIdTable[0~4]={0,1,2,3,4}が格納されている。現在の係数であるrem_abs_gt1_flagおよびrem_abs_gt2_flagを符号化する場合、コンテキストモデルインデックスはpar_level_flagの場合と同じ方法で決定される。ctxGt1=ctxParおよびctxGt2=ctxPar(式13)。
【0022】
rem_abs_gt1_flagとrem_abs_gt2_flagには異なるコンテキストモデルセットが使用される。したがって、ctxGt1がctxGt2と等しい場合でも、rem_abs_gt1_flagに使用されるコンテキストモデルは、rem_abs_gt2_flagのコンテキストモデルと異なる。
【0023】
変換スキップモード(Transform Skip Mode,TSM)および差分パルス符号化変調(Differential Pulse-Code Modulation,DPCM)のための残差符号化
【0024】
残差符号化を、量子化された予測残差(空間ドメイン)を表す変換スキップおよびブロック差分パルス符号化変調(Block Differential Pulse-Code Modulation,BDPCM)の残差レベルの統計および信号特徴に適合させるために、以上のAV1の残差符号化部分に記載された残差符号化スキームに加えて、次の残差符号化プロセスを変更することが提案され、TSMおよびBDPCMモードに適用される。
【0025】
以下で、3つの符号化パスについて説明する。第1の符号化パスでは、最初にsig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flagを1つのパスで符号化する。第2の符号化パスでは、abs_level_gtX_flagを符号化する。ここで、Xは3、5、7、……であり得る。第3のパスでは、残りの係数レベルを符号化する。符号化パスが係数グループ(Coefficient Group,CG)レベルで操作され、即ち各CGごとに、3つの符号化パスが実行される。
【0026】
有効なスキャン位置はない。残余信号は予測後の空間残差を反映し、かつTSを対象に変換によるエネルギー圧縮は実行されないため、変換ブロックの右下隅に末尾ゼロまたは無意義なレベルが発生する高い確率が示されていない。したがって、この場合に、最後の有効なスキャン位置シグナリングは省略される。代わりに、処理対象となる第1のサブブロックは、変換ブロック内の右下隅にあるサブブロックである。
【0027】
次に、サブブロック符号化ブロックフラグ(Coding Block Flag,CBF)について説明する。最後の有効なスキャン位置シグナリングがない場合は、TSのcoded_sub_block_flag付きのサブブロックCBFシグナリングを次のように変更する必要がある。
【0028】
量子化により、前述の無意義なシーケンスが変換ブロック内に部分的に発生する可能性がある。したがって、最後の有効なスキャン位置が前述のように削除され、すべてのサブブロックに対してcoded_sub_block_flagが符号化される。
【0029】
DC周波数位置をカバーするサブブロック(左上のサブブロック)のcoded_sub_block_flagは、特殊なケースとされている。VVCドラフト3では、このサブブロックのcoded_sub_block_flagは信号で通知されず、1に等しいものと推測される。最後の有効なスキャン位置が別のサブブロックにある場合、DCサブブロック以外に少なくとも1つの有効なレベルが存在している。したがって、このサブブロックのcoded_sub_block_flagは1に等しいものと推測されるが、DCサブブロックにはゼロ/有効でないレベルしか含まれない場合がある。 TSには、最後のスキャン位置情報がないから、各サブブロックのcoded_sub_block_flagが信号で通知される。これには、他のすべてのcoded_sub_block_flag構文要素がすでに0に等しい場合を除き、DCサブブロックのcoded_sub_block_flagも含まれている。この場合には、DC coded_sub_block_flagは1に等しいものと推測される(inferDcSbCbf=1)。このDCサブブロックには少なくとも1つの有効なレベルがあるため、(0,0)での第1の位置にあるsig_coeff_flag構文要素は信号で通知されず、かつ当該DCサブブロック内の他のすべてのsig_coeff_flag構文要素が0に等しい場合、1に等しくなる(inferSbDcSigCoeffFlag=1)と導出される。
【0030】
coded_sub_block_flagのコンテキストモデリングは変更できる。コンテキストモデルインデックスは、右側のcoded_sub_block_flagと、現在のサブブロックの下側のcoded_sub_block_flagの合計として計算できるが、両方の論理和ではない。
【0031】
以下で、sig_coeff_flagコンテキストモデリングについて説明する。sig_coeff_flagコンテキストモデリング内のローカルテンプレートは、現在のスキャン位置の右側のネイバー(NB0)とその下側のネイバー(NB1)のみを含むように変更できる。コンテキストモデルのオフセットは、有効な隣接位置の数sig_coeff_flag[NB0]+sig_coeff_flag[NB1]を表す。したがって、異なるコンテキストの選択は、現在の変換ブロック内の対角線dに応じて設定される(dは削除される)。これにより、sig_coeff_flagフラグをコーディングするための3つのコンテキストモデルと単一のコンテキストモデルセットが作成される。
【0032】
以下で、abs_level_gt1_flagおよびpar_level_flagコンテキストモデリングについて説明する。abs_level_gt1_flagおよびpar_level_flagには、単一のコンテキストモデルが採用されている。
【0033】
以下で、abs_remainderコーディングについて説明する。変換スキップの残差絶対レベルの経験分布は、通常、ラプラシアン分布または幾何分布に適合するが、変換係数の絶対レベルよりも大きな不安定性が存在する場合がある。特に、残差絶対レベルに対して、連続実現のウィンドウ内の分散が高い。これにより、abs_remainder構文の2値化とコンテキストモデリングを次のように変更できる。
【0034】
二値化でより高いカットオフ値を使用する。つまり、sig_coeff_flag、abs_level_gt1_flag、par_level_flag、およびabs_level_gt3_flagを使用したコーディングからabs_remainderのライスコード(Rice code)への遷移点、および各ビン(bin)位置の専用コンテキストモデルを使用すると、圧縮効率が高くなる。カットオフを大きくすると、カットオフに達するまで、abs_level_gt5_flag、abs_level_gt7_flagなどを導入するなど、より多くの「Xより大きい」フラグが生成される。カットオフ自体は5に固定される(numGtFlags=5)。
【0035】
sig_coeff_flagモデリングコンテキストのローカルテンプレートと同様に、ライスパラメータ(rice parameter)導出のテンプレートを変更できる。つまり、現在のスキャン位置の左側にあるネイバーおよび下側にあるネイバーのみが考慮される。
【0036】
以下で、coeff_sign_flagコンテキストモデリングについて説明する。符号シーケンス内部の不安定性と、予測残差がバイアスされることが多いという事実により、グローバルな経験分布がほぼ均一に分布している場合でも、コンテキストモデルを使用して記号を符号化できる。記号の符号化には単一の専用コンテキストモデルを使用でき、かつsig_coeff_flagの後に記号を解析してコンテキストで符号化されたすべてのバイナリ数をまとめることができる。
【0037】
以下で、コンテキスト符号化されたバイナリ数の制限について説明する。各変換ユニット(Transform Unit,TU)ごとにコンテキスト符号化されたバイナリ数の総数は、TU領域サイズに2を掛けたものに制限される。例えば、16×8TUに対してコンテキスト符号化されたバイナリ数の最大数は16×8×2=256である。コンテキスト符号化されたバイナリ数のバジェットは、TUレベルで消費される。つまり、CGごとのコンテキスト符号化されたバイナリ数の個々のバジェットではなく、現在のTU内のすべてのCGは、コンテキスト符号化されたバイナリ数の1つのバジェットを共有する。
【0038】
クロマ残差のジョイント符号化
【0039】
VVCドラフト6は、クロマ残差をジョイント符号化するモードをサポートする。ジョイントクロマ符号化モードの使用(アクティブ化)は、TUレベルフラグtu_joint_cbcr_residual_flagによって示され、かつ選択されたモードは、クロマCBFによって暗黙的に示される。TUのクロマCBFのいずれかまたは両方が1に等しい場合に、フラグtu_joint_cbcr_residual_flagは存在すると考えられる。PPSおよびスライスヘッダでは、通常のクロマ残差符号化モードに対して信号で通知されるクロマQPオフセット値と区別されるように、ジョイントクロマ残差符号化モードに対して、クロマ量子化パラメータ(quantization parameter,QP)オフセット値が信号で通知される。これらのクロマQPオフセット値は、ジョイントクロマ残差符号化モードによって符号化されたブロックのクロマQP値を導出するために使用される。相応するジョイントクロマ符号化モード(表1のモード2)がTUにおいてアクティブな場合、そのTUの量子化および復号化期間中に、適用される輝度にクロマQPオフセットが追加されてクロマQPが得られる。他のモード(表1のモード1および3)の場合、クロマQPは、従来のCbまたはCrブロックの場合と同じ方法で導出される。送信された変換ブロックからのクロマ残差(resCbおよびresCr)の再構成プロセスを表1に示す。このモードがアクティブになると、1つの単一ジョイントクロマ残差ブロック(resJointC [x] [y]表1)に信号が送られ、Cbの残差ブロック(resCb)とCrの残差ブロック(resCr)は、tu_cbf_cb、tu_cbf_cr、CSign(スライスヘッダで指定された符号値)などの情報を考慮して導出される。
【0040】
上記の3つのジョイントクロマ符号化モードは、イントラコーディングされた符号化ユニット(Coding Unit,CU)でのみサポートされる。インターコーディングされたCUでは、モード2のみがサポートされる。従って、インターコーディングされたCUの場合、構文要素tu_joint_cbcr_residual_flagは、両方のクロマcbfsがともに1に等しい場合のみに存在する。
【0041】
【0042】
ここで、値CSignは、スライスヘッダで指定された記号値(+1または-1)であり、resJointC[][]は送信された残差である。
【0043】
ここで
図2を参照すると、
図2は実施形態による通信システム200のブロック図である。通信システム200は、ネットワーク250を介して相互接続された少なくとも2つの端末210および220を含み得る。データを一方向に送信する場合、第1の端末210は、ネットワーク250を介して第2の端末220に送信するためにデータをローカルロケーションで符号化することができる。第2の端末220は、ネットワーク250から第1の端末210の符号化されたデータを受信し、符号化データを復号し、復号されたデータを表示することができる。データの一方向送信は、メディアサービングアプリケーションなどで一般的であり得る。
【0044】
図2は、さらに、例えば、ビデオ会議中に発生する可能性がある符号化されたデータの双方向送信をサポートするために提供される端末230および240を示している。データの双方向送信の場合、各端末230または240は、ローカルロケーションで捕捉されたデータを符号化して、ネットワーク250を介して他の端末に送信することができる。各端末230または240はまた、他の端末によって送信された符号化されたデータを受信し、符号化されたデータを復号し、復号されたデータをローカル表示装置に表示することができる。
【0045】
図2では、端末210~240は、サーバー、パーソナルコンピュータおよびスマートフォンとして示され得るが、実施形態の原理は、これだけに限定されない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤーおよび/または専用ビデオ会議デバイスに適している。ネットワーク250は、例えば、有線および/または無線通信ネットワークを含む、端末210~240の間で符号化されたデータを送信する任意の数のネットワークを表す。通信ネットワーク250は、回路交換および/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークとしては、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが挙げられる。本議論の目的のために、ネットワーク250のアーキテクチャおよびトポロジーは、本明細書で以下に説明しない限り、実施形態の動作にとって重要でない場合がある。
【0046】
図3は、実施形態による、環境におけるG-PCCコンプレッサ303およびG-PCCデコンプレッサ310の配置方式を示す図である。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどのデジタルメディアへの圧縮データの保存など、他の搭載可能なアプリケーションに同等に適用可能である。
【0047】
ストリーミングシステム300は、ソース310、例えば、デジタルカメラを含むことができ、例えば非圧縮データ302を作成することができるキャプチャサブシステム313を含み得る。データ量がより多いデータ302は、ソース301に結合されたG-PCCコンプレッサ303によって処理され得る。以下でより詳細に説明する開示された主題の態様を実現または実施することができるように、G-PCCコンプレッサ303は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得る。後続の使用のために、データ量がより少ない符号化されたデータ304をストリーミングサーバ305に格納することができる。1つまたは複数のストリーミングクライアント306および308は、ストリーミングサーバ305にアクセスして、符号化されたデータ304のコピー307および309を検索することができる。クライアント端末306は、符号化されたデータの着信コピー307を復号し、ディスプレイ312または他の表示デバイス(図示されず)で表示できる発信データ311を作成するG-PCCデコンプレッサ310を含み得る。幾つかのストリーミングシステムでは、符号化されたデータ304、307および309を、ビデオコーディング/圧縮規格に従って符号化することができる。これらの規格の例には、G-PCCを対象にMPEGによって開発されたそれらの規格が含まれている。
【0048】
本開示の実施形態は、複数のカラー成分の変換係数に二次変換を共同で適用することができる。ここで提案されるジョイント変換スキームは、ジョイント成分の二次変換(JCST)と呼ばれることができる。
図4では、2つのカラー成分にJCSTを適用するエンコーダスキームが示される。ここで、JCSTは、順方向変換の後、量子化の前に実行される。
【0049】
本開示の実施形態は、
図5に示されるように、逆量子化変換の後、逆方向(逆)変換の前にJCSTを実行することができる。
【0050】
図9を参照すると、LRRXが第1のブロック901にある。方法900は、符号化されたカラー成分を含む符号化されたビデオビットストリームを取得するステップを含む。
【0051】
第2のブロック902において、方法900は、符号化されたカラー成分をエントロピー解析するステップを含む。
【0052】
第3のブロック903において、方法900は、カラー成分を非量子化し、カラー成分の変換係数を取得するステップを含む。
【0053】
第4のブロック904において、方法900は、カラー成分の変換係数にジョイント成分二次変換(JCST)を適用することによってJCST出力を生成するステップを含む。
【0054】
実施形態によれば、第5のブロック905が提供され得る。第5のブロック905において、方法900は、JCST出力に逆方向変換を実行することによって前記カラー成分の残差成分を求めるステップを含んでもよい。
【0055】
実施形態によれば、第6のブロック906が提供され得る。第6のブロック906において、方法900は、カラー成分の残差成分に基づいて、符号化されたビデオビットストリームを復号化するステップを含んでもよい。
【0056】
実施形態によれば、この方法は、符号化方法として逆実行され得る。実際には、本明細書は、特定の符号化または復号化方案に言及し得るが、これらの説明は、特定の符号化または復号化方案に限定されるものではない。つまり、符号化方案と復号化方案の両方に同様に適用可能である。
【0057】
一実施形態では、JCSTの入力は、CbおよびCr変換係数であり得る。
【0058】
別の実施形態では、JCSTの入力は、Y、Cb、及びCr変換係数であり得る。
【0059】
一実施形態では、同じ座標に位置するCbおよびCr変換係数の各対に対してJCSTが実行されるように、JCSTは要素ごとに実行され得る。
図6は、2つの4×2サイズのブロックに由来するCbおよびCr変換係数の対を例示している。
【0060】
一実施形態では、JCSTは2点変換であり得るし、入力は、同じ座標に位置するCbおよびCr変換係数の対であり得る。
【0061】
一実施形態では、JCSTは2点変換であり得るし、出力は、CbおよびCr変換係数の対を置き換える一対の二次変換係数であり得る。
【0062】
一実施形態では、CbおよびCr変換係数の出力対は、JCSTの入力として使用されるCbおよびCr変換係数対と同じ位置に配置され得る。
図7は、2つの4×2サイズのCbおよびCrブロックに適用されるJCSTを例示している。さらに別の2つの4×2サイズのCbおよびCrブロックを構築するJCSTの出力は、エンコーダ/デコーダでさらに量子化/非量子化され、エントロピー符号化/解析される。
【0063】
一実施形態では、JCSTの出力は、入力よりも少なくてもよい。例えば、入力は、1対のCbおよびCr係数であり得る一方、出力は、ただ1つの二次変換係数のみであり得る。
【0064】
一実施形態では、JCSTに適用される変換は、Hadamard変換、離散コサイン/正弦変換およびKLTやLGT(ライングラフ変換)などのデータ駆動型変換を含み得るが、必ずしもこれらに限定されるものではない。
【0065】
一実施形態では、JCSTの入力は、異なる座標に位置する1対以上(例えば3対)の異なるカラー成分から由来することができる。
【0066】
一実施形態では、JCSTは4点変換であり得るし、入力は、同じ座標に位置する2対のCb及びCr変換係数であり得る。例示は
図8に示されている。
【0067】
一実施形態では、出力は、1対以上のCb及びCr変換係数を置き換える1対以上の二次変換係数であり得る。
【0068】
一実施形態では、JCSTの出力は、入力よりも少なくてもよい。例えば、入力は、1対以上のCb及びCr係数であり得る一方、出力は、ただ2つの二次変換係数のみであり得る。
【0069】
一実施形態では、JCSTに適用される変換は、Hadamard変換、離散コサイン/正弦変換およびKLTやLGT(ライングラフ変換)などのデータ駆動型変換を含み得るが、必ずしもこれらに限定されるものではない。
【0070】
一実施形態では、JCSTは、限りのある範囲内のブロックサイズに適用され得る。
【0071】
一例では、JCSTは、所定の閾値以下のブロックサイズに適用され得る。ここでブロックサイズは、ブロック幅、ブロック高さ、ブロック領域サイズ、ブロック幅および高さ、およびブロック幅と高さの最大値(または最小値)を指すことができる。
【0072】
一例では、JCSTは、所定の閾値以上のブロックサイズに適用され得る。ここでブロックサイズは、ブロック幅、ブロック高さ、ブロック領域サイズ、ブロック幅および高さ、およびブロック幅と高さの最大値(または最小値)を指すことができる。
【0073】
一実施形態では、JCSTが適用されるかどうかは、変換ブロックレベルでJCSTフラグによって通知され得る。
【0074】
一実施形態では、JCSTフラグは、変換係数の後に信号で通知され得る。
【0075】
一実施形態では、JCSTフラグは、JCSTを適用している少なくとも1つのカラー成分が少なくとも1つの非ゼロ係数を有する場合にのみ信号で通知され得る。
【0076】
一実施形態では、JCSTフラグは、JCSTを適用している各カラー成分が少なくとも1つの非ゼロ係数を有する場合にのみ通知される。
【0077】
一実施形態では、JCSTフラグは、JCSTを適用しているカラー成分の非ゼロ係数の総数が所定の閾値、例えば、0、1、2、3または4よりも大きい場合のみ信号で通知される。
【0078】
一実施形態では、JCSTフラグは、JCSTを適用しているカラー成分の最後の非ゼロ係数が、走査順序に沿って所定の閾値、例えば、0、1、2、3または4よりも大きい箇所に位置する場合にのみ通知される。
【0079】
一実施形態では、JCSTが適用されるかどうかは、CUレベル(またはCBレベル)でのJCSTフラグによって通知される。
【0080】
一実施形態では、JCSTを適用できるかどうかは、高レベル構文を介して信号で通知される。高レベル構文は、ビデオパラメータセット(Video Parameter Set,VPS)、シーケンスパラメータ設定(Sequence Parameter Setting,SPS)、画像パラメータセット(Picture Parameter Set,PPS)、スライスヘッダ、画像ヘッダ、タイル、タイルグループ、またはコーディングツリーユニット(Coding Tree Unit,CTU)レベルを含むが、これらに限定されるものではない。
【0081】
一実施形態では、JCSTが適用される場合、一次変換は所定の変換タイプである。
【0082】
一例では、所定の変換タイプはDCT-2である。別の一例では、所定の変換タイプはDST-7である。
【0083】
一実施形態では、JCSTに適用される変換への選択は、符号化情報に決定される。ここで符号化情報は、一次変換タイプ、イントラ予測方向/角度などのイントラ予測モード、、インター予測モード、イントラブロックコピー(Intra Block Copy,IntraBC)が適用されているかどうか、パレットモードが適用されているかどうか、DPCMモードが適用されているかどうか、モーションベクトル情報(方向、大きさ)、サブブロックモーションが適用されているかどうか、ワープモーション(アフィンモーション)が適用されているかどうかを含むが、これらに限定されるものではない。
【0084】
一実施形態では、JCSTが適用されるかどうかを示すフラグのエントロピー符号化に使用されるコンテキストは、隣接するブロックからの隣接ブロック情報に依存する。ここで隣接ブロック情報は、上記列挙された情報を含むがこれらに限定されない。
【0085】
上記の技術は、圧縮/解凍に適合したビデオエンコーダーおよび/またはデコーダーによって実現され得る。エンコーダーおよび/またはデコーダーは、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせで実現され、かつソフトウェアがある場合は、1つまたは複数の非一時的なコンピュータ可読媒体に格納されてもよい。例えば、方法(または実施形態)、エンコーダ、およびデコーダのそれぞれは、処理回路システム(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得る。一例では、1つまたは複数のプロセッサは、非一時的なコンピュータ可読媒体に格納されているプログラムを実行する。
【0086】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実現され、1つまたは複数のコンピュータ可読媒体に物理的に格納され得る。例えば、
図10は、本開示の幾つかの実施形態を実施するのに適したコンピュータシステム900を示す。
【0087】
コンピュータソフトウェアは、任意の適切な機械コードまたはコンピュータ言語を使用してコード化することができ、任意の適切な機械コードまたはコンピュータ言語に対して、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接に実行され、または解釈、マイクロコード実行などを介して実行され得る命令を含むコードを作成するためのアセンブリ、コンパイル、リンクなどのメカニズムを行うことができる。
【0088】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置などを含む、様々なタイプのコンピュータまたはその部品で実行され得る。
【0089】
図10に示されるコンピュータシステム900のための部品は例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲または機能範囲を制限することを意図されるものではない。部品の配置は、コンピュータシステム900の非限定的な実施形態に示される部品のいずれか1つまたは部品の組み合わせに関連する依存性または要件を有するものとして解釈されるべきでもない。
【0090】
コンピュータシステム900は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、1人または複数の人間ユーザーが触覚入力(例えば、キーストローク、スワイプ、データグローブの動きなど)、音声入力(例えば音声、拍手など)、視覚入力(例えばジェスチャーなど)、嗅覚入力(図示せず)を通じた入力に応答し得る。ヒューマンインターフェイスデバイスを使用して、人間による意識的な入力に必ずしも直接関連するとは限らない幾つかのメディア、例えばオーディオ(音声、音楽、周囲の音など)、画像(スキャン画像、静止画像カメラから撮像した写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)を捕捉することもできる。
【0091】
入力用ヒューマンインターフェースデバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイク906、スキャナ907、カメラ908のうちの1つまたは複数(各アイテムに1つしか描かれていない)を含み得る。
【0092】
コンピュータシステム900はまた、特定のヒューマンインターフェース出力デバイスを含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味を通して、1人または複数の人間ユーザーの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ、またはジョイスティック905による触覚フィードバックがあり得るが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)を含み得る。例えば、このようなデバイスは、音声出力デバイス(スピーカー909、ヘッドホン(図示せず)など)、視覚出力デバイス(カソードレイチューブ(cathode ray tube,CRT)スクリーン、液晶ディスプレイ(liquid crystal display,LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(organic light-emitting diode,OLED)スクリーンを含むスクリーン910など、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、その一部はステレオグラフィック出力の方式によって2次元視覚出力または3次元以上出力を出力できる場合がある)、仮想現実ガラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)を含む)、およびプリンタ(図示せず)であり得る。
【0093】
コンピュータシステム900はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体、例えば、CD/DVD などの媒体921を有するROM/RW 920を含む光学媒体、サムドライブ922、リムーバブルハードドライブまたはソリッドステートドライブ923、例えばテープやフロッピーディスク(図示せず)などのレガシー磁気メディア、セキュリティドングル(図示せず)などの専用なROM/ASIC/PLDベースのデバイスなどを含むことができる。
【0094】
また、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことは、当業者に理解されるべきであろう。
【0095】
コンピュータシステム900はまた、1つまたは複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークは、さらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネットなどのローカルエリアネットワーク、ワイヤレスLAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、地上波放送テレビを含むテレビ有線またはワイヤレス広域デジタルネットワーク、CANBusなどを含む車両および産業用などが含まれる。特定のネットワークは、通常、特定の汎用データポートまたは周辺バス949(たとえば、コンピュータシステム900のUSBポートなど)に接続された外部ネットワークインターフェイスアダプタを必要とする。他のネットワークは、一般に、以下に説明するシステムバス(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはのセルラーネットワークインターフェース)に接続することによってコンピュータシステム900のコアに統合される。これらのネットワークのいずれかを使用すると、コンピュータシステム900は、他のエンティティと通信することができる。このような通信は、単方向受信のみ(例えば、放送テレビ)、単方向送信のみ(例えば、特定のCANbusデバイスのCANbusへ)、または双方向(例えば、ローカルまたはワイドエリアデジタルネットワークを使用して他のコンピュータシステムへ)であってもよい。このような通信には、クラウドコンピューティング環境955への通信が含まれる。特定のプロトコル及びプロトコルスタックは、上記のようなネットワークまたはネットワークインターフェイスのそれぞれに使用され得る。
【0096】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインターフェース954は、コンピュータシステム900のコア940に接続することができる。
【0097】
コア940は、1つまたは複数の中央処理装置(CPU)941、グラフィックス処理装置(GPU)942、フィールドプログラマブルゲートエリア(FPGA)943の形式の専用なプログラム処理装置、特定のタスク用のハードウェアアクセラレータ944などを含み得る。これらのデバイスは、読み取り専用メモリ(ROM)945、ランダムアクセスメモリ946、ユーザーがアクセスできない内部ハードドライブ、SSDなどの内部大容量ストレージ947とともに、システムバス948を介して接続され得る。一部のコンピュータシステムでは、システムバス948に1つまたは複数の物理プラグの形でアクセスして、付設のCPU、GPUなどによる拡張可能である。周辺機器は、直接的に、または周辺バス949を介してコアのシステムバス948に接続できる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。グラフィックアダプタ950コア940に含めることができる。
【0098】
CPU 941、GPU 942、FPGA 943、およびアクセラレータ944は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。このコンピュータコードは、ROM945またはRAM946に格納され得る。遷移データはRAM 946にも格納され得る。また永久データは、例えば内部大容量記憶装置947に格納され得る。1つまたは複数のCPU941、GPU 942、大容量ストレージ947、ROM 945、RAM946などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速記憶および検索を可能にすることができる。
【0099】
コンピュータ可読媒体は、様々なコンピュータによる操作を実行するためのコンピュータコードを有する場合がある。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたもの、またはコンピュータソフトウェア分野の業者に周知されかつ利用されることが可能な種類のものであり得る。
【0100】
一例として、限定ではなく、アーキテクチャを有するコンピュータシステム900、特にコア940は、1つまたは複数の有形のコンピュータ可読媒体に具体化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したように、ユーザがアクセス可能な大容量記憶装置、ならびにコア940などの非一時的な性質を有する特定の記憶装置、例えばコア内部の大容量記憶装置947やROM945などに関連する媒体であり得る。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに格納され、コア940によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数の記憶装置またはチップを含み得る。ソフトウェアは、コア940、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書に記載の特定の処理または特定の処理の特定の部分を実行させることができるが、RAM 946に格納されたデータ構造への限定、およびソフトウェアによって限定された処理に従ってこれらのデータ構造への変更を含む。さらに、または代替として、コンピュータシステムは、配線されたロジックまたは回路(例えば、アクセラレータ944)に組み込まれたロジックの結果として機能を提供でき、のロジックは、ソフトウェアの代わりに、またはソフトウェアと一緒に動作して、本明細書に記載の特定の処理または特定の処理の特定の部分を実行することができる。必要に応じて、係るソフトウェーアはロジックを包含する場合があり、逆に、係るロジックはソフトウェーアを包含する場合もある。必要に応じて、係るコンピュータ可読媒体は、実行用のソフトウェアを格納する回路(集積回路(IC)など)、実行用のロジックを具体化する回路、またはその両方を包含する場合がある。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【0101】
本開示は、いくつかの非限定的な実施形態について説明しているが、本開示の範囲内に該当する変更、置換、および様々な代替同等物が存在している。したがって、本明細書に明示的に示されていないかまたは記載されていないが、当業者は開示の原理を具体化し、したがってその精神および範囲内にある多くのシステムおよび方法を考案することができることは理解されるべきであろう。
【0102】
ALF:アダプティブループフィルタ
APS:適応パラメータセット
AV1:AOMediaビデオ1
AV2:AOMediaビデオ2
CB:符号化ブロック
CC-ALF:クロスコンポーネントアダプティブループフィルタ
CDEF:制約付き指向性エンハンスメントフィルタ
CU:符号化ユニット、
CTU:コーディングツリーユニット
DPCM:差分パルス符号化変調
DPS:復号パラメータセット
HDR:高ダイナミックレンジ
HEVC:高効率ビデオ符号化
ISP:イントラサブパーティション
JCCT:ジョイントクロマコンポーネント変換
JVET:ジョイントビデオ探索チーム
LR:ループ復元フィルタ
PDPC:位置依存予測組み合わせ
PPS:画像パラメータセット
PU:予測ユニット
SDR:標準ダイナミックレンジ
SPS:シーケンスパラメータ設定
TSM:変換スキップモード
TU:変換ユニット
VVC:汎用ビデオ符号化
WAIP:広角イントラ予測
VPS:ビデオパラメータセット
【符号の説明】
【0103】
944 加速器
948 システムバス
950 グラフィックアダプタ
954 ネットワークインターフェース
【手続補正書】
【提出日】2022-05-10
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを使用して、符号化されたビデオビットストリームを復号化する方法であって、
符号化されたカラー成分を含む
、符号化されたビデオビットストリームを取得するステップと、
前記符号化されたカラー成分をエントロピー解析するステップと、
前記カラー成分を非量子化し、前記カラー成分の変換係数を取得するステップと、
前記カラー成分の変換係数にジョイント成分二次変換(JCST)を適用することで、JCST出力を生成するステップと、
前記JCST出力に対して逆変換を実行することで、前記カラー成分の残差成分を求めるステップと、
前記カラー成分の残差成分に基づいて、前記符号化されたビデオビットストリームを復号化するステップと、を含む方法。
【請求項2】
前記変換成分は、Cb及びCr変換係数を含む、請求項1に記載の方法。
【請求項3】
前記変換成分は、Y、Cb及びCr変換係数を含む、請求項1に記載の方法。
【請求項4】
前記JCSTは、要素ごとに適用される、請求項1
~3の何れか1項に記載の方法。
【請求項5】
前記カラー成分は、異なる座標に配置された2つ以上のペアの異なるカラー成分を含む、請求項1
~3の何れか1項に記載の方法。
【請求項6】
前記JCSTは、限られた範囲内のブロックサイズに適用される、請求項1
~3の何れか1項に記載の方法。
【請求項7】
前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む、符号化されたビデオシーケンス(CVS)を取得するステップと、
前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得するステップと、
前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得するステップと、
前記JCSTがいつから適用されるかを変換ブロックレベルで信号で通知するJCSTフラグを解析するステップと、を含む、請求項1
~3の何れか1項に記載の方法。
【請求項8】
前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む、符号化されたビデオシーケンス(CVS)を取得するステップと、
前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得するステップと、
前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得するステップと、
前記JCSTがいつから適用されるかをCUまたはCBレベルで信号で通知するJCSTフラグを解析するステップと、を含む、請求項1
~3の何れか1項に記載の方法。
【請求項9】
前記符号化されたビデオビットストリームから、符号化された画像に対応する画像ユニットを含む、符号化されたビデオシーケンス(CVS)を取得するステップと、
前記画像ユニットに含まれる画像ヘッダ(PH)ネットワーク抽象化レイヤ(NAL)ユニットを取得するステップと、
前記画像ユニットに含まれる少なくとも1つのビデオコーディング層(VCL)NALユニットを取得するステップと、
前記JCSTがいつから高レベル構文を介して適用されるかを信号で通知するJCSTフラグを解析するステップと、を含む、請求項1
~3のいずれか1項に記載の方法。
【請求項10】
前記JCSTは、符号化情報によって決定される第2の変換を含む、請求項1
~3のいずれか1項に記載の方法。
【請求項11】
符号化されたビデオビットストリームを復号化するための装置であって、
請求項1~10のいずれか1項に記載された、符号化されたビデオビットストリームを復号化する方法を実行する装置。
【請求項12】
非一時的コンピュータ可読記憶媒体
に記憶されたコンピュータプログラムであって、
少なくとも1つのプロセッサに実行されると、請求項1~10のいずれか1項に記載された、符号化されたビデオビットストリームを復号化する方法を実現する、コンピュータプログラム。
【国際調査報告】