(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-29
(54)【発明の名称】セグメント存在情報を提供すること
(51)【国際特許分類】
H04N 19/70 20140101AFI20221121BHJP
【FI】
H04N19/70
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2022517856
(86)(22)【出願日】2020-08-19
(85)【翻訳文提出日】2022-05-13
(86)【国際出願番号】 SE2020050800
(87)【国際公開番号】W WO2021061035
(87)【国際公開日】2021-04-01
(32)【優先日】2019-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】100109726
【氏名又は名称】園田 吉隆
(74)【代理人】
【識別番号】100161470
【氏名又は名称】冨樫 義孝
(74)【代理人】
【識別番号】100194294
【氏名又は名称】石岡 利康
(74)【代理人】
【識別番号】100194320
【氏名又は名称】藤井 亮
(74)【代理人】
【識別番号】100150670
【氏名又は名称】小梶 晴美
(72)【発明者】
【氏名】ペッテション, マルティン
(72)【発明者】
【氏名】ダムガニアン, ミトラ
(72)【発明者】
【氏名】ショバーリ, リキャルド
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
デコーダによって実行されるメカニズムが提供されている。この方法は、ビットストリームを受信することを含む。この方法は、受信されたビットストリームを処理することを含み、ビットストリームは、ビットストリームの第1の部分を含み、ビットストリームの第1の部分は、セグメント存在情報を提供し、さらにi)セグメント存在情報は、少なくとも第1のセグメントタイプのセグメントがビットストリームの少なくとも一部分に存在していてはいけないということを示すか、またはii)セグメント存在情報は、少なくとも第1のセグメントタイプのセグメントがビットストリームの少なくともその部分に存在していてもよいということを示す。
【選択図】
図6
【特許請求の範囲】
【請求項1】
デコーダ(104)によって実行される方法(600)であって、
ビットストリームを受信すること(s602)と、
前記受信されたビットストリームを処理すること(s604)とを含み、
前記ビットストリームが、前記ビットストリームの第1の部分を含み、
前記ビットストリームの前記第1の部分が、セグメント存在情報を提供し、さらに
i)前記セグメント存在情報が、少なくとも第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも一部分に存在していてはいけないということを示すか、または
ii)前記セグメント存在情報が、少なくとも前記第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも前記部分に存在していてもよいということを示す、方法(600)。
【請求項2】
前記ビットストリームの前記第1の部分が、一般制約情報シンタックス要素を含む、請求項1に記載の方法。
【請求項3】
前記ビットストリームの前記第1の部分が、1つまたは複数のパラメータセットを含む、請求項1または2に記載の方法。
【請求項4】
前記セグメント存在情報が、前記第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも前記部分に存在していてはいけないということを示していると決定することと、
前記ビットストリームの前記部分が前記第1のセグメントタイプのセグメントを含むということを検知することと、
前記決定することおよび前記検知することの結果として、前記ビットストリームの少なくとも前記部分が無効であると宣言することと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記セグメント存在情報が、
i)前記ビットストリームの前記部分が前記第1のセグメントタイプのいずれのセグメントも含んではいけない時間サブレイヤの値もしくは値の範囲、または
ii)前記ビットストリームの前記部分が前記第1のセグメントタイプのセグメントを含んでもよい前記時間サブレイヤの値もしくは値の範囲、のうちの一方を示し、さらに前記方法がさらに、
前記セグメント存在情報が、前記ビットストリームの前記部分が前記第1のセグメントタイプのいずれのセグメントも含んではいけない前記時間サブレイヤの値または値の範囲を示していると決定することと、
前記時間サブレイヤの値または値の範囲によって識別された時間サブレイヤが前記第1のセグメントタイプのセグメントを含むということを検知することと、
前記決定することおよび前記検知することの結果として、前記ビットストリームの前記部分が無効であると宣言することとを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記セグメント存在情報が、
i)前記ビットストリームの前記部分が前記第1のセグメントタイプのいずれのセグメントも含んではいけないレイヤの値もしくは値の範囲、または
ii)前記ビットストリームの前記部分が前記第1のセグメントタイプのセグメントを含んでもよい前記レイヤの値もしくは値の範囲、のうちの一方を示す、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記セグメント存在情報が、前記ビットストリームの前記部分が前記第1のセグメントタイプのいずれのセグメントも含んではいけない前記レイヤの値または値の範囲を示していると決定することと、
前記レイヤの値または値の範囲によって識別されたレイヤが前記第1のセグメントタイプのセグメントを含むということを検知することと、
前記決定することおよび前記検知することの結果として、前記ビットストリームの前記部分が無効であると宣言することと
をさらに含む、請求項6に記載の方法。
【請求項8】
前記ビットストリームの前記第1の部分が、第1のパラメータセットおよび第2のパラメータセットを含み、
前記方法がさらに、前記第1のパラメータセットに含まれている情報に基づいて第1の値を決定することと、前記第2のパラメータセットに含まれている情報に基づいて第2の値を決定することとを含み、
前記セグメント存在情報が、前記第1の値および前記第2の値を含む、
請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記ビットストリームの前記第1の部分が、第1のパラメータセットを含み、
前記方法がさらに、前記第1のパラメータセットに含まれている情報に基づいて第1の値を決定することと、前記第1のパラメータセットに含まれている情報に基づいて第2の値を決定することとを含み、
前記セグメント存在情報が、前記第1の値および前記第2の値を含む、
請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記ビットストリームの少なくとも前記部分が無効であると宣言することが、ビットエラーが生じたと宣言すること、データの喪失が生じたと宣言すること、前記ビットストリームの少なくとも前記部分が非準拠であると宣言すること、前記ビットストリームを生成したエンコーダが非準拠であると宣言すること、エラーを報告すること、エラー隠蔽を実行すること、および/または、前記ビットストリームの少なくとも前記部分が準拠していないという知識に基づくその他のアクションを取ることを含む、請求項4、5、または7のいずれか一項に記載の方法。
【請求項11】
エンコーダ(102)によって実行される方法(700)であって、
ビットストリームを生成すること(s702)を含み、
前記ビットストリームが、前記ビットストリームの第1の部分を含み、
前記ビットストリームの前記第1の部分が、セグメント存在情報を提供し、さらに
i)前記セグメント存在情報が、少なくとも第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも一部分に存在していてはいけないということを示すか、または
ii)前記セグメント存在情報が、少なくとも前記第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも前記部分に存在していてもよいということを示す、方法(700)。
【請求項12】
前記ビットストリームを出力すること(s704)をさらに含む、請求項11に記載の方法。
【請求項13】
前記ビットストリームの前記第1の部分が、第1のパラメータセットから構成されており、
前記第1のパラメータセットが、ビットのセットを含み、
前記第1のパラメータセットに含まれているビットの前記セットが、前記セグメント存在情報を提供する、
請求項1から12のいずれか一項に記載の方法。
【請求項14】
ビットの前記セットが、前記第1のパラメータセットにおけるビットの連続したセットから構成されている、請求項13に記載の方法。
【請求項15】
ビットの前記セットが、前記第1のパラメータセットにおける単一のビットから構成されている、請求項13に記載の方法。
【請求項16】
前記少なくとも前記第1のセグメントタイプのセグメントが、TRAILセグメント、STSAセグメント、RASLセグメント、RADLセグメント、IDRセグメント、CRAセグメント、GDRセグメント、APSセグメント、AUDセグメント、またはSEIセグメントのうちの1つを含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記第1のセグメントタイプが、NALユニットタイプである、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記NALユニットタイプが、TRAIL_NUT、STSA_NUT、RASL_NUT、RADL_NUT、IDR_W_RADL、IDR_N_LP、CRA_NUT、GDR_NUT、APS_NUT、AUD_NUT、PREFIX_SEI_NUT、またはSUFFIX_SEI_NUTのうちの1つである、請求項17に記載の方法。
【請求項19】
前記第1のセグメントタイプが、SEIメッセージタイプである、請求項1から18のいずれか一項に記載の方法。
【請求項20】
前記SEIメッセージタイプが、バッファリング期間、画像タイミング、デコーディングユニット情報、従属RAP表示、フレームフィールド情報、またはデコードされた画像ハッシュである、請求項19に記載の方法。
【請求項21】
前記第1のパラメータセットが、DPS、VPS、SPS、またはPPSである、請求項13から20のいずれか一項に記載の方法。
【請求項22】
前記第1のパラメータセットが、前記システムレイヤでシグナリングされるエンティティである、請求項13から20のいずれか一項に記載の方法。
【請求項23】
前記セグメント存在情報が、
i)前記ビットストリームの前記部分が前記第1のセグメントタイプのいずれのセグメントも含んではいけない時間サブレイヤの値もしくは値の範囲、または
ii)前記ビットストリームの前記部分が前記第1のセグメントタイプのセグメントを含んでもよい前記時間サブレイヤの値もしくは値の範囲、のうちの一方を示す、請求項1から22のいずれか一項に記載の方法。
【請求項24】
前記セグメント存在情報が、
i)前記ビットストリームの前記部分が前記第1のセグメントタイプのいずれのセグメントも含んではいけないレイヤの値もしくは値の範囲、または
ii)前記ビットストリームの前記部分が前記第1のセグメントタイプのセグメントを含んでもよい前記レイヤの値もしくは値の範囲、のうちの一方を示す、請求項1から23のいずれか一項に記載の方法。
【請求項25】
前記ビットストリームの前記第1の部分における前記セグメント存在情報が特定の値を有するべきであるかまたは有さなければならないということを、仕様が義務付ける、請求項1から24のいずれか一項に記載の方法。
【請求項26】
前記ビットストリームの前記部分が、前記第1のパラメータセットを参照するセグメントから構成されている、請求項13から25のいずれか一項に記載の方法。
【請求項27】
前記ビットストリームが、連続した一連の1つまたは複数のCVSである、請求項26に記載の方法。
【請求項28】
前記第1のパラメータセットが、DPSまたはVPSであり、
前記ビットストリームの前記部分が、前記第1のパラメータセットを参照するCVSのみを含む、
請求項27に記載の方法。
【請求項29】
前記第1のパラメータセットが、SPSであり、
前記ビットストリームの前記部分が、前記SPSを参照する前記単一のCVSのみを含む、
請求項27に記載の方法。
【請求項30】
前記第1のパラメータセットが、第2のパラメータセットを参照するSPSであり、
前記ビットストリームの前記部分が、前記SPSが参照する前記第2のパラメータセットを参照するCVSのみを含む、
請求項27に記載の方法。
【請求項31】
前記第1のパラメータセットが、第2のパラメータを参照するPPSであり、前記ビットストリームの前記部分が、
1)前記PPSを参照するセグメント、
2)前記PPSが存在しているかまたはアクティブ化されている前記CVS、または
3)前記第2のパラメータセットを参照するCVSから構成されている、
請求項27に記載の方法。
【請求項32】
前記セグメント存在情報が、前記ビットストリームのいずれかの部分以降で、またはサブビットストリーム抽出もしくはマージプロセスにおいて上書きされることが可能である、請求項1から31のいずれか一項に記載の方法。
【請求項33】
前記ビットストリームの前記第1の部分が、第1の値をエンコードする第1のパラメータセットと、第2の値をエンコードする第2のパラメータセットとを含み、
前記セグメント存在情報が、前記第1の値および前記第2の値を含む、
請求項1から32のいずれか一項に記載の方法。
【請求項34】
前記ビットストリームの前記第1の部分が、第1の値および第2の値をエンコードする第1のパラメータセットを含み、
前記セグメント存在情報が、前記第1の値および前記第2の値を含む、
請求項1から33のいずれか一項に記載の方法。
【請求項35】
前記ビットストリームを処理することが、前記ビットストリームの前記第1の部分から前記セグメント存在情報をデコードすることを含む、請求項1から34のいずれか一項に記載の方法。
【請求項36】
前記ビットストリームの前記第1の部分から前記セグメント存在情報をデコードすることが、
前記ビットストリームの前記第1の部分におけるシンタックス要素からインジケータ値をデコードすることを含み、
前記インジケータ値が第1の値に等しいことに応答して、前記セグメント存在情報が、少なくとも第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも一部分に存在していてはいけないということを示し、
前記インジケータ値が第2の値に等しいことに応答して、前記セグメント存在情報が、少なくとも前記第1のセグメントタイプのセグメントが前記ビットストリームの少なくとも前記部分に存在していてもよいということを示す、請求項35に記載の方法。
【請求項37】
命令(844)を含むコンピュータプログラム(843)であって、前記命令(844)が、処理回路(802)によって実行されたときに、請求項1から36のいずれか一項に記載の方法を前記処理回路(802)に実行させる、コンピュータプログラム(843)。
【請求項38】
請求項37に記載のコンピュータプログラムを含むキャリアであって、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体(842)のうちの1つであるキャリア。
【請求項39】
請求項1から10または13から36のいずれか一項に記載の方法を実行するように適合されているデコーディング装置(800)。
【請求項40】
請求項11から34のいずれか一項に記載の方法を実行するように適合されているエンコーディング装置(800)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオコーディングおよびデコーディングに関する。
【背景技術】
【0002】
1.HEVCおよびVVC
【0003】
高効率ビデオコーディング(HEVC)は、時間的予測および空間的予測の両方を利用するITU-TおよびMPEGによって標準化されたブロックベースのビデオコーデックである。空間的予測は、現在の画像内からのイントラ(I)予測を使用して達成される。時間的予測は、以前にデコードされた参照画像からのブロックレベルでの一方向(P)または双方向インター(B)予測を使用して達成される。エンコーダにおいて、元のピクセルデータと、予測されたピクセルデータとの間における差(残差と呼ばれる)が、周波数ドメインへと変換され、量子化され、次いでエントロピーコーディングされ、その後に、やはりエントロピーコーディングされた、必要な予測パラメータ(予測モードおよびモーションベクトルなど)とともに送信される。デコーダは、エントロピーデコーディング、逆量子化、および逆変換を実行して、残差を入手し、次いでその残差をイントラ予測またはインター予測に加算して、画像を再構築する。
【0004】
MPEGおよびITU-Tは、Joint Video Exploratory Team(JVET)内で、HEVCに取って代わるものに取り組んでいる。開発中のこのビデオコーデックの名前は、多用途ビデオコーディング(VVC)である。執筆の時点で、VVCドラフト仕様の現在のバージョンは「多用途ビデオコーディング(Draft 6)」、JVET-O2001-vEであった。VVCが本明細書で言及されている場合には、そのVVCは、VVC仕様のDraft 6を指す。
【0005】
2.成分
【0006】
ビデオシーケンスは、一連の画像から構成され、この場合、それぞれの画像は、1つまたは複数の成分から構成される。それぞれの成分は、サンプル値の2次元の長方形配列として記述されることが可能である。ビデオシーケンスにおける画像は、1つの輝度成分(Y)(この場合、サンプル値は輝度値である)、ならびに2つの彩度成分(Cb)および(Cr)(この場合、サンプル値は彩度値である)という3つの成分から構成されることが一般的である。彩度成分の寸法は、それぞれの寸法において輝度成分よりも2分の1だけ小さいことが一般的である。たとえば、HD画像の輝度成分のサイズは、1920×1080となり、彩度成分は、960×540という寸法をそれぞれ有することになる。成分は、色成分と呼ばれる場合もある。この文書においては、ビデオシーケンスのエンコーディングおよびデコーディングにとって有用な方法について記述する。しかしながら、記述されている技術は、静止画像のエンコーディングおよびデコーディングのために使用されることも可能であるということを理解されたい。
【0007】
3.ブロックおよびユニット
【0008】
ブロックは、サンプルの2次元配列である。ビデオコーディングにおいては、それぞれの成分が、1つまたは複数のブロックへと分割され、コーディングされたビデオビットストリームは、一連のブロックである。
【0009】
ビデオコーディングにおいては、画像は、特定のエリアをカバーするユニットへと分割されることが一般的である。それぞれのユニットは、その特定のエリアを構成するすべてのブロックから構成され、それぞれのブロックは、完全に1つのユニットのみに属する。HEVCおよびVVCにおけるコーディングユニット(CU)は、そのようなユニットの例である。コーディングツリーユニット(CTU)は、いくつかのCUへと分割されることが可能である論理ユニットである。
【0010】
HEVCにおいては、CUは正方形であり、すなわち、CUは、N×Nの輝度サンプルというサイズを有し、この場合、Nは、64、32、16、または8という値を有することが可能である。現在のH.266テストモデル多用途ビデオコーディング(VVC)においては、CUは、長方形であること、すなわち、N×Mの輝度サンプルというサイズを有することも可能であり、この場合、NはMとは異なる。
【0011】
4.NALユニット
【0012】
HEVCおよびVVCの両方が、ネットワーク抽象化レイヤ(NAL)を規定する。HEVCおよびVVCにおけるすべてのデータ、すなわち、ビデオコーディングレイヤ(VCL)または非VCLデータの両方が、NALユニットにおいてカプセル化される。VCL NALユニットは、画像サンプル値を表すデータを含む。非VCL NALユニットは、パラメータセットおよび補助強化情報(SEI)メッセージなどのさらなる関連付けられているデータを含む。HEVCおよび現在のバージョンのVVCにおけるNALユニットは、NALユニットヘッダと呼ばれるヘッダから始まる。HEVCに関するNALユニットヘッダに関するシンタックスが、テーブル1において示されており、これは、開始コードのエミュレーションを防止するために常に0に等しくなるforbidden_zero_bitから開始する。これがなければ、いくつかのMPEGシステムは、HEVCビデオビットストリームをその他のデータと混同する可能性があるが、NALユニットヘッダにおける0ビットが、すべての可能なHEVCビットストリームをHEVCビットストリームとして一意に識別可能にする。nal_unit_type、nuh_layer_id、およびnuh_temporal_id_plus1というコードワードはそれぞれ、どんなタイプのデータがNALユニットにおいて搬送されるかを識別するNALユニットのNALユニットタイプ、レイヤID、およびどの時間IDに関してNALユニットが属するかを指定する。NALユニットタイプは、どのようにNALユニットが解析およびデコードされるべきであるかを示して指定する。現在のバージョンのVVCにおけるNALユニットヘッダは、HEVCにおけるものに非常に類似しているが、nal_unit_typeのために1ビット少なく使用し、代わりにこのビットをその後の使用のために確保する。
【0013】
NALユニットのバイトのうちの残りは、NALユニットタイプによって示されるタイプのペイロードである。ビットストリームは、一連の連結されたNALユニットから構成される。
【0014】
デコーダまたはビットストリームパーサは、NALユニットヘッダを見た後に、どのようにNALユニットが取り扱われるべきか、たとえば解析およびデコードされるべきかを結論付けることが可能である。NALユニットのバイトのうちの残りは、NALユニットタイプによって示されるタイプのペイロードである。ビットストリームは、一連の連結されたNALユニットから構成される。
【0015】
NALユニットタイプは、どのようにNALユニットが解析およびデコードされるべきであるかを示して規定する。VCL NALユニットは、現在の画像の画像タイプに関する情報を提供する。VVCドラフトの現在のバージョンのNALユニットタイプが、テーブル3において示されている。
【0016】
デコーディング順序は、NALユニットがデコードされることになる順序であり、その順序は、ビットストリーム内のNALユニットの順序と同じである。デコーディング順序は、出力順序とは異なることが可能であり、出力順序は、デコードされた画像が、デコーダによって、表示のためになどで出力されることになる順序である。
【0017】
時間レイヤ
【0018】
HEVCにおいては、および現在のバージョンのVVCにおいては、すべての画像は、画像が属する時間レイヤを指定するTemporalId値に関連付けられている。TemporalId値は、NALユニットヘッダにおけるnuh_temporal_id_plus1シンタックス要素からデコードされる。HEVCにおいては、エンコーダは、TemporalId値を設定することを必要とされ、それによって、高位の時間レイヤが破棄された場合に、低位のレイヤに属する画像が完全にデコード可能になる。たとえば、エンコーダが時間レイヤ0、1、および2を使用してビットストリームを出力したと想定されたい。次いで、すべてのレイヤ2NALユニットを除去すること、またはすべてのレイヤ1NALユニットおよびレイヤ2NALユニットを除去することによって、問題なくデコードされることが可能であるビットストリームが生じることになる。これは、エンコーダが準拠しなければならないHEVC/VVC仕様における制限によって確実にされる。たとえば、ある時間レイヤの画像が高位の時間レイヤの画像を参照することは許可されない。
【0019】
6.レイヤ、従属レイヤおよび独立レイヤ
【0020】
レイヤは、VVCにおいては、すべてがnuh_layer_idの特定の値を有するVCL NALユニットと、関連付けられている非VCL NALユニットとのセットとして規定される。
【0021】
VVCにおけるレイヤアクセスユニットが、NALユニットのセットとして規定され、それらのNALユニットに関しては、VCL NALユニットがすべてnuh_layer_idの特定の値を有しており、それらのNALユニットは、指定された分類ルールに従って互いに関連付けられており、それらのNALユニットは、デコーディング順序において連続しており、それらのNALユニットは、ちょうど1つのコーディングされた画像を含む。
【0022】
現在のバージョンのVVCにおけるコーディングされたレイヤビデオシーケンス(CLVS)が、レイヤアクセスユニット(LAU)のシーケンスとして規定され、そのシーケンスは、デコーディング順序において、CLVSレイヤアクセスユニットと、それに続く、CLVSレイヤアクセスユニットではない0個以上のレイヤアクセスユニットとから構成され、それらの続くレイヤアクセスユニットは、CLVSレイヤアクセスユニットであるいずれかの後続のレイヤアクセスユニットまでの(ただし、そのレイヤアクセスユニットを含まない)すべての後続のレイヤアクセスユニットを含む。
【0023】
レイヤアクセスユニットとコーディングされたレイヤビデオシーケンスとの間における関係が、
図5において示されている。
【0024】
現在のバージョンのVVCにおいては、レイヤは、互いに独立して、または依存してコーディングされることが可能である。レイヤが独立してコーディングされている場合には、たとえばnuh_layer_id0を伴うレイヤは、たとえばnuh_layer_id1を伴う別のレイヤからのビデオデータを予測することが可能ではない。現在のバージョンのVVCにおいては、レイヤ間における依存コーディングが使用されることが可能であり、これは、SNRの、空間の、およびビューのスケーラビリティーを有するスケーラブルなコーディングに関するサポートを可能にする。
【0025】
7.アクセスユニットおよびアクセスユニットデリミタ
【0026】
HEVCおよび現在のVVCドラフトにおける単一レイヤコーディングに関しては、アクセスユニット(AU)が、単一の画像のコーディングされた表示である。AUは、いくつかのビデオコーディングレイヤ(VCL)NALユニットならびに非VCL NALユニットから構成されることが可能である。アクセスユニットは、現在のバージョンのVVCにおいては、そのアクセスユニットの開始を示すアクセスユニットデリミタ(AUD)NALユニットと、画像において許可されているスライスのタイプ、すなわち、I、I-P、またはI-P-Bとを伴って開始しなければならない。HEVCにおいては、AUがAUDを伴って開始することは、任意選択である。VVCドラフトの現在のバージョンにおけるアクセスユニットデリミタNALユニットに関するシンタックスおよびセマンティクスが、以下に示されている。
【0027】
7.1 アクセスユニットデリミタRBSPセマンティクス
【0028】
アクセスユニットデリミタは、アクセスユニットの開始と、アクセスユニットデリミタNALユニットを含むアクセスユニットにおけるコーディングされた画像に存在するスライスのタイプとを示すために使用される。アクセスユニットデリミタに関連付けられている規範的なデコーディングプロセスはない。
【0029】
pic_typeは、アクセスユニットデリミタNALユニットを含むアクセスユニットにおけるコーディングされた画像のすべてのスライスに関するslice_type値が、pic_typeの所与の値に関してテーブル5において列挙されているセットのメンバーであるということを示す。pic_typeの値は、この仕様のこのバージョンに準拠するビットストリームにおいては、0、1、または2に等しくなる。pic_typeのその他の値は、ITU-T|ISO/IECによる今後の使用のために確保されている。この仕様のこのバージョンに準拠するデコーダは、pic_typeの確保された値を無視することになる。
【0030】
8.イントラランダムアクセスポイント(IRAP)画像およびコーディングされたビデオシーケンス(CVS)
【0031】
HEVCにおけるイントラランダムアクセスポイント(IRAP)画像は、自身のデコーディングプロセスにおける予測のために自身以外のいずれの画像も参照しない画像である。HEVCでのデコーディング順序におけるビットストリーム内の最初の画像は、IRAP画像でなければならないが、IRAP画像はさらに、ビットストリームにおいてその後に現れることも可能である。HEVCは、ブロークンリンクアクセス(BLA)画像、インスタントデコーダリフレッシュ(IDR)画像、およびクリーンランダムアクセス(CRA)画像という3つのタイプのIRAP画像を指定する。
【0032】
HEVCにおけるコーディングされたビデオシーケンス(CVS)は、あるIRAPアクセスユニットで開始してデコーディング順における次のIRAPアクセスユニットまでの(ただし、次のIRAPアクセスユニットを含まない)一連のアクセスユニットである。
【0033】
IDR画像は常に、新たなCVSを開始する。IDR画像は、関連付けられているランダムアクセスデコーダブルリーディング(RADL)画像を有することが可能である。IDR画像は、関連付けられているランダムアクセススキップリーディング(RASL)画像を有さない。
【0034】
HEVCにおけるBLA画像も、新たなCVSを開始し、IDR画像と同じ影響をデコーディングプロセス上に及ぼす。しかしながら、HEVCにおけるBLA画像は、参照画像の空ではないセットを指定するシンタックス要素を含むことが可能である。BLA画像は、関連付けられているRASL画像を有することが可能であり、それらのRASL画像は、デコーダによって出力されず、デコード可能ではない場合がある。なぜなら、それらのRASL画像は、ビットストリームに存在していない可能性のある画像への参照を含む場合があるからである。BLA画像は、関連付けられているRADL画像を有することも可能であり、それらのRADL画像は、デコードされる。BLA画像は、現在のバージョンのVVCにおいては規定されていない。
【0035】
CRA画像は、関連付けられているRADLまたはRASL画像を有することが可能である。BLA画像と同様に、CRA画像は、参照画像の空ではないセットを指定するシンタックス要素を含むことが可能である。CRA画像に関しては、関連付けられているRASL画像がデコーダによって出力されないことを指定するためのフラグが設定されることが可能である。これは、それらのRASL画像がデコード可能ではない場合があるからであり、なぜなら、それらのRASL画像は、ビットストリームに存在していない画像への参照を含む場合があるからである。CRAは、CVSを開始することが可能である。
【0036】
VVCドラフトの現在のバージョンにおいては、CVSは、CVSスタート(CVSS)アクセスユニットで開始され、これは、IRAP画像、すなわち、IDRもしくはCRA画像、またはグラデュアルデコーディングリフレッシュ(GDR)画像を含むことが可能である。
【0037】
GDR画像は、基本的に、完全なIRAP画像が大きすぎる遅延をもたらすことになる低遅延コーディングのためにエンコードされたビットストリームにおけるランダムアクセスのために使用される。GDR画像は、画像ごとにビデオを更新するグラデュアルイントラリフレッシュを使用することが可能であり、この場合、それぞれの画像は、部分的にのみイントラコーディングされる。ビットストリームがGDR画像で同調されたと想定すると、いつビデオが完全にリフレッシュされて出力の準備ができるかが、GDR画像とともにシグナリングされる。GDRは、CVSを開始することが可能である。
【0038】
9.STSA画像
【0039】
HEVCにおいては(および現在のVVCドラフトにおいては)、段階的時間サブレイヤアクセス(STSA)画像と呼ばれる画像タイプがある。HEVCにおいては、参照画像でもあるSTSA画像であるSTSA_R、および非参照画像であるSTSA画像であるSTSA_Nという2つのタイプのSTSA画像がある。現在のVVCドラフトにおいては、1つのタイプのSTSA画像のみが指定され、STSA画像が参照画像であるかまたは非参照画像であるかの区別は行われない。
【0040】
STSA画像は、低位の時間レイヤから高位の時間レイヤへスイッチアップすることが可能であるビットストリームにおける位置を示すことを意図されている。たとえば、デコーダは、時間レイヤNをデコードすることが可能であり、これが意味しているのは、N以下のTemporalIdを有するすべてのNALユニットがデコードされ、Nよりも高いTemporalIdを有するすべてのNALユニットが無視されるということである。N+1のTemporalIdを有するSTSA画像がある場合には、デコーダは、そのSTSA画像と、N+1以下のTemporalIdを有する、デコーディング順序においてそのSTSA画像に続くすべてのNALユニットとをデコードすることが可能であることを確実にされる。
【0041】
10.補助強化情報(SEI)メッセージ
【0042】
SEIメッセージは、デコーダにとっては有用である可能性があるがデコーディングプロセスにとっては必要ではない情報を提供する。現在のバージョンのVVCは、下記のSEIメッセージを指定している。
【0043】
10.1 従属RAP表示SEIメッセージ
【0044】
従属RAP表示SEIメッセージは、画像をビットストリームにおける従属ランダムアクセスポイント(DRAP)画像としてマークするために使用される。DRAP表示SEIメッセージの存在は、この項において指定されている画像の順序および画像の参照についての制約が適用されるということを示す。これらの制約は、デコーダが、関連付けられているIRAP画像以外のいずれのその他の画像もデコードする必要を伴わずに、DRAP画像と、DRAP画像に続く画像とをデコーディング順序および出力順序の両方において適正にデコードすることを可能にすることができる。
【0045】
DRAP表示SEIメッセージの存在によって示される制約は、下記のとおりである。
【0046】
a)DRAP画像は、後続の画像でなければならない。
【0047】
b)DRAP画像は、0に等しい時間サブレイヤ識別子を有していなければならない。
【0048】
c)DRAP画像は、デコーディング順序において先行するIRAP画像を除いて、いずれの画像も自身の参照画像リストのアクティブなエントリーに含めてはならない。
【0049】
d)デコーディング順序および出力順序の両方においてDRAP画像に続くいかなる画像も、デコーディング順序における先行するIRAP画像を除いて、デコーディング順序または出力順序においてDRAP画像に先行するいかなる画像も、自身の参照画像リストのアクティブなエントリーに含めてはならない。
【0050】
VVCにおいては、現在のおよび今後の画像をデコードする目的でデコーダが以前にデコードされたどの画像を参照用として保持すべきかを示すために、現在の画像に関して参照画像リスト(RPL)がシグナリングされる。それぞれの画像に関して2つのRPLがある。1つの画像からのみのインター予測(P予測)に関しては、第1のRPLのみが使用され、2つの画像からのインター予測(B予測)に関しては、第1および第2の両方のRPLが使用される。エントリーがRPLにおいてアクティブであるということは、現在の画像をデコードするためにそのエントリーにおける参照画像が使用されるということを意味する。エントリーにおける参照画像が、現在の画像を予測するために使用されることになるのではなく、その後の画像を予測するために使用される場合には、そのエントリーは、RPLにおいて保持されるべきであるが、現在の画像のRPにおいては非アクティブであるべきである。
【0051】
11.パラメータセット
【0052】
HEVCおよびVVCは、画像パラメータセット(PPS)、シーケンスパラメータセット(SPS)、およびビデオパラメータセット(VPS)という3つのタイプのパラメータセットを指定する。PPSは、画像全体に関して共通であるデータを含み、SPSは、コーディングされたビデオシーケンス(CVS)に関して共通であるデータを含み、VPSは、複数のCVSに関して共通であるデータ、たとえば、ビットストリームにおける複数のレイヤに関するデータを含む。
【0053】
現在のバージョンのVVCは、適合パラメータセット(APS)およびデコーダパラメータセット(DPS)という2つのさらなるパラメータセットも指定している。
【0054】
11.1 適合パラメータセット(APS)
【0055】
APSは、その他のパラメータセットと比較して同等の大量のデータを含む。スライスと画像との間においてはあまり頻繁に変わらない可能性があるが、それでもなおSPSまたはPPSにおいては十分に適合しない程度に頻繁に変わる可能性があるデータに関しては、スライスヘッダにおけるデータの特定のグループを繰り返す必要はないということが、APSの考え方である。現在のバージョンのVVCにおいては、3つのタイプのAPSがある。適合ループフィルタ(ALF)コーディングツールのために必要とされるパラメータを搬送する1つのAPSタイプ、輝度マッピングおよび彩度スケーリング(LMCS)コーディングツールのために必要とされるパラメータを搬送する第2のAPSタイプ、ならびにスケーリングリストパラメータを搬送するために使用される第3のAPSタイプである。スケーリングリストは、それぞれの周波数インデックスをスケーリングプロセスのためのスケール係数に関連付けるリストである。
【0056】
11.2 デコーディングパラメータセット(DPS)
【0057】
DPSは、デコーディングセッション中に変わらない可能性がある情報で、かつ、デコーダが知っておくとよい可能性がある情報、たとえば、許可されるサブレイヤの最大数を指定する。DPSにおける情報は、デコーディングプロセスのオペレーションにとって必要ではない。
【0058】
デコーダパラメータセットは、ビットストリームから何を予期するかという情報をデコーダに与える、ビットストリームに関する一般的な制約のセットも含む。現在のバージョンのVVCにおいては、一般制約情報がVPSにおいてシグナリングされることも可能である。
【発明の概要】
【0059】
特定の課題が存在する。たとえば、現在のバージョンのVVCにおいては、特定のNALユニットタイプを有するNALユニットがビットストリームに存在していてもよいかどうかを事前に示すことは可能ではない。加えて、特定のSEIメッセージがビットストリームに存在していてもよいかどうかを事前に示すことは可能ではない。デコーダは次いで、任意のタイプのNALユニットタイプおよびSEIメッセージを取り扱う準備ができていなければならない。NALユニットタイプおよびSEIメッセージのうちのいくつかに関しては、デコーダは、これらのNALユニットタイプおよびSEIメッセージがビットストリームに現れる場合には、いくつかのリソースを消費すること、たとえば、事前にメモリを割り当てること、特定のデータを格納すること、ビットストリームの特定の部分を解析することを必要とする場合がある。これらのNALユニットタイプまたはSEIメッセージがビットストリームに現れない場合には、これらのリソースは、不必要に消費されている。
【0060】
本開示は解決策を提供する。たとえば、特定の一実施形態においては、パラメータ(たとえば、フラグ)がパラメータセット(たとえば、DPS、VPS、SPS、またはPPS)に含まれること、およびこのパラメータが、タイプAのセグメント(たとえば、NALユニットまたはSEIメッセージ)がビットストリームに存在していてもよいか、または存在していてはいけないかを指定することが提案される。したがって、フラグはセグメント存在情報の一例である。
【0061】
本開示の第1の態様によれば、デコーダによって実行される方法が提供されている。この方法は、ビットストリームを受信することを含む。この方法は、受信されたビットストリームを処理することを含み、ビットストリームは、ビットストリームの第1の部分を含み、ビットストリームの第1の部分は、セグメント存在情報を提供し、さらにi)セグメント存在情報は、少なくとも第1のセグメントタイプのセグメントがビットストリームの少なくとも一部分に存在していてはいけないということを示すか、またはii)セグメント存在情報は、少なくとも第1のセグメントタイプのセグメントがビットストリームの少なくともその部分に存在していてもよいということを示す。
【0062】
本開示の第2の態様によれば、エンコーダによって実行される方法が提供されている。この方法は、ビットストリームを生成することを含み、ビットストリームは、ビットストリームの第1の部分を含み、ビットストリームの第1の部分は、セグメント存在情報を提供し、さらにi)セグメント存在情報は、少なくとも第1のセグメントタイプのセグメントがビットストリームの少なくとも一部分に存在していてはいけないということを示すか、またはii)セグメント存在情報は、少なくとも第1のセグメントタイプのセグメントがビットストリームの少なくともその部分に存在していてもよいということを示す。
【0063】
本開示の第3の態様によれば、命令を含むコンピュータプログラムが提供されており、それらの命令は、処理回路によって実行されたときに、第1または第2の態様のいずれか一方に記載の方法を処理回路に実行させる。
【0064】
本開示の第4の態様によれば、第3の態様によるコンピュータプログラムを含むキャリアが提供されており、このキャリアは、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体のうちの1つである。
【0065】
本開示の第5の態様によれば、第1の態様による方法を実行するように適合されているデコーディング装置が提供されている。
【0066】
本開示の第6の態様によれば、第2の態様による方法を実行するように適合されているエンコーディング装置が提供されている。
【0067】
利点
【0068】
タイプAのセグメント(たとえば、NALユニット、SEIメッセージなど)がビットストリームに存在し得るか存在し得ないかに関する情報(セグメント存在情報)は、たとえば、いずれにしても使用されないであろうメモリを割り当てる必要がないこと、またはビットストリームの特定の部分を解析する必要がないことをデコーダが知る上で有用である。それゆえに、利点として、デコーダは、ビットストリームに現れない可能性のあるNALユニットタイプ、画像タイプ、およびSEIメッセージにリソースを割り当てないことになる。
【0069】
たとえば、ビットストリームにおいてSTSA画像が予期されることはないということをデコーダが知っているならば、デコーダは、PPSを格納することを、またはSTSA画像に関する時間レイヤをスキャンすることさえ必要としない。デコーダは、デコードされていない高位のレイヤを単に無視することが可能である。別の例は、DRAP SEIメッセージである。デコーダがビットストリームにおいていかなるDRAP SEIメッセージにも遭遇しないであろうとデコーダが知っているならば、デコーダは、自身がその後にDRAP画像を使用して同調したくなる可能性のあるチャネルに関するIRAP画像を格納する必要はない。
【図面の簡単な説明】
【0070】
【
図1】ある実施形態によるシステムを示す図である。
【
図2】一実施形態によるビデオエンコーダの概略ブロック図である。
【
図3】一実施形態によるビデオデコーダの概略ブロック図である。
【
図4】ある実施形態によるエンコードされたビデオビットストリームを示す図である。
【
図5】レイヤアクセスユニットとコーディングされたレイヤビデオシーケンスとの間における関係を示す図である。
【
図6】ある実施形態によるビデオデコーディングプロセスを示すフローチャートである。
【
図7】ある実施形態によるビデオエンコーディングプロセスを示すフローチャートである。
【
図8】ある実施形態による装置のブロック図である。
【発明を実施するための形態】
【0071】
図1は、ある例示的な実施形態によるシステム100を示している。システム200が、ネットワーク110(たとえば、インターネットまたはその他のネットワーク)を介してデコーダ204と通信状態にあるエンコーダ202を含む。デブロッキングが、エンコーダ202およびデコーダ204の両方において実行されることが可能である。本明細書において記述されている実施形態は、ビデオエンコーダ102またはビデオデコーダ104において使用されることが可能である。
【0072】
図2は、一実施形態によるビデオエンコーダ102の概略ブロック図である。同じフレームにおける、または前のフレームにおけるピクセルの既に提供されているブロックからモーションエスティメータ250を使用してモーション推定を実行することによって、ピクセルの現在のブロックが予測される。モーション推定の結果は、インター予測のケースにおいては、参照ブロックに関連付けられているモーションベクトルまたは変位ベクトルである。モーションベクトルは、ピクセルのブロックのインター予測を出力するためにモーションコンペンセータ250によって使用されることが可能である。イントラプレディクタ249が、ピクセルの現在のブロックのイントラ予測を算出する。モーションエスティメータ/コンペンセータ250およびイントラプレディクタ249からの出力は、セレクタ251において入力され、セレクタ251は、ピクセルの現在のブロックに関してイントラ予測またはインター予測のいずれかを選択する。セレクタ251からの出力は、加算器241の形態のエラー計算機へ入力され、加算器241は、ピクセルの現在のブロックのピクセル値も受信する。加算器241は、ピクセルのブロックとその予測との間のピクセル値における差として残差エラーを計算して出力する。そのエラーは、離散コサイン変換によってなど、変換器242において変換され、量子化器243によって量子化され、続いてエントロピーエンコーダによってなど、エンコーダ244においてコーディングされる。インターコーディングにおいては、推定されたモーションベクトルもエンコーダ244にもたらされて、ピクセルの現在のブロックのコーディングされた表示を生成する。ピクセルの現在のブロックに関する変換されて量子化された残差エラーは、元の残差エラーを取り出すために逆量子化器245および逆変換器246にも提供される。このエラーは、加算器247によってモーションコンペンセータ250またはイントラプレディクタ249からのブロック予測出力に加算されて、ピクセルの次のブロックの予測およびコーディングにおいて使用されることが可能であるピクセルの参照ブロックを作成する。この新たな参照ブロックは、最初にデブロッキングフィルタ200によって処理される。その処理された新たな参照ブロックは、次いでフレームバッファ248に一時的に格納され、そこでは、その参照ブロックは、イントラプレディクタ249およびモーションエスティメータ/コンペンセータ250にとって利用可能である。
【0073】
図3は、いくつかの実施形態によるビデオデコーダ104のブロック図である。デコーダ104は、ピクセルのブロックのエンコードされた表示をデコードして、量子化および変換された残差エラーのセットを得るために、エントロピーデコーダなどのデコーダ361を含む。これらの残差エラーは、逆量子化器362によって逆量子化され、逆変換器363によって逆変換されて、残差エラーのセットを提供する。これらの残差エラーは、加算器364によってピクセルの参照ブロックのピクセル値に加算される。参照ブロックは、インター予測が実行されるか、またはイントラ予測が実行されるかに応じて、モーションエスティメータ/コンペンセータ367またはイントラプレディクタ366によって決定される。セレクタ368は、それによって加算器364およびモーションエスティメータ/コンペンセータ367およびイントラプレディクタ366に相互接続される。結果として生じる、加算器364から出力されたピクセルのデコードされたブロックが、デブロッキングフィルタ300へ入力される。ピクセルのフィルタリングされたブロックが、デコーダ104から出力され、さらにフレームバッファ365に一時的に提供されて、デコードされることになるピクセルの後続のブロックのためのピクセルの参照ブロックとして使用されることが可能である。フレームバッファ365は、それによってモーションエスティメータ/コンペンセータ367に接続されて、ピクセルの格納されているブロックをモーションエスティメータ/コンペンセータ367にとって利用可能にする。加算器364からの出力は、イントラプレディクタ366へ入力されて、ピクセルのフィルタリングされていない参照ブロックとして使用されることも可能である。
【0074】
図4は、ビデオビットストリーム400の一部分の例を示している。例示的なビットストリーム部分400は、CVS401を含み、CVS401は、パラメータセット(PS)を含む非VCL NALユニットと、いくつかのVCL NALユニットとを含む。VCL NALユニット412aおよび412bが示されている。
【0075】
本開示における「セグメント」という用語は、NALユニットだけでなくメッセージ(たとえば、SEIメッセージ)も包含するように広く使用されている。明示的に規定されてはいないが、それでもなお本開示によってカバーされる解決策を形成するために、以降の実施形態が組み合わされることが可能であるということが当業者によって理解されるはずである。
【0076】
1.パラメータセットにおけるNALユニットタイプおよび/またはSEIメッセージタイプの存在をシグナリングする
【0077】
この実施形態においては、パラメータセットは、セグメントタイプAのセグメントがビットストリームに存在していてもよいか否かを指定するパラメータ(別名、コードワード)(すなわち、1つまたは複数のビットのセット)を含む。それゆえに、パラメータはセグメント存在情報の例である。
【0078】
この実施形態の1つのバージョンにおいては、パラメータはフラグ(すなわち、1ビット値)であり、パラメータが第1の値、たとえば0を有する場合には、ビットストリームにセグメントタイプAのセグメントがあってはならない。パラメータが第2の値、たとえば1を有する場合には、セグメントタイプAのセグメントがビットストリームに存在していてもよい。これは、下記のシンタックスおよびセマンティクスを用いて示されており、この場合、パラメータはフラグである。
【0079】
この実施形態の別のバージョンにおいては、パラメータが第1の値、たとえば0を有する場合には、セグメントタイプAのセグメントがビットストリームに存在していてもよい。フラグが第2の値、たとえば1を有する場合には、セグメントタイプAのセグメントがビットストリームに存在していてはいけない。これは、下記のシンタックスおよびセマンティクスを用いて示されており、この場合、パラメータはフラグである。
【0080】
あるバージョンにおいては、パラメータ値と、デコードされたタイプのセグメントタイプとに基づいて、ビットストリームが有効であるかまたは無効であるかがデコーダによって決定される。たとえば、一実施形態においては、デコーダは、タイプAのセグメントがビットストリームに存在している場合には、ビットストリームが無効であると宣言することになるが、パラメータセットにおけるパラメータは、セグメントタイプのセグメントが存在していてはいけないということを指定する。ビットストリームが無効であると決定された場合には、デコーダは、それをビットエラーもしくはデータの喪失として解釈するか、またはビットストリームおよび/もしくはエンコーダが非準拠であると解釈することと、エラーを報告すること、エラー隠蔽を実行すること、または、ビットストリームが準拠していないという知識に基づくその他のアクションを取ることとが可能である。
【0081】
デコーダは、ビットストリームから1つまたは複数の画像をデコードするために、この実施形態に関する下記のステップのうちのサブセットまたはすべてを実行することが可能であり、この場合、ビットストリームは、少なくとも1つのパラメータセットと、デコーディング順序においてそのパラメータセットに続く1つまたは複数のセグメントとを含み、この場合、それぞれのセグメントは、セグメントタイプを有する。
【0082】
1)ビットストリームにおけるパラメータセットにおけるコードワードから値をデコードし(この値は「インジケータ値」と呼ばれる)、次いでインジケータ値に基づいて、セグメントタイプSのセットにおけるセグメントタイプAのセグメントがビットストリームに存在していてもよいかどうか、またはセグメントタイプSのセットにおけるセグメントタイプAのセグメントがビットストリームに存在していてはいけないかを決定する。それゆえに、インジケータ値はセグメント存在情報の例である。
【0083】
2)セグメントタイプTのセグメントの存在をビットストリームにおいて検知する(たとえば、セグメントタイプTのセグメントがビットストリームに存在していることをビットストリームにおけるコードワードが示しているということを検知する)。
【0084】
3)インジケータ値およびデコードされたセグメントタイプTに基づいて、ビットストリームが有効であるかまたは無効であるかを決定する。
【0085】
4)セグメントタイプTがセグメントタイプAに等しいことと、セグメントタイプSのセットにおけるセグメントタイプAのセグメントがビットストリームに存在していてはいけないということをインジケータ値が指定していることとを決定することによって、ビットストリームが無効であると決定する。
【0086】
5)ビットストリームが無効であると決定された場合には、それをビットエラー、データの喪失として解釈するか、またはビットストリームおよび/もしくはエンコーダが非準拠であると解釈し、そしてエラーを報告するか、エラー隠蔽を実行するか、または、ビットストリームが準拠していないという知識に基づくその他のアクションを取る。
【0087】
エンコーダは、1つまたは複数の画像をビットストリームへとエンコードするために、この実施形態に関する下記のステップのうちのサブセットまたはすべてを実行することが可能であり、この場合、ビットストリームは、少なくとも1つのパラメータセットと、デコーディング順序においてそのパラメータセットに続く1つまたは複数のセグメントとを含むことになり、この場合、それぞれのセグメントは、セグメントタイプを有する。
【0088】
1)ビットストリームにおけるパラメータセットにおけるコードワードにインジケータ値をエンコードし、インジケータ値は、セグメントタイプAのいずれかのセグメントがビットストリームに存在していてもよいか、または存在していてはいけないかを指定する。
【0089】
2)セグメントタイプAのセグメントがビットストリームに存在していてはいけないということをインジケータ値が指定している場合には、セグメントタイプAのいずれのセグメントもビットストリームに含めず、そうでない場合には、セグメントタイプAのセグメントがビットストリームに含まれることが可能である。
【0090】
あるいは、エンコーダは、1つまたは複数の画像をビットストリームへとエンコードするために、この実施形態に関する下記のステップのうちのサブセットまたはすべてを実行することが可能である。
【0091】
1)少なくとも1つの要素を含むセグメントタイプのリストを取り出し、その要素は、ビットストリームにおいて使用されていないものとして少なくとも1つのセグメントタイプを識別する。
【0092】
2)使用されていないものとして識別された、リストにおける少なくとも1つのセグメントタイプに関して、ビットストリームにおけるパラメータセットにおけるコードワードにインジケータ値をエンコードし、インジケータ値は、使用されていないセグメントタイプのセグメントがビットストリームに存在していてはいけないということを指定する。
【0093】
3)ビットストリームにおいて使用されている可能性のあるものとして少なくとも1つのセグメントタイプを識別する要素をリストが含むケースにおいては、ビットストリームにおけるパラメータセットにおけるコードワードへインジケータ値をエンコードし、インジケータ値は、使用されている可能性のあるセグメントタイプのセグメントがビットストリームに存在していてもよいということを指定する。
【0094】
あるいは、エンコーダは、セグメントタイプのリストにわたってループすること、およびそれぞれのセグメントタイプに関して、そのタイプを、使用されてもよいかまたは使用されないことになるかのいずれかであるセグメントタイプのセットと比較することが可能である。使用されてもよいリストにおけるセグメントタイプに関しては、エンコーダは、そのセグメントタイプが使用されてもよいということを指定する値を使用して、パラメータセットにおける対応するコードワードをエンコードする。使用されないことになるリストにおけるセグメントタイプに関しては、エンコーダは、そのセグメントタイプが使用されてはならないということを指定する値を使用して、パラメータセットにおける対応するコードワードをエンコードする。
【0095】
2.タイプのグループ化
【0096】
別の実施形態においては、パラメータセットにおけるパラメータは、セグメントタイプのグループがビットストリームに存在していてもよいということ、または存在していてはいけないということを指定し、この場合、そのグループは、少なくとも1つのタイプを含む。この実施形態の1つのバージョンにおいては、パラメータが第1の値、たとえば0を有する場合には、セグメントタイプA、B、...、またはNのセグメントは、ビットストリームに存在していてはいけない。フラグが第2の値、たとえば1を有する場合には、セグメントタイプA、B、...、またはNのセグメントは、ビットストリームに存在していてもよい。
【0097】
下記は、この実施形態に関する例示的なシンタックスおよびセマンティクスである。
【0098】
この実施形態の別のバージョンにおいては、パラメータが第1の値、たとえば0を有する場合には、セグメントタイプA、B、...、およびNのセグメントは、ビットストリームに存在していてもよい。フラグが第2の値、たとえば1を有する場合には、セグメントタイプA、B、...、およびNのセグメントは、ビットストリームに存在していてはいけない。下記は、実施形態1の第2の例を拡張した実施形態2に関する例示的なシンタックスおよびセマンティクスである。
【0099】
3.NALユニットタイプに関する詳細
【0100】
この実施形態においては、セグメントはNALユニットであり、どのNALユニットタイプに関して存在が前述の実施形態のうちのいずれかによるパラメータセットにおいてシグナリングされることが可能であるかがさらに記述される。
【0101】
テーブル11において列挙されているNALユニットタイプのうちのいずれも、潜在的にその存在がパラメータセットにおいてシグナリングされることが可能である。また、いかなる今後のNALユニットタイプも、潜在的にその存在がパラメータセットにおいてシグナリングされることも可能である。
【0102】
下記は、NALユニットタイプに関して、ビットストリームにおけるその存在をパラメータセットにおいてシグナリングすることが最も理にかなっている、現在のバージョンのVVCにおいて使用されているNALユニットタイプの例示的なシンタックスおよびセマンティクスである。
【0103】
以下でテーブル12において列挙されている理由のために、上述のNALユニットタイプのNALユニットの潜在的な存在または特定の不在をデコーダが知ることが有用である場合がある。
【0104】
代替バージョンにおいては、上述されているNALユニットタイプのうちのいくつかがグループ化されている。これはさらに、下記のシンタックスおよびセマンティクスによって例示されている。
【0105】
4.SEIメッセージのタイプに関する詳細
【0106】
この実施形態においては、セグメントはSEIメッセージであり、SEIメッセージのどのタイプに関して存在が前述の実施形態のうちのいずれかによるパラメータセットにおいてシグナリングされることが可能であるかがさらに記述される。
【0107】
テーブル14において列挙されているSEIメッセージタイプのうちのいずれも、またはHEVCにおいて規定されているSEIメッセージのうちのいずれも、潜在的にそれらの存在がパラメータセットにおいてシグナリングされることが可能である。また、いかなる今後のSEIメッセージタイプも(この場合、いくつかはHEVCからコピーされる可能性がある)、潜在的にその存在をパラメータセットにおいてシグナリングされることが可能である。
【0108】
下記は、現在のバージョンのVVCにおけるSEIメッセージタイプのうちの2つに関する例示的なシンタックスおよびセマンティクスである。
【0109】
ビットストリームにDRAP SEIメッセージがないということをデコーダが知っていることが有用である場合がある。たとえば、デコーダが、自身が現在デコードしていない別個のチャネルに同調できるようにしたい場合には、デコーダは、DRAP画像が存在しているならば、そうすることが可能であり、最新のIRAP画像を格納して、DRAP画像でさらに高速に同調できるようにすることが可能であろう。しかし、DRAP画像がビットストリームに存在していないということをデコーダが知っている場合には、デコーダは、別個のチャネルの最新のIRAP画像を格納する必要はないであろうが、自身が同調したい場合に、単に次のIRAP画像を待つことが可能である。
【0110】
代替バージョンにおいては、パラメータセットは、下記のセマンティクスを有しているno_rap_constraint_flagパラメータを含むことが可能である。
【0111】
1に等しいno_rap_constraint_flagは、現在のアクセスユニットを除いて、NALユニットタイプIDR_W_RADL、IDR_N_LP、CRA_NUT、またはGRA_NUTのNALユニットがビットストリームに存在していてはいけないことがビットストリーム準拠の要件であるということを指定する。従属ランダムアクセスポイント表示SEIメッセージがビットストリームに存在していてはいけないことが、さらにビットストリーム準拠の要件である。0に等しいno_rap_constraint_flagは、制約を課さない。
【0112】
5.パラメータセットに関する詳細
【0113】
この実施形態においては、さらにパラメータセットが何であり得るかが規定され、パラメータセットにおいては、ビットストリームにおけるセグメントタイプの存在がシグナリングされる。
【0114】
1つのバージョンにおいては、パラメータセットはDPSである。別のバージョンにおいては、パラメータセットはVPSである。1つのバージョンにおいては、セグメントタイプの存在は、general_constraint_info()structにおいてシグナリングされ、これは、現在のバージョンのVVCにおいては、DPSおよびVPSの両方に存在していてもよい。2つのその他のバージョンにおいては、パラメータセットは、それぞれSPSまたはPPSである。さらに別のバージョンにおいては、パラメータセットは、システムレイヤでシグナリングされる、たとえば、DVB、ATSC、ISOBMFF、DASH、またはMMTにおいて指定されるエンティティ、ボックス、またはフィールドである。
【0115】
6.どの時間サブレイヤがNALユニットタイプを有することが可能であるかをシグナリングする
【0116】
一実施形態においては、パラメータセットは、セグメントタイプAを有するセグメントが存在していてもよいかまたは存在していてはいけない、1つまたは複数の時間サブレイヤを識別する。たとえば、一例においては、パラメータセットは、NALユニットタイプAを有するNALユニット(たとえば、STSA_NUT)がビットストリームにおける時間サブレイヤ1にのみ存在していてもよく、1よりも高い時間サブレイヤに存在していてはいけないということを示す。
【0117】
7.どのレイヤ(たとえばスケーラブルレイヤ)がNALユニットタイプを有することが可能であるかをシグナリングする
【0118】
一実施形態においては、パラメータセットは、セグメントタイプAを有するセグメントが存在していてもよいかまたは存在していてはいけない1つまたは複数のレイヤを識別する。たとえば、一例においては、パラメータセットは、NALユニットタイプAを有するNALユニット(たとえば、STSA_NUT)がビットストリームにおけるレイヤ0、4、および34にのみ存在していてもよく、ビットストリームにおけるレイヤ5、7、および23に存在していてはいけないということを示す。
【0119】
8.パラメータが指定の値を有するべきであるかまたは有さなければならないということをサードパーティーの仕様が義務付ける。
【0120】
別の実施形態においては、セグメントタイプの存在を示し、パラメータセットにおいてシグナリングされるパラメータが指定の値を有するべきであるかまたは有さなければならないということをサードパーティーの仕様(たとえばDVBまたはATSC)が義務付ける。たとえば、DVBまたはATSCは、no_gdr_constraint_flagが1という値を有さなければならないということを指定することが可能である。これは、NALユニットタイプGDR_NUTのNALユニットがビットストリームに存在していてはいけないということを意味することが可能である。
【0121】
9.ビットストリーム、およびパラメータの範囲。
【0122】
一実施形態においては、ビットストリームという用語は、ビットストリーム全体のうちで、パラメータを含むパラメータセットをセグメントが参照する部分を指す。HEVCおよびVVCにおいては、ビットストリーム全体は、連続した一連の1つまたは複数のCVSであり、その後にビットストリームの終わりのNALユニットが続く。たとえば、パラメータがDPSまたはVPSに存在している場合には、ビットストリームは、そのパラメータを含むDPSまたはVPSをそれぞれ参照するCVSのみを含むことが可能である。
【0123】
別の実施形態においては、パラメータはSPSに存在しており、ビットストリームは、そのSPSを参照する単一のCVSのみを含む。あるいは、このケースにおけるビットストリームは、SPSが参照するDPSまたはVPSのいずれかを参照するCVSから構成される。
【0124】
その他の実施形態においては、パラメータはPPSに存在しており、ビットストリームは、1)そのPPSを参照するセグメント(またはNALユニット)、2)PPSが存在しているかまたはアクティブ化されているCVS、3)PPSが参照するDPSを参照するCVS、4)PPSが参照するVPSを参照するCVS、のうちの1つから構成される。
【0125】
本開示における「ビットストリーム」という用語は、上記の実施形態において説明されている意味のうちのいずれかを有することが可能である。
【0126】
10.上書き
【0127】
別の実施形態においては、インジケータ値は、ビットストリーム全体の今後の部分において変わる可能性があり、それによって、たとえばインジケータは、特定のNALユニットタイプがビットストリームの一部に存在していてもよいということ、および特定のNALユニットタイプがビットストリームのその後の部分に存在していてはいけないということを示す。この実施形態においては、インジケータ値は、インジケータが上書きされるかまたは新たな値に設定されるまで、ビットストリームの一部に適用され、ビットストリームにおけるその時点から、インジケータの新たな値が適用される。
【0128】
この実施形態の変形においては、インジケータ値は、サブビットストリーム抽出またはマージプロセスにおいて上書きされることが可能であり、それによって、結果として生じるビットストリームは、特定のNALユニットタイプのうちの1つまたはグループを有することが可能であり、または有さないことも可能であり、結果として生じるビットストリームにおけるインジケータ値は、1つまたは複数の元のビットストリームにおける1つまたは複数のインジケータ値に基づいて規定されることが可能である。
【0129】
11.マルチバリューインジケータ
【0130】
別の実施形態においては、インジケータ値が、2つ以上のビットのセットから決定されること(すなわち、3つの値などの2つよりも多い値を有すること)が可能である。たとえば、パラメータセットに含まれる2つ以上のビットをデコードすることによってインジケータ値が決定されるケースにおいては、インジケータ値は、0、1、2、および3という値のうちのいずれかの値を有することが可能である。1つのそのようなインジケータ値(たとえば、0)は、特定のNALユニットタイプがビットストリームに存在していてもよいということを示すことが可能であり、別のそのような値(たとえば、1)は、特定のNALユニットタイプがビットストリームに存在していてはいけないということを示すことが可能であり、第3のそのような値(たとえば、2)は、特定のNALユニットタイプがビットストリームに存在していなければならないということを示すことが可能である。
【0131】
12.条件付きインジケータ
【0132】
別の実施形態においては、1つまたは複数のビットの第1のセット(たとえば、1ビットフラグ)が、パラメータセットにおいてシグナリングされ、ビットのこの第1のセットの値は、ビットストリームにおける同じパラメータセットまたはその他のパラメータセットにおける1つまたは複数のその他のパラメータの1つまたは複数の値とともに、セグメントタイプAのセグメントがビットストリームに存在していてもよいか否かを指定する。一例においては、インジケータは、SPSにおけるパラメータPの値が1に等しい場合にのみセグメントタイプAのセグメントがビットストリームに存在してもよいかどうかを指定する。
【0133】
図8は、ビデオエンコーダ102またはビデオデコーダ104を実装するための、いくつかの実施形態による、装置800のブロック図である。すなわち、装置800は、プロセス600および/またはプロセス700を実行するように動作可能である。装置800がビデオエンコーダ102を実装する実施形態においては、装置800は、「エンコーディング装置800」と呼ばれる場合があり、装置800がビデオデコーダ104を実装する実施形態においては、装置800は、「デコーディング装置800」と呼ばれる場合がある。
図8において示されているように、装置800は、処理回路(PC)802(これは、1つまたは複数のプロセッサ(P)855(たとえば、汎用マイクロプロセッサおよび/または1つもしくは複数のその他のプロセッサ、たとえば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など)を含むことが可能であり、それらのプロセッサは、単一のハウジングにおいて、または単一のデータセンタにおいて同じ場所に配置されることが可能であり、または地理的に分散されることが可能である(すなわち、装置800は、分散コンピューティング装置であることが可能である))と、ネットワーク110(たとえば、インターネットプロトコル(IP)ネットワーク)に接続されているその他のノードとの間において装置800がデータを送信することおよびデータを受信することを可能にするための送信機(Tx)845および受信機(Rx)847を含むネットワークインターフェース848(ネットワーク110には、ネットワークインターフェース848が(直接または間接的に)接続されている(たとえば、ネットワークインターフェース848は、ネットワーク110に無線で接続されることが可能であり、そのケースにおいては、ネットワークインターフェース848は、アンテナ構成に接続される))と、ローカルストレージユニット(別名、「データストレージシステム」)808(これは、1つもしくは複数の不揮発性ストレージデバイスおよび/または1つもしくは複数の揮発性ストレージデバイスを含むことが可能である)とを含むことが可能である。PC802がプログラマブルプロセッサを含む実施形態においては、コンピュータプログラム製品(CPP)841が提供されることが可能である。CPP841は、たとえば、コンピュータ可読命令(CRI)844を含むコンピュータプログラム(CP)843を格納するコンピュータ可読メディア(CRM)842を含む。CRM842は、磁気メディア(たとえば、ハードディスク)、光メディア、メモリデバイス(たとえば、ランダムアクセスメモリ、フラッシュメモリ)など、非一時的コンピュータ可読メディアであることが可能である。いくつかの実施形態においては、コンピュータプログラム843のCRI844は、PC802によって実行されたときに、本明細書において記述されているステップ(たとえば、本明細書においてフローチャートに関連して記述されているステップ)をCRIが装置800に実行させるように設定されている。その他の実施形態においては、装置800は、コードに対する必要性を伴わずに、本明細書において記述されているステップを実行するように設定されることが可能である。すなわち、たとえば、PC802は、単に1つまたは複数のASICから構成されることが可能である。それゆえに、本明細書において記述されている実施形態の特徴は、ハードウェアおよび/またはソフトウェアで実施されることが可能である。
【0134】
さまざまな実施形態が本明細書(付録を含む)において記述されているが、それらは、限定ではなく、単なる例として提示されてきたということを理解されたい。それゆえに、本開示の広がりおよび範囲は、上述の例示的な実施形態のうちのいずれによっても限定されるべきではない。その上、上述の要素の、それらのすべての可能なバリエーションでのいかなる組合せも、本開示によって包含される。ただし、その他の内容が本明細書において示されている場合、またはその他の形で文脈によって明らかに矛盾される場合は除く。
【0135】
加えて、上述されて図面において示されているプロセスは、一連のステップとして示されているが、これは、単に例示のために行われたものである。したがって、いくつかのステップが付加されることが可能であり、いくつかのステップが省略されることが可能であり、ステップの順序が再構成されることが可能であり、いくつかのステップが並行して実行されることが可能であると考えられる。
【0136】
略語 説明
【0137】
ATSC 先進テレビシステム委員会
【0138】
AU アクセスユニット
【0139】
AUD アクセスユニットデリミタ
【0140】
ALF 適合ループフィルタ
【0141】
APS 適合パラメータセット
【0142】
BLA ブロークンリンクアクセス
【0143】
CLVS コーディングされたレイヤビデオシーケンス
【0144】
CRA クリーンランダムアクセス
【0145】
CVS コーディングされたビデオストリーム
【0146】
CVSS CVSスタート
【0147】
CU コーディングユニット
【0148】
DASH HTTPを介した動的適合ストリーミング
【0149】
DPS デコーディングパラメータセット
【0150】
DVB デジタルビデオブロードキャスティング
【0151】
DRAP 従属ランダムアクセスポイント
【0152】
GDR グラデュアルデコーディングリフレッシュ
【0153】
HEVC 高効率ビデオコーディング
【0154】
IDR インスタントデコーディングリフレッシュ
【0155】
IRAP イントラランダムアクセスポイント
【0156】
ISO 国際標準化機構
【0157】
ISOBMFF ISOベースメディアファイルフォーマット
【0158】
LMCS 輝度マッピングおよび彩度スケーリング
【0159】
MPEG モーションピクチャエキスパートグループ
【0160】
MMT MPEGメディアトランスポート
【0161】
NAL ネットワーク抽象化レイヤ
【0162】
NALU NALユニット
【0163】
NUT NALユニットタイプ
【0164】
PPS 画像パラメータセット
【0165】
RADL ランダムアクセスデコーダブルリーディング
【0166】
RAP ランダムアクセスポイント
【0167】
RASL ランダムアクセススキップリーディング
【0168】
RBSP ローバイトシーケンスペイロード
【0169】
RPL 参照画像リスト
【0170】
SEI 補助強化レイヤ
【0171】
SPS シーケンスパラメータセット
【0172】
STSA 段階的時間レイヤアクセス
【0173】
VCL ビデオコーディングレイヤ
【0174】
VPS ビデオパラメータセット
【0175】
VVC 多用途ビデオコーディング
付録
以降の文章は、現在のバージョンのVVCに対する変更を提案する寄与文書からのものである。
文章の始まり
要約
この寄与文書は、ビットストリームにおけるNALユニットタイプのうちのいくつかの潜在的な存在を、DPSおよびVPSにおけるgeneral_constraint_info()structにおいてシグナリングすることを提案している。加えて、ビットストリームにおけるDRAP画像の潜在的な存在を、general_constraint_info()structにおいてシグナリングすることも提案されている。第1のオプションにおいては、下記の制約フラグが提案されている。
- no_trail_constraint_flag
- no_stsa_constraint_flag
- no_rasl_constraint_flag
- no_radl_constraint_flag
- no_idr_constraint_flag
- no_cra_constraint_flag
- no_gdr_constraint_flag
- no_aps_constraint_flag
- no_dependent_rap_indication_sei_constraint_flag
第2のさらにスリムなオプションにおいては、最も有用であろうと提案者が評価しているNALユニットおよび画像タイプに関してのみ制約フラグが提案されている。第1のオプションと比較してもう1つの違いは、no_idr_constraint_flagおよびno_cra_constraint_flagがno_irap_constraint_flagへとグループ化されているということである。下記の制約フラグが、第2のオプションにおいて提案されている。
- no_stsa_constraint_flag
- no_irap_constraint_flag
- no_gdr_constraint_flag
- no_aps_constraint_flag
- no_dependent_rap_indication_sei_constraint_flag
オプション1もしくはオプション2のうちの一方をVVC仕様に付加するか、またはその2つを併せて付加することが提案される。
1 序論
現在のバージョンのVVCは、制約のセットをDPSおよび/またはVPSにおけるgeneral_constraint_info()structにおいてシグナリングすることを提供する。それらの制約は、特定のコーディングツールがビットストリームにおいて有効にされているか否か、ビットストリームに関する最大ビット深度および彩度フォーマットなどを含めて、ビットストリームから何を予期するかをデコーダに知らせる。これらの制限を与えられると、デコーダは次いで、リソースの割り当ておよび使用を適合させることが可能である。しかしながら、これらの制約は、ビットストリームにおいて予期され得るNALユニットタイプに関するいかなる情報も含まない。下記は、特定のNALユニットタイプがビットストリームに存在していないであろうということをデコーダが知ることが有用であり得る場合のいくつかの例である。
- STSA画像がビットストリームに存在していないであろうということがわかっている場合には、デコーダは、自身が現在デコードしているものよりも高位の時間サブレイヤをスキャンする必要はなく、STSA画像でスイッチアップする際にさもなければ必要とされる可能性があるいかなるPPSまたはAPSもそれらの高位のサブレイヤに格納する必要はない。
- 第1のアクセスユニットを除いて、CRAまたはIDR画像がビットストリームに存在していないであろうということがわかっている場合には、デコーダは、IRAP画像からのいかなるビットレートスパイクもない可能性があると結論付けることが可能であり、それに応じて自身の出力タイミングを適合させることが可能である。
- GDR画像がビットストリームに存在していないであろうということがわかっている場合には、デコーダは、ストリームをデコードするためにいかなる利用不可能な画像も生成する必要はない(いかなるRASL画像も破棄されるので、利用不可能な画像を生成せずにCRAランダムアクセスが行われることが可能であるということは、よく知られている)。
- ビットストリームにAPSがないであろうということがわかっている場合には、デコーダは、いかなる潜在的なAPSを格納するためにもメモリを割り当てる必要はない。
- ビットストリームにDRAP SEIメッセージがないということをデコーダが知っていることが有用である場合がある。たとえば、デコーダが、1つのブロードキャストされているチャネルから、自身が現在デコードしていない別のチャネルへ切り替えることができるようにしたい場合には、デコーダは、DRAP画像が存在しているならば、その別のチャネルの最新のIRAP画像を格納して、後続のDRAP画像でさらに高速に同調できるようにすることが可能である。切り替える際に、デコーダは、まず格納されているIRAP画像を、続いてDRAP画像を、次いで後続の画像をデコードすることになる。しかし、DRAP画像がビットストリームに存在していてはいけないということをデコーダが知っている場合には、デコーダは、別個のチャネルの最新のIRAP画像を格納する必要はないであろうが、自身がその別のチャネルへ切り替えたい場合に、次のIRAP画像を待たなければならないであろう。
2 提案
ビットストリームにおけるNALユニットタイプのうちのいくつかの潜在的な存在を、DPSおよびVPSにおけるgeneral_constraint_info()structにおいてシグナリングすることが提案されている。加えて、ビットストリームにおけるDRAP画像の潜在的な存在を、general_constraint_info()structにおいてシグナリングすることも提案されている。第1のオプションにおいては、下記の制約フラグが提案されている。
- no_trail_constraint_flag
- no_stsa_constraint_flag
- no_rasl_constraint_flag
- no_radl_constraint_flag
- no_idr_constraint_flag
- no_cra_constraint_flag
- no_gdr_constraint_flag
- no_aps_constraint_flag
- no_dependent_rap_indication_sei_constraint_flag
第2のさらにスリムなオプションにおいては、最も有用であろうと提案者が評価したNALユニットおよび画像タイプに関してのみ制約フラグが提案されている。第1のオプションと比較してもう1つの違いは、no_idr_constraint_flagおよびno_cra_constraint_flagがno_irap_constraint_flagへとグループ化されているということである。下記の制約フラグが、第2のオプションにおいて提案されている。
- no_stsa_constraint_flag
- no_irap_constraint_flag
- no_gdr_constraint_flag
- no_aps_constraint_flag
- no_dependent_rap_indication_sei_constraint_flag
オプション1もしくはオプション2のうちの一方をVVC仕様に付加するか、またはその2つを併せて付加することが提案される。
2.1 VVC仕様に対する提案される変更
オプション1およびオプション2に関する現在のVVCドラフト(JVET-O2001vE)に加えての提案される変更が、以降に示されている。
2.1.1 オプション1
2.1.2 オプション2 - スリムなバージョン
【0176】
文章の終わり
【手続補正書】
【提出日】2022-06-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーダ(104)によって実行される方法(600)であって、
ビットストリームを受信すること(s602)
であって、前記ビットストリームが、前記ビットストリームの第1の部分を含む、ビットストリームを受信すること(s602)と、
前記ビットストリームの前記第1の部分から、DPS、VPS、SPS、およびPPSのうちの1つまたは複数における一般制約情報シンタックス要素からのNALユニット存在情報をデコードすることとを含み、
i)前記
NALユニット存在情報が、少なくとも第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも一部分に存在していてはいけないということを示すか、または
ii)前記
NALユニット存在情報が、少なくとも前記第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも前記部分に存在していてもよいということを示
し、
前記少なくとも前記第1のNALユニットタイプのNALユニットが、VCL NALユニットであるか、またはAPS NALユニット、もしくはAUD NALユニットのうちの1つを含む、方法(600)。
【請求項2】
前記
NALユニット存在情報が、前記第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも前記部分に存在していてはいけないということを示していると決定することと、
前記ビットストリームの前記部分が前記第1の
NALユニットタイプの
NALユニットを含むということを検知することと、
前記決定することおよび前記検知することの結果として、前記ビットストリームの少なくとも前記部分が無効であると宣言することと
をさらに含む、請求項
1に記載の方法。
【請求項3】
前記
NALユニット存在情報が、
i)前記ビットストリームの前記部分が前記第1の
NALユニットタイプのいずれの
NALユニットも含んではいけない時間サブレイヤの値もしくは値の範囲、または
ii)前記ビットストリームの前記部分が前記第1の
NALユニットタイプの
NALユニットを含んでもよい前記時間サブレイヤの値もしくは値の範囲、のうちの一方を示し、さらに前記方法がさらに、
前記
NALユニット存在情報が、前記ビットストリームの前記部分が前記第1の
NALユニットタイプのいずれの
NALユニットも含んではいけない前記時間サブレイヤの値または値の範囲を示していると決定することと、
前記時間サブレイヤの値または値の範囲によって識別された時間サブレイヤが前記第1の
NALユニットタイプの
NALユニットを含むということを検知することと、
前記決定することおよび前記検知することの結果として、前記ビットストリームの前記部分が無効であると宣言することとを含む、請求項1
または2に記載の方法。
【請求項4】
前記
NALユニット存在情報が、
i)前記ビットストリームの前記部分が前記第1の
NALユニットタイプのいずれの
NALユニットも含んではいけないレイヤの値もしくは値の範囲、または
ii)前記ビットストリームの前記部分が前記第1の
NALユニットタイプの
NALユニットを含んでもよい前記レイヤの値もしくは値の範囲、のうちの一方を示す、請求項1から
3のいずれか一項に記載の方法。
【請求項5】
前記
NALユニット存在情報が、前記ビットストリームの前記部分が前記第1の
NALユニットタイプのいずれの
NALユニットも含んではいけない前記レイヤの値または値の範囲を示していると決定することと、
前記レイヤの値または値の範囲によって識別されたレイヤが前記第1の
NALユニットタイプの
NALユニットを含むということを検知することと、
前記決定することおよび前記検知することの結果として、前記ビットストリームの前記部分が無効であると宣言することと
をさらに含む、請求項
4に記載の方法。
【請求項6】
前記ビットストリームの前記第1の部分が、第1のパラメータセットおよび第2のパラメータセットを含み、
前記方法がさらに、前記第1のパラメータセットに含まれている情報に基づいて第1の値を決定することと、前記第2のパラメータセットに含まれている情報に基づいて第2の値を決定することとを含み、
前記
NALユニット存在情報が、前記第1の値および前記第2の値を含む、
請求項1から
5のいずれか一項に記載の方法。
【請求項7】
前記ビットストリームの前記第1の部分が、第1のパラメータセットを含み、
前記方法がさらに、前記第1のパラメータセットに含まれている情報に基づいて第1の値を決定することと、前記第1のパラメータセットに含まれている情報に基づいて第
3の値を決定することとを含み、
前記
NALユニット存在情報が、前記第1の値および前記第
3の値を含む、
請求項1から
6のいずれか一項に記載の方法。
【請求項8】
エンコーダ(102)によって実行される方法(700)であって、
ビットストリームを生成すること(s702)
であって、
前記ビットストリームが、前記ビットストリームの第1の部分を含み、
前記ビットストリームの前記第1の部分が、
NALユニット存在情報を提供する一般制約情報シンタックス要素を含むDPS、VPS、SPS、およびPPSのうちの1つまたは複数を含み、さらに
i)前記
NALユニット存在情報が、少なくとも第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも一部分に存在していてはいけないということを示すか、または
ii)前記
NALユニット存在情報が、少なくとも前記第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも前記部分に存在していてもよいということを示
し、
前記少なくとも前記第1のNALユニットタイプのNALユニットが、VCL NALユニットであるか、またはAPS NALユニット、もしくはAUD NALユニットのうちの1つを含む、ことと、
前記ビットストリームを出力すること(s704)と、を含む方法(700)。
【請求項9】
前記ビットストリームの前記第1の部分が、第1のパラメータセットから構成されており、
前記第1のパラメータセットが、ビットのセットを含み、
前記第1のパラメータセットに含まれているビットの前記セットが、前記
NALユニット存在情報を提供
し、ビットの前記セットが、前記第1のパラメータセットにおける単一のビットまたはビットの連続したセットから構成されている、
請求項1から
8のいずれか一項に記載の方法。
【請求項10】
前記VCL NALユニットが、TRAIL NALユニット、STSA NALユニット、RASL NALユニット、RADL NALユニット、IDR NALユニット、CRA NALユニット、およびGDR NALユニットのうちの1つを含む、請求項1から
9のいずれか一項に記載の方法。
【請求項11】
前記NALユニットタイプが、TRAIL_NUT、STSA_NUT、RASL_NUT、RADL_NUT、IDR_W_RADL、IDR_N_LP、CRA_NUT、GDR_NUT、APS_NUT
、またはAUD_NU
Tのうちの1つである、請求項
1から10のいずれか一項に記載の方法。
【請求項12】
前記第1のパラメータセットが
、システムレイヤでシグナリングされるエンティティである、請求項
9から
11のいずれか一項に記載の方法。
【請求項13】
前記ビットストリームの前記部分が、前記第1のパラメータセットを参照する
NALユニットから構成されている、請求項
9から
12のいずれか一項に記載の方法。
【請求項14】
前記ビットストリームが、連続した一連の1つまたは複数のCVSであ
り、
前記第1のパラメータセットが、DPSまたはVPSであり、前記ビットストリームの前記部分が、前記第1のパラメータセットを参照するCVSのみを含むか、または
前記第1のパラメータセットが、SPSであり、前記ビットストリームの前記部分が、前記SPSを参照する前記単一のCVSのみを含むか、または
前記第1のパラメータセットが、第2のパラメータセットを参照するSPSであり、前記ビットストリームの前記部分が、前記SPSが参照する前記第2のパラメータセットを参照するCVSのみを含む、請求項
13に記載の方法。
【請求項15】
前記ビットストリームの前記第1の部分から前記
NALユニット存在情報をデコードすることが、
前記ビットストリームの前記第1の部分におけるシンタックス要素からインジケータ値をデコードすることを含み、
前記インジケータ値が第1の値に等しいことに応答して、前記
NALユニット存在情報が、少なくとも第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも一部分に存在していてはいけないということを示し、
前記インジケータ値が第2の値に等しいことに応答して、前記
NALユニット存在情報が、少なくとも前記第1の
NALユニットタイプの
NALユニットが前記ビットストリームの少なくとも前記部分に存在していてもよいということを示す、請求項
1から14のいずれか一項に記載の方法。
【請求項16】
命令(844)を含むコンピュータプログラム(843)であって、前記命令(844)が、処理回路(802)によって実行されたときに、請求項1から
15のいずれか一項に記載の方法を前記処理回路(802)に実行させる、コンピュータプログラム(843)。
【請求項17】
請求項
16に記載のコンピュータプログラムを含むキャリアであって、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体(842)のうちの1つであるキャリア。
【請求項18】
請求項1から
7または
9から
15のいずれか一項に記載の方法を実行するように適合されているデコーディング装置(800)。
【請求項19】
請求項
8から
15のいずれか一項に記載の方法を実行するように適合されているエンコーディング装置(800)。
【国際調査報告】