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

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

▶ アリババ ダモ (ハンジョウ) テクノロジー カンパニー,リミテッドの特許一覧

特表2024-533298ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補
<>
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図1A
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図1B
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図2
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図3
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図4
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図5
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図6
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図7A
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図7B
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図8
  • 特表-ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】ビデオコーディングにおけるマージ候補リスト中の改善された時間マージ候補
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240905BHJP
   H04N 19/139 20140101ALI20240905BHJP
   H04N 19/147 20140101ALI20240905BHJP
   H04N 19/176 20140101ALI20240905BHJP
   H04N 19/503 20140101ALI20240905BHJP
【FI】
H04N19/105
H04N19/139
H04N19/147
H04N19/176
H04N19/503
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024515043
(86)(22)【出願日】2022-09-28
(85)【翻訳文提出日】2024-04-26
(86)【国際出願番号】 SG2022050701
(87)【国際公開番号】W WO2023055298
(87)【国際公開日】2023-04-06
(31)【優先権主張番号】63/250,208
(32)【優先日】2021-09-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523475516
【氏名又は名称】アリババ ダモ (ハンジョウ) テクノロジー カンパニー,リミテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】リャオ,ルーリン
(72)【発明者】
【氏名】イエ,ヤン
(72)【発明者】
【氏名】チェン,ジエ
(72)【発明者】
【氏名】リ,シンウェイ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA05
5C159NN10
5C159NN12
5C159NN21
5C159PP16
5C159RC12
5C159TA61
5C159TB08
5C159TC31
5C159TC41
5C159TD16
5C159UA02
5C159UA05
(57)【要約】
VVC規格エンコーダおよびVVC規格デコーダが、いくつかの点におけるVVCおよびECMに対する改善、すなわち、コロケートされたCTUの再位置決めを利用する時間動きベクトル予測候補選択方法と、拡大された選択レンジを利用する時間動きベクトル予測候補選択方法と、スケーリングされた動きベクトルの無条件導出を利用する時間動きベクトル予測候補選択方法と、単予測動きベクトルを双予測動きベクトルにスケーリングすることの省略を利用する時間動きベクトル予測候補選択方法と、参照ピクチャインデックスを設定する際に複数のオプションを利用する時間動きベクトル予測候補選択方法と、スケーリングファクタオフセッティングを利用する時間動きベクトル予測候補選択方法と、時間動きベクトル予測候補を省略するマージ候補リスト作成方法と、動き情報精緻化を利用するピクチャ再構築方法とを実装する。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに通信可能に結合されたメモリと、
を備え、前記メモリは、前記1つまたは複数のプロセッサによって実行された場合に、関連付けられた動作を実行する、前記1つまたは複数のプロセッサによって実行可能なフロントエンドアプリケーションを記憶し、前記動作は、
現在のピクチャの現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含み、時間動きベクトル予測候補(「TMVP候補」)が、前記TMVP候補の参照ピクチャインデックスを、スケーリングファクタが1に最も近いコロケートされたピクチャの参照ピクチャインデックスに設定することによって、選択される、コンピューティングシステム。
【請求項2】
スケーリングファクタが、
前記現在のピクチャの参照ピクチャと、前記現在のピクチャとの間のピクチャ順序カウント(「POC」)差分と、
前記コロケートされたピクチャと、前記コロケートされたピクチャの参照ピクチャとの間のPOC差分と
の間の比を含む、請求項1に記載のコンピューティングシステム。
【請求項3】
マージ候補の適応並べ替え(「ARMC」)に従って複数のマージ候補を並べ替えることをさらに含む、請求項1に記載のコンピューティングシステム。
【請求項4】
前記複数のマージ候補の複数のTMVP候補が、テンプレートマッチングに基づくコスト値によって並べ替えられ、マージ候補のテンプレートマッチングコスト値が、現在のブロックのテンプレートのサンプルと、それぞれの参照サンプルとの間の絶対差分和(「SAD」)を含む、請求項1に記載のコンピューティングシステム。
【請求項5】
現在のピクチャの現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、時間動きベクトル予測候補(「TMVP候補」)が、前記TMVP候補の参照ピクチャインデックスを、スケーリングファクタが1に最も近いコロケートされたピクチャの参照ピクチャインデックスに設定することによって、選択される、方法。
【請求項6】
スケーリングファクタが、
前記現在のピクチャの参照ピクチャと、前記現在のピクチャとの間のピクチャ順序カウント(「POC」)差分と、
前記コロケートされたピクチャと、前記コロケートされたピクチャの参照ピクチャとの間のPOC差分と
の間の比を含む、請求項5に記載の方法。
【請求項7】
マージ候補の適応並べ替え(「ARMC」)に従って複数のマージ候補を並べ替えることをさらに含む、請求項5に記載の方法。
【請求項8】
前記複数のマージ候補の複数のTMVP候補が、テンプレートマッチングに基づくコスト値によって並べ替えられ、マージ候補のテンプレートマッチングコスト値が、現在のブロックのテンプレートのサンプルと、それぞれの参照サンプルとの間の絶対差分和(「SAD」)を含む、請求項5に記載の方法。
【請求項9】
方法に従って処理するためのビデオのビットストリームを記憶する非一時的コンピュータ可読記憶媒体であって、前記方法は、
コンピューティングシステムの1つまたは複数のプロセッサによって、および前記ビットストリームを受信したことに応答して、コーディングユニット(「CU」)のシンタックス構造中でシグナリングされたマージインデックスをパースすることと、
前記1つまたは複数のプロセッサによって、および前記ビットストリームを受信したことに応答して、前記CUのための複数の動き候補を選択することであって、時間動きベクトル予測候補(「TMVP候補」)が、前記TMVP候補の参照ピクチャインデックスを、スケーリングファクタが1に最も近いコロケートされたピクチャの参照ピクチャインデックスに設定することによって、選択されることと、
前記1つまたは複数のプロセッサによって、および前記ビットストリームを受信したことに応答して、前記マージインデックスに基づくマージモードと、前記複数の動き候補とを適用することによって、前記CUのインター予測を実施することと
を含む、非一時的コンピュータ可読記憶媒体。
【請求項10】
スケーリングファクタが、
現在のピクチャの参照ピクチャと前記現在のピクチャとの間のピクチャ順序カウント(「POC」)差分と、
前記コロケートされたピクチャと、前記コロケートされたピクチャの参照ピクチャとの間のPOC差分と
の間の比を含む、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記方法が、マージ候補の適応並べ替え(「ARMC」)に従って複数のマージ候補を並べ替えることをさらに含む、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記複数のマージ候補の複数のTMVP候補が、テンプレートマッチングに基づくコスト値によって並べ替えられ、マージ候補のテンプレートマッチングコスト値が、現在のブロックのテンプレートのサンプルと、それぞれの参照サンプルとの間の絶対差分和(「SAD」)を含む、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
[0001] 本PCT出願は、参照により本明細書に組み込まれる、2021年9月29日に出願された米国特許出願第63/250,208号の優先権を主張する。
【背景技術】
【0002】
[0002] 2020年に、ITU-Tビデオコーディングエキスパートグループ(「ITU-T VCEG」)とISO/IECムービングピクチャエキスパートグループ(「ISO/IEC MPEG」)とのジョイントビデオエキスパートチーム(「JVET」)が、次世代ビデオコーデック仕様、多用途ビデオコーディング(「VVC」)の最終ドラフトを公開した。この仕様は、H.264/AVC(アドバンストビデオコーディング)およびH.265/HEVC(高効率ビデオコーディング)など、前の規格よりもビデオコーディング性能をさらに改善する。JVETは、拡張圧縮モデル(「ECM」)の名称の下で収集される、VVC規格自体の範囲を越える追加の技法を提案し続けている。
【0003】
[0003] AVC、HEVC、およびVVC規格の各々では、離散コサイン変換(「DCT」)と並んで、動き補償予測(「MCP」)が、別の中心的画像圧縮技法として実装される。画像がコーディングブロックに区分され、MCPは、ピクチャのブロックにおける動きが、隣接するブロック、ならびに時間的に先行するピクチャおよび後続のピクチャのブロックにおいて、繰り返し起こる傾向があるという原理に基づいて、画像の圧縮効率を改善する。MCPは、ブロックを再構築するために、動き予測において、そのような「動き候補」を探索し、そこから動き情報を導出することによって、実装される。
【0004】
[0004] HEVCなどの以前の規格は、並進動きのみに基づくMCPを実装したが、VVCは、アフィン動き補償予測(「アフィンMCP」)をも実装する。概して、それぞれ、空間的に近傍にあるブロックと、時間的に近傍にあるブロックとの動き情報が、動きベクトルの異なるフォーマットに基づいて再構築され、特に、時間動きベクトルが、時間動きベクトル予測(「TMVP」)に基づく技法に従って導出される。これらの様式では、冗長な動き情報が、コーディングされた画像において低減され、これは、ビデオストリームを送信するために必要とされるビットレートを低減し、したがって、レート利得を達成する。
【発明の概要】
【0005】
[0005] (2021年1月におけるムービングピクチャエキスパートグループ(「MPEG」)の第133回会議において「Exploration experiment on enhanced compression beyond VVC capability」として提示された)ECMの最初のドラフトは、VVCのMCP技法に従って探索される動き候補の範囲をさらに拡大するための提案を含む。しかしながら、MCPの、VVCの実装形態とECMの実装形態の両方によれば、TMVP技法は、MCPのHEVCの実装形態から実質的に不変のままである。TMVPは、MCPの一体構成要素のままであるので、TMVPが、他の動きベクトル予測技法に対して冗長にならないように、TMVPの性能をさらに改良することが望まれる。
【0006】
[0006] 添付図を参照しながら詳細な説明が記載される。図において、参照番号の最左の(1つまたは複数の)数字は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号の使用は、同様のまたは同等の項目または特徴を示す。
【図面の簡単な説明】
【0007】
図1A】[0007]本開示の例示的な実施形態による、ビデオ符号化プロセスの例示的なブロック図である。
図1B】本開示の例示的な実施形態による、ビデオ復号プロセスの例示的なブロック図である。
図2】[0008]ピクチャの現在のCUの複数の空間的に近傍にあるブロックを示す図である。
図3】[0009]VVC規格による動き予測コーディングによる、ピクチャのCUのための動き候補の例示的な選択を示す図である。
図4】[0010]VVC規格による、時間マージ候補のためのスケーリングされた動きベクトルを取得することを示す図である。
図5】[0011]VVC規格による、候補Cと候補Cとの間の時間候補のための位置の選択を示す図である。
図6】[0012]ECM3による、隣接する空間マージ候補だけでなく、隣接しない空間マージ候補も導出され得る、可能な空間近傍ブロックを示す図である。
図7A】[0013]ECMによる時間動きベクトル予測候補選択方法を示す図である。
図7B】本開示の例示的な実施形態による、コロケートされたCTUの再位置決めを利用する時間動きベクトル予測候補選択方法を示す図である。
図8】[0014]本開示の例示的な実施形態による、近傍ブロックの動き情報に従ってマージ候補リストに時間マージ候補を追加することを示す図である。
図9】[0015]改良された時間動き候補挙動を実装するための上記で説明されたプロセスおよび方法を実装するための例示的なシステムを示す図である。
【発明を実施するための形態】
【0008】
[0016] VVCビデオコーディング規格(「VVC規格」)およびその中で説明される動き予測によれば、コンピュータ可読記憶媒体に記憶されたコンピュータ可読命令が、VVC規格によって説明されるエンコーダの動作とVVC規格によって説明されるデコーダの動作とを実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成するために、その1つまたは複数のプロセッサによって実行可能である。VVC規格によるこれらのエンコーダ動作およびデコーダ動作のうちのいくつかが、後でさらに詳細に説明されるが、これらの後続の説明は、VVC規格によるエンコーダ動作およびデコーダ動作を網羅するものとして理解されるべきではない。その後、「VVC規格エンコーダ」および「VVC規格デコーダ」が、(例として、エンコーダまたはデコーダの「参照実装形態」と呼ばれることがある)これらのそれぞれの動作を実施するように1つまたは複数のプロセッサを構成する、コンピュータ可読記憶媒体に記憶されたそれぞれのコンピュータ可読命令について説明するものとする。
【0009】
[0017] その上、本開示の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、VVC規格によって指定されない動作を実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成するために、その1つまたは複数のプロセッサによって実行可能である、コンピュータ可読記憶媒体に記憶されたコンピュータ可読命令をさらに含む。VVC規格エンコーダは、エンコーダの参照実装形態の動作に限定されるものとして理解されるべきではなく、本明細書で説明されるさらなる動作を実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成するさらなるコンピュータ可読命令を含むものとして理解されるべきである。VVC規格デコーダは、デコーダの参照実装形態の動作に限定されるものとして理解されるべきではなく、本明細書で説明されるさらなる動作を実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成するさらなるコンピュータ可読命令を含むものとして理解されるべきである。
【0010】
[0018] 図1Aおよび図1Bは、本開示の例示的な一実施形態による、それぞれ、符号化プロセス100および復号プロセス150の例示的なブロック図を示す。
【0011】
[0019] 符号化プロセス100では、VVC規格エンコーダは、入力として、画像ソース102から1つまたは複数の入力ピクチャを受信するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。入力ピクチャは、フォトセンサーアレイなど、画像キャプチャデバイスによってサンプリングされたある数のピクセルを含み、そのピクチャの元の解像度において色データを記憶する(RGB色チャネルなどの)複数の色チャネルの圧縮されていないストリームを含み、各チャネルが、ある数のビットを使用してピクチャの各ピクセルの色データを記憶する。VVC規格エンコーダは、圧縮されたフォーマットでこの圧縮されていない色データを記憶するようにコンピューティングシステムの1つまたは複数のプロセッサを構成し、色データは、ピクチャの元の解像度よりも低い解像度において記憶され、ルマ(「Y」)チャネル、およびルマチャネルよりも低い解像度の2つのクロマ(「U」および「V」)チャネルとして、符号化される。
【0012】
[0020] VVC規格エンコーダは、区分構造に従って元のピクチャをユニットおよびサブユニットに区分するようにコンピューティングシステムの1つまたは複数のプロセッサを構成することによって、ピクチャ(画像ソース102から受信される他のピクチャと区別される、「現在のピクチャ」と呼ばれる符号化中のピクチャ)を符号化する。VVC規格エンコーダは、ピクチャを、各々、16×16ピクセルの寸法を有するマクロブロック(「MB」)に再分割するようにコンピューティングシステムの1つまたは複数のプロセッサを構成し、MBは、さらに、区分に再分割され得る。VVC規格エンコーダは、ピクチャをコーディングツリーユニット(「CTU」)に再分割するようにコンピューティングシステムの1つまたは複数のプロセッサを構成し、CTUのルマおよびクロマ成分が、さらに、コーディングツリーブロック(「CTB」)に再分割され得、CTBは、さらに、コーディングユニット(「CU」)に再分割される。代替的に、VVC規格エンコーダは、ピクチャをN×Nピクセルのユニットに再分割するようにコンピューティングシステムの1つまたは複数のプロセッサを構成し、それらのユニットは、次いで、さらに、サブユニットに再分割され得る。ピクチャのこれらの最も大きい再分割されたユニットの各々は、概して、本開示では「ブロック」と呼ばれることがある。
【0013】
[0021] CUは、ルマサンプルの1つのブロックとクロマサンプルの2つの対応するブロックとを使用してコーディングされ、ピクチャは、モノクロームではなく、1つのコーディングツリーを使用してコーディングされる。
【0014】
[0022] VVC規格エンコーダは、ブロックを、4×4ピクセルの倍数単位の寸法を有する区分に再分割するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。たとえば、ブロックの区分は、8×4ピクセル、4×8ピクセル、8×8ピクセル、16×8ピクセル、または8×16ピクセルの寸法を有し得る。
【0015】
[0023] フル解像度の元のピクチャのピクセルの色情報ではなく、ピクチャのブロックおよびブロックの再分割の色情報を符号化することによって、VVC規格エンコーダは、入力ピクチャよりも低い解像度でピクチャの色情報を符号化し、入力ピクチャよりも少ないビットで色情報を記憶するように、コンピューティングシステムの1つまたは複数のプロセッサを構成する。
【0016】
[0024] さらに、VVC規格エンコーダは、現在のピクチャのブロックに対して動き予測を実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成することによって、ピクチャを符号化する。動き予測コーディングは、イントラ予測104またはインター予測106による、(ピクセルデータではない)動き情報および予測ユニット(「PU」)を使用して、現在のピクチャのブロック(ここで、コーディングの前の、元のピクチャのブロックは「入力ブロック」と呼ばれる)の画像データを記憶することを指す。
【0017】
[0025] 動き情報は、現在のピクチャのまたは参照ピクチャのブロックに対する動きベクトルおよび参照など、ピクチャのブロック構造あるいはユニットまたはそのサブユニットの動きを説明するデータを指す。PUは、MBまたはCTUなど、ピクチャの複数のブロック構造のうちの1つのブロック構造に対応する1つのユニットまたは複数のサブユニットを指し得、ブロックは、ピクチャデータに基づいて区分され、VVC規格に従ってコーディングされる。PUに対応する動き情報は、本明細書で説明されるVVC規格エンコーダによって符号化される動き予測について記述し得る。
【0018】
[0026] VVC規格エンコーダは、最初に復号されるブロックがピクチャの最上端かつ最左端のブロックであるラスタ走査順序など、ブロックの間のコーディング順序で、ピクチャの各ブロックにわたる動き予測情報をコーディングするように、コンピューティングシステムの1つまたは複数のプロセッサを構成する。符号化中のブロックは、同じピクチャの他のブロックと区別されるように、「現在のブロック」と呼ばれる。
【0019】
[0027] イントラ予測104によれば、コンピューティングシステムの1つまたは複数のプロセッサは、同じピクチャの1つまたは複数の他のブロックの動き情報およびPUに対する参照によってブロックを符号化するように構成される。イントラ予測コーディングによれば、コンピューティングシステムの1つまたは複数のプロセッサは、現在のブロックの空間的に近傍のブロックからの空間的に近傍のサンプルに基づいて現在のブロックの動き情報をコーディングすることによって、(空間予測とも呼ばれる)イントラ予測104算出を実施する。
【0020】
[0028] インター予測106によれば、コンピューティングシステムの1つまたは複数のプロセッサは、1つまたは複数の他のピクチャの動き情報およびPUに対する参照によってブロックを符号化するように構成される。コンピューティングシステムの1つまたは複数のプロセッサは、インター予測コーディングでは、参照ピクチャバッファに、1つまたは複数の前にコーディングおよび復号されたピクチャを記憶するように構成され、これらの記憶されたピクチャは、参照ピクチャと呼ばれる。
【0021】
[0029] 1つまたは複数のプロセッサは、1つまたは複数の参照ピクチャからのサンプルに基づいて現在のブロックの動き情報をコーディングすることによって、(時間予測または動き補償予測とも呼ばれる)インター予測106算出を実施するように構成される。インター予測は、さらに、単予測または双予測に従って算出され得、すなわち、単予測では、1つの参照ピクチャをポイントする、1つの動きベクトルのみが、現在のブロックのための予測信号を生成するために使用される。双予測では、各動きベクトルがそれぞれの参照ピクチャをポイントする2つの動きベクトルが、現在のブロックの予測信号を生成するために使用される。
【0022】
[0030] VVC規格エンコーダは、VVC規格デコーダの参照のために、現在のブロックの(1つまたは複数の)予測信号を識別するための参照インデックスを含むように、CUをコーディングするようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。コンピューティングシステムの1つまたは複数のプロセッサは、インター予測インジケータを含むようにCUをコーディングすることができる。インター予測インジケータは、リスト0と呼ばれる第1の参照ピクチャリストに関するリスト0予測、リスト1と呼ばれる第2の参照ピクチャリストに関するリスト1予測、または、リスト0およびリスト1とそれぞれ呼ばれる両方の参照ピクチャリストに関する双予測を示す。
【0023】
[0031] インター予測インジケータがリスト0予測またはリスト1予測を示す場合、コンピューティングシステムの1つまたは複数のプロセッサは、リスト0またはリスト1それぞれによって参照される参照ピクチャバッファの参照ピクチャを指す参照インデックスを含めてCUをコーディングするように構成される。インター予測インジケータが双予測を示す場合、コンピューティングシステムの1つまたは複数のプロセッサは、リスト0によって参照される参照ピクチャバッファの第1の参照ピクチャを指す第1の参照インデックスと、リスト1によって参照される参照ピクチャの第2の参照ピクチャを指す第2の参照インデックスとを含めてCUをコーディングするように構成される。
【0024】
[0032] VVC規格エンコーダは、ピクチャの現在のブロックを個々にコーディングし、各々についての予測ブロックを出力するように、コンピューティングシステムの1つまたは複数のプロセッサを構成する。VVC規格によれば、CTUは、128×128ルマサンプル(および、クロマフォーマットに応じて、対応するクロマサンプル)と同じ大きさにすることができる。CTUは、さらに、4分木、2分木、または3分木に従って、CUに区分され得る。コンピューティングシステムの1つまたは複数のプロセッサは、区分構造のリーフノードのシンタックス構造において、コーディングモード(イントラモードまたはインターモード)、インターコーディングされたブロックのための動き情報(参照インデックス、動きベクトルなど)、および量子化された残差係数など、コーディングパラメータセットを最終的に記録するように構成される。
【0025】
[0033] 予測ブロックが出力された後に、VVC規格エンコーダは、(後で説明される)エントロピーコーダ124に、コーディングモード(すなわち、イントラまたはインター予測)、イントラ予測のモードまたはインター予測のモード、および動き情報など、コーディングパラメータセットを送るようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。
【0026】
[0034] VVC規格は、CUのためのコーディングパラメータセットを記録するためのセマンティクスを提供する。たとえば、上述のコーディングパラメータセットに関して、CUのためのpred_mode_flagは、インターコーディングされたブロックの場合0に設定され、イントラコーディングされたブロックの場合1に設定され、CUのためのgeneral_merge_flagは、マージモードがCUのインター予測において使用されるかどうかを示すために設定され、CUのためのinter_affine_flagおよびcu_affine_type_flagは、アフィン動き補償がCUのインター予測において使用されるかどうかを示すために設定され、mvp_l0_flagおよびmvp_l1_flagは、それぞれ、リスト0中のまたはリスト1中の動きベクトルインデックスを示すために設定され、ref_idx_l0およびref_idx_l1は、それぞれ、リスト0中のまたはリスト1中の参照ピクチャインデックスを示すために設定される。VVC規格は、本開示の範囲を越える、様々な他の情報、フラグ、およびオプションを記録するためのセマンティクスを含むことを理解されたい。
【0027】
[0035] VVC規格エンコーダは、レート制御設定を含む、1つまたは複数のモード判断およびエンコーダ制御設定108をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、イントラまたはインター予測の後に、レートひずみ最適化方法に基づいて、現在のブロックのための最適化された予測モードを選択することによって、モード判断を実施するように構成される。
【0028】
[0036] レート制御設定は、異なる量子化パラメータ(「QP」)を異なるピクチャに割り当てるようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。QPの大きさは、(後で説明されるように)1つまたは複数のプロセッサによる符号化中にピクチャ情報が量子化されるスケールを決定し、したがって、符号化プロセス100がコーディング中にシーケンスのMBから(情報がスケールの工程間に入ることにより)ピクチャ情報を廃棄する程度を決定する。
【0029】
[0037] VVC規格エンコーダは減算器110をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、入力ブロックと予測ブロックとの間の差分を算出することによって減算演算を実施するように構成される。最適化された予測モードに基づいて、予測ブロックは入力ブロックから減算される。入力ブロックと予測ブロックとの間の差分は、予測残差、または簡潔のために「残差」と呼ばれる。
【0030】
[0038] 予測残差に基づいて、VVC規格エンコーダは変換112をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、(「残差係数」、「変換係数」などと呼ばれることがある)係数のアレイを導出するために、行列算術演算によって残差に対して変換演算を実施し、それにより、現在のブロックを変換ブロック(「TB」)として符号化するように構成される。変換係数は、対角反転、垂直反転、または回転など、いくつかの空間変換のうちの1つを表す係数を指し得、これは、サブブロックに適用され得る。
【0031】
[0039] 係数は、後でさらに詳細に説明されるように、2つの構成要素、絶対値および符号として記憶され得ることを理解されたい。
【0032】
[0040] PUおよびTBなど、CUのサブブロックは、上記で説明されたように、サブブロック寸法の任意の組合せで配列され得る。VVC規格エンコーダは、CUをTBの階層構造である残差四分木(「RQT」)に再分割するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。RQTは、RQTの各レベルのサブブロックにわたる動き予測および残差コーディングの順序を提供し、再帰的にRQTの各レベルを下降する。
【0033】
[0041] VVC規格エンコーダは量子化114をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、量子化行列と、上記で割り当てられたQPとに基づいて、行列算術演算によって残差係数に対して量子化演算を実施するように構成される。ある区間内にある残差係数は保持され、その区間ステップ外にある残差係数は廃棄される。
【0034】
[0042] VVC規格エンコーダは、逆量子化116と逆変換118とをさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、上記で説明された量子化演算および変換演算の逆である行列算術演算によって、量子化された残差係数に対する逆量子化演算および逆変換演算を実施するように構成される。逆量子化演算および逆変換演算により、再構築された残差が得られる。
【0035】
[0043] VVC規格エンコーダは加算器120をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、予測ブロックと再構築された残差とを加算することによって加算演算を実施し、再構築されたブロックを出力するように構成される。
【0036】
[0044] VVC規格エンコーダはループフィルタ122をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、デブロッキングフィルタ、サンプル適応オフセット(「SAO」)フィルタ、および適応ループフィルタ(「ALF」)などのループフィルタを、再構築されたブロックに適用し、フィルタ処理された再構築されたブロックを出力するように構成される。
【0037】
[0045] VVC規格エンコーダは、フィルタ処理された再構築されたブロックを復号済みピクチャバッファ(「DPB」)200に出力するようにコンピューティングシステムの1つまたは複数のプロセッサをさらに構成する。DPB200は、インター予測に関して上記で説明されたように、現在のピクチャ以外のピクチャをコーディングする際に参照ピクチャとしてコンピューティングシステムの1つまたは複数のプロセッサによって使用される再構築されたピクチャを記憶する。
【0038】
[0046] VVC規格エンコーダはエントロピーコーダ124をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、エントロピーコーディングを実施するように構成され、コンテキスト依存バイナリ算術コーデック(「CABAC」)に従って、量子化された残差係数を構成するシンボルは、バイナリ列(以下「ビン」)へのマッピングによってコーディングされ、これは圧縮されたビットレートの出力ビットストリームで送信することができる。コーディングされる量子化された残差係数のシンボルは、残差係数の絶対値を含む(これらの絶対値は、以下「残差係数レベル」と呼ばれる)。
【0039】
[0047] しかしながら、残差係数レベルは予測およびコーディングされるが、残差係数符号は、等確率(以下「EP」)状態を示すビンを使用してシグナリングされる(値0を有する係数は符号を有さないので、シグナリングされる必要がないことを理解されたい)。VVC規格エンコーダは、計算上の課題(当該課題は、当業者には理解されると思われるが、本開示の例示的な実施形態を理解するためにここで繰り返す必要はない)のため、残差係数符号を予測するようにコンピューティングシステムの1つまたは複数のプロセッサを構成しない。これらの理由で、CABACは、残差係数符号のコーディングをバイパスし、出力ビットストリームにおいて符号ごとに1ビットを追加して送信するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。
【0040】
[0048] したがって、エントロピーコーダは、ブロックの残差係数レベルをコーディングすることと、残差係数符号のコーディングをバイパスし、コーディングされたブロックとともに残差係数符号を記録することと、コーディングされたブロックのシンタックス構造内でコーディングされる、たとえば、コーディングモード、イントラ予測のモードまたはインター予測のモード、および動き情報などのコーディングパラメータセット(たとえば、ピクチャヘッダに含まれているピクチャパラメータセット(「PPS」)、ならびに複数のピクチャのシーケンスに含まれているシーケンスパラメータセット(「SPS」))を記録することと、コーディングされたブロックを出力するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。
【0041】
[0049] VVC規格エンコーダは、エントロピーコーダ124からのコーディングされたブロックで構成されるコーディングされたピクチャを出力するように、コンピューティングシステムの1つまたは複数のプロセッサを構成する。コーディングされたピクチャは、送信バッファに出力され、最終的にVVC規格エンコーダからの出力用のビットストリームにパックされる。
【0042】
[0050] 復号プロセス150では、VVC規格デコーダは、入力として、ビットストリームからの1つまたは複数のコーディングされたピクチャを受信するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。
【0043】
[0051] VVC規格デコーダはエントロピーデコーダ152を実装する。コンピューティングシステムの1つまたは複数のプロセッサは、エントロピー復号を実施するように構成され、CABACに従って、シンボルからビンへのマッピングを逆にすることによってビンが復号され、それにより、エントロピーコーディングされた量子化された残差係数が復元される。エントロピーデコーダ152は、量子化された残差係数を出力し、コーディングがバイパスされた(coding-bypassed)残差係数符号を出力し、また、PPSおよびSPSなど、シンタックス構造を出力する。
【0044】
[0052] VVC規格デコーダは、逆量子化154と逆変換156とをさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、上記で説明された量子化演算および変換演算の逆である行列算術演算によって、復号された量子化された残差係数に対して逆量子化演算および逆変換演算を実施するように構成される。逆量子化演算および逆変換演算により、再構築された残差が得られる。
【0045】
[0053] さらに、エントロピーコーダ124によってPPSおよびSPSなどのシンタックス構造に記録された(あるいは、帯域外送信によって受信された、またはデコーダ内にコーディングされた)コーディングパラメータセットと、コーディングパラメータセットに含まれるコーディングモードとに基づいて、VVC規格デコーダは、再構築された残差に、イントラ予測156(すなわち、空間予測)を適用するか、動き補償予測158(すなわち、時間予測)を適用するかを決定する。
【0046】
[0054] コーディングパラメータセットがイントラ予測を指定している場合、VVC規格デコーダは、コーディングパラメータセットにおいて指定された予測情報を使用してイントラ予測156を実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。イントラ予測156は、それにより、予測信号を生成する。
【0047】
[0055] コーディングパラメータセットがインター予測を指定している場合、VVC規格デコーダは、DPB200からの参照ピクチャを使用して動き補償予測158を実施するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。動き補償予測158は、それにより、予測信号を生成する。
【0048】
[0056] VVC規格デコーダは加算器160をさらに実装する。加算器160は、再構築された残差と予測信号とに対して加算演算を実施し、それにより、再構築されたブロックを出力するようにコンピューティングシステムの1つまたは複数のプロセッサを構成する。
【0049】
[0057] VVC規格デコーダはループフィルタ162をさらに実装する。コンピューティングシステムの1つまたは複数のプロセッサは、デブロッキングフィルタ、SAOフィルタ、およびALFなどのループフィルタを再構築されたブロックに適用し、フィルタ処理された再構築されたブロックを出力するように構成される。
【0050】
[0058] VVC規格デコーダは、フィルタ処理された再構築されたブロックをDBP200に出力するようにコンピューティングシステムの1つまたは複数のプロセッサをさらに構成する。上記で説明されたように、DPB200は、動き補償予測に関して上記で説明されたように、現在のピクチャ以外のピクチャをコーディングする際に参照ピクチャとしてコンピューティングシステムの1つまたは複数のプロセッサによって使用される再構築されたピクチャを記憶する。
【0051】
[0059] VVC規格デコーダは、再構築されたピクチャを、DPBから、テレビジョンディスプレイ、パーソナルコンピューティングモニタ、スマートフォンディスプレイ、またはタブレットディスプレイなど、コンピューティングシステムのユーザ閲覧可能ディスプレイに出力するように、コンピューティングシステムの1つまたは複数のプロセッサをさらに構成する。
【0052】
[0060] したがって、上記で説明された符号化プロセス100および復号プロセス150によって示されているように、VVC規格エンコーダおよびVVC規格デコーダはそれぞれ、VVC仕様による動き予測コーディングを実装する。VVC規格エンコーダおよびVVC規格デコーダはそれぞれ、VVC規格によって記述された動き補償予測に従って、DPBの以前の再構築されたピクチャに基づいて、再構築されたピクチャを生成するようにコンピューティングシステムの1つまたは複数のプロセッサを構成し、以前の再構築されたピクチャは、本明細書で説明されるように、動き補償予測において参照ピクチャとして機能する。
【0053】
[0061] コーディングパラメータセットに関して上記で説明されたように、インター予測コーディングによってコーディングされた再構築されたピクチャについて、VVC規格エンコーダおよびVVC規格デコーダは、再構築されたブロックのインター予測のためのマージモードおよびアフィン動き補償を実装する。VVC規格エンコーダおよびVVC規格デコーダは、VVC規格によって指定されているように、動き補償予測(「MCP」)と、アフィン動き補償予測(「アフィンMCP」)と、他のマージモードとを含む、再構築されたピクチャのCUの動き情報のインター予測のための複数のマージモードを実装する。動き情報は、複数の動きベクトルを含み得る。
【0054】
[0062] 再構築されたピクチャのCUの動き情報は、動き候補リストをさらに含み得る。VVC規格によれば、動き候補リストは、複数の動き候補に対する参照を含んでいるデータ構造であり得る。動き候補は、ブロック構造、またはピクセルなど、ブロック構造のサブユニット、または現在のピクチャのブロック構造の任意の他の好適な再分割であり得るか、あるいは別のピクチャの動き候補に対する参照であり得る。動き候補は、空間動き候補または時間動き候補であり得る。動きベクトル補償(「MVC」)を適用することによって、VVC規格デコーダは、動き候補リストから動き候補を選択し、その動き候補の動きベクトルを、再構築されたピクチャのCUの動きベクトルとして導出し得る。
【0055】
[0063] 図3は、VVC規格によるマージモードコーディングによる、ピクチャのCUのための動き候補の例示的な選択を示す。
【0056】
[0064] VVC規格によれば、動き候補リストは、マージ候補リストであり得、最高5つのタイプのマージ候補(後で説明されるように、ECMによれば6つ)を含み得る。VVC規格エンコーダは、マージインデックスを含むようにCUのシンタックス構造のコーディングを実装することができる。
【0057】
[0065] マージモードでコーディングされる各CUについて、最適なマージ候補のインデックスが、トランケーテッド・ユーナリー・バイナライゼーション(TU)を使用して符号化される。
【0058】
[0066] マージモードに従ってコーディングされるピクチャのCUのためのマージ候補リストは、順序通り、以下のマージ候補を含み得る。
【0059】
[0067] 現在のCUに対する空間的に近傍にあるCUからの空間MVP候補、
【0060】
[0068] 現在のCUについてのコロケートされたCUからの時間MVP候補(「TMVP候補」)、
【0061】
[0069] FIFOテーブルからの履歴ベースMVP候補、
【0062】
[0070] ペアワイズ平均MVP候補、および
【0063】
[0071] ゼロ動きベクトル。
【0064】
[0072] 図2が示すように、ピクチャの現在のCUの複数の空間的に近傍にあるブロックが存在する。現在のCUの空間的に近傍にあるブロックは、現在のCUの左エッジの近傍にあるブロックと、現在のCUの上エッジの近傍にあるブロックとを含む。空間的に近傍にあるブロックは、図2に示されているように、現在のCUに対する左右関係および上下関係を有する。図2の例によって、マージモードに従ってコーディングされるピクチャのためのマージ候補リストは、以下のマージ候補までを含むことができる。
【0065】
[0073] 左側において空間的に近傍にあるブロック(A)、
【0066】
[0074] 上側において空間的に近傍にあるブロック(B)、
【0067】
[0075] 右上側において空間的に近傍にあるブロック(B)、
【0068】
[0076] 左下側において空間的に近傍にあるブロック(A)、および
【0069】
[0077] 左上側において空間的に近傍にあるブロック(B)。
【0070】
[0078] 本明細書に示される空間的に近傍にあるブロックのうち、ブロックAは、現在のCUの左側のブロックであり、ブロックAは、現在のCUの左側のブロックであり、ブロックBは、現在のCUの上側のブロックであり、ブロックBは、現在のCUの上側のブロックであり、ブロックBは、現在のCUの上側のブロックである。現在のCUに対する、または互いに対する、空間的に近傍にある各ブロックの相対位置決めは、これらの関係をさらに越えて限定されないものとし、現在のCUに対するまたは互いに対する空間的に近傍にある各ブロックの相対サイズに関する限定はないものとする。
【0071】
[0079] VVC規格エンコーダおよびVVC規格デコーダは、現在のCUの左側において空間的に近傍にあるブロックを探索することと、現在のCUの上側において空間的に近傍にあるブロックを探索することとから、多くとも4つのマージ候補を導出することを実装する。これらの空間的に近傍にあるブロックは、B、A、B、A、およびBの順序で探索され得る。これらの空間的に近傍にあるブロックのいずれかが、それらが別のスライスまたはタイルに属さない限り、マージ候補リストのために利用可能であり得る。したがって、Bは、他の4つの空間的に近傍にあるブロックのいずれも利用可能でないか、またはイントラコーディングされる場合に、マージ候補リストに追加されるだけである。
【0072】
[0080] 利用可能であるとわかった空間的に近傍にある各ブロックについて、マージ候補は、その空間的に近傍にあるブロックの動きから導出され、マージ候補リストに追加される。このようにしてA候補が追加された後に、さらなる候補を見つけた場合、VVC規格エンコーダおよびVVC規格デコーダは、冗長検査を実施することをさらに実装する。別の候補と同じ動き情報を含んでいる候補は、リストに追加されるべきでない。しかしながら、算出複雑さを低減するために、すべての可能な候補ペアが冗長検査において考慮されるとは限らない。代わりに、図3に示されているように、矢印でリンクされたペアのみが考慮され、候補は、冗長検査のために使用される対応する候補が同じ動き情報を有しない場合のみ、リストに追加される。
【0073】
[0081] 次に、1つの時間マージ候補のみがリストに追加される。詳細には、この時間マージ候補の導出では、スケーリングされた動きベクトルが、コロケートされた参照ピクチャに属するコロケートされたCUに基づいて導出される。VVC規格エンコーダは、スライスヘッダ中のコロケートされたCUの導出のために使用されるべき参照ピクチャリストおよび参照インデックスを明示的にシグナリングすることを実装する。
【0074】
[0082] VVC規格は、「コロケートされたピクチャ」を、現在のピクチャと同じ空間解像度と、同じスケーリングウィンドウオフセットと、同じ数のサブピクチャと、同じCTUサイズとを有するピクチャとして定義することを、理解されたい。
【0075】
[0083] 図4は、VVC規格による、時間マージ候補のためのスケーリングされた動きベクトルを取得することを、点線によって示し、スケーリングされた動きベクトルは、ピクチャ順序カウント(「POC」)距離、tbおよびtdを使用して、コロケートされたCUの動きベクトルからスケーリングされ、ここで、tbは、現在のピクチャの参照ピクチャと現在のピクチャとの間のPOC差分を示し、tdは、コロケートされたピクチャと、コロケートされたピクチャの参照ピクチャとの間のPOC差分を示す。時間マージ候補の参照ピクチャインデックスが、0に等しく設定される。
【0076】
[0084] 時間マージ候補を導出する際に、VVC規格エンコーダおよびVVC規格デコーダは、コロケートされたCUのL0動きベクトルおよびL1動きベクトルのうちの一方から、スケーリングされた動きベクトルを導出することを実装し、コロケートされたCUのL0動きベクトルおよびL1動きベクトルのうちの一方は、以下の工程に従って決定されることを理解されたい。
【0077】
[0085] コロケートされたCUの動きベクトルが双予測動きベクトルであり、現在のピクチャが低遅延ピクチャである場合、TMVP候補のL0動きベクトルは、コロケートされたCUのL0動きベクトルからスケーリングされ、TMVP候補のL1動きベクトルは、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0078】
[0086] そうではなく、コロケートされたCUの動きベクトルが双予測動きベクトルであり、現在のピクチャが非低遅延ピクチャである場合、VVC規格エンコーダおよびVVC規格デコーダは、コロケートされたCUの参照ピクチャリストに従って、スケーリングのための基礎として、コロケートされたCUの2つの動きベクトルのうちの一方を決定することを実装する。より具体的には、コロケートされたCUがL0参照ピクチャリストからのものである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは、両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。同様に、コロケートされたCUがL1参照ピクチャリストからのものである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは、両方とも、コロケートされたCUのL0動きベクトルからスケーリングされる。
【0079】
[0087] そうではなく、コロケートされたCUの動きベクトルがL0予測動きベクトルである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは、両方とも、現在のピクチャが低遅延ピクチャであるか否かにかかわらず、コロケートされたCUのL0動きベクトルからスケーリングされる。同様に、コロケートされたCUの動きベクトルがL1予測動きベクトルである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは、両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0080】
[0088] 図5は、候補Cと候補Cとの間の時間候補のための位置の選択を示し、実線で輪郭を描かれたブロックは、VVC規格による、現在のCUのロケーションを示す。位置CにおけるコロケートされたCUが利用可能でないか、イントラコーディングされるか、またはCTUの現在の行の外にある場合、VVC規格エンコーダおよびVVC規格デコーダは、位置CにおけるコロケートされたCUを使用して時間マージ候補を導出することを実装する。他の場合、VVC規格エンコーダおよびVVC規格デコーダは、位置CにおけるコロケートされたCUを使用して時間マージ候補を導出することを実装する。
【0081】
[0089] したがって、VVC規格によれば、時間候補は、現在のCUの右下側コーナーに相対的に配置されたコロケートされたCU、または現在のCUの中心に相対的に配置されたコロケートされたCUのいずれかから導出されることを、理解されたい。
【0082】
[0090] 次に、VVC規格エンコーダおよびVVC規格デコーダは、マージ候補リストにおいて、空間MVP候補およびTMVP候補の後に、履歴ベースMVP(「HMVP」)マージ候補を追加することを実装する。本明細書では、前にコーディングされたブロックの動き情報は、テーブルに記憶され、現在のCUのためのMVP候補として使用される。複数のHMVP候補をもつテーブルが、符号化/復号プロセス中に維持される。テーブルは、新しいCTU行に遭遇したとき、リセット(空に)される。サブユニットでないインターコーディングされたCUがあるときはいつでも、関連する動き情報が、新しいHMVP候補としてテーブルの最後のエントリに追加される。
【0083】
[0091] HMVPテーブルサイズSが6であるように設定され、これは、最高5つのHMVP候補がテーブルに追加され得ることを示す。新しい動き候補をテーブルに挿入するとき、VVC規格エンコーダおよびVVC規格デコーダは、制限付き先入れ先出し(「FIFO」)処理を実装し、冗長検査が、テーブル中に同一のHMVPがあるかどうかを見つけるために最初に適用される。見つかった場合、同一のHMVPはテーブルから削除され、その後のすべてのHMVP候補が前方に移動され、同一のHMVPは、テーブルの最後のエントリに挿入される。
【0084】
[0092] HMVP候補は、マージ候補リスト構築プロセスにおいて使用され得る。テーブル中の最新のいくつかのHMVP候補が、順序通りに検査され、候補リストにおいて、TMVP候補の後に挿入される。冗長検査は、空間または時間マージ候補に対するHMVP候補に対して適用される。
【0085】
[0093] 冗長検査動作の数を低減するために、以下の簡略化が導入される。
【0086】
[0094] AおよびB空間候補に対してそれぞれ、テーブル中の最後の2つのエントリが冗長検査される。
【0087】
[0095] 利用可能なマージ候補の総数が、最大許容マージ候補から1少ない値に達すると、HMVPからのマージ候補リスト構築プロセスは終了される。
【0088】
[0096] 次に、VVC規格エンコーダおよびVVC規格デコーダは、最初の2つのマージ候補を使用して、既存のマージ候補リスト中の候補のあらかじめ定義されたペアを平均化することによってペアワイズ平均候補を生成することを実装する。それぞれ、第1のマージ候補は、p0Candとして定義され、第2のマージ候補は、p1Candとして定義され得る。平均化された動きベクトルは、各参照リストについて別々に、p0Candおよびp1Candの動きベクトルの利用可能性に従って計算される。両方の動きベクトルが1つのリスト中で利用可能である場合、これらの2つの動きベクトルは、それらが異なる参照ピクチャをポイントするときでも平均化され、それの参照ピクチャは、p0Candの動きベクトルに設定される。一方の動きベクトルのみが利用可能である場合、その動きベクトルを直接使用する。動きベクトルが利用可能でない場合、このリストを無効に保つ。また、p0Candおよびp1Candのハーフペル補間フィルタインデックスが異なる場合、それは0に設定される。
【0089】
[0097] 最後に、ペアワイズ平均マージ候補が追加された後にマージリストがいっぱいでない場合、最大マージ候補数に達するまで、ゼロMVPが端位置に挿入さる。ゼロ動きベクトルは、(0,0)の動きシフトを有し得る。
【0090】
[0098] VVC規格は、多くとも6つの候補のマージ候補リストを提供するが、このエリアにおけるJVETの継続する作業は、(2021年1月におけるムービングピクチャエキスパートグループ(「MPEG」)の第133回会議において「Exploration experiment on enhanced compression beyond VVC capability」として、および2021年10月におけるMPEGの第136回会議において「Algorithm description of Enhanced Compression Model3(ECM3)」として提示された)VVC規格の範囲を越え、以下のものを順番に含む、多くとも15個の候補の拡大されたマージ候補リストを提案する。
【0091】
[0099] 現在のCUに対する空間的に近傍にあるCUからの空間MVP候補、
【0092】
[00100] 現在のCUのコロケートされたCUからの時間MVP候補、
【0093】
[00101] 隣接しない空間候補、
【0094】
[00102] FIFOテーブルからの履歴ベースMVP候補、
【0095】
[00103] ペアワイズ平均MVP候補、および
【0096】
[00104] ゼロ動きベクトル。
【0097】
[00105] 図6は、ECM3による、可能な空間近傍ブロックを示し、ここから、隣接する空間マージ候補だけでなく、隣接しない空間マージ候補も導出され得る。隣接しない空間マージ候補は、通常マージ候補リスト中のTMVP候補の後に挿入される。隣接しない空間候補と現在のコーディングブロックとの間の距離は、現在のコーディングブロックの幅および高さに基づく。ラインバッファ制限は適用されない。
【0098】
[00106] さらに、マージ候補リストが構築された後に、マージ候補は、(以下、「ARMC」と呼ばれる、マージ候補の適応並べ替えに従って)並べ替えられる。マージ候補は、最初にいくつかのサブグループに分割される。サブグループサイズは、通常マージモードおよびTMマージモードの場合、5に設定される。サブグループサイズは、アフィンマージモードの場合、3に設定される。各サブグループ中のマージ候補は、テンプレートマッチングに基づくコスト値に従って昇順に並べ替えられる。簡略化のために、最後のサブグループ中のマージ候補ではあるが最初のサブグループではないマージ候補は、並べ替えられない。マージ候補のテンプレートマッチングコストは、現在のブロックのテンプレートのサンプルと、それらの対応する参照サンプルとの間の絶対差分和(「SAD」)によって測定される。テンプレートは、現在のブロックの近傍にある再構築されたサンプルのセットを含む。テンプレートの参照サンプルは、マージ候補の動き情報によって位置決めされる。
【0099】
[00107] ECM3のマージ候補リスト探索技法は、マージ候補探索の範囲を拡大することに焦点を当てるが、VVC規格もECM提案も、TMVP候補がマージ候補リスト中の1つの位置のみを占有し続けるので、TMVP技法の改善された性能を有しない。したがって、TMVP候補は、他のマージ候補と比較して性能が劣る(underperform)ことになる可能性がますますある。TMVP性能が、マージ候補リスト中の、他の動き予測技法に基づくマージ候補と競合的なままであるように、TMVP性能を改良することが望まれる。
【0100】
[00108] したがって、本開示の例示的な実施形態は、いくつかの点におけるVVCおよびECMに対する改善を提供する時間動きベクトル予測候補選択方法を提供する。
【0101】
[00109] 1つまたは複数の態様では、本開示の例示的な実施形態は、コロケートされたCTUの再位置決めを利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0102】
[00110] 1つまたは複数の態様では、本開示の例示的な実施形態は、拡大された選択レンジを利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0103】
[00111] 1つまたは複数の態様では、本開示の例示的な実施形態は、スケーリングされた動きベクトルの無条件導出を利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0104】
[00112] 1つまたは複数の態様では、本開示の例示的な実施形態は、単予測動きベクトルを双予測動きベクトルにスケーリングすることを省略する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0105】
[00113] 1つまたは複数の態様では、本開示の例示的な実施形態は、参照ピクチャインデックスを設定する際に複数のオプションを利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0106】
[00114] 1つまたは複数の態様では、本開示の例示的な実施形態は、スケーリングファクタオフセッティングを利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0107】
[00115] 1つまたは複数の態様では、本開示の例示的な実施形態は、時間動きベクトル予測候補を省略するマージ候補リスト作成方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0108】
[00116] 1つまたは複数の態様では、本開示の例示的な実施形態は、動き情報精緻化を利用するピクチャ再構築方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0109】
[00117] 以下、本開示の例示的な実施形態の上記の態様の各々をさらに詳細に説明する。
【0110】
[00118]ECM設計によれば、時間動きのオンチップバッファサイズを最小化するために、時間動きベクトルは、コロケートされたCTUと、コロケートされたCTUの右側に位置決めされた1つの列とのみから取得され得、コロケートされたCTUは、その位置が現在のCTUの位置と同じである、コロケートされた参照ピクチャ中のCTUである。しかしながら、この設計は、高速の動きを伴うシーケンスに好適でないか、または、そのコロケートされた参照ピクチャが遠く離れている(すなわち、ピクチャとそれのコロケートされた参照ピクチャとの間のPOC距離が大きい)ピクチャに好適でない。したがって、本開示の例示的な実施形態は、時間動きベクトルが、コロケートされたCTU以外の位置から導出されることを許容するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0111】
[00119] 図7Aおよび図7Bはそれぞれ、ECMによる時間動きベクトル予測候補選択方法と、本開示の例示的な実施形態による、コロケートされたCTUの再位置決めを利用する時間動きベクトル予測候補選択方法とを示す。最初に、ピクチャのブロック区分が、ピクチャを複数のブロックのグリッドに効果的に分割し、ピクチャのいくつかのグリッドは、より大きいブロックサイズを有し得、他のグリッドは、より小さいブロックサイズを有する。ピクチャの各グリッドについて、グリッドの時間動きがどこから来るかを示すために動きベクトルがシグナリングされ、したがって、そのようなグリッドは、グリッド粒度が動きベクトルの分布を決定するので、簡潔のために「動きグリッド」と呼ばれる。
【0112】
[00120] 図7Aおよび図7Bは、現在のブロックの動きグリッドサイズと、コロケートされたブロックの動きグリッドサイズとが、CTUのサイズに等しい例を示し、左図はECM提案を示し、右図は本開示を示す。本開示の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、シグナリングされた動きベクトル702に従って、コロケートされたCTUの位置を変更することを実装する。言い換えれば、VVC規格エンコーダおよびVVC規格デコーダは、(後で説明されるように、必ずしもそうとは限らないが、シグナリングされ得る)動きベクトル702に従って、コロケートされたピクチャ710の再位置決めされたコロケートされたCTU708から、現在のピクチャ706の現在のCTU704の現在のCUのTMVP候補を導出し、再位置決めされたコロケートされたCTU708は、現在のピクチャ706中の現在のCTU704に対する動きベクトル702によって、コロケートされたピクチャ710において位置決めされる。
【0113】
[00121] 本開示の例示的な実施形態による、コロケートされたCTU708の「位置を変更すること」、またはコロケートされたCTU708を「再位置決めすること」は、コロケートされたピクチャ710のピクチャデータが移動されることを意味するものではないことを理解されたい。そうではなく、「位置を変更すること」、またはコロケートされたCTU708を「再位置決めすること」は、VVC規格エンコーダおよびVVC規格デコーダが、コロケートされたCTU708を使用する際に、本明細書で説明される動作を実施することとして理解されるべきである。コロケートされたCTU708が、現在のピクチャ706中の現在のCTU704と同じ様に、コロケートされたピクチャ710中で位置決めされる必要はなく、その代わりに、コロケートされたピクチャ710の別のCTU(そうである必要はないが、現在のCTU704に対して異なるように位置決めされ得る)が、上記の動作を実施する際に、コロケートされたCTU708の代わりに使用される。
【0114】
[00122] 代替的に、現在のブロックの動きグリッドサイズと、コロケートされたブロックの動きグリッドサイズとは、CTUのサイズと異なり得る。一例では、動きグリッドサイズがN×Nであり得、Nは、256、128、64、32または16個のルマサンプルに等しい。他の例では、動きグリッドサイズがN×Mであり得、NはMに等しくなく、NとMとは、両方とも2の整数べき乗である。
【0115】
[00123] 動きグリッドサイズは、シーケンス、時間レイヤまたはピクチャタイプの差分に応じて異なり、異なるブロック区分を生じることがある。いくつかの例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、シーケンスレベル、ピクチャレベルまたはスライスレベルシンタックス構造において、現在のブロックの動きグリッドサイズをシグナリングすることを実装する。他の例示的な実施形態によれば、動きグリッドサイズは、時間レイヤに従って調整される。
【0116】
[00124] 本開示を理解するために、VVC規格エンコーダおよびVVC規格デコーダが、シンタックス構造中でパラメータをシグナリングすることを実装する場合、エンコーダは、ブロック、ピクチャ、シーケンス、スライスなどのシンタックス構造においてパラメータを記録し、ビットストリーム上で、コーディングされたシンタックス構造を送信することを実装し、エンコーダは、ビットストリームからのコーディングされたシンタックス構造をパースすることを実装することを理解されたい。
【0117】
[00125] VVC規格エンコーダおよびVVC規格デコーダは、シーケンスレベルシンタックス構造における最も高い時間レイヤの動きグリッドサイズをシグナリングすることを実装することができるか、またはCTUと同じサイズなど、最も高い時間レイヤの固定動きグリッドサイズをシグナリングすることを実装することができる。その場合、VVC規格エンコーダおよびVVC規格デコーダは、あらゆるより低い時間レイヤについての動きグリッドサイズを減少させることを実装し、これは、より低い時間レイヤでは、ピクチャとそれのコロケートされた参照ピクチャとの間のPOC距離が大きいからである。したがって、より高い時間レイヤよりも、より低い時間レイヤにおいて、動きはより複雑で細かくなり、したがって、より小さい粒度で時間動き予測の精度を改善することができる。
【0118】
[00126] さらに、VVC規格エンコーダおよびVVC規格デコーダは、シンタックス構造中の最も低い時間レイヤの動きグリッドサイズをシグナリングすることを実装し、あらゆるより高い時間レイヤについての動きグリッドサイズを増加させることを実装することができる。
【0119】
[00127] 各動きグリッドのための動きベクトルをシグナリングするために、動きベクトルは、直接シグナリングされ得るか、または予測され得る。いくつかの例示的な実施形態によれば、現在の動きグリッドの動きベクトルは、その近傍にある動きグリッドのいずれか(たとえば、ラスタ走査順序コーディングによる、左側または上側の近傍にある動きグリッド、あるいは以下で説明されるように、他の走査順序に従って前にコーディングされた、ブロックの任意の他の近傍にある動きグリッド)からマージされ得る。VVC規格エンコーダおよびVVC規格デコーダは、現在の動きグリッドの動きベクトルが、その近傍にある動きグリッドの動きベクトルと同じであるかどうかを示すために、シンタックス構造においてパラメータ(たとえば、フラグまたはインデックス)をシグナリングすることを実装する。シグナリングされたパラメータが同一であることを示す場合、現在の動きグリッドの動きベクトルはシグナリングされず、その近傍にある動きグリッドを直接継承する。他の場合、現在の動きグリッドの動きベクトルは、シンタックス構造においてシグナリングされる。
【0120】
[00128] 代替的に、現在の動きグリッドの動きベクトルは、その近傍にある動きグリッドから予測され得る。VVC規格エンコーダおよびVVC規格デコーダは、現在の動きグリッドの動きベクトル予測子として、近傍にある動きグリッドの動きベクトルを利用することを実装する。上記で説明されたパラメータをシグナリングするのではなく、動きベクトル差分のみがシンタックス構造においてシグナリングされる。
【0121】
[00129] さらに、各動きグリッドのための動きベクトルがシンタックス構造においてシグナリングされる場合、VVC規格エンコーダおよびVVC規格デコーダは、デフォルト順序に従って動きグリッドをコーディングすることを実装し、ここで、そのデフォルト順序は、ラスタ走査順序、z順序走査順序、水平走査順序、垂直走査順序、および対角走査順序のうちの1つであり得る。
【0122】
[00130] コロケートされたCTUは、シグナリングされた動きベクトルがゼロ動きに等しくなるように、時間動きベクトルのための最も良好な位置にあり得ることを理解されたい。したがって、シグナリングオーバーヘッドを低減するために、VVC規格エンコーダおよびVVC規格デコーダは、コロケートされたCTUの位置が現在のCTUから再位置決めされるかどうかを決定する制御パラメータを、シンタックス構造においてシグナリングすることを実装する。
【0123】
[00131] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、コロケートされたCTUの位置が現在のCTUから再位置決めされるかどうかを示すために、シーケンスレベル、ピクチャレベル、またはスライスレベルシンタックス構造フラグをシグナリングすることを実装する。
【0124】
[00132] 他の例示的な実施形態によれば、より高い時間レイヤのコロケートされたCTUの位置は、現在のCTUから不変のままであり、他のパラメータをシグナリングする必要はない。
【0125】
[00133] 1つまたは複数の態様では、本開示の例示的な実施形態は、拡大された選択レンジを利用する時間動きベクトル予測候補選択方法を提供する。
【0126】
[00134] 図5を参照しながら上記で説明されたVVCおよびECMによれば、時間候補のための位置は、図5に示されている候補CおよびCのみから選択され得る。したがって、本開示の例示的な実施形態は、追加の位置からの時間候補の選択を提供する。
【0127】
[00135] いくつかの例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、図5に示されているCおよびC(「時間候補」)と、図2に示されているA、A、B、B、およびB(「空間候補」)(すなわち、図5に示されている現在のCUの位置を基準として、図2を参照しながら説明された空間的に近傍にあるブロック)とを組み合わせたセットから、時間候補を選択することを実装する。
【0128】
[00136] いくつかの例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、デフォルト順序に従って時間候補を選択することを実装する。デフォルト順序は、C、次いでC、次いでB、次いでA、次いでA、次いでB、次いでBである。位置CにおけるCUが、利用可能でないか、イントラコーディングされるか、またはCTUの現在の行の外にある場合、位置Cが検査される。他の場合、位置CがTMVP候補の導出において使用され、探索は終わる。同様に、位置CにおけるCUが、利用可能でないか、イントラコーディングされるか、またはCTUの現在の行の外にある場合、位置Bが検査され、以下同様である。本開示の例示的な実施形態によるデフォルト順序は限定されず、C、C、A、A、B、B、Bの任意の組合せであり得る。
【0129】
[00137] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、時間候補のすべての時間動きベクトルを平均化することによってTMVP候補を導出することを実装する。時間候補の時間動きベクトルは、固定参照ピクチャへのスケーリングによって正規化され、次いで、正規化された時間動きベクトルは平均化される。
【0130】
[00138] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、時間候補の時間動きベクトルを空間マージ候補と比較することによってTMVP候補を導出することを実装する。比較して最も大きい動きベクトル差分を生じる時間動きベクトルが、TMVP候補の導出において使用される。
【0131】
[00139] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、テンプレートマッチングのそれぞれのコスト値に従って時間候補の時間動きベクトルからTMVP候補を選択することを実装する。時間候補のテンプレートマッチングコストは、現在のブロックのテンプレートのサンプルと、それらの対応する参照サンプルとの間のSADによって測定される。テンプレートは、現在のブロックの近傍にある再構築されたサンプルのセットを含む。テンプレートの参照サンプルは、時間候補の動き情報によって位置決めされる。
【0132】
[00140] 他の例示的な実施形態によれば、TMVP候補がどこから選択されるかを間接的に決定する代わりに、TMVP候補の導出が明示的にシグナリングされ得る。VVC規格エンコーダおよびVVC規格デコーダは、{C,C,A,A,B,B,B}を含むセットから時間候補を取得することを実装する。時間候補は、{C,C,A,A,B,B1,}の任意のサブセットであり得る。時間候補は、コロケートされたCTU内の任意の位置からも取得され得る。
【0133】
[00141] VVC規格エンコーダおよびVVC規格デコーダは、TMVP候補の導出を識別するために各CTUのシンタックス構造においてインデックスをシグナリングすることを実装する。たとえば、0であるシグナリングされたインデックスは、TMVP候補がC位置から導出されることを識別し、1であるシグナリングされたインデックスは、TMVP候補がC位置から導出されることを識別し、以下同様である。インデックスは、シーケンスレベル、ピクチャレベル、スライスレベル、64×64グリッドレベル、32×32グリッドレベル、16×16グリッドレベルなど、異なる粒度のシンタックス構造においてシグナリングされ得る。
【0134】
[00142] 1つまたは複数の態様では、本開示の例示的な実施形態は、スケーリングされた動きベクトルの無条件導出を利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0135】
[00143] ECMによれば、時間動きベクトルは、現在のピクチャが低遅延ピクチャであるかどうかの条件付きで、L0時間動きまたはL1時間動きのいずれかからスケーリングされる。本開示の例示的な実施形態によれば、この条件は省略され得、したがって、時間マージ候補を導出する際に、VVC規格エンコーダおよびVVC規格デコーダは、コロケートされたCUの動きベクトルのうちの一方から、スケーリングされた動きベクトルを導出することを実装する。コロケートされたCUの動きベクトルのうちの当該一方は、以下の工程に従って決定される。
【0136】
[00144] コロケートされたCUの動きベクトルが双予測動きベクトルである場合、現在のピクチャが低遅延ピクチャであるか否かにかかわらず、TMVP候補のL0動きベクトルは、コロケートされたCUのL0動きベクトルからスケーリングされ、TMVP候補のL1動きベクトルは、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0137】
[00145] そうではなく、コロケートされたCUの動きベクトルがL0予測動きベクトルである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは両方とも、現在のピクチャが低遅延ピクチャであるか否かにかかわらず、コロケートされたCUのL0動きからスケーリングされる。同様に、コロケートされたCUの動きベクトルがL1予測動きベクトルである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0138】
[00146] 1つまたは複数の態様では、本開示の例示的な実施形態は、単予測動きベクトルを双予測動きベクトルにスケーリングすることを省略する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0139】
[00147] ECMによれば、TMVP候補の動きベクトルは、常に、コロケートされたCUの動きが単予測であるのか双予測であるのかにかかわらず、双予測動きによって導出される。単予測動きベクトルを双予測動きベクトルにスケーリングすることは、スケーリングプロセスが正確でないので、好適でない。
【0140】
[00148] いくつかの例示的な実施形態によれば、単予測動きベクトルを双予測動きベクトルにコンバートするスケーリングプロセスを省略することが提案される。VVC規格エンコーダおよびVVC規格デコーダは、時間マージ候補を導出するとき、コロケートされたCUの動きベクトルのうちの一方から、スケーリングされた動きベクトルを導出することを実装する。コロケートされたCUの動きベクトルのうちの当該一方は、以下の工程に従って決定される。
【0141】
[00149] コロケートされたCUの動きベクトルが双予測動きベクトルであり、現在のピクチャが低遅延ピクチャである場合、TMVP候補のL0動きベクトルは、コロケートされたCUのL0動きベクトルからスケーリングされ、TMVP候補のL1動きベクトルは、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0142】
[00150] そうではなく、コロケートされたCUの動きが双予測動きベクトルであり、現在のピクチャが非低遅延ピクチャである場合、コロケートされたCUの2つの動きベクトルのうちのどちらが、スケーリングを実施するために使用されるかが、コロケートされたCUの参照ピクチャリストに従って決定される。すなわち、コロケートされたCUがL0参照ピクチャリストからのものである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。同様に、コロケートされたCUがL1参照ピクチャリストからのものである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは両方とも、コロケートされたCUのL0動きベクトルからスケーリングされる。
【0143】
[00151] そうではなく、コロケートされたCUの動きベクトルがL0予測動きベクトルである場合、TMVP候補のL0動きベクトルは、現在のピクチャが低遅延ピクチャであるか否かにかかわらず、コロケートされたCUのL0動きベクトルからスケーリングされる一方、TMVP候補のL1動きベクトルは、利用不可能であるように設定される。同様に、コロケートされたCUの動きがL1予測動きである場合、TMVP候補のL1動きベクトルは、コロケートされたCUのL1動きベクトルからスケーリングされる一方、TMVP候補のL0動きベクトルは、利用不可能であるように設定される。
【0144】
[00152] 他の例示的な実施形態によれば、単予測動きを双予測動きにコンバートするスケーリングプロセスは、すべての時間レイヤではなく、最も低い時間レイヤについてのみ省略され得る。たとえば、時間レイヤがレイヤ3よりも低いとき、スケーリングは省略される。
【0145】
[00153] 他の例示的な実施形態によれば、単予測動きを双予測動きにコンバートするスケーリングプロセスは、最も低い時間レイヤのみについておよび非低遅延ピクチャについてのみ省略され得る。
【0146】
[00154] 他の例示的な実施形態によれば、単予測動きを双予測動きにコンバートするスケーリングプロセスは、いくつかのマージモードについてのみ省略され、これらのマージモードは、通常マージモードと、MVDを伴うマージと、幾何学的区分モードと、組み合わせられたインターおよびイントラモードと、サブブロックベース時間動きベクトル予測と、アフィンマージモードと、テンプレートマッチングモードとのうちのいずれか、いくつか、またはすべてであり得る。
【0147】
[00155] 他の例示的な実施形態によれば、TMVP候補の動きベクトルが単予測動きによって導出されるのか、双予測動きによって導出されるのかが、テンプレートマッチングのコスト値に従って決定される。VVC規格エンコーダおよびVVC規格デコーダは、現在のブロックのテンプレートのサンプルと、それらの対応する参照サンプルとの間の絶対差分和によって、テンプレートマッチングコストを測定することを実装する。テンプレートは、現在のブロックの近傍にある再構築されたサンプルのセットを含む。テンプレートの参照サンプルは、時間候補の、L0予測動き情報と、L1予測動き情報と、双予測動き情報とによって位置決めされる。
【0148】
[00156] TMVP候補の単予測動きベクトルまたは双予測動きベクトルを判断するためのテンプレートマッチングは、ARMCが可能にされるときのみ、実施されることを理解されたい。さらに、実装形態を簡略化するために、マージ候補リストを構築するとき、VVC規格エンコーダおよびVVC規格デコーダは、最初に、TMVP候補を双予測動きベクトルにスケーリングすることを実装する。次いで、ARMCが適用されたとき、TMVP候補は、テンプレートマッチングのコスト値に基づいて単予測動きベクトルにコンバートされ得る。
【0149】
[00157] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、コロケートされたCUの動きが単予測であるとき、追加の単予測TMVP候補を追加することを実装する。
【0150】
[00158] 1つまたは複数の態様では、本開示の例示的な実施形態は、参照ピクチャインデックスを設定する際に複数のオプションを利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0151】
[00159] ECMによれば、時間マージ候補の参照ピクチャインデックスは0に等しく設定される。本開示の例示的な実施形態によれば、異なる参照ピクチャインデックスが選択され得る。
【0152】
[00160] いくつかの例示的な実施形態によれば、選択された参照ピクチャインデックスは、スケーリングファクタ(すなわち、図4に示されているtb/td)が1に最も近いコロケートされたピクチャの参照ピクチャインデックスである。
【0153】
[00161] 他の例示的な実施形態によれば、選択された参照ピクチャインデックスは、空間的に近傍にあるブロックのために最も頻繁に選択された参照ピクチャインデックスである。空間近傍ブロックは、VVC規格およびECMに関して上記で説明されたように、空間候補、HMVP候補または隣接しない候補であり得る。
【0154】
[00162] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、シーケンスレベル、ピクチャレベル、スライスレベルまたはCTUレベルシンタックス構造において、参照ピクチャインデックスをシグナリングすることを実装する。
【0155】
[00163] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、ブロックが、サブブロックベース時間動きベクトル予測(「SbTMVP」)モードを使用してコーディングされるとき、サブブロックごとに、異なる参照ピクチャインデックスを選択することを実装する。
【0156】
[00164] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、ブロックがSbTMVPモードを使用してコーディングされるとき、サブブロックごとの参照ピクチャインデックス選択に基づいて各サブブロックのためのコンセンサス参照ピクチャインデックスを決定することを実装する。各サブブロックについて、最初に、参照ピクチャインデックスが選択され、選択された参照ピクチャインデックスは、スケーリングファクタが1に最も近いコロケートされたピクチャの参照インデックスである。その場合、ブロック全体の参照ピクチャインデックスは、各サブブロックの間で最も頻繁に選択された参照ピクチャインデックスである。
【0157】
[00165] 1つまたは複数の態様では、本開示の例示的な実施形態は、スケーリングファクタオフセッティングを利用する時間動きベクトル予測候補選択方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0158】
[00166] ECMによれば、スケーリングファクタは、VVC規格およびECMに関して上記で説明されたように、POC距離を使用して計算されるが、スケーリングファクタ計算は正確でないことが見受けられる。本開示の例示的な実施形態は、精度を改善するために、スケーリングファクタオフセットを実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0159】
[00167] いくつかの例示的な実施形態によれば、スケーリングファクタは、以下のようにオフセットされ得る。
【0160】
【数1】
【0161】
[00168] 本明細書では、tbは、現在のピクチャの参照ピクチャと現在のピクチャとの間のPOC差分を示し、tdは、コロケートされたピクチャの参照ピクチャと、コロケートされたピクチャとの間のPOC差分を示し、Nは非0整数を示す(たとえば、Nは、±8、±16に等しい)。負のNを仮定すれば、スケーリングファクタは、より小さくなるように調整される。正のNを仮定すれば、スケーリングファクタは、より大きくなるように調整される。
【0162】
[00169] 他の例示的な実施形態によれば、上記でオフセットされたスケーリングファクタは、1により近くなるよう影響を受ける。1よりも小さいスケーリングファクタを仮定すれば、上記で定義されたNは正の数に設定される。1よりも大きいスケーリングファクタを仮定すれば、Nは負の数に設定される。
【0163】
[00170] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、シーケンスレベル、ピクチャレベル、スライスレベル、またはCTUレベルシンタックス構造において、オフセット(すなわち、数N)をシグナリングすることを実装する。
【0164】
[00171] 例として、オフセットをシグナリングするとき、オフセットの絶対値と符号とが両方ともシグナリングされる。
【0165】
[00172]別の例として、オフセットをシグナリングするとき、オフセットの符号のみがシグナリングされる。絶対値は、デフォルト数に固定される。
【0166】
[00173] 別の例として、オフセットの絶対値と符号とは、異なるレベルにおいてシグナリングされ得、絶対値は、シーケンスレベルシンタックス構造においてシグナリングされ、符号は、CTUレベルシンタックス構造においてシグナリングされる。
【0167】
[00174] 他の例示的な実施形態によれば、スケーリングファクタは、各CUについて個々にオフセットされるかまたはオフセットされない。各CUについて、スケーリングファクタは、
【0168】
【数2】

