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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2024-517096アフィン動きを用いたバイラテラルマッチング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-19
(54)【発明の名称】アフィン動きを用いたバイラテラルマッチング
(51)【国際特許分類】
   H04N 19/51 20140101AFI20240412BHJP
【FI】
H04N19/51
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023563068
(86)(22)【出願日】2022-09-28
(85)【翻訳文提出日】2023-10-13
(86)【国際出願番号】 US2022077130
(87)【国際公開番号】W WO2023200490
(87)【国際公開日】2023-10-19
(31)【優先権主張番号】63/329,835
(32)【優先日】2022-04-11
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/951,900
(32)【優先日】2022-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャン・リ
(72)【発明者】
【氏名】グイチュン・リ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159NN21
5C159NN31
5C159RC12
5C159RC38
5C159TA61
5C159TB08
5C159TC02
5C159TC12
5C159TC35
5C159TC41
5C159TD05
5C159UA02
5C159UA05
5C159UA16
5C159UA22
(57)【要約】
現在のピクチャ内の現在のブロックの予測情報がコーディングされたビデオビットストリームからデコーディングされ、予測情報は、現在のブロックがアフィンモデルに基づいて予測されるべきであることを示す。アフィンモデルの複数のアフィン動きパラメータは、現在のピクチャの第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックに基づいてアフィンモデルが導出されるアフィンバイラテラルマッチングによって導出される。複数のアフィン動きパラメータは、コーディングされたビデオビットストリームに含まれない。アフィンモデルの制御点動きベクトルは、導出された複数のアフィン動きパラメータに基づいて決定される。現在のブロックは、導出されたアフィンモデルに基づいて再構成される。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおいて行われるビデオデコーディングの方法であって、
コーディングされたビデオビットストリームから現在のピクチャ内の現在のブロックの予測情報をデコードするステップであって、前記予測情報はアフィンモデルに基づいて前記現在のブロックが予測されるべきであることを示す、ステップと、
アフィンバイラテラルマッチングを介して前記アフィンモデルの複数のアフィン動きパラメータを導出するステップであって、前記アフィンモデルは前記現在のピクチャの第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックに基づいて導出され、前記複数のアフィン動きパラメータは前記コーディングされたビデオビットストリームに含まれない、ステップと、
前記導出された複数のアフィン動きパラメータに基づいて、前記アフィンモデルの制御点動きベクトルを決定するステップと、
前記導出されたアフィンモデルに基づいて前記現在のブロックを再構成するステップと
を含む、方法。
【請求項2】
導出する前記ステップは、
前記第1の参照ピクチャおよび前記第2の参照ピクチャ内の前記参照ブロックの複数の候補参照ブロック対からの参照ブロック対に基づいて、前記アフィンモデルの前記複数のアフィン動きパラメータを導出するステップであって、前記参照ブロック対は、前記アフィンモデルの制約およびコスト値に基づいて、前記第1の参照ピクチャ内の第1の参照ブロックおよび前記第2の参照ピクチャ内の第2の参照ブロックを含み、前記制約は、(i)前記現在のピクチャと前記第1の参照ピクチャとの間の第1の時間的距離、および(ii)前記現在のピクチャと前記第2の参照ピクチャとの間の第2の時間的距離に基づいた時間的距離比に関連付けられ、前記コスト値は、前記第1の参照ブロックと前記第2の参照ブロックとの差分に基づく、ステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記時間的距離比は、重み係数と、(i)前記現在のピクチャと前記第1の参照ピクチャとの間の前記第1の時間的距離と、(ii)前記現在のピクチャと前記第2の参照ピクチャとの間の前記第2の時間的距離との比との積に等しく、前記重み係数は正の整数である、請求項2に記載の方法。
【請求項4】
前記アフィンモデルの前記制約は、
前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1の並進係数が前記時間的距離比に比例すること、および
前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2の並進係数が前記時間的距離比に比例すること
をさらに含む、請求項3に記載の方法。
【請求項5】
前記アフィンモデルの前記制約は、
前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2のズーム係数が、前記時間距離比の累乗に対する、前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1のズーム係数に等しいこと
をさらに含む、請求項3に記載の方法。
【請求項6】
前記アフィンモデルの前記制約は、
(i)前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1のデルタズーム係数と、(ii)前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2のデルタズーム係数との比が前記時間的距離比に等しいこと、
前記第1のデルタズーム係数が、第1のズーム係数-1に等しいこと、および
前記第2のデルタズーム係数が、第2のズーム係数-1に等しいこと
をさらに含む、請求項3に記載の方法。
【請求項7】
前記アフィンモデルの前記制約は、
(i)前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1の回転角と、(ii)前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2の回転角との比が、前記時間的距離比に等しいこと
をさらに含む、請求項3に記載の方法。
【請求項8】
前記複数のアフィン動きパラメータを導出する前記ステップは、
前記アフィンモデルの前記制約に従って前記複数の候補参照ブロック対を決定するステップであって、前記複数の候補参照ブロック対の各候補参照ブロック対は、前記第1の参照ピクチャ内のそれぞれの候補参照ブロックと前記第2の参照ピクチャ内のそれぞれの候補参照ブロックとを含む、ステップと、
前記複数の候補参照ブロック対の各候補参照ブロック対に対してそれぞれのコスト値を決定するステップと、
前記参照ブロック対を、最小コスト値に関連付けられた前記複数の候補参照ブロック対のうちの候補参照ブロック対として決定するステップと
をさらに含む、請求項2に記載の方法。
【請求項9】
前記複数の候補参照ブロック対は第1の候補参照ブロック対を含み、前記第1の候補参照ブロック対は前記第1の参照ピクチャ内の第1の候補参照ブロックと前記第2の参照ピクチャ内の第1の候補参照ブロックとを含み、
前記複数のアフィン動きパラメータを導出する前記ステップは、
前記第1の参照ピクチャ内の初期参照ブロックに基づいて、前記現在のブロックの前記第1の参照ピクチャに関連付けられた初期予測子を決定するステップと、
前記第2の参照ピクチャ内の初期参照ブロックに基づいて、前記現在のブロックの前記第2の参照ピクチャに関連付けられた初期予測子を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子に基づいて、前記現在のブロックの前記第1の参照ピクチャに関連付けられた第1の予測子を決定するステップであって、前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子は、前記第1の参照ピクチャ内の前記第1の候補参照ブロックに関連付けられる、ステップと、
前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記初期予測子に基づいて、前記現在のブロックの前記第2の参照ピクチャに関連付けられた第1の予測子を決定するステップであって、前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記第1の予測子は、前記第2の参照ピクチャ内の前記第1の候補参照ブロックに関連付けられる、ステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子と、前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記第1の予測子との間の差分に基づいて、第1のコスト値を決定するステップと
をさらに含む、請求項8に記載の方法。
【請求項10】
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子は、マージインデックス、高度動きベクトル予測(AMVP)予測子インデックス、およびアフィンマージインデックスのうちの1つによって示される、請求項9に記載の方法。
【請求項11】
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子を決定する前記ステップは、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子の勾配値の、第1の方向における第1の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子の前記勾配値の、第2の方向における第2の成分を決定するステップであって、前記第2の方向は前記第1の方向に垂直である、ステップと、
前記第1の参照ピクチャ内の前記初期参照ブロックと前記第1の参照ピクチャ内の前記第1の候補参照ブロックとの間の変位の、前記第1の方向における第1の成分を決定するステップと、
前記第1の参照ピクチャ内の前記初期参照ブロックと前記第1の参照ピクチャ内の前記第1の候補参照ブロックとの間の前記変位の、前記第2の方向における第2の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子を、(i)前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子、(ii)前記初期予測子の前記勾配値の前記第1の成分と前記変位の前記第1の成分との積、および(iii)前記初期予測子の前記勾配値の前記第2の成分と前記変位の前記第2の成分との積、の総和に等しいと決定するステップと
をさらに含む、請求項9に記載の方法。
【請求項12】
前記複数の候補参照ブロック対は、前記第1の参照ピクチャ内の第Nの候補参照ブロックと、前記第2の参照ピクチャ内の第Nの候補参照ブロックとを含む第Nの候補参照ブロック対を含み、
前記複数のアフィン動きパラメータを導出する前記ステップは、
前記現在のブロックの前記第1の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて、前記現在のブロックの前記第1の参照ピクチャ内の前記第Nの候補参照ブロックに関連付けられた第Nの予測子を決定するステップと、
前記現在のブロックの前記第2の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて、前記現在のブロックの前記第2の参照ピクチャ内の前記第Nの候補参照ブロックに関連付けられた第Nの予測子を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第Nの予測子と、前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記第Nの予測子との間の差分に基づいて第Nのコスト値を決定するステップと
をさらに含む、請求項8に記載の方法。
【請求項13】
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第Nの予測子を決定する前記ステップは、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第(N-1)の予測子の勾配値の、第1の方向における第1の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第(N-1)の予測子の前記勾配値の、第2の方向における第2の成分を決定するステップであって、前記第2の方向は前記第1の方向に垂直である、ステップと、
前記第1の参照ピクチャ内の前記第Nの候補参照ブロックと前記第1の参照ピクチャ内の前記第(N-1)の候補参照ブロックとの間の変位の、前記第1の方向における第1の成分を決定するステップと、
前記第1の参照ピクチャ内の前記第Nの候補参照ブロックと前記第1の参照ピクチャ内の前記第(N-1)の候補参照ブロックとの間の前記変位の、前記第2の方向における第2の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに基づいた前記第Nの予測子を、(i)前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第(N-1)の予測子、(ii)前記第(N-1)の予測子の前記勾配値の前記第1の成分と前記変位の前記第1の成分との積、および(iii)前記第(N-1)の予測子の前記勾配値の前記第2の成分と前記変位の前記第2の成分との積、の総和に等しいと決定するステップと
をさらに含む、請求項12に記載の方法。
【請求項14】
前記複数の候補参照ブロック対は、
(i)Nが上限値に等しいこと、および
(ii)前記第1の参照ピクチャ内の前記第Nの候補参照ブロックと、前記第1の参照ピクチャ内の第(N+1)の候補参照ブロックとの間の変位が0であること
のうちの1つに基づいたN個の候補参照ブロック対を含む、請求項13に記載の方法。
【請求項15】
前記現在のブロック内の各サブブロックのデルタ動きベクトルは閾値以下である、請求項13に記載の方法。
【請求項16】
前記予測情報は、前記現在のブロックが前記アフィンモデルを用いた前記アフィンバイラテラルマッチングに基づいて予測されるかどうかを示すフラグを含む、請求項1に記載の方法。
【請求項17】
前記現在のブロックに関連付けられた前記アフィンモデルのための候補動きベクトルリストを決定するステップであって、前記候補動きベクトルリストは前記参照ブロック対に関連付けられた前記制御点動きベクトルを含む、ステップ
をさらに含む、請求項2に記載の方法。
【請求項18】
コーディングされたビデオビットストリームから現在のピクチャ内の現在のブロックの予測情報をデコードし、前記予測情報はアフィンモデルに基づいて前記現在のブロックが予測されるべきであることを示し、
アフィンバイラテラルマッチングを介して前記アフィンモデルの複数のアフィン動きパラメータを導出し、前記アフィンモデルは前記現在のピクチャの第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックに基づいて導出され、前記複数のアフィン動きパラメータは前記コーディングされたビデオビットストリームに含まれず、
前記導出された複数のアフィン動きパラメータに基づいて、前記アフィンモデルの制御点動きベクトルを決定し、かつ
前記導出されたアフィンモデルに基づいて前記現在のブロックを再構成する
ように構成された処理回路
を含む、装置。
【請求項19】
前記処理回路は、
前記第1の参照ピクチャおよび前記第2の参照ピクチャ内の前記参照ブロックの複数の候補参照ブロック対からの参照ブロック対に基づいて、前記アフィンモデルの前記複数のアフィン動きパラメータを導出し、前記参照ブロック対は、前記アフィンモデルの制約およびコスト値に基づいて、前記第1の参照ピクチャ内の第1の参照ブロックおよび前記第2の参照ピクチャ内の第2の参照ブロックを含み、前記制約は、(i)前記現在のピクチャと前記第1の参照ピクチャとの間の第1の時間的距離、および(ii)前記現在のピクチャと前記第2の参照ピクチャとの間の第2の時間的距離に基づいた時間的距離比に関連付けられ、前記コスト値は、前記第1の参照ブロックと前記第2の参照ブロックとの差分に基づく、
ようにさらに構成される、請求項18に記載の装置。
【請求項20】
前記時間的距離比は、重み係数と、(i)前記現在のピクチャと前記第1の参照ピクチャとの間の前記第1の時間的距離と、(ii)前記現在のピクチャと前記第2の参照ピクチャとの間の前記第2の時間的距離との比との積に等しく、前記重み係数は正の整数である、請求項19に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年9月23日に出願された米国特許出願第17/951,900号「BILATERAL MATCHING WITH AFFINE MOTION」に対する優先権の利益を主張し、同出願は、2022年4月11日に出願された米国仮出願第63/329,835号「Bilateral Matching with Affine Motion」に対する優先権の利益を主張する。先行出願の開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、ビデオコーディングに関する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示のコンテキストを一般的に提示することを目的とする。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、および出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
非圧縮デジタル画像および/またはビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプルおよび関連する彩度サンプルの空間次元を有する。一連のピクチャは、例えば、毎秒60ピクチャ、つまり60Hzの固定または可変のピクチャレート(非公式にはフレームレートとしても知られる)を有することができる。非圧縮画像および/またはビデオは、特定のビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間分のそのようなビデオは、600GByteを超える記憶空間を必要とする。
【0005】
画像および/またはビデオのコーディングおよびデコーディングの1つの目的は、圧縮による入力画像および/またはビデオ信号の冗長性の低減であることができる。圧縮は、前述の帯域幅および/または記憶空間要件を、場合によっては2桁以上低減するのに役立つことができる。本明細書の説明は、説明例としてビデオエンコーディング/デコーディングを使用するが、同じ技術は、本開示の趣旨から逸脱することなく、同様のやり方で画像のエンコーディング/デコーディングに適用されることができる。可逆圧縮と非可逆圧縮の両方、およびそれらの組合せが採用されることができる。可逆圧縮とは、原信号の正確なコピーが、圧縮された原信号から再構成されることができる技術を指す。非可逆圧縮を使用するとき、再構成された信号は原信号と同一ではない場合もあるが、原信号と再構成された信号との間の歪みは、再構成された信号を意図された用途に役立てるのに十分なほど小さい。ビデオの場合、非可逆圧縮が広く採用されている。容認できる歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを容認しうる。達成可能な圧縮比は、許容可能/容認可能な歪みが高いほど、圧縮比が高くなることができることを反映することができる。
【0006】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換処理、量子化およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプルまたは他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャは、サンプルのブロックに、空間的に細分される。サンプルのすべてのブロックがイントラモードでコーディングされるとき、そのピクチャはイントラピクチャであることができる。イントラピクチャおよび独立したデコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用され、したがって、コーディングされたビデオビットストリームおよびビデオセッション内の最初のピクチャとして、または静止画像として使用されることができる。イントラブロックのサンプルは、変換を受け、変換係数を、エントロピーコーディングの前に量子化することができる。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であることができる。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2生成コーディング技術において使用される従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、データのブロックのエンコーディング/デコーディングの間に取得される周囲のサンプルデータおよび/またはメタデータに基づいて予測を行うように試みる技術を含む。そのような技術は、これ以降、「イントラ予測」技術と呼ばれる。少なくともいくつかの場合に、イントラ予測は、再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからは使用しないことに留意されたい。
【0009】
イントラ予測には、多くの異なる形式があることができる。そのような技術のうちの2つ以上が所与のビデオコーディング技術において使用されることができるとき、使用中の特定の技術が、特定の技術を使用する特定のイントラ予測モードとしてコーディングされることができる。特定の場合には、イントラ予測モードは、サブモードおよび/またはパラメータを有することができ、サブモードおよび/またはパラメータは、個別にコーディングされるか、または使用される予測モードを定義するモードコードワードに含まれることができる。所与のモード、サブモード、および/またはパラメータの組合せに、どのコードワードを使用するかは、イントラ予測を介したコーディング効率向上に影響を与えることができ、そのため、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も影響を与えることができる。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265において改良され、共同探索モデル(JEM)、多用途ビデオコーディング(VVC)、およびベンチマークセット(BMS)などの新規のコーディング技術においてさらに改良された。予測子ブロックは、すでに利用可能なサンプルの近傍にあるサンプル値を使用して形成されることができる。近傍にあるサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコーディングされることができるか、またはそれ自体が予測されうる。
【0011】
図1Aを参照すると、右下に描かれているのは、H.265で定義された(35個のイントラモードのうちの33個の角度モードに対応する)33個の可能な予測子方向から知られる9つの予測子方向のサブセットである。矢印が集中する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、1つ以上のサンプルから、右上へ、水平から45度の角度で予測されることを示している。同様に、矢印(103)は、サンプル(101)が、1つ以上のサンプルから、サンプル(101)の左下へ、水平から22.5度の角度で予測されることを示している。
【0012】
さらに図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正方形ブロック(104)が示されている。正方形ブロック(104)は16個のサンプルを含み、各々、「S」、Y次元のその位置(例えば、行インデックス)、およびX次元のその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内のY次元とX次元の両方の4番目のサンプルである。ブロックは、サイズが4×4サンプルなので、S44は右下にある。同様の番号付け方式に従う参照サンプルがさらに示されている。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)、およびX位置(列インデックス)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは再構成中のブロックの近傍にあるので、負の値が使用される必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向によって示される近傍のサンプルから参照サンプル値をコピーすることによって機能することができる。例えば、コーディングされたビデオビットストリームは、このブロックについて、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルは、サンプルから右上へ、水平から45度の角度で予測される、と仮定する。その場合、サンプルS41、S32、S23、およびS14が、同じ参照サンプルR05から予測される。次いで、サンプルS44が、参照サンプルR08から予測される。
【0014】
特定の場合には、参照サンプルを計算するために、特に方向が45度によって均等に割り切れない場合、複数の参照サンプルの値は、例えば補間によって組み合わされてもよい。
【0015】
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向が表されることができた。これが、H.265(2013年)では33個に増加した。現在、JEM/VVC/BMSは、最大65個の方向をサポートすることができる。最も可能性が高い方向を識別するために実験が行われており、エントロピーコーディングの特定の技術は、それらの可能性が高い方向を少数のビットで表すために使用され、可能性が低い方向に関しては一定のペナルティを受け入れる。さらに、場合によっては、方向自体が、近傍の、すでにデコードされたブロックで使用された近傍の方向から予測されることができる。
【0016】
図1Bは、経時的に増加する予測方向の数を示すためにJEMによる65個のイントラ予測方向を示す概略図(110)を示している。
【0017】
コーディングされたビデオビットストリーム内の方向を表すイントラ予測方向ビットのマッピングは、ビデオコーディング技術によって異なることができる。そのようなマッピングは、単純な直接マッピングから、コードワード、最確モードを含む複雑な適応方式、および同様の技術までに及ぶことができる。しかしながら、ほとんどの場合、ビデオコンテンツ内で特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在することができる。ビデオ圧縮の目的は冗長性の低減であるので、それらの可能性が低い方向は、うまく機能するビデオコーディング技術では、可能性が高い方向よりも多いビット数で表される。
【0018】
画像および/またはビデオのコーディングおよびデコーディングは、動き補償を伴うインターピクチャ予測を使用して行われることができる。動き補償は、非可逆圧縮技術であることができ、以前に再構成されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降、MV)によって示された方向に空間的にシフトされた後に、新規に再構成されるピクチャまたはピクチャの一部の予測に使用される技術に関連することができる。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであることができる。MVは、2つの次元XおよびY、または3つの次元を有することができ、第3の次元は、使用中の参照ピクチャの指示である(第3の次元は、間接的に時間次元であることができる)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータの特定のエリアに適用可能なMVを、他のMVから、例えば、再構成中のエリアに空間的に隣接し、デコーディング順でそのMVに先行するサンプルデータの他のエリアに関連するMVから、予測することができる。そうすることにより、MVのコーディングに必要なデータの量を大幅に低減し、それによって冗長性が排除され、圧縮率を増加することができる。例えば、(自然なビデオとして知られている)カメラから導出された入力ビデオ信号をコーディングするときに、単一のMVが適用可能なエリアよりも大きいエリアが同様の方向に移動し、したがって、場合によっては、近傍のエリアのMVから導出された同様の動きベクトルを使用して予測されることができる統計的尤度があるので、MV予測は、効果的に機能することができる。その結果、所与のエリアについて検出されたMVが周囲のMVから予測されたMVと同様か、または同じになり、それは、エントロピーコーディング後に、MVを直接コーディングした場合に使用されるはずのビット数より少ないビット数で表されることができる。場合によっては、MV予測は、原信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例となることができる。他の場合には、MV予測自体は、例えばいくつかの周囲のMVから予測子を計算するときの丸め誤差のために、非可逆であることができる。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec.H.265、「High Efficiency Video Coding」、2016年12月)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、図2を参照して説明するのは、以降「空間マージ」と呼ばれる技術である。
【0021】
図2を参照すると、現在のブロック(201)は、動き探索プロセス中にエンコーダによって、空間的にシフトされた同じサイズの以前のブロックから予測可能であることが発見されているサンプルを含む。そのMVを直接コーディングする代わりに、A0、A1、およびB0、B1、B2(それぞれ、202~206)と表記された5つの周囲のサンプルのいずれか1つに関連付けられたMVを使用して、1つ以上の参照ピクチャに関連付けられたメタデータから、MVは、例えば(デコーディング順に)最新の参照ピクチャから導出されることができる。H.265では、MV予測は、近傍のブロックが使用している同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様は、ビデオのエンコーディング/デコーディングのための方法および装置を提供する。いくつかの例において、ビデオのデコーディングのための装置は、処理回路を含む。
【0023】
本開示の一態様によれば、ビデオデコーダにおいて行われるビデオデコーディングの方法が提供される。本方法では、現在のピクチャ内の現在のブロックの予測情報は、コーディングされたビデオビットストリームからデコードされることができ、予測情報は、現在のブロックがアフィンモデルに基づいて予測されるべきであることを示すことができる。アフィンモデルの複数のアフィン動きパラメータは、現在のピクチャの第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックに基づいてアフィンモデルが導出されるアフィンバイラテラルマッチングによって導出されることができる。複数のアフィン動きパラメータは、コーディングされたビデオビットストリームに含まれなくてもよい。アフィンモデルの制御点動きベクトルは、導出された複数のアフィン動きパラメータに基づいて決定されることができる。現在のブロックは、導出されたアフィンモデルに基づいて再構成されることができる。
【0024】
アフィンモデルの複数のアフィン動きパラメータは、第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックの複数の候補参照ブロック対からの参照ブロック対に基づいて導出されることができる。参照ブロック対は、アフィンモデルおよびコスト値の制約に基づいて、第1の参照ピクチャ内の第1の参照ブロックと、第2の参照ピクチャ内の第2の参照ブロックとを含むことができる。制約は、(i)現在のピクチャと第1の参照ピクチャとの間の第1の時間的距離、および(ii)現在のピクチャと第2の参照ピクチャとの間の第2の時間的距離に基づく時間的距離比に関連付けられることができる。コスト値は、第1の参照ブロックと第2の参照ブロックとの間の差分に基づくことができる。
【0025】
いくつかの実施形態では、時間的距離比は、重み係数と、(i)現在のピクチャと第1の参照ピクチャとの間の第1の時間的距離と、(ii)現在のピクチャと第2の参照ピクチャとの間の第2の時間的距離との比との積に等しいことができ、重み係数は正の整数であることができる。
【0026】
いくつかの実施形態では、アフィンモデルの制約は、現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1の並進係数が時間的距離比に比例することを示すことができる。アフィンモデルの制約は、現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2の並進係数が時間的距離比に比例することを示すことができる。
【0027】
いくつかの実施形態では、アフィンモデルの制約は、現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2のズーム係数が、時間距離比の累乗に対する、現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1のズーム係数に等しいことをさらに示すことができる。
【0028】
いくつかの実施形態では、アフィンモデルの制約は、(i)現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1のデルタズーム係数と、(ii)現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2のデルタズーム係数との比が、時間的距離比に等しいことを示すことができる。第1のデルタズーム係数は、第1のズーム係数-1に等しいことができ、第2のデルタズーム係数は、第2のズーム係数-1に等しいことができる。
【0029】
いくつかの実施形態では、アフィンモデルの制約は、(i)現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1の回転角と、(ii)現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2の回転角との比が、時間的距離比に等しいことをさらに示すことができる。
【0030】
参照ブロック対を決定するために、アフィンモデルの制約に従って複数の候補参照ブロック対が決定されることができる。複数の候補参照ブロック対の各候補参照ブロック対は、第1の参照ピクチャ内のそれぞれの候補参照ブロックと、第2の参照ピクチャ内のそれぞれの候補参照ブロックとを含むことができる。複数の候補参照ブロック対の各候補参照ブロック対に対してそれぞれのコスト値が決定されることができる。最小コスト値に関連付けられた参照ブロック対は、複数の候補参照ブロック対のうちの候補参照ブロック対として決定されることができる。
【0031】
いくつかの実施形態では、複数の候補参照ブロック対は、第1の候補参照ブロック対を含むことができ、第1の候補参照ブロック対は、第1の参照ピクチャ内の第1の候補参照ブロックと、第2の参照ピクチャ内の第1の候補参照ブロックとを含むことができる。参照ブロック対を決定するために、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子は、第1の参照ピクチャ内の初期参照ブロックに基づいて決定されることができる。現在のブロックの第2の参照ピクチャに関連付けられた初期予測子は、第2の参照ピクチャ内の初期参照ブロックに基づいて決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子は、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子に基づいて決定されることができ、現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子は、第1の参照ピクチャ内の第1の候補参照ブロックに関連付けられることができる。現在のブロックの第2の参照ピクチャに関連付けられた第1の予測子は、現在のブロックの第2の参照ピクチャに関連付けられた初期予測子に基づいて決定されることができ、現在のブロックの第2の参照ピクチャに関連付けられた第1の予測子は、第2の参照ピクチャ内の第1の候補参照ブロックに関連付けられることができる。第1のコスト値は、現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子と、現在のブロックの第2の参照ピクチャに関連付けられた第1の予測子との間の差分に基づいて決定されることができる。
【0032】
本方法では、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子は、マージインデックス、高度動きベクトル予測(AMVP)予測子インデックス、およびアフィンマージインデックスのうちの1つによって示されることができる。
【0033】
現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子を決定するために、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子の勾配値の、第1の方向における第1の成分が決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた初期予測子の勾配値の、第2の方向における第2の成分が決定されることができる。第2の方向は、第1の方向に対して垂直であることができる。第1の参照ピクチャ内の初期参照ブロックと第1の参照ピクチャ内の第1の候補参照ブロックとの間の変位の、第1の方向における第1の成分が決定されることができる。第1の参照ピクチャ内の初期参照ブロックと第1の参照ピクチャ内の第1の候補参照ブロックとの間の変位の、第2の方向における第2の成分が決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子は、(i)現在のブロックの第1の参照ピクチャに関連付けられた初期予測子、(ii)初期予測子の勾配値の第1の成分と変位の第1の成分との積、および(iii)初期予測子の勾配値の第2の成分と変位の第2の成分との積、の総和に等しいと決定されることができる。
【0034】
複数の候補参照ブロック対は、第Nの候補参照ブロック対を含むことができ、第Nの候補参照ブロック対は、第1の参照ピクチャ内の第Nの候補参照ブロックと、第2の参照ピクチャ内の第Nの候補参照ブロックとを含むことができる。参照ブロック対を決定するために、現在のブロックの第1の参照ピクチャ内の第Nの候補参照ブロックに関連付けられた第Nの予測子は、現在のブロックの第1の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて決定されることができる。現在のブロックの第2の参照ピクチャ内の第Nの候補参照ブロックに関連付けられた第Nの予測子は、現在のブロックの第2の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて決定されることができる。第Nのコスト値は、現在のブロックの第1の参照ピクチャに関連付けられた第Nの予測子と、現在のブロックの第2の参照ピクチャに関連付けられた第Nの予測子との間の差分に基づいて決定されることができる。
【0035】
現在のブロックの第1の参照ピクチャに関連付けられた第Nの予測子を決定するために、現在のブロックの第1の参照ピクチャに関連付けられた第(N-1)の予測子の勾配値の、第1の方向における第1の成分が決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた第(N-1)の予測子の勾配値の、第2の方向における第2の成分が決定されることができる。第2の方向は、第1の方向に対して垂直であることができる。変位の第1の成分が決定されることができる。変位の第1の成分は、第1の参照ピクチャ内の第Nの候補参照ブロックと第1の参照ピクチャ内の第(N-1)の候補参照ブロックとの間の、第1の方向における差分とすることができる。変位の第2の成分が決定されることができる。変位の第2の成分は、第1の参照ピクチャ内の第Nの候補参照ブロックと第1の参照ピクチャ内の第(N-1)の候補参照ブロックとの間の、第2の方向における差分とすることができる。第Nの予測子は、現在のブロックの第1の参照ピクチャに基づいて、(i)現在のブロックの第1の参照ピクチャに関連付けられた第(N-1)の予測子、(ii)第(N-1)の予測子の勾配値の第1の成分と変位の第1の成分との積、および(iii)第(N-1)の予測子の勾配値の第2の成分と変位の第2の成分との積、の総和に等しいと決定されることができる。
【0036】
いくつかの実施形態では、複数の候補参照ブロック対は、(i)Nが上限値に等しいこと、および(ii)第1の参照ピクチャ内の第Nの候補参照ブロックと、第1の参照ピクチャ内の第(N+1)の候補参照ブロックとの間の変位が0であること、のうちの1つに基づいたN個の候補参照ブロック対を含むことができる。
【0037】
いくつかの実施形態では、現在のブロック内の各サブブロックのデルタ動きベクトルは、閾値以下であることができる。
【0038】
予測情報は、現在のブロックがアフィンモデルを用いたアフィンバイラテラルマッチングに基づいて予測されるかどうかを示すフラグを含むことができる。
【0039】
本方法では、現在のブロックに関連付けられたアフィンモデルの候補動きベクトルリストが決定されることができる。候補動きベクトルリストは、参照ブロック対に関連付けられた制御点動きベクトルを含むことができる。
【0040】
本開示の他の態様によれば、装置が提供される。装置は、処理回路を含む。処理回路を、ビデオエンコーディング/デコーディングのための方法のいずれかを行うように構成されることができる。
【0041】
本開示の態様は、ビデオデコーディングのためのコンピュータによって実行されたときに、ビデオのエンコーディング/デコーディングのための方法のいずれかをコンピュータに行わせる命令を記憶した非一時的コンピュータ可読媒体も提供する。
【0042】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0043】
図1A】イントラ予測モードの例示的なサブセットの概略図である。
図1B】例示的なイントラ予測方向の図である。
図2】一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。
図3】一実施形態による通信システム(300)の簡略化されたブロック図の概略図である。
図4】一実施形態による通信システム(400)の簡略化されたブロック図の概略図である。
図5】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
図6】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
図7】他の実施形態によるエンコーダのブロック図である。
図8】他の実施形態によるデコーダのブロック図である。
図9A】他の実施形態による4パラメータアフィンモデルの概略図である。
図9B】他の実施形態による6パラメータアフィンモデルの概略図である。
図10】他の実施形態による、ブロック内のサブブロックに関連付けられたアフィン動きベクトル場の概略図である。
図11】他の実施形態による空間マージ候補の例示的な位置の概略図である。
図12】他の実施形態による制御点動きベクトルの継承(inheritance)の概略図である。
図13】他の実施形態によるアフィンマージモードを構築するための候補の位置の概略図である。
図14】他の実施形態による、オプティカルフロー(PROF)を用いた予測精密化の概略図である。
図15】他の実施形態によるアフィン動き推定プロセスの概略図である。
図16】他の実施形態によるアフィン動き推定探索のフローチャートを示す図である。
図17】他の実施形態による、双方向オプティカルフロー(BDOF)のための拡張コーディングユニット(CU)領域の概略図である。
図18】他の実施形態によるデコーディング側の動きベクトルの精密化の概略図である。
図19】本開示のいくつかの実施形態による例示的なデコーディングプロセスを概説するフローチャートを示す図である。
図20】本開示のいくつかの実施形態による例示的なエンコーディングプロセスを概説するフローチャートを示す図である。
図21】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0044】
図3は、通信システム(300)の例示的なブロック図を示している。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)および(320)の第1の対を含む。図3の例において、端末デバイス(310)および(320)の第1の対は、データの単方向送信を行う。例えば、端末デバイス(310)は、ネットワーク(350)を介して他方の端末デバイス(320)に送信するために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされたビデオピクチャのストリーム)をコーディングしてもよい。エンコードされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形式で送信されることができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコードしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示しうる。単方向データ送信は、メディアサービングアプリケーションなどにおいて一般的でありうる。
【0045】
他の例では、通信システム(300)は、例えばテレビ会議中に、コーディングされたビデオデータの双方向送信を行う端末デバイス(330)および(340)の第2の対を含む。データの双方向送信の場合、一例では、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)のうちの他の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによってキャプチャされたビデオピクチャのストリーム)をコードディングしうる。端末デバイス(330)および(340)の各端末デバイスはまた、端末デバイス(330)および(340)の他の端末デバイスによって送信されたコーディングされたビデオデータを受信してもよく、ビデオピクチャを復元するためにコーディングされたビデオデータをデコードしてもよく、かつ復元されたビデオデータに従ってアクセス可能なディスプレイデバイスにおいてビデオピクチャを表示してもよい。
【0046】
図3の例では、端末デバイス(310)、(320)、(330)、および(340)はそれぞれ、サーバ、パーソナルコンピュータ、およびスマートフォンとして示されているが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器とともに適用される。ネットワーク(350)は、例えば有線(配線)および/または無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)および(340)間デコードされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換しうる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本考察の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要でない場合がある。
【0047】
図4は、開示される主題のための適用例の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダを示している。開示される主題は、例えば、ビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶などを含む、他のビデオ対応アプリケーションに等しく適用可能であることができる。
【0048】
ストリーミングシステムは、例えば圧縮されていないビデオピクチャのストリーム(402)を作成する、例えばデジタルカメラなどのビデオソース(401)を含むことができるキャプチャサブシステム(413)を含みうる。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮られたサンプルを含む。ビデオピクチャのストリーム(402)は、エンコードされたビデオデータ(404)(またはコーディングされたビデオビットストリーム)と比較したときの大きいデータ量を強調するために太線で示され、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下で詳細に記載するように、開示された主題の態様を可能にする、または実装するために、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができる。エンコードされたビデオデータ(404)(またはエンコードされたビデオビットストリーム)は、ビデオピクチャのストリーム(402)と比較したときの少ないデータ量を強調するために細線で示され、将来の使用のためにストリーミングサーバ(405)に記憶することができる。図4のクライアントサブシステム(406)および(408)などの1つ以上のストリーミングクライアントサブシステムは、エンコードされたビデオデータ(404)のコピー(407)および(409)を取り出すために、ストリーミングサーバ(405)にアクセスすることができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコードされたビデオデータの入力コピー(407)をデコードし、ディスプレイ(412)(例えば、表示スクリーン)または他のレンダリングデバイス(図示せず)上でレンダリングされることができるビデオピクチャの出力ストリーム(411)を作成する。一部のストリーミングシステムでは、エンコードされたビデオデータ(404)、(407)および(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってエンコードされることができる。それらの規格の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非公式に知られている。開示される主題は、VVCとの関連で使用されうる。
【0049】
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)もビデオエンコーダ(図示せず)を含むことができる。
【0050】
図5は、ビデオデコーダ(510)の例示的なブロック図を示している。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例のビデオデコーダ(410)の代わりに使用されることができる。
【0051】
受信器(531)は、ビデオデコーダ(510)によってデコードされる1つ以上のコーディングされたビデオシーケンスを受信することができる。一実施形態では、一度に1つのコーディングされたビデオシーケンスが受信され、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスのデコーディングから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信され、チャネル(501)は、エンコードされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでありうる。受信器(531)は、他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームとともにエンコードされたビデオデータを受信してもよく、そのデータは、それらそれぞれの使用エンティティ(図示せず)に転送されうる。受信器(531)は、コーディングされたビデオシーケンスをその他のデータから分離しうる。ネットワークジッタに対抗するために、受信器(531)とエントロピーデコーダ/パーサ(520)(以降、「パーサ(520)」)との間にバッファメモリ(515)が結合されうる。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の外部にあることができる(図示せず)。さらに他の用途では、例えば、ネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)が存在し、加えて、例えば、プレイアウトタイミングを処理するために、ビデオデコーダ(510)の内部に他のバッファメモリ(515)が存在することができる。受信器(531)が十分な帯域幅および可制御性の記憶/転送デバイスから、またはアイソシンクロナスネットワークから、データを受信しているとき、バッファメモリ(515)は、必要でなくてもよい、または小さくなることができる。インターネットなどのベストエフォート型パケットネットワーク上で使用するために、バッファメモリ(515)が必要とされてもよく、比較的大きくすることができ、有利には適応サイズとすることができ、ビデオデコーダ(510)の外部のオペレーティングシステムまたは同様の要素(図示せず)内に少なくとも部分的に実装されうる。
【0052】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するパーサ(520)を含みうる。これらのシンボルのカテゴリは、図5に示されるように、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的に、電子デバイス(530)の不可欠な部分ではないが、電子デバイス(530)に結合されることができるレンダリングデバイス(512)(例えば、表示スクリーン)などのレンダリングデバイスを制御するための情報とを含む。レンダリングデバイス(複数可)のための制御情報は、補足エンハンスメント情報(SEI)メッセージ、またはビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(図示せず)の形式でありうる。パーサ(520)は、受信されたコーディングされたビデオシーケンスを構文解析/エントロピーデコードしうる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、コンテキスト依存性ありまたはなしの可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つに関するサブグループパラメータのセットを抽出しうる。サブグループは、Group of Pictures(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトルなどの情報を抽出しうる。
【0053】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピーデコーディング/構文解析動作を行ってもよい。
【0054】
シンボル(521)の再構成は、コーディングされたビデオピクチャまたはその一部のタイプ(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)、ならびに他の要因に応じて、複数の異なるユニットが関与することができる。どのユニットがどのように関与するかは、コーディングされたビデオシーケンスからパーサ(520)によって構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために図示されていない。
【0055】
すでに述べた機能ブロックを超えて、ビデオデコーダ(510)は、以下で説明するように、いくつかの機能ユニットに概念的に再分割されることができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示される主題を説明する目的のために、以下の機能ユニットへの概念的な再分割が適切である。
【0056】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(520)からシンボル(複数可)(521)として受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0057】
場合によっては、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロックに関連することができる。イントラコーディングされたブロックは、以前に再構成されたピクチャからの予測情報を使用せず、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャおよび/または完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供された出力サンプル情報に追加する。
【0058】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的に動き補償されたブロックに関連することができる。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加されることができる。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、および参照ピクチャ成分を有することができるシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって、制御されることができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0059】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において種々のループフィルタリング技術を受けることができる。コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)が利用可能なインループフィルタ技術を、ビデオ圧縮技術は含むことができる。ビデオ圧縮はまた、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(デコーディング順序で)以前の部分のデコーディング中に取得されたメタ情報に応答し、および以前に再構成されループフィルタ処理されたサンプル値に応答することができる。
【0060】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力されることができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に記憶されることができるサンプルストリームであることができる。
【0061】
特定のコーディングされたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、次のコーディングされたピクチャの再構成を開始する前に、新しい現在のピクチャバッファが再割り当てされることができる。
【0062】
ビデオデコーダ(510)は、所定のビデオ圧縮技術またはITU-T Rec.H.265などの規格に従ってデコーディング動作を行うことができる。コーディングされたビデオシーケンスが、ビデオ圧縮技術または規格のシンタックスと、ビデオ圧縮技術または規格に文書化されているプロファイルとの両方を順守しているという意味デコードされたビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されているシンタックスに準拠しうる。具体的には、プロファイルは、ビデオ圧縮技術または規格において利用可能なすべてのツールの中から、特定のツールを、そのプロファイル下でそれらだけが利用可能なツールとして選択することができる。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることとすることができる。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構成サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)の仕様と、コーディングされたビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限されることができる。
【0063】
一実施形態では、受信器(531)は、エンコードされたビデオとともに追加の(冗長)データを受信しうる。追加のデータは、コーディングされたビデオシーケンス(複数可)の一部として含まれうる。追加のデータは、ビデオデコーダ(510)によって、データを適切にデコードするために、かつ/または元のビデオデータをより正確に再構成するために使用されうる。追加のデータは、例えば、時間、空間、または信号対雑音比(SNR)の強化層、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形であることができる。
【0064】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信器(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例のビデオエンコーダ(403)の代わりに使用されることができる。
【0065】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるビデオ画像(複数可)をキャプチャしうるビデオソース(601)(図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信することができる。他の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0066】
ビデオソース(601)は、ビデオエンコーダ(603)によってコーディングされるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であることができるデジタルビデオサンプルストリームの形態で提供することができる。メディアサービングシステムでは、ビデオソース(601)は、以前に準備されたビデオを記憶する記憶デバイスでありうる。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラでありうる。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供されうる。ピクチャ自体は、画素の空間配列として編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【0067】
一実施形態によれば、ビデオエンコーダ(603)は、必要に応じて、リアルタイムで、または任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングし、コーディングされたビデオシーケンス(643)に圧縮することができる。適切なコーディング速度を実施することが、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下で説明される他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。この結合は明確にするために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、Group of Pictures(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するように構成されることができる。
【0068】
一部の実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に単純化した説明として、一例では、コーディングループは、(例えば、コーディングされるべき入力ピクチャ、および参照ピクチャ(複数可)に基づいて、シンボルストリームなどのシンボルを作成する役割を担う)ソースコーダ(630)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモート)デコーダも作成するのと同様の方式で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクトな結果をもたらすため、参照ピクチャメモリ(634)の内容も、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、デコーディング中に予測を使用するときにデコーダが「見る」ことになるのと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネルエラーのために同期性が維持されることができない場合に結果として生じるドリフト)のこの基本原理は、一部の関連技術においても使用される。
【0069】
「ローカル」デコーダ(633)の動作は、図5に関連して上記ですでに詳細に説明したビデオデコーダ(510)などの「リモート」デコーダの動作と同じとすることができる。しかしながら、図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)によるコーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングが可逆であることができるため、バッファメモリ(515)およびパーサ(520)を含むビデオデコーダ(510)のエントロピーデコーディング部分は、ローカルデコーダ(633)において完全には実装されない場合がある。
【0070】
一実施形態では、デコーダ内に存在する構文解析/エントロピーデコーディングを除くデコーダ技術は、対応するエンコーダ内に、同一または実質的に同一の機能形式で存在する。したがって、開示された主題は、デコーダの動作に焦点を当てている。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略されることができる。特定の領域において、より詳細な説明が以下に提供される。
【0071】
動作中、一部の例では、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする、動き補償予測コーディングを行ってもよい。このようにして、コーディングエンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照(複数可)として選択されうる参照ピクチャ(複数可)の画素ブロックとの間の差分をコーディングする。
【0072】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定されうるピクチャのコーディングされたビデオデータをデコードしうる。コーディングエンジン(632)の動作は、有利には、非可逆プロセスであってもよい。コーディングされたビデオデータが(図6には示されていない)ビデオデコーダでデコードされうるとき、再構成されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスの複製でありうる。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって行われうるデコーディングプロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に記憶させうる。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得される再構成された参照ピクチャと共通のコンテンツを有する再構成された参照ピクチャのコピーをローカルに記憶しうる(送信エラーなし)。
【0073】
予測子(635)は、コーディングエンジン(632)の予測探索を行ってもよい。すなわち、コーディングされる新しいピクチャの場合、予測子(635)は、新しい画素のための適切な予測参照として役立つことができる、(候補参照画素ブロックとしての)サンプルデータ、または参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を探索しうる。予測子(635)は、適切な予測参照を見つけるために、画素ブロックごとにサンプルブロックに対して動作しうる。場合によっては、予測子(635)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【0074】
コントローラ(650)は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理しうる。
【0075】
前述した全ての機能ユニットの出力は、エントロピーコーダ(645)でエントロピーコーディングを受けてもよい。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルに可逆圧縮を適用することによって、種々の機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0076】
送信器(640)は、エンコードされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでありうる通信チャネル(660)を介した送信の準備のために、エントロピーコーダ(645)によって作成されたコーディングされたビデオシーケンス(複数可)をバッファしうる。送信器(640)は、ビデオエンコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージしうる。
【0077】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理しうる。コーディング中、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当ててもよく、これは、それぞれのピクチャに適用されうるコーディング技術に影響を及ぼしうる。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられうる:
【0078】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用することなくコーディングおよびデコードされうるものであってもよい。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを可能にする。当業者であれば、Iピクチャのこれらの変形例ならびにそれらのそれぞれの用途および特徴を認識している。
【0079】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよびデコーディングされうるものであってもよい。
【0080】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コーディングおよびデコードされうるものであってもよい。同様に、複数の予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャおよび関連メタデータを使用することができる。
【0081】
ソースピクチャは、概して、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に再分割され、ブロックごとにコーディングされうる。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定される他の(すでにコーディングされた)ブロックを参照して予測的にコーディングされうる。例えば、Iピクチャのブロックは、非予測的にコーディングされうるか、または、同じピクチャのすでにコーディングされたブロックを参照して予測的にコーディングされうる(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされうる。Bピクチャのブロックは、1つまたは2つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされうる。
【0082】
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を行ってもよい。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間および空間の冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を行ってもよい。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格によって指定されたシンタックスに準拠しうる。
【0083】
一実施形態では、送信器(640)は、エンコードされたビデオとともに追加のデータを送信しうる。ソースコーダ(630)は、そのようなデータをコーディングされたビデオシーケンスの一部として含みうる。追加のデータは、時間/空間/SNRエンハンスメントレイヤ、冗長ピクチャおよびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含んでもよい。
【0084】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされうる。イントラピクチャ予測(しばしば、イントラ予測と省略される)は、所与のピクチャ内の空間相関を使用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関を使用する。一例では、現在のピクチャと呼ばれる、エンコーディング/デコーディング中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、ビデオ内で、以前にコーディングされ、未だバッファされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックを、動きベクトルと呼ばれるベクトルによってコーディングすることができる。動きベクトルは、参照ピクチャ中の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0085】
一部の実施形態では、インターピクチャ予測において双予測技術が使用されることができる。双予測技術によれば、第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらは両方ともビデオ内の現在のピクチャのデコーディング順より前にある(しかし、表示順序は、それぞれ過去および未来のものであってもよい)。第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトルによって、および第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルによって、現在のピクチャ内のブロックはコーディングされることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0086】
さらに、コーディング効率を向上させるために、インターピクチャ予測においてマージモード技術が使用されることができる。
【0087】
本開示の一部の実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロック単位で行われる。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、16×16画素などの同じサイズを有する。一般に、CTUは、3つのコーディングツリーブロック(CTB)を含み、それらは1つのルーマCTBおよび2つのクロマCTBである。各CTUは、1つ以上のコーディングユニット(CU)に再帰的に四分木分割されることができる。例えば、64×64画素のCTUは、64×64画素の1個のCUに、または32×32画素の4個のCUに、または16×16画素の16個のCUに、分割されることができる。一例では、各CUが、インター予測タイプまたはイントラ予測タイプなど、CUの予測タイプを決定するために解析される。CUは、時間的予測可能性および/または空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つのルーマ予測ブロック(PB)と、2つのクロマPBとを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で行われる。予測ブロックの一例としてルーマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などの画素についての値(例えば、ルーマ値)の行列を含む。
【0088】
図7は、ビデオエンコーダ(703)の例示的な図を示している。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコードするように構成される。一例では、ビデオエンコーダ(703)は、図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0089】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、または双予測モードのいずれを使用して最適にコーディングされるかを決定する。処理ブロックがイントラモードでコーディングされることになるとき、ビデオエンコーダ(703)は、イントラ予測技術を使用して、処理ブロックをコーディングされたピクチャにエンコードしてもよく、処理ブロックがインターモードまたは双予測モードでコーディングされることになるとき、ビデオエンコーダ(703)は、インター予測技術または双予測技術をそれぞれ使用して、処理ブロックをコーディングされたピクチャにエンコードしてもよい。特定のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされた動きベクトル成分の助けを借りずに、動きベクトルが1つ以上の動きベクトル予測子から導出されるインターピクチャ予測サブモードとすることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0090】
図7の例では、ビデオエンコーダ(703)は、図7に示されるように互いに結合された、インターエンコーダ(730)と、イントラエンコーダ(722)と、残差計算器(723)と、スイッチ(726)と、残差エンコーダ(724)と、汎用コントローラ(721)と、エントロピーエンコーダ(725)とを含む。
【0091】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャおよび以後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インターエンコーディング技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測されたブロック)を計算するように構成される。一部の例では、参照ピクチャは、エンコードされたビデオ情報に基づいてデコードされるデコードされた参照ピクチャである。
【0092】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じピクチャ内のすでにコーディングされているブロックと比較し、変換後に量子化された係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、同じピクチャ内のイントラ予測情報および参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0093】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードである場合、汎用コントローラ(721)は、残差計算器(723)によって使用されるイントラモード結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御し;モードがインターモードである場合、汎用コントローラ(721)は、残差計算器(723)によって使用されるインター予測結果を選択するようにスイッチ(726)を制御し、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0094】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との間の差分(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データをエンコードして変換係数を生成するよう動作するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化変換係数を取得するために量子化プロセスを受ける。様々な実施形態において、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を行い、デコードされた残差データを生成するように構成される。デコードされた残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用されることができる。例えば、インターエンコーダ(730)は、デコードされた残差データおよびインター予測情報に基づいて、デコードされたブロックを生成することができ、イントラエンコーダ(722)は、デコードされた残差データおよびイントラ予測情報に基づいて、デコードされたブロックを生成することができる。デコードされたブロックは、デコーディンされたグピクチャを生成するために適切に処理され、デコードされたピクチャは、メモリ回路(図示せず)中にバッファされ、一部の例では参照ピクチャとして使用されることができる。
【0095】
エントロピーエンコーダ(725)は、エンコードされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従ってビットストリームに様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、ビットストリームに、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報を含めるように構成される。開示される主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコーディングするとき、残差情報がないことに留意されたい。
【0096】
図8は、ビデオデコーダ(810)の例示的な図を示している。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコードして再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例におけるビデオデコーダ(410)の代わりに使用される。
【0097】
図8の例では、ビデオデコーダ(810)は、図8に示されるように互いに結合された、エントロピーデコーダ(871)と、インターデコーダ(880)と、残差デコーダ(873)と、再構成モジュール(874)と、イントラデコーダ(872)とを含む。
【0098】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成されることができる。そのようなシンボルは、例えば、ブロックがコーディングされているモード(例えば、イントラモード、インターモード、双予測モードなど、インターモードおよび双予測モードはマージサブモードまたは他のサブモードにある)、ならびにイントラデコーダ(872)またはインターデコーダ(880)によって、それぞれ、予測のために使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報またはインター予測情報など)を含むことができる。シンボルはまた、例えば、量子化変換係数の形態の残差情報なども含むことができる。一例では、予測モードがインターモードまたは双予測モードであるとき、インター予測情報はインターデコーダ(880)に提供され;予測タイプがイントラ予測タイプであるとき、イントラ予測情報はイントラデコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0099】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0100】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0101】
残差デコーダ(873)は、逆量子化を行って逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差情報を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする可能性があり、その情報は、エントロピーデコーダ(871)によって提供されうる(これは低ボリューム制御情報のみでありうるため、データ経路は示されていない)。
【0102】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力された残差情報と(場合に応じてインター予測モジュールまたはイントラ予測モジュールによって出力された)予測結果とを組み合わせて、再構成されたブロックを形成するように構成され、再構成されたブロックは、再構成されたピクチャの一部であってもよく、再構成されたピクチャは、再構成されたビデオの一部であってもよい。視覚品質を改善するために、デブロッキング動作など、他の好適な動作が行われることができることに留意されたい。
【0103】
ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、任意の適切な技術を使用して実装されることができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、1つ以上の集積回路を使用して実装されることができる。他の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されることができる。
【0104】
本開示は、アフィンコーディングモードに関する実施形態を含み、アフィンコーディングモードのアフィン動きパラメータは、シグナリングの代わりにバイラテラルマッチングに基づいて導出されることができる。
【0105】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、および2016年(バージョン4)において、H.265/HEVC(High Efficiency Video Coding)規格を公開した。2015年に、両標準化団体は、HEVCを超える次のビデオコーディング規格を開発する可能性を探索するために、JVET(共同ビデオ研究チーム)を共同で結成した。2017年10月、両標準化団体はJoint Call for Proposals on Video Compression with Capability beyond HEVC(CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(SDR)に対して22個のCfP応答、高ダイナミックレンジ(HDR)に対して12個のCfP応答、360ビデオカテゴリで12個のCfP応答がそれぞれ提出された。2018年4月、受け取られた全てのCfP応答は、122 MPEG/10th JVET会議で評価された。会議の結果、JVETは、HEVCを超える次世代ビデオコーディングの標準化プロセスを正式に立ち上げた。この新たな規格は、多用途ビデオコーディング(VVC)と名付けられ、JVETは、ジョイントビデオエキスパートチームと改称された。2020年に、ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、VVCビデオコーディング規格(バージョン1)を公開した。
【0106】
インター予測では、インター予測されたコーディングユニット(CU)ごとに、例えばインター予測されたサンプル生成に使用されるVVCの特徴をコーディングするために動きパラメータが必要とされる。動きパラメータは、動きベクトル、参照ピクチャインデックス、参照ピクチャリスト使用インデックス、および/または追加情報を含むことができる。動きパラメータは、明示的または暗黙的な方式でシグナリングされることができる。CUがスキップモードでコーディングされる場合、CUは1つのPUに関連付けられることができ、有意残差係数、コーディングされた動きベクトルデルタ、および/または参照ピクチャインデックスは必要とされない可能性がある。CUがマージモードでコーディングされる場合、CUの動きパラメータは、近傍のCUから取得されることができる。近傍のCUは、空間候補および時間候補、ならびにVVCで導入されたような追加のスケジュール(または追加の候補)を含むことができる。マージモードは、スキップモードに対してだけでなく、任意のインター予測されたCUに適用されることができる。マージモードの代替は、動きパラメータの明示的な送信であり、動きベクトル、各参照ピクチャリストの対応する参照ピクチャインデックス、参照ピクチャリスト使用フラグ、および/または他の必要な情報は、CUごとに明示的にシグナリングされることができる。
【0107】
VVCでは、VVCテストモデル(VTM)参照ソフトウェアは、以下のうちの1つ以上を含むことができる、いくつかの新しい改良されたインター予測コーディングツールを含むことができる:
(1)拡張マージ予測
(2)マージ動きベクトル差分(MMVD)
(3)対称MVDシグナリングを伴うAMVPモード
(4)アフィン動き補償予測
(5)サブブロックベースの時間動きベクトル予測(SbTMVP)
(6)適応動きベクトル分解能(AMVR)
(7)動き場記憶:1/16ルーマサンプルMV記憶および8×8動き場圧縮
(8)CUレベルの重みによる双予測(BCW)
(9)双方向オプティカルフロー(BDOF)
(10)デコーダ側動きベクトル精密化(DMVR)
(11)インター予測とイントラ予測の組合せ(CIIP)
(12)幾何学的パーティションモード(GPM)
【0108】
HEVCでは、並進運動モデルが動き補償予測(MCP)に適用される。現実世界では、ズームイン/アウト、回転、遠近法運動、および他の不規則な動きなど、多くの種類の動きが存在することができる。ブロックベースのアフィン変換動き補償予測は、VTMなどに適用されることができる。図9Aは、2つの制御点(4パラメータ)の動き情報によって記述されるブロック(902)のアフィン動き場を示す。図9Bは、3つの制御点動きベクトル(6パラメータ)によって記述されるブロック(904)のアフィン動き場を示す。
【0109】
図9Aに示されるように、4パラメータアフィン動きモデルにおいて、ブロック(902)内のサンプル位置(x,y)における動きベクトルは、以下のように式(1)で導出されることができる:
【数1】
ここで、mvxは第1の方向(またはX方向)の動きベクトルとすることができ、mvyは第2の方向(またはY方向)の動きベクトルとすることができる。動きベクトルは、式(2)に記述することもできる:
【数2】
【0110】
図9Bに示されるように、6パラメータアフィン動きモデルにおいて、ブロック(904)内のサンプル位置(x,y)における動きベクトルは、以下のように式(3)で導出されることができる:
【数3】
6パラメータアフィン動きモデルは、以下のように式(4)で記述することもできる:
【数4】
式(1)および式(3)に示されるように、(mv0x,mv0y)は、左上隅の制御点の動きベクトルとすることができる。(mv1x,mv1y)は、右上隅の制御点の動きベクトルとすることができる。(mv2x,mv2y)は、左下隅の制御点の動きベクトルとすることができる。
【0111】
図10に示されるように、動き補償予測を単純化するために、ブロックベースのアフィン変換予測が適用されることができる。各4×4のルーマサブブロックの動きベクトルを導出するために、現在のブロック(1000)内の各サブブロック(例えば、(1004))の中心サンプル(例えば、(1002))の動きベクトルは、式(1)~式(4)に従って計算され、1/16の分数精度に丸められることができる。導出された動きベクトルを用いて各サブブロックの予測を生成するために、動き補償補間フィルタが適用されることができる。クロマ成分のサブブロックサイズはまた、4×4として設定されることができる。4×4のクロマサブブロックのMVは、4つの対応する4×4のルーマサブブロックのMVの平均として計算されることができる。
【0112】
アフィンマージ予測では、アフィンマージ(AF_MERGE)モードは、幅および高さの両方が8以上のCUに適用されることができる。現在のCUのCPMVは、空間的に近傍のCUの動き情報に基づいて生成されることができる。最大5つのCPMVP候補がアフィンマージ予測に適用されることができ、5つのCPMVP候補のうちのどれが現在のCUに使用されることができるかを示すためにインデックスがシグナリングされることができる。アフィンマージ予測では、アフィンマージ候補リストを形成するために、3つのタイプのCPMV候補が使用されることができる:(1)近傍CUのCPMVから外挿された継承されたアフィンマージ候補、(2)近傍CUの並進MVを使用して導出されたCPMVPを用いて構築されたアフィンマージ候補、および(3)ゼロMV。
【0113】
VTM3では、最大2つの継承アフィン候補が適用されることができる。2つの継承アフィン候補は、近傍ブロックのアフィン動きモデルから導出されることができる。例えば、一方の継承されたアフィン候補は左近傍CUから導出されることができ、他方の継承されたアフィン候補は上近傍CUから導出されることができる。例示的な候補ブロックが図11に示されることができる。図11に示されるように、左予測子(または左継承アフィン候補)の場合、走査順序はA0→A1とすることができ、上予測子(または上継承アフィン候補)の場合、走査順序はB0→B1→B2とすることができる。したがって、各側から最初に利用可能な継承候補のみが選択されることができる。2つの継承候補の間でプルーニングチェックは行われなくてもよい。近傍アフィンCUが識別されると、現在のCUのアフィンマージリスト内のCPMVP候補を導出するために、近傍アフィンCUの制御点動きベクトルを使用されることができる。図12に示されるように、現在のブロック(1204)の左下に隣接するブロックAがアフィンモードでコーディングされると、ブロックAを含むCU(1202)の左上隅、右上隅、および左下隅の動きベクトルv2、v3、およびv4が達成されることができる。ブロックAが4パラメータアフィンモデルでコーディングされる場合、現在のCU(1204)の2つのCPMVは、CU(1202)のv2およびv3に従って計算されることができる。ブロックAが6パラメータアフィンモデルでコーディングされる場合、現在のCU(1204)の3つのCPMVは、CU(1202)のv2、v3、およびv4に従って計算されることができる。
【0114】
現在のブロックの構築されたアフィン候補は、現在のブロックの各制御点の近傍並進運動情報を組み合わせることによって構築された候補とすることができる。制御点の動き情報は、図13に示されることができる特定の空間的近傍および時間的近傍から導出されることができる。図13に示されるように、CPMVk(k=1,2,3,4)は、現在のブロック(1302)のk番目の制御点を表す。CPMV1の場合、B2→B3→A2ブロックがチェックされることができ、第1の利用可能なブロックのMVが使用されることができる。CPMV2の場合、B1→B0ブロックがチェックされることができる。CPMV3の場合、A1→A0ブロックがチェックされることができる。CPM4が利用可能でない場合、TMVPがCPMV4として使用されることができる。
【0115】
4つの制御点のMVが達成された後、現在のブロック(1302)のアフィンマージ候補は、4つの制御点の動き情報に基づいて構築されることができる。例えば、アフィンマージ候補は、{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、{CPMV1,CPMV3}の順に、4つの制御点のMVの組合せに基づいて構築することができる。
【0116】
3つのCPMVの組合せは6パラメータアフィンマージ候補を構築することができ、2つのCPMVの組合せは4パラメータアフィンマージ候補を構築することができる。動きスケーリング処理を回避するために、制御点の参照インデックスが異なる場合、制御点MVの関連する組合せは破棄されることができる。
【0117】
継承されたアフィンマージ候補および構築されたアフィンマージ候補がチェックされた後、リストがまだ一杯でない場合、リストの最後にゼロMVが挿入されることができる。
【0118】
アフィンAMVP予測では、アフィンAMVPモードは、幅および高さの両方が16以上のCUに適用されることができる。CUレベルのアフィンフラグは、アフィンAMVPモードが使用されるかどうかを示すためにビットストリーム内でシグナリングされることができ、次いで他のフラグが、4パラメータアフィンまたは6パラメータアフィンのどちらが適用されるかどうかを示すためにシグナリングされることができる。アフィンAMVP予測では、現在のCUのCPMVと現在のCUのCPMVPの予測子との差分は、ビットストリームでシグナリングされることができる。アフィンAMVP候補リストのサイズは2とすることができ、アフィンAMVP候補リストは、4種類のCPMV候補を以下の順序で使用することによって生成されることができる:
(1)近傍CUのCPMVから外挿された遺伝性アフィンAMVP候補、
(2)近傍CUの並進MVを使用して導出されたCPMVPを有する構築されたアフィンAMVP候補、
(3)近傍のCUからの並進MV、および
(4)ゼロMV。
【0119】
継承されたアフィンAMVP候補のチェック順序は、継承されたアフィンマージ候補のチェック順序と同じとすることができる。AVMP候補を決定するために、現在のブロックと同じ参照ピクチャを有するアフィンCUのみが考慮されることができる。継承されたアフィン動き予測子が候補リストに挿入されるとき、プルーニング処理は適用されなくてもよい。
【0120】
構築されたAMVP候補は、指定された空間的近傍から導出されることができる。図13に示されるように、アフィンマージ候補構築におけるチェック順序と同じチェック順序が適用されることができる。加えて、近傍ブロックの参照ピクチャインデックスがまた、チェックされることができる。チェック順序の最初のブロックは、インターコーディングされ、現在のCU(1302)と同じ参照ピクチャを有することができる。現在のCU(1302)が4パラメータアフィンモードでコーディングされ、mv0およびmv1の両方が利用可能である場合、1つの構築されたAMVP候補が決定されることができる。構築されたAMPV候補は、アフィンAMVPリストにさらに追加されることができる。現在のCU(1302)が6パラメータアフィンモードでコーディングされ、3つのCPMVすべてが利用可能である場合、構築されたAMVP候補は、アフィンAMVPリスト内の一候補として追加されることができる。そうでなければ、構築されたAMVP候補は、利用不可として設定されることができる。
【0121】
継承されたアフィンAMVP候補および構築されたAMVP候補がチェックされた後、アフィンAMVPリスト内の候補が依然として2未満である場合、mv0、mv1およびmv2が順に追加されることができる。mv0、mv1、およびmv2は、利用可能な場合、現在のCU(例えば、(1302))のすべての制御点MVを予測するための並進MVとして機能することができる。最後に、アフィンAMVPがまだ一杯でない場合、アフィンAMVPリストを一杯にするためにゼロMVが使用されることができる。
【0122】
サブブロックベースのアフィン動き補償は、予測精度のペナルティを犠牲にして、メモリアクセス帯域幅を節約し、画素ベースの動き補償と比較して計算複雑度を低減することができる。動き補償のより細かい粒度を達成するために、オプティカルフロー(PROF)による予測の精密化が使用されて、動き補償のためのメモリアクセス帯域幅を増加させることなく、サブブロックベースのアフィン動き補償予測を精密化することができる。VVCでは、サブブロックベースのアフィン動き補償が行われた後、ルーマ予測サンプルは、オプティカルフロー方程式によって導出された差分を加算することによって精密化されることができる。PROFは、以下の4つのステップで説明されることができる:
【0123】
ステップ(1):サブブロック予測I(i,j)を生成するために、サブブロックベースのアフィン動き補償が行われることができる。
【0124】
ステップ(2):サブブロック予測の空間勾配gx(i,j)およびgy(i,j)は、3タップフィルタ[-1,0,1]を使用して各サンプル位置において計算されることができる。勾配計算は、BDOFにおける勾配計算と同じとすることができる。例えば、空間勾配gx(i,j)およびgy(i,j)は、それぞれ式(5)および式(6)に基づいて計算されることができる。
gx(i,j)=(I(i+1,j)>>shift1)-(I(i-1,j)>>shift1) 式(5)
gy(i,j)=(I(i,j+1)>>shift1)-(I(i,j-1)>>shift1) 式(6)
式(5)および(6)に示されるように、shift1は、勾配の精度を制御するために使用されることができる。サブブロック(例えば、4×4)予測は、勾配計算のために各側で1サンプルずつ拡張されることができる。追加のメモリ帯域幅および追加の補間計算を回避するために、拡張境界上の拡張サンプルは、参照ピクチャ内の最も近い整数画素位置からコピーされることができる。
【0125】
ステップ(3):ルーマ予測精度は、式(7)に示されるようなオプティカルフロー式によって計算されることができる。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j) 式(7)
ここで、Δv(i,j)は、サンプル位置(i,j)について計算されたサンプルMV(v(i,j)で表される)と、サンプル(i,j)が属するサブブロックのサブブロックMV(vSBで表される)との差分とすることができる。図14は、サンプルMVとサブブロックMVとの間の差分の例示的な図を示す。図14に示されるように、サブブロック(1402)は現在のブロック(1400)に含まれることができ、サンプル(1404)はサブブロック(1402)に含まれることができる。サンプル(1404)は、参照画素(1406)に対応するサンプル動きベクトルv(i,j)を含むことができる。サブブロック(1402)は、サブブロック動きベクトルvSBを含むことができる。サブブロック動きベクトルvSBに基づいて、サンプル(1404)は参照画素(1408)に対応することができる。サンプルMVとサブブロックMVとの間の差分(Δv(i,j)で表される)は、参照画素(1406)と参照画素(1408)との間の差分によって示されることができる。Δv(i,j)は、1/32のルーマサンプル精度の単位で量子化されることができる。
【0126】
アフィンモデルパラメータおよびサブブロック中心に対するサンプル位置は、サブブロックから別のサブブロックに変更されなくてもよいので、Δv(i,j)は、第1のサブブロック(例えば、(1402))について計算され、同じCU(例えば、(1400))内の他のサブブロック(例えば、(1410))について再使用されうる。dx(i,j)を水平オフセットとし、dy(i,j)をサンプル位置(i,j)からサブブロックの中心(xSB,ySB)までの垂直オフセットとすると、Δv(x,y)は、以下の式(8)および式(9)によって導出されることができる:
【数5】
【0127】
精度を保つために、サブブロックの中心(xSB,ySB)は、((WSB-1)/2,(HSB-1)/2)として計算されることができ、ここで、WSBおよびHSBは、それぞれサブブロックの幅および高さである。
【0128】
Δv(x,y)が取得されると、アフィンモデルのパラメータが取得されることができる。例えば、4パラメータアフィンモデルの場合、アフィンモデルのパラメータは、式(10)に示されることができる。
【数6】
6パラメータアフィンモデルの場合、アフィンモデルのパラメータは、式(11)に示されることができる。
【数7】
ここで、(v0x,v0y)、(v1x,v1y)、(v2x,v2y)は、それぞれ左上制御点動きベクトル、右上制御点動きベクトル、左下制御点動きベクトルとすることができ、wおよびhはそれぞれCUの幅および高さとすることができる。
【0129】
ステップ(4):最後に、ルーマ予測精度ΔI(i,j)が、サブブロック予測I(i,j)に追加されることができる。最終予測I’は、式(12)に示されるように生成されることができる。
I’(i,j)=I(i,j)+ΔI(i,j) 式(12)
【0130】
PROFは、以下の2つの場合には、アフィンコーディングされたCUに適用されなくてもよい:(1)すべての制御点MVが同じであり、これはCUが並進運動のみを有することを示す場合、および(2)大きなメモリアクセス帯域幅要件を回避するためにサブブロックベースのアフィンMCがCUベースのMCまで下がっているので、アフィン動きパラメータが指定された限界よりも大きい場合。
【0131】
VVC参照ソフトウェアVTMなどのアフィン動き推定(ME)は、単予測および双予測の両方のために動作されることができる。単予測は、参照リストL0および参照リストL1のいずれか一方に対して行われることができ、双予測は、参照リストL0および参照リストL1の両方に対して行われることができる。
【0132】
図15は、アフィンME(1500)の概略図を示す。図15に示されるように、参照リストL0内の初期参照ブロックに基づいて現在のブロックの予測P0を取得するために、アフィンME(1500)において、参照リストL0に対してアフィン単予測(S1502)が行われることができる。参照リストL1内の初期参照ブロックに基づいて現在のブロックの予測P1を取得するために、参照リストL1に対してアフィン単予測(S1504)を行うこともできる。(S1506)において、アフィン双予測が行われることができる。アフィン双予測(S1506)は、初期予測残差(2I-P0)-P1で開始することができ、Iは現在のブロックの初期値とすることができる。アフィン双予測(S1506)は、最小予測残差(2I-P0)-Pxを有する最良の(または選択された)参照ブロックを見つけるために、参照リストL1内の初期参照ブロックの周りの参照リストL1内の候補を探索することができ、Pxは、選択された参照ブロックに基づく現在のブロックの予測である。
【0133】
参照ピクチャを用いて、現在のコーディングブロックに対して、アフィンMEプロセスはまず、ベースとして制御点動きベクトル(CPMV)のセットを選ぶことができる。CPMVのセットに対応する現在のアフィンモデルの予測出力を生成し、予測サンプルの勾配を計算し、次いで線形方程式を解いてデルタCPMVを決定し、アフィン予測を最適化するために、反復方法が使用されることができる。すべてのデルタCPMVが0であるか、または最大反復回数に達したときに反復を停止することができる。反復から取得されたCPMVは、参照ピクチャの最終CPMVとすることができる。
【0134】
参照リストL0およびL1の両方の最良のアフィンCPVMがアフィン単予測のために決定された後、アフィン双予測探索は、最良の単予測CPMVおよび一方の側の参照リストを使用して行われることができ、アフィン双予測出力を最適化するために他方の参照リストの最良のCPMVを探索する。アフィン双予測探索は、最適な結果を取得するために2つの参照リストに対して反復的に行われることができる。
【0135】
図16は、参照ピクチャに関連付けられた最終CPMVが計算されることができる例示的なアフィンMEプロセス(1600)を示す。アフィンMEプロセス(1600)は、(S1602)で開始することができる。(S1602)において、現在のブロックのベースCPMVが決定されることができる。ベースCPMVは、マージインデックス、高度動きベクトル予測(AMVP)予測子インデックス、アフィンマージインデックスなどのうちの1つに基づいて決定されることができる。
【0136】
(S1604)において、ベースCPMVに基づいて現在のブロックの初期アフィン予測が取得されることができる。例えば、ベースCPMVによれば、初期アフィン予測を生成するために、4パラメータアフィン動きモデルまたは6パラメータアフィン動きモデルが適用されることができる。
【0137】
(S1606)において、初期アフィン予測の勾配が取得されることができる。例えば、初期アフィン予測の勾配は、式(5)および式(6)に基づいて取得されることができる。
【0138】
(S1608)において、デルタCPMVが決定されることができる。いくつかの実施形態では、デルタCPMVは、初期アフィン予測と、第1のアフィン予測などの後続のアフィン予測との間の変位に関連付けられることができる。初期アフィン予測の勾配およびデルタCPMVに基づいて、第1のアフィン予測が取得されることができる。第1のアフィン予測は、第1のCPMVに対応することができる。
【0139】
(S1610)において、デルタCPMVが0であるか、または反復回数が閾値以上であるかどうかをチェックするための決定が行われることができる。デルタCPMVが0であるか、または反復回数が閾値以上である場合、(S1612)において、最終(または選択された)CPMVが決定されることができる。最終的な(または選択された)CPMVは、初期アフィン予測の勾配およびデルタCPMVに基づいて決定される第1のCPMVとすることができる。
【0140】
さらに(S1610)を参照すると、デルタCPMVが0ではないか、または反復回数が閾値未満である場合、新しい反復を開始することができる。新しい反復では、更新されたアフィン予測を生成するために、更新されたCPMV(例えば、第1のCPMV)が(S1604)に提供されることができる。次いで、アフィンMEプロセス(1600)は、(S1606)に進むことができ、更新されたアフィン予測の勾配が計算されることができる。次いで、アフィンMEプロセス(1600)は、(S1608)に進み、新しい反復を継続することができる。
【0141】
アフィン動きモデルにおいて、4パラメータアフィン動きモデルは、回転およびズームの動きを含む式によってさらに記述されることができる。例えば、4パラメータアフィン動きモデルは、以下のように式(13)で書き換えられることができる:
【数8】
ここで、rおよびθは、それぞれズーム係数および回転角度とすることができる。現在のフレームが2つの参照フレームの時間的に中間にあり、動きが一定かつ連続的である場合、ズーム係数は指数関数的とすることができ、回転角度は一定とすることができる。したがって、参照リスト0へのアフィン動きのような、1つの参照へのアフィン動きを定式化するために、式(13)が適用されることができる。参照リスト1などの現在のフレームの他の側に時間的にある他の参照フレームへのアフィン動きは、式(14)で記述されることができる。
【数9】
式(13)および式(14)は、対称アフィン動きモデルと呼ばれることができる。対称アフィン動きモデルは、コーディング効率をさらに改善するために適用されることができる。a、b、r、およびθの間の関係は、以下のように式(15)で記述されることができることに留意されたい:
【数10】
【0142】
VVCにおける双方向オプティカルフロー(BDOF)は、以前はJEMにおいてBIOと呼ばれていた。JEMバージョンと比較して、VVCのBDOFは、特に乗算の数および乗算器のサイズの点で、より少ない計算しか必要としないより単純なバージョンとすることができる。
【0143】
4×4サブブロックレベルでのCUの双予測信号を精密化するために、BDOFが使用されることができる。CUが以下の条件を満たす場合、BDOFはCUに適用されることができる:
(1)CUが、「真の」双予測モードを使用してコーディングされること、すなわち、2つの参照ピクチャの一方が、表示順序において現在のピクチャの前にあり、他方が、表示順序において現在のピクチャの後にあること、
(2)2つの参照ピクチャから現在のピクチャまでの距離(例えば、POC差分)が同じであること、
(3)両方の参照ピクチャがショートターム参照ピクチャであること、
(4)CUがアフィンモードまたはSbTMVPマージモードを使用してコーディングされないこと、
(5)CUが64を超えるルーマサンプルを有すること、
(6)CU高さおよびCU幅の両方が8ルーマサンプル以上であること、
(7)BCW重み指数が等しい重みを示すこと、
(8)現在のCUに対して重み付け位置(WP)が使用可能ではないこと、および
(9)現在のCUにはCIIPモードは使用されないこと。
【0144】
BDOFは、ルーマ成分にのみ適用されうる。BDOFの名前が示すように、BDOFモードは、物体の動きが滑らかであると仮定するオプティカルフローの概念に基づくことができる。各4×4サブブロックについて、L0予測サンプルとL1予測サンプルとの間の差分を最小化することによって、動き精度(vx,vy)が計算されることができる。次いで、4×4サブブロック内の双予測サンプル値を調整するために、動き精度が使用されることができる。BDOFは、以下のステップを含むことができる:
【0145】
第1に、参照リストL0および参照リストL1からの2つの予測信号の水平勾配
【数11】
および垂直勾配
【数12】
、k=0、1は、2つの近傍のサンプル間の差分を直接計算することによって計算されることができる。水平勾配および垂直勾配は、以下のように式(16)および式(17)で提供されることができる:
【数13】
ここで、I(k)(i,j)は、リストkにおける予測信号の座標(i,j)におけるサンプル値とすることができ、k=0,1であり、shift1は、ルーマビット深度bitDepthに基づいて、shift1=max(6,bitDepth-6)として計算されることができる。
【0146】
次に、勾配S1、S2、S3、S5、およびS6の自己相関および相互相関は、以下の式(18)~(22)に従って計算されることができる:
【数14】
ここで、ψx(i,j)、ψy(i,j)、およびθ(i,j)は、それぞれ式(23)~(25)で与えられることができる:
【数15】
ここで、Ωは4×4サブブロックの周囲の6×6窓とすることができ、naおよびnbの値はそれぞれmin(1,bitDepth-11)およびmin(4,bitDepth-8)に等しく設定されることができる。
【0147】
次いで、動き精度(vx,vy)は、以下の式(26)および式(27)を使用して、相互相関項および自己相関項を使用して導出されることができる:
【数16】
ここで、
【数17】

【数18】
、th’BIO=2max(5,BD-7)である。
【数19】
は床関数であり、
【数20】
である。動き精度および勾配に基づいて、式(28)に基づいて4×4サブブロック内の各サンプルについて調整が計算されることができる:
【数21】
【0148】
最後に、CUのBDOFサンプルは、以下のように式(29)で双予測サンプルを調整することによって計算されることができる:
predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift 式(29)
値は、BDOFプロセスにおける乗数が15ビットを超えず、BDOFプロセスにおける中間パラメータの最大ビット幅が32ビット以内に保たれることができるように選択されることができる。
【0149】
勾配値を導出するために、現在のCU境界の外側のリストk(k=0、1)内のいくつかの予測サンプルI(k)(i,j)が生成される必要がある。図17に示されるように、VVCにおけるBDOFは、CU(1704)の境界(1706)の周りの1つの拡張された行/列(1702)を使用することができる。境界外予測サンプルを生成する計算複雑度を制御するために、拡張領域(例えば、図17の斜線が付されていない領域)内の予測サンプルは、補間なしで近傍の整数位置(例えば、座標上でfloor()演算を使用する)の参照サンプルを直接取得することによって生成されることができ、そして、CU(例えば、図17の斜線領域)内の予測サンプルを生成するために、通常の8タップ動き補償補間フィルタが使用されることができる。拡張サンプル値は、勾配計算でのみ使用されることができる。BDOFプロセスの残りのステップでは、CU境界外のサンプルおよび勾配値が必要な場合、サンプルおよび勾配値は、サンプルおよび勾配値の最近傍からパディングされる(例えば、繰り返される)ことができる。
【0150】
CUの幅および/または高さが16ルーマサンプルより大きい場合、CUは、16ルーマサンプルに等しい幅および/または高さを有するサブブロックに分割されることができ、サブブロック境界は、BDOFプロセスにおいてCU境界として扱われることができる。BDOFプロセスの最大ユニットサイズは16×16に制限されることができる。サブブロックごとに、BDOFプロセスはスキップされることができる。初期L0予測サンプルと初期L1予測サンプルとの間の絶対差分の総和(SAD)が閾値よりも小さい場合、BDOFプロセスはサブブロックに適用されなくてもよい。閾値は、(8*W*(H>>1)に等しく設定されることができ、ここで、Wはサブブロックの幅を示すことができ、Hはサブブロックの高さを示すことができる。SAD計算のさらなる複雑さを回避するために、DMVRプロセスで計算された初期L0予測サンプルと初期L1予測サンプルとの間のSADは、BBOFプロセスにおいて再使用されることができる。
【0151】
現在のブロックに対してBCWが有効にされている場合、すなわち、BCW重み指数が等しくない重みを示す場合、双方向オプティカルフローは無効にされることができる。同様に、WPが現在のブロックに対して有効にされている場合、すなわち、2つの参照ピクチャのいずれかに対してルーマ重みフラグ(例えば、luma_weight_lx_flag)が1である場合、BDOFはまた、無効にされうる。CUが対称MVDモードまたはCIIPモードでコーディングされる場合、BDOFはまた、無効にされうる。
【0152】
マージモードのMVの精度を高めるために、VVCなどにおけるバイラテラルマッチング(BM)ベースのデコーダ側動きベクトルの精密化が適用されることができる。双予測動作では、参照ピクチャリストL0および参照ピクチャリストL1内の初期MVの周りで、精密化されたMVが探索されることができる。BM方法は、参照ピクチャリストL0および参照ピクチャリストL1の2つの候補ブロック間の歪みを計算することができる。
【0153】
図18は、BMベースのデコーダ側動きベクトルの精密化の例示的な概略図を示す。図18に示されるように、現在のピクチャ(1802)は現在のブロック(1808)を含むことができる。現在のピクチャは、参照ピクチャリストL0(1804)および参照ピクチャリストL1(1806)を含むことができる。現在のブロック(1808)は、初期動きベクトルMV0による参照ピクチャリストL0(1804)内の初期参照ブロック(1812)と、初期動きベクトルMV1による参照ピクチャリストL1(1806)内の初期参照ブロック(1814)とを含むことができる。探索処理は、参照ピクチャリストL0(1804)内の初期MV0および参照ピクチャリストL1(1806)内の初期MV1の周辺で行われることができる。例えば、参照ピクチャリストL0(1804)において第1の候補参照ブロック(1810)が識別されることができ、参照ピクチャリストL1(1806)において第1の候補参照ブロック(1816)が識別されることができる。初期MV(例えば、MV0およびMV1)の周囲の各MV候補(例えば、MV0’およびMV1’)に基づく候補参照ブロック(例えば、(1810)および(1816))間のSADが計算されることができる。SADが最も低いMV候補は、精密化されたMVになり、現在のブロックを予測するための双予測信号を生成するために使用されることができる(1808)。
【0154】
DMVRの適用は制限されることができ、以下のようにVVCなどの、モードおよび機能に基づいてコーディングされたCUにのみ適用されることができる:
(1)双予測MVを用いたCUレベルーマージモード、
(2)現在のピクチャに対して、1つの参照ピクチャが過去にあり、他の参照ピクチャが未来にある、
(3)2つの参照ピクチャから現在のピクチャまでの距離(例えば、POC差分)が同じである、
(4)両方の参照ピクチャがショートターム参照ピクチャである、
(5)CUが64を超えるルーマサンプルを有する、
(6)CU高さおよびCU幅の両方が8ルーマサンプル以上である、
(7)BCW重み指数が等しい重みを示す、
(8)WPが現在のブロックに対して有効にされていない、および
(9)現在のブロックにはCIIPモードは使用されない。
【0155】
DMVRプロセスによって導出された精密化されたMVは、インター予測サンプルを生成するために使用されることができ、将来のピクチャコーディングのための時間的動きベクトル予測において使用されることができる。一方、元のMVは、デブロッキング処理で使用されることができ、将来のCUコーディングのための空間動きベクトル予測で使用されることができる。
【0156】
DVMRでは、探索点は初期MVを取り囲むことができ、MVオフセットはMV差分ミラーリング規則に従うことができる。言い換えれば、候補MV対(MV0,MV1)によって示される、DMVRによってチェックされる任意の点は、式(30)および(31)に示されるMV差分ミラーリング規則に従うことができる:
MV0’=MV0+MV_offset 式(30)
MV1’=MV1-MV_offset 式(31)
ここで、MV_offsetは、参照ピクチャのうちの1つにおける初期MVと精密化されたMVとの間の精密化オフセットを表すことができる。精密化探索範囲は、初期MVからの2つの整数ルーマサンプルとすることができる。探索は、整数サンプルオフセット探索段階および分数サンプル精密化段階を含むことができる。
【0157】
例えば、25個の点のフル探索が、整数サンプルオフセット探索に適用されることができる。初期MV対のSADが最初に計算されることができる。初期のMV対のSADが閾値よりも小さい場合、DMVRの整数サンプルステージは終了されることができる。そうでなければ、残りの24個の点のSADが計算され、ラスタ走査順などの走査順でチェックされることができる。最小のSADを有する点は、整数サンプルオフセット探索段階の出力として選択されることができる。DMVR精密化の不確実性の不利益を低減するために、DMVRプロセス中の元のMVは、選択される優先順位を有することができる。初期MV候補によって参照される参照ブロック間のSADは、SAD値の1/4だけ低減されることができる。
【0158】
整数サンプル探索の後に、分数サンプルの精密化が続くことができる。計算の複雑さを軽減するために、SAD比較による追加の探索の代わりに、パラメトリック誤差表面方程式を使用することによって、分数サンプルの精密化が導出されることができる。分数サンプル精密化は、整数サンプル探索段階の出力に基づいて条件付きで呼び出されることができる。整数サンプル探索段階が、第1の反復探索または第2の反復探索のいずれかにおいて、最小のSADを有する中心で終了する場合、分数サンプル精密化がさらに適用されることができる。
【0159】
パラメトリック誤差表面ベースのサブ画素オフセット推定では、中心位置コストおよび中心からの4つの近傍位置におけるコストが使用され、式(32)に基づいて2D放物面誤差面方程式を適合させることができる:
E(x,y)=A(x-xmin2+B(y-ymin2+C 式(32)
ここで、(xmin,ymin)は最小コストの分数位置に対応することができ、Cは最小コスト値に対応することができる。5つの探索点のコスト値を用いて式(32)を解くことにより、式(33)および式(34)で(xmin,ymin)を計算することができる:
【数22】
xminおよびyminの値は、すべてのコスト値が正であり、最小値がE(0,0)であるため、-8から8の間になるように自動的に制約されることができる。xminおよびyminの値の制約は、VVCにおける1/16のpel MV正確性でオフセットされた半分のpel(または画素)に対応することができる。サブ画素の正確な精密化デルタMVを得るために、計算された分数(xmin,ymin)が、整数距離である精密化MVに加算されることができる。
【0160】
VVCなどでは、二次補間およびサンプルパディングを適用されることができる。MVの分解能は、例えば、1/16のルーマサンプルとすることができる。分数位置のサンプルは、8タップ補間フィルタを使用して補間されることができる。DMVRでは、探索点は整数サンプルオフセットで初期分数pel MVを囲むことができるため、DMVR探索プロセスのために分数位置のサンプルは補間される必要がある。計算の複雑さを低減するために、双線形補間フィルタが使用されて、DMVRにおける探索プロセスのための分数サンプルを生成することができる。他の重要な効果では、2サンプル探索範囲を有する双線形フィルタを使用することにより、DVMRは、通常の動き補償プロセスと比較してより多くの参照サンプルにアクセスしない。DMVR探索プロセスを用いて精密化されたMVが達成された後、最終予測を生成するために、通常の8タップ補間フィルタが適用されることができる。通常のMCプロセスと比較してより多くの参照サンプルにアクセスしないために、元のMVに基づく補間プロセスには必要でないかもしれないが、精密化されたMVに基づく補間プロセスには必要であるかもしれないサンプルは、利用可能なサンプルからパディングされることができる。
【0161】
CUの幅および/または高さが16ルーマサンプルより大きい場合、CUは、16ルーマサンプルに等しい幅および/または高さを有するサブブロックにさらに分割されることができる。DMVR探索処理の最大ユニットサイズは16×16に制限されることができる。
【0162】
BDOFおよびDMVRなどの関連するバイラテラルマッチング処理では、並進運動モデルのみが適用され、並進運動モデルは複雑な動き情報をキャプチャしない可能性がある。
【0163】
本開示では、シグナリングの代わりにアフィン動きパラメータを導出/精密化するためにバイラテラルマッチングが提供されることができる。アフィンパラメータは、並進運動、回転、ズーム、および/または他の動きを含むことができる。バイラテラルマッチングは、SAD、SSEなどのような最小のマッチング誤差に関して、参照フレーム(例えば、第1の参照フレームおよび第2の参照フレーム)内の2つのブロック(例えば、第1の参照ブロックおよび第2の参照ブロック)間の最良の(または選択された)マッチングを見つけるために行われることができる。参照フレーム内の2つのブロックは、アフィン動きモデルによって制約されることができる。
【0164】
いくつかの実施形態では、アフィン動きモデルは、4パラメータアフィン動きモデルまたは6パラメータアフィン動きモデルとすることができる。いくつかの実施形態では、参照フレーム内の2つのブロックに適用される制約は、アフィン動きモデルのパラメータに関連付けられることができる。パラメータは、ズーム係数、回転角度、並進部分などを含むことができる。
【0165】
アフィン動き0(またはaffMv0)およびアフィン動き1(またはaffMv1)を現在のブロックからそれぞれ第1の参照ブロックおよび第2の参照ブロックへのアフィン動きとすると、2つのブロック(または参照ブロック)は、本開示の制約下でaffMv0およびaffMv1によって配置される(または決定される)ことができる。一実施形態では、affMV0またはaffMV1は、式(1)に示される4パラメータアフィン動きモデルによって記述されることができる。他の実施形態では、affMV0またはaffMV1は、式(3)に示される6パラメータアフィン動きモデルによって記述されることができる。他の実施形態では、affMv0およびaffMv1は、マージインデックスまたは予測子インデックスによって示されるように、2つの参照ブロックの初期動きに対するデルタアフィン動きを表すことができる。一例では、時間距離0(またはdPoc0)および時間距離1(またはdPoc1)は、現在のフレームと2つの参照フレームのそれぞれとの間の時間距離である。
【0166】
Poc_Curが現在のフレームのピクチャ順序カウント(POC)を表し、RefPoc_L0がリストL0上の参照フレーム(または第1の参照フレーム)のPOCを表し、RefPoc_L1がリストL1上の参照フレーム(または第2の参照フレーム)のPOCを表す場合、dPoc0およびdPoc1は、以下の式(35)および式(36)で記述されることができる:
dPoc0=Poc_Cur-RefPoc_L0 式(35)
dPoc1=Poc_Cur-RefPoc_L1 式(36)
dPoc0およびdPoc1は、異なる符号(例えば、正符号と負符号)を有することができる。異なる符号は、2つの参照フレームが現在のフレームの時間的に異なる側にあることを示すことができる。
【0167】
本開示では、時間的距離ベースの制約がアフィン動きに適用されることができる(例えば、affMV0およびaffMV1)。一実施形態では、affMv0およびaffMv1の並進部分は、dPoc0/dPoc1に関連付けられることができる。例えば、affMv0およびaffMv1の並進部分は、dPoc0/dPoc1に比例することができる。並進部分は、式(13)に示される第1の方向(例えば、X方向)のcおよび第2の方向(例えば、Y方向)のfによって提示されることができる。
【0168】
一実施形態では、affMv0およびaffMv1のズーム係数部分は、dPoc0/dPoc1に関連付けられることができる。affMv0およびaffMv1のズーム係数部分は、指数関数的に比例するなど、dPoc0/dPoc1に比例することができる。ズーム係数は、式(13)に示されるrとすることができる。例えば、第1の参照ブロックについてaffMv0のズーム係数がr0である場合、affMv1のズーム係数r1は、式(37)で示されることができる:
【数23】
【0169】
一実施形態では、α0およびα1は、それぞれ1に対するaffMv0およびaffMv1のデルタズーム部分とすることができる。α0=r0-1、α1=r1-1である。式(38)のdPoc0/dPoc1に線形に比例するなど、α0およびα1がdPoc0/dPoc1に比例することができるように、α0およびα1には制約が適用されることができる:
【数24】
【0170】
一実施形態では、(式(13)などにおける)affMv0およびaffMv1の回転角度θ0およびθ1は、dPoc0/dPoc1に比例するなど、dPoc0/dPoc1に関連付けられることができる。例えば、式(39)に示されるように、affMv0およびaffMv1の回転角度θ0およびθ1は、dPoc0/dPoc1に線形に比例することができる。
【数25】
【0171】
一実施形態では、アフィン双予測(例えば、BCWまたはピクチャレベル重み付け双予測)の2つの参照リスト(例えば、参照リストL0および参照リストL1)に異なる重み係数が適用される場合、追加の重み係数が時間距離ベースの制約に適用されることができる。一例では、双予測重みから導出される重み係数をwとすると、上記の式(37)~(39)で使用される線形比dPoc1/dPoc0は、以下によって置き換えられることができる:
【数26】
【0172】
本開示では、現在のフレーム内の現在のブロックを予測するために、バイラテラルマッチング処理が適用されることができる。
【0173】
一実施形態では、バイラテラルマッチング処理は、特定の探索範囲内で最小のマッチング誤差を探索することによって行われることができる。一例では、探索はDMVRと同様に行われることができる。DMVRと異なり、探索範囲は、並進部分だけでなく、回転係数およびズーム係数も含むことができる。探索範囲は、ビットストリームでシグナリングされてもよく、または事前定義されてもよい。さらに、現在のフレームと参照フレームとの間の時間的距離、フレームタイプ、および/または時間レベルなどに基づいて、異なる場合に異なる探索範囲が使用されることができる。
【0174】
バイラテラルマッチング処理によれば、複数の候補参照ブロック対は、探索範囲に基づいて、式(37)~(39)のうちの少なくとも1つで提供されるアフィン動きモデルの1つ以上の制約に従って決定されることができる。複数の候補参照ブロック対の各候補参照ブロック対は、第1の参照フレーム内のそれぞれの候補参照ブロックと、第2の参照フレーム内のそれぞれの候補参照ブロックとを含むことができる。複数の候補参照ブロック対の各候補参照ブロック対に対してそれぞれのコスト値が決定されることができる。コスト値は、第1の参照フレーム内の候補参照ブロックと第2の参照フレーム内の候補参照ブロックとの間の差分を示すことができる。コスト値は、平均二乗誤差(MSE)、平均絶対差(MAD)、SAD、変換後の絶対差の総和(SATD)などのうちの1つに基づいて決定されることができる。最小コスト値に関連付けられた複数の候補参照ブロック対内の参照ブロック対が選択されて、現在のブロックを予測することができる。例えば、選択された参照ブロック対に関連付けられたCPMVに基づいて、アフィン動きモデルが決定されることができる。現在のブロックのブロックレベル、サブブロックレベル、または画素レベルの予測は、決定されたアフィン動きモデルに基づいてさらに行われることができる。
【0175】
一実施形態では、バイラテラルマッチング処理は、現在のブロックの2つの参照ブロックの歪みモデルを最小化することによって動作されることができる。歪みモデルは、式(7)のBDOFまたは図15図16で提供されるVTMソフトウェアのアフィンMEのものと同様とすることができる一次テイラー展開に基づくことができる。
【0176】
バイラテラルマッチング処理の第1の反復における2つの参照ブロック間の歪みモデル(または歪み値)は、以下の式(40)~(42)で提供されることができる:
D1(i,j)=P1,L0(i,j)-P1,L1(i,j) 式(40)
P1,L0(i,j)=P0,L0(i,j)+gx0,L0(i,j)*Δvx0,L0(i,j)+gy0,L0(i,j)*Δvy0,L0(i,j) 式(41)
P1,L1(i,j)=P0,L1(i,j)+gx0,L1(i,j)*Δvx0,L1(i,j)+gy0,L1(i,j)*Δvy0,L1(i,j) 式(42)
式(40)に示されるように、P1,L0(i、j)は、参照リストL0内の第1の参照ブロックに基づく現在のブロックの第1の予測子とすることができる。P1,L1(i,j)は、参照リストL1内の第1の参照ブロックに基づく現在のブロックの第1の予測子とすることができる。(i,j)は、画素(またはサンプル)の位置とすることができる。D1(i,j)は、P1,L0(i,j)とP1,L1(i,j)との画素差を示す。参照リストL0内の第1の参照ブロックは、現在のブロックから参照リストL0内の第1の参照ブロックへのアフィン動き0(例えば、affMV0)によって決定されることができる。参照リストL1内の第1の参照ブロックは、現在のブロックから参照リストL1内の第1の参照ブロックへのアフィン動き1(例えば、affMV1)によって決定されることができる。アフィン動き0およびアフィン動き1は、式(37)~(39)のうちの少なくとも1つによって制約されることができる。
【0177】
P1,L0(i,j)およびP1,L1(i,j)は、図16に示されるアフィンME探索処理に従って決定されることができる。式(41)に示されるように、P0,L0(i,j)は、参照リストL0内の初期参照ブロック(またはベースCPMV)に基づく現在のブロックの初期予測子とすることができる。gx0,L0(i,j)は、初期予測子P0,L0(i,j)のx方向の勾配とすることができる。gy0,L0(i,j)は、初期予測子P0,L0(i,j)のy方向の勾配とすることができる。Δvx0,L0(i,j)は、参照リストL0内の初期参照ブロックおよび第1の参照ブロックなどの2つの参照ブロック(またはサブブロック)の、x方向に沿った差分または変位とすることができる。Δvy0,L0(i,j)は、参照リストL0内の初期参照ブロックおよび第1の参照ブロックなどの2つの参照ブロック(またはサブブロック)の、y方向に沿った差分または変位とすることができる。
【0178】
同様に、式(42)に示されるように、P0,L1(i,j)は、参照リストL1内の初期参照ブロック(またはベースCPMV)に基づく現在のブロックの初期予測子とすることができる。gx0,L1(i,j)は、初期予測子P0,L1(i,j)のx方向の勾配とすることができる。gy0,L1(i,j)は、初期予測子P0,L1(i,j)のy方向の勾配とすることができる。Δvx0,L1(i,j)は、参照リストL1内の初期参照ブロックおよび第1の参照ブロックなどの2つの参照ブロック(またはサブブロック)の、x方向に沿った差分または変位とすることができる。Δvy0,L1(i,j)は、参照リストL1内の初期参照ブロックおよび第1の参照ブロックなどの2つの参照ブロック(またはサブブロック)の、y方向に沿った差分または変位とすることができる。
【0179】
Δvx0,L0(i,j)、Δvy0,L0(i,j)、Δvx0,L1(i,j)、およびΔvy0,L1(i,j)のうちの少なくとも1つが0でないことに応答して、バイラテラルマッチングは、第2の反復に進むことができる。第2の反復では、参照リストL0内の第2の参照ブロックに基づく現在のブロックの第2の予測子P2,L0(i,j)、および参照リストL1内の第2の参照ブロックに基づく現在のブロックの第2の予測子P2,L1(i,j)は、以下の式(43)~式(44)に従って決定されることができる:
P2,L0(i,j)=P1,L0(i,j)+gx1,L0(i,j)*Δvx1,L0(i,j)+gy1,L0(i,j)*Δvy1,L0(i,j) 式(43)
P2,L1(i,j)=P1,L1(i,j)+gx1,L1(i,j)*Δvx1,L1(i,j)+gy1,L1(i,j)*Δvy1,L1(i,j) 式(44)
式(43)に示されるように、gx1,L0(i,j)は、第1の予測子P1,L0(i,j)のx方向の勾配とすることができる。gy1,L0(i,j)は、第1の予測子P1,L0(i,j)のy方向の勾配とすることができる。Δvx1,L0(i,j)は、参照リストL0内の第1の参照ブロックと第2の参照ブロックとの、x方向に沿った差分または変位とすることができる。Δvy1,L0(i,j)は、第1参照ブロックと第2参照ブロックとの、y方向に沿った差分または変位とすることができる。式(44)に示されるように、gx1,L1(i,j)は、第1の予測子P1,L1(i,j)のx方向の勾配とすることができる。gy1,L1(i,j)は、第1の予測子P1,L1(i,j)のy方向の勾配とすることができる。Δvx1,L1(i,j)は、参照リストL1内の第1の参照ブロックと第2の参照ブロックとの、x方向に沿った差分または変位とすることができる。Δvy1,L1(i,j)は、参照リストL1内の第1の参照ブロックと第2の参照ブロックとの、y方向に沿った差分または変位とすることができる。
【0180】
参照リストL0内の第2の参照ブロックは、現在のブロックから参照リストL0内の第2の参照ブロックへのアフィン動き0’(例えば、affMV0’)によって示されることができる。参照リストL1内の第2の参照ブロックは、現在のブロックから参照リストL1内の第2の参照ブロックへのアフィン動き1’(例えば、affMV1’)によって示されることができる。アフィン動き0’およびアフィン動き1’は、式(37)~式(39)のうちの少なくとも1つによって制約されることができる。
【0181】
さらに、P2,L0(i,j)とP2,L1(i,j)との画素差(またはコスト値)は、以下の式(45)に従って計算されることができる:
D2(i,j)=P2,L0(i,j)-P2,L1(i,j) 式(45)
【0182】
バイラテラルマッチング処理の反復は、反復回数Nが閾値以上であるか、または、参照リストL0内の第Nの参照ブロックと参照リストL0内の第(N+1)の参照ブロックとの変位ΔvN+1,L0(i,j)が0であるか、または、参照リストL1内の第Nの参照ブロックと参照リストL1内の第(N+1)の参照ブロックとの変位ΔvN+1,L1(i,j)が0である場合に終了されることができる。したがって、N個の参照ブロック対は、バイラテラルマッチング処理に基づいて生成されることができる。N個の参照ブロック対の各々は、参照リストL0内のそれぞれの参照ブロックと、参照リストL1内のそれぞれの参照ブロックとを含むことができる。N個の参照ブロック対の各々はまた、参照リストL0内の対応する参照ブロックと参照リストL1内の対応する参照ブロックとの間の差分を示すそれぞれの歪み値を含むことができる。
【0183】
N個の参照ブロック対の歪み値(またはコスト値)によれば、現在のブロックは、最小歪み値を有する最良の(または選択された)参照ブロック対に基づいて予測されることができる。例えば、選択された参照ブロック対に関連付けられたCPMVに基づいて、アフィン動きモデルが決定されることができる。現在のブロックのブロックレベル、サブブロックレベル、または画素レベルの予測は、決定されたアフィン動きモデルに基づいてさらに行われることができる。
【0184】
N個の参照ブロック対の各々は、第1の参照リストL0内のそれぞれの参照ブロックと、第2の参照リストL1内のそれぞれの参照ブロックとを含むことができることに留意されたい。第1の参照リストL0および第2の参照リストL1内の各参照ブロックは、規則的な形状または不規則な形状を有することができる。規則的な形状は、全ての辺が等しく、全ての内角が等しい形状とすることができる。例えば、参照ブロックは、正方形の形状を有することができる。不規則な形状は、等しい辺や等しい角度を有していなくてもよい。
【0185】
バイラテラルマッチング処理の反復回数は、ビットストリームでシグナリングされる、または1つ以上の条件に基づいて事前定義されることができる。バイラテラルマッチング処理中に1つ以上の追加の制約が適用されることができる。例えば、デルタアフィン動きは、2画素以内などの特定の範囲内にあることがさらに必要とされることができる。一実施形態では、そのような範囲は、ビットストリームでシグナリング、または事前定義されうる。デルタアフィン動きは、バイラテラルマッチング処理中の現在の動きベクトルと前の動きベクトルとの間の差分とすることができる。デルタアフィン動きは、サブブロックレベル、制御点レベル、または画素レベルとすることができる。
【0186】
本開示では、バイラテラルマッチング処理の開始点(例えば、P0,L0(i,j)およびP0,L1(i,j))は、マージインデックス、AMVP予測子インデックス、またはアフィンマージインデックスによって示されるアフィン動きなどの予測子によって示されることができる。
【0187】
いくつかの実施形態では、バイラテラルマッチングの後、導出されたアフィン動きは、現在のブロックの動きとして直接使用されることができる。あるいは、アフィン動きは、現在のブロックの動き予測子として使用されうる。
【0188】
本開示では、バイラテラルマッチング処理は、マージ、アフィン/サブブロックマージ、MMVD、またはGPMなどの既存のコーディングモードと組み合わせられることができる。
【0189】
一実施形態では、バイラテラルマッチング処理が使用されるかどうかを示すために、追加のフラグがビットストリームでシグナリングされることができる。
【0190】
一実施形態では、バイラテラルマッチング処理は、ブロック(または現在のブロック)が双方向予測されるときはいつでも常にオンにすることができる。
【0191】
一実施形態では、バイラテラルマッチング処理は、ブロック(または現在のブロック)が双方向予測され、アフィンモードでコーディングされるときはいつでも常にオンである。
【0192】
一実施形態では、バイラテラルマッチング処理は、候補リストに追加され、インデックスによって識別されることができる。アフィン候補リストなどの候補リストにバイラテラルマッチング処理が追加されると、N個の参照ブロック対および開始点に関連付けられたCPMVは、アフィン候補リストの候補として機能することができる。候補は、SbTmvpの後、継承されたアフィン候補の後、構築されたアフィン候補の後、または例えば履歴ベースの候補の後に挿入されることができる。
【0193】
いくつかの実施形態では、バイラテラルマッチング処理は、BDOFなどの他のバイラテラルプロセスの代替または一般的な形態として使用されることができる。
【0194】
本開示では、アフィンバイラテラルマッチング処理において、3パラメータアフィンモデルまたは4パラメータアフィンモデルが適用されることができる。一例では、アフィンバイラテラルマッチング処理において3パラメータスケーリング(またはズーム)モデルが適用されることができる。参照リストL0に関連付けられた3パラメータスケーリングモデルは、式(46)で簡略化されることができ、ここで、(1+α)は、スケーリング係数とすることができ、パラメータ(c,f)は、並進運動を表すことができる。
【数27】
参照リストL1に関連付けられた3パラメータスケーリングモデルの対称形式は、以下のように式(47)で記述されることができる;
【数28】
【0195】
一例では、4パラメータアフィンモデルは、回転変換および並進運動(例えば、スケーリング係数r=1)を含むことができる。したがって、参照リストL0に関連付けられた4パラメータアフィンモデルは、式(48)で簡略化されることができる。
【数29】
ここで、θは回転角を表すことができ、並進運動は(c,f)で表されることができる。参照リストL1に関連付けられた4パラメータ回転モデルの対称形式は、式(49)で示されることができ、反対の符号(例えば、負符号)が、θ、c、およびfに適用されることができる。
【数30】
【0196】
アフィンバイラテラルマッチングは、式(46)~式(49)で提供される上記のアフィンモデルに基づいて達成されることができる。
【0197】
例えば、アフィンバイラテラルマッチングの現在の反復は、式(50)および式(51)に示されることができる。式(50)および式(51)に示されるように、p0およびp1は、それぞれ参照リストL0および参照リストL1上の予測を表すことができる。p0およびp1は、ベースのCPMVから、または前の反復から取得されることができる。p’0およびp’1は、現在のブロックの各サンプルに適用されたΔMV0およびΔMV1を用いた現在の反復後の精密な予測とすることができる。ΔMV0は、参照リストL0に関連付けられ、x方向の成分ΔMVx0とy方向の成分ΔMVy0とを含むことができる。ΔMV0は、現在の反復と前の反復との間のアフィン動きベクトル差分を表すことができる。gxおよびgyは、予測の水平および垂直勾配(例えば、p0またはp1)とすることができる。
p’0=p0+gx0・ΔMVx0+gy0・ΔMVy0 式(50)
p’1=p1+gx1・ΔMVx1+gy1・ΔMVy1 式(51)
アフィンバイラテラルマッチング処理が行われることができる。各反復後の2つの精密化予測の平均二乗誤差(MSE)Σ(p’0-p’12などの、精密化予測p’0とp’1との間の歪みを最小にすることができる。式(46)~式(49)に示される対称モデル線形関数に基づいて、アフィンバイラテラルマッチングは、図16のアフィンMEに示される同じ最適化プロセスになることができる。
【0198】
図16に示されるように、アフィンバイラテラルマッチング処理は、アフィン候補の初期CPMV(またはベースCPMV)から開始することができる。初期CPMVは、更新されたCPMV値を生成するために第1の反復で精密化されることができる。各反復では、アフィン予測が、更新されたCPMV値に基づいて生成されることができる。VTMソフトウェアで提供されるアフィン動き推定法と同様に、勾配ベースのアフィン方程式解決法が各反復で適用されることができる。対応するアフィンモデルは、アフィンパラメータ導出に使用されることができる。各反復で生成された新しいデルタアフィンパラメータ(例えば、デルタCPMV)が、式(46)~式(49)の対称モデルなどの対称モデルに基づいて各参照リストに適用されて、両方の参照リストの更新されたCPMVを生成することができる。更新されたCPMVは、参照リスト内の更新された参照ブロックに対応することができる(例えば、参照リストL0またはL1)。
【0199】
いくつかの実施形態では、デルタCPMV(例えば、ΔMV0またはΔMV1)が0になるか、または反復が所定の反復回数に達すると、反復は終了することができる。いくつかの実施形態では、式(37~39)で述べた制約は、式(46)~式(49)の対称モデルに適用されることができる。
【0200】
図19は、本開示のいくつかの実施形態による例示的なデコーディングプロセス(1900)を概説するフローチャートを示している。図20は、本開示のいくつかの実施形態による例示的なエンコーディングプロセス(2000)を概説するフローチャートを示している。提案されるプロセスは、別々に使用されても、任意の順序で組み合わせられてもよい。さらに、プロセス(または、実施形態)の各々、エンコーダ、およびデコーダは、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装されてよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0201】
プロセス(例えば、(1900)および(2000))の動作を、必要に応じて、任意の量または順序で組み合わせ、または配置されることができる。実施形態において、プロセス(例えば、(1900)および(2000))の動作のうちの2つ以上が並行して行われてもよい。
【0202】
プロセス(例えば、(1900)および(2000))は、ブロックの再構成および/またはエンコーディングにおいて、再構成中のブロックのための予測ブロックを生成するために使用されることができる。様々な実施形態において、プロセス(例えば、(1900)および(2000))は、端末デバイス(310)、(320)、(330)、および(340)の処理回路、ビデオエンコーダ(403)の機能を行う処理回路、ビデオデコーダ(410)の機能を行う処理回路、ビデオデコーダ(510)の機能を行う処理回路、ビデオエンコーダ(603)の機能を行う処理回路、などの処理回路によって実行される。いくつかの実施形態において、プロセス(例えば、(1900)および(2000))はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(例えば、(1900)および(2000))を行う。
【0203】
図19に示されているように、プロセス(1900)は、(S1901)から始まり、(S1910)に進むことができる。(S1910)では、現在のピクチャ内の現在のブロックの予測情報が、コーディングされたビデオビットストリームからデコーディングされることができ、予測情報は、現在のブロックがアフィンモデルに基づいて予測されるべきであることを示すことができる。
【0204】
(S1920)では、アフィンモデルの複数のアフィン動きパラメータは、現在のピクチャの第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックに基づいて、アフィンモデルが導出されるアフィンバイラテラルマッチングによって導出されることができる。複数のアフィン動きパラメータは、コーディングされたビデオビットストリームに含まれなくてもよい。
【0205】
(S1930)では、アフィンモデルの制御点動きベクトルは、導出された複数のアフィン動きパラメータに基づいて決定されることができる。
【0206】
(S1940)では、現在のブロックは、導出されたアフィンモデルに基づいて再構成されることができる。
【0207】
アフィンモデルの複数のアフィン動きパラメータは、第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックの複数の候補参照ブロック対からの参照ブロック対に基づいて導出されることができる。参照ブロック対は、アフィンモデルおよびコスト値の制約に基づいて、第1の参照ピクチャ内の第1の参照ブロックと、第2の参照ピクチャ内の第2の参照ブロックとを含むことができる。制約は、(i)現在のピクチャと第1の参照ピクチャとの間の第1の時間的距離、および(ii)現在のピクチャと第2の参照ピクチャとの間の第2の時間的距離に基づく時間的距離比に関連付けられることができる。コスト値は、第1の参照ブロックと第2の参照ブロックとの間の差分に基づくことができる。
【0208】
いくつかの実施形態では、時間的距離比は、重み係数と、(i)現在のピクチャと第1の参照ピクチャとの間の第1の時間的距離と、(ii)現在のピクチャと第2の参照ピクチャとの間の第2の時間的距離との比との積に等しいことができ、重み係数は正の整数であることができる。
【0209】
いくつかの実施形態では、アフィンモデルの制約は、現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1の並進係数が時間的距離比に比例することを示すことができる。アフィンモデルの制約は、現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2の並進係数が時間的距離比に比例することを示すことができる。
【0210】
いくつかの実施形態では、アフィンモデルの制約は、現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2のズーム係数が、時間距離比の累乗に対する、現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1のズーム係数に等しいことをさらに示すことができる。
【0211】
いくつかの実施形態では、アフィンモデルの制約は、(i)現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1のデルタズーム係数と、(ii)現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2のデルタズーム係数との比が、時間的距離比に等しいことを示すことができる。第1のデルタズーム係数は、第1のズーム係数-1に等しいことができ、第2のデルタズーム係数は、第2のズーム係数-1に等しいことができる。
【0212】
いくつかの実施形態では、アフィンモデルの制約は、(i)現在のブロックから第1の参照ブロックまでの第1のアフィン動きベクトルの第1の回転角と、(ii)現在のブロックから第2の参照ブロックまでの第2のアフィン動きベクトルの第2の回転角との比が、時間的距離比に等しいことをさらに示すことができる。
【0213】
参照ブロック対を決定するために、アフィンモデルの制約に従って複数の候補参照ブロック対が決定されることができる。複数の候補参照ブロック対の各候補参照ブロック対は、第1の参照ピクチャ内のそれぞれの候補参照ブロックと、第2の参照ピクチャ内のそれぞれの候補参照ブロックとを含むことができる。複数の候補参照ブロック対の各候補参照ブロック対に対してそれぞれのコスト値が決定されることができる。最小コスト値に関連付けられた参照ブロック対は、複数の候補参照ブロック対のうちの候補参照ブロック対として決定されることができる。
【0214】
いくつかの実施形態では、複数の候補参照ブロック対は、第1の候補参照ブロック対を含むことができ、第1の候補参照ブロック対は、第1の参照ピクチャ内の第1の候補参照ブロックと、第2の参照ピクチャ内の第1の候補参照ブロックとを含むことができる。参照ブロック対を決定するために、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子は、第1の参照ピクチャ内の初期参照ブロックに基づいて決定されることができる。現在のブロックの第2の参照ピクチャに関連付けられた初期予測子は、第2の参照ピクチャ内の初期参照ブロックに基づいて決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子は、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子に基づいて決定されることができ、現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子は、第1の参照ピクチャ内の第1の候補参照ブロックに関連付けられることができる。現在のブロックの第2の参照ピクチャに関連付けられた第1の予測子は、現在のブロックの第2の参照ピクチャに関連付けられた初期予測子に基づいて決定されることができ、現在のブロックの第2の参照ピクチャに関連付けられた第1の予測子は、第2の参照ピクチャ内の第1の候補参照ブロックに関連付けられることができる。第1のコスト値は、現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子と、現在のブロックの第2の参照ピクチャに関連付けられた第1の予測子との間の差分に基づいて決定されることができる。
【0215】
プロセス(1900)では、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子は、マージインデックス、高度動きベクトル予測(AMVP)予測子インデックス、およびアフィンマージインデックスのうちの1つによって示されることができる。
【0216】
現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子を決定するために、現在のブロックの第1の参照ピクチャに関連付けられた初期予測子の勾配値の、第1の方向における第1の成分が決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた初期予測子の勾配値の、第2の方向における第2の成分が決定されることができる。第2の方向は、第1の方向に対して垂直であることができる。第1の参照ピクチャ内の初期参照ブロックと第1の参照ピクチャ内の第1の候補参照ブロックとの間の変位の、第1の方向における第1の成分が決定されることができる。第1の参照ピクチャ内の初期参照ブロックと第1の参照ピクチャ内の第1の候補参照ブロックとの間の変位の、第2の方向における第2の成分が決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた第1の予測子は、(i)現在のブロックの第1の参照ピクチャに関連付けられた初期予測子、(ii)初期予測子の勾配値の第1の成分と変位の第1の成分との積、および(iii)初期予測子の勾配値の第2の成分と変位の第2の成分との積、の総和に等しいと決定されることができる。
【0217】
複数の候補参照ブロック対は、第Nの候補参照ブロック対を含むことができ、第Nの候補参照ブロック対は、第1の参照ピクチャ内の第Nの候補参照ブロックと、第2の参照ピクチャ内の第Nの候補参照ブロックとを含むことができる。参照ブロック対を決定するために、現在のブロックの第1の参照ピクチャ内の第Nの候補参照ブロックに関連付けられた第Nの予測子は、現在のブロックの第1の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて決定されることができる。現在のブロックの第2の参照ピクチャ内の第Nの候補参照ブロックに関連付けられた第Nの予測子は、現在のブロックの第2の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて決定されることができる。第Nのコスト値は、現在のブロックの第1の参照ピクチャに関連付けられた第Nの予測子と、現在のブロックの第2の参照ピクチャに関連付けられた第Nの予測子との間の差分に基づいて決定されることができる。
【0218】
現在のブロックの第1の参照ピクチャに関連付けられた第Nの予測子を決定するために、現在のブロックの第1の参照ピクチャに関連付けられた第(N-1)の予測子の勾配値の、第1の方向における第1の成分が決定されることができる。現在のブロックの第1の参照ピクチャに関連付けられた第(N-1)の予測子の勾配値の、第2の方向における第2の成分が決定されることができる。第2の方向は、第1の方向に対して垂直であることができる。変位の第1の成分が決定されることができる。変位の第1の成分は、第1の参照ピクチャ内の第Nの候補参照ブロックと第1の参照ピクチャ内の第(N-1)の候補参照ブロックとの間の、第1の方向における差分とすることができる。変位の第2の成分が決定されることができる。変位の第2の成分は、第1の参照ピクチャ内の第Nの候補参照ブロックと第1の参照ピクチャ内の第(N-1)の候補参照ブロックとの間の、第2の方向における差分とすることができる。第Nの予測子は、現在のブロックの第1の参照ピクチャに基づいて、(i)現在のブロックの第1の参照ピクチャに関連付けられた第(N-1)の予測子、(ii)第(N-1)の予測子の勾配値の第1の成分と変位の第1の成分との積、および(iii)第(N-1)の予測子の勾配値の第2の成分と変位の第2の成分との積、の総和に等しいと決定されることができる。
【0219】
いくつかの実施形態では、複数の候補参照ブロック対は、(i)Nが上限値に等しいこと、および(ii)第1の参照ピクチャ内の第Nの候補参照ブロックと、第1の参照ピクチャ内の第(N+1)の候補参照ブロックとの間の変位が0であること、のうちの1つに基づいたN個の候補参照ブロック対を含むことができる。
【0220】
いくつかの実施形態では、現在のブロック内の各サブブロックのデルタ動きベクトルは、閾値以下であることができる。
【0221】
予測情報は、現在のブロックがアフィンモデルを用いたアフィンバイラテラルマッチングに基づいて予測されるかどうかを示すフラグを含むことができる。
【0222】
プロセス(1900)では、現在のブロックに関連付けられたアフィンモデルの候補動きベクトルリストが決定されることができる。候補動きベクトルリストは、参照ブロック対に関連付けられた制御点動きベクトルを含むことができる。
【0223】
(S1940)の後、プロセスは(S1999)に進み、終了する。
【0224】
プロセス(1900)は、適切に適応されることができる。プロセス(1900)のステップ(複数可)は、修正および/または省略されることができる。追加のステップ(複数可)が追加されることができる。任意の適切な実装順序が使用されることができる。
【0225】
図20に示されているように、プロセス(2000)は、(S2001)から始まり、(S2010)に進むことができる。(S2010)において、現在のピクチャ内の現在のブロックのアフィンモデルの制約が決定されることができる。制約は、(i)現在のピクチャと現在のピクチャの第1の参照ピクチャとの間の第1の時間的距離、および(ii)現在のピクチャと現在のピクチャの第2の参照ピクチャとの間の第2の時間的距離に基づく時間的距離比に関連付けられることができる。
【0226】
(S2020)では、アフィンモデルの複数のアフィン動きパラメータは、第1の参照ピクチャおよび第2の参照ピクチャ内の候補参照ブロック対からの参照ブロック対に基づいて決定されることができる。参照ブロック対は、第1の参照ピクチャ内の第1の参照ブロックと、第2の参照ピクチャ内の第2の参照ブロックとを含むことができる。参照ブロック対は、アフィンモデルの制約およびコスト値に基づいて、複数の候補参照ブロック対から決定されることができる。コスト値は、第1の参照ブロックと第2の参照ブロックとの間の差分に関連付けられることができる。
【0227】
(S2030)では、アフィンモデルの制御点動きベクトルは、決定された複数のアフィン動きパラメータに基づいて決定されることができる。
【0228】
(S2040)において、決定されたアフィンモデルに基づいて現在のブロックの予測情報が生成されることができる。
【0229】
次いで、プロセスは(S2099)に進み、終了する。
【0230】
プロセス(2000)は適切に適合されることができる。プロセス(2000)におけるステップは、修正および/または省略されることができる。追加のステップ(複数可)が追加されることができる。任意の適切な実装順序が使用されることができる。
【0231】
上述された技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つ以上のコンピュータ可読媒体に物理的に記憶されることができる。例えば、図21は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム(2100)を示す。
【0232】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンクなどのメカニズムを受けることができる任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、または解釈、マイクロコード実行などを介して、実行されることができる命令を含むコードを作成することができる。
【0233】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行されることができる。
【0234】
コンピュータシステム(2100)に関して図21に示された構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関するいかなる制限も示唆するものではない。構成要素の構成は、コンピュータシステム(2100)の例示的な実施形態に示された構成要素のいずれか1つまたは組合せに関するいかなる依存性または要件も有すると解釈されるべきでない。
【0235】
コンピュータシステム(2100)は、特定のヒューマンインターフェース入力デバイスを含みうる。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きなどの)触覚入力、(音声、拍手などの)オーディオ入力、(ジェスチャなどの)視覚入力、(図示されていない)嗅覚入力を介して、1人以上の人間のユーザによる入力に応答しうる。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、静止画像カメラから取得された写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体をキャプチャするためにも使用されることができる。
【0236】
入力ヒューマンインターフェースデバイスは、キーボード(2101)、マウス(2102)、トラックパッド(2103)、タッチスクリーン(2110)、データグローブ(図示せず)、ジョイスティック(2105)、マイクロフォン(2106)、スキャナ(2107)、カメラ(2108)のうちの1つ以上を含みうる(各々の1つのみが図示されている)。
【0237】
コンピュータシステム(2100)はまた、特定のヒューマンインターフェース出力デバイスを含みうる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を介して、1人以上の人間のユーザの感覚を刺激しうる。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2110)、データグローブ(図示せず)、またはジョイスティック(2105)による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在することもできる)、(スピーカ(2109)、ヘッドフォン(図示せず)などの)オーディオ出力デバイス、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2110)など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちのいくつかは、ステレオグラフィック出力、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を介して2次元視覚出力または3次元以上の出力を出力することが可能な場合がある)視覚出力デバイス、ならびにプリンタ(図示せず)を含みうる。
【0238】
コンピュータシステム(2100)はまた、CD/DVDまたは同様の媒体(2121)を有するCD/DVD ROM/RW(2120)を含む光学媒体、サムドライブ(2122)、リムーバブルハードドライブまたはソリッドステートドライブ(2123)、テープおよびフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)などの、人間がアクセス可能なストレージデバイスおよびそれらに関連する媒体を含むことができる。
【0239】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0240】
コンピュータシステム(2100)は、1つ以上の通信ネットワーク(2155)へのインターフェース(2154)を含むこともできる。ネットワークは、例えば、無線、有線、光とすることができる。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性、などとすることができる。ネットワークの例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波ブロードキャストTVを含むTVの有線または無線の広域デジタルネットワーク、CANBusを含む車両および産業用などを含む。特定のネットワークは、通常、(例えば、コンピュータシステム(2100)のUSBポートなどの)特定の汎用データポートまたは周辺バス(2149)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、通常、以下に記載されるシステムバスに取り付けることによってコンピュータシステム(2100)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2100)は他のエンティティと通信することができる。そのような通信は、単方向受信のみ(例えば、ブロードキャストTV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルもしくは広域のデジタルネットワークを使用する他のコンピュータシステムとの双方向であることができる。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用されることができる。
【0241】
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム(2100)のコア(2140)に取り付けられることができる。
【0242】
コア(2140)は、1つ以上の中央処理装置(CPU)(2141)、グラフィックス処理装置(GPU)(2142)、フィールドプログラマブルゲートエリア(FPGA)(2143)、特定のタスク用のハードウェアアクセラレータ(2144)、グラフィックスアダプタ(2150)などの形態の特殊なプログラマブル処理装置を含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)(2145)、ランダムアクセスメモリ(2146)、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量ストレージ(2147)とともに、システムバス(2148)を介して接続されうる。いくつかのコンピュータシステムでは、システムバス(2148)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であることができる。周辺デバイスは、コアのシステムバス(2148)に直接、または周辺バス(2149)を介して取り付けられることができる。一例では、スクリーン(2110)は、グラフィックスアダプタ(2150)に接続されることができる。周辺バス用のアーキテクチャは、PCI、USBなどを含む。
【0243】
CPU(2141)、GPU(2142)、FPGA(2143)、およびアクセラレータ(2144)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(2145)またはRAM(2146)に記憶されることができる。移行データもRAM(2146)に記憶されることができるが、永続データは、例えば、内部大容量ストレージ(2147)に記憶されることができる。メモリデバイスのいずれかに対する高速の記憶および取り出しは、1つ以上のCPU(2141)、GPU(2142)、大容量ストレージ(2147)、ROM(2145)、RAM(2146)などと密接に関連付けられることができるキャッシュメモリを使用して可能にされることができる。
【0244】
コンピュータ可読媒体は、様々なコンピュータ実装動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものとすることができ、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることができる。
【0245】
一例として、限定としてではなく、アーキテクチャ、具体的にはコア(2140)を有するコンピュータシステム(2100)は、1つ以上の有形のコンピュータ可読媒体内に具現化されたソフトウェアを(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサ(複数可)が実行する結果として、機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介されたユーザアクセス可能大容量ストレージ、ならびにコア内部大容量ストレージ(2147)またはROM(2145)などの非一時的な性質のコア(2140)の特定のストレージに関連付けられた媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2140)によって実行されることができる。コンピュータ可読媒体は、特定のニーズに応じて、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2140)、および具体的にはその内部の(CPU、GPU、FPGAなどを含む)プロセッサに、RAM(2146)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路(例えば、アクセラレータ(2144))内に配線された、またはさもなければ具現化されたロジックの結果として、機能を提供することができる。必要に応じて、ソフトウェアへの参照はロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0246】
付記A:頭字語
JEM:共同探索モデル(joint exploration model)
VVC:多用途ビデオコーディング(versatile video coding)
BMS:ベンチマークセット(benchmark set)
MV:動きベクトル(Motion Vector)
HEVC:高効率ビデオコーディング(High Efficiency Video Coding)
SEI:補足拡張情報(Supplementary Enhancement Information)
VUI:ビデオユーザビリティ情報(Video Usability Information)
GOP:Group of Pictures
TU:変換ユニット(Transform Unit)
PU:予測ユニット(Prediction Unit)
CTU:コーディングツリーユニット(Coding Tree Unit)
CTB:コーディングツリーブロック(Coding Tree Block)
PB:予測ブロック(Prediction Block)
HRD:仮想参照デコーダ(Hypothetical Reference Decoder)
SNR:信号対雑音比(Signal Noise Ratio)
CPU:中央処理装置(Central Processing Unit)
GPU:グラフィックス処理装置(Graphics Processing Unit)
CRT:陰極線管(Cathode Ray Tube)
LCD:液晶ディスプレイ(Liquid-Crystal Display)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
CD:コンパクトディスク(Compact Disc)
DVD:デジタルビデオディスク(Digital Video Disc)
ROM:読み出し専用メモリ(Read-Only Memory)
RAM:ランダムアクセスメモリ(Random Access Memory)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
PLD:プログラマブル論理デバイス(Programmable Logic Device)
LAN:ローカルエリアネットワーク(Local Area Network)
GSM:グローバル移動体通信システム(Global System for Mobile communications)
LTE:ロングタームエボリューション(Long-Term Evolution)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
PCI:周辺構成要素相互接続(Peripheral Component Interconnect)
FPGA:フィールドプログラマブルゲートエリア(Field Programmable Gate Area)
SSD:ソリッドステートドライブ(solid-state drive)
IC:集積回路(Integrated Circuit)
CU:コーディングユニット(Coding Unit)
【0247】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化する、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0248】
101 サンプル、点、102 矢印、103 矢印、104 ブロック、正方形ブロック、110 概略図、201 ブロック、300 通信システム、310 端末デバイス、320 端末デバイス、330 端末デバイス、340 端末デバイス、350 ネットワーク、350 通信ネットワーク、400 通信システム、401 ビデオソース、402 ストリーム、403 ビデオエンコーダ、404 ビデオデータ、405 ストリーミングサーバ、406 クライアントサブシステム、407 入力コピー、410 ビデオデコーダ、411 出力ストリーム、412 ディスプレイ、413 キャプチャサブシステム、420 電子デバイス、430 電子デバイス、501 チャネル、510 ビデオデコーダ、512 レンダリングデバイス、515 バッファメモリ、520 パーサ、521 シンボル、530 電子デバイス、531 受信器、551 逆変換ユニット、552 イントラピクチャ予測ユニット、イントラ予測ユニット、553 運動補償予測ユニット、555 アグリゲータ、556 ループフィルタユニット、557 参照ピクチャメモリ、558 現在のピクチャバッファ、601 ビデオソース、603 ビデオエンコーダ、620 電子デバイス、630 ソースコーダ、632 コーディングエンジン、633 デコーダ、ローカルデコーダ、ローカルビデオデコーダ、634 参照ピクチャメモリ、635 予測子、640 送信器、643 ビデオシーケンス、645 エントロピーコーダ、650 コントローラ、660 通信チャネル、703 ビデオエンコーダ、721 汎用コントローラ、722 イントラエンコーダ、723 残差計算器、724 残差エンコーダ、725 エントロピーエンコーダ、726 スイッチ、728 残差デコーダ、730 インターエンコーダ、810 ビデオデコーダ、871 エントロピーデコーダ、872 イントラデコーダ、873 残差デコーダ、874 再構成モジュール、880 インターデコーダ、1000 現在のブロック、1002 中心サンプル、1004 サブブロック、1202 CU、1204 現在のブロック、現在のCU、1302 現在のブロック、現在のCU、1400 現在のブロック、CU、1402 サブブロック、1404 サンプル、1406 参照画素、1408 参照画素、1500 アフィンME、1600 アフィンMEプロセス、1702 拡張された行/列、1704 CU、1706 境界、1802 現在のピクチャ、1804 参照ピクチャリストL0、1806 参照ピクチャリストL1、1808 現在のブロック、1812 初期参照ブロック、1814 初期参照ブロック、1816 第1の候補参照ブロック、1900 デコーディングプロセス、2000 エンコーディングプロセス、2100 コンピュータシステム、2101 キーボード、2102 マウス、2103 トラックパッド、2105 ジョイスティック、2106 マイクロフォン、2107 スキャナ、2108 カメラ、2109 スピーカ、2110 タッチスクリーン、2120 CD/DVD ROM/RW、2121 媒体、2122 サムドライブ、2123 ソリッドステートドライブ、2140 コア、2141 中央処理装置、2142 グラフィックス処理装置、2143 フィールドプログラマブルゲートエリア、2144 ハードウェアアクセラレータ、2145 読み取り専用メモリ、2146 ランダムアクセスメモリ、2147 コア内部大容量ストレージ、2148 システムバス、2149 周辺バス、2150 グラフィックスアダプタ、2154 インターフェース、2155 通信ネットワーク、L0 参照リスト、L1 参照リスト、MV0 初期運動ベクトル、MV1 初期運動ベクトル、P0 現在のブロックの予測、P1 現在のブロックの予測、S1502 アフィン単予測、S1504 アフィン単予測、S1506 アフィン双予測
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
【手続補正書】
【提出日】2023-11-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオデコーディングの方法であって、
コーディングされたビデオビットストリームから現在のピクチャ内の現在のブロックの予測情報をデコードするステップであって、前記予測情報はアフィンモデルに基づいて前記現在のブロックが予測されるべきであることを示す、ステップと、
アフィンバイラテラルマッチングを介して前記アフィンモデルの複数のアフィン動きパラメータを導出するステップであって、前記アフィンモデルは前記現在のピクチャの第1の参照ピクチャおよび第2の参照ピクチャ内の参照ブロックに基づいて導出され、前記複数のアフィン動きパラメータは前記コーディングされたビデオビットストリームに含まれない、ステップと、
前記導出された複数のアフィン動きパラメータに基づいて、前記アフィンモデルの制御点動きベクトルを決定するステップと、
前記導出されたアフィンモデルに基づいて前記現在のブロックを再構成するステップと
を含む、方法。
【請求項2】
導出する前記ステップは、
前記第1の参照ピクチャおよび前記第2の参照ピクチャ内の前記参照ブロックの複数の候補参照ブロック対からの参照ブロック対に基づいて、前記アフィンモデルの前記複数のアフィン動きパラメータを導出するステップであって、前記参照ブロック対は、前記アフィンモデルの制約およびコスト値に基づいて、前記第1の参照ピクチャ内の第1の参照ブロックおよび前記第2の参照ピクチャ内の第2の参照ブロックを含み、前記制約は、(i)前記現在のピクチャと前記第1の参照ピクチャとの間の第1の時間的距離、および(ii)前記現在のピクチャと前記第2の参照ピクチャとの間の第2の時間的距離に基づいた時間的距離比に関連付けられ、前記コスト値は、前記第1の参照ブロックと前記第2の参照ブロックとの差分に基づく、ステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記時間的距離比は、重み係数と、(i)前記現在のピクチャと前記第1の参照ピクチャとの間の前記第1の時間的距離と、(ii)前記現在のピクチャと前記第2の参照ピクチャとの間の前記第2の時間的距離との比との積に等しく、前記重み係数は正の整数である、請求項2に記載の方法。
【請求項4】
前記アフィンモデルの前記制約は、
前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1の並進係数が前記時間的距離比に比例すること、および
前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2の並進係数が前記時間的距離比に比例すること
をさらに含む、請求項3に記載の方法。
【請求項5】
前記アフィンモデルの前記制約は、
前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2のズーム係数が、前記時間距離比の累乗に対する、前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1のズーム係数に等しいこと
をさらに含む、請求項3に記載の方法。
【請求項6】
前記アフィンモデルの前記制約は、
(i)前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1のデルタズーム係数と、(ii)前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2のデルタズーム係数との比が前記時間的距離比に等しいこと、
前記第1のデルタズーム係数が、第1のズーム係数-1に等しいこと、および
前記第2のデルタズーム係数が、第2のズーム係数-1に等しいこと
をさらに含む、請求項3に記載の方法。
【請求項7】
前記アフィンモデルの前記制約は、
(i)前記現在のブロックから前記第1の参照ブロックまでの第1のアフィン動きベクトルの第1の回転角と、(ii)前記現在のブロックから前記第2の参照ブロックまでの第2のアフィン動きベクトルの第2の回転角との比が、前記時間的距離比に等しいこと
をさらに含む、請求項3に記載の方法。
【請求項8】
前記複数のアフィン動きパラメータを導出する前記ステップは、
前記アフィンモデルの前記制約に従って前記複数の候補参照ブロック対を決定するステップであって、前記複数の候補参照ブロック対の各候補参照ブロック対は、前記第1の参照ピクチャ内のそれぞれの候補参照ブロックと前記第2の参照ピクチャ内のそれぞれの候補参照ブロックとを含む、ステップと、
前記複数の候補参照ブロック対の各候補参照ブロック対に対してそれぞれのコスト値を決定するステップと、
前記参照ブロック対を、最小コスト値に関連付けられた前記複数の候補参照ブロック対のうちの候補参照ブロック対として決定するステップと
をさらに含む、請求項2に記載の方法。
【請求項9】
前記複数の候補参照ブロック対は第1の候補参照ブロック対を含み、前記第1の候補参照ブロック対は前記第1の参照ピクチャ内の第1の候補参照ブロックと前記第2の参照ピクチャ内の第1の候補参照ブロックとを含み、
前記複数のアフィン動きパラメータを導出する前記ステップは、
前記第1の参照ピクチャ内の初期参照ブロックに基づいて、前記現在のブロックの前記第1の参照ピクチャに関連付けられた初期予測子を決定するステップと、
前記第2の参照ピクチャ内の初期参照ブロックに基づいて、前記現在のブロックの前記第2の参照ピクチャに関連付けられた初期予測子を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子に基づいて、前記現在のブロックの前記第1の参照ピクチャに関連付けられた第1の予測子を決定するステップであって、前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子は、前記第1の参照ピクチャ内の前記第1の候補参照ブロックに関連付けられる、ステップと、
前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記初期予測子に基づいて、前記現在のブロックの前記第2の参照ピクチャに関連付けられた第1の予測子を決定するステップであって、前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記第1の予測子は、前記第2の参照ピクチャ内の前記第1の候補参照ブロックに関連付けられる、ステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子と、前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記第1の予測子との間の差分に基づいて、第1のコスト値を決定するステップと
をさらに含む、請求項8に記載の方法。
【請求項10】
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子は、マージインデックス、高度動きベクトル予測(AMVP)予測子インデックス、およびアフィンマージインデックスのうちの1つによって示される、請求項9に記載の方法。
【請求項11】
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子を決定する前記ステップは、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子の勾配値の、第1の方向における第1の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子の前記勾配値の、第2の方向における第2の成分を決定するステップであって、前記第2の方向は前記第1の方向に垂直である、ステップと、
前記第1の参照ピクチャ内の前記初期参照ブロックと前記第1の参照ピクチャ内の前記第1の候補参照ブロックとの間の変位の、前記第1の方向における第1の成分を決定するステップと、
前記第1の参照ピクチャ内の前記初期参照ブロックと前記第1の参照ピクチャ内の前記第1の候補参照ブロックとの間の前記変位の、前記第2の方向における第2の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第1の予測子を、(i)前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記初期予測子、(ii)前記初期予測子の前記勾配値の前記第1の成分と前記変位の前記第1の成分との積、および(iii)前記初期予測子の前記勾配値の前記第2の成分と前記変位の前記第2の成分との積、の総和に等しいと決定するステップと
をさらに含む、請求項9に記載の方法。
【請求項12】
前記複数の候補参照ブロック対は、前記第1の参照ピクチャ内の第Nの候補参照ブロックと、前記第2の参照ピクチャ内の第Nの候補参照ブロックとを含む第Nの候補参照ブロック対を含み、
前記複数のアフィン動きパラメータを導出する前記ステップは、
前記現在のブロックの前記第1の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて、前記現在のブロックの前記第1の参照ピクチャ内の前記第Nの候補参照ブロックに関連付けられた第Nの予測子を決定するステップと、
前記現在のブロックの前記第2の参照ピクチャ内の第(N-1)の候補参照ブロックに関連付けられた第(N-1)の予測子に基づいて、前記現在のブロックの前記第2の参照ピクチャ内の前記第Nの候補参照ブロックに関連付けられた第Nの予測子を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第Nの予測子と、前記現在のブロックの前記第2の参照ピクチャに関連付けられた前記第Nの予測子との間の差分に基づいて第Nのコスト値を決定するステップと
をさらに含む、請求項8に記載の方法。
【請求項13】
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第Nの予測子を決定する前記ステップは、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第(N-1)の予測子の勾配値の、第1の方向における第1の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第(N-1)の予測子の前記勾配値の、第2の方向における第2の成分を決定するステップであって、前記第2の方向は前記第1の方向に垂直である、ステップと、
前記第1の参照ピクチャ内の前記第Nの候補参照ブロックと前記第1の参照ピクチャ内の前記第(N-1)の候補参照ブロックとの間の変位の、前記第1の方向における第1の成分を決定するステップと、
前記第1の参照ピクチャ内の前記第Nの候補参照ブロックと前記第1の参照ピクチャ内の前記第(N-1)の候補参照ブロックとの間の前記変位の、前記第2の方向における第2の成分を決定するステップと、
前記現在のブロックの前記第1の参照ピクチャに基づいた前記第Nの予測子を、(i)前記現在のブロックの前記第1の参照ピクチャに関連付けられた前記第(N-1)の予測子、(ii)前記第(N-1)の予測子の前記勾配値の前記第1の成分と前記変位の前記第1の成分との積、および(iii)前記第(N-1)の予測子の前記勾配値の前記第2の成分と前記変位の前記第2の成分との積、の総和に等しいと決定するステップと
をさらに含む、請求項12に記載の方法。
【請求項14】
前記複数の候補参照ブロック対は、
(i)Nが上限値に等しいこと、および
(ii)前記第1の参照ピクチャ内の前記第Nの候補参照ブロックと、前記第1の参照ピクチャ内の第(N+1)の候補参照ブロックとの間の変位が0であること
のうちの1つに基づいたN個の候補参照ブロック対を含む、請求項13に記載の方法。
【請求項15】
前記現在のブロック内の各サブブロックのデルタ動きベクトルは閾値以下である、請求項13に記載の方法。
【請求項16】
前記予測情報は、前記現在のブロックが前記アフィンモデルを用いた前記アフィンバイラテラルマッチングに基づいて予測されるかどうかを示すフラグを含む、請求項1に記載の方法。
【請求項17】
前記現在のブロックに関連付けられた前記アフィンモデルのための候補動きベクトルリストを決定するステップであって、前記候補動きベクトルリストは前記参照ブロック対に関連付けられた前記制御点動きベクトルを含む、ステップ
をさらに含む、請求項2に記載の方法。
【請求項18】
請求項1~17のいずれか一項に記載の方法を行うように構成された処理回路を含む、装置。
【請求項19】
コンピュータに、請求項1~17のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】