(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-21
(45)【発行日】2023-05-01
(54)【発明の名称】ビデオ符号化のための方法、機器及びコンピュータ・プログラム
(51)【国際特許分類】
H04N 19/70 20140101AFI20230424BHJP
H04N 19/52 20140101ALI20230424BHJP
【FI】
H04N19/70
H04N19/52
(21)【出願番号】P 2020560175
(86)(22)【出願日】2019-11-29
(86)【国際出願番号】 US2019063857
(87)【国際公開番号】W WO2020117619
(87)【国際公開日】2020-06-11
【審査請求日】2020-11-16
(32)【優先日】2018-12-03
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-08-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リ,グォイチュン
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】鉢呂 健
(56)【参考文献】
【文献】特開2012-124878(JP,A)
【文献】特表2013-526143(JP,A)
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L1001-v4],JVET-L1001 (version 4),ITU-T,2018年12月03日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v4.zip>: JVET-L1001-v4.docx: pp. 33-36, 58-61, 174
【文献】LIAO, Ru-Ling and LIM, Chong Soon,CE10.3.1.b: Triangular prediction unit mode,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 03-12 Oct. 2018, [JVET-L0124-v2],JVET-L0124 (version 6),ITU-T,2018年11月01日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0124-v6.zip>: JVET-L0124-v2.doc: pp. 1-8
【文献】HASHIMOTO, Tomonori et al.,Non-CE4: Enhanced ultimate motion vector expression,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macau, CH, 2- October 2018, [JVET-L0355],JVET-L0355 (version 1),ITU-T,2018年09月25日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0355-v1.zip>: JVET-L0355.doc: pp. 1-5
【文献】CHIANG, Man-Shu et al.,CE10.1.1: Multi-hypothesis prediction for improving AMVP mode, skip or merge mode, and intra mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L0100-v3],JVET-L0100 (version 5),ITU-T,2018年10月12日,<URL: http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0100-v5.zip>: JVET-L0100-v3.docx: pp. 1-14
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
復号器が実行するビデオ復号のための方法であって、
符号化されたビデオビットストリームから第1シンタックス要素を取得するステップであって、前記第1シンタックス要素は複数のモードに関連付けられ、前記複数のモードは、動き情報を特定して現在ブロックに適用するためのものであり、前記第1シンタックス要素の第1値は、前記現在ブロックに用いられる前記複数のモードのサブセットを示す、ステップと、
前記第1シンタックス要素の第1値が示す前記サブセットに基づき、前記現在ブロックの予測値を生成するステップと、
前記予測値に基づき、前記現在ブロックの再構築サンプルを生成するステップとを含み、
前記第1シンタックス要素は、前記複数のモードのそれぞれを表す異なるビンの1つに設定され、
前記現在ブロックが含まれるピクチャにおいて、前記複数のモードの中で使用頻度が最も高いモードは前記ビンの中で最も少ないビットを有するビンで示され
、
前記複数のモードは、
動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出する通常マージモードと、
前記現在ブロックを複数の矩形サブブロックに分割するとともに、前記複数の矩形サブブロックのそれぞれの動き情報を導出するサブブロックマージ予測モードと、
前記現在ブロックを三角形サブパーティションに分割するとともに、前記三角形サブパーティションのそれぞれの動き情報を導出する三角形予測ユニットモードとを含む方法。
【請求項2】
前記複数のモードはさらに、
動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出する動きベクトル差付きマージモードを含む請求項
1に記載の方法。
【請求項3】
前記複数のモードはさらに、
フレーム内予測値とフレーム間予測値とを組み合わせることで、前記現在ブロックの最終予測値を生成するイントラ用の多仮説予測モードを含む請求項
2に記載の方法。
【請求項4】
前記複数のモードを表す前記ビンは、前記複数のモードのうちの各モードの使用頻度の降順に基づき配列され、前記通常マージモード、前記動きベクトル差付きマージモード、前記サブブロックマージ予測モード、前記イントラ用の多仮説予測モード、及び前記三角形予測ユニットモードとして配列される請求項
3に記載の方法。
【請求項5】
前記複数のモードを表す前記ビンは、前記複数のモードのうちの各モードの使用頻度の降順に基づき配列される請求項1に記載の方法。
【請求項6】
復号器が実行するビデオ復号のための方法であって、
符号化されたビデオビットストリームから第1シンタックス要素を取得するステップであって、前記第1シンタックス要素は複数のモードに関連付けられ、前記複数のモードは、動き情報を特定して現在ブロックに適用するためのものであり、前記第1シンタックス要素の第1値は、前記現在ブロックに用いられる前記複数のモードのサブセットを示す、ステップと、
前記第1シンタックス要素の第1値が示す前記サブセットに基づき、前記現在ブロックの予測値を生成するステップと、
前記予測値に基づき、前記現在ブロックの再構築サンプルを生成するステップとを含み、
前記第1シンタックス要素は、前記複数のモードのそれぞれを表す異なるビンの1つに設定され、
前記現在ブロックが含まれるピクチャにおいて、前記複数のモードの中で使用頻度が最も高いモードは前記ビンの中で最も少ないビットを有するビンで示され、
前記複数のモードの中で使用頻度が最も高いモードは通常マージモードであり、前記通常マージモードは動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出す
る方法。
【請求項7】
復号器が実行するビデオ復号のための方法であって、
符号化されたビデオビットストリームから第1シンタックス要素を取得するステップであって、前記第1シンタックス要素は複数のモードに関連付けられ、前記複数のモードは、動き情報を特定して現在ブロックに適用するためのものであり、前記第1シンタックス要素の第1値は、前記現在ブロックに用いられる前記複数のモードのサブセットを示す、ステップと、
前記第1シンタックス要素の第1値が示す前記サブセットに基づき、前記現在ブロックの予測値を生成するステップと、
前記予測値に基づき、前記現在ブロックの再構築サンプルを生成するステップとを含み、
前記第1シンタックス要素は、前記複数のモードのそれぞれを表す異なるビンの1つに設定され、
前記現在ブロックが含まれるピクチャにおいて、前記複数のモードの中で使用頻度が最も高いモードは前記ビンの中で最も少ないビットを有するビンで示され、
当該方法は、さらに、
前記符号化されたビデオビットストリームから、前記第1シンタックス要素の後で提供される第2シンタックス要素を取得するステップであって、前記第2シンタックス要素の第2値はインデックスを示し、前記インデックスは動き情報候補リストから動き情報候補を選択するためのものであるステップと、
前記第1シンタックス要素の第1値が示す複数のモードのサブセットが、選択された動き情報候補に基づき、前記現在ブロック全体の動き情報を導出するモードに対応する場合、前記第2シンタックス要素の第2値によって示される前記インデックスが動きベクトル差付きマージモードの動き情報候補の最大の数より小さいと、前記符号化されたビデオビットストリームから第3シンタックス要素を取得するステップであって、前記第3シンタックス要素の第3値は、通常マージモードに基づき前記現在ブロックの予測値を生成するか、それとも前記動きベクトル差付きマージモードに基づき、前記現在ブロックの予測値を生成するかということを示し、前記通常マージモードは動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出するモートであり、前記動きベクトル差付きマージモードは動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出するモートであるステップとを含
む方法。
【請求項8】
さらに、
前記第3シンタックス要素の第3値が、前記現在ブロックの予測値を生成するためのモードが、前記動きベクトル差付きマージモードであることを示す場合、前記符号化されたビデオビットストリームから、前記第3シンタックス要素の後で提供される1つまたは複数の第4シンタックス要素を取得するステップを含み、前記1つまたは複数の第4シンタックス要素は前記動きベクトル差情報を示す請求項7に記載の方法。
【請求項9】
復号器が実行するビデオ復号のための方法であって、
符号化されたビデオビットストリームから第1シンタックス要素を取得するステップであって、前記第1シンタックス要素は複数のモードに関連付けられ、前記複数のモードは、動き情報を特定して現在ブロックに適用するためのものであり、前記第1シンタックス要素の第1値は、前記現在ブロックに用いられる前記複数のモードのサブセットを示す、ステップと、
前記第1シンタックス要素の第1値が示す前記サブセットに基づき、前記現在ブロックの予測値を生成するステップと、
前記予測値に基づき、前記現在ブロックの再構築サンプルを生成するステップとを含み、
前記第1シンタックス要素は、前記複数のモードのそれぞれを表す異なるビンの1つに設定され、
前記現在ブロックが含まれるピクチャにおいて、前記複数のモードの中で使用頻度が最も高いモードは前記ビンの中で最も少ないビットを有するビンで示され、
前記第1シンタックス要素の第1値は、前記現在ブロックの予測値を生成するためのモードが、ブロックに基づくマージモードであるか、それともサブブロックに基づくマージモードであるかを示し、
前記第1シンタックス要素の第1値が、前記現在ブロックの予測値を生成するためのモードが前記ブロックに基づくマージモードであることを示す場合、前記複数のモードのサブセットは、
動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出する通常マージモード、及び、
動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出する動きベクトル差付きマージモードのうちの少なくとも1つを含み、
前記第1シンタックス要素の第1値が、前記現在ブロックの予測値を生成するためのモードが前記サブブロックに基づくマージモードであることを示す場合、前記複数のモードのサブセットは、
前記現在ブロックを複数の矩形サブブロックに分割するとともに、前記複数の矩形サブブロックのそれぞれの動き情報を導出するサブブロックマージ予測モード、
前記現在ブロックを三角形サブパーティションに分割するとともに、前記三角形サブパーティションのそれぞれの動き情報を導出する三角形予測ユニットモード、及び、
フレーム内予測値とフレーム間予測値とを組み合わせることで、前記現在ブロックの最終予測値を生成するイントラ用の多仮説予測モードのうちの、少なくとも1つを含
む方法。
【請求項10】
さらに、
前記符号化されたビデオビットストリームから、前記第1シンタックス要素の後で提供される第2シンタックス要素を取得するステップであって、前記第2シンタックス要素の第2値はインデックスを示し、前記インデックスは動き情報候補リストから動き情報候補を選択するためのものであるステップと、
前記第1シンタックス要素の第1値が、前記現在ブロックの予測値を生成するためのモードが前記ブロックに基づくマージモードであることを示す場合、前記第2シンタックス要素の第2値によって示される前記インデックスが前記動きベクトル差付きマージモードの動き情報候補の最大の数より小さいと、前記符号化されたビデオビットストリームから第3シンタックス要素を取得するステップであって、前記第3シンタックス要素の第3値は前記通常マージモードに基づき前記現在ブロックの予測値を生成するか、それとも前記動きベクトル差付きマージモードに基づき前記現在ブロックの予測値を生成するかを示すステップとを含む請求項
9に記載の方法。
【請求項11】
さらに、
前記第3シンタックス要素が、前記現在ブロックの予測値を生成するためのモードが、前記動きベクトル差付きマージモードであることを示す場合、前記符号化されたビデオビットストリームから、前記第3シンタックス要素の後で提供される1つまたは複数の第4シンタックス要素を取得するステップを含み、前記1つまたは複数の第4シンタックス要素は前記動きベクトル差情報を示す請求項
10に記載の方法。
【請求項12】
復号器が実行するビデオ復号のための方法であって、
符号化されたビデオビットストリームから第1シンタックス要素を取得するステップであって、前記第1シンタックス要素は複数のモードに関連付けられ、前記複数のモードは、動き情報を特定して現在ブロックに適用するためのものであり、前記第1シンタックス要素の第1値は、前記現在ブロックに用いられる前記複数のモードのサブセットを示す、ステップと、
前記第1シンタックス要素の第1値が示す前記サブセットに基づき、前記現在ブロックの予測値を生成するステップと、
前記予測値に基づき、前記現在ブロックの再構築サンプルを生成するステップとを含み、
前記第1シンタックス要素は、前記複数のモードのそれぞれを表す異なるビンの1つに設定され、
前記現在ブロックが含まれるピクチャにおいて、前記複数のモードの中で使用頻度が最も高いモードは前記ビンの中で最も少ないビットを有するビンで示され、
当該方法は、さらに、
前記第1シンタックス要素の第1値が、前記複数のモードのサブセットに少なくとも通常マージモードが含まれることを示す場合、前記符号化されたビデオビットストリームから、前記第1シンタックス要素の後で提供される他のシンタックス要素を取得するステップを含み、前記他のシンタックス要素の値は、前記現在ブロックの予測値を生成するためのモードが、通常マージモードであるかどうかを示し、前記通常マージモードは動き情報候補リストから選択された動き情報候補に基づき、前記現在ブロックの動き情報を導出するモードであ
る方法。
【請求項13】
処理回路を含む機器であって、
前記処理回路は、
請求項1乃至12のいずれか一項に記載の方法を実行させるように配置される機器。
【請求項14】
コンピュータに、請求項1乃至
12のいずれか一項に記載される方法を実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の援用]
本出願は、2019年8月5日にて提出されたアメリカ特許出願No. 16/531,958「Method and Apparatus for
Video Coding」の優先権を主張し、本開示は2018年12月3日にて提出されたアメリカ仮出願No. 62/774.828の優先権を主張する。先行出願の全ての開示内容は本明細書に援用される。
【0002】
[技術分野]
本出願は一般的に、ビデオ符号化及び復号に関する実施例を説明する。
【背景技術】
【0003】
本明細書で提供される背景記載は、本開示の内容の背景を総体的に体現することを目的とする。該背景技術部分に記載の作業程度から見れば、現在署名の発明者の作業、及び提出の際に別に従来技術の記載として限定されていない態様について、明確且つ暗黙的に本開示の内容に対する従来技術として認められない。
【0004】
動き補償を有するフレーム間予測を使用してビデオの符号化と復号を実行することができる。非圧縮のデジタルビデオは一連のピクチャを含んでもよく、各ピクチャは空間次元、例えば、1920×1080の輝度サンプルと関連するクロミナンスサンプルを有する。該一連のピクチャは、例えば、1秒あたり60のピクチャ又は60Hzの固定又は可変のピクチャレート(非正式にはフレームレートとも呼ばれる)を有してもよい。非圧縮のビデオには、高いビットレート要件を有する。例えば、サンプルあたりの8ビットの1080r604:2:0ビデオ(60Hzフレームレートでの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅が必要である。このような1時間のビデオは、600GBを超えるストレージスペースが必要である。
【0005】
ビデオ符号化及び復号は、圧縮により、ビデオ信号入力における冗長を減少させることを1つの目的とする。圧縮は、以上に言及された帯域幅又は記憶空間に対するニーズを減少させることに寄与し、ある状況で、2つ又はより多いオーダーを減少させる。可逆圧縮、非可逆圧縮、及びその組み合わせを利用できる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構築できる技術を指す。非可逆圧縮を利用する場合、再構築された信号は元の信号と異なる可能性もあるが、元の信号と再構築された信号との間の歪みは十分に小さいから、再構築された信号はターゲットアプリケーションに利用できる。ビデオの場合、非可逆圧縮は大幅に応用される。許容の歪み量はアプリケーションに依存し、例えば、テレビ配信アプリケーションのユーザーより、消費者ストリーミングメディアプリケーションのユーザーが高い歪みを許容する。実現可能な圧縮比は、許可/許容可能な歪みが高いほど、圧縮比が高くなることを反映する。
【0006】
動き補償は非可逆圧縮技術であってもよく、以下の技術に関わり、動きベクトル(以下はMVと呼ばれる)が指示する方向で空間変位を行った後、前に再構築されたピクチャまたはその一部(即ち、参照ピクチャを利用する)からのサンプルデータのブロックを利用して、新たに再構築されたピクチャまたはその一部を予測する。ある状況で、参照ピクチャは現在再構築中のピクチャと同じであってもよい。MVはXとYという2つの次元を有してもよいし、3つの次元を有してもよく、第3次元は利用中の参照ピクチャを指示する(後者は間接的に時間次元であってもよい)。
【0007】
いくつかのビデオ圧縮技術において、他のMVに基づき、サンプルデータのある領域に適用されるMVを予測してもよく、例えば、空間で再構築中の領域に隣接するサンプルデータの他の領域に関するとともに、復号順序で前にあるMVに基づき予測してもよい。このように、MV符号化に必要なデータ量を大幅に減少させ、冗長をなくし、圧縮率を向上させる。例えば、カメラから導出されたビデオ入力信号(ナチュラルビデオと呼ばれる)に対して符号化を行う際、単一のMVが適用可能な領域よりも大きい領域が類似の方向に移動する可能性が統計的にあるため、ある状況で、隣接領域のMVから、類似の動きベクトルを導出し、該単一MVを予測できる。従って、MV予測は効果的に機能する。これによって、特定領域に対して検出されたMVは、周辺MVから予測されたMVと類似または同じになり、エントロピー符号化の後、MVに対して直接的に符号化を行う場合より少ないバイナリビットで、該MVを示すことができる。ある状況で、MV予測は元の信号(即ち、サンプルストリーム)から導出される信号(即ち、MV)の可逆圧縮の例示であってもよい。他の状況で、MV予測そのものは非可逆であってもよく、その原因は、例えば、若干の周辺MVに基づき予測値を計算する際の丸め誤差である。
【0008】
H.265/HEVC(ITU-T
H.265提案書、「高効率ビデオ符号化/復号(High Efficiency Video Coding)」、2016年12月)には各種のMV予測メカニズムが記載されている。H.265が提供する多種のMV予測メカニズムにおいて、本出願は、以下で「空間マージ」と呼ばれる技術を説明する。
【0009】
図1を参照し、現在ブロック(101)は、動き検索過程期間で、既に符号器が発見したサンプルを有し、空間オフセットが生じた、同じ大きさの前ブロックに基づき、これらのサンプルを予測できる。また、該MVに対して直接的に符号化を行わず、1つまたは複数の参照ピクチャと関連付けたメタデータからMVを導出する。例えば、A0、A1及びB0、B1、B2(それぞれ102~106に対応する)という5つの周辺サンプルのうちのいずれかのサンプルと関連付けたMVを利用して(復号順序に従う)、最も近い参照ピクチャのメタデータから該MVを導出する。H.265において、MV予測は隣接ブロックも使用している同じ参照ピクチャの予測値を利用できる。
【発明の概要】
【0010】
本出願が開示する各態様はビデオ符号化/復号のための方法及び機器を提供する。いくつかの例示において、該機器は処理回路を有し、該処理回路は、符号化されたビデオビットストリームから第1シンタックス要素を取得するように配置され、該第1シンタックス要素は複数のモードと関連付けられ、複数のモードは動き情報を特定して現在ブロックに適用するためのものであり、第1シンタックス要素の第1値は、現在ブロックに用いられる複数のモードのサブセットを示す。該処理回路はさらに、第1シンタックス要素の第1値が示す複数のモードのサブセットに基づき、現在ブロックの予測値を生成し、予測値に基づき、現在ブロックの再構築サンプルを生成するように配置される。
【0011】
いくつかの実施例において、複数のモードは、動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する通常マージモードと、現在ブロックを複数の矩形サブブロックに分割するとともに、複数の矩形サブブロックのそれぞれの動き情報を導出するサブブロックマージ予測モードと、現在ブロックを三角形サブパーティションに分割するとともに、三角形サブパーティションのそれぞれの動き情報を導出する三角形予測ユニットモードとを有する。
【0012】
いくつかの実施例において、複数のモードはさらに、動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する動きベクトル差付きマージモードを有する。
【0013】
いくつかの実施例において、複数のモードはさらに、フレーム内予測値とフレーム間予測値を組み合わせることで、現在ブロックの最終予測値を生成するイントラ用の多仮説予測モードを有する。
【0014】
いくつかの実施例において、第1シンタックス要素は、複数のモードのそれぞれを表す異なるビンのうちの1つに設定される。
複数のモードは、複数のモードのうちの各モードの使用頻度の降順に基づき配列され、通常マージモード、動きベクトル差付きマージモード、サブブロックマージ予測モード、イントラ用の多仮説予測モード、三角形予測ユニットモードとして配列される。
【0015】
いくつかの実施例において、第1シンタックス要素は、複数のモードのうちの各モードを表す異なるビンのうちの1つに設定され、複数のモードは、複数のモードのうちの各モードの使用頻度の降順に基づき配列される。
【0016】
いくつかの実施例において、現在ブロックが含まれるピクチャにおける複数のモードのうちの使用頻度が最も高いモードは降順の1番目に配置され、使用頻度が最も高いモードはビンのうちの最も少ないバイナリビットを有するビンで示される。
【0017】
いくつかの実施例において、使用頻度が最も高いモードは通常マージモードであり、通常マージモードは、動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する。
【0018】
いくつかの実施例において、該処理回路はさらに、符号化されたビデオビットストリームから、第1シンタックス要素の後で提供される第2シンタックス要素を取得するように配置され、第2シンタックス要素の第2値はインデックスを示し、該インデックスは動き情報候補リストから動き情報候補を選択するためのものである。第1シンタックス要素の第1値が示す複数のモードのサブセットが、選択された動き情報候補に基づき、現在ブロック全体の動き情報を導出するモードに対応する場合、該処理回路はさらに、第2シンタックス要素の第2値が示すインデックスが動きベクトル差付きマージモードの動き情報候補の最大の数より小さいと、符号化されたビデオビットストリームから第3シンタックス要素を取得するように配置される。いくつかの実施例において、第3シンタックス要素の第3値は、(i)通常マージモードに基づき現在ブロックの予測値を生成するか、それとも(ii)動きベクトル差付きマージモードに基づき、現在ブロックの予測値を生成するかを示し、通常マージモードは動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出し、動きベクトル差付きマージモードは動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する。
【0019】
いくつかの実施例において、処理回路はさらに、第3シンタックス要素の第3値が現在ブロックの予測値を生成するためのモードが動きベクトル差付きマージモードであることを示す場合、符号化されたビデオビットストリームから、第3シンタックス要素の後で提供される1つまたは複数の第4シンタックス要素を取得するように配置され、1つまたは複数の第4シンタックス要素は動きベクトル差情報を示す。
【0020】
いくつかの実施例において、第1シンタックス要素の第1値が、現在ブロックの予測値を生成するためのモードが、ブロックに基づくマージモードであるか、それともサブブロックに基づくマージモードであるかを示す。
【0021】
いくつかの実施例において、第1シンタックス要素の第1値が、現在ブロックの予測値を生成するためのモードがブロックに基づくマージモードであることを示す場合、複数のモードのサブセットは、動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する通常マージモード、及び、動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する動きベクトル差付きマージモードのうちの少なくとも1つを有する。
【0022】
いくつかの実施例において、第1シンタックス要素の第1値が、現在ブロックの予測値を生成するためのモードがサブブロックに基づくマージモードであることを示す場合、複数のモードのサブセットは、現在ブロックを複数の矩形サブブロックに分割するとともに、複数の矩形サブブロックのそれぞれの動き情報を導出するサブブロックマージ予測モード、現在ブロックを三角形サブパーティションに分割するとともに、三角形サブパーティションのそれぞれの動き情報を導出する三角形予測ユニットモード、及び、フレーム内予測値とフレーム間予測値を組み合わせることで、現在ブロックの最終予測値を生成するイントラ用の多仮説予測モードのうちの少なくとも1つを有する。
【0023】
いくつかの実施例において、処理回路はさらに、符号化されたビデオビットストリームから、第1シンタックス要素の後で提供される第2シンタックス要素を取得するように配置され、第2シンタックス要素の第2値はインデックスを示し、該インデックスは動き情報候補リストから動き情報候補を選択するためのものである。第1シンタックス要素の第1値が、現在ブロックの予測値を生成するためのモードがブロックに基づくマージモードであることを示す場合、第2シンタックス要素の第2値が示すインデックスが動きベクトル差付きマージモードの動き情報候補の最大の数より小さいと、符号化されたビデオビットストリームから第3シンタックス要素を取得し、第3シンタックス要素の第3値は、通常マージモードに基づくか、それとも動きベクトル差付きマージモードを利用して現在ブロックの予測値を生成するかということを示す。
【0024】
いくつかの実施例において、処理回路はさらに、第3シンタックス要素が、現在ブロックの予測値を生成するためのモードが動きベクトル差付きマージモードであることを示す場合、符号化されたビデオビットストリームから、第3シンタックス要素の後で提供される1つまたは複数の第4シンタックス要素を取得するように配置され、1つまたは複数の第4シンタックス要素は動きベクトル差情報を示す。
【0025】
いくつかの実施例において、処理回路はさらに、第1シンタックス要素の第1値が複数のモードのサブセットに少なくとも通常マージモードが含まれることを示す場合、符号化されたビデオビットストリームから、第1シンタックス要素の後で提供される他のシンタックス要素を取得するように配置され、他のシンタックス要素の値は、現在ブロックの予測値を生成するためのモードが通常マージモードであるかどうかを指示し、前記通常マージモードは動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する。
【0026】
本出願が開示した各態様はさらに、命令を記憶するための非一時的コンピュータ読み取り可能な媒体を提供し、命令はコンピュータにより実行されることで、ビデオ復号の場合、コンピュータに、前記ビデオ復号のためのいずれかの方法を実行させる。
【図面の簡単な説明】
【0027】
以下の詳しい説明及び図面に基づき、開示のテーマのさらなる特徴、性質、及び各種利点はより明らかになる。図面において、
【
図1】1つの例示における現在ブロック及びその周辺の空間マージ候補の模式図である。
【
図2】1つの実施例において、1つの通信システムの簡略化ブロック図の模式図である。
【
図3】他の実施例において、他の通信システムの簡略化ブロック図の模式図である。
【
図4】1つの実施例において、1つの復号器の簡略化ブロック図の模式図である。
【
図5】1つの実施例において、1つの符号器の簡略化ブロック図の模式図である。
【
図6】他の実施例において、他の符号器のブロック図を示す。
【
図7】他の実施例において、他の復号器のブロック図を示す。
【
図8】1つの実施例において、動きベクトル差が付けられたマージ(MMVD)モードで示される現在ブロック及び動きベクトルの模式図である。
【
図9A】1つの実施例において、サブブロックアフィンマージ予測モードを利用する現在ブロック、及び現在ブロックの空間隣接ブロックと時間隣接ブロックとの模式図である。
【
図9B】1つの実施例において、サブブロックに基づく代替時間動きベクトル予測(ATMVP)モードを利用する現在ピクチャにおける現在ブロック、及び参照ピクチャにおける参照ブロックの模式図である。
【
図10】1つの実施例において、イントラモードの多重仮説予測(MHIntra)を利用する、少なくとも現在ブロックのフレーム間予測値及びフレーム内予測値に基づき、再構築される現在ブロックの模式図である。
【
図11】1つの実施例において、三角形予測ユニットモードを利用して現在ブロックを分割する2つの例示の模式図である。
【
図12A】本出願の実施例の復号プロセスを概略説明するフローチャートを示す。
【
図12B】本出願の実施例の他の復号プロセスを概略説明するフローチャートを示す。
【
図13】本出願の実施例の符号化プロセスを概略説明するフローチャートを示す。
【
図14】本出願の実施例のコンピュータシステムの模式図である。
【発明を実施するための形態】
【0028】
図2は、本出願が開示する実施例に基づく通信システム(200)の簡略化ブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信できる複数の端末機器を含む。例えば、通信システム(200)はネットワーク(250)を介して互いに接続された第1端末機器(210)と第2端末機器(220)とを含む。
図2の実施例において、第1端末機器(210)と第2端末機器(220)は一方向のデータ伝送を実行する。例えば、第1端末機器(210)はビデオデータ(例えば、端末機器(210)によりキャプチャしたビデオピクチャストリーム)を符号化することで、ネットワーク(250)を介して他方の第2端末機器(220)に伝送される。符号化されたビデオデータは1つまたは複数の符号化されたビデオビットストリームという形式で伝送されてもよい。第2端末機器(220)はネットワーク(250)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号することで、ビデオデータを回復させ、回復されたビデオデータに基づき、ビデオピクチャを表示する。一方向のデータ伝送はメディアサービスアプリケーションなどにおいて、よく見られる。
【0029】
他の実施例において、通信システム(200)は符号化されたビデオデータの双方向伝送を実行するための第3端末機器(230)と第4端末機器(240)とを含み、前記双方向伝送は、例えばビデオ会議期間に発生する。双方向データ伝送について、第3端末機器(230)と第4端末機器(240)における各々端末機器は、ビデオデータ(例えば、端末機器によりキャプチャしたビデオピクチャストリーム)を符号化することで、ネットワーク(250)を介して第3端末機器(230)と第4端末機器(240)における他方の端末機器に伝送される。端末機器(230)と第4端末機器(240)における各々端末機器はさらに第3端末機器(230)と第4端末機器(240)のうちの他方の端末機器から伝送され、符号化されたビデオデータを受信し、前記符号化されたビデオデータを復号することで、ビデオデータを回復させ、回復されたビデオデータに基づき、アクセスし得る表示機器でビデオピクチャを表示できる。
【0030】
図2の例において、第1端末機器(210)、第2端末機器(220)、第3端末機器(230)及び第4端末機器(240)はサーバ、パーソナルコンピュータ及びスマートフォンであってもよいが、本出願が開示する原理はこれに限定されない。本出願が開示する実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/または専門ビデオ会議機器に適用される。ネットワーク(250)は第1端末機器(210)、第2端末機器(220)、第3端末機器(230)及び第4端末機器(240)の間で符号化されたビデオデータを伝送するための、例えば有線(接続)及び/または無線通信ネットワークが含まれる任意の数のネットワークを示す。通信ネットワーク(250)は回路交換及び/またはパケット交換チャンネルにおいてデータを交換できる。該ネットワークは電信ネットワーク、ローカルエリアネットワーク、広域エリアネットワーク及び/またはインターネットを含む。本出願の論述目的から見れば、以下で解釈しない限り、ネットワーク(250)のアーキテクチャ及びトポロジは、本出願が開示する動作に対して重要ではない。
【0031】
実施例として、
図3はビデオ符号器と復号器との、ストリーミング伝送環境における配置方式を示す。本出願が開示するテーマは等価的にビデオを支持するための、例えばビデオ会議、デジタルTV、及びCD、DVD、メモリースティックなどが含まれるデジタル媒体に圧縮ビデオなどを記憶する他のアプリケーションに適用される。
【0032】
ストリーミング伝送システムは、キャプチャサブシステム(313)を有し、前記キャプチャサブシステムは、未圧縮のビデオピクチャストリーム(302)を構築するための、デジタルカメラなどのようなビデオソース(301)を含む。実施例において、ビデオピクチャストリーム(302)はデジタルカメラが撮影したサンプルを含む。符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム)に対して、ビデオピクチャストリーム(302)はデータ量が多いビデオピクチャストリームを強調するように太線として描画され、ピクチャストリーム(302)はビデオソース(301)に連結されるビデオ符号器(303)を含む電子機器(320)によって処理される。ビデオ符号器(303)は、ハードウェア、ソフトウェア、またはその組み合わせを含むことで、以下により詳しく説明する開示のテーマの各態様を実現または実施する。ビデオピクチャストリーム(302)に対して、符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム(304))はデータ量が少ない符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム(304))を強調するように細線として描画され、ストリーミング伝送サーバ(305)に記憶されることで、将来に用いられる。
図3におけるクライアントサブシステム(306)とクライアントサブシステム(308)のような1つまたは複数のストリーミング伝送クライアントサブシステムは、ストリーミング伝送サーバ(305)にアクセスすることで、符号化されたビデオデータ(304)のコピー(307)とコピー(309)を検索できる。クライアントサブシステム(306)は、例えば電子機器(330)におけるビデオ復号器(310)を含む。ビデオ復号器(310)は符号化されたビデオデータの導入コピー(307)を復号し、ディスプレイ(312)(例えば、スクリーン)または他の表示機器(図示せず)に表示される出力ビデオピクチャストリーム(311)を発生させる。いくつかのストリーミング伝送システムにおいて、あるビデオ符号化/圧縮基準に基づき、符号化されたビデオデータ(304)、ビデオデータ(307)及びビデオデータ(309)(例えば、ビデオビットストリーム)を符号化する。これらの基準の実施例はITU-T
H.265を含む。実施例において、開発中のビデオ符号化基準は非公式的にVVC(Versatile
Video Coding)と呼ばれる。本出願はVVCのコンテキストに適用される。
【0033】
なお、電子機器(320)と電子機器(330)は他の部材(図示せず)を含んでもよい。例えば、電子機器(320)はビデオ復号器(図示せず)を含んでもよく、電子機器(330)はビデオ符号器(図示せず)を含み得る。
【0034】
図4は、本出願が開示する実施例に基づくビデオ復号器(410)のブロック図である。ビデオ復号器(410)は電子機器(430)に配置される。電子機器(430)は受信機(431)(例えば、受信回路)を含み得る。ビデオ復号器(410)は、
図3の実施例におけるビデオ復号器(310)の代わりとしてもよい。
【0035】
受信機(431)は、ビデオ復号器(410)によって復号される1つ又は複数の符号化されたビデオシーケンスを受信してもよく、同一又は別の実施例では、一回に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号は他の符号化されたビデオシーケンスと独立している。チャンネル(401)から符号化されたビデオシーケンスを受信してもよく、チャンネル(401)は、符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。受信機(431)は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ(図示せず)に転送され得る符号化されたオーディオデータ及び/又は補助データストリームを受信してもよい。受信機(431)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以降、「パーサ(420)」と呼ばれる)との間に接続され得る。幾つかのアプリケーションでは、バッファメモリ(415)はビデオ復号器(410)の一部である。他のアプリケーションでは、バッファメモリ(415)はビデオ復号器(410)(図示せず)の外部にあってもよい。更なるアプリケーションでは、ビデオ復号器(410)の外部には、ネットワークジッタを防止するために、バッファメモリ(描画せず)があってもよく、さらに例えばビデオ復号器(410)内に、再生タイミングを処理するために、別のバッファメモリ(415)があってもよい。受信機(431)が十分な帯域幅と制御可能性を有する記憶/転送デバイスから、又は等時性ネットワークからデータを受信する場合に、バッファメモリ(415)は必要としないか、又はバッファメモリ(415)は小さくなり得る。例えばインターネットのベストパケットネットワークで使用するために、バッファメモリ(415)が必要となる場合があり、バッファメモリ(415)は、比較的大きく、自己適応サイズを有することができ、そして、少なくとも一部はオペレーティングシステム又はビデオ復号器(410)の外側の類似の構成要素(図示せず)で実現されてもよい。
【0036】
ビデオ復号器(410)は、符号化されたビデオシーケンスからシンボル(421)を再構築するために、パーサ(420)を含み得る。これらのシンボルのカテゴリには、ビデオ復号器(410)の動作を管理するための情報と、電子機器(430)の一体部分ではなく電子機器(430)に接続される表示機器(412)(例えばスクリーン)を制御するための潜在情報とを含んでもよく、
図4に示すようである。表示機器に用いられる制御情報は、補足エンハンスメント情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形であってよい。パーサ(420)は、受信された符号化されたビデオシーケンスに対して解析/エントロピー復号を行うことができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は基準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度を有する又は有しない算術符号化などを含む様々な原理に従うことができる。パーサ(420)は、グループに対応する少なくとも一つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、グループオブピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含み得る。パーサ(420)は、また、符号化されたビデオシーケンス情報から、例えば、変換係数、量子化器パラメータ値、動きベクトルなどを抽出してもよい。
【0037】
パーサ(420)は、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピー復号/解析動作を実行することで、シンボル(421)を構築する。
【0038】
符号化されたビデオピクチャ又は一部の符号化されたビデオピクチャ(例えば、フレーム間ピクチャとフレーム内ピクチャ、フレーム間ブロックとフレーム内ブロック)のタイプ及び他の要因に依存し、シンボル(421)の再構築は複数の異なるユニットに係る。どのユニットに係るか、及び係る形態は、パーサ(420)が符号化されたビデオシーケンスから解析したサブグループ制御情報により制御されてもよい。簡略化のために、パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れについて説明しない。
【0039】
既に言及された機能ブロックに加えて、ビデオ復号器(410)は概念的には、以下に説明する複数の機能ユニットに細分することができる。商業的な制約の下で運行する実際の実現形態では、これらのユニットの多くは互いに密接にインタラクトし、少なくとも部分的に互いに統合することができる。但し、開示のテーマを説明する目的で、概念的に、以下の機能ユニットへの細分は適切である。。
【0040】
第1ユニットはスケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)はパーサ(420)からシンボル(421)としての量子化変換係数及び制御情報を受信し、どんな変換方式を利用するかということ、ブロックのサイズ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(451)はサンプル値が含まれるブロックを出力でき、前記サンプル値はアグリゲーター(455)に入力できる。
【0041】
ある状況で、スケーラ/逆変換ユニット(451)の出力サンプルはフレーム内符号化ブロックに属してもよく、即ち、前に再構築されたピクチャからの予測情報を利用しないが、現在ピクチャの前に再構築された部分からの予測情報を利用できるブロックである。このような予測情報はフレーム内ピクチャ予測ユニット(452)から提供される。ある状況で、フレームピクチャ内予測ユニット(452)は現在ピクチャバッファ(458)から抽出された再構築された情報を利用して、サイズ及び形状が、再構築中のブロックと同じである周辺ブロックを生成する。例えば、現在ピクチャバッファ(458)は部分的に再構築された現在ピクチャ及び/または完全に再構築された現在ピクチャをバッファリングする。ある状況で、アグリゲーター(455)は各サンプルに基づき、フレーム内予測ユニット(452)が生成した予測情報をスケーラ/逆変換ユニット(451)が提供した出力サンプル情報に追加する。
【0042】
他の状況で、スケーラ/逆変換ユニット(451)の出力サンプルはフレーム間符号化ブロックと潜在的に動き補償ブロックに属し得る。このような状況で、動き補償予測ユニット(453)は参照ピクチャメモリ(457)にアクセスすることで、予測のためのサンプルを抽出できる。シンボル(421)に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルはアグリゲーター(455)からスケーラ/逆変換ユニット(451)の出力に追加され(この場合、残差サンプルまたは残差信号と呼ばれる)、出力サンプル情報を生成する。動き補償予測ユニット(453)が参照ピクチャメモリ(457)内のアドレスから予測サンプルを取得することは、動きベクトルによって制御され、前記動きベクトルは前記シンボル(421)の形式で、動き補償予測ユニット(453)に用いられ、前記シンボル(421)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルによって動きベクトルを正確にする際、参照ピクチャメモリ(457)から抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含み得る。
【0043】
アグリゲーター(455)の出力サンプルは、ループフィルタユニット(456)において、各種のループフィルタリング技術に利用される。ビデオ圧縮技術はループ内フィルタ技術を含み、前記ループ内フィルタ技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、前記パラメータはパーサ(420)からのシンボル(421)として、ループフィルタユニット(456)に利用される。他の実施例において、ビデオ圧縮技術はさらに、符号化されたピクチャまたは符号化されたビデオシーケンスの前(復号順序に従う)の部分を復号する期間で取得されたメタ情報、及び前に構築されてループフィルタリングを経たサンプル値に応答できる。
【0044】
ループフィルタユニット(456)の出力は、サンプルストリームであってもよく、前記サンプルストリームは表示機器(412)に出力され、及び参照ピクチャメモリ(457)に記憶されることで、後続のフレーム間ピクチャ予測に適用される。
【0045】
ある符号化されたピクチャは完全に再構築されると、参照ピクチャとして、将来予測に用いられる。例えば、現在ピクチャに対応する符号化されたピクチャは完全に再構築され、符号化されたピクチャ(例えばパーサ(420)を介して)が参照ピクチャとして特定されると、現在ピクチャバッファ(458)は参照ピクチャメモリ(457)の一部になり、後続の符号化されたピクチャを再構築する前に、改めて新たな現在ピクチャバッファを割り当てる。
【0046】
ビデオ復号器(410)は、例えばITU-T
H.265の基準における所定のビデオ圧縮技術に基づき、復号動作を実行する。符号化されたビデオシーケンスは、ビデオ圧縮技術または基準のシンタックス、及びビデオ圧縮技術または基準に記録されたコンフィグファイルに従うという意味で、符号化されたビデオシーケンスは使用されるビデオ圧縮技術または基準が指定するシンタックスに合う。具体的に、コンフィグファイルはビデオ圧縮技術または基準における利用可能な全てのツールから、前記コンフィグファイルで利用可能な唯一のツールとして、いくつかのツールを選択できる。準拠性に対して、符号化されたビデオシーケンスの複雑度が、ビデオ圧縮技術または基準のレベルによって限定される範囲内にあるように要求する。ある状況で、レベルは最大ピクチャのサイズ、最大フレームレート、最大再構築サンプリングレート(例えば、メガ(mega)サンプル/秒に測定する)、最大参照ピクチャサイズなどを制限する。ある状況で、レベルにより配置される制限は、仮想参照復号器(Hypothetical
Reference Decoder、HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされ、HRDバッファが管理するメタデータによってさらに限定される。
【0047】
実施例において、受信機(431)は、符号化されたビデオとともに追加(冗長)データを受信できる。前記追加データは符号化されたビデオシーケンスの一部としてもよい。前記追加データはビデオ復号器(410)によって利用されることで、データを適切に復号する及び/または元のビデオデータをより正確に再構築する。追加データは、例えば時間、空間または信号対雑音比(signal
noise ratio、SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
【0048】
図5は、本出願が開示する実施例に基づくビデオ符号器(503)のブロック図である。ビデオ符号器(503)は電子機器(520)に設けられる。電子機器(520)は送信機(540)(例えば、送信回路)を含む。ビデオ符号器(503)は
図3の実施例におけるビデオ符号器(303)の代わりとしてもよい。
【0049】
ビデオ符号器(503)は、ビデオソース(501)から(
図5の例示における電子機器(520)の一部ではなく)からビデオサンプルを受信でき、前記ビデオソースはビデオ符号器(503)によって符号化されるビデオ画像をキャプチャする。他の例示において、ビデオソース(501)は電子機器(520)の一部である。
【0050】
ビデオソース(501)は、ビデオ符号器(503)によって符号化され、デジタルビデオサンプルストリーム形式であるソースビデオシーケンスを提供し、前記デジタルビデオサンプルストリームは任意の適切なビット深度(例えば、8ビット、10ビット、12ビットなど)、任意の色空間(例えば、BT.601 Y CrCB、RGBなど)、及び任意の適切なサンプリング構成(例えば、Y
CrCb 4:2:0、Y CrCb 4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(501)は前に準備されたビデオを記憶するための記憶装置であってもよい。ビデオ会議システムにおいて、ビデオソース(501)はビデオシーケンスとして、ローカル画像情報をキャプチャするためのカメラであってもよい。ビデオデータを複数の単独のピクチャとして提供し、順序に従って見ると、これらのピクチャには動きが付与される。ピクチャそのものは、空間画素アレイとして構築され、使用のサンプリング構成、色空間などに依存し、各々画素には1つまたは複数のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の説明はサンプルに着目する。
【0051】
実施例に基づき、ビデオ符号器(503)はリアルタイムまたはアプリケーションに必要な任意の他の時間の制約で、ソースビデオシーケンスのピクチャを符号化するとともに、符号化されたビデオシーケンス(543)として圧縮する。適切な符号化速度で実行することは、コントローラ(550)の機能の1つである。いくつかの実施例において、コントローラ(550)は以下に説明の他の機能ユニットを制御するとともに、機能的にこれらのユニットに連結される。簡潔のために、連結を図示していない。コントローラ(550)により配置されるパラメータは、レート制御に関するパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値など)、ピクチャのサイズ、グループオブピクチャ(group
of pictures、GOP)の配置、最大動きベクトルの検索範囲などを含み得る。コントローラ(550)は他の適切な機能を有してもよく、これらの機能はあるシステム設計に対して最適化されたビデオ符号器(503)に関わる。
【0052】
いくつかの実施形態において、ビデオ符号器(503)は符号化ループにおいて動作する。簡単な説明として、実施例において、符号化ループはソース符号器(530)(例えば、符号化対象となる入力ピクチャと参照ピクチャに基づき、シンボルストリームのようなシンボルを構築する)、及びビデオ符号器(503)に埋め込まれる(ローカル)復号器(533)を含む。復号器(533)は、(リモート)復号器がサンプルデータを構築することに類似するように、シンボルを再構築し、サンプルデータを構築する(なぜならば、本出願で考慮するビデオ圧縮技術において、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は可逆であるからである)。再構築されたサンプルストリーム(サンプルデータ)を参照ピクチャメモリ(534)に入力する。シンボルストリームの復号は、復号器位置(ローカルまたはリモート)と関係がないビット正確結果を発生させるから、参照ピクチャメモリ(534)におけるコンテンツはローカル符号器とリモート符号器との間でもビット正確になる。言い換えれば、符号器の予測部分から「見られる」参照ピクチャサンプルは、復号器が復号期間で予測を利用しようとする際に「見られる」サンプル値と完全に同じである。このような参照ピクチャの同期性の基本原理は(及び、例えばチャンネル誤差により、同期性を維持できない場合に発生するドリフト)関連技術にも適用される。
【0053】
「ローカル」復号器(533)の動作は、以上
図4に関して詳しく説明したビデオ復号器(410)の「リモート」復号器と同じであってもよい。ただし、
図4を簡単に参照し、シンボルは利用可能で、エントロピー符号器(545)とパーサ(420)とはロスレスにシンボルを符号化されたビデオシーケンスに符号化/復号することができる場合、バッファメモリ(415)とパーサ(420)とが含まれるビデオ復号器(410)のエントロピー復号部分は、ローカル復号器(533)において完全に実施することができないおそれがある。
【0054】
この場合、復号器に存在する解析/エントロピー復号以外の任意の復号器技術も、必然として、基本的に同じ機能形式で、対応する符号器に存在することが分かる。そのため、本出願は復号器の動作に着目する。符号器技術は包括的に記載した復号器技術と逆であるから、符号器技術に対する説明を簡略化し得る。特定の領域でのみより詳しい説明を必要とし、以下で提供される。
【0055】
動作期間において、いくつかの実施例において、ソース符号器(530)は動き補償予測符号化を実行できる。前記動き補償予測符号化は、ビデオシーケンスからの「参照ピクチャ」として指定された1つまたは複数の符号化されたピクチャを参照し、入力ピクチャに対して予測符号化を行う。該方式で、符号化エンジン(532)は入力ピクチャの画素ブロックと、参照ピクチャの画素ブロックとの間の差に対して符号化を行って、前記参照ピクチャは前記入力ピクチャの予測参照として選択される。
【0056】
ビデオ復号器(533)は、ソース符号器(530)が構築したシンボルに基づき、参照ピクチャとして指定されるピクチャの符号化されたビデオデータを復号する。符号化エンジン(532)の動作は非可逆プロセスであってもよい。符号化されたビデオデータはビデオ復号器(
図5において図示せず)で復号される場合、再構築されたビデオシーケンスは、一般的に一定の誤差を有するソースビデオシーケンスのコピーであってもよい。復号器(533)は、ビデオ復号器が参照ピクチャに対して実行する復号プロセスをコピーするとともに、再構築された参照ピクチャを参照ピクチャメモリ(534)に記憶させる。該方式で、ビデオ符号器(503)は、再構築された参照ピクチャのコピーをローカルに記憶し、前記コピーは、リモートビデオ復号器によって取得される再構築された参照ピクチャと、共通のコンテンツを有する(伝送誤差が存在していない)。
【0057】
予測器(535)は、符号化エンジン(532)に対して予測検索を実行する。つまり、符号化対象となる新たなピクチャに対して、予測器(535)は参照ピクチャメモリ(534)において前記新たなピクチャとしての適切な予測参照のサンプルデータ(候補参照画素ブロックとして)、またはいくつかのメタデータを検索し、例えば参照ピクチャ動きベクトル、ブロック形状などがある。予測器(535)はサンプルブロックに基づき画素ブロックごとに動作することで、適切な予測参照を見つける。ある状況で、予測器(535)が取得した検索結果に基づき、入力ピクチャが参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから取得される予測参照を有すると決定されることができる。
【0058】
コントローラ(550)は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータを配置することを含むソース符号器(530)の符号化動作を管理できる。
【0059】
エントロピー符号器(545)において、前記全ての機能ユニットの出力に対して、エントロピー符号化を行う。エントロピー符号器(545)は、ハフマン符号、可変長符号、算術符号などの技術に基づき、各種機能ユニットから生成されたシンボルに対して可逆圧縮を行って、前記シンボルを符号化されたビデオシーケンスに変換する。
【0060】
送信機(540)はエントロピー符号器(545)によって構築され、符号化されたビデオシーケンスをバッファリングすることで、通信チャンネル(560)を介して伝送するように準備し、前記通信チャンネルは符号化されたビデオデータを記憶するための記憶装置に達するハードウェア/ソフトウェアリンクであってもよい。送信機(540)はビデオ符号器(503)からの符号化されたビデオデータと、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/または補助データストリーム(ソースを図示せず)とをマージする。
【0061】
コントローラ(550)は、ビデオ符号器(503)の動作を管理できる。符号化の期間に、コントローラ(550)は各符号化されたピクチャに、ある符号化されたピクチャタイプを割り当てもよいが、相応的なピクチャに適用される符号化技術に影響する可能性もある。例えば、一般的に、ピクチャは以下のいずれかのピクチャタイプとして割り当てられる。
【0062】
フレーム内ピクチャ(Iピクチャ)は、シーケンスにおけるいずれの他のピクチャも予測のソースとして利用せずに、符号化及び復号されるピクチャであってもよい。例えば独立復号器リフレッシュピクチャが含まれる異なるタイプのフレーム内ピクチャを許容するビデオコーデックもある。当業者は、Iピクチャの変形及びその相応的な適用、特徴を理解できる。
【0063】
予測性ピクチャ(Pピクチャ)は、多くても1つの動きベクトル及び参照インデックスによって各ブロックのサンプル値を予測する場合、フレーム内予測またはフレーム間予測を利用して符号化及び復号を行うピクチャであってもよい。
【0064】
双方向予測性ピクチャ(Bピクチャ)は、多くても2つの動きベクトル及び参照インデックスによって、各ブロックのサンプル値を予測する場合、フレーム内予測またはフレーム間予測を利用して符号化及び復号を行うピクチャであってもよい。同様に、複数の予測性ピクチャは、2つより多い参照ピクチャと関するメタデータを、単一のブロックの再構築に使用できる。
【0065】
ソースピクチャは一般的に、空間的で複数のサンプルブロック(例えば、4×4、8×8、4×8または16×16個のサンプルのブロック)に細分できるとともに、ブロックごとに符号化を行う。これらのブロックは、他の(符号化された)ブロックを参照し、予測的に符号化を行って、他のブロックはブロックの相応的なピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックに対して非予測符号化を行うか、またはIピクチャのブロックは、同一のピクチャの符号化されたブロックを参照して、予測性符号化(空間予測またはフレーム内予測)を行う。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化を行ってもよい。Bピクチャのブロックは、前に符号化された1つまたは2つの参照ピクチャを参照し、空間予測または時間予測を介して予測的に符号化を行ってもよい。
【0066】
ビデオ符号器(503)は例えばITU-T
H.265提案書の所定のビデオ符号化技術または基準に基づき符号化動作を実行することができる。その動作において、ビデオ符号器(503)は、入力ビデオシーケンスにおける時間と空間冗長を利用した予測性符号化操作を含む各種の圧縮操作を実行できる。従って、符号化されたビデオデータは、使用のビデオ符号化技術または基準が指定する文法に合う。
【0067】
実施形態において、送信機(540)は追加データ及び符号化されたビデオを伝送することができる。ソース符号器(530)は符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補足エンハンスメント情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
【0068】
キャプチャされたビデオは時間シーケンスを呈する複数のソースピクチャ(ビデオピクチャ)としてもよい。フレーム内ピクチャ予測(一般的にフレーム内予測に簡略化される)は特定のピクチャにおける空間の関連性を利用するが、フレーム間ピクチャ予測はピクチャの間の(時間または他の)関連性を利用する。実施例において、符号化/復号している特定のピクチャは、ブロックに分割されるとともに、現在ピクチャと呼ばれる。現在ピクチャにおけるブロックは、ビデオにおける符号化され、且つバッファリングされている参照ピクチャにおける参照ブロックに類似する場合、動きベクトルと呼ばれるベクトルによって、現在ピクチャにおけるブロックを符号化する。前記動きベクトルは参照ピクチャにおける参照ブロックを指し、複数の参照ピクチャを利用する場合、前記動きベクトルは参照ピクチャを特定するための第3次元を有してもよい。
【0069】
いくつかの実施例において、双方向予測技術はフレーム間ピクチャ予測に適用される。双方向予測技術に基づき、復号順序がいずれもビデオにおける現在ピクチャの前にある(表示順序に従うと、それぞれ過去と将来である可能性もある)第1参照ピクチャと第2参照ピクチャのような2つの参照ピクチャを利用する。第1参照ピクチャにおける第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャにおける第2参照ブロックを指す第2動きベクトルによって、現在ピクチャにおけるブロックを符号化する。具体的に、第1参照ブロックと第2参照ブロックとの組み合わせで前記ブロックを予測できる。
【0070】
また、マージモード技術はフレーム間ピクチャ予測に適用されることで、符号化効率を改善できる。
【0071】
本出願が開示するいくつかの実施例に基づき、ブロックごとに、フレーム間ピクチャ予測及びフレーム内ピクチャ予測などの予測を実行する。例えば、HEVC基準に基づき、ビデオピクチャシーケンスにおけるピクチャを符号化ツリーユニット(coding
tree unit、CTU)に分割することで、圧縮に用い、ピクチャにおけるCTUは、例えば、64×64画素、32×32画素または16×16画素のような同じサイズを有する。一般的に、CTUは1つの輝度CTBと2つの彩度CTBとが含まれる3つの符号化ツリーブロック(coding
tree block、CTB)を有する。さらに、各CTUはクワッドツリーで1つまたは複数の符号化ユニット(coding unit、CU)に分割できる。例えば、64×64画素であるCTUは、64×64画素である1つのCU、または32×32画素である4つのCU、或いは16×16画素である16個のCUに分割されてもよい。実施例において、各CUを分析することで、フレーム間予測タイプまたはフレーム内予測タイプのような、CU用の予測タイプを決定する。また、時間及び/または空間の予測可能性に依存し、CUを1つまたは複数の予測ユニット(prediction
unit、PU)に分割する。一般的に、各PUは輝度予測ブロック(PB)と2つの彩度PBとを有する。実施例において、予測ブロックごとに符号化(符号化/復号)における予測動作を実行する。予測ブロックの例示として、輝度予測ブロックを利用し、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などのような画素値(例えば、輝度値)の行列を含む。
【0072】
図6は、本出願が開示する他の実施例に基づくビデオ符号器(603)の図面を示す。ビデオ符号器(603)はビデオピクチャシーケンスにおける現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信するとともに、前記処理ブロックを符号化されたビデオシーケンスの一部としての符号化されたピクチャに符号化する。実施例において、ビデオ符号器(603)は
図3の実施例におけるビデオ符号器(303)の代わりとして用いられる。
【0073】
HEVC実施例において、ビデオ符号器(603)は、処理ブロック、例えば8×8サンプルの予測ブロックなどのためのサンプル値の行列を受信する。ビデオ符号器(603)は、例えばレート歪み(rate-distortion、RD)最適化によって、フレーム内モード、フレーム間モードまたは双方向予測モードを利用して、前記処理ブロックに対して符号化を行うかどうかとを決定する。フレーム内モードで、処理ブロックを符号化する場合、ビデオ符号器(603)はフレーム内予測技術によって、処理ブロックを符号化されたピクチャに符号化し、フレーム間モードまたは双方向予測モードで処理ブロックを符号化する場合、ビデオ符号器(603)はそれぞれフレーム間予測または双方向予測技術によって、処理ブロックを符号化されたピクチャに符号化する。いくつかのビデオ符号化技術において、マージモードはフレーム間ピクチャ予測サブモードであってもよく、予測値の外部にある符号化された動きベクトル成分を借りない場合、1つまたは複数の動きベクトル予測値から動きベクトルを導出する。いくつかの他のビデオ符号化技術において、テーマブロックに適用される動きベクトル成分が存在し得る。例示において、ビデオ符号器(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような他のモジュールを含む。
【0074】
図6の実施例において、ビデオ符号器(603)は
図6に示すように連結されたフレーム間符号器(630)、フレーム内符号器(622)、残差計算器(623)、スイッチ(626)、残差符号器(624)、汎用コントローラ(621)及びエントロピー符号器(625)を含む。
【0075】
フレーム間符号器(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、前記ブロックと参照ピクチャにおける1つまたは複数の参照ブロック(例えば、前のピクチャと後のピクチャにおけるブロック)とを比較し、フレーム間予測情報(例えば、フレーム間符号化技術に基づく冗長情報に対する記載、動きベクトル、マージモード情報)を生成し、フレーム間予測情報に基づき、任意の適切な技術を利用してフレーム間予測結果(例えば、予測されたブロック)を計算する。いくつかの実施例において、参照ピクチャは符号化されたビデオ情報に基づき復号された復号参照ピクチャである。
【0076】
フレーム内符号器(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ある状況で、前記ブロックと同一のピクチャにおける符号化されたブロックとを比較し、変換後、量子化係数を生成し、ある状況で、さらに(例えば、1つまたは複数のフレーム内符号化技術に基づくフレーム内予測方向情報)フレーム内予測情報を生成する。実施例において、フレーム内符号器(622)はさらにフレーム内予測情報と同一のピクチャにおける参照ブロックに基づきフレーム内予測結果(例えば、予測されたブロック)を計算する。
【0077】
汎用コントローラ(621)は、汎用制御データを決定し、前記汎用制御データに基づき、ビデオ符号器(603)の他のモジュールを制御する。実施例において、汎用コントローラ(621)はブロックのモードを決定し、前記モードに基づき、制御信号をスイッチ(626)に提供する。例えば、前記モードがフレーム内モードである場合、汎用コントローラ(621)は残差計算器(623)用のフレーム内モード結果を選択するように、スイッチ(626)を制御し、そして、フレーム内予測情報を選択するとともに前記フレーム内予測情報をビットストリームに追加するように、エントロピー符号器(625)を制御し、前記モードがフレーム間モードである場合、汎用コントローラ(621)は、残差計算器(623)用のフレーム間予測結果を選択するように、スイッチ(626)を制御し、そして、フレーム間予測情報を選択するとともに前記フレーム間予測情報をビットストリームに追加するように、エントロピー符号器(625)を制御する。
【0078】
残差計算器(623)は、受信されたブロックと、フレーム内符号器(622)またはフレーム間符号器(630)から選択された予測結果との間の差(残差データ)を計算する。残差符号器(624)は、残差データに基づき動作することで、残差データを符号化し、変換係数を生成する。実施例において、残差符号器(624)は、残差データを空間領域から周波数領域に変換するとともに、変換係数を生成する。そして、変換係数は量子化処理され、量子化された変換係数を取得する。各実施例において、ビデオ符号器(603)はさらに残差復号器(628)を含む。残差復号器(628)は逆変換を実行し、復号された残差データを生成する。復号された残差データは、適切にフレーム内符号器(622)とフレーム間符号器(630)によって使用できる。例えば、フレーム間符号器(630)は復号された残差データとフレーム間予測情報に基づき、復号されたブロックを生成し、フレーム内符号器(622)は復号された残差データとフレーム内予測情報に基づき復号されたブロックを生成する。復号されたブロックを適切に処理することで、復号されたピクチャを生成し、いくつかの実施例において、前記復号されたピクチャはメモリ回路(図示せず)においてバッファリングされるとともに、参照ピクチャとして用いられる。
【0079】
エントロピー符号器(625)は、ビットストリームをフォーマットすることで、符号化されたブロックを生成する。エントロピー符号器(625)は、HEVC基準のような適切な基準に基づき各種情報を生成する。実施例において、エントロピー符号器(625)は、汎用制御データ、選択された予測情報(例えばフレーム内予測情報またはフレーム間予測情報)、残差情報及びビットストリームのうちの他の適切な情報を取得する。なお、開示されたテーマに基づき、フレーム間モードまたは双方向予測モードのマージサブモードで、ブロックを符号化する場合、残差情報が存在しない。
【0080】
図7は、本出願が開示する他の実施例に基づくビデオ復号器(710)の図面である。ビデオ復号器(710)は符号化されたビデオシーケンスの一部としての符号化されたピクチャを受信するとともに、前記符号化されたピクチャを復号することで、再構築されたピクチャを生成する。実施例において、ビデオ復号器(710)は
図3の実施例におけるビデオ復号器(310)の代わりとして用いられる。
【0081】
図7の例示において、ビデオ復号器(710)は
図7に示すように連結されたエントロピー復号器(771)、フレーム間復号器(780)、残差復号器(773)、再構築モジュール(774)及びフレーム内復号器(772)を含む。
【0082】
エントロピー復号器(771)は、符号化されたピクチャに基づき、前記符号化されたピクチャを構成するシンタックス要素を示すためのいくつかのシンボルを再構築する。このようなシンボルは、例えば、前記ブロックを符号化するためのモード(例えば、フレーム内モード、フレーム間モード、双方向予測モード、フレーム間モードと双方向予測モードとのマージサブモード、または別のサブモード)、それぞれフレーム内復号器(772)またはフレーム間復号器(780)に用いられることで予測を行ういくつかのサンプルまたはメタデータを特定できる予測情報(例えば、フレーム内予測情報またはフレーム間予測情報)、例えば量子化の変換係数という形式の残差情報などを含む。実施例において、予測モードがフレーム間または双方向予測モードである場合、フレーム間予測情報をフレーム間復号器(780)に提供し、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報をフレーム内復号器(772)に提供する。残差情報は逆量子化を介して、残差復号器(773)に提供される。
【0083】
フレーム間復号器(780)は、フレーム間予測情報を受信し、前記フレーム間予測情報に基づき、フレーム間予測結果を生成する。
【0084】
フレーム内復号器(772)は、フレーム内予測情報を受信し、前記フレーム内予測情報に基づき、予測結果を生成する。
【0085】
残差復号器(773)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、前記逆量子化された変換係数を処理することで、残差を周波数領域から空間領域に変換する。残差復号器(773)はさらにいくつかの制御情報を必要とし(量子化器パラメータ(QP)を取得するために)、前記情報はエントロピー復号器(771)から提供されてもよい(これは少量の制御情報であるから、データ経路を図示せず)。
【0086】
再構築モジュール(774)は、空間領域において、残差復号器(773)から出力された残差と予測結果(フレーム間予測モジュールまたはフレーム内予測モジュールから出力されてもよい)とを組み合わせることで、再構築されるブロックを形成し、前記再構築されるブロックは、再構築されるピクチャの一部であり、前記再構築されるピクチャはさらに再構築されるビデオの一部であってもよい。なお、デブロッキング動作のような、他の適切な動作を実行することで、視覚品質を向上させてもよい。
【0087】
なお、任意の適切な技術でビデオ符号器(303)、ビデオ符号器(503)、ビデオ符号器(603)、及びビデオ復号器(310)、ビデオ復号器(410)、ビデオ復号器(710)を実施できる。実施例において、1つまたは複数の集積回路によってビデオ符号器(303)、ビデオ符号器(503)、ビデオ符号器(603)及びビデオ復号器(310)、ビデオ復号器(410)、ビデオ復号器(710)を実施できる。他の実施例において、ソフトウェア命令を実行するための1つまたは複数のプロセッサによって、ビデオ符号器(303)、ビデオ符号器(503)、ビデオ符号器(603)及びビデオ復号器(310)、ビデオ復号器(410)、ビデオ復号器(710)を実施できる。
【0088】
図8は、1つの実施例において、動きベクトル差付きマージ(merge with motion vector difference、MMVD)モードで示される現在ブロック(801)と動きベクトル(810)との模式図である。現在ブロック(801)の予測値は動きベクトル(810)に基づくフレーム間予測により生成される。
【0089】
ブロックの動きベクトルは、簡略化シグナリングを有するMMVDモード(または最終動きベクトル表現(ultimate motion vector expression、UMVE)と呼ばれる)で表現される。例えば、現在ブロック(801)の動きベクトル(810)は基本動きベクトル(822)、調整距離(824)及び調整方向(826)で表現される。調整距離(824)と調整方向(826)とは現在ブロックの動きベクトル差情報と呼ばれて、共同で差ベクトル(828)を定義する。動きベクトル(810)は、基本動きベクトル(822)と差ベクトル(828)との組み合わせとして導出される。
【0090】
基本動きベクトル(822)は、マージ候補リストから選択され、シンタックス要素(例えば、VVCにおける「base_mv_idx」)により選択情報を指示し、前記シンタックス要素は基本候補インデックスに対応し、前記基本候補インデックスは、該マージ候補リストから選択され、基本動きベクトルを導出するための候補を指示する。いくつかの例示において、マージ候補リストの一部のみがMMVDに基づき基本動きベクトルの選択に対する決定に用いられる。少なくとも1つ実施例において、基本候補インデックスの範囲は、0~最大値であり、前記最大値は最大MMVDインデックスにより限定される(例えば、VVCにおいて、「max_mmvd_base_idx-1」に限定される)。最大MMVDインデックスは、利用可能なビデオ符号化基準から提供された値、または、符号化されたビデオビットストリームにおいてシグナリングされる値であってもよい。
【0091】
調整距離(824)は、シンタックス要素(例えば、VVCにおける「distance_idx」)により指示され、該シンタックス要素は動きベクトル(810)と基本動きベクトル(822)との間の距離、または、差ベクトル(828)の大きさに対応する。いくつかの実施例において、シンタックス要素(例えば、VVCにおける「direction_idx」)により調整方向(826)を指示し、該シンタックス要素は動きベクトル(810)から基本動きベクトル(822)への方向、または差ベクトル(828)の方向に対応する。
【0092】
いくつかの実施例において、MMVDモードに基づき現在ブロックの動きベクトルが生成されるかどうかを指示するために、1つのフラグ(例えば、VVCにおける「mmvd_flag」)をシグナリングすることができる。いくつかの例示において、MMVDモードに基づき現在ブロックの動きベクトルが生成される場合、mmvd_flagを1にして、MMVDモードに基づき現在ブロックの動きベクトルが生成されない場合、mmvd_flagを0にする。いくつかの例示において、現在ブロックに適用可能なmmvd_flagが存在しない場合、mmvd_flagが、MMVDモードに基づき現在ブロックの動きベクトルが生成されないと指示するように対応する値を具備すると推定できる。
【0093】
現在ブロックを復号するいくつかの例示において、mmvd_flag[x0][y0]が1である場合、MMVDモードに基づき現在ブロックの動きベクトルを生成し、(x0、y0)は、現在ブロックの左上輝度サンプルの、現在ブロックが含まれる現在ピクチャの左上輝度サンプルに対する位置に対応する。現在ブロックを復号するいくつかの例示において、mmvd_flag[x0][y0]を解析するとともに、mmvd_flag[x0][y0]を1にすると決定した後、さらにシンタックス要素base_mv_idx[x0][y0]、distance_idx[x0][y0]及びdirection_idx[x0][y0]を解析することで、利用可能な動きベクトル差情報を取得することができる。
【0094】
サブブロックマージ予測モードに基づき、ブロックの動きベクトルを決定してもよい。いくつかの例示において、サブブロックマージ予測モードはサブブロックアフィンマージ予測モード、またはサブブロックに基づく代替時間動きベクトル予測(alternative temporal motion vector prediction、ATMVP)モードである。
【0095】
図9Aは、1つの実施例において、サブブロックアフィンマージ予測モードを利用する現在ブロック(901)、A0、A1、A2、B0、B1、B2及びB3で示される空間隣接ブロック(それぞれ902、903、907、907、904、905、906及び908)、及びC0で示される時間隣接ブロック(912)の模式図である。いくつかの例示において、空間隣接ブロックA0、A1、A2、B0、B1、B2及びB3と現在ブロック(901)とは同一ピクチャに属する。時間隣接ブロックC0は参照ピクチャに属するとともに、現在ブロック(901)の外部にあるとともに、現在ブロック(901)の右下隅に隣接する位置に対応する。
【0096】
現在ブロック(901)は、第1サブブロック(922)、第2サブブロック(924)、第3サブブロック(926)及び第4サブブロック(928)に分割されてもよい。サブブロックアフィンマージ予測モードを利用して現在ブロック(901)の内部の第1サブブロック(922)、第2サブブロック(924)、第3サブブロック(926)及び第4サブブロック(928)における各々の動き情報を決定でき、前記サブブロックアフィンモデルは6パラメータ、または簡略化された4パラメータアフィンモデルで説明される。いくつかの例示において、アフィンモデルはサブブロックの動きベクトルを説明するための6つのパラメータ(例えば、六パラメータアフィンモデル)を有する。1つの例示において、サブブロックの6つのパラメータは、現在ブロックの3つの異なる位置(例えば、
図9Aにおける現在ブロック(901)の左上隅、右上隅及び左下隅にある制御ポイントCP0、CP1及びCP2)での3つの動きベクトル(3つの制御ポイント動きベクトルとも呼ばれる)で示される。他の例示において、簡略化されたアフィンモデル(例えば4パラメータアフィンモデル)は4つのパラメータを利用してサブブロックの動き情報を説明し、該動き情報はブロックの2つの異なる位置(例えば、
図9における左上隅及び右上隅にある制御ポイントCP0及びCP1)での2つの動きベクトル(2つの制御ポイント動きベクトルとも呼ばれる)で示される。
【0097】
図9Bは、1つの実施例において、サブブロックに基づく代替時間動きベクトル予測(ATMVP)モードを利用する現在ピクチャ(960)における現在ブロック(961)、及び参照ピクチャ(980)における参照ブロック(981)の模式図である。ATMVPモードに基づき、まず参照ピクチャのうちの対応する参照ブロックを特定し、そして、現在ブロックを複数のサブブロックに分割するとともに、参照ブロックの対応する動き情報から、現在ブロックのうちのサブブロックの動きベクトル、及び参照インデックスを取得することで、ブロック内のサブブロックの動きベクトルを決定する。
【0098】
いくつかの例示において、復号された情報に基づき現在ブロック(961)の参照ピクチャ(960)及び参照ベクトル(970)を特定し、前記復号された情報は、例えば、現在ブロック(961)の1つまたは複数の空間隣接ブロックの動き情報、または他の利用可能な方式である。参照ピクチャ(960)と参照ベクトル(970)を決定した後、現在ブロック(961)の位置及び決定された参照ベクトル(970)に基づき、参照ブロック(961)を特定できる。
【0099】
図9Bにおいて、参照ブロック(981)はさらに、参照動き情報MRa~MRdを有する4つのサブブロックに分割される。動き情報は動きベクトルと対応する参照インデックスを含む。現在ブロック(961)はさらに、4つのサブブロックに分割されるとともに、いくつかの例示において、時間スケーリングを利用して参照動き情報MRa~MRdから現在ブロック(961)におけるサブブロックの動き情報MVa~MVdを導出できる。いくつかの実施例において、参照ブロック(981)と現在ブロック(961)を、4つ以上または以下のサブブロックに分割し、参照ブロック(981)と現在ブロック(961)とは必ずしも同じ数のサブブロックまたは同じのサブブロック分割構成を有する必要がない。
【0100】
いくつかの実施例において、サブブロックマージ予測モードに基づき現在ブロックの動きベクトルが生成されるかということを指示するために、例えばサブブロックアフィンマージ予測モード、またはATMVPモードを利用して、現在ブロックの動きベクトルを生成すると、1つのフラグ(例えば、VVCにおける「sub_block_flag」)をシグナリングしてもよい。また、フラグ(例えば、VVCにおける「sub_block_flag」)が、サブブロックマージ予測モードを利用すると指示すれば、さらに1つのシンタックス要素(例えば、VVCにおける「merge_idx」)をシグナリングすることでサブブロックマージ候補リストのうちのどの候補を選択するかということを指示する。
【0101】
現在ブロックを復号するいくつかの例示において、sub_block_flag[x0][y0]が1である場合、サブブロックマージ予測モードに基づき、現在ブロックの動きベクトルを生成し、(x0、y0)は、現在ブロックの左上輝度サンプルの、現在ブロックが含まれる現在ピクチャの左上輝度サンプルに対する位置に対応する。現在ブロックを復号するいくつかの例示において、sub_block_flag[x0][y0]を解析するとともに、sub_block_flag[x0][y0]を1にすると決定した後、さらに、シンタックス要素merge_idx[x0][y0]を解析することで、利用可能な候補選択情報を取得する。
【0102】
図10は、1つの実施例において、イントラ用の多仮説予測(multi-hypothesis prediction for intra、MHIntra)モードに従って、少なくとも現在ブロック(1010)のフレーム間予測値(1022)及びフレーム内予測値(1024)に基づいて再構築される現在ブロック(1010)の模式図である。
【0103】
MHIntraモードに基づき、最終予測値(1012)と現在ブロック(1010)の残差サンプル(1014)とを組み合わせることで、現在ブロック(1010)を再構築する。少なくとも1つの予測方法に基づき、例えば、フレーム間予測により生成されたフレーム間予測値(1022)とフレーム内予測により生成されたフレーム内予測値(1024)との組み合わせに基づき、最終予測値(1012)を生成する。残差サンプル(1014)は現在ブロック(1010)と最終予測値(1012)との間の差を示し、受信したビデオビットストリームを復号することで、該残差サンプルを取得する。
【0104】
フレーム間予測値(1022)を生成するいくつかの実施例において、適切な動き情報予測方法に基づき、利用可能な動き情報及び参照インデックスを明示的にシグナリングするかまたは導出する。
【0105】
フレーム内予測値(1024)を生成するいくつかの実施例において、現在ブロックの輝度成分に対して、フレーム内候補リストから利用可能なフレーム内予測モードを選択し、該フレーム内候補リストは4つのフレーム内予測モード(例えば、直流モード、平面モード、水平モード及び垂直モード)から導出されてもよい。フレーム内モードインデックスを利用して、選択情報を指示し、該選択情報は、利用可能なフレーム内予測モードを決定する。いくつかの実施例において、現在ブロックの彩度成分に対して、別のシグナリングを必要としなく、導出(Derived)モードを応用すればよく、該導出モードは、対応する輝度成分に対して選択されたフレーム内予測モードに基づく。
【0106】
MHIntraモードに基づき、現在ブロックを復号するかどうかを指示するために、1つのフラグ(例えば、VVCにおける「MHIntra_flag」)をシグナリングする。フラグ(例えば「MHIntra_flag」)が、MHIntraモードを利用することを指示する場合、さらにどのフレーム内モードによりフレーム内予測値(1024)を生成するかということを指示するために、1つのシンタックス要素(例えば、VVCにおける「MHIntra_mode_idx」)をシグナリングすることができる。
【0107】
現在ブロックを復号するいくつかの実施例において、MHIntra_flag[x0][y0]が1である場合、MHIntraモードに基づき現在ブロックを復号し、(x0、y0)は現在ブロックの左上輝度サンプルの、ピクチャの左上輝度サンプルに対する位置を与える。現在ブロックを復号するいくつかの例示において、MHIntra_flag[x0][y0]を解析するとともに、MHIntra_flag[x0][y0]を1にすると決定した後、さらにシンタックス要素MHIntra_mode_idx[x0][y0]を解析することで、利用可能なフレーム内予測モードを取得する。また、MHIntra_flag[x0][y0]を解析するとともに、MHIntra_flag[x0][y0]を1にすると決定した後、さらに、現在ブロック(1010)のフレーム間予測値(1022)を生成するための動き情報を指示するために、1つまたは複数の付加的なシンタックス要素がシグナリングする情報に基づき、動き情報を明示的にシグナリングするかまたは導出する。
【0108】
図11は、1つの実施例における、三角形予測ユニットモードを利用して現在ブロック(1110Aまたは1110B)を分割する2つの例示の模式図である。三角形予測ユニットモードを利用するいくつかの実施例において、現在ブロック(1110Aまたは1110B)を2つの三角形予測ユニットに分割する。いくつかの例示において、それぞれの単一予測動きベクトルと参照フレームインデックスに基づき、現在ブロック(1110Aまたは1110B)における各三角形予測ユニットに対してフレーム間予測を行う。三角形予測ユニットの予測値を生成した後、2つの三角形予測ユニットの間の対角境界に対して自己適応重み付け処理を行うことで、現在ブロック(1110Aまたは1110B)の最終予測値を導出する。
【0109】
図11に示す例示1において、現在ブロック(1110A)の左上隅から右下隅までに伸びる対角線に沿って、現在ブロック(1110A)を第1三角形予測ユニット(1112)と第2三角形予測ユニット(1114)に分割する。いくつかの例示において、例えば
図11に示す例示2のように、現在ブロック(1110B)の右上隅から左下隅までに伸びる対角線に沿って、現在ブロック(1110B)を第1三角形予測ユニット(1116)と第2三角形予測ユニット(1118)に分割する。
【0110】
いくつかの実施例において、三角形予測ユニットモードを利用して現在ブロックを復号するかどうかを指示するために、1つのフラグ(例えば、VVCにおける「merge_triangle_flag」)をシグナリングする。さらに、2つの三角形予測ユニットが使用する分割方法及び候補のインデックスを指示するために、1つまたは複数のシンタックス要素(例えば、VVCにおける「merge_triangle_idx」、「merge_triangle_idx0」及び/または「merge_triangle_idx1」)をシグナリングする。
【0111】
現在ブロックを復号するいくつかの実施例において、merge_triangle_flag[x0][y0]が1である場合、三角形予測ユニットモードを利用して、現在ブロックを復号し、(x0、y0)は、現在ブロックの左上輝度サンプルの、ピクチャの左上輝度サンプルに対する位置を与える。現在ブロックを復号するいくつかの例示において、merge_triangle_flag[x0][y0]を解析するとともに、merge_triangle_flag[x0][y0]を1にすると決定した後、シンタックス要素merge_triangle_idx[x0][y0]を解析することで、利用可能な分割方向を取得し、シンタックス要素merge_triangle_idx0[x0][y0]及びmerge_triangle_idx1[x0][y0]をさらに解析することで、異なる三角形予測ユニットの利用可能な候補選択情報を取得する。
【0112】
図8~
図11を参照して説明した全ての符号化モードはいずれもビデオ符号化に用いることができる。いくつかの例示において、各種フラグ(例えばフラグmmvd_flag、sub_block_flag、MHIntra_flag)に基づき、どのモードを利用して特定ブロックを復号するかということを決定する。いくつかの例示において、mmvd_flag、sub_block_flag、MHIntra_flag、merge_triangle_flagの順序に基づき、一部または全ての前記フラグをシグナリングし、また、シグナリングされた該一部のフラグが、特定ブロックを復号するための利用可能なモードを明確に指定できると、全ての前記フラグをシグナリングする必要がない。
【0113】
表Iに示すように、条件付きでこれらのフラグをシグナリングしてもよく、
図1はシンタックス要素と、各々シンタックス要素をシグナリングする対応条件を挙げる。表Iにおいて、フラグが「False」であれば、現在ブロックに対して該フラグが代表する符号化モードを利用しないことを示し、フラグが「True」であれば、現在ブロックに対して該フラグが代表する符号化モードを利用することを示す。
【表1】
【0114】
表Iに基づくいくつかの実施例において、フラグであるmmvd_flag、sub_block_flag、MHIntra_flag及びmerge_triangle_flagがいずれもfalseに設定される場合、通常マージモードを利用し、通常マージモードに対するシンタックス要素merge_idxをシグナリングする。
【0115】
通常マージモードは、特定ピクチャにおいて使用頻度が最も高いモードであってもよい。従って、フラグまたはシンタックス要素を再配置することで、通常マージモードを利用するたびに、全てのフラグ、即ち、mmvd_flag、sub_block_flag、MHIntra_flag及びmerge_triangle_flagをシグナリングする必要がなくなる。また、符号化効率を向上させるために、シンタックス要素merge_idxは異なるモードに適用される各種パラメータを示すように配置される。例えば、シンタックス要素merge_idxは、通常マージモードに適用される候補選択情報を指示してもよく、MMVDモードに適用される基本ベクトル選択情報を指示してもよい。
【0116】
また、以下のように、フラグ及び/またはシンタックス要素を再配置してもよい。ブロックは予測ブロック、符号化ブロックまたは符号化ユニットに対応し、用語である幅と高さは、ブロックの幅と高さを示す。
【0117】
いくつかの実施例において、新たなシンタックス要素(本出願の開示において「merge_list_idc」と呼ばれる)を導入することで、フラグmmvd_flag、sub_block_flag、MHIntra_flag及びmerge_triangle_flagのうちの一部または全てに代える。例えば、merge_list_idcを0(またはFalse)にすることで、通常マージモードを利用するように指示し、merge_list_idcを1にする(またはTrue)ことで、通常マージモードを利用しないように指示する。merge_list_idcがTrueであれば、他の全てのモードのうちのいずれかのモードは1つまたは複数の付加的なフラグまたはシンタックス要素に基づき、シグナリングされるかまたは導出されてもよく、これはは本明細書に記載されるモード、フラグまたはシンタックス要素に限定されず、簡略化または拡張されてもよい。
【0118】
1つの例示において、merge_list_idcを利用して通常マージモードを利用するかどうか、sub_block_flagの値、及びmerge_triangle_flagの値をシグナリングすることができる。merge_list_idcの値に基づき、条件付きでフラグmmvd_flag及びMHIntra_flagをシグナリングまたは推定できる。いくつかの例示において、シグナリングされるフラグの使用頻度(各モードの使用頻度に対応する)に基づき、binary_list_idcを二値化し、使用頻度が最も高いフラグは、最小長コードを有し、使用頻度が最も低いフラグは最大長コードを有する。例えば、二値化されたmerge_list_idcの各種値は以下の設定を示し、即ち、「0」は、通常マージモードを利用することを示し、「10」はsub_block_flagがTrueであることを示し(即ち、サブブロックマージ予測モードを利用する)、「11」はmerge_triangle_flagがTrueであることを示す(即ち、三角形予測ユニットモードを利用する)。
【0119】
他の実施例において、merge_list_idcを利用して、通常マージモードを利用するかどうか、mmvd_flagの値、sub_block_flagの値、及びmerge_triangle_flagの値をシグナリングすることができる。merge_list_idcの値に基づき、MHIntra_flagを推定できる。いくつかの例示において、さらに、シグナリングされるフラグの使用頻度(各モードの使用頻度に対応する)に基づき、binary_list_idcを二値化してもよく、使用頻度が最も高いフラグは最小長コードを有し、使用頻度が最も低いフラグは最大長コードを有する。例えば、二値化されたmerge_list_idcの各種値は以下の設定を示し、即ち、「0」は通常マージモードを利用することを示し、「10」はmmvd_flagがTrueであることを示し(即ち、MMVDモードを利用する)、「110」はsub_block_flagがTrueであることを示し(即ち、サブブロックマージ予測モードを利用する)、「111」はmerge_triangle_flagがTrueであることを示す(即ち、三角形予測ユニットモードを利用する)。
【0120】
他の実施例において、merge_list_idcを利用して、通常マージモードを利用するかどうか、mmvd_flagの値、sub_block_flagの値、及びMHIntra_flagの値をシグナリングすることができる。より多いマージモードをmerge_list_idcに追加すれば、簡単な拡張を適用できる。
【0121】
いくつかの例示において、merge_list_idcを二値化するために、カットオフされた一次元コードを利用できる。いくつかの実施例において、前の1つまたは2つのビンに対して可変長で符号化を行って、他のビンに対して固定長で符号化を行う。基本的に、マージモードの使用頻度に基づき、merge_list_idcにおいて、各種モードの利用に対する指示順序を配列できる。いくつかの例示において、使用頻度が最も高いモードを1番目に配置する必要がある(従って、最小長コードに対応する)。1つの実施例において、使用頻度と50%との間の絶対差に基づき、マージモードを配列する。例えば、最大絶対差を有するモードを1番目に配列する。
【0122】
1つの実施例において、表IIに基づきmerge_list_idcを二値化する。
【表2】
【0123】
他の実施例において、表IIIに基づきmerge_list_idcを二値化する。
【表3】
【0124】
さらなる実施例において、表IVに基づきmerge_list_idcを二値化する。
【表4】
【0125】
さらなる実施例において、表Vに基づきmerge_list_idcを二値化する。
【表5】
【0126】
ビットストリームにおけるハイレベルシンタックス構成、例えば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、タイルヘッダ、またはピクチャ或いはピクチャの一部に関連付けられた適切なヘッダにおいて、merge_list_idcをシグナリングしてもよい。
【0127】
コンテキストモデルを利用してmerge_list_idcを符号化することができる。1つの例示において、現在ブロックの上方または左側にある空間隣接ブロックからのmerge_list_idcを利用して、現在ブロックを符号化するためのmerge_list_idcのコンテキストモデルを導出する。1つの例示において、現在ブロックの幅及び高さにより、現在ブロックを符号化するためのmerge_list_idcのコンテキストモデルを導出する。いくつかの実施例において、merge_list_idcの各ビンはコンテキストにより符号化され、異なるビンに対して、異なるコンテキストを利用できる。1つの例示において、コンテキストとしての空間隣接領域に基づき、通常マージモードを指示するビンに対して符号化を行う。他の例示において、空間隣接領域に依存しない単一コンテキストに基づき、サブブロックマージ予測モードを指示するビンに対して符号化を行う。
【0128】
いくつかの実施例において、通常マージモードを使用するかを指示するmerge_list_idcまたは専用フラグ(本出願の開示において、「regular_merge_flag」として示される)をシグナリングした後、且つシンタックス要素merge_idxをシグナリングした後、対応するMMVD関連情報、例えばmmvd_flag及び/または動きベクトル差情報を指示するMMVDに関するシンタックス要素をシグナリングする。1つの例示において、現在ブロックに対して、regular_merge_flag/merge_list_idcをシグナリングした後、且つ、mmvd_flag、sub_block_flag、MHIntra_flag及びmerge_triangle_flag(もしあれば)をシグナリングする前に、シンタックス要素merge_idxをシグナリングする。
【0129】
他の例示において、まず、regular_merge_flag/merge_list_idcをシグナリングすることで、通常マージモードを利用するかどうかを明確に指示し、そして、シンタックス要素merge_idxをシグナリングする。いくつかの実施例において、merge_idxにより前記「base_mv_idx」に付けられた情報をシグナリングする。regular_merge_flag/merge_list_idc及びmerge_idx信号をシグナリングした後、条件付きでMMVDに関するシンタックス要素をシグナリングする。1つの例示において、regular_merge_flag/merge_list_idcが、通常マージモードまたはMMVDモードを利用できるように指示するとともに、merge_idxが指示する候補インデックスがmax_mmvd_base_idxより小さいと、MMVDモードを利用できる可能性があり、さらに、mmvd_flagをシグナリングする。さもなければ、MMVDモードを排除でき、そのため、mmvd_flagをFalseに推定し、シグナリングする必要がない。mmvd_flagがTrueであれば、シンタックス要素distance_idx及びdirection_idxをシグナリングする。
【0130】
いくつかの実施例において、通常マージモードとMMVDモードをブロックに基づくマージモードに分類し、且つ、サブブロックマージ予測モード(ATMVPとアフィンモードを含む)、三角形マージ予測モード及びMHIntraモードをサブブロックに基づくマージモードに分類する。従って、merge_list_idcを利用して現在ブロックを符号化するためのモードは、ブロックに基づくマージモードであるか、それともサブブロックに基づくマージモードであるかということをシグナリングする。
【0131】
例えば、merge_flagがTrueであり、マージモードを利用するように指示する場合、フラグmerge_list_idcをシグナリングすることで、現在ブロックに対する符号化は、ブロックに基づくマージモードの1つであるか、それともサブブロックに基づくマージモードの1つであるかを指示する。いくつかの例示において、merge_list_idcの後、且つマージに関する他の全てのフラグの前に、merge_idxをシグナリングし、または、マージに関する他の全てのフラグの後、merge_idxをシグナリングしてもよい。
【0132】
ブロックに基づく1つのマージモードを利用する場合、mmvd_flagをシグナリングしてもよく、該シグナリングはmerge_idxの値に依存する(マージに関する他の全てのフラグの前に、該値をシグナリングすれば)。このような例示において、代わりとして、「merge_list」を利用して、前記「base_mv_idx」に付けられた情報をシグナリングしてもよい。例えば、merge_list_idcが通常マージモードまたはMMVDモードを利用できるように指示し、merge_idxが指示する候補インデックスがmax_mmvd_base_idxより小さいと、MMVDモードを利用してmmvd_flagをシグナリングする可能性がある。さもなければ、MMVDモードを排除でき、そのため、mmvd_flagをFalseに推定し、シグナリングする必要がない。mmvd_flagはTrueであれば、さらにMMVDモードに関する情報をシグナリングする。
【0133】
1つのサブブロックマージモードを利用する場合、sub_block_ flag(アフィンマージモードとATMVPモードに対応する)をシグナリングし、該シグナリングはmerge_idxの値に依存する(マージに関する他の全てのフラグの前に該値をシグナリングすれば)。1つの例示において、サブブロックマージモードを利用して、sub_block_flagがFalseであれば、MHIntra_flagをシグナリングし、該シグナリングはMHIntraモードを有効にする条件に依存する。MHIntra_flagがTrueであれば、さらにMHIntraモードに関する情報をシグナリングする。1つの例示において、サブブロックマージモードを利用して、sub_block_flagとMHIntra_flagとがFalseであれば、merge_triangle_flagをシグナリングし、該シグナリングは三角形予測ユニットモードを有効にする条件に依存する。merge_triangle_flagがTrueであれば、さらに三角形予測ユニットモードに関する情報をシグナリングする。
【0134】
前記モード及び異なるモードの、前記カテゴリにおける順序に対する説明は非限定的であり、それを変更または変化してもよい。例えば、MHIntraモードの前に、三角形予測ユニットモードを考慮または検査するとともに、三角形予測ユニットモードを、他のモードに対応するフラグをシグナリングする条件とする。
【0135】
少なくとも1つの実施例において、本明細書に記載の各種例示におけるシンタックス設計は以下のように配置される。
if(merge_flag)
{
merge_list_idc; // 0 個のブロックマージモード;1つのサブブロックマージモード
merge_idx;
if(merge_list_idc==0 && merge_idx<= max_mmvd_based_index)
{
mmvd_flag;
if(mmvd_flag)
{
mmvd_info;
}
}
}
else //(merge_list_idc !=0)であれば
{
if(merge_idx <= sub_block_merge_size) //2つのリストの大きさが異なると
sub_block_flag; // ATMVP及びAffine
if (!sub_block_flag)
{
if(MHIntra mode conditions) //有効にする条件を追加する
MHIntra_flag;
if(MHIntra_flag)
{
MHIntra_info;
}
}
//sub_block_flagがtrueであれば、MHIntra_flagはFalseに推定される
if(!MHIntra_flag && !sub_block_flag )
{
if(triangle prediction unit mode conditions)//開始条件を追加する
merge_triangle_flag;
if(merge_triangle_flag)
{
merge_triangle_info;
}
}
}
【0136】
いくつかの実施例において、新たなシンタックス要素regular_merge_flagを導入することで、通常マージモードを利用するかどうかを明確に指示する。regular_merge_flagをTrueにすると、通常マージモードを利用する。
【0137】
シンタックス要素regular_merge_flagに対してコンテキストモデルを利用して符号化を行う。1つの例示において、現在ブロックのregular_merge_flagに対して固定コンテキストモデルを利用して符号化を行う。例えば、常にインデックスが0であるコンテキストモデルを利用してregular_merge_flagを符号化する。
【0138】
他の例示において、現在ブロックの上側と左側の空間隣接ブロックのregular_merge_flagを利用して、現在ブロックを符号化するためのregular_merge_flagのコンテキストモデルを導出する。1つの例示において、現在ブロックの上側と左側の空間隣接ブロックのregular_merge_flagがいずれもFalseであれば、インデックスが0であるコンテキストモデルを利用して、現在符号化ブロックのregular_merge_flagを符号化する。1つの例示において、現在ブロックの上側と左側の空間隣接ブロックのregular_merge_flagがいずれもTrueであれば、インデックスが2であるコンテキストモデルを利用して、現在符号化ブロックのregular_merge_flagを符号化する。いくつかの例示において、現在ブロックの上側と左側の空間隣接ブロックのregular_merge_flagはいずれもFalseではなく、且つTrueではないと、インデックスが1であるコンテキストモデルを利用して現在符号化ブロックのregular_merge_flagを符号化する。
【0139】
他の例示において、現在ブロックの上側と左側の空間隣接ブロックのregular_merge_flagが全部Falseであれば、インデックスが0であるコンテキストモデルを利用して現在符号化ブロックのregular_merge_flagを符号化する。さもなければ、インデックスが1であるコンテキストモデルを利用して現在符号化ブロックのregular_merge_flagを符号化する。
【0140】
図12Aは、本出願が開示した1つの実施例の復号プロセス(1200A)を概略説明するフローチャートを示す。該プロセス(1200A)は、動き情報を特定するとともに、動き情報をピクチャブロック(即ち、現在ブロック)に適用するモードを決定することができる。いくつかの実施例において、プロセス(1200A)の前、または後に、1つまたは複数の動作を実行してもよく、
図12Aに示したいくつかの動作は改めて配列するかまたは省略してもよい。
【0141】
各実施例において、プロセス(1200A)は処理回路により実行され、該処理回路は、例えば第1端末装置(210)、第2端末装置(220)、第3端末装置(230)、及び第4端末装置(240)における処理回路、及びビデオ復号器(310)、(410)または(710)などの機能を実行する処理回路である。いくつかの実施例において、プロセス(1200A)はソフトウェア命令により実現されるから、処理回路はソフトウェア命令を実行する場合、処理回路はプロセス(1200A)を実行する。前記プロセスはフローS1201から始まり、その後、ステップS1210を実行する。
【0142】
ステップS1210において、符号化されたビデオビットストリームから第1シンタックス要素を取得する。第1シンタックス要素は複数のモードと関連付けられ、該複数のモードは動き情報を特定して動き情報を現在ブロックに適用するためのものである。第1シンタックス要素の第1値は、現在ブロックに用いられる複数のモードのサブセットを指示する。いくつかの実施例において、該第1シンタックス要素は前記シンタックス要素「merge_list_idc」に対応する。
【0143】
複数のモードは、動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する通常マージモードと、現在ブロックを複数の矩形サブブロックに分割するとともに、複数の矩形サブブロックのそれぞれの動き情報を導出するサブブロックマージ予測モードと、現在ブロックを2つの三角形サブパーティションに分割するとともに、三角形サブパーティションの動き情報を導出する三角形予測ユニットモードとを含む。複数のモードはさらに、動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する動きベクトル差付きマージモード(MMVD)を含む。複数のモードはさらに、フレーム内予測値とフレーム間予測値を組み合わせることで、現在ブロックの最終予測値を生成するイントラ用の多仮説予測(MHIntra)モードを含む。
【0144】
第1シンタックス要素の値が指示する、現在ブロックに用いられる複数のモードのサブセットは単一モード、またはモードの複数のサブセットのうちの1つを含む。1つの例示において、第1シンタックス要素の値は、通常マージモードを利用して現在ブロックの動き情報を導出するかどうかを指示できる。1つの例示において、第1シンタックス要素の値は、通常マージモードまたは動きベクトル差付きマージモードを利用して現在ブロックの動き情報を導出するように指示する。1つの例示において、第1シンタックス要素の値は、サブブロックマージ予測モード、三角形予測ユニットモード、またはMHIntraモードを利用して現在ブロックの動き情報を導出するように指示する。
【0145】
第1シンタックス要素は、複数のモードのそれぞれの異なるビンの1つを示すように設定される。所定順序に従って、複数のモードを配列し、該所定順序はモードの使用頻度の降順と一致する。いくつかの例示において、該順序は、表II~表Vに示したいずれかの例示の全てまたは一部と一致するように配列される。複数のモードのうちのいずれか2つのモードに対して、順序が前にあるモードを符号化するためのコードの長さは、他のモードを符号化するためのコードの長さの以下である。例えば、表IIに示した通常マージモード、MMVDモード、サブブロックマージ予測モード、MHIntraモード及び三角形予測ユニットモードの順序を参照すればよい。
【0146】
いくつかの実施例において、現在ブロックが含まれるピクチャに適用する複数のモードにおいて、使用頻度が最も高いモードは順序で1位に配列され、最も少ないバイナリビットが含まれるビンの1つで示される。少なくとも1つ例示において、使用頻度が最も高いモードは通常マージモードである。
【0147】
いくつかの実施例において、現在ブロックに用いられる複数のモードのサブセットが複数のモードに対応すると、第1シンタックス要素の後で提供される1つまたは複数の付加的なシンタックス要素またはフラグに基づき、複数のモードのサブセット内の利用可能なモードを導出または決定できる。
図12Bを参照し、さらに、複数のモードのサブセットから、利用可能なモードを決定する他の非限定的な例示をさらに説明する。
【0148】
ステップS1270において、第1シンタックス要素の第1値が指示した複数のモードのサブセットに基づき、現在ブロックの予測値を生成する。いくつかの実施例において、複数のモードのサブセット内の利用可能なモードに基づき、少なくともフレーム間予測により現在ブロックの予測値を生成する。
【0149】
ステップS1280において、少なくともステップS1270で得られた予測値に基づき、現在ブロックの再構築サンプルを生成する(例えば、該再構築サンプルは出力に用いられる)。
【0150】
ステップS1280の後、該プロセスはフローS1299を実行し、終止する。
【0151】
図12Bは、本出願が開示した他の実施例における、他の復号プロセス(1200B)を概略説明するフローチャートを示す。該プロセス(1200B)はステップS1201、S1210、S1220、S1270、S1280及びS1299を含むとともに、
図12Aにおけるプロセス(1200A)のステップS1220とステップS1270との間に挿入されてもよい。従って、
図12BにはステップS1201、S1210、S1220、S1270、S1280及びS1299が記載または図示されていない。
【0152】
プロセス(1200B)が1つのモードを決定し、該モードは動き情報を特定して動き情報をピクチャブロック(即ち、現在ブロック)に適用するためのものである。いくつかの実施例において、プロセス(1200B)の前または後に、1つまたは複数の動作を実行してもよく、
図12Bに示すいくつかの動作は改めて配列または省略してもよい。
【0153】
各実施例において、プロセス(1200B)は処理回路により実行され、該処理回路は、例えば、第1端末装置(210)、第2端末装置(220)、第3端末装置(230)、及び第4端末装置(240)における処理回路、及びビデオ復号器(310)、(410)または(710)などの機能を実行する処理回路である。いくつかの実施例において、プロセス(1200B)はソフトウェア命令により実現するから、処理回路はソフトウェア命令を実行する場合、処理回路はプロセス(1200B)を実行する。該処理はフローS1201から始まり、その後、ステップS1210及びステップS1220を実行し、そして、ステップS1230を実行する。
【0154】
ステップS1230において、符号化されたビデオビットストリームから、第1シンタックス要素の後で提供された第2シンタックス要素を取得する。第2シンタックス要素の第2値はインデックスを指示し、該インデックスは動き情報候補リストから動き情報候補を選択するためのものである。いくつかの実施例において、該第2シンタックス要素は前記シンタックス要素「merge_idx」に対応する。
【0155】
ステップS1240において、複数のモードのサブセットに通常マージモードとMMVDモードが含まれるかどうかを決定する。サブセットに通常マージモードとMMVDモードが含まれると、該プロセスはステップS1245を実行し、さもなければ、該プロセスはステップS1255を実行する。
【0156】
いくつかの実施例において、第1シンタックス要素の第1値に基づき、複数のモードのサブセットに通常マージモードとMMVDモードが含まれるかどうかを決定する。いくつかの実施例において、第1シンタックスの第1値が、現在ブロックの予測値を生成するためのモードが、ブロックに基づくマージモードであるように指示する場合、複数のモードのサブセットに通常マージモードとMMVDモードのうちの少なくとも1つが含まれる。いくつかの実施例において、第1シンタックス要素の第1値が、現在ブロックの予測値を生成するためのモードがサブブロックに基づくマージモードであるように指示する場合、複数のモードのサブセットにサブブロックマージ予測モード、三角形予測ユニットモード及びMHIntraモードのうちの少なくとも1つが含まれる。
【0157】
いくつかの実施例において、ステップS1240において、さらに、符号化されたビデオビットストリームにおいて、第1シンタックス要素の後で提供される他のシンタックス要素に基づき、複数のモードのサブセットに通常マージモードとMMVDモードが含まれるかどうかを決定する。第1シンタックス要素の第1値が、複数のモードのためのサブセットに少なくとも通常マージモードが含まれるように指示する場合、前記他のシンタックス要素の値は、現在ブロックの予測値を生成するためのモードが通常マージモードであるかどうかを明確に指示する。いくつかの実施例において、前記他のシンタックス要素は前記シンタックス要素「regular_merge_flag」に対応する。
【0158】
ステップS1245において、第3シンタックス要素を取得するかどうかを決定し、第3シンタックス要素の第3値は、通常マージモードに基づくか、それともMMVDモードに基づき、現在ブロックの予測値を生成するかということを指示する。いくつかの実施例において、第2シンタックス要素の第2値が指示したインデックスが、MMVDモードの動き情報候補の最大の数より小さい場合、符号化されたビデオビットストリームから第3シンタックス要素を取得し、該プロセスはステップ(S1250)を実行する。さもなければ、第3シンタックス要素を取得する必要がなく、現在ブロックの利用可能なモードを通常マージモードとして決定し、そして、該プロセスはステップS1255を実行する。いくつかの実施例において、該第3シンタックス要素は前記シンタックス要素「mmvd_flag」に対応する。
【0159】
ステップS1250において、取得された第3シンタックス要素に基づき、現在ブロックの利用可能なモードが通常マージモードであるか、それともMMVDモードであるかを決定できる。第3シンタックス要素の値がMMVDモードを利用するように指示すれば、該プロセスはステップS1260を実行し、さもなければ、利用可能なモードを通常マージモードとして決定し、該プロセスはステップS1255を実行する。
【0160】
ステップS1255において、既に現在ブロックの利用可能なモードは通常マージモードであると決定し、または、1つまたは複数の付加的なフラグに基づき、現在ブロックの利用可能なモードを他の可能なモードのうちの1つとして決定し、例えばサブブロックマージ予測モード、三角形予測ユニットモード、及び/またはMHIntraモードのうちの1つであると決定する。いくつかの実施例において、該1つまたは複数の付加的なフラグは前記「sub_block_flag」、「MHIntra_flag」及び「merge_triangle_flag」のうちの1つまたは複数に対応する。
【0161】
S1260において、第3シンタックス要素の第3値が現在ブロックの予測値を生成するためのモードがMMVDモードであるように指示する場合、符号化されたビデオビットストリームから、第3シンタックス要素の後で提供される1つまたは複数の第4シンタックス要素を取得する。いくつかの実施例において、1つまたは複数の第4シンタックス要素はMMVDモードの動きベクトル差情報を指示する。いくつかの実施例において、該1つまたは複数の第4シンタックス要素は前記「base_mv_idx」、distance_idx」と「direction_idx」のうちの1つまたは複数に対応する。いくつかの実施例において、「base_mv_idx」に付けられた情報は「merge_idx」によりシグナリングされ、その同時に、「base_mv_idx」を省略できる。
【0162】
ステップS1255またはステップS1260の後、該プロセスはステップS1270を実行し、そして、ステップS1280を実行し、その後、フローS1299を実行し、終止する。
【0163】
図13は、本出願が開示した1つの実施例の符号化プロセス(1300)を概略説明するフローチャートを示す。該プロセス(1300)はピクチャのブロック(即ち、現在ブロック)を符号化し、動き情報を特定し、動き情報を現在ブロックに適用するための複数のモードに基づき、前記ピクチャを符号化する。いくつかの実施例において、プロセス(1300)の前または後に、1つまたは複数の動作を実行してもよく、
図13に示したいくつかの動作は改めて配列または省略してもよい。
【0164】
各実施例において、プロセス(1300)は処理回路により実行され、該処理回路は、例えば、第1端末装置(210)、第2端末装置(220)、第3端末装置(230)、及び第4端末装置(240)における処理回路、及びビデオ符号器(303)、(503)または(703)などの機能を実行する処理回路である。いくつかの実施例において、プロセス(1300)はソフトウェア命令により実現されるから、処理回路はソフトウェア命令を実行する場合、処理回路はプロセス(1300)を実行する。プロセスはフローS1301から始まり、その後、ステップS1310を実行する。
【0165】
ステップS1310において、動き情報を特定するとともに、動き情報を現在ブロックに適用するための複数のモードの1つを、現在ブロックの利用可能なモードとして決定する。
【0166】
いくつかの実施例において、複数のモードは、動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出する通常マージモードと、現在ブロックを複数の矩形サブブロックに分割するとともに、複数の矩形サブブロックのそれぞれの動き情報を導出するサブブロックマージ予測モードと、現在ブロックを三角形サブパーティションに分割するとともに、三角形ブロックサブパーティションのそれぞれの動き情報を導出する三角形予測ユニットモードとを含む。いくつかの実施例において、複数のモードはさらに、動きベクトル差情報と動き情報候補リストから選択された動き情報候補に基づき、現在ブロックの動き情報を導出するMMVDモードを含む。いくつかの実施例において、複数のモードはさらに、フレーム内予測値とフレーム間予測値を組み合わせることで、現在ブロックの最終予測値を生成するMHIntraモードを含む。
【0167】
ステップS1320において、ステップS1310で決定された利用可能なモードに基づき、現在ブロックの予測値を生成する。ステップS1330において、該予測値に基づき、現在ブロックの残差サンプルを生成する。いくつかの実施例において、残差サンプルは現在ブロックの初期サンプルと予測値との間の差に対応する。
【0168】
S1340において、複数のモードと関連付けられたシンタックス要素を生成する。該シンタックス要素の値は、複数のモードのサブセットを指示し、該サブセットには、決定された、現在ブロックに用いられるモードが含まれる。該シンタックス要素は前記シンタックス要素「merge_list_idc」に対応する。
【0169】
1つの例示において、シンタックス要素の値は、通常マージモードを利用して、現在ブロックの動き情報をシグナリングするかどうかを指示する。1つの例示において、シンタックス要素の値は、通常マージモード、またはMMVDモードを利用して、現在ブロックの動き情報をシグナリングするように指示する。1つの例示において、シンタックス要素の値は、サブブロックマージ予測モード、三角形予測ユニットモード、またはMHIntraモードを利用して、現在ブロックの動き情報をシグナリングするように指示する。
【0170】
いくつかの実施例において、シンタックス要素は、複数のモードのそれぞれを代表する異なるビンの1つとして設定される。所定順序に従って、複数のモードを配列し、該所定順序はモードの使用頻度の降順と一致する。いくつかの例示において、該順序は、表II~表Vに示したいずれかの例示の全てまたは一部と一致するように配列される。いくつかの実施例において、複数のモードのうちのいずれか2つのモードに対して、順序が前にあるモードを符号化するためのコードの長さは、他のモードを符号化するためのコードの長さの以下である。例えば、表IIに示した通常マージモード、MMVDモード、サブブロックマージ予測モード、MHIntraモード及び三角形予測ユニットモードの順序を参照すればよい。
【0171】
いくつかの実施例において、現在ブロックが含まれるピクチャに用いられる複数のモードにおいて、使用頻度が最も高いモードは順序で1位に配列されるとともに、最も少ないバイナリビットが含まれるビンの1つで示される。少なくとも1つ例示において、使用頻度が最も高いモードは通常マージモードである。
【0172】
いくつかの実施例において、シンタックス要素とともに、条件付きで1つまたは複数の他のフラグ、例えば、フラグmmvd_flag、sub_block_flag、MHIntra_flag及びmerge_triangle_flagをシグナリングすることで、決定された利用可能なモードを指示する。
【0173】
ステップS1380において、少なくともステップS1340で生成されたシンタックス要素、及びステップ1330で生成された現在ブロックの残差サンプルに基づき、出力のための符号化されたビデオビットストリームを生成する。
【0174】
ステップS1380の後、該プロセスはフローS1399を実行し、終止する。
【0175】
前記技術はコンピュータソフトウェアとして実現されてもよく、該コンピュータソフトウェアはコンピュータ読み取り可能な命令を利用して物理的に1つまたは複数のコンピュータ読み取り可能な媒体に記憶される。例えば、
図14は本出願が開示するテーマを実現するいくつかの実施例のコンピュータシステム(1400)を示す。
【0176】
コンピュータソフトウェアは任意の適切なマシンコードまたはコンピュータ言語によって符号化を行って、マシンコードまたはコンピュータ言語に対して編集、コンパイル、リンクなどの動作を行って、命令が含まれたコードを構築し、該命令は1つまたは複数のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるかまたは解釈、マイクロコードによる実行などによって実行される。
【0177】
命令は各種タイプのコンピュータまたはその部材で実行でき、例えば、パーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む。
【0178】
図14に示したコンピュータシステム(1400)に用いられるの部材は、本出願が開示する実施例を実現するためのコンピュータソフトウェアの使用範囲または機能に対して限定せず、本質に例示的である。部材の配置も、コンピュータシステム(1400)の例示性の実施例に示したいずれかの部材、または部材の組み合わせに依存または限定されるように解釈されるべきではない。
【0179】
コンピュータシステム(1400)は、いくつかのヒューマンマシンインターフェイス入力機器を有してもよい。このようなヒューマンマシンインターフェイス入力機器は、1つまたは複数の人類ユーザーの、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、たたき)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)による入力に応答できる。マンマシンインタフェース機器はさらに、必ずしも人類の意識的な入力に直接的に関するわけではなく、媒体、例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静態画像撮影装置から取得された写真画像)、ビデオ(例えば、2次元ビデオ、立体ビデオが含まれる3次元ビデオ)をキャプチャできる。
【0180】
マンマシンインタフェース入力機器は、キーボード(1401)、マウス(1402)、タッチパッド(1403)、タッチパネル(1410)、データグローブ(図示せず)、ジョイスティック(1405)、マイク(1406)、スキャナ(1407)、カメラ(1408)のうちの1つまたは複数を含み得る(各項は1つのみを示す)。
【0181】
コンピュータシステム(1400)は、さらにいくつかのマンマシンインタフェース出力機器を有してもよい。このようなマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つまたは複数の人類ユーザーの感覚を刺激できる。該マンマシンインタフェース出力機器は、触覚出力機器(例えば、タッチパネル(1410)、データグローブ(図示せず)またはジョイスティック(1405)による触覚フィードバックがあるが、入力機器として用いられない触覚フィードバック機器を利用してもよい)、オーディオ出力機器(例えばスピーカー(1409)、ヘッドフォン(図示せず))、視覚出力機器(例えばスクリーン(1410)であって、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各々スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかは、立体画像出力のような手段で、2次元の視覚を出力または3次元以上の出力を行って、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))、プリンター(図示せず)を含む。
【0182】
コンピュータシステム(1400)はさらに人類がアクセスし得る記憶機器及びその関する媒体を有してもよく、例えばCD/DVDなどの媒体(14121)を有するCD/DVD
ROM/RW(1420)が含まれる光学媒体、サムドライブ(1422)、取り外し可能なハードドライブまたはソリッドステートドライブ(1423)、磁気テープとフロッピーディスク(図示せず)のような伝統の磁気媒体、専用ROM/ASIC/PLDに基づく機器、例えばドングル(図示せず)のような機器を含む。
【0183】
当業者は、本出願が開示したテーマに関して使用される用語「コンピュータ読み取り可能な媒体」には伝送媒体、搬送波または他の瞬間信号が含まれないことを理解できる。
【0184】
コンピュータシステム(1400)は、さらに1つまたは複数の通信ネットワークに達するインタフェースを有してもよい。ネットワーク、例えば無線、有線接続、光学ネットワークであってもよい。ネットワークはさらに、ローカルエリアネットワーク、広域エリアネットワーク、メトロポリタンエリアネットワーク、車両工業ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例示はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどが含まれるセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビが含まれる有線接続または無線広域ディジタルネットワークテレビ、CANBusが含まれる車両及び工業ネットワークなどを含む。いくつかのネットワークは一般的に、ある汎用データポートまたは周辺バス(1449)(例えば、コンピュータシステム(1400)のUSBポート)に連結される外部ネットワークインタフェースアダプタを必要とし、他は一般的に以下の方式でシステムバスに連結されることで、コンピュータシステム(1400)のコアに集積される(例えば、イーサネットインタフェースを介してPCコンピュータシステムに集積され、またはセルラーネットワークインタフェースを介してスマートフォンコンピュータシステムに集積される)。これらのネットワークにおける任意のネットワークを介して、コンピュータシステム(1400)は他のエンティティと通信できる。このような通信は一方向で受信のみ(例えば、放送テレビ)、一方向で送信のみ(例えば、CANバスから、あるCANバス機器に達する)、または双方向である(例えば、ローカルエリアまたは広域ディジタルネットワークを介して他のコンピュータシステムに達する)。前記各ネットワーク及びネットワークインタフェースに、いくつかのプロトコル及びプロトコルスタックを利用できる。
【0185】
前記マンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインタフェースはコンピュータシステム(1400)のコア(1440)に連結される。
【0186】
コア(1440)は、1つまたは複数の中央処理ユニット(CPU)(1441)、グラフィック処理ユニット(GPU)(1442)、フィールドプログラマブルゲートアレイ(FPGA)(1443)という形式の専門プログラム可能な処理ユニット、特定のタスク用のハードウェアアクセラレータ(1444)などを含む。システムバス(1448)を介して、これらの機器を、読み取り専用メモリ(ROM)(1445)、ランダムアクセスメモリ(1446)、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置(1447)に接続する。いくつかのコンピュータシステムにおいて、1つまたは複数の物理プラグという形式で、システムバス(1448)にアクセスすることで、別のCPU、GPUなどによって拡張できる。周辺機器は直接的または周辺バス(1449)を介してコアのシステムバス(1448)に連結される。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0187】
CPU(1441)、GPU(1442)、FPGA(1443)及びアクセラレータ(1444)はいくつかの命令を実行でき、これらの命令を組み合わせると、前記コンピュータコードを構成する。該コンピュータコードはROM(1445)またはRAM(1446)に記憶される。一時データもRAM(1446)に記憶され、永久データは、例えば内部大容量記憶装置(1447)に記憶される。キャッシュメモリによって記憶機器のうちのいずれかの記憶機器の快速記憶及び検索を実現でき、該キャッシュメモリは1つまたは複数のCPU(1441)、GPU(1442)、大容量記憶装置(1447)、ROM(1445)、RAM(1446)などに密接に関連できる。
【0188】
コンピュータ読み取り可能な媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードを有してもよい。媒体とコンピュータコードとは、本開示の内容の目的のために、専門に設計され及び構築された媒体とコンピュータコードであってもよいし、またはコンピュータソフトウェアの当業者にとって、公知且つ利用可能なタイプであってもよい。
【0189】
限定ではなく、例示として、(1つまたは複数の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つまたは複数の有形コンピュータ読み取り可能な媒体に含まれるソフトウェアを実行することで、アーキテクチャ(1400)、特にコア(1440)を有するコンピュータシステムを機能させる。このようなコンピュータ読み取り可能な媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関する媒体、及び非一時的なコア(1440)を有する、コア内部大容量記憶装置(1447)またはROM(1445)のようないくつかの記憶装置であってもよい。本出願が開示した各種実施例のソフトウェアはこのような機器に記憶されるとともに、コア(1440)によって前記ソフトウェアを実行する。特定の需要に応じて、コンピュータ読み取り可能な媒体には1つまたは複数の記憶機器またはチップが含まれても良い。ソフトウェアはコア(1440)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書に記載の、RAM(1446)に記憶されるデータ構成を定義すること、及びソフトウェアによる定義されたプロセスに基づき該データ構成を補正することが含まれる特定プロセスまたは特定プロセスの特定部分を実行させる。また、或いは代わりとして、コンピュータシステムは論理的なハードワイヤードまたは回路(例えば、アクセラレータ(1444))として表現される方式で機能し、該論理的なハードワイヤードまたは回路は、ソフトウェアの代わりとして、またはソフトウェアとともに動作することで、本明細書に記載の特定プロセスまたは特定プロセスの特定部分を実行できる。適切な場合、関わるソフトウェアにはロジックが含まれ、逆に、関わるロジックにはソフトウェアが含まれてもよい。適切な場合、関わるコンピュータ読み取り可能な媒体には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを有する回路、または以上の両者が含まれても良い。本出願の開示にはハードウェアとソフトウェアとのいずれの適切な組み合わせが含まれる。
【0190】
本開示の内容には若干の例示性の実施例が記載されているが、本開示の内容の範囲内にある変更、置き換え及びいろんな置換等価物が存在する。従って、本明細書には明らかに記載されていないが、本開示の内容の原理を体現し本開示の内容の精神及び範囲内に属する多いシステム及び方法は、当業者にとって想到し得る。
【0191】
[付録A]
JEM:共同探索モデル
VVC:バーサタイルビデオコーディング
BMS:基準セット
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:補足エンハンスメント情報
VUI:ビデオユーザビリティ情報
GOP:グループオブピクチャ
TU:変換ユニット
PU:予測ユニット
CTU:符号化ツリーユニット
CTB:符号化ツリーブロック
PB:予測ブロック
HRD:仮想参照復号器
SNR:信号対雑音比
CPU:中央処理ユニット
GPU:グラフィック処理ユニット
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:ディジタルビデオコンパクトディスク
ROM:読み取り専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバルモバイルシステムオブシステム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺コンポーネント相互接続
FPGA:フィールドプログラマブルゲートアレイ
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット