(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】ビデオ・コーディングにおけるアフィン・マージ・モードに対する候補導出のための方法及びデバイス
(51)【国際特許分類】
H04N 19/105 20140101AFI20241024BHJP
H04N 19/177 20140101ALI20241024BHJP
H04N 19/139 20140101ALI20241024BHJP
【FI】
H04N19/105
H04N19/177
H04N19/139
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024526726
(86)(22)【出願日】2022-12-15
(85)【翻訳文提出日】2024-05-02
(86)【国際出願番号】 US2022052952
(87)【国際公開番号】W WO2023114362
(87)【国際公開日】2023-06-22
(32)【優先日】2021-12-16
(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ターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN10
5C159NN21
5C159PP04
5C159RC16
5C159TA30
5C159TB08
5C159TC35
5C159TC42
5C159UA02
5C159UA05
(57)【要約】
ビデオ復号の方法、ビデオ符号化の方法、その装置及び非一時的コンピュータ可読記憶媒体が提供される。ビデオ復号の方法は、第1のリスト・サイズを有する時間的候補リストを取得することを含み、第1のリスト・サイズは、アフィン・マージ候補リスト、アドバンスト動きベクトル予測(AMVP)候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数の動きベクトル(MV)候補を含む。更に、方法は、再順序付けされた複数のMV候補に基づいて、時間的候補リストから第1の数のMV候補を取得することを含み得、第1の数は、時間的候補リスト内の複数のMV候補の数よりも小さい。
【特許請求の範囲】
【請求項1】
ビデオ復号のための方法であって、
少なくとも1つのスキャニング・エリア(scanning area)及び少なくとも1つのスキャニング距離(scanning distance)に基づいて、カレント・ブロック(current block)への複数の近接しない近傍ブロック(近接しない近傍ブロック)から1つ以上の動きベクトル(MV)候補を取得することであって、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示す、取得することと、
第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件(termination condition)を決定することであって、前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリアを含む、決定することと、
完結条件が満たされると決定したことに応答して、前記少なくとも1つのスキャニング・エリアをスキャンすることを停止することと、
前記1つ以上のMV候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項2】
前記完結条件は、
前記第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得された前記MV候補の数が予め定められた第1の値に到達すると決定すること、
前記第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得された前記MV候補の数が予め定められた第2の値に到達すると決定すること、又は
前記第1のスキャニング・エリア内の前記第1のスキャニング距離をスキャンすることによって取得された前記MV候補の数が前記予め定められた第1の値に到達し、前記第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得された前記MV候補の数が前記予め定められた第2の値に到達すると決定すること、を含み、
前記予め定められた第1の値は、前記予め定められた第2の値と同一又は異なる、
請求項1に記載の方法。
【請求項3】
前記完結条件は、
前記少なくとも1つのスキャニング距離の各々をスキャンすることによって取得されたMV候補の数が予め定められた値に到達すると決定することを含み、前記少なくとも1つのスキャニング距離の各々についての予め定められた値は、同一又は異なり、
前記方法は、
前記第1のスキャニング・エリアから取得された前記MV候補の数が予め定められた最大値に到達するまで、前記完結条件に基づいて、前記少なくとも1つのスキャニング距離における前記第1のスキャニング・エリアをスキャンすることを更に含む、
請求項1に記載の方法。
【請求項4】
前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリア及び第2のスキャニング・エリアを含み、前記第1のスキャニング・エリアは、複数の第1のスキャニング距離を使用してスキャンされ、前記第2のスキャニング・エリアは、複数の第2のスキャニング距離を使用してスキャンされ、
前記完結条件は、
前記第1のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定すること、又は
前記第2のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が予め定められた第3の値に到達すると決定すること、を含み、前記予め定められた第2の値は、前記予め定められた第3の値と同一又は異なり、
前記方法は、
前記第1のスキャニング・エリア及び前記第2のエリアをスキャンすることによって取得された前記MV候補の数が予め定められた最大値に到達するまで、前記完結条件に基づいて、前記複数の第1のスキャニング距離における前記第1のスキャニング・エリアをスキャンし、前記複数の第2のスキャニング距離における前記第2のスキャニング・エリアをスキャンすることを更に含む、
請求項1に記載の方法。
【請求項5】
ビデオ復号の方法であって、
カレント・ブロックの1つ以上の第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得することと、
前記カレント・ブロックの前記1つ以上の第1の近傍ブロック及び/又は1つ以上の第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、を含み、
前記1つ以上の第1の近傍ブロック及び前記1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、前記カレント・ブロックへの複数の近傍ブロックから取得され、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示し、
前記1つ以上の第1の近傍ブロック及び前記1つ以上の第2の近傍ブロックは、前記少なくとも1つのスキャニング距離における前記少なくとも1つのスキャニング・エリアを排他的にスキャンすることによって取得される、
方法。
【請求項6】
前記少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア、第2のスキャニング・エリア、及び第3のスキャニング・エリアを含み、
前記第1のスキャニング・エリアは、前記カレント・ブロックの左側から離れるブロックの最大数を示す第1の最大スキャニング距離に従って決定され、
前記第2のスキャニング・エリアは、前記カレント・ブロックの最上側から離れるブロックの最大数を示す第2の最大スキャニング距離に従って決定され、前記第1の最大スキャニング距離は、前記第2の最大スキャニング距離と同一又は異なり、
前記第3のスキャニング・エリアは、前記カレント・ブロックの右下に位置し、前記カレント・ブロックへの近接するエリア及び近接しないエリアを含む、
請求項5に記載の方法。
【請求項7】
前記第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを取得することと、
前記1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンしないと決定することと、
を更に含む、請求項6に記載の方法。
【請求項8】
前記第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを取得することと、
前記1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンすると決定することと、
前記1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されないと決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンしないと決定することと、
を更に含む、請求項6に記載の方法。
【請求項9】
前記1つ以上の第1の近傍ブロックは、予め定められた第1の数の第1の近傍ブロックを含み、
前記1つ以上の第2の近傍ブロックは、予め定められた第2の数の第2の近傍ブロックを含み、前記予め定められた第1の数は、予め定められた第2の数と同一又は異なり、
前記方法は、
前記予め定められた第1の数の第1の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記予め定められた第1の数の第1の近傍ブロックが有効であると決定することと、
前記予め定められた第2の数の第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記予め定められた第2の数の第2の近傍ブロックが有効であると決定することと、
を更に含む、請求項5に記載の方法。
【請求項10】
複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから前記1つ以上の第1の近傍ブロックを取得することであって、前記複数の近接する近傍ブロックは、前記カレント・ブロックに近接し、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、取得することと、
前記複数の近接する近傍ブロック及び前記複数の近接しない近傍ブロックから前記1つ以上の第2の近傍ブロックを取得することと、
を更に含む、請求項5に記載の方法。
【請求項11】
前記複数の近接する近傍ブロック及び前記複数の近接しない近傍ブロックからの近傍ブロックの動き情報が、アフィン・マージ又はアドバンスト動きベクトル予測(advanced motion vector prediction)(AMVP)候補を導出するために使用されないと決定したことに応答して、前記近傍ブロックが前記1つ以上の第2の近傍ブロックの1つであると決定することと、
前記第3のスキャニング・エリア内の同一位置にある時間動きベクトル予測(TMVP)候補が利用可能であり、又は前記同一位置にあるTMVP候補が、アフィン・マージ若しくはAMVP候補を導出するために使用されると決定したことに応答して、前記同一位置にあるTMVP候補が前記1つ以上の第2の近傍ブロックの1つであると決定することと、
を更に含む、請求項10に記載の方法。
【請求項12】
座標オフセットを前記1つ以上の第2の近傍ブロックに適用することによって、前記1つ以上の第2の近傍ブロックに対する調節済みポジションを取得することと、
前記1つ以上の第2の近傍ブロックの前記調節済みポジションに基づいて、前記1つ以上の第2のパラメータを取得することと、
を更に含む、請求項5に記載の方法。
【請求項13】
ビデオ復号のための方法であって、
予め定められた順序に従って、1つ以上の候補リストから1つ以上の動きベクトル(MV)候補を取得することであって、前記1つ以上の候補リストは、アフィン・アドバンスト動きベクトル予測(AMVP)候補リスト、正規マージ候補リスト(regular merge candidate list)、及びアフィン・マージ候補リストを含み、前記1つ以上のMV候補は、カレント・ブロックへの複数の近傍ブロックからである、取得することと、
前記1つ以上のMV候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項14】
前記1つ以上のMV候補は、近接する空間的近傍ブロックから継承された1つ以上のMV候補及び近接する空間的近傍ブロックから構築された1つ以上のMV候補、近接する空間的近傍ブロックからの1つ以上の並進MV(Translational MV)候補及び近接する時間的近傍ブロックからの1つ以上の時間的MV候補、並びに近接しない空間的近傍ブロックから継承された1つ以上のMV候補を含み、
前記方法は、
候補リストから、前記近接する空間的近傍ブロックから継承された前記1つ以上のMV候補の後の前記近接する空間的近傍ブロックから構築された前記1つ以上のMV候補を取得することと、
前記候補リストから、前記近接する空間的近傍ブロックから構築された前記1つ以上のMV候補の後の前記近接する空間的近傍ブロックからの前記1つ以上の並進MV候補を取得することと、
前記候補リストから、前記近接する空間的近傍ブロックからの前記1つ以上の並進MV候補の後の前記近接する時間的近傍ブロックからの前記1つ以上の時間的MV候補を取得することと、
前記候補リストから、前記近接する時間的近傍ブロックからの前記1つ以上の時間的MV候補の後の前記近接しない空間的近傍ブロックから継承された前記1つ以上のMV候補を取得することと、
を更に含む、請求項13に記載の方法。
【請求項15】
前記1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(subblock-based temporal motion vector prediction)(SbTMVP)候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された1つ以上のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み、
前記方法は、
候補リストから、前記SbTMVP候補の後の近接する近傍ブロックから継承された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接する近傍ブロックから継承された前記1つ以上のMV候補の後の近接しない近傍ブロックから継承された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接しない近傍ブロックから継承された前記1つ以上のMV候補の後の近接する近傍ブロックから構築された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接する近傍ブロックから構築された前記1つ以上のMV候補の後の近接しない近傍ブロックから構築された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接しない近傍ブロックから構築された前記1つ以上のMV候補の後の継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記1つ以上のMV候補を取得することと、
を更に含む、請求項13に記載の方法。
【請求項16】
前記1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された第1のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに第1の数のMV候補及び第2の数のMV候補を含む、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み、
候補リストから、前記SbTMVP候補の後の近接する近傍ブロックから継承された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接する近傍ブロックから継承された前記1つ以上のMV候補の後の近接しない近傍ブロックから継承された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接しない近傍ブロックから継承された前記1つ以上のMV候補の後の近接する近傍ブロックから構築された前記第1のMV候補を取得することと、
前記候補リストから、近接する近傍ブロックから構築された前記第1のMV候補の後の継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記第1の数のMV候補を取得することと、
前記候補リストから、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記第1の数のMV候補の後の近接しない近傍ブロックから構築された前記1つ以上のMV候補を取得することと、
前記候補リストから、近接しない近傍ブロックから構築された前記1つ以上のMV候補の後の前記第2の数のMV候補を取得することと、
を更に含む、請求項13に記載の方法。
【請求項17】
前記第1の数及び前記第2の数は、以下の方式:
第1の固定値として前記第1の数を事前定義すること、
第2の固定値として前記第2の数を事前定義することであって、前記第1の固定値は、前記第2の固定値と同一若しくは異なる、事前定義すること、
いずれかのレベルにおいてシグナリングされた、デコーダによって前記第1の数若しくは前記第2の数を受信すること、
前記デコーダ若しくはエンコーダによって前記第1の数若しくは前記第2の数を構成すること、又は
前記カレント・ブロックの左のエリア及び最上のエリア内の利用可能な近傍ブロックの数に従って、前記第1の数及び前記第2の数を動的に決定すること、
のうちの少なくとも1つにおいて決定される、請求項16に記載の方法。
【請求項18】
ビデオ復号のための方法であって、
第1のリスト・サイズを有する時間的候補リストを取得することであって、前記第1のリスト・サイズは、アフィン・マージ候補リスト、アドバンスト動きベクトル予測(AMVP)候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、前記時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数の動きベクトル(MV)候補を含む、取得することと、
再順序付けされた前記複数のMV候補に基づいて、前記時間的候補リストから第1の数のMV候補を取得することであって、前記第1の数は、前記時間的候補リスト内の前記複数のMV候補の数よりも少ない、取得することと、
を含む、方法。
【請求項19】
前記時間的候補は、対応する既存の候補リストに対して作成され、前記対応する既存の候補リストは、前記アフィン・マージ候補リスト、前記AMVP候補リスト、又は前記正規マージ候補リストを含む、請求項18に記載の方法。
【請求項20】
前記時間的候補リスト内の前記複数のMV候補、及び/又は1つ以上の既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付け(adaptive reordering)を適用することを更に含む、請求項18に記載の方法。
【請求項21】
前記時間的候補リストが1つの既存の候補リストに対して作成されると決定したことに応答して、前記時間的候補リスト内の前記複数のMV候補及び/又は前記対応する既存の候補リスト内の前記1つ以上のMV候補に対して適応的再順序付けを適用することと、
時間的候補リストが1つの既存の候補リストに対して作成されないと決定したことに応答して、前記対応する既存の候補リスト内の前記1つ以上のMV候補に対して適応的再順序付けを適用することと、
を更に含む、請求項20に記載の方法。
【請求項22】
前記第1の数のMV候補は、前記カレント・ブロックのテンプレートの予測サンプルと対応する参照サンプルとの間のテンプレート・マッチング(TM)コストに基づいて適応的に再順序付けされた前記複数のMV候補から取得され、
前記方法は、
分数動き情報が前記カレント・ブロックに対して使用されると決定したことに応答して、前記予測サンプルを生成するために、予め定められたタップ数よりも少ないタップ数を有する補間フィルタを使用すること、又は
前記分数動き情報が前記カレント・ブロックに対して使用されると決定したことに応答して、最も近い整数サンプルに基づいて、前記予測サンプルを補間フィルタリングすること及び生成することをスキップすること、
を更に含む、請求項20に記載の方法。
【請求項23】
前記対応する参照サンプルが分数ポジションに位置すると決定したことに応答して、前記対応する参照サンプルに補間フィルタリングを適用することを更に含む、請求項21に記載の方法。
【請求項24】
前記TMコストから1つ以上のビットを除去することによって、前記TMコストを調節することを更に含む、請求項21に記載の方法。
【請求項25】
前記時間的候補リストが1つよりも多いゼロMV(zero MV)候補を含むと決定したことに応答して、前記時間的候補リスト及び/又は対応する既存の候補リストの最後に、最初のゼロMV候補を除く前記ゼロMV候補を配置するように、前記時間的候補リスト内の前記最初のゼロMV候補を除く前記ゼロMV候補に予め定められた固定値を割り当てることであって、前記予め定められた固定値は、閾値よりも大きい、割り当てること、又は
既存の候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、前記既存の候補リストの最後に、前記最初のゼロMV候補を除く前記ゼロ候補を配置するように、前記既存の候補リスト内の前記最初のゼロMV候補を除くゼロMV候補に前記予め定められた固定値を割り当てること、
を更に含む、請求項18に記載の方法。
【請求項26】
前記時間的候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、前記時間的候補及び/又は対応する既存の候補リストの最後に、全ての前記少なくとも1つのゼロMV候補を配置するように、前記少なくとも1つのゼロMV候補に予め定められた固定値を割り当てることであって、前記予め定められた固定値は、閾値よりも大きい、割り当てること、又は
既存の候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、前記既存の候補リストの最後に、全ての前記少なくとも1つのゼロMV候補を配置するように、前記少なくとも1つのゼロMV候補に前記予め定められた固定値を割り当てること、
を更に含む、請求項18に記載の方法。
【請求項27】
1つのMV候補又は1つのタイプのMV候補が前記適応的再順序付けに参加されないと決定したことに応答して、前記時間的候補リスト及び/又は対応する既存の候補リスト内の残りのMV候補に対して前記適応的再順序付けを適用することをスキップすることを更に含む、請求項20に記載の方法。
【請求項28】
1つのMV候補又は1つのタイプのMV候補が前記適応的再順序付けに参加されないと決定したことに応答して、前記MV候補若しくは前記MV候補のタイプを導出することをスキップし、及び/又は前記MV候補若しくは前記MV候補のタイプに対して前記適応的再順序付けを適用することをスキップすることを更に含む、請求項20に記載の方法。
【請求項29】
前記MV候補又は前記MV候補のタイプの候補コンテンツが無効であり、前記時間的候補リスト内の前記MV候補又は前記MV候補のタイプの1つ以上のポジションが残るように、前記MV候補又は前記MV候補のタイプを導出することをスキップすることと、
前記MV候補又は前記MV候補のタイプについての前記TMコストを計算することをスキップすることと、
を更に含む、請求項28に記載の方法。
【請求項30】
ビデオ符号化のための方法であって、
少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の動きベクトル(MV)候補を決定することであって、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示す、決定することと、
第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定することであって、前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリアを含む、決定することと、
完結条件が満たされると決定したことに応答して、前記少なくとも1つのスキャニング・エリアをスキャンすることを停止することと、
前記1つ以上のMV候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を決定することと、
を含む、方法。
【請求項31】
前記第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得された前記MV候補の数が予め定められた第1の値に到達すると決定すること、
前記第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得された前記MV候補の数が予め定められた第2の値に到達すると決定すること、又は
前記第1のスキャニング・エリア内の前記第1のスキャニング距離をスキャンすることによって取得された前記MV候補の数が前記予め定められた第1の値に到達し、前記第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得された前記MV候補の数が前記予め定められた第2の値に到達すると決定すること、を更に含み、
前記予め定められた第1の値は、前記予め定められた第2の値と同一又は異なる、
請求項30に記載の方法。
【請求項32】
前記完結条件は、
前記少なくとも1つのスキャニング距離の各々をスキャンすることによって取得されたMV候補の数が予め定められた値に到達すると決定することを含み、前記少なくとも1つのスキャニング距離の各々についての予め定められた値は、同一又は異なり、
前記方法は、
前記第1のスキャニング・エリアから取得された前記MV候補の数が予め定められた最大値に到達するまで、前記完結条件に基づいて、前記少なくとも1つのスキャニング距離における前記第1のスキャニング・エリアをスキャンすることを更に含む、
請求項30に記載の方法。
【請求項33】
前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリア及び第2のスキャニング・エリアを含み、前記第1のスキャニング・エリアは、複数の第1のスキャニング距離を使用してスキャンされ、前記第2のスキャニング・エリアは、複数の第2のスキャニング距離を使用してスキャンされ、
前記完結条件は、
前記第1のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定すること、又は
前記第2のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が予め定められた第3の値に到達すると決定すること、を含み、前記予め定められた第2の値は、前記予め定められた第3の値と同一又は異なり、
前記方法は、
前記第1のスキャニング・エリア及び前記第2のエリアをスキャンすることによって取得された前記MV候補の数が予め定められた最大値に到達するまで、前記完結条件に基づいて、前記複数の第1のスキャニング距離における前記第1のスキャニング・エリアをスキャンし、前記複数の第2のスキャニング距離における前記第2のスキャニング・エリアをスキャンすることを更に含む、
請求項30に記載の方法。
【請求項34】
ビデオ符号化のための方法であって、
カレント・ブロックの1つ以上の第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定することと、
前記カレント・ブロックの前記1つ以上の第1の近傍ブロック及び/又は1つ以上の第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定することと、
前記1つ以上の第1のパラメータ及び前記1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、
前記1つ以上のアフィン・モデルに基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(CPMV)を決定することと、を含み、
前記1つ以上の第1の近傍ブロック及び前記1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、前記カレント・ブロックへの複数の近傍ブロックから決定され、前記少なくとも1つのスキャニング距離の1つは、前記カレント・ブロックの1つの側から離れるブロックの数を示し、
前記1つ以上の第1の近傍ブロック及び前記1つ以上の第2の近傍ブロックは、前記少なくとも1つのスキャニング距離における前記少なくとも1つのスキャニング・エリアを排他的にスキャンすることによって決定される、
方法。
【請求項35】
前記少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア、第2のスキャニング・エリア、及び第3のスキャニング・エリアを含み、
前記第1のスキャニング・エリアは、前記カレント・ブロックの左側から離れるブロックの最大数を示す第1の最大スキャニング距離に従って決定され、
前記第2のスキャニング・エリアは、前記カレント・ブロックの最上側から離れるブロックの最大数を示す第2の最大スキャニング距離に従って決定され、前記第1の最大スキャニング距離は、前記第2の最大スキャニング距離と同一又は異なり、
前記第3のスキャニング・エリアは、前記カレント・ブロックの右下に位置し、前記カレント・ブロックへの近接するエリア及び近接しないエリアを含む、
請求項34に記載の方法。
【請求項36】
前記第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを決定することと、
前記1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンしないと決定することと、
を更に含む、請求項35に記載の方法。
【請求項37】
前記第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを決定することと、
前記1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンすると決定することと、
前記1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されないと決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンしないと決定することと、
を更に含む、請求項35に記載の方法。
【請求項38】
前記1つ以上の第1の近傍ブロックは、予め定められた第1の数の第1の近傍ブロックを含み、
前記1つ以上の第2の近傍ブロックは、予め定められた第2の数の第2の近傍ブロックを含み、前記予め定められた第1の数は、予め定められた第2の数と同一又は異なり、
前記方法は、
前記予め定められた第1の数の第1の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記予め定められた第1の数の第1の近傍ブロックが有効であると決定することと、
前記予め定められた第2の数の第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記予め定められた第2の数の第2の近傍ブロックが有効であると決定することと、
を更に含む、請求項34に記載の方法。
【請求項39】
複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから前記1つ以上の第1の近傍ブロックを決定することであって、前記複数の近接する近傍ブロックは、前記カレント・ブロックに近接し、前記複数の近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、決定することと、
前記複数の近接する近傍ブロック及び前記複数の近接しない近傍ブロックから前記1つ以上の第2の近傍ブロックを決定することと、
を更に含む、請求項34に記載の方法。
【請求項40】
前記複数の近接する近傍ブロック及び前記複数の近接しない近傍ブロックからの近傍ブロックの動き情報が、アフィン・マージ又はアドバンスト動きベクトル予測(AMVP)候補を導出するために使用されないと決定したことに応答して、前記近傍ブロックが前記1つ以上の第2の近傍ブロックの1つであると決定することと、
前記第3のスキャニング・エリア内の同一位置にある時間動きベクトル予測(TMVP)候補が利用可能であり、又は前記同一位置にあるTMVP候補が、アフィン・マージ若しくはAMVP候補を導出するために使用されると決定したことに応答して、前記同一位置にあるTMVP候補が前記1つ以上の第2の近傍ブロックの1つであると決定することと、
を更に含む、請求項39に記載の方法。
【請求項41】
座標オフセットを前記1つ以上の第2の近傍ブロックに適用することによって、前記1つ以上の第2の近傍ブロックに対する調節済みポジションを取得することと、
前記1つ以上の第2の近傍ブロックの前記調節済みポジションに基づいて、前記1つ以上の第2のパラメータを決定することと、
を更に含む、請求項34に記載の方法。
【請求項42】
ビデオ符号化のための方法であって、
予め定められた順序に従って、1つ以上の候補リストから1つ以上の動きベクトル(MV)候補を決定することであって、前記1つ以上の候補リストは、アフィン・アドバンスト動きベクトル予測(AMVP)候補リスト、正規マージ候補リスト、及びアフィン・マージ候補リストを含み、前記1つ以上のMV候補は、カレント・ブロックへの複数の近傍ブロックからである、決定することと、
前記1つ以上のMV候補に基づいて、前記カレント・ブロックに対する1つ以上の制御点動きベクトル(control point motion vector)(CPMV)を決定することと、
を含む、方法。
【請求項43】
前記1つ以上のMV候補は、近接する空間的近傍ブロックから継承された1つ以上のMV候補及び近接する空間的近傍ブロックから構築された1つ以上のMV候補、近接する空間的近傍ブロックからの1つ以上の並進MV候補及び近接する時間的近傍ブロックからの1つ以上の時間的MV候補、並びに近接しない空間的近傍ブロックから継承された1つ以上のMV候補を含み、
前記方法は、
候補リストに、前記近接する空間的近傍ブロックから継承された前記1つ以上のMV候補の後の前記近接する空間的近傍ブロックから構築された前記1つ以上のMV候補を挿入することと、
前記候補リストに、前記近接する空間的近傍ブロックから構築された前記1つ以上のMV候補の後の前記近接する空間的近傍ブロックからの前記1つ以上の並進MV候補を挿入することと、
前記候補リストに、前記近接する空間的近傍ブロックからの前記1つ以上の並進MV候補の後の前記近接する時間的近傍ブロックからの前記1つ以上の時間的MV候補を挿入することと、
前記候補リストに、前記近接する時間的近傍ブロックからの前記1つ以上の時間的MV候補の後の前記近接しない空間的近傍ブロックから継承された前記1つ以上のMV候補を挿入することと、
前記候補リストがフルでないと決定したことに応答して、前記候補リストに、前記近接しない空間的近傍ブロックから継承された前記1つ以上のMV候補の後の1つ以上のゼロMV候補を挿入することと、
を更に含む、請求項42に記載の方法。
【請求項44】
前記1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された1つ以上のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み、
前記方法は、
候補リストに、前記SbTMVP候補の後の近接する近傍ブロックから継承された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接する近傍ブロックから継承された前記1つ以上のMV候補の後に、近接しない近傍ブロックから継承された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接しない近傍ブロックから継承された前記1つ以上のMV候補の後に、近接する近傍ブロックから構築された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接する近傍ブロックから構築された前記1つ以上のMV候補の後に、近接しない近傍ブロックから構築された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接しない近傍ブロックから構築された前記1つ以上のMV候補の後に、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記1つ以上のMV候補を挿入することと、
前記候補リストがフルでないと決定したことに応答して、前記候補リストに、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記1つ以上のMV候補の後に、1つ以上のゼロMV候補を挿入することと、
を更に含む、請求項42に記載の方法。
【請求項45】
前記1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された第1のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに第1の数のMV候補及び第2の数のMV候補を含む、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み、
候補リストに、前記SbTMVP候補の後に、近接する近傍ブロックから継承された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接する近傍ブロックから継承された前記1つ以上のMV候補の後に、近接しない近傍ブロックから継承された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接しない近傍ブロックから継承された前記1つ以上のMV候補の後に、近接する近傍ブロックから構築された前記第1のMV候補を挿入することと、
前記候補リストに、近接する近傍ブロックから構築された前記第1のMV候補の後に、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記第1の数のMV候補を挿入することと、
前記候補リストに、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された前記第1の数のMV候補の後に、近接しない近傍ブロックから構築された前記1つ以上のMV候補を挿入することと、
前記候補リストに、近接しない近傍ブロックから構築された前記1つ以上のMV候補の後に、前記第2の数のMV候補を挿入することと、
前記候補リストがフルでないと決定したことに応答して、前記候補リストに、前記第2の数のMV候補の後に、1つ以上のゼロMV候補を挿入することと、
を更に含む、請求項42に記載の方法。
【請求項46】
前記第1の数及び前記第2の数は、以下の方式:
第1の固定値として前記第1の数を事前定義すること、
第2の固定値として前記第2の数を事前定義することであって、前記第1の固定値は、前記第2の固定値と同一若しくは異なる、事前定義すること、
いずれかのレベルにおいて、前記第1の数若しくは前記第2の数をデコーダにシグナリングすること、
前記デコーダ若しくはエンコーダによって前記第1の数又は前記第2の数を構成すること、又は
前記カレント・ブロックの左のエリア及び最上のエリア内の利用可能な近傍ブロックの数に従って、前記第1の数及び前記第2の数を動的に決定すること、
のうちの少なくとも1つにおいて決定される、請求項45に記載の方法。
【請求項47】
ビデオ符号化のための方法であって、
第1のリスト・サイズを有する時間的候補リストを決定することであって、前記第1のリスト・サイズは、アフィン・マージ候補リスト、アドバンスト動きベクトル予測(AMVP)候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、前記時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数の動きベクトル(MV)候補を含む、決定することと、
再順序付けされた前記複数のMV候補に基づいて、前記時間的候補リストから第1の数のMV候補を決定することであって、前記第1の数は、前記時間的候補リスト内の前記複数のMV候補の数よりも少ない、決定することと、
を含む、方法。
【請求項48】
前記時間的候補は、対応する既存の候補リストに対して作成され、前記対応する既存の候補リストは、前記アフィン・マージ候補リスト、前記AMVP候補リスト、又は前記正規マージ候補リストを含む、請求項47に記載の方法。
【請求項49】
前記時間的候補リスト内の前記複数のMV候補、及び/又は1つ以上の既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用することを更に含む、請求項47に記載の方法。
【請求項50】
前記時間的候補リストが1つの既存の候補リストに対して作成されると決定したことに応答して、前記時間的候補リスト内の前記複数のMV候補及び/又は前記対応する既存の候補リスト内の前記1つ以上のMV候補に対して適応的再順序付けを適用することと、
時間的候補リストが1つの既存の候補リストに対して作成されないと決定したことに応答して、前記対応する既存の候補リスト内の前記1つ以上のMV候補に対して適応的再順序付けを適用することと、
を更に含む、請求項49に記載の方法。
【請求項51】
前記第1の数のMV候補は、前記カレント・ブロックのテンプレートの予測サンプルと対応する参照サンプルとの間のテンプレート・マッチング(TM)コストに基づいて適応的に再順序付けされた前記複数のMV候補から取得され、
前記方法は、
分数動き情報が前記カレント・ブロックに対して使用されると決定したことに応答して、前記予測サンプルを生成するために、予め定められたタップ数よりも少ないタップ数を有する補間フィルタを使用すること、又は
前記分数動き情報が前記カレント・ブロックに対して使用されると決定したことに応答して、最も近い整数サンプルに基づいて、前記予測サンプルを補間フィルタリングすること及び生成することをスキップすること、
を更に含む、請求項49に記載の方法。
【請求項52】
前記対応する参照サンプルが分数ポジションに位置すると決定したことに応答して、前記対応する参照サンプルに補間フィルタリングを適用することを更に含む、請求項51に記載の方法。
【請求項53】
前記TMコストから1つ以上のビットを除去することによって、前記TMコストを調節することを更に含む、請求項51に記載の方法。
【請求項54】
前記時間的候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、前記時間的候補リスト及び/又は対応する既存の候補リストの最後に、最初のゼロMV候補を除く前記ゼロMV候補を配置するように、前記時間的候補リスト内の前記最初のゼロMV候補を除く前記ゼロMV候補に予め定められた固定値を割り当てることであって、前記予め定められた固定値は、閾値よりも大きい、割り当てること、又は
既存の候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、前記既存の候補リストの最後に、前記最初のゼロMV候補を除く前記ゼロ候補を配置するように、前記既存の候補リスト内の前記最初のゼロMV候補を除くゼロMV候補に前記予め定められた固定値を割り当てること、
を更に含む、請求項47に記載の方法。
【請求項55】
前記時間的候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、前記時間的候補及び/又は対応する既存の候補リストの最後に、全ての前記少なくとも1つのゼロMV候補を配置するように、前記少なくとも1つのゼロMV候補に予め定められた固定値を割り当てることであって、前記予め定められた固定値は、閾値よりも大きい、割り当てること、又は
既存の候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、前記既存の候補リストの最後に、全ての前記少なくとも1つのゼロMV候補を配置するように、前記少なくとも1つのゼロMV候補に前記予め定められた固定値を割り当てること、
を更に含む、請求項47に記載の方法。
【請求項56】
1つのMV候補又は1つのタイプのMV候補が前記適応的再順序付けに参加されないと決定したことに応答して、前記時間的候補リスト及び/又は対応する既存の候補リスト内の残りのMV候補に対して前記適応的再順序付けを適用することをスキップすることを更に含む、請求項49に記載の方法。
【請求項57】
1つのMV候補又は1つのタイプのMV候補が前記適応的再順序付けに参加されないと決定したことに応答して、前記MV候補若しくは前記MV候補のタイプを導出することをスキップし、及び/又は前記MV候補若しくは前記MV候補のタイプに対して前記適応的再順序付けを適用することをスキップすることを更に含む、請求項49に記載の方法。
【請求項58】
前記MV候補又は前記MV候補のタイプの候補コンテンツが無効であり、前記時間的候補リスト内の前記MV候補又は前記MV候補のタイプの1つ以上のポジションが残るように、前記MV候補又は前記MV候補のタイプを導出することをスキップすることと、
前記MV候補又は前記MV候補のタイプについての前記TMコストを計算することをスキップすることと、
を更に含む、請求項57に記載の方法。
【請求項59】
ビデオ復号のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項1から29のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項60】
ビデオ符号化のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項30から58のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項61】
コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、前記1つ以上のコンピュータ・プロセッサに、ビットストリームを受信させ、前記ビットストリームに基づいて請求項1から29のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項62】
コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、前記1つ以上のコンピュータ・プロセッサに、カレント・ビデオ・ブロックをビットストリームに符号化し、前記ビットストリームを伝送するように、請求項30から58のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、全ての目的のために参照によってその全体が組み込まれる、2021年12月16日に出願された「Methods and Devices for Candidate Derivation for Affine Merge Mode in Video Coding」と題する、米国仮特許出願第63/290,638号に対して出願され、米国仮特許出願第63/290,638号に対する優先権を主張する。
【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の態様によれば、ビデオ復号の方法が提供される。方法は、少なくとも1つのスキャニング・エリア(scanning area)及び少なくとも1つのスキャニング距離(scanning distance)に基づいて、カレント・ブロック(current block)への複数の近接しない近傍ブロック(non-adjacent neighbor block)から1つ以上の動きベクトル(MV)候補を取得することを含み得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示し得る。更に、方法は、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件(termination condition)を決定することを含み得、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリアを含み得る。
【0007】
その上、方法は、完結条件が満たされると決定したことに応答して、少なくとも1つのスキャニング・エリアをスキャンすることを停止することと、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上の制御点動きベクトル(control point motion vector)(CPMV)を取得することと、を含み得る。
【0008】
本開示の第2の態様によれば、ビデオ復号の方法が提供される。方法は、カレント・ブロックの1つ以上の第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得することと、カレント・ブロックの1つ以上の第1の近傍ブロック及び/又は1つ以上の第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得することと、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することと、を含み得る。更に、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近傍ブロックから取得され得る。その上、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示し得、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング距離における少なくとも1つのスキャニング・エリアを排他的にスキャンすることによって取得され得る。
【0009】
本開示の第3の態様によれば、ビデオ復号の方法が提供される。方法は、予め定められた順序に従って、1つ以上の候補リストから1つ以上のMV候補を取得することを含み得、1つ以上の候補リストは、アフィン・アドバンスト動きベクトル予測(advanced motion vector prediction)(AMVP)候補リスト、正規マージ候補リスト(regular merge candidate list)、及びアフィン・マージ候補リストを含み得、1つ以上のMV候補は、カレント・ブロックへの複数の近傍ブロックからであり得る。更に、方法は、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得することを含み得る。
【0010】
本開示の第4の態様によれば、ビデオ復号の方法が提供される。方法は、第1のリスト・サイズを有する時間的候補リストを取得することを含み得、第1のリスト・サイズは、アフィン・マージ候補リスト、AMVP候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数のMV候補を含み得る。更に、方法は、再順序付けされた複数のMV候補に基づいて、時間的候補リストから第1の数のMV候補を取得することを含み得、第1の数は、時間的候補リスト内の複数のMV候補の数よりも少ない。
【0011】
本開示の第5の態様によれば、ビデオ符号化の方法が提供される。方法は、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上のMV候補を決定することを含み得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示し得る。更に、方法は、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定することを含み得、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリアを含み得る。
【0012】
その上、方法は、完結条件が満たされると決定したことに応答して、少なくとも1つのスキャニング・エリアをスキャンすることを停止することと、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを決定することと、を含み得る。
【0013】
本開示の第6の態様によれば、ビデオ符号化の方法が提供される。方法は、カレント・ブロックの1つ以上の第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定することと、カレント・ブロックの1つ以上の第1の近傍ブロック及び/又は1つ以上の第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定することと、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築することと、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを決定することと、を含み得る。更に、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近傍ブロックから決定され得る。その上、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示し得、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング距離における少なくとも1つのスキャニング・エリアを排他的にスキャンすることによって決定され得る。
【0014】
本開示の第7の態様によれば、ビデオ符号化の方法が提供される。方法は、予め定められた順序に従って、1つ以上の候補リストから1つ以上のMV候補を決定することを含み得、1つ以上の候補リストは、AMVP候補リスト、正規マージ候補リスト、及びアフィン・マージ候補リストを含み、1つ以上のMV候補は、カレント・ブロックへの複数の近傍ブロックからであり得る。更に、方法は、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを決定することを含み得る。
【0015】
本開示の第8の態様によれば、ビデオ符号化の方法が提供される。方法は、第1のリスト・サイズを有する時間的候補リストを決定することを含み得、第1のリスト・サイズは、アフィン・マージ候補リスト、AMVP候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数のMV候補を含み得る。更に、方法は、再順序付けされた複数のMV候補に基づいて、時間的候補リストから第1の数のMV候補を決定することを含み得、第1の数は、時間的候補リスト内の複数のMV候補の数よりも少ない。
【0016】
本開示の第9の態様によれば、ビデオ復号のための装置が提供される。装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含む。更に、1つ以上のプロセッサは、命令が実行されると、第1の態様、第2の態様、第3の態様、又は第4の態様に係る方法を実行するように構成される。
【0017】
本開示の第10の態様によれば、ビデオ符号化のための装置が提供される。装置は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含む。更に、1つ以上のプロセッサは、命令が実行されると、第5の態様、第6の態様、第7の態様、又は第8の態様に係る方法を実行するように構成される。
【0018】
本開示の第11の態様によれば、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体が提供され、コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、1つ以上のコンピュータ・プロセッサに、ビットストリームを受信させ、第1の態様、第2の態様、第3の態様、又は第4の態様に係る方法を実行させる。
【0019】
本開示の第12の態様によれば、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体が提供され、コンピュータ実行可能命令は、1つ以上のコンピュータ・プロセッサによって実行されるとき、1つ以上のコンピュータ・プロセッサに、カレント・ブロックをビットストリームに符号化し、ビットストリームを伝送するように、第5の態様、第6の態様、第7の態様、又は第8の態様に係る方法を実行させる。
【0020】
添付図面に例示される特定の実施例を参照することによって、本開示の実施例の更に特定の説明がされる。それらの図面がいくつかの実施例を表すにすぎず、よって、範囲を限定すると考えられないと仮定して、添付図面の使用を通じて、追加の特異性及び詳細と共に、実施例が記載及び説明される。
【図面の簡単な説明】
【0021】
【
図1A】本開示のいくつかの実施例に係る、ビデオ・ブロックを符号化及び復号するシステムを例示するブロック図である。
【
図1B】本開示のいくつかの実施例に係る、エンコーダのブロック図である。
【
図1C】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
【
図1D】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
【
図1E】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
【
図1F】本開示のいくつかの実施例に係る、どのようにしてフレームが異なるサイズ及び形状の複数のビデオ・ブロックに再帰的に区画化されるかを例示するブロック図である。
【
図2】本開示のいくつかの実施例に係る、デコーダのブロック図である。
【
図3A】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
【
図3B】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
【
図3C】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
【
図3D】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
【
図3E】本開示のいくつかの実施例に係る、マルチ・タイプ・ツリー構造内のブロック区画を例示する図である。
【
図4A】本開示のいくつかの実施例に係る、4-パラメータ・アフィン・モデルを例示する図である。
【
図4B】本開示のいくつかの実施例に係る、4-パラメータ・アフィン・モデルを例示する図である。
【
図4C】本開示のいくつかの実施例に係る、空間的マージ候補のポジションを例示する図である。
【
図4D】本開示のいくつかの実施例に係る、空間的マージ候補の冗長性チェックのために考慮される候補ペアを例示する図である。
【
図4E】本開示のいくつかの実施例に係る、時間的マージ候補に対する動きベクトル・スケーリングを例示する図である。
【
図4F】本開示のいくつかの実施例に係る、時間的マージ候補C
0及びC
1に対する候補ポジションを例示する図である。
【
図5】本開示のいくつかの実施例に係る、6-パラメータ・アフィン・モデルを例示する図である。
【
図6】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補に対する近接する近傍ブロックを例示する図である。
【
図7】本開示のいくつかの実施例に係る、構築済みアフィン・マージ候補に対する近接する近傍ブロックを例示する図である。
【
図8】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補に対する近接しない近傍ブロックを例示する図である。
【
図9】本開示のいくつかの実施例に係る、近傍ブロックを使用した構築済みアフィン・マージ候補の導出を例示する図である。
【
図10】本開示のいくつかの実施例に係る、近接しない近傍ブロックの垂直スキャニングを例示する図である。
【
図11】本開示のいくつかの実施例に係る、近接しない近傍ブロックの水平スキャニングを例示する図である。
【
図12】本開示のいくつかの実施例に係る、近接しない近傍ブロックの組み合わせ垂直及び水平スキャニングを例示する図である。
【
図13A】本開示のいくつかの実施例に係る、カレント・ブロックと同一のサイズを有する近傍ブロックを例示する図である。
【
図13B】本開示のいくつかの実施例に係る、カレント・ブロックとは異なるサイズを有する近傍ブロックを例示する図である。
【
図14A】本開示のいくつかの実施例に係る、前の距離内の最も下又は最も右のブロックの左下又は右最上のブロックが現在の距離の最も下又は最も右のブロックとして使用される実施例を例示する図である。
【
図14B】本開示のいくつかの実施例に係る、前の距離内の最も下又は最も右のブロックの左又は最上のブロックが現在の距離の最も下又は最も右のブロックとして使用される実施例を例示する図である。
【
図15A】本開示のいくつかの実施例に係る、上及び左の近接しない近傍ブロックに対して使用される左下及び右最上ポジションにおけるスキャニング・ポジションを例示する図である。
【
図15B】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される右下ポジションにおけるスキャニング・ポジションを例示する図である。
【
図15C】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される左下ポジションにおけるスキャニング・ポジションを例示する図である。
【
図15D】本開示のいくつかの実施例に係る、上及び左の両方の近接しない近傍ブロックに対して使用される右最上ポジションにおけるスキャニング・ポジションを例示する図である。
【
図16】本開示のいくつかの実施例に係る、構築済みマージ候補を導出する簡易化されたスキャニング処理を例示する図である。
【
図17A】本開示のいくつかの実施例に係る、継承済みアフィン・マージ候補を導出する空間的近傍を例示する図である。
【
図17B】本開示のいくつかの実施例に係る、構築済みアフィン・マージ候補を導出する空間的近傍を例示する図である。
【
図18】本開示のいくつかの実施例に係る、アフィン構築済み候補を導出する継承ベース導出方法の実施例を例示する図である。
【
図19】本開示のいくつかの実施例に係る、参照リスト0及び参照リスト1内のテンプレート及びテンプレートの参照サンプルを例示する図である。
【
図20】本開示のいくつかの実施例に係る、カレント・ブロックのサブ・ブロックの動き情報を使用したサブ・ブロック動きを有するブロックに対するテンプレート及びテンプレートの参照サンプルを例示する図である。
【
図21】本開示のいくつかの実施例に係る、ユーザ・インタフェースと結合されたコンピューティング環境を例示する図である。
【
図22】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【
図23】本開示のいくつかの実施例に係る、
図22に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【
図24】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【
図25】本開示のいくつかの実施例に係る、
図24に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【
図26】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【
図27】本開示のいくつかの実施例に係る、
図26に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【
図28】本開示のいくつかの実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【
図29】本開示のいくつかの実施例に係る、
図28に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【発明を実施するための形態】
【0022】
ここで、特定の実装態様に対して参照が詳細に行われ、その実施例は、添付図面に例示される。以下の詳細な説明では、本明細書で提示される主題を理解することを支援するために、多数の非限定的な特定の詳細が示される。しかしながら、様々な代替が使用され得ることが当業者にとって明らかである。例えば、本明細書で提示される主題は、デジタル・ビデオ能力を有する多くのタイプの電子デバイス上で実装され得ることが当業者にとって明らかである。
【0023】
開示において使用される用語は、特定の実施形態を説明する目的のためにのみ採用され、開示を限定することが意図されない。開示及び添付の特許請求の範囲における単数形の「a/an」、「said」、及び「the」は、開示の全体を通じて他の意味が明白に表されない限り、複数形をも含むことが意図される。また、開示において使用される用語「and/or」は、表記される複数の関連する項目の1つ又はいずれか又は全ての可能な組み合わせを指し、それらを含むことが理解されることになる。
【0024】
本明細書の全体を通じての「1つの実施形態(one embodiment)」、「実施形態(an embodiment)」、「実施例(an example)」、「いくつかの実施形態(some embodiments)」、「いくつかの実施例(some examples)」、又は類似の言語に対する言及は、説明される特定の特徴、構造、又は特性が少なくとも1つの実施形態又は実施例に含まれることを意味する。1つの又はいくつかの実施形態に関連して説明される特徴、構造、要素、又は特性は、他に明確に指定されない限り、他の実施形態にも適用可能である。
【0025】
開示の全体を通じて、用語「第1の(first)」、「第2の(second)」、「第3の(third)」などは全て、いずれの空間的又は年代順序において暗示することなく、他に明確に指定されない限り、関連する要素、例えば、デバイス、構成要素、組成物、ステップなどへの参照のための命名法としてのみ使用される。例えば、「第1のデバイス」及び「第2のデバイス」は、2つの別個に形成されたデバイス、又は2つの部品、構成要素、又は同一のデバイスの動作状態を指し得、任意に命名され得る。
【0026】
用語「モジュール」、「サブモジュール」、「回路(circuit)」、「サブ回路(sub-circuit)」、「回路(circuitry)」、「サブ回路(sub-circuitry)」、「ユニット」、又は「サブ・ユニット」は、1つ以上のプロセッサによって実行され得るコード又は命令を記憶するメモリ(共有、専用、又はグループ)を含み得る。モジュールは、記憶されたコード若しくは命令を有し、若しくは記憶されたコード若しくは命令を有さない1つ以上の回路を含み得る。モジュール又は回路は、直接又は間接的に接続された1つ以上の構成要素を含み得る。それらの構成要素は、相互に近傍して物理的に取り付けられ得若しくは位置し得、又は物理的に取り付けられ得ず若しくは位置し得ない。
【0027】
本明細書で使用されるように、用語「if」又は「when」は、コンテキストに応じて、「upon」又は「in response to」を意味すると理解され得る。それらの用語は、請求項に現れる場合、関連する限定又は特徴が条件付きであり又は任意選択であることを示し得ない。例えば、方法は、i)条件Xが存在するとき又は存在する場合、関数又はアクションX’が実行され、ii)条件Yが存在するとき又は存在する場合、関数又はアクションY’が実行される、ステップを含み得る。方法は、関数又はアクションX’を実行する能力、及び関数又はアクションY’を実行する能力の両方により実装され得る。よって、関数X’及びY’は両方、異なるときに、方法の複数の実行に対して実行され得る。
【0028】
ユニット又はモジュールは、純粋にソフトウェアによって、純粋にハードウェアによって、又はハードウェア及びソフトウェアの組み合わせによって実装され得る。純粋なソフトウェア実装態様では、例えば、ユニット又はモジュールは、特定の関数を実行するように、直接又は間接的に共にリンク付けられる、機能的に関連するコード・ブロック又はソフトウェア構成要素を含み得る。
【0029】
図1Aは、本開示のいくつかの実装態様に係る、並列してビデオ・ブロックを符号化及び復号する例示的なシステム10を例示するブロック図である。
図1Aに示されるように、システム10は、デスティネーション・デバイス14によって後に復号されることになるビデオ・データを生成及び符号化するソース・デバイス12を含む。ソース・デバイス12及びデスティネーション・デバイス14は、デスクトップ又はラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、セット・トップ・ボックス、デジタル・テレビ、カメラ、ディスプレイ・デバイス、デジタル・メディア・プレイヤ、ビデオ・ゲーミング・コンソール、又はビデオ・ストリーミング・デバイスなどを含む、多種多様な電子デバイスのいずれかを含み得る。いくつかの実装態様では、ソース・デバイス12及びデスティネーション・デバイス14は、無線通信能力が備えられる。
【0030】
いくつかの実装態様では、デスティネーション・デバイス14は、リンク16を介して、復号されることになる符号化済みビデオ・データを受信し得る。リンク16は、ソース・デバイス12からデスティネーション・デバイス14に符号化済みビデオ・データを移動させる能力を有するいずれかのタイプの通信媒体又はデバイスを含み得る。1つの実施例では、リンク16は、ソース・デバイス12がデスティネーション・デバイス14に符号化済みビデオ・データを直接リアルタイムで伝送することを有効にするための通信媒体を含み得る。符号化済みビデオ・データは、無線通信プロトコルなどの通信標準規格に従って変調され得、デスティネーション・デバイス14に伝送され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理伝送ラインなど、いずれかの無線又は有線通信媒体を含み得る。通信媒体は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットなどのグローバル・ネットワークなど、パケット・ベース・ネットワークの一部を形成し得る。通信媒体は、ソース・デバイス12からデスティネーション・デバイス14への通信を促進するために有益であり得るルータ、スイッチ、基地局、又はいずれかの他の機器を含み得る。
【0031】
いくつかの他の実装態様では、符号化済みビデオ・データは、出力インタフェース22から記憶装置32に伝送され得る。その後、記憶装置32内の符号化済みビデオ・データは、入力インタフェース28を介してデスティネーション・デバイス14によってアクセスされ得る。記憶装置32は、ハード・ドライブ、ブルーレイ・ディスク、デジタル多用途ディスク(DVD)、コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、フラッシュ・メモリ、揮発性若しくは不揮発性メモリ、又は符号化済みビデオ・データを記憶するためのいずれかの他の適切なデジタル記憶媒体など、様々な分散型(distributed)又は局所(locally)アクセス型のデータ記憶媒体のいずれかを含み得る。更なる実施例では、記憶装置32は、ソース・デバイス12によって生成された符号化済みビデオ・データを保持し得るファイル・サーバ又は別の中間記憶装置に対応し得る。デスティネーション・デバイス14は、ストリーミング又はダウンローディングを介して、記憶装置32から記憶済みビデオ・データにアクセスし得る。ファイル・サーバは、符号化済みビデオ・データを記憶し、デスティネーション・デバイス14に符号化済みビデオ・データを伝送する能力を有するいずれかのタイプのコンピュータであり得る。例示的なファイル・サーバは、ウェブ・サーバ(例えば、ウェブサイトのための)、ファイル転送プロトコル(FTP)サーバ、ネットワーク・アタッチド・ストレージ(NAS)デバイス、又はローカル・ディスク・ドライブを含む。デスティネーション・デバイス14は、無線チャネル(例えば、ワイヤレス・フィデリティ(Wi-Fi)接続)、有線接続(例えば、デジタル・サブスクライバ・ライン(DSL)、ケーブル・モデムなど)、又はファイル・サーバに記憶された符号化済みビデオ・データにアクセスするために適切である両方の組み合わせを含む、いずれかの標準規格データ接続を通じて符号化済みビデオ・データにアクセスし得る。記憶装置32からの符号化済みビデオ・データの伝送は、ストリーミング伝送、ダウンロード伝送、又は両方の組み合わせであり得る。
【0032】
図1Aに示されるように、ソース・デバイス12は、ビデオ・ソース18、ビデオ・エンコーダ20、及び出力インタフェース22を含む。ビデオ・ソース18は、ビデオ補足デバイス、例えば、ビデオ・カメラ、前に捕捉されたビデオを包含するビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダからビデオを受信するためのビデオ・フィーディング・インタフェース、及び/若しくはソース・ビデオとしてコンピュータ・グラフィック・データを生成するためのコンピュータ・グラフィック・システム、又はそのようなソースの組み合わせなどのソースを含み得る。1つの実施例として、ビデオ・ソース18がセキュリティ監視システムのビデオ・カメラである場合、ソース・デバイス12及びデスティネーション・デバイス14は、カメラ電話又はビデオ電話を形成し得る。しかしながら、本出願において説明される実装態様は、ビデオ・コーディングに全体的に適用可能であり得、無線及び/又は有線用途に適用され得る。
【0033】
補足され、事前に捕捉され、又はコンピュータにより生成されたビデオは、ビデオ・エンコーダ20によって符号化され得る。符号化済みビデオ・データは、ソース・デバイス12の出力インタフェース22を介してデスティネーション・デバイス14に直接伝送され得る。符号化済みビデオ・データはまた(又は、その代わりに)、デスティネーション・デバイス14又は他のデバイスによる後のアクセスのために、復号及び/又は再生のために、記憶装置32に記憶され得る。出力インタフェース22は更に、モデム及び/又は送信機を含み得る。
【0034】
デスティネーション・デバイス14は、入力インタフェース28、ビデオ・デコーダ30、及びディスプレイ・デバイスを含む。入力インタフェース28は、受信機及び/又はモデムを含み得、リンク16を通じて符号化済みビデオ・データを受信し得る。リンク16に通信され、記憶装置32上で提供される符号化済みビデオ・データは、ビデオ・データを復号する際のビデオ・デコーダ30による使用のためのビデオ・エンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で伝送され、記憶媒体に記憶され、又はファイル・サーバに記憶された符号化済みビデオ・データに含まれ得る。
【0035】
いくつかの実装態様では、デスティネーション・デバイス14は、ディスプレイ・デバイス34を含み得、ディスプレイ・デバイス34は、デスティネーション・デバイス14と通信するように構成された統合ディスプレイ・デバイス及び外部ディスプレイ・デバイスであることができる。ディスプレイ・デバイス34は、復号済みビデオ・データをユーザに表示し、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプのディスプレイ・デバイスなどの様々なディスプレイ・デバイスのいずれかを含み得る。
【0036】
ビデオ・エンコーダ20及びビデオ・デコーダ30は、VVC、HEVC、MPEG-4、Part 10、AVC、又はそのような標準規格の拡張など、プロプライエタリ又は産業標準規格に従って動作し得る。本出願は、特定のビデオ符号化/復号標準規格に限定されず、他のビデオ符号化/復号標準規格に適用可能であり得ることが理解されるべきである。ソース・デバイス12のビデオ・エンコーダ20は、それらの現在又は後の標準規格に従って、ビデオ・データを符号化するように構成され得ると全体的に考えられる。同様にまた、デスティネーション・デバイス14のビデオ・デコーダ30は、それらの現在又は後の標準規格に従って、ビデオ・データを復号するように構成され得ると全体的に考えられる。
【0037】
ビデオ・エンコーダ20及びビデオ・デコーダ30は各々、1つ以上のマイクロ・プロセッサ、デジタル・シグナル・プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、離散ロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらのいずれかの組み合わせなど、様々な適切なエンコーダ及び/又はデコーダ回路のいずれかとして実装され得る。ソフトウェアにおいて部分的に実装されるとき、電子デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し得、本開示において開示されたビデオ符号化/復号動作を実行するように、1つ以上のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオ・エンコーダ20及びビデオ・デコーダ30の各々は、1つ以上のエンコーダ又はデコーダに含まれ得、そのいずれかは、それぞれのデバイスに組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合され得る。
【0038】
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は、四分木構造によって最初に区画化される。次いで、各々の四分木リーフ・ノードは、二分木及び三分木構造によって更に区画化され得る。
【0039】
図3A~3Eは、本開示のいくつかの実装態様に係る、マルチ・タイプ・ツリー分割モードを例示する概略図である。
図3A~3Eはそれぞれ、四分区画化(
図3A)、垂直二分区画化(
図3B)、水平二分区画化(
図3C)、垂直拡張三分区画化(
図3D)、及び水平拡張三分区画化(
図3E)を含む5つの分割タイプを示す。
【0040】
所与のビデオ・ブロックごとに、空間予測及び/又は時間予測が実行され得る。空間予測(又は、「イントラ予測」)は、カレント・ビデオ・ブロックを予測するために、同一のビデオ・ピクチャ/スライス内の既にコーディングされた近傍ブロック(参照サンプルと呼ばれる)のサンプルからの画素を使用する。空間予測は、ビデオ信号に内在する空間的冗長性を削減する。時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、カレント・ビデオ・ブロックを予測するために、既にコーディングされたビデオ・ピクチャからの再構築済み画素を使用する。時間予測は、ビデオ信号に内在する時間的冗長性を削減する。所与のCUについての時間予測信号は通常、1つ以上の動きベクトル(MV)によってシグナリングされ、MVは、カレントCUとその時間的参照との間の動きの量及び方向を示す。また、複数の参照ピクチャがサポートされる場合、参照ピクチャ・ストアのどの参照ピクチャから時間予測信号が来るかを識別するために使用される、1つの参照ピクチャ・インデックスが加えて送信される。
【0041】
空間及び/又は時間予測の後、エンコーダ100におけるイントラ/インター・モード決定回路121は、例えば、レート歪み最適化方法に基づいて、最良の予測モードを選ぶ。ブロック・プレディクタ120は次いで、カレント・ビデオ・ブロックから差し引かれ、結果として生じる予測残差は、変換回路102及び量子化回路104を使用して相関付け解除される。結果として生じる量子化済み残差係数は、再構築済み残差を形成するように、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換され、再構築済み残差は次いで、CUの再構築済み信号を形成するように、予測ブロックに再度追加される。更に、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(SAO)、及び/又はアダプティブ・イン・ループ・フィルタ(ALF)などのイン・ループ・フィルタリング115は、それがピクチャ・バッファ117の参照ピクチャ・ストアに置かれ、後のビデオ・ブロックをコーディングするために使用される前に、再構築済みCUに対して適用され得る。出力ビデオ・ビットストリーム114を形成するために、コーディング・モード(インター又はイントラ)、予測モード情報、動き情報、及び量子化済み残差係数は全て、更に圧縮及びパックされて、ビットストリームを形成するように、エントロピ・コーディング・ユニット106に送信される。
【0042】
例えば、ブロッキング・フィルタは、AVC、HEVCと共に、VVCの現在のバージョンにおいて利用可能である。HEVCでは、SAOと呼ばれる追加のイン・ループ・フィルタは、コーディング効率を更に改善するために定義される。VVC標準規格の現在のバージョンでは、ALFと呼ばれる更なる別のイン・ループ・フィルタは、能動的に調査されており、それは、最終的な標準規格に含まれる良好な機会を有する。
【0043】
それらのイン・ループ・フィルタ動作は、任意選択である。それらの動作を実行することは、コーディング効率及び視覚品質を改善することを補助する。それらはまた、計算複雑度を節約するように、エンコーダ100によってなされる決定としてターン・オフされ得る。
【0044】
イントラ予測は通常、フィルタリングされていない再構築済み画素に基づいていると共に、それらのフィルタ・オプションがエンコーダ100によってターン・オンされる場合、インター予測は、フィルタリングされた再構築済み画素に基づいていることに留意されるべきである。
【0045】
図2は、多くのビデオ・コーディング標準規格と併用して使用され得るブロック・ベース・ビデオ・デコーダ200を例示するブロック図である。このデコーダ200は、
図1Bのエンコーダ100に存在する再構築関連セクションと類似である。ブロック・ベース・ビデオ・デコーダ200は、
図1Aに示されるようなビデオ・デコーダ30であり得る。デコーダ200では、入来するビデオ・ビットストリーム201は、量子化済み係数レベル及び予測関連情報を導出するように、エントロピ・復号202を通じて最初に復号される。量子化済み係数レベルは次いで、再構築済み予測残差を取得するように、逆量子化204及び逆変換206を通じて処理される。イントラ/インター・モード・セレクタ212において実装される、ブロック・プレディクタ機構は、復号済み予測情報に基づいて、イントラ予測208、又は動き補償210のいずれかを実行するように構成される。フィルタリングされていない再構築済み画素の組は、加算器(summer)214を使用して、逆変換206からの再構築済み予測残差及びブロック・プレディクタ機構によって生成された予測出力を合計することによって取得される。
【0046】
再構築済みブロックは更に、参照ピクチャ・ストアとして機能するピクチャ・バッファ213に記憶される前に、イン・ループ・フィルタ209を通り得る。ピクチャ・バッファ213内の再構築済みビデオは、ディスプレイ・デバイスを駆動するように送信され得ると共に、後のビデオ・ブロックを予測するために使用され得る。イン・ループ・フィルタ209がターン・オンされる状況では、フィルタリング動作は、最終的な再構築済みビデオ出力222を導出するように、それらの再構築済み画素に対して実行される。
【0047】
現在のVVC及びAVS3標準規格では、カレント・コーディング・ブロックの動き情報は、マージ候補インデックスによって指定された空間的若しくは時間的近傍ブロックから複製されるか、又は動き推定の明示的なシグナリングによって取得されるかのいずれかである。本開示の焦点は、アフィン・マージ候補の導出方法を改善することによって、アフィン・マージ・モードに対する動きベクトルの精度を改善することである。本開示の説明を促進するために、VVC標準規格における既存のアフィン・マージ・モード設計は、提案されるアイデアを促進するために実施例として使用される。VVC標準規格における既存のアフィン・モード設計が本開示の全体を通じて実施例として使用されるが、現代のビデオ・コーディング技術の当業者に対し、提案される技術も、アフィン動き予測モード又は同一若しくは類似の設計精神を有する他のコーディング・ツールの異なる設計に適用され得ることに留意されよう。
【0048】
典型的なビデオ・コーディング処理では、ビデオ・シーケンスは典型的には、フレーム又はピクチャの順序付けられたセットを含む。各々のフレームは、SL、SCb、及びSCrと表される、3つのサンプル・アレイを含み得る。SLは、ルマ・サンプル(luma sample)の二次元アレイである。SCbは、Cbクロマ・サンプルの二次元アレイである。SCrは、Crクロマ・サンプル(chroma sample)の二次元アレイである。他のインスタンスでは、フレームは、モノクロであり得、したがって、ルマ・サンプルの1つの二次元アレイのみを含み得る。
【0049】
図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ブロックであり得る。
【0050】
より良好な性能を達成するために、ビデオ・エンコーダ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つの可能な区画化タイプ、すなわち、四分木区画化、水平二分木区画化、垂直二分木区画化、水平三分木区画化、及び垂直三分木区画化が存在する。
【0051】
いくつかの実装態様では、ビデオ・エンコーダ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を生成し得る。
【0052】
ビデオ・エンコーダ20は、PUについての予測的ブロックを生成するために、イントラ予測又はインター予測を使用し得る。ビデオ・エンコーダ20がPUの予測的ブロックを生成するためにイントラ予測を使用する場合、ビデオ・エンコーダ20は、PUと関連付けられたフレームの復号済みサンプルに基づいて、PUの予測的ブロックを生成し得る。ビデオ・エンコーダ20がPUの予測的ブロックを生成するためにインター予測を使用する場合、ビデオ・エンコーダ20は、PUと関連付けられたフレーム以外の1つ以上のフレームの復号済みサンプルに基づいて、PUの予測的ブロックを生成し得る。
【0053】
ビデオ・エンコーダ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コーディング・ブロック内の対応するサンプルとの間の差を示し得る。
【0054】
更に、
図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は、単一の変換ブロック及び変換ブロックのサンプルを変換するために使用されるシンタックス構造を含み得る。
【0055】
ビデオ・エンコーダ20は、TUについてのルマ係数ブロックを生成するために、TUのルマ変換ブロックに1つ以上の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラ量であり得る。ビデオ・エンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つ以上の変換を適用し得る。ビデオ・エンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つ以上の変換を適用し得る。
【0056】
係数ブロック(例えば、ルマ係数ブロック、Cb係数ブロック、又はCr係数ブロック)を生成した後、ビデオ・エンコーダ20は、係数ブロックを量子化し得る。量子化は概して、変換係数を表すために使用されるデータの量を場合によっては削減し、更なる圧縮を提供するために、変換係数が量子化される処理を指す。ビデオ・エンコーダ20が係数ブロックを量子化した後、ビデオ・エンコーダ20は、量子化済み変換係数を示すシンタックス要素をエントロピ符号化し得る。例えば、ビデオ・エンコーダ20は、量子化済み変換係数を示すシンタックス要素に対してCABACを実行し得る。最終的に、ビデオ・エンコーダ20は、記憶装置32に保存されるか又はデスティネーション・デバイス14に伝送されるかのいずれかである、コーディング済みフレーム及び関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。
【0057】
ビデオ・エンコーダ20によって生成されたビットストリームを受信した後、ビデオ・デコーダ30は、ビットストリームからシンタックス要素を取得するように、ビットストリームをパースし得る。ビデオ・デコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオ・データのフレームを再構築し得る。ビデオ・データを再構築する処理は概して、ビデオ・エンコーダ20によって実行される符号化処理と相互的である。例えば、ビデオ・デコーダ30は、カレントCUのTUと関連付けられた残差ブロックを再構築するように、カレントCUのTUと関連付けられた係数ブロックに対して逆変換を実行し得る。ビデオ・デコーダ30はまた、カレントCUのPUについての予測的ブロックのサンプルをカレントCUのTUの変換ブロックの対応するサンプルに追加することによって、カレントCUのコーディング・ブロックを再構築する。フレームのCUごとにコーディング・ブロックを再構築した後、ビデオ・デコーダ30は、フレームを再構築し得る。
【0058】
上記で述べられたように、ビデオ・コーディングは、主に2つのモード、すなわち、イントラ-フレーム予測(又は、イントラ予測)及びインター-フレーム予測(又は、インター予測)を使用してビデオ圧縮をアーカイブする。IBCは、イントラ-フレーム予測又は第3のモードのいずれかとして見なされることに留意されよう。2つのモードの間で、参照ビデオ・ブロックからカレント・ビデオ・ブロックを予測するための動きベクトルの使用を理由に、インター-フレーム予測は、イントラ-フレーム予測よりもコーディング効率に貢献する。
【0059】
しかしながら、ビデオ・データ捕捉技術及びビデオ・データ内の内容を保存するためのより精緻化されたビデオ・ブロック・サイズをこれまで改善することにより、カレント・フレームについての動きベクトルを表すために必要とされるデータの量も、実質的に増大する。この課題を克服する1つの方法は、空間及び時間ドメインの両方内の近傍CUのグループが予測する目的で類似のビデオ・データを有するだけでなく、それらの近傍CUの間の動きベクトルも類似であるという事実からの利点を有することである。したがって、カレントCUの「動きベクトル・プレディクタ(MVP)」とも称される、それらの空間的及び時間的相関関係を利用することによって、カレントCUの動き情報(例えば、動きベクトル)の近似度として、空間的に近傍するCU及び/又は時間的に同一位置にあるCUの動き情報を使用することが可能である。
【0060】
図1Bと関連して上記で説明されたような動き推定ユニットによって決定されたカレントCUの実際の動きベクトルを、ビデオ・ビットストリームに符号化する代わりに、カレントCUの動きベクトル・プレディクタは、カレントCUについての動きベクトル・ディファレンス(MVD)を生じさせるように、カレントCUの実際の動きベクトルから差し引かれる。それを行うことによって、フレームのCUごとの動き推定ユニットによって決定された動きベクトルをビデオ・ビットストリームに符号化する必要がなく、ビデオ・ビットストリーム内の動き情報を表すために使用されるデータの量が著しく減少され得る。
【0061】
コード・ブロックのインター-フレーム予測の間に参照フレーム内の予測的ブロックを選ぶ処理と同様に、カレントCUの空間的に近傍のCU及び/又は時間的に同一位置にあるCUと関連付けられたそれらの潜在的な候補動きベクトルを使用してカレントCUについての動きベクトル候補リスト(「マージ・リスト」としても知られる)を構築し、次いで、カレントCUについての動きベクトル・プレディクタとして動きベクトル候補リストから1つのメンバを選択するために、ビデオ・エンコーダ20及びビデオ・デコーダ30の両方によって採用されるルールのセットが必要である。それを行うことによって、ビデオ・エンコーダ20からビデオ・デコーダ30に動きベクトル候補リスト自体を伝送する必要がなく、カレントCUを符号化及び復号するために動きベクトル候補リスト内の同一の動きベクトル・プレディクタを使用するのに、動きベクトル候補リスト内の選択された動きベクトル・プレディクタのインデックスがビデオ・エンコーダ20及びビデオ・デコーダ30に対して十分である。
【0062】
アフィン・モデル
HEVCでは、並進動きモデルのみが、動き補償予測のために適用される。現実世界では、多くの種類の動き、例えば、ズーム・イン/アウト、回転、奥行の動き、及び他の不規則な動きが存在する。VVC及びAVS3では、並進動きモデル又はアフィン動きモデルがインター予測のために適用されるかどうかを示すように、各々のインター・コーディング・ブロックについての1つのフラグをシグナリングすることによって、アフィン動き補償予測が適用される。現在のVVC及びAVS3設計では、4-パラメータ・アフィン・モード及び6-パラメータ・アフィン・モードを含む2つのアフィン・モードが、1つのアフィン・コーディング・ブロックに対してサポートされる。
【0063】
4-パラメータ・アフィン・モデルは、以下のパラメータ:水平及び垂直方向それぞれにおける並進移動についての2つのパラメータ、ズームの動きについての1つのパラメータ、及び両方向に対する回転の動きについての1つのパラメータを有する。このモデルでは、水平ズーム・パラメータは、垂直ズーム・パラメータに等しく、水平回転パラメータは、垂直回転パラメータに等しい。動きベクトル及びアフィン・パラメータのより良好な適合を達成するために、それらのアフィン・パラメータは、カレント・ブロックの左最上隅及び右最上隅に位置する2つのMV(制御点動きベクトル(CPMV)とも呼ばれる)から導出されることになる。
図4A~4Bに示されるように、ブロックのアフィン動きフィールドは、2つのCPMV(V
0,V
1)によって記述される。制御点動きに基づいて、1つのアフィン・コーディング済みブロックの動きフィールド(v
x,v
y)は、
【数1】
として記述される。
【0064】
6-パラメータ・アフィン・モードは、以下のパラメータ:水平及び垂直方向それぞれにおける並進移動についての2つのパラメータ、水平方向におけるズーム動き及び回転動きそれぞれについての2つのパラメータ、垂直方向におけるズーム動き及び回転動きそれぞれについての別の2つのパラメータを有する。6-パラメータ・アフィン動きモデルは、3つのCPMVによりコーディングされる。
図5に示されるように、1つの6-パラメータ・アフィン・ブロックの3つの制御点は、ブロックの左最上、右最上、及び左下隅に位置する。左最上制御点における動きは、並進動きに関連し、右最上制御点における動きは、水平方向における回転及びズーム動きに関連し、左下制御点における動きは、垂直方向における回転及びズーム動きに関連する。4-パラメータ・アフィン動きモデルと比較して、6-パラメータの水平方向における回転及びズーム動きは、垂直方向におけるそれらの動きと同一ではあり得ない。(V
0,V
1,V
2)が
図5におけるカレント・ブロックの左最上、右最上、及び左下隅のMVであると想定して、各々のサブ・ブロックの動きベクトル(v
x,v
y)は、
【数2】
として、制御点における3つのMVを使用して導出される。
【0065】
アフィン・マージ・モード
アフィン・マージ・モードでは、カレント・ブロックについてのCPMVは、明示的にシグナリングされないが、近傍ブロックから導出される。特に、このモードでは、空間的近傍ブロックの動き情報は、カレント・ブロックについてのCPMVを生成するために使用される。アフィン・マージ・モード候補リストは、制限されたサイズを有する。例えば、現在のVVC設計では、最大で5つの候補が存在し得る。エンコーダは、レート歪み最適化アルゴリズムに基づいて、最良の候補インデックスを評価し得、選び得る。選ばれた候補インデックスは次いで、デコーダ側にシグナリングされる。アフィン・マージ候補は、3つの方法において決定され得る。第1の方法では、アフィン・マージ候補は、近傍のアフィン・コーディング済みブロックから継承され得る。第2の方法では、アフィン・マージ候補は、近傍ブロックからの並進MV(Translational MV)から構築され得る。第3の方法では、ゼロMV(zero MV)は、アフィン・マージ候補として使用される。
【0066】
継承済み方法について、最大で2つの候補が存在し得る。候補は、利用可能である場合、カレント・ブロックの左下に位置する近傍ブロックから(例えば、
図6に示されるように、スキャニング順序がA0からA1までである)、及びカレント・ブロックの右最上に位置する近傍ブロックから(例えば、
図6に示されるように、スキャニング順序がB0からB2までである)取得される。
【0067】
構築済み方法について、候補は、2つのステップによって生成され得る、近傍の並進MVの組み合わせである。
【0068】
ステップ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である。
【0069】
ステップ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。
【0070】
マージ候補リストが継承済み及び構築済み候補により満たした後にフルでないとき、ゼロMVは、リストの最後に挿入される。
【0071】
アフィン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、
- 同一位置にあるCUからの時間的MV、
- ゼロMV。
【0072】
継承済みアフィンAMVP候補のチェッキング順序は、継承済みアフィン・マージ候補のチェッキング順序と同一である。唯一の差は、AMVP候補について、カレント・ブロックにあるのと同一の参照ピクチャを有するアフィンCUのみが考慮されることである。継承済みアフィン動きプレディクタを候補リストに挿入するときに、プルーニング処理が適用されない。
【0073】
構築済みAMVP候補は、アフィン・マージ・モードと同一の空間的近傍から導出される。アフィン・マージ候補構築に行われるのと同一のチェッキング順序が使用される。加えて、近傍ブロックの参照ピクチャ・インデックスもチェックされる。インター・コーディングされ、カレントCUにあるのと同一の参照ピクチャを有するチェッキング順序における最初のブロックが使用される。カレントCUが4-パラメータ・アフィン・モードによりコーディングされ、mv0及びmv1の両方が利用可能である場合、mv0及びmv1は、1つの候補としてアフィンAMVP候補リストに追加される。カレントCUが6-パラメータ・アフィン・モードによりコーディングされ、全ての3つのCPMVが利用可能である場合、それらは、1つの候補としてアフィンAMVP候補リストに追加される。そうでなければ、構築済みAMVP候補が使用可能でないとして設定される。
【0074】
有効な継承済みアフィンAMVP候補及び構築済みAMVP候補が挿入された後、アフィンAMVPリスト候補がなおも2未満である場合、利用可能であるときに、カレントCUの全ての制御点MVを並進MVとして予測するために、mv0、mv1、及びmv2が順番に追加される。最終的に、それがなおもフルでない場合、アフィンAMVPリストを満たすために、ゼロMVが使用される。
【0075】
正規インター・マージ・モード
いくつかの実施形態では、以下の5つのタイプの候補を順番に含めることによって、正規インター・マージ候補リストが構築される:
(1)空間的近傍CUからの空間的MVP、
(2)同一位置にあるCUからの時間的MVP、
(3)ファースト・イン・ファースト・アウト(FIFO)テーブルからの履歴ベースMVP、
(4)ペアワイズ平均MVP、及び
(5)ゼロMV。
【0076】
マージ・リストのサイズは、シーケンス・パラメータ・セット・ヘッダにおいてシグナリングされ、マージ・リストの最大許容サイズは6である。マージ・モードにおけるCUコードごとに、最良のマージ候補のインデックスは、トランケーテッド・ユーナリ・バイナリゼーション(TU)を使用して符号化される。マージ・インデックスの第1のビンは、コンテキストによりコーディングされ、他のビンに対してバイパス・コーディングが使用される。
【0077】
マージ候補の各々のカテゴリの導出処理が上記で提供される。いくつかの実施形態では、マージング候補リストの並列導出が、エリアの或るサイズ内の全てのCUに対してサポートされ得る。
【0078】
空間的候補導出
VVCにおける空間的マージ候補の導出は、最初の2つのマージ候補のポジションがスワップされることを除き、HEVCにおける導出と同一である。4つのマージ候補の最大値は、
図4Cに表されるポジションに位置する候補の中から選択される。導出の順序は、B0、A0、B1、A1、及びB2である。ポジションB0、A0、B1、A1の1つ又は1つよりも多いCUが利用可能でなく(例えば、それが別のスライス若しくはタイルに属することを理由に)、又はイントラ・コーディングされるとき、ポジションB2のみが考慮される。ポジションA1における候補が追加された後、残りの候補の追加は、冗長性チェックを受け、冗長性チェックは、コーディング効率が改善されるように、同一の動き情報を有する候補がリストから排除されることを保証する。計算的複雑度を削減するために、言及された冗長性チェックにおいて全ての可能な候補ペアが考慮されるわけではない。代わりに、
図4Dにおける矢印とリンクされたペアのみが考慮され、冗長性チェックのために使用される対応する候補が同一の動き情報を有さない場合、当該候補のみがリストに追加される。
図4Dは、空間的マージ候補の冗長性チェックのために考慮される候補ペアを例示する。
【0079】
時間的候補導出
このステップでは、1つの候補のみがリストに追加される。特に、この時間的マージ候補の導出では、スケーリング済み動きベクトルは、同一位置にある参照ピクチャに属する同一位置にあるCUに基づいて導出される。同一位置にあるCUの導出のために使用されることになる参照ピクチャ・リスト及び参照インデックスは、スライス・ヘッダにおいて明示的にシグナリングされる。時間的マージ候補に対するスケーリング済み動きベクトルは、
図4Eにおいて点線によって例示されるように取得され、POC距離、tb及びtdを使用して、同一位置にあるCUの動きベクトルからスケーリングされ、tbは、カレント・ピクチャの参照ピクチャとカレント・ピクチャとの間のPOC差であると定義され、tdは、同一位置にあるピクチャの参照ピクチャと同一位置にあるピクチャとの間のPOC差であると定義される。時間的マージ候補の参照ピクチャ・インデックスは、ゼロに等しく設定される。
【0080】
時間的候補についてのポジションは、
図4Fに表されるように、候補C0及びC1の間で選択される。ポジションC0におけるCUが利用可能でなく、イントラ・コーディングされ、又はCTUのカレント行の外にある場合、ポジションC1が使用される。そうでなければ、時間的マージ候補の導出においてポジションC0が使用される。
【0081】
履歴ベースマージ候補導出
履歴ベースMVP(HMVP)マージ候補は、空間的MVP及び時間動きベクトル予測(TMVP)の後にマージ・リストに追加される。この方法では、前にコーディングされたブロックの動き情報は、テーブルに記憶され、カレントCUについてのMVPとして使用される。複数のHMVP候補を有するテーブルは、符号化/復号処理の間に維持される。新たなCTU行に直面するときにテーブルがリセットされる(空にされる)。非サブ・ブロックのインター・コーディング済みCUが存在するときはいつでも、関連する動き情報は、新たなHMVP候補としてテーブルの最後のエントリに追加される。
【0082】
HMVPテーブル・サイズSは、6に設定され得、それは、最大で5つの履歴ベースMVP(HMVP)候補がテーブルに追加され得ることを示す。新たな動き候補をテーブルに挿入するとき、制約されたファースト・イン・ファースト・アウト(FIFO)ルールが利用され、テーブル内で同一のHMVPが存在するかどうかを発見するために、冗長性チェックが最初に適用される。発見される場合、同一のHMVPがテーブルから除去され、その後の全てのHMVP候補が前に移動され、同一のHMVPは、テーブルの最後のエントリに挿入される。
【0083】
HMVP候補は、マージ候補リスト構築処理において使用される。テーブル内の最新のいくつかのHMVP候補は、順番にチェックされ、TMVP候補の後に候補リストに挿入される。冗長性チェックは空間的又は時間的マージ候補へのHMVP候補に対して適用される。
【0084】
冗長性チェックのための演算の回数を削減するために、以下の簡易化が導入される。最初に、テーブル内の最後の2つのエントリは、A1及びB1空間的候補のそれぞれに対して冗長性がチェックされる。2番目に、利用可能なマージ候補の総数が最大で許容されたマージ候補マイナス1に到達すると、HMVPからのマージ候補リスト構築処理が完結する。
【0085】
ペアワイズ平均マージ候補導出
最初の2つのマージ候補を使用して、既存のマージ候補リスト内の候補の予め定義されたペアを平均化することによって、ペアワイズ平均候補が生成される。第1のマージ候補は、p0Candとして定義され、第2のマージ候補は、p1Candとしてそれぞれ定義され得る。平均化済み動きベクトルは、参照リストごとにp0Cand及びp1Candの動きベクトルの可用性に従って別個に計算される。1つのリスト内の両方の動きベクトルが利用可能である場合、それらの2つの動きベクトルが異なる参照ピクチャを指し示し、その参照ピクチャがp0Candの1つに設定されるときでさえ、それらは平均化され、1つの動きベクトルのみが利用可能である場合、1つを直接使用し、動きベクトルが利用可能でない場合、このリストを無効に維持する。また、p0Cand及びp1Candのハーフ・ペル補間フィルタ・インデックスが異なる場合、それは0に設定される。
【0086】
ペアワイズ平均マージ候補が追加された後にマージ・リストがフルでないとき、最大マージ候補数に直面するまで、ゼロMVPがマージ・リストの最後に挿入される。
【0087】
テンプレート・マッチングによるマージ候補の適応的再順序付け(adaptive reordering)(ARMC)
ARMCとして命名された、再順序付け方法は、正規マージ・モード、テンプレート・マッチング(TM)マージ・モード、及びアフィン・マージ・モード(SbTMVP候補を除外する)に適用され、SbTMVPは、サブ・ブロック・ベース時間動きベクトル予測候補を表す。TMマージ・モードに対し、精緻化処理の前にマージ候補が再順序付けされる。
【0088】
マージ候補リストが構築された後、マージ候補は、いくつかのサブグループに分割される。サブグループ・サイズは、5に設定される。各々のサブグループにおけるマージ候補は、テンプレート・マッチングに基づいて、コスト値による昇順で再順序付けされる。簡易化のために、第1のサブグループではなく最後のサブグループにおけるマージ候補は、再順序付けされない。
【0089】
テンプレート・マッチング・コストは、カレント・ブロックのテンプレートのサンプルとそれらの対応する参照サンプルとの間の絶対差合計(SAD)によって測定される。テンプレートは、カレント・ブロックに近傍の再構築済みサンプルのセットを含む。テンプレートの参照サンプルは、カレント・ブロックの同一の動き情報によって特定される。
【0090】
マージ候補が双方向予測を利用するとき、マージ候補のテンプレートの参照サンプルも、
図19に示されるような双予測によって生成される。
【0091】
Wsub*Hsubに等しいサブ・ブロック・サイズを有するサブ・ブロック・ベース・マージ候補に対し、上のテンプレートは、Wsub×1のサイズを有するいくつかのサブ・テンプレートを含み、左のテンプレートは、1×Hsubのサイズを有するいくつかのサブ・テンプレートを含む。Wsubは、サブ・ブロックの幅であり、Hsubは、サブ・ブロックの高さである。
図20に示されるように、カレント・ブロックの最初の行及び最初の列内のサブ・ブロックの動き情報は、各々のサブ・テンプレートの参照サンプルを導出するために使用される。
【0092】
現在のビデオ標準規格VVC及びAVSについて、近接する近傍ブロックのみが、継承済み候補及び構築済み候補それぞれについて
図6及び
図7に示されるように、カレント・ブロックについてのアフィン・マージ候補を導出するために使用される。マージ候補の多様性を増大させ、空間的相関関係を更に利用するために、近接するエリアから近接しないエリアに近傍ブロックのカバレッジを拡張させることが率直である。
【0093】
現在のビデオ標準規格VVC及びAVSでは、各々のアフィン継承済み候補は、アフィン動き情報により1つの近傍ブロックから導出される。一方で、各々のアフィン構築済み候補は、並進動き情報により2つ又は3つの近傍ブロックから導出される。空間的相関関係を更に利用するために、アフィン動き及び並進動きを組み合わせた新たな候補導出方法が調査され得る。
【0094】
アフィン・マージ・モードについて提案された候補導出方法は、アフィンAMVPモード及び正規マージ・モードなど、他のコーディング・モードに拡張され得る。
【0095】
本開示では、アフィン・マージ・モードに対する候補導出処理は、近接する近傍ブロックだけでなく、近接しない近傍ブロックをも使用することによって拡張され得る。詳細な方法は、アフィン・マージ候補プルーニング、アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理、アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理、アフィン構築済みマージ候補に対する継承ベース導出方法、アフィン構築済みマージ候補に対するHMVPベース導出方法、並びにアフィンAMVPモード及び正規マージ・モードに対する候補導出方法を含む、以下の態様において要約され得る。
【0096】
アフィン・マージ候補プルーニング
典型的なビデオ・コーディング標準規格におけるアフィン・マージ候補リストが通常、制限されたサイズを有するように、候補プルーニングは、冗長な1つを除去するために必須の処理である。アフィン・マージ継承済み候補及び構築済み候補の両方に対し、このプルーニング処理が必要である。導入部において説明されるように、カレント・ブロックのCPMVは、アフィン動き補償のために直接使用されない。代わりに、CPMVは、カレント・ブロック内の各々のサブ・ブロックの位置において並進MVに転換される必要がある。転換処理は、以下に示されるように、一般的なアフィン・モデルを遵守することによって実行される。
【数3】
(a,b)は、デルタ並進パラメータであり、(c,d)は、水平方向についてのデルタ・ズーム及び回転パラメータであり、(e,f)は、垂直方向についてのデルタ・ズーム及び回転パラメータであり、(x,y)は、カレント・ブロックの左最上隅に対するサブ・ブロックの旋回位置(例えば、中心又は左最上隅)の水平及び垂直距離であり(例えば、
図5に示される座標(x,y)、(v
x,v
y)は、サブ・ブロックのターゲット並進MVである。
【0097】
6-パラメータ・アフィン・モデルに対し、V0、V1、及びV2と称される、3つのCPMVが利用可能である。次いで、6つのモデル・パラメータa、b、c、d、e、及びfは、
【数4】
として計算され得る。
【0098】
4-パラメータ・アフィン・モデルに対し、V0及びV1と称される、左最上隅CPMV及び右最上隅CPMVが利用可能である場合、a、b、c、d、e、及びfの6つのパラメータは、
【数5】
として計算され得る。
【0099】
4-パラメータ・アフィン・モデルに対し、V0及びV2と称される、左最上隅CPMV及び左下隅CPMVが利用可能である場合、a、b、c、d、e、及びfの6つのパラメータは、
【数6】
として計算され得る。
【0100】
上記の式(4)、(5)、及び(6)では、w及びhは、カレント・ブロックの幅及び高さそれぞれを表す。
【0101】
CPMVの2つのマージ候補セットが冗長性チェックのために比較されるとき、6アフィン・モデル・パラメータの類似性をチェックすることが提案される。したがって、候補プルーニング処理が2つのステップにおいて実行され得る。
【0102】
ステップ1では、CPMVの2つの候補セットを仮定して、候補セットごとの対応するアフィン・モデル・パラメータが導出される。より具体的に、CPMVの2つの候補セットは、アフィン・モデル・パラメータの2つのセット、例えば、(a1,b1,c1,d1,e1,f1)及び(a2,b2,c2,d2,e2,f2)によって表され得る。
【0103】
ステップ2では、1つ以上の予め定義された閾値に基づいて、アフィン・モデル・パラメータの2つのセットの間で類似性チェックが実行される。1つの実施形態では、(a1-a2)、(b1-b2)、(c1-c2)、(d1-d2)、(e1-e2、及び(f1-f2)の絶対値が全て1の値などの正の閾値を下回るとき、2つの候補が類似であると考えられ、それらの1つは、プルーニング/除去され得、マージ候補リストに置かれ得ない。
【0104】
いくつかの実施形態では、ステップ1の分割又は右シフト演算は、CPMVプルーニング処理における計算を簡易化するために除去され得る。
【0105】
特に、c、d、e、及びfのモデル・パラメータは、カレント・ブロックの幅w及び高さhによって分割されることなく計算され得る。例えば、例として上記の式(4)を取り、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(7)として計算され得る。
【数7】
【0106】
2つのCPMVのみが利用可能であるケースでは、モデル・パラメータの一部は、カレント・ブロックの幅又は高さに依存する、モデル・パラメータの他の部分から導出される。このケースでは、モデル・パラメータは、幅及び高さの影響を考慮するように転換され得る。例えば、式(5)のケースでは、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(8)に基づいて計算され得る。式(6)のケースでは、c’、d’、e’、及びf’の近似したモデル・パラメータは、以下の式(9)に基づいて計算され得る。
【数8】
c’、d’、e’、及びf’の近似したモデル・パラメータが上記のステップ1において計算されるとき、上記のステップ2における類似性チェックのために必要な絶対値の計算は、それに従って変更され得る:(a
1-a
2)、(b
1-b
2)、(c’
1-c’
2)、(d’
1-d’
2)、(e’
1-e’
2)、及び(f’
1-f’
2)。
【0107】
上記のステップ2では、CPMVの2つの候補セットの間の類似性を評価するために閾値が必要である。閾値を定義する複数の方法が存在し得る。1つの実施形態では、閾値は、比較可能パラメータごとに定義され得る。表1は、比較可能モデル・パラメータごとに定義された閾値を示す、この実施形態における1つの実施例である。別の実施形態では、閾値は、カレント・コーディング・ブロックのサイズを考慮することによって定義され得る。表2は、カレント・コーディング・ブロックのサイズによって定義された閾値を示す、この実施形態における1つの実施例である。
【0108】
【0109】
【0110】
別の実施形態では、閾値は、カレント・ブロックの重み又は高さを考慮することによって定義され得る。表3及び表4は、この実施形態における実施例である。表3は、カレント・コーディング・ブロックの幅によって定義された閾値を示し、表4は、カレント・コーディング・ブロックの高さによって定義された閾値を示す。
【0111】
【0112】
【0113】
別の実施形態では、固定値のグループとして閾値が定義され得る。別の実施形態では、閾値は、上記の実施形態のいずれかの組み合わせによって定義され得る。1つの実施例では、閾値は、異なるパラメータ並びにカレント・ブロックの重み及び高さを考慮することによって定義され得る。表5は、カレント・コーディング・ブロックの高さによって定義された閾値を示す、この実施形態における1つの実施例である。いずれかの上記で提案された実施形態では、比較可能パラメータは、必要である場合、式(4)~式(9)からのいずれかの式において定義されたいずれかのパラメータを表し得る。
【0114】
【0115】
候補冗長性チェックのための転換済みアフィン・モデル・パラメータを使用する利点は、それが異なるアフィン・モデル・タイプを有する候補に対する統一類似性チェック処理を生じさせ、例えば、1つのマージ候補は、3つのCPMVを有する6-パラメータ・アフィン・モデルを使用し得ると共に別の候補は、2つのCPMVを有する4-パラメータ・アフィン・モデルを使用し得、それは、各々のサブ・ブロックにおけるターゲットMVを導出するときにマージ候補における各々のCPMVの異なる影響を考慮し、それは、カレント・ブロックの幅及び高さに関連する2つのアフィン・マージ候補の類似性有意性を提供することである。
【0116】
アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理
継承済みマージ候補に対し、近接しない近傍ベース導出処理は、3つのステップにおいて実行され得る。ステップ1は、候補スキャニングのためである。ステップ2は、CPMV投影のためである。ステップ3は、候補プルーニングのためである。
【0117】
ステップ1では、近接しない近傍ブロックは、以下の方法によってスキャン及び選択される。
【0118】
スキャニング・エリア及び距離
いくつかの実施例では、近接しない近傍ブロックは、カレント・コーディング・ブロックの左のエリア及び上のエリアからスキャンされ得る。スキャニング距離は、スキャニング・ポジションからカレント・コーディング・ブロックの左側又は最上側までのコーディング・ブロックの数として定義され得る。
【0119】
図8に示されるように、カレント・コーディング・ブロックの左又は上のいずれかの上で、近接しない近傍ブロックの複数のラインがスキャンされ得る。
図8に示される距離は、各々の候補ポジションからカレント・ブロックの左側又は最上側までのコーディング・ブロックの数を表す。例えば、カレント・ブロックの左側上の「距離2(D2)」を有するエリアは、このエリア内に位置する候補近傍ブロックがカレント・ブロックから2ブロック離れていることを示す。類似のインジケーションは、異なる距離を有する他のスキャニング・エリアに適用され得る。
【0120】
1つ以上の実施形態では、各々の距離における近接しない近傍ブロックは、
図13Aに示されるように、カレント・コーディング・ブロックと同一のブロック・サイズを有し得る。
図13Aに示されるように、左側上の近接しない近傍ブロック1301及び上側上の近接しない近傍ブロック1302は、カレント・ブロック1303と同一のサイズを有する。いくつかの実施形態では、各々の距離における近接しない近傍ブロックは、
図13Bに示されるように、カレント・コーディング・ブロックとは異なるブロック・サイズを有し得る。近傍ブロック1304は、カレント・ブロック1303に近接する近傍ブロックである。
図13Bに示されるように、左側上の近接しない近傍ブロック1305及び上側上の近接しない近傍ブロック1306は、カレント・ブロック1307と同一のサイズを有する。近傍ブロック1308は、カレント・ブロック1307に近接する近傍ブロックである。
【0121】
各々の距離における近接しない近傍ブロックがカレント・コーディング・ブロックと同一のブロック・サイズを有するとき、ブロック・サイズの値は、画像内の各々の異なるエリアにおける区画化粒度に従って適応的に変化されることに留意されよう。各々の距離における近接しない近傍ブロックがカレント・コーディング・ブロックとは異なるブロック・サイズを有するとき、ブロック・サイズの値は、4×4、8×8、又は16×16など、一定の値として予め定義され得る。
図10及び
図12に示される4×4の近接しない動きフィールドは、このケースにおける実施例であり、動きフィールドは、それらに限定されないが、サブ・ブロックの特殊ケースとして考えられ得る。
【0122】
同様に、
図11に示される近接しないコーディング・ブロックも同様に、異なるサイズを有し得る。1つの実施例では、近接しないコーディング・ブロックは、適応的に変更される、カレント・コーディング・ブロックとしてのサイズを有し得る。別の実施例では、近接しないコーディング・ブロックは、4×4、8×8、又は16×16など、固定値を有する予め定義されたサイズを有し得る。
【0123】
定義されたスキャニング距離に基づいて、カレント・コーディング・ブロックの左又は上のいずれかの上のスキャニング・エリアの合計サイズは、構成可能な距離値によって決定され得る。1つ以上の実施形態では、左側及び上側上の最大スキャニング距離は、同一の値又は異なる値を使用し得る。
図13は、左側及び上側の両方の上の最大距離が2の同一の値を共有する実施例を示す。最大スキャニング距離値(複数可)は、エンコーダ側によって決定され得、ビットストリームにおいてシグナリングされ得る。代わりに、最大スキャニング距離値(複数可)は、2又は4の値など、固定値(複数可)として予め定義され得る。最大スキャニング距離が4の値として予め定義されるとき、それは、候補リストがフルであるときにスキャニング処理が完結されること、又はどちらが先に来ても、最大距離4を有する全ての近接しない近傍ブロックがスキャンされたことを示す。
【0124】
1つ以上の実施形態では、特定の距離における各々のスキャニング・エリア内で、開始及び終了近傍ブロックは、ポジション依存であり得る。
【0125】
いくつかの実施形態では、左側スキャニング・エリアに対し、開始近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの開始近傍ブロックの近接する左下ブロックであり得る。例えば、
図8に示されるように、カレント・ブロックの左側上の「距離2」スキャニング・エリアの開始近傍ブロックは、「距離1(D1)」スキャニング・エリアの開始近傍ブロックの近接する左下近傍ブロックである。
図8では、D1、D2、D3はそれぞれ、距離1、距離2、及び距離3を示す。終了近傍ブロックは、より短い距離を有する上のスキャニング・エリアの終了近傍ブロックの近接する左ブロックであり得る。例えば、
図8に示されるように、カレント・ブロックの左側上の「距離2」スキャニング・エリアの終了近傍ブロックは、カレント・ブロックの上の「距離1」スキャニング・エリアの終了近傍ブロックの近接する左近傍ブロックである。
【0126】
同様に、上側スキャニング・エリアに対し、開始近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの開始近傍ブロックの近接する右最上ブロックであり得る。終了近傍ブロックは、より短い距離を有する近接するスキャニング・エリアの終了近傍ブロックの近接する左最上ブロックであり得る。
【0127】
スキャニング順序
近傍ブロックが近接しないエリア内でスキャンされるとき、スキャン済み近傍ブロックの選択を判定するように、或る順序又は/及びルールが遵守され得る。
【0128】
いくつかの実施形態では、左のエリアが最初にスキャンされ得、次いで、上のエリアをスキャンすることが続く。
図8に示されるように、左側上の近接しないエリアの3つのライン(例えば、距離1(D1)から距離3(D3)までの)が最初にスキャンされ得、次いで、カレント・ブロックの上の近接しないエリアの3つのラインをスキャンすることが続く。
【0129】
いくつかの実施形態では、左のエリア及び上のエリアが交互にスキャンされ得る。例えば、
図8に示されるように、「距離1」を有する左のスキャニング・エリアが最初にスキャンされ、次いで、「距離1」を有する上のエリアをスキャンすることが続く。
【0130】
同一の側上に位置するスキャニング・エリアに対し(例えば、左又は上のエリア)、スキャニング順序は、短い距離を有するエリアから長い距離を有するエリアまでである。この順序は、スキャニング順序の他の実施形態と柔軟に組み合わされ得る。例えば、左及び上のエリアが交互にスキャンされ得、同一の側のエリアに対する順序は、短い距離から長い距離までであるようにスケジュールされる。
【0131】
特定の距離における各々のスキャニング・エリア内で、スキャニング順序が定義され得る。1つの実施形態では、左のスキャニング・エリアに対し、スキャニングは、下の近傍ブロックから最上の近傍ブロックへと開始され得る。上のスキャニング・エリアに対し、スキャニングは、右のブロックから左のブロックへと開始され得る。
【0132】
スキャニング完結
継承済みマージ候補に対し、アフィン・モードによりコーディングされた近傍ブロックは、適格とされた候補として定義される。いくつかの実施形態では、スキャニング処理は、反復して実行され得る。例えば、特定の距離における特定のエリア内で実行されるスキャニングは、最初のX個の適格とされた候補が識別されるときのインスタンスにおいて停止され得、Xは、予め定義された正の値である。例えば、
図8に示されるように、距離1を有する左のスキャニング・エリア内でのスキャニングは、最初の1つ以上の適格とされた候補が識別されるときに停止され得る。次いで、予め定義されたスキャニング順序/ルールによって規制される、別のスキャニング・エリアをターゲットすることによって、スキャニング処理の次の反復が開始される。
【0133】
1つ以上の実施形態では、Xは、距離ごとに定義され得る。例えば、各々の距離において、Xは、1に設定され、それは、最初の適格とされた候補が発見され、スキャニング処理が同一のエリアの異なる距離又は異なるエリアの同一若しくは異なる距離から再開される場合、スキャニングが距離ごとに完結されることを意味する。Xの値は、異なる距離についての同一の値又は異なる値として設定され得ることに留意されよう。適格とされた候補の最大数がエリアの全ての許容可能な距離(例えば、最大距離によって規制された)から発見される場合、1つのエリアに対するスキャニング処理が完全に完結される。
【0134】
別の実施形態では、Xは、エリアに対して定義され得る。例えば、Xは、3に設定され、それは、最初の3つの適格とされた候補が発見され、スキャニング処理が別のエリアの同一又は異なる距離から再開される場合、スキャニングがエリア全体(例えば、カレント・ブロックの左又は上のエリア)に対して完結されることを意味する。Xの値は、異なるエリアについての同一の値又は異なる値として設定され得ることに留意されよう。適格とされた候補の最大数が全てのエリアから発見される場合、スキャニング処理が全体的に完結される。
【0135】
Xの値は、距離及びエリアの両方に対して定義され得る。例えば、エリアごとに(例えば、カレント・ブロックの左又は上のエリア)、Xは、3に設定され、距離ごとに、Xは、1に設定される。Xの値は、異なるエリア及び距離についての同一の値又は異なる値として設定され得る。
【0136】
いくつかの実施形態では、スキャニング処理は、連続して実行され得る。例えば、特定の距離における特定のエリア内で実行されるスキャニングは、全てのカバーされた近傍ブロックがスキャンされ、より適格とされた候補が識別されず、又は候補の最大許容数に到達するときのインスタンスにおいて停止され得る。
【0137】
候補スキャニング処理の間、各々の候補の近接しない近傍ブロックは、上記で提案されたスキャニング方法を遵守することによって決定及びスキャンされる。より容易な実装のために、各々の候補の近接しない近傍ブロックは、特定のスキャニング・ポジションによって示され得、及び特定され得る。特定のスキャニング・エリア及び距離が上記で提案された方法を遵守することによって決定されると、スキャニング・ポジションは、以下の方法に基づいて、それに従って判定され得る。
【0138】
1つの方法では、左下及び右最上のポジションは、
図15Aに示されるように、上及び左の近接しない近傍ブロックに対して使用される。
【0139】
別の方法では、右下のポジションは、
図15Bに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0140】
別の方法では、左下のポジションは、
図15Cに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0141】
別の方法では、右最上のポジションは、
図15Dに示されるように、上及び左の両方の近接しない近傍ブロックに対して使用される。
【0142】
より容易な例示のために、
図15A~15Dでは、各々の近接しない近傍ブロックは、カレント・ブロックと同一のブロック・サイズを有すると想定される。汎用性を失うことなく、この例示は、異なるブロック・サイズを有する近接しない近傍ブロックに容易に拡張され得る。
【0143】
更に、ステップ2では、現在のAVS及びVVC標準規格において使用されるのとCPMV投影の同一の処理が利用され得る。このCPMV投影処理では、カレント・ブロックは、同一のアフィン・モデルを選択された近傍ブロックと共有し、次いで、2つ又は3つの隅の画素の座標(例えば、カレント・ブロックが4-パラメータ・モデルを使用する場合、2つの座標(左最上の画素/サンプル位置及び右最上の画素/サンプル位置)が使用され、カレント・ブロックが6-パラメータ・モデルを使用する場合、3つの座標(左最上の画素/サンプル位置、右最上の画素/サンプル位置、及び左下の画素/サンプル位置)が使用される)が式(1)又は(2)にプラグ・インされ、それは、近傍ブロックが、2つ又は3つのCPMVを生成するように、4-パラメータ又は6-パラメータ・アフィン・モデルによりコーディングされるかどうかに依存すると想定される。
【0144】
ステップ3では、ステップ1において識別され、ステップ2において転換されたいずれかの適格とされた候補は、マージ候補リスト内に既にある全ての既存の候補に対して類似性チェックを受け得る。類似性チェックの詳細は、上記の「アフィン・マージ候補プルーニング」のセクションにおいて既に説明されている。新たに適格とされた候補が候補リスト内のいずれかの既存の候補と類似すると発見される場合、この新たに適格とされた候補は、除去/プルーニングされる。
【0145】
アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理
継承済みマージ候補を導出するケースでは、1つの近傍ブロックが一度に識別され、この単一の近傍ブロックは、アフィン・モードにおいてコーディングされる必要があり、2つ又は3つのCPMVを包含し得る。構築済みマージ候補を導出するケースでは、2つ又は3つの近傍ブロックが一度に識別され、各々の識別された近傍ブロックは、アフィン・モードにおいてコーディングされる必要がなく、1つの並進MVのみがこのブロックから取り出される。
【0146】
図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つ)が使用され得る。
【0147】
構築済みマージ候補に対し、近接しない近傍ベース導出処理は、5つのステップにおいて実行され得る。近接しない近傍ベース導出処理は、エンコーダ又はデコーダなどの装置において、5つのステップにおいて実行され得る。ステップ1は、候補スキャニングのためである。ステップ2は、アフィン・モデル決定のためである。ステップ3は、CPMV投影のためである。ステップ4は、候補生成のためである。また、ステップ5は、候補プルーニングのためである。ステップ1では、近接しない近傍ブロックは、以下の方法によってスキャン及び選択され得る。
【0148】
スキャニング・エリア及び距離
いくつかの実施形態では、矩形コーディング・ブロックを維持するために、スキャニング処理は、2つの近接しない近傍ブロックに対してのみ実行される。第3の近接しない近傍ブロックは、第1の及び第2の近接しない近傍ブロックの水平及び垂直ポジションに依存し得る。
【0149】
いくつかの実施形態では、
図9に示されるように、スキャニング処理は、B及びCのポジションに対してのみ実行される。Aのポジションは、Cの水平ポジション及びBの垂直ポジションによって一意に決定され得る。
【0150】
有効な仮想コーディング・ブロックを形成するために、Aのポジションは、少なくとも有効である必要があり得る。ポジションAの有効性は、ポジションAにおける動き情報が利用可能であるか否かとして定義され得る。1つの実施形態では、仮想コーディング・ブロックを形成するために動き情報が利用可能であるように、ポジションAに位置するコーディング・ブロックは、インター・モードにおいてコーディングされる必要があり得る。
【0151】
いくつかの実施形態では、スキャニング・エリア及び距離は、特定のスキャニング方向に従って定義され得る。
【0152】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側に垂直であり得る。1つの実施例が
図10に示され、スキャニング・エリアは、カレント・ブロックの左又は上の連続した動きフィールドの1つのラインとして定義される。スキャニング距離は、スキャニング・ポジションからカレント・ブロックの側までの動きフィールドの数として定義される。動きフィールドのサイズは、適用可能なビデオ・コーディング標準規格の最大粒度に依存し得ることに留意されよう。
図10に示される実施例では、動きフィールドのサイズは、現在のVVC標準規格と整合され、4×4に設定されると想定される。
【0153】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側に平行であり得る。1つの実施例が
図11に示され、
図11では、スキャニング・エリアは、カレント・ブロックの左又は上の連続したコーディング・ブロックの1つのラインとして定義される。
【0154】
いくつかの実施形態では、スキャニング方向は、カレント・ブロックの側への垂直及び水平スキャニングの組み合わせであり得る。1つの実施例が
図12に示される。
図12に示されるように、スキャニング方向はまた、並列及び対角線の組み合わせであり得る。ポジションBにおけるスキャニングは、左から右に、次いで、対角線方向において左及び上のブロックへと開始する。ポジションBにおけるスキャニングは、
図12に示されるように繰り返す。同様に、ポジションCにおけるスキャニングは、最上から下に、次いで、対角線方向において左及び上のブロックへと開始する。ポジションCにおけるスキャニングは、
図12に示されるように繰り返す。
【0155】
スキャニング順序
いくつかの実施形態では、スキャニング順序は、カレント・コーディング・ブロックへのより短い距離を有するポジションからより長い距離を有するポジションまでとして定義され得る。この順序は、垂直スキャニングのケースに適用され得る。
【0156】
いくつかの実施形態では、スキャニング順序は、固定パターンとして定義され得る。この固定パターン・スキャニング順序は、類似の距離を有する候補ポジションに対して使用され得る。1つの実施例は、水平スキャニングのケースである。1つの実施例では、
図11に示される実施例と同様に、スキャニング順序は、左のスキャニング・エリアに対して最上-下方向として定義され得、上のスキャニング・エリアに対して左から右への方向として定義され得る。
【0157】
組み合わせスキャニング方法のケースについて、
図12に示される実施例と同様に、スキャニング順序は、固定パターン及び距離依存の組み合わせであり得る。
【0158】
スキャニング完結
構築済みマージ候補に対し、適格とされた候補は、並進MVのみが必要になるので、アフィン・コーディングされる必要がない。
【0159】
必要とされる候補の数に応じて、スキャニング処理は、最初のX個の適格とされた候補が識別されるときに完結され得、Xは、正の値である。
【0160】
図9に示されるように、仮想コーディング・ブロックを形成するために、A、B、及びCと命名される3つの隅が必要になる。より容易な実装のために、ステップ1におけるスキャニング処理は、隅B及びCに位置する近接しない近傍ブロックを識別するためにのみ実行され得ると共に、Aの座標は、Cの水平座標及びBの垂直座標を取ることによって正確に決定され得る。このようにして、形成された仮想コーディング・ブロックは、矩形であるように制約される。B又はC点のいずれかが利用可能でない、例えば、境界の外であり、又はB若しくはCに対応する近接しない近傍ブロックにおける動き情報が利用可能でない(例えば、ブロックがイントラ・モード若しくはスクリーン-コンテンツ・モードケースにおいてコーディングされる)ケースでは、Cの水平座標又は垂直座標は、カレント・ブロックの左最上の点の水平座標又は垂直座標それぞれとして定義され得る。
【0161】
別の実施形態では、隅B及び/又は隅Cがステップ1におけるスキャニング処理から最初に決定されるとき、隅B及び/又はCに位置する近接しない近傍ブロックがそれに従って識別され得る。2番目に、隅B及び/又はCのポジション(複数可)は、各々の近接しない近傍ブロックの質量中心など、対応する近接しない近傍ブロック内の旋回点にリセットされ得る。例えば、質量中心は、各々の近傍ブロックの幾何学的中心として定義され得る。
【0162】
図9に示されるように、スキャニング処理が隅B及び隅Cに対して実行されるとき、処理は、共同して又は独立して実行され得る。独立したスキャニングの実施例では、前に提案されたスキャニング方法は、隅B及びCに対して別個に適用され得る。共同スキャニングの実施例では、以下のように異なる方法が存在し得る。
【0163】
1つの実施形態では、ペアワイズ・スキャニングが実行され得る。ペアワイズ・スキャニングの1つの実施例では、隅B及びCについての候補ポジションは、同時に前進する。より容易な例示のために、及び汎用性を失うことなく、
図17Bを例として採用することになる。
図17Bに示されるように、隅Bのスキャニングは、カレント・ブロックの上側に位置する最初の近接しない近傍ブロックから、下-上方向において開始する。隅Cのスキャニングは、カレント・ブロックの左側に位置する最初の近接しない近傍ブロックから、右-左方向において開始する。したがって、
図17Bに示される実施例では、ペアワイズ・スキャニングは、B及びCの両方の候補ポジションがステップ・サイズの1つの単位により前進するとして定義され得、ステップ・サイズの1つの単位は、隅Bについてのカレント・コーディング・ブロックの高さとして定義され、隅Cについてのカレント・コーディング・ブロックの幅として定義される。
【0164】
別の実施形態では、代替的なスキャニングが実行され得る。代替的なスキャニングの1つの実施例では、隅B及びCについての候補ポジションは、交互に前進する。1つのステップにおいて、B又はCのポジションのみが前進し得ると共に、C又はBのポジションが変化しない。1つの実施例では、隅Bのポジションは、最初の近接しない近傍ブロックから最大数の近接しない近傍ブロックにおける距離まで漸進的に増大し得ると共に、隅Cのポジションは、最初の近接しない近傍ブロックに残る。次のラウンドでは、隅Cのポジションは、2つ目の近接しない近傍ブロックに移動し、隅Bのポジションは、最初から最大値まで再度横断する。ラウンドは、全ての組み合わせが横断するまで続く。
【0165】
統一を目的として、継承済みマージ候補を導出するために提案された、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を定義する方法は、構築済みマージ候補を導出するために完全に又は部分的に再使用され得る。1つ以上の実施形態では、それらに限定されないが、スキャニング・エリア及び距離、スキャニング順序、並びにスキャニング完結を含む、継承済みマージ候補スキャニングのために定義された同一の方法は、構築済みマージ候補スキャニングのために完全に再使用され得る。
【0166】
いくつかの実施形態では、継承済みマージ候補スキャニングのために定義された同一の方法は、構築済みマージ候補スキャニングのために部分的に再使用され得る。
図16は、このケースにおける実施例を示す。
図16では、各々の近接しない近傍ブロックのブロック・サイズは、カレント・ブロックと同一であり、それは、継承済み候補スキャニングとして同様に定義されるが、各々の距離におけるスキャニングが1つのブロックでのみであるとして制限されるので、全体的な処理は、簡易化されたバージョンである。
【0167】
図17A~17Bは、このケースにおける別の実施例を表す。
図17A~17Bでは、近接しない継承済みマージ候補及び近接しない構築済みマージ候補の両方は、カレント・コーディング・ブロックと同一のブロック・サイズにより定義されると共に、スキャニング順序、スキャニング・エリア、及びスキャニング完結条件は、異なって定義され得る。
【0168】
図17Aでは、左側の近接しない近傍についての最大距離は、4つのコーディング・ブロックであると共に、上側の近接しない近傍についての最大距離は、5つのコーディング・ブロックである。また、各々の距離において、スキャニング方向は、左側に対して下-上、上側に対して右-左である。
図17Bでは、近接しない近傍の最大距離は、左側及び上側の両方に対して4である。加えて、各々の距離において1つのブロックのみが存在することを理由に、特定の距離におけるスキャニングは利用可能でない。
図17Aでは、M個の適格とされた候補が識別される場合、各々の距離内のスキャニング演算が完結され得る。Mの値は、1の値又はいずれかの他の正の整数などの予め定義された固定値、或いはエンコーダによって決定されたシグナリングされた値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Mの値は、マージ候補リスト・サイズと同一であり得る。
【0169】
図17A~17Bでは、N個の適格とされた候補が識別される場合、異なる距離におけるスキャニング演算が完結され得る。Nの値は、1の値又はいずれかの他の正の整数などの予め定義された固定値、或いはエンコーダによって決定されたシグナリングされた値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Nの値は、マージ候補リスト・サイズと同一であり得る。別の実施例では、Nの値は、Mの値と同一であり得る。
【0170】
図17A及び17Bの両方では、カレント・ブロックにより近い距離を有する近接しない空間的近傍が優先付けられ得、それは、距離iを有する近接しない空間的近傍は、距離i+1を有する近傍よりも前にスキャン又はチェックされることを示し、iは、特定の距離を表す負でない整数であり得る。
【0171】
特定の距離において、最大で2つの近接しない空間的近傍が使用され、それは、利用可能である場合、カレント・ブロックの1つの側、例えば、左及び上からの最大で1つの近傍が継承済み又は構築済み候補導出のため選択されることを意味する。
図17Aに示されるように、左側及び上側の近傍のチェッキング順序は、下-上及び右-左のそれぞれである。
図17Bについて、このルールも適用され得、差は、いずれかの特定の距離において、カレント・ブロックの側ごとに1つのオプションのみが存在することであり得る。
【0172】
構築済み候補に対し、
図17Bに示されるように、1つの左及び上の近接しない空間的近傍のポジションが最初に独立して決定される。その後、左及び上の近接しない近傍と共に矩形仮想ブロックを囲むことができる、左最上の近傍の位置が、それに従って決定され得る。次いで、
図9に示されるように、3つの近接しない近傍の動き情報は、対応する構築済み候補を生成するために最終的にカレントCUに投影される、仮想ブロックの左最上(A)、右最上(B)、及び左下(C)においてCPMVを形成するために使用される。
【0173】
ステップ2では、ステップ1の後の選択された候補のポジションにおける並進MVが評価され、適切なアフィン・モデルが決定され得る、より容易な例示のために、及び汎用性を失うことなく、
図9が再度例として使用される。
【0174】
ハードウェア制約、実装の複雑度、及び異なる参照インデックスなどの因子に起因して、十分な数の候補が識別される前にスキャニング処理が完結され得る。例えば、ステップ1の後の選択された候補の1つ以上における動きフィールドの動き情報が利用可能であり得ない。
【0175】
全ての3つの候補の動き情報が利用可能である場合、対応する仮想コーディング・ブロックは、6-パラメータ・アフィン・モデルを表す。3つの候補の1つの動き情報が利用可能でない場合、対応する仮想コーディング・ブロックは、4-パラメータ・アフィン・モデルを表す。3つの候補の1つよりも多い動き情報が利用可能でない場合、対応する仮想コーディング・ブロックは、有効なアフィン・モデルを表すために使用不可であり得る。
【0176】
いくつかの実施形態では、仮想コーディング・ブロックの左最上隅、例えば、
図9における隅Aの動き情報が利用可能でない場合、又は右最上隅、例えば、
図9における隅B、及び左下隅、例えば、
図9における隅Cの両方における動き情報が利用可能でない場合、仮想ブロックは、無効であるとして設定され得、有効なモデルを表すために使用不可であり得、次いで、ステップ3及びステップ4は、現在の反復の間にスキップされ得る。
【0177】
いくつかの実施形態では、両方が利用可能でないわけではないが、右最上隅、例えば、
図9における隅B、又は左下隅、例えば、
図9における隅Cのいずれかが利用可能でない場合、仮想ブロックは有効な4-パラメータ・アフィン・モデルを表し得る。
【0178】
ステップ3では、仮想コーディング・ブロックが有効なアフィン・モデルを表すことが可能である場合、継承済みマージ候補に対して使用される同一の投影処理が使用され得る。
【0179】
1つ以上の実施形態では、継承済みマージ候補に対して使用される同一の投影処理が使用され得る。このケースでは、ステップ2からの仮想コーディング・ブロックによって表される4-パラメータ・モデルは、カレント・ブロックに対して4-パラメータ・モデルに投影され、ステップ2からの仮想コーディング・ブロックによって表される6-パラメータ・モデルは、カレント・ブロックに対して6-パラメータ・モデルに投影される。
【0180】
いくつかの実施形態では、ステップ2からの仮想コーディング・ブロックによって表されるアフィン・モデルは、カレント・ブロックに対して4-パラメータ・モデル又は6-パラメータ・モデルに常に投影される。
【0181】
式(5)及び(6)に従って、2つのタイプの4-パラメータ・アフィン・モデルが存在し得、タイプAは、V0及びV1と称される左最上隅CPMV及び右最上隅CPMVが利用可能であることであり、タイプBは、V0及びV2と称される左最上隅CPMV及び左下隅CPMVが利用可能であることである。
【0182】
1つ以上の実施形態では、投影済み4-パラメータ・アフィン・モデルのタイプは、仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルの同一のタイプである。例えば、ステップ2からの仮想コーディング・ブロックによって表されるアフィン・モデルは、タイプA又はBの4-パラメータ・アフィン・モデルであり、次いで、カレント・ブロックに対する投影済みアフィン・モデルも、タイプA又はBのそれぞれである。
【0183】
いくつかの実施形態では、ステップ2からの仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルは、カレント・ブロックに対して同一のタイプの4-パラメータ・モデルに常に投影される。例えば、仮想コーディング・ブロックによって表される4-パラメータ・アフィン・モデルのタイプA又はBは、タイプAの4-パラメータ・アフィン・モデルに常に投影される。
【0184】
ステップ4では、ステップ3の後の投影済みCPMVに基づいて、1つの実施例では、現在のVVC又はAVS標準規格において使用される同一の候補生成処理が使用され得る。別の実施形態では、現在のVVC又はAVS標準規格において使用される候補生成処理において使用される時間動きベクトルは、近接しない近傍ブロック・ベース導出方法のために使用され得ない。時間動きベクトルが使用されないとき、それは、生成された組み合わせがいずれの時間動きベクトルをも包含しないことを示す。
【0185】
ステップ5では、ステップ4の後のいずれかの新たに生成された候補は、マージ候補リスト内に既にある全ての既存の候補に対して類似性チェックを受け得る。類似性チェックの詳細は、「アフィン・マージ候補プルーニング」のセクションにおいて既に説明されている。新たに生成された候補が候補リスト内のいずれかの既存の候補と類似であるとして発見される場合、新たに生成された候補は、除去又はプルーニングされる。
【0186】
アフィン構築済みマージ候補に対する継承ベース導出方法
アフィン継承済み候補ごとに、全ての動き情報は、アフィン・モードにおいてコーディングされた1つの選択された空間的近傍ブロックから継承される。継承済み情報は、CPMV、参照インデックス、予測方向、アフィン・モデル・タイプ等を含む。一方で、アフィン構築済み候補ごとに、全ての動き情報は、2つ又は3つの選択された空間的又は時間的近傍ブロックから構築されると共に、選択された近傍ブロックは、アフィン・モードにおいてコーディングされず、並進動き情報のみが選択された近傍ブロックから必要である。
【0187】
このセクションでは、継承済み候補及び構築済み候補の特徴を組み合わせる新たな候補導出方法が開示される。
【0188】
いくつかの実施形態では、継承及び構築の組み合わせは、アフィン・モデル・パラメータを異なるグループに分離することによって実現され得、アフィン・パラメータの1つのグループは、1つの近傍ブロックから継承され、アフィン・パラメータの他のグループは、他の近傍ブロックから継承される。
【0189】
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に示される方法など、正規のインター・コーディング済み近傍ブロックから仮想的に構築され得る。
【0190】
いくつかの実施例では、各々のグループと関連付けられた近傍ブロックは、異なる方法において決定され得る。1つの方法では、パラメータの異なるグループに対する近傍ブロックは、近接しない近傍エリアからの全てであり得ると共に、スキャニング方法は、近接しない近傍ベース導出処理のための前に提案された方法と同様に設計され得る。別の方法では、パラメータの異なるグループに対する近傍ブロックは、近接する近傍エリアからの全てであり得ると共に、スキャニング方法は、現在のVVC又はAVSビデオ標準規格と同一であり得る。別の方法では、パラメータの異なるグループに対する近傍ブロックは、近接するエリアからの部分的であり得、近接しない近傍エリアから部分的であり得る。
【0191】
近傍ブロックが候補の現在のタイプを構築するために近接しない近傍エリアからスキャンされるとき、スキャニング処理は、アフィン継承済み候補に対して近接しない近傍ベース導出処理とは異なって実行され得る。1つ以上の実施形態では、スキャニング・エリア、距離、及び順序が同様に定義され得るが、スキャニング完結ルールが異なって規定され得る。例えば、近接しない近傍ブロックは、各々のエリアにおける定義済み最大距離内で排他的にスキャンされ得る。このケースでは、距離内の全ての近接しない近傍ブロックは、スキャニング順序を遵守することによってスキャンされ得る。いくつかの実施形態では、スキャニング・エリアは、異なり得る。例えば、左及び上のエリアに加えて、カレント・コーディング・ブロックの右下の近接するエリア及び近接しないエリアは、並進又は/及び非並進パラメータを生成するために、近傍を決定するようにスキャンされ得る。加えて、右下のエリアにおいてスキャンされた近傍は、空間的近傍の代わりに、同一位置にある時間的近傍を発見するために使用され得る。1つのスキャニング基準は、右下の同一位置にある時間的近傍がアフィン構築済み近傍を生成するために既に使用されているかどうかに基づいて条件付きであり得る。既に使用されている場合、スキャニングが実行されず、そうでなければ、スキャニングが実行される。代わりに、右下の同一位置にある時間的近傍(複数可)が利用可能であることを意味する、既に使用されている場合、スキャニングが実行され、そうでなければ、スキャニングが実行されない。
【0192】
アフィン・パラメータのいくつかのグループが新たな候補を構築するように組み合わされるとき、遵守されることになるいくつかのルールが存在し得る。1つ目は、適格基準である。1つの実施例では、グループごとの関連する近傍ブロック又はブロック(複数可)は、少なくとも1つの方向又は両方の方向に対して同一の参照ピクチャを使用するかどうかをチェックされ得る。別の実施例では、グループごとの関連する近傍ブロック又はブロック(複数可)は、動きベクトルに対して同一の精度/解像度を使用するかどうかをチェックされ得る。
【0193】
或る基準がチェックされるとき、グループごとの最初のX個の関連する近傍ブロック(複数可)が使用され得る。Xの値は、パラメータの異なるグループに対して同一又は異なる値として定義され得る。例えば、非並進アフィン・パラメータを包含する最初の1又は2つの近傍ブロックが使用され得ると共に、並進アフィン・パラメータを包含する最初の3又は4つの近傍ブロックが使用され得る。
【0194】
2つ目は、構築式である。1つの実施例では、新たな候補のCPMVは、以下の式において導出され得る:
【数9】
(x,y)は、カレント・コーディング・ブロック内の隅のポジション(例えば、左最上隅CPMVに対する(0,0)右最上隅CPMVに対する(width,0))、であり、{c,d,e,f}は、1つの近傍ブロックからのパラメータの1つのグループであり、{a,b}は、別の近傍ブロックからのパラメータの別のグループである。
【0195】
別の実施例では、新たな候補のCPMVは、以下の式において導出され得る:
【数10】
(Δw,Δh)は、{a,b}のグループの関連する近傍ブロックなど、パラメータの1つのグループに対するカレント・コーディング・ブロックの左最上隅と関連する近傍ブロック(複数可)の1つの左最上隅との間との距離である。この式における他のパラメータの定義は、上記の実施例と同一である。パラメータは、別の方法においてグループ化され得、(a,b,c,d,e,f)は、1つのグループとして形成されると共に、(Δw,Δh)は、別のグループとして形成される。また、パラメータの2つのグループは、2つの異なる近傍ブロックからである。代わりに、(Δw,Δh)の値は、近傍ブロックとカレント・ブロックとの間の距離に依存しない、(0,0)などの固定値又はいずれかの一定の値として予め定義され得る。
【0196】
図18は、アフィン構築済み候補を導出する継承ベース導出方法の実施例を示す。
図18では、アフィン構築済み候補を導出するための3つのステップが存在する。ステップ1では、特定のグループ化戦略に従って、エンコーダ又はデコーダは、グループごとに近接する近傍ブロック及び近接しない近傍ブロックのスキャニングを実行し得る。
図18のケースでは、2つのグループが定義され、近傍1は、アフィン・モードにおいてコーディングされ、非並進アフィン・パラメータを提供すると共に、近傍2は、並進アフィン・パラメータを提供する。近傍1は、
図15A~15D及び17Aに示されるような「アフィン継承済みマージ候補に対する近接しない近傍ベース導出処理」のセクションにおける処理に従って取得され得ると共に、近傍1は、カレント・ブロックの近接する又は近接しない近傍ブロックであり得る。更に、近傍2は、
図16及び17Bに示されるような処理に従って取得され得る。
【0197】
いくつかの実施形態では、アフィン・モードにおいてコーディングされた、近傍1は、上記で提案されたスキャニング方法を遵守することによって、近接する又は/及び近接しないエリアからスキャンされ得る。いくつかの実施形態では、アフィン・モード又は非アフィン・モードにおいてコーディングされた、近傍2も、近接する又は近接しないエリアからスキャンされ得る。例えば、近傍2は、動き情報がいくつかのアフィン・マージ又はAMVP候補を導出するために既に使用されていない場合、スキャンされた近接する若しくは近接しないエリアの1つからであり得、或いはこのポジションにおける同一位置にあるTMVP候補が利用可能であり、又は/及びいくつかのアフィン・マージ若しくはMVP候補を導出するために既に使用されている場合、カレント・ブロックの右下のポジションからであり得る。代わりに、新たな候補を構築するための僅かに多様化した動き情報を提供するために、近傍2のポジションを決定するときに小さな座標オフセット(例えば、垂直又は/及び水平座標に対する+1又は+2又は-1又は-2)が適用され得る。
【0198】
ステップ2では、ステップ1において決定されたパラメータ及びポジションにより、CPMVの座標(x,y)に従って異なるCPMVを導出することができる、特定のアフィン・モデルが定義され得る。例えば、
図18に示されるように、非並進パラメータ{c,d,e,f}は、ステップ1において取得された近傍1に基づいて取得され得、並進パラメータ{a,b}は、ステップ1において取得された近傍2に基づいて取得され得る。更に、距離パラメータΔw,Δhは、よって、カレント・ブロックのポジション(x
1,y
1)及び近傍2のポジション(x
2,y
2)に基づいて取得され得る。距離パラメータΔw,Δhはそれぞれ、カレント・ブロックと近傍1又は近傍2との間の水平距離及び垂直距離を示し得る。例えば、距離パラメータΔw,Δhはそれぞれ、カレント・ブロックと近傍2との間の水平距離(x
1-x
2)を示し得、カレント・ブロックと近傍2との間の垂直距離(y
1-y
2)を示し得る。特に、Δw=x
1-x
2、Δh=y
1-y
2である。
【0199】
ステップ3では、2つ又は3つのCPMVが、カレント・コーディング・ブロックに対して導出され、カレント・コーディング・ブロックは、新たなアフィン候補を形成するように構築され得る。
【0200】
いくつかの実施形態では、他の予測情報が更に構築され得る。近傍ブロックが同一の方向及び/又は参照ピクチャを有するとチェックされる場合、予測方向(例えば、双予測又は単予測された)及び参照ピクチャのインデックスは、関連する近傍ブロックと同一であり得る。代わりに、予測情報は、異なるグループからの関連する近傍ブロックの中で最小のオーバラップする情報を再使用することによって決定される。例えば、1つの近傍ブロックからの1つの方向の参照インデックスのみが他の近傍ブロックの同一の方向の参照インデックスと同一である場合、新たな候補の予測方向は、単予測として決定され、同一の参照インデックス及び方向が再使用される。
【0201】
アフィン構築済みマージ候補に対するHMVPベース導出方法
現在のビデオ標準規格VVC及びAVSにおいて既に定義され、上記のセクション及び
図7において説明された、近接する近傍ベース導出処理のケースでは、近接する近傍に対するスキャニングの固定順序は、2つ又は3つの近接する近傍ブロックを識別するように実行される。前のセクション及び
図17Bにおいて提案されるように、近接しない近傍ベース導出処理のケースでは、2つの近接しない近傍は、別の固定順序のスキャニングの間に識別される。言い換えると、近接する近傍ベース導出方法及び近接しない近傍ベース導出方法の両方について、ローカル・スキャニングの或る深度は、近傍の数を識別するために必然である。このスキャニング処理は、各々のカレント・ブロックの周りのローカル・バッファリングに依存し、また、或る量の計算の複雑度を被る。
【0202】
一方で、導入セクションにおいて説明されるように、HMVPマージ・モードは、現在のVVC及びAVSにおいて既に採用されており、近傍ブロックからの並進動き情報は、履歴テーブルに既に記憶されている。このケースでは、スキャニング処理は、HMVPテーブルを探索することによって置き換えられ得る。
【0203】
したがって、前に提案された近接しない近傍ベース導出処理及び継承ベース導出処理について、
図17B及び
図18に示されるようなスキャニング方法の代わりに、並進動き情報は、HMVPテーブルから取得され得る。しかしながら、その後アフィン構築済み候補を導出するために、カレントHMVPテーブルが修正され得る場合にアクセス可能であり得る、ポジション情報、幅、高さ、及び参照情報も必要である。したがって、各々の履歴近傍の動き情報に加えて追加の情報を記憶するためにHMVPテーブルを拡張することが提案される。1つの実施形態では、追加の情報は、アフィン又は非アフィン近傍ブロックのポジション、又はCPMVなどのアフィン動き情報若しくはCPMVから導出された同等の正規動き(例えば、この正規動きは、アフィン・コーディング済み近傍ブロックの内部サブ・ブロックからであり得る)、参照インデックスなどを含み得る。
【0204】
アフィンAMVP及び正規マージ・モードに対する候補導出方法
上記のセクションにおいて説明されたように、アフィンAMVPモードに対し、アフィン候補リストも、CPMVプレディクタを導出するために必要である。結果として、全ての上記で提案された導出方法は、アフィンAMVPモードに同様に適用され得る。唯一の差は、上記で提案された導出方法がAMVPにおいて適用されるとき、選択された近傍ブロックがカレント・コーディング・ブロックと同一の参照ピクチャ・インデックスを有するはずであることである。
【0205】
正規マージ・モードに対し、候補リストも、CPMVではなく、並進候補MVのみにより構築される。このケースでは、全ての上記で提案された導出方法はなお、追加の導出ステップを追加することによって適用され得る。この追加の導出ステップでは、それは、カレント・ブロックに対して並進MVを導出することであり、それは、カレント・ブロック内の特定の旋回ポジション(x,y)を選択することによって実現され得、同一の式(3)を遵守し得る。言い換えると、アフィン・ブロックのCPMVを導出するために、ブロックの3つの隅のポジションは、式(3)において旋回ポジション(x,y)として使用されると共に、正規のインター・コーディング済みブロックの並進MVを導出するために、ブロックの中心ポジションは、式(3)において旋回ポジション(x,y)として使用され得る。並進MVがカレント・ブロックに対して導出されると、それは、他の候補として候補リストに挿入され得る。
【0206】
新たな候補がアフィンAMVP及び正規マージ・モードに対して上記で提案された方法に基づいて導出されるとき、新たな候補の置き換えは、再順序付けされ得る。
【0207】
1つの実施形態では、新たに導出される候補は、以下の順序を遵守することによって、アフィンAMVP候補リストに挿入され得る:
(1)近接する空間的近傍から継承された、
(2)近接する空間的近傍から構築された、
(3)近接しない空間的近傍から継承された、
(4)近接しない空間的近傍から構築された、
(5)近接する空間的近傍からの並進MV、
(6)近接する時間的近傍からの時間的MV、及び
(7)ゼロMV。
【0208】
別の実施形態では、新たに導出される候補は、以下の順序を遵守することによって、アフィンAMVP候補リストに挿入され得る:
(1)近接する空間的近傍から継承された、
(2)近接する空間的近傍から構築された、
(3)近接しない空間的近傍から継承された、
(4)近接する空間的近傍からの並進MV、
(5)近接しない空間的近傍から構築された、
(6)近接する時間的近傍からの時間的MV、及び
(7)ゼロMV。
【0209】
別の実施形態では、新たに導出される候補は、以下の順序を遵守することによって、アフィンAMVP候補リストに挿入され得る:
(1)近接する空間的近傍から継承された、
(2)近接する空間的近傍から構築された、
(3)近接する空間的近傍からの並進MV、
(4)近接しない空間的近傍から継承された、
(5)近接しない空間的近傍から構築された、
(6)近接する時間的近傍からの時間的MV、及び
(7)ゼロMV。
【0210】
別の実施形態では、新たに導出される候補は、以下の順序を遵守することによって、アフィンAMVP候補リストに挿入され得る:
(1)近接する空間的近傍から継承された、
(2)近接する空間的近傍から構築された、
(3)近接する空間的近傍からの並進MV、
(4)近接する時間的近傍からの時間的MV、
(5)近接しない空間的近傍から継承された、
(6)近接しない空間的近傍から構築された、及び
(7)ゼロMV。
【0211】
別の実施形態では、新たに導出される候補は、以下の順序を遵守することによって、アフィンAMVP候補リストに挿入され得る:
(1)近接する空間的近傍から継承された、
(2)近接する空間的近傍から構築された、
(3)近接する空間的近傍からの並進MV、
(4)近接する時間的近傍からの時間的MV、
(5)近接しない空間的近傍から継承された、及び
(6)ゼロMV。
【0212】
別の実施形態では、新たに導出される候補は、以下の順序を遵守することによって、正規マージ候補リストに挿入され得る:
(1)近接する空間的近傍からの空間的MVP、
(2)近接する同一位置にある近傍からの時間的MVP、
(3)近接しない空間的近傍からの空間的MVP、
(4)近接しない空間的アフィン近傍からの継承済みMVP、
(5)近接しない空間的近傍からの構築済みMVP
(6)FIFOテーブルからの履歴ベースMVP、
(7)ペアワイズ平均MVP、及び
(8)ゼロMV。
【0213】
アフィン・マージ候補リストの再順序付け
1つの実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、サブ・ブロック・ベース時間動きベクトル予測(subblock-based temporal motion vector prediction)(SbTMVP)候補、2.近接する近傍から継承された、3.近接しない近傍から継承された、4.近接する近傍から構築された、5.近接しない近傍から構築された、6.ゼロMV。
【0214】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接する近傍から構築された、4.近接しない近傍から継承された、5.近接しない近傍から構築された、6.ゼロMV。
【0215】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接する近傍から構築された、4.ゼロMVの1つのセット、5.近接しない近傍から継承された、6.近接しない近傍から構築された、7.リストがなおもフルでない場合、残りのゼロMV。
【0216】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、近接する近傍から継承された、3.Xよりも短い距離により近接しない近傍から継承された、4.近接する近傍から構築された、5.近接しない近傍から構築された、6.継承済み並進近傍及び非並進近傍から構築された、7.リストがなおもフルでない場合、ゼロMV。
【0217】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接しない近傍から継承された、4.近接する近傍から構築された最初の候補、5.継承済み並進近傍及び非並進近傍から構築された最初のX個の候補、6.近接しない近傍から構築された、7.継承済み並進近傍及び非並進近傍から構築された他のY個の候補、8.リストがなおもフルでない場合、ゼロMV。
【0218】
いくつかの実施例では、X及びYの値が、2の値などの予め定義された固定値、又はデコーダによって受信されたシグナリング済み値(シーケンス/スライス/ブロック/CTUレベルシグナリング済みパラメータ)、又はエンコーダ/デコーダにおける構成可能な値、又は各々の個々のコーディング・ブロックの左及び上の利用可能な近傍の数、若しくはX及びYの値を決定する方法のいずれかの組み合わせに従った動的に決定された値(例えば、X<=3、Y<=3)であり得る。1つの実施例では、Xの値は、Yの値と同一であり得る。別の実施例では、Xの値は、Yの値とは異なり得る。
【0219】
別の実施形態では、近接しない空間的マージ候補は、以下の順序を遵守することによって、アフィン・マージ候補リストに挿入され得る:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、Xよりも短い距離により近接しない近傍から継承された、4.近接する近傍から構築された、5.Yよりも短い距離により近接しない近傍から構築された、6.Xよりも長い距離により近接しない近傍から継承された、7.Yよりも長い距離により近接しない近傍から構築された、8.ゼロMV。この実施形態では、値X及びYは、2の値などの予め定義された固定値、又はエンコーダによって決定されたシグナリング済み値、又はエンコーダ若しくはデコーダにおける構成可能な値であり得る。1つの実施例では、Xの値は、Yの値と同一であり得る。別の実施例では、Nの値は、Mの値とは異なり得る。
【0220】
いくつかの実施形態では、新たな候補がアフィン動き及び並進MVを組み合わせることによってCPMVを構築する継承ベース導出方法を使用することによって導出される場合、この新たな候補の配置は、他の構築済み候補の配置に依存し得る。
【0221】
1つの実施形態では、異なる構築済み候補に対し、アフィン・マージ候補リストの再順序付けは、以下の順序を遵守し得る。
(1)近接する空間的近傍から構築された、
(2)近接する空間的アフィン近傍及び並進MVを組み合わせることから構築された、
(3)近接しない空間的近傍から構築された、並びに
(4)近接しない空間的アフィン近傍及び並進MVを組み合わせることから構築される。
【0222】
別の実施形態では、異なる構築済み候補に対し、アフィン・マージ候補リストの再順序付けは、以下の順序を遵守し得る。
(1)近接する空間的近傍から構築された、
(2)近接しない空間的近傍から構築された、
(3)近接する空間的アフィン近傍及び並進MVを組み合わせることから構築された、並びに
(4)近接しない空間的アフィン近傍及び並進MVを組み合わせることから構築される。
【0223】
アフィン候補リストの改善された再順序付け
上記で提案された候補導出方法に基づいて、既存のアフィン・マージ候補リスト、又はアフィンAMVP候補リスト、又は正規マージ候補リストに対して1つ以上の候補が導出され得、対応するリストのサイズは、統計的に(例えば、構成可能なサイズ)又は適応的に(例えば、エンコーダにおける可用性に従って動的に変更され、次いで、デコーダにシグナリングされる)調節され得る。1つ以上の新たな候補が正規マージ候補リストに対して導出されるとき、新たな候補がアフィン候補として最初に導出され、次いで、正規マージ候補リストに挿入される前に、コーディング・ブロック及び関連するアフィン・モデル内の旋回ポジション(例えば、中心サンプル又は画素ポジション)を使用することによって並進動きベクトルに転換されることに留意されよう。
【0224】
1つ以上の実施形態では、ARMCなどの適応的再順序付け方法は、上記で提案された候補導出方法によって導出されたいくつかの新たな候補を追加することによって、候補リストが更新又は構築された後、上記の候補リストの1つ以上に適用され得る。
【0225】
別の実施形態では、時間的候補リストが最初に作成され得、時間的候補リストは、既存の候補リスト(例えば、アフィン・マージ候補リスト、アフィンAMVP候補リスト、正規マージ候補リスト)よりも大きいサイズを有し得る。時間的候補リストが、新たに導出される候補を追加することによって構築され、上記で提案された挿入方法を使用することによって統計的に順序付けされると、ARMCなどの適応的再順序付け方法は、時間的候補リストを再順序付けるために適用され得る。適応的再順序付けの後、時間的候補リストの最初のN個の候補は、既存の候補リストに挿入され、Nの値は、固定値又は構成可能な値であり得る。1つの実施例では、Nの値は、既存の候補リストのサイズと同一であり得、時間的候補リストからの選択されたN個の候補が特定される。
【0226】
ARMCなどの適応的再順序付け方法を適用する上記の適用シナリオでは、適用される再順序付け方法の性能を改善し又は/及び複雑度を低減させるために、以下の方法が使用され得る。
【0227】
いくつかの実施形態では、テンプレート・マッチング・コストが異なる候補を再順序付けるために使用されるとき、カレント・ブロックのテンプレートのサンプルとそれらの対応する参照サンプルとの間の絶対差合計(SAD)などのコスト関数が使用され得る。テンプレートの参照サンプルは、カレント・ブロックの同一の動き情報によって特定され得る。分数動き情報がカレント・ブロックに対して使用されるケースでは、テンプレートの予測サンプルを生成するために、補間フィルタリング処理が使用され得る。生成された予測サンプルが、最終的なブロック再構築のためではなく、異なる候補の間の動き正確性を比較するためにまさに使用されるので、テンプレート・サンプルの予測正確性は、より小さいタップを有する補間フィルタを使用することによって緩和され得る。例えば、アフィン・マージ候補リストを適応的に再順序付けるケースでは、カレント・ブロックの選択されたテンプレートに対する予測サンプルを生成するために、2-タップ又は4タップ補間フィルタが使用され得る。又は、最も近い整数サンプル(補間フィルタリング処理を完全にスキップする)させ、テンプレートの予測サンプルとして使用され得る。正規マージ候補リスト又はアフィンAMVP候補リストなどの他の候補リスト内の候補を適応的に再順序付けるためにテンプレート・マッチング方法が使用されるとき、より小さいタップを有する補間フィルタが同様に使用され得る。
【0228】
いくつかの実施形態では、異なる候補を再順序付けるためにテンプレート・マッチング・コストが使用されるとき、カレント・ブロックのテンプレートのサンプルとそれらの対応する参照サンプルとの間のSADなどのコスト関数が使用され得る。対応する参照サンプルは、整数ポジション又は分数ポジションにおいて特定され得る。分数ポジションが特定されるとき、補間フィルタ処理を実行することによって、或るレベルの予測正確性が達成され得る。制限された予測正確性に起因して、異なる候補に対する計算されたマッチング・コストは、ノイズ・レベル差を包含し得る。ノイズ・レベル・コスト差の影響を低減させるために、候補ソーティング処理の前に最下位ビットの数ビットを除去することによって、計算されたマッチング・コストが調節され得る。
【0229】
いくつかの実施形態では、異なる導出方法を使用することによって、十分な候補が導出されない場合、候補リストは、各々のリストの最後にゼロMVによりパディングされ得る。このケースでは、候補コストは、最初のゼロMVに対してのみ計算され得ると共に、残りのゼロMVは、任意の大きなコスト値が統計的に割り当てられ得、その結果、それらの繰り返されるゼロMVは、対応する候補リストの最後に配置される。
【0230】
いくつかの実施形態では、全てのゼロMVは、任意の大きなコスト値が統計的に割り当てられ得、その結果、全てのゼロMVは、対応する候補リストの最後に配置される。
【0231】
いくつかの実施形態では、前の完結方法は、デコーダ側における複雑度を低減させるために、再順序付け方法に対して適用され得る。
【0232】
1つ以上の実施形態では、候補リストが構築されるとき、異なるタイプの候補が導出され得、リストに挿入され得る。1つの候補又は1つのタイプの候補が再順序付け処理に参加されないが、選択され及びデコーダにシグナリングされる場合、他の候補に適用される再順序付け処理は、早期に完結され得る。1つの実施例では、アフィン・マージ候補リストに対してARMCを適用するケースでは、SbTMVP候補は、再順序付け処理から除外され得る。このケースでは、アフィン・コーディング済みブロックに対するシグナリングされたマージ・インデックス値がデコーダ側におけるSbTMVP候補を示す場合、ARMC処理がこのアフィン・ブロックに対してスキップされ得又は早期に完結され得る。
【0233】
別の実施形態では、1つの候補又は1つのタイプの候補が再順序付け処理に参加されないが、選択され及びデコーダにシグナリングされない場合、この特定の候補又はこの特定のタイプの候補に対する導出処理及び再順序付け処理の両方がスキップされ得る。スキップされた導出処理及び再順序付け処理は、特定の候補又は特定のタイプの候補に適用されるにすぎないと共に、残りの候補又はタイプの候補がなおも実行され、導出処理がスキップされ、それは、特定の候補又はこの特定のタイプの候補を導出する関連する演算がスキップされることを示すが、予め定義された特定の候補又はこの特定のタイプの候補のリスト・ポジション(例えば、予め定義された挿入順序に従った)がなおも維持され得、スキップされた導出処理に起因して、動き情報などの候補コンテンツがまさに無効であり得ることに留意されよう。同様に、再順序付け処理の間、この特定の候補又はこの特定のタイプの候補のコスト計算がスキップされ得、この特定の候補又はこの特定のタイプの候補のリスト・ポジションは、他の候補を再順序付けた後に変更され得ない。
【0234】
図21は、ユーザ・インタフェース2160に結合されたコンピューティング環境(又は、コンピューティング・デバイス)2110を示す。コンピューティング環境2110は、データ・プロセシング・サーバの一部であることができる。いくつかの実施形態では、コンピューティング・デバイス2110は、本開示の様々な実施例に係る、以下で説明されるような様々な方法又は処理(符号化/復号方法又は処理)のいずれかを実行することができる。コンピューティング環境2110は、プロセッサ2120、メモリ2140、及びI/Oインタフェース2150を含み得る。
【0235】
プロセッサ2120は、典型的には、表示、データ獲得、データ通信、及び画像処理と関連付けられた演算など、コンピューティング環境2110の全体的な演算を制御する。プロセッサ2120は、上記で説明された方法におけるステップの全て又は一部を実行する命令を実行するための1つ以上のプロセッサを含み得る。その上、プロセッサ2120は、プロセッサ2120と他の構成要素との間の相互作用を促進する1つ以上のモジュールを含み得る。プロセッサは、セントラル・プロセシング・ユニット(CPU)、マイクロ・プロセッサ、単一のチップ・マシン、又はGPUなどであり得る。
【0236】
メモリ2140は、コンピューティング環境2110の演算をサポートするための様々なタイプのデータを記憶するように構成される。メモリ2140は、予め定められたソフトウェア2142を含み得る。そのようなデータの例は、コンピューティング環境2110上で動作するいずれかのアプリケーション又は方法に対する命令、ビデオ・データセット、画像データなどを含む。メモリ2140は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、消去可能プログラム可能リード・オンリ・メモリ(EPROM)、プログラム可能リード・オンリ・メモリ(PROM)、リード・オンリ・メモリ(ROM)、磁気メモリ、フラッシュ・メモリ、磁気又は光学ディスクなど、いずれかのタイプの揮発性若しくは不揮発性メモリ・デバイス、又はそれらの組み合わせを使用することによって実装され得る。
【0237】
I/Oインタフェース2150は、キーボード、クリック・ホイール、及びボタンなど、プロセッサ2120と周辺インタフェース・モジュールとの間のインタフェースを提供する。ボタンは、それらに限定されないが、ホーム・ボタン、開始スキャン・ボタン、及び停止スキャン・ボタンを含み得る。I/Oインタフェース2150は、エンコーダ及びデコーダと結合され得る。
【0238】
いくつかの実施形態では、上記で説明された方法を実行するための、コンピューティング環境2110内のプロセッサ2120によって実行可能な、メモリ2140に含まれるなどの複数のプログラムを含む非一時的コンピュータ可読記憶媒体も提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピー・ディスク、又は光学データ記憶装置などであり得る。
【0239】
非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサを有するコンピューティング・デバイスによる実行のための複数のプログラムをそこに記憶しており、複数のプログラムは、1つ以上のプロセッサによって実行されるとき、コンピューティング・デバイスに、動き予測のための上記で説明された方法を実行させる。
【0240】
いくつかの実施形態では、コンピューティング環境2110は、上記の方法を実行するための、1つ以上の特定用途向け集積回路(ASIC)、デジタル・シグナル・プロセッサ(DSP)、デジタル・シグナル・プロセシング・デバイス(DSPD)、プログラマブル論理回路(PLD)、フィールド・プログラマブル・ゲートアレイ(FPGA)、グラフィカル・プロセシング・ユニット(GPU)、コントローラ、マイクロ・コントローラ、マイクロ・プロセッサ、又は他の電子構成要素により実装され得る。
【0241】
図22は、本開示の実施例に係るビデオ復号のための方法を例示するフローチャートである。
【0242】
ステップ2201では、デコーダ側におけるプロセッサ2120は、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上のMV候補を取得し得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0243】
ステップ2202では、プロセッサ2120は、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定し得、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリアを含み得る。
【0244】
いくつかの実施例では、プロセッサ2120は、第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定し得、少なくとも1つのスキャニング距離は、第1のスキャニング距離を含み得る。
【0245】
ステップ2203では、プロセッサ2120は、完結条件が満たされると決定したことに応答して、少なくとも1つのスキャニング・エリアをスキャンすることを停止し得る。
【0246】
いくつかの実施例では、完結条件は、異なるスキャニング完結を遵守すること、第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第1の値に到達すると決定すること、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定すること、又は第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた予め定められた第1の値に到達し、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定することを含み得る。いくつかの実施例では、予め定められた第1の値は、予め定められた第2の値と同一である。いくつかの実施例では、予め定められた第1の値は、予め定められた第2の値とは異なる。
【0247】
例えば、予め定められた第1の値が1に設定されるとき、
図8に例示されるような1つの距離において、最初の適格とされた候補が発見される場合、スキャニングがこの距離に対して完結され得、同一のエリアの異なる距離又は異なるエリアの同一若しくは異なる距離からスキャニング処理が再開される。
【0248】
例えば、予め定められた第2の値が3に設定されるとき、
図8に例示されるような1つのスキャニング・エリア内で、最初の3つの適格とされた候補が発見される場合、スキャニングがエリア全体(例えば、カレント・ブロックの左又は上のエリア)に対して完結され得、別のエリアの同一又は異なる距離からスキャニング処理が再開される。
【0249】
いくつかの実施例では、完結条件は、少なくとも1つのスキャニング距離の各々をスキャンすることによって取得されたMV候補の数が予め定められた値に到達すると決定することを含み得、少なくとも1つのスキャニング距離の各々についての予め定められた値は、同一又は異なる。第1のスキャニング・エリアは、第1のスキャニング・エリアから取得されたMV候補の数が予め定められた最大値に到達するまで、この完結条件に基づいて少なくとも1つのスキャニング距離においてスキャンされ得る。
【0250】
いくつかの実施例では、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア及び第2のスキャニング・エリアを含み得、第1のスキャニング・エリアは、複数の第1のスキャニング距離を使用してスキャンされ、第2のスキャニング・エリアは、複数の第2のスキャニング距離を使用してスキャンされる。例えば、
図8、14A~14Bに示されるように、第1のスキャニング・エリアは、左のスキャニング・エリアであり得、複数の第1のスキャニング距離は、距離1、距離2、及び距離3を含み得る。第1のスキャニング距離は、左のスキャニング・エリア内でのスキャニングのために使用される距離1、距離2、又は距離3の1つであり得る。加えて、第2のスキャニング・エリアは、最上/上のスキャニング・エリアであり得、複数のスキャニング距離は、距離1、距離2、及び距離3を含み得る。第2のスキャニング距離は、最上/上のスキャニング・エリア内でのスキャニングのために使用される距離1、距離2、又は距離3の1つであり得る。
【0251】
上記で議論されたように、いくつかの実施例では、カレント・ブロックの左のスキャニング・エリア、すなわち、左側内の「距離2」を有するエリアは、このエリア内に位置する候補近傍ブロックが、左側に垂直の方向に沿ってカレント・ブロックの左側から離れて2つのブロックであることを示す。更に、カレント・ブロックの左側の「距離1」を有するエリアは、このエリア内に位置する候補近傍ブロックが、左側に垂直の方向に沿ってカレント・ブロックの左側から離れて1つのブロックであることを示し、カレント・ブロックの左側の「距離3」を有するエリアは、このエリア内に位置する候補近傍ブロックが、左側に垂直の方向に沿ってカレント・ブロックの左側から離れて3つのブロックであることを示す。
【0252】
いくつかの実施例では、カレント・ブロックの最上/上のスキャニング・エリア、すなわち、左側内の「距離1」を有するエリアは、このエリア内に位置する候補近傍ブロックが、最上側に垂直の方向に沿ってカレント・ブロックの最上側から離れて1つのブロックであることを示す。更に、カレント・ブロックの左側の「距離2」を有するエリアは、このエリア内に位置する候補近傍ブロックが、最上側に垂直の方向に沿ってカレント・ブロックの最上側から離れて2つのブロックであることを示し、カレント・ブロックの最上側の「距離3」を有するエリアは、このエリア内に位置する候補近傍ブロックが、最上側に垂直の方向に沿ってカレント・ブロックの最上側から離れて3つのブロックであることを示す。
【0253】
更に、完結条件は、第1のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が、予め定められた第2の値に到達すると決定すること、又は第2のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が、予め定められた第3の値に到達すると決定することを含み得、予め定められた第2の値は、予め定められた第3の値と同一又は異なる。それらの完結条件に基づいて、第1のスキャニング・エリア及び第2のエリアをスキャンすることによって取得されたMV候補の数が、予め定められた最大値に到達するまで、完結条件に基づいて第1のスキャニング・エリアは、複数の第1のスキャニング距離においてスキャンされ得、第2のスキャニング・エリアは、複数の第2のスキャニング距離においてスキャンされ得る。
【0254】
例えば、
図8に示されるように、第1のスキャニング・エリアは、左のスキャニング・エリアであり得、第2のスキャニング・エリアは、最上のスキャニング・エリアであり得る。
【0255】
ステップ2204では、プロセッサ2120は、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0256】
図23は、
図22に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0257】
ステップ2301では、エンコーダ側におけるプロセッサ2120は、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近接しない近傍ブロックから1つ以上の候補を決定し得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0258】
ステップ2302では、プロセッサ2120は、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定し得、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリアを含み得る。
【0259】
いくつかの実施例では、プロセッサ2120は、第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定し得、少なくとも1つのスキャニング距離は、第1のスキャニング距離を含み得る。
【0260】
ステップ2303では、プロセッサ2120は、完結条件が満たされると決定したことに応答して、少なくとも1つのスキャニング・エリアをスキャンすることを停止し得る。
【0261】
いくつかの実施例では、完結条件は、異なるスキャニング完結を遵守すること、第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第1の値に到達すると決定すること、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定すること、又は第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第1の値に到達し、第1のスキャニング・エリア内の少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定することを含み得る。いくつかの実施例では、予め定められた第1の値は、予め定められた第2の値と同一である。いくつかの実施例では、予め定められた第1の値は、予め定められた第2の値とは異なる。
【0262】
例えば、予め定められた第1の値が1に設定されるとき、
図8に例示されるような1つの距離において、最初の適格とされた候補が発見される場合、スキャニングがこの距離に対して完結され得、同一のエリアの異なる距離又は異なるエリアの同一若しくは異なる距離からスキャニング処理が再開される。
【0263】
例えば、予め定められた第2の値が3に設定されるとき、
図8に例示されるような1つのスキャニング・エリア内で、最初の3つの適格とされた候補が発見される場合、スキャニングがエリア全体(例えば、カレント・ブロックの左又は上のエリア)に対して完結され得、別のエリアの同一又は異なる距離からスキャニング処理が再開される。
【0264】
いくつかの実施例では、完結条件は、少なくとも1つのスキャニング距離の各々をスキャンすることによって取得されたMV候補の数が予め定められた値に到達すると決定することを含み得、少なくとも1つのスキャニング距離の各々についての予め定められた値は、同一又は異なる。第1のスキャニング・エリアは、第1のスキャニング・エリアから取得されたMV候補の数が予め定められた最大値に到達するまで、この完結条件に基づいて少なくとも1つのスキャニング距離においてスキャンされ得る。
【0265】
いくつかの実施例では、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア及び第2のスキャニング・エリアを含み得、第1のスキャニング・エリアは、複数の第1のスキャニング距離を使用してスキャンされ、第2のスキャニング・エリアは、複数の第2のスキャニング距離を使用してスキャンされる。例えば、
図8に示されるように、第1のスキャニング・エリアは、左のスキャニング・エリアであり得、複数の第1のスキャニング距離は、距離1、距離2、及び距離3を含み得る。第1のスキャニング距離は、左のスキャニング・エリア内でのスキャニングのために使用される距離1、距離2、又は距離3の1つであり得る。加えて、第2のスキャニング・エリアは、最上/上のスキャニング・エリアであり得、複数のスキャニング距離は、距離1、距離2、及び距離3を含み得る。第2のスキャニング距離は、最上/上のスキャニング・エリア内でのスキャニングのために使用される距離1、距離2、又は距離3の1つであり得る。
【0266】
上記で議論されたように、いくつかの実施例では、カレント・ブロックの左のスキャニング・エリア、すなわち、左側内の「距離2」を有するエリアは、このエリア内に位置する候補近傍ブロックが、左側に垂直の方向に沿ってカレント・ブロックの左側から離れて2つのブロックであることを示す。更に、カレント・ブロックの左側の「距離1」を有するエリアは、このエリア内に位置する候補近傍ブロックが、左側に垂直の方向に沿ってカレント・ブロックの左側から離れて1つのブロックであることを示し、カレント・ブロックの左側の「距離3」を有するエリアは、このエリア内に位置する候補近傍ブロックが、左側に垂直の方向に沿ってカレント・ブロックの左側から離れて3つのブロックであることを示す。
【0267】
いくつかの実施例では、カレント・ブロックの最上/上のスキャニング・エリア、すなわち、左側内の「距離1」を有するエリアは、このエリア内に位置する候補近傍ブロックが、最上側に垂直の方向に沿ってカレント・ブロックの最上側から離れて1つのブロックであることを示す。更に、カレント・ブロックの左側の「距離2」を有するエリアは、このエリア内に位置する候補近傍ブロックが、最上側に垂直の方向に沿ってカレント・ブロックの最上側から離れて2つのブロックであることを示し、カレント・ブロックの最上側の「距離3」を有するエリアは、このエリア内に位置する候補近傍ブロックが、最上側に垂直の方向に沿ってカレント・ブロックの最上側から離れて3つのブロックであることを示す。
【0268】
更に、完結条件は、第1のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が、予め定められた第2の値に到達すると決定すること、又は第2のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が、予め定められた第3の値に到達すると決定することを含み得、予め定められた第2の値は、予め定められた第3の値と同一又は異なる。それらの完結条件に基づいて、第1のスキャニング・エリア及び第2のエリアをスキャンすることによって取得されたMV候補の数が、予め定められた最大値に到達するまで、完結条件に基づいて第1のスキャニング・エリアは、複数の第1のスキャニング距離においてスキャンされ得、第2のスキャニング・エリアは、複数の第2のスキャニング距離においてスキャンされ得る。
【0269】
例えば、
図8に示されるように、第1のスキャニング・エリアは、左のスキャニング・エリアであり得、第2のスキャニング・エリアは、最上のスキャニング・エリアであり得る。
【0270】
ステップ2304では、プロセッサ2120は、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを決定し得る。
【0271】
図24は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0272】
ステップ2401では、デコーダ側におけるプロセッサ2120は、カレント・ブロックの1つ以上の第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを取得し得る。
【0273】
ステップ2402では、プロセッサ2120は、カレント・ブロックの1つ以上の第1の近傍ブロック及び/又は1つ以上の第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを取得し得る。
【0274】
いくつかの実施例では、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近傍ブロックから取得され得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0275】
いくつかの実施例では、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング距離における少なくとも1つのスキャニング・エリアを排他的にスキャンすることによって取得され得る。
【0276】
例えば、
図18に示されるように、近傍1は、アフィン継承済みマージ候補に対する導出処理に従ってカレント・ブロックの左のスキャニング・エリアをスキャンすることによって取得された1つの第1の近傍ブロックであり、1つ以上のそのような第1の近傍ブロックは、異なるスキャニング距離における左のスキャニング・エリア及び/又は最上のスキャニング・エリアを排他的にスキャンすることによって取得され得る。
【0277】
更に、
図18に示されるように、近傍2は、アフィン構築済みマージ候補に対する導出処理に従ってカレント・ブロックの左のスキャニング・エリアをスキャンすることによって取得された1つの第2の近傍ブロックであり、1つ以上のそのような第2の近傍ブロックは、異なるスキャニング距離における左のスキャニング・エリア及び/又は最上のスキャニング・エリアを排他的にスキャンすることによって取得され得る。
【0278】
いくつかの実施例では、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア、第2のスキャニング・エリア、及び第3のスキャニング・エリアを含み得、第1のスキャニング・エリアは、カレント・ブロックの左側から離れるブロックの最大数を示す第1の最大スキャニング距離に従って決定され、第2のスキャニング・エリアは、カレント・ブロックの最上側から離れるブロックの最大数を示す第2の最大スキャニング距離に従って決定され、第1の最大スキャニング距離は、第2の最大スキャニング距離と同一又は異なり、第3のスキャニング・エリアは、カレント・ブロックの右下に位置し、カレント・ブロックに近接するエリア及び近接しないエリアを含む。
【0279】
例えば、
図18に示されるように、第1のスキャニング・エリアは、カレント・ブロックの左のスキャニング・エリアであり得、第2のスキャニング・エリアは、カレント・ブロックの最上のスキャニング・エリアであり得、第3のスキャニング・エリアは、カレント・ブロックの右下の近接するエリア及び近接しないエリアであり得る。
【0280】
いくつかの実施例では、プロセッサ2120は、第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを取得し得、1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、第1の近傍ブロック又は第2の近傍ブロックを取得するように、第3のスキャニング・エリアをスキャンしないと決定し得る。
【0281】
いくつかの実施例では、プロセッサ2120は、第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを取得し得、1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、第1の近傍ブロック又は第2の近傍ブロックを取得するように、第3のスキャニング・エリアをスキャンすると決定し得る。更に、プロセッサ2120は、1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されないと決定したことに応答して、第1の近傍ブロック又は第2の近傍ブロックを取得するように、第3のスキャニング・エリアをスキャンしないと決定し得る。
【0282】
いくつかの実施例では、1つ以上の第1の近傍ブロックは、予め定められた第1の数の第1の近傍ブロック、例えば、第1の1つ又は2つの近傍ブロックを含み得る。いくつかの実施例では、1つ以上の第2の近傍ブロックは、予め定められた第2の数の第2の近傍ブロック、例えば、第1の3つ又は4つの近傍ブロックを含み得る。予め定められた第1の数は、予め定められた第2の数と同一又は異なる。
【0283】
いくつかの実施例では、プロセッサ2120は、予め定められた第1の数の第1の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、予め定められた第1の数の第1の近傍ブロックが有効であると決定し得、予め定められた第2の数の第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、予め定められた第2の数の第2の近傍ブロックが有効であると決定し得る。
【0284】
いくつかの実施例では、プロセッサ2120は、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから1つ以上の第1の近傍ブロックを取得し得、複数の近接する近傍ブロックは、カレント・ブロックに近接し、複数の近接しない近傍ブロックはそれぞれ、カレント・ブロックの1つの側から離れるブロックの数において位置する。更に、プロセッサ2120は、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから1つ以上の第2の近傍ブロックを取得し得る。
【0285】
いくつかの実施例では、プロセッサ2120は、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックからの近傍ブロックの動き情報がアフィン・マージ又はAMVP候補を導出するために使用されないと決定したことに応答して、近傍ブロックが1つ以上の第2の近傍ブロックの1つであると決定し得る。更に、プロセッサ2120は、第3のスキャニング・エリア内の同一位置にある時間動きベクトル予測(TMVP)候補が利用可能であり、又は同一位置にあるTMVP候補がアフィン・マージ若しくはAMVP候補を導出するために使用されると決定してことに応答して、同一位置にあるTMVP候補が1つ以上の第2の近傍ブロックの1つであると決定し得る。
【0286】
いくつかの実施例では、プロセッサ2120は、座標オフセットを1つ以上の第2の近傍ブロックに適用することによって、1つ以上の第2の近傍ブロックに対する調節済みポジションを取得し得、1つ以上の第2の近傍ブロックの調節済みポジションに基づいて、1つ以上の第2のパラメータを取得し得る。例えば、新たな候補を構築するための僅かに多様化した動き情報を提供するために、
図18に示されるような近傍2のポジションを決定するとき、小さな座標オフセット(例えば、垂直又は/及び水平座標に対する+1又は+2又は-1又は-2)が適用され得る。
【0287】
ステップ2403では、プロセッサ2120は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築し得る。
【0288】
ステップ2404では、プロセッサ2120は、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0289】
図25は、
図24に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0290】
ステップ2501では、エンコーダ側におけるプロセッサ2120は、カレント・ブロックの1つ以上の第1の近傍ブロックに基づいて、1つ以上の第1のパラメータを決定し得る。
【0291】
ステップ2502では、プロセッサ2120は、カレント・ブロックの1つ以上の第1の近傍ブロック及び/又は1つ以上の第2の近傍ブロックに基づいて、1つ以上の第2のパラメータを決定し得る。
【0292】
いくつかの実施例では、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの複数の近傍ブロックから決定され得、少なくとも1つのスキャニング距離の1つは、カレント・ブロックの1つの側から離れるブロックの数を示す。
【0293】
いくつかの実施例では、1つ以上の第1の近傍ブロック及び1つ以上の第2の近傍ブロックは、少なくとも1つのスキャニング距離における少なくとも1つのスキャニング・エリアを排他的にスキャンすることによって決定され得る。
【0294】
例えば、
図18に示されるように、近傍1は、アフィン継承済みマージ候補に対する導出処理に従ってカレント・ブロックの左のスキャニング・エリアをスキャンすることによって決定された1つの第1の近傍ブロックであり、1つ以上のそのような第1の近傍ブロックは、異なるスキャニング距離における左のスキャニング・エリア及び/又は最上のスキャニング・エリアを排他的にスキャンすることによって決定され得る。
【0295】
更に、
図18に示されるように、近傍2は、アフィン構築済みマージ候補に対する導出処理に従ってカレント・ブロックの左のスキャニング・エリアをスキャンすることによって決定された1つの第2の近傍ブロックであり、1つ以上のそのような第2の近傍ブロックは、異なるスキャニング距離における左のスキャニング・エリア及び/又は最上のスキャニング・エリアを排他的にスキャンすることによって決定され得る。
【0296】
いくつかの実施例では、少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア、第2のスキャニング・エリア、及び第3のスキャニング・エリアを含み得、第1のスキャニング・エリアは、カレント・ブロックの左側から離れるブロックの最大数を示す第1の最大スキャニング距離に従って決定され、第2のスキャニング・エリアは、カレント・ブロックの最上側から離れるブロックの最大数を示す第2の最大スキャニング距離に従って決定され、第1の最大スキャニング距離は、第2の最大スキャニング距離と同一又は異なり、第3のスキャニング・エリアは、カレント・ブロックの右下に位置し、カレント・ブロックに近接するエリア及び近接しないエリアを含む。
【0297】
例えば、
図18に示されるように、第1のスキャニング・エリアは、カレント・ブロックの左のスキャニング・エリアであり得、第2のスキャニング・エリアは、カレント・ブロックの最上のスキャニング・エリアであり得、第3のスキャニング・エリアは、カレント・ブロックの右下の近接するエリア及び近接しないエリアであり得る。
【0298】
いくつかの実施例では、プロセッサ2120は、第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを決定し得、1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、第1の近傍ブロック又は第2の近傍ブロックを取得するように、第3のスキャニング・エリアをスキャンしないと決定し得る。1つ以上のアフィン構築済み近傍ブロックは、アフィン構築済みマージ候補に対する近接しない近傍ベース導出処理に基づいて導出された近傍ブロックを含み得、また、近接ベース導出処理に基づいて導出された近傍ブロックを含み得る。
【0299】
いくつかの実施例では、プロセッサ2120は、第3のスキャニング・エリアから1つ以上の同一位置にある時間的近傍ブロックを決定し得、1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、第1の近傍ブロック又は第2の近傍ブロックを決定するように、第3のスキャニング・エリアをスキャンすると決定し得る。更に、プロセッサ2120は、1つ以上の同一位置にある時間的近傍ブロックが1つ以上のアフィン構築済み近傍ブロックを生成するために使用されないと決定したことに応答して、第1の近傍ブロック又は第2の近傍ブロックを取得するように、第3のスキャニング・エリアをスキャンしないと決定し得る。
【0300】
いくつかの実施例では、1つ以上の第1の近傍ブロックは、予め定められた第1の数の第1の近傍ブロック、例えば、第1の1つ又は2つの近傍ブロックを含み得る。いくつかの実施例では、1つ以上の第2の近傍ブロックは、予め定められた第2の数の第2の近傍ブロック、例えば、第1の3つ又は4つの近傍ブロックを含み得る。予め定められた第1数は、予め定められた第2の数と同一又は異なる。
【0301】
いくつかの実施例では、プロセッサ2120は、予め定められた第1の数の第1の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、予め定められた第1の数の第1の近傍ブロックが有効であると決定し得、予め定められた第2の数の第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、予め定められた第2の数の第2の近傍ブロックが有効であると決定し得る。
【0302】
いくつかの実施例では、プロセッサ2120は、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから1つ以上の第1の近傍ブロックを決定し得、複数の近接する近傍ブロックは、カレント・ブロックに近接し、複数の近接しない近傍ブロックはそれぞれ、カレント・ブロックの1つの側から離れるブロックの数において位置する。更に、プロセッサ2120は、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックから1つ以上の第2の近傍ブロックを決定し得る。
【0303】
いくつかの実施例では、プロセッサ2120は、近傍ブロックが、複数の近接する近傍ブロック及び複数の近接しない近傍ブロックからの近傍ブロックの動き情報がアフィン・マージ又はAMVP候補を導出するために使用されないと決定したことに応答して、1つ以上の第2の近傍ブロックの1つであると決定し得る。更に、プロセッサ2120は、第3のスキャニング・エリア内の同一位置にある時間動きベクトル予測(TMVP)候補が利用可能であり、又は同一位置にあるTMVP候補がアフィン・マージ若しくはAMVP候補を導出するために使用されると決定してことに応答して、同一位置にあるTMVP候補が1つ以上の第2の近傍ブロックの1つであると決定し得る。
【0304】
いくつかの実施例では、プロセッサ2120は、座標オフセットを1つ以上の第2の近傍ブロックに適用することによって、1つ以上の第2の近傍ブロックに対する調節済みポジションを決定し得、1つ以上の第2の近傍ブロックの調節済みポジションに基づいて、1つ以上の第2のパラメータを取得し得る。例えば、新たな候補を構築するための僅かに多様化した動き情報を提供するために、
図18に示されるような近傍2のポジションを決定するとき、小さな座標オフセット(例えば、垂直又は/及び水平座標に対する+1又は+2又は-1又は-2)が適用され得る。
【0305】
ステップ2503では、プロセッサ2120は、1つ以上の第1のパラメータ及び1つ以上の第2のパラメータを使用して、1つ以上のアフィン・モデルを構築し得る。
【0306】
ステップ2504では、プロセッサ2120は、1つ以上のアフィン・モデルに基づいて、カレント・ブロックに対する1つ以上のCPMVを決定し得る。
【0307】
図26は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0308】
ステップ2601では、デコーダ側におけるプロセッサ2120は、予め定められた順序に従って、1つ以上の候補リストから1つ以上のMV候補を取得し得、1つ以上の候補リストは、AMVP候補リスト、正規マージ候補リスト、及びアフィン・マージ候補リストを含み得、1つ以上のMV候補は、カレント・ブロックへの複数の近傍ブロックからである。
【0309】
いくつかの実施例では、1つ以上のMV候補は、近接する空間的近傍ブロックから継承された1つ以上のMV候補及び近接する空間的近傍ブロックから構築された1つ以上のMV候補、近接する空間的近傍ブロックからの1つ以上の並進MV候補及び近接する時間的近傍ブロックからの1つ以上の時間的MV候補、並びに近接しない空間的近傍ブロックから継承された1つ以上のMV候補を含み得る。プロセッサ2120は更に、候補リストから、近接する空間的近傍ブロックから継承された1つ以上のMV候補の後の近接する空間的近傍ブロックから構築された1つ以上のMV候補を取得し得、候補リストから、近接する空間的近傍ブロックから構築された1つ以上のMV候補の後の近接する空間的近傍ブロックからの1つ以上の並進MV候補を取得し得、候補リストから、近接する空間的近傍ブロックからの1つ以上の並進MV候補の後の近接する時間的近傍ブロックからの1つ以上の時間的MV候補を取得し得、候補リストから、近接する時間的近傍ブロックからの1つ以上の時間的MV候補の後の近接しない空間的近傍ブロックから継承された1つ以上のMV候補を取得し得る。例えば、以下の順序:1.近接する空間的近傍から継承された、2.近接する空間的近傍から構築された、3.近接する空間的近傍からの並進MV、4.近接する時間的近傍からの時間的MV、5.近接しない空間的近傍から継承された、6.ゼロMV、を遵守することによって、新たに導出される候補がアフィンAMVP候補リストに挿入され得る。
【0310】
いくつかの実施例では、1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された1つ以上のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み得る。プロセッサ2120は、候補リストから、SbTMVP候補の後の近接する近傍ブロックから継承された1つ以上のMV候補を更に取得し得、候補リストから、近接する近傍ブロックから継承された1つ以上のMV候補の後の近接しない近傍ブロックから継承された1つ以上のMV候補を取得し得、候補リストから、近接しない近傍ブロックから継承された1つ以上のMV候補の後の近接する近傍ブロックから構築された1つ以上のMV候補を取得し得、候補リストから、近接する近傍ブロックから構築された1つ以上のMV候補の後の近接しない近傍ブロックから構築された1つ以上のMV候補を取得し得、候補リストから、近接しない近傍ブロックから構築された1つ以上のMV候補の後の継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を取得し得る。例えば、以下の順序:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接しない近傍から継承された、4.近接する近傍から構築された、5.近接しない近傍から構築された、6.継承済み並進近傍及び非並進近傍から構築された、7.リストがなおもフルでない場合、ゼロMV、を遵守することによって、新たに導出される候補がアフィンAMVP候補リストに挿入され得る。
【0311】
いくつかの実施例では、1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補を含む1つ以上のMV候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された第1のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに第1の数のMV候補及び第2の数のMV候補を含む、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み得る。プロセッサ2120は更に、候補リストから、SbTMVP候補の後の近接する近傍ブロックから継承された1つ以上のMV候補を取得し得、候補リストから、近接する近傍ブロックから継承された1つ以上のMV候補の後の近接しない近傍ブロックから継承された1つ以上のMV候補を取得し得、候補リストから、近接しない近傍ブロックから継承された1つ以上のMV候補の後の近接する近傍ブロックから構築された第1のMV候補を取得し得、候補リストから、近接する近傍ブロックから構築された第1のMV候補の後の継承済み並進近傍ブロック及び非並進近傍ブロックから構築された第1の数のMV候補を取得し得、候補リストから、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された第1の数のMV候補の後の近接しない近傍ブロックから構築された1つ以上のMV候補を取得し得、候補リストから、近接しない近傍ブロックから構築された1つ以上のMV候補の後の第2の数のMV候補を取得し得る。
【0312】
いくつかの実施例では、第1の数及び第2の数は、以下の方式:第1の固定値として第1の数を事前定義すること、第2の固定値として第2の数を事前定義することであって、第1の固定値は、第2の固定値と同一若しくは異なる、事前定義すること、いずれかのレベルにおいてシグナリングされた、デコーダによって第1の数若しくは第2の数を受信すること、デコーダ若しくはエンコーダによって第1の数若しくは第2の数を構成すること、又はカレント・ブロックの左のエリア及び最上のエリア内の利用可能な近傍ブロックの数に従って第1の数及び第2の数を動的に決定すること、のうちの少なくとも1つにおいて決定され得る。
【0313】
ステップ2602では、プロセッサ2120は、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを取得し得る。
【0314】
図27は、
図26に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0315】
ステップ2701では、エンコーダ側におけるプロセッサ2120は、予め定められた順序に従って、1つ以上の候補リストから1つ以上のMV候補を決定し得、1つ以上の候補リストは、AMVP候補リスト、正規マージ候補リスト、及びアフィン・マージ候補リストを含み得、1つ以上のMV候補は、カレント・ブロックへの複数の近傍ブロックからである。
【0316】
いくつかの実施例では、1つ以上のMV候補は、近接する空間的近傍ブロックから継承された1つ以上のMV候補及び近接する空間的近傍ブロックから構築された1つ以上のMV候補、近接する空間的近傍ブロックからの1つ以上の並進MV候補及び近接する時間的近傍ブロックからの1つ以上の時間的MV候補、並びに近接しない空間的近傍ブロックから継承された1つ以上のMV候補を含み得る。プロセッサ2120は更に、候補リストに、近接する空間的近傍ブロックから継承された1つ以上のMV候補の後に、近接する空間的近傍ブロックから構築された1つ以上のMV候補を挿入し得、候補リストに、近接する空間的近傍ブロックから構築された1つ以上のMV候補の後に、近接する空間的近傍ブロックからの1つ以上の並進MV候補を挿入し得、候補リストに、近接する空間的近傍ブロックからの1つ以上の並進MV候補の後に、近接する時間的近傍ブロックからの1つ以上の時間的MV候補を挿入し得、候補リストに、近接する時間的近傍ブロックからの1つ以上の時間的MV候補の後に、近接しない空間的近傍ブロックから継承された1つ以上のMV候補を挿入し得る。例えば、以下の順序:1.近接する空間的近傍から継承された、2.近接する空間的近傍から構築された、3.近接する空間的近傍からの並進MV、4.近接する時間的近傍からの時間的MV、5.近接しない空間的近傍から継承された、6.ゼロMV、を遵守することによって、新たに導出される候補がアフィンAMVP候補リストに挿入され得る。
【0317】
いくつかの実施例では、1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された1つ以上のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み得る。プロセッサ2120は、候補リストに、SbTMVP候補の後に、近接する近傍ブロックから継承された1つ以上のMV候補を更に挿入し得、候補リストに、近接する近傍ブロックから継承された1つ以上のMV候補の後に、近接しない近傍ブロックから継承された1つ以上のMV候補を挿入し得、候補リストに、近接しない近傍ブロックから継承された1つ以上のMV候補の後に、近接する近傍ブロックから構築された1つ以上のMV候補を挿入し得、候補リストに、近接する近傍ブロックから構築された1つ以上のMV候補の後に、近接しない近傍ブロックから構築された1つ以上のMV候補を挿入し得、候補リストに、近接しない近傍ブロックから構築された1つ以上のMV候補の後に、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を挿入し得る。例えば、以下の順序:1.利用可能である場合、SbTMVP候補、2.近接する近傍から継承された、3.近接しない近傍から継承された、4.近接する近傍から構築された、5.近接しない近傍から構築された、6.継承済み並進近傍及び非並進近傍から構築された、7.リストがなおもフルでない場合、ゼロMV、を遵守することによって、新たに導出される候補がアフィンAMVP候補リストに挿入され得る。
【0318】
いくつかの実施例では、1つ以上のMV候補は、サブ・ブロック・ベース時間動きベクトル予測(SbTMVP)候補を含む1つ以上のMV候補、近接する近傍ブロックから継承された1つ以上のMV候補及び近接しない近傍ブロックから継承された1つ以上のMV候補、近接する近傍ブロックから構築された第1のMV候補及び近接しない近傍ブロックから構築された1つ以上のMV候補、並びに第1の数のMV候補及び第2の数のMV候補を含む、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された1つ以上のMV候補を含み得る。プロセッサ2120は更に、候補リストに、SbTMVP候補の後に、近接する近傍ブロックから継承された1つ以上のMV候補を挿入し得、候補リストに、近接する近傍ブロックから継承された1つ以上のMV候補の後に、近接しない近傍ブロックから継承された1つ以上のMV候補を挿入し得、候補リストに、近接しない近傍ブロックから継承された1つ以上のMV候補の後に、近接する近傍ブロックから構築された第1のMV候補を挿入し得、候補リストに、近接する近傍ブロックから構築された第1のMV候補の後に、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された第1の数のMV候補を挿入し得、候補リストに、継承済み並進近傍ブロック及び非並進近傍ブロックから構築された第1の数のMV候補の後に、近接しない近傍ブロックから構築された1つ以上のMV候補を挿入し得、候補リストに、近接しない近傍ブロックから構築された1つ以上のMV候補の後に、第2の数のMV候補を挿入し得る。
【0319】
いくつかの実施例では、第1の数及び第2の数は、以下の方式:第1の固定値として第1の数を事前定義すること、第2の固定値として第2の数を事前定義することであって、第1の固定値は、第2の固定値と同一若しくは異なる、事前定義すること、いずれかのレベルにおいてシグナリングされた、デコーダによって第1の数若しくは第2の数を受信すること、デコーダ若しくはエンコーダによって第1の数若しくは第2の数を構成すること、又はカレント・ブロックの左のエリア及び最上のエリア内の利用可能な近傍ブロックの数に従って第1の数及び第2の数を動的に決定すること、のうちの少なくとも1つにおいて決定され得る。
【0320】
ステップ2702では、プロセッサ2120は、1つ以上のMV候補に基づいて、カレント・ブロックに対する1つ以上のCPMVを決定し得る。
【0321】
図28は、本開示の実施例に係る、ビデオ復号のための方法を例示するフローチャートである。
【0322】
ステップ2801では、デコーダ側におけるプロセッサ2120は、第1のリスト・サイズを有する時間的候補リストを取得し得、第1のリスト・サイズは、アフィン・マージ候補リスト、AMVP候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数のMV候補を含み得る。
【0323】
いくつかの実施例では、時間的候補リストは、対応する既存の候補リストに対して作成され得、対応する既存の候補リストは、アフィン・マージ候補リスト、AMVP候補リスト、又は正規マージ候補リストを含み得る。いくつかの実施例では、既存の候補リストごとに、1つの時間的候補リストが作成され得る。例えば、第1の時間的候補リストは、アフィン・マージ候補リストに対して作成され得、第2の時間的候補リストは、AMVP候補リストに対して作成され得、第3の時間的候補リストは、正規マージ候補リストに対して作成され得る。
【0324】
いくつかの実施例では、プロセッサ2120は、時間的候補リスト内の複数のMV候補及び/又は1つ以上の既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用し得る。
【0325】
いくつかの実施例では、プロセッサ2120は、時間的候補リストが1つの既存の候補リストに対して作成されると決定したことに応答して、時間的候補リスト内の複数のMV候補及び/又は対応する既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用し得る。更に、プロセッサ2120は、時間的候補リストが1つの既存の候補リストに対して作成されないと決定したことに応答して、対応する既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用し得る。
【0326】
例えば、既存の候補リストごとに、1つの時間的リストが作成され得又は作成され得ない。時間的候補リストが作成される場合、適応的再順序付けが時間的候補リスト又は/及び既存のリストに対して適用され得る。時間的候補リストが作成されない場合、適応的再順序付けが既存の候補リストのみに対して適用される。
【0327】
ステップ2802では、プロセッサ2120は、再順序付けされた複数のMV候補に基づいて、時間的候補リストから第1の数のMV候補を取得し得、第1の数は、時間的候補リスト内の複数のMV候補の数よりも少ない。
【0328】
いくつかの実施例では、第1の数のMV候補は、カレント・ブロックのテンプレートの予測サンプルと対応する参照サンプルとの間のTMコストに基づいて適応的に再順序付けされた複数のMV候補から取得され得る。更に、プロセッサ2120は、分数動き情報がカレント・ブロックに対して使用されると決定したことに応答して、予測サンプルを生成するために、予め定められたタップ数よりも少ないタップ数により補間フィルタを使用し得、又は分数動き情報がカレント・ブロックに対して使用されると決定したことに応答して、最も近い整数サンプルに基づいて、予測サンプルを補間フィルタリングすること及び生成することをスキップし得る。
【0329】
いくつかの実施例では、プロセッサ2120は、対応する参照サンプルが分数ポジションに位置すると決定したことに応答して、補間フィルタリングを対応する参照サンプルに適用し得る。
【0330】
いくつかの実施例では、プロセッサ2120は、TMコストから1つ以上のビットを除去することによって、TMコストを調節し得る。例えば、ノイズ・レベル・コスト差の影響を低減させるために、候補ソーティング処理の前に最下位ビットの数ビットを除去することによって、計算されたマッチング・コストが調節され得る。
【0331】
いくつかの実施例では、プロセッサ2120は、時間的候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、時間的候補リスト及び/又は対応する既存の候補リストの最後に、最初のゼロMV候補を除くゼロMV候補を配置するように、時間的候補リスト内の最初のゼロMV候補を除くゼロMV候補に予め定められた固定値を割り当て得、予め定められた固定値は、閾値よりも大きい。
【0332】
いくつかの実施例では、プロセッサ2120は、既存の候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、既存の候補リストの最後に、最初のゼロMV候補を除くゼロ候補を配置するように、既存の候補リスト内の最初のゼロMV候補を除くゼロMV候補に予め定められた固定値を割り当て得る。
【0333】
いくつかの実施例では、プロセッサ2120は、時間的候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、時間的候補及び/又は対応する既存の候補リストの最後に、全ての少なくとも1つのゼロMV候補を配置するように、少なくとも1つのゼロMV候補に予め定められた固定値を割り当て得、予め定められた固定値は、閾値よりも大きい。
【0334】
いくつかの実施例では、プロセッサ2120は、既存の候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、既存の候補リストの最後に、全ての少なくとも1つのゼロMV候補を配置するように、少なくとも1つのゼロMV候補に予め定められた固定値を割り当て得る。
【0335】
いくつかの実施例では、プロセッサ2120は、1つのMV候補又は1つのタイプのMV候補が適応的再順序付けに参加されないと決定したことに応答して、時間的候補リスト及び/又は対応する既存の候補リスト内の残りのMV候補に対して適応的再順序付けを適用することをスキップし得る。
【0336】
いくつかの実施例では、プロセッサ2120は、1つのMV候補又は1つのタイプのMV候補が適応的再順序付けに参加されないと決定したことに応答して、MV候補若しくはMV候補のタイプを導出することをスキップし得、及び/又はMV候補若しくはMV候補のタイプに対して適応的再順序付けを適用することをスキップし得る。
【0337】
いくつかの実施例では、プロセッサ2120は、MV候補又はMV候補のタイプの候補コンテンツが無効であり、時間的候補リスト内のMV候補又はMV候補のタイプの1つ以上のポジションが残るように、MV候補又はMV候補のタイプを導出することをスキップし得、MV候補又はMV候補のタイプについてのTMコストを計算することをスキップし得る。
【0338】
図29は、
図28に示されるようなビデオ復号のための方法に対応するビデオ符号化のための方法を例示するフローチャートである。
【0339】
ステップ2901では、エンコーダ側におけるプロセッサ2120は、第1のリスト・サイズを有する時間的候補リストを決定し得、第1のリスト・サイズは、アフィン・マージ候補リスト、AMVP候補リスト、又は正規マージ候補リストを含むいずれかの既存の候補リストのリスト・サイズよりも大きく、時間的候補リストは、カレント・ブロックへの複数の近傍ブロックから取得された複数のMV候補を含み得る。
【0340】
いくつかの実施例では、時間的候補リストは、対応する既存の候補リストに対して作成され得、対応する既存の候補リストは、アフィン・マージ候補リスト、AMVP候補リスト、又は正規マージ候補リストを含み得る。いくつかの実施例では、既存の候補リストごとに、1つの時間的候補リスト作成され得る。例えば、第1の時間的候補リストは、アフィン・マージ候補リストに対して作成され得、第2の時間的候補リストは、AMVP候補リストに対して作成され得、第3の時間的候補リストは、正規マージ候補リストに対して作成され得る。
【0341】
いくつかの実施例では、プロセッサ2120は、時間的候補リスト内の複数のMV候補及び/又は1つ以上の既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用し得る。
【0342】
いくつかの実施例では、プロセッサ2120は、時間的候補リストが1つの既存の候補リストに対して作成されると決定したことに応答して、時間的候補リスト内の複数のMV候補及び/又は対応する既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用し得る。更に、プロセッサ2120は、時間的候補リストが1つの既存の候補リストに対して作成されないと決定したことに応答して、対応する既存の候補リスト内の1つ以上のMV候補に対して適応的再順序付けを適用し得る。
【0343】
例えば、既存の候補リストごとに、1つの時間的リストが作成され得又は作成され得ない。時間的候補リストが作成される場合、適応的再順序付けが時間的候補リスト又は/及び既存のリストに対して適用され得る。時間的候補リストが作成されない場合、適応的再順序付けが既存の候補リストのみに対して適用される。
【0344】
ステップ2802では、プロセッサ2120は、再順序付けされた複数のMV候補に基づいて、時間的候補リストから第1の数のMV候補を決定し得、第1の数は、時間的候補リスト内の複数のMV候補の数よりも少ない。
【0345】
いくつかの実施例では、第1の数のMV候補は、カレント・ブロックのテンプレートの予測サンプルと対応する参照サンプルとの間のTMコストに基づいて適応的に再順序付けされた複数のMV候補から取得され得る。更に、プロセッサ2120は、分数動き情報がカレント・ブロックに対して使用されると決定したことに応答して、予測サンプルを生成するために、予め定められたタップ数よりも少ないタップ数により補間フィルタを使用し得、又は分数動き情報がカレント・ブロックに対して使用されると決定したことに応答して、最も近い整数サンプルに基づいて、予測サンプルを補間フィルタリングすること及び生成することをスキップし得る。
【0346】
いくつかの実施例では、プロセッサ2120は、対応する参照サンプルが分数ポジションに位置すると決定したことに応答して、補間フィルタリングを対応する参照サンプルに適用し得る。
【0347】
いくつかの実施例では、プロセッサ2120は、TMコストから1つ以上のビットを除去することによって、TMコストを調節し得る。例えば、ノイズ・レベル・コスト差の影響を低減させるために、候補ソーティング処理の前に最下位ビットの数ビットを除去することによって、計算されたマッチング・コストが調節され得る。
【0348】
いくつかの実施例では、プロセッサ2120は、時間的候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、時間的候補リスト及び/又は対応する既存の候補リストの最後に、最初のゼロMV候補を除くゼロMV候補を配置するように、時間的候補リスト内の最初のゼロMV候補を除くゼロMV候補に予め定められた固定値を割り当て得、予め定められた固定値は、閾値よりも大きい。
【0349】
いくつかの実施例では、プロセッサ2120は、既存の候補リストが1つよりも多いゼロMV候補を含むと決定したことに応答して、既存の候補リストの最後に、最初のゼロMV候補を除くゼロ候補を配置するように、既存の候補リスト内の最初のゼロMV候補を除くゼロMV候補に予め定められた固定値を割り当て得る。
【0350】
いくつかの実施例では、プロセッサ2120は、時間的候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、時間的候補及び/又は対応する既存の候補リストの最後に、全ての少なくとも1つのゼロMV候補を配置するように、少なくとも1つのゼロMV候補に予め定められた固定値を割り当て得、予め定められた固定値は、閾値よりも大きい。
【0351】
いくつかの実施例では、プロセッサ2120は、既存の候補リストが少なくとも1つのゼロMV候補を含むと決定したことに応答して、既存の候補リストの最後に、全ての少なくとも1つのゼロMV候補を配置するように、少なくとも1つのゼロMV候補に予め定められた固定値を割り当て得る。
【0352】
いくつかの実施例では、プロセッサ2120は、1つのMV候補又は1つのタイプのMV候補が適応的再順序付けに参加されないと決定したことに応答して、時間的候補リスト及び/又は対応する既存の候補リスト内の残りのMV候補に対して適応的再順序付けを適用することスキップし得る。
【0353】
いくつかの実施例では、プロセッサ2120は、1つのMV候補又は1つのタイプのMV候補が適応的再順序付けに参加されないと決定したことに応答して、MV候補若しくはMV候補のタイプを導出することをスキップし得、及び/又はMV候補若しくはMV候補のタイプに対して適応的再順序付けを適用することをスキップし得る。
【0354】
いくつかの実施例では、プロセッサ2120は、MV候補又はMV候補のタイプの候補コンテンツが無効であり、時間的候補リスト内のMV候補又はMV候補のタイプの1つ以上のポジションが残るように、MV候補又はMV候補のタイプを導出することをスキップし得、MV候補又はMV候補のタイプについてのTMコストを計算することをスキップし得る。
【0355】
いくつかの実施例では、ビデオ・コーディングのための装置が提供される。装置は、プロセッサ2120と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ2140とを含み、プロセッサは、命令が実行されると、
図22~29に例示されるようないずれかの方法を実行するように構成される。
【0356】
いくつかの他の実施例では、そこに記憶された命令を有する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ2120によって実行されるとき、命令は、プロセッサに、
図22~29に例示されるようないずれかの方法を実行させる。1つの実施例では、複数のプログラムは、符号化済みビデオ情報(例えば、符号化済みビデオ・フレームを表すビデオ・ブロック、及び/又は関連する1つ以上のシンタックス要素など)を含むビットストリーム又はデータ・ストリームを受信するように(例えば、
図2におけるビデオ・エンコーダ20から)、コンピューティング環境2110内のプロセッサ2120によって実行され得、また、受信されたビットストリーム又はデータ・ストリームに従って、上記で説明された復号方法を実行するように、コンピューティング環境2110内のプロセッサ2120によって実行され得る。別の実施例では、複数のプログラムは、ビデオ情報(例えば、ビデオ・フレームを表すビデオ・ブロック、及び/又は関連する1つ以上のシンタックス要素など)をビットストリーム又はデータ・ストリームに符号化するための、上記で説明された符号化方法を実行するように、コンピューティング環境2110内のプロセッサ2120によって実行され得、また、ビットストリーム又はデータ・ストリームを伝送するように(例えば、
図3におけるビデオ・デコーダ30に)、コンピューティング環境2110内のプロセッサ2120によって実行され得る。代わりに、非一時的コンピュータ可読記憶媒体は、ビデオ・データを復号する際に、デコーダ(例えば、
図3におけるビデオ・デコーダ30)による使用のための、例えば、上記で説明された符号化方法を使用して、エンコーダ(例えば、
図2におけるビデオ・エンコーダ20)によって生成された符号化済みビデオ情報(例えば、符号化済みビデオ・フレームを表すビデオ・ブロック、及び/又は関連する1つ以上のシンタックス要素など)を含む、ビットストリーム又はデータ・ストリームをそこに記憶し得る。非一時的コンピュータ可読記憶媒体は、例えば、ROM、ランダム・アクセス・メモリ(RAM)、CD-ROM、磁気テープ、フロッピー・ディスク、又は光学データ記憶装置などであり得る。
【0357】
ここで開示される本開示の明細書及び実施の考慮から、開示の他の実施例が当業者にとって明らかである。本出願は、本分野における既知又は通常の実施内にあるように、その一般的な原理を遵守し、本開示からのそのような逸脱を含む、開示のいずれかの変形、使用、又は適合を網羅することが意図される。明細書及び実施例が例示としてのみ考えられることが意図される。
【0358】
本開示は、上記で説明され、添付図面において例示された厳密な実施例に限定されず、その範囲から逸脱することなく、様々な修正及び変更が行われ得ることを認識されよう。
【手続補正書】
【提出日】2024-05-02
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0344
【補正方法】変更
【補正の内容】
【0344】
ステップ2902では、プロセッサ2120は、再順序付けされた複数のMV候補に基づいて、時間的候補リストから第1の数のMV候補を決定し得、第1の数は、時間的候補リスト内の複数のMV候補の数よりも少ない。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ復号のための方法であって、
少なくとも1つのスキャニング・エリア(scanning area)及び少なくとも1つのスキャニング距離(scanning distance)に基づいて、カレント・ブロック(current block)への近接しない近傍ブロック(近接しない近傍ブロック)から動きベクトル(MV)候補を取得することであって、前記スキャニング距離は、前記カレント・ブロックの1つの側から離れるブロックの数を示す、取得することと、
第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件(termination condition)を決定することであって、前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリアを含む、決定することと、
前記完結条件が満たされると決定したことに応答して、前記少なくとも1つのスキャニング・エリアをスキャンすることを停止することと、
前記MV候補に基づいて、前記カレント・ブロックに対する制御点動きベクトル(CPMV)を取得することと、
を含む、方法。
【請求項2】
前記完結条件は、
前記第1のスキャニング・エリア内の第1のスキャニング距離をスキャンすることによって取得された前記MV候補の数が予め定められた第1の値に到達すると決定すること、
前記第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得された前記MV候補の数が予め定められた第2の値に到達すると決定すること、又は
前記第1のスキャニング・エリア内の前記第1のスキャニング距離をスキャンすることによって取得された前記MV候補の数が前記予め定められた第1の値に到達し、前記第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得された前記MV候補の数が前記予め定められた第2の値に到達すると決定すること、を含み、
前記予め定められた第1の値は、前記予め定められた第2の値と同一又は異なる、
請求項1に記載の方法。
【請求項3】
前記完結条件は、
前記少なくとも1つのスキャニング距離の各々をスキャンすることによって取得されたMV候補の数が予め定められた値に到達すると決定することを含み、前記少なくとも1つのスキャニング距離の各々についての予め定められた値は、同一又は異なり、
前記方法は、
前記第1のスキャニング・エリアから取得された前記MV候補の数が予め定められた最大値に到達するまで、前記完結条件に基づいて、前記少なくとも1つのスキャニング距離における前記第1のスキャニング・エリアをスキャンすることを更に含む、
請求項1に記載の方法。
【請求項4】
前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリア及び第2のスキャニング・エリアを含み、前記第1のスキャニング・エリアは、複数の第1のスキャニング距離を使用してスキャンされ、前記第2のスキャニング・エリアは、複数の第2のスキャニング距離を使用してスキャンされ、
前記完結条件は、
前記第1のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が予め定められた第2の値に到達すると決定すること、又は
前記第2のスキャニング・エリアをスキャンすることによって取得されたMV候補の数が予め定められた第3の値に到達すると決定すること、を含み、前記予め定められた第2の値は、前記予め定められた第3の値と同一又は異なり、
前記方法は、
前記第1のスキャニング・エリア及び前記第2のエリアをスキャンすることによって取得された前記MV候補の数が予め定められた最大値に到達するまで、前記完結条件に基づいて、前記複数の第1のスキャニング距離における前記第1のスキャニング・エリアをスキャンし、前記複数の第2のスキャニング距離における前記第2のスキャニング・エリアをスキャンすることを更に含む、
請求項1に記載の方法。
【請求項5】
ビデオ復号の方法であって、
カレント・ブロックの第1の近傍ブロックに基づいて、第1のパラメータを取得することと、
前記カレント・ブロックの第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、第2のパラメータを取得することと、
前記第1のパラメータ及び前記第2のパラメータを使用して、アフィン・モデルを構築することと、
前記アフィン・モデルに基づいて、前記カレント・ブロックに対する制御点動きベクトル(CPMV)を取得することと、を含み、
前記第1の近傍ブロック及び前記第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、前記カレント・ブロックへの複数の近傍ブロックから取得され、前記スキャニング距離は、前記カレント・ブロックの1つの側から離れるブロックの数を示し、
前記第1の近傍ブロック及び前記第2の近傍ブロックは、前記少なくとも1つのスキャニング距離における前記少なくとも1つのスキャニング・エリアをスキャンすることによって取得される、
方法。
【請求項6】
前記少なくとも1つのスキャニング・エリアは、第1のスキャニング・エリア、第2のスキャニング・エリア、及び
/又は第3のスキャニング・エリアを含み、
前記第1のスキャニング・エリアは、前記カレント・ブロックの左側から離れるブロックの最大数を示す第1の最大スキャニング距離に従って決定され、
前記第2のスキャニング・エリアは、前記カレント・ブロックの最上側から離れるブロックの最大数を示す第2の最大スキャニング距離に従って決定され、前記第1の最大スキャニング距離は、前記第2の最大スキャニング距離と同一又は異なり、
前記第3のスキャニング・エリアは、前記カレント・ブロックの右下に位置し、前記カレント・ブロックへの近接するエリア及び近接しないエリアを含む、
請求項5に記載の方法。
【請求項7】
前記第3のスキャニング・エリアから同一位置にある時間的近傍ブロックを取得することと、
前記同一位置にある時間的近傍ブロックがアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンしないと決定することと、
を更に含む、請求項6に記載の方法。
【請求項8】
前記第3のスキャニング・エリアから同一位置にある時間的近傍ブロックを取得することと、
前記同一位置にある時間的近傍ブロックがアフィン構築済み近傍ブロックを生成するために使用されると決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンすると決定することと、
前記同一位置にある時間的近傍ブロックがアフィン構築済み近傍ブロックを生成するために使用されないと決定したことに応答して、前記第1の近傍ブロック又は前記第2の近傍ブロックを取得するように前記第3のスキャニング・エリアをスキャンしないと決定することと、
を更に含む、請求項6に記載の方法。
【請求項9】
前記第1の近傍ブロックは、予め定められた第1の数の第1の近傍ブロック
のうちの1つであり、
前記第2の近傍ブロックは、予め定められた第2の数の第2の近傍ブロック
のうちの1つであり、前記予め定められた第1の数は、予め定められた第2の数と同一又は異なり、
前記方法は、
前記予め定められた第1の数の第1の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記予め定められた第1の数の第1の近傍ブロックが有効であると決定することと、
前記予め定められた第2の数の第2の近傍ブロックが少なくとも1つの動き方向に対して同一の参照ピクチャを使用すると決定したことに応答して、前記予め定められた第2の数の第2の近傍ブロックが有効であると決定することと、
を更に含む、請求項5に記載の方法。
【請求項10】
近接する近傍ブロック及び近接しない近傍ブロックから前記第1の近傍ブロックを取得することであって、前記近接する近傍ブロックは、前記カレント・ブロックに近接し、前記近接しない近傍ブロックはそれぞれ、前記カレント・ブロックの1つの側から離れるブロックの数に位置する、取得することと、
前記近接する近傍ブロック及び前記近接しない近傍ブロックから前記第2の近傍ブロックを取得することと、
を更に含む、請求項5に記載の方法。
【請求項11】
前記近接する近傍ブロック及び前記近接しない近傍ブロックからの近傍ブロックの動き情報が、アフィン・マージ又はアドバンスト動きベクトル予測(advanced motion vector prediction)(AMVP)候補を導出するために使用されないと決定したことに応答して、前記近傍ブロックが前記第2の近傍ブロックであると決定することと、
前記第3のスキャニング・エリア内の同一位置にある時間動きベクトル予測(TMVP)候補が利用可能であり、又は前記同一位置にあるTMVP候補が、アフィン・マージ若しくはAMVP候補を導出するために使用されると決定したことに応答して、前記同一位置にあるTMVP候補が前記第2の近傍ブロックであると決定することと、
を更に含む、請求項10に記載の方法。
【請求項12】
座標オフセットを前記第2の近傍ブロックに適用することによって、前記第2の近傍ブロックに対する調節済みポジションを取得することと、
前記第2の近傍ブロックの前記調節済みポジションに基づいて、前記第2のパラメータを取得することと、
を更に含む、請求項5に記載の方法。
【請求項13】
ビデオ符号化のための方法であって、
少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、カレント・ブロックへの近接しない近傍ブロックから動きベクトル(MV)候補を決定することであって、前記スキャニング距離は、前記カレント・ブロックの1つの側から離れるブロックの数を示す、決定することと、
第1のスキャニング・エリア内の前記少なくとも1つのスキャニング距離をスキャンすることによって取得されたMV候補の数に基づいて、完結条件を決定することであって、前記少なくとも1つのスキャニング・エリアは、前記第1のスキャニング・エリアを含む、決定することと、
完結条件が満たされると決定したことに応答して、前記少なくとも1つのスキャニング・エリアをスキャンすることを停止することと、
前記MV候補に基づいて、前記カレント・ブロックに対する制御点動きベクトル(CPMV)を決定することと、
を含む、方法。
【請求項14】
ビデオ符号化のための方法であって、
カレント・ブロックの第1の近傍ブロックに基づいて、第1のパラメータを決定することと、
前記カレント・ブロックの前記第1の近傍ブロック及び/又は第2の近傍ブロックに基づいて、第2のパラメータを決定することと、
前記第1のパラメータ及び前記第2のパラメータを使用して、アフィン・モデルを構築することと、
前記アフィン・モデルに基づいて、前記カレント・ブロックに対する制御点動きベクトル(CPMV)を決定することと、を含み、
前記第1の近傍ブロック及び前記第2の近傍ブロックは、少なくとも1つのスキャニング・エリア及び少なくとも1つのスキャニング距離に基づいて、前記カレント・ブロックへの複数の近傍ブロックから決定され、前記スキャニング距離は、前記カレント・ブロックの1つの側から離れるブロックの数を示し、
前記第1の近傍ブロック及び前記第2の近傍ブロックは、前記少なくとも1つのスキャニング距離における前記少なくとも1つのスキャニング・エリアをスキャンすることによって決定される、
方法。
【請求項15】
ビデオ復号のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項1から
12のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項16】
ビデオ符号化のための装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令が実行されると、請求項
13から
14のいずれか一項に記載の方法を実行するように構成される、
装置。
【請求項17】
ビットストリームを受信する方法であって、前記ビットストリームは、請求項1から12のいずれか一項に記載の方法によって復号される、方法。
【請求項18】
ビットストリームを送信する方法であって、前記ビットストリームは、請求項13から14のいずれか一項に記載の方法によって生成される、方法。
【請求項19】
ビットストリームを記憶する方法であって、前記ビットストリームは、請求項1から12のいずれか一項に記載の方法によって復号され、または請求項13から14のいずれか一項に記載の方法によって生成される、方法。
【請求項20】
ビットストリームを記憶するための命令を含むコンピュータプログラムであって、前記ビットストリームは、請求項1から12のいずれか一項に記載の方法によって復号され、または請求項13から14のいずれか一項によって生成される符号化済みビデオ・データを含む、コンピュータプログラム。
【国際調査報告】