(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-07-10
(54)【発明の名称】ビデオコーディング方法と装置、デバイス、システム、及び記憶媒体
(51)【国際特許分類】
H04N 19/107 20140101AFI20250703BHJP
H04N 19/176 20140101ALI20250703BHJP
H04N 19/70 20140101ALI20250703BHJP
【FI】
H04N19/107
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024576787
(86)(22)【出願日】2022-07-04
(85)【翻訳文提出日】2024-12-26
(86)【国際出願番号】 CN2022103734
(87)【国際公開番号】W WO2024007128
(87)【国際公開日】2024-01-11
(81)【指定国・地域】
(71)【出願人】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(74)【代理人】
【識別番号】100120385
【氏名又は名称】鈴木 健之
(72)【発明者】
【氏名】ワン、ファン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159TA26
5C159TA31
5C159TB08
5C159UA02
5C159UA05
(57)【要約】
本出願では、ビデオコーディング方法と装置、デバイス、システム、及び記憶媒体が提供される。本出願では、第1の重み導出モードとK個の第1の予測モードを1つの組合せとし、組合せの形態で第1の重み導出モードとK個の第1の予測モードを示す。このようにして、K個の第1の予測モードと第1の重み導出モードのそれぞれに対応するシンタックスをビットストリームに別々に伝送する必要がなくなり、符号語を節約して、コーディング効率を向上させることができる。また、本出願において、カレント成分ブロックが複数の第1成分コーディングユニット(CU)に対応し、且つ複数の第1成分CUの予測モードが完全に同じであるというわけではない場合でも、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードを精確に確定でき、さらに、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを精確に予測することができる。
【特許請求の範囲】
【請求項1】
ビデオデコーディング方法であって、
ビットストリームをデコードして、第1組合せを確定することであって、前記第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、前記Kは1より大きい正の整数である、確定することと、
前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることであって、前記カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む、得ることと、
を含む、
ことを特徴とするビデオデコーディング方法。
【請求項2】
前記ビットストリームをデコードして、第1組合せを確定することは、
前記ビットストリームをデコードして、候補組合せのリストを確定することであって、前記候補組合せのリストは少なくとも1つの候補組合せを含み、前記少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む、確定することと、
前記候補組合せのリストに基づいて前記第1組合せを確定することと、
を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記候補組合せのリストは1つの候補組合せを含み、前記候補組合せのリストに基づいて前記第1組合せを確定することは、
前記候補組合せのリストに含まれる候補組合せを、前記第1組合せとして確定すること、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記候補組合せのリストは複数の候補組合せを含み、前記候補組合せに基づいて前記第1組合せを確定することは、
前記ビットストリームをデコードして、第1インデックスを取得することであって、前記第1インデックスは前記第1組合せを示すために用いられる、取得することと、
前記候補組合せのリスト内の前記第1インデックスに対応する候補組合せを、前記第1組合せとして確定することと、
を含む、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記ビットストリームをデコードして、候補組合せのリストを確定することは、
前記ビットストリームをデコードして、前記カレント成分ブロックに対応する第1成分ブロックを確定することと、
前記第1成分ブロックに基づいて前記候補組合せのリストを構築することと、
を含む、
ことを特徴とする請求項2~4のいずれか一項に記載の方法。
【請求項6】
前記第1成分ブロックは、現在の画像内の、前記カレント成分ブロックと同じ空間内にある第1成分ブロックである、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記第1成分ブロックに基づいて前記候補組合せのリストを構築することは、
R個の第2組合せを確定することであって、前記R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、前記Rは1より大きい正の整数である、確定することと、
前記R個の第2組合せのうちのいずれか1つに対して、前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することと、
前記R個の第2組合せの各々に対応するコストに基づいて、前記候補組合せのリストを構築することと、
を含む、
ことを特徴とする請求項5に記載の方法。
【請求項8】
前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することは、
前記第2組合せに含まれる重み導出モードに基づいて、前記第1成分ブロックの重みを確定することと、
前記第2組合せにおけるK個の予測モードに基づいて前記第1成分ブロックを予測して、前記第1成分ブロックのK個の予測値を得ることと、
前記第1成分ブロックの重みに基づいて、前記第1成分ブロックのK個の予測値に対して重み付けを行って、前記第2組合せに対応する第1成分ブロックの予測値を得ることと、
前記第2組合せに対応する第1成分ブロックの予測値、及び前記第1成分ブロックの再構成値に基づいて、前記第2組合せに対応するコストを確定することと、
を含む、
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することは、
前記第2組合せにおける重み導出モードに基づいて、前記第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定することと、
前記第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び前記第1成分ブロックの再構成値に基づいて、前記第2組合せにおけるK個の予測モードの各々に対応するコストを確定することと、
前記第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、前記第2組合せに対応するコストを確定することと、
を含む、
ことを特徴とする請求項7に記載の方法。
【請求項10】
前記第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、前記第2組合せに対応するコストを確定することは、
前記第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、前記第2組合せに対応するコストとして確定すること、を含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記R個の第2組合せを確定することは、
P個の重み導出モードとQ個の予測モードを確定することであって、前記Pは正の整数であり、前記QはK以上の正の整数である、確定することと、
前記P個の重み導出モードと前記Q個の予測モードに基づいて、前記R個の第2組合せを構築することであって、前記R個の第2組合せのうちのいずれか1つは、前記P個の重み導出モードのうちの1つの重み導出モードと前記Q個の予測モードのうちのK個の予測モードとを含む、構築することと、
を含む、
ことを特徴とする請求項7~10のいずれか一項に記載の方法。
【請求項12】
前記Q個の予測モードを確定することは、
前記カレント成分ブロックの候補予測モードのリスト、前記K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定することであって、前記候補予測モードのリストは複数の候補予測モードを含み、前記K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む、確定することと、
前記候補予測モードのリスト、前記K個の予測モードの各々に対応する予備予測モードのリスト、及び前記重み導出モードに対応する予測モード、のうちの少なくとも1つに基づいて、前記Q個の予測モードを確定することと、
を含む、
ことを特徴とする請求項11に記載の方法。
【請求項13】
前記カレント成分ブロックの候補予測モードのリストを確定することは、
第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つを確定することであって、前記第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、前記第3の予測モードは、前記カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、前記第4の予測モードは、前記カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロックに使用され、前記第5の予測モードは前記カレント成分ブロックに対応する第1成分ブロックに関連する、確定することと、
前記第2の予測モード、前記第3の予測モード、前記第4の予測モード、及び前記第5の予測モードのうちの少なくとも1つに基づいて、前記カレント成分ブロックの候補予測モードのリストを確定することと、
を含む、
ことを特徴とする請求項11に記載の方法。
【請求項14】
前記カレント成分ブロックに対応する第1成分ブロックに関連する第5の予測モードを確定することは、
前記カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定することと、
前記テクスチャ方向に基づいて前記第5の予測モードを確定することと、
を含む、
ことを特徴とする請求項13に記載の方法。
【請求項15】
前記テクスチャ方向に基づいて前記第5の予測モードを確定することは、
前記テクスチャ方向に平行な予測方向を有する予測モードを、前記第5の予測モードとして確定すること、及び/又は、
前記テクスチャ方向に対して垂直な予測方向を有する予測モードを、前記第5の予測モードとして確定すること、
を含む、
ことを特徴とする請求項14に記載の方法。
【請求項16】
前記カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定することは、
テクスチャサンプル選択の予め設定された方式に基づいて、前記第1成分ブロックから複数のテクスチャサンプルを選択することと、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向を確定することと、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数を、前記第1成分ブロックのテクスチャ方向として確定することと、
を含む、
ことを特徴とする請求項14に記載の方法。
【請求項17】
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数を、前記第1成分ブロックのテクスチャ方向として確定することは、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向を、前記第1成分ブロックのテクスチャ方向として確定すること、を含む、
ことを特徴とする請求項16に記載の方法。
【請求項18】
前記P個の重み導出モードを確定することは、
M個の予め設定された重み導出モードから前記P個の重み導出モードを選択することを含み、前記MはP以上の正の整数である、
ことを特徴とする請求項10に記載の方法。
【請求項19】
前記第1の重み導出モード及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
第1のブレンディングパラメータを確定することと、
前記第1のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項1~4、6~10、12~18のいずれか一項に記載の方法。
【請求項20】
前記第1のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第1のブレンディングパラメータ及び前記第1の重み導出モードに基づいて、予測値の重みを確定することと、
前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、K個の予測値を得ることと、
前記予測値の重みに基づいて前記K個の予測値に対して重み付けを行って、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項19に記載の方法。
【請求項21】
前記第1組合せは第2のブレンディングパラメータを含み、前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第2のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ること、
を含む、
ことを特徴とする請求項1~4、6~10、12~18のいずれか一項に記載の方法。
【請求項22】
前記第2のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第2のブレンディングパラメータ及び前記第1の重み導出モードに基づいて、予測値の重みを確定することと、
前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、K個の予測値を得ることと、
前記予測値の重みに基づいて前記K個の予測値に対して重み付けを行って、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項21に記載の方法。
【請求項23】
前記第1の重み導出モードは第3のブレンディングパラメータを含み、前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第3のブレンディングパラメータ、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ること、
を含む、
ことを特徴とする請求項1~4、6~10、12~18のいずれか一項に記載の方法。
【請求項24】
前記第3のブレンディングパラメータ、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第3のブレンディングパラメータに基づいて、予測値の重みを確定することと、
前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、K個の予測値を得ることと、
前記予測値の重みに基づいて前記K個の予測値に対して重み付けを行って、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項23に記載の方法。
【請求項25】
前記方法は、
前記ビットストリームをデコードして、少なくとも1つのフラグを取得することをさらに含み、前記少なくとも1つのフラグは、前記カレント成分ブロックをデコードするために第1組合せを使用するか否かを示すために用いられ、
前記ビットストリームをデコードして、第1組合せを確定することは、
前記少なくとも1つのフラグが、前記カレント成分ブロックをデコードするために第1組合せを使用することを示す場合、前記ビットストリームをデコードして前記第1組合せを確定すること、を含む、
ことを特徴とする請求項1~4、6~10、12~18のいずれか一項に記載の方法。
【請求項26】
前記少なくとも1つのフラグは、シーケンスレベルのフラグ、画像レベルのフラグ、スライスレベルのフラグ、ユニットレベルのフラグ、及びブロックレベルのフラグのうちの少なくとも1つを含む、
ことを特徴とする請求項25に記載の方法。
【請求項27】
ビデオエンコーディング方法であって、
第1組合せを確定することであって、前記第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、前記Kは1より大きい正の整数である、確定することと、
前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることであって、前記カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む、得ることと、
を含む、
ことを特徴とするビデオエンコーディング方法。
【請求項28】
前記第1組合せを確定することは、
候補組合せのリストを確定することであって、前記候補組合せのリストは少なくとも1つの候補組合せを含み、前記少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む、確定することと、
前記候補組合せのリストに基づいて前記第1組合せを確定することと、
を含む、
ことを特徴とする請求項27に記載の方法。
【請求項29】
前記方法は、
前記候補組合せのリストが1つの候補組合せを含む場合、ビットストリームに第1インデックスをシグナリングすることをスキップすることをさらに含み、前記第1インデックスは前記第1組合せを示すために用いられる、
ことを特徴とする請求項28に記載の方法。
【請求項30】
前記方法は、
前記候補組合せのリストが複数の候補組合せを含む場合、ビットストリームに第1インデックスをシグナリングすることをさらに含み、前記第1インデックスは前記第1組合せを示すために用いられる、
ことを特徴とする請求項28に記載の方法。
【請求項31】
前記候補組合せのリストを確定することは、
前記カレント成分ブロックに対応する第1成分ブロックを確定することと、
前記第1成分ブロックに基づいて前記候補組合せのリストを構築することと、
を含む、
ことを特徴とする請求項28~30のいずれか一項に記載の方法。
【請求項32】
前記第1成分ブロックは、現在の画像内の、前記カレント成分ブロックと同じ空間内にある第1成分ブロックである、
ことを特徴とする請求項31に記載の方法。
【請求項33】
前記第1成分ブロックに基づいて前記候補組合せのリストを構築することは、
R個の第2組合せを確定することであって、前記R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、前記Rは1より大きい正の整数である、確定することと、
前記R個の第2組合せのうちのいずれか1つに対して、前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することと、
前記R個の第2組合せの各々に対応するコストに基づいて、前記候補組合せのリストを構築することと、
を含む、
ことを特徴とする請求項31に記載の方法。
【請求項34】
前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することは、
前記第2組合せに含まれる重み導出モードに基づいて、前記第1成分ブロックの重みを確定することと、
前記第2組合せにおけるK個の予測モードに基づいて前記第1成分ブロックを予測して、前記第1成分ブロックのK個の予測値を得ることと、
前記第1成分ブロックの重みに基づいて、前記第1成分ブロックのK個の予測値に対して重み付けを行って、前記第2組合せに対応する第1成分ブロックの予測値を得ることと、
前記第2組合せに対応する第1成分ブロックの予測値、及び前記第1成分ブロックの再構成値に基づいて、前記第2組合せに対応するコストを確定することと、
を含む、
ことを特徴とする請求項33に記載の方法。
【請求項35】
前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することは、
前記第2組合せにおける重み導出モードに基づいて、前記第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定することと、
前記第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び前記第1成分ブロックの再構成値に基づいて、前記第2組合せにおけるK個の予測モードの各々に対応するコストを確定することと、
前記第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、前記第2組合せに対応するコストを確定することと、
を含む、
ことを特徴とする請求項33に記載の方法。
【請求項36】
前記第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、前記第2組合せに対応するコストを確定することは、
前記第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、前記第2組合せに対応するコストとして確定すること、を含む、
ことを特徴とする請求項35に記載の方法。
【請求項37】
前記R個の第2組合せを確定することは、
P個の重み導出モードとQ個の予測モードを確定することであって、前記Pは正の整数であり、前記QはK以上の正の整数である、確定することと、
前記P個の重み導出モードと前記Q個の予測モードに基づいて、前記R個の第2組合せを構築することであって、前記R個の第2組合せのうちのいずれか1つは、前記P個の重み導出モードのうちの1つの重み導出モードと前記Q個の予測モードのうちのK個の予測モードとを含む、構築することと、
を含む、
ことを特徴とする請求項33~36のいずれか一項に記載の方法。
【請求項38】
前記Q個の予測モードを確定することは、
前記カレント成分ブロックの候補予測モードのリスト、前記K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定することであって、前記候補予測モードのリストは複数の候補予測モードを含み、前記K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む、確定することと、
前記候補予測モードのリスト、前記K個の予測モードの各々に対応する予備予測モードのリスト、及び前記重み導出モードに対応する予測モード、のうちの少なくとも1つに基づいて、前記Q個の予測モードを確定することと、
を含む、
ことを特徴とする請求項37に記載の方法。
【請求項39】
前記カレント成分ブロックの候補予測モードのリストを確定することは、
第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つを確定することであって、前記第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、前記第3の予測モードは、前記カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、前記第4の予測モードは、前記カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロックに使用され、前記第5の予測モードは前記カレント成分ブロックに対応する第1成分ブロックに関連する、確定することと、
前記第2の予測モード、前記第3の予測モード、前記第4の予測モード、及び前記第5の予測モードのうちの少なくとも1つに基づいて、前記カレント成分ブロックの候補予測モードのリストを確定することと、
を含む、
ことを特徴とする請求項11に記載の方法。
【請求項40】
前記カレント成分ブロックに対応する第1成分ブロックに関連する第5の予測モードを確定することは、
前記カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定することと、
前記テクスチャ方向に基づいて前記第5の予測モードを確定することと、
を含む、
ことを特徴とする請求項39に記載の方法。
【請求項41】
前記テクスチャ方向に基づいて前記第5の予測モードを確定することは、
前記テクスチャ方向の角度に平行な予測モードを、前記第5の予測モードとして確定すること、及び/又は、
前記テクスチャ方向の角度に対して垂直な予測モードを、前記第5の予測モードとして確定すること、
を含む、
ことを特徴とする請求項40に記載の方法。
【請求項42】
前記カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定することは、
テクスチャサンプル選択の予め設定された方式に基づいて、前記第1成分ブロックから複数のテクスチャサンプルを選択することと、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向を確定することと、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数を、前記第1成分ブロックのテクスチャ方向として確定することと、
を含む、
ことを特徴とする請求項40に記載の方法。
【請求項43】
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数を、前記第1成分ブロックのテクスチャ方向として確定することは、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向を、前記第1成分ブロックのテクスチャ方向として確定すること、を含む、
ことを特徴とする請求項42に記載の方法。
【請求項44】
前記P個の重み導出モードを確定することは、
M個の予め設定された重み導出モードから前記P個の重み導出モードを選択することを含み、前記MはP以上の正の整数である、
ことを特徴とする請求項37に記載の方法。
【請求項45】
前記第1の重み導出モード及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
第1のブレンディングパラメータを確定することと、
前記第1のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項27~30、32~36、38~44のいずれか一項に記載の方法。
【請求項46】
前記第1のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第1のブレンディングパラメータ及び前記第1の重み導出モードに基づいて、予測値の重みを確定することと、
前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、K個の予測値を得ることと、
前記予測値の重みに基づいて前記K個の予測値に対して重み付けを行って、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項45に記載の方法。
【請求項47】
前記第1組合せは第2のブレンディングパラメータを含み、前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第2のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ること、
を含む、
ことを特徴とする請求項27~30、32~36、38~44のいずれか一項に記載の方法。
【請求項48】
前記第2のブレンディングパラメータ、前記第1の重み導出モード、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第2のブレンディングパラメータ及び前記第1の重み導出モードに基づいて、予測値の重みを確定することと、
前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、K個の予測値を得ることと、
前記予測値の重みに基づいて前記K個の予測値に対して重み付けを行って、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項47に記載の方法。
【請求項49】
前記第1の重み導出モードは第3のブレンディングパラメータを含み、前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第3のブレンディングパラメータ、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ること、
を含む、
ことを特徴とする請求項27~30、32~36、38~44のいずれか一項に記載の方法。
【請求項50】
前記第3のブレンディングパラメータ、及び前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることは、
前記第3のブレンディングパラメータに基づいて、予測値の重みを確定することと、
前記K個の第1の予測モードに基づいて前記カレント成分ブロックを予測して、K個の予測値を得ることと、
前記予測値の重みに基づいて前記K個の予測値に対して重み付けを行って、前記カレント成分ブロックの予測値を得ることと、
を含む、
ことを特徴とする請求項49に記載の方法。
【請求項51】
前記方法は、
少なくとも1つのフラグを確定することをさらに含み、前記少なくとも1つのフラグは、前記カレント成分ブロックをデコードするために第1組合せを使用するか否かを示すために用いられ、
前記第1組合せを確定することは、
前記少なくとも1つのフラグが、前記カレント成分ブロックをデコードするために第1組合せを使用することを示す場合、前記第1組合せを確定すること、を含む、
ことを特徴とする請求項27~30、32~36、38~44のいずれか一項に記載の方法。
【請求項52】
前記少なくとも1つのフラグは、シーケンスレベルのフラグ、画像レベルのフラグ、スライスレベルのフラグ、ユニットレベルのフラグ、及びブロックレベルのフラグのうちの少なくとも1つを含む、
ことを特徴とする請求項51に記載の方法。
【請求項53】
ビデオデコーディング装置であって、
デコーディングユニット及び予測ユニットを備え、
前記デコーディングユニットは、ビットストリームをデコードして、第1組合せを確定するように構成されており、前記第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、前記Kは1より大きい正の整数であり、
前記予測ユニットは、前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得るように構成されている、
ことを特徴とするビデオデコーディング装置。
【請求項54】
ビデオエンコーディング装置であって、
確定ユニット及び予測ユニットを備え、
前記確定ユニットは、第1組合せを確定するように構成されており、前記第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、前記Kは1より大きい正の整数であり、
前記予測ユニットは、前記第1の重み導出モード及び前記K個の第1の予測モードに基づいてカレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得るように構成されている、
ことを特徴とするビデオエンコーディング装置。
【請求項55】
プロセッサとメモリとを備える電子デバイスであって、
前記メモリーは、コンピュータプログラムを記憶するように構成されており、
前記プロセッサは、前記メモリに記憶されたコンピュータプログラムを呼び出して実行することにより、請求項1~26のいずれか一項に記載の方法、又は請求項27~52のいずれか一項に記載の方法を実現するように構成されている、
ことを特徴とする電子デバイス。
【請求項56】
ビデオコーディングシステムであって、
ビデオエンコーダー及びビデオデコーダーを含み、
前記ビデオデコーダーは、請求項1~26のいずれか一項に記載の方法を実現するように構成されており、
前記ビデオエンコーダーは、請求項27~52のいずれか一項に記載の方法を実現するように構成されている、
ことを特徴とするビデオコーディングシステム。
【請求項57】
コンピュータ可読記憶媒体であって、
前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶するように構成されており、
前記コンピュータプログラムは、コンピュータに請求項1~26のいずれか一項に記載の方法、又は請求項27~52のいずれか一項に記載の方法を実行させる、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項58】
請求項27~52のいずれか一項に記載の方法に基づいて生成される、
ことを特徴とするビットストリーム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ビデオコーディングの技術分野に関し、特にビデオコーディング方法と装置、デバイス、システム、及び記憶媒体に関する。
【背景技術】
【0002】
デジタルビデオ技術は、デジタルテレビ、スマートフォン、コンピュータ、電子リーダー、又はビデオプレーヤなどの様々なビデオ装置に組み込まれることができる。ビデオ技術の発展に伴い、ビデオデータのデータ量が大きくなっている。ビデオデータの伝送を容易にするために、ビデオ装置がビデオ圧縮技術を利用することにより、ビデオデータがより効果的に伝送され又は記憶される。
【0003】
ビデオには時間的又は空間的な冗長性が存在するため、予測によってビデオにおける冗長性を除去又は低減し、圧縮効率を向上させることができる。現在、予測効果を向上させるために、複数の予測モードを使用して現在ブロックを予測することができる。しかし、複数の予測モードを使用して現在ブロックを予測する場合、比較的多くの情報がビットストリームにおいて伝送される必要があり、その結果、コーディングコストが増加する。
【発明の概要】
【0004】
本出願の実施形態では、ビデオコーディング方法と装置、デバイス、システム、及び記憶媒体が提供される。それによって、コーディングコストを低減することができる。
【0005】
第一様態において、本出願では、デコーダーに適用されるビデオデコーディング方法が提供される。当該方法は以下の内容を含む。ビットストリームをデコードして、第1組合せを確定する。第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、Kは1より大きい正の整数である。第1の重み導出モード及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む。
【0006】
第二様態において、本出願の実施形態では、ビデオエンコーディング方法が提供される。当該方法は以下の内容を含む。第1組合せを確定する。第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、Kは1より大きい正の整数である。第1の重み導出モード及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む。
【0007】
第三様態において、本出願ではビデオデコーディング装置が提供される。当該装置は、上記第一様態又はその各実施形態における方法を実行するように構成されている。具体的に、当該装置は、上記第一様態又はその各実施形態における方法を実行するように構成された機能ユニットを備える。
【0008】
第四様態において、本出願ではビデオエンコーディング装置が提供される。当該装置は、上記第二様態又はその各実施形態における方法を実行するように構成されている。具体的に、当該装置は、上記第二様態又はその各実施形態における方法を実行するように構成された機能ユニットを備える。
【0009】
第五様態において、ビデオデコーダーが提供される。当該ビデオデコーダーは、プロセッサ及びメモリを備える。当該メモリは、コンピュータプログラムを記憶するように構成されている。当該プロセッサは、当該メモリに記憶されたコンピュータプログラムを呼び出して実行することにより、上記第一様態又はその各実施形態における方法を実行するように構成されている。
【0010】
第六様態において、ビデオエンコーダーが提供される。当該ビデオエンコーダーは、プロセッサ及びメモリを備える。当該メモリは、コンピュータプログラムを記憶するように構成されている。当該プロセッサは、当該メモリに記憶されたコンピュータプログラムを呼び出して実行することにより、上記第二様態又はその各実施形態における方法を実行するように構成されている。
【0011】
第七様態において、ビデオコーディングシステムが提供される。当該ビデオコーディングシステムは、ビデオエンコー及びビデオデコーダーを含む。当該ビデオデコーダーは、上記第一様態又はその各実施形態における方法を実行するように構成されている。当該ビデオエンコーダーは、上記第二様態又はその各実施形態における方法を実行するように構成されている。
【0012】
第八様態において、チップが提供される。当該チップは、上記第一様態もしくは第二様態、又は第一様態もしくは第二様態の各実施形態における方法を実行するように構成されている。具体的に、当該チップはプロセッサを含み、当該プロセッサは、メモリからコンピュータプログラムを呼び出して実行することにより、当該チップが装着されたデバイスに、上記第一様態もしくは第二様態、又は第一様態もしくは第二様態の各実施形態における方法を実行させるように構成されている。
【0013】
第九様態において、コンピュータ可読記憶媒体が提供される。当該コンピュータ可読記憶媒体は、コンピュータプログラムを記憶するように構成されており、当該コンピュータプログラムは、コンピュータに上記第一様態もしくは第二様態、又は第一様態もしくは第二様態の各実施形態における方法を実行させる。
【0014】
第十様態において、コンピュータプログラム製品が提供される。当該コンピュータプログラム製品は、コンピュータプログラム命令を含み、当該コンピュータプログラム命令は、コンピュータに上記第一様態もしくは第二様態、又は第一様態もしくは第二様態の各実施形態における方法を実行させるように構成されている。
【0015】
第十一様態において、コンピュータプログラムが提供される。当該コンピュータプログラムは、コンピュータで実行される場合、コンピュータに上記第一様態もしくは第二様態、又は第一様態もしくは第二様態の各実施形態における方法を実行させるように構成されている。
【0016】
第十二様態において、ビットストリームが提供される。当該ビットストリームは、上記第二様態の方法に基づいて生成される。選択的に、上記ビットストリームは第1インデックスを含む。第1インデックスは、1つの重み導出モードとK個の予測モードからなる第1組合せを示すために用いられ、Kは1より大きい正の整数である。
【0017】
上記技術案に基づいて、本出願では、第1の重み導出モードとK個の第1の予測モードを1つの組合せとし、組合せの形態で第1の重み導出モードとK個の第1の予測モードを示す。このようにして、K個の第1の予測モードと第1の重み導出モードのそれぞれに対応するシンタックスをビットストリームにおいて別々に伝送する必要がなくなり、符号語を節約して、コーディング効率を向上させることができる。また、本出願の実施形態において、カレント成分ブロック(current-component block)が複数の第1成分コーディングユニット(coding unit、CU)に対応し、且つ複数の第1成分CUの予測モードが完全に同じであるというわけではない場合でも、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードを精確に確定でき、さらに、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを精確に予測することができる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、本出願の実施形態に係るビデオコーディングシステムを示すブロック図である。
【
図2】
図2は、本出願の実施形態に係るビデオエンコーダーを示すブロック図である。
【
図3】
図3は、本出願の実施形態に係るビデオデコーダーを示すブロック図である。
【
図4】
図4は、重みの割り当てを示す概略図である。
【
図5】
図5は、重みの割り当てを示す概略図である。
【
図6B】
図6Bは、重み付けインター予測を示す概略図である。
【
図9】
図9は、イントラ予測モードを示す概略図である。
【
図12】
図12は行列に基づいたイントラ予測(MIP)を示す概略図である。
【
図14】
図14は、第1成分ブロックのマッチングを示す概略図である。
【
図15】
図15は、本出願の実施形態に係るクロス成分線形モデル(CCLM)の原理を示す概略図である。
【
図16】
図16は、本出願の実施形態に係るビデオデコーディング方法を示すフローチャートである。
【
図17E】
図17Eは、コーディングツリーユニット(CTU)分割を示す概略図である。
【
図17F】
図17Fは、本出願の実施形態に係る輝度成分及び彩度成分のブロック分割方式を示す概略図である。
【
図18】
図18は、本出願の実施形態に係るカレント成分ブロック及び特定位置にあるブロックを示す概略図である。
【
図20】
図20は、本出願の実施形態に係るビデオエンコーディング方法を示すフローチャートである。
【
図21】
図21は、本出願の実施形態に係るビデオデコーディング装置を示すブロック図である。
【
図22】
図22は、本出願の実施形態に係るビデオエンコーディング装置を示すブロック図である。
【
図23】
図23は、本出願の実施形態に係る電子デバイスを示すブロック図である。
【
図24】
図24は、本出願の実施形態に係るビデオコーディングシステムを示すブロック図である。
【発明を実施するための形態】
【0019】
本出願は、画像コーディング分野、ビデオコーディング分野、ハードウェアビデオコーディング分野、専用回路ビデオコーディング分野、リアルタイムビデオコーディング分野などに適用可能である。例えば、本出願の技術案は、オーディオ・ビデオコーディング規格(audio video coding standard、AVS)に組合せられることが可能であり、AVSの例として、H.264/オーディオ・ビデオコーディング(audio video coding、AVC)規格、H.265/高効率ビデオコーディング(high efficiency video coding、HEVC)規格、及びH.266/多用途ビデオコーディング(versatile video coding、VVC)規格が挙げられる。又は、本出願の技術案は、他の専用の規格又は業界規格に組合せられることが可能であり、上記規格は、ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262又はISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(ISO/IECMPEG-4AVCとも呼ばれる)を含み、スケーラブルビデオコーディング(scalable video coding、SVC)、及びマルチビュービデオコーディング(multi-view video coding、MVC)拡張を含む。なお、本出願の技術は、特定のコーディング規格又は技術に限定されない。
【0020】
理解を容易にするため、まず
図1を参照しながら、本出願の実施形態に係るビデオコーディングシステムを紹介する。
【0021】
図1は、本出願の実施形態に係るビデオコーディングシステムを示すブロック図である。
図1は一例にすぎず、本出願の実施形態に係るビデオコーディングシステムは
図1に示されるものを含むが、それに限定されない。
図1に示されるように、当該ビデオコーディングシステム100は、エンコーディング装置110及びデコーディング装置120を含む。エンコーディング装置は、ビデオデータをエンコード(圧縮と理解されてもよい)してビットストリームを生成し、且つビットストリームをデコーディング装置に伝送するように構成されている。デコーディング装置は、エンコーディング装置によって生成されたビットストリームをデコードし、デコードされたビデオデータを得るように構成されている。
【0022】
本出願の実施形態に係るエンコーディング装置110は、ビデオエンコーディング機能を有する装置であると理解されることができ、デコーディング装置120は、ビデオデコーディング機能を有する装置であると理解されることができる。即ち、本出願の実施形態に係るエンコーディング装置110及びデコーディング装置120は、より広範な装置を含み、例えば、スマートフォン、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス(set top box、STB)、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータなどを含む。
【0023】
いくつかの実施形態において、エンコーディング装置110は、エンコードされたビデオデータ(例えば、ビットストリーム)をチャネル130を介してデコーディング装置120に伝送することができる。チャネル130は、エンコードされたビデオデータをエンコーディング装置110からデコーディング装置120に伝送することができる1つ又は複数の媒体及び/又は装置を含むことができる。
【0024】
一例において、チャネル130は、エンコーディング装置110にエンコードされたビデオデータをリアルタイムでデコーディング装置120に直接に送信させることを可能にする1つ又は複数の通信媒体を含む。この例では、エンコーディング装置110は、通信規格に従ってエンコードされたビデオデータを変調し、変調されたビデオデータをデコーディング装置120に送信することができる。通信媒体は、無線周波数スペクトルなどの無線通信媒体を含む。選択的に、通信媒体は、1つ又は複数の物理的伝送線路などの有線通信媒体含むこともできる。
【0025】
別の例において、チャネル130は記憶媒体を含む。当該記憶媒体は、エンコーディング装置110によってエンコードされたビデオデータを記憶することができる。記憶媒体は、様々なローカルにアクセス可能なデータ記憶媒体を含み、例えば、光ディスク、デジタル多用途ディスク(digital versatile disc、DVD)、フラッシュメモリなどが挙げられる。この例では、デコーディング装置120は、当該記憶媒体からエンコードされたビデオデータを取得することができる。
【0026】
別の例において、チャネル130はストレージサーバを含むことができ、当該ストレージサーバは、エンコーディング装置110によってエンコードされたビデオデータを記憶することができる。この例では、デコーディング装置120は、当該ストレージサーバに記憶されている、エンコードされたビデオデータを当該ストレージサーバからダウンロードすることができる。選択的に、当該ストレージサーバは、エンコードされたビデオデータを記憶し、且つ当該エンコードされたビデオデータをデコーディング装置120に送信することができ、当該ストレージサーバの例としては、ウェブサーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(file transfer protocol、FTP)サーバなどが挙げられる。
【0027】
いくつかの実施形態において、エンコーディング装置110は、ビデオエンコーダー112及び出力インタフェース113を含む。出力インタフェース113は、変調器/復調器(モデム)及び/又は送信器を含むことができる。
【0028】
いくつかの実施形態において、エンコーディング装置110は、ビデオエンコーダー112及び出力インタフェース113に加えて、ビデオソース(video source)111をさらに含むことができる。
【0029】
ビデオソース111は、ビデオ収集装置(例えば、ビデオカメラ)、ビデオアーカイブ(video archive)、ビデオ入力インターフェース、及びコンピュータグラフィクスシステム(computer graphics system)のうちの少なくとも1つを含むことができる。ビデオ入力インターフェースは、ビデオコンテンツプロバイダからビデオデータを受信ように構成されており、コンピュータグラフィックスシステムは、ビデオデータを生成するように構成されている。
【0030】
ビデオエンコーダー112は、ビデオソース111からのビデオデータをエンコードすることにより、ビットストリームを生成する。ビデオデータは、1つもしくは複数の画像(picture)又は画像シーケンス(sequence of pictures)含むことができる。ビットストリームは、画像又は画像シーケンスのエンコーディング情報を含む。エンコーディング情報は、エンコーディング画像データ及び関連データを含むことができる。関連データは、シーケンスパラメータセット(sequence parameter set、SPSと略称)、画像パラメータセット(picture parameter set、PPSと略称)、及び他のシンタックス構造を含むことができる。SPSは、1つ又は複数のシーケンスに適用されるパラメータを含むことができ、PPSは、1つ又は複数の画像に適用されるパラメータを含むことができる。シンタックス構造は、ビットストリームにおける、指定された順序で配列される0又は複数のシンタックス要素の集合である。
【0031】
ビデオエンコーダー112は、エンコードされたビデオデータを、出力インターフェース113を介してデコーディング装置120に直接に伝送する。エンコードされたビデオデータは、後続にデコーディング装置120によって読み取られるように、記憶媒体又はストレージサーバに記憶されることもできる。
【0032】
いくつかの実施形態において、デコーディング装置120は、入力インタフェース121及びビデオデコーダー122を含む。
【0033】
いくつかの実施形態において、デコーディング装置120は、入力インタフェース121及びビデオデコーダー122に加えて、表示装置123をさらに含むことができる。
【0034】
入力インターフェース121は、受信器及び/又はモデムを含む。入力インターフェース121は、チャネル130を介してエンコードされたビデオデータを受信することができる。
【0035】
ビデオデコーダー122は、エンコードされたビデオデータをデコードすることにより、デコードされたビデオデータを取得し、且つデコードされたビデオデータを表示装置123に伝送するように構成されている。
【0036】
表示装置123は、デコードされたビデオデータを表示する。表示装置123は、デコーディング装置120に内蔵されてもよく、又は、デコーディング装置120の外部に設けられてもよい。表示装置123は、多種の表示装置を含むことができ、例えば、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ(plasma display)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、又は他の種類の表示装置が挙げられる。
【0037】
また、
図1は一例にすぎず、本出願の実施形態の技術案は
図1に限定されるものではなく、例えば、本出願の技術は、片側のビデオエンコーディング又は片側のビデオデコーディングにも適用可能である。
【0038】
以下、本出願の実施形態に係るビデオエンコーディング・フレームワークについて説明する。
【0039】
図2は、本出願の実施形態に係るビデオエンコーダーを示すブロック図である。当該ビデオエンコーダー200は、画像に対して非可逆圧縮(lossy compression)又は可逆圧縮(lossless compression)を行うように構成されることができる。当該可逆圧縮は、視覚的可逆圧縮(visually lossless compression)であってもよく、数学的可逆圧縮(mathematically lossless compression)であってもよい。
【0040】
当該ビデオエンコーダー200は、輝度―彩度(YCbCr,YUV)フォーマットの画像データに適用可能である。例えば、YUVの比率は、4:2:0、4:2:2、又は4:4:4であることができ、Yは輝度(luma)を示し、Cb(U)は青色彩度を示し、Cr(V)は赤色彩度を示し、U、Vは、色及び飽和度を記述するための彩度(chroma)を示す。例えば、色フォーマットでは、4:2:0は、4つの画素ごとに4つの輝度成分、及び2つの彩度成分(YYYYCbCr)を有することを示し、4:2:2は、4つの画素ごとに4つの輝度成分、及び4つの彩度成分(YYYYCbCrCbCr)を有することを示し、4:4:4は、全画素表示(YYYYCbCrCbCrCbCrCbCr)を示す。
【0041】
例えば、当該ビデオエンコーダー200はビデオデータを読み取り、ビデオデータにおける各画像に対して、各画像をいくつかのコーディングツリーユニット(coding tree unit、CTU)に分割する。いくつかの例では、CTUは「ツリーブロック」、「最大コーディングユニット(largest coding unit、LCU)」又は「コーディングツリーブロック(coding tree block、CTB)」と呼ばれることができる。各CTUは、画像内のCTUと同じサイズを有する画素ブロックに関連付けられることができ、各画素は、1つの輝度(luminance又はluma)サンプル、及び2つの彩度(chrominance又はchroma)サンプルに対応することができる。そのため、各CTUは、1つの輝度サンプルブロック及び2つの彩度サンプルブロックに関連付けられることができる。CTUのサイズは、例えば、128×128、64×64、32×32などである。CTUは、エンコードされるように、いくつかのコーディングユニット(coding unit、CU)に引き続き分割されることができる。CUは、矩形のブロックであってもよく、方形のブロックであってもよい。CUは、さらに予測ユニット(prediction unit、PUと略称)及び変換ユニット(transform unit、TUと略称)に分割されることができ、その結果、エンコーディング、予測及び変換が分離され、処理を柔軟にすることができる。一例において、CTUは、四分木方式でCUに分割され、CUは、四分木方式でTU、PUに分割される。
【0042】
ビデオエンコーダー及びビデオデコーダーは、様々なPUサイズをサポートすることができる。特定のCUのサイズが2N×2Nであると仮定し、ビデオエンコーダー及びビデオデコーダーは、イントラ予測のために、2N×2N又はN×NのPUサイズをサポートし、また、インター予測のために、2N×2N、2N×N、N×2N、N×N又は類似のサイズを有する対称なPUをサポートすることができる。ビデオエンコーダー及びビデオデコーダーはさらに、インター予測のために、2N×nU、2N×nD、nL×2N及びnR×2Nのサイズを有する非対称なPUをサポートすることもできる。
【0043】
いくつかの実施形態において、
図2に示されるように、当該ビデオエンコーダー200は、予測ユニット210、残差ユニット220、変換/量子化ユニット230、逆変換/量子化ユニット240、再構成ユニット250、ループフィルタリングユニット(loop filtering unit)260、デコーディング画像バッファ270及びエントロピーエンコーディングユニット280を含むことができる。なお、ビデオエンコーダー200は、より多くの、より少ない、又は異なる機能ユニットを含んでもよい。
【0044】
選択的に、本出願では、現在ブロック(current block)は、現在CU又は現在PUなどと呼ばれてもよい。予測ブロックは、予測画像ブロック又は画像予測ブロックと呼ばれてもよい。再構成画像ブロックは、再構成ブロック又は画像再構成ブロックと呼ばれてもよい。
【0045】
いくつかの実施形態において、予測ユニット210は、インター予測ユニット211及びイントラ予測ユニット212を含む。ビデオ画像(video picture)における隣接サンプル間に強い関連性があるため、ビデオコーディング技術において、イントラ予測の方法を利用して隣接サンプル間の空間的な冗長性を解消する。ビデオにおける隣接画像間に類似性が強いため、ビデオコーディング技術において、インター予測方法を利用して隣接画像間の時間的な冗長性を解消し、コーディング効率を向上させる。
【0046】
インター予測ユニット211は、インター予測のために用いられることができる。インター予測は、動き推定(motion estimation)及び動き補償(motion compensation)を含み得、インター予測では、異なる画像の画像情報を参照可能であり、動き情報を利用して参照画像から参照ブロックを見つけ、参照ブロックに基づいて予測ブロックを生成することにより、時間的な冗長性を解消する。インター予測に用いられる画像は、Pフレーム及び/又はBフレームであることができる。Pフレームは前方向予測画像を指し、Bフレームは双方向予測画像を指す。インター予測では、動き情報を利用して参照画像から参照ブロックを見つけ、参照ブロックに基づいて予測ブロックを生成する。動き情報は、参照画像を含む参照画像リスト、参照画像インデックス、動きベクトルを含む。動きベクトルは、整数サンプル動きベクトル(integer-sample motion vector)又は分数サンプル動きベクトル(fractional-sample motion vector)であることができる。動きベクトルが分数サンプル動きベクトルである場合、必要な分数サンプルブロックを生成するように、参照画像に補間フィルターを利用する必要がある。動きベクトルに基づいて見つけられた、参照画像における整数サンプルブロック又は分数サンプルブロックが参照ブロックと呼ばれる。参照ブロックをそのまま予測ブロックとする技術があり、参照ブロックに基づいて処理して予測ブロックを生成する技術もある。参照ブロックに基づいて処理して予測ブロックを生成することは、参照ブロックを予測ブロックとし、次に予測ブロックに基づいて処理して新しい予測ブロックを生成することであると理解されることもできる。
【0047】
イントラ予測ユニット212は、空間的な冗長性を解消するために、同一画像の情報のみを参照することにより、現在画像ブロック内のサンプル情報を予測する。イントラ予測に用いられる画像は、Iフレームであってもよい。
【0048】
イントラ予測は様々な予測モードを含み、国際デジタルビデオコーディング規格Hシリーズを例として、H.264/AVC規格は8種の角度予測モードと1種の非角度予測モードを含み、H.265/HEVCは33種の角度予測モードと2種の非角度予測モードに拡張されている。HEVCに用いられるイントラ予測モードは、平面モード(Planar)、DC(Direct Current)及び33種の角度モード、合計で35種の予測モードを含む。VVCに用いられるイントラモードは、Planar、DC及び65種の角度モード、合計で67種の予測モードを含む。
【0049】
なお、角度モードの数の増加に伴い、イントラ予測がより精確になり、高解像度及び超高解像度デジタルビデオの発展のニーズにもより適合する。
【0050】
残差ユニット220は、CUのサンプルブロック及びCUのPUの予測ブロックに基づいて、CUの残差ブロックを生成することができる。例えば、残差ユニット220は、残差ブロックにおける各サンプルが、CUのサンプルブロックにおけるサンプルとCUのPUの予測ブロックにおける対応のサンプルとの差分に等しくなるように、CUの残差ブロックを生成することができる。
【0051】
変換/量子化ユニット230は、変換係数を量子化することができる。変換/量子化ユニット230は、CUに関連付けられた量子化パラメータ(quantization parameter、QP)値に基づいて、CUのTUに関連付けられた変換係数を量子化することができる。ビデオエンコーダー200は、CUに関連付けられたQP値を調整することで、CUに関連付けられた変換係数に応用される量子化の度合いを調整することができる。
【0052】
逆変換/量子化ユニット240は、量子化された変換係数に逆量子化及び逆変換をそれぞれ応用することで、量子化された変換係数から残差ブロックを再構成することができる。
【0053】
再構成ユニット250は、再構成された残差ブロックにおけるサンプルを予測ユニット210により生成された1つ又は複数の予測ブロックにおける対応サンプルに加算することで、TUに関連付けられた再構成画像ブロックを生成することができる。このように、CUの各TUのサンプルブロックを再構成することにより、ビデオエンコーダー200はCUのサンプルブロックを再構成することができる。
【0054】
ループフィルタリングユニット260は、逆変換及び逆量子化されたサンプルを処理して歪み情報を補償し、後続のサンプルのエンコーディングにより良い参考を提供する。例えば、ループフィルタリングユニット260は、CUに関連付けられたサンプルブロックのブロックアーチファクト(blocking artifact)を低減するように、デブロッキングフィルタリング(deblocking filtering)処理を実行することができる。
【0055】
いくつかの実施形態において、ループフィルタリングユニット260は、デブロッキングフィルタリングユニット、及びサンプル適応オフセット(sample adaptive offset、SAO)/適応ループフィルタリング(adaptive loop filtering、ALF)ユニットを含み、デブロッキングフィルタリングユニットは、デブロッキングのために用いられ、SAO/ALFユニットは、リンギング効果(ringing effect)を除去するために用いられる。
【0056】
デコーディング画像バッファ270は、再構成サンプルブロックを記憶することができる。インター予測ユニット211は、再構成サンプルブロックを含む参照画像を利用して、他の画像のPUに対してインター予測を行うことができる。また、イントラ予測ユニット212は、デコーディング画像バッファ270における再構成サンプルブロックを利用して、CUと同じである画像における他のPUに対してイントラ予測を行うことができる。
【0057】
エントロピーエンコーディングユニット280は、変換/量子化ユニット230から量子化された変換係数を受信することができる。エントロピーエンコーディングユニット280は、量子化された変換係数に対して1つ又は複数のエントロピーコーディング処理を実行することにより、エントロピーコードされたデータを生成することができる。
【0058】
図3は、本出願の実施形態に係るビデオデコーダーを示すブロック図である。
【0059】
図3に示されるように、ビデオデコーダー300は、エントロピーデコーディングユニット310、予測ユニット320、逆量子化/変換ユニット330、再構成ユニット340、ループフィルタリングユニット350及びデコーディング画像バッファ360を含む。なお、ビデオデコーダー300は、より多くの、より少ない、又は異なる機能ユニットを含んでもよい。
【0060】
ビデオデコーダー300は、ビットストリームを受信することができる。エントロピーデコーディングユニット310は、ビットストリームを解析することにより、ビットストリームからシンタックス要素を抽出することができる。ビットストリームの解析の一部として、エントロピーデコーディングユニット310は、ビットストリームにおける、エントロピーコードされたシンタックス要素を解析することができる。予測ユニット320、逆量子化/変換ユニット330、再構成ユニット340及びループフィルタリングユニット350は、ビットストリームから抽出されたシンタックス要素に基づいてビデオデータをデコードし、即ち、デコードされたビデオデータを生成することができる。
【0061】
いくつかの実施形態において、予測ユニット320は、イントラ予測ユニット322及びインター予測ユニット321を含む。
【0062】
イントラ予測ユニット322は、イントラ予測を行うことによりPUの予測ブロックを生成することができる。イントラ予測ユニット322は、イントラ予測モードを使用して、空間的に隣接するPUのサンプルブロックに基づいてPUの予測ブロックを生成することができる。イントラ予測ユニット322はさらに、ビットストリームから解析された1つ又は複数のシンタックス要素に基づいて、PUのイントラ予測モードを確定することができる。
【0063】
インター予測ユニット321は、ビットストリームから解析されたシンタックス要素に基づいて、第1参照画像リスト(リスト0)及び第2参照画像リスト(リスト1)を構築することができる。また、PUがインター予測でエンコードされる場合、エントロピーデコーディングユニット310は、PUの動き情報を解析することができる。インター予測ユニット321は、PUの動き情報に基づいて、PUの1つ又は複数の参照ブロックを確定することができる。インター予測ユニット321は、PUの1つ又は複数の参照ブロックに基づいて、PUの予測ブロックを生成することができる。
【0064】
逆量子化/変換ユニット330は、TUに関連付けられた変換係数を逆量子化(即ち、脱量子化)することができる。逆量子化/変換ユニット330は、TUのCUに関連付けられたQP値を利用して、量子化の度合いを確定することができる。
【0065】
変換係数を逆量子化した後、逆量子化/変換ユニット330は、1つ又は複数の逆変換を逆量子化された変換係数に応用することで、TUに関連付けられた残差ブロックを生成することができる。
【0066】
再構成ユニット340は、CUのTUに関連付けられた残差ブロック及びCUのPUの予測ブロックを利用して、CUのサンプルブロックを再構成する。例えば、再構成ユニット340は、残差ブロックにおけるサンプルを予測ブロックにおける対応サンプルに加算することにより、CUのサンプルブロックを再構成し、再構成画像ブロックを取得することができる。
【0067】
ループフィルタリングユニット350は、CUに関連付けられたサンプルブロックのブロックアーチファクトを低減するように、デブロッキングフィルタリング処理を実行することができる。
【0068】
ビデオデコーダー300は、CUの再構成画像をデコーディング画像バッファ360に記憶することができる。ビデオデコーダー300は、デコーディング画像バッファ360における再構成画像を参照画像として後続の予測に用い、又は、再構成画像を表示装置に伝送して表示することができる。
【0069】
ビデオコーディングの基本的な流れは、以下の通りである。エンコーディング側では、1つの画像(フレーム)がブロックに分割され、現在ブロックに対して、予測ユニット210は、イントラ予測又はインター予測を実行して、現在ブロックの予測ブロックを生成する。残差ユニット220は、予測ブロックと現在ブロックのオリジナルブロック、即ち、予測ブロックと現在ブロックのオリジナルブロックとの間の差に基づいて、残差ブロックを計算することができ、当該残差ブロックは残差情報とも呼ばれる。当該残差ブロックは、変換/量子化ユニット230によって変換され且つ量子化されることにより、人間の目に敏感ではない情報が除去され、視覚的な冗長性が解消されることができる。選択的に、変換/量子化ユニット230によって変換され且つ量子化される前の残差ブロックは時間領域残差ブロック(time-domain residual block)と呼ばれることができ、変換/量子化ユニット230によって変換され且つ量子化された後の時間領域残差ブロックは周波数残差ブロック(frequency residual block)又は周波数領域残差ブロック(frequency-domain residual block)と呼ばれることができる。エントロピーエンコーディングユニット280は、変換/量子化ユニット230によって出力された、量子化された変化係数を受信し、当該量子化された変化係数をエントロピーコードすることにより、ビットストリームを出力することができる。例えば、エントロピーエンコーディングユニット280は、目標コンテキストモデル及び2進ビットストリームの確率情報に基づいて、文字冗長を削除することができる。
【0070】
デコーディング側では、エントロピーデコーディングユニット310は、ビットストリームを解析することにより、現在ブロックの予測情報、量子化係数行列などを取得することができ、予測ユニット320は、予測情報に基づいて、現在ブロックに対してイントラ予測又はインター予測を行うことにより現在ブロックの予測ブロックを生成する。逆量子化/変換ユニット330は、ビットストリームから取得された量子化係数行列を利用して、量子化係数行列を逆量子化し、逆変換して残差ブロックを取得する。再構成ユニット340は、予測ブロックと残差ブロックとを加算して再構成ブロックを取得する。再構成ブロックは再構成画像を形成する。ループフィルタリングユニット350は、画像又はブロックに基づいて再構成画像をループフィルタリングしてデコーディング画像を取得する。エンコーディング側でも、デコーディング画像を取得するための、デコーディング側と類似の処理が必要である。当該デコーディング画像は再構成画像と呼ばれてもよく、再構成画像は後続の画像の、インター予測のための参照画像であることができる。
【0071】
なお、エンコーディング側で確定されたブロック分割情報、及び、予測、変換、量子化、エントロピーコーディング、ループフィルタリングなどのモード情報又はパラメータ情報などは、必要に応じてビットストリームに携帯される。デコーディング側は、ビットストリームを解析し、既存情報から分析して、エンコーディング側と同じブロック分割情報、予測、変換、量子化、エントロピーコーディング、ループフィルタリングなどのモード情報又はパラメータ情報を確定する。それによって、エンコーディング側で取得されたデコーディング画像とデコーディング側で取得されたデコーディング画像が同じであることが確保される。
【0072】
上記は、ブロックに基づいた混合コーディングフレームワークでのビデオコーディングの基本的な流れである。技術の発展に伴い、当該フレームワーク又は流れの一部のモジュールやステップが最適化される可能性がある。本出願は、当該ブロックに基づいた混合コーディングフレームワークでのビデオコーディングの基本的な流れに適用されるが、当該フレームワーク又は流れに限定されない。
【0073】
いくつかの実施形態では、現在ブロック(current block)は、現在のコーディングユニット(CU)又は現在の予測ユニット(PU)などであってもよい。並列処理の必要性により、画像がスライス(slice)などに分割されることができ、同一画像内のスライスが並列処理されることができ、即ち、それらの間にデータ依存性がない。「フレーム」はよく用いられる用語であり、一般的に1フレームが1つの画像であると理解されることができる。また、本出願におけるフレームは、画像又はスライスなどに置き換えられることもできる。
【0074】
現在作成中の多用途ビデオコーディング(VVC)というビデオコーディング規格には、幾何分割モード(geometric partitioning mode、GPM)と呼ばれるインター予測モードがある。現在作成中のオーディオ・ビデオコーディング規格(AVS)というビデオコーディング規格には、角度重み付け予測(angular weighted prediction、AWP)と呼ばれるインター予測モードがある。これら2つのモードは、名称及び具体的な実現形態が異なるが、原理上では共通するところがある。
【0075】
なお、従来の単方向予測では、現在ブロックのサイズと同じサイズを有する1つの参照ブロックのみが使用されるが、従来の双方向予測では、現在ブロックのサイズと同じサイズを有する2つの参照ブロックが使用され、予測ブロック内の各サンプルの値は、2つの参照ブロックの対応位置にあるサンプルの値の平均値であり、即ち各参照ブロックにおけるすべてのサンプルは50%を占める。双方向重み付け予測では、2つの参照ブロックの割合が異なるようにしてもよく、例えば、1番目の参照ブロックにおけるすべてのサンプルが75%占め、2番目の参照ブロックにおけるすべてのサンプルが25%占める。しかし、同じ参照ブロックにおけるすべてのサンプルが同じ割合を有する。しかし、同じ参照ブロックにおけるすべてのサンプルが同じ割合を有する。他のいくつかの最適化方式、例えば、デコーディング側動きベクトル改良(decoder side motion vector refinement、DMVR)技術、双方向オプティカルフロー(bi-directional optical flow、BIO)などによって、参照サンプル又は予測サンプルに何らかの変化が生じるが、上記原理と関わらない。BIOはBDOFと称されてもよい。また、GPM又はAWPでも、現在ブロックのサイズと同じサイズを有する2つの参照ブロックを利用するが、いくつかのサンプル位置では、1番目の参照ブロックの対応位置におけるサンプル値が100%利用され、別のいくつかのサンプル位置では、2番目の参照ブロックの対応位置におけるサンプル値が100%利用され、交差領域(又は、遷移領域ともいう)では、これら2つの参照ブロックの対応位置におけるサンプル値が一定の割合で利用される。交差領域の重みも徐々に遷移する。これらの重みが具体的にどのように割り当てられるかは、GPM又はAWPのモードによって定められる。各サンプル位置の重みはGPM又はAWPのモードに基づいて確定される。もちろん、いくつかの場合では、例えばブロックサイズが非常に小さい場合、いくつかのGPM又はAWPのモードにおいて、いくつかのサンプル位置では、1番目の参照ブロックの対応位置におけるサンプル値が100%利用され、別のいくつかのサンプル位置では、2番目の参照ブロックの対応位置におけるサンプル値が100%利用されることを確保できない。GPM又はAWPでは、現在ブロックのサイズと異なるサイズを有する2つの参照ブロックを利用し、即ち、各参照ブロックの必要な部分を参照ブロックとすると考えられる。即ち、重みが0ではない部分が参照ブロックとされ、重みが0である部分が除去される。これは具体的な実現であり、本発明の議論の焦点ではない。
【0076】
例示的に、
図4は、重みの割り当てを示す概略図である。
図4に示されるように、本出願の実施形態に係る64×64の現在ブロックにおけるGPMの複数種の分割モードの重みの割り当ての概略図が示されており、GPMには64種の分割モードがある。
図5は、重みの割り当てを示す概略図である。
図5に示されるように、本出願の実施形態に係る64×64の現在ブロックにおけるAWPの複数種の分割モードの重みの割り当ての概略図が示されており、AWPには56種の分割モードがある。
図4、
図5のいずれにおいても、各種の分割モードでは、黒領域は1番目の参照ブロックの対応位置の重み値が0%であることを示し、白領域は1番目の参照ブロックの対応位置の重み値が100%であることを示し、グレー領域(gray area)は色の濃淡の違いで1番目の参照ブロックの対応位置の重み値が0%より大きく100%より小さいいずれかの重み値であることを示す。2番目の参照ブロックの対応位置の重み値は、100%から1番目の参照ブロックの対応位置の重み値を引いた値である。
【0077】
GPMにおける重みの導出方法とAWPにおける重みの導出方法は異なる。GPMでは、各種のモードに基づいて角度及びオフセットを確定し、次に、各種のモードの重み行列を算出する。AWPでは、まず1次元の重みライン(one-dimensional weight line)を生成し、次に、イントラ角度予測に類似した方法を利用して1次元の重みラインで行列全体を敷き詰める。
【0078】
早期のコーディング技術に、CU、PU、変換ユニット(transform unit、TU)の分割を問わず、矩形の分割方式のみが存在する。GPM及びAWPでは、分割されない場合に予測の非矩形の分割効果が実現される。GPM及びAWPでは、2つの参照ブロックの重みのマスク(mask)、即ち重みマップが利用される。このマスクから、予測ブロックを生成するための2つの参照ブロックの重みを確定する。又は、以下のように簡単に理解することができる。予測ブロックの一部の位置が1番目の参照ブロックに由来し、予測ブロックの一部の位置が2番目の参照ブロックに由来し、遷移領域(blending area)が、2つの参照ブロックの対応の位置を重み付けすることで取得され、遷移をよりスムーズにすることができる。GPM及びAWPでは、現在ブロックが分割線で2つのCU又はPUに分割されていないため、現在ブロックの全体に対して予測後の残差の変換、量子化、逆変換、逆量子化などが行われる。
【0079】
GPMでは、重み行列で幾何形状の分割を模擬し、より的確に言えば、予測の分割を模擬した。GPMを実施するために、重み行列に加えて、2つの予測値が必要であり、各予測値が1つの単方向の動き情報によって確定される。この2つの単方向の動き情報は1つの動き情報候補リストからのものであり、例えば、マージ動き情報候補リスト(mergeCandList)からのものである。GPMでは、ビットストリームにおいて2つのインデックスを利用して、mergeCandListから2つの単方向の動き情報を確定する。
【0080】
インター予測では、動き情報(motion information)を利用して「動き」を表す。基本的な動き情報は、参照フレーム(reference frame)(又は参照画像(reference picture)とも呼ばれる)情報と動きベクトル(motion vector、MV)情報を含む。一般的な双方向予測では、2つの参照ブロックを利用して現在ブロックを予測する。2つの参照ブロックとしては、1つの前方参照ブロック(forward reference block)と1つの後方参照ブロック(backward reference block)が用いられることができる。選択的に、2つの参照ブロックはいずれも前方参照ブロックであり、又は、いずれも後方参照ブロックであることもできる。前方とは、参照画像に対応する時刻が現在画像の前にあることを意味し、後方とは、参照画像に対応する時刻が現在画像の後にあることを意味する。換言すれば、前方とは、ビデオにおける参照画像の位置が現在画像の前に位置することを意味し、後方とは、ビデオにおける参照画像の位置が現在画像の後に位置することを意味する。換言すれば、前方とは、参照画像のPOC(picture order count)が現在画像のPOCより小さいことを意味し、後方とは、参照画像のPOCが現在画像のPOCより大きいことを意味する。双方向予測を利用できるように、当然に2つの参照ブロックを見つける必要がある。それで、2セットの参照画像情報と動きベクトル情報が必要となる。各セットを1つの単方向の動き情報として理解し、この2つのセットを組合せると1つの双方向の動き情報となる。具体的に実現する時、単方向の動き情報と双方向の動き情報は同じデータ構造を用いることができ、双方向の動き情報では2セットの参照画像情報と動きベクトル情報がいずれも有効であり、単方向の動き情報では2セットのうちの1セットの参照画像情報と動きベクトル情報が無効である。
【0081】
いくつかの実施形態では、2つの参照画像リストがサポートされ、RPL0、RPL1と表記され、RPLは参照画像リスト(Reference Picture List)の略称である。いくつかの実施形態では、PスライスはRPL0のみを利用でき、BスライスはRPL0及びRPL1を利用できる。1つのスライスに対して、各参照画像リストにはいくつかの参照画像があり、エンコーダーとデコーダーは、参照画像インデックスを利用してある確定の参照画像を見つける。いくつかの実施形態では、参照画像インデックス及び動きベクトルで動き情報を表す。例えば、上記双方向の動き情報に対して、RPL0に対応する参照画像インデックスrefIdxL0、RPL0に対応する動きベクトルmvL0、及びRPL1に対応する参照画像インデックスrefIdxL1、RPL1に対応する動きベクトルmvL0が利用される。RPL0に対応する参照画像インデックス及びRPL1に対応する参照画像インデックスは、上記参照画像情報として理解されることができる。いくつかの実施形態では、2つのフラグ(flag)で、RPL0に対応する動き情報が利用されるか否か、及びRPL0に対応する動き情報が利用されるか否かをそれぞれ示し、2つのフラグのそれぞれがpredFlagL0及びpredFlagL1と表記される。また、predFlagL0及びpredFlagL1は、上記単方向の動き情報が「有効であるか否か」を示すと理解されることができる。動き情報というデータ構造は明示されていないが、各参照画像リストに対応する参照画像インデックス、動きベクトル、及び「有効であるか否か」のフラグはともに動き情報を表す。いくつかの規格のテキストでは、動き情報が現れず、動きベクトルが使用されている。参照画像インデックスと、対応する動き情報を利用するか否かを示すフラグとは動きベクトルの付属であると考えられることができる。本出願では、説明の便宜上、「動き情報」を用いるが、「動きベクトル」を用いて説明することも可能であることを理解されたい。
【0082】
現在ブロックに用いられる動き情報が記憶されることができる。隣接位置関係に基づいて、前のコード(エンコードとデコードの両方を含む)済みのブロック(例えば、隣接ブロック)の動き情報が現在画像のコードされようとする後続のブロックに用いられることができる。それは、空間関連性(spatial correlation)を利用しているため、そのようなコード済みの動き情報は空間動き情報(spatial motion information)と呼ばれる。現在画像の各ブロックに用いられる動き情報が記憶されることができる。参照関係に基づいて、前のコード済みの画像の動き情報がコードされようとする後続の画像に用いられることができる。それは、時間関連性(temporal correlation)を利用しているため、そのようなコード済みの画像の動き情報は時間動き情報(temporal motion information)と呼ばれる。現在画像の各ブロックに用いられる動き情報の記憶方法では、4×4行列のような固定サイズの行列を最小ユニットとして、各最小ユニットに単独的に1セットの動き情報が記憶される。このように、1つのブロックをコードするたびに、そのブロックの位置に対応するそれらの最小ユニットは、そのブロックの動き情報を記憶しておくことができる。このように、空間動き情報又は時間動き情報を利用する場合、位置に基づいて、当該位置に対応する動き情報を直接に見つけることができる。例えば、従来の単方向予測が1つの16×16のブロックに用いられる場合、当該ブロックに対応する4×4の最小ユニットのすべてがこの単方向予測の動き情報を記憶する。GPM又はAWPが1つのブロックに用いられる場合、当該ブロックに対応するすべての最小ユニットは、GPM又はAWPモード、1番目の動き情報、2番目の動き情報、及び各最小ユニットの位置に基づいて、各最小ユニットに記憶される動き情報を確定する。1つの方法として、1つの最小ユニットに対応する4×4のサンプルがすべて1番目の動き情報に由来する場合、この最小ユニットは1番目の動き情報を記憶する。1つの最小ユニットに対応する4×4のサンプルがすべて2番目の動き情報に由来する場合、この最小ユニットは2番目の動き情報を記憶する。1つの最小ユニットに対応する4×4のサンプルが1番目の動き情報及び2番目の動き情報の両方に由来する場合、AWPでは、その両方のうちの1つを選択して記憶し、GPMでは、2つの動き情報が異なる参照画像リストを指し示す場合、その2つの動き情報を組合せて双方向の動き情報として記憶し、そうではない場合、2番目の動き情報のみを記憶する。
【0083】
選択的に、上記mergeCandListは、空間動き情報、時間動き情報、履歴ベースの動き情報、及び他のいくつかの動き情報に基づいて構築される。例示的に、mergeCandListでは、
図6Aにおける1から5の位置を利用して空間動き情報を導出し、
図6Aにおける6又は7の位置を利用して時間動き情報を導出する。履歴ベースの動き情報では、1つのブロックをコードするたびに、このブロックの動き情報を先入れ先出し(First-In First-Out、FIFO)のリストに添加し、添加中に、リスト内の既存の動き情報と重複するか否かなど、いくつかのチェックが必要である。このようにして、現在ブロックをコードするとき、履歴ベースのリスト内の動き情報を参照することができる。
【0084】
いくつかの実施形態では、GPMのシンタックス記述は表1に示されているようである。
【0085】
【0086】
表1に示されたように、マージモードでは、regular_merge_flagが1ではない場合、CIIP(combined inter-intra prediction)又はGPMは現在ブロックに用いられることができる。CIIPが現在ブロックに用いられない場合、GPMが現在ブロックに用いられ、即ち、表1におけるシンタックス「if( !ciip_flag[x0][y0] )」に示されている内容である。
【0087】
上記表1に示されたように、GPMでは、ビットストリームにおいて、merge_gpm_partition_idx、merge_gpm_idx0、merge_gpm_idx1という3つの情報を伝送する必要がある。x0、y0は、画像の左上隅の輝度サンプルに対する現在ブロックの左上隅の輝度サンプルの座標(x0、y0)を確定するために用いられる。merge_gpm_partition_idxはGPMの分割形状を確定するために用いられ、上述したように、「模擬分割」である。merge_gpm_partition_idxは、本明細書で説明する重み行列導出モードもしくは重み行列導出モードのインデックス、又は重み導出モードもしくは重み導出モードのインデックスである。merge_gpm_idx0は1番目のマージ候補インデックスであり、1番目のマージ候補インデックスは、mergeCandListに基づいて第1動き情報又は第1のマージ候補を確定するために用いられる。merge_gpm_idx1は2番目のマージ候補インデックスであり、2番目のマージ候補インデックスは、mergeCandListに基づいて第2動き情報又は第2のマージ候補を確定するために用いられる。MaxNumGpmMergeCand > 2、即ち候補リストの長さが2より大きい場合のみ、merge_gpm_idx1をデコードする必要がある。そうではない場合、merge_gpm_idx1を直接に確定することができる。
【0088】
いくつかの実施形態では、GPMデコーディングプロセスは以下のステップを含む。
【0089】
デコーディングプロセスにおける入力情報は、画像の左上隅の輝度位置に対する現在ブロックの左上隅の輝度位置の座標(xCb、yCb)、現在ブロックの輝度成分の幅cbWidth、現在ブロックの輝度成分の高さcbHeight、1/16分数サンプル精度の輝度動きベクトルmvAとmvB、彩度動きベクトルmvCAとmvCB、参照画像インデックスrefIdxAとrefIdxB、予測リストフラグpredListFlagAとpredListFlagBを含む。
【0090】
例示的に、動きベクトル、参照画像インデックス、及び予測リストフラグの組合せで動き情報を表し得る。VVCでは、2つの参照画像リストがサポートされ、各参照画像リストは複数の参照画像を有してもよい。単方向予測では、1つの参照画像リストにおける1つの参照画像内の1つの参照ブロックのみを参照として使用し、双方向予測では、1つの参照画像リストにおける1つの参照画像内の1つの参照ブロック、及びもう1つの参照画像リストにおける1つの参照画像内の1つの参照ブロックを参照として使用する。VVCにおけるGPMでは、2つの単方向予測を使用する。上記mvAとmvB、mvCAとmvCB、refIdxAとrefIdxB、predListFlagAとpredListFlagBにおけるAは1番目の予測モードとして理解され、Bは2番目の予測モードとして理解されることができる。XでA又はBを表し、predListFlagXは、Xに1番目の参照画像リストが使用されるか2番目の参照画像リストが利用されるかを示し、refIdxXは、Xに使用される参照画像リストにおける参照画像インデックスを示し、mvXは、Xに使用される輝度動きベクトルを示し、mvCXは、Xに使用される彩度動きベクトルを示す。なお、VVCでは、動きベクトル、参照画像インデックス、及び予測リストフラグの組合せで本明細書で説明する動き情報を表し得る。
【0091】
デコーディングプロセスにおける出力情報は、輝度予測サンプルの(cbWidth)Χ(cbHeight)行列predSamplesL、必要に応じて、Cb彩度成分の予測サンプルの(cbWidth / SubWidthC) Χ(cbHeight / SubHeightC)行列、必要に応じて、Cr彩度成分の予測サンプルの(cbWidth / SubWidthC) Χ(cbHeight / SubHeightC)行列を含む。
【0092】
例示的に、輝度成分を例として説明する。彩度成分の処理は輝度成分の処理と類似している。
【0093】
predSamplesLALとpredSamplesLBLのサイズはいずれも、(cbWidth)Χ(cbHeight)であり、2つの予測モードに基づいて取得した予測サンプルの行列であると仮定する。predSamplesLは、以下の方法に基づいて導出される。輝度動きベクトルmvA、彩度動きベクトルmvCA、参照画像インデックスrefIdxA、及び予測リストフラグpredListFlagAに基づいてpredSamplesLALを確定し、輝度動きベクトルmvB、彩度動きベクトルmvCB、参照画像インデックスrefIdxB、及び予測リストフラグpredListFlagBに基づいてpredSamplesLBLを確定する。即ち、2つの予測モードの動き情報のそれぞれに基づいて予測を行い、詳細なプロセスは詳述されない。通常、GPMはマージモードであり、GPMの2つの予測モードはいずれもマージモードであると考えられることができる。
【0094】
merge_gpm_partition_idx[ xCb ][ yCb ]に基づいて、表2を利用してGPMの分割角度インデックス変数angleIdxと距離インデックス変数distanceIdxを確定する。
【0095】
【0096】
なお、GPMは3つの成分(component、例えば、Y、Cb、Cr)のいずれにも利用されることができるため、いくつかの規格のテキストでは、1つの成分に対してGPM予測サンプル行列を生成するプロセスは、GPM用の重み付けサンプル予測プロセス(Weighted sample prediction process for GPM)というサブプロセスに包含されている。このサブプロセスは3つの成分のそれぞれに対して呼び出されるが、呼び出されるパラメータがそれぞれ異なるだけであり、ここでは輝度成分のみを例とする。現在の輝度ブロックの予測行列predSamplesL[ xL ][ yL ](xL = 0..cbWidth - 1、yL = 0..cbHeight - 1)は、GPM用の重み付けサンプル予測プロセスから導出される。nCbWはcbWidthに設定され、nCbHはcbHeightに設定され、2つの予測モードで生成した予測サンプル行列predSamplesLALとpredSamplesLBL、angleIdx、distanceIdxが入力とされる。
【0097】
いくつかの実施形態では、GPMの重み付けサンプル予測と導出プロセスは以下のステップを含む。
【0098】
当該プロセスの入力は、現在ブロックの幅nCbW、現在ブロックの高さnCbH、2つの(nCbW)Χ(nCbH)の予測サンプル行列predSamplesLAとpredSamplesLB、GPMの分割角度インデックス変数angleIdx、GPMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。この例では輝度を例とする。cIdxが0であることは、輝度成分を示す。
【0099】
このプロセスの出力は、GPMの(nCbW)Χ(nCbH) 行列pbSamplesの予測サンプル値を含む。
【0100】
例示的に、変数nW、 nH、shift1、offset1、displacementX、displacementY、partFlip、shiftHorは以下の方法に基づいて導出される。
nW = ( cIdx = = 0 ) ? nCbW : nCbW * SubWidthC、
nH = ( cIdx = = 0 ) ? nCbH : nCbH * SubHeightC、
shift1 = Max( 5, 17 - BitDepth )、BitDepthはコーディングのビット深度である。
offset1 = 1 << ( shift1 - 1 )、「<<」は左シフトを意味する。
displacementX = angleIdx、
displacementY = ( angleIdx + 8 ) % 32、
partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1、
shiftHor = ( angleIdx % 16 = = 8 | | ( angleIdx % 16 != 0 && nH >= nW ) ) ? 0 : 1。
【0101】
変数offsetXとoffsetYは以下の方法に基づいて導出される。
shiftHorの値が0である場合、
offsetX = ( -nW ) >> 1、
offsetY = ( ( -nH ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nH ) >> 3 : -( ( distanceIdx * nH ) >> 3 ) ) 。
shiftHorの値が1である場合、
offsetX = ( ( -nW ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nW ) >> 3 : -( ( distanceIdx * nW ) >> 3 ) 、
offsetY = ( - nH ) >> 1。
【0102】
変数xLとyLは以下の方法に基づいて導出される。
xL = ( cIdx = = 0 ) ? x : x * SubWidthC、
yL = ( cIdx = = 0 ) ? y : y * SubHeightC。
【0103】
現在位置における予測サンプルの重みを示す変数wValueは、以下の方法に基づいて導出される。wValueは、(x,y)での第1の予測モードの予測行列における予測サンプルの値predSamplesLA[ x ][ y ] の重みであり、( 8 - wValue ) は、(x,y)での第1の予測モードの予測行列における予測サンプルの値predSamplesLB[ x ][ y ] の重みである。
【0104】
距離行列disLutは表3に基づいて確定される。
【0105】
【0106】
weightIdx = ( ( ( xL + offsetX ) << 1 ) + 1 ) * disLut[ displacementX ] + ( ( ( yL + offsetY ) << 1 ) + 1 ) * disLut[ displacementY ] 、
weightIdxL = partFlip ? 32 + weightIdx : 32 - weightIdx、
wValue = Clip3( 0, 8, ( weightIdxL + 4 ) >> 3 ) 。
【0107】
予測サンプルの値pbSamples[ x ][ y ]は以下の方法に基づいて導出される。
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << BitDepth ) - 1, ( predSamplesLA[ x ][ y ] * wValue + predSamplesLB[ x ][ y ] * ( 8 - wValue ) + offset1 ) >> shift1 ) 。
【0108】
なお、現在ブロックの各位置に対して1つの重み値が導出され、1つのGPM予測値pbSamples[ x ][ y ]が計算される。この方式では、重みwValueは行列の形で記述される必要がないが、各位置のwValueを1つの行列に保存すれば、その行列が重み行列であると理解できる。各サンプルに対して重みを計算し、重み付けしてGPM予測値を算出する原理と、すべての重みを計算してから、一律に重み付けしてGPM予測サンプル行列を算出する原理とは同じである。本出願の多くの説明で重み行列という言葉を使うのは、表現を分かりやすくするためで、重み行列で描いた図がより直観的であるが、実は、各位置の重みで説明することもできる。例えば、重み行列導出モードは、重み導出モードとして表現されることもできる。
【0109】
いくつかの実施形態では、
図6Bに示されているように、GPMデコーディングプロセスは以下ように表現されることができる。ビットストリームを解析して、現在ブロックにGPM技術が利用されるか否かを確定し、現在ブロックにGPM技術が利用される場合、重み導出モード(又は分割モード、又は重み行列導出モード)、第1動き情報、及び第2動き情報を確定する。第1動き情報に基づいて第1予測ブロックを確定し、第2動き情報に基づいて第2予測ブロックを確定し、重み行列導出モードに基づいて重み行列を確定し、第1予測ブロックと第2予測ブロックと重み行列とに基づいて現在ブロックの予測ブロックを確定する。
【0110】
イントラ予測方法では、現在ブロックの周辺のコード済みの再構成サンプルを参照サンプルとして利用して現在ブロックを予測する。
図7Aは、イントラ予測を示す概略図である。
図7Aに示されているように、現在ブロックのサイズは4×4であり、現在ブロックの左側1列及び上側1行のサンプルは、現在ブロックの参照サンプルであり、イントラ予測では、これらの参照サンプルを利用して、現在ブロックを予測する。これらの参照サンプルはすべて利用可能であり、即ち、すべてコードされている可能性がある。選択的に、これらの参照サンプルは一部が利用不可能である可能性がある。例えば、現在ブロックが画像全体の一番左にあり、現在ブロックの左の参照サンプルが利用不可能である。又は、現在ブロックをコードする場合、現在ブロックの左下のサンプルがまだコードされていないため、左下の参照サンプルも利用不可能である。参照サンプルが利用不可能である場合、利用可能な参照サンプルを利用して、又は何らかの値、何らかの方法を利用して、補充を行ってもよく、補充を行わなくてもよい。
【0111】
図7Bは、イントラ予測を示す概略図である。
図7Bに示されているように、マルチ参照ライン(multiple reference line、MRL)イントラ予測方法では、より多くの参照サンプルを利用してコーディング効率を向上させることができる。例えば、4つの参照行/列を現在ブロックの参照サンプルとする。
【0112】
さらに、イントラ予測に複数種の予測モードがあり、
図8A~
図8Iは、イントラ予測を示す概略図である。
図8A~
図8Iに示されているように、H.264では、4×4のブロックに対してイントラ予測を行う際、9種のモードを含むことができる。
図8Aに示されたモード0では、現在ブロックの上のサンプルを、垂直方向に沿って、現在ブロックにコピーして予測値とする。
図8Bに示されたモード1では、現在ブロックの左の参照サンプルを、水平方向に沿って、現在ブロックにコピーして予測値とする。
図8Cに示されたモード2(DC)では、A~D及びI~Lという8つのサンプルの平均値を、すべてのサンプルの予測値とする。
図8D~
図8Iに示されたモード3~8では、それぞれある角度に沿って、参照サンプルを現在ブロックの対応位置にコピーする。現在ブロックのいくつかの位置が参照サンプルに厳密に対応することができないため、参照サンプルの重み付け平均値、又は参照サンプルの補間された分数サンプル(interpolated factional sample)を利用する必要がある。
【0113】
他にもPlaneモード又はPlanarモードなどがある。技術の発展及びブロックの拡大に伴い角度予測モードも多くなっている。
図9は、イントラ予測モードを示す概略図である。
図9に示されているように、例えば、HEVCに用いられるイントラ予測モードは、Planarモード、DCモード及び33種の角度モード、合計で35種の予測モードを含む。
図10は、イントラ予測モードを示す概略図である。
図10に示されているように、VVCに用いられるイントラモードは、Planarモード、DCモード及び65種の角度モード、合計で67種の予測モードを含む。
図11は、イントラ予測モードを示す概略図である。
図11に示されているように、AVS3に用いられるイントラモードは、DCモード、Planeモード、バイリニア(Bilinear)モード、PCM及び62種の角度モード、合計で66種の予測モードを含む。
【0114】
また、予測を改善する技術もあり、例えば、参照サンプルの分数サンプル補間を改善すること、予測サンプルをフィルタリングすることなどが挙げられる。例えば、AVS3におけるマルチイントラ予測フィルタ(multiple intra prediction filter、MIPF)では、異なるサイズを有するブロックに対して異なるフィルタを利用して予測値を生成する。同一ブロック内の異なる位置におけるサンプルに対して、参照サンプルに近いサンプルに対して1種のフィルタを利用して予測値を生成し、参照サンプルから遠いサンプルに対して別のフィルタを利用して予測値を生成する。AVS3におけるイントラ予測フィルタ(intra prediction filter、IPF)など、予測サンプルをフィルタリングする技術では、参照サンプルを利用して予測値をフィルタリングすることができる。
【0115】
イントラ予測において、最確モード(MostprobableModes、MPM)リストを利用したイントラモードコーディング技術を利用して、コーディング効率を向上させることができる。コード済みの周辺ブロックのイントラ予測モードと、コード済みの周辺ブロックのイントラ予測モードに基づいて導出されるイントラ予測モード(例えば、隣接するモード)と、汎用の又は利用確率の高いイントラ予測モード(例えば、DC、Planar、Bilinearモードなど)とを利用して、1つのモードリストを構成する。テクスチャが空間的な連続性があるため、コード済みの周辺ブロックのイントラ予測モードを参照することは、空間関連性を利用したものである。MPMは、イントラ予測モードの予測に用いられることができる。即ち、MPMが現在ブロックに用いられる確率は、MPMが現在ブロックに用いられない確率より高いと考えられる。そのため、二値化中に、より少ない符号語がMPMに用いられるため、オーバーヘッドを節約し、コーディング効率を向上させることができる。
【0116】
いくつかの実施形態では、行列に基づいたイントラ予測(Matrix-based Intra Prediction、MIP)(Matrix weighted Intra Predictionと表記される場合もある)はイントラ予測に用いられることができる。
図12に示すように、幅がWであり且つ高さがHであるブロックを予測するために、MIPでは、現在ブロックの左側1列のR個の再構成サンプルと、現在ブロックの上側1行のW個の再構成サンプルとを入力とする必要がある。MIPでは、参照サンプルの平均化(Averaging)、行列ベクトル乗算(Matrix Vector Multiplication)及び補間(Interpolation)という3つのステップに基づいて予測ブロックを生成する。行列ベクトル乗算はMIPの核心である。MIPは、行列ベクトル乗算方式で入力サンプル(参照サンプル)を利用して予測ブロックを生成するプロセスであると考えられることができる。MIPには様々な行列が提供され、予測方式の違いは行列の違いに反映され、入力サンプルが同じである場合、異なる行列を利用すると異なる結果が得られる。また、参照サンプルの平均化と補間のプロセスは、性能と複雑さのトレードオフを考慮した設計である。大きなサイズを有するブロックに対して、参照サンプルの平均化によってダウンサンプリングに近似する効果を実現できるため、入力を比較的小さな行列に適応させることができる。補間によってアップサンプリングの効果が得られる。このように、ブロックのサイズごとにMIP行列を提供する必要がなくなり、代わりに1つ又はいくつかの特定のサイズを有する行列のみを提供すればよい。圧縮性能に対するニーズが高まり、且つハードウェアの性能が向上することに伴って、より複雑なMIPが次世代の規格に登場する可能性がある。
【0117】
MIPモードはPlanarと少し似ているが、明らかに、MIPモードはPlanarより複雑で柔軟である。
【0118】
GPMでは、重み行列を利用して2つのインター予測ブロックを組合せる。実際には、重み行列の利用は、2つの任意の予測ブロックを組合せるように拡張されることができる。例えば、2つのインター予測ブロック、2つのイントラ予測ブロック、1つのインター予測ブロックと1つのイントラ予測ブロックなどが挙げられる。さらに、スクリーンコンテンツコーディング(screen content coding、SCC)において、イントラブロックコピー(intra block copy、IBC)又はパレット(palette)の予測ブロックを1つ又は2つの予測ブロックとすることが可能である。
【0119】
本出願では、イントラ予測、インター予測、IBC予測、パレット予測を異なる予測方式と言う。説明を簡単にするため、ここで予測モードと総称する。予測モードは、コーダー(エンコーダーとデコーダーの両方を含む)がそれに基づいて現在ブロックの予測ブロックを生成できる情報であると理解されることができる。例えば、イントラ予測では、予測モードは、DC、Planar、様々なイントラ角度予測モードなどのあるイントラ予測モードであることができる。もちろん、イントラ参照サンプルの最適化方法、初期予測ブロック生成後の最適化方法(フィルタリングなど)など、何らかの他の補助情報を重ねることもできる。例えば、インター予測では、予測モードは、スキップ(skip)モード、マージ(merge)モード、又はMMVD(merge with motion vector difference)モード、又はAMVP(advanced motion vector predition)であることができ、単方向予測であってもよく、双方向予測又はマルチ仮定予測(multi hypothesis predition)であってもよい。単方向予測がインター予測モードに用いられる場合、1つの予測モードで1つの動き情報を確定できる必要があり、1つの動き情報に基づいて予測ブロックを確定できる。双方向予測がインター予測モードに用いられる場合、1つの予測モードで2つの動き情報を確定できる必要があり、2つの動き情報に基づいて予測ブロックを確定できる。
【0120】
このように、GPMに対して確定する必要のある情報は、1つの重み導出モードと2つの予測モードとして表記されることができる。重み導出モードは重み行列又は重みを確定するために用いられ、2つの予測モードはそれぞれ1つの予測ブロック又は予測値を確定するために用いられる。重み導出モードは、分割モードと呼ばれることもあるが、模擬分割であるため、本出願では重み導出モードと呼ばれる。
【0121】
2つの予測モードは、同じ又は異なる予測方式からのものであることができ、予測方式は、イントラ予測、インター予測、IBC、パレットを含むが、それらに限定されない。
【0122】
選択的に、2つの予測モードは、同じ又は異なる予測方式からのものであることができ、予測方式は、イントラ予測、インター予測、IBC、パレットを含むが、それらに限定されない。
【0123】
1つの具体的な例は以下のようである。GPMが現在ブロックに用いられ、この例は、インターコードされたブロック(inter-coded block)に用いられ、イントラ予測とインター予測におけるマージモードを利用することができる。表4に示されているように、1つのシンタックス要素intra_mode_idxの追加は、どの予測モードがイントラ予測モードであるかを示す。例えば、intra_mode_idxが0であることは、2つの予測モードがいずれもインター予測モードであることを示し、即ち、mode0IsInterが1であり、mode0IsInterが1であることを示す。intra_mode_idxが1であることは、1番目の予測モードがイントラ予測モードであり、2番目の予測モードがインター予測モードであることを示し、即ち、mode0IsInterが0であり、mode0IsInterが1であることを示す。intra_mode_idxが2であることは、1番目の予測モードがインター予測モードであり、2番目の予測モードがイントラ予測モードであることを示し、即ち、mode0IsInterが1であり、mode0IsInterが0であることを示す。intra_mode_idxが3であることは、2つの予測モードがいずれもイントラ予測モードであることを示し、即ち、mode0IsInterが0であり、mode0IsInterが0であることを示す。
【0124】
【0125】
いくつかの実施形態では、
図13に示されているように、GPMデコーディングプロセスは以下ように表現されることができる。ビットストリームを解析して、現在ブロックにGPM技術が利用されるか否かを確定し、現在ブロックにGPM技術が利用される場合、重み導出モード(又は分割モード、又は重み行列導出モード)、第1の予測モード、及び第2の予測モードを確定する。第1の予測モードに基づいて第1予測ブロックを確定し、第2の予測モードに基づいて第2予測ブロックを確定し、重み行列導出モードに基づいて重み行列を確定し、第1予測ブロックと第2予測ブロックと重み行列とに基づいて現在ブロックの予測ブロックを確定する。
【0126】
テンプレートマッチング方法は、最初にインター予測に用いられる。テンプレートマッチングでは、隣接するサンプル間の関連性を利用して、現在ブロックの周辺のいくつかの領域をテンプレートとする。現在ブロックをコードする前に、その左側と上側にあるブロックはコーディング順序に従って既にコードされた。もちろん、既存のハードウェアデコーダーの実現では、現在ブロックをデコードする前に、必ずしもその左側と上側にあるブロックが既にデコードされたことを確保するとは限らない。もちろん、ここで言及されるのはインターブロックである。例えば、HEVCでは、インターコードされるブロック(inter-coding block)に対して予測ブロックを生成するとき、周辺の再構成サンプルを必要とせず、インターブロックの予測プロセスを並列に実行することができる。しかし、イントラコードされるブロックに対して、左側と上側にある再構成サンプルを参照サンプルとする必要がある。理論上、左側と上側にあるサンプルは利用可能であり、即ち、ハードウェア設計に対して対応の調整を行うことで実現することができる。それに対して、右側と下側にあるサンプルは、VVCなどの既存の規格におけるコーディング順序では利用不可能である。
【0127】
図14に示されているように、現在ブロックの左側と上側の矩形領域がテンプレートとして設定され、左側のテンプレートの高さは一般的に現在ブロックの高さと同じであり、上側のテンプレートの幅は一般的に現在ブロックの幅と同じである。テンプレートは、現在ブロックと異なる高さ又は幅を有してもよい。参照画像においてテンプレートの最適なマッチング位置を見つけて、現在ブロックの動き情報又は動きベクトルを確定する。このプロセスは以下のように説明されることができる。ある参照画像において、1つの開始位置から周辺の一定範囲内で検索を行う。検索範囲、検索ステップサイズなどの検索ルールを予め設定することができる。ある位置に移動するたびに、その位置に対応するテンプレートと現在ブロック周辺のテンプレートとのマッチングの度合いを計算する。いわゆるマッチングの度合いは、差分絶対値和(sum of absolute difference、SAD)、差分変換絶対値和(sum of absolute transformed difference、SATD)などのいくつかの歪みコストで測定されることができる。一般的にはSATDに用いられる変換は、アダマール(Hadamard)変換、平均二乗誤差(mean-square error、MSE)などである。SAD、SATD、MSEなどの値が小さいほど、マッチングの度合いが高くなる。その位置に対応するテンプレートの予測ブロックと、現在ブロック周辺のテンプレートの再構成ブロックとを利用してコストを計算する。整数サンプル位置の検索に加えて、分数サンプル位置の検索を行うこともできる。検索されたマッチングの度合いが最も高い位置に基づいて、現在ブロックの動き情報を確定することができる。隣接するサンプル間の関連性を利用して、テンプレートに適した動き情報は、現在ブロックに適した動き情報である可能性がある。もちろん、テンプレートマッチング方法は必ずしもすべてのブロックに有効であるとは限らないため、いくつかの方法を利用して、現在ブロックに上記テンプレートマッチング方法が用いられるか否かを確定することができる。例えば、制御スイッチを現在ブロックに利用して、テンプレートマッチング方法が用いられるか否かを表す。このようなテンプレートマッチング方法の1つの名称は、デコーダー側動きベクトル導出(decoder side motion vector derivation、DMVD)である。エンコーダーとデコーダーはいずれも、テンプレートを利用して検索を行って動き情報を導出し、又は、元の動き情報に基づいてより良い動き情報を見つけることができる。具体的な動きベクトル又は動きベクトルの差分を伝送する必要がなく、エンコーダーとデコーダーの両方が同じルールに従って検索を行うことで、エンコーディングとデコーディングの一致性を確保する。テンプレートマッチング方法によって、圧縮性能を向上させることができるが、デコーダーは「検索」を行う必要もあり、デコーダーの一定の複雑度がもたらされる。
【0128】
以上、インター予測にテンプレートマッチングを適用する方法を記載したが、テンプレートマッチング方法は、イントラ予測に用いられることもできる。例えば、テンプレートを利用してイントラ予測モードを確定する。現在ブロックに対して同様に、現在ブロックの上側と左側の一定範囲内の領域をテンプレートとして利用することができ、例えば、依然として
図14に示された左側の矩形領域と上側の矩形領域が挙げられる。現在ブロックをコードするとき、テンプレート内の再構成サンプルが利用可能である。このプロセスは以下のように説明されることができる。現在ブロックに対して候補イントラ予測モードの集合を確定し、候補イントラ予測モードは全部の利用可能なイントラ予測モードの1つの部分集合(subset)を構成する。もちろん、候補イントラ予測モードは、全部の利用可能なイントラ予測モードの全体集合(universal set)であってもよい。それは、性能と複雑度とのトレードオフに基づいて確定されることができる。MPM又はいくつかのルール(例えば、等間隔スクリーニング)に従って候補イントラ予測モードの集合を確定することができる。各候補イントラ予測モードの、テンプレートにおけるコスト、例えば、SAD、SATD、MSEなどを計算する。そのモードを利用してテンプレートで予測を行って予測ブロックを取得し、予測ブロックとテンプレートの再構成ブロックを利用してコストを計算する。コストが小さいモードはテンプレートによりマッチングする可能性があり、隣接するサンプル間の類似性を利用して、テンプレートで良好な性能を示すイントラ予測モードは、現在ブロックで良好な性能を示すイントラ予測モードである可能性がある。コストの小さい1つ又は複数のモードを選択する。もちろん、上記2つのステップを繰り返してもよく、例えば、コストの小さい1つ又は複数のモードを選択した後、候補イントラ予測モードの集合を再び確定し、新たに確定された候補イントラ予測モードの集合に対してコストを再び計算し、コストの小さい1つ又は複数のモードを選択する。それは、粗選択と精選択であると理解されることもできる。最終的に選択された1つのイントラ予測モードを現在ブロックのイントラ予測モードとして確定し、又は、最終的に選択された複数のイントラ予測モードを現在ブロックのイントラ予測モードの候補とする。もちろん、テンプレートマッチング方法のみで候補イントラ予測モードの集合をソートすることもでき、例えば、MPMリストをソートし、即ち、MPMリストにおける各モードでは、テンプレートに対して予測ブロックを取得してコストを確定し、コストの昇順でそれらのモードをソートする。一般に、MPMリストにおいて、モードがより前に位置するほど、ビットストリームにおけるオーバーヘッドが少なくなる。それによって、圧縮効率を向上させることができる。
【0129】
テンプレートマッチング方法は、GPMの2つの予測モードを確定するために用いられることができる。テンプレートマッチング方法がGPMに用いられる場合、現在ブロックに対して、1つの制御スイッチを利用して、現在ブロックの2つの予測モードにテンプレートマッチングが利用されるか否かを制御することができ、又は、2つの制御スイッチを利用して、2つの予測モードのそれぞれにテンプレートマッチングが利用されるか否かをそれぞれ制御することができる。
【0130】
また、他の面はテンプレートマッチングを如何に利用するかということである。例えば、GPMがマージモードで利用される場合、例えば、VVCにおけるGPMでは、merge_gpm_idxXを利用してmergeCandListから1つの動き情報を確定し、Xは0又は1である。X番目の動き情報に対して、1つの方法は、上記動き情報に基づいてテンプレートマッチング方法を利用して最適化することである。即ち、merge_gpm_idxXに基づいてmergeCandListから1つの動き情報を確定し、当該動き情報に対してテンプレートマッチングを利用する場合、テンプレートマッチング方法を利用して上記動き情報に基づいて最適化する。もう1つの方法は、merge_gpm_idxXを利用してmergeCandListから1つの動き情報を確定するというのではなく、デフォルトの動き情報に基づいて直接に検索を行って1つの動き情報を確定することである。
【0131】
X番目の予測モードがイントラ予測モードであり、且つ現在ブロックのX番目の予測モードにテンプレートマッチング方法が利用される場合、ビットストリーム中にイントラ予測モードのインデックスを示す必要がなく、テンプレートマッチング方法を利用してイントラ予測モードを確定することができる。又は、テンプレートマッチング方法を利用して候補集合又はMPMリストを確定し、ビットストリーム中に当該イントラ予測モードのインデックスを示す必要がある。
【0132】
以上から分かるように、GPMは1つの重み行列と2つの予測モードという3つの要素を有する。GPMの利点は、重み行列によってより自主的な組合せを可能にすることである。他方で、GPMではより多くの情報を確定する必要があるため、ビットストリームにより多くのオーバーヘッドが必要となる。VVCにおけるGPMを例として、マージモードでVVCにおけるGPMが使用される。ビットストリームにおいて、merge_gpm_partition_idxで重み行列を確定し、merge_gpm_idx0で1番目の予測モードを確定し、merge_gpm_idx1で2番目の予測モードを確定する。重み行列と2つの予測モードのそれぞれに対して複数の可能な選択肢がある。例えば、VVCにおける重み行列に対して64の可能な選択肢がある。merge_gpm_idx0とmerge_gpm_idx1のそれぞれに対して、VVCにおいて最大許容で6つの可能な選択肢がある。VVCでは、merge_gpm_idx0とmerge_gpm_idx1が異なることが規定されている。それに応じて、GPMに対して65×6×5の可能な選択肢がある。また、MMVDが2つの動き情報(予測モード)の最適化に用いられる場合、各予測モードに対して複数の可能な選択肢を提供できる。その結果、かなり大きな数になる。
【0133】
GPMに2つのイントラ予測モードが使用され、VVCにおける67種の普通のイントラ予測モードが各予測モードに適用可能であり、且つ2つのイントラ予測モードが異なる場合、64×67×66種の可能な選択肢がある。もちろん、オーバーヘッドを節約するために、すべての普通のイントラ予測モードのサブセットのみが各予測モードに適用可能であることを制限できるが、依然として多数の可能な選択肢がある。
【0134】
現在、GPMにおける1つの重み導出モードと2つの予測モードに対して、それぞれのルールに従って、必要な情報をビットストリームに別々に伝送する必要がある。例えば、1つの重み導出モードは独自の1つ又は複数のシンタックス要素を有し、1番目の予測モードは独自の1つ又は複数のシンタックス要素を有し、2番目の予測モードは独自の1つ又は複数のシンタックス要素を有する。もちろん、規格では、場合によっては2番目の予測モードと1番目の予測モードとが同じであってはならないとか、いくつかの最適化方法を2つの予測モードの両方に使用できる(現在ブロックに使用されるとも理解できる)と制限することができるが、三者はシンタックス要素のシグナリング(即ち書き込み)と解析という点では独立している。即ち、重み導出モードと予測モードを示すには多くの符号語が必要であり、コーディングのオーバーヘッドが大きくなる。
【0135】
さらに、同一空間内の異なる成分間には強い相関性があるため、ビデオコーディング技術では、この相関性を利用して圧縮効率を向上させることができる。いくつかの場合では、同一空間において、まず第1成分をコードし、次に第2成分及び第3成分をコードすることで、第1成分のいくつかの情報が第2成分及び第3成に用いられることができる。典型的な例は、クロス成分線形モデル(cross-component linear model、CCLM)予測である。同じCUにおいて、彩度成分のサンプルは、輝度成分の再構成サンプルを用いて予測されることができる。具体的に、次の式に示す通りである。
は、位置(i,j)にある彩度サンプルの予測値を表し、
は、位置(i,j)にあるダウンサンプリングされた彩度サンプルの再構成値を表す。CCLMのパラメータ(αとβ)は、現在のCUの隣接のダウンサンプリングされた輝度サンプルと彩度サンプルに基づいて導出される。
【0136】
一例において、
図15に示すように、基本原理は、現在のCUに隣接する輝度サンプルと彩度サンプルを用いて線形モデルを導出し、この線形モデルを現在のCUに使用し、輝度の再構成された値とこの線形モデルに基づいて彩度の予測値を確定することである。
【0137】
しかし、いくつかの場合では、1つの彩度CUが複数の輝度CUに対応する可能性があり、且つ異なる輝度CUの予測モードが異なる可能性があるため、この場合、CCLMでは複雑なテクスチャを有する彩度ブロックを精確に予測することができない。
【0138】
上記技術的課題を解決するために、本出願の実施形態では、カレント成分ブロックに対応する第1の重み導出モードとK個の第1の予測モードを1つの組合せとし、組合せの形態で第1の重み導出モードとK個の第1の予測モードを示す。このようにして、K個の第1の予測モードと第1の重み導出モードのそれぞれに対応するシンタックスをビットストリームに別々に伝送する必要がなくなり、符号語を節約して、コーディング効率を向上させることができる。また、本出願の実施形態において、カレント成分ブロックが複数の第1成分コーディングユニット(coding unit、CU)に対応し、且つ複数の第1成分CUの予測モードが完全に同じであるというわけではない場合でも、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードを精確に確定でき、さらに、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを精確に予測することができる。
【0139】
以下、
図16を参照しながら、デコーディング側を例として、本出願の実施形態に係るビデオデコーディング方法を説明する。
【0140】
図16は、本出願の実施形態に係るビデオデコーディング方法を示すフローチャートである。本出願の実施形態は
図1及び
図3に示されたビデオデコーダーに適用される。
図16に示されているように、本出願の実施形態の方法は、以下の内容を含む。
【0141】
S101:ビットストリームをデコードして、第1組合せを確定する。
【0142】
第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、Kは1より大きい正の整数である。
【0143】
画像フォーマットは、YUV、YCrCb、RGBなどを含む。YUVフォーマットでは、Yは輝度成分を表し、UとVはそれぞれ彩度成分を表す。Yは第1成分とも呼ばれ、Uは第2成分とも呼ばれ、Vは第3成分とも呼ばれる。YCrCbフォーマットでは、Yは輝度成分を表し、CrとCbはそれぞれ彩度成分を表す。Yは第1成分とも呼ばれ、Crは第2成分とも呼ばれ、Cbは第3成分とも呼ばれる。いくつかの実施形態において、RGBフォーマットでは、Gは第1成分と呼ばれ、Bは第2成分と呼ばれ、Rは第3成分と呼ばれる。
【0144】
いくつかの実施形態では、コーディング中に、CTUの第1成分は少なくとも1つの第1成分ブロックに分割され、CTUの第2成分は少なくとも1つの第2成分ブロックに分割され、CTUの第3成分は少なくとも1つの第3成分ブロックに分割され得る。
【0145】
本出願の実施形態では、K個の異なる予測モードを使用してカレント成分ブロックが予測される。カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む。
【0146】
上記から分かるように、1つの重み導出モードとK個の予測モードの両方に基づいて予測ブロックが生成され、当該予測ブロックはカレント成分ブロックに用いられる。即ち、第1の重み導出モードに基づいて重みが確定され、K個の第1の予測モードに基づいてカレント成分ブロックが予測されて、K個の予測値が得られ、重みに基づいてK個の予測値が重み付けされて、カレント成分ブロックの予測値が得られる。このように、この第1組合せに含まれる第1の重み導出モードとK個の第1の予測モードがともにカレント成分ブロックに用いられ、互いに関連していることが分かる。
【0147】
本出願では、第1の重み導出モードは、カレント成分ブロックに用いられる重みを確定するために用いられる。具体的に、第1の重み導出モードは、重みを導出するモードであることができる。所定の長さ及び幅を有するブロックに対して、重み導出モードごとに1つの重み行列を導出することができる。同じサイズを有するブロックに対して、異なる重み導出モードによって導出される重み行列が異なる。
【0148】
例えば、本出願では、AWPには56種の重み導出モードがあり、GPMには64種の重み導出モードがある。
【0149】
上記第1組合せに含まれるK個の異なる第1の予測モードは、以下のいくつかの例を含む。
【0150】
例1:上記K個の異なる第1の予測モードはいずれもイントラ予測モードであり、例えば、カレント成分ブロックはイントラコーディングブロック(intra-coding block)であり、スクリーンコンテンツコーディング(screen content coding)が適用されない。
【0151】
例2:上記K個の異なる第1の予測モードはいずれもインター予測モードであり、例えば、カレント成分ブロックはインターコーディングブロック(inter-coding block)である。
【0152】
例3:上記K個の異なる第1の予測モードのうち、少なくとも1つはイントラ予測モードであり、少なくとも1つはインター予測モードである。
【0153】
例4:上記K個の異なる第1の予測モードのうち、少なくとも1つはイントラ予測モードであり、少なくとも1つは非インター予測モード且つ非イントラ予測モードであり、例えば、イントラブロックコピー(IBC)予測モード又はパレット(palette)予測モードなどが挙げられる。
【0154】
例5:上記K個の異なる第1の予測モードのうち、少なくとも1つはインター予測モードであり、少なくとも1つは非インター予測モード且つ非イントラ予測モードであり、例えば、IBC予測モード又はパレット予測モードなどが挙げられる。
【0155】
例6:上記K個の異なる第1の予測モードはいずれもイントラ予測モードではなく、インター予測モードでもなく、例えば、1つの第1の予測モードはIBC予測モードであり、1つの第1の予測モードはパレット予測モードである。
【0156】
なお、本出願の実施形態は、第1組合せに含まれるK個の異なる第1の予測モードの具体的な種類を限定しない。
【0157】
いくつかの実施形態では、第1組合せを確定する前に、まず、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用するか否かを確定する必要がある。デコーディング側は、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用すると確定した場合、上記S101を実行し、即ち、ビットストリームをデコードして、第1組合せを確定する。デコーディング側は、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用しないと確定した場合、上記ステップS101をスキップする。
【0158】
1つの可能な実施形態では、デコーディング側は、カレント成分ブロックの予測モードパラメータを確定することによって、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用するか否かを確定することができる。
【0159】
選択的に、本出願の実施形態において、予測モードパラメータは、カレント成分ブロックにGPMモード又はAWPモードを使用できるか否かを示すことができ、即ち、予測のためにカレント成分ブロックにK個の異なる予測モードを使用できるか否かを示すことができる。
【0160】
なお、本出願の実施形態において、予測モードパラメータは、GPMモード又はAWPモードを使用したか否かを示すフラグとして理解され得る。具体的に、エンコーダーは、1つの変数を予測モードパラメータとして使用でき、それによって、当該変数の値の設定で予測モードパラメータの設定を実現できる。例示的に、本出願では、カレント成分ブロックにGPMモード又はAWPモードを使用する場合、エンコーダーは、予測モードパラメータの値を、カレント成分ブロックにGPMモード又はAWPモードを使用することを示すものに設定することができ、具体的に、エンコーダーは変数の値を1に設定することができる。例示的に、本出願では、カレント成分ブロックにGPMモード又はAWPモードを使用しない場合、エンコーダーは、予測モードパラメータの値を、カレント成分ブロックにGPMモード又はAWPモードを使用しないことを示すものに設定することができ、具体的に、エンコーダーは変数の値を0に設定することができる。さらに、本出願の実施形態において、エンコーダーは、予測モードパラメータの設定を完了した後、予測モードパラメータをビットストリームにシグナリングして、デコーダーに伝送することができる。それによって、デコーダーは、ビットストリームを解析した後、予測モードパラメータを取得することができる。
【0161】
上記に基づいて、デコーディング側は、ビットストリームをデコードして、予測モードパラメータを取得し、さらに、当該予測モードパラメータに基づいて、カレント成分ブロックにGPMモード又はAWPモードを使用するか否かを確定する。カレント成分ブロックにGPMモード又はAWPモードフラグを使用する場合、即ち、K個の異なる予測モードを使用して予測を行う場合、カレント成分ブロックの重み導出モードを確定する。
【0162】
いくつかの実施形態では、表5に示すように、本出願の実施形態では、カレント成分ブロックにGPMモード又はAWPモードを使用することに対して条件を付くこともできる。即ち、カレント成分ブロックが予め設定された条件を満たすと判断した場合、重み付け予測を行うためにカレント成分ブロックにK個の予測モードを使用すると確定する。さらに、デコーディング側はビットストリームをデコードして第1組合せを確定する。
【0163】
例示的に、GPMモード又はAWPモードを使用する場合、カレント成分ブロックのサイズが制限されることができる。
【0164】
なお、本出願の実施形態に係る予測方法では、K個の異なる予測モードのそれぞれを利用してK個の予測値を生成し、重みに基づいてK個の予測値を重み付けして、カレント成分ブロックの予測値を得る必要がある。複雑度を低減するために、また、圧縮性能と複雑度とのトレードオフを考慮して、本出願の実施形態では、ある特定のサイズを有するブロックにGPMモード又はAWPモードを使用しないよう制限することができる。従って、本出願では、デコーダーは、まず、カレント成分ブロックのサイズパラメータを確定し、次に、サイズパラメータに応じて、カレント成分ブロックにGPMモード又はAWPモードを使用するか否かを確定することができる。
【0165】
本出願の実施形態において、カレント成分ブロックのサイズパラメータは、カレント成分ブロックの高さ及び幅を含むことができる。従って、デコーダーは、カレント成分ブロックの高さ及び幅に基づいて、カレント成分ブロックにGPMモード又はAWPモードを使用するか否かを確定することができる。
【0166】
例示的に、本出願では、幅が第1の閾値より大きく且つ高さが第2の閾値より大きい場合、カレント成分ブロックにGPMモード又はAWPモードを使用できると確定する。上記から分かるように、1つの可能な制限は、ブロックの幅が第1の閾値より大きく(又は第1の閾値以上であり)且つブロックの高さが第2の閾値より大きい(又は第2の閾値以上である)場合にのみ、GPMモード又はAWPモードを使用することである。第1の閾値と第2の閾値の値は、4、8、16、32、128、256などであってもよく、第1の閾値は第2の閾値に等しくてもよい。
【0167】
例示的に、本出願では、幅が第3閾値より小さく且つ高さが第4閾値より大きい場合、カレント成分ブロックにGPMモード又はAWPモードを使用できると確定する。上記から分かるように、1つの可能な制限は、ブロックの幅が第3閾値より小さく(又は第3閾値以下であり)且つブロックの高さが第4閾値より大きい(又は第4閾値以上である)場合にのみ、GPMモード又はAWPモードを使用することである。第3閾値と第4閾値の値は、4、8、16、32、128、256などであってもよく、第3閾値は第4閾値に等しくてもよい。
【0168】
さらに、本出願の実施形態において、サンプルパラメータへの制限によって、GPMモード又はAWPモードを使用できるブロックのサイズを制限することができる。
【0169】
例示的に、本出願において、デコーダーは、まず、カレント成分ブロックのサンプルパラメータを確定し、次に、サンプルパラメータ及び第5閾値に基づいて、カレント成分ブロックにGPMモード又はAWPモードを使用できるか否かを確定することができる。上記から分かるように、1つの可能な制限は、ブロック内のサンプル数が第5閾値より大きい(又は第5閾値以上である)場合にのみ、GPMモード又はAWPモードを使用することである。第5閾値の値は、4、8、16、32、128、256、1024などであってもよい。
【0170】
即ち、本出願において、カレント成分ブロックのサイズパラメータがサイズ要件を満たすという条件下でのみ、カレント成分ブロックにGPMモード又はAWPモードを使用できる。
【0171】
例示的に、本出願では、本出願がデコードされようとする現在画像に使用されるか否かを確定するための画像レベルのフラグが存在し得る。例えば、本出願がイントラフレーム(例えば、Iフレーム)に使用され、インターフレーム(例えば、Bフレーム、Pフレーム)に使用されないように構成されることができる。又は、本出願がイントラフレームに使用されず、インターフレームに使用されるように構成されることもできる。又は、本出願がインターフレームの一部に使用され、インターフレームの他の一部に使用されないように構成されることもできる。インターフレームにイントラ予測を利用することもできるため、本出願がインターフレームに使用される可能性もある。
【0172】
いくつかの実施形態では、この領域に本出願を使用するか否かを確定するために、画像レベル以下且つCUレベル以上(例えば、タイル、スライス、パッチ、LCUなど)のフラグも存在し得る。
【0173】
本出願の実施形態は、上記S101におけるビットストリームをデコードして、第1組合せを確定する具体的な方式を限定しない。
【0174】
いくつかの実施形態では、第1組合せは予め設定された組合せである。即ち、デコーディング側はビットストリームをデコードする。カレント成分ブロックに第1組合せを使用して予測を行うと確定した場合、予め設定された組合せを第1組合せとして確定し、当該第1組合せに含まれる第1の重み導出モードとK個の第1の予測モードとを使用して、カレント成分ブロックを予測する。
【0175】
いくつかの実施形態では、複数の予め設定された組合せから第1組合せが確定される。例えば、複数の予め設定された組合せは、2つ、3つ、4つ、5つ、6つ、7つ、8つ、9つなどの任意の数の組合せを含む。8つの組合せが含まれ、各組合せが1つの重み導出モードとK個の予測モードを含み、8つの組合せが異なるフラグ(又はインデックス)を有すると仮定すると、デコーディング側はビットストリームをデコードして、第1組合せを示すために用いられる第1インデックスを得ることができる。次に、これら複数の予め設定された組合せから、第1インデックスに対応する組合せをクエリし(query)、第1インデックスに対応する組合せを第1組合せとして確定する。
【0176】
いくつかの実施形態では、デコーディング側とエンコーディング側はいずれもリストを確定する。当該リストは、複数の候補組合せを含むため、候補組合せのリストとも呼ばれる。この候補組合せのリストから、第1インデックスに対応する第1組合せが確定される。この場合、上記S101は以下のステップを含む。
【0177】
S101-A:ビットストリームをデコードして、候補組合せのリストを確定する。当該候補組合せのリストは少なくとも1つの候補組合せを含み、当該少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む。
【0178】
S101-B:候補組合せのリストに基づいて第1組合せを確定する。
【0179】
上記候補組合せのリストは少なくとも1つの候補組合せを含み、少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む。
【0180】
例示的に、候補組合せのリストを表5に示す。
【0181】
【0182】
表5に示すように、候補組合せのリストは少なくとも1つの候補組合せを含み、この少なくとも1つの候補組合せのうちの任意の2つの候補組合せが完全に同じであるというわけではなく、即ち、任意の2つの候補組合せは、重み導出モードとK個の予測モードのうちの少なくとも1つが異なる。例えば、候補組合せ1における重み導出モードと候補組合せ2における重み導出モードとが異なる。又は、候補組合せ1における重み導出モードと候補組合せ2における重み導出モードとが同じであるが、候補組合せ1におけるK個の予測モードと候補組合せ2におけるK個の予測モードとは、少なくとも1つの予測モードが異なる。又は、候補組合せ1における重み導出モードと候補組合せ2における重み導出モードとが異なり、且つ候補組合せ1におけるK個の予測モードと候補組合せ2におけるK個の予測モードとは、少なくとも1つの予測モードが異なる。
【0183】
例示的に、上記表5では、候補組合せのリストにおける候補組合せの順序を候補組合せのインデックスとする。選択的に、候補組合せのリストにおける候補組合せのインデックスを他の方式で表してもよい。本出願の実施形態では、それについては限定されない。
【0184】
当該実施形態では、デコーディング側が候補組合せのリストに基づいて第1組合せを確定する方式は以下のいくつかの方式を含むが、これらに限定されない。
【0185】
方式1:候補組合せのリストは1つの候補組合せを含む。この場合、当該候補組合せのリストに含まれる候補組合せを、第1組合せとして確定する。
【0186】
方式2:候補組合せのリストは複数の候補組合せを含む。この場合、ビットストリームをデコードして、第1インデックスを取得する。当該第1インデックスは第1組合せを示すために用いられる。当該候補組合せのリスト内の第1インデックスに対応する候補組合せを、第1組合せとして確定する。
【0187】
この方式2において、デコーディング側は、ビットストリームをデコードして、第1インデックスを取得し、上記表5に示す候補組合せのリストを確定し、第1インデックスに基づいて当該候補組合せのリストからクエリして、当該第1インデックスによって示される第1組合せを取得する。
【0188】
例えば、第1インデックスはインデックス1であり、表5に示す候補組合せのリストにおいて、インデックス1に対応する候補組合せは候補組合せ2であり、即ち、第1インデックススによって示される第1組合せは候補組合せ2である。このように、デコーディング側は、候補組合せ1に含まれる重み導出モード及びK個の予測モードを、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードとして確定し、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【0189】
本出願の実施形態において、エンコーディング側とデコーディング側はそれぞれ、同じ候補組合せのリストを確定してもよい。例えば、エンコーディング側とデコーディング側はいずれも、N個の候補組合せを含むリストを確定する。各候補組合せは、1つの重み導出モードとK個の予測モードを含む。Nが1より大きい場合、エンコーディング側は、最終的に選択された1つの候補組合せ(例えば第1組合せ)のみをビットストリームにシグナリングすればよく、デコーディング側は、エンコーディング側によって最終的に選択された第1組合せを解析し、具体的に、デコーディング側はビットストリームをデコードして、第1インデックスを取得し、第1インデックスに基づいて、デコーディング側によって確定された候補組合せのリストから第1組合せを確定する。
【0190】
本出願の実施形態は、第1インデックスの具体的なシンタックス要素の形式を限定しない。
【0191】
1つの可能な実施形態では、GPM技術を使用してカレント成分ブロックを予測する場合、gpm_cand_idxで第1インデックスを示す。
【0192】
上記第1インデックスが第1組合せを示すために用いられるため、いくつかの実施形態では、当該第1インデックスは、第1組合せインデックス又は第1組合せのインデックスとも呼ばれてもよい。
【0193】
一例において、ビットストリームに第1インデックスを追加した後のシンタックスを表6に示す。
【0194】
【0195】
gpm_cand_idxは第1インデックスである。
【0196】
本出願の実施形態では、符号語を節約してコーディングコストを低減するために、カレント成分ブロックに対応する第1の重み導出モードとK個の第1の予測モードを1つの組合せ、即ち第1組合せとし、第1インデックスを使用して当該第1組合せを示す。第1の重み導出モードとK個の第1の予測モードをそれぞれ示す場合と比べて、本出願の実施形態では、使用される符号語が少なくなるため、コーディングコストが低減される。
【0197】
以下、上記S101-Aにおける候補組合せのリストを確定する具体的なプロセッサを説明する。
【0198】
いくつかの実施形態では、上記候補組合せのリストは予め設定されたものである。
【0199】
いくつかの実施形態では、上記候補組合せのリストは、エンコーディング側からデコーディング側へ送信される。例えば、エンコーディング側は、カレント成分ブロックをエンコードする前に、上記候補組合せのリストをデコーディング側に送信する。
【0200】
いくつかの実施形態では、上記候補組合せのリストはエンコーディング側からクラウドにアップロードされ、デコーディング側はクラウドから当該候補組合せのリストを読み取ることができる。
【0201】
いくつかの実施形態では、上記候補組合せのリストはデコーディング側によって構築される。
【0202】
本出願の実施形態は、デコーディング側が候補組合せのリストを構築する方式を限定しない。例えば、カレント成分ブロックに関連する情報を用いて、異なる重み導出モードと異なる予測モードとからなる各組合せの確率を分析し、各組合せの確率に応じて候補組合せのリストを構築する。
【0203】
選択的に、カレント成分ブロックに関連する情報は、カレント成分ブロックの隣接ブロックのモード情報、カレント成分ブロックに対応する第1成分ブロックの再構成サンプルなどを含む。
【0204】
いくつかの実施形態では、デコーディング側は、以下のS101-A1のステップによって、候補組合せのリストを構築する。
【0205】
S101-A1:ビットストリームをデコードして、カレント成分ブロックに対応する第1成分ブロックを確定する。
【0206】
S101-A2:第1成分ブロックに基づいて候補組合せのリストを構築する。
【0207】
現在、ビデオコーディングでは、画像はブロックに分割されて処理される。例えば、VVCでは、画像はCTUに分割される。VVCにおいて許容されるCTUのサイズは128×128である。CTUは、より柔軟なCUにさらに分割されることができる。VVCは、2分木分割(binary tree partitioning)、3分木分割(ternary tree partitioning)、4分木分割(quadtree partitioning)をサポートする。例えば、
図17A~
図17Dはそれぞれ、垂直2分木分割、水平2分木分割、垂直3分木分割、水平3分木分割のそれぞれを示す概略図である。
【0208】
図17Eは、CTU分割を示す概略図である。太い枠線を有するブロックに4分木分割が使用され、細い枠線を有するブロックに2分木分割と3分木分割が使用される。図から分かるように、分割されたいくつかのブロックはさらに分割されることができる。もちろん、性能と複雑さのトレードオフを考慮していくつかの制限が設けられる。本出願の実施形態ではそれについては限定されない。
【0209】
現在、ビデオコーディングではYUV4:2:0フォーマットが最も一般的にサポートされている。Yは輝度成分を表し、UとVはそれぞれ彩度成分を表す。YUV4:2:0フォーマットでは、人間の目が輝度に対して敏感であるが、彩度に対して敏感ではないという特性を利用して、輝度と比べて彩度のサンプリングレートが下げられている。即ち、水平方向と垂直方向の両方では、2つの輝度成分のサンプルごとに、1つの彩度成分U又は1つの彩度成分Vのサンプルに対応する。それは圧縮効率の向上に役立つ。人間の目が輝度に対して敏感であるが、彩度に対して敏感ではないため、輝度成分がより重要であると考えられている。従って、一般的なビデオコーディング規格では、まず輝度成分がエンコードされ、次に彩度成分がエンコードされる。
【0210】
ブロック分割については、いくつかの実施形態では、輝度成分と彩度成分に対して同じブロック分割方式が使用される。
【0211】
しかしながら、彩度のサンプリングレートが低く、彩度に対する品質要求は通常、輝度に対する品質要求ほど高くないため、いくつかの実施形態では、彩度成分のブロッ分割と輝度成分のブロック分割とは異なってもよい。例えば、
図17Fに示すように、左側の輝度成分のブロック分割は右側の彩度成分のブロック分割より細かい。
【0212】
なお、ビデオコーディングでは、YUV4:2:0フォーマットだけでなく、YUV4:4:4、YUV4:2:1、RGBなどの他のフォーマットもサポートされている。
【0213】
図17Fに示すように、カレント成分ブロックが右側のグレーの成分ブロックであり、当該グレーの成分ブロックと同じ空間にある第1成分ブロックが、
図17Fにおける左側のグレー領域であり、当該左側のグレー領域には10個の第1成分CUが含まれると仮定する。
【0214】
上記
図17Fから分かるように、カレント成分ブロックと同じ空間にある第1成分ブロックとは、カレント成分ブロックと同じ空間位置にあり、同じ空間サイズを有する第1成分ブロックを指す。カレント成分ブロックが彩度ブロックであり、第1成分ブロックが輝度ブロックであることを例として、異なるビデオフォーマットにより、彩度ブロックのサイズと輝度ブロックのサイズとは異なる可能性がある。例えば、YUV4:4:4フォーマットのビデオの場合、彩度ブロックのサイズと輝度ブロックのサイズとは同じである。YUV4:2:0フォーマットのビデオの場合、輝度ブロックのサイズは彩度ブロックのサイズの4倍である。
【0215】
彩度ブロックのサイズと輝度ブロックのサイズとが異なる可能性があるため、同じ空間位置にあり且つ同じ空間サイズを有する彩度ブロックと輝度ブロックとは同じ座標を有しない可能性がある。例えば、ビデオフォーマットYUV4:2:0では、彩度ブロックは、左上隅の座標(x0,y0)、幅width、高さheightに基づいて確定されたブロックであり、同じ空間にある輝度ブロックは、左上隅の座標(x0*2,y0*2)、幅width*2、高さheight*2に基づいて確定されたブロックであることができる。別の例として、ビデオフォーマットYUV4:4:4では、彩度ブロックは、左上隅の座標(x0,y0)、幅width、高さheightに基づいて確定されたブロックであり、同じ空間にある輝度ブロックは、左上隅の座標(x0,y0)、幅width、高さheightに基づいて確定されたブロックであることができる。
【0216】
さらに、いくつかの実施形態では、独立したブロック分割が彩度ブロックと輝度ブロックのそれぞれに用いられるため、彩度デコーディングブロックに対応する輝度ブロックは、輝度成分を分割することによって得られたデコーディングブロックと一致せず、空間的位置と空間的サイズの面で彩度デコーディングブロックに対応する輝度領域である可能性がある。即ち、本出願の実施形態では、カレント成分ブロックに対応する第1成分ブロックは、カレント成分ブロックと同じ空間的範囲を有する第1成分ブロックと理解されることができる。
【0217】
デコーディングの場合、通常、まず輝度成分がデコードされ、次に彩度成分がデコードされる。従って、本出願の実施形態では、カレント成分ブロックをデコードする際、まずビットストリームをデコードし、カレント成分ブロックに対応する第1成分ブロックをデコードして、第1成分ブロックの再構成値を得る。そして、第1成分ブロックをカレント成分ブロックのテンプレートとし、カレント成分ブロックをデコードする。
【0218】
カレント成分ブロックに対応する第1成分ブロックと、カレント成分ブロックとは関連性を有するため、本出願の実施形態では、第1成分ブロックに基づいて、カレント成分ブロックの候補組合せのリストを構築する。
【0219】
例えば、各組合せに対して、その組合せを使用して第1成分ブロックを予測して、各組合せに対応する第1成分ブロックの予測値を得、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。例えば、各組合せに対して、当該組合せに含まれる重み導出モードを使用して第1成分ブロックの重みを導出し、当該組合せに含まれるK個の予測モードの各々を使用して第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、導出された第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、当該組合せに対応する第1成分ブロックの予測値を得る。最後に、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。
【0220】
なお、重み導出モードに基づいて導出される上記重みは、第1成分ブロック内の各サンプルに対応する重み、又は第1成分ブロックに対応する重み行列として理解され得る。重みに基づいて第1成分ブロックの予測値を確定する際、第1成分ブロック内の各サンプルに対応するK個の予測値を確定し、各サンプルに対応するK個の予測値及び重みに基づいて各サンプルに対応する予測値を確定することができる。第1成分ブロック内の各サンプルに対応する予測値は第1成分ブロックの予測値を構成する。選択的に、重みに基づいて第1成分ブロックの予測値を確定することは、ブロックに基づいて実行されることができ、例えば、第1成分ブロックの予測値を確定し、第1成分ブロックの重み行列に基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を取得することもできる。
【0221】
いくつかの実施形態において、S101-A2は、以下のS101-A21~S101-A23のステップを含む。
【0222】
S101-A21:R個の第2組合せを確定する。R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、Rは1より大きい正の整数である。
【0223】
S101-A22:R個の第2組合せのうちのいずれか1つに対して、その第2組合せを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。
【0224】
S101-A23:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0225】
本実施形態において、デコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モードとK個の予測モードを含む。次に、R個の第2組合せの各々に対して、その第2組合せを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。最後に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0226】
カレント成分ブロックに対応する第1成分ブロックが再構成された領域であるため、デコーディング側は、第1成分ブロックの再構成値を得ることができる。それによって、R個の第2組合せの各々に対して、その第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、その第2組合せに対応する予測歪みコスト(prediction distortion cost)を確定することができる。第2組合せに対応するコストを確定する方式は、SAD、SATD、SEEなどを含むが、これらに限定されない。次に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0227】
本出願の実施形態では、S101-A22における第2組合せを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定することは、少なくとも以下の2つの方式を含む。
【0228】
1番目の方式では、第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定する。第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【0229】
2番目の方式では、第2組合せにおける重み導出モードに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定する。第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定する。第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定する。
【0230】
当該2番目の方式では、K=2を例として、第1成分ブロックの重みは、0と1という2つの可能性のみを有するように簡素化されることができる。各サンプル位置について、そのサンプル値は、第1の予測モードに対応する予測ブロック又は第2の予測モードに対応する予測ブロックのみからのものである。従って、1つ予測モードに対して、ある重み導出モードでその予測モードを第1の予測モードとする場合の第1成分ブロックのコストを計算し、即ち、その重み導出モードでその予測モードを第1の予測モードとする場合の第1成分ブロック内の重みが1である一部のサンプルのコストのみを計算する。一例では、そのコストはcost[pred_mode_idx][gpm_idx][0]として記され、pred_mode_idxはその予測モードのインデックスを表し、gpm_idxはその重み導出モードのインデックスを表し、0はその予測モードを第1の予測モードとすることを表す。
【0231】
そして、ある重み導出モードでその予測モードを第2の予測モードとする場合の第1成分ブロックのコストを計算し、即ち、その重み導出モードでその予測モードを第2の予測モードとする場合の第1成分ブロック内の重みが1である一部のサンプルのコストのみを計算する。一例では、そのコストはcost[pred_mode_idx][gpm_idx][1]として記され、pred_mode_idxはその予測モードのインデックスを表し、gpm_idxはその重み導出モードのインデックスを表し、1はその予測モードを第2の予測モードとすることを表す。
【0232】
そして、組合せに対応するコストを計算する際、対応する上記2つのコストを直接に加算することができる。例として、重み導出モードgpm_idxでの予測モードpred_mode_idx0とpred_mode_idx1に対応するコストを計算する(pred_mode_idx0は第1の予測モードとされ、pred_mode_idx1は第2の予測モードとされ、コストはcostTempとして記される)場合、costTemp=cost[pred_mode_idx0][gpm_idx][0]+ cost[pred_mode_idx1][gpm_idx][1]である。重み導出モードgpm_idxでの予測モードpred_mode_idx0とpred_mode_idx1に対応するコストを計算する(pred_mode_idx1は第1の予測モードとされ、pred_mode_idx0は第2の予測モードとされ、コストはcostTempとして記される)場合、costTemp=cost[pred_mode_idx1][gpm_idx][0]+ cost[pred_mode_idx0][gpm_idx][1] である。
【0233】
このようにする1つの利点は、重み付けで予測ブロックを得てからコストを計算することが、2つのコストを直接に計算してから2つのコストを加算して組合せに対応するコストを得ることに簡素化されることである。1つの予測モードが他の複数の予測モードと組合せされる可能性があり、同じ重み導出モードに対してその予測モードを第1の予測モードとする場合のコストと、その予測モードを第2の予測モードとする場合のコストとが固定されているため、これらのコスト、即ち、上記例におけるcost[pred_mode_idx][gpm_idx][0]とcost[pred_mode_idx][gpm_idx][1]を残して再利用することで、計算量を削減することができる。
【0234】
以上方法に基づいて、R個の第2組合せの各々に対応するコストが確定されることができ、次に、S101-A23が実行される。
【0235】
S101-A23におけるR個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する方式は、以下のいくつかの例を含むが、これらに限定されない。
【0236】
例1では、R個の第2組合せの各々に対応するコストに基づいて、R個の第2組合せをソートする。ソートされたR個の第2組合せを、候補組合せのリストとして確定する。
【0237】
この例1において生成された候補組合せのリストは、R個の候補組合せを含む。
【0238】
選択的に、コストの昇順でその候補組合せのリストにおけるR個の候補組合せをソートする。即ち、候補組合せのリストにおけるR個の候補組合せに対応するコストは、ソート順に従って次第に大きくなる。
【0239】
R個の第2組合せの各々に対応するコストに基づいてR個の第2組合せをソートすることは、コストの昇順でR個の第2組合せをソートすることであってもよい。
【0240】
例2では、第2組合せに対応するコストに基づいて、R個の第2組合せからN個の第2組合せを選択し、これらN個の第2組合せからなるリストを候補組合せのリストとして確定する。
【0241】
選択的に、上記N個の第2組合せは、R個の第2組合せのうちのコストが最も小さい最初のN個の第2組合せである。例えば、R個の第2組合せの各々に対応するコストに基づいて、R個の第2組合せからコストが最も小さいN個の第2組合せを選択して、これらN個の第2組合せで候補組合せのリストを構成する。この場合、候補組合せのリストはN個の候補組合せを含む。
【0242】
選択的に、その候補組合せのリストにおけるN個の候補組合せは、コストの昇順でソートされる。即ち、候補組合せのリストにおけるN個の候補組合せに対応するコストは、ソート順に従って次第に大きくなる。
【0243】
以下、上記S101-A21におけるR個の第2組合せを確定するプロセスについて説明する。
【0244】
いくつかの実施形態では、上記R個の第2組合せは予め設定されたものである。このように、R個の予め設定された第2組合せの各々を使用して第1成分ブロックを予測して、各第2組合せに対応する第1成分ブロックの予測値を得、次に、各第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、各第2組合せに対応するコストを確定する。各第2組合せに対応するコストに基づいて、R個の第2組合せをソートし、ソートされたR個の第2組合せを候補組合せのリストとし、又は、ソートされたR個の第2組合せからコストが最も小さいN個の第2組合せを選択して候補組合せのリストを構成する。
【0245】
いくつかの実施形態において、S101-A21は以下のステップを含む。
【0246】
S101-A21-1:P個の重み導出モードとQ個の予測モードを確定する。Pは正の整数であり、QはK以上の正の整数である。
【0247】
S101-A21-2:P個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、P個の重み導出モードのうちの1つの重み導出モードと、Q個の予測モードのうちのK個の予測モードとを含む。Pは正の整数であり、QはK以上の正の整数である。
【0248】
この実施形態では、デコーディング側は、まず、P個の重み導出モードとQ個の予測モードを確定し、次に、確定されたP個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築する。
【0249】
例として、第2組合せは1つの重み導出モードと2つの予測モードを含む。P個の重み導出モードが重み導出モード1と重み導出モード2であり、Q個の予測モードが予測モード1、予測モード2、予測モード3であると仮定すると、これら2つの重み導出モードと3つの予測モードで、2×3×2個、即ち12個の第2組合せを構成することができる。
【0250】
本出願の実施形態では、上記P個の重み導出モード及びQ個の予測モードの具体的な数が限定されない。
【0251】
1つの可能な実施形態では、カレント成分ブロックがイントラコーディングブロックであり、GPMには64種の可能な重み導出モードがあり、GPMには67種の可能なイントラ予測モードがあると仮定する。これらはVVCの規格から見つけられることができる。しかし、GPMの可能な重みが64種しかないと限定するのではなく、特定の64種に限定するのでもない。VVCにおけるGPMの64種の選択は、予測効果の向上とビットストリームのオーバーヘッドの削減とのトレードオフを考慮したものである。また、本出願では、重み導出モードをエンコードするために固定なロジックを使用しなくなったため、理論的には、より多様な重みを本出願に使用することができ、また、より柔軟に使用することができる。同様に、GPMのイントラ予測モードが67種しかないと限定するのではなく、特定の67種に限定するのでもない。理論的には、すべての可能なイントラ予測モードをGPMに使用することができる。例えば、イントラ角度予測モードをより細かくにして、より多くのイントラ角度予測モードを生成すれば、GPMにより多くのイントラ角度予測モードを使用することもできる。例えば、VVCにおけるMIPモードを本出願に使用することもできるが、MIPには複数のサブモードがあり且つ選択可能であることを考慮して、ここでは理解を容易にするため、本実施形態にMIPを追加しない。また、広角モード(wide-angle mode)もあり、これも本出願に使用可能であるが、本実施形態では説明を省略する。
【0252】
K=2であると仮定し、上記K個の予測モードは1番目の予測モードと2番目の予測モードを含む。利用可能なすべての予測モードが67種あると仮定し(即ちQ=67)、1番目の予測モードには67種の可能性があり、2番目の予測モードと1番目の予測モードとが異なるため、2番目の予測モードには66種の可能性がある。重み導出モードが64種あると仮定すると(即ちP=64)、本出願では、いずれか2つの異なる予測モードといずれか1つの重み導出モードを使用して1つの第2組合せを構築することができ、合計で64*67*66個の可能な第2組合せがある。
【0253】
この実施形態では、P個の重み導出モードは、すべての可能な重み導出モードであり、例えば、GPMにおける64個の重み導出モードである。Q個の予測モードは、すべての可能な予測モードであり、例えば、GPMにおける67個のイントラ予測モードである。網羅的列挙を利用して、すべての可能な第2組合せを得、例えば、64*67*66の可能な第2組合せを得る。これらの64*67*66の可能な第2組合せの各々を使用して、第1成分ブロックを予測して、各第2組合せの歪みコストを計算し、各第2組合せの歪みコストに基づいて、カレント成分ブロックに対応する候補組合せのリストを取得する。
【0254】
いくつかの実施形態では、データ量を減らし、候補組合せのリストの構築速度を上げるために、すべての予測モードを試すのではなく、一部の予測モードを選択して試すことができる。
【0255】
この場合、上記S101-A21-1におけるQ個の予測モードを確定する実施形態は以下のいくつかの方式を含むが、これらに限定されない。
【0256】
方式1:Q個の予測モードは予め設定された予測モードである。
【0257】
方式2:カレント成分ブロックの候補予測モードのリスト(candidate prediction mode list)、K個の第1の予測モードの各々に対応する予備予測モードのリスト(alternative prediction mode list)、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定する。候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つに基づいて、Q個の予測モードを確定する。
【0258】
候補予測モードのリストは複数の候補予測モードを含み、K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む。
【0259】
例えば、Q個の予測モードは、カレント成分ブロックの候補予測モードのリストに基づいて確定される。
【0260】
別の例として、Q個の予測モードは、K個の第1の予測モードの各々に対応する予備予測モードのリストに基づいて確定される。
【0261】
別の例として、Q個の予測モードは、重み導出モードに対応する予測モードに基づいて確定される。
【0262】
別の例として、Q個の予測モードは、予め設定されたモードに基づいて確定される。
【0263】
別の例として、Q個の予測モードは、カレント成分ブロックの候補予測モードのリスト、及びK個の第1の予測モードの各々に対応する予備予測モードのリストに基づいて確定される。
【0264】
別の例として、Q個の予測モードは、カレント成分ブロックの候補予測モードのリスト、及び重み導出モードに対応する予測モードに基づいて確定される。
【0265】
別の例として、Q個の予測モードは、K個の第1の予測モードの各々に対応する予備予測モードのリスト、及び重み導出モードに対応する予測モードに基づいて確定される。
【0266】
別の例として、Q個の予測モードは、候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、及び重み導出モードに対応する予測モードに基づいて確定される。
【0267】
別の例として、Q個の予測モードは、候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモードに基づいて確定される。
【0268】
K個の第1の予測モードの各々に対応する予備予測モードのリストを確定することは、以下のように理解されることができる。K個の第1の予測モードの各々に対して1つの予備予測モードリストを確定する。その後、第2組合せを構築する際、第2組合せにおけるある予測モードが、その予測モードに対応する予備予測モードリストから選択される。例えば、K=2の場合、K個の第1の予測モードは1番目の予測モードと2番目の予測モードを含む。デコーディング側は1番目の予測モードに対して予備予測モードリスト1を構築し、2番目の予測モードに対して予備予測モードリスト2を構築する。このように、後の段階で異なる第2組合せを構築する際、予備予測モードリスト1から1つの予備予測モードを選択して1番目の予測モードとし、予備予測モードリスト2から1つの予備予測モードを選択して2番目の予備予測モードとする。このように、1つの重み導出モードと、現在選択された1番目の予測モードと2番目の予測モードとで1つの第2組合せを構築する。
【0269】
本出願の実施形態は、K個の第1の予測モードの各々に対応する予備予測モードのリストを確定する方式を限定しない。
【0270】
1つの可能な実施形態では、K個の第1の予測モードのうちのいずれかに対して、その予測モードに対応する候補予測モードのリスト、及び重み導出モードに対応する予測モードのうちの少なくとも1つが確定される。その候補予測モードのリスト及び重み導出モードに対応する予測モードのうちの少なくとも1つに基づいて、その予測モードに対応する予備予測モードのリストが確定される。
【0271】
本出願の実施形態において、K個の第1の予測モードのうちのある予測モードに対応する候補予測モードのリストを確定するプロセスと、カレント成分ブロックに対応する候補予測モードのリストを確定するプロセスとは基本的に類似している。具体的に、以下の説明を参照することができる。
【0272】
いくつかの実施形態において、上記候補予測モードのリストは、1つ又は複数のインター予測モードを含み、例えば、スキップ(skip)、マージ(merge)、通常のインター予測モード、単方向予測、双方向予測、多仮説予測(multi-hypothesis prediction)などのうちの少なくとも1つを含む。
【0273】
いくつかの実施形態では、上記候補予測モードのリストは、1つ又は複数のイントラ予測モードを含み、例えば、直流(DC)モード、平面(Planar)モード、角度モードなどのうちの少なくとも1つを含む。選択的に、上記候補予測モードのリストは、MPMリスト内の少なくとも1つのイントラ予測モードを含む。
【0274】
いくつかの実施形態では、上記候補予測モードのリストは、IBC、パレットなどのモードをさらに含む。
【0275】
本出願は、上記候補予測モードのリストに含まれる予測モードの種類及び予測モードの数を限定しない。
【0276】
いくつかの実施形態では、候補予測モードのリストは、以下の少なくとも1つの方式に基づいて確定される。
【0277】
方式1:上記候補予測モードのリストは、予め設定されたモードを含む。
【0278】
方式2:上記候補予測モードのリストは、MPMリストにおけるモードを含む。
【0279】
いくつかの実施形態において、第1の候補イントラ予測モードのリストは、カレント成分ブロックのMPMリストであってもよい。例えば、VVCにおいて、カレント成分ブロックに対して、長さが6であるMPMリストを得ることができる。また、後続のいくつかの技術進化において、セカンダリMPM(secondary MPM)の方案が存在し、長さが22であるMPMリストを導出することができ、即ち、第1のMPMリストの長さと第2のMPMリストの長さとの合計が22である。換言すれば、本出願の実施形態では、MPMを使用して、イントラ予測モードをスクリーニングすることができる。
【0280】
いくつかの実施形態では、上記確定された第1の候補予測モードのリストが予め設定されたモードを含まない場合、予め設定されたモードが候補予測モードのリストに追加される。
【0281】
一例では、上記予め設定されたモードは、複数の予め設定された予測モードである。選択的に、上記予め設定されたモードは、DCモード、水平モード、及び垂直モードのうちの少なくとも1つを含む。
【0282】
別の例では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて予め設定されたモードが確定される。
【0283】
現在、一般的に使用されている画像タイプには、I画像、B画像、P画像があり、一般的に使用されているスライスタイプには、Iスライス、Bスライス、Pスライスがある。以下、スライスタイプを例として(画像タイプにも適用され)、Iスライスは、イントラコードロック(intra-coded block)のみを有することができるが、BスライスとPスライスは、イントラコードロックとインターコードブロック(inter-coded block)の両方を有することができる。即ち、Iスライスでは、カレント成分ブロックに隣接するのはいずれもイントラコードロックである。Bスライス、Pスライスでは、カレント成分ブロックに隣接するのはイントラコードロックであってもよく、インターコードブロックであってもよい。従って、本出願におけるGPMのいくつかのイントラ方法では、Iスライスにおいて、より多くの関連情報が得られることができ、例えば、隣接ブロックのイントラ予測モードなどが挙げられる。Bスライス、Pスライスにおいて、比較的少ない関連情報が得られる。従って、異なる画像タイプに応じて異なるルールを設定することができる。
【0284】
例えば、候補予測モードのリストを構築する際、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、より多くの予め設定されたモードを追加し、例えば、DCモード、水平モード、垂直モードに、右上方向(VVCにおけるモード2)、左下方向(VVCにおけるモード66)、左上方向(VVCにおけるモード34)などの他の角度モードを追加する。又は、画像タイプが異なるブロックに対して、候補予測モードのリストの異なる数を設けるように制限を加える。
【0285】
上記カレント成分ブロックに対応する画像タイプを確定する方式は、カレント成分ブロックが属する現在の画像の画像タイプ又はカレント成分ブロックが属する現在のスライスの画像タイプに基づいて、カレント成分ブロックに対応する画像タイプを確定することであってもよい。例えば、カレント成分ブロックが属する現在の画像の画像タイプ又はカレント成分ブロックが属する現在のスライスの画像タイプが、カレント成分ブロックに対応する画像タイプに確定される。
【0286】
選択的に、いくつかの条件下で予め設定されたモードを追加することができる。その一例として、候補予測モードのリストにおける予測モードの数が閾値より小さい、又は閾値以下である場合、予め設定されたモードを追加する。この閾値は3、4、5、6などであってもよい。
【0287】
方式3:上記候補予測モードのリストは、等間隔スクリーニング(等間隔フィルタリングともいう)などのルールに従って確定された候補予測モードの集合を含む。
【0288】
方式4:カレント成分ブロックに隣接する少なくとも1つのブロックに使用される予測モードに基づいて、候補予測モードのリストが確定される。
【0289】
例えば、カレント成分ブロックに隣接する1つ又は複数のブロックに使用される予測モードを候補予測モードのリストに追加することにより、カレント成分ブロックの候補予測モードのリストを得、又は、K個の予測モードのうちのk番目の予測モードに対応する候補予測モードのリストを得る。k番目の予測モードはK個の予測モードのうちのいずれか1つの予測モードである。
【0290】
別の例として、カレント成分ブロックに隣接する1つ又は複数のブロックに使用される予測モードのうちの、k番目の予測モードに対応する予測モードを、そのk番目の予測モードに対応する候補予測モードのリストに追加する。例として、K=2であり、k番目の予測モードが1番目の予測モードであると仮定し、カレント成分ブロックに隣接する2つのブロックに対して、2つの予測モードを使用して重み付け予測を行うと仮定すると(1番目の隣接ブロックに使用される2つの予測モードがそれぞれ予測モード1及び予測モード3であり、2番目の隣接ブロックに使用される2つの予測モードがそれぞれ予測モード4及び予測モード5である)、予測モード1と予測モード4は、1番目の予測モードに対応する候補予測モードのリストに追加されることができる。
【0291】
方式5:カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて候補予測モードのリストが確定される。例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、DCモード、水平モード、垂直モード、及びいくつかの角度モードのうちの少なくとも1つが、第1の候補予測モードのリストに追加され得る。別の例として、カレント成分ブロックに対応する画像タイプがIタイプである場合、DCモード、水平モード、垂直モードのうちの少なくとも1つが候補予測モードのリストに追加され得る。
【0292】
方式6:第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つが確定される。第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、彩度ブロック及び/又は輝度ブロック)に使用され、第3の予測モードは、カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、輝度ブロック及び/又は彩度ブロック)に使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロック(例えば、輝度ブロック)に使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストが確定される。
【0293】
いくつかの実施形態において、方式6では、カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つは、カレント成分ブロックの上側及び/又は左側のデコードされた領域に対応する第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つを含む。例えば、
図18に示すように、ブロック0~ブロック5に使用される予測モードが第2の予測モードとして選択され、及び/又は、ブロック2からブロック3の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが第2の予測モードとして選択され、及び/又は、ブロック1からブロック5の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが第2の予測モードとして選択される。一例では、本実施形態における第1成分ブロックは輝度CUであってもよく、第2成分ブロック及び/又は第3成分ブロックは彩度CUであってもよい。この場合、カレント成分ブロックに隣接する且つデコードされた輝度CU及び/又は彩度CUに使用される予測モードが第2の予測モードとして確定される。
【0294】
いくつかの実施形態において、上記方式6では、カレント成分ブロックの内部の予め設定された領域は、カレント成分ブロックの内部の任意の領域であってもよい。カレント成分ブロックの内部領域に対応する第1成分ブロックは、カレント成分ブロックの内部領域と同じ空間にある第1成分ブロックとして理解され得る。選択的に、当該第1成分ブロックは輝度CUであってもよい。例えば、カレント成分ブロックの内部領域の左上隅の頂点の座標に基づいて、マッピングで当該座標に対応する輝度CUが得られ、さらに、当該輝度CUに使用される予測モードが第4の予測モードとして確定される。
【0295】
いくつかの実施形態において、上記方式6では、カレント成分ブロックに対応する第1成分ブロックに関連する第5の予測モードを確定する方式は、少なくとも以下のいくつかの例を含む。
【0296】
例1では、カレント成分ブロックに対応する第1成分ブロックがデコードされたため、その第1成分ブロックに使用される予測モードが、第5の予測モードとして確定される。一例において、この第1成分ブロックは、複数の第1成分CUを含んでもよく、これらの複数の第1成分CUに使用される予測モードは、同じであってもよく、異なってもよい。本出願の実施形態において、この第1成分ブロックに含まれる複数の第1成分CUのうちの少なくとも1つの第1成分CUに使用される予測モードが、第5の予測モードとして確定されてもよい。
【0297】
例2では、第5の予測モードは、カレント成分ブロックに対応する第1成分ブロックのテクスチャに基づいて確定される。例示的に、当該第1成分ブロックのテクスチャ方向が確定され、テクスチャ方向に基づいて第5の予測モードが確定される。
【0298】
本出願の実施形態は、カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定する具体的な方式を限定しない。
【0299】
1つの可能な実施形態では、カレント成分ブロックに対応する第1成分ブロック内のいくつかのサンプルのテクスチャ方向が確定され、それらのサンプルのテクスチャ方向に基づいて、その第1成分ブロックのテクスチャ方向が確定される。いくつかの実施形態では、説明を容易にするために、テクスチャ方向が確定される必要のある第1成分ブロック内のサンプルは、テクスチャサンプルとして記される。これらのテクスチャサンプルは、デフォルトのものであってもよい。例えば、エンコーディング側及びデコーディング側は、デフォルトで第1成分ブロック内のいくつかのサンプルをテクスチャサンプルとし、そのテクスチャ方向を計算する。いくつかの実施形態において、上記テクスチャサンプルは、予め設定された方式に基づいて選択される。例えば、デコーディング側は、テクスチャサンプル選択の予め設定された方式に基づいて、この第1成分ブロックから複数のテクスチャサンプルを選択する。
【0300】
これら複数のテクスチャサンプルの各々に対して、各テクスチャサンプルの勾配が確定され、例えば、各テクスチャサンプルの水平勾配(horizontal gradient)及び垂直勾配(vertical gradient)が確定され、さらに、各テクスチャサンプルの水平勾配及び垂直勾配に基づいて、各テクスチャサンプルのテクスチャ方向が確定される。
【0301】
次に、各テクスチャサンプルのテクスチャ方向に基づいて、その第1成分ブロックのテクスチャ方向が確定される。
【0302】
例示的に、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数が、その第1成分ブロックのテクスチャ方向として確定される。
【0303】
例えば、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちのいずれか1つ又は複数が、その第1成分ブロックのテクスチャ方向として確定される。
【0304】
別の例として、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向が、その第1成分ブロックのテクスチャ方向として確定される。
【0305】
上記に基づいてカレント成分ブロックに対応する第1成分ブロックのテクスチャ方向が確定された後、テクスチャ方向に基づいて第5の予測モードが確定される。
【0306】
一例では、テクスチャ方向に平行な予測方向を有する予測モードが、第5の予測モードとして確定される。
【0307】
一例では、テクスチャ方向に対して垂直な予測方向を有する予測モードが、第5の予測モードとして確定される。
【0308】
一例では、テクスチャ方向に平行な予測方向を有する予測モード、及びテクスチャ方向に対して垂直な予測方向を有する予測モードが、第5の予測モードとして確定される。
【0309】
なお、上記テクスチャ方向に平行な予測方向を有する予測モードは、テクスチャ方向に平行及び/又は略平行(approximately parallel)な予測方向を有する予測モードを含む。テクスチャ方向に対して垂直な予測方向を有する予測モードは、テクスチャ方向に対して垂直及び/又は略垂直(approximately perpendicular)な予測方向を有する予測モードを含む。
【0310】
なお、上記方式1~方式6は、候補予測モードのリストを確定する方式として単独で使用されてもよく、任意に組合せされてもよい。
【0311】
いくつかの実施形態では、上記候補予測モードのリストは、候補イントラ予測モードのリスト、候補インター予測モードのリストのうちの少なくとも1つを含む。候補イントラ予測モードのリストは、少なくとも1つの候補イントラ予測モードを含み、候補インター予測モードのリストは、少なくとも1つの候補インター予測モードを含む。
【0312】
上記方式に基づいて、カレント成分ブロックの候補予測モードのリストが得られた後、候補予測モードのリストに基づいてQ個の予測モードが確定され、例えば、候補予測モードのリストに含まれる候補予測モードの全部又は一部がQ個の予測モードの全部又は一部として確定される。
【0313】
以下、重み導出モードに対応する予測モードを確定するプロセスを説明する。
【0314】
本出願の実施形態では、重み導出モードに対応する予測モードは総称(generic term)であり、例えば、1つの予め設定された重み導出モードに対応する予測モードであってもよく、複数の予め設定された重み導出モードに対応する予測モードであってもよい。いくつかの実施形態では、重み導出モードに対応する予測モードは、重み導出モードに対応する予測モードのリストとして理解されてもよく、当該予測モードのリストは少なくとも1つの予測モードを含む。
【0315】
いくつかの実施形態では、上記重み導出モードに対応する予測モードは、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードを含む。この場合、重み導出モードに対応する予測モードを確定することは以下を含む。P個の重み導出モードのうちのp番目の重み導出モードに対して、p番目の重み導出モードに対応する予測モードを確定し、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードに基づいて、上記重み導出モードに対応する予測モードを確定する。pは正の整数である。
【0316】
本出願の実施形態において、P個の重み導出モードの各々に対応する予測モードを確定するプロセスは基本的に同じであり、説明を容易にするために、P個の重み導出モードのうちのp番目の重み導出モードを例として以下に説明する。
【0317】
p番目の重み導出モードに対応する予測モードを確定することは、以下の2つの方式を含む。
【0318】
方式1:p番目の重み導出モードに対応する予測モードのうちの少なくとも1つがイントラ予測モードである場合、p番目の重み導出モードに基づいて角度インデックスを確定する。角度インデックスに対応するイントラ予測モードを、p番目の重み導出モードに対応する予測モードのうちの少なくとも1つに確定する。
【0319】
角度インデックスは、重みの境界線(boundary line)の角度インデックスを示すために用いられる。
【0320】
いくつかの実施形態では、角度インデックスは、フィールドangleIdxによって表される。
【0321】
上記表2は、merge_gpm_partition_idxとangleIdxとの対応関係を示している。上記表2を参照することで、このp番目の重み導出モードに基づいて角度インデックスを導出することができる。
【0322】
本出願では、角度インデックスとイントラ予測モードとの間に対応関係を有する。即ち、異なる角度インデックスは異なるイントラ予測モードに対応する。
【0323】
例えば、角度インデックスとイントラ予測モードとの間の対応関係は表7に示される。
【0324】
【0325】
この方式1では、K=2を例として、1番目の予測モード又は2番目の予測モードがイントラ予測モードである場合、p番目の重み導出モードに基づいて角度インデックスが確定され、例えば、上記表2に基づいて、p番目の重み導出モードに対応する角度インデックスが導出される。次に、上記表7において、当該角度インデックスに対応するイントラ予測モードが確定される。例えば、角度インデックスが2であり、当該角度インデックスに対応するイントラ予測モードが42である。それに応じて、イントラ予測モード42が1番目の予測モード又は2番目の予測モードとして確定される。
【0326】
方式2:p番目の重み導出モードに対応する予測モードのうちの少なくとも1つがイントラ予測モードである場合、p番目の重み導出モードに対応するイントラ予測モードを確定する。p番目の重み導出モードに対応するイントラ予測モードのうちの少なくとも1つを、p番目の重み導出モードに対応する予測モードのうちの少なくとも1つに確定する。
【0327】
p番目の重み導出モードに対応するイントラ予測モードは、重みの境界線に平行な予測方向を有するイントラ予測モード、境界線に対して垂直な予測方向を有するイントラ予測モード、及び平面モード、のうちの少なくとも1つを含む。
【0328】
なお、重みの境界線に平行な予測方向を有するイントラ予測モードは、重みの境界線に平行又は略平行な予測方向を有する1つ又は複数のイントラ予測モードを含む。重みの境界線に対して垂直な予測方向を有するイントラ予測モードは、重みの境界線に対して垂直又は略垂直な予測方向を有する1つ又は複数のイントラ予測モードを含む。
【0329】
この方式2では、K=2を例として、1番目の予測モード及び/又は2番目の予測モードがイントラ予測モードである場合、重み導出モードに対応するイントラ予測モードから1番目の予測モード及び/又は2番目の予測モードが確定される。例えば、1番目の予測モード及び/又は2番目の予測モードは、重みの分割線(境界線ともいう)と同一直線にある、又はほぼ同一直線にあるイントラ予測モードであってもよい。又は、1番目の予測モード及び/又は2番目の予測モードは、重みの境界線に対して垂直又は略垂直な予測方向を有するイントラ予測モードであってもよい。例えば、重みの境界線は水平方向にあり、例えば、
図4内のGPMのインデックス18、19、50、又は51を有するモードが挙げられ、1番目の予測モード及び/又は2番目の予測モードは、水平方向のモード18又は垂直方向のモード50である。
【0330】
デコーディング側は、上記ステップに基づいて、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードを確定し、次に、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードに基づいて、重み導出モードに対応する予測モードを確定する。例えば、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードの全部又は一部を、重み導出モードに対応する予測モードとする。
【0331】
さらに、P個の重み導出モードに対応する予測モードに、重複する予測モードが存在する可能性がある。この場合、重複する予測モードを除去し、残りの異なる予測モードを、重み導出モードに対応する予測モードとして確定する。
【0332】
本出願の実施形態では、R個の第2組合せの数を減らすために、予測モードをスクリーニングし、具体的に、上記方法に基づいてQ個の予測モードを確定する。
【0333】
いくつかの実施形態において、デコーディング側の複雑さを低減するために、上記Q個の予測モードの数が制限され、例えば、Qは第1の予め設定された閾値以下である。本出願では、第1の予め設定された閾値の具体的な値が制限されず、実際のニーズに応じて確定されることができる。例えば、第1の予め設定された閾値が6であり、即ち、6個の予測モードを選択してR個の第2組合せを構築する。それによって、第2組合せの数を制御する。
【0334】
いくつかの実施形態では、Qの値は、カレント成分ブロックのサイズ及び/又は形状に関連しており、カレント成分ブロックの形状は、カレント成分ブロックの幅に対する長さの比(length-to-width ratio)によって決定されると理解され得る。
【0335】
予測中に、比較的小さいブロックでは、類似する予測モードが予測結果に与える影響の差が大きくない。比較的大きいブロックでは、類似する予測モードが予測結果に与える影響の差がより明らかである。それに基づいて、本出願の実施形態では、サイズが異なるブロックに対して異なるQ値を設定し、即ち、比較的大きいブロックに対して比較的大きいQ値を設定し、比較的小さいブロックに対して比較的小さいQ値を設定する。
【0336】
この場合、カレント成分ブロックに対応するQ値を確定する際、Q値はカレント成分ブロックのサイズに応じて設定される。例えば、カレント成分ブロックのサイズが第1の値より大きい場合、Qは第2の予め設定された閾値以上である。さらに例えば、カレント成分ブロックのサイズが第1の値以下である場合、Qは第3の予め設定された閾値より小さい。本出願の実施形態では、第1の値、第2の予め設定された閾値及び第3の予め設定された閾値の具体的な値が制限されず、第3の予め設定された閾値は第2の予め設定された閾値より小さい。
【0337】
以下、S101-A21-1におけるP個の重み導出モードを確定するプロセスを説明する。
【0338】
本出願の実施形態では、P個の重み導出モードを確定する方式は少なくとも以下のいくつかの方式を含む。
【0339】
方式1:M個の予め設定された重み導出モードからP個の重み導出モードを選択する。MはP以上の正の整数である。
【0340】
本出願の実施形態は、上記M個の予め設定された重み導出モードを制限しない。
【0341】
いくつかの実施形態では、GPMには64種の重み導出モードがあり、AWPには56種の重み導出モードがある。この実施形態では、上記M個の予め設定された重み導出モードは、GPMにおける64種の重み導出モードのうちの少なくとも1つの重み導出モードを含み、又は、AWPにおける56種の重み導出モードのうちの少なくとも1つの重み導出モードを含む。
【0342】
いくつかの実施形態では、本出願の実施形態のM個の重み導出モードは、より多くのangleIdxをサポートし、又は、VVCにおけるangleIdxと異なるangleIdxをサポートすることができる。また、例えば、本出願の実施形態のM個の重み導出モードは、より多くのdistanceIdxをサポートし、又は、VVCにおけるdistanceIdxと異なるdistanceIdxをサポートすることができる。
【0343】
いくつかの実施形態では、上記M個の予め設定された重み導出モードは、予め設定された重み導出モードによって導出されてもよい。
【0344】
例えば、本出願の実施形態では、AWPに対応する重み導出モードを使用してM個の重み導出モードを確定する。選択的に、本出願の実施形態では、他の方式を使用してM個の重み導出モードを導出することもできる。
【0345】
いくつかの実施形態では、MがPに等しい場合、M個の重み導出モードが、P個の重み導出モードとして確定される。
【0346】
いくつかの実施形態では、MがPより大きい場合、R個の第2組合せの数をさらに減らすために、M個の予め設定された重み導出モードに対してスクリーニングを行い、M個の予め設定された重み導出モードからP個の重み導出モードを選択して、R個の第2組合せを構築することができる。
【0347】
いくつかの実施形態では、M個の重み導出モードから予め設定された分割角度及び/又は予め設定されたオフセットに対応する重み導出モードが除去されて、P個の重み導出モードが得られる。重み導出モードでの同じ分割角度が複数のオフセットに対応することができ、例えば、
図19Aに示すように、重み導出モード10、11、12及び13は同じ分割角度を有するが、異なるオフセットを有する。従って、一部の予め設定されたオフセットに対応する重み導出モード、及び/又は一部の予め設定された分割角度に対応する重み導出モードを除去することができる。そうすることで、可能な第2組合せの総数を減らすことができる。そして、各可能な第2組合せの違いがより顕著になる。
【0348】
いくつかの実施形態では、異なるブロックに対応するスクリーニング条件は異なってもよい。このように、カレント成分ブロックに対応するP個の重み導出モードを確定する際、まずカレント成分ブロックに対応するスクリーニング条件が確定され、カレント成分ブロックに対応するスクリーニング条件に基づいて、M個の重み導出モードからP個の重み導出モードが選択される。
【0349】
いくつかの実施形態では、カレント成分ブロックに対応するスクリーニング条件は、カレント成分ブロックのサイズに対応するスクリーニング条件及び/又はカレント成分ブロックの形状に対応するスクリーニング条件を含む。予測中に、比較的小さいブロックでは、類似する重み導出モードが予測結果に与える影響の差が大きくない。比較的大きいブロックでは、類似する重み導出モードが予測結果に与える影響の差がより明らかである。それに基づいて、本出願の実施形態では、サイズが異なるブロックに対して異なるP値を設定し、即ち、比較的大きいブロックに対して比較的大きいP値を設定し、比較的小さいブロックに対して比較的小さいP値を設定する。
【0350】
いくつかの実施形態では、上記スクリーニング条件はアレイを含む。当該アレイはM個の要素を含み、M個の要素とM個の重み導出モードとは一対一で対応する。各重み導出モードに対応する要素は、当該重み導出モードが利用可能であるか否かを示すために用いられる。重み導出モードが利用可能であるか否かということは、当該重み導出モードが、後続の第2組合せの試行のためのP個の重み導出モードのうちの1つの重み導出モードとして用いられるか否かということに理解されることができる。
【0351】
上記アレイは、一次元アレイ(one-dimensional array)であってもよく、二次元アレイ(two-dimensional array)であってもよい。
【0352】
例示的に、GPMを例として、M個の重み導出モードが64個であり、64個の要素を含むアレイが設定され、各要素の値は当該要素に対応する重み導出モードが利用可能であるか否かを示す。一次元アレイを例として、具体的な一例は以下の通りである。g_sgpm_splitDirのアレイが設定される。
g_sgpm_splitDir[64] = {
1,1,1,0,1,0,1,0,
1,0,1,0,1,0,1,0,
1,0,1,1,1,0,1,0,
1,0,1,0,1,0,1,0,
0,0,0,0,1,1,0,1,
0,0,1,0,0,1,0,0,
1,0,1,1,0,1,0,0,
1,0,0,1,0,0,1,0
};
g_sgpm_splitDir[x]の値が1であることは、インデックスがxである重み導出モードが利用可能であることを示し、g_sgpm_splitDir[x] の値が0であることは、インデックスがxである重み導出モードが利用不可能であることを示す。
【0353】
いくつかの実施形態では、カレント成分ブロックに対応するスクリーニング条件が、カレント成分ブロックのサイズに対応するスクリーニング条件及びカレント成分ブロックの形状に対応するスクリーニング条件を含む場合、且つ、同じ重み導出モードに対して、カレント成分ブロックのサイズに対応するスクリーニング条件及びカレント成分ブロックの形状に対応するスクリーニング条件がいずれも、当該重み導出モードが利用可能であることを示す場合、当該重み導出モードは、P個の重み導出モードのうちの1つとして確定される。カレント成分ブロックのサイズに対応するスクリーニング条件及びカレント成分ブロックの形状に対応するスクリーニング条件のうちの少なくとも一つが、当該重み導出モードが利用不可能であることを示す場合、当該重み導出モードはP個の重み導出モードに属さない。
【0354】
いくつかの実施形態では、異なるブロックサイズに対応するスクリーニング条件、及び異なるブロック形状に対応するスクリーニング条件は、複数のアレイを用いてそれぞれ実現されることができる。
【0355】
いくつかの実施形態では、異なるブロックサイズに対応するスクリーニング条件、及び異なるブロック形状に対応するスクリーニング条件は、二次元アレイで実現されることができる。即ち、二次元アレイは、ブロックサイズに対応するスクリーニング条件、及びブロック形状に対応するスクリーニング条件の両方を含む。
【0356】
例示的に、サイズがAであり且つ形状がBであるブロックに対応するスクリーニング条件が以下に示される。当該スクリーニング条件は二次元アレイで表される。
g_sgpm_splitDir[64] = {
(1,1),(1,1),(1,1),(1,0),(1,0),(0,0),(1,0),(1,1),
(1,1),(0,0),(1,1),(1,0),(1,0),(0,0),(1,0),(1,1),
(0,1),(0,0),(1,1),(0,0),(1,0),(0,0),(1,0),(0,0),
(1,1),(0,0),(0,1),(1,0),(1,0),(1,0),(1,0),(0,0),
(0,0),(0,0),(1,1),(0,0),(1,1),(1,1),(1,0),(0,1),
(0,0),(0,0),(1,1),(0,0),(1,0),(0,0),(1,0),(0,0),
(1,0),(0,0),(1,1),(1,0),(1,0),(1,0),(0,0),(0,0),
(1,1),(0,0),(1,1),(0,0),(0,0),(1,0),(1,1),(0,0)
};
g_sgpm_splitDir[x]の値がいずれも1であることは、インデックスがxである重み導出モードが利用可能であることを示し、g_sgpm_splitDir[x]の値の1つが0であることは、インデックスがxである重み導出モードが利用不可能であることを示す。例えば、g_sgpm_splitDir[4]=(1,0)であることは、重み導出モード4がサイズAを有するブロックに利用可能であるが、形状Bを有するブロックに利用不可能であることを示す。従って、ブロックのサイズがAであり且つ当該ブロックの形状がBである場合、当該重み導出モードが利用不可能である。
【0357】
なお、上記は、GPMにおける64個の重み導出モードを例としたものであるが、本出願の実施形態の重み導出モードは、GPMにおける64個の重み導出モード、及びAMPにおける56個の重み導出モードを含むが、これらに限定されない。
【0358】
デコーディング側では、上記ステップに基づいて、Q個の予測モードとP個の重み導出モードが確定された後、これらQ個の予測モードとP個の重み導出モードに基づいて、R個の異なる第2組合せが構成される。次に、R個の第2組合せに基づいて、候補組合せのリストが確定され、この候補組合せのリストから、第1の重み導出モードとK個の第1の予測モードが確定される。
【0359】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、デコーディング側は、上記確定されたQ個の予測モード及びP個の重み導出モードを再びスクリーニングする。この場合、上記S101-A21-2における確定されたP個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築することは、以下のS101-A21-21からS101-A21-23までのステップを含む。
【0360】
S101-A11-21:P個の重み導出モードからS個の重み導出モードが選択される。SはP以下の正の整数である。
【0361】
具体的に、上記確定されたP個の重み導出モードから、現れる確率の低い重み導出モードが除去されて、スクリーニングされたS個の重み導出モードが得られる。
【0362】
上記S101-A11-21におけるP個の重み導出モードからS個の重み導出モードを選択する方式は、以下のいくつかの方式を含むが、これらに限定されない。
【0363】
方式1:P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードに基づいて、第1成分ブロックでのK個の第2の予測モードの重みが確定される。K個の第2の予測モードはQ個の予測モードのうちの任意のK個の予測モードであり、iは1からPまでの正の整数である。第1成分ブロックでのK個の予測モードのいずれか1つの予測モードの重みが第1の予め設定された値より小さい場合、P個の重み導出モードからi番目の重み導出モードが除去され、S個の重み導出モードが得られる。
【0364】
この方式1では、1つの重み導出モードに基づいて導出される第1成分ブロックの重みによって、ある予測モードが第1成分ブロックに与える影響(寄与)が小さい又は影響がない場合、この重み導出モードが使用されない。例えば、
図4(正方形のブロック)における重み導出モード52により、第1成分ブロックでの2番目の予測モードの重みが小さい。さらに例えば、重み導出モード54により、第1成分ブロックでの2番目の予測モードの重みが0となり、即ち、重み導出モード54では、2番目の予測モードが第1成分ブロックに与える影響がなく、第1成分ブロックの予測値が完全に1番目の予測モードによって確定されると考えられることができる。この場合、2番目の予測モードが何の影響もないため、このような重み導出モードがP個の重み導出モードから除去される必要がある。
【0365】
なお、異なる形状のブロックに対して同じ重み導出モードを使用しても、2つの予測モードの影響が異なる可能性がある。カレント成分ブロックは正方形であってもよく、長方形であってもよく、長さが幅より大きくてもよく、幅が長さより大きくてもよく、両者の比は1:2、1:4である可能性がある。
図19Aは、32×64ブロック内のGPMの重み導出モードを示しており、
図19Bは、64×32ブロック内のGPMの重み導出モードを示している。図から分かるように、異なる形状のブロックに対して、同じ重み導出モードの境界線とブロック境界の交点は異なっている。それは、ブロックの形状が変化したが、境界線の角度がブロックの形状に伴って変化するのではないためである。
図19Aに示すように、インデックスが52である重み導出モードに対して、32×64ブロックにおいて、インデックスが52である重み導出モードの境界線が、カレント成分ブロックに対応する第1成分ブロックの領域に向かって延長すると、第1成分ブロックの領域と交差するため、第1成分ブロックでの2番目の予測モードの重みが予め設定された値以上となり、即ち、2番目の予測モードが第1成分ブロックに対して影響があることが示される。しかしながら、
図19Bに示すように、インデックスが52である重み導出モードに対して、64×32ブロックにおいて、インデックスが52である重み導出モードの境界線が、カレント成分ブロックに対応する第1成分ブロックの領域に向かって延長すると、第1成分ブロックの領域と交差しないため、第1成分ブロックでの2番目の予測モードの重みが0となり、即ち、2番目の予測モードが第1成分ブロックに対して影響がないことが示される。
【0366】
上記方式1では、第1成分ブロックでのK個の予測モードのうちのいずれか1つの予測モードの重みが第1の予め設定された値より小さいようにする重み導出モードが、P個の重み導出モードから除去されて、S個の重み導出モードが得られる。
【0367】
本出願の実施形態では、上記第1の予め設定された値の具体的な値が限定されず、例えば、0以上の比較的小さい値である。
【0368】
方式2:P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードを使用して第1成分ブロックを予測する場合のコストが確定される。iは1からPまでの正の整数である。i番目の重み導出モードに対応するコストに基づいて、P個の重み導出モードからS個の重み導出モードが選択される。
【0369】
この方式2では、P個の重み導出モードの各々に対応するコストを計算することにより、P個の重み導出モードからS個の重み導出モードが選択される。
【0370】
本出願の実施形態では、1つの重み導出モードとK個の予測モードを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられるK個の予測モードに基づいて、P個の重み導出モードのコストを計算する。即ち、P個の重み導出モードの各々と与えられるK個の予測モードとを組合せてP個の組合せを得、これらP個の組合せの各々に対応するコストを計算し、さらに、P個の重み導出モードのコストを得る。
【0371】
例として、与えられるK個の予測モードが予測モード1と予測モード2であると仮定し、P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モード、予測モード1及び予測モード2で1つの組合せを構成し、それを組合せiとして記す。組合せiを使用してカレント成分ブロックに対応する第1成分ブロックを予測して、当該組合せiに対応する第1成分ブロックの予測値を得る。組合せiに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、当該組合せiに対応する予測歪みコストを確定する。当該組合せiに対応する予測歪みコストをi番目の重み導出モードに対応するコストとして確定する。このようにして、P個の重み導出モードのうちのいずれか1つの重み導出モードに対応するコストを確定することができる。
【0372】
上記方法に基づいて、P個の重み導出モードのうちのi番目の重み導出モードに対応するコストを確定した後、i番目の重み導出モードに対応するコストに基づいて、P個の重み導出モードからS個の重み導出モードを選択する。
【0373】
この方式2において、デコーディング側では、i番目の重み導出モードに対応するコストに基づいて、P個の重み導出モードからS個の重み導出モードを選択することは以下の方式を含む。
【0374】
1番目の方式では、i番目の重み導出モードに対応するコストが第2の予め設定された値より小さい場合、P個の重み導出モードからi番目の重み導出モードに類似する重み導出モードが選択され、i番目の重み導出モードと、i番目の重み導出モードに類似する重み導出モードとに基づいて、S個の重み導出モードが確定される。i番目の重み導出モードに類似する重み導出モードは、予測結果がi番目の重み導出モードの予測結果に類似する重み導出モードとして理解されることができる。例えば、i番目の重み導出モードに類似する重み導出モードは、分割角度がi番目の重み導出モードの分割角度に類似する重み導出モード、及び/又は、オフセットがi番目の重み導出モードのオフセットに類似する重み導出モードを含む。重み導出モードのオフセットは、当該重み導出モードの境界線のカレント成分ブロックのエッジ上での切片(intercept)として理解されることもできる。
【0375】
例示的に、上記分割角度が類似することは、分割角度が同じであり且つオフセットが異なることを含んでもよく、例えば、
図4における重み導出モード11と重み導出モード13が挙げられる。また、上記分割角度が類似することは、分割角度が同じであり且つオフセットトが類似することを含んでもよく、例えば、
図4における重み導出モード11と重み導出モード12が挙げられる。さらに、上記分割角度が類似することは、分割角度が類似し且つオフセットが異なることを含んでもよく、例えば、
図4における重み導出モード9と重み導出モード11が挙げられる。上記分割角度が類似することは、分割角度度が類似し且つオフセットが類似することを含んでもよく、例えば、
図4における重み導出モード9と重み導出モード12が挙げられる。
【0376】
例示的に、上記オフセットが類似することは、オフセットが類似し且つ分割角度が同じであることを含んでもよく、例えば、
図4における重み導出モード29と重み導出モード30が挙げられる。また、上記オフセットが類似することは、オフセットが同じであり又は類似し、且つ分割角度が類似することを含んでもよく、例えば、
図4における重み導出モード2と重み導出モード38が挙げられる。
【0377】
いくつかの実施形態では、i番目の重み導出モードに類似する重み導出モードは、インデックスが当該i番目の重み導出モードのインデックスに近い重み導出モードとして理解されることができる。
【0378】
この1番目の方式では、i番目の重み導出モードに対応するコストが第2の予め設定された値より小さい場合、当該i番目の重み導出モードを使用してカレント成分ブロックを予測する際に優れた予測効果が得られる可能性があることが示される。この場合、当該i番目の重み導出モードが、P個の重み導出モードから選択されて、後続のR個の第2組合せを構築するために用いられる。さらに、i番目の重み導出モードに類似する重み導出モードが、当該i番目の重み導出モードに類似する特性を有するため、i番目の重み導出モードに類似する重み導出モードが、P個の重み導出モードから選択されて、後続のR個の第2組合せを構築するために用いられる。次に、P個の重み導出モードにおける残りの重み導出モードから1つの重み導出モードが選択されて、新たなi番目の重み導出モードとされ、上記ステップを繰り返すことにより、S個の重み導出モードが得られる。
【0379】
本出願の実施形態では、上記第2の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。
【0380】
いくつかの実施形態では、デコーディング側は、以下の2番目の方式に基づいて、P個の重み導出モードからS個の重み導出モードを選択することもできる。
【0381】
2番目の方式では、i番目の重み導出モードに対応するコストが第3の予め設定された値より大きい場合、P個の重み導出モードから、i番目の重み導出モードと、i番目の重み導出モードに類似する重み導出モードとが除去され、除去後の少なくとも1つの重み導出モードが得られ、除去後の少なくとも1つの重み導出モードに基づいて、S個の重み導出モードが確定される。
【0382】
この2番目の方式では、i番目の重み導出モードに対応するコストが第3の予め設定された値より小さい場合、当該i番目の重み導出モードを使用してカレント成分ブロックを予測する際に優れた予測効果が得られない可能性があることが示される。この場合、当該i番目の重み導出モードがP個の重み導出モードから除去される。さらに、i番目の重み導出モードに類似する重み導出モードが、当該i番目の重み導出モードに類似する特性を有するため、i番目の重み導出モードに類似する重み導出モードもP個の重み導出モードから除去され、除去後の重み導出モードの集合が得られる。次に、除去後の重み導出モードの集合から1つの重み導出モードが選択されて、新たなi番目の重み導出モードとされ、上記ステップを繰り返すことにより、最終的に得られた重み導出モードの集合に含まれる重み導出モードがS個の重み導出モードとして確定される。
【0383】
本出願の実施形態では、上記第3の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。第3の予め設定された値は上記第2の予め設定された値より大きい。
【0384】
デコーディング側は、上記ステップに基づいて、P個の重み導出モードからS個の重み導出モードを選択した後、以下のS101-A21-22のステップを実行する。
【0385】
S101-A21-22:Q個の予測モードからT個の予測モードを選択する。TはQ以下の正の整数である。
【0386】
本出願の実施形態は、Q個の予測モードからT個の予測モードを選択する方式を限定しない。
【0387】
いくつかの実施形態では、Q個の予測モードからT個の予め設定された予測モードが選択される。
【0388】
いくつかの実施形態では、Q個の予測モードのうちi番目の予測モードに対して、デコーディング側は、i番目の予測モードを使用して第1成分ブロックを予測する場合のコストを確定する。iは1からQまでの正の整数である。i番目の予測モードに対応するコストに基づいて、Q個の予測モードからT個の予測モードを選択する。
【0389】
本出願の実施形態では、1つの重み導出モードとK個の予測モードを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モードと与えられるK-1個の予測モードに基づいて、Q個の重み導出モードのコストを計算する。即ち、Q個の予測モードの各々と与えられる重み導出モード及びK-1個の予測モードとを組合せてQ個の組合せを得、これらQ個の組合せの各々に対応するコストを計算し、さらに、Q個の予測モードのコストを得る。
【0390】
例として、与えられるK-1個の予測モードが予測モード1であり、与えられる重み導出モードが重み導出モード1であると仮定し、Q個の予測モードのうちのi番目の予測モードに対して、重み導出モード1、i番目の予測モード及び予測モード1で1つの組合せを構成し、それを組合せiとして記す。組合せiを使用して第1成分ブロックを予測して、当該組合せiに対応する第1成分ブロックの予測値を得る。組合せiに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、当該組合せiに対応する予測歪みコストを確定する。当該組合せiに対応する予測歪みコストをi番目の予測モードに対応するコストとして確定する。このようにして、Q個の予測モードのうちのいずれか1つの予測モードに対応するコストを確定することができる。
【0391】
上記方法に基づいて、Q個の予測モードのうちのi番目の予測モードに対応するコストを確定した後、i番目の予測モードに対応するコストに基づいて、Q個の予測モードからT個の予測モードを選択する。
【0392】
デコーディング側では、i番目の予測モードに対応するコストに基づいて、Q個の予測モードからT個の予測モードを選択することは以下の方式を含む。
【0393】
1番目の方式では、i番目の予測モードに対応するコストが第4の予め設定された値より小さい場合、Q個の予測モードからi番目の予測モードに類似する予測モードが選択され、i番目の予測モードと、i番目の予測モードに類似する予測モードとに基づいて、T個の予測モードが確定される。i番目の予測モードに類似する予測モードは、予測結果がi番目の予測モードの予測結果に類似する(又は近い)予測モードとして理解されることができ、例えば、予測方向(又は角度)がi番目の予測モードの予測方向(又は角度)に近い予測モード、又は、インデックスがi番目の予測モードのインデックスに近い予測モードが挙げられ、例えば、インデックスがi番目の予測モードのインデックスより1、2大きい予測モード、インデックスがi番目の予測モードのインデックスより1、2小さい予測モードが挙げられる。
【0394】
この1番目の方式では、i番目の予測モードに対応するコストが第4の予め設定された値より小さい場合、当該i番目の予測モードを使用してカレント成分ブロックを予測する際に優れた予測効果が得られる可能性があることが示される。この場合、当該i番目の予測モードが、Q個の予測モードから選択されて、後続のR個の第2組合せを構築するために用いられる。さらに、i番目の予測モードに類似する予測モードが、当該i番目の予測モードに類似する特性を有するため、i番目の予測モードに類似する予測モードが、Q個の予測モードから選択されて、後続のR個の第2組合せを構築するために用いられる。次に、Q個の予測モードにおける残りの予測モードから1つの予測モードが選択されて、新たなi番目の予測モードとされ、上記ステップを繰り返すことにより、T個の予測モードが得られる。
【0395】
本出願の実施形態では、上記第4の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。
【0396】
2番目の方式では、i番目の予測モードに対応するコストが第5の予め設定された値より大きい場合、Q個の予測モードから、i番目の予測モードと、i番目の予測モードに類似する予測モードとが除去され、除去後の少なくとも1つの予測モードが得られ、除去後の少なくとも1つの予測モードに基づいて、T個の予測モードが確定される。
【0397】
この2番目の方式では、i番目の予測モードに対応するコストが第5の予め設定された値より大きい場合、当該i番目の予測モードを使用してカレント成分ブロックを予測する際に優れた予測効果が得られない可能性があることが示される。この場合、当該i番目の予測モードがQ個の予測モードから除去される。さらに、i番目の予測モードに類似する予測モードが、当該i番目の予測モードに類似する特性を有するため、i番目の予測モードに類似する予測モードもQ個の予測モードから除去され、除去後の予測モードの集合が得られる。次に、除去後の予測モードの集合から1つの予測モードが選択されて、新たなi番目の予測モードとされ、上記ステップを繰り返すことにより、最終的に得られた予測モードの集合に含まれる予測モードがT個の予測モードとして確定される。
【0398】
本出願の実施形態では、上記第5の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。第5の予め設定された値は上記第4の予め設定された値より大きい。
【0399】
上記ステップに基づいて、P個の重み導出モードからS個の重み導出モードが選択され、Q個の予測モードからT個の予測モードが選択された後、以下のS101-A21-23が実行される。
【0400】
S101-A21-23:S個の重み導出モードとT個の予測モードに基づいて、R個の第2組合せを構成する。
【0401】
具体的に、S個の重み導出モードから1つの重み導出モードを選択し、T個の予測モードからK個の予測モードを選択し、この1つの重み導出モードとK個の予測モードで1つの第2組合せを構成し、このステップを繰り返してR個の第2組合せを得ることができる。
【0402】
以上から分かるように、1つの第2組合せは、1つの重み導出モードとK個の予測モードを含む。このように、予測モードをスクリーニングする際、1つの組合せにおけるK個の要素が固定されている場合、別の1つの要素の選択可能性を制限することができる。例えば、K=2の場合、2つの要素と組合せて使用する際の、別の1つの要素の選択可能性を制限することができる。
【0403】
以下、重み導出モードと1つの予測モードが固定されている場合の、別の予測モードのスクリーニングプロセスを例として、上記S101-A21-2の実現プロセスを紹介する。
【0404】
いくつかの実施形態において、上記S101-A21-2は以下の内容を含む。P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードと、Q個の予測モードのうちのj番目の予測モードとを使用して第1成分ブロックを予測する場合のコストを確定する。i番目の重み導出モードとj番目の予測モードとの組合せに対応するコストが第6の予め設定された値より大きい場合、Q個の予測モードから、j番目の予測モードと、j番目の予測モードに類似する予測モードとを除去して、除去後の少なくとも1つの予測モードを得る。i番目の重み導出モードと、除去後の少なくとも1つの予測モードとに基づいて、R個の第2組合せを構築する。
【0405】
本実施形態では、重み導出モードと1つの予測モードとが固定されている場合、別の予測モードをスクリーニングする。例えば、ある重み導出モードでは、あるイントラ予測モードを第1の予測モードとすることで比較的小さいコストが得られない場合、その重み導出モードで、そのイントラ予測モードに類似するイントラ予測モードを第1の予測モードとする状況を試さない。
【0406】
具体的に、P個の重み導出モードのうちのi番目の重み導出モードに対して、K=2であると仮定すると、当該組合せにi番目の重み導出モードと、1番目の予測モードと、2番目の予測モードとが含まれる。2番目の予測モードが予測モード1に設定されると仮定すると、当該予測モード1は、Q個の予測モードのうちの1つの予測モードであってもよく、Q個の予測モード以外の他の予測モードであってもよい。Q個の予測モードから1番目の予測モードの可能な選択肢を確定する。具体的に、Q個の予測モードのうちのj番目の予測モードを1番目の予測モードとする。この場合、i番目の重み導出モードと、j番目の予測モードと、予測モード1とからなる組合せjで第1成分ブロックを予測する場合の第1成分ブロックの予測値が確定され、その予測値に基づいて、組合せjに対応するコストが確定される。組合せjに対応するコストが、j番目の予測モードに対応するコストに確定される。次に、当該j番目の予測モードに対応するコストが第6の予め設定された値より大きいか否かが判断される。j番目の予測モードに対応するコストが第6の予め設定された値より大きい場合、当該j番目の予測モードとi番目の重み導出モードと予測モード1とからなる組合せを使用して第1成分ブロックを精確に予測できないことが示される。この場合、j番目の予測モードがQ個の予測モードから除去される。j番目の予測モードに類似する予測モードが、当該j番目の予測モードに類似する特性を有するため、j番目の予測モードに類似する予測モードがQ個の予測モードから除去され、除去後の予測モードの集合が得られる。除去後の予測モードの集合から、1つの予測モードが選択されて、新たなj番目の予測モードとされ、上記ステップを繰り返すことにより、i番目の重み導出モードに対応する除去後の最終的な予測モードの集合が得られる。
【0407】
上記ステップに基づいて、P個の重み導出モードの各々に対応する除去後の最終的な予測モードの集合が確定されることができる。このように、P個の重み導出モードと、P個の重み導出モードの各々に対応する除去後の最終的な予測モードの集合とに基づいて、R個の第2組合せが構築される。
【0408】
なお、上記実施形態では、組合せの形態で予測モードをスクリーニングする方式を示した。選択的に、組合せの形態で重み導出モードと予測モードのうちのいずれか1つをスクリーニングして、最終的にR個の第2組合せを構築することもできる。
【0409】
デコーディング側は、上記各方法に基づいてR個の第2組合せを確定した後、R個の第2組合せのうちのいずれか1つの第2組合せに対して、第2組合せにおける重み導出モードとK個の予測モードとを使用して第1成分ブロックを予測して、第2組合せに対応する第1成分ブロックの予測値を得る。
【0410】
以下、いずれか1つの第2組合せを使用して第1成分ブロックを予測して、第1成分ブロックの予測値を得るプロセスを説明する。
【0411】
まず、この第2組合せに含まれる重み導出モードを使用して、第1成分ブロックの重みが確定される。第1成分ブロックの重みは、第1成分ブロックに対応する予測値の重みとして理解されることができる。即ち、この第2組合せに含まれる重み導出モードに基づいて第1成分ブロックの重みが確定され、この第2組合せに含まれるK個の予測モードに基づいて第1成分ブロックのK個の予測値が確定され、第1成分ブロックの重みを用いて第1成分ブロックのK個の予測値が重み付けされて、第1成分ブロックの予測値が得られる。
【0412】
いくつかの実施形態では、重み導出モードに基づいて第1成分ブロックの重みを確定することは、以下のステップを含む。
【0413】
ステップ1:重み導出モードに基づいて、角度インデックスと距離インデックスを確定する。
【0414】
ステップ2:角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。
【0415】
本出願では、予測値の重みを導出する方式と同じ方式で第1成分ブロックの重みを導出することができる。例えば、まず、重み導出モードに基づいて、角度インデックスと距離インデックスを確定する。角度インデックスは、重み導出モードによって導出された各重みの境界線の角度インデックスとして理解されることができる。例えば、上記表2に従って、重み導出モードに対応する角度インデックスと距離インデックスを確定することができる。例えば、重み導出モードが27である場合、対応する角度インデックスは12であり、対応する距離インデックスは3である。次に、角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。
【0416】
上記ステップ2における角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【0417】
方式1:角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを直接に確定する。この場合、上記ステップ2は、以下のステップ21~ステップ23を含む。
【0418】
ステップ21:角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロック内のサンプルの第1パラメータを確定する。
【0419】
ステップ22:第1成分ブロック内のサンプルの第1パラメータに基づいて、第1成分ブロック内のサンプルの重みを確定する。
【0420】
ステップ23:第1成分ブロック内のサンプルの重みに基づいて、第1成分ブロックの重みを確定する。
【0421】
本実施形態では、角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロック内のサンプルの重みを確定し、さらに、第1成分ブロック内の各サンプルの重みからなる重み行列を第1成分ブロックの重みとして確定する。
【0422】
本出願の第1パラメータは、重みを確定するために用いられる。いくつかの実施形態では、第1パラメータは重みインデックスとも呼ばれる。
【0423】
可能な一実施形態では、オフセットと第1パラメータは、以下のように確定されることができる。
【0424】
第1成分ブロックの重み導出プロセスの入力は、第1成分ブロックの幅nCbW、現在成分ブロックの高さnCbH、GPMの「分割」角度インデックス変数angleId、GPMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。ここで、第1成分ブロックの重みが確定される。cIdxが0であることは輝度成分を示す。
【0425】
変数nW、nH、shift1、offset1、displacementX、displacementY、partFlip、及びshiftHorは以下の方法に基づいて導出される。
nW = ( cIdx = = 0 ) ? nCbW : nCbW * SubWidthC
nH = ( cIdx = = 0 ) ? nCbH : nCbH * SubHeightC
shift1 = Max( 5, 17 - BitDepth )、BitDepthはコーディングのビット深度である。
offset1 = 1 << ( shift1 - 1 )
displacementX = angleIdx
displacementY = ( angleIdx + 8 ) % 32
partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1
shiftHor = ( angleIdx % 16 = = 8 | | ( angleIdx % 16 != 0 && nH >= nW ) ) ? 0 : 1
【0426】
オフセットoffsetXとoffsetYは以下の方法に基づいて導出される。
- shiftHorの値が0である場合、
offsetX = ( -nW ) >> 1
offsetY = ( ( -nH ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nH ) >> 3 : -( ( distanceIdx * nH ) >> 3 ) )
- そうではない場合(即ち、shiftHorの値が1である場合)
offsetX = ( ( -nW ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nW ) >> 3 : -( ( distanceIdx * nW ) >> 3 )
offsetY = ( - nH ) >> 1
【0427】
第1成分ブロックの重み行列wTemplateValue[x][y](x = -nTmW..nCbW - 1、y = -nTmH..nCbH - 1、xとyがともに0以上である場合を除く)は、以下の方法に基づいて導出される(なお、この例では、第1成分ブロックの左上隅の座標が(0,0)とされる)。
- 変数xLと yLは以下の方法に基づいて導出される。
xL = ( cIdx = = 0 ) ? x : x * SubWidthC
yL = ( cIdx = = 0 ) ? y : y * SubHeightC
disLutは上記表3に従って確定される。
第1パラメータweightIdxは以下の方法に基づいて導出される。
weightIdx = ( ( ( xL + offsetX ) << 1 ) + 1 ) * disLut[ displacementX ] +
( ( ( yL + offsetY ) << 1 ) + 1 ) * disLut[ displacementY ]
【0428】
上記方法に基づいて、第1パラメータweightIdxを確定した後、weightIdxに基づいて第1成分ブロック内のサンプル(x,y)の重みを確定する。
【0429】
本出願では、上記ステップ22における第1成分ブロック内のサンプルの第1パラメータに基づいて、第1成分ブロック内のサンプルの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【0430】
方式1:第1成分ブロック内のサンプルの第1パラメータに基づいて第1成分ブロック内のサンプルの第2パラメータを確定し、第1成分ブロック内のサンプルの第2パラメータに基づいて第1成分ブロック内のサンプルの重みを確定する。
【0431】
第2パラメータも重みを確定するために用いられる。いくつかの実施形態では、上記第2パラメータは第1成分での重みインデックスとも呼ばれ、当該第1成分は輝度成分などであってもよい。
【0432】
例えば、以下の式に基づいて第1成分ブロック内のサンプルの重みを確定する。
weightIdxL = partFlip ? 32 + weightIdx : 32 - weightIdx
wTemplateValue[x][y] = Clip3( 0, 8, ( weightIdxL + 4 ) >> 3 )
wTemplateValue[x][y]は、第1成分ブロック内のサンプル(x,y)の重みである。weightIdxLは、第1成分ブロック内のサンプル(x,y)の第2パラメータであり、第1成分(例えば、輝度成分)での重みインデックスとも呼ばれる。wTemplateValue[x][y]は、第1成分ブロック内のサンプル(x,y)の重みである。partFlipは中間変数であり、角度インデックスangleIdxに基づいて確定される。例えば、上記のように、partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1である。即ち、partFlipの値は1又は0である。partFlipの値が0である場合、weightIdxLは32 - weightIdxとなる。partFlipの値が1である場合、weightIdxLは32 + weightIdxとなる。ここの32は例示に過ぎず、本出願ではそれに限定されない。
【0433】
方式2:第1成分ブロック内のサンプルの第1パラメータ、第1の閾値及び第2の閾値に基づいて、第1成分ブロック内のサンプルの重みを確定する。
【0434】
第1成分ブロックの重みの計算複雑度を低減するために、方式2では、第1成分ブロック内のサンプルの重みを第1の閾値又は第2の閾値に限定する。即ち、第1成分ブロック内のサンプルの重みを第1の閾値又は第2の閾値のいずれかにすることで、第1成分ブロックの重みの計算複雑度を低減する。
【0435】
本出願は、第1の閾値と第2の閾値の具体的な値を限定しない。
【0436】
選択的に、第1の閾値は1である。
【0437】
選択的に、第2の閾値は0である。
【0438】
一例では、以下の式に基づいて第1成分ブロック内のサンプルの重みを確定することができる。
wTemplateValue[x][y] = (partFlip ? weightIdx: - weightIdx) > 0 ? 1 : 0
wTemplateValue[x][y] は第1成分ブロック内のサンプル(x,y)の重みであり、上記「1 : 0」における1は第1の閾値であり、0は第2の閾値である。
【0439】
上記方式1では、重み導出モードに基づいて第1成分ブロック内の各サンプルの重みが確定される。第1成分ブロック内の各サンプルの重みからなる重み行列が第1成分ブロックの重みとされる。
【0440】
上記方法に基づいて、この第2組合せに含まれる重み導出モードに対応する第1成分ブロックの重みが確定された後、この第2組合せに含まれるK個の予測モードを使用して第1成分ブロックが予測されて、K個の予測値が得られ、第1成分ブロックの重みに基づいて、K個の予測値が重み付けされて、第1成分ブロックの予測値が得られる。
【0441】
第1成分ブロックの予測値は、第1成分ブロック内のサンプルの予測値からなる行列として理解され得る。
【0442】
いくつかの実施形態では、上記予測値は予測サンプルとも呼ばれる。
【0443】
次に、第1成分ブロックの予測値と再構成値に基づいて、この第2組合せのコストが確定される。
【0444】
上記第2組合せのコストを確定する方式は以下のいくつかの方式を含むが、これらに限定されない。
【0445】
方式1:行列に基づいて当該第2組合せのコストを確定する。具体的に、第1成分ブロックの予測値と再構成値に基づいて、ロス(loss)を確定する。このロスを第1のロスとして記す。上記第1成分ブロックの予測値と再構成値が行列であるため、得られる第1のロスも行列となる。例えば、第1成分ブロックの予測値と再構成値の差の絶対値を第1のロスとして確定し、この第1のロスをその第2組合せのコストとして確定する。
【0446】
方式2:サンプルごとに計算することで第2組合せのコストを確定する。
【0447】
具体的に、第1成分ブロック内のi番目のサンプルに対して、第2組合せにおけるK個の予測モードの各々の、i番目のサンプルにおける予測値を確定し、第1成分ブロックの重みにおける、i番目のサンプルに対応する第1成分ブロックの重みを確定し、i番目のサンプルに対応する第1成分ブロックの重みと、i番目のサンプルのK個の予測値とに基づいて、そのi番目のサンプルの予測値を得る。そのi番目のサンプルの予測値と再構成値とに基づいて、i番目のサンプルにおける第2組合せのコストを得る。この方法に基づいて、第1成分ブロック内の各サンプルにおける、第2組合せの予測歪みコストを確定することができ、最後に、第1成分ブロック内の各サンプルにおける、第2組合せの予測歪みコストの合計を、その第2組合せのコストとして確定する。
【0448】
上記方法に基づいて、R個の第2組合せの各々のコストを確定することができる。
【0449】
次に、R個の第2組合せの各々のコストに基づいて、候補組合せのリストを構築する。
【0450】
例えば、第2組合せのコストに基づいて、R個の第2組合せをコストの昇順でソートし、ソートされたR個の第2組合せを候補組合せのリストとして確定する。
【0451】
別の例として、第2組合せのコストに基づいて、R個の第2組合せからコストが最も小さいN個の第2組合せを選択して、候補組合せのリストを構成する。
【0452】
選択的に、Nは8又は16又は32などである。
【0453】
上記方法に基づいて、候補組合せのリストが確定される。当該候補組合せのリスト内の各候補組合せは、コストの昇順でソートされ、例示的に、当該候補組合せのリストは上記表6に示されている。
【0454】
このように、デコーディング側は、第1インデックスに基づいて、表6に示す候補組合せのリストから第1インデックスに対応する候補組合せをクエリし、当該第1インデックスに対応する候補組合せを第1組合せとして確定し、即ち、当該候補組合せに含まれる重み導出モードを第1の重み導出モードとして確定し、当該候補組合せに含まれるK個の予測モードをK個の第1の予測モードとして確定する。
【0455】
上記実施形態では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含むことを例として、候補組合せのリストを構築する方式を説明した。
【0456】
本出願の実施形態において、状況1では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードはブレンディングパラメータ(blending parameter)を含まない。状況2では、第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。状況3では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードはブレンディングパラメータを含む。ブレンディングパラメータは、K個の第1の予測モードとともに、カレント成分ブロックの予測値を確定するために用いられる。
【0457】
状況1では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含み、且つ第1の重み導出モードがブレンディングパラメータを含まない場合、カレント成分ブロックに対応する候補組合せのリストは、上記実施形態で説明したように構築される。
【0458】
状況2では、第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。
【0459】
上記
図4及び
図5に示すように、重み分割線の近傍にブレンディング領域(遷移領域)、即ち
図4及び
図5におけるグレー領域が存在する。ブレンディング領域はブレンディングパラメータに対応し、即ち、ブレンディングパラメータで重みマップにおけるブレンディング領域が表される。いくつかの場合では、当該ブレンディングパラメータで重みに影響を与えることができる。従って、本出願の実施形態では、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックの予測値が確定される。この場合、本出願の実施形態の第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。
【0460】
この状況2では、S101における第1組合せを確定することは以下のステップを含む。
【0461】
S101-C:ビットストリームをデコードして、候補組合せのリストを確定する。当該候補組合せのリストは少なくとも1つの候補組合せを含み、当該少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。
【0462】
S101-D:候補組合せのリストに基づいて第1組合せを確定する。
【0463】
例示的に、当該候補組合せのリストを表8に示す。
【0464】
【0465】
表8に示すように、候補組合せのリストは少なくとも1つの候補組合せを含み、この少なくとも1つの候補組合せのうちの任意の2つの候補組合せが完全に同じであるというわけではなく、即ち、任意の2つの候補組合せは、重み導出モード、K個の予測モード及びブレンディングパラメータのうちの少なくとも1つが異なる。
【0466】
例示的に、上記表8では、候補組合せのリストにおける候補組合せの順序を候補組合せのインデックスとする。選択的に、候補組合せのリストにおける候補組合せのインデックスを他の方式で表してもよい。本出願の実施形態では、それについては限定されない。
【0467】
当該実施形態では、デコーディング側が候補組合せのリストに基づいて第1組合せを確定する方式は以下のいくつかの方式を含むが、これらに限定されない。
【0468】
方式1:候補組合せのリストは1つの候補組合せを含む。この場合、当該候補組合せのリストに含まれる候補組合せを、第1組合せとして確定する。
【0469】
方式2:候補組合せのリストは複数の候補組合せを含む。この場合、ビットストリームをデコードして、第1インデックスを取得する。当該第1インデックスは第1組合せを示すために用いられる。当該候補組合せのリスト内の第1インデックスに対応する候補組合せを、第1組合せとして確定する。
【0470】
この方式2において、デコーディング側は、ビットストリームをデコードして、第1インデックスを取得し、上記表8に示す候補組合せのリストを確定し、第1インデックスに基づいて当該候補組合せのリストからクエリして、当該第1インデックスによって示される第1組合せを取得する。
【0471】
例えば、第1インデックスはインデックス1であり、表8に示す候補組合せのリストにおいて、インデックス1に対応する候補組合せは候補組合せ2であり、即ち、第1インデックススによって示される第1組合せは候補組合せ2である。このように、デコーディング側は、候補組合せ2に含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータを、第1組合せに含まれる第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータとして確定し、当該第1の重み導出モード、第2のブレンディングパラメータ及びK個の第1の予測モードを使用してカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【0472】
当該方式2において、エンコーディング側とデコーディング側はそれぞれ、同じ候補組合せのリストを確定してもよい。例えば、エンコーディング側とデコーディング側はいずれも、L個の候補組合せを含むリストを確定する。各候補組合せは、1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。エンコーディング側は、最終的に選択された1つの候補組合せ(例えば第1組合せ)のみをビットストリームにシグナリングすればよく、デコーディング側は、エンコーディング側によって最終的に選択された第1組合せを解析し、具体的に、デコーディング側はビットストリームをデコードして、第1インデックスを取得し、第1インデックスに基づいて、デコーディング側によって確定された候補組合せのリストから第1組合せを確定する。
【0473】
以下、上記S101-Cにおける候補組合せのリストを確定する具体的なプロセッサを説明する。
【0474】
いくつかの実施形態では、上記候補組合せのリストは既に存在しているものである。デコーディング側は、ビットストリームをデコードして第1インデックスを得た後、当該第1インデックスに基づいて当該候補組合せのリストを取得し又は読み取り、さらに、当該第1インデックスに基づいて、当該候補組合せのリストから第1インデックスに対応する候補組合せをクエリすることができる。
【0475】
いくつかの実施形態では、上記候補組合せのリストは、エンコーディング側からデコーディング側へ送信される。例えば、エンコーディング側は、カレント成分ブロックをエンコードする前に、上記候補組合せのリストをデコーディング側に送信する。
【0476】
いくつかの実施形態では、上記候補組合せのリストはエンコーディング側からクラウドにアップロードされ、デコーディング側はクラウドから当該候補組合せのリストを読み取ることができる。
【0477】
いくつかの実施形態では、上記候補組合せのリストはデコーディング側によって構築される。
【0478】
本出願の実施形態は、デコーディング側が候補組合せのリストを構築する方式を限定しない。例えば、カレント成分ブロックに関連する情報を用いて、異なる重み導出モード、異なる予測モード、及び異なるブレンディングパラメータからなる各組合せの確率を分析し、各組合せの確率に応じて候補組合せのリストを構築する。
【0479】
選択的に、カレント成分ブロックに関連する情報は、カレント成分ブロックの隣接ブロックのモード情報、カレント成分ブロックに対応する第1成分ブロックの再構成サンプルなどを含む。
【0480】
いくつかの実施形態では、デコーディング側は、以下のS101-C1及びS101-C2のステップによって、候補組合せのリストを構築する。
【0481】
S101-C1:ビットストリームをデコードして、カレント成分ブロックに対応する第1成分ブロックを確定する。
【0482】
S101-C2:第1成分ブロックに基づいて候補組合せのリストを構築する。
【0483】
S101-C1の具体的な実現プロセスについては、上記S101-A1の説明を参照し、ここでは繰り返さない。
【0484】
カレント成分ブロックに対応する第1成分ブロックと、カレント成分ブロックとは関連性を有するため、本出願の実施形態では、第1成分ブロックに基づいて、カレント成分ブロックの候補組合せのリストを構築する。
【0485】
例えば、各組合せに対して、その組合せを使用して第1成分ブロックを予測して、各組合せに対応する第1成分ブロックの予測値を得、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。例えば、各組合せに対して、当該組合せに含まれる重み導出モードを使用して第1成分ブロックの重みを導出し、当該組合せに含まれるK個の予測モードの各々を使用して第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、導出された第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、当該組合せに対応する第1成分ブロックの予測値を得る。最後に、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。
【0486】
なお、重み導出モードに基づいて導出される上記重みは、第1成分ブロック内の各サンプルに対応する重み、又は第1成分ブロックに対応する重み行列として理解され得る。ブレンディングパラメータを使用して第1成分ブロックの重みを調整することは、第1成分ブロック内の各サンプルに対応する重みを調整すること、又は、第1成分ブロックの重み行列を調整することと理解され得る。第1成分ブロックの調整された重みに基づいて第1成分ブロックの予測値を確定する際、第1成分ブロック内の各サンプルに対応するK個の予測値を確定し、各サンプルに対応するK個の予測値及び調整された重みに基づいて各サンプルに対応する予測値を確定することができる。第1成分ブロック内の各サンプルに対応する予測値は第1成分ブロックの予測値を構成する。選択的に、調整された重みに基づいて第1成分ブロックの予測値を確定することは、ブロックに基づいて実行されることができ、例えば、第1成分ブロックの予測値を確定し、第1成分ブロックの調整された重み行列に基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を取得することもできる。
【0487】
いくつかの実施形態において、S101-C2は、以下のS101-C21からS101-C23のステップを含む。
【0488】
S101-C21:R個の第2組合せを確定する。R個の第2組合せのうちのいずれか1つは1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含み、R個の第2組合せのうちのいずれか2つに含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータが完全に同じであるというわけではなく、Rは1より大きい正の整数である。
【0489】
S101-C22:R個の第2組合せのうちのいずれか1つに対して、第2組合せにおける重み導出モード、K個の予測モード、及びブレンディングパラメータを使用して第1成分ブロックを予測する場合の、第2組合せに対応するコストを確定する。
【0490】
S101-C23:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0491】
本実施形態において、デコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。R個の第2組合せのうちのいずれか2つに含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータが完全に同じであるというわけではない。次に、R個の第2組合せの各々に対して、その第2組合せに含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。最後に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0492】
いくつかの実施形態では、上記S101-C22における第2組合せにおける重み導出モード、K個の予測モード、及びブレンディングパラメータを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定することは、少なくとも以下の方式を含む。
【0493】
方式1:S101-C22は、以下のS101-C22-11からS101-C22-14を含む。
【0494】
S101-C22-11:第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する。
【0495】
S101-C22-12:第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。
【0496】
S101-C22-13:第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。
【0497】
S101-C22-14:第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【0498】
本出願の実施形態では、R個の第2組合せの各々に対応するコストを確定するプロセスは同じである。説明を容易にするために、ここでR個の第2組合せのうちの1つを例として説明する。
【0499】
本出願の実施形態において、第2組合せは、1つの重み導出モード、1つのブレンディングパラメータ、及びK個の予測モードを含む。当該第2組合せを使用して第1成分ブロックを予測する際、当該第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する。第2組合せに含まれるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。次に、第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。次に、第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【0500】
本出願の実施形態では、ブレンディングパラメータは、重み導出モードによって導出される重みを調整するために用いられる。そのため、本出願の実施形態では、上記S101-C22-11における第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する実施形態は少なくとも以下のいくつかの例を含む。
【0501】
例1では、第1の重み導出モードを使用して第1成分ブロックの重みを導出する際、複数の中間変数を確定する必要がある。ブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して第1成分ブロックの重みを導出することができる。例えば、ブレンディングパラメータを使用して、displacementX、displacementY、 partFlip、shiftHor、offsetX、offsetY、xL、yLなどの変数のうちの1つ又は複数を調整して、第1成分ブロックの重みを得る。
【0502】
例2では、第2組合せにおける重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第3の重みを確定し、第2組合せにおけるブレンディングパラメータを使用して第3の重みを調整し、調整された第3の重みを得、調整された第3の重みに基づいて、第1成分ブロックの重みを確定する。
【0503】
例えば、第2組合せにおける重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第3の重みをweightIdxに確定し、次に、ブレンディングパラメータを使用してweightIdxを調整し、調整されたweightIdxを得、次に、調整されたweightIdxに基づいて、第1成分ブロックの重みwVemplateValueを確定する。
【0504】
一例では、次の式に従って、ブレンディングパラメータを使用してweightIdxを調整して、調整されたweightIdxを得る。
weightIdx = weightIdx * blendingCoeff
ここで、blendingCoeffは、第2組合せに含まれるブレンディングパラメータである。
【0505】
別の例として、第2組合せにおける重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第3の重みをwVemplateValueに確定し、次に、ブレンディングパラメータを使用してwVemplateValueを調整し、調整されたwVemplateValueを得、調整されたwVemplateValueを第1成分ブロックの重みに確定する。
【0506】
一例では、次の式に従って、ブレンディングパラメータを使用してwVemplateValueを調整して、調整されたwVemplateValueを得る。
wVemplateValue= wVemplateValue* blendingCoeff
【0507】
上記方法に基づいて、R個の第2組合せの各々に対応する第1成分ブロックの重みを確定することができる。次に、各第2組合せに対して、当該第2組合せに含まれるK個の予測モードを使用して第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。当該第2組合せに対応する第1成分ブロックの重みに基づいて、当該第2組合せに対応する第1成分ブロックのK個の予測値に対して重み付けを行って、当該第2組合せに対応する第1成分ブロックの予測値を得る。当該第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、当該第2組合せに対応するコストを確定する。第2組合せに対応するコストを確定する方式は、SAD、SATD、SEEなどを含むが、これらに限定されない。当該方法に基づいて、R個の第2組合せの各々に対応するコストを確定することができる。次に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0508】
方式2:S101-C22は、以下のS101-C22-11からS101-C22-14を含む。
【0509】
S101-C22-21:第2組合せにおける重み導出モード及びブレンディングパラメータに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定する。
【0510】
S101-C22-22:第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定する。
【0511】
S101-C22-23:第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定する。例えば、第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、第2組合せに対応するコストに確定する。
【0512】
例えば、K=2であると仮定すると、第2組合せに含まれる2つの予測モードをそれぞれ予測モード1及び予測モード2として記す。まず、この第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、予測モード1に対応する第1成分ブロックの重み及び予測値を確定し、予測モード1に対応する第1成分ブロックの重みを用いて、予測モード1に対応する予測値を処理する。例えば、予測モード1に対応する第1成分ブロック内の各サンプルに対して、予測モード1に対応する第1成分ブロック内のサンプルの予測値に、そのサンプルに対応する第1成分ブロックの重みを乗算して、そのサンプルの予測値を得る。このようにして、予測モード1に対応する第1成分ブロックの予測値を確定することができる。次に、予測モード1に対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、予測モード1に対応するコストを確定することができる。予測モード1に対応するコストを確定する方式は、SAD、SATD、SEEなどを含むが、これらに限定されない。同様に、予測モード2に対応するコストを確定することができる。さらに、予測モード1に対応するコスト及び予測モード2に対応するコストに基づいて、第2組合せに対応するコストを確定し、例えば、予測モード1に対応するコストに予測モード2に対応するコストを加算したものを、第2組合せに対応するコストとして確定する。
【0513】
上記S101-C23におけるR個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する方式については、上記S101-A23の説明を参照することができ、ここでは繰り返さない。
【0514】
以下、上記S101-C21におけるR個の第2組合せを確定するプロセスについて説明する。
【0515】
いくつかの実施形態では、上記R個の第2組合せは予め設定されたものである。
【0516】
いくつかの実施形態では、S101-C21は以下のステップを含む。
【0517】
S101-C21-1:F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータを確定する。FとWはいずれも正の整数であり、JはK以上の正の整数である。
【0518】
S101-C21-2:F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、F個の重み導出モードのうちの1つの重み導出モード、J個の予測モードのうちのK個の予測モード、及びW個のブレンディングパラメータのうちの1つのブレンディングパラメータを含む。
【0519】
この実施形態では、デコーディング側は、まず、F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータを確定し、次に、確定されたF個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータに基づいて、R個の第2組合せを構築する。
【0520】
本出願の実施形態では、上記F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータの具体的な数が限定されない。
【0521】
K=2であると仮定し、上記K個の予測モードは1番目の予測モードと2番目の予測モードを含む。利用可能なすべての予測モードがJ種あると仮定し、1番目の予測モードにはJ種の可能性があり、2番目の予測モードと1番目の予測モードとが異なるため、2番目の予測モードにはJ-1種の可能性がある。重み導出モードがF種あり、ブレンディング勾配係数がW種あると仮定すると、本出願では、いずれか2つの異なる予測モード、いずれか1つの重み導出モード、及びいずれか1つのブレンディング勾配係数を使用して1つの第2組合せを構築することができ、合計でF*J*(J-1)*W種の可能な第2組合せがある。
【0522】
この実施形態では、F個の重み導出モードはすべての可能な重み導出モードであり、J個の予測モードはすべての可能な予測モードであり、W個のブレンディングパラメータはすべての可能なブレンディングパラメータである。網羅的列挙を利用して、すべての可能な第2組合せを得る。すべての可能な第2組合せの各々を使用して、カレント成分ブロックに対応する第1成分ブロックを予測して、各第2組合せの歪みコストを計算し、さらに、各第2組合せの歪みコストに基づいて、カレント成分ブロックに対応する候補組合せのリストを取得する。
【0523】
いくつかの実施形態では、データ量を減らし、候補組合せのリストの構築速度を上げるために、すべての予測モードを試すのではなく、一部の予測モードを選択して試すことができる。
【0524】
この場合、上記S101-C21-1におけるJ個の予測モードを確定する実施形態は以下のいくつかの方式を含むが、これらに限定されない。
【0525】
方式1:J個の予測モードは予め設定された予測モードである。
【0526】
方式2:カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定する。候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つに基づいて、J個の予測モードを確定する。
【0527】
カレント成分ブロックの候補予測モードのリストを確定する方式は、少なくとも以下のいくつかの例を含む。
【0528】
例1では、カレント成分ブロックに隣接する少なくとも1つのブロックに使用される予測モードに基づいて、候補予測モードのリストが確定される。
【0529】
例2では、候補予測モードのリストが予め設定されたモードを含まない場合、カレント成分ブロックに対応する予め設定されたモードが確定され、予め設定されたモードが候補予測モードのリストに追加される。
【0530】
一例では、上記予め設定されたモードは、複数の予め設定された予測モードである。
【0531】
別の例では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて予め設定されたモードが確定される。
【0532】
例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、予め設定されたモードは、DCモード、水平モード、垂直モード、及び角度モードのうちの少なくとも1つを含む。
【0533】
例3では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて候補予測モードのリストが確定される。例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、DCモード、水平モード、垂直モード、及びいくつかの角度モードのうちの少なくとも1つが、第2の候補予測モードのリストに追加され得る。別の例として、カレント成分ブロックに対応する画像タイプがIタイプである場合、DCモード、水平モード、垂直モードのうちの少なくとも1つが候補予測モードのリストに追加され得る。
【0534】
例4では、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つが確定される。第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、彩度ブロック及び/又は輝度ブロック)に使用され、第3の予測モードは、カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、輝度ブロック及び/又は彩度ブロック)に使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロック(例えば、輝度ブロック)に使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストが確定される。
【0535】
本出願の実施形態において、上記J個の予測モードを確定する具体的な実施形態については、上記S101-A21-1におけるQ個の予測モードを確定する具体的な説明を参照することができ、ここでは繰り返さない。いくつかの実施形態では、上記JはQに等しい。
【0536】
以下、S101-C21-1におけるF個の重み導出モードを確定するプロセスを説明する。
【0537】
本出願の実施形態では、F個の重み導出モードを確定する方式は少なくとも以下のいくつかの方式を含む。
【0538】
いくつかの実施形態では、上記F個の重み導出モードは、予め設定された重み導出モードである。
【0539】
いくつかの実施形態では、Z個の予め設定された重み導出モードからF個の重み導出モードを選択する。ZはF以上の正の整数である。
【0540】
本出願の実施形態は、上記Z個の予め設定された重み導出モードを制限しない。
【0541】
いくつかの実施形態では、ZがFに等しい場合、Z個の重み導出モードが、F個の重み導出モードとして確定される。
【0542】
いくつかの実施形態では、ZがFより大きい場合、R個の第2組合せの数をさらに減らすために、Z個の予め設定された重み導出モードに対してスクリーニングを行い、Z個の予め設定された重み導出モードからF個の重み導出モードを選択して、R個の第2組合せを構築することができる。
【0543】
上記S101-C21-1におけるF個の重み導出モードを確定するプロセスは、上記S101-A21-1におけるP個の重み導出モードを確定するプロセスと実質的に同じである。上記P個の重み導出モードを確定する具体的な説明を参照し、ここでは繰り返さない。
【0544】
以下、S101-C21-1におけるW個のブレンディング勾配係数を確定するプロセスを紹介する。
【0545】
いくつかの実施形態では、上記W個のブレンディングパラメータは、予め設定されたブレンディングパラメータであり、例えば、1/4、1/2、1、2、4などである。
【0546】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいてW個のブレンディングパラメータが確定される。例えば、カレント成分ブロックのサイズがある予め設定された値より小さい場合、W個のブレンディングパラメータは、ブレンディングパラメータの数値範囲1内にある。さらなる例として、カレント成分ブロックのサイズがある予め設定された値より小さい場合、W個のブレンディングパラメータは、ブレンディングパラメータの数値範囲2内にある。ブレンディングパラメータの数値範囲1とブレンディングパラメータの数値範囲2とは、重なってもよく、重ならなくてもよい。
【0547】
いくつかの実施形態では、複数の予め設定されたブレンディングパラメータから、W個のブレンディングパラメータが確定される。
【0548】
一例では、カレント成分ブロックの画像情報に基づいて、複数の予め設定されたブレンディングパラメータから、W個のブレンディングパラメータが確定される。
【0549】
本出願の実施形態は、カレント成分ブロックの画像情報の具体的な内容を限定しない。画像情報の具体的な内容は、例えば、不鮮鋭度、鮮鋭度、アキュータンス(acutance)などである。
【0550】
いくつかの実施形態では、カレント成分ブロックの画像情報が画像エッジの鮮鋭度を含む場合、カレント成分ブロックの画像情報に基づいて、複数の予め設定されたブレンディングパラメータからW個のブレンディングパラメータを確定することは、以下の2つの例を含む。
【0551】
例1では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、複数の予め設定されたブレンディングパラメータのうちの少なくとも1つの第1タイプのブレンディングパラメータが、W個のブレンディングパラメータとして確定される。
【0552】
第1タイプのブレンディングパラメータは、比較的広いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、1/4、1/2などが挙げられる。
【0553】
例2では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、複数の予め設定されたブレンディングパラメータのうちの少なくとも1つの第2タイプのブレンディングパラメータが、W個のブレンディングパラメータとして確定される。第2タイプのブレンディングパラメータは、第1タイプのブレンディングパラメータより大きい。
【0554】
第2タイプのブレンディングパラメータは、比較的狭いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、2、4などが挙げられる。
【0555】
本出願の実施形態において、カレント成分ブロックの画像情報を確定する方式は、少なくとも2つの方式を含むことができる。
【0556】
方式1:ビットストリームをデコードすることによって、カレント成分ブロックの画像情報が得られる。例えば、エンコーディング側は、カレント成分ブロックの画像情報をビットストリームにエンコードする。このように、デコーディング側は、ビットストリームをデコードすることによってカレント成分ブロックの画像情報を得る。
【0557】
方式2:第1成分ブロックの画像情報が確定され、第1成分ブロックの画像情報に基づいて、カレント成分ブロックの画像情報が確定される。第1成分ブロックがデコードされているため、第1成分ブロックの画像情報が利用可能である。例えば、第1成分ブロックの再構成値を分析することによって、第1成分ブロックの画像情報が得られる。次に、第1成分ブロックの画像情報に基づいて、カレント成分ブロックの画像情報が得られる。例えば、第1成分ブロックの画像情報がカレント成分ブロックの画像情報に確定され、又は、第1成分ブロックの画像情報を処理することによってカレント成分ブロックの画像情報が得られる。
【0558】
デコーディング側は、上記ステップに基づいてJ個の予測モード、F個の重み導出モード、及びW個のブレンディングパラメータを確定した後、これらJ個の予測モード、F個の重み導出モード、及びW個のブレンディングパラメータに基づいて、R個の異なる第2組合せを構築する。次に、R個の第2組合せに基づいて、候補組合せのリストを確定し、さらに、この候補組合せのリストから、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを確定する。
【0559】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、デコーディング側は、上記確定されたJ個の予測モード、F個の重み導出モード、及びW個のブレンディングパラメータを再びスクリーニングする。この場合、上記S101-C21-2における確定されたF個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータに基づいて、R個の第2組合せを構築することは、以下のS101-C21-21からS101-C21-24までのステップを含む。
【0560】
S101-C21-21:F個の重み導出モードからE個の重み導出モードが選択される。EはF以下の正の整数である。
【0561】
具体的に、上記確定されたF個の重み導出モードから、現れる確率の低い重み導出モードが除去されて、スクリーニングされたE個の重み導出モードが得られる。
【0562】
上記S101-C21-21におけるF個の重み導出モードからE個の重み導出モードを選択する方式は、以下のいくつかの方式を含むが、これらに限定されない。
【0563】
方式1:F個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードと第4のブレンディングパラメータに基づいて、第1成分ブロックでのK個の第2の予測モードの重みが確定される。第4のブレンディングパラメータはW個のブレンディング勾配のうちいずれか1つのブレンディングパラメータである。K個の第2の予測モードはJ個の予測モードのうちの任意のK個の予測モードであり、iは1からFまでの正の整数である。第1成分ブロックでのK個の予測モードのいずれか1つの予測モードの重みが第1の予め設定された値より小さい場合、F個の重み導出モードからi番目の重み導出モードが除去され、E個の重み導出モードが得られる。
【0564】
この方式1では、i番目の重み導出モードと第4のブレンディングパラメータに基づいて、第1成分ブロックでのK個の第2の予測モードの重みを確定する方式は、少なくとも以下のいくつかの例に示す方式を含む。
【0565】
例1では、i番目の重み導出モードを使用して第1成分ブロックの重みを導出する際、複数の中間変数を確定する必要がある。第4のブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して第1成分ブロックの重みを導出することができる。
【0566】
例2では、i番目の重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第4の重みを確定し、第4のブレンディングパラメータを使用して第4の重みを調整し、調整された第4の重みを得、調整された第4の重みに基づいて、第1成分ブロックでのK個の第2の予測モードの重みを確定する。
【0567】
例えば、i番目の重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第4の重みをweightIdxに確定し、次に、第4のブレンディングパラメータを使用してweightIdxを調整し、調整されたweightIdxを得、次に、調整されたweightIdxに基づいて、第1成分ブロックの重みwVemplateValueを確定する。
【0568】
一例では、次の式に従って、第4のブレンディングパラメータを使用してweightIdxを調整して、調整されたweightIdxを得ることができる。
weightIdx= weightIdx* blendingCoeff3
ここで、blendingCoeff3は、第4のブレンディングパラメータである。
【0569】
別の例として、i番目の重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第4の重みをwVemplateValueに確定し、次に、第4のブレンディングパラメータを使用してwVemplateValueを調整し、調整されたwVemplateValueを得、調整されたwVemplateValueを第1成分ブロックの重みに確定する。
【0570】
一例では、次の式に従って、第4のブレンディングパラメータを使用してwVemplateValueを調整して、調整されたwVemplateValueを得る。
wVemplateValue= wVemplateValue* blendingCoeff3
【0571】
上記方法によって、i番目の重み導出モードに基づいて、第1成分ブロックでのK個の第2の予測モードの重みを確定する。
【0572】
方式2:F個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードを使用して第1成分ブロックを予測する場合のコストが確定される。iは1からFまでの正の整数である。i番目の重み導出モードに対応するコストに基づいて、F個の重み導出モードからE個の重み導出モードが選択される。
【0573】
いくつかの実施形態では、上記i番目の重み導出モードに対応するコストを確定する際、重みに対するブレンディングパラメータの影響が考慮されない。
【0574】
いくつかの実施形態では、上記i番目の重み導出モードに対応するコストを確定する際、重みに対するブレンディングパラメータの影響が考慮される。即ち、i番目の重み導出モード及びブレンディングパラメータに基づいて第1成分ブロックの重みが確定され、次に、第1成分ブロックの重み及び第1成分ブロックのK個の予測値に基づいて第1成分ブロックの予測値が確定され、さらに、第1成分ブロックの予測値及び再構成値に基づいて、i番目の重み導出モードに対応するコストが確定される。i番目の重み導出モードとブレンディングパラメータに基づいて第1成分ブロックの重みを確定する具体的なプロセスについては、上記実施形態の説明を参照することができ、ここでは繰り返さない。
【0575】
いくつかの実施形態では、上記S101-A11-21におけるP個の重み導出モードからS個の重み導出モードを選択する方式を参照して、F個の重み導出モードからE個の重み導出モードを選択することも可能である。具体的については上記実施形態の説明を参照することができ、ここでは繰り返さない。
【0576】
デコーディング側は、上記ステップに基づいて、F個の重み導出モードからE個の重み導出モードを選択した後、以下のS101-C21-22のステップを実行する。
【0577】
S101-C21-22:J個の予測モードからV個の予測モードを選択する。VはJ以下の正の整数である。
【0578】
本出願の実施形態は、J個の予測モードからV個の予測モードを選択する方式を限定しない。
【0579】
いくつかの実施形態では、J個の予測モードからV個の予め設定された予測モードが選択される。
【0580】
いくつかの実施形態では、J個の予測モードのうちi番目の予測モードに対して、デコーディング側は、i番目の予測モードを使用して第1成分ブロックを予測する場合のコストを確定する。iは1からJまでの正の整数である。i番目の予測モードに対応するコストに基づいて、J個の予測モードからV個の予測モードを選択する。
【0581】
本出願の実施形態では、重み導出モード、K個の予測モード及びブレンディングパラメータを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モード、与えられるK-1個の予測モード及び与えられるブレンディングパラメータに基づいて、J個の重み導出モードのコストを計算する。即ち、J個の予測モードの各々と与えられる重み導出モード、K-1個の予測モード及びブレンディングパラメータとを組合せてJ個の組合せを得、これらJ個の組合せの各々に対応するコストを計算し、さらに、J個の予測モードのコストを得る。
【0582】
上記方法に基づいて、J個の予測モードのうちのi番目の予測モードに対応するコストを確定した後、i番目の予測モードに対応するコストに基づいて、J個の予測モードからV個の予測モードを選択する。
【0583】
デコーディング側では、i番目の予測モードに対応するコストに基づいて、J個の予測モードからV個の予測モードを選択することは以下の方式を含む。
【0584】
1番目の方式では、i番目の予測モードに対応するコストが第4の予め設定された値より小さい場合、J個の予測モードからi番目の予測モードに類似する予測モードが選択され、i番目の予測モードと、i番目の予測モードに類似する予測モードとに基づいて、V個の予測モードが確定される。i番目の予測モードに類似する予測モードは、予測結果がi番目の予測モードの予測結果に類似する(又は近い)予測モードとして理解されることができ、例えば、予測方向(又は角度)がi番目の予測モードの予測方向(又は角度)に近い予測モード、又は、インデックスがi番目の予測モードのインデックスに近い予測モードが挙げられ、例えば、インデックスがi番目の予測モードのインデックスより1、2大きい予測モード、インデックスがi番目の予測モードのインデックスより1、2小さい予測モードが挙げられる。
【0585】
2番目の方式では、i番目の予測モードに対応するコストが第5の予め設定された値より大きい場合、J個の予測モードから、i番目の予測モードと、i番目の予測モードに類似する予測モードとが除去され、除去後の少なくとも1つの予測モードが得られ、除去後の少なくとも1つの予測モードに基づいて、V個の予測モードが確定される。
【0586】
上記ステップに基づいて、F個の重み導出モードからE個の重み導出モードが選択され、J個の予測モードからV個の予測モードが選択された後、以下のS101-C21-23が実行される。
【0587】
S101-C21-23:W個のブレンディングパラメータからO個のブレンディングパラメータが選択され、OはW以下の正の整数である。
【0588】
いくつかの実施形態では、OがWに等しい場合、W個のブレンディングパラメータが、O個のブレンディングパラメータに確定される。
【0589】
いくつかの実施形態では、WがOより大きい場合、W個のブレンディングパラメータに対してスクリーニングを行って、O個のブレンディングパラメータが得られる。
【0590】
W個のブレンディングパラメータに対してスクリーニングを行って、O個のブレンディングパラメータを得る方式は、少なくとも以下のいくつかを含む。
【0591】
例1では、W個のブレンディングパラメータの各々のコストが確定され、W個のブレンディングパラメータのうちの、コストが最も小さい最初のO個のブレンディングパラメータが選択される。
【0592】
例えば、W個のブレンディングパラメータのうちのi番目のブレンディングパラメータに対して、i番目のブレンディングパラメータ、重み導出モード1、予測モード1、及び予測モード2で1つの組合せを構成し、その組合せを使用して第1成分ブロックを予測して、第1成分ブロックの予測値を得る。例示的に、重み導出モード1に基づいて重みを確定し、i番目のブレンディングパラメータを用いてその重みを調整し、調整された重み得る。予測モード1と予測モード2のそれぞれを使用して第1成分ブロックを予測して、第1成分ブロックの2つの予測値を得、調整された重みを用いて2つの予測値に対して重み付けを行って、i番目のブレンディングパラメータに対応する第1成分ブロックの予測値を取得する。次に、第1成分ブロックの再構成値と、i番目のブレンディングパラメータに対応する第1成分ブロックの予測値とに基づいて、i番目のブレンディングパラメータに対応するコストを確定する。上記方法に基づいて、W個のブレンディングパラメータの各々と、重み導出モード1、予測モード1、及び予測モード2とからなる組合せに対応するコストを確定することができ、さらに、コストに基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータを選択することができる。例えば、W個のブレンディングパラメータのうちの、コストが最も小さいO個のブレンディングパラメータを選択する。
【0593】
例2では、上記W個のブレンディングパラメータがカレント成分ブロックの画像情報に基づいて確定されたものではない場合、本出願の実施形態では、カレント成分ブロックの画像情報を確定し、カレント成分ブロックの画像情報に基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータを確定することもできる。
【0594】
本出願の実施形態は、カレント成分ブロックの画像情報の具体的な内容を限定しない。画像情報の具体的な内容は、例えば、不鮮鋭度、鮮鋭度、アキュータンスなどである。
【0595】
いくつかの実施形態では、カレント成分ブロックの画像情報が画像エッジの鮮鋭度を含む場合、カレント成分ブロックの画像情報に基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータを確定することは、2つの例を含む。
【0596】
一例では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、W個のブレンディングパラメータのうちの少なくとも1つの第1タイプのブレンディングパラメータが、O個のブレンディングパラメータとして確定される。
【0597】
別の例では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、W個のブレンディングパラメータのうちの少なくとも1つの第2タイプのブレンディングパラメータが、O個のブレンディングパラメータとして確定される。
【0598】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータが選択される。
【0599】
1つの可能な実施形態では、カレント成分ブロックのサイズに応じて、W個のブレンディングパラメータのうちの、第3の値以上のブレンディングパラメータがO個のブレンディングパラメータとされる。
【0600】
例えば、カレント成分ブロックのサイズが第2の設定された閾値より小さい場合、W個のブレンディングパラメータのうちの、第3の値を有するブレンディングパラメータが、O個のブレンディングパラメータのうちの1つとされる。
【0601】
さらに例えば、カレント成分ブロックのサイズが第2の設定された閾値以上である場合、W個のブレンディングパラメータのうちの、第4の値以下であるブレンディングパラメータがO個のブレンディングパラメータとされる。第4の値は第3の値より小さい。
【0602】
本出願の実施形態は、第2の設定された閾値、第3の値及び第4の値の具体的な値を限定しない。
【0603】
選択的に、第3の値は1であり、第4の値は1/2である。
【0604】
選択的に、カレント成分ブロックのサイズがカレント成分ブロックのサンプル数で表される場合、第2の設定された閾値は256などである。
【0605】
別の可能な実施形態では、カレント成分ブロックのサイズに基づいて、O個のブレンディングパラメータが、W個のブレンディングパラメータのうちの、ある数値範囲内にある少なくとも1つのブレンディングパラメータに確定される。
【0606】
例えば、カレント成分ブロックのサイズが第2の設定された閾値より小さい場合、O個のブレンディングパラメータが、W個のブレンディングパラメータのうちの、第4ブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。
【0607】
さらに例えば、カレント成分ブロックのサイズが第2の設定された閾値以上である場合、O個のブレンディングパラメータが、W個のブレンディングパラメータのうちの、第3ブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。第3のブレンディングパラメータの数値範囲の最小値が、第4ブレンディングパラメータの数値範囲の最小値より小さい。
【0608】
本出願の実施形態は、上記第4ブレンディングパラメータの数値範囲と第3のブレンディングパラメータの数値範囲の具体的な値を制限しない。選択的に、第4ブレンディングパラメータの数値範囲と第3のブレンディングパラメータの数値範囲とは重なる。選択的に、第4ブレンディングパラメータの数値範囲と第3のブレンディングパラメータの数値範囲とは重ならない。
【0609】
F個の重み導出モードからE個の重み導出モードが選択され、J個の予測モードからV個の予測モードが選択され、W個のブレンディングパラメータからO個のブレンディングパラメータが選択されたた後、以下のS101-C21-24が実行される。
【0610】
S101-C21-24:E個の重み導出モード、V個の予測モード、及びO個のブレンディングパラメータに基づいて、R個の第2組合せを構成する。
【0611】
具体的に、E個の重み導出モードから1つの重み導出モードを選択し、V個の予測モードからK個の予測モードを選択し、O個のブレンディングパラメータから1つのブレンディングパラメータを選択し、この1つの重み導出モード、K個の予測モード及び1つのブレンディングパラメータで1つの第2組合せを構成し、このステップを繰り返してR個の第2組合せを得ることができる。
【0612】
以上から分かるように、1つの第2組合せは、1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。即ち、1つの第2組合せは、K+2個の要素を含む。このように、1つの要素をスクリーニングする際、1つの組合せにおける他の要素が固定されている場合、その1つの要素の選択可能性を制限することができる。
【0613】
以下、重み導出モード、ブレンディングパラメータ、及び1つの予測モードが固定されている場合の、別の予測モードのスクリーニングプロセスを例として、上記S101-C21-2の実現プロセスを紹介する。
【0614】
いくつかの実施形態において、上記S101-C21-2は以下の内容を含む。F個の重み導出モードのうちのf番目の重み導出モード、及びO個のブレンディングパラメータのうちのo番目のブレンディングパラメータに対して、f番目の重み導出モード、o番目のブレンディングパラメータ、及びJ個の予測モードのうちのj番目の予測モードを使用して第1成分ブロックを予測する場合のコストを確定する。fはF以下の正の整数であり、oはO以下の正の整数であり、jはJ以下の正の整数である。f番目の重み導出モードと、o番目のブレンディングパラメータと、j番目の予測モードとの組合せに対応するコストが第6の予め設定された値より大きい場合、J個の予測モードから、j番目の予測モードと、j番目の予測モードに類似する予測モードとを除去して、除去後の少なくとも1つの予測モードを得る。f番目の重み導出モード、o番目のブレンディングパラメータ、及び除去後の少なくとも1つの予測モードに基づいて、R個の第2組合せを構築する。
【0615】
本実施形態では、重み導出モード、ブレンディングパラメータ及び1つの予測モードが固定されている場合、別の予測モードをスクリーニングする。例えば、ある重み導出モード及びブレンディングパラメータでは、あるイントラ予測モードを第1の予測モードとすることで比較的小さいコストが得られない場合、その重み導出モード及びブレンディングパラメータで、そのイントラ予測モードに類似するイントラ予測モードを第1の予測モードとする状況を試さない。
【0616】
具体的に、K=2であると仮定し、F個の重み導出モードのうちのf番目の重み導出モード、及びO個のブレンディングパラメータのうちのo番目のブレンディング勾配パラメータに対して、2番目の予測モードが予測モード1に設定されると仮定すると、当該予測モード1は、J個の予測モードのうちの1つの予測モードであってもよく、J個の予測モード以外の他の予測モードであってもよい。J個の予測モードから1番目の予測モードの可能な選択肢を確定する。具体的に、J個の予測モードのうちのj番目の予測モードを1番目の予測モードとする。この場合、f番目の重み導出モードと、o番目のブレンディング勾配パラメータと、j番目の予測モードと、予測モード1とからなる組合せjで第1成分ブロックを予測する場合の第1成分ブロックの予測値が確定され、その予測値に基づいて、組合せjに対応するコストが確定される。組合せjに対応するコストが、j番目の予測モードに対応するコストに確定される。次に、当該j番目の予測モードに対応するコストが第6の予め設定された値より大きいか否かが判断される。j番目の予測モードに対応するコストが第6の予め設定された値より大きい場合、当該j番目の予測モードと、f番目の重み導出モードと、o番目のブレンディング勾配パラメータと、予測モード1とからなる組合せを使用して第1成分ブロックを精確に予測できないことが示される。この場合、j番目の予測モードがJ個の予測モードから除去される。j番目の予測モードに類似する予測モードが、当該j番目の予測モードに類似する特性を有するため、j番目の予測モードに類似する予測モードがJ個の予測モードから除去され、除去後の予測モードの集合が得られる。除去後の予測モードの集合から、1つの予測モードが選択されて、新たなj番目の予測モードとされ、上記ステップを繰り返すことにより、f番目の重み導出モードとo番目のブレンディングパラメータに対応する除去後の最終的な予測モードの集合が得られる。
【0617】
上記ステップに基づいて、F個の重み導出モードの各々とブレンディングパラメータに対応する除去後の最終的な予測モードの集合が確定されることができる。このように、F個の重み導出モードと、F個の重み導出モードの各々に対応する除去後の最終的な予測モードの集合とに基づいて、R個の第2組合せが構築される。
【0618】
なお、上記実施形態では、組合せの形態で予測モードをスクリーニングする方式を示した。選択的に、組合せの形態で重み導出モードとブレンディングパラメータのうちのいずれか1つをスクリーニングして、最終的にR個の第2組合せを構築することもできる。
【0619】
デコーディング側は、上記各方法に基づいてR個の第2組合せを確定した後、R個の第2組合せのうちのいずれか1つの第2組合せに対して、第2組合せにおける重み導出モード、ブレンディングパラメータ、及びK個の予測モードを使用して第1成分ブロックを予測して、第2組合せに対応する第1成分ブロックの予測値を得る。
【0620】
以下、本出願の一実施形態におけるいずれか1つの第2組合せを使用してカレント成分ブロックに対応する第1成分ブロックを予測して、第1成分ブロックの予測値を得る1つの実現プロセスを説明する。
【0621】
本出願の実施形態では、いずれか1つの第2組合せに対して、その第2組合せに含まれる重み導出モード、ブレンディングパラメータ、及びK個の予測モードに基づいて第1成分ブロックを予測して、第2組合せに対応する第1成分ブロックの予測値を得る。
【0622】
本出願の実施形態では、第2組合せに含まれる重み導出モード、ブレンディングパラメータ、及びK個の予測モードに基づいて第1成分ブロックを予測して、第2組合せに対応する第1成分ブロックの予測値を得る具体的な実施形態が限定されない。例えば、まず、その第2組合せに含まれる重み導出モード及びK個の予測モードに基づいて、第1成分ブロックの予測値が確定される。次に、ブレンディングパラメータ及び確定された第1成分ブロックの予測値に基づいて、その第2組合せに対応する第1成分ブロックの予測値が得られる。
【0623】
いくつかの実施形態では、第2組合せに含まれる重み導出モード及びブレンディングパラメータを使用して、第1成分ブロックの重みが確定され、次に、その第2組合せに含まれるK個の予測モードに基づいて第1成分ブロックのK個の予測値が確定され、第1成分ブロックの重み及び第1成分ブロックのK個の予測値に基づいて、第2組合せに対応する第1成分ブロックの予測値が確定されることができる。
【0624】
いくつかの実施形態では、重み導出モードに基づいて第1成分ブロックの重みを確定することは、以下のステップを含む。
【0625】
ステップ1:重み導出モードに基づいて、角度インデックスと距離インデックスを確定する。
【0626】
ステップ2:角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。
【0627】
本出願では、予測値の重みを導出する方式と同じ方式で第1成分ブロックの重みを導出することができる。例えば、まず、重み導出モードに基づいて、角度インデックスと距離インデックスを確定する。角度インデックスは、重み導出モードによって導出された各重みの境界線の角度インデックスとして理解されることができる。例えば、上記表2に従って、重み導出モードに対応する角度インデックスと距離インデックスを確定することができる。例えば、重み導出モードが27である場合、対応する角度インデックスは12であり、対応する距離インデックスは3である。次に、角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。
【0628】
上記ステップ2における角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【0629】
方式1:角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。この場合、上記ステップ2は、以下のステップ21~ステップ23を含む。
【0630】
ステップ21:角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロック内のサンプルの第1パラメータを確定する。
【0631】
ステップ22:第1成分ブロック内のサンプルの第1パラメータ及びブレンディングパラメータに基づいて、第1成分ブロック内のサンプルの重みを確定する。
【0632】
ステップ23:第1成分ブロック内のサンプルの重みに基づいて、第1成分ブロックの重みを確定する。
【0633】
本実施形態では、角度インデックス、距離インデックス、第1成分ブロックのサイズ、及びカレント成分ブロックのサイズに基づいて、第1成分ブロック内のサンプルの重みを確定し、さらに、第1成分ブロック内の各サンプルの重みからなる重み行列を第1成分ブロックの重みとして確定する。
【0634】
本出願の第1パラメータは、重みを確定するために用いられる。
【0635】
いくつかの実施形態では、第1パラメータは重みインデックスとも呼ばれる。
【0636】
いくつかの実施形態では、第1パラメータは、上記実施形態における第1成分ブロックに対応する第3の重み及び第1成分ブロックに対応する第4の重みとして理解され得る。
【0637】
可能な一実施形態では、オフセットと第1パラメータは、以下のように確定されることができる。
【0638】
第1成分ブロックの重みの導出プロセスの入力は、第1成分ブロックの幅nCbW、第1成分ブロックの高さnCbH、GFMの「分割」角度インデックス変数angleId、GFMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。ここで、第1成分ブロックを例とするため、cIdxが0であることは輝度成分を示す。
【0639】
変数nW、nH、shift1、offset1、displacementX、displacementY、partFlip、及びshiftHorは以下の方法に基づいて導出される。
nW = ( cIdx = = 0 ) ? nCbW : nCbW * EubWidthC
nH = ( cIdx = = 0 ) ? nCbH : nCbH * EubHeightC
shift1 = Max( 5, 17 - BitDepth )、BitDepthはコーディングのビット深度である。
offset1 = 1 << ( shift1 - 1 )
displacementX = angleIdx
displacementY = ( angleIdx + 8 ) % 32
partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1
shiftHor = ( angleIdx % 16 = = 8 | | ( angleIdx % 16 != 0 && nH >= nW ) ) ? 0 : 1
【0640】
オフセットoffsetXとoffsetYは以下の方法に基づいて導出される。
- shiftHorの値が0である場合、
offsetX = ( -nW ) >> 1
offsetY = ( ( -nH ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nH ) >> 3 : -( ( distanceIdx * nH ) >> 3 ) )
- そうではない場合(即ち、shiftHorの値が1である場合)
offsetX = ( ( -nW ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nW ) >> 3 : -( ( distanceIdx * nW ) >> 3 )
offsetY = ( - nH ) >> 1
【0641】
第1成分ブロックの重み行列wVemplateValue[x][y](x = -nVmW..nCbW - 1、y = -nVmH..nCbH - 1、xとyが同時に0以上である場合が除去される)は、以下の方法に基づいて導出される(なお、この例では、第1成分ブロックの左上隅の座標が(0,0)とされる)。
- 変数xLと yLは以下の方法に基づいて導出される。
xL = ( cIdx = = 0 ) ? x : x * EubWidthC
yL = ( cIdx = = 0 ) ? y : y * EubHeightC
disLutは上記表3に従って確定される。
第1パラメータweightIdxは以下の方法に基づいて導出される。
weightIdx = ( ( ( xL + offsetX ) << 1 ) + 1 ) * disLut[ displacementX ] +
( ( ( yL + offsetY ) << 1 ) + 1 ) * disLut[ displacementY ]
【0642】
いくつかの実施形態では、上記方法に基づいて、第1パラメータweightIdxを確定した後、ブレンディングパラメータを使用して第1パラメータを調整し、調整された第1パラメータを得る。
【0643】
一例では、以下の式に基づいて第1パラメーターが調整される。
weightIdx = weightIdx * blendingCoeff
blendingCoeffはブレンディングパラメータである。
【0644】
次に、調整された第1パラメータに基づいて、第1成分ブロック内のサンプルの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【0645】
方式1:第1成分ブロック内のサンプルの調整された第1パラメータに基づいて、第1成分ブロック内のサンプルの第2パラメータを確定し、第1成分ブロック内のサンプルの第2パラメータに基づいて第1成分ブロック内のサンプルの重みを確定する。
【0646】
第2パラメータも重みを確定するために用いられる。いくつかの実施形態では、上記第2パラメータは第1成分での重みインデックスとも呼ばれ、当該第1成分は輝度成分、彩度成分などであってもよい。
【0647】
例えば、以下の式に基づいて第1成分ブロック内のサンプルの重みが確定される。
weightIdxL = partFlip ? 32 + weightIdx : 32 - weightIdx
wVemplateValue[x][y] = Clip3( 0, 8, ( weightIdxL + 4 ) >> 3 )
wVemplateValue[x][y]は、第1成分ブロック内のサンプル(x,y)の重みである。weightIdxLは、第1成分ブロック内のサンプル(x,y)の第2パラメータであり、第1成分(例えば、輝度成分)での重みインデックスとも呼ばれる。wVemplateValue[x][y]は、第1成分ブロック内のサンプル(x,y)の重みである。partFlipは中間変数であり、角度インデックスangleIdxに基づいて確定される。例えば、上記のように、partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1である。即ち、partFlipの値は1又は0である。partFlipの値が0である場合、weightIdxLは32 - weightIdxとなる。partFlipの値が1である場合、weightIdxLは32 + weightIdxとなる。ここの32は例示に過ぎず、本出願ではそれに限定されない。
【0648】
方式2:第1成分ブロック内のサンプルの調整された第1パラメータ、第1の閾値及び第2の閾値に基づいて、第1成分ブロック内のサンプルの重みを確定する。
【0649】
第1成分ブロックの重みの計算複雑度を低減するために、方式2では、第1成分ブロック内のサンプルの重みを第1の閾値又は第2の閾値に限定する。即ち、第1成分ブロック内のサンプルの重みを第1の閾値又は第2の閾値のいずれかにすることで、第1成分ブロックの重みの計算複雑度を低減する。
【0650】
本出願は、第1の閾値と第2の閾値の具体的な値を限定しない。
【0651】
選択的に、第1の閾値は1である。
【0652】
選択的に、第2の閾値は0である。
【0653】
一例では、以下の式に基づいて第1成分ブロック内のサンプルの重みを確定することができる。
wVemplateValue[x][y] = (partFlip ? weightIdx: - weightIdx) > 0 ? 1 : 0
wVemplateValue[x][y] は第1成分ブロック内のサンプル(x,y)の重みであり、上記「1 : 0」における1は第1の閾値であり、0は第2の閾値である。
【0654】
上記方式1では、重み導出モードに基づいて第1成分ブロック内の各サンプルの重みが確定される。第1成分ブロック内の各サンプルの重みからなる重み行列が第1成分ブロックの重みとされる。
【0655】
上記方法に基づいて、この第2組合せに含まれる重み導出モードに対応する第1成分ブロックの重みが確定された後、この第2組合せに含まれるK個の予測モードを使用して第1成分ブロックが予測されて、K個の予測値が得られ、第1成分ブロックの重みに基づいて、K個の予測値が重み付けされて、第1成分ブロックの予測値が得られる。
【0656】
次に、第1成分ブロックの予測値と再構成値に基づいて、この第2組合せのコストが確定される。
【0657】
上記方法に基づいて、R個の第2組合せの各々のコストが確定すされることができる。次に、R個の第2組合せの各々のコストに基づいて、表8に示す候補組合せのリストが構築される。
【0658】
このように、デコーディング側は、第1インデックスに基づいて、表8に示す候補組合せのリストから第1インデックスに対応する候補組合せをクエリし、当該第1インデックスに対応する候補組合せを第1組合せとして確定し、即ち、当該候補組合せに含まれる重み導出モードを第1の重み導出モードとして確定し、当該候補組合せに含まれるK個の予測モードをK個の第1の予測モードとして確定し、当該候補組合せに含まれるブレンディングパラメータを第2のブレンディングパラメータとして確定する。
【0659】
上記状況2では、第1組合せが第1の重み導出モード、K個の第1の予測モード及び第2のブレンディングパラメータを含むことを例として、上記S101の実現プロセスを説明した。
【0660】
状況3:第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードは第3のブレンディングパラメータを含み、当該第3のブレンディングパラメータは重みを確定するために用いられる。
【0661】
その状況3では、第1の重み導出モードはデータセットとして理解されることができ、当該データセットは複数のパラメータを含み、例えば第3のブレンディングパラメータを含む。これら複数のパラメータはともに重みを確定するために用いられる。
【0662】
この状況3では、S101における第1組合せを確定することは以下のステップを含む。
【0663】
S101-E:ビットストリームをデコードして、候補組合せのリストを確定する。当該候補組合せのリストは少なくとも1つの候補組合せを含み、当該少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含み、重み導出モードは1つのブレンディングパラメータを含む。
【0664】
S101-F:候補組合せのリストに基づいて第1組合せを確定する。
【0665】
例示的に、当該候補組合せのリストを表9に示す。
【0666】
【0667】
表9に示すように、候補組合せのリストは少なくとも1つの候補組合せを含み、この少なくとも1つの候補組合せのうちの任意の2つの候補組合せが完全に同じであるというわけではなく、即ち、任意の2つの候補組合せは、重み導出モード及びK個の予測モードのうちの少なくとも1つが異なる。
【0668】
例示的に、上記表9では、候補組合せのリストにおける候補組合せの順序を候補組合せのインデックスとする。選択的に、候補組合せのリストにおける候補組合せのインデックスを他の方式で表してもよい。本出願の実施形態では、それについては限定されない。
【0669】
当該実施形態では、デコーディング側が候補組合せのリストに基づいて第1組合せを確定する方式は以下のいくつかの方式を含むが、これらに限定されない。
【0670】
方式1:候補組合せのリストは1つの候補組合せを含む。この場合、当該候補組合せのリストに含まれる候補組合せを、第1組合せとして確定する。
【0671】
方式2:候補組合せのリストは複数の候補組合せを含む。この場合、ビットストリームをデコードして、第1インデックスを取得する。当該第1インデックスは第1組合せを示すために用いられる。当該候補組合せのリスト内の第1インデックスに対応する候補組合せを、第1組合せとして確定する。
【0672】
この方式2において、デコーディング側は、ビットストリームをデコードして、第1インデックスを取得し、上記表9に示す候補組合せのリストを確定し、第1インデックスに基づいて当該候補組合せのリストからクエリして、当該第1インデックスによって示される第1組合せを取得する。
【0673】
例えば、第1インデックスはインデックス1であり、表9に示す候補組合せのリストにおいて、インデックス1に対応する候補組合せは候補組合せ2であり、即ち、第1インデックススによって示される第1組合せは候補組合せ2である。このように、デコーディング側は、候補組合せ2に含まれる重み導出モード及びK個の予測モードを、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードとして確定し、当該第1の重み導出モードに含まれる第3のブレンディングパラメータとK個の第1の予測モードとを使用してカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【0674】
以下、上記S101-Eにおける候補組合せのリストを確定する具体的なプロセッサを説明する。
【0675】
いくつかの実施形態では、上記候補組合せのリストは既に存在しているものである。デコーディング側は、ビットストリームをデコードして第1インデックスを得た後、当該第1インデックスに基づいて当該候補組合せのリストを取得し又は読み取り、さらに、当該第1インデックスに基づいて、当該候補組合せのリストから第1インデックスに対応する候補組合せをクエリすることができる。
【0676】
いくつかの実施形態では、上記候補組合せのリストは、エンコーディング側からデコーディング側へ送信される。例えば、エンコーディング側は、カレント成分ブロックをエンコードする前に、上記候補組合せのリストをデコーディング側に送信する。
【0677】
いくつかの実施形態では、上記候補組合せのリストはエンコーディング側からクラウドにアップロードされ、デコーディング側はクラウドから当該候補組合せのリストを読み取ることができる。
【0678】
いくつかの実施形態では、上記候補組合せのリストはデコーディング側によって構築される。
【0679】
本出願の実施形態は、デコーディング側が候補組合せのリストを構築する方式を限定しない。例えば、カレント成分ブロックに関連する情報を用いて、異なる予測モード及び異なるブレンディングパラメータからなる各組合せの確率を分析し、各組合せの確率に応じて候補組合せのリストを構築する。
【0680】
選択的に、カレント成分ブロックに関連する情報は、カレント成分ブロックの隣接ブロックのモード情報、カレント成分ブロックに対応する第1成分ブロックの再構成サンプルなどを含む。
【0681】
いくつかの実施形態では、デコーディング側は、以下のS101-E1及びS101-E2のステップによって、候補組合せのリストを構築する。
【0682】
S101-E1:ビットストリームをデコードして、カレント成分ブロックに対応する第1成分ブロックを確定する。
【0683】
S101-E2:第1成分ブロックに基づいて候補組合せのリストを構築する。
【0684】
S101-E1の具体的な実現プロセスについては、上記S101-A1の説明を参照し、ここでは繰り返さない。
【0685】
カレント成分ブロックに対応する第1成分ブロックと、カレント成分ブロックとは関連性を有するため、本出願の実施形態では、第1成分ブロックに基づいて、カレント成分ブロックの候補組合せのリストを構築する。
【0686】
例えば、各組合せに対して、その組合せを使用して第1成分ブロックを予測して、各組合せに対応する第1成分ブロックの予測値を得、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。例えば、各組合せに対して、当該組合せに含まれる重み導出モードを使用して第1成分ブロックの重みを導出し、当該組合せに含まれるK個の予測モードの各々を使用して第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、導出された第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、当該組合せに対応する第1成分ブロックの予測値を得る。最後に、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。
【0687】
なお、重み導出モードに基づいて導出される上記重みは、第1成分ブロック内の各サンプルに対応する重み、又は第1成分ブロックに対応する重み行列として理解され得る。ブレンディングパラメータを使用して第1成分ブロックの重みを調整することは、第1成分ブロック内の各サンプルに対応する重みを調整すること、又は、第1成分ブロックの重み行列を調整することと理解され得る。第1成分ブロックの調整された重みに基づいて第1成分ブロックの予測値を確定する際、第1成分ブロック内の各サンプルに対応するK個の予測値を確定し、各サンプルに対応するK個の予測値及び調整された重みに基づいて各サンプルに対応する予測値を確定することができる。第1成分ブロック内の各サンプルに対応する予測値は第1成分ブロックの予測値を構成する。選択的に、調整された重みに基づいて第1成分ブロックの予測値を確定することは、ブロックに基づいて実行されることができ、例えば、第1成分ブロックの予測値を確定し、第1成分ブロックの調整された重み行列に基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を取得することもできる。
【0688】
いくつかの実施形態において、S101-E2は、以下のS101-E21からS101-E23のステップを含む。
【0689】
S101-E21:R個の第2組合せを確定する。R個の第2組合せのうちのいずれか1つは1つの重み導出モード及びK個の予測モードを含み、重み導出モードは1つのブレンディングパラメータを含み、R個の第2組合せのうちのいずれか2つに含まれる重み導出モード及びK個の予測モードが完全に同じであるというわけではなく、Rは1より大きい正の整数である。
【0690】
S101-E22:R個の第2組合せのうちのいずれか1つに対して、第2組合せにおける重み導出モード及びK個の予測モードを使用して第1成分ブロックを予測する場合の、第2組合せに対応するコストを確定する。
【0691】
S101-E23:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0692】
本実施形態において、デコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モード及びK個の予測モードを含み、重み導出モードは1つのブレンディングパラメータを含む。R個の第2組合せのうちのいずれか2つに含まれる重み導出モード及びK個の予測モードが完全に同じであるというわけではない。次に、R個の第2組合せの各々に対して、その第2組合せに含まれる重み導出モード及びK個の予測モードを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。最後に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【0693】
いくつかの実施形態では、上記S101-E22における第2組合せにおける重み導出モード及びK個の予測モードを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定することは、少なくとも以下の方式を含む。
【0694】
方式1:S101-E22は、以下のS101-E22-11からS101-E22-14を含む。
【0695】
S101-E22-11:第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定する。
【0696】
S101-E22-12:第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。
【0697】
S101-E22-13:第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。
【0698】
S101-E22-14:第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【0699】
本出願の実施形態では、R個の第2組合せの各々に対応するコストを確定するプロセスは同じである。説明を容易にするために、ここでR個の第2組合せのうちの1つを例として説明する。
【0700】
本出願の実施形態において、第2組合せは、1つの重み導出モード及びK個の予測モードを含む。当該第2組合せを使用して第1成分ブロックを予測する際、例示的に、デコーディング側は、当該第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定する。第2組合せに含まれるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。次に、第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。次に、第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【0701】
本出願の実施形態では、上記S101-E22-11における第2組合せに含まれる重み導出モードに基づいて第1成分ブロックの重みを確定する具体的な方式が限定されない。例えば、第2組合せにおける重み導出モードはブレンディングパラメータを含み、従って、当該ブレンディングパラメータに基づいて第1成分ブロックの重みが確定されることができる。
【0702】
方式2:S101-E22は、以下のS101-E22-11からS101-E22-14を含む。
【0703】
S101-E22-21:第2組合せにおける重み導出モードに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定する。
【0704】
S101-E22-22:第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定する。
【0705】
S101-E22-23:第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定する。例えば、第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、第2組合せに対応するコストに確定する。
【0706】
例えば、K=2であると仮定すると、第2組合せに含まれる2つの予測モードをそれぞれ予測モード1及び予測モード2として記す。まず、この第2組合せに含まれる重み導出モードに基づいて、予測モード1に対応する第1成分ブロックの重み及び予測値を確定し、予測モード1に対応する第1成分ブロックの重みを用いて、予測モード1に対応する予測値を処理する。例えば、予測モード1に対応する第1成分ブロック内の各サンプルに対して、予測モード1に対応する第1成分ブロック内のサンプルの予測値に、そのサンプルに対応する第1成分ブロックの重みを乗算して、そのサンプルの予測値を得る。このようにして、予測モード1に対応する第1成分ブロックの予測値を確定することができる。次に、予測モード1に対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、予測モード1に対応するコストを確定することができる。予測モード1に対応するコストを確定する方式は、SAD、SATD、SEEなどを含むが、これらに限定されない。同様に、予測モード2に対応するコストを確定することができる。さらに、予測モード1に対応するコスト及び予測モード2に対応するコストに基づいて、第2組合せに対応するコストを確定し、例えば、予測モード1に対応するコストに予測モード2に対応するコストを加算したものを、第2組合せに対応するコストとして確定する。
【0707】
上記S101-E23におけるR個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する方式については、上記S101-A23の説明を参照することができ、ここでは繰り返さない。
【0708】
以下、上記S101-E21におけるR個の第2組合せを確定するプロセスについて説明する。
【0709】
いくつかの実施形態では、上記R個の第2組合せは予め設定されたものである。
【0710】
いくつかの実施形態では、S101-E21は以下のステップを含む。
【0711】
S101-E21-1:C個の重み導出モード及びD個の予測モードを確定する。Cは正の整数であり、DはK以上の正の整数である。
【0712】
S101-E21-2:C個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、C個の重み導出モードのうちの1つの重み導出モード及びD個の予測モードのうちのK個の予測モードを含む。
【0713】
この実施形態では、デコーディング側は、まず、C個の重み導出モード及びD個の予測モードを確定し、次に、確定されたC個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築する。
【0714】
本出願の実施形態では、上記C個の重み導出モード及びD個の予測モードの具体的な数が限定されない。
【0715】
K=2であると仮定し、上記K個の予測モードは1番目の予測モードと2番目の予測モードを含む。利用可能なすべての予測モードがD種あると仮定し、1番目の予測モードにはD種の可能性があり、2番目の予測モードと1番目の予測モードとが異なるため、2番目の予測モードにはD-1種の可能性がある。重み導出モードがC種あると仮定すると、本出願では、いずれか2つの異なる予測モード、いずれか1つの重み導出モード、及びいずれか1つのブレンディング勾配係数を使用して1つの第2組合せを構築することができ、合計でC*D*(D-1)種の可能な第2組合せがある。
【0716】
この実施形態では、C個の重み導出モードはすべての可能な重み導出モードであり、重み導出モードはブレンディングパラメータを含み、即ち、C個の重み導出モードはすべての可能なブレンディングパラメータを含み、D個の予測モードはすべての可能な予測モードである。網羅的列挙を利用して、すべての可能な第2組合せを得る。すべての可能な第2組合せの各々を使用して、第1成分ブロックを予測して、各第2組合せの歪みコストを計算し、さらに、各第2組合せの歪みコストに基づいて、カレント成分ブロックに対応する候補組合せのリストを取得する。
【0717】
いくつかの実施形態では、データ量を減らし、候補組合せのリストの構築速度を上げるために、すべての予測モードを試すのではなく、一部の予測モードを選択して試すことができる。
【0718】
この場合、上記S101-E21-1におけるD個の予測モードを確定する実施形態は以下のいくつかの方式を含むが、これらに限定されない。
【0719】
方式1:D個の予測モードは予め設定された予測モードである。
【0720】
方式2:カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定する。候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つに基づいて、D個の予測モードを確定する。
【0721】
カレント成分ブロックの第3の候補予測モードのリストを確定する方式は、少なくとも以下のいくつかの例を含む。
【0722】
例1では、カレント成分ブロックに隣接する少なくとも1つのブロックに使用される予測モードに基づいて、第3の候補予測モードのリストが確定される。
【0723】
例2では、第3の候補予測モードのリストが予め設定されたモードを含まない場合、カレント成分ブロックに対応する予め設定されたモードが確定され、予め設定されたモードが第3の候補予測モードのリストに追加される。
【0724】
一例では、上記予め設定されたモードは、複数の予め設定された予測モードである。
【0725】
別の例では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて予め設定されたモードが確定される。
【0726】
例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、予め設定されたモードは、DCモード、水平モード、垂直モード、及び角度モードのうちの少なくとも1つを含む。
【0727】
例3では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて第3の候補予測モードのリストが確定される。例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、DCモード、水平モード、垂直モード、及びいくつかの角度モードのうちの少なくとも1つが、第3の候補予測モードのリストに追加され得る。別の例として、カレント成分ブロックに対応する画像タイプがIタイプである場合、DCモード、水平モード、垂直モードのうちの少なくとも1つが第3の候補予測モードのリストに追加され得る。
【0728】
例4では、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つが確定される。第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、彩度ブロック及び/又は輝度ブロック)に使用され、第3の予測モードは、カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、輝度ブロック及び/又は彩度ブロック)に使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロック(例えば、輝度ブロック)に使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストが確定される。
【0729】
本出願の実施形態において、上記D個の予測モードを確定する具体的な実施形態については、上記S101-A21-1におけるQ個の予測モードを確定する具体的な説明を参照することができ、ここでは繰り返さない。いくつかの実施形態では、上記DはQに等しい。
【0730】
以下、S101-E21-1におけるC個の重み導出モードを確定するプロセスを説明する。
【0731】
いくつかの実施形態では、上記C個の重み導出モードは、予め設定された重み導出モードである。
【0732】
いくつかの実施形態では、上記C個の重み導出モードは、複数の予め設定された重み導出モードから選択されたものである。例えば、カレント成分ブロックのサイズ及び/又はカレント成分ブロックに対応する画像のタイプなどの情報に基づいてスクリーニングを行って、C個の重み導出モードを得る。選択的に、コストに基づいて、複数の予め設定された重み導出モードから、コストが小さいC個の重み導出モードを選択することもできる。
【0733】
いくつかの実施形態では、X個のブレンディングパラメータを確定し、X個のブレンディングパラメータに基づいて、C個の重み導出モードを確定する。本出願の実施形態は、XとCとの大小関係を限定しない。
【0734】
本出願の実施形態では、C個の重み導出モードの各々が1つのブレンディングパラメータを含むため、X個のブレンディングパラメータに基づいてC個の重み導出モードを確定することができる。例えば、重み導出モードがブレンディングパラメータに加えて他のパラメータを含む場合、C個の重み導出モードのうちの少なくとも2つの重み導出モードに含まれるブレンディングパラメータが同じであってもよく、異なってもよい。X個のブレンディングパラメータに基づいてC個の重み導出モードを確定することができる。例えば、X個のブレンディングパラメータからなる複数の異なる重み導出モードを使用して、複数の異なる重み導出モードのうちの各々に対応するコストを確定し、コストが最も小さいC個の重み導出モードを選択する。
【0735】
本出願の実施形態は、上記X個のブレンディングパラメータを確定する具体的な方式を限定しない。
【0736】
いくつかの実施形態では、上記X個のブレンディングパラメータは、予め設定されたブレンディングパラメータであり、例えば、1/4、1/2、1、2、4などである。
【0737】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいてX個のブレンディングパラメータが確定される。
【0738】
例えば、カレント成分ブロックのサイズが第3の設定された閾値より小さい場合、少なくとも1つの予め設定されたブレンディングパラメータのうちの、第5の値以上であるブレンディングパラメータがX個のブレンディングパラメータとされる。
【0739】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値以上である場合、少なくとも1つのブレンディングパラメータのうちの、第6の値以下であるブレンディングパラメータがX個のブレンディングパラメータとされる。第6の値は第5の値より小さい。
【0740】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値以上である場合、少なくとも1つのブレンディングパラメータのうちの、第6の値以下であるブレンディングパラメータがX個のブレンディングパラメータとされる。第6の値は第5の値より小さい。
【0741】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値より小さい場合、X個のブレンディングパラメータが、少なくとも1つの予め設定されたブレンディングパラメータのうちの、第5のブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。
【0742】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値以上である場合、X個のブレンディングパラメータが、少なくとも1つのブレンディングパラメータのうちの、第6のブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。第6のブレンディングパラメータの数値範囲の最小値が、第5ブレンディングパラメータの数値範囲の最小値より小さい。
【0743】
本出願の実施形態では、上記第3の設定された閾値、第5の値、第6の値、第5のブレンディングパラメータの数値範囲及び第6のブレンディングパラメータの数値範囲の具体的な値が限定されない。
【0744】
選択的に、カレント成分ブロックのサイズがカレント成分ブロックに含まれるサンプル数で表される場合、上記第3の設定された閾値は256である。
【0745】
選択的に、第5の値は1である。
【0746】
選択的に、第6の値は1/2である。
【0747】
いくつかの実施形態では、カレント成分ブロックの画像情報が確定され、カレント成分ブロックの画像情報に基づいて、X個のブレンディングパラメータが確定される。
【0748】
例1では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、Y個の予め設定されたブレンディングパラメータのうちの少なくとも1つの第3タイプのブレンディングパラメータが、X個のブレンディングパラメータとして確定される。YはXより大きい正の整数である。
【0749】
第3タイプのブレンディングパラメータは、比較的広いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、1/4、1/2などが挙げられる。
【0750】
例2では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、Y個のブレンディングパラメータのうちの少なくとも1つの第4タイプのブレンディングパラメータが、X個のブレンディングパラメータとして確定される。第4タイプのブレンディングパラメータは、第3タイプのブレンディングパラメータより大きい。
【0751】
第4タイプのブレンディングパラメータは、比較的狭いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、2、4などが挙げられる。
【0752】
デコーディング側は、上記ステップに基づいてD個の予測モード、C個の重み導出モード、及びW個のブレンディングパラメータを確定した後、これらD個の予測モード及びC個の重み導出モードに基づいて、R個の異なる第2組合せを構築する。次に、R個の第2組合せに基づいて、候補組合せのリストを確定し、さらに、この候補組合せのリストから、第1の重み導出モード及びK個の第1の予測モードを確定する。
【0753】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、デコーディング側は、上記確定されたD個の予測モード及びC個の重み導出モードを再びスクリーニングする。この場合、上記S101-E21-2における確定されたC個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築することは、以下のS101-E21-21からS101-E21-24までのステップを含む。
【0754】
S101-E21-21:C個の重み導出モードからC1個の重み導出モードが選択される。C1はC以下の正の整数である。
【0755】
上記S101-E21-21の具体的な実現プロセスについては、上記S101-A11-21の説明を参照することができ、ここでは繰り返さない。
【0756】
デコーディング側は、上記ステップに基づいて、C個の重み導出モードからC1個の重み導出モードを選択した後、以下のS101-E21-22のステップを実行する。
【0757】
S101-E21-22:D個の予測モードからD1個の予測モードを選択する。D1はD以下の正の整数である。
【0758】
上記S101-E21-22の具体的な実現プロセスについては、上記S101-A11-22の説明を参照することができ、ここでは繰り返さない。
【0759】
上記ステップに基づいて、C個の重み導出モードからC1個の重み導出モードが選択され、D個の予測モードからD1個の予測モードが選択された後、以下のS101-E21-23が実行される。
【0760】
S101-C21-23:C1個の重み導出モードとD1個の予測モードに基づいて、R個の第2組合せを構築する。
【0761】
上記S101-E21-23の具体的な実現プロセスについては、上記S101-A11-23の説明を参照することができ、ここでは繰り返さない。
【0762】
以下、本出願の一実施形態におけるいずれか1つの第2組合せを使用してカレント成分ブロックに対応する第1成分ブロックを予測して、第1成分ブロックの予測値を得る1つの実現プロセスを説明する。
【0763】
まず、この第2組合せに含まれる重み導出モードを使用して、第1成分ブロックの重みが確定される。
【0764】
いくつかの実施形態では、重み導出モードに基づいて第1成分ブロックの重みを確定することは、以下のステップを含む。
【0765】
ステップ3:重み導出モードに基づいて、角度インデックス、距離インデックス、及びブレンディングパラメータを確定する。
【0766】
ステップ4:角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。
【0767】
本出願では、予測値の重みを導出する方式と同じ方式で第1成分ブロックの重みを導出することができる。例えば、まず、重み導出モードに基づいて、角度インデックス、距離インデックス、及びブレンディングパラメータなどのパラメータを確定する。
【0768】
上記ステップ2における角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【0769】
方式1:角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する。この場合、上記ステップ4は、以下のステップ41~ステップ43を含む。
【0770】
ステップ41:角度インデックス、距離インデックス、及び第1成分ブロックのサイズに基づいて、第1成分ブロック内のサンプルの第1パラメータを確定する。
【0771】
ステップ42:第1成分ブロック内のサンプルの第1パラメータとブレンディングパラメータに基づいて、第1成分ブロック内のサンプルの重みを確定する。
【0772】
ステップ43:第1成分ブロック内のサンプルの重みに基づいて、第1成分ブロックの重みを確定する。
【0773】
本実施形態では、角度インデックス、距離インデックス、第1成分ブロックのサイズ、及びブレンディングパラメータに基づいて、第1成分ブロック内のサンプルの重みを確定し、さらに、第1成分ブロック内の各サンプルの重みからなる重み行列を第1成分ブロックの重みとして確定する。
【0774】
本出願の第1パラメータは、重みを確定するために用いられる。
【0775】
いくつかの実施形態では、第1パラメータは重みインデックスとも呼ばれる。
【0776】
可能な一実施形態では、オフセットと第1パラメータは、以下のように確定されることができる。
【0777】
第1成分ブロックの重みの導出プロセスの入力は、第1成分ブロックの幅nCbW、第1成分ブロックの高さnCbH、GFMの「分割」角度インデックス変数angleId、GFMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。ここで、第1成分ブロックを例とするため、cIdxが0であることは輝度成分を示す。
【0778】
変数nW、nH、shift1、offset1、displacementX、displacementY、partFlip、及びshiftHorは以下の方法に基づいて導出される。
nW = ( cIdx = = 0 ) ? nCbW : nCbW * EubWidthC
nH = ( cIdx = = 0 ) ? nCbH : nCbH * EubHeightC
shift1 = Max( 5, 17 - BitDepth )、BitDepthはコーディングのビット深度である。
offset1 = 1 << ( shift1 - 1 )
displacementX = angleIdx
displacementY = ( angleIdx + 8 ) % 32
partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1
shiftHor = ( angleIdx % 16 = = 8 | | ( angleIdx % 16 != 0 && nH >= nW ) ) ? 0 : 1
【0779】
オフセットoffsetXとoffsetYは以下の方法に基づいて導出される。
- shiftHorの値が0である場合、
offsetX = ( -nW ) >> 1
offsetY = ( ( -nH ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nH ) >> 3 : -( ( distanceIdx * nH ) >> 3 ) )
- そうではない場合(即ち、shiftHorの値が1である場合)
offsetX = ( ( -nW ) >> 1 ) + ( angleIdx < 16 ? ( distanceIdx * nW ) >> 3 : -( ( distanceIdx * nW ) >> 3 )
offsetY = ( - nH ) >> 1
【0780】
第1成分ブロックの重み行列wVemplateValue[x][y](x = -nVmW..nCbW - 1、y = -nVmH..nCbH - 1、xとyが同時に0以上である場合が除去される)は、以下の方法に基づいて導出される(なお、この例では、第1成分ブロックの左上隅の座標が(0,0)とされる)。
- 変数xLと yLは以下の方法に基づいて導出される。
xL = ( cIdx = = 0 ) ? x : x * EubWidthC
yL = ( cIdx = = 0 ) ? y : y * EubHeightC
disLutは上記表3に従って確定される。
第1パラメータweightIdxは以下の方法に基づいて導出される。
weightIdx = ( ( ( xL + offsetX ) << 1 ) + 1 ) * disLut[ displacementX ] +
( ( ( yL + offsetY ) << 1 ) + 1 ) * disLut[ displacementY ]
【0781】
いくつかの実施形態では、上記方法に基づいて、第1パラメータweightIdxを確定した後、ブレンディングパラメータを使用して第1パラメータを調整し、調整された第1パラメータを得る。
【0782】
一例では、以下の式に基づいて第1パラメーターが調整される。
weightIdx = weightIdx * blendingCoeff
blendingCoeffはブレンディングパラメータである。
【0783】
次に、調整された第1パラメータに基づいて、第1成分ブロック内のサンプルの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【0784】
方式1:第1成分ブロック内のサンプルの調整された第1パラメータに基づいて、第1成分ブロック内のサンプルの第2パラメータを確定し、第1成分ブロック内のサンプルの第2パラメータに基づいて第1成分ブロック内のサンプルの重みを確定する。
【0785】
第2パラメータも重みを確定するために用いられる。いくつかの実施形態では、上記第2パラメータは第1成分での重みインデックスとも呼ばれ、当該第1成分は輝度成分、彩度成分などであってもよい。
【0786】
例えば、以下の式に基づいて第1成分ブロック内のサンプルの重みが確定される。
weightIdxL = partFlip ? 32 + weightIdx : 32 - weightIdx
wVemplateValue[x][y] = Clip3( 0, 8, ( weightIdxL + 4 ) >> 3 )
wVemplateValue[x][y]は、第1成分ブロック内のサンプル(x,y)の重みである。weightIdxLは、第1成分ブロック内のサンプル(x,y)の第2パラメータであり、第1成分(例えば、輝度成分)での重みインデックスとも呼ばれる。wVemplateValue[x][y]は、第1成分ブロック内のサンプル(x,y)の重みである。partFlipは中間変数であり、角度インデックスangleIdxに基づいて確定される。例えば、上記のように、partFlip = ( angleIdx >= 13 && angleIdx <= 27 ) ? 0 : 1である。即ち、partFlipの値は1又は0である。partFlipの値が0である場合、weightIdxLは32 - weightIdxとなる。partFlipの値が1である場合、weightIdxLは32 + weightIdxとなる。ここの32は例示に過ぎず、本出願ではそれに限定されない。
【0787】
方式2:第1成分ブロック内のサンプルの調整された第1パラメータ、第1の閾値及び第2の閾値に基づいて、第1成分ブロック内のサンプルの重みを確定する。
【0788】
第1成分ブロックの重みの計算複雑度を低減するために、方式2では、第1成分ブロック内のサンプルの重みを第1の閾値又は第2の閾値に限定する。即ち、第1成分ブロック内のサンプルの重みを第1の閾値又は第2の閾値のいずれかにすることで、第1成分ブロックの重みの計算複雑度を低減する。
【0789】
本出願は、第1の閾値と第2の閾値の具体的な値を限定しない。
【0790】
選択的に、第1の閾値は1である。
【0791】
選択的に、第2の閾値は0である。
【0792】
一例では、以下の式に基づいて第1成分ブロック内のサンプルの重みを確定することができる。
wVemplateValue[x][y] = (partFlip ? weightIdx: - weightIdx) > 0 ? 1 : 0
wVemplateValue[x][y]は第1成分ブロック内のサンプル(x,y)の重みであり、上記「1 : 0」における1は第1の閾値であり、0は第2の閾値である。
【0793】
上記方式1では、重み導出モードに基づいて第1成分ブロック内の各サンプルの重みが確定される。第1成分ブロック内の各サンプルの重みからなる重み行列が第1成分ブロックの重みとされる。
【0794】
上記方法に基づいて、この第2組合せに含まれる重み導出モードに対応する第1成分ブロックの重みを確定した後、この第2組合せに含まれるK個の予測モードの各々に対応するコストを確定することにより、この第2組合せに対応するコストを確定する。
【0795】
上記方法に基づいて、R個の第2組合せの各々のコストを確定することができる。次に、R個の第2組合せの各々のコストに基づいて、表9に示す候補組合せのリストを構築する。
【0796】
このように、デコーディング側は、第1インデックスに基づいて、表9に示す候補組合せのリストから第1インデックスに対応する候補組合せをクエリし、当該第1インデックスに対応する候補組合せを第1組合せとして確定し、即ち、当該候補組合せに含まれる重み導出モードを第1の重み導出モードとして確定し、当該候補組合せに含まれるK個の予測モードをK個の第1の予測モードとして確定する。
【0797】
デコーディング側は、状況1、状況2及び状況3に基づいて第1組合せを確定した後、以下のステップS102を実行する。
【0798】
S102:第1の重み導出モードとK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【0799】
上記S102から分かるように、本出願の実施形態では、第1組合せに含まれるコンテンツが異なる。例えば、状況1では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含むが、ブレンディングパラメータを含まない。状況2では、第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。状況3では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードは第3のブレンディングパラメータを含む。本出願の実施形態では、カレント成分ブロックの予測値を確定する方法は、第1組合せに含まれるコンテンツの違いによって異なる。
【0800】
状況1:第1組合せが第1の重み導出モードとK個の第1の予測モードを含み、且つブレンディングパラメータを含まない場合、上記S102に含まれる計算プロセスは、以下の2つのサブ状況を含む。
【0801】
状況11:第1の重み導出モードに基づいて、カレント成分ブロックの予測値の重みが確定され、K個の第1の予測モードに基づいてカレント成分ブロックが予測されて、カレント成分ブロックのK個の予測値が得られ、カレント成分ブロックの予測値の重みを使用してカレント成分ブロックのK個の予測値が重み付けされ、カレント成分ブロックの予測値が得られる。第1の重み導出モードに基づいてカレント成分ブロックの予測値の重みを導出するプロセスについては、上記実施形態における現在ブロックの予測値の重みを導出するプロセスを参照することができ、ここでは繰り返さない。
【0802】
この状況11では、カレント成分ブロックの予測値の重みを確定する際、重みに対するブレンディングパラメータの影響が考慮されない。
【0803】
いくつかの実施形態では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含み、且つブレンディングパラメータを含まない場合、さらに以下の状況22が含まれる。
【0804】
状況22:第1組合せがブレンディングパラメータを含むが、カレント成分ブロックの予測値を確定する際、ブレンディングパラメータの影響が考慮される。この場合、上記S102は、以下のS102-A1及びS102-A2のステップを含む。
【0805】
S102-A1:第1のブレンディングパラメータを確定する。
【0806】
S102-A2:第1のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【0807】
本出願の実施形態は、上記S102-A2の具体的な実現プロセスを限定しない。例えば、第1の重み導出モード及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して予測値を得、次に、第1のブレンディングパラメータ及びその予測値に基づいて、カレント成分ブロックの予測値を確定する。
【0808】
いくつかの実施形態において、上記S102-A2は以下のステップを含む。
【0809】
S102-A21:第1のブレンディングパラメータ及び第1の重み導出モードに基づいて、予測値の重みを確定する。
【0810】
S102-A22:K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。
【0811】
S102-A23:予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0812】
上記S102-A22とS102-A21との実行順序が特に限定されず、即ち、S102-A22がS102-A21の前に実行されてもよく、S102-A21の後に実行されてもよく、S102-A21と並行して実行されてもよい。
【0813】
この状況1において、第1組合せが第1の重み導出モードとK個の第1の予測モードを含むが、ブレンディングパラメータを含まない場合、デコーディング側は第1のブレンディングパラメータを確定し、この第1のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0814】
本出願の実施形態では、第1のブレンディングパラメータを確定する方式は、少なくとも以下のいくつかを含む。
【0815】
方式1:ビットストリームをデコードして、第2インデックスを得る。当該第2インデックスは第1のブレンディングパラメータを示すために用いられる。当該第2インデックスに基づいて、第1のブレンディングパラメータを確定する。具体的に、エンコーディング側は第1のブレンディングパラメータを確定した後、当該第1のブレンディングパラメータに対応する第2インデックスをビットストリームにシグナリングする。次に、デコーディング側は、ビットストリームをデコードして第2インデックスを得、当該第2インデックスに基づいて第1のブレンディングパラメータを確定する。
【0816】
一例において、方式1に対応するシンタックスを表10に示す。
【0817】
【0818】
表10において、gpm_cand_idxは第1インデックスを表し、gpm_blending_idxは第2インデックスを表す。
【0819】
いくつかの実施形態において、異なるブレンディング勾配インデックスは、第1成分ブロックの予測結果に対する影響が小さい。簡略化された方法が使用される場合、即ち、第1成分ブロックでの重みが0と1だけである場合、ブレンディング勾配インデックスは、第1成分ブロックの予測に影響を与えることができず、即ち、候補組合せのリストに影響を与えることができず、この場合、ブレンディング勾配インデックスは、組合せ内に含まれないことができる。
【0820】
本出願の実施形態では、第2インデックスに基づいて、第1のブレンディングパラメータを確定する具体的な方式が限定されない。
【0821】
いくつかの実施形態において、デコーディング側は、候補ブレンディングパラメータのリスト(candidate blending parameter list)を確定する。当該候補ブレンディングパラメータのリストは、複数の候補ブレンディングパラメータを含む。候補ブレンディングパラメータのリストにおける、第2インデックスに対応する候補ブレンディングパラメータを、第1のブレンディングパラメータに確定する。
【0822】
本出願の実施形態は、候補ブレンディングパラメータのリストを確定する方式を限定しない。
【0823】
一例では、上記候補ブレンディングパラメータのリストにおける候補ブレンディングパラメータは、予め設定されたものである。
【0824】
別の例では、デコーディング側は、カレント成分ブロックの特徴情報に基づいて、複数の予め設定されたブレンディングパラメータから少なくとも1つのブレンディングパラメータを選択して、候補ブレンディングパラメータのリストを構成する。例えば、カレント成分ブロックの画像情報に基づいて、複数の予め設定されたブレンディングパラメータから、カレント成分ブロックの画像情報に適合するブレンディングパラメータを選択して、候補ブレンディングパラメータのリストを構成する。
【0825】
例として、画像情報が画像エッジの鮮鋭度を含むと仮定する。カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、複数の予め設定されたブレンディングパラメータのうちの少なくとも1つの第1タイプのブレンディングパラメータ(例えば、1/4、1/2など)を選択して、候補ブレンディングパラメータのリストを構成する。カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、複数の予め設定されたブレンディングパラメータのうちの少なくとも1つの第2タイプのブレンディングパラメータ(例えば、2、4など)を選択して、候補ブレンディングパラメータのリストを構成する。
【0826】
例示的に、本出願の実施形態の候補ブレンディングパラメータのリストを表11に示す。
【0827】
【0828】
表11に示すように、候補ブレンディングパラメータのリストは複数の候補ブレンディングパラメータを含む。各候補ブレンディングパラメータは1つのインデックスに対応する。
【0829】
例示的に、上記表11では、候補ブレンディングパラメータのリストにおける候補ブレンディングパラメータの順序を、候補ブレンディングパラメータのインデックスとする。選択的に、候補ブレンディングパラメータのリストにおける候補ブレンディングパラメータのインデックスを他の方式で表してもよい。本出願の実施形態では、それについては限定されない。
【0830】
上記表11に基づいて、デコーディング側は、第2インデックスに基づいて、表11における第2インデックスに対応する候補ブレンディングパラメータを、第1のブレンディングパラメータに確定する。
【0831】
デコーディング側は、上記方式1に基づいて、ビットストリームをデコードして、第2インデックスを得、次に、第2インデックスに基づいて第1のブレンディングパラメータを確定することに加えて、以下の方式2に基づいて、第1のブレンディングパラメータを確定することもできる。
【0832】
いくつかの実施形態では、デコーディング側は、以下の方式2に基づいて、第1のブレンディングパラメータを確定することもできる。
【0833】
方式2:以下のS102-A11及びS102-A12のステップにより、第1のブレンディングパラメータを確定する。
【0834】
S102-A11:G個の予備ブレンディングパラメータ(alternative blending parameter)を確定する。Gは正の整数である。
【0835】
S102-A12:G個の予備ブレンディングパラメータから、第1のブレンディングパラメータを確定する。
【0836】
この方式2では、デコーディング側が自ら第1のブレンディングパラメータを確定することで、エンコーディング側がビットストリームに第2インデックスをエンコードすることを回避し、符号語を節約することができる。具体的に、デコーディング側はまずG個の予備ブレンディングパラメータを確定し、これらG個の予備ブレンディングパラメータから1つの予備ブレンディングパラメータを第1のブレンディングパラメータとして確定する。
【0837】
本出願の実施形態は、デコーディング側がG個の予備ブレンディングパラメータを確定する具体的な方式を限定しない。
【0838】
可能な実施形態では、上記G個の予備ブレンディングパラメータは予め設定されたものである。即ち、複数の予め設定されたブレンディングパラメータをG個の予備ブレンディングパラメータに確定することが、デコーディング側とエンコーディング側との間で合意される。
【0839】
別の可能な実施形態では、上記G個の予備ブレンディングパラメータは、エンコーディング側によって指示される。例えば、エンコーディング側は、複数の予め設定されたブレンディングパラメータのうちのG個のブレンディングパラメータをG個の予備ブレンディングパラメータとするよう指示することができる。
【0840】
別の可能な実施形態では、ブロックサイズとブレンディングパラメータとの間に一定の相関性があるため、ブロックサイズとブレンディングパラメータとの間の相関性を利用して、圧縮効率を向上させることができる。合理的な相関性の1つは、比較的狭いブレンディング領域が比較的小さいブロックに適しており、比較的広いブレンディング領域が比較的大きいブロックに適しているということである。それに基づいて、本出願の実施形態では、カレント成分ブロックのサイズに基づいてG個の予備ブレンディングパラメータを確定することもできる。例えば、カレント成分ブロックのサイズがある予め設定された値より大きい場合、比較的小さいブレンディングパラメータをG個の予備ブレンディングパラメータとして確定することができる。さらに例えば、カレント成分ブロックのサイズがある予め設定された値以下である場合、比較的大きいブレンディングパラメータを、G個の予備ブレンディングパラメータとして確定することができる。
【0841】
例示的に、ブロックサイズは、ブロックの長さ、幅、又はサンプル数によって表されることができる。
【0842】
別の可能な実施形態では、カレント成分ブロックの画像情報を確定し、カレント成分ブロックの画像情報に基づいて、複数の予め設定された予備ブレンディングパラメータからG個の予備ブレンディングパラメータを確定する。
【0843】
例示的に、画像情報が画像エッジの鮮鋭度を含む場合、カレント成分ブロックの画像情報に基づいて、複数の予め設定された予備ブレンディングパラメータからG個の予備ブレンディングパラメータを確定することは、以下の2つの方式を含む。
【0844】
1番目の方式:カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、複数の予め設定された予備ブレンディングパラメータのうちの少なくとも1つの第1の予備ブレンディングパラメータ(例えば、1/4、1/2など)が、G個の予備ブレンディングパラメータとして確定される。
【0845】
2番目の方式:カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、複数の予め設定された予備ブレンディングパラメータのうちの少なくとも1つの第2の予備ブレンディングパラメータ(例えば、2、4など)が、G個の予備ブレンディングパラメータとして確定される。第2の予備ブレンディングパラメータは第1の予備ブレンディングパラメータより大きい。
【0846】
デコーディング側はG個の予備ブレンディングパラメータを確定した後、これらG個の予備ブレンディングパラメータから第1のブレンディングパラメータを確定する。
【0847】
本出願の実施形態は、これらG個の予備ブレンディングパラメータから第1のブレンディングパラメータを確定する具体的な方式を限定しない。
【0848】
いくつかの実施形態では、G個の予備ブレンディングパラメータのいずれか1つが、第1のブレンディングパラメータとして確定される。
【0849】
いくつかの実施形態では、以下のS102-A121及びS102-A122のステップによって、G個の予備ブレンディングパラメータから第1のブレンディングパラメータが確定される。
【0850】
S102-A121:G個の予備ブレンディングパラメータのうちのg番目の予備ブレンディングパラメータに対して、g番目の予備ブレンディングパラメータに対応するコストが確定される。gは1~Gの正の整数である。
【0851】
S102-A122:G個の予備ブレンディングパラメータに対応するコストに基づいて、G個の予備ブレンディングパラメータから第1のブレンディングパラメータが確定される。
【0852】
この実施形態では、G個の予備ブレンディングパラメータの各々に対応するコストが確定され、次に、コストに基づいて、これらG個の予備ブレンディングパラメータから第1のブレンディングパラメータが確定される。
【0853】
本出願の実施形態では、G個の予備ブレンディングパラメータの各々に対応するコストを確定する方式が同じある。説明を容易にするために、g番目の予備ブレンディングパラメータを例として説明する。
【0854】
本出願の実施形態は、g番目の予備ブレンディングパラメータに対応するコストを確定する具体的な方式を限定しない。
【0855】
可能な1つの実施形態では、g番目の予備ブレンディングパラメータと、1つの予め設定された重み導出モード及びK個の予め設定された予測モードとを1つの組合せとして、この組合せで第1成分ブロックを予測する場合のコストを確定する。例えば、予め設定された重み導出モード及びg番目の予備ブレンディングパラメータに基づいて第1成分ブロックの重みを確定し、K個の予め設定された予測モードに基づいて第1成分ブロックのK個の予測値を確定し、第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を得、さらに、第1成分ブロックの予測値及び再構成値に基づいてその組合せに対応するコストを確定する。この組合せに対応するコストを、g番目の予備ブレンディングパラメータに対応するコストとして確定する。
【0856】
別の可能な実施形態では、第1の重み導出モード、g番目の予備ブレンディングパラメータ、及びK個の第1の予測モードを1つの組合せとして、この組合せで第1成分ブロックを予測する場合のコストを確定する。例示的に、S102-A121は、以下のステップを含む。
【0857】
S102-A1211:第1の重み導出モードとg番目の予備ブレンディングパラメータに基づいて、カレント成分ブロックに対応する第1成分ブロックの重みを確定する。
【0858】
S102-A1212:K個の第1の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値得る。
【0859】
S102-A1213:第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を得る。
【0860】
S102-A1214:第1成分ブロックの予測値に基づいて、g番目の予備ブレンディングパラメータに対応するコストを確定する。
【0861】
上記S102-A1211における第1の重み導出モードとg番目の予備ブレンディングパラメータに基づいて、カレント成分ブロックに対応する第1成分ブロックの重みを確定する具体的なプロセスについては、上記実施形態の説明を参照することができる。
【0862】
例えば、第1の重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第1の重みを確定し、g番目の予備ブレンディングパラメータを使用して第1の重みを調整し、調整された第1の重みを得、調整された第1の重みに基づいて第1成分ブロックの重みを確定する。
【0863】
上記方法を参照して、G個の予備ブレンディングパラメータの各々に対応するコストを確定することができ、次に、コストに基づいて、G個の予備ブレンディングパラメータから第1のブレンディングパラメータを確定することができる。
【0864】
例えば、G個の予備ブレンディングパラメータのうちの、コストが最も小さい予備ブレンディングパラメータを第1ブレンディングパラメータとして確定する。
【0865】
いくつかの実施形態では、以下の方式3に基づいて、第1のブレンディングパラメータを確定することもできる。
【0866】
方式3:カレント成分ブロックのサイズに基づいて、第1のブレンディングパラメータを確定する。
【0867】
上記から分かるように、ブレンディングパラメータとブロックサイズとの間に一定の相関性があるため、本出願の実施形態では、カレント成分ブロックのサイズに基づいて第1のブレンディングパラメータを確定することもできる。
【0868】
1つの可能な実施形態では、カレント成分ブロックのサイズに応じて、ある固定のブレンディングパラメータが第1のブレンディングパラメータとして確定される。
【0869】
例えば、カレント成分ブロックのサイズが第1の設定された閾値より小さい場合、第1のブレンディングパラメータが第1の値に確定される。
【0870】
さらに例えば、カレント成分ブロックのサイズが第1の設定された閾値以上である場合、第1のブレンディングパラメータが第2の値に確定される。第2の値は第1の値より小さい。
【0871】
本出願の実施形態は、上記第1の値、第2の値及び第1の設定された閾値の具体的な値を限定しない。
【0872】
例示的に、第1の値は1であり、第2の値は1/2である。
【0873】
例示的に、カレント成分ブロックのサイズがカレント成分ブロックのサンプル数(又は画素数)で表される場合、第1の設定された閾値は256などである。
【0874】
別の可能な実施形態では、カレント成分ブロックのサイズに基づいて、第1のブレンディングパラメータの数値範囲が確定され、第1のブレンディングパラメータがその数値範囲内にある値に確定される。
【0875】
例えば、カレント成分ブロックのサイズが第1の設定された閾値より小さい場合、第1のブレンディングパラメータが第1のブレンディングパラメータの数値範囲内にあると確定される。例えば、第1のブレンディングパラメータは、第1のブレンディングパラメータの数値範囲内の最小ブレンディングパラメータ、又は最大ブレンディングパラメータ、又は中間ブレンディングパラメータなどのいずれか1つのブレンディングパラメータである。また、別の例として、第1のブレンディングパラメータは、第1のブレンディングパラメータの数値範囲内の、コストが最も小さいブレンディングパラメータである。ブレンディングパラメータのコストを確定する方法については、本出願の他の実施形態を参照して説明することができ、ここでは繰り返さない。
【0876】
さらに例えば、カレント成分ブロックのサイズが第1の設定された閾値以上である場合、第1のブレンディングパラメータが第2のブレンディングパラメータの数値範囲内にあると確定される。例えば、第1のブレンディングパラメータは、第2のブレンディングパラメータの数値範囲内の最小ブレンディングパラメータ、又は最大ブレンディングパラメータ、又は中間ブレンディングパラメータなどのいずれか1つのブレンディングパラメータである。また、別の例として、第1のブレンディングパラメータは、第2のブレンディングパラメータの数値範囲内の、コストが最も小さいブレンディングパラメータである。第2のブレンディングパラメータの数値範囲の最小値が、第1のブレンディングパラメータの数値範囲の最小値より小さい。第1のブレンディングパラメータの数値範囲と第2のブレンディングパラメータの数値範囲とは、重なってもよく、重ならなくてもよい。本出願の実施形態では、それについては限定されない。
【0877】
この状況1では、上記ステップにより第1のブレンディングパラメータを確定した後、上記S102-A2のステップを実行し、第1のブレンディングパラメータと第1の重み導出モードに基づいて、予測値の重みを確定する。
【0878】
本出願の実施形態において、第1のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する方式は、少なくとも以下のいくつかの例に示す方式を含む。
【0879】
例1では、第1の重み導出モードを使用して予測値の重みを導出する際、複数の中間変数を確定する必要がある。第1のブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して予測値を導出することができる。
【0880】
例2では、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第2の重みを確定し、第1のブレンディングパラメータを使用して第2の重みを調整し、調整された第2の重みを得、調整された第2の重みに基づいて、予測値の重みを確定する。
【0881】
例えば、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第2の重みをweightIdxに確定し、次に、第1のブレンディングパラメータを使用してweightIdxを調整し、調整されたweightIdxを得、次に、調整されたweightIdxに基づいて、予測値の重みwVemplateValueを確定する。
【0882】
一例では、次の式に従って、第1のブレンディングパラメータを使用してweightIdxを調整して、調整されたweightIdxを得ることができる。
weightIdx = weightIdx * blendingCoeff1
ここで、blendingCoeff1は、第1のブレンディングパラメータである。
【0883】
別の例として、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第2の重みをwVemplateValueに確定し、次に、第1のブレンディングパラメータを使用してwVemplateValueを調整し、調整されたwVemplateValueを得、調整されたwVemplateValueを予測値の重みに確定する。
【0884】
一例では、次の式に従って、第1のブレンディングパラメータを使用してwVemplateValueを調整して、調整されたwVemplateValueを得る。
wVemplateValue= wVemplateValue* blendingCoeff1
【0885】
上記方法に基づいて、デコーディング側は、第1のブレンディングパラメータと第1の重み導出モードに基づいて、予測値の重みを確定することができる。
【0886】
次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0887】
以上、状況1における、第1組合せが第1の重み導出モードとK個の第1の予測モードを含むがブレンディングパラメータを含まない場合、カレント成分ブロックの予測値を確定するプロセスについて説明した。
【0888】
以下、状況2に対応するカレント成分ブロックの予測値を確定するプロセスについて説明する。
【0889】
状況2では、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む場合、上記S102は、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得ることを含む。
【0890】
本出願の実施形態は、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る具体的な実施形態を限定しない。例えば、第1の重み導出モード及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して予測値を得、次に、第2のブレンディングパラメータ及びその予測値に基づいて、カレント成分ブロックの予測値を確定する。
【0891】
いくつかの実施形態において、以下のS102-B1からS102-B4のステップによって、カレント成分ブロックの予測値を確定することができる。
【0892】
S102-B1:第1の重み導出モードと第2のブレンディングパラメータに基づいて、予測値の重みを確定する。
【0893】
S102-B2:K個の第1の予測モードに基づいて、K個の予測値を確定する。
【0894】
S102-B3:K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。
【0895】
S102-B4:K個の予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0896】
上記S102-B1とS102-B2との実行順序が特に限定されず、即ち、S102-B1がS102-B2の前に実行されてもよく、S102-B2の後に実行されてもよく、S102-B2と並行して実行されてもよい。
【0897】
この状況2において、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む場合、デコーディング側は、第1のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0898】
本出願の実施形態において、第2のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する方式は、少なくとも以下のいくつかの例に示す方式を含む。
【0899】
例1では、第1の重み導出モードを使用して予測値の重みを導出する際、複数の中間変数を確定する必要がある。第2のブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して予測値を導出することができる。
【0900】
例2では、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第4の重みを確定し、第2のブレンディングパラメータを使用して第4の重みを調整し、調整された第4の重みを得、調整された第4の重みに基づいて、予測値の重みを確定する。
【0901】
例えば、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第4の重みをweightIdxに確定し、次に、第2のブレンディングパラメータを使用してweightIdxを調整し、調整されたweightIdxを得、次に、調整されたweightIdxに基づいて、予測値の重みwVemplateValueを確定する。
【0902】
一例では、次の式に従って、第2のブレンディングパラメータを使用してweightIdxを調整して、調整されたweightIdxを得ることができる。
weightIdx = weightIdx * blendingCoeff2
ここで、blendingCoeff2は、第2のブレンディングパラメータである。
【0903】
別の例として、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第4の重みをwVemplateValueに確定し、次に、第2のブレンディングパラメータを使用してwVemplateValueを調整し、調整されたwVemplateValueを得、調整されたwVemplateValueを予測値の重みに確定する。
【0904】
一例では、次の式に従って、第2のブレンディングパラメータを使用してwVemplateValueを調整して、調整されたwVemplateValueを得る。
wVemplateValue= wVemplateValue* blendingCoeff2
【0905】
上記方法に基づいて、デコーディング側は、第2のブレンディングパラメータと第1の重み導出モードに基づいて、予測値の重みを確定することができる。
【0906】
次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0907】
いくつかの実施形態において、上記予測プロセスはサンプルごとに行われ、それに応じて、上記予測値の重みもサンプルに対応する重みである。この場合、カレント成分ブロックを予測するとき、K個の第1の予測モードの各々を利用してカレント成分ブロック内のあるサンプルAを予測して、K個の第1の予測モードでの、サンプルAのK個の予測値を得る。第1の重み導出モード及びブレンディングパラメータに基づいてサンプルAの予測値の重みを確定し、次に、サンプルAの予測値の重みを利用してこれらK個の予測値に対して重み付けを行って、サンプルAの予測値を得る。カレント成分ブロック内の各サンプルに対して上記ステップを実行することで、カレント成分ブロック内の各サンプルの予測値を得ることができる。カレント成分ブロック内の各サンプルの予測値はカレント成分ブロックの予測値を構成する。K=2であることを例として、1番目の予測モードを使用してカレント成分ブロック内のあるサンプルAを予測して、当該サンプルAの第1予測値を得、2番目の予測モードを使用して当該サンプルAを予測して、当該サンプルAの第2予測値を得、サンプルAに対応する予測値重みに基づいて、第1予測値と第2予測値に対して重み付けを行って、サンプルAの予測値を得る。
【0908】
K=2であることを例として、1番目の予測モードと2番目の予測モードがいずれもイントラ予測モードである場合、第1のイントラ予測モードを使用して予測を行って第1予測値を得、第2のイントラ予測モードを使用して予測を行って第2予測値を得、予測値の重みに基づいて第1予測値と第2予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。例えば、第1のイントラ予測モードを使用してサンプルAを予測して、サンプルAの第1予測値を得、第2のイントラ予測モードを使用してサンプルAを予測して、サンプルAの第2予測値を得、サンプルAに対応する予測値の重みに基づいて、第1予測値と第2予測値に対して重み付けを行って、サンプルAの予測値を得る。
【0909】
以上、状況2における、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び1つのブレンディングパラメータを含む場合、カレント成分ブロックの予測値を確定するプロセスについて説明した。
【0910】
以下、状況3に対応するカレント成分ブロックの予測値を確定するプロセスについて説明する。
【0911】
状況3では、第1組合せが第1の重み導出モード及びK個の第1の予測モードを含み、且つ第1の重み導出モードが第3のブレンディングパラメータを含む場合、上記S102は、第3のブレンディングパラメータ及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得ることを含む。
【0912】
本出願の実施形態は、第3のブレンディングパラメータ及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る具体的な実施形態を限定しない。例えば、第1の重み導出モードが他のパラメータをさらに含む場合、第1の重み導出モードにおける他のパラメータとK個の第1の予測モードとに基づいてカレント成分ブロックを予測して予測値を得、次に、第3のブレンディングパラメータ及びその予測値に基づいて、カレント成分ブロックの予測値を確定する。
【0913】
いくつかの実施形態において、以下のS102-C1からS102-C4のステップによって、カレント成分ブロックの予測値を確定することができる。
【0914】
S102-C1:第1の重み導出モードに基づいて、予測値の重みを確定する。
【0915】
S102-C2:K個の第1の予測モードに基づいて、K個の予測値を確定する。
【0916】
S102-C3:K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。
【0917】
S102-C4:K個の予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0918】
上記S102-C1とS102-C2との実行順序が特に限定されず、即ち、S102-C1がS102-C2の前に実行されてもよく、S102-C2の後に実行されてもよく、S102-C2と並行して実行されてもよい。
【0919】
この状況3では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含む場合、デコーディング側は第1の重み導出モードに基づいて予測値の重みを確定する。K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0920】
本出願の実施形態において、第1の重み導出モードに基づいて予測値の重みを確定する方式が限定されない。例えば、第1の重み導出モードに基づいて、角度インデックス、距離インデックス、及び第3のブレンディングパラメータを確定し、角度インデックス、距離インデックス、第3のブレンディングパラメータ、及びカレント成分ブロックのサイズに基づいて予測値の重みを確定する。
【0921】
次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0922】
本出願の実施形態において、上記状況1、状況2及び状況3におけるいずれか1つに基づいて、カレント成分ブロックの予測値を確定することができる。
【0923】
いくつかの実施形態において、K個の第1の予測モードのうちのj番目の予測モードがインター予測モードである場合、上記S102におけるK個の第1の予測モードと第1の重み導出モードに基づいて、カレント成分ブロックの予測値を確定することは以下のステップを含む。
【0924】
S102-D1:j番目の予測モードに基づいて、動き情報を確定する。
【0925】
S102-D2:動き情報に基づいてj番目の予測値を確定する。
【0926】
S102-D3:K個の第1の予測モードのうちのj番目の予測モード以外の予測モードに基づいて、K-1個の予測値を確定する。
【0927】
S102-D4:第1の重み導出モードに基づいて、K個の予測値の重みを確定する。
【0928】
S102-D5:j番目の予測値、K-1個の予測値、及び予測値の重みに基づいて、カレント成分ブロックの予測値を確定する。
【0929】
K=2であることを例として、1番目の予測モードがイントラ予測モードであり、2番目の予測モードがインター予測モードである場合、イントラ予測モードを使用して予測を行って、第1予測値を取得し、インター予測モードを使用して予測を行って、第2予測値を取得し、予測値の重みに基づいて第1予測値と第2予測値に対して重み付けを行って、カレント成分ブロックの予測値を取得する。この例では、イントラ予測モードを使用して、カレント成分ブロック内の各サンプルを予測して、カレント成分ブロック内の各サンプルの予測値を取得する。カレント成分ブロック内の各サンプルの予測値は、カレント成分ブロックの第1予測値を構成する。インター予測モードを使用して動き情報を確定し、当該動き情報に基づいて、カレント成分ブロックの最適なマッチングブロックを確定し、当該最適なマッチングブロックをカレント成分ブロックの第2予測値として確定する。カレント成分ブロック内の各サンプルの予測値の重みを利用して、カレント成分ブロックの第1予測値と第2予測値に対してサンプルごとに重み付けを行って、カレント成分ブロックの予測値を得る。例えば、カレント成分ブロック内のサンプルAに対して、サンプルAの予測値の重みに基づいて、カレント成分ブロックの第1予測値におけるサンプルAに対応する第1予測値と、カレント成分ブロックの第2予測値におけるサンプルAに対応する第2予測値とに対して重み付けを行って、サンプルAの予測値を得る。
【0930】
いくつかの実施形態では、Kが2より大きい場合、第1の重み導出モードに基づいてK個の第1の予測モードのうちの2つに対応する予測値の重みを確定することができる。K個の第1の予測モードのうちの他の予測モードに対応する予測値の重みは、予め設定された値であることができる。例えば、K=3である場合、1番目の予測モード及び2番目の予測モードに対応する予測値の第1の重みは、重み導出モードに基づいて導出され、3番目の予測モードに対応する予測値の重みは、予め設定された値である。いくつかの実施形態において、K個の第1の予測モードに対応する予測値の総重みが固定されている場合、例えば8である場合、予め設定された重みの割合に基づいて、K個の第1の予測モードの各々に対応する予測値の重みを確定することができる。3番目の予測モードに対応する予測値の重みが全体の予測値の重みの1/4を占めると仮定すると、3番目の予測モードに対応する予測値の重みが2であると確定することができ、予測値の総重みにおける残りの3/4は1番目の予測モードと2番目の予測モードに割り当てられる。例示的に、第1の重み導出モードに基づいて導出される1番目の予測モードに対応する予測値の重みが3である場合、1番目の予測モードに対応する予測値の重みが(3/4)*3であり、2番目の予測モードに対応する予測値の重みが(3/4)*5であると確定する。
【0931】
上記方法に基づいて、カレント成分ブロックの予測値を確定する。また、ビットストリームをデコードすることによって、カレント成分ブロックの量子化係数を取得し、カレント成分ブロックの量子化係数を逆量子化し逆変換して、カレント成分ブロックの残差値を取得する。カレント成分ブロックの予測値と残差値を加算して、カレント成分ブロックの再構成値を得る。
【0932】
上記から分かるように、本出願の実施形態の候補組合せのリストにおける各候補組合せは、コストの昇順でソートされており、コストの小さい候補組合せが選択される確率が高い。それに基づいて、コーディングコストをさらに低減するために、候補組合せのリストにおける前にソートされた候補組合せがより短い符号語でエンコードされ、候補組合せのリストにおける後にソートされた候補組合せがより長い符号語でエンコードされることで、全体的なコーディング効率が向上する。
【0933】
いくつかの実施形態では、第1インデックスは、可変長コーディング(variable-length coding)の方式でビットストリームにエンコードされ、例えば、ゴロムコーディング(Golomb coding)の方式でエンコードされる。
【0934】
いくつかの実施形態では、上記候補組合せのリストに含まれる候補組合せの数が第4の予め設定された閾値より小さい場合、第1インデックスは、固定長コーディング(fixed-length coding)の方式でビットストリームにエンコードされる。即ち、本出願の実施形態では、候補組合せのリストに含まれる候補組合せの数が比較的少ない場合、各候補組合せがいずれも予め設定されたビット長(bit length)でエンコードされる。本出願の実施形態では、第4の予め設定された閾値の具体的な値が限定されず、例えば、第4の予め設定された閾値が16に等しい。
【0935】
いくつかの実施形態では、第2インデックスは、可変長コーディングの方式でビットストリームにエンコードされ、例えば、ゴロムコーディングの方式でエンコードされる。
【0936】
いくつかの実施形態では、上記候補組合せのリストに含まれる候補組合せの数がある予め設定された閾値より小さい場合、第2インデックスは、固定長コーディングの方式でビットストリームにエンコードされる。即ち、本出願の実施形態では、候補組合せのリストに含まれる候補組合せの数が比較的少ない場合、各候補組合せがいずれも予め設定されたビット長でエンコードされる。
【0937】
いくつかの実施形態では、高レベルシンタックス(high-level syntax)を使用して、本出願の実施形態に係る組合せに基づいたコーディング(combination-based coding)の技術案のオン/オフを制御することができる。例えば、少なくとも1つのフラグで、本出願の実施形態に係る組合せに基づいたコーディングの技術案がカレント成分ブロックに用いられることが許可されるか否か、即ち、デコーディングのために第1組合せを使用することが許可されるか否かを、示すことができる。
【0938】
1つの可能な実施形態において、設定される少なくとも1つのフラグは、異なるレベルのフラグであってもよく、本出願の実施形態に係る組合せに基づいたコーディングの技術案が対応するレベルに用いられることが許可されるか否かを、示すために用いられる。
【0939】
選択的に、上記少なくとも1つのフラグは、シーケンスレベルのフラグ、画像レベルのフラグ、スライスレベルのフラグ、ユニットレベルのフラグ、及びブロックレベルのフラグのうちの少なくとも1つを含む。
【0940】
例えば、上記少なくとも1つのフラグは、シーケンスレベルのフラグを含む。当該シーケンスレベルのフラグは、本出願の実施形態に係る組合せに基づいたコーディングの技術案が現在のシーケンスに用いられることが許可されるか否かを、示すために用いられる。
【0941】
例示的に、パラメータセット(シーケンスパラメータセット)にシンタックス要素sps_cgpm_enabled_flagが追加される。cgpmは「combined geometric partitioning mode」の略称であると考えられることができる。sps_cgpm_enabled_flagの値が1である場合、本出願の技術案が現在のシーケンスに用いられることが許可されることを示す。sps_cgpm_enabled_flagの値が0である場合、本出願の技術案が現在のシーケンスに用いられることが許可されないことを示す。
【0942】
本出願の実施形態に係る技術案がインターモードに使用される場合、インターモードにsps_gpm_enbled_flagが既に存在しているため、sps_gpm_enbled_flagで本技術案を制御することができる。本技術案がイントラモードに用いられることもできるため、イントラモードとインターモードの両方にsps_cgpm_enabled_flag又はsps_gpm_enabled_flagが用いられることもできる。もちろん、より高い柔軟性のために、イントラモードとインターモードに異なるフラグが用いられる。例えば、sps_sgpm_enabled_flagが設定される。sgpmは「spatial geometric partitioning mode」の略称であると考えられることができる。sps_sgpm_enabled_flagで、本技術案がイントラモードに用いられることが許可されるか否かを制御し、sps_cgpm_enabled_flag又はsps_gpm_enabled_flagで、本技術案がインターモードに用いられることが許可されるか否かを制御する。
【0943】
さらに例えば、上記少なくとも1つのフラグは画像レベルのフラグを含み、当該画像レベルのフラグは、本出願の技術案が現在の画像に用いられることが許可されるか否かを示すために用いられる。
【0944】
選択的に、少なくとも1つのフラグが画像レベルのフラグを含む場合、当該画像レベルのフラグは画像ヘッダ(picture header)に位置することができる。
【0945】
さらに例えば、上記少なくとも1つのフラグはスライスレベルのフラグを含み、当該スライスレベルのフラグは、本出願の技術案が現在のスライス(slice)に用いられることが許可されるか否かを示すために用いられる。
【0946】
選択的に、少なくとも1つのフラグがスライスレベルのフラグを含む場合、当該スライスレベルのフラグはスライスヘッダ(slice header)に位置することができる。
【0947】
さらに例えば、上記少なくとも1つのフラグはユニットレベルのフラグを含み、当該ユニットレベルのフラグは、本出願の技術案が現在のCTUに用いられることが許可されるか否かを示すために用いられる。
【0948】
さらに例えば、上記少なくとも1つのフラグはブロックレベル(CUレベル)のフラグを含み、当該ブロックレベルのフラグは、本出願の技術案がカレント成分ブロックに用いられることが許可されるか否かを示すために用いられる。
【0949】
イントラを例として、ブロックレベルのフラグがcu_cgpm_flagであると仮定する。cu_cgpm_flagの値が1であれば、本出願の技術案がカレント成分ブロックに用いられることが許可されることが示される。cu_cgpm_flagの値が0であれば、本出願の技術案がカレント成分ブロックに用いられることが許可されないことが示される。現在、VVCにおけるGPMは、インターマージモードに用いられる。ブロックレベルのフラグは導出で得られるものであり、もちろん、今後、直接にCUレベルのフラグで表されることも可能であり、ここで限定されない。
【0950】
このようにして、デコーディング側は、まずビットストリームをデコードして、上記少なくとも1つのフラグを取得し、この少なくとも1つのフラグに基づいて、本出願の技術案がカレント成分ブロックに用いられることが許可されるか否かを確定する。上記少なくとも1つのフラグに基づいて、本出願の技術案がカレント成分ブロックに用いられることが許可されないと確定した場合、本出願の実施形態の方法がスキップされる。上記少なくとも1つのフラグに基づいて、本出願の技術案がカレント成分ブロックに用いられることが許可されると確定した場合、本出願の実施形態の方法が実行され、即ち、ビットストリームがデコードされて第1インデックスが取得される。
【0951】
いくつかの実施形態では、上記少なくとも1つのフラグがブロックレベルのフラグを含む場合、上記デコーディング側は、カレント成分ブロックのサイズが予め設定された条件を満たすと確定した場合、ビットストリームをデコードして、ブロックレベルのフラグを確定する。本出願の実施形態は上記予め設定された条件を限定しない。
【0952】
いくつかの実施形態において、第1の技術がカレント成分ブロックのデコーディングに用いられないと確定した場合、ビットストリームをデコードして第1インデックスを得る。即ち、本出願の実施形態では、性能と複雑さとのトレードオフを考慮するために、本出願の実施形態に係る組合せに基づいたコーディングの技術と第1の技術とが同一ブロックに用いられないように設定されることができる。第1の技術は、MRL(Multiple reference line)、ISP(Intra sub-partitions)などであってもよい。即ち、ビットストリームを解析して、本出願に係る組合せに基づいたコーディングの技術がカレント成分ブロックに用いられると確定した場合、MRLのフラグ(例えば、VVCにおけるintra_luma_ref_idx)及び/又はISPのフラグ(例えば、VVCにおけるintra_subpartitions_mode_flag)を解析する必要がない。これらの値がデフォルトで0に設定される。又は、MRLのフラグ(例えば、VVCにおけるintra_luma_ref_idx)及び/又はISPのフラグ(例えば、VVCにおけるintra_subpartitions_mode_flag)の値が1である場合、本出願の実施形態に係る上記少なくとも1つのフラグを解析する必要がなくなる。例えば、ブロックレベルのフラグcu_cgpm_enabled_flagを解析する必要がなく、ブロックレベルのフラグの値がデフォルトで0である。
【0953】
本出願の実施形態に係るビデオデコーディング方法に基づいて、ビットストリームをデコードすることにより、第1組合せを確定する。第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、Kは1より大きい正の整数である。第1の重み導出モードとK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を取得する。即ち、本出願では、第1の重み導出モードとK個の第1の予測モードを1つの組合せとし、組合せの形態で第1の重み導出モードとK個の第1の予測モードを示す。このようにして、K個の第1の予測モードと第1の重み導出モードのそれぞれに対応するシンタックスをビットストリームに別々に伝送する必要がなくなり、符号語を節約して、コーディング効率を向上させることができる。また、本出願の実施形態において、カレント成分ブロックが複数の第1成分CUに対応し、且つ複数の第1成分CUの予測モードが完全に同じであるというわけではない場合でも、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードを精確に確定でき、さらに、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを精確に予測することができる。いくつかの実施形態において、本出願の実施形態では、第1のブレンディングパラメータ又は第2のブレンディングパラメータによって予測値の重みを調整し、調整された予測値の重みを使用して予測を行うことにより、予測精度を向上させる。
【0954】
上記ではデコーディング側を例として本出願の予測方法を紹介した。以下、エンコーディング側を例として説明する。
【0955】
図20は、本出願の実施形態に係る予測方法を示すフローチャートである。本出願の実施形態は
図1及び
図2に示されたビデオエンコーダーに適用される。
図20に示されているように、本出願の実施形態の方法は、以下の内容を含む。
【0956】
S201:第1組合せを確定する。
【0957】
第1組合せは、第1の重み導出モードとK個の第1の予測モードを含む。
【0958】
上記説明に基づいて、1つの重み導出モードとK個の予測モードがともに1つの組合せとされてカレント成分ブロックに用いられることができる。符号語を節約してコーディングコストを低減するために、本出願の実施形態では、カレント成分ブロックに対応する重み導出モードとK個の予測モードを1つの組合せ、即ち第1組合せとし、第1インデックスを使用して当該第1組合せを示す。重み導出モードとK個の予測モードをそれぞれ示す場合と比べて、本出願の実施形態では、使用される符号語が少なくなるため、コーディングコストが低減される。
【0959】
具体的に、エンコーディング側は、カレント成分ブロックに対応する第1組合せを確定する。当該第1組合せは1つの重み導出モードとK個の予測モードを含む。説明を簡単にするために、第1組合せに含まれる重み導出モードを第1の重み導出モードとして記し、第1組合せに含まれるK個の予測モードをK個の第1の予測モードとして記す。エンコーディング側は、この第1の重み導出モードとK個の第1の予測モードとを使用してカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。例えば、第1の重み導出モードを使用して重みを導出し、K個の予測モードをそれぞれ使用してカレント成分ブロックを予測してK個の予測値を得、導出された重みに基づいてこれらのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【0960】
いくつかの実施形態では、エンコーディング側は、第1組合せを確定する前に、まず、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用するか否かを確定する必要がある。エンコーディング側は、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用すると確定した場合、上記S201を実行して第1組合せを確定する。エンコーディング側は、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用しないと確定した場合、上記S201をスキップする。
【0961】
1つの可能な実施形態において、エンコーディング側は、カレント成分ブロックの予測モードパラメータを確定することによって、重み付け予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用するか否かを確定することができる。
【0962】
選択的に、本出願の実施形態では、予測モードパラメータは、カレント成分ブロックにGPMモード又はAWPモードを使用できるか否かを示すことができ、即ち、予測を行うためにカレント成分ブロックにK個の異なる予測モードを使用できるか否かを示す。
【0963】
なお、本出願の実施形態において、予測モードパラメータは、GPMモード又はAWPモードを使用したか否かを示すフラグとして理解され得る。具体的に、エンコーダーは、1つの変数を予測モードパラメータとして使用でき、それによって、当該変数の値の設定で予測モードパラメータの設定を実現できる。例示的に、本出願では、カレント成分ブロックにGPMモード又はAWPモードを使用する場合、エンコーダーは予測モードパラメータの値を、カレント成分ブロックにGPMモード又はAWPモードを使用することを示すものに設定することができ、具体的に、エンコーダーは変数の値を1に設定することができる。例示的に、本出願では、カレント成分ブロックにGPMモード又はAWPモードを使用しない場合、エンコーダーは予測モードパラメータの値を、カレント成分ブロックにGPMモード又はAWPモードを使用しないことを示すものに設定することができ、具体的に、エンコーダーは変数の値を0に設定することができる。さらに、本出願の実施形態において、エンコーダーは、予測モードパラメータの設定を完了した後、予測モードパラメータをビットストリームにシグナリングして、デコーダーに伝送することができる。それによって、デコーダーはビットストリームを解析した後、予測モードパラメータを取得することができる。
【0964】
いくつかの実施形態では、表5に示されるように、本出願の実施形態では、カレント成分ブロックにGPMモード又はAWPモードを使用することに対して条件を付くこともできる。即ち、カレント成分ブロックが予め設定された条件を満たすと判断した場合、重み付け予測を行うためにカレント成分ブロックにK個の予測モードを使用すると確定し、さらに第1組合せを確定する。
【0965】
例示的に、GPMモード又はAWPモードを使用する場合、カレント成分ブロックのサイズが制限されることができる。
【0966】
なお、本出願の実施形態に係る予測方法では、K個の異なる予測モードのそれぞれを利用してK個の予測値を生成し、重みに基づいて重み付けして、カレント成分ブロックの予測値を得る必要がある。複雑度を低減するために、また、圧縮性能と複雑度とのトレードオフを考慮して、本出願の実施形態では、ある特定のサイズを有するブロックにGPMモード又はAWPモードを使用しないよう制限することができる。従って、本出願では、エンコーディング側は、まず、カレント成分ブロックのサイズパラメータを確定し、次に、サイズパラメータに応じて、カレント成分ブロックにGPMモード又はAWPモードを使用するか否かを確定することができる。
【0967】
本出願の実施形態において、カレント成分ブロックのサイズパラメータは、カレント成分ブロックの高さ及び幅を含むことができる。従って、エンコーダーは、カレント成分ブロックの高さ及び幅に基づいて、カレント成分ブロックにGPMモード又はAWPモードを使用するか否かを確定することができる。
【0968】
例示的に、本出願では、幅が第1の閾値より大きく且つ高さが第2の閾値より大きい場合、カレント成分ブロックにGPMモード又はAWPモードを使用できると確定する。上記から分かるように、1つの可能な制限は、ブロックの幅が第1の閾値より大きく(又は第1の閾値以上であり)且つブロックの高さが第2の閾値より大きい(又は第2の閾値以上である)場合にのみ、GPMモード又はAWPモードを使用することである。第1の閾値と第2の閾値の値は、4、8、16、32、128、256などであってもよく、第1の閾値は第2の閾値に等しくてもよい。
【0969】
例示的に、本出願では、幅が第3閾値より小さく且つ高さが第4閾値より大きい場合、カレント成分ブロックにGPMモード又はAWPモードを使用できると確定する。上記から分かるように、1つの可能な制限は、ブロックの幅が第3閾値より小さく(又は第3閾値以下であり)且つブロックの高さが第4閾値より大きい(又は第4閾値以上である)場合にのみ、GPMモード又はAWPモードを使用することである。第3閾値と第4閾値の値は、4、8、16、32、128、256などであってもよく、第3閾値は第4閾値に等しくてもよい。
【0970】
さらに、本出願の実施形態において、サンプルパラメータへの制限によって、GPMモード又はAWPモードを使用できるブロックのサイズを制限することができる。
【0971】
例示的に、本出願において、エンコーダーは、まず、カレント成分ブロックのサンプルパラメータを確定し、次に、サンプルパラメータ及び第5閾値に基づいて、カレント成分ブロックにGPMモード又はAWPモードを使用できるか否かを確定することができる。上記から分かるように、1つの可能な制限は、ブロック内のサンプル数が第5閾値より大きい(又は第5閾値以上である)場合にのみ、GPMモード又はAWPモードを使用することである。第5閾値の値は、4、8、16、32、128、256、1024などであってもよい。
【0972】
即ち、本出願において、カレント成分ブロックのサイズパラメータがサイズ要件を満たすという条件下でのみ、カレント成分ブロックにGPMモード又はAWPモードを使用できる。
【0973】
例示的に、本出願では、本出願の技術案がエンコードされようとする現在画像に使用されるか否かを確定するための画像レベルのフラグが存在し得る。例えば、本出願がイントラフレーム(例えば、Iフレーム)に使用され、インターフレーム(例えば、Bフレーム、Pフレーム)に使用されないように構成されることができる。又は、本出願がイントラフレームに使用されず、インターフレームに使用されるように構成されることもできる。又は、本出願がインターフレームの一部に使用され、インターフレームの他の一部に使用されないように構成されることもできる。インターフレームにイントラ予測を利用することもできるため、本出願がインターフレームに使用される可能性もある。
【0974】
いくつかの実施形態では、この領域に本出願の技術案を使用するか否かを確定するために、画像レベル以下且つCUレベル以上(例えば、タイル、スライス、パッチ、LCUなど)のフラグも存在し得る。
【0975】
本出願の実施形態では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含む。
【0976】
第1の重み導出モードは、カレント成分ブロックに用いられる重みを確定するために用いられる。具体的に、第1の重み導出モードは、重みを導出するモードであることができる。所定の長さ及び幅を有するブロックに対して、重み導出モードごとに1つの重み行列を導出することができる。同じサイズを有するブロックに対して、異なる重み導出モードによって導出される重み行列が異なる。
【0977】
例えば、本出願では、AWPには56種の重み導出モードがあり、GPMには64種の重み導出モードがある。
【0978】
上記第1組合せに含まれるK個の異なる第1の予測モードは、以下のいくつかの例を含む。
【0979】
例1:上記K個の異なる第1の予測モードはいずれもイントラ予測モードであり、例えば、カレント成分ブロックはイントラコーディングブロックであり、スクリーンコンテンツコーディングが適用されない。
【0980】
例2:上記K個の異なる第1の予測モードはいずれもインター予測モードであり、例えば、カレント成分ブロックはインターコーディングブロックである。
【0981】
例3:上記K個の異なる第1の予測モードのうち、少なくとも1つはイントラ予測モードであり、少なくとも1つはインター予測モードである。
【0982】
例4:上記K個の異なる第1の予測モードのうち、少なくとも1つはイントラ予測モードであり、少なくとも1つは非インター予測モード且つ非イントラ予測モードであり、例えば、イントラブロックコピー(IBC)予測モード又はパレット(palette)予測モードなどが挙げられる。
【0983】
例5:上記K個の異なる第1の予測モードのうち、少なくとも1つはインター予測モードであり、少なくとも1つは非インター予測モード且つ非イントラ予測モードであり、例えば、IBC予測モード又はパレット予測モードなどが挙げられる。
【0984】
例6:上記K個の異なる第1の予測モードはいずれもイントラ予測モードではなく、インター予測モードでもなく、例えば、1つの第1の予測モードはIBC予測モードであり、1つの第1の予測モードはパレット予測モードである。
【0985】
なお、本出願の実施形態は、第1組合せに含まれるK個の異なる第1の予測モードの具体的な種類を限定しない。
【0986】
本出願の実施形態において、1つの状況では、第1組合せは第1の重み導出モードとK個の第1の予測モードを含む。別の状況では、第1組合せは、第1の重み導出モードと、K個の第1の予測モードと、第2のブレンディングパラメータとを含む。第2のブレンディングパラメータは、第1の重み導出モードによって確定された重みを調整して、調整された重みを取得するために用いられる。このように、K個の第1の予測モードによってK個の予測値を確定し、調整された重みを使用してK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を取得することができる。
【0987】
第1組合せが異なるコンテンツを含む場合、第1組合せを確定するプロセスを以下に説明する。
【0988】
状況1では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含む場合、エンコーディング側が第1組合せを確定する方式は、以下を含むがこれらに限定されない。
【0989】
方式1:第1組合せは予め設定された組合せである。
【0990】
方式2:エンコーディング側はリストを確定する。当該リストは、複数の候補組合せを含むため、候補組合せのリストとも呼ばれる。この候補組合せのリストから第1組合せが確定される。この場合、上記S201は以下のステップを含む。
【0991】
S201-A:候補組合せのリストを確定する。
【0992】
S201-B:候補組合せのリストから第1組合せを確定する。
【0993】
上記候補組合せのリストは少なくとも1つの候補組合せを含み、少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む。
【0994】
例示的に、候補組合せのリストを上記表5に示す。
【0995】
表5に示すように、候補組合せのリストは少なくとも1つの候補組合せを含み、この少なくとも1つの候補組合せのうちの任意の2つの候補組合せが完全に同じであるというわけではなく、即ち、任意の2つの候補組合せは、重み導出モードとK個の予測モードのうちの少なくとも1つが異なる。例えば、候補組合せ1における重み導出モードと候補組合せ2における重み導出モードとが異なる。又は、候補組合せ1における重み導出モードと候補組合せ2における重み導出モードとが同じであるが、候補組合せ1におけるK個の予測モードと候補組合せ2におけるK個の予測モードとは、少なくとも1つの予測モードが異なる。又は、候補組合せ1における重み導出モードと候補組合せ2における重み導出モードとが異なり、且つ候補組合せ1におけるK個の予測モードと候補組合せ2におけるK個の予測モードとは、少なくとも1つの予測モードが異なる。
【0996】
例示的に、上記表5では、候補組合せのリストにおける候補組合せの順序を候補組合せのインデックスとする。選択的に、候補組合せのリストにおける候補組合せのインデックスを他の方式で表してもよい。本出願の実施形態では、それについては限定されない。
【0997】
この方式2では、エンコーディング側は、候補組合せのリストにおける1つの候補組合せを第1組合せとして確定する。
【0998】
例えば、エンコーディング側は、候補組合せのリストにおける1番目の候補組合せを第1組合せとして確定する。
【0999】
この方式2において、エンコーディング側とデコーディング側はそれぞれ、同じ候補組合せのリストを確定してもよい。例えば、エンコーディング側とデコーディング側はいずれも、N個の候補組合せを含むリストを確定する。各候補組合せは、1つの重み導出モードとK個の予測モードを含む。エンコーディング側は、最終的に選択された1つの候補組合せ(例えば第1組合せ)のみをビットストリームにシグナリングすればよい。デコーディング側は、エンコーディング側によって最終的に選択された第1組合せを解析し、例えば、デコーディング側はビットストリームをデコードして、第1インデックスを取得し、第1インデックスに基づいて、デコーディング側によって確定された候補組合せのリストから第1組合せを確定する。
【1000】
本出願の実施形態は、エンコーディング側が上記候補組合せのリストを確定する具体的な方式を限定しない。
【1001】
いくつかの実施形態では、上記候補組合せのリストは既に存在しているものである。エンコーディング側は、重み付け予測を行うためにカレント成分ブロックにK個の予測モードを使用できると確定する場合、この候補組合せのリストを取得する。
【1002】
いくつかの実施形態では、上記候補組合せのリストは、エンコーディング側によって構築されたものである。この場合、いくつかの実施形態では、エンコーディング側は、構築された候補組合せのリストをデコーディング側に送信してもよい。いくつかの実施形態では、エンコーディング側は、上記構築された候補組合せのリストをクラウドにアップロードし、デコーディング側は、クラウドから候補組合せのリストを読み取る。
【1003】
以下、エンコーディング側が候補組合せのリストを構築するプロセスを説明する。
【1004】
本出願の実施形態は、エンコーディング側が候補組合せのリストを構築する方式を限定しない。
【1005】
いくつかの実施形態では、エンコーディング側は、以下のS201-A1のステップによって、候補組合せのリストを構築する。
【1006】
S201-A1:カレント成分ブロックに対応する第1成分ブロックを確定する。
【1007】
S201-A2:第1成分ブロックに基づいて候補組合せのリストを構築する。
【1008】
図17Fに示すように、カレント成分ブロックが右側のグレーの成分ブロックであり、当該グレーの成分ブロックと同じ空間にある第1成分ブロックが、
図17Fにおける左側のグレー領域であり、当該左側のグレー領域には10個の第1成分CUが含まれると仮定する。
【1009】
上記
図17Fから分かるように、カレント成分ブロックと同じ空間にある第1成分ブロックとは、カレント成分ブロックと同じ空間位置にあり、同じ空間サイズを有する第1成分ブロックを指す。カレント成分ブロックが彩度ブロックであり、第1成分ブロックが輝度ブロックであることを例として、異なるビデオフォーマットにより、彩度ブロックのサイズと輝度ブロックのサイズとは異なる可能性がある。例えば、YUV4:4:4フォーマットのビデオの場合、彩度ブロックのサイズと輝度ブロックのサイズとは同じである。YUV4:2:0フォーマットのビデオの場合、輝度ブロックのサイズは彩度ブロックのサイズの4倍である。
【1010】
彩度ブロックのサイズと輝度ブロックのサイズとが異なる可能性があるため、同じ空間位置にあり且つ同じ空間サイズを有する彩度ブロックと輝度ブロックとは同じ座標を有しない可能性がある。例えば、ビデオフォーマットYUV4:2:0では、彩度ブロックは、左上隅の座標(x0,y0)、幅width、高さheightに基づいて確定されたブロックであり、同じ空間にある輝度ブロックは、左上隅の座標(x0*2,y0*2)、幅width*2、高さheight*2に基づいて確定されたブロックであることができる。別の例として、ビデオフォーマットYUV4:4:4では、彩度ブロックは、左上隅の座標(x0,y0)、幅width、高さheightに基づいて確定されたブロックであり、同じ空間にある輝度ブロックは、左上隅の座標(x0,y0)、幅width、高さheightに基づいて確定されたブロックであることができる。
【1011】
さらに、いくつかの実施形態では、独立したブロック分割が彩度ブロックと輝度ブロックのそれぞれに用いられるため、彩度デコーディングブロックに対応する輝度ブロックは、輝度成分を分割することによって得られたデコーディングブロックと一致せず、空間的位置と空間的サイズの面で彩度デコーディングブロックに対応する輝度領域である可能性がある。即ち、本出願の実施形態では、カレント成分ブロックに対応する第1成分ブロックは、カレント成分ブロックと同じ空間的範囲を有する第1成分ブロックと理解されることができる。
【1012】
エンコーディングの場合、通常、まず輝度成分がエンコードされ、次に彩度成分がエンコードされる。従って、本出願の実施形態では、カレント成分ブロックをエンコードする際、まずビットストリームをエンコードし、カレント成分ブロックに対応する第1成分ブロックをエンコードして、第1成分ブロックの再構成値を得る。そして、第1成分ブロックをカレント成分ブロックのテンプレートとし、カレント成分ブロックをエンコードする。
【1013】
カレント成分ブロックに対応する第1成分ブロックと、カレント成分ブロックとは関連性を有するため、本出願の実施形態では、第1成分ブロックに基づいて、カレント成分ブロックの候補組合せのリストを構築する。
【1014】
例えば、各組合せに対して、その組合せを使用して第1成分ブロックを予測して、各組合せに対応する第1成分ブロックの予測値を得、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。例えば、各組合せに対して、当該組合せに含まれる重み導出モードを使用して第1成分ブロックの重みを導出し、当該組合せに含まれるK個の予測モードの各々を使用して第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、導出された第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、当該組合せに対応する第1成分ブロックの予測値を得る。最後に、各組合せに対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。
【1015】
なお、重み導出モードに基づいて導出される上記重みは、第1成分ブロック内の各サンプルに対応する重み、又は第1成分ブロックに対応する重み行列として理解され得る。重みに基づいて第1成分ブロックの予測値を確定する際、第1成分ブロック内の各サンプルに対応するK個の予測値を確定し、各サンプルに対応するK個の予測値及び重みに基づいて各サンプルに対応する予測値を確定することができる。第1成分ブロック内の各サンプルに対応する予測値は第1成分ブロックの予測値を構成する。選択的に、重みに基づいて第1成分ブロックの予測値を確定することは、ブロックに基づいて実行されることができ、例えば、第1成分ブロックの予測値を確定し、第1成分ブロックの重み行列に基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を取得することもできる。
【1016】
いくつかの実施形態において、S201-A2は、以下のS201-A21~S201-A23のステップを含む。
【1017】
S201-A21:R個の第2組合せを確定する。R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、Rは1より大きい正の整数である。
【1018】
S201-A22:R個の第2組合せのうちのいずれか1つに対して、その第2組合せを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。
【1019】
S201-A23:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1020】
本実施形態において、エンコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モードとK個の予測モードを含む。R個の第2組合せのうちのいずれか2つに含まれる重み導出モード及びK個の予測モードが完全に同じであるというわけではない。次に、R個の第2組合せの各々に対して、その第2組合せに含まれる重み導出モードとK個の予測モードを使用して、カレント成分ブロックに対応する第1成分ブロックを予測して、当該第2組合せに対応する第1成分ブロックの予測値を得る。最後に、R個の第2組合せの各々に対応す第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。
【1021】
上記S201-A23におけるR個の第2組合せの各々に対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する方式は、以下を含むが、これらに限定されない。
【1022】
方式1:R個の第2組合せの各々に対応する第1成分ブロックの予測値の大きさに基づいて、候補組合せのリストが構築される。
【1023】
例えば、R個の第2組合せの各々に対応する第1成分ブロックの予測値の大きさに基づいて、R個の第2組合せがソートされ、ソートされたR個の第2組合せは、候補組合せのリストとして確定される。この場合、候補組合せのリストはR個の候補組合せを含む。
【1024】
別の例として、R個の第2組合せの各々に対応する第1成分ブロックの予測値の大きさに基づいて、R個の第2組合せがソートされ、ソートされたR個の第2組合せからN個の第2組合せが選択されて、候補組合せのリストが構築される。この場合、候補組合せのリストはN個の候補組合せを含む。
【1025】
方式2:上記のS201-A23は、以下のステップを含む。
【1026】
S201-A23-1:第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【1027】
S201-A23-2:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1028】
本実施形態において、エンコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モードとK個の予測モードを含む。次に、R個の第2組合せの各々に対して、その第2組合せを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。最後に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1029】
カレント成分ブロックに対応する第1成分ブロックが再構成された領域であるため、エンコーディング側は、第1成分ブロックの再構成値を得ることができる。それによって、R個の第2組合せの各々に対して、その第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、その第2組合せに対応する予測歪みコストを確定することができる。第2組合せに対応するコストを確定する方式は、SAD、SATD、SEEなどを含むが、これらに限定されない。次に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1030】
本出願の実施形態では、S201-A22における第2組合せを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定することは、少なくとも以下の2つの方式を含む。
【1031】
1番目の方式では、第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定する。第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【1032】
2番目の方式では、第2組合せにおける重み導出モードに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定する。第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定する。第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定する。
【1033】
以上方法に基づいて、R個の第2組合せの各々に対応するコストが確定されることができ、次に、S201-A13-2が実行される。
【1034】
S201-A23-2におけるR個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する方式は、以下のいくつかの例を含むが、これらに限定されない。
【1035】
例1では、R個の第2組合せの各々に対応するコストに基づいて、R個の第2組合せをソートする。ソートされたR個の第2組合せを、候補組合せのリストとして確定する。
【1036】
この例1において生成された候補組合せのリストは、R個の候補組合せを含む。
【1037】
選択的に、コストの昇順でその候補組合せのリストにおけるR個の候補組合せをソートする。即ち、候補組合せのリストにおけるR個の候補組合せに対応するコストは、ソート順に従って次第に大きくなる。
【1038】
R個の第2組合せの各々に対応するコストに基づいてR個の第2組合せをソートすることは、コストの昇順でR個の第2組合せをソートすることであってもよい。
【1039】
例2では、第2組合せに対応するコストに基づいて、R個の第2組合せからN個の第2組合せを選択し、これらN個の第2組合せからなるリストを候補組合せのリストとして確定する。
【1040】
選択的に、上記N個の第2組合せは、R個の第2組合せのうちのコストが最も小さい最初のN個の第2組合せである。例えば、R個の第2組合せの各々に対応するコストに基づいて、R個の第2組合せからコストが最も小さいN個の第2組合せを選択して、これらN個の第2組合せで候補組合せのリストを構成する。この場合、候補組合せのリストはN個の候補組合せを含む。
【1041】
選択的に、その候補組合せのリストにおけるN個の候補組合せは、コストの昇順でソートされる。即ち、候補組合せのリストにおけるN個の候補組合せに対応するコストは、ソート順に従って次第に大きくなる。
【1042】
以下、上記S201-A21におけるR個の第2組合せを確定するプロセスについて説明する。
【1043】
いくつかの実施形態では、上記R個の第2組合せは予め設定されたものである。このように、R個の予め設定された第2組合せの各々を使用して第1成分ブロックを予測して、各第2組合せに対応する第1成分ブロックの予測値を得、次に、各第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、各第2組合せに対応するコストを確定する。各第2組合せに対応するコストに基づいて、R個の第2組合せをソートし、ソートされたR個の第2組合せを候補組合せのリストとし、又は、ソートされたR個の第2組合せからコストが最も小さいN個の第2組合せを選択して候補組合せのリストを構成する。
【1044】
いくつかの実施形態において、S201-A21は以下のステップを含む。
【1045】
S201-A21-1:P個の重み導出モードとQ個の予測モードを確定する。Pは正の整数であり、QはK以上の正の整数である。
【1046】
S201-A21-2:P個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、P個の重み導出モードのうちの1つの重み導出モードと、Q個の予測モードのうちのK個の予測モードとを含む。Pは正の整数であり、QはK以上の正の整数である。
【1047】
この実施形態では、エンコーディング側は、まず、P個の重み導出モードとQ個の予測モードを確定し、次に、確定されたP個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築する。
【1048】
本出願の実施形態では、上記P個の重み導出モード及びQ個の予測モードの具体的な数が限定されない。
【1049】
1つの可能な実施形態では、カレント成分ブロックがイントラコーディングブロックであり、GPMには64種の可能な重み導出モードがあり、GPMには67種の可能なイントラ予測モードがあると仮定する。これらはVVCの規格から見つけられることができる。しかし、GPMの可能な重みが64種しかないと限定するのではなく、特定の64種に限定するのでもない。VVCにおけるGPMの64種の選択は、予測効果の向上とビットストリームのオーバーヘッドの削減とのトレードオフを考慮したものである。また、本出願では、重み導出モードをエンコードするために固定なロジックを使用しなくなったため、理論的には、より多様な重みを本出願に使用することができ、また、より柔軟に使用することができる。同様に、GPMのイントラ予測モードが67種しかないと限定するのではなく、特定の67種に限定するのでもない。理論的には、すべての可能なイントラ予測モードをGPMに使用することができる。例えば、イントラ角度予測モードをより細かくにして、より多くのイントラ角度予測モードを生成すれば、GPMにより多くのイントラ角度予測モードを使用することもできる。例えば、VVCにおけるMIPモードを本出願に使用することもできるが、MIPには複数のサブモードがあり且つ選択可能であることを考慮して、ここでは理解を容易にするため、本実施形態にMIPを追加しない。また、広角モード(wide-angle mode)もあり、これも本出願に使用可能であるが、本実施形態では説明を省略する。
【1050】
いくつかの実施形態では、データ量を減らし、候補組合せのリストの構築速度を上げるために、すべての予測モードを試すのではなく、一部の予測モードを選択して試すことができる。
【1051】
この場合、上記S201-A21-1におけるQ個の予測モードを確定する実施形態は以下のいくつかの方式を含むが、これらに限定されない。
【1052】
方式1:Q個の予測モードは予め設定された予測モードである。
【1053】
方式2:カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定する。候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つに基づいて、Q個の予測モードを確定する。
【1054】
候補予測モードのリストは複数の候補予測モードを含み、K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む。
【1055】
K個の第1の予測モードの各々に対応する予備予測モードのリストを確定することは、以下のように理解されることができる。K個の第1の予測モードの各々に対して1つの予備予測モードリストを確定する。その後、第2組合せを構築する際、第2組合せにおけるある予測モードが、その予測モードに対応する予備予測モードリストから選択される。例えば、K=2の場合、K個の第1の予測モードは1番目の予測モードと2番目の予測モードを含む。エンコーディング側は1番目の予測モードに対して予備予測モードリスト1を構築し、2番目の予測モードに対して予備予測モードリスト2を構築する。このように、後の段階で異なる第2組合せを構築する際、予備予測モードリスト1から1つの予備予測モードを選択して1番目の予測モードとし、予備予測モードリスト2から1つの予備予測モードを選択して2番目の予備予測モードとする。このように、1つの重み導出モードと、現在選択された1番目の予測モードと2番目の予測モードとで1つの第2組合せを構築する。
【1056】
本出願の実施形態は、K個の第1の予測モードの各々に対応する予備予測モードのリストを確定する方式を限定しない。
【1057】
1つの可能な実施形態では、K個の第1の予測モードのうちのいずれかに対して、その予測モードに対応する候補予測モードのリスト、及び重み導出モードに対応する予測モードのうちの少なくとも1つが確定される。その候補予測モードのリスト及び重み導出モードに対応する予測モードのうちの少なくとも1つに基づいて、その予測モードに対応する予備予測モードのリストが確定される。
【1058】
本出願の実施形態において、K個の第1の予測モードのうちのある予測モードに対応する候補予測モードのリストを確定するプロセスと、カレント成分ブロックに対応する候補予測モードのリストを確定するプロセスとは基本的に類似している。具体的に、以下の説明を参照することができる。
【1059】
いくつかの実施形態において、上記候補予測モードのリストは、1つ又は複数のインター予測モードを含み、例えば、スキップ(skip)、マージ(merge)、通常のインター予測モード、単方向予測、双方向予測、多仮説予測などのうちの少なくとも1つを含む。
【1060】
いくつかの実施形態では、上記候補予測モードのリストは、1つ又は複数のイントラ予測モードを含み、例えば、直流(DC)モード、平面(Planar)モード、角度モードなどのうちの少なくとも1つを含む。選択的に、上記候補予測モードのリストは、MPMリスト内の少なくとも1つのイントラ予測モードを含む。
【1061】
いくつかの実施形態では、上記候補予測モードのリストは、IBC、パレットなどのモードをさらに含む。
【1062】
本出願は、上記候補予測モードのリストに含まれる予測モードの種類及び予測モードの数を限定しない。
【1063】
いくつかの実施形態では、候補予測モードのリストは、以下の少なくとも1つの方式に基づいて確定される。
【1064】
方式1:上記候補予測モードのリストは、予め設定されたモードを含む。
【1065】
方式2:上記候補予測モードのリストは、MPMリストにおけるモードを含む。
【1066】
方式3:上記候補予測モードのリストは、等間隔スクリーニングなどのルールに従って確定された候補予測モードの集合を含む。
【1067】
方式4:カレント成分ブロックに隣接する少なくとも1つのブロックに使用される予測モードに基づいて、候補予測モードのリストが確定される。
【1068】
方式5:カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて候補予測モードのリストが確定される。例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、DCモード、水平モード、垂直モード、及びいくつかの角度モードのうちの少なくとも1つが、第1の候補予測モードのリストに追加され得る。別の例として、カレント成分ブロックに対応する画像タイプがIタイプである場合、DCモード、水平モード、垂直モードのうちの少なくとも1つが候補予測モードのリストに追加され得る。
【1069】
方式6:第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つが確定される。第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、彩度ブロック及び/又は輝度ブロック)に使用され、第3の予測モードは、カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、輝度ブロック及び/又は彩度ブロック)に使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロック(例えば、輝度ブロック)に使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストが確定される。
【1070】
いくつかの実施形態において、方式6では、カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つは、カレント成分ブロックの上側及び/又は左側のエンコードされた領域に対応する第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つを含む。例えば、
図18に示すように、ブロック0~ブロック5に使用される予測モードが第2の予測モードとして選択され、及び/又は、ブロック2からブロック3の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが第2の予測モードとして選択され、及び/又は、ブロック1からブロック5の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが第2の予測モードとして選択される。一例では、本実施形態における第1成分ブロックは輝度CUであってもよく、第2成分ブロック及び/又は第3成分ブロックは彩度CUであってもよい。この場合、カレント成分ブロックに隣接する且つエンコードされた輝度CU及び/又は彩度CUに使用される予測モードが第2の予測モードとして確定される。
【1071】
いくつかの実施形態において、上記方式6では、カレント成分ブロックの内部の予め設定された領域は、カレント成分ブロックの内部の任意の領域であってもよい。カレント成分ブロックの内部領域に対応する第1成分ブロックは、カレント成分ブロックの内部領域と同じ空間にある第1成分ブロックとして理解され得る。選択的に、当該第1成分ブロックは輝度CUであってもよい。例えば、カレント成分ブロックの内部領域の左上隅の頂点の座標に基づいて、マッピングで当該座標に対応する輝度CUが得られ、さらに、当該輝度CUに使用される予測モードが第4の予測モードとして確定される。
【1072】
いくつかの実施形態において、上記方式6では、カレント成分ブロックに対応する第1成分ブロックに関連する第5の予測モードを確定する方式は、少なくとも以下のいくつかの例を含む。
【1073】
例1では、カレント成分ブロックに対応する第1成分ブロックがエンコードされたため、その第1成分ブロックに使用される予測モードが、第5の予測モードとして確定される。一例において、この第1成分ブロックは、複数の第1成分CUを含んでもよく、これらの複数の第1成分CUに使用される予測モードは、同じであってもよく、異なってもよい。本出願の実施形態において、この第1成分ブロックに含まれる複数の第1成分CUのうちの少なくとも1つの第1成分CUに使用される予測モードが、第5の予測モードとして確定されてもよい。
【1074】
例2では、第5の予測モードは、カレント成分ブロックに対応する第1成分ブロックのテクスチャに基づいて確定される。例示的に、当該第1成分ブロックのテクスチャ方向が確定され、テクスチャ方向に基づいて第5の予測モードが確定される。
【1075】
本出願の実施形態は、カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定する具体的な方式を限定しない。
【1076】
1つの可能な実施形態では、カレント成分ブロックに対応する第1成分ブロック内のいくつかのサンプルのテクスチャ方向が確定され、それらのサンプルのテクスチャ方向に基づいて、その第1成分ブロックのテクスチャ方向が確定される。いくつかの実施形態では、説明を容易にするために、テクスチャ方向が確定される必要のある第1成分ブロック内のサンプルは、テクスチャサンプルとして記される。これらのテクスチャサンプルは、デフォルトのものであってもよい。例えば、エンコーディング側及びデコーディング側は、デフォルトで第1成分ブロック内のいくつかのサンプルをテクスチャサンプルとし、そのテクスチャ方向を計算する。いくつかの実施形態において、上記テクスチャサンプルは、予め設定された方式に基づいて選択される。例えば、エンコーディング側は、テクスチャサンプル選択の予め設定された方式に基づいて、この第1成分ブロックから複数のテクスチャサンプルを選択する。
【1077】
これら複数のテクスチャサンプルの各々に対して、各テクスチャサンプルの勾配が確定され、例えば、各テクスチャサンプルの水平勾配及び垂直勾配が確定され、さらに、各テクスチャサンプルの水平勾配及び垂直勾配に基づいて、各テクスチャサンプルのテクスチャ方向が確定される。
【1078】
次に、各テクスチャサンプルのテクスチャ方向に基づいて、その第1成分ブロックのテクスチャ方向が確定される。
【1079】
例示的に、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数が、その第1成分ブロックのテクスチャ方向として確定される。
【1080】
例えば、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちのいずれか1つ又は複数が、その第1成分ブロックのテクスチャ方向として確定される。
【1081】
別の例として、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向が、その第1成分ブロックのテクスチャ方向として確定される。
【1082】
上記に基づいてカレント成分ブロックに対応する第1成分ブロックのテクスチャ方向が確定された後、テクスチャ方向に基づいて第5の予測モードが確定される。
【1083】
一例では、テクスチャ方向に平行な予測方向を有する予測モードが、第5の予測モードとして確定される。
【1084】
一例では、テクスチャ方向に対して垂直な予測方向を有する予測モードが、第5の予測モードとして確定される。
【1085】
一例では、テクスチャ方向に平行な予測方向を有する予測モード、及びテクスチャ方向に対して垂直な予測方向を有する予測モードが、第5の予測モードとして確定される。
【1086】
なお、上記テクスチャ方向に平行な予測方向を有する予測モードは、テクスチャ方向に平行及び/又は略平行な予測方向を有する予測モードを含む。テクスチャ方向に対して垂直な予測方向を有する予測モードは、テクスチャ方向に対して垂直及び/又は略垂直な予測方向を有する予測モードを含む。
【1087】
なお、上記方式1~方式6は、候補予測モードのリストを確定する方式として単独で使用されてもよく、任意に組合せされてもよい。
【1088】
いくつかの実施形態では、上記候補予測モードのリストは、候補イントラ予測モードのリスト、候補インター予測モードのリストのうちの少なくとも1つを含む。候補イントラ予測モードのリストは、少なくとも1つの候補イントラ予測モードを含み、候補インター予測モードのリストは、少なくとも1つの候補インター予測モードを含む。
【1089】
上記方式に基づいて、カレント成分ブロックの候補予測モードのリストが得られた後、候補予測モードのリストに基づいてQ個の予測モードが確定され、例えば、候補予測モードのリストに含まれる候補予測モードの全部又は一部がQ個の予測モードの全部又は一部として確定される。
【1090】
以下、重み導出モードに対応する予測モードを確定するプロセスを説明する。
【1091】
本出願の実施形態では、重み導出モードに対応する予測モードは総称であり、例えば、1つの予め設定された重み導出モードに対応する予測モードであってもよく、複数の予め設定された重み導出モードに対応する予測モードであってもよい。いくつかの実施形態では、重み導出モードに対応する予測モードは、重み導出モードに対応する予測モードのリストとして理解されてもよく、当該予測モードのリストは少なくとも1つの予測モードを含む。
【1092】
いくつかの実施形態では、上記重み導出モードに対応する予測モードは、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードを含む。この場合、重み導出モードに対応する予測モードを確定することは以下を含む。P個の重み導出モードのうちのp番目の重み導出モードに対して、p番目の重み導出モードに対応する予測モードを確定し、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードに基づいて、上記重み導出モードに対応する予測モードを確定する。pは正の整数である。
【1093】
本出願の実施形態において、P個の重み導出モードの各々に対応する予測モードを確定するプロセスは基本的に同じであり、説明を容易にするために、P個の重み導出モードのうちのp番目の重み導出モードを例として以下に説明する。
【1094】
p番目の重み導出モードに対応する予測モードを確定することは、以下の2つの方式を含む。
【1095】
方式1:p番目の重み導出モードに対応する予測モードのうちの少なくとも1つがイントラ予測モードである場合、p番目の重み導出モードに基づいて角度インデックスを確定する。角度インデックスに対応するイントラ予測モードを、p番目の重み導出モードに対応する予測モードのうちの少なくとも1つに確定する。
【1096】
角度インデックスは、重みの境界線の角度インデックスを示すために用いられる。
【1097】
いくつかの実施形態では、角度インデックスは、フィールドangleIdxによって表される。
【1098】
上記表2は、merge_gpm_partition_idxとangleIdxとの対応関係を示している。上記表2を参照することで、このp番目の重み導出モードに基づいて角度インデックスを導出することができる。
【1099】
本出願では、角度インデックスとイントラ予測モードとの間に対応関係を有する。即ち、異なる角度インデックスは異なるイントラ予測モードに対応する。
【1100】
例えば、角度インデックスとイントラ予測モードとの間の対応関係は表7に示される。
【1101】
この方式1では、K=2を例として、1番目の予測モード又は2番目の予測モードがイントラ予測モードである場合、p番目の重み導出モードに基づいて角度インデックスが確定され、例えば、上記表2に基づいて、p番目の重み導出モードに対応する角度インデックスが導出される。次に、上記表7において、当該角度インデックスに対応するイントラ予測モードが確定される。例えば、角度インデックスが2であり、当該角度インデックスに対応するイントラ予測モードが42である。それに応じて、イントラ予測モード42が1番目の予測モード又は2番目の予測モードとして確定される。
【1102】
方式2:p番目の重み導出モードに対応する予測モードのうちの少なくとも1つがイントラ予測モードである場合、p番目の重み導出モードに対応するイントラ予測モードを確定する。p番目の重み導出モードに対応するイントラ予測モードのうちの少なくとも1つを、p番目の重み導出モードに対応する予測モードのうちの少なくとも1つに確定する。
【1103】
p番目の重み導出モードに対応するイントラ予測モードは、重みの境界線に平行な予測方向を有するイントラ予測モード、境界線に対して垂直な予測方向を有するイントラ予測モード、及び平面モード、のうちの少なくとも1つを含む。
【1104】
なお、重みの境界線に平行な予測方向を有するイントラ予測モードは、重みの境界線に平行又は略平行な予測方向を有する1つ又は複数のイントラ予測モードを含む。重みの境界線に対して垂直な予測方向を有するイントラ予測モードは、重みの境界線に対して垂直又は略垂直な予測方向を有する1つ又は複数のイントラ予測モードを含む。
【1105】
この方式2では、K=2を例として、1番目の予測モード及び/又は2番目の予測モードがイントラ予測モードである場合、重み導出モードに対応するイントラ予測モードから1番目の予測モード及び/又は2番目の予測モードが確定される。例えば、1番目の予測モード及び/又は2番目の予測モードは、重みの分割線(境界線ともいう)と同一直線にある、又はほぼ同一直線にあるイントラ予測モードであってもよい。又は、1番目の予測モード及び/又は2番目の予測モードは、重みの境界線に対して垂直又は略垂直な予測方向を有するイントラ予測モードであってもよい。例えば、重みの境界線は水平方向にあり、例えば、
図4内のGPMのインデックス18、19、50、51を有するモードが挙げられ、1番目の予測モード及び/又は2番目の予測モードは、水平方向のモード18又は垂直方向のモード50である。
【1106】
エンコーディング側は、上記ステップに基づいて、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードを確定し、次に、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードに基づいて、重み導出モードに対応する予測モードを確定する。例えば、P個の重み導出モードのうちの少なくとも1つの重み導出モードに対応する予測モードの全部又は一部を、重み導出モードに対応する予測モードとする。
【1107】
さらに、P個の重み導出モードに対応する予測モードに、重複する予測モードが存在する可能性がある。この場合、重複する予測モードを除去し、残りの異なる予測モードを、重み導出モードに対応する予測モードとして確定する。
【1108】
本出願の実施形態では、R個の第2組合せの数を減らすために、予測モードをスクリーニングし、具体的に、上記方法に基づいてQ個の予測モードを確定する。
【1109】
いくつかの実施形態において、エンコーディング側の複雑さを低減するために、上記Q個の予測モードの数が制限され、例えば、Qは第1の予め設定された閾値以下である。本出願では、第1の予め設定された閾値の具体的な値が制限されず、実際のニーズに応じて確定されることができる。例えば、第1の予め設定された閾値が6であり、即ち、6個の予測モードを選択してR個の第2組合せを構築する。それによって、第2組合せの数を制御する。
【1110】
いくつかの実施形態では、Qの値は、カレント成分ブロックのサイズ及び/又は形状に関連しており、カレント成分ブロックの形状は、カレント成分ブロックの幅に対する長さの比(length-to-width ratio)によって決定されると理解され得る。
【1111】
予測中に、比較的小さいブロックでは、類似する予測モードが予測結果に与える影響の差が大きくない。比較的大きいブロックでは、類似する予測モードが予測結果に与える影響の差がより明らかである。それに基づいて、本出願の実施形態では、サイズが異なるブロックに対して異なるQ値を設定し、即ち、比較的大きいブロックに対して比較的大きいQ値を設定し、比較的小さいブロックに対して比較的小さいQ値を設定する。
【1112】
この場合、カレント成分ブロックに対応するQ値を確定する際、Q値はカレント成分ブロックのサイズに応じて設定される。例えば、カレント成分ブロックのサイズが第1の値より大きい場合、Qは第2の予め設定された閾値以上である。さらに例えば、カレント成分ブロックのサイズが第1の値以下である場合、Qは第3の予め設定された閾値より小さい。本出願の実施形態では、第1の値、第2の予め設定された閾値及び第3の予め設定された閾値の具体的な値が制限されず、第3の予め設定された閾値は第2の予め設定された閾値より小さい。
【1113】
以下、S201-A21-1におけるP個の重み導出モードを確定するプロセスを説明する。
【1114】
いくつかの実施形態では、P個の重み導出モードは、GPMに含まれる64種の重み導出モードであり、又はAWPに含まれる56種の重み導出モードである。
【1115】
いくつかの実施形態では、M個の予め設定された重み導出モードからP個の重み導出モードを選択する。MはP以上の正の整数である。
【1116】
上記M個の予め設定された重み導出モードは、GPMに含まれる64種の重み導出モードであってもよく、又はAWPに含まれる56種の重み導出モードであってもよく、また、GPMに含まれる64種の重み導出モードのうちの一部の重み導出モードであってもよく、又はAWPに含まれる56種の重み導出モードのうちの一部の重み導出モードであってもよい。
【1117】
この実施形態では、R個の第2組合せの数をさらに減らすために、M個の予め設定された重み導出モードに対してスクリーニングを行い、M個の予め設定された重み導出モードからP個の重み導出モードを選択して、R個の第2組合せを構築することができる。
【1118】
いくつかの実施形態では、M個の重み導出モードから予め設定された分割角度及び/又は予め設定されたオフセットに対応する重み導出モードが除去されて、P個の重み導出モードが得られる。重み導出モードでの同じ分割角度が複数のオフセットに対応することができ、例えば、
図19Aに示すように、重み導出モード10、11、12及び13は同じ分割角度を有するが、異なるオフセットを有する。従って、一部の予め設定されたオフセットに対応する重み導出モード、及び/又は一部の予め設定された分割角度に対応する重み導出モードを除去することができる。そうすることで、可能な第2組合せの総数を減らすことができる。そして、各可能な第2組合せの違いがより顕著になる。
【1119】
いくつかの実施形態では、異なるブロックに対応するスクリーニング条件は異なってもよい。このように、カレント成分ブロックに対応するP個の重み導出モードを確定する際、まずカレント成分ブロックに対応するスクリーニング条件が確定され、カレント成分ブロックに対応するスクリーニング条件に基づいて、M個の重み導出モードからP個の重み導出モードが選択される。
【1120】
いくつかの実施形態では、カレント成分ブロックに対応するスクリーニング条件は、カレント成分ブロックのサイズに対応するスクリーニング条件及び/又はカレント成分ブロックの形状に対応するスクリーニング条件を含む。予測中に、比較的小さいブロックでは、類似する重み導出モードが予測結果に与える影響の差が大きくない。比較的大きいブロックでは、類似する重み導出モードが予測結果に与える影響の差がより明らかである。それに基づいて、本出願の実施形態では、サイズが異なるブロックに対して異なるP値を設定し、即ち、比較的大きいブロックに対して比較的大きいP値を設定し、比較的小さいブロックに対して比較的小さいP値を設定する。
【1121】
いくつかの実施形態では、上記スクリーニング条件はアレイを含む。当該アレイはM個の要素を含み、M個の要素とM個の重み導出モードとは一対一で対応する。各重み導出モードに対応する要素は、当該重み導出モードが利用可能であるか否かを示すために用いられる。重み導出モードが利用可能であるか否かということは、当該重み導出モードが、後続の第2組合せの試行のためのP個の重み導出モードのうちの1つの重み導出モードとして用いられるか否かということに理解されることができる。
【1122】
上記アレイは、一次元アレイであってもよく、二次元アレイであってもよい。
【1123】
いくつかの実施形態では、カレント成分ブロックに対応するスクリーニング条件が、カレント成分ブロックのサイズに対応するスクリーニング条件及びカレント成分ブロックの形状に対応するスクリーニング条件を含む場合、且つ、同じ重み導出モードに対して、カレント成分ブロックのサイズに対応するスクリーニング条件及びカレント成分ブロックの形状に対応するスクリーニング条件がいずれも、当該重み導出モードが利用可能であることを示す場合、当該重み導出モードは、P個の重み導出モードのうちの1つとして確定される。カレント成分ブロックのサイズに対応するスクリーニング条件及びカレント成分ブロックの形状に対応するスクリーニング条件のうちの少なくとも一つが、当該重み導出モードが利用不可能であることを示す場合、当該重み導出モードはP個の重み導出モードに属さない。
【1124】
いくつかの実施形態では、異なるブロックサイズに対応するスクリーニング条件、及び異なるブロック形状に対応するスクリーニング条件は、複数のアレイを用いてそれぞれ実現されることができる。
【1125】
いくつかの実施形態では、異なるブロックサイズに対応するスクリーニング条件、及び異なるブロック形状に対応するスクリーニング条件は、二次元アレイで実現されることができる。即ち、二次元アレイは、ブロックサイズに対応するスクリーニング条件、及びブロック形状に対応するスクリーニング条件の両方を含む。
【1126】
エンコーディング側では、上記ステップに基づいて、Q個の予測モードとP個の重み導出モードが確定された後、これらQ個の予測モードとP個の重み導出モードに基づいて、R個の異なる第2組合せが構成される。
【1127】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、エンコーディング側は、上記確定されたQ個の予測モード及びP個の重み導出モードを再びスクリーニングする。この場合、上記S201-A21-2における確定されたP個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築することは、以下のS201-A21-21からS201-A21-23までのステップを含む。
【1128】
S201-A21-21:P個の重み導出モードからS個の重み導出モードが選択される。SはP以下の正の整数である。
【1129】
具体的に、上記確定されたP個の重み導出モードから、現れる確率の低い重み導出モードが除去されて、スクリーニングされたS個の重み導出モードが得られる。
【1130】
上記S201-A21-21におけるP個の重み導出モードからS個の重み導出モードを選択する方式は、以下のいくつかの方式を含むが、これらに限定されない。
【1131】
方式1:P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードに基づいて、第1成分ブロックでのK個の第2の予測モードの重みが確定される。K個の第2の予測モードはQ個の予測モードのうちの任意のK個の予測モードであり、iは1からPまでの正の整数である。第1成分ブロックでのK個の予測モードのいずれか1つの予測モードの重みが第1の予め設定された値より小さい場合、P個の重み導出モードからi番目の重み導出モードが除去され、S個の重み導出モードが得られる。
【1132】
この方式1では、1つの重み導出モードに基づいて導出される第1成分ブロックの重みによって、ある予測モードが第1成分ブロックに与える影響(寄与)が小さい又は影響がない場合、この重み導出モードが使用されない。例えば、
図4(正方形のブロック)における重み導出モード52により、第1成分ブロックでの2番目の予測モードの重みが小さい。さらに例えば、重み導出モード54により、第1成分ブロックでの2番目の予測モードの重みが0となり、即ち、重み導出モード54では、2番目の予測モードが第1成分ブロックに与える影響がなく、第1成分ブロックの予測値が完全に1番目の予測モードによって確定されると考えられることができる。この場合、2番目の予測モードが何の影響もないため、このような重み導出モードがP個の重み導出モードから除去される必要がある。
【1133】
上記方式1では、第1成分ブロックでのK個の予測モードのうちのいずれか1つの予測モードの重みが第1の予め設定された値より小さいようにする重み導出モードが、P個の重み導出モードから除去されて、S個の重み導出モードが得られる。
【1134】
本出願の実施形態では、上記第1の予め設定された値の具体的な値が限定されず、例えば、0以上の比較的小さい値である。
【1135】
方式2:P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードを使用して第1成分ブロックを予測する場合のコストが確定される。iは1からPまでの正の整数である。i番目の重み導出モードに対応するコストに基づいて、P個の重み導出モードからS個の重み導出モードが選択される。
【1136】
この方式2では、P個の重み導出モードの各々に対応するコストを計算することにより、P個の重み導出モードからS個の重み導出モードが選択される。
【1137】
本出願の実施形態では、1つの重み導出モードとK個の予測モードを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられるK個の予測モードに基づいて、P個の重み導出モードのコストを計算する。即ち、P個の重み導出モードの各々と与えられるK個の予測モードとを組合せてP個の組合せを得、これらP個の組合せの各々に対応するコストを計算し、さらに、P個の重み導出モードのコストを得る。
【1138】
上記方法に基づいて、P個の重み導出モードのうちのi番目の重み導出モードに対応するコストを確定した後、i番目の重み導出モードに対応するコストに基づいて、P個の重み導出モードからS個の重み導出モードを選択する。
【1139】
この方式2において、エンコーディング側では、i番目の重み導出モードに対応するコストに基づいて、P個の重み導出モードからS個の重み導出モードを選択することは以下の方式を含む。
【1140】
1番目の方式では、i番目の重み導出モードに対応するコストが第2の予め設定された値より小さい場合、P個の重み導出モードからi番目の重み導出モードに類似する重み導出モードが選択され、i番目の重み導出モードと、i番目の重み導出モードに類似する重み導出モードとに基づいて、S個の重み導出モードが確定される。i番目の重み導出モードに類似する重み導出モードは、予測結果がi番目の重み導出モードの予測結果に類似する重み導出モードとして理解されることができる。
【1141】
本出願の実施形態では、上記第2の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。
【1142】
いくつかの実施形態では、エンコーディング側は、以下の2番目の方式に基づいて、P個の重み導出モードからS個の重み導出モードを選択することもできる。
【1143】
2番目の方式では、i番目の重み導出モードに対応するコストが第3の予め設定された値より大きい場合、P個の重み導出モードから、i番目の重み導出モードと、i番目の重み導出モードに類似する重み導出モードとが除去され、除去後の少なくとも1つの重み導出モードが得られ、除去後の少なくとも1つの重み導出モードに基づいて、S個の重み導出モードが確定される。
【1144】
本出願の実施形態では、上記第3の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。第3の予め設定された値は上記第2の予め設定された値より大きい。
【1145】
エンコーディング側は、上記ステップに基づいて、P個の重み導出モードからS個の重み導出モードを選択した後、以下のS201-A21-22のステップを実行する。
【1146】
S201-A21-22:Q個の予測モードからT個の予測モードを選択する。TはQ以下の正の整数である。
【1147】
本出願の実施形態は、Q個の予測モードからT個の予測モードを選択する方式を限定しない。
【1148】
いくつかの実施形態では、Q個の予測モードからT個の予め設定された予測モードが選択される。
【1149】
いくつかの実施形態では、Q個の予測モードのうちi番目の予測モードに対して、エンコーディング側は、i番目の予測モードを使用して第1成分ブロックを予測する場合のコストを確定する。iは1からQまでの正の整数である。i番目の予測モードに対応するコストに基づいて、Q個の予測モードからT個の予測モードを選択する。
【1150】
本出願の実施形態では、1つの重み導出モードとK個の予測モードを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モードと与えられるK-1個の予測モードに基づいて、Q個の重み導出モードのコストを計算する。即ち、Q個の予測モードの各々と与えられる重み導出モード及びK-1個の予測モードとを組合せてQ個の組合せを得、これらQ個の組合せの各々に対応するコストを計算し、さらに、Q個の予測モードのコストを得る。
【1151】
例として、与えられるK-1個の予測モードが予測モード1であり、与えられる重み導出モードが重み導出モード1であると仮定し、Q個の予測モードのうちのi番目の予測モードに対して、重み導出モード1、i番目の予測モード及び予測モード1で1つの組合せを構成し、それを組合せiとして記す。組合せiを使用して第1成分ブロックを予測して、当該組合せiに対応する第1成分ブロックの予測値を得る。組合せiに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、当該組合せiに対応する予測歪みコストを確定する。当該組合せiに対応する予測歪みコストをi番目の予測モードに対応するコストとして確定する。このようにして、Q個の予測モードのうちのいずれか1つの予測モードに対応するコストを確定することができる。
【1152】
上記方法に基づいて、Q個の予測モードのうちのi番目の予測モードに対応するコストを確定した後、i番目の予測モードに対応するコストに基づいて、Q個の予測モードからT個の予測モードを選択する。
【1153】
エンコーディング側では、i番目の予測モードに対応するコストに基づいて、Q個の予測モードからT個の予測モードを選択することは以下の方式を含む。
【1154】
1番目の方式では、i番目の予測モードに対応するコストが第4の予め設定された値より小さい場合、Q個の予測モードからi番目の予測モードに類似する予測モードが選択され、i番目の予測モードと、i番目の予測モードに類似する予測モードとに基づいて、T個の予測モードが確定される。i番目の予測モードに類似する予測モードは、予測結果がi番目の予測モードの予測結果に類似する(又は近い)予測モードとして理解されることができ、例えば、予測方向(又は角度)がi番目の予測モードの予測方向(又は角度)に近い予測モード、又は、インデックスがi番目の予測モードのインデックスに近い予測モードが挙げられ、例えば、インデックスがi番目の予測モードのインデックスより1、2大きい予測モード、インデックスがi番目の予測モードのインデックスより1、2小さい予測モードが挙げられる。
【1155】
本出願の実施形態では、上記第4の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。
【1156】
2番目の方式では、i番目の予測モードに対応するコストが第5の予め設定された値より大きい場合、Q個の予測モードから、i番目の予測モードと、i番目の予測モードに類似する予測モードとが除去され、除去後の少なくとも1つの予測モードが得られ、除去後の少なくとも1つの予測モードに基づいて、T個の予測モードが確定される。
【1157】
本出願の実施形態では、上記第5の予め設定された値の具体的な値が限定されず、実際のニーズに応じて確定される。第5の予め設定された値は上記第4の予め設定された値より大きい。
【1158】
上記ステップに基づいて、P個の重み導出モードからS個の重み導出モードが選択され、Q個の予測モードからT個の予測モードが選択された後、以下のS201-A21-23が実行される。
【1159】
S201-A21-23:S個の重み導出モードとT個の予測モードに基づいて、R個の第2組合せを構成する。
【1160】
具体的に、S個の重み導出モードから1つの重み導出モードを選択し、T個の予測モードからK個の予測モードを選択し、この1つの重み導出モードとK個の予測モードで1つの第2組合せを構成し、このステップを繰り返してR個の第2組合せを得ることができる。
【1161】
いくつかの実施形態において、上記S201-A21-2は以下の内容を含む。P個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードと、Q個の予測モードのうちのj番目の予測モードとを使用して第1成分ブロックを予測する場合のコストを確定する。i番目の重み導出モードとj番目の予測モードとの組合せに対応するコストが第6の予め設定された値より大きい場合、Q個の予測モードから、j番目の予測モードと、j番目の予測モードに類似する予測モードとを除去して、除去後の少なくとも1つの予測モードを得る。i番目の重み導出モードと、除去後の少なくとも1つの予測モードとに基づいて、R個の第2組合せを構築する。
【1162】
本実施形態では、重み導出モードと1つの予測モードとが固定されている場合、別の予測モードをスクリーニングする。例えば、ある重み導出モードでは、あるイントラ予測モードを第1の予測モードとすることで比較的小さいコストが得られない場合、その重み導出モードで、そのイントラ予測モードに類似するイントラ予測モードを第1の予測モードとする状況を試さない。
【1163】
上記ステップに基づいて、P個の重み導出モードの各々に対応する除去後の最終的な予測モードの集合が確定されることができる。このように、P個の重み導出モードと、P個の重み導出モードの各々に対応する除去後の最終的な予測モードの集合とに基づいて、R個の第2組合せが構築される。
【1164】
なお、上記実施形態では、組合せの形態で予測モードをスクリーニングする方式を示した。選択的に、組合せの形態で重み導出モードと予測モードのうちのいずれか1つをスクリーニングして、最終的にR個の第2組合せを構築することもできる。
【1165】
エンコーディング側は、上記各方法に基づいてR個の第2組合せを確定した後、R個の第2組合せのうちのいずれか1つの第2組合せに対して、第2組合せにおける重み導出モードとK個の予測モードとを使用して第1成分ブロックを予測して、第2組合せに対応する第1成分ブロックの予測値を得る。
【1166】
次に、第1成分ブロックの予測値と再構成値に基づいて、この第2組合せのコストが確定される。
【1167】
上記方法に基づいて、R個の第2組合せの各々のコストを確定することができる。次に、R個の第2組合せの各々のコストに基づいて、表6に示す候補組合せのリストを構築する。
【1168】
このように、エンコーディング側は、表6に示す候補組合せのリストから第1組合せをクエリする。
【1169】
上記実施形態では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含むことを例として、候補組合せのリストを構築する方式を説明した。
【1170】
本出願の実施形態において、状況1では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードはブレンディングパラメータを含まない。状況2では、第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。状況3では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードはブレンディングパラメータを含む。ブレンディングパラメータは、K個の第1の予測モードとともに、カレント成分ブロックの予測値を確定するために用いられる。
【1171】
状況1では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含み、且つ第1の重み導出モードがブレンディングパラメータを含まない場合、カレント成分ブロックに対応する候補組合せのリストは、上記実施形態で説明したように構築される。
【1172】
状況2では、第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。
【1173】
この状況2では、S201における第1組合せを確定することは以下のステップを含む。
【1174】
S201-C:候補組合せのリストを確定する。当該候補組合せのリストは少なくとも1つの候補組合せを含み、当該少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。
【1175】
S201-D:候補組合せのリストから第1組合せを確定する。
【1176】
例示的に、当該候補組合せのリストを表8に示す。
【1177】
本出願の実施形態は、上記候補組合せのリストを確定する具体的な方式を限定しない。
【1178】
いくつかの実施形態では、上記候補組合せのリストは既に存在しているものである。エンコーディング側は、当該候補組合せのリストを取得し又は読み取る。
【1179】
いくつかの実施形態では、上記候補組合せのリストはエンコーディング側によって構築される。
【1180】
本出願の実施形態は、エンコーディング側が候補組合せのリストを構築する方式を限定しない。
【1181】
いくつかの実施形態では、エンコーディング側は、以下のS201-C1及びS201-C2のステップによって、候補組合せのリストを構築する。
【1182】
S201-C1:カレント成分ブロックに対応する第1成分ブロックを確定する。
【1183】
S201-C2:第1成分ブロックに基づいて候補組合せのリストを構築する。
【1184】
S201-C1の具体的な実現プロセスについては、上記S101-A1の説明を参照し、ここでは繰り返さない。
【1185】
いくつかの実施形態において、S201-C2は、以下のS201-C21からS201-C23のステップを含む。
【1186】
S201-C21:R個の第2組合せを確定する。R個の第2組合せのうちのいずれか1つは1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含み、R個の第2組合せのうちのいずれか2つに含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータが完全に同じであるというわけではなく、Rは1より大きい正の整数である。
【1187】
S201-C22:R個の第2組合せのうちのいずれか1つに対して、第2組合せにおける重み導出モード、K個の予測モード、及びブレンディングパラメータを使用して第1成分ブロックを予測する場合の、第2組合せに対応するコストを確定する。
【1188】
S201-C23:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1189】
本実施形態において、エンコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。R個の第2組合せのうちのいずれか2つに含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータが完全に同じであるというわけではない。次に、R個の第2組合せの各々に対して、その第2組合せに含まれる重み導出モード、K個の予測モード、及びブレンディングパラメータを使用してカレント成分ブロックに対応する第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。最後に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1190】
いくつかの実施形態では、上記S201-C22における第2組合せにおける重み導出モード、K個の予測モード、及びブレンディングパラメータを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定することは、少なくとも以下の方式を含む。
【1191】
方式1:S201-C22は、以下のS201-C22-11からS201-C22-14を含む。
【1192】
S201-C22-11:第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する。
【1193】
S201-C22-12:第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。
【1194】
S201-C22-13:第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。
【1195】
S201-C22-14:第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【1196】
本出願の実施形態では、R個の第2組合せの各々に対応するコストを確定するプロセスは同じである。説明を容易にするために、ここでR個の第2組合せのうちの1つを例として説明する。
【1197】
本出願の実施形態において、第2組合せは、1つの重み導出モード、1つのブレンディングパラメータ、及びK個の予測モードを含む。当該第2組合せを使用して第1成分ブロックを予測する際、当該第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する。第2組合せに含まれるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。次に、第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。次に、第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【1198】
本出願の実施形態では、ブレンディングパラメータは、重み導出モードによって導出される重みを調整するために用いられる。そのため、本出願の実施形態では、上記S201-C221における第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する実施形態は少なくとも以下のいくつかの例を含む。
【1199】
例1では、第1の重み導出モードを使用して第1成分ブロックの重みを導出する際、複数の中間変数を確定する必要がある。ブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して第1成分ブロックの重みを導出することができる。
【1200】
例2では、第2組合せにおける重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第3の重みを確定し、第2組合せにおけるブレンディングパラメータを使用して第3の重みを調整し、調整された第3の重みを得、調整された第3の重みに基づいて、第1成分ブロックの重みを確定する。
【1201】
上記方法に基づいて、R個の第2組合せの各々に対応する第1成分ブロックの重みを確定することができる。次に、各第2組合せに対して、当該第2組合せに含まれるK個の予測モードを使用して第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。当該第2組合せに対応する第1成分ブロックの重みに基づいて、当該第2組合せに対応する第1成分ブロックのK個の予測値に対して重み付けを行って、当該第2組合せに対応する第1成分ブロックの予測値を得る。当該第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、当該第2組合せに対応するコストを確定する。第2組合せに対応するコストを確定する方式は、SAD、SATD、SEEなどを含むが、これらに限定されない。当該方法に基づいて、R個の第2組合せの各々に対応する第1成分ブロックの予測値を確定することができる。次に、R個の第2組合せの各々に対応する第1成分ブロックの予測値に基づいて、候補組合せのリストを構築する。
【1202】
方式2:S201-C22は、以下のS201-C22-11からS201-C22-14を含む。
【1203】
S201-C22-21:第2組合せにおける重み導出モード及びブレンディングパラメータに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定する。
【1204】
S201-C22-22:第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定する。
【1205】
S201-C22-23:第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定する。例えば、第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、第2組合せに対応するコストに確定する。
【1206】
S201-C23におけるR個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する方式は、以下のいくつかの例を含むが、これらに限定されない。
【1207】
例1では、R個の第2組合せの各々に対応するコストに基づいて、R個の第2組合せをソートする。ソートされたR個の第2組合せを、候補組合せのリストとして確定する。
【1208】
例2では、第2組合せに対応するコストに基づいて、R個の第2組合せからL個の第2組合せを選択し、これらL個の第2組合せからなるリストを候補組合せのリストとして確定する。
【1209】
以下、上記S201-C21におけるR個の第2組合せを確定するプロセスについて説明する。
【1210】
いくつかの実施形態では、上記R個の第2組合せは予め設定されたものである。
【1211】
いくつかの実施形態では、S201-C21は以下のステップを含む。
【1212】
S201-C21-1:F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータを確定する。FとWはいずれも正の整数であり、JはK以上の正の整数である。
【1213】
S201-C21-2:F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、F個の重み導出モードのうちの1つの重み導出モード、J個の予測モードのうちのK個の予測モード、及びW個のブレンディングパラメータのうちの1つのブレンディングパラメータを含む。
【1214】
この実施形態では、エンコーディング側は、まず、F個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータを確定し、次に、確定されたF個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータに基づいて、R個の第2組合せを構築する。
【1215】
いくつかの実施形態では、データ量を減らし、候補組合せのリストの構築速度を上げるために、すべての予測モードを試すのではなく、一部の予測モードを選択して試すことができる。
【1216】
この場合、上記S201-C21-1におけるJ個の予測モードを確定する実施形態は以下のいくつかの方式を含むが、これらに限定されない。
【1217】
方式1:J個の予測モードは予め設定された予測モードである。
【1218】
方式2:カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定する。候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つに基づいて、J個の予測モードを確定する。
【1219】
カレント成分ブロックの第2の候補予測モードのリストを確定する方式は、少なくとも以下のいくつかの例を含む。
【1220】
例1では、カレント成分ブロックに隣接する少なくとも1つのブロックに使用される予測モードに基づいて、第2の候補予測モードのリストが確定される。
【1221】
例2では、第2の候補予測モードのリストが予め設定されたモードを含まない場合、カレント成分ブロックに対応する予め設定されたモードが確定され、予め設定されたモードが第2の候補予測モードのリストに追加される。
【1222】
一例では、上記予め設定されたモードは、複数の予め設定された予測モードである。
【1223】
別の例では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて予め設定されたモードが確定される。
【1224】
例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、予め設定されたモードは、DCモード、水平モード、垂直モード、及び角度モードのうちの少なくとも1つを含む。
【1225】
例3では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて第2の候補予測モードのリストが確定される。例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、DCモード、水平モード、垂直モード、及びいくつかの角度モードのうちの少なくとも1つが、第2の候補予測モードのリストに追加され得る。別の例として、カレント成分ブロックに対応する画像タイプがIタイプである場合、DCモード、水平モード、垂直モードのうちの少なくとも1つが第2の候補予測モードのリストに追加され得る。
【1226】
例4では、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つが確定される。第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、彩度ブロック及び/又は輝度ブロック)に使用され、第3の予測モードは、カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、輝度ブロック及び/又は彩度ブロック)に使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロック(例えば、輝度ブロック)に使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストが確定される。
【1227】
本出願の実施形態において、上記J個の予測モードを確定する具体的な実施形態については、上記S101-A21-1におけるQ個の予測モードを確定する具体的な説明を参照することができ、ここでは繰り返さない。いくつかの実施形態では、上記JはQに等しい。
【1228】
以下、S201-C21-1におけるF個の重み導出モードを確定するプロセスを説明する。
【1229】
本出願の実施形態では、F個の重み導出モードを確定する方式は少なくとも以下のいくつかの方式を含む。
【1230】
いくつかの実施形態では、上記F個の重み導出モードは、予め設定された重み導出モードである。
【1231】
いくつかの実施形態では、Z個の予め設定された重み導出モードからF個の重み導出モードを選択する。ZはF以上の正の整数である。
【1232】
本出願の実施形態は、上記Z個の予め設定された重み導出モードを制限しない。
【1233】
いくつかの実施形態では、ZがFに等しい場合、Z個の重み導出モードが、F個の重み導出モードとして確定される。
【1234】
いくつかの実施形態では、ZがFより大きい場合、R個の第2組合せの数をさらに減らすために、Z個の予め設定された重み導出モードに対してスクリーニングを行い、Z個の予め設定された重み導出モードからF個の重み導出モードを選択して、R個の第2組合せを構築することができる。
【1235】
上記S201-C21-1におけるF個の重み導出モードを確定するプロセスは、上記S201-A21-1におけるP個の重み導出モードを確定するプロセスと実質的に同じである。上記P個の重み導出モードを確定する具体的な説明を参照し、ここでは繰り返さない。
【1236】
以下、S201-C21-1におけるW個のブレンディング勾配係数を確定するプロセスを紹介する。
【1237】
いくつかの実施形態では、上記W個のブレンディングパラメータは、予め設定されたブレンディングパラメータであり、例えば、1/4、1/2、1、2、4などである。
【1238】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいてW個のブレンディングパラメータが確定される。
【1239】
いくつかの実施形態では、複数の予め設定されたブレンディングパラメータから、W個のブレンディングパラメータが確定される。
【1240】
一例では、カレント成分ブロックの画像情報に基づいて、複数の予め設定されたブレンディングパラメータから、W個のブレンディングパラメータが確定される。
【1241】
本出願の実施形態は、カレント成分ブロックの画像情報の具体的な内容を限定しない。画像情報の具体的な内容は、例えば、不鮮鋭度、鮮鋭度、アキュータンス(acutance)などである。
【1242】
いくつかの実施形態では、カレント成分ブロックの画像情報が画像エッジの鮮鋭度を含む場合、カレント成分ブロックの画像情報に基づいて、複数の予め設定されたブレンディングパラメータからW個のブレンディングパラメータを確定することは、以下の2つの例を含む。
【1243】
例1では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、複数の予め設定されたブレンディングパラメータのうちの少なくとも1つの第1タイプのブレンディングパラメータが、W個のブレンディングパラメータとして確定される。
【1244】
第1タイプのブレンディングパラメータは、比較的広いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、1/4、1/2などが挙げられる。
【1245】
例2では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、複数の予め設定されたブレンディングパラメータのうちの少なくとも1つの第2タイプのブレンディングパラメータが、W個のブレンディングパラメータとして確定される。第2タイプのブレンディングパラメータは、第1タイプのブレンディングパラメータより大きい。
【1246】
第2タイプのブレンディングパラメータは、比較的狭いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、2、4などが挙げられる。
【1247】
本出願の実施形態において、カレント成分ブロックの画像情報を確定する方式は、少なくとも2つの方式を含むことができる。
【1248】
方式1:カレント成分ブロックの画像情報を分析して、カレント成分ブロックの画像情報を得る。
【1249】
方式2:第1成分ブロックの画像情報を確定し、第1成分ブロックの画像情報に基づいて、カレント成分ブロックの画像情報を確定する。
【1250】
上記ステップに基づいてJ個の予測モード、F個の重み導出モード、及びW個のブレンディングパラメータを確定した後、これらJ個の予測モード、F個の重み導出モード、及びW個のブレンディングパラメータに基づいて、R個の異なる第2組合せを構築する。次に、R個の第2組合せに基づいて、候補組合せのリストを確定し、さらに、この候補組合せのリストから、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを確定する。
【1251】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、上記確定されたJ個の予測モード、F個の重み導出モード、及びW個のブレンディングパラメータを再びスクリーニングする。この場合、上記S201-C21-2における確定されたF個の重み導出モード、J個の予測モード、及びW個のブレンディングパラメータに基づいて、R個の第2組合せを構築することは、以下のS201-C21-21からS201-C21-24までのステップを含む。
【1252】
S201-C21-21:F個の重み導出モードからE個の重み導出モードが選択される。EはF以下の正の整数である。
【1253】
具体的に、上記確定されたF個の重み導出モードから、現れる確率の低い(即ちコストが高い)重み導出モードが除去されて、スクリーニングされたE個の重み導出モードが得られる。
【1254】
上記S201-C21-21におけるF個の重み導出モードからE個の重み導出モードを選択する方式は、以下のいくつかの方式を含むが、これらに限定されない。
【1255】
方式1:F個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードと第4のブレンディングパラメータに基づいて、第1成分ブロックでのK個の第2の予測モードの重みが確定される。第4のブレンディングパラメータはW個のブレンディング勾配のうちいずれか1つのブレンディングパラメータである。K個の第2の予測モードはJ個の予測モードのうちの任意のK個の予測モードであり、iは1からFまでの正の整数である。第1成分ブロックでのK個の予測モードのいずれか1つの予測モードの重みが第1の予め設定された値より小さい場合、F個の重み導出モードからi番目の重み導出モードが除去され、E個の重み導出モードが得られる。
【1256】
この方式1では、i番目の重み導出モードと第4のブレンディングパラメータに基づいて、第1成分ブロックでのK個の第2の予測モードの重みを確定する方式は、少なくとも以下のいくつかの例に示す方式を含む。
【1257】
例1では、i番目の重み導出モードを使用して第1成分ブロックの重みを導出する際、複数の中間変数を確定する必要がある。第4のブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して第1成分ブロックの重みを導出することができる。
【1258】
例2では、i番目の重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第4の重みを確定し、第4のブレンディングパラメータを使用して第4の重みを調整し、調整された第4の重みを得、調整された第4の重みに基づいて、第1成分ブロックでのK個の第2の予測モードの重みを確定する。
【1259】
上記方法によって、i番目の重み導出モードに基づいて、第1成分ブロックでのK個の第2の予測モードの重みを確定する。
【1260】
方式2:F個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードを使用して第1成分ブロックを予測する場合のコストが確定される。iは1からFまでの正の整数である。i番目の重み導出モードに対応するコストに基づいて、F個の重み導出モードからE個の重み導出モードが選択される。
【1261】
いくつかの実施形態では、上記i番目の重み導出モードに対応するコストを確定する際、重みに対するブレンディングパラメータの影響が考慮されない。
【1262】
いくつかの実施形態では、上記i番目の重み導出モードに対応するコストを確定する際、重みに対するブレンディングパラメータの影響が考慮される。即ち、i番目の重み導出モード及びブレンディングパラメータに基づいて第1成分ブロックの重みが確定され、次に、第1成分ブロックの重み及び第1成分ブロックのK個の予測値に基づいて第1成分ブロックの予測値が確定され、さらに、第1成分ブロックの予測値及び再構成値に基づいて、i番目の重み導出モードに対応するコストが確定される。i番目の重み導出モードとブレンディングパラメータに基づいて第1成分ブロックの重みを確定する具体的なプロセスについては、上記実施形態の説明を参照することができ、ここでは繰り返さない。
【1263】
上記ステップに基づいて、F個の重み導出モードからE個の重み導出モードを選択した後、以下のS201-C21-22のステップを実行する。
【1264】
S201-C21-22:J個の予測モードからV個の予測モードを選択する。VはJ以下の正の整数である。
【1265】
本出願の実施形態は、J個の予測モードからV個の予測モードを選択する方式を限定しない。
【1266】
いくつかの実施形態では、J個の予測モードからV個の予め設定された予測モードが選択される。
【1267】
いくつかの実施形態では、J個の予測モードのうちi番目の予測モードに対して、エンコーディング側は、i番目の予測モードを使用して第1成分ブロックを予測する場合のコストを確定する。iは1からJまでの正の整数である。i番目の予測モードに対応するコストに基づいて、J個の予測モードからV個の予測モードを選択する。
【1268】
本出願の実施形態では、重み導出モード、K個の予測モード及びブレンディングパラメータを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モード、与えられるK-1個の予測モード及び与えられるブレンディングパラメータに基づいて、J個の重み導出モードのコストを計算する。即ち、J個の予測モードの各々と与えられる重み導出モード、K-1個の予測モード及びブレンディングパラメータとを組合せてJ個の組合せを得、これらJ個の組合せの各々に対応するコストを計算し、さらに、J個の予測モードのコストを得る。
【1269】
上記方法に基づいて、J個の予測モードのうちのi番目の予測モードに対応するコストを確定した後、i番目の予測モードに対応するコストに基づいて、J個の予測モードからV個の予測モードを選択する。
【1270】
i番目の予測モードに対応するコストに基づいて、J個の予測モードからV個の予測モードを選択することは以下の方式を含む。
【1271】
1番目の方式では、i番目の予測モードに対応するコストが第4の予め設定された値より小さい場合、J個の予測モードからi番目の予測モードに類似する予測モードが選択され、i番目の予測モードと、i番目の予測モードに類似する予測モードとに基づいて、V個の予測モードが確定される。
【1272】
2番目の方式では、i番目の予測モードに対応するコストが第5の予め設定された値より大きい場合、J個の予測モードから、i番目の予測モードと、i番目の予測モードに類似する予測モードとが除去され、除去後の少なくとも1つの予測モードが得られ、除去後の少なくとも1つの予測モードに基づいて、V個の予測モードが確定される。
【1273】
上記ステップに基づいて、F個の重み導出モードからE個の重み導出モードが選択され、J個の予測モードからV個の予測モードが選択された後、以下のS201-C21-23が実行される。
【1274】
S201-C21-23:W個のブレンディングパラメータからO個のブレンディングパラメータが選択され、OはW以下の正の整数である。
【1275】
いくつかの実施形態では、OがWに等しい場合、W個のブレンディングパラメータが、O個のブレンディングパラメータに確定される。
【1276】
いくつかの実施形態では、WがOより大きい場合、W個のブレンディングパラメータに対してスクリーニングを行って、O個のブレンディングパラメータが得られる。
【1277】
W個のブレンディングパラメータに対してスクリーニングを行って、O個のブレンディングパラメータを得る方式は、少なくとも以下のいくつかを含む。
【1278】
例1では、W個のブレンディングパラメータの各々のコストが確定され、W個のブレンディングパラメータのうちの、コストが最も小さい最初のO個のブレンディングパラメータが選択される。
【1279】
例2では、上記W個のブレンディングパラメータがカレント成分ブロックの画像情報に基づいて確定されたものではない場合、本出願の実施形態では、カレント成分ブロックの画像情報を確定し、カレント成分ブロックの画像情報に基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータを確定することもできる。
【1280】
いくつかの実施形態では、カレント成分ブロックの画像情報が画像エッジの鮮鋭度を含む場合、カレント成分ブロックの画像情報に基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータを確定することは、2つの例を含む。
【1281】
一例では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、W個のブレンディングパラメータのうちの少なくとも1つの第1タイプのブレンディングパラメータが、O個のブレンディングパラメータとして確定される。
【1282】
別の例では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、W個のブレンディングパラメータのうちの少なくとも1つの第2タイプのブレンディングパラメータが、O個のブレンディングパラメータとして確定される。
【1283】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいて、W個のブレンディングパラメータからO個のブレンディングパラメータが選択される。
【1284】
1つの可能な実施形態では、カレント成分ブロックのサイズに応じて、W個のブレンディングパラメータのうちの、第3の値以上のブレンディングパラメータがO個のブレンディングパラメータとされる。
【1285】
例えば、カレント成分ブロックのサイズが第2の設定された閾値より小さい場合、W個のブレンディングパラメータのうちの、第3の値を有するブレンディングパラメータが、O個のブレンディングパラメータのうちの1つとされる。
【1286】
さらに例えば、カレント成分ブロックのサイズが第2の設定された閾値以上である場合、W個のブレンディングパラメータのうちの、第4の値以下であるブレンディングパラメータがO個のブレンディングパラメータとされる。第4の値は第3の値より小さい。
【1287】
別の可能な実施形態では、カレント成分ブロックのサイズに基づいて、O個のブレンディングパラメータが、W個のブレンディングパラメータのうちの、ある数値範囲内にある少なくとも1つのブレンディングパラメータに確定される。
【1288】
例えば、カレント成分ブロックのサイズが第2の設定された閾値より小さい場合、O個のブレンディングパラメータが、W個のブレンディングパラメータのうちの、第4ブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。
【1289】
さらに例えば、カレント成分ブロックのサイズが第2の設定された閾値以上である場合、O個のブレンディングパラメータが、W個のブレンディングパラメータのうちの、第3ブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。第3のブレンディングパラメータの数値範囲の最小値が、第4ブレンディングパラメータの数値範囲の最小値より小さい。
【1290】
F個の重み導出モードからE個の重み導出モードが選択され、J個の予測モードからV個の予測モードが選択され、W個のブレンディングパラメータからO個のブレンディングパラメータが選択されたた後、以下のS201-C21-24が実行される。
【1291】
S201-C21-24:E個の重み導出モード、V個の予測モード、及びO個のブレンディングパラメータに基づいて、R個の第2組合せを構成する。
【1292】
具体的に、E個の重み導出モードから1つの重み導出モードを選択し、V個の予測モードからK個の予測モードを選択し、O個のブレンディングパラメータから1つのブレンディングパラメータを選択し、この1つの重み導出モード、K個の予測モード及び1つのブレンディングパラメータで1つの第2組合せを構成し、このステップを繰り返してR個の第2組合せを得ることができる。
【1293】
以上から分かるように、1つの第2組合せは、1つの重み導出モード、K個の予測モード、及び1つのブレンディングパラメータを含む。即ち、1つの第2組合せは、K+2個の要素を含む。このように、1つの要素をスクリーニングする際、1つの組合せにおける他の要素が固定されている場合、その1つの要素の選択可能性を制限することができる。
【1294】
以下、重み導出モード、ブレンディングパラメータ、及び1つの予測モードが固定されている場合の、別の予測モードのスクリーニングプロセスを例として、上記S201-C21-2の実現プロセスを紹介する。
【1295】
いくつかの実施形態において、上記S201-C21-2は以下の内容を含む。F個の重み導出モードのうちのf番目の重み導出モード、及びO個のブレンディングパラメータのうちのo番目のブレンディングパラメータに対して、f番目の重み導出モード、o番目のブレンディングパラメータ、及びJ個の予測モードのうちのj番目の予測モードを使用して第1成分ブロックを予測する場合のコストを確定する。fはF以下の正の整数であり、oはO以下の正の整数であり、jはJ以下の正の整数である。f番目の重み導出モードと、o番目のブレンディングパラメータと、j番目の予測モードとの組合せに対応するコストが第6の予め設定された値より大きい場合、J個の予測モードから、j番目の予測モードと、j番目の予測モードに類似する予測モードとを除去して、除去後の少なくとも1つの予測モードを得る。f番目の重み導出モード、o番目のブレンディングパラメータ、及び除去後の少なくとも1つの予測モードに基づいて、R個の第2組合せを構築する。
【1296】
本実施形態では、重み導出モード、ブレンディングパラメータ及び1つの予測モードが固定されている場合、別の予測モードをスクリーニングする。例えば、ある重み導出モード及びブレンディングパラメータでは、あるイントラ予測モードを第1の予測モードとすることで比較的小さいコストが得られない場合、その重み導出モード及びブレンディングパラメータで、そのイントラ予測モードに類似するイントラ予測モードを第1の予測モードとする状況を試さない。
【1297】
上記ステップに基づいて、F個の重み導出モードの各々とブレンディングパラメータに対応する除去後の最終的な予測モードの集合が確定されることができる。このように、F個の重み導出モードと、F個の重み導出モードの各々に対応する除去後の最終的な予測モードの集合とに基づいて、R個の第2組合せが構築される。
【1298】
なお、上記実施形態では、組合せの形態で予測モードをスクリーニングする方式を示した。選択的に、組合せの形態で重み導出モードとブレンディングパラメータのうちのいずれか1つをスクリーニングして、最終的にR個の第2組合せを構築することもできる。
【1299】
上記各方法に基づいてR個の第2組合せを確定した後、R個の第2組合せのうちのいずれか1つの第2組合せに対して、第2組合せにおける重み導出モード、ブレンディングパラメータ、及びK個の予測モードを使用して第1成分ブロックを予測して、第2組合せに対応する第1成分ブロックの予測値を得る。
【1300】
次に、第1成分ブロックの予測値と再構成値に基づいて、この第2組合せのコストが確定される。R個の第2組合せの各々のコストに基づいて、候補組合せのリストが構築される。
【1301】
このようにして、エンコーディング側は、構築された候補組合せのリストから第1組合せを確定する。
【1302】
例えば、候補組合せのリストにおける1つの候補組合せが、第1組合せとして確定される。
【1303】
さらに例えば、候補組合せのリストにおけるコストが最も小さい候補組合せが、第1組合せとして確定される。
【1304】
上記方法に基づいて第1組合せが確定された後、以下のS202が実行される。
【1305】
上記状況2では、第1組合せが第1の重み導出モード、K個の第1の予測モード及び第2のブレンディングパラメータを含むことを例として、上記S101の実現プロセスを説明した。
【1306】
状況3:第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードは第3のブレンディングパラメータを含み、当該第3のブレンディングパラメータは重みを確定するために用いられる。
【1307】
その状況3では、第1の重み導出モードはデータセットとして理解されることができ、当該データセットは複数のパラメータを含み、例えば第3のブレンディングパラメータを含む。これら複数のパラメータはともに重みを確定するために用いられる。
【1308】
この状況3では、S201における第1組合せを確定することは以下のステップを含む。
【1309】
S201-E:候補組合せのリストを確定する。当該候補組合せのリストは少なくとも1つの候補組合せを含み、当該少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含み、重み導出モードは1つのブレンディングパラメータを含む。
【1310】
S201-F:候補組合せのリストに基づいて第1組合せを確定する。
【1311】
例示的に、当該候補組合せのリストを表9に示す。
【1312】
本出願の実施形態は、エンコーディング側が上記候補組合せのリストを確定する具体的な方式を限定しない。
【1313】
いくつかの実施形態では、上記候補組合せのリストは既に存在しているものである
【1314】
いくつかの実施形態では、上記候補組合せのリストは、エンコーディング側によって構築されたものである。
【1315】
本出願の実施形態は、エンコーディング側が候補組合せのリストを構築する方式を限定しない。
【1316】
いくつかの実施形態では、エンコーディング側は、以下のS201-E1及びS201-E2のステップによって、候補組合せのリストを構築する。
【1317】
S201-E1:カレント成分ブロックに対応する第1成分ブロックを確定する。
【1318】
S201-E2:第1成分ブロックに基づいて候補組合せのリストを構築する。
【1319】
S201-E1の具体的な実現プロセスについては、上記S101-A1の説明を参照し、ここでは繰り返さない。
【1320】
いくつかの実施形態において、S201-E2は、以下のS201-E21からS201-E23のステップを含む。
【1321】
S201-E21:R個の第2組合せを確定する。R個の第2組合せのうちのいずれか1つは1つの重み導出モード及びK個の予測モードを含み、R個の第2組合せのうちのいずれか2つに含まれる重み導出モード及びK個の予測モードが完全に同じであるというわけではなく、Rは1より大きい正の整数である。
【1322】
S201-E22:R個の第2組合せのうちのいずれか1つに対して、第2組合せにおける重み導出モード及びK個の予測モードを使用して第1成分ブロックを予測する場合の、第2組合せに対応するコストを確定する。
【1323】
S201-E23:R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1324】
本実施形態において、エンコーディング側は、候補組合せのリストを構築する際、まず、R個の第2組合せを確定する。本出願では、R個の第2組合せの具体的な数が限定されず、例えば、8、16、32などとされ、R個の第2組合せの各々は1つの重み導出モード及びK個の予測モードを含み、重み導出モードは1つのブレンディングパラメータを含む。R個の第2組合せのうちのいずれか2つに含まれる重み導出モード及びK個の予測モードが完全に同じであるというわけではない。次に、R個の第2組合せの各々に対して、その第2組合せに含まれる重み導出モード及びK個の予測モードを使用してカレント成分ブロックに対応する第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定する。最後に、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する。
【1325】
いくつかの実施形態では、上記S201-E22における第2組合せにおける重み導出モード及びK個の予測モードを使用して第1成分ブロックを予測する場合の、その第2組合せに対応するコストを確定することは、少なくとも以下の方式を含む。
【1326】
方式1:S201-E22は、以下のS201-E22-11からS201-E22-14を含む。
【1327】
S201-E22-11:第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定する。
【1328】
S201-E22-12:第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。
【1329】
S201-E22-13:第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。
【1330】
S201-E22-14:第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【1331】
本出願の実施形態では、R個の第2組合せの各々に対応するコストを確定するプロセスは同じである。説明を容易にするために、ここでR個の第2組合せのうちの1つを例として説明する。
【1332】
本出願の実施形態において、第2組合せは、1つの重み導出モード及びK個の予測モードを含む。当該第2組合せを使用して第1成分ブロックを予測する際、例示的に、エンコーディング側は、当該第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定する。第2組合せに含まれるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得る。次に、第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得る。次に、第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定する。
【1333】
本出願の実施形態では、上記S201-E22-11における第2組合せに含まれる重み導出モードに基づいて第1成分ブロックの重みを確定する具体的な方式が限定されない。例えば、第2組合せにおける重み導出モードはブレンディングパラメータを含み、従って、当該ブレンディングパラメータに基づいて第1成分ブロックの重みが確定されることができる。
【1334】
方式2:S201-E22は、以下のS201-E22-11からS201-E22-14を含む。
【1335】
S201-E22-21:第2組合せにおける重み導出モードに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定する。
【1336】
S201-E22-22:第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定する。
【1337】
S201-E22-23:第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定する。例えば、第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、第2組合せに対応するコストに確定する。
【1338】
S201-E23におけるR個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築する方式は、以下のいくつかの例を含むが、これらに限定されない。
【1339】
例1では、R個の第2組合せの各々に対応するコストに基づいて、R個の第2組合せをソートする。ソートされたR個の第2組合せを、候補組合せのリストとして確定する。
【1340】
この例1において生成された候補組合せのリストは、R個の候補組合せを含む。
【1341】
選択的に、コストの昇順でその候補組合せのリストにおけるR個の候補組合せをソートする。即ち、候補組合せのリストにおけるR個の候補組合せに対応するコストは、ソート順に従って次第に大きくなる。
【1342】
R個の第2組合せの各々に対応するコストに基づいてR個の第2組合せをソートすることは、コストの昇順でR個の第2組合せをソートすることであってもよい。
【1343】
例2では、第2組合せに対応するコストに基づいて、R個の第2組合せからB個の第2組合せを選択し、これらB個の第2組合せからなるリストを候補組合せのリストとして確定する。
【1344】
選択的に、上記B個の第2組合せは、R個の第2組合せのうちのコストが最も小さい最初のB個の第2組合せである。
【1345】
選択的に、その候補組合せのリストにおけるB個の候補組合せは、コストの昇順でソートされる。即ち、候補組合せのリストにおけるB個の候補組合せに対応するコストは、ソート順に従って次第に大きくなる。
【1346】
以下、上記S201-E21におけるR個の第2組合せを確定するプロセスについて説明する。
【1347】
いくつかの実施形態では、上記R個の第2組合せは予め設定されたものである。このように、R個の予め設定された第2組合せの各々を使用してカレント成分ブロックに対応する第1成分ブロックを予測して、各第2組合せに対応する第1成分ブロックの予測値を得、次に、各第2組合せに対応する第1成分ブロックの予測値と第1成分ブロックの再構成値に基づいて、各第2組合せに対応するコストを確定する。各第2組合せに対応するコストに基づいて、R個の第2組合せをソートし、ソートされたR個の第2組合せを候補組合せのリストとし、又は、ソートされたR個の第2組合せからコストが最も小さいB個の第2組合せを選択して候補組合せのリストを構成する。
【1348】
いくつかの実施形態では、S201-E21は以下のステップを含む。
【1349】
S101-E21-1:C個の重み導出モード及びD個の予測モードを確定する。Cは正の整数であり、DはK以上の正の整数である。
【1350】
S101-E21-2:C個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、C個の重み導出モードのうちの1つの重み導出モード及びD個の予測モードのうちのK個の予測モードを含む。
【1351】
この実施形態では、エンコーディング側は、まず、C個の重み導出モード及びD個の予測モードを確定し、次に、確定されたC個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築する。
【1352】
本出願の実施形態では、上記C個の重み導出モード及びD個の予測モードの具体的な数が限定されない。
【1353】
この場合、上記S201-E21-1におけるD個の予測モードを確定する実施形態は以下のいくつかの方式を含むが、これらに限定されない。
【1354】
方式1:D個の予測モードは予め設定された予測モードである。
【1355】
方式2:カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定する。候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つに基づいて、D個の予測モードを確定する。
【1356】
カレント成分ブロックの第3の候補予測モードのリストを確定する方式は、少なくとも以下のいくつかの例を含む。
【1357】
例1では、カレント成分ブロックに隣接する少なくとも1つのブロックに使用される予測モードに基づいて、第3の候補予測モードのリストが確定される。
【1358】
例2では、第3の候補予測モードのリストが予め設定されたモードを含まない場合、カレント成分ブロックに対応する予め設定されたモードが確定され、予め設定されたモードが第3の候補予測モードのリストに追加される。
【1359】
一例では、上記予め設定されたモードは、複数の予め設定された予測モードである。
【1360】
別の例では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて予め設定されたモードが確定される。
【1361】
例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、予め設定されたモードは、DCモード、水平モード、垂直モード、及び角度モードのうちの少なくとも1つを含む。
【1362】
例3では、カレント成分ブロックに対応する画像タイプが確定され、カレント成分ブロックに対応する画像タイプに基づいて第3の候補予測モードのリストが確定される。例えば、カレント成分ブロックに対応する画像タイプがBタイプ又はPタイプである場合、DCモード、水平モード、垂直モード、及びいくつかの角度モードのうちの少なくとも1つが、第3のの候補予測モードのリストに追加され得る。別の例として、カレント成分ブロックに対応する画像タイプがIタイプである場合、DCモード、水平モード、垂直モードのうちの少なくとも1つが第3の候補予測モードのリストに追加され得る。
【1363】
例4では、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つが確定される。第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、彩度ブロック及び/又は輝度ブロック)に使用され、第3の予測モードは、カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つ(例えば、輝度ブロック及び/又は彩度ブロック)に使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロック(例えば、輝度ブロック)に使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストが確定される。
【1364】
本出願の実施形態において、上記D個の予測モードを確定する具体的な実施形態については、上記S101-A21-1におけるQ個の予測モードを確定する具体的な説明を参照することができ、ここでは繰り返さない。いくつかの実施形態では、上記DはQに等しい。
【1365】
以下、S201-E21-1におけるC個の重み導出モードを確定するプロセスを説明する。
【1366】
いくつかの実施形態では、上記C個の重み導出モードは、予め設定された重み導出モードである。
【1367】
いくつかの実施形態では、上記C個の重み導出モードは、複数の予め設定された重み導出モードから選択されたものである。例えば、カレント成分ブロックのサイズ及び/又はカレント成分ブロックに対応する画像のタイプなどの情報に基づいてスクリーニングを行って、C個の重み導出モードを得る。選択的に、コストに基づいて、複数の予め設定された重み導出モードから、コストが小さいC個の重み導出モードを選択することもできる。
【1368】
いくつかの実施形態では、X個のブレンディングパラメータを確定し、X個のブレンディングパラメータに基づいて、C個の重み導出モードを確定する。本出願の実施形態は、XとCとの大小関係を限定しない。
【1369】
本出願の実施形態では、C個の重み導出モードの各々が1つのブレンディングパラメータを含むため、X個のブレンディングパラメータに基づいてC個の重み導出モードを確定することができる。例えば、重み導出モードがブレンディングパラメータに加えて他のパラメータを含む場合、C個の重み導出モードのうちの少なくとも2つの重み導出モードに含まれるブレンディングパラメータが同じであってもよく、異なってもよい。X個のブレンディングパラメータに基づいてC個の重み導出モードを確定することができる。例えば、X個のブレンディングパラメータからなる複数の異なる重み導出モードを使用して、複数の異なる重み導出モードのうちの各々に対応するコストを確定し、コストが最も小さいC個の重み導出モードを選択する。
【1370】
本出願の実施形態は、上記X個のブレンディングパラメータを確定する具体的な方式を限定しない。
【1371】
いくつかの実施形態では、上記X個のブレンディングパラメータは、予め設定されたブレンディングパラメータであり、例えば、1/4、1/2、1、2、4などである。
【1372】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいてX個のブレンディングパラメータが確定される。
【1373】
例えば、カレント成分ブロックのサイズが第3の設定された閾値より小さい場合、少なくとも1つの予め設定されたブレンディングパラメータのうちの、第5の値以上であるブレンディングパラメータがX個のブレンディングパラメータとされる。
【1374】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値以上である場合、少なくとも1つのブレンディングパラメータのうちの、第6の値以下であるブレンディングパラメータがX個のブレンディングパラメータとされる。第6の値は第5の値より小さい。
【1375】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値以上である場合、少なくとも1つのブレンディングパラメータのうちの、第6の値以下であるブレンディングパラメータがX個のブレンディングパラメータとされる。第6の値は第5の値より小さい。
【1376】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値より小さい場合、X個のブレンディングパラメータが、少なくとも1つの予め設定されたブレンディングパラメータのうちの、第5のブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。
【1377】
さらに例えば、カレント成分ブロックのサイズが第3の設定された閾値以上である場合、X個のブレンディングパラメータが、少なくとも1つのブレンディングパラメータのうちの、第6のブレンディングパラメータの数値範囲内にある1つ又は複数のブレンディングパラメータに確定される。第6のブレンディングパラメータの数値範囲の最小値が、第5ブレンディングパラメータの数値範囲の最小値より小さい。
【1378】
いくつかの実施形態では、カレント成分ブロックの画像情報が確定され、カレント成分ブロックの画像情報に基づいて、X個のブレンディングパラメータが確定される。
【1379】
例1では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、Y個の予め設定されたブレンディングパラメータのうちの少なくとも1つの第3タイプのブレンディングパラメータが、X個のブレンディングパラメータとして確定される。YはXより大きい正の整数である。
【1380】
第3タイプのブレンディングパラメータは、比較的広いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、1/4、1/2などが挙げられる。
【1381】
例2では、カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、Y個のブレンディングパラメータのうちの少なくとも1つの第4タイプのブレンディングパラメータが、X個のブレンディングパラメータとして確定される。第4タイプのブレンディングパラメータは、第3タイプのブレンディングパラメータより大きい。
【1382】
第4タイプのブレンディングパラメータは、比較的狭いブレンディング領域が形成されることができるブレンディングパラメータとして理解されることができ、例えば、2、4などが挙げられる。
【1383】
エンコーディング側は、上記ステップに基づいてD個の予測モード、C個の重み導出モード、及びW個のブレンディングパラメータを確定した後、これらD個の予測モード及びC個の重み導出モードに基づいて、R個の異なる第2組合せを構築する。次に、R個の第2組合せに基づいて、候補組合せのリストを確定し、さらに、この候補組合せのリストから、第1の重み導出モード及びK個の第1の予測モードを確定する。
【1384】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、エンコーディング側は、上記確定されたD個の予測モード及びC個の重み導出モードを再びスクリーニングする。この場合、上記S101-E21-2における確定されたC個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築することは、以下のS201-E21-21からS201-E21-24までのステップを含む。
【1385】
S201-E21-21:C個の重み導出モードからC1個の重み導出モードが選択される。C1はC以下の正の整数である。
【1386】
上記S201-E21-21の具体的な実現プロセスについては、上記S101-A11-21の説明を参照することができ、ここでは繰り返さない。
【1387】
エンコーディング側は、上記ステップに基づいて、C個の重み導出モードからC1個の重み導出モードを選択した後、以下のS201-E21-22のステップを実行する。
【1388】
S201-E21-22:D個の予測モードからD1個の予測モードを選択する。D1はD以下の正の整数である。
【1389】
上記S201-E21-22の具体的な実現プロセスについては、上記S101-A11-22の説明を参照することができ、ここでは繰り返さない。
【1390】
上記ステップに基づいて、C個の重み導出モードからC1個の重み導出モードが選択され、D個の予測モードからD1個の予測モードが選択された後、以下のS101-E21-23が実行される。
【1391】
S101-C21-23:C1個の重み導出モードとD1個の予測モードに基づいて、R個の第2組合せを構築する。
【1392】
上記S201-E21-23の具体的な実現プロセスについては、上記S101-A11-23の説明を参照することができ、ここでは繰り返さない。
【1393】
上記方法に基づいて、R個の第2組合せを確定することができ、R個の第2組合せの各々のコストを確定することができる。
【1394】
次に、R個の第2組合せの各々のコストに基づいて、候補組合せのリストを構築する。
【1395】
例えば、第2組合せのコストに基づいて、R個の第2組合せをコストの昇順でソートし、ソートされたR個の第2組合せを候補組合せのリストとして確定する。
【1396】
別の例として、第2組合せのコストに基づいて、R個の第2組合せからコストが最も小さいB個の第2組合せを選択して、候補組合せのリストを構成する。
【1397】
上記方法に基づいて、候補組合せのリストが確定される。当該候補組合せのリスト内の各候補組合せは、コストの昇順でソートされ、例示的に、当該候補組合せのリストは上記表9に示されている。
【1398】
このようにして、エンコーディング側は、構築された候補組合せのリストから第1組合せを確定する。
【1399】
例えば、候補組合せのリストにおけるいずれか1つの候補組合せが、第1組合せとして確定される。
【1400】
さらに例えば、候補組合せのリストにおけるコストが最も小さい候補組合せが、第1組合せとして確定される。
【1401】
上記方法に基づいて第1組合せが確定された後、以下のS202が実行される。
【1402】
本出願の実施形態では、エンコーディング側は、状況1、状況2及び状況3に基づいて第1組合せを確定した後、以下のステップS202を実行する。
【1403】
S202:第1の重み導出モードとK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【1404】
上記S201から分かるように、本出願の実施形態では、第1組合せに含まれるコンテンツが異なる。例えば、状況1では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含むが、ブレンディングパラメータを含まない。状況2では、第1組合せは、第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む。本出願の実施形態では、カレント成分ブロックの予測値を確定する方法は、第1組合せに含まれるコンテンツの違いによって異なる。状況3では、第1組合せは、第1の重み導出モードとK個の第1の予測モードを含み、第1の重み導出モードは第3のブレンディングパラメータを含む。本出願の実施形態では、カレント成分ブロックの予測値を確定する方法は、第1組合せに含まれるコンテンツの違いによって異なる。
【1405】
状況1:第1組合せが第1の重み導出モードとK個の第1の予測モードを含み、且つブレンディングパラメータを含まない場合、上記S202に含まれる計算プロセスは、以下の2つのサブ状況を含む。
【1406】
状況11:第1の重み導出モードに基づいて、カレント成分ブロックの予測値の重みが確定され、K個の第1の予測モードに基づいてカレント成分ブロックが予測されて、カレント成分ブロックのK個の予測値が得られ、カレント成分ブロックの予測値の重みを使用してカレント成分ブロックのK個の予測値が重み付けされ、カレント成分ブロックの予測値が得られる。第1の重み導出モードに基づいてカレント成分ブロックの予測値の重みを導出するプロセスについては、上記実施形態における現在ブロックの予測値の重みを導出するプロセスを参照することができ、ここでは繰り返さない。
【1407】
この状況11では、カレント成分ブロックの予測値の重みを確定する際、重みに対するブレンディングパラメータの影響が考慮されない。
【1408】
いくつかの実施形態では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含み、且つブレンディングパラメータを含まない場合、さらに以下の状況22が含まれる。
【1409】
状況22:第1組合せがブレンディングパラメータを含むが、カレント成分ブロックの予測値を確定する際、ブレンディングパラメータの影響が考慮される。この場合、上記S202は、以下のS202-A1及びS202-A2のステップを含む。
【1410】
S202-A1:第1のブレンディングパラメータを確定する。
【1411】
S202-A2:第1のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【1412】
本出願の実施形態は、上記S202-A2の具体的な実現プロセスを限定しない。例えば、第1の重み導出モード及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して予測値を得、次に、第1のブレンディングパラメータ及びその予測値に基づいて、カレント成分ブロックの予測値を確定する。
【1413】
いくつかの実施形態において、上記S202-A2は以下のステップを含む。
【1414】
S202-A21:第1のブレンディングパラメータ及び第1の重み導出モードに基づいて、予測値の重みを確定する。
【1415】
S202-A22:K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。
【1416】
S202-A23:予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1417】
上記S202-A22とS202-A21との実行順序が特に限定されず、即ち、S202-A22がS202-A21の前に実行されてもよく、S202-A21の後に実行されてもよく、S202-A21と並行して実行されてもよい。
【1418】
この状況1において、第1組合せが第1の重み導出モードとK個の第1の予測モードを含むが、ブレンディングパラメータを含まない場合、第1のブレンディングパラメータを確定し、この第1のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1419】
いくつかの実施形態では、複数の予め設定されたブレンディングパラメータのうちの1つを、第1のブレンディングパラメータに確定する。
【1420】
いくつかの実施形態において、候補ブレンディングパラメータのリストを確定する。当該候補ブレンディングパラメータのリストは、複数の候補ブレンディングパラメータを含む。候補ブレンディングパラメータのリストにおける1つの候補ブレンディングパラメータを、第1のブレンディングパラメータに確定する。
【1421】
いくつかの実施形態では、候補ブレンディングパラメータのリストにおける1つの候補ブレンディングパラメータに対して、候補ブレンディングパラメータに対応するコストを確定し、候補ブレンディングパラメータのリストにおける各候補ブレンディングパラメータに対応するコストに基づいて、候補ブレンディングパラメータのリストから1つの候補ブレンディングパラメータを第1のブレンディングパラメータとして選択する。
【1422】
いくつかの実施形態において、候補ブレンディングパラメータに対応するコストを確定することは、以下の内容を含む。候補ブレンディングパラメータ及び第1の重み導出モードに基づいて第1成分ブロックの重みを確定し、K個の第1の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を得、第1成分ブロックの予測値と再構成値に基づいて、候補ブレンディングパラメータに対応するコストを確定する。
【1423】
いくつかの実施形態において、候補ブレンディングパラメータ及び第1の重み導出モードに基づいて第1成分ブロックの重みを確定することは、以下の内容を含む。第1の重み導出モードに基づいて第1成分ブロックの重みを確定し、候補ブレンディングパラメータを使用して、第1成分ブロックの重みを調整して、第1成分ブロックの重みを得る。
【1424】
いくつかの実施形態では、候補ブレンディングパラメータのリストにおける各候補ブレンディングパラメータに対応するコストに基づいて、候補ブレンディングパラメータのリストから1つの候補ブレンディングパラメータを第1のブレンディングパラメータとして選択することは、候補ブレンディングパラメータのリストにおけるコストが最も小さい候補ブレンディングパラメータを第1のブレンディングパラメータとして確定することを含む。
【1425】
いくつかの実施形態では、上記方法に基づいて、第1のブレンディングパラメータを確定した後、ビットストリームに第2インデックスをシグナリングする。第2インデックスは、第1のブレンディングパラメータを示すために用いられる。それによって、デコーディング側が第1のブレンディングパラメータを迅速に確定することができる。
【1426】
いくつかの実施形態では、エンコーディング側は、以下の方式2に基づいて、第1のブレンディングパラメータを確定することもできる。
【1427】
方式2:以下のS202-A11及びS202-A12のステップにより、第1のブレンディングパラメータを確定する。
【1428】
S202-A11:G個の予備ブレンディングパラメータを確定する。Gは正の整数である。
【1429】
S202-A12:G個の予備ブレンディングパラメータから、第1のブレンディングパラメータを確定する。
【1430】
本出願の実施形態は、エンコーディング側がG個の予備ブレンディングパラメータを確定する具体的な方式を限定しない。
【1431】
可能な実施形態では、上記G個の予備ブレンディングパラメータは予め設定されたものである。即ち、複数の予め設定されたブレンディングパラメータをG個の予備ブレンディングパラメータに確定することが、デコーディング側とエンコーディング側との間で合意される。
【1432】
別の可能な実施形態では、カレント成分ブロックのサイズに基づいてG個の予備ブレンディングパラメータを確定することもできる。
【1433】
例示的に、ブロックサイズは、ブロックの長さ、幅、又はサンプル数によって表されることができる。
【1434】
別の可能な実施形態では、カレント成分ブロックの画像情報を確定し、カレント成分ブロックの画像情報に基づいて、複数の予め設定された予備ブレンディングパラメータからG個の予備ブレンディングパラメータを確定する。
【1435】
例示的に、画像情報が画像エッジの鮮鋭度を含む場合、カレント成分ブロックの画像情報に基づいて、複数の予め設定された予備ブレンディングパラメータからG個の予備ブレンディングパラメータを確定することは、以下の2つの方式を含む。
【1436】
1番目の方式:カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値より小さい場合、複数の予め設定された予備ブレンディングパラメータのうちの少なくとも1つの第1の予備ブレンディングパラメータ(例えば、1/4、1/2など)が、G個の予備ブレンディングパラメータとして確定される。
【1437】
2番目の方式:カレント成分ブロックの画像エッジの鮮鋭度が予め設定された値以上である場合、複数の予め設定された予備ブレンディングパラメータのうちの少なくとも1つの第2の予備ブレンディングパラメータ(例えば、2、4など)が、G個の予備ブレンディングパラメータとして確定される。第2の予備ブレンディングパラメータは第1の予備ブレンディングパラメータより大きい。
【1438】
エンコーディング側はG個の予備ブレンディングパラメータを確定した後、これらG個の予備ブレンディングパラメータから第1のブレンディングパラメータを確定する。
【1439】
本出願の実施形態は、これらG個の予備ブレンディングパラメータから第1のブレンディングパラメータを確定する具体的な方式を限定しない。
【1440】
いくつかの実施形態では、G個の予備ブレンディングパラメータのいずれか1つが、第1のブレンディングパラメータとして確定される。
【1441】
いくつかの実施形態では、以下のS202-A121及びS202-A122のステップによって、G個の予備ブレンディングパラメータから第1のブレンディングパラメータが確定される。
【1442】
S202-A121:G個の予備ブレンディングパラメータのうちのg番目の予備ブレンディングパラメータに対して、g番目の予備ブレンディングパラメータに対応するコストが確定される。gは1~Gの正の整数である。
【1443】
S202-A122:G個の予備ブレンディングパラメータに対応するコストに基づいて、G個の予備ブレンディングパラメータから第1のブレンディングパラメータが確定される。
【1444】
この実施形態では、G個の予備ブレンディングパラメータの各々に対応するコストが確定され、次に、コストに基づいて、これらG個の予備ブレンディングパラメータから第1のブレンディングパラメータが確定される。
【1445】
本出願の実施形態では、G個の予備ブレンディングパラメータの各々に対応するコストを確定する方式が同じある。説明を容易にするために、g番目の予備ブレンディングパラメータを例として説明する。
【1446】
本出願の実施形態は、g番目の予備ブレンディングパラメータに対応するコストを確定する具体的な方式を限定しない。
【1447】
可能な実施形態では、第1の重み導出モード、g番目の予備ブレンディングパラメータ、及びK個の第1の予測モードを1つの組合せとして、この組合せで第1成分ブロックを予測する場合のコストを確定する。例示的に、S202-A121は、以下のステップを含む。
【1448】
S202-A1211:第1の重み導出モードとg番目の予備ブレンディングパラメータに基づいて、カレント成分ブロックに対応する第1成分ブロックの重みを確定する。
【1449】
S202-A1212:K個の第1の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値得る。
【1450】
S202-A1213:第1成分ブロックの重みに基づいて第1成分ブロックのK個の予測値に対して重み付けを行って、第1成分ブロックの予測値を得る。
【1451】
S202-A1214:第1成分ブロックの予測値に基づいて、g番目の予備ブレンディングパラメータに対応するコストを確定する。
【1452】
上記S202-A1211における第1の重み導出モードとg番目の予備ブレンディングパラメータに基づいて、カレント成分ブロックに対応する第1成分ブロックの重みを確定する具体的なプロセスについては、上記実施形態の説明を参照することができる。
【1453】
例えば、第1の重み導出モードと第1成分ブロックに基づいて、第1成分ブロックに対応する第1の重みを確定し、g番目の予備ブレンディングパラメータを使用して第1の重みを調整し、調整された第1の重みを得、調整された第1の重みに基づいて第1成分ブロックの重みを確定する。
【1454】
上記方法を参照して、G個の予備ブレンディングパラメータの各々に対応するコストを確定することができ、次に、コストに基づいて、G個の予備ブレンディングパラメータから第1のブレンディングパラメータを確定することができる。
【1455】
例えば、G個の予備ブレンディングパラメータのうちの、コストが最も小さい予備ブレンディングパラメータを第1ブレンディングパラメータとして確定する。
【1456】
いくつかの実施形態では、カレント成分ブロックのサイズに基づいて、第1のブレンディングパラメータを確定することができる。
【1457】
上記から分かるように、ブレンディングパラメータとブロックサイズとの間に一定の相関性があるため、本出願の実施形態では、カレント成分ブロックのサイズに基づいて第1のブレンディングパラメータを確定することもできる。
【1458】
1つの可能な実施形態では、カレント成分ブロックのサイズに応じて、ある固定のブレンディングパラメータが第1のブレンディングパラメータとして確定される。
【1459】
例えば、カレント成分ブロックのサイズが第1の設定された閾値より小さい場合、第1のブレンディングパラメータが第1の値に確定される。
【1460】
さらに例えば、カレント成分ブロックのサイズが第1の設定された閾値以上である場合、第1のブレンディングパラメータが第2の値に確定される。第2の値は第1の値より小さい。
【1461】
別の可能な実施形態では、カレント成分ブロックのサイズに基づいて、第1のブレンディングパラメータの数値範囲が確定され、第1のブレンディングパラメータがその数値範囲内にある値に確定される。
【1462】
例えば、カレント成分ブロックのサイズが第1の設定された閾値より小さい場合、第1のブレンディングパラメータが第1のブレンディングパラメータの数値範囲内にあると確定される。例えば、第1のブレンディングパラメータは、第1のブレンディングパラメータの数値範囲内の最小ブレンディングパラメータ、又は最大ブレンディングパラメータ、又は中間ブレンディングパラメータなどのいずれか1つのブレンディングパラメータに確定される。また、別の例として、第1のブレンディングパラメータは、第1のブレンディングパラメータの数値範囲内の、コストが最も小さいブレンディングパラメータに確定される。ブレンディングパラメータのコストを確定する方法については、本出願の他の実施形態を参照して説明することができ、ここでは繰り返さない。
【1463】
さらに例えば、カレント成分ブロックのサイズが第1の設定された閾値以上である場合、第1のブレンディングパラメータが第2のブレンディングパラメータの数値範囲内にあると確定される。例えば、第1のブレンディングパラメータは、第2のブレンディングパラメータの数値範囲内の最小ブレンディングパラメータ、又は最大ブレンディングパラメータ、又は中間ブレンディングパラメータなどのいずれか1つのブレンディングパラメータに確定される。また、別の例として、第1のブレンディングパラメータは、第2のブレンディングパラメータの数値範囲内の、コストが最も小さいブレンディングパラメータに確定される。第2のブレンディングパラメータの数値範囲の最小値が、第1のブレンディングパラメータの数値範囲の最小値より小さい。第1のブレンディングパラメータの数値範囲と第2のブレンディングパラメータの数値範囲とは、重なってもよく、重ならなくてもよい。本出願の実施形態では、それについては限定されない。
【1464】
この状況1では、上記ステップにより第1のブレンディングパラメータを確定した後、上記S202-A2のステップを実行し、第1のブレンディングパラメータと第1の重み導出モードに基づいて、予測値の重みを確定する。
【1465】
本出願の実施形態において、第1のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する方式は、少なくとも以下のいくつかの例に示す方式を含む。
【1466】
例1では、第1の重み導出モードを使用して予測値の重みを導出する際、複数の中間変数を確定する必要がある。第1のブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して予測値を導出することができる。
【1467】
例2では、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第2の重みを確定し、第1のブレンディングパラメータを使用して第2の重みを調整し、調整された第2の重みを得、調整された第2の重みに基づいて、予測値の重みを確定する。
【1468】
次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1469】
以上、状況1における、第1組合せが第1の重み導出モードとK個の第1の予測モードを含むがブレンディングパラメータを含まない場合、カレント成分ブロックの予測値を確定するプロセスについて説明した。
【1470】
以下、状況2に対応するカレント成分ブロックの予測値を確定するプロセスについて説明する。
【1471】
状況2では、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む場合、上記S202は、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得ることを含む。
【1472】
本出願の実施形態は、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る具体的な実施形態を限定しない。例えば、第1の重み導出モード及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して予測値を得、次に、第2のブレンディングパラメータ及びその予測値に基づいて、カレント成分ブロックの予測値を確定する。
【1473】
いくつかの実施形態において、以下のS202-B1からS202-B4のステップによって、カレント成分ブロックの予測値を確定することができる。
【1474】
S202-B1:第1の重み導出モードと第2のブレンディングパラメータに基づいて、予測値の重みを確定する。
【1475】
S202-B2:K個の第1の予測モードに基づいて、K個の予測値を確定する。
【1476】
S202-B3:K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。
【1477】
S202-B4:K個の予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1478】
上記S202-B1とS202-B2との実行順序が特に限定されず、即ち、S202-B1がS202-B2の前に実行されてもよく、S202-B2の後に実行されてもよく、S202-B2と並行して実行されてもよい。
【1479】
この状況2において、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む場合、エンコーディング側は、第1のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1480】
本出願の実施形態において、第2のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する方式は、少なくとも以下のいくつかの例に示す方式を含む。
【1481】
例1では、第1の重み導出モードを使用して予測値の重みを導出する際、複数の中間変数を確定する必要がある。第2のブレンディングパラメータを使用して、これら複数の中間変数のうちの1つ又は複数を調整して、調整された変数を使用して予測値を導出することができる。
【1482】
例2では、第1の重み導出モードとカレント成分ブロックに基づいて、カレント成分ブロックに対応する第4の重みを確定し、第2のブレンディングパラメータを使用して第4の重みを調整し、調整された第4の重みを得、調整された第4の重みに基づいて、予測値の重みを確定する。
【1483】
上記方法によって、第2のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。
【1484】
次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1485】
以上、状況2における、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び1つのブレンディングパラメータを含む場合、カレント成分ブロックの予測値を確定するプロセスについて説明した。
【1486】
以下、状況3に対応するカレント成分ブロックの予測値を確定するプロセスについて説明する。
【1487】
状況3では、第1組合せが第1の重み導出モード及びK個の第1の予測モードを含み、且つ第1の重み導出モードが第3のブレンディングパラメータを含む場合、上記S202は、第3のブレンディングパラメータ及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得ることを含む。
【1488】
本出願の実施形態は、第3のブレンディングパラメータ及びK個の第1の予測モードに基づいて、カレント成分ブロックを予測して、カレント成分ブロックの予測値を得る具体的な実施形態を限定しない。例えば、第1の重み導出モードが他のパラメータをさらに含む場合、第1の重み導出モードにおける他のパラメータとK個の第1の予測モードとに基づいてカレント成分ブロックを予測して予測値を得、次に、第3のブレンディングパラメータ及びその予測値に基づいて、カレント成分ブロックの予測値を確定する。
【1489】
いくつかの実施形態において、以下のS202-C1からS202-C4のステップによって、カレント成分ブロックの予測値を確定することができる。
【1490】
S202-C1:第1の重み導出モードに基づいて、予測値の重みを確定する。
【1491】
S202-C2:K個の第1の予測モードに基づいて、K個の予測値を確定する。
【1492】
S202-C3:K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得る。
【1493】
S202-C4:K個の予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1494】
上記S202-C1とS202-C2との実行順序が特に限定されず、即ち、S202-C1がS202-C2の前に実行されてもよく、S202-C2の後に実行されてもよく、S202-C2と並行して実行されてもよい。
【1495】
この状況3では、第1組合せが第1の重み導出モードとK個の第1の予測モードを含む場合、エンコーディング側は第1の重み導出モードに基づいて予測値の重みを確定する。K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1496】
本出願の実施形態において、第1の重み導出モードに基づいて予測値の重みを確定する方式が限定されない。例えば、第1の重み導出モードに基づいて、角度インデックス、距離インデックス、及び第3のブレンディングパラメータを確定し、角度インデックス、距離インデックス、第3のブレンディングパラメータ、及びカレント成分ブロックのサイズに基づいて予測値の重みを確定する。
【1497】
次に、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【1498】
本出願の実施形態において、上記状況1、状況2及び状況3におけるいずれか1つの方式に基づいて、カレント成分ブロックの予測値を確定することができる。
【1499】
次に、エンコーディング側は、カレント成分ブロックの予測値に基づいてビットストリームを得る。
【1500】
具体的に、上記ステップに基づいて、カレント成分ブロックの予測値を確定した後、次に、カレント成分ブロックとカレント成分ブロックの予測値に基づいてカレント成分ブロックの残差値を得、カレント成分ブロックの残差値を変換して変換係数を取得し、変換係数を量子化して量子化係数を取得し、量子化係数をエンコードして、ビットストリームを得る。
【1501】
いくつかの実施形態では、候補組合せのリストは1つの候補組合せを含む。エンコーディング側は、当該候補組合せのリストに含まれるこの1つの候補組合せを第1組合せとして確定することができる。この場合、エンコーディング側は、第1組合せを示すために用いられる第1インデックスをビットストリームにシグナリングすることをスキップする。
【1502】
いくつかの実施形態では、候補組合せのリストは複数の候補組合せを含む。エンコーディング側とデコーディング側との一貫性を維持するために、エンコーディング側では、第1インデックスによってデコーディング側に第1組合せを示す。即ち、エンコーディング側はビットストリームに第1インデックスをシグナリングする。このように、デコーディング側は、ビットストリームをデコードすることによってこの第1インデックスを取得し、この第1インデックスに基づいて、候補組合せのリストから第1組合せを確定し、さらに、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【1503】
いくつかの実施形態では、エンコーディング側は、少なくとも1つのフラグを確定し、当該少なくとも1つのフラグに基づいて、第1組合せを確定するか否かを確定する。
【1504】
選択的に、上記少なくとも1つのフラグは、シーケンスレベルのフラグ、画像レベルのフラグ、スライスレベルのフラグ、ユニットレベルのフラグ、及びブロックレベルのフラグのうちの少なくとも1つを含む。
【1505】
例えば、上記少なくとも1つのフラグは、シーケンスレベルのフラグを含む。当該シーケンスレベルのフラグは、本出願の実施形態に係る組合せに基づいたコーディングの技術案が現在のシーケンスに用いられることが許可されるか否かを、示すために用いられる。
【1506】
いくつかの実施形態では、上記少なくとも1つのフラグがブロックレベルのフラグを含む場合、上記エンコーディング側は、カレント成分ブロックのサイズが予め設定された条件を満たすと確定した場合、ブロックレベルのフラグを確定する。本出願の実施形態は上記予め設定された条件を限定しない。
【1507】
いくつかの実施形態において、第1の技術がカレント成分ブロックのエンコーディングに用いられないと確定した場合、第1組合せを確定する。
【1508】
本出願の実施形態に係るビデオエンコーディング方法に基づいて、エンコーディング側は第1組合せを確定する。第1組合せは第1の重み導出モードとK個の第1の予測モードを含む。第1の重み導出モードとK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。カレント成分ブロックの予測値に基づいて、ビットストリームを得る。本出願では、第1の重み導出モードとK個の第1の予測モードを1つの組合せとし、組合せの形態で第1の重み導出モードとK個の第1の予測モードを示す。このようにして、K個の第1の予測モードと第1の重み導出モードのそれぞれに対応するシンタックスをビットストリームに別々に伝送する必要がなくなり、符号語を節約して、コーディング効率を向上させることができる。また、本出願の実施形態において、カレント成分ブロックが複数の第1成分CUに対応し、且つ複数の第1成分CUの予測モードが完全に同じであるというわけではない場合でも、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードを精確に確定でき、さらに、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを精確に予測することができる。いくつかの実施形態において、本出願の実施形態では、第1のブレンディングパラメータ又は第2のブレンディングパラメータによって予測値の重みを調整し、調整された予測値の重みを使用して予測を行うことにより、予測精度を向上させる。
【1509】
なお、
図16~
図20は本出願の例示にすぎず、本出願を限定するものであると理解されるべきではない。
【1510】
以上、添付図面を参照しながら本出願の好適な実施形態について詳細に説明したが、本出願は上記実施形態の詳細な内容に限定されるものではなく、本出願の技術的思想の範囲内において、本出願の技術案に様々な簡単な変更を加えることが可能であり、それらの簡単な変更はいずれも本出願の保護範囲に属する。例えば、上記具体的な実施形態で述べられた各具体的な技術的特徴は、矛盾のない場合、いかなる適当な手段により組合せてもよく、不要な重複を避けるために、本出願では様々な可能な組合せについて改めて説明しない。また、例えば、本出願の様々な異なる実施形態間において、本出願の思想に反しない限り、いかなる組合せであっても本出願に開示されるものとみなされるべきである。
【1511】
なお、本出願の様々な方法実施形態において、上記各プロセスのシーケンス番号の大きさは、実行順序を意味するものではないことを理解されたい。各プロセスの実行順序は、その機能及び内部論理によって確定されるべきであり、本出願の実施形態の実現プロセスに対するいかなる制限を構成すべきではない。また、本出願の実施形態では、用語「及び/又は」は単に関連対象の関連関係を説明するものであり、3種類の関係が存在することを示す。具体的に、A及び/又はBの場合は、Aのみが存在すること、AとBが同時に存在すること、Bのみが存在することという3つの状況を示す。また、本明細書では、符号「/」は一般的に前後の関連対象が「又は」の関係にあることを示す。
【1512】
以上では、
図16~
図20を参照しながら本出願の方法実施形態を詳細に説明した。以下では、
図21~
図23を参照しながら本出願の装置実施形態を詳細に説明する。
【1513】
図21は、本出願の実施形態に係るビデオデコーディング装置を示すブロック図である。ビデオデコーディング装置10は、上記ビデオデコーダーに適用される。
【1514】
図21に示すように、ビデオデコーディング装置10はデコーディングユニット11及び予測ユニット12を備える。デコーディングユニット11は、ビットストリームをデコードして、第1組合せを確定するように構成されており、第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、Kは1より大きい正の整数である。予測ユニット12は、第1の重み導出モード及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されており、カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む。
【1515】
いくつかの実施形態では、デコーディングユニット11は具体的に、ビットストリームをデコードして、候補組合せのリストを確定するように構成されており、候補組合せのリストは少なくとも1つの候補組合せを含み、少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む。デコーディングユニット11は具体的に、候補組合せのリストに基づいて第1組合せを確定するように構成されている。
【1516】
いくつかの実施形態では、候補組合せのリストは1つの候補組合せを含む。デコーディングユニット11は具体的に、候補組合せのリストに含まれる候補組合せを、第1組合せとして確定するように構成されている。
【1517】
いくつかの実施形態では、候補組合せのリストは複数の候補組合せを含む。デコーディングユニット11は具体的に、ビットストリームをデコードして、第1インデックスを取得するように構成されており、第1インデックスは第1組合せを示すために用いられる。デコーディングユニット11は具体的に、候補組合せのリスト内の第1インデックスに対応する候補組合せを、第1組合せとして確定するように構成されている。
【1518】
いくつかの実施形態では、デコーディングユニット11は具体的に、ビットストリームをデコードして、カレント成分ブロックに対応する第1成分ブロックを確定し、第1成分ブロックに基づいて候補組合せのリストを構築するように構成されている。
【1519】
いくつかの実施形態では、第1成分ブロックは、現在の画像内の、カレント成分ブロックと同じ空間内にある輝度ブロックである。
【1520】
いくつかの実施形態では、デコーディングユニット11は具体的に、R個の第2組合せを確定するように構成されており、R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、Rは1より大きい正の整数である。デコーディングユニット11は具体的に、R個の第2組合せのうちのいずれか1つに対して、第2組合せを使用して第1成分ブロックを予測する場合の、第2組合せに対応するコストを確定し、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築するように構成されている。
【1521】
いくつかの実施形態では、デコーディングユニット11は具体的に、第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定し、第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得、第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定するように構成されている。
【1522】
いくつかの実施形態では、デコーディングユニット11は具体的に、第2組合せにおける重み導出モードに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定し、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定し、第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定するように構成されている。
【1523】
いくつかの実施形態では、デコーディングユニット11は具体的に、第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、第2組合せに対応するコストとして確定するように構成されている。
【1524】
いくつかの実施形態では、デコーディングユニット11は具体的に、P個の重み導出モードとQ個の予測モードを確定するように構成されており、Pは正の整数であり、QはK以上の正の整数である。デコーディングユニット11は具体的に、P個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築するように構成されており、R個の第2組合せのうちのいずれか1つは、P個の重み導出モードのうちの1つの重み導出モードとQ個の予測モードのうちのK個の予測モードとを含む。
【1525】
いくつかの実施形態では、デコーディングユニット11は具体的に、カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定するように構成されており、候補予測モードのリストは複数の候補予測モードを含み、K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む。デコーディングユニット11は具体的に、候補予測モードのリスト、K個の予測モードの各々に対応する予備予測モードのリスト、及び重み導出モードに対応する予測モード、のうちの少なくとも1つに基づいて、Q個の予測モードを確定するように構成されている。
【1526】
いくつかの実施形態では、デコーディングユニット11は具体的に、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つを確定するように構成されており、第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、第3の予測モードは、カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロックに使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。デコーディングユニット11は具体的に、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストを確定するように構成されている。
【1527】
いくつかの実施形態では、デコーディングユニット11は具体的に、第1成分ブロックのテクスチャ方向を確定し、テクスチャ方向に基づいて第5の予測モードを確定するように構成されている。
【1528】
いくつかの実施形態では、デコーディングユニット11は具体的に、テクスチャ方向に平行な予測方向を有する予測モードを、第5の予測モードとして確定し、及び/又は、テクスチャ方向に対して垂直な予測方向を有する予測モードを、第5の予測モードとして確定するように構成されている。
【1529】
いくつかの実施形態では、デコーディングユニット11は具体的に、テクスチャサンプル選択の予め設定された方式に基づいて、第1成分ブロックから複数のテクスチャサンプルを選択し、複数のテクスチャサンプルの各々に対応するテクスチャ方向を確定し、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数を、第1成分ブロックのテクスチャ方向として確定するように構成されている。
【1530】
いくつかの実施形態では、デコーディングユニット11は具体的に、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向を、第1成分ブロックのテクスチャ方向として確定するように構成されている。
【1531】
いくつかの実施形態では、デコーディングユニット11は具体的に、M個の予め設定された重み導出モードからP個の重み導出モードを選択するように構成されており、MはP以上の正の整数である。
【1532】
いくつかの実施形態では、予測ユニット12は具体的に、第1のブレンディングパラメータを確定し、第1のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されている。
【1533】
いくつかの実施形態では、予測ユニット12は具体的に、第1のブレンディングパラメータ及び第1の重み導出モードに基づいて、予測値の重みを確定し、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得るように構成されている。
【1534】
いくつかの実施形態では、第1組合せは第2のブレンディングパラメータを含む。予測ユニット12は具体的に、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されている。
【1535】
いくつかの実施形態では、予測ユニット12は具体的に、第2のブレンディングパラメータ及び第1の重み導出モードに基づいて、予測値の重みを確定し、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得るように構成されている。
【1536】
いくつかの実施形態では、第1の重み導出モードは第3のブレンディングパラメータを含む。予測ユニット12は具体的に、第3のブレンディングパラメータ、及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されている。
【1537】
いくつかの実施形態では、予測ユニット12は具体的に、第3のブレンディングパラメータに基づいて、予測値の重みを確定し、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得るように構成されている。
【1538】
いくつかの実施形態では、デコーディングユニット11はさらに、ビットストリームをデコードして、少なくとも1つのフラグを取得するように構成されており、少なくとも1つのフラグは、カレント成分ブロックをデコードするために第1組合せを使用するか否かを示すために用いられる。デコーディングユニット11はさらに、少なくとも1つのフラグが、カレント成分ブロックをデコードするために第1組合せを使用することを示す場合、ビットストリームをデコードして第1組合せを確定するように構成されている。
【1539】
いくつかの実施形態では、少なくとも1つのフラグは、シーケンスレベルのフラグ、画像レベルのフラグ、スライスレベルのフラグ、ユニットレベルのフラグ、及びブロックレベルのフラグのうちの少なくとも1つを含む。
【1540】
なお、装置実施形態と方法実施形態は互いに対応することができ、装置実施形態の類似の説明については、方法実施形態を参照することができる。重複を避けるため、ここではその説明を省略する。具体的に、
図21に示される装置10は、本出願の実施形態におけるデコーディング側のデコーディング方法を実行することができる。また、装置10における各ユニットの上記及び他の操作及び/又は機能は上記デコーディング側のデコーディング方法などの各々における対応のプロセスを実現するために用いられる。簡潔のため、ここでの説明を省略する。
【1541】
図22は、本出願の実施形態に係るビデオエンコーディング装置を示すブロック図である。このビデオエンコーディング装置は、上記エンコーダーに適用される。
【1542】
図22に示すように、ビデオエンコーディング装置20は、確定ユニット21及び予測ユニット22を備えることができる。確定ユニット21は、第1組合せを確定するように構成されており、第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、Kは1より大きい正の整数である。予測ユニット22は、第1の重み導出モード及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されており、カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む。
【1543】
いくつかの実施形態では、確定ユニット21は具体的に、候補組合せのリストを確定するように構成されており、候補組合せのリストは少なくとも1つの候補組合せを含み、少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む。確定ユニット21は具体的に、候補組合せのリストに基づいて第1組合せを確定するように構成されている。
【1544】
いくつかの実施形態では、予測ユニット22はさらに、候補組合せのリストが1つの候補組合せを含む場合、ビットストリームに第1インデックスをシグナリングすることをスキップするように構成されており、第1インデックスは第1組合せを示すために用いられる。
【1545】
いくつかの実施形態では、予測ユニット22はさらに、候補組合せのリストが複数の候補組合せを含む場合、ビットストリームに第1インデックスをシグナリングするように構成されており、第1インデックスは第1組合せを示すために用いられる。
【1546】
いくつかの実施形態では、確定ユニット21は具体的に、カレント成分ブロックに対応する第1成分ブロックを確定し、第1成分ブロックに基づいて候補組合せのリストを構築するように構成されている。
【1547】
いくつかの実施形態では、第1成分ブロックは、現在の画像内の、カレント成分ブロックと同じ空間内にある輝度ブロックである。
【1548】
いくつかの実施形態では、確定ユニット21は具体的に、R個の第2組合せを確定するように構成されており、R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、Rは1より大きい正の整数である。確定ユニット21は具体的に、R個の第2組合せのうちのいずれか1つに対して、第2組合せを使用して第1成分ブロックを予測する場合の、第2組合せに対応するコストを確定し、R個の第2組合せの各々に対応するコストに基づいて、候補組合せのリストを構築するように構成されている。
【1549】
いくつかの実施形態では、確定ユニット21は具体的に、第2組合せに含まれる重み導出モードに基づいて、第1成分ブロックの重みを確定し、第2組合せにおけるK個の予測モードに基づいて第1成分ブロックを予測して、第1成分ブロックのK個の予測値を得、第1成分ブロックの重みに基づいて、第1成分ブロックのK個の予測値に対して重み付けを行って、第2組合せに対応する第1成分ブロックの予測値を得、第2組合せに対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せに対応するコストを確定するように構成されている。
【1550】
いくつかの実施形態では、確定ユニット21は具体的に、第2組合せにおける重み導出モードに基づいて、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定し、第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び第1成分ブロックの再構成値に基づいて、第2組合せにおけるK個の予測モードの各々に対応するコストを確定し、第2組合せにおけるK個の予測モードの各々に対応するコストに基づいて、第2組合せに対応するコストを確定するように構成されている。
【1551】
いくつかの実施形態では、確定ユニット21は具体的に、第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、第2組合せに対応するコストとして確定するように構成されている。
【1552】
いくつかの実施形態では、確定ユニット21は具体的に、P個の重み導出モードとQ個の予測モードを確定するように構成されており、Pは正の整数であり、QはK以上の正の整数である。確定ユニット21は具体的に、P個の重み導出モードとQ個の予測モードに基づいて、R個の第2組合せを構築するように構成されており、R個の第2組合せのうちのいずれか1つは、P個の重み導出モードのうちの1つの重み導出モードとQ個の予測モードのうちのK個の予測モードとを含む。
【1553】
いくつかの実施形態では、確定ユニット21は具体的に、カレント成分ブロックの候補予測モードのリスト、K個の第1の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定するように構成されており、候補予測モードのリストは複数の候補予測モードを含み、K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む。確定ユニット21は具体的に、候補予測モードのリスト、K個の予測モードの各々に対応する予備予測モードのリスト、及び重み導出モードに対応する予測モード、のうちの少なくとも1つに基づいて、Q個の予測モードを確定するように構成されている。
【1554】
いくつかの実施形態では、確定ユニット21は具体的に、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つを確定するように構成されており、第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、第3の予測モードは、カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、第4の予測モードは、カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロックに使用され、第5の予測モードはカレント成分ブロックに対応する第1成分ブロックに関連する。確定ユニット21は具体的に、第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つに基づいて、カレント成分ブロックの候補予測モードのリストを確定するように構成されている。
【1555】
いくつかの実施形態では、確定ユニット21は具体的に、第1成分ブロックのテクスチャ方向を確定し、テクスチャ方向に基づいて第5の予測モードを確定するように構成されている。
【1556】
いくつかの実施形態では、確定ユニット21は具体的に、テクスチャ方向の角度に平行な予測モードを、第5の予測モードとして確定し、及び/又は、テクスチャ方向の角度に対して垂直な予測モードを、第5の予測モードとして確定するように構成されている。
【1557】
いくつかの実施形態では、確定ユニット21は具体的に、テクスチャサンプル選択の予め設定された方式に基づいて、第1成分ブロックから複数のテクスチャサンプルを選択し、複数のテクスチャサンプルの各々に対応するテクスチャ方向を確定し、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの1つ又は複数を、第1成分ブロックのテクスチャ方向として確定するように構成されている。
【1558】
いくつかの実施形態では、確定ユニット21は具体的に、複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向を、第1成分ブロックのテクスチャ方向として確定するように構成されている。
【1559】
いくつかの実施形態では、確定ユニット21は具体的に、M個の予め設定された重み導出モードからP個の重み導出モードを選択するように構成されており、MはP以上の正の整数である。
【1560】
いくつかの実施形態では、確定ユニット21は具体的に、第1のブレンディングパラメータを確定し、第1のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されている。
【1561】
いくつかの実施形態では、確定ユニット21は具体的に、第1のブレンディングパラメータ及び第1の重み導出モードに基づいて、予測値の重みを確定し、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得るように構成されている。
【1562】
いくつかの実施形態では、第1組合せは第2のブレンディングパラメータを含む。確定ユニット21は具体的に、第2のブレンディングパラメータ、第1の重み導出モード、及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されている。
【1563】
いくつかの実施形態では、確定ユニット21は具体的に、第2のブレンディングパラメータ及び第1の重み導出モードに基づいて、予測値の重みを確定し、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得るように構成されている。
【1564】
いくつかの実施形態では、第1の重み導出モードは第3のブレンディングパラメータを含む。いくつかの実施形態では、確定ユニット21は具体的に、第3のブレンディングパラメータ、及びK個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックの予測値を得るように構成されている。
【1565】
いくつかの実施形態では、確定ユニット21は具体的に、第3のブレンディングパラメータに基づいて、予測値の重みを確定し、K個の第1の予測モードに基づいてカレント成分ブロックを予測して、K個の予測値を得、予測値の重みに基づいてK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得るように構成されている。
【1566】
いくつかの実施形態では、確定ユニット21はさらに、少なくとも1つのフラグを確定するように構成されており、少なくとも1つのフラグは、カレント成分ブロックをデコードするために第1組合せを使用するか否かを示すために用いられる。確定ユニット21はさらに、少なくとも1つのフラグが、カレント成分ブロックをデコードするために第1組合せを使用することを示す場合、第1組合せを確定するように構成されている。
【1567】
いくつかの実施形態では、少なくとも1つのフラグは、シーケンスレベルのフラグ、画像レベルのフラグ、スライスレベルのフラグ、ユニットレベルのフラグ、及びブロックレベルのフラグのうちの少なくとも1つを含む。
【1568】
なお、装置実施形態と方法実施形態は互いに対応することができ、装置実施形態の類似の説明については、方法実施形態を参照することができる。重複を避けるため、ここではその説明を省略する。具体的に、
図22に示される装置20は、本出願の実施形態におけるエンコーディング側のエンコーディング方法を実行する主体に対応することができる。また、装置20における各ユニットの上記及び他の操作及び/又は機能は上記エンコーディング側のエンコーディング方法などの各々における対応のプロセスを実現するために用いられる。簡潔のため、ここでの説明を省略する。
【1569】
以上、図面を参照しながら、本出願の実施形態の装置及びシステムについて機能ユニットの角度から説明した。当該機能ユニットは、ハードウェア形態によって実現されてもよく、ソフトウェア形態の命令によって実現されてもよく、ハードウェアとソフトウェアユニットの組合せによって実現されてもよい。具体的に、本出願の実施形態における方法実施形態の各ステップは、プロセッサにおけるハードウェアの集積論理回路(integrated logic circuit)又はソフトウェア形態の命令によって完成されることができる。本出願の実施形態に開示された方法のステップは、直接にハードウェア復号化プロセッサによって実行且つ完成されることができ、又は復号化プロセッサにおけるハードウェアとソフトウェアモジュールの組合せによって実行且つ完成されることができる。選択的に、ソフトウェアユニットは、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラム可能な読み取り専用メモリ、電気的に消去可能なプログラム可能なメモリ、レジスタなど本技術分野におけるマチュアな記憶媒体に位置することができる。記憶媒体はメモリに位置する。プロセッサは、メモリにおける情報を読み取り、プロセッサのハードウェアとともに上記方法実施形態のステップを完成する。
【1570】
図23は、本出願の実施形態に係る電子デバイスを示すブロック図である。
【1571】
図23に示されるように、当該電子デバイス30は、本出願の実施形態に記載のビデオエンコーダーであってもよく、又は、ビデオデコーダーであってもよい。当該電子デバイス30は、メモリ33及びプロセッサ32を備えることができる。当該メモリ33は、コンピュータプログラム34を記憶し、且つ当該コンピュータプログラム34を当該プロセッサ32に伝送するために用いられる。換言すれば、当該プロセッサ32は、メモリ33からコンピュータプログラム34を呼び出して実行することにより、本出願の実施形態における方法を実現することができる。
【1572】
例えば、当該プロセッサ32は、当該コンピュータプログラム34における命令に基づいて、上記方法200のステップを実行するために用いられることができる。
【1573】
本出願のいくつかの実施形態において、当該プロセッサ32は、汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、確定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラム可能なゲートアレイ(field programmable gate array、FPGA)又は他のプログラム可能なロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどを含むことができるが、それらに限定されない。
【1574】
本出願のいくつかの実施形態において、当該メモリ33は、揮発性メモリ及び/又は不揮発性メモリを含むが、それらに限定されない。不揮発性メモリは、読み取り専用メモリ(read only memory、ROM)、プログラム可能な読み取り専用メモリ(programmable ROM、PROM)、消去可能なプログラム可能な読み取り専用メモリ(erasable PROM、EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(electrically EPROM、EEPROM)、又はフラッシュメモリ(flash memory)であることができる。揮発性メモリは、外部高速キャッシュとして機能するランダムアクセスメモリ(random access memory、RAM)であることができる。例示的であるが限定的ではない例として、様々なRAMが利用可能であり、例えば、スタティックランダムアクセスメモリ(static RAM、SRAM)、ダイナミックランダムアクセスメモリ(dynamic RAM、DRAM)、同期ダイナミックランダムアクセスメモリ(synchronous DRAM、SDRAM)、ダブルデータレート同期ダイナミックランダムアクセスメモリ(double data rate SDRAM、DDRSDRAM)、強化された同期ダイナミックランダムアクセスメモリ(enhanced SDRAM、ESDRAM)、同期リンクダイナミックランダムアクセスメモリ(synch-link DRAM、SLDRAM)、ダイレクトランバスランダムアクセスメモリ(dierct rambus RAM、DRRAM)が挙げられる。
【1575】
本出願のいくつかの実施形態において、当該コンピュータプログラム34は、1つ又は複数のユニットに分割されることができ、当該1つ又は複数のユニットは当該メモリ33に記憶されており、当該プロセッサ32によって実行されることにより、本出願に係る方法を完成する。当該1つ又は複数のユニットは、特定の機能を果たすことが可能な一連のコンピュータプログラム命令セグメントであってもよく、当該命令セグメントは、当該電子デバイス30における当該コンピュータプログラム34の実行プロセスを記述するために用いられる。
【1576】
図23に示されるように、当該電子デバイス30は、トランシーバー33をさらに備えることができる。当該トランシーバー33は、当該プロセッサ32又はメモリ33に接続可能である。
【1577】
プロセッサ32は、当該トランシーバー33が他のデバイスと通信するように制御することができる。具体的に、トランシーバー33は、他のデバイスに情報やデータを送信することができ、又は他のデバイスによって送信された情報やデータを受信することができる。トランシーバー33は送信機及び受信機を含むことができる。トランシーバー33は、アンテナをさらに含むことができる。アンテナの数は1つ又は複数であることができる。
【1578】
なお、電子デバイス30における各コンポーネントはバスシステムを介して接続される。バスシステムはデータバス以外に、電力バス、制御バス及びステータス信号バスをさらに含む。
【1579】
図24は、本出願の実施形態に係るビデオコーディングシステムを示すブロック図である。
【1580】
図24に示されるように、当該ビデオコーディングシステム40は、ビデオエンコーダー41及びビデオデコーダー42を含むことができる。ビデオエンコーダー41は、本出願の実施形態に係るビデオエンコーディング方法を実行するために用いられ、ビデオデコーダー42は、本出願の実施形態に係るビデオデコーディング方法を実行するために用いられる。
【1581】
本出願はコンピュータ記憶媒体をさらに提供する。コンピュータ可読記憶媒体にコンピュータプログラムが記憶されている。当該コンピュータプログラムは、コンピュータによって実行される場合、当該コンピュータに上記方法実施形態の方法を実行させる、ことを可能にする。又は、本出願の実施形態は、命令を含むコンピュータプログラム製品をさらに提供する。当該命令は、コンピュータによって実行される場合、コンピュータに上記方法実施形態の方法を実行させる。
【1582】
本出願はビットストリームをさらに提供する。当該ビットストリームは、上記エンコーディング方法に基づいて生成される。
【1583】
ソフトウェアによって実現される場合、上記実施形態の全部又は一部は、コンピュータプログラム製品の形式で実現されることができる。当該コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータでロードされ且つ実行されるとき、本出願の実施形態のプロセス又は機能の全部又は一部が生成される。当該コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク又は他のプログラム可能な装置であることができる。当該コンピュータ命令は、コンピュータ可読記憶媒体に記憶され、又は1つのコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されることができる。例えば、当該コンピュータ命令は、1つのウェブサイト、コンピュータ、サーバ又はデータセンターから有線(例えば、同軸ケーブル、光ファイバー、デジタル加入者線(digital subscriber line、DSL)など)又は無線(例えば、赤外線、無線、マイクロ波など)で別のウェブサイト、コンピュータ、サーバ又はデータセンターに伝送されることができる。当該コンピュータ可読記憶媒体は、コンピュータがアクセスできる任意の利用可能な媒体であることができ、又はサーバ、データセンターなどのような1つ又は複数の利用可能な媒体が統合されたデータ記憶装置であることができる。利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク又は磁気テープ)、光学媒体(例えば、デジタルビデオディスク(digital versatile disc、DVD))、又は半導体媒体(例えば、ソリッドステートディスク(solid state disk、SSD))などであることができる。
【1584】
本出願に開示された実施形態に記載される各例示的なユニット及びアルゴリズム操作と結びつけて、本出願が電子ハードウェア、又はコンピュータソフトウェアと電子ハードウェアとの組合せにより実現され得ることは、当業者が意識することができる。これらの機能が、ハードウェアにより実行されるかソフトウェアにより実行されるかについては、技術案の特定応用や設計の制限条件などによって決められる。当業者は、特定応用ごとに異なる方法を使用して記載される機能を実現できるが、これらの実現は、本出願の範囲を超えると見なされるべきではない。
【1585】
本出願に係るいくつかの実施形態において、開示されるシステム、装置、方法は、他の形態により実現され得ると理解されるべきである。例えば、上記装置実施形態は、例示的なものに過ぎない。例えば、ユニットの分割はロジック機能の分割に過ぎず、実際に実現される場合、別の分割形態を有してもよい。例えば、複数のユニット又はコンポーネントを組合せ、又は別のシステムに集積させ、又はその若干の特徴を無視し、又は実行しなくてもよい。さらに、示される又は検討される相互間の結合や直接結合や通信接続は、いくつかのインタフェース、装置、又はユニットによる間接結合や通信接続であってもよく、電気、機械又は他の形態であってもよい。
【1586】
分離コンポーネントとして説明されたユニットは、物理的に分離してもよく、分離しなくてもよい。ユニットとして表示されるコンポーネントは、物理的なユニットであってもよく、物理的なユニットではなくてもよい。即ち、1つの場所に位置してもよく、複数のネットワークユニットに配置されてもよい。実際のニーズに応じて一部又は全部のユニットを選択して本実施形態の技術案の目的を実現することができる。例えば、本出願の各実施形態に係る各機能ユニットは、1つの処理ユニットに集積されてもよく、各ユニットは単独に物理的に存在してもよく、2つ以上のユニットは1つのユニットに集積されてもよい。
【1587】
上記内容は、ただ本出願の具体的な実施形態であり、本出願の保護範囲はそれに限定されない。当業者が本出願に開示された技術範囲内で容易に想到し得る変更又は置換はすべて本出願の保護範囲内に含まれるべきである。従って、本出願の保護範囲は特許請求の保護範囲に準じるべきである。
【手続補正書】
【提出日】2025-06-04
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0135
【補正方法】変更
【補正の内容】
【0135】
さらに、同一空間内の異なる成分間には強い相関性があるため、ビデオコーディング技術では、この相関性を利用して圧縮効率を向上させることができる。いくつかの場合では、同一空間において、まず第1成分をコードし、次に第2成分及び第3成分をコードすることで、第1成分のいくつかの情報が第2成分及び第3成に用いられることができる。典型的な例は、クロス成分線形モデル(cross-component linear model、CCLM)予測である。同じCUにおいて、彩度成分のサンプルは、輝度成分の再構成サンプルを用いて予測されることができる。具体的に、次の式に示す通りである。
は、位置(i,j)にある彩度サンプルの予測値を表し、
は、位置(i,j)にあるダウンサンプリングされた
輝度サンプルの再構成値を表す。CCLMのパラメータ(αとβ)は、現在のCUの隣接のダウンサンプリングされた輝度サンプルと彩度サンプルに基づいて導出される。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0188
【補正方法】変更
【補正の内容】
【0188】
例えば、第1インデックスはインデックス1であり、表5に示す候補組合せのリストにおいて、インデックス1に対応する候補組合せは候補組合せ2であり、即ち、第1インデックススによって示される第1組合せは候補組合せ2である。このように、デコーディング側は、候補組合せ2に含まれる重み導出モード及びK個の予測モードを、第1組合せに含まれる第1の重み導出モード及びK個の第1の予測モードとして確定し、当該第1の重み導出モード及びK個の第1の予測モードを使用してカレント成分ブロックを予測して、カレント成分ブロックの予測値を得る。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0204
【補正方法】変更
【補正の内容】
【0204】
いくつかの実施形態では、デコーディング側は、以下のS101-A1及びS101-A2のステップによって、候補組合せのリストを構築する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0293
【補正方法】変更
【補正の内容】
【0293】
いくつかの実施形態において、方式6では、カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つは、カレント成分ブロックの上側及び/又は左側のデコードされた領域に対応する第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つを含む。例えば、
図18に示すように、ブロック0~ブロック5に使用される予測モードが
第3の予測モードとして選択され、及び/又は、ブロック2からブロック3の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが
第3の予測モードとして選択され、及び/又は、ブロック1からブロック5の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが
第3の予測モードとして選択される。一例では、本実施形態における第1成分ブロックは輝度CUであってもよく、第2成分ブロック及び/又は第3成分ブロックは彩度CUであってもよい。この場合、カレント成分ブロックに隣接する且つデコードされた輝度CU及び/又は彩度CUに使用される予測モードが
第3の予測モードとして確定される。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0360
【補正方法】変更
【補正の内容】
【0360】
S101-A21-21:P個の重み導出モードからS個の重み導出モードが選択される。SはP以下の正の整数である。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0362
【補正方法】変更
【補正の内容】
【0362】
上記S101-A21-21におけるP個の重み導出モードからS個の重み導出モードを選択する方式は、以下のいくつかの方式を含むが、これらに限定されない。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0382
【補正方法】変更
【補正の内容】
【0382】
この2番目の方式では、i番目の重み導出モードに対応するコストが第3の予め設定された値より大きい場合、当該i番目の重み導出モードを使用してカレント成分ブロックを予測する際に優れた予測効果が得られない可能性があることが示される。この場合、当該i番目の重み導出モードがP個の重み導出モードから除去される。さらに、i番目の重み導出モードに類似する重み導出モードが、当該i番目の重み導出モードに類似する特性を有するため、i番目の重み導出モードに類似する重み導出モードもP個の重み導出モードから除去され、除去後の重み導出モードの集合が得られる。次に、除去後の重み導出モードの集合から1つの重み導出モードが選択されて、新たなi番目の重み導出モードとされ、上記ステップを繰り返すことにより、最終的に得られた重み導出モードの集合に含まれる重み導出モードがS個の重み導出モードとして確定される。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0389
【補正方法】変更
【補正の内容】
【0389】
本出願の実施形態では、1つの重み導出モードとK個の予測モードを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モードと与えられるK-1個の予測モードに基づいて、Q個の予測モードのコストを計算する。即ち、Q個の予測モードの各々と与えられる重み導出モード及びK-1個の予測モードとを組合せてQ個の組合せを得、これらQ個の組合せの各々に対応するコストを計算し、さらに、Q個の予測モードのコストを得る。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0424
【補正方法】変更
【補正の内容】
【0424】
第1成分ブロックの重み導出プロセスの入力は、第1成分ブロックの幅nCbW、第1成分ブロックの高さnCbH、GPMの「分割」角度インデックス変数angleId、GPMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。ここで、第1成分ブロックの重みが確定される。cIdxが0であることは輝度成分を示す。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0508
【補正方法】変更
【補正の内容】
【0508】
方式2:S101-C22は、以下のS101-C22-21からS101-C22-23を含む。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0521
【補正方法】変更
【補正の内容】
【0521】
K=2であると仮定し、上記K個の予測モードは1番目の予測モードと2番目の予測モードを含む。利用可能なすべての予測モードがJ種あると仮定し、1番目の予測モードにはJ種の可能性があり、2番目の予測モードと1番目の予測モードとが異なるため、2番目の予測モードにはJ-1種の可能性がある。重み導出モードがF種あり、ブレンディングパラメータがW種あると仮定すると、本出願では、いずれか2つの異なる予測モード、いずれか1つの重み導出モード、及びいずれか1つのブレンディングパラメータを使用して1つの第2組合せを構築することができ、合計でF*J*(J-1)*W種の可能な第2組合せがある。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0544
【補正方法】変更
【補正の内容】
【0544】
以下、S101-C21-1におけるW個のブレンディングパラメータを確定するプロセスを紹介する。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0563
【補正方法】変更
【補正の内容】
【0563】
方式1:F個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードと第4のブレンディングパラメータに基づいて、第1成分ブロックでのK個の第2の予測モードの重みが確定される。第4のブレンディングパラメータはW個のブレンディングパラメータのうちいずれか1つのブレンディングパラメータである。K個の第2の予測モードはJ個の予測モードのうちの任意のK個の予測モードであり、iは1からFまでの正の整数である。第1成分ブロックでのK個の予測モードのいずれか1つの予測モードの重みが第1の予め設定された値より小さい場合、F個の重み導出モードからi番目の重み導出モードが除去され、E個の重み導出モードが得られる。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0581
【補正方法】変更
【補正の内容】
【0581】
本出願の実施形態では、重み導出モード、K個の予測モード及びブレンディングパラメータを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モード、与えられるK-1個の予測モード及び与えられるブレンディングパラメータに基づいて、J個の予測モードのコストを計算する。即ち、J個の予測モードの各々と与えられる重み導出モード、K-1個の予測モード及びブレンディングパラメータとを組合せてJ個の組合せを得、これらJ個の組合せの各々に対応するコストを計算し、さらに、J個の予測モードのコストを得る。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0616
【補正方法】変更
【補正の内容】
【0616】
具体的に、K=2であると仮定し、F個の重み導出モードのうちのf番目の重み導出モード、及びO個のブレンディングパラメータのうちのo番目のブレンディングパラメータに対して、2番目の予測モードが予測モード1に設定されると仮定すると、当該予測モード1は、J個の予測モードのうちの1つの予測モードであってもよく、J個の予測モード以外の他の予測モードであってもよい。J個の予測モードから1番目の予測モードの可能な選択肢を確定する。具体的に、J個の予測モードのうちのj番目の予測モードを1番目の予測モードとする。この場合、f番目の重み導出モードと、o番目のブレンディングパラメータと、j番目の予測モードと、予測モード1とからなる組合せjで第1成分ブロックを予測する場合の第1成分ブロックの予測値が確定され、その予測値に基づいて、組合せjに対応するコストが確定される。組合せjに対応するコストが、j番目の予測モードに対応するコストに確定される。次に、当該j番目の予測モードに対応するコストが第6の予め設定された値より大きいか否かが判断される。j番目の予測モードに対応するコストが第6の予め設定された値より大きい場合、当該j番目の予測モードと、f番目の重み導出モードと、o番目のブレンディングパラメータと、予測モード1とからなる組合せを使用して第1成分ブロックを精確に予測できないことが示される。この場合、j番目の予測モードがJ個の予測モードから除去される。j番目の予測モードに類似する予測モードが、当該j番目の予測モードに類似する特性を有するため、j番目の予測モードに類似する予測モードがJ個の予測モードから除去され、除去後の予測モードの集合が得られる。除去後の予測モードの集合から、1つの予測モードが選択されて、新たなj番目の予測モードとされ、上記ステップを繰り返すことにより、f番目の重み導出モードとo番目のブレンディングパラメータに対応する除去後の最終的な予測モードの集合が得られる。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0628
【補正方法】変更
【補正の内容】
【0628】
上記ステップ2における角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0638
【補正方法】変更
【補正の内容】
【0638】
第1成分ブロックの重みの導出プロセスの入力は、第1成分ブロックの幅nCbW、第1成分ブロックの高さnCbH、GPMの「分割」角度インデックス変数angleId、GPMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。ここで、第1成分ブロックを例とするため、cIdxが0であることは輝度成分を示す。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0702
【補正方法】変更
【補正の内容】
【0702】
方式2:S101-E22は、以下のS101-E22-21からS101-E22-23を含む。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0715
【補正方法】変更
【補正の内容】
【0715】
K=2であると仮定し、上記K個の予測モードは1番目の予測モードと2番目の予測モードを含む。利用可能なすべての予測モードがD種あると仮定し、1番目の予測モードにはD種の可能性があり、2番目の予測モードと1番目の予測モードとが異なるため、2番目の予測モードにはD-1種の可能性がある。重み導出モードがC種あると仮定すると、本出願では、いずれか2つの異なる予測モード、いずれか1つの重み導出モード、及びいずれか1つのブレンディングパラメータを使用して1つの第2組合せを構築することができ、合計でC*D*(D-1)種の可能な第2組合せがある。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0753
【補正方法】変更
【補正の内容】
【0753】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、デコーディング側は、上記確定されたD個の予測モード及びC個の重み導出モードを再びスクリーニングする。この場合、上記S101-E21-2における確定されたC個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築することは、以下のS101-E21-21からS101-E21-23までのステップを含む。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0760
【補正方法】変更
【補正の内容】
【0760】
S101-E21-23:C1個の重み導出モードとD1個の予測モードに基づいて、R個の第2組合せを構築する。
【手続補正22】
【補正対象書類名】明細書
【補正対象項目名】0768
【補正方法】変更
【補正の内容】
【0768】
上記ステップ4における角度インデックス、距離インデックス、ブレンディングパラメータ、及び第1成分ブロックのサイズに基づいて、第1成分ブロックの重みを確定する方式は以下のいくつかの方式を含むが、それらに限定されない。
【手続補正23】
【補正対象書類名】明細書
【補正対象項目名】0777
【補正方法】変更
【補正の内容】
【0777】
第1成分ブロックの重みの導出プロセスの入力は、第1成分ブロックの幅nCbW、第1成分ブロックの高さnCbH、GPMの「分割」角度インデックス変数angleId、GPMの距離インデックス変数distanceIdx、成分インデックス変数cIdxを含む。ここで、第1成分ブロックを例とするため、cIdxが0であることは輝度成分を示す。
【手続補正24】
【補正対象書類名】明細書
【補正対象項目名】0804
【補正方法】変更
【補正の内容】
【0804】
状況22:第1組合せがブレンディングパラメータを含まないが、カレント成分ブロックの予測値を確定する際、ブレンディングパラメータの影響が考慮される。この場合、上記S102は、以下のS102-A1及びS102-A2のステップを含む。
【手続補正25】
【補正対象書類名】明細書
【補正対象項目名】0877
【補正方法】変更
【補正の内容】
【0877】
この状況1では、上記ステップにより第1のブレンディングパラメータを確定した後、上記S102-A21のステップを実行し、第1のブレンディングパラメータと第1の重み導出モードに基づいて、予測値の重みを確定する。
【手続補正26】
【補正対象書類名】明細書
【補正対象項目名】0897
【補正方法】変更
【補正の内容】
【0897】
この状況2において、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む場合、デコーディング側は、第2のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【手続補正27】
【補正対象書類名】明細書
【補正対象項目名】1005
【補正方法】変更
【補正の内容】
【1005】
いくつかの実施形態では、エンコーディング側は、以下のS201-A1及びS201-A2のステップによって、候補組合せのリストを構築する。
【手続補正28】
【補正対象書類名】明細書
【補正対象項目名】1033
【補正方法】変更
【補正の内容】
【1033】
以上方法に基づいて、R個の第2組合せの各々に対応するコストが確定されることができ、次に、S201-A23-2が実行される。
【手続補正29】
【補正対象書類名】明細書
【補正対象項目名】1070
【補正方法】変更
【補正の内容】
【1070】
いくつかの実施形態において、方式6では、カレント成分ブロックに隣接する且つエンコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つは、カレント成分ブロックの上側及び/又は左側のエンコードされた領域に対応する第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つを含む。例えば、
図18に示すように、ブロック0~ブロック5に使用される予測モードが
第3の予測モードとして選択され、及び/又は、ブロック2からブロック3の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが
第3の予測モードとして選択され、及び/又は、ブロック1からブロック5の間の省略記号によって表される少なくとも1つのブロックに使用される予測モードが
第3の予測モードとして選択される。一例では、本実施形態における第1成分ブロックは輝度CUであってもよく、第2成分ブロック及び/又は第3成分ブロックは彩度CUであってもよい。この場合、カレント成分ブロックに隣接する且つエンコードされた輝度CU及び/又は彩度CUに使用される予測モードが
第3の予測モードとして確定される。
【手続補正30】
【補正対象書類名】明細書
【補正対象項目名】1150
【補正方法】変更
【補正の内容】
【1150】
本出願の実施形態では、1つの重み導出モードとK個の予測モードを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モードと与えられるK-1個の予測モードに基づいて、Q個の予測モードのコストを計算する。即ち、Q個の予測モードの各々と与えられる重み導出モード及びK-1個の予測モードとを組合せてQ個の組合せを得、これらQ個の組合せの各々に対応するコストを計算し、さらに、Q個の予測モードのコストを得る。
【手続補正31】
【補正対象書類名】明細書
【補正対象項目名】1184
【補正方法】変更
【補正の内容】
【1184】
S201-C1の具体的な実現プロセスについては、上記S201-A1の説明を参照し、ここでは繰り返さない。
【手続補正32】
【補正対象書類名】明細書
【補正対象項目名】1198
【補正方法】変更
【補正の内容】
【1198】
本出願の実施形態では、ブレンディングパラメータは、重み導出モードによって導出される重みを調整するために用いられる。そのため、本出願の実施形態では、上記S201-C22-11における第2組合せに含まれる重み導出モード及びブレンディングパラメータに基づいて、第1成分ブロックの重みを確定する実施形態は少なくとも以下のいくつかの例を含む。
【手続補正33】
【補正対象書類名】明細書
【補正対象項目名】1202
【補正方法】変更
【補正の内容】
【1202】
方式2:S201-C22は、以下のS201-C22-21からS201-C22-23を含む。
【手続補正34】
【補正対象書類名】明細書
【補正対象項目名】1227
【補正方法】変更
【補正の内容】
【1227】
本出願の実施形態において、上記J個の予測モードを確定する具体的な実施形態については、上記S201-A21-1におけるQ個の予測モードを確定する具体的な説明を参照することができ、ここでは繰り返さない。いくつかの実施形態では、上記JはQに等しい。
【手続補正35】
【補正対象書類名】明細書
【補正対象項目名】1236
【補正方法】変更
【補正の内容】
【1236】
以下、S201-C21-1におけるW個のブレンディングパラメータを確定するプロセスを紹介する。
【手続補正36】
【補正対象書類名】明細書
【補正対象項目名】1255
【補正方法】変更
【補正の内容】
【1255】
方式1:F個の重み導出モードのうちのi番目の重み導出モードに対して、i番目の重み導出モードと第4のブレンディングパラメータに基づいて、第1成分ブロックでのK個の第2の予測モードの重みが確定される。第4のブレンディングパラメータはW個のブレンディングパラメータのうちいずれか1つのブレンディングパラメータである。K個の第2の予測モードはJ個の予測モードのうちの任意のK個の予測モードであり、iは1からFまでの正の整数である。第1成分ブロックでのK個の予測モードのいずれか1つの予測モードの重みが第1の予め設定された値より小さい場合、F個の重み導出モードからi番目の重み導出モードが除去され、E個の重み導出モードが得られる。
【手続補正37】
【補正対象書類名】明細書
【補正対象項目名】1268
【補正方法】変更
【補正の内容】
【1268】
本出願の実施形態では、重み導出モード、K個の予測モード及びブレンディングパラメータを1つの組合せとして、コストを計算する。このように、計算を容易にするために、与えられる重み導出モード、与えられるK-1個の予測モード及び与えられるブレンディングパラメータに基づいて、J個の予測モードのコストを計算する。即ち、J個の予測モードの各々と与えられる重み導出モード、K-1個の予測モード及びブレンディングパラメータとを組合せてJ個の組合せを得、これらJ個の組合せの各々に対応するコストを計算し、さらに、J個の予測モードのコストを得る。
【手続補正38】
【補正対象書類名】明細書
【補正対象項目名】1305
【補正方法】変更
【補正の内容】
【1305】
上記状況2では、第1組合せが第1の重み導出モード、K個の第1の予測モード及び第2のブレンディングパラメータを含むことを例として、上記S201の実現プロセスを説明した。
【手続補正39】
【補正対象書類名】明細書
【補正対象項目名】1319
【補正方法】変更
【補正の内容】
【1319】
S201-E1の具体的な実現プロセスについては、上記S201-A1の説明を参照し、ここでは繰り返さない。
【手続補正40】
【補正対象書類名】明細書
【補正対象項目名】1334
【補正方法】変更
【補正の内容】
【1334】
方式2:S201-E22は、以下のS201-E22-21からS201-E22-23を含む。
【手続補正41】
【補正対象書類名】明細書
【補正対象項目名】1349
【補正方法】変更
【補正の内容】
【1349】
S201-E21-1:C個の重み導出モード及びD個の予測モードを確定する。Cは正の整数であり、DはK以上の正の整数である。
【手続補正42】
【補正対象書類名】明細書
【補正対象項目名】1350
【補正方法】変更
【補正の内容】
【1350】
S201-E21-2:C個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築する。R個の第2組合せのうちのいずれか1つは、C個の重み導出モードのうちの1つの重み導出モード及びD個の予測モードのうちのK個の予測モードを含む。
【手続補正43】
【補正対象書類名】明細書
【補正対象項目名】1384
【補正方法】変更
【補正の内容】
【1384】
いくつかの実施形態では、候補組合せのリストの構築速度をさらに向上させるために、エンコーディング側は、上記確定されたD個の予測モード及びC個の重み導出モードを再びスクリーニングする。この場合、上記S201-E21-2における確定されたC個の重み導出モード及びD個の予測モードに基づいて、R個の第2組合せを構築することは、以下のS201-E21-21からS201-E21-23までのステップを含む。
【手続補正44】
【補正対象書類名】明細書
【補正対象項目名】1390
【補正方法】変更
【補正の内容】
【1390】
上記ステップに基づいて、C個の重み導出モードからC1個の重み導出モードが選択され、D個の予測モードからD1個の予測モードが選択された後、以下のS201-E21-23が実行される。
【手続補正45】
【補正対象書類名】明細書
【補正対象項目名】1391
【補正方法】変更
【補正の内容】
【1391】
S201-E21-23:C1個の重み導出モードとD1個の予測モードに基づいて、R個の第2組合せを構築する。
【手続補正46】
【補正対象書類名】明細書
【補正対象項目名】1409
【補正方法】変更
【補正の内容】
【1409】
状況22:第1組合せがブレンディングパラメータを含まないが、カレント成分ブロックの予測値を確定する際、ブレンディングパラメータの影響が考慮される。この場合、上記S202は、以下のS202-A1及びS202-A2のステップを含む。
【手続補正47】
【補正対象書類名】明細書
【補正対象項目名】1464
【補正方法】変更
【補正の内容】
【1464】
この状況1では、上記ステップにより第1のブレンディングパラメータを確定した後、上記S202-A21のステップを実行し、第1のブレンディングパラメータと第1の重み導出モードに基づいて、予測値の重みを確定する。
【手続補正48】
【補正対象書類名】明細書
【補正対象項目名】1479
【補正方法】変更
【補正の内容】
【1479】
この状況2において、第1組合せが第1の重み導出モード、K個の第1の予測モード、及び第2のブレンディングパラメータを含む場合、エンコーディング側は、第2のブレンディングパラメータと第1の重み導出モードに基づいて予測値の重みを確定する。K個の第1の予測モードに基づいてカレント成分ブロックを予測して、カレント成分ブロックのK個の予測値を得る。次に、予測値の重みを使用して、カレント成分ブロックのK個の予測値に対して重み付けを行って、カレント成分ブロックの予測値を得る。
【手続補正49】
【補正対象書類名】明細書
【補正対象項目名】1571
【補正方法】変更
【補正の内容】
【1571】
図23に示されるように、当該電子デバイス30は、本出願の実施形態に記載のビデオエンコーダーであってもよく、又は、ビデオデコーダーであってもよい。当該電子デバイス30は、メモリ
31及びプロセッサ32を備えることができる。当該メモリ
31は、コンピュータプログラム34を記憶し、且つ当該コンピュータプログラム34を当該プロセッサ32に伝送するために用いられる。換言すれば、当該プロセッサ32は、メモリ
31からコンピュータプログラム34を呼び出して実行することにより、本出願の実施形態における方法を実現することができる。
【手続補正50】
【補正対象書類名】明細書
【補正対象項目名】1574
【補正方法】変更
【補正の内容】
【1574】
本出願のいくつかの実施形態において、当該メモリ31は、揮発性メモリ及び/又は不揮発性メモリを含むが、それらに限定されない。不揮発性メモリは、読み取り専用メモリ(read only memory、ROM)、プログラム可能な読み取り専用メモリ(programmable ROM、PROM)、消去可能なプログラム可能な読み取り専用メモリ(erasable PROM、EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(electrically EPROM、EEPROM)、又はフラッシュメモリ(flash memory)であることができる。揮発性メモリは、外部高速キャッシュとして機能するランダムアクセスメモリ(random access memory、RAM)であることができる。例示的であるが限定的ではない例として、様々なRAMが利用可能であり、例えば、スタティックランダムアクセスメモリ(static RAM、SRAM)、ダイナミックランダムアクセスメモリ(dynamic RAM、DRAM)、同期ダイナミックランダムアクセスメモリ(synchronous DRAM、SDRAM)、ダブルデータレート同期ダイナミックランダムアクセスメモリ(double data rate SDRAM、DDRSDRAM)、強化された同期ダイナミックランダムアクセスメモリ(enhanced SDRAM、ESDRAM)、同期リンクダイナミックランダムアクセスメモリ(synch-link DRAM、SLDRAM)、ダイレクトランバスランダムアクセスメモリ(dierct rambus RAM、DRRAM)が挙げられる。
【手続補正51】
【補正対象書類名】明細書
【補正対象項目名】1575
【補正方法】変更
【補正の内容】
【1575】
本出願のいくつかの実施形態において、当該コンピュータプログラム34は、1つ又は複数のユニットに分割されることができ、当該1つ又は複数のユニットは当該メモリ31に記憶されており、当該プロセッサ32によって実行されることにより、本出願に係る方法を完成する。当該1つ又は複数のユニットは、特定の機能を果たすことが可能な一連のコンピュータプログラム命令セグメントであってもよく、当該命令セグメントは、当該電子デバイス30における当該コンピュータプログラム34の実行プロセスを記述するために用いられる。
【手続補正52】
【補正対象書類名】明細書
【補正対象項目名】1576
【補正方法】変更
【補正の内容】
【1576】
図23に示されるように、当該電子デバイス30は、トランシーバー33をさらに備えることができる。当該トランシーバー33は、当該プロセッサ32又はメモリ
31に接続可能である。
【手続補正53】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーディング方法であって、
ビットストリームをデコードして、カレント成分ブロックに対応する第1成分ブロックを確定することと、
前記第1成分ブロックに基づいて候補組合せのリストを構築することであって、前記候補組合せのリストは少なくとも1つの候補組合せを含み、前記少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む、構築することと、
前記候補組合せのリストに基づいて第1組合せを確定することであって、前記第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、前記Kは1より大きい正の整数である、確定することと、
前記第1の重み導出モード及び前記K個の第1の予測モードに基づいて
前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることであって、前記カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む、得ることと、
を含む、
ことを特徴とするビデオデコーディング方法。
【請求項2】
前記候補組合せのリストは1つの候補組合せを含み、前記候補組合せのリストに基づいて前記第1組合せを確定することは、
前記候補組合せのリストに含まれる候補組合せを、前記第1組合せとして確定すること、を含む、
ことを特徴とする請求項
1に記載の
ビデオデコーディング方法。
【請求項3】
前記候補組合せのリストは複数の候補組合せを含み、前記候補組合せ
のリストに基づいて前記第1組合せを確定することは、
前記ビットストリームをデコードして、第1インデックスを取得することであって、前記第1インデックスは前記第1組合せを示すために用いられる、取得することと、
前記候補組合せのリスト内の前記第1インデックスに対応する候補組合せを、前記第1組合せとして確定することと、
を含む、
ことを特徴とする請求項
1に記載の
ビデオデコーディング方法。
【請求項4】
前記第1成分ブロックは、現在の画像内の、前記カレント成分ブロックと同じ空間内にある第1成分ブロックである、
ことを特徴とする請求項
1に記載の
ビデオデコーディング方法。
【請求項5】
前記第1成分ブロックに基づいて前記候補組合せのリストを構築することは、
R個の第2組合せを確定することであって、前記R個の第2組合せのうちのいずれか1つは1つの重み導出モードとK個の予測モードを含み、前記Rは1より大きい正の整数である、確定することと、
前記R個の第2組合せのうちのいずれか1つに対して、前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することと、
前記R個の第2組合せの各々に対応するコストに基づいて、前記候補組合せのリストを構築することと、
を含む、
ことを特徴とする請求項
1に記載の
ビデオデコーディング方法。
【請求項6】
前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することは、
前記第2組合せに含まれる重み導出モードに基づいて、前記第1成分ブロックの重みを確定することと、
前記第2組合せにおけるK個の予測モードに基づいて前記第1成分ブロックを予測して、前記第1成分ブロックのK個の予測値を得ることと、
前記第1成分ブロックの重みに基づいて、前記第1成分ブロックのK個の予測値に対して重み付けを行って、前記第2組合せに対応する第1成分ブロックの予測値を得ることと、
前記第2組合せに対応する第1成分ブロックの予測値、及び前記第1成分ブロックの再構成値に基づいて、前記第2組合せに対応するコストを確定することと、
を含む、
ことを特徴とする請求項
5に記載の
ビデオデコーディング方法。
【請求項7】
前記第2組合せを使用して前記第1成分ブロックを予測する場合の、前記第2組合せに対応するコストを確定することは、
前記第2組合せにおける重み導出モードに基づいて、前記第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値を確定することと、
前記第2組合せにおけるK個の予測モードの各々に対応する第1成分ブロックの予測値、及び前記第1成分ブロックの再構成値に基づいて、前記第2組合せにおけるK個の予測モードの各々に対応するコストを確定することと、
前記第2組合せにおけるK個の予測モードの各々に対応するコストの合計を、前記第2組合せに対応するコストとして確定すること、
を含む、
ことを特徴とする請求項
5に記載の
ビデオデコーディング方法。
【請求項8】
前記R個の第2組合せを確定することは、
P個の重み導出モードとQ個の予測モードを確定することであって、前記Pは正の整数であり、前記QはK以上の正の整数である、確定することと、
前記P個の重み導出モードと前記Q個の予測モードに基づいて、前記R個の第2組合せを構築することであって、前記R個の第2組合せのうちのいずれか1つは、前記P個の重み導出モードのうちの1つの重み導出モードと前記Q個の予測モードのうちのK個の予測モードとを含む、構築することと、
を含む、
ことを特徴とする請求項
5に記載のビ
デオデコーディング方法。
【請求項9】
前記Q個の予測モードを確定することは、
前記カレント成分ブロックの候補予測モードのリスト、前記K個
の予測モードの各々に対応する予備予測モードのリスト、重み導出モードに対応する予測モード、及び予め設定されたモード、のうちの少なくとも1つを確定することであって、前記候補予測モードのリストは複数の候補予測モードを含み、前記K個の予測モードのうちのいずれか1つに対応する予備予測モードのリストは少なくとも1つの予備予測モードを含む、確定することと、
前記候補予測モードのリスト、前記K個の予測モードの各々に対応する予備予測モードのリスト、及び前記重み導出モードに対応する予測モード、のうちの少なくとも1つに基づいて、前記Q個の予測モードを確定することと、
を含む、
ことを特徴とする請求項
8に記載の
ビデオデコーディング方法。
【請求項10】
前記カレント成分ブロックの候補予測モードのリストを確定することは、
第2の予測モード、第3の予測モード、第4の予測モード、及び第5の予測モードのうちの少なくとも1つを確定することであって、前記第2の予測モードは、予め設定された位置にある第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、前記第3の予測モードは、前記カレント成分ブロックに隣接する且つデコードされた第1成分ブロック、第2成分ブロック、及び第3成分ブロックのうちの少なくとも1つに使用され、前記第4の予測モードは、前記カレント成分ブロックの内部の予め設定された領域に対応する第1成分ブロックに使用され、前記第5の予測モードは前記カレント成分ブロックに対応する第1成分ブロックに関連する、確定することと、
前記第2の予測モード、前記第3の予測モード、前記第4の予測モード、及び前記第5の予測モードのうちの少なくとも1つに基づいて、前記カレント成分ブロックの候補予測モードのリストを確定することと、
を含
み、
前記第5の予測モードを確定することは、
前記カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定することと、
前記テクスチャ方向に基づいて前記第5の予測モードを確定することと、
を含む、
ことを特徴とする請求項
9に記載の
ビデオデコーディング方法。
【請求項11】
前記テクスチャ方向に基づいて前記第5の予測モードを確定することは、
前記テクスチャ方向に平行な予測方向を有する予測モードを、前記第5の予測モードとして確定すること、及び/又は、
前記テクスチャ方向に対して垂直な予測方向を有する予測モードを、前記第5の予測モードとして確定すること、
を含む、
ことを特徴とする請求項
10に記載の
ビデオデコーディング方法。
【請求項12】
前記カレント成分ブロックに対応する第1成分ブロックのテクスチャ方向を確定することは、
テクスチャサンプル選択の予め設定された方式に基づいて、前記第1成分ブロックから複数のテクスチャサンプルを選択することと、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向を確定することと、
前記複数のテクスチャサンプルの各々に対応するテクスチャ方向のうちの、最も頻繁に現れる1つ又は複数のテクスチャ方向を、前記第1成分ブロックのテクスチャ方向として確定すること、
を含む、
ことを特徴とする請求項
10に記載の
ビデオデコーディング方法。
【請求項13】
ビデオエンコーディング方法であって、
カレント成分ブロックに対応する第1成分ブロックを確定することと、
前記第1成分ブロックに基づいて候補組合せのリストを構築することであって、前記候補組合せのリストは少なくとも1つの候補組合せを含み、前記少なくとも1つの候補組合せのうちのいずれか1つは、1つの重み導出モードとK個の予測モードを含む、構築することと、
前記候補組合せのリストに基づいて第1組合せを確定することであって、前記第1組合せは第1の重み導出モードとK個の第1の予測モードを含み、前記Kは1より大きい正の整数である、確定することと、
前記第1の重み導出モード及び前記K個の第1の予測モードに基づいて
前記カレント成分ブロックを予測して、前記カレント成分ブロックの予測値を得ることであって、前記カレント成分ブロックは第2成分ブロック又は第3成分ブロックを含む、得ることと、
を含む、
ことを特徴とするビデオエンコーディング方法。
【請求項14】
前記
ビデオエンコーディング方法は、
前記候補組合せのリストが1つの候補組合せを含む場合、ビットストリームに第1インデックスをシグナリングすることをスキップすることをさらに含み、前記第1インデックスは前記第1組合せを示すために用いられる、
ことを特徴とする請求項
13に記載の
ビデオエンコーディング方法。
【請求項15】
プロセッサとメモリとを備える電子デバイスであって、
前記メモリーは、コンピュータプログラムを記憶するように構成されており、
前記プロセッサは、前記メモリに記憶されたコンピュータプログラムを呼び出して実行することにより、請求項1~
12のいずれか一項に記載の
ビデオデコーディング方法、又は請求項
13~14のいずれか一項に記載の
ビデオエンコーディング方法を実現するように構成されている、
ことを特徴とする電子デバイス。
【国際調査報告】