【文献】
Jie Dong et al.,”Description of scalable video coding technology proposal by InterDigital Communications”,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting: Shanghai, CN, 10-19 Oct., 2012,2012年10月11日,JCTVC-K0034,1,19−22頁
【文献】
Benjamin Bross et al.,”Proposed Editorial Improvements for High efficiency video coding (HEVC) Text Specification Draft 9 (SoDIS)”,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Geneva, CH, 14-23 Jan. 2013,SW,2013年 1月 3日,JCTVC-L0030-v1,233−243,270−271頁
【文献】
Ye-Kui Wang,”AHG9: On HRD and related general issues”,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting: Shanghai, CN, 10-19 October 2012,SW,2012年10月19日,JCTVC-K0126
【文献】
Miska M. Hannuksela, et al.,”Scope of Supplemental Enhancement Information Message”,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 20th Meeting, Klagenfurt, Austria, July 2006,SW,2012年10月11日,JVT-T073
(58)【調査した分野】(Int.Cl.,DB名)
前記方法は、前記ネストされていないSEIメッセージの1つまたは複数のシンタックス要素に基づいて、前記ネストされていないSEIメッセージ用のペイロードタイプ変数を決定することをさらに備え、ここにおいて、
前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、前記ネストされていないSEIメッセージのペイロードタイプを示し、
前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、2、3、6、9、15、16、17、19、22、23、45、47、128、131、または134に等しい、
請求項3に記載の方法。
前記1つまたは複数のプロセッサは、前記ネストされていないSEIメッセージの1つまたは複数のシンタックス要素に基づいて、前記ネストされていないSEIメッセージ用のペイロードタイプ変数を決定するように構成され、ここにおいて、前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、前記ネストされていないSEIメッセージのペイロードタイプを示し、
前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、2、3、6、9、15、16、17、19、22、23、45、47、128、131、または134に等しい、
請求項10に記載のビデオ処理デバイス。
前記1つまたは複数のプロセッサは、前記ネストされていないSEIメッセージ中の前記1つまたは複数のシンタックス要素に部分的に基づいて、前記ネストされていないSEIメッセージが適用可能な前記ビットストリームの前記レイヤの前記ビデオデータを復号するように構成される、請求項8に記載のビデオ処理デバイス。
【発明を実施するための形態】
【0014】
[0018]ビデオエンコーダが、符号化されたビデオデータの表現を含むビットストリームを生成することができる。ビットストリームは、一連のネットワークアブストラクションレイヤ(NAL)ユニットを備え得る。NALユニットは、NALユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造であり得る。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと非VCL NALユニットとを含み得る。VCL NALユニットは、ピクチャのコーディングされたスライスを含み得る。非VCL NALユニットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、1つまたは複数のsupplemental enhancement information(SEI)メッセージ、または他のタイプのデータをカプセル化し得る。
【0015】
[0019]さらに、ビットストリームのNALユニットは、ビットストリームの異なるレイヤに関連付けられ得る。スケーラブルビデオコーディング(SVC)において、ベースレイヤ以外のレイヤは、「拡張レイヤ」と呼ばれてよく、ビデオデータの再生の品質を向上させるデータを含み得る。マルチビューコーディングおよび3次元ビデオ(3DV)コーディングにおいて、レイヤは、異なるビューに関連付けられたデータを含み得る。ビットストリームの各レイヤは、異なるレイヤ識別子に関連付けられる。さらに、NALユニットは時間識別子を含み得る。動作点とは、ビットストリームの時間レイヤのサブセットである。ビットストリームの各動作点は、レイヤ識別子のセット(すなわち、nuh_reserved_zero_6bits値のセット)と時間識別子とを有する。NALユニットが、ある動作点についてのレイヤ識別子のセット中のレイヤ識別子を指定し、NALユニットの時間識別子が動作点の時間識別子以下の場合、NALユニットは、その動作点に関連付けられる。
【0016】
[0020]上述したように、ビットストリームは、SEIメッセージをカプセル化するNALユニットを含み得る。1つまたは複数のSEIメッセージをカプセル化するNALユニットは、本明細書ではSEI NALユニットと呼ばれる。1つのタイプのSEIメッセージは、スケーラブルネスティングSEIメッセージ(scalable nesting SEI message)である。スケーラブルネスティングSEIメッセージは、1つまたは複数の追加SEIメッセージを含むSEIメッセージである。スケーラブルネスティングSEIメッセージ中に含まれないSEIメッセージは、本明細書では、ネストされていない(non-nested)SEIメッセージと呼ばれる。
【0017】
[0021]ある特定のタイプのSEIメッセージは、特定の動作点にのみ適用可能な情報を含む。たとえば、バッファリング期間SEIメッセージ(buffering period SEI messages)、ピクチャタイミングSEIメッセージ(picture timing SEI messages)、および復号ユニットSEIメッセージ(decoding unit SEI messages)は、特定の動作点にのみ適用可能である。したがって、そのようなSEIメッセージ中の情報を使うために、ビデオプロセッサは、どの動作点がSEIメッセージに適用可能か決定すればよい。他のタイプのSEIメッセージは、特定のレイヤにのみ適用可能である。したがって、そのようなSEIメッセージ中の情報を使うために、ビデオプロセッサは、どのレイヤがSEIメッセージに適用可能か決定すればよい。
【0018】
[0022]以前のビデオコーディング仕様は、特定のネストされていないSEIメッセージが適用される動作点またはレイヤに関する明確な指示を与えていない。その結果、ビデオデコーダは、そのようなネストされていないSEIメッセージを使うことができない場合がある。したがって、そのようなネストされていないSEIメッセージをビットストリーム中に含めるのは、ビットの浪費であり得る。
【0019】
[0023]本開示の1つまたは複数の技法によると、ビデオプロセッサは、ネストされていないSEIメッセージがバッファリングピクチャSEIメッセージ、ピクチャタイミングSEIメッセージ、それとも復号ユニットSEIメッセージであるか決定することができる。ネストされていないSEIメッセージが、これらの3つのタイプのSEIメッセージのうちの1つである場合、ビデオプロセッサは、ネストされていないSEIメッセージに適用可能な動作点を決定することができる。一例では、ネストされていないSEIメッセージに適用可能な動作点のすべてのNALユニットの最も高い時間識別子が、ネストされていないSEIメッセージをカプセル化するSEI NALユニットの時間識別子に等しい。さらに、この例では、ネストされていないSEIメッセージに適用可能な動作点のNALユニットすべてのレイヤ識別子のセットが、0から、ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子までの範囲のすべての整数値を含む。
【0020】
[0024]さらに、本開示の1つまたは複数の技法によると、ネストされていないSEIメッセージが、バッファリングピクチャSEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニットSEIメッセージ以外のタイプのSEIメッセージである場合、ビデオコーダは、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤを決定することができる。具体的には、ビットストリームのVCL NALユニットは、ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤにのみネストされていないSEIメッセージが適用され得る。このようにして、ネストされていないSEIメッセージのタイプのための適用可能な動作点またはレイヤが明確に指定される。
【0021】
[0025]
図1は、本開示の技法を利用し得る、例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指し得る。
【0022】
[0026]
図1に示されるように、ビデオコーディングシステム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12は、符号化されたビデオデータを生成する。したがって、ソースデバイス12はビデオ符号化デバイスまたはビデオ符号化装置と呼ばれ得る。宛先デバイス14はソースデバイス12によって生成された、符号化されたビデオデータを復号することができる。したがって、宛先デバイス14はビデオ復号デバイスまたはビデオ復号装置と呼ばれ得る。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【0023】
[0027]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備え得る。
【0024】
[0028]宛先デバイス14は、チャネル16を介してソースデバイス12から符号化されたビデオデータを受信し得る。チャネル16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な、1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が符号化されたビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする、1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルのような通信規格に従って、符号化されたビデオデータを変調することができ、変調されたビデオデータを宛先デバイス14に送信することができる。1つまたは複数の通信媒体は、高周波(RF)スペクトルまたは1つもしくは複数の物理伝送線路のような、ワイヤレスおよび/または有線の通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)などのパケットベースネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ソースデバイス12から宛先デバイス14への通信を容易にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【0025】
[0029]別の例では、チャネル16は、ソースデバイス12によって生成された、符号化されたビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、たとえばディスクアクセスまたはカードアクセスを介して、記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化されたビデオデータを記憶するための他の適切なデジタル記憶媒体のような、種々のローカルにアクセスされるデータ記憶媒体を含み得る。
【0026】
[0030]さらなる例では、チャネル16は、ソースデバイス12によって生成された、符号化されたビデオデータを記憶するファイルサーバまたは別の中間ストレージデバイスを含み得る。この例では、宛先デバイス14は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間ストレージデバイスに記憶された、符号化されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶し、符号化されたビデオデータを宛先デバイス14に送信することが可能な、あるタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブを含む。
【0027】
[0031]宛先デバイス14は、インターネット接続のような標準的なデータ接続を通じて、符号化されたビデオデータにアクセスし得る。例示的なタイプのデータ接続は、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、デジタル加入者回線(DSL)、ケーブルモデムなど)、またはその両方の組合せを含み得る。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであってよい。
【0028】
[0032]本開示の技法は、ワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の用途のような、種々のマルチメディア用途をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、単方向または双方向のビデオ送信をサポートして、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話のような用途をサポートするために構成され得る。
【0029】
[0033]
図1は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを通じてストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化してメモリに記憶することができ、および/または、ビデオ復号デバイスはメモリからデータを取り出し復号することができる。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および/またはメモリからデータを取り出して復号するだけであるデバイスによって実行される。
【0030】
[0034]
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/もしくはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのそのようなソースの組合せを含み得る。
【0031】
[0035]ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化することができる。いくつかの例では、ソースデバイス12は、出力インターフェース22を介して宛先デバイス14に符号化されたビデオデータを直接送信する。他の例では、符号化されたビデオデータはまた、復号および/または再生のための宛先デバイス14による後のアクセスのために記憶媒体またはファイルサーバ上に記憶され得る。
【0032】
[0036]
図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を通じて、符号化されたビデオデータを受信することができる。ビデオデコーダ30は、符号化されたビデオデータを復号し得る。ディスプレイデバイス32は、復号されたビデオデータを表示し得る。ディスプレイデバイス32は、宛先デバイス14と一体であってよく、またはその外部にあってよい。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、種々のディスプレイデバイスを備え得る。
【0033】
[0037]ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェア、またはそれらの任意の組合せのような、種々の好適な回路のいずれかとして実装され得る。本技法がソフトウェアで部分的に実装される場合、デバイスは、適切な非一時的コンピュータ可読記憶媒体にソフトウェア用の命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェア中で実行して、本開示の技法を実行することができる。上記(ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアの組合せなどを含む)のいずれも、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれることがあり、それらのいずれかがそれぞれのデバイス中の複合エンコーダ/デコーダ(CODEC)の一部として組み込まれることがある。
【0034】
[0038]本開示は、一般に、ある情報をビデオデコーダ30のような別のデバイスに「シグナリング」するビデオエンコーダ20に言及することがある。「シグナリング」という用語は、一般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで行われ得る。代替的に、そのような通信は、符号化の時に符号化されたビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われ得るなど、ある時間の期間にわたって行われることがあり、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出されてよい。
【0035】
[0039]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、そのスケーラブルビデオコーディング(SVC)拡張、マルチビュービデオコーディング(MVC)拡張、およびMVCベースの3DV拡張を含む、ISO/IEC MPEG−4 Visualおよび(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264のようなビデオ圧縮規格に従って動作する。いくつかの事例では、H.264/AVCのMVCベースの3DV拡張に準拠する任意のビットストリームは、H.264/AVCのMVC拡張に準拠するサブビットストリームを常に含む。さらに、H.264/AVCに対する3次元ビデオ(3DV)コーディング拡張、すなわちAVCベースの3DVを生成する取組みが進行中である。他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、およびITU−T H.264、ISO/IEC Visualに従って動作し得る。
【0036】
[0040]他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのビデオコーディング共同研究部会(JCT−VC)によって開発された高効率ビデオコーディング(HEVC)規格に従って動作し得る。「HEVC Working Draft 8」と呼ばれる次のHEVC規格のドラフトは、Brossら、「High Efficiency Video Coding (HEVC) text specification draft 8」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT−VC)、第10回会合、ストックホルム、スウェーデン、2012年7月に記載されている。別の「HEVC Working Draft 9」と呼ばれる次のHEVC規格のドラフトは、Brossら、「High Efficiency Video Coding (HEVC) text specification draft 9」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT−VC)、第11回会合、上海、中国、2012年10月に記載されている。さらに、HEVC向けのスケーラブルビデオコーディング拡張、マルチビューコーディング拡張、および3DV拡張を製作する作業が進行中である。HEVCのスケーラブルビデオコーディング拡張はSHEVCと呼ばれることがある。HEVCの3DV拡張は、HEVCベースの3DVまたはHEVC−3DVと呼ばれることがある。
【0037】
[0041]HEVCおよび他のビデオコーディング仕様において、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、S
L、S
CbおよびS
Crと示される3つのサンプルアレイを含み得る。S
Lは、輝度サンプルの2次元アレイ(すなわち、ブロック)である。S
Cbは、Cbクロミナンスサンプルの2次元アレイである。S
Crは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「色差」サンプルと呼ばれることもある。他の例では、ピクチャは、単色であってよく、輝度サンプルのアレイのみを含み得る。
【0038】
[0042]ビデオエンコーダ20は、ピクチャの符号化された表現を生成するために、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、輝度サンプルのコーディングツリーブロック、色差サンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするのに使用されるシンタックス構造を含み得る。3つの別個のカラープレーンを有する1つまたは複数のモノクロームピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは「ツリーブロック」または「最大コーディングユニット」(LCU:largest coding unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU:coding unit)を含み得る。スライスは、ラスタスキャン順序において連続的に順序付けられた整数個のCTUを含み得る。
【0039】
[0043]ビデオエンコーダ20は、コーディングされたCTUを生成するために、CTUのコーディングツリーブロックに対して再帰的に四分木分割を実行して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって、「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのN×Nブロックであり得る。CUは、輝度サンプルアレイ、CbサンプルアレイおよびCrサンプルアレイ、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を有するピクチャの輝度サンプルの1つのコーディングブロックおよび色差サンプルの2つの対応するコーディングブロックを含み得る。3つの別個のカラープレーンを有する1つまたは複数のモノクロームピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【0040】
[0044]ビデオエンコーダ20は、CUの1つのコーディングブロックを1つまたは複数の予測ブロックに分割することができる。予測ブロックは、同じ予測が適用されるサンプルの方形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU)は、輝度サンプルの予測ブロック、色差サンプルの2つの対応する予測ブロック、予測ブロックを予測するのに使用されるシンタックス構造を含み得る。3つの別個のカラープレーンを有する1つまたは複数のモノクロームピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUの輝度予測ブロック、Cb予測ブロック、およびCr予測ブロックのために、予測輝度ブロックと、予測Cbブロックと、予測Crブロックとを生成することができる。
【0041】
[0045]ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PUの予測ブロックを生成することができる。ビデオエンコーダ20がイントラ予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUと関連付けられたピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成することができる。ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUと関連付けられたピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成することができる。
【0042】
[0046]ビデオエンコーダ20は、CUの1つまたは複数のPUの予測輝度ブロックと、予測Cbブロックと、予測Crブロックとを生成した後、CUの輝度残差ブロックを生成することができる。CUの輝度残差ブロック中の各サンプルは、CUの予測輝度ブロックのうちの1つの中の輝度サンプルとCUの元の輝度コーディングブロックの中の対応するサンプルとの差分を示す。加えて、ビデオエンコーダ20はCUのCb残差ブロックを生成することができる。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルとCUの元のCbコーディングブロックの中の対応するサンプルとの差分を示し得る。ビデオエンコーダ20はCUのCr残差ブロックも生成することができる。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルとCUの元のCrコーディングブロックの中の対応するサンプルとの差分を示し得る。
【0043】
[0047]さらに、ビデオエンコーダ20は四分木分割を使用して、CUの輝度残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを、1つまたは複数の輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの方形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU)は、輝度サンプルの変換ブロック、色差サンプルの2つの対応する変換ブロック、変換ブロックサンプルを変換するのに使用されるシンタックス構造を含み得る。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロックおよびCr変換ブロックと関連付けられ得る。TUと関連付けられた輝度変換ブロックはCUの輝度残差ブロックのサブブロックであり得る。Cb変換ブロックはCUのCb残差ブロックのサブブロックであってもよい。Cr変換ブロックはCUのCr残差ブロックのサブブロックであってもよい。3つの別個のカラープレーンを有する1つまたは複数のモノクロームピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【0044】
[0048]ビデオエンコーダ20は、TUの輝度変換ブロックに1回または複数の変換を適用して、TUの輝度係数ブロックを生成することができる。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUのCb係数ブロックを生成することができる。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUのCr係数ブロックを生成することができる。
【0045】
[0049]ビデオエンコーダ20は、係数ブロック(たとえば、輝度係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、係数ブロックを量子化することができる。量子化は、一般に、変換係数が変換係数を表すために使用されるデータの量をできるだけ低減するために量子化される処理を指し、、さらなる圧縮を実現する。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対して、コンテキスト適応型バイナリ算術コーディング(CABAC:Context-Adaptive Binary Arithmetic Coding)を実行することができる。
【0046】
[0050]ビデオエンコーダ20は、コーディングされたピクチャおよび関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、一連のネットワークアブストラクションレイヤ(NAL)ユニットを備え得る。NALユニットは、NALユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって規定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの例では、RBSPはゼロビットを含む。
【0047】
[0051]異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、第1のタイプのNALユニットはピクチャパラメータセット(PPS)のためのRBSPをカプセル化することができ、第2のタイプのNALユニットはコーディングされたスライスのためのRBSPをカプセル化することができ、第3のタイプのNALユニットはSEIのためのRBSPをカプセル化することができ、その他もあり得る。(パラメータセットおよびSEIメッセージのためのRBSPではなく)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれ得る。
【0048】
[0052]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ30は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部基づいて、ビデオデータのピクチャを再構成することができる。ビデオデータを再構成するための処理は、一般に、ビデオエンコーダ20によって実行される処理の逆であり得る。加えて、ビデオデコーダ30は、現在のCUのTUと関連付けられる係数ブロックを逆量子化することができる。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、CUのTUと関連付けられた変換ブロックを再構成することができる。ビデオデコーダ30は、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに追加することによって、現在のCUのコーディングブロックを再構成することができる。ピクチャの各CUのコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成することができる。
【0049】
[0053]マルチビューコーディングでは、異なる視点からの同じシーンの複数のビューがあり得る。「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用される。したがって、ビデオデータは、経時的に発生する一連のアクセスユニットとして概念化され得る。「ビュー成分」は、単一のアクセスユニット中のビューのコーディングされた表現であり得る。本開示では、「ビュー」は、同じビュー識別子と関連付けられるビュー成分のシーケンスを指し得る。例示的なタイプのビュー成分は、テクスチャビュー成分と深度ビュー成分とを含み得る。
【0050】
[0054]マルチビューコーディングは、インタービュー予測をサポートする。インタービュー予測は、HEVCにおいて使用されるインター予測と同様であり、同じシンタックス要素を使用し得る。しかしながら、ビデオコーダが現在のビデオユニット(PUのような)に対してインタービュー予測を実行するとき、ビデオエンコーダ20は、参照ピクチャとして、その現在のビデオユニットと同じアクセスユニット中にあるが異なるビュー中にあるピクチャを使用し得る。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット中のピクチャのみを使用する。
【0051】
[0055]マルチビューコーディングでは、ビデオデコーダ(たとえば、ビデオデコーダ30)が、あるビュー中のピクチャを任意の他のビュー中のピクチャを参照することなく復号できる場合、そのビューは「ベースビュー」と呼ばれ得る。非ベースビューの1つの中のピクチャをコーディングするとき、ピクチャが、異なるビュー中にあるがビデオコーダが現在コーディングしているピクチャと同じ時間インスタンス(すなわち、アクセスユニット)内にある場合、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30のような)は、参照ピクチャリストにピクチャを追加し得る。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置にインタービュー予測参照ピクチャを挿入し得る。
【0052】
[0056]ビデオコーディング規格は、ビデオのバッファリングのモデルを規定する。H.264/AVCおよびHEVCでは、バッファリングのモデルは、「仮想参照デコーダ」または「HRD」と呼ばれる。HEVC Working Draft 8では、HRDはAnnex Cに記載される。
【0053】
[0057]HRDは、データが復号のためにどのようにバッファリングされるべきかということと、復号されたデータが出力のためにどのようにバッファリングされるかということとを表す。たとえば、HRDは、コーディングされたピクチャのバッファ(「CPB」)、復号されたピクチャのバッファ(「DPB」)、およびビデオ復号処理の動作を表す。CPBは、HRDによって規定される復号順序でアクセスユニットを含む、先入れ先出しのバッファである。DPBは、HRDによって規定される参照、出力の並べ替え、または出力遅延のために、復号されたピクチャを保持するバッファである。CPBおよびDPBの挙動は、数学的に規定され得る。HRDは、タイミング、バッファのサイズ、およびビットレートに対して制約を直接課し得る。さらに、HRDは、様々なビットストリーム特性および統計に対して制約を間接的に課し得る。
【0054】
[0058]H.264/AVCおよびHEVCでは、ビットストリームの適合およびデコーダの適合は、HRD仕様の一部として規定される。言い換えると、HRDモデルは、ビットストリームがビデオコーディング仕様に適合するかどうかを決定するための試験と、デコーダがビデオコーディング仕様に適合するかどうかを決定するための試験とを規定する。HRDがある種のデコーダと命名されるが、ビデオエンコーダは通常HRDを使用してビットストリームの適合を保証し、ビデオデコーダは通常HRDを必要としない。
【0055】
[0059]H.264/AVCとHEVCの両方が、2つのタイプのビットストリームまたはHRDの適合、すなわち、Type IとType IIとを規定する。Type Iのビットストリームは、ビットストリーム中のすべてのアクセスユニットのための、VCL NALユニットとフィラーデータNALユニットとのみを含むNALユニットストリームである。Type IIのビットストリームは、ビットストリーム中のすべてのアクセスユニットのためのVCL NALユニットおよびフィラーデータNALユニットに加えて、フィラーデータNALユニット以外の追加の非VCL NALユニットと、NALユニットストリームからバイトストリームを形成するすべてのleading_zero_8bits、zero_byte、start_coded_prefix_one_3bytes、およびtrailing_zero_8bitsシンタックス要素との少なくとも1つを含む、NALユニットストリームである。
【0056】
[0060]ビットストリームがビデオコーディング規格に適合するかどうかを決定するビットストリーム適合試験をデバイスが実行するとき、デバイスはビットストリームの動作点を選択することができる。デバイスは次いで、選択された動作点に適用可能なHRDパラメータのセットを決定することができる。デバイスは、選択された動作点に適用可能なHRDパラメータのセットを使用して、HRDの挙動を構成することができる。より具体的には、デバイスは、HRDパラメータの適用可能なセットを使用して、仮想ストリームスケジューラ(HSS:hypothetical stream scheduler)、CPB、復号処理、DPBなどのような、HRDの特定のコンポーネントの挙動を構成することができる。続いて、HSSは、特定のスケジュールに従って、ビットストリームのコーディングされたビデオデータをHRDのCPBに注入することができる。
【0057】
[0061]さらに、ビットストリームコンフォーマンステストを実施することの一部として、デバイスは、CPB中のコーディングされたビデオデータを復号する復号プロセスを呼び出し得る。復号処理は、復号されたピクチャをDPBに出力することができる。デバイスがHRDを通じてデータを移動するにしたがって、デバイスは、制約の特定のセットが満たされたままであるかどうかを決定することができる。たとえば、デバイスは、HRDが選択された動作点の動作点表現を復号している間、CPBまたはDPBにおいてオーバーフローの条件またはアンダーフローの条件が発生しているかどうかを決定することができる。デバイスは、このようにして、ビットストリームの各動作点を選択し処理し得る。ビットストリームの動作点が、制約が違反される原因とならない場合、そのビットストリームはビデオコーディング規格に適合すると、デバイスは決定し得る。
【0058】
[0062]H.264/AVCとHEVCの両方が、2つのタイプのデコーダの適合、すなわち、出力タイミングについてのデコーダの適合と出力順序についてのデコーダの適合とを規定する。特定のプロファイル、ティア、およびレベルに対する適合を主張するデコーダは、HEVCのようなビデオコーディング規格のビットストリーム適合要件に適合するすべてのビットストリームの復号に成功することが可能である。本開示では、「プロファイル」はビットストリームシンタックスのサブセットを指し得る。「ティア」および「レベル」は、各プロファイル内で規定され得る。ティアのレベルは、ビットストリーム中のシンタックス要素の値に課された制約の規定されたセットであり得る。これらの制約は、値に関する単純な制限であり得る。代替的に、制約は、値の算術的な組合せ(たとえば、ピクチャの幅×ピクチャの高さ×毎秒復号されるピクチャの数)に対する制約の形態をとり得る。通常、下位のティアのために規定されたレベルは、上位のティアのために規定されたレベルよりも制約される。
【0059】
[0063]デバイスがデコーダ適合試験を実行して、試験対象のデコーダ(DUT:decoder under test)がビデオコーディング仕様に適合するかどうかを決定するとき、デバイスは、ビデオコーディング規格に適合するビットストリームを、HRDとDUTの両方に提供することができる。HRDは、ビットストリーム適合試験に関して上で説明された方式で、ビットストリームを処理することができる。デバイスは、DUTによって出力される復号されたピクチャがHRDによって出力される復号されたピクチャの順序と一致する場合、DUTがビデオコーディング規格に適合すると決定することができる。さらに、デバイスは、DUTが復号されたピクチャを出力するタイミングが、HRDが復号されたピクチャを出力するタイミングと一致する場合、DUTがビデオコーディング規格に適合すると決定することができる。
【0060】
[0064]H.264/AVCおよびHEVC HRDモデルにおいて、復号および/またはCPB除去は、アクセスユニットベースであり得る。すなわち、HRDは、一度に全体のアクセスユニットを復号し、CPBから全体のアクセスユニットを除去すると想定される。さらに、H.264/AVCおよびHEVC HRDモデルでは、ピクチャの復号は瞬時的であると想定される。ビデオエンコーダ20は、ピクチャタイミングSEIメッセージにおいて、アクセスユニットの復号を開始する復号時間をシグナリングすることができる。実際の適用例では、適合するビデオデコーダが、アクセスユニットの復号を開始するためのシグナリングされた復号時間に厳密に従う場合、特定の復号されたピクチャを出力する最早の可能な時間は、その特定のピクチャの復号時間にその特定のピクチャを復号するために必要とされる時間を加えたものに等しい。しかしながら、現実の世界では、ピクチャを復号するのに必要とされる時間は、0に等しくはできない。
【0061】
[0065]HRDパラメータは、HRDの様々な態様を制御することができる。言い換えると、HRDは、HRDパラメータに依存し得る。HRDパラメータは、初期のCPBの除去遅延と、CPBサイズと、ビットレートと、初期のDPBの出力遅延と、DPBサイズとを含み得る。ビデオエンコーダ20は、ビデオパラメータセット(VPS)および/またはシーケンスパラメータセット(SPS)において規定されるhrd_parameters()シンタックス構造で、これらのHRDパラメータをシグナリングすることができる。個々のVPSおよび/またはSPSは、HRDパラメータの異なるセットに対して複数のhrd_parameters()シンタックスを含み得る。いくつかの例では、ビデオエンコーダ20は、バッファリング期間SEIメッセージまたはピクチャタイミングSEIメッセージにおいて、HRDパラメータをシグナリングすることができる。
【0062】
[0066]上で説明されたように、ビットストリームの動作点は、レイヤ識別子のセット(すなわち、nuh_reserved_zero_6bitsの値のセット)および時間識別子と関連付けられる。動作点表現は、その動作点と関連付けられる各NALユニットを含み得る。動作点表現は、元のビットストリームと異なるフレームレートおよび/またはビットレートを有し得る。これは、動作点表現が元のビットストリームのデータのいくつかのピクチャおよび/または一部を含まないことがあるからである。したがって、元のビットストリームを処理するときにビデオデコーダ30が特定のレートでCPBおよび/またはDPBからデータを除去することになっていた場合、および、動作点表現を処理するときにビデオデコーダ30が同じレートでCPBおよび/またはDPBからデータを除去することになっていた場合、ビデオデコーダ30は、CPBおよび/またはDPBから、あまりにも大量の、または少量のデータを除去することがある。したがって、ビデオエンコーダ20は、異なる動作点のためにHRDパラメータの異なるセットをシグナリングすることができる。たとえば、ビデオエンコーダ20は、VPSに、異なる動作点のためのHRDパラメータを含む複数のhrd_parameters()シンタックス構造を含み得る。
【0063】
[0067]下のテーブル1は、HEVCにおけるhrd_parameters()シンタックス構造についての例示的シンタックスである。
【表1】
【0064】
[0068]上の表1および本開示の他のシンタックス表の例では、型記述子ue(v)をもつシンタックス要素は、左ビットが先頭の0次指数ゴロム(Exp−Golomb)コーディングを使用して符号化される可変長の符号のない整数であり得る。表1および以下の表の例では、形式u(n)の記述子を有するシンタックス要素は、長さnの符号のない値であり、ただし、nは非負の整数である。
【0065】
[0069]H.264/AVCとHEVCの両方においてサポートされるSEI機構は、ビデオエンコーダ(たとえば、ビデオエンコーダ20)が、出力ピクチャのサンプル値の正確な復号のためには要求されないが、ピクチャ出力タイミング、表示、ならびに損失検出および隠蔽など、他の様々な目的に使われ得るようなメタデータをビットストリーム中に含めることを可能にする。ビデオエンコーダ20は、SEIメッセージを使用して、ピクチャのサンプル値の正確な復号に必要とされないメタデータをビットストリームに含めることができる。しかしながら、ビデオデコーダ30または他のデバイスが、様々な他の目的で、SEIメッセージに含まれるメタデータを使用し得る。たとえば、ビデオデコーダ30または他のデバイスは、ピクチャ出力のタイミング、ピクチャの表示、喪失の検出、およびエラーの隠匿のために、SEIメッセージ中のメタデータを使用し得る。
【0066】
[0070]ビデオエンコーダ20は、アクセスユニットに1つまたは複数のSEI NALユニットを含め得る。言い換えると、任意の数のSEI NALユニットが、アクセスユニットと関連付けられ得る。さらに、各SEI NALユニットが、1つまたは複数のSEIメッセージを含み得る。つまり、ビデオエンコーダは、任意の数のSEI NALユニットをアクセスユニット中に含めてよく、各SEI NALユニットは、1つまたは複数のSEIメッセージを含み得る。SEI NALユニットは、NALユニットヘッダとペイロードとを含み得る。SEI NALユニットのNALユニットヘッダは、少なくとも第1のシンタックス要素と第2のシンタックス要素とを含む。第1のシンタックス要素は、SEI NALユニットのレイヤ識別子を指定する。第2のシンタックス要素は、SEI NALユニットの時間識別子を指定する。
【0067】
[0071]ネストされたSEIメッセージは、スケーラブルネスティングSEIメッセージ中に含まれるSEIメッセージを指す。ネストされていないSEIメッセージは、スケーラブルネスティングSEIメッセージ中に含まれないSEIメッセージを指す。SEI NALユニットのペイロードは、ネストされたSEIメッセージまたはネストされていないSEIメッセージを備え得る。
【0068】
[0072]HEVC規格は、様々なタイプのSEIメッセージのためのシンタックスとセマンティクスとを記述する。しかしながら、SEIメッセージは規範的な復号処理に影響を与えないので、HEVC規格はSEIメッセージの処理を記述しない。HEVC規格においてSEIメッセージがある1つの理由は、補助データがHEVCを使用して異なるシステムにおいて同様に解釈されることを可能にするためである。HEVCを使用する仕様およびシステムは、ビデオエンコーダがあるSEIメッセージを生成することを要求することがあり、または、特定のタイプの受信されたSEIメッセージの特定の処理を定義することがある。
【0069】
[0073]以下の表2は、HEVCで規定されるSEIメッセージを一覧にし、それらの目的を簡単に説明する。
【表2】
【0070】
HEVCワーキングドラフト9では、HRD動作は、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージにおいて、および時には復号ユニット情報SEIメッセージにおいてもシグナリングされるパラメータを要求する。
【0071】
[0074]さらに、HEVCワーキングドラフト9において、ネストされたSEIメッセージに適用可能な動作点、レイヤ、またはサブレイヤは、スケーラブルネスティングSEIメッセージのセマンティクスによって指定される。言い換えると、各SEIメッセージ用の、持続性スコープとも呼ばれる適用可能アクセスユニットは、SEIメッセージのセマンティクスによって指定され、ネストされたSEIメッセージ用の適用可能動作点またはレイヤもしくはサブレイヤは、スケーラブルネスティングSEIメッセージのセマンティクスによって、および適用動作点またはレイヤもしくはサブレイヤ内で指定される。ただし、HEVCワーキングドラフト9において、どの動作点、レイヤ、またはサブレイヤが、ネストされていないSEIメッセージに適用可能であるかは明確でない。したがって、ビデオデコーダは、ネストされていないSEIメッセージを使うことができない場合がある。たとえば、バッファリングSEIメッセージ、ネストされたピクチャタイミングSEIメッセージおよびネストされた復号ユニット情報SEIメッセージは、HRDパラメータを含み得る。説明を簡単にするために、こうしたタイプのSEIメッセージは本明細書では、「HRD SEIメッセージタイプ」と呼ばれ得る。
【0072】
[0075]HEVCワーキングドラフト9において、HRD SEIメッセージタイプに属す、ネストされたSEIメッセージのみが、HRD動作において使われ得る。対照的に、HRD SEIメッセージタイプに属す、ネストされていないSEIメッセージは、HRD動作において使うことができない。つまり、HEVCワーキングドラフト9において、ネストされたバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージおよび復号ユニット情報SEIメッセージのみが、HRD動作において使われるために選ばれてよく、ネストされていないバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージおよび復号ユニット情報SEIメッセージは、存在するときでも、HRD動作において使用するために選ばれることはない。
【0073】
[0076]本開示の技法は、各タイプのネストされていないSEIメッセージが、ネストされていないSEIメッセージに適用可能な動作点、レイヤ、またはサブレイヤを示すことができるような設計を提供する。たとえば、本開示の技法によると、各タイプのネストされていないSEIメッセージ用の適用可能動作点またはレイヤもしくはサブレイヤが明確に指定され、HRD動作における、ネストされていないバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージおよび復号ユニット情報SEIメッセージの選択および使用が指定される。
【0074】
[0077]デバイス(ビデオデコーダ30など)は、ネストされていないSEIメッセージが適用可能な1つまたは複数の動作点、レイヤ、またはサブレイヤのセットを決定することができる。デバイスは、ネストされていないSEIメッセージに少なくとも部分的基づいて、1つまたは複数のHRDパラメータを修正することができる。HRDパラメータは、ビデオデコーダ30が動作点、レイヤ、またはサブレイヤをどのように復号するかの様々な側面を制御することができる。ビデオデコーダ30は、ビデオデータを復号するとき、修正されたHRDパラメータを使えばよい。
【0075】
[0078]本開示の技法によると、SEIメッセージは、SEIメッセージが、ネストされたSEIメッセージであるときのみ、SEIメッセージを含むSEI NALユニットの時間IDよりも小さい時間IDをもつレイヤに適用可能であり得る。ネストされていないSEIメッセージは、ネストされていないSEIメッセージを含むSEI NALユニットの時間IDよりも小さい時間IDをもつレイヤには適用可能でない。つまり、SEIメッセージを含むSEI NALユニットのものよりも小さい時間レベル(TemporalId)をもつレイヤに適用されるべきSEIメッセージ用に、SEIメッセージはネストされなければならない。言い換えると、ネストされていないSEIメッセージは、より小さいTemporalId値をもつレイヤには適用可能でない。
【0076】
[0079]さらに、本開示の技法によると、HRD SEIメッセージタイプ以外のSEIメッセージタイプ(すなわち、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニットSEIメッセージ以外のSEIメッセージタイプ)に属すネストされていないSEIメッセージを含むSEI NALユニットは、SEI NALユニットを含むアクセスユニットと同じ時間IDを有することを要求され得る。言い換えると、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニット情報SEIメッセージ以外の、どの現在指定されているタイプのSEIメッセージのネストされていないSEIメッセージも含むSEI NALユニットは、SEI NALユニットを含むアクセスユニットのものと同じTemporalIdを有することを要求される。
【0077】
[0080]たとえば、payloadTypeは、SEIメッセージのタイプを指定し得る。さらに、動作点は、OPLayerIdSetとして示されるnuh_reserved_zero_6bits値のセットと、OpTidとして示されるTemporalId値とによって識別される。payloadTypeが0(バッファリング期間)、1(ピクチャタイミング)、または130(復号ユニット情報)に等しい場合、ネストされていないSEIメッセージは、SEIメッセージマイナス1を含むSEI NALユニットのnuh_temporal_id_plus1に等しいOpTidを有するとともに、両端値を含む、0から、SEIメッセージを含むSEI NALユニットのnuh_reserved_zero_6bitsまでの範囲内のすべての整数値を含むOpLayerIdSetを有する動作点に適用可能である。nuh_temporal_id_plus1、マイナス1は、SEI NALユニットの時間IDを指定する。nuh_reserved_zero_6bitsは、レイヤ識別子を指定し得る。したがって、ネストされていないSEIメッセージは、SEI NALユニットの時間識別子に等しい時間識別子を有するとともに、0からSEI NALユニットのレイヤ識別子までの範囲内に含まれるレイヤ識別子のセットを有する動作点に適用可能であり得る。
【0078】
[0081]したがって、本開示のいくつかの例示的技法では、デバイス(ビデオエンコーダ20、ビデオデコーダ30、または別のデバイスなど)は、ビットストリームから、ネストされていないSEIメッセージを取得することができ、ここで、ネストされていないSEIメッセージは、HRD動作についての初期遅延を示すバッファリング期間SEIメッセージ、HRD動作についてのピクチャ出力時間とピクチャ/サブピクチャ除去時間とを示すピクチャタイミングSEIメッセージ、またはHRD動作についてのサブピクチャ除去時間を示す復号ユニットSEIメッセージである。さらに、デバイスは、ネストされていないSEIメッセージに適用可能な動作点を決定することができる。ネストされていないSEIメッセージに適用可能な動作点のすべてのNALユニットの最も高い時間識別子が、ネストされていないSEIメッセージをカプセル化するSEI NALユニットの時間識別子に等しい。ネストされていないSEIメッセージに適用可能な動作点のNALユニットすべてのレイヤ識別子のセットが、0から、ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子の値までの範囲内のすべての整数値を含む。さらに、デバイスは、第2のネストされていないSEIメッセージの1つまたは複数のシンタックス要素の値に部分的に基づいて、第2のネストされていないSEIメッセージに適用可能な動作点に関してHRD動作(たとえば、ビットストリームコンフォーマンステスト、デコーダコンフォーマンステストなど)を実施することができる。
【0079】
[0082]そうではなく、payloadTypeが2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、または134に等しいとき、VCL NALユニットはSEIメッセージを含むSEI NALユニットのnuh_reserved_zero_6bitsに等しいnuh_reserved_zero_6bitsをレイヤに関して有し、そのレイヤに、ネストされていないSEIメッセージが適用し得、SEIメッセージを含むSEI NALユニットのTemporalIdは、SEIメッセージを含むアクセスユニットのTemporalIdに等しいものとする。
【0080】
[0083]payloadTypeが2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、または134に等しいとき、ネストされていないSEIメッセージは、それぞれ、出力ピクチャのピクチャアスペクト比とは異なるピクチャアスペクト比での表示に関連付けられたデータを含むパンスキャン方形SEIメッセージ(a pan-scan rectangle SEI message)、特定の制約を満たすようにビットレートを調整するためのデータを含むフィラーペイロードSEIメッセージ(filler payload SEI message)、クリーンランダムアクセスまたは漸次復号リフレッシュについての情報を含む回復点SEIメッセージ(recovery point SEI message)、シーン変化および遷移に関連付けられた情報を含むシーン情報SEIメッセージ(scene information SEI message)、関連付けられた、復号されたピクチャをビデオコンテンツの静止画像スナップショットとして標示するための指示を含むピクチャスナップショットSEIメッセージ(picture snapshot SEI message)、動画シーンではなくピクチャの品質の漸進的洗練化を表す連続ピクチャのセグメントの開始に関連付けられた情報を含む漸進的洗練化セグメント開始SEIメッセージ(progressive refinement segment start SEI message)、連続ピクチャのセグメントの終了に関連付けられた情報を含む漸進的洗練化セグメント終了SEIメッセージ(progressive refinement segment end SEI)、合成フィルムグレイン効果に関連付けられた情報を含むフィルムグレイン特性SEIメッセージ(film grain characteristics SEI message)、提案されたポストフィルタ係数に関連付けられた情報またはポストフィルタ設計についての相関情報を含むポストフィルタヒントSEIメッセージ(post filter hint SEI message)、符号化において使われ、または想定されるものとは別の色空間への再マップに関連付けられた情報を含むトーンマッピング情報SEIメッセージ(tone mapping information SEI message)、ビットストリーム中への立体視ビデオのパッキングに関連付けられた情報を含むフレームパッキング配置SEIメッセージ(frame packing arrangement SEI message)、出力ピクチャが表示されるときに出力ピクチャに適用されるべきフリップおよび/または回転を指定する情報を含む表示配向SEIメッセージ(display orientation SEI message)、ビットストリームの時間およびインター予測構造を記述する情報を含むピクチャ情報SEIメッセージの構造、アクティブパラメータセットについての情報を含むアクティブパラメータセットSEIメッセージ(active parameter sets SEI message)、0に等しい時間識別子をもつコーディングされたピクチャが欠落しているときの検出に関連付けられた情報を含む時間サブレイヤゼロインデックスSEIメッセージ(temporal sub-layer zero index SEI message)、あるいはネストされていないSEIメッセージが適用されるスライスセグメントが、現在のピクチャのリフレッシュされた領域に属すかどうかを示す情報を含む領域リフレッシュ情報SEIメッセージ(region refresh information SEI message)のうちの1つである。
【0081】
[0084]このようにして、デバイス(ビデオエンコーダ20、ビデオデコーダ30、または別のデバイスなど)は、ビデオデータの符号化された表現を含むビットストリームから、ビットストリーム中の別のSEIメッセージ内にネストされていない、ネストされていないSEIメッセージを取得することができる。さらに、デバイスは、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤを決定することができ、ここにおいて、ビットストリームのVCL NALユニットが、ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤにネストされていないSEIメッセージが適用可能である。SEI NALユニットの時間識別子は、SEI NALユニットを含むアクセスユニットの時間識別子に等しい。ビデオコーダは、ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤのビデオデータを処理することができる。いくつかの例では、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤのビデオデータを処理することは、ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤのビデオデータを復号することを備える。
【0082】
[0085]
図2は、本開示の技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。
図2は、説明のために提供されるものであり、本開示で広く例示され説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、HEVCコーディングの文脈でビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【0083】
[0086]
図2の例では、ビデオエンコーダ20は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、再構成ユニット112と、フィルタユニット114と、復号されたピクチャのバッファ116と、エントロピー符号化ユニット118とを含む。予測処理ユニット100は、インター予測処理ユニット120とイントラ予測処理ユニット126とを含む。インター予測処理ユニット120は、動き推定ユニット122と動き補償ユニット124とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。
【0084】
[0087]ビデオエンコーダ20はビデオデータを受信することができる。ビデオエンコーダ20はビデオデータのピクチャのスライス中の各CTUを符号化することができる。CTUの各々は、等しいサイズの輝度コーディングツリーブロック(CTB:coding tree block)およびピクチャの対応するCTBと関連付けられ得る。CTUの符号化の一部として、予測処理ユニット100は、四分木分割を実行して、CTUのCTBを徐々により小さくなるブロックに分割することができる。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、CTUと関連付けられるCTBを4つの等しいサイズのサブブロックに分割することができ、サブブロックの1つまたは複数を4つの等しいサイズのサブサブブロックに分割することができ、以下同様である。
【0085】
[0088]ビデオエンコーダ20は、CTUのCUを符号化して、CUの符号化された表現(すなわち、コーディングされたCU)を生成することができる。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの中で、CUと関連付けられるコーディングブロックを分割することができる。したがって、各PUは、輝度予測ブロックおよび対応する色差予測ブロックと関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートすることができる。上記のように、CUのサイズは、CUの輝度コーディングブロックのサイズを指すことがあり、PUのサイズは、PUの輝度予測ブロックのサイズを指すことがある。特定のCUのサイズを2N×2Nと仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測のために2N×2NまたはN×NのPUサイズをサポートすることができ、インター予測のために2N×2N、2N×N、N×2N、N×N、または同様の対称的なPUサイズをサポートすることができる。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測のために、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズのための非対称的な分割をサポートすることができる。
【0086】
[0089]インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによって、PUの予測データを生成することができる。PUの予測データは、PUの予測ブロックとPUの動き情報とを含み得る。インター予測ユニット120は、PUがIスライス中にあるか、Pスライス中にあるか、またはBスライス中にあるかに応じて、CUのPUに対して異なる動作を実行することができる。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、インター予測処理ユニット120は、PUに対してインター予測を実行しない。
【0087】
[0090]PUがPスライス中にある場合、動き推定ユニット122は、PUの参照領域のための参照ピクチャのリスト(たとえば、「RefPicList0」)中の参照ピクチャを探索し得る。PUの参照領域は、PUの予測ブロックに最も密接に対応するサンプルを含む参照ピクチャ内の領域であり得る。動き推定ユニット122は、PUの参照領域を含む参照ピクチャのRefPicList0中の位置を示す参照インデックスを生成し得る。加えて、動き推定ユニット122は、PUのコーディングブロックと参照領域と関連付けられる参照位置の間の、空間的な変位を示す動きベクトルを生成し得る。たとえば、動きベクトルは現在のピクチャ中の座標から参照ピクチャ中の座標までのオフセットを提供する、2次元ベクトルであり得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示される参照位置における実際のサンプルまたは補間されたサンプルに基づいて、PUの予測ブロックを生成し得る。
【0088】
[0091]PUがBスライス中にある場合、動き推定ユニット122は、PUに対して単方向予測または双方向予測を実行することができる。PUについて単方向予測を実行するために、動き推定ユニット122は、PUの参照領域について、RefPicList0の参照ピクチャまたは第2の参照ピクチャリスト(「RefPicList2」)を探索し得る。動き推定ユニット122は、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1中の位置を示す参照インデックスと、PUの予測ブロックと参照領域と関連付けられる参照位置との間の空間的な変位を示す動きベクトルと、参照ピクチャがRefPicList0の中にあるか、またはRefPicList1の中にあるかを示す1つまたは複数の予測方向インジケータとを、PUの動き情報として出力することができる。動き補償ユニット124は、PUの動きベクトルによって示される参照位置における実際のサンプルまたは補間されたサンプルに少なくとも一部基づいて、PUの予測ブロックを生成し得る。
【0089】
[0092]動き推定ユニット122は、PUについて双方向インター予測を実行するために、PUの参照領域についてRefPicList0の中の参照ピクチャを探索することができ、PUの別の参照領域についてRefPicList1の中の参照ピクチャを探索することもできる。動き推定ユニット122は、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1の中の位置を示す、参照インデックスを生成し得る。加えて、動き推定ユニット122は、参照領域と関連付けられる参照位置とPUの予測ブロックとの間の空間的な変位を示す動きベクトルを生成することができる。PUの動き情報は、PUの参照インデックスと、動きベクトルとを含み得る。動き補償ユニット124は、PUの動きベクトルによって示される参照位置における実際のサンプルまたは補間されたサンプルに少なくとも一部基づいて、PUの予測ブロックを生成し得る。
【0090】
[0093]イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUの予測データを生成することができる。PUの予測データは、PUの予測ブロックと様々なシンタックス要素とを含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライスの中のPUに対してイントラ予測を実行することができる。
【0091】
[0094]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、複数のイントラ予測モードを使用して、PUの予測ブロックの複数のセットを生成することができる。特定のイントラ予測モードを使用してイントラ予測を実施するとき、イントラ予測処理ユニット126は、隣接ブロックからのサンプルの特定のセットを使用してPUの予測ブロックを生成し得る。隣接ブロックは、PU、CU、およびCTUについて左から右、上から下の符号化順序を仮定すると、PUの予測ブロックの上、右上、左上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば33個の方向のイントラ予測モードを使用することができる。いくつかの例では、イントラ予測モードの数は、PUの予測ブロックのサイズに依存し得る。
【0092】
[0095]予測処理ユニット100は、PUのためにインター予測処理ユニット120によって生成された予測データ、またはPUのためにイントラ予測処理ユニット126によって生成された予測データの中から、CUのPUの予測データを選択することができる。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみ測定基準に基づいて、CUのPUの予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれ得る。
【0093】
[0096]残差生成ユニット102は、CUの輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロックならびにCUのPUの選択された予測輝度ブロック、予測Cbブロック、および予測Crブロックに基づいて、CUの輝度残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを生成することができる。たとえば、残差生成ユニット102は、残差ブロック中の各サンプルが、CUのコーディングブロック中のサンプルとCUのPUの対応する選択された予測ブロック中の対応するサンプルとの間の差に等しい値を有するように、CUの残差ブロックを生成することができる。
【0094】
[0097]変換処理ユニット104は、四分木分割を実行して、CUの残差ブロックをCUのTUと関連付けられた変換ブロックに分割することができる。したがって、TUは、輝度変換ブロックおよび2つの対応する色差変換ブロックと関連付けられ得る。CUのTUの輝度変換ブロックおよび色差変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づくこともまたは基づかないこともあり得る。
【0095】
[0098]変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUの各TUのための変換係数ブロックを生成することができる。変換処理ユニット104は、TUと関連付けられた変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例において、変換処理ユニット104は変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
【0096】
[0099]量子化ユニット106は、係数ブロック中の変換係数を量子化し得る。量子化処理は、変換係数の一部またはすべてと関連付けられたビット深度を低減し得る。たとえば、量子化の間にnビットの変換係数がmビット変換係数へと切り捨てられてよく、この場合、nはmよりも大きい。量子化ユニット106は、CUと関連付けられた量子化パラメータ(QP)値に基づいてCUのTUと関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ20は、CUと関連付けられたQPの値を調整することによって、CUと関連付けられた係数ブロックに適用される量子化の程度を調整することができる。量子化は情報の損失をもたらすことがあり、したがって、量子化された変換係数は、元の係数よりも低い精度を有し得る。
【0097】
[0100]逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、係数ブロックに逆量子化および逆変換を適用して、係数ブロックから残差ブロックを再構成し得る。再構成ユニット112は、再構成された残差ブロックを、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに追加して、TUと関連付けられた再構成された変換ブロックを生成し得る。このようにCUの各TUのための変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成し得る。
【0098】
[0101]フィルタユニット114は、1つまたは複数のデブロッキング動作を実行して、CUと関連付けられたコーディングブロック中のブロッキングアーティファクトを低減することができる。復号されたピクチャのバッファ116は、フィルタユニット114が、再構成されたコーディングブロックに対して1回または複数のデブロッキング動作を実行した後、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、再構成されたコーディングブロックを含む参照ピクチャを使用して、他のピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測処理ユニット126は、復号されたピクチャのバッファ116の中の再構成されたコーディングブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行することができる。
【0099】
[0102]エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能コンポーネントからデータを受け取ることができる。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受け取ることができ、予測処理ユニット100からシンタックス要素を受け取ることができる。エントロピー符号化ユニット118は、このデータに対して1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化されたデータを生成することができる。たとえば、エントロピー符号化ユニット118は、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)動作、CABAC動作、可変−可変(V2V:variable-to-variable)長コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)動作、確率間隔分割エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作をデータに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化されたデータを含むビットストリームを出力することができる。
【0100】
[0103]
図3は、本開示の技法を実装するために構成された例示的なビデオデコーダ30を示すブロック図である。
図3は、説明のために提供されるものであり、本開示において広く例示され説明される技法を限定するものではない。説明の目的で、本開示は、HEVCコーディングの文脈においてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【0101】
[0104]
図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構成ユニット158と、フィルタユニット160と、復号されたピクチャのバッファ162とを含む。予測処理ユニット152は、動き補償ユニット164と、イントラ予測処理ユニット166とを含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。
【0102】
[0105]コーディングされたピクチャのバッファ(CPB)151は、ビットストリームの符号化されたビデオデータ(たとえば、NALユニット)を受け取り、記憶することができる。エントロピー復号ユニット150は、CPB 151からNALユニットを受け取り、NALユニットを解析してシンタックス要素をビットストリームから取得することができる。エントロピー復号ユニット150は、NALユニット中のエントロピー符号化されたシンタックス要素をエントロピー復号することができる。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて復号されたビデオデータを生成することができる。
【0103】
[0106]ビットストリームのNALユニットは、コーディングされたスライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コーディングされたスライスNALユニットからシンタックス要素を抽出し、エントロピー復号することができる。コーディングされたスライスの各々は、スライスヘッダと、スライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。
【0104】
[0107]ビットストリームからのシンタックス要素を復号することに加えて、ビデオデコーダ30は、CUに対して復号動作を実行することができる。CUに対して復号動作を実行することによって、ビデオデコーダ30は、CUのコーディングブロックを再構成することができる。
【0105】
[0108]CUに対して復号動作を実行することの一部として、逆量子化ユニット154は、CUのTUと関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)することができる。逆量子化ユニット154は、TUのCUと関連付けられたQP値を使用して、量子化の程度を決定することができ、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定することができる。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比はまた、利用されたエントロピーコーディングの方法に依存し得る。
【0106】
[0109]逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUと関連付けられた残差ブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用することができる。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向性変換、または別の逆変換を、係数ブロックに適用することができる。
【0107】
[0110]PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット166は、イントラ予測を実行して、PUの予測ブロックを生成することができる。イントラ予測処理ユニット166は、イントラ予測モードを使用して、空間的に隣接するPUの予測ブロックに基づいて、PUの予測輝度ブロックと、予測Cbブロックと、予測Crブロックとを生成することができる。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数のシンタックス要素に基づいて、PUのイントラ予測モードを決定することができる。
【0108】
[0111]予測処理ユニット152は、ビットストリームから抽出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを構築することができる。さらに、PUがインター予測を使用して符号化される場合、エントロピー復号ユニット150は、PUの動き情報を取得することができる。動き補償ユニット164は、PUの動き情報に基づいて、PUの1つまたは複数の参照領域を決定することができる。動き補償ユニット164は、PUの1つまたは複数の参照ブロックにおけるサンプルに基づいて、PUの予測輝度ブロックと、予測Cbブロックと、予測Crブロックとを生成することができる。
【0109】
[0112]再構成ユニット158は、適用可能な場合、CUのTUと関連付けられた輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックと、CUのPUの予測輝度ブロック、予測Cbブロック、および予測Crブロックからの残差値を使用して、すなわち、イントラ予測データまたはインター予測データのいずれかを使用して、CUの輝度コーディングブロックと、Cbコーディングブロックと、Crコーディングブロックとを再構成することができる。たとえば、再構成ユニット158は、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックのサンプルを予測輝度ブロック、予測Cbブロック、および予測Crブロックの対応するサンプルに加算して、CUの輝度コーディングブロックと、Cbコーディングブロックと、Crコーディングブロックとを再構成することができる。
【0110】
[0113]フィルタユニット160は、CUの輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロックと関連付けられたブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。ビデオデコーダ30は、CUの輝度コーディングブロックと、Cbコーディングブロックと、Crコーディングブロックとを復号されたピクチャのバッファ162に記憶することができる。復号されたピクチャのバッファ162は、後続の動き補償、イントラ予測、および
図1のディスプレイデバイス32のようなディスプレイデバイス上での提示のために、参照ピクチャを提供することができる。たとえば、ビデオデコーダ30は、復号されたピクチャのバッファ162中の輝度ブロック、Cbブロック、およびCrブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行し得る。ビデオデコーダ30は、このようにして、有意輝度係数ブロックの変換係数レベルをビットストリームから抽出し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用して変換ブロックを生成し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、コーディングブロックを表示のために出力することができる。
【0111】
[0114]いくつかの例では、ビデオプロセッサ(ビデオエンコーダ20、ビデオデコーダ30、または別のデバイスなど)は、ビットストリームがビデオコーディング仕様に準拠するかどうか決定するためのビットストリームコンフォーマンステストを実施することができる。このビットストリームは、BitstreamToDecodeまたは復号対象ビットストリームと呼ばれ得る。BitstreamToDecodeは、ビデオプロセッサによって受信されるビットストリームまたはビデオプロセッサによって受信されるビットストリームのサブビットストリームと同じであり得る。HEVCワーキングドラフト9のサブクローズC.1は、HEVCのHRDと、ビットストリームとデコーダ準拠とを調べるための、HRDの使用とについて記述している。具体的には、HEVCワーキングドラフト9のサブクローズC.1は、ビットストリームコンフォーマンステストにおいて適用される一連の順序付きステップを指定する。本開示の1つまたは複数の例示的技法によると、この一連の順序付きステップを記載する、HEVCワーキングドラフト9のサブクローズC.1の部分は、ネストされていないバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージおよび復号ユニット情報SEIメッセージがHRD動作における使用のために選ばれ得るように、次のように変更されている。
【0112】
ビットストリームの準拠を調べるために、複数のテストが必要とされる場合があり、このビットストリームは、以下では、テスト中のビットストリームと呼ばれる。各テストに対して、以下のステップが、列挙される順序で適用される。
【0113】
1. TargetOpとして示される、テスト中の動作点が選択される。TargetOpのOpLayerIdSetは、TargetOpに関連付けられたビットストリームサブセット中に存在するnuh_reserved_zero_6bits値のセットを含み、このサブセットは、テスト中のビットストリーム中に存在するnuh_reserved_zero_6bits値のサブセットである。TargetOpのOpTidは、TargetOpに関連付けられたビットストリームサブセット中に存在する最も高いTemporalIdに等しい。
【0114】
2. TargetDecLayerIdSetはTargetOpのOpLayerIdSetにセットされ、HighestTidはTargetOpのOpTidにセットされ、BitstreamToDecodeは、TargetOp、すなわち、テスト中のビットストリーム、すなわちHighestTidとTargetDecLayerIdSetとを入力としてもつ、HEVCワーキングドラフト9のサブクローズ10.1において指定されるサブビットストリーム抽出プロセスの出力に関連付けられたビットストリームサブセットにセットされる。
【0115】
3. TargetOpに適用可能なhrd_parameters()シンタックス構造およびsub_layer_hrd_parameters()シンタックス構造が選択される。TargetDecLayerIdSetが、テスト中のビットストリーム中に存在するすべてのnuh_reserved_zero_6bits値を含む場合、アクティブシーケンスパラメータセット中の(または、本明細書では指定されない外部手段を通して与えられる)hrd_parameters()シンタックス構造が選択される。そうでない場合、TargetOpに適用されるアクティブビデオパラメータセット中の(または、本明細書では指定されない何らかの外部手段を通して与えられる)hrd_parameters()シンタックス構造が選択される。選択されたhrd_parameters()シンタックス構造内で、BitstreamToDecodeがタイプIビットストリームである場合、条件「if(vcl_hrd_parameters_present_flag)」の直後に続くsub_layer_hrd_parameters(HighestTid)シンタックス構造が選択され、変数NalHrdModeFlagは0に等しくセットされ、そうでない場合(BitstreamToDecodeがタイプIIビットストリームである)、条件「if(vcl_hrd_parameters_present_flag)」(この場合、変数NalHrdModeFlagは0に等しくセットされる)または条件「if(nal_hrd_parameters_present_flag)」(この場合、変数NalHrdModeFlagは1に等しくセットされる)のいずれかの直後に続くsub_layer_hrd_parameters(HighestTid)シンタックス構造が選択される。BitstreamToDecodeがタイプIIビットストリームであり、NalHrdModeFlagが0に等しいとき、フィラーデータNALユニットを除くすべての非VLC NALユニットがBitstreamToDecodeから破棄され、残りのビットストリームはBitstreamToDecodeに割り当てられる。
【0116】
4. TargetOpに適用可能なバッファリング期間SEIメッセージ(
スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するか、または本明細書では指定されない外部手段を通して入手可能である)に関連付けられたアクセスユニットが、HRD初期化点として選択され、アクセスユニット0と呼ばれる。
【0117】
5. アクセスユニット0から始まるBitstreamToDecode中の各アクセスユニットに対して、アクセスユニットに関連付けられるとともにTargetOpに適用されるバッファリング期間SEIメッセージ(
スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するか、または本明細書では指定されない外部手段を通して入手可能である)が選択され、アクセスユニットに関連付けられるとともにTargetOpに適用されるピクチャタイミングSEIメッセージ(
スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するか、または本明細書では指定されない外部手段を通して入手可能である)が選択され、SubPicCpbFlagが1に等しく、sub_pic_cpb_params_in_pic_timing_sei_flagが0に等しいとき、アクセスユニット中の復号ユニットに関連付けられるとともにTargetOpに適用される復号ユニット情報SEIメッセージ(
スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するか、または本明細書では指定されない外部手段を通して入手可能である)が選択される。
【0118】
6. SchedSelIdxの値が選択される。選択されたSchedSelIdxは、両端値を含む0〜cpb_cnt_minus1[HighestTid]の範囲内であるものとし、ここでcpb_cnt_minus1[HighestTid]は、上で選択されたsub_layer_hrd_parameters(HighestTid)シンタックス構造中に見られる。
【0119】
7. アクセスユニット0中のコーディングされたピクチャが、CRA_NUTまたはBLA_W_LPに等しいnal_unit_typeを有し、選択されたバッファリング期間SEIメッセージ中のrap_cpb_params_present_flagが1に等しいとき、以下のうちのいずれかが、初期CPB除去遅延および遅延オフセットの選択のために適用される。
【0120】
− initial_cpb_removal_delay[SchedSelIdx]およびinitial_cpb_removal_offset[SchedSelIdx]によって表されるデフォルト初期CPB除去遅延および遅延オフセットが、上のステップ3の下で指定されたNalHrdModeFlagに依存して選択され、変数DefaultInitCpbParamsFlagは、1に等しくセットされる。
【0121】
− 上のステップ3の下で指定されたNalHrdModeFlagに依存して選択されたinitial_alt_cpb_removal_delay[SchedSelIdx]およびinitial_alt_cpb_removal_offset[SchedSelIdx]によって表される代替初期CPB除去遅延および遅延オフセット、変数DefaultInitCpbParamsFlagが0に等しくセットされ、アクセスユニット0に関連付けられたRASLアクセスユニットがBitstreamToDecodeから破棄され、残りのビットストリームは、依然としてBitstreamToDecodeに割り当てられる。
【0122】
8. 選択されたhrd_parameters()シンタックス構造中のsub_pic_cpb_params_present_flagが1に等しいとき、CPBは、アクセスユニットレベル(この場合、変数SubPicCpbFlagは0に等しくセットされる)またはサブピクチャレベル(この場合、変数SubPicCpbFlagは1に等しくセットされる)のいずれかで動作するようにスケジュールされる。
【0123】
[0115]上のテキストの下線部分は、本開示の技法により、HEVCワーキングドラフト9のサブクローズC.1から削除されているテキストを示す。上で指摘したように、バッファリング期間SEIメッセージは、HRD動作の初期遅延を示す。下線部分を削除した結果として、ビデオプロセッサは、ステップ4で、HRD初期化点として、バッファリング期間SEIメッセージがスケーラブルネスティングSEIメッセージ中にあるかどうかにかかわらず、TargetOpに適用可能なバッファリング期間SEIメッセージに関連付けられたアクセスユニットを選択することができる。TargetOpは、BitstreamToDecode中のレイヤ識別子のセットである。したがって、ネストされていないバッファリング期間SEIメッセージがTargetOpに適用可能なとき、ビデオプロセッサは、HRD初期化点として、ネストされていないバッファリング期間SEIメッセージに関連付けられたアクセスユニットを選択することができる。ビデオプロセッサは、選択されたアクセスユニットにおいてHRDを初期化すればよい。HRD初期化点は、アクセスユニット0とも呼ばれ得る。HRD初期化点は、HRD動作中に評価される第1のアクセスユニットであってよい。
【0124】
[0116]同様に、ステップ5で、ビデオプロセッサは、バッファリング期間SEIメッセージがスケーラブルネスティングSEIメッセージ中にあるかどうかにかかわらず、バッファリング期間SEIメッセージを選択することができる。さらに、ステップ5で、ビデオプロセッサは、ピクチャタイミングSEIメッセージがスケーラブルネスティングSEIメッセージ中にあるかどうかにかかわらず、ピクチャタイミングSEIメッセージを選択することができる。さらに、ステップ5で、ビデオプロセッサは、復号ユニット情報SEIメッセージがバッファリング期間SEIメッセージ中にあるかどうかにかかわらず、復号ユニット情報SEIメッセージを選択することができる。したがって、ビデオプロセッサは、ビットストリームから、ネストされていないSEIメッセージを取得することができ、ここにおいて、ネストされていないSEIメッセージは、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニットSEIメッセージである。さらに、復号対象ビットストリーム中の各それぞれのアクセスユニットに対して、ビデオプロセッサは、ネストされていないSEIメッセージがアクセスユニットに関連付けられているとともにネストされていないSEIメッセージが復号対象ビットストリーム中のレイヤ識別子のセットに適用可能であるとき、それぞれのアクセスユニット用のネストされていないSEIメッセージを選択することができる。ビデオプロセッサは、それぞれのアクセスユニットに関して、HRD動作中に、ネストされていないSEIメッセージの1つまたは複数のシンタックス要素を使うことができる。
【0125】
[0117]上述したように、いくつかのタイプのネストされていないSEIメッセージ(たとえば、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、復号ユニット情報SEIメッセージなど)が、特定の動作点に適用可能である。さらに、いくつかのタイプのネストされていないSEIメッセージが、特定のレイヤに適用可能である。本開示の1つまたは複数の技法によると、以下は、特定のタイプのネストされていないSEIメッセージについての適用可能動作点またはレイヤを指定する。
【0126】
[0118]ビデオプロセッサは、ビットストリームから、ネストされていないSEIメッセージを取得することができる。さらに、ビデオプロセッサは、ネストされていないSEIメッセージの1つまたは複数のシンタックス要素に基づいて、ネストされていないSEIメッセージ用のペイロードタイプ変数(たとえば、「payloadType」)を決定することができる。ネストされていないSEIメッセージのpayloadTypeが0に等しく(すなわち、ネストされていないSEIメッセージがバッファリング期間SEIメッセージである)、ネストされていないSEIメッセージのpayloadTypeが1に等しく(すなわち、ネストされていないSEIメッセージがピクチャタイミングSEIメッセージである)、またはネストされていないSEIメッセージのpayloadTypeが130に等しい(すなわち、ネストされていないSEIメッセージが復号ユニット情報SEIメッセージである)場合、ネストされていないSEIメッセージは、ネストされていないSEIメッセージマイナス1を含むとともに、両端値を含む、0から、SEIメッセージを含むSEI NALユニットのnuh_reserved_zero_6bitsまでの範囲内のすべての整数値を含むOpLayerIdSetを有するSEI NALユニットのnuh_temporal_id_plus1に等しいOpTidを有する動作点に適用可能である。そうではなく、ネストされていないSEIメッセージのpayloadTypeが2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、または134に等しいとき、VCL NALユニットが、SEIメッセージを含むSEI NALユニットのnuh_reserved_zero_6bitsに等しいnuh_reserved_zero_6bitsをレイヤに関して有し、そのレイヤにネストされていないSEIメッセージが適用可能であり、SEIメッセージを含むSEI NALユニットのTemporalIdは、SEIメッセージを含むアクセスユニットのTemporalIdに等しいものとする。いくつかの例では、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージまたは復号ユニット情報SEIメッセージが、ネストされたSEIメッセージとして存在するとき、同じSEIメッセージ(同じ内容をもつ)は、ネストされていないSEIメッセージとして同時に複製されない。
【0127】
[0119]本開示の他の例示的技法によると、各タイプのネストされていないSEIメッセージ用の適用可能動作点またはレイヤは、次のように指定される。ネストされていないSEIメッセージのpayloadTypeが0に等しく(すなわち、ネストされていないSEIメッセージがバッファリング期間SEIメッセージである)、ネストされていないSEIメッセージのpayloadTypeが1に等しく(すなわち、ネストされていないSEIメッセージがピクチャタイミングSEIメッセージである)、またはネストされていないSEIメッセージのpayloadTypeが130に等しい(すなわち、ネストされていないSEIメッセージが復号ユニット情報SEIメッセージである)場合、ネストされていないSEIメッセージは、ネストされていないSEIメッセージマイナス1を含むとともに、両端値を含む、0から、SEIメッセージを含むSEI NALユニットのnuh_reserved_zero_6bitsまでの範囲内のすべての整数値を含むOpLayerIdSetを有するSEI NALユニットのnuh_temporal_id_plus1に等しいOpTidを有する動作点に適用可能である。そうではなく、ネストされていないSEIメッセージのpayloadTypeが2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、または134に等しいとき、VCL NALユニットが、SEIメッセージを含むSEI NALユニットのnuh_reserved_zero_6bits以上のnuh_reserved_zero_6bitsをレイヤに関して有し、そのレイヤに、ネストされていないSEIメッセージが適用可能であり、SEIメッセージを含むSEI NALユニットのTemporalIdは、SEIメッセージを含むアクセスユニットのTemporalIdに等しいものとする。同じアクセスユニット中のSEIメッセージを含むSEI NALユニット中のnuh_reserved_zero_6bitsの異なる値に関連付けられた、同じタイプのどの2つのネストされていないSEIメッセージに対しても、VCL NALユニットが、nuh_reserved_zero_6bitsの大きい方の値以上のnuh_reserved_zero_6bitsをレイヤに関して有し、そのレイヤに、nuh_reserved_zero_6bitsの大きい方の値に関連付けられたネストされていないSEIメッセージが適用可能である。いくつかの例では、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージまたは復号ユニット情報SEIメッセージが、ネストされたSEIメッセージとして存在するとき、同じSEIメッセージ(同じ内容をもつ)は、ネストされていないSEIメッセージとして同時に複製されるべきでない。
【0128】
[0120]
図4は、本開示の1つまたは複数の技法によるビデオ処理デバイスの例示的な動作200を示すフローチャートである。
図4の例において、ビデオプロセッサ(ビデオエンコーダ20、ビデオデコーダ30、または別のデバイスなど)は、ビデオデータの符号化された表現を含むビットストリームから、ビットストリーム中の別のSEIメッセージ内にネストされていない、ネストされていないSEIメッセージを取得することができる(202)。さらに、ビデオプロセッサは、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤを決定することができ、ここにおいて、ビットストリームのVCL NALユニットが、ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤに、ネストされていないSEIメッセージが適用可能である(204)。SEI NALユニットの時間識別子は、SEI NALユニットを含むアクセスユニットの時間識別子に等しい。さらに、ビデオプロセッサは、ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、ネストされていないSEIメッセージが適用可能なビットストリームのレイヤのビデオデータを処理することができる(206)。
【0129】
[0121]
図5は、ビットストリームコンフォーマンステストの一部を実施するための例示的動作250を示すフローチャートである。
図5の例において、ビデオプロセッサ(たとえば、ビデオエンコーダ20、ビデオデコーダ30、または別のデバイス)は、テスト中の動作点(すなわち、「TargetOp」)を選択すればよい(252)。TargetOpのレイヤ識別子セット(すなわち、「OpLayerIdSet」)は、TargetOpに関連付けられたビットストリームサブセット中に存在するnuh_reserved_zero_6bits値のセットを含むことができ、このサブセットは、テスト中のビットストリーム中に存在するnuh_reserved_zero_6bits値のサブセットである。
【0130】
[0122]さらに、ビデオプロセッサは、TargetDecLayerIdSetと、HighestTidと、BitstreamToDecodeとをセットしてよい(254)。いくつかの例では、ビデオプロセッサは、TargetDecLayerIdSetをTargetOpのOpLayerIdSetにセットすればよい。さらに、ビデオプロセッサは、HighestTidを、TargetOpに関連付けられたビットストリームサブセット中に存在する最も高い時間識別子にセットすればよい。さらに、ビデオプロセッサは、BitstreamToDecodeを、TargetOpに関連付けられたビットストリームサブセットにセットすればよい。
【0131】
[0123]次に、ビデオプロセッサは、TargetOpに適用可能な、hrd_parameters()シンタックス構造と、sub_layer_hrd_parameters()シンタックス構造とを選択することができる(256)。いくつかの例では、TargetDecLayerIdSetが、テスト中のビットストリーム中に存在するすべてのnuh_reserved_zero_6bits値を含む場合、ビデオプロセッサは、アクティブシーケンスパラメータセット中の(または外部手段を通して与えられる)hrd_parameters()シンタックス構造を選択する。そうでない場合、ビデオプロセッサは、TargetOpに適用可能なアクティブビデオパラメータセット中の(または何らかの外部手段を通して与えられる)hrd_parameters()シンタックス構造を選択してよい。選択されたhrd_parameters()シンタックス構造内で、BitstreamToDecodeがタイプIビットストリームである場合、ビデオプロセッサは、条件「if(vcl_hrd_parameters_present_flag)」の直後に続くsub_layer_hrd_parameters(HighestTid)シンタックス構造を選択すればよく、ビデオプロセッサは、変数をセットすればよく、NalHrdModeFlagは0に等しくセットされる。そうでない場合(すなわち、BitstreamToDecodeがタイプIIビットストリームである)、ビデオプロセッサは、条件「if(vcl_hrd_parameters_present_flag)」(この場合、変数NalHrdModeFlagは0に等しくセットされる)または条件「if(nal_hrd_parameters_present_flag)」(この場合、変数NalHrdModeFlagは1に等しくセットされる)のいずれかの直後に続くsub_layer_hrd_parameters(HighestTid)シンタックス構造を選択する。BitstreamToDecodeがタイプIIビットストリームであり、NalHrdModeFlagが0に等しいとき、ビデオプロセッサは、フィラーデータNALユニットを除くすべての非VLC NALユニットをBitstreamToDecodeから破棄してよく、ビデオプロセッサは、残りのビットストリームをBitstreamToDecodeに割り当てればよい。
【0132】
[0124]さらに、ビデオプロセッサは、アクセスユニット0(すなわち、HRD初期化点)として、TargetOpに適用可能なバッファリング期間SEIメッセージに関連付けられたアクセスユニットを選択することができる(258)。本開示の1つまたは複数の例示的技法によると、ビデオプロセッサは、バッファリング期間SEIメッセージが、スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するのか、それともネストされていないバッファリング期間SEIメッセージとしてBitstreamToDecode中に存在するのかにかかわらず、バッファリング期間SEIメッセージを選択することができる。
【0133】
[0125]次に、アクセスユニット0から始まる、BitstreamToDecode中の各アクセスユニットに対して、ビデオプロセッサは、アクセスユニットに関連付けられるとともにTargetOpに適用可能なバッファリング期間SEIメッセージを選択すればよい(260)。本開示の1つまたは複数の例示的技法によると、ビデオプロセッサは、バッファリング期間SEIメッセージが、スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するのか、それともネストされていないバッファリング期間SEIメッセージとしてBitstreamToDecode中に存在するのかにかかわらず、バッファリング期間SEIメッセージを選択することができる。
【0134】
[0126]さらに、アクセスユニット0から始まる、BitstreamToDecode中の各アクセスユニットに対して、ビデオプロセッサは、アクセスユニットに関連付けられるとともにTargetOpに適用可能なピクチャタイミングSEIメッセージを選択すればよい(262)。本開示の1つまたは複数の例示的技法によると、ビデオプロセッサは、ピクチャタイミングSEIメッセージが、スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するのか、それともネストされていないピクチャタイミングSEIメッセージとしてBitstreamToDecode中に存在するのかにかかわらず、ピクチャタイミングSEIメッセージを選択することができる。
【0135】
[0127]さらに、アクセスユニット0から始まる、BitstreamToDecode中の各アクセスユニットに対して、SubPicCpbFlagが1に等しく、sub_pic_cpb_params_in_pic_timing_sei_flagが0に等しいとき、ビデオプロセッサは、アクセスユニット中の復号ユニットに関連付けられるとともにTargetOpに適用される復号ユニット情報SEIメッセージを選択すればよい(264)。本開示の1つまたは複数の例示的技法によると、ビデオプロセッサは、復号ユニット情報SEIメッセージが、スケーラブルネスティングSEIメッセージ中のBitstreamToDecode中に存在するのか、それともネストされていない復号ユニット情報SEIメッセージとしてBitstreamToDecode中に存在するのかにかかわらず、復号ユニット情報SEIメッセージを選択してよい。SubPicCpbFlagは、CPBが、アクセスユニットレベルそれともサブピクチャレベルで動作するようにスケジュールされるかを示す変数である。sub_pic_cpb_params_in_pic_timing_sei_flagは、サブピクチャCPB除去遅延パラメータがピクチャタイミングSEIメッセージ中に存在するかどうかと、復号ユニット情報SEIメッセージが入手可能であるかどうかとを示すシンタックス要素である。
【0136】
[0128]次に、ビデオプロセッサは、SchedSelIdxの値を選択すればよい(266)。選択されたSchedSelIdxは、両端値を含む0〜cpb_cnt_minus1[HighestTid]の範囲内であり、ここでcpb_cnt_minus1[HighestTid]は、上で選択されたsub_layer_hrd_parameters(HighestTid)シンタックス構造中に見られる。cpb_cnt_minus1[]は、hrd_parameters()シンタックス構造中のシンタックス要素の配列である。cpb_cnt_minus1[i]は、HighestTidがiに等しいとき、コーディングされたビデオシーケンスのビットストリーム中で、代替CPB仕様の数を示す。
【0137】
[0129]アクセスユニット0中のコーディングされたピクチャが、CRA_NUTまたはBLA_W_LPに等しいnal_unit_typeを有し、選択されたバッファリング期間SEIメッセージ中のrap_cpb_params_present_flagが1に等しいとき、ビデオプロセッサは、初期CPB除去遅延と遅延オフセットとを選択することができる(268)。バッファリング期間SEIメッセージは、initial_cpb_removal_delay[i]シンタックス要素と、initial_cpb_removal_offset[i]シンタックス要素と、rap_cpb_params_present_flagシンタックス要素とを含み得る。rap_cpb_params_present_flagシンタックス要素は、initial_alt_cpb_removal_delay[i]およびinitial_alt_cpb_removal_offset[i]シンタックス要素がバッファリング期間SEIメッセージ中に存在するかどうかを示す。initial_cpb_removal_delay[i]およびinitial_alt_cpb_removal_delay[i]は、それぞれ、第iのCPBについての、デフォルトおよび代替初期CPB除去遅延を指定する。initial_cpb_removal_offset[i]およびinitial_alt_cpb_removal_offset[i]は、それぞれ、コーディングされたデータユニットの初期配信時間をCPBに対して指定するための、第iのCPBについてのデフォルトおよび代替初期CPB除去オフセットを指定する。
【0138】
[0130]以下のいずれかが、初期CPB除去遅延および遅延オフセットの選択のために適用することができる。第1に、ビデオプロセッサは、上で指定されたNalHrdModeFlagに依存して、initial_cpb_removal_delay[SchedSelIdx]およびinitial_cpb_removal_offset[SchedSelIdx]によって表されるデフォルト初期CPB除去遅延と遅延オフセットとを選択することができ、変数DefaultInitCpbParamsFlagは1に等しくセットされる。第2に、ビデオプロセッサは、上で指定されたNalHrdModeFlagに依存して、initial_alt_cpb_removal_delay[SchedSelIdx]およびinitial_alt_cpb_removal_offset[SchedSelIdx]によって表される代替初期CPB除去遅延と遅延オフセットとを選択することができ、変数DefaultInitCpbParamsFlagは0に等しくセットされ、アクセスユニット0に関連付けられたランダムアクセススキップトリーディング(RASL:Random Access Skipped Leading)アクセスユニットはBitstreamToDecodeから破棄され、残りのビットストリームは依然として、BitstreamToDecodeに割り当てられる。
【0139】
[0131]さらに、選択されたhrd_parameters()シンタックス構造中のsub_pic_cpb_params_present_flagが1に等しいとき、ビデオプロセッサは、CPBを、アクセスユニットレベル(この場合、変数SubPicCpbFlagは0に等しくセットされる)またはサブピクチャレベル(この場合、変数SubPicCpbFlagは1に等しくセットされる)のいずれかで動作するようにスケジュールしてよい(270)。sub_pic_cpb_params_present_flagは、サブピクチャCPB除去遅延パラメータが存在するかどうかと、CPBがアクセスユニットレベルそれともサブピクチャレベルで動作し得るかとを示す、hrd_parameters()シンタックス構造中のシンタックス要素である。
【0140】
[0132]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、またはコンピュータ可読媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形なコンピュータ可読記憶媒体、または、(2)信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータ、または1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【0141】
[0133]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を備え得る。同様に、いかなる接続も厳密にはコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0142】
[0134]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な統合された論理回路もしくは個別の論理回路のような、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実装に好適な他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内で与えられてよく、または複合コーデックに組み込まれてよい。また、本技法は、1つまたは複数の回路または論理要素中で完全に実装され得る。
【0143】
[0135]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示された技法を実行するために構成されたデバイスの機能的な側面を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、コーデックハードウェアユニットにおいて組み合わせられてよく、または、上で説明された1つまたは複数のプロセッサを含む、相互動作するハードウェアユニットの集合によって与えられてよい。
【0144】
[0136]様々な例が説明されてきた。これらおよび他の例は、以下の特許請求の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを処理する方法であって、前記方法は下記を備える、
前記ビデオデータの符号化された表現を含むビットストリームから、前記ビットストリーム中の別のSEIメッセージ内にネストされていない、ネストされていない補足強調情報(SEI)メッセージを取得することと、
前記ネストされていないSEIメッセージが適用可能な前記ビットストリームのレイヤを決定すること、ここにおいて、前記ビットストリームのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤに、前記ネストされていないSEIメッセージが適用可能である、およびここにおいて、前記SEI NALユニットの時間識別子は、前記SEI NALユニットを含むアクセスユニットの時間識別子に等しい、と、
前記ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、前記ネストされていないSEIメッセージが適用可能な前記ビットストリームの前記レイヤのビデオデータを処理すること。
[C2]
前記SEI NALユニットはNALユニットヘッダとペイロードとを含み、
前記SEI NALユニットの前記NALユニットヘッダは、少なくとも第1のシンタックス要素と第2のシンタックス要素とを含み、
前記第1のシンタックス要素は、前記SEI NALユニットの前記レイヤ識別子を指定し、
前記第2のシンタックス要素は、前記SEI NALユニットの前記時間識別子を指定し、
前記SEI NALユニットの前記ペイロードは、前記ネストされていないSEIメッセージを含む、
C1に記載の方法。
[C3]
前記ネストされていないSEIメッセージは、
出力ピクチャのピクチャアスペクト比とは異なるピクチャアスペクト比での表示に関連付けられたデータを含むパンスキャン方形SEIメッセージ、
特定の制約を満たすようにビットレートを調整するためのデータを含むフィラーペイロードSEIメッセージ、
クリーンランダムアクセスまたは漸次復号リフレッシュについての情報を含む回復点SEIメッセージ、
シーン変化および遷移に関連付けられた情報を含むシーン情報SEIメッセージ、
関連付けられた、復号されたピクチャをビデオコンテンツの静止画像スナップショットとして標示するための指示を含むピクチャスナップショットSEIメッセージ、
動画シーンではなくピクチャの品質の漸進的洗練化を表す連続ピクチャのセグメントの開始に関連付けられた情報を含む漸進的洗練化セグメント開始SEIメッセージ、
連続ピクチャの前記セグメントの終了に関連付けられた情報を含む漸進的洗練化セグメント終了SEIメッセージ、
合成フィルムグレイン効果に関連付けられた情報を含むフィルムグレイン特性SEIメッセージ、
提案されたポストフィルタ係数に関連付けられた情報またはポストフィルタ設計についての相関情報を含むポストフィルタヒントSEIメッセージ、
符号化において使われ、または想定されるものとは別の色空間への再マップに関連付けられた情報を含むトーンマッピング情報SEIメッセージ、
前記ビットストリーム中への立体視ビデオのパッキングに関連付けられた情報を含むフレームパッキング配置SEIメッセージ、
前記出力ピクチャが表示されるときに前記出力ピクチャに適用されるべきフリップおよび/または回転を指定する情報を含む表示配向SEIメッセージ、
前記ビットストリームの時間およびインター予測構造を記述する情報を含むピクチャ情報SEIメッセージの構造、
アクティブパラメータセットについての情報を含むアクティブパラメータセットSEIメッセージ、
0に等しい時間識別子をもつコーディングされたピクチャが欠落しているときの検出に関連付けられた情報を含む時間サブレイヤゼロインデックスSEIメッセージ、あるいは
前記ネストされていないSEIメッセージが適用されるスライスセグメントが、現在のピクチャのリフレッシュされた領域に属すかどうかを示す情報を含む領域リフレッシュ情報SEIメッセージ、
のうちの1つである、C1に記載の方法。
[C4]
前記方法は、前記ネストされていないSEIメッセージの1つまたは複数のシンタックス要素に基づいて、前記ネストされていないSEIメッセージ用のペイロードタイプ変数を決定することをさらに備え、ここにおいて、
前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、前記ネストされていないSEIメッセージのペイロードタイプを示し、
前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、または134に等しい、
C3に記載の方法。
[C5]
前記ネストされていないSEIメッセージは、第1のネストされていないSEIメッセージであり、
前記方法は、
前記ビットストリームから、仮想参照デコーダ(HRD)動作についての初期遅延を示す第2のネストされていないバッファリング期間SEIメッセージを取得することと、
前記第2のネストされていないバッファリング期間SEIメッセージがTargetOpに適用可能なとき、HRD初期化点として、前記第2のネストされていないバッファリング期間SEIメッセージに関連付けられたアクセスユニットを選択すること、ここにおいて、TargetOpは、復号対象ビットストリーム中のレイヤ識別子のセットであり、前記復号対象ビットストリームは、前記ビットストリームまたは前記ビットストリームのサブストリームである、と、
前記選択されたアクセスユニットにおいてHRDを初期化することと、
をさらに備える、C1に記載の方法。
[C6]
前記ネストされていないSEIメッセージは、第1のネストされていないSEIメッセージであり、
前記方法は、
前記ビットストリームから、第2のネストされていないSEIメッセージを取得すること、前記第2のネストされていないSEIメッセージは、HRD動作についての初期遅延を示すバッファリング期間SEIメッセージ、HRD動作についてのピクチャ出力時間とピクチャ/サブピクチャ除去時間とを示すピクチャタイミングSEIメッセージ、またはHRD動作についてのサブピクチャ除去時間を示す復号ユニットSEIメッセージである、と、
復号対象ビットストリーム中の各それぞれのアクセスユニットに関して、
前記ネストされていないSEIメッセージが、前記アクセスユニットに関連付けられ、および前記ネストされていないSEIメッセージが、前記復号対象ビットストリーム中のレイヤ識別子のセットに適用可能であるとき、前記それぞれのアクセスユニット用の前記ネストされていないSEIメッセージを選択すること、ここにおいて、前記復号対象ビットストリームは、前記ビットストリームまたは前記ビットストリームのサブビットストリームである、と、
前記それぞれのアクセスユニットに関して、HRD動作において、前記ネストされていないSEIメッセージの1つまたは複数のシンタックス要素を使うことと、
をさらに備える、C1に記載の方法。
[C7]
前記ネストされていないSEIメッセージは、第1のネストされていないSEIメッセージであり、
前記方法は、
前記ビットストリームから、第2のネストされていないSEIメッセージを取得すること、前記第2のネストされていないSEIメッセージは、HRD動作についての初期遅延を示すバッファリング期間SEIメッセージ、HRD動作についてのピクチャ出力時間とピクチャ/サブピクチャ除去時間とを示すピクチャタイミングSEIメッセージ、またはHRD動作についてのサブピクチャ除去時間を示す復号ユニットSEIメッセージである、と、
前記第2のネストされていないSEIメッセージに適用可能な動作点を決定することと、
ここにおいて、前記第2のネストされていないSEIメッセージに適用可能な前記動作点のすべてのNALユニットの最も高い時間識別子は、前記第2のネストされていないSEIメッセージをカプセル化するSEI NALユニットの時間識別子に等しい、および
ここにおいて、前記第2のネストされていないSEIメッセージに適用可能な前記動作点の前記NALユニットすべてのレイヤ識別子のセットは、0から、前記第2のネストされていないSEIメッセージをカプセル化する前記SEI NALユニットの前記レイヤ識別子までの範囲内のすべての整数値を含む、
前記第2のネストされていないSEIメッセージの1つまたは複数のシンタックス要素の値に部分的に基づいて、前記第2のネストされていないSEIメッセージに適用可能な前記動作点に関してHRD動作を実施することと、
をさらに備える、C1に記載の方法。
[C8]
1つまたは複数のプロセッサを備えるビデオ処理デバイスであって、前記1つまたは複数のプロセッサは、
ビデオデータの符号化された表現を含むビットストリームから、前記ビットストリーム中の別のSEIメッセージ内にネストされていない、ネストされていない補足強調情報(SEI)メッセージを取得し、
前記ネストされていないSEIメッセージが適用可能な前記ビットストリームのレイヤを決定し、ここにおいて、前記ビットストリームのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤに、前記ネストされていないSEIメッセージが適用可能であり、およびここにおいて、前記SEI NALユニットの時間識別子は、前記SEI NALユニットを含むアクセスユニットの時間識別子に等しく、
前記ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、前記ネストされていないSEIメッセージが適用可能な前記ビットストリームの前記レイヤのビデオデータを処理する、
ように構成される、ビデオ処理デバイス。
[C9]
前記SEI NALユニットはNALユニットヘッダとペイロードとを含み、
少なくとも第1のシンタックス要素と第2のシンタックス要素とを含む前記SEI NALユニットの前記NALユニットヘッダ、
前記SEI NALユニットの前記レイヤ識別子を指定する前記第1のシンタックス要素、
前記第2のシンタックス要素は、前記SEI NALユニットの前記時間識別子を指定し、
前記SEI NALユニットの前記ペイロードは、前記ネストされていないSEIメッセージを含む、
C8に記載のビデオ処理デバイス。
[C10]
前記ネストされていないSEIメッセージは、
出力ピクチャのピクチャアスペクト比とは異なるピクチャアスペクト比での表示に関連付けられたデータを含むパンスキャン方形SEIメッセージ、
特定の制約を満たすようにビットレートを調整するためのデータを含むフィラーペイロードSEIメッセージ、
クリーンランダムアクセスまたは漸次復号リフレッシュについての情報を含む回復点SEIメッセージ、
シーン変化および遷移に関連付けられた情報を含むシーン情報SEIメッセージ、
関連付けられた、復号されたピクチャをビデオコンテンツの静止画像スナップショットとして標示するための指示を含むピクチャスナップショットSEIメッセージ、
動画シーンではなくピクチャの品質の漸進的洗練化を表す連続ピクチャのセグメントの開始に関連付けられた情報を含む漸進的洗練化セグメント開始SEIメッセージ、
連続ピクチャの前記セグメントの終了に関連付けられた情報を含む漸進的洗練化セグメント終了SEIメッセージ、
合成フィルムグレイン効果に関連付けられた情報を含むフィルムグレイン特性SEIメッセージ、
提案されたポストフィルタ係数に関連付けられた情報またはポストフィルタ設計についての相関情報を含むポストフィルタヒントSEIメッセージ、
符号化において使われ、または想定されるものとは別の色空間への再マップに関連付けられた情報を含むトーンマッピング情報SEIメッセージ、
前記ビットストリーム中への立体視ビデオのパッキングに関連付けられた情報を含むフレームパッキング配置SEIメッセージ、
前記出力ピクチャが表示されるときに前記出力ピクチャに適用されるべきフリップおよび/または回転を指定する情報を含む表示配向SEIメッセージ、
前記ビットストリームの時間およびインター予測構造を記述する情報を含むピクチャ情報SEIメッセージの構造、
アクティブパラメータセットについての情報を含むアクティブパラメータセットSEIメッセージ、
0に等しい時間識別子をもつコーディングされたピクチャが欠落しているときの検出に関連付けられた情報を含む時間サブレイヤゼロインデックスSEIメッセージ、あるいは
前記ネストされていないSEIメッセージが適用されるスライスセグメントが、現在のピクチャのリフレッシュされた領域に属すかどうかを示す情報を含む領域リフレッシュ情報SEIメッセージ、
のうちの1つである、C8に記載のビデオ処理デバイス。
[C11]
前記1つまたは複数のプロセッサは、前記ネストされていないSEIメッセージの1つまたは複数のシンタックス要素に基づいて、前記ネストされていないSEIメッセージ用のペイロードタイプ変数を決定するように構成され、ここにおいて、前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、前記ネストされていないSEIメッセージのペイロードタイプを示し、
前記ネストされていないSEIメッセージ用の前記ペイロードタイプ変数は、2、3、6、9、15、16、17、19、22、23、45、47、128、129、131、または134に等しい、
C10に記載のビデオ処理デバイス。
[C12]
前記ネストされていないSEIメッセージは、第1のネストされていないSEIメッセージであり、
前記1つまたは複数のプロセッサは、
前記ビットストリームから、仮想参照デコーダ(HRD)動作についての初期遅延を示す第2のネストされていないバッファリング期間SEIメッセージを取得し、
前記第2のネストされていないバッファリング期間SEIメッセージがTargetOpに適用可能なとき、HRD初期化点として、前記ネストされていないバッファリング期間SEIメッセージに関連付けられたアクセスユニットを選択し、ここにおいて、TargetOpは、復号対象ビットストリーム中のレイヤ識別子のセットであり、前記復号対象ビットストリームは、前記ビットストリームまたは前記ビットストリームのサブストリームであり、
前記選択されたアクセスユニットにおいてHRDを初期化する、
ようにさらに構成される、C8に記載のビデオ処理デバイス。
[C13]
前記ネストされていないSEIメッセージは、第1のネストされていないSEIメッセージであり、
前記1つまたは複数のプロセッサは、
前記ビットストリームから、第2のネストされていないSEIメッセージを取得し、前記第2のネストされていないSEIメッセージは、HRD動作についての初期遅延を示すバッファリング期間SEIメッセージ、HRD動作についてのピクチャ出力時間とピクチャ/サブピクチャ除去時間とを示すピクチャタイミングSEIメッセージ、またはHRD動作についてのサブピクチャ除去時間を示す復号ユニットSEIメッセージである、
復号対象ビットストリーム中の各それぞれのアクセスユニットについて、
前記ネストされていないSEIメッセージが、前記アクセスユニットに関連付けられ、および前記ネストされていないSEIメッセージが、前記復号対象ビットストリーム中のレイヤ識別子のセットに適用可能であるとき、前記それぞれのアクセスユニット用の前記ネストされていないSEIメッセージを選択し、ここにおいて、前記復号対象ビットストリームは、前記ビットストリームまたは前記ビットストリームのサブビットストリームであり、
前記それぞれのアクセスユニットに関して、HRD動作において、前記ネストされていないSEIメッセージの1つまたは複数のシンタックス要素を使う、
ようにさらに構成される、C8に記載のビデオ処理デバイス。
[C14]
前記ネストされていないSEIメッセージは、第1のネストされていないSEIメッセージであり、
前記1つまたは複数のプロセッサは、
前記ビットストリームから、第2のネストされていないSEIメッセージを取得し、前記第2のネストされていないSEIメッセージは、HRD動作についての初期遅延を示すバッファリング期間SEIメッセージ、HRD動作についてのピクチャ出力時間とピクチャ/サブピクチャ除去時間とを示すピクチャタイミングSEIメッセージ、またはHRD動作についてのサブピクチャ除去時間を示す復号ユニットSEIメッセージであり、
前記第2のネストされていないSEIメッセージに適用可能な動作点を決定し、
ここにおいて、前記第2のネストされていないSEIメッセージに適用可能な前記動作点のすべてのNALユニットの最も高い時間識別子は、前記第2のネストされていないSEIメッセージをカプセル化するSEI NALユニットの時間識別子に等しい、および
ここにおいて、前記第2のネストされていないSEIメッセージに適用可能な前記動作点の前記NALユニットすべてのレイヤ識別子のセットは、0から、前記第2のネストされていないSEIメッセージをカプセル化する前記SEI NALユニットの前記レイヤ識別子までの範囲内のすべての整数値を含み、
前記第2のネストされていないSEIメッセージの1つまたは複数のシンタックス要素の値に部分的に基づいて、前記第2のネストされていないSEIメッセージに適用可能な前記動作点に関してHRD動作を実施する、
ようにさらに構成される、C8に記載のビデオ処理デバイス。
[C15]
前記1つまたは複数のプロセッサは、前記ネストされていないSEIメッセージ中の前記1つまたは複数のシンタックス要素に部分的に基づいて、前記ネストされていないSEIメッセージが適用可能な前記ビットストリームの前記レイヤの前記ビデオデータを復号するように構成される、C8に記載のビデオ処理デバイス。
[C16]
ビデオ処理デバイスであって、前記ビデオ処理デバイスは下記を備える、
ビデオデータの符号化された表現を含むビットストリームから、前記ビットストリーム中の別のSEIメッセージ内にネストされていない、ネストされていない補足強調情報(SEI)メッセージを取得するための手段と、
前記ネストされていないSEIメッセージが適用可能な前記ビットストリームのレイヤを決定するための手段、ここにおいて、前記ビットストリームのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤに、前記ネストされていないSEIメッセージが適用可能であり、およびここにおいて、前記SEI NALユニットの時間識別子は、前記SEI NALユニットを含むアクセスユニットの時間識別子に等しい、と、
前記ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、前記ネストされていないSEIメッセージが適用可能な前記ビットストリームの前記レイヤのビデオデータを処理するための手段。
[C17]
前記SEI NALユニットはNALユニットヘッダとペイロードとを含み、
少なくとも第1のシンタックス要素と第2のシンタックス要素とを含む前記SEI NALユニットの前記NALユニットヘッダ、
前記SEI NALユニットの前記レイヤ識別子を指定する前記第1のシンタックス要素、
前記第2のシンタックス要素は、前記SEI NALユニットの前記時間識別子を指定し、
前記SEI NALユニットの前記ペイロードは、前記ネストされていないSEIメッセージを含む、
C16に記載のビデオ処理デバイス。
[C18]
実行されると、ビデオ処理デバイスを、
ビデオデータの符号化された表現を含むビットストリームから、前記ビットストリーム中の別のSEIメッセージ内にネストされていない、ネストされていない補足強調情報(SEI)メッセージを取得し、
前記ネストされていないSEIメッセージが適用可能な前記ビットストリームのレイヤを決定し、ここにおいて、前記ビットストリームのビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットが、前記ネストされていないSEIメッセージをカプセル化するSEI NALユニットのレイヤ識別子に等しいレイヤ識別子をレイヤに関して有し、そのレイヤに、前記ネストされていないSEIメッセージが適用可能であり、およびここにおいて、前記SEI NALユニットの時間識別子は、前記SEI NALユニットを含むアクセスユニットの時間識別子に等しく、
前記ネストされていないSEIメッセージ中の1つまたは複数のシンタックス要素に部分的に基づいて、前記ネストされていないSEIメッセージが適用可能な前記ビットストリームの前記レイヤのビデオデータを処理する、
ように構成する命令を記憶したコンピュータ可読記憶媒体。
[C19]
前記SEI NALユニットはNALユニットヘッダとペイロードとを含み、
少なくとも第1のシンタックス要素と第2のシンタックス要素とを含む前記SEI NALユニットの前記NALユニットヘッダ、
前記SEI NALユニットの前記レイヤ識別子を指定する前記第1のシンタックス要素、
前記第2のシンタックス要素は、前記SEI NALユニットの前記時間識別子を指定し、
前記SEI NALユニットの前記ペイロードは、前記ネストされていないSEIメッセージを含む、
C18に記載のコンピュータ可読記憶媒体。