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

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

▶ インターデジタル シーイー パテント ホールディングスの特許一覧

特許7648610コンテキストコード化BIN(CCB)カウント方法の統合
<>
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図1
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図2
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図3
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図4
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図5
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図6
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図7
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図8
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図9
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図10
  • 特許-コンテキストコード化BIN(CCB)カウント方法の統合 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】コンテキストコード化BIN(CCB)カウント方法の統合
(51)【国際特許分類】
   H04N 19/13 20140101AFI20250311BHJP
   H04N 19/146 20140101ALI20250311BHJP
   H04N 19/176 20140101ALI20250311BHJP
【FI】
H04N19/13
H04N19/146
H04N19/176
【請求項の数】 20
(21)【出願番号】P 2022518737
(86)(22)【出願日】2020-09-18
(65)【公表番号】
(43)【公表日】2022-11-24
(86)【国際出願番号】 EP2020076067
(87)【国際公開番号】W WO2021058381
(87)【国際公開日】2021-04-01
【審査請求日】2023-09-19
(31)【優先権主張番号】19306161.1
(32)【優先日】2019-09-23
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518341334
【氏名又は名称】インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ヤー チェン
(72)【発明者】
【氏名】ファブリス ルルアンネック
(72)【発明者】
【氏名】フランク ガルピン
(72)【発明者】
【氏名】カラム ナセル
【審査官】田中 純一
(56)【参考文献】
【文献】特表2022-512090(JP,A)
【文献】国際公開第2020/139774(WO,A1)
【文献】Yusuke Kato, et al.,Non-CE7: Unification of syntaxes after CCB count exceeds the maximum number between transform residual and transform skip residual [online], JVET-O JVET-O0406-v2,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0406-v2.zip>,2019年07月05日,pp.1-12
【文献】Muhammed Coban, et al.,CE8(7)-related: Alignment of number of context coded bins per coefficients for TS residual coding and transform coefficient coding [online], JVET-O JVET-O1169,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O1069-v1.zip>,2019年07月11日,pp.1-3
【文献】Y. Chen, et al.,CE7-related: Unification of CCB count method between transform residual and transform skip residual coding [online], JVET-P JVET-P0402-v1,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0402-v1.zip>,2019年09月24日,pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビデオ符号化の方法であって、
ブロックの予測残差に関連付けられる1つまたは複数のシンタックス要素を符号化するために使用されるコンテキストコード化binの数をカウントすることであって、限度は、前記コンテキストコード化binの数を制限するために使用される、ことと、
前記ブロックの前記予測残差の符号を示すシンタックス要素を符号化するために使用されるコンテキストコード化binの第2の数をカウントすることであって、別の限度は、前記コンテキストコード化binの第2の数を制限するために使用される、ことと
を備える方法。
【請求項2】
前記ブロックの前記予測残差は、変換残差コーディングプロセスおよび変換スキップ残差コーディングプロセスの1つを使用して符号化される、請求項1の方法。
【請求項3】
ビデオ復号の方法であって、
ブロックの予測残差に関連付けられる1つまたは複数のシンタックス要素を復号するために使用されるコンテキストコード化binの数をカウントすることであって、限度は、前記コンテキストコード化binの数を制限するために使用される、ことと、
前記ブロックの前記予測残差の符号を示すシンタックス要素を復号するために使用されるコンテキストコード化binの第2の数をカウントすることであって、別の限度は、前記コンテキストコード化binの第2の数を制限するために使用される、ことと、
を備える方法。
【請求項4】
前記ブロックの前記予測残差は、変換残差コーディングプロセスおよび変換スキップ残差コーディングプロセスの1つを使用して復号される、請求項3の方法。
【請求項5】
前記限度は、1.75*TB_sizeに設定され、TB_sizeは、前記ブロックにおけるサンプルの数を示す、請求項1乃至4のいずれか一項の方法。
【請求項6】
予測残差の符号を示すシンタックス要素は、前記コンテキストコード化binの数をカウントすることから除外される、請求項1乃至4のいずれか一項の方法。
【請求項7】
予測残差の絶対レベルが値よりも大きいかどうかを示すシンタックス要素は、前記コンテキストコード化binの数をカウントすることから除外される、請求項1乃至4のいずれか一項の方法。
【請求項8】
前記別の限度は、TB_sizeによって決まり、TB_sizeは、前記ブロックにおけるサンプルの数を示す、請求項1乃至4のいずれか一項の方法。
【請求項9】
前記別の限度は、0.5*TB_sizeに設定される、請求項の方法。
【請求項10】
前記変換残差コーディングプロセスおよび前記変換スキップ残差コーディングプロセスは、前記コンテキストコード化binの数をカウントするとき、シンタックス要素の同じセットを使用する、請求項2または請求項4の方法。
【請求項11】
1つまたは複数のプロセッサを備える、ビデオ符号化の装置であって、
前記1つまたは複数のプロセッサは、
ブロックの予測残差に関連付けられる1つまたは複数のシンタックス要素を符号化するために使用されるコンテキストコード化binの数をカウントすることであって、限度は、前記コンテキストコード化binの数を制限するために使用される、ことと、
前記ブロックの前記予測残差の符号を示すシンタックス要素を符号化するために使用されるコンテキストコード化binの第2の数をカウントすることであって、別の限度は、前記コンテキストコード化binの第2の数を制限するために使用される、ことと
を行うように構成される、装置。
【請求項12】
前記ブロックの前記予測残差は、変換残差コーディングプロセスおよび変換スキップ残差コーディングプロセスの1つを使用して符号化される、請求項11の装置。
【請求項13】
1つまたは複数のプロセッサを備える、ビデオ復号の装置であって、
前記1つまたは複数のプロセッサは、
ブロックの予測残差に関連付けられる1つまたは複数のシンタックス要素を復号するために使用されるコンテキストコード化binの数をカウントすることであって、限度は、前記コンテキストコード化binの数を制限するために使用される、ことと、
前記ブロックの前記予測残差の符号を示すシンタックス要素を復号するために使用されるコンテキストコード化binの第2の数をカウントすることであって、別の限度は、前記コンテキストコード化binの第2の数を制限するために使用される、ことと、
を行うように構成される、装置。
【請求項14】
前記ブロックの前記予測残差は、変換残差コーディングプロセスおよび変換スキップ残差コーディングプロセスの1つを使用して復号される、請求項13の装置。
【請求項15】
前記限度は、1.75*TB_sizeに設定され、TB_sizeは、前記ブロックにおけるサンプルの数を示す、請求項11乃至14のいずれか一項の装置。
【請求項16】
予測残差の符号を示すシンタックス要素は、変換スキップ残差コーディングプロセスにおける前記コンテキストコード化binの数をカウントすることから除外される、請求項11乃至14のいずれか一項の装置。
【請求項17】
予測残差の絶対レベルが値よりも大きいかどうかを示すシンタックス要素は、変換スキップ残差コーディングプロセスにおける前記コンテキストコード化binの数をカウントすることから除外される、請求項11乃至14のいずれか一項の装置。
【請求項18】
前記別の限度は、TB_sizeによって決まり、TB_sizeは、前記ブロックにおけるサンプルの数を示す、請求項11乃至14のいずれか一項の装置。
【請求項19】
前記別の限度は、0.5*TB_sizeに設定される、請求項18の装置。
【請求項20】
前記変換残差コーディングプロセスおよび前記変換スキップ残差コーディングプロセスは、前記コンテキストコード化binの数をカウントするとき、シンタックス要素の同じセットを使用する、請求項12または請求項14の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、一般に、残差変換モード(transform residual mode)および残差変換スキップモード(transform skip residual mode)のためのコンテキストコード化bin(CCB:context-coded bins)スキームを統合することに関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオコーディングスキームは、通常、予測および変換を使用して、ビデオコンテンツにおける空間的および時間的冗長性を利用する。一般に、イントラ予測またはインター予測は、フレーム内画像相関またはフレーム間画像相関を利用するために使用され、次いで、予測エラーまたは予測残差としてしばしば示される元のブロックと予測ブロックとの間の差は、変換、量子化、およびエントロピー符号化される。ビデオを再構成するために、圧縮されたデータは、エントロピー符号化、量子化、変換、および予測に対応する逆処理によって復号される。
【先行技術文献】
【非特許文献】
【0003】
【文献】“Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6),” Document JVET-O2002, 15th Meeting: Gothenburg, SE, 3-12 Jul. 2019
【発明の概要】
【0004】
一実施形態によれば、ビデオ符号化の方法が提供される。この方法は、画像内の符号化されることになるブロックについての予測残差を取得することと、前記ブロックの予測残差を符号化するために使用されるコンテキストコード化binの数をカウントすることであって、前記ブロックの前記予測残差は、変換残差符号化プロセスおよび変換スキップ残差符号化プロセスの1つを使用して符号化されることになり、前記変換残差符号化プロセスおよび前記変換スキップ残差符号化プロセスは、前記コンテキストコード化binの数を制限するために同じ限度を使用する、ことと、前記限度および前記コンテキストコード化binの数に応じて、変換残差符号化プロセスおよび変換スキップ残差符号化プロセスの1つにおいて1つまたは複数のシンタックス要素のエントロピー符号化方法を調整することを備える。
【0005】
別の実施形態によれば、ビデオ復号の方法が提供される。この方法は、ブロックの予測残差を復号するために使用されるコンテキストコード化binの数をカウントすることであって、前記ブロックの前記予測残差は、変換残差復号プロセスおよび変換スキップ残差復号プロセスの1つを使用して復号されることになり、前記変換残差復号プロセスおよび前記変換スキップ残差復号プロセスは、前記コンテキストコード化binの数を制限するために同じ限度を使用する、ことと、前記限度および前記コンテキストコード化binの数に応じて、変換残差復号プロセスおよび変換スキップ残差復号プロセスの1つにおいて1つまたは複数のシンタックス要素のエントロピー復号方法を調整することと、画像内の復号されることになるブロックの予測残差を取得することを備える。
【0006】
別の実施形態によれば、1つまたは複数のプロセッサを備えるビデオ符号化のための装置が提供される。1つまたは複数のプロセッサは、画像内の符号化されることになるブロックについての予測残差を取得することと、ブロックの予測残差を符号化するために使用されるコンテキストコード化binの数をカウントすることであって、前記ブロックの前記予測残差は、変換残差符号化プロセスおよび変換スキップ残差符号化プロセスの1つを使用して符号化されることになり、前記変換残差符号化プロセスおよび前記変換スキップ残差符号化プロセスは、前記コンテキストコード化binの数を制限するために同じ限度を使用する、ことと、前記限度および前記コンテキストコード化binの数に応じて、変換残差符号化プロセスおよび変換スキップ残差符号化プロセスの1つにおいて1つまたは複数のシンタックス要素のエントロピー符号化方法を調整することを行うように構成される。
【0007】
別の実施形態によれば、1つまたは複数のプロセッサを備えるビデオ復号のための装置が提供される。1つまたは複数のプロセッサは、ブロックの予測残差を復号するために使用されるコンテキストコード化binの数をカウントすることであって、前記ブロックの前記予測残差は、変換残差復号プロセスおよび変換スキップ残差復号プロセスの1つを使用して復号されることになり、前記変換残差復号プロセスおよび前記変換スキップ残差復号プロセスは、前記コンテキストコード化binの数を制限するために同じ限度を使用する、ことと、前記限度および前記コンテキストコード化binの数に応じて、変換残差復号プロセスおよび変換スキップ残差復号プロセスの1つにおいて1つまたは複数のシンタックス要素のエントロピー復号方法を調整することと、画像内の復号されることになるブロックの予測残差を取得することを行うように構成される。
【0008】
1つまたは複数の実施形態は、1つまたは複数のプロセッサによって実行されると、上述した実施形態のいずれかに従う符号化方法または復号方法を1つまたは複数のプロセッサに実行させる命令を含むコンピュータプログラムを提供する。1つまたは複数の実施形態はまた、上述した方法に従うビデオデータを符号化するまたは復号する命令を記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上述した方法に従って生成されたビットストリームを格納したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上述した方法に従って生成されたビットストリームを送信するまたは受信する方法および装置を提供する。
【図面の簡単な説明】
【0009】
図1】本実施形態の態様が実装され得るシステムのブロック図を示す図である。
図2】ビデオエンコーダの実施形態のブロック図を示す図である。
図3】ビデオデコーダの実施形態のブロック図を示す図である。
図4】圧縮画像を表すための符号化ツリーユニットと符号化ツリーの概念を示す図である。
図5】変換ブロックの残差コーディング構造を示す図である。
図6】変換スキップブロックの残差コーディング構造を示す図である。
図7】VTM6.0における変換ブロックの残差コーディングプロセスを示す図である。
図8】VTM6.0における変換スキップブロックの残差コーディングプロセスを示す図である。
図9】一実施形態による、変換スキップブロックの残差コーディングプロセスを示す図である。
図10】別の一実施形態による、変換スキップブロックの残差コーディングプロセスを示す図である。
図11】別の一実施形態による、変換スキップブロックの残差コーディングプロセスを示す図である。
【発明を実施するための形態】
【0010】
図1は、様々な態様および実施形態が実装され得るシステムの一例のブロック図を示す。システム100は、下記の様々なコンポーネントを含むデバイスとして具体化することができ、本明細書に記載された1つまたは複数の態様を実施するように構成される。そのようなデバイスの例は、それだけには限らないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、コネクテッド家電、およびサーバなど様々な電子デバイスを含む。システム100の要素は、単独または組合せで、単一の集積回路(IC)、複数のIC、および/またはディスクリートコンポーネントで具体化することができる。例えば、少なくとも1つの実施形態では、システム100の処理およびエンコーダ/デコーダ要素は、複数のICおよび/またはディスクリートコンポーネントにわたって分散されている。様々な実施形態では、システム100は、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを通じて他のシステムまたは他の電子デバイスに通信可能に結合される。様々な実施形態では、システム100は、本明細書に記載された1つまたは複数の態様を実装するように構成される。
【0011】
システム100は、例えば本明細書に記載された様々な態様を実装するためにロードされた命令を実行するように構成された少なくとも1つのプロセッサ110を含む。プロセッサ110は、埋込みメモリ、入力出力インターフェース、および当技術分野で知られている様々な他の回路を含むことができる。システム100は、少なくとも1つのメモリ120(例えば、揮発性メモリデバイスおよび/または不揮発性メモリデバイス)を含む。システム100は、それだけには限らないが、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含む不揮発性メモリおよび/または揮発性メモリを含むことができる記憶デバイス140を含む。記憶デバイス140は、非限定的な例として、内部記憶装置、接続型記憶装置、および/またはネットワークアクセス可能な記憶装置を含むことができる。
【0012】
システム100は、例えば、符号化されたビデオまたは復号されたビデオを提供するためにデータを処理するように構成されたエンコーダ/デコーダモジュール130を含み、エンコーダ/デコーダモジュール130は、それ自体のプロセッサおよびメモリを含むことができる。エンコーダ/デコーダモジュール130は、符号化機能および/または復号機能を実施するためにデバイスに含めることができるモジュールを表す。知られているように、デバイスは、符号化モジュールおよび復号モジュールの一方または両方を含むことができる。さらに、エンコーダ/デコーダモジュール130は、システム100の別々の要素として実装することができ、または当業者に知られているようにハードウェアおよびソフトウェアの組合せとしてプロセッサ110内に組み込むことができる。
【0013】
本明細書に記載の様々な態様を実施するためにプロセッサ110またはエンコーダ/デコーダ130にロードされることになるプログラムコードは、記憶デバイス140内に格納されており、その後、プロセッサ110による実行のためにメモリ120上にロードされることができる。様々な実施形態によれば、プロセッサ110、メモリ120、記憶デバイス140、およびエンコーダ/デコーダモジュール130の1つまたは複数は、本明細書に記載された処理の実施中、様々な項目の1つまたは複数を記憶することができる。そのような記憶される項目は、それだけには限らないが、入力ビデオ、復号されたビデオまたは復号されたビデオの一部分、ビットストリーム、行列、変数、並びに式、公式、演算および動作論理の処理からの中間結果または最終結果を含むことができる。
【0014】
いくつかの実施形態では、プロセッサ110および/またはエンコーダ/デコーダモジュール130内部のメモリは、命令を記憶するために、および符号化または復号中に必要とされる処理のためのワーキングメモリを提供するために使用される。しかし、他の実施形態では、処理デバイス(例えば、処理デバイスは、プロセッサ110またはエンコーダ/デコーダモジュール130とすることができる)の外部メモリがこれらの機能のうちの1つまたは複数のために使用される。外部メモリは、メモリ120および/または記憶デバイス140、例えばダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリとすることができる。いくつかの実施形態では、外部不揮発性フラッシュメモリは、テレビジョンのオペレーティングシステムを記憶するために使用される。少なくとも1つの実施形態では、RAMなど高速外部ダイナミック揮発性メモリが、MPEG-2、HEVC、またはVVC用など、ビデオ符号化および復号動作のためにワーキングメモリとして使用される。
【0015】
システム100の要素に対する入力は、ブロック105に示されている様々な入力デバイスを通じて提供され得る。そのような入力デバイスは、それだけには限らないが、(i)例えば放送局によって無線で送信されるRF信号を受信するRF部、(ii)コンポジット入力端子、(iii)USB入力端子、および/または(iv)HDMI(登録商標)入力端子を含む。
【0016】
様々な実施形態では、ブロック105の入力デバイスは、当技術分野で知られているように関連するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択し(信号を選択すること、または信号を周波数のある帯域に帯域制限することとも称される)、(ii)選択された信号をダウンコンバートし、(iii)(例えば)いくつかの実施形態ではチャネルと称することができる信号周波数帯域を選択するために周波数の狭帯域に再び帯域制限し、(iv)ダウンコンバートおよび帯域制限された信号を復調し、(v)誤り訂正を実施し、(vi)データパケットの所望のストリームを選択するために逆多重化するのに適した要素に関連付けられ得る。様々な実施形態のRF部は、これらの機能を実施するための1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを含む。RF部は、例えば受信された信号をより低い周波数(例えば、中間周波数または近ベースバンド周波数)に、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実施するチューナを含むことができる。1つのセットトップボックスの実施形態では、RF部およびその関連の入力処理要素は、有線(例えば、ケーブル)媒体で送信されるRF信号を受信し、フィルタリング、ダウンコンバート、および所望の周波数帯域に再びフィルタリングすることによって周波数選択を実施する。様々な実施形態は、上記の(および他の)要素の順序を再配置し、これらの要素のいくつかを除去し、および/または同様の、もしくは異なる機能を実施する他の要素を追加する。要素を追加することには、例えば増幅器およびAD変換器を挿入することなど、既存の要素間に要素を挿入することが含まれ得る。様々な実施形態では、RF部はアンテナを含む。
【0017】
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介してシステム100を他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えばリードソロモン誤り訂正は、例えば、必要に応じて別々の入力処理IC内またはプロセッサ110内で実装することができることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別々のインターフェースIC内またはプロセッサ110内で実装することができる。復調され、誤り訂正され、逆多重化されたストリームは、出力デバイス上で提示するために必要に応じてデータストリームを処理するために、例えばメモリおよび記憶要素との組合せで動作するプロセッサ110およびエンコーダ/デコーダ130を含む様々な処理要素に提供される。
【0018】
システム100の様々な要素は、一体化されたハウジング内に設けることができ、一体化されたハウジング内では、様々な要素は相互接続され、好適な接続構成115、例えば、インターIC(I2C)バス、配線、およびプリント回路板を含む当技術分野で知られている内部バスを使用して、それらの間でデータを送信することができる。
【0019】
システム100は、通信チャネル190を介して他のデバイスとの通信を可能にする通信インターフェース150を含む。通信インターフェース150は、それだけには限らないが、通信チャネル190を介してデータを送信および受信するように構成されたトランシーバを含むことができる。通信インターフェース150は、それだけには限らないが、モデムまたはネットワークカードを含むことができ、通信チャネル190は、例えば有線および/または無線媒体内に実装することができる。
【0020】
様々な実施形態では、データは、IEEE802.11などのWi-Fiネットワークを使用して、システム100にストリーミングされる。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル190および通信インターフェース150を介して受信される。これらの実施形態の通信チャネル190は、典型的には、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック105のHDMI接続を介してデータを送るセットトップボックスを使用してストリーミングデータをシステム100に提供する。さらに他の実施形態は、入力ブロック105のRF接続を使用してストリーミングデータをシステム100に提供する。
【0021】
システム100は、ディスプレイ165、スピーカ175、および他の周辺デバイス185を含む様々な出力デバイスに出力信号を提供することができる。他の周辺デバイス185は、実施形態の様々な例において、スタンドアロンDVR、ディスクプレーヤ、ステレオシステム、照明システム、およびシステム100の出力に基づいて機能を提供する他のデバイスのうちの1つまたは複数を含む。様々な実施形態では、AV.Link、CEC、またはユーザの介在ありまたはなしにデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して、制御信号がシステム100とディスプレイ165、スピーカ175、または他の周辺デバイス185との間で通信される。出力デバイスは、それぞれのインターフェース160、170、および180を通じて専用接続を介してシステム100に通信可能に結合され得る。あるいは、出力デバイスは、通信インターフェース150を介して通信チャネル190を使用してシステム100に接続され得る。ディスプレイ165およびスピーカ175は、例えばテレビジョンなどの電子デバイス内のシステム100の他のコンポーネントと単一のユニットで統合され得る。様々な実施形態では、ディスプレイインターフェース160は、例えばタイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0022】
あるいは、ディスプレイ165およびスピーカ175は、例えば入力105のRF部が別々のセットトップボックスの一部である場合、他のコンポーネントのうちの1つまたは複数から分離することができる。ディスプレイ165およびスピーカ175が外部コンポーネントである様々な実施形態では、出力信号は、例えばHDMIポート、USBポートまたはCOMP出力を含む専用の出力接続を介して提供することができる。
【0023】
図2は、HEVC(High Efficiency Video Coding)エンコーダなどの例示的なビデオエンコーダ200を示している。図2はまた、HEVC標準規格に改良が加えられたエンコーダ、またはJVET(Joint Video Exploration Team)によって開発されているVVC(Versatile Video Coding)エンコーダなどのHEVCと同様の技術を使用するエンコーダを示し得る。
【0024】
本願では、「再構成された」および「復号された」という用語は交換可能に使用され、「画像」、「ピクチャ」および「フレーム」という用語は交換可能に使用され得る。必ずしもそうとは限らないが、通常、「再構成された」という用語はエンコーダ側で使用され、「復号された」という用語はデコーダ側で使用される。
【0025】
符号化される前に、ビデオシーケンスは、符号化前処理(201)を受けることができ、例えば、入力カラーピクチャに色変換を適用し(例えば、RGB4:4:4からYCbCr4:2:0への変換)、または、信号分布を圧縮に対してより弾力性のあるものにするために、入力ピクチャ成分の再マッピングを実行する(例えば、色成分の1つのヒストグラム均等化を使用して)ことができる。メタデータは、前処理に関連付けられ、ビットストリームに添付することができる。
【0026】
1つまたは複数の画像を含むビデオシーケンスを符号化するために、画像は、例えば、1つまたは複数のスライスに分割され(202)、各スライスは、1つまたは複数のスライスセグメントを含むことができる。HEVCでは、スライスセグメントは、符号化ユニット、予測ユニット、および変換ユニットに編成される。HEVC規格は、「ブロック」と「ユニット」を区別しており、「ブロック」は、サンプル配列内の特定の領域(例えば、輝度、Y)をアドレス指定し、「ユニット」は、符号化された全ての色成分(Y、Cb、Cr、またはモノクロ)、シンタックス要素、およびブロックに関連付けられる予測データ(例えば、動きベクトル)のコロケートされたブロックを含む。
【0027】
HEVCに従ってコーディングする場合、画像は構成可能なサイズ(通常、64x64、128x128、または256x256ピクセル)の正方形の符号化ツリーブロック(CTB)に分割され、符号化ツリーブロックの一連のセットがスライスにグループ化される。符号化ツリーユニット(CTU)は、符号化された色成分のCTBを含んでいる。CTBは、符号化ブロック(CB)に分割されたクアッドツリーのルートであり、符号化ブロックは、1つまたは複数の予測ブロック(PB)に分割され、変換ブロック(TB)に分割されたクアッドツリーのルートを形成する。4x4より大きい変換ブロック(TB)は、係数グループ(CG)と呼ばれる量子化された係数の4x4サブブロックに分割される。符号化ブロック、予測ブロック、および変換ブロックに対応して、符号化ユニット(CU)には、予測ユニット(PU)とツリー構造の変換ユニット(TU)のセットとが含まれ、PUには全ての色成分の予測情報が含まれ、TUには、各色成分の残差コーディングシンタックス構造(residual coding syntax structure)が含まれる。輝度成分のCB、PBおよびTBのサイズは、対応するCU、PUおよびTUに適用される。本願では、「ブロック」という用語は、例えば、CTU、CU、PU、TU、CG、CB、PB、およびTBのいずれかを指すために使用することができる。さらに、「ブロック」という用語は、H.264/AVCまたは他のビデオコーディング標準規格で指定されているマクロブロックとパーティションを指す場合もあり、より一般的には、様々なサイズのデータの配列を指す場合もある。
【0028】
エンコーダ200では、ピクチャは、以下に説明するように、エンコーダ要素によって符号化される。符号化されるピクチャは、例えば、CUの単位で処理される。各符号化ユニットは、イントラモードまたはインターモードのいずれかを使用して符号化される。符号化ユニットがイントラモードで符号化されると、イントラ予測が実行される(260)。インターモードでは、動き推定(275)と動き補償(270)が実行される。エンコーダは、符号化ユニットを符号化するためにイントラモードまたはインターモードのどちらを使用するかを決定し(205)、予測モードフラグによってイントラモード/インターモードの決定を示す。予測残差(prediction residual)は、元の画像ブロックから予測ブロックを減算(210)することによって計算される。
【0029】
予測残差は、変換され(225)、量子化される(230)。量子化された変換係数、および動きベクトルやその他のシンタックス要素は、ビットストリームを出力するためにエントロピー符号化(245)される。非限定的な例として、CABAC(context-based adaptive binary arithmetic coding:コンテキスト適応型バイナリ算術符号)を使用して、シンタックス要素をビットストリームに符号化することができる。
【0030】
CABACで符号化するために、非バイナリシンタックス要素の値は、バイナリ化プロセスを通じて、bin文字列と呼ばれるバイナリシーケンスにマッピングされる。binの場合、コンテキストモデルが選択される。「コンテキストモデル」は、1つまたは複数のビン(bin)の確率モデルであり、最近コード化されたシンボルの統計に応じて、利用可能なモデルの選択から選択される。各binのコンテキストモデルは、コンテキストモデルインデックス(「コンテキストインデックス」とも呼ばれる)によって識別され、様々なコンテキストインデックスが様々なコンテキストモデルに対応する。コンテキストモデルは、各binが「1」または「0」である確率を格納し、適応型または静的にすることができる。静的モデルは、bin「0」と「1」に対して等しい確率でコーディングエンジンをトリガする。適応型コーディングエンジンでは、binの実際のコード化された値に基づいてコンテキストモデルが更新される。適応型モデルと静的モデルに対応する動作モードは、それぞれ通常モードとバイパスモードと呼ばれる。コンテキストに基づいて、バイナリ算術コーディングエンジンは、対応する確率モデルに従ってbinを符号化し、または復号する。
【0031】
エンコーダは、変換をスキップして、例えば、4x4TUベースで、変換されていない残差信号に直接量子化を適用することもできる。エンコーダは、変換と量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスの適用なしで直接コード化される。直接PCMコーディングでは、予測は適用されず、符号化ユニットのサンプルはビットストリームに直接コード化される。
【0032】
エンコーダは、符号化されたブロックを復号して、さらなる予測のための参照を提供する。量子化された変換係数は、予測残差を復号するために逆量子化(240)および逆変換(250)される。復号された予測残差と予測ブロックを組み合わせて(255)、画像ブロックが再構成される。ループ内フィルタ(265)は、再構成された画像に適用されて、例えば、符号化アーチファクトを低減するためにデブロッキング/SAO(サンプル適応オフセット)フィルタリングを実行する。フィルタリングされた画像は、参照ピクチャバッファ(280)に格納される。
【0033】
図3は、HEVCデコーダなどの例示的なビデオデコーダ300のブロック図を示している。デコーダ300では、ビットストリームは、以下に説明するように、デコーダ要素によって復号される。ビデオデコーダ300は、一般に、図2に記載されているような符号化パスとは逆の復号パスを実行し、符号化パスは、ビデオデータの符号化の一部としてビデオ復号を実行する。図3はまた、HEVC標準規格に改良が加えられたデコーダ、またはVVCデコーダなどのHEVCと同様の技術を採用したデコーダを示し得る。
【0034】
特に、デコーダの入力は、ビデオビットストリームを含むが、これはビデオエンコーダ200によって生成され得る。ビットストリームは、変換係数、動きベクトル、画像分割情報、および他の符号化情報を取得するために、最初にエントロピー復号される(330)。エントロピーコーディングにCABACを使用する場合、コンテキストモデルは、エンコーダコンテキストモデルと同じ方法で初期化され、シンタックス要素はコンテキストモデルに基づいてビットストリームから復号される。
【0035】
画像分割情報は、画像がどのように分割されるか、例えば、CTUのサイズ、およびCTUがCUに分割される方法、および該当する場合はPUに分割される方法を示す。従って、デコーダは、復号された画像分割情報に従って、画像を例えばCTUに分割し、各CTUをCUに分割することができる(335)。変換係数は、予測残差を復号するために逆量子化(340)および逆変換(350)される。
【0036】
復号された予測残差と予測ブロックを組み合わせて(355)、画像ブロックが再構成される。予測ブロックは、イントラ予測(360)または動き補償予測(すなわち、インター予測)(375)から取得できる(370)。ループ内フィルタ(365)は、再構成された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(380)に保存される。
【0037】
復号された画像は、復号後処理(385)、例えば逆色変換(例えば、YCbCr4:2:0からRGB4:4:4に変換)、または符号化前処理(201)において実施された再マッピング処理の逆を実施する逆再マッピングをさらに受けることができる。復号後処理では、符号化前処理で導出され、ビットストリームでシグナリングされるメタデータを使用できる。
【0038】
HEVCでは、符号化ブロックの変換係数は、重複しない係数グループ(CGまたはサブブロック)を使用してコード化され、各CGには符号化ブロックの4x4ブロックの係数が含まれる。VVCドラフト6では、係数グループサイズの選択は、TBサイズのみに依存するようになり、すなわち、チャネルタイプへの依存がなくなる。その結果、様々なCG(1x16、2x8、8x2、2x4、4x2、および16x1)が使用可能になる。符号化ブロック内のCG、およびCG内の変換係数は、予め定められたスキャン順序に従ってコード化される。
【0039】
ピクセルごとのコンテキストコード化bin(通常モードでコード化されたbin)の最大数を制限するために、TBの領域を使用して、VVCドラフト6でTBに許可されるコンテキストコード化binの最大数を導出する(非特許文献1)。図7は、VTM6.0における変換ブロックの残差コーディングプロセスを示しており、図8は、VTM6.0における変換スキップブロックの残差コーディングプロセスを示している。TBの場合、コンテキストコード化bin(CCB)の最大数は、図7のステップ710に示すように、TB_zosize*1.75に設定され、ここで、TB_zosizeは、ゼロ化された係数を除いたTB内のサンプル数を示す。大きなブロック分割は通常、残差が少なく、エネルギーは、変換領域の低周波係数に集中することが知られている。VTM(VVC Test Model)6.0では、32x32領域外の高周波変換係数は、サイズが32より大きい変換ブロックに対してゼロになる。図7のステップ720に示されるように、coded_sub_block_flagは、CCBカウントについて考慮されないことに留意されたい。
【0040】
VTM6.0では、最大32x32(両端を含む)のサイズの輝度ブロックに変換スキップモードを使用できる。CUが変換スキップモードでコード化されると、その予測残差は量子化され(変換なし、つまり変換スキップ)、変換スキップ残差コーディングプロセスを使用してコード化される。残差コーディングが変換係数レベルの統計と信号特性のために設計されているHEVCとは異なり、2つの別々の残差コーディング構造が変換残差(変換された残差、変換がスキップされない)と変換スキップ残差(変換されない残差、変換はスキップされる)にそれぞれ使用される。例えば、CCBの最大数は、図8のステップ810に示されるように、変換スキップモードにおいてTB_size*2に設定され、ここで、TB_sizeは、TB内のサンプル数を示す。また、変換スキップ残差モードのcoeff_sign_flagはコンテキストコード化されており、図8のステップ840に示すようにCCBカウントと見なされる。変換残差(transform residual)の残差コーディング(residual coding)は、「変換係数コーディング(transform coefficients coding)」、「変換残差コーディング(transform residual coding)」、または「変換係数の残差コーディング(residual coding for transform coefficients)」とも呼ばれる。変換スキップ残差(transform skip residual)の残差コーディングは、「変換スキップ(TS)残差コーディング(Transform Skip (TS) residual coding)」とも呼ばれる。
【0041】
変換係数の残差コーディング
【0042】
VVCドラフト6では、変換係数を符号化するために、CGの有意性(significance)が1に等しい場合(720)、CG(サブブロック)のbinはCGのスキャン位置で複数のパスでコード化される:
・パス1:有意性(sig_coeff_flag)、1より大きいフラグ(gt1、abs_level_gtx_flag[0])、パリティフラグ(PAR、par_level_flag)、および3より大きいフラグ(gt3、abs_level_gtx_flag[1])がコーディング順序でコード化される。1より大きいフラグは、sig_coeff_flagが1に等しい場合にのみ存在する。パリティフラグおよび3より大きいフラグ(abs_level_gtx_flag[1])のコーディングは、abs_level_gtx_flag[0]が1に等しいスキャン位置に対してのみ実行される。gt1、PAR、およびgt3の値は、ビットストリームに存在しない場合は0であると推測される。SIG、PAR、gt1、およびgt3フラグは、通常モードでコード化される(740)。MaxCcbsは、これらのフラグが係数に対してコード化された後、4ずつデクリメントされ、カウンタnは1ずつインクリメントされ、SIG、PAR、gt1、およびgt3フラグが通常モードでコード化されているサブブロック内の係数の数を追跡する(750)。ここで、nは、各サブブロックについて0としてリセットされる。サブブロック内の全ての係数がコード化されている場合(755)、またはCCBカウントが限度(limit)に達した場合(730)、パス1は停止するため、パス1では一部のスキャン位置のコーディングがスキップされ得る。
・パス2:パス1でコード化されたスキャン位置の場合、シンタックス要素abs_remainderは、gt3が1に等しいスキャン位置用にコード化される(760)。非バイナリシンタックス要素は、ゴロム-ライス符号を使用して2値化され、結果のbinは算術符号化エンジンのバイパスモードでコード化される。パス1でコード化されていないスキャン位置の場合、シンタックス要素dec_abs_levelはゴロム-ライス符号を使用して2値化され、結果のbinはバイパスモードでコード化される(760)。
・パス3:sig_coeff_flagが1に等しい全てのスキャン位置の符号(coeff_sign_flag)が符号化される。符号(sign)はバイパスモードで符号化される(780)。
【0043】
上記のように、変換係数コーディングでは、変数remBinsPass1(MaxCcbs)が最初にコンテキストコード化binの最大数(MCCB:maximum number of context-coded bins)に設定され、コンテキストコード化binがシグナリングされると1つ減少する。remBinsPass1は4以上であるが、第1のコーディングパスのフラグには、sig_coeff_flag、abs_level_gtx_flag[0](gt1、1より大きいフラグ)、par_level_flag、およびabs_level_gtx_flag[1](gt3、3より大きいフラグ)が含まれており、このフラグはコンテキストコード化されたbinを使用してコード化される。コンテキストコード化されたbinの数が第1のパスのコーディングでMCCBより大きくない場合、さらにコード化されることになる最初のパスで示されるレベル情報の残りの部分は、ゴロム-ライス符号およびバイパス符号化binを使用してabs_remainderのシンタックス要素で符号化される。remBinsPass1が4より小さい場合、最初のパスでコード化されなかった残りの係数は、ゴロム-ライス符号およびバイパス符号化binを使用して、シンタックス要素dec_abs_levelを使用して2番目のパスで直接コード化される。remBinsPass1はTBごとにリセットされる。sig_coeff_flag、abs_level_gtx_flag[0]、par_level_flag、およびabs_level_gtx_flag[1]にコンテキストコード化されたbinを使用することから、残りのシンタックス要素にバイパス符号化binを使用することへの移行は、TBごとに最大1回だけ発生する。係数サブブロックの場合、remBinsPass1が4より小さい場合、係数サブブロック全体がバイパス符号化binを使用してコード化される。上記の全てのレベルコーディングの後、sig_coeff_flagが1に等しい全てのスキャン位置の符号(coeff_sign_flag)が最終的にバイパス符号化される。このプロセスは、変換ブロック(790)内の全てのサブブロックに対して、プロセスが終了する(799)前に実行される。
【0044】
例えば、図5では、スキャン位置C15、・・・、C3の通常モードでsig_coeff_flag、abs_level_gtx_flag[0]、par_level_flag、およびabs_level_gtx_flag[1]を符号化した後、CCBの数が限度に達し、パス1のコーディングが停止する。パス2では、現在のスキャン位置に対してより多くのレベル情報がコード化されることになることをパス1が示している場合、abs_remainderはスキャン位置C15、・・・、C3に対してバイパス符号化される。スキャン位置C2、C1およびC0は、パス1ではコード化されておらず、これらの位置の絶対係数レベルは、バイパスモードを使用してシンタックス要素dec_abs_levelで直接コード化される。パス3では、現在のスキャン位置の係数がゼロでない場合、シンタックス要素coeff_sign_flagがバイパス符号化される。
【0045】
変換スキップの残差コーディング
【0046】
変換スキップモードでは、残差信号の統計的特性は変換係数の統計的特性とは異なり、低周波成分の周囲のエネルギー圧縮は観察されない。残差コーディングは、(空間)変換スキップ残差の様々な信号特性を考慮して変更されるが、これには次のものが含まれる:
-係数スキャンは順方向走査である;
-最後のx/y位置のシグナリングはない;
-coded_sub_block_flagは、以前の全てのcoded_sub_block_flagが0に等しい場合、DCサブブロックを除く全てのサブブロックに対してコード化される;
-テンプレートを減らしたsig_coeff_flagコンテキストモデリング;
-abs_level_gtx_flag[0]およびpar_level_flagは、それぞれ1つのコンテキストモデルのみを使用する;
-5、7、9より大きい追加のフラグ;
-残りの2値化のための修正されたライスパラメータの導出;
-符号フラグcoeff_sign_flagは、コンテキストコード化されており、符号フラグのコンテキストモデリングは、左と上の隣接する係数値に基づいて決定され、また、符号フラグは、sig_coeff_flagの後に解析され、コンテキストコード化された全てのビンをまとめる。
【0047】
図6および図8に示すように、CGの重要度が1である場合(820)、シンタックス要素sig_coeff_flag、coeff_sign_flag、abs_level_gtx_flag[0]、およびpar_level_flagは、第1のパス(830~860)において残差サンプルごとにインターリーブコード化され、その後、第2のパス(870)にあるabs_level_gtx_flagビットプレーン、abs_remainderのコード化(880)に続く。このプロセスは、変換ブロック内の全てのサブブロックに対して、プロセスが終了する(899)前に実行される(890)。
-パス1(830~860):sig_coeff_flag、coeff_sign_flag、abs_level_gtx_flag[0]、およびpar_level_flag。
-パス2(870):abs_level_gtx_flag[1]、abs_level_gtx_flag[2](5より大きいフラグ)、abs_level_gtx_flag[3](7より大きいフラグ)、abs_level_gtx_flag[4](9より大きいフラグ)。
-パス3(880):abs_remainder。
【0048】
変換スキップモードにおいて、CCBカウントが最大数を超えると、これらの残りの係数フラグは同じシンタックス構造でバイパス符号化されるが、これは変換の残差の場合とは全く異なる。
【0049】
前述のように、CCBカウントに使用されるシンタックス、CCBカウントの最大数、およびCCBカウントが最大数を超えた後のシンタックス設計は、変換ブロックと変換スキップブロックの残差コーディングでは異なる。したがって、ここでいくつかの統合を提案することができる。
【0050】
上記のように、ピクセルあたりのコンテキストコード化bin(CCB)の最大数を制限するために、TBの領域は、VVCドラフト6のTBのコンテキストコード化binの最大数を導出するために使用される。さらに、2019年3月の会議では、JVETは変換スキップ残差ブロックに新しい残差コーディングプロセスを採用した。この変換スキップ(TS)残差コーディングプロセスは、変換ブロックの変換残差コーディングプロセスとは大幅に異なる。CCBに関するTS残差コーディングと変換残差コーディングの主な違いは次の通りである:
1.変換残差コーディングでは、符号(coeff_sign_flag)はバイパス符号化され、CCBカウントに使用されるシンタックスとして自動的に含まれない。一方、coeff_sign_flagは、TS残差コーディングでコンテキストコード化され、CCBカウントに使用されるシンタックスとして含まれている;
2.変換残差コーディングでは、CCBの最大数は、TBのTB_zosize*1.75に等しくなる。一方、TS残差符号化では、CCBの最大数はTBのTB_size*2に等しくなる。
【0051】
変換残差コーディングプロセスとTS残差コーディングプロセスの間のCCB制限を統合するために、変換ブロックとTSブロックに使用される2つの別個の残差コーディング構造によって提供されるゲインのほとんどを維持しながら、いくつかの統合が提案されている。
【0052】
一実施形態では、TS残差コーディングにおいて、CCBカウントに使用されるシンタックスが2つの残差コーディングプロセスのために統合されるように、CCBカウントからcoeff_sign_flagを除外する。さらに、コンテキストコード化binの個別の最大数を指定して、coeff_sign_flagにのみ使用できる。別の実施形態では、TS残差コーディングにおいて、CCBカウントの最大数は、TBのTB_size*2からTB_size*1.75に減少する。より一般的には、最大CCBカウントが2つの残差コーディングプロセスで統合されるように、変換残差コーディングとTS残差コーディングの両方の最大CCBカウントが同じ値に設定される。以下では、変換残差コーディングプロセスとTS残差コーディングプロセスの間のCCB制限を統合するいくつかの方法について詳しく説明する。
【0053】
CCBカウントに使用されるシンタックスの統合
【0054】
VVCドラフト6では、図7のステップ740およびステップ750に示すように、sig_coeff_flag、abs_level_gtx_flag[0]、par_level_flag、およびabs_level_gtx_flag[1]などの係数フラグは、変換残差モードのCCBカウントに含まれている。一方、図8のステップ830~ステップ870に示すように、sig_coeff_flag、coeff_sign_flag、abs_level_gtx_flag[0]、par_level_flag、およびabs_level_gtx_flag[j](1≦j≦4)などの係数フラグは、変換スキップ残差モードのCCBカウントに含まれている。これら2つのモードでは、coeff_sign_flagがCCBカウントに含まれるかどうかに違いがある。表1は、VTM6.0の2つの残差コーディングモードのシンタックス構造を示している。表1に示すように、符号化ブロックの残差は、重複しないサブブロック(SubBlocks)を使用してコーディングされ、各サブブロックには16個の係数が含まれる。所与のサブブロックについて、次のサブブロックを処理する前に、そのサブブロック内の全ての係数を再構成できるようになるまで、係数がループ内でコード化される(SubBlock loop)。所与の係数について、係数レベルのシンタックスは、いくつかのパス内でコード化される。各パスでは、係数のパス内の全ての事前定義されたシンタックスがコーディングされた後、次の係数の処理を開始する。残差のエントロピー符号化/復号は、最大3つのパスを備えており、次のシンタックス要素を符号化するために使用される:
coded_sub_block_flag:16係数のサブブロックの有意性(ゼロ/非ゼロ)を指定する
sig_coeff_flag:係数の有意性(ゼロ/非ゼロ)を指定する
abs_level_gtx_flag[j]:係数レベルの絶対値が(j<<1)+1より大きいかどうかを指定する
par_level_flag:係数のパリティを指定する
abs_remainder:係数レベルの絶対値の残りの値を指定する(値が前のパスでコード化された値よりも大きい場合)
dec_abs_level:係数レベルの絶対値を指定する(係数が前のパスでコーディングされていない場合)
coeff_sign_flag:有意係数の符号を指定する(0:正、1:負)
【0055】
【表1】
【0056】
VVCドラフト6の変換スキップ残差コーディングの詳細なシンタックステーブルを示す。
【0057】
【表2-1】
【0058】
【表2-2】
【0059】
前述のように、coeff_sign_flagは、コンテキストコード化されており、図8のステップ840に示すように、TS残差モードのCCBカウントに含まれている。一実施形態では、図9および表3に示されるように、TS残差モードのCCBカウントからcoeff_sign_flagを除外することが提案されているが、ここでVTM6.0と比較した変更に下線が引かれている。変換スキップ残差コーディングの提案されたシンタックステーブルを表4に示す。ここで、VVCドラフト6に関連する変更は取り消し線である(つまり、「MaxCcbs--」はcoeff_sign_flagがシグナリングされた後に削除され(940)、図9の他のステップは図8のステップと同じである)。この実施形態の変形例によれば、TS残差コーディングにおけるCCBカウントからabs_lever_gtx_flag[j](j>1)を除外することが提案されている。
【0060】
【表3】
【0061】
【表4】
【0062】
CCBカウントの最大数の統合
【0063】
VVCドラフト6では、(図7および図8にも)示されているように、輝度係数および彩度係数の係数あたりのコンテキストコード化binの数が、図7のステップ710に示されているように、TBレベルで1.75bin/係数に制限されている。他方、TS残差コーディングは、図8のステップ810に示されるように、この制限をTBレベルで2bin/係数に設定する。
【0064】
ここで提案される別の統合は、例えば、図10のステップ1010に示されるように、TBレベルで1.75bin/係数を割り当てることによって、変換残差コーディングおよびTS残差コーディングの係数あたりのコンテキストコード化binの最大許容数を整列させることである(図10の他のステップは、図8のステップと同じである)。TS残差コーディングでは、残差あたりのコンテキストコード化binのワーストケース数を2から1.75に減らすことが望ましい。この変更により、全体的なCABACスループットが向上し、CABAC制限の一貫性が高まる。表5は、この実施形態で提案された2つの残差コーディングモードのCCB割り当ての最大数を示しており、VTM6.0と比較した変化には下線が引かれている。変換スキップ残差コーディングの最大数CCBカウント割り当てについて提案されたシンタックステーブルを表6に示す。ここでは、VVCドラフト6に関連する変更に下線が引かれている。
【0065】
【表5】
【0066】
【表6】
【0067】
第2の実施形態の変形例によれば、変換残差コーディングおよびTS残差コーディングの係数あたりのコンテキストコード化binの最大許容数は、TBレベルで1.75bin/係数ではなく別の値xを割り当てることによって整列させることができる。
【0068】
第2の実施形態の別の変形例によれば、第2の実施形態は、第1の実施形態と組み合わせることができ、これにより、coeff_sign_flagを除く他の残差シンタックスのCCBの最大数が1.75binに減少する。
【0069】
coeff_sign_flagに対する別の数のコンテキストコード化bin CCB_SIGNの割り当て
【0070】
第1の実施形態によれば、coeff_sign_flagは、TS残差モードのCCBカウントから除外されることが提案されている。TS残差コーディングでは、残差あたりのコンテキストコード化binのワーストケース数が2を超えて増加するため、全体的なCABACスループットが低下する。
【0071】
この欠点を補うための1つの解決策は、表3と表5で説明した前述の実施形態を組み合わせることであり、これにより、coeff_sign_flagを除く他の残差シンタックスのCCBの最大数が減少する。別の解決策は、coeff_sign_flagに別の数のコンテキストコード化bin CCB_SIGNを割り当てることである。この場合、coeff_sign_flagのCABACスループットを個別に制御できる。
【0072】
TBの領域を使用して、TB内のcoeff_sign_flagのコンテキストコード化bin CCB_SIGNの最大数を導出できる。例えば、CCB_SIGNの最大数は、図11のステップ1110に示されるように、TB_size*0.5に等しくすることができる。ここで、TB_sizeは、表7に示すようにTB内のサンプル数を示し、VTM6.0に対する変更には下線が引かれている。図11のステップ1140に示されるように、MaxCcbsではなく、新しいCCBカウントMaxCcbs_signがcoeff_sign_flagに使用される(図11の1110および1140以外のステップは、図8のステップと同じである)。追加のCCB_SIGNを使用した変換スキップ残差コーディシンタックステーブルを表8に示す。ここで、VVCドラフト6に対する変更が取り消し線または下線付きで示されている。
【0073】
第3の実施形態の変形例によれば、それは、第2の実施形態と一緒に適用することができる。第3の実施形態の変形例によれば、CCB_SIGNは、CGレベルで設定および適用することもできる。
【0074】
【表7】
【0075】
【表8】
【0076】
図7図11に記載されている方法は、エンコーダ側またはデコーダ側で使用できることに留意されたい。エンコーダ側で使用する場合、図の「コード(code)」という用語は「エンコード」と理解でき、一方、デコーダ側で使用する場合、図の「コード」という用語は「デコード」と理解できる。残差コーディングプロセスが示されている図9図11の場合、エンコーダ側で使用すると、変換スキップブロックの量子化された予測残差が入力として使用され、コード化された予測残差が出力される。図9図11がデコーダ側の残差コーディングプロセスを説明するために使用されると、ビットストリーム内の量子化された予測残差に対応するbinがデコードされ、量子化された予測残差が変換スキップブロックに出力される。
【0077】
様々な方法が本明細書に記載されており、各方法は、本明細書に記載された方法を達成するための1つまたは複数のステップまたはアクションを含む。方法を適切に操作するために特定のステップまたはアクションの順序が必要な場合を除き、特定のステップおよび/またはアクションの順序および/または使用を変更または組み合わせることができる。また、「第1の」、「第2の」などの用語は、要素、構成要素、ステップ、動作など、例えば「第1の復号」および「第2の復号」を変更するために様々な実施形態で使用され得る。このような用語の使用は、特に必要な場合を除き、変更された操作の順序を意味するものではない。従って、この例では、第1の復号は、第2の復号の前に実行される必要はなく、例えば、第2の復号との重複期間の前、最中、または重複する期間に発生し得る。
【0078】
本願に記載される様々な方法および他の態様を使用してモジュール、例えば、図2および図3に示されるようなビデオエンコーダ200のエントロピー符号化モジュール(245)およびビデオデコーダ300のエントロピー復号モジュール(330)を変更することができる。さらに、本願の態様は、VVCまたはHEVCに限定されず、例えば、他の標準および推奨、並びにそのような標準および推奨の拡張に適用することができる。特に明記されていない限り、または技術的に排除されていない限り、本願で説明されている態様は、個別にまたは組み合わせて使用できる。
【0079】
本願では様々な数値が使用されている。特定の値は例示的な目的のためのものであり、説明されている態様はこれらの特定の値に限定されない。
【0080】
一実施形態は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、上記の実施形態のいずれかによる符号化方法または復号方法を実行させる命令を含むコンピュータプログラムを提供する。1つまたは複数の実施形態はまた、上記の方法に従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上記の方法に従って生成されたビットストリームを記憶したコンピュータ可読記憶媒体を提供する。1つまたは複数の実施形態はまた、上記の方法に従って生成されたビットストリームを送信または受信するための方法および装置を提供する。
【0081】
様々な実装には復号が含まれる。本願で使用される「復号」は、例えば、表示に適した最終出力を生成するために、受信した符号化シーケンスに対して実行されるプロセスの全てまたは一部を含む場合がある。様々な実施形態において、そのようなプロセスは、典型的にはデコーダによって実行される1つまたは複数のプロセス、例えば、エントロピー復号、逆量子化、逆変換、および差動復号を含む。用語「復号プロセス」が、具体的に操作のサブセットを示すことを意図するのか、または一般により広い復号プロセスを示すことを意図するのかは、特定の説明の文脈に基づいて明確になり、当業者によく理解されるだろう。
【0082】
様々な実装には符号化が含まれる。「復号」に関する上記の説明と同様の方法で、本願で使用される「符号化」は、例えば、符号化ビットストリームを生成するために入力ビデオシーケンスに対して実行されるプロセスの全てまたは一部を包含し得る。
【0083】
本明細書で使用されるシンタックス要素は、説明的な用語であることに留意されたい。そのため、他のシンタックス要素名の使用を排除するものではい。
【0084】
本明細書で述べられた実装形態および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号において実装されることが可能である。考察される特徴の実装形態は、単一の形の実装形態のコンテキストでのみ考察される(例えば方法としてのみ考察される)場合であっても、他の形(例えば装置やプログラム)で実装できる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアにおいて実装できる。方法は、装置、例えば、プロセッサにおいて実装されることが可能であり、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む処理デバイスを一般に指す。プロセッサはまた、例えばコンピュータ、セルフォン、ポータブル/パーソナルディジタルアシスタント(PDA)、およびエンドユーザ間の情報の通信を容易にする他のデバイスなど、通信デバイスも含む。
【0085】
「一実施形態」または「実施形態」または「一実装形態」または「実装形態」、並びにこれらの他の変形例への言及は、実施形態に関連して述べられた特定の特徴、構造、特性などが少なくとも1つの実施形態に含まれることを意味する。したがって、本願の全体にわたる様々な場所で「一実施形態で」または「実施形態で」または「一実装形態で」または「実装形態で」という句、並びにいずれか他の変形例が現れる場合、これは、全てが同じ実施形態を指すとは限らない。
【0086】
本願は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、または情報をメモリから取り出すことのうちの1つまたは複数を含むことができる。
【0087】
本願は、様々な情報に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受け取ること、情報を(例えばメモリから)取り出すこと、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含むことができる。
【0088】
本願は、様々な情報を「受け取る」ことに言及することがある。受け取ることは、「アクセスする」ことと同様、広範な用語であるものとされる。情報を受け取ることは、例えば、情報にアクセスすること、または情報を(例えばメモリから)取り出すことのうちの1つまたは複数を含むことができる。さらに、「受け取る」ことは通常、例えば情報の記憶、情報の処理、情報の伝送、情報の移動、情報のコピー、情報の消去、情報の計算、情報の決定、情報の予測、または情報の推定などの動作中に、何らかの方法で関係する。
【0089】
例えば「A/B」、「Aおよび/またはB」、および「AとBのうちの少なくとも一方」の場合の、「/」、「および/または」、「少なくとも一方」のいずれかの使用は、列挙された第1のオプション(A)のみの選択、または列挙された第2のオプション(B)のみの選択、または両方のオプション(AとB)の選択を含むものとされることを認識されたい。さらに他の例として、「A、B、および/またはC」、および「A、B、およびCのうちの少なくとも1つ」の場合、このような語法は、列挙された第1のオプション(A)のみの選択、または列挙された第2のオプション(B)のみの選択、または列挙された第3のオプション(C)のみの選択、または列挙された第1および第2のオプション(AおよびB)のみの選択、または列挙された第1および第3のオプション(AおよびC)のみの選択、または列挙された第2および第3のオプション(BおよびC)のみの選択、または3つのオプション全ての選択(AおよびBおよびC)を含むものとされる。これは、当技術分野および関連技術分野の当業者には明確なように、列挙された数のアイテムに拡張され得る。
【0090】
当業者には明白であろうが、実装形態は、例えば記憶または伝送され得る情報を搬送するようにフォーマットされた、様々な信号を生成できる。情報は、例えば、方法を実施するための命令、または、述べられた実装形態の1つによって生成されたデータを含むことができる。例えば、信号は、述べられた実施形態のビットストリームを搬送するようにフォーマットされ得る。このような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を使用する)として、またはベースバンド信号としてフォーマットされることが可能である。フォーマットすることは、例えば、データストリームを符号化し、符号化済みデータストリームでキャリアを変調することを含み得る。信号が搬送する情報は、例えば、アナログまたはディジタル情報であってよい。信号は、知られている様々な異なる有線または無線リンクを介して伝送され得る。信号は、プロセッサ可読媒体に記憶できる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11