[0019]マルチビュービデオコーディングでは、複数のピクチャをそれぞれ含む複数のビューがある。マルチビュービデオコーディングという用語は一般に、複数のビューのためのビデオデータがコーディングされたビットストリームに含まれるビデオコーディング技法、様々なマルチビュービデオコーディング規格によるそのようなビデオコーディング技法、ならびに必ずしもビデオコーディング規格に依拠するとは限らない技法を指すために使用される。マルチビュービデオコーディングという用語はまた、スケーラブルビデオコーディング技法など、ビットストリームにおいてビデオデータの複数のレイヤがコーディングされるビデオコーディング技法を指すために使用されることもある。マルチビュービデオコーディングのための技法は、様々なビデオコーディング規格によって規制されることがあり、本開示で説明する技法は、様々なビデオコーディング規格、ならびにビデオコーディング規格に依拠しない技法に適用可能であり得る。
[0020]場合によっては、ビデオエンコーダは、コーディングされたビットストリームのために多くのビューまたはレイヤを符号化するが、ビデオデコーダは、コーディングされたビットストリームにおけるビューまたはレイヤのサブセットを復号する必要があるにすぎないことがある。たとえば、設定によっては、他の設定の場合よりも多くのビューが必要とされることがある。たとえば、多くのビューを表示することが可能なデバイスもあれば、より少ないビューを表示することが可能なデバイスもある。したがって、デバイスが復号および表示することが可能なだけ多くのビューまたはレイヤをデバイスが取り出せるようにするのが有益であり得る。
[0021]ビューは、異なるアクセスユニットに属するビューコンポーネントを含み、ビューコンポーネントは、本開示ではコーディングされたピクチャと呼ばれることもある。レイヤも、異なるアクセスユニットに属するコーディングされたピクチャを含む。同じアクセスユニットに属するすべてのビューまたはすべてのレイヤのコーディングされたピクチャは、同じ出力時間を有する。3Dビデオコーディングの文脈では、各ビューは、テクスチャ部分と深度部分、主にテクスチャビューと深度ビューとを含むことができる。テクスチャビューは、テクスチャビューのコーディングされたピクチャとも称される、コーディングされたテクスチャピクチャと、深度ビューのコーディングされたピクチャとも称される、コーディングされた深度ピクチャとの含む。コーディングされたテクスチャピクチャはまた、テクスチャビューコンポーネントとも呼ばれ、コーディングされた深度ピクチャはまた、深度ビューコンポーネントとも呼ばれる。本開示で説明する技法では、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)(すなわち、VCL NAL)ユニットを含む。
[0022]場合によっては、ビデオデコーダは、コーディングされたビットストリームから、ビューおよびレイヤの全部の代わりに、ビューまたはレイヤのサブセットを復号することがある。たとえば、帯域幅の効率性は、ターゲット出力ビューまたはレイヤを復号するために必要とされないビューとレイヤとを含むビューおよびレイヤの全部を出力するのではなく、ターゲット出力ビューまたはレイヤ(たとえば、表示されるべきビューまたはレイヤ)を復号するためにビデオデコーダが必要とするビューまたはレイヤからのコーディングされたピクチャを抽出し出力することによって得られ得る。ビデオデコーダがビューのサブセットのみを復号できるようにするために、ネットワークデバイス(たとえば、ビデオデコーダを含むデバイスから上流のデバイス)またはビデオデコーダを含むデバイスは、コーディングされたビットストリームからビューのサブセットを抽出し、抽出されたビューを、復号のためにビデオデコーダを含むデバイスに送信するだけでよい。コーディングされたビットストリームからのビューのサブセットのこの抽出は、サブビットストリーム抽出と呼ばれる。
[0023]マルチビュービデオコーディングでは、1つのビューの1つのコーディングされたピクチャを、別のビューの別のピクチャからインター予測することが可能であり得る。そのようなインター予測は、ビュー間予測と呼ばれる。場合によっては、ビューのうちの1つからのコーディングされたピクチャは、表示されるべきではないビューのピクチャからインター予測され得る。たとえば、ディスプレイデバイス(たとえば、モバイルデバイスまたはデスクトップ)がビュー0およびビュー1(たとえば、ビュー0およびビュー1のテクスチャビュー)を表示すべきであると仮定する。この例では、ビュー0およびビュー1は、ターゲット出力ビュー(すなわち、表示のために出力されるべきビュー)と呼ばれ得る。しかしながら、ビュー1からのコーディングされたピクチャ(たとえば、テクスチャビューコンポーネントおよび深度ビューコンポーネント)は、ビュー2のコーディングされたピクチャ(たとえば、テクスチャビューコンポーネントおよび深度ビューコンポーネント)からインター予測されることが可能であり得る。この例では、ビュー2が表示されなくても、ビデオデコーダは依然として、ビデオデコーダがビュー1のビデオデータを適切に復号できるように、ビュー2に関連するビデオデータを受信し、そのようなビデオデータを復号する必要があり得る。
[0024]マルチビュービデオコーディングでは、場合によっては、ビューのビューコンポーネントが、2つのコンポーネント、すなわちテクスチャビューコンポーネントおよび深度ビューコンポーネントによって表され得る。テクスチャビューコンポーネントは、実際のビデオコンテンツを含む。深度ビューコンポーネントは、ビデオコンテンツ内のピクセルまたはオブジェクトの相対深度を示す情報を含む。
[0025]たとえば、より詳細に説明するように、本開示で説明するサブビットストリーム抽出プロセスのいくつかの例では、サブビットストリーム抽出プロセスがコーディングされたビットストリームからコーディングされたピクチャを抽出するとき、サブビットストリーム抽出プロセスは、ターゲット出力ビューを復号するためにテクスチャビューコンポーネントと深度ビューコンポーネントの両方を抽出することができる。本開示で説明するサブビットストリーム抽出プロセスのいくつかの例では、サブビットストリーム抽出プロセスがコーディングされたビットストリームからコーディングされたピクチャを抽出するとき、サブビットストリーム抽出プロセスは、ターゲット出力ビューを復号するためにテクスチャビューコンポーネントを抽出するが、深度ビューコンポーネントを抽出しないこと、またはその逆がある。本開示で説明するサブビットストリーム抽出プロセスのいくつかの例では、サブビットストリーム抽出プロセスがコーディングされたビットストリームからコーディングされたピクチャを抽出するとき、サブビットストリーム抽出プロセスは、ターゲット出力ビューを復号するために必要とされるビューコンポーネントのみを抽出することがある。より詳細に説明するように、サブビットストリーム抽出プロセスは、サブビットストリームを抽出する方法をデバイスが決定するモーダルプロセスであってよく、上記の説明は、デバイスがサブビットストリームを抽出することができる方法のいくつかの例である。
[0026]サブビットストリーム抽出が現在実行される方法に関していくつかの問題があり得る。たとえば、抽出動作を適応的に選択するための機構がない。その上、場合によっては、ターゲット出力ビューのテクスチャビューコンポーネントは、第1の非ターゲット出力参照ビューのテクスチャビューコンポーネントからビュー間予測されることがあるが、ターゲット出力ビューの深度ビューコンポーネントは、第2の異なる参照ビューから予測され得る。この場合、いくつかのサブビットストリーム抽出技法は依然として、第1の非ターゲット出力参照ビューの深度ビューコンポーネントを含み得るが、第1の非ターゲット出力参照ビューの深度ビューコンポーネントは、ターゲット出力ビューを復号するために必要とされない。逆の場合もあり得る(すなわち、テクスチャビューコンポーネントは、必要とされないが、どのみち深度ビューコンポーネントとともに含まれる)。
[0027]本開示で説明する技法は一般に、適切なサブビットストリーム抽出プロセスを選択するための適応型機構に関する。また、本技法はマルチビュービデオコーディングに関して説明されるが、本技法はスケーラブルビデオコーディングにも適用可能であることを理解されたい。一般に、スケーラブルビデオコーディングは、ビデオデータの1つまたは複数のレイヤをコーディングすることを含み、各レイヤは様々なコーディング次元に対応する。たとえば、レイヤは、空間分解レイヤ、クロマビット深度レイヤ、信号対雑音比(SNR)レイヤなどのうちの1つまたは複数を含むことができる。さらに、様々なビューは、ビュー次元のレイヤと見なされ得る。したがって、一般に例としてビューに関して説明されるが、マルチビュービデオコーディングはレイヤの一例を表すことを理解されたい。したがって、ビューへの言及は、より一般的には、レイヤへの言及とも見なされ得る。
[0028]いくつかの例では、外部手段(たとえば、エンドユーザまたはシステムのデフォルト設定から入力を受け取り、サブビットストリーム抽出を実行するデバイスに情報を渡すアプリケーション処理インターフェース(API))が、サブビットストリーム抽出を実行するデバイスが実施するサブビットストリーム抽出モードを定義し得る。外部手段が利用できない場合、サブビットストリーム抽出を実行するデバイスは、デフォルトのサブビットストリーム抽出モードを実施し得る。
[0029]このようにして、本技法はマルチモードのサブビットストリーム抽出を可能にし、それにより外部手段は、複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを定義することができる。言い換えれば、本開示で説明する技法では、サブビットストリーム抽出を実行するデバイスは、様々なモードタイプで設定可能(すなわち、適応可能)であってよく、その場合、定義されたモードに基づいてサブビットストリーム抽出を実行することができる。いくつかの例では、ビットストリーム抽出モードによっては、出力サブビットストリームが適合ビットストリームであることが求められ得る一方、ビットストリーム抽出モードによっては、出力サブビットストリームが適合ビットストリームであることを求められない。その結果、ビットストリームサブセットが適合しているかどうかを確認する複雑性が低減し得る。
[0030]いくつかの例では、抽出を実行するデバイスは、出力ビューを復号するために抽出されるべきビューのテクスチャビューおよび深度ビューのための2つの別個のリストを維持することができる。第1のリストはテクスチャビュー用であってよく、第2のリストは深度ビュー用であってよい。このようにして、第1のリストおよび第2のリストによって示されるように、非ターゲット出力ビューのテクスチャビューは必要とされるが、深度ビューは必要とされない場合、抽出を実行するデバイスは、ビットストリームから深度ビューコンポーネントを除去することができる。同様に、第1のリストおよび第2のリストによって示されるように、非ターゲット出力ビューの深度ビューは必要とされるが、テクスチャビューは必要とされない場合、抽出を実行するデバイスは、ビットストリームからテクスチャビューコンポーネントを除去することができる。
[0031]図1は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0032]宛先デバイス14は、リンク16を介して復号されるべき符号化されたビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が、符号化されたビデオデータをリアルタイムに宛先デバイス14に直接送信できるようにする通信媒体を備えることができる。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0033]代替的に、符号化されたデータは、出力インターフェース22からストレージデバイス32に出力されてもよい。同様に、符号化されたデータは、入力インターフェースによってストレージデバイス32からアクセスされる場合がある。ストレージデバイス32は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス32は、ソースデバイス12によって生成された符号化されたビデオを保持できるファイルサーバまたは別の中間ストレージデバイスに対応する場合がある。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス32から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバとすることができる。例示的なファイルサーバとしては、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含むことができる。ストレージデバイス32からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0034]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0035]いくつかの例では、リンク16に沿ってメディアアウェアネットワーク要素(MANE)(図示せず)が存在し得る。より詳細に説明するように、本開示はサブビットストリーム抽出プロセスについて説明する。MANEは、サブビットストリーム抽出プロセスを実施するように構成され得る。このようにして、MANEは、符号化されたビットストリームをソースデバイス12から受信し、ビットストリームの一部を抽出し(すなわち、サブビットストリーム抽出を実行し)、抽出されたサブビットストリームを宛先デバイス14に出力することができる。
[0036]ただし、サブビットストリーム抽出プロセスを実施するためにMANEに依拠することは、単に例示のために提示されており、限定するものと見なされるべきではない。ソースデバイス12が宛先デバイス14にビデオデータを送信する場合など、いくつかの例では、ソースデバイス12が、本開示で説明するサブビットストリーム抽出プロセスを実施するように構成され得る。サブビットストリーム抽出プロセスがソースデバイス12からさらに下流で(たとえば、MANEを介して)実行されることが可能であり得る。いくつかの例では、宛先デバイス14が本開示で説明する例示的なサブビットストリーム抽出プロセスを実施することが可能なこともある。
[0037]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0038]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化されたビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス32上に記憶され得る。
[0039]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス31とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化されたビデオデータを受信する。リンク16を介して通信され、またはストレージデバイス32上に提供された符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダが使用するためのビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化されたビデオデータとともに含まれ得、またはファイルサーバを記憶した。
[0040]ディスプレイデバイス31は、宛先デバイス14と一体化されること、またはその外部に存在することがある。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成される場合がある。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス31は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0041]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格のようなビデオ圧縮規格に従って動作することができ、HEVCテストモデル(HM)に準拠し得る。「HEVC Working Draft 8」または「WD8」と呼ばれるHEVC規格の最近のドラフトは、文書JCTVC−H1003、Brossら、「High efficiency video coding (HEVC) text specification draft 8」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第10回会合:ストックホルム、スウェーデン、2012年7月11〜20日に記載されおり、この文書は2013年9月30日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC−J1003−v8.zipからダウンロード可能であり、その内容全体は参照により本明細書に組み込まれる。
[0042]「HEVC Working Draft 10」または「WD10」と呼ばれるHEVC規格の別の最近のドラフトは、文書JCTVC−L1003v34、Brossら、「High efficiency video coding (HEVC) text specification draft 10 (for FDIS & Last Call)」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第12回会合:ジュネーブ、スイス、2013年1月14〜23日に記載されており、この文書は2013年9月30日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipからダウンロード可能であり、その内容全体は参照により本明細書に組み込まれる。HEVC規格のさらに別のドラフトは、本明細書で「WD10バージョン」と呼ばれ、Brossら、「Editors’ proposed corrections to HEVC version 1」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第13回会合、仁川、韓国、2013年4月に記載されており、この文書は2013年9月30日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC−M0432−v3.zipから入手可能であり、その内容全体は参照により本明細書に組み込まれる。
[0043]代替的に、ビデオエンコーダ20およびビデオデコーダ30は、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張を含む、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262またはISO/IEC MPEG−2ビジュアル、ITU−T H.263、(ISO/IEC MPEG−4 AVCとしても知られる)ISO/IEC MPEG−4ビジュアルおよびITU−T H.264など、他のプロプライエタリ規格または業界規格に従って動作することができる。MVCのジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されており、その内容全体は参照により本明細書に組み込まれる。MVCの別のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2011年6月に記載されており、その内容全体は参照により本明細書に組み込まれる。
[0044]さらに、「MVC Extension for Inclusion of Depth Maps Draft Text 4」、JCT3V−A1001、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on 3D Video Coding Extension Development、第1回会合:ストックホルム、スウェーデン、2012年7月16〜20日に記載されているような、MVC規格の拡張、すなわち「MVC+D」など、新しいビデオコーディング規格がある。「MVC Extension for Inclusion of Depth Maps Draft Text 4」、JCT3V−A1001の内容全体は参照により本明細書に組み込まれる。「MVC+D」規格のほかに、いわゆる3D−AVC規格、MV−HEVC規格および場合によっては3D−HEVC規格、ならびにHEVCのスケーラブルコーデックに関する進行中の規格の取り組みがある。
[0045]最新の3D−AVCワーキングドラフトは、「3D−AVC Draft Text 3」、JCT3V−A1002、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on 3D Video Coding Extension Development、第1回会合:ストックホルム、スウェーデン、2012年7月16〜20日で入手可能である。「3D−AVC Draft Text 3」、JCT3V−A1002の内容全体は参照により本明細書に組み込まれる。
[0046]最新のMV−HEVCワーキングドラフトは、「MV−HEVC Working Draft 1」、JCT3V−A1004、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on 3D Video Coding Extension Development、第1回会合:ストックホルム、スウェーデン、2012年7月16〜20日で入手可能である。「MV−HEVC Working Draft 1」、JCT3V−A1004の内容全体は参照により本明細書に組み込まれる。
[0047]最新の3D−HEVCテストモデルは、「3D−HEVC Test Model 1」、JCT3V−A1005、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on 3D Video Coding Extension Development、第1回会合:ストックホルム、スウェーデン、2012年7月16〜20日で入手可能である。「3D−HEVC Test Model 1」、JCT3V−A1005の内容全体は参照により本明細書に組み込まれる。
[0048]ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。本技法は、ビデオコーディング規格に基づかないビデオエンコーダ20およびビデオデコーダ30の例に適用可能であり得る。ビデオ圧縮規格の他の例としては、MPEG−2およびITU−T H.263、ならびにVP8などのオープンフォーマットがある。
[0049]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0050]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。
[0051]ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。たとえば、ビデオデコーダ30はマイクロコントローラまたは集積回路(IC)の中に形成され得る。これらの例では、「デバイス」という用語はマイクロコントローラまたはICを指し得る。別の例として、ビデオデコーダ30はワイヤレス通信デバイス内に形成され得る(たとえば、マイクロコントローラまたはICはワイヤレス通信デバイス内に形成され得る)。これらの例では、「デバイス」という用語はワイヤレス通信デバイスを指し得る。この意味で、デバイスという用語は、ビデオデコーダ30を含む任意の構成要素として使用され得る。同様に、いくつかの例では、デバイスはビデオエンコーダ20を含み得る。
[0052]したがって、本開示がビデオ復号について説明するとき、そのようなビデオ復号は、ビデオデコーダ30を含むマイクロコントローラ、ビデオデコーダ30を含むIC、およびビデオデコーダ30を含むワイヤレス通信デバイス(たとえば、宛先デバイス14)のうちの1つを含むデバイスによって実行され得る。本開示がビデオ符号化について説明したとき、そのようなビデオ符号化は、ビデオエンコーダ20を含むマイクロコントローラ、ビデオエンコーダ20を含むIC、ビデオエンコーダ20を含むワイヤレス通信デバイス(たとえば、ソースデバイス12)のうちの1つを含むデバイスによって実行され得る。
[0053]ビデオコーディングの理解を助けるために、以下では、HEVC規格の一部としてのビデオコーディングの説明を行う。HEVC規格化の取組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。
[0054]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載している。ツリーブロックは、H.264規格のマクロブロックと同様のいくつかの目的を果たし得るが、ツリーブロックには、マクロブロックと比較して多くの差異がある。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード(すなわち、コーディングされたビデオブロック)を備える。コーディングされたビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
[0055]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルをもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含んでいることがある。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。PUは、形状が非正方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
[0056]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは通常、PUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換係数を生成するように変換されてよく、その変換係数は量子化され得る。
[0057]一般に、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化(すなわち、イントラ予測符号化)されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化(すなわち、インター予測符号化)されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトル用の参照ピクチャリスト(たとえば、RefPicList0もしくはRefPicList1)を記述することができる。
[0058]概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)を含む場合もある。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数を生成するために、TUを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示は、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示は、ツリーブロック(すなわち、コーディングノードならびにPUおよびTUを含むLCUまたはCU)を指すために「ビデオブロック」という用語をも使用し得る。
[0059]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応することができる。ビデオブロックは、固定サイズまたは可変サイズを有し得、かつ指定のコーディング規格に応じてサイズが異なり得る。
[0060]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0061]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備えてよく、この場合に、Mは必ずしもNに等しいとは限らない。
[0062]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディング(すなわち、イントラ予測符号化またはインター予測符号化)の後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換(たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換)の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CU用の変換係数を生成することができる。
[0063]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられてよく、ただし、nはmよりも大きい。
[0064]いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。いくつかの例では、ビデオエンコーダ20は、適応型走査を実行することができ、または複数の可能な走査から走査を選択することができる。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、(たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って)1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化されたビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0065]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が0ではないかどうかに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられるコンテキストに基づき得る。
[0066]本開示は、マルチビュービットストリーム、3次元(3D)ビットストリーム、スケーラブルメディアビットストリーム、および複数のビューなどの複数のレイヤを有する他のタイプのビットストリームのためのサブビットストリーム抽出のための様々な方法について説明する。本開示の技法はまた、マルチビュービットストリーム、3次元(3D)ビットストリーム、および複数のレイヤまたはビューを有する他のタイプのビットストリームに適用可能であり得る。
[0067]本開示では、マルチビュービデオコーディングという用語は一般に、複数の異なるビューがコーディングされる技法を指すために使用される。たとえば、ビットストリームにおいて複数の異なるビューがコーディングされる方法を定義するビデオコーディング規格の様々な例がある。上記のように、そのようなコーディング規格の例には、H.264/AVCビデオコーディング規格のマルチビュービデオコーディング(MVC)拡張、MVCプラス深度ビューコンポーネント(MVC+D)、3D−AVC、マルチビューHEVC(MV−HEVC)、および3DーHEVCがある。本開示で説明するサブビットストリーム抽出技法は、これらのビデオコーディング規格のすべて、ならびにビデオコーディング規格に依拠しないビデオコーディング技法に適用可能であり得る。その上、本開示で説明するサブビットストリーム抽出技法はまた、スケーラブルビデオコーディング(SVC)に適用可能であってもよく、SVCでは、ピクチャを符号化し復号するために選択的に使用され得る、ただ1つのビューであるが複数のエンハンスメントレイヤがある。しかしながらやはり、複数のビューがレイヤの1つのタイプと見なされてもよく、したがって、本開示の技法は一般に、ビューがレイヤの一例を表す任意のマルチレイヤコーディング技法に適用可能であり得る。
[0068]混乱を回避するために、本開示は、符号化および復号のために複数のビューに依拠する様々なビデオコーディング技法すべてを一般的に指すために「マルチビュービデオコーディング」という用語を使用する。必要に応じて、本開示は特定のビデオコーディング規格への具体的言及を行う。また、本技法はマルチビュービデオコーディングに関して説明されるが、本技法はそのように限定されない。本開示で説明する技法はまた、スケーラブルビデオコーディング技法に適用可能であり得る。
[0069]理解を助けるために、以下では、様々なマルチビュービデオコーディング規格の簡単な説明を行う。そのような開示は、本開示で説明するサブビットストリーム抽出技法に関するコンテキストを提供すること、ならびにマルチビュービデオコーディング技法の一般的な理解を助けることが意図されている。以下の開示は、H.264/AVCの拡張であるマルチビュービデオコーディング(MVC)について説明する。本開示が頭文字MVCを使用するとき、本開示は具体的にH.264/AVCのMVC拡張を指している。「マルチビュービデオコーディング」と完全に書かれるとき、それは一般的に、マルチビュービデオのための様々なコーディング技法を指すために使用される。
[0070]図2は、本開示で説明する1つまたは複数の例による、例示的な符号化および復号の順序を示すグラフィック図である。たとえば、図2に示す復号順序構成は、時間優先コーディングと呼ばれる。図2では、S0〜S7はそれぞれ、マルチビュービデオの異なるビューを指す。T0〜T8はそれぞれ、1つの出力時間インスタンスを表す。図2では、ビューの各々はピクチャのセットを含む。たとえば、ビューS0はコーディングされたピクチャ0、8、16、24、32、40、48、56、および64のセットを含み、ビューS1はコーディングされたピクチャ1、9、17、25、33、41、49、57、および65のセットを含み、以下同様である。
[0071]図2に示す復号順序は出力順序または表示順序を表さないことがあることを理解されたい。たとえば、別のコーディングされたピクチャよりも遅く表示または出力されるべきコーディングされたピクチャが、他のピクチャよりも早く復号されることがある。ピクチャのピクチャ順序カウント(POC)値は、ピクチャの表示順序または出力順序を示す。たとえば、より低いPOC値をもつピクチャは、より高いPOC値をもつピクチャよりも早く出力または表示される。しかしながら、より高いPOC値をもつピクチャが、より低いPOC値をもつピクチャよりも遅く表示または出力されても、より高いPOC値をもつピクチャは、より低いPOC値をもつピクチャよりも早く復号されることがある。
[0072]アクセスユニットは、1つの出力時間インスタンスについてのすべてのビューのコーディングされたピクチャを含み得る。たとえば、第1のアクセスユニットは、時間インスタンスT0についてのビューS0〜S7(すなわち、コーディングされたピクチャ0〜7)のすべてを含み、第2のアクセスユニットは、時間インスタンスT1についてのビューS0〜S7(すなわち、コーディングされたピクチャ8〜15)のすべてを含み、以下同様である。これらの例では、コーディングされたピクチャ0〜7は、同じ時間インスタンス(すなわち、時間インスタンスT0)におけるものであり、コーディングされたピクチャ8〜15は、同じ時間インスタンス(すなわち、時間インスタンスT1)におけるものであり、以下同様である。
[0073]本開示で説明する技法では、サブビットストリーム抽出を実行するデバイスは、コーディングされたピクチャを抽出する選択された方法に基づいて、ビューまたはレイヤからのコーディングされたピクチャを抽出することができる。たとえば、サブビットストリーム抽出を実行するデバイスは、すべてのビューS0〜S7からのコーディングされたピクチャを出力するのではなく、ビューS0〜S3からのコーディングされたピクチャを抽出し、それらのコーディングされたピクチャのみを出力することができる。宛先デバイス14がすべてのビューS0〜S7を表示するように構成されていないことがあり、表示されるべきビューを復号するために必要とされるビューのみを出力することで、ビットストリームで出力される必要のあるデータの量を低減することができるので、そのようなサブビットストリーム抽出は帯域幅の効率性を促進し得る。
[0074]本開示で使用する「コーディングされたピクチャ」という用語は、ビューコンポーネント、テクスチャビューコンポーネント、または深度ビューコンポーネントを指すために使用される。たとえば、各アクセスユニットは、1つまたは複数のビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)(すなわち、VCL NAL)ユニットを含むことができる。各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のVCL NALユニットを含むことができる。このようにして、本技法は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするために、ビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出することができ、この場合、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のVCL NALユニットを備える。
[0075]図3は、例示的な予測パターンを示す概念図である。図3の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、12個の時間ロケーション(「T0」〜「T11」)がビューごとに示されている。すなわち、図3中の各行はビューに対応し、各列は時間ロケーションを示す。図3の例では、大文字「B」および小文字「b」は、異なるコーディング方法ではなく、ピクチャ間の異なる階層関係を示すために使用される。概して、大文字の「B」ピクチャは、小文字の「b」フレームよりも予測階層が比較的高い。
[0076]図3に、マルチビュービデオコーディング用の典型的なMVC予測(各ビュー内のピクチャ間測とビュー間予測の両方を含む)構造が示され、ここでは矢印によって予測が示され、矢印の終点のオブジェクトは、予測参照のために矢印の始点のオブジェクトを使用する。図3は、MVCの時間的予測およびビュー間予測構造の一例であり得る。
[0077]MVCでは、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。2つのビューのコーディングは、MVCによってもサポートされる可能性があり、MVCの利点の1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、MVCデコーダがそのようなマルチビュー表現を復号することができることである。したがって、MVCデコーダをもつ任意のレンダラは、3つ以上のビューをもつ3Dビデオコンテンツを予想し得る。
[0078]図3では、ビューS0はベースビューと見なされ得、ビューS1〜S7は従属ビューと見なされ得る。ベースビューは、ビュー間予測されないコーディングされたピクチャを含む。ベースビュー中のコーディングされたピクチャは、同じビュー中の他のコーディングされたピクチャに対してインター予測され得る。たとえば、ビューS0中のコーディングされたピクチャのいずれも、ビューS1〜S7のいずれの中のコーディングされたピクチャに対してもインター予測され得ないが、ビューS0中のコーディングされたピクチャのいくつかは、ビューS0中の他のコーディングされたピクチャに対してインター予測され得る。
[0079]従属ビューは、ビュー間予測されるコーディングされたピクチャを含む。たとえば、ビューS1〜S7の各々は、別のビュー中のコーディングされたピクチャに対してインター予測される少なくとも1つのコーディングされたピクチャを含む。従属ビュー中のコーディングされたピクチャは、ベースビュー中のコーディングされたピクチャに対してインター予測され得るか、または他の従属ビュー中のコーディングされたピクチャに対してインター予測され得る。
[0080]ベースビューと1つまたは複数の従属ビューの両方を含むビデオストリームは、異なるタイプのビデオデコーダによって復号可能であり得る。たとえば、1つの基本タイプのビデオデコーダは、ベースビューのみを復号するように構成され得る。さらに、別のタイプのビデオデコーダは、ビューS0〜S7の各々を復号するように構成され得る。ベースビューと従属ビューの両方を復号するように構成されたデコーダは、マルチビューコーディングをサポートするデコーダと呼ばれることがある。
[0081]図3中のピクチャは、図3中の各行および各列の交点で示される。マルチビューコーディング拡張をもつH.264/AVC規格は、ビデオの一部分を表すためにフレームという用語を使用し得るが、HEVC規格は、ビデオの一部分を表すためにピクチャという用語を使用し得る。本開示は、ピクチャという用語とフレームという用語とを互換的に使用する。
[0082]図3のコーディングされたピクチャは、対応するピクチャがイントラコーティングされる(すなわち、Iピクチャである)か、一方向に(すなわち、Pピクチャとして)インターコーティングされるか、または複数の方向に(すなわち、Bピクチャとして)インターコーティングされるかを指定する、文字を含む陰影付きブロックを使用して示されている。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。たとえば、時間ロケーションT0にあるビューS2のPピクチャは、時間ロケーションT0にあるビューS0のIピクチャから予測される。
[0083]シングルビュービデオコーディングの場合と同様に、マルチビュービデオコーディングビデオシーケンスのコーディングされたピクチャは、異なる時間ロケーションにあるピクチャに対して予測符号化され得る。たとえば、時間ロケーションT1にあるビューS0のBピクチャは、時間ロケーションT0にあるビューS0のIピクチャからそのBピクチャに向けられた矢印を有し、その矢印は、bピクチャがIピクチャから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。すなわち、コーディングされたピクチャは、参照用に他のビュー中のコーディングされたピクチャを使用することができる。マルチビューコーディングでは、たとえば、別のビュー中のコーディングされたピクチャがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。
[0084]図3は、ビュー間予測の様々な例を提供する。図3の例では、ビューS1のコーディングされたピクチャは、ビューS1の異なる時間ロケーションにあるコーディングされたピクチャから予測されるものとして、ならびに同じ時間ロケーションにあるビューS0およびS2のコーディングされたピクチャからビュー間予測されるものとして示されている。たとえば、時間ロケーションT1にあるビューS1のBピクチャは、時間ロケーションT0およびT2にあるビューS1のBピクチャの各々、ならびに時間ロケーションT1にあるビューS0およびビューS2のBピクチャから予測される。
[0085]インター予測(すなわち、ビュー間予測または同じビュー内の予測)の場合、ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは2つの参照ピクチャリスト(たとえば、RefPicList0およびRefPicList1)を構成することができる。ビュー間予測では、ビデオエンコーダ20およびビデオデコーダ30は、インター予測されているコーディングされたピクチャとは異なるビューからのコーディングされたピクチャを、そのピクチャが現在のピクチャと同じ時間インスタンスにある限り、参照ピクチャリストの一方または両方に含めることができる。ビデオエンコーダ20およびビデオデコーダ30は、ビデオエンコーダ20およびビデオデコーダ30が参照ピクチャリスト中に同じビューからの参照ピクチャを含める方法と同様に、参照ピクチャリスト内の任意の位置にビュー間予測参照ピクチャ(たとえば、異なるビューからのコーディングされたピクチャ)を含めることができる。
[0086]図3はまた、異なるレベルの陰影を使用して予測階層の変形形態を示し、ここで、より大きい量の陰影の(すなわち、比較的より暗い)フレームは、より少ない陰影を有する(すなわち、比較的より明るい)フレームよりも予測階層が高い。たとえば、図3のすべてのIピクチャは完全な陰影を用いて示されているが、Pピクチャはよりいくぶん明るい陰影を有し、Bピクチャ(および小文字のbピクチャ)は、互いに対して様々なレベルの陰影を有するが、PピクチャおよびIピクチャの陰影よりも常に明るい。
[0087]概して、予測階層が比較的高いコーディングされたピクチャは、階層が比較的より低いコーディングされたピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係し得る。階層が比較的より高いそれらのコーディングされたピクチャは、階層が比較的低いコーディングされたピクチャの復号中に参照ピクチャとして使用され得る。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。H.264/AVC(MVC追補)の付属書類Hにおいて規定されているように、ビュー順序インデックスは、シーケンスパラメータセット(SPS)のMVC拡張において暗示されている。SPSでは、インデックスiごとに、対応するview_idがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従い得る。すべてのビューが提示された場合、ビュー順序インデックスは、0からnum_views_minus_1までの連続する順序になっている。
[0088]このようにして、参照ピクチャとして使用されるコーディングされたピクチャは、その参照ピクチャに従属するコーディングされたピクチャの前に復号される。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。ビュー順序インデックスiごとに、対応するview_idがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数までの連続的な順序付きセットを備え得る。
[0089]階層の等しいレベルにあるいくつかのコーディングされたピクチャの場合、復号順序は、互いに重要でないことがある。たとえば、時間ロケーションT0にあるビューS0のIピクチャは、時間ロケーションT0にあるビューS2のPピクチャのための参照ピクチャとして使用され得、そのPピクチャは、今度は、時間ロケーションT0にあるビューS4のPピクチャのための参照ピクチャとして使用され得る。したがって、時間ロケーションT0にあるビューS0のIピクチャは、時間ロケーションT0にあるビューS2のPピクチャの前に復号されるべきであり、そのPピクチャは、今度は、時間ロケーションT0にあるビューS4のPピクチャの前に復号されるべきである。しかしながら、ビューS1およびS3は予測のために互いに従属しないので、ビューS1とビューS3との間で、復号順序は重要でない。代わりに、ビューS1およびS3は、予測階層がより高い他のビューのみから予測される。その上、ビューS1がビューS0およびS2の後に復号される限り、ビューS1はビューS4の前に復号され得る。
[0090]このようにして、ビューS0〜S7を記述するために階層順序が使用され得る。本開示では、表記「SA>SB」は、ビューSAがビューSBの前に復号されるべきであることを意味する。この表記を使用すると、図3の例では、S0>S2>S4>S6>S7である。また、図3の例に関して、S0>S1、S2>S1、S2>S3、S4>S3、S4>S5、およびS6>S5である。この階層順序付けに違反しないビューのための任意の復号順序が可能である。したがって、この階層順序付けに基づく限定をもつ、多くの異なる復号順序が可能である。
[0091]上記のように、現在のコーディングされたピクチャをビュー間予測するために使用され得る他のビューにおける参照は、ビュー間参照またはビュー間参照ピクチャと呼ばれ、SPSのMVC拡張は、参照ピクチャリスト構成によって変更され得る。以下の表1は、シンタックステーブルであり、SPSのMVC拡張のシンタックスを示している。
[0092]SPSのMVC拡張では、ビューごとに、参照ピクチャリスト0(RefPicList0)と参照ピクチャリスト1(RefPicList1)とを形成するために使用され得るビューの数がシグナリングされる。SPSのMVC拡張でシグナリングされたアンカーピクチャに対する予測関係は、同じビューの(SPSのMVC拡張でシグナリングされた)非アンカーピクチャに対する予測関係とは異なる場合がある。
[0093]マルチビューコーディングを含むビデオコーディングでは、ビデオエンコーダ20はネットワークアブストラクションレイヤ(NAL)ユニットにビデオデータをカプセル化することができ、ビデオデコーダ30は、ビデオデータを復号するためにNALユニットを復号することができる。たとえば、ビデオエンコーダ20は、1つまたは複数のVCL NALユニットにコーディングされたピクチャをカプセル化することができ、ビデオデコーダ30は、コーディングされたピクチャを復号するために1つまたは複数のVCL NALユニットを復号する。NALユニットタイプがプレフィックスNALユニットまたはMVCビデオコーディングレイヤ(VCL)NALユニットである場合、MVC NALユニットは、(NALユニットタイプとnal_ref_idcシンタックス要素とを含む)1バイトNALユニットヘッダと3バイトMVC NALユニットヘッダ拡張とを含んでいる。いくつかの例では、MVCにおけるプレフィックスNALユニットは、NALユニットヘッダと、それのMVC NALユニットヘッダ拡張とのみを含み得る。NALユニットヘッダ拡張は、以下のシンタックス要素、すなわち、nor_idr_flagと、priority_idと、view_idと、temporal_idと、anchor_pic_flagと、inter_view_flagとを含み得る。
[0094]non_idr_flagシンタックス要素は、NALユニットが、閉ピクチャグループ(GOP)ランダムアクセスポイントとして使用され得る瞬時復号リフレッシュ(IDR)アクセスユニットに属するかどうかを示し得る。priority_idシンタックス要素は、単純な1次元適応に使用され得る。view_idシンタックス要素は、現在のビューのビュー識別子を示し得る。temporal_idシンタックス要素は、現在のNALユニットの時間識別値または時間レベルを示し得る。anchor_pic_flagシンタックス要素は、NALユニットが、開GOPランダムアクセスポイントとして使用されるアンカーピクチャに属するかどうかを示し得る。inter_view_flagシンタックス要素は、ビューコンポーネントが他のビュー中のNALユニット用のビュー間予測に使用されるかどうかを示し得る。
[0095]上記では、MVC拡張について説明した。以下では、いくつかの追加のビデオコーディング規格について説明する。
[0096]たとえば、別のビデオコーディング規格は、MVC+Dであってもよく、ここで「D」は深度を指す。MVCでは、各ビューは複数のビューコンポーネント(各々はコーディングされたピクチャの一例である)を含む。MVC+Dは、深度コンポーネントを含む。たとえば、MVC+Dでは、各ビューはテクスチャビューと深度ビューとを含むものと見なされ得る。テクスチャビューはテクスチャビューコンポーネントを含み、深度ビューは深度ビューコンポーネントを含む。言い換えれば、ビューはビューコンポーネントを含み、ビューコンポーネントはテクスチャビューコンポーネント(コーディングされたピクチャの一例)と深度ビューコンポーネント(コーディングされたピクチャの別の例)とを含む。このようにして、ビューごとにテクスチャビューおよび深度ビューがあり、ビューのビューコンポーネントごとにテクスチャビューコンポーネントおよび深度ビューコンポーネントがある。言い換えれば、ビューのテクスチャビューコンポーネントはビューのテクスチャビューを形成し、ビューの深度ビューコンポーネントはビューの深度ビューを形成する。
[0097]あらゆるテクスチャビューコンポーネントには、対応する深度ビューコンポーネントがあってもよく、この意味で、テクスチャビューコンポーネントは深度ビューコンポーネントに対応することができ、その逆も同様である。対応するテクスチャビューコンポーネントおよび深度ビューコンポーネントは、単一のアクセスユニットの同じビューコンポーネントの一部であると見なされ得る。
[0098]MVC+Dのテクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。たとえば、テクスチャビューコンポーネントは、ルーマ(Y)成分と、クロマ(CbおよびCr)成分とを含み得る。深度ビューコンポーネントは、それの対応するテクスチャビューコンポーネント中のピクセルの相対深度を示し得る。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像と同様であり得る。言い換えれば、深度ビューコンポーネントは、いかなる画像コンテンツも伝達することができないが、テクスチャビューコンポーネント中のピクセルの相対深度の測定値を提供することができる。
[0099]たとえば、深度ビューコンポーネント中の純白のピクセルに対応するピクセル値は、対応するテクスチャビューコンポーネント中のそれの対応する1つまたは複数のピクセルが閲覧者から見てより近いことを示し得、深度ビューコンポーネント中の純黒のピクセルに対応するピクセル値は、対応するテクスチャビューコンポーネント中のそれの対応する1つまたは複数のピクセルが閲覧者から見てより遠いことを示し得る。黒と白との中間にあるグレーの様々な色合いに対応するピクセル値は、異なる深度レベルを示す。たとえば、深度ビューコンポーネント中の濃いグレーのピクセルは、テクスチャビューコンポーネント中のそれの対応するピクセルが、深度ビューコンポーネント中のより薄いグレーのピクセルよりも遠いことを示す。ピクセルの深度を識別するためには、グレースケールと同様にただ1つのピクセル値が必要とされるので、深度ビューコンポーネントはただ1つのピクセル値を含み得る。したがって、クロマ成分に類似する値は必要とされない。
[0100]深度を識別するためにルーマ値(たとえば、強度値)のみを使用する深度ビューコンポーネントが説明のために提供され、限定するものと見なされるべきではない。いくつかの例では、テクスチャビューコンポーネント中のピクセルの相対深度を示すために任意の技法が利用され得る。
[0101]MVC+Dでは、テクスチャビューコンポーネントおよび対応する深度ビューコンポーネントは、MVC+Dにおいて互いに対する従属性を有しない。いくつかの例では、所与の3Dビデオ動作点では、ターゲット出力ビューは、コーディング(たとえば、符号化または復号)のために異なる数のテクスチャビューおよび深度ビューに従属し得る。動作点およびターゲット出力ビューについて、以下でより詳細に説明する。
[0102]別のビデオコーディング規格は、3D−AVC規格である。3D−AVCコーデックは、H.264/AVCにのみ適合し、MVCには適合しないことがある。この規格のために新しいコーディングツールが必要とされる。また、同じビューのテクスチャと深度との間には従属関係がある(すなわち、テクスチャビューコンポーネントおよびそれの対応する深度ビューコンポーネントは、同じビューに対してビュー間予測される必要があり得る)。
[0103]高効率ビデオコーディング(HEVC)規格では、NALユニットヘッダは、NALユニットタイプと、(H.264/AVCにおけるtemporal_idと同様の)TemporalIDと、layer_id(これは常に、HEVCベースビュー/レイヤ用に0になるように予約されている)とを駆動する(drive)ために、2バイトを含む。MV−HEVCは、新しいコーディングツールのないHEVCのマルチビュー拡張である。各アクセスユニットにおけるビューの復号順序を定義するMVCにおけるビュー順序インデックスと同様のビュー順序インデックスにlayer_idが相当する形で、NALユニットヘッダにおけるlayer_idによって各ビューが識別される。3D−HEVCは、テクスチャのみのビデオとテクスチャプラス深度のビデオの両方のコーディングをサポートする。3D−HEVCでは、テクスチャと深度の両方に新しいコーディングツールが使用される。layer_idシンタックス要素は、テクスチャビューまたは深度ビューを識別するために、NALユニットヘッダにおいて使用され得る。
[0104]上記では、動作点およびターゲット出力ビューの概念について説明した。動作点およびターゲット出力ビューは、マルチビューコーディング規格に適用可能であり得る。
[0105]動作点は、マルチビューコーディングにおけるビューのサブセットまたはスケーラブルビデオコーディングにおけるレイヤのサブセットを定義する。たとえば、ビットストリームの動作点は、レイヤ識別子またはビュー識別子(view_id)のセットおよび時間識別子(適用可能な場合、temporal_idまたはtemporalID)に関連付けられる。NALユニットのレイヤ識別子またはビュー識別子が動作点のレイヤ識別子またはビュー識別子のセットにあり、NALユニットの時間識別子が動作点の時間識別子以下である場合、NALユニットは動作点に関連付けられる。
[0106]動作点表現は、動作点に関連付けられるビットストリームサブセット(すなわち、サブビットストリーム)である。動作点の動作点表現は、動作点に関連付けられる各NALユニットを含み得る。動作点表現は、動作点に関連付けられないVCL NALユニットを含まないことがある。
[0107]外部ソースは、動作点に関するレイヤ識別子またはビュー識別子のセットを指定することができる。たとえば、コンテンツ配信ネットワーク(CDN)デバイスは、レイヤ識別子のセットを指定することができる。この例では、CDNデバイスは、レイヤ識別子のセットを使用して、動作点を識別することができる。次いでCDNデバイスは、動作点に関する動作点表現を抽出し、元のビットストリームの代わりに動作点表現をクライアントデバイスに転送することができる。動作点表現を抽出し、クライアントデバイスに転送することで、ビットストリームのビットレートを低減することができる。いくつかの例では、CDNデバイスの代替または追加として、ルータなどのさらに下流のデバイスが、サブビットストリーム抽出を実行することができる。
[0108]たとえば、ターゲット出力ビューは、宛先デバイス14によって受信されるべきビューを定義することができる。いくつかの例では、CDNまたはネットワークエンティティなどの何らかの中間デバイスは、ターゲット出力ビューを抽出することができる。たとえば、映画館の場合、映画館のスクリーンの相対サイズおよび視聴者の位置のために、できるだけ多くのビューを表示するのが有益であり得る。モバイルデバイスの場合、スクリーンサイズは、表示され得るビューの数を制限することができ、さらに、閲覧者の閲覧距離が一般にモバイルデバイスに近くなることから、モバイルデバイスは、少数のビューを受信する必要があるにすぎないことがある。
[0109]図4は、ネットワーク100の一部を形成するデバイスの例示的なセットを示すブロック図である。この例では、ネットワーク100は、ルーティングデバイス104A、104B(ルーティングデバイス104)とトランスコーディングデバイス106とを含む。ルーティングデバイス104およびトランスコーディングデバイス106は、ネットワーク100の一部を形成し得る少数のデバイスを表すものである。スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、および他のそのようなデバイスなどの他のネットワークデバイスも、ネットワーク100内に含まれ得る。その上、サーバデバイス102とクライアントデバイス108との間にネットワーク経路に沿って追加のネットワークデバイスが提供され得る。いくつかの例では、サーバデバイス102はソースデバイス12(図1)に対応し得る一方、クライアントデバイス108は宛先デバイス14(図1)に対応し得る。
[0110]概して、ルーティングデバイス104は、ネットワーク100を介してネットワークデータを交換するための1つまたは複数のルーティングプロトコルを実装する。いくつかの例では、ルーティングデバイス104は、プロキシまたはキャッシュ動作を実行するように構成され得る。したがって、いくつかの例では、ルーティングデバイス104はプロキシデバイスと呼ばれ得る。概して、ルーティングデバイス104は、ネットワーク100を介したルートを発見するためにルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス104Bは、それ自体からルーティングデバイス104Aを介してサーバデバイス102へ至るネットワークルートを発見することができる。
[0111]ルーティングデバイス104および場合によってはトランスコーディングデバイス106は、本開示で説明する技法を実施することができるデバイスの例である。たとえば、サーバデバイス102からクライアントデバイス108にビデオデータをルーティングすることの一部として、ルーティングデバイス104はビットストリームを受信することができ、ビットストリームから、ルーティングデバイス104は、クライアントデバイス108に送信されるサブビットストリームを抽出することができる。より詳細に説明するように、ルーティングデバイス104は、本開示で説明する技法を利用してサブビットストリームを抽出することができる。いくつかの例では、トランスコーディングデバイス106は、本開示で説明するサブビットストリーム抽出技法を実行するメディアアウェアネットワークエンティティ(MANE)であり得る。
[0112]たとえば、トランスコーディングデバイス106は、1つまたは複数のプロセッサ110を含むことができ、プロセッサ110は、本開示で説明する技法を実施するように構成され得る。プロセッサ110の例には、デジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路がある。いくつかの例では、コンピュータ可読記憶媒体は、実行されたときに、トランスコーディングデバイス106の1つまたは複数のプロセッサ110に、本開示で説明する技法を実施させる命令を記憶し得る。
[0113]ルーティングデバイス104が単独で、またはトランスコーディングデバイス106との組合せで、本開示で説明する技法を実行する例では、ルーティングデバイス104は、単独で、または1つもしくは複数のプロセッサ110との組合せで、本開示で説明する技法を実施する1つまたは複数のプロセッサを含み得る。その上、本開示では、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイス(たとえば、MANEデバイス)が、本開示で説明する技法を実施するものとして説明されるとき、そのような開示は、1つまたは複数のプロセッサ110などの1つまたは複数のプロセッサが、本開示で説明する技法を実施することを意味すると解釈されるべきである。
[0114]上記のように、本開示の技法は一般に、デバイス(たとえば、ルーティングデバイス104および/またはトランスコーディングデバイス106)がターゲット出力ビューに基づいて1つまたは複数のビューを抽出することができるサブビットストリーム抽出に関する。H.264/AVC規格(すなわち、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2011年6月)では、付属書類Hはマルチビュービデオコーディング(MVC)を対象とする。言い換えれば、付属書類Hは、H.264/AVCのMVC拡張を含む。H.264/AVCの付属書類HのセクションH.8は、MVC復号プロセスを定義している。付属書類HのサブクローズH.8.5は、「Specification of bitstream subsets」を対象とする。サブクローズH.8.5.1およびH8.5.2はそれぞれ、サブビットストリーム抽出プロセスで使用される必要なアンカービューコンポーネントと非アンカービューコンポーネントとを導出するための処理を指定している。サブクローズH.8.5.3は、サブビットストリーム抽出プロセスを指定している。サブクローズH.8.5.4は、ベースビュービットストリームサブセットを指定している。サブクローズH.8.5.5は、ビットストリーム抽出プロセスへの入力ビットストリームにおける元のベースビューが出力ビットストリームサブセットに含まれない場合のベースビューの作成に関する有益な例を与えている。
[0115]MVC+D仕様は、H.264/AVCのMVC拡張で定義されたビットストリーム抽出プロセスを活用する。しかしながら、H.264/AVCのMVC拡張は、テクスチャビューコンポーネントと深度ビューコンポーネントの両方を含んでおらず、代わりに、ビューコンポーネントという用語を使用した。MVC+D規格は深度ビューコンポーネントを許容するので、MVC+D仕様は、H.264/AVCのMVC拡張のH.8.5のサブクローズの一部を変更した。
[0116]また、現在のMVC+D仕様では、1つのビューのテクスチャまたは深度がターゲット出力ビューのテクスチャまたは深度によって従属されると、テクスチャビューと深度ビューの両方が出力サブビットストリームに含まれる。たとえば、ビュー1が出力ビューであると仮定する。また、ビュー1におけるテクスチャコンポーネントがビュー0のテクスチャコンポーネントに従属し、ビュー1における深度コンポーネントがビュー2の深度コンポーネントに従属すると仮定する。この例では、現在のMVC+D仕様では、ビュー0の深度コンポーネントが必要とされなくても、ビュー0のテクスチャコンポーネントが含まれるので、ビュー0の深度コンポーネントは出力サブビットストリームに含まれる。また、この例では、現在のMVC+D仕様では、ビュー2のテクスチャコンポーネントが必要とされなくても、ビュー1の深度コンポーネントが含まれるので、ビュー2のテクスチャコンポーネントは出力サブビットストリームに含まれる。
[0117]MVC+D仕様、付属書類AのサブクローズA.1.1は、ビットストリームサブセットの仕様を対象とする。H.264/AVCのMVC拡張のサブクローズH.8.5の仕様は、MVC+DのサブクローズA.1.1に適用される。MVC+DのサブクローズA1.1.1は、必要なアンカービューコンポーネントのための導出プロセスを対象としており、H.264/AVCのMVC拡張のサブクローズH.8.5.1と同様であり、H.8.5.1における「ビューコンポーネント」は、「深度ビューコンポーネント」または「テクスチャビューコンポーネント」のいずれかに置き換えられ、H.8.5.1における「ビュー」は、「深度ビュー」または「テクスチャビュー」のいずれかに置き換えられる。MVC+DのサブクローズA1.1.2は、必要な非アンカービューコンポーネントのための導出プロセスを対象としており、H.264/AVCのMVC拡張のH.8.5.2と同様であり、「ビューコンポーネント」は、「深度ビューコンポーネント」または「テクスチャビューコンポーネント」のいずれかに置き換えられ、「ビュー」は、「深度ビュー」または「テクスチャビュー」のいずれかに置き換えられる。
[0118]MVC+DのサブクローズA1.1.3は、サブビットストリーム抽出プロセスを対象とする。MVC+Dでは、pIdTarget(priority_idターゲット値)が0〜63(両端値を含む)の範囲内の任意の値に等しく、tIdTarget(temporal_idまたはtemporalIDターゲット値)が0〜7(両端値を含む)の範囲内の任意の値に等しく、viewIdTargetListがビットストリーム中のビューを識別するviewIdTargetの任意の1つまたは複数の値から成る、このサブクローズにおいて指定されるプロセスの出力である任意のサブビットストリームがMVC+D規格に適合し得ることが、ビットストリーム適合の必要条件であり得る。
[0119]viewIdTargetは、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイス(たとえば、ネットワークエンティティ)が宛先デバイス14のためのターゲット出力ビューと判断したターゲット出力ビューであり得る。また、適合ビットストリームは、priority_idが0に等しく、temporal_idが0に等しい1つまたは複数のコーディングされたスライスNALユニットを含む。その上、サブビットストリーム抽出プロセスから得られたサブビットストリームのすべての動作点が、適用可能なlevel_idcまたはlevel_idc[i]を有するとは限らないことがあり得る。この場合、サブビットストリーム中の各コーディングされたビデオシーケンスは、依然として、MVC+Dの付属書類A、付属書類Hおよび付属書類Iにおいて指定されるプロファイルのうちの1つまたは複数に適合する必要があり得るが、MVC+DのサブクローズA.3、H.10.2およびI.10.2においてそれぞれ指定されるレベル制約を満たさないことがある。
[0120]サブビットストリーム抽出プロセスへの入力は、変数depthPresentFlagTarget(存在するとき)、変数pIdTarget(存在するとき)、変数tIdTarget(存在するとき)、およびviewIdTargetの1つまたは複数の値から成るリストviewIdTargetList(存在するとき)であり得る。サブビットストリーム抽出プロセスの出力は、サブビットストリームおよびビュー順序のリスト(VOidxList)のための1つまたは複数のVOIdx(ビュー順序インデックス)であり得る。
[0121]入力としてdepthPresentFlagTargetが存在しないとき、depthPresentFlagTargetは0に等しいものと推測され得る。入力としてpIdTargetが存在しないとき、pIdTargetは63に等しいものと推測され得る。入力としてtIdTargetが存在しないとき、tIdTargetは7に等しいものと推測され得る。
[0122]現在のMVC+D仕様では、デバイス(たとえば、ビデオエンコーダ20とビデオデコーダ30との中間にあるネットワークエンティティ)は、以下の動作を順番に適用することによってビデオエンコーダ20によって構成されたビットストリームからサブビットストリームを導出することができる。たとえば、デバイスは、VOIdxListを空にし、minVOIdxをベースビューのVOIdx値にすることができる。viewIdTargetList中に含まれるviewIdTargetの各値に対して、デバイスは、入力としてviewIdTargetを有するテクスチャビューに対するサブクローズH.8.5.1において指定されるプロセスを起動することができる。depthPresentFlagTargetが1に等しい場合、viewIdTargetList中に含まれるviewIdTargetの各値に対して、デバイスは、入力としてviewIdTargetを有する深度ビューに対するサブクローズH.8.5.1において指定されるプロセスを起動することができる。
[0123]viewIdTarget list中に含まれるviewIdTargetの各値に対して、デバイスは、入力としてviewIdTargetの値を有するテクスチャビューに対するサブクローズH.8.5.2において指定されるプロセスを起動することができる。depthPresentFlagTargetが1に等しい場合、viewIdTargetList中に含まれるviewIdTargetの各値に対して、デバイスは、入力としてviewIdTargetを有する深度ビューに対するサブクローズH.8.5.2において指定されるプロセスを起動することができる。
[0124]次いでデバイスは、以下の条件のいずれかが当てはまるすべてのVCL NALユニットとフィラーデータNALユニットとを「ビットストリームから除去されるべき」とマークすることができる:priority_idはpIdTargetよりも大きい、temporal_idはtIdTargetよりも大きい、anchor_pic_flagは1に等しく、view_idは「アンカーに必要」とマークされない、anchor_pic_flagは0に等しく、view_idは「アンカーに必要」とマークされない、nal_ref_idcは0に等しく、inter_view_flagは0に等しく、view_idはリストviewIdTargetList中のいずれの値にも等しくない、またはnal_unit_typeは21に等しく、depthPresentFlagTargetは0に等しい。次いでデバイスは、すべてのVCL NALユニットが「ビットストリームから除去されるべき」とマークされたすべてのアクセスユニットを除去することができ、「ビットストリームから除去されるべき」とマークされたすべてのVCL NALユニットとフィラーデータNALユニットとを除去することができる。
[0125]VOIdxListが、minVOIdxに等しいVOIdxの唯一の値を含むとき、デバイスは以下のNALユニットを除去することができる:(1)nal_unit_typeが14または15に等しいすべてのNALユニット、および(2)nal_unit_typeが6に等しく、第1の補足エンハンスメント情報(SEI)メッセージが36〜44(両端値を含む)の範囲内のpayloadTypeを有するすべてのNALユニット。VOIdxListが、minVOIdxに等しいVOIdxの唯一の値を含む場合、サブビットストリームは、ベースビューだけまたはベースビューの時間サブセット(temporal subset)だけを含み得る。depthPresentFlagTargetが0に等しいとき、デバイスは、nal_unit_typeが6に等しく、第1のSEIメッセージが45〜47(両端値を含む)の範囲内のpayloadTypeを有するすべてのNALユニットを除去することができる。
[0126]サブビットストリーム抽出プロセスでは、maxTIdを、すべての残存VCL NALユニットの最大temporal_idにする。デバイスは、nal_unit_typeが6に等しく、以下の特性のいずれかを有するMVCスケーラブルネスティングSEIメッセージの一部であるSEIメッセージだけを含むすべてのNALユニットを除去し得る:(1)operation_point_flagが0に等しく、all_view_components_in_au_flagが0に等しく、0〜num_view_components_minus1(両端値を含む)の範囲内のすべてのiに対してsei_view_id[i]のいずれも、VOIdxList中に含まれるVOIdx値に対応しない、または(2)operation_point_flagが1に等しく、sei_op_temporal_idがmaxTidより大きいか、または0〜num_view_components_op_minus1(両端値を含む)の範囲内のすべてのiに対してsei_op_view_id[i]のリストがviewIdTargetListのサブセットでない(すなわち、0〜num_view_components_op_minus1(両端値を含む)の範囲内の任意のiに対してsei_op_view_id[i]がviewIdTargetList中の値に等しいことは真でない)のいずれかである。デバイスはまた、各ビュースケーラビリティ情報SEIメッセージと各動作点不在SEIメッセージとを、存在するときに除去することができる。
[0127]VOIdxListが、minVOIdxに等しいVOIdxの値を含まないとき、VOIdxListに含まれる最小のVOIdx値にVOIdxが等しいビューが、抽出されたサブビットストリームのベースビューに変換される。ベースビューを生成するための主要な処理ステップを概説する告知的手順が、MVC+D仕様におけるサブクローズI.8.5.6において説明される。VOIdxListが、minVOIdxに等しい値VOIdxを含まないとき、上記の動作に従って得られるサブビットストリームは、MVC+D仕様の付属書類Aにおいて指定される1つまたは複数のプロファイルに適合するベースビューを含まないことがある。この場合、最後の動作ステップによって、新しい最小のVOIdx値を有する残存ビューは、付属書類Aおよび付属書類Hにおいて指定される1つまたは複数のプロファイルに適合する新しいベースビューに変換される。
[0128]このようにして、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイス(たとえば、ルーティングデバイス104および/またはトランスコーディングデバイス106)であるネットワークエンティティは、現在のMVC+D規格に従って、またH8.5に関してMVC規格に従って、ビデオエンコーダ20によって生成されたビットストリームからサブビットストリームを抽出することができる。ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイスは、スケーラブルビデオのための、また他のマルチビューコーディング規格(たとえば、3D−AVC、MV−HEVCおよび3D−HEVC)のためのサブビットストリーム抽出のための同様の技法を実施することができる。
[0129]しかしながら、いくつかの例としてSVC、MVCおよびMVC+Dのための既存のサブビットストリーム抽出プロセスにはいくつかの問題があり得る。一例として、サブビットストリーム抽出プロセスによっては、抽出動作を適応的に選択するサブビットストリーム抽出プロセスのための機構がないことがある。場合によっては、サブビットストリーム抽出プロセスは、適切な抽出技法を選択するための適応型機構がなく、第1の抽出技法または第2の抽出技法のいずれかに限定され得る。
[0130]サブビットストリーム抽出を理解するために、本開示は「ターゲット出力ビュー」および「ターゲットビュー」または「ビューのサブセット」という用語を使用する。ターゲットビューは、ビューのサブセットのビューであり得る。いくつかの例では、本開示は、「ターゲットビュー」を指すときに単に「ビュー」という用語を使用することがある。ビットストリーム抽出の文脈では、ターゲットビューは単に、サブビットストリームに出るように抽出されるべきコーディングされたピクチャを有するビューを指す。ターゲット出力ビューは、ディスプレイデバイス31に表示されるべきビューである。ビューのサブセットは、ビューのサブセットにおけるビューが表示されない場合でも、ターゲット出力ビューを適切に復号するために必要とされるビューを指す。ターゲット出力ビューは、ビューのサブセットにおけるビューのうちの1つであり得るが、追加のビューがあり得る。より一般的には、ビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方またはテクスチャビューコンポーネントもしくは深度ビューコンポーネントのうちの一方あるいはスケーラブルビデオコーディングにおけるレイヤのコーディングされたピクチャがターゲット出力ビューを復号するために必要とされる場合、ビューまたはレイヤは、ターゲット出力ビューまたはターゲット出力レイヤを復号するために必要とされるビューのサブセットまたはレイヤのサブセットにおけるビューであると見なされ得る。
[0131]一例として、図3を参照して、表示されるべきビューがビューS2およびビューS3であると仮定する。この例では、ターゲット出力ビューのリストは、ビューS2とビューS3とを含む。図3に示すように、ビューS2におけるコーディングされたピクチャが、ビューS0におけるコーディングされたピクチャによりビュー間予測される(たとえば、ビューS2の第1のピクチャは、ビューS0の第1のピクチャによりビュー間予測される)。したがって、ビューS2のコーディングされたピクチャを適切に復号するために、ビデオデコーダ30は、ビューS0が表示されるべきではなくても、ビューS0からのコーディングされたピクチャを必要とし得る。また、図3に示すように、ビューS3におけるコーディングされたピクチャは、ビューS4およびS2におけるコーディングされたピクチャによりビュー間予測される。したがって、ビューS3のコーディングされたピクチャを適切に復号するために、ビデオデコーダ30は、(ビューS2がターゲット出力ビューであるので、ビデオデコーダ30が受信することになる)ビューS2からのコーディングされたピクチャを必要とし得る。この例では、ビデオデコーダ30は、ビューS4が表示されるべきではなくても、ビューS4からのコーディングされたピクチャも必要とし得る。したがって、この例では、ビューのサブセットは、ビューS0と、ビューS2と、ビューS3と、ビューS4とを含む。他のビューは、ビューS2およびS3(ターゲット出力ビュー)を適切に復号するために必要とされないので、処分される(ビットストリームから除去される)ことはない。
[0132]第1の抽出技法では、サブビットストリーム抽出プロセスは、ターゲット出力ビューのリストまたはターゲット出力レイヤのリストの復号に必要とされないデータをできるだけ多く処分することによって、得られるサブビットストリームの最小サイズを対象とする必要があり得る。この第1の抽出技法は、特定のエンドユーザ端末(たとえば、宛先デバイス14またはクライアントデバイス108のうちの特定の1つ)による要求への応答として適切であり得る。
[0133]この第1の抽出技法は、「最適サブビットストリーム抽出技法」と呼ばれ得る。この最適サブビットストリーム抽出技法では、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイスは、出力ビューまたは出力レイヤを復号するために必要とされない任意のコーディングされたピクチャに関するビデオデータを除去することができる。たとえば、ターゲット出力ビューがビューS2およびビューS3である前述の例に従えば、ビューS0のピクチャは、ビューS2を復号するために必要とされ、ビューS2のコーディングされたピクチャは、ビューS3を復号するために必要とされるので、ビューS0は、ビューのサブセットのビューであり得る。しかしながら、ビューS2およびS3のコーディングされたピクチャを復号するために、ビューS0のすべてのコーディングされたピクチャが必要とされるとは限らない。一例として、図3を再び参照すると、ビューS0の時間T1におけるコーディングされたピクチャは、ビューS2およびビューS3におけるコーディングされたピクチャのいずれを復号するためにも必要とされない(たとえば、ビューS2およびS3におけるコーディングされたピクチャのいずれも、ビューS0の時間T1におけるコーディングされたピクチャによりビュー間予測されることはなく、ビューS2およびS3におけるコーディングされたピクチャのいずれも、ビューS0の時間T1におけるコーディングされたピクチャによりインター予測されるコーディングされたピクチャによりビュー間予測されることはない)。したがって、ビューS0がビューのサブセットのビューであっても、ターゲット出力ビューを復号するために、ビューS0のすべてのコーディングされたピクチャが必要とされるとは限らない。最適サブビットストリーム抽出技法では、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイスは、ビューS0の時間T1におけるコーディングされたピクチャを除去することができ、このコーディングされたピクチャをサブビットストリームに含めなくてもよい。たとえば、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイスは、テクスチャビューコンポーネントと深度ビューコンポーネントの両方を除去することができる。
[0134]第2の抽出技法では、サブビットストリーム抽出プロセスは、出力サブビットストリームの自己完全性を対象とする必要があり得る。出力サブビットストリームの自己完全性を達成するために、サブビットストリーム抽出プロセスは、以下のうちの1つまたは複数を維持することができる:各レイヤが完全であること、深度ビューが少なくとも1つのビューのために存在する場合に、各ビューがテクスチャビューと深度ビューの両方を有すること、および出力サブビットストリームに少なくとも1つの深度ビューコンポーネントが存在する場合に、各ビューコンポーネントがテクスチャビューコンポーネントと深度ビューコンポーネントの両方を有すること。この場合、レイヤの例には、空間/品質スケーラブルレイヤ、テクスチャビュー、または深度ビューがある。レイヤが完全であることは、時間ロケーションにおいて、別のレイヤがアクセスユニットを有するときはいつでも、アクセスユニットを有することを意味する。自己完全サブビットストリームは、依然として「完全に抽出可能」であり、サブビットストリーム抽出がストリーミングサーバ(たとえば、サーバデバイス102)または中間ネットワーク要素(たとえば、MANEデバイス)によって実行され、ターゲット出力ビューのリストとして、出力に含まれるビューの任意のサブセットが要求され得る場合に、より有用であり得る。これらの例では、ストリーミングサーバまたは中間ネットワーク要素は、ネットワークエンティティの例である。
[0135]第2の抽出技法は、「自己完全サブビットストリーム抽出技法」と呼ばれ得る。自己完全サブビットストリーム抽出技法では、ビューの両方のビューコンポーネントは、出力ビューを復号するために両方のビューコンポーネントが必要とされない場合でも、サブビットストリームに含まれる。たとえば、図3では、ビューS4の時間T0におけるビューコンポーネントのテクスチャビューコンポーネントは、ビューS3の時間T0におけるビューコンポーネントのテクスチャビューコンポーネントを復号するために必要とされると仮定する。また、ビューS4の時間T0におけるビューコンポーネントの深度ビューコンポーネントは、ビューS3の時間T0におけるビューコンポーネントの深度ビューコンポーネントを復号するために必要とされないと仮定する。自己完全抽出技法では、ビューS4の時間T0におけるビューコンポーネントのテクスチャビューコンポーネントは、ビュー3を復号するためにサブビットストリームに含まれるので、ビデオエンコーダ20とビデオデコーダ30との中間にあるデバイス(たとえば、ネットワークエンティティ)は、ビューS4の時間T0におけるビューコンポーネントのテクスチャビューコンポーネントと深度ビューコンポーネントの両方を含み得る。
[0136]上述の第1および第2の抽出技法は、単に例示のために説明されており、限定するものと見なされるべきではない。一般に、いくつかの他の技法では、サブビットストリーム抽出プロセスを実行するデバイスは、サブビットストリーム抽出技法を適応させることが可能ではないことがある(たとえば、デバイスは、上記の2つの抽出技法のうちの1つを選択的に実施するように構成可能ではないことがある)。むしろ、デバイスは第1の抽出技法または第2の抽出技法のいずれかに限定され得る。第1の抽出技法または第2の抽出技法のいずれかに限定される結果、サブビットストリーム抽出は、本来であれば可能となる場合ほど最適ではなくなり得る。
[0137]さらに、MVC+Dドラフト仕様におけるサブビットストリーム抽出プロセスは、最適ではないことがあり、以下の問題または欠点を有し得る。たとえば、ターゲット出力ビューのテクスチャビューコンポーネントは、ビューのセットのテクスチャビューコンポーネントによりビュー間予測されることがあり、ターゲット出力ビューの深度ビューコンポーネントは、ビューのセットの深度ビューコンポーネントによりビュー間予測されないことがある。しかしながら、ビューのセットの深度ビューコンポーネントは、ターゲット出力ビューを復号するために必要とされなくても、やはり、ビューのセットの深度ビューコンポーネントはサブビットストリームに含まれ得る。同様に、ターゲット出力ビューの深度ビューコンポーネントは、ビューのセットの深度ビューコンポーネントによりビュー間予測されることがあり、ターゲット出力ビューのテクスチャビューコンポーネントは、ビューのセットのテクスチャビューコンポーネントによりビュー間予測されないことがある。しかしながら、ビューのセットのテクスチャビューコンポーネントは、ターゲット出力ビューを復号するために必要とされなくても、やはり、ビューのセットのテクスチャビューコンポーネントはサブビットストリームに含まれ得る。
[0138]本開示で説明するサブビットストリーム抽出技法は、抽出プロセスを選択する適応型(たとえば、選択的)方法を対象とし得る。その上、サブビットストリーム抽出技法は、MVC+Dビデオコーディング仕様のための改善によるビットストリーム抽出プロセスの最適化を実現し得る。
[0139]例示のために、本開示で説明する技法によれば、サブビットストリーム抽出プロセスは、ネットワークエンティティ(その一例はMANEデバイス)によって実行され得る。たとえば、ルーティングデバイス104および/またはトランスコーディングデバイス106は、MANEデバイスと見なされ得る。いくつかの例では、サーバデバイス102が本開示で説明する技法を実施することができるが、単に説明しやすいように、本技法は、サーバデバイス102とクライアントデバイス108との中間にあるネットワークエンティティに関して説明される。クライアントデバイス108が本開示で説明する技法を実施することも可能であり得るが、一般に、本開示で説明する技法は、中間デバイス(たとえば、MANEデバイスのようなネットワークエンティティ)によって実行されることになる。
[0140]本開示で説明する技法では、サブビットストリーム抽出プロセスは、複数のサブビットストリーム抽出モードを定義することができる。外部手段が特定のサブビットストリーム抽出モードを決定することがある。「外部手段」という用語は一般に、ビデオデコーダ30(たとえば、抽出されたサブストリームを受信することになるビデオデコーダ)の外部にある、ハードウェアユニットまたはハードウェアユニット上で実行されているソフトウェアユニットを指す。たとえば、外部手段は、MANEデバイスなどのビデオエンコーダ20とビデオデコーダ30との中間にあるデバイスおよび/またはサーバデバイス102の構成要素であり得る。MANEデバイスにおけるそのような構成要素は、ビデオコーディング仕様に指定されていないことがある。たとえば、外部手段は、MANEデバイスおよび/またはビデオデコーダ30によって値が使用される1つまたは複数の変数を設定することができるが、値は、MANEデバイスおよび/またはビデオデコーダ30の外部で設定され、MANEデバイスおよび/またはビデオデコーダ30に入力として提供することがある。
[0141]一例として、MANEデバイスは、アプリケーション処理インターフェース(API)に適合するソフトウェアまたはファームウェアをハードウェア上で実行することができる(たとえば、MANEデバイスは、外部手段を形成するハードウェアユニットを含むことができ、または外部手段を形成するハードウェアユニット上で実行されるソフトウェアユニットを含むことができる)。このソフトウェアまたはファームウェアは、外部手段の一例である。たとえば、サブビットストリーム抽出モードを選択するために、MANEデバイスは、選択された抽出モードを示す値を外部手段から受信することができる。外部手段は、MANEデバイスおよび/またはビデオデコーダ30によって値が使用される1つまたは複数の変数を設定することができるが、外部手段は、MANEデバイスおよび/またはビデオデコーダ30の外部で値を決定し得る。外部手段は、値を入力としてMANEデバイスおよび/またはビデオデコーダ30に提供することができ、MANEデバイスは、選択された方法でサブビットストリームを抽出するために入力を使用することができる。
[0142]いくつかの例では、このソフトウェアまたはファームウェアは、クライアントデバイス108または宛先デバイス14から、クライアントデバイス108または宛先デバイス14の特性(たとえば、モバイルデバイスまたはデスクトップデバイス、ディスプレイデバイス31のサイズ、ビデオデコーダ30の復号能力、受信され得るターゲット出力ビューの正確な要件など)を示す入力情報を受信し得る。いくつかの例では、このソフトウェアまたはファームウェアは、クライアントデバイス108または宛先デバイス14への接続の特性(たとえば、サブネットワークのタイプ、安全な、最適な、または何らかの中間レベルの受信のための帯域幅要件など)に関する情報を判断することができる。
[0143]受信または判断された情報から、ソフトウェアまたはファームウェアは、特定のサブビットストリーム抽出モードを決定する(たとえば、複数のサブビットストリーム抽出モードからモードを選択する)ことができる。たとえば、ソフトウェアまたはファームウェアは、サブビットストリーム抽出モードのリストを維持することができ、各サブビットストリーム抽出モードは、サブビットストリーム抽出を実行する特定の方法を示す。この例では、ソフトウェアまたはファームウェアは、選択されたサブビットストリーム抽出モードを識別する値(たとえば、サブビットストリーム抽出モードのリストへのインデックス)を決定することができる。ソフトウェアまたはファームウェアは、決定された値をMANEデバイスに出力することができ、次にMANEデバイスは、選択されたサブビットストリーム抽出モードを判断し、選択されたサブビットストリーム抽出モードによって定義された方法で、受信されたコーディングされたビットストリームからサブビットストリームを抽出することができる。
[0144]いくつかの例では、MANEデバイスのハードウェアユニット上で実行されるソフトウェアまたはファームウェアの代わりまたは追加として、MANEデバイスは、クライアントデバイス108もしくは宛先デバイス14の特性またはクライアントデバイス108もしくは宛先デバイス14の接続の情報を受信または判断し、特定のサブビットストリーム抽出モードを選択するように構成されたハードウェアユニットを含むことができる。このハードウェアユニットは、外部手段の別の例である。
[0145]本開示で説明する技法では、外部手段は、サブビットストリームが抽出されることになる方法をそれぞれ定義する1つまたは複数の変数を設定することができる。外部手段は、1つまたは複数の変数から値を選択することができ、MANEデバイスは、値を受信することができる。外部手段はまた、ビデオデコーダ30に値を出力することができる。ビデオデコーダ30は、値を受信し、ビデオデコーダ30が受信することになるサブビットストリームを判断することができる。次いでビデオデコーダ30は、ビデオデコーダ30が受信することになるサブビットストリームを示す値に基づいて、ターゲット出力ビューまたはレイヤを復号することができる。この意味で、外部手段は、値がビデオデコーダ30によって使用され、入力としてビデオデコーダ30に提供される1つまたは複数の変数を設定する、ビデオデコーダ30の外部にあるユニットであり得る。
[0146]外部手段が存在しない場合、MANEデバイスは、デフォルトのサブビットストリーム抽出モードを選択するように構成され得る。デフォルトのサブビットストリーム抽出モードは、可能なサブビットストリーム抽出技法のうちのいずれか1つを識別するモードであり得る。いくつかの例では、ビデオコーディング仕様は、デフォルトのサブビットストリーム抽出技法を定義することができ、デフォルトのサブビットストリーム抽出モードは、ビデオコーディング仕様によってデフォルトのサブビットストリーム抽出技法として定義されたサブビットストリーム抽出技法を識別することができる。
[0147]上記のように、サブビットストリーム抽出モードの各値は、抽出されたサブビットストリーム出力を生成する際に使用されるべき特定のサブビットストリーム抽出技法を識別することができる。一例として、複数のモードのうちのモードは、MANEデバイスが、出力される抽出されたサブビットストリームにおいて最大の自己完全性を維持すべきであると定義し得る。たとえば、深度ビューコンポーネントとテクスチャビューコンポーネントの両方または各レイヤが、出力されるサブビットストリームに含まれる。別の例として、複数のモードのうちのモードは、MANEデバイスが、最小サイズを有するサブビットストリームを抽出すべきであると定義し得る。たとえば、MANEデバイスは、ターゲット出力ビューまたはターゲット出力レイヤを復号するために必要とされるコーディングされたピクチャのみを、ビットストリームから抽出することができる。
[0148]言い換えれば、1つの例示的なサブビットストリーム抽出モードは、「最適サブビットストリーム抽出」モードであり得る。別の例示的なサブビットストリーム抽出モードは、「自己完全サブビットストリーム抽出」モードであり得る。この例では、抽出モード値0は最適サブビットストリーム抽出モードを指し、抽出モード値1は自己完全サブビットストリーム抽出モードを指すと仮定する。外部手段が抽出モード値0を選択した場合、MANEデバイスは、ターゲット出力ビューを復号するのに十分なビデオデータがあるようにしつつ、できるだけ多くのビデオデータをビットストリームから除去することができる。外部手段が抽出モード値1を選択した場合、MANEデバイスは、ビューのターゲットビューコンポーネントと深度ビューコンポーネントの両方を、ターゲット出力ビューを復号するためにターゲットビューコンポーネントまたは深度ビューコンポーネントのいずれかが必要とされる場合に、含むことができる。
[0149]別の例として、複数のモードのうちのモードは、MANEが中間的自己完全性(たとえば、各レイヤは完全である、2つのレイヤを含み得る各ビュー、1つのテクスチャビューおよび1つの深度ビューは完全である)を維持すべきであると定義し得る。このモードは、「中間的サブビットストリーム抽出」モードと呼ばれることがある。中間的サブビットストリーム抽出モードでは、MANEは、ターゲット出力ビューを復号するために必要とされるビューコンポーネントのみを維持することができる。たとえば、ターゲット出力ビューを復号するために、ビューのテクスチャビューコンポーネントは必要とされるが、ビューの深度ビューコンポーネントは必要とされない場合、MANEデバイスはビューのテクスチャビューコンポーネントを出力することができ、深度ビューコンポーネントを出力しなくてもよい。同様に、中間的サブビットストリーム抽出モードでは、ターゲット出力ビューを復号するために、ビューの深度ビューコンポーネントは必要とされるが、ビューのテクスチャビューコンポーネントは必要とされない場合、MANEデバイスはビューの深度ビューコンポーネントを出力することができ、テクスチャビューコンポーネントを出力しなくてもよい。
[0150]中間的自己完全性の例が複数存在することがあり、これらのレベルの各々は、複数のサブビットストリーム抽出モードのうちのモードを表し得る。たとえば、中間的サブビットストリーム抽出モードの一例では、MANEは、ビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方を、両方が必要とされない場合でも、維持することができるが、テクスチャビューコンポーネントと深度ビューコンポーネントとを、ターゲット出力ビューを復号するために両方が必要とされない場合に、除去することができる。言い換えれば、ビューのテクスチャビューコンポーネントが含まれることになる場合、MANEデバイスは、深度ビューコンポーネントも、ターゲット出力ビューを復号するために必要とされない場合でも、含めることができる。しかしながら、ターゲット出力ビューを復号するために、ビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方が必要とされない場合、MANEデバイスは、ターゲットビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方を除去することができる。
[0151]自己完全抽出技法では、ビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方は、ビューが完全に抽出可能になり得るように、いずれも必要とされない場合でも、サブビットストリームに含まれ得るので、中間的自己完全抽出技法のこの例は、自己完全抽出技法とは異なり得る。中間的自己完全抽出技法のこの例では、ビューのテクスチャビューコンポーネントまたは深度ビューコンポーネントが必要とされる場合、両方が出力サブビットストリームに含まれ、ビューのいずれも必要とされない場合、いずれも出力サブビットストリームに含まれない。
[0152]上述のモードに加えて、サブビットストリームが抽出されるべき方法を定義する他の選択可能なモードもあってもよく、上述の例示的なモードは限定するものと見なされるべきではない。たとえば、本開示で説明する技法は、上述の特定のサブビットストリーム抽出モードに限定されない。一般に、本開示で説明する技法は、外部手段が複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択し、MANEデバイスが選択されたサブビットストリーム抽出モードに従ってサブビットストリームを抽出する、適応型サブビットストリーム抽出技法を許容する例を対象とし得る。最適サブビットストリーム抽出モード、自己完全サブビットストリーム抽出モード、および中間的サブビットストリーム抽出モードの例は、例示のために提供されている。本開示で説明する例示的な適応型サブビットストリーム抽出技法では、追加のモードまたは他のタイプの抽出モードも可能であり得る。
[0153]本開示で説明するマルチモードサブビットストリーム抽出技法は、非ビデオコーデックを含む任意のスケーラブルメディアコーデックで適用可能であり得る。言い換えれば、本開示で説明する技法はビデオコーディングに関して説明されるが、本技法はそのように限定されず、一般にメディアコーディング技法を対象とし得る。
[0154]また、適合ビットストリームをもたらすために、サブビットストリーム抽出モードのすべてが必要とは限らない。たとえば、MANEデバイスが、サブビットストリーム抽出モードのうちの1つによって定義された方法でサブビットストリームを抽出する場合、得られるビットストリームは適合ビットストリームであり得る。MANEデバイスが、サブビットストリーム抽出モードのうちの別の1つによって定義された方法でサブビットストリームを抽出する場合、得られるビットストリームは適合ビットストリームでないことがある。
[0155]このようにして、ビデオエンコーダ20は必ずしも、すべてのモードで抽出されたサブビットストリームが適合することを確実にするために追加タスクを実行する必要があるとは限らない。これにより、ビデオエンコーダ20がビットストリームを構成する際の複雑性が低下し得る。
[0156]したがって、本開示で説明する技法では、外部手段は、複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択することができ、MANEデバイスは、サブビットストリーム抽出モードの選択を受信することができる。サブビットストリーム抽出モードの各々は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするためにビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出する方法を定義する。上記のように、いくつかの例では、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤのVCL NALユニットを備える。いくつかの例では、ビューの各コーディングされたピクチャは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントのうちの1つである。たとえば、深度データがない場合、ビューのコーディングされたピクチャはビューコンポーネントであり得る。深度データがある場合、ビューのコーディングされたピクチャはテクスチャビューコンポーネントまたは深度ビューコンポーネントであり得る。いくつかの例では、レイヤの各コーディングされたピクチャは、レイヤのピクチャである。
[0157]次いで本技法は、ビットストリームから、選択されたサブビットストリーム抽出モードによって定義された方法でサブビットストリームを抽出する。本技法は、抽出されたサブビットストリームをビデオデコーダ30に出力する。ビデオデコーダ30がターゲット出力ビューまたはレイヤを再構成するために復号するのは、このサブビットストリームである。
[0158]一例として、外部手段は、複数のサブビットストリーム抽出モードから自己完全サブビットストリーム抽出モードを選択することができ、MANEデバイスは、自己完全サブビットストリーム抽出モードの選択を示す情報を受信することができる。外部手段が自己完全サブビットストリーム抽出モードを選択したとき、MANEデバイスは、ターゲット出力ビューを復号するためにビューのテクスチャビューまたは深度ビューが必要とされる場合に、ビューのすべての利用可能なテクスチャビューコンポーネントと深度ビューコンポーネントとを抽出することができる。言い換えれば、ターゲット出力ビューを復号するためにビューの深度ビューは必要とされないが、ビューのテクスチャビューは必要とされる場合でも、MANEデバイスは、ビューの利用可能なテクスチャビューコンポーネントと利用可能な深度ビューコンポーネントの両方を抽出することができる。同様に、ターゲット出力ビューを復号するためにビューのテクスチャビューは必要とされないが、ビューの深度ビューは必要とされる場合でも、MANEデバイスは、ビューの利用可能なテクスチャビューコンポーネントと利用可能な深度ビューコンポーネントの両方を抽出することができる。
[0159]別の例として、外部手段は、複数のサブビットストリーム抽出モードから中間的サブビットストリーム抽出モードを選択することができ、MANEデバイスは、中間的サブビットストリーム抽出モードの選択を示す情報を受信することができる。外部手段が中間的サブビットストリーム抽出モードを選択したとき、MANEデバイスは、以下のうちの1つを行うことができる:(1)ターゲット出力ビューを復号するためにビューのテクスチャビューが必要とされる場合に、ビューのすべての利用可能なテクスチャビューコンポーネントを抽出し、ターゲット出力ビューを復号するためにビューの深度ビューが必要とされない場合に、ビューの深度ビューコンポーネントを抽出しないこと、および(2)ターゲット出力ビューを復号するためにビューの深度ビューが必要とされる場合に、ビューのすべての利用可能な深度ビューコンポーネントを抽出し、ターゲット出力ビューを復号するためにビューのテクスチャビューが必要とされない場合に、ビューのテクスチャビューコンポーネントを抽出しないこと。
[0160]言い換えれば、出力ビューを復号するために、テクスチャビューは必要とされるが、深度ビューは必要とされない場合、MANEデバイスは、出力のためにテクスチャビューコンポーネントのみを抽出することができ、サブビットストリームから深度ビューコンポーネントを除去することができる。出力ビューを復号するために、深度ビューは必要とされるが、テクスチャビューは必要とされない場合、MANEデバイスは、出力のために深度ビューコンポーネントのみを抽出することができ、サブビットストリームからテクスチャビューコンポーネントを除去することができる。MANEデバイスが必要に応じてテクスチャビューコンポーネントまたは深度ビューコンポーネントのみを抽出することができる方法について、別個のリストの維持に関して以下で説明する。
[0161]また別の例として、外部手段は、複数のサブビットストリーム抽出モードから最適サブビットストリーム抽出モードを選択することができ、MANEデバイスは、最適サブビットストリーム抽出モードの選択を示す情報を受信することができる。外部手段が最適サブビットストリーム抽出モードを選択したとき、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントのみを抽出することができ、ターゲット出力ビューを復号するために必要とされないビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントを抽出しなくてもよい。言い換えれば、テクスチャビューコンポーネントまたは深度ビューコンポーネントが必要とされる場合のみ、MANEデバイスは、テクスチャビューコンポーネントまたは深度ビューコンポーネントをサブビットストリームに含める。すべての他のビューコンポーネントは、サブビットストリームにビューコンポーネントを含むビューからの場合でも、ターゲット出力ビューを復号するために必要とされないものは、サブビットストリームから除去される。
[0162]さらに、MANEデバイスは、MVC+D仕様によって現在定義されているサブビットストリーム抽出のための可能な改善をもたらす追加タスクを実行することができる。一例として、中間的サブビットストリーム抽出モードを実施するために、MANEデバイスは、ターゲット出力ビューの所与のリストのために、テクスチャビューおよび深度ビューのための別個のビューリスト(たとえば、ターゲットビューリスト)を維持することができる。たとえば、MANEデバイスは、出力ビューを判断することができるか、または受信された情報から出力ビューを判断することができる。出力ビューのために、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるビューのテクスチャビューおよび深度ビューのための別個のリストを維持することができる。言い換えれば、MANEデバイスは、ビューから抽出されるべきテクスチャビューのリストを維持し、ビューから抽出されるべき深度ビューの別個のリストを維持することができる。
[0163]たとえば、ターゲット出力ビューがビュー0と、ビュー1と、ビュー2とを含み、ビュー2がビュー3によりビュー間予測される場合、ビューリストは、抽出される必要があるビューとして、ビュー0と、ビュー1と、ビュー2と、ビュー3とを識別することができる。ビデオデコーダ30は、ビュー2をインター予測復号するためにビュー3を必要とするので、ビュー3は抽出される必要がある。しかしながら、ビデオデコーダ30は、ビュー2をインター予測復号するために、ビュー3のテクスチャビューコンポーネントと深度ビューコンポーネントの両方を必要とするとは限らない。したがって、本開示で説明する技法では、MANEデバイスは、ビューのテクスチャビューを第1のビューリストで、ビューの深度ビューを第2のビューリストで、別個に維持することができる。
[0164]たとえば、MANEデバイスは、「抽出されるべき」テクスチャビューのビューリストにテクスチャビューコンポーネントが属するかどうかを判断することができる。たとえば、MANEデバイスは、テクスチャビューのリストで識別されるテクスチャビューにテクスチャビューコンポーネントが属するかどうかを判断することができる。ビューコンポーネントがビューリストの「抽出されるべき」テクスチャビューコンポーネントである場合、MANEデバイスは、サブビットストリームにおける出力のためにテクスチャビューコンポーネントを抽出することができる。「抽出されるべき」テクスチャビューのビューリストにビューコンポーネントが属さない場合、MANEデバイスは、サブビットストリームにおける出力のためにテクスチャビューコンポーネントを抽出しなくてもよい。
[0165]たとえば、MANEデバイスは、テクスチャビューのリストで識別されるテクスチャビューにテクスチャビューコンポーネントが属する場合のみ、テクスチャビューコンポーネントを抽出することができる。MANEデバイスは、テクスチャビューコンポーネントに対応する深度ビューコンポーネントの抽出を、深度ビューのリストで識別されない深度ビューに深度ビューコンポーネントが属する場合に回避する(たとえば、抽出するのを回避すること、または抽出するのを回避する)(たとえば、対応する深度ビューコンポーネントを抽出しない)ことができる。このようにして、MANEデバイスは、ターゲット出力ビューを復号するためにビューのテクスチャビューが必要とされる場合に、ビューのすべての利用可能なテクスチャビューコンポーネントを抽出することができ、ターゲット出力ビューを復号するためにビューの深度ビューが必要とされない場合に、ビューの深度ビューコンポーネントを抽出しなくてもよい。
[0166]同様に、MANEデバイスは、「抽出されるべき」深度ビューのビューリストにビューコンポーネントが属するかどうかを判断することができる。たとえば、MANEデバイスは、深度ビューのリストで識別される深度ビューに深度ビューコンポーネントが属するかどうかを判断することができる。ビューコンポーネントがビューリストの「抽出されるべき」深度ビューコンポーネントである場合、MANEデバイスは、サブビットストリームにおける出力のために深度ビューコンポーネントを抽出することができる。「抽出されるべき」深度ビューのビューリストにビューコンポーネントが属さない場合、MANEデバイスは、サブビットストリームにおける出力のために深度ビューコンポーネントを抽出しなくてもよい。
[0167]たとえば、MANEデバイスは、深度ビューのリストで識別される深度ビューに深度ビューコンポーネントが属する場合のみ、深度ビューコンポーネントを抽出することができる。MANEデバイスは、深度ビューコンポーネントに対応するテクスチャビューコンポーネントの抽出を、テクスチャビューのリストで識別されないテクスチャビューにテクスチャビューコンポーネントが属する場合に回避する(たとえば、対応するテクスチャビューコンポーネントを抽出しない)ことができる。このようにして、MANEデバイスは、ターゲット出力ビューを復号するためにビューの深度ビューが必要とされる場合に、ビューのすべての利用可能な深度ビューコンポーネントを抽出することができ、ターゲット出力ビューを復号するためにビューのテクスチャビューが必要とされない場合に、ビューのテクスチャビューコンポーネントを抽出しなくてもよい。
[0168]上記の例では、MANEデバイスは、ビューリストのテクスチャビューおよび深度ビューのための2つの別個のリストを維持することができる。たとえば、テクスチャビューのためのリストは、ターゲット出力ビューのテクスチャビューコンポーネントを復号するために必要とされるビューのテクスチャビューを含むことができる。深度ビューのためのリストは、ターゲット出力ビューの深度ビューコンポーネントを復号するために必要とされるビューの深度ビューを含むことができる。
[0169]この例では、ターゲット出力ビューのビューコンポーネントを復号するために、深度ビューコンポーネントは必要とされるが、対応するテクスチャビューコンポーネントは必要とされない場合、MANEデバイスは、深度ビューコンポーネントを抽出すことができ、テクスチャビューコンポーネントを抽出しなくてもよい。同様に、ターゲット出力ビューのビューコンポーネントを復号するために、テクスチャビューコンポーネントは必要とされるが、対応する深度ビューコンポーネントは必要とされない場合、MANEデバイスは、テクスチャビューコンポーネントを抽出することができ、深度ビューコンポーネントを抽出しなくてもよい。
[0170]この意味で、テクスチャビューのリストは、テクスチャビューコンポーネントが抽出されることになるテクスチャビューを含むことができ、深度ビューのリストは、深度ビューコンポーネントが抽出されることになる深度ビューを含むことができる。しかしながら、テクスチャビューのリストで識別されるビューのテクスチャビューは、深度ビューのリストで識別されるビューの対応する深度ビューを有しないことがあり、その逆も同様である。言い換えれば、テクスチャビューのリストは、少なくとも1つのビューのテクスチャビューを含み、深度ビューのリストは、少なくとも1つのビューの対応する深度ビューを含まないか、または深度ビューのリストは、少なくとも1つのビューの深度ビュー、テクスチャビューのリストは、少なくとも1つのビューの対応するテクスチャビューを含まない。このようにして、テクスチャビューコンポーネントのみが必要とされる場合、または深度ビューコンポーネントのみが必要とされる場合に、出力のためにテクスチャビューコンポーネントと深度ビューコンポーネントの両方を抽出するのではなく、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるテクスチャビューコンポーネントおよび深度ビューコンポーネントのみを抽出し、必要とされるテクスチャビューコンポーネントまたは深度ビューコンポーネントのみをサブビットストリームに含めることができる。
[0171]いくつかの例では、MANEデバイスはモーダル方式を適用して、MANEデバイスがテクスチャビューコンポーネントのためのビューリスト(すなわち、ターゲット出力ビューを復号するために必要とされるテクスチャビューコンポーネントのリスト)と深度ビューコンポーネントのためのビューリスト(すなわち、ターゲット出力ビューを復号するための深度ビューコンポーネントのリスト)とを別個に維持すべきかどうかを判断することができる。たとえば、第1のサブビットストリーム抽出モードでは、MANEデバイスは、現在のMVC+D仕様で定義されているサブビットストリーム抽出プロセスを実施することができ、第2のサブビットストリーム抽出モードでは、MANEデバイスは、MANEデバイスがターゲット出力ビューを復号するためのテクスチャビューコンポーネントのリストとターゲット出力ビューを復号するための深度ビューコンポーネントの別個のリストとを維持するサブビットストリーム抽出プロセスを実施することができる。
[0172]第1のサブビットストリーム抽出モード(たとえば、自己完全サブビットストリーム抽出モード)では、テクスチャビューコンポーネントが必要とされる場合、MANEデバイスは、深度ビューコンポーネントが必要とされない場合でも、テクスチャビューコンポーネントと深度ビューコンポーネントの両方をサブビットストリームで出力することができ、その逆も同様である。いくつかの例では、MANEデバイスの外部手段(たとえば、ソフトウェア、ファームウェア、またはハードウェアユニット)は、出力サブビットストリームが「完全に抽出可能」であることが求められる(すなわち、1つのビューがテクスチャと深度の両方を有する場合に、すべてのビューがテクスチャと深度の両方を有しなければならない)場合に、MANEデバイスが第1のモードに従ってビットストリームを抽出すべきであると判断することができる。第1のサブビットストリーム抽出モードに従ってビットストリームを抽出することは、ビットストリーム抽出がストリーミングサーバ(たとえば、サーバデバイス102)または中間ネットワーク要素(たとえば、ルーティングデバイス104および/またはトランスコーディングデバイス106)によって実行され、ターゲット出力ビューとして、出力に含まれるビューの任意のサブセットが要求され得る場合に、有益であり得る。言い換えれば、ビューの任意の組合せが出力に必要とされ得るので、MANEデバイスが、出力サブビットストリームが完全に抽出可能であることを確実にすることは有益であり得る。
[0173]いくつかの例では、外部手段は、第2のサブビットストリーム抽出モード(たとえば、中間的サブビットストリーム抽出モード)が、MANEデバイスがサブビットストリーム抽出を実施すべき場合のより適切な方法であると判断し得る。たとえば、外部手段は、ビデオのエンドユーザであるエンティティ(たとえば、宛先デバイス14またはクライアントデバイス108)から、ターゲット出力ビューを示す情報を受信することができる。この例では、外部手段は、MANEデバイスがサブビットストリーム抽出を実行する方法として、第2のサブビットストリーム抽出モードを選択することができる。
[0174]別の例として、ビデオのエンドユーザであるエンティティは、最初の抽出から抽出される動作点にないターゲット出力ビューを決して要求しないことがある。たとえば、サーバデバイス102は、動作点によって定義される特性を有するサブビットストリームをもたらす最初の抽出を実行し得る。トランスコーディングデバイス106は、追加の抽出を実行し得る。この例では、ビデオのエンドユーザであるエンティティが、サーバデバイス102によって実行された抽出プロセスの一部として含まれたビューを要求するつもりがない場合、外部手段は、(たとえば、テクスチャビューコンポーネントと深度ビューコンポーネントの両方を含むビューコンポーネントの単一のリストではなく、テクスチャビューコンポーネントおよび深度ビューコンポーネントのための別個のリストを維持することによって)MANEデバイスがサブビットストリーム抽出を実行する方法として、第2のサブビットストリーム抽出モードを選択することができる。
[0175]いくつかの例では、ターゲット出力ビューを復号するために必要とされるテクスチャビューコンポーネントまたは深度ビューコンポーネントのみがサブビットストリームで出力されるように、テクスチャビューコンポーネントおよび深度ビューコンポーネントのための別個のリストを維持することに加えて、MANEデバイスはさらに、ターゲット出力ビューを復号するために必要とされないさらなるビューコンポーネントまたはNALユニットまたはNALユニットの一部を除去することができる。これは、最適サブビットストリーム抽出技法の一部であり得る。たとえば、ビデオエンコーダ20は、要求されないビューコンポーネントSEIメッセージによって、またはNALユニットヘッダにおけるinter_view_flagによって、そのような追加のビューコンポーネントを示すことができる。そのようなNALユニットは、非VCL NALユニット、たとえばシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)NALユニット、およびSEI NALユニットであってよく、これらを含み得る。NALユニットの一部は、SEI NALユニットに含まれるSEIメッセージを含み得る。
[0176]いくつかの例では、追加のビューコンポーネント、NALユニットまたはNALユニットの一部の除去は、外部手段が選択し得る第3のサブビットストリーム抽出モードであり得る。いくつかの例では、追加のビューコンポーネント、NALユニットまたはNALユニットの一部の除去の例は、上述の第2のサブビットストリーム抽出モードの代替であり得る。
[0177]上記のように、外部手段は、第1のサブビットストリーム抽出モード(たとえば、自己完全サブビットストリーム抽出モード)、第2のサブビットストリーム抽出モード(たとえば、中間的サブビットストリーム抽出モード)、または第3のサブビットストリーム抽出モード(たとえば、最適サブビットストリーム抽出モード)の間で選択することができる。たとえば、自己完全サブビットストリーム抽出モードでは、ビデオデコーダ30は、ターゲット出力ビューを復号するのに十分なビデオデータを出力サブビットストリームで受信し、1つまたは複数の追加のビュー(ただし、全部のビューよりも少ない)も受信することができる。最適サブビットストリーム抽出モードでは、ビデオデコーダ30は、単にターゲット出力ビューを復号するのに十分なビデオデータを出力サブビットストリームで受信することができ、他のビューを受信しない場合がある。
[0178]中間的サブビットストリーム抽出モードの一例では、ビデオデコーダ30は、ターゲット出力ビューを復号するのに十分なビデオデータを出力サブビットストリームで受信することができ、ビューのビューコンポーネントの一部(たとえば、テクスチャビューコンポーネントまたは深度ビューコンポーネントのいずれかであるが、両方ではない)も受信することができる。中間的サブビットストリーム抽出モードの別の例では、ビデオデコーダ30は、ターゲット出力ビューを復号するのに十分なビデオデータを出力サブビットストリームで受信することができ、ビューの一部(ただし、ビューの全部ではない)も受信することができる。
[0179]本開示で説明する技法では、外部手段は様々な基準を利用して、サブビットストリーム抽出モードを選択することができる。一例として、外部手段は、ビューの任意のサブセットが「完全に抽出可能」である必要があるかどうかを判断することができ、そうである場合、自己完全サブビットストリーム抽出モードを選択することができる。一例として、外部手段は、(たとえば、デバイスが特定のターゲット出力ビューを要求した場合、サブビットストリームを受信することになるデバイスの能力がビューの数を制限している場合、または帯域幅の利用可能性に基づいて)サブビットストリームを受信することになるデバイスが、単に特定のターゲット出力ビューを復号するのに十分なビデオデータを受信すべきであるかどうかを判断することができ、最適サブビットストリーム抽出モードを選択することができる。一例として、十分な帯域幅があり、ビューのテクスチャビューコンポーネントのみを含むが、深度ビューコンポーネントを含まない(またはその逆)サブビットストリームをビデオデコーダ30が処理することができるように、ビデオデコーダ30がシンタックス要素を解析することが可能である場合、外部手段は中間的サブビットストリーム抽出モードのうちの1つを選択することができる。外部手段は他の基準を利用して、適切な抽出モードを選択することができ、抽出モードを選択するための上記基準は、単に例示のために提供されている。
[0180]外部手段が利用可能ではない場合、MANEユニットは、デフォルトモードとして、これらのモードのうちの1つの技法を利用するように構成され得る。たとえば、外部手段が利用可能ではない場合、第2のサブビットストリーム摘出モードはデフォルトモードであり得る。代替として、外部手段が利用可能ではない場合、第1サブビットストリームモードはデフォルトモードであり得る。
[0181]上記では、ビデオデータが深度データ(たとえば、深度ビュー)を含む例に関するサブビットストリーム抽出の様々なモードについて説明した。しかしながら、H.264/AVCのMVC拡張などのいくつかのビデオコーディング規格の場合、深度データがない。たとえば、2つのコンポーネントではなく、1つのビューコンポーネント、ビューコンポーネント(たとえば、テクスチャビューコンポーネントおよび深度ビューコンポーネントではなく、ビューコンポーネントのみ)があるにすぎないことがある。本開示で説明する技法は、深度データがない場合に適用可能であり得る。
[0182]一例として、複数のサブビットストリーム抽出モードのうちの1つは、深度データを含まないビデオデータのための自己完全サブビットストリーム抽出モードであり得る。外部手段が、深度データを含まないビデオデータのための自己完全サブビットストリーム抽出モードを選択したとき、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるビューからのすべてのビューコンポーネントを抽出することができる。
[0183]別の例として、複数のサブビットストリーム抽出モードのうちの1つは、深度データを含まないビデオデータのための最適サブビットストリーム抽出モードであり得る。外部手段が、深度データを含まないビデオデータのための最適サブビットストリーム抽出モードを選択したとき、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるビューからのビューコンポーネントのみを抽出することができ、ターゲット出力ビューを復号するために必要とされないビューからのビューコンポーネントを抽出しなくてもよい。
[0184]同様に、本開示で説明する技法では、スケーラブルビデオコーディングのための様々なサブビットストリーム抽出モードがあり得る。一例として、複数のサブビットストリーム抽出モードのうちの1つは、スケーラブルビデオコーディングのための自己完全サブビットストリーム抽出モードであり得る。外部手段が、スケーラブルビデオコーディングのための自己完全サブビットストリーム抽出モードを選択したとき、MANEデバイスは、ターゲット出力レイヤを復号するためにレイヤが必要とされるときに、レイヤのすべてのピクチャを抽出することができる。
[0185]別の例として、複数のサブビットストリーム抽出モードのうちの1つは、スケーラブルビデオコーディングのための最適サブビットストリーム抽出モードであり得る。外部手段が、スケーラブルビデオコーディングのための最適サブビットストリーム抽出モードを選択したとき、MANEデバイスは、ターゲット出力レイヤを復号するために必要とされるレイヤのピクチャのみを抽出することができる。
[0186]上記のように、本開示で説明する技法は、様々なマルチビューコーディング規格で適用可能であり得る。理解を助けるために、以下では、本技法がMVC+Dビデオコーディング仕様およびMVCビデオコーディング仕様に従って実施され得るいくつかの方法について説明する。本開示で説明する技法がMVC+Dビデオコーディング仕様およびMVCビデオコーディング仕様に関して実施され得る方法の説明は、理解を容易にするために行われるものであり、限定するものと見なされるべきではない。本開示で説明する技法は、MV−HEVC、3D−HEVC、またはHEVC規格に基づくスケーラブルビデオコーディングに適用可能であり得る。
[0187]上記のように、本開示で説明する技法は、サブビットストリーム抽出のための様々な技法の間での選択を可能にする。サブビットストリーム抽出の様々な技法のそのような選択を実現するために、本開示は、「extractionMode」と呼ばれる抽出モード変数を利用することができる。
[0188]たとえば、MVC+Dのためのサブビットストリーム抽出プロセスの場合、extractionModeが0〜3(両端値を含む)の範囲内の任意の値に等しく、depthPresentFlagが0または1に等しく、pIdTarget(priority_idターゲット値)が0〜63(両端値を含む)の範囲内の任意の値に等しく、tIdTarget(temporal_idまたはtemporalIDターゲット値)が0〜7(両端値を含む)の範囲内の任意の値に等しく、viewIdTargetListがビットストリーム中のビューを識別するviewIdTargetの任意の1つまたは複数の値から成る、本技法において指定されるプロセスの出力である任意のサブビットストリームがMVC+D規格に適合し得ることが、ビットストリーム適合の必要条件であり得る。
[0189]0または1に等しいdepthPresentFlagは、深度ビューコンポーネントがビューコンポーネントの一部であるかどうかを示し得る。現在のMVC+D仕様に関して上述した変数pIdTarget、tIdTarget、viewIdTargetList、適合ビットストリームの定義、および動作点の条件は、ここでも適用可能である。
[0190]MVC+Dに関して本開示で説明する技法では、変数depthPresentFlagTarget(存在するとき)、pIdTarget(存在するとき)、tIdTarget(存在するとき)、およびviewIdTargetの1つまたは複数の値から成るリストviewIdTargetList(存在するとき)(これらの変数はすべて上述した)に加えて、サブビットストリーム抽出プロセスへの入力は、extractionMode変数(存在するとき)であり得る。上記のように、サブビットストリーム抽出プロセスの出力は、サブビットストリームおよびVOIdxのリストおよびVIdxListであり得る。入力としてextractionModeが存在しないとき、MANEはextractionModeの値を0であると推測し得る。extractionModeが存在するとき、外部手段は、必ずしもビデオコーディング仕様を定義しているとは限らないが、上記のようにextractionModeの値を決定することができる。MVC+Dのためのこのサブビットストリーム抽出プロセスの入力である他の変数の値は、存在しないとき、上記のように推測され得る。
[0191]この例では、外部手段が、変数extractionModeの値が0であると判断した場合、MANEデバイスは、「自己完全サブビットストリーム抽出」技法を実施することができる(すなわち、変数extractionModeの0の値は、自己完全抽出技法を指す)。外部手段が、変数extractionModeの値が1であると判断した場合、MANEデバイスは、「最適サブビットストリーム抽出」技法を実施することができる(すなわち、変数extractionModeの1の値は、最適抽出技法を指す)。
[0192]外部手段が、変数extractionModeの値が2であると判断した場合、MANEデバイスは、「中間的サブビットストリーム抽出」技法の一例を実施することができる(すなわち、変数extractionModeの2の値は、中間的サブビットストリーム抽出技法の第1の例を指す)。
[0193]外部手段が、変数extractionModeの値が3であると判断した場合、MANEデバイスは、「中間的自己完全抽出」技法の別の例を実施することができる(すなわち、変数extractionModeの3の値は、中間的自己完全抽出技法の第2の例を指す)。中間的自己完全抽出技法のこの第2の例は、3D−AVC規格の最新ドラフトで指定されているサブビットストリーム抽出技法と同様であり得る。たとえば、中間的自己完全抽出技法のこの第2の例では、ビューのテクスチャビューコンポーネントまたは深度ビューコンポーネントが必要とされるが、両方は必要とされない場合、MANEデバイスは依然として、テクスチャビューコンポーネントと深度ビューコンポーネントの両方を含めることができる。
[0194]また、中間的自己完全抽出技法のこの第2の例では、ビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントには、必要とされないものもあるが、必要とされるものもある。ビューの深度ビューコンポーネントもテクスチャビューコンポーネントも必要とされない場合、MANEデバイスは、テクスチャビューコンポーネントも深度ビューコンポーネントも含めなくてよい。たとえば、自己完全抽出技法では、ビューのテクスチャビューコンポーネントも深度ビューコンポーネントも必要とされない場合でも、サブビットストリームは、ビューが完全に抽出可能になるように、テクスチャビューコンポーネントと深度ビューコンポーネントの両方を含むことができる。この例では、中間的サブビットストリーム抽出技法の場合、ビューのテクスチャビューコンポーネントも深度ビューコンポーネントも必要とされない場合、いずれもビットストリームに含まれないが、ビューのターゲットビューコンポーネントまたは深度ビューコンポーネントのうちの一方が必要とされる場合、テクスチャビューコンポーネントと深度ビューコンポーネントの両方が必要とされるかどうかに関係なく、両方がビットストリームに含まれる。
[0195]上記のように、変数extractionModeの値は、MANEデバイスがMVC+Dコーディング仕様のためのサブビットストリーム抽出を実施するかどうかを定義し得る。MANEデバイスがMVC+Dのための様々な例示的なサブビットストリーム抽出技法を実施する方法について、以下でより詳細に説明する。
[0196]上記ではMVC+Dについて説明した。以下ではMVCについて説明する。たとえば、MVCは、深度コンポーネントがないことがあり、したがって、depthPresentFlagTargetは必要ではないことがある。また、MVCにおいて深度ビューコンポーネントがない場合、抽出モードが少なくなり得るので、変数extractionModeの値は0または1に限られ得る。たとえば、抽出モードのうちの1つは、上述のように、深度データを含まないビデオデータのための自己完全サブビットストリーム抽出モードであり得る。抽出モードのうちの別の1つは、上述のように、深度データを含まないビデオデータのための最適サブビットストリーム抽出モードであり得る。
[0197]MVCの場合、extractionModeが0〜1(両端値を含む)の範囲内の任意の値に等しく、pIdTarget(priority_idターゲット値)が0〜63(両端値を含む)の範囲内の任意の値に等しく、tIdTarget(temporal_idまたはtemporalIDターゲット値)が0〜7(両端値を含む)の範囲内の任意の値に等しく、viewIdTargetListがビットストリーム中のビューを識別するviewIdTargetの任意の1つまたは複数の値から成る、本技法において指定されるプロセスの出力である任意のサブビットストリームがMVC規格に適合し得ることが、ビットストリーム適合の必要条件であり得る。現在のMVC仕様に関して上述した変数pIdTarget、tIdTarget、viewIdTargetList、適合ビットストリームの定義、および動作点の条件は、ここでも適用可能である。
[0198]MVCに関して本開示で説明する技法では、変数pIdTarget(存在するとき)、tIdTarget(存在するとき)、およびviewIdTargetの1つまたは複数の値から成るリストviewIdTargetList(存在するとき)(これらの変数はすべて上述した)に加えて、サブビットストリーム抽出プロセスへの入力は、extractionMode変数(存在するとき)であり得る。上記のように、サブビットストリーム抽出プロセスの出力は、サブビットストリームおよびVOIdxのリストおよびVIdxListであり得る。入力としてextractionModeが存在しないとき、MANEはextractionModeの値を0であると推測し得る。extractionModeが存在するとき、外部手段は、必ずしもビデオコーディング仕様を定義しているとは限らないが、上記のようにextractionModeの値を決定することができる。MVCのためのこのサブビットストリーム抽出プロセスの入力である他の変数の値は、存在しないとき、上記のように推測され得る。
[0199]いくつかの例では、MVCにおいて、extractionModeが1に等しい場合、MANEデバイスは、現在のMVC仕様で指定されているステップを順番に適用することによって、サブビットストリームを導出することができる。extractionModeが0に等しい場合、MANEデバイスは、以下でさらに説明するステップを適用することによって、サブビットストリームを導出することができる。たとえば、以下では最初に、MVC+Dの様々なモードを実施するための技法について説明し、次いで、現在のMVC仕様における技法とは異なる、MVCに関するサブビットストリーム抽出モードを実施するための技法について説明する。
[0200]上記では、MVC+Dにおけるサブビットストリーム抽出の目的でMANEデバイスが実施し得る例示的なモードについて説明した。たとえば、MANEデバイスは、サブビットストリームの一部として、ターゲットビューリストを導出することができる。サブビットストリーム抽出のための例示的なモードを実施するために、本開示は、現在のMVC+Dビデオコーディング仕様に対するいくつかの変更について説明する。
[0201]たとえば、MVC+Dビデオコーディング仕様のサブクローズA.1.1.4は、必要とされるアンカービューコンポーネントのための導出プロセスを対象とする。このセクションのために、MVC仕様のサブクローズH.8.5.1は2回適用されてもよく、1回は「ビューコンポーネント」が「テクスチャビューコンポーネント」に置き換えられ、「アンカーに必要」が「アンカーテクスチャに必要」に置き換えられ、さらに1回は「ビューコンポーネント」が「深度ビューコンポーネント」に置き換えられ、「アンカーに必要」が「アンカー深度に必要」に置き換えられる。
[0202]MVC+Dビデオコーディング仕様のサブクローズA.1.1.5は、必要とされる非アンカービューコンポーネントのための導出プロセスを対象とする。このセクションのために、MVC仕様のサブクローズH.8.5.2は2回適用されてもよく、1回は「ビューコンポーネント」が「テクスチャビューコンポーネント」に置き換えられ、「アンカーに必要」が「アンカーテクスチャに必要」に置き換えられ、さらに1回は「ビューコンポーネント」が「深度ビューコンポーネント」に置き換えられ、「アンカーに必要」が「アンカー深度に必要」に置き換えられる。
[0203]以下では、(たとえば、ターゲット出力ビューを復号するために必要とされるビデオデータのみがサブビットストリームに含まれるように、サブビットストリームの最小化サイズが維持される)MVC+Dのための最適抽出モードをMANEデバイスが実施し得る方法の例について説明する。たとえば、extractionMode変数の値は1であり得る。depthPresentFlagTargetは0または1に等しくなり得る。
[0204]MANEデバイスは、MVC+Dビデオコーディング仕様で現在説明されているものと実質的に同様の、上記で詳しく説明している抽出技法を実施することができる。しかしながら、いくつかの差異があり得る。たとえば、現在のMVC+D仕様に関して上述したように、現在のMVC+D仕様において、すべてのVCL NALユニットとフィラーデータNALユニットとを「ビットストリームから除去されるべき」とマークするための条件のうちの2つは、anchor_pic_flagは1に等しく、view_idは「アンカーに必要」とマークされない、およびanchor_pic_flagは0に等しく、view_idは「非アンカーに必要」とマークされない、である。MVC+Dの最適抽出モードの場合、これら2つの条件は、anchor_pic_flagは1に等しく、nal_unit_typeは21ではなく、view_idは「アンカーテクスチャに必要」とマークされない、およびanchor_pic_flagは0に等しく、nal_unit_typeは21ではなく、view_idは「非アンカーテクスチャに必要」とマークされない、に変更され得る。
[0205]その上、MVC+Dの最適抽出モードの場合、アルVCL NALユニットおよびフィラーデータNALユニットが「ビットストリームから除去されるべき」とマークされ得るときに、以下の2つの条件が追加され得る。第1の追加条件は、anchor_pic_flagは1に等しく、nal_unit_typeは21であり、view_idは「アンカー深度に必要」とマークされない、であり得る。第2の追加条件は、anchor_pic_flagは0に等しく、nal_unit_typeは21であり、view_idは「非アンカー深度に必要」とマークされない、であり得る。サブビットストリーム抽出のための他のステップは、MVC+Dにおける現在のサブビットストリーム抽出に関して上述したのと同じであり得る。
[0206]以下では、MVC+Dのための自己完全中間的抽出モードの一例をMANEデバイスが実施し得る方法の例について説明する。たとえば、extractionMode変数の値は2であり得る。depthPresentFlagTargetは0または1に等しくなり得る。
[0207]この例では、ターゲット出力ビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントは、異なる従属性を有し得る。たとえば、ターゲット出力ビューのテクスチャビューコンポーネントは、ターゲット出力ビューの深度ビューコンポーネントとは異なるターゲットビューからビュー間予測され得る。言い換えれば、ビューからのテクスチャビューコンポーネントと深度ビューコンポーネントの両方がサブビットストリームに含まれるとは限らず、ビューの必要とされるテクスチャビューコンポーネントまたは深度ビューコンポーネントのみが出力サブビットストリームに含まれる。また、いくつかの例では、各抽出の後、ターゲット出力ビューリストをサポートするために、残存サブビットストリームがさらに抽出され得る。このターゲット出力ビューリストは、第1のサブビットストリーム抽出中の元の入力ビットストリームのサブセットであるか、または元の入力ビットストリームのターゲット出力ビューリストと同じであり得る。
[0208]中間的サブビットストリーム抽出技法に関するこの例では、ビューごとに、そのview_idが「アンカーテクスチャに必要」または「非アンカーテクスチャに必要」とマークされる場合、view_idは「テクスチャに必要」とマークされる。また、ビューごとに、そのview_idが「アンカー深度に必要」または「非アンカー深度に必要」とマークされる場合、view_idは「深度に必要」とマークされる。上記のように、ベースビューのview_idは常に「テクスチャに必要」とマークされ得る。
[0209]中間的サブビットストリーム抽出技法の場合、MANEデバイスは、MVC+Dビデオコーディング仕様で現在説明されているものと実質的に同様の、上記で詳しく説明している抽出技法を実施することができる。しかしながら、いくつかの差異があり得る。たとえば、現在のMVC+D仕様に関して上述したように、現在のMVC+D仕様において、すべてのVCL NALユニットとフィラーデータNALユニットとを「ビットストリームから除去されるべき」とマークするための条件のうちの3つは、anchor_pic_flagは1に等しく、view_idは「アンカーに必要」とマークされない、anchor_pic_flagは0に等しく、view_idは「非アンカーに必要」とマークされない、およびnal_ref_idcは0に等しく、inter_view_flagは0に等しく、view_idはリストviewIdTargetList中のいずれの値にも等しくない、である。
[0211]中間的サブビットストリーム抽出技法の場合、すべてのVCL NALユニットおよびフィラーデータNALユニットが「ビットストリームから除去されるべき」であるときに、以下の条件が追加され得る。条件は、nal_unit_typeは21であり、view_idは「深度に必要」とマークされない、であり得る。サブビットストリーム抽出のための他のステップは、MVC+Dにおける現在のサブビットストリーム抽出に関して上述したのと同じであり得る。
[0212]以下では、MVC+Dのための自己完全抽出モードの一例をMANEデバイスが実施し得る方法の例について説明する。たとえば、extractionMode変数の値は0であり得る。この例では、1つのビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントは、合わせて1つのビューコンポーネントと見なされてもよく、テクスチャビューコンポーネントまたは深度ビューコンポーネントのいずれかが出力または復号に必要とされると、いずれも、抽出されたサブビットストリーム中で維持され得る。
[0213]この例では、ビューことに、そのview_idが「アンカーテクスチャに必要」、「非アンカーテクスチャに必要」、「アンカー深度に必要」、または「非アンカー深度に必要」とマークされる場合、view_idは「必要」とマークされ得る。また、上記のように、ベースビューは常に「必要」とマークされ得る。
[0214]自己完全サブビットストリーム抽出技法の場合、MANEデバイスは、MVC+Dビデオコーディング仕様で現在説明されているものと実質的に同様の、上記で詳しく説明している抽出技法を実施することができる。しかしながら、いくつかの差異があり得る。たとえば、現在のMVC+D仕様に関して上述したように、現在のMVC+D仕様において、すべてのVCL NALユニットとフィラーデータNALユニットとを「ビットストリームから除去されるべき」とマークするための条件のうちの3つは、anchor_pic_flagは1に等しく、view_idは「アンカーに必要」とマークされない、anchor_pic_flagは0に等しく、view_idは「非アンカーに必要」とマークされない、およびnal_ref_idcは0に等しく、inter_view_flagは0に等しく、view_idはリストviewIdTargetList中のいずれの値にも等しくない、である。
[0216]自己完全サブビットストリーム抽出技法の場合、すべてのVCL NALユニットおよびフィラーデータNALユニットが「ビットストリームから除去されるべき」であるときに、以下の条件が追加され得る。条件は、nal_unit_typeは21であり、view_idは「深度に必要」とマークされない、であり得る。サブビットストリーム抽出のための他のステップは、MVC+Dにおける現在のサブビットストリーム抽出に関して上述したのと同じであり得る。
[0217]上記では、MVC+Dのためのサブビットストリーム抽出モードを実施する例示的な方法について説明した。以下では、MVCのためのサブビットストリーム抽出モードを実施する例示的な方法について説明する。モードのうちの1つは、現在提案されているMVC仕様で定義されているサブビットストリーム抽出技法であってもよく、MANEデバイスは、一般に10個のステップを含む、現在提案されているMVC仕様で定義されているようなサブビットストリーム抽出技法を実施することができる。MANEデバイスは、(以下が、外部手段によって選択されたモードである場合に)別のサブビットストリーム抽出モードを、サブビットストリーム抽出プロセスに関するいくつかの概論の後で説明される以下の11個のステップを実施することによって、実施することができる。
[0218]ビューごとに、そのview_idが「アンカーに必要」、「非アンカーに必要」とマークされる場合、view_idは「必要」とマークされる。ベースレイヤのview_idは常に「必要」とマークされる。サブビットストリーム抽出プロセスの場合、pIdTargetが0〜63(両端値を含む)の範囲内の任意の値に等しく、tIdTargetが0〜7(両端値を含む)の範囲内の任意の値に等しく、viewIdTargetListがビットストリーム中のビューを識別する任意の1つまたは複数のviewIdTargetから成る、このサブクローズ中で指定されるプロセスの出力である任意のサブビットストリームが規格に適合し得ることが、ビットストリーム適合の必要条件であり得る。
[0219]上記のように、適合ビットストリームは、priority_idが0に等しく、temporal_idが0に等しい1つまたは複数のコーディングされたスライスNALユニットを含む。また、サブビットストリーム抽出プロセスから得られたサブビットストリームのすべての動作点が、適用可能なlevel_idcまたはlevel_idc[i]を有するとは限らないことがある。この場合、サブビットストリーム中の各コーディングされたビデオシーケンスは、依然として、付属書類Aおよび付属書類Hにおいて指定されるプロファイルのうちの1つまたは複数に適合しなければならないが、サブクローズA.3およびH.10.2においてそれぞれ指定されるレベル制約を満たさないことがある。
[0220]このプロセスへの入力は、変数pIdTarget(存在するとき)、変数tIdTarget(存在するとき)、および1つまたは複数のviewIdTargetの値から成るリストviewIdTargetList(存在するとき)である。このプロセスの出力はサブビットストリームであり、VOIdxのリストがVOIdxListに値をつける。このサブクローズへの入力としてpIdTargetが存在しないとき、pIdTargetは63に等しいものと推測される。このサブクローズへの入力としてtIdTargetが存在しないとき、tIdTargetは7に等しいものと推測される。このサブクローズへの入力としてviewIdTargetListが存在しないとき、viewIdTargetList中で推測される1つのviewIdTargetが存在することがあり、viewIdTargetの値はベースビューのview_idに等しいものと推測される。
[0221]以下では、取消し線は、現在提案されている規格と比較した削除を示しており、条件が削除されたときに理解しやすくなるように使用されている。サブビットストリームは、以下の11個の動作を順番に適用することによって導出される。
[0222](1)VOIdxListを空にし、minVOIdxをベースビューのVOIdx値にする。(2)viewIdTargetList中に含まれる各viewIdTargetに対して、入力としてviewIdTargetを有するサブクローズH.8.5.1において指定されるプロセスを起動する。(3)viewIdTargetList中に含まれる各viewIdTargetに対して、入力としてviewIdTargetを有するサブクローズH.8.5.2において指定されるプロセスを起動する。(4)ビューごとに、そのview_idが「アンカーに必要」、「非アンカーに必要」とマークされる場合、そして「view_idは「必要」とマークされる。
[0224]第7のステップは、「ビットストリームから除去されるべき」とマークされたすべてのVCL NALユニットとフィラーデータNALユニットとを除去することであり得る。第8のステップは、VOIdxListが、minVOIdxに等しいVOIdxの唯一の値を含むとき、以下のNALユニット、すなわちnal_unit_typeが14または15に等しいすべてのNALユニット、第1のSEIメッセージが36〜44(両端値を含む)の範囲内のpayloadTypeを有する、nal_unit_typeが6に等しいすべてのNALユニットを除去することであり得る。いくつかの例では、VOIdxListが、minVOIdxに等しいVOIdxの唯一の値を含むとき、サブビットストリームは、ベースビューだけまたはベースビューの時間サブセットだけを含む。
[0225]第9のステップは、maxTIdを、すべての残存VCL NALユニットの最大temporal_idにすることであり得る。nal_unit_typeが6に等しく、以下の特性のいずれかを有するMVCスケーラブルネスティングSEIメッセージの一部であるSEIメッセージだけを含むすべてのNALユニットを除去する:operation_point_flagが0に等しく、all_view_components_in_au_flagが0に等しく、0〜num_view_components_minus1(両端値を含む)の範囲内のすべてのiに対してsei_view_id[i]のいずれも、VOIdxList中に含まれるVOIdx値に対応しない、operation_point_flagが1に等しく、sei_op_temporal_idがmaxTIdより大きいか、または0〜num_view_components_op_minus1(両端値を含む)の範囲内のすべてのiに対してsei_op_view_id[i]のリストがviewIdTargetListのサブセットでない(すなわち、0〜num_view_components_op_minus1(両端値を含む)の範囲内の任意のiに対してsei_op_view_id[i]がviewIdTargetList中の値に等しいことはトゥーレでない)のいずれかである。
[0226]第10のステップは、各ビュースケーラビリティ情報SEIメッセージと各動作点不在SEIメッセージとを、存在するときに除去することであり得る。第11のステップは、VOIdxListが、minVOIdxに等しいVOIdxの値を含まないとき、VOIdxListに含まれる最小のVOIdx値にVOIdxが等しいビューが、抽出されたサブビットストリームのベースビューに変換されることであり得る。ベースビューを生成するための主要な処理ステップを概説する告知的手順が、H.8.5.5において説明される。VOIdxListが、minVOIdxに等しいVOIdxの値を含まないとき、上記の動作ステップ1〜9によって得られたサブビットストリームは、付属書類Aにおいて指定される1つまたは複数のプロファイルに適合するベースビューを含まない。この場合、この動作ステップによって、新しい最小のVOIdx値を有する残存ビューが、付属書類Aにおいて指定される1つまたは複数のプロファイルに適合する新しいベースビューとなるように変換される。
[0227]図5は、本開示で説明する技法を実施し得る例示的なビデオエンコーダ20を示すブロック図である。たとえば、ビデオエンコーダ20は、マルチビュービデオのためのビデオデータを符号化することができる。いくつかの例では、ビデオエンコーダ20は、いくつかの例として、H.264/AVCのMVC拡張、MVC+D、3D−AVC、MV−HEVC、3D−HEVC、またはHEVCに基づくスケーラブルビデオコーディングに従ってビデオデータを符号化することができる。例示のために、本技法は、HEVC規格に関して説明される。次いでビデオエンコーダ20は、MANEデバイスが受信し、本開示で説明するビットストリーム抽出技法を実行する符号化されたビットストリームを出力することができる。
[0228]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディング(たとえば、イントラ予測符号化)およびインターコーディング(たとえば、インター予測符号化)、ならびに異なるビューからのビデオブロックのビュー間予測符号化を実行することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。ビュー間予測は、別のビューにおけるピクチャからブロックを予測することを指す。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
[0229]図2の例では、ビデオエンコーダ20は、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、参照クチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。フィルタユニット63は一般に、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表し得る。図5では、フィルタユニット63はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装されることがあり、その場合、フィルタ処理されていないデータがコーディングループ中で使用され得る。
[0230]図5に示すように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて現在のビデオブロックのために、複数のイントラコーディングモードのうちの1つ、または(ビュー間予測を含む)複数のインターコーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に提供し、参照ピクチャとして使用するための符号化されたブロックを再構成するために加算器62に提供し得る。
[0231]予測処理ユニット41内のイントラ予測ユニット46は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
[0232]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライスまたはBスライスに指定することができる。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0233]予測ブロックは、絶対値差分和(SAD)、差分2乗和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUに厳密に一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0234]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされた(たとえば、インター予測符号化された)スライスにおけるビデオブロックのPUの動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0235]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在のビデオブロックのPUの動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマおよびクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成することができる。
[0236]イントラ予測ユニット46は、上記のように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測する(イントラ予測符号化する)ことができる。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット46は、(たとえば、別個の符号化パス中に)様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化されたブロックのひずみおよびレートから比率を計算し得る。
[0237]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
[0238]予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0239]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実施し得る。
[0240]量子化の後に、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化されたビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
[0241]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、参照ピクチャリストの1つの中の参照ピクチャの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42と動き補償ユニット44とによって参照ブロックとして使用され得る。
[0242]図6は、本開示の技法を実施し得る例示的なビデオデコーダ30を示すブロック図である。たとえば、ビデオデコーダ30は、MANEデバイスからサブビットストリームを受信し得る。ビデオデコーダ30が受信するサブビットストリームは、本開示で説明する技法を利用してビットストリームから抽出されていることがある。ビデオデコーダ30は、ターゲット出力ビューを再構成するためにサブビットストリームを復号することができる。
[0243]図6の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図5のビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0244]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30は、ネットワークエンティティ29から符号化されたビデオビットストリームを受信することができる。ネットワークエンティティ29は、たとえば、サーバ、メディアアウェアネットワーク要素(MANE)、ビデオエディタ/スプライサ、または上記の技法のうちの1つもしくは複数を実施するように構成された他のそのようなデバイスであってもよい。上記のように、本開示で説明する技法の一部は、ネットワークエンティティ29によって、ビデオデコーダ30への符号化されたビデオビットストリームの送信の前に実施されてもよい。いくつかのビデオ復号システムでは、ネットワークエンティティ29およびビデオデコーダ30は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ29に関して説明する機能は、ビデオデコーダ30を備える同じデバイスによって実行され得る。
[0245]ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0246]ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、予測処理ユニット81のイントラ予測ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた(すなわち、B、またはP)スライスとしてコーディングされるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。 ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0247]動き補償ユニット82は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を判断し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット82は、受信されたシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数についての構成情報と、スライスの各インター符号化されたビデオブロックについての動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを判断する。
[0248]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間された値を計算し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0249]逆量子化ユニット86は、ビットストリーム中で提供され、エントロピー復号ユニット80によって復号された、量子化変換係数を逆量子化(inverse quantize)(すなわち、逆量子化(de-quantize))する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータを使用して量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断することを含み得る。逆変換ユニット88は、逆変換(たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセス)を変換係数に適用して、ピクセル領域において残差ブロックを生成する。
[0250]動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ループフィルタ(コーディングループで、またはコーディングループの後のいずれか)も、ピクセル移行を平滑化するか、または他の場合にはビデオ品質を向上させるために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表し得る。図6では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス31などのディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
[0251]図7は、本開示で説明する1つまたは複数の例による例示的な技法を示すフローチャートである。たとえば、MANEデバイスの1つまたは複数のプロセッサは、符号化されたビデオデータのビットストリームを受信することができる(200)。ビデオエンコーダ20は、マルチビューコーディングまたはスケーラブルビデオコーディングのためのビデオデータを有するビットストリームを符号化していることがある。MANEデバイスは、ストリーミングサーバなどのビデオエンコーダ20とビデオデコーダ30との中間にあるデバイスまたはルーティングデバイス104もしくはトランスコーディングデバイス106などのネットワーク100における中間デバイスであり得る。いくつかの例では、1つまたは複数のプロセッサはプロセッサ110であり得る。
[0252]1つまたは複数のプロセッサは、複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択することができる(202)。サブビットストリーム抽出モードの各々は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするためにビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出する方法を定義することができる。各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のビデオコーディングレイヤネットワークアブストラクションレイヤ(VCL NAL)ユニットを備える。たとえば、ビューの各コーディングされたピクチャは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントのうちの1つである。たとえば、コーディングされたピクチャは、ビューのビューコンポーネント(たとえば、テクスチャビューコンポーネントおよび/もしくは深度ビューコンポーネントまたはレイヤのピクチャ)を備え得る。
[0253]いくつかの例では、1つまたは複数のプロセッサは、外部手段からサブビットストリーム抽出モードを受信し得る。外部手段は、ビデオデコーダ(たとえば、ビデオデコーダ30)の外部にある、ハードウェアユニットまたはハードウェアユニット上で実行されているソフトウェアユニットであり得る。たとえば、外部手段は、1つまたは複数のプロセッサ上で実行されている、アプリケーション処理インターフェース(API)に適合するファームウェアまたはソフトウェアであり得る。外部手段は、サブビットストリーム抽出モードをそれぞれ定義する1つまたは複数の変数を設定し、1つまたは複数の変数から値を選択する、ビデオデコーダ(たとえば、ビデオデコーダ30)の外部にあるユニットであってもよく、この場合、値は入力としてビデオデコーダに提供される。
[0254]たとえば、1つまたは複数のプロセッサは、出力のための抽出がストリーミングサーバによって実行されている場合に、自己完全サブビットストリーム抽出モードを選択することができる。自己完全サブビットストリーム抽出モードは、ターゲット出力ビューを復号するためにビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方が必要とされない場合でも、1つまたは複数のプロセッサがビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方を出力のために抽出するモードであり得る。
[0255]1つまたは複数のプロセッサは、利用可能な帯域幅、サブビットストリームを受信するデバイスの特性、およびサブビットストリームを受信するデバイスのディスプレイの特性のうちの1つまたは複数に基づいて、第2の異なるサブビットストリーム抽出モード(たとえば、中間的サブビットストリーム抽出モードの一例)を選択することができる。この例では、1つまたは複数のプロセッサは、抽出されるべきビューのビューコンポーネントのためのテクスチャビューコンポーネントのリストを維持し、抽出されるべきビューのビューコンポーネントのための深度ビューコンポーネントの別個のリストを維持することができる。中間的サブビットストリーム抽出モードでは、ターゲット出力ビューを復号するために必要とされるテクスチャビューコンポーネントまたは深度ビューコンポーネントのみが、出力のために抽出される。
[0256]1つまたは複数のプロセッサは、ターゲット出力ビューを復号するために必要とされる最小量のビデオデータを抽出する第3の異なるサブビットストリーム抽出モード(たとえば、最適サブビットストリーム抽出モード)を選択することができる。たとえば、1つまたは複数のプロセッサは、サブビットストリームを受信するデバイスが特定のターゲット出力ビューを要求する場合に、最適サブビットストリーム抽出モードを選択することができる。この例では、1つまたは複数のプロセッサは、ターゲット出力ビューを復号するために必要とされる最小量のデータを出力のために抽出することができ、他のビューを抽出しなくてもよい。
[0257]1つまたは複数のプロセッサは、ビットストリームから、選択されたサブビットストリーム抽出モードによって定義された方法でサブビットストリームを抽出することができる(204)。たとえば、1つまたは複数のプロセッサが、ターゲット出力ビューを復号するためにターゲットビューの深度ビューコンポーネントとテクスチャビューコンポーネントの両方が必要とされない場合でも、ビューの深度ビューコンポーネントとテクスチャビューコンポーネントの両方を出力のために抽出することができる自己完全サブビットストリーム抽出モードを利用して、1つまたは複数のプロセッサはサブビットストリームを抽出することができる。別の例として、1つまたは複数のプロセッサが、ターゲット出力ビューを復号するためにターゲットビューの深度ビューコンポーネントが必要とされない場合に、ビューのテクスチャビューコンポーネントのみを出力のために抽出すること、またはターゲット出力ビューを復号するためにビューのテクスチャビューコンポーネントが必要とされない場合に、ビューの深度ビューコンポーネントのみを出力のために抽出することができる中間的サブビットストリーム抽出モードを利用して、1つまたは複数のプロセッサはサブビットストリームを抽出することができる。また別の例として、1つまたは複数のプロセッサが、ターゲット出力ビューを復号するために必要とされる最小量のビデオデータを抽出する最適サブビットストリーム抽出技法を利用して、1つまたは複数のプロセッサはサブビットストリームを抽出することができる。
[0258]ビデオデータが深度データを含まない例(たとえば、MVC)およびスケーラブルビデオコーディングのためのものなど、サブビットストリーム抽出モードのさらなる例があり得る。たとえば、1つの例示的なサブビットストリーム抽出モードは、深度データを含まないビデオデータのための自己完全サブビットストリーム抽出モードであってもよく、別の例示的なサブビットストリーム抽出モードは、深度データを含まないビデオデータのための最適サブビットストリーム抽出モードであってもよい。
[0259]深度データを含まないビデオデータのための自己完全サブビットストリーム抽出モードの場合、MANEデバイスは、ターゲット出力ビューまたはレイヤを復号するために必要とされるビューまたはレイヤからのすべてのコーディングされたピクチャを抽出することができる。たとえば、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるビューからのすべてのビューコンポーネントを抽出することができる。
[0260]深度データを含まないビデオデータのための最適サブビットストリーム抽出モードの場合、MANEデバイスは、ターゲット出力ビューまたはレイヤを復号するために必要とされるビューまたはレイヤからのコーディングされたピクチャのみを抽出することができ、ターゲット出力ビューまたはレイヤを復号するために必要とされないビューまたはレイヤからのコーディングされたピクチャを抽出しなくてもよい。たとえば、MANEデバイスは、ターゲット出力ビューを復号するために必要とされるビューからのビューコンポーネントのみを抽出することができ、ターゲット出力ビューを復号するために必要とされないビューからのビューコンポーネントを抽出しなくてもよい。
[0261]1つの例示的なサブビットストリーム抽出モードは、スケーラブルビデオコーディングのための自己完全サブビットストリーム抽出モードであってもよく、別の例示的なサブビットストリーム抽出モードは、スケーラブルビデオコーディングのための最適サブビットストリーム抽出モードであってもよい。スケーラブルビデオコーディングのための自己完全サブビットストリーム抽出モードの場合、MANEデバイスは、ターゲット出力ビューまたはレイヤを復号するために必要とされるビューまたはレイヤからのすべてのコーディングされたピクチャを抽出することができる。たとえば、MANEデバイスは、ターゲット出力レイヤを復号するためにレイヤが必要とされるときに、レイヤのすべてのピクチャを抽出することができる。
[0262]スケーラブルビデオコーディングのための最適サブビットストリーム抽出モードの場合、MANEデバイスは、ターゲット出力ビューまたはレイヤを復号するために必要とされるビューまたはレイヤからのコーディングされたピクチャのみを抽出することができ、ターゲット出力ビューまたはレイヤを復号するために必要とされないビューまたはレイヤからのコーディングされたピクチャを抽出しなくてもよい。たとえば、MANEデバイスは、ターゲット出力レイヤを復号するために必要とされるレイヤのピクチャのみを抽出することができる。
[0263]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、非一時的である有形コンピュータ可読記憶媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0264]さらに他の例では、本開示は、その上に記憶されたデータ構造を備えるコンピュータ可読媒体を企図し、データ構造は、本開示に一致するコーディングされた符号化されたビットストリームを含み、備える。
[0265]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0266]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)または他の等価な集積回路もしくはディスクリート論理回路など1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実施に好適な任意の他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内に提供され得、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中で十分に実装され得る。
[0267]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記のように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記の1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0268]様々な例について説明してきた。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータを処理する方法であって、
符号化されたビデオデータのビットストリームを受信することと、
複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択することと、ここにおいて、前記サブビットストリーム抽出モードの各々は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするために、前記ビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出する方法を定義し、ここにおいて、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のビデオコーディングレイヤネットワークアブストラクションレイヤ(VCL NAL)ユニットを備える、
前記ビットストリームから、前記選択されたサブビットストリーム抽出モードによって定義された前記方法でサブビットストリームを抽出することと
を備える方法。
[C2] ビューの各コーディングされたピクチャは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントのうちの1つを備える、C1に記載の方法。
[C3] サブビットストリーム抽出モードを選択することは、自己完全サブビットストリーム抽出モードを選択することを備え、前記サブビットストリームを抽出することは、前記選択されたサブビットストリーム抽出モードが前記自己完全サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューを復号するために前記ビューのテクスチャビューまたは深度ビューが必要とされる場合に、前記ビューのすべての利用可能なテクスチャビューコンポーネントと深度ビューコンポーネントとを抽出することを備える、C2に記載の方法。
[C4] サブビットストリーム抽出モードを選択することは、中間的サブビットストリーム抽出モードを選択することを備え、前記サブビットストリームを抽出することは、前記選択されたサブビットストリーム抽出モードが前記中間的サブビットストリーム抽出モードであるときに、
前記ターゲット出力ビューを復号するために前記ビューの前記テクスチャビューが必要とされる場合に、前記ビューのすべての利用可能なテクスチャビューコンポーネントを抽出し、前記ターゲット出力ビューを復号するために前記ビューの前記深度ビューが必要とされない場合に、前記ビューの深度ビューコンポーネントを抽出しないこと、および
前記ターゲット出力ビューを復号するために前記ビューの前記深度ビューが必要とされる場合に、前記ビューのすべての利用可能な深度ビューコンポーネントを抽出し、前記ターゲット出力ビューを復号するために前記ビューの前記テクスチャビューが必要とされない場合に、前記ビューのテクスチャビューコンポーネントを抽出しないこと、
のうちの1つを備える、C2に記載の方法。
[C5] 前記ビューから抽出されるべきテクスチャビューのリストを維持することと、
前記ビューから抽出されるべき深度ビューのリストを維持することと
をさらに備え、
テクスチャビューの前記リストは、少なくとも1つのビューのテクスチャビューを含み、深度ビューの前記リストは、前記少なくとも1つのビューの対応する深度ビューを含まないか、または深度ビューの前記リストは、前記少なくとも1つのビューの深度ビューを含み、テクスチャビューの前記リストは、前記少なくとも1つのビューの対応するテクスチャビューを含まず、
すべての利用可能なテクスチャビューコンポーネントを抽出し、深度ビューコンポーネントを抽出しないことは、
テクスチャビューの前記リストで識別されるテクスチャビューにテクスチャビューコンポーネントが属するかどうかを判断することと、
テクスチャビューの前記リストで識別される前記テクスチャビューに前記テクスチャビューコンポーネントが属する場合のみ、前記テクスチャビューコンポーネントを抽出することと、
前記テクスチャビューコンポーネントに対応する深度ビューコンポーネントを抽出するのを、深度ビューの前記リストで識別されない深度ビューに前記深度ビューコンポーネントが属する場合に回避することと
を備え、
すべての利用可能な深度ビューコンポーネントを抽出し、テクスチャビューコンポーネントを抽出しないことは、
深度ビューの前記リストで識別される深度ビューに深度ビューコンポーネントが属するかどうかを判断することと、
深度ビューの前記リストで識別される前記深度ビューに前記深度ビューコンポーネントが属する場合のみ、前記深度ビューコンポーネントを抽出することと、
前記深度ビューコンポーネントに対応するテクスチャビューコンポーネントを抽出するのを、テクスチャビューの前記リストで識別されないテクスチャビューに前記テクスチャビューコンポーネントが属する場合に回避することと
を備える、C4に記載の方法。
[C6] サブビットストリーム抽出モードを選択することは、最適サブビットストリーム抽出モードを選択することを備え、前記サブビットストリームを抽出することは、前記選択されたサブビットストリーム抽出モードが前記最適サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューを復号するために必要とされるビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントのみを抽出し、前記ターゲット出力ビューを復号するために必要とされない前記ビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントを抽出しないことを備える、C2に記載の方法。
[C7] サブビットストリーム抽出モードを選択することは、自己完全サブビットストリーム抽出モードを選択することを備え、前記サブビットストリームを抽出することは、前記選択されたサブビットストリーム抽出モードが前記自己完全サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューまたはレイヤを復号するために必要とされる前記ビューまたはレイヤからのすべてのコーディングされたピクチャを抽出することを備える、C1に記載の方法。
[C8] サブビットストリーム抽出モードを選択することは、最適サブビットストリーム抽出モードを選択することを備え、前記サブビットストリームを抽出することは、前記選択されたサブビットストリーム抽出モードが前記最適サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューを復号するために必要とされる前記ビューまたはレイヤからのコーディングされたピクチャのみを抽出し、前記ターゲット出力ビューを復号するために必要とされない前記ビューまたはレイヤからのコーディングされたピクチャを抽出しないことを備える、C1に記載の方法。
[C9] 前記サブビットストリーム抽出モードを選択することは、外部手段により、前記サブビットストリーム抽出モードを受信することを備え、前記外部手段は、ビデオデコーダの外部にあるユニットを備え、前記外部手段は、1つまたは複数の変数を設定し、各変数は、サブビットストリーム抽出モードを定義し、前記外部手段は、前記ビデオデコーダによって前記サブビットストリームを復号するために使用され、入力として前記ビデオデコーダに提供される値を前記1つまたは複数の変数から選択する、C1に記載の方法。
[C10] ビデオデータを処理するためのデバイスであって、
符号化されたビデオデータのビットストリームを受信し、
複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択し、ここにおいて、前記サブビットストリーム抽出モードの各々は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするために、前記ビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出する方法を定義し、ここにおいて、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のビデオコーディングレイヤネットワークアブストラクションレイヤ(VCL NAL)ユニットを備える、
前記ビットストリームから、前記選択されたサブビットストリーム抽出モードによって定義された前記方法でサブビットストリームを抽出する
ように構成された1つまたは複数のプロセッサを備えるデバイス。
[C11] ビューの各コーディングされたピクチャは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントのうちの1つを備える、C10に記載のデバイス。
[C12] 前記1つまたは複数のプロセッサは、自己完全サブビットストリーム抽出モードを選択するように構成され、前記選択されたサブビットストリーム抽出モードが前記自己完全サブビットストリーム抽出モードであるときに、前記1つまたは複数のプロセッサは、前記ターゲット出力ビューを復号するために前記ビューのテクスチャビューまたは深度ビューが必要とされる場合に、前記ビューのすべての利用可能なテクスチャビューコンポーネントと深度ビューコンポーネントとを抽出するように構成される、C11に記載のデバイス。
[C13] 前記1つまたは複数のプロセッサは、中間的サブビットストリーム抽出モードを選択するように構成され、前記選択されたサブビットストリーム抽出モードが前記中間的サブビットストリーム抽出モードであるときに、前記1つまたは複数のプロセッサは、
前記ターゲット出力ビューを復号するために前記ビューの前記テクスチャビューが必要とされる場合に、前記ビューのすべての利用可能なテクスチャビューコンポーネントを抽出し、前記ターゲット出力ビューを復号するために前記ビューの前記深度ビューが必要とされない場合に、前記ビューの深度ビューコンポーネントを抽出しないこと、および
前記ターゲット出力ビューを復号するために前記ビューの前記深度ビューが必要とされる場合に、前記ビューのすべての利用可能な深度ビューコンポーネントを抽出し、前記ターゲット出力ビューを復号するために前記ビューの前記テクスチャビューが必要とされない場合に、前記ビューのテクスチャビューコンポーネントを抽出しないこと
のうちの1つを行うように構成される、C11に記載のデバイス。
[C14] 前記1つまたは複数のプロセッサは、
前記ビューから抽出されるべきテクスチャビューのリストを維持し、
前記ビューから抽出されるべき深度ビューのリストを維持する
ように構成され、
テクスチャビューの前記リストは、少なくとも1つのビューのテクスチャビューを含み、深度ビューの前記リストは、前記少なくとも1つのビューの対応する深度ビューを含まないか、または深度ビューの前記リストは、前記少なくとも1つのビューの深度ビューを含み、テクスチャビューの前記リストは、前記少なくとも1つのビューの対応するテクスチャビューを含まず、
すべての利用可能なテクスチャビューコンポーネントを抽出し、深度ビューコンポーネントを抽出しないために、前記1つまたは複数のプロセッサは、
テクスチャビューの前記リストで識別されるテクスチャビューにテクスチャビューコンポーネントが属するかどうかを判断し、
テクスチャビューの前記リストで識別される前記テクスチャビューに前記テクスチャビューコンポーネントが属する場合のみ、前記テクスチャビューコンポーネントを抽出し、
前記テクスチャビューコンポーネントに対応する深度ビューコンポーネントを抽出するのを、深度ビューの前記リストで識別されない深度ビューに前記深度ビューコンポーネントが属する場合に回避する
ように構成され、
すべての利用可能な深度ビューコンポーネントを抽出し、テクスチャビューコンポーネントを抽出しないために、前記1つまたは複数のプロセッサは、
深度ビューの前記リストで識別される深度ビューに深度ビューコンポーネントが属するかどうかを判断し、
深度ビューの前記リストで識別される前記深度ビューに前記深度ビューコンポーネントが属する場合のみ、前記深度ビューコンポーネントを抽出し、
前記深度ビューコンポーネントに対応するテクスチャビューコンポーネントを抽出するのを、テクスチャビューの前記リストで識別されないテクスチャビューに前記テクスチャビューコンポーネントが属する場合に回避する
ように構成される、C13に記載のデバイス。
[C15] 前記1つまたは複数のプロセッサは、最適サブビットストリーム抽出モードを選択するように構成され、前記選択されたサブビットストリーム抽出モードが前記最適サブビットストリーム抽出モードであるときに、前記1つまたは複数のプロセッサは、前記ターゲット出力ビューを復号するために必要とされるビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントのみを抽出し、前記ターゲット出力ビューを復号するために必要とされない前記ビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントを抽出しないように構成される、C11に記載のデバイス。
[C16] 前記1つまたは複数のプロセッサは、自己完全サブビットストリーム抽出モードを選択するように構成され、前記選択されたサブビットストリーム抽出モードが前記自己完全サブビットストリーム抽出モードであるときに、前記1つまたは複数のプロセッサは、前記ターゲット出力ビューまたはレイヤを復号するために必要とされる前記ビューまたはレイヤからのすべてのコーディングされたピクチャを抽出するように構成される、C10記載のデバイス。
[C17] 前記1つまたは複数のプロセッサは、最適サブビットストリーム抽出モードを選択するように構成され、前記選択されたサブビットストリーム抽出モードが前記最適サブビットストリーム抽出モードであるときに、前記1つまたは複数のプロセッサは、前記ターゲット出力ビューを復号するために必要とされる前記ビューまたはレイヤからのコーディングされたピクチャのみを抽出し、前記ターゲット出力ビューを復号するために必要とされない前記ビューまたはレイヤからのコーディングされたピクチャを抽出しないように構成される、C10に記載のデバイス。
[C18] 前記サブビットストリーム抽出モードを選択するために、前記1つまたは複数のプロセッサは、外部手段により、前記サブビットストリーム抽出モードを受信するように構成され、前記外部手段は、ビデオデコーダの外部にあるユニットを備え、前記外部手段は、1つまたは複数の変数を設定し、各変数は、サブビットストリーム抽出モードを定義し、前記外部手段は、前記ビデオデコーダによって前記サブビットストリームを復号するために使用され、入力として前記ビデオデコーダに提供される値を前記1つまたは複数の変数から選択する、C10に記載のデバイス。
[C19] ビデオデータを処理するためのデバイスの1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
符号化されたビデオデータのビットストリームを受信させ、
複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択させ、ここにおいて、前記サブビットストリーム抽出モードの各々は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするために、前記ビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出する方法を定義し、ここにおいて、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のビデオコーディングレイヤネットワークアブストラクションレイヤ(VCL NAL)ユニットを備える、
前記ビットストリームから、前記選択されたサブビットストリーム抽出モードによって定義された前記方法でサブビットストリームを抽出させる
命令を記憶したコンピュータ可読記憶媒体。
[C20] ビューの各コーディングされたピクチャは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントのうちの1つを備える、C19に記載のコンピュータ可読記憶媒体。
[C21] 前記1つまたは複数のプロセッサに、サブビットストリーム抽出モードを選択させる前記命令は、前記1つまたは複数のプロセッサに、自己完全サブビットストリーム抽出モードを選択させる命令を備え、前記1つまたは複数のプロセッサに、前記サブビットストリームを抽出させる前記命令は、前記1つまたは複数のプロセッサに、前記選択されたサブビットストリーム抽出モードが前記自己完全サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューまたはレイヤを復号するために必要とされる前記ビューまたはレイヤからのすべてのコーディングされたピクチャを抽出させる命令を備える、C19に記載のコンピュータ可読記憶媒体。
[C22] 前記1つまたは複数のプロセッサに、サブビットストリーム抽出モードを選択させる前記命令は、前記1つまたは複数のプロセッサに、最適サブビットストリーム抽出モードを選択させる命令を備え、前記1つまたは複数のプロセッサに、前記サブビットストリームを抽出させる前記命令は、前記1つまたは複数のプロセッサに、前記選択されたサブビットストリーム抽出モードが前記最適サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューを復号するために必要とされる前記ビューまたはレイヤからのコーディングされたピクチャのみを抽出させ、前記ターゲット出力ビューを復号するために必要とされない前記ビューまたはレイヤからのコーディングされたピクチャを抽出させない命令を備える、C19に記載のコンピュータ可読記憶媒体。
[C23] ビデオデータを処理するためのデバイスであって、
符号化されたビデオデータのビットストリームを受信するための手段と、
複数のサブビットストリーム抽出モードからサブビットストリーム抽出モードを選択するための手段と、ここにおいて、前記サブビットストリーム抽出モードの各々は、ターゲット出力ビューまたはターゲット出力レイヤの復号を可能にするために、前記ビットストリームからビューまたはレイヤからのコーディングされたピクチャを抽出する方法を定義し、ここにおいて、各コーディングされたピクチャは、アクセスユニット内のビューまたはレイヤの1つまたは複数のビデオコーディングレイヤネットワークアブストラクションレイヤ(VCL NAL)ユニットを備える、
前記ビットストリームから、前記選択されたサブビットストリーム抽出モードによって定義された前記方法でサブビットストリームを抽出するための手段と
を備えるデバイス。
[C24] ビューの各コーディングされたピクチャは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントのうちの1つを備える、C23に記載のデバイス。
[C25] サブビットストリーム抽出モードを選択するための前記手段は、自己完全サブビットストリーム抽出モードを選択するための手段を備え、前記サブビットストリームを抽出するための前記手段は、前記選択されたサブビットストリーム抽出モードが前記自己完全サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューまたはレイヤを復号するために必要とされる前記ビューまたはレイヤからのすべてのコーディングされたピクチャを抽出するための手段を備える、C23に記載のデバイス。
[C26] サブビットストリーム抽出モードを選択するための前記手段は、最適サブビットストリーム抽出モードを選択するための手段を備え、前記サブビットストリームを抽出するための前記手段は、前記選択されたサブビットストリーム抽出モードが前記最適サブビットストリーム抽出モードであるときに、前記ターゲット出力ビューを復号するために必要とされる前記ビューまたはレイヤからのコーディングされたピクチャのみを抽出し、前記ターゲット出力ビューを復号するために必要とされない前記ビューまたはレイヤからのコーディングされたピクチャを抽出しないための手段を備える、C23に記載のデバイス。