(57)【特許請求の範囲】
【請求項１】
ソースデバイスを用いて、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に各々が対応する複数の動作点記述子を構築することであって、各動作点記述子が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値とをシグナリングし、各動作点記述子が前記ビットストリームの一部として含まれる、構築することと、
前記それぞれのＭＶＣ動作点に対応する前記複数の動作点記述子を備える前記ビットストリームを出力することとを備える方法。
【請求項２】
各動作点記述子が、前記ビットストリームを１つまたは複数の２次元ディスプレイデバイスおよび３次元ディスプレイデバイスに適合させることと、様々な帯域幅のトランスポート媒体を前記１つまたは複数の２次元ディスプレイデバイスおよび３次元ディスプレイデバイスに適応させることとを前記１つまたは複数の２次元ディスプレイデバイスおよび３次元ディスプレイデバイスに行わせる、請求項１に記載の方法。
【請求項３】
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、請求項１に記載の方法。
【請求項４】
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、請求項１に記載の方法。
【請求項５】
前記複数の動作点記述子を構築することが、前記対応するＭＶＣ動作点のビットレートを記述するビットレート値をシグナリングする前記複数の動作点記述子を構築することを備え、前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、請求項１に記載の方法。
【請求項６】
前記複数の動作点記述子を構築することがプログラムマップテーブルデータ構造中の動作点記述子を構築することを備え、前記ビットストリームがＭＰＥＧ−２トランスポートストリームを備える、請求項１に記載の方法。
【請求項７】
前記複数の動作点記述子を構築することがプログラムストリームマップデータ構造中の動作点記述子を構築することを備え、前記ビットストリームがＭＰＥＧ−２プログラムストリームを備える、請求項１に記載の方法。
【請求項８】
各前記複数の動作点記述子を構築することは、
前記ＭＶＣ動作点のためのビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めることと、
前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のための前記ビューのビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めることとを備える、請求項１に記載の方法。
【請求項９】
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に各々が対応する複数の動作点記述子を構築するマルチプレクサであって、各動作点記述子が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値とをシグナリングし、各動作点記述子が前記ビットストリームの一部として含まれる、マルチプレクサと、
前記それぞれのＭＶＣ動作点に対応する前記複数の動作点記述子を備える前記ビットストリームを出力する出力インターフェースとを備える装置。
【請求項１０】
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、請求項９に記載の装置。
【請求項１１】
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、請求項９に記載の装置。
【請求項１２】
前記各動作点記述子は、さらに、前記対応するＭＶＣ動作点のビットレートを記述するビットレート値をシグナリングし、前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、請求項９に記載の装置。
【請求項１３】
前記マルチプレクサが、プログラムマップテーブルデータ構造中の各動作点記述子を構築し、前記ビットストリームがＭＰＥＧ−２トランスポートストリームを備える、請求項９に記載の装置。
【請求項１４】
前記マルチプレクサが、プログラムストリームマップデータ構造中の各動作点記述子を構築し、前記ビットストリームがＭＰＥＧ−２プログラムストリームを備える、請求項９に記載の装置。
【請求項１５】
前記マルチプレクサが各動作点記述子を構築し、各ＭＶＣ動作点が前記ビットストリームのビューのサブセットに対応し、各動作点記述子を構築するために、前記マルチプレクサは、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めることと、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めることと、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めることと、前記対応するＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めることとを行う、請求項９に記載の装置。
【請求項１６】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記マルチプレクサを含むワイヤレス通信デバイスとのうちの少なくとも１つを備える、請求項９に記載の装置。
【請求項１７】
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に各々が対応する複数の動作点記述子を構築するための手段であって、各動作点記述子が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値とをシグナリングし、各動作点記述子が前記ビットストリームの一部として含まれる、構築するための手段と、
前記それぞれのＭＶＣ動作点に対応する前記複数の動作点記述子を備える前記ビットストリームを出力するための手段とを備える装置。
【請求項１８】
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、請求項１７に記載の装置。
【請求項１９】
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、請求項１７に記載の装置。
【請求項２０】
前記各動作点記述子は、さらに、前記対応するＭＶＣ動作点のビットレートを記述するビットレート値をシグナリングし、前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、請求項１７に記載の装置。
【請求項２１】
各動作点記述子を構築するための前記手段は、
前記ＭＶＣ動作点のためのビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めるための手段と、
前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めるための手段であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めるための手段と、
前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めるための手段であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めるための手段と、
前記ＭＶＣ動作点のための前記ビューのビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めるための手段とを備える、請求項１７に記載の装置。
【請求項２２】
実行されると、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に各々が対応する複数の動作点記述子を構築することであって、各動作点記述子が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値とをシグナリングし、各動作点記述子が前記ビットストリームの一部として含まれる、構築することと、
前記それぞれのＭＶＣ動作点に対応する前記複数の動作点記述子を備える前記ビットストリームを出力インターフェースに出力させることとをソースデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項２３】
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記各動作点記述子は、さらに、前記対応するＭＶＣ動作点のビットレートを記述するビットレート値をシグナリングし、前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２６】
各動作点記述子を構築することを前記プロセッサに行わせる前記命令は、
前記ＭＶＣ動作点のためのビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めることと、
前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めることとを前記プロセッサに行わせる命令を備える、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２７】
宛先デバイスを用いて、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に対応する複数の動作点記述子を受信することであって、前記動作点記述子の各々が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値をシグナリングする、受信することと、
前記動作点記述子によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するいくつかのビューを前記宛先デバイスのビデオデコーダが復号することが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する動作点記述子のそれぞれに対して、判断することと、
前記動作点記述子によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する前記動作点記述子のそれぞれに対して、判断することと、
前記対応する動作点記述子に基づいて前記動作点のうちの１つを選択することであって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択することと、
前記選択されたＭＶＣ動作点に対応する前記ビューを前記宛先デバイスの前記ビデオデコーダに送ることとを備える方法。
【請求項２８】
前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、請求項２７に記載の方法。
【請求項２９】
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することは、前記フレームレート値によって示される前記フレームレートで、復号されるビューの数の値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することを備える、請求項２８に記載の方法。
【請求項３０】
前記宛先デバイスが、前記宛先デバイスによってレンダリングされ得るビューの最大数を記述する、最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とを記憶するように構成され、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断することが、
前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較することと、
前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較することとを備え、
前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることは、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることを備える、請求項２７に記載の方法。
【請求項３１】
前記最大ビューレンダー値が前記最大フレームレート値に反比例する、請求項３０に記載の方法。
【請求項３２】
装置であって、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に対応する複数の動作点記述子を受信するように構成された入力インターフェースであって、前記動作点記述子の各々が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値をシグナリングする、入力インターフェースと、
ビデオデータを復号するように構成されたビデオデコーダと、
前記動作点記述子によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するいくつかのビューを前記ビデオデコーダが復号することが可能であるかどうかを、前記動作点記述子のそれぞれに対して、判断することと、前記動作点記述子によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記装置がレンダリングすることが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する前記動作点記述子のそれぞれに対して、判断することと、前記対応する動作点記述子に基づいて前記動作点のうちの１つを選択することであって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択することと、前記選択されたＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることとを行うように構成されたデマルチプレクサとを備える、装置。
【請求項３３】
前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、請求項３２に記載の装置。
【請求項３４】
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するために、前記デマルチプレクサは、前記フレームレート値によって示される前記フレームレートで、復号されるビューの数の値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するように構成された、請求項３３に記載の装置。
【請求項３５】
前記デマルチプレクサが、前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信することと、前記対応する動作点記述子に基づいて動作点を選択することとを行うように構成され、前記ＭＶＣ動作点を選択するために、前記デマルチプレクサは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することと、前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送ることとを行うように構成された、請求項３３に記載の装置。
【請求項３６】
宛先デバイスによってレンダリングされ得るビューの最大数を記述する、最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とを記憶するように構成されたコンピュータ可読記憶媒体をさらに備え、
前記ＭＶＣ動作点に対応する前記ビューを前記装置がレンダリングすることが可能であるかどうかを判断するために、前記デマルチプレクサが、前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較することと、前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較することとを行うように構成され、
前記デマルチプレクサは、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送るように構成された、請求項３２に記載の装置。
【請求項３７】
前記最大ビューレンダー値が前記最大フレームレート値に反比例する、請求項３６に記載の装置。
【請求項３８】
前記装置が、
集積回路と、
マイクロプロセッサと、
前記デマルチプレクサを含むワイヤレス通信デバイスとのうちの少なくとも１つを備える、請求項３２に記載の装置。
【請求項３９】
装置であって、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に対応する複数の動作点記述子を受信するための手段であって、前記動作点記述子の各々が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値とをシグナリングする、受信するための手段と、
前記動作点記述子によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するビューを前記装置のビデオデコーダが復号することが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する前記動作点記述子のそれぞれに対して、判断するための手段と、
前記動作点記述子によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記装置がレンダリングすることが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する前記動作点記述子のそれぞれに対して、判断するための手段と、
前記対応する動作点記述子に基づいて、前記動作点のうちの１つを選択するための手段であって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択するための手段と、
前記選択されたＭＶＣ動作点に対応する前記ビューを前記装置の前記ビデオデコーダに送るための手段とを備える、装置。
【請求項４０】
前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、請求項３９に記載の装置。
【請求項４１】
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するための前記手段は、前記フレームレート値によって示される前記フレームレートでの復号されるビューの数の値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するための手段を備える、請求項４０に記載の装置。
【請求項４２】
前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信するための手段と、
前記対応する動作点記述子に基づいて動作点を選択するための手段であって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択するための手段と、
前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送るための手段とをさらに備える、請求項４０に記載の装置。
【請求項４３】
宛先デバイスによってレンダリングされ得るビューの最大数を記述する、最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とを記憶するための手段をさらに備え、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断するための前記手段が、
前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較するための手段と、
前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較するための手段とを備え、
前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送るための前記手段は、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送るための手段を備える、請求項３９に記載の装置。
【請求項４４】
実行されると、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのそれぞれのマルチビュービデオコーディング（ＭＶＣ）動作点に対応する複数の動作点記述子を受信することであって、前記動作点記述子の各々が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値とをシグナリングする、受信することと、
前記動作点記述子によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するいくつかのビューを宛先デバイスのビデオデコーダが復号することが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する前記動作点記述子のそれぞれに対して、判断することと、
前記動作点記述子によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを、前記それぞれのＭＶＣ動作点に対応する前記動作点記述子のそれぞれに対して、判断することと、
前記対応する動作点記述子に基づいて前記動作点のうちの１つを選択することであって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択することと、
前記選択されたＭＶＣ動作点に対応する前記ビューを前記宛先デバイスの前記ビデオデコーダに送ることとを前記宛先デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項４５】
前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、請求項４４に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することを前記プロセッサに行わせる前記命令は、前記フレームレート値によって示される前記フレームレートでの復号されるビューの数の値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することを前記プロセッサに行わせる命令を備える、請求項４５に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信することと、
前記対応する動作点記述子に基づいて動作点を選択することであって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択することと、
前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送ることとを前記プロセッサに行わせる命令をさらに備える、請求項４５に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記宛先デバイスが、前記宛先デバイスによってレンダリングされ得るビューの最大数を記述する、最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とを記憶するように構成され、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断することを前記プロセッサに行わせる前記命令が、
前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較することと、
前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較することとを前記プロセッサに行わせる命令を備え、
前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることを前記プロセッサに行わせる前記命令は、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることを前記プロセッサに行わせる命令を備える、請求項４４に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、それぞれの内容全体が参照により本明細書に組み込まれる、２００９年８月７日に出願された米国仮出願第６１／２３２，２７２号、２００９年１０月５日に出願された米国仮出願第６１／２４８，７３８号、および２００９年１２月４日に出願された米国仮出願第６１／２６６，８６１号の利益を主張する。
【０００２】
本開示は、符号化ビデオデータのトランスポートに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、およびそのような規格の拡張によって定義された規格に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装して、デジタルビデオ情報をより効率的に送信および受信する。
【０００４】
ビデオ圧縮技法では、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスがマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のマクロブロックは、近傍マクロブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の近傍マクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【０００５】
ビデオデータが符号化された後、ビデオデータは送信または記憶のためにマルチプレクサによってパケット化され得る。ＭＰＥＧ−２は、多くのビデオ符号化規格のためのトランスポートレベルを定義する「システム」セクションを含む。ＭＰＥＧ−２トランスポートレベルシステムは、ＭＰＥＧ−２ビデオエンコーダ、または異なるビデオ符号化規格に準拠する他のビデオエンコーダによって使用され得る。たとえば、ＭＰＥＧ−４は、ＭＰＥＧ−２の符号化および復号方法とは異なる符号化および復号方法を規定しているが、ＭＰＥＧ−４規格の技法を実装するビデオエンコーダは、依然としてＭＰＥＧ−２トランスポートレベル方法を利用し得る。
【０００６】
概して、本開示では、「ＭＰＥＧ−２システム」への言及は、ＭＰＥＧ−２によって規定されているビデオデータのトランスポートレベルを指す。本開示では、ＭＰＥＧ−２によって規定されているトランスポートレベルは、「ＭＰＥＧ−２トランスポートストリーム」または単に「トランスポートストリーム」とも呼ばれる。同様に、ＭＰＥＧ−２システムのトランスポートレベルはプログラムストリームをも含む。トランスポートストリームおよびプログラムストリームは、概して、同様のデータを配信するための異なるフォーマットを含み、トランスポートストリームは、オーディオデータとビデオデータの両方を含む１つまたは複数の「プログラム」を備え、プログラムストリームは、オーディオデータとビデオデータの両方を含む１つのプログラムを含む。
【０００７】
Ｈ．２６４／ＡＶＣに基づく新しいビデオコーディング規格を開発するための取り組みが行われている。１つのそのような規格は、Ｈ．２６４／ＡＶＣのスケーラブル拡張であるスケーラブルビデオコーディング（ＳＶＣ）規格である。別の規格は、Ｈ．２６４／ＡＶＣのマルチビュー拡張になるマルチビュービデオコーディング（ＭＶＣ）である。ＭＰＥＧ−２システム仕様には、デジタル送信または記憶に好適な単一のデータストリームを形成するために、圧縮マルチメディア（ビデオおよびオーディオ）データストリームが他のデータとともにどのように多重化され得るかが記載されている。ＭＰＥＧ−２システムの最新仕様は、「Information Technology - Generic Coding of Moving Pictures and Associated Audio: Systems, Recommendation H.222.0; International Organisation for Standardisation, ISO/IEC JTC1/SC29/WG11; Coding of Moving Pictures and Associated Audio」、２００６年５月、において規定されている。ＭＰＥＧは、最近、ＭＰＥＧ−２システム上でのＭＶＣのトランスポート規格を設計しており、この仕様の最新バージョンは、「Study of ISO/IEC 13818-1:2007/FPDAM4 Transport of MVC」、ＭＰＥＧ  ｄｏｃ．  Ｎ１０５７２、ＭＰＥＧ  ｏｆ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、米国ハワイ州マウイ、２００９年４月、である。
【発明の概要】
【０００８】
概して、本開示は、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システムにおいてマルチビュービデオコーディングを改善するための技法について説明する。特に、本開示の技法は、ＭＰＥＧ−２システムビットストリームの動作点のためのデータ構造を対象とし、そのデータ構造は、受信デバイスのレンダリング能力と、受信デバイスの復号能力と、いくつかの例では、上記動作点のビットレートとをシグナリングする。データ構造は、ＭＰＥＧ−２システムビットストリーム中に含まれる動作点記述子に対応し得る。
【０００９】
動作点のビデオデータを適切に復号し、表示するために、受信デバイスは、データ構造中でシグナリングされたレンダリング能力と復号能力とによって記述されるプロパティを満たすべきである。ＭＰＥＧ−２システムビットストリームは、プログラムの様々なビューに対応する複数の動作点を含み得る。プログラムのための異なる動作点を使用することにより、様々なクライアントデバイスが適合を実行することが可能になる。すなわち、異なるレンダリングおよび復号能力をもつクライアントデバイスが、２次元または３次元ビデオデータを表示するために同じプログラムからビューを抽出することができる。クライアントデバイスはまた、様々な帯域幅能力のトランスポート媒体に適合するように、変動するビットレートのデータを取り出すために、サーバデバイスと交渉し得る。
【００１０】
一例では、方法が、ソースデバイスを用いて、ＭＰＥＧ−２システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を構築することであって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、データ構造が上記ビットストリームの一部として含まれる、構築することと、データ構造を備える上記ビットストリームを出力することとを含む。
【００１１】
別の例では、装置が、ＭＰＥＧ−２システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を構築するマルチプレクサであって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、データ構造を上記ビットストリームの一部として含む、マルチプレクサと、データ構造を備える上記ビットストリームを出力する出力インターフェースとを含む。
【００１２】
別の例では、装置が、ＭＰＥＧ−２システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を構築するための手段であって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、データ構造が上記ビットストリームの一部として含まれる、構築するための手段と、データ構造を備える上記ビットストリームを出力するための手段とを含む。
【００１３】
別の例では、コンピュータ可読記憶媒体が、ＭＰＥＧ−２システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を構築することであって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、データ構造が上記ビットストリームの一部として含まれる、構築することと、データ構造を備える上記ビットストリームを出力インターフェースに出力させることとをソースデバイスのプロセッサに行わせる命令を備える。
【００１４】
別の例では、方法が、宛先デバイスを用いて、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を受信することであって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、受信することと、データ構造によってシグナリングされた復号能力に基づいて、ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダが復号することが可能であるかどうかを判断することと、データ構造によってシグナリングされたレンダリング能力に基づいて、ＭＶＣ動作点に対応するビューを宛先デバイスがレンダリングすることが可能であるかどうかを判断することと、ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダに送ることとを含む。
【００１５】
別の例では、装置が、ＭＰＥＧ−２システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を受信するように構成された入力インターフェースであって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、入力インターフェースと、ビデオデータを復号するように構成されたビデオデコーダと、データ構造によってシグナリングされた復号能力に基づいて、ＭＶＣ動作点に対応するビューをビデオデコーダが復号することが可能であるかどうかを判断することと、データ構造によってシグナリングされたレンダリング能力に基づいて、ＭＶＣ動作点に対応するビューを上記装置がレンダリングすることが可能であるかどうかを判断することと、ＭＶＣ動作点に対応するビューをビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、ＭＶＣ動作点に対応するビューをビデオデコーダに送ることとを行うように構成されたデマルチプレクサとを含む。
【００１６】
別の例では、装置が、ＭＰＥＧ−２システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を受信するための手段であって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、受信するための手段と、データ構造によってシグナリングされた復号能力に基づいて、ＭＶＣ動作点に対応するビューを上記装置のビデオデコーダが復号することが可能であるかどうかを判断するための手段と、データ構造によってシグナリングされたレンダリング能力に基づいて、ＭＶＣ動作点に対応するビューを上記装置がレンダリングすることが可能であるかどうかを判断するための手段と、ＭＶＣ動作点に対応するビューを上記装置のビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、ＭＶＣ動作点に対応するビューを上記装置のビデオデコーダに送るための手段とを含む。
【００１７】
別の例では、コンピュータ可読記憶媒体が、ＭＰＥＧ−２システム規格ビットストリームのＭＶＣ動作点に対応するデータ構造を受信することであって、データ構造が、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、受信することと、データ構造によってシグナリングされた復号能力に基づいて、ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダが復号することが可能であるかどうかを判断することと、データ構造によってシグナリングされたレンダリング能力に基づいて、ＭＶＣ動作点に対応するビューを宛先デバイスがレンダリングすることが可能であるかどうかを判断することと、ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダに送ることとを宛先デバイスのプロセッサに行わせる命令を備える。
【００１８】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１９】
【図１】オーディオ／ビデオ（Ａ／Ｖ）ソースデバイスがオーディオおよびビデオデータをＡ／Ｖ宛先デバイスにトランスポートする例示的なシステムを示すブロック図。
【図２】本開示に一致する、マルチプレクサの構成要素の例示的な構成を示すブロック図。
【図３】本開示に一致する、プログラム固有情報テーブルの例示的なセットを示すブロック図。
【図４】動作点記述子中に含まれ得るデータのセットの様々な例を示す概念図。
【図５】動作点記述子中に含まれ得るデータのセットの様々な例を示す概念図。
【図６】動作点記述子中に含まれ得るデータのセットの様々な例を示す概念図。
【図７】例示的なＭＶＣ予測パターンを示す概念図。
【図８】動作点の特性をシグナリングするデータ構造を使用するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００２０】
本開示の技法は、概して、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム、すなわち、トランスポートレベル詳細に関してＭＰＥＧ−２に準拠するシステムにおいてマルチビュービデオコーディング（ＭＶＣ）を拡張することを対象とする。ＭＰＥＧ−４は、たとえば、ビデオ符号化のための規格を与えるが、概して、ＭＰＥＧ−４規格に準拠するビデオエンコーダはＭＰＥＧ−２トランスポートレベルシステムを利用すると仮定する。したがって、本開示の技法は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、あるいはＭＰＥＧ−２トランスポートストリームおよび／またはプログラムストリーム（program stream）（「programme stream」ともつづる）を利用する任意の他のビデオ符号化規格に準拠するビデオエンコーダに適用可能である。
【００２１】
特に、本開示の技法は、ＭＰＥＧ−２トランスポートストリームおよびプログラムストリームのトランスポートレベルにおいてシンタックス要素を変更し得る。たとえば、本開示の技法は、動作点の機能を記述するためにトランスポートストリーム中で送信される記述子を含む。サーバデバイスは、たとえば、ＭＰＥＧ−２トランスポートレイヤビットストリーム中に様々な動作点を与え得、その各々はマルチビュービデオコーディングビデオデータの特定のビューのそれぞれのサブセットに対応する。すなわち、動作点は、概して、ビットストリームのビューのサブセットに対応する。いくつかの例では、動作点の各ビューは、同じフレームレートのビデオデータを含む。
【００２２】
宛先デバイスは、復号され、最終的にユーザに提示（たとえば、表示）されるべき動作点のうちの１つを選択するために、ビットストリーム中に含まれる動作点記述子を使用し得る。受信時にビューの全部のデータをビデオデコーダに渡すのではなく、宛先デバイスは、選択された動作点のビューのみをビデオデコーダに送り得る。このようにして、宛先デバイスは、復号されないビューのデータを廃棄し得る。宛先デバイスは、ビットストリームの動作点のうち、最高品質をサポートする動作点に基づいて動作点を選択し得る。
【００２３】
サーバデバイスは、単一のトランスポートストリームまたはプログラムストリーム中で（各々が動作点に対応し得る）複数のサブビットストリームを送り得る。本開示は、様々なセクションにおいて「トランスポートストリーム」または「プログラムストリーム」に個別に言及し得るが、本開示の技法が概してＭＰＥＧ−２トランスポートストリームとプログラムストリームのいずれかまたは両方に適用可能であることを理解されたい。概して、本開示は、本開示の技法を実行するための例示的なデータ構造としての記述子の使用について説明する。記述子は、ストリームの機能を拡張するために使用される。本開示の記述子は、本開示の技法を実装するためにトランスポートストリームとプログラムストリームの両方によって使用され得る。本開示は、主に、動作点のレンダリング能力値と、動作点の復号能力値と、動作点のビットレート値とをシグナリングするために使用され得る例示的なデータ構造として記述子に焦点を当てるが、これらの技法を実行するために他のデータ構造も使用され得ることを理解されたい。
【００２４】
本開示の技法によれば、ソースデバイス２０は動作点の特性を記述する動作点記述子を構築し得る。特性は、たとえば、動作点中にどのビューが含まれるかと、動作点のビューのフレームレートとを含み得る。動作点記述子は、動作点を受信し、復号するためにビデオデコーダによってサポートされるべきであるレンダリング能力と、動作点を受信し、復号するためにビデオデコーダによってサポートされるべきである復号能力と、動作点のビットレートとを指定し得る。
【００２５】
本開示の技法は、概して、動作点が、トランスポートストリーム中のプログラムマップテーブルまたはプログラムストリーム中のプログラムストリームマップによってシグナリングされた、それ自体のプログラムであるかのように各動作点を表し得る。代替的に、プログラムが複数の動作点を含んでいるとき、本開示の技法は、動作点記述子中で、動作点がどのように再アセンブルされるべきかについての情報を与える。動作点記述子は、動作点の依存性をさらにシグナリングし得、それによってビットを節約し得る。
【００２６】
図１は、オーディオ／ビデオ（Ａ／Ｖ）ソースデバイス２０がオーディオおよびビデオデータをＡ／Ｖ宛先デバイス４０にトランスポートする例示的なシステム１０を示すブロック図である。図１のシステム１０は、ビデオ通信会議システム、サーバ／クライアントシステム、放送事業者／受信機システム、またはＡ／Ｖソースデバイス２０などのソースデバイスからＡ／Ｖ宛先デバイス４０などの宛先デバイスにビデオデータが送られる任意の他のシステムに対応し得る。いくつかの例では、Ａ／Ｖソースデバイス２０およびＡ／Ｖ宛先デバイス４０は双方向情報交換を実行し得る。すなわち、Ａ／Ｖソースデバイス２０およびＡ／Ｖ宛先デバイス４０は、オーディオおよびビデオデータの符号化と復号（および、送信と受信）の両方が可能であり得る。いくつかの例では、オーディオエンコーダ２６は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
【００２７】
Ａ／Ｖソースデバイス２０は、図１の例では、オーディオソース２２とビデオソース２４とを備える。オーディオソース２２は、たとえば、オーディオエンコーダ２６によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース２２は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータジェネレータ、またはオーディオデータの任意の他のソースを備え得る。ビデオソース２４は、ビデオエンコーダ２８によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。
【００２８】
未加工オーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ２６および／またはビデオエンコーダ２８によって符号化される前にデジタル化され得る。オーディオソース２２は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオソース２４は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース２２は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース２４は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。
【００２９】
ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれている、ビデオソース２４によってキャプチャされたビデオデータと同時にオーディオソース２２によってキャプチャされたオーディオデータを含んでいるオーディオフレームである。たとえば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオソース２２はオーディオデータをキャプチャし、同時に、すなわちオーディオソース２２がオーディオデータをキャプチャしている間、ビデオソース２４は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、１つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時にキャプチャされる状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。
【００３０】
いくつかの例では、オーディオエンコーダ２６は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し得、同様に、ビデオエンコーダ２８は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと同じタイムスタンプを備えるビデオフレームとを備え得る。Ａ／Ｖソースデバイス２０は、オーディオエンコーダ２６および／またはビデオエンコーダ２８がそこからタイムスタンプを生成し得るか、あるいはオーディオソース２２およびビデオソース２４がオーディオおよびビデオデータをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。
【００３１】
いくつかの例では、オーディオソース２２は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ２６に送り得、ビデオソース２４は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ２８に送り得る。いくつかの例では、オーディオエンコーダ２６は、必ずしもオーディオデータが記録された絶対時刻を示すことなしに、符号化されたオーディオデータの相対的時間順序を示すために、符号化されたオーディオデータ中のシーケンス識別子を符号化し得、同様に、ビデオエンコーダ２８も、符号化されたビデオデータの相対的時間順序を示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、または場合によってはタイムスタンプと相関し得る。
【００３２】
本開示の技法は、概して、符号化マルチメディア（たとえば、オーディオおよびビデオ）データのトランスポートと、トランスポートされたマルチメディアデータの受信ならびに後続の解釈および復号とを対象とする。本開示の技法は、特にマルチビュービデオコーディング（ＭＶＣ）データ、すなわち複数のビューを備えるビデオデータのトランスポートに適用可能である。図１の例に示すように、ビデオソース２４はシーンの複数のビューをビデオエンコーダ２８に与え得る。ＭＶＣは、立体視または自動立体視３次元ディスプレイなど、３次元ディスプレイによって使用されるべき３次元ビデオデータを生成するために有用であり得る。
【００３３】
Ａ／Ｖソースデバイス２０は、Ａ／Ｖ宛先デバイス４０に「サービス」を提供し得る。サービスは、概して、ＭＶＣデータの利用可能なビューのサブセットに対応する。たとえば、ＭＶＣデータは、０から７まで順序付けられた８つのビューについて利用可能であり得る。１つのサービスは２つビューを有するステレオビデオに対応し得るが、別のサービスは４つのビューに対応し得、さらに別のサービスは８つのビューすべてに対応し得る。概して、サービスは、利用可能なビューの任意の組合せ（すなわち、任意のサブセット）に対応する。サービスはまた、利用可能なビューならびにオーディオデータの組合せに対応し得る。Ａ／Ｖソースデバイス２０が、Ａ／Ｖソースデバイス２０によって提供されるサービスごとに動作点記述子をさらに与え得るように、動作点がサービスに対応し得る。
【００３４】
Ａ／Ｖソースデバイス２０は、本開示の技法に従って、ビューのサブセットに対応するサービスを提供することができる。概して、ビューは、「ｖｉｅｗ＿ｉｄ」とも呼ばれるビュー識別子によって表される。ビュー識別子は、概して、ビューを識別するために使用され得るシンタックス要素を備える。ビューが符号化されるとき、ＭＶＣエンコーダはビューのｖｉｅｗ＿ｉｄを与える。ｖｉｅｗ＿ｉｄは、ＭＶＣデコーダによってビュー間予測（inter-view prediction）のために使用されるか、または他のユニットによって他の目的、たとえばレンダリングのために使用され得る。
【００３５】
ビュー間予測は、フレームのＭＶＣビデオデータを、共通の時間ロケーションにおける１つまたは複数のフレームを参照して、異なるビューの符号化フレームとして符号化するための技法である。以下でさらに詳細に説明する図７は、ビュー間予測のための例示的なコーディング方式を与えている。概して、ＭＶＣビデオデータの符号化フレームは、空間的に、時間的に、および／または共通の時間ロケーションにおける他のビューのフレームを参照して、予測符号化され得る。したがって、他のビューがそこから予測される参照ビューは、概して、参照ビューを復号するときに、復号された参照ビューが参照のために使用され得るように、参照ビューが参照として働くビューの前に復号される。復号順序は必ずしもｖｉｅｗ＿ｉｄの順序に対応しない。したがって、ビューの復号順序はビュー順序インデックスを使用して記述される。ビュー順序インデックスは、アクセスユニット中の対応するビュー構成要素の復号順序を示すインデックスである。
【００３６】
各個のデータストリームは（オーディオかビデオかにかかわらず）エレメンタリーストリームと呼ばれる。エレメンタリーストリームは、デジタル的にコード化された（場合によっては圧縮された）プログラムの単一の構成要素である。たとえば、プログラムのコード化ビデオまたはオーディオ部分はエレメンタリーストリームであり得る。エレメンタリーストリームは、プログラムストリームまたはトランスポートストリームに多重化される前に、パケット化エレメンタリーストリーム（ＰＥＳ）に変換され得る。同じプログラム内では、１つのエレメンタリーストリームに属するＰＥＳパケットを他のものから区別するためにストリームＩＤが使用される。エレメンタリーストリームの基本データ単位はパケット化エレメンタリーストリーム（ＰＥＳ）パケットである。したがって、ＭＶＣビデオデータの各ビューはそれぞれのエレメンタリーストリームに対応する。同様に、オーディオデータは１つまたは複数のそれぞれのエレメンタリーストリームに対応する。
【００３７】
ＭＶＣコード化ビデオシーケンスは、各々がエレメンタリーストリームであるいくつかのサブビットストリームに分離され得る。各サブビットストリームは、ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットを使用して識別され得る。各ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットの概念に基づいて、ＭＶＣビデオサブビットストリームが定義される。ＭＶＣビデオサブビットストリームは、ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットに記載されているビューのＮＡＬユニットを含んでいる。プログラムストリームは、概して、エレメンタリーストリームのＮＡＬユニットからのＮＡＬユニットのみを含んでいる。それはまた、２つのエレメンタリーストリームが同じビューを含んでいることができないように設計されている。
【００３８】
図１の例では、マルチプレクサ３０は、ビデオエンコーダ２８からビデオデータを備えるエレメンタリーストリームを受信し、オーディオエンコーダ２６からオーディオデータを備えるエレメンタリーストリームを受信する。いくつかの例では、ビデオエンコーダ２８およびオーディオエンコーダ２６はそれぞれ、符号化データからＰＥＳパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ２８およびオーディオエンコーダ２６はそれぞれ、符号化データからＰＥＳパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、マルチプレクサ３０は、符号化オーディオデータと符号化ビデオデータとからＰＥＳパケットを形成するためのパケッタイザを含み得る。
【００３９】
本開示で使用する「プログラム」は、オーディオデータとビデオデータの組合せ、たとえばＡ／Ｖソースデバイス２０のサービスによって配信されたオーディオエレメンタリーストリームと利用可能なビューのサブセットとを備え得る。各ＰＥＳパケットは、ＰＥＳパケットが属するエレメンタリーストリームを識別するｓｔｒｅａｍ＿ｉｄを含む。マルチプレクサ３０は、エレメンタリーストリームを構成プログラムストリームまたはトランスポートストリームにアセンブルすることを担当する。プログラムストリームとトランスポートストリームとは、異なるアプリケーションをターゲットにする２つの代替多重である。
【００４０】
概して、プログラムストリームは１つのプログラムのデータを含み、トランスポートストリームは１つまたは複数のプログラムのデータを含み得る。マルチプレクサ３０は、提供されているサービス、ストリームが渡される媒体、送られるべきプログラムの数、または他の考慮事項に基づいて、プログラムストリームまたはトランスポートストリームのいずれかあるいは両方を符号化し得る。たとえば、記憶媒体中のビデオデータが符号化されるべきであるときは、マルチプレクサ３０はプログラムストリームを形成する可能性がより高くなり得、ビデオデータがネットワークを介してストリーミングされるか、ブロードキャストされるか、またはビデオテレフォニーの一部として送られるべきであるときは、マルチプレクサ３０はトランスポートストリームを使用する可能性がより高くなり得る。
【００４１】
マルチプレクサ３０は、デジタルストレージサービスからの単一のプログラムの記憶および表示のためにプログラムストリームを使用することのほうを優先してバイアスされ得る。プログラムストリームはむしろ誤りが起こりやすいので、プログラムストリームは、誤りのない環境、または誤りがより起こりにくい環境での使用を対象とする。プログラムストリームは、それに属するエレメンタリーストリームを備えるにすぎず、通常、可変長さのパケットを含んでいる。プログラムストリームでは、寄与しているエレメンタリーストリームから導出されたＰＥＳパケットが「パック」に編成される。パックは、パックヘッダと、随意のシステムヘッダと、寄与しているエレメンタリーストリームのいずれかから取られる任意の数のＰＥＳパケットとを任意の順序で備える。システムヘッダは、プログラムストリームの最大データレート、寄与しているビデオおよびオーディオエレメンタリーストリームの数、さらなるタイミング情報、または他の情報など、プログラムストリームの特性の概要を含んでいる。デコーダは、デコーダがプログラムストリームを復号することが可能か否かを判断するために、システムヘッダ中に含まれている情報を使用し得る。
【００４２】
マルチプレクサ３０は、潜在的に誤りを起こしやすいチャネルを介した複数のプログラムの同時配信のためにトランスポートストリームを使用し得る。トランスポートストリームは、単一のトランスポートストリームが多くの独立したプログラムに適応することができるように、ブロードキャストなどのマルチプログラムアプリケーションのために考案された多重である。トランスポートストリームは、トランスポートパケットの各々が長さ１８８バイトである、トランスポートパケットの連続を備え得る。短い、固定長パケットの使用により、トランスポートストリームはプログラムストリームよりも誤りが起こりにくくなる。さらに、各長さ１８８バイトのトランスポートパケットは、リードソロモン符号化などの標準誤り防止プロセスを通してパケットを処理することによって追加の誤り保護を与えられ得る。トランスポートストリームの改善された誤り耐性は、たとえば、ブロードキャスト環境において発見されるべき、誤りを起こしやすいチャネルを克服する可能性がより高いことを意味する。
【００４３】
トランスポートストリームは、その誤り耐性の向上と多くの同時プログラムを搬送する能力とにより、プログラムストリームよりも良好であるように見えることがある。ただし、トランスポートストリームは、プログラムストリームよりもさらに高度な多重であり、したがって、プログラムストリームよりも作成がより困難であり、多重分離がより複雑である。トランスポートパケットの最初のバイトは、０ｘ４７の値（１６進値４７、２進値「０１０００１１１」、１０進値７１）を有する同期バイトであり得る。単一のトランスポートストリームは多くの異なるプログラムを搬送し得、各プログラムは多くのパケット化エレメンタリーストリームを備える。マルチプレクサ３０は、１つのエレメンタリーストリームのデータを含んでいるトランスポートパケットを、他のエレメンタリーストリームのデータを搬送しているものと区別するために１３ビットパケット識別子（ＰＩＤ）フィールドを使用し得る。各エレメンタリーストリームが一意のＰＩＤ値を与えられることを保証することは、マルチプレクサの責任である。トランスポートパケットの最後のバイトは連続性カウントフィールドであり得る。マルチプレクサ３０は、同じエレメンタリーストリームに属する連続するトランスポートパケット間で連続性カウントフィールドの値を増分する。これは、Ａ／Ｖ宛先デバイス４０など、宛先デバイスのデコーダまたは他のユニットがトランスポートパケットの損失または利得を検出し、他の場合はそのようなイベントから生じ得る誤りを願わくは隠匿することを可能にする。
【００４４】
マルチプレクサ３０は、オーディオエンコーダ２６とビデオエンコーダ２８とからプログラムのエレメンタリーストリームのＰＥＳパケットを受信し、ＰＥＳパケットから対応するネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成する。Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）の例では、コード化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどのアプリケーションに対処する「ネットワークフレンドリーな」ビデオ表現を与えるＮＡＬユニットに編成される。ＮＡＬユニットは、Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとにカテゴリー分類され得る。ＶＣＬユニットは、コア圧縮エンジンを含んでおり、ブロック、マクロブロック、および／またはスライスレベルを備え得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットである。
【００４５】
マルチプレクサ３０は、ＮＡＬが属するプログラムを識別するヘッダ、ならびにペイロード、たとえば、オーディオデータ、ビデオデータ、あるいはＮＡＬユニットが対応するトランスポートまたはプログラムストリームを記述するデータを備えるＮＡＬユニットを形成し得る。たとえば、Ｈ．２６４／ＡＶＣでは、ＮＡＬユニットは１バイトのヘッダと変動するサイズのペイロードとを含む。一例では、ＮＡＬユニットヘッダは、ｐｒｉｏｒｉｔｙ＿ｉｄ要素と、ｔｅｍｐｏｒａｌ＿ｉｄ要素と、ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ要素と、ｖｉｅｗ＿ｉｄ要素と、ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素と、ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇ要素とを備える。従来のＭＶＣでは、４バイトＭＶＣ  ＮＡＬユニットヘッダとＮＡＬユニットペイロードとを含む、プレフィックスＮＡＬユニットとＭＶＣコード化スライスＮＡＬユニットとを除いて、Ｈ．２６４によって定義されたＮＡＬユニットが保持される。
【００４６】
ＮＡＬヘッダのｐｒｉｏｒｉｔｙ＿ｉｄ要素は、単純なワンパス（one-path）ビットストリーム適合プロセスのために使用され得る。ｔｅｍｐｏｒａｌ＿ｉｄ要素は、異なる時間レベルが異なるフレームレートに対応する場合、対応するＮＡＬユニットの時間レベルを指定するために使用され得る。
【００４７】
ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ要素は、ピクチャがアンカーピクチャであるか非アンカーピクチャであるかを示し得る。アンカーピクチャと出力順序（すなわち、表示順序）でそれに続くすべてのピクチャとは、復号順序（すなわち、ビットストリーム順序）で前のピクチャを復号することなしに正しく復号され得、したがってランダムアクセスポイントとして使用され得る。アンカーピクチャと非アンカーピクチャとは異なる依存性を有することができ、その両方はシーケンスパラメータセット中でシグナリングされる。他のフラグについては、本章の以下のセクションで説明され、使用される。そのようなアンカーピクチャはまた、開いたＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）アクセスポイントと呼ばれることもあり、ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素が０に等しいとき、閉じたＧＯＰアクセスポイントもサポートされる。ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素は、ピクチャが瞬間デコーダリフレッシュ（ＩＤＲ）であるかビューＩＤＲ（Ｖ−ＩＤＲ）ピクチャであるかを示す。概して、ＩＤＲピクチャと出力順序またはビットストリーム順序でそれに続くすべてのピクチャとは、復号順序または表示順序で前のピクチャを復号することなしに正しく復号され得る。
【００４８】
ｖｉｅｗ＿ｉｄ要素は、ＭＶＣデコーダ内でデータ対話性のために、たとえば、ビュー間予測のために、およびデコーダ外で、たとえば、レンダリングのために使用され得る、ビューを識別するために使用され得るシンタックス情報を備え得る。ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇ要素は、対応するＮＡＬユニットが他のビューによってビュー間予測のために使用されるかどうかを指定し得る。ＡＶＣに準拠し得る、ベースビューの４バイトＮＡＬユニットヘッダ情報を搬送するために、ＭＶＣにおいてプレフィックスＮＡＬユニットが定義される。ＭＶＣのコンテキストにおいて、ベースビューアクセスユニットは、ビューの現在の時間インスタンスのＶＣＬ  ＮＡＬユニット、ならびにＮＡＬユニットヘッドのみを含んでいるプレフィックスＮＡＬユニットを含む。Ｈ．２６４／ＡＶＣデコーダはプレフィックスＮＡＬユニットを無視し得る。
【００４９】
そのペイロード中にビデオデータを含むＮＡＬユニットは、様々なグラニュラリティレベルのビデオデータを備え得る。たとえば、ＮＡＬユニットは、ビデオデータのブロック、マクロブロック、複数のマクロブロック、ビデオデータのスライス、またはビデオデータのフレーム全体を備え得る。マルチプレクサ３０は、ビデオエンコーダ２８から符号化ビデオデータをエレメンタリーストリームのＰＥＳパケットの形態で受信し得る。マルチプレクサ３０は、ｓｔｒｅａｍ＿ｉｄを、たとえば、データベース中の、あるいはプログラムマップテーブル（ＰＭＴ）またはプログラムストリームマップ（ＰＳＭ）など、他のデータ構造中の対応するプログラムにマッピングすることによって、各エレメンタリーストリームを対応するプログラムに関連付け得る。
【００５０】
マルチプレクサ３０はまた、複数のＮＡＬユニットからアクセスユニットをアセンブルし得る。概して、アクセスユニットは、ビデオデータのフレームを表すための１つまたは複数のＮＡＬユニット、ならびにそのフレームに対応するオーディオデータが利用可能なとき、そのようなオーディオデータを備え得る。アクセスユニットは、概して、１つの出力時間インスタンスにわたるすべてのＮＡＬユニット、たとえば１つの時間インスタンスにわたるすべてのオーディオおよびビデオデータを含む。たとえば、各ビューが毎秒２０フレーム（ｆｐｓ）のフレームレートを有する場合、各時間インスタンスは０．０５の秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット（同じ時間インスタンス）のすべてのビューの固有のフレームは同時にレンダリングされ得る。Ｈ．２６４／ＡＶＣに対応する例では、アクセスユニットは、１次コード化ピクチャとして提示され得る、１つの時間インスタンス中のコード化ピクチャを備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのオーディオおよびビデオフレーム、たとえば、時間Ｘに対応するすべてのビューを備え得る。本開示はまた、特定のビューの符号化ピクチャを「ビュー構成要素」と呼ぶ。すなわち、ビュー構成要素は、特定の時間における特定のビューの符号化ピクチャ（またはフレーム）を備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビュー構成要素を備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示順序と同じである必要はない。
【００５１】
マルチプレクサ３０はまた、プログラムに関するデータをＮＡＬユニット中に埋め込み得る。たとえば、マルチプレクサ３０は、プログラムマップテーブル（ＰＭＴ）またはプログラムストリームマップ（ＰＳＭ）を備えるＮＡＬユニットを作成し得る。概して、ＰＭＴはトランスポートストリームを記述するために使用され、ＰＳＭはプログラムストリームを記述するために使用される。図２の例に関して以下でより詳細に説明するように、マルチプレクサ３０は、オーディオエンコーダ２６とビデオエンコーダ２８とから受信されたエレメンタリーストリームをプログラムに関連付け、それに応じてそれぞれのトランスポートストリームおよび／またはプログラムストリームに関連付けるデータストレージユニットを備えるかあるいはそれと対話し得る。
【００５２】
多くのビデオコーディング規格の場合と同様に、Ｈ．２６４／ＡＶＣは、誤りのないビットストリームのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれかは特定のプロファイルまたはレベルに準拠する。Ｈ．２６４／ＡＶＣはエンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストにおいて、「プロファイル」は、アルゴリズム、機能、またはそれらに適用するツールおよび制約のサブセットに対応する。たとえば、Ｈ．２６４規格によって定義される「プロファイル」は、Ｈ．２６４規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびマクロブロック（ＭＢ）処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限に対応する。
【００５３】
Ｈ．２６４規格は、たとえば、与えられたプロファイルのシンタックスによって課される限界内で、復号されたピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダおよびデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。Ｈ．２６４規格は、多くのアプリケーションにおいて、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することが実際的でもなく、経済的でもないことをさらに認識している。したがって、Ｈ．２６４規格は、ビットストリーム中のシンタックス要素の値に課せられた制約の指定されたセットとして「レベル」を定義している。これらの制約は、値に関する単純な限界であり得る。代替的に、これらの制約は、値の演算の組合せ（たとえば、ピクチャの幅×ピクチャ高さ×毎秒復号されるピクチャの数）に関する制約の形態をとり得る。Ｈ．２６４規格は、個別の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定している。
【００５４】
プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての機能をサポートする。たとえば、コーディング機能として、Ｂピクチャコーディングは、Ｈ．２６４／ＡＶＣのベースラインプロファイルではサポートされないが、Ｈ．２６４／ＡＶＣの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能である必要がある。プロファイルおよびレベルの定義は、説明可能性のために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より詳細には、Ｈ．２６４／ＡＶＣでは、レベルは、たとえば、処理する必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファ（ＤＰＢ）サイズと、コード化ピクチャバッファ（ＣＰＢ）サイズと、垂直動きベクトル範囲と、２つの連続するＭＢごとの動きベクトルの最大数と、Ｂブロックが８×８ピクセル未満のサブマクロブロックパーティションを有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを判断し得る。
【００５５】
パラメータセットは、概して、シーケンスパラメータセット（ＳＰＳ）中のシーケンスレイヤヘッダ情報とピクチャパラメータセット（ＰＰＳ）中のまれに変化するピクチャレイヤヘッダ情報とを含んでいる。パラメータセットがある場合、このまれに変化する情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善され得る。さらに、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし得、誤り耐性を達成するために冗長送信の必要を回避する。帯域外送信では、他のＮＡＬユニットとは異なるチャネル上でパラメータセットＮＡＬユニットが送信される。
【００５６】
ＭＰＥＧ−２システム規格は、「記述子」によってシステムの拡張を可能にする。ＰＭＴとＰＳＭの両方は、１つまたは複数の記述子が挿入され得る記述子ループを含む。概して、記述子は、プログラムおよび／またはプログラム要素の定義を拡張するために使用され得るデータ構造を備え得る。本開示は、本開示の技法を実行するための動作点記述子について説明する。概して、本開示の動作点記述子は、動作点のレンダリング能力と、復号能力と、ビットレートとを記述することによって、従来のＭＶＣ拡張記述子を拡張する。Ａ／Ｖ宛先デバイス４０などの宛先デバイスは、復号されるべきビットストリームの動作点のうちの１つを選択するために、動作点ごとに動作点記述子を使用し得る。
【００５７】
各ＰＭＴまたはＰＳＭは、動作点の特性を記述する動作点記述子を含み得る。たとえば、ソースデバイス２０は、クライアントデバイス４０のレンダリング能力を記述するレンダリング能力値を与えるために動作点記述子を与え得る。クライアントデバイス４０が動作点のビデオデータを適切にレンダリング（たとえば、表示）するために、クライアントデバイス４０は、レンダリング能力値によってシグナリングされたレンダリング能力を満たす必要がある。レンダリング能力値は、たとえば、表示されるべきビューの数（たとえば、レンダリングの対象となるビューの数）および／またはビューのビデオデータのフレームレートを記述し得る。したがって、クライアントデバイス４０は、クライアントデバイス４０のビデオ出力４４が、動作点記述子によって指定されたフレームレートで、動作点のその数のビューを表示することができるとき、レンダリング能力が満たされると判断し得る。
【００５８】
ソースデバイス２０がマルチキャストまたはブロードキャストプロトコルを使用してＭＶＣビットストリームを送信する例では、ソースデバイス２０は、ＭＶＣビットストリーム全体を、様々なレンダリング能力を有するクライアントデバイスによって受信され得るトランスポートストリームにパケット化し得る。たとえば、いくつかの３次元プログラムは、異なる数のビュー（たとえば、２つのビュー、４つのビュー、６つのビュー、または８つのビュー）を有し得、様々なデバイスは、ビューの１つのペアから４つのペアまでのいずれでも使用することが可能であり得る。したがって、各クライアントデバイスは、クライアントデバイスによって表示され得るビューのサポート数に基づいて、どの動作点を使用すべきかを判断し得る。たとえば、クライアントデバイス４０は、ビデオ出力４４によって表示され得るビューの数と、ビデオ出力４４がビデオデータを表示することが可能であるフレームレートとを判断することと、ビデオ出力４４のレンダリング能力に基づいて、動作点のいずれが使用されるべきかを判断することとによって、動作点のうちのいずれを使用すべきかを判断し得る。
【００５９】
ソースデバイスがユニキャストプロトコルを使用してＭＶＣビットストリームを送信する例では、クライアントデバイス４０は、対応する動作点記述子で指定されたレンダリング能力を検査することによって、許容できる数のビューをもつプログラムに対応するセッションを確立し得る。同様に、ＭＶＣビットストリームがローカル再生のためにコンピュータ可読記憶媒体中に符号化される例では、クライアントデバイス４０は、ＰＭＴまたはＰＳＭの動作点記述子で指定されたレンダリング能力を検査することによって、好適なプログラムを選択し得る。
【００６０】
ソースデバイス２０はまた、動作点記述子中で復号能力値を与え得る。復号されるべきビューの数は、表示されるべきビューの数と必ずしも同じでないことがある。したがって、動作点記述子は、動作点の表示されるべきビューの数と復号されるべきビューの数とを別々にシグナリングし得る。さらに、動作点記述子は、動作点に対応するビューを明確に識別し得る。いくつかのクライアントデバイスは、様々な目的のために、たとえば、閲覧角に基づいて特定のビューを選好し得る。したがって、クライアントデバイス４０は、動作点中でどのビューが利用可能であるかに基づいて動作点を選択するように構成され得る。
【００６１】
いくつかの例では、動作点中でシグナリングされた復号能力は、追加または代替として、動作点が対応するプロファイルおよびレベルを指定し得る。ソースデバイス２０がマルチキャストまたはブロードキャストプロトコルを使用してビットストリームを送信する例では、異なる復号能力をもつ様々なクライアントデバイスがビットストリームを受信し得る。たとえば、いくつかのデコーダは３０ｆｐｓをもつ２つのビューを復号することのみが可能であり得、いくつかは６０ｆｐｓをもつ４つのビューを復号することが可能であり得る。ソースデバイス２０がユニキャストプロトコルを使用してビットストリームを送信する例では、クライアントデバイス４０は、ＰＭＴにおいて記述子中で指定された復号能力を検査した後、（特定の３次元プログラム用の）好適なセッションを確立し得る。同様に、ローカル再生では、クライアントデバイス４０は、ＰＭＴまたはＰＳＭの動作点記述子中で指定された復号能力を検査することによって、好適なプログラムを選択し得る。
【００６２】
ソースデバイス２０は、動作点記述子中でビットレート情報をさらにシグナリングし得る。ビットレート情報は、動作点の平均ビットレートおよび／または最大ビットレートのいずれかまたは両方を記述し得る。たとえば、ソースデバイス２０がユニキャストプロトコルを使用してビットストリームを送信するとき、ビットストリームを送信するために使用されるチャネルは帯域幅に関して制限され得る。したがって、クライアントデバイス４０は、通信チャネルの許容最大または平均ビットレートを有する動作点を選択し得る。
【００６３】
いくつかの例では、ソースデバイス２０は、動作点記述子中で動作点のフレームレートをさらに指定し得る。動作点のいくつかのビューは、動作点のフレームレートに一致しないフレームレートを有し得る。したがって、クライアントデバイス４０は、ビデオデータを表示する目的で、復号されたビデオデータを再アセンブルするプロセスを容易にするために、動作点のフレームレートとそのようなビューのフレームレートとを判断し得る。様々な例では、２つの動作点のフレームレートが一致しないとき、クライアントデバイス４０は、より高いフレームレートを有する動作点のビューのフレームをドロップするか、またはより低いフレームレートを有する動作点のビューのフレームを補間し得る。
【００６４】
一般に、エレメンタリーストリームは、エレメンタリーストリームがＳＥＩメッセージとプレフィックスＮＡＬユニットとを含むかどうかをそれぞれ記述するフラグ「ｎｏ＿ｓｅｉ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ」と「ｎｏ＿ｐｒｅｆｉｘ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ」とを含む。本開示は、クライアントデバイス４０などのクライアントデバイスが、動作点についてのこれらの値を明示的にシグナリングするのではなく、ＳＥＩメッセージおよび／またはプレフィックスＮＡＬユニットが動作点内に存在するかどうかを推論することを提案する。動作点中にＳＥＩメッセージが存在するかどうかを判断するために、クライアントデバイス４０は、動作点のエレメンタリーストリームのｎｏ＿ｓｅｉ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ値の最大値が１に等しいかどうかを判断し得る。同様に、動作点中にプレフィックスＮＡＬユニットが存在するかどうかを判断するために、クライアントデバイス４０は、動作点のエレメンタリーストリームのｎｏ＿ｐｒｅｆｉｘ＿ｎａｌ＿ｕｎｉｔ＿ｐｒｅｓｅｎｔ値の最大値が１に等しいかどうかを判断し得る。
【００６５】
上記で説明した例は、ＭＶＣビットストリームの動作点ごとに含まれる動作点記述子に焦点を当てた。代替として、ソースデバイス２０は、同様のデータをシグナリングするＭＶＣ拡張記述子を与え得る。たとえば、ソースデバイス２０は、２つ以上のＭＶＣ拡張記述子をエレメンタリーストリームに対応するＭＶＣビデオサブビットストリームに関連付け得る。ソースデバイス２０は、サブビットストリームのＭＶＣ拡張記述子中で、フレームレートと、表示されるべきビューのｖｉｅｗ＿ｉｄサブセットと、復号されるべきビューの数とを指定し得る。ソースデバイス２０は、ＭＶＣ拡張記述子と対応する動作点との間のマッピングをさらにシグナリングし得る。
【００６６】
ＩＴＵ−ＴＨ．２６１、Ｈ．２６２、Ｈ．２６３、ＭＰＥＧ−１、ＭＰＥＧ−２およびＨ．２６４／ＭＰＥＧ−４  ｐａｒｔ１０などのビデオ圧縮規格は、時間冗長性を低減するために動き補償時間予測を利用する。エンコーダは、動きベクトルに従って現在のコード化ピクチャを予測するために、いくつかの前の（本明細書ではフレームとも呼ぶ）符号化ピクチャからの動き補償予測を使用する。典型的なビデオコーディングには３つの主要なピクチャタイプがある。それらは、イントラコード化ピクチャ（「Ｉピクチャ」または「Ｉフレーム」）と、予測ピクチャ（「Ｐピクチャ」または「Ｐフレーム」）と、双方向予測ピクチャ（「Ｂピクチャ」または「Ｂフレーム」）とである。Ｐピクチャは、時間順序で現在のピクチャの前の参照ピクチャのみを使用する。Ｂピクチャでは、Ｂピクチャの各ブロックは、１つまたは２つの参照ピクチャから予測され得る。これらの参照ピクチャは、時間順序で現在のピクチャの前または後に位置し得る。
【００６７】
Ｈ．２６４コーディング規格によれば、一例として、Ｂピクチャは、前にコーディングされた参照ピクチャの２つのリスト、すなわち、リスト０とリスト１とを使用する。これらの２つのリストは、それぞれ、過去および／または将来のコード化ピクチャを時間順序で含むことができる。Ｂピクチャ中のブロックは、いくつかの方法、すなわちリスト０参照ピクチャからの動き補償予測、リスト１参照ピクチャからの動き補償予測、またはリスト０参照ピクチャとリスト１参照ピクチャの両方の組合せからの動き補償予測のうちの１つで予測され得る。リスト０参照ピクチャとリスト１参照ピクチャの両方の組合せを得るために、２つの動き補償基準エリアが、それぞれリスト０参照ピクチャおよびリスト１参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用される。
【００６８】
ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「×（x）」と「×（by）」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×（x）１６ピクセルまたは１６×（by）１６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値を表す。ブロック中のピクセルは行と列に配置され得る。
【００６９】
１６×１６よりも小さいブロックサイズは１６×１６マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとのピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００７０】
より小さいビデオブロックは、より良好な解像度を与えることができ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、マクロブロックおよび様々なパーティションはサブブロックと呼ばれることがあり、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなどの複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指し得る。
【００７１】
マクロブロックという用語は、１６×１６ピクセルを備える２次元ピクセルアレイに従ってピクチャおよび／またはビデオデータを符号化するためのデータ構造を指す。各ピクセルはクロミナンス成分と輝度成分とを備える。したがって、マクロブロックは、各々が８×８ピクセルの２次元アレイを備える４つの輝度ブロックと、各々が１６×１６ピクセルの２次元アレイを備える２つのクロミナンスブロックと、コード化ブロックパターン（ＣＢＰ）、符号化モード（たとえば、イントラ（Ｉ）またはインター（ＰまたはＢ）符号化モード）、イントラ符号化ブロックのパーティションのパーティションサイズ（たとえば、１６×１６、１６×８、８×１６、８×８、８×４、４×８、または４×４）、あるいはインター符号化マクロブロックのための１つまたは複数の動きベクトルなど、シンタックス情報を備えるヘッダとを定義し得る。
【００７２】
ビデオエンコーダ２８、ビデオデコーダ４８、オーディオエンコーダ２６、オーディオデコーダ４６、マルチプレクサ３０、およびデマルチプレクサ３８は、それぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適なエンコーダまたはデコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２８およびビデオデコーダ４８の各々は１つまたは複数のエンコーダまたはデコーダ中に含められ得、そのいずれかは複合ビデオエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。同様に、オーディオエンコーダ２６およびオーディオデコーダ４６の各々は１つまたは複数のエンコーダまたはデコーダ中に含められ得、そのいずれかは複合ビデオエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。ビデオエンコーダ２８、ビデオデコーダ４８、オーディオエンコーダ２６、オーディオデコーダ４６、マルチプレクサ３０、および／またはデマルチプレクサ３８を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００７３】
本開示の技法は、動作点の特性のシグナリングを行わない、ＭＶＣサブビットストリームのための従来の技法に勝るいくつかの利点を提供し得る。各サブビットストリームは、対応するビットストリームの１つまたは複数のビューを含み得る。場合によっては、動作点は異なるビットストリームのビューに対応し得る。本開示の技法は、対応する動作点のビューを識別する動作点記述子を与える。
【００７４】
マルチプレクサ３０が、受信したデータからＮＡＬユニットおよび／またはアクセスユニットをアセンブルした後、マルチプレクサ３０はユニットを出力のために出力インターフェース３２に渡す。出力インターフェース３２は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブ（たとえば、フロッピー（登録商標）ドライブ）など、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス（ＵＳＢ）ポート、ネットワークインターフェース、または他の出力インターフェースを備え得る。出力インターフェース３２は、ＮＡＬユニットまたはアクセスユニットを、たとえば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体３４に出力する。
【００７５】
最終的に、入力インターフェース３６はコンピュータ可読媒体３４からデータを取り出す。入力インターフェース３６は、たとえば、オプティカルドライブ、磁気媒体ドライブ、ＵＳＢポート、受信機、トランシーバ、または他のコンピュータ可読媒体インターフェースを備え得る。入力インターフェース３６は、ＮＡＬユニットまたはアクセスユニットをデマルチプレクサ３８に与え得る。デマルチプレクサ３８は、トランスポートストリームまたはプログラムストリームを構成ＰＥＳストリームに多重分離し、符号化データを取り出すためにＰＥＳストリームをパケット化解除し、たとえば、ストリームのＰＥＳパケットヘッダによって示されるように、符号化データがオーディオまたはビデオストリームの一部であるかどうかに応じて、符号化データをオーディオデコーダ４６またはビデオデコーダ４８に送り得る。オーディオデコーダ４６は、符号化オーディオデータを復号し、復号されたオーディオデータをオーディオ出力４２に送り、ビデオデコーダ４８は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号されたビデオデータをビデオ出力４４に送る。ビデオ出力４４は、シーンの複数のビュー、たとえばシーンの各ビューを同時に提示する立体視または自動立体視ディスプレイを使用するディスプレイを備え得る。
【００７６】
特に、デマルチプレクサ３８は、受信したビットストリームの動作点を選択し得る。たとえば、デマルチプレクサ３８は、Ａ／Ｖ宛先デバイス４０によって使用されるべき適切な動作点を選択するために、ビットストリームの動作点の特性を比較し得る。概して、デマルチプレクサ３８は、ビデオデコーダ４８によって復号され得る、ユーザにとって最高品質の閲覧エクスペリエンスを与える動作点の１つを選択しようと試み得る。たとえば、デマルチプレクサ３８は、ビデオデコーダ４８のレンダリング能力および復号能力を、ビットストリームの動作点記述子によってシグナリングされた、示唆されたレンダリング能力および復号能力と比較し得る。デマルチプレクサ３８が判断する動作点はビデオデコーダ４８によって適切に復号され得、デマルチプレクサ３８は最高品質ビデオデータ（たとえば、最高フレームレートおよび／またはビットレート）を与える動作点を選択し得る。他の例では、デマルチプレクサ３８は、たとえば、電力消費量など、他の考慮事項に基づいて、サポートされる動作点の１つを選択し得る。
【００７７】
図２は、マルチプレクサ３０（図１）の構成要素の例示的な構成を示すブロック図である。図２の例では、マルチプレクサ３０は、ストリーム管理ユニット６０と、ビデオ入力インターフェース８０と、オーディオ入力インターフェース８２と、多重化ストリーム出力インターフェース８４と、プログラム固有情報テーブル８８とを含む。ストリーム管理ユニット６０は、ＮＡＬユニットコンストラクタ６２と、ＰＭＴコンストラクタ６４と、ストリーム識別子（ストリームＩＤ）ルックアップユニット６６と、プログラム識別子（ＰＩＤ）割当てユニット６８とを含む。
【００７８】
図２の例では、ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、符号化ビデオデータおよび符号化オーディオデータからＰＥＳユニットを形成するためにそれぞれのパケッタイザを含む。他の例では、ビデオおよび／またはオーディオパケッタイザは、マルチプレクサ３０の外部にあるユニットまたはモジュール中に含まれ得る。図２の例に関して、ビデオ入力インターフェース８０は、ビデオエンコーダ２８から受信された符号化ビデオデータからＰＥＳパケットを形成し得、オーディオ入力インターフェース８２は、オーディオエンコーダ２６から受信された符号化オーディオデータからＰＥＳパケットを形成し得る。
【００７９】
ストリーム管理ユニット６０は、ビデオ入力インターフェース８０とオーディオ入力インターフェース８２とからＰＥＳパケットを受信する。各ＰＥＳパケットは、ＰＥＳパケットが属するエレメンタリーストリームを識別するストリームＩＤを含む。ストリームＩＤルックアップユニット６６は、プログラム固有情報テーブル８８に問い合わせることによって、ＰＥＳパケットが対応するプログラムを判断し得る。すなわち、ストリームＩＤルックアップユニット６６は、受信したＰＥＳパケットがどのプログラムに対応するかを判断し得る。各プログラムは複数のエレメンタリーストリームを備え得、概して、１つのエレメンタリーストリームはただ１つのプログラムに対応する。ただし、いくつかの例では、エレメンタリーストリームは複数のプログラム中に含まれ得る。様々なサービスはそれぞれ利用可能なオーディオおよびビデオストリームの様々なサブセットを含み得るので、各ＰＥＳパケットはマルチプレクサ３０から出力された複数のストリーム中に含まれ得る。したがって、ストリームＩＤルックアップユニット６６は、１つまたは複数の出力ストリーム（たとえば、１つまたは複数のトランスポートまたはプログラムストリーム）中にＰＥＳパケットが含まれるべきかどうかと、特に出力ストリームのうちのいずれにＰＥＳパケットを含めるべきかとを判断し得る。
【００８０】
一例では、各エレメンタリーストリームはプログラムに対応する。マルチプレクサ３０は、各エレメンタリーストリームが特定のプログラムに関連し、それに応じてプログラムＩＤ（ＰＩＤ）に関連することを保証することを担当し得る。マルチプレクサ３０によって認識されないストリームＩＤ（たとえば、プログラム固有情報テーブル８８中に記憶されていないストリームＩＤ）を含むＰＥＳパケットが受信されると、ＰＩＤ割当てユニット６８は、プログラム固有情報テーブル８８中に１つまたは複数の新しいエントリを作成し、新しいストリームＩＤを未使用のＰＩＤに関連付ける。
【００８１】
ＰＥＳパケットが対応するプログラムを判断した後に、ＮＡＬユニットコンストラクタ６２は、たとえば、ＰＥＳパケットのストリームＩＤが対応するプログラムのＰＩＤを含むＮＡＬユニットヘッダをもつＰＥＳパケットをカプセル化することによって、ＰＥＳパケットを備えるＮＡＬユニットを形成する。いくつかの例では、ＮＡＬユニットコンストラクタ６２またはストリーム管理ユニット６０の別のサブユニットは、複数のＮＡＬユニットを備えるアクセスユニットを形成し得る。
【００８２】
ＰＭＴコンストラクタ６４は、プログラム固有情報テーブル８８からの情報を使用して、マルチプレクサ３０の対応する出力ストリームについてのプログラムマップテーブル（ＰＭＴ）を作成する。別の例では、ストリーム管理ユニット６０は、マルチプレクサ３０によって出力されるプログラムストリームについてのプログラムストリームマップを作成するためのＰＳＭコンストラクタを備え得る。いくつかの例では、マルチプレクサ３０は、ＰＭＴコンストラクタ６４とＰＳＭコンストラクタの両方を備え、トランスポートストリームとプログラムストリームのいずれかまたは両方を出力し得る。図２の例では、ＰＭＴコンストラクタ６４は、本開示で説明する新しい記述子、たとえば、動作点記述子、ならびに他の必要な記述子およびＰＭＴのためのＰＭＴデータを含むＰＭＴを構築し得る。ＰＭＴコンストラクタ６４は、周期的に、たとえば、ある時間期間後に、またはある量のデータが送信された後に、トランスポートストリームについての後続のＰＭＴを送り得る。ＰＭＴコンストラクタ６４は、たとえば、対応するＰＩＤを含む対応するＮＡＬユニットヘッダをもつＰＭＴをカプセル化することによって、ＰＭＴを備えるＮＡＬユニットを形成するために、作成されたＰＭＴをＮＡＬユニットコンストラクタ６２に渡し得る。
【００８３】
ＰＭＴコンストラクタ６４は、プログラムの各動作点についての、動作点記述子などのデータ構造を作成し得る。ＰＭＴコンストラクタ６４によって作成されたデータ構造は、動作点を使用するために受信装置によって満たされるべきレンダリング能力を記述するレンダリング能力値と、動作点を使用するために受信装置によって満たされるべき復号能力を記述する復号能力値と、動作点のビットレートを記述するビットレート値とをシグナリングし得る。
【００８４】
たとえば、ＰＭＴコンストラクタ６４は、プログラム固有情報テーブル８８によって記憶された情報、またはビデオ入力インターフェース８０を介してビデオエンコーダ２８から受信された情報に基づいて、動作点のために表示されるべきビューの数と動作点のビューのフレームレートとを判断し得る。ＰＭＴコンストラクタ６４は、データ構造のレンダリング能力値を使用して、動作点のビューの数とビューのフレームレートのいずれかまたは両方をシグナリングし得る。
【００８５】
ＰＭＴコンストラクタ６４はまた、動作点のために復号されるべきビューの数と、動作点のビューが対応するプロファイルのレベル値とを判断し得る。たとえば、ＰＭＴコンストラクタ６４は、処理される必要があるマクロブロックの数、復号されたピクチャバッファサイズ、コード化ピクチャバッファサイズ、垂直動きベクトル範囲、２つの連続するマクロブロックごとの動きベクトルの最大数、および／またはＢブロックが８×８ピクセル未満のサブマクロブロックパーティションを有することができるかどうかを判断し、動作点のレベルを判断するためにこれらの判断を使用し得る。ＰＭＴコンストラクタ６４は、ビデオエンコーダ２８からビデオ入力インターフェース８０を介してこの情報を受信し得る。次いで、ＰＭＴコンストラクタ６４は、動作点の復号能力値を使用して、復号されるべきビューの数および／またはプロファイルのレベル値を表し得る。
【００８６】
ＰＭＴコンストラクタ６４は、動作点のビットレート値をさらに判断し、データ構造中のビットレート値を符号化し得る。ビットレート値は、動作点の平均ビットレートまたは最大ビットレートに対応し得る。ＰＭＴコンストラクタ６４は、動作点のビットレートを計算するか、またはビデオエンコーダ２８からビットレートの指示を受信し得る。
【００８７】
多重化ストリーム出力インターフェース８４は、ストリーム管理ユニット６０から１つまたは複数のＮＡＬユニットおよび／またはアクセスユニット、たとえば、ＰＥＳパケット（たとえば、オーディオまたはビデオデータ）を備えるＮＡＬユニットおよび／またはＰＭＴを備えるＮＡＬユニットを受信し得る。いくつかの例では、多重化ストリーム出力インターフェース８４は、ストリーム管理ユニット６０からＮＡＬユニットが受信された後、共通の時間ロケーションに対応する１つまたは複数のＮＡＬユニットからアクセスユニットを形成し得る。多重化ストリーム出力インターフェース８４は、ＮＡＬユニットまたはアクセスユニットを、対応するトランスポートストリームまたはプログラムストリーム中の出力として送信する。多重化ストリーム出力インターフェース８４はまた、ＰＭＴコンストラクタ６４からデータ構造を受信し、データ構造をビットストリームの一部として含み得る。
【００８８】
図３は、プログラム固有情報テーブル８８の例示的なセットを示すブロック図である。トランスポートパケットが属するエレメンタリーストリームは、トランスポートパケットのＰＩＤ値に基づいて判断され得る。デコーダが受信データを適切に復号するために、デコーダは、各プログラムにどのエレメンタリーストリームが属するかを判断することが可能である必要がある。プログラム固有情報テーブル８８中に含まれるプログラム固有情報は、プログラムと構成要素エレメンタリーストリームとの間の関係を明示的に指定し得る。図３の例では、プログラム固有情報テーブル８８は、ネットワーク情報テーブル１００と、限定アクセステーブル１０２と、プログラムアクセステーブル１０４と、プログラムマップテーブル１０６とを含む。図３の例では、出力ストリームがＭＰＥＧ−２トランスポートストリームを備えると仮定される。代替例では、出力ストリームはプログラムストリームを備え得、その場合、プログラムマップテーブル１０６の代わりにプログラムストリームマップが使用され得る。
【００８９】
ＭＰＥＧ−２システム仕様は、トランスポートストリーム中で搬送されるあらゆるプログラムが、それに関連するプログラムマップテーブル１０６など、プログラムマップテーブルを有することを指定する。プログラムマップテーブル１０６は、プログラムと、プログラムが含むエレメンタリーストリームとに関する詳細を含み得る。一例として、プログラム番号３として識別されるプログラムは、ＰＩＤ３３をもつビデオエレメンタリーストリームと、ＰＩＤ５７をもつ英語のオーディオストリームと、ＰＩＤ６０をもつ中国語のオーディオストリームとを含み得る。ＰＭＴが２つ以上のプログラムを含むことが許可される。
【００９０】
ＭＰＥＧ−２システム仕様によって指定された基本プログラムマップテーブルは、多くの記述子のうちのいくつか、たとえばＭＰＥＧ−２システム仕様内で指定された記述子１０８で装飾され得る。記述子１０８は、ＭＰＥＧ−２システム仕様の指定された記述子のいずれかまたはすべてを含み得る。概して、記述子１０８などの記述子は、プログラム、あるいはその構成要素エレメンタリーストリームまたはサブビットストリームに関するさらなる情報を搬送する。記述子は、ビデオ符号化パラメータ、オーディオ符号化パラメータ、言語識別、パンおよび走査情報、限定アクセス詳細、著作権情報、または他のそのような情報を含み得る。放送事業者または他のユーザは、追加のプライベート記述子を定義し得る。
【００９１】
本開示は、ＭＰＥＧ−２システム準拠ビットストリーム中に動作点の特性を記述するために動作点記述子を与える。記述子１０８は、対応するビットストリームの各動作点についての動作点記述子を含み得る。図３に示すように、記述子１０８は、ＭＶＣ拡張記述子１１０と、階層記述子１１２と、動作点記述子１１４とを含む。動作点記述子１１４の各々は、ビットストリームの特定の動作点に対応し、動作点に関して、動作点を使用するために受信装置によって満たされるべきレンダリング能力を記述するレンダリング能力値と、動作点を使用するために受信装置によって満たされるべき復号能力を記述する復号能力値と、動作点のビットレートを記述するビットレート値とをシグナリングし得る。ビデオに関する構成要素エレメンタリーストリーム中には、階層的コード化ビデオ、オーディオ、およびプライベートストリームの構成要素を含んでいるプログラム要素を識別する情報を与える階層記述子もある。
【００９２】
以下の表１は、ＭＶＣ拡張記述子１１０中に含まれるデータの一例を与える。表１に示すフィールドの様々なフィールドおよびビット深度は一例にすぎない。一例では、各ＭＶＣビデオサブビットストリームは、対応するＭＶＣビデオサブビットストリームの特性を指定するＭＶＣ拡張記述子１１０のうちの対応する１つに関連する。ＭＶＣビデオサブビットストリームは、他のＭＶＣビデオサブビットストリームをアセンブルする必要があり得る。すなわち、特定のサブビットストリームを復号し、提示するために、クライアントデバイスは、２つのサブビットストリームを含む共通のビットストリームの他のサブビットストリームからビデオデータを抽出し、復号する必要があり得る。
【表１】
0005602854.tif 000002
【００９３】
表１の例では、記述子タグフィールドは、特に記述子を識別するために、ＭＰＥＧ−２システム規格によって記載されるあらゆる記述子中に含まれる８ビット記述子タグフィールドに対応し得る。ＭＰＥＧ−２システム規格は、特定の記述子タグを定義し、他の記述子タグ値、たとえば、値３６〜６３を「予約済み」とマークする。ただし、ＭＰＥＧ−２システム規格への追補４は、ＭＰＥＧ−２システム仕様中で指定されている予約済み記述子タグの１つに対応するＭＶＣ拡張記述子を「４９」に設定することを提案している。したがって、本開示はＭＶＣ拡張記述子１１０のｄｅｓｃｒｉｐｔｏｒ＿ｔａｇの値を、「４９」の値に設定することを提案する。
【００９４】
同じく、記述子長さフィールドはまた、ＭＰＥＧ−２システム規格によって記載されるあらゆる記述子中に含まれる８ビット記述子長さフィールドに対応し得る。マルチプレクサ３０は、記述子長さフィールドの値を、記述子長さフィールドの直後のＭＶＣ拡張記述子１１０のうちの対応するＭＶＣ拡張記述子１１０のバイトの数に等しく設定し得る。ＭＶＣ拡張記述子の長さは変化しないので、マルチプレクサ３０は、記述子長さフィールドに続く８バイトの情報の存在を表すために、ＭＶＣ拡張記述子１１０の各々の記述子長さフィールドの値を８の値に設定し得る。
【００９５】
平均ビットレートフィールドは、再アセンブルされたＡＶＣビデオストリームの平均ビットレートをキロビット／秒で示す１６ビットフィールドを備え得る。すなわち、平均ビットレートフィールドは、ビデオストリームが、ＭＶＣ拡張記述子１１０のうちの１つが対応するトランスポートストリームまたはプログラムストリームの構成部分からアセンブルされたとき、そのビデオストリームの平均ビットレートを記述する。いくつかの例では、マルチプレクサ３０は、平均ビットレートがＭＶＣ拡張記述子１１０のうちの１つによって示されないことを示すために、平均ビットレートフィールドの値を０に設定し得る。
【００９６】
最大ビットレートフィールドは、再アセンブルされたＡＶＣビデオストリームの最大ビットレートをキロビット／秒で示す１６ビットフィールドを備え得る。すなわち、最大ビットレートフィールドは、ビデオストリームが、ＭＶＣ拡張記述子１１０のうちの１つが対応するトランスポートストリームまたはプログラムストリームの構成部分からアセンブルされたとき、そのビデオストリームのための最大ビットレートを記述する。いくつかの例では、マルチプレクサ３０は、最大ビットレートがＭＶＣ拡張記述子１１０のうちの１つによって示されないことを示すために、最大ビットレートフィールドの値を０に設定し得る。
【００９７】
ビュー順序インデックス最小値フィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのビュー順序インデックスの最小値を示す１０ビットフィールドを備え得る。同様に、ビュー順序インデックス最大値フィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのビュー順序インデックスの最大値を示す１０ビットフィールドである。
【００９８】
時間ＩＤ開始フィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素のｔｅｍｐｏｒａｌ＿ｉｄの最小値を示す３ビットフィールドを備え得る。すなわち、時間ＩＤ値は、ＮＡＬユニットごとのヘッダ中に含まれる。概して、時間ＩＤ値は特定のフレームレートに対応し、比較的より大きい時間ＩＤ値が、より高いフレームレートに対応する。たとえば、時間ＩＤの値「０」は、フレームレート１５フレーム毎秒（ｆｐｓ）に対応し得、時間ＩＤの値「１」は、フレームレート３０ｆｐｓに対応し得る。このようにして、この例では、時間ＩＤ０を有するすべてのピクチャをセット中に収集することは、フレームレート１５ｆｐｓを有するビデオセグメントを形成するために使用され得るが、時間ＩＤ０を有するすべてのピクチャと時間ＩＤ１を有するすべてのピクチャとを異なるセット中に収集することは、フレームレート３０ｆｐｓを有する異なるビデオセグメントを形成するために使用され得る。マルチプレクサ３０は、ＭＶＣビデオサブビットストリームのＮＡＬユニットのすべてのうちの最小時間ＩＤを判断し、時間ＩＤ開始フィールドの値をこの判断された最小時間ＩＤ値に等しく設定する。
【００９９】
時間ＩＤ終了フィールドは、関連するＭＶＣビデオサブビットストリーム中に含まれているすべてのＮＡＬユニットのＮＡＬユニットヘッダシンタックス要素の時間ＩＤの最大値を示す３ビットフィールドを備え得る。したがって、マルチプレクサ３０は、ＭＶＣビデオサブビットストリームのＮＡＬユニットのすべてのうちの最大時間ＩＤを判断し、時間ＩＤ開始フィールドの値をこの判断された最大時間ＩＤ値に等しく設定する。
【０１００】
ＳＥＩ  ＮＡＬユニット不在（no SEI NAL unit present）フィールドは、「１」に設定されたとき、補足拡張情報ＮＡＬユニットが、関連するＭＶＣビデオサブビットストリーム中に存在しないことを示す１ビットフラグを備え得る。マルチプレクサ３０は、１つまたは複数の補足拡張情報ＮＡＬユニットがビットストリーム中に入れられたかどうかを判断し、ＳＥＩ  ＮＡＬユニットがビットストリーム中にないときはＳＥＩ  ＮＡＬユニット不在フィールドの値を値「１」に設定し得るが、少なくとも１つのＳＥＩ  ＮＡＬユニットがビットストリーム中に存在するときはＳＥＩ  ＮＡＬユニット不在フィールドの値を値「０」に設定し得る。
【０１０１】
以下の表２は、階層記述子１１２中に含まれるデータの一例を与える。ＭＰＥＧ−２システムでは、階層記述子は、埋込みビデオプログラムストリームを含んでいるビデオのプログラムストリームのために定義され得る。表２に示す様々なフィールドおよびフィールドのビット深度は、一例として与えられる。ｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘ値は現在のプログラムストリームのレイヤインデックスを識別し、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘ値は依存レイヤを識別する。ＭＶＣ設計では、プログラムストリームは、階層記述子を使用する別のプログラムストリームに依存し得る。すなわち、プログラムストリーム間の依存性は、階層記述子中に含まれるデータに基づいて判断され得る。
【表２】
0005602854.tif 000003
【０１０２】
上記のように、ＭＰＥＧ−２システム仕様は、各記述子が記述子タグフィールドと記述子長さフィールドとを含むことを規定する。したがって、階層記述子１１２は、記述子タグフィールドと記述子長さフィールドとを含む。ＭＰＥＧ−２システム仕様によれば、マルチプレクサ３０は、記述子タグフィールドの値を階層記述子１１２の値「４」に設定し得る。
【０１０３】
階層記述子１１２の各インスタンスが同じデータ量を含むべきであるので、階層記述子１１２の長さは、アプリオリに判断され得る。一例では、マルチプレクサ３０は、記述子長さフィールドの値を、記述子長さフィールドの末尾に続く階層記述子１１２のインスタンスにおける４バイトを示す値４に設定し得る。
【０１０４】
階層タイプフィールドは、関連する階層レイヤとそれの階層埋込みレイヤとの間の階層関係を記述する。一例では、マルチプレクサ３０は、たとえば、以下の表３によって記述される階層関係に基づいて、階層タイプフィールドの値を設定する。一例として、２つ以上の次元においてスケーラビリティが適用するとき、マルチプレクサ３０は階層タイプフィールドを値「８」（表３に示す「合成スケーラビリティ」）に設定し得、マルチプレクサ３０は、時間スケーラビリティフラグフィールドと、空間スケーラビリティフラグフィールドと、品質スケーラビリティフラグフィールドとの値を、それぞれのストリームのＰＥＳパケットから取り出されたデータとＰＥＳパケットヘッダとに従って設定する。概して、マルチプレクサ３０は、様々なビューおよび／またはオーディオデータストリームに対応する異なるストリーム間の依存性を判断し得る。マルチプレクサ３０は、エンハンスメントレイヤを備える依存ストリームが、空間レイヤであるのか、信号対雑音（ＳＮＲ）エンハンスメントレイヤであるのか、品質エンハンスメントレイヤであるのか、または別のタイプのエンハンスメントレイヤであるのかを判断し得る。
【０１０５】
別の例として、ＭＶＣビデオサブビットストリームの場合、マルチプレクサ３０は、階層タイプフィールドを値「９」（表３に示す「ＭＶＣ」）に設定し得、スケーラビリティフラグフィールドと、空間スケーラビリティフラグフィールドと、品質スケーラビリティフラグフィールドとの各々の値を「１」に設定し得る。さらに別の例として、ＭＶＣベースビューサブビットストリームの場合、マルチプレクサ３０は、階層タイプフィールドの値を値「１５」に設定し得、スケーラビリティフラグフィールドと、空間スケーラビリティフラグフィールドと、品質スケーラビリティフラグフィールドとの値を「１」に設定し得る。さらに別の例として、プレフィックスＭＶＣサブビットストリームの場合、マルチプレクサ３０は、階層タイプフィールドを値「１４」に設定し得、スケーラビリティフラグフィールドと、空間スケーラビリティフラグフィールドと、品質スケーラビリティフラグフィールドとを「１」に設定し得る。
【０１０６】
階層レイヤインデックスフィールドは、コーディングレイヤ階層のテーブルにおいて関連するプログラム要素の一意のインデックスを定義する６ビットフィールドを備え得る。インデックスは、シングルプログラム定義内で一意であり得る。ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の付属書類Ｇにおいて規定されている１つまたは複数のプロファイルに準拠しているＡＶＣビデオストリームのビデオサブビットストリームの場合、これは、同じアクセスユニットのビデオサブビットストリームの関連するＳＶＣ依存性表現がｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘの昇順で再アセンブルされた場合にビットストリーム順序が正しくなるように割り当てられるプログラム要素インデックスである。ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ１４４９６−１０の付属書類Ｈにおいて規定されている１つまたは複数のプロファイルに準拠しているＡＶＣビデオストリームのＭＶＣビデオサブビットストリームの場合、これは、これらの値のいずれかが、プレフィックスＭＶＣサブビットストリームのための階層記述子において指定されるｈｉｅｒａｒｃｈｙ＿ｌａｙｅｒ＿ｉｎｄｅｘ値よりも大きくなるように割り当てられるプログラム要素インデックスである。
【０１０７】
階層埋込みレイヤインデックスフィールドは、階層記述子１１２の対応するインスタンスに関連するエレメンタリーストリームを復号する前にアクセスされる必要があるプログラム要素の階層テーブルインデックスを定義する６ビットフィールドを備え得る。本開示では、階層タイプフィールドが値１５（すなわち、ベースレイヤに対応する値）を有するときのために、階層埋込みレイヤインデックスフィールドの値を未定義のままにしておく。
【０１０８】
階層チャネルフィールドは、送信チャネルの順序セットにおいて関連するプログラム要素のための意図されたチャネル番号を示す６ビットフィールドを備え得る。最もロバストな送信チャネルは、全体的な送信階層定義に関して、階層チャネルフィールドの最低値によって定義される。所与の階層チャネルがいくつかのプログラム要素に同時に割り当てられ得ることに留意されたい。
【０１０９】
表１および表２の予約済みフィールドは、将来の規格開発による将来の使用のために予約される。本開示の技法は、この時点で、予約済みフィールドの値に意味論的な意味を割り当てることを提案しない。
【０１１０】
以下の表３に、上記の階層タイプフィールドの潜在的な値を示す。
【表３】
0005602854.tif 000004
【０１１１】
いくつかの例では、階層記述子１１２は、増分サブビットストリームと埋込みサブビットストリームとによってシグナリングされるＭＶＣサブビットストリームをシグナリングするために使用され得る。埋込みサブビットストリームは、ｈｉｅｒａｒｃｈｙ＿ｅｍｂｅｄｄｅｄ＿ｌａｙｅｒ＿ｉｎｄｅｘに対応する直接依存サブビットストリームと、この直接依存サブビットストリームのすべての埋込みサブビットストリームとを含む。本開示では、明示的に含まれているビューは拡張ビューと呼ばれ、埋め込まれているビューは依存ビューと呼ばれる。
【０１１２】
マルチプレクサ３０の出力がプログラムストリームを備える例では、プログラム固有情報テーブル８８がプログラムストリームマップ（ＰＳＭ）を含み得る。ＰＳＭは、対応するプログラムストリーム中のエレメンタリーストリーム、およびエレメンタリーストリームの互いとの関係の説明を与え得る。いくつかの例では、プログラムストリームマップは、トランスポートストリームにも対応し得る。対応するトランスポートストリームにおいて搬送されるときに、ＰＳＭ構造は変更されるべきでない。マルチプレクサ３０は、ＰＥＳパケットのｓｔｒｅａｍ＿ｉｄ値を０ｘＢＣ、すなわち、２進値１０１１１１００または１０進値１８８に相当する１６進値ＢＣに設定することによって、ＰＳＭがＰＥＳパケット中に存在することを示し得る。
【０１１３】
マルチプレクサ３０は、プログラム関連付けテーブル１０４においてトランスポートストリーム中で利用可能なすべてのプログラムの完全なリストを維持する。マルチプレクサ３０はまた、ＮＡＬユニット中にプログラム関連付けテーブルを埋め込み得る。マルチプレクサ３０は、ＮＡＬユニットが、そのＮＡＬユニットにＰＩＤ値０を割り当てることによってプログラム関連付けテーブルを含むことを示し得る。マルチプレクサ３０は、プログラム関連付けテーブル１０４において、対応するプログラムマップテーブルを含んでいるトランスポートパケットのＰＩＤ値とともに、各プログラムを記載し得る。上述の同じ例を使用して、プログラム番号３のエレメンタリーストリームを指定する例示的なプログラムマップテーブルはＰＩＤ１００１を有し、別のＰＭＴは別のＰＩＤ１００２を有する。情報のこのセットまたは同様のセットは、プログラム関連付けテーブル１０４中に含まれ得る。
【０１１４】
また、プログラム固有情報テーブル８８は、ネットワーク情報テーブル（ＮＩＴ）１００と限定アクセステーブル（ＣＡＴ）１０２とを含む。プログラム番号０は、ＰＡＴにおいて指定されているように、特殊な意味を有する。特に、プログラム番号０は、ネットワーク情報テーブル１００への方向を示すために使用され得る。テーブルは随意であり、存在するときに、テーブルは、チャネル周波数、衛星トランスポンダ詳細、変調特性、サービス発信者、サービス名称、および利用可能な代替ネットワークの詳細など、トランスポートストリームを搬送する物理ネットワークに関する情報を与え得る。
【０１１５】
トランスポートストリーム内のエレメンタリーストリームがスクランブルされた場合、限定アクセステーブル１０２が存在しなければならない。限定アクセステーブル１０２は、使用中の（１つまたは複数の）スクランブリングシステムの詳細を与え、限定アクセス管理および資格情報を含んでいるトランスポートパケットのＰＩＤ値を与える。この情報のフォーマットは、ＭＰＥＧ−２システム規格内で規定されていない。
【０１１６】
図４は、動作点記述子１１４（図３）のうちの１つにおいて含まれ得るデータの例示的なセットを示すブロック図である。図４の例では、動作点記述子１１８は、記述子タグフィールド１２０と、記述子長さフィールド１２２と、フレームレートフィールド１２４と、表示ビュー数フィールド１２６と、復号ビュー数フィールド１２８と、ビュー識別子フィールド１３０と、平均ビットレートフィールド１３２と、最大ビットレートフィールド１３４と、時間識別子フィールド１３６と、予約済みトレーリングビット（trailing bit）フィールド１３８とを含む。
【０１１７】
図４の例では、フレームレートフィールド１２４および表示ビュー数フィールド１２６は、例示的なレンダリング能力値に対応し、復号ビュー数フィールド１２８は、例示的な復号能力値に対応し、平均ビットレートフィールド１３２および最大ビットレートフィールド１３４は、例示的なビットレート値に対応する。動作点記述子１１８は、レンダリング能力、復号能力、およびビットレートなど、動作点の特性をシグナリングするために使用され得るデータ構造の一例にすぎない。以下の図５および図６は、これらの特性をシグナリングする動作点記述子の代替例を与える。
【０１１８】
上記で説明したように、ＭＰＥＧ−２システム仕様は、各記述子が、各々が８ビットの記述子タグフィールドと記述子長さフィールドとを有することを規定する。したがって、マルチプレクサ３０（図１）は、記述子タグフィールド１２０に、ＭＶＣ動作点記述子を示す値を割り当て得る。マルチプレクサ３０はまた、動作点のためのビューの数と動作点記述子のための予約済みビットの数とを判断し、次いで、記述子長さフィールド１２２に続く動作点記述子１１８の長さをバイトで計算し得る。マルチプレクサ３０は、動作点記述子１１８をインスタンス化するときに、記述子長さフィールド１２２にこの計算された長さ値を割り当て得る。
【０１１９】
フレームレートフィールド１２４は、再アセンブルされたＡＶＣビデオストリームの最大フレームレートをフレーム／２５６秒で示す１６ビットフィールドを備え得る。すなわち、マルチプレクサ３０は、フレームレートフィールド１２４の値を設定するために、２５６秒時間期間の最大フレームレートを計算し得る。いくつかの例では、２５６による除算は、整数値への浮動小数点値の変換を生じることがある。他の例では、２５６秒以外の時間期間が使用され得る。フレームレートフィールド１２４に関して説明した２５６秒時間期間は、動作点の最大フレームレートが計算され得る１つの潜在的な例にすぎない。
【０１２０】
表示ビュー数フィールド１２６は、再アセンブルされたＡＶＣビデオストリームの出力の対象となるビューの数の値を示す１０ビットフィールドを備え得る。概して、表示ビュー数フィールド１２６は、対応する動作点のために表示されるべきビューの数を表す。異なるディスプレイが異なるビューの数を表示することが可能であり得るので、クライアントデバイスは、クライアントデバイスのディスプレイ上でできるだけ多くの表示されるべきビューを有する動作点を選択するために、表示ビュー数フィールド１２６の値を使用し得る。たとえば、クライアントデバイスが４つのビューを表示することが可能である場合、クライアントデバイスは、対応する動作点のために４つのビューが表示されることを示す値を有する表示ビュー数フィールドをもつ動作点を選択し得る。したがって、表示ビュー数フィールド１２６は、レンダリング能力値の一部として含まれ得る。同様に、マルチプレクサ３０は、動作点のために表示されるべきビューの数に従って、表示ビュー数フィールド１２６の値を設定し得る。
【０１２１】
復号ビュー数フィールド１２８は、再アセンブルされたＡＶＣビデオストリームを復号するために必要なビューの数の値を示す１０ビットフィールドを備え得る。この値は、表示ビュー数フィールド１２６によって示される、表示されるべきビューの数とは異なることがある。これは、ビュー依存性により復号するために必要とされているが、実際には表示されないいくつかのビューから生じ得る。
【０１２２】
図７を手短に参照すると、一例として、ビューＳ０およびＳ１は、動作点のために表示されるべきであるビューであり得る。ビューＳ０は、他のビューを復号することなしに直接復号され得る。しかしながら、ビューＳ１がビューＳ２を参照する予測データを含むので、ビューＳ１を復号するために、ビューＳ２も復号されなければならない。したがって、この例では、表示ビュー数フィールド１２６は値２を有することになるが、復号ビュー数フィールド１２８は値３を有することになる。いくつかの例では、表示されるべきビューの数が復号されるべきビューの数よりも大きくなり得るように、表示されるべきビューが１つまたは複数の他のビューから補間され得る。すなわち、ベースビューおよび深さ情報を使用して、ビデオデコーダ４８（図１）は第２のビューを補間し得る。ビデオデコーダ４８は、新しいビューを補間するための深さ情報を計算するために２つ以上のビューを使用し得るか、またはビデオデコーダ４８は、ソースデバイス２０からビューのための深さ情報を受信し得る。
【０１２３】
（宛先デバイス４０のビデオデコーダ４８などの）クライアントデバイスのデコーダが、復号ビュー数フィールド１２８の値に等しい数のビューを復号することが可能であるべきであるという点で、復号ビュー数フィールド１２８は復号能力値に対応し得る。したがって、クライアントデバイスは、クライアントデバイスのビデオデコーダが復号することが可能であるビューの数を表す復号ビュー数フィールドを有する動作点を選択し得る。
【０１２４】
また、図４の動作点記述子１１８は、ビュー識別子フィールド１３０を含む。ビュー識別子フィールド１３０の各々は、再アセンブルされたＡＶＣビデオビットストリーム中に含まれているＮＡＬユニットのｖｉｅｗ＿ｉｄの値を示す１０ビットフィールドを備え得る。したがって、動作点のための各表示されたビューのビュー識別子は、ビュー識別子フィールド１３０を使用してシグナリングされる。すなわち、ビュー識別子フィールド１３０のビュー識別子は、表示されたビューに対応する。したがって、図４の例では、復号されるが、表示されないビューは、ビュー識別子フィールド１３０によってシグナリングされない。
【０１２５】
平均ビットレートフィールド１３２は、再アセンブルされたＡＶＣビデオストリームの平均ビットレートをキロビット／秒で示す１６ビットフィールドを備え得る。０に設定されたときに、平均ビットレートは示されない。すなわち、平均ビットレートフィールド１３２の値０は、平均ビットレートフィールド１３２が、再アセンブルされたＡＶＣビデオストリームの平均ビットレートを判断するために使用されるべきでないことを暗示する。
【０１２６】
最大ビットレートフィールド１３４は、再アセンブルされたＡＶＣビデオストリームの最大ビットレートをｋｂｉｔ／秒で示す１６ビットフィールドを備え得る。０に設定されたときに、最大ビットレートは示されない。すなわち、最大ビットレートフィールド１３４の値が０に設定されたとき、最大ビットレートフィールド１３４は、再アセンブルされたＡＶＣビデオストリームの最大ビットレートを判断するために使用されるべきでない。
【０１２７】
時間識別子フィールド１３６は、再アセンブルされたＡＶＣビデオストリームのフレームレートに対応するｔｅｍｐｏｒａｌ＿ｉｄの値を示す３ビットフィールドを備え得る。すなわち、ｔｅｍｐｏｒａｌ＿ｉｄは、上記で説明したように、再アセンブルされたＡＶＣビデオストリームのフレームレートを判断するために使用され得る。
【０１２８】
また、例示的な動作点記述子１１８は予約済みトレーリングビットフィールド１３８を含む。一例では、たとえば、以下の表４に示すように、予約済みトレーリングビットの数は、追加のシグナリングと、動作点記述子１１８がバイト境界上で終了するように動作点記述子１１８をパディングすることの両方のために使用され得る。たとえば、上記で説明したように、動作点記述子１１８は、各表示されたビューのビュー識別子を表すために１０ビットを使用し得る。この例では、ビュー識別子のために使用されるビットおよび予約済みトレーリングビットを除くビットの不変数は、８７である。したがって、動作点記述子１１８がバイト境界上で終了する（すなわち、８によって均等に割り切れるビットの数を有する）ことを保証するために、マルチプレクサ３０は、以下の式に従ってトレーリングビットの数を追加し得る。
【数１】
0005602854.tif 000005
【０１２９】
上式で、「％」は数学的モジュロ演算子を表す。すなわち、Ａ％Ｂは、ＡをＢによって除算した剰余が０とＢ−１との間の整数の範囲内になるような剰余を生じる。
【０１３０】
表４に、図４の動作点記述子１１８の例に含まれ得るデータの例示的なセットを要約する。
【表４】
0005602854.tif 000006
【０１３１】
図５は、動作点記述子１１４（図３）のうちの１つにおいて含まれ得るデータの代替の例示的なセットを示すブロック図である。概して、クライアントデバイスが単一のフォーマットの動作点記述子を受信するように構成され得るように、動作点記述子１１４の各々は共通のフォーマットを有するべきである。したがって、動作点記述子１１４の各々は、図４、図５、または図６の動作点記述子と同様のフォーマット、あるいは同様のシグナリングデータを含む別の共通のフォーマットを有し得る。
【０１３２】
図５の例では、動作点記述子１４０は、記述子タグフィールド１４２と、記述子長さフィールド１４４と、ｐｒｏｆｉｌｅ＿ＩＤＣフィールド１４６と、ｌｅｖｅｌ＿ＩＤＣフィールド１４８と、フレームレートフィールド１４９と、表示ビュー数フィールド１５０と、復号ビュー数フィールド１５２と、平均ビットレートフィールド１５４と、最大ビットレートフィールド１５６と、時間識別子フィールド１５８と、予約済みビットフィールド１６０と、ビュー順序インデックスフィールド１６２と、ビュー識別子フィールド１６４と、予約済みトレーリングビットフィールド１６６とを含む。ＩＤＣは「インジケータ」を表す。以下で説明するように、動作点記述子１４０の例は、動作点のためのｐｒｏｆｉｌｅ＿ｉｄｃ値およびｌｅｖｅｌ＿ｉｄｃ値、ならびに動作点がどのようにアセンブルされるかに関する情報を明示的にシグナリングする。
【０１３３】
表示ビュー数フィールド１５０およびフレームレートフィールド１４９は、動作点記述子１４０によってシグナリングされるレンダリング能力値に対応する。ｐｒｏｆｉｌｅ＿ＩＤＣフィールド１４６、ｌｅｖｅｌ＿ＩＤＣフィールド１４８、および復号ビュー数フィールド１５２は、図５の例では、動作点記述子１４０によってシグナリングされる復号能力値に対応し得るデータの例を表す。平均ビットレートフィールド１５４および最大ビットレートフィールド１５６は、動作点記述子１４０によってシグナリングされるビットレート値に対応する。
【０１３４】
上記で説明したように、ＭＰＥＧ−２システム仕様は、各記述子が、そのそれぞれが長さが８ビットであり得る記述子タグフィールドと記述子長さフィールドとを有することを規定する。したがって、マルチプレクサ３０（図１）は、記述子タグフィールド１４２に、ＭＶＣ動作点記述子を示す値を割り当て得る。マルチプレクサ３０はまた、動作点のためのビューの数と動作点記述子のための予約済みビットの数とを判断し、次いで、記述子長さフィールド１４４に続く動作点記述子１４０の長さをバイトで計算し得る。マルチプレクサ３０は、動作点記述子１４０をインスタンス化するときに、記述子長さフィールド１４４にこの計算された長さ値を割り当て得る。
【０１３５】
ｐｒｏｆｉｌｅ＿ＩＤＣフィールド１４６は、動作点記述子１４０において与えられる情報によって再アセンブルされた動作点のｐｒｏｆｉｌｅ＿ｉｄｃを示す８ビットフィールドを備え得る。ｌｅｖｅｌ＿ＩＤＣフィールド１４８は、動作点記述子１４０において与えられる情報によって再アセンブルされた動作点のｌｅｖｅｌ＿ｉｄｃを示す８ビットフィールドを備え得る。
【０１３６】
フレームレートフィールド１４９は、再アセンブルされたＡＶＣビデオストリームの最大フレームレートをフレーム／２５６秒で示す１６ビットフィールドを備え得る。すなわち、マルチプレクサ３０は、フレームレートフィールド１４９の値を設定するために、２５６秒時間期間の最大フレームレートを計算し得る。フレームレートフィールド１２４の場合と同様に、フレームレートフィールド１４９のための他の例では、２５６秒以外に他の時間期間が使用され得る。
【０１３７】
表示ビュー数フィールド１５０は、再アセンブルされたＡＶＣビデオストリームの出力の対象となるビューの数の値を示す１０ビットフィールドを備え得る。概して、表示ビュー数フィールド１５０は、対応する動作点のために表示されるべきビューの数を表す。復号ビュー数フィールド１５２は、再アセンブルされたＡＶＣビデオストリームを復号するために必要なビューの数の値を示す１０ビットフィールドを備え得る。この値は、表示ビュー数フィールド１５０によって示される、表示されるべきビューの数とは異なることがある。これは、たとえば、復号ビュー数フィールド１２８に関して上記で説明したように、ビュー依存性により復号するために必要であるが、実際には表示されないいくつかのビューから生じ得る。
【０１３８】
平均ビットレートフィールド１５４は、再アセンブルされたＡＶＣビデオストリームの平均ビットレートをキロビット／秒で示す１６ビットフィールドを備え得る。０に設定されたときに、平均ビットレートは示されない。すなわち、平均ビットレートフィールド１５４の値０は、平均ビットレートフィールド１５４が、再アセンブルされたＡＶＣビデオストリームの平均ビットレートを判断するために使用されるべきでないことを暗示する。最大ビットレートフィールド１５６は、再アセンブルされたＡＶＣビデオストリームの最大ビットレートをｋｂｉｔ／秒で示す１６ビットフィールドを備え得る。０に設定されたときに、最大ビットレートは示されない。すなわち、最大ビットレートフィールド１５６の値が０に設定されたとき、最大ビットレートフィールド１５６は、再アセンブルされたＡＶＣビデオストリームの最大ビットレートを判断するために使用されるべきでない。
【０１３９】
時間識別子フィールド１５８は、再アセンブルされたＡＶＣビデオストリームのフレームレートに対応するｔｅｍｐｏｒａｌ＿ｉｄの値を示す３ビットフィールドを備え得る。すなわち、ｔｅｍｐｏｒａｌ＿ｉｄは、上記で説明したように、再アセンブルされたＡＶＣビデオストリームのフレームレートを判断するために使用され得る。
【０１４０】
動作点記述子１４０はまた、ビュー順序インデックスフィールド１６２とビュー識別子フィールド１６４とを含む。ビュー順序インデックスフィールド１６２の各々は、動作点中に含まれているＮＡＬユニットのビュー順序インデックスの値を示す１０ビットフィールドを備え得る。クライアントデバイスは、ビュー順序インデックスフィールド１６２によって動作点記述子１４０においてシグナリングされたすべてのシグナリングされたｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値に対応する、ＮＡＬユニットを再アセンブルし得る。ビュー順序インデックスフィールド１６２は、復号されるべきビューの各々についてのビュー順序インデックスフィールドを含む。ｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値を仮定すれば、ＭＶＣ拡張記述子がそのエレメンタリーストリーム中のビュー順序インデックス値の範囲を伝え、その範囲が動作点記述子においてシグナリングされたｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値をカバーするので、クライアントデバイスは、エレメンタリーストリームから対応するＮＡＬユニットを抽出し得る。
【０１４１】
ビュー識別子フィールド１６４の各々は、再アセンブルされたＡＶＣビデオビットストリーム中に含まれているＮＡＬユニットのｖｉｅｗ＿ｉｄの値を示す１０ビットフィールドを備え得る。したがって、動作点のための各表示されたビューのビュー識別子は、ビュー識別子フィールド１６４を使用してシグナリングされる。すなわち、ビュー識別子フィールド１６４のビュー識別子は、表示されたビューに対応する。したがって、図５の例では、復号されるが、表示されないビューは、ビュー識別子フィールド１６４によってシグナリングされない。
【０１４２】
また、動作点記述子１４０は予約済みトレーリングビットフィールド１６６を含む。動作点記述子１４０は、動作点記述子１４０中のビットの数が８によって均等に割り切れるように、パディングとしてトレーリングビットを含み得る。ビュー順序インデックスフィールドおよびビュー識別子フィールドの数が変動することがあるので、マルチプレクサ３０が動作点記述子１４０中に含めるトレーリングビットの数は、それに応じて変動することがある。たとえば、トレーリングビットの数は、以下の式に従って判断され得る。
【数２】
0005602854.tif 000007
【０１４３】
上式で、「％」はモジュロ演算子を表す。
【０１４４】
表５に、図５の例示的な動作点記述子１４０中に含まれ得るデータの例示的なセットを要約する。
【表５】
0005602854.tif 000008
【０１４５】
図６は、動作点記述子１１４（図３）のうちの１つにおいて含まれ得るデータの別の代替の例示的なセットを示すブロック図である。図６の例では、動作点記述子１７０は、記述子タグフィールド１７２と、記述子長さフィールド１７４と、ｐｒｏｆｉｌｅ＿ＩＤＣフィールド１７６と、ｌｅｖｅｌ＿ＩＤＣフィールド１７８と、フレームレートフィールド１８０と、表示ビュー数フィールド１８２と、復号ビュー数フィールド１８４と、平均ビットレートフィールド１８６と、最大ビットレートフィールド１８８と、時間識別子フィールド１９０と、予約済みビットフィールド１９２と、動作点識別子フィールド１９４と、動作点依存フラグフィールド１９６と、随意の依存動作点識別子フィールド１９８と、ビュー順序インデックスフィールド２００と、ビュー識別子フィールド２０２と、予約済みトレーリングビットフィールド２０４とを含む。以下で説明するように、動作点記述子１７０は、別の動作点に依存し、復号するために必要な余分のビューをシグナリングする動作点のための例示的な動作点記述子を与える。
【０１４６】
表示ビュー数フィールド１８２およびフレームレートフィールド１８０は、動作点記述子１４０によってシグナリングされるレンダリング能力値に対応する。ｐｒｏｆｉｌｅ＿ＩＤＣフィールド１７６、ｌｅｖｅｌ＿ＩＤＣフィールド１７８、および復号ビュー数フィールド１８４は、図６の例では、動作点記述子１４０によってシグナリングされる復号能力値に対応し得るデータの例を表す。平均ビットレートフィールド１５４および最大ビットレートフィールド１５６は、動作点記述子１４０によってシグナリングされるビットレート値に対応する。
【０１４７】
上記で説明したように、ＭＰＥＧ−２システム仕様は、各記述子が、各々が８ビットの記述子タグフィールドと記述子長さフィールドとを有することを規定する。したがって、マルチプレクサ３０（図１）は、記述子タグフィールド１７２に、ＭＶＣ動作点記述子を示す値を割り当て得る。マルチプレクサ３０はまた、動作点のためのビューの数と動作点記述子のための予約済みビットの数とを判断し、次いで、記述子長さフィールド１７４に続く動作点記述子１７０の長さをバイトで計算し得る。マルチプレクサ３０は、動作点記述子１４０をインスタンス化するときに、記述子長さフィールド１７４にこの計算された長さ値を割り当て得る。
【０１４８】
ｐｒｏｆｉｌｅ＿ＩＤＣフィールド１７６は、動作点記述子１７０において与えられる情報によって再アセンブルされた動作点のｐｒｏｆｉｌｅ＿ｉｄｃを示す８ビットフィールドを備え得る。ｌｅｖｅｌ＿ＩＤＣフィールド１７８は、動作点記述子１７０において与えられる情報によって再アセンブルされた動作点のｌｅｖｅｌ＿ｉｄｃを示す８ビットフィールドを備え得る。
【０１４９】
フレームレートフィールド１８０は、再アセンブルされたＡＶＣビデオストリームの最大フレームレートをフレーム／２５６秒で示す１６ビットフィールドを備え得る。すなわち、マルチプレクサ３０は、フレームレートフィールド１４９の値を設定するために、２５６秒時間期間の最大フレームレートを計算し得る。フレームレートフィールド１２４の場合と同様に、フレームレートフィールド１８０のための他の例では、２５６秒以外に他の時間期間が使用され得る。
【０１５０】
表示ビュー数フィールド１８２は、再アセンブルされたＡＶＣビデオストリームの出力の対象となるビューの数の値を示す１０ビットフィールドを備え得る。概して、表示ビュー数フィールド１８２は、対応する動作点のために表示されるべきビューの数を表す。復号ビュー数フィールド１８４は、再アセンブルされたＡＶＣビデオストリームを復号するために必要なビューの数の値を示す１０ビットフィールドを備え得る。この値は、表示ビュー数フィールド１８２によって示される、表示されるべきビューの数とは異なることがある。これは、たとえば、復号ビュー数フィールド１２８に関して上記で説明したように、ビュー依存性により復号するために必要であるが、実際には表示されないいくつかのビューから生じ得る。
【０１５１】
平均ビットレートフィールド１８６は、再アセンブルされたＡＶＣビデオストリームの平均ビットレートをキロビット／秒で示す１６ビットフィールドを備え得る。０に設定されたときに、平均ビットレートは示されない。すなわち、平均ビットレートフィールド１８６の値０は、平均ビットレートフィールド１８６が、再アセンブルされたＡＶＣビデオストリームの平均ビットレートを判断するために使用されるべきでないことを暗示する。最大ビットレートフィールド１８８は、再アセンブルされたＡＶＣビデオストリームの最大ビットレートをｋｂｉｔ／秒で示す１６ビットフィールドを備え得る。０に設定されたときに、最大ビットレートは示されない。特に、最大ビットレートフィールド１８８の値が０に設定されたとき、最大ビットレートフィールド１８８は、再アセンブルされたＡＶＣビデオストリームの最大ビットレートを判断するために使用されるべきでない。
【０１５２】
時間識別子フィールド１９０は、再アセンブルされたＡＶＣビデオストリームのフレームレートに対応するｔｅｍｐｏｒａｌ＿ｉｄの値を示す３ビットフィールドを備え得る。すなわち、ｔｅｍｐｏｒａｌ＿ｉｄは、上記で説明したように、再アセンブルされたＡＶＣビデオストリームのフレームレートを判断するために使用され得る。予約済みビットフィールド１９２は、将来の使用のために予約された単一ビットに対応する。
【０１５３】
動作点記述子１７０はまた、動作点識別子フィールド１９４と動作点依存フラグフィールド１９６とを含む。動作点識別子フィールド１９４は、動作点記述子１７０によって記述される動作点の識別子を示す１０ビットフィールドを備え得る。動作点依存フラグフィールド１９６は、別の動作点に対する現在の動作点の依存性がシグナリングされるかどうかを示す単一ビットフラグである。動作点依存フラグ１９６が値１（または真）を有する場合、依存性はシグナリングされ、動作点依存フラグ１９６の値が０（または偽）である場合、依存性はシグナリングされない。
【０１５４】
動作点依存フラグ１９６の値が真または１であるとき、動作点記述子１７０は、さらに依存動作点識別子フィールド１９８を含む。存在するとき、動作点識別子フィールド１９８は、現在の記述子が依存する動作点の識別子を示す１０ビットフィールドを備え得る。すなわち、マルチプレクサ３０が、動作点記述子１７０が別の動作点に依存する動作点に対応することを判断すると、マルチプレクサ３０は、動作点依存フラグの値を真または１に設定し、次いで、動作点記述子１７０に対応する動作点が依存する動作点の識別子をシグナリングする。
【０１５５】
動作点記述子１７０はまた、ビュー順序インデックスフィールド２００とビュー識別子フィールド２０２とを含む。ビュー順序インデックスフィールド２０２の各々は、ｏｐｅｒａｔｉｏｎ＿ｐｏｉｎｔ＿ｉｄの識別子とともに現在の動作点中に含まれているが、ｄｅｐｅｎｄｅｎｔ＿ｏｐｅｒａｔｉｏｎ＿ｐｏｉｎｔ＿ｉｄの識別子とともに動作点中に含まれていないＮＡＬユニットのビュー順序インデックスの値を示す１０ビットフィールドを備え得る。クライアントデバイスは、ビュー順序インデックスフィールド２００によって動作点記述子１７０においてシグナリングされたすべてのシグナリングされたｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値に対応する、ＮＡＬユニットを再アセンブルし得る。ビュー順序インデックスフィールド２００は、復号されるべきビューの各々についてのビュー順序インデックスフィールドを含む。ｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値を仮定すれば、ＭＶＣ拡張記述子がそのエレメンタリーストリーム中のビュー順序インデックス値の範囲を伝え、その範囲が動作点記述子においてシグナリングされたｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値をカバーするので、クライアントデバイスは、エレメンタリーストリームから対応するＮＡＬユニットを抽出し得る。動作点記述子１７０においてシグナリングされる動作点は、ビュー順序インデックスフィールド２００のすべてのシグナリングされたｖｉｅｗ＿ｏｒｄｅｒ＿ｉｎｄｅｘ値に対応するＮＡＬユニットと、ｄｅｐｅｎｄｅｎｔ＿ｏｐｅｒａｔｉｏｎ＿ｐｏｉｎｔ＿ｉｄの識別子とともに動作点によって含まれているＮＡＬユニットとによって再アセンブルされる。
【０１５６】
ビュー識別子フィールド２０２の各々は、再アセンブルされたＡＶＣビデオビットストリーム中に含まれているＮＡＬユニットのｖｉｅｗ＿ｉｄの値を示す１０ビットフィールドを備え得る。したがって、動作点のための各表示されたビューのビュー識別子は、ビュー識別子フィールド２０２を使用してシグナリングされる。すなわち、ビュー識別子フィールド１６４のビュー識別子は、表示されたビューに対応する。したがって、図５の例では、復号されるが、表示されないビューは、ビュー識別子フィールド２０２によってシグナリングされない。
【０１５７】
また、動作点記述子１７０は予約済みトレーリングビットフィールド２０４を含む。動作点記述子１７０は、動作点記述子１７０中のビットの数が８によって均等に割り切れるように、パディングとしてトレーリングビットを含み得る。ビュー順序インデックスフィールドおよびビュー識別子フィールドの数が変動することがあるので、マルチプレクサ３０が動作点記述子１７０中に含むトレーリングビットの数は、それに応じて変動することがある。たとえば、トレーリングビットの数は、以下の式に従って判断され得る。
【数３】
0005602854.tif 000009
【０１５８】
上式で、「％」はモジュロ演算子を表す。
【０１５９】
以下の表６に、図６の例示的な動作点記述子１７０中に含まれ得るデータの例示的なセットを要約する。
【表６】
0005602854.tif 000010
【０１６０】
さらに別の代替形態として、ソースデバイス２０（図１）は、動作点記述子以外のデータ構造を使用して動作点の特性をシグナリングする。たとえば、ソースデバイス２０は、変更ＭＶＣ拡張記述子を使用して、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、ＭＶＣ動作点を使用するために受信デバイスによって満たされるべき復号能力を記述する復号能力値と、ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし得る。以下の表７は、そのような変更ＭＶＣ拡張記述子の例を示す。
【表７】
0005602854.tif 000011
【０１６１】
マルチプレクサ３０（図２）は、表７によって定義されたシンタックスに従ってＭＶＣ拡張記述子１１０を構築し得る。概して、表７の構文要素のセマンティクスは、上記の表１に関して説明した通常の名前付き要素と同じである。表７の例は、表１の例よりも多くの追加の要素、すなわち、ＭＶＣ拡張記述子が対応する動作点の各ビューについて、フレームレートフィールドと、表示ビュー数フィールドと、復号ビュー数フィールドと、ビュー識別子フィールドとを含む。
【０１６２】
フレームレートフィールドは、再アセンブルされたＡＶＣビデオストリームの最大フレームレートをフレーム／２５６秒で示す１６ビットフィールドを備え得る。表示ビュー数フィールド「ｎｕｍ＿ｄｉｓｐｌａｙ＿ｖｉｅｗｓ」は、再アセンブルされたＡＶＣビデオストリームの出力の対象となるビューの数の値を示す１０ビットフィールドを備え得る。復号ビュー数フィールド「ｎｕｍ＿ｄｅｃｏｄｅ＿ｖｉｅｗｓ」は、再アセンブルされたＡＶＣビデオストリームを復号するために必要なビューの数の値を示す１０ビットフィールドを備え得る。ビュー識別子フィールド「ｖｉｅｗ＿ｉｄ」の各々は、再アセンブルされたＡＶＣビデオビットストリーム中に含まれている対応するビューのためのＮＡＬユニットのｖｉｅｗ＿ｉｄの値を示す１０ビットフィールドを備え得る。
【０１６３】
いくつかの例では、１つまたは複数の動作点記述子は、ビットストリームのすべてのＭＶＣ動作点の最大時間識別子値と最大フレームレート値とを示す値を含み得る。いくつかの例では、ビットストリームのすべてのＭＶＣ動作点の最大時間識別子値および最大フレームレート値は、ＭＶＣ動作点記述子においてシグナリングされ得る。
【０１６４】
図７は、例示的なＭＶＣ予測パターンを示す概念図である。図７の例では、（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）８つのビューが示され、各ビューについて１２個の時間ロケーション（「Ｔ０」〜「Ｔ１１」）が示されている。すなわち、図７中の各行はビューに対応し、各列は時間ロケーションを示す。
【０１６５】
ＭＶＣがＨ．２６４／ＡＶＣデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがＭＶＣによってサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートすることができるということである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを予想し得る。
【０１６６】
図７中のフレームは、文字を含む影付きブロックを使用して、図７中の各行と各列との指示において示され、対応するフレームがイントラコード化された（すなわち、Ｉフレーム）のか、または一方向でインターコード化された（すなわち、Ｐフレームとして）のか、または複数の方向でインターコード化された（すなわち、Ｂフレームとして）のかを指示する。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間ロケーションＴ０におけるビューＳ２のＰフレームは、時間ロケーションＴ０におけるビューＳ０のＩフレームから予測される。
【０１６７】
単一のビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。たとえば、時間ロケーションＴ１におけるビューＳ０のｂフレームは、時間ロケーションＴ０におけるビューＳ０のＩフレームからそのｂフレームに向けられた矢印を有し、その矢印は、ｂフレームがＩフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビュー構成要素は、参照のために他のビュー中のビュー構成要素を使用することができる。ＭＶＣでは、たとえば、別のビュー中のビュー構成要素がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序を可能にする参照ピクチャリスト構成プロセスによって変更され得る。以下の表８は、ＭＶＣ拡張シーケンスパラメータセットの例示的な定義を与える。
【表８】
0005602854.tif 000012
【０１６８】
図７は、ビュー間予測の様々な例を与える。図７の例では、ビューＳ１のフレームは、ビューＳ１の異なる時間ロケーションにおけるフレームから予測されるものとして、ならびに同じ時間ロケーションにおけるビューＳ０およびＳ２のフレームのうちのフレームからビュー間予測されるものとして示されている。たとえば、時間ロケーションＴ１におけるビューＳ１のｂフレームは、時間ロケーションＴ０およびＴ２におけるビューＳ１のＢフレームの各々、ならびに時間ロケーションＴ１におけるビューＳ０およびＳ２のｂフレームから予測される。
【０１６９】
図７の例では、大文字の「Ｂ」および小文字の「ｂ」は、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。概して、大文字の「Ｂ」フレームは、小文字の「ｂ」フレームよりも予測階層が比較的高い。図７はまた、異なるレベルの陰影を使用して予測階層の変形体を示し、より大きい量の陰影の（すなわち、比較的より暗い）フレームは、より少ない陰影を有する（すなわち、比較的より明るい）それらのフレームよりも予測階層が高い。たとえば、図７中のすべてのＩフレームは、完全陰影を用いて示されるが、Ｐフレームは、いくぶんより明るい陰影を有し、Ｂフレーム（そして、小文字のｂフレーム）は、互いに様々なレベルの陰影を有するが、ＰフレームおよびＩフレームの陰影よりも常に明るい。
【０１７０】
概して、比較的階層がより高いそれらのフレームが、階層が比較的低いフレームの復号中に参照フレームとして使用され得るように、予測階層が比較的より高いフレームは、階層が比較的より低いフレームを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビュー構成要素の復号順序を示すインデックスである。Ｈ．２６４／ＡＶＣ（ＭＶＣ追補）の付属書類Ｈにおいて規定されているように、ビュー順序インデックスはＳＰＳ  ＭＶＣ拡張において暗示されている。ＳＰＳでは、各インデックスｉについて、対応するｖｉｅｗ＿ｉｄがシグナリングされる。ビュー構成要素の復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスは、０からｎｕｍ＿ｖｉｅｗｓ＿ｍｉｎｕｓ＿１までの連続する順序である。
【０１７１】
このようにして、参照フレームとして使用されるフレームは、その参照フレームを参照して符号化されたフレームを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビュー構成要素の復号順序を示すインデックスである。各ビュー順序インデックスｉについて、対応するｖｉｅｗ＿ｉｄがシグナリングされる。ビュー構成要素の復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、０からビューの全数よりも１少ない数までの連続的な順序付きセットを備え得る。
【０１７２】
階層の等しいレベルにおけるいくつかのフレームの場合、復号順序は、互いに重要でないことがある。たとえば、時間ロケーションＴ０におけるビューＳ０のＩフレームは、時間ロケーションＴ０におけるビューＳ２のＰフレームのための参照フレームとして使用され、そのＰフレームは今度は、時間ロケーションＴ０におけるビューＳ４のＰフレームのための参照フレームとして使用される。したがって、時間ロケーションＴ０におけるビューＳ０のＩフレームは、時間ロケーションＴ０におけるビューＳ２のＰフレームの前に復号されるべきであり、そのＰフレームは、時間ロケーションＴ０におけるビューＳ４のＰフレームの前に復号されるべきである。しかしながら、ビューＳ１およびＳ３は、予測のために互いに依拠しないが、代わりに、予測階層がより高いビューからのみ予測されるので、ビューＳ１とＳ３との間で復号順序は重要でない。その上、ビューＳ１がビューＳ０およびＳ２の後に復号される限り、ビューＳ１はビューＳ４の前に復号され得る。
【０１７３】
このようにして、ビューＳ０〜Ｓ７を記述するために階層順序が使用され得る。表記法ＳＡ＞ＳＢは、ビューＳＡがビューＳＢの前に復号されるべきであることを意味する。この表記法を使用すると、図７の例では、Ｓ０＞Ｓ２＞Ｓ４＞Ｓ６＞Ｓ７である。また、図７の例に関して、Ｓ０＞Ｓ１、Ｓ２＞Ｓ１、Ｓ２＞Ｓ３、Ｓ４＞Ｓ３、Ｓ４＞Ｓ５、およびＳ６＞Ｓ５である。これらの要件に違反しないビューのための任意の復号順序が可能である。したがって、いくつかの制限のみをもつ、多くの異なる復号順序が可能である。２つの例示的な復号順序が以下に提示されるが、多くの他の復号順序が可能であることを理解されたい。以下の表９に示す一例では、ビューができるだけ早く復号される。
【表９】
0005602854.tif 000013
【０１７４】
表９の例は、ビューＳ１は、ビューＳ０およびＳ２が復号された直後に復号され得、ビューＳ３は、ビューＳ２およびＳ４が復号された直後に復号され得、ビューＳ５は、ビューＳ４およびＳ６が復号された直後に復号され得ることを認識する。
【０１７５】
以下の表１０では、別のビューのための参照として使用されるいずれのビューも、他のビューのための参照として使用されないビューの前に復号されるような復号順序である、別の例示的な復号順序を与える。
【表１０】
0005602854.tif 000014
【０１７６】
表１０の例は、ビューＳ１、Ｓ３、Ｓ５、およびＳ７のフレームが、他のビューのフレームのための参照フレームとして働かず、したがって、ビューＳ１、Ｓ３、Ｓ５、およびＳ７が、図７の例におけるビュー、すなわち、ビューＳ０、Ｓ２、Ｓ４、およびＳ６の、参照フレームとして使用されるフレームの後に復号され得ることを認識する。互いに対して、ビューＳ１、Ｓ３、Ｓ５、およびＳ７は任意の順序で復号され得る。したがって、表１０の例では、ビューＳ７は、ビューＳ１、Ｓ３、およびＳ５の各々の前に復号される。
【０１７７】
明快のために、各ビューのフレーム間に、ならびに各ビューのフレームの時間ロケーション間に、階層関係があり得る。図７の例に関して、時間ロケーションＴ０におけるフレームは、時間ロケーションＴ０における他のビューのフレームからイントラ予測されるか、またはビュー間予測される。同様に、時間ロケーションＴ８におけるフレームは、時間ロケーションＴ８における他のビューのフレームからイントラ予測されるか、またはビュー間予測される。したがって、時間階層に関して、時間ロケーションＴ０およびＴ８は時間階層の最上位にある。
【０１７８】
図７の例では、時間ロケーションＴ４のフレームが、時間ロケーションＴ０およびＴ８のフレームを参照してＢ符号化されるので、時間ロケーションＴ４におけるフレームは、時間ロケーションＴ０およびＴ８のフレームよりも時間階層が低い。時間ロケーションＴ２およびＴ６におけるフレームは、時間ロケーションＴ４におけるフレームよりも時間階層が低い。最後に、時間ロケーションＴ１、Ｔ３、Ｔ５、およびＴ７におけるフレームは、時間ロケーションＴ２およびＴ６のフレームよりも時間階層が低い。
【０１７９】
ＭＶＣでは、全ビットストリームのサブセットが抽出されて、依然としてＭＶＣに準拠するサブビットストリームが形成され得る。たとえば、サーバによって与えられるサービス、１つまたは複数のクライアントのデコーダの容量、サポート、および能力、ならびに／または１つまたは複数のクライアントの選好に基づいて、特定の適用例が必要とし得る、多くの可能なサブビットストリームがある。たとえば、あるクライアントが３つのビューのみを必要とし得、２つのシナリオがあり得る。一例では、あるクライアントは、滑らかな閲覧エクスペリエンスを必要とし、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ１、およびＳ２のビューを選好し得、別の他のクライアントは、ビュースケーラビリティを必要とし、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ２、およびＳ４のビューを選好し得る。元来ｖｉｅｗ＿ｉｄが表９の例に関して順序付けられている場合、これらの２つの例においてビュー順序インデックス値はそれぞれ｛０、１、２｝および｛０、１、４｝である。これらのサブビットストリームの両方が、独立したＭＶＣビットストリームとして復号され、同時にサポートされ得ることに留意されたい。
【０１８０】
ＭＶＣデコーダによって復号可能である多くのＭＶＣサブビットストリームがあり得る。理論上、（１）各アクセスユニット中のビュー構成要素が、ビュー順序インデックスの昇順で順序付けられている、および（２）ビューの任意の組合せ中の各ビューについて、そのビューの依存ビューも上記組合せ中に含まれる、という２つのプロパティを満たす上記組合せは、一定のプロファイルまたはレベルに準拠するＭＶＣデコーダによって復号され得る。
【０１８１】
図８は、動作点の特性をシグナリングするデータ構造を使用するための例示的な方法を示すフローチャートである。すなわち、図８の方法は、ソースデバイス、たとえば、ソースデバイス２０（図１）による、ＭＰＥＧ−２システムビットストリームの各動作点のためのデータ構造の構築を含む。図８の方法はまた、宛先デバイス４０（図１）などの宛先デバイスによって復号し、表示するためのマルチメディアデータをそこから取り出す動作点を選択するために、受信したデータ構造を使用することを含む。
【０１８２】
初めに、図８の例では、２１０において、ソースデバイス２０がプログラムのための動作点を判断する。たとえば、ソースデバイス２０は、様々な能力、たとえば、レンダリングおよび復号能力をクライアントデバイスが有することを表す様々な動作点を作成するために、プログラムのビューの様々なサブセットを選択し得る。アドミニストレータは、たとえば、ビューを選択し、変動するレンダリングおよび復号能力をクライアントデバイスが有することを表す動作点を作成するために、ソースデバイス２０と対話し得、または異なる動作点がソースデバイス２０によって自動的に作成され得る。
【０１８３】
プログラムのための動作点を判断した後に、２１２において、ソースデバイス２０は、たとえば、上記ビットストリームがＭＰＥＧ−２システムトランスポートストリームとしてブロードキャストされるときに、プログラムマップテーブル中で動作点の各々のためのデータ構造を生成する。代替的に、ソースデバイス２０は、上記ビットストリームがＭＰＥＧ−２システムプログラムストリームとしてブロードキャストされるときに、プログラムストリームマップ中でデータ構造を生成し得る。いずれの場合も、ソースデバイス２０は、各動作点について、対応する動作点の特性を表すデータ構造を生成し得る。データ構造は、たとえば、図４〜図６の例のうちの１つに対応する動作点記述子を備え得る。このようにして、データ構造は、対応する動作点についてのレンダリング特性、復号特性、およびビットレートをシグナリングし得る。
【０１８４】
次いで、２１４において、ソースデバイス２０は、たとえば、図８の例におけるＰＭＴ内の、データ構造をクライアントデバイス、たとえば、宛先デバイス４０（図１）に出力する。このようにして、ソースデバイス２０は、データ構造を上記ビットストリームの一部として出力し得る。ソースデバイス２０は、上記ビットストリームを、ネットワーク上で、たとえば、ワイヤレスまたはワイヤードネットワーク上で、ブロードキャスト、ユニキャスト、マルチキャスト、エニーキャスト、または他の通信プロトコルの形態で出力するか、あるいは、たとえば、Ａｄｖａｎｃｅｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍｓ  Ｃｏｍｍｉｔｔｅｅ（ＡＴＳＣ）規格またはＮａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ（ＮＴＳＣ）規格に準拠する信号に従ってテレビジョン周波数上でブロードキャストし得る。代替的に、ソースデバイス２０は、上記ビットストリームをＤＶＤ−ＲＯＭ、ブルーレイ（登録商標）ディスク、フラッシュドライブ、磁気ディスク、または他の記憶媒体など、コンピュータ可読記憶媒体中に符号化し得、その場合、ソースデバイス２０は、動作点のためのデータ構造を含むＰＳＭを形成し、ＰＳＭをコンピュータ可読記憶媒体中に符号化し得る。
【０１８５】
２１６において、宛先デバイス４０は、最終的に、ソースデバイス２０からＰＭＴ（またはＰＳＭ）を受信する。次いで、２１８において、宛先デバイス４０は、ＰＭＴまたはＰＳＭ中に含まれるデータ構造によってシグナリングされた動作点の特性に基づいて動作点のうちの１つを選択する。概して、宛先デバイス４０は、対応するデータ構造によってシグナリングされたレンダリングおよび復号能力を宛先デバイス４０が満たす、動作点を選択し得る。たとえば、宛先デバイス４０は、動作点のデータ構造によってシグナリングされたレンダリング能力値に準拠するフレームレートで、表示されるべきビューの数としてデータ構造によって示される数のビューをビデオ出力４４がレンダリングすることが可能であるかどうかを判断し得る。同様に、宛先デバイス４０は、動作点の復号能力値データ構造によってシグナリングされた、動作点のために復号されるべき数のビューをビデオデコーダ４８が復号することが可能であるかどうかを判断し得る。その上、いくつかの例では、宛先デバイス４０は、たとえば、宛先デバイス４０が上記ビットストリームをそこから受信するトランスポート媒体の帯域幅制限に基づいて、トランスポート媒体に好適である動作点を選択するために、データ構造中でシグナリングされたビットレートを使用し得る。
【０１８６】
宛先デバイス４０が、２つ以上の動作点を宛先デバイス４０がレンダリングおよび復号することが可能であると判断したとき、宛先デバイス４０は、最も高い品質の動作点を復号およびレンダリングのために選択し得る。たとえば、宛先デバイス４０は、どの動作点を選択すべきかを判断するために、最も多いビューの数、最も高いビットレート、最も高いフレームレート、または動作点の品質の他の指示を有する動作点を選択し得る。
【０１８７】
動作点を選択した後に、２２０において、宛先デバイス４０は、上記ビットストリームから動作点のためのデータを取り出す。すなわち、宛先デバイス４０は、上記ビットストリーム中に含まれるプログラムから動作点に対応するビューの各々のためのデータを抽出し得る。いくつかの例では、宛先デバイス４０は、動作点のためのデータを抽出するためにビットストリームの１つまたは複数のサブビットストリームからデータを選択する。データを抽出した後に、２２２において、宛先デバイスは、選択された動作点のためのデータを復号し、表示する。ビデオデコーダ４８は、動作点のために復号されるべきであるビューの各々を復号し得、ビデオ出力４４は、動作点のために表示されるべきであるビューの各々を表示し得る。表示されるビューは、上記で説明したように、必ずしも復号されるビューではないことがある。
【０１８８】
１つまたは複数の例では、説明した機能はハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などのコンピュータ可読記憶媒体を含み得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないことを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１８９】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路またはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１９０】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１９１】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
〔１〕  
ソースデバイスを用いて、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を構築することであって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、前記データ構造が前記ビットストリームの一部として含まれる、構築することと、および
前記データ構造を備える前記ビットストリームを出力することと
を備える方法。
〔２〕
前記データ構造を構築することが、前記ビットストリームを１つまたは複数の２次元ディスプレイデバイスおよび３次元ディスプレイデバイスに適合させることと、様々な帯域幅のトランスポート媒体を前記１つまたは複数の２次元ディスプレイデバイスおよび３次元ディスプレイデバイスに適応させることとを前記１つまたは複数の２次元ディスプレイデバイスおよび３次元ディスプレイデバイスに行わせるように前記データ構造を構築することを備える、〔１〕に記載の方法。
〔３〕
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、〔１〕に記載の方法。
〔４〕
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、〔１〕に記載の方法。
〔５〕
前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、〔１〕に記載の方法。
〔６〕
前記データ構造を構築することがプログラムマップテーブルデータ構造中の動作点記述子を備え、前記ビットストリームがＭＰＥＧ−２トランスポートストリームを備える、〔１〕に記載の方法。
〔７〕
前記データ構造を構築することがプログラムストリームマップデータ構造中の動作点記述子を備え、前記ビットストリームがＭＰＥＧ−２プログラムストリームを備える、〔１〕に記載の方法。
〔８〕
前記データ構造が動作点記述子を備え、前記データ構造を構築することは、
前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めることと、
前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めることと
を備える、〔１〕に記載の方法。
〔９〕
前記ビットストリーム中に含まれる各動作点についての動作点記述子を構築することをさらに備え、前記データ構造を出力することが、前記構築された動作点記述子の各々を出力することを備える、〔１〕に記載の方法。
〔１０〕
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を構築するマルチプレクサであって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、前記マルチプレクサが前記データ構造を前記ビットストリームの一部として含む、マルチプレクサと、
前記データ構造を備える前記ビットストリームを出力する出力インターフェースと
を備える装置。
〔１１〕
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、〔１０〕に記載の装置。
〔１２〕
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、〔１０〕に記載の装置。
〔１３〕
前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、〔１０〕に記載の装置。
〔１４〕
前記マルチプレクサが、前記データ構造をプログラムマップテーブルデータ構造中の動作点記述子として構築し、前記ビットストリームがＭＰＥＧ−２トランスポートストリームを備える、〔１０〕に記載の装置。
〔１５〕
前記マルチプレクサが、前記データ構造をプログラムストリームマップデータ構造中の動作点記述子として構築し、前記ビットストリームがＭＰＥＧ−２プログラムストリームを備える、〔１０〕に記載の装置。
〔１６〕
前記マルチプレクサが前記データ構造を動作点記述子として構築し、前記ＭＶＣ動作点が前記ビットストリームのビューのサブセットに対応し、前記データ構造を構築するために、前記マルチプレクサは、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めることと、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めることと、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めることと、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めることとを行う、〔１０〕に記載の装置。
〔１７〕
前記マルチプレクサが、前記ビットストリーム中に含まれる各動作点についての動作点記述子を構築するようにさらに構成され、前記データ構造を出力することが、前記構築された動作点記述子の各々を出力することを備える、〔１０〕に記載の装置。
〔１８〕
前記装置が、
集積回路と、
マイクロプロセッサと、
前記マルチプレクサを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、〔１０〕に記載の装置。
〔１９〕
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を構築するための手段であって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、前記データ構造が前記ビットストリームの一部として含まれる、構築するための手段と、および
前記データ構造を備える前記ビットストリームを出力するための手段と
を備える装置。
〔２０〕
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、〔１９〕に記載の装置。
〔２１〕
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、〔１９〕に記載の装置。
〔２２〕
前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、〔１９〕に記載の装置。
〔２３〕
前記データ構造が動作点記述子を備え、前記データ構造を構築するための前記手段は、
前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めるための手段と、
前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めるための手段であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めるための手段と、
前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めるための手段であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めるための手段と、
前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めるための手段と
を備える、〔１９〕に記載の装置。
〔２４〕
実行されると、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を構築することであって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングし、前記データ構造が前記ビットストリームの一部として含まれる、構築することと、
前記データ構造を備える前記ビットストリームを出力インターフェースに出力させることと
をソースデバイスのプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
〔２５〕
前記レンダリング能力値が、少なくとも、前記対応するＭＶＣ動作点のためのレンダリングの対象となるビューの数と、前記対応するＭＶＣ動作点のビデオデータのフレームレートと、前記対応するＭＶＣ動作点についての時間識別子値とを記述する、〔２４〕に記載のコンピュータ可読記憶媒体。
〔２６〕
前記復号能力値が、少なくとも、前記対応するＭＶＣ動作点のために復号されるべきビューの数と、前記ＭＶＣ動作点に対応するレベル値と、前記ＭＶＣ動作点に対応するプロファイル値とを記述する、〔２４〕に記載のコンピュータ可読記憶媒体。
〔２７〕
前記ビットレート値が、前記対応するＭＶＣ動作点の平均ビットレートと、前記対応するＭＶＣ動作点の最大ビットレートとのうちの１つを記述する、〔２４〕に記載のコンピュータ可読記憶媒体。
〔２８〕
前記データ構造が動作点記述子を備え、前記データ構造を構築することを前記プロセッサに行わせる前記命令は、
前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値を前記動作点記述子中に含めることと、
前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値を前記動作点記述子中に含めることであって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、含めることと、
前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値を前記動作点記述子中に含めることと
を前記プロセッサに行わせる命令を備える、〔２４〕に記載のコンピュータ可読記憶媒体。
〔２９〕
宛先デバイスを用いて、ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を受信することであって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、受信することと、
前記データ構造によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するビューを前記宛先デバイスのビデオデコーダが復号することが可能であるかどうかを判断することと、
前記データ構造によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断することと、
前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスの前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスの前記ビデオデコーダに送ることと
を備える方法。
〔３０〕
前記データ構造が動作点記述子を備え、前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、〔２９〕に記載の方法。
〔３１〕
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することは、前記フレームレート値によって示される前記フレームレートで復号ビュー数値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することを備える、〔３０〕に記載の方法。
〔３２〕
前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信することと、
前記対応する動作点記述子に基づいて動作点を選択することであって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択することと、および
前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送ることと
をさらに備える、〔３０〕に記載の方法。
〔３３〕
前記宛先デバイスが、前記宛先デバイスによってレンダリングされ得るビューの最大数を記述する最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とで構成され、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断することが、
前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較することと、および
前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較することと
を備え、
前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることは、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることを備える、
〔２９〕に記載の方法。
〔３４〕
前記最大ビューレンダー値が前記最大フレームレート値に反比例する、〔３３〕に記載の方法。
〔３５〕
装置であって、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を受信するように構成された入力インターフェースであって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、入力インターフェースと、
ビデオデータを復号するように構成されたビデオデコーダと、
前記データ構造によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することと、前記データ構造によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記装置がレンダリングすることが可能であるかどうかを判断することと、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることとを行うように構成されたデマルチプレクサと
を備える、装置。
〔３６〕
前記データ構造が動作点記述子を備え、前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、〔３５〕に記載の装置。
〔３７〕
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するために、前記デマルチプレクサは、前記フレームレート値によって示される前記フレームレートで復号ビュー数値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するように構成された、〔３６〕に記載の装置。
〔３８〕
前記デマルチプレクサが、前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信することと、前記対応する動作点記述子に基づいて動作点を選択することとを行うように構成され、前記ＭＶＣ動作点を選択するために、前記デマルチプレクサは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することと、前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送ることとを行うように構成された、〔３６〕に記載の装置。
〔３９〕
宛先デバイスによってレンダリングされ得るビューの最大数を記述する最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とを記憶するように構成されたコンピュータ可読記憶媒体をさらに備え、
前記ＭＶＣ動作点に対応する前記ビューを前記装置がレンダリングすることが可能であるかどうかを判断するために、前記デマルチプレクサが、前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較することと、前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較することとを行うように構成され、
前記デマルチプレクサは、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送るように構成された、
〔３５〕に記載の装置。
〔４０〕
前記最大ビューレンダー値が前記最大フレームレート値に反比例する、〔３９〕に記載の装置。
〔４１〕
前記装置が、
集積回路と、
マイクロプロセッサと、
前記デマルチプレクサを含むワイヤレス通信デバイスと
のうちの少なくとも１つを備える、〔３５〕に記載の装置。
〔４２〕
装置であって、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を受信するための手段であって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、受信するための手段と、
前記データ構造によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するビューを前記装置のビデオデコーダが復号することが可能であるかどうかを判断するための手段と、
前記データ構造によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記装置がレンダリングすることが可能であるかどうかを判断するための手段と、
前記ＭＶＣ動作点に対応する前記ビューを前記装置の前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、前記ＭＶＣ動作点に対応する前記ビューを前記装置の前記ビデオデコーダに送るための手段と
を備える、装置。
〔４３〕
前記データ構造が動作点記述子を備え、前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、〔４２〕に記載の装置。
〔４４〕
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するための前記手段は、前記フレームレート値によって示される前記フレームレートで復号ビュー数値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断するための手段を備える、〔４３〕に記載の装置。
〔４５〕
前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信するための手段と、
前記対応する動作点記述子に基づいて動作点を選択するための手段であって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択するための手段と、
前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送るための手段と
をさらに備える、〔４３〕に記載の装置。
〔４６〕
宛先デバイスによってレンダリングされ得るビューの最大数を記述する最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とを記憶するための手段をさらに備え、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断するための前記手段が、
前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較するための手段と、
前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較するための手段と
を備え、
前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送るための前記手段は、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送るための手段を備える、
〔４２〕に記載の装置。
〔４７〕
実行されると、
ＭＰＥＧ−２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）システム規格ビットストリームのマルチビュービデオコーディング（ＭＶＣ）動作点に対応するデータ構造を受信することであって、前記データ構造が、前記ＭＶＣ動作点を使用するために受信デバイスによって満たされるべきレンダリング能力を記述するレンダリング能力値と、前記ＭＶＣ動作点を使用するために前記受信デバイスによって満たされるべき復号能力を記述する復号能力値と、前記ＭＶＣ動作点のビットレートを記述するビットレート値とをシグナリングする、受信することと、
前記データ構造によってシグナリングされた前記復号能力に基づいて、前記ＭＶＣ動作点に対応するビューを宛先デバイスのビデオデコーダが復号することが可能であるかどうかを判断することと、
前記データ構造によってシグナリングされた前記レンダリング能力に基づいて、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断することと、
前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスの前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断されたときに、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスの前記ビデオデコーダに送ることと
を前記宛先デバイスのプロセッサに行わせる命令を備えるコンピュータ可読記憶媒体。
〔４８〕
前記データ構造が動作点記述子を備え、前記動作点記述子は、前記ＭＶＣ動作点のための前記ビュー中に含まれるビデオデータの最大フレームレートを記述するフレームレート値と、前記ＭＶＣ動作点のレンダリングの対象となるビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、レンダリングの対象となる前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のために復号されるべきビューについてのビュー識別子値であって、前記ビュー識別子値の各々が、復号されるべき前記ビューのうちの１つに対応する、ビュー識別子値と、前記ＭＶＣ動作点のための前記ビューの前記ビデオデータからアセンブルされたビデオストリームのフレームレートに対応する時間識別子値とを備える、〔４７〕に記載のコンピュータ可読記憶媒体。
〔４９〕
前記ビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することを前記プロセッサに行わせる前記命令は、前記フレームレート値によって示される前記フレームレートで復号ビュー数値と等価な数のビューを前記ビデオデコーダが復号することが可能であるかどうかを判断することを前記プロセッサに行わせる命令を備える、〔４８〕に記載のコンピュータ可読記憶媒体。
〔５０〕
前記ビットストリーム中に含まれる各動作点についての動作点記述子を受信することと、
前記対応する動作点記述子に基づいて動作点を選択することであって、選択することは、前記選択された動作点に対応するビューを前記ビデオデコーダが復号することおよびレンダリングすることが可能であると判断することを備える、選択することと、
前記選択された動作点に対応する前記ビューを前記ビデオデコーダに送ることと
を前記プロセッサに行わせる命令をさらに備える、〔４８〕に記載のコンピュータ可読記憶媒体。
〔５１〕
前記宛先デバイスが、前記宛先デバイスによってレンダリングされ得るビューの最大数を記述する最大ビューレンダー値と、前記宛先デバイスによって表示され得るビデオデータの最大フレームレートを記述する最大フレームレート値とで構成され、前記ＭＶＣ動作点に対応する前記ビューを前記宛先デバイスがレンダリングすることが可能であるかどうかを判断することを前記プロセッサに行わせる前記命令が、
前記ＭＶＣ動作点に対応するビューの数を前記最大ビューレンダー値と比較することと、
前記ＭＶＣ動作点に対応する前記ビューのフレームレートを前記最大フレームレート値と比較することと
を前記プロセッサに行わせる命令を備え、
前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることを前記プロセッサに行わせる前記命令は、前記ＭＶＣ動作点に対応するビューの前記数が前記最大ビューレンダー値以下であるときに、および前記ＭＶＣ動作点に対応する前記ビューの前記フレームレートが前記最大フレームレート値以下であるときに、前記ＭＶＣ動作点に対応する前記ビューを前記ビデオデコーダに送ることを前記プロセッサに行わせる命令を備える、
〔４７〕に記載のコンピュータ可読記憶媒体。
【図１】
0005602854.tif 000015
【図２】
0005602854.tif 000016
【図３】
0005602854.tif 000017
【図４】
0005602854.tif 000018
【図５】
0005602854.tif 000019
【図６】
0005602854.tif 000020
【図７】
0005602854.tif 000021
【図８】
0005602854.tif 000022