(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-21
(54)【発明の名称】推定ビデオ・パラメータ・セットに基づく復号化のためのシステム及び方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20221214BHJP
H04N 19/30 20140101ALI20221214BHJP
【FI】
H04N19/70
H04N19/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022523582
(86)(22)【出願日】2021-04-29
(85)【翻訳文提出日】2022-04-21
(86)【国際出願番号】 US2021029787
(87)【国際公開番号】W WO2021236312
(87)【国際公開日】2021-11-25
(32)【優先日】2020-05-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-04-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リー,リン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA17
5C159MA31
5C159RB09
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
復号化のためのシステム及び方法が提供される。方法は、少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するステップ;ビデオ・パラメータ・セットの第1識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて推定するステップ;及び少なくとも1つのコーディングされたピクチャを推定に基づいて復号化するステップを含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサにより実行される方法であって:
少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するステップ;
ビデオ・パラメータ・セットの第1識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定するステップ;及び
前記少なくとも1つのコーディングされたピクチャを前記推定に基づいて復号化するステップ;
を含む方法。
【請求項2】
前記推定するステップは、前記第1識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて0として推定するステップを含む、請求項1に記載の方法。
【請求項3】
前記第1識別子の値は、前記ビデオ・パラメータ・セットが前記ビットストリームの中にないことを示す、請求項1に記載の方法。
【請求項4】
前記ビデオ・パラメータ・セットのレイヤの第2識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定するステップ;
を更に含む請求項1に記載の方法。
【請求項5】
前記第2識別子の値を推定するステップは、前記第2識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて0として推定するステップを含む、請求項4に記載の方法。
【請求項6】
フラグの値を、前記ビットストリームの中にない前記フラグに基づいて推定するステップを更に含み、
前記フラグは、シンタックス要素が存在するかどうかを示し、前記ビデオ・パラメータ・セットにより指定されるレイヤのピクチャが、インター・レイヤ参照ピクチャ(ILRP)として使用されるかどうかを示す、請求項1に記載の方法。
【請求項7】
前記フラグの値を推定するステップは、前記フラグの値を、前記ビットストリームの中にない前記フラグに基づいて0として推定するステップを含む、請求項6に記載の方法。
【請求項8】
出力レイヤ・セット・モードを示すシンタックス要素の値を、前記ビデオ・パラメータ・セットにより指定される全てのレイヤが、インター・レイヤ予測を用いることなく独立にコーディングされることを示す第1フラグに基づいて、及び前記ビデオ・パラメータ・セットを参照するコーディングされたビデオ・シーケンス(CVS)における各レイヤが、唯1つのレイヤを含む出力レイヤ・セット(OLS)であることを示す第2フラグに基づいて推定するステップ;
を更に含む請求項1に記載の方法。
【請求項9】
前記シンタックス要素の値を推定するステップは、前記シンタックス要素の値を、1である値を有する前記第1フラグと1である値を有する前記第2フラグとに基づいて0として推定するステップを含む、請求項8に記載の方法。
【請求項10】
前記シンタックス要素の値を推定するステップは、前記シンタックス要素の値を、前記出力レイヤ・セット・モードが或るモードであることを示す値として推定するステップを含み、前記或るモードにおいては:
前記ビデオ・パラメータ・セットにより指定されるOLSの総数は、前記ビデオ・パラメータ・セットにより指定されるレイヤの総数に等しく;
前記OLSのうちのi番目のOLSは、両端を含む0ないしiの範囲内からのレイヤ・インデックスを有するレイヤを含み;且つ
前記OLSのうちの各OLSに関し、前記OLSにおける最高レイヤのみが出力レイヤである、請求項8に記載の方法。
【請求項11】
コンピュータ・コードを記憶する少なくとも1つのメモリ;及び
少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するように構成された少なくとも1つのプロセッサ;
を含むシステムであって、前記少なくとも1つのプロセッサは、前記コンピュータ・コードにアクセスし、前記コンピュータ・コードにより指示されるように動作するように更に構成されており、前記コンピュータ・コードは、請求項1-10のうちの何れか1項に記載の方法を、前記少なくとも1つのプロセッサに実行させる、システム。
【請求項12】
請求項1-10のうちの何れか1項に記載の方法をコンピュータのプロセッサに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本願は、2020年5月22日付で出願された米国仮出願第63/029,365号、及び2021年4月15日付で出願された米国出願第17/231,565号による優先権を主張しており、これらの開示はその全体の参照により本件に援用される。
【0002】
技術分野
[0002] 本開示の実施形態は、HEVC(High Efficiency Video Coding)を超える次世代ビデオ・コーディング技術、例えば、VVC(Versatile Video Coding)に関連する。より具体的には、本開示の実施形態は、推定ビデオ・パラメータ・セット(VPS)に基づく復号化のためのシステム及び方法に関連する。
【背景技術】
【0003】
[0003] ITU-T VCEG (Q6/16)及びISO/IEC MPEG(JTC 1/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、そして2016年(バージョン4)にH.265/HEVC(High Efficiency Video Coding)規格を公表している。2015年には、これら2つの標準化機構は、共同でJVET(Joint Video Exploration Team)を結成し、HEVCを越える次世代のビデオ・コーディング規格を開発する可能性を探求している。2017年10月には、JVETはHEVCを超える能力を有するビデオ圧縮に関する提案の共同募集(Call for Proposals, CfP)を行った。2018年2月15日までに、標準ダイナミック・レンジ(SDR)に関する合計22個のCfP回答、ハイ・ダイナミック・レンジ(HDR)に関する12個のCfP回答、及び360ビデオ・カテゴリに関する12個のCfP回答が提出された。2018年4月には、受け取られた全てのCfPが、第122回動画エキスパート・グループ (MPEG)/第10回JVET会合において評価された。この会合の結果、JVETは、HEVCを超える次世代ビデオ・コーディングの標準化プロセスを正式に開始した。この新しい規格は、多用途ビデオ・コーディング(Versatile Video Coding, VVC)と命名され、JVETは共同ビデオ・エキスパート・チーム(Joint Video Expert Team, JVET)に改名された。VVCテストモデル(VVC Test Model, VTM)の現在のバージョンはVTM7である。
【発明の概要】
【0004】
[0004] 1つ以上の実施形態によれば、少なくとも1つのプロセッサにより実行される方法が提供される。方法は:少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するステップ;ビデオ・パラメータ・セットの第1識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて推定するステップ;及び少なくとも1つのコーディングされたピクチャを推定に基づいて復号化するステップを含む。
【0005】
[0005] 実施形態によれば、推定するステップは、第1識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて0として推定するステップを含む。
【0006】
[0006] 実施形態によれば、第1識別子の値は、ビデオ・パラメータ・セットがビットストリームの中にないことを示す。
【0007】
[0007] 実施形態によれば、方法は、ビデオ・パラメータ・セットのレイヤの第2識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて推定するステップを更に含む。
【0008】
[0008] 実施形態によれば、第2識別子の値を推定するステップは、第2識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて0として推定するステップを含む。
【0009】
[0009] 実施形態によれば、方法は、フラグの値を、ビットストリームの中にないフラグに基づいて推定するステップを更に含み、フラグは、シンタックス要素が存在するかどうかを示し、ビデオ・パラメータ・セットにより指定されるレイヤのピクチャが、インター・レイヤ参照ピクチャ(interlayer reference pictures, ILRP)として使用されるかどうかを示す。
【0010】
[0010] 実施形態によれば、フラグの値を推定するステップは、フラグの値を、ビットストリームの中にないフラグに基づいて0として推定するステップを含む。
【0011】
[0011] 実施形態によれば、方法は、出力レイヤ・セット・モードを示すシンタックス要素の値を、ビデオ・パラメータ・セットにより指定される全てのレイヤが、インター・レイヤ予測を用いることなく独立にコーディングされることを示す第1フラグに基づいて、及びビデオ・パラメータ・セットを参照するコーディングされたビデオ・シーケンス(coded video sequence, CVS)における各レイヤが、唯1つのレイヤを含む出力レイヤ・セット(output layer set, OLS)であることを示す第2フラグに基づいて推定するステップを更に含む。
[0012] 実施形態によれば、シンタックス要素の値を推定するステップは、シンタックス要素の値を、1である値を有する第1フラグと1である値を有する第2フラグとに基づいて0として推定するステップを含む。
【0012】
[0013] 実施形態によれば、シンタックス要素の値を推定するステップは、シンタックス要素の値を、出力レイヤ・セット・モードが或るモードであることを示す値として推定するステップを含み、或るモードにおいては:ビデオ・パラメータ・セットにより指定されるOLSの総数は、ビデオ・パラメータ・セットにより指定されるレイヤの総数に等しく;OLSのうちのi番目のOLSは、両端を含む0ないしiの範囲内からのレイヤ・インデックスを有するレイヤを含み;且つOLSのうちの各OLSに関し、OLSにおける最高レイヤのみが出力レイヤである。
【0013】
[0014] 1つ以上の実施形態によれば、システムが提供される。システムは、コンピュータ・コードを記憶する少なくとも1つのメモリと、少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するように構成された少なくとも1つのプロセッサとを含む。少なくとも1つのプロセッサは、コンピュータ・コードにアクセスし、コンピュータ・コードにより指示されるとおりに動作するように更に構成されており、コンピュータ・コードは:ビデオ・パラメータ・セットの第1識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて推定することを、少なくとも1つのプロセッサに行わせるように構成された推定コードと、少なくとも1つのコーディングされたピクチャを推定に基づいて復号化することを、少なくとも1つのプロセッサに行わせるように構成された復号化コードとを含む。
【0014】
[0015] 実施形態によれば、推定コードは、第1識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて0として推定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0015】
[0016] 実施形態によれば、第1識別子の値は、ビデオ・パラメータ・セットがビットストリームの中にないことを示す。
【0016】
[0017] 実施形態によれば、推定コードは、ビデオ・パラメータ・セットのレイヤの第2識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて推定することを、少なくとも1つのプロセッサに行わせるように更に構成されている。
【0017】
[0018] 実施形態によれば、推定コードは、第2識別子の値を、ビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて0として推定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0018】
[0019] 実施形態によれば、推定コードは、フラグの値を、ビットストリームの中にないフラグに基づいて推定することを、少なくとも1つのプロセッサに行わせるように更に構成されており、フラグは、シンタックス要素が存在するかどうかを示し、ビデオ・パラメータ・セットにより指定されるレイヤのピクチャが、インター・レイヤ参照ピクチャ(ILRP)として使用されるかどうかを示す。
【0019】
[0020] 実施形態によれば、推定コードは、フラグの値を、ビットストリームの中にないフラグに基づいて0として推定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0020】
[0021] 実施形態によれば、推定コードは、出力レイヤ・セット・モードを示すシンタックス要素の値を、ビデオ・パラメータ・セットにより指定される全てのレイヤが、インター・レイヤ予測を用いることなく独立にコーディングされることを示す第1フラグに基づいて、及びビデオ・パラメータ・セットを参照するコーディングされたビデオ・シーケンス(CVS)における各レイヤが、唯1つのレイヤを含む出力レイヤ・セット(OLS)であることを示す第2フラグに基づいて推定することを、少なくとも1つのプロセッサに行わせるように更に構成されている。
【0021】
[0022] 実施形態によれば、推定コードは、シンタックス要素の値を、1である値を有する第1フラグと1である値を有する第2フラグとに基づいて0として推定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0022】
[0023] 1つ以上の実施形態によれば、コンピュータ・コードを記憶した非一時的なコンピュータ読み取り可能な記憶媒体が提供される。コンピュータ・コードは、少なくとも1つのプロセッサにより実行されると、少なくとも1つのプロセッサに:ビデオ・パラメータ・セットの第1識別子の値を、少なくとも1つのコーディングされたピクチャを含む受信したビットストリームの中にないビデオ・パラメータ・セットの第1識別子に基づいて推定するステップと、少なくとも1つのコーディングされたピクチャを、第1識別子の値を推定することに基づいて復号化するステップとを行わせるように構成されている。
【図面の簡単な説明】
【0023】
[0024] 開示された対象事項の更なる特徴、性質、及び種々の利点は、以下の詳細な説明及び添付の図面から更に明らかになるであろう。
【
図1】[0025]
図1は実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図2】[0026]
図2は実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図3】[0027]
図3は実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図4】[0028]
図4は実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図5】[0029]
図5は実施形態によるコンピュータ・コードのブロック図である。
【
図6】[0030]
図6は実施形態を実装するのに適したコンピュータ・システムの図である。
【発明を実施するための形態】
【0024】
[0031]
図1は、本開示の実施形態による通信システム(100)の簡略化されたブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110, 120)を含んでもよい。データの一方向伝送のために、第1端末(110)は、ネットワーク(150)を介して他方の端末(120)へ伝送するために、ローカル位置でビデオ・データをコーディングすることができる。第2端末(120)は、他方の端末のコーディングされたビデオ・データをネットワーク(150)から受信し、コーディングされたデータを復号化し、復元されたビデオ・データを表示することができる。一方向データ伝送は、メディア・サービング・アプリケーション等において一般的なものであってもよい。
【0025】
[0032]
図1は、例えばビデオ会議中に生じる可能性のあるコーディングされたビデオの双方向伝送をサポートするために提供される端末の第2ペア(130,140)を示す。データの双方向伝送のために、各端末(130,140)は、ローカル位置で捕捉されたビデオ・データを、ネットワーク(150)を介して他方の端末へ伝送するためにコーディングすることができる。各端末(130,140)はまた、他方の端末によって送信されたコーディングされたビデオ・データを受信することができ、コーディングされたデータを復号化することができ、復元されたビデオ・データをローカル・ディスプレイ装置で表示することができる。
【0026】
[0033]
図1において、端末(110-140)は、サーバー、パーソナル・コンピュータ、スマートフォン、及び/又はその他の任意のタイプの端末として例示されてもよい。例えば、端末(110-140)は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディア・プレーヤ、及び/又は専用のビデオ会議装置であってもよい。ネットワーク(150)は、例えば有線及び/又は無線通信ネットワークを含む、コーディングされたビデオ・データを端末(110-140)間で伝送する任意数のネットワークを表す。通信ネットワーク(150)は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークは、通信ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク及び/又はインターネットを含む。本説明の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジーは、以下で説明されない限り、本開示の動作にとって重要ではない可能性がある。
【0027】
[0034]
図2は、開示される対象事項の適用例として、ストリーミング環境におけるビデオ・エンコーダ及びデコーダの配置を示す。開示される対象事項は、例えば、ビデオ会議、デジタルTV、圧縮ビデオのデジタル媒体での記憶(CD、DVD、メモリ・スティックなどを含む)などを含む、他のビデオ対応アプリケーションにも同様に適用可能である可能性がある。
【0028】
[0035]
図2に示されるように、ストリーミング・システム(200)は、ビデオ・ソース(201)とエンコーダ(203)を含むことが可能なキャプチャ・サブシステム(213)を含んでもよい。ビデオ・ソース(201)は、例えばデジタル・カメラであってもよく、非圧縮ビデオ・サンプル・ストリーム(202)を生成するように構成されていてもよい。非圧縮ビデオ・サンプル・ストリーム(202)は、符号化されたビデオ・ビットストリームと比較した場合に、より多いデータ・ボリュームを提供することが可能であり、カメラ(201)に結合されたエンコーダ(203)によって処理されることが可能である。エンコーダ(203)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことが可能であり、以下で詳細に説明されるように、開示される対象事項の態様を可能にしたり、又は実現したりすることが可能である。符号化されたビデオ・ビットストリーム(204)は、サンプル・ストリームと比較した場合に、より少ないデータ・ボリュームを含む可能性があり、将来の使用のためにストリーミング・サーバー(205)で記憶されることが可能である。1つ以上のストリーミング・クライアント(206)は、ストリーミング・サーバー(205)にアクセスして、符号化されたビデオ・ビットストリーム(204)のコピーである可能性があるビット・ストリーム(209)を取り出すことができる。
【0029】
[0036] 実施形態において、ストリーミング・サーバー(205)はまた、メディア・アウェア・ネットワーク要素(MANE)として機能してもよい。例えば、ストリーミング・サーバー(205)は、潜在的に異なるビットストリームを1つ以上のストリーミング・クライアント(206)に対して調整するために、符号化されたビデオ・ビットストリーム(204)をプルーニングするように構成されてもよい。実施形態において、MANEは、ストリーミング・システム(200)内のストリーミング・サーバー(205)から別々に提供されてもよい。
【0030】
[0037] ストリーミング・クライアント(206)は、ビデオ・デコーダ(210)とディスプレイ(212)を含むことが可能である。ビデオ・デコーダ(210)は、例えば、符号化されたビデオ・ビットストリーム(204)の到来するコピーであるビットストリーム(209)を復号化し、ディスプレイ(212)又はその他のレンダリング・デバイス(図示せず)でレンダリングすることが可能な進行するビデオ・サンプル・ストリーム(211)を生成する。幾つかのストリーミング・システムでは、ビデオ・ビットストリーム(204,209)は、特定のビデオ・コーディング/圧縮規格に従って符号化されることが可能である。これらの規格の具体例は、ITU-T勧告H.265を含むが、これに限定されない。開発中のものは、汎用ビデオ・コーディング(Versatile Video Coding,VVC)として非公式に知られているものである。開示される実施形態はVVCの状況で使用されてもよい。
【0031】
[0038]
図3は、本開示の実施形態による、ディスプレイ(212)に取り付けられたビデオ・デコーダ(210)の例示的な機能ブロック図を示す。
【0032】
[0039] ビデオ・デコーダ(210)は、チャネル(312)、受信機(310)、バッファ・メモリ(315)、エントロピー・デコーダ/パーサー(320)、スカラー/逆変換ユニット(351)、内部予測ユニット(352)、動き補償予測ユニット(353)、アグリゲータ(355)、ループ・フィルタ・ユニット(356)、参照ピクチャ・メモリ(357)、及び現在ピクチャ・メモリ(357)を含む可能性がある。少なくとも1つの実施形態において、ビデオ・デコーダ(210)は、集積回路、一連の複数の集積回路、及び/又はその他の電子回路を含むことが可能である。また、ビデオ・デコーダ(210)は、部分的又は全体的に、関連するメモリと共に1つ以上のCPU上で動作するソフトウェアで実施されてもよい。
【0033】
[0040] この実施形態及び他の実施形態において、受信機(310)は、デコーダ(210)によって復号化される1つ以上のコーディングされたビデオ・シーケンスを、1度に1つのコーディングされたビデオ・シーケンスで受信することができ、この場合において、各々のコーディングされたビデオ・シーケンスの復号化は、他のコーディングされたビデオ・シーケンスから独立している。コーディングされたビデオ・シーケンスは、チャネル(312)から受信することができ、このチャネルは、符号化されたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。受信機(310)は、符号化されたビデオ・データを、他のデータ、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリームと共に受信することができ、これらのデータは、エンティティ(図示せず)を利用してそれぞれ転送されることが可能である。受信機(310)は、コーディングされたビデオ・シーケンスを他のデータから分離することができる。ネットワーク・ジッタに対処するために、バッファ・メモリ(315)が、受信機(310)とエントロピー・デコーダ/パーサー(320)(今後「パーサー」という)との間に結合されてもよい。受信機(310)が、十分な帯域幅及び制御可能性を有するストア/フォワード装置から、又はアイソシンクロナス・ネットワークから、データを受信している場合、バッファ(315)は不要である可能性があり、或いは小さいものであるとすることが可能である。インターネットのようなベスト・エフォート・パケット・ネットワークでの使用のために、バッファ(315)が、必要とされる可能性があり、比較的大きくすることが可能であり、且つ適応的なサイズであるとすることが可能である。
【0034】
[0041] ビデオ・デコーダ(210)は、エントロピー符号化されたビデオ・シーケンスからシンボル(321)を再構成するためのパーサー(320)を含んでもよい。これらのシンボルのカテゴリは、例えば、デコーダ(210)の動作を管理するために使用される情報と、
図2に示されているようにデコーダに結合されることが可能なディスプレイ(212)のようなレンダリング装置を制御する可能性のある情報とを含む。レンダリング・デバイスの制御情報は、例えば、補足エンハンスメント情報(Supplementary Enhancement Information, SEI)メッセージ)又はビデオ・ユーザビリティ情報(Video Usability Information,VUI)パラメータ・セット・フラグメント(図示せず)の形式であってもよい。パーサー(320)は、受信したコーディングされたビデオ・シーケンスを解析/エントロピー復号化することができる。コーディングされたビデオ・シーケンスのコーディングは、ビデオ・コーディング技術又は規格に従うことが可能であり、可変長コーディング、ハフマン・コーディング、コンテキストの影響を伴うか又は伴わない算術コーディングなどを含む、当業者に周知の原理に従うことが可能である。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオ・デコーダ内のピクセルのサブグループのうちの少なくとも1つに対するサブグループ・パラメータのセットを、コーディングされたビデオ・シーケンスから抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディング・ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことが可能である。パーサー(320)はまた、変換係数、量子化パラメータ値、動きベクトル等のような情報を、コーディングされたビデオ・シーケンスから抽出することができる。
【0035】
[0042] パーサー(320)は、シンボル(321)を作成するために、バッファ(315)から受信したビデオ・シーケンスに対してエントロピー復号化/解析演算を実行することができる。
【0036】
[0043] シンボル(321)の再構成は、コーディングされたビデオ・ピクチャ又はその一部のタイプ(例えば、ピクチャ間、ピクチャ内、ブロック間、ブロック内)やその他の要因に応じて、複数の異なるユニットを含むことが可能である。どのユニットが含まれるか、そしてそれらがどのように関わるかは、コーディングされたビデオ・シーケンスからパーサー(320)によって解析されたサブグループ制御情報によって、制御されることが可能である。パーサー(320)と以降の複数ユニットとの間のこのようなサブグループ制御情報の流れは、明確化のために描かれてはいない。
【0037】
[0044] デコーダ210は、既に言及した機能ブロックを超えて、概念的には、以下に説明するような複数の機能ユニットに細分されることが可能である。商業的制約の下で動作する実用的な実装では、これらの多くのユニットは互いに密接に相互作用し、少なくとも部分的に互いに統合されることが可能である。しかしながら、開示される対象事項を説明するために、以下の機能ユニットへの概念的な細分化は相応しい。
【0038】
[0045] 1つのユニットはスケーラ/逆変換ユニット(351)であってもよい。スケーラ/逆変換ユニット(351)は、制御情報に加えて量子化された変換係数を受信し、制御情報は、どの変換を使用するか、ブロック・サイズ、量子化係数、量子化スケーリング行列などを、パーサー(320)からのシンボル(321)として含む。スケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力されることが可能なサンプル値を含むブロックを出力することが可能である。
【0039】
[0046] 場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ・コーディングされたブロック;即ち:以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロック、に関連付けることが可能である。このような予測情報は、イントラ・ピクチャ予測ユニット(352)によって提供されることが可能である。場合によっては、イントラ・ピクチャ予測ユニット(352)は、現在ピクチャ・メモリ(358)内の現在の(部分的に再構成された)ピクチャ(358)から取り出された周辺の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合によってはサンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供されるような出力サンプル情報に追加する。
【0040】
[0047] それ以外のケースにおいて、スケーラ/逆変換ユニット(351)の出力サンプルは、インター・コーディングされた、動き補償された可能性のあるブロックに関連することが可能である。このようなケースでは、動き補償予測ユニット(353)は、参照ピクチャ・メモリ(357)にアクセスして、予測に使用されるサンプルを取り出すことができる。ブロックに関連するシンボル(321)に従って、取り出されたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(355)によって、スケーラ/逆変換ユニット(351)の出力に加えられ(この場合、残差サンプル又は残差信号と呼ばれる)、出力サンプル情報を生成することができる。動き補償予測ユニット(353)は参照ピクチャ・メモリ(357)から予測サンプルを取り出すが、その参照ピクチャ・メモリ(357)の中のアドレスは、動きベクトルによって制御される。動きベクトルは、例えばX、Y、及び参照ピクチャ成分を有することが可能なシンボル(321)の形態で、動き補償予測ユニット(353)にとって利用可能である可能性がある。また、動き補償は、サブ・サンプル・イグザクト動きベクトル(sub-sample exact motion vectors)が使用される場合に、参照ピクチャ・メモリからフェッチされるサンプル値の補間、動きベクトル予測メカニズム等を含むことができる。
【0041】
[0048] アグリゲータ(355)の出力サンプルは、ループ・フィルタ・ユニット(356)内の様々なループ・フィルタリング技術の影響を受ける可能性がある。ビデオ圧縮技術はループ内フィルタ技術を含むことが可能であり、その技術は、コーディングされたビデオ・ビットストリームに含まれるパラメータによって制御され、ループ・フィルタ・ユニット(356)にとってパーサー(320)からのシンボル(321)として利用可能にされるが、コーディングされたピクチャ又はコーディングされたビデオ・シーケンスの(復号化順で)以前の部分の復号化中に得られたメタ情報に応答することが可能であり、また、以前に再構成されループ・フィルタリングされたサンプル値に応答することも可能である。
【0042】
[0049] ループ・フィルタ・ユニット(356)の出力は、ディスプレイ(212)のようなレンダリング・デバイスに出力されることが可能であり、且つ将来のインター・ピクチャ予測で使用するために参照ピクチャ・メモリに記憶されることが可能なサンプル・ストリームであるとすることが可能である。
【0043】
[0050] 幾らかのコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用することが可能である。コーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして(例えば、パーサー(320)によって)識別されると、現在の参照ピクチャは参照ピクチャ・バッファ(357)の一部となることが可能であり、以後のコーディングされたピクチャの再構成を開始する前に、新しい現在ピクチャ・メモリが改めて割り当てられることが可能である。
【0044】
[0051] ビデオ・デコーダ210は、ITU-T Rec. H.265のような規格で文書化される可能性のある所定のビデオ圧縮技術に従って、復号化動作を実行することができる。コーディングされたビデオ・シーケンスは、ビデオ圧縮技術文書又は規格の中で、特にその中のプロファイル文書の中で規定されているように、ビデオ圧縮技術又は規格のシンタックスに従うという意味で、使用されているビデオ圧縮技術又は規格によって規定されるシンタックスに従うことができる。また、何らかのビデオ圧縮技術又は規格とのコンプライアンスに関し、コーディングされたビデオ・シーケンスの複雑性は、ビデオ圧縮技術又は規格のレベルによって定められる境界の範囲内にあり得る。場合によっては、レベルは、最大ピクチャ・サイズ、最大フレーム・レート、最大再構成サンプル・レート(例えば、毎秒当たりのメガサンプルで測定される)、最大参照ピクチャ・サイズなどを制限する。レベルによって設定される制限は、場合によっては、コーディングされたビデオ・シーケンスでシグナリングされるHRDバッファ管理のためのメタデータ及び仮説参照デコーダ(HRD)仕様によって、更に制限される可能性がある。
【0045】
[0052] 実施形態では、受信機(310)は、符号化されたビデオと共に追加の(冗長な)データを受信することができる。追加データは、コーディングされたビデオ・シーケンスの一部として含まれる可能性がある。追加のデータは、データを適切に復号化するため、及び/又はオリジナル・ビデオ・データをより正確に再構成するために、ビデオ・デコーダ(210)によって使用されてもよい。追加のデータは、例えば、時間的、空間的、又はSNRエンハンスメント・レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形態におけるものであるとすることが可能である。
【0046】
[0053]
図4は、本開示の実施形態による、ビデオ・ソース(201)に関連付けられるビデオ・エンコーダ(203)の例示的な機能ブロック図を示す。
【0047】
[0054] ビデオ・エンコーダ(203)は、例えば、ソース・コーダー(430)、コーディング・エンジン(432)、(ローカル)デコーダ(433)、参照ピクチャ・メモリ(434)、予測器(435)、送信機(440)、エントロピー・コーダー(445)、コントローラ(450)、及びチャネル(460)であるエンコーダを含むことが可能である。
【0048】
[0055] エンコーダ(203)は、エンコーダ(203)によってコーディングされるべきビデオ画像を捕捉することが可能なビデオ・ソース(201)(エンコーダの一部ではない)から、ビデオ・サンプルを受信することができる。
【0049】
[0056] ビデオ・ソース(201)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 YCrCB、RGB、・・・)及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)によるものであるとすることが可能なデジタル・ビデオ・サンプル・ストリームの形態で、エンコーダ(203)によってコーディングされるソース・ビデオ・シーケンスを提供することができる。メディア・サービング・システムにおいて、ビデオ・ソース(201)は、前もって準備されたビデオを記憶する記憶装置であってもよい。ビデオ会議システムにおいては、ビデオ・ソース(203)は、ローカル画像情報をビデオ・シーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで見た場合に動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして組織されてもよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことが可能である。当業者は、ピクセルとサンプルとの間の関係を容易に理解することが可能である。以下の説明はサンプルに焦点を当てている。
【0050】
[0057] 実施形態によれば、エンコーダ(203)は、リアルタイムで、又はアプリケーションによって要求される他の任意の時間的制約の下で、ソース・ビデオ・シーケンスのピクチャを、コーディングされたビデオ・シーケンス(443)に、コーディングして圧縮することができる。適切なコーティング速度を強いることは、コントローラ(450)の1つの機能である。コントローラ(450)は、以下で説明されるように他の機能ユニットを制御し、これらのユニットに機能的に結合されることが可能である。その結合は明確性のために描かれていない。コントローラ(450)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャ・スキップ、量子化器、レート歪最適化技術のラムダ値、・・・)、ピクチャ・サイズ、グループ・オブ・ピクチャ(GOP)のレイアウト、最大動きベクトル探索範囲などを含むことができる。当業者は、コントローラ(450)の他の機能を容易に確認することが可能であり、なぜならそれらは特定のシステム設計のために最適化されたビデオ・エンコーダ(203)に関連し得るからである。
【0051】
[0058] 幾つかのビデオ・エンコーダは、“コーディング・ループ”として当業者が容易に認識されるものにおいて動作する。極端に簡略化した説明として、コーディング・ループは、ソース・コーダー(430)のうちの符号化する部分(コーディングされるべき入力ピクチャと参照ピクチャに基づいてシンボルを生成する責任を負う)と、エンコーダ(203)に組み込まれた(ローカル)デコーダ(433)とにより構成されることが可能であり、(ローカル)デコーダ(433)は、特定のビデオ圧縮技術において、シンボルとコーディングされたビデオ・ビットストリームとの間の圧縮がロスレスである場合に(リモート)デコーダもまた生成することになるサンプル・データを作成するために、シンボルを再構成する。再構成されたサンプル・ストリームは、参照ピクチャ・メモリ(434)に入力されることが可能である。シンボル・ストリームの復号化は、デコーダの位置(ローカル又はリモート)に依存しないビット・イグザクト(bit-exact)な結果をもたらすので、参照ピクチャ・バッファの内容もまた、ローカル・エンコーダとリモート・エンコーダの間でビット・イグザクトである。言い換えると、エンコーダの予測部分は、デコーダが復号化中に予測を使用する場合に“見る(see)”ことになるものと全く同じサンプル値を、参照ピクチャ・サンプルとして“見る”。参照ピクチャの同時性(synchronicity)のこの基本原理(例えば、チャネル・エラーに起因して、同時性を維持することができない場合には、結果としてドリフトが生じる)は、当業者に周知である。
【0052】
[0059] “ローカル”デコーダ(433)の動作は、“リモート”デコーダ(210)のものと同じであるとすることが可能であり、それは
図3に関連して既に詳細に説明されている。しかしながら、シンボルが利用可能であり、且つコーディングされたビデオ・シーケンスに対するエントロピー・コーダー(445)及びパーサー(320)によるシンボルの符号化/復号化はロスレスであるとすることが可能であるので、チャネル(312)、受信機(310)、バッファ(315)及びパーサー(320)を含むデコーダ(210)のエントロピー復号化部分は、ローカル・デコーダ(433)において完全には実装されなくてもよい。
【0053】
[0060] この時点で行うことができる洞察は、解析/エントロピー復号化を除いてデコーダに存在する任意のデコーダ技術は、実質的に同一の機能形態で、対応するエンコーダにも存在する必要があるかもしれないということである。この理由のために、開示される対象事項は、デコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であり得るので、省略することが可能である。特定の分野においてのみ、より詳細な説明が必要とされ、以下において提供される。
【0054】
[0061] ソース・コーダー(430)は、動作の一部として、動き補償された予測コーディングを実行することができ、それは、“参照フレーム”として指定されたビデオ・シーケンスからの1つ以上の以前にコーディングされたフレームを参照して、入力フレームを予測コーディングする。このようにして、コーディング・エンジン(432)は、入力フレームのピクセル・ブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセル・ブロックとの間の差分をコーディングする。
【0055】
[0062] ローカル・ビデオ・デコーダ(433)は、ソース・コーダー(430)によって生成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオ・データを復号化することができる。コーディング・エンジン(432)の動作は、有利なことに、ロスレス・プロセスである可能性がある。コーディングされたビデオ・データがビデオ・デコーダ(
図4では示されていない)で復号化される場合、再構成されたビデオ・シーケンスは、典型的には、幾らかのエラーを伴うソース・ビデオ・シーケンスのレプリカである可能性がある。ローカル・ビデオ・デコーダ(433)は、参照フレームに対してビデオ・デコーダによって実行され得る復号化プロセスを再現し、再構成された参照フレームが、参照ピクチャ・メモリ(434)に記憶されることを引き起こすことが可能である。このようにして、エンコーダ(203)は、遠方端のビデオ・デコーダによって(伝送エラーが無い場合に)得られる再構成された参照フレームと共通の内容を有するローカルに再構成された参照フレームのコピーを記憶することができる。
【0056】
[0063] 予測器(435)は、コーディング・エンジン(432)のために予測探索を実行することができる。即ち、コーディングされるべき新しいフレームに対して、予測器(435)は、サンプル・データ(候補参照ピクセル・ブロックとして)又は特定のメタデータ(例えば、参照ピクチャ動きベクトル、ブロック形状など)について、参照ピクチャ・メモリ(434)を探索することが可能であり、これらは新しいピクチャに対する適切な予測参照として役立つ可能性がある。予測器(435)は、適切な予測参照を発見するために、サンプル・ブロック/ピクセル・ブロック・ベースで動作することが可能である。場合によっては、予測器(435)によって得られた探索結果によって決定されるように、入力ピクチャは、参照ピクチャ・メモリ(434)に記憶された複数の参照ピクチャから引き出される予測参照を有する可能性がある。
【0057】
[0064] コントローラ(450)は、例えば、ビデオ・データを符号化するために使用されるパラメータ及びサブグループ・パラメータの設定を含む、ビデオ・コーダー(430)のコーディング動作を管理することができる。
【0058】
[0065] 前述の全ての機能ユニットの出力は、エントロピー・コーダー(445)においてエントロピー・コーディングの影響を受ける可能性がある。エントロピー・コーダーは、例えば、ハフマン・コーディング、可変長コーディング、算術コーディング等のように当業者に既知の技術に従って、シンボルをロスレス圧縮することによって、種々の機能ユニットで生成された記号を、コーディングされたビデオ・シーケンスに変換する。
【0059】
[0066] 送信機(440)は、エントロピー・コーダー(445)によって作成されるようなコーディングされたビデオ・シーケンスをバッファリングし、通信チャネル(460)を介して送信するために準備することが可能であり、通信チャネル(460)は、符号化されたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。送信機(440)は、ビデオ・コーダ(430)からのコーディングされたビデオ・データを、送信されるべき他のデータ、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリーム(ソースは図示されていない)とマージすることが可能である。
【0060】
[0067] コントローラ(450)はエンコーダ(203)の動作を管理することが可能である。コーディングの間に、コントローラ(450)は、各々のコーディングされたピクチャに、特定のコーディング済みピクチャ・タイプを割り当てることが可能であり、これは、個々のピクチャに適用され得るコーディング技術に影響を及ぼす可能性がある。例えば、しばしばピクチャはイントラ・ピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、又は双方向予測ピクチャ(Bピクチャ)として指定される場合がある。
【0061】
[0068] イントラ・ピクチャ(Iピクチャ)は、シーケンス内の他の如何なるフレームも予測のソースとして使用せずに、符号化及び復号化され得るものであり得る。幾つかのビデオ・コーデックは、例えば、独立デコーダ・リフレッシュ(IDR)ピクチャを含む、異なるタイプのイントラ・ピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれらそれぞれの用途及び特徴を把握している。
【0062】
[0069] 予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大1つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を用いて符号化及び復号化され得るものであり得る。
【0063】
[0070] 双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大2つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を用いて符号化及び復号化され得るものであり得る。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することが可能である。
【0064】
[0071] ソース・ピクチャは、通常、複数のサンプル・ブロック(例えば、4×4、8×8、4×8、又は16×16サンプル各々)に空間的に分割され、ブロック毎にコーディングされることが可能である。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測コーディングされることが可能である。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、又はそれらは同じピクチャの既にコーディングされたブロックを参照して予測コーディング(空間予測又はイントラ予測)されてもよい。Pピクチャのピクセル・ブロックは、以前にコーディングされた1つの参照ピクチャを参照して、空間的予測により、又は時間的予測により、非予測的にコーディングされる可能性がある。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間的予測により、又は時間的予測により、非予測的にコーディングされる可能性がある。
【0065】
[0072] ビデオ・コーダー(203)は、ITU-T Rec. H.265のような所定のビデオ・コーディング技術又は規格に従ってコーディング動作を実行することが可能である。動作の際に、ビデオ・コーダー(203)は、入力ビデオ・シーケンスにおける時間的及び空間的な冗長性を活用する予測コーディング動作を含む種々の圧縮動作を実行することができる。従って、コーディングされたビデオ・データは、使用されているビデオ・コーディング技術又は規格によって指定されたシンタックスに従うことが可能である。
【0066】
[0073] 実施形態では、送信機(440)は、符号化されたビデオと共に追加データを送信することが可能である。ビデオ・コーダー(430)は、コーディングされたビデオ・シーケンスの一部としてそのようなデータを含むことが可能である。追加データは、時間的/空間的/SNRエンハンスメント・レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、補足エンハンスメント情報(SEI)メッセージ、視覚的ユーザビリティ情報(VUI)パラメータ・セット・フラグメントなどを含んでもよい。
【0067】
[0074] [1. ビデオ・パラメータ・セット]
[0075] VVC Draft 9では、ビデオ・パラメータセット(VPS)のシンタックス要素は、表1(詳細説明の末尾を参照されたい)に示すように与えられてもよい。
【0068】
[0076] VPSロー・バイト・シーケンス・ペイロード(raw byte sequence payload, RBSP)は、それが参照される前に、復号化プロセスに対して利用可能であるように要求され、0に等しいTemporalIdとともに少なくとも1つのアクセス・ユニット(AU)に含まれるか、又は外部手段により提供されてもよい。
【0069】
[0077] コーディングされたビデオ・シーケンス(CVS)中のvps_video_parameter_set_idの特定の値を有する全てのVPSネットワーク抽象レイヤ(NAL)ユニットは、同じ内容を有するように要求される可能性がある。
【0070】
[0078] シンタックス要素vps_video_parameter_set_idは、他のシンタックス要素による参照のためにVPSの識別子を提供する。vps_video_parameter_set_idの値は、0より大きいことを要求される可能性がある。
【0071】
[0079] シンタックス要素vps_max_layers_minus1プラス1は、VPSによって指定されるレイヤの数を指定し、これは、VPSを参照する各CVSにおけるレイヤの最大許容数である。
【0072】
[0080] シンタックス要素vps_max_sublayers_minus1プラス1は、VPSによって指定されるレイヤに存在する可能性がある時間サブレイヤの最大数を指定する。vps_max_sublayers_minus1の値は、両端を含む0ないし6の範囲内にあることを要求されてもよい。
【0073】
[0081] 1に等しいシンタックス要素vps_all_layers_same_num_sublayers_flagは、VPSで指定された全てのレイヤについて、時間サブレイヤの数が同じであることを指定する。0に等しいシンタックス要素vps_all_layers_same_num_sublayers_flagは、VPSで指定されたレイヤが、同数の時間サブレイヤを有していてもいなくてもよいことを指定する。存在しない場合、vps_all_layers_same_num_sublayers_flagの値は1に等しいと推定されてもよい。
【0074】
[0082] 1に等しいシンタックス要素vps_all_independent_layers_flagは、VPSによって指定された全てのレイヤが、インター・レイヤ予測を用いることなく独立にコーディングされることを指定する。0に等しいシンタックス要素vps_all_independent_layers_flagは、VPSによって指定される1つ以上のレイヤが、インター・レイヤ予測を使用してもよいことを指定する。存在しない場合、vps_all_independent_layers_flagの値は1に等しいと推定されてもよい。
【0075】
[0083] シンタックス要素vps_layer_id[ i ]は、i番目のレイヤのnuh_layer_idの値を指定する。mとnの任意の2つの非負の整数値に関し、mがnより小さい場合、vps_layer_id[ m ]の値は、vps_layer_id[ n ]より小さいことを要求される可能性がある。
【0076】
[0084] 1に等しいシンタックス要素vps_independent_layer_flag[ i ]は、インデックスiのレイヤが、インター・レイヤ予測を使用しないことを指定する。0に等しいシンタックス要素vps_independent_layer_flag[ i ]は、インデックスiのレイヤが、インター・レイヤ予測を使用してもよいことを指定し、両端を含む0ないしi-1の範囲内にあるjに関し、シンタックス要素vps_direct_ref_layer_flag[ i ][ j ]は、VPSに存在する。存在しない場合、vps_independent_layer_flag[ i ]の値は1に等しいと推定されてもよい。
【0077】
[0085] 1に等しいシンタックス要素vps_max_tid_ref_present_flag[ i ]は、シンタックス要素vps_max_tid_il_ref_pics_plus1[ i ][ j ]が存在することを指定する。0に等しいシンタックス要素vps_max_tid_ref_present_flag[ i ]は、シンタックス要素vps_max_tid_il_ref_pics_plus1[ i ][ j ]が存在しないことを指定する。
【0078】
[0086] 0に等しいシンタックス要素vps_direct_ref_layer_flag[ i ][ j ]は、インデックスjのレイヤが、インデックスiのレイヤに対するダイレクト参照レイヤではないことを指定する。1に等しいシンタックス要素vps_direct_ref_layer_flag[ i ][ j ]は、インデックスjのレイヤが、インデックスiのレイヤに対するダイレクト参照レイヤであることを指定する。両端を含む0ないしvps_max_layers_minus1の範囲内にあるi及びjに関し、vps_direct_ref_layer_flag[ i ][ j ]が存在しない場合、それは0に等しいと推定されてもよい。vps_independent_layer_flag[ i ]が0に等しい場合、両端を含む0ないしi-1の範囲内にある少なくとも1つのjの値が存在することが必要とされる可能性があり、その結果、vps_direct_ref_layer_flag[ i ][ j ]の値は1に等しい。
【0079】
[0087] 変数NumDirectRefLayers[ i ], DirectRefLayerIdx[ i ][ d ], NumRefLayers[ i ], RefLayerIdx[ i ][ r ], 及びLayerUsedAsRefLayerFlag[ j ]は、以下のように導出されてもよい:
【0080】
【数1】
[0088] vps_layer_id[ i ]に等しいnuh_layer_idを伴うレイヤのレイヤ・インデックスを指定する変数GeneralLayerIdx[ i ]は、以下のように導出されてもよい:
【0081】
【数2】
[0089] 任意の2つの異なる値i, jに関し、両端を含む0ないしvps_max_layers_minus1の範囲内において、dependencyFlag[ i ][ j ]が1に等しい場合、それは、i番目のレイヤに適用するsps_chroma_format_idcとsps_bit_depth_minus8の値はそれぞれ、j番目のレイヤに適用するsps_chroma_format_idcとsps_bit_depth_minus8 の値に等しいものとする、というビットストリーム適合性の要件であってもよい。
【0082】
[0090] 0に等しいシンタックス要素vps_max_tid_il_ref_pics_plus1[ i ][ j ]は、次のことを指定する:0に等しいph_recovery_poc_cntを伴う漸次的デコーダ・リフレッシュ(gradual decoder refresh, GDR)ピクチャでもイントラ・ランダム・アクセス・ポイント(IRAP)ピクチャでもないj番目のレイヤのピクチャは、i番目のレイヤのピクチャの復号化のためのインター・レイヤ参照ピクチャ(ILRP)として使用されない。0より大きいシンタックス要素vps_max_tid_il_ref_pics_plus1[ i ][ j ]は、i番目のレイヤのピクチャを復号化する場合に、vps_max_tid_il_ref_pics_plus1[ i ][ j ] - 1より大きなTemporalIdを有するj番目のレイヤからのピクチャで、ILRPとして使用されるものはないことを指定する。存在しない場合、vps_max_tid_il_ref_pics_plus1[ i ][ j ]の値は、vps_max_sublayers_minus1 + 1に等しいと推定されてもよい。
【0083】
[0091] 1に等しいシンタックス要素vps_each_layer_is_an_ols_flagは、次のことを指定する:各出力レイヤセット(OLS)が唯1つのレイヤのみを含み、VPSを参照するCVSの各レイヤ自体は、唯1つの出力レイヤである単一の組み込まれたレイヤを伴うOLSである。0に等しいシンタックス要素vps_each_layer_is_an_ols_flagは、少なくとも1つのOLSが1つより多いレイヤを含むことを指定する。vps_max_layers_minus1が0に等しい場合、vps_each_layer_is_an_ols_flagの値は、1に等しいと推定されてもよい。そうではない場合、vps_all_independent_layers_flagが0に等しいならば、vps_each_layer_is_an_ols_flagの値は、0に等しいと推定されてもよい。
【0084】
[0092] 0に等しいシンタックス要素vps_ols_mode_idcは、次のことを指定する:VPSで指定されたOLSの総数は、vps_max_layers_minus1 + 1に等しく、i番目のOLSは、両端を含む0ないしiからのレイヤ・インデックスを有するレイヤを含み、各OLSに関し、OLSの最上位のレイヤのみが出力レイヤである。
【0085】
[0093] 1に等しいシンタックス要素vps_ols_mode_idcは、次のことを指定する:VPSで指定されたOLSの総数は、vps_max_layers_minus1 + 1に等しく、i番目のOLSは、両端を含む0ないしiからのレイヤ・インデックスを有するレイヤを含み、各OLSに関し、OLSの全てのレイヤは出力レイヤである。
【0086】
[0094] 2に等しいシンタックス要素vps_ols_mode_idcは、次のことを指定する:VPSで指定されたOLSの総数が明示的にシグナリングされ、各OLSに対して出力レイヤが明示的にシグナリングされ、他のレイヤは、OLSの出力レイヤの直接的又は間接的な参照レイヤであるレイヤである。
【0087】
[0095] vps_ols_mode_idcの値は両端を含む0ないし2の範囲内にあるように要求されてもよい。vps_ols_mode_idcの値3は、ITU-T | ISO/IECによる将来的な利用のために予約されてもよい。
【0088】
[0096] vps_all_independent_layers_flagが1に等しく、vps_each_layer_is_an_ols_flagが0に等しい場合、vps_ols_mode_idcの値は2に等しいと推定されてもよい。
【0089】
[0097] シンタックス要素vps_num_output_layer_sets_minus1プラス1は、vps_ols_mode_idcが2に等しい場合に、VPSで指定されるOLSの総数を指定する。
【0090】
[0098] VPSで指定されるOLSの総数を指定する変数TotalNumOlssは、以下のように導出されてもよい:
【0091】
【数3】
[0099] 1に等しいシンタックス要素vps_ols_output_layer_flag[ i ][ j ]は、vps_ols_mode_idcが2に等しい場合に、vps_layer_id[ j ]に等しいnuh_layer_idを有するレイヤはi番目のOLSの出力レイヤであることを指定する。0に等しいシンタックス要素vps_ols_output_layer_flag[ i ][ j ]は、vps_ols_mode_idcが2に等しい場合に、vps_layer_id[ j ]に等しいnuh_layer_idを有するレイヤはi番目のOLSの出力レイヤではないことを指定する。
【0092】
[0100] i番目のOLSの出力レイヤの数を指定する変数NumOutputLayersInOls[ i ]と、i番目のOLSのj番目のレイヤのサブレイヤの数を指定する変数NumSubLayersInLayerInOLS[ i ][ j ]と、i番目のOLSのj番目の出力レイヤのnuh_layer_id値を指定する変数OutputLayerIdInOls[ i ][ j ]と、k番目のレイヤが、少なくとも1つのOLSの出力レイヤとして使用されるかどうかを指定する変数LayerUsedAsOutputLayerFlag[ k ]とは、以下のように導出されてもよい:
【0093】
【数4】
[0101] 両端を含む0ないしvps_max_layers_minus1の範囲内にあるiの各値に関し、LayerUsedAsRefLayerFlag[ i ]とLayerUsedAsOutputLayerFlag[ i ]の値は、双方とも0に等しくはないように要求されてもよい。換言すれば、少なくとも1つのOLSの出力レイヤでも、何らかの他のレイヤのダイレクト参照レイヤでもないレイヤは存在しないように要求されてもよい。
【0094】
[0102] 各OLSについて、出力レイヤである少なくとも1つのレイヤが存在するように要求されてもよい。両端を含む0ないしTotalNumOlss - 1の範囲内のiの各値に関し、NumOutputLayersInOls[ i ]の値は、 1以上であるように要求されてもよい。
【0095】
[0103] i番目のOLSのレイヤの数を指定する変数NumLayersInOls[ i ]と、i番目のOLSのj番目のレイヤのnuh_layer_id値を指定する変数LayerIdInOls[ i ][ j ]と、マルチ・レイヤOLS(1つより多いレイヤを含むOLS)の数を指定する変数NumMultiLayerOlssと、NumLayersInOls[ i ]が0より大きい場合に、i番目のOLSに対するマルチ・レイヤOLSのリストに対するインデックスを指定する変数MultiLayerOlsIdx[ i ]は、以下のように導出されてもよい:
【0096】
【数5】
[0104] 実施形態によれば、0番目のOLSは、最下位レイヤ(即ち、vps_layer_id[0]に等しいnuh_layer_idを有するレイヤ)のみを含み、0番目のOLSについては、包含される唯一のレイヤが出力される。
【0097】
[0105] LayerIdInOls[ i ][ j ]に等しいnuh_layer_idを有するレイヤのOLSレイヤ・インデックスを指定する変数OlsLayerIdx[ i ][ j ]は、以下のように導出されてもよい:
【0098】
【数6】
[0106] 各OLSの最下位レイヤは、独立レイヤであることを要求されてもよい。換言すれば、両端を含む0ないしTotalNumOlss - 1の範囲内の各iに関し、vps_independent_layer_flag[ GeneralLayerIdx[ LayerIdInOls[ i ][ 0 ] ] ]の値は、1に等しいことを要求されてもよい。
【0099】
[0107] 各レイヤは、VPSで指定される少なくとも1つのOLSに含まれるように要求されてもよい。換言すれば、両端を含む0ないしvps_max_layers_minus1のレンジ内のkに対するvps_layer_id[ k ]のうちの1つに等しいnuhLayerId、nuh_layer_idの特定の値を有する各レイヤに関し、i, jの値の少なくとも1つのペアが存在するように要求されてもよく、この場合において、iは両端を含む0ないしTotalNumOlss - 1の範囲内にあり、jは両端を含むNumLayersInOls[ i ] - 1の範囲内にあり、その結果、LayerIdInOls[ i ][ j ]の値はnuhLayerIdに等しい。
【0100】
[0108] シンタックス要素vps_num_ptls_minus1 plus 1は、VPSにおけるprofile_tier_level( )シンタックス構造の数を指定する。vps_num_ptls_minus1の値は、TotalNumOlssより小さいように要求されてもよい。
【0101】
[0109] 1に等しいシンタックス要素vps_pt_present_flag[ i ]は、プロファイル、階層、及び一般的制約情報が、VPSにおけるi番目のprofile_tier_level( )シンタックス構造に存在することを指定する。0に等しいvps_pt_present_flag[ i ]は、プロファイル、階層、及び一般的制約情報が、VPSにおけるi番目のprofile_tier_level( )シンタックス構造に存在しなことを指定する。vps_pt_present_flag[ 0 ]の値は、1に等しいと推定されてもよい。vps_pt_present_flag[ i ]が0に等しい場合、VPSにおけるi番目のprofile_tier_level( )シンタックス構造に対するプロファイル、階層、及び一般的制約情報は、VPSにおける(i-1)番目のprofile_tier_level( )シンタックス構造に対するものと同じであるように推定されてもよい。
【0102】
[0110] シンタックス要素vps_ptl_max_temporal_id[ i ]は、最も高いサブレイヤ表現のTemporalIdを指定し、それに対するレベル情報は、VPS のi 番目のprofile_tier_level( )シンタックス構造に存在する。vps_ptl_max_temporal_id[ i ]の値は、両端を含む0ないしvps_max_sublayers_minus1のレンジ内にあるように要求されてもよい。存在しない場合、vps_ptl_max_temporal_id[ i ]の値は、vps_max_sublayers_minus1に等しいと推定されてもよい。
【0103】
[0111] シンタックス要素vps_ptl_alignment_zero_bitは、0に等しいことを要求されてもよい。
【0104】
[0112] シンタックス要素vps_ols_ptl_idx[ i ]は、i番目のOLSに適用するprofile_tier_level( )構文構造のインデックスであって、VPSにおけるprofile_tier_level( )構文構造のリストに対するインデックスを指定する。存在する場合、vps_ols_ptl_idx[ i ]の値は、両端を含む0ないしvps_num_ptls_minus1のレンジ内にあるように要求されてもよい。
【0105】
[0113] 存在しない場合、vps_ols_ptl_idx[ i ]の値は、以下のように推定されてもよい:vps_num_ptls_minus1が0に等しいならば、vps_ols_ptl_idx[ i ]の値は0に等しいと推定されてもよい。そうではない場合(vps_num_ptls_minus1は0より大きく、且つvps_num_ptls_minus1 + 1はTotalNumOlssに等しい)、vps_ols_ptl_idx[ i ]の値はiに等しいと推定されてもよい。
【0106】
[0114] NumLayersInOls[ i ]が1に等しい場合、i番目のOLSに適用するprofile_tier_level( )シンタックス構造は、i番目のOLSのレイヤによって参照されるSPSにも存在する。それは、NumLayersInOls[ i ]が1に等しい場合に、i番目のOLSに関してVPSにおいて及びSPSにおいてシグナリングされるprofile_tier_level( )シンタックス構造は同一であるものとする、というビットストリーム適合性の要件であってもよい。
【0107】
[0115] VPSの各profile_tier_level( )シンタックス構造は、両端を含む0ないしTotalNumOlss - 1の範囲内のiに対して、vps_ols_ptl_idx[ i ]の少なくとも1つの値によって参照されるように要求されてもよい。
【0108】
[0116] シンタックス要素vps_num_dpb_params_minus1は、存在する場合、VPSのdpb_parameters( )シンタックス構造の数を指定する。vps_num_dpb_params_minus1の値は、両端を含む0ないしNumMultiLayerOlss - 1の範囲内にあるように要求されてもよい。
【0109】
[0117] VPSにおけるdpb_parameters( )シンタックス構造の数を指定する変数VpsNumDpbParamsは、以下のように導出されてもよい:
【0110】
【数7】
[0118] シンタックス要素vps_sublayer_dpb_params_present_flagは、VPSのdpb_parameters( )シンタックス構造における、max_dec_pic_buffering_minus1[ ]、max_num_reorder_pics[ ]、及びmax_latency_increase_plus1[ ]シンタックス要素の存在を制御するために使用される。存在しない場合、vps_sub_dpb_params_info_present_flagは0に等しいと推定されてもよい。
【0111】
[0119] シンタックス要素vps_dpb_max_temporal_id[ i ]は、最も高いサブレイヤ表現のTemporalIdを指定し、それに対するDPBパラメータは、VPS のi 番目のdpb_parameters( )シンタックス構造に存在してもよい。vps_dpb_max_temporal_id[ i ]の値は、両端を含む0ないしvps_max_sublayers_minus1の範囲内にあるように要求されてもよい。存在しない場合、vps_dpb_max_temporal_id[ i ]の値は、vps_max_sublayers_minus1に等しいと推定されてもよい。
【0112】
[0120] シンタックス要素vps_ols_dpb_pic_width[ i ]は、i番目のマルチ・レイヤOLSの各ピクチャ・ストレージ・バッファの幅をルマ・サンプル単位で指定する。
【0113】
[0121] シンタックス要素vps_ols_dpb_pic_height[ i ]は、i番目のマルチ・レイヤOLSの各ピクチャ・ストレージ・バッファの高さをルマ・サンプル単位で指定する。
【0114】
[0122] シンタックス要素vps_ols_dpb_chroma_format[ i ]は、i 番目のマルチ・レイヤOLSのCVSにおいてCLVSによって参照される全てのSPSに関し、sps_chroma_format_idcの最大許容値を指定する。
【0115】
[0123] シンタックス要素vps_ols_dpb_bitdepth_minus8[ i ]は、i 番目のマルチ・レイヤOLSのCVSにおいてCLVSによって参照される全てのSPSに関し、sps_bit_depth_minus8の最大許容値を指定する。
【0116】
[0124] 実施形態によれば、i番目のマルチ・レイヤOLSを復号化するために、デコーダは、シンタックス要素vps_ols_dpb_pic_width[ i ], vps_ols_dpb_pic_height[ i ], vps_ols_dpb_chroma_format[ i ], 及びvps_ols_dpb_bitdepth_minus8[ i ]の値に従って、DPBに関してメモリを安全に割り当てることができる。
【0117】
[0125] シンタックス要素vps_ols_dpb_params_idx[ i ]は、i番目のマルチ・レイヤOLSに適用するdpb_parameters( )シンタックス構造のインデックスであって、VPSにおけるdpb_parameters( )シンタックス構造のリストに対するインデックスを指定する。存在する場合、vps_ols_dpb_params_idx[ i ]の値は、両端を含む0ないしVpsNumDpbParams - 1の範囲内にあるように要求されてもよい。
【0118】
[0126] vps_ols_dpb_params_idx[ i ]が存在しない場合、それは以下のように推定されてもよい:VpsNumDpbParamsが1に等しいならば、vps_ols_dpb_params_idx[ i ]の値は0に等しいと推定されてもよい。そうではない場合(VpsNumDpbParamsは1より大きく、NumMultiLayerOlssに等しい)、vps_ols_dpb_params_idx[ i ]の値はiに等しいと推定されてもよい。
【0119】
[0127] 単一レイヤOLSの場合、適用可能なdpb_parameters( )シンタックス構造は、OLS内のレイヤによって参照されるSPS内に存在する。
【0120】
[0128] VPSにおける各dpb_parameters( )シンタックス構造は、両端を含む0ないしNumMultiLayerOlss - 1の範囲内のiに関し、vps_ols_dpb_params_idx[ i ]の少なくとも1つの値によって参照されるように要求されてもよい。
【0121】
[0129] 1に等しいシンタックス要素vps_general_hrd_params_present_flagは、VPSがgeneral_hrd_parameters( )シンタックス構造とその他のHRDパラメータとを含むことを指定する。0に等しいシンタックス要素vps_general_hrd_params_present_flagは、VPSがgeneral_hrd_parameters( )シンタックス構造とその他のHRDパラメータとを含まないことを指定する。
【0122】
[0130] NumLayersInOls[ i ]が1に等しい場合、i番目のOLSに適用するgeneral_hrd_parameters( )シンタックス構造とols_hrd_parameters( )シンタックス構造とは、i番目のOLSのレイヤによって参照されるSPS内に存在する。
【0123】
[0131] 1に等しいシンタックス要素vps_sublayer_cpb_params_present_flagは、VPSにおけるi番目のols_hrd_parameters( )シンタックス構造が、両端を含む0ないしvps_hrd_max_tid[ i ]の範囲内にあるTemporalIdを有するサブレイヤ表現に対するHRDパラメータを含むことを指定する。0に等しいシンタックス要素vps_sublayer_cpb_params_present_flagは、VPSにおけるi番目のols_hrd_parameters( )シンタックス構造が、vps_hrd_max_tid[ i ]のみに等しいTemporalIdを有するサブレイヤ表現に対するHRDパラメータを含むことを指定する。vps_max_sublayers_minus1が0に等しい場合、vps_sublayer_cpb_params_present_flagの値は、0に等しいと推定されてもよい。
【0124】
[0132] vps_sublayer_cpb_params_present_flagが0に等しい場合、両端を含む0ないしvps_hrd_max_tid[ i ] - 1の範囲内のTemporalIdを有するサブレイヤ表現に対するHRDパラメータは、vps_hrd_max_tid[ i ]に等しいTemporalIdを有するサブレイヤ表現に対するものと同じであるように推定されてもよい。これらは、ols_hrd_parametersシンタックス構造において、fixed_pic_rate_general_flag[ i ]シンタックス構造から始まって、条件“if( general_vcl_hrd_params_present_flag )”直下のsublayer_hrd_parameters( i )シンタックス構造までのHRDパラメータを含む。
【0125】
[0133] シンタックス要素vps_num_ols_hrd_params_minus1プラス1は、vps_general_hrd_params_present_flagが1に等しい場合に、VPSに存在するols_hrd_parameters( )シンタックス構造の数を指定する。vps_num_ols_hrd_params_minus1の値は、両端を含む0ないしNumMultiLayerOlss - 1の範囲内にあるように要求されてもよい。
【0126】
[0134] シンタックス要素vps_hrd_max_tid[ i ]は、て高いサブレイヤ表現のTemporalIdを指定し、それに対するHRDパラメータは、i番目のols_hrd_parameters( )シンタックス構造に含まれている。vps_hrd_max_tid[ i ]の値は、両端を含む0ないしvps_max_sublayers_minus1の範囲内にあるように要求されてもよい。存在しない場合、vps_hrd_max_tid[ i ]の値は、vps_max_sublayers_minus1に等しいと推定されてもよい。
【0127】
[0135] シンタックス要素vps_ols_hrd_idx[ i ]は、i番目のマルチ・レイヤOLSに適用するols_hrd_parameters( )シンタックス構造のインデックスであって、VPSのols_hrd_parameters( )シンタックス構造のリストに対するインデックスを指定する。vps_ols_hrd_idx[ i ]の値は、両端を含む0ないしvps_num_ols_hrd_params_minus1の範囲内にあるように要求されてもよい。
【0128】
[0136] vps_ols_hrd_idx[ i ]が存在しない場合、それは以下のように推定されてもよい:vps_num_ols_hrd_params_minus1が0に等しいならば、vps_ols_hrd_idx[[ i ]の値は、0に等しいと推定されてもよい。そうではない場合(vps_num_ols_hrd_params_minus1 + 1は、1より大きく、NumMultiLayerOlssに等しい)、vps_ols_hrd_idx[ i ]の値は、iに等しいと推定されてもよい。
【0129】
[0137] 単一レイヤOLSの場合、適用可能なols_hrd_parameters( )シンタックス構造は、OLS内のレイヤによって参照されるSPS内に存在する。
【0130】
[0138] VPSにおける各ols_hrd_parameters( )シンタックス構造は、両端を含む1ないしNumMultiLayerOlss - 1の範囲内のiに関し、vps_ols_dpb_params_idx[ i ]の少なくとも1つの値によって参照されるように要求されてもよい。
【0131】
[0139] 0に等しいシンタックス要素vps_extension_flagは、vps_extension_data_flagシンタックス要素がVPS RBSPシンタックス構造に存在するものではないことを指定する。1に等しいシンタックス要素vps_extension_flagは、vps_extension_data_flagシンタックス要素がVPS RBSPシンタックス構造に存在することを指定する。
【0132】
[0140] シンタックス要素vps_extension_data_flagは、如何なる値を有してもよい。その存在及び値は、何らかの実施形態で指定されるプロファイルに対するデコーダの適合性に影響しない可能性がある。何らかの実施形態に準拠するデコーダは、全てのvps_extension_data_flagシンタックス要素を無視する可能性がある。
【0133】
[0141] [2. シーケンス・パラメータ・セット]
[0142] VVCドラフト8では、表2(詳細な説明の末尾を参照されたい)に示されるように、シーケンス・パラメータ・セット(SPS)におけるシンタックス要素が提供されてもよい。そのようなシンタックス要素は、イントラ・コーディング及びインター・コーディングに関連することが可能である。HEVCと比較して、より多くのシンタックス要素がSPSに存在する。イントラ・スライスのみから構成される何らかのイントラ・プロファイルに対して、インター・コーディング・シンタックス要素は、デコード処理に使用されない可能性があることに留意されたい。何らかの静止画プロファイルでも状況は同じである可能性がある。
【0134】
[0143] [3. 実施形態の例]
[0144] 本開示の実施形態は、別々に又は任意の順序で組み合わせて使用されてもよい。更に、各々の実施形態(例えば、方法、エンコーダ、及びデコーダ)は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に格納されたプログラムを実行する。本開示の実施形態は、上記の態様(例えば、VPS及びSPS)を実施することができる。また、本開示の実施形態は、以下の態様を実装する可能性がある。
【0135】
[0145] 態様1:本開示の実施形態は、vps_video_parameter_set_idシンタックス要素の値についての異なる範囲を有してもよい。vps_video_parameter_set_idの値の範囲は、ビットストリーム内のps_video_parameter_set_idの存在に依存してもよい。ビットストリームが単一のレイヤを有するだけである場合、VPSは、そのビットストリーム内に存在しない可能性があり、vps_video_parameter_set_idが0に等しいことを要求される可能性がある。
【0136】
[0146] シンタックス要素vps_video_parameter_set_idは、他のシンタックス要素によって参照するためのVPSの識別子を提供する。vps_video_parameter_set_idが存在する場合、vps_video_parameter_set_idの値の範囲は、0 より大きいことを要求される可能性がある。存在しないか、又はsps_video_parameter_set_idが0に等しい場合、vps_video_parameter_set_idの値は0であると推定される可能性がある。
【0137】
[0147] 態様2:ビットストリームが単一のレイヤを有するだけである場合、VPSは、そのビットストリーム内に存在しない可能性があり、vps_max_sublayers_minus1が0に等しいことを要求される可能性がある。実施形態によれば、VPSが存在しない場合、vps_layer_id [0]は、値0として推定されてもよい。
【0138】
[0148] シンタックス要素vps_layer_id[ i ]は、i番目のレイヤのnuh_layer_id値を指定する。mとnの任意の2つの非負の整数値に関し、mがnより小さい場合、vps_layer_id[ m ]の値は、vps_layer_id[ n ]より小さいことを要求される可能性がある。存在しない場合、vps_layer_id [0] は0であるように推定される可能性がある。
【0139】
[0149] 態様3:本開示の実施形態は、vps_max_tid_ref_present_flag[ i ]のデフォルト値を有する可能性があり、ここで、iは0からvps_max_layers_minus1の範囲を有する。vps_max_tid_ref_present_flag[ i ]のデフォルト値は、全てのiに対して0 であってもよい。kが0からvps_max_layers_minus1の範囲にある任意のkに関し、vps_max_tid_ref_present_flag[ k ]のシグナリングされた値は、デフォルト値0を上書きすることができる。
【0140】
[0150] 1に等しいシンタックス要素vps_max_tid_ref_present_flag[ i ]は、シンタックス要素vps_max_tid_il_ref_pics_plus1[ i ][ j ]が存在することを指定する。0に等しいシンタックス要素vps_max_tid_ref_present_flag[ i ]は、シンタックス要素vps_max_tid_il_ref_pics_plus1[ i ][ j ]が存在しないことを指定する。vps_max_tid_ref_present_flag[ i ]が存在しない場合、vps_max_tid_ref_present_flag[ i ]の値は0であるように推定されてもよい。
【0141】
[0151] 態様4:本開示の実施形態は、vps_all_independent_layers_flagが1に等しく、vps_each_layer_is_an_ols_flagが1に等しい場合に、vps_ols_mode_idcの値を推定してもよい。
【0142】
[0152] 態様4.1:一実施形態において、vps_all_independent_layers_flagが1に等しく、vps_each_layer_is_an_ols_flagが1に等しい場合に、vps_ols_mode_idcの推定された値は0である。
【0143】
[0153] 0に等しいシンタックス要素vps_ols_mode_idcは、次のことを示す:VPSで指定されたOLSの総数がvps_max_layers_minus1 + 1であり、i番目のOLSは、両端を含む0からiまでのレイヤ・インデックスを有するレイヤを含み、各OLSに関し、OLSの最上位のレイヤのみが出力レイヤである。
【0144】
[0154] 1に等しいシンタックス要素vps_ols_mode_idcは、次のことを示す:VPSで指定されたOLSの総数がvps_max_layers_minus1 + 1であり、i番目のOLSは、両端を含む0からiまでのレイヤ・インデックスを有するレイヤを含み、各OLSに関し、OLSの全てのレイヤは出力レイヤである。
【0145】
[0155] 2に等しいシンタックス要素vps_ols_mode_idcは、次のことを指定する:VPSで指定されたOLSの総数が明示的にシグナリングされ、各OLSに対して出力レイヤが明示的にシグナリングされ、他のレイヤは、OLSの出力レイヤの直接的又は間接的な参照レイヤであるレイヤである。
【0146】
[0156] vps_ols_mode_idcの値は両端を含む0ないし2の範囲内にあるように要求されてもよい。vps_ols_mode_idcの値3は、ITU-T | ISO/IECによる将来的な利用のために予約されてもよい。
【0147】
[0157] vps_all_independent_layers_flagが1に等しく、vps_each_layer_is_an_ols_flagが0に等しい場合、vps_ols_mode_idcの値は2に等しいと推定されてもよい。vps_all_independent_layers_flagが1に等しく、vps_each_layer_is_an_ols_flagが1に等しい場合、vps_ols_mode_idcの値は0に等しいと推定されてもよい。
【0148】
[0158] [4. コンピュータ・コード例]
[0159] 本開示の実施形態は、少なくとも1つのプロセッサと、コンピュータ・コードを記憶するメモリと含んでもよい。コンピュータ・コードは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、本開示の実施形態の機能を実行させるように構成することが可能である。
【0149】
[0160] 例えば、
図5を参照すると、本開示のデコーダ(500)は、少なくとも1つのプロセッサと、コンピュータ・コードを記憶するメモリとを含む可能性がある。コンピュータ命令は、推定コード(510)と復号化コード(520)とを含む可能性がある。デコーダ(500)は、
図2-3に示すビデオ・デコーダ(210)を実装することができる。デコーダ(500)は、少なくとも1つのコーディングされたピクチャとパラメータ・セット(例えば、SPS及びVPS)を含むビットストリームを受信するように構成されることが可能である。
【0150】
[0161] 推定コード(510)は、少なくとも1つのプロセッサが、例えば(「実施形態の例」の)本開示のサブセクション3の1つ以上の態様1-4.1に従って、シンタックス要素の値を推定することを引き起こすように構成されてもよい。少なくとも1つのプロセッサは、本開示で説明されるような条件が満たされるか否かを決定することに基づいて、値を推定することができる。例えば、少なくとも1つのプロセッサは、vps_video_parameter_set_idがビットストリーム内で提供されていない旨の判断に基づいて、vps_video_parameter_set_idの値を推定することができる。代替的又は追加的に、少なくとも1つのプロセッサは、本開示で説明されているように、上記の決定及び/又は条件の他の決定に基づいて、他のシンタックス要素の値を推定してもよい。
【0151】
[0162] 復号化コード(520)は、少なくとも1つのプロセッサが、(「実施形態の例」の)本開示のサブセクション3の態様1-4.1の推定された1つ以上のシンタックス要素に基づいて、少なくとも1つの符号化画像を復号化するように構成されてもよい。
【0152】
[0163] 上述した本開示の実施形態の技術は、コンピュータ読み取り可能な命令を用いるコンピュータ・ソフトウェアであって、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶することが可能なコンピュータ・ソフトウェアとして実装することが可能である。例えば、
図6は、開示される対象事項の実施形態を実装するのに適したコンピュータ・システム(900)を示す。
【0153】
[0164] コンピュータ・ソフトウェアは、直接的に又は解釈、マイクロコード実行等を介して、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって実行されることが可能な命令を含むコードを生成するために、アセンブリ、コンパイル、リンク等のメカニズムの影響を受けることが可能な、任意の適切なマシン・コード又はコンピュータ言語を使用してコーディングされることが可能である。
【0154】
[0165] 命令は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーム装置、モノのインターネット(IoT)等を含む、種々の種類のコンピュータ又はその構成部品において実行されることが可能である。
【0155】
[0166] コンピュータ・システム(900)に関する
図6に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータ・ソフトウェアの用途又は機能の範囲に関する如何なる限定も示唆するようには意図されていない。また、構成要素の構成は、コンピュータ・システム(900)の例示的な実施形態に示される構成要素の任意の1つ又は組み合わせに関する何らかの従属性又は要件を有するものとして解釈されるべきではない。
【0156】
[0167] コンピュータ・システム(900)は、特定のヒューマン・インターフェース入力デバイスを含んでもよい。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データ・グローブの動き)、オーディオ入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介して、1人以上の人間ユーザーによる入力に応答する可能性がある。また、ヒューマン・インターフェース・デバイスは、オーディオ(例えば、会話、音楽、周囲の音)、画像(例えば、スキャンされた画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接的に関係しない特定の媒体を捕捉するために使用することも可能である。
【0157】
[0168] 入力ヒューマン・インターフェース・デバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチ・スクリーン(910)、データ・グローブ、ジョイスティック(905)、マイクロホン(906)、スキャナ(907)、カメラ(908)のうちの1つ以上を(それぞれ1つしか描かれていないが)含んでもよい。
【0158】
[0169] コンピュータ・システム(900)は、特定のヒューマン・インターフェース出力デバイスを含むことも可能である。このようなヒューマン・インターフェース出力デバイスは、例えば、触覚出力、音、光、及び匂い/味を通じて、1人以上の人間ユーザーの感覚を刺激することができる。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイス(例えば、タッチ・スクリーン(910)、データ・グローブ、又はジョイスティック(905)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバック・デバイスが存在することも可能である)を含んでもよい。例えば、そのようなデバイスは、オーディオ出力デバイス(例えば、スピーカ(909)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマ・スクリーン、OLEDスクリーンを含むスクリーン(910)であり、各々はタッチ・スクリーン入力機能を備えているか又は備えておらず、各々は触覚フィードバック能力を備えているか又は備えておらず、それらのうちの一部は、2次元的な視覚出力又は立体視出力のような手段による3以上の次元の出力を出力することが可能であってもよい)、仮想現実メガネ(図示せず)、ホログラフィック・ディスプレイ、及びスモーク・タンク(図示せず))、及びプリンタ(図示せず)であってもよい。
【0159】
[0170] コンピュータ・システム(900)は、CD/DVD又は類似の媒体(921)を有するCD/DVD ROM/RW(920)を含む光媒体、サム・ドライブ(922)、取り外し可能なハード・ドライブ又はソリッド・ステート・ドライブ(923)、テープ及びフロッピー・ディスク(図示せず)のようなレガシー磁気媒体、セキュリティ・ドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイスなどのような、人間がアクセスできる記憶装置及びそれらの関連媒体を含むことも可能である。
【0160】
[0171] 当業者は、本開示の対象事項に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、又はその他の一時的な信号を包含しないことも理解するはずである。
【0161】
[0172] コンピュータ・システム(900)は、1つ以上の通信ネットワークに対するインターフェースを含むことも可能である。ネットワークは、例えば、無線、有線、光であるとすることが可能である。ネットワークは、更に、ローカル、ワイド・エリア、メトロポリタン、車両及びインダストリアル、リアルタイム、遅延耐性などであるとすることが可能である。ネットワークの例は、イーサーネット、無線LAN、セルラー・ネットワーク(GSM、3G、4G、5G、LTEなどを含む)、TV有線又は無線ワイド・エリア・デジタル・ネットワーク(ケーブルTV、衛星TV、地上放送TVを含む)、CANBusを含む車両及びインダストリアル等を含む。特定のネットワークは、一般に、特定の汎用データ・ポート又は周辺バス(949)に接続される外部ネットワーク・インターフェース・アダプタ(例えば、コンピュータ・システム(900)のUSBポート)を必要とし;他のネットワークは、一般に、後述するようなシステム・バスへの接続によって、コンピュータ・システム900のコアに組み込まれる(例えば、イーサーネット・インターフェースはPCコンピュータ・システムに組み込まれ、セルラー・ネットワーク・インターフェースはスマートフォン・コンピュータ・システムに組み込まれる)。これらの任意のネットワークを利用して、コンピュータ・システム(900)は他のエンティティと通信することが可能である。このような通信は、片-方向、受信専用(例えば、放送TV)、片-方向送信専用(例えば、特定のCANbusデバイスに対するCANbus)、又は、双-方向、例えばローカル又はワイド・エリア・デジタル・ネットワークを使用する他のコンピュータ・システムに対するものであるとすることが可能である。このような通信は、クラウド・コンピューティング環境(955)に対する通信を含む可能性がある。特定のプロトコル及びプロトコル・スタックは、上述のように、それらのネットワーク及びネットワーク・インターフェースの各々で使用されることが可能である。
【0162】
[0173] 前述のヒューマン・インターフェース・デバイス、人間がアクセス可能な記憶装置、及びネットワーク・インターフェース(954)は、コンピュータ・システム(900)のコア(940)に取り付けることが可能である。
【0163】
[0174] コア(940)は、1つ以上の中央処理ユニット(CPU)(941)、グラフィックス処理ユニット(GPU)(942)、フィールド・プログラマブル・ゲート・エリア(FPGA)(943)の形態における特定のプログラマブル処理ユニット、特定のタスクのためのハードウェア・アクセラレータ(944)などを含むことが可能である。これらのデバイスは、リード・オンリ・メモリ(ROM)(945)、ランダム・アクセス・メモリ(RAM)(946)、内部大容量ストレージ、例えば内部のユーザー・アクセス不能なハード・ドライブ、SSD、及び類似のもの(947)と共に、システム・バス(948)を介して接続されてもよい。幾つかのコンピュータ・システムでは、システム・バス(948)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であるとすることが可能である。周辺デバイスは、コアのシステム・バス(948)に直接的に取り付けること、或いは周辺バス(949)を介して取り付けることが可能である。周辺バスのアーキテクチャは、PCI、USB等を含む。グラフィックス・アダプタ950はコア940に含まれてもよい。
【0164】
[0175] CPU(941)、GPU(942)、FPGA(943)、及びアクセラレータ(944)は、組み合わされて、上述のコンピュータ・コードを構築することが可能な特定の命令を実行することが可能である。そのコンピュータ・コードは、ROM(945)又はRAM(946)に記憶することが可能である。一時的なデータはRAM(946)に記憶することも可能である一方、永続的なデータは、例えば内部大容量ストレージ(947)に記憶することが可能である。1つ以上のCPU(941)、GPU(942)、大容量ストレージ(947)、ROM(945)、RAM(946)などと密接に関連付けることが可能なキャッシュ・メモリを使用することによって、任意のメモリ・デバイスに対する高速な記憶及び検索を可能にすることができる。
【0165】
[0176] コンピュータ読み取り可能な媒体は、様々なコンピュータ実装済み動作を実行するためのコンピュータ・コードをそこに有することが可能である。媒体及びコンピュータ・コードは、本開示の目的のために特別に設計及び構築されたものであるとすることが可能であり、或いはそれらは、コンピュータ・ソフトウェアの分野の当業者に周知で利用可能な種類のものであるとすることが可能である。
【0166】
[0177] 限定ではなく一例として、アーキテクチャ(900)、具体的にはコア(940)を有するコンピュータ・システムは、1つ以上の有形のコンピュータ読み取り可能な媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)に由来する機能を提供することができる。そのようなコンピュータ読み取り可能な媒体は、コア内部大容量ストレージ(947)又はROM(945)のような非一時的な性質のコア(940)の特定のストレージと同様に、上述したようなユーザー・アクセス可能な大容量ストレージに関連する媒体であるとすることが可能である。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(940)によって実行されることが可能である。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリ・デバイス又はチップを含むことが可能である。ソフトウェアは、コア(940)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)が、RAM (946)に記憶されたデータ構造を定め、そのようなデータ構造を、ソフトウェアによって定められたプロセスに従って修正することを含む、本願で説明される特定のプロセス又は特定のプロセスの一部分を実行することを引き起こすことが可能である。更に又は代替として、コンピュータ・システムは、回路(例えば、アクセラレータ(944))内に配線されたロジック又はその他の方法で組み込まれたものの結果として機能を提供することが可能であり、回路は、本願で説明される特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに又はソフトウェアと共に動作することが可能である。ソフトウェアに対する言及は、ロジックを含むことが可能であり、必要に応じてその逆も可能である。コンピュータ読み取り可能な媒体に対する参照は、実行用のソフトウェアを記憶する回路(例えば、集積回路(IC))、実行用のロジックを具現化する回路、又は適切な場合にはそれら両方を含むことが可能である。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0167】
[0178] 本開示は、幾つかの非限定的な例示的な実施形態を説明してきたが、本開示の範囲内に該当する変更、置換、及び種々の代替的な均等物が存在する。従って、本願で明示的には図示も説明もされていないが、本開示の原理を具現化し、従ってその精神及び範囲内にある多くのシステム及び方法を、当業者は案出することが可能であろうということが、認められるであろう。
【0168】
[0179] [表]
表1:ビデオ・パラメータ・セットRBSPシンタックス
【0169】
【数8】
表1:シーケンス・パラメータ・セットRBSPシンタックス
【0170】
【数9】
[0180]
(付記1)
少なくとも1つのプロセッサにより実行される方法であって:
少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するステップ;
ビデオ・パラメータ・セットの第1識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定するステップ;及び
前記少なくとも1つのコーディングされたピクチャを前記推定に基づいて復号化するステップ;
を含む方法。
【0171】
(付記2)
前記推定するステップは、前記第1識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて0として推定するステップを含む、付記1に記載の方法。
【0172】
(付記3)
前記第1識別子の値は、前記ビデオ・パラメータ・セットが前記ビットストリームの中にないことを示す、付記1に記載の方法。
【0173】
(付記4)
前記ビデオ・パラメータ・セットのレイヤの第2識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定するステップ;
を更に含む付記1に記載の方法。
【0174】
(付記5)
前記第2識別子の値を推定するステップは、前記第2識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて0として推定するステップを含む、付記4に記載の方法。
【0175】
(付記6)
フラグの値を、前記ビットストリームの中にない前記フラグに基づいて推定するステップを更に含み、
前記フラグは、シンタックス要素が存在するかどうかを示し、前記ビデオ・パラメータ・セットにより指定されるレイヤのピクチャが、インター・レイヤ参照ピクチャ(ILRP)として使用されるかどうかを示す、付記1に記載の方法。
【0176】
(付記7)
前記フラグの値を推定するステップは、前記フラグの値を、前記ビットストリームの中にない前記フラグに基づいて0として推定するステップを含む、付記6に記載の方法。
【0177】
(付記8)
出力レイヤ・セット・モードを示すシンタックス要素の値を、前記ビデオ・パラメータ・セットにより指定される全てのレイヤが、インター・レイヤ予測を用いることなく独立にコーディングされることを示す第1フラグに基づいて、及び前記ビデオ・パラメータ・セットを参照するコーディングされたビデオ・シーケンス(CVS)における各レイヤが、唯1つのレイヤを含む出力レイヤ・セット(OLS)であることを示す第2フラグに基づいて推定するステップ;
を更に含む付記1に記載の方法。
【0178】
(付記9)
前記シンタックス要素の値を推定するステップは、前記シンタックス要素の値を、1である値を有する前記第1フラグと1である値を有する前記第2フラグとに基づいて0として推定するステップを含む、付記8に記載の方法。
【0179】
(付記10)
前記シンタックス要素の値を推定するステップは、前記シンタックス要素の値を、前記出力レイヤ・セット・モードが或るモードであることを示す値として推定するステップを含み、前記或るモードにおいては:
前記ビデオ・パラメータ・セットにより指定されるOLSの総数は、前記ビデオ・パラメータ・セットにより指定されるレイヤの総数に等しく;
前記OLSのうちのi番目のOLSは、両端を含む0ないしiの範囲内からのレイヤ・インデックスを有するレイヤを含み;且つ
前記OLSのうちの各OLSに関し、前記OLSにおける最高レイヤのみが出力レイヤである、付記8に記載の方法。
【0180】
(付記11)
コンピュータ・コードを記憶する少なくとも1つのメモリ;及び
少なくとも1つのコーディングされたピクチャを含むビットストリームを受信するように構成された少なくとも1つのプロセッサ;
を含むシステムであって、前記少なくとも1つのプロセッサは、前記コンピュータ・コードにアクセスし、前記コンピュータ・コードにより指示されるように動作するように更に構成されており、前記コンピュータ・コードは:
ビデオ・パラメータ・セットの第1識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定することを、前記少なくとも1つのプロセッサに行わせるように構成された推定コード;及び
前記少なくとも1つのコーディングされたピクチャを前記推定に基づいて復号化することを、前記少なくとも1つのプロセッサに行わせるように構成された復号化コード;
を含む、システム。
【0181】
(付記12)
前記推定コードは、前記第1識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて0として推定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
【0182】
(付記13)
前記第1識別子の値は、前記ビデオ・パラメータ・セットが前記ビットストリームの中にないことを示す、付記11に記載のシステム。
【0183】
(付記14)
前記推定コードは、前記ビデオ・パラメータ・セットのレイヤの第2識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定することを、前記少なくとも1つのプロセッサに行わせるように更に構成されている、付記11に記載のシステム。
【0184】
(付記15)
前記推定コードは、前記第2識別子の値を、前記ビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて0として推定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記14に記載のシステム。
【0185】
(付記16)
前記推定コードは、フラグの値を、前記ビットストリームの中にない前記フラグに基づいて推定することを、前記少なくとも1つのプロセッサに行わせるように更に構成されており、
前記フラグは、シンタックス要素が存在するかどうかを示し、前記ビデオ・パラメータ・セットにより指定されるレイヤのピクチャが、インター・レイヤ参照ピクチャ(ILRP)として使用されるかどうかを示す、付記11に記載のシステム。
【0186】
(付記17)
前記推定コードは、前記フラグの値を、前記ビットストリームの中にない前記フラグに基づいて0として推定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記16に記載のシステム。
【0187】
(付記18)
前記推定コードは、出力レイヤ・セット・モードを示すシンタックス要素の値を、前記ビデオ・パラメータ・セットにより指定される全てのレイヤが、インター・レイヤ予測を用いることなく独立にコーディングされることを示す第1フラグに基づいて、及び前記ビデオ・パラメータ・セットを参照するコーディングされたビデオ・シーケンス(CVS)における各レイヤが、唯1つのレイヤを含む出力レイヤ・セット(OLS)であることを示す第2フラグに基づいて推定することを、前記少なくとも1つのプロセッサに行わせるように更に構成されている、付記11に記載のシステム。
【0188】
(付記19)
前記推定コードは、前記シンタックス要素の値を、1である値を有する前記第1フラグと1である値を有する前記第2フラグとに基づいて0として推定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記18に記載のシステム。
【0189】
(付記20)
コンピュータ・コードを記憶した非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ・コードは、少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに:
ビデオ・パラメータ・セットの第1識別子の値を、少なくとも1つのコーディングされたピクチャを含む受信したビットストリームの中にない前記ビデオ・パラメータ・セットの前記第1識別子に基づいて推定するステップ;及び
前記少なくとも1つのコーディングされたピクチャを、前記第1識別子の値を推定することに基づいて復号化するステップ;
を行わせるように構成されている、記憶媒体。
【国際調査報告】