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

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

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

特表2024-524402動きベクトル改良による幾何区画モードのための方法およびデバイス
<>
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図1
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図2
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図3A
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図3B
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図3C
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図3D
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図3E
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図4
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図5
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図6A
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図6B
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図7
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図8
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図9
  • 特表-動きベクトル改良による幾何区画モードのための方法およびデバイス 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-05
(54)【発明の名称】動きベクトル改良による幾何区画モードのための方法およびデバイス
(51)【国際特許分類】
   H04N 19/52 20140101AFI20240628BHJP
【FI】
H04N19/52
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023580626
(86)(22)【出願日】2022-06-28
(85)【翻訳文提出日】2023-12-27
(86)【国際出願番号】 US2022035375
(87)【国際公開番号】W WO2023278489
(87)【国際公開日】2023-01-05
(31)【優先権主張番号】63/215,957
(32)【優先日】2021-06-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521248394
【氏名又は名称】ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】シウ、シャオユー
(72)【発明者】
【氏名】チェン、ウェイ
(72)【発明者】
【氏名】クオ、チョー-ウェイ
(72)【発明者】
【氏名】チュー、ホン-チェン
(72)【発明者】
【氏名】ヤン、ニン
(72)【発明者】
【氏名】チェン、イー-ウェン
(72)【発明者】
【氏名】ワン、シャンリン
(72)【発明者】
【氏名】ユイ、ビン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC04
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159NN14
5C159NN21
5C159RC12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
GPMでビデオブロックを復号する方法は、ビデオブロックを2つの幾何区画に区画化することと、正規マージ候補を追加することによって、単方向動きベクトル(MV)候補リストを構築することと、候補リストが完全でないと判定したことに応答して、正規マージ候補リストの双方向予測MVから導出された追加の単方向MVを候補リストに追加することによって、第1の更新された候補リストを構築することと、第1の更新された候補リストが完全でないと判定したことに応答して、ペア平均候補を第1の更新された候補リストに追加することによって、第2の更新された候補リストを構築することと、第2の更新された候補リストが完全でないと判定したことに応答して、最大長に到達するまで、ゼロ単方向MVを第2の更新された候補リストに周期的に追加することと、各幾何区画に対する単方向MVをそれぞれ生成することとを含む。
【特許請求の範囲】
【請求項1】
幾何区画モード(GPM)でビデオブロックを復号する方法であって、
前記ビデオブロックを第1および第2の幾何区画に区画化することと、
複数の正規マージ候補を追加することによって、前記GPMの単方向動きベクトル(MV)候補リストを構築することと、
前記単方向MV候補リストが完全でないと判定したことに応答して、正規マージ候補リストの1つまたは複数の双方向予測MVから導出された1つまたは複数の追加の単方向MVを前記単方向MV候補リストに追加することによって、第1の更新された単方向MV候補リストを構築することと、
前記第1の更新された単方向MV候補リストが完全でないと判定したことに応答して、1つまたは複数のペア平均候補を前記第1の更新された単方向MV候補リストに追加することによって、第2の更新された単方向MV候補リストを構築することと、
前記第2の更新された単方向MV候補リストが完全でないと判定したことに応答して、最大長に到達するまで、ゼロ単方向MVを前記第2の更新された単方向MV候補リストに周期的に追加することと、
前記第1の幾何区画に対する単方向MVおよび前記第2の幾何区画に対する単方向MVを生成することと、を含む方法。
【請求項2】
第1の基準ピクチャリスト内で奇数のマージインデックスを有する1つまたは複数のMV候補、および第2の基準ピクチャリスト内で偶数のマージインデックスを有する1つまたは複数のMVを取得することによって、前記1つまたは複数の追加の単方向MVを導出すること、をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1の基準ピクチャリストが基準ピクチャL0であり、前記第2の基準ピクチャリストがL1である、請求項2に記載の方法。
【請求項4】
前記第1の基準ピクチャリストが基準ピクチャL1であり、前記第2の基準ピクチャリストが基準ピクチャL0である、請求項2に記載の方法。
【請求項5】
前記1つまたは複数のペア平均候補を前記第1の更新された単方向MV候補リストに追加することが、
第1の基準ピクチャリストまたは第2の基準ピクチャリスト内の第1の2つの単方向MV候補を取得することと、
前記第1の2つの単方向MV候補が同じ基準ピクチャを示すと判定したことに応答して、前記第1の2つの単方向MV候補を平均することによって、ペア平均候補を取得することをさらに含む、請求項1に記載の方法。
【請求項6】
前記第1の2つの単方向MV候補が異なる基準ピクチャを示すと判定したことに応答して、前記第1の2つの単方向MV候補を平均することによって前記ペア平均候補の大きさを判定し、前記第1の単方向MV候補の前記基準ピクチャを前記ペア平均候補の基準ピクチャとして判定することによって、前記ペア平均候補を取得すること、をさらに含む、請求項5に記載の方法。
【請求項7】
前記第1の2つの単方向MV候補が異なる基準ピクチャを示すと判定したことに応答して、前記第1の2つの単方向MV候補を平均することによって前記ペア平均候補の大きさを判定し、前記第2の単方向MV候補の前記基準ピクチャを前記ペア平均候補の基準ピクチャとして判定することによって、前記ペア平均候補を取得すること、をさらに含む、請求項5に記載の方法。
【請求項8】
冗長な候補を前記単方向MV候補リストから除去すること、をさらに含む、請求項1に記載の方法。
【請求項9】
追加の単方向MVが前記単方向MV候補リスト内の候補に等しいと判定したことに応答して、前記追加の単方向MVを前記単方向MV候補リストに追加することを省略すること、をさらに含む、請求項8に記載の方法。
【請求項10】
前記追加の単方向MVと前記単方向MV候補リスト内の前記候補との間の差がMV閾値より小さいと判定したことに応答して、前記追加の単方向MVが前記単方向MV候補リスト内の前記候補に等しいと判定することをさらに含み、前記MV閾値が、前記ビデオブロックのブロックサイズに基づいて、固定の閾値または変数である、請求項9に記載の方法。
【請求項11】
ペア平均候補が前記第1の更新された単方向MV候補リスト内の候補に等しいと判定したことに応答して、前記ペア平均候補を前記第1の更新された単方向MV候補リストに追加することを省略すること、をさらに含む、請求項5に記載の方法。
【請求項12】
前記ペア平均候補と前記第1の更新された単方向MV候補リスト内の前記候補との間の差がMV閾値より小さいと判定したことに応答して、前記ペア平均候補が前記候補に等しいと判定することをさらに含み、前記MV閾値が、前記ビデオブロックのブロックサイズに基づいて、固定の閾値または変数である、請求項11に記載の方法。
【請求項13】
ビデオ符号化のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成された非一時的コンピュータ可読記憶媒体と、を備え、
前記1つまたは複数のプロセッサが、前記命令を実行するとき、請求項1から12のいずれかに記載の方法を実施するように構成される、装置。
【請求項14】
コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、1つまたは複数のコンピュータプロセッサによって実行されるとき、前記1つまたは複数のコンピュータプロセッサに、請求項1から12のいずれかに記載の方法を実施させる、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、開示が全体としてあらゆる目的で参照により本明細書に組み込まれている、2021年6月28日出願の米国仮特許出願第63/215,957号に基づいており、その優先権を主張するものである。
【0002】
本開示は、ビデオの符号化および圧縮に関する。より詳細には、本開示は、角度重量予測(AWP)モードとしても知られている、幾何区画(GPM)モードのコーディング効率を改善する方法および装置に関する。
【背景技術】
【0003】
ビデオデータを圧縮するために、様々なビデオ符号化技法が使用されうる。ビデオ符号化は、1つまたは複数のビデオ符号化規格に従って実行される。たとえば今日、いくつかのよく知られているビデオ符号化規格は、Versatile Video Coding(VVC)、High Efficiency Video Coding(HEVC、H.265またはMPEG-H Part2としても知られている)、およびAdvanced Video Coding(AVC、H.264またはMPEG-4 Part 10としても知られている)を含み、これらはISO/IEC MPEGおよびITU-T VECGによって共同開発されたものである。AOMedia Video 1(AV1)は、先行規格VP9の後継として、Alliance for Open Media(AOM)によって開発されたものである。Audio Video Coding(AVS)は、デジタル音声およびデジタルビデオ圧縮規格を指し、Audio and Video Coding Standard Workgroup of Chinaによって開発された別のビデオ圧縮規格シリーズである。既存のビデオ符号化規格のほとんどは、有名なハイブリッドビデオ符号化フレームワークに基づいて構築されており、すなわちブロックベースの予測方法(たとえば、インター予測、イントラ予測)を使用して、ビデオ画像またはシーケンスに存在する冗長性を低減させ、変換コーディングを使用して、予測誤差のエネルギーを圧縮する。ビデオ符号化技法の重要な目標は、ビデオ品質の劣化を回避または最小化しながら、ビデオデータをより低いビットレートを使用する形式に圧縮することである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、ビデオ符号化のための方法および装置、ならびに非一時的コンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0005】
本開示の第1の態様によれば、GPMでビデオブロックを復号する方法が提供される。この方法は、ビデオブロックを第1および第2の幾何区画に区画化することを含むことができる。この方法は、複数の正規マージ候補を追加することによって、GPMの単方向動きベクトル(MV)候補リストを構築することを含むことができる。この方法は、単方向MV候補リストが完全でないと判定したことに応答して、正規マージ候補リストの1つまたは複数の双方向予測MVから導出された1つまたは複数の追加の単方向MVを単方向MV候補リストに追加することによって、第1の更新された単方向MV候補リストを構築することを含むことができる。
【0006】
この方法は、第1の更新された単方向MV候補リストが完全でないと判定したことに応答して、1つまたは複数のペア平均候補を第1の更新された単方向MV候補リストに追加することによって、第2の更新された単方向MV候補リストを構築することを含むことができる。この方法はまた、第2の更新された単方向MV候補リストが完全でないと判定したことに応答して、最大長に到達するまで、ゼロ単方向MVを第2の更新された単方向MV候補リストに周期的に追加することを含むことができる。この方法は、第1の幾何区画に対する単方向MVおよび第2の幾何区画に対する単方向MVを生成することをさらに含むことができる。
【0007】
本開示の第2の態様によれば、ビデオ復号のための装置が提供される。この装置は、1つまたは複数のプロセッサおよび非一時的コンピュータ可読記憶媒体を含むことができる。非一時的コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成される。1つまたは複数のプロセッサは、命令を実行するとき、第1の態様の方法を実施するように構成される。
【0008】
本開示の第3の態様によれば、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、コンピュータ実行可能命令を記憶することができ、コンピュータ実行可能命令は、1つまたは複数のコンピュータプロセッサによって実行されるとき、1つまたは複数のコンピュータプロセッサに第1の態様の方法を実施させる。
【0009】
添付の図面は、本明細書に組み込まれて本明細書の一部を構成しており、本開示に一貫した例を示し、その説明とともに本開示の原理について解説する働きをする。
【図面の簡単な説明】
【0010】
図1】本開示の一例に係るエンコーダのブロック図である。
図2】本開示の一例に係るデコーダのブロック図である。
図3A】本開示の一例に係るマルチタイプのツリー構造におけるブロック区画を示す図である。
図3B】本開示の一例に係るマルチタイプのツリー構造におけるブロック区画を示す図である。
図3C】本開示の一例に係るマルチタイプのツリー構造におけるブロック区画を示す図である。
図3D】本開示の一例に係るマルチタイプのツリー構造におけるブロック区画を示す図である。
図3E】本開示の一例に係るマルチタイプのツリー構造におけるブロック区画を示す図である。
図4】本開示の一例に係る許可された幾何区画(GPM)の区画の図である。
図5】本開示の一例に係る単方向予測による動きベクトル選択を示す表である。
図6A】本開示の一例に係る動きベクトル差分(MMVD)モードの図である。
図6B】本開示の一例に係るMMVDモードの図である。
図7】本開示の一例に係るテンプレート整合(TM)アルゴリズムの図である。
図8】本開示の一例に係るGPMでビデオブロックを復号する方法の図である。
図9】本開示の一例に係るユーザインターフェースに結合されたコンピューティング環境を示す図である。
図10】本開示のいくつかの例に係るビデオブロックを符号化および復号するためのシステムを示すブロック図である。
【発明を実施するための形態】
【0011】
添付の図面に例が示されている実施形態が、次に詳細に参照される。以下の説明は添付の図面を参照し、異なる図面における同じ数字は、別途示されていない限り同じまたは類似の要素を表す。以下の実施形態の説明に記載される実装例は、本開示に一貫するすべての実装例を表すものではない。代わりにこれらの実装例は、添付の特許請求の範囲に記載されている本開示に関する態様に一貫する装置および方法の単なる例である。
【0012】
本開示で使用される術語は、特定の実施形態について説明することのみを目的とし、本開示を限定することが意図されるものではない。本開示および添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、および「the」は、文脈上別途明白に指示しない限り、複数形も同様に含むことが意図される。本明細書に使用される「および/または」という用語は、関連する記載項目のうちの1つまたは複数の任意またはすべての可能な組合せを意味し、それらを包含することが意図されることも理解されよう。
【0013】
様々な情報について説明するために、「第1」、「第2」、「第3」などの用語が本明細書で使用されることがあるが、情報はこれらの用語によって限定されるべきではないことが理解されよう。これらの用語は、1つのカテゴリの情報を別のカテゴリの情報から区別するためだけに使用される。たとえば、本開示の範囲から逸脱することなく、第1の情報が第2の情報と呼ばれてよく、同様に第2の情報が第1の情報と呼ばれてもよい。本明細書で使用されるとき、「~場合(if)」という用語は、文脈に応じて、「~とき(when)」もしくは「~とき(upon)」、または「決定に応答して(in response to a judgment)」を意味することが理解されよう。
【0014】
第1世代のAVS規格は、中国国家標準「Information Technology,Advanced Audio Video Coding,Part 2:Video」(AVS1としても知られている)、および「Information Technology,Advanced Audio Video Coding Part 16:Radio Television Video」(AVS+としても知られている)を含む。これは、MPEG-2規格と比べて、同じ知覚品質で約50%のビットレートの節約を提供することができる。AVS1規格のビデオ部は、2006年2月に中国国家標準として公布されたものである。第2世代のAVS規格は、一連の中国国家標準「Information Technology,Efficient Multimedia Coding」(AVS2としても知られている)を含み、主に追加のHD TVプログラムの伝送が標的とされる。AVS2のコーディング効率は、AVS+のコーディング効率の2倍である。2016年5月、AVS2は中国国家標準として発行された。一方、AVS2規格のビデオ部は、Institute of Electrical and Electronics Engineers(IEEE)によって、応用のための1つの国際規格として提出されたものである。AVS3規格は、最新の国際規格HEVCのコーディング効率を上回ることを目的としたUHDビデオの応用のための1つの新世代ビデオ符号化規格である。2019年3月、第68回AVS会議において、AVS3-P2ベースラインが完成され、これはHEVC規格に比べて約30%のビットレートの節約を提供する。現在、AVS3規格の基準実装を実証するために、高性能モデル(HPM)と呼ばれる1つの基準ソフトウェアがAVSグループによって維持されている。
【0015】
HEVCと同様に、AVS3規格は、ブロックベースのハイブリッドビデオ符号化フレームワークに基づいて構築されたものである。
【0016】
図10は、本開示のいくつかの実装例に係るビデオブロックを並行して符号化および復号するための例示的なシステム10を示すブロック図である。図1に示されているように、システム10は、ビデオデータを生成し、後に宛先デバイス14によって復号されるように符号化するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップまたはラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、セットトップ・ボックス、デジタル・テレビジョン、カメラ、表示デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーミング・コンソール、ビデオ・ストリーミング・デバイスなどを含む多種多様な電子デバイスのいずれかを備えることができる。いくつかの実装例では、ソースデバイス12および宛先デバイス14は無線通信能力を備える。
【0017】
いくつかの実装例では、宛先デバイス14は、復号されるべき符号化されたビデオデータを、リンク16を介して受信することができる。リンク16は、符号化されたビデオデータをソースデバイス12から宛先デバイス14へ動かすことが可能な任意のタイプの通信媒体またはデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が符号化されたビデオデータを宛先デバイス14へ直接実時間で伝送することを有効化するための通信媒体を備えることができる。符号化されたビデオデータは、無線通信プロトコルなどの通信規格に従って変調され、宛先デバイス14へ伝送されうる。通信媒体は、無線周波(RF)スペクトルまたは1つもしくは複数の物理的伝送線など、任意の無線または有線通信媒体を含むことができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースのネットワークの一部を形成することができる。通信媒体は、ソースデバイス12から宛先デバイス14への通信を容易にするのに有用となりうるルータ、スイッチ、基地局、または任意の他の機器を含むことができる。
【0018】
いくつかの他の実装例では、符号化されたビデオデータは、出力インターフェース22から記憶デバイス32へ伝送されうる。次に、記憶デバイス32内の符号化されたビデオデータは、宛先デバイス14によって入力インターフェース28を介してアクセスされうる。記憶デバイス32は、符号化されたビデオデータを記憶するためのハードドライブ、ブルーレイディスク、デジタル多用途ディスク(DVD)、コンパクトディスク読み出し専用メモリ(CD-ROM)、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または任意の他の好適なデジタル記憶媒体など、多様な分散型または局所アクセス型のデータ記憶媒体のいずれかを含むことができる。さらなる例では、記憶デバイス32は、ソースデバイス12によって生成された符号化されたビデオデータを保持することができるファイルサーバまたは別の中間記憶デバイスに対応することができる。宛先デバイス14は、記憶デバイス32から記憶されたビデオデータへ、ストリーミングまたはダウンロードを介してアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶し、符号化されたビデオデータを宛先デバイス14へ伝送することが可能な任意のタイプのコンピュータとすることができる。例示的なファイルサーバは、ウェブ・サーバ(たとえば、ウェブサイト向け)、ファイル転送プロトコル(FTP)サーバ、ネットワーク・アタッチ・ストレージ(NAS)デバイス、またはローカル・ディスク・ドライブを含む。宛先デバイス14は、ファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに好適な無線チャネル(たとえば、ワイヤレス・フィデリティ(Wi-Fi)接続)、有線接続(たとえば、デジタル加入者線(DSL)、ケーブル・モデムなど)、または両者の組合せを含む任意の標準的なデータ接続を介して、符号化されたビデオデータにアクセスすることができる。記憶デバイス32からの符号化されたビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、または両者の組合せとすることができる。
【0019】
図10に示されているように、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。ビデオソース18は、ビデオ捕捉デバイス、たとえばビデオ・カメラ、前に捕捉されたビデオを含むビデオ・アーカイブ、ビデオ・コンテンツ提供者からビデオを受信するビデオ供給インターフェース、および/もしくはコンピュータグラフィックスデータをソース・ビデオとして生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せなどのソースを含むことができる。一例として、ビデオソース18がセキュリティ監視システムのビデオ・カメラである場合、ソースデバイス12および宛先デバイス14は、カメラ電話またはビデオ電話を形成することができる。しかし、本出願に記載される実装例は、概してビデオ符号化に適用可能であってよく、無線および/または有線の応用例に適用されうる。
【0020】
捕捉された、事前捕捉された、またはコンピュータで生成されたビデオが、ビデオエンコーダ20によって符号化されうる。符号化されたビデオデータは、ソースデバイス12の出力インターフェース22を介して、宛先デバイス14へ直接伝送されうる。符号化されたビデオデータはまた(または別法として)、宛先デバイス14または他のデバイスによって復号および/または再生のために後にアクセスされるように、記憶デバイス32上に記憶されうる。出力インターフェース22は、モデムおよび/または送信器をさらに含むことができる。
【0021】
宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、および表示デバイス34を含む。入力インターフェース28は、受信器および/またはモデムを含むことができ、リンク16を介して符号化されたビデオデータを受信することができる。リンク16を介して通信された、または記憶デバイス32上に提供された、符号化されたビデオデータは、ビデオデータを復号する際にビデオデコーダ30によって使用されるようにビデオエンコーダ20によって生成された多様な構文要素を含むことができる。そのような構文要素は、通信媒体上で伝送され、記憶媒体上に記憶され、またはファイルサーバ上に記憶される、符号化されたビデオデータ内に含まれうる。
【0022】
いくつかの実装例では、宛先デバイス14は、表示デバイス34を含むことができ、表示デバイス34は、宛先デバイス14と通信するように構成された一体化された表示デバイスおよび外部表示デバイスとすることができる。表示デバイス34は、復号されたビデオデータをユーザに表示するものであり、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示デバイスなどの多様な表示デバイスのいずれかを備えることができる。
【0023】
ビデオエンコーダ20およびビデオデコーダ30は、VVC、HEVC、MPEG-4、Part10、AVCなどの専有もしくは業界の規格、またはそのような規格の拡張に従って動作することができる。本出願は、特有のビデオ符号化/復号規格に限定されるものではなく、他のビデオ符号化/復号規格にも適用可能であってよいことを理解されたい。概して、ソースデバイス12のビデオエンコーダ20は、これらの現在または将来の規格のいずれかに従ってビデオデータを符号化するように構成されうることが企図される。同様に、宛先デバイス14のビデオデコーダ30は、これらの現在または将来の規格のいずれかに従ってビデオデータを復号するように構成されうることも概して企図される。
【0024】
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、個別論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せなど、任意の多様な好適なエンコーダおよび/またはデコーダ回路として実装されうる。部分的にソフトウェアで実装されるとき、電子デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体内に記憶し、1つまたは複数のプロセッサを使用してそれらの命令をハードウェアで実行して、本開示に開示されるビデオ符号化/復号動作を実施することができる。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてよく、これらはいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(CODEC)の一部として一体化されうる。
【0025】
図1は、VVCに対するブロックベースのビデオエンコーダの概略図を示す。具体的には、図1は、典型的なエンコーダ100を示す。エンコーダ100は、図10に示されているビデオエンコーダ20とすることができる。エンコーダ100は、ビデオ入力110、動き補償112、動き推定114、イントラ/インター・モード決定116、ブロック予測子140、加算部128、変換130、量子化132、予測関連情報142、イントラ予測118、ピクチャバッファ120、逆量子化134、逆変換136、加算部126、メモリ124、ループ内フィルタ122、エントロピ符号化138、およびビットストリーム144を有する。
【0026】
エンコーダ100内で、ビデオ・フレームが、処理のために複数のビデオブロックに区画化される。所与の各ビデオブロックに対して、インター予測手法またはイントラ予測手法に基づいて予測が形成される。
【0027】
現在のビデオブロックと、ビデオ入力110の一部およびその予測部と、ブロック予測子140の一部との間の差を表す予測残差が、加算部128から変換130へ送信される。次いで変換係数が、エントロピ低減のために変換130から量子化132へ送信される。次いで量子化された係数が、エントロピ符号化138へ送られて、圧縮されたビデオビットストリームを生成する。図1に示されているように、ビデオブロック区画情報、動きベクトル(MV)、基準ピクチャ・インデックス、およびイントラ予測モードなど、イントラ/インター・モード決定116からの予測関連情報142がまた、エントロピ符号化138によって送られ、圧縮されたビットストリーム144に保存される。圧縮されたビットストリーム144は、ビデオビットストリームを含む。
【0028】
エンコーダ100内では、予測の目的で画素を再構築するために、デコーダ関連回路も必要とされる。第1に、逆量子化134および逆変換136によって予測残差が再構築される。この再構築された予測残差は、ブロック予測子140と組み合わされて、現在のビデオブロックに対するフィルタリングされていない再構築された画素を生成する。
【0029】
空間予測(または「イントラ予測」)は、同じビデオ・フレーム内のすでにコーディングされた隣接ブロック(基準サンプルと呼ばれる)のサンプルからの画素を現在のビデオブロックとして使用して、現在のビデオブロックを予測する。
【0030】
時間予測(「インター予測」とも呼ばれる)は、すでにコーディングされたビデオ・ピクチャからの再構築された画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間的冗長性を低減させる。通常、所与のコーディング単位(CU)またはコーディング・ブロックに対する時間予測信号が、現在CUとその時間基準との間の動きの量および方向を示す1つまたは複数のMVによってシグナリングされる。さらに、複数の基準ピクチャが対応される場合、1つの基準ピクチャ・インデックスがさらに送信され、時間予測信号が基準ピクチャストア内のどの基準ピクチャから生じたかを識別するために使用される。
【0031】
動き推定114は、ビデオ入力110およびピクチャバッファ120からの信号を取り込み、動き推定信号を動き補償112へ出力する。動き補償112は、ビデオ入力110、ピクチャバッファ120からの信号、および動き推定114からの動き推定信号を取り込み、動き補償信号をイントラ/インター・モード決定116へ出力する。
【0032】
空間および/または時間予測が実行された後、エンコーダ100内のイントラ/インター・モード決定116は、たとえばレート歪み最適化方法に基づいて、最良の予測モードを選ぶ。次いでブロック予測子140が現在のビデオブロックから引かれ、その結果得られる予測残差が、変換130および量子化132を使用して脱相関される。その結果得られる量子化された残差係数が、逆量子化134によって逆量子化され、逆変換136によって逆変換されて、再構築された残差を形成し、次いで再構築された残差が再び予測ブロックに加算されて、CUの再構築された信号を形成する。さらに、デブロッキング・フィルタ、サンプル適応オフセット(SAO)、および/または適応ループ内フィルタ(ALF)などのループ内フィルタリング122が、再構築されたCUに適用されてよく、その後、ピクチャバッファ120の基準ピクチャストア内に配置され、将来のビデオブロックをコーディングするために使用される。出力ビデオビットストリーム144を形成するために、コーディング・モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化残差係数はすべてエントロピ符号化・ユニット138へ送信され、さらに圧縮され、パッキングされてビットストリームを形成する。
【0033】
図1は、汎用のブロックベースのハイブリッドビデオ符号化システムのブロック図を与える。入力されたビデオ信号は、ブロック(コーディング単位(CU)と呼ばれる)ごとに処理される。4分木のみに基づいてブロックを区画化するHEVCとは異なり、AVS3では、4分木/2分木/拡張4分木に基づいて変動する局所特性に適応するように、1つのコーディング・ツリー単位(CTU)がCUに分割される。加えて、HEVCにおける複数の区画単位タイプの概念が除去され、すなわちAVS3ではCU、予測単位(PU)、および変換単位(TU)の分離が存在せず、代わりに各CUが常に、予測および変換の両方に対する基本単位として、さらなる区画なく使用される。AVS3の木区画構造では、1つのCTUがまず、4分木構造に基づいて区画化される。次いで各4分木葉ノードが、2分木および拡張4分木構造に基づいて、さらに区画化されてよい。
【0034】
図3A図3B図3C図3D、および図3Eに示されているように、5つの分割タイプ、すなわち4区画化、水平2区画化、垂直2区画化、水平拡張4分木区画化、および垂直拡張4分木区画化が存在する。
【0035】
図3Aは、本開示に係るマルチタイプのツリー構造におけるブロック4区画を示す図を示す。
【0036】
図3Bは、本開示に係るマルチタイプのツリー構造におけるブロック垂直2区画を示す図を示す。
【0037】
図3Cは、本開示に係るマルチタイプのツリー構造におけるブロック水平2区画を示す図を示す。
【0038】
図3Dは、本開示に係るマルチタイプのツリー構造におけるブロック垂直3区画を示す図を示す。
【0039】
図3Eは、本開示に係るマルチタイプのツリー構造におけるブロック水平3区画を示す図を示す。
【0040】
図1では、空間予測および/または時間予測が実施されうる。空間予測(または「イントラ予測」)は、同じビデオ・ピクチャ/スライス内のすでにコーディングされた隣接ブロック(基準サンプルと呼ばれる)のサンプルからの画素を使用して、現在のビデオブロックを予測する。空間予測は、ビデオ信号に固有の空間的冗長性を低減させる。時間予測(「インター予測」または「動き補償予測」とも呼ばれる)は、すでにコーディングされたビデオ・ピクチャからの再構築された画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間的冗長性を低減させる。通常、所与のCUに対する時間予測信号が、現在CUとその時間基準との間の動きの量および方向を示す1つまたは複数の動きベクトル(MV)によってシグナリングされる。また、複数の基準ピクチャが対応される場合、1つの基準ピクチャ・インデックスがさらに送信され、時間予測信号が基準ピクチャストア内のどの基準ピクチャから生じたかを識別するために使用される。空間および/または時間予測後、エンコーダ内のモード決定ブロックが、たとえばレート歪み最適化方法に基づいて、最良の予測モードを選ぶ。次いで予測ブロックが現在のビデオブロックから引かれ、予測残差が、変換を使用して脱相関され、次いで量子化される。量子化された残差係数が、逆量子化および逆変換されて、再構築された残差を形成し、次いで再構築された残差が、再び予測ブロックに加算されて、CUの再構築された信号を形成する。さらに、デブロッキング・フィルタ、サンプル適応オフセット(SAO)、および適応ループ内フィルタ(ALF)などのループ内フィルタリングが、再構築されたCUに適用されてよく、その後、基準ピクチャストア内に配置され、将来のビデオブロックをコーディングするための基準として使用される。出力ビデオビットストリームを形成するために、コーディング・モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数がすべて、エントロピ符号化・ユニットへ送信され、さらに圧縮およびパッキングされる。
【0041】
図2は、VVCのためのビデオデコーダの概略ブロック図を示す。具体的には、図2は、典型的なデコーダ200のブロック図を示す。ブロックベースのビデオデコーダ200は、図10に示されているビデオデコーダ30とすることができる。デコーダ200は、ビットストリーム210、エントロピ復号212、逆量子化214、逆変換216、加算部218、イントラ/インター・モード選択220、イントラ予測222、メモリ230、ループ内フィルタ228、動き補償224、ピクチャバッファ226、予測関連情報234、およびビデオ出力232を有する。
【0042】
デコーダ200は、図1のエンコーダ100内に存在する再構築に関連する部分に類似している。第1に、デコーダ200では、入ってくるビデオビットストリーム210は、エントロピ復号212によって復号されて、量子化された係数レベルおよび予測関連情報を導出する。次いで、量子化された係数レベルは、逆量子化214および逆変換216によって処理されて、再構築された予測残差を取得する。ブロック予測機構が、イントラ/インター・モード選択部220内に実装されており、復号された予測情報に基づいて、イントラ予測222または動き補償224を実施するように構成される。1組のフィルタリングされていない再構築された画素が、合計部218を使用して、逆変換216からの再構築された予測残差およびブロック予測機構によって生成された予測出力を合計することによって取得される。
【0043】
再構築されたブロックは、ループ内フィルタ228をさらに通過することができ、その後、基準ピクチャストアとして機能するピクチャバッファ226内に記憶される。ピクチャバッファ226内の再構築されたビデオは、表示デバイスを駆動するために送信されてよく、ならびに将来のビデオブロックを予測するために使用されてよい。ループ内フィルタ228がオンにされた状況で、これらの再構築された画素上でフィルタリング動作が実施されて、最終的な再構築されたビデオ出力232を導出する。
【0044】
図2は、ブロックベースのビデオデコーダの概略ブロック図を与える。第1に、ビデオビットストリームが、エントロピ復号ユニットでエントロピ復号される。コーディング・モードおよび予測情報が、空間予測ユニット(イントラ・コーディングされる場合)または時間予測ユニット(インター・コーディングされる場合)へ送信されて、予測ブロックを形成する。残差変換係数が逆量子化ユニットおよび逆変換ユニットへ送信されて、残差ブロックを再構築する。次いで、予測ブロックおよび残差ブロックがともに加算される。再構築されたブロックは、ループ内フィルタをさらに通過することができ、その後、基準ピクチャストア内に記憶される。次いで、基準ピクチャストア内の再構築されたビデオが、表示のために送出され、ならびに将来のビデオブロックを予測するために使用される。
【0045】
本開示の焦点は、VVC規格およびAVS3規格の両方で使用される幾何区画モード(GPM)のコーディング性能を改善することである。AVS3において、ツールは、角度重量予測(AWP)としても知られており、これはGPMと同じ設計精神に従うが、特定の設計詳細にはいくつかのわずかの違いがある。本開示の説明を容易にするために、以下、VVC規格における既存のGPM設計が、GPM/AWPツールの主な態様について解説するための一例として使用される。一方、本開示で提案される技術に密接に関係するという条件で、VVC規格およびAVS3規格の両方で適用される動きベクトル差分(MMVD)を伴うマージ・モードと呼ばれる別の既存のインター予測技術もまた、簡単に検討される。その後、現在のGPM/AWP設計のいくつかの欠点が特定される。最後に、提案される方法が詳細に提供される。本開示全体にわたって、VVC規格における既存のGPM設計が例として使用されるが、現代のビデオ符号化技術の当業者であれば、提案される技術はまた、同じまたは類似の設計精神を有する他のGPM/AWP設計または他のコーディング・ツールにも適用されうることに留意されたい。
【0046】
幾何区画モード(GPM)
VVCでは、インター予測のために幾何区画化モードが対応される。幾何区画化モードは、1つのCUレベル・フラグによって1つの特殊マージ・モードとしてシグナリングされる。現在のGPM設計では、8×64および64×8を除いて、幅および高さの両方が8以上かつ64以下の可能な各CUサイズに対して、合計64の区画がGPMモードによって対応される。
【0047】
このモードが使用されるとき、CUは、図4に示されているように(説明は後述)、幾何学的に位置する直線によって2つの部分に分割される。分割線の場所は、特有の区画の角度およびオフセット・パラメータから数学的に導出される。CU内の幾何区画の各部分は、その独自の動きを使用してインター予測され、各区画に対して単方向予測のみが許可され、すなわち各部分は、1つの動きベクトルおよび1つの基準インデックスを有する。従来の双方向予測と同様に、各CUに対して2つの動き補償予測のみが必要とされることが確実になるように、単方向予測による動きの制約が適用される。幾何区画化モードが現在CUのために使用される場合、幾何区画の区画モード(角度およびオフセット)を示す幾何区画インデックス、および2つのマージインデックス(各区画に1つ)が、さらにシグナリングされる。最大GPM候補サイズの数は、シーケンス・レベルで明示的にシグナリングされる。
【0048】
図4は、許可されたGPM区画を示し、各ピクチャ内の分割は、1つの同一の分割方向を有する。
【0049】
単方向予測候補リスト構造
1つの幾何区画に対する単方向予測動きベクトルを導出するために、まず、1つの単方向予測候補リストが、正規マージ候補リスト生成プロセスから直接導出される。nを、幾何単方向予測候補リスト内の単方向予測動きのインデックスとして示す。第nのマージ候補のLX動きベクトルは、幾何区画化モードに対する第nの単方向予測動きベクトルとして使用され、ただしXはnのパリティに等しい。
【0050】
これらの動きベクトルは、図5(後述)に「x」で示されている。第nの拡張マージ候補の対応するLX動きベクトルが存在しない場合、同じ候補のL(1-X)動きベクトルが、代わりに幾何区画化モードに対する単方向予測動きベクトルとして使用される。
【0051】
図5は、GPMに対するマージ候補リストの動きベクトルからの単方向予測動きベクトル選択を示す。
【0052】
幾何区画エッジに沿った混合
各幾何区画がその独自の動きを使用して取得された後、2つの単方向予測信号に混合が適用されて、幾何区画エッジ周辺のサンプルを導出する。CUの各位置に対する混合重量は、個々の各サンプル位置から対応する区画エッジまでの距離に基づいて導出される。
【0053】
GPMシグナリング設計
現在のGPM設計によれば、GPMの使用は、CUレベルで1つのフラグをシグナリングすることによって示される。このフラグは、現在CUがマージ・モードまたはスキップ・モードでコーディングされるときのみシグナリングされる。具体的には、このフラグが1に等しいとき、これは現在CUがGPMによって予測されることを示す。そうでない場合(フラグが0に等しい)、CUは、正規マージ・モード、動きベクトル差分を伴うマージ・モード、インターおよびイントラ予測の組合せなどのような別のマージ・モードによってコーディングされる。現在CUに対してGPMが有効化されるとき、適用された幾何区画モードを示すために、1つの構文要素、すなわちmerge_gpm_partition_idxがさらにシグナリングされる(図4に示されているように、CUを2つの区画に分割するCU中心からの直線の方向およびオフセットを指定する)。その後、2つの構文要素merge_gpm_idx0およびmerge_gpm_idx1が、第1および第2のGPM区画のために使用される単方向予測マージ候補のインデックスを示すためにシグナリングされる。より具体的には、それら2つの構文要素は、「単方向予測マージ・リスト構造」の章に記載されている単方向予測マージ・リストから2つのGPM区画の単方向MVを判定するために使用される。現在のGPM設計によれば、2つの単方向MVをより異なるものにするために、2つのインデックスを同じにすることはできない。そのような従来の知識に基づいて、まず、第1のGPM区画の単方向予測マージインデックスがシグナリングされ、第2のGPM区画の単方向予測マージインデックスのシグナリング・オーバーヘッドを低減させるための予測部として使用される。詳細には、第2の単方向予測マージインデックスが第1の単方向予測マージインデックスより小さい場合、その元の値が直接シグナリングされる。そうでない場合(第2の単方向予測マージインデックスが第1の単方向予測マージインデックスより大きい)、その値から1が引かれた後、ビットストリームへシグナリングされる。デコーダ側では、まず第1の単方向予測マージインデックスはデコーダである。次いで、第2の単方向予測マージインデックスの復号のために、構文解析された値が第1の単方向予測マージインデックスより小さい場合、第2の単方向予測マージインデックスは、構文解析値に等しく設定され、そうでない場合(構文解析された値が第1の単方向予測マージインデックスに等しいまたはそれより大きい)、第2の単方向予測マージインデックスは、構文解析された値に1を足した値に等しく設定される。表1は、現在のVVC仕様でGPMモードに使用される既存の構文要素を示す。
【0054】
【表1】
【0055】
他方では、現在のGPM設計において、2つの単方向予測マージインデックス、すなわちmerge_gpm_idx0およびmerge_gpm_idx1の2値化のために、短縮単項コードが使用される。加えて、2つの単方向予測マージインデックスを同じにすることはできないため、2つの単方向予測マージインデックスのコードワードを短縮するために異なる最大値が使用され、2つの単方向予測マージインデックスは、それぞれmerge_gpm_idx0およびmerge_gpm_idx1に対してMaxGPMMergeCand-1およびMaxGPMMergeCand-2に等しく設定される。MaxGPMMergeCandは、単方向予測マージ・リスト内の候補の数である。デコーダ側では、merge_gpm_idx0およびmerge_gpm_idx1の値を同じにすることはできないという条件で、受信されたmerge_gpm_idx1の値がmerge_gpm_idx0の値に等しいまたはそれより大きいとき、その値は1増大される。
【0056】
GPM/AWPモードが適用されるとき、構文merge_gpm_partition_idxを2ビットのストリングに翻訳するために、2つの異なる2値化方法が適用される。具体的には、構文要素は、それぞれVVC規格およびAVS3規格における固定長コードおよび短縮された2値コードによって2値化される。一方、AVS3におけるAWPモードの場合、構文要素の値の2値化のために、異なる最大値が使用される。具体的には、AVS3において、許可されたGPM/AWP区画モードの数は56であり(すなわち、merge_gpm_partition_idxの最大値は55である)、VVCにおいて、その数は64に増大される(すなわち、merge_gpm_partition_idxの最大値は63である)。
【0057】
動きベクトル差分(MMVD)を伴うマージ・モード
その空間/時間的近隣から1つの現在のブロックの動き情報を導出する従来のマージ・モードに加えて、MMVD/UMVEモードは、VVC規格およびAVS規格の両方で1つの特殊マージ・モードとして導入される。具体的には、VVCおよびAVS3の両方において、モードは、コーディング・ブロック・レベルで1つのMMVDフラグによってシグナリングされる。MMVDモードにおいて、正規マージ・モードに対するマージ・リスト内の最初の2つの候補が、MMVDに対する2つの基本マージ候補として選択される。1つの基本マージ候補が選択およびシグナリングされた後、選択されたマージ候補の動きに加算される動きベクトル差分(MVD)を示すために、追加の構文要素がシグナリングされる。MMVD構文要素は、基本マージ候補を選択するためのマージ候補フラグ、MVDの大きさを指定するための距離インデックス、およびMVDの方向を示すための方向インデックスを含む。
【0058】
既存のMMVD設計では、距離インデックスは、始点からの1組の事前定義されたオフセットに基づいて定義されるMVDの大きさを指定する。図6Aおよび図6Bに示されているように、オフセットは、開始MV(すなわち、選択された基本マージ候補のMV)の水平または垂直成分に加算される。
【0059】
図6Aは、L0基準に対するMMVDモードを示す。図6Bは、L1基準に対するMMVDモードを示す。
【0060】
表2は、それぞれAVS3で適用されるMVDオフセットを示す。
【0061】
【表2】
【0062】
表3に示されているように、方向インデックスは、シグナリングされたMVDの符号を指定するために使用される。MVD符号の意味は、開始MVに従って変動しうることに留意されたい。開始MVが単方向予測MVまたは双方向予測MVであり、MVが2つの基準ピクチャを指し、そのPOCがどちらも現在のピクチャのPOCより大きい、またはどちらも現在のピクチャのPOCより小さいとき、シグナリングされた符号は、開始MVに加算されたMVDの符号である。開始MVが2つの基準ピクチャを指す双方向予測MVであり、一方のピクチャのPOCが現在のピクチャより大きく、他方のピクチャのPOCが現在のピクチャより小さいとき、シグナリングされた符号はL0 MVDに適用され、シグナリングされた符号の逆の値がL1 MVDに適用される。
【0063】
【表3】
【0064】
正規インター・モードに対する動きシグナリング
HEVC規格と同様に、マージ/スキップ・モードに加えて、VVCおよびAVS3の両方において、1つのインターCUがその動き情報をビットストリームで明示的に指定することを許可する。全体的に、VVCおよびAVS3の両方における動き情報のシグナリングは、HEVC規格のものと同じままである。具体的には、まず、1つのインター予測構文、すなわちinter_pred_idcが、リストL0、L1、または両方からの予測信号かどうかを示すためにシグナリングされる。使用される各基準リストに対して、対応する基準リストに対する1つの基準ピクチャ・インデックスref_idx_lx(x=0,1)をシグナリングすることによって、対応する基準ピクチャが識別され、MV予測部(MVP)を選択するために使用される1つのMVPインデックスmvp_lx_flag(x=0,1)によって、続いて標的MVと選択されたMVPとの間のその動きベクトル差分(MVD)によって、対応するMVが表される。加えて、VVC規格では、1つの制御フラグmvd_l1_zero_flagが、スライス・レベルでシグナリングされる。mvd_l1_zero_flagが0に等しいとき、L1 MVDがビットストリームでシグナリングされ、そうでない場合(mvd_l1_zero_flagフラグが1に等しい)、L1 MVDがシグナリングされず、その値は常にエンコーダおよびデコーダで0に推論される。
【0065】
CUレベル重量による双方向予測
VVCおよびAVS3より以前の規格では、加重予測(WP)が適用されないとき、双方向予測信号は、2つの基準ピクチャから取得される単方向予測信号を平均化することによって生成される。VVCでは、双方向予測の効率を改善するために、1つのツール・コーディング、すなわちCUレベル重量による双方向予測(BCW)が導入された。具体的には、簡単な平均化の代わりに、BCWの双方向予測は、2つの予測信号の加重平均を許可することによって、以下に示されるように拡張される。
P’(i,j)=((8-w)・P(i,j)+w・P(i,j)+4)≫3
【0066】
VVCでは、現在のピクチャが1つの低遅延ピクチャであるとき、1つのBCWコーディング・ブロックの重量は、1組の事前定義された重量値w∈{-2,3,4,5,10}から選択されることが許可され、重量4は、2つの単方向予測信号が等しく加重される従来の双方向予測事例を表す。低遅延の場合、3つの重量w∈{3,4,5}のみが許可される。概して、WPとBCWとの間にはいくつかの設計上の類似点が存在するが、2つのコーディング・ツールは、照明変化の問題を異なる粒度で解決することを標的とする。しかし、WPとBCWとの間の相互作用は、場合によりVVC設計を複雑にする可能性があるため、2つのツールが同時に有効化されることは認められない。具体的には、WPが1つのスライスに対して有効化されたとき、スライス内のすべての双方向予測CUに対するBCW重量はシグナリングされず、4であると推論される(すなわち、等しい重量が適用される)。
【0067】
テンプレート整合
テンプレート整合(TM)は、現在CUの上および左の隣接する再構築されたサンプルからなる1つのテンプレートと、基準ピクチャ内の基準ブロック(すなわち、テンプレートと同じサイズ)との間の最良の整合を見出すことによって、現在CUの動き情報を改良するためのデコーダ側のMV導出方法である。図7に示されているように、[-8,+8]ペルのサーチ範囲内において、1つのMVが現在CUの初期動きベクトルの周囲でサーチされる。最良の整合は、現在テンプレートと基準テンプレートとの間の最も低い整合コスト、たとえば差分絶対値和(SAD)、変換差分絶対値和(SATD)などを実現するMVと定義されうる。インター・コーディングにTMモードを適用するための2つの異なる方法がある。
【0068】
AMVPモードでは、テンプレート整合差分に基づいて、現在のブロックのテンプレートと基準ブロックのテンプレートとの間の最小差に到達したものを選ぶようにMVP候補が判定され、次いでTMは、MV改良のためにこの特定のMVP候補に対してのみ実施される。TMは、反復ダイヤモンドサーチを使用することによって、[-8,+8]ペルサーチ範囲内で1ペルMVD精度(または4ペルAMVRモードの場合は4ペル)から、このMVP候補を改良する。AMVP候補は、下表13で指定されるAMVRモードに応じて、1ペルMVD精度(または4ペルAMVRモードの場合は4ペル)の十字サーチを使用し、続いて順次1/2ペルおよび1/4ペルのものを使用することによってさらに改良されうる。このサーチプロセスは、MVP候補がTMプロセス後に、AMVRモードによって示されているものと同じMV精度を依然として維持することを確実にする。
【0069】
【表4】
【0070】
マージ・モードでは、マージインデックスによって示されるマージ候補に、類似のサーチ方法が適用される。上表に示されているように、TMは、マージされた動き情報に従って代替の補間フィルタ(AMVRが1/2ペル・モードであるときに使用される)が使用されるかどうかに応じて、1/8ペルMVD精度まですべて実施することができ、または1/2ペルMVD精度より後ろを省くこともできる。
【0071】
上記に記載されるように、2つのGPM区画の予測サンプルを生成するために使用される単方向の動きが、正規マージ候補から直接取得される。空間/時間隣接ブロックのMV間に強い相関がない場合、マージ候補からの導出された単方向MVは、各GPM区画の本当の動きを捕捉するには十分に正確でない可能性がある。動き推定は、より正確な動きを提供することが可能であるが、既存の単方向MVの上に適用されうる任意の動き改良によって無視できないシグナリング・オーバーヘッドという犠牲を払っている。他方では、MVMDモードは、VVC規格およびAVS3規格の両方で利用され、MVDシグナリング・オーバーヘッドを低減させるための1つの効率的なシグナリング機構であることが証明されている。したがって、GPMをMMVDモードと組み合わせることも有益となりうる。そのような組合せは、場合により、各GPM区画の個々の動きを捕捉するためにより正確なMVを提供することによって、GPMツールの全体的なコーディング効率を改善することができる。
【0072】
先に議論されているように、VVC規格およびAVS3規格の両方で、GPMモードは、マージ/スキップ・モードのみに適用される。そのような設計は、すべての非マージ・インターCUがGPMの柔軟な非方形区画から利益を得ることができるわけではないことを考慮すると、コーディング効率の点では最適とはいえない可能性がある。他方では、上述されたものと同じ理由で、正規マージ/スキップ・モードから導出される単方向予測動き候補は、2つの幾何区画の本当の動きを捕捉するのに常に正確であるとは限らない。そのような分析に基づいて、非マージ・インター・モード(すなわち、動き情報をビットストリームで明示的にシグナリングするCU)へのGPMモードの妥当な拡張によって、追加のコーディング利得が予期されうる。しかし、MV精度の改善は、シグナリング・オーバーヘッドが増大されるという犠牲を払っている。したがって、GPMモードを明示的インター・モードに効率的に適用するために、2つの幾何区画に対してより正確なMVを提供しながらシグナリング・コストを最小化することができる1つの有効なシグナリング方式を識別することが重要になるはずである。
【0073】
提案される方法
本開示では、各GPM区画に適用された既存の単方向MVの上にさらなる動き改良を適用することによって、GPMのコーディング効率をさらに改善するための方法が提案される。提案される方法は、動きベクトル改良を伴う幾何区画モード(GPM-MVR)と呼ばれている。加えて、提案される方式では、既存のMMVD設計の1つの類似の方法で、すなわち動き改良の1組の事前定義されたMVDの大きさおよび方向に基づいて、動き改良がシグナリングされる。
【0074】
本開示の別の態様では、GPMモードを明示的インター・モードに拡張するための解決策が提供される。説明を容易にするために、それらの方式は、明示的動きシグナリングを伴う幾何区画モード(GPM-EMS)と呼ばれる。具体的には、正規インター・モードとのより良好な調和を実現するために、提案されるGPM-EMS方式では、2つの幾何区画の対応する単方向MVを指定するために、既存の動きシグナリング機構、すなわちMVPおよびMVDが利用される。
【0075】
別個の動きベクトル改良を伴う幾何区画モード
GPMのコーディング効率を改善するために、本章では、別個の動きベクトル改良を伴う1つの改善された幾何区画モードが提案される。具体的には、GPM区画を考慮して、提案された方法は、まず、既存の構文merge_gpm_idx0およびmerge_gpm_idx1を使用して、既存の単方向予測マージ候補リストから2つのGPM区画に対する単方向MVを識別し、これらをベースMVとして使用する。2つのベースMVが判定された後、2組の新しい構文要素が導入されて、2つのGPM区画のベースMVの上に適用される動き改良の値を別個に指定する。具体的には、まず、2つのフラグ、すなわちgpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagが、GPM-MVRがそれぞれ第1および第2のGPM区画に適用されたかどうかを示すためにシグナリングされる。1つのGPM区画のフラグが1に等しいとき、その区画のベースMVに適用されたMVRの対応する値は、MMVD形式でシグナリングされ、すなわち1つの距離インデックス(構文要素gpm_mvr_partIdx0_distance_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)がMVRの大きさを指定し、1つの方向インデックス(構文要素gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)がMVRの方向を指定する。表4は、提案されたGPM-MVR方法によって導入される構文要素を示す。
【0076】
【表5】
【0077】
表4に示されている提案された構文要素に基づいて、デコーダでは、各GPM区画の単方向予測サンプルを生成するために使用される最後のMVは、シグナリングされた動きベクトル改良と対応するベースMVとの和に等しい。実際には、異なる組のMVRの大きさおよび方向が、提案されたGPM-MVR方式に事前定義および適用されてよく、動きベクトル精度とシグナリング・オーバーヘッドとの間に様々なトレードオフを提供することができる。1つの特有の例では、提案されたGPM-MVR方式に対してVVC規格で使用される8つのMVDオフセット(すなわち、1/4、1/2、1、2、4、8、16、および32ペル)および4つのMVD方向(すなわち、±xおよびy軸)を再び使用することが提案される。別の例では、AVS3規格で使用される既存の5つのMVDオフセット{1/4、1/2、1、2、および4ペル}および4つのMVD方向(すなわち、±xおよびy軸)が、提案されたGPM-MVR方式で適用される。
【0078】
「GPMシグナリング設計」の章で議論されたように、2つのGPM区画のために使用される単方向MVは同一にすることができないため、既存のGPM設計では、2つの単方向予測マージインデックスを異なるものにする1つの制約が適用される。しかし、提案されたGPM-MVR方式では、既存のGPM単方向MVの上にさらなる動き改良が適用される。したがって、2つのGPM区画のベースMVが同一であるときでも、2つの区画を予測するために使用される最後の単方向MVは、2つの動きベクトル改良の値が同じでない限りやはり異なるであろう。上記の考慮に基づいて、この制約(2つの単方向予測マージインデックスが異なるように制限する)は、提案されたGPM-MVR方式が適用されるときに除去される。加えて、2つの単方向予測マージインデックスが同一になることが許可されるため、同じ最大値MaxGPMMergeCand-1が、merg_gpm_idx0およびmerge_gpm_idx1の両方の2値化のために使用され、ここでMaxGPMMergeCandは、単方向予測マージ・リスト内の候補の数である。
【0079】
上記で分析されたように、2つのGPM区画の単方向予測マージインデックス(すなわち、merge_gpm_idx0およびmerge_gpm_idx1)が同一であるとき、2つの区画のために使用される最後のMVが異なることを確実にするために、2つの動きベクトル改良の値を同じにすることはできない。そのような条件に基づいて、本開示の一実施形態では、2つのGPM区画の単方向予測マージインデックスが同じである(すなわち、merge_gpm_idx0がmerge_gpm_idx1に等しい)とき、第1のGPM区画のMVRを使用して第2のGPM区画のMVRのシグナリング・オーバーヘッドを低減させるための1つのシグナリング冗長性除去方法が提案される。一例では、以下のシグナリング条件が適用される:
【0080】
第1に、フラグgpm_mvr_partIdx0_enable_flagが0に等しい(すなわち、GPM-MVRが第1のGPM区画に適用されない)とき、gpm_mvr_partIdx1_enable_flagのフラグはシグナリングされないが、1であると推論される(すなわち、GPM-MVRが第2のGPM区画に適用される)。
【0081】
第2に、両方のフラグgpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagが1に等しく(すなわち、GPM-MVRが2つのGPM区画に適用される)、かつgpm_mvr_partIdx0_direction_idxがgpm_mvr_partIdx1_direction_idxに等しい(すなわち、2つのGPM区画のMVRが同じ方向を有する)とき、第1のGPM区画のMVRの大きさ(すなわち、gpm_mvr_partIdx0_distance_idx)が、第2のGPM区画のMVRの大きさ(すなわち、gpm_mvr_partIdx1_distance_idx)を予測するために使用される。具体的には、gpm_mvr_partIdx1_distance_idxがgpm_mvr_partIdx0_distance_idxより小さい場合、その元の値が直接シグナリングされる。そうでない場合(gpm_mvr_partIdx1_distance_idxがgpm_mvr_partIdx0_distance_idxより大きい)、その値から1が引かれて、ビットストリームにシグナリングされる。デコーダ側では、gpm_mvr_partIdx1_distance_idxの値を復号するために、構文解析された値がgpm_mvr_partIdx0_distance_idxより小さい場合、gpm_mvr_partIdx1_distance_idxは構文解析値に等しく設定され、そうでない場合(構文解析された値がgpm_mvr_partIdx0_distance_idxに等しいまたはそれより大きい)、gpm_mvr_partIdx1_distance_idxは、1を足した構文解析された値に等しく設定される。そのような場合、オーバーヘッドをさらに低減させるために、異なる最大値MaxGPMMVRDistance-1およびMaxGPMMVRDistance-2が、gpm_mvr_partIdx0_distance_idxおよびgpm_mvr_partIdx1_distance_idxの2値化に使用されてよく、ここでMaxGPMMVRDistanceは、動きベクトル改良に対する許可された大きさの数である。
【0082】
別の実施形態では、MVRの大きさがMVRの大きさの前にシグナリングされるように、シグナリング順序をgpm_mvr_partIdx0_direction_idx/gpm_mvr_partIdx1_direction_idxおよびgpm_mvr_partIdx0_distance_idx/gpm_mvr_partIdx1_distance_idxに切り換えることが提案される。これによって、上記の同じ論理に従って、エンコーダ/デコーダは、第1のGPM区画のMVR方向を使用して、第2のGPM区画のMVR方向のシグナリングを調節することができる。別の実施形態では、第1に第2のGPM区画のMVRの大きさおよび方向をシグナリングし、これらを使用して第2のGPM区画のMVRの大きさおよび方向のシグナリングを調節することが提案される。
【0083】
別の実施形態では、既存のGPM構文要素のシグナリングの前に、GPM-MVRに関連する構文要素をシグナリングすることが提案される。具体的には、そのような設計では、まず、2つのフラグgpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagが、GPM-MVRがそれぞれ第1および第2のGPM区画に適用されたかどうかを示すためにシグナリングされる。1つのGPM区画のフラグが1に等しいとき、距離インデックス(構文要素gpm_mvr_partIdx0_distance_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)および方向インデックス(構文要素gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)がMVRの方向を指定する。その後、既存の構文merge_gpm_idx0およびmerge_gpm_idx1が、2つのGPM区画に対する単方向MV、すなわちベースMVを識別するためにシグナリングされる。表5は、提案されたGPM-MVRシグナリング方式を示す。
【0084】
【表6】
【0085】
表4のシグナリング方法と同様に、表5のGPM-MVRシグナリング方法が適用されるとき、2つのGPM区画の予測に使用されるその結果得られるMVが同一でないことを確実にするために、特定の条件が適用されうる。具体的には、第1および第2のGPM区画に適用されるMVRの値に応じて、単方向予測マージインデックスmerge_gpm_idx0およびmerge_gpm_idx1のシグナリングを抑制するための以下の条件が提案される。
【0086】
第1に、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの両方の値が0に等しい(すなわち、2つのGPM区画の両方に対してGPM-MVRが無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値を同じにすることはできない。
【0087】
第2に、gpm_mvr_partIdx0_enable_flagが1に等しく(すなわち、第1のGPM区画に対してGPM-MVRが有効化される)、かつgpm_mvr_partIdx1_enable_flagが0に等しい(すなわち、第2のGPM区画に対してGPM-MVRが無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。
【0088】
第3に、gpm_mvr_partIdx0_enable_flagが0に等しく(すなわち、第1のGPM区画に対してGPM-MVRが無効化される)、かつgpm_mvr_partIdx1_enable_flagが1に等しい(すなわち、第2のGPM区画に対してGPM-MVRが有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。
【0089】
第4に、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの両方の値が1に等しい(すなわち、2つのGPM区画の両方に対してGPM-MVRが有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されるか否かの判定は、2つのGPM区画に適用されるMVRの値(gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx0_distance_idx、ならびにgpm_mvr_partIdx1_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)に依存する。2つのMVRの値が等しい場合、merge_gpm_idx0およびmerge_gpm_idx1が同一になることは許可されない。そうでない場合(2つのMVRの値が等しくない)、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。
【0090】
上記4つの事例では、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されないとき、1つの区画のインデックス値が、他の区画のインデックス値の予測部として使用されうる。1つの方法では、まず、merge_gpm_idx0をシグナリングし、その値を使用してmerge_gpm_idx1を予測することが提案される。具体的には、エンコーダでは、merge_gpm_idx1がmerge_gpm_idx0より大きいとき、デコーダへ送信されるmerge_gpm_idx1の値は1低減される。デコーダでは、merge_gpm_idx1の受信された値がmerge_gpm_idx0の受信された値に等しいまたはそれより大きいとき、merge_gpm_idx1の値は1増大される。別の方法では、まず、merge_gpm_idx1をシグナリングし、その値を使用してmerge_gpm_idx0を予測することが提案される。したがって、そのような場合、エンコーダでは、merge_gpm_idx0がmerge_gpm_idx1より大きいとき、デコーダへ送信されるmerge_gpm_idx0の値は1低減される。デコーダでは、merge_gpm_idx0の受信された値がmerge_gpm_idx1の受信された値に等しいまたはそれより大きいとき、merge_gpm_idx0の値は1増大される。加えて、既存のGPMシグナリング設計と同様に、異なる最大値MaxGPMMergeCand-1およびMaxGPMMergeCand-2が、それぞれシグナリング順序に従って、第1および第2のインデックス値の2値化に使用されうる。他方では、2つのインデックス値間に相関がないため、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されるとき、同じ最大値MaxGPMMergeCand-1が、2つのインデックス値の両方の2値化に使用される。
【0091】
上記の方法では、シグナリング・コストを低減させるために、異なる最大値がmerge_gpm_idx0およびmerge_gpm_idx1の2値化に適用されうる。対応する最大値の選択は、MVRの復号された値(gpm_mvr_partIdx0_enable、gpm_mvr_partIdx1_enable、gpm_mvr_partIdx0_direction_idx、gpm_mvr_partIdx1_direction_idx、gpm_mvr_partIdx0_distance_idx、およびgpm_mvr_partIdx1_distance_idxによって示される)に依存する。そのような設計は、異なるGPM構文要素間に望ましくない構文解析依存をもたらし、全体的な構文解析に影響を及ぼすことがある。そのような問題を解決するために、一実施形態では、構文解析merge_gpm_idx0およびmerge_gpm_idx1の値に対して常に1つの同じ最大値(たとえば、MaxGPMMergeCand-1)が提案される。そのような方法が使用されるとき、2つのGPM区画の2つの復号されたMVが同じになることを防止するために、1つのビットストリーム適合制約が使用されうる。別の方法では、2つのGPM区画の復号されたMVが同じになることが許可されるように、そのような非一致制約を除去することもできる。他方では、そのような方法が適用される(すなわち、merge_gpm_idx0およびmerge_gpm_idx1に同じ最大値を使用する)とき、merge_gpm_idx0/merge_gpm_idx1と他のGPM-MVR構文要素との間に構文解析依存は存在しない。したがって、これらの構文要素のシグナリングの順序は問題ではなくなる。一例では、merge_gpm_idx0/merge_gpm_idx1のシグナリングを、gpm_mvr_partIdx0_enable、gpm_mvr_partIdx1_enable、gpm_mvr_partIdx0_direction_idx、gpm_mvr_partIdx1_direction_idx、gpm_mvr_partIdx0_distance_idx、およびgpm_mvr_partIdx1_distance_idxのシグナリングの前に動かすことが提案される。
【0092】
対称の動きベクトル改良を伴う幾何区画モード
上記で議論されたGPM-MVR方法の場合、2つの別個のMVR値がシグナリングされ、1つが1つのGPM区画のみのベースMVを改善するために適用される。そのような方法は、各GPM区画に対して独立した動き改良を許可することによって、予測精度の改善に関して効率的となりうる。しかし、そのような柔軟な動き改良は、異なる2組のGMP-MVR構文要素がエンコーダからデコーダへ送信される必要があるという条件で、シグナリング・オーバーヘッドを増大させるという犠牲を払っている。シグナリング・オーバーヘッドを低減させるために、本章では、対称の動きベクトル改良を伴う1つの幾何区画モードが提案される。具体的には、この方法では、2つのGPM区画に関連付けられた現在のピクチャおよび基準ピクチャのピクチャ順序カウント(POC)値間の対称関係に従って、1つの単一のMVR値が1つのGPM CUに対してシグナリングされ、2つのGPM区画の両方のために使用される。表6は、提案された方法が適用されるときの構文要素を示す。
【0093】
【表7】
【0094】
表6に示されているように、2つのGPM区画のベースMVが(merge_gpm_idx0およびmerge_gpm_idx1に基づいて)選択された後、1つのフラグgpm_mvr_enable_flagが、GPM-MVRモードが現在のGPM CUに適用されたか否かを示すためにシグナリングされる。このフラグが1に等しいとき、これは動き改良が2つのGPM区画のベースMVを強化するために適用されることを示す。そうでない場合(フラグが0に等しいとき)、これは動き改良が2つの区画のいずれにも適用されないことを示す。GPM-MVRモードが有効化された場合、追加の構文要素が、方向インデックスgpm_mvr_direction_idxおよび大きさインデックスgpm_mvr_distance_idxによって、適用されたMVRの値を指定するためにさらにシグナリングされる。加えて、MMVDモードと同様に、MVR符号の意味は、GPM区画の現在のピクチャおよび2つの基準ピクチャのPOC間の関係に従って変動しうる。具体的には、2つの基準ピクチャのPOCの両方が現在のピクチャのPOCより大きいまたは小さいとき、シグナリングされた符号は、2つのベースMVの両方に加算されたMVRの符号である。そうでない場合(一方の基準ピクチャのPOCが現在のピクチャより大きく、他方の基準ピクチャのPOCが現在のピクチャより小さいとき)、シグナリングされた符号は、第1のGPM区画のMVRに適用され、逆の符号が、第2のGPM区画に適用される。表6では、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可される。
【0095】
別の実施形態では、別個の2つのGPM区画に対するGPM-MVRモードの有効化/無効化を別個に制御するために、2つの異なるフラグをシグナリングすることが提案される。しかし、GPM-MVRモードが有効化されたとき、1つのMVRのみが、構文要素gpm_mvr_direction_idxおよびgpm_mvr_distance_idxに基づいてシグナリングされる。そのようなシグナリング方法の対応する構文テーブルが、表7に示されている。
【0096】
【表8】
【0097】
表7のシグナリング方法が適用されるとき、merge_gpm_idx0およびmerge_gpm_idx1の値は同一になることが許可される。しかし、2つのGPM区画に適用されたその結果得られるMVが冗長でないことを確実にするために、フラグgpm_mvr_partIdx0_enable_flagが0に等しい(すなわち、GPM-MVRが第1のGPM区画に適用されない)とき、フラグgpm_mvr_partIdx1_enable_flagはシグナリングされないが、1であると推論される(すなわち、GPM-MVRが第2のGPM区画に適用される)。
【0098】
GPM-MVRに対する許可されたMVRの適合
上記で議論されたGPM-MVR方法では、1群の固定のMVR値が、1つのビデオ・シーケンスにおいてエンコーダおよびデコーダの両方でGPM CUに使用される。そのような設計は、高い分解能または激しい動きを有するビデオ・コンテントにとって次善である。それらの場合、MVは、固定のMVR値がそれらのブロックの本当の動きを捕捉するのに最適でないものとなり得るほど、はるかに大きくなる傾向がある。GPM-MVRモードのコーディング性能をさらに改善するために、本開示では、シーケンス・レベル、ピクチャ/スライス・ピクチャ、コーディング・ブロック・グループ・レベルなどのような様々なコーディング・レベルでGPM-MVRモードによって選択されることが許可されたMVR値の適合を支持することが提案される。たとえば、異なるビデオ・シーケンスの特有の動き特性に従って、複数のMVRセットならびに対応するコードワードがオフラインで導出されうる。エンコーダは、最良のMVRセットを選択し、選択されたセットの対応するインデックスをデコーダへシグナリングすることができる。
【0099】
本開示の特有の実施形態では、8つのオフセット大きさ(すなわち、1/4、1/2、1、2、4、8、16、および32ペル)および4つのMVR方向(すなわち、±xおよびy軸)を含むデフォルトMVRオフセットに加えて、下表に定義される別のMVRオフセットが、GPM-MVRモードに対して提案される。
【0100】
【表9】
【0101】
【表10】
【0102】
上記の表15および表16では、x軸およびy軸における値+1/2および-1/2は、水平および垂直方向の対角方向(+45°および-45°)を示す。表15および表16に示されているように、既存のMVRオフセット・セットと比較すると、第2のMVRオフセット・セットは、2つの新しいオフセット大きさ(すなわち、3ペルおよび6ペル)および4つのオフセット方向(45°、135°、225°、および315°)を導入する。新しく追加されたMVRオフセットは、高度な動きを有するビデオブロックをコーディングするために、第2のMVRオフセット・セットをより好適にする。加えて、2つのMVRオフセット・セット間の適応スイッチを有効化するために、1つの特定のコーディング・レベル(たとえば、シーケンス、ピクチャ、スライス、CTU、およびコーディング・ブロックなど)でシグナリングして、MVRオフセットのうちのどのセットがコーディング・レベル下で適用されたGPM-MVRモードに対して選択されるかを示すための1つの制御フラグが提案される。提案される適合がピクチャ・レベルで実施されると仮定して、以下の表17は、ピクチャ・ヘッダでシグナリングされる対応する構文要素を示す。
【0103】
【表11】
【0104】
上記の表17では、新しいフラグph_gpm_mvr_offset_set_flagが、そのピクチャに使用される対応するGPM MVRオフセットの選択を示すために使用される。このフラグが0に等しいとき、これは、デフォルトMVRオフセット(すなわち、1/4、1/2、1、2、4、8、16、および32ペルの大きさ、ならびに4つのMVR方向±xおよびy軸)が、このピクチャ内でGPM-MVRモードに適用されることを意味する。そうでない場合、このフラグが1に等しいとき、これは、第2のMVRオフセット(すなわち、1/4、1/2、1、2、3、4、6、8、16ペルの大きさ、ならびに8つのMVR方向±x、y軸、および45°、135°、225°、および315°)が、このピクチャ内でGPM-MVRモードに適用されることを意味する。
【0105】
MVRオフセットをシグナリングするために、異なる方法が適用されてもよい。まず、MVR方向が通常は統計的に均一に分散されることを条件として、固定長コードワードを使用してMVR方向を2値化することが提案される。デフォルトMVRオフセットを例に取れば、合計4つの方向が存在し、00、01、10、および11のコードワードが、これら4つの方向を表すために使用されうる。他方では、MVRオフセット大きさは、ビデオ・コンテントの特有の動き特性に適合された変動する分布を有しうるため、可変長コードワードを使用してMVR大きさを2値化することが提案される。以下の表18は、デフォルトMVRオフセット・セットおよび第2のMVRオフセット・セットのMVR大きさの2値化のために使用されうる1つの特有のコードワード表を示す。
【0106】
【表12】
【0107】
他の実施形態では、異なる固定長の可変コードワードが、デフォルトおよび第2のMVRオフセット・セットのMVRオフセット大きさを2値化するために適用されてもよく、たとえば上記のコードワード表におけるビン「0」および「1」が、コンテキスト適応2値算術コーディング(CABAC)エンジンの様々な0/1統計情報に適応するように交換されうる。
【0108】
1つの特有の例では、MVR大きさの値を2値化するために、2つの異なるコードワード表が提供される。下表は、第1および第2のコードワード表で適用されるデフォルトおよび2次のMVRオフセット・セットの対応するコードワードを示す。表19は、第1のコードワード表におけるMVRオフセット大きさのコードワードを示す。表20は、第2のコードワード表におけるMVRオフセット大きさのコードワードを示す。
【0109】
【表13】
【0110】
【表14】
【0111】
2つのコードワード表間の適応スイッチを有効化するために、1つの特定のコーディング・レベル(たとえば、シーケンス、ピクチャ、スライス、CTU、およびコーディング・ブロックなど)でシグナリングして、そのコーディング・レベル下でMVR大きさを2値化するためにどのコードワード表が使用されるかを指定するための1つの指示フラグが提案される。提案される適応がピクチャ・レベルで実施されると仮定して、以下の表21は、ピクチャ・ヘッダでシグナリングされる対応する構文要素を示し、新しく追加された構文要素は斜体太字である。
【0112】
【表15】
【0113】
上記の構文テーブルでは、新しいフラグph_gpm_mvr_step_codeword_flagが、ピクチャのMVR大きさの2値化のために使用される対応するコードワード表の選択を示すために使用される。このフラグが0に等しいとき、これは、第1のコードワード表がピクチャに適用されることを示し、そうでない場合(すなわち、フラグが1に等しい)、これは、第2のコードワード表がピクチャに適用されることを示す。
【0114】
別の実施形態では、全ビデオ・シーケンスの符号化/復号中にMVRオフセット大きさを2値化するために、1つのコードワード表を常に使用することが提案される。一例では、MVR大きさの2値化のために第1のコードワード表を常に使用することが提案される。別の例では、MVR大きさの2値化のために第2のコードワード表を常に使用することが提案される。別の方法では、すべてのMVR大きさの2値化のために1つの固定のコードワード表(たとえば、第2のコードワード表)を使用することが提案される。
【0115】
他の方法では、1つの統計ベースの2値化方法が、MVRオフセット大きさに対する最適のコードワードをシグナリングではなくオンザフライで適合的に設計するように適用されうる。最適のコードワードを判定するために使用される統計情報は、それだけに限定されるものではないが、複数の前にコーディングされたピクチャ、スライス、および/またはコーディング・ブロック上で収集されているMVRオフセット大きさの確率分布とすることができる。コードワードは、様々な周波数レベルで再判定/更新されうる。たとえば、更新は、GPM-MVRモードでCUがコーディングされるたびに行われうる。別の例では、更新は、GPM-MVRモードで複数、たとえば8または16のCUがコーディングされるたびに再判定および/または更新されうる。
【0116】
他の方法では、新しい1組のコードワードを再設計する代わりに、提案された統計ベースの方法は、より使用される大きさにより短いコードワードを割り当て、あまり使用されない大きさにより長いコードワードを割り当てるように、同じ組のコードワードに基づいて、MVR大きさ値を再び順序付けるためにも使用されうる。以下の表を例に取れば、統計情報がピクチャ・レベルで収集されると仮定すると、「使用」行は、前にコーディングされたピクチャ内でGPM-MVRコーディング・ブロックによって使用された異なるMVRオフセット大きさの対応する割合を示す。同じ2値化方法を使用する「使用」行内の値(すなわち、短縮単項コードワード)に従って、エンコーダ/デコーダは、MVR大きさ値を、その使用に基づいて順序付けることができ、その後、エンコーダ/デコーダは、最も短いコードワード(すなわち、「1」)を最も頻繁に使用されるMVR大きさ(すなわち、1ペル)に割り当て、次に短いコードワード(すなわち、「01」)を次に頻繁に使用されるMVR大きさ(すなわち、1/2ペル)に割り当て、最も長いコードワード(すなわち、「0000001」および「0000000」)を2つの最も使用されないMVR大きさ(すなわち、16ペルおよび32ペル)に割り当てることができる。したがって、そのような再順序付け方式によって、同じ組のコードワードが、MVR大きさの統計分布の動的変化に対応するように自由に再び順序付けされうる。
【0117】
【表16】
【0118】
GPM-MVRレート歪み最適化のためのエンコーダ加速論理
提案されたGPM-MVR方式の場合、各GPM区画に対して最適のMVRを判定するために、エンコーダは、各GPM区画のレート歪みコストを複数回試験することが必要になることがあり、各々適用されているMVR値を変動させる。これは、GPMモードの符号化の複雑さを著しく増大させる可能性がある。符号化の複雑さの問題に対処するために、本章では以下の高速符号化論理が提案される。
【0119】
第1に、VVCおよびAVS3で適用される4分木/2分木/3分木のブロック区画構造によって、レート歪み最適化(RDO)プロセス中に1つの同じコーディング・ブロックが確認され、各々1つの異なる区画経路によって分割されうる。現在のVTM/HPMエンコーダ実装例では、GPMおよびGPM-MVRモードは、他のインターおよびイントラ・コーディング・モードとともに、異なるブロック区画の組合せによって1つの同じCUが取得されたときはいつでも常に試験される。概して、異なる区画経路の場合、1つのCUの隣接するブロックのみが異なりうるが、1つのCUが選択する最適のコーディング・モードに対して比較的軽微な影響を有するべきである。そのような考慮に基づいて、適用されるGPM RDOの総数を低減させるために、1つのCUのRDコストが初めて確認されるときにGPMモードが選択されるかどうかの決定を記憶することが提案される。その後、同じCUがRDOプロセスによって(別の区画経路によって)再び確認されたとき、GPM(GPM-MVRを含む)のRDコストは、GPMがそのCUに対して初めて選択された場合にのみ確認される。GPMが1つのCUの初期RD確認のために選択されない場合、別の区画経路によって同じCUが実現されたときに、GPMのみ(GPM-MVRなし)が試験される。別の方法では、GPMが1つのCUの初期RD確認のために選択されないとき、別の区画経路によって同じCUが実現されるとき、GPMおよびGPM-MVRはどちらも試験されない。
【0120】
第2に、GPM-MVRモードに対するGPM区画の数を低減させるために、1つのCUのRDコストが初めて確認されたとき、最小のRDコストなく、第1のMのGPM区画モードを維持することが提案される。その後、同じCUがRDOプロセスによって(別の区画経路によって)再び確認されるとき、それらのMのGPM区画モードのみがGPM-MVRモードに対して試験される。
【0121】
第3に、各GPM区画に対して、1の初期RDOプロセスに対して試験されるGPM区画の数を低減させるために、まず、2つのGPM区画に対して異なる単方向予測マージ候補を使用するときの差分絶対値和(SAD)値を計算することが提案される。次いで、1つの特有の区画モード下の各GPM区画に対して、最小のSAD値を有する最良の単方向予測マージ候補を選択し、2つのGPM区画に対する最良の単方向予測マージ候補のSAD値の和に等しい区画モードの対応するSAD値を計算する。次いで、後続のRDプロセスのために、前のステップに対して最良のSAD値を有する第1のNの区画モードのみが、GPM-MVRモードに対して試験される。
【0122】
明示的動きシグナリングを伴う幾何区画
本章では、GPMモードの2つの単方向MVがエンコーダからデコーダへ明示的にシグナリングされる正規のインター・モードの双方向予測にGPMモードを拡張するための複数の方法が提案される。
【0123】
第1の解決策(解決策1)では、双方向予測の既存の動きシグナリングを完全に再び使用して、GPMモードの2つの単方向MVをシグナリングすることが提案される。表8は、提案された方式の修正された構文テーブルを示し、新しく追加された構文要素が斜体太字で示されている。表8に示されているように、この解決策では、L0およびL1動き情報をシグナリングするすべての既存の構文要素が、それぞれ2つのGPM区画の単方向MVを示すために完全に再び使用される。加えて、L0 MVは常に第1のGPM区画に関連付けられ、L1 MVは常に第2のGPM区画に関連付けられることが仮定される。他方では、表8で、インター予測構文、すなわちinter_pred_idcは、GPMフラグ(すなわち、gpm_flag)の前にシグナリングされ、したがってinter_pred_idcの値が、gpm_flagの存在を調整するために使用されうる。具体的には、フラグgpm_flagは、inter_pred_idcがPRED_BIに等しく(すなわち、双方向予測)、かつinter_affine_flagおよびsym_mvd_flagの両方が0に等しい(すなわち、CUがアフィン・モードまたはSMVDモードのいずれによってもコーディングされない)ときにのみシグナリングされる必要がある。フラグgpm_flagがシグナリングされないとき、その値は常に0であると推論される(すなわち、GPMモードは無効化される)。gpm_flagが1であるとき、別の構文要素gpm_partition_idxが、現在CUに対して(合計64のGPM区画から)選択されたGPMモードを示すためにさらにシグナリングされる。
【0124】
【表17】
【0125】
別の方法では、他のインター構文要素が存在する必要があるか否かを判定するためにgpm_flagの値が使用されうるように、フラグgpm_flagのシグナリングを他のインターシグナリング構文要素の前に配置することが提案される。表9は、そのような方法が適用されるときの対応する構文テーブルを示し、新しく追加された構文要素が斜体太字で示されている。見て分かるように、表9では、まずgpm_flagがシグナリングされる。gpm_flagが1に等しいとき、inter_pred_idc、inter_affine_flag、およびsym_mvd_flagの対応するシグナリングは迂回されうる。代わりに、3つの構文要素の対応する値が、それぞれPRED_BI、0、および0として推論されうる。
【0126】
【表18】
【0127】
表8および表9の両方において、SMVDモードは、GPMモードと組み合わされることができない。別の例では、現在CUがGPMモードによってコーディングされるときにSMVDモードを許可することが提案される。そのような組合せが許可されるとき、SMVDの同じ設計に従うことによって、2つのGPM区画のMVDは対称であると仮定され、したがって第1のGPM区画のMVDのみがシグナリングされる必要があり、第2のGPM区画のMVDは常に第1のMVDと対称である。そのような方法が適用されるとき、gpm_flagに対するsym_mvd_flagの対応するシグナリング条件は除去されうる。
【0128】
上記に示されるように、第1の解決策では、L0 MVが第1のGPM区画に使用され、L1 MVが第2のGPM区画に使用されることを常に仮定する。そのような設計は、この方法が2つのGPM区画のMVが1つの同じ予測リスト(L0またはL1)からくることを禁止するという意味で、最適とはいえない可能性がある。そのような問題を解決するために、表10に示されているシグナリング設計によって、1つの代替のGPM-EMS方式、解決策2が提案される。表10では、新しく追加された構文要素が斜体太字で示されている。表10に示されているように、まずフラグgpm_flagがシグナリングされる。このフラグが1に等しい(すなわち、GPMが有効化される)とき、構文gpm_partition_idxが、選択されたGPMモードを指定するためにシグナリングされる。次いで、1つの追加のフラグgpm_pred_dir_flag0が、第1のGPM区画のMVがくる対応する予測リストを示すためにシグナリングされる。フラグgpm_pred_dir_flag0が1に等しいとき、これは、第1のGPM区画のMVがL1からくることを示し、そうでない場合(フラグが0に等しい)、これは、第1のGPM区画のMVがL0からくることを示す。その後、既存の構文要素ref_idx_l0、mvp_l0_flag、およびmvd_coding()が、基準ピクチャ・インデックス、mvpインデックス、および第1のGPM区画のMVDの値をシグナリングするために利用される。他方では、第1の区画と同様に、別の構文要素gpm_pred_dir_flag1が、第2のGPM区画の対応する予測リストを選択するために導入され、それに続いて既存の構文要素ref_idx_l1、mvp_l1_flag、およびmvd_coding()が、第2のGPM区画のMVを導出するために使用される。
【0129】
【表19】
【0130】
最後に、GPMモードが2つの単方向予測区画からなる(分割エッジ上の混合サンプルを除く)ことを条件として、提案されたGPM-EMS方式が1つのインターCUに対して有効化されるとき、双方向予測、たとえば双方向オプティカル・フロー、デコーダ側動きベクトル改良(DMVR)、およびCU重量による双方向予測(BCW)向けに特に設計されたVVCおよびAVS3におけるいくつかの既存のコーディング・ツールは自動的に迂回されうることに言及されるべきである。たとえば、BCWがGPMモードに適用される可能性がないことを条件として、シグナリング・オーバーヘッドを低減させるために、提案されたGPM-EMSのうちの1つが1つのCUに対して有効化されるとき、対応するBCW重量がCUに対してさらにシグナリングされる必要はない。
【0131】
GPM-MVRおよびGPM-EMSの組合せ
本章では、幾何形状区画を有する1つのCUに対してGPM-MVRおよびGPM-EMSを組み合わせることが提案される。具体的には、2つのGPM区画の単方向予測MVをシグナリングするためにマージ・ベースの動きシグナリングまたは明示的シグナリングのうちの1つのみが適用されうるGPM-MVRまたはGPM-EMSとは異なり、提案された方式では、1)一方の区画がGPM-MVRベースの動きシグナリングを使用し、他方がGPM-EMSベースの動きシグナリングを使用すること、または2)2つの区画がGPM-MVRベースの動きシグナリングを使用すること、または3)2つの区画がGPM-EMSベースの動きシグナリングを使用することを許可する。表4のGPM-MVRシグナリングおよび表10のGPM-EMSを使用して、表11は、提案されたGPM-MVRおよびGPM-EMSが組み合わされた後の対応する構文テーブルを示す。表11では、新しく追加された構文要素が斜体太字で示されている。表11に示されているように、2つの追加の構文要素gpm_merge_flag0およびgpm_merge_flag1が、GPM-MVRベースのマージ・シグナリングまたはGPM-EMSベースの明示的シグナリングを使用する対応する区画を指定する区画#1および#2にそれぞれ導入される。このフラグが1であるとき、これは、merge_gpm_idxX、gpm_mvr_partIdxX_enabled_flag、gpm_mvr_partIdxX_direction_idx、およびgpm_mvr_partIdxX_distance_idxによって、GPM単方向予測動きがシグナリングされる区画に対してGPM-MVRベースのシグナリングが有効化されることを意味し、ここでX=0,1である。そうでない場合、このフラグが0である場合、これは、この区画の単方向予測動きが、構文要素gpm_pred_dir_flagX、ref_idx_lX、mvp_lX_flag、およびmvd_lXを使用するGPM-EMS方式によって明示的にシグナリングされることを意味し、ここでX=0,1である。
【0132】
【表20】
【0133】
GPM-MVRとテンプレート整合の組合せ
本章では、GPM-MVRをテンプレート整合と組み合わせるための異なる解決策が提供される。
【0134】
方法1では、1つのCUがGPMモードでコーディングされるとき、2つのGPM区画に対する2つの別個のフラグをシグナリングすることが提案され、各フラグは、対応する区画の単方向の動きがテンプレート整合によってさらに改良されるか否かを示す。このフラグが有効化されるとき、現在CUの左上の隣接する再構築されたサンプルを使用してテンプレートが生成され、次いで区画の単方向の動きが、「テンプレート整合」の章で紹介されたものと同じ手順に従って、テンプレートとその基準サンプルとの間の差分を最小化することによって改良される。そうでない場合(フラグが無効化されるとき)、この区画にテンプレート整合は適用されず、GPM-MVRがさらに適用されうる。表5のGPM-MVRシグナリング方法を一例として使用して、表12は、GPM-MVRがテンプレート整合と組み合わされるときの対応する構文テーブルを示す。表12では、新しく追加された構文要素が斜体太字で示されている。
【0135】
【表21】
【0136】
表12に示されているように、提案された方式では、2つの追加のフラグgpm_tm_enable_flag0およびgpm_tm_enable_flag1が、まず、それぞれ2つのGPM区画に対して動きが改良されるかどうかを示すためにシグナリングされる。このフラグが1であるとき、これは、TMが1つの区画の単方向MVを改良するために適用されることを示す。このフラグが0であるとき、1つのフラグ(gpm_mvr_partIdx0_enable_flagまたはgpm_mvr_partIdx0_enable_flag)が、それぞれGPM-MVRがGPM区画に適用されるかどうかを示すためにさらにシグナリングされる。1つのGPM区画のフラグが1に等しいとき、距離インデックス(構文要素gpm_mvr_partIdx0_distance_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)および方向インデックス(構文要素gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)が、MVRの方向を指定するためにシグナリングされる。その後、既存の構文merge_gpm_idx0およびmerge_gpm_idx1が、2つのGPM区画に対する単方向MVを識別するためにシグナリングされる。一方、表5に適用されるシグナリング条件と同様に、2つのGPM区画の予測に使用されるその結果得られるMVが同一でないことを確実にするために、以下の条件が適用されうる。
【0137】
第1に、gpm_tm_enable_flag0およびgpm_tm_enable_flag1の値の両方が1に等しい(すなわち、TMが2つのGPM区画の両方に対して有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じにすることはできない。
【0138】
第2に、gpm_tm_enable_flag0およびgpm_tm_enable_flag1のうちの一方が1であり、かつ他方が0であるとき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じになることが許可される。
【0139】
そうでない場合、すなわちgpm_tm_enable_flag0およびgpm_tm_enable_flag1の両方が1に等しく、第1に、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの値の両方が0に等しい(すなわち、GPM-MVRが2つのGPM区画の両方に対して無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じにすることはできず、第2に、gpm_mvr_partIdx0_enable_flagが1に等しく(すなわち、GPM-MVRが第1のGPM区画に対して有効化される)、かつgpm_mvr_partIdx1_enable_flagが0に等しい(すなわち、GPM-MVRが第2のGPM区画に対して無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可され、第3に、gpm_mvr_partIdx0_enable_flagが0に等しく(すなわち、GPM-MVRが第1のGPM区画に対して無効化される)、かつgpm_mvr_partIdx1_enable_flagが1に等しい(すなわち、GPM-MVRが第2のGPM区画に対して有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可され、第4に、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの値の両方が1に等しい(すなわち、GPM-MVRが2つのGPM区画の両方に対して有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されるか否かの判定は、2つのGPM区画に適用されるMVRの値(gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx0_distance_idx、ならびにgpm_mvr_partIdx1_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)に依存する。2つのMVRの値が等しい場合、merge_gpm_idx0およびmerge_gpm_idx1は、同一になることが許可されない。そうでない場合(2つのMVRの値が等しくない)、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。
【0140】
上記の方法1では、TMおよびMVRは、GPMに排他的に適用される。そのような方式では、TMモードの改良MVの上にMVRをさらに適用することが禁止される。したがって、GPMに対してより多くのMV候補をさらに提供するために、TM改良MVの上のMVRオフセットの適用を有効化するための方法2が提案される。表13は、GPM-MVRがテンプレート整合と組み合わされたときの対応する構文テーブルを示す。表13では、新しく追加された構文要素が斜体太字で示されている。
【0141】
【表22】
【0142】
表13に示されているように、表12とは異なり、gpm_tm_enable_flag0およびgpm_tm_enable_flag1に対するgpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagのシグナリング条件が除去されている。したがって、TMが1つのGPM区画の単方向の動きを改良するために適用されるか否かにかかわらず、MV改良は常に、GPM区画のMVに適用されることが許可される。上記と同様に、2つのGPM区画のその結果得られるMVが同一でないことを確実にするために、以下の条件が適用されるべきである。
【0143】
第1に、gpm_tm_enable_flag0およびgpm_tm_enable_flag1のうちの一方が1であり、かつ他方が0であるとき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じであることが許可される。
【0144】
そうでない場合、すなわちgpm_tm_enable_flag0およびgpm_tm_enable_flag1の両方が1に等しく、またはこれらのフラグの両方が0に等しく、第1に、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの値の両方が0に等しい(すなわち、GPM-MVRが2つのGPM区画の両方に対して無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じにすることはできず、第2に、gpm_mvr_partIdx0_enable_flagが1に等しく(すなわち、GPM-MVRが第1のGPM区画に対して有効化される)、かつgpm_mvr_partIdx1_enable_flagが0に等しい(すなわち、GPM-MVRが第2のGPM区画に対して無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可され、第3に、gpm_mvr_partIdx0_enable_flagが0に等しく(すなわち、GPM-MVRが第1のGPM区画に対して無効化される)、かつgpm_mvr_partIdx1_enable_flagが1に等しい(すなわち、GPM-MVRが第2のGPM区画に対して有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可され、第4に、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの値の両方が1に等しい(すなわち、GPM-MVRが2つのGPM区画の両方に対して有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されるか否かの判定は、2つのGPM区画に適用されるMVRの値(gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx0_distance_idx、ならびにgpm_mvr_partIdx1_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)に依存する。2つのMVRの値が等しい場合、merge_gpm_idx0およびmerge_gpm_idx1は、同一になることが許可されない。そうでない場合(2つのMVRの値が等しくない)、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。
【0145】
上記2つの方法では、2つの別個のフラグが、TMが各GPM区画に適用されるか否かを示すためにシグナリングされることが必要である。追加されるシグナリングは、特に低いビットレートで、追加のオーバーヘッドによって、全体的なコーディング効率を低減させる可能性がある。シグナリング・オーバーヘッドを低減させるために、追加のシグナリングを導入する代わりに、GPMモードの単方向MV候補リストにTMベースの単方向MVを挿入するための方法3が提案される。TMベースの単方向MVは、GPMの元の単方向MVを初期MVとして使用する、「テンプレート整合」の章に記載されているものと同じTMプロセスに従って生成される。そのような方式によって、エンコーダからデコーダへ余分の制御フラグをさらにシグナリングする必要はない。代わりに、デコーダは、ビットストリームから受信される対応するマージインデックス(すなわち、merge_gpm_idx0およびmerge_gpm_idx1)によって、1つのMVがTMによって改良されるか否かを識別することができる。正規のGPM MV候補(すなわち、非TM)およびTMベースのMV候補を配置するための異なる方法が存在しうる。1つの方法では、TMベースのMV候補をMV候補リストの始めに配置し、それに続いて非TMベースのMV候補を配置することが提案される。別の方法では、まず、非TMベースのMV候補を始めに配置し、それに続いてTMベースの候補を配置することが提案される。別の方法では、TMベースのMV候補および非TMベースのMV候補を交互に配置することが提案される。たとえば、これは、第1のNの非TMベースの候補を配置し、次いですべてのTMベースの候補を配置し、最後に残りの非TMベースの候補を配置することができる。別の例では、これは、第1のNのTMベースの候補を配置し、次いですべての非TMベースの候補を配置し、最後に残りのTMベースの候補を配置することができる。別の例では、非TMベースの候補およびTMベースの候補を連続的に、すなわち1つの非TMベースの候補、1つのTMベースの候補などを配置することが提案される。
【0146】
方法1では、2つのGPMテンプレート・フラグは、GPM-MVRフラグの前にシグナリングされる。具体的には、そのような設計では、GPM-MVRは、まず0に等しい1つの区画のGPMテンプレート・フラグをシグナリングすることによって、1つの所与のGPM区画に対してのみ有効化されうる。GPMテンプレート・フラグは、適当なコンテキスト・モデルを使用してコーディングされうるが、GPM-MVRモードではシグナリング・ペナルティを招く。そのような問題を解決するために、本開示の一実施形態では、GPM-MVRモードをまずシグナリングしてからGPM-TMモードをシグナリングすることが提案される。具体的には、この方法では、GPM-MVRフラグがまず各GPM区画に対してシグナリングされて、GPM-MVRがその区画に適用されるか否かを示す。フラグが1に等しいとき、MVR構文要素gpm_mvr_partIdx0_distance_idx/gpm_mvr_partIdx1_distance_idxおよびgpm_mvr_partIdx0_dierction_idx/gpm_mvr_partIdx1_direction_idxが、その区画のMVR大きさおよび方向の対応する値を指定するようにさらにシグナリングされる。そうでない場合、その区画のGPM-MVRフラグが偽に等しいとき、GPM-TMフラグは、GPM-TMモード(左および上の隣接する再構築されたサンプルを使用して区画のMVを改良する)が適用されるかどうかを示すようにシグナリングされる。表22は、上記のシグナリング方法が適用されるときの対応する構文テーブルを示し、新しく追加された構文要素は斜体太字である。
【0147】
【表23】
【0148】
さらに、GPMマージインデックス間のシグナリングの冗長性を除去するために、以下の条件が適用されるべきである。
【0149】
第1に、gpm_tm_enable_flag0およびgpm_tm_enable_flag1のうちの一方が1であり、かつ他方が0であるとき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じになることが許可される。
【0150】
第2に、gpm_tm_enable_flag0およびgpm_tm_enable_flag1の両方が1に等しいとき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じになることが許可される。
【0151】
別の例では、gpm_tm_enable_flag0およびgpm_tm_enable_flag1の両方の値が1に等しいとき、merge_gpm_idx0およびmerge_gpm_idx1の値が同じになることは許可されない。
【0152】
第3に、gpm_tm_enable_flag0およびgpm_tm_enable_flag1の両方が0に等しいとき、異なる条件が適用される。gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの両方の値が0に等しい(すなわち、2つのGPM区画の両方に対してGPM-MVRが無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値を同じにすることはできない。gpm_mvr_partIdx0_enable_flagが1に等しく(すなわち、第1のGPM区画に対してGPM-MVRが有効化される)、かつgpm_mvr_partIdx1_enable_flagが0に等しい(すなわち、第2のGPM区画に対してGPM-MVRが無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。gpm_mvr_partIdx0_enable_flagが0に等しく(すなわち、第1のGPM区画に対してGPM-MVRが無効化される)、かつgpm_mvr_partIdx1_enable_flagが1に等しい(すなわち、第2のGPM区画に対してGPM-MVRが有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの両方の値が1に等しい(すなわち、2つのGPM区画の両方に対してGPM-MVRが有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されるか否かの判定は、2つのGPM区画に適用されるMVRの値(gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx0_distance_idx、ならびにgpm_mvr_partIdx1_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)に依存する。2つのMVRの値が等しい場合、merge_gpm_idx0およびmerge_gpm_idx1が同一になることは許可されない。そうでない場合(2つのMVRの値が等しくない)、merge_gpm_idx0およびmerge_gpm_idx1の値は同一になることが許可される。
【0153】
別の方法では、2つの別個のGPM-TMフラグを使用する代わりに、2つのGPM区画に対するテンプレート整合の有効化/無効化を共同で制御するための1つの単一のフラグが提案される。フラグが真であるとき、これは、テンプレート整合方式によってテンプレート(すなわち、左および上の隣接する再構築されたサンプル)とその対応する基準サンプルとの間の差を最小化することに基づいて、2つのGPM区画の2つの単方向MVが改良される必要があることを意味する。具体的には、方法4と同様に、2つのGPM-MVRフラグがまず1つのGPM CUに対して、GPM-MVRが1つの特有のGPM区画に適用されるか否かを示すようにシグナリングされる。各区画のGPM-MVRフラグが真に等しいとき、以下、MVR大きさおよびMVR方向がその区画に対してさらにシグナリングされる。さらに、2つのGPM区画のGPM-MVRフラグの両方が偽に等しいとき、GPM-TMフラグは、GPM-TMが2つのGPM区画の両方に適用されるかどうかを示すようにさらにシグナリングされる。表23は、そのような設計が適用されるときのGPMモードの対応する構文テーブルを示し、新しく追加された構文要素は斜体太字である。
【0154】
【表24】
【0155】
別の実施形態では、2つのGPM区画に対してGPM-TMフラグをシグナリングしてから2つのGPM-MVRフラグをシグナリングすることが提案される。それに対応して、GPM-TMの値は、GPM-TMフラグの値が0に等しいときにのみGPM-MVRフラグがシグナリングされるように、2つのGPM-MVRフラグの存在を調節するために使用されうる(すなわち、GPM-TMは2つのGPM区画に適用されない)。表24は、そのようなシグナリング方式が適用されるときのGPMモードの対応する構文テーブルを示し、新しく追加された構文要素は斜体太字である。
【0156】
【表25】
【0157】
加えて、2つの方法の両方に対して、GPMマージインデックス間のシグナリングの冗長性を除去するために、以下の条件が適用されるべきである。
【0158】
第1に、gpm_tm_enable_flagが1であるとき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同じになることが許可される。第2に、gpm_tm_enable_flagが0に等しいとき、異なる条件が適用されうる。たとえば、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの両方の値が0に等しい(すなわち、2つのGPM区画の両方に対してGPM-MVRが無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値を同じにすることはできない。さらに、gpm_mvr_partIdx0_enable_flagが1に等しく(すなわち、第1のGPM区画に対してGPM-MVRが有効化される)、かつgpm_mvr_partIdx1_enable_flagが0に等しい(すなわち、第2のGPM区画に対してGPM-MVRが無効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。さらに、gpm_mvr_partIdx0_enable_flagが0に等しく(すなわち、第1のGPM区画に対してGPM-MVRが無効化される)、かつgpm_mvr_partIdx1_enable_flagが1に等しい(すなわち、第2のGPM区画に対してGPM-MVRが有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。さらに、gpm_mvr_partIdx0_enable_flagおよびgpm_mvr_partIdx1_enable_flagの両方の値が1に等しい(すなわち、2つのGPM区画の両方に対してGPM-MVRが有効化される)とき、merge_gpm_idx0およびmerge_gpm_idx1の値が同一になることが許可されるか否かの判定は、2つのGPM区画に適用されるMVRの値(gpm_mvr_partIdx0_direction_idxおよびgpm_mvr_partIdx0_distance_idx、ならびにgpm_mvr_partIdx1_direction_idxおよびgpm_mvr_partIdx1_distance_idxによって示される)に依存する。2つのMVRの値が等しい場合、merge_gpm_idx0およびmerge_gpm_idx1が同一になることは許可されない。そうでない場合(2つのMVRの値が等しくない)、merge_gpm_idx0およびmerge_gpm_idx1の値は、同一になることが許可される。
【0159】
別の例では、gpm_tm_enable_flagが1に等しいとき、merge_gpm_idx0およびmerge_gpm_idx1の値が同じになることは許可されない。
【0160】
テンプレート整合方式がGPMモードに適用されるとき、各GPM区画にとって最適の単方向MVを識別するために計算的に広範な動き推定を実施することによって、エンコーダおよびデコーダの両方にとって追加の複雑さが必要になる。そのような無視できない複雑さの増大により、特定の下位エンコーダ、または低ビデオ遅延が要求されることを要求するライブ・ビデオ・ストリーミング、ビデオ会議、およびビデオ・ゲーミングなどの特定のビデオ用途にとって、GPMモードが実行可能ではなくなるおそれがある。そのような考慮に基づいて、シーケンス・レベル、ピクチャ/スライス・レベル・コーディング・ブロック・グループ・レベルおよび追加分などの特定の高いコーディング・レベルにおいて、CUがそのレベル下でGPM-TMモードを適応的に有効化または無効化するために、1つの制御フラグを追加することが提案される。提案される適応がピクチャ・レベルで実施されると仮定して、表25は、ピクチャ・ヘッダでシグナリングされる対応する構文要素を示し、新しく追加された構文要素は斜体太字である。
【0161】
【表26】
【0162】
上記の構文表25において、フラグsps_dmvd_enable_flagは、テンプレート整合がビデオ・シーケンスのコーディングに対して有効化されるかどうかを示すシーケンス・レベル制御フラグであり、ph_gpm_tm_enable_flagは、GPM-TMがピクチャ内のCUに適用されうるかどうかを示すために使用される提案されるGPM-TM制御フラグである。
【0163】
動きベクトルのプルーニングによるGPM候補リストの構築
導入部で議論されたように、2つの幾何区画のMVを取得するために、1つの単方向予測候補リストがまず、正規マージ候補リスト生成プロセスから直接導出される。各GPM MVの予測方向の選択が対応するマージインデックスのパリティに基づくという条件で、2つの幾何区画のMVが同一になることもできるが、そのCUの幾何区画が区画のない場合に比べていかなる追加の利益も提供することができないため、道理にかなっていないことは明らかである。そのような冗長性を回避するために、1つのGPM CUの単方向予測MV候補リストを生成するときに、そのリスト内の既存の候補のいずれとも同一でないときのみ、1つのMVのみがリストに追加されることが可能になるような、動きベクトルのプルーニングを適用することが提案される。別の方式では、2つのMVを比較するときに1つのMV閾値が適用されることがさらに提案される。具体的には、そのような方法によって、2つのMVの差(それぞれ水平方向および垂直方向)が1つのMV閾値より小さいとき、2つのMVは同一であると見なされ、そうでない場合(1つの方向のMV差がMV閾値より大きいまたはそれに等しい)、2つのMVは同一でないと見なされる。1つの方法では、すべてのブロックサイズに対して1つの固定のMV閾値を使用することが提案される。別の方法では、より大きいCUにより大きいMV閾値が使用され、小さいCUにはより小さいMV閾値が使用されるように、コーディング・ブロックのサイズに基づいて、MV閾値の値を判定することが提案される。いくつかの例では、ブロック内のサンプルの数がN<64であるとき、MV閾値の値は1/4ペルに設定され、64≦N<256であるとき、MV閾値の値は1/2ペルに設定され、N≧256であるとき、MV閾値の値は1ペルに設定される。
【0164】
改善された単方向MV候補リストの構築
正規マージ・モードのMV候補リストから単方向MV候補を導出するための1つの改善された候補リスト構築方法が提案される。
【0165】
第1に、パリティ・ベースの単方向MVが取得される。既存のGPM設計と同様に、複数の単方向MVがまず、正規マージ候補リスト生成プロセスから導出される。たとえば、図5に示されているように、nがGPM MV候補リスト内の単方向の動きのインデックスとして示される。Xがnのパリティに等しいとき、第nのマージ候補のLX動きベクトルが、候補リスト内の第nの単方向MVとして使用される。nの拡張マージ候補のLX動きベクトルが存在しない場合、同じ候補のL(1-X)のMVが代わりに選択される。
【0166】
いくつかの例では、反パリティ・ベースの単方向MVが取得される。単方向MV候補リストが完全でないとき、正規マージ候補リストの双方向予測MVから導出された追加の単方向MVが、単方向MV候補リストにさらに追加される。具体的には、正規マージ候補リスト内でマージインデックスnを有する各双方向予測MVに対して、双方向予測MVのL(1-X)のMVが単方向MV候補リストにさらに追加され、ここでXはnのパリティに等しい。
【0167】
いくつかの例では、ペア平均単方向MVが取得される。単方向MV候補リストが完全でないとき、既存の単方向MV候補リストにおける1つの基準ピクチャリスト(L0およびL1)内の第1の2つの単方向候補を平均することによって、1つまたは複数のペア平均候補がリストに追加される。いくつかの例では、ペア平均単方向MVは、反パリティ・ベースの単方向MVが取得されて単方向MV候補リストに追加された後に取得される。いくつかの他の例では、ペア平均単方向MVが取得された後、反パリティ・ベースの単方向MVを取得し、反パリティ・ベースの単方向MVを単方向MV候補リストに追加することができる。
【0168】
たとえば、1つの所与の基準ピクチャリストL0/L1に対して、エンコーダ/デコーダは、第1のMV候補がp0Candとして定義され、第2のL0 MV候補がp1Candとして定義されると仮定することができる。2つのMV候補が同じ基準ピクチャを指す場合、同じ基準を対象とする2つのMV候補を平均することによって、1つのペア平均候補が生成され、そうではなく、2つのMV候補が異なる基準ピクチャを指すとき、p0Cnadおよびp1Candを平均することによってペアMVの大きさが計算され、その結果得られるペア平均MVの基準ピクチャとして第1のMV候補の基準ピクチャが選択される。別の例では、2つのMV候補が異なる基準ピクチャを指すとき、その結果得られるペア平均MVの基準ピクチャとして、第2のMV候補の基準ピクチャが選択される。
【0169】
さらに、ゼロ単方向MVが取得される。単方向MV候補リストはまだ完全でない場合、リストの最大長に到達するまで、ゼロ単方向MV(現在のピクチャのL0/L1基準ピクチャリスト内の異なる基準ピクチャを対象とする)が単方向MV候補リストに周期的に追加される。
【0170】
加えて、冗長なMV候補をリストから除去するために、上記の単方向MV候補リスト生成方式では、MVプルーニング・プロセスがさらに適用されうる。1つまたは複数の実施形態では、そのリスト内の既存の候補のいずれとも同一でないときのみ、1つのMVのみがリストに追加されることが可能になるように、デフォルトのMVプルーニング方法が適用される。いくつかの他の実施形態では、「動きベクトルのプルーニングによるGPM候補リストの構築」の節に提案されている代替のMVプルーニング方法が適用され、2つのMVが同一であるか否かを判定するために使用されるMV閾値は、現在CUのブロックサイズに依存する。
【0171】
図9は、ユーザインターフェース960に結合されたコンピューティング環境(またはコンピューティング・デバイス)910を示す。コンピューティング環境910は、データ処理サーバの一部とすることができる。いくつかの実施形態では、コンピューティング・デバイス910は、本開示の様々な例に従って本明細書に前述されている様々な方法またはプロセス(符号化/復号方法またはプロセスなど)のいずれかを実行することができる。コンピューティング環境910は、プロセッサ920、メモリ940、およびI/Oインターフェース950を含むことができる。
【0172】
プロセッサ920は、典型的に、表示、データ取得、データ通信、および画像処理に関連する動作など、コンピューティング環境910の全体的な動作を制御する。プロセッサ920は、前述の方法におけるステップのすべてまたはいくつかを実施するための命令を実行するために、1つまたは複数のプロセッサを含むことができる。さらに、プロセッサ1020は、プロセッサ920と他の構成要素との間の相互作用を容易にする1つまたは複数のモジュールを含むことができる。プロセッサは、中央処理装置(CPU)、マイクロプロセッサ、シングル・チップ・マシン、GPUなどとすることができる。
【0173】
メモリ940は、コンピューティング環境910の動作を支持するために、様々なタイプのデータを記憶するように構成される。メモリ940は、所定のソフトウェア942を含むことができる。そのようなデータの例は、コンピューティング環境910上で動作される任意の応用例または方法のための命令、ビデオデータ・セット、画像データなどを含む。メモリ940は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的に消去可能なプログラム可能読取り専用メモリ(EEPROM)、消去可能なプログラム可能読取り専用メモリ(EPROM)、プログラム可能読取り専用メモリ(PROM)、読取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気または光学ディスクなど、任意のタイプの揮発性もしくは不揮発性メモリ・デバイス、またはそれらの組合せを使用することによって実装されうる。
【0174】
I/Oインターフェース950は、プロセッサ920とキーボード、クリック・ホイール、ボタンなどのような周辺インターフェース・モジュールとの間にインターフェースを提供する。ボタンは、それだけに限定されるものではないが、ホーム・ボタン、走査開始ボタン、および走査停止ボタンを含むことができる。I/Oインターフェース950は、エンコーダおよびデコーダに結合されうる。
【0175】
いくつかの実施形態では、メモリ940内に含まれるものなどの複数のプログラムを含む非一時的コンピュータ可読記憶媒体も提供され、複数のプログラムは、前述の方法を実施するために、コンピューティング環境910内のプロセッサ920によって実行可能である。たとえば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピー・ディスク、光学データ記憶デバイスなどとすることができる。
【0176】
非一時的コンピュータ可読記憶媒体には、1つまたは複数のプロセッサを有するコンピューティング・デバイスによって実行するための複数のプログラムが記憶され、複数のプログラムは、1つまたは複数のプロセッサによって実行されるとき、コンピューティング・デバイスに、動き予測のための前述の方法を実施させる。
【0177】
いくつかの実施形態では、コンピューティング環境910は、上記の方法を実施するために、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラム可能論理デバイス(PLD)、フィールド・プログラム可能ゲート・アレイ(FPGA)、グラフィック処理ユニット(GPU)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素によって実装されうる。
【0178】
図8は、本開示の一例に係るGPMでビデオブロックを復号する方法を示す流れ図である。
【0179】
ステップ801で、プロセッサ920は、ビデオブロックを第1および第2の幾何区画に区画化することができる。
【0180】
ステップ802で、プロセッサ920は、複数の正規マージ候補を追加することによって、GPMの単方向MV候補リストを構築することができる。
【0181】
複数の正規マージ候補は、正規マージ候補リスト生成プロセスから導出されうる。たとえば、図5に示されているように、Xがnのパリティに等しいとき、第nのマージ候補のLX動きベクトルが、候補リスト内の第nの単方向MVとして使用される。
【0182】
ステップ803で、プロセッサ920は、単方向MV候補リストが完全でないと判定したことに応答して、正規マージ候補リストの1つまたは複数の双方向予測MVから導出された1つまたは複数の追加の単方向MVを単方向MV候補リストに追加することによって、第1の更新された単方向MV候補リストを構築することができる。
【0183】
いくつかの例では、1つまたは複数の追加の単方向MVは、第1の基準ピクチャリスト内で奇数のマージインデックスを有する1つまたは複数のMV候補、および第2の基準ピクチャリスト内で偶数のマージインデックスを有する1つまたは複数のMVを取得することによって導出されうる。たとえば、第1の基準ピクチャリストをL0とすることができ、第2の基準ピクチャリストをL1とすることができる。追加の単方向MVは、L0内で奇数のマージインデックスを有する候補、およびL1内で偶数のマージインデックスを有する候補を含むことができる。すなわち、正規マージ候補リスト内でマージインデックスnを有する各双方向予測MVに対して、双方向予測MVのL(1-X)のMVが単方向MV候補リストにさらに追加され、ここでXはnのパリティに等しい。いくつかの例では、第1の基準ピクチャリストをL1とすることができ、第2の基準ピクチャリストをL0とすることができる。
【0184】
いくつかの例では、プロセッサ920は、ステップ804に示されているように、1つまたは複数のペア平均候補を第1の更新された単方向MV候補リストに追加することによって、第2の更新された単方向MV候補リストを構築することができる。
【0185】
たとえば、プロセッサ920は、第1の基準ピクチャリストまたは第2の基準ピクチャリスト内の第1の2つの単方向MV候補を取得し、第1の2つの単方向MV候補が同じ基準ピクチャを示すと判定したことに応答して、第1の2つの単方向MV候補を平均することによって、ペア平均候補を取得することができる。
【0186】
いくつかの例では、ペア平均候補は、第1の2つの単方向MV候補が異なる基準ピクチャを示すと判定したことに応答して、第1の2つの単方向MV候補を平均することによってペア平均候補の大きさを判定し、第1の単方向MV候補の基準ピクチャをペア平均候補の基準ピクチャとして判定することによって取得されうる。
【0187】
いくつかの例では、ペア平均候補は、第1の2つの単方向MV候補が異なる基準ピクチャを示すと判定したことに応答して、第1の2つの単方向MV候補を平均することによってペア平均候補の大きさを判定し、第2の単方向MV候補の基準ピクチャをペア平均候補の基準ピクチャとして判定することによって取得されうる。
【0188】
いくつかの例では、プロセッサ920は、ステップ805に示されているように、第2の更新された単方向MV候補リストが完全でないと判定したことに応答して、最大長に到達するまで、ゼロ単方向MVを第2の更新された単方向MV候補リストに周期的に追加することができる。
【0189】
いくつかの例では、単方向MV候補リストを構築するとき、冗長な候補が単方向MV候補リストから除去されうる。
【0190】
たとえば、プロセッサ920は、追加の単方向MVが単方向MV候補リスト内の候補に等しいと判定したことに応答して、追加の単方向MVを単方向MV候補リストに追加することを省略することができる。
【0191】
いくつかの例では、追加の単方向MVが単方向MV候補リスト内の候補に等しいかどうかを判定するために、MV閾値が使用される。たとえば、追加の単方向MVと単方向MV候補リスト内の候補との間の差がMV閾値より小さいと判定したことに応答して、追加の単方向MVは、単方向MV候補リスト内の候補に等しいと判定され、ここでMV閾値は、ビデオブロックのブロックサイズに基づいて、固定の閾値または変数である。
【0192】
さらに、プロセッサ920は、ペア平均候補が第1の更新された単方向MV候補リスト内の候補に等しいと判定したことに応答して、ペア平均候補を第1の更新された単方向MV候補リストに追加することを省略することができる。いくつかの例では、ペア平均候補と第1の更新された単方向MV候補リスト内の候補との間の差がMV閾値より小さいと判定したことに応答して、ペア平均候補は、候補に等しいと判定され、ここでMV閾値は、ビデオブロックのブロックサイズに基づいて、固定の閾値または変数である。
【0193】
ステップ806で、プロセッサ920は、第1の幾何区画に対する単方向MVおよび第2の幾何区画に対する単方向MVを生成することができる。
【0194】
いくつかの例では、GPMでビデオブロックを復号するための装置が提供される。装置は、プロセッサ920と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ940とを含み、プロセッサは、命令を実行するとき、図8に示されている方法を実施するように構成される。
【0195】
いくつかの他の例では、命令が記憶された非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ920によって実行されるとき、命令は、プロセッサに、図8に示されている方法を実施させる。
【0196】
本開示の他の例は、本明細書を考慮し、本明細書に開示される本開示を実施することによって、当業者には明らかであろう。本願は、本開示の一般原理に従って、当技術分野における周知または通例の慣行の範囲内にある本開示からの逸脱を含めて、本開示のあらゆる変形例、使用例、または適合例を包含することが意図される。本明細書および例は、例示のみとして考慮されることが意図される。
【0197】
本開示は、上記に記載および添付の図面に図示された厳密な例に限定されるものではなく、本開示の範囲から逸脱することなく様々な修正および変更が加えられうることが理解されよう。
図1
図2
図3A
図3B
図3C
図3D
図3E
図4
図5
図6A
図6B
図7
図8
図9
図10
【国際調査報告】