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

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

▶ グァンドン オッポ モバイル テレコミュニケーションズ コーポレーション リミテッドの特許一覧

特許7460766インター予測方法、エンコーダー、デコーダー、及び記憶媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】インター予測方法、エンコーダー、デコーダー、及び記憶媒体
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240326BHJP
   H04N 19/136 20140101ALI20240326BHJP
   H04N 19/176 20140101ALI20240326BHJP
   H04N 19/503 20140101ALI20240326BHJP
【FI】
H04N19/105
H04N19/136
H04N19/176
H04N19/503
【請求項の数】 12
(21)【出願番号】P 2022526516
(86)(22)【出願日】2019-12-31
(65)【公表番号】
(43)【公表日】2023-04-06
(86)【国際出願番号】 CN2019130838
(87)【国際公開番号】W WO2021134627
(87)【国際公開日】2021-07-08
【審査請求日】2022-12-14
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】フオ、チュンイェン
(72)【発明者】
【氏名】マー、イェンチュオ
(72)【発明者】
【氏名】ワン、シューアイ
(72)【発明者】
【氏名】ヤン、フーチョン
(72)【発明者】
【氏名】ラン、チーホン
【審査官】岩井 健二
(56)【参考文献】
【文献】Semih Esenlik, et al.,Non-CE4: Geometrical partitioning for inter blocks,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0489-v4,15th Meeting: Gothenburg, SE,2019年07月,pp.1-9
【文献】R.-L. Liao, J. Chen, Y. Ye, and J. Luo,CE4-related: Simplification of blending weights and motion field storage in geometric merge mode,JVET-P0304_text (on_top_of_JVET-P0068).docx,JVET-P0304 (version 2),2019年10月02日,pp.71-72,146-148,269-274,1,https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0304-v2.zip
【文献】Han Gao, et al.,CE4-Related: Geometric Merge Mode (GEO) Simplifications,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0107-v3,16th Meeting: Geneva, CH,2019年10月,pp.1-9
【文献】Ru-Ling Liao, Jie Chen, Yan Ye, and Jiancong Luo,CE4-related: Simplification of blending weights and motion field storage in geometric merge mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0304-v2,16th Meeting: Geneva, CH,2019年10月,pp.1-7
【文献】Yanzhuo Ma, et al.,Non-CE4: simplified LUT for GEO blending weights generation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0456-v2,17th Meeting: Brussels, BE,2020年01月,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
インター予測方法であって、エンコーダーに適用され、
現在ブロックの予測モードパラメータを決定することと、
前記予測モードパラメータはインターブロック幾何学的分割予測モードを使用して現在ブロックのインター予測値を決定するように指示する場合、現在ブロックの幾何学的分割予測モードパラメータを決定することと、
前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントの第1予測値及び現在ブロック内のピクセルポイントの第2予測値を決定し、前記第1予測値は前記現在ブロックの第1パーティションに対応する第1動き情報に基づいて予測して得られるものであり、前記第2予測値は前記現在ブロックの第2パーティションに対応する第2動き情報に基づいて予測して得られるものであることと、
前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することと、
前記第1予測値、前記第1重み値、前記第2予測値及び前記第2重み値の重み付け融合に基づいて、前記現在ブロック内のピクセルポイントのインター予測値を決定することと、を含み、
前記現在ブロックの幾何学的分割予測モードパラメータは角度インデックス情報及び現在ブロックのサイズ情報を含み、前記幾何学的分割予測モードパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定することは、
前記現在ブロックのサイズ情報に基づいて、前記現在ブロック内のピクセルポイントの位置情報を決定することと、
前記角度インデックス情報、プリセットの角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、を含むことを特徴とするインター予測方法。
【請求項2】
前記角度インデックス情報、プリセットの角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することは、
前記角度インデックス情報に基づいて、コサイン角度インデックス情報及びサイン角度インデックス情報を決定することと、
前記プリセットの角度マッピングテーブルの角度を次数下げして、更新の角度マッピングテーブルを取得することと、
前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、を含むことを特徴とする請求項に記載の方法。
【請求項3】
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することは、
前記重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、前記重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、
前記重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、前記重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、
前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、
前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの前記第2重み値を取得することと、を含むことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することは、
前記重みインデックスの絶対情報を、第1数値又は第3数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、
前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、
前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、を含むことを特徴とする請求項1又は2に記載の方法。
【請求項5】
前記第1予測値、前記第1重み値、前記第2予測値及び前記第2重み値の重み付け融合に基づいて、前記現在ブロック内のピクセルポイントのインター予測値を決定した後、前記方法は更に、
前記角度インデックス情報をビットストリームに書き込むことと、
前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブルに基づいて、前記コサイン角度インデックス情報に対応する第1角度、前記サイン角度インデックス情報に対応する第2角度を決定し、前記角度インデックス情報、ステップサイズインデックス情報、及び前記現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得することと、
前記動き横座標オフセット値、前記動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、前記コサイン角度インデックス情報に対応する第1角度、前記サイン角度インデックス情報に対応する第2角度に基づいて、現在ブロック内のサブブロックの動きインデックス情報を取得することと、
前記動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、前記第1動き情報及び前記第2動き情報を現在サブブロックの動き情報として決定することと、
前記動きインデックス情報が0以下である場合、前記第1動き情報を前記現在サブブロックの動き情報として決定することと、
前記動きインデックス情報が0より大きい場合、前記第2動き情報を前記現在サブブロックの動き情報として決定することと、
前記現在ブロック内のサブブロックの動き情報を記憶し、候補リストの構成に用いることと、を含むことを特徴とする請求項に記載の方法。
【請求項6】
インター予測方法であって、デコーダーに適用され、
ビットストリームを解析し、現在ブロックの予測モードパラメータを決定することと、
前記予測モードパラメータはインターブロック幾何学的分割予測モードを使用して現在ブロックのインター予測値を決定するように指示する場合、ビットストリームを解析し、現在ブロックの幾何学的分割予測モードパラメータを決定することと、
前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントの第1予測値及び現在ブロック内のピクセルポイントの第2予測値を決定し、前記第1予測値は前記現在ブロックの第1パーティションに対応する第1動き情報に基づいて予測して得られるものであり、前記第2予測値は前記現在ブロックの第2パーティションに対応する第2動き情報に基づいて予測して得られるものであることと、
前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することと、
前記第1予測値、前記第1重み値、前記第2予測値及び前記第2重み値の重み付け融合に基づいて、前記現在ブロック内のピクセルポイントのインター予測値を決定することと、を含み、
前記現在ブロックの幾何学的分割予測モードパラメータは角度インデックス情報及び現在ブロックのサイズ情報を含み、前記幾何学的分割予測モードパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定することは、
前記現在ブロックのサイズ情報に基づいて、前記現在ブロック内のピクセルポイントの位置情報を決定することと、
前記角度インデックス情報、プリセットの角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、を含むことを特徴とするインター予測方法。
【請求項7】
前記角度インデックス情報、プリセットの角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することは、
前記角度インデックス情報に基づいて、コサイン角度インデックス情報及びサイン角度インデックス情報を決定することと、
前記プリセットの角度マッピングテーブルの角度を次数下げして、更新の角度マッピングテーブルを取得することと、
前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、を含むことを特徴とする請求項に記載の方法。
【請求項8】
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することは、
前記重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、前記重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、
前記重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、前記重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、
前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、
前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、を含むことを特徴とする請求項6又は7に記載の方法。
【請求項9】
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することは、
前記重みインデックスの絶対情報を、第1数値又は第3数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、
前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、
前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、を含むことを特徴とする請求項6又は7に記載の方法。
【請求項10】
前記第1予測値、前記第1重み値、前記第2予測値及び前記第2重み値の重み付け融合に基づいて、前記現在ブロック内のピクセルポイントのインター予測値を決定した後、前記方法は更に、
前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブルに基づいて、前記コサイン角度インデックス情報に対応する第1角度、前記サイン角度インデックス情報に対応する第2角度を決定し、前記角度インデックス情報、ステップサイズインデックス情報、及び前記現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得することと、
前記動き横座標オフセット値、前記動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、前記コサイン角度インデックス情報に対応する第1角度、前記サイン角度インデックス情報に対応する第2角度に基づいて、現在ブロック内のサブブロックの動きインデックス情報を取得することと、
前記動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、前記第1動き情報及び前記第2動き情報を現在サブブロックの動き情報として決定することと、
前記動きインデックス情報が0以下である場合、前記第1動き情報を前記現在サブブロックの動き情報として決定することと、
前記動きインデックス情報が0より大きい場合、前記第2動き情報を前記現在サブブロックの動き情報として決定することと、
前記現在ブロック内のサブブロックの動き情報を記憶し、候補リストの構成に用いることと、を含むことを特徴とする請求項に記載の方法。
【請求項11】
エンコーダーであって、第1決定ユニット、第1クランプユニット及び第1予測ユニットを備え、
前記第1決定ユニットは、現在ブロックの予測モードパラメータを決定することと、前記予測モードパラメータはインターブロック幾何学的分割予測モードを使用して現在ブロックのインター予測値を決定するように指示する場合、現在ブロックの幾何学的分割予測モードパラメータを決定することと、前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントの第1予測値及び現在ブロック内のピクセルポイントの第2予測値を決定することと、前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられ、前記第1予測値は前記現在ブロックの第1パーティションに対応する第1動き情報に基づいて予測して得られるものであり、前記第2予測値は前記現在ブロックの第2パーティションに対応する第2動き情報に基づいて予測して得られるものであり、
前記第1クランプユニットは、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することに用いられ、
前記第1決定ユニットは更に、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することに用いられ、
前記第1予測ユニットは、前記第1予測値、前記第1重み値、前記第2予測値及び前記第2重み値の重み付け融合に基づいて、前記現在ブロック内のピクセルポイントのインター予測値を決定することに用いられ、
前記現在ブロックの幾何学的分割予測モードパラメータは角度インデックス情報及び現在ブロックのサイズ情報を含み、前記第1決定ユニットは更に、前記現在ブロックのサイズ情報に基づいて、前記現在ブロック内のピクセルポイントの位置情報を決定することと、前記角度インデックス情報、プリセットの角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられることを特徴とするエンコーダー。
【請求項12】
デコーダーであって、解析ユニット、第2決定ユニット、第2クランプユニット及び第2予測ユニットを備え、
前記解析ユニットは、ビットストリームを解析し、現在ブロックの予測モードパラメータを決定することに用いられ、
前記第2決定ユニットは、前記予測モードパラメータはインターブロック幾何学的分割予測モードを使用して現在ブロックのインター予測値を決定するように指示する場合、ビットストリームを解析し、現在ブロックの幾何学的分割予測モードパラメータを決定することと、前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントの第1予測値及び現在ブロック内のピクセルポイントの第2予測値を決定することと、前記幾何学的分割予測モードパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられ、前記第1予測値は前記現在ブロックの第1パーティションに対応する第1動き情報に基づいて予測して得られるものであり、前記第2予測値は前記現在ブロックの第2パーティションに対応する第2動き情報に基づいて予測して得られるものであり、
前記第2クランプユニットは、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することに用いられ、
前記第2決定ユニットは、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することに用いられ、
前記第2予測ユニットは、前記第1予測値、前記第1重み値、前記第2予測値及び前記第2重み値の重み付け融合に基づいて、前記現在ブロック内のピクセルポイントのインター予測値を決定することに用いられ、
前記現在ブロックの幾何学的分割予測モードパラメータは角度インデックス情報及び現在ブロックのサイズ情報を含み、前記第2決定ユニットは更に、前記現在ブロックのサイズ情報に基づいて、前記現在ブロック内のピクセルポイントの位置情報を決定することと、前記角度インデックス情報、プリセットの角度マッピングテーブル、及び前記現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられることを特徴とするデコーダー。
【発明の詳細な説明】
【技術分野】
【0001】
本願の実施例はビデオ符号化技術に関し、インター予測方法、エンコーダー、デコーダー、及び記憶媒体に関するが、これらに限らない。
【背景技術】
【0002】
ビデオコーデックでは、現在ブロックをコーデックするプロセスにおいて、イントラ予測の他、インター予測の方式を採用することもできる。インター予測は動き推定及び動き補償を含むことができ、動き補償については、インターブロック幾何学的分割予測モード(GEO、Geometrical partitioning for inter blocks)を使用して、フレーム間の現在ブロックを2つの非矩形のパーティションに分割してそれぞれ予測した後に重み付け融合を行うことができ、それによって現在ブロックの予測値を取得する。
【0003】
従来技術では、GEOの予測プロセスにおいて、角度マッピングテーブルと重みマッピングテーブルを使用する必要があるが、現在ブロックを予測する場合、1つのパーティションの重みマッピングテーブルの長さが27であるため、2つのパーティションのマッピングテーブルの合計長さは54であり、しかし、この54個に対応する重み値は{4、5、6、7、8}の5種類からなる。
【0004】
しかし、既存の重みマッピングテーブルには重複する重みが多く存在し、重みテーブルが長すぎるため、インター予測時のデータ記憶のオーバーヘッドが大きくなり、テキスト及びコードが複雑になる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例はインター予測方法、エンコーダー、デコーダー、及び記憶媒体を提供し、インター予測時のテキスト及びコードを簡素化し、データ記憶のオーバーヘッドを低減することができる。
【課題を解決するための手段】
【0006】
第1態様では、本願の実施例はエンコーダーに適用されるインター予測方法を提供し、前記方法は、
現在ブロックの予測モードパラメータを決定することと、
前記予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、現在ブロックのGEOパラメータを決定することと、
前記GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定することと、
前記GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得し、前記クランプ処理は前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることであることと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することと、
前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を行い、現在ブロックのインター予測値を取得することと、を含む。
【0007】
第2態様では、本願の実施例はデコーダーに適用されるインター予測方法を提供し、前記方法は、
ビットストリームを解析し、現在ブロックの予測モードパラメータを決定することと、
前記予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、ビットストリームを解析し、現在ブロックのGEOパラメータを決定することと、
GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定することと、
前記GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得し、前記クランプ処理は前記現在ブロック内のピクセルポイントに対応する重みインデックスの最大値をプリセット値の半分にクランプすることであることと、
前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することと、
前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を決定し、現在ブロックのインター予測値を取得することと、を含む。
【0008】
第3態様では、本願の実施例はエンコーダーを提供し、第1決定ユニット、第1クランプユニット及び第1予測ユニットを備え、
前記第1決定ユニットは、現在ブロックの予測モードパラメータを決定することと、前記予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、現在ブロックのGEOパラメータを決定することと、前記GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定することと、前記GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられ、
前記第1クランプユニットは、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することに用いられ、前記クランプ処理は前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることであり、
前記第1決定ユニットは更に、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することに用いられ、
前記第1予測ユニットは、前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を行い、現在ブロックのインター予測値を取得することに用いられる。
【0009】
第4態様では、本願の実施例はデコーダーを提供し、解析ユニット、第2決定ユニット、第2クランプユニット及び第2予測ユニットを備え、
前記解析ユニットは、ビットストリームを解析し、現在ブロックの予測モードパラメータを決定することに用いられ、
前記第2決定ユニットは、前記予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、ビットストリームを解析し、現在ブロックのGEOパラメータを決定することと、GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定することと、前記GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられ、
前記第2クランプユニットは、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することに用いられ、前記クランプ処理は前記現在ブロック内のピクセルポイントに対応する重みインデックスの最大値をプリセット値の半分にクランプすることであり、
前記第2決定ユニットは、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することに用いられ、
前記第2予測ユニットは、前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を決定し、現在ブロックのインター予測値を取得することに用いられる。
【0010】
第5態様では、本願の実施例は更にエンコーダーを提供し、
第1メモリ及び第1プロセッサを備え、
前記第1メモリに第1プロセッサにおいて実行できるコンピュータプログラムが記憶され、前記第1プロセッサが前記プログラムを実行する時、エンコーダーの前記インター予測方法が実現される。
【0011】
第6態様では、本願の実施例は更にデコーダーを提供し、
第2メモリ及び第2プロセッサを備え、
前記第2メモリに第2プロセッサにおいて実行できるコンピュータプログラムが記憶され、前記第2プロセッサが前記プログラムを実行する時、デコーダーの前記インター予測方法が実現される。
【0012】
第7態様では、本願の実施例は記憶媒体を提供し、記憶媒体にコンピュータプログラムが記憶され、該コンピュータプログラムが第1プロセッサによって実行される時、エンコーダーの前記インター予測方法が実現され、又は、該コンピュータプログラムが第2プロセッサによって実行される時、デコーダーの前記インター予測方法が実現される。
【発明の効果】
【0013】
本願の実施例はインター予測方法、エンコーダー、デコーダー、及び記憶媒体を提供し、現在ブロックの予測モードパラメータを決定し、予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、現在ブロックのGEOパラメータを決定し、GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定し、GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得し、クランプ処理は現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることであり、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定し、第1予測値、第1重み値、第2予測値、第2重み値を使用して現在ブロック内のピクセルポイントの重み付け融合を行い、現在ブロックのインター予測値を取得する。上記技術案を採用することによって、エンコーダーはインター予測を行うプロセスにおいて、GEOパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、更に絶対値のクランプ処理によって、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることができる。そうすると、プリセット値にクランプされる従来の場合の半分のサイズが削減され、従って重みインデックスの絶対情報に対応する重み値の記憶及び使用が半分ほど低減され、これによりインター予測時のテキスト及びコードが簡素化され、データ記憶のオーバーヘッドが低減される。
【図面の簡単な説明】
【0014】
図1図1は本願の実施例によるビデオ符号化システムの構成ブロック図の模式図である。
図2図2は本願の実施例によるビデオ復号化システムの構成ブロック図の模式図である。
図3図3は本願の実施例によるイントラ予測方法の実現の模式的なフローチャート1である。
図4a図4aは本願の実施例による例示的な7種類の分割モードの模式図である。
図4b図4bは本願の実施例による例示的な7種類の分割モードの模式図である。
図4c図4cは本願の実施例による例示的な7種類の分割モードの模式図である。
図4d図4dは本願の実施例による例示的な7種類の分割モードの模式図である。
図4e図4eは本願の実施例による例示的な7種類の分割モードの模式図である。
図4f図4fは本願の実施例による例示的な7種類の分割モードの模式図である。
図4g図4gは本願の実施例による例示的な7種類の分割モードの模式図である。
図5図5は本願の実施例による例示的な現在ブロックの角度及びステップサイズの模式図である。
図6a図6aは本願の実施例による例示的な輝度の第1重み値の模式図である。
図6b図6bは本願の実施例による例示的な色度の第1重み値の模式図である。
図7図7は本願の実施例によるイントラ予測方法の実現の模式的なフローチャート2である。
図8図8は本願の実施例による例示的なプリセットモーションマスクマトリックス1及び現在のモーションマスクマトリックス2、3、4の模式図である。
図9図9は本願の実施例による更なるイントラ予測方法の実現の模式的なフローチャートである。
図10図10は本願の実施例によるエンコーダーの構造模式図1である。
図11図11は本願の実施例によるエンコーダーの構造模式図2である。
図12図12は本願の実施例によるデコーダーの構造模式図1である。
図13図13は本願の実施例によるデコーダーの構造模式図2である。
【発明を実施するための形態】
【0015】
本願はビデオ符号化システムを提供する。図1に示すように、該ビデオ符号化システム11は変換ユニット111、量子化ユニット112、モード選択及び符号化制御ロジックユニット113、イントラ予測ユニット114、インター予測ユニット115(動き補償及び動き推定を含む)、逆量子化ユニット116、逆変換ユニット117、ループフィルタリングユニット118、符号化ユニット119及び復号化画像バッファリングユニット110を備える。入力されたオリジナルビデオ信号に対して、符号化ツリーユニット(CTU、Coding Tree Unit)の分割によって1つのビデオ再構成ブロックを取得することができる。モード選択及び符号化制御ロジックユニット113によって符号化モードを決定し、次に、イントラ予測又はインター予測を経て取得した残差ピクセル情報に対して、変換ユニット111、量子化ユニット112によって該ビデオ再構成ブロックを変換し、残差情報をピクセルドメインから変換ドメインに変換することを含む。取得された変換係数を量子化し、それによってビットレートを更に減少させる。イントラ予測ユニット114は該ビデオ再構成ブロックをイントラ予測することに用いられる。イントラ予測ユニット114は該ビデオ再構成ブロックの最適イントラ予測モード(即ち目標予測モード)を決定することに用いられ、インター予測ユニット115は、受信されたビデオ再構成ブロックの、1つ又は複数の参照フレームにおける1つ又は複数のブロックに対するインター予測符号化を実行し、それによって時間予測情報を提供することに用いられる。ここで、動き推定は、該ビデオ再構成ブロックの動きを推定できる動きベクトルを生成するプロセスであり、次に、動き補償は、動き推定によって決定された動きベクトルに基づいて動き補償を実行する。インター予測モードが決定された後、インター予測ユニット115は更に選択されたインター予測データを符号化ユニット119に提供し、そして計算して決定された動きベクトルデータも符号化ユニット119に送信することに用いられる。また、逆量子化ユニット116及び逆変換ユニット117は該ビデオ再構成ブロックの再構成に用いられ、ピクセルドメインにおいて残差ブロックを再構成し、該再構成の残差ブロックはループフィルタリングユニット118によってブロッキングアーチファクトを除去し、次に、再構成されたビデオ再構成ブロックを生成するために、該再構成の残差ブロックを復号化画像バッファリングユニット110のフレームにおける1つの予測ブロックに追加する。符号化ユニット119は各種の符号化パラメータ及び量子化された変換係数を符号化することに用いられる。復号化画像バッファリングユニット110は、予測の参照のための再構成されたビデオ再構成ブロックを格納することに用いられる。ビデオ画像符号化の進行に伴って、新しい再構成されたビデオ再構成ブロックが継続的に生成され、これらの再構成されたビデオ再構成ブロックはいずれも復号化画像バッファリングユニット110に格納される。
【0016】
本願の実施例はビデオ復号化システムを提供する。図2は本願の実施例によるビデオ復号化システムの構造模式図である。図2に示すように、該ビデオ復号化システム12は復号化ユニット121、逆変換ユニット127、逆量子化ユニット122、イントラ予測ユニット123、動き補償ユニット124、ループフィルタリングユニット125及び復号化画像バッファリングユニット126を備える。入力されたビデオ信号がビデオ符号化システム11によって符号化処理された後、該ビデオ信号のビットストリームが出力される。該ビットストリームはビデオ復号化システム12に入力され、まず復号化ユニット121を通過し、それによってデコーディング後の変換係数を取得する。該変換係数に対して逆変換ユニット127及び逆量子化ユニット122による処理を行い、それによってピクセルドメインにおいて残差ブロックを生成する。イントラ予測ユニット123は、決定されたイントラ予測方向及び現在フレーム又はピクチャの以前に復号化されたブロックからのデータに基づいて、現在のビデオ復号化ブロックの予測データを生成することに用いられることができる。動き補償ユニット124は、動きベクトル及び他の関連する構文要素を解析することによってビデオ復号化ブロックのための予測情報を決定し、該予測情報を使用してちょうど復号化されているビデオ復号化ブロックの予測ブロックを生成する。逆変換ユニット127及び逆量子化ユニット122の残差ブロックとイントラ予測ユニット123又は動き補償ユニット124によって生成された対応の予測ブロックとの合計を求めることによって、復号化されたビデオブロックを形成する。該復号化されたビデオ信号はループフィルタリングユニット125によってブロッキングアーチファクトを除去し、ビデオ品質が改善されることができる。次に復号化されたビデオブロックを復号化画像バッファリングユニット126に記憶し、復号化画像バッファリングユニット126は後続のイントラ予測又は動き補償のための参照画像を記憶し、それと同時に、ビデオ信号を出力して回復されたオリジナルビデオ信号を取得することにも用いられる。
【0017】
本願の実施例によるインター予測方法は主に、ビデオ符号化システム11のインター予測ユニット115及びビデオ復号化システム12のインター予測ユニット、即ち動き補償ユニット124において役割をはたす。即ち、ビデオ符号化システム11において本願の実施例によるインター予測方法によって比較的に良い予測効果を得ることができる場合、対応して、復号化側においてビデオ復号化の回復品質も改善されることができる。
【0018】
これに基づいて、以下は図面及び実施例を参照しながら、本願の技術案を更に詳しく説明する。詳しい説明を行う前に説明しなければならないのは、明細書の全体にわたって言及された「第1」、「第2」、「第3」等は異なる特徴を区別するためのものに過ぎず、優先順位、前後の順序、大小の関係等を限定する機能を有しないことである。
【0019】
本願の実施例は、ビデオ符号化装置、即ちエンコーダーに適用されるインター予測方法を提供する。該方法の実現する機能は、ビデオ符号化装置におけるプロセッサがプログラムコードを呼び出すことによって実現されることができる。当然ながら、プログラムコードはコンピュータ記憶媒体に記憶されることができる。ここから分かるように、該ビデオ符号化装置は少なくともプロセッサ及び記憶媒体を備える。
【0020】
図3は本願の実施例によるイントラ予測方法の実現の模式的なフローチャート1である。図3に示すように、該方法は以下のステップS101~S107を含む。
【0021】
ステップS101では、現在ブロックの予測モードパラメータを決定する。
【0022】
本願の実施例では、ビデオ画像は複数の画像ブロックに分割されてもよく、各現在符号化対象画像ブロックは符号化ブロック(CB、Coding Block)と称されてもよい。各符号化ブロックは第1画像成分、第2画像成分及び第3画像成分を含んでもよい。現在ブロックはビデオ画像における、現在第1画像成分、第2画像成分、又は第3画像成分の予測を行い待ちの符号化ブロックである。
【0023】
現在ブロックで第1画像成分の予測を行い、且つ第1画像成分が輝度成分であり、即ち予測対象画像成分が輝度成分であると仮定すると、現在ブロックは輝度ブロックと称されてもよい。又は、現在ブロックで第2画像成分の予測を行い、且つ第2画像成分が色度成分であり、即ち予測対象画像成分が色度成分であると仮定すると、現在ブロックは色度ブロックと称されてもよい。
【0024】
尚、予測モードパラメータは現在ブロックの符号化モード及び該モードに関連するパラメータを示す。通常はレート歪み最適化(RDO、Rate Distortion Optimization)の方式で現在ブロックの予測モードパラメータを決定することができる。
【0025】
具体的に、幾つかの実施例では、エンコーダーが現在ブロックの予測モードパラメータを決定することの実現は、エンコーダーが現在ブロックの予測対象画像成分を決定し、現在ブロックのパラメータに基づいて、複数の予測モードを利用して予測対象画像成分に対してそれぞれ予測符号化を行って、複数の予測モードにおける各予測モードに対応するレート歪みコスト結果を計算し、計算で取得された複数のレート歪みコスト結果から最小レート歪みコスト結果を選択し、最小レート歪みコスト結果に対応する予測モードを現在ブロックの予測モードパラメータとして決定する、ということである。
【0026】
即ち、エンコーダー側では、現在ブロックに対して、複数の予測モードを採用して予測対象画像成分に対してそれぞれ符号化を行ってもよい。ここで、複数の予測モードは通常、インター予測モード、従来のイントラ予測モード、非従来のイントラ予測モードを含む。そして、従来のイントラ予測モードは更に直流(DC、Direct Current)モード、平面(PLANAR)モード、角度モード等を含んでもよい。非従来のイントラ予測モードは更にMIPモード、クロスコンポーネント線形モデル予測(CCLM、Cross-component Linear Model Prediction)モード、イントラブロックコピー(IBC、Intra Block Copy)モード、PLT(Palette)モード等を含んでもよい。インター予測モードはインターブロック幾何学的分割予測モード(GEO、Geometrical partitioning for inter blocks)、三角予測モード(TPM、Triangle partition mode)等を含んでもよい。
【0027】
このように、複数の予測モードを利用して現在ブロックに対してそれぞれ符号化を行った結果、各予測モードに対応するレート歪みコスト結果を取得することができる。次に、取得された複数のレート歪みコスト結果から最小レート歪みコスト結果を選択して、該最小レート歪みコスト結果に対応する予測モードを現在ブロックの予測モードパラメータとして決定する。そうすると、最終的には決定された予測モードを用いて現在ブロックに対して符号化を行うことができ、そして、この予測モードでは、予測残差が小さく、符号化効率を向上させることができる。
【0028】
ステップS102では、予測モードパラメータはGEOを使用して現在ブロックのインター予測を決定するように指示する場合、現在ブロックのGEOパラメータを決定する。
【0029】
本願の実施例では、予測モードパラメータGEOを使用して現在ブロックのインター予測を決定するように指示する場合、現在ブロックのGEOパラメータを取得又は決定することができる。ここで、本願の実施例における現在ブロックとはインターブロックを指す。
【0030】
本願の実施例では、現在ブロックのGEOパラメータは、角度インデックス情報及び現在ブロックのサイズ情報を含み、更にステップサイズインデックス情報及び目標分割モード等を含んでもよい。
【0031】
尚、本願の実施例では、GEOは画像におけるオブジェクトのエッジ部分に対して、インターブロック(即ち、現在ブロック)を2つの非矩形のサブパーティションに分割して、それぞれ予測した後に重み付け融合を行うことである。例えば、非矩形の形式は以下の図4a~4gに示すとおりであってもよい。
【0032】
今のVVC Draft7では、GEOは合わせて82つの分割モードを有し、各分割モードに1つの角度α及び1つのステップサイズρが対応し、角度は360度を24つに分割する。従って、角度は24つを含み、ステップサイズは4つを含み、そうすると、角度とステップサイズとの組み合わせは96つである。
【0033】
尚、角度テーブルについては、勾配に基づく角度テーブルで以前の固定ステップサイズに基づく角度テーブルを代替し、5つの一定の勾配(1、1/2、1/4、4、2)を使用して不等間隔の角度テーブルを構成する。
【0034】
例として、図5に示すように、各角度αとステップサイズρとの組み合わせが1つの分割モードを構成し(ここでは、角度インデックスが0、6、12~23である全ての第1種類のステップサイズを除いた後、82つの分割モードを取得する)、GEOの全ての分割モードにTPMモードが含まれ、TPMは統合して代替される。GEOは現在ブロックを2つの非矩形のサブパーティションに分割し、各サブパーティションは一方向の動き補償を単独に行って一方向の予測値を取得し、最後に現在ブロックに対応する重みマトリックスを利用して2つのパーティションの一方向の予測値に対して重み付け融合を行って最終のGEOの予測値を取得する。
【0035】
本願の実施例では、エンコーダー側において、GEOを採用してインター予測を行うことが決定されると、該エンコーダーは、該現在ブロックがGEOを採用してインター予測を行う場合のGEOパラメータを取得することができる。
【0036】
本願の実施例では、エンコーダーはGEOに対応する82つの分割モードをトラバースすることによって、レート歪みコストが最も小さい分割モードを決定し、即ち目標分割モードを決定する。そうすると、該エンコーダーは目標分割モードに基づいて、プリセットの分割モード、角度インデックス、及びステップサイズインデックスのマッピングテーブルによって、該目標分割モードに対応する角度インデックス情報及びステップサイズインデックス情報を決定することができる。プリセットの分割モード、角度インデックス、及びステップサイズインデックスのマッピングテーブルは、表1に示される。
【0037】
【表1】
【0038】
wedge_partition_idxは分割モードインデックスであり、angleIdxは角度インデックス情報であり、distanceIdxはステップサイズインデックス情報である。
【0039】
ステップS103では、GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定する。
【0040】
本願の実施例では、GEOパラメータが角度インデックス情報及び目標分割モードを含むことができるため、エンコーダーは目標分割モードに基づいて現在ブロックを分割して、第1パーティション及び第2パーティションを取得し、プリセットのマージ候補リストから第1パーティションに対応する第1参照ブロックの第1動き情報、及び第2パーティションに対応する第2参照ブロックの第2動き情報を決定することができる。エンコーダーは、第1動き情報に基づいて動き補償を行って、第1パーティションの第1予測値を取得し、エンコーダーは、第2動き情報に基づいて動き補償を行って、第2パーティションの第2予測値を取得する。
【0041】
尚、本願の実施例では、GEOは既存のVVC7におけるTPMの一方向のマージ候補リスト、即ち、プリセットのマージ候補リストを採用して、GEOの分割後の2つのパーティションのそれぞれのMV、即ち動き情報を探し出す。
【0042】
マージ候補リストには通常、プリセット個数の参照ブロックの要素が含まれ、プリセット個数は6個であってもよく、各要素は構造体の形式でデータを記憶する。各構造体には、該参照ブロックの動き情報、参照フレームリスト、予測方向等が含まれてもよい。GEOに対応するデータを記憶する時、4×4サイズのブロックで記憶する。
【0043】
本願の実施例では、角度インデックス情報及びステップサイズインデックス情報、第1動き情報及び第2動き情報等の情報は、復号化時に使用されるために、いずれも符号化時にビットストリームに書き込まれる必要がある。
【0044】
ステップS104では、GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定する。
【0045】
GEOパラメータには現在ブロックのサイズ情報及び角度インデックス情報が含まれ、該サイズ情報は現在ブロックの高さと幅である。現在ブロックに多くのピクセルポイントが含まれ、エンコーダーは、現在ブロックのサイズ情報に基づいて、現在ブロック内のピクセルポイントの位置情報を決定することができ、該現在ブロック内の各ピクセルポイントの位置情報、角度インデックス情報、及び更新の角度マッピングテーブルに基づいて、現在ブロック内の各ピクセルポイントに対応する重みインデックスを計算して取得することができる。
【0046】
詳しい取得プロセスについては、後続の実施例において説明する。
【0047】
ステップS105では、現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得し、クランプ処理は現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることである。
【0048】
エンコーダーは現在ブロック内のピクセルポイントを取得して、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値を取得し、その結果を[0~プリセット値の半分]の範囲内にクランプし、それによって現在ブロック内の各ピクセルポイントに対応する重みインデックスの絶対情報を取得する。ここで、1つのピクセルポイントの重みインデックスの絶対値がプリセット値の半分を超えた場合、該1つのピクセルポイントに対応する重みインデックスの絶対情報はプリセット値の半分であり、1つのピクセルポイントの重みインデックスの絶対値がプリセット値の半分を超えていない場合、該1つのピクセルポイントの重みインデックスの絶対値はその重みインデックスの絶対情報である。
【0049】
本願の実施例では、プリセット値は26であり、そうすると、重みインデックスの絶対情報は[0~13]の範囲内にある。
【0050】
例として、三項演算子の実現方式を採用し、重みインデックスの絶対情報は式(1)によって取得することができる。式(1)は以下のとおりである。
【0051】
weightIdxAbs = Clip3(0, 13, abs(weightIdx)) (1)
式中、weightIdxAbsは重みインデックスの絶対情報であり、weightIdxは重みインデックスであり、abs()は絶対値関数であり、Clip3()はクランプ関数である。
【0052】
ステップS106では、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定する。
【0053】
エンコーダーは現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得した後、まずは該現在ブロック内のピクセルポイントに対応する重みインデックス及び現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、重みインデックスの絶対情報に対応する重み値を決定し、更に重みインデックスの絶対情報に対応する重み値に基づいて、現在ブロック内のピクセルポイントから第1パーティションの第1ピクセルポイントの重み値及び第2パーティションの第2ピクセルポイントの重み値を決定し、それから第1パーティションの第1ピクセルポイントの重み値及び第2パーティションの第2ピクセルポイントの重み値に基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、最後に第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を決定することができる。
【0054】
尚、本願の実施例では、現在ブロック内のピクセルポイントにおける1つのピクセルポイントに対応する重みインデックスが0以下である場合、該1つのピクセルポイントが第1パーティションに属することを表し、現在ブロック内のピクセルポイントにおける1つのピクセルポイントに対応する重みインデックスが0より大きい場合、該1つのピクセルポイントが第2パーティションに属することを表す。第1パーティションに基づいて現在ブロック内のピクセルポイントの第1重み値を取得するプロセスは、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報から、第1パーティションの第1ピクセルポイントに対応する第1重みインデックスの絶対情報及び第2パーティションの第2ピクセルポイントに対応する第2重みインデックスの絶対情報を取得し、該第1重みインデックスの絶対情報に基づいて第1ピクセルポイントの重み値を取得し、該第2重みインデックスの絶対情報に基づいて第2ピクセルポイントの重み値を取得し、第1ピクセルポイントの重み値及び第2ピクセルポイントの重み値に基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を取得することであってもよい。一方、現在ブロック内のピクセルポイントの第2重み値は8-第1重み値である。
【0055】
本願の実施例では、エンコーダーが現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定する具体的な実現は、以下5つの方式を含んでもよい。
【0056】
方式1
重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、エンコーダーは、重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、エンコーダーは、重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。エンコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定する。エンコーダーは、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0057】
本願の実施例では、重みインデックスの絶対情報の範囲が[0~プリセット値の半分]の範囲内にあるため、エンコーダーは現在ブロック内のピクセルポイントの重みインデックスの絶対情報に基づいて、まず[0~プリセット値の半分]の範囲内の各重みインデックスの絶対情報に対応する重み値を算出してもよい。具体的に、重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、エンコーダーは、重みインデックスの絶対情報に第1数値を加えてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得し、重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、エンコーダーは、重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。
【0058】
例として、三項演算子の実現方式を採用し、重みインデックスの絶対情報に対応する重み値は式(2)によって取得することができる。式(2)は以下のとおりである。
【0059】
WedgeFilter= weightIdxAbs < 9 ? ((weightIdxAbs + 2)>>2)+4 : ((weightIdxAbs + 3)>>2)+4 (2)
式中、プリセットのインデックス閾値は9であり、第1数値は2であり、第2数値は3であり、プリセットの重み数値は4であり、プリセットビットは2であり、WedgeFilterはweightIdxAbsに対応する重み値であり、weightIdxAbsは1つの重みインデックスの絶対情報である。
【0060】
尚、式(2)における右シフト後の結果は整数部分のみを取る。
【0061】
区分マッピング関数の方式を採用し、重みインデックスの絶対情報に対応する重み値は式(3)によって取得することができる。式(3)は以下のとおりである。
【0062】
【数1】
式中、WedgeFilterはweightIdxAbsに対応する重み値であり、weightIdxAbsは1つの重みインデックスの絶対情報である。
【0063】
プリセット値が26である場合、重みインデックスの絶対情報(weightIdxAbs)は、0、1、2、3、4、5、6、7、8、9、10、11、12、13であり、そうすると、重みインデックスの絶対情報の重み値(WedgeFilter[weightIdxAbs])は式(2)又は(3)によって計算した結果、それぞれ4、4、5、5、5、5、6、6、6、7、7、7、7、8である。
【0064】
理解されるように、エンコーダーは1つの区分関数を利用して、重みテーブルルックアップのプロセスをGEO演算のプロセスに融合させ、GEOの重みインデックスによって直接で簡単に対応の重みを算出し、重みマッピングテーブル及びテーブルルックアップ操作が省略され、実際的にはGEO重みテーブルのロスレス削減が暗黙的に実現される。
【0065】
本願の実施例では、エンコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションの第1ピクセルポイントに対応する第1重みインデックスの絶対情報及び第2パーティションの第2ピクセルポイントに対応する第2重みインデックスの絶対情報を取得し、該第1重みインデックスの絶対情報に基づいて第1ピクセルポイントの重み値を取得し、該第2重みインデックスの絶対情報に基づいて第2ピクセルポイントの重み値を取得し、第1ピクセルポイントの重み値及び第2ピクセルポイントの重み値に基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を取得する。
【0066】
例として、各ピクセルポイントの第1重み値は式(4)を使用して取得することができる。式(4)は以下のとおりである。
【0067】
sampleWeight = weightIdx <= 0 ? WedgeFilter : 8 - WedgeFilter (4)
式中、sampleWeightは1つのピクセルポイントの重み値であり、weightIdxは該1つのピクセルポイントの重みインデックスであり、WedgeFilterは1つのピクセルポイントの重み絶対情報に対応する重み値である。
【0068】
式(4)から分かるように、主に第1パーティションによって現在ブロック全体内のピクセルポイントの第1重み値を取得する場合、2つのパーティションに基づいて、この2つのパーティションにおける各ピクセルポイントの重み値を決定する必要がある。それによって現在ブロック内のピクセルポイントの第1重みを取得することができる。それに対して、第2パーティションを主とする現在ブロック内のピクセルポイントの第2重みは、8から現在ブロック内のピクセルポイントの第1重み値を引くことによって取得されるものである。
【0069】
方式2
エンコーダーは、重みインデックスの絶対情報を、第1数値、重みインデックスの絶対情報が8より大きいか否かの値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。エンコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定する。エンコーダーは、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0070】
本願の実施例では、重みインデックスの絶対情報の範囲が[0~プリセット値の半分]の範囲内にあるため、エンコーダーは現在ブロック内のピクセルポイントの重みインデックスの絶対情報に基づいて、まず[0~プリセット値の半分]の範囲内の各重みインデックスの絶対情報に対応する重み値を算出してもよい。具体的に、エンコーダーは、重みインデックスの絶対情報に第1数値、重みインデックスの絶対情報が8より大きいか否かの値を加えた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。
【0071】
例として、三項演算子の実現方式を採用し、重みインデックスの絶対情報に対応する重み値は式(5)によって取得することができる。式(5)は以下のとおりである。
【0072】
WedgeFilter= ((weightIdxAbs + 2+(weightIdxAbs >8))>>2)+4 (5)
式中、第1数値は2であり、プリセットの重み数値は4であり、プリセットビットは2であり、WedgeFilterはweightIdxAbsに対応する重み値であり、weightIdxAbsは1つの重みインデックスの絶対情報である。
【0073】
尚、式(3)における右シフト後の結果は整数部分のみを取る。重みインデックスの絶対情報が8より大きい場合、値は1であり、8以下の場合、値は0である。
【0074】
プリセット値が26である場合、重みインデックスの絶対情報(weightIdxAbs)は、0、1、2、3、4、5、6、7、8、9、10、11、12、13であり、そうすると、重みインデックスの絶対情報の重み値(WedgeFilter[weightIdxAbs])は式(5)によって計算した結果、それぞれ4、4、5、5、5、5、6、6、6、7、7、7、7、8である。
【0075】
尚、エンコーダーが、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得するプロセスは、方式1の実現の記載と一致し、ここでは繰り返して説明しない。
【0076】
方式3
エンコーダーは、重みインデックスの絶対情報を、第1数値、8-重みインデックスの絶対情報に対して符号判定後の値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得し、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0077】
本願の実施例では、重みインデックスの絶対情報の範囲が[0~プリセット値の半分]の範囲内にあるため、エンコーダーは現在ブロック内のピクセルポイントの重みインデックスの絶対情報に基づいて、まず[0~プリセット値の半分]の範囲内の各重みインデックスの絶対情報に対応する重み値を算出してもよい。具体的に、エンコーダーは、重みインデックスの絶対情報に第1数値を加え、そして8-重みインデックスの絶対情報に対して符号判定後の値を加えた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。
【0078】
例として、三項演算子の実現方式を採用し、重みインデックスの絶対情報に対応する重み値は式(6)によって取得することができる。式(6)は以下のとおりである。
【0079】
WedgeFilter= ((weightIdxAbs + 2+sign(8-weightIdxAbs ))>>2)+4 (6)
式中、第1数値は2であり、プリセットの重み数値は4であり、プリセットビットは2であり、WedgeFilterはweightIdxAbsに対応する重み値であり、weightIdxAbsは1つの重みインデックスの絶対情報であり、sign()は符号を判定する関数であり、8-weightIdxAbs<0の場合は値は1であり、8-weightIdxAbsが0以上である場合は値は0である。
【0080】
プリセット値が26である場合、重みインデックスの絶対情報(weightIdxAbs)は、0、1、2、3、4、5、6、7、8、9、10、11、12、13であり、そうすると、重みインデックスの絶対情報の重み値(WedgeFilter[weightIdxAbs])は式(5)によって計算した結果、それぞれ4、4、5、5、5、5、6、6、6、7、7、7、7、8である。
【0081】
尚、エンコーダーが、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得するプロセスは、方式1の実現の記載と一致し、ここでは繰り返して説明しない。
【0082】
更に、式(6)と比較的に類似する計算結果に達するために、更に式(7)又は式(8)を採用して実現してもよく、本願の実施例は制限しない。式(7)及び式(8)は以下のとおりである。
【0083】
WedgeFilter= ((weightIdxAbs + 2))>>2)+4 (7)
WedgeFilter= ((weightIdxAbs + 1))>>2)+4 (8)
【0084】
方式4
エンコーダーは、重みインデックスの絶対情報に基づいて、プリセットの重みマッピングテーブルから重みインデックスの絶対情報に対応する重み値を探し出して取得する。プリセットの重みマッピングテーブルは、現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれプリセット値の半分内のクランプ処理を行って取得したものである。エンコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定する。エンコーダーは、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0085】
本願の実施例では、エンコーダーは方式1~方式3のいずれか1つの方式に基づいて、重みインデックスの絶対情報の0~プリセット値の半分の重み値を取得して、プリセットの重みマッピングテーブルとすることができる。エンコーダーは、現在ブロック内のピクセルポイントの重みインデックスの絶対情報を取得すると、プリセットの重みマッピングテーブルから各ピクセルポイントに対応する重み値を探し出すことができる。
【0086】
例として、プリセットの重みマッピングテーブルは表2に示される。
【0087】
【表2】
【0088】
尚、エンコーダーが、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得するプロセスは、方式1の実現の記載と一致し、ここでは繰り返して説明しない。
【0089】
方式5
重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、エンコーダーは、重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックスを取得する。重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、エンコーダーは、重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックスを取得する。エンコーダーは、プリセットの新しい重みマッピングテーブルから、新しい重みインデックスに対応する新しい重み値を取得する。重みインデックス情報が0以下である場合、エンコーダーは新しい重み値を重みインデックスの絶対情報に対応する重み値として決定し、重みインデックス情報が0より大きい場合、エンコーダーは8-新しい重み値を重みインデックスの絶対情報に対応する重み値として決定する。エンコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、エンコーダーは、第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0090】
本願の実施例では、重み値と重みインデックス情報との対応関係を表すプリセットの新しい重みマッピングテーブルが設定される。ここで、重み値は重複する値を有せず、重みインデックス情報は[0~プリセット値の半分]に属し、具体的な重みインデックス情報の個数は重み値の個数と一致し、表3に示される。
【0091】
【表3】
【0092】
ここで、ReduceIdxは重みインデックス情報であり、WedgeFilter[ReduceIdx]は重み値である。
【0093】
エンコーダーが現在ブロック内のピクセルポイントの重みインデックスの絶対情報を取得した時、重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、エンコーダーは、重みインデックスの絶対情報に第1数値を加えてプリセットビット右シフト処理をして、新しい重みインデックスを取得し、重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、エンコーダーは、重みインデックスの絶対情報に第2数値を加えてプリセットビット右シフト処理をして、新しい重みインデックスを取得する。
【0094】
例として、三項演算子の実現方式を採用し、新しい重みインデックスは式(9)によって取得することができる。式(9)は以下のとおりである。
【0095】
ReduceIdx=WeightIdxabs < 9 ? ((WeightIdxabs + 2)>>2) : ((WeightIdxabs + 3)>>2) (9)
式中、ReduceIdxは新しい重みインデックスであり、WeightIdxabsは1つのピクセルポイントの重みインデックスの絶対情報であり、プリセットのインデックス閾値は9であり、第1数値は2であり、第2数値は3であり、プリセットの重み数値は4であり、プリセットビットは2である。
【0096】
尚、式(9)における右シフト後の結果は整数部分のみを取る。
【0097】
区分マッピング関数の方式を採用し、新しい重みインデックスは更に式(10)によって取得することができる。式(10)は以下のとおりである。
【0098】
【数2】
【0099】
本願の実施例では、エンコーダーはプリセットの新しい重みマッピングテーブルから、現在ブロック内の各ピクセルポイントの重みインデックスの絶対情報に対応する重み値、即ち新しい重みインデックスに対応する新しい重み値WedgeFilter[ReduceIdx]を取得することができる。各ピクセルポイントの重みインデックス情報が0以下である場合、エンコーダーは新しい重み値を重みインデックスの絶対情報に対応する重み値として決定し、重みインデックス情報が0より大きい場合、エンコーダーは8-新しい重み値を重みインデックスの絶対情報に対応する重み値として決定する。
【0100】
本願の実施例では、エンコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションの第1ピクセルポイントに対応する第1重みインデックスの絶対情報及び第2パーティションの第2ピクセルポイントに対応する第2重みインデックスの絶対情報を取得し、該第1重みインデックスの絶対情報に基づいて第1ピクセルポイントの重み値を取得し、該第2重みインデックスの絶対情報に基づいて第2ピクセルポイントの重み値を取得し、第1ピクセルポイントの重み値及び第2ピクセルポイントの重み値に基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を取得する。
【0101】
例として、各ピクセルポイントの第1重み値は式(11)を使用して取得することができる。式(11)は以下のとおりである。
【0102】
sampleWeight = weightIdx <= 0 ? WedgeFilter[ReduceIdx] : 8 - WedgeFilter[ReduceIdx] (11)
式中、sampleWeightは1つのピクセルポイントの重み値であり、weightIdxは該1つのピクセルポイントの重みインデックスであり、WedgeFilter[ReduceIdx]は1つのピクセルポイントの重み絶対情報に対応する新しい重み値である。
【0103】
理解されるように、エンコーダーはGEOの重みマッピングテーブルを簡素化し、実行可能な数式を用いてGEO重みを演算のプロセスにおいて導き出し、重みマッピングテーブル及びテーブルルックアップ操作が省略される同時に、既存の重みマッピングテーブルの削減も暗黙的に実現され、それによってコード及びテキストが更に簡素化され、重みマッピングテーブルの記憶オーバーヘッドも低減される。
【0104】
ステップS107では、第1予測値、第1重み値、第2予測値、第2重み値を使用して現在ブロック内のピクセルポイントの重み付け融合を行い、現在ブロックのインター予測値を取得する。
【0105】
本願の実施例では、エンコーダーは各ピクセルポイントの第1予測値と第1重み値とを乗算し、対応する各ピクセルポイントの第2予測値と第2重み値との積を加えることによって、現在ブロック内のピクセルポイントに対する重み付け融合を遂行し、現在ブロックのインター予測値を取得することができる。
【0106】
尚、第1予測値及び第2予測値は現在ブロック内の各ピクセルポイントに対応する2つの予測値であり、第1重み値及び第2重み値もそれぞれ現在ブロックの各ピクセルポイントに対応する2つの異なる重み値である。
【0107】
現在ブロックのインター予測値は、以下に示す式(23)を採用して取得することができる。
【0108】
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesLPART1[x][y]*(8-sampleWeight1)+predSamplesLPART2[x][y]*sampleWeight2+offset1)>>shift1) (23)
式中、pbSamples[x][y]は現在ブロックの各ピクセルポイントのインター予測値であり、predSamplesLPART1[x][y]は各ピクセルポイントの第1予測値であり、sampleWeight1は各ピクセルポイントの第1重み値であり、predSamplesLPART2[x][y]は各ピクセルポイントの第2予測値であり、sampleWeight2は各ピクセルポイントの第2重み値である。
【0109】
本願の幾つかの実施例では、エンコーダーは現在ブロックのインター予測を行う時、ビデオ成分をそれぞれ予測し、即ち、第1予測値及び第2予測値はいずれも輝度予測値及び色度予測値を含む。
【0110】
本願の実施例では、エンコーダーはまず輝度成分の重み値を取得してもよく、色度成分の重み値は輝度成分の重み値に基づいて取得されることができる。
【0111】
本願の前述の第1重み及び第2重み値は輝度成分の重み値であってもよい。
【0112】
尚、エンコーダーは各2*2ブロックの右上隅の輝度サンプルの重みを取得して直接に現在(x、y)箇所の色度サンプルの重みとし、即ち、輝度サンプルの重みに対してダウンサンプリングを行う。
【0113】
例として、図6aに示される輝度の第1重みに対してダウンサンプリングを行って、図6bに示される色度の第1重み値を取得する。同様に、輝度の第2重みに対してダウンサンプリングを行った後、各2*2ブロックの右上隅の輝度サンプルの第2重みを直接に現在(x、y)箇所の色度サンプルの第2重みとすることができる。
【0114】
理解されるように、エンコーダーはインター予測を行うプロセスにおいて、GEOパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、更に絶対値のクランプ処理によって、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることができる。そうすると、プリセット値にクランプされる従来の場合の半分のサイズが削減され、従って重みインデックスの絶対情報に対応する重み値の記憶及び使用が半分ほど低減され、これによりインター予測時のテキスト及びコードが簡素化され、データ記憶のオーバーヘッドが低減される。
【0115】
本願の幾つかの実施例では、図7に示すように、現在ブロックのGEOパラメータは、角度インデックス情報及び現在ブロックのサイズ情報を含み、本願の実施例によるインター予測方法におけるステップS104の実現は以下のステップS1041~S1042を含んでもよい。
【0116】
ステップS1041では、現在ブロックのサイズ情報に基づいて、現在ブロック内のピクセルポイントの位置情報を決定する。
【0117】
ステップS1042では、角度インデックス情報、プリセットの角度マッピングテーブルに基づいて、それぞれ現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定する。
【0118】
本願の実施例では、エンコーダーの現在ブロックのサイズ情報は現在ブロックの高さH及び現在ブロックの幅Wを含み、それによって現在ブロックの位置する座標領域を決定し、更に現在ブロック内の各ピクセルポイントの位置情報、即ち各ピクセルポイントの座標情報(x、y)を決定することができる。エンコーダーは、角度インデックス情報、プリセットの角度マッピングテーブル、現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することができる。
【0119】
本願の幾つかの実施例では、エンコーダーが角度インデックス情報、プリセットの角度マッピングテーブル、現在ブロック内のピクセルポイントの位置情報に基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定する実現プロセスは、エンコーダーが角度インデックス情報に基づいてコサイン角度インデックス情報及びサイン角度インデックス情報を決定し、エンコーダーがプリセットの角度マッピングテーブルの角度を次数下げして、更新の角度マッピングテーブルを取得し、エンコーダーがコサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブルに基づいて、それぞれ現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することである。
【0120】
尚、プリセットの角度マッピングテーブルは既存技術において採用されている角度マッピングテーブルであり、表4に示すとおりである。
【0121】
【表4】
【0122】
ここでは、angleIdxは角度インデックス情報であり、Dis[angleIdx]は角度である。
【0123】
本願の実施例では、表5に示すように、エンコーダーがプリセットの角度マッピングテーブルの角度を次数下げして取得した更新の角度マッピングテーブルにおける角度は、いずれもプリセットの角度マッピングテーブルの次数を1つ下げられた角度値である。
【0124】
【表5】
【0125】
エンコーダーにおいては、元のプリセットの角度マッピングテーブルが削除され、更新の角度マッピングテーブルのみが残され、そうすると、記憶オーバーヘッドが低減される。
【0126】
本願の実施例では、エンコーダーがコサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブルに基づいて、それぞれ現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定する実現プロセスにおいて、該エンコーダーは、まずコサイン角度インデックス情報及びサイン角度インデックス情報に基づいて、ブロック中心点から現在の分割線までの垂直距離(rho)を決定し、次にコサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブル、現在ブロック内のピクセルポイントの位置情報及びrhoに基づいて、各ピクセルポイントの重みインデックスを決定する必要がある。
【0127】
例として、コサイン角度インデックス情報は式(12)によって取得することができ、サイン角度インデックス情報は式(13)によって取得することができる。式(12)及び式(13)は以下のとおりである。
【0128】
displacementX= angleIdx (12)
displacementY=(displacementX + 6)%24 (13)
式中、displacementXはコサイン角度インデックス情報であり、displacementYはサイン角度インデックス情報であり、angleIdxは角度インデックス情報である。
【0129】
尚、現在の角度に対応するcos(α)インデックス番号はdisplacementXであり、対応する-sin(α)インデックス番号はdisplacementYである。
【0130】
rhoは式(14)によって取得することができる。式(14)は以下のとおりである。
【0131】
rho=(Dis [displacementX]<< 8) + (Dis[displacementY] << 8) (14)
式中、Dis [displacementX]はコサイン角度インデックス情報に対応するコサイン角度(第1角度)であり、Dis[displacementYはサイン角度インデックス情報に対応するサイン角度(第2角度)であり、コサイン角度及びサイン角度は更新のマッピングテーブルに基づいて取得することができる。
【0132】
現在ブロックの各ピクセルポイントの重みインデックスは式(15)によって取得することができる。式(15)は以下のとおりである。
【0133】
weightIdx = ((x<<1) + 1)*Dis[displacementX]
+ ((y<<1) + 1))*Dis[displacementY] - rho (15)
式中、weightIdxは1つのピクセルポイントの重みインデックスであり、xは1つのピクセルポイントの横座標値であり、yは該1つのピクセルポイントの縦座標値である。1つのピクセルポイントの位置情報は(x、y)である。
【0134】
理解されるように、取得されたインデックスで重みマッピングテーブルをルックアップして対応する重みを取得し、上記計算の各ステップはいずれも角度Dis[displacementX]及びDis[displacementY]と乗算することが必要であることがわかる。それに対して、本案では重みマッピングテーブルを除去し、数学的な方法を設計して重みマッピングテーブルを暗黙的に半減するため、重みインデックス及び動きインデックスを計算する各ステップにおいていずれも2で割る必要がある。しかし、角度マッピングテーブルにおける値はいずれも2のべき乗次数であるため、角度マッピングテーブルを次数下げすることによって、重みインデックス及び動きインデックスを2で割る操作を実現し、そして削減された後の重みマッピングテーブルと対応付けることができる。
【0135】
本願の幾つかの実施例では、本願の実施例によるインター予測方法のステップS107の後、該方法は更にステップS108~S113を含んでもよい。
【0136】
ステップS108では、コサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブルに基づいて、動きオフセット値を決定し、角度インデックス情報、ステップサイズインデックス情報、及び現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得する。
【0137】
ステップS109では、動きオフセット値、動き横座標オフセット値、動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、コサイン角度インデックス情報に対応する第1角度、サイン角度インデックス情報に対応する第2角度に基づいて、動きインデックス情報を取得する。
【0138】
ステップS110では、動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、第1動き情報及び第2動き情報を現在ブロックの動き情報として決定する。
【0139】
ステップS111では、動きインデックス情報が0以下である場合、第1動き情報を現在ブロックの動き情報として決定する。
【0140】
ステップS112では、動きインデックス情報が0より大きい場合、第2動き情報を現在ブロックの動き情報として決定する。
【0141】
ステップS113では、現在ブロックの動き情報をプリセットのマージ候補リストに記憶する。
【0142】
本願の実施例では、エンコーダーは現在ブロックの符号化を行う時、後続の符号化ブロックのインター予測で使用するために、更に現在ブロックの符号化された動き情報を記憶する必要がある。エンコーダーはコサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブルに基づいて、第1角度及び第2角度を算出し、更に第1角度及び第2角度に基づいて動きオフセット値を取得する。エンコーダーは、動きオフセット値、動き横座標オフセット値、動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、コサイン角度インデックス情報に対応する第1角度、サイン角度インデックス情報に対応する第2角度に基づいて、動きインデックス情報を取得する。動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、エンコーダーは第1動き情報及び第2動き情報を現在ブロックの動き情報として決定し、動きインデックス情報が0以下である場合、エンコーダーは第1動き情報を現在ブロックの動き情報として決定し、動きインデックス情報が0より大きい場合、エンコーダーは第2動き情報を現在ブロックの動き情報として決定する。現在ブロックの動き情報をプリセットのマージ候補リストに記憶する。
【0143】
例として、動きオフセット値(motionOffset)は式(16)を使用して取得することができる。式(16)は以下のとおりである。
【0144】
motionOffset = 3*Dis[displacementX]+ 3*Dis[displacementY] (16)
【0145】
本願の実施例では、GEOパラメータに更にステップサイズインデックス情報が含まれるため、エンコーダーが角度インデックス情報、ステップサイズインデックス情報、及び現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得できる実現は、shiftHor==0の場合、式(17)及び(18)を採用して実現することができ、式(17)及び(18)は以下のとおりである。
【0146】
offsetX = ( 64 - numSbX ) >> 1 (17)
offsetY=(64-numSbY)>>1+angleIdx<12?(distanceIdx*nCbH)>>3:-((distanceIdx*nCbH) >>3) (18)
式中、offsetXは動き横座標オフセット値であり、offsetYは動き縦座標オフセット値であり、angleIdxは角度インデックス情報であり、distanceIdxはステップサイズインデックス情報であり、numSbXは現在ブロックのモーションマスクマトリックスの幅であり、numSbYは現在ブロックのモーションマスクマトリックスの高さであり、nCbW及びnCbHは現在ブロックの幅及び高さを表す。
【0147】
本願の実施例では、GEOパラメータに更にステップサイズインデックス情報が含まれるため、エンコーダーが角度インデックス情報、ステップサイズインデックス情報、及び現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得できる実現は、shiftHor==1の場合、式(19)及び(20)を採用して実現することができ、式(19)及び(20)は以下のとおりである。
【0148】
offsetX=(64-numSbX)>>1+angleIdx<12?(distanceIdx*nCbW)>>3:-((distanceIdx * nCbW) >> 3) (19)
offsetY = ( 64 - numSbY ) >> 1 (20)
式中、offsetXは動き横座標オフセット値であり、offsetYは動き縦座標オフセット値であり、angleIdxは角度インデックス情報であり、distanceIdxはステップサイズインデックス情報であり、numSbXは現在ブロックのモーションマスクマトリックスの幅であり、numSbYは現在ブロックのモーションマスクマトリックスの高さであり、nCbW及びnCbHは現在ブロックの幅及び高さを表す。
【0149】
例として、本願の実施例では、エンコーダーが動きオフセット値、動き横座標オフセット値、動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、コサイン角度インデックス情報に対応する第1角度、サイン角度インデックス情報に対応する第2角度に基づいて、動きインデックス情報を取得する実現は、式(21)によって取得することができる。式(21)は以下のとおりである。
【0150】
motionIdx=(((xSbIdx+ offsetX) <<3) +1)*Dis[displacementX]+ (((ySbIdx + offsetY <<3) +1))*Dis[displacementY] - rho + motionOffset (21)
式中、motionIdxは動きインデックス情報であり、現在ブロックの左上隅のピクセルポイントの位置情報は(xSbIdx、ySbIdx)であり、offsetXは動き横座標オフセット値であり、offsetYは動き縦座標オフセット値であり、Dis[displacementX]は第1角度であり、Dis[displacementY]は第2角度であり、rhoは第1角度及び第2角度に基づいて取得されたブロック中心点から現在の分割線までの垂直距離でもあり、motionOffsetは動きオフセット値である。
【0151】
尚、ShiftHorは水平オフセットであり、その値は0である。Y軸において複数のオフセットが必要であり、その値は1である。X軸において複数のオフセットが必要である。
【0152】
もし(angleIdx%12==6)||(angleIdx%12!=0&&hwRatio≧1)であれば、ShiftHor=0であり、
そうでなければ、ShiftHor=1である。
【0153】
本願の幾つかの実施例では、エンコーダーは現在のモーションマスクマトリックスに基づいて、第1動き情報及び第2動き情報から現在ブロックの動き情報を決定し、プリセットのマージ候補リストに記憶してもよい。
【0154】
本願の幾つかの実施例では、エンコーダーは更に動きインデックス情報に基づいて、現在ブロックの動き情報を決定してもよい。動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、第1動き情報及び第2動き情報を現在ブロックの動き情報として決定し、動きインデックス情報が0以下である場合、第1動き情報を現在ブロックの動き情報として決定し、動きインデックス情報が0より大きい場合、第2動き情報を現在ブロックの動き情報として決定する。現在ブロックの動き情報をプリセットのマージ候補リストに記憶する。
【0155】
現在ブロックが16×16であると仮定すると、エンコーダーは各4×4サブブロックにおけるabs(motionIdx)のサイズに基づいて、現在サブブロックが一方向の動き情報それとも双方向の動き情報を記憶するかを判断する。
【0156】
例として、もしabs(motionIdx)<16であれば、現在ブロックは構成された双方向の動き情報、即ち第1動き情報及び第2動き情報を記憶し、
もし(motionIdx)≦0であれば、現在ブロックは1番目のパーティションの第1動き情報を記憶し、
もし(motionIdx)>0であれば、現在ブロックは2番目のパーティションの第2動き情報を記憶する。
【0157】
ここで、プリセットの動きインデックス閾値は32である。
【0158】
尚、本願の実施例では、エンコーダーはまずモーションマスクマトリックスを取得し、次に動き横座標オフセット値及び動き縦座標オフセット値に基づいて、プリセットモーションマスクマトリックスからトリミングして現在ブロックの現在モーションマスクマトリックスを取得することができる。
【0159】
例として、図8に示すプリセットモーションマスクマトリックス1では、分割モードの違い、角度ψ、ステップサイズρ、offsetX、及びoffsetYの違いによって、現在ブロックのサイズAを採用してプリセットモーションマスクマトリックス1からトリミングして、異なる現在モーションマスクマトリックス2、3、4を得ることができる。
【0160】
尚、GEOはTPMが動き情報を記憶する方式を継承するため、GEOモードでの動き情報の記憶は依然として4×4の小さいブロックを単位として行われ、従って、GEOの事前定義されたモーションマスクマトリックスのサイズは56*56であり、各4×4の小さいブロックの動き情報はその左上隅のポイント箇所の加重重みによって決定され、最後に算出された全ての4×4の小さいブロックのモーションマスクを56×56のマトリックスに記憶する。具体的に、エンコーダーは式(16)によって動きオフセット値(motionOffset)を取得し、56×56における各ピクセルポイントの位置情報(x、y)、motionOffset、rho、第1角度及び第2角度に基づいて、全部の動きインデックス情報(motionIdx1)を取得する。式(22)は以下のとおりである。
【0161】
motionIdx1=((x<<3)+1)*Dis[displacementX]+((y<<3+1))*Dis[displacementY] - rho + motionOffset (22)
【0162】
ここで、56×56のプリセットモーションマスクマトリックスにおける動き情報に対応するマスクは、abs(motionIdx1)及びmotionIdx1に基づいて決定されるものである。
【0163】
例として、もしabs(motionIdx)<16であれば、現在の4×4サブブロックのモーションマスクは2であり(双方向の動き情報を表す)、
そうではない場合、
もし(motionIdx)≦0であれば、現在の4×4サブブロックのモーションマスクは0であり(第1動き情報を表す)、
もし(motionIdx)>0であれば、現在の4×4サブブロックのモーションマスクは1である(第2動き情報を表す)。
【0164】
尚、本願の実施例では、実際には合わせて7つの事前保存されたマスクマトリックスがあり(加重重みマスクマトリックス及びモーションマスクマトリックスを含む)、それぞれ0~90間の7つの角度の、第1種類のステップサイズがブロックの中心点を通過する状況に対応する。その他の角度の事前保存マスクマトリックスは、この7つのマトリックスを水平方向又は垂直方向においてミラーリングすることによって取得され、それによって記憶スペースが減少する。
【0165】
理解されるように、本願の実施例によるインター予測方法はGEOに基づくVVC参照ソフトウェアVTM7.0_common_baseに実現された後、Random Access条件において、JVETに要求されたテストシーケンスのテストを行い、Y、Cb、Cr成分においてBD-rateの変化は一切ない(Anchorの性能と一致する)。このデータから分かるように、該簡素化の案は符号化性能に何の影響もなく、しかも重みテーブルの記憶サイズが低減され、テキスト記述及びコードの実現が簡素化される。時間複雑度の面では、GEO事前定義重みマトリックスでは各シーケンスに対して符号化/復号化を開始する前に1回のみ計算するため、本案のもたらす三項演算子の操作は全体の符号化/復号化時間の複雑度に影響を及ぼすことがなく、時間複雑度は殆ど変わらないと言える。
【0166】
本願の実施例は、ビデオ復号化装置、即ちデコーダーに適用されるインター予測方法を提供する。該方法の実現する機能は、ビデオ復号化装置におけるプロセッサがプログラムコードを呼び出すことによって実現されることができる。当然ながら、プログラムコードはコンピュータ記憶媒体に記憶されることができる。ここから分かるように、該ビデオ復号化装置は少なくともプロセッサ及び記憶媒体を備える。
【0167】
図9は本願の実施例によるイントラ予測方法の実現の模式的なフローチャートである。図9に示すように、該方法は以下のステップS201~S213を含む。
【0168】
S201では、ビットストリームを解析し、現在ブロックの予測モードパラメータを決定する。
【0169】
S202では、予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、ビットストリームを解析し、現在ブロックのGEOパラメータを決定する。
【0170】
S203では、GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定する。
【0171】
S204では、GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定する。
【0172】
S205では、現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得し、クランプ処理は現在ブロック内のピクセルポイントに対応する重みインデックスの最大値をプリセット値の半分にクランプすることである。
【0173】
S206では、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定する。
【0174】
S207では、第1予測値、第1重み値、第2予測値、第2重み値を使用して現在ブロック内のピクセルポイントの重み付け融合を決定し、現在ブロックのインター予測値を取得する。
【0175】
本願の幾つかの実施例では、デコーダーが現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定する具体的な実現は、以下5つの方式を含んでもよい。
【0176】
方式1
重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、デコーダーは、重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、デコーダーは、重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。デコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定する。デコーダーは、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0177】
方式2
デコーダーは、重みインデックスの絶対情報を、第1数値、重みインデックスの絶対情報が8より大きいか否かの値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得する。デコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定する。デコーダーは、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0178】
方式3
デコーダーは、重みインデックスの絶対情報を、第1数値、8-重みインデックスの絶対情報に対して符号判定後の値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得し、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0179】
方式4
デコーダーは、重みインデックスの絶対情報に基づいて、プリセットの重みマッピングテーブルから重みインデックスの絶対情報に対応する重み値を探し出して取得する。プリセットの重みマッピングテーブルは、現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれプリセット値の半分内のクランプ処理を行って取得したものである。デコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定する。デコーダーは、第1重み値に基づいて、第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0180】
方式5
重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、デコーダーは、重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックスを取得する。重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、デコーダーは、重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックスを取得する。デコーダーは、プリセットの新しい重みマッピングテーブルから、新しい重みインデックスに対応する新しい重み値を取得する。重みインデックス情報が0以下である場合、デコーダーは新しい重み値を重みインデックスの絶対情報に対応する重み値として決定し、重みインデックス情報が0より大きい場合、デコーダーは8-新しい重み値を重みインデックスの絶対情報に対応する重み値として決定する。デコーダーは、重みインデックスの絶対情報に対応する重み値及び現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定し、デコーダーは、第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得する。
【0181】
本願の実施例では、デコーダーはビットストリームから、現在ブロックに対応する角度インデックス情報、第1パーティションに対応する第1参照ブロックの第1動き情報、第2パーティションに対応する第2参照ブロックの第2動き情報、及びステップサイズインデックス情報を解析し、それぞれ第1動き情報及び第2動き情報に基づいて動き補償を行って、第1パーティションに対応する第1の一方向の予測値及び第2パーティションに対応する第2の一方向の予測値を取得する。
【0182】
ここで、プリセット値は26であり、プリセットのインデックス閾値は9であり、第1数値は2であり、第2数値は3であり、プリセットの重み数値は4であり、プリセットビットは2である。
【0183】
本願の実施例では、デコーダーのステップS201~S207の実現はエンコーダー側でのステップS101~S107の実現プロセスと基本的に一致し、ここでは繰り返して説明しない。
【0184】
違うのは、デコーダー側の現在ブロックの予測モードパラメータ及びGEOパラメータが、いずれもビットストリームから解析されるものであり、それに対して、エンコーダーが自分で取得することである。
【0185】
理解されるように、デコーダーは、インター予測を行うプロセスにおいて、GEOパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、更に絶対値のクランプ処理によって、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることができる。そうすると、プリセット値にクランプされる従来の場合の半分のサイズが削減され、従って重みインデックスの絶対情報に対応する重み値の記憶及び使用が半分ほど低減され、これによりインター予測時のテキスト及びコードが簡素化され、データ記憶のオーバーヘッドが低減される。
【0186】
本願の幾つかの実施例では、現在ブロックのGEOパラメータは、角度インデックス情報及び現在ブロックのサイズ情報を含み、本願の実施例によるインター予測方法におけるステップS204の実現は以下のステップS2041~S2042を含んでもよい。
【0187】
ステップS2041では、現在ブロックのサイズ情報に基づいて、現在ブロック内のピクセルポイントの位置情報を決定する。
【0188】
ステップS2042では、角度インデックス情報、プリセットの角度マッピングテーブルに基づいて、それぞれ現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定する。
【0189】
本願の幾つかの実施例では、デコーダーは、角度インデックス情報に基づいてコサイン角度インデックス情報及びサイン角度インデックス情報を決定し、プリセットの角度マッピングテーブルの角度を次数下げして更新の角度マッピングテーブルを取得し、コサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブルに基づいて、それぞれ現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することができる。
【0190】
本願の実施例では、デコーダーのステップS2041~S2042の実現はエンコーダー側の実現プロセスのステップS1041~S1042と基本的に一致し、ここでは繰り返して説明しない。
【0191】
理解されるように、取得されたインデックスで重みマッピングテーブルをルックアップして対応する重みを取得し、上記計算の各ステップはいずれも角度Dis[displacementX]及びDis[displacementY]と乗算することが必要であることがわかる。それに対して、本案では重みマッピングテーブルを除去し、数学的な方法を設計して重みマッピングテーブルを暗黙的に半減するため、重みインデックス及び動きインデックスを計算する各ステップにおいていずれも2で割る必要がある。しかし、角度マッピングテーブルにおける値はいずれも2のべき乗次数であるため、角度マッピングテーブルを次数下げすることによって、重みインデックス及び動きインデックスを2で割る操作を実現し、そして削減された後の重みマッピングテーブルと対応付けることができる。
【0192】
ステップS208では、コサイン角度インデックス情報、サイン角度インデックス情報、更新の角度マッピングテーブルに基づいて、動きオフセット値を決定し、角度インデックス情報、ステップサイズインデックス情報、及び現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得する。
【0193】
ステップS209では、動きオフセット値、動き横座標オフセット値、動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、コサイン角度インデックス情報に対応する第1角度、サイン角度インデックス情報に対応する第2角度に基づいて、動きインデックス情報を取得する。
【0194】
ステップS210では、動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、第1動き情報及び第2動き情報を現在ブロックの動き情報として決定する。
【0195】
ステップS211では、動きインデックス情報が0以下である場合、第1動き情報を現在ブロックの動き情報として決定する。
【0196】
ステップS212では、動きインデックス情報が0より大きい場合、第2動き情報を現在ブロックの動き情報として決定する。
【0197】
ステップS213では、現在ブロックの動き情報をプリセットのマージ候補リストに記憶する。
【0198】
本願の実施例では、デコーダーのステップS208~S213の実現はエンコーダー側でのステップS108~S113の実現プロセスと基本的に一致し、ここでは繰り返して説明しない。
【0199】
ここでは、プリセットの動きインデックス閾値は32である。
【0200】
理解されるように、本願の実施例によるインター予測方法はGEOに基づくVVC参照ソフトウェアVTM7.0_common_baseに実現された後、Random Access条件において、JVETに要求されたテストシーケンスのテストを行い、Y、Cb、Cr成分においてBD-rateの変化は一切ない(Anchorの性能と一致する)。このデータから分かるように、該簡素化の案は符号化性能に何の影響もなく、しかも重みテーブルの記憶サイズが低減され、テキスト記述及びコードの実現が簡素化される。時間複雑度の面では、GEO事前定義重みマトリックスでは各シーケンスに対して符号化/復号化を開始する前に1回のみ計算するため、本案のもたらす三項演算子の操作は全体の符号化/復号化時間の複雑度に影響を及ぼすことがなく、時間複雑度は殆ど変わらないと言える。
【0201】
図10に示すように、本願の実施例はエンコーダー1を提供し、第1決定ユニット10、第1クランプユニット11及び第1予測ユニット12を備え、
前記第1決定ユニット10は、現在ブロックの予測モードパラメータを決定することと、前記予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、現在ブロックのGEOパラメータを決定することと、前記GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定することと、前記GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられ、
前記第1クランプユニット11は、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することに用いられ、前記クランプ処理は前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることであり、
前記第1決定ユニット10は更に、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することに用いられ、
前記第1予測ユニット12は、前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を行い、現在ブロックのインター予測値を取得することに用いられる。
【0202】
本願の幾つかの実施例では、前記現在ブロックのGEOパラメータは角度インデックス情報及び現在ブロックのサイズ情報を含み、
前記第1決定ユニット10は更に、前記現在ブロックのサイズ情報に基づいて、前記現在ブロック内のピクセルポイントの位置情報を決定することと、前記角度インデックス情報、プリセットの角度マッピングテーブルに基づいて、それぞれ前記現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられる。
【0203】
本願の幾つかの実施例では、前記第1決定ユニット10は更に、前記角度インデックス情報に基づいて、コサイン角度インデックス情報及びサイン角度インデックス情報を決定することと、前記プリセットの角度マッピングテーブルの角度を次数下げして、前記更新の角度マッピングテーブルを取得することと、前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブルに基づいて、それぞれ前記現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられる。
【0204】
本願の幾つかの実施例では、前記第1決定ユニット10は更に、前記重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、前記重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、前記重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの前記第2重み値を取得することと、に用いられる。
【0205】
本願の幾つかの実施例では、前記第1決定ユニット10は更に、前記重みインデックスの絶対情報を、第1数値、前記重みインデックスの絶対情報が8より大きいか否かの値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0206】
本願の幾つかの実施例では、前記第1決定ユニット10は更に、前記重みインデックスの絶対情報を、第1数値、8-前記重みインデックスの絶対情報に対して符号判定後の値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0207】
本願の幾つかの実施例では、前記第1決定ユニット10は更に、前記重みインデックスの絶対情報に基づいて、プリセットの重みマッピングテーブルから、前記重みインデックスの絶対情報に対応する重み値を探し出して取得し、前記プリセットの重みマッピングテーブルは、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれプリセット値の半分内のクランプ処理を行って取得したものであることと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0208】
本願の幾つかの実施例では、前記第1決定ユニット10は更に、前記重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、前記重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックス情報を取得することと、前記重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、前記重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックス情報を取得することと、プリセットの新しい重みマッピングテーブルから、前記新しい重みインデックス情報に対応する新しい重み値を取得することと、前記重みインデックス情報が0以下である場合、前記新しい重み値を重みインデックスの絶対情報に対応する重み値として決定することと、前記重みインデックス情報が0より大きい場合、8-前記新しい重み値を重みインデックスの絶対情報に対応する重み値として決定することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0209】
本願の幾つかの実施例では、前記エンコーダー1は更に書き込みユニット13及び第1記憶ユニット14を備え(いずれも未図示)、
前記書き込みユニット13は、前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を行い、現在ブロックのインター予測値を取得した後、前記角度インデックス情報をビットストリームに書き込むことに用いられ、
前記第1決定ユニット10は更に、前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブルに基づいて、動きオフセット値を決定し、前記角度インデックス情報、ステップサイズインデックス情報、及び前記現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得することと、動きオフセット値、前記動き横座標オフセット値、前記動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、前記コサイン角度インデックス情報に対応する第1角度、前記サイン角度インデックス情報に対応する第2角度に基づいて、動きインデックス情報を取得することと、前記動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、前記第1動き情報及び前記第2動き情報を前記現在ブロックの動き情報として決定することと、前記動きインデックス情報が0以下である場合、前記第1動き情報を前記現在ブロックの動き情報として決定することと、前記動きインデックス情報が0より大きい場合、前記第2動き情報を前記現在ブロックの動き情報として決定することと、に用いられ、
前記第1記憶ユニット14は、前記現在ブロックの動き情報をプリセットのマージ候補リストに記憶することに用いられる。
【0210】
本願の幾つかの実施例では、前記プリセット値は26であり、プリセットのインデックス閾値は9であり、第1数値は2であり、第2数値は3であり、プリセットの重み数値は4であり、プリセットビットは2であり、プリセットの動きインデックス閾値は32である。
【0211】
実際の応用では、図11に示すように、本願の実施例は更にエンコーダーを提供し、第1メモリ15及び第1プロセッサ16を備え、
前記第1メモリ15には第1プロセッサ16において実行できるコンピュータプログラムが記憶され、前記第1プロセッサ16が前記プログラムを実行する時、エンコーダー側のインター予測方法が実現される。
【0212】
理解されるように、エンコーダーはインター予測を行うプロセスにおいて、GEOパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、更に絶対値のクランプ処理によって、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることができる。そうすると、プリセット値にクランプされる従来の場合の半分のサイズが削減され、従って重みインデックスの絶対情報に対応する重み値の記憶及び使用が半分ほど低減され、これによりインター予測時のテキスト及びコードが簡素化され、データ記憶のオーバーヘッドが低減される。
【0213】
図12に示すように、本願の実施例はデコーダー2を提供し、解析ユニット20、第2決定ユニット21、第2クランプユニット22及び第2予測ユニット23を備え、
前記解析ユニット20は、ビットストリームを解析し、現在ブロックの予測モードパラメータを決定することに用いられ、
前記第2決定ユニット21は、前記予測モードパラメータはインターブロック幾何学的分割予測モード(GEO)を使用して現在ブロックのインター予測を決定するように指示する場合、ビットストリームを解析し、現在ブロックのGEOパラメータを決定することと、GEOパラメータに基づいて、現在ブロックの第1パーティションの第1予測値及び現在ブロックの第2パーティションの第2予測値を決定することと、前記GEOパラメータに基づいて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられ、
前記第2クランプユニット22は、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれクランプ処理をして、現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報を取得することに用いられ、前記クランプ処理は前記現在ブロック内のピクセルポイントに対応する重みインデックスの最大値をプリセット値の半分にクランプすることであり、
前記第2決定ユニット21は更に、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対情報に基づいて、現在ブロック内のピクセルポイントの第1重み値及び現在ブロック内のピクセルポイントの第2重み値を決定することに用いられ、
前記第2予測ユニット23は、前記第1予測値、前記第1重み値、前記第2予測値、前記第2重み値を使用して前記現在ブロック内のピクセルポイントの重み付け融合を決定し、現在ブロックのインター予測値を取得することに用いられる。
【0214】
本願の幾つかの実施例では、前記現在ブロックのGEOパラメータは角度インデックス情報及び現在ブロックのサイズ情報を含み、
前記第2決定ユニット21は更に、前記現在ブロックのサイズ情報に基づいて、前記現在ブロック内のピクセルポイントの位置情報を決定することと、前記角度インデックス情報、プリセットの角度マッピングテーブルに基づいて、それぞれ前記現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられる。
【0215】
本願の幾つかの実施例では、前記第2決定ユニット21は更に、前記角度インデックス情報に基づいて、コサイン角度インデックス情報及びサイン角度インデックス情報を決定することと、前記プリセットの角度マッピングテーブルの角度を次数下げして、前記更新の角度マッピングテーブルを取得することと、前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブルに基づいて、それぞれ前記現在ブロック内のピクセルポイントの位置情報と組み合わせて、現在ブロック内のピクセルポイントに対応する重みインデックスを決定することと、に用いられる。
【0216】
本願の幾つかの実施例では、前記第2決定ユニット21は更に、前記重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、前記重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、前記重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をした後、更にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0217】
本願の幾つかの実施例では、前記第2決定ユニット21は更に、前記重みインデックスの絶対情報を、第1数値、前記重みインデックスの絶対情報が8より大きいか否かの値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0218】
本願の幾つかの実施例では、前記第2決定ユニット21は更に、前記重みインデックスの絶対情報を、第1数値、8-前記重みインデックスの絶対情報に対して符号判定後の値と組み合わせた後、更にプリセットビット右シフト処理を行い、最後にプリセットの重み数値を加えて、重みインデックスの絶対情報に対応する重み値を取得することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0219】
本願の幾つかの実施例では、前記第2決定ユニット21は更に、前記重みインデックスの絶対情報に基づいて、プリセットの重みマッピングテーブルから、重みインデックスの絶対情報に対応する重み値を探し出して取得し、前記プリセットの重みマッピングテーブルは、前記現在ブロック内のピクセルポイントに対応する重みインデックスに対してそれぞれプリセット値の半分内のクランプ処理を行って取得したものであることと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0220】
本願の幾つかの実施例では、前記第2決定ユニット21は更に、前記重みインデックスの絶対情報がプリセットのインデックス閾値より小さい場合、前記重みインデックスの絶対情報を第1数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックス情報を取得することと、前記重みインデックスの絶対情報がプリセットのインデックス閾値以上である場合、前記重みインデックスの絶対情報を第2数値と組み合わせてプリセットビット右シフト処理をして、新しい重みインデックス情報を取得することと、プリセットの新しい重みマッピングテーブルから、前記新しい重みインデックス情報に対応する新しい重み値を取得することと、前記重みインデックス情報が0以下である場合、前記新しい重み値を重みインデックスの絶対情報に対応する重み値として決定することと、前記重みインデックス情報が0より大きい場合、8-前記新しい重み値を重みインデックスの絶対情報に対応する重み値として決定することと、前記重みインデックスの絶対情報に対応する重み値及び前記現在ブロック内のピクセルポイントに対応する重みインデックスに基づいて、前記第1パーティションに対応する現在ブロック内のピクセルポイントの第1重み値を決定することと、前記第1重み値に基づいて、前記第2パーティションに対応する現在ブロック内のピクセルポイントの第2重み値を取得することと、に用いられる。
【0221】
本願の幾つかの実施例では、前記デコーダー2は更に第2記憶ユニット24を備え(未図示)、
前記第2決定ユニット21は更に、前記第1の一方向の予測値、前記第1重み値、前記第2の一方向の予測値、前記第2重み値を使用して各ピクセルポイントの重み付け融合を行い、現在ブロックの予測値を取得した後、前記コサイン角度インデックス情報、前記サイン角度インデックス情報、前記更新の角度マッピングテーブルに基づいて、動きオフセット値を決定し、前記角度インデックス情報、ステップサイズインデックス情報、及び前記現在ブロックのサイズ情報に基づいて、現在ブロックに対応する動き横座標オフセット値及び動き縦座標オフセット値を取得することと、動きオフセット値、前記動き横座標オフセット値、前記動き縦座標オフセット値、現在ブロックの左上隅のピクセルポイントの位置情報、前記コサイン角度インデックス情報に対応する第1角度、前記サイン角度インデックス情報に対応する第2角度に基づいて、動きインデックス情報を取得することと、前記動きインデックス情報の絶対値がプリセットの動きインデックス閾値の半分より小さい場合、前記第1動き情報及び前記第2動き情報を前記現在ブロックの動き情報として決定することと、前記動きインデックス情報が0以下である場合、前記第1動き情報を前記現在ブロックの動き情報として決定することと、前記動きインデックス情報が0より大きい場合、前記第2動き情報を前記現在ブロックの動き情報として決定することと、に用いられ、
前記第2記憶ユニット24は、前記現在ブロックの動き情報をプリセットのマージ候補リストに記憶することに用いられる。
【0222】
本願の幾つかの実施例では、前記プリセット値は26であり、プリセットのインデックス閾値は9であり、第1数値は2であり、第2数値は3であり、プリセットの重み数値は4であり、プリセットビットは2であり、プリセットの動きインデックス閾値は32である。
【0223】
実際の応用では、図13に示すように、本願の実施例は更にデコーダーを提供し、第2メモリ25及び第2プロセッサ26を備え、
前記第2メモリ25には第2プロセッサ26において実行できるコンピュータプログラムが記憶され、前記第2プロセッサ26が前記プログラムを実行する時、デコーダー側のインター予測方法が実現される。
【0224】
理解されるように、デコーダーはインター予測を行うプロセスにおいて、GEOパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、更に絶対値のクランプ処理によって、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることができる。そうすると、プリセット値にクランプされる従来の場合の半分のサイズが削減され、従って重みインデックスの絶対情報に対応する重み値の記憶及び使用が半分ほど低減され、これによりインター予測時のテキスト及びコードが簡素化され、データ記憶のオーバーヘッドが低減される。
【0225】
対応して、本願の実施例は記憶媒体を提供し、それにはコンピュータプログラムが記憶され、該コンピュータプログラムが第1プロセッサによって実行される時、エンコーダーのインター予測方法が実現され、又は、該コンピュータプログラムが第2プロセッサによって実行される時、デコーダーのインター予測方法が実現される。
【0226】
尚、以上の記憶媒体及び装置実施例の説明は、前述の方法実施例の説明と類似し、方法実施例と類似する有益な効果を有する。本願の記憶媒体及び装置実施例に開示されていない技術詳細については、本願の方法実施例の説明を参照して理解できる。
【0227】
以上の説明は単に本願の実施形態に過ぎず、本願の保護範囲を制限するためのものではなく、当業者が本願に開示される技術的範囲内において容易に想到し得る変更や置換は、いずれも本願の保護範囲内に含まれるべきである。従って、本願の保護範囲は特許請求の範囲に準じるべきである。
【産業上の利用可能性】
【0228】
本願の実施例では、インター予測を行うプロセスにおいて、GEOパラメータに基づいて現在ブロック内のピクセルポイントに対応する重みインデックスを決定し、更に絶対値のクランプ処理によって、前記現在ブロック内のピクセルポイントに対応する重みインデックスの絶対値の最大値をプリセット値の半分にクランプすることができる。そうすると、プリセット値にクランプされる従来の場合の半分のサイズが削減され、従って重みインデックスの絶対情報に対応する重み値の記憶及び使用が半分ほど低減され、これによりインター予測時のテキスト及びコードが簡素化され、データ記憶のオーバーヘッドが低減される。
図1
図2
図3
図4a
図4b
図4c
図4d
図4e
図4f
図4g
図5
図6a
図6b
図7
図8
図9
図10
図11
図12
図13