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

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

▶ ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッドの特許一覧

特表2024-540335ビデオ・コーディングにおけるアフィン・マージ・モードに対する候補導出
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】ビデオ・コーディングにおけるアフィン・マージ・モードに対する候補導出
(51)【国際特許分類】
   H04N 19/54 20140101AFI20241024BHJP
【FI】
H04N19/54
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024526732
(86)(22)【出願日】2022-11-08
(85)【翻訳文提出日】2024-05-02
(86)【国際出願番号】 US2022049228
(87)【国際公開番号】W WO2023081499
(87)【国際公開日】2023-05-11
(31)【優先権主張番号】63/277,148
(32)【優先日】2021-11-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521248394
【氏名又は名称】ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】チェン、ウェイ
(72)【発明者】
【氏名】シウ、シャオユー
(72)【発明者】
【氏名】チェン、イー-ウェン
(72)【発明者】
【氏名】チュー、ホン-チェン
(72)【発明者】
【氏名】クオ、チョー-ウェイ
(72)【発明者】
【氏名】ヤン、ニン
(72)【発明者】
【氏名】ワン、シャンリン
(72)【発明者】
【氏名】ユイ、ビン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159NN31
5C159PP16
5C159RC12
5C159RC38
5C159TA62
5C159TB08
5C159TC42
5C159UA02
5C159UA05
5C159UA16
5C159UA22
(57)【要約】
ビデオ復号の方法、ビデオ符号化の方法、その装置及び非一時的コンピュータ可読記憶媒体が提供される。ビデオ復号の方法は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得することと、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、を含む。方法は更に、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、を含み得る。
【特許請求の範囲】
【請求項1】
ビデオ復号の方法であって、
カレント・ブロック(current block)の第1の近傍ブロック(neighbor block)に基づいて、1つ以上の第1のパラメータを取得することと、
前記カレント・ブロックの前記第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項2】
複数の近接する(adjacent)近傍ブロック及び複数の近接しない(non-adjacent)近傍ブロックから前記第1の近傍ブロックを取得することを更に含み、前記複数の近接する近傍ブロックは、前記カレント・ブロックに近接し、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、請求項1に記載の方法。
【請求項3】
前記カレント・ブロックの複数のインター・コーディング済み(inter-coded)近傍ブロックから前記第2の近傍ブロックを取得することを更に含み、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済み(affine coded)ブロック及び非アフィン・コーディング済みブロックを含む、請求項1に記載の方法。
【請求項4】
前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから前記第1の近傍ブロックを取得することを更に含み、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含む、請求項1に記載の方法。
【請求項5】
第1のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから前記第1の近傍ブロックを取得することであって、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、取得することと、
第2のスキャニング・ルールに基づいて、前記複数の近接しない近傍ブロックから前記第2の近傍ブロックを取得することであって、前記第2のスキャニング・ルールは、前記第1のスキャニング・ルールと完全に又は部分的に同一である、取得することと、
を更に含む、請求項1に記載の方法。
【請求項6】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み、前記1つ以上の第2のパラメータは、前記アフィン・モデルと関連付けられた複数の並進パラメータを含む、請求項1に記載の方法。
【請求項7】
前記第1の近傍ブロック及び前記第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記第1の近傍ブロック及び前記第2の近傍ブロックが有効であると決定することを更に含む、請求項2に記載の方法。
【請求項8】
前記第1の近傍ブロック及び前記第2の近傍ブロックが1つの動き方向に対して前記同一の参照ピクチャを使用すると決定したことに応答して、前記1つ以上のCPMVに基づいて形成された動きベクトル候補の予測方向が単予測(uni-prediction)であり、前記同一の参照ピクチャが前記1つの動き方向に対する前記動きベクトル候補に対して使用されると決定することを更に含む、請求項7に記載の方法。
【請求項9】
前記第1の近傍ブロック及び前記第2の近傍ブロックが両方の動き方向に対して前記同一の参照ピクチャを使用すると決定したことに応答して、前記カレント・ブロックの予測方向及び参照ピクチャが前記第1及び第2の近傍ブロックそれぞれのそれらと同一であると決定することを更に含む、請求項7に記載の方法。
【請求項10】
前記第1の近傍ブロック及び前記第2の近傍ブロックが動きベクトルに対して同一の解像度を使用すると決定したことに応答して、前記第1の近傍ブロック及び前記第2の近傍ブロックが有効であると決定することを更に含む、請求項2に記載の方法。
【請求項11】
前記1つ以上の第1のパラメータ、前記1つ以上の第2のパラメータ、前記カレント・ブロックの第1のポジション、及び前記第2の近傍ブロック又は前記第1の近傍ブロックの第2のポジションに基づいて、前記1つ以上のアフィン・モデルを構築することを更に含む、請求項1に記載の方法。
【請求項12】
前記第1のポジションは、前記カレント・ブロックの左最上隅を含み、前記第2のポジションは、前記第1又は前記第2の近傍ブロックの左最上隅を含む、請求項11に記載の方法。
【請求項13】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含む、請求項1に記載の方法。
【請求項14】
前記複数の距離パラメータは、前記カレント・ブロックと前記第2の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第2の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項13に記載の方法。
【請求項15】
前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項13に記載の方法。
【請求項16】
ビデオ復号の方法であって、
履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を取得することであって、前記複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含む、取得することと、
前記第1の動きベクトル構築済み候補及び前記第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得することと、
前記仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項17】
各々の履歴近傍ブロックの動き情報に加えて追加の情報を前記HMVPテーブルに記憶することによって、前記HMVPテーブルを拡張することを更に含む、請求項16に記載の方法。
【請求項18】
前記追加の情報が、以下の情報:
各々の履歴近傍ブロックのポジション、
各々の履歴近傍ブロックのアフィン動き情報、又は
各々の履歴近傍ブロックの参照インデックス
のうちの少なくとも1つを含む、請求項17に記載の方法。
【請求項19】
前記第1及び第2の動きベクトル構築済み候補並びに前記仮想ブロックに基づいて、第3の動きベクトル構築済み候補を決定することと、
前記第1、第2、及び第3の動きベクトル構築済み候補の並進MVに基づいて、前記仮想ブロックに対する前記複数のCPMVを取得することと、
継承済み候補導出のために使用される同一の投影処理を使用することによって、前記仮想ブロックの前記複数のCPMVに基づいて、前記カレント・ブロックに対する前記複数のCPMVを取得することと、
を更に含む、請求項16に記載の方法。
【請求項20】
ビデオ復号の方法であって、
少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を取得することであって、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示す、取得することと、
前記1つ以上の動きベクトル候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項21】
前記1つ以上の動きベクトル候補が前記カレント・ブロックと同一の参照ピクチャ・インデックス(reference picture index)を有すると決定したことに応答して、前記1つ以上の動きベクトル候補をアフィン・アドバンスト動きベクトル予測(AMVP)モードに対するアフィン候補リストに追加することを更に含む、請求項20に記載の方法。
【請求項22】
前記1つ以上のCPMVに基づいて、前記カレント・ブロックに対する少なくとも1つの並進動きベクトルを取得することと、
前記少なくとも1つの並進動きベクトルを正規マージ・モードに対する正規マージ候補リストに追加することと、
を更に含む、請求項21に記載の方法。
【請求項23】
前記1つ以上のCPMVに基づいて、前記カレント・ブロックに対する前記少なくとも1つの並進動きベクトルを取得することは、前記カレント・ブロック内の特定の旋回ポジションを選択することによって、前記カレント・ブロックに対する前記少なくとも1つの並進動きベクトルを取得することを含む、請求項22に記載の方法。
【請求項24】
ビデオ符号化の方法であって、
カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定することと、
前記カレント・ブロックの前記第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項25】
複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから第1の近傍ブロックを取得することを更に含み、前記複数の近接する近傍ブロックは、前記カレント・ブロックに近接し、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、請求項24に記載の方法。
【請求項26】
前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから前記第2の近傍ブロックを取得することを更に含み、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含む、請求項24に記載の方法。
【請求項27】
前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから前記第1の近傍ブロックを取得することを更に含み、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含む、請求項24に記載の方法。
【請求項28】
第1のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから前記第1の近傍ブロックを取得することであって、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、取得することと、
第2のスキャニング・ルールに基づいて、前記複数の近接しない近傍ブロックから前記第2の近傍ブロックを取得することであって、前記第2のスキャニング・ルールは、前記第1のスキャニング・ルールと完全に又は部分的に同一である、取得することと、
を更に含む、請求項24に記載の方法。
【請求項29】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み、前記1つ以上の第2のパラメータは、前記アフィン・モデルと関連付けられた複数の並進パラメータを含む、請求項24に記載の方法。
【請求項30】
前記第1の近傍ブロック及び前記第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記第1の近傍ブロック及び前記第2の近傍ブロックが有効であると決定することを更に含む、請求項25に記載の方法。
【請求項31】
前記第1の近傍ブロック及び前記第2の近傍ブロックが1つの動き方向に対して前記同一の参照ピクチャを使用すると決定したことに応答して、前記1つ以上のCPMVに基づいて形成された動きベクトル候補の予測方向が単予測であり、前記同一の参照ピクチャが前記1つの動き方向に対する前記動きベクトル候補に対して使用されると決定することを更に含む、請求項30に記載の方法。
【請求項32】
前記第1の近傍ブロック及び前記第2の近傍ブロックが両方の動き方向に対して前記同一の参照ピクチャを使用すると決定したことに応答して、前記カレント・ブロックの予測方向及び参照ピクチャが前記第1及び第2の近傍ブロックそれぞれのそれらと同一であると決定することを更に含む、請求項30に記載の方法。
【請求項33】
前記第1の近傍ブロック及び前記第2の近傍ブロックが動きベクトルに対して同一の解像度を使用すると決定したことに応答して、前記第1の近傍ブロック及び前記第2の近傍ブロックが有効であると決定することを更に含む、請求項25に記載の方法。
【請求項34】
前記1つ以上の第1のパラメータ、前記1つ以上の第2のパラメータ、前記カレント・ブロックの第1のポジション、及び前記第2の近傍ブロック又は前記第1の近傍ブロックの第2のポジションに基づいて、前記1つ以上のCPMVを構築することを更に含む、請求項24に記載の方法。
【請求項35】
前記第1のポジションは、前記カレント・ブロックの左最上隅を含み、前記第2のポジションは、前記第1又は前記第2の近傍ブロックの左最上隅を含む、請求項34に記載の方法。
【請求項36】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含む、請求項24に記載の方法。
【請求項37】
前記複数の距離パラメータは、前記カレント・ブロックと前記第2の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第2の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項36に記載の方法。
【請求項38】
前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項36に記載の方法。
【請求項39】
ビデオ符号化の方法であって、
履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を決定することであって、前記複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含む、決定することと、
前記第1の動きベクトル構築済み候補及び前記第2の動きベクトル構築済み候補に基づいて、仮想ブロックを決定することと、
前記仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項40】
各々の履歴近傍ブロックの動き情報に加えて追加の情報を前記HMVPテーブルに記憶することによって、前記HMVPテーブルを拡張することを更に含む、請求項39に記載の方法。
【請求項41】
前記追加の情報が、以下の情報:
各々の履歴近傍ブロックのポジション、
各々の履歴近傍ブロックのアフィン動き情報、又は
各々の履歴近傍ブロックの参照インデックス
のうちの少なくとも1つを含む、請求項40に記載の方法。
【請求項42】
前記第1及び第2の動きベクトル構築済み候補並びに仮想ブロックに基づいて、第3の動きベクトル構築済み候補を決定することと、
前記第1、第2、及び第3の動きベクトル構築済み候補の並進MVに基づいて、前記仮想ブロックに対する前記複数のCPMVを取得することと、
継承済み候補導出のために使用される同一の投影処理を使用することによって、前記仮想ブロックの前記複数のCPMVに基づいて、前記カレント・ブロックに対する前記複数のCPMVを取得することと、
を更に含む、請求項41に記載の方法。
【請求項43】
ビデオ符号化の方法であって、
少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を決定することであって、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示す、決定することと、
前記1つ以上の動きベクトル候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項44】
前記1つ以上の動きベクトル候補が前記カレント・ブロックと同一の参照ピクチャ・インデックスを有すると決定したことに応答して、前記1つ以上の動きベクトル候補をアフィン・アドバンスト動きベクトル予測(AMVP)モードに対するアフィン候補リストに追加することを更に含む、請求項43に記載の方法。
【請求項45】
前記1つ以上のCPMVに基づいて、前記カレント・ブロックに対する少なくとも1つの並進動きベクトルを取得することと、
前記少なくとも1つの並進動きベクトルを正規マージ・モードに対する正規マージ候補リストに追加することと、
を更に含む、請求項44に記載の方法。
【請求項46】
前記1つ以上のCPMVに基づいて、前記カレント・ブロックに対する前記少なくとも1つの並進動きベクトルを取得することは、前記カレント・ブロック内の特定の旋回ポジションを選択することによって、前記カレント・ブロックに対する前記少なくとも1つの並進動きベクトルを取得することを含む、請求項45に記載の方法。
【請求項47】
ビデオ復号の方法であって、
継承ベース導出方法を使用して、1つ以上の第1のパラメータを取得することと、
構築ベース導出方法を使用して、1つ以上の第2のパラメータを取得することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項48】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み、前記1つ以上の第2のパラメータは、前記アフィン・モデルと関連付けられた複数の並進パラメータを含む、請求項47に記載の方法。
【請求項49】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含む、請求項48に記載の方法。
【請求項50】
前記複数の距離パラメータは、固定値として予め定義される、請求項49に記載の方法。
【請求項51】
前記継承ベース導出方法を使用して、前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第1の近傍ブロックを取得することであって、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含む、取得することと、
前記第1の近傍ブロックに基づいて、前記1つ以上の第1のパラメータを取得することと、
を更に含む、請求項47に記載の方法。
【請求項52】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含み、前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項51に記載の方法。
【請求項53】
前記構築ベース導出方法を使用して、前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第2の近傍ブロックを取得することであって、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含む、取得することと、
前記第2の近傍ブロックに基づいて、前記1つ以上の第2のパラメータを取得することと、
を更に含む、請求項47に記載の方法。
【請求項54】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含み、前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項53に記載の方法。
【請求項55】
ビデオ符号化の方法であって、
継承ベース導出方法を使用して、1つ以上の第1のパラメータを決定することと、
構築ベース導出方法を使用して、1つ以上の第2のパラメータを決定することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項56】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み、前記1つ以上の第2のパラメータは、前記アフィン・モデルと関連付けられた複数の並進パラメータを含む、請求項55に記載の方法。
【請求項57】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含む、請求項56に記載の方法。
【請求項58】
前記複数の距離パラメータは、固定値として予め定義される、請求項57に記載の方法。
【請求項59】
前記継承ベース導出方法を使用して、前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第1の近傍ブロックを取得することであって、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含む、取得することと、
前記第1の近傍ブロックに基づいて、前記1つ以上の第1のパラメータを取得することと、
を更に含む、請求項55に記載の方法。
【請求項60】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含み、前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項59に記載の方法。
【請求項61】
前記構築ベース導出方法を使用して、前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第2の近傍ブロックを取得することであって、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含む、取得することと、
前記第2の近傍ブロックに基づいて、前記1つ以上の第2のパラメータを取得することと、
を更に含む、請求項55に記載の方法。
【請求項62】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含み、前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項61に記載の方法。
【請求項63】
ビデオ復号のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項1から23及び47から54のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項64】
ビデオ符号化のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項24から46及び55から62のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項65】
コンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、前記1つ以上のコンピュータ・プロセッサに、請求項1から62のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、全ての目的のために参照によってその全体が組み込まれる、2021年11月8日に出願された「Candidate Derivation for Affine Merge Mode in Video Coding」と題する、米国仮特許出願第63/277,148号に対して出願され、米国仮特許出願第63/277,148号に対する優先権を主張する。
【0002】
本開示は、ビデオ・コーディング及び圧縮に関し、特に、それらに限定されないが、ビデオ符号化又は復号処理におけるアフィン動き予測モードに対するアフィン・マージ候補導出を改善する方法及び装置に関する。
【背景技術】
【0003】
ビデオ・データを圧縮するために、様々なビデオ・コーディング技術が使用され得る。ビデオ・コーディングは、1つ以上のビデオ・コーディング標準規格に従って実行される。例えば、最近では、一部の公知のビデオ・コーディング標準規格は、ISO/IEC MPEG及びITU-T VECGによって共同で開発された、Versatile Video Coding(VVC)、High Efficiency Video Coding(HEVC、H.265又はMPEG-H Part 2としても知られる)、及びAdvanced Video Coding(AVC、H.264又はMPEG-4 Part 10としても知られる)を含む。AOMediaVideo1(AV1)は、その先行する標準規格VP9の後継として、Alliance for Open Media(AOM)によって開発された。デジタル音声及びデジタル・ビデオ圧縮標準規格を指す、Audio Video Coding(AVS)は、中国のAudio and Video Coding Standard Workgroupによって開発された別のビデオ圧縮標準規格シリーズである。既存のビデオ・コーディング標準規格のほとんどは、有名なハイブリッド・ビデオ・コーディング・フレームワーク上で、すなわち、ビデオ画像又はシーケンスに存在する冗長性を削減するために、ブロック・ベース予測方法(例えば、インター予測、イントラ予測)を使用して、及び予測誤差のエネルギーを縮小するために変換コーディングを使用して構築される。ビデオ・コーディング技術の重要な目標は、ビデオ・データをより低いビット・レートを使用する形式に圧縮すると共に、ビデオ品質の劣化を回避又は最小化することである。
【0004】
第一世代AVS標準規格は、中国の国家標準規格「Information Technology,Advanced Audio Video Coding,Part 2:Video」(AVS1として知られる)及び「Information Technology,Advanced Audio Video Coding Part 16:Radio Television Video」(AVS+として知られる)を含む。それは、MPEG-2標準規格と比較して、同一の知覚品質において約50%のビット・レート節約を提供することができる。AVS1標準規格ビデオ・パートは、2006年2月に中国の国家標準規格として公布された。第二世代AVS標準規格は、エキストラHD TV プログラムの伝送において主にターゲットにされる、中国の国家標準規格のシリーズ「Information Technology,Efficient Multimedia Coding」(AVS2として知られる)を含む。AVS2のコーディング効率は、AVS+のコーディング効率の2倍である。2016年5月には、AVS2が中国の国家標準規格として発行された。一方、AVS2標準規格ビデオ・パートは、アプリケーションのための1つの国際標準規格として、Institute of Electrical and Electronics Engineers(IEEE)によって提出された。AVS3標準規格は、最新の国際標準規格HEVCのコーディング効率を上回ることを狙った、UHDビデオ・アプリケーションのための新世代ビデオ・コーディング標準規格である。2019年3月には、68回目のAVSミーティングにおいて、AVS3-P2ベースラインが完結され、それは、HEVC標準規格よりもおおよそ30%のビット・レート節約を提供する。現在では、高性能モデル(HPM)と呼ばれる、1つの参照ソフトウェアが存在し、AVS3標準規格の参照の実装を証明するために、AVSグループによって維持される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、ビデオ符号化又は復号処理における動き予測モードに対する動きベクトル候補導出を改善することに関する技術の実施例を提供する。
【課題を解決するための手段】
【0006】
本開示の第1の態様によれば、ビデオ復号の方法が提供される。方法は、カレント・ブロック(current block)の第1の近傍ブロック(neighbor block)に基づいて、1つ以上の第1のパラメータを取得することと、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、を含む。方法は更に、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、を含み得る。
【0007】
本開示の第2の態様によれば、ビデオ復号の方法が提供される。方法は、履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を取得することを含み得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。方法は更に、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得することと、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数の制御点動きベクトル(CPMV)を取得することと、を含み得る。
【0008】
本開示の第3の態様によれば、ビデオ復号の方法が提供される。方法は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない(non-adjacent)近傍ブロックから1つ以上の動きベクトル候補を取得することであって、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示し得る、取得することと、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0009】
本開示の第4の態様によれば、ビデオ符号化の方法が提供される。方法は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定することと、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定することと、を含み得る。更に、方法は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0010】
本開示の第5の態様によれば、ビデオ符号化の方法が提供される。方法は、履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を決定することを含み得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。更に、方法は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを決定することと、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得することと、を含み得る。
【0011】
本開示の第6の態様によれば、ビデオ符号化の方法が提供される。方法は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を決定することを含み得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。更に、方法は、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0012】
本開示の第7の態様によれば、ビデオ復号の方法が提供される。方法は、継承ベース導出方法を使用して、1つ以上の第1のパラメータを取得することと、構築ベース導出方法を使用して、1つ以上の第2のパラメータを取得することと、を含み得る。更に、方法は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0013】
本開示の第8の態様によれば、ビデオ符号化の方法が提供される。方法は、継承ベース導出方法を使用して、1つ以上の第1のパラメータを決定することと、構築ベース導出方法を使用して、1つ以上の第2のパラメータを決定することと、を含み得る。更に、方法は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0014】
本開示の第9の態様によれば、ビデオ復号のための装置が提供される。装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含む。更に、1つ以上のプロセッサは、命令が実行されると、第1の態様、第2の態様、第3の態様、又は第7の態様に係る方法を実行するように構成される。
【0015】
本開示の第10の態様によれば、ビデオ符号化のための装置が提供される。装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含む。更に、1つ以上のプロセッサは、命令が実行されると、第4の態様、第5の態様、第6の態様、又は第8の態様に係る方法を実行するように構成される。
【0016】
本開示の第11の態様によれば、コンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体が提供され、コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、1つ以上のコンピュータ・プロセッサに、上記の態様のいずれか1つに係る方法を実行させる。
【0017】
添付図面に例示される特定の実施例を参照することによって、本開示の実施例の更に特定の説明がされる。それらの図面がいくつかの実施例を表すにすぎず、よって、範囲を限定すると考えられないと仮定して、添付図面の使用を通じて、追加の特異性及び詳細と共に、実施例が記載及び説明される。
【図面の簡単な説明】
【0018】
図1A】本開示のいくつかの実施例に係る、ビデオ・ブロックを符号化及び復号するシステムを例示するブロック図である。
図1B】本開示のいくつかの実施例に係る、エンコーダのブロック図である。
図1C】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図1D】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図1E】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図1F】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図2】本開示のいくつかの実施例に係る、デコーダのブロック図である。
図3A】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3B】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3C】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3D】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3E】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図4A】本開示のいくつかの実施例に係る、4-パラメータ・アフィン・モデルを例示する図である。
図4B】本開示のいくつかの実施例に係る、4-パラメータ・アフィン・モデルを例示する図である。
図5】本開示のいくつかの実施例に係る、6-パラメータ・アフィン・モデルを例示する図である。
図6】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補に対する近接する近傍ブロックを例示する図である。
図7】本開示のいくつかの実施例に係る、構築済みアフィン・マージ候補に対する近接する近傍ブロックを例示する図である。
図8】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補に対する近接しない近傍ブロックを例示する図である。
図9】本開示のいくつかの実施例に係る、近傍ブロックを使用した構築済みアフィン・マージ候補の導出を例示する図である。
図10】本開示のいくつかの実施例に係る、近接しない近傍ブロックの垂直スキャニングを例示する図である。
図11】本開示のいくつかの実施例に係る、近接しない近傍ブロックの水平スキャニングを例示する図である。
図12】本開示のいくつかの実施例に係る、近接しない近傍ブロックの組み合わせ垂直及び水平スキャニングを例示する図である。
図13A】本開示のいくつかの実施例に係る、カレント・ブロックと同一のサイズを有する近傍ブロックを例示する図である。
図13B】本開示のいくつかの実施例に係る、カレント・ブロックとは異なるサイズを有する近傍ブロックを例示する図である。
図14A】本開示のいくつかの実施例に係る、前の距離内の最も下又は最も右のブロックの左下又は右最上のブロックが現在の距離の最も下又は最も右のブロックとして使用される実施例を例示する図である。
図14B】本開示のいくつかの実施例に係る、前の距離内の最も下又は最も右のブロックの左又は最上のブロックが現在の距離の最も下又は最も右のブロックとして使用される実施例を例示する図である。
図15A】本開示のいくつかの実施例に係る、上及び左の近接しない近傍ブロックに対して使用される左下及び右最上ポジションにおけるスキャニング・ポジションを例示する図である。
図15B】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される右下ポジションにおけるスキャニング・ポジションを例示する図である。
図15C】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される左下ポジションにおけるスキャニング・ポジションを例示する図である。
図15D】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される右最上ポジションにおけるスキャニング・ポジションを例示する図である。
図16】本開示のいくつかの実施例に係る、構築済みマージ候補を導出する簡易化されたスキャニング処理を例示する図である。
図17A】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補を導出する空間的近傍を例示する図である。
図17B】本開示のいくつかの実施例に係る、構築済みアフィン・マージ候補を導出する空間的近傍を例示する図である。
図18】本開示のいくつかの実施例に係る、アフィン構築済み候補を導出する継承ベース導出方法の実施例を例示する図である。
図19】本開示のいくつかの実施例に係る、ユーザ・インタフェースと結合されたコンピューティング環境を例示する図である。
図20】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図21】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図22】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図23】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
図24】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
図25】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
図26】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図27】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
【発明を実施するための形態】
【0019】
ここで、特定の実装態様に対して参照が詳細に行われ、その実施例は、添付図面に例示される。以下の詳細な説明では、本明細書で提示される主題を理解することを支援するために、多数の非限定的な特定の詳細が示される。しかしながら、様々な代替が使用され得ることが当業者にとって明らかである。例えば、本明細書で提示される主題は、デジタル・ビデオ能力を有する多くのタイプの電子デバイス上で実装され得ることが当業者にとって明らかである。
【0020】
開示において使用される用語は、特定の実施形態を説明する目的のためにのみ採用され、開示を限定することが意図されない。開示及び添付の特許請求の範囲における単数形の「a/an」、「said」、及び「the」は、開示の全体を通じて他の意味が明白に表されない限り、複数形をも含むことが意図される。また、開示において使用される用語「and/or」は、表記される複数の関連する項目の1つ又はいずれか又は全ての可能な組み合わせを指し、それらを含むことが理解されることになる。
【0021】
本明細書の全体を通じての「1つの実施形態(one embodiment)」、「実施形態(an embodiment)」、「実施例(an example)」、「いくつかの実施形態(some embodiments)」、「いくつかの実施例(some examples)」、又は類似の言語に対する言及は、説明される特定の特徴、構造、又は特性が少なくとも1つの実施形態又は実施例に含まれることを意味する。1つの又はいくつかの実施形態に関連して説明される特徴、構造、要素、又は特性は、他に明確に指定されない限り、他の実施形態にも適用可能である。
【0022】
開示の全体を通じて、用語「第1の(first)」、「第2の(second)」、「第3の(third)」などは全て、いずれの空間的又は年代順序において暗示することなく、他に明確に指定されない限り、関連する要素、例えば、デバイス、構成要素、組成物、ステップなどへの参照のための命名法としてのみ使用される。例えば、「第1のデバイス」及び「第2のデバイス」は、2つの別個に形成されたデバイス、又は2つの部品、構成要素、又は同一のデバイスの動作状態を指し得、任意に命名され得る。
【0023】
用語「モジュール」、「サブモジュール」、「回路(circuit)」、「サブ回路(sub-circuit)」、「回路(circuitry)」、「サブ回路(sub-circuitry)」、「ユニット」、又は「サブ・ユニット」は、1つ以上のプロセッサによって実行され得るコード又は命令を記憶するメモリ(共有、専用、又はグループ)を含み得る。モジュールは、記憶されたコード若しくは命令を有し、若しくは記憶されたコード若しくは命令を有さない1つ以上の回路を含み得る。モジュール又は回路は、直接又は間接的に接続された1つ以上の構成要素を含み得る。それらの構成要素は、相互に近傍して物理的に取り付けられ得若しくは位置し得、又は物理的に取り付けられ得ず若しくは位置し得ない。
【0024】
本明細書で使用されるように、用語「if」又は「when」は、コンテキストに応じて、「upon」又は「in response to」を意味すると理解され得る。それらの用語は、請求項に現れる場合、関連する限定又は特徴が条件付きであり又は任意選択であることを示し得ない。例えば、方法は、i)条件Xが存在するとき又は存在する場合、関数又はアクションX’が実行され、ii)条件Yが存在するとき又は存在する場合、関数又はアクションY’が実行される、ステップを含み得る。方法は、関数又はアクションX’を実行する能力、及び関数又はアクションY’を実行する能力の両方により実装され得る。よって、関数X’及びY’は両方、異なるときに、方法の複数の実行に対して実行され得る。
【0025】
ユニット又はモジュールは、純粋にソフトウェアによって、純粋にハードウェアによって、又はハードウェア及びソフトウェアの組み合わせによって実装され得る。純粋なソフトウェア実装態様では、例えば、ユニット又はモジュールは、特定の関数を実行するように、直接又は間接的に共にリンク付けられる、機能的に関連するコード・ブロック又はソフトウェア構成要素を含み得る。
【0026】
図1Aは、本開示のいくつかの実装態様に係る、並列してビデオ・ブロックを符号化及び復号する例示的なシステム10を例示するブロック図である。図1Aに示されるように、システム10は、デスティネーション・デバイス14によって後に復号されることになるビデオ・データを生成及び符号化するソース・デバイス12を含む。ソース・デバイス12及びデスティネーション・デバイス14は、デスクトップ又はラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、セット・トップ・ボックス、デジタル・テレビ、カメラ、ディスプレイ・デバイス、デジタル・メディア・プレイヤ、ビデオ・ゲーミング・コンソール、又はビデオ・ストリーミング・デバイスなどを含む、多種多様な電子デバイスのいずれかを含み得る。いくつかの実装態様では、ソース・デバイス12及びデスティネーション・デバイス14は、無線通信能力が備えられる。
【0027】
いくつかの実装態様では、デスティネーション・デバイス14は、リンク16を介して、復号されることになる符号化済みビデオ・データを受信し得る。リンク16は、ソース・デバイス12からデスティネーション・デバイス14に符号化済みビデオ・データを移動させる能力を有するいずれかのタイプの通信媒体又はデバイスを含み得る。1つの実施例では、リンク16は、ソース・デバイス12がデスティネーション・デバイス14に符号化済みビデオ・データを直接リアルタイムで伝送することを有効にするための通信媒体を含み得る。符号化済みビデオ・データは、無線通信プロトコルなどの通信標準規格に従って変調され得、デスティネーション・デバイス14に伝送され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理伝送ラインなど、いずれかの無線又は有線通信媒体を含み得る。通信媒体は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットなどのグローバル・ネットワークなど、パケット・ベース・ネットワークの一部を形成し得る。通信媒体は、ソース・デバイス12からデスティネーション・デバイス14への通信を促進するために有益であり得るルータ、スイッチ、基地局、又はいずれかの他の機器を含み得る。
【0028】
いくつかの他の実装態様では、符号化済みビデオ・データは、出力インタフェース22から記憶装置32に伝送され得る。その後、記憶装置32内の符号化済みビデオ・データは、入力インタフェース28を介してデスティネーション・デバイス14によってアクセスされ得る。記憶装置32は、ハード・ドライブ、ブルーレイ・ディスク、デジタル多用途ディスク(DVD)、コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、フラッシュ・メモリ、揮発性若しくは不揮発性メモリ、又は符号化済みビデオ・データを記憶するためのいずれかの他の適切なデジタル記憶媒体など、様々な分散型(distributed)又は局所アクセス(locally)型のデータ記憶媒体のいずれかを含み得る。更なる実施例では、記憶装置32は、ソース・デバイス12によって生成された符号化済みビデオ・データを保持し得るファイル・サーバ又は別の中間記憶装置に対応し得る。デスティネーション・デバイス14は、ストリーミング又はダウンローディングを介して、記憶装置32から記憶済みビデオ・データにアクセスし得る。ファイル・サーバは、符号化済みビデオ・データを記憶し、デスティネーション・デバイス14に符号化済みビデオ・データを伝送する能力を有するいずれかのタイプのコンピュータであり得る。例示的なファイル・サーバは、ウェブ・サーバ(例えば、ウェブサイトのための)、ファイル転送プロトコル(FTP)サーバ、ネットワーク・アタッチド・ストレージ(NAS)デバイス、又はローカル・ディスク・ドライブを含む。デスティネーション・デバイス14は、無線チャネル(例えば、ワイヤレス・フィデリティ(Wi-Fi)接続)、有線接続(例えば、デジタル・サブスクライバ・ライン(DSL)、ケーブル・モデムなど)、又はファイル・サーバに記憶された符号化済みビデオ・データにアクセスするために適切である両方の組み合わせを含む、いずれかの標準規格データ接続を通じて符号化済みビデオ・データにアクセスし得る。記憶装置32からの符号化済みビデオ・データの伝送は、ストリーミング伝送、ダウンロード伝送、又は両方の組み合わせであり得る。
【0029】
図1Aに示されるように、ソース・デバイス12は、ビデオ・ソース18、ビデオ・エンコーダ20、及び出力インタフェース22を含む。ビデオ・ソース18は、ビデオ補足デバイス、例えば、ビデオ・カメラ、前に捕捉されたビデオを包含するビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダからビデオを受信するためのビデオ・フィーディング・インタフェース、及び/若しくはソース・ビデオとしてコンピュータ・グラフィック・データを生成するためのコンピュータ・グラフィック・システム、又はそのようなソースの組み合わせなどのソースを含み得る。1つの実施例として、ビデオ・ソース18がセキュリティ監視システムのビデオ・カメラである場合、ソース・デバイス12及びデスティネーション・デバイス14は、カメラ電話又はビデオ電話を形成し得る。しかしながら、本出願において説明される実装態様は、ビデオ・コーディングに全体的に適用可能であり得、無線及び/又は有線用途に適用され得る。
【0030】
補足され、事前に捕捉され、又はコンピュータにより生成されたビデオは、ビデオ・エンコーダ20によって符号化され得る。符号化済みビデオ・データは、ソース・デバイス12の出力インタフェース22を介してデスティネーション・デバイス14に直接伝送され得る。符号化済みビデオ・データはまた(又は、その代わりに)、デスティネーション・デバイス14又は他のデバイスによる後のアクセスのために、復号及び/又は再生のために、記憶装置32に記憶され得る。出力インタフェース22は更に、モデム及び/又は送信機を含み得る。
【0031】
デスティネーション・デバイス14は、入力インタフェース28、ビデオ・デコーダ30、及びディスプレイ・デバイスを含む。入力インタフェース28は、受信機及び/又はモデムを含み得、リンク16を通じて符号化済みビデオ・データを受信し得る。リンク16に通信され、記憶装置32上で提供される符号化済みビデオ・データは、ビデオ・データを復号する際のビデオ・デコーダ30による使用のためのビデオ・エンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で伝送され、記憶媒体に記憶され、又はファイル・サーバに記憶された符号化済みビデオ・データに含まれ得る。
【0032】
いくつかの実装態様では、デスティネーション・デバイス14は、ディスプレイ・デバイス34を含み得、ディスプレイ・デバイス34は、デスティネーション・デバイス14と通信するように構成された統合ディスプレイ・デバイス及び外部ディスプレイ・デバイスであることができる。ディスプレイ・デバイス34は、復号済みビデオ・データをユーザに表示し、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプのディスプレイ・デバイスなどの様々なディスプレイ・デバイスのいずれかを含み得る。
【0033】
ビデオ・エンコーダ20及びビデオ・デコーダ30は、VVC、HEVC、MPEG-4、Part 10、AVC、又はそのような標準規格の拡張など、プロプライエタリ又は産業標準規格に従って動作し得る。本出願は、特定のビデオ符号化/復号標準規格に限定されず、他のビデオ符号化/復号標準規格に適用可能であり得ることが理解されるべきである。ソース・デバイス12のビデオ・エンコーダ20は、それらの現在又は後の標準規格に従って、ビデオ・データを符号化するように構成され得ると全体的に考えられる。同様にまた、デスティネーション・デバイス14のビデオ・デコーダ30は、それらの現在又は後の標準規格に従って、ビデオ・データを復号するように構成され得ると全体的に考えられる。
【0034】
ビデオ・エンコーダ20及びビデオ・デコーダ30は各々、1つ以上のマイクロ・プロセッサ、デジタル・シグナル・プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、離散ロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらのいずれかの組み合わせなど、様々な適切なエンコーダ及び/又はデコーダ回路のいずれかとして実装され得る。ソフトウェアにおいて部分的に実装されるとき、電子デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し得、本開示において開示されたビデオ符号化/復号動作を実行するように、1つ以上のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオ・エンコーダ20及びビデオ・デコーダ30の各々は、1つ以上のエンコーダ又はデコーダに含まれ得、そのいずれかは、それぞれのデバイスに組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合され得る。
【0035】
HEVCのように、VVCは、ブロック・ベース・ハイブリッド・ビデオ・コーディング・フレームワークに対して構築される。図1Bは、本開示のいくつかの実装態様に係る、ブロック・ベース・ビデオ・エンコーダを例示するブロック図である。エンコーダ100では、入力ビデオ信号は、コーディング・ユニット(CU)と呼ばれる、ブロックごとに処理される。エンコーダ100は、図1Aに示されるようなビデオ・エンコーダ20であり得る。VTM-1.0では、CUは、最大で128×128画素であることができる。しかしながら、四分木に基づいてのみブロックを区画化するHEVCとは異なり、VVCでは、1つのコーディング・ツリー・ユニット(CTU)は、四分木/二分木/三分木に基づいて可変の局所的な特性に適合するように、CUに分割される。加えて、HEVCにおける複数の区画化ユニット・タイプの概念が取り除かれ、すなわち、CU、予測ユニット(PU)、及び変換ユニット(TU)の分離は、VVCではもはや存在せず、代わりに、各々のCUは、更なる区画化なしに、予測及び変換の両方のための基本的な単位として常に使用される。マルチ・タイプ・ツリー構造では、1つのCTUは、四分木構造によって最初に区画化される。次いで、各々の四分木リーフ・ノードは、二分木及び三分木構造によって更に区画化され得る。
【0036】
図3A~3Eは、本開示のいくつかの実装態様に係る、マルチ・タイプ・ツリー分割モードを例示する概略図である。図3A~3Eはそれぞれ、四分区画化(図3A)、垂直二分区画化(図3B)、水平二分区画化(図3C)、垂直拡張三分区画化(図3D)、及び水平拡張三分区画化(図3E)を含む5つの分割タイプを示す。
【0037】
所与のビデオ・ブロックごとに、空間予測及び/又は時間予測が実行され得る。空間予測(又は、「イントラ予測」)は、カレント・ビデオ・ブロックを予測するために、同一のビデオ・ピクチャ/スライス内の既にコーディングされた近傍ブロック(参照サンプルと呼ばれる)のサンプルからの画素を使用する。空間予測は、ビデオ信号に内在する空間的冗長性を削減する。時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、カレント・ビデオ・ブロックを予測するために、既にコーディングされたビデオ・ピクチャからの再構築済み画素を使用する。時間予測は、ビデオ信号に内在する時間的冗長性を削減する。所与のCUについての時間予測信号は通常、1つ以上の動きベクトル(MV)によってシグナリングされ、MVは、カレントCUとその時間的参照との間の動きの量及び方向を示す。また、複数の参照ピクチャ(reference picture)がサポートされる場合、参照ピクチャ・ストアのどの参照ピクチャから時間予測信号が来るかを識別するために使用される、1つの参照ピクチャ・インデックス(reference picture index)が加えて送信される。
【0038】
空間及び/又は時間予測の後、エンコーダ100におけるイントラ/インター・モード決定回路121は、例えば、レート歪み最適化方法に基づいて、最良の予測モードを選ぶ。ブロック・プレディクタ120は次いで、カレント・ビデオ・ブロックから差し引かれ、結果として生じる予測残差は、変換回路102及び量子化回路104を使用して相関付け解除される。結果として生じる量子化済み残差係数は、再構築済み残差を形成するように、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換され、再構築済み残差は次いで、CUの再構築済み信号を形成するように、予測ブロックに再度追加される。更に、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(SAO)、及び/又はアダプティブ・イン・ループ・フィルタ(ALF)などのイン・ループ・フィルタリング115は、それがピクチャ・バッファ117の参照ピクチャ・ストアに置かれ、後のビデオ・ブロックをコーディングするために使用される前に、再構築済みCUに対して適用され得る。出力ビデオ・ビットストリーム114を形成するために、コーディング・モード(インター又はイントラ)、予測モード情報、動き情報、及び量子化済み残差係数は全て、更に圧縮及びパックされて、ビットストリームを形成するように、エントロピ・コーディング・ユニット106に送信される。
【0039】
例えば、デブロッキング・フィルタは、AVC、HEVCと共に、VVCの現在のバージョンにおいて利用可能である。HEVCでは、SAOと呼ばれる追加のイン・ループ・フィルタは、コーディング効率を更に改善するために定義される。VVC標準規格の現在のバージョンでは、ALFと呼ばれる更なる別のイン・ループ・フィルタは、能動的に調査されており、それは、最終的な標準規格に含まれる良好な機会を有する。
【0040】
それらのイン・ループ・フィルタ動作は、任意選択である。それらの動作を実行することは、コーディング効率及び視覚品質を改善することを補助する。それらはまた、計算複雑度を節約するように、エンコーダ100によってなされる決定としてターン・オフされ得る。
【0041】
イントラ予測は通常、フィルタリングされていない再構築済み画素に基づいていると共に、それらのフィルタ・オプションがエンコーダ100によってターン・オンされる場合、インター予測は、フィルタリングされた再構築済み画素に基づいていることに留意されるべきである。
【0042】
図2は、多くのビデオ・コーディング標準規格と併用して使用され得るブロック・ベース・ビデオ・デコーダ200を例示するブロック図である。このデコーダ200は、図1Bのエンコーダ100に存在する再構築関連セクションと類似である。ブロック・ベース・ビデオ・デコーダ200は、図1Aに示されるようなビデオ・デコーダ30であり得る。デコーダ200では、入来するビデオ・ビットストリーム201は、量子化済み係数レベル及び予測関連情報を導出するように、エントロピ・復号202を通じて最初に復号される。量子化済み係数レベルは次いで、再構築済み予測残差を取得するように、逆量子化204及び逆変換206を通じて処理される。イントラ/インター・モード・セレクタ212において実装される、ブロック・プレディクタ機構は、復号済み予測情報に基づいて、イントラ予測208、又は動き補償210のいずれかを実行するように構成される。フィルタリングされていない再構築済み画素の組は、加算器(summer)214を使用して、逆変換206からの再構築済み予測残差及びブロック・プレディクタ機構によって生成された予測出力を合計することによって取得される。
【0043】
再構築済みブロックは更に、参照ピクチャ・ストアとして機能するピクチャ・バッファ213に記憶される前に、イン・ループ・フィルタ209を通り得る。ピクチャ・バッファ213内の再構築済みビデオは、ディスプレイ・デバイスを駆動するように送信され得ると共に、後のビデオ・ブロックを予測するために使用され得る。イン・ループ・フィルタ209がターン・オンされる状況では、フィルタリング動作は、最終的な再構築済みビデオ出力222を導出するように、それらの再構築済み画素に対して実行される。
【0044】
現在のVVC及びAVS3標準規格では、カレント・コーディング・ブロックの動き情報は、マージ候補インデックスによって指定された空間的若しくは時間的近傍ブロックから複製されるか、又は動き推定の明示的なシグナリングによって取得されるかのいずれかである。本開示の焦点は、アフィン・マージ候補の導出方法を改善することによって、アフィン・マージ・モードに対する動きベクトルの精度を改善することである。本開示の説明を促進するために、VVC標準規格における既存のアフィン・マージ・モード設計は、提案されるアイデアを促進するために実施例として使用される。VVC標準規格における既存のアフィン・モード設計が本開示の全体を通じて実施例として使用されるが、現代のビデオ・コーディング技術の当業者に対し、提案される技術も、アフィン動き予測モード又は同一若しくは類似の設計精神を有する他のコーディング・ツールの異なる設計に適用され得ることに留意されよう。
【0045】
典型的なビデオ・コーディング処理では、ビデオ・シーケンスは典型的には、フレーム又はピクチャの順序付けられたセットを含む。各々のフレームは、SL、SCb、及びSCrと表される、3つのサンプル・アレイを含み得る。SLは、ルマ・サンプル(luma sample)の二次元アレイである。SCbは、Cbクロマ・サンプル(chroma sample)の二次元アレイである。SCrは、Crクロマ・サンプルの二次元アレイである。他のインスタンスでは、フレームは、モノクロであり得、したがって、ルマ・サンプルの1つの二次元アレイのみを含み得る。
【0046】
図1Cに示されるように、ビデオ・エンコーダ20(又は、より具体的に、ビデオ・エンコーダ20の予測プロセシング・ユニットにおける区画化ユニット)は、フレームをCTUのセットに最初に区画化することによって、フレームの符号化済み表現を生成する。ビデオ・フレームは、左から右及び最上から下へのラスタ・スキャン順序において連続して順序付けられた整数のCTUを含み得る。各々のCTUは、最大の論理コーディング・ユニットであり、CTUの幅及び高さは、シーケンス・パラメータ・セットにおいてビデオ・エンコーダ20によってシグナリングされ、その結果、ビデオ・シーケンス内の全てのCTUは、128×128、64×64、32×32、及び16×16の1つである同一のサイズを有する。しかしながら、本出願は、特定のサイズに必ずしも限定されないことに留意されるべきである。図1Dに示されるように、各々のCTUは、ルマ・サンプルの1つのCTB、クロマ・サンプルの2つの対応するコーディング・ツリー・ブロック、及びコーディング・ツリー・ブロックのサンプルをコーディングするために使用されるシンタックス要素を含み得る。シンタックス要素は、画素のコーディング済みブロックの異なるタイプのユニットの性質と、インター又はイントラ予測、イントラ予測モード、動きベクトル、及び他のパラメータを含む、ビデオ・シーケンスがビデオ・デコーダ30においてどのように再構築され得るかを記述する。モノクロ・ピクチャ又は3つの別個のカラー平面を有するピクチャでは、CTUは単一のコーディング・ツリー・ブロック及びコーディング・ツリー・ブロックのサンプルをコーディングするために使用されるシンタックス要素を含み得る。コーディング・ツリー・ブロックは、サンプルのN×Nブロックであり得る。
【0047】
より良好な性能を達成するために、ビデオ・エンコーダ20は、二分木区画化、三分木区画化、四分木区画化、又はそれらの組み合わせなどのツリー区画化をCTUのコーディング・ツリー・ブロックに対して再帰的に実行し得、CTUをより小さなCUに分割し得る。図1Eに表されるように、64×64のCTU400は、4つのより小さなCUに最初に分割され、その各々は、32×32のブロック・サイズを有する。4つのより小さなCUの間で、CU410及びCU420は各々、ブロック・サイズによって16×16の4つのCUに分割される。2つの16×16のCU430及び440は各々、ブロック・サイズによって8×8の4つのCUに更に分割される。図1Fは、図1Eに表されるようなCTU400の区画化処理の最終結果を例示する四分木データ構造を表し、四分木の各々のリーフ・ノードは、32×32から8×8の範囲にあるそれぞれのサイズの1つのCUに対応する。図1Dに表されるCTUと同様に、各々のCUは、ルマ・サンプルのCB、及び同一のサイズのフレームのクロマ・サンプルの2つの対応するコーディング・ブロック、及びコーディング・ブロックのサンプルをコーディングするために使用されるシンタックス要素を含み得る。モノクロ・ピクチャ又は&3つの別個のカラー平面を有するピクチャでは、CUは、単一のコーディング・ブロック及びコーディング・ブロックのサンプルをコーディングするために使用されるシンタックス構造を含み得る。図1E~1Fに表される四分木区画化は、例示のみを目的としており、四分木/三分木/二分木区画化に基づいて、可変の局所的特性に適合するように、1つのCTUがCUに分割され得ることに留意されるべきである。マルチ・タイプ・ツリー構造では、1つのCTUは、四分木構造によって区画化され、各々の四分木リーフCUは、二分木及び三分木構造に更に区画化され得る。図3A~3Eに示されるように、幅W及び高さHを有するコーディング・ブロックの5つの可能な区画化タイプ、すなわち、四分木区画化、水平二分木区画化、垂直二分木区画化、水平三分木区画化、及び垂直三分木区画化が存在する。
【0048】
いくつかの実装態様では、ビデオ・エンコーダ20は更に、CUのコーディング・ブロックを1つ以上のM×NのPBに区画化し得る。PBは、同一の予測、インター又はイントラが適用される、サンプルの矩形(正方形又は非正方形)ブロックである。CUのPUは、ルマ・サンプルのPB、クロマ・サンプルの2つの対応するPB、及びPBを予測するために使用されるシンタックス要素を含み得る。モノクロ・ピクチャ又は3つの別個のカラー平面を有するピクチャでは、PUは、単一のPB及びPBを予測するために使用されるシンタックス要素を含み得る。ビデオ・エンコーダ20は、予測的ルマ、ルマについてのCb及びCrブロック、CUの各々のPUのCb及びCr PBsを生成し得る。
【0049】
ビデオ・エンコーダ20は、PUについての予測的ブロックを生成するために、イントラ予測又はインター予測を使用し得る。ビデオ・エンコーダ20がPUの予測的ブロックを生成するためにイントラ予測を使用する場合、ビデオ・エンコーダ20は、PUと関連付けられたフレームの復号済みサンプルに基づいて、PUの予測的ブロックを生成し得る。ビデオ・エンコーダ20がPUの予測的ブロックを生成するためにインター予測を使用する場合、ビデオ・エンコーダ20は、PUと関連付けられたフレーム以外の1つ以上のフレームの復号済みサンプルに基づいて、PUの予測的ブロックを生成し得る。
【0050】
ビデオ・エンコーダ20がCUの1つ以上のPUについての予測的ルマ、Cb、及びCrブロックを生成した後、ビデオ・エンコーダ20は、CUの予測的ルマ・ブロックをその元のルマ・コーディング・ブロックから差し引くことによって、CUについてのルマ残差ブロックを生成し得、その結果、CUのルマ残差ブロック内の各々のサンプルは、CUの予測的ルマ・ブロックの1つの中のルマ・サンプルとCUの元のルマ・コーディング・ブロック内の対応するサンプルとの間の差を示す。同様に、ビデオ・エンコーダ20は、CUについてのCb残差ブロック及びCr残差ブロックをそれぞれ生成し得、その結果、CUのCb残差ブロック内の各々のサンプルは、CUの予測的Cbブロックの1つの中のCbサンプルとCUの元のCbコーディング・ブロック内の対応するサンプルとの間の差を示し、CUのCr残差ブロック内の各々のサンプルは、CUの予測的Crブロックの1つの中のCrサンプルとCUの元のCrコーディング・ブロック内の対応するサンプルとの間の差を示し得る。
【0051】
更に、図1Eに例示されるように、ビデオ・エンコーダ20は、CUのルマ、Cb、及びCr残差ブロックを1つ以上のルマ、Cb、及びCr変換ブロックにそれぞれ分解するために、四分木区画化を使用し得る。変換ブロックは、同一の変換が適用されるサンプルの矩形(正方形又は非正方形)ブロックである。CUのTUは、ルマ・サンプルの変換ブロック、クロマ・サンプルの2つの対応する変換ブロック、及び変換ブロック・サンプルを変換するために使用されるシンタックス要素を含み得る。よって、CUの各々のTUは、ルマ変換ブロック、Cb変換ブロック、及びCr変換ブロックと関連付けられ得る。いくつかの実施例では、TUと関連付けられたルマ変換ブロックは、CUのルマ残差ブロックのサブ・ブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブ・ブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブ・ブロックであり得る。モノクロ・ピクチャ又は3つの別個のカラー平面を有するピクチャでは、TUは、単一の変換ブロック及び変換ブロックのサンプルを変換するために使用されるシンタックス構造を含み得る。
【0052】
ビデオ・エンコーダ20は、TUについてのルマ係数ブロックを生成するために、TUのルマ変換ブロックに1つ以上の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラ量であり得る。ビデオ・エンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つ以上の変換を適用し得る。ビデオ・エンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つ以上の変換を適用し得る。
【0053】
係数ブロック(例えば、ルマ係数ブロック、Cb係数ブロック、又はCr係数ブロック)を生成した後、ビデオ・エンコーダ20は、係数ブロックを量子化し得る。量子化は概して、変換係数を表すために使用されるデータの量を場合によっては削減し、更なる圧縮を提供するために、変換係数が量子化される処理を指す。ビデオ・エンコーダ20が係数ブロックを量子化した後、ビデオ・エンコーダ20は、量子化済み変換係数を示すシンタックス要素をエントロピ符号化し得る。例えば、ビデオ・エンコーダ20は、量子化済み変換係数を示すシンタックス要素に対してCABACを実行し得る。最終的に、ビデオ・エンコーダ20は、記憶装置32に保存されるか又はデスティネーション・デバイス14に伝送されるかのいずれかである、コーディング済みフレーム及び関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。
【0054】
ビデオ・エンコーダ20によって生成されたビットストリームを受信した後、ビデオ・デコーダ30は、ビットストリームからシンタックス要素を取得するように、ビットストリームをパースし得る。ビデオ・デコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオ・データのフレームを再構築し得る。ビデオ・データを再構築する処理は概して、ビデオ・エンコーダ20によって実行される符号化処理と相互的である。例えば、ビデオ・デコーダ30は、カレントCUのTUと関連付けられた残差ブロックを再構築するように、カレントCUのTUと関連付けられた係数ブロックに対して逆変換を実行し得る。ビデオ・デコーダ30はまた、カレントCUのPUについての予測的ブロックのサンプルをカレントCUのTUの変換ブロックの対応するサンプルに追加することによって、カレントCUのコーディング・ブロックを再構築する。フレームのCUごとにコーディング・ブロックを再構築した後、ビデオ・デコーダ30は、フレームを再構築し得る。
【0055】
上記で述べられたように、ビデオ・コーディングは、主に2つのモード、すなわち、イントラ-フレーム予測(又は、イントラ予測)及びインター-フレーム予測(又は、インター予測)を使用してビデオ圧縮をアーカイブする。IBCは、イントラ-フレーム予測又は第3のモードのいずれかとして見なされることに留意されよう。2つのモードの間で、参照ビデオ・ブロックからカレント・ビデオ・ブロックを予測するための動きベクトルの使用を理由に、インター-フレーム予測は、イントラ-フレーム予測よりもコーディング効率に貢献する。
【0056】
しかしながら、ビデオ・データ捕捉技術及びビデオ・データ内の内容を保存するためのより精緻化されたビデオ・ブロック・サイズをこれまで改善することにより、カレント・フレームについての動きベクトルを表すために必要とされるデータの量も、実質的に増大する。この課題を克服する1つの方法は、空間及び時間ドメインの両方内の近傍CUのグループが予測する目的で類似のビデオ・データを有するだけでなく、それらの近傍CUの間の動きベクトルも類似であるという事実からの利点を有することである。したがって、カレントCUの「動きベクトル・プレディクタ(MVP)」とも称される、それらの空間的及び時間的相関関係を利用することによって、カレントCUの動き情報(例えば、動きベクトル)の近似度として、空間的に近傍するCU及び/又は時間的に同一位置にあるCUの動き情報を使用することが可能である。
【0057】
図1Bと関連して上記で説明されたような動き推定ユニットによって決定されたカレントCUの実際の動きベクトルを、ビデオ・ビットストリームに符号化する代わりに、カレントCUの動きベクトル・プレディクタは、カレントCUについての動きベクトル・ディファレンス(MVD)を生じさせるように、カレントCUの実際の動きベクトルから差し引かれる。それを行うことによって、フレームのCUごとの動き推定ユニットによって決定された動きベクトルをビデオ・ビットストリームに符号化する必要がなく、ビデオ・ビットストリーム内の動き情報を表すために使用されるデータの量が著しく減少され得る。
【0058】
コード・ブロックのインター-フレーム予測の間に参照フレーム内の予測的ブロックを選ぶ処理と同様に、カレントCUの空間的に近傍のCU及び/又は時間的に同一位置にあるCUと関連付けられたそれらの潜在的な候補動きベクトルを使用してカレントCUについての動きベクトル候補リスト(「マージ・リスト」としても知られる)を構築し、次いで、カレントCUについての動きベクトル・プレディクタとして動きベクトル候補リストから1つのメンバを選択するために、ビデオ・エンコーダ20及びビデオ・デコーダ30の両方によって採用されるルールのセットが必要である。それを行うことによって、ビデオ・エンコーダ20からビデオ・デコーダ30に動きベクトル候補リスト自体を伝送する必要がなく、カレントCUを符号化及び復号するために動きベクトル候補リスト内の同一の動きベクトル・プレディクタを使用するのに、動きベクトル候補リスト内の選択された動きベクトル・プレディクタのインデックスがビデオ・エンコーダ20及びビデオ・デコーダ30に対して十分である。
【0059】
アフィン・モデル
HEVCでは、並進動きモデルのみが、動き補償予測のために適用される。現実世界では、多くの種類の動き、例えば、ズーム・イン/アウト、回転、奥行の動き、及び他の不規則な動きが存在する。VVC及びAVS3では、並進動きモデル又はアフィン動きモデルがインター予測のために適用されるかどうかを示すように、各々のインター・コーディング・ブロックについての1つのフラグをシグナリングすることによって、アフィン動き補償予測が適用される。現在のVVC及びAVS3設計では、4-パラメータ・アフィン・モード及び6-パラメータ・アフィン・モードを含む2つのアフィン・モードが、1つのアフィン・コーディング・ブロックに対してサポートされる。
【0060】
4-パラメータ・アフィン・モデルは、以下のパラメータ:水平及び垂直方向それぞれにおける並進移動についての2つのパラメータ、ズームの動きについての1つのパラメータ、及び両方向に対する回転の動きについての1つのパラメータを有する。このモデルでは、水平ズーム・パラメータは、垂直ズーム・パラメータに等しく、水平回転パラメータは、垂直回転パラメータに等しい。動きベクトル及びアフィン・パラメータのより良好な適合を達成するために、それらのアフィン・パラメータは、カレント・ブロックの左最上隅及び右最上隅に位置する2つのMV(制御点動きベクトル(CPMV)とも呼ばれる)から導出されることになる。図4A~4Bに示されるように、ブロックのアフィン動きフィールドは、2つのCPMV(V,V)によって記述される。制御点動きに基づいて、1つのアフィン・コーディング済み(affine coded)ブロックの動きフィールド(v,v)は、
【数1】
として記述される。
【0061】
6-パラメータ・アフィン・モードは、以下のパラメータ:水平及び垂直方向それぞれにおける並進移動についての2つのパラメータ、水平方向におけるズーム動き及び回転動きそれぞれについての2つのパラメータ、垂直方向におけるズーム動き及び回転動きそれぞれについての別の2つのパラメータを有する。6-パラメータ・アフィン動きモデルは、3つのCPMVによりコーディングされる。図5に示されるように、1つの6-パラメータ・アフィン・ブロックの3つの制御点は、ブロックの左最上、右最上、及び左下隅に位置する。左最上制御点における動きは、並進動きに関連し、右最上制御点における動きは、水平方向における回転及びズーム動きに関連し、左下制御点における動きは、垂直方向における回転及びズーム動きに関連する。4-パラメータ・アフィン動きモデルと比較して、6-パラメータの水平方向における回転及びズーム動きは、垂直方向におけるそれらの動きと同一ではあり得ない。(V,V,V)が図5におけるカレント・ブロックの左最上、右最上、及び左下隅のMVであると想定して、各々のサブ・ブロックの動きベクトル(v,v)は、
【数2】
として、制御点における3つのMVを使用して導出される。
【0062】
アフィン・マージ・モード
アフィン・マージ・モードでは、カレント・ブロックについてのCPMVは、明示的にシグナリングされないが、近傍ブロックから導出される。特に、このモードでは、空間的近傍ブロックの動き情報は、カレント・ブロックについてのCPMVを生成するために使用される。アフィン・マージ・モード候補リストは、制限されたサイズを有する。例えば、現在のVVC設計では、最大で5つの候補が存在し得る。エンコーダは、レート歪み最適化アルゴリズムに基づいて、最良の候補インデックスを評価し得、選び得る。選ばれた候補インデックスは次いで、デコーダ側にシグナリングされる。アフィン・マージ候補は、3つの方法において決定され得る。第1の方法では、アフィン・マージ候補は、近傍のアフィン・コーディング済みブロックから継承され得る。第2の方法では、アフィン・マージ候補は、近傍ブロックからの並進MVから構築され得る。第3の方法では、ゼロMVは、アフィン・マージ候補として使用される。
【0063】
継承済み方法について、最大で2つの候補が存在し得る。候補は、利用可能である場合、カレント・ブロックの左下に位置する近傍ブロックから(例えば、図6に示されるように、スキャニング順序がA0からA1までである)、及びカレント・ブロックの右最上に位置する近傍ブロックから(例えば、図6に示されるように、スキャニング順序がB0からB2までである)取得される。
【0064】
構築済み方法について、候補は、2つのステップによって生成され得る、近傍の並進MVの組み合わせである。
【0065】
ステップ1:利用可能な近傍からMV1、MV2、MV3、及びMV4を含む4つの並進MVを取得する。
MV1:カレント・ブロックの左最上隅に近い3つの近傍ブロックの1つからのMV。図7に示されるように、スキャニング順序は、B2、B3、及びA2である。
MV2:カレント・ブロックの右最上隅に近い2つの近傍ブロックからの1つの1つからのMV。図7に示されるように、スキャニング順序は、B1及びB0である。
MV3:カレント・ブロックの左下隅に近い2つの近傍ブロックからの1つの1つからのMV。図7に示されるように、スキャニング順序は、A1及びA0である。
MV4:カレント・ブロックの右下隅に近い近傍ブロックの時間的に同一位置にあるブロックからのMV。図に示されるように、近傍ブロックは、Tである。
【0066】
ステップ2:ステップ1からの4つの並進MVに基づいて、組み合わせを導出する。
組み合わせ1:MV1、MV2、MV3、
組み合わせ2:MV1、MV2、MV4、
組み合わせ3:MV1、MV3、MV4、
組み合わせ4:MV2、MV3、MV4、
組み合わせ5:MV1、MV2、
組み合わせ6:MV1、MV3。
【0067】
マージ候補リストが継承済み及び構築済み候補により満たした後にフルでないとき、ゼロMVは、リストの最後に挿入される。
【0068】
アフィンAMVPモード
アフィン・アドバンスト動きベクトル予測(AMVP)モードは、16以上の幅及び高さの両方を有するCUに対して適用され得る。CUレベルにおけるアフィン・フラグは、アフィンAMVPモードが使用されるかどうかを示すようにビットストリームにおいてシグナリングされ、次いで、別のフラグは、4-パラメータ・アフィン又は6-パラメータ・アフィンであるかどうかを示すようにシグナリングされる。このモードでは、カレントCUのCPMV及びそれらのプレディクタCPMVPの差が、ビットストリームにおいてシグナリングされる。アフィンAVMP候補リスト・サイズは2であり、アフィンAMVP候補リストは、以下の順序において、以下の4つのタイプのCPMV候補を使用することによってシグナリングされる。
- 近傍CUのCPMVから外挿された継承済みアフィンAMVP候補、
- 近傍CUの並進MVを使用して導出された構築済みアフィンAMVP候補CPMVP、
- 近傍のCUからの並進MV、
- ゼロMV。
【0069】
継承済みアフィンAMVP候補のチェッキング順序は、継承済みアフィン・マージ候補のチェッキング順序と同一である。唯一の差は、AMVP候補について、カレント・ブロックにあるのと同一の参照ピクチャを有するアフィンCUのみが考慮されることである。継承済みアフィン動きプレディクタを候補リストに挿入するときに、プルーニング処理が適用されない。
【0070】
構築済みAMVP候補は、アフィン・マージ・モードと同一の空間的近傍から導出される。アフィン・マージ候補構築に行われるのと同一のチェッキング順序が使用される。加えて、近傍ブロックの参照ピクチャ・インデックスもチェックされる。インター・コーディングされ、カレントCUにあるのと同一の参照ピクチャを有するチェッキング順序における最初のブロックが使用される。カレントCUが4-パラメータ・アフィン・モードによりコーディングされ、mv及びmvの両方が利用可能である場合、mv及びmvは、1つの候補としてアフィンAMVP候補リストに追加される。カレントCUが6-パラメータ・アフィン・モードによりコーディングされ、全ての3つのCPMVが利用可能である場合、それらは、1つの候補としてアフィンAMVP候補リストに追加される。そうでなければ、構築済みAMVP候補が使用可能でないとして設定される。
【0071】
有効な継承済みアフィンAMVP候補及び構築済みAMVP候補が挿入された後、アフィンAMVPリスト候補がなおも2未満である場合、利用可能であるときに、カレントCUの全ての制御点MVを並進MVとして予測するために、mv、mv、及びmvが順番に追加される。最終的に、それがなおもフルでない場合、アフィンAMVPリストを満たすために、ゼロMVが使用される。
【0072】
履歴ベースマージ候補導出
履歴ベースMVP(HMVP)マージ候補は、空間的MVP及び時間動きベクトル予測(TMVP)の後にマージ・リストに追加される。この方法では、前にコーディングされたブロックの動き情報は、テーブルに記憶され、カレントCUについてのMVPとして使用される。複数のHMVP候補を有するテーブルは、符号化/復号処理の間に維持される。新たなCTU行に直面するときにテーブルがリセットされる(空にされる)。非サブ・ブロックのインター・コーディング済み(inter-coded)CUが存在するときはいつでも、関連する動き情報は、新たなHMVP候補としてテーブルの最後のエントリに追加される。
【0073】
HMVPテーブル・サイズSは、6に設定され得、それは、最大で5つの履歴ベースMVP(HMVP)候補がテーブルに追加され得ることを示す。新たな動き候補をテーブルに挿入するとき、制約されたファースト・イン・ファースト・アウト(FIFO)ルールが利用され、テーブル内で同一のHMVPが存在するかどうかを発見するために、冗長性チェックが最初に適用される。発見される場合、同一のHMVPがテーブルから除去され、その後の全てのHMVP候補が前に移動され、同一のHMVPは、テーブルの最後のエントリに挿入される。
【0074】
HMVP候補は、マージ候補リスト構築処理において使用される。テーブル内の最新のいくつかのHMVP候補は、順番にチェックされ、TMVP候補の後に候補リストに挿入される。冗長性チェックは空間的又は時間的マージ候補へのHMVP候補に対して適用される。
【0075】
冗長性チェックのための演算の回数を削減するために、以下の簡易化が導入される。最初に、テーブル内の最後の2つのエントリは、A1及びB1空間的候補のそれぞれに対して冗長性がチェックされる。2番目に、利用可能なマージ候補の総数が最大で許容されたマージ候補マイナス1に到達すると、HMVPからのマージ候補リスト構築処理が完結する。
【0076】
現在のビデオ標準規格VVC及びAVSについて、近接する(adjacent)近傍ブロックのみが、継承済み候補及び構築済み候補それぞれについて図6及び図7に示されるように、カレント・ブロックについてのアフィン・マージ候補を導出するために使用される。マージ候補の多様性を増大させ、空間的相関関係を更に利用するために、近接するエリアから近接しないエリアに近傍ブロックのカバレッジを拡張させることが率直である。
【0077】
現在のビデオ標準規格VVC及びAVSでは、各々のアフィン継承済み候補は、アフィン動き情報により1つの近傍ブロックから導出される。一方で、各々のアフィン構築済み候補は、並進動き情報により2つ又は3つの近傍ブロックから導出される。空間的相関関係を更に利用するために、アフィン動き及び並進動きを組み合わせた新たな候補導出方法が調査され得る。
【0078】
アフィン・マージ・モード(affine merge mode)について提案された候補導出方法は、アフィンAMVPモード及び正規マージ・モード(regular merge mode)など、他のコーディング・モードに拡張され得る。
【0079】
本開示では、アフィン・マージ・モードに対する候補導出処理は、近接する近傍ブロックだけでなく、近接しない近傍ブロックをも使用することによって拡張され得る。詳細な方法は、アフィン・マージ候補プルーニング(affine merge candidate pruning)、アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理(non ajacent neighbor based derivation process for affine inherited merge candidates)、アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理(non ajacent neighbor based derivation process for affine constructed merge candidates)、アフィン構築済みマージ候補に対する継承ベース導出方法(inheritance based derivation method for affine constructed merge candidates)、アフィン構築済みマージ候補に対するHMVPベース導出方法(HMVP based derivation method for affine constructed merge candidates)、並びにアフィンAMVPモード及び正規マージ・モードに対する候補導出方法(candidates derivation method for affine AMVP mode and regular merge mode)を含む、以下の態様において要約され得る。
【0080】
アフィン・マージ候補プルーニング
典型的なビデオ・コーディング標準規格におけるアフィン・マージ候補リストが通常、制限されたサイズを有するように、候補プルーニングは、冗長な1つを除去するために必須の処理である。アフィン・マージ継承済み候補及び構築済み候補の両方に対し、このプルーニング処理が必要である。導入部において説明されるように、カレント・ブロックのCPMVは、アフィン動き補償のために直接使用されない。代わりに、CPMVは、カレント・ブロック内の各々のサブ・ブロックの位置において並進MVに転換される必要がある。転換処理は、以下に示されるように、一般的なアフィン・モデルを遵守することによって実行される。
【数3】
(a,b)は、デルタ並進パラメータであり、(c,d)は、水平方向についてのデルタ・ズーム及び回転パラメータであり、(e,f)は、垂直方向についてのデルタ・ズーム及び回転パラメータであり、(x,y)は、カレント・ブロックの左最上隅に対するサブ・ブロックの旋回位置(例えば、中心又は左最上隅)の水平及び垂直距離であり(例えば、図5に示される座標(x,y)、(v,v)は、サブ・ブロックのターゲット並進MVである。
【0081】
6-パラメータ・アフィン・モデルに対し、V0、V1、及びV2と称される、3つのCPMVが利用可能である。次いで、6つのモデル・パラメータa、b、c、d、e、及びfは、
【数4】
として計算され得る。
【0082】
4-パラメータ・アフィン・モデルに対し、V0及びV1と称される、左最上隅CPMV及び右最上隅CPMVが利用可能である場合、a、b、c、d、e、及びfの6つのパラメータは、
【数5】
として計算され得る。
【0083】
4-パラメータ・アフィン・モデルに対し、V0及びV2と称される、左最上隅CPMV及び左下隅CPMVが利用可能である場合、a、b、c、d、e、及びfの6つのパラメータは、
【数6】
として計算され得る。
【0084】
上記の式(4)、(5)、及び(6)では、w及びhは、カレント・ブロックの幅及び高さそれぞれを表す。
【0085】
CPMVの2つのマージ候補セットが冗長性チェックのために比較されるとき、6アフィン・モデル・パラメータの類似性をチェックすることが提案される。したがって、候補プルーニング処理が2つのステップにおいて実行され得る。
【0086】
ステップ1では、CPMVの2つの候補セットを仮定して、候補セットごとの対応するアフィン・モデル・パラメータが導出される。より具体的に、CPMVの2つの候補セットは、アフィン・モデル・パラメータの2つのセット、例えば、(a,b,c,d,e,f)及び(a,b,c,d,e,f)によって表され得る。
【0087】
ステップ2では、1つ以上の予め定義された閾値に基づいて、アフィン・モデル・パラメータの2つのセットの間で類似性チェックが実行される。1つの実施形態では、(a-a)、(b-b)、(c-c)、(d-d)、(e-e、及び(f-f)の絶対値が全て1の値などの正の閾値を下回るとき、2つの候補が類似であると考えられ、それらの1つは、プルーニング/除去され得、マージ候補リストに置かれ得ない。
【0088】
いくつかの実施形態では、ステップ1の分割又は右シフト演算は、CPMVプルーニング処理における計算を簡易化するために除去され得る。
【0089】
特に、c、d、e、及びfのモデル・パラメータは、カレント・ブロックの幅w及び高さhによって分割されることなく計算され得る。例えば、例として上記の式(4)を取り、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(7)として計算され得る。
【数7】
【0090】
2つのCPMVのみが利用可能であるケースでは、モデル・パラメータの一部は、カレント・ブロックの幅又は高さに依存する、モデル・パラメータの他の部分から導出される。このケースでは、モデル・パラメータは、幅及び高さの影響を考慮するように転換され得る。例えば、式(5)のケースでは、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(8)に基づいて計算され得る。式(6)のケースでは、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(9)に基づいて計算され得る。
【数8】
c’、d’、e’、及びf’の近似したモデル・パラメータが上記のステップ1において計算されるとき、上記のステップ2における類似性チェックのために必要な絶対値の計算は、それに従って変更され得る:(a-a)、(b-b)、(c’-c’)、(d’-d’)、(e’-e’)、及び(f’-f’)。
【0091】
上記のステップ2では、CPMVの2つの候補セットの間の類似性を評価するために閾値が必要である。閾値を定義する複数の方法が存在し得る。1つの実施形態では、閾値は、比較可能パラメータごとに定義され得る。表1は、比較可能モデル・パラメータごとに定義された閾値を示す、この実施形態における1つの実施例である。別の実施形態では、閾値は、カレント・コーディング・ブロックのサイズを考慮することによって定義され得る。表2は、カレント・コーディング・ブロックのサイズによって定義された閾値を示す、この実施形態における1つの実施例である。
【0092】
【表1】
【0093】
【表2】
【0094】
別の実施形態では、閾値は、カレント・ブロックの重み又は高さを考慮することによって定義され得る。表3及び表4は、この実施形態における実施例である。表3は、カレント・コーディング・ブロックの幅によって定義された閾値を示し、表4は、カレント・コーディング・ブロックの高さによって定義された閾値を示す。
【0095】
【表3】
【0096】
【表4】
【0097】
別の実施形態では、固定値のグループとして閾値が定義され得る。別の実施形態では、閾値は、上記の実施形態のいずれかの組み合わせによって定義され得る。1つの実施例では、閾値は、異なるパラメータ並びにカレント・ブロックの重み及び高さを考慮することによって定義され得る。表5は、カレント・コーディング・ブロックの高さによって定義された閾値を示す、この実施形態における1つの実施例である。いずれかの上記で提案された実施形態では、比較可能パラメータは、必要である場合、式(4)~式(9)からのいずれかの式において定義されたいずれかのパラメータを表し得る。
【0098】
【表5】
【0099】
候補冗長性チェックのための転換済みアフィン・モデル・パラメータを使用する利点は、それが異なるアフィン・モデル・タイプを有する候補に対する統一類似性チェック処理を生じさせ、例えば、1つのマージ候補は、3つのCPMVを有する6-パラメータ・アフィン・モデルをユーザーし得ると共に別の候補は、2つのCPMVを有する4-パラメータ・アフィン・モデルを使用し得、それは、各々のサブ・ブロックにおけるターゲットMVを導出するときにマージ候補における各々のCPMVの異なる影響を考慮し、それは、カレント・ブロックの幅及び高さに関連する2つのアフィン・マージ候補の類似性有意性を提供することである。
【0100】
アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理
継承済みマージ候補に対し、近接しない近傍ベース導出処理は、3つのステップにおいて実行され得る。ステップ1は、候補スキャニングのためである。ステップ2は、CPMV投影のためである。ステップ3は、候補プルーニングのためである。
【0101】
ステップ1では、近接しない近傍ブロックは、以下の方法によってスキャン及び選択される。
【0102】
スキャニング・エリア及び距離
いくつかの実施例では、近接しない近傍ブロックは、カレント・コーディング・ブロックの左のエリア及び上のエリアからスキャンされ得る。スキャニング距離は、スキャニング・ポジションからカレント・コーディング・ブロックの左側又は最上側までのコーディング・ブロックの数として定義され得る。
【0103】
図8に示されるように、カレント・コーディング・ブロックの左又は上のいずれかの上で、近接しない近傍ブロックの複数のラインがスキャンされ得る。図8に示される距離は、各々の候補ポジションからカレント・ブロックの左側又は最上側までのコーディング・ブロックの数を表す。例えば、カレント・ブロックの左側上の「距離2」を有するエリアは、このエリア内に位置する候補近傍ブロックがカレント・ブロックから2ブロック離れていることを示す。類似のインジケーションは、異なる距離を有する他のスキャニング・エリアに適用され得る。
【0104】
1つ以上の実施形態では、各々の距離における近接しない近傍ブロックは、図13Aに示されるように、カレント・コーディング・ブロックと同一のブロック・サイズを有し得る。図13Aに示されるように、左側上の近接しない近傍ブロック1301及び上側上の近接しない近傍ブロック1302は、カレント・ブロック1303と同一のサイズを有する。いくつかの実施形態では、各々の距離における近接しない近傍ブロックは、図13Bに示されるように、カレント・コーディング・ブロックとは異なるブロック・サイズを有し得る。近傍ブロック1304は、カレント・ブロック1303に近接する近傍ブロックである。図13Bに示されるように、左側上の近接しない近傍ブロック1305及び上側上の近接しない近傍ブロック1306は、カレント・ブロック1307と同一のサイズを有する。近傍ブロック1308は、カレント・ブロック1307に近接する近傍ブロックである。
【0105】
各々の距離における近接しない近傍ブロックがカレント・コーディング・ブロックと同一のブロック・サイズを有するとき、ブロック・サイズの値は、画像内の各々の異なるエリアにおける区画化粒度に従って適応的に変化されることに留意されよう。各々の距離における近接しない近傍ブロックがカレント・コーディング・ブロックとは異なるブロック・サイズを有するとき、ブロック・サイズの値は、4×4、8×8、又は16×16など、一定の値として予め定義され得る。図10及び図12に示される4×4の近接しない動きフィールドは、このケースにおける実施例であり、動きフィールドは、それらに限定されないが、サブ・ブロックの特殊ケースとして考えられ得る。
【0106】
同様に、図11に示される近接しないコーディング・ブロックも同様に、異なるサイズを有し得る。1つの実施例では、近接しないコーディング・ブロックは、適応的に変更される、カレント・コーディング・ブロックとしてのサイズを有し得る。別の実施例では、近接しないコーディング・ブロックは、4×4、8×8、又は16×16など、固定値を有する予め定義されたサイズを有し得る。
【0107】
定義されたスキャニング距離に基づいて、カレント・コーディング・クロックの左又は上のいずれかの上のスキャニング・エリアの合計サイズは、構成可能な距離値によって決定され得る。1つ以上の実施形態では、左側及び上側上の最大スキャニング距離は、同一の値又は異なる値を使用し得る。図13は、左側及び上側の両方の上の最大距離が2の同一の値を共有する実施例を示す。最大スキャニング距離値(複数可)は、エンコーダ側によって決定され得、ビットストリームにおいてシグナリングされ得る。代わりに、最大スキャニング距離値(複数可)は、2又は4の値など、固定値(複数可)として予め定義され得る。最大スキャニング距離が4の値として予め定義されるとき、それは、候補リストがフルであるときにスキャニング処理が完結されること、又はどちらが先に来ても、最大距離4を有する全ての近接しない近傍ブロックがスキャンされたことを示す。
【0108】
1つ以上の実施形態では、特定の距離における各々のスキャニング・エリア内で、開始及び終了近傍ブロックは、ポジション依存であり得る。
【0109】
いくつかの実施形態では、左側スキャニング・エリアに対し、開始近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの開始近傍ブロックの近接する左下ブロックであり得る。例えば、図8に示されるように、カレント・ブロックの左側上の「距離2」スキャニング・エリアの開始近傍ブロックは、「距離1」スキャニング・エリアの開始近傍ブロックの近接する左下近傍ブロックである。終了近傍ブロックは、より短い距離を有する上のスキャニング・エリアの終了近傍ブロックの近接する左ブロックであり得る。例えば、図8に示されるように、カレント・ブロックの左側上の「距離2」スキャニング・エリアの終了近傍ブロックは、カレント・ブロックの上の「距離1」スキャニング・エリアの終了近傍ブロックの近接する左近傍ブロックである。
【0110】
同様に、上側スキャニング・エリアに対し、開始近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの開始近傍ブロックの近接する右最上ブロックであり得る。終了近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの終了近傍ブロックの近接する左最上ブロックであり得る。
【0111】
スキャニング順序
近傍ブロックが近接しないエリア内でスキャンされるとき、スキャン済み近傍ブロックの選択を判定するように、或る順序又は/及びルールが遵守され得る。
【0112】
いくつかの実施形態では、左のエリアが最初にスキャンされ得、次いで、上のエリアをスキャンすることが続く。図8に示されるように、左側上の近接しないエリアの3つのライン(例えば、距離1から距離3までの)が最初にスキャンされ得、次いで、カレント・ブロックの上の近接しないエリアの3つのラインをスキャンすることが続く。
【0113】
いくつかの実施形態では、左のエリア及び上のエリアが交互にスキャンされ得る。例えば、図8に示されるように、「距離1」を有する左のスキャニング・エリアが最初にスキャンされ、次いで、「距離1」を有する上のエリアをスキャンすることが続く。
【0114】
同一の側上に位置するスキャニング・エリアに対し(例えば、左又は上のエリア)、スキャニング順序は、短い距離を有するエリアから長い距離を有するエリアまでである。この順序は、スキャニング順序の他の実施形態と柔軟に組み合わされ得る。例えば、左及び上のエリアが交互にスキャンされ得、同一の側のエリアに対する順序は、短い距離から長い距離までであるようにスケジュールされる。
【0115】
特定の距離における各々のスキャニング・エリア内で、スキャニング順序が定義され得る。1つの実施形態では、左のスキャニング・エリアに対し、スキャニングは、下の近傍ブロックから最上の近傍ブロックへと開始され得る。上のスキャニング・エリアに対し、スキャニングは、右のブロックから左のブロックへと開始され得る。
【0116】
スキャニング完結
継承済みマージ候補に対し、アフィン・モードによりコーディングされた近傍ブロックは、適格とされた候補として定義される。いくつかの実施形態では、スキャニング処理は、反復して実行され得る。例えば、特定の距離における特定のエリア内で実行されるスキャニングは、最初のX個の適格とされた候補が識別されるときのインスタンスにおいて停止され得、Xは、予め定義された正の値である。例えば、図8に示されるように、距離1を有する左のスキャニング・エリア内でのスキャニングは、最初の1つ以上の適格とされた候補が識別されるときに停止され得る。次いで、予め定義されたスキャニング順序/ルールによって規制される、別のスキャニング・エリアをターゲットすることによって、スキャニング処理の次の反復が開始される。
【0117】
いくつかの実施形態では、スキャニング処理は、連続して実行され得る。例えば、特定の距離における特定のエリア内で実行されるスキャニングは、全てのカバーされた近傍ブロックがスキャンされ、より適格とされた候補が識別されず、又は候補の最大許容数に到達するときのインスタンスにおいて停止され得る。
【0118】
候補スキャニング処理の間、各々の候補の近接しない近傍ブロックは、上記で提案されたスキャニング方法を遵守することによって決定及びスキャンされる。より容易な実装のために、各々の候補の近接しない近傍ブロックは、特定のスキャニング・ポジションによって示され得、及び特定され得る。特定のスキャニング・エリア及び距離が上記で提案された方法を遵守することによって決定されると、スキャニング・ポジションは、以下の方法に基づいて、それに従って判定され得る。
【0119】
1つの方法では、左下及び右最上のポジションは、図15Aに示されるように、上及び左の近接しない近傍ブロックに対して使用される。
【0120】
別の方法では、右下のポジションは、図15Bに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0121】
別の方法では、左下のポジションは、図15Cに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0122】
別の方法では、右最上のポジションは、図15Dに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0123】
より容易な例示のために、図15A~15Dでは、各々の近接しない近傍ブロックは、カレント・ブロックと同一のブロック・サイズを有すると想定される。汎用性を失うことなく、この例示は、異なるブロック・サイズを有する近接しない近傍ブロックに容易に拡張され得る。
【0124】
更に、ステップ2では、現在のAVS及びVVC標準規格において使用されるのとCPMV投影の同一の処理が利用され得る。このCPMV投影処理では、カレント・ブロックは、同一のアフィン・モデルを選択された近傍ブロックと共有し、次いで、2つ又は3つの隅の画素の座標(例えば、カレント・ブロックが4-パラメータ・モデルを使用する場合、2つの座標(左最上の画素/サンプル位置及び右最上の画素/サンプル位置)が使用され、カレント・ブロックが6-パラメータ・モデルを使用する場合、3つの座標(左最上の画素/サンプル位置、右最上の画素/サンプル位置、及び左下の画素/サンプル位置)が使用される)が式(1)又は(2)にプラグ・インされ、それは、近傍ブロックが、2つ又は3つのCPMVを生成するように、4-パラメータ又は6-パラメータ・アフィン・モデルによりコーディングされるかどうかに依存すると想定される。
【0125】
ステップ3では、ステップ1において識別され、ステップ2において転換されたいずれかの適格とされた候補は、マージ候補リスト内に既にある全ての既存の候補に対して類似性チェックを受け得る。類似性チェックの詳細は、上記の「アフィン・マージ候補プルーニング」のセクションにおいて既に説明されている。新たに適格とされた候補が候補リスト内のいずれかの既存の候補と類似すると発見される場合、この新たに適格とされた候補は、除去/プルーニングされる。
【0126】
アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理
継承済みマージ候補を導出するケースでは、1つの近傍ブロックが一度に識別され、この単一の近傍ブロックは、アフィン・モードにおいてコーディングされる必要があり、2つ又は3つのCPMVを包含し得る。構築済みマージ候補を導出するケースでは、2つ又は3つの近傍ブロックが一度に識別され、各々の識別された近傍ブロックは、アフィン・モードにおいてコーディングされる必要がなく、1つの並進MVのみがこのブロックから取り出される。
【0127】
図9は、近接しない近傍ブロックを使用することによって、構築済みアフィン・マージ候補が導出され得る実施例を提示する。図9では、A、B、及びCは、3つの近接しない近傍ブロックの地理的ポジションである。仮想コーディング・ブロックは、左最上隅としてAのポジション、右最上隅としてBのポジション、及び左下隅としてCのポジションを使用して形成される。アフィン・コーディング済みブロックとして仮想CUを考える場合、A’、B’、及びC’のポジションにおけるMVは、式(3)を遵守することによって導出され得、モデル・パラメータ(a,b,c,d,e,f)は、A、B、及びCのポジションにおける並進MVによって計算され得る。導出されると、A’、B’、及びC’のポジションにおけるMVは、カレント・ブロックについての3つのCPMVとして使用され得、構築済みアフィン・マージ候補を生成する既存の処理(AVS及びVVC標準規格において使用される1つ)が使用され得る。
【0128】
構築済みマージ候補に対し、近接しない近傍ベース導出処理は、5つのステップにおいて実行され得る。近接しない近傍ベース導出処理は、エンコーダ又はデコーダなどの装置において、5つのステップにおいて実行され得る。ステップ1は、候補スキャニングのためである。ステップ2は、アフィン・モデル決定のためである。ステップ3は、CPMV投影のためである。ステップ4は、候補生成のためである。また、ステップ5は、候補プルーニングのためである。ステップ1では、近接しない近傍ブロックは、以下の方法によってスキャン及び選択され得る。
【0129】
スキャニング・エリア及び距離
いくつかの実施形態では、矩形コーディング・ブロックを維持するために、スキャニング処理は、2つの近接しない近傍ブロックに対してのみ実行される。第3の近接しない近傍ブロックは、第1の及び第2の近接しない近傍ブロックの水平及び垂直ポジションに依存し得る。
【0130】
いくつかの実施形態では、図9に示されるように、スキャニング処理は、B及びCのポジションに対してのみ実行される。Aのポジションは、Cの水平ポジション及びBの垂直ポジションによって一意に決定され得る。このケースでは、スキャニング・エリア及び距離は、特定のスキャニング方向に従って定義され得る。
【0131】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側に垂直であり得る。1つの実施例が図10に示され、スキャニング・エリアは、カレント・ブロックの左又は上の連続した動きフィールドの1つのラインとして定義される。スキャニング距離は、スキャニング・ポジションからカレント・ブロックの側までの動きフィールドの数として定義される。動きフィールドのサイズは、適用可能なビデオ・コーディング標準規格の最大粒度に依存し得ることに留意されよう。図10に示される実施例では、動きフィールドのサイズは、現在のVVC標準規格と整合され、4×4に設定されると想定される。
【0132】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側に平行であり得る。1つの実施例が図11に示され、図11では、スキャニング・エリアは、カレント・ブロックの左又は上の連続したコーディング・ブロックの1つのラインとして定義される。
【0133】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側への垂直及び水平スキャニングの組み合わせであり得る。1つの実施例が図12に示される。図12に示されるように、スキャニング方向はまた、並列及び対角線の組み合わせであり得る。ポジションBにおけるスキャニングは、左から右に、次いで、対角線方向において左及び上のブロックへと開始する。ポジションBにおけるスキャニングは、図12に示されるように繰り返す。同様に、ポジションCにおけるスキャニングは、最上から下に、次いで、対角線方向において左及び上のブロックへと開始する。ポジションCにおけるスキャニングは、図12に示されるように繰り返す。
【0134】
スキャニング順序
いくつかの実施形態では、スキャニング順序は、カレント・コーディング・ブロックへのより短い距離を有するポジションからより長い距離を有するポジションまでとして定義され得る。この順序は、垂直スキャニングのケースに適用され得る。
【0135】
いくつかの実施形態では、スキャニング順序は、固定パターンとして定義され得る。この固定パターン・スキャニング順序は、類似の距離を有する候補ポジションに対して使用され得る。1つの実施例は、水平スキャニングのケースである。1つの実施例では、図11に示される実施例と同様に、スキャニング順序は、左のスキャニング・エリアに対して最上-下方向として定義され得、上のスキャニング・エリアに対して左から右への方向として定義され得る。
【0136】
組み合わせスキャニング方法のケースについて、図12に示される実施例と同様に、スキャニング順序は、固定パターン及び距離依存の組み合わせであり得る。
【0137】
スキャニング完結
構築済みマージ候補に対し、適格とされた候補は、並進MVのみが必要になるので、アフィン・コーディングされる必要がない。
【0138】
必要とされる候補の数に応じて、スキャニング処理は、最初のX個の適格とされた候補が識別されるときに完結され得、Xは、正の値である。
【0139】
図9に示されるように、仮想コーディング・ブロックを形成するために、A、B、及びCと命名される3つの隅が必要になる。より容易な実装のために、ステップ1におけるスキャニング処理は、隅B及びCに位置する近接しない近傍ブロックを識別するためにのみ実行され得ると共に、Aの座標は、Cの水平座標及びBの垂直座標を取ることによって正確に決定され得る。このようにして、形成された仮想コーディング・ブロックは、矩形であるように制約される。B又はC点のいずれかが利用可能でない、例えば、境界の外であり、又はB若しくはCに対応する近接しない近傍ブロックにおける動き情報が利用可能でないケースでは、Cの水平座標又は垂直座標は、カレント・ブロックの左最上の点の水平座標又は垂直座標それぞれとして定義され得る。
【0140】
別の実施形態では、隅B及び/又は隅Cがステップ1におけるスキャニング処理から最初に決定されるとき、隅B及び/又はCに位置する近接しない近傍ブロックがそれに従って識別され得る。2番目に、隅B及び/又はCのポジション(複数可)は、各々の近接しない近傍ブロックの質量中心など、対応する近接しない近傍ブロック内の旋回点にリセットされ得る。例えば、質量中心は、各々の近傍ブロックの幾何学的中心として定義され得る。
【0141】
統一を目的として、継承済みマージ候補を導出するために提案された、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を定義する方法は、構築済みマージ候補を導出するために完全に又は部分的に再使用され得る。1つ以上の実施形態では、それらに限定されないが、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、継承済みマージ候補スキャニングのために定義された同一の方法は、構築済みマージ候補スキャニングのために完全に再使用され得る。
【0142】
いくつかの実施形態では、継承済みマージ候補スキャニングのために定義された同一の方法は、構築済みマージ候補スキャニングのために部分的に再使用され得る。図16は、このケースにおける実施例を示す。図16では、各々の近接しない近傍ブロックのブロック・サイズは、カレント・ブロックと同一であり、それは、継承済み候補スキャニングとして同様に定義されるが、各々の距離におけるスキャニングが1つのブロックでのみであるとして制限されるので、全体的な処理は、簡易化されたバージョンである。
【0143】
図17A~17Bは、このケースにおける別の実施例を表す。図17A~17Bでは、近接しない継承済みマージ候補及び近接しない構築済みマージ候補の両方は、カレント・コーディング・ブロックと同一のブロック・サイズにより定義されると共に、スキャニング順序、スキャニング・エリア、及びスキャニング完結条件は、異なって定義され得る。
【0144】
図17Aでは、左側の近接しない近傍についての最大距離は、4つのコーディング・ブロックであると共に、上側の近接しない近傍についての最大距離は、5つのコーディング・ブロックである。また、各々の距離において、スキャニング方向は、左側に対して下-上、上側に対して右-左である。図17Bでは、近接しない近傍の最大距離は、左側及び上側の両方に対して4である。加えて、各々の距離において1つのブロックのみが存在することを理由に、特定の距離におけるスキャニングは利用可能でない。図17Aでは、M個の適格とされた候補が識別される場合、各々の距離内のスキャニング演算が完結され得る。Mの値は、1の値又はいずれかの他の正の整数などの予め定義された固定値、或いはエンコーダによって決定されたシグナリングされた値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Mの値は、マージ候補リスト・サイズと同一であり得る。
【0145】
図17A~17Bでは、N個の適格とされた候補が識別される場合、異なる距離におけるスキャニング演算が完結され得る。Nの値は、1の値又はいずれかの他の正の整数などの予め定義された固定値、或いはエンコーダによって決定されたシグナリングされた値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Nの値は、マージ候補リスト・サイズと同一であり得る。別の実施例では、Nの値は、Mの値と同一であり得る。
【0146】
図17A及び17Bの両方では、カレント・ブロックにより近い距離を有する近接しない空間的近傍が優先付けられ得、それは、距離iを有する近接しない空間的近傍は、距離i+1を有する近傍よりも前にスキャン又はチェックされることを示し、iは、特定の距離を表す負でない整数であり得る。
【0147】
特定の距離において、最大で2つの近接しない空間的近傍が使用され、それは、利用可能である場合、カレント・ブロックの1つの側、例えば、左及び上からの最大で1つの近傍が継承済み又は構築済み候補導出のため選択されることを意味する。図17Aに示されるように、左側及び上側の近傍のチェッキング順序は、下-上及び右-左のそれぞれである。図17Bについて、このルールも適用され得、差は、いずれかの特定の距離において、カレント・ブロックの側ごとに1つのオプションのみが存在することであり得る。
【0148】
構築済み候補に対し、図17Bに示されるように、1つの左及び上の近接しない空間的近傍のポジションが最初に独立して決定される。その後、左及び上の近接しない近傍と共に矩形仮想ブロックを囲むことができる、左最上の近傍の位置が、それに従って決定され得る。次いで、図9に示されるように、3つの近接しない近傍の動き情報は、対応する構築済み候補を生成するために最終的にカレントCUに投影される、仮想ブロックの左最上(A)、右最上(B)、及び左下(C)においてCPMVを形成するために使用される。
【0149】
ステップ2では、ステップ1の後の選択された候補のポジションにおける並進MVが評価され、適切なアフィン・モデルが決定され得る、より容易な例示のために、及び汎用性を失うことなく、図9が再度例として使用される。
【0150】
ハードウェア制約、実装の複雑度、及び異なる参照インデックスなどの因子に起因して、十分な数の候補が識別される前にスキャニング処理が完結され得る。例えば、ステップ1の後の選択された候補の1つ以上における動きフィールドの動き情報が利用可能であり得ない。
【0151】
全ての3つの候補の動き情報が利用可能である場合、対応する仮想コーディング・ブロックは、6-パラメータ・アフィン・モデルを表す。3つの候補の1つの動き情報が利用可能でない場合、対応する仮想コーディング・ブロックは、4-パラメータ・アフィン・モデルを表す。3つの候補の1つよりも多い動き情報が利用可能でない場合、対応する仮想コーディング・ブロックは、有効なアフィン・モデルを表すために使用不可であり得る。
【0152】
いくつかの実施形態では、仮想コーディング・ブロックの左最上隅、例えば、図9における隅Aの動き情報が利用可能でない場合、又は右最上隅、例えば、図9における隅B、及び左下隅、例えば、図9における隅Cの両方における動き情報が利用可能でない場合、仮想ブロックは、無効であるとして設定され得、有効なモデルを表すために使用不可であり得、次いで、ステップ3及びステップ4は、現在の反復の間にスキップされ得る。
【0153】
いくつかの実施形態では、両方が利用可能でないわけではないが、右最上隅、例えば、図9における隅B、又は左下隅、例えば、図9における隅Cのいずれかが利用可能でない場合、仮想ブロックは有効な4-パラメータ・アフィン・モデルを表し得る。
【0154】
ステップ3では、仮想コーディング・ブロックが有効なアフィン・モデルを表すことが可能である場合、継承済みマージ候補に対して使用される同一の投影処理が使用され得る。
【0155】
1つ以上の実施形態では、継承済みマージ候補に対して使用される同一の投影処理が使用され得る。このケースでは、ステップ2からの仮想コーディング・ブロックによって表される4-パラメータ・モデルは、カレント・ブロックに対して4-パラメータ・モデルに投影され、ステップ2からの仮想コーディング・ブロックによって表される6-パラメータ・モデルは、カレント・ブロックに対して6-パラメータ・モデルに投影される。
【0156】
いくつかの実施形態では、ステップ2からの仮想コーディング・ブロックによって表されるアフィン・モデルは、カレント・ブロックに対して4-パラメータ・モデル又は6-パラメータ・モデルに常に投影される。
【0157】
式(5)及び(6)に従って、2つのタイプの4-パラメータ・アフィン・モデルが存在し得、タイプAは、V及びVと称される左最上隅CPMV及び右最上隅CPMVが利用可能であることであり、タイプBは、V及びVと称される左最上隅CPMV及び左下隅CPMVが利用可能であることである。
【0158】
1つ以上の実施形態では、投影済み4-パラメータ・アフィン・モデルのタイプは、仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルの同一のタイプである。例えば、ステップ2からの仮想コーディング・ブロックによって表されるアフィン・モデルは、タイプA又はBの4-パラメータ・アフィン・モデルであり、次いで、カレント・ブロックに対する投影済みアフィン・モデルも、タイプA又はBのそれぞれである。
【0159】
いくつかの実施形態では、ステップ2からの仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルは、カレント・ブロックに対して同一のタイプの4-パラメータ・モデルに常に投影される。例えば、仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルのタイプA又はBは、タイプAの4-パラメータ・アフィン・モデルに常に投影される。
【0160】
ステップ4では、ステップ3の後の投影済みCPMVに基づいて、1つの実施例では、現在のVVC又はAVS標準規格において使用される同一の候補生成処理が使用され得る。別の実施形態では、現在のVVC又はAVS標準規格において使用される候補生成処理において使用される時間動きベクトルは、近接しない近傍ブロック・ベース導出方法のために使用され得ない。時間動きベクトルが使用されないとき、それは、生成された組み合わせがいずれの時間動きベクトルをも包含しないことを示す。
【0161】
ステップ5では、ステップ4の後のいずれかの新たに生成された候補は、マージ候補リスト内に既にある全ての既存の候補に対して類似性チェックを受け得る。類似性チェックの詳細は、「アフィン・マージ候補プルーニング」のセクションにおいて既に説明されている。新たに生成された候補が候補リスト内のいずれかの既存の候補と類似であるとして発見される場合、新たに生成された候補は、除去又はプルーニングされる。
【0162】
アフィン構築済みマージ候補に対する継承ベース導出方法
アフィン継承済み候補ごとに、全ての動き情報は、アフィン・モードにおいてコーディングされた1つの選択された空間的近傍ブロックから継承される。継承済み情報は、CPMV、参照インデックス、予測方向、アフィン・モデル・タイプ等を含む。一方で、アフィン構築済み候補ごとに、全ての動き情報は、2つ又は3つの選択された空間的又は時間的近傍ブロックから構築されると共に、選択された近傍ブロックは、アフィン・モードにおいてコーディングされず、並進動き情報のみが選択された近傍ブロックから必要である。
【0163】
このセクションでは、継承済み候補及び構築済み候補の特徴を組み合わせる新たな候補導出方法が開示される。
【0164】
いくつかの実施形態では、継承及び構築の組み合わせは、アフィン・モデル・パラメータを異なるグループに分離することによって実現され得、アフィン・パラメータの1つのグループは、1つの近傍ブロックから継承され、アフィン・パラメータの他のグループは、他の近傍ブロックから継承される。
【0165】
1つの実施例では、1つのアフィン・モデルのパラメータは、2つのグループから構築される。式(3)に示されるように、アフィン・モデルは、a、b、c、d、e、及びfを含む、6つのパラメータを包含し得る。並進パラメータ{a,b}は、1つのグループを表し得ると共に、非並進パラメータ{c,d,e,f}は、別のグループを表し得る。このグループ化方法により、パラメータの2つのグループは、第1のステップにおいて2つの異なる近傍ブロックから独立して継承され得、次いで、第2のステップにおいて完全アフィン・モデルであるように連結/構築され得る。このケースでは、非並進パラメータを有するグループは、1つのアフィン・コーディング済み近傍ブロックから継承される必要があると共に、並進パラメータを有するグループは、アフィン・モードにおいてコーディングされ得又はされ得ない、いずれかのインター・コーディング済み近傍ブロックからであり得る。アフィン・コーディング済み近傍ブロックは、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含むスキャニング方法/ルールである、図17Aに示される方法など、アフィン継承済み候補に対して前に提案されたスキャニング方法に基づいて、近接するアフィン近傍ブロック又は近接しないアフィン近傍ブロックから選択され得ると共に、スキャニング方法は、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得ることに留意されよう。代わりに、アフィン・コーディング済み近傍ブロックは、物理的に存在し得ないが、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含むスキャニング方法/ルールである、図17Bに示される方法など、正規のインター・コーディング済み近傍ブロックから仮想的に構築され得る。
【0166】
いくつかの実施例では、各々のグループと関連付けられた近傍ブロックは、異なる方法において決定され得る。1つの方法では、パラメータの異なるグループに対する近傍ブロックは、近接しない近傍エリアからの全てであり得ると共に、スキャニング方法は、近接しない近傍ベース導出処理のための前に提案された方法と同様に設計され得る。別の方法では、パラメータの異なるグループに対する近傍ブロックは、近接する近傍エリアからの全てであり得ると共に、スキャニング方法は、現在のVVC又はAVSビデオ標準規格と同一であり得る。別の方法では、パラメータの異なるグループに対する近傍ブロックは、近接するエリアからの部分的であり得、近接しない近傍エリアから部分的であり得る。
【0167】
アフィン・パラメータのいくつかのグループが新たな候補を構築するように組み合わされるとき、遵守されることになるいくつかのルールが存在し得る。1つ目は、適格基準である。1つの実施例では、グループごとの関連する近傍ブロック又はブロック(複数可)は、少なくとも1つの方向又は両方の方向に対して同一の参照ピクチャを使用するかどうかをチェックされ得る。別の実施例では、グループごとの関連する近傍ブロック又はブロック(複数可)は、動きベクトルに対して同一の精度/解像度を使用するかどうかをチェックされ得る。
【0168】
2つ目は、構築式である。1つの実施例では、新たな候補のCPMVは、以下の式において導出され得る:
【数9】
(x,y)は、カレント・コーディング・ブロック内の隅のポジション(例えば、左最上隅CPMVに対する(0,0)右最上隅CPMVに対する(width,0))、であり、{c,d,e,f}は、1つの近傍ブロックからのパラメータの1つのグループであり、{a,b}は、別の近傍ブロックからのパラメータの別のグループである。
【0169】
別の実施例では、新たな候補のCPMVは、以下の式において導出され得る:
【数10】
(Δw,Δh)は、{a,b}のグループの関連する近傍ブロックなど、パラメータの1つのグループに対するカレント・コーディング・ブロックの左最上隅と関連する近傍ブロック(複数可)の1つの左最上隅との間との距離である。この式における他のパラメータの定義は、上記の実施例と同一である。パラメータは、別の方法においてグループ化され得、(a,b,c,d,e,f)は、1つのグループとして形成されると共に、(Δw,Δh)は、別のグループとして形成される。また、パラメータの2つのグループは、2つの異なる近傍ブロックからである。代わりに、(Δw,Δh)の値は、近傍ブロックとカレント・ブロックとの間の距離に依存しない、(0,0)などの固定値又はいずれかの一定の値として予め定義され得る。
【0170】
図18は、アフィン構築済み候補を導出する継承ベース導出方法の実施例を示す。図18では、アフィン構築済み候補を導出するための3つのステップが存在する。ステップ1では、特定のグループ化戦略に従って、エンコーダ又はデコーダは、グループごとに近接する近傍ブロック及び近接しない近傍ブロックのスキャニングを実行し得る。図18のケースでは、2つのグループが定義され、近傍1は、アフィン・モードにおいてコーディングされ、非並進アフィン・パラメータを提供すると共に、近傍2は、並進アフィン・パラメータを提供する。近傍1は、図15A~15D及び17Aに示されるような「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおける処理に従って取得され得ると共に、近傍1は、カレント・ブロックの近接する又は近接しない近傍ブロックであり得る。更に、近傍2は、図16及び17Bに示されるような処理に従って取得され得る。
【0171】
ステップ2では、ステップ1において決定されたパラメータ及びポジションにより、CPMVの座標(x,y)に従って異なるCPMVを導出することができる、特定のアフィン・モデルが定義され得る。例えば、図18に示されるように、非並進パラメータ{c,d,e,f}は、ステップ1において取得された近傍1に基づいて取得され得、並進パラメータ{a,b}は、ステップ1において取得された近傍2に基づいて取得され得る。更に、距離パラメータΔw,Δhは、よって、カレント・ブロックのポジション(x,y)及び近傍2のポジション(x,y)に基づいて取得され得る。距離パラメータΔw,Δhはそれぞれ、カレント・ブロックと近傍1又は近傍2との間の水平距離及び垂直距離を示し得る。例えば、距離パラメータΔw,Δhはそれぞれ、カレント・ブロックと近傍2との間の水平距離(x-x)を示し得、カレント・ブロックと近傍2との間の垂直距離(y-y)を示し得る。特に、Δw=x-x、Δh=y-yである。
【0172】
ステップ3では、2つ又は3つのCPMVが、カレント・コーディング・ブロックに対して導出され、カレント・コーディング・ブロックは、新たなアフィン候補を形成するように構築され得る。
【0173】
いくつかの実施形態では、他の予測情報が更に構築され得る。近傍ブロックが同一の方向及び/又は参照ピクチャを有するとチェックされる場合、予測方向(例えば、双予測(bi-predicted)又は単予測された(uni-predicted))及び参照ピクチャのインデックスは、関連する近傍ブロックと同一であり得る。代わりに、予測情報は、異なるグループからの関連する近傍ブロックの中で最小のオーバラップする情報を再使用することによって決定される。例えば、1つの近傍ブロックからの1つの方向の参照インデックスのみが他の近傍ブロックの同一の方向の参照インデックスと同一である場合、新たな候補の予測方向は、単予測として決定され、同一の参照インデックス及び方向が再使用される。
【0174】
アフィン構築済みマージ候補に対するHMVPベース導出方法
現在のビデオ標準規格VVC及びAVSにおいて既に定義され、上記のセクション及び図7において説明された、近接する近傍ベース導出処理のケースでは、近接する近傍に対するスキャニングの固定順序は、2つ又は3つの近接する近傍ブロックを識別するように実行される。前のセクション及び図17Bにおいて提案されるように、近接しない近傍ベース導出処理のケースでは、2つの近接しない近傍は、別の固定順序のスキャニングの間に識別される。言い換えると、近接する近傍ベース導出方法及び近接しない近傍ベース導出方法の両方について、ローカル・スキャニングの或る深度は、近傍の数を識別するために必然である。このスキャニング処理は、各々のカレント・ブロックの周りのローカル・バッファリングに依存し、また、或る量の計算の複雑度を被る。
【0175】
一方で、導入セクションにおいて説明されるように、HMVPマージ・モードは、現在のVVC及びAVSにおいて既に採用されており、近傍ブロックからの並進動き情報は、履歴テーブルに既に記憶されている。このケースでは、スキャニング処理は、HMVPテーブルを探索することによって置き換えられ得る。
【0176】
したがって、前に提案された近接しない近傍ベース導出処理及び継承ベース導出処理について、図17B及び図18に示されるようなスキャニング方法の代わりに、並進動き情報は、HMVPテーブルから取得され得る。しかしながら、その後アフィン構築済み候補を導出するために、カレントHMVPテーブルが修正され得る場合にアクセス可能であり得る、ポジション情報、幅、高さ、及び参照情報も必要である。したがって、各々の履歴近傍の動き情報に加えて追加の情報を記憶するためにHMVPテーブルを拡張することが提案される。1つの実施形態では、追加の情報は、アフィン又は非アフィン近傍ブロックのポジション、又はCPMVなどのアフィン動き情報若しくはCPMVから導出された同等の正規動き(例えば、この正規動きは、アフィン・コーディング済み近傍ブロックの内部サブ・ブロックからであり得る)、参照インデックスなどを含み得る。
【0177】
アフィンAMVP及び正規マージ・モードに対する候補導出方法
上記のセクションにおいて説明されたように、アフィンAMVPモードに対し、アフィン候補リストも、CPMVプレディクタを導出するために必要である。結果として、全ての上記で提案された導出方法は、アフィンAMVPモードに同様に適用され得る。唯一の差は、上記で提案された導出方法がAMVPにおいて適用されるとき、選択された近傍ブロックがカレント・コーディング・ブロックと同一の参照ピクチャ・インデックスを有するはずであることである。
【0178】
正規マージ・モードに対し、候補リストも、CPMVではなく、並進候補MVのみにより構築される。このケースでは、全ての上記で提案された導出方法はなお、追加の導出ステップを追加することによって適用され得る。この追加の導出ステップでは、それは、カレント・ブロックに対して並進MVを導出することであり、それは、カレント・ブロック内の特定の旋回ポジション(x,y)を選択することによって実現され得、同一の式(3)を遵守し得る。言い換えると、アフィン・ブロックのCPMVを導出するために、ブロックの3つの隅のポジションは、式(3)において旋回ポジション(x,y)として使用されると共に、正規のインター・コーディング済みブロックの並進MVを導出するために、ブロックの中心ポジションは、式(3)において旋回ポジション(x,y)として使用され得る。並進MVがカレント・ブロックに対して導出されると、それは、他の候補として候補リストに挿入され得る。
【0179】
アフィン・マージ候補リストの再順序付け
1つの実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、サブ・ブロック・ベース時間動きベクトル予測(subblock-based temporal motion vector prediction)(SbTMVP)候補、2.近接する近傍から継承された、3.近接しない近傍から継承された、4.近接する近傍から構築された、5.近接しない近傍から構築された、6.ゼロMV。
【0180】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接する近傍から構築された、4.近接しない近傍から継承された、5.近接しない近傍から構築された、6.ゼロMV。
【0181】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接する近傍から構築された、4.ゼロMVの1つのセット、5.近接しない近傍から継承された、6.近接しない近傍から構築された、7.リストがなおもフルでない場合、残りのゼロMV。
【0182】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、Xよりも短い距離により近接しない近傍から継承された、4.近接する近傍から構築された、5.Yよりも短い距離により近接しない近傍から構築された、6.Xよりも長い距離により近接しない近傍から継承された、7.Yよりも長い距離により近接しない近傍から構築された、8.ゼロMV。この実施形態では、値X及びYは、2の値などの予め定義された固定値、又はエンコーダによって決定されたシグナリング済み値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Xの値は、Yの値と同一であり得る。別の実施例では、Nの値は、Mの値とは異なり得る。
【0183】
図19は、ユーザ・インタフェース1960に結合されたコンピューティング環境(又は、コンピューティング・デバイス)1910を示す。コンピューティング環境1910は、データ・プロセシング・サーバの一部であることができる。いくつかの実施形態では、コンピューティング・デバイス1910は、本開示の様々な実施例に係る、以下で説明されるような様々な方法又は処理(符号化/復号方法又は処理)のいずれかを実行することができる。コンピューティング環境1910は、プロセッサ1920、メモリ1940、及びI/Oインタフェース1950を含み得る。
【0184】
プロセッサ1920は、典型的には、表示、データ獲得、データ通信、及び画像処理と関連付けられた演算など、コンピューティング環境1910の全体的な演算を制御する。プロセッサ1920は、上記で説明された方法におけるステップの全て又は一部を実行する命令を実行するための1つ以上のプロセッサを含み得る。その上、プロセッサ1920は、プロセッサ1920と他の構成要素との間の相互作用を促進する1つ以上のモジュールを含み得る。プロセッサは、セントラル・プロセシング・ユニット(CPU)、マイクロ・プロセッサ、単一のチップ・マシン、又はGPUなどであり得る。
【0185】
メモリ1940は、コンピューティング環境1910の演算をサポートするための様々なタイプのデータを記憶するように構成される。メモリ1940は、予め定められたソフトウェア1942を含み得る。そのようなデータの例は、コンピューティング環境1910上で動作するいずれかのアプリケーション又は方法に対する命令、ビデオ・データセット、画像データなどを含む。メモリ1940は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、消去可能プログラム可能リード・オンリ・メモリ(EPROM)、プログラム可能リード・オンリ・メモリ(PROM)、リード・オンリ・メモリ(ROM)、磁気メモリ、フラッシュ・メモリ、磁気又は光学ディスクなど、いずれかのタイプの揮発性若しくは不揮発性メモリ・デバイス、又はそれらの組み合わせを使用することによって実装され得る。
【0186】
I/Oインタフェース1950は、キーボード、クリック・ホイール、及びボタンなど、プロセッサ1920と周辺インタフェース・モジュールとの間のインタフェースを提供する。ボタンは、それらに限定されないが、ホーム・ボタン、開始スキャン・ボタン、及び停止スキャン・ボタンを含み得る。I/Oインタフェース1950は、エンコーダ及びデコーダと結合され得る。
【0187】
いくつかの実施形態では、上記で説明された方法を実行するための、コンピューティング環境1910内のプロセッサ1920によって実行可能な、メモリ1940に含まれるなどの複数のプログラムを含む非一時的コンピュータ可読記憶媒体も提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピー・ディスク、又は光学データ記憶装置などであり得る。
【0188】
非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサを有するコンピューティング・デバイスによる実行のための複数のプログラムをそこに記憶しており、複数のプログラムは、1つ以上のプロセッサによって実行されるとき、コンピューティング・デバイスに、動き予測のための上記で説明された方法を実行させる。
【0189】
いくつかの実施形態では、コンピューティング環境1910は、上記の方法を実行するための、1つ以上の特定用途向け集積回路(ASIC)、デジタル・シグナル・プロセッサ(DSP)、デジタル・シグナル・プロセシング・デバイス(DSPD)、プログラマブル論理回路(PLD)、フィールド・プログラマブル・ゲートアレイ(FPGA)、グラフィカル・プロセシング・ユニット(GPU)、コントローラ、マイクロ・コントローラ、マイクロ・プロセッサ、又は他の電子構成要素により実装され得る。
【0190】
図20は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0191】
ステップ2001では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得し得る。
【0192】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み得る。例えば、図18に示されるように、1つ以上の第1のパラメータは、アフィン・コーディングされた第1の近傍ブロックから継承された非並進パラメータc、d、e、及びfを含み得る。
【0193】
いくつかの実施例では、第1の近傍ブロックは、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから取得され得る。すなわち、第1の近傍ブロックは、近接する近傍ブロック又は近接しない近傍ブロックであり得る。複数の近接する近傍ブロックは、カレント・ブロックに近接し、複数の近接しない近傍ブロックはそれぞれ、カレント・ブロックの1つの側から離れるブロックの数に位置する。
【0194】
いくつかの実施例では、第1の近傍ブロックは、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから取得され得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含み得る。
【0195】
ステップ2002では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得る。
【0196】
特に、プロセッサ1920は、第1の近傍ブロック、第2の近傍ブロック、又は第1の近傍ブロック及び第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得る。
【0197】
いくつかの実施例では、1つ以上の第2のパラメータは、アフィン・モデルと関連付けられた複数の並進パラメータを含み得る。例えば、図18に示されるように、1つ以上の第2のパラメータは、第2の近傍ブロックに基づいて構築された並進パラメータa、bを含み得る。
【0198】
いくつかの実施例では、第2の近傍ブロックは、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから取得され得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含み得る。
【0199】
いくつかの実施例では、第1の近傍ブロックは、第1のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから取得され得、複数の近接しない近傍ブロックはそれぞれ、カレント・ブロックの1つの側から離れるブロックの数に位置する。例えば、第1のスキャニング・ルールは、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用される、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング・ルールであり得ると共に、スキャニング・ルールは、図8、13A~13B、14A~14B、15A~15D、及び17Aに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0200】
いくつかの実施例では、第2の近傍ブロックは、第2のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから取得され得、第2のスキャニング・ルールは、第1のスキャニング・ルールと完全に又は部分的に同一であり得る。例えば、第2のスキャニング・ルールは、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング・ルールであり得ると共に、スキャニング・ルールは、図9~12、16、及び17Bに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0201】
ステップ2003では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築し得る。
【0202】
いくつかの実施例では、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータは、1つ以上のアフィン・モデルを構築するように、組み合わされ得又は連結され得る。
【0203】
ステップ2004では、プロセッサ1920は、ステップ2003において構築された1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0204】
いくつかの実施例では、プロセッサ1920は、いくつかの前提条件の下で1つ以上のアフィン・モデルを構築するために、第1の近傍ブロック及び第2の近傍ブロックが有効であると決定し得る。1つの実施例では、プロセッサ1920は、第1の近傍ブロック及び第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、アフィン・モデルを構築するために、第1の近傍ブロック及び第2の近傍ブロックが有効であると決定し得る。更に、プロセッサ1920は、第1の近傍ブロック及び第2の近傍ブロックが1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、1つ以上のCPMVに基づいて形成された動きベクトル候補の予測方向が、単予測であり、同一の参照ピクチャが1つの動き方向に対する動きベクトル候補に対して使用されると決定し得る。プロセッサ1920はまた、第1の近傍ブロック及び第2の近傍ブロックが両方の動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、カレント・ブロックの予測方向及び参照ピクチャが第1及び第2の近傍ブロックそれぞれの予測方向及び参照ピクチャと同一であると決定し得る。ここで、ステップ2004において取得されたカレント・ブロックに対する1つ以上のCPMVは、動きベクトル候補を形成するように構築され得る。動きベクトル候補は、アフィン候補に限定されず、正規マージ候補、AMVP候補などを含み得る。
【0205】
別の実施例では、プロセッサ1920は、第1の近傍ブロック及び第2の近傍ブロックが動きベクトルに対して同一の解像度を使用すると決定したことに応答して、アフィン・モデルを構築するために、第1の近傍ブロック及び第2の近傍ブロックが有効であると決定し得る。
【0206】
いくつかの実施例では、プロセッサ1920は、1つ以上の第1のパラメータ、1つ以上の第2のパラメータ、カレント・ブロックの第1のポジション、及び第2の近傍ブロック又は第1の近傍ブロックの第2のポジションに基づいて、1つ以上のアフィン・モデルを構築し得る。例えば、図18におけるステップ2に示されるように、アフィン・モデルは、非並進パラメータc、d、e、f、並進パラメータa、b、及びカレント・ブロックと第2の近傍ブロックとの間の差に基づいて構築され得る。例えば、差は、図18に示されるような対応する座標差を含み得る。カレント・ブロックのポジション、第1及び第2の近傍ブロックは、異なる方法において決定され得る。
【0207】
いくつかの実施例では、カレント・ブロックの第1のポジションは、カレント・ブロックの左最上隅に従って決定され得、第1又は第2の近傍ブロックの第2のポジションは、第1又は第2の近傍ブロックの左最上隅に従って決定され得る。
【0208】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得る。例えば、図18に示されるように、1つ以上の第1のパラメータは、アフィン・モデル・パラメータa、b、c、d、e、fを含み得、1つ以上の第2のパラメータは、距離パラメータΔw及びΔhを含み得る。
【0209】
いくつかの実施例では、複数の距離パラメータは、固定値として予め定義され得る。例えば、(Δw,Δh)の値は、(0,0)などの固定値又はいずれかの一定の値として予め定義され得る。
【0210】
いくつかの実施例では、複数の距離パラメータはそれぞれ、カレント・ブロックと第1の近傍ブロック又は第2の近傍ブロックとの間の距離を示し得る。例えば、複数の距離パラメータは、カレント・ブロックと第1又は第2の近傍ブロックとの間の水平距離を示す第1の距離パラメータΔwを含み得、更に、カレント・ブロックと第1又は第2の近傍ブロックとの間の垂直距離を示す第2の距離パラメータΔhを含み得る。
【0211】
図21は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0212】
ステップ2101では、プロセッサ1920は、HMVPテーブルから複数の動きベクトル候補を取得し得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。
【0213】
いくつかの実施例では、複数の動きベクトル候補は、アフィン候補に限定されず、正規マージ候補、AMVP候補などを含み得る。
【0214】
いくつかの実施例では、HMVPテーブルは、各々の履歴近傍ブロックの動き情報に加えて追加の情報をHMVPテーブルに記憶することによって拡張され得る。追加の情報は、以下の情報:各々の履歴近傍ブロックのポジション、各々の履歴近傍ブロックのアフィン動き情報、又は各々の履歴近傍ブロックの参照インデックスの少なくとも1つの、又は1つ以上を含み得る。
【0215】
ステップ2102では、プロセッサ1920は、図9に示されるように、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得し得る。
【0216】
ステップ2103では、プロセッサ1920は、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得し得る。
【0217】
いくつかの実施例では、プロセッサ1920は、第1及び第2の動きベクトル構築済み候補並びに仮想ブロックに基づいて、第3の動きベクトル構築済み候補を決定し得、第1、第2、及び第3の動きベクトル構築済み候補の並進MVに基づいて、仮想ブロックに対する複数のCPMVを取得し得、継承済み候補導出のために使用される同一の投影処理を使用することによって、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得し得る。
【0218】
図22は、本開示の実施例に係るビデオ復号のための方法を例示するフローチャートである。
【0219】
ステップ2201では、プロセッサ1920は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を取得し得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0220】
ステップ2202では、プロセッサ1920は、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0221】
いくつかの実施例では、動きベクトル候補の1つ以上は、アフィン候補に限定されず、正規マージ候補、AMVP候補などを含み得る。
【0222】
いくつかの実施例では、プロセッサ1920は、1つ以上の動きベクトル候補がカレント・ブロックと同一の参照ピクチャ・インデックスを有すると決定したことに応答して、1つ以上の動きベクトル候補をアフィンAMVPモードに対するアフィン候補リストに追加し得る。
【0223】
いくつかの実施例では、プロセッサ1920は、1つ以上のCPMVに基づいて、カレント・ブロックに対する少なくとも1つの並進動きベクトルを取得し得、少なくとも1つの並進動きベクトルを正規マージ・モードに対する正規マージ候補リストに追加し得る。
【0224】
いくつかの実施例では、プロセッサ1920は、カレント・ブロック内の特定の旋回ポジションを選択することによって、1つ以上のCPMVに基づいて、カレント・ブロックに対する少なくとも1つの並進動きベクトルを取得し得る。
【0225】
図23は、図20に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0226】
ステップ2301では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定し得る。
【0227】
ステップ2302では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定し得る。
【0228】
特に、プロセッサ1920は、第1の近傍ブロック、第2の近傍ブロック、又は第1の近傍ブロック及び第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定し得る。
【0229】
ステップ2303では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築し得る。
【0230】
いくつかの実施例では、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータは、1つ以上のアフィン・モデルを構築するように、組み合わされ得又は連結され得る。
【0231】
ステップ2304では、プロセッサ1920は、ステップ2303において構築された1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0232】
図24は、図21に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0233】
ステップ2401では、プロセッサ1920は、HMVPテーブルから複数の動きベクトル候補を決定し得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。
【0234】
ステップ2402では、プロセッサ1920は、図9に示されるように、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得し得る。
【0235】
ステップ2403では、プロセッサ1920は、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得し得る。
【0236】
図25は、図22に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0237】
ステップ2501では、プロセッサ1920は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を決定し得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0238】
ステップ2502では、プロセッサ1920は、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0239】
図26は、は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0240】
ステップ2601では、継承ベース導出方法を使用して、1つ以上の第1のパラメータを取得し得る。
【0241】
いくつかの実施例では、プロセッサ1920は、継承ベース導出方法を使用して、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第1の近傍ブロックを取得し得、第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得し得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含み得る。
【0242】
いくつかの実施例では、継承ベース導出方法は、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて説明されるアフィン継承済みマージ候補に対する導出処理であり得る。継承ベース導出方法では、カレント・ブロックの近傍ブロックは、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング方法/ルールを使用してスキャンされ得ると共に、スキャニング・ルールは、図8、13A~13B、14A~14B、15A~15D、及び17Aに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0243】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得、複数の距離パラメータは、カレント・ブロックと第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及びカレント・ブロックと第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含み得る。アフィン・モデルと関連付けられた複数のパラメータは、アフィン・モデルと関連付けられたパラメータ{a,b,c,d,e,f}を含み得る。第1の距離パラメータ及び第2の距離パラメータはそれぞれ、距離パラメータΔw及びΔhであり得る。
【0244】
ステップ2602では、プロセッサ1920は、構築ベース導出方法を使用して、1つ以上の第2のパラメータを取得し得る。
【0245】
いくつかの実施例では、プロセッサ1920は、構築ベース導出方法を使用して、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第2の近傍ブロックを取得し得、第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含み得る。
【0246】
いくつかの実施例では、構築ベース導出方法は、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて説明されるアフィン構築済みマージ候補に対する導出処理であり得る。構築ベース導出方法では、カレント・ブロックの近傍ブロックは、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング方法/ルールを使用してスキャンされ得ると共に、スキャニング・ルールは、図9~12、16、及び17Bに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0247】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得、複数の距離パラメータは、カレント・ブロックと第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及びカレント・ブロックと第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含み得る。アフィン・モデルと関連付けられた複数のパラメータは、アフィン・モデルと関連付けられたパラメータ{a,b,c,d,e,f}を含み得る。第1の距離パラメータ及び第2の距離パラメータはそれぞれ、距離パラメータΔw及びΔhであり得る。
【0248】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み得、1つ以上の第2のパラメータは、アフィン・モデルと関連付けられた複数の並進パラメータを含み得る。
【0249】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得る。
【0250】
いくつかの実施例では、複数の距離パラメータは、固定値として予め定義され得る。
【0251】
ステップ2603では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築し得る。
【0252】
ステップ2604では、プロセッサ1920は、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0253】
図27は、図26に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0254】
ステップ2701では、プロセッサ1920は、継承ベース導出方法を使用して、1つ以上の第1のパラメータを決定し得る。
【0255】
ステップ2702では、プロセッサ1920は、構築ベース導出方法を使用して、1つ以上の第2のパラメータを決定し得る。
【0256】
ステップ2703では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築し得る。
【0257】
ステップ2704では、プロセッサ1920は、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0258】
いくつかの実施例では、ビデオ・コーディングのための装置が提供される。装置は、プロセッサ1920と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ1940とを含み、プロセッサは、命令が実行されると、図20~27に例示されるようないずれかの方法を実行するように構成される。
【0259】
いくつかの他の実施例では、そこに記憶された命令を有する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ1920によって実行されるとき、命令は、プロセッサに、図20~25に例示されるようないずれかの方法を実行させる。
【0260】
ここで開示される本開示の明細書及び実施の考慮から、開示の他の実施例が当業者にとって明らかである。本出願は、本分野における既知又は通常の実施内にあるように、その一般的な原理を遵守し、本開示からのそのような逸脱を含む、開示のいずれかの変形、使用、又は適合を網羅することが意図される。明細書及び実施例が例示としてのみ考えられることが意図される。
【0261】
本開示は、上記で説明され、添付図面において例示された厳密な実施例に限定されず、その範囲から逸脱することなく、様々な修正及び変更が行われ得ることを認識されよう。
図1A
図1B
図1C
図1D
図1E
図1F
図2
図3A
図3B
図3C
図3D
図3E
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図14A
図14B
図15A
図15B
図15C
図15D
図16
図17A
図17B
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
【手続補正書】
【提出日】2024-05-02
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、全ての目的のために参照によってその全体が組み込まれる、2021年11月8日に出願された「Candidate Derivation for Affine Merge Mode in Video Coding」と題する、米国仮特許出願第63/277,148号に対して出願され、米国仮特許出願第63/277,148号に対する優先権を主張する。
【0002】
本開示は、ビデオ・コーディング及び圧縮に関し、特に、それらに限定されないが、ビデオ符号化又は復号処理におけるアフィン動き予測モードに対するアフィン・マージ候補導出を改善する方法及び装置に関する。
【背景技術】
【0003】
ビデオ・データを圧縮するために、様々なビデオ・コーディング技術が使用され得る。ビデオ・コーディングは、1つ以上のビデオ・コーディング標準規格に従って実行される。例えば、最近では、一部の公知のビデオ・コーディング標準規格は、ISO/IEC MPEG及びITU-T VECGによって共同で開発された、Versatile Video Coding(VVC)、High Efficiency Video Coding(HEVC、H.265又はMPEG-H Part 2としても知られる)、及びAdvanced Video Coding(AVC、H.264又はMPEG-4 Part 10としても知られる)を含む。AOMediaVideo1(AV1)は、その先行する標準規格VP9の後継として、Alliance for Open Media(AOM)によって開発された。デジタル音声及びデジタル・ビデオ圧縮標準規格を指す、Audio Video Coding(AVS)は、中国のAudio and Video Coding Standard Workgroupによって開発された別のビデオ圧縮標準規格シリーズである。既存のビデオ・コーディング標準規格のほとんどは、有名なハイブリッド・ビデオ・コーディング・フレームワーク上で、すなわち、ビデオ画像又はシーケンスに存在する冗長性を削減するために、ブロック・ベース予測方法(例えば、インター予測、イントラ予測)を使用して、及び予測誤差のエネルギーを縮小するために変換コーディングを使用して構築される。ビデオ・コーディング技術の重要な目標は、ビデオ・データをより低いビット・レートを使用する形式に圧縮すると共に、ビデオ品質の劣化を回避又は最小化することである。
【0004】
第一世代AVS標準規格は、中国の国家標準規格「Information Technology,Advanced Audio Video Coding,Part 2:Video」(AVS1として知られる)及び「Information Technology,Advanced Audio Video Coding Part 16:Radio Television Video」(AVS+として知られる)を含む。それは、MPEG-2標準規格と比較して、同一の知覚品質において約50%のビット・レート節約を提供することができる。AVS1標準規格ビデオ・パートは、2006年2月に中国の国家標準規格として公布された。第二世代AVS標準規格は、エキストラHD TV プログラムの伝送において主にターゲットにされる、中国の国家標準規格のシリーズ「Information Technology,Efficient Multimedia Coding」(AVS2として知られる)を含む。AVS2のコーディング効率は、AVS+のコーディング効率の2倍である。2016年5月には、AVS2が中国の国家標準規格として発行された。一方、AVS2標準規格ビデオ・パートは、アプリケーションのための1つの国際標準規格として、Institute of Electrical and Electronics Engineers(IEEE)によって提出された。AVS3標準規格は、最新の国際標準規格HEVCのコーディング効率を上回ることを狙った、UHDビデオ・アプリケーションのための新世代ビデオ・コーディング標準規格である。2019年3月には、68回目のAVSミーティングにおいて、AVS3-P2ベースラインが完結され、それは、HEVC標準規格よりもおおよそ30%のビット・レート節約を提供する。現在では、高性能モデル(HPM)と呼ばれる、1つの参照ソフトウェアが存在し、AVS3標準規格の参照の実装を証明するために、AVSグループによって維持される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、ビデオ符号化又は復号処理における動き予測モードに対する動きベクトル候補導出を改善することに関する技術の実施例を提供する。
【課題を解決するための手段】
【0006】
本開示の第1の態様によれば、ビデオ復号の方法が提供される。方法は、カレント・ブロック(current block)の第1の近傍ブロック(neighbor block)に基づいて、1つ以上の第1のパラメータを取得することと、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、を含む。方法は更に、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、を含み得る。
【0007】
本開示の第2の態様によれば、ビデオ復号の方法が提供される。方法は、履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を取得することを含み得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。方法は更に、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得することと、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数の制御点動きベクトル(CPMV)を取得することと、を含み得る。
【0008】
本開示の第3の態様によれば、ビデオ復号の方法が提供される。方法は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない(non-adjacent)近傍ブロックから1つ以上の動きベクトル候補を取得することであって、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示し得る、取得することと、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0009】
本開示の第4の態様によれば、ビデオ符号化の方法が提供される。方法は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定することと、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定することと、を含み得る。更に、方法は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0010】
本開示の第5の態様によれば、ビデオ符号化の方法が提供される。方法は、履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を決定することを含み得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。更に、方法は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを決定することと、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得することと、を含み得る。
【0011】
本開示の第6の態様によれば、ビデオ符号化の方法が提供される。方法は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を決定することを含み得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。更に、方法は、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0012】
本開示の第7の態様によれば、ビデオ復号の方法が提供される。方法は、継承ベース導出方法を使用して、1つ以上の第1のパラメータを取得することと、構築ベース導出方法を使用して、1つ以上の第2のパラメータを取得することと、を含み得る。更に、方法は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0013】
本開示の第8の態様によれば、ビデオ符号化の方法が提供される。方法は、継承ベース導出方法を使用して、1つ以上の第1のパラメータを決定することと、構築ベース導出方法を使用して、1つ以上の第2のパラメータを決定することと、を含み得る。更に、方法は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。
【0014】
本開示の第9の態様によれば、ビデオ復号のための装置が提供される。装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含む。更に、1つ以上のプロセッサは、命令が実行されると、第1の態様、第2の態様、第3の態様、又は第7の態様に係る方法を実行するように構成される。
【0015】
本開示の第10の態様によれば、ビデオ符号化のための装置が提供される。装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含む。更に、1つ以上のプロセッサは、命令が実行されると、第4の態様、第5の態様、第6の態様、又は第8の態様に係る方法を実行するように構成される。
【0016】
本開示の第11の態様によれば、コンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体が提供され、コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、1つ以上のコンピュータ・プロセッサに、上記の態様のいずれか1つに係る方法を実行させる。
【0017】
添付図面に例示される特定の実施例を参照することによって、本開示の実施例の更に特定の説明がされる。それらの図面がいくつかの実施例を表すにすぎず、よって、範囲を限定すると考えられないと仮定して、添付図面の使用を通じて、追加の特異性及び詳細と共に、実施例が記載及び説明される。
【図面の簡単な説明】
【0018】
図1A】本開示のいくつかの実施例に係る、ビデオ・ブロックを符号化及び復号するシステムを例示するブロック図である。
図1B】本開示のいくつかの実施例に係る、エンコーダのブロック図である。
図1C】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図1D】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図1E】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図1F】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
図2】本開示のいくつかの実施例に係る、デコーダのブロック図である。
図3A】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3B】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3C】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3D】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図3E】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
図4A】本開示のいくつかの実施例に係る、4-パラメータ・アフィン・モデルを例示する図である。
図4B】本開示のいくつかの実施例に係る、4-パラメータ・アフィン・モデルを例示する図である。
図5】本開示のいくつかの実施例に係る、6-パラメータ・アフィン・モデルを例示する図である。
図6】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補に対する近接する近傍ブロックを例示する図である。
図7】本開示のいくつかの実施例に係る、構築済みアフィン・マージ候補に対する近接する近傍ブロックを例示する図である。
図8】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補に対する近接しない近傍ブロックを例示する図である。
図9】本開示のいくつかの実施例に係る、近傍ブロックを使用した構築済みアフィン・マージ候補の導出を例示する図である。
図10】本開示のいくつかの実施例に係る、近接しない近傍ブロックの垂直スキャニングを例示する図である。
図11】本開示のいくつかの実施例に係る、近接しない近傍ブロックの水平スキャニングを例示する図である。
図12】本開示のいくつかの実施例に係る、近接しない近傍ブロックの組み合わせ垂直及び水平スキャニングを例示する図である。
図13A】本開示のいくつかの実施例に係る、カレント・ブロックと同一のサイズを有する近傍ブロックを例示する図である。
図13B】本開示のいくつかの実施例に係る、カレント・ブロックとは異なるサイズを有する近傍ブロックを例示する図である。
図14A】本開示のいくつかの実施例に係る、前の距離内の最も下又は最も右のブロックの左下又は右最上のブロックが現在の距離の最も下又は最も右のブロックとして使用される実施例を例示する図である。
図14B】本開示のいくつかの実施例に係る、前の距離内の最も下又は最も右のブロックの左又は最上のブロックが現在の距離の最も下又は最も右のブロックとして使用される実施例を例示する図である。
図15A】本開示のいくつかの実施例に係る、上及び左の近接しない近傍ブロックに対して使用される左下及び右最上ポジションにおけるスキャニング・ポジションを例示する図である。
図15B】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される右下ポジションにおけるスキャニング・ポジションを例示する図である。
図15C】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される左下ポジションにおけるスキャニング・ポジションを例示する図である。
図15D】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される右最上ポジションにおけるスキャニング・ポジションを例示する図である。
図16】本開示のいくつかの実施例に係る、構築済みマージ候補を導出する簡易化されたスキャニング処理を例示する図である。
図17A】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補を導出する空間的近傍を例示する図である。
図17B】本開示のいくつかの実施例に係る、構築済みアフィン・マージ候補を導出する空間的近傍を例示する図である。
図18】本開示のいくつかの実施例に係る、アフィン構築済み候補を導出する継承ベース導出方法の実施例を例示する図である。
図19】本開示のいくつかの実施例に係る、ユーザ・インタフェースと結合されたコンピューティング環境を例示する図である。
図20】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図21】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図22】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図23】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
図24】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
図25】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
図26】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
図27】本開示のいくつかの実施例に係る、ビデオ符号化のための方法を例示するフローチャートである。
【発明を実施するための形態】
【0019】
ここで、特定の実装態様に対して参照が詳細に行われ、その実施例は、添付図面に例示される。以下の詳細な説明では、本明細書で提示される主題を理解することを支援するために、多数の非限定的な特定の詳細が示される。しかしながら、様々な代替が使用され得ることが当業者にとって明らかである。例えば、本明細書で提示される主題は、デジタル・ビデオ能力を有する多くのタイプの電子デバイス上で実装され得ることが当業者にとって明らかである。
【0020】
開示において使用される用語は、特定の実施形態を説明する目的のためにのみ採用され、開示を限定することが意図されない。開示及び添付の特許請求の範囲における単数形の「a/an」、「said」、及び「the」は、開示の全体を通じて他の意味が明白に表されない限り、複数形をも含むことが意図される。また、開示において使用される用語「and/or」は、表記される複数の関連する項目の1つ又はいずれか又は全ての可能な組み合わせを指し、それらを含むことが理解されることになる。
【0021】
本明細書の全体を通じての「1つの実施形態(one embodiment)」、「実施形態(an embodiment)」、「実施例(an example)」、「いくつかの実施形態(some embodiments)」、「いくつかの実施例(some examples)」、又は類似の言語に対する言及は、説明される特定の特徴、構造、又は特性が少なくとも1つの実施形態又は実施例に含まれることを意味する。1つの又はいくつかの実施形態に関連して説明される特徴、構造、要素、又は特性は、他に明確に指定されない限り、他の実施形態にも適用可能である。
【0022】
開示の全体を通じて、用語「第1の(first)」、「第2の(second)」、「第3の(third)」などは全て、いずれの空間的又は年代順序において暗示することなく、他に明確に指定されない限り、関連する要素、例えば、デバイス、構成要素、組成物、ステップなどへの参照のための命名法としてのみ使用される。例えば、「第1のデバイス」及び「第2のデバイス」は、2つの別個に形成されたデバイス、又は2つの部品、構成要素、又は同一のデバイスの動作状態を指し得、任意に命名され得る。
【0023】
用語「モジュール」、「サブモジュール」、「回路(circuit)」、「サブ回路(sub-circuit)」、「回路(circuitry)」、「サブ回路(sub-circuitry)」、「ユニット」、又は「サブ・ユニット」は、1つ以上のプロセッサによって実行され得るコード又は命令を記憶するメモリ(共有、専用、又はグループ)を含み得る。モジュールは、記憶されたコード若しくは命令を有し、若しくは記憶されたコード若しくは命令を有さない1つ以上の回路を含み得る。モジュール又は回路は、直接又は間接的に接続された1つ以上の構成要素を含み得る。それらの構成要素は、相互に近傍して物理的に取り付けられ得若しくは位置し得、又は物理的に取り付けられ得ず若しくは位置し得ない。
【0024】
本明細書で使用されるように、用語「if」又は「when」は、コンテキストに応じて、「upon」又は「in response to」を意味すると理解され得る。それらの用語は、請求項に現れる場合、関連する限定又は特徴が条件付きであり又は任意選択であることを示し得ない。例えば、方法は、i)条件Xが存在するとき又は存在する場合、関数又はアクションX’が実行され、ii)条件Yが存在するとき又は存在する場合、関数又はアクションY’が実行される、ステップを含み得る。方法は、関数又はアクションX’を実行する能力、及び関数又はアクションY’を実行する能力の両方により実装され得る。よって、関数X’及びY’は両方、異なるときに、方法の複数の実行に対して実行され得る。
【0025】
ユニット又はモジュールは、純粋にソフトウェアによって、純粋にハードウェアによって、又はハードウェア及びソフトウェアの組み合わせによって実装され得る。純粋なソフトウェア実装態様では、例えば、ユニット又はモジュールは、特定の関数を実行するように、直接又は間接的に共にリンク付けられる、機能的に関連するコード・ブロック又はソフトウェア構成要素を含み得る。
【0026】
図1Aは、本開示のいくつかの実装態様に係る、並列してビデオ・ブロックを符号化及び復号する例示的なシステム10を例示するブロック図である。図1Aに示されるように、システム10は、デスティネーション・デバイス14によって後に復号されることになるビデオ・データを生成及び符号化するソース・デバイス12を含む。ソース・デバイス12及びデスティネーション・デバイス14は、デスクトップ又はラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、セット・トップ・ボックス、デジタル・テレビ、カメラ、ディスプレイ・デバイス、デジタル・メディア・プレイヤ、ビデオ・ゲーミング・コンソール、又はビデオ・ストリーミング・デバイスなどを含む、多種多様な電子デバイスのいずれかを含み得る。いくつかの実装態様では、ソース・デバイス12及びデスティネーション・デバイス14は、無線通信能力が備えられる。
【0027】
いくつかの実装態様では、デスティネーション・デバイス14は、リンク16を介して、復号されることになる符号化済みビデオ・データを受信し得る。リンク16は、ソース・デバイス12からデスティネーション・デバイス14に符号化済みビデオ・データを移動させる能力を有するいずれかのタイプの通信媒体又はデバイスを含み得る。1つの実施例では、リンク16は、ソース・デバイス12がデスティネーション・デバイス14に符号化済みビデオ・データを直接リアルタイムで伝送することを有効にするための通信媒体を含み得る。符号化済みビデオ・データは、無線通信プロトコルなどの通信標準規格に従って変調され得、デスティネーション・デバイス14に伝送され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理伝送ラインなど、いずれかの無線又は有線通信媒体を含み得る。通信媒体は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットなどのグローバル・ネットワークなど、パケット・ベース・ネットワークの一部を形成し得る。通信媒体は、ソース・デバイス12からデスティネーション・デバイス14への通信を促進するために有益であり得るルータ、スイッチ、基地局、又はいずれかの他の機器を含み得る。
【0028】
いくつかの他の実装態様では、符号化済みビデオ・データは、出力インタフェース22から記憶装置32に伝送され得る。その後、記憶装置32内の符号化済みビデオ・データは、入力インタフェース28を介してデスティネーション・デバイス14によってアクセスされ得る。記憶装置32は、ハード・ドライブ、ブルーレイ・ディスク、デジタル多用途ディスク(DVD)、コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、フラッシュ・メモリ、揮発性若しくは不揮発性メモリ、又は符号化済みビデオ・データを記憶するためのいずれかの他の適切なデジタル記憶媒体など、様々な分散型(distributed)又は局所アクセス(locally)型のデータ記憶媒体のいずれかを含み得る。更なる実施例では、記憶装置32は、ソース・デバイス12によって生成された符号化済みビデオ・データを保持し得るファイル・サーバ又は別の中間記憶装置に対応し得る。デスティネーション・デバイス14は、ストリーミング又はダウンローディングを介して、記憶装置32から記憶済みビデオ・データにアクセスし得る。ファイル・サーバは、符号化済みビデオ・データを記憶し、デスティネーション・デバイス14に符号化済みビデオ・データを伝送する能力を有するいずれかのタイプのコンピュータであり得る。例示的なファイル・サーバは、ウェブ・サーバ(例えば、ウェブサイトのための)、ファイル転送プロトコル(FTP)サーバ、ネットワーク・アタッチド・ストレージ(NAS)デバイス、又はローカル・ディスク・ドライブを含む。デスティネーション・デバイス14は、無線チャネル(例えば、ワイヤレス・フィデリティ(Wi-Fi)接続)、有線接続(例えば、デジタル・サブスクライバ・ライン(DSL)、ケーブル・モデムなど)、又はファイル・サーバに記憶された符号化済みビデオ・データにアクセスするために適切である両方の組み合わせを含む、いずれかの標準規格データ接続を通じて符号化済みビデオ・データにアクセスし得る。記憶装置32からの符号化済みビデオ・データの伝送は、ストリーミング伝送、ダウンロード伝送、又は両方の組み合わせであり得る。
【0029】
図1Aに示されるように、ソース・デバイス12は、ビデオ・ソース18、ビデオ・エンコーダ20、及び出力インタフェース22を含む。ビデオ・ソース18は、ビデオ補足デバイス、例えば、ビデオ・カメラ、前に捕捉されたビデオを包含するビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダからビデオを受信するためのビデオ・フィーディング・インタフェース、及び/若しくはソース・ビデオとしてコンピュータ・グラフィック・データを生成するためのコンピュータ・グラフィック・システム、又はそのようなソースの組み合わせなどのソースを含み得る。1つの実施例として、ビデオ・ソース18がセキュリティ監視システムのビデオ・カメラである場合、ソース・デバイス12及びデスティネーション・デバイス14は、カメラ電話又はビデオ電話を形成し得る。しかしながら、本出願において説明される実装態様は、ビデオ・コーディングに全体的に適用可能であり得、無線及び/又は有線用途に適用され得る。
【0030】
補足され、事前に捕捉され、又はコンピュータにより生成されたビデオは、ビデオ・エンコーダ20によって符号化され得る。符号化済みビデオ・データは、ソース・デバイス12の出力インタフェース22を介してデスティネーション・デバイス14に直接伝送され得る。符号化済みビデオ・データはまた(又は、その代わりに)、デスティネーション・デバイス14又は他のデバイスによる後のアクセスのために、復号及び/又は再生のために、記憶装置32に記憶され得る。出力インタフェース22は更に、モデム及び/又は送信機を含み得る。
【0031】
デスティネーション・デバイス14は、入力インタフェース28、ビデオ・デコーダ30、及びディスプレイ・デバイスを含む。入力インタフェース28は、受信機及び/又はモデムを含み得、リンク16を通じて符号化済みビデオ・データを受信し得る。リンク16に通信され、記憶装置32上で提供される符号化済みビデオ・データは、ビデオ・データを復号する際のビデオ・デコーダ30による使用のためのビデオ・エンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で伝送され、記憶媒体に記憶され、又はファイル・サーバに記憶された符号化済みビデオ・データに含まれ得る。
【0032】
いくつかの実装態様では、デスティネーション・デバイス14は、ディスプレイ・デバイス34を含み得、ディスプレイ・デバイス34は、デスティネーション・デバイス14と通信するように構成された統合ディスプレイ・デバイス及び外部ディスプレイ・デバイスであることができる。ディスプレイ・デバイス34は、復号済みビデオ・データをユーザに表示し、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプのディスプレイ・デバイスなどの様々なディスプレイ・デバイスのいずれかを含み得る。
【0033】
ビデオ・エンコーダ20及びビデオ・デコーダ30は、VVC、HEVC、MPEG-4、Part 10、AVC、又はそのような標準規格の拡張など、プロプライエタリ又は産業標準規格に従って動作し得る。本出願は、特定のビデオ符号化/復号標準規格に限定されず、他のビデオ符号化/復号標準規格に適用可能であり得ることが理解されるべきである。ソース・デバイス12のビデオ・エンコーダ20は、それらの現在又は後の標準規格に従って、ビデオ・データを符号化するように構成され得ると全体的に考えられる。同様にまた、デスティネーション・デバイス14のビデオ・デコーダ30は、それらの現在又は後の標準規格に従って、ビデオ・データを復号するように構成され得ると全体的に考えられる。
【0034】
ビデオ・エンコーダ20及びビデオ・デコーダ30は各々、1つ以上のマイクロ・プロセッサ、デジタル・シグナル・プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、離散ロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらのいずれかの組み合わせなど、様々な適切なエンコーダ及び/又はデコーダ回路のいずれかとして実装され得る。ソフトウェアにおいて部分的に実装されるとき、電子デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し得、本開示において開示されたビデオ符号化/復号動作を実行するように、1つ以上のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオ・エンコーダ20及びビデオ・デコーダ30の各々は、1つ以上のエンコーダ又はデコーダに含まれ得、そのいずれかは、それぞれのデバイスに組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合され得る。
【0035】
HEVCのように、VVCは、ブロック・ベース・ハイブリッド・ビデオ・コーディング・フレームワークに対して構築される。図1Bは、本開示のいくつかの実装態様に係る、ブロック・ベース・ビデオ・エンコーダを例示するブロック図である。エンコーダ100では、入力ビデオ信号は、コーディング・ユニット(CU)と呼ばれる、ブロックごとに処理される。エンコーダ100は、図1Aに示されるようなビデオ・エンコーダ20であり得る。VTM-1.0では、CUは、最大で128×128画素であることができる。しかしながら、四分木に基づいてのみブロックを区画化するHEVCとは異なり、VVCでは、1つのコーディング・ツリー・ユニット(CTU)は、四分木/二分木/三分木に基づいて可変の局所的な特性に適合するように、CUに分割される。加えて、HEVCにおける複数の区画化ユニット・タイプの概念が取り除かれ、すなわち、CU、予測ユニット(PU)、及び変換ユニット(TU)の分離は、VVCではもはや存在せず、代わりに、各々のCUは、更なる区画化なしに、予測及び変換の両方のための基本的な単位として常に使用される。マルチ・タイプ・ツリー構造では、1つのCTUは、四分木構造によって最初に区画化される。次いで、各々の四分木リーフ・ノードは、二分木及び三分木構造によって更に区画化され得る。
【0036】
図3A~3Eは、本開示のいくつかの実装態様に係る、マルチ・タイプ・ツリー分割モードを例示する概略図である。図3A~3Eはそれぞれ、四分区画化(図3A)、垂直二分区画化(図3B)、水平二分区画化(図3C)、垂直拡張三分区画化(図3D)、及び水平拡張三分区画化(図3E)を含む5つの分割タイプを示す。
【0037】
所与のビデオ・ブロックごとに、空間予測及び/又は時間予測が実行され得る。空間予測(又は、「イントラ予測」)は、カレント・ビデオ・ブロックを予測するために、同一のビデオ・ピクチャ/スライス内の既にコーディングされた近傍ブロック(参照サンプルと呼ばれる)のサンプルからの画素を使用する。空間予測は、ビデオ信号に内在する空間的冗長性を削減する。時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、カレント・ビデオ・ブロックを予測するために、既にコーディングされたビデオ・ピクチャからの再構築済み画素を使用する。時間予測は、ビデオ信号に内在する時間的冗長性を削減する。所与のCUについての時間予測信号は通常、1つ以上の動きベクトル(MV)によってシグナリングされ、MVは、カレントCUとその時間的参照との間の動きの量及び方向を示す。また、複数の参照ピクチャ(reference picture)がサポートされる場合、参照ピクチャ・ストアのどの参照ピクチャから時間予測信号が来るかを識別するために使用される、1つの参照ピクチャ・インデックス(reference picture index)が加えて送信される。
【0038】
空間及び/又は時間予測の後、エンコーダ100におけるイントラ/インター・モード決定回路121は、例えば、レート歪み最適化方法に基づいて、最良の予測モードを選ぶ。ブロック・プレディクタ120は次いで、カレント・ビデオ・ブロックから差し引かれ、結果として生じる予測残差は、変換回路102及び量子化回路104を使用して相関付け解除される。結果として生じる量子化済み残差係数は、再構築済み残差を形成するように、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換され、再構築済み残差は次いで、CUの再構築済み信号を形成するように、予測ブロックに再度追加される。更に、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(SAO)、及び/又はアダプティブ・イン・ループ・フィルタ(ALF)などのイン・ループ・フィルタリング115は、それがピクチャ・バッファ117の参照ピクチャ・ストアに置かれ、後のビデオ・ブロックをコーディングするために使用される前に、再構築済みCUに対して適用され得る。出力ビデオ・ビットストリーム114を形成するために、コーディング・モード(インター又はイントラ)、予測モード情報、動き情報、及び量子化済み残差係数は全て、更に圧縮及びパックされて、ビットストリームを形成するように、エントロピ・コーディング・ユニット106に送信される。
【0039】
例えば、デブロッキング・フィルタは、AVC、HEVCと共に、VVCの現在のバージョンにおいて利用可能である。HEVCでは、SAOと呼ばれる追加のイン・ループ・フィルタは、コーディング効率を更に改善するために定義される。VVC標準規格の現在のバージョンでは、ALFと呼ばれる更なる別のイン・ループ・フィルタは、能動的に調査されており、それは、最終的な標準規格に含まれる良好な機会を有する。
【0040】
それらのイン・ループ・フィルタ動作は、任意選択である。それらの動作を実行することは、コーディング効率及び視覚品質を改善することを補助する。それらはまた、計算複雑度を節約するように、エンコーダ100によってなされる決定としてターン・オフされ得る。
【0041】
イントラ予測は通常、フィルタリングされていない再構築済み画素に基づいていると共に、それらのフィルタ・オプションがエンコーダ100によってターン・オンされる場合、インター予測は、フィルタリングされた再構築済み画素に基づいていることに留意されるべきである。
【0042】
図2は、多くのビデオ・コーディング標準規格と併用して使用され得るブロック・ベース・ビデオ・デコーダ200を例示するブロック図である。このデコーダ200は、図1Bのエンコーダ100に存在する再構築関連セクションと類似である。ブロック・ベース・ビデオ・デコーダ200は、図1Aに示されるようなビデオ・デコーダ30であり得る。デコーダ200では、入来するビデオ・ビットストリーム201は、量子化済み係数レベル及び予測関連情報を導出するように、エントロピ・復号202を通じて最初に復号される。量子化済み係数レベルは次いで、再構築済み予測残差を取得するように、逆量子化204及び逆変換206を通じて処理される。イントラ/インター・モード・セレクタ212において実装される、ブロック・プレディクタ機構は、復号済み予測情報に基づいて、イントラ予測208、又は動き補償210のいずれかを実行するように構成される。フィルタリングされていない再構築済み画素の組は、加算器(summer)214を使用して、逆変換206からの再構築済み予測残差及びブロック・プレディクタ機構によって生成された予測出力を合計することによって取得される。
【0043】
再構築済みブロックは更に、参照ピクチャ・ストアとして機能するピクチャ・バッファ213に記憶される前に、イン・ループ・フィルタ209を通り得る。ピクチャ・バッファ213内の再構築済みビデオは、ディスプレイ・デバイスを駆動するように送信され得ると共に、後のビデオ・ブロックを予測するために使用され得る。イン・ループ・フィルタ209がターン・オンされる状況では、フィルタリング動作は、最終的な再構築済みビデオ出力222を導出するように、それらの再構築済み画素に対して実行される。
【0044】
現在のVVC及びAVS3標準規格では、カレント・コーディング・ブロックの動き情報は、マージ候補インデックスによって指定された空間的若しくは時間的近傍ブロックから複製されるか、又は動き推定の明示的なシグナリングによって取得されるかのいずれかである。本開示の焦点は、アフィン・マージ候補の導出方法を改善することによって、アフィン・マージ・モードに対する動きベクトルの精度を改善することである。本開示の説明を促進するために、VVC標準規格における既存のアフィン・マージ・モード設計は、提案されるアイデアを促進するために実施例として使用される。VVC標準規格における既存のアフィン・モード設計が本開示の全体を通じて実施例として使用されるが、現代のビデオ・コーディング技術の当業者に対し、提案される技術も、アフィン動き予測モード又は同一若しくは類似の設計精神を有する他のコーディング・ツールの異なる設計に適用され得ることに留意されよう。
【0045】
典型的なビデオ・コーディング処理では、ビデオ・シーケンスは典型的には、フレーム又はピクチャの順序付けられたセットを含む。各々のフレームは、SL、SCb、及びSCrと表される、3つのサンプル・アレイを含み得る。SLは、ルマ・サンプル(luma sample)の二次元アレイである。SCbは、Cbクロマ・サンプル(chroma sample)の二次元アレイである。SCrは、Crクロマ・サンプルの二次元アレイである。他のインスタンスでは、フレームは、モノクロであり得、したがって、ルマ・サンプルの1つの二次元アレイのみを含み得る。
【0046】
図1Cに示されるように、ビデオ・エンコーダ20(又は、より具体的に、ビデオ・エンコーダ20の予測プロセシング・ユニットにおける区画化ユニット)は、フレームをCTUのセットに最初に区画化することによって、フレームの符号化済み表現を生成する。ビデオ・フレームは、左から右及び最上から下へのラスタ・スキャン順序において連続して順序付けられた整数のCTUを含み得る。各々のCTUは、最大の論理コーディング・ユニットであり、CTUの幅及び高さは、シーケンス・パラメータ・セットにおいてビデオ・エンコーダ20によってシグナリングされ、その結果、ビデオ・シーケンス内の全てのCTUは、128×128、64×64、32×32、及び16×16の1つである同一のサイズを有する。しかしながら、本出願は、特定のサイズに必ずしも限定されないことに留意されるべきである。図1Dに示されるように、各々のCTUは、ルマ・サンプルの1つのCTB、クロマ・サンプルの2つの対応するコーディング・ツリー・ブロック、及びコーディング・ツリー・ブロックのサンプルをコーディングするために使用されるシンタックス要素を含み得る。シンタックス要素は、画素のコーディング済みブロックの異なるタイプのユニットの性質と、インター又はイントラ予測、イントラ予測モード、動きベクトル、及び他のパラメータを含む、ビデオ・シーケンスがビデオ・デコーダ30においてどのように再構築され得るかを記述する。モノクロ・ピクチャ又は3つの別個のカラー平面を有するピクチャでは、CTUは単一のコーディング・ツリー・ブロック及びコーディング・ツリー・ブロックのサンプルをコーディングするために使用されるシンタックス要素を含み得る。コーディング・ツリー・ブロックは、サンプルのN×Nブロックであり得る。
【0047】
より良好な性能を達成するために、ビデオ・エンコーダ20は、二分木区画化、三分木区画化、四分木区画化、又はそれらの組み合わせなどのツリー区画化をCTUのコーディング・ツリー・ブロックに対して再帰的に実行し得、CTUをより小さなCUに分割し得る。図1Eに表されるように、64×64のCTU400は、4つのより小さなCUに最初に分割され、その各々は、32×32のブロック・サイズを有する。4つのより小さなCUの間で、CU410及びCU420は各々、ブロック・サイズによって16×16の4つのCUに分割される。2つの16×16のCU430及び440は各々、ブロック・サイズによって8×8の4つのCUに更に分割される。図1Fは、図1Eに表されるようなCTU400の区画化処理の最終結果を例示する四分木データ構造を表し、四分木の各々のリーフ・ノードは、32×32から8×8の範囲にあるそれぞれのサイズの1つのCUに対応する。図1Dに表されるCTUと同様に、各々のCUは、ルマ・サンプルのCB、及び同一のサイズのフレームのクロマ・サンプルの2つの対応するコーディング・ブロック、及びコーディング・ブロックのサンプルをコーディングするために使用されるシンタックス要素を含み得る。モノクロ・ピクチャ又は&3つの別個のカラー平面を有するピクチャでは、CUは、単一のコーディング・ブロック及びコーディング・ブロックのサンプルをコーディングするために使用されるシンタックス構造を含み得る。図1E~1Fに表される四分木区画化は、例示のみを目的としており、四分木/三分木/二分木区画化に基づいて、可変の局所的特性に適合するように、1つのCTUがCUに分割され得ることに留意されるべきである。マルチ・タイプ・ツリー構造では、1つのCTUは、四分木構造によって区画化され、各々の四分木リーフCUは、二分木及び三分木構造に更に区画化され得る。図3A~3Eに示されるように、幅W及び高さHを有するコーディング・ブロックの5つの可能な区画化タイプ、すなわち、四分木区画化、水平二分木区画化、垂直二分木区画化、水平三分木区画化、及び垂直三分木区画化が存在する。
【0048】
いくつかの実装態様では、ビデオ・エンコーダ20は更に、CUのコーディング・ブロックを1つ以上のM×NのPBに区画化し得る。PBは、同一の予測、インター又はイントラが適用される、サンプルの矩形(正方形又は非正方形)ブロックである。CUのPUは、ルマ・サンプルのPB、クロマ・サンプルの2つの対応するPB、及びPBを予測するために使用されるシンタックス要素を含み得る。モノクロ・ピクチャ又は3つの別個のカラー平面を有するピクチャでは、PUは、単一のPB及びPBを予測するために使用されるシンタックス要素を含み得る。ビデオ・エンコーダ20は、予測的ルマ、ルマについてのCb及びCrブロック、CUの各々のPUのCb及びCr PBsを生成し得る。
【0049】
ビデオ・エンコーダ20は、PUについての予測的ブロックを生成するために、イントラ予測又はインター予測を使用し得る。ビデオ・エンコーダ20がPUの予測的ブロックを生成するためにイントラ予測を使用する場合、ビデオ・エンコーダ20は、PUと関連付けられたフレームの復号済みサンプルに基づいて、PUの予測的ブロックを生成し得る。ビデオ・エンコーダ20がPUの予測的ブロックを生成するためにインター予測を使用する場合、ビデオ・エンコーダ20は、PUと関連付けられたフレーム以外の1つ以上のフレームの復号済みサンプルに基づいて、PUの予測的ブロックを生成し得る。
【0050】
ビデオ・エンコーダ20がCUの1つ以上のPUについての予測的ルマ、Cb、及びCrブロックを生成した後、ビデオ・エンコーダ20は、CUの予測的ルマ・ブロックをその元のルマ・コーディング・ブロックから差し引くことによって、CUについてのルマ残差ブロックを生成し得、その結果、CUのルマ残差ブロック内の各々のサンプルは、CUの予測的ルマ・ブロックの1つの中のルマ・サンプルとCUの元のルマ・コーディング・ブロック内の対応するサンプルとの間の差を示す。同様に、ビデオ・エンコーダ20は、CUについてのCb残差ブロック及びCr残差ブロックをそれぞれ生成し得、その結果、CUのCb残差ブロック内の各々のサンプルは、CUの予測的Cbブロックの1つの中のCbサンプルとCUの元のCbコーディング・ブロック内の対応するサンプルとの間の差を示し、CUのCr残差ブロック内の各々のサンプルは、CUの予測的Crブロックの1つの中のCrサンプルとCUの元のCrコーディング・ブロック内の対応するサンプルとの間の差を示し得る。
【0051】
更に、図1Eに例示されるように、ビデオ・エンコーダ20は、CUのルマ、Cb、及びCr残差ブロックを1つ以上のルマ、Cb、及びCr変換ブロックにそれぞれ分解するために、四分木区画化を使用し得る。変換ブロックは、同一の変換が適用されるサンプルの矩形(正方形又は非正方形)ブロックである。CUのTUは、ルマ・サンプルの変換ブロック、クロマ・サンプルの2つの対応する変換ブロック、及び変換ブロック・サンプルを変換するために使用されるシンタックス要素を含み得る。よって、CUの各々のTUは、ルマ変換ブロック、Cb変換ブロック、及びCr変換ブロックと関連付けられ得る。いくつかの実施例では、TUと関連付けられたルマ変換ブロックは、CUのルマ残差ブロックのサブ・ブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブ・ブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブ・ブロックであり得る。モノクロ・ピクチャ又は3つの別個のカラー平面を有するピクチャでは、TUは、単一の変換ブロック及び変換ブロックのサンプルを変換するために使用されるシンタックス構造を含み得る。
【0052】
ビデオ・エンコーダ20は、TUについてのルマ係数ブロックを生成するために、TUのルマ変換ブロックに1つ以上の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラ量であり得る。ビデオ・エンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つ以上の変換を適用し得る。ビデオ・エンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つ以上の変換を適用し得る。
【0053】
係数ブロック(例えば、ルマ係数ブロック、Cb係数ブロック、又はCr係数ブロック)を生成した後、ビデオ・エンコーダ20は、係数ブロックを量子化し得る。量子化は概して、変換係数を表すために使用されるデータの量を場合によっては削減し、更なる圧縮を提供するために、変換係数が量子化される処理を指す。ビデオ・エンコーダ20が係数ブロックを量子化した後、ビデオ・エンコーダ20は、量子化済み変換係数を示すシンタックス要素をエントロピ符号化し得る。例えば、ビデオ・エンコーダ20は、量子化済み変換係数を示すシンタックス要素に対してCABACを実行し得る。最終的に、ビデオ・エンコーダ20は、記憶装置32に保存されるか又はデスティネーション・デバイス14に伝送されるかのいずれかである、コーディング済みフレーム及び関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。
【0054】
ビデオ・エンコーダ20によって生成されたビットストリームを受信した後、ビデオ・デコーダ30は、ビットストリームからシンタックス要素を取得するように、ビットストリームをパースし得る。ビデオ・デコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオ・データのフレームを再構築し得る。ビデオ・データを再構築する処理は概して、ビデオ・エンコーダ20によって実行される符号化処理と相互的である。例えば、ビデオ・デコーダ30は、カレントCUのTUと関連付けられた残差ブロックを再構築するように、カレントCUのTUと関連付けられた係数ブロックに対して逆変換を実行し得る。ビデオ・デコーダ30はまた、カレントCUのPUについての予測的ブロックのサンプルをカレントCUのTUの変換ブロックの対応するサンプルに追加することによって、カレントCUのコーディング・ブロックを再構築する。フレームのCUごとにコーディング・ブロックを再構築した後、ビデオ・デコーダ30は、フレームを再構築し得る。
【0055】
上記で述べられたように、ビデオ・コーディングは、主に2つのモード、すなわち、イントラ-フレーム予測(又は、イントラ予測)及びインター-フレーム予測(又は、インター予測)を使用してビデオ圧縮をアーカイブする。IBCは、イントラ-フレーム予測又は第3のモードのいずれかとして見なされることに留意されよう。2つのモードの間で、参照ビデオ・ブロックからカレント・ビデオ・ブロックを予測するための動きベクトルの使用を理由に、インター-フレーム予測は、イントラ-フレーム予測よりもコーディング効率に貢献する。
【0056】
しかしながら、ビデオ・データ捕捉技術及びビデオ・データ内の内容を保存するためのより精緻化されたビデオ・ブロック・サイズをこれまで改善することにより、カレント・フレームについての動きベクトルを表すために必要とされるデータの量も、実質的に増大する。この課題を克服する1つの方法は、空間及び時間ドメインの両方内の近傍CUのグループが予測する目的で類似のビデオ・データを有するだけでなく、それらの近傍CUの間の動きベクトルも類似であるという事実からの利点を有することである。したがって、カレントCUの「動きベクトル・プレディクタ(MVP)」とも称される、それらの空間的及び時間的相関関係を利用することによって、カレントCUの動き情報(例えば、動きベクトル)の近似度として、空間的に近傍するCU及び/又は時間的に同一位置にあるCUの動き情報を使用することが可能である。
【0057】
図1Bと関連して上記で説明されたような動き推定ユニットによって決定されたカレントCUの実際の動きベクトルを、ビデオ・ビットストリームに符号化する代わりに、カレントCUの動きベクトル・プレディクタは、カレントCUについての動きベクトル・ディファレンス(MVD)を生じさせるように、カレントCUの実際の動きベクトルから差し引かれる。それを行うことによって、フレームのCUごとの動き推定ユニットによって決定された動きベクトルをビデオ・ビットストリームに符号化する必要がなく、ビデオ・ビットストリーム内の動き情報を表すために使用されるデータの量が著しく減少され得る。
【0058】
コード・ブロックのインター-フレーム予測の間に参照フレーム内の予測的ブロックを選ぶ処理と同様に、カレントCUの空間的に近傍のCU及び/又は時間的に同一位置にあるCUと関連付けられたそれらの潜在的な候補動きベクトルを使用してカレントCUについての動きベクトル候補リスト(「マージ・リスト」としても知られる)を構築し、次いで、カレントCUについての動きベクトル・プレディクタとして動きベクトル候補リストから1つのメンバを選択するために、ビデオ・エンコーダ20及びビデオ・デコーダ30の両方によって採用されるルールのセットが必要である。それを行うことによって、ビデオ・エンコーダ20からビデオ・デコーダ30に動きベクトル候補リスト自体を伝送する必要がなく、カレントCUを符号化及び復号するために動きベクトル候補リスト内の同一の動きベクトル・プレディクタを使用するのに、動きベクトル候補リスト内の選択された動きベクトル・プレディクタのインデックスがビデオ・エンコーダ20及びビデオ・デコーダ30に対して十分である。
【0059】
アフィン・モデル
HEVCでは、並進動きモデルのみが、動き補償予測のために適用される。現実世界では、多くの種類の動き、例えば、ズーム・イン/アウト、回転、奥行の動き、及び他の不規則な動きが存在する。VVC及びAVS3では、並進動きモデル又はアフィン動きモデルがインター予測のために適用されるかどうかを示すように、各々のインター・コーディング・ブロックについての1つのフラグをシグナリングすることによって、アフィン動き補償予測が適用される。現在のVVC及びAVS3設計では、4-パラメータ・アフィン・モード及び6-パラメータ・アフィン・モードを含む2つのアフィン・モードが、1つのアフィン・コーディング・ブロックに対してサポートされる。
【0060】
4-パラメータ・アフィン・モデルは、以下のパラメータ:水平及び垂直方向それぞれにおける並進移動についての2つのパラメータ、ズームの動きについての1つのパラメータ、及び両方向に対する回転の動きについての1つのパラメータを有する。このモデルでは、水平ズーム・パラメータは、垂直ズーム・パラメータに等しく、水平回転パラメータは、垂直回転パラメータに等しい。動きベクトル及びアフィン・パラメータのより良好な適合を達成するために、それらのアフィン・パラメータは、カレント・ブロックの左最上隅及び右最上隅に位置する2つのMV(制御点動きベクトル(CPMV)とも呼ばれる)から導出されることになる。図4A~4Bに示されるように、ブロックのアフィン動きフィールドは、2つのCPMV(V,V)によって記述される。制御点動きに基づいて、1つのアフィン・コーディング済み(affine coded)ブロックの動きフィールド(v,v)は、
【数1】
として記述される。
【0061】
6-パラメータ・アフィン・モードは、以下のパラメータ:水平及び垂直方向それぞれにおける並進移動についての2つのパラメータ、水平方向におけるズーム動き及び回転動きそれぞれについての2つのパラメータ、垂直方向におけるズーム動き及び回転動きそれぞれについての別の2つのパラメータを有する。6-パラメータ・アフィン動きモデルは、3つのCPMVによりコーディングされる。図5に示されるように、1つの6-パラメータ・アフィン・ブロックの3つの制御点は、ブロックの左最上、右最上、及び左下隅に位置する。左最上制御点における動きは、並進動きに関連し、右最上制御点における動きは、水平方向における回転及びズーム動きに関連し、左下制御点における動きは、垂直方向における回転及びズーム動きに関連する。4-パラメータ・アフィン動きモデルと比較して、6-パラメータの水平方向における回転及びズーム動きは、垂直方向におけるそれらの動きと同一ではあり得ない。(V,V,V)が図5におけるカレント・ブロックの左最上、右最上、及び左下隅のMVであると想定して、各々のサブ・ブロックの動きベクトル(v,v)は、
【数2】
として、制御点における3つのMVを使用して導出される。
【0062】
アフィン・マージ・モード
アフィン・マージ・モードでは、カレント・ブロックについてのCPMVは、明示的にシグナリングされないが、近傍ブロックから導出される。特に、このモードでは、空間的近傍ブロックの動き情報は、カレント・ブロックについてのCPMVを生成するために使用される。アフィン・マージ・モード候補リストは、制限されたサイズを有する。例えば、現在のVVC設計では、最大で5つの候補が存在し得る。エンコーダは、レート歪み最適化アルゴリズムに基づいて、最良の候補インデックスを評価し得、選び得る。選ばれた候補インデックスは次いで、デコーダ側にシグナリングされる。アフィン・マージ候補は、3つの方法において決定され得る。第1の方法では、アフィン・マージ候補は、近傍のアフィン・コーディング済みブロックから継承され得る。第2の方法では、アフィン・マージ候補は、近傍ブロックからの並進MVから構築され得る。第3の方法では、ゼロMVは、アフィン・マージ候補として使用される。
【0063】
継承済み方法について、最大で2つの候補が存在し得る。候補は、利用可能である場合、カレント・ブロックの左下に位置する近傍ブロックから(例えば、図6に示されるように、スキャニング順序がA0からA1までである)、及びカレント・ブロックの右最上に位置する近傍ブロックから(例えば、図6に示されるように、スキャニング順序がB0からB2までである)取得される。
【0064】
構築済み方法について、候補は、2つのステップによって生成され得る、近傍の並進MVの組み合わせである。
【0065】
ステップ1:利用可能な近傍からMV1、MV2、MV3、及びMV4を含む4つの並進MVを取得する。
MV1:カレント・ブロックの左最上隅に近い3つの近傍ブロックの1つからのMV。図7に示されるように、スキャニング順序は、B2、B3、及びA2である。
MV2:カレント・ブロックの右最上隅に近い2つの近傍ブロックのうち1つからのMV。図7に示されるように、スキャニング順序は、B1及びB0である。
MV3:カレント・ブロックの左下隅に近い2つの近傍ブロックのうち1つからのMV。図7に示されるように、スキャニング順序は、A1及びA0である。
MV4:カレント・ブロックの右下隅に近い近傍ブロックの時間的に同一位置にあるブロックからのMV。図に示されるように、近傍ブロックは、Tである。
【0066】
ステップ2:ステップ1からの4つの並進MVに基づいて、組み合わせを導出する。
組み合わせ1:MV1、MV2、MV3、
組み合わせ2:MV1、MV2、MV4、
組み合わせ3:MV1、MV3、MV4、
組み合わせ4:MV2、MV3、MV4、
組み合わせ5:MV1、MV2、
組み合わせ6:MV1、MV3。
【0067】
マージ候補リストが継承済み及び構築済み候補により満たした後にフルでないとき、ゼロMVは、リストの最後に挿入される。
【0068】
アフィンAMVPモード
アフィン・アドバンスト動きベクトル予測(AMVP)モードは、16以上の幅及び高さの両方を有するCUに対して適用され得る。CUレベルにおけるアフィン・フラグは、アフィンAMVPモードが使用されるかどうかを示すようにビットストリームにおいてシグナリングされ、次いで、別のフラグは、4-パラメータ・アフィン又は6-パラメータ・アフィンであるかどうかを示すようにシグナリングされる。このモードでは、カレントCUのCPMV及びそれらのプレディクタCPMVPの差が、ビットストリームにおいてシグナリングされる。アフィンAVMP候補リスト・サイズは2であり、アフィンAMVP候補リストは、以下の順序において、以下の4つのタイプのCPMV候補を使用することによってシグナリングされる。
- 近傍CUのCPMVから外挿された継承済みアフィンAMVP候補、
- 近傍CUの並進MVを使用して導出された構築済みアフィンAMVP候補CPMVP、
- 近傍のCUからの並進MV、
- ゼロMV。
【0069】
継承済みアフィンAMVP候補のチェッキング順序は、継承済みアフィン・マージ候補のチェッキング順序と同一である。唯一の差は、AMVP候補について、カレント・ブロックにあるのと同一の参照ピクチャを有するアフィンCUのみが考慮されることである。継承済みアフィン動きプレディクタを候補リストに挿入するときに、プルーニング処理が適用されない。
【0070】
構築済みAMVP候補は、アフィン・マージ・モードと同一の空間的近傍から導出される。アフィン・マージ候補構築に行われるのと同一のチェッキング順序が使用される。加えて、近傍ブロックの参照ピクチャ・インデックスもチェックされる。インター・コーディングされ、カレントCUにあるのと同一の参照ピクチャを有するチェッキング順序における最初のブロックが使用される。カレントCUが4-パラメータ・アフィン・モードによりコーディングされ、mv及びmvの両方が利用可能である場合、mv及びmvは、1つの候補としてアフィンAMVP候補リストに追加される。カレントCUが6-パラメータ・アフィン・モードによりコーディングされ、全ての3つのCPMVが利用可能である場合、それらは、1つの候補としてアフィンAMVP候補リストに追加される。そうでなければ、構築済みAMVP候補が使用可能でないとして設定される。
【0071】
有効な継承済みアフィンAMVP候補及び構築済みAMVP候補が挿入された後、アフィンAMVP候補リストがなおも2未満である場合、利用可能であるときに、カレントCUの全ての制御点MVを並進MVとして予測するために、mv、mv、及びmvが順番に追加される。最終的に、それがなおもフルでない場合、アフィンAMVPリストを満たすために、ゼロMVが使用される。
【0072】
履歴ベースマージ候補導出
履歴ベースMVP(HMVP)マージ候補は、空間的MVP及び時間動きベクトル予測(TMVP)の後にマージ・リストに追加される。この方法では、前にコーディングされたブロックの動き情報は、テーブルに記憶され、カレントCUについてのMVPとして使用される。複数のHMVP候補を有するテーブルは、符号化/復号処理の間に維持される。新たなCTU行に直面するときにテーブルがリセットされる(空にされる)。非サブ・ブロックのインター・コーディング済み(inter-coded)CUが存在するときはいつでも、関連する動き情報は、新たなHMVP候補としてテーブルの最後のエントリに追加される。
【0073】
HMVPテーブル・サイズSは、6に設定され得、それは、最大で5つの履歴ベースMVP(HMVP)候補がテーブルに追加され得ることを示す。新たな動き候補をテーブルに挿入するとき、制約されたファースト・イン・ファースト・アウト(FIFO)ルールが利用され、テーブル内で同一のHMVPが存在するかどうかを発見するために、冗長性チェックが最初に適用される。発見される場合、同一のHMVPがテーブルから除去され、その後の全てのHMVP候補が前に移動され、同一のHMVPは、テーブルの最後のエントリに挿入される。
【0074】
HMVP候補は、マージ候補リスト構築処理において使用される。テーブル内の最新のいくつかのHMVP候補は、順番にチェックされ、TMVP候補の後に候補リストに挿入される。冗長性チェックは空間的又は時間的マージ候補へのHMVP候補に対して適用される。
【0075】
冗長性チェックのための演算の回数を削減するために、以下の簡易化が導入される。最初に、テーブル内の最後の2つのエントリは、A1及びB1空間的候補のそれぞれに対して冗長性がチェックされる。2番目に、利用可能なマージ候補の総数が最大で許容されたマージ候補マイナス1に到達すると、HMVPからのマージ候補リスト構築処理が完結する。
【0076】
現在のビデオ標準規格VVC及びAVSについて、近接する(adjacent)近傍ブロックのみが、継承済み候補及び構築済み候補それぞれについて図6及び図7に示されるように、カレント・ブロックについてのアフィン・マージ候補を導出するために使用される。マージ候補の多様性を増大させ、空間的相関関係を更に利用するために、近接するエリアから近接しないエリアに近傍ブロックのカバレッジを拡張させることが率直である。
【0077】
現在のビデオ標準規格VVC及びAVSでは、各々のアフィン継承済み候補は、アフィン動き情報により1つの近傍ブロックから導出される。一方で、各々のアフィン構築済み候補は、並進動き情報により2つ又は3つの近傍ブロックから導出される。空間的相関関係を更に利用するために、アフィン動き及び並進動きを組み合わせた新たな候補導出方法が調査され得る。
【0078】
アフィン・マージ・モード(affine merge mode)について提案された候補導出方法は、アフィンAMVPモード及び正規マージ・モード(regular merge mode)など、他のコーディング・モードに拡張され得る。
【0079】
本開示では、アフィン・マージ・モードに対する候補導出処理は、近接する近傍ブロックだけでなく、近接しない近傍ブロックをも使用することによって拡張され得る。詳細な方法は、アフィン・マージ候補プルーニング(affine merge candidate pruning)、アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理(non ajacent neighbor based derivation process for affine inherited merge candidates)、アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理(non ajacent neighbor based derivation process for affine constructed merge candidates)、アフィン構築済みマージ候補に対する継承ベース導出方法(inheritance based derivation method for affine constructed merge candidates)、アフィン構築済みマージ候補に対するHMVPベース導出方法(HMVP based derivation method for affine constructed merge candidates)、並びにアフィンAMVPモード及び正規マージ・モードに対する候補導出方法(candidates derivation method for affine AMVP mode and regular merge mode)を含む、以下の態様において要約され得る。
【0080】
アフィン・マージ候補プルーニング
典型的なビデオ・コーディング標準規格におけるアフィン・マージ候補リストが通常、制限されたサイズを有するように、候補プルーニングは、冗長な1つを除去するために必須の処理である。アフィン・マージ継承済み候補及び構築済み候補の両方に対し、このプルーニング処理が必要である。導入部において説明されるように、カレント・ブロックのCPMVは、アフィン動き補償のために直接使用されない。代わりに、CPMVは、カレント・ブロック内の各々のサブ・ブロックの位置において並進MVに転換される必要がある。転換処理は、以下に示されるように、一般的なアフィン・モデルを遵守することによって実行される。
【数3】
(a,b)は、デルタ並進パラメータであり、(c,d)は、水平方向についてのデルタ・ズーム及び回転パラメータであり、(e,f)は、垂直方向についてのデルタ・ズーム及び回転パラメータであり、(x,y)は、カレント・ブロックの左最上隅に対するサブ・ブロックの旋回位置(例えば、中心又は左最上隅)の水平及び垂直距離であり(例えば、図5に示される座標(x,y)、(v,v)は、サブ・ブロックのターゲット並進MVである。
【0081】
6-パラメータ・アフィン・モデルに対し、V0、V1、及びV2と称される、3つのCPMVが利用可能である。次いで、6つのモデル・パラメータa、b、c、d、e、及びfは、
【数4】
として計算され得る。
【0082】
4-パラメータ・アフィン・モデルに対し、V0及びV1と称される、左最上隅CPMV及び右最上隅CPMVが利用可能である場合、a、b、c、d、e、及びfの6つのパラメータは、
【数5】
として計算され得る。
【0083】
4-パラメータ・アフィン・モデルに対し、V0及びV2と称される、左最上隅CPMV及び左下隅CPMVが利用可能である場合、a、b、c、d、e、及びfの6つのパラメータは、
【数6】
として計算され得る。
【0084】
上記の式(4)、(5)、及び(6)では、w及びhは、カレント・ブロックの幅及び高さそれぞれを表す。
【0085】
CPMVの2つのマージ候補セットが冗長性チェックのために比較されるとき、6アフィン・モデル・パラメータの類似性をチェックすることが提案される。したがって、候補プルーニング処理が2つのステップにおいて実行され得る。
【0086】
ステップ1では、CPMVの2つの候補セットを仮定して、候補セットごとの対応するアフィン・モデル・パラメータが導出される。より具体的に、CPMVの2つの候補セットは、アフィン・モデル・パラメータの2つのセット、例えば、(a,b,c,d,e,f)及び(a,b,c,d,e,f)によって表され得る。
【0087】
ステップ2では、1つ以上の予め定義された閾値に基づいて、アフィン・モデル・パラメータの2つのセットの間で類似性チェックが実行される。1つの実施形態では、(a-a)、(b-b)、(c-c)、(d-d)、(e-e、及び(f-f)の絶対値が全て1の値などの正の閾値を下回るとき、2つの候補が類似であると考えられ、それらの1つは、プルーニング/除去され得、マージ候補リストに置かれ得ない。
【0088】
いくつかの実施形態では、ステップ1の分割又は右シフト演算は、CPMVプルーニング処理における計算を簡易化するために除去され得る。
【0089】
特に、c、d、e、及びfのモデル・パラメータは、カレント・ブロックの幅w及び高さhによって分割されることなく計算され得る。例えば、例として上記の式(4)を取り、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(7)として計算され得る。
【数7】
【0090】
2つのCPMVのみが利用可能であるケースでは、モデル・パラメータの一部は、カレント・ブロックの幅又は高さに依存する、モデル・パラメータの他の部分から導出される。このケースでは、モデル・パラメータは、幅及び高さの影響を考慮するように転換され得る。例えば、式(5)のケースでは、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(8)に基づいて計算され得る。式(6)のケースでは、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(9)に基づいて計算され得る。
【数8】
c’、d’、e’、及びf’の近似したモデル・パラメータが上記のステップ1において計算されるとき、上記のステップ2における類似性チェックのために必要な絶対値の計算は、それに従って変更され得る:(a-a)、(b-b)、(c’-c’)、(d’-d’)、(e’-e’)、及び(f’-f’)。
【0091】
上記のステップ2では、CPMVの2つの候補セットの間の類似性を評価するために閾値が必要である。閾値を定義する複数の方法が存在し得る。1つの実施形態では、閾値は、比較可能パラメータごとに定義され得る。表1は、比較可能モデル・パラメータごとに定義された閾値を示す、この実施形態における1つの実施例である。別の実施形態では、閾値は、カレント・コーディング・ブロックのサイズを考慮することによって定義され得る。表2は、カレント・コーディング・ブロックのサイズによって定義された閾値を示す、この実施形態における1つの実施例である。
【0092】
【表1】
【0093】
【表2】
【0094】
別の実施形態では、閾値は、カレント・ブロックの又は高さを考慮することによって定義され得る。表3及び表4は、この実施形態における実施例である。表3は、カレント・コーディング・ブロックの幅によって定義された閾値を示し、表4は、カレント・コーディング・ブロックの高さによって定義された閾値を示す。
【0095】
【表3】
【0096】
【表4】
【0097】
別の実施形態では、固定値のグループとして閾値が定義され得る。別の実施形態では、閾値は、上記の実施形態のいずれかの組み合わせによって定義され得る。1つの実施例では、閾値は、異なるパラメータ並びにカレント・ブロックの及び高さを考慮することによって定義され得る。表5は、カレント・コーディング・ブロックの幅及び高さによって定義された閾値を示す、この実施形態における1つの実施例である。いずれかの上記で提案された実施形態では、比較可能パラメータは、必要である場合、式(4)~式(9)からのいずれかの式において定義されたいずれかのパラメータを表し得る。
【0098】
【表5】
【0099】
候補冗長性チェックのための転換済みアフィン・モデル・パラメータを使用する利点は、それが異なるアフィン・モデル・タイプを有する候補に対する統一類似性チェック処理を生じさせ、例えば、1つのマージ候補は、3つのCPMVを有する6-パラメータ・アフィン・モデルを使用し得ると共に別の候補は、2つのCPMVを有する4-パラメータ・アフィン・モデルを使用し得、それは、各々のサブ・ブロックにおけるターゲットMVを導出するときにマージ候補における各々のCPMVの異なる影響を考慮し、それは、カレント・ブロックの幅及び高さに関連する2つのアフィン・マージ候補の類似性有意性を提供することである。
【0100】
アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理
継承済みマージ候補に対し、近接しない近傍ベース導出処理は、3つのステップにおいて実行され得る。ステップ1は、候補スキャニングのためである。ステップ2は、CPMV投影のためである。ステップ3は、候補プルーニングのためである。
【0101】
ステップ1では、近接しない近傍ブロックは、以下の方法によってスキャン及び選択される。
【0102】
スキャニング・エリア及び距離
いくつかの実施例では、近接しない近傍ブロックは、カレント・コーディング・ブロックの左のエリア及び上のエリアからスキャンされ得る。スキャニング距離は、スキャニング・ポジションからカレント・コーディング・ブロックの左側又は最上側までのコーディング・ブロックの数として定義され得る。
【0103】
図8に示されるように、カレント・コーディング・ブロックの左又は上のいずれかの上で、近接しない近傍ブロックの複数のラインがスキャンされ得る。図8に示される距離は、各々の候補ポジションからカレント・ブロックの左側又は最上側までのコーディング・ブロックの数を表す。例えば、カレント・ブロックの左側上の「距離2」を有するエリアは、このエリア内に位置する候補近傍ブロックがカレント・ブロックから2ブロック離れていることを示す。類似のインジケーションは、異なる距離を有する他のスキャニング・エリアに適用され得る。
【0104】
1つ以上の実施形態では、各々の距離における近接しない近傍ブロックは、図13Aに示されるように、カレント・コーディング・ブロックと同一のブロック・サイズを有し得る。図13Aに示されるように、左側上の近接しない近傍ブロック1301及び上側上の近接しない近傍ブロック1302は、カレント・ブロック1303と同一のサイズを有する。いくつかの実施形態では、各々の距離における近接しない近傍ブロックは、図13Bに示されるように、カレント・コーディング・ブロックとは異なるブロック・サイズを有し得る。近傍ブロック1304は、カレント・ブロック1303に近接する近傍ブロックである。図13Bに示されるように、左側上の近接しない近傍ブロック1305及び上側上の近接しない近傍ブロック1306は、カレント・ブロック1307と異なるサイズを有する。近傍ブロック1308は、カレント・ブロック1307に近接する近傍ブロックである。
【0105】
各々の距離における近接しない近傍ブロックがカレント・コーディング・ブロックと同一のブロック・サイズを有するとき、ブロック・サイズの値は、画像内の各々の異なるエリアにおける区画化粒度に従って適応的に変化されることに留意されよう。各々の距離における近接しない近傍ブロックがカレント・コーディング・ブロックとは異なるブロック・サイズを有するとき、ブロック・サイズの値は、4×4、8×8、又は16×16など、一定の値として予め定義され得る。図10及び図12に示される4×4の近接しない動きフィールドは、このケースにおける実施例であり、動きフィールドは、それらに限定されないが、サブ・ブロックの特殊ケースとして考えられ得る。
【0106】
同様に、図11に示される近接しないコーディング・ブロックも同様に、異なるサイズを有し得る。1つの実施例では、近接しないコーディング・ブロックは、適応的に変更される、カレント・コーディング・ブロックとしてのサイズを有し得る。別の実施例では、近接しないコーディング・ブロックは、4×4、8×8、又は16×16など、固定値を有する予め定義されたサイズを有し得る。
【0107】
定義されたスキャニング距離に基づいて、カレント・コーディング・ブロックの左又は上のいずれかの上のスキャニング・エリアの合計サイズは、構成可能な距離値によって決定され得る。1つ以上の実施形態では、左側及び上側上の最大スキャニング距離は、同一の値又は異なる値を使用し得る。図13は、左側及び上側の両方の上の最大距離が2の同一の値を共有する実施例を示す。最大スキャニング距離値(複数可)は、エンコーダ側によって決定され得、ビットストリームにおいてシグナリングされ得る。代わりに、最大スキャニング距離値(複数可)は、2又は4の値など、固定値(複数可)として予め定義され得る。最大スキャニング距離が4の値として予め定義されるとき、それは、候補リストがフルであるときにスキャニング処理が完結されること、又はどちらが先に来ても、最大距離4を有する全ての近接しない近傍ブロックがスキャンされたことを示す。
【0108】
1つ以上の実施形態では、特定の距離における各々のスキャニング・エリア内で、開始及び終了近傍ブロックは、ポジション依存であり得る。
【0109】
いくつかの実施形態では、左側スキャニング・エリアに対し、開始近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの開始近傍ブロックの近接する左下ブロックであり得る。例えば、図8に示されるように、カレント・ブロックの左側上の「距離2」スキャニング・エリアの開始近傍ブロックは、「距離1」スキャニング・エリアの開始近傍ブロックの近接する左下近傍ブロックである。終了近傍ブロックは、より短い距離を有する上のスキャニング・エリアの終了近傍ブロックの近接する左ブロックであり得る。例えば、図8に示されるように、カレント・ブロックの左側上の「距離2」スキャニング・エリアの終了近傍ブロックは、カレント・ブロックの上の「距離1」スキャニング・エリアの終了近傍ブロックの近接する左近傍ブロックである。
【0110】
同様に、上側スキャニング・エリアに対し、開始近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの開始近傍ブロックの近接する右最上ブロックであり得る。終了近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの終了近傍ブロックの近接する左最上ブロックであり得る。
【0111】
スキャニング順序
近傍ブロックが近接しないエリア内でスキャンされるとき、スキャン済み近傍ブロックの選択を判定するように、或る順序又は/及びルールが遵守され得る。
【0112】
いくつかの実施形態では、左のエリアが最初にスキャンされ得、次いで、上のエリアをスキャンすることが続く。図8に示されるように、左側上の近接しないエリアの3つのライン(例えば、距離1から距離3までの)が最初にスキャンされ得、次いで、カレント・ブロックの上の近接しないエリアの3つのラインをスキャンすることが続く。
【0113】
いくつかの実施形態では、左のエリア及び上のエリアが交互にスキャンされ得る。例えば、図8に示されるように、「距離1」を有する左のスキャニング・エリアが最初にスキャンされ、次いで、「距離1」を有する上のエリアをスキャンすることが続く。
【0114】
同一の側上に位置するスキャニング・エリアに対し(例えば、左又は上のエリア)、スキャニング順序は、短い距離を有するエリアから長い距離を有するエリアまでである。この順序は、スキャニング順序の他の実施形態と柔軟に組み合わされ得る。例えば、左及び上のエリアが交互にスキャンされ得、同一の側のエリアに対する順序は、短い距離から長い距離までであるようにスケジュールされる。
【0115】
特定の距離における各々のスキャニング・エリア内で、スキャニング順序が定義され得る。1つの実施形態では、左のスキャニング・エリアに対し、スキャニングは、下の近傍ブロックから最上の近傍ブロックへと開始され得る。上のスキャニング・エリアに対し、スキャニングは、右のブロックから左のブロックへと開始され得る。
【0116】
スキャニング完結
継承済みマージ候補に対し、アフィン・モードによりコーディングされた近傍ブロックは、適格とされた候補として定義される。いくつかの実施形態では、スキャニング処理は、反復して実行され得る。例えば、特定の距離における特定のエリア内で実行されるスキャニングは、最初のX個の適格とされた候補が識別されるときのインスタンスにおいて停止され得、Xは、予め定義された正の値である。例えば、図8に示されるように、距離1を有する左のスキャニング・エリア内でのスキャニングは、最初の1つ以上の適格とされた候補が識別されるときに停止され得る。次いで、予め定義されたスキャニング順序/ルールによって規制される、別のスキャニング・エリアをターゲットすることによって、スキャニング処理の次の反復が開始される。
【0117】
いくつかの実施形態では、スキャニング処理は、連続して実行され得る。例えば、特定の距離における特定のエリア内で実行されるスキャニングは、全てのカバーされた近傍ブロックがスキャンされ、より適格とされた候補が識別されず、又は候補の最大許容数に到達するときのインスタンスにおいて停止され得る。
【0118】
候補スキャニング処理の間、各々の候補の近接しない近傍ブロックは、上記で提案されたスキャニング方法を遵守することによって決定及びスキャンされる。より容易な実装のために、各々の候補の近接しない近傍ブロックは、特定のスキャニング・ポジションによって示され得、及び特定され得る。特定のスキャニング・エリア及び距離が上記で提案された方法を遵守することによって決定されると、スキャニング・ポジションは、以下の方法に基づいて、それに従って判定され得る。
【0119】
1つの方法では、左下及び右最上のポジションは、図15Aに示されるように、上及び左の近接しない近傍ブロックに対して使用される。
【0120】
別の方法では、右下のポジションは、図15Bに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0121】
別の方法では、左下のポジションは、図15Cに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0122】
別の方法では、右最上のポジションは、図15Dに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0123】
より容易な例示のために、図15A~15Dでは、各々の近接しない近傍ブロックは、カレント・ブロックと同一のブロック・サイズを有すると想定される。汎用性を失うことなく、この例示は、異なるブロック・サイズを有する近接しない近傍ブロックに容易に拡張され得る。
【0124】
更に、ステップ2では、現在のAVS及びVVC標準規格において使用されるのとCPMV投影の同一の処理が利用され得る。このCPMV投影処理では、カレント・ブロックは、同一のアフィン・モデルを選択された近傍ブロックと共有し、次いで、2つ又は3つの隅の画素の座標(例えば、カレント・ブロックが4-パラメータ・モデルを使用する場合、2つの座標(左最上の画素/サンプル位置及び右最上の画素/サンプル位置)が使用され、カレント・ブロックが6-パラメータ・モデルを使用する場合、3つの座標(左最上の画素/サンプル位置、右最上の画素/サンプル位置、及び左下の画素/サンプル位置)が使用される)が式(1)又は(2)にプラグ・インされ、それは、近傍ブロックが、2つ又は3つのCPMVを生成するように、4-パラメータ又は6-パラメータ・アフィン・モデルによりコーディングされるかどうかに依存すると想定される。
【0125】
ステップ3では、ステップ1において識別され、ステップ2において転換されたいずれかの適格とされた候補は、マージ候補リスト内に既にある全ての既存の候補に対して類似性チェックを受け得る。類似性チェックの詳細は、上記の「アフィン・マージ候補プルーニング」のセクションにおいて既に説明されている。新たに適格とされた候補が候補リスト内のいずれかの既存の候補と類似すると発見される場合、この新たに適格とされた候補は、除去/プルーニングされる。
【0126】
アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理
継承済みマージ候補を導出するケースでは、1つの近傍ブロックが一度に識別され、この単一の近傍ブロックは、アフィン・モードにおいてコーディングされる必要があり、2つ又は3つのCPMVを包含し得る。構築済みマージ候補を導出するケースでは、2つ又は3つの近傍ブロックが一度に識別され、各々の識別された近傍ブロックは、アフィン・モードにおいてコーディングされる必要がなく、1つの並進MVのみがこのブロックから取り出される。
【0127】
図9は、近接しない近傍ブロックを使用することによって、構築済みアフィン・マージ候補が導出され得る実施例を提示する。図9では、A、B、及びCは、3つの近接しない近傍ブロックの地理的ポジションである。仮想コーディング・ブロックは、左最上隅としてAのポジション、右最上隅としてBのポジション、及び左下隅としてCのポジションを使用して形成される。アフィン・コーディング済みブロックとして仮想CUを考える場合、A’、B’、及びC’のポジションにおけるMVは、式(3)を遵守することによって導出され得、モデル・パラメータ(a,b,c,d,e,f)は、A、B、及びCのポジションにおける並進MVによって計算され得る。導出されると、A’、B’、及びC’のポジションにおけるMVは、カレント・ブロックについての3つのCPMVとして使用され得、構築済みアフィン・マージ候補を生成する既存の処理(AVS及びVVC標準規格において使用される1つ)が使用され得る。
【0128】
構築済みマージ候補に対し、近接しない近傍ベース導出処理は、5つのステップにおいて実行され得る。近接しない近傍ベース導出処理は、エンコーダ又はデコーダなどの装置において、5つのステップにおいて実行され得る。ステップ1は、候補スキャニングのためである。ステップ2は、アフィン・モデル決定のためである。ステップ3は、CPMV投影のためである。ステップ4は、候補生成のためである。また、ステップ5は、候補プルーニングのためである。ステップ1では、近接しない近傍ブロックは、以下の方法によってスキャン及び選択され得る。
【0129】
スキャニング・エリア及び距離
いくつかの実施形態では、矩形コーディング・ブロックを維持するために、スキャニング処理は、2つの近接しない近傍ブロックに対してのみ実行される。第3の近接しない近傍ブロックは、第1の及び第2の近接しない近傍ブロックの水平及び垂直ポジションに依存し得る。
【0130】
いくつかの実施形態では、図9に示されるように、スキャニング処理は、B及びCのポジションに対してのみ実行される。Aのポジションは、Cの水平ポジション及びBの垂直ポジションによって一意に決定され得る。このケースでは、スキャニング・エリア及び距離は、特定のスキャニング方向に従って定義され得る。
【0131】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側に垂直であり得る。1つの実施例が図10に示され、スキャニング・エリアは、カレント・ブロックの左又は上の連続した動きフィールドの1つのラインとして定義される。スキャニング距離は、スキャニング・ポジションからカレント・ブロックの側までの動きフィールドの数として定義される。動きフィールドのサイズは、適用可能なビデオ・コーディング標準規格の最大粒度に依存し得ることに留意されよう。図10に示される実施例では、動きフィールドのサイズは、現在のVVC標準規格と整合され、4×4に設定されると想定される。
【0132】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側に平行であり得る。1つの実施例が図11に示され、図11では、スキャニング・エリアは、カレント・ブロックの左又は上の連続したコーディング・ブロックの1つのラインとして定義される。
【0133】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側への垂直及び水平スキャニングの組み合わせであり得る。1つの実施例が図12に示される。図12に示されるように、スキャニング方向はまた、並列及び対角線の組み合わせであり得る。ポジションBにおけるスキャニングは、左から右に、次いで、対角線方向において左及び上のブロックへと開始する。ポジションBにおけるスキャニングは、図12に示されるように繰り返す。同様に、ポジションCにおけるスキャニングは、最上から下に、次いで、対角線方向において左及び上のブロックへと開始する。ポジションCにおけるスキャニングは、図12に示されるように繰り返す。
【0134】
スキャニング順序
いくつかの実施形態では、スキャニング順序は、カレント・コーディング・ブロックへのより短い距離を有するポジションからより長い距離を有するポジションまでとして定義され得る。この順序は、垂直スキャニングのケースに適用され得る。
【0135】
いくつかの実施形態では、スキャニング順序は、固定パターンとして定義され得る。この固定パターン・スキャニング順序は、類似の距離を有する候補ポジションに対して使用され得る。1つの実施例は、水平スキャニングのケースである。1つの実施例では、図11に示される実施例と同様に、スキャニング順序は、左のスキャニング・エリアに対して最上-下方向として定義され得、上のスキャニング・エリアに対して左から右への方向として定義され得る。
【0136】
組み合わせスキャニング方法のケースについて、図12に示される実施例と同様に、スキャニング順序は、固定パターン及び距離依存の組み合わせであり得る。
【0137】
スキャニング完結
構築済みマージ候補に対し、適格とされた候補は、並進MVのみが必要になるので、アフィン・コーディングされる必要がない。
【0138】
必要とされる候補の数に応じて、スキャニング処理は、最初のX個の適格とされた候補が識別されるときに完結され得、Xは、正の値である。
【0139】
図9に示されるように、仮想コーディング・ブロックを形成するために、A、B、及びCと命名される3つの隅が必要になる。より容易な実装のために、ステップ1におけるスキャニング処理は、隅B及びCに位置する近接しない近傍ブロックを識別するためにのみ実行され得ると共に、Aの座標は、Cの水平座標及びBの垂直座標を取ることによって正確に決定され得る。このようにして、形成された仮想コーディング・ブロックは、矩形であるように制約される。B又はC点のいずれかが利用可能でない、例えば、境界の外であり、又はB若しくはCに対応する近接しない近傍ブロックにおける動き情報が利用可能でないケースでは、Cの水平座標又は垂直座標は、カレント・ブロックの左最上の点の水平座標又は垂直座標それぞれとして定義され得る。
【0140】
別の実施形態では、隅B及び/又は隅Cがステップ1におけるスキャニング処理から最初に決定されるとき、隅B及び/又はCに位置する近接しない近傍ブロックがそれに従って識別され得る。2番目に、隅B及び/又はCのポジション(複数可)は、各々の近接しない近傍ブロックの質量中心など、対応する近接しない近傍ブロック内の旋回点にリセットされ得る。例えば、質量中心は、各々の近傍ブロックの幾何学的中心として定義され得る。
【0141】
統一を目的として、継承済みマージ候補を導出するために提案された、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を定義する方法は、構築済みマージ候補を導出するために完全に又は部分的に再使用され得る。1つ以上の実施形態では、それらに限定されないが、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、継承済みマージ候補スキャニングのために定義された同一の方法は、構築済みマージ候補スキャニングのために完全に再使用され得る。
【0142】
いくつかの実施形態では、継承済みマージ候補スキャニングのために定義された同一の方法は、構築済みマージ候補スキャニングのために部分的に再使用され得る。図16は、このケースにおける実施例を示す。図16では、各々の近接しない近傍ブロックのブロック・サイズは、カレント・ブロックと同一であり、それは、継承済み候補スキャニングとして同様に定義されるが、各々の距離におけるスキャニングが1つのブロックでのみであるとして制限されるので、全体的な処理は、簡易化されたバージョンである。
【0143】
図17A~17Bは、このケースにおける別の実施例を表す。図17A~17Bでは、近接しない継承済みマージ候補及び近接しない構築済みマージ候補の両方は、カレント・コーディング・ブロックと同一のブロック・サイズにより定義されると共に、スキャニング順序、スキャニング・エリア、及びスキャニング完結条件は、異なって定義され得る。
【0144】
図17Aでは、左側の近接しない近傍についての最大距離は、4つのコーディング・ブロックであると共に、上側の近接しない近傍についての最大距離は、5つのコーディング・ブロックである。また、各々の距離において、スキャニング方向は、左側に対して下-上、上側に対して右-左である。図17Bでは、近接しない近傍の最大距離は、左側及び上側の両方に対して4である。加えて、各々の距離において1つのブロックのみが存在することを理由に、特定の距離におけるスキャニングは利用可能でない。図17Aでは、M個の適格とされた候補が識別される場合、各々の距離内のスキャニング演算が完結され得る。Mの値は、1の値又はいずれかの他の正の整数などの予め定義された固定値、或いはエンコーダによって決定されたシグナリングされた値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Mの値は、マージ候補リスト・サイズと同一であり得る。
【0145】
図17A~17Bでは、N個の適格とされた候補が識別される場合、異なる距離におけるスキャニング演算が完結され得る。Nの値は、1の値又はいずれかの他の正の整数などの予め定義された固定値、或いはエンコーダによって決定されたシグナリングされた値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Nの値は、マージ候補リスト・サイズと同一であり得る。別の実施例では、Nの値は、Mの値と同一であり得る。
【0146】
図17A及び17Bの両方では、カレント・ブロックにより近い距離を有する近接しない空間的近傍が優先付けられ得、それは、距離iを有する近接しない空間的近傍は、距離i+1を有する近傍よりも前にスキャン又はチェックされることを示し、iは、特定の距離を表す負でない整数であり得る。
【0147】
特定の距離において、最大で2つの近接しない空間的近傍が使用され、それは、利用可能である場合、カレント・ブロックの1つの側、例えば、左及び上からの最大で1つの近傍が継承済み又は構築済み候補導出のため選択されることを意味する。図17Aに示されるように、左側及び上側の近傍のチェッキング順序は、下-上及び右-左のそれぞれである。図17Bについて、このルールも適用され得、差は、いずれかの特定の距離において、カレント・ブロックの側ごとに1つのオプションのみが存在することであり得る。
【0148】
構築済み候補に対し、図17Bに示されるように、及び上の近接しない空間的近傍のポジションが最初に独立して決定される。その後、左及び上の近接しない近傍と共に矩形仮想ブロックを囲むことができる、左最上の近傍の位置が、それに従って決定され得る。次いで、図9に示されるように、3つの近接しない近傍の動き情報は、対応する構築済み候補を生成するために最終的にカレントCUに投影される、仮想ブロックの左最上(A)、右最上(B)、及び左下(C)においてCPMVを形成するために使用される。
【0149】
ステップ2では、ステップ1の後の選択された候補のポジションにおける並進MVが評価され、適切なアフィン・モデルが決定され得る、より容易な例示のために、及び汎用性を失うことなく、図9が再度例として使用される。
【0150】
ハードウェア制約、実装の複雑度、及び異なる参照インデックスなどの因子に起因して、十分な数の候補が識別される前にスキャニング処理が完結され得る。例えば、ステップ1の後の選択された候補の1つ以上における動きフィールドの動き情報が利用可能であり得ない。
【0151】
全ての3つの候補の動き情報が利用可能である場合、対応する仮想コーディング・ブロックは、6-パラメータ・アフィン・モデルを表す。3つの候補の1つの動き情報が利用可能でない場合、対応する仮想コーディング・ブロックは、4-パラメータ・アフィン・モデルを表す。3つの候補の1つよりも多い動き情報が利用可能でない場合、対応する仮想コーディング・ブロックは、有効なアフィン・モデルを表すために使用不可であり得る。
【0152】
いくつかの実施形態では、仮想コーディング・ブロックの左最上隅、例えば、図9における隅Aの動き情報が利用可能でない場合、又は右最上隅、例えば、図9における隅B、及び左下隅、例えば、図9における隅Cの両方における動き情報が利用可能でない場合、仮想ブロックは、無効であるとして設定され得、有効なモデルを表すために使用不可であり得、次いで、ステップ3及びステップ4は、現在の反復の間にスキップされ得る。
【0153】
いくつかの実施形態では、両方が利用可能でないわけではないが、右最上隅、例えば、図9における隅B、又は左下隅、例えば、図9における隅Cのいずれかが利用可能でない場合、仮想ブロックは有効な4-パラメータ・アフィン・モデルを表し得る。
【0154】
ステップ3では、仮想コーディング・ブロックが有効なアフィン・モデルを表すことが可能である場合、継承済みマージ候補に対して使用される同一の投影処理が使用され得る。
【0155】
1つ以上の実施形態では、継承済みマージ候補に対して使用される同一の投影処理が使用され得る。このケースでは、ステップ2からの仮想コーディング・ブロックによって表される4-パラメータ・モデルは、カレント・ブロックに対して4-パラメータ・モデルに投影され、ステップ2からの仮想コーディング・ブロックによって表される6-パラメータ・モデルは、カレント・ブロックに対して6-パラメータ・モデルに投影される。
【0156】
いくつかの実施形態では、ステップ2からの仮想コーディング・ブロックによって表されるアフィン・モデルは、カレント・ブロックに対して4-パラメータ・モデル又は6-パラメータ・モデルに常に投影される。
【0157】
式(5)及び(6)に従って、2つのタイプの4-パラメータ・アフィン・モデルが存在し得、タイプAは、V及びVと称される左最上隅CPMV及び右最上隅CPMVが利用可能であることであり、タイプBは、V及びVと称される左最上隅CPMV及び左下隅CPMVが利用可能であることである。
【0158】
1つ以上の実施形態では、投影済み4-パラメータ・アフィン・モデルのタイプは、仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルの同一のタイプである。例えば、ステップ2からの仮想コーディング・ブロックによって表されるアフィン・モデルは、タイプA又はBの4-パラメータ・アフィン・モデルであり、次いで、カレント・ブロックに対する投影済みアフィン・モデルも、タイプA又はBのそれぞれである。
【0159】
いくつかの実施形態では、ステップ2からの仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルは、カレント・ブロックに対して同一のタイプの4-パラメータ・モデルに常に投影される。例えば、仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルのタイプA又はBは、タイプAの4-パラメータ・アフィン・モデルに常に投影される。
【0160】
ステップ4では、ステップ3の後の投影済みCPMVに基づいて、1つの実施例では、現在のVVC又はAVS標準規格において使用される同一の候補生成処理が使用され得る。別の実施形態では、現在のVVC又はAVS標準規格において使用される候補生成処理において使用される時間動きベクトルは、近接しない近傍ブロック・ベース導出方法のために使用され得ない。時間動きベクトルが使用されないとき、それは、生成された組み合わせがいずれの時間動きベクトルをも包含しないことを示す。
【0161】
ステップ5では、ステップ4の後のいずれかの新たに生成された候補は、マージ候補リスト内に既にある全ての既存の候補に対して類似性チェックを受け得る。類似性チェックの詳細は、「アフィン・マージ候補プルーニング」のセクションにおいて既に説明されている。新たに生成された候補が候補リスト内のいずれかの既存の候補と類似であるとして発見される場合、新たに生成された候補は、除去又はプルーニングされる。
【0162】
アフィン構築済みマージ候補に対する継承ベース導出方法
アフィン継承済み候補ごとに、全ての動き情報は、アフィン・モードにおいてコーディングされた1つの選択された空間的近傍ブロックから継承される。継承済み情報は、CPMV、参照インデックス、予測方向、アフィン・モデル・タイプ等を含む。一方で、アフィン構築済み候補ごとに、全ての動き情報は、2つ又は3つの選択された空間的又は時間的近傍ブロックから構築されると共に、選択された近傍ブロックは、アフィン・モードにおいてコーディングされず、並進動き情報のみが選択された近傍ブロックから必要である。
【0163】
このセクションでは、継承済み候補及び構築済み候補の特徴を組み合わせる新たな候補導出方法が開示される。
【0164】
いくつかの実施形態では、継承及び構築の組み合わせは、アフィン・モデル・パラメータを異なるグループに分離することによって実現され得、アフィン・パラメータの1つのグループは、1つの近傍ブロックから継承され、アフィン・パラメータの他のグループは、他の近傍ブロックから継承される。
【0165】
1つの実施例では、1つのアフィン・モデルのパラメータは、2つのグループから構築される。式(3)に示されるように、アフィン・モデルは、a、b、c、d、e、及びfを含む、6つのパラメータを包含し得る。並進パラメータ{a,b}は、1つのグループを表し得ると共に、非並進パラメータ{c,d,e,f}は、別のグループを表し得る。このグループ化方法により、パラメータの2つのグループは、第1のステップにおいて2つの異なる近傍ブロックから独立して継承され得、次いで、第2のステップにおいて完全アフィン・モデルであるように連結/構築され得る。このケースでは、非並進パラメータを有するグループは、1つのアフィン・コーディング済み近傍ブロックから継承される必要があると共に、並進パラメータを有するグループは、アフィン・モードにおいてコーディングされ得又はされ得ない、いずれかのインター・コーディング済み近傍ブロックからであり得る。アフィン・コーディング済み近傍ブロックは、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含むスキャニング方法/ルールである、図17Aに示される方法など、アフィン継承済み候補に対して前に提案されたスキャニング方法に基づいて、近接するアフィン近傍ブロック又は近接しないアフィン近傍ブロックから選択され得ると共に、スキャニング方法は、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得ることに留意されよう。代わりに、アフィン・コーディング済み近傍ブロックは、物理的に存在し得ないが、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含むスキャニング方法/ルールである、図17Bに示される方法など、正規のインター・コーディング済み近傍ブロックから仮想的に構築され得る。
【0166】
いくつかの実施例では、各々のグループと関連付けられた近傍ブロックは、異なる方法において決定され得る。1つの方法では、パラメータの異なるグループに対する近傍ブロックは、近接しない近傍エリアからの全てであり得ると共に、スキャニング方法は、近接しない近傍ベース導出処理のための前に提案された方法と同様に設計され得る。別の方法では、パラメータの異なるグループに対する近傍ブロックは、近接する近傍エリアからの全てであり得ると共に、スキャニング方法は、現在のVVC又はAVSビデオ標準規格と同一であり得る。別の方法では、パラメータの異なるグループに対する近傍ブロックは、近接する近傍エリアからの部分的であり得、近接しない近傍エリアから部分的であり得る。
【0167】
アフィン・パラメータのいくつかのグループが新たな候補を構築するように組み合わされるとき、遵守されることになるいくつかのルールが存在し得る。1つ目は、適格基準である。1つの実施例では、グループごとの関連する近傍ブロック又はブロック(複数可)は、少なくとも1つの方向又は両方の方向に対して同一の参照ピクチャを使用するかどうかをチェックされ得る。別の実施例では、グループごとの関連する近傍ブロック又はブロック(複数可)は、動きベクトルに対して同一の精度/解像度を使用するかどうかをチェックされ得る。
【0168】
2つ目は、構築式である。1つの実施例では、新たな候補のCPMVは、以下の式において導出され得る:
【数9】
(x,y)は、カレント・コーディング・ブロック内の隅のポジション(例えば、左最上隅CPMVに対する(0,0)右最上隅CPMVに対する(width,0))、であり、{c,d,e,f}は、1つの近傍ブロックからのパラメータの1つのグループであり、{a,b}は、別の近傍ブロックからのパラメータの別のグループである。
【0169】
別の実施例では、新たな候補のCPMVは、以下の式において導出され得る:
【数10】
(Δw,Δh)は、{a,b}のグループの関連する近傍ブロックなど、パラメータの1つのグループに対するカレント・コーディング・ブロックの左最上隅と関連する近傍ブロック(複数可)の1つの左最上隅との間との距離である。この式における他のパラメータの定義は、上記の実施例と同一である。パラメータは、別の方法においてグループ化され得、(a,b,c,d,e,f)は、1つのグループとして形成されると共に、(Δw,Δh)は、別のグループとして形成される。また、パラメータの2つのグループは、2つの異なる近傍ブロックからである。代わりに、(Δw,Δh)の値は、近傍ブロックとカレント・ブロックとの間の距離に依存しない、(0,0)などの固定値又はいずれかの一定の値として予め定義され得る。
【0170】
図18は、アフィン構築済み候補を導出する継承ベース導出方法の実施例を示す。図18では、アフィン構築済み候補を導出するための3つのステップが存在する。ステップ1では、特定のグループ化戦略に従って、エンコーダ又はデコーダは、グループごとに近接する近傍ブロック及び近接しない近傍ブロックのスキャニングを実行し得る。図18のケースでは、2つのグループが定義され、近傍1は、アフィン・モードにおいてコーディングされ、非並進アフィン・パラメータを提供すると共に、近傍2は、並進アフィン・パラメータを提供する。近傍1は、図15A~15D及び17Aに示されるような「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおける処理に従って取得され得ると共に、近傍1は、カレント・ブロックの近接する又は近接しない近傍ブロックであり得る。更に、近傍2は、図16及び17Bに示されるような処理に従って取得され得る。
【0171】
ステップ2では、ステップ1において決定されたパラメータ及びポジションにより、CPMVの座標(x,y)に従って異なるCPMVを導出することができる、特定のアフィン・モデルが定義され得る。例えば、図18に示されるように、非並進パラメータ{c,d,e,f}は、ステップ1において取得された近傍1に基づいて取得され得、並進パラメータ{a,b}は、ステップ1において取得された近傍2に基づいて取得され得る。更に、距離パラメータΔw,Δhは、よって、カレント・ブロックのポジション(x,y)及び近傍2のポジション(x,y)に基づいて取得され得る。距離パラメータΔw,Δhはそれぞれ、カレント・ブロックと近傍1又は近傍2との間の水平距離及び垂直距離を示し得る。例えば、距離パラメータΔw,Δhはそれぞれ、カレント・ブロックと近傍2との間の水平距離(x-x)を示し得、カレント・ブロックと近傍2との間の垂直距離(y-y)を示し得る。特に、Δw=x-x、Δh=y-yである。
【0172】
ステップ3では、2つ又は3つのCPMVが、カレント・コーディング・ブロックに対して導出され、カレント・コーディング・ブロックは、新たなアフィン候補を形成するように構築され得る。
【0173】
いくつかの実施形態では、他の予測情報が更に構築され得る。近傍ブロックが同一の方向及び/又は参照ピクチャを有するとチェックされる場合、予測方向(例えば、双予測(bi-predicted)又は単予測された(uni-predicted))及び参照ピクチャのインデックスは、関連する近傍ブロックと同一であり得る。代わりに、予測情報は、異なるグループからの関連する近傍ブロックの中で最小のオーバラップする情報を再使用することによって決定される。例えば、1つの近傍ブロックからの1つの方向の参照インデックスのみが他の近傍ブロックの同一の方向の参照インデックスと同一である場合、新たな候補の予測方向は、単予測として決定され、同一の参照インデックス及び方向が再使用される。
【0174】
アフィン構築済みマージ候補に対するHMVPベース導出方法
現在のビデオ標準規格VVC及びAVSにおいて既に定義され、上記のセクション及び図7において説明された、近接する近傍ベース導出処理のケースでは、近接する近傍に対するスキャニングの固定順序は、2つ又は3つの近接する近傍ブロックを識別するように実行される。前のセクション及び図17Bにおいて提案されるように、近接しない近傍ベース導出処理のケースでは、2つの近接しない近傍は、別の固定順序のスキャニングの間に識別される。言い換えると、近接する近傍ベース導出方法及び近接しない近傍ベース導出方法の両方について、ローカル・スキャニングの或る深度は、近傍の数を識別するために必然である。このスキャニング処理は、各々のカレント・ブロックの周りのローカル・バッファリングに依存し、また、或る量の計算の複雑度を被る。
【0175】
一方で、導入セクションにおいて説明されるように、HMVPマージ・モードは、現在のVVC及びAVSにおいて既に採用されており、近傍ブロックからの並進動き情報は、履歴テーブルに既に記憶されている。このケースでは、スキャニング処理は、HMVPテーブルを探索することによって置き換えられ得る。
【0176】
したがって、前に提案された近接しない近傍ベース導出処理及び継承ベース導出処理について、図17B及び図18に示されるようなスキャニング方法の代わりに、並進動き情報は、HMVPテーブルから取得され得る。しかしながら、その後アフィン構築済み候補を導出するために、カレントHMVPテーブルが修正され得る場合にアクセス可能であり得る、ポジション情報、幅、高さ、及び参照情報も必要である。したがって、各々の履歴近傍の動き情報に加えて追加の情報を記憶するためにHMVPテーブルを拡張することが提案される。1つの実施形態では、追加の情報は、アフィン又は非アフィン近傍ブロックのポジション、又はCPMVなどのアフィン動き情報若しくはCPMVから導出された同等の正規動き(例えば、この正規動きは、アフィン・コーディング済み近傍ブロックの内部サブ・ブロックからであり得る)、参照インデックスなどを含み得る。
【0177】
アフィンAMVP及び正規マージ・モードに対する候補導出方法
上記のセクションにおいて説明されたように、アフィンAMVPモードに対し、アフィン候補リストも、CPMVプレディクタを導出するために必要である。結果として、全ての上記で提案された導出方法は、アフィンAMVPモードに同様に適用され得る。唯一の差は、上記で提案された導出方法がAMVPにおいて適用されるとき、選択された近傍ブロックがカレント・コーディング・ブロックと同一の参照ピクチャ・インデックスを有するはずであることである。
【0178】
正規マージ・モードに対し、候補リストも、CPMVではなく、並進候補MVのみにより構築される。このケースでは、全ての上記で提案された導出方法はなお、追加の導出ステップを追加することによって適用され得る。この追加の導出ステップでは、それは、カレント・ブロックに対して並進MVを導出することであり、それは、カレント・ブロック内の特定の旋回ポジション(x,y)を選択することによって実現され得、同一の式(3)を遵守し得る。言い換えると、アフィン・ブロックのCPMVを導出するために、ブロックの3つの隅のポジションは、式(3)において旋回ポジション(x,y)として使用されると共に、正規のインター・コーディング済みブロックの並進MVを導出するために、ブロックの中心ポジションは、式(3)において旋回ポジション(x,y)として使用され得る。並進MVがカレント・ブロックに対して導出されると、それは、他の候補として候補リストに挿入され得る。
【0179】
アフィン・マージ候補リストの再順序付け
1つの実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、サブ・ブロック・ベース時間動きベクトル予測(subblock-based temporal motion vector prediction)(SbTMVP)候補、2.近接する近傍から継承された、3.近接しない近傍から継承された、4.近接する近傍から構築された、5.近接しない近傍から構築された、6.ゼロMV。
【0180】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接する近傍から構築された、4.近接しない近傍から継承された、5.近接しない近傍から構築された、6.ゼロMV。
【0181】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接する近傍から構築された、4.ゼロMVの1つのセット、5.近接しない近傍から継承された、6.近接しない近傍から構築された、7.リストがなおもフルでない場合、残りのゼロMV。
【0182】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、Xよりも短い距離により近接しない近傍から継承された、4.近接する近傍から構築された、5.Yよりも短い距離により近接しない近傍から構築された、6.Xよりも長い距離により近接しない近傍から継承された、7.Yよりも長い距離により近接しない近傍から構築された、8.ゼロMV。この実施形態では、値X及びYは、2の値などの予め定義された固定値、又はエンコーダによって決定されたシグナリング済み値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Xの値は、Yの値と同一であり得る。別の実施例では、の値は、の値とは異なり得る。
【0183】
図19は、ユーザ・インタフェース1960に結合されたコンピューティング環境(又は、コンピューティング・デバイス)1910を示す。コンピューティング環境1910は、データ・プロセシング・サーバの一部であることができる。いくつかの実施形態では、コンピューティング・デバイス1910は、本開示の様々な実施例に係る、以下で説明されるような様々な方法又は処理(符号化/復号方法又は処理)のいずれかを実行することができる。コンピューティング環境1910は、プロセッサ1920、メモリ1940、及びI/Oインタフェース1950を含み得る。
【0184】
プロセッサ1920は、典型的には、表示、データ獲得、データ通信、及び画像処理と関連付けられた演算など、コンピューティング環境1910の全体的な演算を制御する。プロセッサ1920は、上記で説明された方法におけるステップの全て又は一部を実行する命令を実行するための1つ以上のプロセッサを含み得る。その上、プロセッサ1920は、プロセッサ1920と他の構成要素との間の相互作用を促進する1つ以上のモジュールを含み得る。プロセッサは、セントラル・プロセシング・ユニット(CPU)、マイクロ・プロセッサ、単一のチップ・マシン、又はGPUなどであり得る。
【0185】
メモリ1940は、コンピューティング環境1910の演算をサポートするための様々なタイプのデータを記憶するように構成される。メモリ1940は、予め定められたソフトウェア1942を含み得る。そのようなデータの例は、コンピューティング環境1910上で動作するいずれかのアプリケーション又は方法に対する命令、ビデオ・データセット、画像データなどを含む。メモリ1940は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、消去可能プログラム可能リード・オンリ・メモリ(EPROM)、プログラム可能リード・オンリ・メモリ(PROM)、リード・オンリ・メモリ(ROM)、磁気メモリ、フラッシュ・メモリ、磁気又は光学ディスクなど、いずれかのタイプの揮発性若しくは不揮発性メモリ・デバイス、又はそれらの組み合わせを使用することによって実装され得る。
【0186】
I/Oインタフェース1950は、キーボード、クリック・ホイール、及びボタンなど、プロセッサ1920と周辺インタフェース・モジュールとの間のインタフェースを提供する。ボタンは、それらに限定されないが、ホーム・ボタン、開始スキャン・ボタン、及び停止スキャン・ボタンを含み得る。I/Oインタフェース1950は、エンコーダ及びデコーダと結合され得る。
【0187】
いくつかの実施形態では、上記で説明された方法を実行するための、コンピューティング環境1910内のプロセッサ1920によって実行可能な、メモリ1940に含まれるなどの複数のプログラムを含む非一時的コンピュータ可読記憶媒体も提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピー・ディスク、又は光学データ記憶装置などであり得る。
【0188】
非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサを有するコンピューティング・デバイスによる実行のための複数のプログラムをそこに記憶しており、複数のプログラムは、1つ以上のプロセッサによって実行されるとき、コンピューティング・デバイスに、動き予測のための上記で説明された方法を実行させる。
【0189】
いくつかの実施形態では、コンピューティング環境1910は、上記の方法を実行するための、1つ以上の特定用途向け集積回路(ASIC)、デジタル・シグナル・プロセッサ(DSP)、デジタル・シグナル・プロセシング・デバイス(DSPD)、プログラマブル論理回路(PLD)、フィールド・プログラマブル・ゲートアレイ(FPGA)、グラフィカル・プロセシング・ユニット(GPU)、コントローラ、マイクロ・コントローラ、マイクロ・プロセッサ、又は他の電子構成要素により実装され得る。
【0190】
図20は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0191】
ステップ2001では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得し得る。
【0192】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み得る。例えば、図18に示されるように、1つ以上の第1のパラメータは、アフィン・コーディングされた第1の近傍ブロックから継承された非並進パラメータc、d、e、及びfを含み得る。
【0193】
いくつかの実施例では、第1の近傍ブロックは、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから取得され得る。すなわち、第1の近傍ブロックは、近接する近傍ブロック又は近接しない近傍ブロックであり得る。複数の近接する近傍ブロックは、カレント・ブロックに近接し、複数の近接しない近傍ブロックはそれぞれ、カレント・ブロックの1つの側から離れるブロックの数に位置する。
【0194】
いくつかの実施例では、第1の近傍ブロックは、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから取得され得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含み得る。
【0195】
ステップ2002では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得る。
【0196】
特に、プロセッサ1920は、第1の近傍ブロック、第2の近傍ブロック、又は第1の近傍ブロック及び第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得る。
【0197】
いくつかの実施例では、1つ以上の第2のパラメータは、アフィン・モデルと関連付けられた複数の並進パラメータを含み得る。例えば、図18に示されるように、1つ以上の第2のパラメータは、第2の近傍ブロックに基づいて構築された並進パラメータa、bを含み得る。
【0198】
いくつかの実施例では、第2の近傍ブロックは、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから取得され得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含み得る。
【0199】
いくつかの実施例では、第1の近傍ブロックは、第1のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから取得され得、複数の近接しない近傍ブロックはそれぞれ、カレント・ブロックの1つの側から離れるブロックの数に位置する。例えば、第1のスキャニング・ルールは、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用される、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング・ルールであり得ると共に、スキャニング・ルールは、図8、13A~13B、14A~14B、15A~15D、及び17Aに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0200】
いくつかの実施例では、第2の近傍ブロックは、第2のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから取得され得、第2のスキャニング・ルールは、第1のスキャニング・ルールと完全に又は部分的に同一であり得る。例えば、第2のスキャニング・ルールは、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング・ルールであり得ると共に、スキャニング・ルールは、図9~12、16、及び17Bに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0201】
ステップ2003では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築し得る。
【0202】
いくつかの実施例では、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータは、1つ以上のアフィン・モデルを構築するように、組み合わされ得又は連結され得る。
【0203】
ステップ2004では、プロセッサ1920は、ステップ2003において構築された1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0204】
いくつかの実施例では、プロセッサ1920は、いくつかの前提条件の下で1つ以上のアフィン・モデルを構築するために、第1の近傍ブロック及び第2の近傍ブロックが有効であると決定し得る。1つの実施例では、プロセッサ1920は、第1の近傍ブロック及び第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、アフィン・モデルを構築するために、第1の近傍ブロック及び第2の近傍ブロックが有効であると決定し得る。更に、プロセッサ1920は、第1の近傍ブロック及び第2の近傍ブロックが1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、1つ以上のCPMVに基づいて形成された動きベクトル候補の予測方向が、単予測であり、同一の参照ピクチャが1つの動き方向に対する動きベクトル候補に対して使用されると決定し得る。プロセッサ1920はまた、第1の近傍ブロック及び第2の近傍ブロックが両方の動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、カレント・ブロックの予測方向及び参照ピクチャが第1及び第2の近傍ブロックそれぞれの予測方向及び参照ピクチャと同一であると決定し得る。ここで、ステップ2004において取得されたカレント・ブロックに対する1つ以上のCPMVは、動きベクトル候補を形成するように構築され得る。動きベクトル候補は、アフィン候補に限定されず、正規マージ候補、AMVP候補などを含み得る。
【0205】
別の実施例では、プロセッサ1920は、第1の近傍ブロック及び第2の近傍ブロックが動きベクトルに対して同一の解像度を使用すると決定したことに応答して、アフィン・モデルを構築するために、第1の近傍ブロック及び第2の近傍ブロックが有効であると決定し得る。
【0206】
いくつかの実施例では、プロセッサ1920は、1つ以上の第1のパラメータ、1つ以上の第2のパラメータ、カレント・ブロックの第1のポジション、及び第2の近傍ブロック又は第1の近傍ブロックの第2のポジションに基づいて、1つ以上のアフィン・モデルを構築し得る。例えば、図18におけるステップ2に示されるように、アフィン・モデルは、非並進パラメータc、d、e、f、並進パラメータa、b、及びカレント・ブロックと第2の近傍ブロックとの間の差に基づいて構築され得る。例えば、差は、図18に示されるような対応する座標差を含み得る。カレント・ブロックのポジション、第1及び第2の近傍ブロックは、異なる方法において決定され得る。
【0207】
いくつかの実施例では、カレント・ブロックの第1のポジションは、カレント・ブロックの左最上隅に従って決定され得、第1又は第2の近傍ブロックの第2のポジションは、第1又は第2の近傍ブロックの左最上隅に従って決定され得る。
【0208】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得る。例えば、図18に示されるように、1つ以上の第1のパラメータは、アフィン・モデル・パラメータa、b、c、d、e、fを含み得、1つ以上の第2のパラメータは、距離パラメータΔw及びΔhを含み得る。
【0209】
いくつかの実施例では、複数の距離パラメータは、固定値として予め定義され得る。例えば、(Δw,Δh)の値は、(0,0)などの固定値又はいずれかの一定の値として予め定義され得る。
【0210】
いくつかの実施例では、複数の距離パラメータはそれぞれ、カレント・ブロックと第1の近傍ブロック又は第2の近傍ブロックとの間の距離を示し得る。例えば、複数の距離パラメータは、カレント・ブロックと第1又は第2の近傍ブロックとの間の水平距離を示す第1の距離パラメータΔwを含み得、更に、カレント・ブロックと第1又は第2の近傍ブロックとの間の垂直距離を示す第2の距離パラメータΔhを含み得る。
【0211】
図21は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0212】
ステップ2101では、プロセッサ1920は、HMVPテーブルから複数の動きベクトル候補を取得し得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。
【0213】
いくつかの実施例では、複数の動きベクトル候補は、アフィン候補に限定されず、正規マージ候補、AMVP候補などを含み得る。
【0214】
いくつかの実施例では、HMVPテーブルは、各々の履歴近傍ブロックの動き情報に加えて追加の情報をHMVPテーブルに記憶することによって拡張され得る。追加の情報は、以下の情報:各々の履歴近傍ブロックのポジション、各々の履歴近傍ブロックのアフィン動き情報、又は各々の履歴近傍ブロックの参照インデックスの少なくとも1つの、又は1つ以上を含み得る。
【0215】
ステップ2102では、プロセッサ1920は、図9に示されるように、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得し得る。
【0216】
ステップ2103では、プロセッサ1920は、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得し得る。
【0217】
いくつかの実施例では、プロセッサ1920は、第1及び第2の動きベクトル構築済み候補並びに仮想ブロックに基づいて、第3の動きベクトル構築済み候補を決定し得、第1、第2、及び第3の動きベクトル構築済み候補の並進MVに基づいて、仮想ブロックに対する複数のCPMVを取得し得、継承済み候補導出のために使用される同一の投影処理を使用することによって、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得し得る。
【0218】
図22は、本開示の実施例に係るビデオ復号のための方法を例示するフローチャートである。
【0219】
ステップ2201では、プロセッサ1920は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を取得し得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0220】
ステップ2202では、プロセッサ1920は、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0221】
いくつかの実施例では、1つ以上の動きベクトル候補は、アフィン候補に限定されず、正規マージ候補、AMVP候補などを含み得る。
【0222】
いくつかの実施例では、プロセッサ1920は、1つ以上の動きベクトル候補がカレント・ブロックと同一の参照ピクチャ・インデックスを有すると決定したことに応答して、1つ以上の動きベクトル候補をアフィンAMVPモードに対するアフィン候補リストに追加し得る。
【0223】
いくつかの実施例では、プロセッサ1920は、1つ以上のCPMVに基づいて、カレント・ブロックに対する少なくとも1つの並進動きベクトルを取得し得、少なくとも1つの並進動きベクトルを正規マージ・モードに対する正規マージ候補リストに追加し得る。
【0224】
いくつかの実施例では、プロセッサ1920は、カレント・ブロック内の特定の旋回ポジションを選択することによって、1つ以上のCPMVに基づいて、カレント・ブロックに対する少なくとも1つの並進動きベクトルを取得し得る。
【0225】
図23は、図20に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0226】
ステップ2301では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定し得る。
【0227】
ステップ2302では、プロセッサ1920は、カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定し得る。
【0228】
特に、プロセッサ1920は、第1の近傍ブロック、第2の近傍ブロック、又は第1の近傍ブロック及び第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定し得る。
【0229】
ステップ2303では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築し得る。
【0230】
いくつかの実施例では、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータは、1つ以上のアフィン・モデルを構築するように、組み合わされ得又は連結され得る。
【0231】
ステップ2304では、プロセッサ1920は、ステップ2303において構築された1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0232】
図24は、図21に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0233】
ステップ2401では、プロセッサ1920は、HMVPテーブルから複数の動きベクトル候補を決定し得、複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含み得る。
【0234】
ステップ2402では、プロセッサ1920は、図9に示されるように、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得し得る。
【0235】
ステップ2403では、プロセッサ1920は、仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数のCPMVを取得し得る。
【0236】
図25は、図22に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0237】
ステップ2501では、プロセッサ1920は、少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を決定し得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0238】
ステップ2502では、プロセッサ1920は、1つ以上の動きベクトル候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0239】
図26は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0240】
ステップ2601では、継承ベース導出方法を使用して、1つ以上の第1のパラメータを取得し得る。
【0241】
いくつかの実施例では、プロセッサ1920は、継承ベース導出方法を使用して、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第1の近傍ブロックを取得し得、第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得し得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含み得る。
【0242】
いくつかの実施例では、継承ベース導出方法は、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて説明されるアフィン継承済みマージ候補に対する導出処理であり得る。継承ベース導出方法では、カレント・ブロックの近傍ブロックは、「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング方法/ルールを使用してスキャンされ得ると共に、スキャニング・ルールは、図8、13A~13B、14A~14B、15A~15D、及び17Aに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0243】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得、複数の距離パラメータは、カレント・ブロックと第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及びカレント・ブロックと第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含み得る。アフィン・モデルと関連付けられた複数のパラメータは、アフィン・モデルと関連付けられたパラメータ{a,b,c,d,e,f}を含み得る。第1の距離パラメータ及び第2の距離パラメータはそれぞれ、距離パラメータΔw及びΔhであり得る。
【0244】
ステップ2602では、プロセッサ1920は、構築ベース導出方法を使用して、1つ以上の第2のパラメータを取得し得る。
【0245】
いくつかの実施例では、プロセッサ1920は、構築ベース導出方法を使用して、カレント・ブロックの複数のインター・コーディング済み近傍ブロックから第2の近傍ブロックを取得し得、第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得、複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロック及び非アフィン・コーディング済みブロックを含み得る。
【0246】
いくつかの実施例では、構築ベース導出方法は、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて説明されるアフィン構築済みマージ候補に対する導出処理であり得る。構築ベース導出方法では、カレント・ブロックの近傍ブロックは、「アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおいて使用されるスキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、スキャニング方法/ルールを使用してスキャンされ得ると共に、スキャニング・ルールは、図9~12、16、及び17Bに示されるように、近接する近傍ブロック又は近接しない近傍ブロックの両方に対して実行され得る。
【0247】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得、複数の距離パラメータは、カレント・ブロックと第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及びカレント・ブロックと第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含み得る。アフィン・モデルと関連付けられた複数のパラメータは、アフィン・モデルと関連付けられたパラメータ{a,b,c,d,e,f}を含み得る。第1の距離パラメータ及び第2の距離パラメータはそれぞれ、距離パラメータΔw及びΔhであり得る。
【0248】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み得、1つ以上の第2のパラメータは、アフィン・モデルと関連付けられた複数の並進パラメータを含み得る。
【0249】
いくつかの実施例では、1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み得、1つ以上の第2のパラメータは、複数の距離パラメータを含み得る。
【0250】
いくつかの実施例では、複数の距離パラメータは、固定値として予め定義され得る。
【0251】
ステップ2603では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築し得る。
【0252】
ステップ2604では、プロセッサ1920は、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0253】
図27は、図26に例示されるような方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0254】
ステップ2701では、プロセッサ1920は、継承ベース導出方法を使用して、1つ以上の第1のパラメータを決定し得る。
【0255】
ステップ2702では、プロセッサ1920は、構築ベース導出方法を使用して、1つ以上の第2のパラメータを決定し得る。
【0256】
ステップ2703では、プロセッサ1920は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築し得る。
【0257】
ステップ2704では、プロセッサ1920は、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0258】
いくつかの実施例では、ビデオ・コーディングのための装置が提供される。装置は、プロセッサ1920と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ1940とを含み、プロセッサは、命令が実行されると、図20~27に例示されるようないずれかの方法を実行するように構成される。
【0259】
いくつかの他の実施例では、そこに記憶された命令を有する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ1920によって実行されるとき、命令は、プロセッサに、図20~25に例示されるようないずれかの方法を実行させる。
【0260】
ここで開示される本開示の明細書及び実施の考慮から、開示の他の実施例が当業者にとって明らかである。本出願は、本分野における既知又は通常の実施内にあるように、その一般的な原理を遵守し、本開示からのそのような逸脱を含む、開示のいずれかの変形、使用、又は適合を網羅することが意図される。明細書及び実施例が例示としてのみ考えられることが意図される。
【0261】
本開示は、上記で説明され、添付図面において例示された厳密な実施例に限定されず、その範囲から逸脱することなく、様々な修正及び変更が行われ得ることを認識されよう。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ復号の方法であって、
カレント・ブロック(current block)の第1の近傍ブロック(neighbor block)に基づいて、1つ以上の第1のパラメータを取得することと、
前記カレント・ブロックの前記第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用することによって、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項2】
複数の近接する(adjacent)近傍ブロック及び複数の近接しない(non-adjacent)近傍ブロックから前記第1の近傍ブロックを取得することを更に含み、前記複数の近接する近傍ブロックは、前記カレント・ブロックに近接し、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、請求項1に記載の方法。
【請求項3】
前記カレント・ブロックの複数のインター・コーディング済み(inter-coded)近傍ブロックから前記第2の近傍ブロックを取得することを更に含み、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済み(affine coded)ブロック及び非アフィン・コーディング済みブロックを含む、請求項1に記載の方法。
【請求項4】
前記カレント・ブロックの複数のインター・コーディング済み近傍ブロックから前記第1の近傍ブロックを取得することを更に含み、前記複数のインター・コーディング済み近傍ブロックは、アフィン・コーディング済みブロックを含む、請求項1に記載の方法。
【請求項5】
第1のスキャニング・ルールに基づいて、複数の近接しない近傍ブロックから前記第1の近傍ブロックを取得することであって、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、取得することと、
第2のスキャニング・ルールに基づいて、前記複数の近接しない近傍ブロックから前記第2の近傍ブロックを取得することであって、前記第2のスキャニング・ルールは、前記第1のスキャニング・ルールと完全に又は部分的に同一である、取得することと、
を更に含む、請求項1に記載の方法。
【請求項6】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数の非並進パラメータを含み、前記1つ以上の第2のパラメータは、前記アフィン・モデルと関連付けられた複数の並進パラメータを含む、請求項1に記載の方法。
【請求項7】
前記第1の近傍ブロック及び前記第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記第1の近傍ブロック及び前記第2の近傍ブロックが有効であると決定することを更に含む、請求項2に記載の方法。
【請求項8】
前記第1の近傍ブロック及び前記第2の近傍ブロックが1つの動き方向に対して前記同一の参照ピクチャを使用すると決定したことに応答して、前記1つ以上のCPMVに基づいて形成された動きベクトル候補の予測方向が単予測(uni-prediction)であり、前記同一の参照ピクチャが前記1つの動き方向に対する前記動きベクトル候補に対して使用されると決定することを更に含または、前記第1の近傍ブロック及び前記第2の近傍ブロックが両方の動き方向に対して前記同一の参照ピクチャを使用すると決定したことに応答して、前記カレント・ブロックの予測方向及び参照ピクチャが前記第1及び第2の近傍ブロックそれぞれのそれらと同一であると決定することを更に含む、請求項7に記載の方法。
【請求項9】
前記第1の近傍ブロック及び前記第2の近傍ブロックが動きベクトルに対して同一の解像度を使用すると決定したことに応答して、前記第1の近傍ブロック及び前記第2の近傍ブロックが有効であると決定することを更に含む、請求項2に記載の方法。
【請求項10】
前記1つ以上の第1のパラメータ、前記1つ以上の第2のパラメータ、前記カレント・ブロックの第1のポジション、及び前記第2の近傍ブロック又は前記第1の近傍ブロックの第2のポジションに基づいて、前記1つ以上のアフィン・モデルを構築することを更に含む、請求項1に記載の方法。
【請求項11】
前記第1のポジションは、前記カレント・ブロックの左最上隅を含み、前記第2のポジションは、前記第1又は前記第2の近傍ブロックの左最上隅を含む、請求項10に記載の方法。
【請求項12】
前記1つ以上の第1のパラメータは、アフィン・モデルと関連付けられた複数のパラメータを含み、前記1つ以上の第2のパラメータは、複数の距離パラメータを含む、請求項1に記載の方法。
【請求項13】
前記複数の距離パラメータは、前記カレント・ブロックと前記第2の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第2の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含
前記複数の距離パラメータは、前記カレント・ブロックと前記第1の近傍ブロックとの間の水平距離を示す第1の距離パラメータ、及び前記カレント・ブロックと前記第1の近傍ブロックとの間の垂直距離を示す第2の距離パラメータを含む、請求項12に記載の方法。
【請求項14】
ビデオ復号の方法であって、
履歴ベース動きベクトル予測(HMVP)テーブルから複数の動きベクトル候補を取得することであって、前記複数の動きベクトル候補は、第1の動きベクトル構築済み候補及び第2の動きベクトル構築済み候補を含む、取得することと、
前記第1の動きベクトル構築済み候補及び前記第2の動きベクトル構築済み候補に基づいて、仮想ブロックを取得することと、
前記仮想ブロックの複数のCPMVに基づいて、カレント・ブロックに対する複数の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項15】
ビデオ復号の方法であって、
少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル候補を取得することであって、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示す、取得することと、
前記1つ以上の動きベクトル候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項16】
ビデオ復号の方法であって、
継承ベース導出方法を使用して、1つ以上の第1のパラメータを取得することと、
構築ベース導出方法を使用して、1つ以上の第2のパラメータを取得することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項17】
ビデオ復号のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項1から16のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項18】
ビットストリームを記憶するための方法であって、前記ビットストリームは、請求項1から16のいずれか一項に記載の方法によって復号される方法
【請求項19】
請求項1から16のいずれか一項に記載の方法によって復号されるビットストリームを受信する方法。
【請求項20】
1つ以上のプロセッサを有するコンピューティング・デバイスによって実行される非一時的コンピュータ可読媒体に記憶されるコンピュータプログラムであって、前記コンピュータプログラムは、1つ以上のプロセッサによって実行されると、コンピューティング・デバイスに請求項1~16のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図25
【補正方法】変更
【補正の内容】
図25
【国際調査報告】