(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-26
(45)【発行日】2025-06-03
(54)【発明の名称】符号化及び復号化方法並びに装置
(51)【国際特許分類】
H04N 19/105 20140101AFI20250527BHJP
H04N 19/176 20140101ALI20250527BHJP
H04N 19/147 20140101ALI20250527BHJP
H04N 19/70 20140101ALI20250527BHJP
【FI】
H04N19/105
H04N19/176
H04N19/147
H04N19/70
(21)【出願番号】P 2022525805
(86)(22)【出願日】2020-11-02
(86)【国際出願番号】 EP2020080631
(87)【国際公開番号】W WO2021089455
(87)【国際公開日】2021-05-14
【審査請求日】2023-11-02
(32)【優先日】2019-11-07
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2019-12-02
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518341334
【氏名又は名称】インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ボルド、フィリップ
(72)【発明者】
【氏名】ポイエー、タンギ
(72)【発明者】
【氏名】ロバート、アントワーヌ
(72)【発明者】
【氏名】レリーネク、ファブリス
(72)【発明者】
【氏名】ガルピン、フランク
【審査官】松元 伸次
(56)【参考文献】
【文献】特表2022-544844(JP,A)
【文献】Yan Ye ET AL;,AHG13: On bi-prediction with weighted averaging and weighted prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 09-18 January 2019, JVET-M0111-v2,2019年01月11日,pp.1,4-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
復号方法であって、
ビデオから、残差ブロックが現在のブロックと基準ブロックの重み付きバージョン、又は複数の基準ブロックの重み付き平均のいずれかとの差に基づく重み付き予測モードが前記現在のブロックに対して有効であるかどうかを判定することと、
前記重み付き予測モードが有効にされていることに応答して、前記重み付き予測モード
及び少なくとも別の予測ツール
のうちの少なくとも1つに関連する前記現在のブロックの再構成プロセスの一部を修正することであって、
前記現在のブロックの前記再構成プロセスは、前記重み付き予測モードと前記別の予測ツールとを混合することによって修正され、前記別の予測ツールは、合成イントラ及びインター予測と、幾何学的予測モードと、三角形予測モードとのうちの1つである、ことと、
を含む
方法。
【請求項2】
前記現在のブロックを含むスライスのスライスヘッダで言及された前記重み付き予測モードによって使用される少なくとも1つの重みがデフォルトの重みとは異なるときに、
前記重み付き予測
モードが
有効になる、請求項1に記載の方法。
【請求項3】
前記現在のブロックのインター予測のための基準ブロックを提供する基準画像が、デフォルトの重みとは異なる重みに関連付けられている場合、前記重み付き予測モードが
有効になる、請求項1に記載の方法。
【請求項4】
前記現在のブロックに対して重み付き予測モードが有効であると判定することは、前記現在のブロックを表すビデオストリームのビットストリーム部分内の前記別の予測ツールに関連するシンタックス要素を解析又は推測する
ことを含む、請求項
3に記載の方法。
【請求項5】
現在のブロックを符号化する
方法であって、
残差ブロックが、前記現在のブロックと基準ブロックの重み付きバージョン、又は
複数の基準ブロックの重み付き平均のいずれかとの差に基づく重み付き予測モードが前記現在のブロックに対して有効であるかどうかを判定することと、
前記重み付き予測モードが有効にされていることに応答して、前記重み付き予測モード
及び少なくとも別の予測ツール
のうちの少なくとも1つに関連する前記現在のブロックの符号化プロセスの一部を修正することであって、
前記現在のブロックの前記符号化プロセスは、前記重み付き予測モードと前記別の予測ツールとを混合することによって修正され、前記別の予測ツールは、合成イントラ及びインター予測と、幾何学的予測モードと、三角形予測モードとのうちの1つである、ことと、
を含む、方法。
【請求項6】
復号のためのデバイスであって、
ビデオから、残差ブロックが現在のブロックと基準ブロックの重み付きバージョン、又は複数の基準ブロックの重み付き平均のいずれかとの差に基づく重み付き予測モードが前記現在のブロックに対して有効であるかどうかを判定する手段と、
前記重み付き予測
モードが有効にされていることに応答して適用される、前記重み付き予測モード
及び少なくとも別の予測ツール
のうちの少なくとも1つに関連する前記現在のブロックの再構成プロセスの一部を修正する手段であって、
前記現在のブロックの前記再構成プロセスは、前記重み付き予測モードと前記別の予測ツールとを混合することによって修正され、前記別の予測ツールは、合成イントラ及びインター予測と、幾何学的予測モードと、三角形予測モードとのうちの1つである、手段と、
を含む
デバイス。
【請求項7】
前記現在のブロックを含むスライスのスライスヘッダで言及された前記重み付き予測モードによって使用される少なくとも1つの重みがデフォルトの重みとは異なるときに、
前記重み付き予測
モードが
有効になる、請求項
6に記載のデバイス。
【請求項8】
前記現在のブロックのインター予測のための基準ブロックを提供する基準画像が、デフォルトの重みとは異なる重みに関連付けられている場合、前記重み付き予測モードが
有効になる、請求項
6に記載のデバイス。
【請求項9】
前記重み付き予測モードが前記現在のブロックに対して有効であることを判定する手段は、前記現在のブロックを表すビデオストリームのビットストリーム部分内の前記別の予測ツールに関連するシンタックス要素を解析又は推測する手段を含む、請求項6に記載のデバイス。
【請求項10】
現在のブロックを符号化するためのデバイスであって、
残差ブロックが前記現在のブロックと基準ブロックの重み付きバージョン、又は複数の基準ブロックの重み付き平均のいずれかとの差に基づく重み付き予測モードが前記現在のブロックに対して有効であるかどうかを判定する手段と、
前記重み付き予測モードが有効にされていることに応答して適用される、前記重み付き予測モード
及び少なくとも別の予測ツール
のうちの少なくとも1つに関連する前記現在のブロックの
符号化プロセスの一部を修正する手段であって、
前記現在のブロックの前記符号化プロセスは、前記重み付き予測モードと前記別の予測ツールとを混合することによって修正され、前記別の予測ツールは、合成イントラ及びインター予測と、幾何学的予測モードと、三角形予測モードとのうちの1つである、手段と、
を含む
デバイス。
【請求項11】
請求項1に記載の
復号方法を実施するための、又は請求項
5に記載の符号化方法を実施するためのプログラムコード命令を含む情報記憶手段。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、ビデオ符号化若しくは復号化のための方法及び装置に関し、より具体的には、光フローに基づく予測サンプル重み付けプロセス又はモーション情報精密化プロセスを使用する、ビデオ符号化又は復号化のための方法及び装置に関する。
【背景技術】
【0002】
高い圧縮効率を実現するために、ビデオの符号化方式は、通常、ビデオコンテンツの空間的冗長性及び時間的冗長性を活用した予測及び変換を採用している。符号化中、ビデオコンテンツの画像はピクセルのブロックに分割され、これらのブロックは次いで、以下で元のサブブロックと呼ばれる1つ又は複数のサブブロックに分割される。次いで、イントラ予測又はインター予測を各サブブロックに適用して、画像内又は画像間相関を利用する。使用される予測方法(イントラ又はインター)が何であれ、元のサブブロックごとに予測子サブブロックが決定される。次に、多くの場合予測誤差サブブロック又は予測残差サブブロックと呼ばれる、元のサブブロックと予測サブブロックとの間の差を表すサブブロックが変換され、量子化され、エントロピ符号化されて、符号化ビデオストリームが生成される。ビデオを再構成するには、変換、量子化、及びエントロピ符号化に対応する逆の処理によって、圧縮データを復号化する。
【0003】
ジョイントビデオエキスパートチーム(JVET)として知られているITU-T及びISO/IECの専門家の共同チームによって開発中のVersatile Video Coding(VVC)という名称の国際規格では、新しい圧縮ツールが導入されている。例えば、VVCでは、以下でPSWツールと呼ばれる予測サンプル重み付けプロセスを使用する圧縮ツールの数がわずかに増加している。並行して、以下でOFツールと呼ばれる、光フローの概念に基づく動き情報の精密化を適用することを意図した新しいツールが登場している。同様の概念を使用するこれらのPSW(それぞれOF)ツールでは、独立して採用された各ツールによって提供される圧縮の改善は、これらのツールを組み合わせたときは蓄積しない。更に、組み合わせた場合、これらのツール(PSWツール及びOFツール)は相反する効果を有し得るため、その組み合わせは圧縮効率の低下につながる可能性がある。
【0004】
互換性のないPSW及び/又はOFツールの組み合わせを回避することを可能にする解決策を提案することが望ましい。これらのツールのうちの1つのみを使用すると同様の圧縮効率が得られるが、符号化/復号化の複雑さが低減されるか、あるいはPSW及び/又はOFツールの組み合わせが許容できない複雑さをもたらす場合に、PSW及び/又はOFツールを一緒に使用することを回避する解決策を提案することも望ましい。
【発明の概要】
【0005】
第1の態様では、本実施形態のうちの1つ又は複数は復号化のための方法を提供し、方法は、
符号化ビデオストリームから、現在のブロックと、一方向インター予測の場合は基準ブロックの重み付きバージョン、又は双方向インター予測の場合は2つの基準ブロックの重み付き平均のいずれかとの差として残差ブロックが計算される、重み付き予測と呼ばれるインター予測モードが現在のブロックに対して有効であるかどうかを判定することと、
重み付き予測が有効である場合、重み付き予測及び/又は予測ツールの第1のセットのうちの少なくとも別の予測ツールに関連する当該現在のブロックの再構成プロセスの一部を修正することであって、第1のセットは、三角形予測モード、幾何学的予測モード、局所照明補償モード、組み合わされたイントラインター予測モード、及び動き補償に使用される動き情報が光フローモデルに基づいて精密化されるモードを含む、修正することと、を含む。
【0006】
第2の態様では、本実施形態のうちの1つ又は複数は復号化のためのデバイスを提供し、デバイスは、
符号化ビデオストリームから、現在のブロックと、一方向インター予測の場合は基準ブロックの重み付きバージョン、又は双方向インター予測の場合は2つの基準ブロックの重み付き平均のいずれかとの差として残差ブロックが計算される、重み付き予測と呼ばれるインター予測モードが現在のブロックに対して有効であるかどうかを判定する手段と、
重み付き予測が可能である場合に適用される修正する手段であって、重み付き予測及び/又は予測ツールの第1のセットのうちの少なくとも別の予測ツールに関連する当該現在のブロックの再構成プロセスの一部を修正する手段であって、第1のセットは、三角形予測モード、幾何学的予測モード、局所照明補償モード、組み合わされたイントラインター予測モード、及び動き補償に使用される動き情報が光フローモデルに基づいて精密化されるモードを含む、修正する手段と、を含む。
【0007】
一実施形態では、現在のブロックを含むスライスのスライスヘッダで言及された重み付き予測によって使用される少なくとも1つの重みがデフォルトの重みと異なる場合、重み付き予測が可能になる。
【0008】
一実施形態では、現在のブロックの再構成プロセスは、符号化ビデオストリームから当該現在のブロックの第1のセットのツールに関連する任意のシンタックス要素を解析又は推測することを防止することによって修正される。
【0009】
一実施形態では、現在のブロックのインター予測のための基準ブロックを提供する基準画像がデフォルトの重みとは異なる重みに関連付けられている場合、重み付き予測が可能になる。
【0010】
一実施形態では、現在のブロックに対して重み付き予測が有効であると判定することは、現在のブロックを表す符号化ビデオストリームのビットストリーム部分内の第1のセットのツールに関連するシンタックス要素を解析又は推測することを含む。
【0011】
一実施形態では、第1のセットの当該ツールに関連する符号化ビデオストリームのシンタックス要素が、第1のセットの当該ツールが現在のブロックに適用される必要があることを示す場合であっても、現在のブロックの再構成プロセスは、第1のセットの当該ツールの適用を防止することによって修正される。
【0012】
一実施形態では、現在のブロックの再構成プロセスは、第1のセットのツールの、符号化ビデオストリーム内で指定された現在のブロックへの適用を代替インター予測ツールの適用に置き換えることによって修正される。
【0013】
一実施形態では、現在のブロックの再構成プロセスは、当該シンタックス要素のセマンティックを変更することによって第1のセットのツールに関連するシンタックス要素の解釈を変更することによって、修正される。
【0014】
一実施形態では、現在のブロックの再構成プロセスは、重み付き予測及び第1のセットのツールの実行順序を変更することによって修正される。
【0015】
一実施形態では、現在のブロックの再構成プロセスは、重み付き予測と第1のセットの少なくとも1つのツールとを単一の重み付き段階に混合することによって修正される。
【0016】
第3の態様では、本実施形態のうちの1つ又は複数は、現在のブロックを表すビットストリーム部分を符号化ビデオストリームに符号化するための方法を提供し、方法は、
現在のブロックと、一方向インター予測の場合は基準ブロックの重み付きバージョン、又は双方向インター予測の場合は2つの基準ブロックの重み付き平均のいずれかとの差として残差ブロックが計算される、重み付き予測と呼ばれるインター予測モードが現在のブロックに対して有効であるかどうかを判定することと、
重み付き予測が有効である場合、重み付き予測及び/又は予測ツールの第1のセットのうちの少なくとも別の予測ツールに関連する当該現在のブロックの符号化プロセスの一部を修正することであって、第1のセットは、三角形予測モード、幾何学的予測モード、局所照明補償モード、組み合わされたイントラインター予測モード、及び動き補償に使用される動き情報が光フローモデルに基づいて精密化されてもよいモードを含む、修正することと、を含む。
【0017】
第4の態様では、本実施形態のうちの1つ又は複数は、現在のブロックを表すビットストリーム部分を符号化ビデオストリームに符号化するためのデバイスを提供し、デバイスは、
現在のブロックと、一方向インター予測の場合は基準ブロックの重み付きバージョン、又は双方向インター予測の場合は2つの基準ブロックの重み付き平均のいずれかとの差として残差ブロックが計算される、重み付き予測と呼ばれるインター予測モードが現在のブロックに対して有効であるかどうかを判定する手段と、
重み付き予測が可能である場合に適用される修正する手段であって、重み付き予測及び/又は予測ツールの第1のセットのうちの少なくとも別の予測ツールに関連する当該現在のブロックの再構成プロセスの一部を修正する手段であって、第1のセットは、三角形予測モード、幾何学的予測モード、局所照明補償モード、組み合わされたイントラインター予測モード、及び動き補償に使用される動き情報が光フローモデルに基づいて精密化されてもよいモードを含む、修正する手段と、を含む。
【0018】
一実施形態では、現在のブロックを含むスライスのスライスヘッダで符号化された重み付き予測によって使用される少なくとも1つの重みがデフォルトの重みと異なる場合、重み付き予測が可能になる。
【0019】
一実施形態では、現在のブロックの再構成プロセスは、第1のセットの予測ツールの使用を防止することによって修正され、現在のブロックを表す符号化ビデオストリームのビットストリーム部分は、第1のセットの予測ツールに関連するシンタックス要素を含まない。
【0020】
一実施形態では、現在のブロックのインター予測のための基準ブロックを提供する基準画像がデフォルトの重みとは異なる重みに関連付けられている場合、重み付き予測が可能になる。
【0021】
一実施形態では、現在のブロックの再構成プロセスは、現在のブロックを符号化するために選択された第1のセットの予測ツールを適用することなく、現在のブロックを再構成することによって修正され、第1のセットの選択された予測ツールを表すシンタックス要素は、現在のブロックを表す符号化ビデオストリームのビットストリーム部分に符号化される。
【0022】
一実施形態では、現在のブロックの再構成プロセスは、現在のブロックを符号化するために選択された第1のセットの予測ツールを代替インター予測ツールで置き換えることによって現在のブロックを再構成することによって修正され、第1のセットの選択された予測ツールを表すシンタックス要素は、現在のブロックを表す符号化ビデオストリームのビットストリーム部分に符号化される。
【0023】
一実施形態では、現在のブロックの再構成プロセスは、重み付き予測及び第1のセットのツールの適用順序を修正することによって修正される。
【0024】
一実施形態では、現在のブロックの再構成プロセスは、重み付き予測と第1のセットの少なくとも1つのツールとを単一の重み付き段階に混合することによって修正される。
【0025】
第5の態様では、本実施形態のうちの1つ又は複数は、第2又は第4の態様によるデバイスを含む装置を提供する。
【0026】
第6の態様では、本実施形態の1つ又は複数は、第3の態様による方法に従って、又は第4の態様によるデバイスによって生成されたデータを含む信号を提供する。
【0027】
第7の態様では、本実施形態のうちの1つ又は複数は、第1の態様による復号化方法を実施するための、又は第3の態様の符号化方法を実施するためのプログラムコード命令を含むコンピュータプログラムを提供する。
【0028】
第8の態様では、本実施形態のうちの1つ又は複数は、第1の態様による復号化方法を実施するための、又は第3の態様の符号化方法を実施するためのプログラムコード命令を記憶する情報記憶手段を提供する。
【図面の簡単な説明】
【0029】
【
図1】元のビデオのピクセルの画像による分割の例を示す。
【
図2】ビデオストリームを符号化するための方法を概略的に示す。
【
図3】符号化ビデオストリームを復号化するための方法を概略的に示す。
【
図4A】様々な態様及び実施形態が実装される、符号化モジュール又は復号化モジュールを実装することができる処理モジュールのハードウェアアーキテクチャの例を概略的に示す。
【
図4B】様々な態様及び実施形態が実装されているシステムの一例のブロック図を示す。
【
図5A】三角形予測モードの実施形態を概略的に示す。
【
図5B】幾何学的予測モードの実施形態を概略的に示す。
【
図5C】三角形予測モードで適用される適応的な重み付けプロセスを概略的に示す。
【
図6】光フローモードでの予測精密化の実施例を概略的に表す。
【
図7】符号化プロセス中に実行される再構成プロセスの実施形態の高レベル表現である。
【
図8】復号化プロセス中に実行される再構成プロセスの実施形態の高レベル表現である。
【
図9】再構成プロセスの修正された部分を開示する。
【
図10】等しいサイズの2つのサブブロックへのブロックの分割の実施例を概略的に示す。
【
図11】等しくないサイズの2つのサブブロックへのブロックの分割の実施例を概略的に示す。
【
図12】PSW又はOFツールのための通常の再構成プロセスを適用しないことを含む、当該PSW又はOFツールの非アクティブ化の一例に対応する解析プロセスを概略的に表す。
【
図13】PSW又はOFツールのための通常の再構成プロセスを適用しないことを含む、当該PSW又はOFツールの非アクティブ化の一例に対応する再構成プロセスを概略的に表す。
【発明を実施するための形態】
【0030】
実施形態の以下の説明は、VVCの文脈で行われる。しかしながら、これらの実施形態は、VVCに対応するビデオ符号化/復号化方法に限定されず、他のビデオ符号化/復号化方法に適用されるが、PSW及び/又はOFツールが使用され、組み合わされ得る他の画像符号化/復号化方法にも適用される。
【0031】
以下の実施形態のうちの少なくとも1つは、互換性のないPSW及び/又はOFツールを組み合わせることを防止することを可能にする。
【0032】
以下の実施形態の少なくとも1つは、PSW及び/又はOFツールの組み合わせが十分な圧縮利得をもたらさない、又は許容できない複雑さをもたらす組み合わせを防止することによって、符号化及び/又は復号化プロセスの複雑さを低減することを可能にする。
【0033】
図1は、元のビデオ10のピクセル11の画像による分割の例を示す。ここでは、ピクセルは、3つの成分、すなわち輝度成分と2つのクロミナンス成分からなると考えられる。しかしながら、以下の実施形態は、別の数の成分を含むピクセルから構成される画像、例えば、ピクセルが1つの成分を含むグレーレベル画像、又は3つの色成分と透明度成分及び/又は深度成分とを含むピクセルから構成される画像に適合される。
【0034】
画像は、複数の符号化エンティティに分割される。まず、
図1の参照番号13で示すように、VVCでは、画像が符号化ツリーユニット(CTU)と呼ばれるブロックのグリッドに分割される。CTUは、輝度サンプルのN×Nブロックと、クロミナンスサンプルの2つの対応するブロックとで構成される。Nは、一般に、例えば、「128」の最大値を有する2のべき乗である。次に、画像は、CTUの1つ又は複数のグループに分割される。例えば、それは1つ又は複数のタイル行及びタイル列に分割することができ、タイルは画像の矩形領域をカバーするCTUのシーケンスである。場合によっては、タイルを1つ又は複数のブリックに分割することができ、その各々はタイル内の少なくとも1つのCTU行からなる。タイル及びブリックの概念の上には、画像の少なくとも1つのタイル又はタイルの少なくとも1つのブリックを含むことができるスライスと呼ばれる別の符号化エンティティが存在する。
【0035】
スライスの2つのモード、すなわちラスタスキャンスライスモード及び矩形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、画像のタイルラスタスキャン内のタイルのシーケンスを含む。矩形スライスモードでは、スライスは、画像の矩形領域を形成する画像の少なくとも1つのブリックを含む。矩形スライス内のブリックは、スライスのブリックラスタスキャンの順序になっている。
【0036】
図1の例では、参照番号12で示すように、画像11は、各々が複数のタイル(図示せず)を含むラスタスキャンスライスモードの3つのスライスS1、S2、及びS3に分割され、各タイルは、1つのブリックのみを含む。
【0037】
図1の参照番号14で示すように、CTUは、符号化ユニット(CU)と呼ばれる1つ又は複数のサブブロックの階層ツリーの形態に分割され得る。CTUは、階層ツリーのルート(すなわち、親ノード)であり、複数のCU(すなわち、子ノード)に分割され得る。各CUは、より小さいCUに更に分割されていない場合は階層ツリーのリーフになり、更に分割されている場合はより小さいCU(すなわち、子ノード)の親ノードになる。標準的なHEVC(ISO/IEC 23008-2-MPEG-H Part 2,High Efficiency Video Coding/ITU-T H.265)は、四分木と呼ばれる1つのタイプの階層ツリーのみを使用していたが、VVCは、四分木、二分木、及び三分木を含む複数のタイプの階層ツリーを混合する階層ツリーを可能にする。四分木では、CTU(それぞれCU)は、等しいサイズの「4」つの平方CUに分割する(すなわち、その親ノードとなる)ことができる。二分木では、CTU(それぞれCU)は、等しいサイズの「2」つの矩形CUに水平又は垂直に分割することができる。三分木では、CTU(それぞれCU)は、「3」つの矩形CUに水平又は垂直に分割することができる。例えば、高さN及び幅MのCUは、高さN(それぞれN/4)及び幅M/4(それぞれM)の第1のCU、高さN(それぞれN/2)及び幅M/2(それぞれM)の第2のCU、並びに高さN(それぞれN/4)及び幅M/4(それぞれM)の第3のCUに垂直に(それぞれ水平に)分割される。
【0038】
図1の例では、CTU14は、四分木タイプの分割を使用して、最初に「4」つの正方形CUに分割される。左上のCUは、更に分割されていないため、階層ツリーのリーフであり、すなわち、他のCUの親ノードではない。右上のCUは、やはり四分木タイプの分割を使用して、「4」つのより小さい正方形CUに更に分割される。右下のCUは、二分木タイプの分割を使用して「2」つの矩形CUに垂直に分割される。左下のCUは、三分木タイプの分割を使用して「3」つの矩形CUに垂直に分割される。
【0039】
画像の符号化中、分割は適応的であり、各CTUは、CTU基準の圧縮効率を最適化するように分割される。
【0040】
HEVCでは、予測ユニット(PU)及び変換ユニット(TU)の概念が登場した。実際、HEVCでは、予測(すなわち、PU)及び変換(すなわち、TU)に使用される符号化エンティティは、CUの部分であり得る。例えば、
図1に示すように、サイズ2N×2Nの当該CUは、サイズN×2N又はサイズ2N×NのPU1411に分割することができる。更に、当該CUは、サイズN×Nの「4」つのTU1412又はサイズ
【0041】
【数1】
の「16」個のTUに分割することができる。
【0042】
VVCでは、いくつかの特定の場合を除いて、TU及びPUのフロンティアがCUのフロンティアに位置合わせされることに留意されたい。したがって、CUは、一般に、1つのTU及び1つのPUを含む。いくつかのPSWツールは、CUを複数のPUに分割することを可能にする。例えば、三角形予測モード(TPM)と呼ばれる予測モードは、CUを等しいサイズの2つの三角形PUに分割することを可能にする。
図5Aは、TPMモードに従って矩形CUを分割することによって得られる2つのPUを表す。TPMモードはCUを等しいサイズの2つの三角形PUに分割することを可能にするが、幾何予測モード(GEO)と呼ばれる第2のモードは、CUを等しくないサイズの2つのPUに分割することを可能にする。
図5Bは、GEOモードに従って2つのPUに分割された矩形CUを表す。
【0043】
本出願では、「ブロック」又は「画像ブロック」という用語は、CTU、CU、PU、及びTUのうちのいずれか1つを指すために使用することができる。更に、「ブロック」又は「画像ブロック」という用語は、H.264/AVC又は他のビデオ符号化規格で指定されているようなマクロブロック、パーティション、及びサブブロックを指すために使用することができ、より一般的には、多数のサイズのサンプルのアレイを指すために使用することができる。
【0044】
本出願では、「再構成された」及び「復号化された」という用語は互換的に使用することができ、「ピクセル」及び「サンプル」という用語は互換的に使用することができ、「画像」、「ピクチャ」、「サブピクチャ」、「スライス」、及び「フレーム」という用語は互換的に使用することができる。通常では、必ずしもそうではないが、「再構成された」という用語はエンコーダ側で使用され、「復号化された」という用語はデコーダ側で使用される。
【0045】
図2は、符号化モジュールによって実行されるビデオストリームを符号化するための方法を概略的に示す。符号化のためのこの方法の変形形態が考えられるが、明確さを目的として、以下では予想される全ての変形形態を記載することなく、
図2の符号化のための方法について説明する。
【0046】
符号化される前に、ビデオの現在の元の画像201は、事前符号化処理(
図2には表されていない)を経ることができる。例えば、色変換は、現在の元の画像(例えば、RGB4:4:4からYCbCr4:2:0への変換)に適用されるか、又は(例えば、色成分のうちの1つのヒストグラム均等化を使用して)圧縮に対してより弾力的な信号分布を得るために、再マッピングが現在の元の画像201成分に適用される。
【0047】
現在の元の画像201の符号化は、
図1に関連して説明したように、ステップ202中の現在の元の画像201の分割から始まる。したがって、現在の画像201は、CTU、CU、PU、TUなどに分割される。各ブロックについて、符号化モジュールは、イントラ予測とインター予測との間の符号化モードを決定する。
【0048】
イントラ予測は、イントラ予測方法に従って、ステップ203中に、符号化される現在のブロックの因果的近傍に位置する再構成されたブロックのピクセルから導出された予測ブロックから現在のブロックのピクセルを予測することからなる。イントラ予測の結果は、近傍のブロックのどのピクセルを使用するかを示す予測方向と、現在のブロックと予測ブロックとの差の計算から生じる残差ブロックである。
【0049】
インター予測は、基準ブロックと呼ばれる、現在の画像の前又は後の画像のピクセルのブロックから現在のブロックのピクセルを予測することからなり、この画像は基準画像と呼ばれる。インター予測方法による現在のブロックの符号化中に、類似性基準による、現在のブロックに最も近い基準画像のブロックが、動き推定ステップ204によって決定される。ステップ204中に、基準画像内の基準ブロックの位置を示す動きベクトルが決定される。当該動きベクトルは、動き補償ステップ205中に使用され、その間に残差ブロックは、現在のブロックと基準ブロックとの間の差の形態で計算される。
【0050】
第1のビデオ圧縮規格では、上述した一方向インター予測モードが利用可能な唯一のインターモードであった。ビデオ圧縮標準が進化するにつれて、インターモードのファミリーは著しく成長しており、現在は多くの異なるインターモードを含む。
【0051】
インターモードの第1の進化は、双方向インター予測(又はBモード)であった。Bモードでは、現在のブロックは2つの動きベクトルと関連付けられ、2つの異なる画像内の2つの基準ブロックを指定する。現在のブロックの残差ブロックを計算することを可能にする予測子ブロックは、2つの基準ブロックの平均である。現在のブロックの当該予測子biPredは、以下のように計算される。
biPreds=(w0.pred0+w1.pred1+1)/2 (1)
ここで、pred0は、一般に復号化された画像バッファ(DPB)と呼ばれる復号化された画像のバッファに記憶された基準画像のリストL0において得られた動き補償されたブロック予測子であり、pred1は、DPBに記憶された基準画像のリストL1において取得された動き補償ブロック予測子であり、w0及びw1は、双方向インター予測の場合、1つに等しい重みである。
【0052】
重みw0及びw1が異なり得る双方向インター予測のいくつかの一般化が提案された。重み付き予測(WP)は、いくつかの態様における双方向インター予測の一般化と考えることができる。WPでは、残差ブロックは、一方向インター予測の場合は基準ブロックの重み付きバージョン、又は双方向インター予測の場合は2つの基準ブロックの重み付き平均のいずれかとの差として計算される。WPは、残差ブロックが、現在のブロックと、基準ブロックの重み付きバージョン又は複数の基準ブロックの重み付き平均のいずれかとの差として計算されるように一般化することができる。WPは、シーケンスヘッダ内のシーケンスレベル(VVCではシーケンスパラメータセット(SPS)と呼ばれる)又は画像ヘッダ内の画像レベル(VVCではピクチャパラメータセット(PPS)と呼ばれる)又はスライスヘッダ内のスライスレベルで有効にすることができる。WPは、DPBに記憶されている基準画像の各リスト(L0及びL1)の各基準ピクチャiの各成分に関連付けられたCTU(例えば、一般にスライスヘッダレベルで)のグループごとに重みwi及びオフセットoffiを定義する。現在のブロックが一方向WPで符号化されている場合、当該現在のブロックの位置(x,y)における予測サンプルpred(x,y)は、以下のように計算される。
pred(x,y)=((w0.pred0(x,y)+(1<<(shift-1)))>>shift)+Off0
ここでpred0(x,y)は、DPBに記憶された、空間的にpred(x,y)に対応する基準画像のリストL0内で得られた動き補償された予測サンプルであり、w0は重みであり、Off0はオフセット値であり、shiftはシフト値であり、(y<<x)はyのバイナリ表現のxビットの左シフトであり、(y>>x)はyのバイナリ表現のxビットの右シフトである。
【0053】
現在のブロックが双方向WPで符号化されている場合、当該現在のブロックの位置(x,y)における予測サンプルpred(x,y)は、以下のように計算される。
pred(x,y)=((w0.pred0(x,y)+w1.pred1(x,y)+Off01)>>(shift+1)) (2)
ここで、Off01=(Off0+Off1+1)<<shiftであり、
ここで、pred1(x,y)は、DPBに記憶された、空間的にpred(x,y)に対応する基準画像のリストL1内で得られた動き補償された予測子サンプルであり、w1は重みであり、Off1はオフセット値である。
【0054】
サンプルを重め付けするときに数値精度の向上を維持するために、ビット深度精度を高めて中間サンプル値を記憶及び操作することができる。この場合、最終(所望の)ビット深度サンプル予測精度(bitDepth)は、予測計算プロセスの終了時に最後の右側ビットシフトで取得される。例えば、DPB内の基準ピクチャは、精度ビット深さに記憶されるが、中間動き補償されたサンプルは、中間バッファに精度を上げて(bitDepth+sp)で記憶される。この場合、2つの先行する式の右シフト値shiftは、最終的に予測サンプルを精度bitDepthに再スケーリングするために(シフト+sp)に置き換えられ得る。サンプル重み付けプロセスを使用する全ての予測ツールについて、同様の中間ビット深度精度向上プロセスが一般に使用されることに留意されたい。
【0055】
シーケンスヘッダ(SPS)及び画像ヘッダ(PPS)でWPが有効にされ、関連する重み及びオフセットがスライスヘッダで指定されるが、CUレベルの重みを有するBi-prediction(BCW)と呼ばれる新しいモードは、ブロックレベルでのシグナリング重みを可能にする。BCWモードが現在のブロックに適用される場合、当該現在のブロックの予測子サンプルpred(x,y)は、以下のように計算される。
pred(x,y)=((8-w).pred
0(x,y)+w.pred
1(x,y)+4)>>3
ここで、pred
0(x,y)は、DPBに記憶され、空間的にpred(x,y)に対応する基準画像のリストL0で得られた動き補償された予測子サンプルであり、pred
1(x,y)は、DPBに記憶され、空間的にpred(x,y)に対応する基準画像のリストL1内で得られた動き補償された予測子サンプルであり、wは、5つの重み(w∈{-2,3,4,5,10})のセットで得られた重みである。重みwは、以下の2つの方法のうちの1つで決定される。1)非マージCUの場合、重みインデックスcw_idxが当該動きベクトルが異なった後にシグナリングされ、2)マージCUの場合、重みインデックスbcw_idxがマージ候補インデックスに基づいて、隣接するブロックから推測される。
図5A及び
図5Bに関連して既に提示されている三角形予測モード(TPM)及び幾何学的予測モード(GEO)は、インターモードの特定の形態である。上述のように、TPM及びGEOモードでは、ブロックは2つのPU(すなわち、2つのパーティション)に分割される。2つのPUを分離するフロンティアを表す情報は、現在のブロックのために符号化される。当該情報は、エッジ方向を表す(すなわち、フロンティアの方向及び/又は位置を表す)シンタックス要素を含む(TPMモードの場合merge_triangle_split_dir、又はGEOモードの場合wedge_partition_idx)。TPM又はGEOモードが使用される場合、現在のブロックの各PUは、それ自体の動き情報を使用して相互予測される。各PUについては、単一方向の予測のみが可能である。2つのマージインデックス(merge-idx-0及びmerge-idx-1)は、(正規マージ候補リストに基づいて)空間的及び時間的近傍から構築された、関連付けられた基準インデックスを有する動きベクトル予測子候補のリストに対応して、リストL0及びリストL1から交互に符号化される。文書JVET-O 2001(以下、単にJVET-O2001と記す)に記載されているVVC規格のバージョン6.0では、TPMの場合、(merge-idx-0及びmerge-idx-1)の値は、シンタックス要素(merge_triangle_idx 0及びmerge_triangle_idx 1)から導出される。GEOの場合、merge-idx-0及びmerge-idx-1の値は、シンタックス要素wedge_partition_idx 0及びwedge_partition_idx 1から導出される。PUの各々を予測した後、2つのPU(例えば、
図5AのPU501と502との間のフロンティア)間のフロンティアに沿ったサンプル値は、適応重みを用いたブレンド処理を使用して調整される。
図5Cは、TPMモードで適用される適応的な重み付けプロセスを概略的に示す。
図5Cでは、TPMモードで符号化された8×8ブロック50は、2つの三角形パーティション509及び510を含む。パーティション509において黒色で表されているサンプルは、予測子Pred
0から一体的に予測される。パーティション510において白色で表されているサンプルは、予測子Pred
1から一体的に予測される。パーティション509とパーティション510との間のフロンティアにおけるサンプルは、予測子Pred
0及びPred
1から予測されたサンプルの重み付き平均であり、重みは、フロントティアに対するサンプルの位置に応じて重み付き平均で適用される。
図5Cの例では、「1」に等しい識別子を有するサンプルは、以下のように計算される。
【0056】
【数2】
ここで、pred
0(x,y)は予測子pred
0の位置(x,y)におけるサンプルであり、pred
1(x,y)は予測子pred
1の位置(x,y)におけるサンプルであり、適応重み
【0057】
【0058】
【0059】
「2」に等しい識別子を有するサンプルは、以下のように計算される。
【0060】
【0061】
【0062】
【0063】
「4」に等しい識別子を有するサンプルは、以下のように計算される。
【0064】
【0065】
【0066】
【0067】
「6」に等しい識別子を有するサンプルは、以下のように計算される。
【0068】
【0069】
【0070】
【0071】
「7」に等しい識別子を有するサンプルは、以下のように計算される。
【0072】
【0073】
【0074】
【0075】
VVCの標準化プロセス中に、インター予測において現在のブロックとその基準ブロックとの間で生じ得る照明変化を補償することを目的とした、ローカル照明補償(LIC)と呼ばれる新しいインターモードが提案された。このツールが現在のブロックに対してアクティブ化されると、いくつかの予測パラメータは、現在のブロックの左側及び/又は上部に位置するいくつかの再構成画像サンプルと、動きベクトルによって識別される基準ブロックの左側及び/又は上部に位置する基準画像サンプルとに基づいて計算される。次いで、計算された予測パラメータに基づくLICモデルが、基準ブロックの予測サンプルに適用される。LICを使用して補正された予測サンプルPredcorr(x,y)は、以下のように計算することができる。
Pred_corr(x,y)=((a.Pred(x,y)+(1<<(shift-1)))>>shift)+b
ここで、Predcorr(x,y)は、LICによって補正された位置(x,y)におけるサンプルであり、Pred(x,y)は、位置(x,y)における動き補償された予測サンプル値であり、shift aは、WPに関して既に上記で想起されたようなバイナリシフトの値であり、a及びbは、LICパラメータである。
【0076】
LICモードは、HLS内で有効化され、ブロックレベルでシグナリングされ得る。
【0077】
オブジェクトの動きが滑らかであると仮定する光フローの概念に基づく、光フローベース(OF)と呼ばれる新しいインターツールもVVCに提案された。OFツールでは、動き補償に使用される動き情報は、光フローモデルに基づいて精密化され得る。VVCにおいて、OFツールは、双方向光フロー(BDOF)モードと呼ばれる第1のモード、光フローを用いた予測精密化(PROF)モードと呼ばれる第2のモード、及びデコーダ側動き精密化(DMVR)と呼ばれる第3のモードを含む。しかしながら、他のOFツールが存在する。
【0078】
BDOFは、4×4サブブロックレベルでブロックの双方向予測信号を精密化するために使用される。ブロックの各4×4サブブロックについて、双方向予測に使用される2つの基準ブロックのサンプル間の差を最小化することによって、動き精密化を計算する。次いで、動き精密化を使用して、4×4サブブロックの双方向予測によって得られたサンプルの値を調整する。そうするために、従来の双予測
【0079】
【0080】
【数18】
ここで、predは予測子サブブロックであり、I
0は第1の動き補償基準サブブロックであり、I
1は第2の動き補償基準サブブロックであり、
【0081】
【数19】
はそれぞれ第iの基準サブブロック(k={0,1})の水平及び垂直勾配であり、(v
x,v
y)は第1の基準サブブロックと第2の基準サブブロックとの間の動きベクトルであり、σは第1の基準サブブロックを含む画像と第2の基準サブブロックを含む画像との時間差である。BDOFモードの更なる詳細は、以下では単にJVET-O 2002と呼ばれる、文献JVET-O 2002-V 1:Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6)、Jianle Chen,Yan Ye及びSeung Hwan Kim,15 th Meeting:Gothenburg,SE,3-2019年7月12日のセクション3.4.9に見出すことができる。
【0082】
PROFモードでは、光フローモデルから、オフセット補正ΔIを導出することができ、パラメトリック動きモデルが既知である場合、アフィン運動補償の場合である。次に、オフセット補正ΔIが現在のブロックI(i、j)の予測サンプルに追加されて、補正された予測サンプルI’(i、j)が得られる。
ΔI(i,j)=g
x(i,j)*Δv
x(i,j)+g
y(i,j)*Δv
y(i,j)
I’(i,j)=I(i,j)+ΔI(i,j)
ここで、g
x(i,j)及びg
y(i,j)は、それぞれ、現在の画像における位置(i,j)における水平及び垂直の局所勾配であり、(Δv
x、Δv
y)は、パラメトリック動きモデルを用いて計算された位置(i,j)における動きベクトルV(i,j)と、位置依存動きモデル(すなわち、回転モデル)を用いて計算された、位置(i,j)におけるサンプルが属するブロックの動きベクトルV
Bとの差である。
図6は、PROFモードの適用例を概略的に表す。
また、双方向インター予測の文脈において、DMVRは、復号化された動きベクトルの周りのいくつかの変位を試験することによって、動きベクトルを精緻化することを目的とする。複数の候補動きベクトル対が試験される。各対は、第1の基準ブロックを指定する1つの動きベクトルMV
refBlock_L0と、第2の基準ブロックを指定する1つの動きベクトルMV
refBlock_L1とを含む。選択された動きベクトルペアは、動きベクトルMV
refBlock_L0によって指定された基準ブロックと、動きベクトルMV
refBlock_L1によって指定された基準ブロックとの差を最小化するものである。
VVCでは、合成イントラ及びインター予測(CIIP)と呼ばれる新たなツールも提案されている。CIIPモードは、その名称が示すように、インター予測信号とイントラ予測信号とを合成(ブレンド)するモードである。CIIPモードのインター予測信号は、通常のマージモードに適用される同じインター予測プロセスを使用して導出される(すなわち、隣接ブロックからの現在のブロックの動き情報の導出)。イントラ予測信号は、プレーナモードの通常イントラ予測処理に従って導出される。次いで、イントラ予測信号及びインター予測信号は、重み平均を使用して合成され、重み値は、上部及び左隣接ブロックの符号化モードに応じて計算される。より正確には、CIIP予測子は、以下の式で得られる。
P
CIIP=(w
A.P
inter+w
B.P
intra+off)>>shift
ここで、P
interはインター予測子であり、P
intraはイントラ予測子であり、off及びshiftはそれぞれ一定のオフセット及び2に等しい一定のシフトであり、w
A及びw
Bは、最上位及び左の隣接ブロックの符号化モードに応じた重みである。
【0083】
以下では、BCW、TPM、GEO、CIIP、LICモードはPSWツールのセットに属すると考える。本発明者らは、BDOF、PROF、及びDMVRモードはOFツールに属すると考える。上記で挙げたPSW及びOFツールの名称は、JVET-O 2002又はJVET-O 2001で現在使用されている名前であることに留意されたい。これらの名称は単に説明的な用語である。したがって、これらは、当該PSW及びOFツールの他の名前の使用を排除するものではない。
【0084】
選択ステップ206中に、試験された予測モード(例えばPSW及びOFツールを含むイントラ予測モード、インター予測モード)のうち、レート/歪み基準(すなわち、RDO基準)に従って圧縮性能を最適化する予測モードが符号化モジュールによって選択される。
【0085】
予測モードが選択されると、残差ブロックはステップ207中に変換され、ステップ209中に量子化される。符号化モジュールは、変換をスキップして、変換されていない残差信号に量子化を直接適用することができることに留意されたい。現在のブロックがイントラ予測モードに従って符号化されるとき、予測方向と、変換され量子化された残差ブロックとは、ステップ210中にエントロピエンコーダによって符号化される。現在のブロックがインター予測に従って符号化されると、適切な場合には、ブロックの動きベクトルは、符号化されるブロックの近くに位置する再構成されたブロックに対応する動きベクトルのセットから選択された予測ベクトルから予測される。次に、動き情報は、ステップ210中にエントロピエンコーダによって、動き残差と予測ベクトルを識別するためのインデックスとの形態で符号化される。変換され量子化された残差ブロックは、ステップ210中にエントロピエンコーダによって符号化される。符号化モジュールは、変換及び量子化の両方をバイパスすることができ、すなわちエントロピ符号化は、変換処理又は量子化処理を適用することなく残差に適用されることに留意されたい。エントロピ符号化の結果は、符号化ビデオストリーム211に挿入される。メタデータは、符号化ビデオストリーム211に付加することができる。
【0086】
量子化ステップ209の後、現在のブロックは、そのブロックに対応するピクセルが将来の予測に使用され得るように再構成される。この再構成段階は、予測ループとも呼ばれる。したがって、逆量子化は、ステップ212中に変換され量子化された残留ブロックに適用され、ステップ213中に逆変換が適用される。ステップ214中に取得されたブロックに使用される予測モードによって、ブロックの予測ブロックが再構成される。現在のブロックがインター予測モードに従って符号化される場合、符号化モジュールは、適切な場合には、ステップ216中に、現在のブロックの基準ブロックを識別するために、現在のブロックの動きベクトルを使用する動き補償を適用する。現在のブロックがイントラ予測モードに従って符号化される場合、ステップ215中に、現在のブロックに対応する予測方向が、現在のブロックの基準ブロックを再構成するために使用される。再構成された現在のブロックを取得するために、基準ブロック及び再構成された残差ブロックが追加される。
【0087】
再構成後、ステップ217中に、符号化アーチファクトを低減することを意図したインループポストフィルタリングが、再構成されたブロックに適用される。このポストフィルタリングは、エンコーダにおいてデコーダと同じ基準画像を取得し、したがって符号化プロセスと復号化プロセスとの間のドリフトを回避するために予測ループで行われるので、インループポストフィルタリングと呼ばれる。例えば、HEVCでは、インループポストフィルタリングは、デブロッキングフィルタリング及びSAO(サンプル適応オフセット)フィルタリングを含む。インループデブロッキングフィルタのアクティブ化又は非アクティブ化を表すパラメータ、及びアクティブ化されると、当該インループデブロッキングフィルタの特性は、エントロピ符号化ステップ210中に、符号化ビデオストリーム211に導入される。
【0088】
ブロックが再構成されると、ブロックは、ステップ218中に、DPBに続く再構成画像のメモリ219に記憶された再構成画像に挿入される。そのように記憶された再構成画像は、符号化される他の画像の基準画像として機能することができる。
【0089】
図3は、復号化モジュールによって実行される、
図2に関連して説明された方法に従って符号化された符号化ビデオストリーム211を復号化するための方法を概略的に示す。復号化のためのこの方法の変形形態が考えられるが、明確さを目的として、以下では予想される全ての変形形態を記載することなく、
図3の復号化のための方法について説明する。
【0090】
復号化はブロックごとに行われる。現在のブロックの場合、これはステップ310中に現在のブロックのエントロピ復号化から始まる。エントロピ復号化は、ブロックの予測モードを取得することを可能にする。
【0091】
ブロックがインター予測モードに従って符号化されている場合、エントロピ復号化は、適切な場合には、予測ベクトルインデックス、動き残差、及び残差ブロックを取得することを可能にする。ステップ308中に、予測ベクトルインデックス及び動き残差を使用して、現在のブロックに対して動きベクトルが再構成される。
【0092】
ブロックがイントラ予測モードに従って符号化されている場合、エントロピ復号化は、予測方向及び残差ブロックを取得することを可能にする。復号化モジュールによって実装されるステップ312、313、314、315、316及び317は、全て、符号化モジュールによって実装されるステップ212、213、214、215、216、及び217とそれぞれ同一である。復号化されたブロックは、復号化された画像に保存され、復号化された画像は、ステップ318でDPBを記憶する基準画像メモリ319に記憶される。復号化モジュールが所与の画像を復号化するとき、基準画像メモリ319に記憶された画像は、当該所与の画像の符号化中に符号化モジュールによって基準画像メモリ219に記憶された画像と同一である。符号化された画像はまた、例えば表示のために復号化モジュールによって出力され得る。
【0093】
復号化された画像は、復号化後処理(
図3には示さず)を更に受けることができ、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)、又は符号化前処理で実行された再マッピング処理の逆を実行する逆再マッピングである。
【0094】
上述のように、ブロックの予測モードの選択は、RDO基準に基づく。この選択基準は、符号化及び/又は復号化の複雑さに対する予測モードの選択の影響をほとんど考慮しない。しかしながら、いくつかの圧縮ツールは、符号化/復号化の複雑さを著しく増加させることが知られている。例えば、WPと別のPSWツールとの組み合わせは、2つの重み付け段階をカスケード化する(WP用に1つ及び他のPSWツール用に第2)ことになり、符号化及び復号化の複雑さを増加させる。更に、重み付けプロセス中の中間ビット深度精度を高めるために、2つの中間記憶バッファを使用する必要がある。
【0095】
更に、RDO基準は、予測ツールの組み合わせを考慮することができるが、一般に、当該組み合わせにおける上記ツールの順序を考慮しない。しかしながら、組み合わせたツールに応じて、一部の順序が他の順序よりも好ましい場合がある。
【0096】
図4Aは、異なる態様及び実施形態に従って修正された
図2の符号化方法及び
図3の復号化方法をそれぞれ実施することができる符号化モジュール又は復号化モジュールを実施することができる処理モジュール40のハードウェアアーキテクチャの一例を概略的に示す。処理モジュール40は、非限定的な例として、通信バス405によって接続された、1つ又は複数のマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサを包含するプロセッサ又はCPU(中央処理装置)400と、ランダムアクセスメモリ(RAM)401と、読み出し専用メモリ(ROM)402と、限定するものではないが、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、及び/又は光ディスクドライブを含む、不揮発性メモリ及び/又は揮発性メモリを含み得る、記憶デバイス403、又はSD(セキュアデジタル)カードリーダ及び/又はハードディスクドライブ(HDD)などの記憶媒体リーダ及び/又はネットワークアクセス可能な記憶装置と、データを他のモジュール、デバイス、又は機器と交換するための少なくとも1つの通信インターフェース404と、を含む。通信インターフェース404は、通信チャネルを介してデータを送信及び受信するように構成された送受信機を含むことができるが、これらに限定されない。通信インターフェース404は、モデム又はネットワークカードを含むことができるが、これらに限定されない。
【0097】
処理モジュール40が復号化モジュールを実装する場合、通信インターフェース404は、例えば、処理モジュール40が、符号化ビデオストリームを受信し、復号化されたビデオストリームを提供することを可能にする。処理モジュール40が符号化モジュールを実装する場合、通信インターフェース404は、例えば、処理モジュール40が元の画像データを受信して、符号化ビデオストリームを符号化及び提供することを可能にする。
【0098】
プロセッサ400は、ROM 402、外部メモリ(図示せず)、記憶媒体、又は通信ネットワークからRAM 401にロードされた命令を実行することができる。処理モジュール40の電源が投入されると、プロセッサ400は、RAM 401から命令を読み出し、それらを実行することができる。これらの命令は、例えば、
図3に関連して説明した復号化方法又は
図2に関連して説明した符号化方法のプロセッサ400による実施を引き起こすコンピュータプログラムを形成し、復号化方法及び符号化方法は、本明細書において後述する様々な態様及び実施形態を含む。
【0099】
当該符号化又は復号化方法のアルゴリズム及びステップの全て又は一部は、DSP(デジタル信号プロセッサ)又はマイクロコントローラなどのプログラマブルマシンによる命令セットの実行によってソフトウェア形式で実装されてもよく、又はFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などのマシン又は専用コンポーネントによってハードウェア形式で実装されてもよい。
【0100】
図4bは、様々な態様及び実施形態が実装されているシステム4の一例のブロック図を示す。システム4は、以下に説明する様々な構成要素を含むデバイスとして具現化することができ、本文書に説明する態様及び実施形態のうちの1つ以上を実行するように構成されている。このようなデバイスの例としては、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続型家電、及びサーバなどの様々な電子デバイスが挙げられるが、これらに限定されない。システム4の要素は、単独で、又は組み合わせて、単一の集積回路(IC)、複数のIC、及び/又は別個の構成要素で具体化され得る。例えば、少なくとも1つの実施形態では、システム4は、復号化モジュール又は符号化モジュールを実装する1つの処理モジュール40を含む。しかし、別の実施形態では、システム4は、復号化モジュールを実装する第1の処理モジュール40と復号化モジュールを実装する第2の処理モジュール40、又は復号化モジュール及び符号化モジュールを実装する1つの処理モジュール40を備えることができる。様々な実施形態では、システム40は、例えば、通信バスを経由して、又は専用の入力ポート及び/若しくは出力ポートを介して、1つ以上の他のシステム又は他の電子デバイスに通信可能に結合される。様々な実施形態では、システム4は、本文書に記載されている態様のうちの1つ以上を実装するように構成されている。
【0101】
システム4は、符号化モジュール又は復号化モジュールのうちの1つ又はその両方を実装することができる少なくとも1つの処理モジュール40を含む。
【0102】
処理モジュール40への入力は、ブロック42に示されるように様々な入力モジュールを通して提供され得る。そのような入力モジュールとしては、限定するものではないが、(i)例えば、放送局から無線で送信されるRF信号を受信する無線周波数(RF)モジュール、(ii)構成要素(COMP)入力モジュール(又はCOMP入力モジュールのセット)、(iii)ユニバーサルシリアルバス(USB)入力モジュール、及び/又は(iv)高精細度マルチメディアインターフェース(High Definition Multimedia Interface(HDMI)入力モジュールが挙げられる。
図4Bに示されていない他の例としては、複合ビデオが挙げられる。
【0103】
様々な実施形態において、ブロック42の入力モジュールは、当該技術分野で既知であるように、関連するそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)所望の周波数を選択する(信号を選択する、又は信号を周波数帯域に帯域制限するとも称される)、(ii)選択された信号をダウンコンバートする、(iii)特定の実施形態で、(例えば)チャネルと称され得る信号周波数帯域を選択するために、再びより狭い周波数帯域に帯域制限する、(iv)ダウンコンバート及び帯域制限された信号を復調する、(v)誤り訂正を実施する、及び(vi)データパケットの所望のストリームを選択するために多重分離する、ために適切な要素と関連付けられ得る。様々な実施形態のRFモジュールは、これらの機能を実行する1つ以上の要素、例えば、周波数セレクタ、信号セレクタ、バンドリミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、エラー訂正器、及びデマルチプレクサを含む。RF部分は、例えば、受信信号をより低い周波数(例えば、中間周波数又はベースバンドに近い周波数)又はベースバンドにダウンコンバートすることを含む、これらの機能のうちの様々な機能を実行するチューナを含むことができる。セットトップボックスの一実施形態では、RFモジュール及びその関連する入力処理要素は、有線(例えば、ケーブル)媒体を介して送信されるRF信号を受信し、所望の周波数帯域にフィルタリング、ダウンコンバート、及び再フィルタリングすることによって周波数選択を実行する。様々な実施形態では、上述した(及び他の)要素の順序を並べ替える、これらの要素の一部を削除する、及び/又は、類似若しくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器及びアナログ-デジタル変換器を挿入するなど、既存の要素間に要素を挿入することを含み得る。様々な実施形態において、RFモジュールは、アンテナを含む。
【0104】
更に、USBモジュール及び/又はHDMIモジュールは、システム4をUSB接続及び/又はHDMI接続を介して他の電子デバイスに接続するためのそれぞれのインターフェースプロセッサを含むことができる。入力処理の様々な側面、例えば、リード-ソロモンエラー訂正は、例えば、必要に応じて、別個の入力処理IC内で実装する、又は処理モジュール40内で実装することができることを理解されたい。同様に、USB又はHDMIインターフェース処理の側面は、必要に応じて、別個のインターフェースIC内で、又は処理モジュール40内で実装することができる。復調され、誤り訂正され、逆多重化されたストリームは、処理モジュール40に提供される。
【0105】
システム4の様々な要素は、一体型ハウジング内に提供され得る。一体型ハウジング内で、様々な要素は、適切な接続配置、例えば、IC間(I2C)バス、配線、及びプリント回路基板を含む、当該技術分野で既知の内部バスを使用して、相互接続され、それらの間でデータを送信し得る。例えば、システム4では、処理モジュール40は、バス405によって当該システム4の他の要素に相互接続される。
【0106】
処理モジュール40の通信インターフェース404は、システム4が通信チャネル41上で通信することを可能にする。通信チャネル41は、例えば、有線及び/又は無線媒体内に実装することができる。
【0107】
データは、様々な実施形態では、Wi-Fiネットワークなどの無線ネットワーク、例えば、IEEE802.11(IEEEは、米国電気電子学会を指す)を使用して、システム4にストリーミングされるか、ないしは別の方法で提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信のために適合された通信チャネル41及び通信インターフェース404を介して受信される。これらの実施形態の通信チャネル41は、一般には、ストリーミングアプリケーション及び他のオーバーザトップ通信を可能にするためにインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイント又はルータに接続される。別の実施形態では、入力ブロック42のHDMI接続を介してデータを配信するセットトップボックスを使用して、システム4にストリーミングデータを提供する。更に別の実施形態では、入力ブロック42のRF接続を使用してシステム4にストリーミングデータを提供する。上記のように、様々な実施形態は、データをストリーミング以外の方法で提供する。加えて、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワーク又はBluetoothネットワークを使用する。
【0108】
システム4は、ディスプレイ46、スピーカ47、及び他の周辺デバイス48を含む様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ46は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、及び/又は折り畳み可能なディスプレイのうちの1つ以上を含む。ディスプレイ46は、テレビジョン、タブレット、ラップトップ、携帯電話(移動電話)、又は他のデバイス用であり得る。ディスプレイ46はまた、他の構成要素に統合されていてもよく(例えば、スマートフォンのように)、又は別個(例えば、ラップトップの外部モニタ)であってもよい。他の周辺デバイス46としては、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(又はデジタル多用途ディスク)(両方の用語の略称としてDVR)、ディスクプレーヤ、ステレオシステム、及び/又は照明システムのうちの1つ以上が挙げられる。様々な実施形態は、システム4の出力に基づいて機能を提供する1つ以上の周辺デバイス46を使用する。例えば、ディスクプレーヤは、システム4の出力を再生する機能を実行する。
【0109】
様々な実施形態では、制御信号は、システム4とディスプレイ46、スピーカ47、又は他の周辺デバイス48との間で、AV.Link、Consumer Electronics Control(CEC)、又はユーザ介入の有無にかかわらずデバイス間の制御を可能にする他の通信プロトコルなどの信号伝達を使用して通信される。出力デバイスは、それぞれのインターフェース43、44、及び45を通じた専用接続を介してシステム4に通信可能に結合することができる。代替的に、出力デバイスは、通信インターフェース404を介して通信チャネル41を使用してシステム4に接続することができる。ディスプレイ46及びスピーカ47は、例えば、テレビジョンなどの電子デバイス内のシステム4の他の構成要素と単一のユニットに統合され得る。様々な実施形態において、ディスプレイインターフェース43は、ディスプレイドライバ、例えば、タイミングコントローラ(timing controller、T Con)チップなどを含む。
【0110】
代替的に、例えば、入力42のRFモジュールが個別のセットトップボックスの一部である場合、ディスプレイ46及びスピーカ47を他の構成要素のうちの1つ以上から分離することができる。ディスプレイ46及びスピーカ47が外部構成要素である様々な実施形態では、出力信号は、例えば、HDMIポート、USBポート、又はCOMP出力を含む専用の出力接続を介して提供することができる。
【0111】
様々な実装形態は、復号化することを含む。本出願で使用される場合、「復号」は、例えば、ディスプレイに適した最終出力を生成するために、受信された符号化ビデオストリームに対して実行されるプロセスの全て又は一部を包含し得る。様々な実施形態において、このような処理は、例えば、エントロピ復号化、逆量子化、逆変換、及び予測など、デコーダによって一般的に実行される処理のうちの1つ以上を含む。様々な実施形態では、そのようなプロセスにはまた、若しくは代替的に、例えば、いくつかのPSW及びOFツールに互換性があるか否かをCUについて決定するために、本出願に記載される様々な実装形態のデコーダによって実施されるプロセスが含まれる。
【0112】
更なる例として、一実施形態では、「復号化」は、エントロピ復号化のみを指す(
図3のステップ310)。「復号化処理」という句が、操作のサブセットを具体的に指すことを意図しているか、又はより広範な復号化処理を一般的に指すことを意図しているかは、特定の説明の文脈に基づいて明らかになり、当業者にはよく理解されると考えられる。
【0113】
様々な実装形態は、符号化することを含む。「復号」に関する上記の考察と同様に、本出願で使用される場合、「符号化」は、例えば、符号化ビデオストリームを生成するために入力ビデオシーケンスで実行されるプロセスの全部又は一部を包含し得る。様々な実施形態において、このような処理は、例えば、分割、予測、変換、量子化、及びエントロピ符号化など、エンコーダによって一般的に実行される処理のうちの1つ以上を含む。様々な実施形態では、そのようなプロセスにはまた、若しくは代替的に、例えば、2つ以上のPSW及びOFツールに互換性があるか否かをCUについて決定するために、本出願に記載される様々な実装形態のデコーダによって実施されるプロセスが含まれる。
【0114】
更なる例として、一実施形態では、符号化モード選択(
図2のステップ206)及びエントロピ符号化(
図2のステップ210)に「符号化」する。「符号化処理」という句が、操作のサブセットを具体的に指すことを意図しているか、又はより広範な符号化処理を一般的に指すことを意図しているかは、特定の説明の文脈に基づいて明らかになり、当業者にはよく理解されると考えられる。
【0115】
本明細書で使用されるシンタックス要素名は、説明上の用語であることに留意されたい。したがって、これらは他のシンタックス要素名の使用を排除するものではない。
【0116】
図がフローチャートとして提示されている場合、その図は対応する装置のブロック図も提供するものと理解されたい。同様に、図がブロック図として提示されている場合、その図は対応する方法/処理のフローチャートも提供するものと理解されたい。
【0117】
様々な実施形態は、速度歪み最適化を指す。特に、符号化プロセス中に、レートと歪みとの間のバランス又はトレードオフが通常考慮される。レート歪み最適化は、通常、レートと歪みの加重和であるレート歪み関数を最小化するように定式化される。レート歪み最適化問題を解くには、様々なアプローチがある。例えば、これらのアプローチは、全ての考慮されるモード又は符号化パラメータ値を含む全ての符号化オプションの広範なテストに基づき得、それらの符号化コスト、並びに符号化及び復号化後の再構成された信号の関連する歪みの完全な評価を伴う。また、符号化の複雑さを軽減するために、より高速なアプローチ、特に、再構成された信号ではなく、予測又は予測残差信号に基づく近似歪みの計算を使用することもできる。これらの2つのアプローチを組み合わせて使用することもでき、例えば、可能な符号化オプションの一部のみに対して近似歪みを使用し、他の符号化オプションに対しては完全な歪みを使用することができる。別のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチは、最適化を実行するために様々な技術のいずれかを採用するが、最適化は、必ずしも符号化コスト及び関連する歪みの両方の完全な評価ではない。
【0118】
本明細書に記載された実装形態及び態様は、例えば、方法又はプロセス、装置、ソフトウェアプログラム、データストリーム、又は信号において実装することができる。たとえ単一の形式の実装形態の文脈でのみ説明されている場合でも(例えば、方法としてのみ説明されている)、説明された特徴の実装形態は、他の形式(例えば、装置又はプログラム)でも実装することができる。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアにおいて実装することができる。方法は、例えば、プロセッサにおいて実装することができ、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブルロジックデバイスを含む一般的な処理デバイスを指す。プロセッサはまた、例えば、コンピュータ、携帯電話、携帯型/パーソナルデジタルアシスタント(「PDA」)及びエンドユーザ間の情報の通信を容易にする他のデバイスなどの通信デバイスを含む。
【0119】
「一実施形態」又は「実施形態」又は「一実装形態」又は「実装形態」、及びそれらの他の変形形態の言及は、実施形態に関連して説明される特定の特徴、構造、特性などが、少なくとも一実施形態に含まれることを意味する。したがって、本明細書の様々な場所に現れる「一実施形態では」又は「実施形態では」又は「一実装形態では」又は「実装形態では」という語句の出現、並びに任意の他の変形例は、必ずしも全てが同じ実施形態を指すものではない。
【0120】
加えて、本出願は、様々な情報を「決定する」ことに言及する場合がある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、メモリから情報を取得すること、又は例えば別のデバイス、モジュール若しくはユーザから情報を取得することのうちの1つ以上を含むことができる。
【0121】
更に、本出願は、様々な情報に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取得すること、情報を格納すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することのうちの1つ以上を含むことができる。
【0122】
加えて、本出願は、様々な情報を「受信する」ことに言及する場合がある。受信することは、「アクセスする」と同様に、広義の用語であることを意図している。情報を受信することは、例えば、情報にアクセスすること、又は(例えば、メモリから)情報を取得することのうちの1つ以上を含むことができる。更に、「受信する」は、一般には、例えば、情報を格納する、情報を処理する、情報を送信する、情報を移動する、情報をコピーする、情報を消去する、情報を計算する、情報を決定する、情報を予測する、又は情報を推定するなどの操作時に、何らかの形で関与する。
【0123】
「/」、「及び/又は」、「のうちの少なくとも1つ」、「1つ又は複数」のいずれかの使用、例えば、「A/B」、「A及び/又はB」、「A及びBのうちの少なくとも1つ」、「A及びBの1つ又は複数」の場合、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は両方の選択肢(A及びB)の選択を包含することを意図しているものと理解されたい。更なる例として、「A、B、及び/又はC」及び「A、B、及びCのうちの少なくとも1つ」、「A、B及びCのうちの1つ又は複数」の場合、このような句は、最初にリストされた選択肢(A)のみの選択、又は2番目にリストされた選択肢(B)のみの選択、又は3番目にリストされた選択肢(C)のみの選択、又は、最初及び2番目にリストされた選択肢(A及びB)のみの選択、又は、最初及び3番目にリストされた選択肢(A及びC)のみの選択、又は、2番目及び3番目にリストされた選択肢(B及びC)のみの選択、又は3つの選択肢(A及びB及びC)全ての選択、を包含するように意図されている。このことは、当該技術分野及び関連技術分野の通常の技術を有する者に明らかであるように、リストされた項目の数だけ拡張することができる。
【0124】
また、本明細書で使用される「シグナリングする」という語は、特に、対応するデコーダに対して何かを示すことを意味する。例えば、特定の実施形態では、エンコーダは、PSW(それぞれOF)ツールパラメータを使用して、PSW(それぞれOF)ツールをシグナリングする。このように、ある実施形態では、同じパラメータがエンコーダ側とデコーダ側の両方で使用される。したがって、例えば、エンコーダは、デコーダが同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信する(明示的なシグナリング)ことができる。逆に、デコーダが既にその特定のパラメータ及び他のパラメータを有する場合は、単にデコーダがその特定のパラメータを認識及び選択することを可能にするように、送信を行わないシグナリング(暗黙的なシグナリング)を使用することができる。実際の機能の送信を回避することにより、様々な実施形態において、ビットの節約が実現される。シグナリングは、様々な方法で達成できることを理解されたい。例えば、1つ以上のシンタックス要素、フラグなどが、様々な実施形態において、対応するデコーダに情報をシグナリングするために使用される。上の説明は、語「信号(signal)」の動詞形に関するものであるが、語「信号」は、本明細書では名詞としても使用され得る。
【0125】
この当業者には明らかであるように、実装形態では、例えば、格納又は送信することができる情報を伝えるようにフォーマットされた様々な信号を生成することができる。これらの情報は、例えば、方法を実行するための命令、又は説明されている実装形態の1つによって生成されるデータを含むことができる。例えば、説明されている実施形態の符号化ビデオストリームを伝えるように信号をフォーマットすることができる。このような信号は、例えば、電磁波として(例えば、スペクトルの無線周波数部分を使用する)、又はベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、符号化ビデオストリームを符号化すること、及び符号化ビデオストリームで搬送波を変調することを含むことができる。信号が伝える情報は、例えば、アナログ情報又はデジタル情報とすることができる。信号は、既知であるように、様々な異なる有線リンク又は無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に格納することができる。
【0126】
図7は、
図2の符号化プロセス中に実行される再構成プロセスの実施形態の高レベル表現である。
【0127】
図7のプロセスは、主にステップ214及び216中に画像の各ブロックについて実行される。
【0128】
ステップ70では、処理モジュール40は、WPが現在のブロックに対して有効にされているかどうかを判定する。
【0129】
WPが有効にされている場合、ステップ70の後にステップ71が続き、処理モジュール40は、WP及び/又は少なくとも1つのPSW又はOFツールに関連する現在のブロックの符号化プロセスの一部を修正する。
【0130】
WPが無効にされている場合、ステップ70の後にステップ72が続く。ステップ72中に、文書JVET-O2001で指定されているような通常の符号化プロセスが現在のブロックに適用される。
【0131】
ステップ70の第一の実施形態において、処理モジュール40は、シンタックス要素pps_weighted_pred_flagを表す第1の変数PPS_weighted_pred_flag及び/又はシンタックス要素pps_weighted_bipred_flagを表す第2の変数PPS_weighted_bipred_flagの値を決定する。JVET-O2001で定義されているように、シンタックス要素pps_weighted_pred_flag(それぞれpps_weighted_bipred_flag)は、画像ヘッダ(PPS)のレベルにおいて、当該PPSを参照するPスライス(それぞれBスライス)に対して一方向重み付き予測(それぞれ双方向重み付き予測)が有効にされているかどうかを示す。変数PPS_weighted_pred_flag又はPPS_weighted_bipred_flagのうちの一方が、現在のブロックを含むスライスを参照するPPSにおいて1に等しい場合(すなわち、一方向重み付き予測又は双方向重み付き予測が可能になる)、処理モジュール40は、WPが現在のブロックに対して有効にされていると見なす。そうでない場合、処理モジュール40は、WPが現在のブロックに対して無効にされていると見なす。
【0132】
場合によっては、WPはPPSレベルで有効にすることができるが、WPを適用するために使用される重みはデフォルトの重みに等しくすることができ(すなわち、WPに使用される各重みは1に等しい)、これはWPを単純な一方向又は双方向のインター予測に変換することになる。VVCに基づく実施形態では、基準画像iがデフォルト重みに関連付けられている場合、シンタックス要素luma_weight_l0_flag[i]及びchroma_weight_l0_flag[i]はゼロに等しい。
【0133】
ステップ70の第2の実施形態では、変数PPS_weighted_pred_flag及びPPS_weighted_bipred_flagの値をチェックすることに加えて、処理モジュール40は、WPに使用される重みの値もチェックする。シンタックス要素pps_weighted_pred_flag及びpps_weighted_bipred_flagによって有効にされると、WP予測に使用される重みはスライスヘッダに符号化される(JVET-O2001のセクション7.3.6.1及び7.3.6.2で表されているように)。スライスヘッダは、現在のスライスのブロックを予測するために使用される各基準画像の重み値を表す情報を含む。第2の実施形態では、現在のブロックを含むスライスのスライスヘッダに表される少なくとも1つの重み値がデフォルト値とは異なる場合、処理モジュール40は、WPが現在のブロックに対して有効にされていると見なす。そうでなければ、処理モジュール40は、WPが現在のブロックに対して無効にされており、WPが単純な一方向又は双方向のインター予測であると見なす。
【0134】
ステップ70の第1及び第2の実施形態が適用されるとき、ステップ71の第1の実施形態では、処理モジュール40は、符号化プロセス中のPSW又はOFツールの使用を防止することによって、当該現在のブロックの符号化プロセスの一部を修正する。言い換えれば、現在のブロックに対してWPが選択されている場合、PSW及びOFツールは、現在のブロックに使用され得る予測ツールと見なされず、符号化ビデオストリーム211には、PSW又はOFツールに関する情報は符号化されない。言い換えれば、現在のブロックを表す符号化ビデオストリーム211のビットストリーム部分は、PSW又はOFツールに関連するシンタックス要素を含まない。
【0135】
PPS及びスライスヘッダに含まれる情報により、処理モジュール40は、デフォルトでない重みを有するWPが現在のブロックと同じスライスに含まれるブロックに適用され得るかどうかを判定することができる。特に、スライスヘッダに含まれる重みを表す各情報は、この重みと関連付けられた基準画像が、スライスのブロックのインター予測のための予測子を提供するときに当該重みによって重み付けされることを示す。スライスヘッダに含まれる情報は、デフォルトでない重みを有するどのブロックWPに実際に適用されるかを決定することを可能にしない。デフォルトでない重みを有するWPが現在のブロックに適用されるかどうかを判定するために、どの基準画像が現在のブロックに対する予測子を提供するかを識別する必要がある。ステップ70の第3の実施形態では、変数PPS_weighted_pred_flag及びPPS_weighted_bipred_flag、並びにWPによって使用される重みの値をチェックした後、処理モジュール40は、どの基準画像が現在のブロックに予測子を提供するかを決定する。現在のブロックに対する予測子を提供する少なくとも1つの基準画像がデフォルトでない重みに関連付けられている場合、処理モジュール40は、重み付き予測が現在のブロックに対して有効にされていると判定する。そうでない場合、処理モジュール40は、WPが現在のブロックに対して無効にされていると見なす。
【0136】
ステップ70の第3の実施形態が適用される場合、ステップ71の第2の実施形態では、処理モジュール40は、PSW又はOFツールがステップ206中に選択され、当該PSW又はOFツールに対応するシンタックス要素が符号化ビデオストリーム211内に符号化された場合でも、再構成プロセス中にPSW又はOFツールを適用しないことによって、当該現在のブロックの再構成プロセスの一部を修正する。ただし、その場合、通常のWP再構成プロセスが適用される。
【0137】
ステップ70の第3の実施形態が適用される場合、ステップ71の第3の実施形態では、PSW又はOFツールを非アクティブ化することは、当該PSW又はOFツールに対応するシンタックス要素が符号化ビデオストリーム211内に符号化された場合でも、当該PSW又はOFツールに対して通常の再構成プロセスを適用しないことを含む。この実施形態では、符号化ビデオストリーム211で指定されたPSW又はOFツールの代わりに、代替のインター予測ツールが処理モジュール40によって現在のブロックに適用される。しかしながら、ステップ71の第3の実施形態では、通常のWP再構成プロセスが適用される。
【0138】
ステップ71の第3の実施形態の以下の例(1)と呼ばれる第1の例では、WP及びTPMモードが現在のブロックに対して有効にされる。
【0139】
例(1)の変形例(1a)では、ステップ71中に、TPM再構成プロセスは、上述の双方向インター予測(Bモード)再構成プロセスに置き換えられる。式(1)を適用して、全ての予測子サンプルについて、w0=w1=1である現在のブロックについて予測子bipredを決定する。予測子pred0及びpred1は、TPMモードの2つのパーティションに関連付けられた動き情報を使用して生成される。
【0140】
例(1)の変形例(1b)では、TPM再構成プロセスは、上記のような双方向WP再構成プロセスに置き換えられる。式(2)を適用して、全サンプルについて、WP重みw0及びw1と、予測子の基準インデックスpred0及びpred1に関連付けられたオフセット値Off0及びOff1とを使用して、現在のブロックの予測子bipredを決定する。予測子pred0及びpred1は、TPMモードの2つのパーティションに関連付けられた動き情報を使用して生成される。
【0141】
例(1)の変形例(1c)では、エッジ方向(merge_triangle_split_dir)を示すシンタックス要素を、変形例(1a)又は(1b)を適用すべきかを示すために再解釈する。
【0142】
例(1)の変形例(1d)では、TPM再構成プロセスは、
図10に示すように、初期CUが2つの垂直方向のPU又は2つの水平な長方形PUに分割されたプロセスのいずれかによって置き換えられ、PUのうちの1つは、pred
0を使用して予測され、他のPUは、pred
1を使用して予測される。予測子pred
0及びpred
1は、TPMモードの2つのパーティションに関連付けられた動き情報を使用して生成される。変形例(1d)の一実施形態では、2つの矩形PUへの分割は、等しくないサイズの2つの矩形PUを生成する。
図11は、サイズが等しくない矩形のPUに分割されたCUの例を記載している。
【0143】
例(1d)の変形例(1e)では、エッジ方向を示すシンタックス要素(merge_triangle_split_dir)は、分割が垂直か水平かを示すように再解釈される。
【0144】
図12は、例(1)の変形例(1f)に対応する解析プロセスを概略的に表す。変形例(1f)において、新しいシンタックス要素biReg(例えば、1ビットにコードされる)が導入される。
【0145】
ステップ1201では、処理モジュール40は、現在のブロックに対してHLS(高レベルシンタックス)レベル(例えば、PPS)でWPが有効にされているかどうかを判定する。
【0146】
WPがHLSレベルで有効にされている場合、ステップ1201の後にステップ1204が続く。ステップ1204中に、処理モジュール40は、シンタックス要素の値biRegを復号化することによって決定する。biRegが第1の値に等しい場合(例えば、biReg=0の場合)、処理モジュール40は、変形例(1a)の再構成プロセスが現在のブロックに適用されると判定する。biRegが第2の値に等しい場合(例えば、biReg=1の場合)、処理モジュール40は、変形例(1bの再構成プロセスが現在のブロックに適用されると判定する。
【0147】
WPが現在のブロックのHLSレベルでアクティブ化されない場合、ステップ1201の後にステップ1202及びステップ1203が続く。ステップ1202中に、処理モジュール40は、それを復号化することによってTPMモードのエッジ方向を示すシンタックス要素merge_triangle_split_dirの値を決定する。ステップ1203中に、処理モジュールは、それを復号化することによってシンタックス要素biRegの値を決定する。
【0148】
変形例(1f)の第1の実施形態では、ステップ1203においてbiRegが第1の値に等しい場合(例えば、biReg=0の場合)、処理モジュール40は、変形例(1a)の再構成プロセスが現在のブロックに適用されると判定する。ステップ1203においてbiRegが第2の値に等しい場合、例えば、biReg=1の場合)、処理モジュール40は、TPMモードの再構成プロセスが現在のブロックに適用されると判定する。
【0149】
変形例(1f)の第2の実施形態では、ステップ1203においてbiRegが第1の値に等しい場合(例えば、biReg=0の場合、処理モジュール40は、TPMモードの再構成プロセスが現在のブロックに適用されると判定する。ステップ1203でbiRegが第2の値に等しい場合(例えば、biReg=1の場合)、処理モジュール40は、変形例(1e)の再構成プロセスが現在のブロックに適用されると判定する。言い換えれば、biReg=1の場合、現在のブロック(すなわち、現在のCU)は2つの矩形PUに分割され、エッジ方向はシンタックス要素merge_triangle_split_dirを使用して決定される。
【0150】
図13は、例(1)の変形例(1g)に対応する再構成プロセスを概略的に表す。
【0151】
ステップ1301において、処理モジュール40は、デフォルトでない重みを有するWPが現在のブロックに対してアクティブ化されているかどうかを判定する。
【0152】
WPが現在のブロックのデフォルトの重みで無効又は有効にされている場合、ステップ1301の後にステップ1302が続く。ステップ1302中に、処理モジュールは、TPM再構成プロセスを現在のブロックに適用する。
【0153】
デフォルトでない重みを有するWPが現在のブロックに対して有効にされている場合、ステップ1301の後にステップ1303が続く。ステップ1303の実施形態では、処理モジュール40は、TPMモードの2つのパーティションに関連付けられた動き情報によって指定された予測子pred0及びpred1を含む基準画像が同じPOC(画像順序カウント)を有する(すなわち、表示順序において同じ画像番号を有する)かどうかを判定する。2つの基準画像が同じPOCを有する場合、ステップ1303の後にステップ1304が続く。
【0154】
ステップ1304の実施形態では、処理モジュール40は、ステップ1304中に変形例(1a)の再構成プロセスを適用する。
【0155】
ステップ1304の実施形態では、処理モジュール40は、ステップ1304中に変形例(1b)の再構成プロセスを適用する。
【0156】
ステップ1304の実施形態では、変形例(1c)の場合と同様に、処理モジュール40は、シンタックス要素merge_triangle_split_dirを使用して、変形例(1a)と(1b)との間のどの変形例が適用されるかを決定する。
【0157】
ステップ1304の実施形態では、処理モジュール40は、たとえWPが有効にされていても、WP再構成プロセスを適用することなくTPM再構成プロセスを適用する。
【0158】
ステップ1303で、処理モジュール40が、2つの基準画像が異なる値のPOCを有すると判定した場合、ステップ1303の後にステップ1302が続く。
【0159】
ステップ1303の別の実施形態において、処理モジュール40は、基準画像の一方が、現在のブロックを含む画像のPOC値POCcurrよりも小さいPOC値POC1を有するかどうか、及び他方の基準画像が、POC値POCcurrよりも大きいPOC値POC2を有するかどうかを決定する。(POC1<POCcurr<POC2)である場合、次いで、処理モジュール40は、ステップ1302を実行する。そうでない場合、処理モジュール40は、ステップ1304を実行する。ステップ1303のこの実施形態では、ステップ1304の全ての実施形態を適用することができる。
【0160】
ステップ1303の別の実施形態では、処理モジュール40は、2つの基準画像が同じPOCを有するかどうか、及びWP重みが同一であるかどうかを判定する。2つの基準画像が同じPOCを有し、WP重みが同一である場合、ステップ1303の後にステップ1304が続く。そうでない場合、ステップ1303の後にステップ1302が続く。ステップ1303のこの実施形態では、ステップ1304の全ての実施形態を適用することができる。
【0161】
ステップ71の第3の実施形態の以下の例(2)と呼ばれる第2の例では、WP及びGEOモードが現在のブロックに対して有効にされる。
【0162】
例(2)の第1の変形例(2a)では、ステップ71中に、GEO再構成プロセスは、上述の双方向インター予測再構成プロセスに置き換えられる。式(1)を適用して、w0=w1=1である現在のブロックについて予測子bipredを決定する。予測子pred0及びpred1は、GEOモードの2つのパーティションに関連付けられた動き情報を使用して生成される。分かるように、変形例(2a)は、変形例(1a)に由来する。
【0163】
同様に、変形例(2b、2c、2d、2e、2f及び2g)は、変形例(1b、1c、1d、1e、1f、及び1g)に由来し得る。
【0164】
変形例(1b)から導出された例(2)の変形例(2b)では、GEO再構成プロセスは、通常の双方向WPインター予測(Bモード)再構成プロセスに置き換えられる。
【0165】
変形例(1c)から導出された例(2)の変形例(2c)では、エッジ方向wedge_partition_idxを示すシンタックス要素を、変形例(2a)又は(2b)を適用すべきかを示すために再解釈する。しかしながら、シンタックス要素merge_triangle_split_dirは、2つのエッジ方向を示すことができるバイナリシンタックス要素であるが、シンタックス要素wedge_partition_idxは、より高い粒度を有する。いくつかの実施形態では、シンタックス要素wedge_partition_idxは、「82」個の異なるエッジ方向を示すことができる。一実施形態では、wedge_partition_idxの取り得る値の半分(例えば値「0」~「40」)は、変形例(2a)が適用されることを示し、wedge_partition_idxの取り得る値の残りの半分(例えば値「41」~「81」)は、変形例(2b)が適用されることを示す。
【0166】
変形例(1d)から導出された例(2)の変形例(2d)では、GEO再構成プロセスは、変形例(1d)に記載されたような2つの垂直又は水平PUの再構成に置き換えられる。変形例(2e)では、分割の方向(垂直又は水平)は、エッジ方向wedge_partition_idxを示すシンタックス要素を使用して決定される。一実施形態では、wedge_partition_idxの取り得る値の半分(例えば値「0」~「40」)は、変形例(2a)が適用されることを示し、wedge_partition_idxの取り得る値の残りの半分(例えば値「41」~「81」)は、変形例(2b)が適用されることを示す。
【0167】
変形例(2f)では、新しいシンタックス要素biRegが使用される。
【0168】
ステップ1201では、処理モジュール40は、現在のブロックに対してHLS(高レベルシンタックス)レベル(例えば、PPS)でWPが有効にされているかどうかを判定する。
【0169】
WPがHLSレベルで有効にされている場合、ステップ1201の後にステップ1204が続く。ステップ1204中に、処理モジュール40は、シンタックス要素の値biRegを復号化することによって決定する。biRegが第1の値に等しい場合(例えば、biReg=0の場合)、処理モジュール40は、変形例(2a)の再構成プロセスが現在のブロックに適用されると判定する。biRegが第2の値に等しい場合(例えば、biReg=1の場合)、処理モジュール40は、変形例(2bの再構成プロセスが現在のブロックに適用されると判定する。
【0170】
WPが現在のブロックのHLSレベルでアクティブ化されない場合、ステップ1201の後にステップ1202及びステップ1203が続く。ステップ1202中に、処理モジュール40は、それを復号化することによってGEOモードのエッジ方向を示すシンタックス要素wedge_partition_idxの値を決定する。ステップ1203中に、処理モジュールは、それを復号化することによってシンタックス要素biRegの値を決定する。
【0171】
変形例(2f)の第1の実施形態では、ステップ1203においてbiRegが第1の値に等しい場合(例えば、biReg=0の場合)、処理モジュール40は、変形例(1a)の再構成プロセスが現在のブロックに適用されると判定する。ステップ1203においてbiRegが第2の値に等しい場合(例えば、biReg=1の場合)、処理モジュール40は、GEOモードの再構成プロセスが現在のブロックに適用されると判定する。
【0172】
変形例(2f)の第2の実施形態では、ステップ1203においてbiRegが第1の値に等しい場合(例えば、biReg=0の場合)、処理モジュール40は、GEOモードの再構成プロセスが現在のブロックに適用されると判定する。ステップ1203でbiRegが第2の値に等しい場合(例えば、biReg=1の場合)、処理モジュール40は、変形例(2e)の再構成プロセスが現在のブロックに適用されると判定する。言い換えれば、biReg=1の場合、現在のブロック(すなわち、現在のCU)は2つの矩形PUに分割され、エッジ方向はシンタックス要素wedge_partition_idxを使用して決定される。
【0173】
変形例(2f)の第3の実施形態では、ステップ1203においてbiRegが第1の値に等しい場合(例えば、biReg=0の場合)、処理モジュール40は、シンタックス要素wedge_partition_idxを使用して現在のブロックの分割を決定する。例えば、「0」と「40」との間のwedge_partition_idxの値は、現在のブロックの水平パーティションを示し、
・ 値「0」~「7」は、
図10の左に示すように、等しいサイズの2つのPU内のパーティションに対応し、
・ 値「8」~「15」は、H/4に等しい高さを有する第1のPU内のパーティションに対応し、ここで、Hは、現在のブロックの高さであり、第2のPUは、3×H/4に等しい高さを有し(
図11の左上図)、
・ 値「16」~「23」は、3×H/4に等しい高さを有する第1のPU及びH/4に等しい高さを有する第2のPU内のパーティションに対応し(
図11の左下図)、
・ 値「24」~「31」は、H/3に等しい高さを有する第1のPU及び2×H/3に等しい高さを有する第2のPU内のパーティションに対応し、
・ 値「32」~「40」は、2×H/3に等しい高さを有する第1のPU及びH/3に等しい高さを有する第2のPU内のパーティションに対応する。
【0174】
「41」と「82」の間のwedge_partition_idxの値は、現在のブロックの垂直パーティションを示し、
・ 値「41」~「48」は、
図10の右に示すように、等しいサイズの2つのPU内のパーティションに対応し、
・ 値「49」~「56」は、W/4に等しい高さを有する第1のPU内のパーティションに対応し、ここで、Wは、現在のブロックの幅であり、第2のPUは、3×W/4に等しい幅を有し(
図11の右上図)、
・ 値「57」~「64」は、3×W/4に等しい幅を有する第1のPU及びW/4に等しい幅を有する第2のPU内のパーティションに対応し(
図11の右下図)、
・ 値「65」~「72」は、W/3に等しい幅を有する第1のPU及び2×W/3に等しい幅を有する第2のPU内のパーティションに対応し、
・ 値「73」~「81」は、2×W/3に等しい幅を有する第1のPU及びW/3に等しい幅を有する第2のPU内のパーティションに対応する。
【0175】
ステップ1203においてbiRegが第2の値に等しい場合(例えば、biReg=1の場合)、処理モジュール40は、GEOモードの再構成プロセスが現在のブロックに適用されると判定する。次いで、各PUは、GEOモードの動き情報を使用して予測される。
【0176】
変形例(2g)では、ステップ1301において、処理モジュール40は、デフォルトでない重みを有するWPが現在のブロックに対してアクティブ化されているかどうかを判定する。
【0177】
WPが現在のブロックのデフォルトの重みで無効又は有効にされている場合、ステップ1301の後にステップ1302が続く。ステップ1302中に、処理モジュールは、GEOモード再構成プロセスを現在のブロックに適用する。
【0178】
デフォルトでない重みを有するWPが現在のブロックに対して有効にされている場合、ステップ1301の後にステップ1303が続く。ステップ1303の実施形態では、処理モジュール40は、TPMモードの2つのパーティションに関連付けられた動き情報によって指定された予測子pred0及びpred1を含む基準画像が同じPOC(画像順序カウント)を有する(すなわち、表示順序において同じ画像番号を有する)かどうかを判定する。2つの基準画像が同じPOCを有する場合、ステップ1303の後にステップ1304が続く。
【0179】
ステップ1304の実施形態では、処理モジュール40は、ステップ1304中に変形例(2a)の再構成プロセスを適用する。
【0180】
ステップ1304の実施形態では、処理モジュール40は、ステップ1304中に変形例(2b)の再構成プロセスを適用する。
【0181】
ステップ1304の一実施形態では、変形例(2c)の場合と同様に、処理モジュール40は、シンタックス要素wedge_partition_idxを使用して、変形例(2a)と(2b)との間のどの変形例が適用されるかを決定する。
【0182】
ステップ1304の一実施形態では、処理モジュール40は、シンタックス要素wedge_partition_idxを使用して現在のブロックの分割を決定する。例えば、「0」と「40」との間のwedge_partition_idxの値は、現在のブロックの水平パーティションを示し、
・ 値「0」~「7」は、
図10の左に示すように、等しいサイズの2つのPU内のパーティションに対応し、
・ 値「8」~「15」は、H/4に等しい高さを有する第1のPU内のパーティションに対応し、ここで、Hは、現在のブロックの高さであり、第2のPUは、3×H/4に等しい高さを有し(
図11の左上図)、
・ 値「16」~「23」は、3×H/4に等しい高さを有する第1のPU及びH/4に等しい高さを有する第2のPU内のパーティションに対応し(
図11の左下図)、
・ 値「24」~「31」は、H/3に等しい高さを有する第1のPU及び2×H/3に等しい高さを有する第2のPU内のパーティションに対応し、
・ 値「32」~「40」は、2×H/3に等しい高さを有する第1のPU及びH/3に等しい高さを有する第2のPU内のパーティションに対応する。
【0183】
「41」と「82」の間のwedge_partition_idxの値は、現在のブロックの垂直パーティションを示し、
・ 値「41」~「48」は、
図10の右に示すように、等しいサイズの2つのPU内のパーティションに対応し、
・ 値「49」~「56」は、W/4に等しい高さを有する第1のPU内のパーティションに対応し、ここで、Wは、現在のブロックの幅であり、第2のPUは、3×W/4に等しい幅を有し(
図11の右上図)、
・ 値「57」~「64」は、3×W/4に等しい幅を有する第1のPU及びW/4に等しい幅を有する第2のPU内のパーティションに対応し(
図11の右下図)、
・ 値「65」~「72」は、W/3に等しい幅を有する第1のPU及び2×W/3に等しい幅を有する第2のPU内のパーティションに対応し、
・ 値「73」~「81」は、2×W/3に等しい幅を有する第1のPU及びW/3に等しい幅を有する第2のPU内のパーティションに対応する。
【0184】
ステップ1303で、処理モジュール40が、2つの基準画像が異なる値のPOCを有すると判定した場合、ステップ1303の後にステップ1302が続く。
【0185】
ステップ1303の別の実施形態において、処理モジュール40は、基準画像の一方が、現在のブロックを含む画像のPOC値POCcurrよりも小さいPOC値POC1を有するかどうか、及び他方の基準画像が、POC値POCcurrよりも大きいPOC値POC2を有するかどうかを決定する。(POC1<POCcurr<POC2)である場合、次いで、処理モジュール40は、ステップ1302を実行する。そうでない場合、処理モジュール40は、ステップ1304を適用する。
【0186】
ステップ71の第3実施形態の例(1)の変形例(1a、1b)及び例(2の変形例(2a、2b)では、エッジ方向を示すシンタックス要素(TPMモードの場合はmerge_triangle_split_dir、GEOモードの場合はwedge_partition_idx)が無駄になる。ステップ71の第3の実施形態の第1及び第2の例の別の変形例では、2つのシンタックス要素が再解釈される。言い換えれば、この変形例では、これらの2つのシンタックス要素のセマンティックが変更される。例えば、
merge-idx0=merge_triangle_idx0、
delta-idx=merge_triangle_split_dir、及び、
merge-idx1=delta-idx+merge_triangle_idx1.。
【0187】
ステップ71の第3の実施形態の第3の例では、WP及びGEOモードが現在のブロックに対して有効にされる。その場合、ステップ71中に、GEO再構成プロセスは、一般化された双方向インター予測再構成プロセスに置き換えられる。式(1)を適用して、各パーティションに含まれるサンプルの数に応じた重みを有する現在のブロックについて予測子bipredを決定する。例えば、
図5Bを参照すると、w
0はパーティション505内のサンプル数に比例し、w
1はパーティション506内のサンプル数に比例する。パーティション505及び506を含むブロックが「128」個のサンプルを含む16×8ブロックである場合、パーティション505はNB1個のサンプルを含み、パーティション506はNB2個のサンプルを含み、例えば、w
0=NB1/128及びw
1=NB2/128である。予測子pred
0及びpred
1は、GEOモードの2つのパーティションに関連付けられた動き情報を使用して生成される。
図5Bでは、パーティション505の動き情報は、予測子pred
0を生成するために使用され、パーティション506の動き情報は、予測子pred
1を生成するために使用される。
【0188】
ステップ71の第3の実施形態の第3の例の変形例では、重みw
0及びw
1は、BCWに対して許可された重みのセット(すなわち、∈{-2,3,4,5,10})において選択される。例えば、第2のパーティションよりも多くのサンプルを含む第1のパーティションは、第2のパーティションよりも高いセット{-2,3,4,5,10}の重みに関連付けられる。例えば、
図5Bを再度参照すると、パーティション505に関連付けられた重みw
0は「3」に等しく、パーティション506に関連付けられた重みw
1は「5」に等しい。この場合も、パーティション505の動き情報は、予測子pred
0を生成するために使用され、パーティション506の動き情報は、予測子pred
1を生成するために使用される。
【0189】
ステップ71の第4の実施形態の第3の例では、WP及びTPM又はGEOモードが現在のブロックに対して有効にされる。その場合、修正されたTPM又はGEOモードが現在のブロックに適用される。この修正されたTPM又はGEOモードでは、TPM又はGEOモードで指定された2つのパーティション(2つのPU)の分割が現在のブロックに適用される。各パーティションに関連付けられた予測子が識別され、当該パーティションに対応する動き情報を使用して動き補償される。第3の実施形態の第4の例の第1の変形例では、パーティションの各々を予測した後、2つのパーティション間のフロンティア(例えば、
図5Cのパーティション509と510との間のフロンティア)に沿ったサンプル値にブレンド処理は適用されない。第3の実施形態の第4の例の第2の変形例では、各パーティションを予測した後、ブレンド処理を使用して、2つのパーティション間のフロンティアに沿ったサンプル値(例えば、
図5Cのパーティション509と510との間のフロンティア)が調整される。しかしながら、
図5Cに関連して上述した適応重み付けを使用する代わりに、フロンティアに沿って位置するサンプルに簡単な平均化が適用される。
図5Cの例では、識別子1、2、4、6、及び7を有するサンプルのサンプル値は、以下のように計算される。
【0190】
【数20】
ここで、pred
0(x,y)は予測子pred
0の位置(x,y)におけるサンプルであり、pred
1(x,y)は予測子pred
1の位置(x,y)におけるサンプルであり、適応重み
【0191】
【0192】
第3の実施形態の第4の例の第3の変形例では、TPM又はGEOモードのブレンド処理は、少なくとも1つの高レベルシンタックス(HLS)要素によって有効又は無効にされる。少なくとも1つのHLS要素が、ブレンド処理が有効にされていることを示す場合、TPM又はGEOモードのブレンド処理は、WPが現在のブロックに対して有効にされている場合に無効にされる。HLS要素の値も推測することができる。その場合、少なくとも1つのHLS要素の推測値が、ブレンド処理が有効にされていることを示す場合、TPM又はGEOモードのブレンド処理は、WPが現在のブロックに対して有効にされている場合に無効にされる。
【0193】
HLS要素は、例えば、シーケンスレベル(すなわち、SPSレベル)sps_blending_ctrl_flagにおけるシンタックス要素である。HLS要素sps_blending_ctrl_flagは、TPM及びGEOのブレンド処理がスライスレベルで制御可能である(すなわち、sps_blending_ctrl_flag=1)か否か(すなわち、sps_blending_ctrl_flag=0)を示す。存在しない場合、HLS要素sps_blending_ctrl_flagの値は、他のシンタックス要素から推測されてもよい。一実施形態では、HLS要素sps_blending_ctrl_flagは、シンタックス要素sps_triangle_enabled_flagがtrueに等しく、シンタックス要素sps_weighted_pred_flagがfalseに等しい場合にSPSヘッダ内に存在する。シンタックス要素sps_triangle_enabled_flagは、SPSを参照するP個のスライスのブロックについて、インター予測にTPM又はGEOモードを使用できる(sps_triangle_enabled_flag=trueの場合)か否か(sps_triangle_enabled_flag=falseの場合)を指定するために使用することができる。trueに等しいシンタックス要素sps_weighted_pred_flagは、SPSを参照するP個のスライスに重み付き予測が適用され得ることを指定し、falseに等しいsps_weighted_pred_flagは、SPSを参照するP個のスライスに重み付き予測が適用されないことを指定する。
【0194】
【0195】
表TAB_Aは、HLS要素sps_blending_ctrl_flagに関するSPSレベルのシンタックスの例を記述している。
【0196】
スライスが、TPM又はGEOブレンド処理の非アクティブ化のアクティブ化がスライスレベルで制御され得ることをsps_blending_ctrl_flagによって示すSPSを参照するとき、スライスレベルシンタックス要素slice_blending_off_flagは、当該ブレンド処理が当該スライスについて実際にアクティブ化される(slice_blending_off_flag=1)か、又はアクティブ化されない(slice_blending_off_flag=0)かを示す。
【0197】
【0198】
表TAB_Bは、シンタックス要素slice_blending_off_flagに関するスライスレベルのシンタックスの例を記述している。
【0199】
分かるように、シンタックス要素slice_blending_off_flagは、条件のセットが満たされたときにスライスヘッダ内に存在する。例えば、条件のセットは、
・ 現在のスライスに対してTPM又はGEOモードが有効にされる(sps_triangle_enabled_flag=true)、
・ スライスレベルでのTPM又はGEOのブレンド処理の制御が有効にされ(sps_blending_ctrl_flag=true);
・ WPはPスライスに対して無効にされている(!(pps_weighted_pred_flag&&slice_type==P));
・ WPはBスライスに対して無効である(!(pps_weighted_bipred_flag&&slice_type==B))。
シンタックス要素slice_blending_off_flagが存在しない場合、それは「0」と推測される。
【0200】
ブロックレベルにおいて、変数blending_off_flagは、現在のブロックにTPM又はGEOモードのブレンド処理を適用するか否かを指定する。
【0201】
以下を示す:
・ cIdx現在のブロックの色成分インデックスであり、
・ A及びB現在のブロックの2つのTPM(又はGEO)パーティションであり、
・ predListFlagA及びpredListFlagBのパーティションA及びBの予測リストフラグであり
・ refIdxA及びrefIdxBは、パーティションA及びBの基準インデックスである。
【0202】
変数blending_off_flagは、以下のように導出される。
・ blending_off_flagは、シンタックス要素slice_blending_off_flagの値に初期化される。
・ 変数blending_off_flagが「1」と等しい場合、変数blending_off_flagは変更されない。
・ そうではなく、cIdxが「0」と等しく、((predListFlagX=0であり、基準indice refIdxXに関連付けられた輝度重みはデフォルトではない重み(すなわち、luma_weight_l 0_flag [refIdxX]は「1」に等しい)である、又は(predListFlagX=1であり、基準indicerefIdxXに関連付けられた輝度重みはデフォルトではない重み(すなわち、luma_weight_l 1_flag [refIdxX]は1に等しい)である場合、変数blending_off_flagは「1」に等しく設定され(すなわち、TPM又はGEOモードのブレンド処理は、現在のブロックの輝度成分に対して非アクティブ化され)、
・ そうではなく、cIdxが「0」及び((predListFlagX=0であり、基準indice refIdxXに関連付けられた彩度重みはデフォルトではない重み(すなわち、chroma_weight_l 0_flag [refIdxX]は1に等しい)である、又は(predListFlagX=1であり、基準indice refIdxXに関連付けられた彩度重みはデフォルトではない重み(すなわち、chroma_weight_l 1_flag[refIdxX]は1に等しい)である場合、blending_off_flagは「1」に等しく設定される(すなわち、現在のブロックの彩度成分に対してTPM又はGEOモードのブレンド処理が非アクティブ化される)。
【0203】
変形例では、当該SPSレベルのHLSシンタックス(sps_triangle_enabled_flag,sps_weighted_pred_flag,sps_blending_ctrl_flag)は、同じセマンティックを有するPPSレベル(pps_triangle_enabled_flag、pps_weighted_pred_flag、pps_blending_ctrl_flag)のHLSシンタックスに置き換えることができる。
【0204】
第3の実施形態の第4の例の第4の変形例では、現在のブロックのHLSレベルでWPが有効にされると、TPM又はGEOモードのブレンド処理が非アクティブ化される。
【0205】
第3の実施形態の第4の例の第5の変形例では、TPM又はGEOモードのブレンド処理は、WPがHLSレベルで有効にされ、少なくとも1つのWP重みが現在のブロックのデフォルトでない重みに等しいときに非アクティブ化される。
【0206】
JVET-O2001で指定されたVVC標準は、予測ツールの実行順序を指定する。例えば、VVCの現在のバージョンでは、WPが有効にされる場合、WPは、PROFモードの後に適用される。ステップ71の第4の実施形態では、WPの実行順序及びPSW又はOFツールが修正される。ステップ71の第4の実施形態の例では、WPは、PROFモードの前に適用される。変形例では、PRモードの後又は前にWPを適用するかどうかの選択は、WPの重み及びオフセット値に依存する。例えば、重みが「1」より大きい場合、WPは、その後に実行され、そうでなければ、それは、その後に行われるため、PROFモードは、広範囲の信号に適用される。
【0207】
JVET-O2001に記載されているVVCの現在のバージョンでは、WPが有効にされると、DMVR及びBDOFモードが無効になる。ステップ71の第5の実施形態では、WPは、DMVR又はBDOFモードの前に適用される。これは、符号化の複雑さ(WPで重み付けされた基準を記憶するための2つの追加のバッファ及び動き補償予測の1つの追加の重み付け段階)を増加させるが、予測精度を改善する。
【0208】
ステップ71の第6の実施形態では、複雑さを低減するために、WPが有効にされたときに、PROFモードが無効にされる。
【0209】
JVET-O 2001に記載されているようなVVCの現在のバージョンでは、WPが有効にされると、CIIPモードブレンド処理の前にWPが適用される。ステップ71の第7の実施形態では、複雑さを低減するために、WPが有効にされたときにCIIPモードが無効にされる。
【0210】
ステップ71の第8の実施形態では、WP及びCIIPモードの両方が現在のブロックに対して有効にされると、通常のCIIPモードが現在のブロックに適用されるが、WP重み及びオフセットは現在のブロックのデフォルト値に設定される。
【0211】
これまで、WP及びPSW又はOFツールプロセスがカスケード接続される、すなわち、順次実行されると考えられる。このカスケードの結果は、第1のツール(例えば、WP)が第2のツール(例えば、PSW又はOFツール)の前に適用される場合、第1のツールの結果に第2のツールが適用されることである。ステップ71の第9の実施形態では、WPと少なくとも1つのPSWツールとの組み合わせに焦点を当てている。重み付き予測及び/又は少なくとも1つのPSWツールに関連する現在のブロックの符号化プロセスの一部の修正は、WP及びPSWツールを単一の重み付き段階で混合する(ブレンド)ことで構成される。混合ツールは、WP及びCIIP又はWP及びGEO又はWP及びTPM又はWP及びLIC及びCIIPであり得る。PSWツールを一緒に混合することも可能である。例えば、その場合、混合ツールは、LIC及びTPM、又はBCW及びTPM、又はBCW及びCIIPである。混合プロセス中、混合ツールの重み及びオフセットを一緒に組み合わせて、1つの単一の重み付け(ブレンド)プロセスを適用する。
【0212】
PSWツールは、2つのサブグループに分類することができる:オフセットが右シフトの後に行われるPSWツールの第1のサブグループと、オフセットが右シフトの前に行われる、PSWツールの第2のサブグループ。第1のサブグループは、BCWモード、CIIPモード、及び双方向WPを含む。第2のサブグループは、一方向WP及びLICモードを含む。
【0213】
例えば、(ai,bi,si)は、対応するサンプル予測のPSWツール「i」及びpred(x,y)に関連付けられたサンプル重み、オフセット及び右シフト値をそれぞれ示す。
【0214】
ツールi=0が、PSWツールの第1のサブグループに属するツール「0」及び「1」であるツールi=1と組み合わされる場合、予測サンプルは、以下の式で得ることができる。
pred(x,y)=((a0.a1.pred0(x,y)+a1(b0≪s0)+(1≪(s0+s1-1)))≫(s0+s1))+b1
ここで、pred0(x,y)は、DPBに記憶された、空間的にpred(x,y)に対応する基準画像のリストL01内で得られた動き補償された予測子サンプルである。この式は、一方向WPとLICモードとを組み合わせる場合に適用される。
【0215】
ツール「0」及び「1」が、PSWツールの第2のサブグループに属する場合、予測サンプルは、以下の式で得ることができる。
pred(x,y)=(a0.a1.pred0(x,y)+a1(b0≪s0)+(b1≪s0)+(1≪(s0+s1-1)))≫(s0+s1)
【0216】
この式は、双方向WPとBCWモード又は双方向WPとCIIPモード又はCIIPモードとBCWモードとを組み合わせるときに適用される。
【0217】
第1のサブグループのツールと第2のサブグループのツールとの組み合わせ、及び3つ以上のPSWツールの組み合わせについて、同様の式を導出することができる。
【0218】
図8は、復号化プロセス中に実行される再構成プロセスの実施形態の高レベル表現である。
【0219】
符号化プロセス及び復号化プロセス中に適用されるプロセスは対称であることに留意されたい。結果として、符号化プロセスに関して記載された多くの実施形態は、復号化プロセス中に対称的な実施形態を有する。
【0220】
図8のプロセスは、主にステップ314、308及び316中に現在の画像の各ブロック上で実行される。
【0221】
ステップ80では、処理モジュール40は、WPが現在のブロックに対して有効にされているかどうかを判定する。
【0222】
WPが有効にされている場合、ステップ80の後にステップ81が続く。ステップ81中に、処理モジュール40は、WP及び/又は少なくとも1つのPSW又はOFツールに関連する当該現在のブロックの再構成プロセスの一部を修正する。
【0223】
WPが無効にされている場合、ステップ80の後にステップ82が続く。ステップ82中に、文書JVET-O2001で指定されているような通常の再構成プロセスが現在のブロックに適用される。
【0224】
ステップ80の第1の実施形態において、処理モジュール40は、符号化ビデオストリーム211から、現在のブロックを含むスライスを参照するPPS内のシンタックス要素pps_weighted_pred_flag及びpps_weighted_bipred_flagの値をチェックする。シンタックス要素pps_weighted_pred_flag又はpps_weighted_bipred_flagのうちの一方が1に等しい場合、処理モジュール40は、WPが現在のブロックに対して有効にされていると見なす。そうでない場合、処理モジュール40は、WPが現在のブロックに対して無効にされていると見なす。
【0225】
ステップ80の第2の実施形態では、現在のブロックを含むスライスによって参照されるPPSからのシンタックス要素pps_weighted_pred_flag及びpps_weighted_bipred_flagの値をチェックすることに加えて、処理モジュール40は、当該スライスのスライスヘッダ内のWPに使用される重みの値もチェックする。当該重み値の少なくとも一方がデフォルト値と異なる場合、処理モジュール40は、WPが現在のブロックに対して有効にされていると見なす。そうでない場合、処理モジュール40は、WPが現在のブロックに対して無効にされていると見なす。
【0226】
ステップ80の第1又は第2の実施形態が適用されるとき、ステップ81の第1の実施形態では、処理モジュール40は、符号化ビデオストリーム内のPSW又はOFツールに関連するシンタックス要素を解析又は推測しないことによって、当該現在のブロックの再構成プロセスの一部を修正する。ただし、その場合、通常のWP再構成プロセスが適用される。
【0227】
図9は、ステップ80の第1又は第2の実施形態によって変更された再構成プロセスの一部の例を開示する。
【0228】
ステップ901において、処理モジュール40は、現在のブロックについてCIIPモードが有効であるか否かを示す条件CIIP、現在のブロックについてTPMモードが有効であるか否かを示す条件TPM、現在のブロックについてWPが無効であるか否かを示す条件wp_disabled、及びJVET_O 2001に記載されている条件OtherConditionsを含む条件の第1の組み合わせをチェックする。条件の第1の組み合わせ(OtherConditions及び((CIIP)又は(TPM及びwp_disabled)))が真である場合、ステップ902中に、処理モジュール40は、文書JVET-O 2001において指定されたシンタックス要素regular_merge_flagを符号化ビデオストリーム211から構文解析する。ステップ902の後にステップ903が続く。ステップ901において、条件の第1の組み合わせが偽である場合、ステップ901の直後にステップ903が続く。その場合、シンタックス要素regular_merge_flagの値は、標準VVC (regular_merge_flag=(general_merge_flag&&!merge_subblock_flag))によって指定される他のシンタックス要素の値から処理モジュール40によって推測される。
【0229】
ステップ903において、処理モジュール40は、シンタックス要素regular_merge_flagの値をチェックする。regular_merge_flag=trueである場合、処理モジュール40は、ステップ904中に、現在のブロックがマージモードを使用すると判定し、通常のマージパラメータを復号化する。
【0230】
regular_merge_flag=falseである場合、処理モジュール40は、ステップ905中に、条件の第2の組み合わせ((OtherConditions及び((CIIP)並びに(TPM及びwp_disabled)))をチェックする。第2の状態の組み合わせが偽である場合、ステップ905の後にステップ906が続く。そうでない場合、ステップ905の後にステップ907が続く。
【0231】
ステップ906中に、処理モジュール40は、シンタックス要素ciip_flagの値及びシンタックス要素MergeTriangleFlagの値を推測する。Ciip_flag=1は、現在のブロックにCIIPモードが適用されることを示す。ciip_flag=0は、CIIPモードが現在のブロックに適用されないことを示す。MergeTriangleFlag=1は、現在のブロックにTPMモードが適用されることを示す。MergeTriangleFlag=0は、TPMモードが現在のブロックに適用されないことを示す。ステップ906では、1つのCIIPモード又はTPMモードが適用される。CIIP又はTPMモードのパラメータも、処理モジュール40によって推測される。
【0232】
ステップ907中に、処理モジュール40は、符号化ビデオストリーム211からシンタックス要素ciip_flagを復号化する。
【0233】
ステップ908中に、処理モジュール40は、シンタックス要素ciip_flagの値をチェックする。ciip_flag=1である場合、ステップ908の後にステップ909が続く。ciip_flag=0である場合、ステップ908の後にステップ910が続く。
【0234】
ステップ909中に、処理モジュール40は、符号化ビデオストリーム211からCIIPモードのパラメータを復号化する。
【0235】
ステップ910の間、処理モジュール40は、符号化ビデオストリーム211からTPMモードのパラメータを復号化する。
【0236】
図9に関連して説明されたアルゴリズムから、WPが無効化されている場合にのみ、TPMパラメータが符号化ビデオストリーム211から推測(ステップ906)又は解析(ステップ910)されることが分かる。
【0237】
一実施形態では、ステップ80の第1又は第2の実施形態による再構成プロセスの修正は、JVET-02001のセクション7.3.8.7に記載されているようなマージデータシンタックスの修正を意味する。
【0238】
【0239】
【0240】
マージデータシンタックスのシンタックス修正は、表TAB1において太字で表示される。
【0241】
別の実施形態では、ステップ80の第1又は第2の実施形態による再構成プロセスの修正は、JVET-02001のセクション7.3.6.1に記載されているようなスライスヘッダシンタックスの修正を意味する。
【0242】
【0243】
表TAB 2から分かるように、シンタックス要素max_num_merge_cand_minus_max_num_triangle_candは、WPが無効化されている場合にのみスライスヘッダに存在する。シンタックス要素max_num_merge_cand_minus_max_num_triangle_candは、スライスにおいてサポートされているTPMモード候補の最大数を表す。このシンタックス要素は、TPMモードが無効になっていることが分かっている場合、つまり現在のスライスに対してWPが有効になっている場合には役に立たない。その結果、復号プロセス中に、WPがスライスに対して有効にされているとき、処理モジュール40は、シンタックス要素max_num_merge_cand_minus_max_num_triangle_candを解析することを意図しない。
【0244】
図9のアルゴリズムの変形例では、条件TPMは条件GEOに置き換えられる。条件GEOは、現在のブロックに対してGEOモードが有効であるか否かを示す。この変形例では、GEOパラメータは、WPが無効化されている場合にのみ、符号化ビデオストリーム211から推測(ステップ906)又は解析(ステップ910)される。また、表TAB 1において、シンタックス要素sps_triangle_enabled_flag、MaxNumTriangleMergeCand、merge_triangle_split_dir、merge_triangle_idx 0、merge_triangle_idx 1は、それぞれ、シンタックス要素sps_wedge_enabled_flag、MaxNumWedgeMergeCand、wedge_partition_idx、merge_wedge_idx 0、merge_wedge_idx 1に置き換えられている。表TAB 2において、シンタックス要素sps_triangle_enabled_flag pps_max_num_merge_cand_minus_max_num_triangle_cand_minus 1、及びmax_num_merge_cand_minus_max_num_triangle_candは、それぞれsps_wedge_enabled_flagpps_max_num_merge_cand_minus_max_num_wedge_cand_minus 1、及びmax_num_merge_cand_minus_max_num_wedge_candに置き換えられている。
【0245】
図9のアルゴリズムの変形例では、条件CIIPは、条件(CIIP及びwp_disabled)に置き換えられる。この変形例では、CIIPパラメータは、WPが無効化されている場合にのみ、符号化ビデオストリーム211から推測(ステップ906)又は解析(ステップ909)される。その場合、マージデータシンタックスは以下のように修正される(修正は表TAB3において太字で表される)。
【0246】
【0247】
【0248】
既に上述したように、現在のブロックを含むスライスを参照するPPS及びスライスのスライスヘッダの解析は、処理モジュール40が、デフォルトでない重みを有するWPが当該現在のブロックに実際に適用されるかどうかを判定することを可能にしない。この情報を取得するために、処理モジュール40は、現在のブロックを表すシンタックス要素(すなわち、JVET-O2001のセクション7.3.8.5に記載されているような符号化ユニットシンタックス)を解析する必要がある。特に、現在のブロックを表すシンタックス要素の解析は、シンタックス要素ref_idx_l0及びref_idx_l1の値を決定することを可能にする。シンタックス要素ref_idx_l0(それぞれref_idx_l1)は、現在のブロックに予測子を提供する画像のDPBの基準画像のリストL0(それぞれリストL1)内のインデックスを表す。インデックスref_idx_l0(それぞれref_idx_l1)を用いて、処理モジュール40は、スライスヘッダ内で符号化された輝度についてのフラグluma_weight_l0_flag[]及び彩度についてのフラグchroma_weight_l0_flag[](それぞれluma_weight_l1_flag[]及びchroma_weight_l1_flag[])から、現在のブロックのための予測子を提供する少なくとも1つの基準画像がデフォルトでない重みで重み付けされているかどうかを判定することができる。実際、「1」に等しいフラグは、対応する重みが非デフォルト値を有することを指定する。「0」に等しいフラグは、重みがデフォルト値を有することを指定する。
【0249】
いくつかのPSW又はOFツールの場合、シンタックス要素ref_idx_lxは、PSW又はOFツールのシンタックスを解析することによってのみアクセスすることができる。これは、特にTPM、GEO、CIIPモードの場合である。例えば、
図9では、現在のブロックのシンタックス要素ref_idx_lxにアクセスするために、ステップ906又は909又は910が実行されるべきである。ステップ80の第3の実施形態では、現在のブロックを含むスライスによって参照されるPPS内のシンタックス要素pps_weighted_pred_flag及びpps_weighted_bipred_flagの値、並びに当該スライスのスライスヘッダからWPによって使用される重みの値をチェックした後、処理モジュール40は、現在のブロックのPSW又はOFツールに関連するシンタックス要素を解析又は推論して、インデックスref_idx_lx(lxはl0又はl1に等しい)の値を取得する。インデックスref_idx_l0及びref_idx_l1から、処理モジュール40は、フラグluma_weight_lx_flag[ref_idx_lx]又はchroma_weight_lx_flag[ref_idx_lx]の値を決定する。当該フラグの少なくとも1つが「1」に等しい場合、処理モジュール40は、WPが現在のブロックに対して有効であると見なす(すなわち、条件condが偽であり、cond=(双方向予測の場合、luma_weight_l0_flag[ref_idx_l0]==0、
&&luma_weight_l1_flag[ref_idx_l1]==0
&&chroma_weight_l0_flag[ref_idx_l0]==0
&&chroma_weight_l1_flag[ref_idx_l1]==0)
又は一方向予測の場合、cond=(luma_weight_lx_flag[ref_idx_lx]==0
&&chroma_weight_lx_flag[ref_idx_lx]==0)である場合、処理デバイス40はWPが有効であると見なす)。
【0250】
そうでない場合、処理モジュール40は、WPが現在のブロックに対して無効にされていると見なす。言い換えれば、現在のブロックに関連付けられた各フラグluma_weight_lx_flag[ref_idx_lx]及びchroma_weight_lx_flag[ref_idx_lx]が「0」に等しい場合、処理デバイス40は、WPが無効にされていると見なす(すなわち、条件condが真である場合、処理デバイス40は、WPが無効にされていると見なす)。
【0251】
ステップ80の第3の実施形態が適用される場合、ステップ81の第2の実施形態では、処理モジュール40は、符号化ビデオストリーム211内のPSW又はOFツールに関連するシンタックス要素を解析又は推測することによって、PSW又はツールを現在のブロックに適用することなく当該現在のブロックの再構成プロセスの一部を修正する。すなわち、符号化ビデオストリーム211にPSW又はOFツールが指定されていても、当該PSW又はOFツールに対応する再構成処理は非アクティブ化される。ただし、その場合、通常のWP再構成プロセスが適用される。
【0252】
ステップ80の第3の実施形態が適用される場合、ステップ81の第3の実施形態では、PSW又はOFツールを非アクティブ化するステップは、現在のブロックの再構成中に当該PSW又はOFツールに関連するシンタックス要素を解析又は推測することを含むが、当該PSW又はOFツールに対して通常の再構成プロセスを適用しないことを含む。この実施形態では、符号化ビデオストリーム211で指定されたPSW又はOFツールの代わりに、代替インター予測ツールが処理モジュール40によって現在のブロックに適用される。しかしながら、ステップ81の第3の実施形態では、通常のWP再構成プロセスが適用される。
【0253】
ステップ81の第3の実施形態の以下の例(3)と呼ばれる第1の例では、WP及びTPMモードが現在のブロックに対して有効にされる。
【0254】
例(3)の変形例(3a)では、ステップ81中に、TPM再構成プロセスは、上述の双方向インター予測(Bモード)再構成プロセスに置き換えられる。式(1)を適用して、全ての予測子サンプルについて、w0=w1=1である現在のブロックについて予測子bipredを決定する。予測子pred0及びpred1は、TPMモードに関するシンタックス要素で指定された2つのパーティションに関連付けられた動き情報を使用して生成される。分かるように、復号化プロセス中に適用される変形例(3a)は、符号化プロセス中に適用される変形例(1a)と同一である。
【0255】
同様に、復号化処理の際に、変形例(3a)の代わりに、変形例(1b、1c、1d、1e、1f及び1g)とそれぞれ同一の変形例(3b、3c、3d、3e、3f及び3g)を適用することができる。
【0256】
ステップ81の第3の実施形態の以下の例(4)と呼ばれる第2の例では、WP及びGEOモードが現在のブロックに対して有効にされる。
【0257】
例(2)の第1の変形例(4a)では、ステップ81中に、GEO再構成プロセスは、上述の双方向インター予測再構成プロセスに置き換えられる。式(1)を適用して、w0=w1=1である現在のブロックについて予測子bipredを決定する。予測子pred0及びpred1は、GEOモードに関するシンタックス要素で指定された2つのパーティションに関連付けられた動き情報を使用して生成される。分かるように、復号化プロセス中に適用される変形例(4a)は、符号化プロセス中に適用される変形例(2a)と同一である。
【0258】
同様に、復号化処理の際に、変形例(4a)の代わりに、変形例(2b、2c、2d、2e、2f及び2g)とそれぞれ同一の変形例(4b、4c、4d、4e、4f及び4g)を適用することができる。
【0259】
ステップ81の第3実施形態の例(3)、(4)の変形例(3a)、(3b)、(4a)、(4b)では、エッジ方向を示すシンタックス要素(TPMモードの場合はmerge_triangle_split_dir、又はGEOモードの場合はwedge_partition_idx)が無駄になる。ステップ81の第3の実施形態の例(3)及び(4)の別の変形例では、2つのシンタックス要素が再解釈される。言い換えれば、この変形例では、これらの2つのシンタックス要素のセマンティックが変更される。例えば、
merge-idx0=merge_triangle_idx0、
delta-idx=merge_triangle_split_dir、及び、
merge-idx1=delta-idx+merge_triangle_idx1.。
【0260】
ステップ81の第3の実施形態の第3の例では、WP及びGEOモードが現在のブロックに対して有効にされる。その場合、ステップ81中に、GEO再構成プロセスは、一般化された双方向インター予測再構成プロセスに置き換えられる。式(1)を適用して、各パーティションに含まれるサンプルの数に応じた重みを有する現在のブロックについて予測子bipredを決定する。例えば、
図5Bを参照すると、w
0はパーティション505内のサンプル数に比例し、w
1はパーティション506内のサンプル数に比例する。パーティション505及び506を含むブロックが「128」個のサンプルを含む16×8ブロックである場合、パーティション505はNB1個のサンプルを含み、パーティション506はNB2個のサンプルを含み、例えば、w
0=NB1/128及びw
1=NB2/128である。予測子pred
0及びpred
1は、GEOモードに関するシンタックス要素で指定された2つのパーティションに関連付けられた動き情報を使用して生成される。
図5Bでは、パーティション505の動き情報は、予測子pred
0を生成するために使用され、パーティション506の動き情報は、予測子pred
1を生成するために使用される。
【0261】
ステップ81の第3の実施形態の第3の例の変形例では、重みw
0及びw
1は、BCWに対して許可された重みのセット(すなわち、∈{-2,3,4,5,10})において選択される。例えば、第2のパーティションよりも多くのサンプルを含む第1のパーティションは、第2のパーティションよりも高いセット{-2,3,4,5,10}の重みに関連付けられる。例えば、
図5Bを再度参照すると、パーティション505に関連付けられた重みw
0は「3」に等しく、パーティション506に関連付けられた重みw
1は「5」に等しい。この場合も、パーティション505の動き情報は、予測子pred
0を生成するために使用され、パーティション506の動き情報は、予測子pred
1を生成するために使用される。
【0262】
ステップ81の第4の実施形態の第3の例では、WP及びTPM又はGEOモードが現在のブロックに対して有効にされる。その場合、修正されたTPM又はGEOモードが現在に適用される。この修正されたTPM又はGEOモードでは、符号化ビデオストリーム211内のTPM又はGEOシンタックス要素によって指定された2つのパーティション(2つのPU)における分割が現在のブロックに適用される。各パーティションに関連付けられた予測子が識別され、当該パーティションに対応する動き情報を使用して動き補償される。パーティションの各々を予測した後、2つのパーティション(例えば、
図5Cのパーティション509と510との間のフロンティア)間のフロンティアに沿ったサンプル値は、ブレンド処理を使用して調整される。しかしながら、
図5Cに関連して上述した適応重み付けを使用する代わりに、フロンティアに沿って位置するサンプルに簡単な平均化が適用される。
図5Cの例では、識別子1、2、4、6、及び7を有するサンプルのサンプル値は、以下のように計算される。
【0263】
【数22】
ここで、pred
0(x,y)は予測子pred
0の位置(x,y)におけるサンプルであり、pred
1(x,y)は予測子pred
1の位置(x,y)におけるサンプルであり、適応重み
【0264】
【0265】
図7に関連して既に述べたように、JVET-O2001で指定されたVVC標準は、予測ツールの実行順序を指定する。例えば、VVCの現在のバージョンでは、WPが有効にされる場合、WPは、PROFモードの後に適用される。ステップ81の第4の実施形態では、WP再構成プロセス及びPSW又はOFツール再構成プロセスの実行順序が修正される。第4の実施形態の例では、WPは、PROFモードの前に適用される。変形例では、PROFモードの後又は前にWPを適用するかどうかの選択は、WPの重み及びオフセット値に依存する。例えば、重みが「1」より大きい場合、WPは、その後に実行され、そうでなければ、それは、その後に行われるため、PROFモードは、広範囲の信号に適用される。
【0266】
JVET-O2001に記載されているVVCの現在のバージョンでは、WPが有効にされると、DMVR及びBDOFモードが無効になる。ステップ81の第5の実施形態では、WPは、DMVR及びBDOF再構成プロセスの前に適用される。これは、復号化の複雑さ(WPで重み付けされた基準を記憶するための2つの追加のバッファ及び動き補償予測の1つの追加の重み付け段階)を増加させるが、予測精度を改善する。実際、DMVRとBDOFはどちらも双方向予測ツールであり(現在の予測を計算するために基準画像ref-0及び基準画像ref-1が使用される)、以下を仮定することによってローカル(サブブロック)動きベクトルの精密化を実行する。
1.ref-0とref-1との間で局所的な動きが一定である。
2.ref-0とref-1との間の局所的な照明変化は、ref-0の動き補償サブブロック(pred-0)とref-1の動き補償サブブロック(pred-1)とのわずかな位置ずれのみに起因する。予測サンプル値(pred-0対pred-1)のこの位置ずれにより、MV精密化(DMVR)又は予測サンプルオフセット補正(BDOF)を導出して、現在のサブブロック双予測サンプルに適用することが可能になる。
【0267】
局所的な照明の変化が(また)照明シーンの変化によって引き起こされる場合、仮説「2」は、有効ではない。DMVR及びBDOFプロセスは、双方向予測精度を低下させることさえある。しかしながら、WPがDMVR/BDOFの前にpred-0及びpred-1に適用される場合、それは、照明変化が現在のサブブロックと同じであるように補正されるように、動き補償されたサブブロックref-0及び動き補償されたサブブロックref-1を補正する。次いで、光フローモデルが有効になり、DMVR及びBDOFは、実際に予測精度を改善する。
【0268】
ステップ81の第6の実施形態では、複雑さを低減するために、WPが有効にされたときに、PROFモードが無効にされる。
【0269】
JVET-O2001に記載されているようなVVCの現在のバージョンでは、WPが有効にされると、CIIPモードブレンド処理の前にWPが適用される。ステップ81の第7の実施形態では、複雑さを低減するために、WPが有効にされたときにCIIPモードが無効にされる。
【0270】
ステップ81の第8の実施形態では、WP及びCIIPモードの両方が現在のブロックに対して有効にされると、通常のCIIPモードが現在のブロックに適用されるが、WP重み及びオフセットは現在のブロックのデフォルトに設定される。
【0271】
これまで、WP及びPSW又はOFツールプロセスがカスケード接続される、すなわち、順次実行されると考えられる。このカスケードの結果は、第1のツール(例えば、WP)が第2のツール(例えば、PSW又はOFツール)の前に適用される場合、第1のツールの結果に第2のツールが適用されることである。ステップ81の第9の実施形態では、WPと少なくとも1つのPSWツールとの組み合わせに焦点を当てている。重み付き予測及び/又は少なくとも1つのPSWツールに関連する現在のブロックの再構成プロセスの一部の修正は、WP及びPSWツールを単一の重み付き段階で混合する(ブレンド)ことで構成される。混合ツールは、WP及びCIIP又はWP及びGEO又はWP及びTPM又はWP及びLIC及びCIIPであり得る。PSWツールを一緒に混合することも可能である。例えば、その場合、混合ツールは、LIC及びTPM、又はBCW及びTPM、又はBCW及びCIIPである。混合プロセス中、混合ツールの重み及びオフセットを一緒に組み合わせて、1つの単一の重み付け(ブレンド)プロセスを適用する。
【0272】
PSWツールは、2つのサブグループに分類することができる:オフセットが右シフトの後に行われるPSWツールの第1のサブグループと、オフセットが右シフトの前に行われる、PSWツールの第2のサブグループ。第1のサブグループは、BCWモード、CIIPモード、及び双方向WPを含む。第2のサブグループは、一方向WP及びLICモードを含む。
【0273】
例えば、(ai,bi,si)は、対応するサンプル予測のPSWツール「i」及びpred(x,y)に関連付けられたサンプル重み、オフセット及び右シフト値をそれぞれ示す。
【0274】
ツールi=0が、PSWツールの第1のサブグループに属するツール「0」及び「1」であるツールi=1と組み合わされる場合、予測サンプルは、以下の式で得ることができる。
pred(x,y)=((a0.a1.pred0(x,y)+a1(b0≪s0)+(1≪(s0+s1-1)))≫(s0+s1))+b1
ここで、pred0(x,y)は、DPBに記憶された、空間的にpred(x,y)に対応する基準画像のリストL0内で得られた動き補償された予測子サンプルである。この式は、一方向WPとLICモードとを組み合わせる場合に適用される。
【0275】
ツール「0」及び「1」が、PSWツールの第2のサブグループに属する場合、予測サンプルは、以下の式で得ることができる。
pred(x,y)=(a0.a1.pred0(x,y)+a1(b0≪s0)+(b1≪s0)+(1≪(s0+s1-1)))≫(s0+s1)
【0276】
この式は、双方向WPとBCWモード又は双方向WPとCIIPモード又はCIIPモードとBCWモードとを組み合わせるときに適用される。
【0277】
第1のサブグループのツールと第2のサブグループのツールとの組み合わせ、及び3つ以上のPSWツールの組み合わせについて、同様の式を導出することができる。
【0278】
例えば、一方向WP及びLICを組み合わせるとき、ツール「0」は双方向WPであり、ツール「1」はLICである。
・ a0=LumaWeightL0[refIdxL0];
・ s0=Luma_log2_weight_denom+SP;
・ b0=Luma_offset_LO[refIdxL0]≪(BitDepthY-8).
ここで、シンタックス要素LumaWeightL0、refIdxL0、Luma_log 2_weight_denom、Luma_offset_LO、BitDepthYは、JVET-O2001で定義されている。
・ a1=a;
・ s1=shift;
・ b1=b.
式中、a、b及びshiftは、上で定義したLICパラメータである。
【0279】
以上、いくつかの実施形態について説明した。これらの実施形態の特徴は、単独で、又は任意の組み合わせで提供することができる。更に、実施形態は、以下の特徴、装置、又は態様の1つ又は複数を、単独で、又は任意の組み合わせで、様々な請求項カテゴリ及び種類にわたって含むことができる。
・ WPのアクティブ化又は非アクティブ化に応じて、現在のブロックの再構成中にPSW又はOFツールを適用できるかどうかを判定すること。
・ WPのアクティブ化又は非アクティブ化に応じて、現在のブロックの再構成中にPSW又はOFツールが代替インター予測ツールに置き換えられるかどうかを判定すること。
・ 現在のブロックへのPSW又はOFツールの適用が、WPのアクティブ化又は非アクティブ化に応じて当該ツールの通常の適用に関して修正されているかどうかを判定すること。
・ 当該PSWツール及びWPの両方が現在のブロックに対して有効にされている場合、PSWツール及びWPが単一の重み付け段階でマージされるかどうかを判定すること。
・ 現在のブロックの再構成中のWP及びPSW又はOFツールの実行順序を決定すること。
・ 記載されたシンタックス要素又はそのバリエーションのうちの1つ又は複数を含むビットストリーム又は信号。
・ エンコーダによって使用される方法に対応する方法で、デコーダがPSW又はOFツールを使用してあるいは使用せずにCUを復号化することを可能にするシグナリングシンタックス要素を挿入する。
・ 記載されたシンタックス要素又はそのバリエーションのうちの1つ又は複数を含むビットストリーム又は信号を作成及び/又は送信及び/又は受信及び/又は復号化する。
・ 記載された実施形態のうちの少なくとも1つを実行するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
・ 記載された実施形態のうちの少なくとも1つを実行し、得られた画像を(例えば、モニタ、スクリーン、又は他のタイプのディスプレイを使用して)表示するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。
・ 符号化ビデオストリームを含む信号を受信するために(例えば、チューナを使用して)チャネルをチューニングし、説明した実施形態のうちの少なくとも1つを実行するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子機器。
・ 符号化ビデオストリームを含む信号を(例えば、アンテナを使用して)無線で受信し、説明した実施形態のうちの少なくとも1つを実行するテレビ、セットトップボックス、携帯電話、タブレット、又は他の電子デバイス。