(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-12
(54)【発明の名称】ビデオコーディングのための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20250204BHJP
H04N 19/176 20140101ALI20250204BHJP
H04N 19/139 20140101ALI20250204BHJP
【FI】
H04N19/52
H04N19/176
H04N19/139
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024513691
(86)(22)【出願日】2022-11-11
(85)【翻訳文提出日】2024-02-29
(86)【国際出願番号】 US2022079706
(87)【国際公開番号】W WO2023204874
(87)【国際公開日】2023-10-26
(32)【優先日】2022-04-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-11-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】チェン,リエン-フェイ
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リー,グイチュン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159NN12
5C159NN13
5C159PP04
5C159RC16
5C159TA62
5C159TB07
5C159TB08
5C159UA02
5C159UA05
(57)【要約】
本開示の態様は、方法と処理回路を含む装置とを提供し、符号化ビデオビットストリーム内のシンタックス要素に基づいて、複数のサブブロックを含む現在ブロックがサブブロックベース時間動きベクトル予測(SbTMVP)モードでコーディングされることを決定する。動きベクトルオフセット(MVO)を示すMVO情報が受信される。MVOは、コロケート参照ピクチャ内のコロケートブロックの位置を調整するために使用される変位ベクトル(DV)の動きオフセットを示す。DV及びMVOに基づいて現在ブロックの更新されたDVが決定される。複数のサブブロックのそれぞれのサブブロックのSbTMVP情報が、更新されたDVによって示されるコロケートブロック内の対応するサブブロックの動き情報に基づいて導出される。SbTMVPモードの上記複数のサブブロックが、上記複数のサブブロックのSbTMVP情報に基づいて再構成される。
【特許請求の範囲】
【請求項1】
デコーダが実行する映像復号の方法であって、
現在ピクチャを有する符号化ビデオビットストリームを受信するステップであり、該現在ピクチャは現在ブロックを含み、該現在ブロックは複数のサブブロックを含む、ステップと、
前記符号化ビデオビットストリーム内のシンタックス要素に基づいて、前記複数のサブブロックを含む前記現在ブロックがサブブロックベース時間動きベクトル予測(SbTMVP)モードでコーディングされることを決定するステップと、
動きベクトルオフセット(MVO)を示す前記現在ブロックのMVO情報を取得するステップであり、該MVOは、コロケート参照ピクチャ内のコロケートブロックの位置を調整するために使用される変位ベクトル(DV)の動きオフセットを示す、ステップと、
前記現在ブロックの前記DV及び前記MVOに基づいて、前記現在ブロックの更新されたDVを決定するステップであり、該更新されたDVは、前記コロケート参照ピクチャ内の前記コロケートブロックの調整された位置を示す、ステップと、
前記複数のサブブロックのそれぞれのサブブロックのSbTMVP情報を、少なくとも、前記更新されたDVによって示される前記コロケートブロック内の対応するサブブロックの動き情報に基づいて、導出するステップと、
前記複数のサブブロックの前記サブブロックの前記SbTMVP情報に基づいて、前記SbTMVPモードで前記複数のサブブロックを再構成するステップと、
を有する方法。
【請求項2】
前記更新されたDVを前記決定するステップは、
前記更新されたDVを、前記DVと前記MVOとのベクトル和であるように決定すること、
を有する、請求項1に記載の方法。
【請求項3】
前記MVO情報は、前記符号化ビデオビットストリーム内でシグナリングされる前記MVOを含む、
請求項1に記載の方法。
【請求項4】
前記MVO情報は、前記MVOの大きさ及び前記MVOの方向を示す少なくとも1つのインデックスを示す、
請求項1に記載の方法。
【請求項5】
前記少なくとも1つのインデックスは、一組の所定の距離のうちの1つである前記MVOの前記大きさを示す距離インデックスと、一組の所定の方向のうちの1つである前記MVOの前記方向を示す方向インデックスとを含む、
請求項4に記載の方法。
【請求項6】
前記一組の所定の距離及び前記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される、
請求項5に記載の方法。
【請求項7】
前記更新されたDVは、前記コロケートブロックが前記コロケート参照ピクチャ内の制約されたエリア内にあるように制約され、前記制約されたエリアは、前記現在ピクチャ内の現在CTUに対応するコロケートエリアを含み、前記現在CTUが前記現在ブロックを含む、
請求項1に記載の方法。
【請求項8】
デコーダが実行する映像復号の方法であって、
符号化ビデオビットストリームから現在ピクチャ内の現在ブロックの動きベクトル(MV)オフセット情報を受信するステップであり、該現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して再構成される複数のサブブロックを含む、ステップと、
前記現在ブロックとコロケートであるコロケート参照ピクチャ内のコロケートブロックを示す前記現在ブロックの変位ベクトル(DV)を決定するステップと、
前記複数のサブブロックのうちのサブブロックの動き情報を、前記コロケートブロック内の対応するサブブロックの動き情報に基づいて決定するステップと、
前記複数のサブブロックのうちの前記サブブロックの前記動き情報と、前記MVオフセット情報によって示される前記現在ブロックのMVオフセットとに基づいて、前記複数のサブブロックのうちの前記サブブロックの更新された動き情報を決定するステップと、
前記更新された動き情報に基づいて、前記複数のサブブロックのうちの前記サブブロックを再構成するステップと、
を有する方法。
【請求項9】
前記MVオフセット情報は、前記符号化ビデオビットストリーム内でシグナリングされる前記MVオフセットを含む、
請求項8に記載の方法。
【請求項10】
前記MVオフセット情報は、前記MVオフセットの大きさ及び前記MVオフセットの方向を示す少なくとも1つのインデックスを示す、
請求項8に記載の方法。
【請求項11】
前記少なくとも1つのインデックスは、一組の所定の距離のうちの1つである前記MVオフセットの前記大きさを示す距離インデックスと、一組の所定の方向のうちの1つである前記MVオフセットの前記方向を示す方向インデックスとを含む、
請求項10に記載の方法。
【請求項12】
前記一組の所定の距離及び前記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される、
請求項11に記載の方法。
【請求項13】
前記複数のサブブロックのうちの前記サブブロックの前記動き情報は、第1の参照ピクチャリストL0からの第1の参照ピクチャに関連付けられた第1の動きベクトル(MV)を含み、
前記更新された動き情報を前記決定するステップは、前記第1のMVと前記MVオフセットとのベクトル和である更新された第1のMVを決定することを含み、前記更新された動き情報は前記更新された第1のMVを含む、
請求項8に記載の方法。
【請求項14】
前記複数のサブブロックのうちの前記サブブロックの前記動き情報は、第2の参照ピクチャリストL1からの第2の参照ピクチャに関連付けられた第2のMVを含み、
前記更新された動き情報を前記決定するステップは、
(i)前記第2のMVと前記MVオフセットとのベクトル差、又は
(ii)前記第2のMVとスケーリングされたMVオフセットとのベクトル和であり、該スケーリングされたMVオフセットは、前記MVオフセットと、前記現在ピクチャのピクチャオーダカウント(POC)と、前記第1の参照ピクチャのPOCと、前記第2の参照ピクチャのPOCとに基づく、ベクトル和、
のうちの一方である更新された第2のMVを決定することを含む、
請求項13に記載の方法。
【請求項15】
エンコーダが実行する映像符号化の方法であって、
現在ピクチャ内の現在ブロックの更新された変位ベクトル(DV)を、前記現在ブロックのDV及び前記現在ブロックのDVオフセットに基づいて決定するステップであり、当該更新されたDVは、前記現在ブロックとコロケートであるコロケート参照ピクチャ内のコロケートブロックを示し、前記現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して符号化される複数のサブブロックを含む、ステップと、
前記複数のサブブロックのうちのサブブロックの動き情報を、前記コロケートブロック内の対応するサブブロックの動き情報に基づいて決定するステップと、
前記DVオフセットを示すDVオフセット情報を符号化するステップと、
前記複数のサブブロックのうちの前記サブブロックを、前記複数のサブブロックのうちの前記サブブロックの動き情報に基づいて符号化するステップと、
を有する方法。
【請求項16】
エンコーダが実行する映像符号化の方法であって、
現在ピクチャ内の現在ブロックの変位ベクトル(DV)を決定するステップであり、前記現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して符号化される複数のサブブロックを含み、当該DVは、前記現在ブロックとコロケートであるコロケート参照ピクチャ内のコロケートブロックを示す、ステップと、
前記複数のサブブロックのうちのサブブロックの動き情報を、前記コロケートブロック内の対応するサブブロックの動き情報に基づいて決定するステップと、
前記複数のサブブロックのうちの前記サブブロックの動き情報と前記現在ブロックの動きベクトル(MV)オフセットとに基づいて、前記複数のサブブロックのうちの前記サブブロックの更新された動き情報を決定するステップと、
前記MVオフセットを示すMVオフセット情報を符号化するステップと、
前記複数のサブブロックのうちの前記サブブロックを、前記更新された動き情報に基づいて符号化するステップと、
を有する方法。
【請求項17】
1つ以上のプロセッサと、
コンピュータプログラムを格納した1つ以上のメモリと、
を有し、
前記コンピュータプログラムは、前記1つ以上のプロセッサに、請求項1乃至14のいずれか一項に記載の方法を実行させる、
装置。
【請求項18】
1つ以上のプロセッサと、
コンピュータプログラムを格納した1つ以上のメモリと、
を有し、
前記コンピュータプログラムは、前記1つ以上のプロセッサに、請求項15又は16に記載の方法を実行させる、
装置。
【請求項19】
コンピュータに請求項1乃至14のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【請求項20】
コンピュータに請求項15又は16に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2022年4月18日に出願された米国仮出願第63/332,131号“SUBBLOCK BASED MOTION VECTOR PREDICTOR WITH MOTION VECTOR OFFSET”に対する優先権の利益を主張するものである2022年11月9日に出願された米国特許出願第17/984,123号“A SUB-BLOCK BASED TEMPORAL MOTION VECTOR PREDICTOR WITH AN MOTION VECTOR OFFSET”に対する優先権の利益を主張するものである。これら先行出願の開示をそれらの全体にてここに援用する。
【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で定義された33個の取り得る予測子方向(35個のイントラモードのうちの33個の角度モードに対応)から知られる9個の予測子方向のサブセットが描かれている。矢印が集まった点(101)が予測中のサンプルを表す。矢印は、その方向からサンプルが予測されることを表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で右上の1つのサンプル又は複数のサンプルから予測されることを指し示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度で左下の1つのサンプル又は複数のサンプルから予測されることを指し示す。
【0012】
なおも
図1Aを参照するに、左上に、4×4サンプルの正方形ブロック(104)(破線の太線で示す)が描かれている。正方形ブロック(104)は、16個のサンプルを含み、各サンプルが、“S”と、Y次元でのその位置(例えば、行インデックス)と、X次元でのその位置(例えば、列インデックス)とでラベル付けられている。例えば、サンプルS21は、Y次元で(上から)2番目、且つX次元で(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内の、Y及びXの両方の次元で4番目のサンプルである。このブロックは4×4サンプルのサイズなので、S44は右下にある。さらに、同様の番号付けスキームに従った参照サンプルが示されている。参照サンプルは、Rと、ブロック(104)に対する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つの次元を有することができる(後者は、間接的に、時間次元であるとすることができる)。
【0019】
一部の映像圧縮技術では、サンプルデータのある特定の領域に適用可能なMVを、例えば、復号順でその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を直接コーディングする代わりに、MVを、A0、A1、及びB0、B1、B2(それぞれ202から206)と表記する5つの周囲サンプルのうちのいずれか1つに関連するMVを用いて、例えば(復号順で)直前の参照ピクチャからなど、1つ以上の参照ピクチャに関連するメタデータから導出することができる。H.265において、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の態様は、映像符号化/復号のための方法及び装置を提供する。一部の例において、映像復号のための装置は処理回路を含む。一実施形態において、処理回路は、符号化ビデオビットストリームから現在ピクチャ内の現在ブロックの変位ベクトル(DV)オフセット情報を受信する。現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して再構成される複数のサブブロックを含む。現在ブロックのDVと現在ブロックのDVオフセットとに基づいて、現在ブロックの更新されたDVを決定することができる。DVオフセットはDVオフセット情報によって示される。現在ブロックの更新されたDVは、コロケート参照ピクチャ内のコロケートブロックを指し示す。コロケートブロックは現在ブロックとコロケートである。処理回路は、上記複数のサブブロックのうちのサブブロックの動き情報を、コロケートブロック内の対応するサブブロックの動き情報に基づいて決定し、上記複数のサブブロックのうちの該サブブロックの動き情報に基づいて上記複数のサブブロックのうちの該サブブロックを再構成する。
【0023】
一実施形態において、処理回路は、上記更新されたDVを、DVとMVオフセットとのベクトル和であるように決定する。
【0024】
一実施形態において、DVオフセット情報は、符号化ビデオビットストリーム内でシグナリングされるDVオフセットを含む。
【0025】
一実施形態において、DVオフセット情報は、DVオフセットの大きさ及びDVオフセットの方向を示す少なくとも1つのインデックスを示す。
【0026】
一例において、上記少なくとも1つのインデックスは、一組の所定の距離のうちの1つであるDVオフセットの大きさを示す距離インデックスと、一組の所定の方向のうちの1つであるDVオフセットの方向を示す方向インデックスとを含む。
【0027】
一例において、上記一組の所定の距離及び上記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される。
【0028】
一例において、更新されたDVは、コロケートブロックがコロケート参照ピクチャ内の制約されたエリア内にあるように制約される。制約されたエリアは、現在ピクチャ内の現在CTUに対応するコロケートエリアを含み、現在CTUが現在ブロックを含む。
【0029】
一実施形態において、現在ピクチャを有する符号化ビデオビットストリームが受信される。現在ピクチャは現在ブロックを含む。現在ブロックは複数のサブブロックを含む。処理回路は、符号化ビデオビットストリーム内のシンタックス要素に基づいて、上記複数のサブブロックを含む現在ブロックがSbTMVPモードでコーディングされることを決定する。処理回路は、動きベクトルオフセット(MVO)を示す現在ブロックのMVO情報を取得する。MVOは、コロケート参照ピクチャ内のコロケートブロックの位置を調整するために使用される変位ベクトル(DV)の動きオフセットを示す。処理回路は、現在ブロックのDV及びMVOに基づいて、現在ブロックの更新されたDVを決定する。更新されたDVは、コロケート参照ピクチャ内のコロケートブロックの調整された位置を示す。処理回路は、上記複数のサブブロックのそれぞれのサブブロックのSbTMVP情報を、少なくとも、更新されたDVによって示されるコロケートブロック内の対応するサブブロックの動き情報に基づいて、導出し、上記複数のサブブロックのSbTMVP情報に基づいて、SbTMVPモードで上記複数のサブブロックを再構成する。
【0030】
一実施形態において、処理回路は、符号化ビデオビットストリームから現在ピクチャ内の現在ブロックの動きベクトル(MV)オフセット情報を受信する。現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して再構成される複数のサブブロックを含む。処理回路は、現在ブロックとコロケートであるコロケート参照ピクチャ内のコロケートブロックを示す現在ブロックの変位ベクトル(DV)を決定する。処理回路は、上記複数のサブブロックのうちのサブブロックの動き情報を、コロケートブロック内の対応するサブブロックの動き情報に基づいて決定し、上記複数のサブブロックのうちの該サブブロックの動き情報と、MVオフセット情報によって示される現在ブロックのMVオフセットとに基づいて、上記複数のサブブロックのうちの該サブブロックの更新された動き情報を決定する。処理回路は、更新された動き情報に基づいて、上記複数のサブブロックのうちの該サブブロックを再構成する。
【0031】
一例において、MVオフセット情報は、符号化ビデオビットストリーム内でシグナリングされるMVオフセットを含む。
【0032】
一例において、MVオフセット情報は、MVオフセットの大きさ及びMVオフセットの方向を示す少なくとも1つのインデックスを示す。
【0033】
一例において、少なくとも1つのインデックスは、一組の所定の距離のうちの1つであるMVオフセットの大きさを示す距離インデックスと、一組の所定の方向のうちの1つであるMVオフセットの方向を示す方向インデックスとを含む。
【0034】
一組の所定の距離及び一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される。
【0035】
一例において、上記複数のサブブロックのうちの上記サブブロックの動き情報は、第1の参照ピクチャリストL0からの第1の参照ピクチャに関連付けられた第1の動きベクトル(MV)を含む。処理回路は、第1のMVとMVオフセットとのベクトル和である更新された第1のMVを決定し、更新された動き情報は更新された第1のMVを含む。
【0036】
一例において、上記複数のサブブロックのうちの上記サブブロックの動き情報は、第2の参照ピクチャリストL1からの第2の参照ピクチャに関連付けられた第2のMVを含む。処理回路は、(i)第2のMVとMVオフセットとのベクトル差、又は(ii)第2のMVとスケーリングされたMVオフセットとのベクトル和、のうちの一方である更新された第2のMVを決定する。スケーリングされたMVオフセットは、MVオフセットと、現在ピクチャのピクチャオーダカウント(POC)と、第1の参照ピクチャのPOCと、第2の参照ピクチャのPOCとに基づく。
【0037】
本開示の態様はまた、映像復号用のコンピュータによって実行されるときに該コンピュータに映像復号のための方法を実行させる命令を格納した非一時的なコンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【0038】
開示に係る事項の更なる特徴、性質、及び様々な利点が、以下の詳細な説明及び添付の図面から、よりいっそう明らかになる。
【
図1A】イントラ予測モードの例示的なサブセットを概略的に示している。
【
図2】現在ブロック(201)及び周囲サンプルの一例を示している。
【
図3】通信システム(300)の例示的なブロック図を概略的に示している。
【
図4】通信システム(400)の例示的なブロック図を概略的に示している。
【
図5】デコーダの例示的なブロック図を概略的に示している。
【
図6】エンコーダの例示的なブロック図を概略的に示している。
【
図7】例示的なエンコーダのブロック図を示している。
【
図8】例示的なデコーダのブロック図を示している。
【
図9】本発明の一実施形態に従った空間マージ候補の位置を示している。
【
図10】本発明の一実施形態に従った空間マージ候補の冗長性検査のために検討される候補ペアを示している。
【
図11】時間マージ候補に関する例示的な動きベクトルスケーリングを示している。
【
図12】現在コーディングユニットの時間マージ候補の例示的な候補位置を示している。
【
図13】
図13-
図14は、マージ動きベクトル差(MMVD)モードにおける探索プロセスの一例を示している。
【
図14】
図13-
図14は、マージ動きベクトル差(MMVD)モードにおける探索プロセスの一例を示している。
【
図15】MMVDモードにおける複数の斜めの角度に沿った追加の精緻化位置を示している。
【
図16】
図16-
図17は、SbTMVPモードで使用される例示的なサブブロックベース時間動きベクトル予測(SbTMVP)プロセスを示している。
【
図17】
図16-
図17は、SbTMVPモードで使用される例示的なサブブロックベース時間動きベクトル予測(SbTMVP)プロセスを示している。
【
図18】本開示の一部の実施形態に従った符号化プロセスを概説するフローチャートを示している。
【
図19A】本開示の一部の実施形態に従った復号プロセスを概説するフローチャートを示している。
【
図19B】本開示の一部の実施形態に従った復号プロセスを概説するフローチャートを示している。
【
図20】本開示の一部の実施形態に従った符号化プロセスを概説するフローチャートを示している。
【
図21】本開示の一部の実施形態に従った復号プロセスを概説するフローチャートを示している。
【
図22】一実施形態に従ったコンピュータシステムの概略図である。
【発明を実施するための形態】
【0039】
図3は、通信システム(300)の例示的なブロック図を示している。通信システム(300)は、例えばネットワーク(350)を介して、互いに通信することができる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末装置(310)及び(320)を含む。
図3の例において、第1の対の端末装置(310)及び(320)は、データの一方向伝送を行う。例えば、端末装置(310)が、ビデオデータ(例えば、端末装置(310)によってキャプチャされたビデオピクチャのストリーム)を、ネットワーク(350)を介した他の端末装置(320)への伝送のためにコーディングし得る。符号化されたビデオデータは、1つ以上の符号化ビデオビットストリームの形態で伝送されることができる。端末装置(320)が、ネットワーク(350)から符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオピクチャを復元し、復元したビデオデータに従ってビデオピクチャを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにおいて一般的であり得る。
【0040】
他の一例において、通信システム(300)は、例えばテレビ会議中に、符号化ビデオデータの双方向伝送を行う第2の対の端末装置(330)及び(340)を含む。データの双方向伝送では、一例において、端末装置(330)及び(340)の各端末装置が、ビデオデータ(例えば、その端末装置によってキャプチャされたビデオピクチャのストリーム)を、ネットワーク(350)を介した端末装置(330)及び(340)のうちの他方の端末装置への伝送のためにコーディングし得る。端末装置(330)及び(340)の各端末装置はまた、端末装置(330)及び(340)のうちの他方の端末装置によって送信された符号化ビデオデータを受信し得るとともに、符号化ビデオデータを復号してビデオピクチャを復元し、そして、復元したビデオデータに従って、アクセス可能なディスプレイ装置にビデオピクチャを表示し得る。
【0041】
図3の例において、端末装置(310)、(320)、(330)及び(340)は、それぞれ、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されているが、本開示の原理は、そのように限定されるものではないとし得る。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議機器での用途を見出し。ネットワーク(350)は、例えば、配線(有線)通信ネットワーク及び/又は無線通信ネットワークを含め、端末装置(310)、(320)、(330)及び(340)間で符号化されたビデオデータを伝達するあらゆる数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネル及び/又はパケット交換チャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク(350)のアーキテクチャ及びトポロジーは、以下にて説明しない限り、本開示の動作にとって重要ではないとし得る。
【0042】
図4は、開示に係る事項に関するアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示している。開示に係る事項は、例えば、テレビ会議や、デジタルTVや、ストリーミングサービスや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮ビデオの格納などを含め、映像を使用可能な他の用途にも等しく適用されることができる。
【0043】
ストリーミングシステムは、例えば圧縮されていないビデオピクチャのストリーム(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)を復号し、出ていくビデオピクチャのストリーム(411)を作り出すことができ、出ていくビデオピクチャのストリーム(411)が、ディスプレイ(412)(例えば、ディスプレイスクリーン)又は他のレンダリング装置(図示せず)上でレンダリングされ得る。一部のストリーミングシステムにおいて、符号化されたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従って符号化されることができる。それら標準の例は、ITU-T勧告H.265を含む。一例において、開発中のあるビデオコーディング標準は、非公式にバーサタイルビデオコーディング(Versatile Video Coding;VVC)として知られている。開示に係る事項は、VVCの文脈で使用され得る。
【0044】
なお、エレクトロニクス装置(420)及び(430)は、他のコンポーネント(図示せず)を含むことができる。例えば、エレクトロニクス装置(420)はビデオデコーダ(図示せず)を含むことができ、エレクトロニクス装置(430)はビデオエンコーダ(図示せず)も含むことができる。
【0045】
図5は、ビデオデコーダ(510)の例示的なブロック図を示している。ビデオデコーダ(510)は、エレクトロニクス装置(530)に含まれ得る。エレクトロニクス装置(530)は、受信器(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(410)の代わりに使用されることができる。
【0046】
受信器(531)が、ビデオデコーダ(510)によって復号されることになる1つ以上の符号化ビデオシーケンスを受信することができる。一実施形態において、一度に1つの符号化ビデオシーケンスが受信され、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスの復号とは独立である。符号化ビデオシーケンスは、符号化されたビデオデータを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得るものであるチャネル(501)から受信され得る。受信器(531)は、符号化ビデオデータを、例えば符号化された音声データ及び/又は補助データストリームといった他のデータと共に受信してもよく、それらのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信器(531)は、符号化ビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、受信器(531)とエントロピーデコーダ/パーサ520(以下、“パーサ(520)”)との間にバッファメモリ(515)が結合され得る。特定のアプリケーションにおいて、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のものにおいて、それは、ビデオデコーダ(510)の外部にあってもよい(図示せず)。更なる他のものにおいて、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)が存在することができ、さらに、例えば再生タイミングを取り扱うために、ビデオデコーダ(510)の内部に別のバッファメモリ(515)が存在することができる。受信器(531)が、十分な帯域幅及び可制御性の格納/転送装置から又は等同期ネットワークからデータを受信しているとき、バッファメモリ(515)は、必要とされなくてもよく、又は小さくされることができる。例えばインターネットなどのベストエフォート型パケットネットワーク上での使用では、バッファメモリ(515)が、必要とされ得るとともに、比較的大きくされ、そして、有利には適応可能なサイズのものにされることができ、また、少なくとも部分的に、ビデオデコーダ(510)の外部のオペレーティングシステム又は同様の要素(図示せず)にて実装され得る。
【0047】
ビデオデコーダ(510)は、符号化ビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含み得る。それらシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報を含むとともに、可能性として、
図5に示すように、エレクトロニクス装置(530)の統合部分ではないがエレクトロニクス装置(530)に結合されることが可能な、例えばレンダー装置(512)(例えば、ディスプレイスクリーン)などのレンダリング装置を制御する情報を含み得る。(1つ以上の)レンダリング装置用の制御情報は、補足強化情報(Supplementary Enhancement Information;SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information;VUI)パラメータセットフラグメント(図示せず)の形態とし得る。パーサ(520)は、受け取った符号化ビデオシーケンスを構文解析/エントロピー復号し得る。符号化ビデオシーケンスの符号化は、ビデオコーディング技術又は標準によることができ、可変長符号化、ハフマン符号化、文脈依存性を持つ又は持たない算術符号化などを含め、様々な原理に従うことができる。パーサ(520)は、符号化ビデオシーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一組のサブグループパラメータを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、符号化ビデオシーケンス情報から、例えば変換係数、量子化パラメータ値、動きベクトルなどの情報を抽出し得る。
【0048】
パーサ(520)は、シンボル(521)を生み出すよう、バッファメモリ(515)から受け取ったビデオシーケンスにエントロピー復号/構文解析処理を実行し得る。
【0049】
シンボル(521)の再構成には、符号化されたビデオピクチャ又はその部分のタイプ及び他の要因(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)に応じて、複数の異なるユニットが関与し得る。どのユニットが関与するか、及びそれらがどのように関与するかは、パーサ(520)によって符号化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数ユニットとの間でのこのようなサブグループ制御情報の流れは、明瞭さのために図示していない。
【0050】
既述の機能ブロックを超えて、ビデオデコーダ(510)は概念的に、後述のような多数の機能ユニットに細分化されることができる。商業上の制約の下で稼働する実用的な実装において、これらのユニットのうちの多くが互いに密接にインタラクトし、少なくとも部分的に互いに統合され得る。しかしながら、開示に係る事項を説明するという目的のためには、以下の機能ユニットへの概念的な細分化が適切である。
【0051】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からの(1つ以上の)シンボル(521)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力されることが可能な、サンプル値を有するブロックを出力することができる。
【0052】
一部のケースにおいて、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロックに関係し得る。イントラコーディングされたブロックは、先行して再構成されたピクチャからの予測情報を使用していないが、現在ピクチャのうち先行して再構成された部分からの予測情報を使用することができるブロックである。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。一部のケースにおいて、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。アグリゲータ(555)は、一部のケースにおいて、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に付加する。
【0053】
他のケースにおいて、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされた、動き補償された可能性のあるブロックに関係し得る。このような場合、動き補償予測ユニット(553)が、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルを、ブロックに関係するシンボル(521)に従って動き補償した後、これらのサンプルが、アグリゲータ(555)によって、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に付加されて、出力サンプル情報を生成することができる。そこから動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、動きベクトルによって制御されることができ、例えばX、Y、及び参照ピクチャ成分を有し得るシンボル(521)の形態で動き補償予測ユニット(553)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されるときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間や、動きベクトル予測メカニズムなどを含むことができる。
【0054】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)にて様々なループフィルタリング技術に掛けられ得る。映像圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、これは、符号化ビデオシーケンス(符号化ビデオビットストリームとも称する)に含められてパーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるパラメータによって制御される。映像圧縮はまた、符号化ピクチャ又は符号化ビデオシーケンスのうちの(復号順で)先行部分の復号中に得られたメタ情報にも応答することができるとともに、先行して再構成されてループフィルタリングされたサンプル値にも応答することができる。
【0055】
ループフィルタユニット(556)の出力は、レンダー装置(512)に出力されることが可能なサンプルストリームとすることができ、これはまた、将来のインターピクチャ予測での使用のために参照ピクチャメモリ(557)に格納されることができる。
【0056】
ある特定の符号化ピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、その符号化ピクチャが参照ピクチャとして(例えば、パーサ(520)によって)特定されると、現在ピクチャバッファ(558)が参照ピクチャメモリ(557)の一部となり得るとともに、次の符号化ピクチャの再構成を開始する前に新しい現在ピクチャバッファが再割り当てされ得る。
【0057】
ビデオデコーダ(510)は、例えばITU-T勧告H.265などの所定の映像圧縮技術又は標準に従って復号処理を実行し得る。符号化ビデオシーケンスは、映像圧縮技術又は標準の構文と映像圧縮技術又は標準において文書化されたプロファイルとの双方を忠実に守るという意味で、使用される映像圧縮技術又は標準によって規定される構文に従い得る。具体的には、プロファイルは、映像圧縮技術又は標準において利用可能な全てのツールから、特定のツールを、そのプロファイルの下での使用に利用可能なツールはそれだけであるように選択することができる。また、コンプライアンスのために、符号化ビデオシーケンスの複雑さが、映像圧縮技術又は標準のレベルによって規定される範囲内にあることも必要である。場合により、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制約する。レベルによって設定される制限は、場合により、仮説的リファレンスデコーダ(Hypothetical Reference Decoder;HRD)仕様、及び符号化ビデオシーケンスにてシグナリングされるHRDバッファ管理用のメタデータを通して更に制約され得る。
【0058】
一実施形態において、受信器(531)は、符号化された映像と共に追加(冗長)データを受信し得る。追加データは、(1つ以上の)符号化ビデオシーケンスの一部として含められ得る。追加データは、データを適切に復号するため、及び/又は元のビデオデータをいっそう正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正符号などの形態とし得る。
【0059】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示している。ビデオエンコーダ(603)は、エレクトロニクス装置(620)に含まれる。例えば、エレクトロニクス装置(620)は送信器(640)(例えば、送信回路)を含んでいる。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用されることができる。
【0060】
ビデオエンコーダ(603)は、エンコーダ(603)によって符号化されることになる(1つ以上の)ビデオ画像をキャプチャし得るビデオソース(601)(
図6の例ではエレクトロニクス装置(620)の一部ではない)からビデオサンプルを受信し得る。他の一例において、ビデオソース(601)は、エレクトロニクス装置(620)の一部である。
【0061】
ビデオソース(601)は、ビデオエンコーダ(603)によって符号化されるソースビデオシーケンスを、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び任意の好適なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとし得るデジタルビデオサンプルストリームの形態で提供し得る。メディアサービス提供システムにおいて、ビデオソース(601)は、事前に準備されたビデオを格納したストレージ装置とし得る。テレビ会議システムでは、ビデオソース(601)は、ローカルな画像情報をビデオシーケンスとしてキャプチャするカメラとし得る。ビデオデータは、順に見たときに動きを伝える複数の個々のピクチャとして提供され得る。それらピクチャ自体は、ピクセルの空間アレイとして編成されることができ、各ピクセルが、使用されるサンプリング構造、色空間などに応じて、1つ以上のサンプルを有することができる。当業者は、ピクセルとサンプルとの関係を直ちに理解することができる。以下の説明は、サンプルに焦点を当てている。
【0062】
一実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで又は要求される他の時間制約下で、符号化ビデオシーケンス(643)へとコーディング及び圧縮し得る。適切なコーディング速度を強制することが、コントローラ(650)の1つの機能である。一部の実施形態において、コントローラ(650)は、後述するような他の機能ユニットを制御するとともに、それら他の機能ユニットに機能的に結合される。その結合は、明瞭さのために図示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲などを含み得る。コントローラ(650)は、特定のシステム設計に合わせて最適化されるビデオエンコーダ(603)に関連する他の好適な機能を有するように構成されることができる。
【0063】
一部の実施形態において、ビデオエンコーダ(603)は、コーディングループにて動作するように構成される。過度に単純化した説明として、一例において、コーディングループは、ソースコーダ(630)(例えば、符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいて例えばシンボルストリームなどのシンボルを作成することを担う)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモート)デコーダも作成するのと同様にして、シンボルを再構成してサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)が、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャメモリ(634)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに“見る”のとまったく同じサンプル値を参照ピクチャサンプルとして“見る”。この参照ピクチャ同期性の基本原理(及び、例えばチャネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、一部の関連技術でも使用されている。
【0064】
“ローカル”デコーダ(633)の動作は、例えばビデオデコーダ(510)などの“リモート”デコーダのものと同じであるとすることができ、それは、
図5に関連して既に詳細に上述されている。しかしながら、
図5も手短に参照するに、シンボルが利用可能であり、且つエントロピーコーダ(645)及びパーサ(520)によるシンボルの符号化ビデオシーケンスへの符号化/復号は可逆であるとし得るので、バッファメモリ(515)及びパーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(633)に完全に実装されなくてよい。
【0065】
一実施形態において、デコーダ内に存在する構文解析/エントロピー復号を除くデコーダ技術が、対応するエンコーダ内に、同じ又は実質的に同じ機能的形態で存在する。従って、開示に係る事項はデコーダ動作に焦点を当てている。エンコーダ技術の説明は、徹底して説明したデコーダ技術の逆であるので、省略することができる。ある特定の分野では、より詳細な説明を以下に提供する。
【0066】
動作時、一部の例において、ソースコーダ(630)は、入力ピクチャを、ビデオシーケンスからの、“参照ピクチャ”として指定された1つ以上の先にコーディングされたピクチャに対して予測的にコーディングするものである動き補償予測コーディングを実行し得る。斯くして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する(1つ以上の)予測基準として選択され得る(1つ以上の)参照ピクチャのピクセルブロックとの間の差分をコーディングする。
【0067】
ローカルビデオデコーダ(633)は、参照ピクチャとして指定され得るピクチャの符号化ビデオデータを、ソースコーダ(630)によって作成されたシンボルに基づいて復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスとし得る。符号化ビデオデータがビデオデコーダ(
図6には示されていない)で復号され得るとき、再構成されたビデオシーケンスは典型的に、幾分の誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャ上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に格納させるようにし得る。斯くして、ビデオエンコーダ(603)は、ファーエンドのビデオデコーダによって得られることになる再構成参照ピクチャと共通のコンテンツを持つ再構成参照ピクチャのコピーをローカルに格納し得る。
【0068】
予測器(635)は、コーディングエンジン(632)のために予測探索を実行し得る。すなわち、コーディングすべき新たなピクチャに関して、予測器(636)は、新たなピクチャ用の適切な予測基準としての役割を果たし得るサンプルデータ(候補参照ピクセルブロックとして)又は例えば参照ピクチャ動きベクトルやブロック形状などの特定のメタデータについて、参照ピクチャメモリ(634)を検索し得る。予測器(635)は、適切な予測基準を見出すために、ピクセルブロック毎に動作し得る。場合により、予測器(635)によって得られた検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測基準を有し得る。
【0069】
コントローラ(650)は、例えば、ビデオデータを符号化するのに使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(630)のコーディング処理を管理し得る。
【0070】
前述の全ての機能ユニットの出力が、エントロピーコーダ(645)におけるエントロピーコーディングに掛けられ得る。エントロピーコーダ(645)は、例えばハフマンコーディング、可変長コーディング、算術符コーディングなどの技術に従ってシンボルに可逆圧縮を適用することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスへと変換する。
【0071】
送信器(640)が、エントロピーコーダ(645)によって生成された(1つ以上の)符号化ビデオシーケンスをバッファリングし、通信チャネル(660)を介した伝送のために準備し得る。通信チャネル(660)は、符号化されたビデオデータを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得る。送信器(640)は、ビデオエンコーダ(603)からの符号化ビデオデータを、例えば符号化オーディオデータ及び/又は補助データストリーム(ソースは図示していない)といった、送信される他のデータとマージし得る。
【0072】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディングにおいて、コントローラ(650)は、各符号化ピクチャに、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得るものである特定の符号化ピクチャタイプを割り当て得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つを割り当てられ得る。
【0073】
イントラピクチャ(Iピクチャ)は、シーケンス内の如何なる他のピクチャも予測のソースとして使用することなく符号化及び復号され得るものとし得る。一部のビデオコーデックは、例えば独立デコーダリフレッシュ(Independent Decoder Refresh;IDR)ピクチャを含め、複数の異なるタイプのイントラピクチャを許している。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
【0074】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くて1つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。
【0075】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くて2つの動きベクトルと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。同様に、多重予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャと関連メタデータとを使用することができる。
【0076】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎にコーディングされ得る。ブロックは、それらブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定される他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは非予測的にコーディングされることができ、あるいは、それらは同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされることができる(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、非予測的に、あるいは、1つの先にコーディングされた参照ピクチャを参照して空間予測又は時間予測を介して、コーディングされることができる。Bピクチャのブロックは、非予測的に、あるいは、1つ又は2つの先にコーディングされた参照ピクチャを参照して空間予測又は時間予測を介して、コーディングされることができる。
【0077】
ビデオエンコーダ(603)は、例えばITU-T勧告H.265などの所定のビデオコーディング技術又は標準に従ってコーディング処理を実行し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的な冗長性を活用する予測的なコーディング処理を含め、様々な圧縮処理を実行し得る。コーディングされたビデオデータは、それ故に、使用されているビデオコーディング技術又は標準によって規定される構文に従い得る。
【0078】
一実施形態において、送信器(640)は、符号化された映像と共に追加データを送信し得る。ソースコーダ(630)が、そのようなデータを、符号化ビデオシーケンスの一部として含め得る。追加データは、時間的/空間的/SNRエンハンスメントレイヤ、例えば冗長ピクチャ及びスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを有し得る。
【0079】
映像は、時間シーケンスにて複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャ内の空間的な相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例において、現在ピクチャと称される符号化/復号中の特定のピクチャが、複数のブロックへと分割される。現在ピクチャ内のあるブロックが、映像内の先にコーディングされ且つ依然としてバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、現在ピクチャ内のそのブロックは、動きベクトルと称されるベクトルによってコーディングされることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合には、参照ピクチャを特定する第3の次元を持つことができる。
【0080】
一部の実施形態において、インターピクチャ予測において双予測技術を使用することができる。双予測技術によれば、例えば、映像内でどちらも現在ピクチャに対して復号順で先である(しかし、表示順では、それぞれ過去及び将来であってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの、2つの参照ピクチャが使用される。現在ピクチャ内のブロックを、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによってコーディングすることができる。そのブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0081】
さらに、インターピクチャ予測においてコーディング効率を改善するために、マージモード技術を使用することができる。
【0082】
本開示の一部の実施形態によれば、例えばインターピクチャ予測及びイントラピクチャ予測などの予測が、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンス内のピクチャが、圧縮のために複数のコーディングツリーユニット(CTU)に分割され、ピクチャ内のそれらCTUは、例えば64×64ピクセル、32×32ピクセル、又は16×16ピクセルなどの同一サイズを有する。一般に、CTUは、1つのルマ(luma)CTBと2つのクロマ(chroma)CTBである3つのコーディングツリーブロック(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は、ルマ予測ブロック(PB)と2つのクロマPBとを含む。一実施形態において、コーディング(符号化/復号)に際しての予測動作は、予測ブロックの単位で実行される。予測ブロックの一例としてルマ予測ブロックを用いると、該予測ブロックは、例えば8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、及びこれらに類するものなど、ピクセルの値(例えば、ルマ値)の行列を含む。
【0083】
図7は、ビデオエンコーダ(703)の例示的な図を示している。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在ビデオピクチャの中の処理ブロック(例えば、予測ブロック)のサンプル値を受信し、該処理ブロックを符号化ビデオシーケンスの一部である符号化ピクチャへと符号化するように構成される。一例において、ビデオエンコーダ(703)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0084】
HEVCの例において、ビデオエンコーダ(703)は、例えば予測ブロックの8×8サンプルなどの、処理ブロックに関するサンプル値の行列を受信する。ビデオエンコーダ(703)は、例えばレート-歪み最適化を用いて、処理ブロックが最良にコーディングされるのが、イントラモードを用いてなのか、インターモードを用いてなのか、それとも双予測モードを用いてなのかを決定する。処理ブロックがイントラモードでコーディングされる場合、ビデオエンコーダ(703)は、イントラ予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができ、処理ブロックがインターモード又は双予測モードでコーディングされる場合、ビデオエンコーダ(703)は、それぞれ、インター予測技術又は双予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができる。特定のビデオコーディング技術において、マージモードは、予測子の外側の符号化動きベクトル成分の利益なしで1つ以上の動きベクトル予測子から動きベクトルが導出されるインターピクチャ予測サブモードとし得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例において、ビデオエンコーダ(703)は、例えば処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの、他のコンポーネントを含む。
【0085】
図7の例において、ビデオエンコーダ(703)は、
図7に示すように共に結合された、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、及びエントロピーエンコーダ(725)を含んでいる。
【0086】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、先行ピクチャ内及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術に従った冗長情報の記述、動きベクトル、マージモード情報)を生成し、そして、何らかの好適技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。一部の例において、参照ピクチャは、符号化された映像情報に基づいて復号された参照ピクチャである。
【0087】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、一部のケースにおいて、ブロックを、同じピクチャ内の既にコーディングされたブロックと比較し、変換後の量子化係数を生成し、一部のケースでは、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成する。一例において、イントラエンコーダ(722)はまた、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0088】
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成される。一例において、全般コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラモード結果を選択するようにスイッチ(726)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御し、モードがインターモードであるときには、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測結果を選択するようにスイッチ(726)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0089】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成される。一例において、残差エンコーダ(724)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数が量子化処理にかけられて、量子化された変換係数が得られる。様々な実施形態において、ビデオエンコーダ(703)はまた、残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用されることができる。例えば、インターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックが好適に処理されて、復号されたピクチャが生成され、そして、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ得るとともに、一部の例では参照ピクチャとして使用され得る。
【0090】
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、例えばHEVC標準などの好適な標準に従って種々の情報をビットストリームに含めるように構成される。一例において、エントロピーエンコーダ(725)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適情報を、ビットストリームに含めるように構成される。なお、本開示に係る事項によれば、インターモード又は双予測モードのいずれかのマージサブモードにてブロックをコーディングするとき、残差情報は存在しない。
【0091】
図8は、ビデオデコーダ(810)の例示的な図を示している。ビデオデコーダ(810)は、符号化ビデオシーケンスの一部である符号化されたピクチャを受信し、該符号化されたピクチャを復号して再構成ピクチャを生成するように構成される。一例において、ビデオデコーダ(810)は、
図4の例におけるビデオデコーダ(410)の代わりに使用される。
【0092】
図8の例において、ビデオデコーダ(810)は、
図8に示すように共に結合された、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)を含んでいる。
【0093】
エントロピーデコーダ(871)は、符号化されたピクチャから、符号化されたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は他のサブモードにおける後者の2つなど)、並びに、それぞれイントラデコーダ(872)又はインターデコーダ(880)による予測のために使用される特定のサンプル又はメタデータを特定することができる予測情報(例えば、イントラ予測情報又はインター予測情報など)を含むことができる。シンボルはまた、例えば量子化された変換係数の形態をした残差情報、及びこれらに類するものを含むことができる。一例において、予測モードがインターモード又は双予測モードであるときには、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるときには、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化にかけられることができ、残差デコーダ(873)に提供される。
【0094】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0095】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0096】
残差デコーダ(873)は、逆量子化を実行して、量子化解除された変換係数を抽出し、そして、量子化解除された変換係数を処理して、残差情報を周波数ドメインから空間ドメインに変換するように構成される。残差デコーダ(873)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)を必要としてもよく、その情報は、エントロピーデコーダ(871)によって提供され得る(これは、低ボリュームの制御情報のみとし得るのでデータ経路は不図示)。
【0097】
再構成モジュール(874)は、残差デコーダ(873)によって出力される残差情報と、(場合に応じてインター又はイントラ予測モジュールによって出力される)予測結果とを空間ドメインで組み合わせて、再構成ブロックを形成するように構成される。再構成ブロックは、再構成ピクチャの一部とすることができ、代わって再構成ピクチャは、再構成映像の一部とすることができる。なお、視覚的な品質を向上させるために、例えばデブロッキング処理及びそれに類するものなど、他の好適な処理を実行することができる。
【0098】
なお、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、如何なる好適技術を用いて実装されてもよい。一実施形態において、ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、1つ以上の集積回路を用いて実装され得る。他の一実施形態において、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装され得る。
【0099】
VVCでは、様々なインター予測モードを用いることができる。インター予測されるCUについて、動きパラメータは、(1つ以上の)MVと、1つ以上の参照ピクチャインデックスと、参照ピクチャリスト使用インデックスと、インター予測によるサンプル生成のために使用される特定のコーディングフィーチャについての追加情報とを含むことができる。動きパラメータは明示的又は暗示的にシグナリングされ得る。CUがスキップモードでコーディングされるとき、CUは、PUに関連付けられることができ、有意な残差係数、コーディングされた動きベクトルデルタ若しくはMV差(例えば、MVD)又は参照ピクチャインデックスを持たなくてよい。マージモードを指定することができ、現在CUについての動きパラメータは、空間候補及び/又は時間候補を含む(1つ以上の)隣接CU、及びオプションで、例えばVVCで導入されるような追加情報から得られる。マージモードは、スキップモードだけでなく、インター予測されるCUにも適用されることができる。一例において、マージモードに代わるものは、動きパラメータの明示的な送信であり、(1つ以上の)MVと、各参照ピクチャリストについての対応する参照ピクチャインデックスと、参照ピクチャリスト使用フラグと、他の情報とが、CUごとに明示的にシグナリングされる。
【0100】
例えばVVCにおいてなどの一実施形態において、VVCテストモデル(VTM)参照ソフトウェアは、拡張マージ予測、マージ動きベクトル差(merge motion vector difference;MMVD)モード、対称MVDシグナリングを用いる適応動きベクトル予測(adaptive motion vector prediction;AMVP)モード、アフィン動き補償予測、サブブロックベース時間動きベクトル予測(subblock-based temporal motion vector prediction;SbTMVP)、適応動きベクトル解像度(adaptive motion vector resolution;AMVR)、動きフィールドストレージ(1/16ルマサンプルMVストレージ及び8×8動きフィールド圧縮)、CUレベル重み付きの双予測(bi-prediction with CU-level weights;BCW)、双方向オプティカルフロー(bi-directional optical flow;BDOF)、オプティカルフローを用いる予測精緻化(prediction refinement using optical flow;PROF)、デコーダ側動きベクトル精緻化(decoder side motion vector refinement;DMVR)、結合インター・イントラ予測(combined inter and intra prediction;CIIP)、幾何学的パーティショニングモード(geometric partitioning mode;GPM)、及びこれらに類するものを含め、1つ以上のリファインされたインター予測コーディングツールを含む。インター予測及び関連する方法について、以下にて詳細に説明する。
【0101】
拡張マージ予測は、一部の例で使用され得る。例えばVTM4においてなどの一例において、マージ候補リストは、以下の5つのタイプの候補、すなわち、(1つ以上の)空間隣接CUからの(1つ以上の)空間動きベクトル予測子(MVP)、(1つ以上の)コロケートCUからの(1つ以上の)時間MVP、先入れ先出し(FIFO)テーブルからの(1つ以上の)履歴ベースMVP(HMVP)、(1つ以上の)ペアワイズ平均MVP、及び(1つ以上の)ゼロMV、を順に含めることによって構築される。
【0102】
マージ候補リストのサイズは、スライスヘッダ内でシグナリングされることができる。一例において、マージ候補リストの最大許容サイズはVTM4において6である。マージモードでコーディングされる各CUについて、最良のマージ候補のインデックス(例えば、マージインデックス)が、トランケートユナリバイナリゼーション(truncated unary binarization;TU)を用いて符号化され得る。マージインデックスの第1のビンは、コンテキストを用いてコーディングされることができ(例えば、コンテキスト適応バイナリ算術コーディング(context-adaptive binary arithmetic coding;CABAC))、他のビンにはバイパスコーディングが使用され得る。
【0103】
マージ候補の各カテゴリの生成プロセスの幾つかの例が以下にて提供される。一実施形態において、(1つ以上の)空間候補は以下のように導出される。VVCにおける空間マージ候補の導出は、HEVCにおけるそれと同じとし得る。一例において、
図9に示す位置にある候補の中から最大4つのマージ候補が選択される。
図9は、本開示の一実施形態に従った空間マージ候補の位置を示している。
図9を参照するに、導出の順序は、B1、A1、B0、A0、及びB2である。位置B2は、位置A0、B0、B1、及びA1のうちのいずれかのCUが利用可能でない場合(例えば、そのCUが別のスライス又は別のタイルに属するため)又はイントラコーディングされる場合にのみ検討される。位置A1の候補が追加された後、残りの候補の追加は、コーディング効率が向上されるように、同じ動き情報を有する候補が候補リストから除外されることを保証する冗長性検査にかけられる。
【0104】
計算複雑性を低減させるために、前述の冗長性検査では、可能な全ての候補ペアが検討されるわけではない。その代わりに、
図10の矢印で結び付けられたペアのみが検討され、冗長性検査に使用される対応する候補が同じ動き情報を持たない場合にのみ、候補が候補リストに追加される。
図10は、本開示の一実施形態に従った空間マージ候補の冗長性検査のために検討される候補ペアを示している。
図10を参照するに、それぞれの矢印で結ぶ付けられたペアは、A1とB1、A1とA0、A1とB2、B1とB0、及びB1とB2である。故に、位置B1、A0、及び/又はB2の候補を位置A1の候補と比較することができ、位置B0及び/又はB2の候補を位置B1の候補と比較することができる。
【0105】
一実施形態において、(1つ以上の)時間候補は以下のように導出される。一例において、1つのみの時間マージ候補が候補リストに追加される。
図11は、時間マージ候補に関する例示的な動きベクトルスケーリングを示している。現在ピクチャ(1101)内の現在CU(1111)の時間マージ候補を導出するために、スケーリングされたMV(1121)(例えば、
図11に点線で示す)が、コロケート参照ピクチャ(1104)に属するコロケートCU(1112)に基づいて導出され得る。一例において、コロケート参照ピクチャ(コロケートピクチャとも称される)は、例えば時間動きベクトル予測のために使用される特定の参照ピクチャである。時間動きベクトル予測のために使用されるコロケート参照ピクチャは、例えばハイレベルシンタックス(例えば、ピクチャヘッダ、スライスヘッダ)などの、シンタックス内の参照インデックスによって示されることができる。
【0106】
コロケートCU(1112)を導出するために使用される参照ピクチャリストは、スライスヘッダ内で明示的にシグナリングされることができる。
図11中に点線で示すように時間マージ候補に関するスケーリングされたMV(1121)が取得され得る。スケーリングされたMV(1121)は、ピクチャオーダカウント(POC)距離tb及びtdを用いて、コロケートCU(1112)のMVからスケーリングされることができる。POC距離tbは、現在ピクチャ(1101)の現在参照ピクチャ(1102)と現在ピクチャ(1101)との間のPOC差であると定義され得る。POC距離tdは、コロケート参照ピクチャ(1103)のコロケート参照ピクチャ(1104)とコロケート参照ピクチャ(1103)との間のPOC差であると定義され得る。時間マージ候補の参照ピクチャインデックスはゼロに設定され得る。
【0107】
図12は、現在CUの時間マージ候補についての例示的な候補位置(例えば、C0及びC1)を示している。候補位置C0及びC1から時間マージ候補の位置を選択することができる。候補位置C0は、現在CUのコロケートCU(1210)の右下コーナーに位置する。候補位置C1は、現在CUのコロケートCU(1210)の中心に位置する。候補位置C0のCUが利用可能でなかったり、イントラコーディングされたり、CTUの現在の行の外側にあったりする場合、時間マージ候補を導出するために候補位置C1が使用される。それ以外の場合、例えば、候補位置C0のCUが利用可能であり、イントラコーディングされ、CTUの現在の行内にある場合、時間マージ候補を導出するために候補位置C0が使用される。
【0108】
マージ動きベクトル差(MMVD)モードは、動きベクトル表現方法ありのマージモード又はスキップモードで使用されることができる。例えばVVCで使用されるような(1つ以上の)マージ候補をMMVDモードで再利用することができる。候補は、開始点(例えば、MV予測子(MVP))としてマージ候補の中から選択されることができ、MMVDモードによって更に拡張されることができる。MMVDモードは、簡略化されたシグナリングを用いて新しい動きベクトル表現を提供することができる。その動きベクトル表現方法は、開始点とMV差(MVD)とを含む。一例において、MVDは、MVDの大きさ(又は動きの大きさ)と、MVDの方向(例えば、動き方向)とによって示される。
【0109】
MMVDモードは、例えばVVCで使用されるようなマージ候補リストを用いることができる。一実施形態において、デフォルトのマージタイプ(例えば、MRG_TYPE_DEFAULT_N)のものである(1つ以上の)候補のみがMMVDモードで検討される。開始点は、ベース候補インデックス(IDX)によって示される又は規定されることができる。ベース候補インデックスは、マージ候補リスト内の複数の候補(例えば、複数のベース候補)の中の候補(例えば、最良の候補)を示すことができる。表1は、ベース候補インデックスと対応する開始点との間の例示的な関係を示している。ベース候補インデックスが0、1、2、又は3であることは、対応する開始点が1番目のMVP、2番目のMVP、3番目のMVP、又は4番目のMVPであることを示す。一例において、ベース候補の数が1に等しい場合、ベース候補IDXはシグナリングされない。
【表1】
【0110】
距離インデックスは、例えばMVDの大きさなど、MVDの動き大きさ情報を示すことができる。例えば、距離インデックスは、開始点(例えば、ベース候補インデックスによって示されるMVP)からの距離(例えば、所定の距離)を示す。一例において、その距離は、例えば表2に示されるような複数の所定の距離のうちの1つである。表2は、距離インデックスと対応する距離(サンプル又はピクセルの単位)との間の例示的な関係を示している。表2中の1ペル(pel)は1サンプル又は1ピクセルのことである。例えば、距離インデックスが1であることは、距離が1/2ペル、すなわち、1/2サンプルであることを示す。
【表2】
【0111】
方向インデックスは、開始点に対するMVDの方向を表すことができる。方向インデックスは、例えば表3に示す4つの方向のような複数の方向のうちの1つを表すことができる。例えば、方向インデックスが00であることは、MVDの方向が正のx軸に沿っていることを示す。
【表3】
【0112】
スキップ及びマージフラグを送った後にMMVDフラグをシグナリングすることができる。スキップ及びマージフラグが真である場合、MMVDフラグが解析され得る。一例において、MMVDフラグが1に等しい場合、MMVDシンタックス(例えば、距離インデックス及び/又は方向インデックスを含む)が解析され得る。MMVDフラグが1に等しくない場合、AFFINEフラグが解析され得る。AFFINEフラグが1に等しい場合、現在ブロックをコーディングするのにAFFINEモードが使用される。AFFINEフラグが1に等しくない場合、例えばVTMにおいて使用されるように、スキップ/マージインデックスがスキップ/マージモードのために解析され得る。
【0113】
図13-
図14は、MMVDモードにおける探索プロセスの一例を示している。探索プロセスを実行することにより、現在ピクチャ(又は現在フレームとして参照する)(1301)内の現在ブロック(1300)について、ベース候補インデックス、方向インデックス、及び/又は距離インデックスを含むインデックスを決定することができる。
【0114】
第1のマージ候補に属する第1の動きベクトル(MV)(1311)及び第2のMV(1321)が示されている。第1のマージ候補は、現在ブロック(1300)のために構築されたマージ候補リスト内のマージ候補であるとすることができる。第1及び第2のMV(1311)及び(1321)は、それぞれ、参照ピクチャリストL0及びL1内の2つの参照ピクチャ(1302)及び(1303)に関連付けられることができる。従って、
図13-
図14の2つの開始点(1411)及び(1421)を、それぞれ、参照ピクチャ(1302)及び(1303)内で決定することができる。
【0115】
一例において、開始点(1411)及び(1421)に基づいて、参照ピクチャ(1302)及び(1303)内で開始点(1411)及び(1421)から垂直方向(+Y又は-Yで表される)又は水平方向(+X及び-Xで表される)に延びる複数の所定の点が評価され得る。一例において、例えば点(1414)と(1424)とのペア又は点(1415)と(1425)とのペアなど、それぞれの開始点(1411)又は(1421)に関して互いに鏡像となる点のペアを用いて、現在ブロック(1300)についてのMV予測子(MVP)候補を形成し得るMV(1314)と(1324)とのペア又はMV(1315)と(1325)とのペアを決定し得る。開始点(1411)及び/又は(1421)を取り囲む所定の点に基づいて決定されるMVP候補が評価され得る。
図13を参照するに、第1のMV(1311)とMV(1314)との間のMVD(1312)は1Sの大きさを持つ。第2のMV(1321)とMV(1324)との間のMVD(1322)は1Sの大きさを持つ。同様に、第1のMV(1311)とMV(1315)との間のMVDは2Sの大きさを持つ。第2のMV(1321)とMV(1325)との間のMVDは2Sの大きさを持つ。
【0116】
第1のマージ候補に加えて、現在ブロック(1300)のマージ候補リスト内の他の利用可能な又は有効なマージ候補も同様に評価され得る。一例において、片予測のマージ候補については、2つの参照ピクチャリストのうちの一方に関連付けられた1つの予測方向のみが評価される。
【0117】
一例において、評価に基づいて、最良のMVP候補を決定することができる。従って、マージリストから、最適なMVP候補に対応する最適なマージ候補を選択することができ、動き方向及び動き距離も決定することができる。例えば、選択されたマージ候補と表1とに基づいて、ベース候補インデックスを決定することができる。例えば所定の点(1415)(又は(1425))に対応するものなど、選択されたMVPに基づいて、開始点(1411)に対する点(1415)の方向及び距離(例えば、2S)を決定することができる。表2及び表3に従って、方向インデックス及び距離インデックスを然るべく決定することができる。
【0118】
上述したように、例えば距離インデックスと方向インデックスなどの2つのインデックスを用いて、MMVDモードにおけるMVDを示すことができる。代わりに、例えば、単一のインデックスをMVDとペアリングするテーブルを使って、単一のインデックスを用いてMMVDモードにおけるMVDを示してもよい。
【0119】
例えばMMVDモード及びアフィンMMVDモードなどの一部の予測モードでは、テンプレートマッチング(TM)ベースの候補並べ替えが使用され得る。一実施形態において、MMVDモード及びアフィンMMVDモード向けにMMVDオフセットが拡張される。
図15は、例えば、kは0から15までの整数であるとして、k×π/8の斜めの角度などの、複数の斜めの角度に沿った追加の精緻化位置を示している。複数の斜めの角度に沿った追加の精緻化位置は、例えば4方向(例えば、+X、-X、+Y、及び-Y)から16方向(例えば、k=0,1,2,…,15)になど、方向の数を増加させることができる。一例において、これら16方向の各々は、+X方向と、中心点(1500)と点1から点16のうちの1つとによって示される方向と、の間の角度によって表される。例えば、点1は、0の角度(すなわち、k=0)を有する+X方向を示し、点2は、1×π/8の角度(すなわち、k=1)に沿った方向を示す、等である。
【0120】
TMはMMVDモードで実行され得る。一例において、各MMVD精緻化位置について、現在ブロックの現在テンプレートと1つ以上の参照テンプレートとに基づいてTMコストが決定され得る。TMコストは、例えば絶対差の和(SAD)(例えば、SADコスト)、絶対変換差の和(SATD)、二乗誤差の和(SSE)、平均除去したSAD/SATD/SSE、分散、部分SAD、部分SSE、部分SATD、又はこれらに類するものなどの任意の方法を用いて決定され得る。
【0121】
現在ブロックの現在テンプレートは、例えば現在ブロックの上の一行のサンプル及び/又は現在ブロックの左の一列のサンプルなど、何らかの好適サンプルを含むことができる。精緻化位置についての現在テンプレートと対応する参照テンプレートとの間のTMコスト(例えば、SADコスト)に基づいて、各ベース候補(例えば、MVP)についての例えば取り得る全てのMMVD精緻化位置(例えば、16個の方向と6個の大きさを表す16×6個)といったMMVD精緻化位置を並べ替えることができる。一例において、最小側のTMコスト(例えば、最小のSADコスト)を有する上位のMMVD精緻化位置が、MMVDインデックスコーディングに利用可能なMMVD精緻化位置として保持される。例えば、最小側のTMコストを有するMMVD精緻化位置のサブセット(例えば、8個)が、MMVDインデックスコーディングに使用される。例えば、MMVDインデックスが、最小側のTMコストを有するMMVD精緻化位置のサブセットのうちのどの1つが現在ブロックをコーディングするために選択されるかを指し示す。一例において、0のMMVDインデックスが、最小のTMコストに対応するMVD(例えば、MMVD精緻化位置)が現在ブロックをコーディングするのに使用されることを示す。MMVDインデックスは、例えば、2に等しいパラメータを有するライスコードによって2値化され得る。
【0122】
一実施形態において、例えば
図15などの上述のMMVDオフセット拡張に加えて、アフィンMMVD並べ替えが拡張され、k×π/4の斜めの角度に沿った更なる精緻化位置が追加される。並べ替えの後、最小側のTMコスト(例えば、SADコスト)を有する上位1/2の精緻化位置が、現在ブロックをコーディングするために保持される。
【0123】
コーディング効率を改善し、(1つ以上の)MVの伝送オーバーヘッドを低減させるために、CUレベルの時間動きベクトル予測(TMVP)を拡張すべくサブブロックレベルのMV精緻化が適用され得る。一例において、サブブロックベースTMVP(SbTMVP)モードは、コロケート参照ピクチャからのサブブロックレベルの動き情報を継承することを可能にする。上述のように、コロケート参照ピクチャは、例えばハイレベルシンタックス(例えば、ピクチャヘッダ、スライスヘッダ)などのシンタックス内の参照インデックスによって示されることができる。現在ピクチャ内の現在CU(例えば、大きいサイズを有する現在CU)の各サブブロックが、ブロックパーティション構造又はそれぞれの動き情報を明示的に伝送することなしに、それぞれの動き情報を持つことができる。SbTMVPモードにおいて、各サブブロックの動き情報は、例えば3つのステップで以下のように取得され得る。第1ステップにて、現在CUの変位ベクトル(DV)が導出され得る。DVはコロケート参照ピクチャ内のブロックを示すことができ、例えば、DVは現在ピクチャ内の現在ブロックからコロケート参照ピクチャ内のブロックを指す。従って、DVによって示されるブロックは、現在ブロックとコロケートであると見なされ、現在ブロックのコロケートブロックと称される。第2ステップにて、SbTMVP候補の利用可能性を検査することができ、中心動き(例えば、現在CUの中心動き)が導出され得る。第3ステップにて、サブブロック動き情報が、DVを用いてコロケートブロック内の対応するサブブロックから導出され得る。これら3つのステップは、1つ又は2つのステップに組み合わされてもよく、及び/又はこれら3つのステップの順序が調整されてもよい。
【0124】
参照フレーム又は参照ピクチャ内のコロケートブロックから時間MVを導出するTMVP候補導出とは異なり、SbTMVPモードでは、DV(例えば、現在CUの左の隣接CUのMVから導出されたDV)を適用して、現在ピクチャ内にある現在CU内の各サブブロックについて、コロケート参照ピクチャ内の対応するサブブロックを位置特定することができる。対応するサブブロックがインターコーディングされない場合、現在サブブロックの動き情報は、コロケートブロックの中心動きに設定され得る。
【0125】
SbTMVPモードは、例えばVVCを含む様々なビデオコーディング標準によってサポートされ得る。TMVPモードと同様に、例えば、HEVCでは、SbTMVPモードにおいて、コロケート参照ピクチャにおける動きフィールド(動き情報フィールド又はMVフィールドとも称される)を用いて、現在ピクチャ内のCUに対するMV予測及びマージモードを改善することができる。一例において、TMVPモードによって使用されるのと同じコロケート参照ピクチャがSbTMVPモードで使用される。一例において、SbTMVPモードは、以下の観点、すなわち、(i)TMVPモードはCUレベルで動き情報を予測するのに対し、SbTMVPモードはサブCUレベルで動き情報を予測する、(ii)TMVPモードはコロケート参照ピクチャ内のコロケートブロック(例えば、コロケートブロックは現在CUに対して右下又は中央のブロックである)から時間MVをフェッチするのに対し、SbTMVPモードは、コロケート参照ピクチャから時間動き情報をフェッチする前に動きシフトを適用することができる、という観点においてTMVPモードとは異なる。一例において、SbTMVPモードで使用される動きシフトは、現在CUの空間隣接ブロックのうちの1つのMVから取得される。
【0126】
図16-
図17は、SbTMVPモードで使用される例示的なSbTMVPプロセスを示している。当該SbTMVPプロセスは、例えば2つのステップで、現在ピクチャ(1711)の現在CU(例えば、現在ブロック)(1601)内のサブCU(例えば、サブブロック)のMVを予測することができる。第1ステップにて、
図16-
図17の現在ブロック(1601)に空間的に隣接するもの(空間ネイバー)(例えば、A1)が調べられる。空間ネイバー(例えば、A1)が、当該空間ネイバー(例えば、A1)の参照ピクチャとしてコロケート参照ピクチャ(1712)を用いるMV(1721)を持つ場合、該MV(1721)が、現在ブロック(1601)に適用されるべき動きシフト(又はDV)であるように選択され得る。そのようなMV(例えば、参照ピクチャとしてコロケート参照ピクチャ(1712)を用いるMV)が特定されない場合、動きシフト又はDVはゼロMV(例えば、(0,0))に設定され得る。一部の例において、そのようなMVが空間ネイバーA1について特定されない場合、例えばA0、B0、及びB1などの更なる空間ネイバーの(1つ以上の)MVが検査される。
【0127】
第2ステップにて、第1ステップで特定された動きシフト又はDV(1721)を現在ブロック(1601)に適用して(例えば、DV(1721)を現在ブロックの座標に足し合わせて)、コロケート参照ピクチャ(1712)からサブCUレベルの動き情報(例えば、MVと参照インデックスとを含む)を取得し得る。
図17に示す例では、動きシフト又はDV(1721)は、現在ブロック(1601)の空間ネイバーA1(例えば、ブロックA1)のMVであるように設定されている。現在ブロック(1601)内の各サブCU又はサブブロック(1731)について、コロケート参照ピクチャ(1712)内の対応するコロケートブロック(1701)の動き情報(例えば、コロケートブロック(1701)の中心サンプルをカバーする最小動きグリッドの動き情報)を用いて、サブCU又はサブブロック(1731)の動き情報を導出し得る。コロケートブロック(1701)内のコロケートサブCU(1732)の動き情報が特定された後、コロケートサブCU(1732)の動き情報を、例えば、時間MVの参照ピクチャを現在CUの参照ピクチャにアライメントするために時間動きスケーリングが適用されるものであるHEVCで使用されるTMVPプロセスと同様の手法などでスケーリング法を用いて、現在サブCU(1731)の動き情報(例えば、MV及び1つ以上の参照インデックス)に変換することができる。
【0128】
DV(1721)に基づいて導出される現在ブロック(1601)の動きフィールドは、例えば(1つ以上の)MV及び1つ以上の関連付けられた参照インデックスなどの、現在ブロック(1601)内の各サブブロック(1731)の動き情報を含むことができる。現在ブロック(1601)の動きフィールドは、SbTMVP候補とも称されることができ、DV(1721)に対応する。
【0129】
図17は、現在ブロック1601の動きフィールド又はSbTMVP候補の一例を示している。例えば、双予測されるサブブロック(1731(1))の動き情報は、第1のMVと、参照ピクチャリスト0(L0)内の第1の参照ピクチャを示す第1のインデックスと、第2のMVと、参照ピクチャリスト1(L1)内の第2の参照ピクチャを示す第2のインデックスとを含む。一例において、片予測されるサブブロック(1731(2))の動き情報は、MVとL0又はL1内の参照ピクチャを示すインデックスとを含む。
【0130】
一例において、DV(1721)を現在ブロック(1601)の中心位置に適用して、コロケート参照ピクチャ(1712)における変位された中心位置を位置特定する。変位された中心位置を含むブロックがインターコーディングされない場合、SbTMVP候補は利用可能でないと見なされる。そうではなく、変位された中心位置を含むブロック(例えば、コロケートブロック(1701))がインターコーディングされる場合、現在ブロック(1601)の中心動きと称される現在ブロック(1601)の中心位置の動き情報が、コロケート参照ピクチャ(1712)内の変位された中心位置を含むブロックの動き情報から導出され得る。一例において、現在ブロック(1601)の中心動きをコロケート参照ピクチャ(1712)内の変位された中心位置を含むブロックの動き情報から導出するために、スケーリングプロセスが使用され得る。SbTMVP候補が利用可能であるとき、現在ブロック(1601)の各サブブロック(1732)について、DV(1721)を適用して、コロケート参照ピクチャ(1712)内の対応するサブブロック(1731)を見つけることができる。対応するサブブロック(1732)の動き情報を用いて、例えば、現在ブロック(1601)の中心動きを導出するのに使用されるのと同じ手法などで、現在ブロック(1601)内のサブブロック(1731)の動き情報を導出することができる。一例において、対応するサブブロック(1732)がインターコーディングされない場合、現在サブブロック(1731)の動き情報は現在ブロック(1601)の中心動きであるように設定される。
【0131】
例えばVVCにおいてなどの一部の例において、SbTMVP候補と(1つ以上の)アフィンマージ候補とを含む組み合わされたサブブロックベースマージリストが、サブブロックベースマージモードのシグナリングにおいて使用される。SbTMVPモードは、シーケンスパラメータセット(SPS)フラグによって有効にされたり無効にされたりし得る。SbTMVPモードが有効にされる場合、SbTMVP候補(又はSbTMVP予測子)は、サブブロックベースのマージ候補を含むサブブロックベースマージリストの最初のエントリとして追加され、その後に(1つ以上の)アフィンマージ候補が続くことができる。サブブロックベースマージリストのサイズは、SPS内でシグナリングされることができる。一例において、サブブロックベースマージリストの最大許容サイズは、VVCにおいて5である。一例において、複数のSbTMVP候補がサブブロックベースマージリストに含められる。
【0132】
例えばVVCにおいてなどの一部の例において、SbTMVPモードで使用されるサブCUサイズは、例えばアフィンマージモードに使用されるように、8×8に固定される。一例において、SbTMVPモードは、幅及び高さの両方が8以上であるCUにのみ適用可能である。サブブロックサイズ(例えば、8×8)は、VVC以降の探査のためのECMソフトウェアモデル利用における4×4など、他のサイズに構成可能であってもよい。一例において、AMVPモードでSbTMVP及び/又はTMVPのための時間動き情報を提供するために、例えば2つのコロケートフレームなどの複数のコロケート参照ピクチャが利用される。
【0133】
例えばVVC及びECMにおいてなどのSbTMVPモードの一部の例において、現在CUのDV(例えば、
図17のDV(1721))は、現在CUの隣接CUのMVからのみ導出される。しかしながら、DVを用いて導出されるSbTMVP候補は正確な一致ではないことがある。
【0134】
SbTMVPモードにおいてDVオフセット(DVO)を用いることができる。一例において、より正確な一致を得るために、DVオフセットによってDV(例えば、当初DV)を変更して、更新されたDV’を決定することができる。一例において、更新されたDV’は、DV(例えば、当初DV)とDVOとのベクトル和である。当初DVは、例えば
図16-
図17で説明したものなどの任意の方法を用いて決定され得る。例えば、当初DVは、現在ブロックの隣接ブロックのMVに基づいて決定される。現在ブロックについて、DVOがシグナリングされて解析されることで、当初DVの追加の動きオフセットを示し得る。DVOは、例えば、複数のDVO候補からDVOを指し示すインデックスをシグナリングすることによって示され得る。一例において、DVOがシグナリングされる。一例において、DVOを示すためにMMVDモードが使用され、例えば、DVOは、表2-表3に記載されたものなどの方向インデックス及び/又は距離インデックスによって示されるMVDである。DVOを用いることにより、コロケート参照ピクチャ内のコロケートCU(又はコロケートブロック)の位置を調整することができ、故に、DVOに基づいてコロケートCU(又はコロケートブロック)のMVフィールドが変化することができる。DVOが0でないとき、更新されたDV’が、SbTMVPプロセスを実行するためにコロケートCU(又はコロケートブロック)の位置を示す変位ベクトルとして使用され得る。
図17を参照するに、空間ネイバーA1のMVである当初DV(例えば、DV(1721))を用いる代わりに、更新されたDV’を用いて現在ブロックについてコロケートブロックを決定することができる。更新されたDV’(例えば、当初DVとDVOとのベクトル和)を用いて現在ブロックのSbTMVP候補を導出することができる。
【0135】
一実施形態において、DVOは、例えば、AMVPモード、AMVRモード、及び/又はこれらに類するものにおいてなどでMVDをシグナリングするのに使用される任意のシグナリング方法を使用して、直接シグナリングされる。AMVRモードでは、ブロックのMVDが、例えば1/4、1/2、1、又は4ルマサンプル解像度などの異なる解像度でシグナリングされることができる。DVOは、AMVRモードを使用して異なる解像度でシグナリングされ得る。
【0136】
所定のDVOリストが、複数のDVO候補(例えば、現在ブロックによって使用されるのに可能なDVO)を含むことができる。それらDVO候補のうちのどのDVO候補がDVOとして選択されるのかを指し示すために、1つ以上のインデックスがシグナリングされ得る。
【0137】
一例において、DVOは、MMVDモードを使用してシグナリングされる。例えば、表2-表3に記載したように、DVO候補の大きさを示す第1のインデックス(例えば、距離インデックス又はステップインデックス)と、DVO候補の方向を示す第2のインデックス(例えば、方向インデックス)とを含む2つのインデックスが、DVO候補を示すためにシグナリングされる。
【0138】
図14を再び参照するに、距離インデックス(又はステップインデックス)及び方向インデックスは、MMVDモードを参照して上述したように予め定められ得る。距離インデックスは、例えばDVOの大きさなどの動き大きさ情報を示す。例えば、距離インデックスは、開始点(例えば、当初DV)からのある所定の距離を示す。一例において、利用可能な所定の距離は表2に示される。方向インデックスは、開始点(例えば、当初DV)に対するDVOの方向を表す。方向インデックスは、例えば表3に示した4つの方向などの複数の方向のうちの1つを示すことができる。
【0139】
一例において、コロケート参照ピクチャ内のコロケートCTUが、現在ブロックを含む現在CTUとコロケートである。現在CTUは現在ピクチャ内に位置する。一実施形態において、更新されたDV’に対応するコロケートブロックの位置は、コロケート参照ピクチャ内の第1のエリア内にあるように制限される。一例において、コロケート参照ピクチャ内の第1のエリアはコロケートCTUを含む。一例において、コロケート参照ピクチャ内の第1のエリアは、コロケートCTUに加えて、コロケートCTUの右境界にある4×4ブロックのうちの1つの列を含む。更新されたDV’は、更新されたDV’に対応するコロケートブロックがコロケート参照ピクチャ内の第1のエリア内にあるように制約され得る。一例において、DVO(例えば、DVOの水平成分DVOx及び/又はDVOの垂直成分DVOy)は、更新されたDV’が上述のコロケートブロックの位置制約を満たすことを保証するように制約される。
【0140】
一例において、更新されたDV’の最大垂直成分はHである。DVO(例えば、DVOの垂直成分DVOy)は、HからDVの垂直成分DVyを引いたもの以下にされ、例えば、DVOy≦H-DVyである。更新されたDV’の最大水平成分はWであり、DVOは、WからDVの水平成分DVxを引いたもの以下にされ、例えば、DVOx≦W-DVxである。
【0141】
図16-
図17で説明したように、コロケート参照ピクチャ(例えば、(1712))内のコロケートブロック(例えば、(1701))は、現在ピクチャ(例えば、(1711))内の現在ブロック(例えば、(1601))のDV(例えば、(1721))に基づいて決定されることができる。従って、現在ブロック内の各サブブロックの動き情報(例えば、TMVP)は、コロケートブロック内の対応するサブブロックの動き情報に基づき得る。本開示の一実施形態によれば、現在ブロック内の各サブブロックの更新された動き情報(例えば、更新されたTMVP)が、現在ブロック内のサブブロックの動き情報(例えば、TMVP)と現在ブロックの動きベクトルオフセット(MVO)とに基づいて決定され得る。
【0142】
一実施形態において、現在ブロック内のそれぞれのサブブロックの導出されたサブブロックレベルTMVP各々にMVOが足し合わされて、更新されたサブブロックレベルTMVPを生成する。SbTMVPモードを用いて決定される現在ブロック内のそれぞれのサブブロックのサブブロックベースTMVP各々の追加の動きオフセットを示すために、MVOがシグナリングされて解析され得る。
【0143】
一実施形態において、MVOは、例えば、AMVPモード、AMVRモード、及び/又はこれらに類するものにおいてなどでMVDをシグナリングするのに使用される任意のシグナリング方法を使用して、直接シグナリングされる。AMVRモードでは、ブロックのMVDが、例えば1/4、1/2、1、又は4ルマサンプル解像度などの異なる解像度でシグナリングされることができる。MVOは、AMVRモードを使用して異なる解像度でシグナリングされ得る。
【0144】
所定のMVOリストが、複数のMVO候補(例えば、現在ブロックによって使用されるのに可能なMVO)を含むことができる。所定のMVOリスト内のDVO候補のうちのどのMVO候補がMVOとして選択され得るのかを指し示すために、1つ以上のインデックスがシグナリングされ得る。
【0145】
一例において、MVOは、MMVDモードを使用してシグナリングされる。例えば、表2-表3に記載したように、MVO候補の大きさを示す第1のインデックス(例えば、距離インデックス又はステップインデックス)と、MVO候補の方向を示す第2のインデックス(例えば、方向インデックス)とを含む2つのインデックスが、MVO候補を示すためにシグナリングされる。
【0146】
図14を再び参照するに、MVOの距離インデックス(又はステップインデックス)及び方向インデックスは、MMVDモードを参照して上述したように予め定められ得る。距離インデックスは、例えばMVOの大きさなどの動き大きさ情報を示し、例えば、開始点(例えば、コロケート参照ピクチャ内のコロケートブロックの位置を決定するのに使用されるDV)からのある所定の距離を示す。一例において、利用可能な所定の距離は表2に示される。方向インデックスは、開始点(例えば、コロケート参照ピクチャ内のコロケートブロックの位置を決定するのに使用されるDV)に対するMVOの方向を表す。方向インデックスは、例えば表3に示した4つの方向などの複数の方向のうちの1つを示すことができる。
【0147】
一例において、現在ブロック内のあるサブブロックが双予測される。
図17を参照するに、サブブロック(1731(1))は双予測され、参照リストL0内の第1の参照ピクチャに関連付けられた第1のMVと、参照リストL1内の第2の参照ピクチャに関連付けられた第2のMVとを持つ。参照リストL0に関連付けられた第1のMVにMVOが適用され得る。更新された第1のMVは、第1のMVとMVOとのベクトル和とすることができる。以下の実施形態が、参照リストL1に関連付けられた第2のMVに適用され得る。
【0148】
一例において、MVOは、参照リストL1に関連付けられた第2のMVには適用されない。例えば、参照リストL1に関連付けられた第2のMVには如何なるMVOも適用されない。従って、サブブロック(1731(1))の更新された動き情報は、更新された第1のMVと、第2のMVとを含む。
【0149】
一例において、MVOの鏡像MVOが、参照リストL1に関連付けられた第2のMVに適用される。鏡像MVOとMVOは、同じ大きさと、反対の向きと持つことができる。MVOの水平成分及び垂直成分(例えば、シグナリングされる)に-1が乗算されて、それぞれ、鏡像MVOの水平成分及び垂直成分が得られる。更新された第2のMVは、第2のMVと鏡像MVOとのベクトル和、又は第2のMVとMVOとの間のベクトル差とすることができる。従って、サブブロック(1731(1))の更新された動き情報は、更新された第1のMV(例えば、第1のMV+MVO)と、更新された第2のMV(例えば、第2のMV-MVO)とを含む。
【0150】
一例において、スケーリングされたMVO(MVO’)が、参照リストL1に関連付けられた第2のMVに適用され得る。MVOの各成分(例えば、水平成分及び垂直成分)の値が、式1に示されるように、第1のPOC差及び第2のPOC差に基づいてスケーリングされ得る。式1は、ベクトルMVO’及びMVOに適用され得る。式1は、ベクトルMVO’及びMVOの各成分に適用されることができる。第1のPOC差は、現在ピクチャのPOC(POCcurr)と参照ピクチャリストL0内の第1の参照ピクチャのPOC(POCL0)との間の差である。第2のPOC差は、現在ピクチャのPOC(POCcurr)と参照ピクチャリストL1内の第2の参照ピクチャのPOC(POCL1)との間の差である。
MVO’=MVO×(POCL1-POCcurr)/(POCL0-POCcurr)
式1
【0151】
一例において、スケーリングされたMVO(MVO’)は、参照リストL1に関連付けられた第2のMVに足し合わされる。一例において、スケーリングされたMVO(MVO’)の鏡像MVO’が、参照リストL1に関連付けられた第2のMVに足し合わされる。
【0152】
上述したように、SbTMVPモードの一例(例えば、
図16-
図17で説明したSbTMVPモードに対するバリエーション)において、DVOをDVに適用することで、コロケート参照ピクチャ内のコロケートブロックの位置が調整され、ひいては現在ブロック内のサブブロックの動き情報に影響を及ぼすことができるようにすることができる。SbTMVPモードの他の一例(例えば、
図16-
図17で説明したSbTMVPモードに対する他のバリエーション)では、MVOを適用することで、現在ブロック内のサブブロックの動き情報を直接調整することができる。DVOとMVOは、同じ方法を用いてシグナリングされ得る。例えば、所定のMVOリストは所定のDVOリストと同じであり、DVOとMVOが、同じ所定のMVOリストを用いることができる。
【0153】
一部の例において、DVOをDVに適用することで、コロケート参照ピクチャ内のコロケートブロックの位置が調整され得るようにすることができる。更新されたDV’(例えば、DV+DVO)に基づいて決定されたコロケート参照ピクチャ内の対応するサブブロックの動き情報に基づいて、現在ブロック内のサブブロックの動き情報を取得した後に、現在ブロック内のサブブロックの動き情報を更に調整するためにMVOが適用され得る。DVOは、MVOと同じであってもよいし、異なってもよい。
【0154】
図18は、本開示の一実施形態に従った符号化プロセス(1800)を概説するフローチャートを示している。プロセス(1800)はビデオエンコーダにおいて使用されることができる。プロセス(1800)は、処理回路を含むことができるビデオコーディングのための装置によって実行されることができる。様々な実施形態において、プロセス(1800)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(1800)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1800)を実行する。当該プロセスは(S1801)で開始して(S1810)に進む。
【0155】
(S1810)にて、現在ピクチャ内の現在ブロックの更新されたDVが、現在ブロックのDV及び現在ブロックのDVオフセット(MVオフセット(MVO)とも称される)に基づいて決定され得る。DVは、例えば
図16-
図17においてなどで上述したように決定されることができる。現在ブロックの更新されたDVは、コロケートピクチャ内のコロケートブロックを示す。コロケートブロックは現在ブロックとコロケートである。
【0156】
現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して符号化される複数のサブブロックを含む。
【0157】
一例において、DVオフセット(又はMVO)は、任意の好適な方法を用いてDVオフセット候補から決定される。
【0158】
一例において、更新されたDVは、DVとDVオフセットとのベクトル和であるように決定される。
【0159】
一例において、更新されたDVは、コロケートブロックがコロケート参照ピクチャ内の制約されたエリア内にあるように制約される。制約されたエリアは、現在ピクチャ内の現在CTUに対応するコロケートエリアを含み、現在CTUが現在ブロックを含む。
【0160】
(S1820)にて、上記複数のサブブロックのうちのサブブロックの動き情報が、コロケートブロック内の対応するサブブロックの動き情報に基づいて決定され得る。
【0161】
(S1830)にて、DVオフセットを示すDVオフセット情報(MVO情報とも称される)が符号化され得る。上記複数のサブブロックのうちの上記サブブロックは、上記複数のサブブロックのうちの上記サブブロックの動き情報に基づいて符号化され得る。
【0162】
一実施形態において、DVオフセット情報は、DVオフセットの大きさ及びDVオフセットの方向を示す少なくとも1つのインデックスを示す。一例において、該少なくとも1つのインデックスは、一組の所定の距離のうちの1つであるDVオフセットの大きさを示す距離インデックスと、一組の所定の方向のうちの1つであるDVオフセットの方向を示す方向インデックスとを含む。
【0163】
一例において、上記一組の所定の距離及び上記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される。
【0164】
(S1840)にて、符号化されたDVオフセット情報が、ビットストリームに含められてデコーダにシグナリングされ得る。
【0165】
一例において、DVオフセット情報は、ビットストリームに符号化されてシグナリングされるDVオフセットを含む。
【0166】
そして、プロセス(1800)は(S1899)に進んで終了する。
【0167】
プロセス(1800)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(1800)のステップを調整することができる。プロセス(1800)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(1800)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0168】
一実施形態において、現在ピクチャ内の現在ブロックの更新された変位ベクトル(DV)が、現在ブロックのDV及びMVO(DVオフセットとも称される)に基づいて決定される。MVOは、コロケート参照ピクチャ内のコロケートブロックの位置を調整するために使用されるDVの動きオフセットを示す。更新されたDVは、コロケート参照ピクチャ内のコロケートブロックの調整された位置を示す。現在ブロックはSbTMVPモードでコーディングされる。
【0169】
上記複数のサブブロックのそれぞれのサブブロックのSbTMVP情報(例えば、動き情報)が、少なくとも、更新されたDVによって示されるコロケートブロック内の対応するサブブロックの動き情報に基づいて、導出され得る。上記複数のサブブロックが、上記複数のサブブロックのSbTMVP情報に基づいて、SbTMVPモードで符号化され得る。
【0170】
図19Aは、本開示の一実施形態に従った復号プロセス(1900A)を概説するフローチャートを示している。プロセス(1900A)はビデオデコーダにおいて使用されることができる。プロセス(1900A)は、受信回路及び処理回路を含むことができるビデオコーディングのための装置によって実行されることができる。様々な実施形態において、プロセス(1900A)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路ビデオエンコーダ(603)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(1900A)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1900A)を実行する。当該プロセスは(S1901)で開始して(S1910)に進む。
【0171】
(S1910)にて、現在ピクチャ内の現在ブロックの変位ベクトル(DV)オフセット(MVオフセット(MVO)とも称される)情報が符号化ビデオビットストリームから受信され得る。現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して再構成される複数のサブブロックを含む。DVオフセット(又はMVO)情報は、コロケート参照ピクチャ内のコロケートブロックの位置を調整するために使用されるDVに対する動きオフセットを示すことができる。一例において、コロケート参照ピクチャ内のコロケートブロックの位置はDVオフセットによって調整される。
【0172】
一例において、DVオフセット情報は、符号化ビデオビットストリーム内でシグナリングされるDVオフセット(又はMVO)を含む。
【0173】
一実施形態において、DVオフセット情報は、DVオフセットの大きさ及びDVオフセットの方向を示す少なくとも1つのインデックスを示す。一例において、該少なくとも1つのインデックスは、一組の所定の距離のうちの1つであるDVオフセットの大きさを示す距離インデックスと、一組の所定の方向のうちの1つであるDVオフセットの方向を示す方向インデックスとを含む。
【0174】
一例において、上記一組の所定の距離及び上記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される。
【0175】
(S1920)にて、現在ブロックのDV及び現在ブロックのDVオフセットに基づいて、現在ブロックの更新されたDVが決定され得る。DVオフセットはDVオフセット情報によって示される。現在ブロックの更新されたDVは、コロケート参照ピクチャ内のブロックを指し示す。該ブロックは、現在ブロックとコロケートであると見なされ、現在ブロックのコロケートブロックと称される。
【0176】
一例において、更新されたDVは、DVとDVオフセットとのベクトル和であるように決定される。
【0177】
一例において、更新されたDVは、コロケートブロックがコロケート参照ピクチャ内の制約されたエリア内にあるように制約される。制約されたエリアは、現在ピクチャ内の現在CTUに対応するコロケートエリアを含み、現在CTUが現在ブロックを含む。
【0178】
(S1930)にて、上記複数のサブブロックのうちのサブブロックの動き情報が、コロケートブロック内の対応するサブブロックの動き情報に基づいて決定され得る。
【0179】
(S1940)にて、上記複数のサブブロックのうちの上記サブブロックが、上記複数のサブブロックのうちの上記サブブロックの動き情報に基づいて再構成され得る。
【0180】
プロセス(1900A)は(S1999)に進んで終了する。
【0181】
プロセス(1900A)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(1900A)のステップを調整することができる。プロセス(1900A)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(1900A)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0182】
図19Bは、本開示の一実施形態に従った復号プロセス(1900B)を概説するフローチャートを示している。プロセス(1900B)は、復号プロセス(1900A)のバリエーションである。プロセス(1900B)はビデオデコーダにおいて使用されることができる。プロセス(1900B)は、受信回路及び処理回路を含むことができるビデオコーディングのための装置によって実行されることができる。様々な実施形態において、プロセス(1900A)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路ビデオエンコーダ(603)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(1900B)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1900B)を実行する。当該プロセスは(S1902)で開始して(S1912)に進む。
【0183】
(S1912)にて、現在ピクチャを有する符号化ビデオビットストリームが受信される。現在ピクチャは現在ブロックを含む。現在ブロックは複数のサブブロックを含む。
【0184】
(S1922)にて、符号化ビデオビットストリーム内のシンタックス要素に基づいて、上記複数のサブブロックを含む現在ブロックがSbTMVPモードでコーディングされることが決定される。
【0185】
(S1932)にて、現在ブロックの動きベクトルオフセット(MVO)情報が取得される。MVOは、コロケート参照ピクチャ内のコロケートブロックの位置を調整するために使用される変位ベクトル(DV)の動きオフセットを示す。
【0186】
(S1942)にて、現在ブロックのDV及びMVOに基づいて、現在ブロックの更新されたDVが決定される。更新されたDVは、コロケート参照ピクチャ内のコロケートブロックの調整された位置を示す。
【0187】
(S1952)にて、上記複数のサブブロックのそれぞれのサブブロックのSbTMVP情報(例えば、動き情報)が、少なくとも、更新されたDVによって示されるコロケートブロック内の対応するサブブロックの動き情報に基づいて導出される。
【0188】
(S1962)にて、上記複数のサブブロックが、上記複数のサブブロックのSbTMVP情報に基づいてSbTMVPモードで再構成される。
【0189】
プロセス(1900B)は(S1992)に進んで終了する。
【0190】
プロセス(1900B)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(1900B)のステップを調整することができる。プロセス(1900B)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(1900B)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0191】
本開示の実施形態は、任意の順序で別々に又は組み合わせて使用され得る。また、これらの方法(又は実施形態)の各々、エンコーダ、及びデコーダは、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装され得る。一例において、それら1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に格納されたプログラムを実行する。
【0192】
図20は、本開示の一実施形態に従った符号化プロセス(2000)を概説するフローチャートを示している。プロセス(2000)はビデオエンコーダにおいて使用されることができる。プロセス(2000)は、処理回路を含むことができるビデオコーディングのための装置によって実行されることができる。様々な実施形態において、プロセス(2000)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(2000)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(2000)を実行する。当該プロセスは(S2001)で開始して(S2010)に進む。
【0193】
(S2010)にて、例えば
図16-
図17にて説明したように、現在ピクチャ内の現在ブロックの変位ベクトル(DV)が決定され得る。現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して符号化される複数のサブブロックを含む。DVは、現在ブロックとコロケートであるコロケート参照ピクチャ内のコロケートブロックを示す。
【0194】
(S2020)にて、例えば
図16-
図17にて説明したように、上記複数のサブブロックのうちのサブブロックの動き情報が、コロケートブロック内の対応するサブブロックの動き情報に基づいて決定され得る。
【0195】
(S2030)にて、上記複数のサブブロックのうちの上記サブブロックの動き情報と、現在ブロックの動きベクトル(MV)オフセットとに基づいて、上記複数のサブブロックのうちの上記サブブロックの更新された動き情報が決定され得る。
【0196】
一例において、上記複数のサブブロックのうちの上記サブブロックの動き情報は、第1の参照ピクチャリストL0からの第1の参照ピクチャに関連付けられた第1の動きベクトル(MV)を含む。更新された第1のMVが、第1のMVとMVオフセットとのベクトル和であるように決定され得る。更新された動き情報は更新された第1のMVを含む。
【0197】
一例において、上記複数のサブブロックのうちの上記サブブロックの動き情報は、第2の参照ピクチャリストL1からの第2の参照ピクチャに関連付けられた第2のMVを含む。更新された第2のMVが、(i)第2のMVとMVオフセットとのベクトル差、又は(ii)第2のMVとスケーリングされたMVオフセットとのベクトル和、のうちの一方であるように決定され得る。スケーリングされたMVオフセットは、MVオフセットと、現在ピクチャのピクチャオーダカウント(POC)と、第1の参照ピクチャのPOCと、第2の参照ピクチャのPOCとに基づき得る。更新された動き情報は更新された第2のMVを含む。
【0198】
(S2040)にて、MVオフセットを示すMVオフセット情報が符号化され得る。上記複数のサブブロックのうちの上記サブブロックが、更新された動き情報に基づいて符号化され得る。MVオフセット情報はビットストリームに含められ得る。
【0199】
一例において、MVオフセット情報はMVオフセットを含む。
【0200】
一例において、MVオフセット情報は、MVオフセットの大きさ及びMVオフセットの方向を示す少なくとも1つのインデックスを示す。該少なくとも1つのインデックスは、一組の所定の距離のうちの1つであるMVオフセットの大きさを示す距離インデックスと、一組の所定の方向のうちの1つであるMVオフセットの方向を示す方向インデックスとを含む。上記一組の所定の距離及び上記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される。
【0201】
そして、プロセス(2000)は(S2099)に進んで終了する。
【0202】
プロセス(2000)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(2000)のステップを調整することができる。プロセス(2000)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(2000)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0203】
図21は、本開示の一実施形態に従った復号プロセス(2100)を概説するフローチャートを示している。プロセス(2100)はビデオデコーダにおいて使用されることができる。プロセス(2100)は、受信回路及び処理回路を含むことができるビデオコーディングのための装置によって実行されることができる。様々な実施形態において、プロセス(2100)は、例えば、端末装置(310)、(320)、(330)及び(340)の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路ビデオエンコーダ(603)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(2100)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(2100)を実行する。当該プロセスは(S2101)で開始して(S2110)に進む。
【0204】
(S2110)にて、現在ピクチャ内の現在ブロックの動きベクトル(MV)オフセット情報が符号化ビデオビットストリームから受信され得る。現在ブロックは、サブブロックベース時間動きベクトル予測(SbTMVP)モードを使用して再構成される複数のサブブロックを含む。
【0205】
(S2120)にて、例えば
図16-
図17にて説明したように、現在ブロックの変位ベクトル(DV)が決定され得る。DVは、現在ブロックとコロケートであるコロケート参照ピクチャ内のブロックを示すことができる。該ブロックは、現在ブロックのコロケートブロックと称され得る。
【0206】
(S2130)にて、例えば
図16-
図17にて説明したように、上記複数のサブブロックのうちのサブブロックの動き情報が、コロケートブロック内の対応するサブブロックの動き情報に基づいて決定され得る。
【0207】
(S2140)にて、上記複数のサブブロックのうちの上記サブブロックの動き情報と、MVオフセット情報によって示される現在ブロックのMVオフセットとに基づいて、上記複数のサブブロックのうちの上記サブブロックの更新された動き情報が決定され得る。
【0208】
一例において、MVオフセット情報は、符号化ビデオビットストリーム内でシグナリングされるMVオフセットを含む。
【0209】
一例において、MVオフセット情報は、MVオフセットの大きさ及びMVオフセットの方向を示す少なくとも1つのインデックスを示す。該少なくとも1つのインデックスは、一組の所定の距離のうちの1つであるMVオフセットの大きさを示す距離インデックスと、一組の所定の方向のうちの1つであるMVオフセットの方向を示す方向インデックスとを含む。上記一組の所定の距離及び上記一組の所定の方向は、マージ動きベクトル差(MMVD)モードで使用される。
【0210】
一例において、上記複数のサブブロックのうちの上記サブブロックの動き情報は、第1の参照ピクチャリストL0からの第1の参照ピクチャに関連付けられた第1の動きベクトル(MV)を含む。更新された第1のMVが、第1のMVとMVオフセットとのベクトル和であるように決定され得る。更新された動き情報は更新された第1のMVを含む。
【0211】
一例において、上記複数のサブブロックのうちの上記サブブロックの動き情報は、第2の参照ピクチャリストL1からの第2の参照ピクチャに関連付けられた第2のMVを含む。更新された第2のMVが、(i)第2のMVとMVオフセットとのベクトル差、又は(ii)第2のMVとスケーリングされたMVオフセットとのベクトル和、のうちの一方であるように決定され得る。スケーリングされたMVオフセットは、MVオフセットと、現在ピクチャのピクチャオーダカウント(POC)と、第1の参照ピクチャのPOCと、第2の参照ピクチャのPOCとに基づき得る。更新された動き情報は更新された第2のMVを含む。
【0212】
(S2150)にて、上記複数のサブブロックのうちの上記サブブロックが、更新された動き情報に基づいて再構成され得る。
【0213】
そして、プロセス(2100)は(S2199)に進んで終了する。
【0214】
プロセス(2100)は、様々なシナリオに対して好適に適応されることができ、それに従ってプロセス(2100)のステップを調整することができる。プロセス(2100)のステップのうちの1つ以上が、適応され、省略され、反復され、及び/又は組み合わされ得る。任意の好適な順序を用いてプロセス(2100)を実施し得る。更なる(1つ以上の)ステップが追加され得る。
【0215】
上述の技術は、1つ以上のコンピュータ読み取り可能媒体に物理的に格納された、コンピュータ読み取り可能命令を用いたコンピュータソフトウェアとして、実装されることができる。例えば、
図22は、開示に係る事項の特定の実施形態を実装するのに好適なコンピュータシステム(2200)を示している。
【0216】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介して1つ以上のコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコード化され得る。
【0217】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0218】
コンピュータシステム(2200)に関して
図22に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム(2200)のこの例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0219】
コンピュータシステム(2200)は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、二次元映像、立体視映像を含む3次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
【0220】
入力ヒューマンインタフェース装置は、キーボード(2201)、マウス(2202)、トラックパッド(2203)、タッチスクリーン(2210)、データグローブ(図示せず)、ジョイスティック(2205)、マイクロフォン(2206)、スキャナ(2207)、カメラ(2208)(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0221】
コンピュータシステム(2200)はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(2210)、データグローブ(図示せず)、又はジョイスティック(2205)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー(2209)、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2210)(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。
【0222】
コンピュータシステム(2200)はまた、例えば、CD/DVD若しくは類似の媒体(2221)を有するCD/DVD ROM/RW(2220)を含む光媒体、サムドライブ(2222)、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ(2223)、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
【0223】
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0224】
コンピュータシステム(2200)はまた、1つ以上の通信ネットワーク(2255)へのインタフェース(2254)を含み得る。ネットワークは、例えば、無線、有線、光とし得る。ネットワークは更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。ネットワークの例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、GSM、3G、4G、5G、LTE及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANBusを含む車両及び産業などを含む。特定のネットワークは一般に、特定の汎用データポート又はペリフェラルバス(2249)(例えば、コンピュータシステム(2200)のUSBポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、後述のシステムバスへの取り付けによってコンピュータシステム(2200)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2200)は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク及びネットワークインタフェースの各々上で使用され得る。
【0225】
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェースは、コンピュータシステム(2200)のコア(2240)に取り付けられることができる。
【0226】
コア(2240)は、1つ以上の中央演算処理ユニット(CPU)(2241)、グラフィックス処理ユニット(GPU)(2242)、フィールドプログラマブルゲートアレイ(FPGA)(2243)の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ(2244)、グラフィックスアダプタ(2250)などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)(2245)、ランダムアクセスメモリ(2246)、例えば内部のユーザアクセス可能でないハードドライブ、SSDなどの内部大容量ストレージ(2247)、及びこれらに類するもの(2247)と共に、システムバス(2248)を介して接続され得る。一部のコンピュータシステムにおいて、システムバス(2248)は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス(2248)に直接的に、又はペリフェラルバス(2249)を介して、のいずれで取り付けられてもよい。一例において、スクリーン(2210)はグラフィックスアダプタ(2250)に接続されることができる。ペリフェラルバスのアーキテクチャは、PCI、USB、及びこれらに類するものを含む。
【0227】
CPU(2241)、GPU(2242)、FPGA(2243)、及びアクセラレータ(2244)は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM(2245)又はRAM(2246)に格納され得る。RAM(2246)には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ(2247)に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、1つ以上のCPU(2241)、GPU(2242)、大容量ストレージ(2247)、ROM(2245)、RAM(2246)、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
【0228】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
【0229】
一例として、限定ではなく、アーキテクチャ(2200)、特にコア(2240)、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ(2247)又はROM(2245)などの、非一時的性質のものであるコア(2240)の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア(2240)によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア(2240)及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM(2246)に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(2244))にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。本開示は、ハードウェア及びソフトウェアの好適な組み合わせを含む
付録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(ビデオユーザビリティ情報)
GOPs:Groups of Pictures(グループ・オブ・ピクチャ)
TUs:Transform Units,(変換ユニット)
PU:Prediction Units(予測ユニット)
CTUs:Coding Tree Units(コーディングツリーユニット)
CTBs:Coding Tree Blocks(コーディングツリーブロック)
PBs:Prediction Blocks(予測ブロック)
HRD:Hypothetical Reference Decoder(仮説的リファレンスデコーダ)
SNR:Signal Noise Ratio(信号対雑音比)
CPUs:Central Processing Units(中央演算処理ユニット)
GPUs:Graphics Processing Units(グラフィックス処理ユニット)
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 Areas(フィールドプログラマブルゲートアレイ)
SSD:solid-state drive(ソリッドステートドライブ)
IC:Integrated Circuit(集積回路)
CU:Coding Unit(コーディングユニット)
【0230】
この開示は幾つかの例示的な実施形態を記述しているが、開示の範囲に入る変更、置換、及び様々な均等な代替が存在する。従って、理解されることには、当業者は、ここでは明示的に図示されたり説明されたりしていないものの、開示の原理を具体化し、それ故に、その精神及び範囲の中にあるような、数多くのシステム及び方法を考案することができるであろう。
【国際調査報告】