(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-29
(45)【発行日】2024-09-06
(54)【発明の名称】ビデオ符号化のための双方向オプティカルフローおよびデコーダ側動きベクトル補正を選択的に適用する方法およびデバイス
(51)【国際特許分類】
H04N 19/109 20140101AFI20240830BHJP
H04N 19/136 20140101ALI20240830BHJP
H04N 19/176 20140101ALI20240830BHJP
H04N 19/196 20140101ALI20240830BHJP
【FI】
H04N19/109
H04N19/136
H04N19/176
H04N19/196
【外国語出願】
(21)【出願番号】P 2023075405
(22)【出願日】2023-05-01
(62)【分割の表示】P 2022084108の分割
【原出願日】2020-02-08
【審査請求日】2023-05-01
(32)【優先日】2019-02-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【氏名又は名称】大房 直樹
(74)【代理人】
【識別番号】100201743
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】シウ,シヤオユー
(72)【発明者】
【氏名】ワーン,シアーンリン
(72)【発明者】
【氏名】マ,ツン-チュアン
【審査官】田中 純一
(56)【参考文献】
【文献】特許第7232345(JP,B2)
【文献】特表2022-515875(JP,A)
【文献】米国特許出願公開第2021/0136401(US,A1)
【文献】国際公開第2020/137643(WO,A1)
【文献】特開2018-107580(JP,A)
【文献】米国特許出願公開第2018/0184116(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ符号化のための方法であって、
ビデオピクチャから分割された複数のブロックを取得するステップと、
前記複数のブロックにおける現在のブロックについての、
前記現在のブロックがデコーダ側動きベクトル補正(DMVR)および双方向オプティカルフロー(BDOF)の両方の適用に適当であることに応じて、前記現在のブロックのリスト0予測サンプルとリスト1予測サンプルとの間の差分絶対値和(SAD)または差分二乗和(SSD)が
、ブロックサイズに基づく事前定義された
数学的特性を保有しているとの事前定義された基準が満足されるかどうかを判定するステップと、
前記事前定義された基準が満足されたことに応じて、前記現在のブロックのサブブロックに対してBDOFを適用しないようにするステップと
を含む方法。
【請求項2】
前記事前定義された基準が、前記現在のブロックのリスト0予測サンプルとリスト1予測サンプルとの間の前記差分絶対値和(SAD)または前記差分二乗和(SSD)が事前定義された
閾値よりも小さいかどうかを含む、請求項1に記載の方法。
【請求項3】
DMVRの適用に適当である当該現在のブロックが条件を満足するということは、
現在のピクチャと前方の参照ピクチャとの間の距離と、前記現在のピクチャと後方の参照ピクチャとの間の距離とが同じであること、
前記現在のブロックの高さが8以上であること、
前記現在のブロックがアフィンモードとして符号化されないこと、
前記現在のブロックがサブブロックマージモードとして符号化されないこと、および、 前記現在のブロックが動きベクトル差分(MMVD)モードを伴うマージモードとして符号化されないこと
を含む請求項1に記載の方法。
【請求項4】
BDOFの適用に適当である当該現在のブロックが条件を満足するということは、
前記現在のブロックが、前方の参照ピクチャおよび後方の参照ピクチャを用いた双方向予測を使用すること、
重み付け予測が有効ではないこと、
前記現在のブロックのサイズが4×8に等しくないこと、
前記現在のブロックが対称的な動きベクトル差分(MVD)として符号化されないこと、
前記現在のブロックがサブブロックマージモードとして符号化されないこと、および、 前記現在のブロックが、リスト0およびリスト1からの当該予測サンプルを平均するときに異なる高さを使用していないこと
を含む請求項1に記載の方法。
【請求項5】
ビデオ符号化のためのコンピューティングデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合された非一時的記憶装置と、
前記非一時的記憶装置内に記憶された複数のプログラムと
を備え、
前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されたとき、 ビデオピクチャから分割された複数のブロックを取得するステップと、
前記複数のブロックにおける現在のブロックについての、
前記現在のブロックがデコーダ側動きベクトル補正(DMVR)および双方向オプティカルフロー(BDOF)の両方の適用に適当であることに応じて、前記現在のブロックのリスト0予測サンプルとリスト1予測サンプルとの間の差分絶対値和(SAD)または差分二乗和(SSD)が
、ブロックサイズに基づく事前定義された
数学的特性を保有しているとの事前定義された基準が満足されるかどうかを判定するステップと、
前記事前定義された基準が満足されたことに応じて、前記現在のブロックのサブブロックに対してBDOFを適用しないようにするステップと
を含む動作を前記コンピューティングデバイスに実行させる、コンピューティングデバイス。
【請求項6】
前記事前定義された基準が、前記現在のブロックのリスト0予測サンプルとリスト1予測サンプルとの間の前記差分絶対値和(SAD)または前記差分二乗和(SSD)が事前定義された
閾値よりも小さいかどうかを含む、請求項5に記載のコンピューティングデバイス。
【請求項7】
DMVRの適用に適当である当該現在のブロックが条件を満足するということは、
現在のピクチャと前方の参照ピクチャとの間の距離と、前記現在のピクチャと後方の参照ピクチャとの間の距離とが同じであること、
前記現在のブロックの高さが8以上であること、
前記現在のブロックがアフィンモードとして符号化されないこと、
前記現在のブロックがサブブロックマージモードとして符号されないこと、および、
前記現在のブロックが動きベクトル差分(MMVD)モードを伴うマージモードとして符号化されないこと
を含む請求項5に記載のコンピューティングデバイス。
【請求項8】
BDOFの適用に適当である当該現在のブロックが条件を満足するということは、
前記現在のブロックが、前方の参照ピクチャおよび後方の参照ピクチャを用いた双方向予測を使用すること、
重み付け予測が有効ではないこと、
前記現在のブロックのサイズが4×8に等しくないこと、
前記現在のブロックが対称的な動きベクトル差分(MVD)として符号化されないこと、
前記現在のブロックがサブブロックマージモードとして符号化されないこと、および、 前記現在のブロックが、リスト0およびリスト1からの当該予測サンプルを平均するときに異なる高さを使用していないこと、
を含む請求項5に記載のコンピューティングデバイス。
【請求項9】
1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されたとき、前記コンピューティングデバイスに、請求項1から4のうちのいずれか1項に記載の方法を実行させることによりビデオビットストリームを生成させる、非一時的コンピュータ可読記憶媒体。
【請求項10】
命令を含むコンピュータプログラムであって、前記命令がコンピューティングデバイスによって実行されると、請求項1から4のうちのいずれか1項に記載の方法を前記コンピューティングデバイスに実行させることによりビデオビットストリームを生成させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]本出願は、2019年2月8日出願の米国仮特許出願第62/803,417号の利益を主張する。上記出願の開示全体が、全体として参照により本明細書に組み込まれている。
【0002】
[0002]本開示は、一般に、ビデオの符号化および圧縮に関する。より詳細には、本開示は、インターモード符号化ブロックに対して双方向オプティカルフローおよびデコーダ側動きベクトル補正の選択的適用を使用してビデオ符号化を実行するシステムおよび方法に関する。
【背景技術】
【0003】
[0003]本章は、本開示に関係する背景情報を提供する。本章に含まれる情報は、必ずしも従来技術として解釈されるべきであるとは限らない。
【0004】
[0004]ビデオデータを圧縮するために、様々なビデオ符号化技法のいずれかを使用することができる。ビデオ符号化は、1つまたは複数のビデオ符号化規格に従って実行することができる。いくつかの例示的なビデオ符号化規格には、多用途ビデオ符号化(VVC)、共同探索試験モデル(JEM)符号化、高効率ビデオ符号化(H.265/HEVC)、高度ビデオ符号化(H.264/AVC)、およびムービング・ピクチャ・エキスパート・グループ(MPEG)符号化が含まれる。
【0005】
[0005]ビデオ符号化は概して、ビデオ画像またはシーケンスに固有の冗長性を利用する予測方法(たとえば、インター予測、イントラ予測など)を利用する。ビデオ符号化技法の1つの目標は、ビデオ品質の劣化を回避または最小化しながら、より低いビットレートを使用する形式にビデオデータを圧縮することである。
【0006】
[0006]ビデオ符号化で利用される予測方法は、典型的に、ビデオデータに固有の冗長性を低減または除去するための空間(イントラフレーム)予測および/または時間(インターフレーム)予測を実行することを含み、典型的に、ブロックに基づくビデオ符号化に関連する。
【0007】
[0007]ブロックに基づくビデオ符号化では、入力ビデオ信号がブロックごとに処理される。各ブロック(符号化ユニット(CU)としても知られている)に対して、空間予測および/または時間予測を実行することができる。
【0008】
[0008]空間予測(「イントラ予測」としても知られている)は、同じビデオピクチャ/スライス内のすでに符号化された隣接ブロックのサンプル(参照サンプルと呼ばれる)からの画素を使用して、現在のブロックを予測する。空間予測は、ビデオ信号に固有の空間的冗長性を低減させる。
【0009】
[0009]復号プロセス中、ビデオビットストリームは、第1に、エントロピー復号ユニットでエントロピー復号される。符号化モードおよび予測情報は、空間予測ユニット(イントラ符号化されたとき)または時間予測ユニット(インター符号化されたとき)へ送られて、予測ブロックを形成する。残差変換係数は、逆量子化ユニットおよび逆変換ユニットへ送られて、残差ブロックを再構成する。次いで、予測ブロックおよび残差ブロックがともに統合される。再構成されたブロックは、参照ピクチャ記憶部内に記憶される前に、ループ内フィルタリングをさらに受けることができる。次いで、参照ピクチャ記憶部内の再構成されたビデオを送り出してディスプレイデバイスを駆動し、ならびにこれを使用して将来のビデオブロックを予測する。
【0010】
[0010]現在のVVC設計などのより新しいビデオ符号化規格では、双方向オプティカルフロー(BDOF:Bi-Directional Optical Flow)およびデコーダ側動きベクトル補正(DMVR:Decoder-side Motion Vector Refinement)などの新しいインターモード符号化ツールが導入されている。そのような新インターモード符号化ツールは、概して、動き補償予測の効率を増大させ、したがって符号化利得を改善する手助けをする。しかし、そのような改善は、複雑さおよび待ち時間の増大という犠牲によって達成することができる。
【0011】
[0011]新しいインターモードツールに伴う改善とコストの好適な均衡を実現するために、現在のVVC設計は、インターモード符号化ブロックに対してDMVRおよびBDOFなどの新しいインターモード符号化ツールをいつ可能にするかについて、制約を課している。
【0012】
[0012]しかし、現在のVVC設計に存在するそのような制約は、必ずしも改善とコストの最善の均衡を実現するとは限らない。一方では、現在のVVC設計に存在する制約は、DMVRおよびBDOFの両方を同じインターモード符号化ブロックに対して適用することを認めているが、2つのツールの動作間の依存性のため、待ち時間が増大する。他方では、現在のVVC設計に存在する制約は、DMVRに関する特定の事例では甘すぎ、その結果、複雑さおよび待ち時間が不必要に増大し、BDOFに関する特定の事例では厳しすぎ、その結果、さらなる符号化利得の機会が失われる。
【発明の概要】
【0013】
[0013]本章は、本開示の概要を提供するものであり、本開示の完全な範囲または本開示のすべての特徴の包括的な開示ではない。
【0014】
[0014]本開示の第1の態様によれば、ビデオ符号化方法は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されるべき複数のプログラムを記憶するメモリとを有するコンピューティングデバイスで実行される。この方法は、現在のブロックのモード情報に基づく事前定義された基準を使用して、複数の事前定義された条件に基づいてDMVRおよびBDOFの両方の適用に適当な現在のブロックを、2つの事前定義されたクラス、すなわちDMVRクラスおよびBDOFクラスのうちの1つに分類することを含む。この方法は、DMVRおよびBDOFの両方ではなくいずれか一方を前記現在のブロックに対して適用する際に、現在のブロックの分類を使用することをさらに含む。
【0015】
[0015]本開示の第2の態様によれば、ビデオ符号化方法は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されるべき複数のプログラムを記憶するメモリとを有するコンピューティングデバイスで実行される。この方法は、複数の事前定義された条件に基づいてDMVR符号化に適当な現在のブロックに対して、重み付け予測が可能であるかどうかを判定することを含む。この方法は、現在のブロックに対するリスト0予測子サンプルおよびリスト1予測子サンプルを平均するときに、異なる重みが使用されるかどうかを判定することをさらに含む。この方法は、2つの判定に基づいて、現在のブロックに対するDMVRの適用を無効にするかどうかを判定することをさらに含む。
【0016】
[0016]本開示の第3の態様によれば、ビデオ符号化方法は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されるべき複数のプログラムを記憶するメモリとを有するコンピューティングデバイスで実行される。この方法は、現在のブロックがサブブロックマージモードとして符号化されているときに、現在のブロックに対するBDOFの適用を可能にすることを含む。
【0017】
[0017]本出願の第4の態様によれば、コンピューティングデバイスは、1つまたは複数のプロセッサと、メモリと、メモリ内に記憶された複数のプログラムとを含む。これらのプログラムは、1つまたは複数のプロセッサによって実行されたとき、コンピューティングデバイスに、本出願の最初の3つの態様で上述した動作を実行させる。
【0018】
[0018]本出願の第5の態様によれば、非一時的コンピュータ可読記憶媒体が、1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラムを記憶する。これらのプログラムは、1つまたは複数のプロセッサによって実行されたとき、コンピューティングデバイスに、本出願の最初の3つの態様で上述した動作を実行させる。
【0019】
[0019]以下、本開示の数組の例示的な限定されない実施形態について、添付の図面とともに説明する。関連技術の当業者であれば、本明細書に提示する例に基づいて、構造、方法、または機能の変形例を実施することができ、そのような変形例はすべて、本開示の範囲内に包含される。矛盾が存在しない場合、必須ではないが、異なる実施形態の教示を互いに組み合わせることもできる。
【図面の簡単な説明】
【0020】
【
図1】[0020]多くのビデオ符号化規格とともに使用することができるブロックに基づく例示的な混成ビデオエンコーダを示すブロック図である。
【
図2】[0021]多くのビデオ符号化規格とともに使用することができる例示的なビデオデコーダを示すブロック図である。
【
図3】[0022]多くのビデオ符号化規格とともに使用することができる複数タイプのツリー構造におけるブロック区画の図である。
【
図4】[0023]双方向オプティカルフロー(BDOF:Bi-Directional Optical Flow)プロセスの図である。
【
図5】[0024]デコーダ側動きベクトル補正(DMVR:Decoder-side Motion Vector Refinement)で使用される相互整合の図である。
【
図6】[0025]本開示の第1の態様の動作を示す流れ図である。
【
図7】[0026]本開示の第2の態様の動作を示す流れ図である。
【
図8】[0027]本開示の第3の態様の動作を示す流れ図である。
【発明を実施するための形態】
【0021】
[0028]本開示で使用される用語は、本開示を限定することではなく、特定の例を示すことを対象とする。他の意味が文脈に明確に包含されない限り、本開示ならびに添付の特許請求の範囲で使用される単数形の「a」、「an」、および「the」は複数形も指す。本明細書では、「および/または」という用語は、列挙する1つまたは複数の関連物品のあらゆる可能な組合せを指すことを理解されたい。
【0022】
[0029]本明細書では、様々な情報について説明するために、「第1」、「第2」、「第3」などの用語が使用されることがあるが、この情報は、これらの用語によって限定されるものではないことを理解されたい。これらの用語は、ある情報カテゴリを別の情報カテゴリと区別するためだけに使用される。たとえば、本開示の範囲から逸脱することなく、第1の情報を第2の情報と呼ぶことができ、同様に第2の情報を第1の情報と呼ぶこともできる。本明細書では、「~場合(if)」という用語は、文脈に応じて、「~とき(when)」または「~とき(upon)」または「~に応答して(in response to)」を意味することが理解されよう。
【0023】
[0030]本明細書全体にわたって、単数または複数の「一実施形態」、「実施形態」、「別の実施形態」などへの言及は、一実施形態に関連して説明する1つまたは複数の特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な箇所における単数または複数の「一実施形態では」、「実施形態では」、または「別の実施形態では」などの語句の記載は、必ずしもすべて同じ実施形態を参照するものではない。さらに、1つまたは複数の実施形態における特定の特徴、構造、または特性は、任意の好適な形で組み合わせることができる。
【0024】
[0031]概念上、背景の章ですでに言及したものを含めて、多くのビデオ符号化規格は類似している。たとえば、事実上すべてのビデオ符号化規格は、ビデオ圧縮を実現するために、ブロックに基づく処理を使用し、類似のビデオ符号化ブロック図を共用する。
【0025】
[0032]
図1は、多くのビデオ符号化規格とともに使用することができるブロックに基づく例示的な混成ビデオエンコーダ100のブロック図を示す。エンコーダ100において、ビデオフレームが処理のために複数のビデオブロックに分割される。所与の各ビデオブロックに対して、インター予測手法またはイントラ予測手法に基づいて、予測が形成される。インター予測では、以前再構成されたフレームからの画素に基づいて、動き推定および動き補償によって、1つまたは複数の予測子が形成される。イントラ予測では、現在のフレーム内の再構成画素に基づいて、予測子が形成される。モード決定によって、現在のブロックを予測するために最善の予測子を選択することができる。
【0026】
[0033]現在のビデオブロックとその予測子との間の差を表す予測残差が、変換回路102へ送られる。次いで、変換係数は、エントロピー低減のために変換回路102から量子化回路104へ送られる。次いで、量子化された係数は、圧縮ビデオビットストリームを生成するために、エントロピー符号化回路106へ送出される。
図1に示すように、ビデオブロック分割情報、動きベクトル、参照ピクチャ索引、およびイントラ予測モードなど、インター予測回路および/またはイントラ予測回路112からの予測関係情報110がまた、エントロピー符号化回路106を介して送出され、圧縮ビデオビットストリーム114内へ保存される。
【0027】
[0034]エンコーダ100では、予測の目的で、画素を再構成するためにデコーダ関係回路も必要とされる。第1に、逆量子化回路116および逆変換回路118によって、予測残差が再構成される。この再構成された予測残差をブロック予測子120と組み合わせて、現在のビデオブロックに対するフィルタリングされていない再構成画素を生成する。
【0028】
[0035]時間予測(「インター予測」または「動き補償予測」とも呼ばれる)は、すでに符号化されたビデオピクチャからの再構成画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間的冗長性を低減させる。所与のCUに対する時間予測信号は通常、現在のCUと現在のCUの時間参照との間の動きの量および方向を示す1つまたは複数の動きベクトル(MV)によって信号送信される。また、複数の参照ピクチャに対応する場合、1つの参照ピクチャ索引がさらに送られ、参照ピクチャ記憶部内のどの参照ピクチャから時間予測信号がくるかを識別するために使用される。
【0029】
[0036]空間および/または時間予測が実行された後、エンコーダ100内のイントラ/インターモード決定回路121が、たとえばレート歪み最適化方法に基づいて、最善の予測モードを選ぶ。次いで、現在のビデオブロックからブロック予測子120を引き、変換回路102および量子化回路104を使用して、その結果得られる予測残差の相関を除去する。その結果得られる量子化された残差係数を逆量子化回路116によって逆量子化し、逆変換回路118によって逆変換して、再構成された残差を形成し、次いで再び予測ブロックに加えて、CUの再構成信号を形成する。非ブロック化フィルタ、サンプル適応型オフセット(SAO:sample adaptive offset)および/または適応型ループ内フィルタ(ALF:adaptive in-loop filter)などのさらなるループ内フィルタリング115を再構成CUに適用することができ、その後、再構成CUは、ピクチャバッファ117の参照ピクチャ記憶部内に配置され、将来のビデオブロックを符号化するために使用される。出力ビデオビットストリーム114を形成するために、符号化モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数をすべてエントロピー符号化ユニット106へ送り、さらに圧縮およびパックして、ビットストリームを形成する。
【0030】
[0037]たとえば、AVC、HEVC、ならびに現在のバージョンのVVCでは、非ブロック化フィルタが利用可能である。HEVCでは、符号化効率をさらに改善するために、SAO(サンプル適応型オフセット)と呼ばれる追加のループ内フィルタが定義されている。現在のバージョンのVVC規格では、ALF(適応型ループフィルタ)と呼ばれるさらに別のループ内フィルタが積極的に調査されており、最終的な規格に含まれる良好な確率を有する。
【0031】
[0038]これらのループ内フィルタ動作は任意選択である。これらの動作を実行することで、符号化効率および視覚的品質を改善する手助けをする。これらの動作はまた、計算の複雑さを省くために、エンコーダ100によって下された決定としてオフにすることもできる。
【0032】
[0039]これらのフィルタのオプションがエンコーダ100によってオンにされた場合、イントラ予測は通常、フィルタリングされていない再構成画素に基づくのに対して、インター予測は、フィルタリングされた再構成画素に基づくことに留意されたい。
【0033】
[0040]
図2は、多くのビデオ符号化規格とともに使用することができる例示的なビデオデコーダ200を示すブロック図である。このデコーダ200は、
図1のエンコーダ100に常駐する再構成に関係する部分に類似している。デコーダ200(
図2)において、第1に、入ってくるビデオビットストリーム201を、エントロピー復号202によって復号し、量子化された係数レベルおよび予測関係情報を導出する。次いで、量子化された係数レベルを逆量子化204および逆変換206によって処理し、再構成された予測残差を得る。イントラ/インターモードセレクタ212内に実施されるブロック予測子機構は、復号された予測情報に基づいて、イントラ予測208または動き補償210を実行するように構成される。加算器214を使用して、逆変換206からの再構成された予測残差と、ブロック予測子機構によって生成された予測出力とを加算することによって、1組のフィルタリングされていない再構成画素が得られる。
【0034】
[0041]再構成されたブロックは、ループ内フィルタ209をさらに受けることができ、その後、参照ピクチャ記憶部として機能するピクチャバッファ213内に記憶される。次いで、ピクチャバッファ213内の再構成されたビデオを送り出してディスプレイデバイスを駆動し、ならびにこれを使用して、将来のビデオブロックを予測することができる。ループ内フィルタ209がオンにされている状況では、これらの再構成画素に対してフィルタリング動作を実行して、最終的な再構成ビデオ出力222を導出する。
【0035】
[0042]HEVCなどのビデオ符号化規格では、4分木に基づいてブロックを分割することができる。現在のVVCなどのより新しいビデオ符号化規格では、より多くの分割方法が用いられ、4分木、2分木、または3分木に基づいて変動する局所的な特徴に適応するために、1つの符号化ツリー単位(CTU)を複数のCUに分割することができる。CU、予測単位(PU)、および変換単位(TU)の分離は、現在のVVCのほとんどの符号化モードには存在せず、各CUは常に、さらなる分割なく、予測および変換の両方に対する基本単位として使用される。しかし、イントラ細分符号化モードなどのいくつかの特有の符号化モードでは、各CUは、複数のTUをさらに含むことができる。複数タイプのツリー構造では、第1に、1つのCTUが4分木構造によって分割される。次いで、各4分木の葉ノードを、2分および3分木構造によってさらに分割することができる。
【0036】
[0043]
図3は、現在のVVCで用いられる5つの分割タイプ、すなわち4分割301、水平2分割302、垂直2分割303、水平3分割304、および垂直3分割305を示す。複数タイプのツリー構造が利用される状況では、第1に、1つのCTUが4分木構造によって分割される。次いで、各4分木の葉ノードを、2分木および3分木構造によってさらに分割することができる。
【0037】
[0044]
図3の例示的なブロック分割301、302、303、304、または305の1つまたは複数を使用して、
図1に示す構成を使用して、空間予測および/または時間予測を実行することができる。空間予測(または「イントラ予測」)は、同じビデオピクチャ/スライス内のすでに符号化された隣接ブロックのサンプル(参照サンプルと呼ばれる)からの画素を使用して、現在のビデオブロックを予測する。空間予測は、ビデオ信号に固有の空間的冗長性を低減させる。
【0038】
[0045]現在のVVCなどのより新しいビデオ符号化規格では、新しいインターモード符号化ツールが導入されており、新しいインターモード符号化ツールの2つの例としては、双方向オプティカルフロー(BDOF)およびデコーダ側動きベクトル補正(DMVR)が挙げられる。
【0039】
[0046]ビデオ符号化における従来の双方向予測は、すでに再構成された参照ピクチャから得られる2つの時間予測ブロックの簡単な組合せである。しかし、ブロックに基づく動き補償の制限により、2つの予測ブロックのサンプル間で観察され得るわずかな動きが残ることがあり、したがって動き補償予測の効率が低減される。この問題を解決するために、現在のVVC設計では、1つのブロック内のすべてのサンプルに対するそのような動きの影響を減少させるために、BDOFが適用される。
【0040】
[0047]
図4は、BDOFプロセスの図である。BDOFは、双方向予測が使用されるときにブロックに基づく動き補償予測に加えて実行されるサンプルごとの動き補正である。各4×4サブブロック401の動き補正は、サブブロックの周りの1つの6×6の窓内でBDOFが適用された後、参照ピクチャリスト0(L0)予測サンプル402と参照ピクチャリスト1(L1)予測サンプル403との間の差を最小化することによって計算される。そのように導出された動き補正に基づいて、オプティカルフローモデルに基づいて、動き軌道に沿ってL0/L1予測サンプルを補間することによって、CUの最終的な双方向予測サンプルが計算される。
【0041】
[0048]DMVRは、相互整合予測を使用することによってさらに補正することができる2つの最初に信号送信されたMVを有するマージブロックのための双方向予測技法である。
【0042】
[0049]
図5は、DMVRで使用される相互整合の図である。相互整合は、2つの異なる参照ピクチャ505および506内で現在のCU501の動きの軌跡502に沿って2つのブロック503および504間の最も近い整合を見出すことによって、現在のCU501の動き情報を導出するために使用される。整合プロセスで使用される費用関数は、行ごとにサブサンプリングした差分絶対値和(SAD)である。整合プロセスが行われた後、補正されたMV507および508は、予測段階の動き補償、非ブロックフィルタの境界強度計算、後続のピクチャに対する時間動きベクトル予測、および後続のCUに対する交差CTU空間動きベクトル予測に使用される。動き軌道が連続するという仮定の下で、2つの参照ブロック503および504を指す動きベクトルMV0 507およびMV1 508は、現在のピクチャ511と2つの参照ピクチャ505および506との間の時間距離、すなわちTD0 509およびTD1 510に比例するものとする。特別な事例として、現在のピクチャ511が時間的に2つの参照ピクチャ505および506間にあり、現在のピクチャ511から2つの参照ピクチャ505および506までの時間距離が同じであるとき、相互整合はミラーベースの双方向MVになる。
【0043】
[0050]一方では、BDOFおよびDMVRのようなより新しいインターモード符号化ツールがもたらすことのできる符号化効率の増大と、他方では、より新しいインターモードツールに伴う複雑さおよび待ち時間の増大との間で、適切な均衡をとるために、現在のVVC設計は、現在のブロックに対してBDOFまたはDMVRをいつ可能にすることができるかに関して制約を適用している。
【0044】
[0051]現在のVVC設計では、BDOFは、本段落直下の枠内に挙げる次の事前定義されたBDOF条件のすべてが当てはまるときにのみ可能になる。
【0045】
1.現在のブロックは双方向予測を使用し、1つのMVが、表示順序で現在のピクチャの前にある参照ピクチャを指し、別のMVが、表示順序で現在のピクチャの後にある参照ピクチャを指す。
2.重み付け予測が可能でない。
3.現在のブロックの高さが、4に等しくない。
4.現在のブロックのサイズが、4×8(すなわち、幅4および高さ8)に等しくない。
5.現在のブロックが、VVCにおける特別なMVD符号化モードである対称の動きベクトル差分(MVD)モードとして符号化されていない。
6.現在のブロックが、アフィンモードとして符号化されていない。
7.現在のブロックが、サブブロックマージモードとして符号化されていない。
8.現在のブロックが、リスト0およびリスト1からの予測子サンプルを平均するとき、異なる高さを使用していない(たとえば、等しくない重みによる重み付け平均を伴う双方向予測(BWA))。
【0046】
[0052]現在のVVC設計では、DMVRは、本段落直下の枠内に挙げる次の事前定義されたDMVR条件のすべてが当てはまるときにのみ可能になる。
【0047】
1.現在のブロックは双方向予測を使用し、1つのMVが、表示順序で現在のピクチャの前にある参照ピクチャを指し、別のMVが、表示順序で現在のピクチャの後にある参照ピクチャを指し、さらに、現在のピクチャと前方の参照ピクチャとの間の距離、および現在のピクチャと後方の参照ピクチャとの間の距離は、同じであるものとする。
2.現在のブロックがマージモードとして符号化され、選択されたマージ候補が通常のマージ候補(たとえば、サブブロックでない正常な空間マージ候補、または時間マージ候補など)である。
3.現在のブロックの高さが、8以上である。
4.現在のブロックの面積が、64以上である。
5.現在のブロックが、アフィンモードとして符号化されていない。
6.現在のブロックが、サブブロックマージモードとして符号化されていない。
7.現在のブロックが、動きベクトル差分(MMVD)モードを伴うマージモードとして符号化されていない。
【0048】
[0053]現在のVVC設計に存在する上記の制約は、一方の符号化効率と他方の複雑さおよび待ち時間との間で所望の均衡を実現するのに大いに役立つが、この問題を完全には解決しない。
【0049】
[0054]現在のVVC設計に伴う1つの残っている問題は、BDOFおよびDMVRを可能にするためにいくつかの制約がすでに適用されているが、いくつかの場合、ブロックを符号化するときに、2つのデコーダ側インター予測補正ツールBDOFおよびDMVRの両方を可能にすることができることである。現在のVVC設計では、両方のデコーダ側インター予測補正ツールが可能にされたとき、BDOFは、DMVRの最終的な動き補償サンプルに依存し、ハードウェア設計に対して待ち時間の問題を生じさせる。
【0050】
[0055]現在のVVC設計に伴う第2の残っている問題は、DMVRを可能にするためにいくつかの制約がすでに適用されているが、これらの制約が全体として、DMVRを可能にすることに関して依然として甘すぎることである。なぜなら、DMVRを無効にし、次に複雑さおよび待ち時間を低減させることで、一方の符号化効率と他方の複雑さおよび待ち時間との間でより良好な均衡をとるはずであるというシナリオが存在するが、現在のVVC設計は、これらのシナリオでDMVRを可能にするからである。
【0051】
[0056]現在のVVC設計に伴う第3の残っている問題は、BDOFを可能にするためにすでに適用されている制約が全体として、BDOFを可能にすることに関して厳しすぎることである。なぜなら、BDOFを可能にし、後に符号化利得を増大させることで、一方の符号化効率と他方の複雑さおよび待ち時間との間でより良好な均衡をとるはずであるというシナリオが存在するが、現在のVVC設計は、これらのシナリオでBDOFを可能にしないからである。
【0052】
[0057]本開示の第1の態様によれば、現在のブロックが、複数の事前定義された条件に基づいてDMVRおよびBDOFの両方の適用に適当であるとき、現在のブロックは、現在のブロックのモード情報に基づく事前定義された基準を使用して、2つの事前定義されたクラス、すなわちDMVRクラスおよびBDOFクラスのうちの1つに分類される。次に、DMVRおよびBDOFの両方ではなくいずれか一方を前記現在のブロックに対して適用する際に、現在のブロックの分類が使用される。この方法は、上記の事前定義された条件に加えて現在のVVCと組み合わせることができ、または独立して実施することができる。
【0053】
[0058]
図6は、本開示の第1の態様の動作を示す流れ図である。現在のブロックを処理するとき(601)、本開示のこの態様のこの動作は、現在のブロックに対して複数の事前定義された条件を適用し(602)、現在のブロックが、複数の事前定義された条件に基づいてDMVRおよびBDOFの両方の適用に適当であるかどうかを判定することができる(603)。現在のブロックが、複数の事前定義された条件に基づいてDMVRおよびBDOFの両方の適用に適当でないと判定された場合、本開示のこの態様のこの動作は、現在のVVC設計に存在するプロセスを継続することができる(604)。他方では、現在のブロックが、複数の事前定義された条件に基づいてDMVRおよびBDOFの両方の適用に適当であると判定された場合、本開示のこの態様のこの動作は、現在のブロックのモード情報に基づく事前定義された基準を使用して、現在のブロックを2つの事前定義されたクラス、すなわちDMVRクラスおよびBDOFクラスのうちの1つに分類することができる(605)。次に、本開示のこの態様のこの動作は、現在のブロックの分類結果を使用して、DMVRおよびBDOFの両方ではなくいずれか一方を現在のブロックに対して適用することができる(606)。現在のブロックの分類結果を使用して、DMVRおよびBDOFの両方ではなくいずれか一方を現在のブロックに対して適用すること(606)は、現在のブロックがDMVRクラスに分類された場合、DMVRクラスを継続する(BDOFではなくDMVRを適用する)ことを含み(607)、現在のブロックがBDOFクラスに分類された場合、BDOFクラスを継続する(DMVRではなくBDOFを適用する)ことを含むことができる(608)。
【0054】
[0059]現在のブロックがそれに基づいてDMVRおよびBDOFの両方の適用に適当になる複数の事前定義された条件は、上記の枠に列挙した複数の事前定義されたBDOF条件および事前定義されたDMVR条件とすることができるが、必ずしもその必要はない。
【0055】
[0060]事前定義された基準に対する基本として使用されるモード情報は、それだけに限定されるものではないが、マージモードを使用するか否かなどの予測モード、マージモード索引、動きベクトル、ブロック形状、ブロックサイズ、予測子サンプル値を含む。
【0056】
[0061]本開示の1つまたは複数の実施形態によれば、DMVRおよびBDOFの両方ではなくいずれか一方を前記現在のブロックに対して適用する際に、現在のブロックの分類を使用することは、現在のブロックの分類を示すためにフラグを任意選択で信号送信することを含み、すなわち、この実施形態のいくつかの例では、BDOFまたはDMVRがブロックに適用されたかどうかを指定するために、1つのフラグが信号送信され、この実施形態のいくつかの他の例では、そのようなフラグは信号送信されない。
【0057】
[0062]本開示の1つまたは複数の実施形態によれば、DMVRおよびBDOFの両方ではなくいずれか一方を前記現在のブロックに対して適用する際に、現在のブロックの分類を使用することは、現在のブロックがDMVRクラスに分類されたとき、既存のマージ候補リストによって、または別個に生成されたマージ候補リストによって、BDOFではなくDMVRを現在のブロックに対して適用することをさらに含む。すなわち、この実施形態のいくつかの例では、現在のブロックがDMVRクラスに分類され、かつDMVRが現在のブロックに対して適用されるとき、別個のマージ候補リストが排他的に生成および使用される。このDMVRマージモードを示すために、構文が信号送信され、DMVRマージ候補リストサイズが1より大きい場合、マージ索引も信号送信される。この実施形態のいくつかの他の例では、現在のブロックがDMVRクラスに分類され、かつDMVRが現在のブロックに対して適用されるとき、そのような別個のマージ候補は生成されず、現在のブロックに対するDMVRの適用は、既存のマージ候補リストを使用し、さらなる構文または信号送信は伴わない。
【0058】
[0063]本開示の1つまたは複数の実施形態によれば、DMVRおよびBDOFの両方ではなくいずれか一方を前記現在のブロックに対して適用する際に、現在のブロックの分類を使用することは、現在のブロックがBDOFクラスに分類されたとき、既存のマージ候補リストによって、または別個に生成されたマージ候補リストによって、DMVRではなくBDOFを現在のブロックに対して適用することをさらに含む。すなわち、この実施形態のいくつかの例では、現在のブロックがBDOFクラスに分類され、かつBDOFが現在のブロックに対して適用されるとき、別個のマージ候補リストが排他的に生成および使用される。このBDOFマージモードを示すために、構文が信号送信され、BDOFマージ候補リストサイズが1より大きい場合、マージ索引も信号送信される。この実施形態のいくつかの他の例では、現在のブロックがBDOFクラスに分類され、かつBDOFが現在のブロックに対して適用されるとき、そのような別個のマージ候補は生成されず、現在のブロックに対するBDOFの適用は、既存のマージ候補リストを使用し、さらなる構文または信号送信は伴わない。
【0059】
[0064]本開示の第1の態様の別の実施形態によれば、現在のブロックのモード情報に基づく事前定義された基準を使用して、現在のブロックを2つの事前定義されたクラス、すなわちDMVRクラスおよびBDOFクラスのうちの1つに分類することは、事前定義された基準が満足されたとき、現在のブロックをDMVRクラスに分類することと、事前定義された基準が満足されないとき、現在のブロックをBDOFクラスに分類することとを含む。
【0060】
[0065]本開示の第1の態様の別の実施形態によれば、現在のブロックのモード情報に基づく事前定義された基準を使用して、現在のブロックを2つの事前定義されたクラス、すなわちDMVRクラスおよびBDOFクラスのうちの1つに分類することは、事前定義された基準が満足されたとき、現在のブロックをBDOFクラスに分類することと、事前定義された基準が満足されないとき、現在のブロックをDMVRクラスに分類することとを含む。
【0061】
[0066]本開示の第1の態様の別の実施形態によれば、事前定義された基準は、現在のブロックに対して通常モードが選択されているかどうかを含む。
【0062】
[0067]本開示の第1の態様の別の実施形態によれば、事前定義された基準は、現在のブロックの符号化マージ索引が事前定義された数学的特性を保有しているかどうかを含む。
【0063】
[0068]別の例では、事前定義された数学的特性は、事前定義された閾値数以上であるという特性を含む。
【0064】
[0069]本開示の第1の態様の別の実施形態によれば、事前定義された基準は、現在のブロックの動きベクトルが事前定義された試験を満たすかどうかを含む。
【0065】
[0070]一例では、事前定義された試験は、すべての動きベクトル成分の大きさの和が事前定義された閾値数より大きいかどうかを含む。
【0066】
[0071]本開示の第1の態様の別の実施形態によれば、事前定義された基準は、現在のブロックが事前定義された形状であるかどうかを含む。
【0067】
[0072]一例では、事前定義された形状は、正方形の形状である。
【0068】
[0073]本開示の第1の態様の別の実施形態によれば、事前定義された基準は、現在のブロックのブロックサイズが事前定義された数学的特性を保有しているかどうかを含む。
【0069】
[0074]一例では、事前定義された数学的特性は、事前定義された閾値数以上であるという特性を含む。
【0070】
[0075]本開示の第1の態様の別の実施形態によれば、事前定義された基準は、現在のブロックのリスト0予測子サンプルとリスト1予測子サンプルとの間の差分絶対値和または差分二乗和(SADまたはSSD)が事前定義された数学的特性を保有しているかどうかを含む。
【0071】
[0076]一例では、事前定義された数学的特性は、事前定義された閾値数より大きいという特性を含む。
【0072】
[0077]本開示の第2の態様によれば、現在のブロックが、複数の事前定義された条件に基づいてDMVR符号化に適当であるとき、現在のブロックに対して重み付け予測が可能であるかどうかに関して第1の判定が行われ、現在のブロックに対するリスト0予測子サンプルおよびリスト1予測子サンプルを平均するときに、異なる重みが使用されるかどうかに関して第2の判定が行われ、第1および第2の判定に基づいて、現在のブロックに対するDMVRの適用を無効にするかどうかを判定することができる。この方法は、上記の事前定義された条件に加えて、現在のVVCと組み合わせることができ、または独立して実施することができる。
【0073】
[0078]
図7は、本開示の第2の態様の例示的な方法を示す流れ図である。現在のブロックを処理するとき(701)、本開示のこの態様のこの動作は、現在のブロックに対して複数の事前定義された条件を適用し(702)、現在のブロックが、複数の事前定義された条件に基づいてDMVR符号化に適当であるかどうかを判定することができる(703)。現在のブロックが、複数の事前定義された条件に基づいてDMVR符号化に適当でないと判定された場合、本開示のこの態様のこの動作は、現在のVVC設計に存在するプロセスを継続することができる(704)。他方では、現在のブロックが、複数の事前定義された条件に基づいてDMVR符号化に適当であると判定された場合、本開示のこの態様のこの動作は、現在のブロックに対して重み付け予測が可能であるかどうかを判定することができ(705)、現在のブロックに対するリスト0予測子サンプルおよびリスト1予測子サンプルを平均するときに、異なる重みが使用されるかどうかも判定することができ(706)、次に2つの判定に基づいて、現在のブロックに対するDMVRの適用を無効にするかどうかを判定することができる(707)。
【0074】
[0079]現在のブロックがそれに基づいてDMVR符号化に適当になる複数の事前定義された条件は、上記の枠に列挙した複数の事前定義されたDMVR条件とすることができるが、必ずしもその必要はない。
【0075】
[0080]本開示の第2の態様の一実施形態によれば、2つの判定に基づいて、現在のブロックに対するDMVRの適用を無効にするかどうかを判定することは、現在のブロックに対して重み付け予測が可能であると判定されたとき、現在のブロックに対するDMVRの適用を無効にすることを含む。
【0076】
[0081]本開示の第2の態様の別の実施形態によれば、2つの判定に基づいて、現在のブロックに対するDMVRの適用を無効にするかどうかを判定することは、現在のブロックに対するリスト0予測子サンプルおよびリスト1予測子サンプルを平均するときに異なる重みが使用されると判定されたとき、現在のブロックに対するDMVRの適用を無効にすることを含む。
【0077】
[0082]本開示の第2の態様の別の実施形態によれば、2つの判定に基づいて、現在のブロックに対するDMVRの適用を無効にするかどうかを判定することは、現在のブロックに対して重み付け予測が可能であると判定され、かつ同時に現在のブロックに対するリスト0予測子サンプルおよびリスト1予測子サンプルを平均するときに異なる重みが使用されると判定されたとき、現在のブロックに対するDMVRの適用を無効にすることを含む。
【0078】
[0083]本開示の第3の態様によれば、現在のブロックがサブブロックマージモードとして符号化されているとき、現在のブロックに対するBDOFの適用を可能にすることができる。この方法は、上記の事前定義された条件に加えて現在のVVCと組み合わせることができ、または独立して実施することができる。
【0079】
[0084]
図8は、本開示の第3の態様の動作を示す流れ図である。現在のブロックを処理するとき(801)、本開示のこの態様のこの動作は、現在のブロックがサブブロックマージモードとして符号化されているかどうかを判定することができる(802)。現在のブロックが、サブブロックマージモードとして符号化されていないと判定された場合、本開示のこの態様のこの動作は、現在のVVC設計に存在するプロセスを継続することができる(803)。他方では、現在のブロックが、サブブロックマージモードとして符号化されていると判定された場合、本開示のこの態様のこの動作は、現在のブロックに対するBDOFの適用を可能にすることができる(804)。
【0080】
[0085]1つまたは複数の例では、記載の機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せで実施することができる。ソフトウェアで実施された場合、これらの機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶し、またはコンピュータ可読媒体を介して伝送することができ、ハードウェアに基づく処理単位によって実行することができる。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、またはたとえば通信プロトコルに従った1つの場所から別の場所へのコンピュータプログラムの伝達を容易にする任意の媒体を含む通信媒体を含むことができる。このようにして、コンピュータ可読媒体は、概して、(1)非一時的な有形のコンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本出願に記載する実装例の実装のために命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスすることができる利用可能な任意の媒体とすることができる。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【0081】
[0086]さらに、上記の方法は、1つまたは複数の回路を含む装置を使用して実施することができ、そのような回路には、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素が含まれる。この装置は、上述した方法を実行するために、他のハードウェアまたはソフトウェア構成要素と組み合わせて、これらの回路を使用することができる。上記で開示した各モジュール、サブモジュール、ユニット、またはサブユニットは、1つまたは複数の回路を少なくとも部分的に使用して実施することができる。
【0082】
[0087]本発明の他の実施形態は、本明細書の考察および上記で開示した本発明の実施から、当業者には明らかになる。本出願は、本発明の一般原理に準拠し、当技術分野で周知または通例の慣行範囲に入る本開示からの逸脱を含めて、本発明のあらゆる変形例、使用例、または適用例を包含することが意図される。本明細書および例は、例示としてのみ考慮されるべきであり、本発明の本当の範囲および精神は、以下の特許請求の範囲によって示されることが意図される。
【0083】
[0088]本発明は、上記に説明および添付の図面に図示した厳密な例に限定されるものではなく、本発明の範囲から逸脱することなく、様々な修正および変更を加えることができることが理解されよう。本発明の範囲は、添付の特許請求の範囲によってのみ限定されることが意図される。