(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-21
(54)【発明の名称】ビデオ復号の方法及び機器、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/105 20140101AFI20220114BHJP
H04N 19/70 20140101ALI20220114BHJP
H04N 19/52 20140101ALI20220114BHJP
H04N 19/157 20140101ALI20220114BHJP
H04N 19/176 20140101ALI20220114BHJP
【FI】
H04N19/105
H04N19/70
H04N19/52
H04N19/157
H04N19/176
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021531815
(86)(22)【出願日】2020-02-05
(85)【翻訳文提出日】2021-06-03
(86)【国際出願番号】 US2020016831
(87)【国際公開番号】W WO2020163497
(87)【国際公開日】2020-08-13
(32)【優先日】2019-02-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-08-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,グォイチュン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA12
5C159MA21
5C159MC11
5C159ME01
5C159NN10
5C159NN11
5C159PP05
5C159PP06
5C159PP07
5C159PP16
5C159RC12
5C159TA62
5C159TB08
5C159TC12
5C159TC27
5C159TC41
5C159TC42
5C159TD07
5C159TD12
5C159UA02
5C159UA05
(57)【要約】
ビデオ復号のための機器は、処理回路を含む。前記処理回路は、符号化ブロックセットに対するマージ候補リストにおける最大マージ候補数を示すビットストリーム内のシンタックス要素を受信し、前記符号化ブロックセットに含まれる現在ブロックの動きベクトル予測子を生成するためにMMVD(merge with motion vector difference)モードが使用されることを示す前記ビットストリーム内のMMVDフラグシンタックス要素を受信するよう構成される。前記処理回路は、前記最大マージ候補数が2未満であるとき、前記MMVDモードの基本候補インデックスが所定の値であると推定するよう更に構成される。
【特許請求の範囲】
【請求項1】
デコーダにおけるビデオ復号の方法であって、
符号化ブロックセットに対するマージ候補リストにおける最大マージ候補数を示すビットストリーム内のシンタックス要素を受信するステップと、
前記符号化ブロックセットに含まれる現在ブロックの動きベクトル予測子を生成するためにMMVD(merge with motion vector difference)モードが使用されることを示す前記ビットストリーム内のMMVDフラグシンタックス要素を受信するステップと、
前記最大マージ候補数が2未満であるとき、前記MMVDモードの基本候補インデックスが所定の値であると推定するステップと、
を含む方法。
【請求項2】
前記所定の値は0である、請求項1に記載の方法。
【請求項3】
前記最大マージ候補数が1より大きいとき、前記MMVDモードの前記基本候補インデックスを示すシンタックス要素を受信するステップ、を更に含む請求項1に記載の方法。
【請求項4】
前記シンタックス要素は、0又は1の値を有する、請求項3に記載の方法。
【請求項5】
前記MMVDモードの距離インデックスを示す前記ビットストリーム内のシンタックス要素を受信するステップと、
前記MMVDモードの方向インデックスを示す前記ビットストリーム内のシンタックス要素を受信するステップと、
を更に含む請求項1に記載の方法。
【請求項6】
前記基本候補インデックス、前記距離インデックス、及び前記方向インデックスに基づき、前記現在ブロックの前記動きベクトル予測子を決定するステップ、を更に含む請求項5に記載の方法。
【請求項7】
スキップモード又はマージモードがそれぞれ前記符号化ブロックセットについて有効にされていると示す、スキップフラグシンタックス要素又はマージフラグシンタックス要素を受信するステップ、を更に含む請求項1に記載の方法。
【請求項8】
ビデオ復号の機器であって、処理回路を含み、
前記処理回路は請求項1~7のいずれか一項に記載の方法を実行するよう構成される、機器。
【請求項9】
コンピュータプログラムであって、コンピュータに請求項1~7のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本開示は、米国仮特許出願番号第62/803,472号、「Methods of signaling Merge with Motion Vector Difference」、2019年2月9日出願、の優先権の利益を主張する米国特許出願番号第16/534,730号、「Method and Apparatus for Video Coding」、2019年8月7日出願の優先権の利益を主張する。前述の出願の全開示は、それらの全体が参照によりここに組み込まれる。
【0002】
[技術分野]
本開示は、概して、ビデオ符号化に関連する実施形態を記載する。
【背景技術】
【0003】
ここに提供される背景の説明は、本開示のコンテキストの概要を提示するためである。現在名前の挙げられた発明者の研究は、この背景の章に記載された研究の範囲で、出願時に従来技術として見なされない可能性のある記載の態様と同様に、本開示に対する従来技術として明示的に又は暗示的にも認められるものではない。
【0004】
ビデオ符号化及び復号は、動き補償を伴うインターピクチャ予測を用いて実行できる。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080個のルミナンスサンプル及び関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャ又は60Hzの固定又は可変ピクチャレート(略式にフレームレートとしても知られている)を有し得る。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、8ビット/サンプルの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080ルミナンスサンプル解像度)は、1.5Gbit/sの帯域幅を必要とする。1時間のこのようなビデオは600Gbyteより多くの記憶空間を必要とする。
【0005】
ビデオ符号化及び復号の1つの目的は、圧縮を通じて、入力ビデオ信号の中の冗長性の削減であり得る。圧縮は、幾つかの場合には大きさで2桁以上も、前述の帯域幅又は記憶空間要件を軽減するのを助けることができる。損失又は無損失圧縮の両方、及びそれらの組み合わせが利用できる。無損失圧縮は、元の信号の正確なコピーが圧縮された元の信号から再構成可能である技術を表す。損失圧縮を用いると、再構成された信号は、元の信号と同一ではないが、元の信号と再構成された信号との間の歪みは、意図される用途のために有用な再構成された信号を生成するのに十分に小さい。ビデオの場合には、損失圧縮が広く利用される。耐えうる歪みの量は、アプリケーションに依存し、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン配信アプリケーションのユーザよりも高に歪みに耐え得る。達成可能な圧縮比は、許容可能/耐性のある歪みが高いほど、高い圧縮比を生じ得ることを反映できる。
【0006】
動き補償は、損失圧縮技術であり、前に再構成されたピクチャ又はその部分(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以後、MV)により示される方向に空間的にシフトされた後に、新しく再構成されたピクチャ又はピクチャ部分の予測のために使用される技術に関連し得る。幾つかの場合には、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元X及びY、又は第3の次元が使用中の参照ピクチャの指示である3つの次元を有することができる(後者は、間接的に時間次元であり得る)。
【0007】
幾つかのビデオ圧縮技術では、サンプルデータの特定領域に適用可能なMVは他のMVから、例えば再構成中の領域に空間的に隣接するサンプルデータの別の領域に関連し且つ復号順序の中で当該MVに先行するMVから、予測できる。そうすることは、結果として、MVを符号化するために必要なデータ量を削減でき、それにより、冗長性を除去し圧縮を向上する。MV予測は、例えばカメラから得られた入力ビデオ信号(自然なビデオ(natural video)として知られる)を符号化するとき、単一のMVが適用可能な領域より大きな領域が同様の方向に動き、したがって、幾つかの場合には近隣領域のMVから導出した同様の動きベクトルを用いて予測可能である、統計的可能性がある。これは、周囲のMVから予測したMVと同様の又は同じ、所与の領域について見付かったMVをもたらす。また、これは、エントロピー符号化の後に、MVを直接符号化する場合に使用され得るより少ない数のビットで提示され得る。幾つかの場合には、MV予測は、元の信号(つまり、サンプルストリーム)から得た信号(つまり、MV)の無損失圧縮の一例であり得る。他の場合には、MV予測自体は、例えば幾つかの周囲のMVから予測子を計算するとき、誤りを丸め込むので、損失になり得る。
【0008】
種々のMV予測メカニズムは、H.265/HEVC(ITU-T Rec. H.265, "High Efficiency Video Coding", December 2016)に記載されている。ここに記載される、H.265の提供する多くのMV予測メカニズムのうちの1つは、以下で、「空間融合(spatial merge)」と呼ばれる技術である。
【0009】
図1を参照すると、現在ブロック(101)は、動き探索処理の間に、空間的にシフトされたものと同じサイズの前のブロックから予測可能であるとしてエンコーダにより見付けられたサンプルを含む。MVを直接符号化する代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば(復号順で)最近の参照ピクチャから、A0、A1、及びB0、B1、B2(それぞれ102~106)5個の周囲のサンプルのうちのいずれか1つに関連付けられたMVを用いて導出できる。H.265では、MV予測は、近隣ブロックの使用する同じ参照ピクチャからの予測子を使用できる。
【発明の概要】
【0010】
開示の態様は、ビデオ符号化・復号のための方法及び機器を提供する。幾つかの例では、ビデオ復号のための機器は、処理回路を含む。前記処理回路は、符号化ブロックセットに対するマージ候補リストにおける最大マージ候補数を示すビットストリーム内のシンタックス要素を受信し、前記符号化ブロックセットに含まれる現在ブロックの動きベクトル予測子を生成するためにMMVD(merge with motion vector difference)モードが使用されることを示す前記ビットストリーム内のMMVDフラグシンタックス要素を受信するよう構成されることができる。前記処理回路は、前記最大マージ候補数が2未満であるとき、前記MMVDモードの基本候補インデックスが所定の値であると推定するよう更に構成されることができる。
【0011】
実施形態では、前記所定の値は0である。実施形態では、前記処理回路は、前記最大マージ候補数が1より大きいとき、前記MMVDモードの前記基本候補インデックスを示すシンタックス要素を受信するよう更に構成される。例では、前記シンタックス要素は、0又は1の値を有する。
【0012】
実施形態では、前記処理回路は、
前記MMVDモードの距離インデックスを示す前記ビットストリーム内のシンタックス要素を受信し、
前記MMVDモードの方向インデックスを示す前記ビットストリーム内のシンタックス要素を受信する、
よう更に構成される。例では、前記処理回路は、前記基本候補インデックス、前記距離インデックス、及び前記方向インデックスに基づき、前記現在ブロックの前記動きベクトル予測子を決定するよう更に構成される。
【0013】
実施形態では、前記処理回路は、スキップモード又はマージモードがそれぞれ前記符号化ブロックセットについて有効にされていると示す、スキップフラグシンタックス要素又はマージフラグシンタックス要素を受信するよう更に構成される。
【0014】
本開示の態様は、ビデオ復号の方法を実行するためにプロセッサにより実行可能なプログラムを格納している非一時的コンピュータ可読媒体も提供する。
【図面の簡単な説明】
【0015】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【0016】
【
図1】一例における現在ブロック及びその周囲の空間的融合候補の概略図である。
【0017】
【
図2】一実施形態による、通信システムの簡易ブロック図の概略図である。
【0018】
【
図3】一実施形態による、通信システムの簡易ブロック図の概略図である。
【0019】
【
図4】一実施形態による、デコーダの簡易ブロック図の概略図である。
【0020】
【
図5】一実施形態による、エンコーダの簡易ブロック図の概略図である。
【0021】
【
図6】別の実施形態による、エンコーダのブロック図を示す。
【0022】
【
図7】別の実施形態による、デコーダのブロック図を示す。
【0023】
【
図8】一実施形態による、マージモードのマージ候補位置の概略図である。
【0024】
【
図9】一実施形態による、現在ブロックの空間的近隣ブロック及び時間的近隣ブロックの概略図である。
【0025】
【
図10A】一実施形態による、空間的近隣ブロックの動き情報に基づく、サブブロックに基づく時間的動きベクトル予測方法を用いる、現在ブロックの予測動き情報を決定するために使用可能な空間的近隣ブロックの概略図である。
【0026】
【
図10B】一実施形態による、サブブロックに基づく時間的動きベクトル予測方法のために選択された空間的近隣ブロックの概略図である。
【0027】
【
図11A】一実施形態による、履歴に基づく動きベクトル予測方法を用いる、動き情報候補のリストを構成し及び更新する処理の概略を示すフローチャートである。
【0028】
【
図11B】一実施形態による、履歴に基づく動きベクトル予測方法を用いる、動き情報候補のリストを更新する概略図である。
【0029】
【
図12】一実施形態による、MMVD(merge with motion vector difference)モードのマージ候補の動きベクトルに基づく2つの参照ピクチャリストに関連する2つの参照ピクチャにおける開始点の決定の概略図である。
【0030】
【
図13】一実施形態による、MMVDモードで評価されるべき2つの開始点の周囲にある、所定の点の概略図である。
【0031】
【
図14】一実施形態による、MMVDモードビデオ復号処理を概説するフローチャートである。
【0032】
【
図15】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0033】
I.ビデオ符号化エンコーダ及びデコーダ
【0034】
図2は、本発明の一実施形態による通信システム(200)の簡易ブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信できる複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された端末装置(210)及び(220)の第1ペアを含む。
図2の例では、端末装置(210)及び(220)の第1ペアは、データの単方向伝送を実行する。例えば、端末装置(210)は、ネットワーク(250)を介して他の端末装置(220)への送信のために、ビデオデータ(端末装置(210)によりキャプチャされたビデオピクチャのストリーム)を符号化する。符号化ビデオデータは、1つ以上の符号化ビデオビットストリームの形式で、送信できる。端末装置(220)は、ネットワーク(250)から符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオピクチャを復元し、復元したビデオデータに従いビデオピクチャを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0035】
別の例では、通信システム(200)は、例えばビデオ会議の間に生じ得る符号化ビデオデータの双方向伝送を実行する端末装置(230)及び(240)の第2ペアを含む。データの双方向伝送では、端末装置(230)及び(240)は、ネットワーク(250)を介して端末装置(230)及び(240)への送信のために、ビデオデータ(例えば、端末装置によりキャプチャされたビデオピクチャのストリーム)を符号化してよい。端末装置(230)及び(240)のうちの各端末装置は、端末装置(230)及び(240)のうちの他方の端末装置により送信された符号化ビデオデータを受信してよく、符号化ビデオデータを復号してビデオピクチャを復元してよく、復元したビデオデータに従い、アクセス可能なディスプレイ装置においてビデオピクチャを表示してよい。
【0036】
図2の例では、端末装置(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されてよいが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議設備による適用がある。ネットワーク(250)は、端末装置(210)、(220)、(230)、及び(240)の間で符号化ビデオデータを運ぶ任意の数のネットワークを表し、例えば有線(ワイヤード)及び/又は無線通信ネットワークを含む。通信ネットワーク250は、回線切り替え及び/又はパケット切り替えチャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本発明の議論の目的で、ネットワーク(250)のアーキテクチャ及びトポロジは、以下で特に断りの無い限り、本開示の動作にとって重要でないことがある。
【0037】
図3は、開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の主題は、例えばビデオ会議、デジタルTV、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0038】
ストリーミングシステムは、例えば非圧縮のビデオピクチャストリーム(302)を生成するビデオソース(301)を含み得るキャプチャサブシステム(313)を含んでよい。一例では、ビデオピクチャストリーム(302)は、デジタルカメラにより取り込まれたサンプルを含む。ビデオピクチャストリーム(302)は、符号化ビデオデータ(304)(又は符号化ビデオビットストリーム)と比べたとき、高データ容量を強調するために太線で示され、ビデオソース(301)と結合されたビデオエンコーダ(303)を含む電子装置(320)により処理され得る。ビデオエンコーダ(303)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。符号化ビデオデータ(304)(又はビデオビットストリーム(304))は、ビデオピクチャストリーム(302)と比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバに格納され得る。
図3のクライアントサブシステム(306)及び(308)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして、符号化ビデオデータ(304)のコピー(307)及び(309)を読み出すことができる。クライアントサブシステム(306)は、例えば電子装置(330)内にビデオデコーダ(310)を含み得る。ビデオデコーダ(310)は、符号化ビデオデータの入力コピー(307)を復号し、ディスプレイ(312)(例えばディスプレイスクリーン)又は他のレンダリング装置(図示しない)上でレンダリングできる出力ビデオピクチャストリーム(311)を生成する。幾つかのストリーミングシステムでは、符号化ビデオデータ(304)、(307)、及び(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従い符号化され得る。これらの標準の例は、ITU-T Recommendation H.265を含む。一例では、策定中のビデオ符号化標準は、略式にVVC(Versatile Video Coding)として知られている。開示の主題は、VVCの文脈で使用されてよい。
【0039】
電子装置(320)及び(330)は他のコンポーネント(図示しない)を含み得ることに留意する。例えば、電子装置(320)は、ビデオデコーダ(図示しない)を含むことができ、電子装置(330)もビデオエンコーダ(図示しない)を含むことができる。
【0040】
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子装置(430)に含まれ得る。電子装置(430)は、受信機(431)(例えば、受信回路)を含み得る。ビデオデコーダ(410)は、
図3の例では、ビデオデコーダ(310)の代わりに使用できる。
【0041】
受信機(431)は、ビデオデコーダ(410)により符号化されるべき1つ以上の符号化ビデオシーケンス、同じ又は別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してよい。ここで、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスと独立している。符号化ビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル401から受信されてよい。受信機431は、他のデータ、例えば、それぞれの使用エンティティ(図示しない)へと転送され得る符号化音声データ及び/又は補助データストリームと共に、符号化ビデオデータを受信してよい。受信機431は、他のデータから符号化ビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以後、「パーサ(420)」)との間に結合されてよい。特定の適用では、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他に、ビデオデコーダ(410)(図示しない)の外部にあり得る。更に他では、例えばネットワークジッタを除去するために、ビデオデコーダ(410)の外部に、例えば再生(playout)タイミングを処理するために、ビデオデコーダ(410)の内部にある別のバッファメモリ(415)に加えて、バッファメモリ(図示しない)が存在し得る。受信機(431)が、十分な帯域幅の記憶/転送装置から制御可能に、又はアイソクロナス(isosynchronous)ネットワークから、データを受信しているとき、バッファメモリ(415)は、必要なくてよく又は小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用するために、バッファメモリ(415)が必要とされてよく、比較的大きくなり、有利なことに適応型サイズであり、少なくとも部分的にオペレーティングシステム又はビデオデコーダ(410)の外部の同様の要素(図示しない)に実装されてよい。
【0042】
ビデオデコーダ(410)は、符号化ビデオシーケンスからシンボル(421)を再構成するために、パーサ(420)を含んでよい。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報、及び場合によっては
図4に示したように電子装置(430)の統合部分ではないが電子装置(430)に結合され得るレンダー装置(412)(例えば、ディスプレイスクリーン)のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplemental Enhancement Information)メッセージ又はVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ(420)は、受信された符号かビデオシーケンスをパース/エントロピー復号してよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術又は標準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト依存性を有する又は有しない算術的符号化、等を含む、種々の原理に従うことができる。パーサ(420)は、符号化ビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(Coding Units:CU)、ブロック、変換ユニット(Transform Units:TU)、予測ユニット(Prediction Units:PU)、等を含み得る。パーサ(420)は、符号化ビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル、等のような情報も抽出してよい。
【0043】
パーサ(420)は、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル(421)を生成してよい。
【0044】
シンボル421の再構成は、符号化ビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ420により符号化ビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ420と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0045】
既に言及した機能ブロックを超えて、ビデオデコーダ(410)は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0046】
第1ユニットは、スケーラ/逆変換ユニット451である。スケーラ/逆変換ユニット(451)である。は、量子化された変換係数、及び、どの変換が使用されるべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ(420)からのシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を含むブロックを出力できる。
【0047】
幾つかの例では、スケーラ/逆変換ユニット(451)の出力サンプルは、イントラ符号化ブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット452により提供できる。幾つかの場合には、イントラピクチャ予測ユニット(452)は、再構成中のブロックと同じサイズ及び形状のブロックを、現在ピクチャバッファ(458)からフェッチした周囲の既に再構成された情報を用いて、生成する。現在ピクチャバッファ(458)は、例えば、再構成された現在ピクチャを部分的に及び/又は再構成された現在ピクチャを完全にバッファリングする。アグリゲータ(455)は、幾つかの場合には、サンプル毎に、イントラ予測ユニット(452)の生成した予測情報を、スケーラ/逆変換ユニット(451)により提供された出力サンプル情報に追加する。
【0048】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化された、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測ために使用されるサンプルをフェッチできる。ブロックに関連するシンボル(421)に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(455)により、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(451)の出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(453)が予測サンプルをフェッチする参照ピクチャメモリ(457)内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル(421)の形式で、動き補償予測ユニット(453)の利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等を含み得る。
【0049】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれ且つパーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能にされたパラメータにより制御されるが、符号化ピクチャ又は符号化ビデオシーケンスの(複合順序で)前の部分の複合中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0050】
ループフィルタユニット(456)の出力は、レンダー装置(412)へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリ(457)に格納され得るサンプルストリームであり得る。
【0051】
特定の符号化ピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、符号化ピクチャが(例えばパーサ(420)により)参照ピクチャとして識別されると、現在ピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になることができ、後続の符号化ピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファを再割り当てできる。
【0052】
ビデオデコーダ(410)は、ITU-T Rec. H.265のような標準の所定のビデオ圧縮技術に従い復号動作を実行してよい。符号化ビデオシーケンスがビデオ圧縮技術又は標準、及びビデオ圧縮技術又は標準において文書化されたプロファイルの両方に従うという意味で、符号化ビデオシーケンスは、使用中のビデオ圧縮技術又は標準により指定されたシンタックスに従ってよい。具体的に、プロファイルは、ビデオ圧縮技術又は標準において利用可能な全部のツールから、プロファイルの下でのみ使用可能なツールとして、特定のツールを選択できる。また、遵守のために必要なことは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及び符号化ビデオシーケンスの中でシグナリングされるHDRバッファ管理のためのメタデータを通じて更に制限され得る。
【0053】
一実施形態では、受信機431は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、符号化ビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するため及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ410により使用されてよい。追加データは、例えば、時間的、空間的、又は信号雑音比(SNR)の拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0054】
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子装置(520)に含まれる。電子装置(520)は、送信機(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、
図3の例では、ビデオエンコーダ(303)の代わりに使用できる。
【0055】
ビデオエンコーダ(503)は、ビデオサンプルを、ビデオエンコーダ(503)により符号化されるべきビデオ画像をキャプチャし得るビデオソース(501)(
図5の例では、電子装置(520)の部分ではない)から受信してよい。別の例では、ビデオソース(501)は、電子装置(520)の一部である。
【0056】
ビデオソース(501)は、ビデオエンコーダ(503)により符号化されるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCb、RGB、...)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース501は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース501は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0057】
一実施形態によると、ビデオエンコーダ(503)は、ソースビデオシーケンスのピクチャを、符号化ビデオシーケンス(543)へと、リアルタイムに又はアプリケーションにより要求される任意の他の時間制約の下で符号化し圧縮してよい。適切な符号化速度の実施は、制御部(550)の1つの機能である。幾つかの実施形態では、制御部(550)は、後述する他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部(550)により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。制御部(550)は、特定のシステム設計に最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するよう構成され得る。
【0058】
幾つかの実施形態では、ビデオエンコーダ(503)は、符号化ループの中で動作するよう構成される。非常に簡略化された説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、シンボルストリームのようなシンボルを、符号化されるべき入力ピクチャ及び参照ピクチャに基づき生成することを担う)、及びビデオエンコーダ(503)に内蔵された(ローカル)デコーダ(533)を含み得る。デコーダ(533)は、(シンボルと符号化ビットストリームとの間の任意の圧縮が、開示の主題において検討されるビデオ圧縮技術において無損失であるとき)(遠隔にある)デコーダが生成するのと同様の方法で、シンボルを再構成して、サンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャメモリ(534)の内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期生が維持できない場合には、結果として生じるドリフト)は、幾つかの関連技術で同様に使用される。
【0059】
「ローカル」デコーダ(533)の動作は、
図4と関連して以上に詳述したビデオデコーダ(410)のような「リモート」デコーダのものと同じであり得る。簡単に一時的に
図4も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)による符号化ビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、バッファメモリ(415)を含むビデオデコーダ(410)のエントロピー復号部分、及びパーサ(420)は、ローカルデコーダ(533)に完全に実装されなくてよい。
【0060】
この点で行われる考察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術も、対応するエンコーダ内と実質的に同一の機能形式で存在する必要があるということである。この理由から、開示の主題は、デコーダ動作に焦点を当てる。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0061】
動作中、幾つかの例では、ソースコーダ(530)は、動き補償された予測符号化を実行してよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前に符号化されたピクチャを参照して予測的に入力ピクチャを符号化する。この方法では、符号化エンジン(532)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測基準として選択されてよい参照ピクチャのピクセルブロックとの間の差分を符号化する。
【0062】
ローカルビデオデコーダ(533)は、ソースコーダ(530)により生成されたシンボルに基づき、参照ピクチャとして指定されてよいピクチャの符号化ビデオデータを復号してよい。符号化エンジン532の動作は、有利なことに、損失処理であってよい。符号化ビデオデータがビデオデコーダ(
図5に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ(534)に格納されるべき再構成参照ピクチャを生じ得る。このように、ビデオエンコーダ(503)は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照ピクチャと共通の内容を有する再構成参照ピクチャのコピーを格納してよい。
【0063】
予測器(535)は、符号化エンジン(532)のために予測探索を実行してよい。つまり、符号化されるべき新しいピクチャについて、予測器(535)は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ(534)を検索してよい。予測器(535)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器535により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ534に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0064】
制御部(550)は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理してよい。
【0065】
全ての前述の機能ユニットの出力は、エントロピーコーダ(545)におけるエントロピー符号化を受けてよい。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化、等のような技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、符号化ビデオシーケンスへと変換する。
【0066】
送信機(540)は、符号化ビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル(560)を介する伝送のために準備するために、エントロピーコーダ(545)により生成された符号化ビデオシーケンスをバッファリングしてよい。送信機540は、ビデオコーダ503からの符号化ビデオデータを、送信されるべき他のデータ、例えば符号化音声データ及び/又は補助データストリーム(図示されないソース)と融合(merge)してよい。
【0067】
制御部(550)は、ビデオエンコーダ(503)の動作を管理してよい。符号化中、制御部550は、それぞれのピクチャに適用され得る符号化技術に影響し得る特定の符号化ピクチャタイプを、各符号化ピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0068】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずに符号化及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0069】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いて符号化及び復号され得るピクチャであってよい。
【0070】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いて符号化及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0071】
ソースピクチャは、共通に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎に符号化されてよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てにより決定される他の(既に符号化された)ブロックへの参照により予測的に符号化されてよい。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、又はそれらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前に符号化された参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的に符号化されてよい。Bピクチャのブロックは、1つ又は2つの前に符号化された参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的に符号化されてよい。
【0072】
ビデオエンコーダ(503)は、ITU-T Rec. H.265のような所定のビデオ符号化技術又は標準に従い符号化動作を実行してよい。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測符号化動作を含む種々の圧縮動作を実行してよい。符号化ビデオデータは、したがって、使用されているビデオ符号化技術又は標準により指定されたシンタックスに従ってよい。
【0073】
一実施形態では、送信機540は、符号化ビデオと共に追加データを送信してよい。ソースコーダ(530)は、このようなデータを符号化ビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント、等を含んでよい。
【0074】
ビデオは、時系列の中の複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてよい。イントラピクチャ予測(イントラ予測と省略されることがある)は、所与のピクチャの中の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、符号化/復号中の特定のピクチャは、現在ピクチャと呼ばれ、ブロックにパーティションされる。現在ピクチャの中のブロックが、ビデオの中の前に符号化され且つ未だバッファリングされている参照ピクチャの中の参照ブロックと同様であるとき、現在ピクチャの中のブロックは、動きベクトルと呼ばれるベクトルにより符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合には、参照ピクチャを識別する第3次元を有することができる。
【0075】
幾つかの実施形態では、双予測(bi-prediction)技術が、インターピクチャ予測で使用できる。双予測技術によると、両方とも復号順序でビデオの中の現在ピクチャより前にある(が、それぞれ表示順序で過去及び未来にあってよい)第1参照ピクチャ及び第2参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1参照ピクチャ内の第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャ内の第2参照ブロックを指す第2動きベクトルにより符号化できる。ブロックは、第1参照ブロック及び第2参照ブロックの結合により予測できる。
【0076】
さらに、符号化効率を向上するために、インターピクチャ予測において融合モード技術が使用できる。
【0077】
本開示の幾つかの実施形態によると、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックのユニットの中で実行される。例えば、HEVC標準によると、ビデオピクチャシーケンスの中のピクチャは、圧縮のために符号化木ユニット(coding tree unit:CTU)にパーティションされる。ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルのような、同じサイズを有する。通常、CTUは、3個の符号化木ブロック(coding tree blocks:CTB)、つまり1個のルマCTB及び2個のクロマCTB、を含む。各CTUは、1又は複数の符号化ユニット(coding unit:CU)に再帰的に4分木分割できる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1個のCU、又は32×32ピクセルの4個のCU、又は16×16ピクセルの16個のCUに分割できる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのようなCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測性に依存して、1つ以上の予測ユニット(prediction unit:PU)に分割される。通常、各PUは、ルマ予測ブロック(prediction block:PB)、及び2個のクロマPBを含む。一実施形態では、符号化(符号化/復号)における予測演算が、予測ブロックのユニットの中で実行される。ルマ予測ブロックを予測ブロックの一例として用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、等のようなピクセルについて値(例えば、ルマ値)のマトリクスを含む。
【0078】
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャシーケンスの中の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化ビデオシーケンスの部分である符号化ピクチャに符号化するよう構成される。一例では、ビデオエンコーダ(603)は、
図3の例では、ビデオエンコーダ(303)の代わりに使用される。
【0079】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプル等の予測ブロックのような、処理ブロックのサンプル値のマトリクスを受信する。ビデオエンコーダ(603)は、例えばレート歪み最適化を用いて、処理ブロックがイントラモード、インターモード、又は双予測モードを用いて最適に符号化されるかを決定する。処理ブロックはイントラモードで符号化されるとき、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャへと符号化するために、イントラ予測技術を使用してよい。処理ブロックがインターモード又は双予測モードで符号化されるとき、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャへと符号化するために、それぞれインター予測又は双予測技術を使用してよい。特定のビデオ符号化技術では、融合モードは、予測器のギア部の符号化動きベクトルコンポーネント無しに、動きベクトルが1つ以上の動きベクトル予測子から得られるインターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトルコンポーネントが存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するために、モード決定モジュール(図示しない)のような他のコンポーネントを含む。
【0080】
図6の例では、ビデオエンコーダ(603)は、
図6に示したように一緒にインターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用制御部(621)、及びエントロピーエンコーダ(625)を含む。
【0081】
インターエンコーダ(630)は、現在ブロック(例えば、処理中のブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャの中のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の説明、動きベクトル、融合モード情報)を生成し、任意の適切な技術を用いてインター予測情報に基づきインター予測結果(例えば、予測ブロック)を計算するよう構成される。幾つかの例では、参照ピクチャは、符号化ビデオ情報に基づき復号された、復号参照ピクチャである。
【0082】
イントラエンコーダ(622)は、現在ブロック(例えば、処理中のブロック)のサンプルを受信し、幾つかの場合には、ブロックをサンプルピクチャ内の既に符号化されたブロックと比較し、変換後に量子化された係数を、幾つかの場合にはイントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するよう構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報及び同じピクチャ内の参照ブロックに基づき、イントラ予測結果(例えば、予測したブロック)も計算する。
【0083】
汎用制御部(621)は、一般制御データを決定し、一般制御データに基づきビデオエンコーダ(603)の他のコンポーネントを制御するよう構成される。一例では、汎用制御部(621)は、ブロックのモードを決定し、モードに基づき、制御信号をスイッチ(626)に提供する。例えば、モードがイントラモードであるとき、汎用制御部(621)は、残差計算器(623)による使用のためにイントラモード結果を選択するようスイッチ(626)を制御し、イントラ予測情報を選択してビットストリーム内にイントラ予測情報を含めるよう、エントロピーエンコーダ(625)を制御し、モードがインターモードであるとき、汎用制御部(621)は、残差計算器(623)による使用のためにインター予測結果を選択するようスイッチ(626)を制御し、インター予測情報を選択してビットストリーム内にインター予測情報を含めるよう、エントロピーエンコーダ(625)を制御する。
【0084】
残差計算器(623)は、受信したブロックとイントラエンコーダ(622)又はインターエンコーダ(630)からの選択された予測結果との間の差(残差データ)を計算するよう構成される。残差エンコーダ(624)は、残差データに基づき動作して、残差データを符号化し、変換係数を生成するよう構成される。一例では、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインへと変換し、変換係数を生成するよう構成される。変換係数は、次に、量子化変換係数を得るために、量子化処理を受ける。種々の実施形態では、ビデオエンコーダ(603)も残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、復号残差データを生成するよう構成される。復号残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)により適切に使用できる。例えば、インターエンコーダ(630)は、復号残差データ及びインター予測情報に基づき復号ブロックを生成でき、イントラエンコーダ(622)は、復号残差データ及びイントラ予測情報に基づき復号ブロックを生成できる。復号ブロックは、復号ピクチャを生成するために適切に処理され、復号ピクチャは、幾つかの例ではメモリ回路(図示しない)にバッファリングされ、参照ピクチャとして使用できる。
【0085】
エントロピーエンコーダ(625)は、符号化ブロックを含めるために、ビットストリームをフォーマットするよう構成される。エントロピーエンコーダ(625)は、HEVC標準のような適切な標準に従い種々の情報を含むよう構成される。一例では、エントロピーエンコーダ(625)は、ビットストリームに、一般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の適切な情報を含めるよう構成される。開示の主題によると、インターモード又は双予測モードのいずれかの融合サブモードでブロックを符号化するとき、残差情報は存在しないことに留意する。
【0086】
図7は、本開示の別の実施形態によるビデオエンコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化ビデオシーケンスの部分である符号化ピクチャを受信し、符号化ピクチャを復号して再構成ピクチャを生成するよう構成される。一例では、ビデオデコーダ(710)は、
図3の例では、ビデオエンデコーダ(310)の代わりに使用される。
【0087】
図7の例では、ビデオデコーダ(710)は、
図7に示したように一緒にエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、イントラデコーダ(772)を含む。
【0088】
エントロピーデコーダ(771)は、符号化ピクチャから、符号化ピクチャの生成されたシンタックス要素を表す特定のシンボルを再構成するよう構成され得る。このようなシンボルは、例えば、ブロックの符号化されたモード(例えば、イントラモード、インターモード、双方向モード、融合サブモード又は別のサブモードの後者の2つ)、それぞれイントラデコーダ(772)又はインターデコーダ(780)による予測のために使用される特定のサンプル又はメタデータを特定できる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば量子化された変換係数の形式の残差情報、等を含み得る。一例では、予測モードがインター又は双方向予測モードであるとき、インター予測情報がインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプであるとき、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は、逆量子化され、残差デコーダ(773)に提供される。
【0089】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づきインター予測結果を生成するよう構成される。
【0090】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づき予測結果を生成するよう構成される。
【0091】
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して、残差を周波数ドメインから空間ドメインへと変換するよう構成される。残差デコーダ(773)は、(量子化器パラメータ(Quantizer Parameter:QP)を含むための)特定の制御情報も要求してよい。この情報は、エントロピーデコーダ(771)により提供されてよい(これは低容量制御情報のみなので、データ経路は示されない)。
【0092】
再構成モジュール(774)は、空間ドメインで、残差デコーダ(773)による出力としての残差と(場合によりインター又はイントラ予測モジュールによる出力としての)予測結果とを結合して、再構成ピクチャの部分であり得る、一方で再構成ビデオの部分であり得る、再構成ブロックを形成するよう構成される。デブロッキング動作などのような他の適切な動作が、視覚的品質を向上するために実行できる。
【0093】
ビデオエンコーダ(303)、(503)、及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、任意の適切な技術を用いて実装できることに留意する。一実施形態では、ビデオエンコーダ(303)、(503)、及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、1つ以上の集積回路を用いて実装できる。別の実施形態では、ビデオエンコーダ(303)、(503)、及び(503)、並びにビデオデコーダ(310)、(410)、及び(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装できる。
【0094】
II.インター予測符号化技術
【0095】
1.マージモード
【0096】
種々の実施形態では、ピクチャは、例えば木構造に基づくパーティション方式を用いてブロックにパーティションできる。結果として生じたブロックは、次に、イントラ予測モード、インター予測モード(例えば、マージモード、スキップモード、高度動きベクトル予測(advanced motion vector prediction (AVMP))モード)のような異なる処理モードで処理できる。現在ブロックと呼ばれる現在処理されているブロックが、マージモードで処理されているとき、近隣ブロックは、現在ブロックの空間的又は時間的近隣から選択できる。現在ブロックは、選択された近隣ブロックと同じ動きデータセット(又は動き情報と呼ばれる)を共有することにより、選択された近隣ブロックとマージされることができる。このマージモード動作は、近隣ブロックのグループに渡り実行でき、その結果、近隣ブロックの領域は、一緒にマージされ、同じ動きデータセットを共有できる。エンコーダからデコーダへの送信中に、動きデータセット全体を送信する代わりに、選択された近隣ブロックの動きデータを示すインデックスが、現在ブロックについて送信できる。この方法では、動き情報の送信のために使用されるデータ量(ビット)が削減でき、符号化効率は向上できる。
【0097】
上述の例では、動きデータを提供する近隣ブロックは、候補位置セットから選択されることができる。候補位置は、現在ブロックに関して予め定めることができる。例えば、候補位置は、空間的候補位置、及び時間的候補位置を含むことができる。各空間的候補位置は、現在ブロックの近隣にある空間的近隣ブロックに関連付けられる。各時間的候補位置は、別の符号化ピクチャ(例えば、前に符号化されたピクチャ)内に位置する時間的近隣ブロックに関連付けられる。候補位置と重なる近隣ブロック(候補ブロックと呼ばれる)は、現在ブロックの全部の空間的又は時間的近隣ブロックの部分集合である。この方法では、候補ブロックは、近隣ブロックのセット全体の代わりに、マージされるべきブロックの選択について、評価されることができる。
【0098】
図8は、候補位置の一例を示す。これらの候補位置から、マージ候補リストを構成するために、マージ候補セットが選択できる。図示のように、現在ブロック(810)は、マージモードにより処理されるべきである。候補位置セット{A1,B1,B0,A0,B2,C0,C1}は、マージモード処理のために定義される。具体的に、候補位置{A1,B1,B0,A0,B2}は、現在ブロック(810)と同じピクチャ内にある候補ブロックの位置を表す空間的候補位置である。これに対して、候補位置{C0,C1}は、別の符号化ピクチャ内にある候補ブロック又は現在ブロック(810)の近隣若しくは重なり合う同一位置ブロックを表す時間的候補位置である。図示のように、候補位置C1は、現在ブロック(810)の中央の近くに位置する(例えば隣接する)ことができる。
【0099】
候補位置は、異なる例では、サンプルのブロック又はサンプルにより表すことができる。
図8では、各候補位置は、例えば4×4サンプルのサイズを有するサンプルのブロックにより表される。候補位置に対応する、このようなサンプルのブロックのサイズは、現在ブロック(810)を生成するために使用される木に基づくパーティション方式について定義されたPBの最小許容サイズ(例えば、4×4サンプル)以下であることができる。このような構成の下では、候補位置に対応するブロックは、常に単一の近隣PB内でカバーされることができる。代替的な例では、サンプル位置(例えば、ブロックA1内の右下サンプル、又はブロックA0内の右上サンプル)は、候補位置を表すために使用されてよい。このようなサンプルは代表サンプルと呼ばれ、このような位置は代表位置と呼ばれる。
【0100】
一例では、候補リストを構成するよう候補位置{A1,B1,B0,A0,B2,C0,C1}からマージ候補を選択するために、
図8で定義された候補位置{A1,B1,B0,A0,B2,C0,C1}に基づき、マージモード処理が実行できる。候補リストは、Cmと表される所定の最大マージ候補数を有することができる。候補リストの中の各マージ候補は、動き補償予測のために使用できる動きデータセットを含むことができる。
【0101】
マージ候補は、特定の順序に従い候補リスト内に列挙されることができる。例えば、どのようにマージ候補が導出されるかに依存して、異なるマージ候補は、異なる選択確率を有してよい。高い選択確率を有するマージ候補ほど、低い選択確率を有するマージ候補の前に位置付けられる。このような順序に基づき、各マージ候補は、インデックス(マージインデックスと呼ばれる)に関連付けられる。一実施形態では、高い選択確率を有するマージ候補ほど、小さなインデックス値を有する。その結果、それぞれのインデックスを符号化するために少ないビットしか必要ない。
【0102】
一例では、マージ候補の動きデータは、1又は2個の動きベクトルの水平及び垂直動きベクトル変位値、1又は2個の動きベクトルに関連付けられた1又は2個の参照ピクチャインデックス、及び任意的に、参照ピクチャインデックスに関連付けられた参照ピクチャリストの識別子、を含むことができる。
【0103】
一例では、所定の順序に従い、第1マージ候補数Caは、順序{A1,B1,B0,A0,B2}に従う空間的候補一から導出され、第2マージ候補数Cb=Cm-Caは、順序{C0,C1}に従う時間的候補位置から導出される。候補位置を表す数値A1,B1,B0,A0,B2,C0,C1は、マージ候補を表すためにも使用できる。例えば、候補位置A1から取得されるマージ候補は、マージ候補A1と呼ばれる。
【0104】
幾つかのシナリオでは、候補位置にあるマージ候補は、利用できないことがある。例えば、候補位置にある候補ブロックは、イントラ予測でき、現在ブロック(810)を含むスライス又はタイルの外側にあり、又は現在ブロック(810)と同じ符号化木ブロック(coding tree block (CTB))行の中にない。幾つかのシナリオでは、候補位置にあるマージ候補は、重複してよい。例えば、現在ブロック(810)の1個の近隣ブロックは、2個の候補位置と重なり合うことができる。重複するマージ候補は、(例えば、枝刈り処理を実行することにより)候補リストから除去できる。候補リストの中の利用可能なマージ候補の合計数が(重複する候補が除去されて)最大マージ候補数Cmより小さいとき、候補リストを満たすために(例えば、予め構成されたルールに従い)追加マージ候補が生成されることができる。その結果、候補リストは、固定長を有するよう維持されることができる。例えば、追加マージ候補は、双予測候補及びゼロ動きベクトル候補の結合を含むことができる。
【0105】
候補リストが構成された後に、エンコーダにおいて、候補リストからマージ候補を選択するために、評価処理が実行できる。例えば、各マージ候補に対応するレート歪み(rate-distortion (RD))性能が計算でき、最良のRD性能を有する1つが選択できる。従って、選択されたマージ候補に関連付けられたマージインデックスは、現在ブロック(810)について決定され、デコーダへとシグナリングできる。
【0106】
デコーダでは、現在ブロック(810)のマージインデックスが受信できる。同様の候補リスト構成処理は、上述のように、エンコーダ側で生成された候補リストと同じ候補リストを生成するために実行できる。幾つかの例では、候補リストが構成された後に、マージ候補は、受信したマージインデックスに基づき候補リストから選択でき、任意の更なる評価を実行する必要はない。選択されたマージ候補の動きデータは、現在ブロック(810)の後の動き補償予測のために使用できる。
【0107】
幾つかの例では、スキップモードも導入される。例えば、スキップモードでは、現在ブロックは、動きデータセットを決定するために、上述のようなマージモードを用いて予測できる。しかしながら、残差は生成されず、変換係数は送信されない。スキップフラグは、現在ブロックに関連付けられることができる。現在ブロックの関連するスキップフラグ及び動き情報を示すマージインデックスは、ビデオデコーダへシグナリングできる。例えば、インターピクチャ予測スライスのCUの始めに、スキップフラグがシグナリングされることができ、以下:CUが1個のPU(2N×2N)のみを含むこと、マージモードが動きデータを導出するために使用されること、及び残差データがビットストリーム内に存在しないこと、を示す。デコーダ側では、スキップフラグに基づき、残差情報を追加することなく、それぞれの現在ブロックを復号するためにマージインデックスに基づき予測ブロックが決定できる。従って、ここに開示されるマージモードによるビデオ符号化の種々の方法は、スキップモードと組み合わせて利用できる。
【0108】
例として、実施形態では、マージフラグ又はスキップフラグがビットストリーム内で真としてシグナリングされるとき、マージインデックスは、従って、マージ候補リスト内のどの候補が現在ブロックに対する動きベクトルを提供するために使用されるかを示すためにシグナリングされる。最大4個の空間的に近隣にある動きベクトル、及び最大1個の時間的に近隣にある動きベクトルが、マージ候補リストに追加できる。シンタックスMaxMergeCandsNumは、マージ候補リストのサイズとして定義される。シンタックスMaxMergeVandsNumは、ビットストリーム内でシグナリングできる。
【0109】
2.アフィンマージモード
【0110】
図9は、一実施形態による、現在ブロック(又は符号化単位(coding unit (CU))と呼ばれる)(901)の空間的近隣ブロック及び時間的近隣ブロックの概略図である。図示のように、空間的近隣ブロックは、A0、A1、A2、B0、B1、B2、B3(それぞれ、902、903、907、904、905、906、908)と示されC0(912)と示され、時間的近隣ブロックは、C0(912)と示される。幾つかの例では、空間的近隣ブロックA0、A1、A2、B0、B1、B2、及びB3、及び現在ブロック(901)は、同じピクチャに属する。幾つかの例では、時間的近隣ブロックC0は、参照ピクチャに属し、現在ブロック(901)の外側の位置に対応し、現在ブロック(901)の右下角に隣接する。
【0111】
幾つかの例では、現在ブロック(901)の動きベクトル、及び/又は現在ブロックのサブブロックは、アフィンモデル(例えば、6パラメータアフィンモデル、又は4パラメータアフィンモデル)を用いて導出できる。幾つかの例では、アフィンモデルは、ブロックの動きベクトルを記述するために、6個のパラメータを有する(例えば、6パラメータアフィンモデル)。一例では、アフィン符号化ブロックの6個のパラメータは、ブロックの3つの異なる位置(例えば、
図9の左上、右上、及び左下角にある制御点CP0、CP1、及びCP2)における3個の動きベクトル(3個の制御点動きベクトル(control point motion vector (CPMV))とも呼ばれる)により表すことができる。別の例では、簡易アフィンモデルは、アフィン符号化ブロックの動き情報を記述するために4個のパラメータを使用する。これらは、ブロックの2つの異なる位置(例えば、
図9の左上及び右上角にある制御点CP0及びCP1)における2個の動きベクトル(2個のCPMVとも呼ばれる)により表すことができる。
【0112】
動き情報候補のリスト(アフィンマージ候補リストとも呼ばれる)は、空間的近隣ブロック及び/又は時間的近隣ブロックのうちの1つ以上の動き情報に基づき、アフィンマージモードを用いて構成できる。幾つかの例では、現在ブロック(901)が8サンプル以上の幅及び高さを有するとき、アフィンマージモードが適用できる。アフィンマージモードによると、現在ブロック(901)のCPMVは、リストにある動き情報候補に基づき決定できる。幾つかの例では、動き情報候補のリストは、最大5個のCPMV候補を含むことができ、インデックスは、どのCPMV候補が現在ブロックのために使用されるべきかを示すためにシグナリングされ得る。
【0113】
幾つかの実施形態では、アフィンマージ候補リストは、継承(inherited)アフィン候補、構成アフィン候補、及びゼロMVを含む、3種類のCPMV候補を有することができる。継承アフィン候補は、近隣ブロックのCPMVからの推定により導出できる。構成アフィン候補は、近隣ブロックの並進MVを用いて導出できる。
【0114】
例では、多くて2個の継承アフィン候補があり、これらは、左近隣ブロック(A0及びA1)から1つ及び上側近隣ブロック(B0、B1、B2)からの1つを含む近隣ブロックの対応するアフィン動きモデルから導出される。左からの候補については、近隣ブロックA0及びA1が順にチェックされ、近隣ブロックA0及びA1からの第1の利用可能な継承アフィン候補が、左からの継承アフィン候補として使用される。上からの候補については、近隣ブロックB0、B1及びB2が順にチェックされ、近隣ブロックB0、B1及びB2からの第1の利用可能な継承アフィン候補が、上からの継承アフィン候補として使用される。幾つかの例では、2つの継承アフィン候補の間で枝刈りチェックは実行されない。
【0115】
近隣アフィンブロックが識別されると、現在ブロック(901)のアフィンマージリストに追加されるべき対応する継承アフィン候補が、近隣アフィンブロックの制御点動きベクトルから導出できる。
図9の例では、近隣ブロックA1がアフィンモードで符号化される場合、ブロックA1の左上角(制御点CP0
A1)、右上角(制御点CP1
A1)、及び左下角(制御点CP2
A1)の動きベクトルが取得できる。ブロックA1が4パラメータアフィンモデルを用いて符号化されるとき、現在ブロック(901)の継承アフィン候補としての2個のCPMVは、制御点CP0
A1及び制御点CP1
A1の動きベクトルに従い計算できる。ブロックA1が6パラメータアフィンモデルを用いて符号化されるとき、現在ブロック(901)の継承アフィン候補としての3個のCPMVは、制御点CP0
A1、制御点CP1
A1及び制御点CP2
A1の動きベクトルに従い計算できる。
【0116】
更に、構成アフィン候補は、各制御点の近隣並進動き情報を結合することにより導出できる。制御点CP0、CP1、CP2の動き情報は、指定された空間的近隣ブロックA0、A1、A2、B0、B1、B2、及びB3から導出される。
【0117】
例えば、CPMVk(k=1、2、3、4)は、k番目の制御点の動きベクトルを表す。ここで、CPMV1は制御点CP0に対応し、CPMV2は制御点CP1に対応し、CPMV3は制御点CP2に対応し、CPMV4は時間的近隣ブロックC0に基づく時間的制御点に対応する。CPMV1については、近隣ブロックB2、B3、及びA2が順にチェックでき、近隣ブロックB2、B3、及びA2からの第1の利用可能な動きベクトルがCPMV1として使用される。CPMV2については、近隣ブロックB1及びB0が順にチェックでき、近隣ブロックB1及びB0からの第1の利用可能な動きベクトルがCPMV2として使用される。CPMV3については、近隣ブロックA1及びA0が順にチェックでき、近隣ブロックA1及びA0からの第1の利用可能な動きベクトルがCPMV3として使用される。更に、時間的近隣ブロックC0の動きベクトルは、利用可能ならば、CPMV4として使用できる。
【0118】
4個の制御点CP0、CP1、CP2、及び時間制御点のCPMV1、CPMV2、CPMV3、及びCPMV4が取得された後、以下の順序で構成されるアフィンマージ候補を含むよう、アフィンマージ候補リストが構成できる。{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、及び{CPMV1,CPMV3}。3個のCPMVの任意の結合は、6パラメータアフィンマージ候補を形成でき、2個のCPMVの任意の結合は、4パラメータアフィンマージ候補を形成できる。幾つかの例では、動きスケーリング処理を回避するために、一群の制御点の参照インデックスが異なる場合、CPMVの対応する結合は廃棄できる。
【0119】
3.サブブロックに基づく時間的動きベクトル予測(Subblock-Based Temporal Motion Vector Prediction (SbTMVP))モード
【0120】
図10Aは、一実施形態による、空間的近隣ブロックの動き情報に基づく、サブブロックに基づく時間的MV予測(SbTMVP)方法を用いる、現在ブロック(1011)の予測動き情報を決定するために使用可能な空間的近隣ブロックの概略図である。
図10Aは、現在ブロック(1011)、及び、A0、A1、B0、B1(それぞれ、1012、1013、1014、1015)と示されるその空間的近隣ブロックを示す。幾つかの例では、空間的近隣ブロックA0、A1、B0、B1、及び現在ブロック(1011)は、同じピクチャに属する。
【0121】
図10Bは、一実施形態による、この非限定的な例においてブロックA1のような選択された空間的近隣ブロックに基づき、SbTMVP方法を用いて、現在ブロック(1011)のサブブロックについて動き情報を決定する概略図である。本例では、現在ブロック(1011)は現在ピクチャ(1010)内にあり、参照ブロック(1061)は、参照ピクチャ(1060)内にあり、動きベクトル(1022)により示される現在ブロック(1011)と参照ブロック(1061)との間の動きシフト(又は変位)に基づき識別できる。
【0122】
幾つかの実施形態では、HEVCにおける時間的動きベクトル予測(temporal motion vector prediction (TMVP))と同様に、SbTMVPは、現在ピクチャ内の現在ブロックに対する参照ピクチャ内の種々の参照サブブロック内の動き情報を使用する。幾つかの実施形態では、TMVPにより使用される同じ参照ピクチャは、SbTVMPのために使用できる。幾つかの実施形態では、TMVPは、CUレベルで動き情報を予測するが、SbTVMPは、サブCUレベルで動きを予測する。幾つかの実施形態では、TMVPは、現在ブロックの右下角又は中央に隣接する対応する位置を有する、参照ピクチャ内の同一位置のブロックからの時間的動きベクトルを使用し、SbTVMPは、現在ブロックの空間的近隣ブロックのうちの1つからの動きベクトルに基づき動きシフトを実行することにより識別できる、参照ブロックからの時間的動きベクトルを使用する。
【0123】
例えば、
図10Aに示すように、近隣ブロックA1、B1、B0、及びA0は、SbTVMP処理において順次チェックできる。例えば参照ピクチャ(1060)内の参照ブロックAR1を指す動きベクトル(1022)を有するブロックA1のような、参照ピクチャ(1060)を自身の参照ピクチャとして使用する動きベクトルを有する第1の空間的近隣ブロックが識別されると直ぐに、この動きベクトル(1022)は、動きシフトを実行するために使用できる。このような動きベクトルが空間的近隣ブロックA1、B1、B0、及びA0から利用可能でないとき、動きシフトは(0,0)に設定される。
【0124】
動きシフトを決定した後に、参照ブロック(1061)は、現在ブロック(1011)の位置及び決定された動きシフトに基づき識別できる。
図10Bでは、参照ブロック(1061)は、参照動き情報MRa~MRpにより、16個のサブブロックに更に分割できる。幾つかの例では、参照ブロック(1061)内の各サブブロックの参照動き情報は、このようなサブブロックの中央サンプルをカバーする最小動きグリッドに基づき決定できる。動き情報は、動きベクトル及び対応する参照インデックスを含み得る。現在ブロック(1011)は16個のサブブロックに更に分割でき、現在ブロック(1011)内のサブブロックの動き情報MVa~MVpは、TMVP処理と同様の方法で、幾つかの例では時間的スケーリングにより、参照動き情報MRa~MRpから導出できる。
【0125】
SbTVMP処理で使用されるサブブロックサイズは、固定され(又は予め決定され)又はシグナリングされ得る。幾つかの例では、SbTVMP処理で使用されるサブブロックサイズは8×8サンプルであり得る。幾つかの例では、SbTVMP処理は、固定又はシグナリングされたサイズ、例えば8ピクセル、以上の幅及び高さを有するブロックにのみ適用可能である。
【0126】
例では、SbTVMP候補及びアフィンマージ候補を含む、結合されたサブブロックに基づくマージリストは、サブブロックに基づくマージモードのシグナリングのために使用される。SbTVMPモードは、シーケンスパラメータセット(sequence parameter set (SPS))フラグにより有効又は無効にできる。幾つかの例では、SbTMVPモードが有効にされた場合、SbTMVP候補は、サブブロックに基づくマージ候補のリストの第1エントリとして追加され、その後にアフィンマージ候補が続く。幾つかの実施形態では、サブブロックに基づくマージリストの最大許容サイズは、5に設定される。しかしながら、他の実施形態では他のサイズが利用されてよい。
【0127】
幾つかの実施形態では、追加SbTMVPマージ候補の符号化ロジックは、他のマージ候補の場合と同じである。つまり、P又はBスライスの中の各ブロックについて、SbTMVP候補を使用するか否かを決定するために、追加レート歪みチェックが実行できる。
【0128】
4.履歴に基づく動きベクトル予測(History-Based Motion Vector Prediction (HMVP))モード
【0129】
図11Aは、一実施形態による、履歴に基づくMV予測(history based MV prediction (HMVP))方法を用いる、動き情報候補のリストを構成し及び更新する処理(1100)の概略を示すフローチャートである。
【0130】
幾つかの実施形態では、HMVP方法を用いる動き情報候補のリスト(履歴リストとも呼ばれる)は、符号化又は復号処理の間に構成され更新できる。履歴リストは、新しいスライスが開始するとき、空にされ得る。幾つかの実施形態では、符号化又は復号されたばかりのインター符号化非アフィンブロックが存在するか否かに拘わらず、関連する動き情報は、履歴リストの最後のエントリに、新しいHMVP候補として追加できる。従って、現在ブロックを処理する(符号化又は復号する)前に、HMVP候補を有する履歴リストがロードされ得る(S1112)。現在ブロックは、履歴リスト内のHMVP候補を用いて符号化又は復号できる(S1114)。後に、履歴リストは、現在ブロックを符号化又は復号するために動き情報を用いて更新できる(S1116)。
【0131】
図11Bは、一実施形態による、履歴に基づくMV予測方法を用いる、動き情報候補のリストを更新する概略図である。
図11Bは、サイズLを有する履歴リストを示し、リスト内の各候補は、0~L-1の範囲のインデックスにより識別できる。Lは、0以上の整数である。現在ブロックを符号化又は復号する前に、履歴リスト(1120)は、L個の候補:HMVP
1、HMVP
2、...、HMVP
m、...、HMVP
L-2、及びHMVP
L-1を含む。ここで、mは、0~Lの範囲の整数である。現在ブロックを符号化又は復号した後に、新しいエントリHMVP
cが履歴リストに追加される。
【0132】
例では、履歴リストのサイズは6に設定でき、これは、最大で6個のHMVP候補が履歴リストに追加できることを示す。新しい動き候補(例えば、HMVP
c)を履歴リストに挿入するとき、制約された先入れ先出し(first-in-first-out (FIFO))ルールが利用できる。ここで、冗長性チェックが先ず適用されて、履歴リスト内に冗長なHMVPが存在するか否かを見付ける。冗長なHMVPが見付かると、第1HMVP候補(
図11Bの例ではHMVP
1であり、インデックス=0を有する)は、リストから削除され、全部の他のHMVP候補は、後に順方向に移動され、例えばインデックスが1だけ減少される。新しいHMVP
c候補は、結果として生じたリスト(1130)に示されるように、リストの最後のエントリに追加できる(例えば
図11Bでインデックス=L-1を有する)。他方で、(例えば
図11BのHMVP
2のような)冗長なHMVPが見付かった場合、履歴リスト内の冗長なHMVPは、リストから削除され、その後の全部のHMVP候補が順方向に移動され、例えばインデックスが1だけ減少される。新しいHMVP
c候補は、結果として生じたリスト(1140)に示されるように、リストの最後のエントリに追加できる(例えば
図11Bでインデックス=L-1を有する)。
【0133】
幾つかの例では、HMVP候補は、マージ候補リスト構成処理で使用され得る。例えば、リスト内の最新のHMVP候補は、順番にチェックされ、TMVP候補の後に候補リストに挿入できる。幾つかの実施形態では、サブブロック動き候補(つまり、SbTMVP候補)ではなく、空間的又は時間的マージ候補に対するHMVP候補に枝刈りが適用できる。
【0134】
幾つかの実施形態では、枝刈り操作の回数を削減するために、以下のルールのうちの1つ以上が次に可能である:
(a)Mにより示されるチェックされるべきHMPV候補の数は、以下のように設定される:M=(N<=4)?L:(8-N)。ここで、Nは、利用可能なサブブロックマージ候補の数を示し、Lは、履歴リスト内の利用可能なHMVP候補の数を示す。
(b)更に、利用可能なマージ候補の合計数が、シグナリングされた最大マージ候補数より1だけ少なくなると、HMVPリストからのマージ候補リスト構成処理は終了され得る。
(c)更に、結合2方向予測マージ候補導出のためのペア数は、12から6にまで削減できる。
【0135】
幾つかの実施形態では、HMVP候補は、AMVP候補リスト構成処理で使用され得る。履歴リスト内の最新のK個のHMVP候補の動きベクトルは、TMVP候補の後に、AMVP候補に追加できる。幾つかの例では、AMVP目標参照ピクチャと同じ参照ピクチャを有するHMVPのみが、AMVP候補リストに追加されるべきである。枝刈りは、HMVP候補に対して適用できる。幾つかの例では、Kは4に設定され、AMVPリストサイズは不変に保たれ、例えば2に等しい。
【0136】
6ペア毎の平均動きベクトル候補(Pairwise Average Motion Vector Candidates)
【0137】
幾つかの実施形態では、現在マージ候補リストの中の候補の所定のペアを平均することにより、ペア毎の平均候補が生成できる。例えば、実施形態では、所定のペアは、{(0,1),(0,2),(1,2),(0,3),(1,3)、(2,3)}のように定められる。ここで、数値は、マージ候補リストに対するマージインデックスを示す。例えば、平均動きベクトルは、参照ピクチャリスト毎に個別に計算される。両方の平均されるべき動きベクトルが1つのリスト内で利用可能な場合、それらが異なる参照ピクチャを指すときでも、これらの2つの動きベクトルは平均化される。1つの動きベクトルしか利用できない場合、利用可能な1つが直接使用できる。利用可能な動きベクトルが存在しない場合、一例では、それぞれのペアはスキップされる。ペア毎の平均候補は、幾つかの実施形態では、マージ候補リストを構成する際に、結合された候補を置き換える。
【0138】
6.動きベクトル差とのマージ(Merge with Motion Vector Difference (MMVD))モード
【0139】
幾つかの実施形態では、現在ブロックの動きベクトル予測子を決定するために、動きベクトル差とのマージ(merge with motion vector difference (MMVD))モードが使用される。スキップモード又はマージモードが有効にされるとき、MMVDモードが使用できる。MMVDモードは、スキップモード又はマージモードのマージ候補リストにあるマージ候補を再利用する。例えば、マージ候補リストから選択された候補は、参照ピクチャにおける開始点を提供するために使用できる。現在ブロックの動きベクトルは、開始点と、動きの大きさ及び開始点に対する動きの方向を含む動きオフセットと、により表現できる。エンコーダ側において、マージ候補の選択及び動きオフセットの決定は、探索処理(評価処理)に基づくことができる。デコーダ側において、選択されたマージ候補及び動きオフセットは、エンコーダ側からのシグナリングに基づき決定できる。
【0140】
MMVDモードは、ここに記載された種々のインター予測モードで構成されたマージ候補リストを再使用できる。幾つかの例では、マージ候補リストにある規定マージタイプ(例えば、MRG_TYPE_DEFAULT_N)の候補のみが、MMVDモードのために検討される。規定マージタイプのマージ候補の例は、(i)マージモードで利用されるマージ候補、(ii)HMVPモードにおける履歴バッファからのマージ候補、及び(iii)ここに記載されたようなペア毎の平均動きベクトル候補、を含むことができる。アフィンモード又はSbTMVPモードにおけるマージ候補は、幾つかの例ではMMVDモードにおける拡張のために使用されない。
【0141】
基本候補インデックス(index (IDX))は、開始点を定めるために使用できる。例えば、0~3のインデックスに関連付けられたマージ候補(動きベクトル予測子(motion vector predicator (MVP)))のリストは、表1に示される。基本候補インデックスのインデックスを有するマージ候補は、リストから決定でき、開始点を提供するために使用できる。
[表1]基本候補IDX
【表1】
【0142】
距離インデックスは、動きの大きさの情報を提供するために使用できる。例えば、複数の所定のピクセル距離は、表2に示され、それぞれ0~7のインデックスに関連付けられる。距離インデックスのインデックスを有するピクセル距離は、複数のピクセル距離から決定でき、動きの大きさを提供するために使用できる。
[表2]距離IDX
【表2】
【0143】
方向インデックスは、動きの方向の情報を提供するために使用できる。例えば、00~11(2進数)のインデックスを有する4つの方向が表3に示される。方向インデックスのインデックスを有する方向は、4つの方向のから決定でき、開始点に対する動きオフセットの方向を提供するために使用できる。
[表3]方向IDX
【表3】
【0144】
MMVDシンタックス要素は、MMVDモードの基本候補インデックスモードにおける基本候補インデックス、方向インデックス、及び距離IDXを含むMMVDインデックスのセットをシグナリングするために、ビットストリーム内で送信できる。
【0145】
幾つかの実施形態では、現在ブロックを符号化するためのスキップ及びマージフラグを送信した後に、MMVD有効化フラグがシグナリングされる。例えば、スキップ及びマージフラグが真のとき、MMVDフラグがパースされる。MMVDフラグが1に等しいとき、例では、MMVDシンタックス要素(MMVDインデックス)がパースされる。一例では、MMVDフラグが1ではないとき、AFFINEフラグのような別のモードに関連付けられたフラグがパースされる。AFFINEフラグが1に等しいとき、AFFINEモードは、現在ブロックを処理するために使用される。AFFINEフラグが1ではないとき、例では、スキップ/マージモードで現在ブロックを処理するために、スキップ/マージインデックスがパースされる。
【0146】
図12、13は、本開示の一実施形態によるMMVDモードにおける探索処理の例を示す。探索処理を実行することにより、基本候補インデックス、方向インデックス、及び距離インデックスを含むMMVDインデックスのセットは、現在ピクチャ(又は現在フレームと呼ばれる)の中の現在ブロック(1201)について決定できる。
【0147】
図12、13に示されるように、第1マージ候補に属する第1動きベクトル(1211)及び第2動きベクトル(1221)が示される。第1マージ候補は、現在ブロック(1201)について構成されたマージ候補リストにあるマージ候補であり得る。第1及び第2動きベクトル(1211)及び(1221)は、それぞれ参照ピクチャリストL0及びL1の中の2つの参照ピクチャ(1202)及び(1203)に関連付けられることができる。従って、
図13の2つの開始点(1311)及び(1321)は、参照ピクチャ(1202)及び(1203)において決定できる。
【0148】
例では、開始点(1311)及び(1321)に基づき、参照ピクチャ(1202)及び(1203)の中の開始点(1311)及び(1321)から垂直方向(+Y又は-Yにより表される)又は水平後方(+X及び-Xにより表される)に延在する複数の所定の点が、評価されることができる。一例では、それぞれの開始点(1311)及び(1321)に関して互いに鏡像である点のペア、例えば点(1314)及び(1324)のペア、又は点(1315)及び(1325)のペアは、現在ブロック(1201)の動きベクトル予測子候補を形成し得る動きベクトルのペアを決定するために使用できる。開始点(1311)又は(1321)の周囲にある所定の点に基づき決定されたそれらの動きベクトル予測子候補が評価できる。
【0149】
第1マージ候補に加えて、現在ブロック(1201)のマージ候補リストにある他の利用可能な又は有効なマージ候補も、同様に評価できる。一例では、単予測されたマージ候補について、2つの参照ピクチャリストのうちの1つに関連付けられた1つの予測方向のみが、評価される。
【0150】
評価に基づき、最良の動きベクトル予測子候補が決定できる。従って、最良の動きベクトル予測子候補に対応して、最良のマージ候補がマージリストから選択でき、動き方向及び動き距離も決定できる。例えば、選択されたマージ候補および表1に基づき、基本候補インデックスが決定できる。所定の点(1315)(又は(1325))に対応するような選択された動きベクトル予測子に基づき、開始点(1311)に対する点(1315)の方向及び距離が決定できる。表2及び表3に従い、方向インデックス及び距離インデックスは、相応して決定できる。
【0151】
上述の例は、単に説明を目的とすることに留意する。代替的な例では、MMVDモードで提供される動きベクトル表現方法に基づき、動き距離及び動き方向が異なる方法で定義されてよい。更に、評価処理(探索処理)が異なる方法で実行されてよい。例えば、双予測マージ候補について、3種類の予測方向(例えば、L0、L1、並びに、L0及びL1)は、最良の動きベクトル予測子を選択するために、所定の距離及び方向のセットに基づき評価されてよい。別の例では、単予測されたマージ候補は、ミラーリング又はスケーリングすることにより双予測されたマージ候補に変換されてよく、その後、評価されてよい。上述の例では、評価処理の結果として生じる予測方向(例えば、L0、L1、又は、L0及びL1)を示す追加のシンタックスがシグナリングされてよい。
【0152】
上述のように、マージ候補リストにあるマージ候補は、エンコーダ側においてMMVDモードで基本候補を決定するために評価される。デコーダ側において、基本候補インデックスを入力として用いて、動きベクトル予測子は、マージ候補リストから選択できる。従って、マージ候補を記憶するために、ラインバッファに加えて、MMVDモードのための追加ラインバッファは必要ない。
【0153】
III.MMVDインデックスのシグナリング
【0154】
上述のように、開始点を示すMMVDインデックスのセット、動き方向、動き距離は、MMVDパラメータをデコーダに提供するために、ビットストリーム内でシグナリングできる。表3は、本開示によるMMVDインデックスをシグナリングする例を示す。
[表4]MMVDインデックスのシグナリング
【表4】
【0155】
表4は、1~10で番号付けされた10行の記述を含み、以下により表される5個のシンタックス要素を示す。
【数1】
第1行は、シンタックス要素の開始、cbWidth×cbHeightのサイズを有し及び例えばスライス又はタイルグループの右上角のピクセルに対する(x0,y0)の位置にある符号化ブロックの送信、を示す。MMVDフラグmmvd_flag[x0][y0]は、第2行で最初に送信される。MMVDフラグが真であるか否かは、第3行で決定される。
【0156】
MMVDフラグが1に等しいとき、これはMMVDモードが符号化ブロックについて有効であることを意味し、3個のシンタックス要素、つまりmmvd_merge_flag[x0][y0]、mmvd_distance_idx[x0][y0]、mmvd_direction_idx[x0][y0]が、行4~6で順にシグナリングされる。3つのシンタックス要素は、基本候補インデックス、距離インデックス、及び方向インデックスをそれぞれ表す。特に、表4の例では、符号化ブロックのマージ候補リストにある2個のマージ候補のみが、MMVDモードのために使用される。従って、フラグmmvd_merge_flag[x0][y0]は、第1(0)又は第2(1)マージ候補のどちらが選択されるかを示すために使用される。例では、mmvd_merge_flag[x0][y0]は、コンテキスト符号化されることができる。他の例では、mmvd_candidate_idx[x0][y0]のようなシンタックス要素は、mmvd_merge_flag[x0][y0]の代わりに、{0,1}に限定されない値を有する基本候補インデックスを示すために使用できる。
【0157】
行2のMMVDフラグが1に等しくないとき、行4~6にリストされた3個のMMVDインデックスは送信されない。代わりに、行8から開始して、行8にリストされた条件が満たされる場合、サブブロックに基づくインター予測モードのような別のインター予測モードのシンタックス要素が、送信されてよい。この方法では、表4は、MMVDモードを含む異なるインター予測モードの種々のシンタックス要素が、どのようにビットストリーム内でシグナリングされるかを指定する
【0158】
しかしながら、表4の例では、符号化ブロックのマージ候補リストにある最大マージ候補数は考慮されない。例えば、最大マージ候補数が1であるとき、符号化ブロックのマージ候補リストには、利用可能なマージ候補が1つしかない。このような構成の下で、MMVDモードが符号化ブロックについて有効にされるとき、それぞれの基本候補は、1つの選択肢のみを有することができる。従って、基本候補インデックス(例えば、表4のmmvd_merge_flag[x0][y0])のシグナリングが回避でき、MMVDインデックスの送信を再設計することによりビットを節約する。
【0159】
表5は、最大マージ候補数に基づく基本候補インデックスの条件付きシグナリングの例を示す。
[表5]MMVDインデックスの条件付きシグナリング
【表5】
【0160】
表5は、1~11で番号付けされた11行を示す。表5は、表4と類似するが、行4に、条件文「if(MaxNumMergeCand>1)」が追加された点が異なる。変数MaxNumMergeCandは、表5の第1行で指定された符号化ブロックの最大マージ候補数を表す。最大マージ候補数が1より大きいとき、それぞれの基本候補インデックス(例えば、表5の例のmmvd_merge_flag[x0][y0])が送信できる。その他の場合、基本候補インデックスは送信されない。結果として、MMVDインデックスのシグナリングコストは、ビット数の観点で削減できる。
【0161】
表5の行4にある最大マージ候補数は、表5のシンタックス要素がシグナリングされる前にシグナリングできる。例えば、シンタックス要素は、例えば、six_munus_max_num_merge_candとして表され、所定の値(例えば、6)と最大マージ候補数との間の差を示し、例えばシーケンスパラメータセット(sequence parameter set (SPS))、ピクチャパラメータセット(picture parameter set (PPS))、スライスヘッダ、タイルグループヘッダ、等の中で送信できる。最大マージ候補数は、このシンタックス要素を解釈することにより決定できる。例えば、最大マージ候補数は、次式に従い計算できる:
MaxNumMergeCand=6-six_munus_max_num_merge_cand
【0162】
デコーダ側において、一例では、基本候補インデックスが送信されないとき(利用可能なマージ候補が1個しかない)、基本候補インデックスは0と推定できる。従って、0のインデックスを有するそれぞれの符号化ブロックのマージ候補は、符号化ブロックの動きベクトル予測子を導出するために使用できる。
【0163】
実施形態では、MMVDモードが符号化ブロックセット、例えばスライス又はタイルグループについて有効にされるとき、符号化ブロックセットの最大マージ候補数は、2より小さくならないよう制限される。このような構成の下で、表4の例のシグナリングは、MMVDインデックスを送信するために使用できる。
【0164】
図14は、本開示の一実施形態による、MMVDモードビデオ復号処理(1400)の概要を示すフローチャートを示す。処理(1400)は、再構成中の符号化ブロックについて予測ブロックを生成するために、MMVDモードで符号化された符号化ブロックの動きベクトル予測を決定するために使用できる。種々の実施形態では、処理(1400)は、端末装置(210)、(220)、(230)及び(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、パーサ(420)及び予測モジュール(453)の機能を実行する処理回路、インターデコーダ(780)の機能を実行する処理回路、等のような処理回路により実行される。幾つかの実施形態では、処理(1400)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路が処理(1400)を実行する。処理は(S1401)で開始し、(S1410)に進む。
【0165】
(S1410)で、最大マージ候補数を示すシンタックス要素が受信できる。シンタックス要素は、SPS、PPS、スライスヘッダ、タイルグループヘッダ、等の中で送信でき、従って、マージ候補リストの使用により処理されるべき符号化ブロックセットに適用できる。更に、マージモード又はスキップモードが符号化ブロックセットについて有効にされるかどうかを示すマージフラグ又はスキップフラグが、最大マージ候補数を示すシンタックス要素を受信する前又は後に受信できる。
【0166】
(S1412)で、MMVDモードが現在ブロックについて有効にされるかどうかを示すMMVDフラグのシンタックス要素が受信される。
【0167】
(S1414)で、MMVDフラグが真かどうかが決定される。MMVDフラグが真であるとき、処理(1400)は(S1416)に進む。その他の場合、処理(1400)は(S1499)に進み、(S1499)で終了する。
【0168】
(S1416)で、最大マージ候補数が1より大きいかどうかが決定される。最大マージ候補数が1より大きいとき、MMVDモードで現在ブロックの動きベクトル予測子を決定するために利用可能な少なくとも2つのマージ候補が現在ブロックのマージリストにあると決定できる。従って、処理(1400)は(S1418)に進む。その他の場合、処理(1400)は(S1420)に進む。
【0169】
(S1418)で、MMVDモードの基本候補インデックスを示すシンタックス要素が受信できる。基本候補インデックスは、少なくとも2個のマージ候補から1つのマージ候補を識別するために使用できる。幾つかの例では、MMVDモードのために使用されるマージ候補は、2未満になるよう制限される。従って、(S1418)で受信されたシンタックス要素は、0又は1の値を有するフラグを表し、これは、2個の利用可能なマージ候補のうちのどちらがMMVDモードのために使用されるべきかを示す。
【0170】
(S1420)で、基本候補インデックスは0と推定される。(S1416)で決定されたように、MMVDモードのために利用可能なマージ候補は1つしかなく、基本候補インデックスを示すシンタックス要素は送信されないと決定できる。デコーダは、従って、基本候補インデックスが0であると決定できる。
【0171】
(S1422)で、距離インデックスを示すシンタックス要素が受信できる。
【0172】
(S1424)で、方向インデックスを示すシンタックス要素が受信できる。他の例では、(S1422)及び(S1424)のステップは、交換でき、又は(S1416)の前に配置できることに留意する。
【0173】
(S1426)で、現在ブロックの動きベクトル予測子は、前に決定された又は取得された基本候補インデックス、距離インデックス、及び方向インデックスに基づき決定できる。その後、現在符号化ブロックの予測ブロックが導出できる。処理(1400)は(S1499)に進み、(S1499)で終了する。
【0174】
IV.コンピュータシステム
【0175】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、
図15は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム(1500)を示す。
【0176】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コードまたはコンピュータ言語を用いて符号化できる。
【0177】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0178】
コンピュータシステム(1500)の
図15に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム(1500)の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0179】
コンピュータシステム(1500)は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0180】
入力ヒューマンインタフェース装置は、キーボード(1501)、マウス(1502)、トラックパッド(1503)、タッチスクリーン(1510)、データグラブ(図示しない)、ジョイスティック(1505)、マイクロフォン(1506)、スキャナ(1507)、カメラ(1508)、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0181】
コンピュータシステム(1500)は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン(1510)、データグラブ(図示しない)、又はジョイスティック(1505(による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ(1509)、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン(1510)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それぞれタッチスクリーン入力能力を有し又は有さず、それぞれ感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)、及びプリンタ(図示しない)のような手段を通じて2次元視覚出力又は3次元以上の出力を出力可能であってよい))。
【0182】
コンピュータシステム(1500)は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体(1521)を備えるCD/DVD ROM/RW(1520)のような光学媒体、サムドライブ(1522)、取り外し可能ハードドライブ又は個体状態ドライブ(1523)、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0183】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0184】
コンピュータシステム(1500)は、1つ以上の通信ネットワークへのインタフェースも含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LET等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス(1549)(例えば、コンピュータシステム(1500)のUSBポート)に取り付けられる外部ネットワークインタフェースを必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム(1500)のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。これらのネットワークを用いて、コンピュータシステム(1500)は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、上述のネットワーク及びネットワークインタフェースの各々で使用され得る。
【0185】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム(1500)のコア(1540)に取り付け可能である。
【0186】
コア(1540)は、1つ以上の中央処理ユニット(CPU)(1541)、グラフィック処理ユニット(GPU)(1542)、GPGAの形式の専用プログラマブル処理ユニット(1543)、特定タスクのためのハードウェアアクセラレータ(1544)、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)(1545)、ランダムアクセスメモリ(1546)、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置(1547)と共に、システムバス(1548)を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス1548は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス1548に直接に、又は周辺機器バス1549を通じて、取り付け可能である。周辺機器バスのアーキテクチャは、PCI、USB、等を含む。
【0187】
CPU(1541)、GPU(1542)、FPGA(1543)、及びアクセラレータ(1544)は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM(1545)又はRAM(1546)に格納できる。一時的データもRAM(1546)に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置(1547)に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しは、CPU(1541)、GPU(1542)、大容量記憶装置(1547)、ROM(1545)、RAM(1546)等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0188】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0189】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム(1500)、及び具体的にはコア(1540)は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(1547)又はROM(1545)のような非一時的特性のコア(1540)の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア(1540)により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア(1540)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM(1546)に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ(1544))の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(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,
PUs: 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
HDR: High dynamic range
SDR: Standard dynamic range
JVET: Joint Video Exploration Team
VTM: Versatile test model
SPS: Sequence parameter set
CB: Coding Block
MVP: Motion vector predictor
AMVP: Advanced MVP
HMVP: History-based MVP
CPMV: Control Point Motion Vector
MVD: Motion vector difference
MMVD: Merge with MVD
TMVP: Temporal MVP
SbTMVP: Subblock-based TMVP
【0190】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、したがって、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。
【国際調査報告】