[0024]ビットストリームは、1つ以上のコーディングされた映像シーケンス(CVS)を形成するコーディングされたピクチャ及び関連付けられたデータの表現を形成するビットのシーケンスを備えることができる。エレメンタリストリームは、1つ以上のビットストリームのシーケンスを備えることができる。コーディングされたピクチャは、ピクチャのすべてのコーディングツリーユニットが入ったピクチャのコーディングされた表現を備えることができる。コーディングツリーユニット(CTU)は、ルマサンプルのコーディングツリーブロック(CTB)と、クロマサンプルの2つの対応するCTBと、サンプルをコーディングするために使用される構文構造と、を備えることができる。CVSは、アクセスユニットのシーケンスを備えることができる。アクセスユニットの各々は、同じ時間インスタンス(time instance)と関連付けられたコーディングされたピクチャの組を備えることができる。
[0025]プロフィール、タイア(tier)、及びレベルは、ビットストリームに関する制限、従って、ビットストリームを復号するために必要な能力に関する限度、を規定する。プロフィール、タイア、及びレベルは、個々の復号器の実装間の相互運用性ポイントを示すために使用することもできる。プロフィールは、映像コーディング仕様(例えば、HEVC)によって規定されるビットストリーム構文全体のサブセットであることができる。例えば、各プロフィールは、そのプロフィールに準拠するすべての復号器によってサポートされなければならないアルゴリズム上の特徴及び限度のサブセットを規定することができる。映像符号器は、プロフィールにおいてサポートされるすべての特徴を利用することは要求されない。
[0026]タイアの各レベルは、構文要素によってとることができる値の限度の組を規定することができる。タイア及びレベルの定義の同じ組がすべてのプロフィールとともに使用されるが、個々の実装は、各々のサポートされるプロフィールに関する異なるタイア及び1つのタイア内の異なるレベルをサポートすることができる。あらゆる所定のプロフィールに関しては、タイアのレベルは、概して、特定の復号器処理負荷及びメモリ能力に対応することができる。映像復号器の能力は、プロフィール、タイア及びレベルの制約事項に準拠する映像ストリームを復号する能力の点で規定することができる。各々の該プロフィールに関して、そのプロフィールに関してサポートされるタイア及びレベルも表すことができる。幾つかの映像復号器は、特定のプロフィール、タイア又はレベルを復号することができない。
[0027]ビットストリームは、異なるプロフィールと関連付けられた複数のCVSを入れることができる。従って、あるビットストリームを考慮した場合は、ビットストリームの第1のCVSに関するアクティブなシーケンスパラメータセット(SPS)に含まれるプロフィール情報を単に検査しただけでは、特定のプロフィールに準拠する映像復号器がビットストリーム全体を復号することができるかどうかを知る上では十分でないことがある。映像復号器がビットストリーム全体を確実に復号することができるようにするためには、映像復号器は、映像復号器が復号することができるプロフィールにすべてのCVSが準拠するかどうかを決定するためにビットストリーム内のすべてのCVSを検査する必要がある。該検査は単純ではない。なぜならば、すべてのアクティブなSPSを識別するためにビットストリーム内の実質上すべてのネットワーク抽象化層(NAL)ユニットを点検しなければないないためである。
[0028]本開示の幾つかの技法例は、ビットストリーム内のビットストリームのプロパティをシグナリングすることによってビットストリームにおける前述される問題を解決することができる。映像復号器は、映像復号器がビットストリームを復号することができるかどうかを決定するためにビットストリームのシグナリングされたプロパティを使用することができる。従って、映像復号器は、ビットストリームの復号中にいずれのパラメータセットがアクティブであるかを決定するためにビットストリーム内のすべてのパラメータセット(例えば、映像パラメータセット(VPS)、SPS、ピクチャパラメータセット(PPS)、等)を検査する必要がない。
[0029]本開示の幾つか技法では、映像符号器(又はその他の映像処理デバイス)は、ビットストリームのプロパティをシグナリングすることができる。ビットストリームは、複数のCVSを備える。ビットストリームのこのシグナリングされたプロパティが特定の値を有するときには、ビットストリームのすべてのCVSが同じプロフィールに準拠する。映像処理デバイスは、プロパティに基づいて、ビットストリームを処理(例えば、復号)すべきかどうかを決定することができる。例えば、映像符号器(又はその他の映像処理デバイス)は、ビットストリームプロパティ補足的エンハンスメント情報(SEI)メッセージにおいてビットストリームのビットストリームプロパティをシグナリングすることができる。SEIメッセージは、ピクチャのサンプル値の正確な復号のために要求されないメタデータを含むことができる。ビットストリームプロパティSEIメッセージは、SEIメッセージが入ったビットストリーム全体に関する情報を提供することができる。例えば、ビットストリームの各SPSは、SPSに関する該当するCVSが準拠するプロフィールを示すプロフィールインジケータ構文要素を含むことができる。この例において、特定の値(例えば、1)を有するビットストリームプロパティSEIメッセージ内の特定の構文要素は、プロフィールインジケータ構文要素の値が、ビットストリームが復号されるときにアクティブであるすべてのSPSに関して同一であることを示す。
[0030]エレメンタリストリームは、1つ以上のビットストリームのシーケンスを備えることができる。本開示の技法は、エレメンタリストリームに関する類似の問題を解決することができる。すなわち、映像復号器は、エレメンタリストリームの復号中にいずれのパラメータセットがアクティブであるかを決定するためにエレメンタリストリームの各CVSを構文解析せずにエレメンタリストリームを復号することができるかどうかを決定することができない。本開示の技法は、エレメンタリストリームにおいてエレメンタリストリームのプロパティをシグナリングすることによってこの問題を克服することができる。本開示の幾つかの該技法により、映像符号器(又はその他の映像処理デバイス)は、エレメンタリストリームのプロパティをシグナリングすることができる。エレメンタリストリームは、1つ以上のビットストリームを備え、それらの各々は、1つ以上のCVSを含む。プロパティが特定の値を有するときには、エレメンタリストリームのすべてのCVSが同じプロフィールに準拠する。映像処理デバイスは、プロパティに基づいて、エレメンタリストリームを処理すべきかどうかを決定することができる。
[0031]例えば、映像処理デバイスは、エレメンタリストリームレベルのプロパティをシグナリングするためのエレメンタリストリームプロパティ(ESP)SEIメッセージを生成することができる。ESP SEIメッセージは、ESP SEIメッセージが入ったエレメンタリストリーム全体に関する情報を提供する。例えば、エレメンタリストリームの各SPSは、SPSに関する該当するCVSが準拠するプロフィールを示すプロフィールインジケータ構文要素を含むことができる。この例において、特定の値(例えば、1)を有するESP SEIメッセージ内の特定の構文要素は、プロフィールインジケータ構文要素の値が、ビットストリームが復号されるときにアクティベートされる(activate)すべてのSPSに関して同一であることを示す。
[0032]図1は、本開示の技法を利用することができる映像コーディングシステム例10を示したブロック図である。ここで使用される場合において、用語“映像コーダ”は、概して、映像符号器及び映像復号器の両方を意味する。本開示では、用語“映像コーディング”又は“コーディング”は、概して、映像符号化又は映像復号を意味することができる。
[0033]図1において示されるように、映像コーディングシステム10は、ソースデバイス12と、行先デバイス14と、を含む。ソースデバイス12は、符号化された映像データを生成する。従って、ソースデバイス12は、映像符号化デバイス又は映像符号化装置と呼ぶことができる。行先デバイス14は、ソースデバイス12によって生成された符号化された映像データを復号することができる。従って、行先デバイス14は、映像復号デバイス又は映像復号装置と呼ぶことができる。ソースデバイス12及び行先デバイス14は、映像コーディングデバイス又は映像コーディング装置の例である。
[0034]ソースデバイス12及び行先デバイス14は、広範なデバイスを含むことができ、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆる“スマート”フォン、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームプレイコンソール、車内コンピュータ、等を含む。
[0035]行先デバイス14は、チャネル16を介してソースデバイス12から符号化された映像データを受信することができる。チャネル16は、符号化された映像データをソースデバイス12から行先デバイス14に移動させることが可能な1つ以上の媒体又はデバイスを備えることができる。一例では、チャネル16は、ソースデバイス12が符号化された映像データをリアルタイムで直接行先デバイス14に送信するのを可能にする通信媒体を備えることができる。この例では、ソースデバイス12は、通信規格、例えば、無線通信プロトコル、により符号化された映像データを変調することができ、及び、変調された映像データを行先デバイス14に送信することができる。1つ以上の通信媒体は、無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的送信ライン、を備えることができる。1つ以上の通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク(例えば、インターネット)の一部を形成することができる。1つ以上の通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス12から行先デバイス14への通信を容易にするその他の装置を含むことができる。
[0036]他の例では、チャネル16は、ソースデバイス12によって生成された符号化された映像データを格納する記憶媒体を含むことができる。この例では、行先デバイス14は、例えば、ディスクアクセス又はカードアクセスを介して、記憶媒体にアクセスすることができる。記憶媒体は、様々なローカルでアクセスされるデータ記憶媒体、例えば、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、又は符号化された映像データを格納するためのその他の適切なデジタル記憶媒体を含むことができる。
[0037]さらなる例では、チャネル16は、ソースデバイス12によって生成された符号化された映像データを格納するファイルサーバ又は他の中間的な記憶デバイスを含むことができる。この例では、行先デバイス14は、ストリーミング又はダウンロードを介してファイルサーバ又はその他の中間的な記憶デバイスに格納された符号化された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納すること及び符号化された映像データを行先デバイス14に送信することが可能なタイプのサーバであることができる。ファイルサーバ例は、(例えば、ウェブサイトのための)ウェブサーバと、ファイル転送プロトコル(FTP)サーバと、ネットワーク接続記憶(NAS)デバイスと、ローカルディスクドライブと、を含む。
[0038]行先デバイス14は、インターネット接続、等の標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。データ接続のタイプ例は、ファイルサーバに格納された符号化された映像データにアクセスするのに適する無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、デジタル加入者ライン(DSL)、ケーブルモデム、等)、又は両方の組み合わせを含むことができる。ファイルサーバからの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
[0039]本開示の技法は、無線の用途またはセッティングには限定されない。それらの技法は、映像コーディングに適用することができ、様々なマルチメディア用途、例えば、オーバー・ザ・エアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体への格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートする。幾つかの例では、映像コーディングシステム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするために1方向又は2方向の映像送信をサポートするように構成することができる。
[0040]図1は、単なる例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間でのデータ通信を必ずしも含まない映像コーディング設定(例えば、映像符号化又は映像復号)に適用することができる。その他の例では、データは、ローカルメモリから取り出され、ネットワークを通じてストリーミングされ、等である。映像符号化デバイスは、データを符号化してメモリに格納することができ、及び/又は、映像復号デバイスは、メモリからデータを取り出して復号することができる。多くの例において、符号化及び復号は、互いに通信せず、単にデータを符号化してメモリに格納する及び/又はメモリからデータを取り出して復号するデバイスによって行われる。
[0041]図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、出力インタフェース22と、を含む。幾つかの場合は、出力インタフェース22は、変調器/復調器(モデム)及び/又は送信機を含むことができる。映像ソース18は、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像データが入った映像アーカイブ、映像コンテンツプロバイダからの映像を受信するための映像フィードインタフェース、及び/又は、映像データを生成するためのコンピュータグラフィックスシステム、又は該映像データソースの組み合わせ、を含むことができる。
[0042]映像符号器20は、映像ソース18からの映像データを符号化することができる。幾つかの例では、ソースデバイス12は、出力インタフェース22を介して符号化された映像データを行先デバイス14に直接送信する。その他の例では、符号化された映像データは、復号及び/又は再生のために行先デバイス14によってのちにアクセスするために記憶媒体又はファイルサーバに格納することもできる。
[0043]図1の例において、行先デバイス14は、入力インタフェース28と、映像復号器30と、表示装置32と、を含む。幾つかの例では、入力インタフェース28は、受信機及び/又はモデムを含む。入力インタフェース28は、チャネル16を通じて符号化された映像データを受信することができる。映像復号器30は、符号化された映像データを復号することができる。表示装置32は、復号された映像データを表示することができる。表示装置32は、行先デバイス14と一体化することができ又は外部に存在することができる。表示装置32は、様々な表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、を備えることができる。
[0044]映像符号器20及び映像復号器30は、各々、様々な適切な回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ハードウェア、又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内において部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な記憶媒体に格納することができ及び本開示の技法を実行するために1つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。上記(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ、等を含む)のうちのいずれも、1つ以上のプロセッサであるとみなすことができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイスにおいて結合された符号器/復号器(CODEC)の一部として一体化することができる。
[0045]本開示は、概して、他のデバイス、例えば、映像復号器30、にある情報を“シグナリング”する映像符号器20を意味することができる。用語“シグナリング”は、概して、圧縮された映像データを復号するために使用される構文要素及び/又はその他のデータの通信を意味することができる。該通信は、リアルタイム又はほぼリアルタイムで生じることができる。代替として、該通信は、例えば、符号化時に符号化されたビットストリームにおいてコンピュータによって読み取り可能な記憶媒体に構文要素を格納するときに生じるように、ある時間にわたって生じることができ、それは、この媒体に格納された後に何時でも復号デバイスによって取り出すことができる。
[0046]幾つかの例では、映像符号器20及び映像復号器30は、映像圧縮規格、例えば、国際標準化機構(ISO)/IEC MPEG−4 Visual及びITUI−T H.264(ISO/IEC MPEG4 AVCとも呼ばれる)、に準拠して動作し、スケーラブル映像コーディング(SVC)拡張版と、マルチビュー映像コーディング(MVC)拡張版と、MVCに基づく三次元映像(3DV)拡張版と、を含む。幾つかの例では、H.264/AVCのMVCに基づく3DV拡張版に準拠するビットストリームには、H.264/AVCのMVC拡張版に準拠するサブビットストリームが常に入っている。さらに、映像符号器20及び映像復号器30は、現在開発中のH.264/AVCの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に準拠して動作することができる。
[0047]その他の例では、映像符号器20及び映像復号器30は、ITU−Tビデオコーディングエキスパーツグループ(VCEG)及びISO/IECモーションピクチャエキスパーツグループ(MPEG)の映像コーディングに関する共同作業チーム(JCT−VC)によって開発された高効率映像コーディング(HEVC)により動作することができる。“HEVCワーキングドラフト8”と呼ばれるHEVC規格のドラフトが、2012年7月にスウェーデンのストックホルムで開催された第10回会議においてITU−T SG16 WP3及びISO/IEC JTC1/SC29/WG11の映像コーディングに関する共同作業チーム(JCT−VC)によって提出された文書 HCTVC−J1003、Bross et al.,“High Efficiency Video Coding(HEVC) Text Specification Draft8”において記述されており、2013年9月3日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipから入手可能である。さらに、映像符号器20及び映像復号器30は、現在開発中のHEVCに関するスケーラブル映像コーディング、マルチビューコーディング、及び3DV拡張版により動作することができる。HEVCのスケーラブル映像コーディング拡張版は、SHEVCと呼ぶことができる。HEVCの3DV拡張版は、HEVCに基づく3DV又は3D−HEVCと呼ぶことができる。
[0048]HEVC及びその他の映像コーディング仕様では、映像シーケンスは、典型的には、一連のピクチャを含む。ピクチャは、“フレーム”と呼ぶこともできる。ピクチャは、SL、SCb、及びSCrとして表される3つのサンプルアレイを含むことができる。SLは、ルマサンプルの二次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの二次元アレイである。
SCrは、Crクロミナンスサンプルの二次元アレイである。クロミナンスサンプルは、ここでは“クロマ”サンプルと呼ぶこともできる。その他の例では、ピクチャは、モノクロであることができ、ルマサンプルのアレイしか含まないことができる。
[0049]ピクチャの符号化された表現を生成するために、映像符号器20は、一組のコーディングツリーユニット(CTU)を生成することができる。これらのCTUの各々は、ルマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用される構文構造と、を備えることができる。モノクロピクチャ又は3つの別々のカラープレーン(color plane)を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用される構文構造と、を備えることができる。コーディングツリーブロックは、サンプルのN×Nブロックであることができる。CTUは、“ツリーブロック”又は“最大コーディングユニット(LCU)”と呼ぶこともできる。HEVCのCTUは、その他の規格、例えば、H.264/AVC、のマクロブロックにほぼ類似することができる。しかしながら、CTUは、必ずしも特定のサイズに限定されず、1つ以上のコーディングユニット(CU)を含むことができる。スライスは、ラスター走査順序で連続的に順序が設定された整数の数のCTUを含むことができる。
[0050]コーディングされたCTUを生成するために、映像符号器20は、コーディングツリーブロックをコーディングブロックに分割するために(従って、“コーディングツリーユニット”と呼ばれる)CTUのコーディングツリーブロックに関する四分木分割を反復的に行うことができる。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルマサンプルアレイ、Cbサンプルアレイ、及びCrサンプルアレイ、及びコーディングブロックのサンプルをコーディングするために使用される構文構造を有するピクチャのルマサンプルのコーディングブロック及びクロマサンプルの2つの対応するコーディングブロックを備えることができる。モノクロピクチャ又は3つの別々のカラープレーンを有するピクチャでは、CUは、単一のコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用される構文構造と、を備えることができる。
[0051]映像符号器20は、CUのコーディングブロックを1つ以上の予測ブロックに分割することができる。予測ブロックは、同じ予測が適用されるサンプルの方形の(すなわち、正方形又は非正方形の)ブロックである。CUの予測ユニット(PU)は、ルマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、予測ブロックを予測するために使用される構文構造と、を備えることができる。モノクロピクチャ又は3つの別々のカラープレーンを有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックを予測するために使用される構文構造と、を備えることができる。映像符号器20は、CUの各PUのルマ、Cb、及びCr予測ブロックに関する予測ルマ、Cb、及びCrブロックを生成することができる。
[0052]映像符号器20は、PUに関する予測ブロックを生成するためにイントラ予測又はインター予測を使用することができる。映像符号器20がPUの予測ブロックを生成するためにイントラ予測を使用する場合は、映像符号器20は、PUと関連付けられたピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成することができる。本開示では、句“に基づく”は、“に少なくとも部分的に基づく”を示すことができる。映像符号器20がPUの予測ブロックを生成するためにインター予測を使用する場合は、映像符号器20は、PUと関連付けられたピクチャ以外の1つ以上のピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成することができる。
[0053]インター予測をサポートするために、映像符号器20は、1つ以上の基準ピクチャリストを生成することができる。これらの基準ピクチャリストは、RefPicList0及びRefPicList1と呼ぶことができる。幾つかの例では、映像符号器20は、異なるピクチャ又はピクチャの異なるスライスに関して異なる基準ピクチャリストを生成することができる。従って、異なるピクチャ及び/又はスライスの異なるPUは、RefPicList0及びRefPicList1の異なるバージョンと関連付けることができる。
[0054]さらに、映像符号器20がPUの予測ブロックを生成するためにインター予測を使用するときには、映像符号器は、PUに関する動き情報をシグナリングすることができる。動き情報は、PUに関する基準インデックスと、PUに関する動きベクトルと、を含むことができる。PUに関する基準インデックスは、PUと関連付けられた基準ピクチャリストのうちの1つ内において、基準ピクチャの位置を示すことができる。PUに関する動きベクトルは、PUの予測ブロックと基準ピクチャ内の基準位置との間の空間的変位を示すことができる。映像符号器20は、PUに関する予測ブロックを生成するために基準位置と関連付けられた基準ピクチャのサンプルを使用することができる。PUは、2つの基準ピクチャと関連付けることができるため、PUは、2つの基準インデックス及び2つの動きベクトルを有することができる。従って、PUは、RefPicList0基準インデックス及びRefPicList1基準インデックスを有することができる。PUのRefPicList0基準インデックスは、RefPicList0のPUのバージョン内の基準ピクチャを示す。PUのRefPicList1基準インデックスは、RefPicList1のPUのバージョン内の基準ピクチャを示す。同様に、PUは、RefPicList0動きベクトル及びRefPicList1動きベクトルを有することができる。PUのRefPicList0動きベクトルは、RefPicList0のPUのバージョン内の基準ピクチャ内の基準位置を示すことができる。PUのRefPicList1動きベクトルは、RefPicList1のPUのバージョン内の基準ピクチャ内の基準位置を示すことができる。
[0055]映像符号器20は、ビットストリームにおいてPUの基準インデックス及び動きベクトルをシグナリングすることができる。換言すると、映像符号器20は、ビットストリームにおいて、PUの基準インデックス及び動きベクトルを示すデータを含むことができる。映像復号器30は、RefPicList0及び/又はRefPicList1のPUのバージョンを再構築することができ及びPUに関する1つ以上の予測ブロックを決定するためにPUの基準インデックス及び動きベクトルを使用することができる。映像復号器30は、サンプルを復号するために、PUに関する予測ブロックを残差データとともに使用することができる。
[0056]映像符号器20が、CUの1つ以上のPUに関する予測ルマブロックを生成した後は、映像符号器20は、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コーディングブロック内の対応するサンプルとの間の差分を示すことができる。
[0057]さらに、映像符号器20は、CUのルマ、Cb、及びCr残差ブロックを1つ以上のルマ、Cb、及びCr変換ブロックに分解するために四分木分割を使用することができる。変換ブロックは、同じ変換が適用されるサンプルの方形の(すなわち、正方形又は非正方形の)ブロックであることができる。CUの変換ユニット(TU)は、ルマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用される構文構造と、を備えることができる。従って、CUの各TUは、ルマ変換ブロック、Cb変換ブロック、及びCr変換ブロックと関連付けることができる。TUと関連付けられたルマ変換ブロックは、CUのルマ残差ブロックのサブブロックであることができる。Cb変換ブロックは、CUのCb残差ブロックのサブブロックとであることができる。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであることができる。モノクロピクチャ又は3つの別々のカラープレーンを有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するために使用される構文構造と、を備えることができる。
[0058]映像符号器20は、TUに関するルマ係数ブロックを生成するために1つ以上の変換をTUのルマ変換ブロックに適用することができる。係数ブロックは、変換係数の二次元アレイであることができる。変換係数は、スカラー量であることができる。映像符号器20は、TUに関するCb係数ブロックを生成するために1つ以上の変換をTUのCb変換ブロックに適用することができる。映像符号器20は、TUに関するCr係数ブロックを生成するために1つ以上の変換をTUのCr変換ブロックに適用することができる。
[0059]係数ブロック(例えば、ルマ係数ブロック、Cb係数ブロック又はCr係数ブロック)を生成後は、映像符号器20は、係数ブロックを量子化することができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させ、さらなる圧縮を提供するために変換係数が量子化されるプロセスを意味する。映像符号器20が係数ブロックを量子化した後は、映像符号器20は、量子化された変換係数を示す構文要素をエントロピー符号化することができる。例えば、映像符号器20は、量子化された変換係数を示す構文要素に関してコンテキスト適応型バイナリ算術コーディング(CABAC)を行うことができる。
[0060]映像符号器20は、コーディングされたピクチャ及び関連付けられたデータの表現を形成するビットのシーケンスを含むビットストリームを出力することができる。用語“ビットストリーム”は、ネットワーク抽象化層(NAL)ユニットストリーム(例えば、NALユニットのシーケンス)又はバイトストリーム(例えば、HEVC規格の付属書Bによって規定されるように開始コード接頭辞及びNALユニットが入ったNALユニットストリームのカプセル化)のいずれかを意味するために使用される総称的用語である。NALユニットは、NALユニット内におけるデータのタイプの指示、及び、エミュレーション防止ビットが必要に応じて介在された生バイトシーケンスペイロード(RBSP)の形態でそのデータが入ったバイトが入った構文構造である。各NALユニットは、NALユニットヘッダを含むことができ及びRBSPをカプセル化することができる。NALユニットヘッダは、NALユニットタイプコードを示す構文要素を含むことができる。NALユニットのNALユニットヘッダによって指定されたNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内でカプセル化される整数のバイトが入った構文構造であることができる。幾つかの例では、RBSPは、ゼロビットを含む。
[0061]異なるタイプのNALユニットが異なるタイプのRBSPをカプセル化することができる。例えば、第1のタイプのNALユニットは、ピクチャパラメータセット(PPS)に関するRBSPをカプセル化することができ、第2のタイプのNALユニットは、コーディングされたスライスに関するRBSPをカプセル化することができ、第3のタイプのNALユニットは、SEIに関するRBSPをカプセル化することができ、以下同様である。(パラメータセット及びSEIメッセージに関するRBSPとは反対に)映像コーディングデータに関するRBSPをカプセル化するNALユニットは、映像コーディング層(VCL)NALユニットと呼ぶことができる。パラメータセット(例えば、VPS、SPS、PPS、等)が入ったNALユニットは、パラメータセットNALユニットと呼ぶことができる。
[0062]映像復号器30は、映像符号器20によって生成されたビットストリームを受信することができる。さらに、映像復号器30は、ビットストリームから構文要素を入手するためにビットスリームを構文解析することができる。映像復号器30は、ビットストリームから入手された構文要素に少なくとも部分的に基づいて映像データのピクチャを再構築することができる。映像データを再構築するためのプロセスは、概して、映像符号器20によって行われるプロセスと相互的であることができる。例えば、映像復号器30は、現在のCUのPUに関する予測ブロックを決定するためにPUの動きベクトルを使用することができる。さらに、映像復号器30は、現在のCUのTUと関連付けられた係数ブロックを逆量子化することができる。映像復号器30は、現在のCUのTUと関連付けられた変換ブロックを再構築するために係数ブロックに関する逆変換を行うことができる。映像復号器30は、現在のCUのPUに関する予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加えることによって現在のCUのコーディングブロックを再構築することができる。ピクチャの各CUに関するコーディングブロックを再構築することによって、映像復号器30は、ピクチャを再構築することができる。
[0063]マルチビューコーディングでは、異なる観点からの同じシーンの複数のビューが存在することができる。マルチビューコーディングの文脈において、用語“アクセスユニット”は、同じ時間インスタンスに対応するピクチャの組を意味するために使用することができる。従って、映像データは、経時で発生する一連のアクセスユニットとして概念化することができる。“ビューコンポーネント”は、単一のアクセスユニットにおけるビューのコーディングされた表現であることができる。本開示では、“ビュー”は、同じビュー識別子と関連付けられたビューコンポーネントのシーケンスを意味することができる。幾つかの例では、ビューコンポーネントは、テクスチャビューコンポーネント(すなわち、テクスチャピクチャ)又は深度ビューコンポーネント(すなわち、深度ピクチャ)であることができる。
[0064]マルチビューコーディングは、インタービュー予測をサポートする。インタービュー予測は、HEVCにおいて使用されるインター予測と同様であり、同じ構文要素を使用することができる。しかしながら、映像コーダが現在の映像ユニット(例えば、PU)に関するインタービュー予測を行うときには、映像符号器20は、現在の映像ユニットと同じアクセスユニット内、ただし、異なるビュー内に存在するピクチャを基準ピクチャとして使用することができる。対照的に、従来のインター予測は、異なるアクセスユニット内のピクチャのみを基準ピクチャとして使用する。
[0065]マルチビューコーディングでは、ビューは、映像復号器(例えば、映像復号器30)がその他のいずれのビュー内のピクチャも参照せずにビュー内のピクチャを復号することができる場合は“基本ビュー”と呼ぶことができる。非基本ビューのうちの1つ内のピクチャをコーディングするときには、映像コーダ(例えば、映像符号器20又は映像復号器30)は、ピクチャが、映像コーダが現在コーディング中のピクチャと異なるビュー内にあるが同じ時間インスタンス(すなわち、アクセスユニット)内にある場合はそのピクチャを基準ピクチャリスト内に加えることができる。その他のインター予測基準ピクチャと同様に、映像コーダは、基準ピクチャリストのあらゆる位置にインタービュー予測基準ピクチャを挿入することができる。
[0066]例えば、NALユニットは、ヘッダ(すなわち、NALユニットヘッダ)と、ペイロード(例えば、RBSP)と、を含むことができる。NALユニットヘッダは、nuh_reserved_zero_6bits構文要素を含むことができる。異なる値を指定するnuh_reserved_zero_6bits構文要素を有するNALユニットは、ビットストリームの異なる“層”に属する。従って、マルチビューコーディング、3DV、又はSVCでは、NALユニットのnuh_reserved_zero_6bits構文要素は、NALユニットの層識別子(すなわち、層ID)を指定する。NALユニットのnuh_reserved_zero_6bits構文要素は、NALユニットがマルチビューコーディング、3DVコーディング、又はSVCにおける基本層に関連する場合は0に等しい。ビットストリームの基本層内のデータは、ビットストリームのいずれのその他の層内のデータも参照せずに復号することができる。NALユニットがマルチビューコーディング、3DVコーディング、又はSVCにおける基本層に関連しない場合は、nuh_reserved_zero_6bits構文要素は、ゼロでない値を有することができる。マルチビューコーディング及び3DVコーディングでは、ビットストリームの異なる層は、異なるビューに対応することができる。SVCでは、基本層以外の層は、“拡張層”と呼ぶことができ、ビットストリームから復号された映像データの視覚品質を拡張する情報を提供することができる。
[0067]さらに、層内の幾つかのピクチャは、同じ層内のその他のピクチャを基準にせずに復号することができる。従って、層の幾つかのピクチャのデータをカプセル化しているNALユニットは、その層内のその他のピクチャの復号可能性に影響を与えずにビットストリームから取り除くことができる。該ピクチャのデータをカプセル化しているNALユニットを取り除くことは、ビットストリームのフレームレートを低減させることができる。層内のその他のピクチャを基準にせずに復号することができる層内のピクチャのサブセットは、ここでは、“副層”又は“時間的副層”と呼ぶことができる。
[0068]NALユニットは、temporal_id構文要素を含むことができる。NALユニットのtemporal_id構文要素は、そのNALユニットの時間的識別子を指定する。NALユニットの時間的識別子は、そのNALユニットが関連付けられている副層を識別する。従って、ビットストリームの各副層は、異なる時間的識別子と関連付けることができる。第1のNALユニットの時間的識別子が第2のNALユニットの時間的識別子よりも小さい場合は、第1のNALユニットによってカプセル化されているデータは、第2のNALユニットによってカプセル化されているデータを参照せずに復号することができる。
[0069]ビットストリームは、複数の動作ポイントと関連付けることができる。ビットストリームの各動作ポイントは、一組の層識別子(すなわち、一組のnuh_reserved_zero_6bits値)及び時間的識別子と関連付けられる。層識別子の組は、OpLayerIdSetで表すことができ、時間的識別子は、TemporalIDで表すことができる。NALユニットの層識別子が動作ポイントの層識別子の組内にあり、NALユニットの時間的識別子が動作ポイントの時間的識別子以下である場合は、NALユニットは、動作ポイントと関連付けられている。動作ポイントの表現(representation)は、動作ポイントと関連付けられているビットストリームサブセットである。動作ポイントの表現は、動作ポイントと関連付けられている各NALユニットを含むことができる。幾つかの例では、動作ポイントの表現は、動作ポイントと関連付けられていないVCL NALユニットは含まない。
[0070]メディアアウェアネットワークエレメント(media aware network element)(MANE)は、複数の副層で符号化されるHEVCビットストリームに対してビットストリーム薄化(thinning)を適用することができる。ビットストリーム内のあらゆるポイントにおいて、MANEは、より下方の副層(すなわち、より低い時間的識別子と関連付けられた副層)内のピクチャに関する復号プロセスはより高い方の副層(すなわち、より高い時間的識別子と関連付けられた副層)のNALユニットに依存しないためより下方の副層は依然として復号可能であるという事実に基づいてより高い方の副層のNALユニットを取り除くことを開始することができる。ある一定の値よりも高い時間的識別子を有するすべてのNALユニットを取り除く行動は、時間的ダウンスイッチング(down−switching)と呼ぶことができる。時間的ダウンスイッチングは、常に可能である。
[0071]用語“時間的アップスイッチング(up−switching)”は、そのポイントまで転送(forward)されていないある副層のNALユニットを転送するのを開始する行動を意味することができる。時間的アップスイッチングは、スイッチが行われたビットストリーム内のポイントよりも前に同じ副層内のピクチャに依存するために層内のいずれのピクチャもスイッチされない場合のみに可能である。従って、用語“時間的副層スイッチングポイント”は、ピクチャと同じ副層内にあり及び復号順序で先行するその他のピクチャに依存しないピクチャを意味することができる。
[0072]H.264/AVC映像コーディング規格のスケーラブル映像コーディング拡張版(すなわち、H.264/SVC)では、時間的副層スイッチングポイントは、SPSにおけるtemporal_id_nesting_flag構文要素を通じて示すことができる。例えば、特定のCVSに適用可能であるSPSにおけるtemporal_id_nesting_flag構文要素が1に等しい場合は、0よりも大きい時間的識別子を有するCVS内のすべてのピクチャが時間的層スイッチングポイントであることができる。さらに、H.264/SVCでは、時間的レベルスイッチングポイントSEIメッセージが時間的副層スイッチングポイントであることができる。時間的レベルスイッチングポイントSEIメッセージが時間的副層スイッチングポイントを示す幾つかの例では、時間的レベルスイッチングポイントSEIメッセージは、スイッチポイントにおいて時間的層M+1までスイッチするためにスイッチポイントの前に時間的層Mが復号されているべきであった時間の長さに関する情報を入れることができる。
[0073]HEVCでは、H.264/SVCと同様に、SPSは、sps_temporal_id_nesting_flag構文要素を含むことができる。sps_temporal_id_nesting_flag構文要素が1に等しい値を有するときには、0よりも大きい時間的識別子を有するすべてのピクチャが副層スイッチングポイントである。HEVCでは、副層スイッチングポイントと関連付けられた2つのピクチャタイプ、すなわち、時間的副層アクセス(TSA)ピクチャタイプ及びステップに基づく時間的副層アクセス(STSA)ピクチャタイプ、が存在することができる。TSA及びSTSAピクチャタイプは、時間的副層スイッチングポイントを示すために使用することができる。
[0074]TSAピクチャ及び復号順序でTSAピクチャに後続するピクチャは、インター予測基準に関してTSAピクチャのTemporalId以上のそれを有するピクチャを使用しない。TSAピクチャは、TSAピクチャにおいて、直下の副層から、TSAピクチャが入った副層又はより高い副層へのアップスイッチングを可能にする。幾つかの例では、すべてのTSAピクチャが0よりも大きい時間的識別子を有する。
[0075]STSAピクチャは、インター予測基準に関してSTSAピクチャと同じTemporalIdを有するピクチャを使用しない。復号順序でSTSAピクチャに後続し、STSAピクチャと同じ時間的識別子を有するピクチャは、インター予測基準に関して、復号順序でSTSAピクチャに先行し、STSAピクチャと同じ時間的識別子を有するピクチャは使用しない。STSAピクチャは、STSAピクチャにおいて、直下の副層から、STSAピクチャが入った副層へのアップスイッチングを可能にする。幾つかの例では、すべてのSTSAピクチャが0よりも大きい時間的識別子を有するる。従って、TSAピクチャとは対照的に、STSAピクチャは、より高い副層へのアップスイッチングは必ずしも可能にしない。むしろ、STSAピクチャは、STSAピクチャが入った副層へのアップスイッチングしか可能にすることができない。
[0076]HEVCは、パラメータセットの概念をH.264/AVCから継承する。しかしながら、HEVCは、H.264/AVCパラメータセットの幾つかの変更及び追加を提供する。HEVCにおいて提供されるH.264/AVCパラメータセットの変更及び追加は、3つのグループ、すなわち、(1)H.264/AVCと比較したときにHEVCの異なるコーディングツールによって必要にされる追加及び変更、(2)H.264/AVCに関する動作経験の結果生じる追加及び変更、及び(3)HEVCにおいて導入された映像パラメータセット(VPS)、に分類することができる。
[0077]上記のように、ピクチャは、複数のセグメント(例えば、スライス)に分割することができる。ピクチャを複数のセグメントに分割してそれらのセグメントをそれら自体の転送ユニットで転送することは、最大転送ユニット(MTU)サイズマッチングにとって望ましいことができる。スライスの各々は、転送ユニット(例えば、パケット)で転送することができる。幾つかの映像コーディング仕様では、ピクチャの第1の転送ユニットは、ピクチャの第1のセグメントに関するデータと、ピクチャに関するピクチャヘッダと、を含むことができる。ピクチャヘッダは、ピクチャのすべてのセグメントを復号するために要求されるため、ピクチャの第1の転送ユニットを失うことは、ピクチャのその他のセグメントが入った転送ユニットが失われない場合でも、映像復号器がピクチャのセグメント、そして時には後続するピクチャのセグメント、を正確に再構築するのを妨げることがある。さらに、ピクチャの第1のセグメントが入った転送ユニットは、ピクチャのグループ(GOP)ヘッダ及び/又はシーケンスヘッダを含むことができる。従って、ピクチャの第1のセグメントが入った転送ユニットの喪失は、映像復号器がGOP全体又はシーケンス全体を正確に復号するのを妨げることがある。従って、ピクチャが複数のセグメント(例えば、スライス)に分割され、それらのセグメントがそれら自体の転送ユニット(例えば、リアルタイムプロトコル(RTP)パケット)で転送される場合は、シーケンスヘッダ又はピクチャヘッダの喪失は、復号プロセスに対して有意な影響を有することがある。この問題に起因して、幾つかの復号器実装は、ピクチャのピクチャヘッダが入った転送ユニットが失われた場合はピクチャの受信された転送ユニットを復号することを試みない。
[0078]H.264/AVCではシーケンスヘッダ又はピクチャヘッダの喪失の影響に対応してパラメータセットが導入された。この脆弱性に対処するために、トランスポート層に基づくメカニズムが導入された。例えば、コメント要求(RFC)2429において規定された、H.263に関するRTPペイロードフォーマットは、符号器/パケッタイザ(packetizer)が選択するだけの数のパケットにおいてピクチャヘッダの冗長なコピーを搬送することを考慮している。H.264/AVCの設計中には、ピクチャヘッダの脆弱性は、転送問題であるというよりも映像コーデック自体のアーキテクチャ上の課題であると認識され、従って、その課題の1つの解決策としてパラメータセット概念が導入された。パラメータセットは、映像ビットストリームの一部であることができるか又はその他の手段(信頼できるアウトオブバウンド送信、映像符号器20及び映像復号器でのハードコーディング、等を含む)を通じて映像復号器によって受信することができる。
[0079]パラメータセットは、スライスのスライスヘッダから、直接又は間接的に、参照される識別を含むことができる。参照プロセスは、“アクティベーション”(activation)と呼ばれる。従って、映像復号器30が特定のスライスを復号中であるときには、特定のスライスのスライスヘッダ内の構文要素によって直接又は間接的に参照されるパラメータセットは、“アクティベート”(activate)されると言われる。パラメータセットのタイプに依存して、アクティベーションは、ピクチャごとに又はシーケンスごとに生じることができる。参照を通じてのアクティベーションの概念は、とりわけ、(映像コーデックのその他の構文要素に関して共通する)ビットストリーム内の情報の位置による暗黙のアクティベーションは、パラメータセットのアウトオブバウンド送信の場合は利用可能でないことが理由で導入された。
[0080]さらに、HEVCでは、複数の層及び副層に適用可能な情報を搬送するためにVPSが導入された。H.264/AVCのいずれのバージョンにも、VPSに匹敵するパラメータセットは含まれていない。H.264/AVCは、VPSに匹敵するパラメータセットを含んでいないため、能力交換及びセッション交渉、等の目的のための層化構造の複雑なモデル作製が要求されることがある。H.264/AVCのSVC拡張版では、スケーラビリティ情報SEIメッセージが、VPSとほぼ同じ内容を提供することができるが、SEIメッセージであるという性質上、同じ情報のほとんどがシーケンスパラメータセット(SPS)において繰り返される。幾つかの用途では、SPSをアウトオブバウンドで送信する必要もある。従って、H.264/AVCにおけるVPSの欠如は、アウトオブバウンド送信の信頼性を保証するために、特に再送信が関わるときに、初期遅延を増大させるおそれがある。パラメータセットのインバンド送信を伴うブロードキャスト及びマルチキャストの場合は、同じ情報を繰り返すことは、同調及びチャネル切り換えのために各ランダムアクセスポイントにおいてパラメータセットを繰り返す必要があるため、有意なオーバーヘッドである可能性がある。VPSは、これらの欠点に対処するために及び多層コーデックのクリーンで拡張可能な高レベルの設計を可能にするために導入された。
[0081]ビットストリームの映像シーケンスは、複数の層を有することができる。それらの層は、同じ又は異なるSPSと関連付けることができる。しかしながら、映像シーケンスの各層は、それらの層が同じSPS又は異なるSPSと関連付けられているかにかかわらず、同じVPSを参照することができる。VPSは、以下を含む情報を搬送することができる。
(1)複数の層又は動作ポイントによって共有される共通の構文要素。VPSにおいて複数の層又は動作ポイントによって共有される共通の構文要素を搬送することは、該構文要素の不必要な重複を回避することができる。
(2)セッション交渉に必要な動作ポイントの情報、例えば、プロフィール情報およびレベル情報。
(3)1つのSPSに属さないその他の動作ポイントごとの情報、例えば、層又は副層に関する仮説的基準復号器(HRD)パラメータ。
[0082]映像復号器30は、ビットストリームから情報(例えば、構文要素)を入手するためにビットストリームを構文解析することができる。幾つかの例では、各動作ポイントの情報を構文解析することは、映像復号器30がエントロピーコーディング(例えば、CABAC、コンテキスト適応型可変長コーディング(CAVLC)、Golombコーディング、等)を行うことを要求しない。従って、各動作ポイントの情報を構文解析することは、ほとんどのネットワーク要素にとって軽量であるとみなすことができる。
[0083]HEVCでは、パラメータセットの各タイプは、拡張メカニズムを含むことができる。パラメータセットの拡張メカニズムは、後方互換性を壊さずに及びVPS及び/又はSPSにおいて搬送されるプロフィール/レベル情報への構文解析上の依存性を生じさせずにパラメータセットをHEVCの将来のバージョン及び拡張版のために拡張するのを可能にすることができる。例えば、HEVCは、VPSに追加の構文要素を含めるためのHEVCの拡張版(例えば、SHEVC、MV−HEVC、3D−HEVC、等)を可能にするためのメカニズムを提供する。換言すると、HEVCは、HEVCの特定の拡張版専用の追加の構文要素が入ったVPS拡張版を考慮する。換言すると、HEVC拡張版において規定されるVPS拡張版は、基礎になるHEVC仕様に関して規定されたVPSにおける構文要素よりも多いそれらを入れることができる。VPS拡張版における構文要素は、効率的なパラメータシグナリング、柔軟で軽量なセッション交渉、高度なビットストリームの好適化(例えば、3D−HEVCにおけるビュー識別子に基づいたビットストリーム好適化)、等を提供することができる。
[0084]HEVCワーキングドラフト8によると、層に属するVPSとSPSとの間で情報が重複される。この重複は、HEVC仕様の最初のバージョンに準拠する映像復号器がVPS NALユニットを無視し、それでいてビットストリームを復号するために要求される全情報を利用可能であることを可能にする。
[0085]H.264/AVC及びHEVCでは、SPSは、CVSのすべてのスライスに適用される情報を入れることができる。HEVCでは、CVSは、瞬間的復号リフレッシュ(IDR)ピクチャ、又はブロークンリンクアクセス(BLA)ピクチャ、又はビットストリーム内の最初のピクチャであるクリーンランダムアクセス(CRA)ピクチャから開始することができ、IDRピクチャ又はBLAピクチャでないすべての後続するピクチャを含む。すなわち、HEVCでは、CVSは、復号順序で、ビットストリーム内の最初のアクセスユニットであるCRAアクセスユニット、IDRアクセスユニット又はBLAアクセスユニットから成ることができるアクセスユニットのシーケンスを備えることができ、後続するIDR又はBLAアクセスユニットまでの(これらのアクセスユニットは含まない)すべての後続するアクセスユニットを含むゼロ以上の非IDR及び非BLAアクセスユニットによって後続される。
[0086]ビットストリームは、1つ以上のCVSを備える(及び、1つ以上のCVSから成ることができる)。SPSの内容は、次の6つのカテゴリに分割することができる。
(1)自己参照(すなわち、SPSの識別子)
(2)復号器動作ポイント関連データ(例えば、プロフィールデータ、レベルデータ、ピクチャサイズデータ、副層数データ、等)
(3)プロフィール内で利用可能な特定のコーディングツールをイネーブルにするためのフラグ(又はその他の構文要素)、及び、特定のコーディングツールと関連付けられたコーディングツールパラメータ
(4)構造の柔軟性を制限する情報および変換係数コーディングの柔軟性を制限する情報
(5)(H.264/SVCと同様の)時間的スケーラビリティ制御
(6)ビジュアル使用可能性情報(VUI)、HRD情報を含む
[0087]HEVC PPSは、ピクチャごとに変わることができるデータを入れることができる。HEVC PPSは、H.264/AVC PPSに含まれるデータにほぼ匹敵するデータを含むことができる。例えば、HEVC PPS及びH.264/AVC PPSの両方とも次を含むことができる。
(1)自己参照(例えば、PPSの識別子)
(2)初期ピクチャ制御情報、例えば、初期量子化パラメータ(QP)、PPSを参照するスライスのスライスヘッダ内の幾つかのコーディングツールの使用又は存在を示すフラグの数
(3)タイリング(tiling)情報
[0088]HEVCでは、スライスヘッダは、スライスごとに変わることができるデータを入れることができる。さらに、スライスヘッダは、相対的に小さいか又は特定のスライスタイプ又は特定のピクチャタイプのみに該当するピクチャ関連データを入れることができる。スライスヘッダのサイズは、PPSのサイズよりも大きいことができ、特に、スライスヘッダがエントリポイントオフセットを含むとき又はウェーブフロントエントリポイントオフセット、基準ピクチャセット、予測重み、又は基準ピクチャリスト変更が明示でシグナリングされるときである。スライスに関するスライスヘッダのタイルエントリポイントオフセットは、スライスのスライスデータ内において、特定のタイルと関連付けられたデータの開始位置を示すことができる。概して、タイルは、1つのカラム及び1つのローにおいて同時に生じる整数のコーディングツリーブロックであり、タイルのコーディングツリーブロックラスタ走査において連続して順序が設定される。カラムは、ピクチャの最上部の境界から最下部の境界まで延びる垂直な境界によって互いに画定され、ピクチャ内の左から右に連続して順序が設定される。ローは、ピクチャの左境界から右境界まで延びる水平な境界によって互いに画定され、ピクチャ内の最上部から最下部まで連続して順序が設定される。カラムは、整数のコーディングツリーブロックであることができる。スライスに関するスライスヘッダのタイルエントリポイントオフセットは、スライスのスライスデータ内において、特定のウェーブフロント(wavefront)と関連付けられたデータの開始位置を示すことができる。タイル及びウェーブフロントは、本開示の別の場所において図4及び5に関してそれぞれ説明される。
[0089]HEVCにおけるパラメータセットのアクティベーションは、H.264/AVCにおけるパラメータセットのアクティベーションに類似する。HEVCでは、スライスヘッダにはPPSへの参照が入っている。PPSには、SPSへの参照が入っている。SPSには、VPSへの参照が入っている。パラメータセットに関する1つの共通する実装戦略は、所定のタイプ(例えば、PPS、SPS、及びVPS)のすべてのパラメータセットを、パラメータセット識別子の番号設定範囲によって間接的に最大サイズが指定されるテーブル内に保管することである。この実装戦略の下では、パラメータセットのアクティベーションは、スライスヘッダ内の情報に基づいてPPSテーブルにアクセスし、PPSテーブル内で見つけられた情報を該当する復号器データ構造内にコピーし、PPSにおける該当するSPSへの参照に従い、及びSPSにおける該当するVPSへの参照に従うのと同じくらい単純であることができる。これらの動作は、(最悪時のシナリオにおいて)ピクチャごとに1回だけ行う必要があるため、軽量であることができる。SPSは、バッファリング期間SEIメッセージにおいて参照されることによってアクティベートすることもできる。
[0090]同様に、パラメータセットNALユニットの取り扱いも、パラメータセットNALユニットのタイプにかかわらず、相対的に簡単であることができる。HEVCでは、パラメータセットNALユニットは、構文解析上の依存性を含まない。換言すると、パラメータセットNALユニットの構文要素は、その他のNALユニット内の構文要素を参照せずに入手することができる。パラメータセットNALユニットは構文解析上の依存性を含まないため、パラメータセットNALユニットは、内蔵型であり、構文解析のためにその他のNALユニットから導き出されたコンテキストを要求しない。パラメータセットNALユニットを独立して構文解析する能力を維持することは、数ビット余分に要するが、パラメータセットNALユニットを独立して構文解析する能力を維持することは、相対的に簡単な構文解析及びパラメータセットに関する各々のテーブルエントリ内でのパラメータセットの格納を可能にすることができる。
[0091]さらに、HEVCワーキングドラフト8は、アクティブなパラメータセットSEIメッセージの仕様を含む。アクティブなパラメータセットSEIメッセージは、アクティブなVPS及び/又はアクティブなSPSを示す構文要素を含むことができる。アクティブなパラメータセットSEIメッセージは、スライスヘッダ、PPS、SPS、及びVPSにおけるパラメータセット識別子に基づくパラメータセットに関するアクティベーションプロセスをオーバーライドすることができる。
[0092]映像処理デバイス(例えば、映像符号器20、MANE、等)は、2つ以上のビットストリームを接合することができる。ビットストリームの接合は、2つ以上のビットストリーム又はそれらの一部の連結を意味する。例えば、第1のビットストリームに第2のビットストリームを添付することができ、おそらく、接合されたビットストリームを生成するためにビットストリームのうちのいずれか1つ又は両方を変更することができる。この例では、第2のビットストリーム内の第1のコーディングされたピクチャを“接合ポイント”と呼ぶことができる。従って、接合されたビットストリーム内の接合ポイントの後に生じるピクチャは、第2のビットストリームからのものであり、接合されたビットストリーム内の接合ポイントに先行するピクチャは、第1のビットストリームからのものである。
[0093]ビットストリームスプライサ(splicer)は、ビットストリームの接合を行うことができる。幾つかの例では、ビットストリームスプライサは軽量であり、映像符号器より単純であることができる。例えば、ビットストリームスプライサは、エントロピー復号能力及びエントロピー符号化能力を装備することができない。
[0094]ビットストリーム切り換えは、映像編集及び適応型ストリーミング環境において使用することができる。切り換え先のビットストリーム内の特定のピクチャにおけるビットストリーム切り換え動作は、実効的には、接合ポイントがビットストリーム切り換えポイント、すなわち、切り換え先のビットストリームからの第1のピクチャ、であるビットストリーム接合動作であることができる。
[0095]エレメンタリストリームは、1つ以上のビットストリームのシーケンスを備えることができる。2つ以上のビットストリームを備えるエレメンタリストリームは、2つ以上のビットストリーム(又はそれらの一部)をまとめて接合することによって形成することができる。エレメンタリストリームに複数のビットストリームが入っている場合は、最後のビットストリームを除く各ビットストリームは、ビットストリーム終了(EOS)NALユニットとともに終了する。
[0096]HEVC及びその他の映像コーディング規格は、ビットストリーム内へのランダムアクセスを可能にするためのメカニズムを提供する。ランダムアクセスは、ビットストリーム内の最初のコーディングされたピクチャでないコーディングされたピクチャから始めてビットストリームを復号することを意味する。ビットストリームへのランダムアクセスは、様々な映像用途、例えば、放送及びストリーミング、において必要になることがある。ビットストリームへのランダムアクセスは、ユーザが何時でも番組に同調すること、異なるチャネル間で切り換えること、映像の特定部分に飛び越すこと、又は、ストリーム好適化(例えば、ビットレートの好適化、フレームレートの好適化、空間解像度の好適化、等)のために異なるビットストリームに切り換えることを可能にすることができる。ランダムアクセスピクチャ又はランダムアクセスポイントを定期的な間隔でビットストリーム内に挿入することは、ランダムアクセスを可能にすることができる。ランダムアクセスピクチャのタイプ例は、IDRピクチャと、CRAピクチャと、BLAピクチャと、を含む。従って、IDRピクチャ、CRAピクチャ、及びBLAピクチャは、総称してランダムアクセスポイント(RAP)ピクチャと呼ばれる。
[0097]IDRピクチャは、Iスライス(すなわち、イントラ予測のみが使用されるスライス)のみを含む。IDRピクチャは、復号順序でビットストリーム内の最初のピクチャであることができ、又はビットストリーム内においてのちに現れることができる。各IDRピクチャは、復号順序でCVSの最初のピクチャである。IDRピクチャは、HEVC及びH.264/AVCにおいて規定されるように、ランダムアクセスのために使用することができる。しかしながら、復号順序でIDRピクチャに続くピクチャは、IDRピクチャの前に復号されたピクチャを基準として使用することができない。従って、ランダムアクセスに関してIDRピクチャに依存するビットストリーム及び追加のタイプのランダムアクセスピクチャを使用するビットストリームは、コーディング効率を有意に低下させる可能性がある。IDRアクセスユニットは、IDRピクチャが入ったアクセスユニットである。
[0098]HEVCでは、復号順序でCRAピクチャに後続するが、出力順序ではそのCRAピクチャに先行するピクチャがCRAピクチャの前に復号されたピクチャを基準として使用するのを許容するためにCRAピクチャの概念が導入された。復号順序でCRAピクチャに後続するが、出力順序ではそのCRAピクチャに先行するピクチャは、CRAピクチャと関連付けられたリーディングピクチャ(又はCRAピクチャのリーディングピクチャ)と呼ばれる。すなわち、HEVCでは、コーディング効率を向上させるために、復号順序でCRAピクチャに後続するが、出力順序ではそのCRAピクチャに先行するピクチャがCRAピクチャの前に復号されたピクチャを基準として使用するのを許容するためにCRAピクチャの概念が導入された。CRAアクセスユニットは、コーディングされたピクチャがCRAピクチャであるアクセスユニットである。
[0099]CRAピクチャのリーディングピクチャは、復号順序でCRAピクチャの前に生じるIDRピクチャ又はCRAピクチャから復号が開始する場合に正確に復号することが可能である。しかしながら、CRAピクチャのリーディングピクチャは、CRAピクチャからのランダムアクセスが生じたときには復号することができない。従って、映像復号器は、典型的には、ランダムアクセス復号中にCRAピクチャのリーディングピクチャを復号する。どこから復号が開始するかに依存して利用可能でない基準ピクチャからの誤り伝播を防止するために、復号順序及び出力順序の両方においてCRAピクチャに後続するピクチャは、復号順序又は出力順序のいずれかにおいてCRAピクチャに先行するピクチャ(リーディングピクチャを含む)を基準として使用することができない。
[0100]HEVCでは、CRAピクチャの導入後にブロークンリンクアクセス(BLA)ピクチャの概念が導入され、CRAピクチャの概念に基づいている。BLAピクチャは、典型的には、CRAピクチャの位置でのビットストリーム接合から生じ、接合されたビットストリームでは、接合ポイントCRAピクチャはBLAピクチャに変更される。RAPピクチャが入ったアクセスユニットは、ここでは、RAPアクセスユニットと呼ぶことができる。BLAアクセスユニットは、BLAピクチャが入ったアクセスユニットである。
[0101]BLAピクチャとCRAピクチャとの間の1つの相違点は次の通りである。CRAピクチャに関しては、関連付けられたリーディングピクチャは、復号順序でCRAピクチャの前のRAPピクチャから復号が開始する場合に正確に復号することができる。しかしながら、CRAピクチャと関連付けられたリーディングピクチャは、CRAピクチャからのランダムアクセスが生じたとき(すなわち、CRAピクチャから復号が開始したとき、換言すると、CRAピクチャがビットストリーム内の最初のピクチャであるとき)には正確に復号することができない。対照的に、復号順序でBLAピクチャの前のRAPピクチャから復号が開始するときでさえも、BLAピクチャと関連付けられたリーディングピクチャが復号可能であるシナリオは存在しない。
[0102]特定のCRAピクチャ又は特定のBLAピクチャと関連付けられたリーディングピクチャの一部は、その特定のCRAピクチャ又はその特定のBLAピクチャがビットストリーム内の最初ピクチャであるときでさえも正確に復号することができる。これらのリーディングピクチャは、復号可能リーディングピクチャ(DLP)と呼ぶことができる。その他のリーディングピクチャは、復号不能リーディングピクチャ(NLP)と呼ぶことができる。HEVCワーキングドラフト8は、NLPを廃棄タグ付き(TFD)ピクセルとも呼んでいる。
[0103]特定のファイル形式に準拠するファイル内に1つ以上のHEVCビットストリームを格納することができる。幾つかの例では、映像データビットストリーム(例えば、HEVCビットストリーム)は、ISO基本メディアファイル形式(ISOBMFF)に準拠するファイルに格納することができる。ISOBMFFは、ISO/IEC 14496−12と呼ぶこともできる。映像データビットストリームを格納するためのその他のファイル形式例は、ISOBMFFから導き出されたファイル形式を含み、MPEG−4ファイル形式(ISO/IEC 14496−14)と、第3世代パートナーシッププロジェクト(3GPP)ファイル形式(3GPP TS 26.244)と、AVCファイル形式(ISO/IEC 14496−15)と、を含む。HEVC映像内容を格納するためのAVCファイル形式の修正版が現在MPEGによって開発中である。このAVCファイル形式修正版は、HEVCファイル形式と呼ぶことができる。
[0104]HEVCファイル形式に準拠するファイルは、複数のトラックを含むことができる。各トラックは、関連するサンプルのタイミングが計られたシーケンスであることができる。HEVCファイル形式に関しては、“サンプル”は、単一のタイムスタンプと関連付けられたデータを備えることができる。サンプルの例は、映像の個々のフレーム、復号順序で一連の映像フレーム、又は復号順序で音声の圧縮部、を含む。HEVCファイル形式では、各トラックは、複数の“ボックス”を備えることができる。“ボックス”は、一意のタイプ識別子及び長さによって定義されたオブジェクト指向のビルディングブロックである。
[0105]3GPPマルチメディアサービスは、HTTPを通じての3GPPダイナミック適応型ストリーミング(3GP−DASH、3GPP TS26.247)と、パケット交換ストリーミング(PSS、3GPP TS26.234)と、マルチメディアブロードキャスト及びマルチキャストサービス(MBMS、3GPP TS26.346)と、IMSを通じてのマルチメディア電話サービス(MTS1、3GPP TS26.114)と、を含む。MPEGは、HTTPを通じてのダイナミック適応型ストリーミング(DASH)規格(ISO/IEC IS23009−1)も規定している。リアルタイムプロトコル(RTP)ペイロード形式は、RFC6184におけるH.264ペイロード形式、RFC6190におけるSVCペイロード形式、及び数多くのその他を含む。現在では、HEVC RTPペイロード形式がインターネットエンジニアリングタスクフォース(IETF)によって開発中である。
[0106]DASHは、符号化されたメディアコンテンツの複数の表現が存在するが、各表現は、異なるビットレートを有しており、帯域幅好適化を考慮しているネットワークストリーミングを対象とする。帯域幅が増大するのに従い、クライアントは、より高い帯域幅の表現からデータを取り出すことができ、帯域幅が縮小するときには、クライアントは、より低い帯域幅の表現からデータを取り出すことができる。DASHメディアプレゼンテーション記述(MPD)は、何の表現が利用可能であるか、及びそれらのビットレートを記述する文書(例えば、XML形式化文書)である。DASH MPDは、“マニフェストファイル”と呼ぶこともできる。クライアントは、特定の時間におけるネットワーク帯域幅の決定された量を考慮して、表現を選択するためにDASH MPDを使用することができる。
[0107]DASHでは、メディアプレゼンテーション(presentation)は、1つ以上の期間のシーケンスを入れることができる。期間は、MPD内のPeirod要素によって定義することができる。各期間は、同じメディアコンテンツに関する1つ以上の表現を入れることができる。表現は、音声データ又は映像データの幾つかの代替の符号化されたバージョンのうちの1つであることができる。表現は、符号化タイプ別に、例えば、ビットレート、解像度、及び/又は映像データ及びビットレートに関するコーデック、言語、及び/又は音声データに関するコーデック別に、異なることができる。用語表現は、符号化された音声及び映像データのうちでマルチメディアコンテンツの特定の期間に対応し、特定の方法で符号化された部分を意味するために使用することができる。
[0108]DASHの使用は、クライアントデバイスがソースデバイスとクライアントデバイスとの間のネットワーク経路に沿って生じる可能性がある利用可能な帯域幅の変動に合わせて好適化するのを可能にすることができる。特に、コンテンツ制作者は、各々が同じ特徴を有するが、異なるビットレートでコーディングされる表現の組をしばしば制作する。表現の該組は、“好適化セット”と呼ぶことができる。マニフェストファイル、例えば、MPD、は、表現のためのビットレートを含む好適化セットの表現の特徴を記述し、及び、表現のデータを取り出すための情報、例えば、表現のセグメント(例えば、個々のファイル)に関するユニフォームリソースロケータ(URL)、を提供することもできる。
[0109]HEVC及びその他の映像コーディング規格は、プロフィール、タイア(tier)、及びレベルを規定する。プロフィール、タイア、及びレベルは、ビットストリームに関する制限、従って、ビットストリームを復号するために必要な能力の限度、を規定する。プロフィール、タイア、及びレベルは、個々の復号器実装間の相互運用性ポイントを示すために使用することもできる。各プロフィールは、そのプロフィールに準拠するすべての映像復号器によってサポートされるアルゴリズム上の特徴及び限度のサブセットを規定する。映像符号器は、プロフィール内でサポートされるすべての特徴を利用する必要がない。タイアの各レベルは、構文要素が有することができる値に関する一組の限度を規定することができる。タイア及びレベルの定義の同じ組をすべてのプロフィールとともに使用することができるが、個々の実装は、異なるタイア及びタイア内において各サポートされるプロフィールに関する異なるレベルをサポートすることができる。所定のプロフィールに関して、タイアのレベルは、概して、特定の復号器処理負荷及びメモリ能力に対応することができる。映像復号器の能力は、特定のプロフィール、タイア、及びレベルの制約事項に準拠する映像ストリームを復号する能力に関して規定することができる。各々の該プロフィールに関して、そのプロフィールに関してサポートされるタイア、及びレベルも表すことができる。幾つかの映像復号器は、特定のプロフィール、タイア、又はレベルを復号することができない。
[0110]HEVCでは、プロフィール、タイア、及びレベルは、構文構造profile_tier_level( )構文構造によってシグナリングすることができる。profile_tier_level( )構文構造は、VPS及び/又はSPSに含めることができる。profile_tier_level( )構文構造は、VPS及び/又はSPS内に含めることができる。
profile_tier_level( )構文構造は、general_profile_idc構文要素と、general_tier_flag構文要素と、general_level_idc構文要素と、を含むことができる。general_profile_idc構文要素は、CVSが準拠するプロフィールを示すことができる。general_tier_flag構文要素は、general_level_idc構文要素の解釈ためのタイアコンテキストを示すことができる。general_level_idc構文要素は、CVSが準拠するレベルを示すことができる。これらの構文要素に関するその他の値は、予約することができる。
[0111]映像復号器の能力は、プロフィール、タイア、及びレベルの制約事項に準拠する映像ストリームを復号する能力に関して規定することができる。各々の該プロフィールに関して、そのプロフィールに関してサポートされるタイア、及びレベルも表すことができる。幾つかの例では、映像復号器は、HEVCにおいて規定される値間のgeneral_profile_idc構文要素の予約値が規定されたプロフィール間の中間的能力を示すとは推論しない。しかしながら、映像復号器は、HEVCにおいて規定される値間のgeneral_tier_flag構文要素の特定の値と関連付けられたgeneral_level_idc構文要素の予約値がタイアの規定されたレベル間の中間的能力を示すと推論することができる。
[0112]ビットストリームは、(追加の制限事項、例えば、0乃至31の範囲内におけるiに関してgeneral_profile_compatibility_flag[i]においてシグナリングされる、及びHEVCにおいて規定されるgeneral_reserved_zero_16bitsを有する)異なるプロフィールである複数のCVSを入れることができる。従って、あるビットストリームを考慮した場合、第1のCVSに関するアクティブなSPSにおいて含まれるプロフィール情報を単に検査するだけでは、特定のプロフィールに準拠する映像復号器がビットストリーム全体を復号することができるかどうかを知る上では十分でない。映像復号器がビットストリーム全体を確実に復号することができるようにするためには、映像復号器は、すべてのCVSが同じプロフィールに準拠するかどうかをわかるためにビットストリーム内のすべてのCVSを検査することができる。該検査は単純ではない。なぜならば、映像復号器は、すべてのアクティブなSPSを決定するためにビットストリーム内の実質上すべてのNALユニットを検査する必要があるためである。すべてのアクティブなSPSを決定することは、SPS NALユニット、EOS NALユニット、RAPピクチャのNALユニット、及びSEI NALユニットを決定することと、いずれのSPSがCVSに関してアクティブであるかを決定するためにバッファリング期間SEIメッセージ及び/又はRAPピクチャのNALユニットのスライスヘッダ内を構文解析することと、を含むことができる。
[0113]ビットストリーム内の実質上すべてのNALユニットを構文解析し及び検査することなしにビットストリームのプロパティを決定することができない状況は、その他のタイプのビットストリームレベル情報(すなわち、ビットストリームプロパティ)に関しても生じることがある。しかしながら、次のビットストリームプロパティの一部を決定することに関わる複雑さのレベルは、ビットストリーム内の実質上すべてのNALユニットの構文解析及び検査を必ずしも要求しないことが評価されるべきである。
1) タイア及びレベルがビットストリーム内のすべてのCVSに関して不変であるかどうか。
2) ビットストリーム内のすべてのCVSが同じ空間解像度を有するかどうか。
3) ビットストリーム内のすべてのCVSが同じ(最大の)数の時間的副層を有するかどうか。
4) ビットストリーム内のすべてのCVSが同じ(最大の)数の層(すなわち、VCL NALユニットに関するnuh_reserved_zero_6bitsに関する値の数)を有するかどうかであり、はいである場合は、ビットストリーム内のすべてのCVSにおいて、すべての層が層識別子の同じ組(すなわち、nuh_reserved_zero_6bits値の同じ組)を有するかどうか。
5) ビットストリーム内のすべてのCVSが動作ポイントの同じ組をサポートするかどうか。
6) ビットストリーム内のすべてのCVSが同じ(最大の)ピクチャレートを有するかどうか。
7) ビットストリーム内のすべてのCVSが同じ最大のビットレートを有するかどうか。
8) ビットストリーム内のすべてのCVSが同じカラーフォーマットを有するかどうか。
9) ビットストリーム内のすべてのCVSが同じサンプルアスペクト比を有するかどうか。
10)ビットストリーム内のすべてのCVSがルマ及びクロマに関してビット深度の同じ組を有するかどうか。サンプル値(例えば、ルマサンプル又はクロマサンプル)に関するビット深度は、そのサンプル値を表現するためにどけだけの数のビットが使用されるかを示すことができる。
11)ビットストリーム内の少なくとも1つのパラメータセットが更新されるかどうか。換言すると、VPS、SPS又はPPSの内容は変わるが、同じVPS識別子、SPS識別子、又はPPS識別子が使用されるかどうか。換言すると、ビットストリーム内において少なくとも1つのVPSが更新されるかどうか、ビットストリーム内において少なくとも1つのSPSが更新されるかどうか、及び、ビットストリーム内において少なくとも1つのPPSが更新されるかどうか。
12)すべてのパラメータセットがビットストリームの初め(すなわち、ビットストリーム内の最初のアクセスユニット内)に存在するかどうか。その条件が真である場合は、例えば、誤りに対する弾力性を目的として、その他のアクセスユニット内で繰り返されるパラメータセットが存在している。しかしながら、繰り返されたパラメータセット間ではパラメータセットの更新が行われない。換言すると、ビットストリームの初めにすべてのVPSが存在しているかどうか、ビットストリームの初めにすべてのSPSが存在しているかどうか、及び、ビットストリームの初めにすべてのPPSが存在しているかどうか。
13)ビットストリーム内でのパラメータセットの存在がフルランダムアクセス性を可能にするかどうか。すなわち、RAPアクセスユニットの前のすべてのアクセスユニットを廃棄することによって各RAPアクセスユニットの位置においてランダムアクセスを行うこと及びRAPピクチャ及び復号順序ですべての後続する非TFDピクチャを正確に復号することが可能であるかどうか。これは、いずれかのRAPアクセスユニットにおいて上記のランダムアクセスが行われたときで、パラメータセットをアクティベーションする必要があるときにビットストリームにおいて各パラメータセットが利用可能であることを要求することがある。
14)ビットストリーム内のすべてのCVSにフレームピクチャにおいてコーディングされたプログレッシブフレームのみが入っているかどうか、すなわち、走査タイプがインターレースではなくプログレッシブである、及びフィールドピクチャが存在しない。
15)ビットストリーム内のどのCVSにもフレームパッキングアレンジメントSEIメッセージが入っているかどうか。換言すると、ビットストリーム内の各CVSによって表現される映像セグメントがフレームパッキングされているかどうか。フレームパッキングアレンジメントSEIメッセージは、SEIメッセージと関連付けられたピクチャが異なるビューを表現する2つのピクチャをパッキングすることによって成るフレームであるかどうかを示し、そうである場合は、どのようにしてパッキングが行われたか。
16)ビットストリームのすべてのCVSに関してタイルがイネーブルにされているかどうか及び/又はビットストリームのすべてのCVS内のすべてのピクチャが同じタイルコンフィギュレーションを有するかどうか。
17)ビットストリーム内のすべてのCVSが同じコーディングツリーブロックサイズ及び同じ最小コーディングブロックサイズを有するかどうか。
18)ビットストリーム内のすべてのCVSがシーケンスレベルHRDパラメータの同じ組(又はその一部)(例えば、HEVCにおいて規定されるようにhrd_parameters( )構文構造においてシグナリング)及び/又は復号されたピクチャバッファサイズの同じ組(例えば、HEVCにおいて規定されるようにvps_max_dec_pic_buffering[i]構文要素によってシグナリング)を有するかどうか。
19)ビットストリーム内のすべてのCVSが特定のコーディングツールを利用するかどうか。例えば、ビットストリームのすべてのCVSが従属的スライス(dependent_slices_enabled_flag構文要素が1に等しいときにサポートされる)、ウェーブフロント並列処理(entropy_coding_sync_enabled_flag構文要素が1に等しいときにサポート)、重み付き予測、等を利用するかどうか。
20)ビットストリーム内のすべてのCVSがSOP記述SEIメッセージによって記述されるピクチャの同じ構造(SOP)を有するかどうか。SOP記述SEIメッセージは、基準ピクチャセット(RPS)を通じてビットストリームの構造を記述する。SOP記述SEIメッセージの設計は、時間的及びインター予測構造に関する知識が役立つ幾つかの使用事例に対処することができる。例えば、ゲートウェイは、転送されたビットストリームの復号に影響を与えずにドロップすることができる相互関連ピクチャの組を決定するためにビットレート好適化においてSOP情報を使用することができる。該ビットストリームトリミングは、TemporalIdに基づくサブビットストリームの抽出よりも微細な粒度(granularity)を有することができ、従って、微妙な一時的なビットレート好適化により適することができる。SOP記述SEIメッセージは、SOPの第1のアクセスユニット内に常駐する。SOP記述SEIメッセージは、SOP内の各ピクチャに関して次の情報、すなわち、ピクチャが基準ピクチャであるか又は非基準ピクチャであるかの表示、ピクチャのTemporalId値、ピクチャによって使用される短期的RPSインデックス、及びSOPの第1のピクチャに関するピクチャオーダーカウント、を提供する。これらの情報は、SOPの時間的構造及びンター予測階層を包括的に表現する。
21)ビットストリーム内のすべてのCVS内のTFDピクチャを復号して受け入れ可能な品質で出力することができるかどうか。
22)ビットストリームが復号されるときにアクティベートされるVPSは1つだけであるかどうか。ビットストリームが復号されるときにアクティベートされるVPSは1つだけである場合は、VPSのVPS識別子。
23)ビットストリームが復号されるときにアクティベートされるSPSは1つだけであるかどうか。ビットストリームが復号されるときにアクティベートされるSPSは1つだけである場合は、SPSのSPS識別子。
24)ビットストリームが復号されるときにアクティベートされるPPSは1つだけであるかどうか。ビットストリームが復号されるときにアクティベートされるPPSは1つだけである場合は、PPSのPPS識別子。
25)次のうちの1つ以上及びそれらの組み合わせ
a.ビットストリーム内のすべてのRAPピクチャがIDRピクチャであるかどうか。
b.ビットストリーム内のすべてのRAPピクチャがIDRピクチャであるわけではないかどうか。
c.IDRピクチャであるRAPピクチャがビットストリーム内に存在するかどうか。
d.非IDR RAPピクチャがビットストリーム内に存在するかどうか。
e.ビットストリーム内のすべてのRAPピクチャがCRAピクチャであるかどうか。
f.ビットストリーム内のすべてのRAPピクチャがCRAピクチャであるわけではないかどうか。
g.CRAピクチャであるRAPピクチャがビットストリーム内に存在するかどうか。
h.非CRA RAPピクチャがビットストリーム内に存在するかどうか。
i.ビットストリーム内のすべてのRAPピクチャがBLAピクチャであるかどうか。
j.ビットストリーム内のすべてのRAPピクチャがBLAピクチャであるわけではないかどうか。
k.BLAピクチャであるRAPピクチャがビットストリーム内に存在するかどうか。
l.非BLA RAPピクチャがビットストリーム内に存在するかどうか。
m.ビットストリーム内にDLPピクチャが存在するかどうか。
n.ビットストリーム内にTFDピクチャが存在するかどうか。
o.ビットストリーム内にTSAピクチャが存在するかどうか。
p.ビットストリーム内にSTSAピクチャが存在するかどうか。
26)sps_temporal_id_nesting_flag構文要素の値が、ビットストリーム(又はエレメンタリストリーム)が復号されるときにアクティベートされるすべてのSPSに関して同一であるかどうか。
27)vps_temporal_id_nesting_flag構文要素の値が、ビットストリーム(又はエレメンタリストリーム)が復号されるときにアクティベートされるすべてのVPSに関して同一であるかどうか。
[0114]さらに、ビットストリームプロパティを決定するためにビットストリームの実質上すべてのNALユニットを構文解析する状況は、幾つかのより詳細なタイプのビットストリームレベル情報、例えば、次のプロパティ、に対して適用可能である。
1) ビットストリーム内のプロフィールの組(追加の制限事項、例えば、0乃至31の範囲内におけるiに関してgeneral_profile_compatibility_flag[i]においてシグナリングされる、及びHEVCにおいて規定されるgeneral_reserved_zero_16bitsを有する)。代替として、ビットストリーム内のプロフィールの最大の組(すなわち、ビットストリーム内のCVSは、組内に含まれていないプロフィールには準拠しないものとする)。
2) ビットストリーム内のタイア及びレベルの(最大の)組。これは、最高のタイアとして、及び各タイアに関する最高のレベルとしてシグナリングすることができる。
3) ビットストリーム内の空間解像度の(最大の)組。
4) ビットストリーム内の時間的副層の(最大)数の(最大の)組。
5) ビットストリーム内の層の(最大)数(すなわち、VCL NALユニットに関するnuh_reserved_zero_6bitsに関する値の数)の(最大の)組及び層ID(すなわち、nuh_reserved_zero_6bits値)の(最大の)組。
6) ビットストリーム内の動作ポイントの(最大の)組。
7) ビットストリーム内の(最大の)フレームレートの(最大の)組。
8) ビットストリーム内の最大のビットレートの(最大の)組。
9) ビットストリーム内のカラーフォーマットの(最大の)組。
10)ビットストリーム内のサンプルアスペクト比の(最大の)組。
11)ビットストリーム内のルマビット深度及びクロマビット深度の(最大の)組。
12)ビットストリーム内のフレームパッキングタイプの(最大の)組。
13)ビットストリーム内のタイルの(最大)数。
14)ビットストリーム内のコーディングツリーブロックサイズ及び最小のコーディングツリーブロックサイズの(最大の)組。
上記のリストにおいて、文中の括弧内の単語“最大”は、単語“最大”を任意選択で文中に含めることができることを示す。例えば、文“ビットストリーム内のタイルの(最大)数”は、“ビットストリーム内のタイルの数”又は“ビットストリーム内のタイルの最大数”であると読むことができる。
[0115]エレメンタリストリームは、複数のビットストリームを入れることができ、従って、複数のCVSも入れることができる。エレメンタリストリーム内のCVSは、異なるプロフィールを有することもできる。従って、エレメンタリストリームに関しては、ビットストリームのプロパティを決定するためにビットストリームの実質上すべてのNALユニットを構文解析し及び検査する必要があるという問題が生じるおそれがある。従って、エレメンタリストリームのプロパティ(すなわち、エレメンタリストリームプロパティ)を決定するためにエレメンタリストリームの実質上すべてのNALユニットを構文解析し及び検査することが必要になることがある。該エレメンタリストリームプロパティは、上記のビットストリームプロパティのうちの1つ又はすべてを含むことができ、ただし、この場合、用語“ビットストリーム”を用語“”エレメンタリストリームに入れ替えること。
[0116]本開示の技法は、上記の課題のうちの1つ以上に対処することができる。例えば、映像符号器20は、ビットストリームにおいて、ビットストリームのビットストリームプロパティをシグナリングすることができる。ビットストリームのビットストリームプロパティは、ビットストリーム全体に適用することができる。ビットストリームのビットストリームプロパティは、上記のビットストリームプロパティのうちの1つ以上を規定することができる。幾つかの技法では、ビットストリームプロパティSEIメッセージは、ビットストリームレベルプロパティをシグナリングするように定義される。ビットストリームプロパティSEIメッセージは、SEIメッセージが入っているビットストリーム全体に関する情報を提供する。換言すると、ビットストリームプロパティSEIメッセージは、SEIメッセージが入っているビットストリーム全体に関する情報を提供することができる。
[0117]例えば、映像符号器20は、複数のCVSを備えるビットストリームのプロパティをシグナリングすることができる。この例では、プロパティが特定の値を有するときには、ビットストリームのすべてのCVSが同じプロフィールに準拠する。例えば、プロパティは、特定の構文要素であることができる。この例では、映像符号器20は、ビットストリームにおいて、特定の構文要素が入っているSEIメッセージをシグナリングすることができる。特定の構文要素が特定の値を有するときには、ビットストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィールインジケータ構文要素は、同一の値を有する。この例では、一般的プロフィールインジケータ構文要素の各々は、CVSが準拠するプロフィールを示す。
[0118]同様の例において、映像復号器30(又は他の映像処理デバイス)は、映像データの符号化された表現を備えるビットストリームのシグナリングされたプロパティに基づいて、映像復号器30がビットストリームを復号することができるかどうかを決定することができる。この例では、ビットストリームは、複数のCVSを備え、シグナリングされたプロパティが特定の値を有するときには、ビットストリームのすべてのCVSが同じプロフィールに準拠する。さらに、この例では、映像復号器30(又は他の映像処理デバイス)は、その決定に基づいて、ビットストリームを処理する(例えば、復号する)ことができる。例えば、映像復号器30(又は他の映像処理デバイス)は、映像データの符号化された表現を備えるビットストリーム内のSEIメッセージ内の特定の構文要素に基づいて、映像復号器30がビットストリームを復号することができるかどうかを決定することができる。特定の構文要素が特定の値を有するときには、ビットストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィールインジケータ構文要素は、同一の値を有する。一般的プロフィールインジケータ構文要素の各々は、CVSが準拠するプロフィールを示す。この例では、映像復号器30は、その決定に基づいて、ビットストリームを復号することができる。
[0119]さらに、映像符号器20は、エレメンタリストリームにおいて、そのエレメンタリストリームのビットストリームプロパティをシグナリングすることができる。エレメンタリストリームのビットストリームプロパティは、エレメンタリストリーム全体に適用することができる。エレメンタリストリームのエレメンタリストリームプロパティは、上記のエレメンタリストリームプロパティのうちの1つ以上を指定することができる。幾つかの例では、エレメンタリストリームプロパティ(ESP)SEIメッセージは、エレメンタリストリームレベルプロパティをシグナリングするように定義される。例えば、映像符号器20は、エレメンタリストリームプロパティを指定する構文要素が入っているESP SEIメッセージを生成することができる。ESP SEIメッセージは、SEIメッセージが入っているエレメンタリストリーム全体に関する情報を提供することができる。
[0120]例えば、映像符号器20は、エレメンタリストリームにおいて、特定の構文要素が入っているSEIメッセージをシグナリングすることができる。特定の構文要素が特定の値を有するときには、エレメンタリストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィールインジケータ構文要素は、同一の値を有する。この例では、一般的プロフィールインジケータ構文要素の各々は、CVSが準拠するプロフィールを示す。
[0121]同様の例において、映像復号器30は、映像データの符号化された表現を備えるエレメンタリストリーム内のSEIメッセージ内の特定の構文要素に基づいて、映像復号器30がエレメンタリストリームを復号することができるかどうかを決定することができる。特定の構文要素が特定の値を有するときには、ビットストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィールインジケータ構文要素は、同一の値を有する。一般的プロフィールインジケータ構文要素の各々は、CVSが準拠するプロフィールを示すことができる。この例では、映像復号器30は、その決定に基づいて、エレメンタリストリームを復号することができる。
[0122]幾つかの例では、ビットストリームの1つ以上のビットストリームプロパティをISO基本メディアファイル形式でシグナリングすることができる。例えば、ISO基本メディアファイル形式のHEVC映像トラックにおけるサンプルエントリにおいて1つ以上のビットストリームプロパティをシグナリングすることができる。従って、ビットストリームのプロパティ(例えば、ビットストリームのすべてのCVSが同じプロフィールに準拠するかどうかを示すプロパティ)は、ISO基本メディアファイル形式ファイルにおいて(例えば、ISO基本メディアファイル形式ファイルのHEVC映像トラックにおいて)シグナリングすることができる。同様に、幾つかの例では、1つ以上のエレメンタリストリームプロパティをISO基本メディアファイルレベルでシグナリングすることができる。例えば、トラックヘッダボックス、メディア情報ボックス、映像メディアヘッダボックス、又はHEVC映像トラックの他のボックスに入っている新しいボックス(例えば、エレメンタリストリームプロパティボックス)において1つ以上のエレメンタリストリームプロパティをシグナリングすることができる。
[0123]幾つかの例では、1つ以上のビットストリームプロパティをDASH MPD内の要素又は属性においてシグナリングすることができる。従って、ビットストリームのプロパティ(例えば、そのビットストリームのすべてのCVSが同じプロフィールに準拠するかどうかを示すプロパティ)をDASH MPDにおいてシグナリングすることができる。ビットストリームプロパティのうちの1つ以上がDASH MPD内の要素又は属性においてシグナリングされる例では、それらの1つ以上のビットストリームプロパティは、期間レベル、好適化セットレベル、表現レベル又はサブ表現レベルでシグナリングすることができる。同様に、エレメンタリストリームのうちの1つ以上を、DASH MPD内の要素又は属性においてシグナリングすることができる。エレメンタリストリームのうちの1つ以上がDASH MPD内の要素又は属性においてシグナリングされる幾つかの例では、それらの1つ以上のビットストリームプロパティは、期間レベル、好適化セットレベル、表現レベル又はサブ表現レベルでシグナリングすることができる。
[0124]本開示の幾つかの技法例により、エレメンタリストリームプロパティのうちの1つ以上をセッション記述プロトコル(SDP)ファイルにおいてシグナリングすることができる。従って、ビットストリームのプロパティ(例えば、ビットストリームのすべてのCVSが同じプロフィールに準拠するかどうかを示すプロパティ)は、SPDにおいてシグナリングすることができる。SDPは、ストリーミングメディア初期化パラメータを記述するための形式である。幾つかの例では、エレメンタリストリームのうちの1つ以上を、SDPファイル内の様々なメディアレベルSDP属性においてシグナリングすることができる。例えば、エレメンタリストリーム内のプロフィール、タイア、及びレベルの(最大の)組を表現するために1つ以上のメディアレベルSPD属性においてシグナリングすることができる。HEVC RTPペイロードフォーマットでは、任意選択のペイロードタイプパラメータを定義することができ、それは、複数のプロフィールを入れることができる。幾つかの例では、プロフィールは、コンマで分離することができる。パラメータは、エレメンタリストリームのプロパティ又は受信機実装の能力をシグナリングするために使用することができる。該ペイロードタイプパラメータは、SDPファイル内のSDP属性に含めることができる。SDPオファーは、複数のプロフィールを入れることができる該SDP属性を含むことができる。アンサラー(answerer)は、オファーされたプロフィールのうちの1つ以上を選択することができる。
[0125]さらに、本開示の1つ以上の技法例により、ビットストリームプロパティ又はエレメンタリストリームプロパティは、RFC 6381において定義されるコーデックパラメータにおいてシグナリングすることができる。例えば、ビットストリーム又はエレメンタリストリームのプロフィール、タイア及びレベルの(最大の)組を表現するためにコーデックパラメータでは複数のプロフィール及び/又はタイア及びレベルをシグナリングすることができる。
[0126]図2は、本開示の技法を実装することができる映像符号器例20を示したブロック図である。図2は、説明を目的として提供されるものであり、本開示において広範囲にわたって例証及び説明される技法を限定するものであるとみなされるべきではない。説明の目的上、本開示は、HEVCコーディングに関して映像符号器20について説明する。しかしながら、本開示の技法は、その他のコーディング規格又は方法に対して適用可能である。
[0127]図2の例では、映像符号器20は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、再構築ユニット112と、フィルタユニット114と、復号ピクチャバッファ116と、エントロピー符号化ユニット118と、を含む。予測処理ユニット100は、インター予測処理ユニット120と、イントラ予測処理ユニット126と、を含む。インター予測処理ユニット120は、動き推定ユニット122と、動き補償ユニット124と、を含む。その他の例では、映像符号器20は、これよりも多くの、より少ない、又は異なる機能上のコンポーネントを含むことができる。
[0128]映像符号器20は、映像データを受信することができる。映像符号器20は、映像データのピクチャのスライスにおいて各CTUを符号化することができる。映像符号器20は、CUの符号化された表現(すなわち、コーディングされたCU)を生成するためにCTUの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サイズに関する非対称的な分割をサポートすることもできる。
[0129]インター予測処理ユニット120は、CUの各PUに関するインター予測を行うことによってPUに関する予測データを生成することができる。PUに関する予測データは、PUの予測ブロックと、PUに関する動き情報と、を含むことができる。インター予測処理ユニット120は、PUがIスライス内、Pスライス内、又はBスライス内のいずれにあるかに依存してCUのPUに関して異なる動作を行うことができる。Iスライス内では、すべてのPUがイントラ予測される。従って、PUがIスライス内にある場合は、インター予測処理ユニット120は、PUに関するインター予測は行わない。
[0130]PUがPスライス内にある場合は、動き推定ユニット122は、PUに関する基準領域に関して基準ピクチャのリスト(例えば、“RefPicList0”)内の基準ピクチャを探索することができる。PUに関する基準領域は、基準ピクチャ内において、PUの予測ブロックに最も密接に対応するサンプルが入っている領域である。動き推定ユニット122は、基準ピクチャのRefPicList0においてPUに関する基準領域が入っている位置を示す基準を生成することができる。さらに、動き推定ユニット122は、PUのコーディングブロックと基準領域と関連付けられた基準位置との間の空間的変位を示す動きベクトルを生成することができる。例えば、動きベクトルは、現在のピクチャにおける座標から基準ピクチャにおける座標へのオフセットを提供する二次元ベクトルであることができる。動き推定ユニット122は、基準インデックス及び動きベクトルをPUの動き情報として出力することができる。動き補償ユニット124は、PUの動きベクトルによって示される基準位置における実際の又は内挿されたサンプルに基づいてPUの予測ブロックを生成することができる。
[0131]PUがBスライス内にある場合は、動き推定ユニット122は、PUに関する単一方向予測又は2方向予測を行うことができる。PUに関する単一方向予測を行うために、動き推定ユニット122は、PUに関する基準領域に関してRefPicList0又は第2の基準ピクチャリスト(“RefPicList1”)の基準ピクチャを探索することができる。動き推定ユニット122は、PUの動き情報として、RefPicList0又はRefPicList1内において基準領域が入っている基準ピクチャの位置を示す基準インデックス、PUの予測ブロックと基準領域と関連付けられた基準位置との間の空間的変位を示す動きベクトル、及び基準ピクチャがRefPicList0又はRefPicList1のいずれに入っているかを示す1つ以上の予測方向インジケータを出力することができる。動き補償ユニット124は、PUの動きベクトルによって示される基準位置における実際の又は内挿されたサンプルに少なくとも部分的に基づいてPUの予測ブロックを生成することができる。
[0132]PUに関する2方向インター予測を行うために、動き推定ユニット122は、PUに関する基準領域に関してRefPicList0内の基準ピクチャを探索することができ及びPUに関する他の基準領域に関してRefPicList1内の基準ピクチャを探索することもできる。動き推定ユニット122は、RefPicList0及びRefPicList1において基準領域が入っている基準ピクチャの位置を示す基準インデックスを生成することができる。さらに、動き推定ユニット122は、基準領域と関連付けられた基準位置とPUの予測ブロックとの間の空間的変位を示す動きベクトルを生成することができる。PUの動き情報は、PUの基準インデックスと、動きベクトルと、を含むことができる。動き補償ユニット124は、PUの動きベクトルによって示される基準位置における実際の又は内挿されたサンプルに少なくとも部分的に基づいてPUの予測ブロックを生成することができる。
[0133]イントラ予測処理ユニット126は、PUに関するイントラ予測を行うことによってPUに関する予測データを生成することができる。PUに関する予測データは、PUに関する予測ブロックと、様々な構文要素と、を含むことができる。イントラ予測処理ユニット126は、Iスライス、Pスライス、及びBスライス内のPUに関するイントラ予測を行うことができる。
[0134]PUに関するイントラ予測を行うために、イントラ予測処理ユニット126は、PUに関する予測ブロックの複数の組を生成するために複数のイントラ予測モードを使用することができる。特定のイントラ予測モードを用いてイントラ予測を行うときには、イントラ予測処理ユニット126は、近隣ブロックからの特定の組のサンプルを用いてPUに関する予測ブロックを生成することができる。近隣ブロックは、PU、CU、及びCTUに関して左から右、上から下への符号化順序を仮定した場合、PUの予測ブロックの上方、右上、左上、又は左であることができる。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、例えば、33の方向性イントラ予測モード、を使用することができる。幾つかの例では、イントラ予測モード数は、PUの予測ブロックのサイズに依存することができる。
[0135]予測処理ユニット100は、PUに関してインター予測処理ユニット120によって生成された予測データ又はPUに関してイントラ測処理ユニット126によって生成された予測データの中からCUのPUに関する予測データを選択することができる。幾つかの例では、予測処理ユニット100は、予測データの組のレート/歪みメトリックに基づいてCUのPUに関する予測データを選択する。選択された予測データの予測ブロックは、ここでは、選択された予測ブロックと呼ぶことができる。
[0136]残差生成ユニット102は、CUのルマ、Cb、及びCrコーディングブロック及びCUのPUの選択された予測的ルマ、Cb、及びCrブロックに基づいて、CUのルマ、Cb、及びCr残差ブロックを生成することができる。例えば、残差生成ユニット102は、残差ブロック内の各サンプルがCUのコーディングブロック内のサンプルとCUのPUの対応する選択された予測ブロック内の対応するサンプルとの間の差分に等しい値を有するような形でCUの残差ブロックを生成することができる。
[0137]変換処理ユニット104は、CUの残差ブロックをそのCUのTUと関連付けられた変換ブロックに分割するために四分木分割を行うことができる。従って、TUは、ルマ変換ブロック及び2つの対応するクロマ変換ブロックと関連付けることができる。CUのTUのルマ及びクロマ変換ブロックのサイズ及び位置は、そのCUのPUの予測ブロックのサイズ及び位置に基づく場合と基づかない場合がある。
[0138]変換処理ユニット104は、CUの各TUの変換ブロックに1つ以上の変換を適用することによってそのTUに関する変換係数を生成することができる。変換処理ユニット104は、TUと関連付けられた変換ブロックに対して様々な変換を適用することができる。例えば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、又は概念的に類似する変換を変換ブロックに適用することができる。幾つかの例では、変換処理ユニット104は、変換ブロックに変換を適用しない。該例では、変換ブロックは、変換係数ブロックとして取り扱うことができる。
[0139]量子化ユニット106は、係数ブロック内の変換係数を量子化することができる。量子化プロセスは、変換係数のうちの一部又は全部と関連付けられたビット深度を低減させることができる。例えば、量子化中にnビット変換係数を切り捨ててmビット変換係数にすることができ、ここで、nはmよりも大きい。量子化ユニット106は、CUと関連付けられた量子化パラメータ(QP)値に基づいてCUのTUと関連付けられた係数ブロックを量子化することができる。映像符号器20は、CUと関連付けられたQP値を調整することによってCUと関連付けられた係数ブロックに適用される量子化度を調整することができる。量子化は、情報の損失を招く可能性があり、従って、量子化された変換係数は、オリジナルのそれらよりも低い精度を有する可能性がある。
[0140]逆量子化ユニット108及び逆変換処理ユニット110は、係数ブロックから残差ブロックを再構築するために逆量子化及び逆変換を係数ブロックにそれぞれ適用することができる。再構築ユニット112は、TUと関連付けられた再構築された変換ブロックを生成するために予測処理ユニット100によって生成された1つ以上の予測ブロックからの対応するサンプルに再構築された残差ブロックを加えることができる。このようにしてCUの各TUに関する変換ブロックを再構築することによって、映像符号器20は、CUのコーディングブロックを再構築することができる。
[0141]フィルタユニット114は、CUと関連付けられたコーディングブロックにおけるブロッキングアーティファクトを低減させるために1つ以上のデブロッキング動作を行うことができる。復号ピクチャバッファ116は、フィルタユニット114が再構築されたコーディングブロックに関して1つ以上のデブロッキング動作を行った後に再構築されたコーディングブロックを格納することができる。インター予測処理ユニット120は、その他のピクチャのPUに関するインター予測を行うために再構築されたコーディングブロックが入った基準ピクチャを使用することができる。さらに、イントラ予測処理ユニット126は、CUと同じピクチャ内のその他のPUに関するイントラ予測を行うために復号ピクチャバッファ116内の再構築されたコーディングブロックを使用することができる。
[0142]エントロピー符号化ユニット118は、映像符号器20のその他の機能上のコンポーネントからデータを受信することができる。例えば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信することができ及び予測処理ユニット100から構文要素を受信することができる。エントロピー符号化ユニット118は、エントロピー符号化されたデータを生成するためにデータに関して1つ以上のエントロピー符号化動作を行うことができる。例えば、エントロピー符号化ユニット118は、CAVLC動作、CABAC動作、可変−可変(V2V)長コーディング動作、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率間隔分割エントロピー(PIPE)コーディング動作、指数−Golombn符号化動作、又はデータに関する他のタイプのエントロピー符号化動作を行うことができる。映像符号器20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化されたデータを含むビットストリームを出力することができる。
[0143]映像符号器20によって生成されたビットストリームは、ビットストリーム全体に関する情報を提供するビットストリームプロパティの組を含むことができる。例えば、映像符号器20は、ビットストリームにおけるビットストリームプロパティSEIメッセージを含むことができる。ビットストリームプロパティSEIメッセージは、ビットストリームプロパティを規定する構文要素を含むことができる。他の例では、映像符号器20は、ビットストリームにおけるビットストリームプロパティNALユニットを含むことができる。ビットストリームプロパティNALユニットは、ビットストリームプロパティを規定する構文要素を含むことができる。
[0144]幾つかの例では、映像符号器20は、ビットストリームを含むエレメンタリストリームを生成することができる。映像符号器20によって生成されたエレメンタリストリームは、エレメンタリストリーム全体に関する情報を提供するエレメンタリストリームプロパティの組を含むことができる。例えば、映像符号器20は、エレメンタリストリームにおけるESP SEIメッセージを含むことができる。ESP SEIメッセージは、エレメンタリストリームプロパティを規定する構文要素を含むことができる。他の例では、映像符号器20は、エレメンタリストリームにおけるエレメンタリストリームプロパティNALユニットを含むことができる。エレメンタリストリームプロパティNALユニットは、エレメンタリストリームプロパティを規定する構文要素を含むことができる。
[0145]図3は、本開示の技法を実装するように構成される映像復号器例30を示したブロック図である。図3は、説明を目的として提供されるものであり、本開示において広範囲にわたって例証及び説明される技法を限定するものであるとみなされるべきではない。説明の目的上、本開示は、HEVCコーディングに関して映像復号器30について説明する。しかしながら、本開示の技法は、その他のコーディング規格又は方法に対して適用可能である。
[0146]図3の例では、映像復号器30は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構築ユニット158と、フィルタユニット160と、復号ピクチャバッファ162と、を含む。予測処理ユニット152は、動き補償ユニット164と、イントラ予測処理ユニット166と、を含む。その他の例では、映像復号器30は、これよりも多くの、より少ない、又は異なる機能上のコンポーネントを含むことができる。
[0147]コーディングされたピクチャバッファ(CPB)151は、ビットストリームの符号化された映像データ(例えば、NALユニット)を受信して格納することができる。エントロピー復号ユニット150は、ビットストリームから構文要素を入手するためにCPB151からNALユニットを受信してそれらのNALユニットを構文解析することができる。エントロピー復号ユニット150は、NALユニット内のエントロピー符号化された構文要素をエントロピー復号することができる。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構築ユニット158、及びフィルタユニット160は、ビットストリームから入手された構文要素に基づいて復号された映像データを生成することができる。
[0148]ビットストリームのNALユニットは、コーディングされたスライスNALユニットを含むことができる。ビットストリームを復号する一部として、エントロピー復号ユニット150は、コーディングされたスライスNALユニットからの構文要素を構文解析し及びエントロピー復号することができる。コーディングされたスライスの各々は、スライスヘッダと、スライスデータと、を含むことができる。スライスヘッダは、スライスに関連する構文要素を入れることができる。
[0149]ビットストリームからの構文要素を復号することに加えて、映像復号器30は、CUに関する復号動作を行うことができる。CUに関する復号動作を行うことによって、映像復号器30は、そのCUのコーディングブロックを再構築することができる。
[0150]CUに関する復号動作を行う一部として、逆量子化ユニット154は、CUのTUと関連付けられた係数ブロックを逆量子化する、すなわち、量子化解除することができる。逆量子化ユニット154は、量子化度、そして同様に、逆量子化ユニット154が適用する逆量子化度、を決定するためにTUのCUと関連付けられたQP値を使用することができる。すなわち、圧縮比、すなわち、オリジナルのシーケンス及び圧縮されたそれを表現するために使用されるビット数の比、は、変換係数を量子化するときに使用されるQPの値を調整することによって制御することができる。圧縮比は、採用されるエントロピーコーディング法にも依存することができる。
[0151]逆量子化ユニット154が係数ブロックを量子化した後は、逆変換処理ユニット156は、TUと関連付けられた残差ブロックを生成するために1つ以上の逆変換を係数ブロックに適用することができる。例えば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆Karhunen−Loeve変換(KLT)、逆回転変換、逆方向性変換、又は他の逆変換を係数ブロックに適用することができる。
[0152]PUがイントラ予測を用いて符号化される場合は、イントラ予測処理ユニット166は、PUに関する予測ブロックを生成するためにイントラ予測を行うことができる。イントラ予測処理ユニット166は、空間的に近隣のPUの予測ブロックに基づいてPUに関する予測的ルマ、Cb、及びCrブロックを生成するためにイントラ予測モードを使用することができる。イントラ予測処理ユニット166は、ビットストリームから復号された1つ以上の構文要素に基づいてPUに関するイントラ予測モードを決定することができる。
[0153]予測処理ユニット152は、ビットストリームから抽出された構文要素に基づいて第1の基準ピクチャリスト(RefPicList0)及び第2の基準ピクチャリスト(RefPicList1)を構築することができる。さらに、PUがインター予測を用いて符号化される場合は、エントロピー復号ユニット150は、PUに関する動き情報を入手することができる。動き補償ユニット164は、PUの動き情報に基づいて、PUに関する1つ以上の基準領域を決定することができる。動き補償ユニット164は、PUに関する1つ以上の基準ブロックにおけるサンプルに基づいて、PUに関する予測的ルマ、Cb、及びCrブロックを生成することができる。
[0154]再構築ユニット158は、CUのルマ、Cb、及びCrコーディングブロックを再構築するために、CUのTUと関連付けられたルマ、Cb、及びCr変換ブロックからの残差値及びCUのPUの予測的ルマ、Cb、及びCrブロックからの残差値、すなわち、イントラ予測データ又はインター予測データ、を適宜使用することができる。例えば、再構築ユニット158は、CUのルマ、Cb、及びCrコーディングブロックを再構築するために予測的ルマ、Cb、及びCrブロックの対応するサンプルにルマ、Cb、及びCr変換ブロックのサンプルを加えることができる。
[0155]フィルタユニット160は、CUのルマ、Cb、及びCrコーディングブロックと関連付けられたブロッキングアーティファクトを低減させるためのデブロッキング動作を行うことができる。映像復号器30は、CUのルマ、Cb、及びCrコーディングブロックを復号ピクチャバッファ162に格納することができる。復号ピクチャバッファ162は、後続する動き補償、イントラ予測、及び表示デバイス、例えば、図1の表示装置32、における提示のために基準ピクチャを提供することができる。例えば、映像復号器30は、復号ピクチャバッファ162におけるルマ、Cb、及びCrブロックに基づいて、その他のCUのPUに関してイントラ予測又はインター予測動作を行うことができる。このようにして、映像復号器30は、有意なルマ係数ブロックの変換係数レベルをビットストリームから抽出し、変換係数レベルを逆量子化し、変換ブロックを生成するために変換係数レベルに変換を適用し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、及び、コーディングブロックを表示のために出力することができる。
[0156]本開示の別の場所で示されるように、映像符号器20は、ESP SEIメッセージにおいてエレメンタリストリームのESPをシグナリングすることができる。ESP SEIメッセージは、SEIメッセージが入ったエレメンタリストリーム全体に関して適用することができる情報を提供する。幾つかの例では、ESP SEIメッセージは、エレメンタリストリームの第1のアクセスユニット内のみに存在する。さらに、幾つかの例では、ESP SEIメッセージは、入れ子型のSEIメッセージではない。すなわち、ESP SEIメッセージが入っているSEI NALユニットには、その他のSEIメッセージは入っていないものとする。
[0157]NALユニットのnuh_reserved_temporal_id_plus1構文要素は、NALユニットの時間的識別子、プラス1を示すことができる。幾つかの例では、エレメンタリストリームプロパティ(ESP)SEIメッセージが入ったSEI NALユニットのnuh_reserved_temporal_id_plus1構文要素は、常に0に等しいことができる。
[0158]ESP SEIメッセージは、エレメンタリストリーム内の様々な位置でシグナリングすることができる。例えば、ESP SEIメッセージは、ビットストリームの第1のアクセスユニット内に存在することができる。換言すると、映像コーディング仕様は、ビットストリームの第1のアクセスユニット内にESP SEIメッセージが存在するように要求することができる。他の例では、ESP SEIメッセージは、ビットストリーム内のRAPアクセスユニット内に存在することができる。換言すると、映像コーディング仕様は、ESP SEIメッセージがビットストリーム内のRAPアクセスユニット内に存在するのを可能にすることができる。
[0159]他の例では、ESP SEIメッセージは、ビットストリーム内のあらゆるアクセスユニット内に存在することができる。換言すると、映像コーディング仕様は、ビットストリーム内のあらゆるアクセスユニットにESP SEIメッセージが存在するのを可能にすることができる。さらに、他の例では、ESP SEIメッセージがSEI NALユニット内に存在するときには、映像コーディング仕様は、ESP SEIメッセージがSEI NALユニットにおける最初のSEIメッセージであることを要求する。他の例では、映像コーディング仕様は、ESP SEIメッセージが入っているSEI NALユニットにはその他のSEIメッセージが入っていないものとすることを要求することができる。さらに、他の例では、SEI NALユニットにESP SEIメッセージが入っているときには、映像コーディング仕様は、SEI NALユニットは、SEI NALユニットが入っているアクセスユニット内の最初のSEI NALユニットであることを要求する。
[0160]他の例では、映像コーディング仕様は、エレメンタリストリームの第1のアクセスユニットがESP SEIメッセージの入ったSEI NALユニットを含むことを要求する。他の例では、映像コーディング仕様は、エレメンタリストリームの第1のアクセスユニットがESP SEIメッセージのみの入ったSEI NALユニットを含むことを要求する。
[0161]以下の表1は、ESP SEIメッセージに関する構文例を示す。以下の表1の例、及び本開示のその他の構文表では、書式u(n)の記述子を有する構文要素は、長さnの符号なし値であり、nは、負でない整数である。ESP SEIメッセージの構文要素の意味論に関する以下の説明では、用語“エレメンタリストリーム”は、“要素ストリームプロパティSEIメッセージが入ったエレメンタリストリーム”を意味することができる。その他の例では、ESP SEIメッセージは、表1の構文要素よりも多い、少ない、又は異なる構文要素を含むことができる。
[0162]VPSは、general_profile_space構文要素と、general_profile_idc構文要素と、general_profile_compatibility_flag[i]構文要素(すなわち、複数の一般的プロフィール互換性フラグ)と、general_reserved_zero_16bits構文要素とを含むことができる。general_profile_space構文要素は、general_profile_idc構文要素及び0乃至31の範囲内のiのすべての値に関するgeneral_profile_compatibility_flag[i]構文要素の解釈のためのコンテキストを指定する。general_profile_space構文要素が0に等しいときには、general_profile_idc構文要素は、CVSが準拠するプロフィールを示す。HEVCワーキングドラフト8の付属書Aは、プロフィールの組例について記述する。general_profile_space構文要素が0に等しく、general_profile_compatibility_flag[i]構文要素が1に等しいときには、general_profile_compatibility_flag[i]構文要素は、CVSがiに等しいgeneral_profile_idc構文要素によって示されるプロフィールに準拠することを示す。general_profile_space構文要素が0に等しいときには、general_profile_idc[general_profile_idc]は1に等しい。general_profile_idc[general_profile_idc]は、general_profile_idc構文要素によって指定されたインデックス値と関連付けられたgeneral_profile_idc構文要素を表す。幾つかの例では、general_profile_compatibility_flag[i]構文要素は、general_profile_idcの許容値として指定されないiの値に関しては0に等しい。HEVCワーキングドラフト8の付属書Aは、general_profile_idc構文要素の許容値の組例を指定する。general_reserved_zero_16bits構文要素は、ビットス
トリームでは0に等しい。general_reserved_zero_16bits構文要素の幾つかの値は、HEVCの拡張版に関して使用することができる。
[0163]表1の例において、1に等しいes_profile_unchanging_flag構文要素は、general_profile_idc構文要素、0乃至31の範囲内のiに関するgeneral_profile_compatibility_flag[i]構文要素、及び、general_reserved_zero_16bits構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であることを示す。0に等しいes_profile_unchanging_flag構文要素は、general_profile_idc構文要素、0乃至31の範囲内のiに関するgeneral_profile_compatibility_flag[i]構文要素、及び、general_reserved_zero_16bits構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でないことを示す。
[0164]VPSは、general_tier_flag構文要素とgeneral_level_idc構文要素とを含むprofile_tier_level構文構造を含むことができる。general_tier_flag構文要素は、general_level_idc構文要素の解釈のためのタイアコンテキストを指定する。general_level_idc構文要素は、CVSが準拠するレベルを示す。HEVCワーキングドラフト8の付属書Aは、general_tier_flag構文要素によって指定されるタイアコンテキストに基づくgeneral_level_idc構文要素の解釈例を規定する。
[0165]表1の例において、1に等しいes_tier_level_unchanging_flag構文要素は、general_tier_flag構文要素及びgeneral_level_idc構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であることを示す。0に等しいes_tier_level_unchanging_flag構文要素は、general_tier_flag構文要素及びgeneral_level_idc構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でないことを示す。従って、es_tier_level_unchanging_flag構文要素は、general_tier_flag構文要素及びgeneral_level_idc構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるかどうかを示すことができる。
[0166]SPSは、pic_width_in_luma_samples構文要素と、pic_height_in_luma_samples構文要素と、を含むことができる。pic_width_in_luma_samples構文要素は、ルマサンプルのユニット内の各復号されたピクチャの幅を指定することができる。pic_height_in_luma_samples構文要素は、ルマサンプルのユニット内の各復号されたピクチャの高さを指定することができる。表1の例において、1に等しいes_spatial_resolution_unchanging_flag構文要素は、pic_width_in_luma_samples構文要素及びpic_height_in_luma_samples構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であることを示す。0に等しいes_spatial_resolution_unchanging_flag構文要素は、pic_width_in_luma_samples構文要素及びpic_height_in_luma_samples構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でないことを示す。従って、es_spatial_resolution_unchanging_flag構文要素は、エレメンタリストリームのすべてのCVSが同じ空間解像度を有することを示すことができる。
[0167]本開示において示されるように、時間的副層は、層内のその他のピクチャを参照せずに復号することができる層内のピクチャのサブセットを意味することができる。表1の例において、1に等しいes_num_sub_layers_unchanging_flag構文要素は、時間的副層の数がエレメンタリストリーム内のすべてのCVSに関して同一であることを示す。0に等しいes_num_sub_layers_unchanging_flag構文要素は、時間的副層の数がエレメンタリストリーム内のすべてのCVSに関して同一であるわけではないことを示す。従って、es_num_sub_layers_unchanging_flag構文要素は、エレメンタリストリームの時間的副層の数がエレメンタリストリーム内のすべてのCVSに関して同一であるかどうかを示すことができる。
[0168]さらに、表1の例において、1に等しいes_max_bitrate_unchanging_flag構文要素は、最大ビットレートがエレメンタリストリーム内のすべてのCVSに関して同一であることを示す。0に等しいes_max_bitrate_unchanging_flag構文要素は、最大ビットレートがエレメンタリストリーム内のすべてのCVSに関して同一であるわけではないことを示す。
[0169]最大ピクチャレートは、1秒当たりのピクチャの最大数を示すことができる。表1の例において、1に等しいes_max_pic_rate_unchanging_flag構文要素は、最大ピクチャレートがエレメンタリストリーム内のすべてのCVSに関して同一であることを示す。0に等しいes_max_pic_rate_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSに関して同一であるわけではないことを示す。従って、es_max_pic_rate_unchanging_flag構文要素は、最大ピクチャレートがエレメンタリストリーム内のすべてのCVSに関して同一であるかどうかを示すことができる。
[0170]SPSは、chroma_format_idc_構文要素を含むことができる。SPSのchroma_format_idc_構文要素は、クロマサンプリングを指定することができる。HEVCワーキングドラフト8において、chroma_format_idc_構文要素は、HEVCワーキングドラフト8の小項6.2において規定されるルマサンプリングに関するクロマサンプリングを規定する。現在のピクチャに関してアクティベートされたSPSのchroma_format_idc_構文要素が0に等しい場合は、現在のピクチャは、1つのサンプルアレイ(例えば、SL)から成ることができる。他方、chroma_format_idc構文要素が0に等しくない場合は、現在のピクチャは、3つのサンプルアレイ(例えば、SL、SCb、及びSCr)を備えることができる。表1の例において、1に等しいes_color_formaty_unchanging_flag構文要素は、chroma_format_idcの値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であることを示す。0に等しいes_color_formaty_unchanging_flag構文要素は、chroma_format_idc構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるわけではないことを示す。従って、es_color_formaty_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSが同じカラーフォーマットを有するかどうかを示すことができる。
[0171]SPSは、aspect_ratio_idc構文要素を含むVUIパラメータ構文構造を含むことができる。aspect_ratio_idc構文要素は、ルマサンプルのサンプルアスペクト比の値を指定する(例えば、1:1、12:11、10:11、16:11、40:33、等)。HEVCワーキングドラフト8の表E−1は、aspect_ratio_idc構文要素の解釈例を示す。さらに、aspect_ratio_idc構文要素がExtended_SARを示すときには(例えば、aspect_ratio_idc構文要素が255に等しいとき)、VUIパラメータ構文構造は、sar_width構文要素と、sar_height構文要素と、を含むことができる。sar_width構文要素は、サンプルアスペクト比の水平サイズ(任意の単位)を示す。sar_height構文要素は、sar_width構文要素に関して使用されるのと同じ任意の単位のサンプルアスペクト比の垂直サイズを示す。
[0172]表1の例において、1に等しいes_aspect_ratio_unchanging_flag構文要素は、aspect_ratio_idc構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関して同一であることを示し、aspect_ratio_idcがExtended_SARに等しいときには、sar_width構文要素及びsar_height構文要素の値は、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関して同一である。0等しいes_aspect_ratio_unchanging_flag構文要素は、aspect_ratio_idc構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関して同一であるわけではないこと、又は、sar_width構文要素及びsar_height構文要素の値は、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関してそれぞれ同一でないことを示す。従って、es_aspect_ratio_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSが同じサンプルアスペクト比を有するかどうかを示すことができる。
[0173]SPSは、bit_depth_minus8構文要素と、bit_depth_chroma_minus8構文要素と、を含むことができる。bit_depth_minus8構文要素、プラス8は、ルマアレイのサンプルのビット深度及びルマ量子化パラメータ範囲オフセットの値を指定する。bit_depth_chroma_minus8構文要素、プラス8は、クロマアレイのサンプルのビット深度及びクロマ量子化パラメータ範囲オフセットの値を指定する。表1の例において、1に等しいes_bit_depth_unchanging_flag構文要素は、bit_depth_luma_minus8構文要素及びbit_depth_chroma_minus8構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であることを示す。0に等しいes_bit_depth_unchanging_flag構文要素は、bit_depth_luma_minus8構文要素及びbit_depth_chroma_minus8構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関してそれぞれ同一でないことを示す。従って、es_bit_depth_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSがルマ及びクロマに関してビット深度の同じ組を有するかどうかを示すことができる。
[0174]さらに、表1の例において、1に等しいes_full_random_access_enabled_flagは、RAPアクセスユニットの前のすべてのアクセスユニットを廃棄することによってエレメンタリストリーム内の各RAPアクセスユニットの位置においてランダムアクセスを行うこと、及び、RAPピクチャ及び復号順序ですべての後続する非TFDピクチャを正確に復号することが可能であることを示し、すなわち、各RAPアクセスユニットに関して、RAPアクセスユニットの前のすべてのアクセスユニットが廃棄され、エレメンタリストリームの残りの部分が復号されるときには、各パラメータセットは、アクティベートする必要があるときに依然として利用可能である。0に等しいes_full_random_access_enabled_flag構文要素は、RAPアクセスユニットの前のすべてのアクセスユニットを廃棄することによってエレメンタリストリーム内の各RAPアクセスユニットの位置においてランダムアクセスを行うことが可能でないこと、及び/又は、RAPピクチャ及び復号順序ですべての後続する非TFDピクチャを正確に復号することが可能でないことを示す。従って、es_full_random_access_enabled_flag構文要素は、エレメンタリストリーム内でのパラメータセットの存在が完全なランダムアクセス性を可能にするかどうかを示すことができる。これは、上記のランダムアクセスがいずれかのRAPアクセスユニットで行われるときに、各パラメータセットはアクティベートする必要があるときにビットストリームにおいて利用可能であることを要求することができる。
[0175]表1の例において、1に等しいes_all_vps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのVPSがエレメンタリストリーム内の第1のアクセスユニット内に存在することを示す。0に等しいes_all_vps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのVPSがエレメンタリストリーム内の第1のアクセスユニット内に存在するわけではないことを示す。es_all_vps_in_first_au_flag構文要素が1に等しいときには、(例えば、誤り弾力性目的のために)エレメンタリストリーム内のその他のアクセスユニットにおいて繰り返されるVPSが依然として存在することができる。しかしながら、繰り返されたVPS間ではVPSの更新は行うことができない。従って、es_all_vps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのVPSがエレメンタリストリーム内の第1のアクセスユニット内に存在するかどうかを示すことができる。
[0176]VPSは、そのVPSを識別するvideo_parameter_set_id構文要素を含むことができる。SPSは、そのSPSに関して使用中のVPSを識別するvideo_parameter_set_id構文要素を含むことができる。表1の例において、1に等しいes_no_vps_update_flag構文要素は、エレメンタリストリーム内の少なくとも1つのVPSの内容が、VPS NALユニット内のvideo_parameter_set_id構文要素を変更せずに変えられることを示す。0に等しいes_no_vps_update_flag構文要素は、エレメンタリストリーム内のVPSの内容が、VPS NALユニット内のvideo_parameter_set_id構文要素を変更せずに変えられないことを示す。従って、es_no_vps_update_flag構文要素は、エレメンタリストリーム内の少なくとも1つのVPSの内容が、VPS NALユニット内のvideo_parameter_set_id構文要素を変更せずに変えられるかどうかを示すことができる。
[0177]さらに、表1の例において、1に等しいes_all_sps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSがエレメンタリストリームの第1のアクセスユニット内に存在することを示す。0に等しいes_all_sps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSがエレメンタリストリームの第1のアクセスユニット内に存在するわけではないことを示す。es_all_sps_in_first_au_flag構文要素が1に等しいときには、(例えば、誤り弾力性目的のために)エレメンタリストリーム内のその他のアクセスユニットにおいて繰り返されるSPSが依然として存在することができる。しかしながら、繰り返されたSPS間ではSPSの更新は行うことができない。従って、es_all_vps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのVPSがエレメンタリストリーム内の第1のアクセスユニット内に存在するかどうかを示すことができる。
[0178]SPSは、そのSPSを識別するseq_parameter_set_id構文要素を含むことができる。PPSは、そのPPSに関して使用中のSPSを識別するseq_parameter_set_id構文要素を含むことができる。表1の例において、1に等しいes_no_sps_update_flag構文要素は、エレメンタリストリーム内の少なくとも1つのSPSの内容が、SPS NALユニット内のseq_parameter_set_id構文要素を変更せずに変えられることを示す。0に等しいes_no_sps_update_flag構文要素は、エレメンタリストリーム内の少なくとも1つのSPSの内容が、SPS NALユニット内のseq_parameter_set_id構文要素を変更せずに変えられないことを示す。従って、es_no_sps_update_flag構文要素は、少なくとも1つのSPSがエレメンタリストリームにおいて更新されるが、同じSPSが使用されるかどうかを示す。
[0179]さらに、表1の例において、1に等しいes_all_pps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSがエレメンタリストリーム内の第1のアクセスユニット内に存在することを示す。0に等しいes_all_pps_in_first_au_flag構文要素は、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSがエレメンタリストリーム内の第1のアクセスユニット内に存在するわけではないことを示す。es_all_pps_in_first_au_flag構文要素が1に等しいときには、(例えば、誤り弾力性目的のために)エレメンタリストリーム内のその他のアクセスユニットにおいて繰り返されるPPSが依然として存在することができる。しかしながら、繰り返されたPPS間ではPPSの更新は行うことができない。従って、es_all_pps_in_first_au_flag構文要素は、すべてのPPSがエレメンタリストリームの初めに存在するかどうかを示すことができる。
[0180]PPSは、そのPPSを識別するpic_parameter_set_id構文要素を含むことができる。スライスのスライスヘッダは、そのスライスに関して使用中のPPSを識別するpic_parameter_set_id構文要素を含むことができる。表1の例において、1に等しいes_no_pps_update_flag構文要素は、エレメンタリストリーム内の少なくとも1つのPPSの内容が、PPS NALユニット内のpic_parameter_set_id構文要素を変更せずに変えられることを示す。0に等しいes_no_pps_update_flag構文要素は、エレメンタリストリーム内のPPSの内容が、PPS NALユニット内のpic_parameter_set_id構文要素を変更せずに変えられないことを示す。従って、es_no_pps_update_flag構文要素は、エレメンタリストリームにおいて少なくとも1つのPPSが変更されるが同じPPS識別子を使用するかどうかを示すことができる。
[0181]SPSは、field_seq_flag構文要素を含むVUIパラメータ構文構造を含むことができる。field_seq_flag構文要素は、CVSがフィールドを表現するピクチャを搬送するかどうかを指定することができ、及び、CVSのすべてのアクセスユニットにおいてフィールドインディケーションSEIメッセージが存在するものとするかどうかを規定する。概して、フィールド(すなわち、“映像フィールド”)は、奇数又は偶数のラインを表現することができる。フィールドの使用は、インターレーシングを可能にすることができる。HEVCワーキングドラフト8の小項D.1.19は、フィールドインディケーションSEIメッセージに関する構文例を提供する。HEVCワーキングドラフト8の小項D.2.19は、フィールドインディケーションSEIメッセージに関する意味論例を提供する。表1の例において、1に等しいes_progressive_frames_only_flag構文要素は、field_seq_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関して0に等しいこと、及びエレメンタリストリーム内にフィールドインディケーションSEIメッセージが存在しないことを示す。0に等しいes_progressive_frames_only_flag構文要素は、エレメンタリストリーム内に少なくとも1つのフィールドインディケーションSEIメッセージが存在することを示す。従って、es_progressive_frames_only_flag構文要素は、エレメンタリストリーム内のすべてのCVSにフレームピクチャ内でコーディングされたプログレッシブフレーム(progressive frame)のみが入っているかどうかを示すことができる。
[0182]フレームパッキングアレンジメントSEIメッセージは、HEVCビットストリーム内へのステレオスコープ映像のパッキングに関する情報を提供することができる。Rec.ITU−T H.264|ISO/IEC 14496−10の小項D.1.25は、フレームパッキングアレンジメントSEIメッセージに関する構文例を提供する。表1の例において、1に等しいes_unpacked_frames_only_flag構文要素は、エレメンタリストリーム内にフレームパッキングアレンジメントSEIメッセージが存在しないことを示す。0に等しいes_unpacked_frames_only_flag構文要素は、エレメンタリストリーム内に少なくとも1つのフレームパッキングアレンジメントSEIメッセージが存在することを示す。従って、es_unpacked_frames_only_flag構文要素は、エレメンタリストリーム内のすべてのCVSにフレームパッキングアレンジメントSEIメッセージが入っていないかどうかを示すことができる。
[0183]PPSは、tiles_enabled_flag構文要素を含むことができる。PPSのtiles_enabled_flag構文要素は、そのPPSを参照する各ピクチャ内に2つ以上のタイルが存在することができるかどうかを指定することができる。ピクチャのタイルは、そのピクチャ内を通る水平及び/又は垂直のタイル境界によって定義される。ピクチャのタイルはラスター走査順序に従ってコーディングされ、及び、各タイル内のCTBもラスター走査順序に従ってコーディングされる。さらに、SPSは、tiles_fixed_structure_flag構文要素を含むVUIパラメータ構文構造を含むことができる。tiles_fixed_structure_flag構文要素は、CVSにおいてアクティブである各PPSがピクチャのタイル構造を定義する構文要素の同じ値を有するかどうかを示す(例えば、num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、column_width_minus[i]、row_height_minus1[i]、及びloop_filter_across_tiles_enabled_flag)。num_columns_minus1構文要素、プラス1は、ピクチャを分割するタイルカラムの数を指定する。num_tile_rows_minus1構文要素、プラス1、は、ピクチャを分割するタイルローの数を指定する。uniform_spacing_flag構文要素は、カラム境界及び同様にロー境界がピクチャ全体にわたって一様に分布しているかどうかを示す。column_width_minus[i]構文要素、プラス1、は、コーディングツリーブロックのユニット内のi番目のタイルカラムの幅を指定する。row_height_minus1[i]構文要素、プラス1、は、コーディングツリーブロックのユニット内のi番目のローの高さを指定する。loop_filter_across_tiles_enabled_flagは、インループフィルタリング動作がタイル境界を越えて行われるかどうかを示す。本開示の別の場所で説明される図4は、映像コーディングにおけるタイルの使用を示す。
[0184]表1の例においては、1に等しいes_tiles_unchanging_flag構文要素は、tiles_enabled_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であることを示し、tiles_enabled_flag構文要素の値が1に等しいときには、tiles_fixed_structured_flag構文要素の値は、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関して同一である。0に等しいes_tiles_unchanging_flag構文要素は、tiles_enabled_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であるわけではないこと、又は、tiles_fixed_structured_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるわけではないことを示す。従って、es_tiles_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSが同じタイルコンフィギュレーションを有するかどうかを示すことができる。
[0185]さらに、PPSは、entropy_coding_sync_enabled_flag構文要素を含むことができる。PPSのentropy_coding_sync_enabled_flag構文要素は、PPSを参照する各ピクチャ内の各タイル内のコーディングツリーブロックのローの第1のコーディングツリーブロックを復号する前にコンテキスト変数に関する特定の同期化プロセスが呼び出されるか及びPPSを参照する各ピクチャ内の各タイル内のコーディングツリーブロックのローの2つのコーディングツリーブロックを復号した後にコンテキスト変換に関する特定の記憶プロセスが呼び出されるかどうかを示すことができる。この特定の同期化プロセス及び特定の記憶プロセスは、ウェーブフロント並列処理(WPP)を可能にすることができる。WPPでは、ピクチャ内のCTBの各ローは、“WPPウェーブ”である。映像コーダがピクチャをコーディングするためにWPPを使用するときには、映像コーダは、映像コーダが直上のWPPウェーブの2つ以上のCTBをコーディングした後に左から右へのWPPウェーブのCTBのコーディングを開始することができる。本開示の別の場所で説明される図5は、ピクチャのWPPコーディングを例示する概念図である。
[0186]表1の例において、1に等しいes_wpp_unchanging_flag構文要素は、entropy_coding_sync_enabled_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であることを示す。0に等しいes_wpp_unchanging_flag構文要素は、entropy_coding_sync_enabled_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であるわけではないことを示す。従って、es_wpp_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSがウェーブフロント並列処理を利用するかどうかを示すことができる。
[0187]dependent_slices_enabled_flag構文要素は、PPSを参照するコーディングされたピクチャに関するスライスヘッダ内にdependent_slice_flag構文要素が存在するかどうかを指定するPPS内の構文要素である。スライスヘッダのdependent_slice_flag構文要素は、スライスヘッダ内に存在しない各スライスヘッダ構文要素の値が先行するスライス内の対応するスライスヘッダ構文要素の値と等しいと推論されるかどうかを示すことができる。表1の例において、1に等しいes_dependent_slices_unchanging_flag構文要素は、dependent_slices_enabled_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であることを示す。0に等しいes_dependent_slices_unchanging_flag構文要素は、dependent_slices_enabled_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であるわけではないことを示す。従って、es_dependent_slices_unchanging_flag構文要素は、エレメンタリストリーム内のすべてのCVSが従属するスライスを利用するかどうかを示すことができる。
[0188]表1の例において、0に等しいes_properties_sei_extension_flag構文要素は、ESP SEIメッセージ内において追加のデータが後続しないことを示す。es_properties_sei_extension_flag構文要素の値が0に等しいものとするということは1つのビットストリーム適合要件であることができる。es_properties_sei_extension_flag構文要素に関する値1は、ITU−T|ISO/IECによる将来の使用のために予約することができる。幾つかの例では、映像復号器は、ESP SEIメッセージ内のes_properties_sei_extension_flag構文要素の値を無視するものとし及びes_properties_sei_extension_flag構文要素に関する値1の後のESP SEIメッセージ内で後続するすべてのデータを無視するものとする。従って、es_properties_sei_extension_flag構文要素は、SEIメッセージにおいて追加のデータが後続するかどうかを示すことができる。
[0189]幾つかの例では、ESP SEIメッセージの代わりエレメンタリストリームレベルプロパティをシグナリングするために個別のNALユニットタイプ(例えば、ESP NALユニット)が定義される。ESP NALユニットは、上の表1の構文要素のうちの一部又は全部を含むことができる。さらに、幾つかの例では、ESP NALユニットは、表1の構文要素に加えてのそれらを含むことができる。
[0190]幾つかの例では、ESP NALユニットは、エレメンタリストリームの第1のアクセスユニット内に存在することができる。その他の例では、ESP NALユニットは、エレメンタリストリーム内のあらゆるRAPアクセスユニット内に存在することができる。さらに他の例では、ESP NALユニットは、エレメンタリストリーム内のあらゆるアクセスユニット内に存在することができる。さらに、幾つかの例では、ESP NALユニットは、そのESP NALユニットが入ったアクセスユニット内の第1のNALユニットでなければならないことが要求される。幾つかの例では、エレメンタリストリームの第1のアクセスユニットはESP NALユニットを含むものとすることが要求される。
[0191]本開示の別の場所で説明されるように、映像符号器20は、ビットストリームプロパティSEIメッセージにおいてビットストリームのビットストリームプロパティをシグナリングすることができる。ビットストリームプロパティSEIメッセージは、SEIメッセージが入っているビットストリーム全体に関して適用可能な情報を提供する。幾つかの例では、ビットストリームプロパティSEIメッセージは、ビットストリームの第1のアクセスユニット内のみに存在することができる。さらに、幾つかの例では、ビットストリームプロパティSEIメッセージが入っているSEI NALユニットは、その他のSEIメッセージは入っていないものとする。幾つかの例では、映像コーディング仕様は、ビットストリームプロパティSEIメッセージが入っているSEI NALユニット内のnuh_temporal_id_plus1構文要素は0に等しくすることを要求することができる。
[0192]ビットストリームプロパティSEIメッセージは、ビットストリーム内の様々な位置でシグナリングすることができる。例えば、映像コーディング仕様は、ビットストリームプロパティSEIメッセージがビットストリームの第1のアクセスユニットにおいて存在できることを要求することができる。
他の例では、他の例では、映像コーディング仕様は、ビットストリームプロパティSEIメッセージがビットストリーム内のあらゆるRAPアクセスユニット内に存在するのを可能にすることができる。他の例では、映像コーディング仕様は、ビットストリームプロパティSEIメッセージがビットストリーム内のあらゆるアクセスユニット内に存在するのを可能にすることができる。他の例では、ビットストリームプロパティSEIメッセージがSEI NALユニット内に存在するときには、映像コーディング仕様は、そのビットストリームプロパティSEIメッセージがそのSEI NALユニット内の第1のSEIメッセージであるように要求することができる。他の例では、ビットストリーム内のあらゆるアクセスユニット内にビットストリームプロパティSEIメッセージが存在するのを許容することができる。他の例では、ビットストリームプロパティSEIメッセージがSEI NALユニット内に存在するときには、映像コーディング仕様は、そのビットストリームプロパティSEIメッセージがそのSEI NALユニット内の第1のSEIメッセージであるように要求することができる。他の例では、映像コーディング仕様は、ビットストリームプロパティSEIメッセージが入っているSEI NALユニットにはその他のSEIメッセージが入っていないように要求することができる。さらに、幾つかの例では、SEI NALユニットにビットストリームプロパティSEIメッセージが入っているときには、映像コーディング仕様は、SEI NALユニットが、SEI NALユニットが入っているアクセスユニット内のエレメンタリストリームレベルNALユニット以外の第1のSEI NALユニットであるように要求することができる。さらに、映像コーディング仕様は、各ビットストリームの第1のアクセスユニットが、ビットストリームプロパティSEIメッセージの入ったSEI NALユニットを含むことを要求することができる。代替例では、映像コーディング仕様は、各ビットストリームの第1のアクセスユニットが、ビットストリームプロパティSEIメッセージのみが入っているSEI NALユニットを含むことを要求することができる。
[0193]一例では、ビットストリームプロパティSEIメッセージは、以下の表2に示される構文に準拠することができる。その他の例では、ビットストリームプロパティSEIメッセージは、表2の例に示される構文要素よりも多い、より少ない、又は異なるそれらを含むことができる。
[0194]ビットストリームプロパティSEIメッセージ内の構文要素に関する以下の説明では、“ビットストリーム”は、“ビットストリームプロパティSEIメッセージが入っているビットストリーム”を意味することができる。
[0195]VPSは、general_profile_space構文要素と、general_profile_idc構文要素と、general_profile_compatibility_flag[i]構文要素と、general_reserved_zero_16bits構文要素とを含むことができる。表2の例において、1に等しいbitstream_profile_unchanging_flag構文要素は、general_profile_idc構文要素、0乃至31の範囲内のiに関するgeneral_profile_compatibility_flag[i]構文要素、及び、general_reserved_zero_16bits構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であることを示す。bitstream_profie_unchanging_flag構文要素が0に等しい場合は、general_profile_idc構文要素、0乃至31の範囲内のiに関するgeneral_profile_compatibility_flag[i]構文要素、及び、general_reserved_zero_16bits構文要素の値は、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でない。
[0196]従って、ビットストリームが復号されるときにアクティベートされるSPSの各々は、複数の一般的プロフィール互換性フラグ構文要素を含むことができる。各々の複数の一般的プロフィール互換性フラグ構文要素内の各々の一般的プロフィール互換性フラグ構文要素は、インデックス(例えば、i)と関連付けられる。さらに、対応する一般的プロフィール互換性フラグ構文要素が同じインデックスと関連付けられる。従って、第1のSPSにおいてインデックスiと関連付けられた一般的プロフィール互換性フラグ構文要素は、第2のSPSにおいてインデックスiを有する一般的プロフィール互換性フラグ構文要素に対応することができる。特定の構文要素(例えば、bitstream_profile_unchanging_flag)が特定の値(例えば、1)を有するときには、SPS内の対応する一般的プロフィール互換性フラグ構文要素の各々は、同一の値を有する。さらに、各SPSは、general_reserved_zero_16bits構文要素を含むことができる。特定の構文要素(例えば、bitstream_profile_unchanging_flag)が特定の値(例えば、1)を有するときには、各SPS内のgeneral_reserved_zero_16bits構文要素は、同じ値を有する。
[0197]VPSは、general_tier_flag構文要素とgeneral_level_idc構文要素とを含むprofile_tier_level構文構造を含むことができる。図2の例において、bitstream_tier_level_unchanging_flag構文要素が1に等しい場合は、general_tier_flag構文要素及びgeneral_level_idc構文要素の値は、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一である。bitstream_tier_level_unchanging_flag構文要素が0に等しい場合は、general_tier_flag構文要素及びgeneral_level_idc構文要素の値は、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でない。従って、bitstream_tier_level_unchanging_flag構文要素は、general_tier_flag構文要素及びgeneral_level_idc構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるかどうかを示すことができる。
[0198]SPSは、pic_width_in_luma_samples構文要素と、pic_height_in_luma_samples構文要素と、を含むことができる。表2の例において、bitstream_spatial_resolution_unchanging_flag構文要素が1に等しい場合は、pic_width_in_luma_samples構文要素及びpic_height_in_luma_samples構文要素の値は、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一である。bitstream_spatial_resolution_unchanging_flag構文要素が0に等しい場合は、pic_width_in_luma_samples構文要素及びpic_height_in_luma_samples構文要素の値は、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でない。従って、bitstream_spatial_resolution_unchanging_flag構文要素は、ビットストリームのすべてのCVSが同じ空間解像度を有するかどうかを示すことができる。
[0199]さらに、表2の例において、bitstream_num_sub_layers_unchanging_flag構文要素が1に等しい場合は、時間的副層の数は、ビットストリーム内のすべてのCVSに関して同一である。bitstream_num_sub_layers_unchanging_flag構文要素が0に等しい場合は、時間的副層の数は、ビットストリーム内のすべてのCVSに関して同一であるわけではない。従って、bitstream_num_sub_layers_unchanging_flag構文要素は、時間的副層の数がビットストリーム内のすべてのCVSに関して同一であるかどうかを示すことができる。
[0200]表2の例において、bitstream_max_bitrate_unchanging_flag構文要素が1に等しい場合は、最大ビットレートは、ビットストリーム内のすべてのCVSに関して同一である。bitstream_max_bitrate_unchanging_flag構文要素が0に等しい場合は、最大ビットレートは、ビットストリーム内のすべてのCVSに関して同一であるわけではない。従って、bitstream_max_bitrate_unchanging_flag構文要素は、最大ビットレートがビットストリーム内のすべてのCVSに関して同一であるかどうかを示すことができる。
[0201]さらに、表2の例において、bitstream_max_pic_rate_unchanging_flag構文要素が1に等しい場合は、最大ピクチャレートは、ビットストリーム内のすべてのCVSに関して同一である。bitstream_max_pic_rate_unchanging_flag構文要素が0に等しい場合は、最大ピクチャレートは、ビットストリーム内のすべてのCVSに関して同一であるわけではない。従って、bitstream_max_pic_rate_unchanging_flag構文要素は、最大ピクチャレートがビットストリーム内のすべてのCVSに関して同一であるかどうかを示すことができる。
[0202]さらに、表2の例において、1に等しいbitstream_color_format_unchanging_flag構文要素は、chroma_format_idc構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であることを示す。0に等しいbitstream_color_format_unchanging_flag構文要素は、chroma_format_idc構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるわけではないことを示す。従って、bitstream_color_format_unchanging_flag構文要素は、ビットストリーム内のすべてのCVSが同じカラーフォーマットを有するかどうかを示すことができる。
[0203]SPSは、aspect_ratio_idc構文要素を含むVUIパラメータ構文構造を含むことができる。表2の例において、1に等しいbitstream_aspect_ratio_unchanging_flag構文要素は、aspect_ratio_idc構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であることを示し、aspect_ratio_idc構文要素がExtended_SARと等しいときには、sar_width構文要素及びsar_height構文要素の値は、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一である。0に等しいbitstream_aspect_ratio_unchanging_flag構文要素は、aspect_ratio_idc構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるわけではないこと、又は、sar_width構文要素及びsar_height構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であるわけではないことを示す。従って、bitstream_aspect_ratio_unchanging_flag構文要素は、ビットストリーム内のすべてのCVSが同じサンプルアスペクト比を有するかどうかを示すことができる。
[0204]SPSは、bit_depth_minus8構文要素と、bit_depth_chroma_minus8構文要素と、を含むことができる。1に等しい表2のbitstream_bit_depth_unchanging_flag構文要素は、bit_depth_minus8構文要素及びbit_depth_chroma_minus8構文要素が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一であることを示す。0に等しいbitstream_bit_depth_unchanging_flag構文要素は、bit_depth_minus8構文要素及びbit_depth_chroma_minus8構文要素が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関してそれぞれ同一でないことを示す。従って、bitstream_bit_depth_unchanging_flag構文要素は、ビットストリーム内のすべてのCVSがルマ及びクロマに関して同じ組のビット深度を有するかどうかを示すことができる。
[0205]さらに、1に等しい表2のbitstream_full_random_access_enabled_flag構文要素は、RAPアクセスユニットの前のすべてのアクセスユニットを廃棄することによってビットストリーム内の各RAPアクセスユニットの位置においてランダムアクセスを行うこと、及び、RAPピクチャ及び復号順序ですべての後続する非TFDピクチャを正確に復号することが可能であることを示す。すなわち、各RAPアクセスユニットに関して、RAPアクセスユニットの前のすべてのアクセスユニットが廃棄され、ビットストリームの残りの部分が復号されるときには、各パラメータセットは、アクティベートする必要があるときにビットストリーム内において依然として利用可能である。従って、bitstream_full_random_access_enabled_flag構文要素は、ビットストリーム内でのパラメータセットの存在が完全なランダムアクセス性を可能にするかどうかを示すことができる。これは、上記のランダムアクセスがいずれかのRAPアクセスユニットで行われるときに、各パラメータセットはアクティベートする必要があるときにビットストリームにおいて利用可能であることを要求することができる。
[0206]表2の例において、1に等しいbitstream_all_parameter_set_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのパラメータセットがビットストリーム内の第1のアクセスユニット内に存在することを示す。0に等しいbitstream_all_parameter_set_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのパラメータセットがビットストリーム内の第1のアクセスユニット内に存在するわけではないことを示す。bitstream_all_parameter_set_in_first_au_flag構文要素が1に等しいときには、例えば、(誤り弾力性目的のために)ビットストリーム内のその他のアクセスユニットにおいて繰り返されるパラメータセットが依然として存在することができる。しかしながら、繰り返されたVPS間ではパラメータセットの更新は行うことができない。従って、bitstream_all_parameter_set_in_first_au_flag構文要素は、ビットストリーム内の第1のアクセスユニット内にすべてのパラメータセットが存在するかどうかを示すことができる。
[0207]さらに、表2の例において、1に等しいbitstream_no_parameter_set_update_flag構文要素は、ビットストリーム内の少なくとも1つの映像パラメータセット、シーケンスパラメータセット、又はピクチャパラメータの内容が、パラメータセットNALユニット内のvideo_parameter_set_id、seq_parameter_set_id、又はpic_parameter_set_idを変更せずに変えられることを示す。0に等しいbitstream_no_parameter_set_update_flag構文要素は、パラメータセットの内容が、パラメータセットNALユニット内のvideo_parameter_set_id、seq_parameter_set_id、又はpic_parameter_set_idを変更せずに変えられないことを示す。従って、bitstream_no_parameter_set_update_flag構文要素は、ビットストリーム内において少なくとも1つのVPSが更新されるかどうか、ビットストリーム内において少なくとも1つのSPSが更新されるかどうか、又はビットストリーム内において少なくとも1つのPPSが更新されるかどうかを示す。
[0208]表2の例において、1に等しいbitstream_all_sps_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのSPSがビットストリーム内の第1のアクセスユニット内に存在することを示す。0に等しいbitstream_all_sps_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのSPSがビットストリーム内の第1のアクセスユニット内に存在するするわけではないことを示す。bitstream_all_sps_in_first_au_flag構文要素が1に等しいときには、例えば、誤り弾力性目的のために、ビットストリーム内のその他のアクセスユニットにおいて繰り返されるSPSが依然として存在することができる。しかしながら、繰り返されたSPS間ではSPSの更新は行うことができない。従って、bitstream_all_sps_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのSPSがビットストリーム内の第1のアクセスユニット内に存在するかどうかを示すことができる。
[0209]さらに、表2の例において、1に等しいbitstream_no_sps_update_flag構文要素は、ビットストリーム内の少なくとも1つのSPSの内容が、そのSPSをカプセル化するSPS NALユニット内のseq_parameter_set_idを変更せずに変えられることを示す。0に等しいbitstream_no_sps_update_flag構文要素は、ビットストリーム内の少なくとも1つのSPSの内容が、そのSPSをカプセル化するSPS NALユニット内のseq_parameter_set_idを変更せずに変えられないことを示す。従って、bitstream_no_sps_update_flag構文要素は、同じSPS識別子が使用される一方で少なくとも1つのSPSが更新されるかどうかを示すことができる。
[0210]1に等しい表2のbitstream_all_pps_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのPPSがビットストリーム内の第1のアクセスユニット内に存在することを示す。0に等しいbitstream_all_pps_in_first_au_flag構文要素は、ビットストリームが復号されるときにアクティベートされるすべてのPPSがビットストリーム内の第1のアクセスユニット内に存在するわけではないことを示す。bitstream_all_pps_in_first_au_flag構文要素が1に等しいときには、例えば、誤り弾力性目的のために、ビットストリーム内のその他のアクセスユニットにおいて繰り返されるPPSが依然として存在することができる。しかしながら、繰り返されたPPS間ではPPSの更新は行うことができない。従って、bitstream_all_pps_in_first_au_flag構文要素は、すべてのPPSがビットストリームの初めに存在するかどうかを示すことができる。
[0211]さらに、表2の例において、1に等しいbitstream_no_pps_update_flag構文要素は、ビットストリーム内の少なくとも1つのSPSの内容が、PPS NALユニット内のpic_parameter_set_id構文要素を変更せずに変えられることを示す。0に等しいbitstream_no_pps_update_flag構文要素は、ビットストリーム内のPPSの内容が、PPS NALユニット内のseq_parameter_set_id構文要素を変更せずに変えられないことを示す。従って、bitstream_no_pps_update_flag構文要素は、同じSPS識別子が使用される一方で少なくとも1つのPPSが変えられるかどうかを示すことができる。
[0212]SPSは、field_seq_flag構文要素を含むVUIパラメータ構文構造を含むことができる。さらに、表2の例において、1に等しいbitstream_progressive_frames_only_flag構文要素は、SPSのfield_seq_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して0に等しいこと、及び、ビットストリーム内にはフィールドインディケーションSEIメッセージは存在しないことを示す。0に等しいbitstream_progressive_frames_only_flag構文要素は、ビットストリーム内には少なくとも1つのフィールドインディケーションSEIメッセージが存在することを示す。従って、bitstream_progressive_frames_only_flag構文要素は、ビットストリーム内のすべてのCVSにはフレームピクチャ内でコーディングされたプログレッシブフレームのみが入っているかどうかを示すことができる。
[0213]表2の例において、1に等しいbitstream_unpacked_frames_only_flag構文要素は、ビットストリーム内にはフレームパッキングアレンジメントSEIメッセージは存在しないことを示す。0に等しいbitstream_unpacked_frames_only_flag構文要素は、ビットストリーム内には少なくとも1つのフレームパッキングアレンジメントSEIメッセージが存在することを示す。従って、bitstream_unpacked_frames_only_flag構文要素は、ビットストリーム内のすべてのCVSにフレームパッキングアレンジメントSEIメッセージが入っていないかどうかを示すことができる。
[0214]PPSは、tiles_enabled_flag構文要素を含むことができる。PPSのtiles_enabled_flag構文要素は、そのPPSを参照する各ピクチャ内に2つ以上のタイルが存在することができるかどうかを規定することができる。表2の例において、1に等しいbitstream_tiles_unchanging_flag構文要素は、PPSのtiles_enabled_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であることを示し、tiles_enabled_flag構文要素値が1に等しいときには、tiles_fixed_structure_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一である。0に等しいbitstream_tiles_unchanging_flag構文要素は、tiles_enabled_flag構文要素値が、ビットストリームが復号されるときにアクティベートされるすべてのPPSに関して同一でないか、又は、tiles_fixed_structure_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのSPSに関して同一であるわけではないことを示す。従って、bitstream_tiles_unchanging_flag構文要素は、ビットストリーム内のすべてのCVSが同じタイルコンフィギュレーションを有するかどうかを示すことができる。
[0215]PPSは、entropy_coding_sync_enabled_flag構文要素を含むことができる。表2の例において、1に等しいbitstream_wpp_unchanging_flag構文要素は、PPSのentropy_coding_sync_enabled_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であることを示す。0に等しいbitstream_wpp_unchanging_flag構文要素は、PPSのentropy_coding_sync_enabled_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であるわけではないことを示す。従って、bitstream_wpp_unchanging_flag構文要素は、ビットストリーム内のすべてのCVSがウェーブフロント並列処理を利用するかどうかを示すことができる。
[0216]dependent_slices_enabled_flag構文要素は、dependent_slices_enabled_flag構文要素がPPSを参照するコーディングされたピクチャに関するスライスヘッダ内に存在するかどうかを指定するPPS内の構文要素である。さらに、図2の例において、1に等しいbitstream_dependent_slices_unchanging_flag構文要素は、PPSのdependent_slices_enabled_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であることを示す。0に等しいbitstream_dependent_slices_unchanging_flag構文要素は、dependent_slices_enabled_flag構文要素の値が、ビットストリームが復号されるときにアクティベートされるすべてのPPSに関して同一であるわけではないことを示す。従って、bitstream_dependent_slices_unchanging_flag構文要素は、ビットストリーム内のすべてのCVSが従属するスライスを利用するかどうかを示すことができる。
[0217]さらに、表2の例において、0に等しいbitstream_properties_sei_extension_flag構文要素は、ビットストリームプロパティSEIメッセージ内において追加のデータが後続しないことを示す。bitstream_properties_sei_extension_flag構文要素の値が0に等しいものとすることは、1つのビットストリーム適合要件であることができる。bitstream_properties_sei_extension_flag構文要素に関する値1は、ITU−T|ISO/IECによる将来の使用のために予約することができる。幾つかの例では、映像復号器は、ビットストリームプロパティSEIメッセージ内のbitstream_properties_sei_extension_flag構文要素の値を無視するものとし及びbitstream_properties_sei_extension_flag構文要素に関する値1の後のビットストリームプロパティSEIメッセージ内で後続するすべてのデータを無視するものとする。従って、bitstream_properties_sei_extension_flag構文要素は、ビットストリームプロパティSEIメッセージにおいて追加のデータが後続するかどうかを示すことができる。
[0218]その他の例では、ビットストリームプロパティSEIメッセージの代わりにビットストリームレベルプロパティをシグナリングするために個別のNALユニットタイプが定義される。このNALユニットに属するNALユニットは、ビットストリームプロパティNALユニットと呼ぶことができる。ビットストリームプロパティNALユニットは、非VCL NALユニットとして指定することができる。ビットストリームプロパティNALユニットは、NALユニットが入っているビットストリーム全体に関する情報を提供することができる。ビットストリームプロパティNALユニットは、上の表2の構文要素の一部又は全部を含むことができる。
[0219]幾つかの例では、ビットストリームプロパティNALユニットは、ビットストリームの第1のアクセスユニット内に存在することができる。代替として、その他の例では、ビットストリームプロパティNALユニットは、ビットストリーム内のあらゆるRAPアクセスユニット内に存在することができる。さらに、幾つかの例では、ビットストリームプロパティNALユニットは、ビットストリーム内のあらゆるアクセスユニット内に存在することができる。幾つかの例では、ビットストリームプロパティNALユニットは、ビットストリームプロパティNALユニットが入ったアクセスユニット内のエレメンタリストリームレベルNALユニット以外の第1のNALユニットでなければならないことが要求される。代替として、その他の例では、各ビットストリームの第1のアクセスユニットは、ビットストリームプロパティNALユニットを含むものとすることが要求される。
[0220]図4は、複数のタイル202A、202B、202C、202D、202E、及び202F(総称して“タイル202”)に分割されるピクチャに関するCTBコーディング順序例を示した概念図である。ピクチャ200内の各々の正方形のブロックは、CTUと関連付けられたコーディングツリーブロック(CTB)を表す。太い破線は、タイル境界例を示す。異なるタイプの網目が異なるスライスに対応する。
[0221]ピクセルブロック内の数字は、ピクチャ200に関するタイルコーディング順序における対応するCTBの位置を示す。図4の例において示されるように、タイル202A内のCTBが最初にコーディングされ、タイル202B内のCTBによって後続され、タイル202C内のCTBによって後続され、タイル202D内のCTBによって後続され、タイル202E内のCTBによって後続され、タイル202F内のCTBによって後続される。タイル202の各々内において、CTBは、ラスター走査順序に従ってコーディングされる。
[0222]映像符号器は、ピクチャ200に関する4つのコーディングされたスライスNALユニットを生成することができる。第1のコーディングされたスライスNALユニットは、CTB1乃至18の符号化された表現を含むことができる。第1のコーディングされたスライスNALユニットのスライスデータは、2つのサブストリームを含むことができる。第1のサブストリームは、CTB1乃至9の符号化された表現を含むことができる。第2のサブストリームは、CTB10乃至18の符号化された表現を含むことができる。従って、第1のコーディングされたスライスNALユニットは、複数のタイルが入っているスライスの符号化された表現を含むことができる。
[0223]第2のコーディングされたスライスNALユニットは、CTB19乃至22の符号化された表現を含むことができる。第2のコーディングされたスライスNALユニットのスライスデータは、単一のサブストリームを含むことができる。第3のコーディングされたスライスNALユニットは、CTB23乃至27の符号化された表現を含むことができる。第3のコーディングされたスライスNALユニットのスライスデータは、単一のサブストリームのみを含むことができる。従って、タイル202Cは、複数のスライスを入れることができる。
[0224]第4のコーディングされたスライスNALユニットは、CTB28乃至45の符号化された表現を含むことができる。第4のコーディングされたスライスNALユニットのスライスデータは、3つのサブストリームを含むことができ、各々は、202D、202E、及び202Fに関する。従って、第4のコーディングされたスライスNALユニットは、複数のタイルが入っているスライスの符号化された表現を含むことができる。
[0225]図5は、WPPの例を示した概念図である。上述されるように、ピクチャは、CTBに分割することができ、それらの各々は、CTUと関連付けられる。図5は、白い正方形の格子としてのCTBを示す。ピクチャは、CTBロー(row)250A乃至250E(総称して、“CTBロー250”)を含む。
[0226](例えば、複数の並列処理コアのうちの1つによって実行される)第1の並列処理スレッドは、CTBロー250AにおけるコーディングCTBであることができる。同時並行して、(例えば、その他の並列処理コアによって実行される)その他のスレッドは、CTBロー250B、250C、及び250DにおけるコーディングCTBであることができる。図5の例において、第1のスレッドは、CTB252Aを現在コーディング中であり、第2のスレッドは、CTB252Bを現在コーディング中であり、第3のスレッドは、CTB252Cを現在コーディング中であり、第4のスレッドは、CTB252Dを現在コーディング中である。本開示は、CTB252A、252B、252C、及び252Dを総称して“現在のCTB252”と呼ぶことができる。映像コーダは、真上のローの3つ以上のCTBがコーディングされた後にCTBローのコーディングを開始することができるため、現在のCTB252は、2つのCTBの幅だけ互いに水平に変位される。
[0227]図5の例において、スレッドは、現在のCTB252内のCUに関するイントラ予測又はインター予測を行うために、太い灰色の矢印によって示されるCTBからのデータを使用することができる。(スレッドは、CUに関するインター予測を行うために1つ以上の基準フレームからのデータを使用することもできる。)所定のCTBをコーディングするために、スレッドは、以前にコーディングされたCTBと関連付けられた情報に基づいて1つ以上のCABACコンテキストを選択することができる。スレッドは、所定のCTBの第1のCUと関連付けられた構文要素に関するCABACコーディングを行うために1つ以上のCABACコンテキストを使用することができる。所定のCTBがロー(row)の左端のCTBでない場合は、スレッドは、所定のCTBの左のCTBの最後のCUと関連付けられた情報に基づいて1つ以上のCABACコンテキストを選択することができる。所定のCTBがローの左端のCTBである場合は、スレッドは、上方にあるCTBの最後のCU及び所定のCTBの右にある2つのCTBと関連付けられた情報に基づいて1つ以上のCABACコンテキストを選択することができる。スレッドは、現在のCTB252の第1のCUに関するCABACコンテキストを選択するために細い黒の矢印によって示されるCTBの最後のCUからのデータを使用することができる。
[0228]図6は、本開示の1つ以上の技法による、映像復号器30の動作例300を示したフローチャートである。図6の例において、映像処理デバイス(例えば、映像復号器30)は、映像データの符号化された表現を備えるビットストリーム内の補足的エンハンスメント情報(SEI)内の特定の構文要素に基づいて、映像復号器30がビットストリームを復号することができるかどうかを決定することができる(302)。幾つかの例では、シグナリングされたプロパティが特定の値を有するときには、ビットストリームのすべてのCVSが同じプロフィールに準拠する。他の例では、シグナリングされたプロパティは特定の構文要素(例えば、bitstream_profile_unchanging_flag)であることができ、特定の構文要素が特定の値を有するときには、ビットストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィールインジケータ(例えば、general_profile_idc)構文要素は、同一の値を有する。一般的プロフィールインジケータ構文要素の各々は、CVSが準拠するプロフィールを示す。
[0229]映像復号器30がビットストリームを復号することができるときには(302の“はい”)、映像処理デバイスは、ビットストリームを処理することができる(304)。例えば、映像処理デバイスは、ビットストリームを復号することができる。他の例では、映像処理デバイスは、ビットストリームを映像復号器30に転送することができる。他方、映像処理デバイスがビットストリームを復号することができないときには(302の“いいえ”)、映像処理デバイスは、ビットストリームを処理しない(306)。例えば、映像処理デバイスは、ビットストリームを復号しない。他の例では、映像処理デバイスは、ビットストリームを映像復号器30に転送しない。このようにして、映像処理デバイスは、決定に基づいて、ビットストリームを処理することができる。
[0230]図7は、本開示の1つ以上の技法による、映像処理デバイスの動作例350を示したフローチャートである。図7の例において、映像処理デバイスは、映像符号器(例えば、映像符号器20)、MANE、又は他のタイプのデバイスであることができる。さらに、図7の例において、映像処理デバイスは、ビットストリームのすべてのCVSが同じプロフィールに準拠するかどうかを決定することができる(352)。例えば、映像処理デバイスは、ビットストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィール構文要素が同一の値を有するかどうかを決定することができる。
[0231]さらに、映像処理デバイスは、ビットストリームのプロパティをシグナリングすることができ、そのプロパティが特定の値を有するときには、ビットストリームのすべてのCVSが同じプロフィールに準拠する(354)。例えば、映像処理デバイスは、ビットストリーム又はエレメンタリストリームにおいて、特定の構文要素が入っているSEIメッセージをシグナリングすることができる。この例では、特定の構文要素が特定の値を有するときには、ビットストリームが復号されるときにアクティベートされる各々のSPS内の一般的プロフィールインジケータ構文要素は、同一の値を有し、一般的プロフィールインジケータ構文要素の各々は、CVSが準拠するプロフィールを示す。
[0232]幾つかの例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリーム内のビットストリームプロパティの組又はエレメンタリストリーム内のESPの組をシグナリングすることを備え、シグナリングすることは、次のうちの少なくとも1つを備える。すなわち、ビットストリームプロパティSEIメッセージにおいてビットストリームプロパティの組をシグナリングする、ESP SEIメッセージにおいてESPの組をシグナリングする、個別のNALユニットタイプを有するNALユニットにおいてビットストリームプロパティの組をシグナリングすることであって、個別のNALユニットタイプは、NALユニットにおけるビットストリームプロパティの組の存在を定義する、個別のESP NALユニットタイプを有するNALユニットにおいてESPの組をシグナリングすることであって、個別のESP NALユニットタイプは、NALユニットにおけるESPの組の存在を定義する、ISO基本メディアファイル形式においてビットストリームプロパティの組をシグナリングする、ISO基本メディアファイル形式においてESPの組をシグナリングする、DASH MPDにおいてビットストリームプロパティの組をシグナリングすることであって、DASHは、HTTPにおけるダイナミックアダプティブストリーミングを意味し、HTTPは、ハイパーテキストトランスファプロトコルを意味し、MPDは、メディアプレゼンテーション記述を意味する、DASH MPDにおいてESPの組をシグナリングする、RFC6381によりCODECパラメータとしてビットストリームプロパティの組をシグナリングする、RFC6381によりCODECパラメータとしてESPの組をシグナリングする、セッション記述プロトコル(SDP)ファイルにおいてビットストリームプロパティの組をシグナリングする、及び、SDPファイルにおいてESPの組をシグナリングする。この例では、処理することは、符号化することを備えることができ、シグナリングすることは、ビットストリームプロパティの組を含めるためにビットストリームを生成すること又はESPを含めるためにエレメンタリストリームを生成することを含むことができる。代替として、この例では、処理することは、復号することを備え、シグナリングすることは、ビットストリームプロパティの組を含むビットストリームを受信及び復号すること及びESPを含むためにエレメンタリストリームを復号することを含む。この例では、処理することは、MANEにおいて生じることができ、シグナリングすることは、ビットストリームを完全に復号せずにビットストリームプロパティの組を受信及び解釈すること又はエレメンタリストリームを完全に復号せずにESPを受信及び解釈することを含む。この例の方法を実行するように構成されるデバイス。デバイスは、符号器、復号器、及びMANEのうちの1つを備えることができる。実行されたときにこの例の方法を実行することを1つ以上のプロセッサに行わせる命令を備えるコンピュータによって読み取り可能な記憶媒体。映像データを処理するデバイスであって、この例の方法を実行するための手段を備えるデバイス。
[0233]本開示の1つ以上の技法は、映像データを処理する方法を提供し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組をシグナリングすることは、ビットストリームプロパティSEIメッセージにおいてビットストリームプロパティの組をシグナリングすることを備える。この例では、ビットストリームプロパティSEIメッセージは、ビットストリームの第1のアクセスユニット内に存在することができる。代替として、この例では、ビットストリームプロパティSEIメッセージは、ビットストリームのRAPアクセスユニット内に存在する。この例では、ビットストリームプロパティSEIメッセージは、SEI NALユニット内に存在するときには、SEI NALユニット内の第1のSEIメッセージとして配置することができる。代替として、この例では、ビットストリームプロパティSEIメッセージは、存在するときには、その他のSEIメッセージが入っていないSEI NALユニット内に配置することができる。代替として、この例では、ビットストリームプロパティSEIメッセージは、SEI NALユニット内に存在するときには、SEI NALユニットが入っているアクセスユニット内のエレメンタリストリームレベルNALユニット以外の、アクセスユニットにおける第1のSEIメッセージとして配置される。この例では、ビットストリームは、ビットストリームプロパティSEIメッセージを含むSEI NALユニットを含む第1のアクセスユニットを含むことが要求されることがある。幾つかの例では、第1のアクセスユニット内のSEI NALユニットは、その他のSEIメッセージは含まない。この例の方法では、ビットストリームプロパティSEIメッセージは、次の複数のフラグのうちの1つ以上を備えることができる。すなわち、bitstream_profile_unchanging_flag、bitstream_tier_level_unchanging_flag、bitstream_spatial_resolution_unchanging_flag、bitstream_num_sub_layers_unchanging_flag、bitstream_max_bitrate_unchanging_flag、bitstream_max_pic_rate_unchanging_flag、bitstream_color_format_unchanging_flag、bitstream_aspect_ratio_unchanging_flag、bitstream_bit_depth_unchanging_flag、bitstream_full_random_access_enabled_flag、bitstream_all_parameter_sets_in_first_au_flag、bitstream_no_parameter_set_update_flag、es_all_sps_in_first_au_flag、es_no_sps_update_flag、es_all_pps_in_first_au_flag、es_no_pps_update_flag、bitstream_progressive_frames_only_flag、bitstream_unpacked_frames_only_flag、bitstream_tiles_unchanging_flag、bitstream_wwp_unchanging_flag、bitstream_dependent_slices_unchanging_flag、及び、bitstream_properties_sei_extension_flag。この方法例では、ビットストリームプロパティSEIメッセージは、上記の複数のフラグのサブセットを含むことができ、サブセットは、複数のフラグのうちの少なくとも2つ以上を含む。この方法例では、ビットストリームプロパティSEIメッセージは、上記の複数のフラグをすべて含むことができる。この方法例では、ビットストリームプロパティSEIメッセージは、上記されていない少なくとも1つの追加のフラグを含む。上記の方法は、処理することは符号化することを備えることと、ビットストリーム内のビットストリームプロパティの組をシグナリングすることは、ビットストリームプロパティの組を含むためにビットストリームを生成することを含むことと、をさらに備えることができる。上記の方法において、処理することは、復号することを備えることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットス
トリームプロパティの組を含むビットストリームを受信及び復号することを含むことができる。さらに、この方法では、処理することは、MANEにおいて生じることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームを完全に復号せずにビットストリームプロパティの組を受信及び解釈することを含むことができる。
[0234]他の例では、本開示は、映像データの処理方法について説明し、方法は、エレメンタリストリームでESPの組をシグナリングすることを備え、ESPの組をシグナリングすることは、ESP SEIメッセージにおいてESPの組をシグナリングすることを備える。この方法例では、ESP SEIメッセージは、ESP SEIメッセージが入っているエレメンタリストリーム全体に関する情報を含むことができる。さらに、この方法例では、ESP SEIメッセージは、エレメンタリストリームの第1のアクセスユニット内に含めることができる。この方法例では、ESP SEIメッセージは、エレメンタリストリームのRAPアクセスユニット内に含めることができる。この方法例では、ESP SEIメッセージは、エレメンタリストリームのあらゆるアクセスユニット内に含めることができる。さらに、この方法例では、ESP SEIメッセージは、SEI NALユニット内に存在するときには、SEI NALユニット内における第1のSEIメッセージとして配置される。この方法例では、ESP SEIメッセージは、存在するときには、その他のSEIメッセージが入っていないSEI NALユニット内に配置することができる。この方法では、ESP SEIメッセージは、SEI NALユニット内に存在するときには、アクセスユニット内における第1のSEIメッセージとして配置することができる。さらに、この方法例では、エレメンタリストリームは、ESP SEIメッセージを含むSEI NALユニットを含む第1のアクセスユニットを含むように要求されることがある。この方法例では、ESP SEIメッセージは、次の複数のフラグのうちの1つ以上を備えることができる。すなわち、es_profile_unchanging_flag、es_tier_level_unchanging_flag、es_spatial_resolution_unchanging_flag、es_num_sub_layers_unchanging_flag、es_max_bitrate_unchanging_flag、es_max_pic_rate_unchanging_flag、es_color_format_unchanging_flag、es_aspect_ratio_unchanging_flag、es_bit_depth_unchanging_flag、es_full_random_access_enabled_flag、es_all_vps_in_first_au_flag、es_no_vps_update_flag、es_all_sps_in_first_au_flag、es_no_sps_update_flag、es_all_pps_in_first_au_flag、es_no_pps_update_flag、es_progressive_frames_only_flag、es_unpacked_frames_only_flag、es_tiles_unchanging_flag、es_wwp_unchanging_flag、es_dependent_slices_unchanging_flag、及び、es_properties_sei_extension_flag。この方法例では、ESP SEIメッセージは、上記の複数のフラグのサブセットを含むことができ、サブセットは、複数のフラグのうちの少なくとも2つ以上を含む。この方法例では、ESP SEIメッセージは、上記の複数のフラグをすべて含むことができる。この方法例では、ESP SEIメッセージは、上記されていない少なくとも1つの追加のフラグを含む。上記の方法では、処理することは符号化することを備えることができ、ESPの組をシグナリングすることは、ESPを含むためにエレメンタリストリームを生成することを含むことと、をさらに備えることができる。この方法例では、処理することは、復号することを備えることができ、エレメンタリストリームにおいてESPの組をシグナリングすることは、ESPの組を含むエレメンタリストリームを受信及び復号することを含むことができる。この方法例では、処理することは、MANEにおいて生じることができ、エレメンタリストリームにおいてESPの組をシグナリングすることは、エレメンタリストリームを完全に復号せずにエレメンタリストリームを受信及び解釈することを含むことができる。
[0235]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組をシグナリングすることは、個別のNALユニットタイプを有するネットワーク抽象化層NALユニットにおいてビットストリームプロパティの組をシグナリングすることを備え、個別のNALユニットタイプは、NALユニットにおけるビットストリームプロパティの組の存在を定義する。この方法例では、個別のNALユニットタイプを有するNALユニットは、ビットストリームプロパティNALユニットを備えることができる。幾つかの例では、個別のNALユニットタイプを有するNALユニットは、可変長コーディング(VCL)することができない。この方法例では、個別のNALユニットタイプを有するNALユニットは、NALユニットが入っているビットストリーム全体に関する情報を提供することができる。この方法例では、個別のNALユニットタイプを有するNALユニットは、ビットストリームの第1のアクセスユニット内に存在することができる。この例では、個別のNALユニットタイプを有するNALユニットは、ビットストリームのRAPアクセスユニット内に存在することができる。この例では、個別のNALユニットタイプを有するNALユニットは、ビットストリーム内のあらゆるアクセスユニットにおいて存在することができる。この例では、個別のNALユニットタイプを有するNALユニットは、個別のNALユニットタイプを有するNALユニットが入っているアクセスユニット内のエレメンタリストリームレベルNALユニット以外の第1のNALユニットを備えることができる。この例では、個別のNALユニットタイプを有するNALユニットは、特定の映像コーディング規格によりコーディングされるすべてのビットストリームの第1のアクセスユニットにおいて含めることができる。この例では、処理することは、符号化することを備えることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームプロパティの組を含めるためにビットストリームを生成することを含むことができる。この例では、処理することは、復号することを備えることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームプロパティの組を含むビットストリームを受信及び復号することを含むことができる。この例では、処理することは、MANEにおいて生じることができ、ビットストリームにおいてビットストリームの組をシグナリングすることは、ビットストリームを完全に復号せずにビットストリームプロパティの組を受信及び解釈することを含む。この例では、方法を実行するデバイスは、符号器、復号器、及びMANEのうちの1つを備えることができる。
[0236]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPの組をシグナリングすることは、個別のESP NALユニットタイプを有するNALユニットにおいてESPの組をシグナリングすることを備え、個別のNALユニットタイプは、NALユニットにおけるESPプロパティの組の存在を定義する。幾つかの例において、この例では、個別のESP NALユニットタイプを有するNALユニットは、可変長コーディング(VCL)することができない。この例では、個別のNALユニットタイプを有するNALユニットは、NALユニットが入っているビットストリーム全体に関する情報を提供することができる。この例では、個別のNALユニットタイプを有するNALユニットは、ビットストリームの第1のアクセスユニット内に存在することができる。この例では、個別のESP NALユニットタイプを有するNALユニットは、ビットストリームのRAPアクセスユニット内に存在することができる。この例では、個別のESP NALユニットタイプを有するNALユニットは、ビットストリーム内のあらゆるアクセスユニットにおいて存在することができる。この例では、個別のESP NALユニットタイプを有するNALユニットは、個別のESP NALユニットタイプを有するNALユニットが入っているアクセスユニット内の第1のNALユニットを備えることができる。この例では、個別のESP NALユニットタイプを有するNALユニットは、特定の映像コーディング規格によりコーディングされるすべてのエレメンタリストリームの第1のアクセスユニットにおいて含めることができる。この例では、処理することは、符号化することを備えることができ、ESPの組をシグナリングすることは、ESPの組を含めるためにエレメンタリストリームを生成することを含むことができる。この例では、処理することは、復号することを備えることができ、ESPの組をシグナリングすることは、ESPの組を含むエレメンタリストリームを受信及び復号することを含むことができる。この例では、処理することは、MANEにおいて生じることができ、ESPの組をシグナリングすることは、エレメンタリストリームを完全に復号せずにESPを受信及び解釈することを含む。この例では、方法を実行するデバイスは、符号器、復号器、及びMANEのうちの1つを備えることができる。
[0237]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組をシグナリングすることは、ISO基本メディアファイル形式でビットストリームプロパティの組をシグナリングすることを備える。この例では、ISO基本メディアファイル形式は、HEVCトラックにおけるサンプルエントリを備えることができる。この例では、ISO基本メディアファイル形式は、トラックヘッダボックス、メディア情報ボックス、及びHEVC映像トラックの映像メディアヘッダボックスのうちの1つ以上に入っているプロパティボックスを備えることができる。
[0238]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPの組をシグナリングすることは、ISO基本メディアファイル形式でESPの組をシグナリングすることを備える。この例では、ISO基本メディアファイル形式は、トラックヘッダボックス、メディア情報ボックス、及びHEVC映像トラックの映像メディアヘッダボックスのうちの1つ以上に入っているエレメンタリストリームプロパティボックスを備えることができる。この例では、処理することは、符号化することを備えることができ、ビットストリームプロパティの組又はESPをシグナリングすることは、ビットストリームの組を含めるためにビットストリームを生成すること又はESPを含めるためにエレメンタリストリームを生成することを含むことができる。この例では、処理することは、復号することを備えることができ、ビットストリームプロパティの組又はESPをシグナリングすることは、ビットストリームプロパティの組を含むビットストリーム又はESPを含むエレメンタリストリームを受信及び復号することを含む。この例では、処理することは、MANEにおいて生じることができ、ビットストリームプロパティの組又はESPをシグナリングすることは、ビットストリーム又はエレメンタリストリームを完全に復号せずにビットストリームの組又はESPを受信及び解釈することを含む。この例では、方法を実行するデバイスは、符号器、復号器、及びMANEのうちの1つを備えることができる。
[0239]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組をシグナリングすることは、DASH MPDにおいてビットストリームプロパティの組をシグナリングすることを備え、DASHは、HTTPにおけるダイナミックアダプティブストリーミングを意味し、HTTPは、ハイパーテキストトランスファプロトコルを意味し、MPDは、メディアプレゼンテーション記述を意味する。この例において、DASH MPDにおいてビットストリームプロパティの組をシグナリングすることは、期間レベル、適合セットレベル、表現レベル、及びサブ表現レベルのうちの1つにおいてシグナリングすることを備えることができる。
[0240]他の例では、本開示は、映像データを処理する方法について説明し、方法は、DASH MPDにおいてESPの組をシグナリングすることを備え、DASHは、HTTPにおけるダイナミックアダプティブストリーミングを意味し、HTTPは、ハイパーテキストトランスファプロトコルを意味し、MPDは、メディアプレゼンテーション記述を意味する。この例において、DASH MPDにおいてESPの組をシグナリングすることは、期間レベル、適合セットレベル、表現レベル、及びサブ表現レベルのうちの1つにおいてシグナリングすることを備えることができる。
[0241]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組をシグナリングすることは、RFC6381によりCODECパラメータとしてビットストリームプロパティの組をシグナリングすることを備える。この例では、CODECパラメータとしてビットストリームプロパティの組をシグナリングすること
は、ビットストリームのプロフィール、タイア及びレベルの最大の組を表現するためにコーデックスパラメータにおいて複数のプロフィール及び/又はタイア及びレベルをシグナリングすることを備える。
[0242]他の例では、本開示は、映像データを処理する方法について説明し、方法は、RFC6381によりCODECパラメータとしてESPの組をシグナリングすることを備える。この例では、CODECパラメータとしてESPの組をシグナリングすることは、エレメンタリストリームのプロフィール、タイア及びレベルの最大の組を表現するためにコーデックスパラメータにおいて複数のプロフィール及び/又はタイア及びレベルをシグナリングすることを備える。
[0243]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組をシグナリングすることは、SDPファイルにおいてビットストリームプロパティの組をシグナリングすることを備える。この例では、SDPファイルにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームのプロフィール、タイア及びレベルの最大の組を表現するために1つ以上のメディアレベルSDP属性において複数のプロフィール及び/又はタイア及びレベルをシグナリングすることを備えることができる。この例では、SDPファイルにおいてビットストリームプロパティの組をシグナリングすることは、複数のプロフィールを含む任意選択のペイロードタイプパラメータを使用することを備えることができる。
[0244]他の例では、本開示は、映像データを処理する方法について説明し、方法は、SDPファイルにおいてESPの組をシグナリングすることを備える。この例では、SDPファイルにおいてESPの組をシグナリングすることは、ビットストリームにおけるプロフィール、タイア及びレベルの最大の組を表現するために1つ以上のメディアレベルSDP属性において複数のプロフィール及び/又はタイア及びレベルをシグナリングすることを備えることができる。この例では、SDPファイルにおいてビットストリームプロパティの組をシグナリングすることは、複数のプロフィールを含む任意選択のペイロードタイプパラメータを使用することを備えることができる。この例では、処理することは、符号化することを備えることができ、ビットストリームプロパティの組又はESPをシグナリングすることは、ビットストリームプロパティの組又はESPを含めるためにビットストリーム又はエレメンタリストリームを生成することを含むことができる。この例では、処理することは、復号することを備えることができ、ビットストリームプロパティの組又はESPをシグナリングすることは、ビットストリームプロパティの組又はESPを含むエレメンタリストリームを受信及び復号することを含むことができる。この例では、処理することは、MANEにおいて生じることができ、ビットストリームプロパティの組をシグナリングすることは、ビットストリーム又はエレメンタリストリームを完全に復号せずにビットストリームプロパティの組又はESPを受信及び解釈することを備えることができる。この例では、方法を実行するデバイスは、符号器、復号器、及びMANEのうちの1つを備えることができる。
[0245]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSに関してタイア及びレベルが不変のままであるかどうかを示す情報を含む。
[0246]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ空間解像度を有するかどうかを示す情報を含む。
[0247]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ最大数の時間的副層を有するかどうかを示す情報を含む。
[0248]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ最大数の層を有するかどうかを示す情報を含む。この例では、方法は、ビットストリーム内のすべてのCVSにおいて、すべての層が同じ組の層IDを有するかどうかをシグナリングすることをさらに備えることができる。
[0249]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ組の動作ポイントをサポートするかどうかを示す情報を含む。
[0250]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ最大ピクチャレートを有するかどうかを示す情報を含む。
[0251]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ最大ビットレートを有するかどうかを示す情報を含む。
[0252]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じカラーフォーマットを有するかどうかを示す情報を含む。
[0253]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じサンプルアスペクト比を有するかどうかを示す情報を含む。
[0254]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが、ルマサンプル及びクロマサンプルに関して同じ組のビット深度を有するかどうかを示す情報を含む。
[0255]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、少なくとも1つのパラメータセットがビットストリームにおいて更新されるかどうかを示す情報を含む。
[0256]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリームの初めにすべてのパラメータセットが存在するかどうかを示す情報を含む。
[0257]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリームにおけるパラメータセットの存在が完全なランダムアクセス性を可能にするかどうかを示す情報を含む。
[0258]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSにフレームピクチャでコーディングされたプログレッシブフレームのみが入っているかどうかを示す情報を含む。
[0259]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSにフレームパッキングアレンジメントSEIメッセージが入ってないかどうかを示す情報を含む。
[0260]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSにタイルのサポートが入っているかどうかを示す情報を含む。
[0261]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じタイルコンフィギュレーションを有するかどうかを示す情報を含む。
[0262]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じコーディングツリーブロックサイズを有するかどうかを示す情報を含む。
[0263]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ最大コーディングツリーブロックサイズを有するかどうかを示す情報を含む。
[0264]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ最小コーディングツリーブロックサイズを有するかどうかを示す情報を含む。
[0265]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが同じ組のシーケンスレベルパラメータを有するかどうかを示す情報を含む。
[0266]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSがシーケンスレベルパラメータのコメントセットを有するかどうかを示す情報を含む。
[0267]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSが特定のコーディングツールを利用するかどうかを示す情報を含む。この例では、特定のコーディングツールは、従属的スライス、ウェーブフロント並列処理、タイル、及び重み付き予測のうちの1つであることができる。
[0268]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSがSOP記述SEIメッセージによって記述されるのと同じSOPを有するかどうかを示す情報を含む。
[0269]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのCVSを復号すること及び受け入れ可能な品質で出力することができるかどうかを示す情報を含む。
[0270]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリームが復号されるときにアクティベートされるVPSが1つだけ存在すべきであるかどうかを示す情報を含む。この例では、方法は、1つのVPSのVPS識別(ID)をシグナリングすることをさらに備えることができる。
[0271]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリームが復号されるときにアクティベートされるSPSが1つだけ存在すべきであるかどうかを示す情報を含む。この例では、方法は、1つのSPSのSPS識別(ID)をシグナリングすることをさらに備えることができる。
[0272]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリームが復号されるときにアクティベートされるPPSが1つだけ存在すべきであるかどうかを示す情報を含む。この例では、方法は、1つのPPSのPPS識別(ID)をシグナリングすることをさらに備えることができる。
[0273]他の例では、映像データを処理する方法であって、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、すべてのRAPピクチャがビットストリームにおけるIDRピクチャであるかどうかを示す情報を含む。
[0274]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、すべてのRAPピクチャがビットストリームにおけるIDRピクチャであるわけではないかどうかを示す情報を含む。
[0275]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、DRピクチャであるRAPピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0276]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、RAPピクチャである非IDRピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0277]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのRAPピクチャがCRAピクチャであるかどうかを示す情報を含む。
[0278]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのRAPピクチャがCRAピクチャであるわけではないかどうかを示す情報を含む。
[0279]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、CRAピクチャであるRAPピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0280]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、RAPピクチャである非CRAピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0281]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのRAPピクチャがBLAピクチャであるかどうかを示す情報を含む。
[0282]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のすべてのRAPピクチャがBLAピクチャであるわけではないかどうかを示す情報を含む。
[0283]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、BLAピクチャであるRAPピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0284]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、BLAピクチャである非IDRピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0285]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、DLPピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0286]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、非NLPピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0287]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、時間的TSAピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0288]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、STSAピクチャがビットストリーム内に存在するかどうかを示す情報を含む。
[0289]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、sps_temporal_id_nesting_flagの値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関して同一であるかどうかを示す情報を含む。
[0290]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティの組は、vps_temporal_id_nesting_flagの値が、エレメンタリストリームが復号されるときにアクティベートされるすべての映像パラメータセットに関して同一であるかどうかを示す情報を含む。
[0291]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のビットストリームプロパティの組を示す情報を含む。
[0292]映像データを処理する方法であって、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のプロフィールの最大の組を示す情報を含む。
[0293]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組のタイア及びレベルを示す情報を含む。
[0294]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組の空間解像度を示す情報を含む。
[0295]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組の最大数の時間的副層を示す情報を含む。
[0296]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組の最大数の層及び最大数の層識別(ID)を示す情報を含む。
[0297]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組の動作ポイントを示す情報を含む。
[0299]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組の最大のビットレートを示す情報を含む。
[0300]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組のカラーフォーマットを示す情報を含む。
[0301]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組のサンプルアスペクト比を示す情報を含む。
[0302]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組のルマビット深度及びクロマビット深度を示す情報を含む。
[0303]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組のフレームパッキングタイプを示す情報を含む。
[0304]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組のタイルを示す情報を含む。
[0305]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内の最大の組の最大コーディングツリーブロックサイズ及び最小コーディングブロックサイズを示す情報を含む。
[0306]他の例では、本開示は、上述される方法のあらゆる組み合わせを備える方法について説明する。この方法例及びその他の方法例において、方法は、ビットストリームプロパティの組をシグナリングすることを備えることができる。この例では、ビットストリームプロパティの組をシグナリングすることは、次のうちの少なくとも1つを備えることができる。すなわち、ビットストリームプロパティSEIメッセージにおいてビットストリームプロパティの組をシグナリングする、個別のNALユニットタイプを有するNALユニットにおいてビットストリームプロパティの組をシグナリングすることであって、個別のNALユニットタイプは、NALユニットにおけるビットストリームプロパティの組の存在を定義する、ISO基本メディアファイル形式においてビットストリームプロパティの組をシグナリングする、DASH MPDにおいてビットストリームプロパティの組をシグナリングすることであって、DASHは、HTTPにおけるダイナミックアダプティブストリーミングを意味し、HTTPは、ハイパーテキストトランスファプロトコルを意味し、MPDは、メディアプレゼンテーション記述を意味する、RFC6381によりCODECパラメータとしてビットストリームプロパティの組をシグナリングする、及び、SDPファイルにおいてビットストリームプロパティの組をシグナリングする。この方法では、処理することは、符号化することを備えることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームプロパティの組を含めるためにビットストリームを生成することを含むことができる。代替として、この方法では、処理することは、復号することを備えることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームプロパティの組を含むビットストリームを受信及び復号することを含むことができる。この方法では、処理することは、MANEにおいて生じることができ、ビットストリームにおいてビットストリームプロパティの組をシグナリングすることは、ビットストリームを完全に復号せずにビットストリームプロパティの組を受信及び解釈することを含むことができる。
[0307]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSに関してタイア及びレベルが不変のままであるかどうかを示す情報を含む。
[0308]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、ビットストリーム内のすべてのCVSが同じ空間解像度を有するかどうかを示す情報を含む。
[0309]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ最大数の時間的副層を有するかどうかを示す情報を含む。
[0310]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ最大数の層を有するかどうかを示す情報を含む。この例では、方法は、エレメンタリストリーム内のすべてのCVSにおいて、すべての層が同じ組の層IDを有するかどうかをシグナリングすることをさらに備えることができる。
[0311]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ組の動作ポイントをサポートするかどうかを示す情報を含む。
[0312]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組の組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ最大ピクチャレートを有するかどうかを示す情報を含む。
[0313]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ最大ビットレートを有するかどうかを示す情報を含む。
[0314]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じカラーフォーマットを有するかどうかを示す情報を含む。
[0315]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じサンプルアスペクト比を有するかどうかを示す情報を含む。
[0316]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが、ルマサンプル及びクロマサンプルに関して同じ組のビット深度を有するかどうかを示す情報を含む。
[0317]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリームにおいて少なくとも1つのパラメータセットが更新されるかどうかを示す情報を含む。
[0318]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、すべてのパラメータセットがエレメンタリストリームの初めに存在するかどうかを示す情報を含む。
[0319]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリームにおけるパラメータセットの存在が完全なランダムアクセス性を可能にするかどうかを示す情報を含む。
[0320]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSにフレームピクチャでコーディングされたプログレッシブフレームのみが入っているかどうかを示す情報を含む。
[0321]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSにフレームパッキングアレンジメントSEIメッセージが入ってないかどうかを示す情報を含む。
[0322]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSにタイルのサポートが入っているかどうかを示す情報を含む。
[0323]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じタイルコンフィギュレーションを有するかどうかを示す情報を含む。
[0324]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じコーディングツリーブロックサイズを有するかどうかを示す情報を含む。
[0325]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ最大コーディングツリーブロックサイズを有するかどうかを示す情報を含む。
[0326]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ最小コーディングツリーブロックサイズを有するかどうかを示す情報を含む。
[0327]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが同じ組のシーケンスレベルパラメータを有するかどうかを示す情報を含む。
[0328]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSがシーケンスレベルパラメータのコメントセットを有するかどうかを示す情報を含む。
[0329]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSが特定のコーディングツールを利用するかどうかを示す情報を含む。この例では、特定のコーディングツールは、従属的スライス、ウェーブフロント並列処理、タイル、及び重み付き予測のうちの1つであることができる。
[0330]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSがSOP記述SEIメッセージによって記述されるのと同じSOPを有するかどうかを示す情報を含む。
[0331]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのCVSを復号すること及び受け入れ可能な品質で出力することができるかどうかを示す情報を含む。
[0332]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリームが復号されるときにアクティベートされるVPSが1つだけ存在すべきであるかどうかを示す情報を含む。この例では、方法は、1つのVPSのVPS識別(ID)をシグナリングすることをさらに備えることができる。
[0333]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリームが復号されるときにアクティベートされるSPSが1つだけ存在すべきであるかどうかを示す情報を含む。この例では、方法は、1つのSPSのSPS識別(ID)をシグナリングすることをさらに備えることができる。
[0334]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリームが復号されるときにアクティベートされるPPSが1つだけ存在すべきであるかどうかを示す情報を含む。この例では、方法は、1つのPPSのPPS識別(ID)をシグナリングすることをさらに備えることができる。
[0335]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、すべてのRAPピクチャがエレメンタリストリームにおけるIDRピクチャであるかどうかを示す情報を含む。
[0336]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、すべてのRAPピクチャがエレメンタリストリームにおけるIDRピクチャであるわけではないかどうかを示す情報を含む。
[0337]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、IDRピクチャであるRAPピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0338]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、RAPピクチャである非IDRピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0339]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのRAPピクチャがCRAピクチャであるかどうかを示す情報を含む。
[0340]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのRAPピクチャがCRAピクチャであるわけではないかどうかを示す情報を含む。
[0341]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、CRAピクチャであるRAPピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0342]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、RAPピクチャである非CRAピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0343]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのRAPピクチャがBLAピクチャであるかどうかを示す情報を含む。
[0344]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内のすべてのRAPピクチャがBLAピクチャであるわけではないかどうかを示す情報を含む。
[0345]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、BLAピクチャであるRAPピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0346]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、BLAピクチャである非IDRピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0347]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、DLPピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0348]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、NLPピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0349]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、TSAピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0350]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、STSAピクチャがエレメンタリストリーム内に存在するかどうかを示す情報を含む。
[0351]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、sps_temporal_id_nesting_flagの値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関して同一であるかどうかを示す情報を含む。
[0352]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPの組は、vps_temporal_id_nesting_flagの値が、エレメンタリストリームが復号されるときにアクティベートされるすべての映像パラメータセットに関して同一であるかどうかを示す情報を含む。
[0353]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ビットストリームプロパティは、ビットストリーム内のプロフィールの組を示す情報を含む。
[0354]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリームのプロフィールの最大の組を示す情報を含む。
[0355]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組のタイア及びレベルを示す情報を含む。
[0356]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組の空間解像度を示す情報を含む。
[0357]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、ビットストリーム内の最大の組の最大数の時間的副層を示す情報を含む。
[0358]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、ビットストリーム内の最大の組の最大数の層及び最大数の層識別(ID)を示す情報を含む。
[0359]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組の動作ポイントを示す情報を含む。
[0360]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組の最大のフレームレートを示す情報を含む。
[0361]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組の最大のビットレートを示す情報を含む。
[0362]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組のカラーフォーマットを示す情報を含む。
[0363]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組のサンプルアスペクト比を示す情報を含む。
[0364]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組のルマビット深度及びクロマビット深度を示す情報を含む。
[0365]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組のフレームパッキングタイプを示す情報を含む。
[0366]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組のタイルを示す情報を含む。
[0367]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてESPの組をシグナリングすることを備え、ESPは、エレメンタリストリーム内の最大の組の最大コーディングツリーブロックサイズ及び最小コーディングブロックサイズを示す情報を含む。
[0368]他の例では、本開示は、エレメンタリストリームにおいてESPSの組をシグナリングする上述される方法のあらゆる組み合わせを備える方法について説明する。この例において、ESPの組をシグナリングすることは、次のうちの少なくとも1つを備えることができる。すなわち、ESP SEIメッセージにおいてESPの組をシグナリングする、個別のNALユニットタイプを有するNALユニットにおいてESPの組をシグナリングすることであって、個別のNALユニットタイプは、NALユニットにおけるESPの組の存在を定義する、ISO基本メディアファイル形式においてESPの組をシグナリングする、DASH MPDにおいてESPの組をシグナリングする、RFC6381によりCODECパラメータとしてESPの組をシグナリングする、及び、SDPファイルにおいてESPの組をシグナリングする。この例では、処理することは、符号化することを備えることができ、ESPの組をシグナリングすることは、ESPの組を含めるためにエレメンタリストリームを生成することを含むことができる。この例では、処理することは、復号することを備えることができ、ESPの組をシグナリングすることは、ESPの組を含むエレメンタリストリームを受信及び復号することを含むことができる。この例では、処理することは、MANEにおいて生じることができ、ESPの組をシグナリングすることは、エレメンタリストリームを完全に復号せずにESPの組を受信及び解釈することを含むことができる。
[0369]他の例では、本開示は、映像データを処理する方法について説明し、方法は、ビットストリームにおいてビットストリームプロパティをシグナリングすることを備え、ビットストリームプロパティは、本開示において説明されるビットストリームプロパティのうちの1つ以上を含む。この例では、処理することは、符号化することを意味し、シグナリングすることは、ビットストリーム又はエレメンタリストリームを受信及び解釈することを備えることができる。この例では、処理することは、復号せずに処理することを意味することができ、シグナリングすることは、ビットストリーム又はエレメンタリストリームの一部分を受信及び解釈することを備えることができる。
[0370]他の例では、本開示は、映像データを処理する方法について説明し、方法は、エレメンタリストリームにおいてエレメンタリストリームプロパティをシグナリングすることを備え、エレメンタリストリームプロパティは、本開示において説明されるエレメンタリストリームプロパティのうちの1つ以上を含む。この例では、処理することは、符号化することを意味し、シグナリングすることは、ビットストリーム又はエレメンタリストリームを生成することを備えることができる。この例では、処理することは、復号することを意味し、シグナリングすることは、ビットストリーム又はエレメンタリストリームを受信及び解釈することを備えることができる。この例では、処理することは、復号せずに処理することを意味することができ、シグナリングすることは、ビットストリーム又はエレメンタリストリームの一部分を受信及び解釈することを備えることができる。
[0371]上述される方法例のうちの1つ以上、又はそれらの組み合わせにおいて、プロパティは、次のうち少なくとも1つを示す情報を含むことができる。
1) タイア及びレベルがビットストリーム又はエレメンタリストリーム内のすべてのCVSに関して不変であるかどうか。
2) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じ空間解像度を有するかどうか。
3) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じ(最大の)数の時間的副層を有するかどうか。
4) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じ(最大の)数の層(すなわち、VCL NALユニットに関するnuh_reserved_zero_6bitsに関する値の数)を有するかどうかであり、はいである場合は、ビットストリーム又はエレメンタリストリーム内のすべてのCVSにおいて、すべての層が層識別子の同じ組(すなわち、nuh_reserved_zero_6bits値の同じ組)を有するかどうか。
5) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが動作ポイントの同じ組をサポートするかどうか。動作ポイントは、例えば、OpLayerIdSetで表される、nuh_reserved_zero_6bits値の組、及び、OpTidで現される、TemporalId値によって識別され、OpTid及びOpLayerIdSetを入力とするHEVCにおいて規定されるサブビットストリーム抽出プロセスの出力として導き出される関連付けられたビットストリームサブセットは、独立して復号可能である。
6) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じ(最大の)ピクチャレートを有するかどうか。
7) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じ最大のビットレートを有するかどうか。
8) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じカラーフォーマットを有するかどうか。
9) ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じサンプルアスペクト比を有するかどうか。
10)ビットストリーム又はエレメンタリストリーム内のすべてのCVSがルマ及びクロマに関して同じ組のビット深度を有するかどうか。
11)ビットストリーム又はエレメンタリストリーム内において、少なくとも1つのパラメータセットが更新されるかどうか。すなわち、VPS、SPS又はPPSは変更されるが、同じVPS、SPS、又はPPS IDが使用されるかどうか。又は、ビットストリーム又はエレメンタリストリーム内において少なくとも1つのVPSが更新されるかどうか、ビットストリーム又はエレメンタリストリーム内において少なくとも1つのSPSが更新されるかどうか、及び、ビットストリーム又はエレメンタリストリーム内において少なくとも1つのPPSが更新されるかどうか。
12)すべてのパラメータセットがビットストリーム又はエレメンタリストリームの初め(すなわち、ビットストリーム又はエレメンタリストリーム内の最初のアクセスユニット内)に存在するかどうか。その条件が真である場合は、例えば、誤りに対する弾力性を目的として、その他のアクセスユニット内で繰り返されるパラメータセットが依然として存在していることに注目すること。しかしながら、繰り返されたパラメータセット間ではパラメータセットの更新が行われない。又は、ビットストリーム又はエレメンタリストリームの初めにすべてのVPSが存在しているかどうか、ビットストリーム又はエレメンタリストリームの初めにすべてのSPSが存在しているかどうか、及び、ビットストリーム又はエレメンタリストリームの初めにすべてのPPSが存在しているかどうか。
13)ビットストリーム又はエレメンタリストリーム内でのパラメータセットの存在がフルランダムアクセス性を可能にするかどうか。すなわち、RAPアクセスユニットの前のすべてのアクセスユニットを廃棄することによって各RAPアクセスユニットの位置においてランダムアクセスを行うこと(及びRAPピクチャ及び復号順序ですべての後続する非TFDピクチャを正確に復号すること)が可能であるかどうか。これは、いずれかのRAPアクセスユニットにおいて上記のランダムアクセスが行われたときで、パラメータセットをアクティベーションする必要があるときにビットストリームにおいて各パラメータセットが利用可能であることを要求することがある。
14)ビットストリーム又はエレメンタリストリーム内のすべてのCVSにフレームピクチャにおいてコーディングされたプログレッシブフレームのみが入っているかどうか、すなわち、走査タイプがインターレースではなくプログレッシブである、及びフィールドピクチャが存在しない。
15)ビットストリーム又はエレメンタリストリーム内のすべてのCVSにフレームパッキングアレンジメントSEIメッセージが入っていないかどうか。すなわち、ビットストリーム又はエレメンタリストリーム内の各CVSによって表現される映像セグメントがフレームパッキングされていないかどうか。
16)ビットストリーム又はエレメンタリストリーム内のすべてのCVSがタイルのサポート及び/又は同じタイルコンフィギュレーションを有するかどうか。
17)ビットストリーム又はエレメンタリストリーム内のすべてのCVSが同じコーディングツリーブロックサイズ及び同じ最小コーディングブロックサイズを有するかどうか。
18)ビットストリーム又はエレメンタリストリーム内のすべてのCVSがシーケンスレベルHRDパラメータの同じ組(又はその一部)(例えば、HEVCにおいて規定されるようにhrd_parameters( )構文構造においてシグナリング)及び/又は復号されたピクチャバッファサイズの同じ組(例えば、HEVCにおいて規定されるようにvps_max_dec_pic_buffering[i]構文要素によってシグナリング)を有するかどうか。
19)ビットストリーム又はエレメンタリストリーム内のすべてのCVSが特定のコーディングツール、例えば、従属的スライス(dependent_slices_enabled_flag構文要素が1に等しいときにサポートされる)、ウェーブフロント並列処理(entropy_coding_sync_enabled_flag構文要素が1に等しいときにサポート)、重み付き予測、等を利用するかどうか。
20)ビットストリーム又はエレメンタリストリーム内のすべてのCVSがSOP記述SEIメッセージによって記述されるピクチャの同じ構造(SOP)を有するかどうか。
21)ビットストリーム又はエレメンタリストリーム内のすべてのCVS内のTFDピクチャを復号して受け入れ可能な品質で出力することができるかどうか。
22)ビットストリーム又はエレメンタリストリームが復号されるときにアクティベートされるVPSは1つだけであるかどうか。はいである場合は、そのVPSのVPS ID。
23)ビットストリーム又はエレメンタリストリームが復号されるときにアクティベートされるSPSは1つだけであるかどうか。はいである場合は、そのSPSのSPS ID。
24)ビットストリーム又はエレメンタリストリームが復号されるときにアクティベートされるPPSは1つだけであるかどうか。はいである場合は、そのPPSのPPS ID。
25)次のうちの1つ以上及びそれらの組み合わせ。
a.ビットストリーム又はエレメンタリストリームにおいて、すべてのRAPピクチャがIDRピクチャであるかどうか。
b.ビットストリーム又はエレメンタリストリームにおいて、すべてのRAPピクチャがIDRピクチャであるわけではないどうか。
c.ビットストリーム又はエレメンタリストリームにおいて、IDRピクチャであるRAPピクチャが存在するかどうか。
d.ビットストリーム又はエレメンタリストリームにおいて、非IDR RAPピクチャが存在するかどうか。
e.ビットストリーム又はエレメンタリストリームにおいて、すべてのRAPピクチャがCRAピクチャであるかどうか。
f.ビットストリーム又はエレメンタリストリームにおいて、ビットストリーム内のすべてのRAPピクチャがCRAピクチャであるわけではないかどうか。
g.ビットストリーム又はエレメンタリストリームにおいて、CRAピクチャであるRAPピクチャが存在するかどうか。
h.ビットストリーム又はエレメンタリストリームにおいて、非CRA RAPピクチャが存在するかどうか。
i.ビットストリーム又はエレメンタリストリームにおいて、すべてのRAPピクチャがBLAピクチャであるかどうか。
j.ビットストリーム又はエレメンタリストリームにおいて、すべてのRAPピクチャがBLAピクチャであるわけではないかどうか。
k.ビットストリーム又はエレメンタリストリームにおいて、BLAピクチャであるRAPピクチャが存在するかどうか。
l.ビットストリーム又はエレメンタリストリームにおいて、非IDR BLAピクチャが存在するかどうか。
m.ビットストリーム又はエレメンタリストリームにおいて、DLPピクチャが存在するかどうか。
n.ビットストリーム又はエレメンタリストリームにおいて、TFDピクチャが存在するかどうか。
o.ビットストリーム又はエレメンタリストリームにおいて、TSAピクチャが存在するかどうか。
p.ビットストリーム又はエレメンタリストリームにおいて、STSAピクチャが存在するかどうか。
26)sps_temporal_id_nesting_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべてのシーケンスパラメータセットに関して同一であるかどうか。
27)vps_temporal_id_nesting_flag構文要素の値が、エレメンタリストリームが復号されるときにアクティベートされるすべての映像パラメータセットに関して同一であるかどうか。
[0372]上述される方法例のうちの1つ以上、又はそれらの組み合わせにおいて、プロパティは、次のうち少なくとも1つを示す情報を含むことができる。
1) ビットストリーム内のプロフィールの組(追加の制限事項、例えば、0乃至31の範囲内におけるiに関してgeneral_profile_compatibility_flag[i]においてシグナリングされる、及びHEVCにおいて規定されるgeneral_reserved_zero_16bitsを有する)。代替として、ビットストリーム又はエレメンタリストリーム内のプロフィールの最大の組(すなわち、ビットストリーム内のCVSは、組内に含まれていないプロフィールには準拠しないものとする)。
2) ビットストリーム又はエレメンタリストリーム内のタイア及びレベルの(最大の)組。これは、最高のタイアとして、及び各タイアに関する最高のレベルとしてシグナリングすることができる。
3) ビットストリーム又はエレメンタリストリーム内の空間解像度の(最大の)組。
4) ビットストリーム又はエレメンタリストリーム内の時間的副層の(最大)数の(最大の)組。
5) ビットストリーム又はエレメンタリストリーム内の層の(最大)数の(最大の)組(すなわち、VCL NALユニットに関するnuh_reserved_zero_6bitsに関する値の数)の(最大の)組及び層ID(すなわち、nuh_reserved_zero_6bits値)の(最大の)組。
6) ビットストリーム又はエレメンタリストリーム内の動作ポイントの(最大の)組。
7) ビットストリーム又はエレメンタリストリーム内の(最大の)フレームレートの(最大の)組。
8) ビットストリーム又はエレメンタリストリーム内の最大のビットレートの(最大の)組。
9) ビットストリーム又はエレメンタリストリーム内のカラーフォーマットの(最大の)組。
10)ビットストリーム又はエレメンタリストリーム内のサンプルアスペクト比の(最大の)組。
11)ビットストリーム又はエレメンタリストリーム内のルマビット深度及びクロマビット深度の(最大の)組。
12)ビットストリーム又はエレメンタリストリーム内のフレームパッキングタイプの(最大の)組。
13)ビットストリーム又はエレメンタリストリーム内のタイルの(最大)数。
14)ビットストリーム又はエレメンタリストリーム内のコーディングツリーブロックサイズ及び最小のコーディングツリーブロックサイズの(最大の)組。
[0373]上述される方法例のうちの1つ以上、又はそれらの組み合わせにおいて、シグナリングすることは、SEIメッセージを介してシグナリングすることを備えることができる。上述される方法例のうちの1つ以上、又はそれらの組み合わせにおいて、シグナリングすることは、NALユニットを介してシグナリングすることを備えることができる。
[0374]1つ以上のデバイスは、上述される方法を実行するように構成することができる。幾つかの例では、1つ以上のデバイスは、符号器、復号器、又はMANEを含むことができる。
[0375]1つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのあらゆる組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
[0376]一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザーディスク(登録商標)(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、ブルーレイディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザーを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
[0377]命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
[0378]本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
[0379]様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。