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

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

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

特許7612615多用途ビデオコーディングのためのロスレスモード
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-27
(45)【発行日】2025-01-14
(54)【発明の名称】多用途ビデオコーディングのためのロスレスモード
(51)【国際特許分類】
   H04N 19/70 20140101AFI20250106BHJP
   H04N 19/61 20140101ALI20250106BHJP
【FI】
H04N19/70
H04N19/61
【請求項の数】 8
(21)【出願番号】P 2021573743
(86)(22)【出願日】2020-06-16
(65)【公表番号】
(43)【公表日】2022-08-25
(86)【国際出願番号】 EP2020066647
(87)【国際公開番号】W WO2020254335
(87)【国際公開日】2020-12-24
【審査請求日】2023-06-12
(31)【優先権主張番号】19305799.9
(32)【優先日】2019-06-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518341334
【氏名又は名称】インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ポワリエ,タンギ
(72)【発明者】
【氏名】ルリアネック,ファブリス
(72)【発明者】
【氏名】ナセル,カラム
(72)【発明者】
【氏名】フランソワ,エドワール
【審査官】松元 伸次
(56)【参考文献】
【文献】米国特許出願公開第2013/0294524(US,A1)
【文献】Geert Van der Auwera, et al.,Lossless Coding and Loop Filter Control for Transform Skip,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: Stockholm, SE, 11-20 July 2012,JCTVC-J0435,庁内DB(送付可),2013年01月12日,P.6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
画像またはビデオのブロックについて残差コーディングのタイプを判定するための方法であって、
前記ブロックが変換スキップブロックであるか否かを判定するために第1の情報を取得することと、
変換スキップブロックに通常の残差コーディングが使用されているか否かを判定するために第2の情報を取得することと、
前記第1の情報が、前記ブロックが変換スキップブロックであることを示し、かつ、前記第2の情報が、前記変換スキップブロックに前記通常の残差コーディングが使用されていることを示す場合に、前記ブロックに使用するべき変換スキップ残差コーディングの代わりに、通常の残差コーディングを使用しなければならないと判定することと、
を含む、方法。
【請求項2】
前記コーディングが多用途ビデオコーディング仕様に基づく、請求項1に記載の方法。
【請求項3】
残差コーディングのタイプが、請求項1または2のいずれかに記載の方法によって判定される、画像またはビデオのピクセルのブロックについて係数を符号化するための方法。
【請求項4】
残差コーディングのタイプが、請求項1または2のいずれかに記載の方法によって判定される、画像またはビデオのピクセルのブロックについて係数を復号化するための方法。
【請求項5】
残差コーディングのタイプが、請求項1または2のいずれかに記載の方法によって判定される、画像またはビデオのピクセルのブロックについて係数を符号化するための装置。
【請求項6】
残差コーディングのタイプが、請求項1または2のいずれかに記載の方法によって判定される、画像またはビデオのピクセルのブロックについて係数を復号化するための装置。
【請求項7】
プロセッサによって実行されると請求項1~4の少なくとも一項に記載の方法のステップを実装するプログラムコード命令を含む、非一時的コンピュータ可読媒体。
【請求項8】
プロセッサによって実行されると請求項1~4の少なくとも一項に記載の方法のステップを実装するプログラムコード命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオ圧縮の分野にあり、少なくとも1つの実施形態は、より具体的には、多用途ビデオコーディング(VVC)のロスレスモードに関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオのコーディングスキームは、通常、予測および変換を用いて、ビデオコンテンツの空間的および時間的冗長性を活用する。一般に、イントラまたはインター予測は、フレーム内またはフレーム間の相関を活用するために使用され、次に、予測誤差または予測残差と表されることが多い、元の画像ブロックと予測された画像ブロックとの間の差は、変換され、量子化され、エントロピーコード化される。符号化中、元の画像ブロックは、通常、可能であれば例えば四分木区分化を使用してサブブロックに区分化/分割される。ビデオを再構築するために、圧縮されたデータは、予測、変換、量子化、およびエントロピーコーディングに対応する逆プロセスによって復号化される。
【発明の概要】
【0003】
複数のコーディングツールを含むビデオコーディングシステムにおけるロスレスコーディングモードが提案され、複数のコーディングツールのうちの一部は設計上ロッシーであり、一部はロスレスまたはニアロスレスになるように適応され得る。このようなビデオコーディングシステムでロスレスモードを有効化するには、設計上ロッシーであるツールを無効化してロスレスツールのみを使用することと、一部のツールをロスレスコーディングを有効化するように適応させることと、一部のツールをニアロスレスコーディングを有効化するように適応させ、したがって、残差コーディングの後に二次ロスレスコーディングが適用され得るようにし、それによってロスレスコーディングを提供することとが提案される。
【0004】
特定の実施形態において、残差コーディングのタイプを判定する方法は、変換スキップ残差コーディングが使用されていることが情報により示される場合に、特別なモードを表すフラグを取得することと、特別なモードを表すこのフラグが真である場合に、使用するべき変換スキップ残差コーディングの代わりに通常の残差コーディングを使用しなければならないと判定することとを含む。
【0005】
第1の態様によれば、残差コーディングのタイプを判定する方法は、変換スキップ残差コーディングが使用されていることが情報により示される場合に、特別なモードを表すフラグを取得することと、特別なモードを表すこのフラグが真である場合に、使用するべき変換スキップ残差コーディングの代わりに通常の残差コーディングを使用しなければならないと判定することとを含む。
【0006】
第2の態様によれば、ビデオ符号化方法は、ビデオのブロックについて、第1の態様の方法に従って残差コーディングのタイプを判定することを含む。
【0007】
第3の態様によれば、ビデオ復号化方法は、ビデオのブロックについて、第1の態様の方法に従って残差コーディングのタイプを判定することを含む。
【0008】
第4の態様によれば、ビデオ符号化装置は、第1の態様の方法に従って残差コーディングのタイプを判定するように構成されたエンコーダを備える。
【0009】
第5の態様によれば、ビデオ復号化装置は、第1の態様の方法に従って残差コーディングのタイプを判定するように構成されたデコーダを備える。
【0010】
本実施形態のうちの1つ以上は、上記の方法のいずれかの少なくとも一部に従ってビデオデータを符号化または復号化するための命令が記憶された非一時的コンピュータ可読記憶媒体も提供する。1つ以上の実施形態は、上記の方法のいずれかの少なくとも一部を実施するための命令を含むコンピュータプログラム製品も提供する。
【図面の簡単な説明】
【0011】
図1A】一実施形態による、ビデオエンコーダのブロック図を示す。
図1B】一実施形態による、ビデオデコーダのブロック図を示す。
図2】様々な態様および実施形態が実装されるシステムの例のブロック図を示す。
図3A-3B】角度イントラ予測に関連する表記を示す。
図4】各SBT位置の水平変換および垂直変換を示す。
図5】デコーダの観点からのLMCSアーキテクチャを示す。
図6】二次変換の適用を示す。
図7】縮小二次変換(RST)を示す。
図8】順方向縮小変換および逆方向縮小変換を示す。
図9】16x48行列を使用した順方向RST8x8プロセスの例を示す。
図10A-10B】少なくとも一実施形態による例示的なフローチャートを示す。
図11】ルマ再形成のための順関数および逆関数の順次適用を示す。
図12】ロスレスコード化ブロックに対して変換スキップが真と推定される場合の、cu_transquant_bypass_flag、transform_skip_flagの解析、および残差コーディングを含む一実施形態の例示的なフローチャートを示す。
図13】ロスレスコード化ブロックに対して変換スキップが偽であると推定される場合の、cu_transquant_bypass_flag、transform_skip_flagの解析、および残差コーディングを含む一実施形態の例示的なフローチャートを示す。
図14】ロスレスコード化ブロックに対して変換スキップが常に解析される場合の、cu_transquant_bypass_flag、transform_skip_flagの解析、および残差コーディングを含む一実施形態の例示的なフローチャートを示す。
図15】二次ロスレスコーディングの簡略化されたブロック図の例を示す。
図16】リージョンレベルの信号伝達が使用される場合のregion_transquant_bypass_flagおよびsplit_cu_flagの解析プロセスの例示的なフローチャートを示す。
図17】二分木の場合のルマおよびクロマの相異なる区分を示す。
【発明を実施するための形態】
【0012】
様々な実施形態が、画像のブロックのサンプルの予測値に関する後処理方法に関連し、この値は、イントラ予測角度に従って予測され、ここでサンプルの値は予測の後に変更され、その結果、左の参照サンプルの値とサンプルについて得られた予測値との差の重み付けに基づいて判定され、左の参照サンプルは、イントラ予測角度に基づいて判定される。この後処理方法に基づく符号化法、復号化法、符号化装置、復号化装置が提案される。
【0013】
さらに、本態様は、VVC(多用途ビデオコーディング)の特定のドラフトまたはHEVC(高効率ビデオコーディング)仕様に関連する原理を説明しているが、VVCまたはHEVCに限定されず、例えば、既存かまたは将来開発されるかどうかにかかわらず、他の標準規格および推奨事項、ならびに任意のそのような標準規格および推奨事項(VVCおよびHEVCを含む)の拡張版に適用することができる。特に指示されていない限り、または技術的に除外されていない限り、本出願で説明される態様は、個別にまたは組み合わせて使用することができる。
【0014】
図1Aは、ビデオエンコーダ100を示している。このエンコーダ100の変形が企図されるが、エンコーダ100は、明確にするためにすべての予想される変形を説明することなく、以下に説明される。符号化される前に、ビデオシーケンスは事前符号化処理(101)、例えば、入力色ピクチャに色変換(例えば、RGB 4:4:4からYCbCr 4:2:0への変換)を適用すること、または、(例えば、色成分のうちの1つのヒストグラム等化を使用して)圧縮に対してより復元力のある信号分布を得るために、入力ピクチャ成分の再マッピングを実施することを経る場合がある。メタデータは、事前処理に関連付けることができ、ビットストリームに添付することができる。
【0015】
エンコーダ100では、以下に説明されているように、ピクチャが、エンコーダ要素によって符号化される。符号化されるピクチャは、区分化され(102)、例えば、CUの単位で処理される。各単位は、例えば、イントラモードまたはインターモードのいずれかを使用して符号化される。単位がイントラモードで符号化されるとき、イントラ予測を実施する(160)。インターモードにおいて、動き推定(175)および動き補償(170)が実施される。エンコーダは、イントラモードまたはインターモードのうちの1つをその単位の符号化に使用するかを決定し(105)、例えば、予測モードフラグによって、イントラ/インター決定を示す。予測残差は、例えば、元の画像ブロックから予測されたブロックを減算すること(110)によって、計算される。
【0016】
次に、予測残差が変換され(125)、量子化される(130)。量子化された変換係数に加えて、動きベクトルおよび他の構文要素は、ビットストリームを出力するためにエントロピーコード化される(145)。エンコーダは、変換をスキップし、非変換残差信号に直接量子化を適用し得る。エンコーダは、変換および量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスを適用せずに直接コード化される。
【0017】
エンコーダは、符号化されたブロックを復号化して、さらに予測するための参照を提供する。量子化された変換係数は非量子化され(140)、逆変換され(150)、予測残差を復号化する。復号化された予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが再構築される。ループ内フィルタ(165)は、再構築されたピクチャに適用され、例えば、デブロッキング/SAO(サンプル適応オフセット)、適応ループフィルタ(ALF)フィルタリングを実行し、符号化アーチファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
【0018】
図1Bは、ビデオデコーダ200のブロック図を示している。デコーダ200において、ビットストリームは、以下に説明するように、デコーダの要素によって復号化される。ビデオデコーダ200は、概して、図18で説明するような符号化パスの逆の復号化パスを実施する。エンコーダ100はまた、概して、ビデオデータの符号化の一部としてビデオ復号化を実施する。特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。まず、ビットストリームがエントロピー復号化され(230)、変換係数、動きベクトル、および他のコード化された情報を取得する。ピクチャ区分情報は、ピクチャがどのように区分化されているかを示す。したがって、デコーダは、復号化されたピクチャ区分化情報に従ってピクチャを分けることができる(235)。変換係数は非量子化され(240)、逆変換され(250)、予測残差を復号化する。復号化された予測残差と予測されたブロックとを組み合わせて(255)、画像ブロックが再構築される。予測されたブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から取得され得る(270)。ループ内フィルタ(265)は、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
【0019】
復号化されたピクチャは、復号化後処理(285)、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)または事前符号化処理(101)で実施される再マッピングプロセスの逆を実施する逆再マッピングをさらに経ることができる。復号化後処理では、事前符号化処理で導出され、かつビットストリームで信号伝達されるメタデータを使用することができる。
【0020】
図2は、様々な態様および実施形態が実装されるシステムの例のブロック図を示している。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具現化することができ、本文献で説明される態様のうちの1つ以上を実施するように構成されている。このようなデバイスの例には、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなどの様々な電子デバイスが含まれるが、これらに限定されない。システム1000の要素は、単独でも組み合わせでも、単一の集積回路(IC)、複数のIC、および/または個別の構成要素で具現化され得る。例えば、少なくとも1つの実施形態において、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散している。様々な実施形態において、システム1000は、1つ以上の他のシステムに、または他の電子デバイスに、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを通して、通信可能に結合される。様々な実施形態において、システム1000は、本文献に記載の態様のうちの1つ以上を実装するように構成される。
【0021】
システム1000は、例えば、本文献に記載の様々な態様を実装するために、読み込まれた命令を実行するように構成された少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、当技術分野で既知であるように、埋め込みメモリ、入出力インターフェース、および他の様々な回路を含み得る。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、不揮発性メモリおよび/または揮発性メモリを含むことができる記憶デバイス1040を含み、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含むが、これらに限定されない。記憶デバイス1040は、非限定的な例として、内部記憶デバイス、付属の記憶デバイス(取り外し可能および取り外し不可能な記憶デバイスを含む)、ならびに/またはネットワークアクセス可能な記憶デバイスを含み得る。
【0022】
システム1000は、例えば、符号化されたビデオまたは復号化されたビデオを提供するためにデータを処理するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、独自のプロセッサおよびメモリを含み得る。エンコーダ/デコーダモジュール1030は、符号化機能および/または復号化機能を実施するデバイスに含まれ得るモジュールを表す。既知であるように、デバイスは、符号化および復号化モジュールの一方または両方を含み得る。さらに、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装することができるか、または、当業者には既知であるように、ハードウェアとソフトウェアとの組み合わせとして、プロセッサ1010内に組み込むことができる。
【0023】
本文献に記載の様々な態様を実施するためにプロセッサ1010またはエンコーダ/デコーダ1030に読み込まれるプログラムコードは、記憶デバイス1040に記憶され、続いて、プロセッサ1010による実行のためにメモリ1020に読み込まれ得る。様々な実施形態によれば、プロセッサ1010、メモリ1020、記憶デバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つ以上は、本文献に記載のプロセスの実行中、様々な項目のうちの1つ以上を記憶することができる。このような記憶される項目には、入力ビデオ、復号化されたビデオまたは復号化されたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、式、演算、および演算ロジックの処理からの中間結果または最終結果が含まれ得るが、これらに限定されない。
【0024】
いくつかの実施形態において、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリを使用して、命令を記憶し、符号化または復号化中に必要とされる処理のために、ワーキングメモリを提供する。しかしながら、他の実施形態において、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のいずれかであり得る)の外部のメモリは、これらの機能のうちの1つ以上に使用される。外部メモリは、メモリ1020および/または記憶デバイス1040、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態において、例えば、テレビの動作システムを記憶するために外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態において、RAMなどの高速外部ダイナミック揮発性メモリが、MPEG-2(MPEGはMoving Picture Experts Groupを指し、MPEG-2は、ISO/IEC 13818とも称され、13818-1はH.222としても既知であり、13818-2はH.262としても既知である)、HEVC(HEVCはHigh Efficiency Video Codingを指し、H.265およびMPEG-H Part2としても既知である)、またはVVC(Versatile Video Codingであり、JVET、すなわちJoint Video Experts Teamによって開発された新標準規格)などのビデオコーディングおよび復号化動作のためのワーキングメモリとして使用される。
【0025】
システム1000の要素への入力は、ブロック1130に示されるような様々な入力デバイスを通して提供され得る。このような入力デバイスは、(i)例えば、放送局によって無線で送信されたRF信号を受信する無線周波数(RF)部分、(ii)コンポーネント(COMP)入力端子(またはCOMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)高品位マルチメディアインターフェース(HDMI)入力端子を含むが、これらに限定されない。図18に示されていない他の実施例には、コンポジットビデオが含まれる。
【0026】
様々な実施形態において、ブロック1130の入力デバイスは、当技術分野で既知であるような関連するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択する(信号を選択する、またはある周波数帯域に信号を帯域制限する、とも称される)、(ii)選択された信号をダウンコンバートする、(iii)(例えば)ある特定の実施形態においてチャネルと称され得る信号周波数帯域を選択するために、より狭い周波数帯域に再び帯域制限する、(iv)ダウンコンバートされ、帯域制限された信号を復調する、(v)誤差補正を実施する、および(vi)逆多重化して、所望のデータパケットストリームを選択するのに好適な要素に関連付けられ得る。様々な実施形態のRF部は、これらの機能、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤差補正器、および逆多重化器を実施する1つ以上の要素を含む。RF部は、例えば、受信された信号をより低い周波数に(例えば、中間周波数またはベースバンドに近い周波数)、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実施するチューナを含むことができる。1つのセットトップボックスの実施形態において、RF部およびその関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体経由で送信されたRF信号を受信し、フィルタリングし、ダウンコンバートし、所望の周波数帯域に再びフィルタリングすることによって、周波数選択を実施する。様々な実施形態において、上記(および他の)要素の順番が並べ替えられ、これらの要素のうちのいくつかが取り除かれ、かつ/または同様もしくは異なる機能を実施する他の要素が追加される。要素を追加することは、既存の要素間に要素を挿入すること、例えば、増幅器およびアナログ-デジタル変換器を挿入することなどを含むことができる。様々な実施形態において、RF部は、アンテナを含む。
【0027】
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介して、他の電子デバイスにシステム1000を接続するためのそれぞれのインターフェースプロセッサを含み得る。入力処理の様々な態様、例えば、リードソロモン誤差補正が、例えば、必要に応じて、別個の入力処理IC内、またはプロセッサ1010内に実装され得ることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内またはプロセッサ1010内に実装され得る。復調され、誤差補正され、かつ逆多重化されたストリームは、例えば、プロセッサ1010と、出力デバイス上での表示用に、必要に応じてデータストリームを処理するためにメモリおよび記憶要素と組み合わせて動作するエンコーダ/デコーダ1030と、を含む様々な処理要素に提供される。
【0028】
システム1000の様々な要素は、一体型ハウジング内に提供され得、一体型ハウジング内で、様々な要素は、相互接続され、好適な接続構成1140、例えば、Inter-IC(I2C)バス、配線、およびプリント回路基板を含む、当技術分野で既知であるような内部バスを使用して、それらの間でデータを送信することができる。
【0029】
システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インターフェース1050を含む。通信インターフェース1050は、通信チャネル1060経由でデータを送受信するように構成されたトランシーバを含むことができるが、これに限定されない。通信インターフェース1050は、モデムまたはネットワークカードを含むことができるが、これらに限定されず、通信チャネル1060は、例えば、有線および/または無線媒体内に実装され得る。
【0030】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、電気電子技術者協会を指す)などの無線ネットワークを使用して、システム1000にストリーミングされるか、または別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適応された通信チャネル1060および通信インターフェース1050を介して受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続経由でデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされたデータをシステム1000に提供する。上記のように、様々な実施形態は、非ストリーミング方式でデータを提供する。さらに、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワークまたはブルートゥースネットワークを使用する。
【0031】
システム1000は、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、および/または折り畳み式ディスプレイのうちの1つ以上を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、携帯電話(モバイルフォン)、または他のデバイス用であり得る。ディスプレイ1100はまた、他の構成要素(例えば、スマートフォンのように)と統合され得るか、または別個(例えば、ラップトップ用の外部モニタ)であり得る。他の周辺デバイス1120は、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(もしくはデジタル多用途ディスク)(両用語ともDVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つ以上を含む。様々な実施形態は、システム1000の出力に基づく機能を提供する1つ以上の周辺デバイス1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実施する。
【0032】
様々な実施形態において、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で、AV.Link、コンシューマエレクトロニクス制御(CEC)、またはユーザの介入の有無に関わらず、デバイス間制御を可能にする他の通信プロトコルなどの信号伝達を使用して、制御信号が通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通して専用接続を介してシステム1000に通信可能に結合され得る。代替的に、出力デバイスは、通信インターフェース1050を介して、通信チャネル1060を使用してシステム1000に接続され得る。ディスプレイ1100およびスピーカ1110は、例えば、テレビなどの電子デバイス内のシステム1000の他の構成要素と、単一のユニット内に統合され得る。様々な実施形態において、ディスプレイインタフェース1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0033】
ディスプレイ1100およびスピーカ1110は、代替的に、例えば、入力1130のRF部が別個のセットトップボックスの一部である場合、他の構成要素のうちの1つ以上とは別個であり得る。ディスプレイ1100およびスピーカ1110が外部構成要素である様々な実施形態において、例えば、HDMIポート、USBポート、またはCOMP出力部を含む専用出力接続を介して、出力信号が提供され得る。
【0034】
実施形態は、プロセッサ1010によって、またはハードウェアによって、またはハードウェアとソフトウェアとの組み合わせによって実装されるコンピュータソフトウェアによって、実行されてもよい。非限定的な例として、実施形態は、1つ以上の集積回路によって実装され得る。メモリ1020は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、および取り外し可能なメモリなどの任意の適切なデータ記憶技術を使用して実装され得る。プロセッサ1010は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つ以上を包含し得る。
【0035】
HEVCではロスレスモードを利用できる。このモードでは、変換および量子化のバイパスは、CU構文構造の先頭にあるフラグによってCUレベルで示される。バイパスがオンの場合、変換および量子化器のスケーリング操作はスキップされ、残差信号は劣化することなく直接コード化される。これにより、このモードにより、コード化ブロックのロスレス表現の完全な再構築が可能になる。サンプルの差異は、量子化された変換係数レベルであるかのように、すなわち、変換サブブロック、係数スキャン、および最後の有意な係数信号伝達を用いて変換ブロックコーディングを再利用して符号化される。このモードは、例えば、量子化アーチファクトが非常に目立つ、またはまったく許容できないグラフィックコンテンツのローカルコーディングに有用であり得る。通常の変換コーディングのレート歪みコストが、通常は低い量子化パラメータを使用している場合に、バイパスコーディングのレートコストを超えた場合にも、エンコーダはこのモードに切り替わる可能性がある。ロスレスモードでコード化されたCUの場合、ポストフィルタは無効化される。
【0036】
PCMコーディングは、シーケンスパラメータセット(SPS)でアクティブ化されると、CUレベルで示され得る。考慮されるCUに対してアクティブな場合、予測、量子化、および変換は適用されない。代わりに、対応するコーディングブロック内のサンプルのサンプル値は、SPSで構成されたPCMサンプルビット深度でビットストリームに直接コード化される。PCMコーディングの適用の粒度は、ハイエンドでのルマコーディングツリーブロックのサイズの最小値および32×32と、ローエンドでの最小ルマコーディングブロックサイズとの間で構成され得る。コーディングユニットがPCMモードでコード化されている場合、同じコーディングツリーユニット内の他のコーディングユニットのサイズは、PCMユニットのサイズより小さくしてはならない。定義上、PCMコーディングは対応するブロックのロスレス表現を可能にするため、コーディングユニットのPCMコーディングに費やされるビットは、CUの符号化に必要なビット量の上限とみなすことができる。したがって、変換ベースの残差コーディングの適用がその制限を超える場合、例えば非常にノイズの多いコンテンツの場合、エンコーダはPCMコーディングに切り替えることができる。
【0037】
HEVCのロスレスモードは、ピクチャパラメータセット(PPS)にコード化されたtransquant_bypass_enabled_flagフラグを使用してアクティブ化される(以下の表1を参照)。このフラグにより、CUレベルでのcu_transquant_bypass_flagのコーディングが可能になる(表2)。cu_transquant_bypass_flagは、量子化、変換プロセス、およびループフィルタがバイパスされることを指定する。
【表1】
【表2】
【0038】
すべてのCUでcu_transquant_bypass_flagが真の場合、ロスレスコーディングがフレーム全体に使用され得るが、リージョンのみがロスレスコード化される可能性もある。これは通常、テキストおよびグラフィックがオーバーレイされた自然なビデオとの混合コンテンツの場合である。テキストおよびグラフィックリージョンは、読みやすさを最大化するためにロスレスでコード化され得るが、自然なコンテンツはロッシー方式でコード化され得る。
【0039】
さらに、量子化は定義上ロッシーであるため、ロスレスコーディングでは無効化される。(DCT-2およびDST-4がHEVCで使用される)変換プロセスは、丸め動作のためにHEVCではロッシーである。再構築された信号がロスレスである場合、デブロッキングフィルタおよびサンプル適応オフセットとしてのポストフィルタは有用ではない。
【0040】
図3は、PCMモード、ロスレスモード、および変換スキップモードの復号化プロセスに関する簡略化されたブロック図の例を示している。復号化プロセス300の入力はビットストリームである。データは、ステップ310においてビットストリームから復号化される。具体的には、これは量子化され変換された係数、および変換タイプをもたらす。逆量子化は、ステップ320において、量子化され変換された係数に適用される。逆方向変換は、ステップ330において、結果として生じる変換された係数に適用される。結果として生じる残差は、ステップ350において、ステップ340のイントラ予測またはインター予測から来る予測信号に加算される。結果は再構築されたブロックである。ステップ305においてI_PCMモードが選択された場合、サンプル値はエントロピー復号化なしで直接復号化される。ロスレスコーディングモードが選択された場合、ステップ320および330はスキップされる。変換スキップモードが選択された場合、ステップ330はスキップされる。
【0041】
最近の多用途ビデオコーディング(VVC)テストモデル4(VTM4)では、最大64×64の大きな変換サイズが可能になっており、これは主に1080pおよび4Kシーケンスなどのより高解像度のビデオに有用である。高周波変換係数は、サイズ(幅もしくは高さ、または幅および高さの両方)が64に等しい変換ブロックではゼロになるため、低周波係数のみが保持され、この情報は失われる。より正確には、この情報は、結果として生じるビットストリームにおいて符号化されないことにより失われ、デコーダで使用できなくなる。例えば、Mがブロック幅でNがブロック高さであるM×N変換ブロックの場合、Mが64に等しい場合、変換係数の左側の32列のみが保持される。同様に、Nが64に等しい場合、変換係数の上位32行のみが保持される。どちらの例でも、変換係数の残りの32列または32行は失われる。大きなブロックに変換スキップモードを使用すると、値をゼロにすることなくブロック全体が使用される。実際には、これは、以下の表3に示す現在のVVC仕様(関連する行は太字に設定)からの構文の抜粋に示されるように、変換の最大サイズを5に設定することで構成される。したがって、実際の最大変換サイズが使用され、例えば現在のVVC仕様では32(2^5)に設定される。以下では、このパラメータの名前は「max_actual_transf_size」とする。
【表3】
【0042】
HEVCで使用されるDCT-2に加えて、VVCは、インターコード化ブロックおよびイントラコード化ブロックの両方の残差コーディングに使用される複数変換選択(MTS)スキームを追加する。新しく導入された変換行列は、DST-7およびDCT-8である。MTSスキームを制御するために、SPSレベルでイントラおよびインターにそれぞれ別個の有効化フラグが指定される。MTSがSPSレベルで有効化されている場合、CUレベルのMTSインデックスは、DCT-2、DST-7、DCT-8のうち、CUに使用される分離可能な変換のペアを示すために信号伝達される。MTSはルマにのみ適用される。CUレベルのMTSインデックスは、幅および高さの両方が32以下で、CBFフラグが1に等しいという条件を満たした場合に信号伝達される。
【0043】
大きなサイズのDST-7およびDCT-8の複雑さを軽減するために、サイズ(幅もしくは高さ、または幅および高さの両方)が32に等しいDST-7ブロックおよびDCT-8ブロックの高周波変換係数はゼロになる。16x16の低周波数リージョン内の係数のみが保持される。
【0044】
変換スキップのブロックサイズの制限は、ブロックの幅および高さの両方が32以下の場合に変換スキップがCUに適用可能であるとするMTSの制限と同じである。
【0045】
cu_cbfが1に等しいインター予測されたCUの場合、残差ブロック全体または残差ブロックのサブ部分が復号化されているかどうかを示すために、cu_sbt_flagが信号伝達される場合がある。前者の場合、インターMTS情報がさらに解析され、CUの変換タイプが判定される。後者の場合、残差ブロックの一部が推定適応変換でコード化され、残差ブロックの他の部分はゼロになる。
【0046】
図4は、各SBT位置の水平変換および垂直変換を示している。サブブロック変換は、ルマ変換ブロックに適用される位置依存変換である。SBT-H(水平)およびSBT-V(垂直)の2つの位置は、相異なるコア変換に関連付けられる。より具体的には、各SBT位置の水平変換および垂直変換が図4に示される。例えば、SBT-V位置0の水平変換および垂直変換は、それぞれDCT-8およびDST-7である。残差TUの片側が32より大きい場合、対応する変換はDCT-2として設定される。したがって、サブブロック変換は、残差ブロックのTUタイリング、cbf、ならびに水平変換および垂直変換を共同で指定し、これは、ブロックの主要な残差がブロックの片側にある場合の構文ショートカットとみなすことができる。
【0047】
VTM4では、クロマスケーリングによるルママッピング(LMCS)と呼ばれるコーディングツールが、ループフィルタの前に新しい処理ブロックとして追加された。LMCSは2つの主成分がある。1)適応区分的線形モデルに基づくルマ成分のループ内マッピング、2)クロマ成分については、ルマに依存するクロマ残差スケーリングが適用される。
【0048】
図5は、デコーダの観点からのLMCSアーキテクチャを示している。図5の薄い灰色のブロックは、マップされたドメインのどこに処理が適用されているかを示している。これらには、逆量子化、逆方向変換、ルマイントラ予測、およびルマ残差とルマ予測の加算が含まれる。図5の影のないブロックは、元の(すなわち、マップされていない)ドメインのどこに処理が適用されているかを示している。これらには、デブロッキング、ALF、およびSAOなどのループフィルタ、動き補償予測、クロマイントラ予測、クロマ残差とクロマ予測の加算、ならびに復号化されたピクチャの参照ピクチャとしての記憶が含まれる。図5の濃い灰色のブロックは、新しいLMCS機能ブロックであり、ルマ信号の順方向マッピングおよび逆方向マッピング、ならびにルマに依存するクロマスケーリングプロセスを含む。VVCの他のほとんどのツールと同様に、LMCSは、SPSフラグを使用してシーケンスレベルで有効化/無効化できる。
【0049】
非分離可能二次変換(NSST)または縮小二次変換(RST)とも呼ばれる二次変換は、(エンコーダでの)順方向一次変換と量子化の間、および(デコーダ側の)非量子化と逆方向一次変換の間に適用される。
【0050】
図6は、二次変換の適用を示している。JEMでは、8x8ブロックごとに、4x4の二次変換が小さなブロック(すなわち、min(width,height)<8)に適用され、8x8の二次変換が大きなブロック(すなわち、min(width,height)>4)に適用される。
【0051】
非分離可能変換の適用は、例として入力を使用して次のように説明される。4x4入力ブロックは、次の行列として表される。
【数1】
非分離可能変換を適用するために、この4x4入力ブロックXは最初にベクトルXとして次のように表される。
【数2】
【0052】
非分離可能変換はF=T・Xとして計算され、ここでFは変換係数ベクトルを示し、Tは16x16変換行列である。16x1係数ベクトルFはその後、そのブロックのスキャン順序(水平、垂直、または斜め)で4x4ブロックとして再編成される。インデックスが小さい係数は、4x4係数ブロックにおいて小さなスキャンインデックスで配置される。合計35の変換セットがあり、変換セットごとに3つの非分離可能変換行列(カーネル)が使用される。イントラ予測モードから変換セットへのマッピングは事前定義される。各変換セットにつき、選択された非分離可能二次変換候補は、明示的に信号伝達された二次変換インデックスによってさらに指定される。インデックスは、変換係数の後でイントラCUごとに1回ビットストリームにおいて信号伝達される。
【0053】
図7は、縮小二次変換(RST)を示している。この手法では、8x8ブロックおよび4x4ブロックにそれぞれ16x48および16x16の行列が使用される。表記上の便宜のために、16x48変換はRST8x8として示され、16x16変換はRST4x4として示されている。縮小変換(RT)の主なアイデアは、N次元ベクトルを別の空間のR次元ベクトルにマッピングすることであり、ここで、R/N(R<N)は縮小係数である。
【0054】
図8は、順方向縮小変換および逆方向縮小変換を示している。RT行列は、次のようなR×N行列である。
【数3】
ここで、変換のR行はN次元空間のR個の基底である。RTの逆方向変換行列は、その順方向変換の転置である。
【0055】
図9は、16x48行列を用いた順方向RST8x8プロセスの例を示している。採用された構成では、同じ変換セット構成の16x64の代わりに16x48行列が適用され、それぞれが左上の8x8ブロックにおいて右下の4x4ブロックを除く3つの4x4ブロックから48の入力データを取得している(図4)。次元を低減することで、すべてのRST行列を記憶するためのメモリ使用量が10KBから8KBに低減され、適度なパフォーマンス低下がもたらされた。
【0056】
さらに、VTM5では、クロミナンス残差の結合コーディングと呼ばれるコーディングツールが採用されている。このツールをアクティブ化すると、式1に示すように、単一の結合残差ブロックを使用して、同じ変換ユニット内のCbブロックおよびCrブロックの両方の残差が記述される。
resjoint=(resCb-resCr)/2
式1:Cb残差およびCr残差から計算された結合残差
【0057】
次に、式2に示すように、Cb信号およびCr信号は、Cbについては結合残差を減算し、Crについては結合残差を加算することにより、再構築される。
【数4】
【0058】
フラグはTUレベルでコード化され、クロマ残差の結合コーディングを有効化し、フラグが無効化されている場合は、Cb残差およびCr残差の別個のコーディングが使用される。
【0059】
以下に説明する実施形態は、前述のことを念頭に置いて設計されている。図1Aのエンコーダ100、図1Bのデコーダ200、および図2のシステム1000は、以下に説明する実施形態のうちの少なくとも1つを実装するように適応されている。
【0060】
少なくとも1つの実施形態において、本出願は、複数のコーディングツールを含むビデオコーディングシステムにおけるロスレスコーディングモードを対象とし、複数のコーディングツールのうちの一部は設計上ロッシーであり、一部はロスレスまたはニアロスレスになるように適応され得る。例えばVVCなどのビデオコーディングシステムにおいてロスレスモードを有効化するために、次の戦略が提案される。
-設計上ロッシーであるツールを無効化してロスレスツールのみを使用する。
-一部のツールをロスレスコーディングを有効化するように適応させる。
-一部のツールを(元の信号との差が制限され、小さい)ニアロスレスコーディングを有効化するように適応させ、したがって、残差コーディングの後に二次ロスレスコーディングが適用され得るようにし、それによってロスレスコーディングを提供する。
【0061】
ロスレスコーディングは、フレームレベルまたはリージョンレベルの両方で処理できる。
【0062】
図10Aおよび図10Bは、少なくとも一実施形態による例示的なフローチャートを示している。これらの図は、特定のツールをフレームレベル、ブロックレベルで無効化するべきか、ロスレスに適応するべきか、または二次ロスレスコーディングを実行して、ほぼロスレスに適応されたこのツールを使用するべきかを決定する一般的なプロセスの例を示している。このようなプロセスは、例えば、図1Aのエンコーダデバイス100に実装することができる。
【0063】
最初のステップ(図10Aの400)では、ツールが設計上ロッシーであるかどうかが評価される。
・ツールがロッシーである場合、2番目のチェック(図10Bの402)によって、ツールをブロックレベルで無効化できるかどうかがテストされる(この場合、フレームレベルでのみ制御され得る)。
oツールをブロックレベルで無効化できない場合、(通常はPPSレベルで信号伝達される)フラグtransquant_bypass_enabled_flagの値が図10Bのステップ404においてチェックされる。transquant_bypass_enabled_flagが真の場合、ツールは図10Bのステップ410において無効化される(これは、例えばLMCSに適用される)。transquant_bypass_enabled_flagが偽の場合、ツールは図10Bのステップ411において有効化される。ステップ410または411のいずれかが適用されると、プロセスは終了する。
oツールをブロックレベルで無効化することができる場合は、図10Bのステップ405においてCUレベルのフラグcu_transquant_bypass_flagの値がチェックされる。cu_transquant_bypass_flagが真の場合、ツールは図10Bのステップ408においてCUレベルで無効化される(これは、例えばSBT、MTS、LFNTSに適用される)。cu_transquant_bypass_flagが偽の場合、ツールは図10Bのステップ409においてCUレベルで有効化され得る。ステップ408または409のいずれかが適用されると、プロセスは終了する。
・ツールが設計上ロッシーでない場合、図10Aのステップ401においてテストが実施され、ロスレスであるかどうかがチェックされる。
oツールがロスレスである場合、特別なことは何も適用されず、フローはプロセスの最後に進む。
oツールがロスレスでない場合、ツールがニアロスレスであるかどうかが図10Aのステップ403においてチェックされる。
■ツールがニアロスレスでない場合、設計上ロッシーでもないので、これは、ツールがロスレスになるように適応され得ることを意味する(図10Aのステップ406)。これは、例えば、MTS変換セットにおいてロスレス変換のみを使用するMTSに適用され得る。
■ツールがニアロスレスである場合、追加の(二次)ロスレスコーディングステップが適用される(図10Aのステップ407)。例えば、量子化なしのロスレス変換が適用され得る。
oステップ306または307のいずれかが適用されると、プロセスは終了する。
【0064】
本開示の以下では、VVC仕様の特定のツールへのこのプロセスの適用について説明する。
【0065】
ロスレスコーディングと互換性のないツールの無効化
この第1の場合は、図10Aのステップ410(ピクチャレベル)および408(CUレベル)に対応する。第1の要素は、大きなCUに伴うゼロアウト変換に関連する。一実施形態において、ロスレスコード化CUの場合、または変換スキップが使用される場合、ゼロアウト変換は使用できない。これは、表4の構文仕様に示されている。この仕様では、現在のVVC構文と比較して提案された変更が斜体で強調表示されている。ブロックがmax_actual_transf_size x max_actual_transf_size(現在のVVCバージョンでは実際には32x32)より大きく、ロスレスコード化されている場合、係数の一部のみがコード化されるロッシーコード化ブロックの場合とは逆に、すべての係数がコード化される。
【0066】
実際には、現在のVVC仕様と比較して、変換サイズの制限が適用されるのは、transform_skip_flagが偽で、cu_transquant_bypass_flagが偽のみである。
【表4】
【0067】
変形例では、ピクチャレベルのtransquant_bypass_enabled_flagが有効化されていて、ブロックがmax_actual_transf_size x max_actual_transf_size(例えば、現在のVVCでは32x32)より大きい場合、四分木分割が推定または強制される。言い換えると、ロスレスコーディングが所望される場合、64x64を超えるブロックは体系的に分割され、その結果ブロックサイズは32x32になり、ゼロ化の対象にならない。表5に、変更された構文を示す。
【表5】
【0068】
別の変形例では、cu_transquant_bypass_flagは、現在のCUがmax_actual_transf_size x max_actual_transf_size(例えば、現在のVVCでは32x32)以下の場合にのみコード化される。これは、大きなブロックをロスレスコード化できないことを意味する。表6に、関連する構文を示す。
【表6】
【0069】
第2の要素は、サブブロック変換(SBT)に関連する。SBTは、変換ユニットの1つに残差がないと推定される変換木細分を使用するため、このツールは、ロスなしでCUを再構築することを保証できない。一実施形態において、ロスレスモードがアクティブ化されると(すなわち、transquant_bypass_enabled_flagが真の場合)、SBTはCUレベルで無効化される。対応する構文の変更を表7に示す。SBT関連の構文の復号化およびSBTのアクティブ化は、transquant_bypass_enabled_flagが偽の場合にのみ可能である。
【表7】
【0070】
別の実装では、SBTはTUタイリングとしてのみ使用できる。この実施形態において、残差は各サブブロックに対してコード化され得るが、初期設計では、いくつかのブロックは値0の係数を有するように強制される。水平変換および垂直変換は、変換スキップとして推定される。対応する構文の変更を表8に示す。
【表8】
【0071】
図11は、ルマ再形成のための順関数および逆関数の順次適用を示している。実際に、第3の要素は、ルマ再形成(LMCS)に関連する。丸め動作に起因して、順関数および逆関数を順次適用しても元の信号が得られるとは限らないため、再形成はロッシー変換である。LMCSでは、参照ピクチャは元のドメインに記憶される。イントラケースでは、予測プロセスは「再形成された」ドメインで達成され、サンプルが再構築されると、ループフィルタリングステップの直前に逆再形成が適用される。インターケースでは、動き補償の後、予測された信号は前方に再形成される。次に、サンプルが再構築されると、ループフィルタリングステップの直前に逆再形成が適用される。
【0072】
一実施形態において、PPSでロスレスコーディングが許可されている場合、LMCSはスライスレベルで無効化される。対応する構文の変更を表9に示す。
【表9】
【0073】
第4の要素は、複数変換選択(MTS)および変換スキップに関連し、一実施形態は、変換スキップを真に推定することに関連する。DCT変換およびDST変換は、量子化ステップが1に等しい場合でも、丸め誤差がわずかなロスにつながるため、ロッシーである。第1の実施形態において、CUがロスレスコード化されている場合(CUレベルフラグのcu_transquant_bypass_flagの値によってチェックされる)、変換スキップのみを使用することができる。transform_skip_flagは1と推定され、tu_mts_idxはコード化されない。対応する構文の変更を表10に示す。transform_skip_flagが1と推定される場合、ロスレスブロックには変換スキップの残差コーディングが使用される。
【表10】
【0074】
VTM-5.0では、2つの異なる残差コーディングプロセスを使用でき、1つ目のものは非変換スキップ残差コーディングに使用され、自然コンテンツブロックの残差のコード化に効率的であり、2つ目のものは変換スキップ残差コーディングに使用され、画面コンテンツブロックのコード化に効率的である。残差コーディング構文の選択を表11に示す。
【表11】
【0075】
図12は、ロスレスコード化ブロックに対して変換スキップが真と推定される場合の、cu_transquant_bypass_flag、transform_skip_flagの解析、および残差コーディングを含む一実施形態の例示的なフローチャートを示している。第1のステップ800において、cu_transquant_bypass_flagが解析され、フラグが真である場合、ステップ801でtransform_skip_flagが真であると推定され、そうでない場合、ステップ802でtransform_skip_flagが解析される。transform_skip_flagが偽に等しい場合、通常の残差はステップ803において解析される。そうでない場合、フラグが真の場合、変換スキップ残差はステップ804で解析される。
【0076】
図13は、ロスレスコード化ブロックに対して変換スキップが偽であると推定される場合の、cu_transquant_bypass_flag、transform_skip_flagの解析、および残差コーディングを含む一実施形態の例示的なフローチャートを示している。第1のステップ900において、cu_transquant_bypass_flagが解析され、フラグが真である場合、ステップ901でtransform_skip_flagが偽であると推定されてステップ904で通常の残差コーディングが使用され、そうでない場合、ステップ902でtransform_skip_flagが解析される。transform_skip_flagが偽に等しい場合、通常の残差はステップ904において解析される。そうでない場合、フラグが真の場合、変換スキップ残差はステップ903で解析される。
【0077】
変換スキップの残差コーディングは、画面コンテンツコード化ブロックから残差をコード化するための設計であるため、ロスレスブロックの自然コンテンツをコード化する場合は効率が低下する可能性がある。したがって、別の実施形態において、CUがロスレスコード化されている場合、transform_skip_flagは0と推定され、tu_mts_idxはコード化されない。通常の変換の残差コーディングは、ロスレスコード化ブロックに使用される。したがって、この特別なモード(すなわち、cu_transquant_bypass_flagが真の場合)では、transform_skip_flagが真の場合でも通常のコーディングが使用されるが、通常、transform_skip_flagが真の場合は変換スキップ残差コーディングを使用する必要がある。
【0078】
言い換えれば、図13に記載されたこの実施形態は、変換スキップ残差コーディングが使用されることが情報によって示される場合に、特別なモードを表すフラグを取得することによって、また、このフラグが真である場合に、使用するべき変換スキップ残差コーディングの代わりに残差コーディングに通常の残差コーディングを選択することによって、残差コーディングのタイプを判定するように提案する。特別なモードを表すフラグは、他の情報、例えば、コーディングがロスレスであることを示すもの(例えば、cu_transquant_bypass_flag)、量子化、変換プロセス、およびループフィルタがバイパスされる(使用されない)ことを示すもの、または残差コーディングが通常の残差コーディングに強制されることを示すものなどから導出され得る。
【0079】
図14は、ロスレスコード化ブロックに対して変換スキップが常に解析される場合の、cu_transquant_bypass_flag、transform_skip_flagの解析、および残差コーディングを含む一実施形態の例示的なフローチャートを示している。
【0080】
このような実施形態において、ロスレスコード化ブロックの設計をロッシーコード化ブロックに近づけるために、通常の残差コーディングおよび変換スキップコーディングの両方を使用することができる。この場合、transform_skip_flagはロスレスコード化ブロック用にコード化される。これにより、残差係数をコード化する2つの異なる方法の間での競合が可能になり、残差コーディングをコンテンツにより適切に適応させることができる。
【0081】
第1のステップ1400においてcu_transquant_bypass_flagが解析され、次に、ステップ1401においてtransform_skip_flagが解析される。transform_skip_flagが偽に等しい場合、通常の残差はステップ1403において解析される。そうでない場合、フラグが真の場合、変換スキップ残差はステップ1402において解析される。
【0082】
実際に、変換スキップ残差コーディング方法は、空間的に隣接する係数の値間の相関が強いコンピュータ生成コンテンツをコード化するために最適化される。一般に、ロッシーコーディングでは、変換スキップ係数コーディングは、コンテンツがコンピュータで生成される場合に主に使用され、この種のコンテンツで有効である。
【0083】
しかし、この実施形態において、フラグを使用して、通常の係数コーディング方法を選択するか、変換スキップ係数コーディング方法を選択するかを選択することが提案される。実際、変換スキップ係数コーディングは、コンピュータで生成されたコンテンツに使用でき、通常の係数コーディング方法は、通常のコンテンツに使用できる。これにより、残差係数をコード化する2つの異なる方法の間での競合が可能になり、残差コーディング方法をコンテンツにより適切に適応させることができる。このフラグは、ブロックの残差をコード化するために使用される係数コーディング方法のみを変更する。
【0084】
VVCでは、残差をコード化するために2つの方法が使用される。
-変換および量子化が使用される場合は、通常の係数コーディング方法が使用される。この方法はHEVCから継承され、さらにいくつかの改良が加えられたもので、信号の低周波数部分においてエネルギーが圧縮される変換の後に残差をコード化するように設計されている。
-量子化のみが使用される場合は、変換スキップ係数コーディング方法が使用される。この方法は、係数間に多くの空間相関があるため変換がスキップされることの多いコンピュータ生成コンテンツ用に設計されている。変換スキップ残差コーディング方法の主な特徴は、最後の非ゼロ係数を信号伝達しないこと、ブロックの左上から始まること、現在の係数のコード化に以前の係数の縮小テンプレートを使用すること、係数の符号がCabacコンテキストコード化であることである。
【0085】
図12、13および14は、現在のVVC仕様とは異なり、残差コーディング方法が、変換がスキップされたかどうかの事実から切り離され得ることを示している。実際に、現在のVVC仕様では、真に等しいtransform_skip_flag構文要素は、ブロックの残差に変換が適用されず、変換スキップ係数コーディング方法が使用されることを意味する。提案された方法では、現在のブロックがロスレスコード化されている(変換および量子化がスキップされる)場合、transform_skip_flagを偽と推定することにより、通常の係数コーディング方法が使用され、自然コンテンツをコード化する場合により良い係数コーディング方法が使用される。変形例では、cu_transquant_bypass_flagが真(この場合、変換および量子化はスキップされる)であっても、フラグ(ここではtransform_skip_flagがこの目的で再利用される)がコード化され、どの残差コーディング方法が使用されるかのみが示される。
【0086】
一実施形態は、低周波非分離可能変換(LFNTS)に関連している。この実施形態において、現在のCUがロスレスコード化されている場合、LFNTSは無効化される。対応する構文の変更を表12に示す。
【表12】
【0087】
一実施形態は、結合Cb-Crコーディングに関連している。Cb残差およびCr残差の結合コーディングのプロセスは可逆的ではない。resCb=resCrを伴う式1および式2を使用すると、resjoint=0、recCb=predCb、recCr=predCrになる。一実施形態において、cu_transquant_bypass_flagが真である場合、結合Cb-CrコーディングはCUレベルで無効化される。対応する構文の変更を表13に示す。
【表13】
【0088】
式1でresjoint_Cbとres Joint_Crとを分離すると式3のようになる。
【数5】
【0089】
この提案された変更により、式4に示すように、プロセスは可逆的だが、丸め誤差のためにロッシーである。
【数6】
【0090】
この変形例は、本明細書に後述される二次ロスレスコーディングプロセスを実施する際のロスレスコーディングに利用することができる。
【0091】
ロスレスコーディングのためのVVCツールの適応
図10Aを参照すると、この場合はステップ406に対応する。
【0092】
一実施形態において、ロスレス変換がMTS変換セットに追加される。ロスレスコーディングの場合、これらの変換を選択する必要がある。ロスレス変換の例は、正規化されていないウォルシュ-アダマール変換、正規化されていないハール変換である。ニアロスレス変換の例は、正規化されたウォルシュ-アダマール変換、正規化されたハール変換である。
【0093】
ロスレス変換は、ウォルシュ-アダマール変換またはハール変換のいずれかによって取得され得る。ウォルシュ-アダマールおよびハールの非正規化変換は、式5および式6に示すように、±1およびゼロから構成される。例えば、非正規化4x4ウォルシュ-アダマール行列は次のとおりである。
【数7】
非正規化4x4ハール行列は次のとおりである。
【数8】
ロスレス再構築は、ウォルシュ-アダマール変換またはハール変換のいずれかを使用して実現され得る。これを説明するために、残差サンプル(r0およびr1)を取得する2x2変換の例を考える。ハールおよびウォルシュ-アダマールの両方の変換行列は次のとおりである。
【数9】
変換係数(c0およびc1)は、以下により取得される。
【数10】
逆方向変換は次のように実施される。
【数11】
4x4ウォルシュ-アダマール変換の別の例では、4つの残差サンプル(r0、r1、r2、r3)を変換するために、行列に係数ベクトルを乗じて、変換係数c0、c1、c2、およびc3を取得する。
【数12】
逆方向変換は次のように実施される
【数13】
最後に、ハール変換を使用して4つの残差サンプルを変換するために、以下が使用される。
【数14】
逆方向変換は次のように実施される
【数15】
【0094】
非正規化ハール変換または非正規化ウォルシュ-アダマール変換では、係数のダイナミクスが増加するため、ビットレートが増加する場合がある。例えば、4x4の非正規化ウォルシュ-アダマール行列を使用する場合、係数エネルギーは残差サンプルのエネルギーの最大2倍になる可能性がある。したがって、正規化行列は、非正規化行列を2で除算することによって実現される。しかしながら、そうすると整数表現の損失につながる。「正規化された」ウォルシュ-アダマール変換を使用して4つの残差サンプルを変換する場合の同じ例を考える。
【数16】
変換係数には整数表現が使用されるため、丸めにより+-1/2の誤差が発生する。したがって、2で除算した後にリマインダをコード化するには、追加のコーディングステップが必要である。これは、次の方法で行うことができる。
まず、各係数の除算のリマインダを次のように計算する。
【数17】
リマインダ(rem_c、rem_c、rem_c、およびrem_c)は、(-1、0、または1)の値を取ることができる。
【0095】
その後、リマインダはビットストリームにコード化される。最初に、リマインダがゼロでないかどうかを示す有意なリマインダビットを符号化し、次に、有意である場合は、リマインダの符号を符号化する(0は負、1は正)。構文を表15に示す。差分パルス符号変調(DPCM)を使用して、リマインダ間の相関関係を利用することもできる。リマインダが復号化されると、デコーダは次のように逆方向変換を計算できる。
【数18】
【0096】
この手法は他の変換サイズに使用できるが、正規化が常に達成できるとは限らない。例えば、サイズ2x2のウォルシュ-アダマール変換行列では、正規化のために2の平方根で除算する必要があるが、リマインダ部分が単純に+-0.5ではないので、常に損失が生じる。しかしながら、4x4の場合のように2で除算すると、変換係数のダイナミクスの増加が低減するので有益である。
【0097】
この手法はハール変換にも適用できるが、ハール変換行列のノルムが不均一であるため、この手法では正規化変換はもたらされない。例示のために、4x4ハール変換について説明する。
【数19】
リマインダは次のように計算される。
【数20】
リマインダが(0、-1、および1)の値を取る場合。デコーダ側では、復号化されたリマインダは次のように逆方向変換プロセスで使用される。
【数21】
ハール、ウォルシュ-アダマール、および無変換のツールを用いて、複数の方法により残差データをロスレスで変換することができる。二次元残差信号の水平変換および垂直変換に対して、合計で9つの選択肢がある。次の表に、それらの詳細を示す。
【表14】
【0098】
これらの変換を利用する簡単な方法は、レートを低減する最適な変換ペアをエンコーダに選択させ、デコーダが使用されたペアを推測して逆方向変換を実施することができるように、使用されたペアのインデックスを符号化することである。
【0099】
VTMでは、現在の変換ペアは、水平変換および垂直変換のためのコアDCT2変換、または複数変換選択(MTS)として知られるDST7変換およびDCT8変換の追加セットのいずれかである。MTSは、高レベルフラグによってオン/オフを切り替えることができる。この設計に合わせるために、デフォルトのロスレス変換は水平方向および垂直方向の両方で無変換であり、「複数変換」はウォルシュ-アダマール変換およびハール変換である。これらは、高レベルのフラグ「Lossless_MTS_Flag」によって制御することもできる。したがって、変換選択の表は次のように変更できる。
【表15】
【0100】
通常、2つの非正規化変換は、小さい次元の残差によく適応する。例えば、最大8x8または4x4のサイズまで使用され得る。
【0101】
二次ロスレスコーディングによるブロックレベル
図10Aを参照すると、この場合はステップ407に対応する。
【0102】
CUがロッシーコード化されているが、誤差が所定のしきい値を下回っている場合、通常、式20に示すように、誤差の絶対値が1以下の場合、ロスレスコーディングを可能にする追加のコーディング段階が導入され得る。誤差は、元のピクセルと再構築されたサンプルとの差として測定される。
式20:二次ロスレスコーディングが適用され得るロッシーコーディングユニットの境界誤差
-1≦誤差≦1
【0103】
例えば、DCT変換またはDST変換が1に等しい量子化ステップで使用される場合、ロッシーコーディングの後に二次ロスレスコーディングが適用され得る。
【0104】
図15は、二次ロスレスコーディングの簡略化されたブロック図の例を示している。プロセスの入力はビットストリームである。データは、ステップ700においてビットストリームから復号化される。具体的には、これは量子化され変換された係数、変換タイプ、および新しく導入された二次係数をもたらす。逆量子化は、ステップ701において、量子化された変換された係数に適用される。逆方向変換は、ステップ702において、結果として生じる変換された係数に適用される。結果として生じる残差は、ステップ703において、ステップ704のイントラ予測またはインター予測から来る予測信号に加算される。結果は再構築されたブロックである。ステップ710においてI_PCMモードが選択された場合、サンプル値はエントロピー復号化なしで直接復号化される。ロスレスコーディングモードが選択されている場合、ステップ701および702はスキップされる。変換スキップモードが選択されている場合、ステップ702はスキップされる。二次変換モードを伴うブロックレベルが選択されると、ステップ701はスキップされ、ステップ720において逆方向変換が適用されて第1の残差が得られ、二次ロスレス残差が第1の残差に加算される。次に、結果として生じる残差の合計が、ステップ703において、予測された信号に加算される。
【0105】
誤差は所定のしきい値を下回っているため、この小さな残差をコード化する構文は非常に単純であり、基本的に、しきい値が1の場合、二次残差をコード化するために有意なフラグおよび符号フラグのみが必要になり得、構文は表16に示される。
【表16】
【0106】
この二次ロスレスコーディングは、ブロックごとではなくリージョンごとに適用することもできる。
【0107】
リージョンレベルの信号伝達
ロスレスコーディングの使用事例では、リージョン全体がロスレスでコード化される可能性が非常に高く、一部のロスレスコード化ブロックがロッシーコード化ブロックと混同される可能性は低い。このような場合に対処するには、実際の構文でCUごとにcu_transquant_bypass_flagをコード化する必要があるが、これにはコストがかかる可能性がある。
【0108】
第1の実施形態において、フラグを移動し、split_cu_flagの前にコード化して、親CUのすべての子CUがregion_transquant_bypass_flagを共有できるようにすることを提案する。関連する構文を表17に示す。
【表17】
【0109】
図16は、リージョンレベルの信号伝達が使用される場合のregion_transquant_bypass_flagおよびsplit_cu_flagの解析プロセスの例示的なフローチャートを示している。コーディングツリーユニットの構文を解析する場合、第1のステップ(500)は、2つの変数、すなわち、ロスレスコーディングを示すフラグが現在のリージョンに対してすでにコード化されているかどうかを示すisRegionTransquantCodedと、現在のリージョンがロスレスコード化されているかどうかを示すisRegionTransquantを偽に初期化することになる。次に、ステップ501は、ロスレスコーディングがピクチャレベルで有効化されており(Transquant_bypass_enabled_flagが真である)、region_transquant_bypass_flagが現在のリージョンに対してまだコード化されていない(isRegionTransquantCodedが偽である)かどうかをチェックする。これらの条件が真である場合、フラグregion_transquant_bypass_flagがステップ502において解析される。それ以外の場合、ステップ504でsplit_cu_flagが解析される。ステップ502の後、ステップ503で、region_transquant_bypass_flagが真であるかどうかがチェックされる。region_transquant_bypass_flagが真の場合、ステップ504において変数isRegionTransquantが真に設定される。次に、split_cu_flagがステップ504において解析される。split_cu_flagが真の場合、プロセスはステップ500に戻る。そうでない場合、ツリーは分割されなくなり、プロセスは終了する(ステップ505)。現在のコーディングユニットの構文が解析される場合がある。
【0110】
二分木の場合のロスレスコーディング
図17は、二分木の場合のルマおよびクロマの相異なる区分を示している。VVCでは、二分木と呼ばれるコーディング構造により、イントラスライスに対するルマのツリーおよびクロマのツリーを別々にコード化できる。
【0111】
一実施形態において、cu_transquant_bypass_flagは、ツリーごとに別々に解析され、ロスレスコーディングを信号伝達するためのより高い柔軟性を可能にする。
【0112】
一変形実施形態において、cu_transquant_bypass_flagはクロマツリーについてコード化されず、ルマツリーから推定される。あるクロマCUについて、併置されたルマCUの1つがロスレスコード化される場合、現在のクロマCUもロスレスコード化される。この図は、ルマツリーおよびクロマツリーの相異なる区分を示している。例えば、ルマCU L4がロスレスコード化される場合、クロマCU C3およびC4はロスレスコード化される。別の例では、ルマCU L3がロスレスコード化される場合、併置されたルマCU L2がロスレスコード化されていなくても、クロマCU C2もロスレスコード化される。
【0113】
本出願では、ツール、特徴、実施形態、モデル、アプローチなどを含む様々な態様について説明する。これらの態様の多くは、特異性、また、少なくとも個々の特性を示すために説明されており、しばしば限定的に聞こえ得るように説明される。しかしながら、これは、説明を明確にするためのものであり、これらの態様の用途または範囲を限定するものではない。実際に、異なる態様のすべてを組み合わせ、かつ置き換えて、さらなる態様を提供することができる。さらに、これらの態様は、以前の出願で説明された態様と組み合わせ、かつ交換することもできる。
【0114】
本出願で説明および企図される態様は、多くの異なる形態で実装することができる。図1A図1Bおよび図2は、いくつかの実施形態を提供するが、他の実施形態が企図され、これらの図の説明は、実装の幅を制限するものではない。これらの態様のうちの少なくとも1つは、概して、ビデオ符号化および復号化に関し、少なくとも1つの他の態様は、概して、生成または符号化されたビットストリームを送信することに関する。これらおよび他の態様は、方法、装置、説明された方法のいずれかに従ってビデオデータを符号化または復号化するための命令を記憶したコンピュータ可読記憶媒体、および/または説明された方法のいずれかに従って生成されるビットストリームを記憶したコンピュータ可読記憶媒体として実装することができる。
【0115】
様々な方法が、本明細書に記載されており、それらの方法の各々は、説明された方法を達成するための1つ以上のステップまたは行為を含む。本方法の正しい動作のために特定の順序のステップまたは行為が必要でない限り、特定のステップおよび/または行為の順序および/または使用は、変更され得、または組み合わされ得る。
【0116】
本出願に記載されている様々な方法および他の態様を使用して、図1Aおよび図1Bに示すようなモジュール、例えば、ビデオエンコーダ100およびビデオデコーダ200の動き補償モジュールおよび動き推定モジュール(170、175、275)を修正することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存かまたは将来開発されるかどうかに関わらず、他の標準規格および推奨事項、ならびに任意のそのような標準規格および推奨事項(VVCおよびHEVCを含む)の拡張版に適用することができる。特に指示されていない限り、または技術的に除外されていない限り、本出願で説明される態様は、個別にまたは組み合わせて使用することができる。
【0117】
本出願では様々な数値が使用される。特定の値は、例示的な目的のためであり、記載された態様は、これらの特定の値に限定されるものではない。
【0118】
様々な実装形態は、復号化を伴う。本出願で使用される「復号」は、例えば、受信した符号化されたシーケンスに対して実施されるプロセスのすべてまたは一部を包含して、表示に適した最終出力を生成することができる。様々な実施形態において、そのようなプロセスは、デコーダによって通常実施されるプロセスのうちの1つ以上を含む。様々な実施形態において、このようなプロセスはまた、または代替的に、本出願で説明される様々な実装形態のデコーダによって実施されるプロセスを含む。
【0119】
さらなる例として、一実施形態において、「復号化」は、エントロピー復号化のみを指し、別の実施形態において、「復号化」は、差分復号化のみを指し、別の実施形態において、「復号化」は、エントロピー復号化および差分復号化の組み合わせを指す。「復号化処理」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い復号化処理を指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
【0120】
様々な実装形態は、符号化を伴う。「復号化」に関する上記の考察と同様に、本出願で使用される「符号化」は、例えば、符号化されたビットストリームを生成するために入力ビデオシーケンスで実施されるプロセスのすべてまたは一部を包含することができる。様々な実施形態において、そのようなプロセスは、エンコーダによって通常実施されるプロセスのうちの1つ以上を含む。様々な実施形態において、このようなプロセスはまた、または代替的に、本出願で説明される様々な実装形態のエンコーダによって実施されるプロセスを含む。
【0121】
さらなる例として、一実施形態において、「符号化」は、エントロピー符号化のみを指し、別の実施形態において、「符号化」は、差分符号化のみを指し、別の実施形態において、「符号化」は、差分符号化およびエントロピー符号化の組み合わせを指す。「符号化プロセス」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い符号化プロセスを指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
【0122】
本明細書で使用される構文要素は、説明的な用語であることに留意されたい。したがって、それらは、他の構文要素名の使用を排除するものではない。
【0123】
図がフロー図として提示されている場合、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図がブロック図として提示されている場合、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
【0124】
様々な実施形態は、レート歪み最適化について言及する。特に、符号化プロセスの間、多くの場合に計算の複雑さの制約を考えて、レートと歪みとの間のバランスまたはトレードオフが、通常、考慮される。レート歪みの最適化は、通常、レートおよび歪みの加重和であるレート歪み関数を最小化するように定式化される。レート歪みの最適化問題を解決するには、様々なアプローチがある。例えば、アプローチは、考慮されるすべてのモードまたはコーディングパラメータ値を含む、すべての符号化オプションの広範なテストに基づき得、コード化および復号化後の再構築された信号のコード化コストおよび関連する歪みの完全な評価を伴う。特に、再構築された信号ではなく、予測または予測残差信号に基づいて近似歪みを計算することによって、符号化の複雑さを軽減するために、より高速なアプローチを使用することもできる。可能な符号化オプションの一部にのみ近似歪みを使用し、他の符号化オプションに完全な歪みを使用することなどによって、これら2つのアプローチを組み合わせて使用することもできる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチが、最適化を実施するための様々な技術のうちのいずれかを採用するが、最適化は、必ずしもコード化コストおよび関連する歪みの両方の完全な評価ではない。
【0125】
本出願では、ツール、特徴、実施形態、モデル、アプローチなどを含む様々な態様について説明する。これらの態様の多くは、特異性、また、少なくとも個々の特性を示すために説明されており、しばしば限定的に聞こえ得るように説明される。しかしながら、これは、説明を明確にするためのものであり、これらの態様の用途または範囲を限定するものではない。実際に、異なる態様のすべてを組み合わせ、かつ置き換えて、さらなる態様を提供することができる。さらに、これらの態様は、以前の出願で説明された態様と組み合わせ、かつ交換することもできる。
【0126】
本明細書で説明された実装形態および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号に実装され得る。単一の実装形態の文脈でのみ考察された(例えば、方法としてのみ考察された)としても、考察された特徴の実装形態はまた、他の形態(例えば、装置またはプログラム)で実装することもできる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実装することができる。それらの方法は、例えば、プロセッサ内に実装することができ、このプロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む処理デバイス全般を指す。プロセッサは、通信デバイス、例えば、コンピュータ、タブレット、スマートフォン、携帯電話、ポータブル/パーソナルデジタルアシスタント、およびエンドユーザ間の情報の通信を容易にする他のデバイスなども含む。
【0127】
「1つの実施形態」もしくは「一実施形態」、または「1つの実装形態」もしくは「一実装形態」、ならびにそれらの他の変形への言及は、実施形態に関連して説明された特定の特徴、構造、特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体にわたって様々な箇所においてみられる、「1つの実施形態において」もしくは「一実施形態において」または「1つの実装形態において」もしくは「一実装形態において」という句、ならびに任意の他の変形の出現は、必ずしもすべてが同じ実施形態を指しているわけではない。
【0128】
さらに、本出願は、情報の様々な部分を「判定すること」に言及する場合がある。情報の判定には、例えば、情報の評価、情報の計算、情報の予測、またはメモリからの情報の検索のうちの1つ以上が含まれ得る。
【0129】
さらに、本出願は、情報の様々な部分に「アクセスすること」に言及する場合がある。情報のアクセスには、例えば、情報の受信、(例えば、メモリからの)情報の検索、情報の記憶、情報の移動、情報のコピー、情報の計算、情報の判定、情報の予測、または情報の評価のうちの1つ以上が含まれ得る。
【0130】
さらに、本出願は、情報の様々な部分を「受信すること」に言及する場合がある。受信することは、「アクセスすること」と同様に、広義の用語であることが意図されている。情報の受信には、例えば、情報へのアクセス、または(例えば、メモリからの)情報の検索のうちの1つ以上が含まれ得る。さらに、「受信すること」は、典型的には、何らかの方法で、例えば、情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の判定、情報の予測、または情報の評価などの動作中に伴う。
【0131】
本出願では、「再構築された」および「復号化された」という用語は互換的に使用され得、「ピクセル」および「サンプル」という用語は互換的に使用され得、「画像」、「ピクチャ」、「フレーム」、「スライス」、および「タイル」という用語は互換的に使用され得る。必須ではないが、通常は、「再構築された」という用語は、エンコーダ側において使用される一方で「復号化された」は、デコーダ側において使用される。
【0132】
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」の場合、次の「/」、「および/または」、ならびに「のうちの少なくとも1つ」のいずれかの使用は、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)の選択、を網羅することを意図している。これは、当業者にとって明らかであるように、列記される項目の数だけ拡張され得る。
【0133】
また、本明細書で使用される場合、「信号伝達する」という単語は、とりわけ、対応するデコーダに何かを指示することを指す。例えば、特定の実施形態において、エンコーダは、照明補償パラメータのうちの特定の1つに信号伝達する。このようにして、一実施形態において、同じパラメータが、エンコーダ側およびデコーダ側の両方で使用される。したがって、例えば、エンコーダは、特定のパラメータをデコーダに送信することができ(明示的なシグナリング)、その結果、デコーダは、同じ特定のパラメータを使用することができる。逆に、デコーダがすでに特定のパラメータならびに他のパラメータを有する場合、信号伝達は、送信(暗黙的なシグナリング)を行わずに使用されて、デコーダが簡単に特定のパラメータを認識および選択することを可能にすることができる。いかなる実際の機能の送信も回避することによって、ビットの節約が、様々な実施形態で実現される。シグナリングは、様々な方法で達成できることが分かるはずである。例えば、1つ以上の構文要素、フラグなどが、様々な実施形態で、対応するデコーダに情報を信号伝達するために使用される。上記は、「信号伝達する」という単語の動詞形に関するものであるが、「信号伝達」という単語はまた、本明細書では、名詞として使用することもできる。
【0134】
当業者には明らかであるように、実装形態は、例えば、記憶または送信され得る情報を搬送するようにフォーマットされる様々な信号を生成することができる。情報は、例えば、方法を実施するための命令、または説明される実装形態のうちの1つにより生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされ得る。このような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)、電磁波として、またはベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含むことができる。信号が搬送する情報は、例えば、アナログまたはデジタル情報であり得る。信号は、既知であるように、様々な異なる有線または無線リンクを介して送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図11
図12
図13
図14
図15
図16
図17