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

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

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特表2024-542802ビデオ処理のための方法、装置及び媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-15
(54)【発明の名称】ビデオ処理のための方法、装置及び媒体
(51)【国際特許分類】
   H04N 19/513 20140101AFI20241108BHJP
【FI】
H04N19/513
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024533129
(86)(22)【出願日】2022-12-02
(85)【翻訳文提出日】2024-08-01
(86)【国際出願番号】 CN2022136321
(87)【国際公開番号】W WO2023098899
(87)【国際公開日】2023-06-08
(31)【優先権主張番号】PCT/CN2021/135449
(32)【優先日】2021-12-03
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ワン,ヤン
(72)【発明者】
【氏名】ジャン,カイ
(72)【発明者】
【氏名】ジャン,ナ
(72)【発明者】
【氏名】ジャン,リ
(72)【発明者】
【氏名】リィウ,ホォンビン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159NN21
5C159PP04
5C159UA02
5C159UA05
(57)【要約】
本開示の実施形態は、ビデオ処理のためのソリューションを提供する。ビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記転換を実行するステップとを含む。
【選択図】 図41
【特許請求の範囲】
【請求項1】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、
前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、
前記並べ替えられた動き候補リストに基づいて前記転換を実行するステップと
を含む、方法。
【請求項2】
前記処理手順は、
修正プロセス、
動き精緻化プロセス、又は
第2の並べ替えプロセス
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記第2の並べ替えプロセスは、前記第1の並べ替えプロセスの前に、前記動き候補リストに適用される、請求項2に記載の方法。
【請求項4】
前記動き候補リストは、前記第2の並べ替えプロセスにおける前記動き候補リストの構築中に、元の動き情報を使用して並べ替えられる、請求項3に記載の方法。
【請求項5】
前記動き候補リスト内の少なくとも1つの動き候補が、前記ターゲットブロックについての動き精緻化プロセスによって修正される場合、前記動き候補リストは、精緻化された動き情報を使用して並べ替えられる、請求項1に記載の方法。
【請求項6】
前記動き候補リストは、前記第1の並べ替えプロセスが適用される前に並べ替えられない、請求項1に記載の方法。
【請求項7】
前記動き精緻化プロセスは、
テンプレートマッチングベースの動き精緻化、又は
バイラテラルマッチングベースの動き精緻化のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項8】
前記動き精緻化プロセスの簡略化されたバージョンが適用される、請求項2に記載の方法。
【請求項9】
前記動き精緻化プロセスとしてテンプレートマッチングが使用される場合、テンプレートサイズは1又は2に設定される、請求項8に記載の方法。
【請求項10】
前記処理手順は、動き精緻化プロセスであり、
ここで、前記第1の並べ替えプロセスで使用される精緻化された動き情報は、前記動き精緻化プロセスの最終的な動き情報である、請求項1に記載の方法。
【請求項11】
前記動き精緻化プロセスが複数のステップを含む場合、前記動き精緻化プロセスにおける最後のステップ後の動き情報が、前記第1の並べ替えプロセスで使用される、請求項10に記載の方法。
【請求項12】
前記複数のステップは、異なる解像度の動きベクトルで動き情報を精緻化する、請求項11に記載の方法。
【請求項13】
整数解像度動きベクトルが分数解像度動きベクトルになるように精緻化される、請求項12に記載の方法。
【請求項14】
分数解像度動きベクトルが分数解像度動きベクトルになるように精緻化される、請求項12に記載の方法。
【請求項15】
前記異なる解像度は、16ペル(pel)、8ペル、4ペル、2ペル、1ペル、1/2ペル、1/4ペル、1/8ペル、1/16ペル、1/32ペル、又は1/64ペルのうちの少なくとも1つを含む、請求項12に記載の方法。
【請求項16】
前記複数のステップは、テンプレートマッチングにおいて前記動きベクトルを精緻化するための異なる検索形状を含む、請求項11に記載の方法。
【請求項17】
前記テンプレートマッチングのダイヤモンド形状検索ステップ後の動き情報が、前記第1の並べ替えプロセスで使用される、請求項16に記載の方法。
【請求項18】
使用される動きベクトルの解像度は、動き候補の動きベクトルの解像度を示す構文要素に依存する、請求項11に記載の方法。
【請求項19】
前記動き精緻化プロセスで早期終了が使用される場合、前記早期終了に関連する動き情報出力が前記第1の並べ替えプロセスで使用される、請求項11に記載の方法。
【請求項20】
複数の動き精緻化プロセスが前記ターゲットブロックに適用され、前記複数の動き精緻化プロセスが順番に適用され、
ここで、最後の動き精緻化プロセスの後に導出された動き情報が、前記第1の並べ替えプロセスで使用される、請求項1に記載の方法。
【請求項21】
前記複数の動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、前記第2の動き精緻化プロセスの動き情報が、前記第1の並べ替えプロセスで使用される、請求項20に記載の方法。
【請求項22】
前記第1の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、請求項21に記載の方法。
【請求項23】
前記第2の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、請求項21に記載の方法。
【請求項24】
前記処理手順は、動き精緻化プロセスを含み、前記第1の並べ替えプロセスで使用される精緻化された動き情報は、前記動き精緻化プロセスの中間動き情報である、請求項1に記載の方法。
【請求項25】
前記動き精緻化プロセスは、複数のマルチプルステップを含み、前記動き精緻化プロセスにおける最後のステップの前の動き情報が、前記第1の並べ替えプロセスで使用される、請求項24に記載の方法。
【請求項26】
前記動き精緻化プロセスにおける第1のステップにおける動き情報が、前記第1の並べ替えプロセスで使用される、請求項24に記載の方法。
【請求項27】
動きベクトルの整数解像度における動き情報が、前記第1の並べ替えプロセスで使用される、請求項24に記載の方法。
【請求項28】
複数の動き精緻化プロセスが順番に適用される場合、最後の動き精緻化プロセスの前の動き精緻化プロセスから導出された動きが、前記第1の並べ替えプロセスで使用される、請求項1に記載の方法。
【請求項29】
前記複数の動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、前記第1の動き精緻化プロセスの動き情報が、前記第1の並べ替えプロセスで使用される、請求項28に記載の方法。
【請求項30】
前記第1の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、請求項29に記載の方法。
【請求項31】
前記第2の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、請求項29に記載の方法。
【請求項32】
複数の動き精緻化プロセスが順番に適用され、最後の動き精緻化プロセスは、複数のステップを含み、
ここで、前記最後の動き精緻化プロセスにおける最後のステップの前のステップから導出された動き情報が、前記第1の並べ替えプロセスで使用される、請求項1に記載の方法。
【請求項33】
前記処理手順は、動き精緻化プロセスを含み、前記動き精緻化プロセスは、テンプレートマッチング(TM)と、マルチパスデコーダ側動きベクトル精緻化(DMVR)とを含み、前記TMは、第1パスDMVRと第2パスDMVRの間にある、請求項1に記載の方法。
【請求項34】
前記TM後の動き情報が前記第1の並べ替えプロセスで使用されるか、又は
前記第1パスDMVR後の動き情報が前記第1の並べ替えプロセスで使用されるか、又は
前記第2パスDMVR後の動き情報が前記第1の並べ替えプロセスで使用される、請求項33に記載の方法。
【請求項35】
精緻化された動き情報が、前記第1の並べ替えプロセスで使用される場合、前記第2パスDMVRをスキップするために使用される早期終了方法は適用されない、請求項33に記載の方法。
【請求項36】
精緻化された動き情報がサブブロックベースの動き情報である場合、1つ又は複数のサブブロックの精緻化された動き情報が、前記第1の並べ替えプロセスで使用される、請求項1に記載の方法。
【請求項37】
前記1つ又は複数のサブブロックのうちの1つの精緻化された動き情報が、前記第1の並べ替えプロセスで使用される、請求項36に記載の方法。
【請求項38】
左上のサブブロック、
左のブロック境界に位置するサブブロックの1つ、又は
上のブロック境界に位置するサブブロックの1つ
のうちの少なくとも1つの精緻化された動き情報が、前記第1の並べ替えプロセスで使用される、請求項36に記載の方法。
【請求項39】
前記1つ又は複数のサブブロックにおける複数のサブブロックの精緻化された動き情報が、前記第1の並べ替えプロセスで使用される、請求項36に記載の方法。
【請求項40】
全てのサブブロックの動き情報が平均化されて、前記第1の並べ替えプロセスで使用される、請求項36に記載の方法。
【請求項41】
全てのサブロックの動き情報が加重平均され、
ここで、加重パラメータのセットは、
ブロック次元、
ブロックサイズ、
サブブロック次元、
サブブロックサイズ、又は
前記第1の並べ替えプロセスで使用されるサブブロックとテンプレートとの間の距離のうちの少なくとも1つに依存する、請求項40に記載の方法。
【請求項42】
前記上の境界でのサブブロックの動き情報、及び前記左の境界でのサブブロックの動き情報のうちの少なくとも1つが、前記第1の並べ替えプロセスで使用される、請求項40に記載の方法。
【請求項43】
動き候補は第1の数のサブグループに分割され、前記第1の並べ替えプロセスは、各サブグループ内で適用され、
ここで、前記第1の数は1より大きい、請求項1に記載の方法。
【請求項44】
各サブグループ内の動き候補の数は同じである、請求項43に記載の方法。
【請求項45】
動き候補の数は、2、3、4、5、6、7、8、9、及び10のうちの1つである、請求項44に記載の方法。
【請求項46】
少なくとも1つのサブグループのサイズが、他のサブグループのサイズと異なる、請求項43に記載の方法。
【請求項47】
第1のサブグループのサイズが他のサブグループのサイズよりも大きいか、又は
前記第1のサブグループのサイズが他のサブグループのサイズよりも小さい、請求項43に記載の方法。
【請求項48】
サブグループのサイズが事前に定義される、請求項43に記載の方法。
【請求項49】
前記動き候補は、動き候補タイプに基づいて前記第1の数のサブグループに分割される、請求項43に記載の方法。
【請求項50】
サブグループのサイズは、利用可能な動き候補のタイプの数に基づいて決定される、請求項43に記載の方法。
【請求項51】
精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、前記ビットストリームに示されるか、又は
前記精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、動的に決定されるか、又は
前記精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、コーディング情報に依存する、請求項1に記載の方法。
【請求項52】
前記精緻化された動き情報を使用した前記第1の並べ替えプロセスが前記ターゲットブロックに適用され、前記ターゲットブロックのサイズが第1の閾値よりも大きいか、又は
前記精緻化された動き情報を使用した前記第1の並べ替えプロセスが前記ターゲットブロックに適用され、前記ターゲットブロックのサイズが第2の閾値よりも小さい、請求項51に記載の方法。
【請求項53】
前記第1の閾値は、8、16、32、64、又は128のうちの1つであり、
前記第2の閾値は、64、128、256、512、1024又は2048のうちの1つである、請求項52に記載の方法。
【請求項54】
前記ターゲットブロックは、
カラーコンポーネント、
サブ画像、
スライス、
タイル、
コーディングツリーユニット(CTU)、
CTU行、
CTUのグループ、
コーディングユニット(CU)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングツリーブロック(CTB)、
コーディングブロック(CB)、
予測ブロック(PB)、
変換ブロック(TB)、
ブロック、
ブロックのサブブロック、
ブロック内のサブ領域、又は
複数のサンプル又はピクセルを含む領域
のうちの1つを指す、請求項1~53のいずれか一項に記載の方法。
【請求項55】
前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、
シーケンスレベル、
画像グループレベル、
画像レベル、
スライスレベル、又は
タイルグループレベル
のうちの1つで示される、請求項1~53のいずれか一項に記載の方法。
【請求項56】
前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、
シーケンスヘッダー、
画像ヘッダー、
シーケンスパラメータセット(SPS)、
ビデオパラメータセット(VPS)、
依存パラメータセット(DPS)、
デコーディング能力情報(DCI)、
画像パラメータセット(PPS)、
適応パラメータセット(APS)、
スライスヘッダー、又は
タイルグループヘッダー
のうちの1つに示される、請求項1~53のいずれか一項に記載の方法。
【請求項57】
前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、
予測ブロック(PB)、
変換ブロック(TB)、
コーディングブロック(CB)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングユニット(CU)、
仮想パイプラインデータユニット(VPDU)、
コーディングツリーユニット(CTU)、
CTU行、
スライス、
タイル、
サブ画像、又は
複数のサンプル又はピクセルを含む領域
のうちの1つに含まれる、請求項1~53のいずれか一項に記載の方法。
【請求項58】
前記ターゲットブロックのコード化情報に基づいて、前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかを決定するステップをさらに含み、前記コード化情報は、
ブロックサイズ、
カラーフォーマット、
シングル及び/又はデュアルツリー分割、
カラーコンポーネント、
スライスタイプ、又は
画像タイプ
のうちの少なくとも1つを含む、請求項1~53のいずれか一項に記載の方法。
【請求項59】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化された前記ターゲットブロックに、精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、
並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記転換を実行するステップとを含む方法。
【請求項60】
前記DMVRは、片側DMVR、又は適応型DMVRのうちの少なくとも1つを含む、請求項59に記載の方法。
【請求項61】
前記片側DMVRは、DMVRのステップで動き情報が一方向に精緻化されるDMVR方法である、請求項60に記載の方法。
【請求項62】
前記動き情報は、マルチパスDMVRの第1のパスで一方向に精緻化される、請求項61に記載の方法。
【請求項63】
前記動き情報は、マルチパスDMVRの第1のパス又は前記マルチパスDMVRの第2のパスのうちの1つ以上で一方向に精緻化される、請求項61に記載の方法。
【請求項64】
前記インターモードは、適応型DMVRである、請求項59に記載の方法。
【請求項65】
前記並べ替えプロセスは、前記第1の動き候補リスト及び前記第2の動き候補リストを個別に並べ替えるために適用される、請求項59に記載の方法。
【請求項66】
前記第1の動き候補リストと前記第2の動き候補リストとが組み合わされ、
ここで、前記並べ替えプロセスは、組み合わされた前記第1の動き候補リスト及び前記第2の動き候補リストを並べ替えるために使用される、請求項59に記載の方法。
【請求項67】
前記精緻化された動き情報は、マルチパスDMVRにおける第1のパスのブロックベースの動きベクトル(MV)である、請求項59に記載の方法。
【請求項68】
前記ターゲットブロックは、
カラーコンポーネント、
サブ画像、
スライス、
タイル、
コーディングツリーユニット(CTU)、
CTU行、
CTUのグループ、
コーディングユニット(CU)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングツリーブロック(CTB)、
コーディングブロック(CB)、
予測ブロック(PB)、
変換ブロック(TB)、
ブロック、
ブロックのサブブロック、
ブロック内のサブ領域、又は
複数のサンプル又はピクセルを含む領域
のうちの1つを指す、請求項59~67のいずれか一項に記載の方法。
【請求項69】
前記DMVRによるインターモードでコード化された前記ターゲットブロックに、前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、
シーケンスレベル、
画像グループレベル、
画像レベル、
スライスレベル、又は
タイルグループレベル
のうちの1つで示される、請求項59~67のいずれか一項に記載の方法。
【請求項70】
前記DMVRによるインターモードでコード化された前記ターゲットブロックに、前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、
シーケンスヘッダー、
画像ヘッダー、
シーケンスパラメータセット(SPS)、
ビデオパラメータセット(VPS)、
依存パラメータセット(DPS)、
デコーディング能力情報(DCI)、
画像パラメータセット(PPS)、
適応パラメータセット(APS)、
スライスヘッダー、又は
タイルグループヘッダー
のうちの1つに示される、請求項59~67のいずれか一項に記載の方法。
【請求項71】
前記DMVRによるインターモードでコード化された前記ターゲットブロックに、前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、
予測ブロック(PB)、
変換ブロック(TB)、
コーディングブロック(CB)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングユニット(CU)、
仮想パイプラインデータユニット(VPDU)、
コーディングツリーユニット(CTU)、
CTU行、
スライス、
タイル、
サブ画像、又は
複数のサンプル又はピクセルを含む領域
のうちの1つに含まれる、請求項59~67のいずれか一項に記載の方法。
【請求項72】
前記ターゲットブロックのコード化情報に基づいて、前記DMVRによるインターモードでコード化された前記ターゲットブロックに、前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかを決定するステップをさらに含み、前記コード化情報は、
ブロックサイズ、
カラーフォーマット、
シングル及び/又はデュアルツリー分割、
カラーコンポーネント、
スライスタイプ、又は
画像タイプ
のうちの少なくとも1つを含む、請求項59~67のいずれか一項に記載の方法。
【請求項73】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、
前記少なくとも1つの更新された動き候補リストに基づいて、前記転換を実行するステップとを含む方法。
【請求項74】
前記冗長動き候補のセットは、第2の動き候補リスト内の動き候補の1つと同じ動き情報を備える、第1の動き候補リス内の動き候補を含む、請求項73に記載の方法。
【請求項75】
前記第1の動き候補リストは第1の方向の動き候補リストであり、前記第2の動き候補リストは第2の方向の動き候補リストである、請求項74に記載の方法。
【請求項76】
前記第1の動き候補リストは第2の方向の動き候補リストであり、前記第2の動き候補リストは第1の方向の動き候補リストである、請求項74に記載の方法。
【請求項77】
前記冗長動き候補のセットは、第1のパスDMVR後の動き候補を含む、請求項73に記載の方法。
【請求項78】
前記ターゲットブロックは、
カラーコンポーネント、
サブ画像、
スライス、
タイル、
コーディングツリーユニット(CTU)、
CTU行、
CTUのグループ、
コーディングユニット(CU)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングツリーブロック(CTB)、
コーディングブロック(CB)、
予測ブロック(PB)、
変換ブロック(TB)、
ブロック、
ブロックのサブブロック、
ブロック内のサブ領域、又は
複数のサンプル又はピクセルを含む領域
のうちの1つを指す、請求項73~77のいずれか一項に記載の方法。
【請求項79】
前記適応型DMVRについての少なくとも1つの動き候補リストから、前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、
シーケンスレベル、
画像グループレベル、
画像レベル、
スライスレベル、又は
タイルグループレベル
のうちの1つで示される、請求項73~77のいずれか一項に記載の方法。
【請求項80】
前記適応型DMVRについての少なくとも1つの動き候補リストから、前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、
シーケンスヘッダー、
画像ヘッダー、
シーケンスパラメータセット(SPS)、
ビデオパラメータセット(VPS)、
依存パラメータセット(DPS)、
デコーディング能力情報(DCI)、
画像パラメータセット(PPS)、
適応パラメータセット(APS)、
スライスヘッダー、又は
タイルグループヘッダー
のうちの1つに示される、請求項73~77のいずれか一項に記載の方法。
【請求項81】
前記適応型DMVRについての少なくとも1つの動き候補リストから、前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、
予測ブロック(PB)、
変換ブロック(TB)、
コーディングブロック(CB)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングユニット(CU)、
仮想パイプラインデータユニット(VPDU)、
コーディングツリーユニット(CTU)、
CTU行、
スライス、
タイル、
サブ画像、又は
複数のサンプル又はピクセルを含む領域
のうちの1つに含まれる、請求項73~77のいずれか一項に記載の方法。
【請求項82】
前記ターゲットブロックのコード化情報に基づいて、前記適応型DMVRについての少なくとも1つの動き候補リストから、前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかを決定するステップをさらに含み、前記コード化情報は、
ブロックサイズ、
カラーフォーマット、
シングル及び/又はデュアルツリー分割、
カラーコンポーネント、
スライスタイプ、又は
画像タイプ
のうちの少なくとも1つを含む、請求項73~77のいずれか一項に記載の方法。
【請求項83】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックに関連付けられた、動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、
前記動き候補リストに基づいて、前記転換を実行するステップと
を含む方法。
【請求項84】
前記第2の数の動き候補が、選択されて予測又は再構築に使用される、請求項83に記載の方法。
【請求項85】
前記第2の数の動き候補は、前記第1の数の動き候補を並べ替えることによって選択され、
ここで、選択された前記第2の数の動き候補は、前記並べ替え後の前記第1の数の動き候補における最初のM個の動き候補であり、Mは前記第2の数である、請求項83に記載の方法。
【請求項86】
前記第1の数は事前に定義されるか、又は
前記第1の数は前記ビットストリームに示されるか、又は
前記第1の数は動的に決定される、請求項83に記載の方法。
【請求項87】
前記第1の数は、コーディングモードごとに異なり得る、請求項83に記載の方法。
【請求項88】
前記第1の数は、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、又は20のうちの1つである、請求項83に記載の方法。
【請求項89】
前記動き候補リストから導出された動き情報が、並べ替えプロセスで使用される、請求項83に記載の方法。
【請求項90】
前記動き候補リストに、精緻化された動き情報を使用した並べ替えプロセスを適用するステップをさらに含む、請求項83から89のいずれか一項に記載の方法。
【請求項91】
前記ターゲットブロックは、
カラーコンポーネント、
サブ画像、
スライス、
タイル、
コーディングツリーユニット(CTU)、
CTU行、
CTUのグループ、
コーディングユニット(CU)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングツリーブロック(CTB)、
コーディングブロック(CB)、
予測ブロック(PB)、
変換ブロック(TB)、
ブロック、
ブロックのサブブロック、
ブロック内のサブ領域、又は
複数のサンプル又はピクセルを含む領域
のうちの1つを指す、請求項83~90のいずれか一項に記載の方法。
【請求項92】
前記ターゲットブロックに関連付けられた、前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、
シーケンスレベル、
画像グループレベル、
画像レベル、
スライスレベル、又は
タイルグループレベル
のうちの1つで示される、請求項83~90のいずれか一項に記載の方法。
【請求項93】
前記ターゲットブロックに関連付けられた、前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、
シーケンスヘッダー、
画像ヘッダー、
シーケンスパラメータセット(SPS)、
ビデオパラメータセット(VPS)、
依存パラメータセット(DPS)、
デコーディング能力情報(DCI)、
画像パラメータセット(PPS)、
適応パラメータセット(APS)、
スライスヘッダー、又は
タイルグループヘッダー
のうちの1つに示される、請求項83~90のいずれか一項に記載の方法。
【請求項94】
前記ターゲットブロックに関連付けられた、前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、
予測ブロック(PB)、
変換ブロック(TB)、
コーディングブロック(CB)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングユニット(CU)、
仮想パイプラインデータユニット(VPDU)、
コーディングツリーユニット(CTU)、
CTU行、
スライス、
タイル、
サブ画像、又は
複数のサンプル又はピクセルを含む領域
のうちの1つに含まれる、請求項83~90のいずれか一項に記載の方法。
【請求項95】
前記ターゲットブロックのコード化情報に基づいて、前記ターゲットブロックに関連付けられた、前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかを決定するステップをさらに含み、前記コード化情報は、
ブロックサイズ、
カラーフォーマット、
シングル及び/又はデュアルツリー分割、
カラーコンポーネント、
スライスタイプ、又は
画像タイプ
のうちの少なくとも1つを含む、請求項83~90のいずれか一項に記載の方法。
【請求項96】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、
前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、
前記動き候補リストに基づいて、前記転換を実行するステップと
を含む方法。
【請求項97】
前記精緻化プロセスは、
テンプレートマッチング(TM)、
デコーダ側動きベクトル精緻化(DMVR)、又は
マルチパスDMVR
のうちの少なくとも1つを含む、請求項96に記載の方法。
【請求項98】
前記動き候補についての前記精緻化プロセスで生成された最終コスト値が保存される、請求項96に記載の方法。
【請求項99】
前記並べ替えプロセスにおいて、第1の動き候補についての第1の精緻化プロセスで生成された第1の最終コスト値が、第2の動き候補についての第2の精緻化プロセスで生成された第2の最終コスト値と比較される、請求項96に記載の方法。
【請求項100】
前記ターゲットブロックは、
カラーコンポーネント、
サブ画像、
スライス、
タイル、
コーディングツリーユニット(CTU)、
CTU行、
CTUのグループ、
コーディングユニット(CU)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングツリーブロック(CTB)、
コーディングブロック(CB)、
予測ブロック(PB)、
変換ブロック(TB)、
ブロック、
ブロックのサブブロック、
ブロック内のサブ領域、又は
複数のサンプル又はピクセルを含む領域
のうちの1つを指す、請求項96~99のいずれか一項に記載の方法。
【請求項101】
前記コスト値を使用して、前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、
シーケンスレベル、
画像グループレベル、
画像レベル、
スライスレベル、又は
タイルグループレベル
のうちの1つで示される、請求項96~99のいずれか一項に記載の方法。
【請求項102】
前記コスト値を使用して、前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、
シーケンスヘッダー、
画像ヘッダー、
シーケンスパラメータセット(SPS)、
ビデオパラメータセット(VPS)、
依存パラメータセット(DPS)、
デコーディング能力情報(DCI)、
画像パラメータセット(PPS)、
適応パラメータセット(APS)、
スライスヘッダー、又は
タイルグループヘッダー
のうちの1つに示される、請求項96~99のいずれか一項に記載の方法。
【請求項103】
前記コスト値を使用して、前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、
予測ブロック(PB)、
変換ブロック(TB)、
コーディングブロック(CB)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングユニット(CU)、
仮想パイプラインデータユニット(VPDU)、
コーディングツリーユニット(CTU)、
CTU行、
スライス、
タイル、
サブ画像、又は
複数のサンプル又はピクセルを含む領域
のうちの1つに含まれる、請求項96~99のいずれか一項に記載の方法。
【請求項104】
前記ターゲットブロックのコード化情報に基づいて、前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかを決定するステップをさらに含み、前記コード化情報は、
ブロックサイズ、
カラーフォーマット、
シングル及び/又はデュアルツリー分割、
カラーコンポーネント、
スライスタイプ、又は
画像タイプ
のうちの少なくとも1つを含む、請求項96~99のいずれか一項に記載の方法。
【請求項105】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについてのマージ候補のセットを、マージタイプのセットに従って並べ替えるステップと、
前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、
構築された前記適応型DMVRマージ候補リストに基づいて、前記転換を実行するステップとを含む、方法。
【請求項106】
前記マージタイプのセットは、
隣接空間的、
時間的、
非隣接空間的、
履歴ベースの動きベクトル予測(HMVP)、又は
ペアワイズ
のうちの少なくとも1つである、請求項105に記載の方法。
【請求項107】
Nの値は、異なるマージタイプごとに異なる、請求項105に記載の方法。
【請求項108】
時間的マージ候補の場合、Nは1又は2に等しく設定される、請求項105に記載の方法。
【請求項109】
空間的マージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、請求項105に記載の方法。
【請求項110】
非隣接空間的マージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、請求項105に記載の方法。
【請求項111】
HMVPマージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、請求項105に記載の方法。
【請求項112】
ペアワイズマージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、請求項105に記載の方法。
【請求項113】
前記ターゲットブロックは、
カラーコンポーネント、
サブ画像、
スライス、
タイル、
コーディングツリーユニット(CTU)、
CTU行、
CTUのグループ、
コーディングユニット(CU)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングツリーブロック(CTB)、
コーディングブロック(CB)、
予測ブロック(PB)、
変換ブロック(TB)、
ブロック、
ブロックのサブブロック、
ブロック内のサブ領域、又は
複数のサンプル又はピクセルを含む領域
のうちの1つを指す、請求項105~112のいずれか一項に記載の方法。
【請求項114】
前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかの指示は、
シーケンスレベル、
画像グループレベル、
画像レベル、
スライスレベル、又は
タイルグループレベル
のうちの1つで示される、請求項105~112のいずれか一項に記載の方法。
【請求項115】
前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何に構築するかの指示は、
シーケンスヘッダー、
画像ヘッダー、
シーケンスパラメータセット(SPS)、
ビデオパラメータセット(VPS)、
依存パラメータセット(DPS)、
デコーディング能力情報(DCI)、
画像パラメータセット(PPS)、
適応パラメータセット(APS)、
スライスヘッダー、又は
タイルグループヘッダー
のうちの1つに示される、請求項105~112のいずれか一項に記載の方法。
【請求項116】
前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかの指示は、
予測ブロック(PB)、
変換ブロック(TB)、
コーディングブロック(CB)、
予測ユニット(PU)、
変換ユニット(TU)、
コーディングユニット(CU)、
仮想パイプラインデータユニット(VPDU)、
コーディングツリーユニット(CTU)、
CTU行、
スライス、
タイル、
サブ画像、又は
複数のサンプル又はピクセルを含む領域
のうちの1つに含まれる、請求項105~112のいずれか一項に記載の方法。
【請求項117】
前記ターゲットブロックのコード化情報に基づいて、前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかを決定するステップをさらに含み、前記コード化情報は、
ブロックサイズ、
カラーフォーマット、
シングル及び/又はデュアルツリー分割、
カラーコンポーネント、
スライスタイプ、又は
画像タイプ
のうちの少なくとも1つを含む、請求項105~112のいずれか一項に記載の方法。
【請求項118】
前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードするステップを含む、請求項1~117のいずれか一項に記載の方法。
【請求項119】
前記転換は、前記ビットストリームから前記ターゲットブロックをデコードするステップを含む、請求項1~117のいずれか一項に記載の方法。
【請求項120】
プロセッサと、命令を備えた非一時的メモリとを含むビデオデータを処理する装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに請求項1~119のいずれか一項に記載の方法を実行させる、装置。
【請求項121】
プロセッサに、請求項1~119のいずれか一項に記載の方法を実行させる命令を記憶する、非一時的なコンピュータ可読記憶媒体。
【請求項122】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、
前記方法は、
前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に、処理手順を適用するステップと、
前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、
前記並べ替えられた動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと
を含む、非一時的なコンピュータ可読記録媒体。
【請求項123】
ビデオのビットストリームを記憶する方法であって、
前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に、処理手順を適用するステップと、
前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、
前記並べ替えられた動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む、方法。
【請求項124】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、前記方法は、
デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに、精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、
並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【請求項125】
ビデオのビットストリームを記憶する方法であって、
デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに、精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、
並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む、方法。
【請求項126】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、前記方法は、
前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、
少なくとも1つの更新された動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【請求項127】
ビデオのビットストリームを記憶する方法であって、
前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、
少なくとも1つの更新された動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【請求項128】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、前記方法は、
前記ビデオのターゲットブロックに関連付けられた、動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、
前記動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【請求項129】
ビデオのビットストリームを記憶する方法であって、
前記ビデオのターゲットブロックに関連付けられた、動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、
前記動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む、方法。
【請求項130】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、前記方法は、
前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、
前記コスト値を使用して、前記動き候補リストに並べ替えプロセスを適用するステップと、
前記動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【請求項131】
ビデオのビットストリームを記憶する方法であって、
前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、
前記コスト値を使用して、前記動き候補リストに並べ替えプロセスを適用するステップと、
前記動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む、方法。
【請求項132】
ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する、非一時的なコンピュータ可読記録媒体であって、前記方法は、
前記ビデオのターゲットブロックについてのマージ候補のセットを、マージタイプのセットに従って並べ替えるステップと、
前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、
構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【請求項133】
ビデオのビットストリームを記憶する方法であって、
前記ビデオのターゲットブロックについてのマージ候補のセットを、マージタイプのセットに従って並べ替えるステップと、
前記マージタイプのセットのそれぞれの、最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、
構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む、方法。


【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般的にはビデオコーディング技術に関し、より具体的には、精緻化された動き情報による動き候補リストの並べ替えに関する。
【背景技術】
【0002】
現今では、デジタルビデオ能力は人々の生活の様々な側面に適用されている。ビデオエンコーディング/デコーディングには、MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4 Part 10 Advanced Video Coding(AVC)、ITU-TH.265High Efficiency Video Coding(HEVC)規格、versatile video coding(VVC)規格など、複数のタイプのビデオ圧縮技術が提案されている。しかし、ビデオコーディング技術のコーディング効率は、一般的にさらに改善されることが期待されている。
【発明の内容】
【0003】
本開示の実施形態は、ビデオ処理のためのソリューションを提供する。
【0004】
第1の態様では、ビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記転換を実行するステップとを含む。従来の技術と比較して、より高いコーディングゲインを達成することができる。さらに、コーディング効率を向上させることができる。
【0005】
第2の態様では、別のビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化された前記ターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて前記転換を実行するステップとを含む。従来の技術と比較して、より高いコーディングゲインを達成することができる。さらに、コーディング効率を向上させることができる。
【0006】
第3の態様では、別のビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、前記少なくとも1つの更新された動き候補リストに基づいて前記転換を実行するステップとを含む。従来の技術と比較して、より高いコーディングゲインを達成することができる。さらに、コーディング効率を向上させることができる。
【0007】
第4の態様では、別のビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記転換を実行するステップとを含む。従来の技術と比較して、より高いコーディングゲインを達成することができる。さらに、コーディング効率を向上させることができる。
【0008】
第5の態様では、別のビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記転換を実行するステップとを含む。従来の技術と比較して、より高いコーディングゲインを達成することができる。さらに、コーディング効率を向上させることができる。
【0009】
第6の態様では、別のビデオ処理方法が提案される。前記方法は、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記転換を実行するステップとを含む。従来の技術と比較して、より高いコーディングゲインを達成することができる。さらに、コーディング効率を向上させることができる。
【0010】
第7の態様では、ビデオデータを処理する装置が提案される。前記ビデオデータを処理する装置は、プロセッサと、命令を備えた非一時的メモリとを含み、前記命令は前記プロセッサによって実行されると、前記プロセッサに第1、第2、第3、第4、第5、又は第6の態様のいずれかによる方法を実行させる。
【0011】
第8の態様では、非一時的なコンピュータ可読記憶媒体が提案される。前記非一時的なコンピュータ可読記憶媒体は、プロセッサに第1、第2、第3、第4、第5、又は第6の態様のいずれかによる方法を実行させる命令を記憶する。
【0012】
第9の態様では、非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0013】
第10の態様では、ビデオのビットストリームを記憶する方法であって、前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0014】
第11の態様では、別の非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0015】
第12の態様では、ビデオのビットストリームを記憶する方法であって、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0016】
第13の態様では、別の非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、少なくとも1つの更新された動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0017】
第14の態様では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、少なくとも1つの更新された動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0018】
I第15の態様では、別の非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0019】
I第16の態様では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0020】
第17の態様では、別の非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0021】
第18の態様では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0022】
第19の態様では、別の非一時的なコンピュータ可読記録媒体が提案される。前記非一時的なコンピュータ可読記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0023】
第20の態様では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0024】
この発明の内容は、以下の詳細な説明でさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この発明の内容は、請求された主題の主要な特徴又は本質的な特徴を特定することを意図したものではなく、また、請求された主題の範囲を制限するために使用されることを意図したものでもない。
【図面の簡単な説明】
【0025】
添付の図面を参照した以下の詳細な説明を通じて、本開示の例示的な実施形態の上記及び他の目的、特徴、及び利点がより明らかになるであろう。本開示の例示的な実施形態では、通常、同じ参照番号は同じ構成要素を指す。
【0026】
図1】本開示のいくつかの実施形態による、例示的なビデオコーディングシステムを示すブロック図を示す。
【0027】
図2】本開示のいくつかの実施形態による、第1の例示的なビデオエンコーダを示すブロック図を示す。
【0028】
図3】本開示のいくつかの実施形態による、例示的なビデオデコーダを示すブロック図を示す。
【0029】
図4】エンコーダブロック図の例の概略図を示す。
【0030】
図5】67個のイントラ予測モードの概略図を示す。
【0031】
図6】広角イントラ予測の参照サンプルの概略図を示す。
【0032】
図7】45°を超える方向の場合の不連続性の問題の概略図を示す。
【0033】
図8】MMVD検索ポイントの概略図を示す。
【0034】
図9】対称MVDモードの図解の概略図を示す。
【0035】
図10】BDOFで使用される拡張CU領域を示す。
【0036】
図11】制御点ベースアフィン動きモデルを示す。
【0037】
図12】サブブロックごとのアフィンMVFを示す。
【0038】
図13】継承されたアフィン動き予測子の位置を示す。
【0039】
図14】制御点動きベクトル継承を示す。
【0040】
図15】構築されたアフィンマージモードについての候補位置の位置を示す。
【0041】
図16】提案された組み合わせ方法についての動きベクトル使用の図解を示す。
【0042】
図17】サブブロックMV VSB及びピクセルΔv(i,j)を示す。
【0043】
図18a】VVCにおけるSbTMVPプロセスを示し、ATVMPによって使用される空間的隣接ブロックを示す。
図18b】VVCにおけるSbTMVPプロセスを示し、空間的近傍からの動きシフトを適用し、対応するコロケートされたサブCUからの動き情報をスケーリングすることによってサブCU動きフィールドを導出することを示す。
【0044】
図19】局所照明補償を示す。
【0045】
図20】短辺のサブサンプリングなしを示す。
【0046】
図21】デコーディング側の動きベクトル精緻化を示す。
【0047】
図22】検索領域内のダイヤモンド領域を示す。
【0048】
図23】空間的マージ候補の位置を示す。
【0049】
図24】空間的マージ候補の冗長性チェックで考慮される候補ペアを示す。
【0050】
図25】時間的マージ候補についての動きベクトルスケーリングの図解を示す。
【0051】
図26】時間的マージ候補C0とC1の候補位置を示す。
【0052】
図27】現在のブロックのVVC空間的隣接ブロックを示す。
【0053】
図28】i番目の検索ラウンドにおける仮想ブロックの図解を示す。
【0054】
図29】同一角度でグループ化されたGPMスプリットの例を示す。
【0055】
図30】幾何学的分割モードの単予測MV選択を示す。
【0056】
図31】幾何学的分割モードを使用する曲げ重みw_0の生成例を示す。
【0057】
図32】空間的マージ候補を導出するために使用される空間的隣接ブロックを示す。
【0058】
図33】初期MVの周囲の検索領域でのテンプレートマッチングの実行を示す。
【0059】
図34】OBMCが適用されるサブブロックの図解を示す。
【0060】
図35】SBT位置、タイプ、及び変換タイプを示す。
【0061】
図36】SADを計算するために使用される隣接サンプルを示す。
【0062】
図37】サブCUレベル動き情報についてのSADを計算するために使用される隣接サンプルを示す。
【0063】
図38】ソーティングプロセスを示す。
【0064】
図39】エンコーダにおける並べ替えプロセスを示す。
【0065】
図40】デコーダにおける並べ替えプロセスを示す。
【0066】
図41】本開示の実施形態による方法のフローチャートを示す。
【0067】
図42】本開示の実施形態による方法のフローチャートを示す。
【0068】
図43】本開示の実施形態による方法のフローチャートを示す。
【0069】
図44】本開示の実施形態による方法のフローチャートを示す。
【0070】
図45】本開示の実施形態による方法のフローチャートを示す。
【0071】
図46】本開示の実施形態による方法のフローチャートを示す。
【0072】
図47】本開示の様々な実施形態を具現できるコンピューティングデバイスのブロック図を示す。
【0073】
図面全体にわたって、同じ又は類似の参照番号は通常、同じ又は類似の要素を指す。
【発明を実施するための形態】
【0074】
次に、いくつかの実施形態を参照して、本開示の原理を説明する。これらの実施形態は、説明のみを目的として記載されており、当業者が本開示を理解し具現するのを助けるものであり、本開示の範囲に関していかなる限定も示唆するものではないことを理解すべきである。本明細書に記載の開示は、以下に記載する方法以外にも様々な方式で具現されることができる。
【0075】
以下の説明及び特許請求の範囲において、別段の定義がない限り、本明細書で使用されるすべての技術用語及び科学用語は、本開示が属する技術分野の当業者によって一般に理解されるのと同じ意味を有する。
【0076】
本開示における「一つの実施形態」、「一実施形態」、「例示的な実施形態」などへの言及は、記載される実施形態が特定の特徴、構造、又は特性を含み得ることを示すが、必ずしもすべての実施形態が特定の特徴、構造、又は特性を含むとは限らない。また、そのような語句は必ずしも同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性が例示的な実施形態に関連して説明される場合、明示的に記載されているかどうかにかかわらず、他の実施形態に関連してそのような特徴、構造、又は特性に影響を与えることは当業者の知識の範囲内であることが指摘される。
【0077】
「第1の」及び「第2の」などの用語は、本明細書では様々な要素を説明するために使用され得るが、これらの要素はこれらの用語によって限定されるべきではないことを理解すべきである。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、例示的な実施形態の範囲から逸脱することなく、第1の要素が第2の要素と呼ばれ得、同様に、第2の要素が第1の要素と呼ばれ得る。本明細書で使用されるように、「及び/又は」という用語には、列挙された用語の1つ又は複数のあらゆる組み合わせが含まれる。
【0078】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、例示的な実施形態を限定することを意図したものではない。本明細書で使用されるように、単数形「a(一つの)」、「an(一つの)」、及び「the(その)」は、文脈上明らかに別段の指示がない限り、複数形も含むものとする。「含む」、「備える」、「有する」、「持つ」、「含有する」及び/又は「包含する」という用語は、本明細書で使用される場合、記載された特徴、要素、及び/又は構成要素などの存在を指定するが、1つ又は複数の他の特徴、要素、構成要素及び/又はそれらの組み合わせの存在又は追加を排除するものではないことがさらに理解されるであろう。
例示的な環境
【0079】
図1は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。図示されるように、ビデオコーディングシステム100は、ソースデバイス110と、宛先デバイス120とを含み得る。ソースデバイス110は、ビデオエンコーディングデバイスとも呼ばれ得、宛先デバイス120は、ビデオデコーディングデバイスとも呼ばれ得る。動作中、ソースデバイス110は、エンコードされたビデオデータを生成するように構成することができ、宛先デバイス120は、ソースデバイス110によって生成されたエンコードされたビデオデータをデコードするように構成することができる。ソースデバイス110は、ビデオソース112と、ビデオエンコーダ114と、入力/出力(I/O)インターフェース116とを含み得る。
【0080】
ビデオソース112は、ビデオキャプチャデバイスなどのソースを含み得る。ビデオキャプチャデバイスの例には、ビデオコンテンツプロバイダからビデオデータを受信するインターフェース、ビデオデータを生成するコンピュータグラフィックスシステム、及び/又はそれらの組み合わせが含まれるが、これらに限定されない。
【0081】
ビデオデータは、1つ又は複数の画像を含み得る。ビデオエンコーダ114は、ビデオソース112からのビデオデータをエンコードしてビットストリームを生成する。ビットストリームには、ビデオデータのコード化表現を形成する一連のビットが含まれ得る。ビットストリームには、コード化画像及び関連データが含まれ得る。コード化画像は、画像のコード化表現である。関連データには、シーケンスパラメータセット、画像パラメータセット、及び他の構文構造が含まれ得る。I/Oインターフェース116は、変調器/復調器及び/又は送信機を含み得る。エンコードされたビデオデータは、I/Oインターフェース116を介してネットワーク130Aを通して宛先デバイス120に直接送信され得る。エンコードされたビデオデータは、宛先デバイス120によるアクセスのために記憶媒体/サーバ130Bに記憶されても良い。
【0082】
宛先デバイス120は、I/Oインターフェース126と、ビデオデコーダ124と、表示デバイス122とを含み得る。I/Oインターフェース126は、受信機及び/又はモデムを含み得る。I/Oインターフェース126は、ソースデバイス110又は記憶媒体/サーバ130Bからエンコードされたビデオデータを取得し得る。ビデオデコーダ124は、エンコードされたビデオデータをデコードし得る。表示デバイス122は、デコードされたビデオデータをユーザに表示し得る。表示デバイス122は、宛先デバイス120と一体化されて得、或いは外部表示デバイスとインターフェースするように構成された宛先デバイス120の外部にあり得る。
【0083】
ビデオエンコーダ114及びビデオデコーダ124は、High Efficiency Video Coding(高効率ビデオコーディング、HEVC)規格、Versatile Video Coding(多用途ビデオコーディング、VVC)規格及び他の現在の及び/又はさらなる規格などのビデオ圧縮規格に従って動作し得る。
【0084】
図2は、本開示のいくつかの実施形態による、図1に示されるシステム100内のビデオエンコーダ114の一例であり得るビデオエンコーダ200の一例を示すブロック図である。
【0085】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを具現するように構成され得る。図2の例では、ビデオエンコーダ200は複数の機能コンポーネントを含む。本開示で説明される技術は、ビデオエンコーダ200の様々なコンポーネント間で共有され得る。いくつかの例では、プロセッサは、本開示で説明された技術のいずれか又は全てを実行するように構成され得る。
【0086】
いくつかの実施形態では、ビデオエンコーダ200は、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構築ユニット212と、バッファ213と、エントロピーエンコーディングユニット214とを含み得る。
【0087】
他の例では、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含み得る。一例では、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含み得る。IBCユニットは、少なくとも1つの参照画像が現在のビデオブロックが位置する画像であるIBCモードで予測を実行し得る。
【0088】
さらに、動き推定ユニット204及び動き補償ユニット205などのいくつかの構成要素は統合され得るが、図2の例では説明の目的で別々に表されている。
【0089】
分割ユニット201は、画像を1つ又は複数のビデオブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は、多様なビデオブロックサイズをサポートし得る。
【0090】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードのうちの1つを選択し、その結果から得られるイントラコード化又はインターコード化されたブロックを、残差ブロックデータを生成するように残差生成ユニット207に提供し、エンコードされたブロックを再構築して参照画像として使用するように再構築ユニット212に提供し得る。いくつかの例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ及びインター予測の組み合わせ(CIIP)モードを選択し得る。モード選択ユニット203は、インター予測の場合、ブロックの動きベクトルの解像度(例:サブピクセル又は整数ピクセル精度)を選択してもよい。
【0091】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ又は複数の参照フレームを現在のビデオブロックと比較することで現在のビデオブロックの動き情報を生成し得る。動き補償ユニット205は、現在のビデオブロックに関連付けられた画像以外のバッファ213からの画像の動き情報及びデコードされたサンプルに基づいて、現在のビデオブロックの予測ビデオブロックを決定し得る。
【0092】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスのいずれにあるかに応じて、現在のビデオブロックに対して異なる演算を実行し得る。本明細書で使用されるように、「Iスライス」は、マクロブロックから構成される画像の一部を指し得、その全てが同じ画像内のマクロブロックに基づいている。さらに、本明細書で使用されるように、いくつかの態様では、「Pスライス」及び「Bスライス」は、同じ画像内のマクロブロックに依存しないマクロブロックから構成される画像の部分を指し得る。
【0093】
いくつかの例では、動き推定ユニット204は、現在のビデオブロックに対して単方向予測を実行し得、動き推定ユニット204は、現在のビデオブロックの参照ビデオブロックについてのリスト0又はリスト1の参照画像を探し得る。次に、動き推定ユニット204は、参照ビデオブロックを含むリスト0又はリスト1内の参照画像を示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルとを生成し得る。動き推定ユニット204は、参照インデックス、予測方向指示子、及び動きベクトルを現在のビデオブロックの動き情報として出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0094】
代替的に、他の例では、動き推定ユニット204は、現在のビデオブロックに対して双方向予測を実行し得る。動き推定ユニット204は、現在のビデオブロックの参照ビデオブロックについてのリスト0内の参照画像を探してもよいし、現在のビデオブロックの別の参照ビデオブロックについてのリスト1内の参照画像を探してもよい。次に、動き推定ユニット204は、参照ビデオブロックを含むリスト0及びリスト1内の参照画像を示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間的変位を示す動きベクトルとを生成し得る。動き推定ユニット204は、現在のビデオブロックの参照インデックス及び動きベクトルを現在のビデオブロックの動き情報として出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0095】
いくつかの例では、動き推定ユニット204は、デコーダのデコーディング処理のためのフルセットの動き情報を出力し得る。代替的に、いくつかの実施形態では、動き推定ユニット204は、別のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報をシグナリングし得る。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接するビデオブロックの動き情報と十分に類似していると決定し得る。
【0096】
一例では、動き推定ユニット204は、現在のビデオブロックに関連付けられた構文構造において、現在のビデオブロックが別のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を示し得る。
【0097】
別の例では、動き推定ユニット204は、現在のビデオブロックに関連付けられた構文構造において、別のビデオブロック及び動きベクトル差分(MVD)を識別し得る。動きベクトル差分は、現在のビデオブロックの動きベクトルと、指示されたビデオブロックの動きベクトルとの間の差分を示す。ビデオデコーダ300は、指示されたビデオブロックの動きベクトル及び動きベクトル差分を使用して現在のビデオブロックの動きベクトルを決定し得る。
【0098】
上で論じたように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって具現され得る予測シグナリング技術の2つの例には、アドバンスト動きベクトル予測(AMVP)とマージモードシグナリングとが含まれる。
【0099】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じ画像内の他のビデオブロックのデコードされたサンプルに基づいて、現在のビデオブロックについての予測データを生成し得る。現在のビデオブロックについての予測データには、予測されたビデオブロック及び様々な構文要素が含まれ得る。
【0100】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測ビデオブロックを減算する(例:マイナス記号によって示される)ことで、現在のビデオブロックについての残差データを生成し得る。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含み得る。
【0101】
他の例では、例えばスキップモードにおいて、現在のビデオブロックについての残差データが存在しなくてもよいし、残差生成ユニット207は減算演算を実行しなくてもよい。
【0102】
変換処理ユニット208は、現在のビデオブロックに関連付けられた残差ビデオブロックに1つ又は複数の変換を適用することによって、現在のビデオブロックについての1つ又は複数の変換係数ビデオブロックを生成し得る。
【0103】
変換処理ユニット208が現在のビデオブロックに関連付けられた変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連付けられた1つ又は複数の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連付けられた変換係数ビデオブロックを量子化し得る。
【0104】
逆量子化ユニット210及び逆変換ユニット211は、それぞれ、変換係数ビデオブロックに逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構築し得る。再構築ユニット212は、再構築された残差ビデオブロックを、予測ユニット202によって生成された1つ又は複数の予測ビデオブロックからの対応するサンプルに追加して、バッファ213に記憶するために現在のビデオブロックに関連付けられた再構築ビデオブロックを生成し得る。
【0105】
再構築ユニット212がビデオブロックを再構築した後、ループフィルタリング動作が実行されて、ビデオブロック内のビデオブロッキングアーティファクトを低減し得る。
【0106】
エントロピーエンコーディングユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピーエンコーディングユニット214がデータを受信すると、エントロピーエンコーディングユニット214は、1つ又は複数のエントロピーエンコーディング動作を実行して、エントロピーエンコード化データを生成し、エントロピーエンコード化データを含むビットストリームを出力し得る。
【0107】
図3は、本開示のいくつかの実施形態による、図1に示されるシステム100内のビデオデコーダ124の一例であり得るビデオデコーダ300の一例を示すブロック図である。
【0108】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するように構成され得る。図3の例では、ビデオデコーダ300は複数の機能コンポーネントを含む。本開示で説明される技術は、ビデオデコーダ300の様々なコンポーネント間で共有され得る。いくつかの例では、プロセッサは、本開示で説明された技術のいずれか又は全てを実行するように構成され得る。
【0109】
図3の例では、ビデオデコーダ300は、エントロピーデコーディングユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構築ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例では、ビデオエンコーダ200に関して説明したエンコーディングパスと一般に逆のデコーディングパスを実行し得る。
【0110】
エントロピーデコーディングユニット301は、エンコードされたビットストリームを検索し得る。エンコードされたビットストリームは、エントロピーコード化されたビデオデータ(例:ビデオデータのエンコードされたブロック)を含み得る。エントロピーデコーディングユニット301は、エントロピーコード化されたビデオデータをデコードし得、エントロピーデコードされたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照画像リストインデックス及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによってそのような情報を決定し得る。AMVPが使用され、隣接するPB及び参照画像からのデータに基づいた最もあり得るいくつかの候補の導出を含む。動き情報には、通常、水平及び垂直動きベクトル変位値、1つ又は2つの参照画像インデックス、及びBスライス内の予測領域の場合は、どの参照画像リストが各インデックスに関連付けられているかの識別が含まれる。本明細書で使用されるように、いくつかの態様では、「マージモード」は、空間的又は時間的に隣接するブロックから動き情報を導出することを指し得る。
【0111】
動き補償ユニット302は、おそらく補間フィルタに基づいて補間を実行しながら、動き補償されたブロックを生成し得る。サブピクセル精度で使用される補間フィルタの識別子が構文要素に含まれ得る。
【0112】
動き補償ユニット302は、ビデオブロックのエンコーディング中にビデオエンコーダ200によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルについての補間値を計算し得る。動き補償ユニット302は、受信した構文情報に従ってビデオエンコーダ200によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【0113】
動き補償ユニット302は、構文情報の少なくとも一部を使用して、エンコードされたビデオシーケンスのフレーム及び/又はスライスをエンコードするために使用されるブロックのサイズ、エンコードされたビデオシーケンスの画像の各マクロブロックがどのように分割されるかを説明するパーティション情報、各パーティションがどのようにエンコードされるかを示すモード、各インターエンコードされたブロックの1つ又は複数の参照フレーム(及び参照フレームリスト)、及びエンコードされたビデオシーケンスをデコードするその他の情報を決定し得る。本明細書で使用されるように、いくつかの態様では、「スライス」は、エントロピーコーディング、信号予測、及び残差信号再構築に関して、同じ画像の他のスライスから独立してデコードできるデータ構造を指し得る。スライスは、画像全体又は画像の領域のいずれかになり得る。
【0114】
イントラ予測ユニット303は、例えばビットストリームで受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット304は、ビットストリームで提供され、エントロピーデコーディングユニット301によってデコードされた量子化ビデオブロック係数を逆量子化、即ち量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0115】
再構築ユニット306は、例えば、残差ブロックと、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックとを加算することで、デコードされたブロックを取得し得る。必要に応じて、デブロッキングフィルターが適用されて、ブロックアーティファクトを除去するよう、デコードされたブロックをフィルタリングしてもよい。次に、デコードされたビデオブロックはバッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のための参照ブロックを提供し、また、表示デバイス上にプレゼンテーションするためのデコードされたビデオも生成する。
【0116】
本開示のいくつかの例示的な実施形態について以下に詳細に説明することにする。本明細書では理解を容易にするためにセクション見出しが使用されているが、セクションで開示される実施形態をそのセクションのみに限定するものではないことを理解すべきである。さらに、特定の実施形態が多用途ビデオコーディング又は他の特定のビデオコーデックを参照して説明されるが、開示された技術は他のビデオコーディング技術にも適用可能である。さらに、いくつかの実施形態はビデオコーディングステップを詳細に説明するが、コーディングを元に戻す対応するデコーディングステップはデコーダによって実施されることが理解されるであろう。さらに、ビデオ処理という用語には、ビデオコーディング又は圧縮、ビデオデコーディング又は解凍、及びビデオピクセルを1つの圧縮フォーマットから別の圧縮フォーマット又は異なる圧縮ビットレートで表現するビデオトランスコーディングが包含される。

1.概要
本開示は、ビデオコーディング技術に関する。具体的には、精緻化された動き情報を使用して動き候補リストを並べ替えるインターコーディング用動き候補リスト、動き候補リストの並べ替えプロセスを以下にして適用か、及び/又は適用するか否か、並びに画像/ビデオコーディングにおける他のコーディングツールに関する。これは、HEVCやVersatile Video Coding(多用途ビデオコーディング、VVC)等の既存のビデオコーディング規格に適用され得る。また、将来のビデオコーディング規格又はビデオコーデックにも適用され得る。

2.背景
ビデオコーディング規格は、主によく知られているITU-T及びISO/IEC規格の発展を通じて進化している。ITU-TはH.261及びH.263を策定し、ISO/IECはMPEG-1及びMPEG-4ビジュアルを策定し、及びこの2つの組織は共同でH.262/MPEG-2ビデオ、H.264/MPEG-4アドバンストビデオコーディング(Advanced Video Coding、AVC)及びH.265/HEVC規格を策定した。H.262以降、ビデオコーディング規格は、時間的予測及び変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを超える将来のコーディング技術を開発するために、共同ビデオ探索チーム(Joint Video Exploration Team(JVET))が2015年にVCEG及びMPEGにより共同で設立された。それ以来、多くの新しい方法がJVETにより採用され、共同探索モデル(Joint Exploration Model(JEM))と呼ばれる参照ソフトウェアに取り入れられてきた。2018年4月には、HEVCと比べて50%のビットレート削減を目標とするVVC規格に取り組むために、VCEG(Q6/16)とISO/IEC JTC1SC29/WG11(MPEG)との間の共同ビデオ専門家チーム(Joint Video Expert Team(JVET))が作成された。
VVC規格ドラフトの最新バージョン、即ち、Versatile Video Coding(Draft 10)は、以下において見ることができる:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/20_Teleconference/wg11/JVET-T2001-v1.zip
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下において見ることができる:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tags/VTM-11.0.

2.1.一般的なビデオコーデックのコーディングフロー
図4は、デブロッキングフィルター(DF)、サンプル適応オフセット(SAO)、ALFの3つのループ内フィルタリングブロックが含まれる、VVCのエンコーダブロック図の例を示している。事前定義されたフィルターを使用するDFとは異なり、SAO及びALFは、それぞれ、現在の画像の元のサンプルを利用して、オフセットを追加し、有限インパルス応答(FIR)フィルターを適用することで、元のサンプルと再構築されたサンプルの間の平均二乗誤差を減らし、コード化サイド情報がオフセット及びフィルター係数をシグナリングする。ALFは、各画像の最後の処理段階にあり、前の段階で作成されたアーティファクトを捕捉して修復しようとするツールと見なすことができる。

2.2.67個のイントラ予測モードによるイントラモードコーディング
自然なビデオで呈示される任意のエッジ方向を捉えるために、方向イントラモードの数は、HEVCで使用されるような33から、図5に示すような65に拡張され、平面モードとDCモードとは同じままである。これらの高密度の方向イントラ予測モードは、全てのブロックサイズ、及びルマ(luma)とクロマ(chroma)の両方のイントラ予測に適用される。
HEVCでは、全てのイントラコード化ブロックは正方形で、その各辺の長さは2の累乗である。したがって、DCモードを使用してイントラ予測子を生成するために除算演算は必要ない。VVCでは、ブロックが長方形になり得、通常はブロックごとに除算演算を使用する必要がある。DC予測の除算演算を回避するために、非正方形のブロックについての平均を計算するには長い辺のみを使用する。

2.2.1.広角イントラ予測
VVCでは67個のモードが定義されているが、与えられたイントラ予測モードインデックスの正確な予測方向は、ブロック形状にさらに依存している。従来の角度イントラ予測方向は、時計回りに45度から-135度まで定義されている。VVCでは、非正方形ブロックの場合、従来の角度イントラ予測モードのいくつかが、広角イントラ予測モードに適応的に置き換えられる。置き換えられたモードは、元のモードインデックスを使用してシグナリングされ、解析後に広角モードのインデックスに再マップされる。イントラ予測モードの総数は変更されず、即ち、67で、イントラモードコーディング方法が変更されない。
これらの予測方向をサポートするために、長さ2W+1の上部参照と長さ2H+1の左参照が図6に示すように定義される。
広角方向モードで置き換えられるモードの数は、ブロックのアスペクト比に依存する。置き換えられるイントラ予測モードは、表1に示されている。
【表1】
図7は、45度を超える方向の場合の不連続性のブロック図を示している。図7図700に示すように、広角イントラ予測の場合、垂直に隣接する2つの予測サンプルは、2つの非隣接参照サンプルを使用し得る。したがって、広角予測には、ローパス参照サンプルフィルター及びサイドスムージングが適用されて、ギャップΔpαの増加による悪影響が軽減される。広角モードが非分数オフセットを表す場合、この条件を満たす広角モードは8つあり、[-14、-12、-10、-6、72、76、78、80]である。これらのモードでブロックが予測されると、参照バッファ内のサンプルは補間を適用せずに直接コピーされる。この変更により、スムージングに必要なサンプル数が削減される。そのうえ、従来の予測モード及び広角モードにおける非分数モードの設計を整列させる。
VVCでは、4:2:0だけでなく、4:2:2及び4:4:4クロマ形式もサポートされる。4:2:2クロマ形式のクロマ派生モード(DM)派生テーブルは、当初イントラ予測モードの拡張に合わせてエントリ数を35から67に拡張するHEVCから移植されたものである。
HEVC仕様では-135度未満及び45度を超える予測角度をサポートしていないため、2から5の範囲のルマイントラ予測モードは2にマッピングされる。したがって、4:2:2:クロマ形式のクロマDM派生テーブルは、マッピングテーブルのエントリのいくつかの値を置き換えて更新されて、クロマブロックの予測角度をより正確に転換する。

2.3.インター予測
各インター予測CUに対して、動きパラメータは動きベクトル、参照画像インデックス、参照画像リスト使用インデックス、及びインター予測サンプル生成に使用されるVVCの新規コーディング機能に必要な追加情報で構成される。動きパラメータは、明示的又は暗黙的にシグナリングされ得る。CUがスキップモードでコード化されると、CUは1つのPUに関連付けられ、有意の残差係数、コード化された動きベクトルデルタ、又は参照画像インデックスがない。マージモードが指定され、これにより現在のCUの動きパラメータが、空間的及び時間的候補、及びVVCで導入された追加スケジュールを含む近隣CUから取得される。マージモードは、スキップモードだけでなく、任意のインター予測CUに適用され得る。マージモードの代替は、動きパラメータの明示的な送信であり、ここで、動きベクトル、各参照画像リストの対応する参照画像インデックス、参照画像リスト使用フラグ、及び他の必要な情報が各CUごとに明示的にシグナリングされる。

2.4.イントラブロックコピー(IBC)
イントラブロックコピー(IBC)は、SCCのHEVC拡張で採用されているツールである。それが画面コンテンツ素材のコーディング効率を大幅に向上させることはよく知られている。IBCモードはブロックレベルのコーディングモードとして具現されるため、エンコーダーでブロックマッチング(BM)が具現されて各CUの最適なブロックベクトル(又は動きベクトル)を探す。ここで、ブロックベクトルは、現在のブロックから現在の画像内ですでに再構築されている参照ブロックへの変位を示すために使用される。IBC-コード化CUのルマブロックベクトルは整数精度である。クロマブロックベクトルも整数精度に丸められる。AMVRと組み合わせると、IBCモードは1ペル(pel)と4ペルの動きベクトル精度を切り替えることができる。IBC-コード化CUは、イントラ又はインター予測モード以外の第3の予測モードとして扱われる。IBCモードは、幅と高さの両方が64ルマサンプル以下のCUに適用可能である。
エンコーダ側では、IBCに対してハッシュベースの動き推定が実行される。エンコーダは、幅又は高さのいずれかが16ルマサンプル以下のブロックに対してRDチェックを実行する。非マージモードの場合、先ずハッシュベースの検索を使用してブロックベクトル検索が実行される。ハッシュ検索で有効な候補が返されない場合は、ブロックマッチングベースのローカル検索が実行される。
ハッシュベースの検索では、現在のブロックと参照ブロック間のハッシュキーマッチング(32ビットCRC)がすべての許容ブロックサイズに拡張される。現在の画像の各位置のハッシュキーの計算は、4×4サブブロックに基づいている。より大きなサイズの現在のブロックの場合、全ての4×4サブブロックの全てのハッシュキーが対応する参照位置のハッシュキーとマッチングすると、ハッシュキーは参照ブロックのハッシュキーとマッチングすると判断される。複数の参照ブロックのハッシュキーが現在のブロックのハッシュキーとマッチングすることが判明した場合、マッチングする各参照のブロックベクトルコストが計算され、コストが最小のものが選択される。ブロックマッチング検索では、検索範囲は前のCTU及び現在のCTUの両方をカバーするように設定される。
CUレベルでは、IBCモードはフラグでシグナリングされ、次のようにIBC AMVPモード又はIBCスキップ/マージモードとしてシグナリングされ得る。
-IBCスキップ/マージモード:マージ候補インデックスは、隣接候補IBCコード化ブロックからのリストにあるブロックベクトルのうち、どのブロックベクトルが現在のブロックを予測するために使用されるかを示すために使用される。マージリストは、空間的、HMVP、及びペアワイズ候補で構成される。
-IBC AMVPモード:ブロックベクトル差は、動きベクトル差と同じ方法でコード化される。ブロックベクトル予測方法では、予測子として2つの候補を使用する。1つは左隣から、もう1つは上隣から(IBCコード化の場合)である。どちらかの隣が利用できない場合は、デフォルトのブロックベクトルが予測子として使用される。ブロックベクトル予測子のインデックスを示すフラグがシグナリングされる。

2.5.MVDによるマージモード(MMVD)
暗黙的に導出された動き情報が現在のCUの予測サンプル生成に直接使用されるマージモードに加えて、動きベクトル差分(MMVD)によるマージモードがVVCに導入されている。MMVDフラグは、通常のマージフラグを送信した直後にシグナリングされて、CUにMMVDモードが使用されるか否か指定する。
MMVDでは、マージ候補が選択された後、シグナリングされたMVD情報によってさらに精緻化される。さらなる情報には、マージ候補フラグ、動きの規模を指定するインデックス、及び動き方向を示すインデックスが含まれる。MMVDモードでは、マージリストの最初の2つの候補のうち1つが選択されて、MV基礎として使用される。MMVD候補フラグは、第1のマージ候補と第2のマージ候補のどちらを使用するかを指定するためにシグナリングされる。
距離インデックスは、動き規模情報を指定し、開始点からの事前定義されたオフセットを示す。図8は、MMVD検索ポイントを示している。図8に示すように、オフセットは開始MVの水平成分又は垂直成分のいずれかに追加される。距離インデックスと事前定義されたオフセットの関係は、表2-2に指定されている。
【表2】
方向インデックスは、開始点に対するMVDの方向を表す。方向インデックスは、表2-3に示すように4つの方向を表すことができる。MVD符号の意味は、開始MVの情報に応じて変わり得ることに注意すべきである。開始MVが単予測MV又は双予測MVであり、両方のリストが現在の画像の同じ側を指している場合(即ち、2つの参照のPOCが両方とも現在の画像のPOCよりも大きいか、又は両方とも現在の画像のPOCよりも小さい場合)、表2-3における符号は、開始MVに追加されるMVオフセットの符号を指定する。開始MVが双予測MVであり、2つのMVが現在の画像の異なる側を指しており(即ち、一方の参照のPOCが現在の画像のPOCよりも大きく、もう一方の参照のPOCが現在の画像のPOCよりも小さい)、リスト0のPOCの差がリスト1のPOCの差よりも大きい場合、表2-3における符号は開始MVのlist0 MVコンポーネントに追加されるMVオフセットの符号を指定し、list1 MVについての符号は反対の値を持つ。そうでなければ、リスト1内のPOCの差がリスト0よりも大きい場合、表2-3の符号は開始MVのlist1 MVコンポーネントに追加されるMVオフセットの符号を指定し、list0 MVについての符号は反対の値を持つ。
MVDは、各方向のPOCの差に応じてスケーリングされる。両方のリストのPOCの差が同じ場合、スケーリングは必要ない。そうでなければ、リスト0内のPOCの差がリスト1内のPOCの差よりも大きい場合は、図9に示すように、Ll0POC差をtd、L1のPOC差をtbとして定義することによって、リスト1についてのMVDがスケーリングされる。L1のPOC差がL0よりも大きい場合は、リスト0についてのMVDが同じ方法でスケーリングされる。開始MVが単予測の場合、MVDは利用可能なMVに追加される。
【表3】
2.6.対称MVDコーディング
VVCでは、通常の単方向予測及び双方向予測モードMVDシグナリングに加えて、双予測MVDシグナリング用の対称MVDモードが適用される。対称MVDモードでは、list-0とlist-1の両方の参照画像インデックスを含む動き情報とlist-1のMVDはシグナリングされずに導出される。
対称MVDモードのデコーディングプロセスは次のとおりである。
1.スライスレベルでは、変数BiDirPredFlag、RefIdxSymL0及びRefIdxSymL1が次のように導出される。
-mvd_l1_zero_flagが1の場合、BiDirPredFlagは0に等しく設定される。
-そうでなければ、list-0の最も近い参照画像とlist-1の最も近い参照画像が前後に参照画像のペア、又は後前に参照画像のペアを形成する場合、BiDirPredFlagは1に設定され、list-0とlist-1の参照画像は両方とも短期参照画像である。それ以外の場合、BiDirPredFlagは0に設定される。
2.CUレベルでは、CUが双予測コード化され、BiDirPredFlagが1に等しい場合、対称モードが使用されているか否かを示す対称モードフラグが明示的にシグナリングされる。
対称モードフラグがtrueの場合、mvp_l0_flag、mvp_l1_flag及びMVD0のみが明示的にシグナリングされる。list-0及びlist-1についての参照インデックスは、それぞれ参照画像のペアに等しく設定される。MVD1は、(-MVD0)に等しく設定される。最終的な動きベクトルは、以下の式で示される。
【数1】
図9は、対称MVDモードの図解である。エンコーダーでは、対称MVD動き推定が初期MV評価から始まる。初期MV候補のセットは、単予測検索から取得されたMVと、双予測検索から取得されたMVと、AMVPリストからのMVとを含む。レート歪みコストが最も低いものが、対称MVD動き検索についての初期MVとして選択される。

2.7.双方向オプティカルフロー(Bi-directional optical flow、BDOF)
双方向オプティカルフロー(BDOF)ツールはVVCに含まれている。以前はBIOと呼ばれていたBDOFは、JEMに含まれていた。JEMバージョンと比較すると、VVCのBDOFは、特に乗算回数及び乗算器のサイズに関して計算量が大幅に少なく要求される、よりシンプルなバージョンである。
BDOFは、4×4サブブロックレベルでCUの双予測信号精緻化するために使用される。BDOFは、次の条件をすべて満たす場合、CUに適用される。
-CUは「true」双予測モードを使用してコード化され、即ち、2つの参照画像のうち1つは表示順序で現在の画像より前になり、もう1つは表示順序で現在の画像より後になる。
-2つの参照画像から現在の画像までの距離(即ち、POC差)は同じである。
-両方の参照画像は短期参照画像である。
-CUはアフィンモード又はSbTMVPマージモードを使用してコード化されない。
-CUは64個を超えるルマサンプルを有する。
-CUの高さとCUの幅は両方とも8ルマサンプル以上である。
-BCW重みインデックスは等しい重みを示す。
-現在のCUではWPが有効になっていない。
-現在のCUではCIIPモードが使用されない。
BDOFはルマコンポーネントにのみ適用される。その名前が示すように、BDOFモードは、オブジェクトの動きが滑らかであると想定するオプティカルフロー概念に基づいている。各4×4サブブロックについて、L0予測サンプルとL1予測サンプルの差を最小化することで、動き精緻化(vx,vy)が計算される。次に、動き精緻化を使用して、4×4サブブロックにおける双予測サンプル値を調整する。BDOFプロセスでは、次の手順が適用される。
先ず、2つの予測信号の水平勾配及び垂直勾配である
【数2】
が、2つの隣接するサンプル間の差を直接計算することによって計算される。即ち、
【数3】
次に、勾配
【数4】
の自己相関及び相互相関が次のように計算される。
【数5】
ここで、
【数6】
次に、相互相関項及び自己相関項を使用して、次の式を利用して動き精緻化(vx,vy)が導出される。
【数7】
動き精緻化及び勾配に基づいて、4×4サブブロック内の各サンプルについての次の調整が計算される。
【数8】
最後に、次のように双予測サンプルを調整して、CUのBDOFサンプルが計算される。
【数9】
これらの値は、BDOFプロセスでの乗数が15ビットを超えないように選択され、BDOFプロセスの中間パラメータの最大ビット幅は32ビット以内に保たれる。
勾配値を導出するためには、現在のCU境界の外側のリストk(k=0,1)内のいくつかの予測サンプルI(k)(i,j)を生成する必要がある。図10は、BDOFで使用される拡張CU領域の概略図を示している。図10のダイアグラム1000に示すように、VVCにおけるBDOFはCUの境界の周囲の1つの拡張行/列を使用する。境界外の予測サンプルを生成する計算複雑さを制御するために、拡張エリア(図10で1010で示す)の予測サンプルは、近くの整数位置の参照サンプル(座標に対してfloor()演算を使用)を補間なしで直接取ることによって生成され、通常の8-tap動き補償補間フィルタを使用してCU内の予測サンプル(図10の1020で示す)が生成される。これらの拡張サンプル値は勾配計算にのみ使用される。BDOFプロセスの残りのステップでは、CU境界外の任意のサンプル値及び勾配値が必要な場合は、最も近い近傍からパディング(即ち、繰り返し)される。
CUの幅及び/又は高さが16ルマサンプルよりも大きい場合、CUは幅及び/又は高さが16ルマサンプルに等しいサブブロックに分割され、サブブロック境界はBDOFプロセスでCU境界として扱われる。BDOFプロセスについての最大ユニットサイズは16×16に制限されている。サブブロックごとに、BDOFプロセスはスキップされ得る。初期L0予測サンプルとL1予測サンプル間のSADが閾値よりも小さい場合、BDOFプロセスはサブブロックに適用されない。閾値は(8*W*(H>>1)に等しく設定され、ここで、Wはサブブロック幅を示し、Hはサブブロック高さを示す。SAD計算の追加の複雑さを回避するために、DVMRプロセスで計算された初期L0及びL1予測サンプル間のSADがここで再利用される。
現在のブロックでBCWが有効になっている場合、即ち、BCW重みインデックスが不等重みを示している場合、双方向オプティカルフローは無効になる。同様に、現在のブロックでWPが有効になっている場合、即ち、2つの参照画像のいずれかでluma_weight_lx_flagが1の場合、BDOFも無効になる。CUが対称MVDモード又はCIIPモードでコード化されている場合、BDOFも無効になる。

2.8.組み合わせられたインター及びイントラ予測(CIIP)

2.9.アフィン動き補償予測
HEVCでは、動き補償予測(MCP)には移動動きモデルのみが適用される。一方、現実の世界では、ズームイン/アウト、回転、遠近法動き、及びその他の不規則な動きなど、様々な種類の動きがある。VVCでは、ブロックベースのアフィン変換動き補償予測が適用される。図11に示すように、ブロックのアフィン動きフィールドは、2つの制御点(4パラメータ)又は3つの制御点動きベクトル(6パラメータ)の動き情報によって記述される。
図11の4パラメータアフィン動きモデル1110の場合、ブロック内のサンプル位置(x,y)における動きベクトルは次のように導出される:
【数10】
図11の6パラメータアフィン動きモデル1120の場合、ブロック内のサンプル位置(x,y)における動きベクトルは次のように導出される:
【数11】
ここで、(mv0x,mv0y)は左上隅の制御点の動きベクトルであり、(mv1x,mv1y)は右上隅の制御点の動きベクトルであり、(mv2x,mv2y)は左下隅の制御点の動きベクトルである。
動き補償予測を簡素化するために、ブロックベースのアフィン変換予測が適用される。図12は、サブブロックごとのアフィンMVFの概略図1200を示している。各4×4ルマサブブロックの動きベクトルを導出するには、図12に示すように、各サブブロックの中心サンプルの動きベクトルを上記の式に従って計算し、1/16の分数精度に丸める。次に、動き補償補間フィルタを適用して、導出された動きベクトルで各サブブロックの予測を生成する。クロマコンポーネントのサブブロックサイズも4×4に設定される。4×4クロマサブブロックのMVは、対応する4つの4×4ルマサブブロックのMVの平均として計算される。
並進動きインター予測の場合と同様に、アフィンマージモードとアフィンAMVPモードという2つのアフィン動きインター予測モードもある。

2.9.1.アフィンマージ予測
AF_MERGEモードは、幅と高さの両方が8以上のCUに適用され得る。このモードでは、現在のCUのCPMVは、空間的に隣接するCUの動き情報に基づいて生成される。最大5つのCPMVP候補があり得るが、現在のCUに使用されるものを示すためのインデックスがシグナリングされる。次の3種類のCPVM候補を使用して、アフィンマージ候補リストを形成する。
-隣接CUのCPMVから外挿された継承されたアフィンマージ候補。
-隣接CUの変換MVを使用して導出された、構築されたアフィンマージ候補CPMVP。
-ゼロMV。
VVCでは、隣接ブロックのアフィン動きモデルから導出される継承されたアフィン候補が最大2つあり、1つは左隣接CUから、もう1つは上隣接CUから導出される。図13は、継承されたアフィン動き予測子の位置の概略図1300を示している。候補ブロックは図13に示されている。左予測子の場合、スキャン順序はA0->A1であり、上予測子の場合、スキャン順序はB0->B1->B2である。各サイドから最初の継承候補のみが選択される。2つの継承候補の間ではプルーニングチェックは実行されない。隣接アフィンCUが識別されると、その制御点動きベクトルを使用して、現在のCUのアフィンマージリスト内のCPMVP候補が導出される。図14は、制御点動きベクトル継承の概略図1400を示している。図14に示すように、隣接する左下のブロックA 1410がアフィンモードでコード化されると、ブロックA 1410を含むCU1420の左上隅、右上隅、左下隅の動きベクトルv2、v3及びv4が得られる。ブロックA 1410が4パラメータアフィンモデルでコード化されると、現在のCUの2つのCPMVはv2及びv3に従って計算される。ブロックAが6パラメータアフィンモデルでコード化されると、現在のCUの3つのCPMVはv2、v3及びv4に従って計算される。
構築されたアフィン候補とは、各制御点の近傍並進動き情報を組み合わせることによって候補が構築されることを意味する。制御点についての動き情報は、構築されたアフィンマージモードについての候補位置の概略図1500を示す図15に示されている指定された空間的近傍及び時間的近傍から導出される。CPMVk(k=1,2,3,4)は、k番目の制御点を表す。CPMV1の場合、B2->B3->A2ブロックがチェックされ、第1の利用可能なブロックのMVが使用される。CPMV2の場合、B1->B0ブロックがチェックされ、CPMV3の場合、A1->A0ブロックがチェックされる。TMVPの場合、利用可能な場合、CPMV4として使用される。
4つの制御点のMVが得られた後、その動き情報に基づいてアフィンマージ候補が構築される。次の制御点MVの組み合わせが順番に構築に使用される:
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,CPMV4}、
{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}。
3つのCPMVの組み合わせにより、6パラメータアフィンマージ候補が構築され、2つのCPMVの組み合わせにより、4パラメータアフィンマージ候補が構築される。動きスケーリングプロセスを回避するために、制御点の参照インデックスが異なる場合、関連する制御点MVの組み合わせは破棄される。
継承されたアフィンマージ候補と構築されたアフィンマージ候補がチェックされた後、リストがまだいっぱいでない場合は、リストの末尾にゼロMVが挿入される。

2.9.2.アフィンAMVP予測
アフィンAMVPモードは、幅と高さの両方が16以上のCUに適用される。CUレベルのアフィンフラグがビットストリームでシグナリングされてアフィンAMVPモードが使用されるか否かを示し、次に別のフラグがシグナリングされて4パラメータアフィンか6パラメータアフィンかを示す。このモードでは、現在のCUのCPMVとその予測子CPMVPの差がビットストリームでシグナリングされる。アフィンAVMP候補リストサイズは2であるが、次の4種類のCPVM候補を順番に使用して生成される。
-隣接CUのCPMVから外挿された継承されたアフィンAMVP候補。
-隣接CUの並進MVを使用して導出された、構築されたアフィンAMVP候補CPMVP。
-隣接CUからの並進MV。
-ゼロMV。
継承されたアフィンAMVP候補のチェック順序は、継承されたアフィンマージ候補のチェック順序と同じである。唯一の違いは、AVMP候補の場合、現在のブロックと同じ参照画像を有するアフィンCUのみが考慮されることである。継承されたアフィン動き予測子を候補リストに挿入する時に、プルーニングプロセスは適用されない。
構築されたAMVP候補は、図13に示す指定された空間的近傍から導出される。アフィンマージ候補の構築と同じチェック順序が使用される。その上、隣接ブロックの参照画像インデックスもチェックされる。チェック順序で最初のブロックが使用され、このブロックは、インターコード化され、現在のCUと同じ参照画像を有する。
現在のCUが4パラメータアフィンモードでコード化され、mv0とmv1の両方が利用可能な場合、それらは1つの候補としてアフィンAMVPリストに追加される。現在のCUが6パラメータアフィンモードでコード化され、3つのCPMVすべてが利用可能な場合、それらは1つの候補としてアフィンAMVPリストに追加される。そうでなければ、構築されたAMVP候補は利用不可として設定される。
継承されたアフィンAMVP候補及び構築されたAMVP候補をチェックした後も、アフィンAMVPリスト候補が2未満の場合、mv0、mv1、mv2が、現在のCUのすべての制御点MVを予測するための並進MVとして、順番に追加される(使用可能な場合)。最後に、アフィンAMVPリストがまだいっぱいでない場合は、ゼロMVを使用してアフィンAMVPリストを埋める。

2.9.3.アフィイン動き情報の記憶
VVCでは、アフィンCUのCPMVは別途のバッファーに記憶される。記憶されたCPMVは、最近コード化CUのアフィンマージモード及びアフィンAMVPモードで継承されたCPMVPを生成するためにのみ使用される。CPMVから導出されたサブブロックMVは、動き補償、並進MVのマージ/AMVPリストのMV導出、及びデブロッキングに使用される。
追加のCPMV用の画像ラインバッファを回避するために、上のCTUからのCUからのアフィン動きデータ継承は、通常の隣接CUからの継承とは異なって扱われる。アフィン動きデータ継承についての候補CUが上のCTUラインにある場合、アフィンMVP導出には、CPMVではなく、ラインバッファ内の左下と右下のサブブロックMVが使用される。このようにして、CPMVはローカルバッファにのみ記憶される。候補CUが6パラメータアフィンコード化されている場合、アフィンモデルは4パラメータモデルに低下される。図16に示すように、上のCTU境界に沿って、CUの左下と右下のサブブロック動きベクトルが、下のCTU内のCUのアフィン継承に使用される。

2.9.4.アフィンモードについてのオプティカルフローによる予測精緻化
サブブロックベースのアフィン動き補償は、ピクセルベースの動き補償に比べて、予測精度ペナルティという代償を払って、メモリアクセス帯域幅を節約し、計算複雑さを軽減できる。より細かい粒度の動き補償を達成するように、オプティカルフローによる予測精緻化(PROF)を使用して、動き補償のためのメモリアクセス帯域幅を増加させることなく、サブブロックベースのアフィン動き補償予測を精緻化する。VVCでは、サブブロックベースのアフィン動き補償が実行された後、オプティカルフロー式によって導出された差を加えることで、ルマ予測サンプルを精緻化する。PROFは、次の4つの手順で説明される。
ステップ1)サブブロックベースのアフィン動き補償を実行して、サブブロック予測I(i,j)を生成する。
ステップ2)サブブロック予測の空間的勾配gx(i,j)及びgy(i,j)を、各サンプル位置で3タップフィルター[-1,0,1]を使用して計算する。勾配計算は、BDOFでの勾配計算とまったく同じである。
【数12】
shift1は勾配の精度を制御するために使用される。サブブロック(即ち、4×4)予測は、勾配計算のために、各側で1つのサンプルずつ拡張される。追加のメモリ帯域幅及び追加の補間計算を回避するために、拡張された境界上の拡張サンプルは、参照画像内の最も近い整数ピクセル位置からコピーされる。
ステップ3)ルマ予測精緻化は、次のオプティカルフロー式によって計算される。
【数13】
ここで、Δv(i,j)は、図17に示すように、サンプル位置(i,j)に対して計算されたサンプルMV(v(i,j)で示される)と、サンプル(i,j)が属するサブブロックのサブブロックMVとの差である。Δv(i,j)は、1/32ルマサンプル精度の単位で量子化される。
アフィンモデルパラメータ及びサブブロック中心に対するサンプル位置はサブブロックごとに変更されないため、Δv(i,j)は第1のサブブロックに対して計算され、同じCU内の他のサブブロックに対して再利用され得る。dx(i,j)及びdy(i,j)をサンプル位置(i,j)からサブブロックの中心(xSB,ySB)までの水平及び垂直オフセットとすると、Δv(i,j)は次の式で導出できる。
【数14】
精度を保つために、サブブロック(xSB,ySB)のエンターは((WSB-1)/2,(HSB-1)/2)として計算され、ここで、WSB及びHSBは、それぞれサブブロックの幅及び高さである。
4パラメータアフィンモデルの場合、
【数15】
6パラメータアフィンモデルの場合、
【数16】
ここで、(v0x,v0y)、(v1x,v1y)、(v2x,v2y)は、左上、右上、左下の制御点の動きベクトルであり、w及びhはCUの幅及び高さである。
ステップ4)最後に、ルマ予測精緻化ΔI(i,j)がサブブロック予測I(i,j)に加わえられる。最終的な予測I’は、次の式のように生成される。
【数17】
PROFは、アフィンコード化CUに対して次の2つの場合には適用されない。1)すべての制御点MVが同じで、CUが並進動きのみを有することを示す場合、2)サブブロックベースのアフィンMCがCUベースのMCに低下されて、大量のメモリアクセス帯域幅要件を回避するため、アフィン動きパラメータが指定された制限よりも大きい場合。
PROFによるアフィン動き推定のエンコーディング複雑さを軽減するために、高速エンコーディング方法が適用される。次の2つの状況では、アフィン動き推定段階でPROFは適用されない。a)このCUがルートブロックではなく、その親ブロックがアフィンモードを最適モードとして選択していない場合、現在のCUがアフィンモードを最適モードとして選択する可能性が低いため、PROFは適用されない。b)4つのアフィンパラメータ(C、D、E、F)の大きさがすべて事前定義された閾値よりも小さく、現在の画像が低遅延画像でない場合、PROFによってもたらされる改善が小さいため、PROFは適用されない。このようにして、PROFによるアフィン動き推定を高速化できる。

2.10.サブブロックベースの時間的動きベクトル予測(SbTMVP)
VVCは、サブブロックベースの時間的動きベクトル予測(SbTMVP)方法をサポートしている。HEVCの時間的動きベクトル予測(TMVP)と同様に、SbTMVPはコロケートされた画像内の動きフィールドを使用して、現在の画像内のCUについての動きベクトル予測及びマージモードを改善する。TMVPで使用されるのと同じコロケートされた画像がSbTMVPにも使用される。SbTMVPは、次の2つの点でTMVPと異なる。
-TMVPはCUレベルで動きを予測するが、SbTMVPはサブCUレベルで動きを予測する。
-その一方で、TMVPは、コロケートされた画像内のコロケートされたブロック(コロケートされたブロックは、現在のCUに対して右下又は中央のブロック)から時間的動きベクトルを取得するが、SbTMVPは、コロケートされた画像から時間的動き情報を取得する前に動きシフトを適用し、ここで、動きシフトは、現在のCUの空間的隣接ブロックの1つからの動きベクトルから得られる。
SbTMVPプロセスは、図18aと図18bに示されている。図18aは、SbTMVPによって使用される空間的隣接ブロックの概略図1810を示している。図18aは、SbTMVPが使用する空間的隣接ブロックの概略図1810を示している。SbTMVPは、現在のCU内のサブCUの動きベクトルを2つのステップで予測する。第1のステップでは、図18aの空間的近傍A1が検査される。A1にコロケートされた画像をその参照画像として使用する動きベクトルがある場合、この動きベクトルが適用されるべき動きシフトとして選択される。このような動きが識別されない場合、動きシフトは(0,0)に設定される。
図18bは、空間的近傍からの動きシフトを適用し、対応するコロケートされたサブCUからの動き情報をスケーリングすることによってサブCUの動きフィールドを駆動する概略図を示している。第2のステップでは、ステップ1で識別された動きシフトが適用され(即ち、現在の画像1820の現在のブロックの座標に加算され)て、図18bに示すように、コロケートされた画像1822からサブCUレベルの動き情報(動きベクトルと参照インデックス)を取得する。図18bの例では、動きシフトはブロックA1の動きに設定されると想定する。次に、各サブCUについて、コロケートされた画像1822内の対応するブロック(中心サンプルをカバーする最小の動きグリッド)の動き情報が、サブCUについての動き情報を導出するために使用される。コロケートされたサブCUの動き情報が識別された後、それは、HEVCのTMVPプロセスと同様の方法で、現在のサブCUの動きベクトル及び参照インデックスに転換され、ここで、時間的動きスケーリングが、時間的動きベクトルの参照画像を現在のCUの参照画像に整列させるために適用される。
VVCでは、SbTMVP候補とアフィンマージ候補の両方を含む組み合わされたサブブロックベースのマージリストが、サブブロックベースのマージモードのシグナリングに使用される。SbTMVPモードは、シーケンスパラメータセット(SPS)フラグによって有効/無効にされる。SbTMVPモードを有効にすると、サブブロックベースのマージ候補のリストの最初のエントリとしてSbTMVP予測子が加えられ、その後アフィンマージ候補が続く。サブブロックベースのマージリストのサイズはSPSでシグナリングされ、VVCでは、サブブロックベースのマージリストの最大許容サイズは5である。
SbTMVPで使用されるサブCUサイズは8×8に固定されており、アフィンマージモードで行われるように、SbTMVPモードは幅と高さの両方が8以上のCUにのみ適用される。
追加のSbTMVPマージ候補のエンコーディングロジックは、他のマージ候補と同じであり、即ち、P又はBスライスの各CUに対して、追加のRDチェックが、SbTMVP候補を使用するか否かを決定するために実行される。

2.11.適応動きベクトル解像度(AMVR)
HEVCでは、スライスヘッダーでuse_integer_mv_flagが0の場合、(CUの動きベクトルと予測動きベクトル間の)動きベクトル差(MVD)が1/4ルマサンプル単位でシグナリングされる。VVCでは、CUレベルの適応動きベクトル解像度(AMVR)スキームが導入されている。AMVRは、CUのMVDを様々な精度でコード化することを可能にする。現在のCUのモード(通常のAMVPモード又はまたはアフィンAVMPモード)に応じて、現在のCUのMVDは次のように適応的に選択され得る。
-通常のAMVPモード:1/4ルマサンプル、1/2ルマサンプル、整数ルマサンプル、又は4ルマサンプル。
-アフィンAMVPモード:1/4ルマサンプル、整数ルマサンプル、又は1/16ルマサンプル。
CUレベルのMVD解像度指示は、現在のCUに少なくとも1つの非ゼロMVDコンポーネントがある場合に条件付きでシグナリングされる。すべてのMVDコンポーネント(即ち、参照リストL0及び参照リストL1の水平及び垂直MVDの両方)がゼロの場合、1/4ルマサンプルMVD解像度が推論される。
非ゼロMVDコンポーネントを少なくとも1つ有するCUの場合、CUに1/4ルマサンプルMVD精度が使用されるか否かを示す第1のフラグがシグナリングされる。第1のフラグが0の場合、さらなるシグナリングは必要なく、現在のCUに1/4ルマサンプルMVD精度が使用される。そうでなければ、通常のAMVP CUに1/2ルマサンプル又は他のMVD精度(整数又は4ルマサンプル)が使用されていることを示す第2のフラグがシグナリングされる。1/2ルマサンプルの場合、1/2ルマサンプル位置には、デフォルトの8タップ補間フィルターではなく、6タップ補間フィルターが使用される。そうでなければ、通常のAMVP CUに整数ルマサンプル又は4ルマサンプルMVD精度が使用されるか否かを示す第3のフラグがシグナリングされる。アフィンAMVP CUの場合、第2のフラグが、整数ルマサンプル又は1/16ルマサンプルMVD精度が使用されるか否かを示すために使用される。再構築されたMVが意図した精度(1/4ルマサンプル、1/2ルマサンプル、整数ルマサンプル又は4ルマサンプル)を持つのを確保するために、CUについての動きベクトル予測子は、MVDと加算される前にMVDと同じ精度に丸められる。動きベクトル予測子はゼロに向かって丸められる(即ち、負の動きベクトル予測子は正の無限大に向かって丸められ、正の動きベクトル予測子は負の無限大に向かって丸められる)。
エンコーダは、RDチェックを使用して現在のCUの動きベクトル解像度を決定する。各MVD解像度に対してCUレベルのRDチェックを常に4回実行することを回避するために、VTM11では、1/4ルマサンプル以外のMVD精度のRDチェックは条件付きでのみ呼び出される。通常のAVMPモードの場合、1/4ルマサンプルMVD精度及び整数ルマサンプルMV精度のRDコストが最初に計算される。次に、整数ルマサンプルMVD精度のRDコストが1/4ルマサンプルMVD精度のRDコストと比較され、4ルマサンプルMVD精度のRDコストをさらにチェックする必要があるか否かが決定される。1/4ルマサンプルMVD精度のRDコストが整数ルマサンプルMVD精度のRDコストよりも大幅に小さい場合、4ルマサンプルMVD精度のRDチェックはスキップされる。次に、整数ルマサンプルMVD精度のRDコストが、以前にテストされたMVD精度の最良のRDコストよりも大幅に大きい場合、2/1ルマサンプルMVD精度のチェックはスキップされる。アフィンAMVPモードの場合、アフィンマージ/スキップモード、マージ/スキップモード、1/4ルマサンプルMVD精度通常AMVPモード、及び1/4ルマサンプルMVD精度アフィンAMVPモードのレート歪みコストをチェックした後、アフィンインターモードが選択されない場合、1/16ルマサンプルMV精度及び1ペルMV精度アフィンインターモードはチェックされない。さらに、1/4ルマサンプルMV精度のアフィンインターモードで取得されたアフィンパラメーターは、1/16ルマサンプル及び1/4ルマサンプルMV精度のアフィンインターモードにおける開始検索ポイントとして使用される。

2.12.CUレベルの重み付けによる双予測(BCW)
HEVCでは、2つの異なる参照画像から取得された2つの予測信号を平均化及び/又は2つの異なる動きベクトルを使用して、双予測信号が生成される。VVCでは、双予測モードが単純な平均化を超えて拡張されて、2つの予測信号の加重平均化を可能にする。
【数18】
加重平均双予測では、5つの重みである、w∈{-2,3,4,5,10}が許可される。双予測された各CUの重みwは、次の2つの方式のいずれかで決定される。1)非マージCUの場合、重みインデックスは動きベクトル差の後にシグナリングされる。2)マージCUの場合、重みインデックスは、マージ候補インデックスに基づいて隣接ブロックから推論される。BCWは、256以上のルマサンプル(即ち、CUの幅とCUの高さの積が256以上)を持つCUにのみ適用される。低遅延画像の場合、5つの重みすべてが使用される。非低遅延画像の場合、3つの重み(w∈{3,4,5})のみが使用される。
-エンコーダーでは、エンコーダーの複雑さを大幅に増やすことなく、高速検索アルゴリズムを適用して重みインデックスを見つける。これらのアルゴリズムの次のようにまとめられる。詳細については、読者は、VTMソフトウェア及びドキュメントJVET-L0646を参照し得る。AMVRと組み合わせると、現在の画像が低遅延画像の場合、不等重みは1ペル及び4ペルの動きベクトル精度に対してのみ条件付きでチェックされる。
-アフィンと組み合わせると、アフィンモードが現在のベストモードとして選択されている場合にのみ、不等重みに対してアフィンMEが実行される。
-双予測の2つの参照画像が同じ場合、不等重みは条件付きでのみチェックされる。
-現在の画像とその参照画像間のPOC距離、コーディングQP、及び時間的レベルに応じて、特定の条件が満たされると不等重みは検索されない。
BCW重みインデックスは、バイパスコード化ビンに後をつけられる1つのコンテキストコード化ビンを使用してコード化される。最初のコンテキストコード化ビンは、等重みが使用されているか否かを示す。不等重みが使用される場合は、バイパスコーディングを使用して追加のビンがシグナリングされてどの不等重みが使用されるかが示される。
重み付け予測(WP)は、H.264/AVC及びHEVC規格でサポートされているコーディングツールで、フェーディングのあるビデオコンテンツを効率的にコード化する。WPについてのサポートは、VVC規格にも追加された。WPは、参照画像リストL0及びL1のそれぞれで、参照画像ごとに重み付けパラメータ(重み及びオフセット)がシグナリングされるのを可能にする。次に、動き補正中に、対応する参照画像の重み及びオフセットが適用される。WP及びBCWは、異なるタイプのビデオコンテンツ用に設計されている。VVCデコーダ設計を複雑にするWPとBCWの相互作用を回避するために、CUがWPを使用する場合、BCW重みインデックスはシグナリングされず、wは4(即ち、等重みが適用される)と推論される。マージCUの場合、重みインデックスは、マージ候補インデックスに基づいて隣接するブロックから推論される。これは、通常のマージモードと継承されたアフィンマージモードの両方に適用され得る。構築されたアフィンマージモードの場合、最大3つのブロックの動き情報に基づいてアフィン動き情報が構築される。構築されたアフィンマージモードを使用するCUのBCWインデックスは、単に第1の制御点MVのBCWインデックスと同じに設定される。
VVCでは、CIIPとBCWを共同でCUに適用されることはできない。CUがCIIPモードでコード化されると、現在のCUのBCWインデックスは2(即ち、等しい重み)に設定される。

2.13.局所照明補償(LIC)
局所照明補償(LIC)は、現在の画像とその時間的参照画像間の局所照明変化の問題に対処するコーディングツールである。LICは、スケーリング因子とオフセットを参照サンプルに適用して現在のブロックの予測サンプルを取得する線形モデルに基づいている。具体的には、LICは次の式で数学的にモデル化され得る。
【数19】
ここで、P(x,y)は座標(x,y)における現在のブロックの予測信号であり、Pr(x+vx,y+vy)は動きベクトル(vx,vy)が指す参照ブロックであり、α及びβは参照ブロックに適用される対応するスケーリング因子及びオフセットである。図19は、LICプロセスを示している。図19では、LICがブロックに適用される場合、最小平均二乗誤差(LMSE)法が採用されて、現在のブロックの隣接サンプル(図19のテンプレートT)と時間的参照画像(図19のT0又はT1)内の対応する参照サンプルとの差を最小化することでLICパラメータの値(即ち、α及びβ)を導出する。追加的に、計算複雑さを軽減するために、テンプレートサンプルと参照テンプレートサンプルの両方がサブサンプリング(適応サブサンプリング)されてLICパラメータを導出し、即ち、図19の影付きサンプルのみがα及びβの導出に使用される。
コーディングパフォーマンスを向上させるために、図20に示すように、短辺についてのサブサンプリングは実行されない。

2.14.デコーダ側動きベクトル精緻化(DMVR)
マージモードのMVの正確さを高めるために、VVCではバイラテラルマッチング(BM)ベースのデコーダ側動きベクトル精緻化が適用される。双予測操作では、参照画像リストL0及び参照画像リストL1の初期MVの周囲で精緻化されたMVが検索される。BM方法では、参照画像リストL0とリストL1内の2つの候補ブロック間の歪みを計算する。図21は、デコーディング側動きベクトル精緻化を示す概略図である。図21に示すように、初期MVの周囲の各MV候補に基づくブロック2110と2112間のSADが計算され、ここで、ブロック2110はリストL0内の参照画像2101にあり、ブロック2112は現在の画像2102についてのリストL1の参照画像2103にある。最も低いSADを持つMV候補が精緻化されたMVになり、双予測信号を生成するために使用される。
VVCでは、DMVRの適用は制限されており、次のモード及び機能でコード化されたCUにのみ適用される。
-双予測MVによるCUレベルマージモード。
-現在の画像に対して、1つの参照画像は過去にあり、もう1つの参照画像は未来にある。
-2つの参照画像から現在の画像までの距離(即ち、POC差)は同じである。
-両方の参照画像は短期参照画像である。
-CUは64個を超えるルマサンプルを有する。
-CUの高さとCUの幅は両方とも8ルマサンプル以上である。
-BCW重みインデックスは等しい重みを示す。
-現在のブロックでは、WPが有効になっていない。
-現在のブロックでは、CIIPモードは使用されていない。
DMVRプロセスによって導出された精緻化MVは、インター予測サンプルを生成するために使用され、将来の画像コーディングのための時間的動きベクトル予測にも使用される。一方、元のMVはデブロッキングプロセスに使用され、将来のCUコーディングのための空間的動きベクトル予測にも使用される。
DMVRの追加機能については、次の副条項で言及されている。

2.14.1.検索スキーム
DVMRでは、検索ポイントは初期MVを囲み、MVオフセットはMV差分ミラーリング規則に従う。言い換えると、候補MVペア(MV0、MV1)で示されるDMVRによってチェックされるポイントは、次の2つの式に従う。
【数20】
ここで、MV_offsetは、参照画像の1つにおける初期MVと精緻化されたMV間の精緻化オフセットを表す。精緻化検索範囲は、初期MVから2つの整数ルマサンプルである。検索には、整数サンプルオフセット検索ステージと、分数サンプル精緻化ステージとが含まれる。
整数サンプルオフセット検索には、25ポイントフル検索が適用される。最初に、初期MVペアのSADが計算される。初期MVペアのSADが閾値よりも小さい場合、DMVRの整数サンプルステージは終了する。そうでなければ、残りの24ポイントのSADが計算され、ラスタースキャン順にチェックされる。SADが最小のポイントが、整数サンプルオフセット検索ステージの出力として選択される。DMVR精緻化の不確実性のペナルティを軽減するために、DMVRプロセス中に元のMVを優先することが提案される。初期MV候補によって参照される参照ブロック間のSADは、SAD値の1/4だけ減少する。
整数サンプル検索は分数サンプル精緻化に後をつけられる。計算複雑さを軽減するために、分数サンプル精緻化が、SAD比較による追加検索の代わりに、パラメトリック誤差面方程式を使用して導出される。分数サンプル精緻化は、整数サンプル検索段階の出力に基づいて条件付きで呼び出される。整数サンプル検索段階が、最初の反復又は2番目の反復検索のいずれかで中心のSADが最小になって終了すると、分数サンプル精緻化がさらに適用される。
パラメトリック誤差面ベースのサブピクセルオフセット推定では、中心位置コストと中心から4つの隣接位置のコストを使用して、次の形式の2次元放物線誤差面方程式を適合させる。
【数21】
ここで、(xmin,ymin)はコストが最も小さい分数位置に対応し、Cは最小コスト値に対応する。5つの検索ポイントのコスト値を使用して上記の式を解くと、(xmin,ymin)は次のように計算される。
【数22】
すべてのコスト値が正で、最小値がE(0,0)であるため、xmin及びyminの値は自動的に-8から8の間に制限される。これは、VVCで1/16thペルMV精度を持つハーフピールオフセットに対応する。計算された分数(xmin,ymin)を整数距離精緻化MVに加えて、サブピクセル精度精緻化デルタMVを取得する。

2.14.2.バイリニア補間及びサンプルパディング
VVCでは、MVの解像度は1/16ルマサンプルである。分数位置のサンプルは、8タップ補間フィルタを使用して補間される。DMVRでは、検索ポイントが整数サンプルオフセットを持つ初期の分数ペルMVを囲んでいるため、それらの分数位置のサンプルはDMVR検索プロセス用に補間される必要がある。計算複雑さを軽減するために、バイリニア補間フィルタが、DMVRにおける検索プロセス用の分数サンプルを生成するために使用される。もう1つの重要な効果は、バイリニアフィルタを使用することで、2サンプルの検索範囲で、DVMRが、通常の動き補償プロセスと比較してより多くの参照サンプルにアクセスしないことである。DMVR検索プロセスで精緻化MVが達成された後、通常の8タップ補間フィルタを適用して最終予測を生成する。通常のMCプロセスにこれ以上の参照サンプルをアクセスさせないために、元のMVに基づく補間プロセスには必要ないが、精緻化されたMVに基づく補間プロセスには必要なサンプルは、利用可能なサンプルからパディングされる。

2.14.3.最大DMVR処理ユニット
CUの幅及び/又は高さが16ルマサンプルよりも大きい場合、幅及び/又は高さが16ルマサンプルに等しいサブブロックにさらに分割される。DMVR検索プロセスについての最大ユニットサイズは16×16に制限される。
2.15.マルチパスデコーダ側動きベクトル精緻化
この文献では、DMVRの代わりに、マルチパスデコーダ側動きベクトル精緻化が適用される。第1のパスでは、コーディングブロックにバイラテラルマッチング(BM)が適用される。第2のパスでは、コーディングブロック内の各16×16サブブロックにBMが適用される。第3のパスでは、双方向オプティカルフロー(BDOF)を適用して、各8×8サブブロック内のMVが精緻化される。精緻化されたMVは、空間的及び時間的動きベクトル予測の両方のために記憶される。

2.15.1.第1のパス-ブロックベースのバイラテラルマッチングMV精緻化
第1のパスでは、コーディングブロックにBMを適用して精緻化されたMVが導出される。デコーダ側動きベクトル精緻化(DMVR)と同様に、精緻化されたMVは、参照画像リストL0及びL1の2つの初期MV(MV0及びMV1)の周囲で検索される。精緻化されたMV(MV0_pass1 and MV1_pass1は、L0及びL1内の2つの参照ブロック間の最小バイラテラルマッチングコストに基づいて、開始MVの周囲で導出される。
BMはローカル検索を実行して、整数サンプル精度intDeltaMVと半ペルサンプル精度halfDeltaMvを導出する。ローカル検索では、3×3の正方形検索パターンを適用して、水平方向に検索範囲[-sHor,sHor]、垂直方向に[-sVer,sVer]をループし、ここで、sHorとsVerの値はブロック次元によって決まり、sHorとsVerの最大値は8である。
バイラテラルマッチングは、bilCost=mv距離Cost+sadCostとして計算される。ブロックサイズcbW*cbHが64より大きい場合、MRSADコスト関数を適用して参照ブロック間の歪みのDC効果を除去する。3×3検索パターンの中心点におけるbilCostが最小コストを有する場合、intDeltaMV又はhalfDeltaMVローカル検索が終了する。そうでなければ、現在の最小コスト検索ポイントが3×3検索パターンの新しい中心点になり、検索範囲の終わりに達するまで最小コストの検索が続行される。
既存の分数サンプル精緻化をさらに適用して、最終的なdeltaMVを導出する。第1のパス後の精緻化されたMVは、次のように導出される。
【数23】
2.15.2.第2のパス-サブブロックベースのバイラテラルマッチングMV精緻化
第2のパスでは、16×16グリッドサブブロックにBMを適用して、精緻化されたMVが導出される。サブブロックごとに、参照画像リストL0及びL1についての第1のパスで取得された2つのMV(MV0_pass1及びMV1_pass1)の周囲で精緻化されたMVが検索される。精緻化されたMV(MV0_pass2(sbIdx2)とMV1_pass2(sbIdx2))は、L0とL1の2つの参照サブブロック間のバイラテラルマッチングコストに基づいて導出される。
各サブブロックについて、BMはフル検索を実行して整数サンプル精度intDeltaMVを導出する。フル検索の検索範囲は水平方向に[-sHor,sHor]、垂直方向に[-sVer,sVer]である。ここで、sHorとsVerの値はブロック次元によって決まり、sHorとsVerの最大値は8である。
バイラテラルマッチングコストは、2つの参照サブブロック間のSATDコストにコスト係数を適用することによって、bilCost=satdCost*costFactorとして計算される。検索領域(2*sHor+1)*(2*sVer+1)は、図22のダイアグラム2200に示すように、最大5つのダイヤモンド形状の検索領域に分割される。各検索領域にcostFactorが割り当てられるが、これは、各検索ポイントと開始MV間の距離(intDeltaMV)によって決定され、各ダイヤモンド領域は検索領域の中心から順に処理される。各領域では、検索ポイントは、領域の左上から右下隅に向かうラスタースキャン順に処理される。現在の検索領域内の最小bilCostがsbW*sbHに等しい閾値よりも小さい場合、intペルフル検索は終了し、そうでなければ、intペルフル検索(int-pel full search)は、すべての検索ポイントが検査されるまで次の検索領域に続行される。
BMはローカル検索を実行して、半分のサンプル精度のhalfDeltaMvを導出する。検索パターンとコスト関数は、2.9.1で定義されているものと同じである。
既存のVVC DMVR分数サンプル精緻化がさらに適用されて、最終的なdeltaMV(sbIdx2)が導出される。第2のパスで精緻化されたMVは、次のように導出される。
【数24】
2.15.3.第3のパス-サブブロックベースの双方向オプティカルフローMV精緻化
第3のパスでは、8×8グリッドサブブロックにBDOFを適用して、精緻化されたMVが導出される。8×8サブブロックごとに、BDOF精緻化が適用されて、第2のパスの親サブブロックの精緻化されたMVからクリッピングなしでスケールされたVxとVyが導出される。導出されたbioMv(Vx,Vy)は、1/16サンプル精度に丸められ、-32から32の間でクリッピングされる。
第3のパスでの精緻化されたMV(MV0_pass3(sbIdx3) and MV1_pass3(sbIdx3))は、次のように導出される。
【数25】
2.16.サンプルベースのBDOF
サンプルベースのBDOFでは、ブロックベースで動き精緻化(Vx,Vy)を導出するのではなく、サンプルごとに実行する。
前記コーディングブロックは8×8サブブロックに分割される。各サブブロックについて、2つの参照サブブロック間のSADを閾値と照合することで、BDOFを適用するか否かが決定される。サブブロックにBDOFを適用すると決定された場合、サブブロック内のすべてのサンプルに対して、5×5スライディングウィンドウを使用し、すべてのスライディングウィンドウに既存のBDOFプロセスを適用してVxとVyを導出する。導出された動き精緻化(Vx,Vy)は、ウィンドウの中心サンプルの双予測サンプル値を調整するために適用される。

2.17.拡張マージ予測
VVCでは、マージ候補リストは、次の5種類の候補を順番に含めることによって構築される。
(1)空間的隣接CUからの空間的MVP。
(2)コロケートされたCUからの時間的MVP。
(3)FIFOテーブルからの履歴ベースのMVP。
(4)ペアワイズ平均MVP。
(5)ゼロMV。
マージリストのサイズは、シーケンスパラメータセットヘッダーでシグナリングされ、マージリストの最大許容サイズは6である。マージモードにおける各CUコードの場合、切り捨て単項バイナリ化(TU)を使用して、最適なマージ候補のインデックスがエンコードされる。マージインデックスの最初のビンはコンテキストでコード化され、他のビンにはバイパスコーディングが使用される。
このセッションでは、マージ候補の各カテゴリの導出プロセスについて説明する。HEVCと同様に、VVCは、特定のサイズの領域内のすべてのCUのマージ候補リストの並列導出もサポートする。

2.17.1.空間的候補の導出
VVCにおける空間的マージ候補の導出は、最初の2つのマージ候補の位置が入れ替わっている点を除いて、HEVCの場合と同じである。図23は、空間的マージ候補の位置を示す概略図2300である。図23に示されている位置にある候補の中から、最大4つのマージ候補が選択される。導出の順序は、B0、A0、B1、A1、B2である。位置B2は、位置B0、A0、B1、A1の1つ以上のCUが利用できない(例:別のスライス又はタイルに属しているため)場合、又はイントラコード化されている場合にのみ考慮さる。位置A1の候補が追加された後、残りの候補の追加は、同じ動き情報を持つ候補がリストから除外され、コーディング効率が向上することを保証する冗長性チェックの対象となる。計算複雑さを軽減するために、言及された冗長性チェックではすべての候補ペアが考慮されるわけではない。図24は、空間的マージ候補の冗長性チェックで考慮される候補ペアを示す概略図2400である。代わりに、図24の矢印でリンクされたペアのみが考慮され、冗長性チェックに使用される対応する候補が同じ動き情報を持たない場合にのみ候補がリストに追加される。

2.17.2.時間的候補の導出
このステップでは、候補が1つだけリストに追加される。特に、この時間的マージ候補の導出では、コロケートされた参照画像に属する共存CUに基づいて、スケーリングされた動きベクトルが導出される。共存CUの導出に使用される参照画像リストは、スライスヘッダーで明示的にシグナリングされる。時間的マージ候補についてのスケーリングされた動きベクトルは、図25のダイアグラム2500の点線で示されているように取得され、これは、POC距離tb及びtdを使用して共存CUの動きベクトルからスケーリングされるが、ここで、tbは、現在の画像の参照画像と現在の画像との間のPOC差として定義され、tdは、共存画像の参照画像と共存画像との間のPOC差として定義される。時間的マージ候補の参照画像インデックスは、ゼロに等しく設定される。
図26は、時間的マージ候補の候補位置C0及びC1を示す概略図2600である。時間的候補の位置は、図26に示すように、候補C0とC1の間で選択される。位置C0のCUが利用不可である場合、イントラコード化されているか、又は現在行のCTU外側にあり、位置C1が使用される。そうでなければ、位置C0が時間的マージ候補の導出に使用される。

2.17.3.履歴ベースのマージ候補の導出
履歴ベースのMVP(HMVP)マージ候補は、空間的MVP及びTMVPの後にマージリストに追加される。この方法では、以前にコード化されたブロックの動き情報がテーブルに保存され、現在のCUのMVPとして使用される。複数のHMVP候補を含むテーブルは、エンコーディング/デコーディングプロセス中に維持される。新しいCTU行が検出されると、テーブルはリセット(空に)される。非サブブロックインターコード化CUがある場合はいつでも、関連する動き情報が新しいHMVP候補としてテーブルの最後のエントリに追加される。
HMVPテーブルのサイズSは6に設定されるが、これは最大6つの履歴ベースのMVP(HMVP)候補がテーブルに追加され得るということを示す。テーブルに新しい動き候補を挿入する場合、制約付き先入れ先出し(FIFO)ルールが利用され、最初に冗長性チェックが適用されて、テーブル内に同一のHMVPがあるか否かを見つける。見つかった場合、同一のHMVPはテーブルから削除され、それ以降のすべてのHMVP候補は前に移動され、同一のHMVPはテーブルの最後のエントリに挿入される。
HMVP候補は、マージ候補リスト構築プロセスで使用され得る。テーブル内の最新のいくつかのHMVP候補が順番にチェックされ、TMVP候補の後の候補リストに挿入される。空間的又は時間的マージ候補に対するHMVP候補に冗長性チェックが適用される。
冗長性チェック操作の数を減らすために、次の簡略化が導入される:
マージリスト生成に使用されるHMPV候補の数は(N<=4)?M:(8-N)として設定され、ここで、Nはマージリスト内の既存の候補の数を示し、Mはテーブル内の利用可能なHMVP候補の数を示す。
利用可能なマージ候補の総数が、最大許容マージ候補数から1を引いた数に達すると、HMVPからのマージ候補リスト構築プロセスは終了する。

2.17.4.ペアワイズ平均マージ候補の導出
ペアワイズ平均候補は、既存のマージ候補リスト内の事前定義された候補ペアを平均化することで生成され、事前定義されたペアは、{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}と定義され、ここで、数字はマージ候補リストへのマージインデックスを示す。平均化された動きベクトルは、参照リストごとに個別に計算される。1つのリストで両方の動きベクトルが使用可能な場合、これら2つの動きベクトルは、異なる参照画像を指している場合でも平均化される。利用可能な動きベクトルが1つしかない場合は、その1つを直接使用する。利用可能な動きベクトルがない場合は、このリストを無効のままにする。
ペアワイズ平均マージ候補を追加した後、マージリストがいっぱいでない場合は、最大マージ候補数に達するまで、ゼロMVPが最後に挿入される。

2.17.5.マージ推定領域
マージ推定領域(MER)は、同じマージ推定領域(MER)内のCUのマージ候補リストの独立した導出を可能にする。現在のCUと同じMER内にある候補ブロックは、現在のCUのマージ候補リストの生成には含まれない。その上、履歴ベースの動きベクトル予測子候補リストの更新プロセスは、(xCb+cbWidth)>>Log2ParMrgLevelがxCb>>Log2ParMrgLevelより大きく、(yCb+cbHeight)>>Log2ParMrgLevelが(yCb>>Log2ParMrgLevel)より大きい場合にのみ更新され、ここで、(xCb,yCb)は、画像内の現在のCUの左上のルマサンプル位置であり、(cbWidth,cbHeight)は、CUサイズである。MERサイズは、エンコーダ側で選択され、シーケンスパラメータセットでlog2_parallel_merge_level_minus2としてシグナリングされる。

2.18.新しいマージ候補
2.18.1.非隣接マージ候補の導出
図27は、現在のブロックのVVC空間的隣接ブロックの概略図2700を示している。VVCでは、図27に示す5つの空間的隣接ブロックと1つの時間的近傍を使用して、マージ候補を導出する。
VVCと同じパターンを使用して、現在のブロックに隣接していない位置から追加のマージ候補を導出することが提案されている。これを実現するために、検索ラウンドiごとに、現在のブロックに基づいて次のように仮想ブロックが生成される。
先ず、現在のブロックに対する仮想ブロックの相対位置が次のように計算される:
Offsetx=-i×gridX,Offsety=-i×gridY
ここで、OffsetxとOffsetyは、現在のブロックの左上隅に対する仮想ブロックの左上隅のオフセットを示し、gridXとgridYは、検索グリッドの幅と高さである。
次に、仮想ブロックの幅と高さが次のように計算される:
newWidth=i×2×gridX+currWidth newHeight=i×2×gridY+currHeight。
ここで、currWidthとcurrHeightは、現在のブロックの幅と高さである。newWidthとnewHeightは、新しい仮想ブロックの幅と高さである。
gridXとgridYは現在、それぞれcurrWidthとcurrHeightに設定されている。
図28は、i番目の検索ラウンドにおける仮想ブロックの概略図を示し、仮想ブロックと現在のブロックの関係を示している。
仮想ブロックを生成した後、ブロックAi、Bi、Ci、Di、Eiは、仮想ブロックのVVC空間的隣接ブロックとみなされ得、それらの位置はVVCと同じパターンで取得される。明らかに、検索ラウンドiが0の場合、仮想ブロックは現在のブロックである。この場合、ブロックAi、Bi、Ci、Di、Eiは、VVCマージモードで使用される空間的に隣接するブロックである。
マージ候補リストを構築する際、マージ候補リスト内の各要素が一意であることを保証するためにプルーニングが実行される。最大検索ラウンドは1に設定され、これは5つの非隣接空間的隣接ブロックが利用されることを意味する。
非隣接空間的マージ候補は、B1->A1->C1->D1->E1の順序で、時間的マージ候補の後にマージリストに挿入される。

2.18.2.STMVP
3つの空間的マージ候補と1つの時間的マージ候補を使用して、平均化候補をSTMVP候補として導出することが提案される。
STMVPは、左上の空間的マージ候補の前に挿入される。
STMVP候補は、マージリスト内の以前のすべてのマージ候補とともにプルーニングされる。
空間的候補については、現在のマージ候補リスト内の最初の3つの候補が使用される。
時間的候補については、VTM/HEVCのコロケート位置と同じ位置が使用される。
空間的候補については、STMVPの前に現在のマージ候補リストに挿入された1番目、2番目、3番目の候補の場合は、F、S、Tと表記される。
TMVPで使用されるVTM/HEVCのコロケート位置と同じ位置にある時間的候補は、Colとして示される。
予測方向XにおけるSTMVP候補の動きベクトル(mvLXと表記)は次のように導出される:
1)4つのマージ候補の参照インデックスがすべて有効で、予測方向X(X=0又は1)ですべてゼロに等しい場合、
【数26】
2)4つのマージ候補のうち3つの参照インデックスが有効で、予測方向X(X=0又は1)でゼロに等しい場合、
【数27】
3)4つのマージ候補のうち2つの参照インデックスが有効で、予測方向X(X=0又は1)でゼロに等しい場合、
【数28】
注:時間的候補が利用不可である場合、STMVPモードはオフになる。

2.18.3.マージリストサイズ
非隣接及びSTMVPマージ候補の両方を考慮する場合、マージリストのサイズはシーケンスパラメータセットヘッダーでシグナリングされ、マージリストの最大許容サイズは8である。

2.19.幾何学的分割モード(GPM)
VVCでは、インター予測に幾何学的分割モードがサポートされている。幾何学的分割モードは、CUレベルフラグを使用してマージモードの一種としてシグナリングされ、他のマージモードには、通常のマージモード、MMVDモード、CIIPモード、サブブロックマージモードが含まれる。8x64と64x8を除く、可能なCUサイズw×h=2m×2n with m,n∈{3・・・6}ごとに、幾何学的分割モードで合計64のパーティションがサポートされる。
このモードを使用すると、CUは、図29に示すように、幾何学的に配置された直線によって2つの部分に分割される。分割線の位置は、特定のパーティションの角度及びオフセットパラメータから数学的に導出される。CU内の幾何学的パーティションの各部分は、独自の動きを使用してインター予測される。各パーティションには単予測のみが許可され、即ち、各部分は、1つの動きベクトルと1つの参照インデックスとを有する。単予測動き制約は、従来の双予測と同じように、各CUに必要な動き補償予測が2つだけであることを保証するために適用される。各パーティションについての単予測動きは、2.19.1で説明したプロセスを使用して導出される。
現在のCUに幾何学的分割モードが使用される場合、幾何学的分割の分割モード(角度とオフセット)を示す幾何学的分割インデックス、及び2つのマージインデックス(各パーティションに1つ)がさらにシグナリングされる。最大GPM候補サイズの数がSPSで明示的にシグナリングされ、GPMマージインデックスの構文2値化を指定する。幾何学的分割の各部分を予測した後、2.19.2のように、適応重みによるブレンディング処理を使用して、幾何学的分割エッジに沿ったサンプル値が調整される。これがCU全体の予測信号であり、他の予測モードと同様に、変換及び量子化プロセスがCU全体に適用される。最後に、幾何学的分割モードを使用して予測されたCUの動きフィールドが、2.19.3のように保存される。

2.19.1.単予測候補リストの構築
単予測候補リストは、2.17の拡張マージ予測プロセスに従って構築されたマージ候補リストから直接導出される。nを、幾何学的単予測候補リスト内の単予測動きのインデックスとして示す。n番目の拡張マージ候補のLX動きベクトル(Xがnのパリティに等しい)は、幾何学的分割モードについてのn番目の単予測動きベクトルとして使用される。図30は、幾何学的分割モードについての単予測MV選択を示している。これらの動きベクトルは、図30で「x」でマークされている。n番目の拡張マージ候補の対応するLX動きベクトルが存在しない場合は、同じ候補のL(1-X)動きベクトルが、幾何学的分割モードについての単予測動きベクトルとして代わりに使用される。

2.19.2.幾何学的分割エッジに沿ったブレンディング
幾何学的パーティションの各部分をその動きを使って予測した後、2つの予測信号にブレンディングを適用して幾何学的パーティションエッジの周囲のサンプルを導出する。CUの各位置のブレンディング重みは、個々の位置とパーティションエッジの間の距離に基づいて導出される。
位置(x,y)からパーティションエッジまでの距離は、次のように導出される。
【数29】
ここで、i,jは、幾何学的パーティションの角度とオフセットのインデックスであり、シグナリングされた幾何学的パーティションインデックスに依存する。ρx,jとρy,jの符号は、角度インデックスiに依存する。
幾何学的パーティションの各部分の重みは、次のように導出される。
【数30】
partIdxは角度インデックスi依存する。図31は、幾何学的分割モードを使用した曲げ重みw0の生成例を示している。重みw0の一例を図31に示す。

2.19.3.幾何学的分割モードについての動きフィールドの保存
幾何学的パーティションの第1の部分からのMv1、幾何学的パーティションの第2の部分からのMv2、及びMv1とMv2を組み合わせたMvが、幾何学的分割モードコード化されたCUの動きフィールドに保存される。
動きフィールド内の個々の位置ごとに保存される動きベクトルタイプは、次のように決定される。
【数31】
ここで、motionIdxはd(4x+2,4y+2)に等しく、これは、式(2-18)から再計算される。partIdxは角度インデックスiに依存する。
sTypeが0又は1に等しい場合、対応する動きフィールドにMv0又はMv1が保存され、そうでなければ、sTypeが2に等しい場合、Mv0とMv2を組み合わせたMvが保存される。組み合わせたMvは、次のプロセスを使用して生成される。
1)Mv1とMv2が異なる参照画像リストから(1つはL0から、もう1つはL1から)のものである場合、Mv1とMv2は単純に組み合わされて双予測動きベクトルを形成する。
そうでなければ、Mv1とMv2が同じリストからのものである場合、単予測動きMv2のみが保存される。

2.20.多重仮説予測
多重仮説予測(MHP)では、インターAMVPモード、通常マージモード、アフィンマージ及びMMVDモードに加えて、最大2つの追加予測子がシグナリングされる。結果として得られる全体的な予測信号は、各追加予測信号とともに反復的に蓄積される。
【数32】
重み付け係数αは、次の表2-4に従って指定される。
【表4】
インターAMVPモードの場合、MHPは、双予測モードでBCWの非等重みが選択された場合にのみ適用される。
追加の仮説は、マージモード又はAMVPモードのいずれかであり得る。マージモードの場合、動き情報はマージインデックスによって示され、マージ候補リストはジオメトリックパーティションモード(Geometric Partition Mode)の場合と同じである。AMVPモードの場合、参照インデックス、MVPインデックス、及びMVDがシグナリングされる。

2.21.非隣接空間的候補
非隣接空間的マージ候補は、通常のマージ候補リスト内のTMVPの後に挿入される。図32は、空間的マージ候補を導出するために使用される空間的隣接ブロックを示している。空間的マージ候補のパターンを図32に示す。非隣接空間候補と現在のコーディングブロック間の距離は、現在のコーディングブロックの幅と高さに基づいている。

2.22.テンプレートマッチング(TM)
テンプレートマッチング(TM)は、現在の画像内のテンプレート(即ち、現在のCUの上部及び/又は左の隣接ブロック)と参照画像内のブロック(即ち、テンプレートと同じサイズ)の間で最も近いマッチングを見つけることによって、現在のCUの動き情報を精緻化するデコーダ側MV導出方法である。図33は、テンプレートマッチングが初期MVの周囲の検索領域で実行されることを示している。図33に示すように、より良好なMVは、[-8,+8]ペル検索範囲内で現在のCUの初期動きの周囲で検索される。以前JVET-J0021で提案されたテンプレートマッチングは、この文献で2つの変更を加えて採用されている。検索ステップサイズは、AMVRモードに基づいて決定され、TMはマージモードでバイラテラルマッチングプロセスとカスケードされ得る。
AMVPモードでは、テンプレートマッチングエラーに基づいてMVP候補が決定されて、現在のブロックテンプレートと参照ブロックテンプレートの差が最小になるものを選び出し、次にTMは、MV精緻化についてのこの特定のMVP候補に対してのみ実行する。TMは、反復ダイヤモンド検索を使用して、[-8,+8]ペル検索範囲内でフルペルMVD精度(又は4ペルAMVRモードの場合、4ペル)から始めて、このMVP候補を精緻化する。AMVP候補は、フルペルMVD精度(又は4ペルAMVRモードの場合、4ペル)のクロス検索を使用してさらに精緻化され得、表2-5で指定されているように、AMVRモードに応じてハーフペル及び1/4ペル精度のものに順番に後をつけられる。この検索プロセスにより、MVP候補がTMプロセス後もAMVRモードによって示されるのと同じMV精度を維持するのを確保する。
【表5】
マージモードでは、マージインデックスで示されるマージ候補に同様の検索方法が適用される。表2-5に示すように、TMは、マージされた動き情報に応じて代替補間フィルタ(AMVRがハーフペルモードの場合に使用される)が使用されるか否かに応じて、1/8ペルMVD精度まで実行するか、又はハーフペルMVD精度を超えるものをスキップし得る。そのうえ、TMモードが有効な場合、テンプレートマッチングは、有効化条件チェックに従ってBMを有効にできるか否かに応じて、ブロックベースとサブブロックベースのバイラテラルマッチング(BM)方法間の独立したプロセス又は追加のMV精緻化プロセスとして機能し得る。

2.23.オーバーラップブロック動き補償(OBMC)
オーバーラップブロック動き補償(OBMC)は、以前H.263で使用されていた。JEMでは、H.263とは異なり、CUレベルで構文を使用してOBMCのオン/オフを切り替えることができる。JEMでOBMCが使用される場合、OBMCはCUの右境界と下境界を除くすべての動き補償(MC)ブロック境界に対して実行される。さらに、OBMCはルマコンポーネントとクロマコンポーネントの両方に適用される。JEMでは、MCブロックはコーディングブロックに対応する。CUがサブCUモード(サブCUマージ、アフィン及びFRUCモードを含む)でコード化される場合、CUの各サブブロックはMCブロックである。図34は、OBMCが適用されるサブブロックの図解である。CU境界を均一に処理するために、すべてのMCブロック境界に対してサブブロックレベルでOBMCが実行され、図34に示すように、サブブロックサイズは4×4に設定される。
OBMCが現在のサブブロックに適用される場合、現在の動きベクトルに加えて、4つの接続された隣接サブブロックの動きベクトルも、利用可能でありかつ現在の動きベクトルと同一でない場合は、現在のサブブロックについての予測ブロックを導出するために使用される。複数の動きベクトルに基づくこれらの複数の予測ブロックが組み合わされて、現在のサブブロックの最終的な予測信号を生成する。
隣接サブブロックの動きベクトルに基づく予測ブロックはPNと表記され、Nは隣接する上、下、左、右のサブブロックのインデックスを示し、現在のサブブロックの動きベクトルに基づく予測ブロックはPCと表記される。PNが現在のサブブロックと同じ動き情報を含む隣接サブブロックの動き情報に基づいている場合、PNからOBMCは実行されない。そうでなければ、PNのすべてのサンプルがPCにおける同じサンプルに追加され、即ち、PNの4つの行/列がPCに追加される。重み付け係数{1/4,1/8,1/16,1/32}がPNに使用され、重み付け係数{3/4,7/8,15/16,31/32}がPCに使用される。例外は小さなMCブロック(即ち、コーディングブロックの高さ又は幅が4に等しいか、又はCUがサブCUモードでコード化されている場合)で、この場合はPNの2行/列のみがPCに追加される。この場合、重み付け係数{1/4,1/8}がPNに使用され、重み付け係数{3/4,7/8}がPCに使用される。垂直(水平)に隣接するサブブロックの動きベクトルに基づいて生成されたPNの場合、PNの同じ行(列)のサンプルが同じ重み付け係数でPCに追加される。
JEMでは、サイズが256ルマサンプル以下のCUの場合、現在のCUにOBMCが適用されているか否かを示すCUレベルフラグがシグナリングされる。サイズが256ルマサンプルより大きいCU又はAMVPモードでコード化されていないCUの場合、OBMCはデフォルトで適用される。エンコーダでは、CUにOBMCが適用されると、動き推定段階でその影響が考慮される。上隣接ブロックと左隣接ブロックの動き情報を使用してOBMCによって形成された予測信号が、現在のCUの元の信号の上境界と左境界を補償するために使用され、その後、通常の動き推定プロセスが適用される。

2.24.コア変換についての複数変換選択(MTS)
HEVCで採用されているDCT-IIに加えて、インター及びイントラコード化ブロックの両方の残差コーディングには、Multiple Transform Selection(MTS)スキームが使用される。このスキームでは、DCT8/DST7からの複数の選択された変換が使用される。新しく導入された変換マトリックスは、DST-VIIとDCT-VIIIである。表2-6は、選択されたDST/DCTの基底関数を示している。
【表6】
変換行列の直交性を保つために、変換行列はHEVCにおける変換行列よりも正確に量子化される。変換された係数の中間値を16ビットの範囲内に収めるために、水平及び垂直変換後に、すべての係数は10ビットになる。
MTSスキームを制御するために、SPSレベルでそれぞれイントラとインターについての有効化フラグが指定される。SPSでMTSが有効になっている場合、MTSが適用されているか否かを示すCUレベルのフラグがシグナリングされる。ここでは、MTSはルマにのみ適用される。以下の条件のいずれかが適用されると、MTSシグナリングはスキップされる。
-ルマTBについての最後の有意係数の位置が1未満である(即ち、DCのみ)。
-ルマTBについての最後の有意係数がMTSゼロアウト領域内に位置する。
MTS CUフラグが0に等しい場合、両方向にDCT2が適用される。ただし、MTS CUフラグが1に等しい場合、他の2つのフラグが追加でそれぞれ水平方向及び垂直方向についての変換タイプを示すためにシグナリングされる。変換とシグナリングのマッピングテーブルを表2-7に示す。イントラモードとブロック形状の依存関係を削除することで、ISPと暗黙的なMTSの統合変換選択が使用される。現在のブロックがISPモードの場合、又は現在のブロックがイントラブロックで、イントラブロックとインターブロックの両方の明示的なMTSがオンの場合、水平方向と垂直方向の両方の変換コアにDST7のみが使用される。変換マトリックスの精度に関しては、8ビットのプライマリ変換コアが使用される。したがって、4ポイントDCT-2及びDST-7、8ポイント、16ポイント、及び32ポイントDCT-2を含む、HEVCで使用されるすべての変換コアは同じままである。また、64ポイントDCT-2、4ポイントDCT-8、8ポイント、16ポイント、32ポイントDST-7、DCT-8を含む他の変換コアも、8ビットのプライマリ変換コアを使用する。
【表7】
大きなサイズのDST-7及びDCT-8の複雑さを軽減するために、サイズ(幅又は高さ、或いは幅と高さの両方)が32に等しいDST-7及びDCT-8ブロックについての高周波変換係数はゼロに設定される。16×16の低周波領域内の係数のみが保持される。
HEVCと同様に、ブロックの残差は変換スキップモードでコード化され得る。構文コーディングの冗長性を回避するために、CUレベルのMTS_CU_flagがゼロに等しくない場合は、変換スキップフラグはシグナリングされない。現在のCUに対してLFNST又はMIPがアクティブになっている場合、暗黙的なMTS変換はDCT2に設定されることに注意されたい。また、インターコード化されたブロックに対してMTSが有効になっている場合でも、暗黙的なMTSを有効にすることができる。

2.25.サブブロック変換(SBT)
VTMでは、インター予測CUにサブブロック変換が導入されている。この変換モードでは、残差ブロックのサブ部分のみがCUに対してコード化される。cu_cbfが1に等しいインター予測CUの場合、cu_sbt_flagが、残差ブロック全体がコード化されるか、又は残差ブロックのサブ部分がコード化されるかを示すためにシグナリングされ得る。前者の場合、インターMTS情報がさらに解析されて、CUの変換タイプを決定する。後者の場合、残差ブロックの一部が推論適応変換でコード化され、残差ブロックの他の部分はゼロに設定される。
SBTがインターコード化CUに使用される場合、SBTタイプとSBT位置情報がビットストリームでシグナリングされる。図2-32に示すように、2つのSBTタイプ及び2つのSBT位置がある。SBT-V(又はSBT-H)の場合、TUの幅(又は高さ)はCUの幅(又は高さ)の半分又はCUの幅(又は高さ)の1/4に等しくなり得、その結果、2:2分割又は1:3/3:1分割になる。2:2分割はバイナリツリー(BT)分割に似ており、1:3/3:1分割は非対称バイナリツリー(ABT)分割に似ている。ABT分割では、小さな領域にのみ非ゼロ残差が含まれる。CUの1つの次元がルマサンプルで8である場合、その次元に沿った1:3/3:1分割は許可されない。CUには最大8つのSBTモードがある。
位置依存変換コア選択は、SBT-V及びSBT-H(クロマTBは常にDCT-2を使用)のルマ変換ブロックに適用される。SBT-HとSBT-Vの2つの位置は、異なるコア変換に関連付けられている。図35は、SBTの位置、タイプ、及び変換タイプを示している。より具体的には、各SBT位置についての水平及び垂直変換が図35に指定されている。例えば、SBT-V位置0についての水平及び垂直変換は、それぞれDCT-8及びDST-7である。残差TUの片側が32より大きい場合、両方の次元の変換はDCT-2に設定される。したがって、サブブロック変換は、残差ブロックのTUタイリング、cbf、並びに水平及び垂直コア変換タイプを共同で指定する。
SBTは、インターイントラ組み合わせモードでコード化されたCUには適用されない。

2.26.テンプレートマッチングベースの適応型マージ候補の並べ替え
コーディング効率を向上させるために、マージ候補リストが構築された後、各マージ候補の順序はテンプレートマッチングコストに応じて調整される。マージ候補は、昇順のテンプレートマッチングコストに従ってリストに配置される。これはサブグループの形式で操作される。
テンプレートマッチングコストは、現在のCUの隣接サンプルとその対応する参照サンプル間のSAD(絶対差の和)によって測定される。図36は、SADの計算に使用される隣接サンプルを示している。マージ候補に双予測動き情報が含まれている場合、対応する参照サンプルは、図36に示すように、参照list0の対応する参照サンプルと参照list1の対応する参照サンプルの平均である。図37は、サブCUレベル動き情報のSADの計算に使用される隣接サンプルを示している。マージ候補にサブCUレベル動き情報が含まれている場合、対応する参照サンプルは、図37に示すように、対応する参照サブブロックの隣接サンプルで構成される。
ソーティングプロセスは、図38に示すように、サブグループの形式で実行される。最初の3つのマージ候補は一緒にソートされる。次の3つのマージ候補は一緒にソートされる。図38に示すように、元のマージ候補リスト3810がソートされて、更新されたマージ候補リスト380が取得される。この例では、テンプレートサイズ(左のテンプレートの幅又は上のテンプレートの高さ)は1で、サブグループサイズは3である。

2.27.適応型マージ候補リスト
マージ候補の数が8であると仮定する。最初5つのマージ候補が第1のサブグループとして取られ、次の3つのマージ候補が第2のサブグループ(即ち、最後のサブグループ)として取られる。
図39は、エンコーダにおける並べ替えプロセス3900のフローチャートを示している。エンコーダーの場合、ブロック3902でマージ候補リストが構築された後、図39に示すように、いくつかのマージ候補がマージ候補のコストの昇順で適応的に並べ替えられる。
より具体的には、ブロック3904で、最後のサブグループを除くすべてのサブグループ内のマージ候補のテンプレートマッチングコストが計算され、次にブロック3906で、最後のサブグループを除くそれら自体のサブグループ内のマージ候補が並べ替えられ、最後にブロック3908で最終的なマージ候補リストが得られる。
デコーダの場合、マージ候補リストが構築された後、図40に示すように、いくつかのマージ候補がマージ候補のコストの昇順で適応的に並べ替えられるか、マージ候補はマージ候補のコストの昇順で適応的に並べ替えられない。図40は、デコーダにおける並べ替えプロセス4000のフローチャートを示している。図40では、選択された(シグナルされた)マージ候補が位置するサブグループは、選択されたサブグループと呼ばれる。
より具体的には、ブロック4002で、選択されたマージ候補が最後のサブグループにあるか否かが判断される。選択されたマージ候補が最後のサブグループにある場合、ブロック4004で、選択されたマージ候補が導出された後にマージ候補リスト構築プロセスが終了し、ブロック4006では、並べ替えは実行されず、マージ候補リストは変更されない。そうでなければ、実行プロセスは次のようになる。
ブロック4008では、選択されたサブグループ内のすべてのマージ候補が導出された後、マージ候補リスト構築プロセスが終了する。ブロック4010では、選択されたサブグループ内のマージ候補のテンプレートマッチングコストが計算される。ブロック4012では、選択されたサブグループ内のマージ候補が並べ替えられる。最後に、ブロック4014では、新しいマージ候補リストが得られる。
エンコーダとデコーダの両方において、テンプレートマッチングコストはTとRTの関数として導出され、ここで、Tはテンプレート内のサンプルのセットであり、RTはテンプレートについての参照サンプルのセットである。
マージ候補のテンプレートの参照サンプルを導出する際、マージ候補の動きベクトルは整数ピクセル精度に丸められる。
双方向予測についてのテンプレートの参照サンプル(RT)は、参照list0内のテンプレートの参照サンプル(RT0)と参照list1内のテンプレートの参照サンプル(RT1)の加重平均によって次のように導出される。
【数33】
ここで、参照list0の参照テンプレートの重み(8-w)と参照list1の参照テンプレートの重み(w)は、マージ候補のBCWインデックスによって決定される。BCWインデックスが{0,1,2,3,4}に等しい場合、wはそれぞれ{-2,3,4,5,10}に等しくなる。
マージ候補の局所照明補償(LIC)フラグがtrueの場合、テンプレートの参照サンプルはLICメソッドで導出される。
テンプレートマッチングコストは、TとRTの絶対差の和(SAD)に基づいて計算される。
テンプレートサイズは1である。即ち、左のテンプレートの幅及び/又は上のテンプレートの高さは1であるということである。
コーディングモードがMMVDの場合、ベースマージ候補を導出するマージ候補は並べ替えられない。
コーディングモードがGPMの場合、単予測候補リストを導出するマージ候補は並べ替えられない。

2.28.動きベクトル差分による幾何学的予測モード
動きベクトル差分(GMVD)による幾何学的予測モードでは、GPMにおける各幾何学的パーティションはGMVDを使用するか否かを決定できる。幾何学的領域にGMVDを選択した場合、領域のMVは、マージ候補のMVとMVDの和として計算される。他の処理はすべてGPMの場合と同じである。
GMVDでは、MVDは方向と距離のペアとしてシグナリングされる。候補距離は9つ(1/4ペル、1/2ペル、1ペル、2ペル、3ペル、4ペル、6ペル、8ペル、16ペル)、候補方向は8つ(水平/垂直方向4つ、対角方向4つ)ある。その上、pic_fpel_mmvd_enabled_flagが1の場合、GMVDにおけるのMVDもMMVDと同様に2左にシフトされる。

2.29.アフィインMMVD
アフィンMMVDでは、アフィンマージ候補(ベースアフィンマージ候補と呼ばれる)が選択され、制御点のMVはシグナリングされたMVD情報によってさらに精緻化される。
すべての制御点のMVのMVD情報は、1つの予測方向で同じである。
開始MVが双予測MVであり、2つのMVが現在の画像の異なる側を指している場合(即ち、1つの参照のPOCが現在の画像のPOCよりも大きく、もう1つの参照のPOCが現在の画像のPOCよりも小さい場合)、開始MVのlist0 MVコンポーネントに追加されるMVオフセットと、list1 MVのMVオフセットは反対の値になる。そうでなければ、開始MVが双予測MVであり、両方のリストが現在の画像の同じ側を指している場合(即ち、2つの参照のPOCが両方とも現在の画像のPOCよりも大きいか、又は両方とも現在の画像のPOCよりも小さい場合)、開始MVのlist0 MVコンポーネントに追加されるMVオフセットと、list1 MVについてのMVオフセットは同じになる。

2.30.適応型デコーダ側動きベクトル精緻化(ADMVR)
ECM-2.0では、選択されたマージ候補がDMVR条件を満たす場合、マルチパスデコーダ側動きベクトル精緻化(DMVR)方法が通常のマージモードで適用される。第1のパスでは、コーディングブロックにバイラテラルマッチング(BM)が適用される。第2のパスでは、コーディングブロック内の各16×16サブブロックにBMが適用される。第3のパスでは、双方向オプティカルフロー(BDOF)を適用して各8×8サブブロックにおけるMVが精緻化される。
適応型デコーダ側動きベクトル精緻化方法は、DMVR条件を満たすマージ候補についての双予測のL0又はL1のいずれかの方向のみでMVを精緻化するために導入された2つの新しいマージモードで構成される。選択されたマージ候補に対してマルチパスDMVRプロセスが適用されて動きベクトルが精緻化されるが、第1ののパス(即ち、PUレベル)のDMVRではMVD0又はMVD1のいずれかがゼロに設定される。
通常のマージモードと同様に、提案されたマージモードのマージ候補は、空間的隣接コード化ブロック、TMVP、非隣接ブロック、HMVP、及びペアワイズ候補から導出される。違いは、DMVR条件を満たすものだけが候補リストに追加されることである。同じマージ候補リスト(即ち、ADMVRマージリスト)が2つの提案されたマージモードで使用され、マージインデックスは通常のマージモードと同様にコード化される。

3.問題点
テンプレートマッチングベースの適応型マージ候補並べ替えの現在の設計では、マージ候補の動き情報が並べ替えプロセスで直接使用される。ただし、一部のマージ候補の動き情報は、テンプレートマッチング及び/又はデコーダ側動きベクトル精緻化などの動き精緻化によって修正され得る。並べ替えプロセスで使用される動き情報は、ビデオユニットの再構築で使用される動き情報と整列されないため、並べ替えプロセスは効率的でない可能性がある。

4.本開示の実施形態
以下の詳細な実施形態は、一般的な概念を説明するための例として考慮されるべきである。これらの実施形態は、狭義に解釈されるべきではない。さらに、これらの実施形態は、任意の方式で組み合わされ得る。
本開示では、動き候補リストは、TMマージモード、及び/又は通常のマージモード、及び/又は適応型DMVR、及び/又はTMマージモード付きCIIP、及び/又はAMVP、及び/又はアフィン、及び/又はGPM(GEO)、及び/又はTPM、及び/又はMMVD、及び/又はCIIP、及び/又はMHP、及び/又はAMVP-Merge、アフィンAMVP、TM AMVP、MMVD付きGPM、IBCマージ、IBC AMVP、テンプレート-IBC、イントラテンプレートマッチング、及び/又は動き候補リストを使用してブロックの予測/再構築を導出する任意のインターモードの動き候補リストを指し得る。
動き候補リスは、ブロックベースのバイラテラルマッチング精緻化及び/又はテンプレートマッチング精緻化及び/又はサブブロックベースのバイラテラルマッチング精緻化後のTMマージ/AMVPリストであり得る。
動き候補リストは、DMVR/マルチパスDMVRプロセス後の通常のマージ/AMVPリストであり得る。
動き候補リストは、DMVR/マルチパスDMVRプロセス後のADMVRマージリストであり得る。
動き候補リストは、テンプレートマッチング精緻化プロセス後のGPMマージリスト(例:AGPMList、LGPMList、又はLAGPMList)であり得る。
以下の議論では、SatShift(x,n)は次のように定義される。
【数34】
一例では、offset0及び/又はoffset1は(1<<n)>>1又は(1<<(n-1))に設定される。別の例では、offset0及び/又はoffset1は0に設定される。
Shift(x,n)はShift(x,n)=(x+offset0)>>nとして定義される。
Clip3(x,y,z)は、次のように定義される。
【数35】
精緻化された動き情報を使用した動き候補リストの並べ替え
1.動き候補リストに対して第1の並べ替え手順を実行する前に、リスト内の少なくとも1つの動き候補を修正又は精緻化することが提案される。
a.動き候補リスト内の1つ以上の動き候補がビデオユニットについての動き精緻化プロセスによって修正される場合、精緻化された動き情報を使用して動き候補リストを並べ替えることが提案される。
b.一例では、第1の並べ替え手順の前に、動作候補リストに対して第2の並べ替え手順が実行され得る。
i.一例では、第2の並べ替え手順で動作候補リストを構築するときに、元の動作情報を使用して動き候補リストが並べ替えられ得る。
c.一例では、動き候補リストは、第1の並べ替え手順を使用して並べ替えられる前に並べ替えられていなくてもよい。
d.一例では、動き精緻化プロセスは、テンプレートマッチングなどのテンプレートマッチングベースの動き精緻化、及び/又はDMVR、マルチパスDMVRなどのバイラテラルマッチングベースの動き精緻化を指し得る。
e.一例では、動き精緻化プロセスの簡略化されたバージョンを適用し得る。
i.一例では、テンプレートマッチングが動き精緻化プロセスの1つとして使用される場合、テンプレートサイズは1又は2に設定され得る。
f.一例では、第1の並べ替えプロセスで使用される精緻化された動き情報は、動き精緻化プロセスの最終的な動き情報であり得る。
i.一例では、動き精緻化プロセスに複数のステップが含まれる場合、動き精緻化プロセスにおける最後のステップ後の動き情報が第1の並べ替えプロセスで使用され得る。
1)一例では、複数のステップは、動きベクトルの異なる解像度で動き情報を精緻化し得る。
a)一例では、精緻化は、整数解像度動きベクトルから分数解像度動きベクトルへのものであり得る。
b)別の例では、精緻化は、分数解像度動きベクトルから分数解像度動きベクトルへのものであり得る。
c)一例では、動きベクトルの異なる解像度は、16ペル、及び/又は8ペル、及び/又は4ペル、及び/又は2ペル、及び/又は1ペル、及び/又は1/2ペル、及び/又は1/4ペル、及び/又は1/8ペル、及び/又は1/16ペル、及び/又は1/32ペル、及び/又は1/64ペルを指し得る。
2)一例では、複数のステップは、テンプレートマッチングにおけるダイヤモンド及び/又は十字形などの、動きベクトルを精緻化する異なる検索形状を参照し得る。
a)一例では、テンプレートマッチングのダイヤモンド検索形状後の動き情報は、第1の並べ替えプロセスで使用され得る。
3)一例では、どの動きベクトルの解像度が使用されるかは、適応動きベクトル解像度の値など、動き候補の動きベクトルの解像度を示す構文要素に依存し得る。
4)一例では、動き精緻化プロセスで早期終了が使用される場合、早期終了によって出力された動き情報は、第1の並べ替えプロセスで使用され得る。
ii.一例では、複数の動き精緻化プロセスが関与し、1つずつ処理される場合、最後の動き精緻化プロセスの後に導出された動き情報が、第1の並べ替えプロセスで使用され得る。
1)一例では、動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、第2動き精緻化プロセスの動き情報が第1の並べ替えプロセスで使用され得る。
a)一例では、第1の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
b)一例では、第2の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
g.一例では、第1の並べ替えプロセスで使用される精緻化された動き情報は、動き精緻化プロセスの中間動き情報であり得る。
i.一例では、動き精緻化プロセスが複数のステップを含む場合、動き精緻化プロセスにおけるの最後のステップの前の動き情報が使用され得る。
1)一例では、第1のステップにおける動き情報が使用され得る。
2)別の例では、整数解像度(例:16ペル、8ペル、4ペル、2ペル、1ペル)の動きベクトルの動き情報が使用され得る。
ii.一例では、複数の動き精緻化プロセスが関与し、1つずつ処理される場合、最後の動き精緻化プロセスの前の任意の動き精緻化プロセスから導出された動き情報が、第1の並べ替えプロセスで使用され得る。
1)一例では、動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、第1の動き精緻化プロセスの動き情報が使用され得る。
a)一例では、第1の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
b)一例では、第2の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
iii.一例では、複数の動き精緻化プロセスが関与し、1つずつ処理され、最後の動き精緻化プロセスに複数のステップが含まれる場合、最後の動き精緻化プロセスの最後のステップの前の任意のステップから導出された動き情報が第1の並べ替えプロセスで使用され得る。
iv.一例では、動き精緻化プロセスにTMとマルチパスDMVRとが含まれ、TMが第1パスDMVR(例:ブロックベースのバイラテラルマッチングMV精緻化)と第2パスDMVR(例:サブブロックベースのバイラテラルマッチングMV精緻化)の間で処理される場合、TM後の動き情報が、第1の並べ替えプロセスで使用され得る。
1)代替的に、第1パスDMVR後の動き情報が使用され得る。
2)代替的に、第2パスDMVR後の動き情報が使用され得る。
3)一例では、第1の並べ替えプロセスで精緻化された動き情報が使用される場合、第2パスDMVRをスキップするために使用される早期終了方法は適用されなくてもよい。
h.一例では、精緻化された動き情報がサブブロックベースの動き情報である場合、1つ又は複数のサブブロックの精緻化された動き情報が第1の並べ替えプロセスで使用され得る。
i.一例では、サブブロックの1つの精緻化された動き情報が、第1の並べ替えプロセスで使用され得る。
1)一例では、左上のサブブロック、又は左のブロック境界に位置するサブブロックの1つ、又は上のブロック境界に位置するサブブロックの1つの精緻化された動き情報が使用され得る。
ii.一例では、複数のサブブロックの精緻化された動き情報が第1の並べ替えプロセスで使用され得る。
1)一例では、すべてのサブブロックの動き情報が平均化されて使用され得る。
a)一例では、すべてのサブブロックの動き情報が加重平均され得、加重パラメータはブロック/サブブロック次元/サイズ、及び/又はサブブロックと並べ替えプロセスで使用されるテンプレート間の距離に依存し得る。
2)別の例では、上の境界のサブブロックの動き情報、及び/又は左の境界でのサブブロックの動き情報が使用され得る。
i.一例では、動き候補はX個のサブグループに分かれ、各サブグループ内で並べ替えプロセスが処理され、ここで、Xは1より大きい。
i.一例では、サブグループのサイズ(即ち、サブグループ内の動き候補の数、Ns)は、Ns=2、3、4、5、6、7、8、9、10など、すべてのサブグループで同じであり得る。
ii.別の例では、少なくとも1つのサブグループのサイズが他のサブグループと異なり得る。
iii.一例では、第1のサブグループのサイズは、他のサブグループのサイズよりも大きいか、または小さい。
iv.一例では、サブグループのサイズは事前に定義され得る。
v.一例では、動き候補は、動き候補タイプ(例:隣接空間的、時間的、非隣接空間的、HMVP)に応じて複数のサブグループに分かれ得る。
vi.一例では、サブグループのサイズは、利用可能な動き候補(例:隣接空間的及び/又は時間的動き候補)のタイプの数に応じて決定され得る。
2.一例では、精緻化された動き情報を使用した並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、ビットストリームでシグナリングされるか、又はオンザフライ(on-the-fly)で決定されるか、又はコーディング情報に依存する。
a.一例では、T1=8、又は16、又は32、又は64、又は128など、T1より大きいサイズのビデオユニットに、精緻化された動き情報を使用した並べ替えプロセスが適用され得る。
b.別の例では、T1=64、又は128、又は256、又は512、又は1024、又は2048など、T1より小さいサイズのビデオユニットに、精緻化された動き情報を使用した並べ替えプロセスが適用され得る。
3.一例では、精緻化された動き情報を使用した並べ替えプロセスが、片側DMVR、適応型DMVRを備えたインターモードに適用される場合、精緻化された動きを使用した並べ替えプロセスは、第1の動き候補リスト、及び/又は第2の動き候補リストを並べ替えるために適用され得、ここで、第1の動き候補リスト内の動き候補が一方の側(方向)で精緻化され、第2の動き候補リスト内の動き候補がもう一方の側(方向)で精緻化される。
a.一例では、片側DMVRは、動き情報(例:動きベクトル)がDMVRのステップで一方向に精緻化されるDMVR方法を指し得る。
i.一例では、動き情報は、マルチパスDMVRの第1のパスで一方向に精緻化され得る。
ii.一例では、動き情報は、マルチパスDMVRの第1のパス及び/又は第2のパスで一方向に精緻化され得る。
b.一例では、インターモードは、適応型DMVRを指し得る。
c.一例では、並べ替えプロセスが、第1の動き候補リストと第2の動き候補リストとを個別に並べ替えるために適用され得る。
d.別の例では、第1の候補リストと第2の動き候補リストとが結合され得、並べ替えプロセスが、結合された動き候補リストを並べ替えるために使用され得る。
e.一例では、並べ替えプロセスで使用される精緻化された動き情報は、マルチパスDMVRにおける第1のパスのブロックベースのMVであり得る。
4.一例では、適応型DMVRの1つ以上の動き候補リストから冗長動き候補を削除することが提案される。
a.一例では、冗長動き候補は、第2の動き候補リスト内の動き候補の1つと同じ動き情報を持つ第1の動き候補リスト内の動き候補を指し得る。
i.一例では、第1の動き候補リストは第1の方向の動き候補リストを参照し得、第2の動き候補リストは第2の方向の動き候補リストを指し得る。
ii.一例では、第1の動き候補リストは第2の方向の動き候補リストを参照し得、第2の動き候補リストは第1の方向の動き候補リストを指し得る。
b.一例では、冗長動き候補は、第1のパスDMVR後の動き候補を指し得る。
5.動き候補リストに対してN個の動き候補を生成し、動き候補の最大許容数はMで、N>Mであることが提案される。
a.順序付けられた選択されたM個の動き候補が予測/再構築に使用される。
b.順序付けられたM個の動き候補は、N個の動き候補を並べ替えることによって選択され、選択されたM個の動き候補は、並べ替え後のN個の動き候補の最初のM個(例:コストが最も低いもの)である。
c.一例では、Nは事前定義されるか、又はビットストリームでシグナリングされるか、又はオンザフライで決定される。
i.一例では、Nは異なるコーディングモードごとに異なり得る。
ii.別の例では、Nは、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20であり得る。
d.一例では、動き候補リスから導出された動き情報が並べ替えプロセスで使用され得る。
e.一例では、精緻化された動き情報を使用した上記の並べ替えプロセスが適用され得る。
6.一例では、TM又はDMVR/マルチパスDMVRなどの精緻化プロセスで生成されたコスト値は、精緻化プロセスの後の並べ替えプロセスで再利用され得る。
a.一例では、動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値が保存され得る。
b.一例では、第1の動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値が、並べ替えプロセスで第2の動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値と比較され得る。
7.一例では、マージ候補は、マージタイプに従って並べ替えられ得、各マージタイプの最初のX個のマージ候補は、適応型DMVRマージ候補リストを構築するために使用される。
a.一例では、マージタイプは、隣接空間的、及び/又は時間的、及び/又は非隣接空間的、及び/又はHMVP、及び/又はペアワイズを指し得る。
b.一例では、Xは、異なるマージタイプごとに異なり得る。
i.一例では、Xは、時間的マージ候補に対して1又は2に等しく設定され得る。
ii.別の例では、Xは、空間的マージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
iii.別の例では、Xは、非隣接空間的マージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
iv.別の例では、Xは、HMVPマージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
v.別の例では、Xは、ペアワイズマージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
一般的なクレーム
8.上記の例では、前記ビデオユニットは、カラーコンポーネント/サブ画像/スライス/タイル/コーディングツリーユニット(CTU)/CTU行/CTUのグループ/コーディングユニット(CU)/予測ユニット(PU)/変換ユニット(TU)/コーディングツリーブロック(CTB)/コーディングブロック(CB)/予測ブロック(PB)/変換ブロック(TB)/ブロック/ブロックのサブブロック/ブロック内のサブ領域/複数のサンプル又はピクセルを含む任意の他の領域を指し得る。
9.開示された上記の方法を適用するか否か、及び/又は如何にして適用するかは、シーケンスヘッダー/画像ヘッダー/SPS/VPS/DPS/DCI/PPS/APS/スライスヘッダー/タイルグループヘッダーなどの、シーケンスレベル/画像グループレベル/画像レベル/スライスレベル/タイルグループレベルでシグナリングされ得る。
10.開示された上記の方法を適用するか否か、及び/又は如何にして適用するかは、PB/TB/CB/PU/TU/CU/VPDU/CTU/CTU行/スライス/タイル/サブ画像/複数のサンプル又はピクセルが含まれている他の種類の領域でシグナリングされ得る。
11.開示された上記の方法を適用するか否かか、及び/又は如何にして適用するかは、ブロックサイズ、カラーフォーマット、シングル/デュアルツリー分割、カラーコンポーネント、スライス/画像タイプなどの、コード化情報に依存し得る。
5.実施形態
5.1.実施形態1
ECM-3.1のTMマージの現在の設計では、先ず、TMマージ候補リストが構築される。次に、マージ候補の適応的並べ替え(ARMC)が適用されてマージ候補を並べ替える。最後に、マルチパスDMVRの条件が満たされる場合は、テンプレートマッチング及びマルチパスDMVRを使用して、選択されたマージ候補が精緻化される。TMマージ候補リスト内の初期動き情報はARMCで使用されるが、テンプレートマッチング及びマルチパスDMVR後の精緻化された動き情報は予測に使用され、コーディングパフォーマンスを制限し得る。
TMマージモードに、精緻化された動き情報を使用してARMCを適用することが提案される。具体的には、先ず、TMマージ候補リストが作成され、すべてのマージ候補に対して並べ替えられる一方、ECM-3.1で最初の5つのTMマージ候補のみが並べ替えられる。次に、TMマージリスト内のTMマージ候補がN個のサブグループに分かれ、サブグループのサイズは4に等しく設定される。シグナルされたマージインデックスによって決定される選択されたサブグループ内のすべてのTMマージ候補に対して、テンプレートマッチング及びマルチパスDMVRが適用される。最後に、サブグループ内の精緻化されたマージ候補が並べ替えられる。複雑さを軽減するために、次の簡略化が適用される。
1)提案された方法は、T1=16、又は32、又は64など、T1より大きいルマサンプルサイズを持つブロックにのみ適用される。
2)提案された方法は、T2=128、又は256、又は512、又は1024、又は2048など、T2より小さいルマサンプルサイズを持つブロックにのみ適用される。
3)選択されたサブグループにマルチパスDMVRが適用されると、第1パスDMVRのみが使用される。
4)選択されたサブグループにテンプレートマッチングが適用されると、テンプレートマッチングについてのテンプレートサイズは1に等しく設定される。
5)選択されたサブグループにテンプレートマッチングが適用されると、ダイヤモンド検索後にテンプレートマッチングが早期に終了する。

5.2.実施形態2
ECM-3.1の適応型DMVRの現在の設計では、先ず、適応型DMVRマージ候補リストが構築され、許容されるマージ候補は、ビットストリームでシグナリングされる適応型DMVRについてのマージ候補の最大数(N)までとすることができ、Nは0から6まで選択され得、ECM-3.1で4に等しく設定される。次に、適応型マージ候補の並べ替え(ARMC)が適用されて適応型DMVRについてのマージ候補を並べ替える。
適応型DMVRマージ候補リストを構築するときに、許容されるマージ候補数(M)を増やし、ここで、MはNよりも大きいことが提案される。次に、ARMCが適用されてマージ候補を並べ替える。エンコーダーでは、最初のN個のマージ候補のみが適応型DMVRのRDOに関与し、Mは10に等しく設定される。
【0117】
本開示の実施形態は、動き候補リスト構築に関する。
【0118】
本明細書で使用されるように、「ブロック」という用語は、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングブロック(CB)、CU、PU、TU、PB、TB又は複数のサンプル/ピクセルを含むビデオ処理ユニットを表し得る。ブロックは、長方形又は非長方形であり得る。本明細書で使用されるように、「オプティカルフロー」という用語は、動きベクトルを指し得る。
【0119】
図41は、本開示のいくつかの実施形態によるビデオ処理の方法4100のフローチャートを示す。方法4100は、ターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に具現され得る。
【0120】
図41に示すように、ブロック4110では、ビデオのターゲットブロックとターゲットブロックのビットストリームとの間の変換中に、動き候補リスト内の少なくとも1つの動き候補に処理手順が適用される。いくつかの実施形態では、処理手順は、修正プロセス、動き精緻化プロセス、又は第2の並べ替えプロセスのうちの少なくとも1つを含む。
【0121】
ブロック4120では、処理手順の後に動き候補リストに第1の並べ替えプロセスを適用することによって動き候補リストが並べ替えられる。一例では、動き候補リストに対して第1の並べ替え手順を実行する前に、リスト内の少なくとも1つの動作候補が修正又は精緻化され得る。
【0122】
ブロック4130では、並べ替えられた動き候補リストに基づいて転換が実行される。いくつかの実施形態では、転換は、ターゲットブロックをビットストリームにエンコードすることを含み得る。いくつかの実施形態では、転換は、ビットストリームからターゲットブロックをデコードすることを含み得る。従来の技術と比較して、オプティカルフロー動きフィールドの精度及び連続性が改善されている。さらに、コーディング効率を向上させることができる。
【0123】
いくつかの実施形態では、前記第2の並べ替えプロセスは、前記第1の並べ替えプロセスの前に、前記動き候補リストに適用される。いくつかの実施形態では、前記動き候補リストは、前記第2の並べ替えプロセスにおける前記動き候補リストの構築中に、元の動き情報を使用して並べ替えられる。
【0124】
いくつかの実施形態では、前記動き候補リスト内の少なくとも1つの動き候補が前記ターゲットブロックについての動き精緻化プロセスによって修正される場合、前記動き候補リストは、精緻化された動き情報を使用して並べ替えられる。いくつかの実施形態では、前記動き候補リストは、前記第1の並べ替えプロセスが適用される前に並べ替えられない。
【0125】
いくつかの実施形態では、前記動き精緻化プロセスは、テンプレートマッチングベースの動き精緻化、又はバイラテラルマッチングベースの動き精緻化のうちの少なくとも1つを含む。一例では、前記動き精緻化プロセスは、テンプレートマッチングなどのテンプレートマッチングベースの動き精緻化、及び/又はDMVR、マルチパスDMVRなどのバイラテラルマッチングベースの動き精緻化を指し得る。
【0126】
いくつかの実施形態では、前記動き精緻化プロセスの簡略化されたバージョンが適用される。例えば、前記動き精緻化プロセスとしてテンプレートマッチングが使用される場合、テンプレートサイズは1又は2に設定される。
【0127】
いくつかの実施形態では、前記処理手順は、動き精緻化プロセスであり、第1の並べ替えプロセスで使用される精緻化された動き情報は、動き精緻化プロセスの最終的な動き情報である。いくつかの実施形態では、前記動き精緻化プロセスが複数のステップを含む場合、前記動き精緻化プロセスにおける最後のステップ後の動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、前記複数のステップは、異なる解像度の動きベクトルで動き情報を精緻化する。例えば、整数解像度動きベクトルが分数解像度動きベクトルになるように精緻化される。一例では、精緻化は、整数解像度動きベクトルから分数解像度動きベクトルへのものであり得る。いくつかの実施形態では、分数解像度動きベクトルが分数解像度動きベクトルになるように精緻化される。別の例では、精緻化は、分数解像度動きベクトルから分数解像度動きベクトルへのものであり得る。いくつかの実施形態では、前記異なる解像度は、16ペル、8ペル、4ペル、2ペル、1ペル、1/2ペル、1/4ペル、1/8ペル、1/16ペル、1/32ペル、又は1/64ペルのうちの少なくとも1つを含む。
【0128】
いくつかの実施形態では、前記複数のステップは、テンプレートマッチングにおいて前記動きベクトルを精緻化するための異なる検索形状を含む。一例では、複数のステップは、テンプレートマッチングにおけるダイヤモンド及び/又は十字形などの、動きベクトルを精緻化するための異なる検索形状を参照し得る。
【0129】
いくつかの実施形態では、前記テンプレートマッチングのダイヤモンド形状検索ステップ後の動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、使用される動きベクトルの解像度は、動き候補の動きベクトルの解像度を示す構文要素に依存する。いくつかの実施形態では、前記動き精緻化プロセスで早期終了が使用される場合、前記早期終了に関連する動き情報出力が前記第1の並べ替えプロセスで使用される。
【0130】
いくつかの実施形態では、複数の動き精緻化プロセスが前記ターゲットブロックに適用され、前記複数の動き精緻化プロセスが順番に適用され、最後の動き精緻化プロセスの後に導出された動き情報が前記第1の並べ替えプロセスで使用される。一例では、複数の動き精緻化プロセスが関与し、1つずつ処理される場合、最後の動き精緻化プロセスの後に導出された動き情報が前記第1の並べ替えプロセスで使用され得る。
【0131】
いくつかの実施形態では、前記複数の動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、前記第2の動き精緻化プロセスの動き情報が前記第1の並べ替えプロセスで使用される。
【0132】
いくつかの実施形態では、前記第1の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む。一例では、第1の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
【0133】
いくつかの実施形態では、前記第2の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む。一例では、第2の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
【0134】
いくつかの実施形態では、前記処理手順は、動き精緻化プロセスを含み、前記第1の並べ替えプロセスで使用される精緻化された動き情報は、前記動き精緻化プロセスの中間動き情報である。いくつかの実施形態では、前記動き精緻化プロセスは、複数のマルチプルステップを含み、前記動き精緻化プロセスにおける最後のステップの前の動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、前記動き精緻化プロセスにおける第1のステップにおける動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、動きベクトルの整数解像度における動き情報が前記第1の並べ替えプロセスで使用される。別の例では、動きベクトルの整数解像度(例:16ペル、8ペル、4ペル、2ペル、1ペル)の動き情報が使用され得る。
【0135】
いくつかの実施形態では、複数の動き精緻化プロセスが順番に適用される場合、最後の動き精緻化プロセスの前の動き精緻化プロセスから導出された動きが前記第1の並べ替えプロセスで使用される。一例では、複数の動き精緻化プロセスが関与し、1つずつ処理される場合、最後の動き精緻化プロセスの前の任意の動き精緻化プロセスから導出された動き情報が、第1の並べ替えプロセスで使用され得る。
【0136】
いくつかの実施形態では、前記複数の動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、前記第1の動き精緻化プロセスの動き情報が前記第1の並べ替えプロセスで使用される。
【0137】
いくつかの実施形態では、前記第1の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む。一例では、第1の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
【0138】
いくつかの実施形態では、前記第2の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む。一例では、第2の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
【0139】
いくつかの実施形態では、複数の動き精緻化プロセスが順番に適用され、最後の動き精緻化プロセスは複数のステップを含む。この場合、いくつかの実施形態では、最後の動き精緻化プロセスにおける最後のステップの前のステップから導出された動き情報が、前記第1の並べ替えプロセスで使用される。
【0140】
いくつかの実施形態では、前記処理手順は、動き精緻化プロセスを含み、前記動き精緻化プロセスは、テンプレートマッチング(TM)と、マルチパスデコーダ側動きベクトル精緻化(DMVR)とを含み、前記TMは、第1パスDMVRと第2パスDMVRの間にある。一例では、動き精緻化プロセスにTMとマルチパスDMVRとが含まれ、TMが第1パスDMVR(例:ブロックベースのバイラテラルマッチングMV精緻化)と第2パスDMVR(例:サブブロックベースのバイラテラルマッチングMV精緻化)の間で処理される場合、TM後の動き情報が、第1の並べ替えプロセスで使用され得る。
【0141】
いくつかの実施形態では、前記TM後の動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、前記第1パスDMVR後の動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、前記第2パスDMVR後の動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、精緻化された動き情報が前記第1の並べ替えプロセスで使用される場合、前記第2パスDMVRをスキップするために使用される早期終了方法は適用されない。
【0142】
いくつかの実施形態では、精緻化された動き情報がサブブロックベースの動き情報である場合、1つ又は複数のサブブロックの精緻化された動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、前記1つ又は複数のサブブロックのうちの1つの精緻化された動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、左上のサブブロック、左のブロック境界に位置するサブブロックの1つ、又は上のブロック境界に位置するサブブロックの1つのうちの少なくとも1つの精緻化された動き情報が前記第1の並べ替えプロセスで使用される。
【0143】
いくつかの実施形態では、前記1つ又は複数のサブブロックの複数のサブブロックの精緻化された動き情報が前記第1の並べ替えプロセスで使用される。いくつかの実施形態では、全てのサブブロックの動き情報が平均化されて、前記第1の並べ替えプロセスで使用される。
【0144】
いくつかの実施形態では、全てのサブロックの動き情報が加重平均される。いくつかの実施形態では、加重パラメータのセットは、ブロック次元、ブロックサイズ、サブブロック次元、サブブロックサイズ、又はサブブロックと前記第1の並べ替えプロセスで使用されるテンプレートとの間の距離のうちの少なくとも1つに依存する。いくつかの実施形態では、前記上の境界でのサブブロックの動き情報、及び前記左の境界でのサブブロックの動き情報のうちの少なくとも1つが前記第1の並べ替えプロセスで使用される。
【0145】
いくつかの実施形態では、動き候補は第1の数のサブグループに分割され、前記第1の並べ替えプロセスは、各サブグループ内で適用され、前記第1の数は1より大きい。一例では、前記動き候補は、X個のサブグループに分かれ得、各サブグループ内で並べ替えプロセスが処理され得、ここで、Xは1より大きい。
【0146】
いくつかの実施形態では、各サブグループ内の動き候補の数は同じである。例えば、動き候補の数は、2、3、4、5、6、7、8、9、及び10のうちの1つである。一例では、サブグループのサイズ(即ち、サブグループ内の動き候補の数、Ns)は、Ns=2、3、4、5、6、7、8、9、10など、すべてのサブグループで同じであり得る。
【0147】
いくつかの実施形態では、少なくとも1つのサブグループのサイズが他のサブグループのサイズと異なる。いくつかの実施形態では、第1のサブグループのサイズが他のサブグループのサイズよりも大きい。いくつかの実施形態では、前記第1のサブグループのサイズが他のサブグループのサイズよりも小さい。いくつかの実施形態では、サブグループのサイズが事前に定義される。
【0148】
いくつかの実施形態では、前記動き候補は、動き候補タイプに基づいて前記第1の数のサブグループに分割される。一例では、動き候補は、動き候補タイプ(例:隣接空間的、時間的、非隣接空間的、HMVP)に応じて複数のサブグループに分かれ得る。
【0149】
いくつかの実施形態では、サブグループのサイズは、利用可能な動き候補のタイプの数に基づいて決定される。一例では、サブグループのサイズは、利用可能な動き候補(例:隣接空間的及び/又は時間的動き候補)のタイプの数に応じて決定され得る。
【0150】
いくつかの実施形態では、精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、前記ビットストリームに示される。いくつかの実施形態では、前記精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、動的に決定される。いくつかの実施形態では、前記精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、コーディング情報に依存する。いくつかの実施形態では、前記精緻化された動き情報を使用した前記第1の並べ替えプロセスが前記ターゲットブロックに適用され、前記ターゲットブロックのサイズが第1の閾値よりも大きい。いくつかの実施形態では、前記精緻化された動き情報を使用した前記第1の並べ替えプロセスが前記ターゲットブロックに適用され、前記ターゲットブロックのサイズが第2の閾値よりも小さい。いくつかの実施形態では、前記第1の閾値は、8、16、32、64、又は128のうちの1つである。いくつかの実施形態では、前記第2の閾値は、64、128、256、512、1024又は2048のうちの1つである。
【0151】
いくつかの実施形態では、前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す。
【0152】
いくつかの実施形態では、前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される。
【0153】
いくつかの実施形態では、前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される。
【0154】
いくつかの実施形態では、前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる。
【0155】
いくつかの実施形態では、前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかは、前記ターゲットブロックのコード化情報に基づいて決定され得る。前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含み得る。
【0156】
いくつかの実施形態では、非一時的なコンピュータ可読記録媒体であって、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0157】
いくつかの実施形態では、ビデオのビットストリームを記憶する方法であって、前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0158】
図42は、本開示のいくつかの実施形態によるビデオ処理の方法4200のフローチャートを示す。方法4200は、ターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に具現され得る。
【0159】
図42に示すように、ブロック4210では、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化された前記ターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替え、ここで、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化される。一例では、精緻化された動き情報を使用した並べ替えプロセスが、片側DMVR、適応型DMVRを備えたインターモードに適用される場合、精緻化された動きを使用した並べ替えプロセスは、第1の動き候補リスト、及び/又は第2の動き候補リストを並べ替えるために適用され得、ここで、第1の動き候補リスト内の動き候補が一方の側(方向)で精緻化され、第2の動き候補リスト内の動き候補がもう一方の側(方向)で精緻化される。
【0160】
ブロック4220では、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストの少なくとも1つに基づいて前記転換を実行する。いくつかの実施形態では、前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードすることを含み得る。いくつかの実施形態では、前記転換は、前記ビットストリームから前記ターゲットブロックをデコードすることを含み得る。従来の技術と比較して、オプティカルフロー動きフィールドの精度及び連続性が改善されている。さらに、コーディング効率を向上させることができる。
【0161】
いくつかの実施形態では、前記DMVRは、片側DMVR、又は適応型DMVRのうちの少なくとも1つを含む。いくつかの実施形態では、前記片側DMVRは、DMVRのステップで動き情報が一方向に精緻化されるDMVR方法である。一例では、前記片側DMVRは、動き情報動き情報(例:動きベクトル)がDMVRのステップで一方向に精緻化されるDMVR方法を指し得る。
【0162】
いくつかの実施形態では、前記動き情報は、マルチパスDMVRの第1のパスで一方向に精緻化される。いくつかの実施形態では、前記動き情報は、マルチパスDMVRの第1のパス又は前記マルチパスDMVRの第2のパスのうちの1つ以上で一方向に精緻化される。
【0163】
いくつかの実施形態では、前記インターモードは、適応型DMVRである。いくつかの実施形態では、前記並べ替えプロセスは、前記第1の動き候補リスト及び前記第2の動き候補リストを個別に並べ替えるために適用される。いくつかの実施形態では、前記第1の動き候補リストと前記第2の動き候補リストとが組み合わされる。この場合、前記並べ替えプロセスは、組み合わされた前記第1の動き候補リスト及び前記第2の動き候補リストを並べ替えるために使用される。いくつかの実施形態では、前記精緻化された動き情報は、マルチパスDMVRにおける第1のパスのブロックベースの動きベクトル(MV)である。
【0164】
いくつかの実施形態では、前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す。
【0165】
いくつかの実施形態では、前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される。
【0166】
いくつかの実施形態では、前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される。
【0167】
いくつかの実施形態では、前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる。
【0168】
いくつかの実施形態では、前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、前記ターゲットブロックのコード化情報に基づいて決定され得る。前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含み得る。
【0169】
いくつかの実施形態では、非一時的なコンピュータ可読記録媒体であって、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0170】
いくつかの実施形態では、ビデオのビットストリームを記憶する方法であって、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0171】
図43は、本開示のいくつかの実施形態によるビデオ処理の方法4300のフローチャートを示す。方法4300は、ターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に具現され得る。
【0172】
図43に示すように、ブロック4310では、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新する。
【0173】
ブロック4320では、前記少なくとも1つの更新された動き候補リストに基づいて前記転換を実行する。いくつかの実施形態では、前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードすることを含み得る。いくつかの実施形態では、前記転換は、前記ビットストリームから前記ターゲットブロックをデコードすることを含み得る。従来の技術と比較して、オプティカルフロー動きフィールドの精度及び連続性が改善されている。さらに、コーディング効率を向上させることができる。
【0174】
いくつかの実施形態では、前記冗長動き候補のセットは、第2の動き候補リスト内の動き候補の1つと同じ動き情報を備える第1の動き候補リス内の動き候補を含む。いくつかの実施形態では、前記第1の動き候補リストは第1の方向の動き候補リストであり、前記第2の動き候補リストは、第2の方向の動き候補リストである。いくつかの実施形態では、前記第1の動き候補リストは第2の方向の動き候補リストであり、前記第2の動き候補リストは第1の方向の動き候補リストである。いくつかの実施形態では、前記冗長動き候補のセットは、第1のパスDMVR後の動き候補を含む。
【0175】
いくつかの実施形態では、前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す。
【0176】
いくつかの実施形態では、前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される。
【0177】
いくつかの実施形態では、前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される。
【0178】
いくつかの実施形態では、前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる。
【0179】
いくつかの実施形態では、前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかは、前記ターゲットブロックのコード化情報に基づいて決定され得る。前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含み得る。
【0180】
いくつかの実施形態では、非一時的なコンピュータ可読記録媒体であって、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、少なくとも1つの更新された動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0181】
いくつかの実施形態では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、少なくとも1つの更新された動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0182】
図44は、本開示のいくつかの実施形態によるビデオ処理方法4400のフローチャートを示す。方法4400は、ターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に具現され得る。
【0183】
図44に示すように、ブロック4410では、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成する。第2の数の動き候補が前記動き候補リストに対して許可される。前記第1の数は前記第2の数よりも大きい。例えば、動き候補リストに対してN個の動き候補を生成し得、動き候補の最大許容数はMであり、N>Mである。
【0184】
ブロック4420では、前記動き候補リストに基づいて転換が実行される。いくつかの実施形態では、前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードすることを含み得る。いくつかの実施形態では、前記転換は、前記ビットストリームから前記ターゲットブロックをデコードすることを含み得る。従来の技術と比較して、オプティカルフロー動きフィールドの精度及び連続性が改善されている。さらに、コーディング効率を向上させることができる。
【0185】
いくつかの実施形態では、前記第2の数の動き候補が選択されて予測又は再構築に使用される。例えば、順序付けられた選択されたM個の動き候補が予測/再構築に使用される。
【0186】
いくつかの実施形態では、前記第2の数の動き候補は、前記第1の数の動き候補を並べ替えることによって選択される。この場合、選択された第2の数の動き候補は、並べ替え後の第1の数の動き候補の最初のM個の動き候補であり、Mは第2の数である。例えば、順序付けられたM個の動き候補は、N個の動き候補を並べ替えることによって選択され、選択されたM個の動き候補は、並べ替え後のN個の動き候補の最初のM個(例:コストが最も低いもの)である。
【0187】
いくつかの実施形態では、前記第1の数は事前定義される。いくつかの実施形態では、前記第1の数は前記ビットストリームに示される。いくつかの実施形態では、前記第1の数は動的に決定される。いくつかの実施形態では、前記第1の数は、コーディングモードごとに異なり得る。いくつかの実施形態では、前記第1の数は、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、又は20のうちの1つである。
【0188】
いくつかの実施形態では、前記動き候補リストから導出された動き情報が並べ替えプロセスで使用される。いくつかの実施形態では、精緻化された動き情報を使用した並べ替えプロセスが、前記動き候補リストに適用される。
【0189】
いくつかの実施形態では、前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す。
【0190】
いくつかの実施形態では、前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される。
【0191】
いくつかの実施形態では、前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される。
【0192】
いくつかの実施形態では、前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる。
【0193】
いくつかの実施形態では、前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかは、前記ターゲットブロックのコード化情報に基づいて決定され得る。前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含み得る。
【0194】
いくつかの実施形態では、非一時的なコンピュータ可読記録媒体であって、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む。
【0195】
いくつかの実施形態では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0196】
図45は、本開示のいくつかの実施形態によるビデオ処理の方法4500のフローチャートを示す。方法4500は、ターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に具現され得る。
【0197】
図45に示すように、ブロック4510では、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成する。いくつかの実施形態では、前記精緻化プロセスは、テンプレートマッチング(TM)、デコーダ側動きベクトル精緻化(DMVR)、又はマルチパスDMVRのうちの少なくとも1つを含む。
【0198】
ブロック4520では、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用する。一例では、TM又はDMVR/マルチパスDMVRなどの精緻化プロセスで生成されたコスト値は、精緻化プロセスの後の並べ替えプロセスで再利用され得る。
【0199】
ブロック4530では、前記動き候補リストに基づいて転換が実行される。いくつかの実施形態では、前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードすることを含み得る。いくつかの実施形態では、前記転換は、前記ビットストリームから前記ターゲットブロックをデコードすることを含み得る。従来の技術と比較して、オプティカルフロー動きフィールドの精度及び連続性が改善されている。さらに、コーディング効率を向上させることができる。
【0200】
いくつかの実施形態では、前記動き候補についての前記精緻化プロセスで生成された最終コスト値が保存される。一例では、動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値が保存され得る。
【0201】
いくつかの実施形態では、前記並べ替えプロセスにおいて、第1の動き候補についての第1の精緻化プロセスで生成された第1の最終コスト値が、第2の動き候補についての第2の精緻化プロセスで生成された第2の最終コスト値と比較される。一例では、第1の動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値が、並べ替えプロセスで第2の動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値と比較され得る。
【0202】
いくつかの実施形態では、前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す。
【0203】
いくつかの実施形態では、前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される。
【0204】
いくつかの実施形態では、前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される。
【0205】
いくつかの実施形態では、前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる。
【0206】
いくつかの実施形態では、前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、前記ターゲットブロックのコード化情報に基づいて決定され得る。前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含み得る。
【0207】
いくつかの実施形態では、非一時的なコンピュータ可読記録媒体であって、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含み得る。
【0208】
いくつかの実施形態では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0209】
図46は、本開示のいくつかの実施形態によるビデオ処理の方法4600のフローチャートを示す。方法4600は、ターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に具現され得る。
【0210】
図46に示すように、ブロック4610では、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替える。
【0211】
ブロック4620では、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築し、ここで、Nは整数である。一例では、マージ候補は、マージタイプに従って並べ替えられ得、各マージタイプの最初のX個のマージ候補は、適応型DMVRマージ候補リストを構築するために使用される。
【0212】
ブロック4630では、構築された前記適応型DMVRマージ候補リストに基づいて、前記転換を実行する。いくつかの実施形態では、前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードすることを含み得る。いくつかの実施形態では、前記転換は、前記ビットストリームから前記ターゲットブロックをデコードすることを含み得る。従来の技術と比較して、オプティカルフロー動きフィールドの精度及び連続性が改善されている。さらに、コーディング効率を向上させることができる。
【0213】
いくつかの実施形態では、前記マージタイプのセットは、隣接空間的、時間的、非隣接空間的、履歴ベースの動きベクトル予測(HMVP)、又はペアワイズのううちの少なくとも1つである。一例では、前記マージタイプは、隣接空間的、及び/又は時間的、及び/又は非隣接空間的、及び/又はHMVP、及び/又はペアワイズを指し得る。
【0214】
いくつかの実施形態では、Nの値は、異なるマージタイプごとに異なる。いくつかの実施形態では、時間的マージ候補の場合、Nは1又は2に等しく設定される。いくつかの実施形態では、空間的マージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される。いくつかの実施形態では、非隣接空間的マージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される。いくつかの実施形態では、HMVPマージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される。いくつかの実施形態では、ペアワイズマージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される。
【0215】
いくつかの実施形態では、前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す。
【0216】
いくつかの実施形態では、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される。
【0217】
いくつかの実施形態では、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何に構築するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される。
【0218】
いくつかの実施形態では、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる。
【0219】
いくつかの実施形態では、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかは、前記ターゲットブロックのコード化情報に基づいて決定され得る。前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含み得る。
【0220】
いくつかの実施形態では、非一時的なコンピュータ可読記録媒体であって、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含み得る。
【0221】
いくつかの実施形態では、ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む。
【0222】
本開示の具現は、以下の条項を考慮して説明され得、その特徴は任意の合理的な方式で組み合わされ得る。
【0223】
条項1.ビデオ処理方法であって、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記転換を実行するステップとを含む方法。
【0224】
条項2.前記処理手順は、修正プロセス、動き精緻化プロセス、又は第2の並べ替えプロセスのうちの少なくとも1つを含む、条項1に記載の方法。
【0225】
条項3.前記第2の並べ替えプロセスは、前記第1の並べ替えプロセスの前に、前記動き候補リストに適用される、条項2に記載の方法。
【0226】
条項4.前記動き候補リストは、前記第2の並べ替えプロセスにおける前記動き候補リストの構築中に、元の動き情報を使用して並べ替えられる、条項3に記載の方法。
【0227】
条項5.前記動き候補リスト内の少なくとも1つの動き候補が前記ターゲットブロックについての動き精緻化プロセスによって修正される場合、前記動き候補リストは、精緻化された動き情報を使用して並べ替えられる、条項1に記載の方法。
【0228】
条項6.前記動き候補リストは、前記第1の並べ替えプロセスが適用される前に並べ替えられない、条項1に記載の方法。
【0229】
条項7.前記動き精緻化プロセスは、テンプレートマッチングベースの動き精緻化、又はバイラテラルマッチングベースの動き精緻化のうちの少なくとも1つを含む、条項2に記載の方法。
【0230】
条項8.前記動き精緻化プロセスの簡略化されたバージョンが適用される、条項2に記載の方法。
【0231】
条項9.前記動き精緻化プロセスとしてテンプレートマッチングが使用される場合、テンプレートサイズは1又は2に設定される、条項8に記載の方法。
【0232】
条項10.前記処理手順は、動き精緻化プロセスであり、ここで、前記第1の並べ替えプロセスで使用される精緻化された動き情報は、前記動き精緻化プロセスの最終的な動き情報である、条項1に記載の方法。
【0233】
条項11.前記動き精緻化プロセスが複数のステップを含む場合、前記動き精緻化プロセスにおける最後のステップ後の動き情報が前記第1の並べ替えプロセスで使用される、条項10に記載の方法。
【0234】
条項12.前記複数のステップは、異なる解像度の動きベクトルで動き情報を精緻化する、条項11に記載の方法。
【0235】
条項13.整数解像度動きベクトルが分数解像度動きベクトルになるように精緻化される、条項12に記載の方法。
【0236】
条項14.分数解像度動きベクトルが分数解像度動きベクトルになるように精緻化される、条項12に記載の方法。
【0237】
条項15.前記異なる解像度は、16ペル、8ペル、4ペル、2ペル、1ペル、1/2ペル、1/4ペル、1/8ペル、1/16ペル、1/32ペル、又は1/64ペルのうちの少なくとも1つを含む、条項12に記載の方法。
【0238】
条項16.前記複数のステップは、テンプレートマッチングにおいて前記動きベクトルを精緻化するための異なる検索形状を含む、条項11に記載の方法。
【0239】
条項17.前記テンプレートマッチングのダイヤモンド形状検索ステップ後の動き情報が前記第1の並べ替えプロセスで使用される、条項16に記載の方法。
【0240】
条項18.使用される動きベクトルの解像度は、動き候補の動きベクトルの解像度を示す構文要素に依存する、条項11に記載の方法。
【0241】
条項19.前記動き精緻化プロセスで早期終了が使用される場合、前記早期終了に関連する動き情報出力が前記第1の並べ替えプロセスで使用される、条項11に記載の方法。
【0242】
条項20.複数の動き精緻化プロセスが前記ターゲットブロックに適用され、前記複数の動き精緻化プロセスが順番に適用され、ここで、最後の動き精緻化プロセスの後に導出された動き情報が前記第1の並べ替えプロセスで使用される、条項1に記載の方法。
【0243】
条項21.前記複数の動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、前記第2の動き精緻化プロセスの動き情報が前記第1の並べ替えプロセスで使用される、条項20に記載の方法。
【0244】
条項22.前記第1の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、条項21に記載の方法。
【0245】
条項23.前記第2の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、条項21に記載の方法。
【0246】
条項24.前記処理手順は、動き精緻化プロセスを含み、前記第1の並べ替えプロセスで使用される精緻化された動き情報は、前記動き精緻化プロセスの中間動き情報である、条項1に記載の方法。
【0247】
条項25.前記動き精緻化プロセスは、複数のマルチプルステップを含み、前記動き精緻化プロセスにおける最後のステップの前の動き情報が前記第1の並べ替えプロセスで使用される、条項24に記載の方法。
【0248】
条項26.前記動き精緻化プロセスにおける第1のステップにおける動き情報が前記第1の並べ替えプロセスで使用される、条項24に記載の方法。
【0249】
条項27.動きベクトルの整数解像度における動き情報が前記第1の並べ替えプロセスで使用される、条項24に記載の方法。
【0250】
条項28.複数の動き精緻化プロセスが順番に適用される場合、最後の動き精緻化プロセスの前の動き精緻化プロセスから導出された動きが前記第1の並べ替えプロセスで使用される、条項1に記載の方法。
【0251】
条項29.前記複数の動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、前記第1の動き精緻化プロセスの動き情報が前記第1の並べ替えプロセスで使用される、条項28に記載の方法。
【0252】
条項30.前記第1の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、条項29に記載の方法。
【0253】
条項31.前記第2の動き精緻化プロセスは、テンプレートマッチング方法又はバイラテラルマッチング方法のうちの少なくとも1つを含む、条項29に記載の方法。
【0254】
条項32.複数の動き精緻化プロセスが順番に適用され、最後の動き精緻化プロセスは、複数のステップを含み、ここで、前記最後の動き精緻化プロセスにおける最後のステップの前のステップから導出された動き情報が、前記第1の並べ替えプロセスで使用される、条項1に記載の方法。
【0255】
条項33.前記処理手順は、動き精緻化プロセスを含み、前記動き精緻化プロセスは、テンプレートマッチング(TM)と、マルチパスデコーダ側動きベクトル精緻化(DMVR)とを含み、前記TMは、第1パスDMVRと第2パスDMVRの間にある、条項1に記載の方法。
【0256】
条項34.前記TM後の動き情報が前記第1の並べ替えプロセスで使用されるか、又は前記第1パスDMVR後の動き情報が前記第1の並べ替えプロセスで使用されるか、又は前記第2パスDMVR後の動き情報が前記第1の並べ替えプロセスで使用される、条項33に記載の方法。
【0257】
条項35.精緻化された動き情報が前記第1の並べ替えプロセスで使用される場合、前記第2パスDMVRをスキップするために使用される早期終了方法は適用されない、条項33に記載の方法。
【0258】
条項36.精緻化された動き情報がサブブロックベースの動き情報である場合、1つ又は複数のサブブロックの精緻化された動き情報が前記第1の並べ替えプロセスで使用される、条項1に記載の方法。
【0259】
条項37.前記1つ又は複数のサブブロックのうちの1つの精緻化された動き情報が前記第1の並べ替えプロセスで使用される、条項36に記載の方法
【0260】
条項38.左上のサブブロック、左のブロック境界に位置するサブブロックの1つ、又は上のブロック境界に位置するサブブロックの1つのうちの少なくとも1つの精緻化された動き情報が前記第1の並べ替えプロセスで使用される、条項36に記載の方法。
【0261】
条項39.前記1つ又は複数のサブブロックの複数のサブブロックの精緻化された動き情報が前記第1の並べ替えプロセスで使用される、条項36に記載の方法。
【0262】
条項40.全てのサブブロックの動き情報が平均化されて、前記第1の並べ替えプロセスで使用される、条項36に記載の方法。
【0263】
条項41.全てのサブロックの動き情報が加重平均され、ここで、加重パラメータのセットは、ブロック次元、ブロックサイズ、サブブロック次元、サブブロックサイズ、又はサブブロックと前記第1の並べ替えプロセスで使用されるテンプレートとの間の距離のうちの少なくとも1つに依存する、条項40に記載の方法。
【0264】
条項42.前記上の境界でのサブブロックの動き情報、及び前記左の境界でのサブブロックの動き情報のうちの少なくとも1つが前記第1の並べ替えプロセスで使用される、条項40に記載の方法。
【0265】
条項43.動き候補は第1の数のサブグループに分割され、前記第1の並べ替えプロセスは、各サブグループ内で適用され、ここで、前記第1の数は1より大きい、条項1に記載の方法。
【0266】
条項44.各サブグループ内の動き候補の数は同じである、条項43に記載の方法。
【0267】
条項45.動き候補の数は、2、3、4、5、6、7、8、9、及び10のうちの1つである、条項44に記載の方法。
【0268】
条項46.少なくとも1つのサブグループのサイズが他のサブグループのサイズと異なる、条項43に記載の方法。
【0269】
条項47.第1のサブグループのサイズが他のサブグループのサイズよりも大きいか、又は前記第1のサブグループのサイズが他のサブグループのサイズよりも小さい、条項43に記載の方法。
【0270】
条項48.サブグループのサイズが事前に定義される、条項43に記載の方法。
【0271】
条項49.前記動き候補は、動き候補タイプに基づいて前記第1の数のサブグループに分割される、条項43に記載の方法。
【0272】
条項50.サブグループのサイズは、利用可能な動き候補のタイプの数に基づいて決定される、条項43に記載の方法。
【0273】
条項51.精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、前記ビットストリームに示されるか、又は前記精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、動的に決定されるか、又は前記精緻化された動き情報を使用した前記第1の並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、コーディング情報に依存する、条項1に記載の方法。
【0274】
条項52.前記精緻化された動き情報を使用した前記第1の並べ替えプロセスが前記ターゲットブロックに適用され、前記ターゲットブロックのサイズが第1の閾値よりも大きいか、又は前記精緻化された動き情報を使用した前記第1の並べ替えプロセスが前記ターゲットブロックに適用され、前記ターゲットブロックのサイズが第2の閾値よりも小さい、条項51に記載の方法。
【0275】
条項53.前記第1の閾値は、8、16、32、64、又は128のうちの1つであり、前記第2の閾値は、64、128、256、512、1024又は2048のうちの1つである、条項52に記載の方法。
【0276】
条項54.前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す、条項1から53のいずれか一項に記載の方法。
【0277】
条項55.前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される、条項1から53のいずれか一項に記載の方法。
【0278】
条項56.前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される、条項1から53のいずれか一項に記載の方法。
【0279】
条項57.前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる、条項1から53のいずれか一項に記載の方法。
【0280】
条項58.前記ターゲットブロックのコード化情報に基づいて、前記処理手順の後に、前記動き候補リストに前記第1の並べ替えプロセスを適用することによって前記動き候補リストを並べ替えるか否か、及び/又は如何にして並べ替えるかを決定するステップをさらに含み、前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含む、条項1から53のいずれか一項に記載の方法。
【0281】
条項59.ビデオ処理方法であって、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化された前記ターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて前記転換を実行するステップとを含む方法。
【0282】
条項60.前記DMVRは、片側DMVR、又は適応型DMVRのうちの少なくとも1つを含む、条項59に記載の方法。
【0283】
条項61.前記片側DMVRは、DMVRのステップで動き情報が一方向に精緻化されるDMVR方法である、条項60に記載の方法。
【0284】
条項62.前記動き情報は、マルチパスDMVRの第1のパスで一方向に精緻化される、条項61に記載の方法。
【0285】
条項63.前記動き情報は、マルチパスDMVRの第1のパス又は前記マルチパスDMVRの第2のパスのうちの1つ以上で一方向に精緻化される、条項61に記載の方法。
【0286】
条項64.前記インターモードは、適応型DMVRである、条項59に記載の方法。
【0287】
条項65.前記並べ替えプロセスは、前記第1の動き候補リスト及び前記第2の動き候補リストを個別に並べ替えるために適用される、条項59に記載の方法。
【0288】
条項66.前記第1の動き候補リストと前記第2の動き候補リストとが組み合わされ、ここで、前記並べ替えプロセスは、組み合わされた前記第1の動き候補リスト及び前記第2の動き候補リストを並べ替えるために使用される、条項59に記載の方法。
【0289】
条項67.前記精緻化された動き情報は、マルチパスDMVRにおける第1のパスのブロックベースの動きベクトル(MV)である、条項59に記載の方法。
【0290】
条項68.前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す、条項59から67のいずれか一項に記載の方法。
【0291】
条項69.前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される、条項59から67のいずれか一項に記載の方法。
【0292】
条項70.前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される、条項59から67のいずれか一項に記載の方法。
【0293】
条項71.前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる、条項59から67のいずれか一項に記載の方法。
【0294】
条項72.前記ターゲットブロックのコード化情報に基づいて、前記DMVRによるインターモードでコード化された前記ターゲットブロックに前記精緻化された動き情報を使用した前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかを決定するステップをさらに含み、前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含む、条項59から67のいずれか一項に記載の方法。
【0295】
条項73.ビデオ処理方法であって、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、前記少なくとも1つの更新された動き候補リストに基づいて前記転換を実行するステップとを含む方法。
【0296】
条項74.前記冗長動き候補のセットは、第2の動き候補リスト内の動き候補の1つと同じ動き情報を備える第1の動き候補リス内の動き候補を含む、条項73に記載の方法。
【0297】
条項75.前記第1の動き候補リストは第1の方向の動き候補リストであり、前記第2の動き候補リストは、第2の方向の動き候補リストである、条項74に記載の方法。
【0298】
条項76.前記第1の動き候補リストは第2の方向の動き候補リストであり、前記第2の動き候補リストは第1の方向の動き候補リストである、条項74に記載の方法。
【0299】
条項77.前記冗長動き候補のセットは、第1のパスDMVR後の動き候補を含む、条項73に記載の方法。
【0300】
条項78.前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す、条項73から77のいずれか一項に記載の方法。
【0301】
条項79.前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される、条項73から77のいずれか一項に記載の方法。
【0302】
条項80.前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される、条項73から77のいずれか一項に記載の方法。
【0303】
条項81.前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる、条項73から77のいずれか一項に記載の方法。
【0304】
条項82.前記ターゲットブロックのコード化情報に基づいて、前記適応型DMVRについての少なくとも1つの動き候補リストから前記冗長動き候補のセットを削除するか否か、及び/又は如何にして削除するかを決定するステップをさらに含み、前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含む、条項73から77のいずれか一項に記載の方法。
【0305】
条項83.ビデオ処理方法であって、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記転換を実行するステップとを含む方法。
【0306】
条項84.前記第2の数の動き候補が選択されて予測又は再構築に使用される、条項83に記載の方法。
【0307】
条項85.前記第2の数の動き候補は、前記第1の数の動き候補を並べ替えることによって選択され、ここで、選択された前記第2の数の動き候補は、前記並べ替え後の前記第1の数の動き候補の最初のM個の動き候補であり、Mは前記第2の数である、条項83に記載の方法。
【0308】
条項86.前記第1の数は事前に定義されるか、又は前記第1の数は前記ビットストリームに示されるか、又は前記第1の数は動的に決定される、条項83に記載の方法。
【0309】
条項87.前記第1の数は、コーディングモードごとに異なり得る、条項83に記載の方法。
【0310】
条項88.前記第1の数は、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、又は20のうちの1つである、条項83に記載の方法。
【0311】
条項89.前記動き候補リストから導出された動き情報が並べ替えプロセスで使用される、条項83に記載の方法。
【0312】
条項90.前記動き候補リストに精緻化された動き情報を使用した並べ替えプロセスを適用するステップをさらに含む、条項83から89のいずれか一項に記載の方法。
【0313】
条項91.前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す、条項83から90のいずれか一項に記載の方法。
【0314】
条項92.前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される、条項83から90のいずれか一項に記載の方法。
【0315】
条項93.前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される、条項83から90のいずれか一項に記載の方法。
【0316】
条項94.前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる、条項83から90のいずれか一項に記載の方法。
【0317】
条項95.前記ターゲットブロックのコード化情報に基づいて、前記ターゲットブロックに関連付けられた前記動き候補リストについての前記第1の数の動き候補を生成するか否か、及び/又は如何にして生成するかを決定するステップをさらに含み、前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含む、条項83から90のいずれか一項に記載の方法。
【0318】
条項96.ビデオ処理方法であって、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記転換を実行するステップとを含む方法。
【0319】
条項97.前記精緻化プロセスは、テンプレートマッチング(TM)、デコーダ側動きベクトル精緻化(DMVR)、又はマルチパスDMVRのうちの少なくとも1つを含む、条項96に記載の方法。
【0320】
条項98.前記動き候補についての前記精緻化プロセスで生成された最終コスト値が保存される、条項96に記載の方法。
【0321】
条項99.前記並べ替えプロセスにおいて、第1の動き候補についての第1の精緻化プロセスで生成された第1の最終コスト値が、第2の動き候補についての第2の精緻化プロセスで生成された第2の最終コスト値と比較される、条項96に記載の方法。
【0322】
条項100.前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す、条項96から99のいずれか一項に記載の方法。
【0323】
条項101.前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される、条項96から99のいずれか一項に記載の方法。
【0324】
条項102.前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される、条項96から99のいずれか一項に記載の方法。
【0325】
条項103.前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる、条項96から99のいずれか一項に記載の方法。
【0326】
条項104.前記ターゲットブロックのコード化情報に基づいて、前記コスト値を使用して前記動き候補リストに前記並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかを決定するステップをさらに含み、前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含む、条項96から99のいずれか一項に記載の方法。
【0327】
条項105.ビデオ処理方法であって、ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、前記ターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記転換を実行するステップとを含む方法。
【0328】
条項106.前記マージタイプのセットは、隣接空間的、時間的、非隣接空間的、履歴ベースの動きベクトル予測(HMVP)、又はペアワイズのうちの少なくとも1つである、条項105に記載の方法。
【0329】
条項107.Nの値は、異なるマージタイプごとに異なる、条項105に記載の方法。
【0330】
条項108.時間的マージ候補の場合、Nは1又は2に等しく設定される、条項105に記載の方法。
【0331】
条項109.空間的マージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、条項105に記載の方法。
【0332】
条項110.非隣接空間的マージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、条項105に記載の方法。
【0333】
条項111.HMVPマージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、条項105に記載の方法。
【0334】
条項112.ペアワイズマージ候補の場合、Nは、1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10のうちの1つに等しく設定される、条項105に記載の方法。
【0335】
条項113.前記ターゲットブロックは、カラーコンポーネント、サブ画像、スライス、タイル、コーディングツリーユニット(CTU)、CTU行、CTUのグループ、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、コーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PB)、変換ブロック(TB)、ブロック、ブロックのサブブロック、ブロック内のサブ領域、又は複数のサンプル又はピクセルを含む領域のうちの1つを指す、条項105から112のいずれか一項に記載の方法。
【0336】
条項114.前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかの指示は、シーケンスレベル、画像グループレベル、画像レベル、スライスレベル、又はタイルグループレベルのうちの1つで示される、条項105から112のいずれか一項に記載の方法。
【0337】
条項115.前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何に構築するかの指示は、シーケンスヘッダー、画像ヘッダー、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、依存パラメータセット(DPS)、デコーディング能力情報(DCI)、画像パラメータセット(PPS)、適応パラメータセット(APS)、スライスヘッダー、又はタイルグループヘッダーのうちの1つに示される、条項105から112のいずれか一項に記載の方法。
【0338】
条項116.前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかの指示は、予測ブロック(PB)、変換ブロック(TB)、コーディングブロック(CB)、予測ユニット(PU)、変換ユニット(TU)、コーディングユニット(CU)、仮想パイプラインデータユニット(VPDU)、コーディングツリーユニット(CTU)、CTU行、スライス、タイル、サブ画像、又は複数のサンプル又はピクセルを含む領域のうちの1つに含まれる、条項105から112のいずれか一項に記載の方法。
【0339】
条項117.前記ターゲットブロックのコード化情報に基づいて、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して前記適応型DMVRマージ候補リストを構築するか否か、及び/又は如何にして構築するかを決定するステップをさらに含み、前記コード化情報は、ブロックサイズ、カラーフォーマット、シングル及び/又はデュアルツリー分割、カラーコンポーネント、スライスタイプ、又は画像タイプのうちの少なくとも1つを含む、条項105から112のいずれか一項に記載の方法。
【0340】
条項118.前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードすることを含む、条項1から117のいずれか一項に記載の方法。
【0341】
条項119.前記転換は、前記ビットストリームから前記ターゲットブロックをデコードすることを含む、条項1から117のいずれか一項に記載の方法。
【0342】
条項120.プロセッサと命令を備えた非一時的メモリとを含むビデオデータを処理する装置であって、前記命令は前記プロセッサによって実行されると、前記プロセッサに条項1から119のいずれか一項に記載の方法を実行させる装置。
【0343】
条項121.プロセッサに条項1から119のいずれか一項に記載の方法を実行させる命令を記憶する非一時的なコンピュータ可読記憶媒体。
【0344】
条項122.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【0345】
条項123.ビデオのビットストリームを記憶する方法であって、前記ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、前記並べ替えられた動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【0346】
条項124.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む方法。
【0347】
条項125.ビデオのビットストリームを記憶する方法であって、デコーダ側動きベクトル精緻化(DMVR)によるインターモードでコード化されたビデオのターゲットブロックに精緻化された動き情報を使用した並べ替えプロセスを適用して、第1の動き候補リスト又は第2の動き候補リストのうちの少なくとも1つを並べ替えるステップであって、前記第1の動き候補リスト内の第1のセットの動き候補は一方向に精緻化され、前記第2の動き候補リスト内の第2のセットの動き候補は別の方向に精緻化されるステップと、並べ替えられた前記第1の動き候補リスト又は並べ替えられた前記第2の動き候補リストのうちの少なくとも1つに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【0348】
条項126.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、少なくとも1つの更新された動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【0349】
条項127.ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックの適応型デコーダ側動きベクトル精緻化(DMVR)についての少なくとも1つの動き候補リストを、前記少なくとも1つの動き候補リストから冗長動き候補のセットを削除することによって更新するステップと、少なくとも1つの更新された動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【0350】
条項128.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記ビデオのターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【0351】
条項129.ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックに関連付けられた動き候補リストについての第1の数の動き候補を生成するステップであって、第2の数の動き候補が前記動き候補リストに対して許可され、前記第1の数は前記第2の数よりも大きいステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【0352】
条項130.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【0353】
条項131.ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックについての動き候補リストの精緻化プロセスでのコスト値を生成するステップと、前記コスト値を使用して前記動き候補リストに並べ替えプロセスを適用するステップと、前記動き候補リストに基づいて前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
【0354】
条項132.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、前記ビデオのターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して、適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップとを含む、非一時的なコンピュータ可読記録媒体。
【0355】
条項133.ビデオのビットストリームを記憶する方法であって、前記ビデオのターゲットブロックについてのマージ候補のセットをマージタイプのセットに従って並べ替えるステップと、前記マージタイプのセットのそれぞれの最初のN個のマージ候補を使用して適応型デコーダ側動きベクトル精緻化(DMVR)マージ候補リストを構築するステップであって、Nは整数であるステップと、構築された前記適応型DMVRマージ候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む方法。
例示的なデバイス
【0356】
図47は、本開示の様々な実施形態を具現できるコンピューティングデバイス4700のブロック図を示す。コンピューティングデバイス4700は、ソースデバイス110(或いは、ビデオエンコーダ114又は200)又は宛先デバイス120(或いは、ビデオデコーダ124又は300)として具現されるか、又はそれに含まれ得る。
【0357】
図47に示されるコンピューティングデバイス4700は、単に解説を目的としたものであり、本開示の実施形態の機能及び範囲をいかなる形でも制限することを示唆するものではないことが理解されるだろう。
【0358】
図47に示すように、コンピューティングデバイス4700は、汎用コンピューティングデバイス4700を含む。コンピューティングデバイス4700は、少なくとも1つ又は複数のプロセッサ又は処理ユニット4710と、メモリ4720と、記憶ユニット4730と、1つ又は複数の通信ユニット4740と、1つ又は複数の入力デバイス4750と、1つ又は複数の出力デバイス4760とを含み得る。
【0359】
いくつかの実施形態では、コンピューティングデバイス4700は、コンピューティング能力を有する任意のユーザ端末又はサーバ端末として具現され得る。前記サーバ端末は、サービスプロバイダが提供するサーバや大規模コンピューティングデバイスなどであり得る。前記ユーザ端末は、例えば、携帯電話、ステーション、ユニット、デバイス、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、コミュニケータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、パーソナルコミュニケーションシステム(PCS)デバイス、パーソナルナビゲーションデバイス、携帯情報端末(PDA)、オーディオ/ビデオプレーヤー、デジタルカメラ/ビデオカメラ、測位デバイス、テレビ受信機、ラジオ放送受信機、電子ブックデバイス、ゲームデバイス、又はそれらの任意の組み合わせ(これらのデバイスのアクセサリ及び周辺機器、又はそれらの任意の組み合わせを含む)を含む、任意のタイプの移動端末、固定端末、又は携帯端末であり得る。コンピューティングデバイス4700は、ユーザに対する任意のタイプのインターフェース(「ウェアラブル」回路など)をサポートできることが考えられる。
【0360】
処理ユニット4710は、物理又は仮想プロセッサであり得、メモリ4720に記憶されたプログラムに基づいて様々なプロセスを具現することができる。マルチプロセッサシステムでは、コンピューティングデバイス4700の並列処理能力を向上させるために、複数の処理ユニットがコンピュータ実行可能命令を並列に実行する。処理ユニット4710は、中央処理ユニット(CPU)、マイクロプロセッサ、コントローラ又はマイクロコントローラと呼ばれても良い。
【0361】
コンピューティングデバイス4700は、通常、様々なコンピュータ記憶媒体を含む。このような媒体は、揮発性及び不揮発性媒体、又は取り外し可能及び取り外し不可能な媒体を含むがこれらに限定されない、コンピューティングデバイス4700によってアクセス可能な任意の媒体であり得る。メモリ4720は、揮発性メモリ(例えば、レジスタ、キャッシュ、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、フラッシュメモリ)、又はそれらの任意の組み合わせであり得る。記憶ユニット4730は、任意の取り外し可能又は取り外し不可能な媒体であり得、情報及び/又はデータを記憶するために使用でき、コンピューティングデバイス4700でアクセスできる、メモリ、フラッシュメモリドライブ、磁気ディスク又は別の他の媒体などの機械可読媒体を含み得る。
【0362】
コンピューティングデバイス4700は、追加の取り外し可能/取り外し不可能、揮発性/不揮発性メモリ媒体をさらに含み得る。なお、図47には示していないが、着脱可能な不揮発性磁気ディスクの読み書きを行う磁気ディスクドライブや、着脱可能な不揮発性光ディスクの読み書きを行う光ディスクドライブを提供することが可能である。このような場合、各ドライブは、1つ又は複数のデータ媒体インターフェイスを介してバス(図示せず)に接続され得る。
【0363】
通信ユニット4740は、通信媒体を介してさらなるコンピューティングデバイスと通信する。さらに、コンピューティングデバイス4700内のコンポーネントの機能は、通信接続を介して通信できる単一のコンピューティングクラスタ又は複数のコンピューティングマシンによって具現され得る。したがって、コンピューティングデバイス4700は、1つ又は複数の他のサーバ、ネットワーク化されたパーソナルコンピュータ(PC)、又はさらなる一般的なネットワークノードとの論理接続を使用して、ネットワーク化された環境で動作することができる。
【0364】
入力デバイス4750は、マウス、キーボード、トラッキングボール、音声入力デバイスなどの様々な入力デバイスのうちの1つ又は複数であり得る。出力デバイス4760は、ディスプレイ、ラウドスピーカ、プリンタなどの様々な出力デバイスのうちの1つ又は複数であり得る。通信ユニット4740によって、コンピューティングデバイス4700は、記憶デバイス及び表示デバイスなどの1つ又は複数の外部デバイス(図示せず)とさらに通信することができ、1つ又は複数のデバイスにより、ユーザがコンピューティングデバイス4700と対話可能にするか、又は、必要に応じて、任意のデバイス(ネットワークカード、モデムなど)により、コンピューティングデバイス4700が1つ又は複数の他のコンピューティングデバイスと通信可能にする。このような通信は、入力/出力(I/O)インターフェイス(図示せず)を介して実行され得る。
【0365】
いくつかの実施形態では、単一のデバイスに統合される代わりに、コンピューティングデバイス4700のいくつかの又は全てのコンポーネントがクラウドコンピューティングアーキテクチャに配置され得る。クラウドコンピューティングアーキテクチャでは、コンポーネントは遠隔的に提供され、連携して本開示で説明される機能を実施し得る。いくつかの実施形態では、クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス及びストレージサービスを提供し、これらのサービスを提供するシステム又はハードウェアの物理的な位置又は構成をエンドユーザが認識する必要はない。様々な実施形態において、クラウドコンピューティングは、適切なプロトコルを使用して広域ネットワーク(インターネットなど)を介してサービスを提供する。例えば、クラウドコンピューティングプロバイダーは、Webブラウザ又はその他のコンピューティングコンポーネントを通じてアクセスできる広域ネットワーク経由でアプリケーションを提供する。クラウドコンピューティングアーキテクチャのソフトウェア又はコンポーネント及び対応するデータは、遠隔地にあるサーバに保存され得る。クラウドコンピューティング環境におけるコンピューティングリソースは、リモートデータセンターの場所に併合又は分散され得る。クラウドコンピューティングインフラストラクチャは、ユーザにとって単一のアクセスポイントとして動作するが、共有データセンターを通じてサービスを提供し得る。したがって、クラウドコンピューティングアーキテクチャを使用して、本明細書で説明されるコンポーネント及び機能を遠隔地にあるサービスプロバイダから提供し得る。代替的に、それらは従来のサーバから提供されるか、又はクライアントデバイスに直接又はその他の方法でインストールされ得る。
【0366】
コンピューティングデバイス4700は、本開示の実施形態においてビデオエンコーディング/デコーディングを具現するために使用され得る。メモリ4720は、1つ又は複数のプログラム命令を有する1つ又は複数のビデオエンコーディングモジュール4725を含み得る。これらのモジュールは、本明細書で説明される様々な実施形態の機能を実行するように、処理ユニット4710によってアクセス可能かつ実行可能である。
【0367】
ビデオエンコーディングを実行する例示的な実施形態では、入力デバイス4750は、エンコードされるビデオデータを入力4770として受信し得る。ビデオデータは、例えば、ビデオコーディングモジュール4725によって処理されて、エンコードされたビットストリームを生成し得る。エンコードされたビットストリームは、出力デバイス4760を介して出力4780として提供され得る。
【0368】
ビデオデコーディングを実行する例示的な実施形態では、入力デバイス4750は、エンコードされたビットストリームを入力4770として受信し得る。エンコードされたビットストリームは、例えば、ビデオコーディングモジュール4725によって処理されて、デコードされたビデオデータを生成し得る。デコードされたビデオデータは、出力デバイス4760を介して出力4780として提供され得る。
【0369】
本開示は、その好ましい実施形態を参照して特に図示及び説明されたが、添付の特許請求の範囲によって定義される本出願の精神及び範囲から逸脱することなく、形態及び詳細における様々な変更を行うことができることが当業者には理解されるであろう。このような変形は、本出願の範囲に含まれるものとする。したがって、本出願の実施形態に関する前述の説明は限定することを意図したものではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18a
図18b
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
【手続補正書】
【提出日】2024-08-01
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ処理方法であって、
ビデオのターゲットブロックと前記ターゲットブロックのビットストリームとの間の転換中に、動き候補リスト内の少なくとも1つの動き候補に処理手順を適用するステップと、
前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、
前記並べ替えられた動き候補リストに基づいて前記転換を実行するステップと
を含む、方法。
【請求項2】
前記処理手順は、
修正プロセス、
動き精緻化プロセス、又は
第2の並べ替えプロセス
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記第2の並べ替えプロセスは、前記第1の並べ替えプロセスの前に、前記動き候補リストに適用される、請求項2に記載の方法。
【請求項4】
前記動き候補リストは、前記第2の並べ替えプロセスにおける前記動き候補リストの構築中に、元の動き情報を使用して並べ替えられる、請求項3に記載の方法。
【請求項5】
前記動き候補リスト内の少なくとも1つの動き候補が、前記ターゲットブロックについての動き精緻化プロセスによって修正される場合、前記動き候補リストは、精緻化された動き情報を使用して並べ替えられ、
又は、
前記動き候補リストは、前記第1の並べ替えプロセスが適用される前に並べ替えられない、請求項1に記載の方法。
【請求項6】
前記動き精緻化プロセスは、
テンプレートマッチングベースの動き精緻化、又は
バイラテラルマッチングベースの動き精緻化のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項7】
前記動き精緻化プロセスの簡略化されたバージョンが適用される、請求項2に記載の方法。
【請求項8】
前記動き精緻化プロセスとしてテンプレートマッチングが使用される場合、テンプレートサイズは1又は2に設定される、請求項7に記載の方法。
【請求項9】
前記処理手順は、動き精緻化プロセスであり、
ここで、前記第1の並べ替えプロセスで使用される精緻化された動き情報は、前記動き精緻化プロセスの最終的な動き情報である、請求項1に記載の方法。
【請求項10】
前記動き精緻化プロセスが複数のステップを含む場合、前記動き精緻化プロセスにおける最後のステップ後の動き情報が、前記第1の並べ替えプロセスで使用される、請求項9に記載の方法。
【請求項11】
前記複数のステップは、異なる解像度の動きベクトルで動き情報を精緻化する、請求項10に記載の方法。
【請求項12】
整数解像度動きベクトルが分数解像度動きベクトルになるように精緻化され、又は、
分数解像度動きベクトルが分数解像度動きベクトルになるように精緻化され、又は、
前記異なる解像度は、16ペル(pel)、8ペル、4ペル、2ペル、1ペル、1/2ペル、1/4ペル、1/8ペル、1/16ペル、1/32ペル、又は1/64ペルのうちの少なくとも1つを含む、請求項11に記載の方法。
【請求項13】
前記複数のステップは、テンプレートマッチングにおいて前記動きベクトルを精緻化するための異なる検索形状を含む、請求項10に記載の方法。
【請求項14】
前記テンプレートマッチングのダイヤモンド形状検索ステップ後の動き情報が、前記第1の並べ替えプロセスで使用される、請求項13に記載の方法。
【請求項15】
使用される動きベクトルの解像度は、動き候補の動きベクトルの解像度を示す構文要素に依存し、又は、
前記動き精緻化プロセスで早期終了が使用される場合、前記早期終了に関連する動き情報出力が前記第1の並べ替えプロセスで使用される、請求項10に記載の方法。
【請求項16】
複数の動き精緻化プロセスが前記ターゲットブロックに適用され、前記複数の動き精緻化プロセスが順番に適用され、
ここで、最後の動き精緻化プロセスの後に導出された動き情報が、前記第1の並べ替えプロセスで使用される、請求項1に記載の方法。
【請求項17】
前記転換は、前記ターゲットブロックを前記ビットストリームにエンコードするステップを含み、又は、
前記転換は、前記ビットストリームから前記ターゲットブロックをデコードするステップを含む、請求項1に記載の方法。
【請求項18】
プロセッサと、命令を備えた非一時的メモリとを含むビデオデータを処理する装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに請求項1~17のいずれか一項に記載の方法を実行させる、装置。
【請求項19】
プロセッサに、請求項1~17のいずれか一項に記載の方法を実行させる命令を記憶する、非一時的なコンピュータ可読記憶媒体。
【請求項20】
ビデオのビットストリームを記憶する方法であって、
ターゲットブロックについての動き候補リスト内の少なくとも1つの動き候補に、処理手順を適用するステップと、
前記処理手順の後に、前記動き候補リストに第1の並べ替えプロセスを適用することによって、前記動き候補リストを並べ替えるステップと、
前記並べ替えられた動き候補リストに基づいて、前記ターゲットブロックのビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップとを含む、方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0116
【補正方法】変更
【補正の内容】
【0116】
本開示のいくつかの例示的な実施形態について以下に詳細に説明することにする。本明細書では理解を容易にするためにセクション見出しが使用されているが、セクションで開示される実施形態をそのセクションのみに限定するものではないことを理解すべきである。さらに、特定の実施形態が多用途ビデオコーディング又は他の特定のビデオコーデックを参照して説明されるが、開示された技術は他のビデオコーディング技術にも適用可能である。さらに、いくつかの実施形態はビデオコーディングステップを詳細に説明するが、コーディングを元に戻す対応するデコーディングステップはデコーダによって実施されることが理解されるであろう。さらに、ビデオ処理という用語には、ビデオコーディング又は圧縮、ビデオデコーディング又は解凍、及びビデオピクセルを1つの圧縮フォーマットから別の圧縮フォーマット又は異なる圧縮ビットレートで表現するビデオトランスコーディングが包含される。

1.概要
本開示は、ビデオコーディング技術に関する。具体的には、精緻化された動き情報を使用して動き候補リストを並べ替えるインターコーディング用動き候補リスト、動き候補リストの並べ替えプロセスを以下にして適用か、及び/又は適用するか否か、並びに画像/ビデオコーディングにおける他のコーディングツールに関する。これは、HEVCやVersatile Video Coding(多用途ビデオコーディング、VVC)等の既存のビデオコーディング規格に適用され得る。また、将来のビデオコーディング規格又はビデオコーデックにも適用され得る。

2.背景
ビデオコーディング規格は、主によく知られているITU-T及びISO/IEC規格の発展を通じて進化している。ITU-TはH.261及びH.263を策定し、ISO/IECはMPEG-1及びMPEG-4ビジュアルを策定し、及びこの2つの組織は共同でH.262/MPEG-2ビデオ、H.264/MPEG-4アドバンストビデオコーディング(Advanced Video Coding、AVC)及びH.265/HEVC規格を策定した。H.262以降、ビデオコーディング規格は、時間的予測及び変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを超える将来のコーディング技術を開発するために、共同ビデオ探索チーム(Joint Video Exploration Team(JVET))が2015年にVCEG及びMPEGにより共同で設立された。それ以来、多くの新しい方法がJVETにより採用され、共同探索モデル(Joint Exploration Model(JEM))と呼ばれる参照ソフトウェアに取り入れられてきた。2018年4月には、HEVCと比べて50%のビットレート削減を目標とするVVC規格に取り組むために、VCEG(Q6/16)とISO/IEC JTC1SC29/WG11(MPEG)との間の共同ビデオ専門家チーム(Joint Video Expert Team(JVET))が作成された。
VVC規格ドラフトの最新バージョン、即ち、Versatile Video Coding(Draft 10)は、以下において見ることができる:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/20_Teleconference/wg11/JVET-T2001-v1.zip
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下において見ることができる:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tags/VTM-11.0.

2.1.一般的なビデオコーデックのコーディングフロー
図4は、デブロッキングフィルター(DF)、サンプル適応オフセット(SAO)、ALFの3つのループ内フィルタリングブロックが含まれる、VVCのエンコーダブロック図の例を示している。事前定義されたフィルターを使用するDFとは異なり、SAO及びALFは、それぞれ、現在の画像の元のサンプルを利用して、オフセットを追加し、有限インパルス応答(FIR)フィルターを適用することで、元のサンプルと再構築されたサンプルの間の平均二乗誤差を減らし、コード化サイド情報がオフセット及びフィルター係数をシグナリングする。ALFは、各画像の最後の処理段階にあり、前の段階で作成されたアーティファクトを捕捉して修復しようとするツールと見なすことができる。

2.2.67個のイントラ予測モードによるイントラモードコーディング
自然なビデオで呈示される任意のエッジ方向を捉えるために、方向イントラモードの数は、HEVCで使用されるような33から、図5に示すような65に拡張され、平面モードとDCモードとは同じままである。これらの高密度の方向イントラ予測モードは、全てのブロックサイズ、及びルマ(luma)とクロマ(chroma)の両方のイントラ予測に適用される。
HEVCでは、全てのイントラコード化ブロックは正方形で、その各辺の長さは2の累乗である。したがって、DCモードを使用してイントラ予測子を生成するために除算演算は必要ない。VVCでは、ブロックが長方形になり得、通常はブロックごとに除算演算を使用する必要がある。DC予測の除算演算を回避するために、非正方形のブロックについての平均を計算するには長い辺のみを使用する。

2.2.1.広角イントラ予測
VVCでは67個のモードが定義されているが、与えられたイントラ予測モードインデックスの正確な予測方向は、ブロック形状にさらに依存している。従来の角度イントラ予測方向は、時計回りに45度から-135度まで定義されている。VVCでは、非正方形ブロックの場合、従来の角度イントラ予測モードのいくつかが、広角イントラ予測モードに適応的に置き換えられる。置き換えられたモードは、元のモードインデックスを使用してシグナリングされ、解析後に広角モードのインデックスに再マップされる。イントラ予測モードの総数は変更されず、即ち、67で、イントラモードコーディング方法が変更されない。
これらの予測方向をサポートするために、長さ2W+1の上部参照と長さ2H+1の左参照が図6に示すように定義される。
広角方向モードで置き換えられるモードの数は、ブロックのアスペクト比に依存する。置き換えられるイントラ予測モードは、表1に示されている。
【表1】
図7は、45度を超える方向の場合の不連続性のブロック図を示している。図7図700に示すように、広角イントラ予測の場合、垂直に隣接する2つの予測サンプルは、2つの非隣接参照サンプルを使用し得る。したがって、広角予測には、ローパス参照サンプルフィルター及びサイドスムージングが適用されて、ギャップΔpαの増加による悪影響が軽減される。広角モードが非分数オフセットを表す場合、この条件を満たす広角モードは8つあり、[-14、-12、-10、-6、72、76、78、80]である。これらのモードでブロックが予測されると、参照バッファ内のサンプルは補間を適用せずに直接コピーされる。この変更により、スムージングに必要なサンプル数が削減される。そのうえ、従来の予測モード及び広角モードにおける非分数モードの設計を整列させる。
VVCでは、4:2:0だけでなく、4:2:2及び4:4:4クロマ形式もサポートされる。4:2:2クロマ形式のクロマ派生モード(DM)派生テーブルは、当初イントラ予測モードの拡張に合わせてエントリ数を35から67に拡張するHEVCから移植されたものである。
HEVC仕様では-135度未満及び45度を超える予測角度をサポートしていないため、2から5の範囲のルマイントラ予測モードは2にマッピングされる。したがって、4:2:2クロマ形式のクロマDM派生テーブルは、マッピングテーブルのエントリのいくつかの値を置き換えて更新されて、クロマブロックの予測角度をより正確に転換する。

2.3.インター予測
各インター予測CUに対して、動きパラメータは動きベクトル、参照画像インデックス、参照画像リスト使用インデックス、及びインター予測サンプル生成に使用されるVVCの新規コーディング機能に必要な追加情報で構成される。動きパラメータは、明示的又は暗黙的にシグナリングされ得る。CUがスキップモードでコード化されると、CUは1つのPUに関連付けられ、有意の残差係数、コード化された動きベクトルデルタ、又は参照画像インデックスがない。マージモードが指定され、これにより現在のCUの動きパラメータが、空間的及び時間的候補、及びVVCで導入された追加スケジュールを含む近隣CUから取得される。マージモードは、スキップモードだけでなく、任意のインター予測CUに適用され得る。マージモードの代替は、動きパラメータの明示的な送信であり、ここで、動きベクトル、各参照画像リストの対応する参照画像インデックス、参照画像リスト使用フラグ、及び他の必要な情報が各CUごとに明示的にシグナリングされる。

2.4.イントラブロックコピー(IBC)
イントラブロックコピー(IBC)は、SCCのHEVC拡張で採用されているツールである。それが画面コンテンツ素材のコーディング効率を大幅に向上させることはよく知られている。IBCモードはブロックレベルのコーディングモードとして具現されるため、エンコーダーでブロックマッチング(BM)が具現されて各CUの最適なブロックベクトル(又は動きベクトル)を探す。ここで、ブロックベクトルは、現在のブロックから現在の画像内ですでに再構築されている参照ブロックへの変位を示すために使用される。IBC-コード化CUのルマブロックベクトルは整数精度である。クロマブロックベクトルも整数精度に丸められる。AMVRと組み合わせると、IBCモードは1ペル(pel)と4ペルの動きベクトル精度を切り替えることができる。IBC-コード化CUは、イントラ又はインター予測モード以外の第3の予測モードとして扱われる。IBCモードは、幅と高さの両方が64ルマサンプル以下のCUに適用可能である。
エンコーダ側では、IBCに対してハッシュベースの動き推定が実行される。エンコーダは、幅又は高さのいずれかが16ルマサンプル以下のブロックに対してRDチェックを実行する。非マージモードの場合、先ずハッシュベースの検索を使用してブロックベクトル検索が実行される。ハッシュ検索で有効な候補が返されない場合は、ブロックマッチングベースのローカル検索が実行される。
ハッシュベースの検索では、現在のブロックと参照ブロック間のハッシュキーマッチング(32ビットCRC)がすべての許容ブロックサイズに拡張される。現在の画像の各位置のハッシュキーの計算は、4×4サブブロックに基づいている。より大きなサイズの現在のブロックの場合、全ての4×4サブブロックの全てのハッシュキーが対応する参照位置のハッシュキーとマッチングすると、ハッシュキーは参照ブロックのハッシュキーとマッチングすると判断される。複数の参照ブロックのハッシュキーが現在のブロックのハッシュキーとマッチングすることが判明した場合、マッチングする各参照のブロックベクトルコストが計算され、コストが最小のものが選択される。ブロックマッチング検索では、検索範囲は前のCTU及び現在のCTUの両方をカバーするように設定される。
CUレベルでは、IBCモードはフラグでシグナリングされ、次のようにIBC AMVPモード又はIBCスキップ/マージモードとしてシグナリングされ得る。
-IBCスキップ/マージモード:マージ候補インデックスは、隣接候補IBCコード化ブロックからのリストにあるブロックベクトルのうち、どのブロックベクトルが現在のブロックを予測するために使用されるかを示すために使用される。マージリストは、空間的、HMVP、及びペアワイズ候補で構成される。
-IBC AMVPモード:ブロックベクトル差は、動きベクトル差と同じ方法でコード化される。ブロックベクトル予測方法では、予測子として2つの候補を使用する。1つは左隣から、もう1つは上隣から(IBCコード化の場合)である。どちらかの隣が利用できない場合は、デフォルトのブロックベクトルが予測子として使用される。ブロックベクトル予測子のインデックスを示すフラグがシグナリングされる。

2.5.MVDによるマージモード(MMVD)
暗黙的に導出された動き情報が現在のCUの予測サンプル生成に直接使用されるマージモードに加えて、動きベクトル差分(MMVD)によるマージモードがVVCに導入されている。MMVDフラグは、通常のマージフラグを送信した直後にシグナリングされて、CUにMMVDモードが使用されるか否か指定する。
MMVDでは、マージ候補が選択された後、シグナリングされたMVD情報によってさらに精緻化される。さらなる情報には、マージ候補フラグ、動きの規模を指定するインデックス、及び動き方向を示すインデックスが含まれる。MMVDモードでは、マージリストの最初の2つの候補のうち1つが選択されて、MV基礎として使用される。MMVD候補フラグは、第1のマージ候補と第2のマージ候補のどちらを使用するかを指定するためにシグナリングされる。
距離インデックスは、動き規模情報を指定し、開始点からの事前定義されたオフセットを示す。図8は、MMVD検索ポイントを示している。図8に示すように、オフセットは開始MVの水平成分又は垂直成分のいずれかに追加される。距離インデックスと事前定義されたオフセットの関係は、表2-2に指定されている。
【表2】
方向インデックスは、開始点に対するMVDの方向を表す。方向インデックスは、表2-3に示すように4つの方向を表すことができる。MVD符号の意味は、開始MVの情報に応じて変わり得ることに注意すべきである。開始MVが単予測MV又は双予測MVであり、両方のリストが現在の画像の同じ側を指している場合(即ち、2つの参照のPOCが両方とも現在の画像のPOCよりも大きいか、又は両方とも現在の画像のPOCよりも小さい場合)、表2-3における符号は、開始MVに追加されるMVオフセットの符号を指定する。開始MVが双予測MVであり、2つのMVが現在の画像の異なる側を指しており(即ち、一方の参照のPOCが現在の画像のPOCよりも大きく、もう一方の参照のPOCが現在の画像のPOCよりも小さい)、リスト0のPOCの差がリスト1のPOCの差よりも大きい場合、表2-3における符号は開始MVのlist0 MVコンポーネントに追加されるMVオフセットの符号を指定し、list1 MVについての符号は反対の値を持つ。そうでなければ、リスト1内のPOCの差がリスト0よりも大きい場合、表2-3の符号は開始MVのlist1 MVコンポーネントに追加されるMVオフセットの符号を指定し、list0 MVについての符号は反対の値を持つ。
MVDは、各方向のPOCの差に応じてスケーリングされる。両方のリストのPOCの差が同じ場合、スケーリングは必要ない。そうでなければ、リスト0内のPOCの差がリスト1内のPOCの差よりも大きい場合は、図9に示すように、Ll0POC差をtd、L1のPOC差をtbとして定義することによって、リスト1についてのMVDがスケーリングされる。L1のPOC差がL0よりも大きい場合は、リスト0についてのMVDが同じ方法でスケーリングされる。開始MVが単予測の場合、MVDは利用可能なMVに追加される。
【表3】
2.6.対称MVDコーディング
VVCでは、通常の単方向予測及び双方向予測モードMVDシグナリングに加えて、双予測MVDシグナリング用の対称MVDモードが適用される。対称MVDモードでは、list-0とlist-1の両方の参照画像インデックスを含む動き情報とlist-1のMVDはシグナリングされずに導出される。
対称MVDモードのデコーディングプロセスは次のとおりである。
1.スライスレベルでは、変数BiDirPredFlag、RefIdxSymL0及びRefIdxSymL1が次のように導出される。
-mvd_l1_zero_flagが1の場合、BiDirPredFlagは0に等しく設定される。
-そうでなければ、list-0の最も近い参照画像とlist-1の最も近い参照画像が前後に参照画像のペア、又は後前に参照画像のペアを形成する場合、BiDirPredFlagは1に設定され、list-0とlist-1の参照画像は両方とも短期参照画像である。それ以外の場合、BiDirPredFlagは0に設定される。
2.CUレベルでは、CUが双予測コード化され、BiDirPredFlagが1に等しい場合、対称モードが使用されているか否かを示す対称モードフラグが明示的にシグナリングされる。
対称モードフラグがtrueの場合、mvp_l0_flag、mvp_l1_flag及びMVD0のみが明示的にシグナリングされる。list-0及びlist-1についての参照インデックスは、それぞれ参照画像のペアに等しく設定される。MVD1は、(-MVD0)に等しく設定される。最終的な動きベクトルは、以下の式で示される。
【数1】
図9は、対称MVDモードの図解である。エンコーダーでは、対称MVD動き推定が初期MV評価から始まる。初期MV候補のセットは、単予測検索から取得されたMVと、双予測検索から取得されたMVと、AMVPリストからのMVとを含む。レート歪みコストが最も低いものが、対称MVD動き検索についての初期MVとして選択される。

2.7.双方向オプティカルフロー(Bi-directional optical flow、BDOF)
双方向オプティカルフロー(BDOF)ツールはVVCに含まれている。以前はBIOと呼ばれていたBDOFは、JEMに含まれていた。JEMバージョンと比較すると、VVCのBDOFは、特に乗算回数及び乗算器のサイズに関して計算量が大幅に少なく要求される、よりシンプルなバージョンである。
BDOFは、4×4サブブロックレベルでCUの双予測信号精緻化するために使用される。BDOFは、次の条件をすべて満たす場合、CUに適用される。
-CUは「true」双予測モードを使用してコード化され、即ち、2つの参照画像のうち1つは表示順序で現在の画像より前になり、もう1つは表示順序で現在の画像より後になる。
-2つの参照画像から現在の画像までの距離(即ち、POC差)は同じである。
-両方の参照画像は短期参照画像である。
-CUはアフィンモード又はSbTMVPマージモードを使用してコード化されない。
-CUは64個を超えるルマサンプルを有する。
-CUの高さとCUの幅は両方とも8ルマサンプル以上である。
-BCW重みインデックスは等しい重みを示す。
-現在のCUではWPが有効になっていない。
-現在のCUではCIIPモードが使用されない。
BDOFはルマコンポーネントにのみ適用される。その名前が示すように、BDOFモードは、オブジェクトの動きが滑らかであると想定するオプティカルフロー概念に基づいている。各4×4サブブロックについて、L0予測サンプルとL1予測サンプルの差を最小化することで、動き精緻化(vx,vy)が計算される。次に、動き精緻化を使用して、4×4サブブロックにおける双予測サンプル値を調整する。BDOFプロセスでは、次の手順が適用される。
先ず、2つの予測信号の水平勾配及び垂直勾配である
【数2】
が、2つの隣接するサンプル間の差を直接計算することによって計算される。即ち、
【数3】
次に、勾配
【数4】
の自己相関及び相互相関が次のように計算される。
【数5】
ここで、
【数6】
次に、相互相関項及び自己相関項を使用して、次の式を利用して動き精緻化(vx,vy)が導出される。
【数7】
動き精緻化及び勾配に基づいて、4×4サブブロック内の各サンプルについての次の調整が計算される。
【数8】
最後に、次のように双予測サンプルを調整して、CUのBDOFサンプルが計算される。
【数9】
これらの値は、BDOFプロセスでの乗数が15ビットを超えないように選択され、BDOFプロセスの中間パラメータの最大ビット幅は32ビット以内に保たれる。
勾配値を導出するためには、現在のCU境界の外側のリストk(k=0,1)内のいくつかの予測サンプルI(k)(i,j)を生成する必要がある。図10は、BDOFで使用される拡張CU領域の概略図を示している。図10のダイアグラム1000に示すように、VVCにおけるBDOFはCUの境界の周囲の1つの拡張行/列を使用する。境界外の予測サンプルを生成する計算複雑さを制御するために、拡張エリア(図10で1010で示す)の予測サンプルは、近くの整数位置の参照サンプル(座標に対してfloor()演算を使用)を補間なしで直接取ることによって生成され、通常の8-tap動き補償補間フィルタを使用してCU内の予測サンプル(図10の1020で示す)が生成される。これらの拡張サンプル値は勾配計算にのみ使用される。BDOFプロセスの残りのステップでは、CU境界外の任意のサンプル値及び勾配値が必要な場合は、最も近い近傍からパディング(即ち、繰り返し)される。
CUの幅及び/又は高さが16ルマサンプルよりも大きい場合、CUは幅及び/又は高さが16ルマサンプルに等しいサブブロックに分割され、サブブロック境界はBDOFプロセスでCU境界として扱われる。BDOFプロセスについての最大ユニットサイズは16×16に制限されている。サブブロックごとに、BDOFプロセスはスキップされ得る。初期L0予測サンプルとL1予測サンプル間のSADが閾値よりも小さい場合、BDOFプロセスはサブブロックに適用されない。閾値は(8*W*(H>>1)に等しく設定され、ここで、Wはサブブロック幅を示し、Hはサブブロック高さを示す。SAD計算の追加の複雑さを回避するために、DVMRプロセスで計算された初期L0及びL1予測サンプル間のSADがここで再利用される。
現在のブロックでBCWが有効になっている場合、即ち、BCW重みインデックスが不等重みを示している場合、双方向オプティカルフローは無効になる。同様に、現在のブロックでWPが有効になっている場合、即ち、2つの参照画像のいずれかでluma_weight_lx_flagが1の場合、BDOFも無効になる。CUが対称MVDモード又はCIIPモードでコード化されている場合、BDOFも無効になる。

2.8.組み合わせられたインター及びイントラ予測(CIIP)

2.9.アフィン動き補償予測
HEVCでは、動き補償予測(MCP)には移動動きモデルのみが適用される。一方、現実の世界では、ズームイン/アウト、回転、遠近法動き、及びその他の不規則な動きなど、様々な種類の動きがある。VVCでは、ブロックベースのアフィン変換動き補償予測が適用される。図11に示すように、ブロックのアフィン動きフィールドは、2つの制御点(4パラメータ)又は3つの制御点動きベクトル(6パラメータ)の動き情報によって記述される。
図11の4パラメータアフィン動きモデル1110の場合、ブロック内のサンプル位置(x,y)における動きベクトルは次のように導出される:
【数10】
図11の6パラメータアフィン動きモデル1120の場合、ブロック内のサンプル位置(x,y)における動きベクトルは次のように導出される:
【数11】
ここで、(mv0x,mv0y)は左上隅の制御点の動きベクトルであり、(mv1x,mv1y)は右上隅の制御点の動きベクトルであり、(mv2x,mv2y)は左下隅の制御点の動きベクトルである。
動き補償予測を簡素化するために、ブロックベースのアフィン変換予測が適用される。図12は、サブブロックごとのアフィンMVFの概略図1200を示している。各4×4ルマサブブロックの動きベクトルを導出するには、図12に示すように、各サブブロックの中心サンプルの動きベクトルを上記の式に従って計算し、1/16の分数精度に丸める。次に、動き補償補間フィルタを適用して、導出された動きベクトルで各サブブロックの予測を生成する。クロマコンポーネントのサブブロックサイズも4×4に設定される。4×4クロマサブブロックのMVは、対応する4つの4×4ルマサブブロックのMVの平均として計算される。
並進動きインター予測の場合と同様に、アフィンマージモードとアフィンAMVPモードという2つのアフィン動きインター予測モードもある。

2.9.1.アフィンマージ予測
AF_MERGEモードは、幅と高さの両方が8以上のCUに適用され得る。このモードでは、現在のCUのCPMVは、空間的に隣接するCUの動き情報に基づいて生成される。最大5つのCPMVP候補があり得るが、現在のCUに使用されるものを示すためのインデックスがシグナリングされる。次の3種類のCPVM候補を使用して、アフィンマージ候補リストを形成する。
-隣接CUのCPMVから外挿された継承されたアフィンマージ候補。
-隣接CUの変換MVを使用して導出された、構築されたアフィンマージ候補CPMVP。
-ゼロMV。
VVCでは、隣接ブロックのアフィン動きモデルから導出される継承されたアフィン候補が最大2つあり、1つは左隣接CUから、もう1つは上隣接CUから導出される。図13は、継承されたアフィン動き予測子の位置の概略図1300を示している。候補ブロックは図13に示されている。左予測子の場合、スキャン順序はA0->A1であり、上予測子の場合、スキャン順序はB0->B1->B2である。各サイドから最初の継承候補のみが選択される。2つの継承候補の間ではプルーニングチェックは実行されない。隣接アフィンCUが識別されると、その制御点動きベクトルを使用して、現在のCUのアフィンマージリスト内のCPMVP候補が導出される。図14は、制御点動きベクトル継承の概略図1400を示している。図14に示すように、隣接する左下のブロックA 1410がアフィンモードでコード化されると、ブロックA 1410を含むCU1420の左上隅、右上隅、左下隅の動きベクトルv2、v3及びv4が得られる。ブロックA 1410が4パラメータアフィンモデルでコード化されると、現在のCUの2つのCPMVはv2及びv3に従って計算される。ブロックAが6パラメータアフィンモデルでコード化されると、現在のCUの3つのCPMVはv2、v3及びv4に従って計算される。
構築されたアフィン候補とは、各制御点の近傍並進動き情報を組み合わせることによって候補が構築されることを意味する。制御点についての動き情報は、構築されたアフィンマージモードについての候補位置の概略図1500を示す図15に示されている指定された空間的近傍及び時間的近傍から導出される。CPMVk(k=1,2,3,4)は、k番目の制御点を表す。CPMV1の場合、B2->B3->A2ブロックがチェックされ、第1の利用可能なブロックのMVが使用される。CPMV2の場合、B1->B0ブロックがチェックされ、CPMV3の場合、A1->A0ブロックがチェックされる。TMVPの場合、利用可能な場合、CPMV4として使用される。
4つの制御点のMVが得られた後、その動き情報に基づいてアフィンマージ候補が構築される。次の制御点MVの組み合わせが順番に構築に使用される:
{CPMV1,CPMV2,CPMV3},{CPMV1,CPMV2,CPMV4},{CPMV1,CPMV3,CPMV4}、
{CPMV2,CPMV3,CPMV4},{CPMV1,CPMV2},{CPMV1,CPMV3}。
3つのCPMVの組み合わせにより、6パラメータアフィンマージ候補が構築され、2つのCPMVの組み合わせにより、4パラメータアフィンマージ候補が構築される。動きスケーリングプロセスを回避するために、制御点の参照インデックスが異なる場合、関連する制御点MVの組み合わせは破棄される。
継承されたアフィンマージ候補と構築されたアフィンマージ候補がチェックされた後、リストがまだいっぱいでない場合は、リストの末尾にゼロMVが挿入される。

2.9.2.アフィンAMVP予測
アフィンAMVPモードは、幅と高さの両方が16以上のCUに適用される。CUレベルのアフィンフラグがビットストリームでシグナリングされてアフィンAMVPモードが使用されるか否かを示し、次に別のフラグがシグナリングされて4パラメータアフィンか6パラメータアフィンかを示す。このモードでは、現在のCUのCPMVとその予測子CPMVPの差がビットストリームでシグナリングされる。アフィンAVMP候補リストサイズは2であるが、次の4種類のCPVM候補を順番に使用して生成される。
-隣接CUのCPMVから外挿された継承されたアフィンAMVP候補。
-隣接CUの並進MVを使用して導出された、構築されたアフィンAMVP候補CPMVP。
-隣接CUからの並進MV。
-ゼロMV。
継承されたアフィンAMVP候補のチェック順序は、継承されたアフィンマージ候補のチェック順序と同じである。唯一の違いは、AVMP候補の場合、現在のブロックと同じ参照画像を有するアフィンCUのみが考慮されることである。継承されたアフィン動き予測子を候補リストに挿入する時に、プルーニングプロセスは適用されない。
構築されたAMVP候補は、図13に示す指定された空間的近傍から導出される。アフィンマージ候補の構築と同じチェック順序が使用される。その上、隣接ブロックの参照画像インデックスもチェックされる。チェック順序で最初のブロックが使用され、このブロックは、インターコード化され、現在のCUと同じ参照画像を有する。
現在のCUが4パラメータアフィンモードでコード化され、mv0とmv1の両方が利用可能な場合、それらは1つの候補としてアフィンAMVPリストに追加される。現在のCUが6パラメータアフィンモードでコード化され、3つのCPMVすべてが利用可能な場合、それらは1つの候補としてアフィンAMVPリストに追加される。そうでなければ、構築されたAMVP候補は利用不可として設定される。
継承されたアフィンAMVP候補及び構築されたAMVP候補をチェックした後も、アフィンAMVPリスト候補が2未満の場合、mv0、mv1、mv2が、現在のCUのすべての制御点MVを予測するための並進MVとして、順番に追加される(使用可能な場合)。最後に、アフィンAMVPリストがまだいっぱいでない場合は、ゼロMVを使用してアフィンAMVPリストを埋める。

2.9.3.アフィイン動き情報の記憶
VVCでは、アフィンCUのCPMVは別途のバッファーに記憶される。記憶されたCPMVは、最近コード化CUのアフィンマージモード及びアフィンAMVPモードで継承されたCPMVPを生成するためにのみ使用される。CPMVから導出されたサブブロックMVは、動き補償、並進MVのマージ/AMVPリストのMV導出、及びデブロッキングに使用される。
追加のCPMV用の画像ラインバッファを回避するために、上のCTUからのCUからのアフィン動きデータ継承は、通常の隣接CUからの継承とは異なって扱われる。アフィン動きデータ継承についての候補CUが上のCTUラインにある場合、アフィンMVP導出には、CPMVではなく、ラインバッファ内の左下と右下のサブブロックMVが使用される。このようにして、CPMVはローカルバッファにのみ記憶される。候補CUが6パラメータアフィンコード化されている場合、アフィンモデルは4パラメータモデルに低下される。図16に示すように、上のCTU境界に沿って、CUの左下と右下のサブブロック動きベクトルが、下のCTU内のCUのアフィン継承に使用される。

2.9.4.アフィンモードについてのオプティカルフローによる予測精緻化
サブブロックベースのアフィン動き補償は、ピクセルベースの動き補償に比べて、予測精度ペナルティという代償を払って、メモリアクセス帯域幅を節約し、計算複雑さを軽減できる。より細かい粒度の動き補償を達成するように、オプティカルフローによる予測精緻化(PROF)を使用して、動き補償のためのメモリアクセス帯域幅を増加させることなく、サブブロックベースのアフィン動き補償予測を精緻化する。VVCでは、サブブロックベースのアフィン動き補償が実行された後、オプティカルフロー式によって導出された差を加えることで、ルマ予測サンプルを精緻化する。PROFは、次の4つの手順で説明される。
ステップ1)サブブロックベースのアフィン動き補償を実行して、サブブロック予測I(i,j)を生成する。
ステップ2)サブブロック予測の空間的勾配gx(i,j)及びgy(i,j)を、各サンプル位置で3タップフィルター[-1,0,1]を使用して計算する。勾配計算は、BDOFでの勾配計算とまったく同じである。
【数12】
shift1は勾配の精度を制御するために使用される。サブブロック(即ち、4×4)予測は、勾配計算のために、各側で1つのサンプルずつ拡張される。追加のメモリ帯域幅及び追加の補間計算を回避するために、拡張された境界上の拡張サンプルは、参照画像内の最も近い整数ピクセル位置からコピーされる。
ステップ3)ルマ予測精緻化は、次のオプティカルフロー式によって計算される。
【数13】
ここで、Δv(i,j)は、図17に示すように、サンプル位置(i,j)に対して計算されたサンプルMV(v(i,j)で示される)と、サンプル(i,j)が属するサブブロックのサブブロックMVとの差である。Δv(i,j)は、1/32ルマサンプル精度の単位で量子化される。
アフィンモデルパラメータ及びサブブロック中心に対するサンプル位置はサブブロックごとに変更されないため、Δv(i,j)は第1のサブブロックに対して計算され、同じCU内の他のサブブロックに対して再利用され得る。dx(i,j)及びdy(i,j)をサンプル位置(i,j)からサブブロックの中心(xSB,ySB)までの水平及び垂直オフセットとすると、Δv(i,j)は次の式で導出できる。
【数14】
精度を保つために、サブブロック(xSB,ySB)のエンターは((WSB-1)/2,(HSB-1)/2)として計算され、ここで、WSB及びHSBは、それぞれサブブロックの幅及び高さである。
4パラメータアフィンモデルの場合、
【数15】
6パラメータアフィンモデルの場合、
【数16】
ここで、(v0x,v0y)、(v1x,v1y)、(v2x,v2y)は、左上、右上、左下の制御点の動きベクトルであり、w及びhはCUの幅及び高さである。
ステップ4)最後に、ルマ予測精緻化ΔI(i,j)がサブブロック予測I(i,j)に加わえられる。最終的な予測I’は、次の式のように生成される。
【数17】
PROFは、アフィンコード化CUに対して次の2つの場合には適用されない。1)すべての制御点MVが同じで、CUが並進動きのみを有することを示す場合、2)サブブロックベースのアフィンMCがCUベースのMCに低下されて、大量のメモリアクセス帯域幅要件を回避するため、アフィン動きパラメータが指定された制限よりも大きい場合。
PROFによるアフィン動き推定のエンコーディング複雑さを軽減するために、高速エンコーディング方法が適用される。次の2つの状況では、アフィン動き推定段階でPROFは適用されない。a)このCUがルートブロックではなく、その親ブロックがアフィンモードを最適モードとして選択していない場合、現在のCUがアフィンモードを最適モードとして選択する可能性が低いため、PROFは適用されない。b)4つのアフィンパラメータ(C、D、E、F)の大きさがすべて事前定義された閾値よりも小さく、現在の画像が低遅延画像でない場合、PROFによってもたらされる改善が小さいため、PROFは適用されない。このようにして、PROFによるアフィン動き推定を高速化できる。

2.10.サブブロックベースの時間的動きベクトル予測(SbTMVP)
VVCは、サブブロックベースの時間的動きベクトル予測(SbTMVP)方法をサポートしている。HEVCの時間的動きベクトル予測(TMVP)と同様に、SbTMVPはコロケートされた画像内の動きフィールドを使用して、現在の画像内のCUについての動きベクトル予測及びマージモードを改善する。TMVPで使用されるのと同じコロケートされた画像がSbTMVPにも使用される。SbTMVPは、次の2つの点でTMVPと異なる。
-TMVPはCUレベルで動きを予測するが、SbTMVPはサブCUレベルで動きを予測する。
-その一方で、TMVPは、コロケートされた画像内のコロケートされたブロック(コロケートされたブロックは、現在のCUに対して右下又は中央のブロック)から時間的動きベクトルを取得するが、SbTMVPは、コロケートされた画像から時間的動き情報を取得する前に動きシフトを適用し、ここで、動きシフトは、現在のCUの空間的隣接ブロックの1つからの動きベクトルから得られる。
SbTMVPプロセスは、図18aと図18bに示されている。図18aは、SbTMVPによって使用される空間的隣接ブロックの概略図1810を示している。図18aは、SbTMVPが使用する空間的隣接ブロックの概略図1810を示している。SbTMVPは、現在のCU内のサブCUの動きベクトルを2つのステップで予測する。第1のステップでは、図18aの空間的近傍A1が検査される。A1にコロケートされた画像をその参照画像として使用する動きベクトルがある場合、この動きベクトルが適用されるべき動きシフトとして選択される。このような動きが識別されない場合、動きシフトは(0,0)に設定される。
図18bは、空間的近傍からの動きシフトを適用し、対応するコロケートされたサブCUからの動き情報をスケーリングすることによってサブCUの動きフィールドを駆動する概略図を示している。第2のステップでは、ステップ1で識別された動きシフトが適用され(即ち、現在の画像1820の現在のブロックの座標に加算され)て、図18bに示すように、コロケートされた画像1822からサブCUレベルの動き情報(動きベクトルと参照インデックス)を取得する。図18bの例では、動きシフトはブロックA1の動きに設定されると想定する。次に、各サブCUについて、コロケートされた画像1822内の対応するブロック(中心サンプルをカバーする最小の動きグリッド)の動き情報が、サブCUについての動き情報を導出するために使用される。コロケートされたサブCUの動き情報が識別された後、それは、HEVCのTMVPプロセスと同様の方法で、現在のサブCUの動きベクトル及び参照インデックスに転換され、ここで、時間的動きスケーリングが、時間的動きベクトルの参照画像を現在のCUの参照画像に整列させるために適用される。
VVCでは、SbTMVP候補とアフィンマージ候補の両方を含む組み合わされたサブブロックベースのマージリストが、サブブロックベースのマージモードのシグナリングに使用される。SbTMVPモードは、シーケンスパラメータセット(SPS)フラグによって有効/無効にされる。SbTMVPモードを有効にすると、サブブロックベースのマージ候補のリストの最初のエントリとしてSbTMVP予測子が加えられ、その後アフィンマージ候補が続く。サブブロックベースのマージリストのサイズはSPSでシグナリングされ、VVCでは、サブブロックベースのマージリストの最大許容サイズは5である。
SbTMVPで使用されるサブCUサイズは8×8に固定されており、アフィンマージモードで行われるように、SbTMVPモードは幅と高さの両方が8以上のCUにのみ適用される。
追加のSbTMVPマージ候補のエンコーディングロジックは、他のマージ候補と同じであり、即ち、P又はBスライスの各CUに対して、追加のRDチェックが、SbTMVP候補を使用するか否かを決定するために実行される。

2.11.適応動きベクトル解像度(AMVR)
HEVCでは、スライスヘッダーでuse_integer_mv_flagが0の場合、(CUの動きベクトルと予測動きベクトル間の)動きベクトル差(MVD)が1/4ルマサンプル単位でシグナリングされる。VVCでは、CUレベルの適応動きベクトル解像度(AMVR)スキームが導入されている。AMVRは、CUのMVDを様々な精度でコード化することを可能にする。現在のCUのモード(通常のAMVPモード又はまたはアフィンAVMPモード)に応じて、現在のCUのMVDは次のように適応的に選択され得る。
-通常のAMVPモード:1/4ルマサンプル、1/2ルマサンプル、整数ルマサンプル、又は4ルマサンプル。
-アフィンAMVPモード:1/4ルマサンプル、整数ルマサンプル、又は1/16ルマサンプル。
CUレベルのMVD解像度指示は、現在のCUに少なくとも1つの非ゼロMVDコンポーネントがある場合に条件付きでシグナリングされる。すべてのMVDコンポーネント(即ち、参照リストL0及び参照リストL1の水平及び垂直MVDの両方)がゼロの場合、1/4ルマサンプルMVD解像度が推論される。
非ゼロMVDコンポーネントを少なくとも1つ有するCUの場合、CUに1/4ルマサンプルMVD精度が使用されるか否かを示す第1のフラグがシグナリングされる。第1のフラグが0の場合、さらなるシグナリングは必要なく、現在のCUに1/4ルマサンプルMVD精度が使用される。そうでなければ、通常のAMVP CUに1/2ルマサンプル又は他のMVD精度(整数又は4ルマサンプル)が使用されていることを示す第2のフラグがシグナリングされる。1/2ルマサンプルの場合、1/2ルマサンプル位置には、デフォルトの8タップ補間フィルターではなく、6タップ補間フィルターが使用される。そうでなければ、通常のAMVP CUに整数ルマサンプル又は4ルマサンプルMVD精度が使用されるか否かを示す第3のフラグがシグナリングされる。アフィンAMVP CUの場合、第2のフラグが、整数ルマサンプル又は1/16ルマサンプルMVD精度が使用されるか否かを示すために使用される。再構築されたMVが意図した精度(1/4ルマサンプル、1/2ルマサンプル、整数ルマサンプル又は4ルマサンプル)を持つのを確保するために、CUについての動きベクトル予測子は、MVDと加算される前にMVDと同じ精度に丸められる。動きベクトル予測子はゼロに向かって丸められる(即ち、負の動きベクトル予測子は正の無限大に向かって丸められ、正の動きベクトル予測子は負の無限大に向かって丸められる)。
エンコーダは、RDチェックを使用して現在のCUの動きベクトル解像度を決定する。各MVD解像度に対してCUレベルのRDチェックを常に4回実行することを回避するために、VTM11では、1/4ルマサンプル以外のMVD精度のRDチェックは条件付きでのみ呼び出される。通常のAVMPモードの場合、1/4ルマサンプルMVD精度及び整数ルマサンプルMV精度のRDコストが最初に計算される。次に、整数ルマサンプルMVD精度のRDコストが1/4ルマサンプルMVD精度のRDコストと比較され、4ルマサンプルMVD精度のRDコストをさらにチェックする必要があるか否かが決定される。1/4ルマサンプルMVD精度のRDコストが整数ルマサンプルMVD精度のRDコストよりも大幅に小さい場合、4ルマサンプルMVD精度のRDチェックはスキップされる。次に、整数ルマサンプルMVD精度のRDコストが、以前にテストされたMVD精度の最良のRDコストよりも大幅に大きい場合、2/1ルマサンプルMVD精度のチェックはスキップされる。アフィンAMVPモードの場合、アフィンマージ/スキップモード、マージ/スキップモード、1/4ルマサンプルMVD精度通常AMVPモード、及び1/4ルマサンプルMVD精度アフィンAMVPモードのレート歪みコストをチェックした後、アフィンインターモードが選択されない場合、1/16ルマサンプルMV精度及び1ペルMV精度アフィンインターモードはチェックされない。さらに、1/4ルマサンプルMV精度のアフィンインターモードで取得されたアフィンパラメーターは、1/16ルマサンプル及び1/4ルマサンプルMV精度のアフィンインターモードにおける開始検索ポイントとして使用される。

2.12.CUレベルの重み付けによる双予測(BCW)
HEVCでは、2つの異なる参照画像から取得された2つの予測信号を平均化及び/又は2つの異なる動きベクトルを使用して、双予測信号が生成される。VVCでは、双予測モードが単純な平均化を超えて拡張されて、2つの予測信号の加重平均化を可能にする。
【数18】
加重平均双予測では、5つの重みである、w∈{-2,3,4,5,10}が許可される。双予測された各CUの重みwは、次の2つの方式のいずれかで決定される。1)非マージCUの場合、重みインデックスは動きベクトル差の後にシグナリングされる。2)マージCUの場合、重みインデックスは、マージ候補インデックスに基づいて隣接ブロックから推論される。BCWは、256以上のルマサンプル(即ち、CUの幅とCUの高さの積が256以上)を持つCUにのみ適用される。低遅延画像の場合、5つの重みすべてが使用される。非低遅延画像の場合、3つの重み(w∈{3,4,5})のみが使用される。
-エンコーダーでは、エンコーダーの複雑さを大幅に増やすことなく、高速検索アルゴリズムを適用して重みインデックスを見つける。これらのアルゴリズムの次のようにまとめられる。詳細については、読者は、VTMソフトウェア及びドキュメントJVET-L0646を参照し得る。AMVRと組み合わせると、現在の画像が低遅延画像の場合、不等重みは1ペル及び4ペルの動きベクトル精度に対してのみ条件付きでチェックされる。
-アフィンと組み合わせると、アフィンモードが現在のベストモードとして選択されている場合にのみ、不等重みに対してアフィンMEが実行される。
-双予測の2つの参照画像が同じ場合、不等重みは条件付きでのみチェックされる。
-現在の画像とその参照画像間のPOC距離、コーディングQP、及び時間的レベルに応じて、特定の条件が満たされると不等重みは検索されない。
BCW重みインデックスは、バイパスコード化ビンに後をつけられる1つのコンテキストコード化ビンを使用してコード化される。最初のコンテキストコード化ビンは、等重みが使用されているか否かを示す。不等重みが使用される場合は、バイパスコーディングを使用して追加のビンがシグナリングされてどの不等重みが使用されるかが示される。
重み付け予測(WP)は、H.264/AVC及びHEVC規格でサポートされているコーディングツールで、フェーディングのあるビデオコンテンツを効率的にコード化する。WPについてのサポートは、VVC規格にも追加された。WPは、参照画像リストL0及びL1のそれぞれで、参照画像ごとに重み付けパラメータ(重み及びオフセット)がシグナリングされるのを可能にする。次に、動き補正中に、対応する参照画像の重み及びオフセットが適用される。WP及びBCWは、異なるタイプのビデオコンテンツ用に設計されている。VVCデコーダ設計を複雑にするWPとBCWの相互作用を回避するために、CUがWPを使用する場合、BCW重みインデックスはシグナリングされず、wは4(即ち、等重みが適用される)と推論される。マージCUの場合、重みインデックスは、マージ候補インデックスに基づいて隣接するブロックから推論される。これは、通常のマージモードと継承されたアフィンマージモードの両方に適用され得る。構築されたアフィンマージモードの場合、最大3つのブロックの動き情報に基づいてアフィン動き情報が構築される。構築されたアフィンマージモードを使用するCUのBCWインデックスは、単に第1の制御点MVのBCWインデックスと同じに設定される。
VVCでは、CIIPとBCWを共同でCUに適用されることはできない。CUがCIIPモードでコード化されると、現在のCUのBCWインデックスは2(即ち、等しい重み)に設定される。

2.13.局所照明補償(LIC)
局所照明補償(LIC)は、現在の画像とその時間的参照画像間の局所照明変化の問題に対処するコーディングツールである。LICは、スケーリング因子とオフセットを参照サンプルに適用して現在のブロックの予測サンプルを取得する線形モデルに基づいている。具体的には、LICは次の式で数学的にモデル化され得る。
【数19】
ここで、P(x,y)は座標(x,y)における現在のブロックの予測信号であり、Pr(x+vx,y+vy)は動きベクトル(vx,vy)が指す参照ブロックであり、α及びβは参照ブロックに適用される対応するスケーリング因子及びオフセットである。図19は、LICプロセスを示している。図19では、LICがブロックに適用される場合、最小平均二乗誤差(LMSE)法が採用されて、現在のブロックの隣接サンプル(図19のテンプレートT)と時間的参照画像(図19のT0又はT1)内の対応する参照サンプルとの差を最小化することでLICパラメータの値(即ち、α及びβ)を導出する。追加的に、計算複雑さを軽減するために、テンプレートサンプルと参照テンプレートサンプルの両方がサブサンプリング(適応サブサンプリング)されてLICパラメータを導出し、即ち、図19の影付きサンプルのみがα及びβの導出に使用される。
コーディングパフォーマンスを向上させるために、図20に示すように、短辺についてのサブサンプリングは実行されない。

2.14.デコーダ側動きベクトル精緻化(DMVR)
マージモードのMVの正確さを高めるために、VVCではバイラテラルマッチング(BM)ベースのデコーダ側動きベクトル精緻化が適用される。双予測操作では、参照画像リストL0及び参照画像リストL1の初期MVの周囲で精緻化されたMVが検索される。BM方法では、参照画像リストL0とリストL1内の2つの候補ブロック間の歪みを計算する。図21は、デコーディング側動きベクトル精緻化を示す概略図である。図21に示すように、初期MVの周囲の各MV候補に基づくブロック2110と2112間のSADが計算され、ここで、ブロック2110はリストL0内の参照画像2101にあり、ブロック2112は現在の画像2102についてのリストL1の参照画像2103にある。最も低いSADを持つMV候補が精緻化されたMVになり、双予測信号を生成するために使用される。
VVCでは、DMVRの適用は制限されており、次のモード及び機能でコード化されたCUにのみ適用される。
-双予測MVによるCUレベルマージモード。
-現在の画像に対して、1つの参照画像は過去にあり、もう1つの参照画像は未来にある。
-2つの参照画像から現在の画像までの距離(即ち、POC差)は同じである。
-両方の参照画像は短期参照画像である。
-CUは64個を超えるルマサンプルを有する。
-CUの高さとCUの幅は両方とも8ルマサンプル以上である。
-BCW重みインデックスは等しい重みを示す。
-現在のブロックでは、WPが有効になっていない。
-現在のブロックでは、CIIPモードは使用されていない。
DMVRプロセスによって導出された精緻化MVは、インター予測サンプルを生成するために使用され、将来の画像コーディングのための時間的動きベクトル予測にも使用される。一方、元のMVはデブロッキングプロセスに使用され、将来のCUコーディングのための空間的動きベクトル予測にも使用される。
DMVRの追加機能については、次の副条項で言及されている。

2.14.1.検索スキーム
DVMRでは、検索ポイントは初期MVを囲み、MVオフセットはMV差分ミラーリング規則に従う。言い換えると、候補MVペア(MV0、MV1)で示されるDMVRによってチェックされるポイントは、次の2つの式に従う。
【数20】
ここで、MV_offsetは、参照画像の1つにおける初期MVと精緻化されたMV間の精緻化オフセットを表す。精緻化検索範囲は、初期MVから2つの整数ルマサンプルである。検索には、整数サンプルオフセット検索ステージと、分数サンプル精緻化ステージとが含まれる。
整数サンプルオフセット検索には、25ポイントフル検索が適用される。最初に、初期MVペアのSADが計算される。初期MVペアのSADが閾値よりも小さい場合、DMVRの整数サンプルステージは終了する。そうでなければ、残りの24ポイントのSADが計算され、ラスタースキャン順にチェックされる。SADが最小のポイントが、整数サンプルオフセット検索ステージの出力として選択される。DMVR精緻化の不確実性のペナルティを軽減するために、DMVRプロセス中に元のMVを優先することが提案される。初期MV候補によって参照される参照ブロック間のSADは、SAD値の1/4だけ減少する。
整数サンプル検索は分数サンプル精緻化に後をつけられる。計算複雑さを軽減するために、分数サンプル精緻化が、SAD比較による追加検索の代わりに、パラメトリック誤差面方程式を使用して導出される。分数サンプル精緻化は、整数サンプル検索段階の出力に基づいて条件付きで呼び出される。整数サンプル検索段階が、最初の反復又は2番目の反復検索のいずれかで中心のSADが最小になって終了すると、分数サンプル精緻化がさらに適用される。
パラメトリック誤差面ベースのサブピクセルオフセット推定では、中心位置コストと中心から4つの隣接位置のコストを使用して、次の形式の2次元放物線誤差面方程式を適合させる。
【数21】
ここで、(xmin,ymin)はコストが最も小さい分数位置に対応し、Cは最小コスト値に対応する。5つの検索ポイントのコスト値を使用して上記の式を解くと、(xmin,ymin)は次のように計算される。
【数22】
すべてのコスト値が正で、最小値がE(0,0)であるため、xmin及びyminの値は自動的に-8から8の間に制限される。これは、VVCで1/16thペルMV精度を持つハーフピールオフセットに対応する。計算された分数(xmin,ymin)を整数距離精緻化MVに加えて、サブピクセル精度精緻化デルタMVを取得する。

2.14.2.バイリニア補間及びサンプルパディング
VVCでは、MVの解像度は1/16ルマサンプルである。分数位置のサンプルは、8タップ補間フィルタを使用して補間される。DMVRでは、検索ポイントが整数サンプルオフセットを持つ初期の分数ペルMVを囲んでいるため、それらの分数位置のサンプルはDMVR検索プロセス用に補間される必要がある。計算複雑さを軽減するために、バイリニア補間フィルタが、DMVRにおける検索プロセス用の分数サンプルを生成するために使用される。もう1つの重要な効果は、バイリニアフィルタを使用することで、2サンプルの検索範囲で、DVMRが、通常の動き補償プロセスと比較してより多くの参照サンプルにアクセスしないことである。DMVR検索プロセスで精緻化MVが達成された後、通常の8タップ補間フィルタを適用して最終予測を生成する。通常のMCプロセスにこれ以上の参照サンプルをアクセスさせないために、元のMVに基づく補間プロセスには必要ないが、精緻化されたMVに基づく補間プロセスには必要なサンプルは、利用可能なサンプルからパディングされる。

2.14.3.最大DMVR処理ユニット
CUの幅及び/又は高さが16ルマサンプルよりも大きい場合、幅及び/又は高さが16ルマサンプルに等しいサブブロックにさらに分割される。DMVR検索プロセスについての最大ユニットサイズは16×16に制限される。
2.15.マルチパスデコーダ側動きベクトル精緻化
この文献では、DMVRの代わりに、マルチパスデコーダ側動きベクトル精緻化が適用される。第1のパスでは、コーディングブロックにバイラテラルマッチング(BM)が適用される。第2のパスでは、コーディングブロック内の各16×16サブブロックにBMが適用される。第3のパスでは、双方向オプティカルフロー(BDOF)を適用して、各8×8サブブロック内のMVが精緻化される。精緻化されたMVは、空間的及び時間的動きベクトル予測の両方のために記憶される。

2.15.1.第1のパス-ブロックベースのバイラテラルマッチングMV精緻化
第1のパスでは、コーディングブロックにBMを適用して精緻化されたMVが導出される。デコーダ側動きベクトル精緻化(DMVR)と同様に、精緻化されたMVは、参照画像リストL0及びL1の2つの初期MV(MV0及びMV1)の周囲で検索される。精緻化されたMV(MV0_pass1 and MV1_pass1は、L0及びL1内の2つの参照ブロック間の最小バイラテラルマッチングコストに基づいて、開始MVの周囲で導出される。
BMはローカル検索を実行して、整数サンプル精度intDeltaMVと半ペルサンプル精度halfDeltaMvを導出する。ローカル検索では、3×3の正方形検索パターンを適用して、水平方向に検索範囲[-sHor,sHor]、垂直方向に[-sVer,sVer]をループし、ここで、sHorとsVerの値はブロック次元によって決まり、sHorとsVerの最大値は8である。
バイラテラルマッチングは、bilCost=mv距離Cost+sadCostとして計算される。ブロックサイズcbW*cbHが64より大きい場合、MRSADコスト関数を適用して参照ブロック間の歪みのDC効果を除去する。3×3検索パターンの中心点におけるbilCostが最小コストを有する場合、intDeltaMV又はhalfDeltaMVローカル検索が終了する。そうでなければ、現在の最小コスト検索ポイントが3×3検索パターンの新しい中心点になり、検索範囲の終わりに達するまで最小コストの検索が続行される。
既存の分数サンプル精緻化をさらに適用して、最終的なdeltaMVを導出する。第1のパス後の精緻化されたMVは、次のように導出される。
【数23】
2.15.2.第2のパス-サブブロックベースのバイラテラルマッチングMV精緻化
第2のパスでは、16×16グリッドサブブロックにBMを適用して、精緻化されたMVが導出される。サブブロックごとに、参照画像リストL0及びL1についての第1のパスで取得された2つのMV(MV0_pass1及びMV1_pass1)の周囲で精緻化されたMVが検索される。精緻化されたMV(MV0_pass2(sbIdx2)とMV1_pass2(sbIdx2))は、L0とL1の2つの参照サブブロック間のバイラテラルマッチングコストに基づいて導出される。
各サブブロックについて、BMはフル検索を実行して整数サンプル精度intDeltaMVを導出する。フル検索の検索範囲は水平方向に[-sHor,sHor]、垂直方向に[-sVer,sVer]である。ここで、sHorとsVerの値はブロック次元によって決まり、sHorとsVerの最大値は8である。
バイラテラルマッチングコストは、2つの参照サブブロック間のSATDコストにコスト係数を適用することによって、bilCost=satdCost*costFactorとして計算される。検索領域(2*sHor+1)*(2*sVer+1)は、図22のダイアグラム2200に示すように、最大5つのダイヤモンド形状の検索領域に分割される。各検索領域にcostFactorが割り当てられるが、これは、各検索ポイントと開始MV間の距離(intDeltaMV)によって決定され、各ダイヤモンド領域は検索領域の中心から順に処理される。各領域では、検索ポイントは、領域の左上から右下隅に向かうラスタースキャン順に処理される。現在の検索領域内の最小bilCostがsbW*sbHに等しい閾値よりも小さい場合、intペルフル検索は終了し、そうでなければ、intペルフル検索(int-pel full search)は、すべての検索ポイントが検査されるまで次の検索領域に続行される。
BMはローカル検索を実行して、半分のサンプル精度のhalfDeltaMvを導出する。検索パターンとコスト関数は、2.9.1で定義されているものと同じである。
既存のVVC DMVR分数サンプル精緻化がさらに適用されて、最終的なdeltaMV(sbIdx2)が導出される。第2のパスで精緻化されたMVは、次のように導出される。
【数24】
2.15.3.第3のパス-サブブロックベースの双方向オプティカルフローMV精緻化
第3のパスでは、8×8グリッドサブブロックにBDOFを適用して、精緻化されたMVが導出される。8×8サブブロックごとに、BDOF精緻化が適用されて、第2のパスの親サブブロックの精緻化されたMVからクリッピングなしでスケールされたVxとVyが導出される。導出されたbioMv(Vx,Vy)は、1/16サンプル精度に丸められ、-32から32の間でクリッピングされる。
第3のパスでの精緻化されたMV(MV0_pass3(sbIdx3) and MV1_pass3(sbIdx3))は、次のように導出される。
【数25】
2.16.サンプルベースのBDOF
サンプルベースのBDOFでは、ブロックベースで動き精緻化(Vx,Vy)を導出するのではなく、サンプルごとに実行する。
前記コーディングブロックは8×8サブブロックに分割される。各サブブロックについて、2つの参照サブブロック間のSADを閾値と照合することで、BDOFを適用するか否かが決定される。サブブロックにBDOFを適用すると決定された場合、サブブロック内のすべてのサンプルに対して、5×5スライディングウィンドウを使用し、すべてのスライディングウィンドウに既存のBDOFプロセスを適用してVxとVyを導出する。導出された動き精緻化(Vx,Vy)は、ウィンドウの中心サンプルの双予測サンプル値を調整するために適用される。

2.17.拡張マージ予測
VVCでは、マージ候補リストは、次の5種類の候補を順番に含めることによって構築される。
(1)空間的隣接CUからの空間的MVP。
(2)コロケートされたCUからの時間的MVP。
(3)FIFOテーブルからの履歴ベースのMVP。
(4)ペアワイズ平均MVP。
(5)ゼロMV。
マージリストのサイズは、シーケンスパラメータセットヘッダーでシグナリングされ、マージリストの最大許容サイズは6である。マージモードにおける各CUコードの場合、切り捨て単項バイナリ化(TU)を使用して、最適なマージ候補のインデックスがエンコードされる。マージインデックスの最初のビンはコンテキストでコード化され、他のビンにはバイパスコーディングが使用される。
このセッションでは、マージ候補の各カテゴリの導出プロセスについて説明する。HEVCと同様に、VVCは、特定のサイズの領域内のすべてのCUのマージ候補リストの並列導出もサポートする。

2.17.1.空間的候補の導出
VVCにおける空間的マージ候補の導出は、最初の2つのマージ候補の位置が入れ替わっている点を除いて、HEVCの場合と同じである。図23は、空間的マージ候補の位置を示す概略図2300である。図23に示されている位置にある候補の中から、最大4つのマージ候補が選択される。導出の順序は、B0、A0、B1、A1、B2である。位置B2は、位置B0、A0、B1、A1の1つ以上のCUが利用できない(例:別のスライス又はタイルに属しているため)場合、又はイントラコード化されている場合にのみ考慮さる。位置A1の候補が追加された後、残りの候補の追加は、同じ動き情報を持つ候補がリストから除外され、コーディング効率が向上することを保証する冗長性チェックの対象となる。計算複雑さを軽減するために、言及された冗長性チェックではすべての候補ペアが考慮されるわけではない。図24は、空間的マージ候補の冗長性チェックで考慮される候補ペアを示す概略図2400である。代わりに、図24の矢印でリンクされたペアのみが考慮され、冗長性チェックに使用される対応する候補が同じ動き情報を持たない場合にのみ候補がリストに追加される。

2.17.2.時間的候補の導出
このステップでは、候補が1つだけリストに追加される。特に、この時間的マージ候補の導出では、コロケートされた参照画像に属する共存CUに基づいて、スケーリングされた動きベクトルが導出される。共存CUの導出に使用される参照画像リストは、スライスヘッダーで明示的にシグナリングされる。時間的マージ候補についてのスケーリングされた動きベクトルは、図25のダイアグラム2500の点線で示されているように取得され、これは、POC距離tb及びtdを使用して共存CUの動きベクトルからスケーリングされるが、ここで、tbは、現在の画像の参照画像と現在の画像との間のPOC差として定義され、tdは、共存画像の参照画像と共存画像との間のPOC差として定義される。時間的マージ候補の参照画像インデックスは、ゼロに等しく設定される。
図26は、時間的マージ候補の候補位置C0及びC1を示す概略図2600である。時間的候補の位置は、図26に示すように、候補C0とC1の間で選択される。位置C0のCUが利用不可である場合、イントラコード化されているか、又は現在行のCTU外側にあり、位置C1が使用される。そうでなければ、位置C0が時間的マージ候補の導出に使用される。

2.17.3.履歴ベースのマージ候補の導出
履歴ベースのMVP(HMVP)マージ候補は、空間的MVP及びTMVPの後にマージリストに追加される。この方法では、以前にコード化されたブロックの動き情報がテーブルに保存され、現在のCUのMVPとして使用される。複数のHMVP候補を含むテーブルは、エンコーディング/デコーディングプロセス中に維持される。新しいCTU行が検出されると、テーブルはリセット(空に)される。非サブブロックインターコード化CUがある場合はいつでも、関連する動き情報が新しいHMVP候補としてテーブルの最後のエントリに追加される。
HMVPテーブルのサイズSは6に設定されるが、これは最大6つの履歴ベースのMVP(HMVP)候補がテーブルに追加され得るということを示す。テーブルに新しい動き候補を挿入する場合、制約付き先入れ先出し(FIFO)ルールが利用され、最初に冗長性チェックが適用されて、テーブル内に同一のHMVPがあるか否かを見つける。見つかった場合、同一のHMVPはテーブルから削除され、それ以降のすべてのHMVP候補は前に移動され、同一のHMVPはテーブルの最後のエントリに挿入される。
HMVP候補は、マージ候補リスト構築プロセスで使用され得る。テーブル内の最新のいくつかのHMVP候補が順番にチェックされ、TMVP候補の後の候補リストに挿入される。空間的又は時間的マージ候補に対するHMVP候補に冗長性チェックが適用される。
冗長性チェック操作の数を減らすために、次の簡略化が導入される:
マージリスト生成に使用されるHMPV候補の数は(N<=4)?M:(8-N)として設定され、ここで、Nはマージリスト内の既存の候補の数を示し、Mはテーブル内の利用可能なHMVP候補の数を示す。
利用可能なマージ候補の総数が、最大許容マージ候補数から1を引いた数に達すると、HMVPからのマージ候補リスト構築プロセスは終了する。

2.17.4.ペアワイズ平均マージ候補の導出
ペアワイズ平均候補は、既存のマージ候補リスト内の事前定義された候補ペアを平均化することで生成され、事前定義されたペアは、{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}と定義され、ここで、数字はマージ候補リストへのマージインデックスを示す。平均化された動きベクトルは、参照リストごとに個別に計算される。1つのリストで両方の動きベクトルが使用可能な場合、これら2つの動きベクトルは、異なる参照画像を指している場合でも平均化される。利用可能な動きベクトルが1つしかない場合は、その1つを直接使用する。利用可能な動きベクトルがない場合は、このリストを無効のままにする。
ペアワイズ平均マージ候補を追加した後、マージリストがいっぱいでない場合は、最大マージ候補数に達するまで、ゼロMVPが最後に挿入される。

2.17.5.マージ推定領域
マージ推定領域(MER)は、同じマージ推定領域(MER)内のCUのマージ候補リストの独立した導出を可能にする。現在のCUと同じMER内にある候補ブロックは、現在のCUのマージ候補リストの生成には含まれない。その上、履歴ベースの動きベクトル予測子候補リストの更新プロセスは、(xCb+cbWidth)>>Log2ParMrgLevelがxCb>>Log2ParMrgLevelより大きく、(yCb+cbHeight)>>Log2ParMrgLevelが(yCb>>Log2ParMrgLevel)より大きい場合にのみ更新され、ここで、(xCb,yCb)は、画像内の現在のCUの左上のルマサンプル位置であり、(cbWidth,cbHeight)は、CUサイズである。MERサイズは、エンコーダ側で選択され、シーケンスパラメータセットでlog2_parallel_merge_level_minus2としてシグナリングされる。

2.18.新しいマージ候補
2.18.1.非隣接マージ候補の導出
図27は、現在のブロックのVVC空間的隣接ブロックの概略図2700を示している。VVCでは、図27に示す5つの空間的隣接ブロックと1つの時間的近傍を使用して、マージ候補を導出する。
VVCと同じパターンを使用して、現在のブロックに隣接していない位置から追加のマージ候補を導出することが提案されている。これを実現するために、検索ラウンドiごとに、現在のブロックに基づいて次のように仮想ブロックが生成される。
先ず、現在のブロックに対する仮想ブロックの相対位置が次のように計算される:
Offsetx=-i×gridX,Offsety=-i×gridY
ここで、OffsetxとOffsetyは、現在のブロックの左上隅に対する仮想ブロックの左上隅のオフセットを示し、gridXとgridYは、検索グリッドの幅と高さである。
次に、仮想ブロックの幅と高さが次のように計算される:
newWidth=i×2×gridX+currWidth newHeight=i×2×gridY+currHeight。
ここで、currWidthとcurrHeightは、現在のブロックの幅と高さである。newWidthとnewHeightは、新しい仮想ブロックの幅と高さである。
gridXとgridYは現在、それぞれcurrWidthとcurrHeightに設定されている。
図28は、i番目の検索ラウンドにおける仮想ブロックの概略図を示し、仮想ブロックと現在のブロックの関係を示している。
仮想ブロックを生成した後、ブロックAi、Bi、Ci、Di、Eiは、仮想ブロックのVVC空間的隣接ブロックとみなされ得、それらの位置はVVCと同じパターンで取得される。明らかに、検索ラウンドiが0の場合、仮想ブロックは現在のブロックである。この場合、ブロックAi、Bi、Ci、Di、Eiは、VVCマージモードで使用される空間的に隣接するブロックである。
マージ候補リストを構築する際、マージ候補リスト内の各要素が一意であることを保証するためにプルーニングが実行される。最大検索ラウンドは1に設定され、これは5つの非隣接空間的隣接ブロックが利用されることを意味する。
非隣接空間的マージ候補は、B1->A1->C1->D1->E1の順序で、時間的マージ候補の後にマージリストに挿入される。

2.18.2.STMVP
3つの空間的マージ候補と1つの時間的マージ候補を使用して、平均化候補をSTMVP候補として導出することが提案される。
STMVPは、左上の空間的マージ候補の前に挿入される。
STMVP候補は、マージリスト内の以前のすべてのマージ候補とともにプルーニングされる。
空間的候補については、現在のマージ候補リスト内の最初の3つの候補が使用される。
時間的候補については、VTM/HEVCのコロケート位置と同じ位置が使用される。
空間的候補については、STMVPの前に現在のマージ候補リストに挿入された1番目、2番目、3番目の候補の場合は、F、S、Tと表記される。
TMVPで使用されるVTM/HEVCのコロケート位置と同じ位置にある時間的候補は、Colとして示される。
予測方向XにおけるSTMVP候補の動きベクトル(mvLXと表記)は次のように導出される:
1)4つのマージ候補の参照インデックスがすべて有効で、予測方向X(X=0又は1)ですべてゼロに等しい場合、
【数26】
2)4つのマージ候補のうち3つの参照インデックスが有効で、予測方向X(X=0又は1)でゼロに等しい場合、
【数27】
3)4つのマージ候補のうち2つの参照インデックスが有効で、予測方向X(X=0又は1)でゼロに等しい場合、
【数28】
注:時間的候補が利用不可である場合、STMVPモードはオフになる。

2.18.3.マージリストサイズ
非隣接及びSTMVPマージ候補の両方を考慮する場合、マージリストのサイズはシーケンスパラメータセットヘッダーでシグナリングされ、マージリストの最大許容サイズは8である。

2.19.幾何学的分割モード(GPM)
VVCでは、インター予測に幾何学的分割モードがサポートされている。幾何学的分割モードは、CUレベルフラグを使用してマージモードの一種としてシグナリングされ、他のマージモードには、通常のマージモード、MMVDモード、CIIPモード、サブブロックマージモードが含まれる。8x64と64x8を除く、可能なCUサイズw×h=2m×2n with m,n∈{3・・・6}ごとに、幾何学的分割モードで合計64のパーティションがサポートされる。
このモードを使用すると、CUは、図29に示すように、幾何学的に配置された直線によって2つの部分に分割される。分割線の位置は、特定のパーティションの角度及びオフセットパラメータから数学的に導出される。CU内の幾何学的パーティションの各部分は、独自の動きを使用してインター予測される。各パーティションには単予測のみが許可され、即ち、各部分は、1つの動きベクトルと1つの参照インデックスとを有する。単予測動き制約は、従来の双予測と同じように、各CUに必要な動き補償予測が2つだけであることを保証するために適用される。各パーティションについての単予測動きは、2.19.1で説明したプロセスを使用して導出される。
現在のCUに幾何学的分割モードが使用される場合、幾何学的分割の分割モード(角度とオフセット)を示す幾何学的分割インデックス、及び2つのマージインデックス(各パーティションに1つ)がさらにシグナリングされる。最大GPM候補サイズの数がSPSで明示的にシグナリングされ、GPMマージインデックスの構文2値化を指定する。幾何学的分割の各部分を予測した後、2.19.2のように、適応重みによるブレンディング処理を使用して、幾何学的分割エッジに沿ったサンプル値が調整される。これがCU全体の予測信号であり、他の予測モードと同様に、変換及び量子化プロセスがCU全体に適用される。最後に、幾何学的分割モードを使用して予測されたCUの動きフィールドが、2.19.3のように保存される。

2.19.1.単予測候補リストの構築
単予測候補リストは、2.17の拡張マージ予測プロセスに従って構築されたマージ候補リストから直接導出される。nを、幾何学的単予測候補リスト内の単予測動きのインデックスとして示す。n番目の拡張マージ候補のLX動きベクトル(Xがnのパリティに等しい)は、幾何学的分割モードについてのn番目の単予測動きベクトルとして使用される。図30は、幾何学的分割モードについての単予測MV選択を示している。これらの動きベクトルは、図30で「x」でマークされている。n番目の拡張マージ候補の対応するLX動きベクトルが存在しない場合は、同じ候補のL(1-X)動きベクトルが、幾何学的分割モードについての単予測動きベクトルとして代わりに使用される。

2.19.2.幾何学的分割エッジに沿ったブレンディング
幾何学的パーティションの各部分をその動きを使って予測した後、2つの予測信号にブレンディングを適用して幾何学的パーティションエッジの周囲のサンプルを導出する。CUの各位置のブレンディング重みは、個々の位置とパーティションエッジの間の距離に基づいて導出される。
位置(x,y)からパーティションエッジまでの距離は、次のように導出される。
【数29】
ここで、i,jは、幾何学的パーティションの角度とオフセットのインデックスであり、シグナリングされた幾何学的パーティションインデックスに依存する。ρx,jとρy,jの符号は、角度インデックスiに依存する。
幾何学的パーティションの各部分の重みは、次のように導出される。
【数30】
partIdxは角度インデックスiに依存する。図31は、幾何学的分割モードを使用した曲げ重みw0の生成例を示している。重みw0の一例を図31に示す。

2.19.3.幾何学的分割モードについての動きフィールドの保存
幾何学的パーティションの第1の部分からのMv1、幾何学的パーティションの第2の部分からのMv2、及びMv1とMv2を組み合わせたMvが、幾何学的分割モードコード化されたCUの動きフィールドに保存される。
動きフィールド内の個々の位置ごとに保存される動きベクトルタイプは、次のように決定される。
【数31】
ここで、motionIdxはd(4x+2,4y+2)に等しく、これは、式(2-18)から再計算される。partIdxは角度インデックスiに依存する。
sTypeが0又は1に等しい場合、対応する動きフィールドにMv0又はMv1が保存され、そうでなければ、sTypeが2に等しい場合、Mv0とMv2を組み合わせたMvが保存される。組み合わせたMvは、次のプロセスを使用して生成される。
1)Mv1とMv2が異なる参照画像リストから(1つはL0から、もう1つはL1から)のものである場合、Mv1とMv2は単純に組み合わされて双予測動きベクトルを形成する。
そうでなければ、Mv1とMv2が同じリストからのものである場合、単予測動きMv2のみが保存される。

2.20.多重仮説予測
多重仮説予測(MHP)では、インターAMVPモード、通常マージモード、アフィンマージ及びMMVDモードに加えて、最大2つの追加予測子がシグナリングされる。結果として得られる全体的な予測信号は、各追加予測信号とともに反復的に蓄積される。
【数32】
重み付け係数αは、次の表2-4に従って指定される。
【表4】
インターAMVPモードの場合、MHPは、双予測モードでBCWの非等重みが選択された場合にのみ適用される。
追加の仮説は、マージモード又はAMVPモードのいずれかであり得る。マージモードの場合、動き情報はマージインデックスによって示され、マージ候補リストはジオメトリックパーティションモード(Geometric Partition Mode)の場合と同じである。AMVPモードの場合、参照インデックス、MVPインデックス、及びMVDがシグナリングされる。

2.21.非隣接空間的候補
非隣接空間的マージ候補は、通常のマージ候補リスト内のTMVPの後に挿入される。図32は、空間的マージ候補を導出するために使用される空間的隣接ブロックを示している。空間的マージ候補のパターンを図32に示す。非隣接空間候補と現在のコーディングブロック間の距離は、現在のコーディングブロックの幅と高さに基づいている。

2.22.テンプレートマッチング(TM)
テンプレートマッチング(TM)は、現在の画像内のテンプレート(即ち、現在のCUの上部及び/又は左の隣接ブロック)と参照画像内のブロック(即ち、テンプレートと同じサイズ)の間で最も近いマッチングを見つけることによって、現在のCUの動き情報を精緻化するデコーダ側MV導出方法である。図33は、テンプレートマッチングが初期MVの周囲の検索領域で実行されることを示している。図33に示すように、より良好なMVは、[-8,+8]ペル検索範囲内で現在のCUの初期動きの周囲で検索される。以前JVET-J0021で提案されたテンプレートマッチングは、この文献で2つの変更を加えて採用されている。検索ステップサイズは、AMVRモードに基づいて決定され、TMはマージモードでバイラテラルマッチングプロセスとカスケードされ得る。
AMVPモードでは、テンプレートマッチングエラーに基づいてMVP候補が決定されて、現在のブロックテンプレートと参照ブロックテンプレートの差が最小になるものを選び出し、次にTMは、MV精緻化についてのこの特定のMVP候補に対してのみ実行する。TMは、反復ダイヤモンド検索を使用して、[-8,+8]ペル検索範囲内でフルペルMVD精度(又は4ペルAMVRモードの場合、4ペル)から始めて、このMVP候補を精緻化する。AMVP候補は、フルペルMVD精度(又は4ペルAMVRモードの場合、4ペル)のクロス検索を使用してさらに精緻化され得、表2-5で指定されているように、AMVRモードに応じてハーフペル及び1/4ペル精度のものに順番に後をつけられる。この検索プロセスにより、MVP候補がTMプロセス後もAMVRモードによって示されるのと同じMV精度を維持するのを確保する。
【表5】
マージモードでは、マージインデックスで示されるマージ候補に同様の検索方法が適用される。表2-5に示すように、TMは、マージされた動き情報に応じて代替補間フィルタ(AMVRがハーフペルモードの場合に使用される)が使用されるか否かに応じて、1/8ペルMVD精度まで実行するか、又はハーフペルMVD精度を超えるものをスキップし得る。そのうえ、TMモードが有効な場合、テンプレートマッチングは、有効化条件チェックに従ってBMを有効にできるか否かに応じて、ブロックベースとサブブロックベースのバイラテラルマッチング(BM)方法間の独立したプロセス又は追加のMV精緻化プロセスとして機能し得る。

2.23.オーバーラップブロック動き補償(OBMC)
オーバーラップブロック動き補償(OBMC)は、以前H.263で使用されていた。JEMでは、H.263とは異なり、CUレベルで構文を使用してOBMCのオン/オフを切り替えることができる。JEMでOBMCが使用される場合、OBMCはCUの右境界と下境界を除くすべての動き補償(MC)ブロック境界に対して実行される。さらに、OBMCはルマコンポーネントとクロマコンポーネントの両方に適用される。JEMでは、MCブロックはコーディングブロックに対応する。CUがサブCUモード(サブCUマージ、アフィン及びFRUCモードを含む)でコード化される場合、CUの各サブブロックはMCブロックである。図34は、OBMCが適用されるサブブロックの図解である。CU境界を均一に処理するために、すべてのMCブロック境界に対してサブブロックレベルでOBMCが実行され、図34に示すように、サブブロックサイズは4×4に設定される。
OBMCが現在のサブブロックに適用される場合、現在の動きベクトルに加えて、4つの接続された隣接サブブロックの動きベクトルも、利用可能でありかつ現在の動きベクトルと同一でない場合は、現在のサブブロックについての予測ブロックを導出するために使用される。複数の動きベクトルに基づくこれらの複数の予測ブロックが組み合わされて、現在のサブブロックの最終的な予測信号を生成する。
隣接サブブロックの動きベクトルに基づく予測ブロックはPNと表記され、Nは隣接する上、下、左、右のサブブロックのインデックスを示し、現在のサブブロックの動きベクトルに基づく予測ブロックはPCと表記される。PNが現在のサブブロックと同じ動き情報を含む隣接サブブロックの動き情報に基づいている場合、PNからOBMCは実行されない。そうでなければ、PNのすべてのサンプルがPCにおける同じサンプルに追加され、即ち、PNの4つの行/列がPCに追加される。重み付け係数{1/4,1/8,1/16,1/32}がPNに使用され、重み付け係数{3/4,7/8,15/16,31/32}がPCに使用される。例外は小さなMCブロック(即ち、コーディングブロックの高さ又は幅が4に等しいか、又はCUがサブCUモードでコード化されている場合)で、この場合はPNの2行/列のみがPCに追加される。この場合、重み付け係数{1/4,1/8}がPNに使用され、重み付け係数{3/4,7/8}がPCに使用される。垂直(水平)に隣接するサブブロックの動きベクトルに基づいて生成されたPNの場合、PNの同じ行(列)のサンプルが同じ重み付け係数でPCに追加される。
JEMでは、サイズが256ルマサンプル以下のCUの場合、現在のCUにOBMCが適用されているか否かを示すCUレベルフラグがシグナリングされる。サイズが256ルマサンプルより大きいCU又はAMVPモードでコード化されていないCUの場合、OBMCはデフォルトで適用される。エンコーダでは、CUにOBMCが適用されると、動き推定段階でその影響が考慮される。上隣接ブロックと左隣接ブロックの動き情報を使用してOBMCによって形成された予測信号が、現在のCUの元の信号の上境界と左境界を補償するために使用され、その後、通常の動き推定プロセスが適用される。

2.24.コア変換についての複数変換選択(MTS)
HEVCで採用されているDCT-IIに加えて、インター及びイントラコード化ブロックの両方の残差コーディングには、Multiple Transform Selection(MTS)スキームが使用される。このスキームでは、DCT8/DST7からの複数の選択された変換が使用される。新しく導入された変換マトリックスは、DST-VIIとDCT-VIIIである。表2-6は、選択されたDST/DCTの基底関数を示している。
【表6】
変換行列の直交性を保つために、変換行列はHEVCにおける変換行列よりも正確に量子化される。変換された係数の中間値を16ビットの範囲内に収めるために、水平及び垂直変換後に、すべての係数は10ビットになる。
MTSスキームを制御するために、SPSレベルでそれぞれイントラとインターについての有効化フラグが指定される。SPSでMTSが有効になっている場合、MTSが適用されているか否かを示すCUレベルのフラグがシグナリングされる。ここでは、MTSはルマにのみ適用される。以下の条件のいずれかが適用されると、MTSシグナリングはスキップされる。
-ルマTBについての最後の有意係数の位置が1未満である(即ち、DCのみ)。
-ルマTBについての最後の有意係数がMTSゼロアウト領域内に位置する。
MTS CUフラグが0に等しい場合、両方向にDCT2が適用される。ただし、MTS CUフラグが1に等しい場合、他の2つのフラグが追加でそれぞれ水平方向及び垂直方向についての変換タイプを示すためにシグナリングされる。変換とシグナリングのマッピングテーブルを表2-7に示す。イントラモードとブロック形状の依存関係を削除することで、ISPと暗黙的なMTSの統合変換選択が使用される。現在のブロックがISPモードの場合、又は現在のブロックがイントラブロックで、イントラブロックとインターブロックの両方の明示的なMTSがオンの場合、水平方向と垂直方向の両方の変換コアにDST7のみが使用される。変換マトリックスの精度に関しては、8ビットのプライマリ変換コアが使用される。したがって、4ポイントDCT-2及びDST-7、8ポイント、16ポイント、及び32ポイントDCT-2を含む、HEVCで使用されるすべての変換コアは同じままである。また、64ポイントDCT-2、4ポイントDCT-8、8ポイント、16ポイント、32ポイントDST-7、DCT-8を含む他の変換コアも、8ビットのプライマリ変換コアを使用する。
【表7】
大きなサイズのDST-7及びDCT-8の複雑さを軽減するために、サイズ(幅又は高さ、或いは幅と高さの両方)が32に等しいDST-7及びDCT-8ブロックについての高周波変換係数はゼロに設定される。16×16の低周波領域内の係数のみが保持される。
HEVCと同様に、ブロックの残差は変換スキップモードでコード化され得る。構文コーディングの冗長性を回避するために、CUレベルのMTS_CU_flagがゼロに等しくない場合は、変換スキップフラグはシグナリングされない。現在のCUに対してLFNST又はMIPがアクティブになっている場合、暗黙的なMTS変換はDCT2に設定されることに注意されたい。また、インターコード化されたブロックに対してMTSが有効になっている場合でも、暗黙的なMTSを有効にすることができる。

2.25.サブブロック変換(SBT)
VTMでは、インター予測CUにサブブロック変換が導入されている。この変換モードでは、残差ブロックのサブ部分のみがCUに対してコード化される。cu_cbfが1に等しいインター予測CUの場合、cu_sbt_flagが、残差ブロック全体がコード化されるか、又は残差ブロックのサブ部分がコード化されるかを示すためにシグナリングされ得る。前者の場合、インターMTS情報がさらに解析されて、CUの変換タイプを決定する。後者の場合、残差ブロックの一部が推論適応変換でコード化され、残差ブロックの他の部分はゼロに設定される。
SBTがインターコード化CUに使用される場合、SBTタイプとSBT位置情報がビットストリームでシグナリングされる。図35に示すように、2つのSBTタイプ及び2つのSBT位置がある。SBT-V(又はSBT-H)の場合、TUの幅(又は高さ)はCUの幅(又は高さ)の半分又はCUの幅(又は高さ)の1/4に等しくなり得、その結果、2:2分割又は1:3/3:1分割になる。2:2分割はバイナリツリー(BT)分割に似ており、1:3/3:1分割は非対称バイナリツリー(ABT)分割に似ている。ABT分割では、小さな領域にのみ非ゼロ残差が含まれる。CUの1つの次元がルマサンプルで8である場合、その次元に沿った1:3/3:1分割は許可されない。CUには最大8つのSBTモードがある。
位置依存変換コア選択は、SBT-V及びSBT-H(クロマTBは常にDCT-2を使用)のルマ変換ブロックに適用される。SBT-HとSBT-Vの2つの位置は、異なるコア変換に関連付けられている。図35は、SBTの位置、タイプ、及び変換タイプを示している。より具体的には、各SBT位置についての水平及び垂直変換が図35に指定されている。例えば、SBT-V位置0についての水平及び垂直変換は、それぞれDCT-8及びDST-7である。残差TUの片側が32より大きい場合、両方の次元の変換はDCT-2に設定される。したがって、サブブロック変換は、残差ブロックのTUタイリング、cbf、並びに水平及び垂直コア変換タイプを共同で指定する。
SBTは、インターイントラ組み合わせモードでコード化されたCUには適用されない。

2.26.テンプレートマッチングベースの適応型マージ候補の並べ替え
コーディング効率を向上させるために、マージ候補リストが構築された後、各マージ候補の順序はテンプレートマッチングコストに応じて調整される。マージ候補は、昇順のテンプレートマッチングコストに従ってリストに配置される。これはサブグループの形式で操作される。
テンプレートマッチングコストは、現在のCUの隣接サンプルとその対応する参照サンプル間のSAD(絶対差の和)によって測定される。図36は、SADの計算に使用される隣接サンプルを示している。マージ候補に双予測動き情報が含まれている場合、対応する参照サンプルは、図36に示すように、参照list0の対応する参照サンプルと参照list1の対応する参照サンプルの平均である。図37は、サブCUレベル動き情報のSADの計算に使用される隣接サンプルを示している。マージ候補にサブCUレベル動き情報が含まれている場合、対応する参照サンプルは、図37に示すように、対応する参照サブブロックの隣接サンプルで構成される。
ソーティングプロセスは、図38に示すように、サブグループの形式で実行される。最初の3つのマージ候補は一緒にソートされる。次の3つのマージ候補は一緒にソートされる。図38に示すように、元のマージ候補リスト3810がソートされて、更新されたマージ候補リスト380が取得される。この例では、テンプレートサイズ(左のテンプレートの幅又は上のテンプレートの高さ)は1で、サブグループサイズは3である。

2.27.適応型マージ候補リスト
マージ候補の数が8であると仮定する。最初5つのマージ候補が第1のサブグループとして取られ、次の3つのマージ候補が第2のサブグループ(即ち、最後のサブグループ)として取られる。
図39は、エンコーダにおける並べ替えプロセス3900のフローチャートを示している。エンコーダーの場合、ブロック3902でマージ候補リストが構築された後、図39に示すように、いくつかのマージ候補がマージ候補のコストの昇順で適応的に並べ替えられる。
より具体的には、ブロック3904で、最後のサブグループを除くすべてのサブグループ内のマージ候補のテンプレートマッチングコストが計算され、次にブロック3906で、最後のサブグループを除くそれら自体のサブグループ内のマージ候補が並べ替えられ、最後にブロック3908で最終的なマージ候補リストが得られる。
デコーダの場合、マージ候補リストが構築された後、図40に示すように、いくつかのマージ候補がマージ候補のコストの昇順で適応的に並べ替えられるか、マージ候補はマージ候補のコストの昇順で適応的に並べ替えられない。図40は、デコーダにおける並べ替えプロセス4000のフローチャートを示している。図40では、選択された(シグナルされた)マージ候補が位置するサブグループは、選択されたサブグループと呼ばれる。
より具体的には、ブロック4002で、選択されたマージ候補が最後のサブグループにあるか否かが判断される。選択されたマージ候補が最後のサブグループにある場合、ブロック4004で、選択されたマージ候補が導出された後にマージ候補リスト構築プロセスが終了し、ブロック4006では、並べ替えは実行されず、マージ候補リストは変更されない。そうでなければ、実行プロセスは次のようになる。
ブロック4008では、選択されたサブグループ内のすべてのマージ候補が導出された後、マージ候補リスト構築プロセスが終了する。ブロック4010では、選択されたサブグループ内のマージ候補のテンプレートマッチングコストが計算される。ブロック4012では、選択されたサブグループ内のマージ候補が並べ替えられる。最後に、ブロック4014では、新しいマージ候補リストが得られる。
エンコーダとデコーダの両方において、テンプレートマッチングコストはTとRTの関数として導出され、ここで、Tはテンプレート内のサンプルのセットであり、RTはテンプレートについての参照サンプルのセットである。
マージ候補のテンプレートの参照サンプルを導出する際、マージ候補の動きベクトルは整数ピクセル精度に丸められる。
双方向予測についてのテンプレートの参照サンプル(RT)は、参照list0内のテンプレートの参照サンプル(RT0)と参照list1内のテンプレートの参照サンプル(RT1)の加重平均によって次のように導出される。
【数33】
ここで、参照list0の参照テンプレートの重み(8-w)と参照list1の参照テンプレートの重み(w)は、マージ候補のBCWインデックスによって決定される。BCWインデックスが{0,1,2,3,4}に等しい場合、wはそれぞれ{-2,3,4,5,10}に等しくなる。
マージ候補の局所照明補償(LIC)フラグがtrueの場合、テンプレートの参照サンプルはLICメソッドで導出される。
テンプレートマッチングコストは、TとRTの絶対差の和(SAD)に基づいて計算される。
テンプレートサイズは1である。即ち、左のテンプレートの幅及び/又は上のテンプレートの高さは1であるということである。
コーディングモードがMMVDの場合、ベースマージ候補を導出するマージ候補は並べ替えられない。
コーディングモードがGPMの場合、単予測候補リストを導出するマージ候補は並べ替えられない。

2.28.動きベクトル差分による幾何学的予測モード
動きベクトル差分(GMVD)による幾何学的予測モードでは、GPMにおける各幾何学的パーティションはGMVDを使用するか否かを決定できる。幾何学的領域にGMVDを選択した場合、領域のMVは、マージ候補のMVとMVDの和として計算される。他の処理はすべてGPMの場合と同じである。
GMVDでは、MVDは方向と距離のペアとしてシグナリングされる。候補距離は9つ(1/4ペル、1/2ペル、1ペル、2ペル、3ペル、4ペル、6ペル、8ペル、16ペル)、候補方向は8つ(水平/垂直方向4つ、対角方向4つ)ある。その上、pic_fpel_mmvd_enabled_flagが1の場合、GMVDにおけるのMVDもMMVDと同様に2左にシフトされる。

2.29.アフィインMMVD
アフィンMMVDでは、アフィンマージ候補(ベースアフィンマージ候補と呼ばれる)が選択され、制御点のMVはシグナリングされたMVD情報によってさらに精緻化される。
すべての制御点のMVのMVD情報は、1つの予測方向で同じである。
開始MVが双予測MVであり、2つのMVが現在の画像の異なる側を指している場合(即ち、1つの参照のPOCが現在の画像のPOCよりも大きく、もう1つの参照のPOCが現在の画像のPOCよりも小さい場合)、開始MVのlist0 MVコンポーネントに追加されるMVオフセットと、list1 MVのMVオフセットは反対の値になる。そうでなければ、開始MVが双予測MVであり、両方のリストが現在の画像の同じ側を指している場合(即ち、2つの参照のPOCが両方とも現在の画像のPOCよりも大きいか、又は両方とも現在の画像のPOCよりも小さい場合)、開始MVのlist0 MVコンポーネントに追加されるMVオフセットと、list1 MVについてのMVオフセットは同じになる。

2.30.適応型デコーダ側動きベクトル精緻化(ADMVR)
ECM-2.0では、選択されたマージ候補がDMVR条件を満たす場合、マルチパスデコーダ側動きベクトル精緻化(DMVR)方法が通常のマージモードで適用される。第1のパスでは、コーディングブロックにバイラテラルマッチング(BM)が適用される。第2のパスでは、コーディングブロック内の各16×16サブブロックにBMが適用される。第3のパスでは、双方向オプティカルフロー(BDOF)を適用して各8×8サブブロックにおけるMVが精緻化される。
適応型デコーダ側動きベクトル精緻化方法は、DMVR条件を満たすマージ候補についての双予測のL0又はL1のいずれかの方向のみでMVを精緻化するために導入された2つの新しいマージモードで構成される。選択されたマージ候補に対してマルチパスDMVRプロセスが適用されて動きベクトルが精緻化されるが、第1ののパス(即ち、PUレベル)のDMVRではMVD0又はMVD1のいずれかがゼロに設定される。
通常のマージモードと同様に、提案されたマージモードのマージ候補は、空間的隣接コード化ブロック、TMVP、非隣接ブロック、HMVP、及びペアワイズ候補から導出される。違いは、DMVR条件を満たすものだけが候補リストに追加されることである。同じマージ候補リスト(即ち、ADMVRマージリスト)が2つの提案されたマージモードで使用され、マージインデックスは通常のマージモードと同様にコード化される。

3.問題点
テンプレートマッチングベースの適応型マージ候補並べ替えの現在の設計では、マージ候補の動き情報が並べ替えプロセスで直接使用される。ただし、一部のマージ候補の動き情報は、テンプレートマッチング及び/又はデコーダ側動きベクトル精緻化などの動き精緻化によって修正され得る。並べ替えプロセスで使用される動き情報は、ビデオユニットの再構築で使用される動き情報と整列されないため、並べ替えプロセスは効率的でない可能性がある。

4.本開示の実施形態
以下の詳細な実施形態は、一般的な概念を説明するための例として考慮されるべきである。これらの実施形態は、狭義に解釈されるべきではない。さらに、これらの実施形態は、任意の方式で組み合わされ得る。
本開示では、動き候補リストは、TMマージモード、及び/又は通常のマージモード、及び/又は適応型DMVR、及び/又はTMマージモード付きCIIP、及び/又はAMVP、及び/又はアフィン、及び/又はGPM(GEO)、及び/又はTPM、及び/又はMMVD、及び/又はCIIP、及び/又はMHP、及び/又はAMVP-Merge、アフィンAMVP、TM AMVP、MMVD付きGPM、IBCマージ、IBC AMVP、テンプレート-IBC、イントラテンプレートマッチング、及び/又は動き候補リストを使用してブロックの予測/再構築を導出する任意のインターモードの動き候補リストを指し得る。
動き候補リスは、ブロックベースのバイラテラルマッチング精緻化及び/又はテンプレートマッチング精緻化及び/又はサブブロックベースのバイラテラルマッチング精緻化後のTMマージ/AMVPリストであり得る。
動き候補リストは、DMVR/マルチパスDMVRプロセス後の通常のマージ/AMVPリストであり得る。
動き候補リストは、DMVR/マルチパスDMVRプロセス後のADMVRマージリストであり得る。
動き候補リストは、テンプレートマッチング精緻化プロセス後のGPMマージリスト(例:AGPMList、LGPMList、又はLAGPMList)であり得る。
以下の議論では、SatShift(x,n)は次のように定義される。
【数34】
一例では、offset0及び/又はoffset1は(1<<n)>>1又は(1<<(n-1))に設定される。別の例では、offset0及び/又はoffset1は0に設定される。
Shift(x,n)はShift(x,n)=(x+offset0)>>nとして定義される。
Clip3(x,y,z)は、次のように定義される。
【数35】
精緻化された動き情報を使用した動き候補リストの並べ替え
1.動き候補リストに対して第1の並べ替え手順を実行する前に、リスト内の少なくとも1つの動き候補を修正又は精緻化することが提案される。
a.動き候補リスト内の1つ以上の動き候補がビデオユニットについての動き精緻化プロセスによって修正される場合、精緻化された動き情報を使用して動き候補リストを並べ替えることが提案される。
b.一例では、第1の並べ替え手順の前に、動作候補リストに対して第2の並べ替え手順が実行され得る。
i.一例では、第2の並べ替え手順で動作候補リストを構築するときに、元の動作情報を使用して動き候補リストが並べ替えられ得る。
c.一例では、動き候補リストは、第1の並べ替え手順を使用して並べ替えられる前に並べ替えられていなくてもよい。
d.一例では、動き精緻化プロセスは、テンプレートマッチングなどのテンプレートマッチングベースの動き精緻化、及び/又はDMVR、マルチパスDMVRなどのバイラテラルマッチングベースの動き精緻化を指し得る。
e.一例では、動き精緻化プロセスの簡略化されたバージョンを適用し得る。
i.一例では、テンプレートマッチングが動き精緻化プロセスの1つとして使用される場合、テンプレートサイズは1又は2に設定され得る。
f.一例では、第1の並べ替えプロセスで使用される精緻化された動き情報は、動き精緻化プロセスの最終的な動き情報であり得る。
i.一例では、動き精緻化プロセスに複数のステップが含まれる場合、動き精緻化プロセスにおける最後のステップ後の動き情報が第1の並べ替えプロセスで使用され得る。
1)一例では、複数のステップは、動きベクトルの異なる解像度で動き情報を精緻化し得る。
a)一例では、精緻化は、整数解像度動きベクトルから分数解像度動きベクトルへのものであり得る。
b)別の例では、精緻化は、分数解像度動きベクトルから分数解像度動きベクトルへのものであり得る。
c)一例では、動きベクトルの異なる解像度は、16ペル、及び/又は8ペル、及び/又は4ペル、及び/又は2ペル、及び/又は1ペル、及び/又は1/2ペル、及び/又は1/4ペル、及び/又は1/8ペル、及び/又は1/16ペル、及び/又は1/32ペル、及び/又は1/64ペルを指し得る。
2)一例では、複数のステップは、テンプレートマッチングにおけるダイヤモンド及び/又は十字形などの、動きベクトルを精緻化する異なる検索形状を参照し得る。
a)一例では、テンプレートマッチングのダイヤモンド検索形状後の動き情報は、第1の並べ替えプロセスで使用され得る。
3)一例では、どの動きベクトルの解像度が使用されるかは、適応動きベクトル解像度の値など、動き候補の動きベクトルの解像度を示す構文要素に依存し得る。
4)一例では、動き精緻化プロセスで早期終了が使用される場合、早期終了によって出力された動き情報は、第1の並べ替えプロセスで使用され得る。
ii.一例では、複数の動き精緻化プロセスが関与し、1つずつ処理される場合、最後の動き精緻化プロセスの後に導出された動き情報が、第1の並べ替えプロセスで使用され得る。
1)一例では、動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、第2動き精緻化プロセスの動き情報が第1の並べ替えプロセスで使用され得る。
a)一例では、第1の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
b)一例では、第2の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
g.一例では、第1の並べ替えプロセスで使用される精緻化された動き情報は、動き精緻化プロセスの中間動き情報であり得る。
i.一例では、動き精緻化プロセスが複数のステップを含む場合、動き精緻化プロセスにおけるの最後のステップの前の動き情報が使用され得る。
1)一例では、第1のステップにおける動き情報が使用され得る。
2)別の例では、整数解像度(例:16ペル、8ペル、4ペル、2ペル、1ペル)の動きベクトルの動き情報が使用され得る。
ii.一例では、複数の動き精緻化プロセスが関与し、1つずつ処理される場合、最後の動き精緻化プロセスの前の任意の動き精緻化プロセスから導出された動き情報が、第1の並べ替えプロセスで使用され得る。
1)一例では、動き精緻化プロセスが第1の動き精緻化プロセスと第2の動き精緻化プロセスとを含む場合、第1の動き精緻化プロセスの動き情報が使用され得る。
a)一例では、第1の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
b)一例では、第2の動き精緻化プロセスは、TMなどのテンプレートマッチング方法、又はDMVR/マルチパスDMVRなどのバイラテラルマッチング方法を指し得る。
iii.一例では、複数の動き精緻化プロセスが関与し、1つずつ処理され、最後の動き精緻化プロセスに複数のステップが含まれる場合、最後の動き精緻化プロセスの最後のステップの前の任意のステップから導出された動き情報が第1の並べ替えプロセスで使用され得る。
iv.一例では、動き精緻化プロセスにTMとマルチパスDMVRとが含まれ、TMが第1パスDMVR(例:ブロックベースのバイラテラルマッチングMV精緻化)と第2パスDMVR(例:サブブロックベースのバイラテラルマッチングMV精緻化)の間で処理される場合、TM後の動き情報が、第1の並べ替えプロセスで使用され得る。
1)代替的に、第1パスDMVR後の動き情報が使用され得る。
2)代替的に、第2パスDMVR後の動き情報が使用され得る。
3)一例では、第1の並べ替えプロセスで精緻化された動き情報が使用される場合、第2パスDMVRをスキップするために使用される早期終了方法は適用されなくてもよい。
h.一例では、精緻化された動き情報がサブブロックベースの動き情報である場合、1つ又は複数のサブブロックの精緻化された動き情報が第1の並べ替えプロセスで使用され得る。
i.一例では、サブブロックの1つの精緻化された動き情報が、第1の並べ替えプロセスで使用され得る。
1)一例では、左上のサブブロック、又は左のブロック境界に位置するサブブロックの1つ、又は上のブロック境界に位置するサブブロックの1つの精緻化された動き情報が使用され得る。
ii.一例では、複数のサブブロックの精緻化された動き情報が第1の並べ替えプロセスで使用され得る。
1)一例では、すべてのサブブロックの動き情報が平均化されて使用され得る。
a)一例では、すべてのサブブロックの動き情報が加重平均され得、加重パラメータはブロック/サブブロック次元/サイズ、及び/又はサブブロックと並べ替えプロセスで使用されるテンプレート間の距離に依存し得る。
2)別の例では、上の境界のサブブロックの動き情報、及び/又は左の境界でのサブブロックの動き情報が使用され得る。
i.一例では、動き候補はX個のサブグループに分かれ、各サブグループ内で並べ替えプロセスが処理され、ここで、Xは1より大きい。
i.一例では、サブグループのサイズ(即ち、サブグループ内の動き候補の数、Ns)は、Ns=2、3、4、5、6、7、8、9、10など、すべてのサブグループで同じであり得る。
ii.別の例では、少なくとも1つのサブグループのサイズが他のサブグループと異なり得る。
iii.一例では、第1のサブグループのサイズは、他のサブグループのサイズよりも大きいか、または小さい。
iv.一例では、サブグループのサイズは事前に定義され得る。
v.一例では、動き候補は、動き候補タイプ(例:隣接空間的、時間的、非隣接空間的、HMVP)に応じて複数のサブグループに分かれ得る。
vi.一例では、サブグループのサイズは、利用可能な動き候補(例:隣接空間的及び/又は時間的動き候補)のタイプの数に応じて決定され得る。
2.一例では、精緻化された動き情報を使用した並べ替えプロセスを適用するか否か、及び/又は如何にして適用するかは、ビットストリームでシグナリングされるか、又はオンザフライ(on-the-fly)で決定されるか、又はコーディング情報に依存する。
a.一例では、T1=8、又は16、又は32、又は64、又は128など、T1より大きいサイズのビデオユニットに、精緻化された動き情報を使用した並べ替えプロセスが適用され得る。
b.別の例では、T1=64、又は128、又は256、又は512、又は1024、又は2048など、T1より小さいサイズのビデオユニットに、精緻化された動き情報を使用した並べ替えプロセスが適用され得る。
3.一例では、精緻化された動き情報を使用した並べ替えプロセスが、片側DMVR、適応型DMVRを備えたインターモードに適用される場合、精緻化された動きを使用した並べ替えプロセスは、第1の動き候補リスト、及び/又は第2の動き候補リストを並べ替えるために適用され得、ここで、第1の動き候補リスト内の動き候補が一方の側(方向)で精緻化され、第2の動き候補リスト内の動き候補がもう一方の側(方向)で精緻化される。
a.一例では、片側DMVRは、動き情報(例:動きベクトル)がDMVRのステップで一方向に精緻化されるDMVR方法を指し得る。
i.一例では、動き情報は、マルチパスDMVRの第1のパスで一方向に精緻化され得る。
ii.一例では、動き情報は、マルチパスDMVRの第1のパス及び/又は第2のパスで一方向に精緻化され得る。
b.一例では、インターモードは、適応型DMVRを指し得る。
c.一例では、並べ替えプロセスが、第1の動き候補リストと第2の動き候補リストとを個別に並べ替えるために適用され得る。
d.別の例では、第1の候補リストと第2の動き候補リストとが結合され得、並べ替えプロセスが、結合された動き候補リストを並べ替えるために使用され得る。
e.一例では、並べ替えプロセスで使用される精緻化された動き情報は、マルチパスDMVRにおける第1のパスのブロックベースのMVであり得る。
4.一例では、適応型DMVRの1つ以上の動き候補リストから冗長動き候補を削除することが提案される。
a.一例では、冗長動き候補は、第2の動き候補リスト内の動き候補の1つと同じ動き情報を持つ第1の動き候補リスト内の動き候補を指し得る。
i.一例では、第1の動き候補リストは第1の方向の動き候補リストを参照し得、第2の動き候補リストは第2の方向の動き候補リストを指し得る。
ii.一例では、第1の動き候補リストは第2の方向の動き候補リストを参照し得、第2の動き候補リストは第1の方向の動き候補リストを指し得る。
b.一例では、冗長動き候補は、第1のパスDMVR後の動き候補を指し得る。
5.動き候補リストに対してN個の動き候補を生成し、動き候補の最大許容数はMで、N>Mであることが提案される。
a.順序付けられた選択されたM個の動き候補が予測/再構築に使用される。
b.順序付けられたM個の動き候補は、N個の動き候補を並べ替えることによって選択され、選択されたM個の動き候補は、並べ替え後のN個の動き候補の最初のM個(例:コストが最も低いもの)である。
c.一例では、Nは事前定義されるか、又はビットストリームでシグナリングされるか、又はオンザフライで決定される。
i.一例では、Nは異なるコーディングモードごとに異なり得る。
ii.別の例では、Nは、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20であり得る。
d.一例では、動き候補リスから導出された動き情報が並べ替えプロセスで使用され得る。
e.一例では、精緻化された動き情報を使用した上記の並べ替えプロセスが適用され得る。
6.一例では、TM又はDMVR/マルチパスDMVRなどの精緻化プロセスで生成されたコスト値は、精緻化プロセスの後の並べ替えプロセスで再利用され得る。
a.一例では、動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値が保存され得る。
b.一例では、第1の動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値が、並べ替えプロセスで第2の動き候補についての精緻化プロセスで生成された最終的な(或いは、最小又は最大の)コスト値と比較され得る。
7.一例では、マージ候補は、マージタイプに従って並べ替えられ得、各マージタイプの最初のX個のマージ候補は、適応型DMVRマージ候補リストを構築するために使用される。
a.一例では、マージタイプは、隣接空間的、及び/又は時間的、及び/又は非隣接空間的、及び/又はHMVP、及び/又はペアワイズを指し得る。
b.一例では、Xは、異なるマージタイプごとに異なり得る。
i.一例では、Xは、時間的マージ候補に対して1又は2に等しく設定され得る。
ii.別の例では、Xは、空間的マージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
iii.別の例では、Xは、非隣接空間的マージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
iv.別の例では、Xは、HMVPマージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
v.別の例では、Xは、ペアワイズマージ候補に対して1、又は2、又は3、又は4、又は5、又は6、又は7、又は8、又は9、又は10に等しく設定され得る。
一般的な側面
8.上記の例では、前記ビデオユニットは、カラーコンポーネント/サブ画像/スライス/タイル/コーディングツリーユニット(CTU)/CTU行/CTUのグループ/コーディングユニット(CU)/予測ユニット(PU)/変換ユニット(TU)/コーディングツリーブロック(CTB)/コーディングブロック(CB)/予測ブロック(PB)/変換ブロック(TB)/ブロック/ブロックのサブブロック/ブロック内のサブ領域/複数のサンプル又はピクセルを含む任意の他の領域を指し得る。
9.開示された上記の方法を適用するか否か、及び/又は如何にして適用するかは、シーケンスヘッダー/画像ヘッダー/SPS/VPS/DPS/DCI/PPS/APS/スライスヘッダー/タイルグループヘッダーなどの、シーケンスレベル/画像グループレベル/画像レベル/スライスレベル/タイルグループレベルでシグナリングされ得る。
10.開示された上記の方法を適用するか否か、及び/又は如何にして適用するかは、PB/TB/CB/PU/TU/CU/VPDU/CTU/CTU行/スライス/タイル/サブ画像/複数のサンプル又はピクセルが含まれている他の種類の領域でシグナリングされ得る。
11.開示された上記の方法を適用するか否かか、及び/又は如何にして適用するかは、ブロックサイズ、カラーフォーマット、シングル/デュアルツリー分割、カラーコンポーネント、スライス/画像タイプなどの、コード化情報に依存し得る。
5.実施形態
5.1.実施形態1
ECM-3.1のTMマージの現在の設計では、先ず、TMマージ候補リストが構築される。次に、マージ候補の適応的並べ替え(ARMC)が適用されてマージ候補を並べ替える。最後に、マルチパスDMVRの条件が満たされる場合は、テンプレートマッチング及びマルチパスDMVRを使用して、選択されたマージ候補が精緻化される。TMマージ候補リスト内の初期動き情報はARMCで使用されるが、テンプレートマッチング及びマルチパスDMVR後の精緻化された動き情報は予測に使用され、コーディングパフォーマンスを制限し得る。
TMマージモードに、精緻化された動き情報を使用してARMCを適用することが提案される。具体的には、先ず、TMマージ候補リストが作成され、すべてのマージ候補に対して並べ替えられる一方、ECM-3.1で最初の5つのTMマージ候補のみが並べ替えられる。次に、TMマージリスト内のTMマージ候補がN個のサブグループに分かれ、サブグループのサイズは4に等しく設定される。シグナルされたマージインデックスによって決定される選択されたサブグループ内のすべてのTMマージ候補に対して、テンプレートマッチング及びマルチパスDMVRが適用される。最後に、サブグループ内の精緻化されたマージ候補が並べ替えられる。複雑さを軽減するために、次の簡略化が適用される。k
1)提案された方法は、T1=16、又は32、又は64など、T1より大きいルマサンプルサイズを持つブロックにのみ適用される。
2)提案された方法は、T2=128、又は256、又は512、又は1024、又は2048など、T2より小さいルマサンプルサイズを持つブロックにのみ適用される。
3)選択されたサブグループにマルチパスDMVRが適用されると、第1パスDMVRのみが使用される。
4)選択されたサブグループにテンプレートマッチングが適用されると、テンプレートマッチングについてのテンプレートサイズは1に等しく設定される。
5)選択されたサブグループにテンプレートマッチングが適用されると、ダイヤモンド検索後にテンプレートマッチングが早期に終了する。

5.2.実施形態2
ECM-3.1の適応型DMVRの現在の設計では、先ず、適応型DMVRマージ候補リストが構築され、許容されるマージ候補は、ビットストリームでシグナリングされる適応型DMVRについてのマージ候補の最大数(N)までとすることができ、Nは0から6まで選択され得、ECM-3.1で4に等しく設定される。次に、適応型マージ候補の並べ替え(ARMC)が適用されて適応型DMVRについてのマージ候補を並べ替える。
適応型DMVRマージ候補リストを構築するときに、許容されるマージ候補数(M)を増やし、ここで、MはNよりも大きいことが提案される。次に、ARMCが適用されてマージ候補を並べ替える。エンコーダーでは、最初のN個のマージ候補のみが適応型DMVRのRDOに関与し、Mは10に等しく設定される。
【国際調査報告】