(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】4:4:4彩度フォーマットにおける映像符号化の方法、電子装置、非一時的なコンピュータ可読記憶媒体及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/70 20140101AFI20221213BHJP
H04N 19/85 20140101ALI20221213BHJP
【FI】
H04N19/70
H04N19/85
(21)【出願番号】P 2022521749
(86)(22)【出願日】2020-10-12
(86)【国際出願番号】 US2020055264
(87)【国際公開番号】W WO2021072379
(87)【国際公開日】2021-04-15
【審査請求日】2022-06-10
(32)【優先日】2019-10-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-18
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】521289098
【氏名又は名称】ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 101D1-7,1st Floor,Building 1,No.6,Shangdi West Road,Haidian District,Beijing 100085,P.R.China
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】シュウ,シャオユウ
(72)【発明者】
【氏名】チェン,イー-ウェン
(72)【発明者】
【氏名】マ,ツン-チュアン
(72)【発明者】
【氏名】ジュ,ホン-ジェン
(72)【発明者】
【氏名】ワン,シャンリン
(72)【発明者】
【氏名】ユ,ビン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2021/061794(WO,A1)
【文献】Xiaoyu Xiu et al.,Support of adaptive color transform for 444 video coding in VVC,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0517,16th Meeting: Geneva, CH,2019年09月,pp.1-4
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001 (version 14),15th Meeting: Gothenburg, SE,2019年07月,pp.50-54,120-129
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像データをデコードする方法であって、
ビットストリームから、スライスに関連付けられた1つのスライスヘッダ内の第1のシンタックス要素を受信し、当該第1のシンタックス要素が、彩度スケーリングを用いる輝度マッピング(LMCS)がスライスにおける符号化ユニットに適用されるか否かを指示することと、
ビットストリームから、スライスにおける1つの符号化ユニットのための第2のシンタックス要素を受信し、当該第2のシンタックス要素が、適応色空間変換(ACT)を使用して符号化ユニットが符号化されるか否かを指示することと、
第2のシンタックス要素がゼロ以外の値を有することが決定されることに従って、逆ACTを適用して符号化ユニットの輝度残差と彩度残差とを映像データの1つの変換された色空間から元の色空間に転換することで符号化ユニットに対応する映像データをデコードすることと、
逆ACTを適用して符号化ユニットの輝度残差と彩度残差とを転換した後、第1のシンタックス要素がゼロ以外の値が有することが決定されることに従って、元の色空間における符号化ユニットの輝度残差に基づき中間輝度サンプルを得て、中間輝度サンプルを使用して逆輝度マッピングを実行し且つ元の色空間における符号化ユニットの彩度残差を使用して逆スケーリングを実行することで符号化ユニットに対応する映像データをデコードすることと、
を含む、方法。
【請求項2】
第2のシンタックス要素を受信する前に、ビットストリームから第3のシンタックス要素を受信し、当該第3のシンタックス要素は、映像データが事前定義された彩度フォーマットを有するか否かを指示する、
請求項1に記載の方法。
【請求項3】
事前定義された彩度フォーマットは4:4:4彩度フォーマットである、
請求項2に記載の方法。
【請求項4】
第2のシンタックス要素は、映像データが事前定義された彩度フォーマットを有する場合にのみビットストリームに存在する、
請求項2に記載の方法。
【請求項5】
変換された色空間はYCgCo色空間である、
請求項1に記載の方法。
【請求項6】
元の色空間における符号化ユニットの輝度残差に基づき中間輝度サンプルを得て、中間輝度サンプルを使用して逆輝度マッピングを実行し且つ元の色空間における符号化ユニットの彩度残差を使用して逆スケーリングを実行することで符号化ユニットに対応する映像データをデコードするのは、
元の色空間の輝度残差を符号化ユニットの予測された輝度サンプルに加算することにより、符号化ユニットのマッピングされたドメインにおける中間輝度サンプルを生成することと、
1つまたは複数の適応区分的線形モデルを使用して、マッピングされたドメインの中間輝度サンプルを、事前にマッピングされたドメインの再構築された輝度成分に転換することと、
マッピングされたドメイン内の対応する中間輝度サンプルに従って、元の色空間の彩度残差を逆スケーリングすることと、
符号化ユニットのスケーリングされた彩度残差と予測された彩度サンプルとを使用して、符号化ユニットの彩度成分を再構築することと、
を更に含む、
請求項1に記載の方法。
【請求項7】
電子装置であって、
1つまたは複数の処理ユニットと、
前記1つまたは複数の処理ユニットにカップリングされるメモリと、
前記メモリに記憶される複数のプログラムと
を含み、
前記複数のプログラムは、前記1つまたは複数の処理ユニットによって実行されると、電子装置に、請求項1~
6のいずれか1項に記載の方法を実行させる、
電子装置。
【請求項8】
非一時的なコンピュータ可読記憶媒体であって、
1つまたは複数の処理ユニットを有する電子装置によって実行するための複数のプログラムを記憶し、前記複数のプログラムは、前記1つまたは複数の処理ユニットによって実行されると、電子装置に、請求項1~
6のいずれか1項に記載の方法を実行させる、
非一時的なコンピュータ可読記憶媒体。
【請求項9】
コンピュータプログラ
ムであって、
1つまたは複数の処理ユニットを有する電子装置によって実行するための複数のプログラムコードを含み、前記複数のプログラムコードは、前記1つまたは複数の処理ユニットによって実行されると、電子装置に、請求項1~
6のいずれか1項に記載の方法を実行させる、
コンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年10月11日に出願の“METHODS AND APPARATUS OF VIDEO CODING IN 4:4:4 CHROMA FORMAT”と題されたUS仮出願番号第62/914,282の利益を主張し、且つ2019年10月18日に出願の“METHODS AND APPARATUS OF VIDEO CODING IN 4:4:4 CHROMA FORMAT”と題されたUS仮出願番号第62/923,390の利益を主張し、その両者の全内容は参照により本明細書に援用される。
【0002】
本出願は、一般に、映像データ符号化および圧縮に関連し、特に、彩度残差スケーリングを用いて適応色空間変換(ACT)を実行する方法およびシステムに関連する。
【背景技術】
【0003】
デジタル映像は、デジタルテレビ、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤー、映像ゲームコンソール、スマートフォン、映像電話会議デバイス、映像ストリーミングデバイスなどの様々な電子デバイスによってサポートされている。電子デバイスは、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4、パート10、高度映像符号化(ADVANCED Video Coding)(AVC)、高効率映像符号化(HIGH EFFICIENCY Video Coding)(HEVC)、および汎用映像符号化(VERSATILE Video Coding)(VVC)標準で定義されている映像圧縮/解凍標準を実行することにより、デジタル映像データを送信し、受信し、エンコードし、デコードし、および/または記憶する。映像圧縮は、通常、空間(フレーム内)予測および/または時間(フレーム間)予測を実行して映像データに固有の冗長性を低減または削除することを含む。ブロックベースの映像符号化の場合、映像フレームは1つまたは複数のスライスに分割され、各スライスには複数の映像ブロックがあり、これらは符号化木ユニット(CTU)とも呼ばれてもよい。各CTUは、1つの符号化ユニット(CU)を含有し、又は事前定義された最小CUサイズに達するまで再帰的により小さいCUに分割されてもよい。各CU(葉CUとも呼ばれる)は、1つまたは複数の変換ユニット(TU)を含有し、各CUは1つまたは複数の予測ユニット(PU)も含有する。各CUは、イントラ、インター、またはIBCモードのいずれかで符号化されてもよい。映像フレームのイントラ符号化された(I)スライス内の映像ブロックは、同じ映像フレーム内の隣接するブロックにおける参照サンプルに関して空間予測を使用しエンコードされる。映像フレームのインター符号化された(PまたはB)スライス内の映像ブロックは、同じ映像フレームにおける隣接するブロック内の参照サンプルに関して空間予測を使用し、または他の以前および/または将来の参照映像フレーム内の参照サンプルに関して時間予測を使用してもよい。
【0004】
先にエンコードされた参照ブロック、例えば、隣接するブロックに基づく空間または時間予測は、符号化される当前の映像ブロックための予測ブロックをもたらす。参照ブロックを見つける処理は、ブロックマッチングアルゴリズムによって実行されてもよい。符号化される当前のブロックと予測ブロックの間のピクセル差を表現する残差データは、残差ブロックまたは予測誤差と呼ばれる。インター符号化されたブロックは、予測ブロックを形成する参照フレーム内の参照ブロックを指す動きベクトルと残差ブロックに従ってエンコードされる。動きベクトルを決定する処理は、通常、動き推定と呼ばれる。イントラ符号化されたブロックは、イントラ予測モードと残差ブロックに従ってエンコードされる。さらなる圧縮のために、残差ブロックは、ピクセルドメインから変換ドメイン、例えば、周波数ドメインに変換され、残差変換係数が得られ、これらは次に量子化されてもよい。最初に2次元アレイに配置された量子化された変換係数がスキャンされて変換係数の1次元ベクトルが生成され、次に映像ビットストリームになるようにエントロピーエンコードされ、更なる圧縮が実現され得る。
【0005】
次に、エンコードされた映像ビットストリームは、コンピュータ可読記憶媒体(例えば、フラッシュメモリ)に保存されてデジタル映像機能を備えた他の電子デバイスによってアクセスされ、または有線或いは無線で電子デバイスに直接送信される。次に、電子デバイスは、例えば、エンコードされた映像ビットストリームを解析してビットストリームからシンタックス要素を取得し且つビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてエンコードされた映像ビットストリームからデジタル映像データをその元のフォーマットに再構築することによって、映像解凍(上記の映像圧縮とは相反の処理)を実行し、再構築されたデジタル映像データを電子デバイスのディスプレイにレンダーする。
【0006】
デジタル映像品質が高解像度から4Kx2K或いはさらには8Kx4Kに移行する場合に、エンコード/デコードされる映像データの量は指数関数的に増大する。如何にしてデコードされた映像データの画像品質を維持しながら、映像データをより効率的にエンコード/デコードできるかについて、常に挑戦がある。
【0007】
特定の映像コンテンツ、例えば、スクリーンコンテンツ映像は、4:4:4彩度フォーマットでエンコードされ、当該フォーマットでは、すべての3つの成分(輝度成分および両方の彩度成分)が同じ解像度を有する。 4:4:4彩度フォーマットは4:2:0彩度フォーマットおよび4:2:2彩度フォーマットと比べてより多くの冗長性を含む(良好な圧縮効率を実現するのに不向きである)が、4:4:4彩度フォーマットはデコードされた映像におけるシャープエッジなどの色情報を保持するために高い忠実度が要求される多くのアプリケーションに対して、依然として推奨されるエンコーディングフォーマットである。4:4:4彩度フォーマット映像に存在する冗長性を考えると、4:4:4映像の3つの色成分(例えば、YCbCrドメインのY、Cb、Cr、またはRGBドメインのG、B、R)間の関連を利用することで、符号化を大幅に改善することが実現できるという証拠がある。これらの関連により、HEVCスクリーンコンテンツ符号化(SCC)拡張の開発中に、適応色空間変換(ACT)ツールを使用して3つの色成分間の関連を利用する。
【発明の概要】
【0008】
本出願は、映像データのエンコーディングおよびデコーディング、より具体的には、輝度マッピングおよび彩度スケーリング(LMCS)を用いて適応色空間変換(ACT)を実行するシステムおよび方法に関する実行を説明する。
【0009】
本出願の第1の態様によれば、映像データをデコードする方法は、ビットストリームから、スライスのスライスヘッダ内の第1のシンタックス要素を受信し、当該第1のシンタックス要素が、彩度スケーリングを用いる輝度マッピング(LMCS)がスライスにおける符号化ユニットに適用されるか否かを示すことと、符号化ユニットのための第2のシンタックス要素を受信し、当該第2のシンタックス要素が、適応色空間変換(ACT)を使用して符号化ユニットが符号化されるか否かを示すことと、第2のシンタックス要素がゼロ以外の値を有する場合、逆ACTを適用して符号化ユニットの輝度と彩度の残差を映像データの変換された色空間から元の色空間に転換することで符号化ユニットをデコードすることと、逆ACTを実行した後、第1のシンタックス要素がゼロ以外の値が有する場合、符号化ユニットの輝度サンプルへの逆輝度マッピング及び符号化ユニットの彩度残差への逆スケーリングを実行することで符号化ユニットをデコードすることと、を含む。
【0010】
本出願の第2の態様によれば、映像データをデコードする方法は、ビットストリームから、符号化ユニットに対応する映像データを受信し、符号化ユニットがイントラ予測モードによって符号化されることと、映像データから第1のシンタックス要素を受信し、第1のシンタックス要素が、適応色空間変換(ACT)を使用して符号化ユニットが符号化されるか否かを示すことと、第1のシンタックス要素がゼロ値を有する場合、映像データから1つまたは複数のシンタックス要素を受信し、1つまたは複数のシンタックス要素が、ブロック差動パルス符号化変調(BDPCM)を使用して符号化ユニットの彩度成分が符号化されるか否かを示すことと、第1のシンタックス要素がゼロ以外の値を有する場合、BDPCMに関連付けられた1つまたは複数のシンタックス要素にデフォルト値を割り当てることと、 ACTに関連付けられた第1のシンタックス要素およびBDPCMに関連付けられた1つまたは複数のシンタックス要素に従って、映像データから符号化ユニットをデコードすることと、を含む。
【0011】
本出願の第3の態様によれば、電子装置は、1つまたは複数の処理ユニット、メモリ、およびメモリに記憶された複数のプログラムを含む。プログラムは、1つまたは複数の処理ユニットによって実行されると、電子装置に、上記のように映像データをデコードする方法を実行させる。
【0012】
本出願の第4の態様によれば、非一時的なコンピュータ可読記憶媒体は、1つまたは複数の処理ユニットを有する電子装置によって実行するための複数のプログラムを記憶する。プログラムは、1つまたは複数の処理ユニットによって実行されると、電子装置に、上記のように映像データをデコードする方法を実行させる。
【図面の簡単な説明】
【0013】
実行のさらなる理解を提供するために本明細書に含まれ、且つ本明細書の一部に組み込まれ、かつ本明細書の一部を構成する添付図面は、説明された実行を示し、説明とともに、基礎となる原理を解釈するのに役立つ。同じ参照番号は対応の部分を参照する。
【0014】
【
図1】
図1は、本開示のいくつかの実行による例示的な映像エンコーディングおよびデコーディングシステムを示すブロック図である。
【0015】
【
図2】
図2は、本開示のいくつかの実行による例示的な映像エンコーダを示すブロック図である。
【0016】
【
図3】
図3は、本開示のいくつかの実行による例示的な映像デコーダを示すブロック図である。
【0017】
【
図4A】
図4Aは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4B】
図4Bは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4C】
図4Cは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4D】
図4Dは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【
図4E】
図4Eは、本開示のいくつかの実行に従って、フレームが異なるサイズおよび形状の複数の映像ブロックに再帰的に分割される方式を示すブロック図である。
【0018】
【
図5A】
図5Aは、本開示のいくつかの実行に従って、RGB色空間とYCgCo色空間との間に残差を変換するために適応色空間変換(ACT)の技術を適用する例を示すブロック図である。
【
図5B】
図5Bは、本開示のいくつかの実行に従って、RGB色空間とYCgCo色空間との間に残差を変換するために適応色空間変換(ACT)の技術を適用する例を示すブロック図である。
【0019】
【
図6】
図6は、本開示のいくつかの実行に従って、例示的な映像データデコーディング処理において、彩度スケーリングを用いる輝度マッピング(LMCS)の技術を適用することのブロック図である。
【0020】
【
図7】
図7は、本開示のいくつかの実行に従って、映像デコーダが逆適応色空間変換(ACT)の技術を実行することによる例示的な映像デコーディング処理を示すブロック図である。
【0021】
【
図8A】
図8Aは、本開示のいくつかの実行に従って、映像デコーダが逆適応色空間変換(ACT)および彩度スケーリングを用いる輝度マッピング(LMCS)の技術を実行することによる例示的な映像デコーディング処理を示すブロック図である。
【
図8B】
図8Bは、本開示のいくつかの実行に従って、映像デコーダが逆適応色空間変換(ACT)および彩度スケーリングを用いる輝度マッピング(LMCS)の技術を実行することによる例示的な映像デコーディング処理を示すブロック図である。
【0022】
【
図9】
図9は、本開示のいくつかの実行に従って、適応色空間変換(ACT)とブロック差動パルス符号化変調(BDPCM)とを実行するの間の例示的なデコーディング論理を示すブロック図である。
【0023】
【
図10】
図10は、本開示のいくつかの実行に従って彩度スケーリングを用いて逆適応色空間変換を実行することによって映像デコーダが映像データをデコードすることによる例示的な処理を示すフローチャートである。
【発明を実施するための形態】
【0024】
参照番号が、例示的実施形態の詳細に付与され、その例が添付の図面に示されている。以下の詳細な説明では、本明細書に提示される主題を理解するのを助けるために、多くの非限定的な特定の詳細が示される。しかし、当業者には、特許請求の範囲から逸脱することなく様々な代替案を使用することができ、主題はこれらの特定の詳細なしで実行することができることが明らかである。例えば、ここで提示される主題が、デジタル映像機能を備えた多くのタイプの電子デバイスに実行され得ることは、当業者には明らかである。
【0025】
図1は、本開示のいくつかの実行に従って、映像ブロックを並列にエンコードおよびデコードするための例示的なシステム10を示すブロック図である。
図1に示されるように、システム10は、宛先デバイス14によって後でデコードされるべき映像データを生成およびエンコードするソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップまたはラップトップコンピュータ、タブレットコンピュータ、スマートフォン、セットトップボックス、デジタルテレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む任意の多種多様な電子デバイスを含んでもよい。いくつかの実行では、ソースデバイス12および宛先デバイス14は、無線通信機能を備えている。
【0026】
いくつかの実行では、宛先デバイス14は、リンク16を介してデコードされるべきエンコードされた映像データを受信することができる。リンク16は、エンコードされた映像データをソースデバイス12から宛先デバイス14に移動できる任意のタイプの通信媒体またはデバイスを含んでもよい。一例では、リンク16は、ソースデバイス12がエンコードされた映像データを宛先14にリアルタイムで直接送信することを可能にする通信媒体を含んでもよい。エンコードされた映像データは、無線通信プロトコルなどの通信標準に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理的な送信ラインなどの任意の無線または有線通信媒体を含んでもよい。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局
、またはソースデバイス12から宛先デバイス14への通信を容易にするのに役立つ可能性がある他の任意の機器を含んでもよい。
【0027】
いくつかの他の実行では、エンコードされた映像データは、出力インターフェース22から記憶デバイス32に送信されてもよい。続いて、記憶デバイス32内のエンコードされた映像データは、入力インターフェース28を介して宛先デバイス14によってアクセスされてもよい。記憶デバイス32は、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性または不揮発性メモリ、またはエンコードされた映像データを記憶するための任意の他の適切なデジタル記憶媒体などの任意のさまざまな分散型またはローカルアクセス型のデータ記憶媒体を含んでもよい。さらなる例では、記憶デバイス32は、ソースデバイス12によって生成されたエンコードされた映像データを保持できるファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイス32から記憶された映像データにアクセスし得る。ファイルサーバーは、エンコードされた映像データを記憶しエンコードされた映像データを宛先デバイス14に送信することができる任意のタイプのコンピュータでもよい。例示的なファイルサーバーには、ウェブサーバー(例えば、ウェブサイト用)、FTPサーバー、ネットワーク接続記憶(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、無線チャネル(例えば、Wi?Fi接続)、有線接続(例えば、DSL、ケーブルモデムなど)、またはその両方の、ファイルサーバーに記憶されるエンコードされた映像データにアクセスするのに適す組み合わせを含む任意の標準データ接続を介してエンコードされた映像データにアクセスすることができる。記憶デバイス32からのエンコードされた映像データの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組み合わせでもよい。
【0028】
図1に示されるように、ソースデバイス12は、映像ソース18、映像エンコーダ20、および出力インターフェース22を含む。映像ソース18は、映像キャプチャデバイス(例えば、映像カメラ)、前にキャプチャされた映像を含有する映像アーカイブ、映像コンテンツプロバイダーから映像を受信するための映像フィードインターフェイス、および/またはソース映像としてコンピューターグラフィックスデータを生成するためのコンピューターグラフィックスシステム、またはそのようなソースの組み合わせなどのソースを含んでもよい。一例として、映像ソース18がセキュリティ監視システムの映像カメラである場合、ソースデバイス12および宛先デバイス14は、カメラ電話または映像電話を形成し得る。しかしながら、本出願で説明される実行は、一般に映像符号化に適用可能であり、そして無線および/または有線アプリケーションに適用されることができる。
【0029】
キャプチャされた、事前にキャプチャされた、またはコンピュータで生成された映像は、映像エンコーダ20によってエンコードされてもよい。エンコードされた映像データは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信されてもよい。エンコードされた映像データは、(または代わりに)記憶デバイス32に記憶されて後で宛先デバイス14または他のデバイスによってアクセスされ、デコーディングおよび/または再生のために用いられてもよい。出力インターフェース22は、モデムおよび/または送信機をさらに含んでもよい。
【0030】
宛先デバイス14は、入力インターフェース28、映像デコーダ30、およびディスプレイデバイス34を含む。入力インターフェース28は、受信機および/またはモデムを含み、リンク16を介してエンコードされた映像データを受信することができる。リンク16を介して通信されるまたは記憶デバイス32上に提供されるエンコードされた映像データは、映像データをデコードする際に映像デコーダ30によって使用されるために映像エンコーダ20によって生成される様々なシンタックス要素を含んでもよい。そのようなシンタックス要素は、通信媒体で送信され、記憶媒体に記憶され、またはファイルサーバーに記憶されるエンコードされた映像データ内に含まれ得る。
【0031】
いくつかの実行では、宛先デバイス14は、統合ディスプレイデバイスおよび宛先デバイス14と通信するように構成された外部ディスプレイデバイスであるディスプレイデバイス34を含んでもよい。ディスプレイデバイス34は、デコードされた映像データをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの任意の様々なディスプレイデバイスを含んでもよい。
【0032】
映像エンコーダ20および映像デコーダ30は、VVC、HEVC、MPEG?4、パート10、高度映像符号化(AVC)、またはそのような標準の拡張などの専有または業界標準に従って動作できる。本出願は、特定の映像符号化/デコーディング標準に限定されず、他の映像符号化/デコーディング標準に適用可能であることが了解される。ソースデバイス12の映像エンコーダ20は、これらの任意の当前または将来の標準に従って映像データをエンコードするように構成され得ることが一般的に思い及ばれる。同様に、宛先デバイス14の映像デコーダ30は、これらの任意の当前または将来の標準に従って映像データをデコードするように構成され得ることも一般的に思い及ばれる。
【0033】
映像エンコーダ20および映像デコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせなどの任意の様々な適切なエンコーダ回路として実行されてもよい。部分的にソフトウェアに実行される場合、電子デバイスは、ソフトウェアための指令を適切な非一時的なコンピュータ可読媒体に記憶し、1つまたは複数のプロセッサを利用してハードウェアで指令を実行して本開示に開示される映像符号化/デコーディング操作を実行することができる。映像エンコーダ20および映像デコーダ30のそれぞれは、1つまたは複数のエンコーダまたはデコーダに含まれ、エンコーダまたはデコーダは、相応のデバイスに組み合わされたエンコーダ/デコーダ(CODEC)の一部として統合されてもよい。
【0034】
図2は、本出願において説明されるいくつかの実行による例示的な映像エンコーダ20を示すブロック図である。映像エンコーダ20は、映像フレーム内の映像ブロックのイントラおよびインター予測符号化を実行することができる。イントラ予測符号化は、空間予測に依存して、所与の映像フレームまたは画像内の映像データの空間冗長性を低減または削除する。インター予測符号化は、時間予測に依存して、映像シーケンスの隣接する映像フレームまたは画像内の映像データの時間冗長性を低減または削除する。
【0035】
図2に示されるように、映像エンコーダ20は、映像データメモリ40、予測処理ユニット41、デコード画像バッファ(DPB)64、サマー50、変換処理ユニット52、量子化ユニット54、およびエントロピーエンコーディングユニット56を含む。予測処理ユニット41は、動き推定ユニット42、動き補償ユニット44、分割ユニット45、イントラ予測処理ユニット46、およびイントラブロックコピー(BC)ユニット48をさらに含む。いくつかの実行では、映像エンコーダ20は、映像ブロック再構築のために、逆量子化ユニット58、逆変換処理ユニット60、およびサマー62も含む。デプロッキングフィルタ(図示せず)がサマー62とDPB64との間に位し、ブロック境界をフィルタリングしてブロック性アーチファクトを再構築された映像から削除することができる。デブロッキングフィルタに加えて、ループ内フィルタ(図示せず)が使用され、サマー62の出力をフィルタリングすることもできる。映像エンコーダ20は、固定またはプログラム可能なハードウェアユニットの形態をとることができ、または1つまたは複数の図解された固定またはプログラム可能なハードウェアユニットにおいて分割されることができる。
【0036】
映像データメモリ40は、映像エンコーダ20の構成要素によってエンコードされるべき映像データを記憶することができる。映像データメモリ40内の映像データは、例えば、映像ソース18から取得されてもよい。DPB64は、映像エンコーダ20によって(例えばイントラまたはインター予測符号化モードで)映像データをエンコードすることに用いられる参照映像データを記憶するバッファである。映像データメモリ40およびDPB64は、任意の様々なメモリデバイスによって形成されてもよい。様々な例において、映像データメモリ40は、映像エンコーダ20の他の構成要素とオンチップであり、またはそれらの構成要素に対してオフチップでもよい。
【0037】
図2に示されるように、映像データを受信した後、予測処理ユニット41内の分割ユニット45は、映像データを映像ブロックに分割する。この分割は、映像データに関連付けられた四分木構造などの事前定義された分割構造に従って、映像フレームをスライス、タイル、または他のより大きな符号化ユニット(CU)に分割することも含んでもよい。映像フレームは、複数の映像ブロック(またはタイルと呼ばれる映像ブロックのセット)に分割されてもよい。予測処理ユニット41は、エラー結果(例えば、符号化レートと歪みのレベル)に基づき当前の映像ブロックに対して複数の可能な予測符号化モードの1つを選択でき、可能な予測符号化モードは、例えば複数のイントラ予測符号化モードの1つであり、または複数のインター予測符号化モードの1つである。予測処理ユニット41は、結果として生じたイントラまたはインター予測符号化されたブロックをサマー50に提供して残差ブロックを生成し、そしてこれをサマー62に提供して後で参照フレームの一部として使用するためにエンコードされるブロックを再構築することができる。予測処理ユニット41は、動きベクトル、イントラモードインジケータ、分割情報、および他のそのようなシンタックス情報などのシンタックス要素を、エントロピーエンコーディングユニット56にも提供する。
【0038】
当前の映像ブロックに適切なイントラ予測符号化モードを選択するために、予測処理ユニット41内のイントラ予測処理ユニット46は、符号化されるべき当前のブロックと同じフレーム内の1つまたは複数の隣接ブロックに対する当前の映像ブロックへのイントラ予測符号化を実行して空間予測を提供することができる。予測処理ユニット41内の動き推定ユニット42と動き補償ユニット44は、1つまたは複数の参照フレーム内の1つまたは複数の予測ブロックに対する当前の映像ブロックへのインター予測符号化を実行して時間予測を提供する。映像エンコーダ20は、映像データの各ブロックに対して複数の符号化パスを実行して、例えば適切な符号化モードを選択することができる。
【0039】
いくつかの実行では、動き推定ユニット42は、映像フレームのシーケンス内の所定のパターンに従って動きベクトルを生成することによって当前の映像フレームのためのインター予測モードを決定し、当該動きベクトルは、参照映像フレーム内の予測ブロックに対する当前の映像フレーム内の映像ブロックの予測ユニット(PU)の変位を指示する。動き推定ユニット42によって実行される動き推定は、映像ブロックの動きを推定する動きベクトル生成処理である。動きベクトルは、例えば、当前のフレーム(または他の符号化されたユニット)において符号化されている当前のブロックに対する参照フレーム(または他の符号化されたユニット)内の予測ブロックに対する、当前の映像フレームまたは画像内の映像ブロックのPUの変位を指示できる。所定のパターンは、シーケンス内の映像フレームをPフレームまたはBフレームとして指定することができる。イントラBCユニット48は、インター予測のために動き推定ユニット42によって動きベクトルを決定するのに似る方式で、イントラBC符号化のために例えばブロックベクトルのベクトルを決定することができ、または動き推定ユニット42を利用してブロックベクトルを決定することができる。
【0040】
予測ブロックは、参照フレームの、絶対差の合計(SAD)、二乗差の合計(SSD)又は他の差の計量によって決定され得るピクセル差に関して符号化される映像ブロックのPUに厳密にマッチングすると認定されるブロックである。いくつかの実行では、映像エンコーダ20は、DPB64に記憶された参照フレームのサブ整数ピクセル位置の値を計算することができる。例えば、映像エンコーダ20は、参照フレームの4分の1ピクセル位置、8分の1ピクセル位置、または他の部分ピクセルの位置の値を補間することができる。したがって、動き推定ユニット42は、全ピクセル位置および部分ピクセル位置に対して動き検索を実行し、部分ピクセル精度で動きベクトルを出力することができる。
【0041】
動き推定ユニット42は、インター予測符号化フレーム内の映像ブロックのPUの位置を第1の参照フレームリスト(リスト0)または第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と比べることによって、PUの動きベクトルを計算し、第1の参照フレームリストまたは第2の参照フレームリストはそれぞれ、DPB64に記憶された1つまたは複数の参照フレームを識別する。動き推定ユニット42は、計算された動きベクトルを動き補償ユニット44に送り、次にエントロピーエンコーディングユニット56に送る。
【0042】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴うことができる。当前の映像ブロックのPUの動きベクトルを受信すると、動き補償ユニット44は、参照フレームリストの1つにおいて動きベクトルが指す予測ブロックを位置付け、DPB64から予測ブロックを検索し、予測ブロックをサマー50に転送することができる。次に、サマー50は、符号化される当前の映像ブロックのピクセル値から動き補償ユニット44によって提供される予測ブロックのピクセル値を差し引くことにより、ピクセル差値の残差映像ブロックを形成する。残差映像ブロックを形成するピクセル差値は、輝度または彩度差成分、あるいはその両方を含んでもよい。動き補償ユニット44は、映像フレームの映像ブロックをデコードする際に映像デコーダ30によって使用されるために、映像フレームの映像ブロックに関連付けられたシンタックス要素を生成することもできる。シンタックス要素は、例えば、予測ブロックに使用される動きベクトルを定義するシンタックス要素、予測モードを指示する任意のフラグ、または本明細書で説明される任意の他のシンタックス情報を含んでもよい。動き推定ユニット42と動き補償ユニット44は高度に統合され得るが、概念的な目的のために別々に示されることに留意されたい。
【0043】
いくつかの実行では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44に関連して上記と似る方式でベクトルを生成し、予測ブロックをフェッチすることができるが、予測ブロックは、符号化される当前のブロックと同じフレームにあり、そしてベクトルは動きベクトルに相反しブロックベクトルと呼ばれる。特に、イントラBCユニット48は、イントラ予測モードを決定して当前のブロックをエンコードするために使用するすることができる。いくつかの例では、イントラBCユニット48は、例えば、別個のエンコーディングパス中に、様々なイントラ予測モードを使用して当前のブロックをエンコードし、レート歪み分析を通じてそれらの性能をテストすることができる。次に、イントラBCユニット48は、様々なテストされたイントラ予測モードの中から、使用する適切なイントラ予測モードを選択し、それに応じてイントラモードインジケータを生成することができる。例えば、イントラBCユニット48は、様々なテストされたイントラ予測モードのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを、使用する適切なイントラ予測モードとして選択することができる。レート歪み分析は、一般に、エンコードされたブロックと、エンコードされるブロックを生成するためにエンコードされた元のエンコードされていないブロックとの間の歪み(またはエラー)の量、およびエンコードされるブロックを生成するために使用するビットレート(即ちビットの数量)を決定する。イントラBCユニット48は、様々なエンコードされたブロックに対して歪みおよびレートから比率を計算して、どのイントラ予測モードがブロックに対する最良のレート歪み値を示すかを決定することができる。
【0044】
他の例では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44を全体的または部分的に使用して、本明細書に記載の実行によるイントラBC予測のためのそのような機能を実行することができる。いずれの場合でも、イントラブロックコピーの場合、予測ブロックは、絶対差の合計(SAD)、二乗差の合計(SSD)又は他の差の計量によって決定され得るピクセル差に関して符号化されるブロックに厳密にマッチングすると認定されるブロックであり、予測ブロックの識別は、サブ整数ピクセル位置の値の計算を含んでもよい。
【0045】
予測ブロックがイントラ予測による同じフレームからのものであるか、またはインター予測による異なるフレームからのものであるかにかかわらず、映像エンコーダ20は、符号化される当前の映像ブロックのピクセル値から予測ブロックのピクセル値を差し引き、ピクセル値差を形成することにより残差映像ブロックを形成することができる。残差映像ブロックを形成するピクセル差値は、輝度成分の差と彩度成分の差との両方を含んでもよい。
【0046】
イントラ予測処理ユニット46は、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測、またはイントラBCユニット48によって実行されるイントラブロックコピー予測の代替として、上記のように当前の映像ブロックをイントラ予測することができる。特に、イントラ予測処理ユニット46は、当前のブロックをエンコードするために使用するイントラ予測モードを決定することができる。そうするために、イントラ予測処理ユニット46は、例えば、別個のエンコーディングパス中に、様々なイントラ予測モードを使用して当前のブロックをエンコードすることができ、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット)は、テストされたイントラ予測モードから、使用する適切なイントラ予測モードを選択することができる。イントラ予測処理ユニット46は、ブロックに対して選択されたイントラ予測モードを指示する情報をエントロピーエンコーディングユニット56に提供することができる。エントロピーエンコーディングユニット56は、ビットストリームにおいて選択されたイントラ予測モードを指示する情報をエンコードすることができる。
【0047】
予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して当前の映像ブロックの予測ブロックを決定した後、サマー50は、当前の映像ブロックから予測ブロックを差し引くことによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、1つまたは複数の変換ユニット(TU)に含まれることができ、変換処理ユニット52に提供される。変換処理ユニット52は、離散余弦変換(DCT)または概念的に類似する変換などの変換を使用して、残差映像データを残差変換係数に変換する。
【0048】
変換処理ユニット52は、結果として生じる変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化して、ビットレートをさらに低減する。量子化処理は、係数の一部またはすべてに関連付けられたビット深度を低減することもできる。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、量子化ユニット54は、次に、量子化された変換係数を含むマトリックスのスキャンを実行することができる。あるいは、エントロピーエンコーディングユニット56は、スキャンを実行することができる。
【0049】
量子化に続いて、エントロピーエンコーディングユニット56は、例えば、コンテキスト適応可変長符号化(CAVLC)、コンテキスト適応二値算術符号化(CABAC)、シンタックスベースのコンテキスト適応二値算術符号化(SBAC)、確率間隔分割エントロピー(PIPE)符号化、または別のエントロピーエンコーディングの方法または技術を使用して、量子化された変換係数を映像ビットストリームにエントロピーエンコードする。エンコードされたビットストリームは、次に、映像デコーダ30に送信され、または後で映像デコーダ30に送信または回復されるために記憶デバイス32にアーカイブされることができる。エントロピーエンコーディングユニット56は、符号化される当前の映像フレームの動きベクトルおよび他のシンタックス要素をエントロピーエンコードすることもできる。
【0050】
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、他の映像ブロックの予測のための参照ブロックを生成するために、ピクセルドメインにおいて残差映像ブロックを再構築する。上記のように、動き補償ユニット44は、DPB64に記憶されたフレームの1つまたは複数の参照ブロックから動き補償予測ブロックを生成することができる。動き補償ユニット44は、1つまたは複数の補間フィルタを予測ブロックに適用して、動き推定で使用するサブ整数ピクセル値を計算することができる。
【0051】
サマー62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、DPB64に記憶するための参照ブロックを生成する。参照ブロックは、次に、予測ブロックとしてイントラBCユニット48、動き推定ユニット42、および動き補償ユニット44によって使用されて、後続の映像フレーム内の別の映像ブロックをインター予測することができる。
【0052】
図3は、本出願のいくつかの実行による例示的な映像デコーダ30を示すブロック図である。映像デコーダ30は、映像データメモリ79、エントロピーデコーディングユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、サマー90、およびDPB92を含む。予測処理ユニット81は、動き補償ユニット82、イントラ予測処理ユニット84、イントラBCニット85をさらに含む。映像デコーダ30は、
図2に関連して映像エンコーダ20に関して前に記述されたエンコーディング処理に概ね逆行するデコーディング処理を実行することができる。例えば、動き補償ユニット82は、エントロピーデコーディングユニット80から受信した動きベクトルに基づいて予測データを生成でき、一方、イントラ予測ユニット84は、エントロピーデコーディングユニット80から受信したイントラ予測モードインジケータに基づいて予測データを生成できる。
【0053】
いくつかの例では、映像デコーダ30のユニットは、本出願の実現を実行するように任務を課されてもよい。また、いくつかの例では、本開示の実行は、映像デコーダ30の1つまたは複数のユニットに分割されてもよい。例えば、イントラBCユニット85は、本出願の実現を、単独で、または動き補償ユニット82、イントラ予測処理ユニット84、およびエントロピーデコーディングユニット80などの映像デコーダ30の他のユニットとの組合せで、実行できる。いくつかの例では、映像デコーダ30は、イントラBCユニット85を含まなくてもよく、イントラBCユニット85の機能は、動き補償ユニット82などの予測処理ユニット81の他の構成要素によって実行されてもよい。
【0054】
映像データメモリ79は、映像デコーダ30の他の構成要素によってデコードされる、エンコードされた映像ビットストリームなどの映像データを記憶することができる。映像データメモリ79に記憶される映像データは、例えば、記憶デバイス32から取得されてもよく、映像データの有線または無線ネットワーク通信を介してカメラなどのローカル映像ソースから取得されてもよく、または物理データ記憶媒体(例えばフラッシュドライブやハードディスク)にアクセスすることによって取得されてもよい。映像データメモリ79は、エンコードされた映像ビットストリームからのエンコードされた映像データを記憶する符号化画像バッファ(CPB)を含んでもよい。映像デコーダ30のデコード画像バッファ(DPB)92は、映像デコーダ30による映像データへのデコーディング(例えば、イントラまたはインター予測符号化モードで)において使用するための参照映像データを記憶する。映像データメモリ79およびDPB92は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの任意の様々なメモリデバイスによって形成されてもよい。説明のために、映像データメモリ79およびDPB92は、
図3において、映像デコーダ30の2つの別個の構成要素として示される。しかし、当業者にとって、映像データメモリ79およびDPB92が同じメモリデバイスまたは別個のメモリデバイスによって提供され得ることが明らかである。いくつかの例では、映像データメモリ79は、映像デコーダ30の他の構成要素とオンチップであり、またはそれらの構成要素に対してオフチップであることができる。
【0055】
デコーディング処理中に、映像デコーダ30は、エンコードされた映像フレームの映像ブロックおよび関連付けられたシンタックス要素を表現するエンコードされた映像ビットストリームを受信する。映像デコーダ30は、映像フレームレベルおよび/または映像ブロックレベルでシンタックス要素を受信することができる。映像デコーダ30のエントロピーデコーディングユニット80は、ビットストリームをエントロピーデコードして、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成する。エントロピーデコーディングユニット80は、次に、動きベクトルおよび他のシンタックス要素を予測処理ユニット81に転送する。
【0056】
映像フレームがイントラ予測符号化(I)フレームとして符号化され、または他のタイプのフレームにおけるイントラ符号化予測ブロックのために符号化される場合、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モード及び当前のフレームの前にデコードされたブロックからの参照データに基づき、当前の映像フレームの映像ブロックの予測データを生成できる。
【0057】
映像フレームがインター予測符号化(すなわち、BまたはP)フレームとして符号化される場合、予測処理ユニット81の動き補償ユニット82は、エントロピーデコーディングユニット80から受信した動きベクトルおよび他のシンタックス要素に基づいて、当前の映像フレームの映像ブロックための1つまたは複数の予測ブロックを生成する。各予測ブロックは、参照フレームリストの1つ内の参照フレームから生成されてもよい。映像デコーダ30は、DPB92に記憶された参照フレームに基づきデフォルトの構築技術を使用して、参照フレームリスト、リスト0およびリスト1を構築することができる。
【0058】
いくつかの例では、映像ブロックが本明細書に記載のイントラBCモードに従って符号化される場合、予測処理ユニット81のイントラBCユニット85は、エントロピーデコーディングユニット80から受信したブロックベクトルおよび他のシンタックス要素に基づいて当前の映像ブロックの予測ブロックを生成する。予測ブロックは、映像エンコーダ20によって定義された当前の映像ブロックと同じ画像の再構築された領域内にあってもよい。
【0059】
動き補償ユニット82および/またはイントラBCユニット85は、動きベクトルおよび他のシンタックス要素を解析することによって当前の映像フレームの映像ブロックの予測情報を決定し、次に予測情報を使用して、デコードされている当前の映像ブロックの予測ブロックを生成する。例えば、動き補償ユニット82は、受信したシンタックス要素のいくつかを使用して、映像フレームの映像ブロックを符号化するために使用する予測モード(例えば、イントラまたはインター予測)、インター予測フレームタイプ(例えば、BまたはP)、フレームの1つまたは複数の参照フレームリストの構築情報、フレームの各インター予測エンコードされた映像ブロックの動きベクトル、フレームの各インター予測符号化された映像ブロックのインター予測ステータス、および他の情報を決定して、当前の映像フレームにおける映像ブロックをデコードする。
【0060】
同様に、イントラBCユニット85は、受信したシンタックス要素のいくつか、例えばフラグを使用して、当前の映像ブロックがイントラBCモードを使用して予測されたこと、フレームのどちらの映像ブロックが再構築領域にあってDPB92に記憶されるかの構築情報、フレームの各イントラBC予測映像ブロックのブロックベクトル、フレームの各イントラBC予測映像ブロックのイントラBC予測ステータス、および他の情報を決定して、当前の映像フレームにおける映像ブロックをデコードする。
【0061】
動き補償ユニット82は、映像ブロックのエンコーディング中に映像エンコーダ20によって使用される補間フィルタを使用して補間を実行して、参照ブロックのサブ整数ピクセルのための補間値を計算することもできる。この場合、動き補償ユニット82は、受信したシンタックス要素から映像エンコーダ20によって使用される補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成することができる。
【0062】
逆量子化ユニット86は、量子化の程度を決定するために映像エンコーダ20により映像フレーム内の映像ブロックごとに計算されたものと同じ量子化パラメータを使用して、ビットストリームで提供されるかつエントロピーデコーディングユニット80によってエントロピーデコードされる量子化変換係数を逆量子化する。逆変換処理ユニット88は、ピクセルドメインにおいて残差ブロックを再構築するために、逆変換(例えば、逆DCT、逆整数変換、または概念的に類似した逆変換処理)を変換係数に適用する。
【0063】
動き補償ユニット82またはイントラBCユニット85が、ベクトルおよび他のシンタックス要素に基づいて当前の映像ブロックの予測ブロックを生成した後、サマー90は、逆変換処理ユニット88からの残差ブロックと動き補償ユニット82およびイントラBCユニット85によって生成された対応の予測ブロックとを合計することによって、当前の映像ブロックのデコードされた映像ブロックを再構築する。ループ内フィルタ(図示せず)は、サマー90とDPB92との間に位置して、デコードされた映像ブロックをさらに処理することができる。所与のフレームにおけるデコードされた映像ブロックが次にDPB92に記憶され、DPB92は、次の映像ブロックの後続の動き補償に使用される参照フレームを記憶する。DPB92、またはDPB92とは別のメモリデバイスは、後で
図1のディスプレイデバイス34などのディスプレイデバイスの上で提示されるために、デコードされた映像を記憶することもできる。
【0064】
典型的な映像符号化処理では、映像シーケンスは、典型的には、順序付けられたフレームまたは画像のセットを含む。各フレームは、SL、SCb、およびSCrで表示される3つのサンプルアレイを含むことができる。SLは、輝度サンプルの2次元アレイである。SCbは、Cb彩度サンプルの2次元アレイである。SCrは、Cr彩度サンプルの2次元アレイである。他の例では、フレームは単彩度(monochrome)でもよく、したがって、輝度サンプルの1つの2次元アレイのみを含む。
【0065】
図4Aに示されるように、映像エンコーダ20(またはより具体的には分割ユニット45)は、最初にフレームを一組の符号化木ユニット(CTU)に分割することによってフレームのエンコードされた表現を生成する。映像フレームは、左から右、そして上から下にラスタースキャンの順序で連続して並べられた整数個のCTUを含むことができる。各CTUは最大の論理符号化ユニットであり、CTUの幅さおよび高さは、映像シーケンス内のすべてのCTUが128×128、64×64、32×32、および16×16の1つである同じサイズを有するように、シーケンスパラメータセットで映像エンコーダ20によってシグナリングされる。しかしながら、本出願は必ずしも特定のサイズに限定されないことに留意されたい。
図4Bに示されるように、各CTUは、1つの輝度サンプルの符号化木ブロック(CTB)、2つの彩度サンプルの対応の符号化木ブロック、および符号化木ブロックのサンプルを符号化するために使用されるシンタックス要素を含んでもよい。シンタックス要素は、ピクセルの符号化ブロックの異なるタイプのユニットのプロパティ、および如何にして映像デコーダ30で映像シーケンスを再構築できるかを記述し、インターまたはイントラ予測、イントラ予測モード、動きベクトル、および他のパラメータを含む。単彩度画像または3つの別個の色平面を有する画像では、CTUは、単一の符号化木ブロックと、符号化木ブロックのサンプルを符号化するために使用されるシンタックス要素とを含んでもよい。符号化木ブロックは、サンプルのNxNブロックでもよい。
【0066】
より良い性能を実現するために、映像エンコーダ20は、CTUの符号化木ブロックに対して二分木分割、三分木分割、四分木分割、または両方の組み合わせなどの木分割を再帰的に実行し、CTUをより小さい符号化ユニット(CU)に分割することができる。
図4Cに示されるように、64x64 CTU 400は最初に4つのより小さいCUに分割され、各より小さいCUは32x32のブロックサイズを有する。4つのより小さいCUの中で、CU410とCU420は、それぞれ4つの16x16ブロックサイズのCUに分割される。2つの16x16CU430および440は、それぞれ4つの8x8ブロックサイズのCUにさらに分割される。
図4Dは、
図4Cに示されるようなCTU400の分割処理の最終結果を示す四分木データ構造を示し、四分木の各葉ノードは、32x32から8x8の範囲の相応のサイズの1つのCUに対応する。
図4Bに示されるCTUに類似し、各CUは、輝度サンプルの符号化ブロック(CB)と、2つの同じサイズのフレームの彩度サンプルの対応の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用されるシンタックス要素とを含んでもよい。単彩度画像または3つの別個の色平面を有する画像では、CUは、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用されるシンタックス構造とを含んでもよい。
図4Cおよび4Dに示される四分木分割は説明のみを目的としており、1つのCTUを複数のCUに分割して、四分木/三分木/二分木分割に基づいてさまざまなローカル特性に適応させることができることに留意されたい。マルチタイプ木構造では、1つのCTUが四分木構造によって分割され、各四分木葉CUは、二分木および三分木構造によってさらに分割されてもよい。
図4Eに示されるように、即ち四分割、水平二分割、垂直二分割、水平三分割、垂直三分割の5つの分割タイプがある。
【0067】
いくつかの実行では、映像エンコーダ20は、CUの符号化ブロックを1つまたは複数のMxN予測ブロック(PB)にさらに分割することができる。予測ブロックは、同じ予測(インターまたはイントラ)が適用される長方形(正方形または非正方形)のサンプルのブロックである。CUの予測ユニット(PU)は、輝度サンプルの予測ブロック、2つの彩度サンプルの対応の予測ブロック、および予測ブロックを予測するために使用されるシンタックス要素を含んでもよい。単彩度画像または3つの別個の色平面を有する画像では、PUは、単一の予測ブロックと、予測ブロックを予測するために使用されるシンタックス構造とを含んでもよい。映像エンコーダ20は、CUの各PUの輝度、CbおよびCr予測ブロックのための予測の輝度、Cb、およびCrブロックを生成することができる。
【0068】
映像エンコーダ20は、イントラ予測またはインター予測を使用して、PUの予測ブロックを生成することができる。映像エンコーダ20がイントラ予測を使用してPUの予測ブロックを生成する場合、映像エンコーダ20は、PUに関連付けられたフレームのデコードされたサンプルに基づいて、PUの予測ブロックを生成することができる。映像エンコーダ20がインター予測を使用してPUの予測ブロックを生成する場合、映像エンコーダ20は、PUに関連付けられたフレーム以外の1つまたは複数のフレームのデコードされたサンプルに基づいて、PUの予測ブロックを生成することができる。
【0069】
映像エンコーダ20が、CUの1つまたは複数のPUのための予測の輝度、Cb、およびCrブロックを生成した後、映像エンコーダ20は、CUの元の輝度符号化ブロックからその予測輝度ブロックを差し引くことによって、CUの輝度残差ブロックを生成することができ、これによってCUの輝度残差ブロックの各サンプルは、CUの予測輝度ブロックの1つにおける輝度サンプルと、CUの元の輝度符号化ブロックにおける対応のサンプルとの間の差を指示する。同様に、映像エンコーダ20は、CUのCb残差ブロックおよびCr残差ブロックをそれぞれ生成することができ、これによってCUのCb残差ブロックの各サンプルは、CUの予測Cbブロックの1つにおけるCbサンプルとCUの元のCb符号化ブロックにおける対応のサンプルとの間の差を指示し、CUのCr残差ブロックの各サンプルは、CUの予測Crブロックの1つにおけるCrサンプルとCUの元のCr符号化ブロックにおける対応のサンプルとの間の差を指示することがある。
【0070】
さらに、
図4Cに示されるように、映像エンコーダ20は、四分木分割を使用して、CUの輝度、Cb、およびCrの残差ブロックを1つまたは複数の輝度、Cb、およびCrの変換ブロックに分解することができる。変換ブロックは、同じ変換が適用される長方形(正方形または非正方形)のサンプルのブロックである。CUの変換ユニット(TU)は、輝度サンプルの変換ブロック、2つの彩度サンプルの対応の変換ブロック、および変換ブロックサンプルを変換するために使用されるシンタックス要素を含んでもよい。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられ得る。いくつかの例では、TUに関連付けられた輝度変換ブロックは、CUの輝度残差ブロックのサブブロックでもよい。 Cb変換ブロックは、CUのCb残差ブロックのサブブロックでもよい。Cr変換ブロックは、CUのCr残差ブロックのサブブロックでもよい。単彩度画像または3つの別個の色平面を有する画像では、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するために使用されるシンタックス構造とを含んでもよい。
【0071】
映像エンコーダ20は、1つまたは複数の変換をTUの輝度変換ブロックに適用して、TUの輝度係数ブロックを生成することができる。係数ブロックは、変換係数の2次元アレイでもよい。変換係数はスカラ量でもよい。映像エンコーダ20は、1つまたは複数の変換をTUのCb変換ブロックに適用して、TUのCb係数ブロックを生成することができる。映像エンコーダ20は、1つまたは複数の変換をTUのCr変換ブロックに適用して、TUのCr係数ブロックを生成することができる。
【0072】
係数ブロック(例えば、輝度係数ブロック、Cb係数ブロックまたはCr係数ブロック)を生成した後、映像エンコーダ20は、係数ブロックを量子化することができる。量子化とは、一般に、変換係数を量子化して変換係数を表現するために使用されるデータの量を可能的に低減し、さらなる圧縮を提供する処理を指する。映像エンコーダ20が係数ブロックを量子化した後、映像エンコーダ20は、量子化された変換係数を指示するシンタックス要素をエントロピーエンコードすることができる。例えば、映像エンコーダ20は、量子化された変換係数を指示するシンタックス要素に対してコンテキスト適応型二値算術符号化(CABAC)を実行することができる。最後に、映像エンコーダ20は、符号化されたフレームおよび関連付けられたデータの表現を形成するビットのシーケンスを含むビットストリームを出力することができ、当該ビットストリームが記憶デバイス32に保存され、または宛先デバイス14に送信される。
【0073】
映像エンコーダ20によって生成されたビットストリームを受信した後、映像デコーダ30は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。映像デコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、映像データのフレームを再構築することができる。映像データを再構築する処理は、一般に、映像エンコーダ20によって実行されるエンコーディング処理を逆行するものである。例えば、映像デコーダ30は、当前のCUのTUに関連付けられた係数ブロックに対して逆変換を実行して、当前のCUのTUに関連付けられた残差ブロックを再構築することができる。映像デコーダ30は、さらに当前のCUのPUの予測ブロックのサンプルを当前のCUのTUの変換ブロックの対応のサンプルに加算することによって、当前のCUの符号化ブロックを再構築する。フレームの各CUの符号化ブロックを再構築した後、映像デコーダ30は、フレームを再構築することができる。
【0074】
上記のように、映像符号化は、主に2つのモード、すなわち、フレーム内予測(またはイントラ予測)およびフレーム間予測(またはインター予測)を使用して映像圧縮を実現する。パレットベース符号化は、多くの映像符号化標準で採用されるもう1つの符号化スキームである。スクリーン生成コンテンツ符号化に特に適したパレットベース符号化では、映像符号器(例えば、映像エンコーダ20または映像デコーダ30)は、所与のブロックの映像データを表現する色のパレットテーブルを形成する。パレットテーブルは、所与のブロックにおける最も支配的な(例えば、頻繁に使用される)ピクセル値を含む。所与のブロックの映像データに頻繁に表現されないピクセル値は、パレットテーブルに含まれなく、またはエスケープ色としてパレットテーブルに含まれる。
【0075】
パレットテーブルの各エントリは、パレットテーブルにある対応のピクセル値のインデックスを含む。ブロック内のサンプルのためのパレットインデックスは、パレットテーブルからのどのエントリがどのサンプルを予測または再構築するために使用されるかを指示するように符号化されてもよい。このパレットモードは、画像、スライス、タイル、または映像ブロックの他のそのようなグルーピングの最初のブロックのパレット予測子を生成する処理から始まる。以下で説明するように、後続の映像ブロックのパレット予測子は、通常、前に使用されたパレット予測子を更新することによって生成される。説明のために、パレット予測子は画像レベルで定義されると仮定される。言い換えると、画像には複数の符号化ブロックが含まれてもよく、各符号化ブロックがその自分のパレットテーブルを有するが、画像全体に対して1つのパレット予測子がある。
【0076】
映像ビットストリームにおいてパレットエントリをシグナリングすることに要するビットを低減するために、映像デコーダは、パレット予測子を利用して映像ブロックを再構築するために使用されるパレットテーブル内の新しいパレットエントリを決定することができる。例えば、パレット予測子は、前に使用されたパレットテーブルからのパレットエントリを含んでもよく、或いは最近使用されたパレットテーブルのすべてのエントリを含むことによって最近使用されたパレットテーブルで初期化されてもよい。いくつかの実行では、パレット予測子は、最近使用されたパレットテーブルからのすべてのエントリよりも少ないエントリを含み、次に他の前に使用されたパレットテーブルからのいくつかのエントリを組み込むことができる。パレット予測子は、異なるブロックを符号化するために使用されるパレットテーブルと同じサイズを有してもよく、或いは異なるブロックを符号化するために使用されるパレットテーブルと比べて大きい又は小さいものでもよい。一例では、パレット予測子は、64個のパレットエントリを含む先入れ先出し(FIFO)テーブルとして実行される。
【0077】
パレット予測子から映像データのブロックのためのパレットテーブルを生成するために、映像デコーダは、エンコードされた映像ビットストリームから、パレット予測子の各エントリのための1ビットフラグを受信することができる。1ビットフラグは、パレット予測子の関連付けられたエントリがパレットテーブルに含まれることを指示する第1の値(例えば、バイナリの1)、またはパレット予測子の関連付けられたエントリがパレットテーブルに含まれないことを指示する第2の値(例えば、バイナリの0)を有することができる。パレット予測子のサイズが映像データのブロックに使用されるパレットテーブルよりも大きい場合、パレットテーブルの最大サイズに達すると、映像デコーダはそれ以上のフラグの受信を停止してもよい。
【0078】
いくつかの実行では、パレットテーブル内のいくつかのエントリは、パレット予測子を使用して決定されるのではなく、エンコードされた映像ビットストリームで直接にシグナリングされてもよい。そのようなエントリの場合、映像デコーダは、エンコードされた映像ビットストリームから、エントリに関連付けられた輝度および2つの彩度の成分のピクセル値を指示する3つの別個のmビット値を受信することができ、ここで、mは映像データのビット深度を表現する。直接にシグナリングされたパレットエントリに要する複数のmビット値と比べると、パレット予測子から得られるこれらのパレットエントリは、1ビットのフラグのみを要求する。したがって、パレット予測子を使用して一部またはすべてのパレットエントリをシグナリングすることは、新しいパレットテーブルのエントリをシグナリングすることに要するビット数を大幅に低減でき、これでパレットモード符号化の全体的な符号化効率を向上する。
【0079】
多くの例では、1つのブロックのためのパレット予測子は、1つまたは複数の前に符号化されたブロックを符号化するために使用されるパレットテーブルに基づいて決定される。ただし、画像、スライス、またはタイルの最初の符号化木ユニットを符号化する場合、前に符号化されたブロックのパレットテーブルは利用できない。したがって、パレット予測子は、前に使用されたパレットテーブルのエントリを使用して生成され得ない。このような場合、パレット予測子初期化器のシーケンスは、シーケンスパラメータセット(SPS)および/または画像パラメータセット(PPS)でシグナリングされてもよく、シーケンスパラメータセット(SPS)および/または画像パラメータセット(PPS)は、前に使用されたパレットテーブルが利用できない場合にパレット予測子を生成するために使用される値である。 SPSは一般に、各スライスセグメントヘッダに見出されるシンタックス要素が指するPPSに見出されるシンタックス要素のコンテンツによって決定されるように、符号化映像シーケンス(CVS)と呼ばれる一連の続く符号化映像画像に適用されるシンタックス要素のシンタックス構造を指する。PPSは一般に、各スライスセグメントヘッダに見出されるシンタックス要素によって決定されるように、CVS内の1つまたは複数の単独の画像に適用されるシンタックス要素のシンタックス構造を指する。したがって、SPSは一般にPPSよりも高いレベルのシンタックス構造であると認定され、PPSに含まれるシンタックス要素と比べると、SPSに含まれるシンタックス要素は一般に変更頻度が低く、映像データの大部分に適用されるという意味がある。
【0080】
図5Aから5Bは、本開示のいくつかの実行に従って、適応色空間変換(ACT)の技術を適用してRGB色空間とYCgCo色空間との間に残差を変換する例を示すブロック図である。
【0081】
HEVCスクリーンコンテンツ符号化拡張において、ACTを適用して、残差をある色空間(例えば、RGB)から別の色空間(例えば、YCgCo)へ適応的に変換することで、3つの色成分(例えば、R、G、およびB)の間の関連(例えば、冗長性)はYCgCo色空間において大幅に低減される。さらに、既存のACT設計では、異なる色空間の適応は、TUごとに1つのフラグtu_act_enabled_flagをシグナリングすることにより、変換ユニット(TU)レベルで実行される。フラグtu_act_enabled_flagが1に等しい場合に、当前のTUの残差がYCgCo空間に符号化されると指示され、それ以外の場合(即ち、フラグが0に等しい場合)に、当前のTUの残差が元の色空間に符号化される(即ち、色空間転換なし)と指示される。さらに、当前のTUはロスレスモードで符号化されること、またはロッシーモードで符号化されることに応じて、異なる色空間変換式が適用される。具体的には、ロッシーモードでのRGB色空間とYCgCo色空間との間のフォワード及びインバースの色空間変換式が
図5Aに定義される。
【0082】
ロスレスモードの場合、RGB-YCgCo変換の可逆バージョン(YCgCo-LSとしても知られる)が使用される。RGB-YCgCo変換の可逆バージョンは、
図5Bおよび関連の説明に示されるリフティング操作に基づいて実行される。
【0083】
図5Aに示されるように、ロッシーモードで使用されるフォワードおよびインバースの色変換マトリックスは正規化されていない。したがって、YCgCo信号の幅さは、色変換が適用された後で元の信号の幅さよりも小さくなる。フォワード色変換によって引き起こされる幅さの低減を補償するために、調整された量子化パラメータがYCgCoドメインの残差に適用される。具体的には、色空間変換が適用されると、YCgCoドメイン残差の量子化に使用されるQP値QP
Y、QP
Cg、およびQP
Coは、それぞれQP-5、QP-5、およびQP-3に設定され、ここでQPは元の色空間で使用される量子化パラメータである。
【0084】
図6は、本開示のいくつかの実行による例示的な映像データデコーディング処理において、彩度スケーリングを用いる輝度マッピング(LMCS)の技術を適用するブロック図である。
【0085】
VVCでは、LMCSは、ループ内フィルタ(例えば、デブロッキングフィルタ、SAOおよびALF)の前に適用される新しい符号化ツールとして使用される。一般に、LMCSは以下の2つの主要なモジュール有する:1)適応区分的線形モデルに基づく輝度成分のループ内マッピング;2)輝度に依存する彩度残差スケーリング。
図6は、LMCSが適用される修正されたデコーディング処理を示す。
図6において、マッピングされたドメインで行われるデコーディングモジュールは、エントロピーデコーディングモジュール、逆量子化モジュール、逆変換モジュール、輝度イントラ予測モジュール、および輝度サンプル再構築モジュール(すなわち、輝度予測サンプルと輝度残差サンプルとの加算)を含む。元の(すなわち、マッピングされていない)ドメインで行われるデコーディングモジュールは、動き補償予測モジュール、彩度イントラ予測モジュール、彩度サンプル再構築モジュール(すなわち、彩度予測サンプルと彩度残差サンプルとの加算)、およびデブロッキングモジュール、SAOモジュール、ALFモジュールなどのすべてのループ内フィルターモジュールを含む。 LMCSによって導入された新しい操作モジュールは、輝度サンプルのフォワードマッピングモジュール610、輝度サンプルのインバースマッピングモジュール620、および彩度残差スケーリングモジュール630を含む。
【0086】
LMCSのループ内マッピングは、入力信号のダイナミックレンジを調整して、符号化効率を改善することができる。既存のLMCS設計の輝度サンプルのループ内マッピングは、以下の2つのマッピング関数に基づいて築かれる:1つはフォワードマッピング関数FwdMapで、もう1つは対応するインバースマッピング関数InvMapである。フォワードマッピング関数は、16個の等しいサイズのピースを持つ1つの区分的線形モデルを使用してエンコーダからデコーダにシグナリングされる。インバースマッピング関数は、フォワードマッピング関数から直接に得られるため、シグナリングされる必要はない。
【0087】
輝度マッピングモデルのパラメータは、スライスレベルでシグナリングされる。プレゼンスフラグは最初にシグナリングされて、当前のスライスに対して輝度マッピングモデルがシグナリングされるか否かを指示する。当前のスライスに輝度マッピングモデルが存在する場合、対応する区分的線形モデルパラメータがさらにシグナリングされる。さらに、スライスレベルで、他のLMCS制御フラグがシグナリングされてスライスのLMCSを有効/無効にする。
【0088】
彩度残差スケーリングモジュール630は、ループ内マッピングが輝度信号に適用されるときに輝度信号とそれに対応する彩度信号との間の量子化精度の相互作用を補償するように設計される。また、当前のスライスに対して彩度残差スケーリングが有効にされるか無効にされるかをスライスヘッダでシグナリングする。輝度マッピングが有効にされる場合、輝度依存の彩度残差スケーリングが適用されるか否かを指示するために付加的なフラグをシグナリングする。輝度マッピングが使用されない場合、輝度依存の彩度残差スケーリングは常に無効にされ、付加的なフラグは必要でない。さらに、4つ以下の彩度サンプルを含有するCUにとって彩度残差スケーリングは常に無効にされる。
【0089】
図7は、本開示のいくつかの実行に従って例示的な映像デコーディング処理を示すブロック図であり、当該処理で映像デコーダが逆適応色空間変換(ACT)の技術を実行する。
【0090】
HEVC SCCのACT設計と同様に、VVCのACTは、4:4:4彩度フォーマットの1つのCUのイントラ/インター予測残差を元の色空間(例えば、RGB色空間)からYCgCo色空間に転換する。その結果、3つの色成分の間の冗長性を低減して、より優しい符号化効率を得ることができる。
図7には、如何にして逆ACTモジュール710の添加を通じて逆ACTがVVCフレームワークに適用されるかを示すデコーディングフローチャートが示される。ACTが有効にされてエンコードされたCUを処理する場合、エントロピーデコーディング、逆量子化、および逆DCT/DSTベースの変換は最初にCUに適用される。その後、
図7に示されるように、逆ACTがインヴォークされて、デコードされた残差をYCgCo色空間から元の色空間(例えば、 RGBおよびYCbCr)に転換する。さらに、ロッシーモードのACTは正規化されていないため、(-5、-5、-3)のQP調整がY、Cg、およびCoの成分に適用されて、変換された残差の変更された幅さを補償する。
【0091】
いくつかの実施例では、ACT方法は、HEVCの同じACTコア変換を再利用して、異なる色空間の間に色転換を行う。具体的には、当前のCUがロッシー方式で符号化されること或いはロスレス方式で符号化されることに応じて、2つの異なるバージョンの色変換が適用される。ロッシーの場合のフォワードおよびインバースの色変換は、
図5Aに示されるように非可逆YCgCo変換マトリックスを使用する。ロスレスの場合に、
図5Bに示されるように可逆色変換YCgCo-LSが適用される。さらに、既存のACT設計とは異なり、VVC標準の他の符号化ツールとの相互作用を処理するために、提案されたACTスキームに次の変更が導入される。
【0092】
例えば、HEVC内の1つのCUの残差が複数のTUに分割され得るので、色空間転換が適用される必要があるか否かを指示するために、ACT制御フラグがTUごとに別々にシグナリングされる。しかしながら、
図4Eに関連して前に説明したように、二分割および三分割構造でネストされた1つの四分木がVVCに適用されてマルチ分割タイプ概念が置き換えられるので、HEVC内の個別のCU、PU、およびTU分割が削除される。これは、サポートされる最大変換サイズがCUの1つの成分の幅さまたは高さよりも小さい場合を除き、ほとんどの場合にさらなる分割がないで1つのCU葉ノードが予測および変換処理の単位としても使用されることを意味する。そのような分割構造に基づいて、本開示では、CUレベルでACTを適応的に有効および無効にすることが提案される。具体的には、CUごとに1つのフラグcu_act_enabled_flagがシグナリングされ、CUの残差を符号化するために元の色空間とYCgCo色空間との間に選択を行う。フラグが1に等しい場合に、CU内のすべてのTUの残差がYCgCo色空間で符号化されることを指示する。それ以外の場合、フラグcu_act_enabled_flagが0に等しい場合、CUのすべての残差が元の色空間で符号化される。
【0093】
いくつかの実施例では、シンタックス要素、例えば、sps_act_enabled_flagがシーケンスパラメータセット(SPS)に添加されて、シーケンスレベルでACTが有効であるか否かを指示する。さらに、色空間転換は輝度成分と彩度成分が同じ解像度(例えば、4:4:4彩度フォーマット4:4:4)を有する映像コンテンツに適用されるため、1つのビットストリーム適合要求を添加する必要があることによって、ACTは4:4:4彩度フォーマットの場合のみ有効にされ得る。表1は、上記のシンタックスが添加されて修正されたSPSシンタックステーブルを示す。
【表1】
【0094】
具体的には、1に等しいsps_act_enabled_flagはACTが有効であることを指示し、0に等しいsps_act_enabled_flagはACTが無効であることを指示することで、SPSを指する、0であると推測されるCUに対してフラグcu_act_enabled_flagがシグナリングされない。ChromaArrayTypeが3に等しくない場合、sps_act_enabled_flagの値が0に等しくなければならないことがビットストリーム適合の要件である。
【0095】
別の実施例では、常にsps_act_enabled_flagをシグナリングする代わりに、フラグのシグナリングは、入力信号の彩度タイプに条件付けられる。具体的には、輝度成分と彩度成分とが同じ解像度の場合にのみACTが適用できると、フラグsps_act_enabled_flagは、入力映像が4:4:4彩度フォーマットでキャプチャされた場合にのみシグナリングされる。このような変更に伴い、修正されたSPSシンタックステーブルは次のとおりです。
【表2】
【0096】
いくつかの実施例では、ACTを使用して映像データをデコードするためのシンタックス設計仕様は、以下の表に示される。
【表3】
【0097】
1に等しいフラグcu_act_enabled_flagは、符号化ユニットの残差がYCgCo色空間に符号化されることを指示し、0に等しいフラグcu_act_enabled_flagは、符号化ユニットの残差が元の色空間(例えば、RGB又はYCbCr)に符号化されることを指示する。フラグcu_act_enabled_flagが存在しない場合、0に等しいと推測される。
【0098】
図8Aおよび8Bは、本開示のいくつかの実行に従って、映像デコーダが逆適応色空間変換(ACT)および彩度スケーリングを用いる輝度マッピングの技術を実行する例示的な映像デコーディング処理を示すブロック図である。いくつかの実施例では、映像ビットストリームは、両方のACT(例えば、
図7の逆ACT710)および彩度残差スケーリング(例えば、
図6の彩度残差スケーリング630)を使用して符号化される。いくつかの他の実施例では、映像ビットストリームは、彩度残差スケーリングを使用しており両方のACTを使用せず符号化され、これにより、逆ACTT710を必要としない。
【0099】
より具体的には、
図8Aは、映像符号器が逆ACT710の前に彩度残差スケーリング630を実行する実施例を示す。その結果、映像符号器は、色空間変換されたドメインにおいて彩度残差スケーリング630を用いて輝度マッピングを実行する。例えば、入力映像がRGBフォーマットでキャプチャされ、YCgCo色空間に変換されると仮定すると、映像符号器は、YCgCo色空間の輝度残差Yに従って、彩度残差CgおよびCoに対して彩度残差スケーリング630を実行する。
【0100】
図8Bは、映像符号器が逆ACT710の後に彩度残差スケーリング630を実行する代替の実施例を示す。その結果、映像符号器は、元の色空間ドメインで彩度残差スケーリング630を用いて輝度マッピングを実行する。例えば、入力映像がRGBフォーマットでキャプチャされると仮定すると、映像符号器はBおよびR成分に彩度残差スケーリングを適用する。
【0101】
図9は、本開示のいくつかの実行による、適応色空間変換(ACT)の実行とブロック差動パルス符号化変調(BDPCM)との間の例示的なデコーディング論理を示すブロック図である。
【0102】
BDPCMは、スクリーンコンテンツ符号化のための符号化ツールである。いくつかの実施例では、BDPCM有効フラグは、SPSにおいてシーケンスレベルでシグナリングされる。BDPCM有効フラグは、SPSで変換スキップモードが有効になる場合にのみシグナリングされる。
【0103】
BDPCMが有効になると、CUサイズが輝度サンプルに関してMaxTsSize×MaxTsSize以下であり、そしてCUがイントラ符号化される場合、フラグはCUレベルで送信され、ここで、MaxTsSizeは、変換スキップモードが許可される最大のブロックサイズである。このフラグは、通常のイントラ符号化が使用されるかまたはBDPCMが使用されるかを指示する。BDPCMが使用される場合、別のBDPCM予測方向フラグはさらに送信されて、予測が水平であるか又は垂直であるかを指示する。次に、フィルタリングされない参照サンプルを利用し、通常の水平または垂直のイントラ予測処理を使用してブロックが予測される。残差が量子化され、且つ各量子化残差とその予測子、つまり、水平または垂直(BDPCM予測方向に応じて)の隣接位置の前に符号化された残差と間の差が符号化される。
【0104】
【0105】
【0106】
【0107】
逆量子化残差Q-1(Q(ri,j))がイントラブロック予測値に添加されて、再構築されたサンプル値が生成される。
【0108】
【0109】
いくつかの実施例では、映像符号器は、ACTとBDPCMとの間の相互作用をよりよく処理するために異なる論理を実行する。例えば、ACTが1つのイントラCUに適用されると、BDPCMは輝度成分に対して有効になるが、彩度成分に対しては無効になる(910)。符号化ユニットの対応の修正されたシンタックステーブルが以下のように示される。
【表4】
【0110】
いくつかの実施例では、ACTが1つのイントラCUに適用されると、BDPCMは、輝度成分および彩度成分の両方に対して有効にされる(920)。符号化ユニットの対応の修正されたシンタックステーブルが以下のように示される。
【表5】
【0111】
いくつかの実施例では、ACTが1つのイントラCUに適用されると、BDPCMは、輝度成分および彩度成分の両方に対して無効にされる(930)。このような場合、BDPCM関連のシンタックス要素をシグナリングする必要はない。符号化ユニットの対応の修正されたシンタックステーブルが以下のように示される。
【表6】
【0112】
図10は、本開示のいくつかの実行に従って、ACTと他の符号化ツール(例えば、LMCSおよびBDPCM)との間の相互作用に基づいて逆適応色空間変換(ACT)の技術を条件付きで実行することによって映像符号器が映像データをデコードする例示的な処理を示すフローチャート1000である。
【0113】
第1のステップとして、映像デコーダは、ビットストリームから、彩度スケーリングを用いる輝度マッピング(LMCS)がスライス内の符号化ユニットに適用されるか否かを指示するスライスのスライスヘッダ内の第1のシンタックス要素を受信する(1010)。
【0114】
次に、映像デコーダは、ビットストリームから、スライス内の符号化ユニットのための第2のシンタックス要素(例えば、cu_act_enabled_flag)を受信する(1020)。第2のシンタックス要素は、符号化ユニットが適応色空間変換(ACT)を使用して符号化されるか否かを指示する。
【0115】
第2のシンタックス要素がゼロ以外の値を有する(例えば、符号化ユニットがACTを使用して符号化されたことを指示する)と、映像デコーダは、逆ACTを適用して符号化ユニットの輝度残差および彩度残差を符号化ユニットに対応する映像データの変換された色空間から元の色空間へ転換することにより、映像データをデコードする(1030)。
【0116】
逆ACTを適用して符号化ユニットの輝度残差および彩度残差を転換した後、第1のシンタックス要素がゼロ以外の値を有する場合(例えば、符号化ユニットがLMCSで符号化されたことを指示する)、映像デコーダは、符号化ユニットの輝度サンプルへの逆輝度マッピングおよび彩度残差への逆スケーリングを実行することによって符号化ユニットに対応する映像データをデコードする(1040)。
【0117】
いくつかの実施例では、第2のシンタックス要素を受信する前に、映像デコーダは、ビットストリームから第3のシンタックス要素(例えば、chroma_format_idc)を受信し、ここで、第3のシンタックス要素は、映像データが事前定義された彩度フォーマットを有するか否かを指示する。上記のように、ACTは、特定の事前定義された彩度フォーマット(例えば、4:4:4彩度フォーマット)に対してのみ有効になる。
【0118】
いくつかの実施例では、第2のシンタックス要素(例えば、cu_act_enabled_flag)は、映像データが事前定義された彩度フォーマットを有する場合にのみビットストリームに存在する(例えば、映像データが4:4:4彩度フォーマットでない場合、ACTは無効にされる)。
【0119】
いくつかの実施例では、変換された色空間はYCgCo色空間であり、一方、元の色空間は、RGB色空間またはYCbCr色空間でもよい。
【0120】
いくつかの実施例では、逆ACTを実行して符号化ユニットの輝度残差および彩度残差を転換した後、映像デコーダは、以下によって、符号化ユニットの輝度サンプルへの逆輝度マッピングおよび彩度残差への逆スケーリングを実行する:元の色空間の輝度残差を予測された輝度サンプルに加算することで符号化ユニットのマッピングされたドメインにおける中間輝度サンプルを生成すること;1つまたは複数の適応区分的線形モデルを使用してマッピングされたドメインの中間輝度サンプルを事前マッピングされたドメイン内の再構築された輝度成分に転換すること;マッピングされたドメイン内の対応の中間輝度サンプルに従って、彩度残差を逆スケーリングすること;スケーリングされた彩度残差と予測された彩度サンプルを使用して符号化ユニットの彩度成分を再構築すること。
【0121】
いくつかの実施例では、映像デコーダは、ビットストリームから、符号化ユニットに対応する映像データを受信し、ここで、符号化ユニットは、イントラ予測モードによって符号化される。映像符号器は、映像データから第1のシンタックス要素(例えば、cu_act_enabled_flag)を受信し、ここで、第1のシンタックス要素は、符号化ユニットが適応色空間変換(ACT)を使用して符号化されるか否かを指示する。第1のシンタックス要素がゼロ値を有する場合、映像符号器は映像データから1つまたは複数のシンタックス要素(例えば、intra_bdpcm_chroma_flag、intra_bdpcm_chroma_dir_flag)を受信し、ここで、1つまたは複数のシンタックス要素は、符号化ユニットの彩度成分がブロック差動パルス符号化変調(BDPCM)を使用して符号化されるか否かを指示する。第1のシンタックス要素がゼロ以外の値を有する場合、映像符号器は、BDPCMに関連付けられた1つまたは複数のシンタックス要素にデフォルト値を割り当てる。デフォルト値は、符号化ユニットの彩度成分が逆BDPCMまたはその他を使用してデコードされることを指示する。映像符号器は、次に、ACTに関連付けられた第1のシンタックス要素およびBDPCMに関連付けられた1つまたは複数のシンタックス要素に従って、映像データから符号化ユニットをデコードする。
【0122】
いくつかの実施例では、第1のシンタックス要素を受信する前に、映像デコーダは、映像データから第2のシンタックス要素を受信し、ここで、第2のシンタックス要素は、映像データが事前定義された彩度フォーマットを有するか否かを指示する。上記のように、ACTは、特定の事前定義された彩度フォーマット(例えば、4:4:4彩度フォーマット)に対してのみ有効になる。
【0123】
いくつかの実施例では、第1のシンタックス要素は、映像データが事前定義された彩度フォーマットを有する場合にのみビットストリームに存在する。
【0124】
いくつかの実施例では、色空間変換が適用されておらず符号化ユニットが符号化されるときに、符号化ユニットは逆BDPCMを使用してデコードされる。
【0125】
1つ又は複数の例では、説明される機能はハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせにおいて実行されてもよい。ソフトウェアにより実行される場合、機能は1つ又は複数の指令又はコードとしてコンピュータ可読媒体に記憶され、又はコンピュータ可読媒体により送信され、ハードウェアベース処理ユニットにより実行されてもよい。コンピュータ可読媒体は、例えばデータ記憶媒体等の有形媒体に対応するコンピュータ可読記憶媒体、又は、コンピュータプログラムを一箇所から例えば通信プロトコルに基づいて他の箇所まで容易に伝送することができるいかなる媒体を含む通信媒体を含んでもよい。この方式によって、コンピュータ可読媒体は一般的に、(1)非一時的有形コンピュータ可読記憶媒体、又は、(2)信号又はキャリアウェーブ等の通信媒体に対応してもよい。データ記憶媒体は、1つ又は複数のコンピュータ、又は1つ又は複数のプロセッサがアクセスして指令、コード及び/又はデータ構造を検索することにより本願に説明される実施形態を実行することができるいかなる利用可能媒体であってもよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでもよい。
【0126】
本明細書の実施形態の説明において使用される用語は特定の実施形態を説明するためのものに過ぎず、特許請求の範囲を制限するためのものではない。上下の文脈において他の意味を明確に指示していない限り、実施形態の説明及び添付の特許請求の範囲に使用される単数形式の「1種類」、「1つ」及び「該」は複数形式も含むように意図されている。更に理解されるように、本明細書に使用される用語「及び/又は」は1つ又は複数の関連する列挙した項目の任意及びすべての可能な組み合わせを指し、且つ1つ又は複数の関連する列挙した項目の任意及びすべての可能な組み合わせを含む。更に理解されるように、用語「備える」及び/又は「含む」は本明細書に使用される際に前記特徴、要素及び/又は構成要素の存在を指定するが、1つ又は複数の他の特徴、要素、構成要素及び/又はそれらからなる群の存在又は追加を排除しない。
【0127】
更に理解されるように、用語「第1」、「第2」等は本明細書において様々な要素を説明することに用いられてもよいが、これらの要素はこれらの用語により制限されるものではない。これらの用語は1種類の要素と他の種類の要素とを区別することのみに用いられる。例えば、実施形態の範囲を逸脱せずに、第1電極は第2電極と称されてもよく、且つ、同様に第2電極は第1電極と称されてもよい。第1電極及び第2電極はいずれも電極であるが、同じ電極ではない。
【0128】
本願の記述は説明及び記述のためのものであり、開示される形式の本発明を網羅又は制限するように意図されるものではない。上記記述及び関連図面における指導を受けて、多くの修正、変化及び代替実施形態は当業者にとっては明らかなものである。実施例の選択及び記述は、本発明の原理、実際応用を最もよく解釈し、且つ、当業者が本発明の様々な実施形態を理解でき、基本原理及び様々な修正を有する様々な実施形態を最もよく利用し、例えば期待される特定用途に適用するようにするためのものである。従って、理解されるように、特許請求の範囲は開示される実施形態の具体例に限らず、且つ修正及び他の実施形態は添付の特許請求の範囲内に含まれるように意図されている。