のうちのいずれか1つに従って、オフセットされ得、またはオフセットされないことがある。最適なオフセットを選択するために、またはオフセットなしを選択するために、テンプレートマッチング方法が適用される。
【0169】
[00175] 他の例示的な実施形態によれば、スケーリングファクタは、時間レイヤごとにオフセットされ得る。すなわち、各時間レイヤは、異なるスケーリングファクタオフセットを有し得る。
【0170】
[00176] 1つまたは複数の態様では、本開示の例示的な実施形態は、時間動きベクトル予測候補を省略するマージ候補リスト作成方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0171】
[00177] ECMによれば、時間マージ候補は、通常マージモード、幾何学的区分モード(「GPM」)、MVDを伴うマージモード(「MMVD」)、インターおよびイントラ予測の組み合わせ(「CIIP」)、SbTMVPならびにアフィンモードに追加される。時間マージ候補は、常に、最終的に、コーディングにおいて使用されるとは限らないことが見受けられる。
【0172】
[00178] いくつかの例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、近傍ブロックの動き情報に従ってマージ候補リストに時間マージ候補を条件付きで追加することを実装する。近傍ブロックの時間動きが現在のブロックの時間動きと類似しており、近傍ブロックの動きが時間動きから取得されないとき、現在のブロックのTMVP候補は、マージ候補リストに追加するために利用不可能として扱われる。
【0173】
[00179] 図8は、本開示の例示的な実施形態による、近傍ブロックの動き情報に従ってマージ候補リストに時間マージ候補を条件付きで追加することを示す。図8では、動きベクトル
【0174】
【数3】

