(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-28
(54)【発明の名称】対称アフィンモード
(51)【国際特許分類】
H04N 19/513 20140101AFI20240521BHJP
H04N 19/70 20140101ALI20240521BHJP
【FI】
H04N19/513
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560169
(86)(22)【出願日】2022-10-11
(85)【翻訳文提出日】2023-09-28
(86)【国際出願番号】 US2022077895
(87)【国際公開番号】W WO2023196025
(87)【国際公開日】2023-10-12
(32)【優先日】2022-04-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-10-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】グイチュン・リ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159NN21
5C159NN40
5C159RC12
5C159UA02
5C159UA05
5C159UA16
5C159UA22
(57)【要約】
対称アフィンモードが現在のブロックに適用される。対称アフィンモードの第1のアフィンモデルの第1のアフィンパラメータが決定される。第1のアフィンモデルは、第1の参照ピクチャ内の現在のブロックおよび現在のブロックの第1の参照ブロックと関連付けられる。対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータが、第1のアフィンモデルの第1のアフィンパラメータに基づいて導出される。第2のアフィンモデルは、第2の参照ピクチャ内の現在のブロックおよび現在のブロックの第2の参照ブロックと関連付けられる。第1のアフィンパラメータおよび第2のアフィンパラメータは、反対の符号、逆の値、および比例関係のうちの1つを有する。現在のブロックの制御点動きベクトル(CPMV)が、第1および第2のアフィンモデルに基づいて決定される。現在のブロックは、決定されたCPMVに基づいて再構築される。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおいて実行されるビデオ復号の方法であって、前記方法は、
コーディングされたビデオビットストリームから現在のピクチャ内の現在のブロックのコーディングされた情報を受信するステップであって、前記コーディングされた情報は、対称アフィンモードが前記現在のブロックに適用されるかどうかを示すフラグを含む、ステップと、
前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、前記受信したコーディングされた情報から前記対称アフィンモードの第1のアフィンモデルの第1のアフィンパラメータを決定するステップであって、前記第1のアフィンモデルは、前記現在のピクチャの第1の参照ピクチャ内の前記現在のブロックおよび前記現在のブロックの第1の参照ブロックに関連付けられている、ステップと、
前記第1のアフィンモデルの前記第1のアフィンパラメータに基づいて、前記対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータを導出するステップであって、前記第2のアフィンモデルは、前記現在のピクチャの第2の参照ピクチャ内の前記現在のブロックおよび前記現在のブロックの第2の参照ブロックに関連付けられており、前記第1のアフィンパラメータおよび前記第2のアフィンパラメータの各タイプは、反対符号、逆の値、および前記第1の参照ピクチャと前記現在のピクチャとの間の第1の時間的距離と、前記第2の参照ピクチャと前記現在のピクチャとの間の第2の時間的距離とに基づく比例関係のうちの1つを有する、ステップと、
前記第1のアフィンモデルおよび前記第2のアフィンモデルに基づいて前記現在のブロックの制御点動きベクトル(CPMV)を決定するステップと、
前記現在のブロックの前記決定されたCPMVに基づいて前記現在のブロックを再構築するステップと
を含む、方法。
【請求項2】
前記フラグが、コンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストおよびバイパスコードのうちの1つを介してコーディングされる、請求項1に記載の方法。
【請求項3】
前記対称アフィンモードが、前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、4パラメータアフィンモデルと関連付けられると決定される、
請求項1に記載の方法。
【請求項4】
前記フラグが、前記現在のピクチャと前記第1の参照ピクチャとの間の前記第1の時間的距離が前記現在のピクチャと前記第2の参照ピクチャとの間の前記第2の時間的距離に等しいことに基づいて、前記対称アフィンモードが前記現在のブロックに適用されることを示す、
請求項1に記載の方法。
【請求項5】
前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、
第1の参照リスト内のどの参照ピクチャが前記第1の参照ピクチャであり、第2の参照リスト内のどの参照ピクチャが前記第2の参照ピクチャであるかを示す参照インデックス情報を導出するステップ
をさらに含む、請求項1に記載の方法。
【請求項6】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの和がゼロであり、
前記第1の並進ファクタと前記第2の並進ファクタとの和がゼロであり、
前記第1のズームファクタと前記第2のズームファクタとの積が1である、
請求項1に記載の方法。
【請求項7】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との比に線形に比例し、
前記第1のズームファクタと前記第2のズームファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との前記比に指数関数的に比例する、
請求項1に記載の方法。
【請求項8】
ビデオエンコーダにおいて実行されるビデオ符号化の方法であって、前記方法は、
現在のピクチャ内の現在のブロックの第1のアフィンモデルの第1のアフィンパラメータを決定するステップであって、前記第1のアフィンモデルは、前記現在のブロックおよび第1の参照ピクチャ内の前記現在のブロックの第1の参照ブロックと関連付けられている、ステップと、
前記第1のアフィンモデルから導出された第2のアフィンモデルに基づいて、第2の参照ピクチャに関連付けられた前記現在のブロックの初期CPMVを導出するステップであって、前記第2のアフィンモデルは、前記第2の参照ピクチャ内の前記現在のブロックおよび前記現在のブロックの第2の参照ブロックに関連付けられており、前記第2のアフィンモデルの第2のアフィンパラメータは、前記第1のアフィンモデルの前記第1のアフィンパラメータに対して対称である、ステップと、
前記第2の参照ピクチャに関連付けられた前記現在のブロックの前記初期CPMVおよび第1のアフィン動き探索に基づいて前記第2の参照ピクチャに関連付けられた前記現在のブロックの改良されたCPMVを決定するステップと
前記第1の参照ピクチャに関連付けられた前記現在のブロックの改良されたCPMVを、前記第1の参照ピクチャに関連付けられた前記現在のブロックの初期CPMVおよび第2のアフィン動き探索に基づいて決定するステップであって、前記第1の参照ピクチャに関連付けられた前記現在のブロックの前記初期CPMVは、前記第2の参照ピクチャに関連付けられた前記現在のブロックの前記改良されたCPMVから導出され、前記改良されたCPMVに対して対称である、ステップと、
前記第1の参照ピクチャに関連付けられた前記現在のブロックの前記改良されたCPMVと前記第2の参照ピクチャに関連付けられた前記現在のブロックの前記改良されたCPMVとに基づいて前記現在のブロックの予測情報を生成するステップと
を含む、方法。
【請求項9】
前記第2の参照ピクチャに関連付けられた前記現在のブロックの前記改良されたCPMVを決定する前記ステップが、
前記第2の参照ピクチャに関連付けられた前記現在のブロックの前記初期CPMVに基づいて前記現在のブロックの初期予測子を決定するステップと、
前記初期予測子に基づいて前記現在のブロックの第1の予測子を決定するステップであって、前記第1の予測子は、(i)前記現在のブロックの前記初期予測子と、(ii)前記初期予測子の勾配値の第1の成分と前記初期予測子および前記第1の予測子に関連付けられた動きベクトル差の第1の成分との積と、(iii)前記初期予測子の前記勾配値の第2の成分と前記動きベクトル差の第2の成分との積と、の和に等しい、ステップと
をさらに含む、請求項8に記載の方法。
【請求項10】
前記第2の参照ピクチャに関連付けられた前記現在のブロックの前記改良されたCPMVを決定する前記ステップが、
(i)Nが前記第1のアフィン動き探索の上限反復値に等しいこと、および
(ii)N番目の予測子および(N+1)番目の予測子に関連付けられた動きベクトル差がゼロであること、
のうちの一方に応答して、前記第2の参照ピクチャに関連付けられた前記N番目の予測子に基づいて前記現在のブロックの前記改良されたCPMVを決定するステップ
をさらに含む、請求項9に記載の方法。
【請求項11】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの和がゼロであり、
前記第1の並進ファクタと前記第2の並進ファクタとの和がゼロであり、
前記第1のズームファクタと前記第2のズームファクタとの積が1である、
請求項1に記載の方法。
【請求項12】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの比が、前記第1の参照ピクチャと前記現在のピクチャとの間の第1の時間的距離と、前記第2の参照ピクチャと前記現在のピクチャとの間の第2の時間的距離との比に線形に比例し、
前記第1のズームファクタと前記第2のズームファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との前記比に指数関数的に比例する、
請求項1に記載の方法。
【請求項13】
コーディングされたビデオビットストリームから現在のピクチャ内の現在のブロックのコーディングされた情報を受信し、前記コーディングされた情報は、対称アフィンモードが前記現在のブロックに適用されるかどうかを示すフラグを含み、
前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、前記受信したコーディングされた情報から前記対称アフィンモードの第1のアフィンモデルの第1のアフィンパラメータを決定し、前記第1のアフィンモデルは、前記現在のピクチャの第1の参照ピクチャ内の前記現在のブロックおよび前記現在のブロックの第1の参照ブロックに関連付けられ、
前記第1のアフィンモデルの前記第1のアフィンパラメータに基づいて、前記対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータを導出し、前記第2のアフィンモデルは、前記現在のピクチャの第2の参照ピクチャ内の前記現在のブロックおよび前記現在のブロックの第2の参照ブロックに関連付けられており、前記第1のアフィンパラメータおよび前記第2のアフィンパラメータの各タイプは、反対符号、逆の値、および前記第1の参照ピクチャと前記現在のピクチャとの間の第1の時間的距離と、前記第2の参照ピクチャと前記現在のピクチャとの間の第2の時間的距離とに基づく比例関係のうちの1つを有し、
前記第1のアフィンモデルおよび前記第2のアフィンモデルに基づいて前記現在のブロックの制御点動きベクトル(CPMV)を決定し、
前記現在のブロックの前記決定されたCPMVに基づいて前記現在のブロックを再構築する
ように構成される処理回路
を備える、装置。
【請求項14】
前記フラグが、コンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストおよびバイパスコードのうちの1つを介してコーディングされる、請求項13に記載の装置。
【請求項15】
前記対称アフィンモードが、前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、4パラメータアフィンモデルと関連付けられると決定される、
請求項13に記載の装置。
【請求項16】
前記フラグが、前記現在のピクチャと前記第1の参照ピクチャとの間の前記第1の時間的距離が前記現在のピクチャと前記第2の参照ピクチャとの間の第2の時間的距離に等しいことに基づいて、前記対称アフィンモードが前記現在のブロックに適用されることを示す、
請求項13に記載の装置。
【請求項17】
前記処理回路が、
前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、
第1の参照リスト内のどの参照ピクチャが前記第1の参照ピクチャであり、第2の参照リスト内のどの参照ピクチャが前記第2の参照ピクチャであるかを示す参照インデックス情報を導出する
ように構成される、請求項13に記載の装置。
【請求項18】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの和がゼロであり、
前記第1の並進ファクタと前記第2の並進ファクタとの和がゼロであり、
前記第1のズームファクタと前記第2のズームファクタとの積が1である、
請求項13に記載の装置。
【請求項19】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との比に線形に比例し、
前記第1のズームファクタと前記第2のズームファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との前記比に指数関数的に比例する、
請求項13に記載の装置。
【請求項20】
前記コーディングされた情報がアフィンタイプメッセージを含み、
6パラメータアフィンモデルが前記現在のブロックに適用されることを示す前記アフィンタイプメッセージに応答して、前記フラグは、前記対称アフィンモードが前記現在のブロックに適用されないことを示す、
請求項13に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年4月7日に出願された米国仮出願第63/328,589号「Symmetric Affine Mode」に対する優先権の利益を主張する、2022年10月7日に出願された米国特許出願第17/962,422号「SYMMETRIC AFFINE MODE」に対する優先権の利益を主張する。先行出願の開示は、その全体が参照により本明細書に組み込まれる。
【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勧告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のアフィンモデルの第1のアフィンパラメータを、受信したコーディングされ情報から決定することができる。第1のアフィンモデルを、現在のピクチャの第1の参照ピクチャ内の現在のブロックおよび現在のブロックの第1の参照ブロックと関連付けることができる。対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータを、第1のアフィンモデルの第1のアフィンパラメータに基づいて導出することができる。第2のアフィンモデルを、現在のピクチャの第2の参照ピクチャ内の現在のブロックおよび現在のブロックの第2の参照ブロックと関連付けることができる。第1のアフィンパラメータおよび第2のアフィンパラメータは、反対の符号、逆の値、ならびに第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離および第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離に基づく比例関係のうちの1つを有することができる。現在のブロックの制御点動きベクトル(CPMV)を、第1のアフィンモデルおよび第2のアフィンモデルに基づいて決定することができる。現在のブロックを、現在のブロックの決定されたCPMVに基づいて再構築することができる。
【0024】
いくつかの実施形態では、フラグが、コンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストおよびバイパスコードのうちの1つを介してコーディングされることができる。
【0025】
いくつかの実施形態では、対称アフィンモードは、対称アフィンモードが現在のブロックに適用されることを示すフラグに応答して、4パラメータアフィンモデルと関連付けられると決定されることができる。
【0026】
いくつかの実施形態では、フラグは、現在のピクチャと第1の参照ピクチャとの間の第1の時間的距離が現在のピクチャと第2の参照ピクチャとの間の第2の時間的距離に等しいことに基づいて、対称アフィンモードが現在のブロックに適用されることを示すことができる。
【0027】
対称アフィンモードが現在のブロックに適用されることを示すフラグに応答して、参照インデックス情報を導出することができる。参照インデックス情報は、第1の参照リスト内のどの参照ピクチャが第1の参照ピクチャであり、第2の参照リスト内のどの参照ピクチャが第2の参照ピクチャであるかを示すことができる。
【0028】
第1のアフィンパラメータは、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含むことができる。第2のアフィンパラメータは、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含むことができる。
【0029】
一例では、第1の回転ファクタと第2の回転ファクタとの和はゼロとすることができる。第1の並進ファクタと第2の並進ファクタとの和はゼロとすることができる。第1のズームファクタと第2のズームファクタとの積は1とすることができる。
【0030】
一例では、第1の回転ファクタと第2の回転ファクタとの比は、第1の時間的距離と第2の時間的距離との比に線形に比例することができる。第1のズームファクタと第2のズームファクタとの比は、第1の時間的距離と第2の時間的距離との比に指数関数的に比例することができる。
【0031】
本開示の別の態様によれば、ビデオエンコーダにおいて実行されるビデオ符号化の方法が提供され得る。本方法では、現在のピクチャ内の現在のブロックの第1のアフィンモデルの第1のアフィンパラメータを決定することができる。第1のアフィンモデルを、第1の参照ピクチャ内の現在のブロックおよび現在のブロックの第1の参照ブロックと関連付けることができる。第2の参照ピクチャに関連付けられた現在のブロックの初期CPMVは、第1のアフィンモデルから導出された第2のアフィンモデルに基づいて決定されることができる。第2のアフィンモデルを、第2の参照ピクチャ内の現在のブロックおよび現在のブロックの第2の参照ブロックと関連付けることができる。第2のアフィンモデルの第2のアフィンパラメータは、第1のアフィンモデルの第1のアフィンパラメータに対して対称であってもよい。第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVは、第2の参照ピクチャに関連付けられた現在のブロックの初期CPMVおよび第1のアフィン動き探索に基づいて決定されることができる。第1の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVは、第1の参照ピクチャに関連付けられた現在のブロックの初期CPMVおよび第2のアフィン動き探索に基づいて決定されることができる。第1の参照ピクチャに関連付けられた現在のブロックの初期CPMVは、第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVから導出され、改良されたCPMVに対して対称であってもよい。現在のブロックの予測情報は、第1の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVおよび第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVに基づいて決定されることができる。
【0032】
第2の参照に関連付けられた現在のブロックの改良されたCPMVを決定するために、現在のブロックの初期予測子は、第2の参照ピクチャに関連付けられた現在のブロックの初期CPMVに基づいて決定されることができる。現在のブロックの第1の予測子は、初期予測子に基づいて決定されることができる。第1の予測子は、(i)現在のブロックの初期予測子と、(ii)初期予測子の勾配値の第1の成分と初期予測子および第1の予測子に関連付けられた動きベクトル差の第1の成分との積と、(iii)初期予測子の勾配値の第2の成分と動きベクトル差の第2の成分との積との和に等しくなり得る。
【0033】
第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVを決定するために、現在のブロックの改良されたCPMVは、(i)Nが第1のアフィン動き探索の上限反復値に等しいこと、および(ii)N番目の予測子および(N+1)番目の予測子に関連付けられた動きベクトル差がゼロであること、のうちの一方に応答して、第2の参照ピクチャに関連付けられたN番目の予測子に基づいて決定されることができる。
【0034】
いくつかの実施形態では、第1のアフィンパラメータは、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含むことができる。第2のアフィンパラメータは、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含むことができる。
【0035】
一例では、第1の回転ファクタと第2の回転ファクタとの和はゼロとすることができる。第1の並進ファクタと第2の並進ファクタとの和はゼロとすることができる。第1のズームファクタと第2のズームファクタとの積は1とすることができる。
【0036】
一例では、第1の回転ファクタと第2の回転ファクタとの比は、第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離と、第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離との比に線形に比例することができる。第1のズームファクタと第2のズームファクタとの比は、第1の時間的距離と第2の時間的距離との比に指数関数的に比例することができる。
【0037】
本開示の別の態様によれば、装置が提供される。装置は、処理回路を含む。処理回路を、ビデオ符号化/復号のための方法のいずれかを実施するように構成することができる。
【0038】
本開示の態様は、ビデオ復号のためのコンピュータによって実行されたときに、ビデオの符号化/復号のための方法のいずれかをコンピュータに実行させる命令を記憶した非一時的コンピュータ可読媒体も提供する。
【0039】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面から明らかになる。
【図面の簡単な説明】
【0040】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図2】一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。
【
図3】一実施形態による通信システム(300)の簡略化されたブロック図の概略図である。
【
図4】一実施形態による通信システム(400)の簡略化されたブロック図の概略図である。
【
図5】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図6】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図7】別の実施形態によるエンコーダのブロック図である。
【
図8】別の実施形態によるデコーダのブロック図である。
【
図9A】4パラメータアフィンモデルの例示的な概略図である。
【
図9B】6パラメータアフィンモデルの例示的な概略図である。
【
図10】ブロック内のサブブロックに関連付けられたアフィン動きベクトル場の例示的な概略図である。
【
図11】空間マージ候補の例示的な位置の概略図である。
【
図12】制御点動きベクトルの継承の例示的な概略図である。
【
図13】アフィンマージモードを構築するための候補の位置の例示的な概略図である。
【
図14】オプティカルフロー(PROF)を用いた予測改良の例示的な概略図である。
【
図15】アフィン動き推定プロセスの例示的な概略図である。
【
図16】アフィン動き推定探索の例示的なフローチャートである。
【
図17】対称動きベクトル差(MVD)モードの例示的な概略図である。
【
図18】本開示のいくつかの実施形態による例示的な復号プロセスを概説するフローチャートである。
【
図19】本開示のいくつかの実施形態による例示的な符号化プロセスを概説するフローチャートである。
【
図20】本開示のいくつかの実施形態による例示的な符号化プロセスを概説するフローチャートである。
【
図21】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0041】
図3は、通信システム(300)の例示的なブロック図を示している。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)および(320)の第1のペアを含む。
図3の例において、端末デバイス(310)および(320)の第1のペアは、データの単方向送信を実施する。例えば、端末デバイス(310)は、ネットワーク(350)を介して他方の端末デバイス(320)に送信するために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされたビデオピクチャのストリーム)をコーディングしてもよい。符号化されたビデオデータを、1つまたは複数のコーディングされたビデオビットストリームの形式で送信することができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示し得る。単方向データ送信は、メディアサービング用途などでは一般的であり得る。
【0042】
他の例では、通信システム(300)は、例えばビデオ会議中のコーディングされたビデオデータの双方向送信を実施する端末デバイス(330)および(340)の第2のペアを含む。データの双方向送信の場合、一例では、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)のうちの他の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによってキャプチャされたビデオピクチャのストリーム)をコーディングすることができる。端末デバイス(330)および(340)の各端末デバイスはまた、端末デバイス(330)および(340)の他方の端末デバイスによって送信されたコーディングされたビデオデータを受信し、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオピクチャを表示し得る。
【0043】
図3の例において、端末デバイス(310)、(320)、(330)および(340)は、サーバ、パーソナルコンピュータおよびスマートフォンとしてそれぞれ例示されているが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器とともに適用される。ネットワーク(350)は、例えば有線(配線)および/または無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)および(340)間で、コーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本議論の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジーは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない場合がある。
【0044】
図4は、開示の主題についての用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダを示している。開示の主題は、例えば、ビデオ会議、デジタルテレビ、ストリーミングサービス、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶などを含む他のビデオ対応用途に等しく適用可能であり得る。
【0045】
ストリーミングシステムは、例えば非圧縮のビデオピクチャのストリーム(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のコンテキストで使用され得る。
【0046】
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)も、ビデオエンコーダ(図示せず)を含むことができる。
【0047】
図5は、ビデオデコーダ(510)の例示的なブロック図を示している。ビデオデコーダ(510)は、電子デバイス(530)に含めることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例のビデオデコーダ(410)の代わりに使用されることが可能である。
【0048】
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つまたは複数のコーディングされたビデオシーケンスを受信し得る。一実施形態では、一度に1つのコーディングされたビデオシーケンスが受信され、各コーディングされたビデオシーケンスの復号は、他のコーディングされたビデオシーケンスの復号から独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信され、チャネル(501)は、符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(531)は、他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリームとともに符号化されたビデオデータを受信し、そのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信機(531)は、コーディングされたビデオシーケンスをその他のデータから分離し得る。ネットワークジッタに対抗するために、受信機(531)とエントロピーデコーダ/パーサ(520)(以降、「パーサ(520)」)との間にバッファメモリ(515)が結合され得る。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の外部にあり得る(図示せず)。さらに他の用途では、例えば、ネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)が存在し、加えて、例えば、プレイアウトタイミングを処理するために、ビデオデコーダ(510)の内部に他のバッファメモリ(515)が存在してもよい。受信機(531)が十分な帯域幅および可制御性の記憶/転送デバイスから、またはアイソシンクロナスネットワークから、データを受信しているとき、バッファメモリ(515)は、不要な場合がある、または小さくしてもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要とされてもよく、比較的大きくてもよく、有利には適応サイズであってもよく、ビデオデコーダ(510)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0049】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構築するためにパーサ(520)を含み得る。これらのシンボルのカテゴリは、
図5に示されるように、ビデオデコーダ(510)の動作を管理するために使用される情報と、電子デバイス(530)の不可欠な部分ではないが、電子デバイス(530)に結合され得るレンダデバイス(512)(例えば、表示スクリーン)などのレンダリングデバイスを潜在的に制御するための情報とを含む。(1つまたは複数の)レンダリングデバイスのための制御情報は、補足エンハンスメント情報(SEI)メッセージ、またはビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(図示せず)の形式であり得る。パーサ(520)は、受信されたコーディングされたビデオシーケンスを解析/エントロピー復号し得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、コンテキスト依存性ありまたはなしの可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つに関するサブグループパラメータのセットを抽出し得る。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトルなどの情報を抽出し得る。
【0050】
パーサ(520)はバッファメモリ(515)から受けたビデオシーケンスにエントロピー復号/構文解析動作を実行することでシンボル(521)を生成してもよい。
【0051】
シンボル(521)の再構築は、コーディングされたビデオピクチャまたはその部分のタイプ(インターピクチャおよびイントラピクチャ、インターブロックおよびイントラブロックなど)、ならびに他の要因に応じて、複数の異なるユニットを関与させることができる。どのユニットがどのように関与するかは、パーサ(520)が、コーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために描写されていない。
【0052】
すでに述べた機能ブロックを超えて、ビデオデコーダ(510)は、以下で説明するように、一部の機能ユニットに概念的に再分割することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示される主題を説明する目的のために、以下の機能ユニットへの概念的な再分割が適切である。
【0053】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化された変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化ファクタ、量子化スケーリング行列などを含む制御情報を、パーサ(520)から(1つまたは複数の)シンボル(521)として受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力され得るサンプル値を備えるブロックを出力することができる。
【0054】
場合によっては、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロックに関係することができる。イントラコーディングされたブロックは、以前に再構築されたピクチャからの予測情報を使用せず、現在のピクチャの以前に再構築された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた周囲のすでに再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構築された現在のピクチャおよび/または完全に再構築された現在のピクチャをバッファする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供された出力サンプル情報に追加する。
【0055】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的に動き補償されたブロックに関係することができる。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関係するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルを、出力サンプル情報を生成するために、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加することができる。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスを、例えば、X、Y、および参照ピクチャ成分を有することができるシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって、制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0056】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技術を受けることができる。コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に提供される、インループフィルタ技術を、ビデオ圧縮技術は含むことができる。ビデオ圧縮はまた、コーディングされたピクチャまたはコーディングされたビデオシーケンスの(復号順で)前の部分の復号中に取得されたメタ情報に応答して行うこともでき、以前に再構築およびループフィルタリングされたサンプル値に応答して行うこともできる。
【0057】
ループフィルタユニット(556)の出力は、レンダデバイス(512)に出力することができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に記憶することができるサンプルストリームであり得る。
【0058】
特定のコーディングされたピクチャは、完全に再構築されると、将来の予測のための参照ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構築され、コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、次のコーディングされたピクチャの再構築を開始する前に、新しい現在のピクチャバッファを再割り当てすることができる。
【0059】
ビデオデコーダ(510)は、ITU-T勧告H.265などの所定のビデオ圧縮技術または規格に従って復号動作を実施し得る。コーディングされたビデオシーケンスが、ビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格に文書化されているプロファイルとの両方を順守しているという意味で、コーディングされたビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されている構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格において利用可能なすべてのツールの中から、特定のツールを、そのプロファイル下でそれらだけが利用可能なツールとして選択することができる。また、コンプライアンスのために必要なのは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、(例えば、毎秒メガサンプル単位で測定された)最大再構築サンプルレート、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)仕様と、コーディングされたビデオシーケンス中でシグナリングされるHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0060】
一実施形態では、受信機(531)は、符号化されたビデオとともに追加の(冗長な)データを受信し得る。追加のデータは、コーディングされたビデオシーケンスの一部として含まれ得る。追加のデータは、ビデオデコーダ(510)によって、データを適切に復号するために、かつ/または元のビデオデータをより正確に再構築するために使用され得る。追加のデータは、例えば、時間、空間、または信号対雑音比(SNR)の拡張層、冗長スライス、冗長ピクチャ、順方向誤り訂正コードなどの形式であり得る。
【0061】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例のビデオエンコーダ(403)の代わりに使用されることが可能である。
【0062】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべき(1つまたは複数の)ビデオ画像をキャプチャし得る(
図6の例では電子デバイス(620)の一部ではない)ビデオソース(601)からビデオサンプルを受信し得る。他の例では、ビデオソース(601)は電子デバイス(620)の一部である。
【0063】
ビデオソース(601)は、ビデオエンコーダ(603)によってコーディングされるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)であり得、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)および適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタル・ビデオ・サンプル・ストリームの形式で提供し得る。メディアサービングシステムでは、ビデオソース(601)は、以前に準備されたビデオを記憶するストレージデバイスであり得る。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを伝える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間配列として編成され得、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0064】
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、または必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス(643)にコーディングし、圧縮し得る。適切なコーディング速度を実施することが、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下で説明される他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確にするために図示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計に最適化されたビデオエンコーダ(603)に関する他の適切な機能を有するように構成されることができる。
【0065】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に簡略化された説明として、一例では、コーディングループは、(例えば、コーディングされるべき入力ピクチャと(1つまたは複数の)参照ピクチャとに基づいて、シンボルストリームなどのシンボルを作成することを担う)ソースコーダ(630)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモート)デコーダも作成することになるのと同様の方式で、シンボルを再構築してサンプルデータを作成する。再構築されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクトな結果をもたらすため、参照ピクチャメモリ(634)の内容も、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」ことになるのと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(および、例えばチャネルエラーのために同期性が維持され得ない場合に生じるドリフト)は、いくつかの関連技術においても使用される。
【0066】
「ローカル」デコーダ(633)の動作は、
図5と併せて上記で詳細にすでに説明されている、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。
図5も簡単に参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、バッファメモリ(515)を含むビデオデコーダ(510)のエントロピー復号部分、およびパーサ(520)は、ローカルデコーダ(633)に完全に実装されない場合もある。
【0067】
一実施形態では、デコーダに存在する構文解析/エントロピー復号を除くデコーダ技術が、対応するエンコーダに、同一または実質的に同一の機能的形態で存在する。したがって、開示された主題は、デコーダの動作に焦点を当てている。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定の領域において、より詳細な説明が以下に提供される。
【0068】
いくつかの例では、動作中、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする、動き補償予測コーディングを実行し得る。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャへの(1つまたは複数の)予測参照として選択され得る(1つまたは複数の)参照ピクチャのピクセルブロックとの間の差分をコーディングする。
【0069】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスであってもよい。コーディングされたビデオデータが(
図6には示されていない)ビデオデコーダで復号され得るとき、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実施され得る復号プロセスを複製し、再構築された参照ピクチャを参照ピクチャメモリ(634)に記憶させ得る。このようにして、ビデオエンコーダ(603)は、(送信エラーなしで)遠端ビデオデコーダによって取得されることになる再構築された参照ピクチャとして共通のコンテンツを有する再構築された参照ピクチャのコピーをローカルに記憶し得る。
【0070】
予測子(635)は、コーディングエンジン(632)の予測探索を実施し得る。すなわち、コーディングされる新しいピクチャの場合、予測子(635)は、新しいピクチャのための適切な予測参照として役立つことができる、(候補参照ピクセルブロックとしての)サンプルデータまたは参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を探索し得る。予測子(635)は、適切な予測参照を見つけるために、ピクセルブロックごとにサンプルブロックに対して動作し得る。場合によっては、予測子(635)によって取得された探索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【0071】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理し得る。
【0072】
すべての前述の機能ユニットの出力は、エントロピーコーダ(645)内でエントロピーコーディングを受け得る。エントロピーコーダ(645)は、様々な機能ユニットによって生成されたシンボルを、ハフマンコーディング、可変長コーディング、算術コーディングなどといった技術に従ってシンボルに可逆圧縮を適用することによってコーディングされたビデオシーケンスに変換する。
【0073】
送信機(640)は、エントロピーコーダ(645)によって作成された(1つまたは複数の)コーディングされたビデオシーケンスをバッファリングして、通信チャネル(660)を介した送信の準備をしてもよく、通信チャネル(660)は、符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオエンコーダ(603)からのコーディングされたビデオデータを、送信される他のデータ、例えば、コーディングされたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0074】
コントローラ(650)はビデオエンコーダ(603)の動作を管理してもよい。コーディング中、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当ててもよく、これは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼす場合がある。例えば、ピクチャは、以下のピクチャタイプのうちの1つとして割り当てられることが多い。
【0075】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用することなくコーディングおよび復号され得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを可能にする。当業者は、Iピクチャのこれらの変形、ならびにそれらのそれぞれの用途および特徴を認識している。
【0076】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよび復号され得るものであってもよい。
【0077】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよび復号され得るものであってもよい。同様に、複数の予測ピクチャでは、1つのブロックの再構築のために、3つ以上の参照ピクチャと関連メタデータとを使用することができる。
【0078】
ソースピクチャは、一般的には、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16のサンプルそれぞれのブロック)に空間的に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されたコーディング割り当てによって決定される他の(すでにコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得るか、または、同じピクチャのすでにコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、または時間予測を介して、予測的にコーディングされてもよい。Bピクチャのブロックは、空間予測を介して、または時間予測を介して、以前にコーディングされた1つまたは2つの参照ピクチャを参照して予測的にコーディングされ得る。
【0079】
ビデオエンコーダ(603)は、ITU-T勧告H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を実施し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間および空間の冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実施し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または規格で指定された構文に準拠する場合がある。
【0080】
一実施形態では、送信機(640)は、符号化されたビデオとともに追加のデータを送信し得る。ソースコーダ(630)は、そのようなデータをコーディングされたビデオシーケンスの一部として含み得る。追加のデータは、時間/空間/SNR拡張層、冗長ピクチャおよびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセット断片などを含み得る。
【0081】
ビデオは、時系列の複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と省略される)は、所与のピクチャ内の空間相関を使用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関を使用する。一例では、現在のピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、ビデオ内で、以前にコーディングされ、未だバッファされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックを、動きベクトルと呼ばれるベクトルによってコーディングすることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し示し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0082】
いくつかの実施形態では、インターピクチャ予測に双予測技術が使用され得る。双予測技術によれば、第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらは両方ともビデオ内の現在のピクチャの復号順より前にある(しかし、表示順序は、それぞれ過去および未来のものであってもよい)。第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトルによって、および第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルによって、現在のピクチャ内のブロックをコーディングすることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0083】
さらに、コーディング効率を改善するために、インターピクチャ予測にマージモード技術が使用されることができる。
【0084】
本開示のいくつかの実施形態によれば、インターピクチャ予測やイントラピクチャ予測などの予測は、ブロック単位で実施される。例えば、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ピクセルなどのピクセルの値(例えば、輝度値)の行列を含む。
【0085】
図7は、ビデオエンコーダ(703)の例示的な図を示している。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受け取り、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(703)は、
図4の例のビデオエンコーダ(403)の代わりに使用される。
【0086】
HEVCの例では、ビデオエンコーダ(703)は、例えば8×8サンプルの予測ブロックのような処理ブロックのためのサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最適にコーディングされるか否かを決定する。処理ブロックがイントラモードでコーディングされることになるとき、ビデオエンコーダ(703)は、イントラ予測技術を使用して、処理ブロックをコーディングされたピクチャに符号化し、処理ブロックがインターモードまたは双予測モードでコーディングされることになるとき、ビデオエンコーダ(703)は、インター予測技術または双予測技術をそれぞれ使用して、処理ブロックをコーディングされたピクチャに符号化し得る。特定のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされた動きベクトル成分の助けを借りずに、動きベクトルが1つまたは複数の動きベクトル予測子から導出されるインターピクチャ予測サブモードとすることができる。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0087】
図7の例では、ビデオエンコーダ(703)は、
図7に示されるように互いに結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、およびエントロピーエンコーダ(725)を含む。
【0088】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照ピクチャ(例えば、前のピクチャおよび後のピクチャ内のブロック)内の1つまたは複数の参照ブロックと比較し、インター予測情報(例えば、インター符号化技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号される復号された参照ピクチャである。
【0089】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、場合によっては、ブロックを同じピクチャ内のすでにコーディングされたブロックと比較し、変換後の量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つまたは複数のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、同じピクチャ内のイントラ予測情報および参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0090】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、汎用コントローラ(721)は、残差計算器(723)が使用するイントラモード結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択して、イントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御し、モードがインターモードであるとき、汎用コントローラ(721)は、残差計算器(723)が使用するインター予測結果を選択するようにスイッチ(726)を制御し、インター予測情報を選択して、インター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0091】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との差分(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データを符号化して変換係数を生成するよう動作するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化変換係数を取得するために量子化プロセスを受ける。様々な実施形態において、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実施し、復号された残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用され得る。例えば、インターエンコーダ(730)は、復号された残差データおよびインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データおよびイントラ予測情報に基づいて、復号されたブロックを生成することができる。いくつかの例では、復号されたブロックは、復号されたピクチャを生成するために適切に処理され、復号されたピクチャは、メモリ回路(図示せず)にバッファされ、参照ピクチャとして使用され得る。
【0092】
エントロピーエンコーダ(725)は、符号化されたブロックを含めるようビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従ってビットストリームに様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、ビットストリームに、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報を含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコーディングするとき、残差情報は存在しないことに留意されたい。
【0093】
図8は、ビデオデコーダ(810)の例示的な図を示している。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受け取り、コーディングされたピクチャを復号して再構築されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、
図4の例のビデオデコーダ(410)の代わりに使用される。
【0094】
図8の例では、ビデオデコーダ(810)は、
図8に示されるように互いに結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構築モジュール(874)、およびイントラデコーダ(872)を含む。
【0095】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構築するように構成されることができる。そのようなシンボルは、例えば、ブロックがコーディングされているモード(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは他のサブモードのインターモードおよび双予測モードなど)、ならびにイントラデコーダ(872)またはインターデコーダ(880)によって、それぞれ、予測のために使用される特定のサンプルまたはメタデータを識別し得る予測情報(例えば、イントラ予測情報またはインター予測情報など)を含むことができる。シンボルはまた、例えば、量子化変換係数の形態の残差情報なども含むことができる。一例では、予測モードが、インターモードまたは双予測モードであるとき、インター予測情報は、インターデコーダ(880)に提供され、予測タイプが、イントラ予測タイプであるとき、イントラ予測情報は、イントラデコーダ(872)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0096】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0097】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0098】
残差デコーダ(873)は、逆量子化を実施して逆量子化変換係数を抽出し、逆量子化変換係数を処理して、残差情報を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化パラメータ(QP)を含めるために)特定の制御情報を必要とする場合もあり、その情報は、エントロピーデコーダ(871)によって提供され得る(これは、少量の制御情報のみであり得るので、データパスは描かれていない)。
【0099】
再構築モジュール(874)は、空間領域において、残差デコーダ(873)によって出力される残差情報と(場合によってインター予測モジュールまたはイントラ予測モジュールによって出力される)予測結果とを組み合わせて、再構築されたピクチャの一部になり得る再構築ブロックを形成するように構成され、再構築されたピクチャは再構築されたビデオの一部になり得る。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作が実行されることができることに留意されたい。
【0100】
ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、任意の適切な技術を使用して実装されることができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、1つまたは複数の集積回路を使用して実装されることができる。別の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つまたはそれ複数のプロセッサを使用して実装されることができる。
【0101】
本開示は、アフィンコーディングモードに関する実施形態を含む。例えば、アフィンコーディングモードでは、将来の参照フレームおよび過去の参照フレームにおける参照と、将来および過去の参照フレームに適用されるアフィンモデルとの両方が対称であり得る。
【0102】
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(Joint Video Exploration Team)を共同で結成した。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応答は、122MPEG/10th JVET会議で評価された。この会議の結果、JVETは、HEVCを超える次世代ビデオコーディングの標準化プロセスを正式に立ち上げた。この新たな規格は、多用途ビデオコーディング(VVC)と名付けられ、JVETは、ジョイントビデオエキスパートチームと改称された。2020年に、ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、VVCビデオコーディング規格(バージョン1)を公開した。
【0103】
インター予測では、インター予測されたコーディングユニット(CU)ごとに、例えばインター予測されたサンプル生成に使用されるVVCの特徴をコーディングするために動きパラメータが必要とされる。動きパラメータは、動きベクトル、参照ピクチャインデックス、参照ピクチャリスト使用インデックス、および/または追加情報を含むことができる。動きパラメータを、明示的または暗黙的な方式でシグナリングすることができる。CUがスキップモードでコーディングされる場合、CUを1つのPUに関連付けることができ、有意残差係数、コーディングされた動きベクトルデルタ、および/または参照ピクチャインデックスは必要とされない場合がある。CUがマージモードでコーディングされる場合、CUの動きパラメータを、近傍のCUから取得することができる。近傍のCUは、空間候補および時間候補、ならびにVVCで導入されたような追加のスケジュール(または追加の候補)を含むことができる。マージモードは、スキップモードに対してだけでなく、任意のインター予測されたCUに適用されることができる。マージモードの代替は、動きパラメータの明示的な送信であり、動きベクトル、各参照ピクチャリストの対応する参照ピクチャインデックス、参照ピクチャリスト使用フラグ、および/または他の必要な情報は、CUごとに明示的にシグナリングされることができる。
【0104】
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)
【0105】
HEVCでは、並進動きモデルが動き補償予測(MCP)に適用される。現実世界では、ズームイン/アウト、回転、パースペクティブモーション、および他の不規則な動きなど、多くの種類の動きが存在し得る。ブロックベースのアフィン変換動き補償予測を、VTMなどに適用することができる。
図9Aは、2つの制御点(4パラメータ)の動き情報によって記述されるブロック(902)のアフィン動き場を示している。
図9Bは、3つの制御点動きベクトル(6パラメータ)によって記述されるブロック(904)のアフィン動き場を示している。
【0106】
図9Aに示すように、4パラメータアフィン動きモデルにおいて、ブロック(902)内のサンプル位置(x,y)における動きベクトルは、以下のように式(1)において導出されることができる。
【数1】
ここで、mv
xは第1の方向(またはX方向)の動きベクトルとすることができ、mv
yは第2の方向(またはY方向)の動きベクトルとすることができる。動きベクトルを、式(2)に記述することもできる。
【数2】
【0107】
図9Bに示すように、6パラメータアフィン動きモデルにおいて、ブロック(904)内のサンプル位置(x,y)における動きベクトルは、以下のように式(3)において導出されることができる。
【数3】
6パラメータアフィン動きモデルを、以下のように式(4)において記述することもできる。
【数4】
式(1)および式(3)に示すように、(mv
0x,mv
0y)は、左上隅制御点の動きベクトルとすることができる。(mv
1x,mv
1y)は、右上隅の制御点の動きベクトルとすることができる。(mv
2x,mv
2y)は、左下隅の制御点の動きベクトルとすることができる。
【0108】
図10に示すように、動き補償予測を簡略化するために、ブロックベースのアフィン変換予測を適用することができる。各4×4輝度サブブロックの動きベクトルを導出するために、現在のブロック(1000)内の各サブブロック(例えば、(1004))の中心サンプルの動きベクトル(例えば、(1002))を式(1)~(4)に従って計算し、1/16の分数精度に丸めることができる。次いで、動き補償補間フィルタを適用して、導出された動きベクトルを有する各サブブロックの予測を生成することができる。また、彩度成分のサブブロックサイズを4×4となるように設定することもできる。4×4彩度サブブロックのMVを、4つの対応する4×4輝度サブブロックのMVの平均として計算することができる。
【0109】
アフィンマージ予測では、幅および高さの両方が8以上のCUにアフィンマージ(AF_MERGE)モードを適用することができる。現在のCUのCPMVは、空間的に近傍のCUの動き情報に基づいて生成され得る。最大5つのCPMVP候補をアフィンマージ予測に適用することができ、5つのCPMVP候補のうちのどれを現在のCUに使用することができるかを示すためにインデックスをシグナリングすることができる。アフィンマージ予測では、3つのタイプのCPMV候補:(1)近傍CUのCPMVから外挿された継承されたアフィンマージ候補、(2)近傍CUの並進MV(例えば、マージMVなどの並進ファクタのみを含むMV)を使用して導出されたCPMVPを有する、構築されたアフィンマージ候補、および(3)ゼロMV、を使用してアフィンマージ候補リストを導出することができる。
【0110】
VTM3では、最大2つの継承されたアフィン候補を適用することができる。2つの継承されたアフィン候補を、近傍ブロックのアフィン動きモデルから導出することができる。例えば、1つの継承されたアフィン候補を左近傍CUから導出することができ、他方の継承されたアフィン候補を上近傍CUから導出することができる。例示的な候補ブロックを
図11に示すことができる。
図11に示すように、左予測子(または左継承アフィン候補)の場合、走査順序はA0->A1とすることができ、上予測子(または上継承アフィン候補)の場合、走査順序はB0->B1->B2とすることができる。したがって、各側から最初に利用可能な継承候補のみを選択することができる。2つの継承された候補の間でプルーニングチェックは実行されなくてもよい。近傍アフィンCUが識別されると、近傍アフィンCUの制御点動きベクトルを使用して、現在のCUのアフィンマージリスト内のCPMVP候補を導出することができる。
図12に示されたように、現在のブロック(1204)の近傍の左下のブロックAがアフィンモードでコーディングされると、ブロックAを含むCU(1202)の左上隅、右上隅、および左下隅の動きベクトルv
2、v
3、およびv
4を達成することができる。ブロックAが4パラメータアフィンモデルでコーディングされる場合、CU(1202)のv
2およびv
3に従って、現在のCU(1204)の2つのCPMVを計算することができる。ブロックAが6パラメータアフィンモデルでコーディングされる場合、CU(1202)のv
2、v
3、およびv
4に従って、現在のCU(1204)の3つのCPMVを計算することができる。
【0111】
現在のブロックの構築されたアフィン候補は、現在のブロックの各制御点の近傍並進動き情報を組み合わせることによって構築された候補とすることができる。制御点の動き情報を、
図13に示すことができる特定の空間的近傍および時間的近傍から導出することができる。
図13に示すように、CPMV
k(k=1,2,3,4)は、現在のブロック(1302)のk番目の制御点を表す。CPMV
1の場合、B2->B3->A2ブロックをチェックすることができ、第1の利用可能なブロックのMVを使用することができる。CPMV
2の場合、B1->B0ブロックをチェックすることができる。CPMV
3の場合、A1->A0ブロックをチェックすることができる。CPM
4が利用できない場合、TMVPをCPMV
4として使用することができる。
【0112】
4つの制御点のMVが達成された後、4つの制御点の動き情報に基づいて現在のブロック(1302)のアフィンマージ候補を構築することができる。例えば、アフィンマージ候補を、{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、{CPMV1,CPMV3}の順に、4つの制御点のMVの組み合わせに基づいて構築することができる。
【0113】
3つのCPMVの組み合わせは6パラメータアフィンマージ候補を構築することができ、2つのCPMVの組み合わせは4パラメータアフィンマージ候補を構築することができる。動きスケーリングプロセスを回避するために、制御点の参照インデックスが異なる場合、制御点MVの関連する組み合わせは破棄されることができる。
【0114】
1つまたは複数の継承されたアフィンマージ候補および構築されたアフィンマージ候補がチェックされた後、リストがまだ一杯でない場合、リストの最後にゼロMVを挿入することができる。
【0115】
アフィンAMVP予測では、幅と高さの両方が16以上のCUにアフィンAMVPモードを適用することができる。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。
【0116】
継承されたアフィンAMVP候補のチェック順序は、継承されたアフィンマージ候補のチェック順序と同じであり得る。AVMP候補を決定するために、現在のブロックと同じ参照ピクチャを有するアフィンCUのみを考慮することができる。継承されたアフィン動き予測子が候補リストに挿入されるとき、プルーニングプロセスは適用されなくてもよい。
【0117】
構築されたAMVP候補を、指定された空間近傍から導出することができる。
図13に示すように、アフィンマージ候補構築におけるチェック順序として、同じチェック順序を適用することができる。また、近傍ブロックの参照ピクチャインデックスもチェックすることができる。チェック順序の最初のブロックは、インターコーディングされ、現在のCU(1302)と同じ参照ピクチャを有することができる。現在のCU(1302)が4パラメータアフィンモードでコーディングされ、mv
0とmv
1の両方が利用可能である場合、構築されたAMVP候補を決定することができる。構築されたAMPV候補をアフィンAMVPリストにさらに追加することができる。現在のCU(1302)が6パラメータアフィンモードでコーディングされ、3つのCPMVすべてが利用可能である場合、構築されたAMVP候補をアフィンAMVPリスト内の一候補として追加することができる。そうでなければ、構築されたAMVP候補を利用不可として設定することができる。
【0118】
継承されたアフィンAMVP候補および構築されたAMVP候補がチェックされた後、アフィンAMVPリスト内の候補が依然として2未満である場合、mv0、mv1およびmv2を順に追加することができる。mv0、mv1およびmv2は、利用可能な場合、現在のCU(例えば、(1302))のすべての制御点MVを予測するための並進MVとして機能することができる。最後に、アフィンAMVPがまだ満たされていない場合、アフィンAMVPリストを満たすためにゼロMVを使用することができる。
【0119】
サブブロックベースのアフィン動き補償は、予測精度ペナルティを犠牲にして、メモリアクセス帯域幅を節約し、ピクセルベースの動き補償と比較して計算複雑度を低減することができる。動き補償のより細かい粒度を達成するために、オプティカルフロー(PROF)による予測改良を使用して、動き補償のためのメモリアクセス帯域幅を増加させることなく、サブブロックに基づくアフィン動き補償予測を改良することができる。VVCでは、サブブロックベースのアフィン動き補償が行われた後、オプティカルフロー式によって導出された差を加算することによって輝度予測サンプルを改良することができる。PROFを、以下の4つのステップで説明することができる。
【0120】
ステップ(1):サブブロックベースのアフィン動き補償を実行して、サブブロック予測I(i,j)を生成することができる。
【0121】
ステップ(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サンプルずつ拡張されることができる。追加のメモリ帯域幅および追加の補間計算を回避するために、拡張境界上の拡張サンプルは、参照ピクチャ内の最も近い整数ピクセル位置からコピーされることができる。
【0122】
ステップ(3):輝度予測改良を、式(7)に示すようなオプティカルフロー式によって計算することができる。
ΔI(i,j)=g
x(i,j)*Δv
x(i,j)+g
y(i,j)*Δv
y(i,j) 式(7)
ここで、Δv(i,j)は、v(i,j)で表されるサンプル位置(i,j)について計算されたサンプルMVと、サンプル(i,j)が属するサブブロックのv
SBで表されるサブブロックMVとの差とすることができる。
図14は、サンプルMVとサブブロックMVとの差の例示的な図を示している。
図14に示すように、現在のブロック(1400)にサブブロック(1402)を含めることができ、サブブロック(1402)にサンプル(1404)を含めることができる。サンプル(1404)は、参照ピクセル(1406)に対応するサンプル動きベクトルv(i,j)を含むことができる。サブブロック(1402)は、サブブロック動きベクトルv
SBを含むことができる。サブブロック動きベクトルv
SBに基づいて、サンプル(1404)は参照ピクセル(1408)に対応することができる。Δv(i,j)で表されるサンプルMVとサブブロックMVとの差を、参照ピクセル(1406)と参照ピクセル(1408)との差によって示すことができる。Δv(i,j)は、1/32の輝度サンプル精度の単位で量子化されることができる。
【0123】
アフィンモデルパラメータおよびサブブロック中心に対するサンプル位置は、サブブロックから別のサブブロックに変更され得ないので、Δv(i,j)は、第1のサブブロック(例えば、(1402))について計算され、同じCU(例えば、(1400))内の他のサブブロック(例えば、(1410))について再利用されることができる。dx(i,j)を水平オフセットとし、dy(i,j)をサンプル位置(i,j)からサブブロック(x
SB,y
SB)の中心までの垂直オフセットとすると、Δv(x,y)は、以下の式(8)および式(9)によって導出されることができる。
【数5】
【数6】
【0124】
精度を維持するために、サブブロックの中心(xSB,ySB)は、((WSB-1)/2,(HSB-1)/2)として計算されることができ、ここで、WSBおよびHSBは、それぞれサブブロックの幅および高さである。
【0125】
Δv(x,y)が得られると、アフィンモデルのパラメータを得ることができる。例えば、4パラメータアフィンモデルの場合、アフィンモデルのパラメータを、式(10)に示すことができる。
【数7】
6パラメータアフィンモデルの場合、アフィンモデルのパラメータを、式(11)に示すことができる。
【数8】
ここで、(v
0x,v
0y)、(v
1x,v
1y)、(v
2x,v
2y)は、それぞれ左上制御点動きベクトル、右上制御点動きベクトル、左下制御点動きベクトルとすることができ、wおよびhはそれぞれCUの幅および高さとすることができる。
【0126】
ステップ(4):最後に、輝度予測改良ΔI(i,j)をサブブロック予測(i,j)に追加することができる。最終予測I’は、式(12)に示すように生成されることができる。
I’(i,j)=I(i,j)+ΔI(i,j) 式(12)
【0127】
いくつかの実施形態では、PROFは、アフィンコーディングされたCUに対して、(1)すべての制御点MVが同じであり、これはCUが並進動きのみを有することを示す場合、および(2)サブブロックベースのアフィンMCがCUベースのMCに低下して大きなメモリアクセス帯域幅要件を回避するため、アフィン動きパラメータが指定された制限よりも大きい場合、の2つの場合に適用されない場合がある。
【0128】
VVC参照ソフトウェアVTMなどのアフィン動き推定(ME)は、単予測と双予測の両方のために動作されることができる。参照リストL0および参照リストL1のいずれか一方に対して単予測を行うことができ、参照リストL0および参照リストL1の両方に対して双予測を行うことができる。
【0129】
図15は、アフィンME(1500)の概略図を示している。
図15に示すように、アフィンME(1500)において、参照リストL0に対してアフィン単予測(S1502)を実行して、参照リストL0内の初期参照ブロックに基づいて現在のブロックの予測P0を取得することができる。参照リストL1に対してアフィン単予測(S1504)を実行して、参照リストL1内の初期参照ブロックに基づいて現在のブロックの予測P1を取得することができる。(S1506)において、アフィン双予測を実行することができる。アフィン双予測(S1506)は、初期予測残差(2I-P0)-P1で開始することができ、Iは現在のブロックの初期値とすることができる。アフィン双予測(S1506)は、最小予測残差(2I-P0)-Pxを有する最良の(または選択された)参照ブロックを見つけるために参照リストL1内の初期参照ブロックの周りの候補を探索することができ、Pxは選択された参照ブロックに基づく現在のブロックの予測である。
【0130】
参照ピクチャを用いて、現在のコーディングブロックに対して、アフィンMEプロセスはまず、ベースとして制御点動きベクトル(CPMV)のセットを選ぶことができる。反復方法を使用して、CPMVのセットに対応する現在のアフィンモデルの予測出力を生成し、予測サンプルの勾配を計算し、次いで線形方程式を解いてデルタCPMVを決定し、アフィン予測を最適化することができる。すべてのデルタCPMVが0であるか、または最大反復回数に達したときに反復を停止することができる。反復から取得されたCPMVは、参照ピクチャの最終CPMVとすることができる。
【0131】
参照リストL0およびL1の両方の最良のアフィンCPVMがアフィン単予測のために決定された後、アフィン双予測探索は、最良の単予測CPMVおよび一方の側の参照リストを使用し、アフィン双予測出力を最適化するために他方の参照リストの最良のCPMVを探索することによって実行されることができる。アフィン双予測探索を、最適な結果を得るために2つの参照リストに対して反復的に実行することができる。
【0132】
図16は、参照ピクチャに関連付けられた最終CPMVを計算することができる例示的なアフィンMEプロセス(1600)を示している。アフィンMEプロセス(1600)は、(S1602)で開始することができる。(S1602)において、現在のブロックのベースCPMVを決定することができる。ベースCPMVは、マージインデックス、高度動きベクトル予測(AMVP)予測子インデックス、アフィンマージインデックスなどのうちの1つに基づいて決定されることができる。
【0133】
(S1604)において、ベースCPMVに基づいて現在のブロックの初期アフィン予測を取得することができる。例えば、ベースCPMVによれば、6パラメータアフィン動きモデルの4パラメータアフィン動きモデルを適用して、初期アフィン予測を生成することができる。
【0134】
(S1606)において、初期アフィン予測の勾配を取得することができる。例えば、初期アフィン予測の勾配を、式(5)および式(6)に基づいて取得することができる。
【0135】
(S1608)において、デルタCPMVを決定することができる。いくつかの実施形態では、デルタCPMVを、初期アフィン予測と、第1のアフィン予測などの後続のアフィン予測との間の変位に関連付けることができる。初期アフィン予測およびデルタCPMVの勾配に基づいて、第1のアフィン予測を取得することができる。第1のアフィン予測は、第1のCPMVに対応することができる。
【0136】
(S1610)において、デルタCPMVがゼロであるか、または反復回数が閾値以上であるかどうかをチェックするための判定を行うことができる。デルタCPMVがゼロであるか、または反復回数が閾値以上である場合、最終(または選択された)CPMVを(S1612)において決定することができる。最終(または選択された)CPMVは、初期アフィン予測およびデルタCPMVの勾配に基づいて決定される第1のCPMVとすることができる。
【0137】
さらに(S1610)を参照すると、デルタCPMVがゼロではないか、または反復回数が閾値未満である場合、新しい反復を開始することができる。新しい反復では、更新されたアフィン予測を生成するために、更新されたCPMV(例えば、第1のCPMV)を(S1604)に提供することができる。次いで、アフィンMEプロセス(1600)は、(S1606)に進むことができ、更新されたアフィン予測の勾配を計算することができる。次いで、アフィンMEプロセス(1600)は、(S1608)に進み、新しい反復を継続することができる。
【0138】
アフィン動きモデルにおいて、4パラメータアフィン動きモデルは、回転およびズームの動きを含む式によってさらに記述されることができる。例えば、4パラメータアフィン動きモデルを、式(13)において以下のように書き換えることができる。
【数9】
ここで、rおよびθは、それぞれズームファクタおよび回転角度とすることができる。現在のフレームが2つの参照フレームの時間的に中間にあり、動きが一定かつ連続的である場合、ズームファクタは指数関数的であり得るが、回転角度は一定であり得る。したがって、参照リスト0へのアフィン動きのような、ある参照へのアフィン動きを定式化するために、式(13)を適用することができる。参照リスト1などの現在のフレームの時間的に別の側にある別の参照フレームへのアフィン動きは、式(14)で記述されることができる。
【数10】
式(13)および式(14)は、対称アフィン動きモデルと呼ぶことができる。コーディング効率をさらに改善するために、対称アフィン動きモデルを適用することができる。a、b、r、およびθの間の関係は、式(15)において以下のように記述されることができることに留意されたい。
【数11】
【0139】
対称動きベクトル差(MVD)コーディングを、VVCなどにおいて適用することができる。例えば、単方向予測MVDシグナリングおよび双方向予測MVDシグナリングの他に、双方向予測MVDシグナリングのための対称MVD(SMVD)モードを適用することができる。対称MVDモードでは、リスト0とリスト1の両方の参照ピクチャインデックスおよびリスト1のMVDを含む動き情報はシグナリングされずに導出され得る。
【0140】
対称MVDモードの復号プロセスは、以下のように提供されることができる。
(1)スライスレベルでは、BiDirPredFlag、RefIdxSymL0、およびRefIdxSymL1などの変数は、以下のように導出されることができる。
a)mvd_l1_zero_flagが1である場合、BiDirPredFlagは0に等しく設定される。
b)そうではなく、リスト0内の最も近い参照ピクチャとリスト1内の最も近い参照ピクチャとが参照ピクチャの前方と後方のペアのうちの参照ピクチャの後方と前方のペアを形成する場合には、BiDirPredFlagは1に設定され、リスト0とリスト1両方の参照ピクチャが短期参照ピクチャである。そうでなければ、BiDirPredFlagは0に設定される。
(2)CUレベルでは、CUが双予測コーディングされ、BiDirPredFlagが1に等しい場合、対称モードが使用されるか否かを指示する対称モードフラグが明示的にシグナリングされることができる。
【0141】
対称モードフラグが真である場合、mvp_l0_flag、mvp_l1_flag、およびMVD0のみが明示的にシグナリングされる。リスト0およびリスト1の参照インデックスは、それぞれ、参照ピクチャのペアに等しく設定されることができる。MVD1は、(-MVD0)に等しくなるように設定されることができる。最終動きベクトルを、以下の式(16)に示すことができる。
【数12】
ここで、mvx
0は、x方向のリスト0内の現在のブロックと参照ブロックとの間の最終動きベクトルとすることができる。mvy
0は、y方向のリスト0内の現在のブロックと参照ブロックとの間の最終動きベクトルとすることができる。mvpx
0は、x方向のリスト0内の初期参照ブロックに基づく現在のブロックの動きベクトル予測子とすることができる。mvpy
0は、y方向のリスト0内の初期参照ブロックに基づく現在のブロックの動きベクトル予測子とすることができる。mvdx
0は、最終動きベクトルと、x方向のリスト0に関連付けられた動きベクトル予測子との間の動きベクトル差とすることができる。mvdy
0は、最終動きベクトルと、y方向のリスト0に関連付けられた動きベクトル予測子との間の動きベクトル差とすることができる。同様に、mvx
1は、x方向のリスト1内の現在のブロックと参照ブロックとの間の最終動きベクトルとすることができる。mvy
1は、y方向のリスト1内の現在のブロックと参照ブロックとの間の最終動きベクトルとすることができる。mvpx
1は、x方向のリスト1内の初期参照ブロックに基づく現在のブロックの動きベクトル予測子とすることができる。mvpy
1は、y方向のリスト1内の初期参照ブロックに基づく現在のブロックの動きベクトル予測子とすることができる。mvdx
1は、最終動きベクトルと、x方向のリスト1に関連付けられた動きベクトル予測子との間の動きベクトル差とすることができる。mvdy
1は、最終動きベクトルと、y方向のリスト1に関連付けられた動きベクトル予測子との間の動きベクトル差とすることができる。
【0142】
図17は、対称MVDモードの例示的な図を示している。
図17に示すに、現在のブロック(1708)は、現在のピクチャ(1702)に含まれ得る。現在のブロック(1708)は、第1の参照ピクチャ(1704)内に参照ブロック(1710)を有することができる。第1の参照ピクチャ(1704)は、第1の参照リスト(または参照ピクチャリスト)L0に含まれ、参照リストL0に関連付けられた現在のブロックの動きベクトル予測子に対応することができる。現在のブロックは、第2の参照ピクチャ(1706)内に参照ブロック(1716)を有することができる。第2の参照ピクチャ(1706)は、第2の参照リスト(または第2の参照ピクチャリスト)L1に含まれ、参照リストL1に関連付けられた現在のブロック(1708)の動きベクトル予測子に対応することができる。いくつかの実施形態では、第1の参照ピクチャ(1704)内の更新された第1の参照ブロック(1712)を決定することができる。更新された第1の参照ブロック(1712)および第1の参照ブロック(1710)はMVD0に対応することができる。対称MVDモードによれば、第2の参照ピクチャ(1706)内の更新された第2の参照ブロック(1714)を決定することができる。更新された第2の参照ブロック(1714)および第2の参照ブロック(1716)は、MVD1に対応することができる。MVD1は、MVD1=-MVD0となるように、MVD0に対して対称であり得る。
【0143】
エンコーダでは、対称MVD動き推定(または探索)は、初期MV評価から開始することができる。初期MV候補のセットは、単予測探索から得られたMV、双予測探索から得られたMV、およびAMVPリストからのMVを含むことができる。最も低いレート歪みコストを有するMVは、対称MVD動き探索のための初期MVとして選択されることができる。
【0144】
双予測アフィンの対称MVDも提供することができる。例えば、双予測アフィンモードの対称MVDは、双予測された並進動きの対称MVDコーディングのプロセスに基づいて提供されることができる。
【0145】
対称モード(例えば、双予測アフィンの対称MVD)が使用される場合、MVPインデックスフラグ(例えば、mvp_l0_flagおよびmvp_l1_flag)およびリスト0内のMVD(例えば、MVD0)が明示的にシグナリングされ得る。リスト0およびリスト1の参照インデックスを、参照ピクチャのペアに等しく設定することができ、これは対称MVDコーディングと同じ方法で処理されることができる。アフィンモードフラグが真である場合、リスト1における左上制御点のMVDを、リスト0における左上制御点のMVDの負値に等しく設定することができる。リスト1内の他の制御点のMVDを0に設定することができる。最終制御点動きベクトルを、以下のように式(17)および式(18)において導出することができる。
左上制御点の場合:
【数13】
他の制御点(j=1または2)の場合:
【数14】
ここで、下付き文字の第1の次元は参照リスト(例えば、リスト0またはリスト1)を示し、下付き文字の第2の次元は制御点インデックスを示す。
【0146】
アフィン動きモデルのアフィン動きパラメータのシグナリングコストは、並進動きのシグナリングコストよりもはるかに高くなり得る。対称MVDコーディングをアフィン動きに適用することができるが、全体的なコーディング効率は十分ではない場合がある。
【0147】
本開示では、対称アフィンモードを提供することができる。対称アフィンモードに基づいて、第1の参照リスト(例えば、参照リストL0)のアフィン動き情報をシグナリングすることができる。別の参照リスト(例えば、参照リストL1)のアフィン動き情報を、第1の参照リストのアフィン動き情報に基づいて導出することができる。アフィン動き情報は、アフィンモデルのタイプ(例えば、4パラメータアフィンモデルまたは6パラメータアフィンモデル)、アフィンモデルのアフィン動きパラメータなどを含むことができる。対称アフィンモードによれば、一例では、第1のアフィンパラメータおよび第2のアフィンパラメータは反対の符号を有することができる。一例では、第1のアフィンパラメータおよび第2のアフィンパラメータは逆の値を有することができる。一例では、第1のアフィンパラメータおよび第2のアフィンパラメータは、第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離および第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離に基づく比例関係を有することができる。
【0148】
一実施形態では、対称アフィンモードは、ビットストリーム内のシグナリング情報によって示されことができる。ビットストリーム内のシグナリング情報は、フラグを含み得る。フラグは、例えば、対称アフィンフラグ(SAFF)とすることができる。一例では、フラグ(例えば、SAFF)を、コンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストでコーディングすることができる。一例では、フラグをバイパスコーディングすることができる。
【0149】
一実施形態では、対称アフィンモードは、特定のアフィンタイプに対してのみ使用され得る。例えば、対称アフィンモードは、4パラメータアフィンモデルが使用される場合にのみ適用可能であり得る。一例では、対称アフィンフラグ(またはSAFFフラグ)が真としてシグナリングされる場合、アフィンタイプ(例えば、4パラメータアフィンモデルまたは6パラメータアフィンモード)はシグナリングされないが、4パラメータアフィンモデルとして導出され得る。一例では、アフィンタイプが6パラメータアフィンモデルとしてシグナリングされる場合、SAFFフラグはシグナリングされず、偽として導出され得る。
【0150】
一実施形態では、対称アフィンモードは、MVDに関連する条件が満たされたときに使用されることができる(またはSAFFが真である)。例えば、対称アフィンモードは、対称MVD(SMVD)が満たされるときに使用されることができる。したがって、現在のフレームが将来の参照フレームおよび過去の参照フレームを有する場合、現在のフレームは、さらなる参照フレームおよび過去の参照フレームの時間的に中間位置にあり得る。
【0151】
一例では、リストL0(または第1の参照リストL0)内の参照ピクチャのピクチャ順序カウント(POC)は、Ref_POC_L0と表すことができる。リストL1(または第2の参照リストL1)における参照ピクチャのPOCは、Ref_POC_L1と表すことができる。現在のピクチャのPOCは、Curr_POCと表すことができる。したがって、対称アフィンモードは、式(19)に示す条件を満たすことなどによって、SMVDが満たされるときに使用されることができる。
Ref_POC_L0-Curr_POC=Curr_POC-Ref_POC_L1 式(19)
ここで、Ref_POC_L0-Curr_POCは、現在のピクチャと第1の参照リスト(例えば、リストL0)内の参照ピクチャとの間の第1の時間的距離を表すことができ、Curr_POC-Ref_POC_L1は、現在のピクチャと第2の参照リスト(例えば、リストL1)内の参照ピクチャとの間の第2の時間的距離を表すことができる。
【0152】
一実施形態では、SAFFがオンまたは真である場合、参照インデックス情報はシグナリングされなくてもよい。代わりに、参照インデックス情報を導出することができる。一例では、参照インデックス情報を、式(16)に従って対称MVD(SMVD)においてMVDが導出されるのと同じ方法で導出することができる。参照インデックス情報は、参照リスト内のどの参照ピクチャが現在のピクチャの参照ピクチャであるかを示すことができる。例えば、第1の参照リスト内の現在のピクチャの参照ピクチャが決定されると、第1の参照リスト内の現在のピクチャの参照ピクチャに基づいて、第2の参照リスト内の現在のピクチャの第2の参照ピクチャに対する参照インデックス情報を導出することができる。導出された参照インデックス情報は、対称アフィンモードに基づいて、第2の参照リスト内のどの参照ピクチャが現在のピクチャの第2の参照ピクチャであるかを伝えることができる。
【0153】
一実施形態では、SAFFがオンまたは真であるとき、アフィン動き情報(例えば、アフィン動きパラメータまたはアフィンタイプ)は、リスト(例えば、第1の参照リストL0)に対してのみシグナリングされ得る。アフィン動き情報を、式(17)および式(18)に記載された対称アフィンモードに基づいて別のリスト(例えば、第2の参照リストL1)について導出することができる。対称アフィンモードによれば、回転ファクタ(例えば、θ)、ズームファクタ(例えば、r)、および並進動きベクトル(例えば、cおよびf)などの2つの参照リスト内のアフィン動きパラメータは対称であり得る。一例では、第1の参照リスト内の第1の回転ファクタおよび第2の参照リスト内の第2の回転ファクタなど、2つの参照リスト内の回転ファクタの合計はゼロであり得る。一例では、2つのリストの並進動きベクトル(または並進ファクタ)の合計はゼロであり得る。2つのリストのズームファクタは、逆(すなわち逆数)であり得る。一例では、2つのリストのズームファクタの積は1であり得る。一例では、第1の参照リストに関連付けられたズームファクタはrとすることができ、第2の参照リストに関連付けられたズームファクタは1/rとすることができる。したがって、現在のピクチャ内の現在のブロックおよび第1の参照リスト内の参照ピクチャの参照ブロックに関連付けられたアフィンモデルのアフィン動きパラメータが取得されると、対称アフィンモードに基づいて、現在のピクチャ内の現在のブロックおよび第2の参照リスト内の参照ピクチャの参照ブロックに関連付けられたアフィンモデルのアフィン動きパラメータを導出することができる。
【0154】
対称アフィンモードに基づくMV導出は、制御点、アフィン動きパラメータ(例えば、a、b、c、およびd)、またはズームファクタおよび回転ファクタの間の変換を用いて実行されることができることに留意されたい。例えば、制御点とアフィン動きパラメータとの間の変換は、式(1)および式(2)に基づいて処理されることができる。アフィン動きパラメータ(例えば、a、b、c、およびd)とズームファクタおよび回転ファクタとの間の変換は、式(13)および式(14)に基づいて処理されることができる。
【0155】
一実施形態では、SAFFがオンまたは真であるとき、アフィン動き情報(例えば、アフィン動きパラメータまたはアフィンタイプ)は、リスト(例えば、第1の参照リスト)に対してシグナリングされることができる。両方の参照リスト(例えば、第1の参照リストおよび第2の参照リスト)の参照インデックス(例えば、どの参照ピクチャが使用されるかを示すためのインデックス)もシグナリングされることができる。別のリスト(例えば、第2の参照リスト)の制御点動きベクトルは、式(2)に記載された4パラメータアフィンモデルなどのアフィンモデルを使用して、リストL0(または第1の参照リストL0)およびリストL1(または第2の参照リストL1)上の現在のピクチャおよび参照ピクチャのPOC距離(または時間的距離)間の比に基づいて導出されることができる。したがって、回転パラメータは時間的距離に線形に比例してもよく、一方、ズームファクタは時間的距離に指数関数的に比例してもよい。
【0156】
一例では、現在のピクチャとリストL0内の第1の参照ピクチャとの間の第1の時間的距離dPoc0、および現在のピクチャとリストL1内の第2の参照ピクチャとの間の第2の時間的距離dPoc1は、以下の式(20)および式(21)で記述することができる。
dPoc0=Poc_Cur-RefPoc_L0 式(20)
dPoc1=Poc_Cur-RefPoc_L1 式(21)
【0157】
一例では、式(22)に示すように、第1の回転ファクタθ
0と第2の回転ファクタθ
1との比は、第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離dPoc0と、第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離dPoc1との比に線形に比例することができる。
【数15】
【0158】
一例では、式(23)に示すように、第1のズームファクタr
0と第2のズームファクタr
1との比は、第1の時間的距離dPoc0と第2の時間的距離dPoc1との比に指数関数的に比例することができる。
【数16】
【0159】
本開示では、対称アフィンモードをエンコーダに適用することができる。対称アフィンモードに基づいて、アフィン動き推定における第1の参照リストの開始点(例えば、ベースCPMVまたは初期CPMV)を最初に決定することができる。第2の参照リストの開始点を、第1の参照リストの開始点に基づいて導出することができる。いくつかの実施形態では、対称アフィンモードは、特定のアフィンモデルが適用されるときに使用されることができる。例えば、対称アフィンモードは、アフィン動き推定において4パラメータアフィンモデルが適用されるときに使用されることができる。
【0160】
対称アフィンモードでは、反復探索を使用することができる。反復探索を、例えば、
図15および
図16に従って処理することができる。反復探索では、4パラメータアフィン動きなどのアフィン動き(またはベースCPMV)を最初に第1の参照リストに対して決定することができる。いくつかの実施形態では、アフィン動きを、マージ候補、AMVP候補、およびアフィンマージ候補のうちの1つに基づいて決定することができる。第2の参照リストの開始点(またはベースCPMV)を、対称アフィンモードに基づいて導出することができる。例えば、開始点は、第2の参照リストの開始点のアフィンパラメータが第1の参照リストのアフィン動きのアフィンパラメータに対して対称であり得るように、第1の参照リストのアフィン動きに基づいて決定されることができる。
【0161】
図16に示すように、第2の参照リストにおける開始点に基づいて反復探索を行うことができる。(S1602)において、反復プロセスの第1の反復において、対称アフィンモードに基づいて第1の参照リストのアフィン動きから第2の参照リストに対する現在のブロックのベースCPMVを決定することができる。ベースCPMVを、第2の参照リストL1内の初期参照ブロックと関連付けることができる。(S1604)において、開始点(または初期予測子)P
0,L1(i,j)を、参照リストL1(または第2の参照リストL1)内の初期参照ブロック(またはベースCPMV)に基づいて決定することができる。(S1606)において、式(5)および式(6)に基づいてなど、P
0,L1(i,j)の勾配を計算することができる。例えば、g
x1,L1(i,j)は、x方向における第1の予測子P
1,L1(i,j)の勾配とすることができる。g
y1,L1(i,j)は、第1の予測子P
1,L1(i,j)のy方向の勾配とすることができる。
【0162】
(S1608)において、初期参照ブロックおよび参照リストL1内の第1の参照ブロックなどの、参照リストL1内の2つの参照ブロック(またはサブブロック)に関連付けられたデルタCPMVは、式(1)および式(2)に示す4パラメータアフィンモデルなどのアフィンタイプに基づいて計算されることができる。デルタCPMVは、Δvx0,L1(i,j)およびΔvy0,L1(i,j)で表すことができる。Δvx0,L1(i,j)は、x方向に沿った初期参照ブロックおよび参照リストL1内の第1の参照ブロックなどの2つの参照ブロック(またはサブブロック)の差または変位であり得る。Δvy0,L1(i,j)は、y方向に沿った初期参照ブロックおよび参照リストL1内の第1の参照ブロックなどの2つの参照ブロック(またはサブブロック)の差または変位であり得る。
【0163】
(S1610)において、参照リストL1内の第1の参照ブロックに基づく現在のブロックの第1の予測子P1,L1(i,j)を、式(24)に従って決定することができる。
P1,L1(i,j)=P0,L1(i,j)+gx0,L1(i,j)*Δvx0,L1(i,j)+gy0,L1(i,j)*Δvy0,L1(i,j)式(24)
ここで、(i,j)は、現在のブロック内のピクセル(またはサンプル)の位置とすることができる。
【0164】
Δvx0,L1(i,j)およびΔvy0,L1(i,j)のうちの少なくとも1つがゼロでないことに応答して、反復探索は、次いで、(S1614)に従って第2の反復に進むことができる。(S1614)において、更新されたCPMV(例えば、P1,L1(i,j)に関連付けられた第1のCPMV)を(S1604)に提供することができ、そこで更新されたCPMV(または更新されたアフィン予測)を生成することができる。次いで、反復探索は(S1606)に進むことができ、ここで更新されたCPMVの勾配を計算することができる。反復探索は、新しい反復(例えば、第2の反復)を継続するために(S1608)に進むことができる。2回目の反復では、参照リストL1内の第2の参照ブロックに基づく現在のブロックの第2の予測子P2,L1(i,j)を、式(25)に従って決定することができる。
P2,L1(i,j)=P1,L1(i,j)+gx1,L1(i,j)*Δvx1,L1(i,j)+gy1,L1(i,j)*Δvy1,L1(i,j)式(25)
式(25)に示すように、gx1,L1(i,j)は、x方向における第1の予測子P1,L1(i,j)の勾配とすることができる。gy1,L1(i,j)は、第1の予測子P1,L1(i,j)のy方向の勾配とすることができる。Δvx1,L1(i,j)は、x方向に沿った参照リストL1内の第1の参照ブロックと第2の参照ブロックとの差分または変位であり得る。Δvy1,L1(i,j)は、y方向に沿った参照リストL1内の第1の参照ブロックと第2の参照ブロックとの差分または変位であり得る。
【0165】
反復は、反復回数Nが反復プロセスの閾値(または最大反復回数)以上であるか、または参照リストL1内のN番目の参照ブロックと参照リストL1内の(N+1)番目の参照ブロックとの間の変位(例えば、Δv
xN,L1(i,j)、Δv
yN,L1(i,j))がゼロである場合に終了することができる。これにより、
図16の(S1612)に示すように、参照リストL1のN番目の参照ブロックに基づいて、最終CPMV(または改良されたCPMV)を決定することができる。
【0166】
第2の参照リストL1のアフィン動き(またはアフィン動きパラメータ)の改良後に、対称アフィンモードを使用して、第2の参照リストL1の改良されたアフィン動きに基づいて第1の参照リストL0のアフィン動き(またはアフィン動きパラメータ)を導出することができる。例えば、第1の参照リストL0の開始点(またはベースCPMV)を、対称アフィンモードに従って第2の参照リストL1の最終CPMVに基づいて導出することができる。第1の参照リストL0に対するアフィン動き(またはアフィン動きパラメータ)の改良は、再び
図16に示す反復探索に従って進めることができる。そのようなプロセスは、1つまたは複数の条件が満たされるまで反復的に実行され得る。例えば、プロセスは、特定の反復回数に達するまで、またはアフィン動きのレート歪みコストが特定の閾値に達するまで反復的に実行され得る。
【0167】
図18は、本開示のいくつかの実施形態による例示的な復号プロセス(1800)を概説するフローチャートを示している。
図19は、本開示のいくつかの実施形態による例示的な符号化プロセス(1900)を概説するフローチャートを示している。
図20は、本開示のいくつかの実施形態による例示的な符号化プロセス(2000)を概説するフローチャートを示している。提案されるプロセスは、別々に使用されても、任意の順序で組み合わせられてもよい。さらに、プロセス(または、実施形態)の各々、エンコーダ、およびデコーダは、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実装されてよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0168】
プロセス(例えば、(1800)、(1900)、および(2000))の動作を、必要に応じて、任意の量または順序で組み合わせ、あるいは配置してもよい。実施形態において、プロセス(例えば、(1800)、(1900)、および(2000))の動作のうちの2つ以上が並行して実施されてもよい。
【0169】
プロセス(例えば、(1800)、(1900)、および(2000))を、ブロックの再構築および/または符号化において、再構築中のブロックのための予測ブロックを生成するために使用することができる。様々な実施形態において、プロセス(例えば、(1800)、(1900)、および(2000))は、端末デバイス(310)、(320)、(330)、および(340)の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態において、プロセス(例えば、(1800)、(1900)、および(2000))はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(例えば、(1800)、(1900)、および(2000))を実行する。
【0170】
図18に示すように、プロセス(1800)は、(S1801)から始まり、(S1810)に進むことができる。(S1810)において、現在のピクチャ内の現在のブロックのコーディングされた情報を、コーディングされたビデオビットストリームから受信することができる。コーディングされた情報は、対称アフィンモードが現在のブロックに適用されるかどうかを示すフラグを含むことができる。
【0171】
(S1820)において、対称アフィンモードが現在のブロックに適用されることを示すフラグに応答して、対称アフィンモードの第1のアフィンモデルの第1のアフィンパラメータを、受信したコーディングされた情報から決定することができる。第1のアフィンモデルを、現在のピクチャの第1の参照ピクチャ内の現在のブロックおよび現在のブロックの第1の参照ブロックと関連付けることができる。
【0172】
(S1830)において、対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータを、第1のアフィンモデルの第1のアフィンパラメータに基づいて導出することができる。第2のアフィンモデルを、現在のピクチャの第2の参照ピクチャ内の現在のブロックおよび現在のブロックの第2の参照ブロックと関連付けることができる。第1のアフィンパラメータおよび第2のアフィンパラメータは、反対の符号、逆の値、ならびに第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離および第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離に基づく比例関係のうちの1つを有することができる。
【0173】
(S1840)において、現在のブロックのCPMVを、第1のアフィンモデルおよび第2のアフィンモデルに基づいて決定することができる。
【0174】
(S1850)において、現在のブロックを、現在のブロックの決定されたCPMVに基づいて再構築することができる。
【0175】
いくつかの実施形態では、フラグは、CABACコンテキストおよびバイパスコードのうちの1つを介してコーディングされることができる。
【0176】
いくつかの実施形態では、対称アフィンモードは、対称アフィンモードが現在のブロックに適用されることを示すフラグに応答して、4パラメータアフィンモデルと関連付けられると決定されることができる。
【0177】
いくつかの実施形態では、フラグは、現在のピクチャと第1の参照ピクチャとの間の第1の時間的距離が現在のピクチャと第2の参照ピクチャとの間の第2の時間的距離に等しいことに基づいて、対称アフィンモードが現在のブロックに適用されることを示すことができる。
【0178】
対称アフィンモードが現在のブロックに適用されることを示すフラグに応答して、参照インデックス情報を導出することができる。参照インデックス情報は、第1の参照リスト内のどの参照ピクチャが第1の参照ピクチャであり、第2の参照リスト内のどの参照ピクチャが第2の参照ピクチャであるかを示すことができる。
【0179】
第1のアフィンパラメータは、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含むことができる。第2のアフィンパラメータは、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含むことができる。
【0180】
一例では、第1の回転ファクタと第2の回転ファクタとの和はゼロとすることができる。第1の並進ファクタと第2の並進ファクタとの和はゼロとすることができる。第1のズームファクタと第2のズームファクタとの積は1とすることができる。
【0181】
一例では、第1の回転ファクタと第2の回転ファクタとの比は、第1の時間的距離と第2の時間的距離との比に線形に比例することができる。第1のズームファクタと第2のズームファクタとの比は、第1の時間的距離と第2の時間的距離との比に指数関数的に比例することができる。
【0182】
次いで、プロセスは(S1899)に進み、終了する。
【0183】
プロセス(1800)を、適切に適合させることができる。プロセス(1800)の(1つまたは複数の)ステップを、修正および/または省略することができる。(1つまたは複数の)追加のステップを追加することができる。任意の適切な実装順序を使用することができる。
【0184】
図19に示すように、プロセス(1900)は、(S1901)から始まり、(S1910)に進むことができる。(S1910)において、現在のピクチャ内の現在のブロックの第1のアフィンモデルの第1のアフィンパラメータを決定することができる。第1のアフィンモデルを、第1の参照ピクチャ内の現在のブロックおよび現在のブロックの第1の参照ブロックと関連付けることができる。
【0185】
(S1920)において、第2の参照ピクチャに関連付けられた現在のブロックの初期CPMVを、第1のアフィンモデルから導出された第2のアフィンモデルに基づいて決定することができる。第2のアフィンモデルを、第2の参照ピクチャ内の現在のブロックおよび現在のブロックの第2の参照ブロックと関連付けることができる。第2のアフィンモデルの第2のアフィンパラメータは、第1のアフィンモデルの第1のアフィンパラメータに対して対称であってもよい。
【0186】
(S1930)において、第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVを、第2の参照ピクチャに関連付けられた現在のブロックの初期CPMVおよび第1のアフィン動き探索に基づいて決定することができる。
【0187】
(S1940)において、第1の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVを、第1の参照ピクチャに関連付けられた現在のブロックの初期CPMVおよび第2のアフィン動き探索に基づいて決定することができる。第1の参照ピクチャに関連付けられた現在のブロックの初期CPMVは、第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVから導出され、改良されたCPMVに対して対称であってもよい。
【0188】
(S1950)において、現在のブロックの予測情報を、第1の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVおよび第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVに基づいて決定することができる。
【0189】
第2の参照に関連付けられた現在のブロックの改良されたCPMVを決定するために、現在のブロックの初期予測子は、第2の参照ピクチャに関連付けられた現在のブロックの初期CPMVに基づいて決定されることができる。現在のブロックの第1の予測子は、初期予測子に基づいて決定されることができる。第1の予測子は、(i)現在のブロックの初期予測子と、(ii)初期予測子の勾配値の第1の成分と初期予測子および第1の予測子に関連付けられた動きベクトル差の第1の成分との積と、(iii)初期予測子の勾配値の第2の成分と動きベクトル差の第2の成分との積との和に等しくなり得る。
【0190】
第2の参照ピクチャに関連付けられた現在のブロックの改良されたCPMVを決定するために、現在のブロックの改良されたCPMVは、(i)Nが第1のアフィン動き探索の上限反復値に等しいこと、および(ii)N番目の予測子および(N+1)番目の予測子に関連付けられた動きベクトル差がゼロであること、のうちの一方に応答して、第2の参照ピクチャに関連付けられたN番目の予測子に基づいて決定されることができる。
【0191】
いくつかの実施形態では、第1のアフィンパラメータは、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含むことができる。第2のアフィンパラメータは、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含むことができる。
【0192】
一例では、第1の回転ファクタと第2の回転ファクタとの和はゼロとすることができる。第1の並進ファクタと第2の並進ファクタとの和はゼロとすることができる。第1のズームファクタと第2のズームファクタとの積は1とすることができる。
【0193】
一例では、第1の回転ファクタと第2の回転ファクタとの比は、第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離と、第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離との比に線形に比例することができる。第1のズームファクタと第2のズームファクタとの比は、第1の時間的距離と第2の時間的距離との比に指数関数的に比例することができる。
【0194】
次いで、プロセスは(S1999)に進み、終了する。
【0195】
プロセス(1900)は、適切に適合させることができる。プロセス(1900)の(1つまたは複数の)ステップを、修正および/または省略することができる。(1つまたは複数の)追加のステップを追加することができる。任意の適切な実装順序を使用することができる。
【0196】
図20に示すように、プロセス(2000)は、(S2001)から始まり、(S2010)に進むことができる。(S2010)において、現在のピクチャ内の現在のブロックに適用される対称アフィンモードの第1のアフィンモデルの第1のアフィンパラメータを決定することができる。第1のアフィンモデルを、現在のピクチャの第1の参照ピクチャ内の現在のブロックおよび現在のブロック内の第1の参照ブロックと関連付けることができる。
【0197】
(S2020)において、対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータを、第1のアフィンモデルの第1のアフィンパラメータに基づいて決定することができる。第2のアフィンモデルを、第2の参照ピクチャ内の現在のブロックおよび現在のブロックの第2の参照ブロックと関連付けることができる。第1のアフィンパラメータおよび第2のアフィンパラメータは、反対の符号、逆の値、ならびに第1の参照ピクチャと現在のピクチャとの間の第1の時間的距離および第2の参照ピクチャと現在のピクチャとの間の第2の時間的距離に基づく比例関係のうちの1つを有することができる。
【0198】
(S2030)において、現在のブロックの制御点動きベクトル(CPMV)を、第1のアフィンモデルおよび第2のアフィンモデルに基づいて決定することができる。
【0199】
(S2040)において、現在のブロックの予測情報を、現在のブロックの決定されたCPMVと、対称アフィンモードが現在のブロックに適用されるかどうかを示すフラグとに基づいて生成することができる。
【0200】
上述された技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に記憶されることができる。例えば、
図21は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム(2100)を示す。
【0201】
コンピュータソフトウェアは、直接または、1つもしくは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによる解釈、マイクロコード実行などを介して実行されることができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となり得る任意の適切な機械語またはコンピュータ言語を使用してコーディングされることができる。
【0202】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行されることができる。
【0203】
図21に示されたコンピュータシステム(2100)の構成要素は、本質的に例示であり、本開示の実施形態を実装するためのコンピュータソフトウェアの使用範囲または機能にいかなる制限を加えることを意図するものではない。構成要素の構成は、コンピュータシステム(2100)の例示的な実施形態に示された構成要素のいずれか1つまたは組み合わせに関するいかなる依存性または要件も有すると解釈されるべきでない。
【0204】
コンピュータシステム(2100)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きなどの)触覚入力、(音声、拍手などの)オーディオ入力、(ジェスチャなどの)視覚入力、(描写されていない)嗅覚入力を介して、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像は静止画像カメラから取得など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むためにも使用され得る。
【0205】
入力ヒューマンインターフェースデバイスには、キーボード(2101)、マウス(2102)、トラックパッド(2103)、タッチスクリーン(2110)、データグローブ(図示せず)、ジョイスティック(2105)、マイクロフォン(2106)、スキャナ(2107)、カメラ(2108)のうちの1つまたは複数が含まれてもよい(各々の1つのみが描写されている)。
【0206】
コンピュータシステム(2100)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を介して、1人または複数の人間のユーザの感覚を刺激している場合がある。そのようなヒューマンインターフェース出力デバイスには、触覚出力デバイス(例えば、タッチスクリーン(2110)、データグローブ(図示せず)、またはジョイスティック(2105)による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、(スピーカ(2109)、ヘッドフォン(描写せず)などの)オーディオ出力デバイス、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2110)など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちのいくつかは、ステレオグラフィック出力、仮想現実眼鏡(描写せず)、ホログラフィックディスプレイおよびスモークタンク(描写せず)などの手段を介して2次元視覚出力または3次元以上の出力を出力することが可能な場合がある)視覚出力デバイス、ならびにプリンタ(描写せず)が含まれてもよい。
【0207】
コンピュータシステム(2100)は、CD/DVDまたは同様の媒体(2121)を有するCD/DVD ROM/RW(2120)を含む光学媒体、サムドライブ(2122)、リムーバブルハードドライブまたはソリッドステートドライブ(2123)、テープおよびフロッピーディスクなどのレガシー磁気媒体(描写せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(描写せず)などの、人間がアクセス可能なストレージデバイスおよびそれらに関連する媒体を含むこともできる。
【0208】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0209】
コンピュータシステム(2100)は、1つまたは複数の通信ネットワーク(2155)へのインターフェース(2154)を含むこともできる。ネットワークは、例えば、無線、有線、光とすることができる。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性、などとすることができる。ネットワークの例には、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波ブロードキャストTVを含むTVの有線またはワイヤレスの広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、通常、(例えば、コンピュータシステム(2100)のUSBポートなどの)特定の汎用データポートまたは周辺バス(2149)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、通常、以下に記載されるシステムバスに取り付けることによってコンピュータシステム(2100)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2100)は他のエンティティと通信することができる。そのような通信は、単方向受信のみ(例えば、ブロードキャストTV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルもしくは広域のデジタルネットワークを使用する他のコンピュータシステムとの双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用され得る。
【0210】
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースを、コンピュータシステム(2100)のコア(2140)に取り付けることができる。
【0211】
コア(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などが含まれる。
【0212】
CPU(2141)、GPU(2142)、FPGA(2143)、およびアクセラレータ(2144)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードを、ROM(2145)またはRAM(2146)に記憶することができる。移行データをRAM(2146)に記憶することもでき、永続データを、例えば、内部大容量ストレージ(2147)に記憶することができる。メモリデバイスのいずれかに対する高速の記憶および検索は、1つまたは複数のCPU(2141)、GPU(2142)、大容量ストレージ(2147)、ROM(2145)、RAM(2146)などと密接に関連付けることができるキャッシュメモリを使用して可能にすることができる。
【0213】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
【0214】
一例として、限定としてではなく、アーキテクチャを有するコンピュータシステム(2100)、具体的にはコア(2140)は、1つまたは複数の有形のコンピュータ可読媒体内に具現化されたソフトウェアを(CPU、GPU、FPGA、アクセラレータなどを含む)(1つまたは複数の)プロセッサが実行する結果として、機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介されたユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(2147)またはROM(2145)などの非一時的な性質のコア(2140)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2140)によって実行することができる。コンピュータ可読媒体は、特定のニーズに応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2140)、および具体的にはそのうちの(CPU、GPU、FPGAなどを含む)プロセッサに、RAM(2146)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路(例えば、アクセラレータ(2144))内に配線された、またはさもなければ具現化されたロジックの結果として、機能を提供することができる。必要に応じて、ソフトウェアへの参照はロジックを包含することができ、その逆も同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
付記A:頭字語
JEM:共同探索モデル
VVC:多用途ビデオコーディング
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオコーディング
SEI:補足拡張情報
VUI:ビデオユーザビリティ情報
GOP:ピクチャグループ
TU:変換ユニット
PU:予測ユニット
CTU:コーディングツリーユニット
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号対雑音比
CPU:中央処理装置
GPU:グラフィックス処理装置
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み出し専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバル移動体通信システム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディングユニット
【0215】
本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0216】
0 参照リスト、1 参照リスト、101 矢印が集中する点、サンプル、102 矢印、103 矢印、104 正方形ブロック、110 概略図、201 現在のブロック、202 サンプル、203 サンプル、204 サンプル、205 サンプル、206 サンプル、300 通信システム、310 端末デバイス、320 端末デバイス、330 端末デバイス、340 端末デバイス、350 通信ネットワーク、400 通信システム、401 ビデオソース、402 ビデオピクチャのストリーム、403 ビデオエンコーダ、404 符号化されたビデオデータ、405 ストリーミングサーバ、406 クライアントサブシステム、407 符号化されたビデオデータの入力コピー、408 クライアントサブシステム、409 符号化されたビデオデータ、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 インターデコーダ、902 ブロック、904 ブロック、1000 ブロック、1002 中心サンプルの動きベクトル、1004 サブブロック、1202 CU、1204 現在のブロック、現在のCU、1302 現在のブロック、現在のCU、1400 現在のブロック、1402 サブブロック、1404 サンプル、1406 参照ピクセル、1408 参照ピクセル、1410 サブブロック、1600 アフィンMEプロセス、1702 現在のピクチャ、1704 第1の参照ピクチャ、1706 第2の参照ピクチャ、1708 現在のブロック、1710 第1の参照ブロック、1712 第1の参照ブロック、1714 第2の参照ブロック、1716 第2の参照ブロック、1800 復号プロセス、1900 符号化プロセス、2000 符号化プロセス、2100 コンピュータシステム、2101 キーボード、2102 マウス、2103 トラックパッド、2105 ジョイスティック、2106 マイクロフォン、2107 スキャナ、2108 カメラ、2109 スピーカ、2110 タッチスクリーン、2120 CD/DVD ROM/RW、2121 CD/DVDまたは同様の媒体、2122 サムドライブ、2123 リムーバブルハードドライブまたはソリッドステートドライブ、2140 コア、2141 中央処理装置、CPU、2142 グラフィックス処理装置、GPU、2143 フィールドプログラマブルゲートエリア、FPGA、2144 ハードウェアアクセラレータ、2145 読み出し専用メモリ、ROM、2146 ランダムアクセスメモリ、RAM、2147 コア内部大容量ストレージ、2148 システムバス、2149 特定の汎用データポートまたは周辺バス、2150 グラフィックスアダプタ、2154 インターフェース、2155 通信ネットワーク
【手続補正書】
【提出日】2023-11-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーダ
が実行
するビデオ復号の方法であって、前記方法は、
コーディングされたビデオビットストリームから現在のピクチャ
における現在のブロックのコーディングされた情報を受信するステップであって、前記コーディングされた情報は、対称アフィンモードが前記現在のブロックに適用されるかどうかを示すフラグを含む、ステップと、
前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、前記受信したコーディングされた情報から前記対称アフィンモードの第1のアフィンモデルの第1のアフィンパラメータを決定するステップであって、前記第1のアフィンモデルは、前記現在のピクチャの第1の参照ピクチャ
における前記現在のブロックおよび前記現在のブロックの第1の参照ブロックに関連付けられている、ステップと、
前記第1のアフィンモデルの前記第1のアフィンパラメータに基づいて、前記対称アフィンモードの第2のアフィンモデルの第2のアフィンパラメータを導出するステップであって、前記第2のアフィンモデルは、前記現在のピクチャの第2の参照ピクチャ
における前記現在のブロックおよび前記現在のブロックの第2の参照ブロックに関連付けられており、前記第1のアフィンパラメータおよび前記第2のアフィンパラメータの各タイプは、反対符号、逆の値、および前記第1の参照ピクチャと前記現在のピクチャとの間の第1の時間的距離と、前記第2の参照ピクチャと前記現在のピクチャとの間の第2の時間的距離とに基づく比例関係のうちの1つを有する、ステップと、
前記第1のアフィンモデルおよび前記第2のアフィンモデルに基づいて前記現在のブロックの制御点動きベクトル(CPMV)を決定するステップと、
前記現在のブロックの前記決定されたCPMVに基づいて前記現在のブロックを再構築するステップと
を含む、方法。
【請求項2】
前記フラグが、コンテキスト適応型バイナリ算術コーディング(CABAC)コンテキストおよびバイパスコードのうちの1つを介してコーディングされる、請求項1に記載の方法。
【請求項3】
前記対称アフィンモードが、前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、4パラメータアフィンモデルと関連付けられると決定される、
請求項1に記載の方法。
【請求項4】
前記フラグが、前記現在のピクチャと前記第1の参照ピクチャとの間の前記第1の時間的距離が前記現在のピクチャと前記第2の参照ピクチャとの間の前記第2の時間的距離に等しいことに基づいて、前記対称アフィンモードが前記現在のブロックに適用されることを示す、
請求項1に記載の方法。
【請求項5】
前記対称アフィンモードが前記現在のブロックに適用されることを示す前記フラグに応答して、
第1の参照リスト
におけるどの参照ピクチャが前記第1の参照ピクチャであり、第2の参照リスト
におけるどの参照ピクチャが前記第2の参照ピクチャであるかを示す参照インデックス情報を導出するステップ
をさらに含む、請求項1に記載の方法。
【請求項6】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの和がゼロであり、
前記第1の並進ファクタと前記第2の並進ファクタとの和がゼロであり、
前記第1のズームファクタと前記第2のズームファクタとの積が1である、
請求項1に記載の方法。
【請求項7】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との比に線形に比例し、
前記第1のズームファクタと前記第2のズームファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との前記比に指数関数的に比例する、
請求項1に記載の方法。
【請求項8】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの和がゼロであり、
前記第1の並進ファクタと前記第2の並進ファクタとの和がゼロであり、
前記第1のズームファクタと前記第2のズームファクタとの積が1である、
請求項1に記載の方法。
【請求項9】
前記第1のアフィンパラメータが、第1の並進ファクタと、第1のズームファクタまたは第1の回転ファクタの少なくとも一方とを含み、
前記第2のアフィンパラメータが、第2の並進ファクタと、第2のズームファクタまたは第2の回転ファクタの少なくとも一方とを含み、
前記第1の回転ファクタと前記第2の回転ファクタとの比が、前記第1の参照ピクチャと前記現在のピクチャとの間の第1の時間的距離と、前記第2の参照ピクチャと前記現在のピクチャとの間の第2の時間的距離との比に線形に比例し、
前記第1のズームファクタと前記第2のズームファクタとの比が、前記第1の時間的距離と前記第2の時間的距離との前記比に指数関数的に比例する、
請求項1に記載の方法。
【請求項10】
請求項1から8のいずれか一項に記載の方法を実行するように構成された装置。
【請求項11】
前記コーディングされた情報がアフィンタイプメッセージを含み、
6パラメータアフィンモデルが前記現在のブロックに適用されることを示す前記アフィンタイプメッセージに応答して、前記フラグは、前記対称アフィンモードが前記現在のブロックに適用されないことを示す、
請求項
10に記載の装置。
【国際調査報告】