は、(コロケートされたCUの動きに等しい)現在のCUの動きベクトルであり、動きベクトル
【0175】
【数4】

は、コロケートされたCUの近傍ブロックの動きベクトルであり、動きベクトル
【0176】
【数5】

は、現在のCUの近傍ブロックの動きベクトルである。
【0177】
【数6】

が、
【0178】
【数7】

と類似しており、
【0179】
【数8】

が、
【0180】
【数9】

からスケーリングされないとき、時間マージ候補は、現在のブロックのマージ候補リストに追加されないことになる。
【0181】
[00180] 近傍ブロックは、{A,A,B,B,B}の任意のサブセットであり得る。近傍ブロックは、隣接しない空間マージ候補またはHMVPマージ候補でもあり得る。
【0182】
[00181] 現在のブロックの時間動きベクトルと近傍ブロックの時間動きベクトルとの間の類似度が、デフォルトしきい値と比較される。動きベクトル差分がデフォルトしきい値よりも小さいとき、それらの2つの時間動きベクトルは類似しているものとして扱われる。
【0183】
[00182] デフォルトしきい値は、0よりも大きい整数である。デフォルトしきい値は、現在のブロックのコーディングモードまたは現在のブロックのサイズに応じて、異なる値に設定され得る。たとえば、デフォルトしきい値は、通常マージモードの場合、1に設定され、テンプレートマッチングモードの場合、16に設定される。
【0184】
[00183] 他の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、時間レイヤ、ピクチャタイプ(たとえば、低遅延ピクチャまたは非低遅延ピクチャ)、または現在のCUのコーディングモードに従って、適応マージリスト構築順序を設定する。一例では、より高い時間レイヤについて、TMVP候補の優先度がより高く、これは、TMVP候補が、空間マージ候補の前に優先的に追加されるようにし、それにより、上記で説明されたマージ候補順序をオーバーライドする。
【0185】
[00184] 1つまたは複数の態様では、本開示の例示的な実施形態は、動き情報精緻化を利用するピクチャ再構築方法を実装するVVC規格エンコーダおよびVVC規格デコーダを提供する。
【0186】
[00185] いくつかの例示的な実施形態によれば、インターモードでコーディングされた現在のブロックが再構築された後に、インター予測方向(すなわち、L0予測、L1予測、または双予測)と、参照ピクチャインデックスと、動きベクトルとを含む、動き情報が精緻化される。現在のブロックの再構築されたサンプルが、テンプレートとして使用され、動き推定が実施される。
【0187】
[00186] 動き推定を実施するとき、ひずみのみが考慮される。精緻化された動き情報は、次いで、将来のコーディングピクチャのための時間動きとして使用される。動き推定プロセスにおいて使用される再構築されたサンプルは、ループフィルタプロセスの前または後のサンプルであり得る。
【0188】
[00187] いくつかの例示的な実施形態によれば、通常マージモード、CIIP、GPM、MMVDおよびテンプレートマッチングモードのためのマージ候補リストを構築するとき、VVC規格エンコーダおよびVVC規格デコーダは、近傍ブロックの時間動きが現在のブロックの時間動きと類似しており、近傍ブロックの動きが時間動きから取得されない場合、現在のブロックのTMVP候補を利用不可能として扱うことを実装する。TMVP候補がマージ候補リストに追加される場合、TMVP候補は、以下のように導出される。
【0189】
[00188] コロケートされたCUの動きが双予測動きである場合、現在のピクチャが低遅延ピクチャであるか否かにかかわらず、TMVP候補のL0動きベクトルは、コロケートされたCUのL0動きベクトルからスケーリングされ、TMVP候補のL1動きベクトルは、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0190】
[00189] そうではなく、コロケートされたCUの動きベクトルがL0予測動きベクトルである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは両方とも、現在のピクチャが低遅延ピクチャであるか否かにかかわらず、コロケートされたCUのL0動きからスケーリングされる。同様に、コロケートされたCUの動きベクトルがL1予測動きベクトルである場合、TMVP候補のL0動きベクトルとL1動きベクトルとは両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0191】
[00190] さらに、VVC規格エンコーダおよびVVC規格デコーダは、TMVP候補の参照ピクチャインデックスを、スケーリングファクタ(すなわち、図4に示されているtb/td)が1に最も近いコロケートされたピクチャの参照ピクチャインデックスに設定することを実装する。さらに、ARMCが有効にされ、現在のピクチャが非低遅延ピクチャであるとき、VVC規格エンコーダおよびVVC規格デコーダは、TMVP候補が単予測であるのか双予測であるのかを判断するために、および最適なオフセットまたは非オフセットスケーリングファクタを選択するために、テンプレートマッチング方法を適用することを実装する。
【0192】
[00191] 本開示の上記の態様のすべてがそれらの任意の組合せで同時に実装され得、本開示のすべての態様が、本開示の別の実施形態として、組合せて実装され得ることを、当業者は認識するであろう。
【0193】
[00192] 図9は、精緻化された時間動き候補挙動を実装するための上記で説明されたプロセスおよび方法を実装するための例示的なシステム900を示す。
【0194】
[00193] 本明細書で説明される技法および機構は、システム900の複数のインスタンスによって、ならびに任意の他のコンピューティングデバイス、システム、および/または環境によって実装され得る。図9に示されているシステム900は、システムの一例にすぎず、上記で説明されたプロセスおよび/またはプロシジャーを実施するために利用される任意のコンピューティングデバイスの使用または機能の範囲に関する限定を示唆するものではない。実施形態とともに使用するのに好適であり得る、他のよく知られているコンピューティングデバイス、システム、環境および/または構成は、限定するものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、ゲーム機、プログラマブルコンシューマーエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、フィールドプログラマブルゲートアレイ(「FPGA」)と特定用途向け集積回路(「ASIC」)とを使用する実装形態などを含む。
【0195】
[00194] システム900は、1つまたは複数のプロセッサ902と、1つまたは複数のプロセッサ902に通信可能に結合されたシステムメモリ904とを含み得る。1つまたは複数のプロセッサ902は、1つまたは複数のプロセッサ902に様々な機能を実施させるための1つまたは複数のモジュールおよび/またはプロセスを実行し得る。いくつかの実施形態では、1つまたは複数のプロセッサ902は、中央処理ユニット(「CPU」)、グラフィックス処理ユニット(「GPU」)、CPUとGPUとの両方、あるいは当技術分野において知られている他の処理ユニットまたは構成要素を含み得る。さらに、1つまたは複数のプロセッサ902の各々が、それ自体のローカルメモリを所有し得、そのローカルメモリはまた、プログラムモジュール、プログラムデータ、および/または1つまたは複数のオペレーティングシステムを記憶し得る。
【0196】
[00195] システム900の正確な構成およびタイプに応じて、システムメモリ904は、RAMなどの揮発性のもの、ROMなどの不揮発性のもの、フラッシュメモリ、小型ハードドライブ、メモリカードなど、またはそれらの何らかの組合せであり得る。システムメモリ904は、1つまたは複数のプロセッサ902によって実行可能である1つまたは複数のコンピュータ実行可能モジュール906を含み得る。
【0197】
[00196] モジュール906は、限定するものではないが、エンコーダ908とデコーダ910とのうちの1つまたは複数を含み得る。
【0198】
[00197] エンコーダ908は、上記で説明された、本開示の例示的な実施形態のうちのいずれかの、いくつかの、またはすべての態様を実装する、VVC規格エンコーダであり得、1つまたは複数のプロセッサ902を上記で説明された動作を実施するように構成するために、1つまたは複数のプロセッサ902によって実行可能である。
【0199】
[00198] デコーダ910は、上記で説明された、本開示の例示的な実施形態のうちのいずれかの、いくつかの、またはすべての態様を実装する、VVC規格エンコーダであり得、1つまたは複数のプロセッサ902を上記で説明された動作を実施するように構成するために、1つまたは複数のプロセッサ902によって実行可能である。
【0200】
[00199] システム900は、画像ソースデータおよびビットストリームデータを受信するための、ならびに再構築されたピクチャを参照ピクチャバッファまたはDBPおよび/またはディスプレイバッファに出力するための、入出力(I/O)インターフェース940をさらに含み得る。システム900は、システム900がネットワーク(図示せず)を介して他のデバイス(図示せず)と通信することを可能にする通信モジュール950をも含み得る。ネットワークは、インターネット、ワイヤード媒体(ワイヤードネットワークまたは直接ワイヤード接続など)、ワイヤレス媒体(音響、無線周波数(「RF」)、赤外線、および他のワイヤレス媒体など)を含み得る。
【0201】
[00200] 上記で説明された方法のいくつかのまたはすべての動作は、以下で定義される、コンピュータ可読記憶媒体に記憶されたコンピュータ可読命令の実行によって実施され得る。本明細書および特許請求の範囲において使用される「コンピュータ可読命令」という用語は、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、構成要素、データ構造、アルゴリズムなどを含む。コンピュータ可読命令は、シングルプロセッサまたはマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベース、プログラマブルコンシューマーエレクトロニクス、それらの組合せなどを含む、様々なシステム構成上に実装され得る。
【0202】
[00201] コンピュータ可読記憶媒体は、(ランダムアクセスメモリ(「RAM」)などの)揮発性メモリ、および/または(読取り専用メモリ(「ROM」)、フラッシュメモリなどの)不揮発性メモリを含み得る。コンピュータ可読記憶媒体は、追加のリムーバブルストレージおよび/または非リムーバブルストレージをも含み得、限定するものではないが、コンピュータ可読命令、データ構造、プログラムモジュールなどの不揮発性ストレージを提供し得る、フラッシュメモリ、磁気ストレージ、光ストレージ、および/またはテープストレージを含む。
【0203】
[00202] 非一時的コンピュータ可読記憶媒体は、コンピュータ可読媒体の一例である。コンピュータ可読媒体は、少なくとも2つのタイプのコンピュータ可読媒体、すなわち、コンピュータ可読記憶媒体と通信媒体とを含む。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報の記憶のための任意のプロセスまたは技術において実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。コンピュータ可読記憶媒体は、限定するものではないが、相変化メモリ(「PRAM」)、スタティックランダムアクセスメモリ(「SRAM」)、ダイナミックランダムアクセスメモリ(「DRAM」)、他のタイプのランダムアクセスメモリ(「RAM」)、読取り専用メモリ(「ROM」)、電気的消去可能プログラマブル読取り専用メモリ(「EEPROM」)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読取り専用メモリ(「CD-ROM」)、デジタル多用途ディスク(「DVD」)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは、コンピューティングデバイスによるアクセスのために情報を記憶するために使用され得る任意の他の非伝送媒体を含む。対照的に、通信媒体は、搬送波など、変調されたデータ信号、または他の伝送機構において、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現し得る。本明細書で採用されるコンピュータ可読記憶媒体は、電波または他の自由伝搬電磁波、導波路または他の伝送媒体中を伝搬する電磁波(光ファイバーケーブルを通過する光パルスなど)、あるいはワイヤ中を伝搬する電気信号など、それ自体が一時的信号として解釈されないものとする。
【0204】
[00203] 1つまたは複数の非一時的コンピュータ可読記憶媒体に記憶されたコンピュータ可読命令であって、コンピュータ可読命令が、1つまたは複数のプロセッサによって実行されたとき、図1A図8を参照しながら上記で説明された動作を実施し得る、コンピュータ可読命令。概して、コンピュータ可読命令は、特定の機能を実施するかまたは特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定として解釈されるものではなく、任意の数の説明された動作が、プロセスを実装するために任意の順序でおよび/または並列に組み合わせられ得る。
【0205】
[00204] 主題は、構造的特徴および/または方法論的行為に固有の言語で説明されたが、添付の特許請求の範囲において定義されている主題が、必ずしも、説明された特定の特徴または行為に限定されるとは限らないことを理解されたい。むしろ、特定の特徴および行為は、特許請求の範囲を実装することの例示的な形態として開示される。
【0206】
[00205] 少なくとも以下の条項によって本開示の例示的な実施形態がさらに説明される。
【0207】
[00206] A. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、現在のピクチャ(706)の動きグリッドの動きベクトル(702)に従って、コロケートされたピクチャ(710)の再位置決めされたコロケートされたCTU(708)から、現在のピクチャ(706)の現在のCTU(704)の現在のCUの時間動きベクトル予測候補(「TMVP候補」)を導出し、再位置決めされたコロケートされたCTU(708)が、現在のピクチャ(706)中の現在のCTU(704)に対する動きベクトル(702)によって、コロケートされたピクチャ(710)において位置決めされる、方法。
【0208】
[00207] B. 現在のCUおよびコロケートされたCUの動きグリッドサイズが、現在のCTU(704)およびコロケートされたCTU(708)のサイズとは異なり、シーケンスレベル、ピクチャレベルまたはスライスレベルシンタックス構造において、現在のピクチャ(706)の動きグリッドサイズをシグナリングすることをさらに含む、パラグラフAに記載の方法。
【0209】
[00208] C. 現在のCUの動きグリッドサイズをシグナリングすることが、シーケンスレベルシンタックス構造において現在のピクチャ(706)の最も高い時間レイヤの動きグリッドサイズをシグナリングすることを含む、パラグラフBに記載の方法。
【0210】
[00209] D. 現在のCUのグリッドサイズをシグナリングすることが、現在のピクチャ(706)の最も高い時間レイヤから開始して、現在のピクチャ(706)のあらゆるより低い時間レイヤについてのグリッドサイズを減少させることを含む、パラグラフBに記載の方法。
【0211】
[00210] E. 現在のCUのグリッドサイズをシグナリングすることが、現在のピクチャ(706)の最も低い時間レイヤから開始して、現在のピクチャ(706)のあらゆるより高い時間レイヤについてのグリッドサイズを増加させることを含む、パラグラフBに記載の方法。
【0212】
[00211] F. 動きベクトル(702)がシンタックス構造においてシグナリングされず、動きベクトル(702)の、近傍にある動きグリッドの別の動きベクトルとの同一性を示すパラメータが、シンタックス構造においてシグナリングされる、パラグラフAに記載の方法。
【0213】
[00212] G. 動きベクトル(702)がシンタックス構造においてシグナリングされず、動きベクトル(702)の、近傍にある動きグリッドの別の動きベクトルとの差分を示すパラメータが、シンタックス構造においてでシグナリングされる、パラグラフAに記載の方法。
【0214】
[00213] H. 動きベクトル(702)がシンタックス構造においてシグナリングされ、動きグリッドのブロックが、ラスタ走査順序、z順序走査順序、水平走査順序、垂直走査順序、および対角走査順序のうちの1つのデフォルト順序に従ってコーディングされる、パラグラフAに記載の方法。
【0215】
[00214] I. シーケンスレベル、ピクチャレベル、またはスライスレベルシンタックス構造フラグで、コロケートされたCTU(708)の位置が現在のCTU(704)から再位置決めされることを示すパラメータをシグナリングすることをさらに含む、パラグラフAに記載の方法。
【0216】
[00215] J. シーケンスレベル、ピクチャレベル、またはスライスレベルシンタックス構造フラグで、コロケートされたCTU(708)の位置が現在のCTU(704)から再位置決めされることを示すパラメータをシグナリングすることを行わない、パラグラフAに記載の方法。
【0217】
[00216] K. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、現在のCUに対して、コロケートされたピクチャ(710)の空間的に近傍にあるブロックを含む動き候補のセットから、時間動きベクトル予測候補(「TMVP候補」)を選択する、方法。
【0218】
[00217] L. 1つまたは複数のプロセッサ(902)が、複数の時間候補の時間動きベクトルを平均化することによってTMVP候補を導出する、パラグラフKに記載の方法。
【0219】
[00218] M. 1つまたは複数のプロセッサ(902)が、空間マージ候補と比較して最も大きい動きベクトル差分を生じる、時間候補の複数の時間動きベクトルのうちの1つによって、TMVP候補を導出する、パラグラフKに記載の方法。
【0220】
[00219] N. 1つまたは複数のプロセッサ(902)が、テンプレートマッチングの最も低いコスト値を有する時間候補の動きベクトルによってTMVP候補を導出し、テンプレートマッチングのコスト値が、現在のブロックのテンプレートのサンプルと、現在のブロックに近傍にある対応する参照サンプルとの間の絶対差分和を含む、パラグラフKに記載の方法。
【0221】
[00220] O. 1つまたは複数のプロセッサ(902)によって、CTUのシンタックス構造において、導出されたTMVP候補を識別するインデックスをシグナリングすることをさらに含み、シンタックス構造が、シーケンスレベル、ピクチャレベル、スライスレベル、64×64グリッドレベル、32×32グリッドレベル、または16×16グリッドレベルにおけるものである、パラグラフKに記載の方法。
【0222】
[00221] P. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含み、1つまたは複数のプロセッサ(902)が、コロケートされたCUの動きベクトルから、スケーリングされた動きベクトルを導出することによって、時間動きベクトル予測候補(「TMVP候補」)を選択し、スケーリングされた動きベクトルが、L0動きベクトルとL1動きベクトルとを含み、コロケートされたCUの双予測動きベクトルについて、現在のピクチャ(706)が低遅延ピクチャであるかどうかにかかわらず、L0動きベクトルが、コロケートされたCUのL0動きベクトルからスケーリングされ、L1動きベクトルが、コロケートされたCUのL1動きベクトルからスケーリングされ、コロケートされたCUのL0予測動きベクトルについて、現在のピクチャ(706)が低遅延ピクチャであるかどうかにかかわらず、L0動きベクトルとL1動きベクトルとが両方とも、コロケートされたCUのL0動きベクトルからスケーリングされ、コロケートされたCUのL1予測動きベクトルについて、現在のピクチャ(706)が低遅延ピクチャであるかどうかにかかわらず、L0動きベクトルとL1動きベクトルとが両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる、方法。
【0223】
[00222] Q. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、コロケートされたCUの動きベクトルから、スケーリングされた動きベクトルを導出することによって、時間動きベクトル予測候補(「TMVP候補」)を選択し、スケーリングされた動きベクトルが、L0動きベクトルとL1動きベクトルとを含み、コロケートされたCUの双予測動きベクトルについて、現在のピクチャ(706)が低遅延ピクチャである場合、L0動きベクトルが、コロケートされたCUのL0動きベクトルからスケーリングされ、L1動きベクトルが、コロケートされたCUのL1動きベクトルからスケーリングされる。またはコロケートされたCUがL0参照ピクチャリストからのものであり、現在のピクチャ(706)が低遅延ピクチャである場合、L0動きベクトルとL1動きベクトルとが両方とも、コロケートされたCUのL0動きベクトルからスケーリングされる。またはコロケートされたCUがL1参照ピクチャリストからのものであり、現在のピクチャ(706)が低遅延ピクチャである場合、L0動きベクトルとL1動きベクトルとが両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。コロケートされたCUのL0予測動きベクトルについて、現在のピクチャ(706)が低遅延ピクチャであるかどうかにかかわらず、L0動きベクトルが、コロケートされたCUのL0動きベクトルからスケーリングされ、L1動きベクトルが利用不可能に設定され、コロケートされたCUのL1予測動きベクトルについて、現在のピクチャ(706)が低遅延ピクチャであるかどうかにかかわらず、L0動きベクトルが利用不可能に設定され、L1動きベクトルが、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0224】
[00223] R. 現在のCUの時間レイヤがレイヤ3よりも低い、パラグラフQに記載の方法。
【0225】
[00224] S. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、コロケートされたCUの動きベクトルから、スケーリングされた動きベクトルを導出することによって、時間動きベクトル予測候補(「TMVP候補」)を選択し、スケーリングされた動きベクトルが、L0動きベクトルとL1動きベクトルとを含み、コロケートされたCUの双予測動きベクトルについて、現在のピクチャ(706)が非低遅延ピクチャである場合、L0動きベクトルが、コロケートされたCUのL0動きベクトルからスケーリングされ、L1動きベクトルが、コロケートされたCUのL1動きベクトルからスケーリングされる。またはコロケートされたCUがL0参照ピクチャリストからのものであり、現在のピクチャ(706)が低遅延ピクチャである場合、L0動きベクトルとL1動きベクトルとが両方とも、コロケートされたCUのL0動きベクトルからスケーリングされる。またはコロケートされたCUがL1参照ピクチャリストからのものであり、現在のピクチャ(706)が非低遅延ピクチャである場合、L0動きベクトルとL1動きベクトルとが両方とも、コロケートされたCUのL1動きベクトルからスケーリングされる。コロケートされたCUのL0予測動きベクトルについて、現在のピクチャ(706)が非低遅延ピクチャである場合、L0動きベクトルが、コロケートされたCUのL0動きベクトルからスケーリングされ、L1動きベクトルが利用不可能に設定され、コロケートされたCUのL1予測動きベクトルについて、現在のピクチャ(706)が非低遅延ピクチャである場合、L0動きベクトルが利用不可能に設定され、L1動きベクトルが、コロケートされたCUのL1動きベクトルからスケーリングされる。
【0226】
[00225] T. 現在のCUの時間レイヤがレイヤ3よりも低い、パラグラフSに記載の方法。
【0227】
[00226] U. 複数の動き候補が、通常マージモードと、MVDを伴うマージと、幾何学的区分モードと、組み合わせられたインターおよびイントラモードと、サブブロックベース時間動きベクトル予測と、アフィンマージモードと、テンプレートマッチングモードとのうちの1つのために選択される、パラグラフQ、R、S、またはTのいずれか1つに記載の方法。
【0228】
[00227] V. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、テンプレートマッチングの最も低いコスト値に応じて、単予測動きまたは双予測動きのいずれかによって、コロケートされたCUの動きベクトルから、スケーリングされた動きベクトルを導出することによって、時間動きベクトル予測候補(「TMVP候補」)を選択し、テンプレートマッチングのコスト値が、現在のブロックのテンプレートのサンプルと、現在のブロックの近傍にある対応する参照サンプルとの間の絶対差分和を含む、方法。
【0229】
[00228] W. TMVP候補を双予測動きベクトルにスケーリングし、次いで、双予測動きベクトルを単予測動きベクトルにコンバートすることによって、スケーリングされた動きベクトルが導出される、パラグラフVに記載の方法。
【0230】
[00229] X. TMVP候補が、単予測動きによって各々導出された2つのTMVP候補を含む、パラグラフVに記載の方法。
【0231】
[00230] Y. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、時間動きベクトル予測候補(「TMVP候補」)を選択し、TVMP候補の参照ピクチャインデックスを0以外の値に設定する、方法。
【0232】
[00231] Z. 参照ピクチャインデックスが、スケーリングファクタが1に最も近いコロケートされたピクチャの参照ピクチャインデックスを含む、パラグラフYに記載の方法。
【0233】
[00232] AA. 参照ピクチャインデックスが、空間的に近傍にあるブロックのために最も頻繁に選択された、複数の参照ピクチャインデックスのうちの1つを含む、パラグラフYに記載の方法。
【0234】
[00233] AB. 1つまたは複数のプロセッサ(902)によって、シーケンスレベル、ピクチャレベル、スライスレベルまたはCTUレベルシンタックス構造において、参照ピクチャインデックスをシグナリングすることをさらに含む、パラグラフYに記載の方法。
【0235】
[00234] AC. 現在のブロックが、サブブロックベース時間動きベクトル予測(「SbTMVP」)モードを使用してコーディングされ、方法が、現在のブロックの異なるサブブロックのために少なくともいくつかの異なる参照ピクチャインデックスを選択することをさらに含む、パラグラフYに記載の方法。
【0236】
[00235] AD. 現在のブロックが、サブブロックベース時間動きベクトル予測(「SbTMVP」)モードを使用してコーディングされ、方法が、現在のブロックの各サブブロックについて、スケーリングファクタが1に最も近いコロケートされたピクチャの参照ピクチャインデックスを選択することと、現在のブロックのためのコンセンサス参照ピクチャインデックスとして、現在のブロックのサブブロックについて最も頻繁に選択された参照ピクチャインデックスを決定することとをさらに含む、パラグラフYに記載の方法
【0237】
[00236] AE. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、スケーリングファクタによって、コロケートされたCUの動きベクトルから、スケーリングされた動きベクトルを導出することによって、時間動きベクトル予測候補(「TMVP候補」)を選択し、スケーリングファクタが、オフセットを乗算されたスケーリングファクタへの加算によってオフセットされる、方法。
【0238】
[00237] AF. シーケンスレベル、ピクチャレベル、スライスレベル、またはCTUレベルシンタックス構造において、オフセットをシグナリングすることをさらに含む、パラグラフAEに記載の方法。
【0239】
[00238] AG. オフセットの絶対値とオフセットの符号とが両方ともシグナリングされる、パラグラフAFに記載の方法。
【0240】
[00239] AH. 絶対値と符合とが、異なるレベルのシンタックス構造においてシグナリングされる、パラグラフAFに記載の方法。
【0241】
[00240] AI. オフセットの符合がシグナリングされ、オフセットの絶対値がシグナリングされない、パラグラフAFに記載の方法。
【0242】
[00241] AJ. スケーリングファクタが、現在のピクチャ(706)の各CUについて個々にオフセットされるかまたはオフセットされない、パラグラフAEに記載の方法。
【0243】
[00242] AK. スケーリングファクタが、現在のピクチャ(706)の各時間レイヤについて異なる、パラグラフAEに記載の方法。
【0244】
[00243] AL. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、現在のCUの動きベクトルが、コロケートされたCUの近傍ブロックの動きベクトルと類似しており、現在のCUの近傍ブロックの動きベクトルが、コロケートされたCUの近傍ブロックから導出されたスケーリングされた動きベクトルでない場合、時間動きベクトル予測候補(「TMVP候補」)を選択しない、方法。
【0245】
[00244] AM. 類似度が、現在のブロックのコーディングモードと現在のブロックのサイズとのうちの少なくとも1つに基づく類似度しきい値に従って決定される、パラグラフALに記載の方法。
【0246】
[00245] AN. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、現在のピクチャ(706)の現在のコーディングユニット(「CU」)のための複数の動き候補を選択することを含む方法であって、1つまたは複数のプロセッサ(902)が、現在のピクチャ(706)が低遅延であるか非低遅延であるかにかかわらず、現在のピクチャ(706)の時間レイヤと、現在のブロックのコーディングモードとのうちの少なくとも1つに基づいて、複数のマージ候補を選択する順序を適応的に変更する、方法。
【0247】
[00246] AO. 1つまたは複数のプロセッサ(902)が、高い時間レイヤを有する現在のピクチャ(706)のために空間動きベクトル予測候補の前に、時間動きベクトル予測候補(「TMVP候補」)を優先的に選択する、パラグラフANに記載の方法。
【0248】
[00247] AP. コンピューティングシステム(900)の1つまたは複数のプロセッサ(902)によって、インター予測コーディングされた現在のブロックを再構築することと、1つまたは複数のプロセッサ(902)によって、再構築されたブロックの精緻化された動き情報を生成するために、再構築されたブロックのサンプルをテンプレートとして使用して動き推定を実施することと、1つまたは複数のプロセッサ(902)によって、再構築されたブロックの精緻化された動き情報から導出された時間動きベクトル予測候補(「TMVP候補」)を選択することとを含む、方法。

図1A
図1B
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
【国際調査報告】