(57)【特許請求の範囲】
【請求項１】
符号化ビデオデータを出力する方法であって、
符号化ビデオデータをビデオファイルのフラグメントにアセンブルすることと、前記フラグメントは複数のサブトラックフラグメントを備え、前記複数のサブトラックフラグメントのそれぞれは、前記それぞれのサブトラックフラグメント内で復号順序で連続的に配列された、前記符号化ビデオデータの階層的に関係する複数のコード化ビデオピクチャを備え、前記階層的に関係する複数のコード化ビデオピクチャはそれぞれ共通の階層レイヤに対応し、
ストリーミングプロトコルに従って要求を受信することと、前記要求は、前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のコード化ビデオピクチャを出力することと、
を備える方法。
【請求項２】
前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、請求項１に記載の方法。
【請求項３】
前記複数のサブトラックフラグメントのうちの２つ以上の前記複数のコード化ビデオピクチャを復号順序にどのように並べ替えるかを示す並べ替え情報をシグナリングすること、をさらに備える請求項１に記載の方法。
【請求項４】
並べ替え情報をシグナリングすることは、
前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのコード化ビデオピクチャを備えるサンプルを参照するリアセンブラオブジェクトを生成することと、
前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶することと、
を備える、請求項３に記載の方法。
【請求項５】
前記リアセンブラオブジェクトを生成することは、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成することを備える、請求項４に記載の方法。
【請求項６】
並べ替え情報をシグナリングすることは、各サブトラックフラグメントについて、サブトラックフラグメント識別子と、前記サブトラックフラグメント中のピクチャの数とをシグナリングすることを備え、前記方法は、
前記複数のサブトラックフラグメントが固定パターンに従うように、前記複数のサブトラックフラグメントを配列すること、
をさらに備える請求項３に記載の方法。
【請求項７】
前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定するサブトラックフラグメントヘッダを生成することをさらに備える、請求項１に記載の方法。
【請求項８】
前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記サブトラックフラグメントヘッダを出力することをさらに備える、請求項７に記載の方法。
【請求項９】
前記複数のサブトラックフラグメントを含むメディアファイルの初期化セグメント中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義することさらに備える、請求項１に記載の方法。
【請求項１０】
符号化ビデオデータを出力するための装置であって、
ストリーミングプロトコルに従ってデータを出力するインターフェースと、
制御ユニットと、
を備え、前記制御ユニットは、
符号化ビデオデータを複数のサブトラックフラグメントを備えるフラグメントにアセンブルし、前記複数のサブトラックフラグメントのそれぞれは、前記それぞれのサブトラックフラグメント内で復号順序で連続的に配列された、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、
前記ストリーミングプロトコルに従って要求を受信し、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記インターフェースに、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力させる、
装置。
【請求項１１】
前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、請求項１０に記載の装置。
【請求項１２】
前記制御ユニットは、さらに、前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成し、前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶する、請求項１０に記載の装置。
【請求項１３】
前記制御ユニットは、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成する、請求項１２に記載の装置。
【請求項１４】
前記制御ユニットは、前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定するサブトラックフラグメントヘッダを生成する、請求項１０に記載の装置。
【請求項１５】
前記制御ユニットは、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記サブトラックフラグメントヘッダを出力する、請求項１４に記載の装置。
【請求項１６】
前記制御ユニットは、前記複数のサブトラックフラグメントを含むメディアファイルの初期化セグメント中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義する、請求項１０に記載の装置。
【請求項１７】
前記装置は、
集積回路と、
マイクロプロセッサと、
前記制御ユニットを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、請求項１０に記載の装置。
【請求項１８】
符号化ビデオデータを出力するための装置であって、
符号化ビデオデータを複数のサブトラックフラグメントを備えるフラグメントにアセンブルする手段と、前記複数のサブトラックフラグメントのそれぞれは、前記それぞれのサブトラックフラグメント内で復号順序で連続的に配列された、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、
ストリーミングプロトコルに従って要求を受信する手段と、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する手段と、
を備える装置。
【請求項１９】
前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、請求項１８に記載の装置。
【請求項２０】
前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成する手段と、
前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶する手段と、
をさらに備える、請求項１８に記載の装置。
【請求項２１】
前記リアセンブラオブジェクトを生成する手段は、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成する手段を備える、請求項２０に記載の装置。
【請求項２２】
前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定するサブトラックフラグメントヘッダを生成する手段をさらに備える、請求項１８に記載の装置。
【請求項２３】
前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記サブトラックフラグメントヘッダを出力する手段をさらに備える、請求項２２に記載の装置。
【請求項２４】
前記複数のサブトラックフラグメントを含むメディアファイルの初期化セグメント中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義する手段をさらに備える、請求項１８に記載の装置。
【請求項２５】
実行されたとき、符号化ビデオデータを出力するためのソースデバイスのプロセッサに、
符号化ビデオデータを複数のサブトラックフラグメントを備えるフラグメントにアセンブルさせ、前記複数のサブトラックフラグメントのそれぞれは、前記それぞれのサブトラックフラグメント内で復号順序で連続的に配列された、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、
ストリーミングプロトコルに従って要求を受信させ、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力させる
命令を記憶したコンピュータ可読記憶媒体。
【請求項２６】
前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成させ、
前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶させる
命令をさらに備える、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記リアセンブラオブジェクトを生成させる命令は、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成させる命令を備える、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定するサブトラックフラグメントヘッダを生成させる命令をさらに備える、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記サブトラックフラグメントヘッダを出力させる命令をさらに備える、請求項２９に記載のコンピュータ可読記憶媒体。
【請求項３１】
前記複数のサブトラックフラグメントを含むメディアファイルの初期化セグメント中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義させる命令をさらに備える、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項３２】
符号化ビデオデータを受信する方法であって、
ソースデバイスから、ビデオファイルのムービーフラグメントについてのビデオデータの階層レイヤを記述する情報を受信することと、
要求すべきビデオデータの前記階層レイヤのサブセットを決定することと、
前記サブセットの前記階層レイヤレベルのそれぞれについて、前記サブセットの前記階層レイヤにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送ることと、
前記階層レイヤの前記決定されたサブセットの前記ビデオデータを受信することと、
前記受信したビデオデータを復号及び表示することと、
を備える方法。
【請求項３３】
前記階層レイヤを記述する前記情報は、前記階層レイヤのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定するサブトラックフラグメントヘッダを備える、請求項３２に記載の方法。
【請求項３４】
前記受信したビデオデータは、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、前記方法は、
前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列すること、をさらに備える、請求項３２に記載の方法。
【請求項３５】
前記階層レイヤを記述する前記情報は、前記ビデオデータを含むメディアファイルの初期化セグメントを備え、前記初期化セグメントは、前記階層レイヤの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定することは、前記オペレーションポイントを選択することを備える、請求項３２に記載の方法。
【請求項３６】
符号化ビデオデータを受信するための装置であって、
ソースデバイスから、ビデオファイルのムービーフラグメントについてのビデオデータの階層レイヤを記述する情報を受信するインターフェースと、
要求すべきビデオデータの前記階層レイヤのサブセットを決定する制御ユニットと、
を備え、
前記サブセットの前記階層レイヤのそれぞれについて、前記制御ユニットは、前記サブセットの前記階層レイヤにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送り、
前記インターフェースは、前記要求に応答して、前記階層レイヤの前記決定されたサブセットの前記ビデオデータを受信する、装置。
【請求項３７】
前記階層レイヤを記述する前記情報は、前記階層レイヤのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定するサブトラックフラグメントヘッダを備える、請求項３６に記載の装置。
【請求項３８】
前記受信したビデオデータは、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、
前記制御ユニットは、前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列する、請求項３６に記載の装置。
【請求項３９】
前記階層レイヤを記述する前記情報は、前記ビデオデータを含むメディアファイルの初期化セグメントを備え、前記初期化セグメントは、前記階層レイヤの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定するために、前記制御ユニットは前記オペレーションポイントを選択する、請求項３６に記載の装置。
【請求項４０】
前記装置は、
集積回路と、
マイクロプロセッサと、
前記制御ユニットを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、請求項３６に記載の装置。
【請求項４１】
符号化ビデオデータを受信するための装置であって、
ソースデバイスから、ビデオファイルのムービーフラグメントについてのビデオデータの階層レイヤを記述する情報を受信する手段と、
要求すべきビデオデータの前記階層レイヤのサブセットを決定する手段と、
前記サブセットの前記階層レイヤのそれぞれについて、前記サブセットの前記階層レイヤにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送る手段と、
前記階層レイヤの前記決定されたサブセットの前記ビデオデータを受信する手段と、
前記受信したビデオデータを復号及び表示する手段と、
を備える装置。
【請求項４２】
前記階層レイヤを記述する前記情報は、前記階層レイヤのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定するサブトラックフラグメントヘッダを備える、請求項４１に記載の装置。
【請求項４３】
前記受信したビデオデータが、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、
前記装置は、前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列する手段をさらに備える、請求項４１に記載の装置。
【請求項４４】
前記階層レイヤを記述する前記情報は、前記ビデオデータを含むメディアファイルの初期化セグメントを備え、前記初期化セグメントは、前記階層レイヤの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定する手段は、前記オペレーションポイントを選択する手段を備える、請求項４１に記載の装置。
【請求項４５】
実行されたとき、符号化ビデオデータを受信するためのデバイスのプロセッサに、
ソースデバイスから、ビデオファイルのムービーフラグメントについてのビデオデータの階層レイヤを記述する情報を受信させ、
要求すべきビデオデータの前記階層レイヤのサブセットを決定させ、
前記サブセットの前記階層レイヤのそれぞれについて、前記サブセットの前記階層レイヤおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送らせ、
前記階層レイヤの前記決定されたサブセットの前記ビデオデータを受信させ、
前記受信したビデオデータを復号及び表示させる
命令を記憶したコンピュータ可読記憶媒体。
【請求項４６】
前記階層レイヤを記述する前記情報は、前記階層レイヤのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定するサブトラックフラグメントヘッダを備える、請求項４５に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記受信したビデオデータは、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、
前記コンピュータ可読記憶媒体は、
前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列させる命令をさらに備える、請求項４５に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記階層レイヤを記述する前記情報は、前記ビデオデータを含むメディアファイルの初期化セグメントを備え、前記初期化セグメントは、前記階層レイヤの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定させる前記命令は、前記オペレーションポイントを選択させる命令を備える、請求項４５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、符号化ビデオデータの記憶およびトランスポートに関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００３】
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスがマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の隣接マクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【０００４】
[0004]ビデオデータが符号化された後、ビデオデータは送信または記憶のためにパケット化され得る。ビデオデータは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットなどの様々な規格と、ＡＶＣなどのそのような規格の拡張とのうちのいずれかに準拠するビデオファイルにアセンブル(assemble)され得る。
【０００５】
[0005]Ｈ．２６４／ＡＶＣに基づく新しいビデオコーディング規格を開発するための取り組みが行われている。１つのそのような規格は、Ｈ．２６４／ＡＶＣのスケーラブル拡張であるスケーラブルビデオコーディング（ＳＶＣ）規格である。別の規格は、Ｈ．２６４／ＡＶＣのマルチビュー拡張になるマルチビュービデオコーディング（ＭＶＣ）である。ＭＶＣのジョイントドラフトは、ＪＶＴ−ＡＢ２０４、「Joint Draft 8.0 on Multiview Video Coding」、２８th  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｈａｎｎｏｖｅｒ、Ｇｅｒｍａｎｙ、２００８年７月に記載されており、これは、http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zipにおいて入手可能である。ＡＶＣ規格に組み込まれたバージョンは、ＪＶＴ−ＡＤ００７、「Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)」、３０th  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｇｅｎｅｖａ、ＣＨ、２００９年２月に記載されており、これは、http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zipにおいて入手可能である。
【発明の概要】
【０００６】
[0006]概して、本開示では、ビデオデータのストリーミングをサポートするためにビデオファイルのサブトラックフラグメントを生成するための技法について説明する。復号順序でビデオファイルのビデオフラグメント内のコード化ビデオピクチャを編成するのではなく、本開示の技法は、コード化ピクチャが属する階層レベルまたはレイヤに応じた順序でコード化ビデオピクチャを配列（arrange）することを含む。ビデオフラグメント内の各階層レイヤは、それぞれのサブトラックフラグメントに対応し得る。すなわち、各サブトラックフラグメントは、ムービーフラグメントの連続バイト範囲内の特定のムービーフラグメントについての対応する階層レイヤのすべてのコード化ビデオピクチャを含み得る。サブトラックフラグメント中のビデオピクチャは、依然として復号順序に従い得る。このようにして、宛先デバイスは、ムービーフラグメントのサブトラックフラグメントのすべてのピクチャを取り出したいという単一の要求をサブミット（submit）し得る。ビデオファイルおよびトランスポートのコンテキストにおいて、カプセル化されたコード化ビデオピクチャはビデオサンプルと呼ばれることもある。
【０００７】
[0007]一例では、方法は、符号化ビデオデータを複数のサブトラックフラグメントにアセンブル(assemble)することと、サブトラックフラグメントの各々は、符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信することと、要求は複数のサブトラックフラグメントのうちの少なくとも１つを指定し、要求に応答して、複数のサブトラックフラグメントのうちの少なくとも１つの階層的に関係する複数のビデオピクチャを出力することと、を含む。
【０００８】
[0008]別の例では、装置は、ストリーミングプロトコルに従ってデータを出力するように構成されたインターフェースと、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルし、複数のサブトラックフラグメントの各々は、符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信し、要求は複数のサブトラックフラグメントのうちの少なくとも１つを指定し、要求に応答して、インターフェースに、複数のサブトラックフラグメントのうちの少なくとも１つの階層的に関係する複数のビデオピクチャを出力させるように構成された制御ユニットと、を含む。
【０００９】
[0009]別の例では、装置は、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルするための手段と、複数のサブトラックフラグメントの各々は、符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信するための手段と、要求は複数のサブトラックフラグメントのうちの少なくとも１つを指定し、要求に応答して、複数のサブトラックフラグメントのうちの少なくとも１つの階層的に関係する複数のビデオピクチャを出力するための手段と、を含む。
【００１０】
[0010]別の例では、コンピュータプログラム製品は、実行されたとき、ソースデバイスのプロセッサに、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルさせ、複数のサブトラックフラグメントの各々は、符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信させ、要求は複数のサブトラックフラグメントのうちの少なくとも１つを指定し、要求に応答して、複数のサブトラックフラグメントのうちの少なくとも１つの階層的に関係する複数のビデオピクチャを出力させる命令を備えるコンピュータ可読記憶媒体を含む。
【００１１】
[0011]別の例では、方法は、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信することと、要求すべきビデオデータの階層レベルのサブセットを決定することと、を含む。サブセットの階層レベルの各々について、本方法は、当該階層レベルにおけるムービーフラグメントのビデオデータのすべてを取り出すためにソースデバイスにただ１つの要求を送ることを含む。本方法は、決定された階層レベルのサブセットのビデオデータを受信することと、受信したビデオデータを復号及び表示することと、をさらに含む。
【００１２】
[0012]別の例では、装置は、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信するように構成されたインターフェースと、要求すべきビデオデータの階層レベルのサブセットを決定するように構成された制御ユニットとを備え、サブセットの階層レベルの各々について、制御ユニットは、階層レベルにおけるムービーフラグメントのビデオデータのすべてを取り出すためにソースデバイスにただ１つの要求を送る。インターフェースは、さらに、要求に応答して、決定された階層レベルのサブセットのビデオデータを受信するように構成される。
【００１３】
[0013]別の例では、装置は、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信するための手段と、要求すべきビデオデータの階層レベルのサブセットを決定するための手段と、サブセットの階層レベルの各々について、階層レベルにおけるムービーフラグメントのビデオデータのすべてを取り出すためにソースデバイスにただ１つの要求を送るための手段と、決定された階層レベルのサブセットのビデオデータを受信するための手段と、受信したビデオデータを復号及び表示するための手段と、を含む。
【００１４】
[0014]別の例では、コンピュータプログラム製品は、宛先デバイスのプロセッサに、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信させ、要求すべきビデオデータの階層レベルのサブセットを決定させ、サブセットの階層レベルの各々について、階層レベルにおけるムービーフラグメントのビデオデータのすべてを取り出すためにソースデバイスにただ１つの要求を送らせ、決定された階層レベルのサブセットのビデオデータを受信させ、受信したビデオデータを復号及び表示させる命令を備えるコンピュータ可読記憶媒体を含む。
【００１５】
［0025］１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】オーディオ／ビデオ（Ａ／Ｖ）ソースデバイスがオーディオおよびビデオデータをＡ／Ｖ宛先デバイスに送る例示的なシステムを示すブロック図。
【図２】例示的なカプセル化ユニットの構成要素を示すブロック図。
【図３】共通の階層レベルの複数のコード化ビデオピクチャを有する複数のサブトラックフラグメントを含む複数のビデオフラグメントを有する例示的なビデオファイルの要素を示すブロック図。
【図４Ａ】例示的なムービーフラグメントを示すブロック図。
【図４Ｂ】リアセンブラオブジェクトを含む例示的なムービーフラグメントを示すブロック図。
【図５】階層レイヤに従って編成された複数のビデオピクチャを含む例示的なＳＶＣビデオフラグメントを示すブロック図。
【図６】階層レイヤに従って編成された複数のビデオピクチャを含む例示的なＭＶＣビデオフラグメントを示すブロック図。
【図７】ビデオファイル内にムービーフラグメントのそれぞれのサブトラックフラグメント内の共通の階層レベルのビデオデータをカプセル化し、そのビデオファイルをソースデバイスから宛先デバイスに与えるための例示的な方法を示すフローチャート。
【図８】ストリーミングプロトコルを使用してムービーフラグメントのサブトラックフラグメントを取り出すための例示的な方法を示すフローチャート。
【図９】例示的なＭＶＣ予測パターンを示す概念図。
【発明を実施するための形態】
【００１７】
[0026]概して、本開示では、ビデオデータのストリーミングをサポートするためにビデオファイルのサブトラックフラグメントを並べる（arrange）ための技法について説明する。特に、トラックフラグメントのコード化ビデオピクチャが、そのコード化ビデオピクチャが属する階層レイヤに従って並べられ得る。本開示では、コード化ビデオピクチャを、コード化ビデオサンプル、あるいは単に「サンプル」または「ピクチャ」と呼ぶこともある。このようにして、共通のレイヤのコード化ビデオピクチャは、ビデオファイル内で連続して並べられ得る。したがって、宛先デバイスは、単一の要求を使用してムービーフラグメント内の特定の階層レイヤのコード化ピクチャを取り出し得る。ＨＴＴＰストリーミングの例の場合、単一の要求は、所望の階層レイヤまでのコード化ビデオピクチャのバイト範囲を指定するＨＴＴＰ部分ＧＥＴ要求（HTTP partial GET  リクエスト）を備え得る。
【００１８】
[0027]トラックフラグメントは、ＩＳＯベースメディアファイルフォーマットのビデオ表現のフラグメント、あるいはパケット化エレメンタリストリーム（ＰＥＳ）、プログラムストリーム（ＰＳ）、またはトランスポートストリーム（ＴＳ）のいずれかのタイプであり得るＭＰＥＧ−２システムストリームのフラグメントであり得る。ＭＰＥＧ−２トランスポートストリーム（ＴＳ）中では、アクセスユニットに対応するパケットは、従来、復号順序で順序付けられる。アクセスユニットは、ＴＳストリーム中の複数のトランスポートパケットにセグメント化され得る。トラックフラグメントがＭＰＥＧ−２システムストリームの連続部分として定義される場合、トラックフラグメントは、ファイルユニット、たとえば、ファイルまたはファイルセグメントとして提示され得る。本開示の技法は、フラグメント中のアクセスユニットをいくつかのサブトラックフラグメントに並べ替えることであり、サブトラックフラグメントの各々は、共通の階層レイヤのコード化ピクチャがストリームの一部分に連続的に提示されるようにアクセスユニット（コード化ピクチャ）のそれぞれの階層レイヤに対応し得る。トラックフラグメント中のサブトラックフラグメントは、復号順序に従って並べられ得る。このようにして、共通のレイヤのコード化ビデオピクチャは、ビデオファイル内で連続して並べられ得る。したがって、宛先デバイスは、単一の要求、たとえば、所望の階層レイヤまでのコード化ビデオピクチャのバイト範囲を指定するＨＴＴＰ部分ＧＥＴ要求を使用して、ムービーフラグメント内の特定の階層レイヤまでのすべてのコード化ピクチャを取り出し得る。
【００１９】
[0028]一例として、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）ファイルフォーマットは、任意のトラックフラグメントまたはムービーフラグメント中で、コード化ビデオピクチャが復号順序で構成されることを指定する。ピクチャグループ（ＧＯＰ）は、様々な予測方式を使用して符号化されたいくつかのピクチャ、たとえば、イントラ予測（Ｉピクチャ）およびインター予測（ＰピクチャおよびＢピクチャ）を有し得る。Ｉピクチャは、他のピクチャに関係なく符号化され得、Ｐピクチャは、単一の方向において１つまたは複数の参照ピクチャに対して符号化され得、Ｂピクチャは、両方向（ビデオシーケンス中の前方および後方）において１つまたは複数のピクチャに対して符号化され得る。
【００２０】
[0029]インターコード化ピクチャは、インターコード化ピクチャについての参照ピクチャの階層レベルに等しいかまたはそれよりも大きい階層レベルを有し得る。表示順序でのピクチャの例示的なシーケンスは、Ｉ0Ｂ3Ｂ2Ｂ3Ｂ1Ｂ3Ｂ2Ｂ3Ｐ0であり得、ここにおいて文字は、各ピクチャの符号化タイプを示し、この場合、数字は、ピクチャが対応する階層レベルを示す。説明のために、各ピクチャが表示順序でのピクチャの位置に対応する数値順インデックスに関連すると仮定する。上記のように、例示的なシーケンスは表示順序で並べられる。インター予測符号化ピクチャを復号するために、符号化ピクチャについての参照ピクチャが最初に復号され得る。以下の表１に、この例示的なシーケンスについての例示的な復号順序を与え、ここにおいて下付き数字は、ピクチャの表示順序を指す。
【表１】
0005551315.tif 000002
【００２１】
[0030]したがって、従来のソースデバイスは、コード化ピクチャの復号順序に従ってコード化ピクチャのこの例示的なシーケンスを並べる。従来、同じ時間階層レベルをもつＧＯＰ内のピクチャ（表１の例では、ＧＯＰサイズは４である）は、同じ階層レベルの他のＧＯＰ中のピクチャから分離され得る。たとえば、Ｂ2およびＢ6は、表１の例では両方とも時間階層レベル１のピクチャであるが、復号順序で並べた場合、異なる時間レベルをもつピクチャによって分離されるであろう。１つのＧＯＰ内で同じ時間レベルをもつピクチャでさえ、異なる時間レベルをもつピクチャによって分離され得る。たとえば、１０個のＧＯＰを含んでいるフラグメントを仮定すると、同じ時間レベルをもつピクチャは、複数の別々の部分としてフラグメント中に分散され得る。
【００２２】
[0031]一方、本開示の技法は、コード化ピクチャのシーケンスの階層レイヤに関して順序付けを提供する。一例として、本開示の技法によるソースデバイスは、表２に示すように上記の例示的なシーケンスを並べる。
【表２】
0005551315.tif 000003
【００２３】
[0032]このようにして、シーケンス中のコード化ビデオピクチャは、ビデオファイルのフラグメント内の階層レベルに従って並べられる。すなわち、フラグメント内の共通の階層レベルのピクチャは、フラグメント内で連続して互いにグループ化され得る。（特定の階層レベルに対応する）各サブトラックフラグメントは、単一の要求に応答してデバイスに配信され得る。このようにして、宛先デバイスは、特定の階層レベルまでのピクチャを取り出したいという単一の要求を発行し得る。各サブトラックフラグメントのバイト範囲は、宛先デバイスが階層レベルのうちの１つまたは複数についての要求を形成することができるように、ビデオピクチャが要求される前に宛先デバイスに送信され得る。
【００２４】
[0033]たとえば、宛先デバイスは、２つのサブトラックフラグメント０および１に対応し得る、階層レベル１までのピクチャを取り出すように構成され得る。宛先デバイスは、サブトラックフラグメント０および１のバイト範囲に基づいて要求を発行することができる。この例示的な要求に応答して、ソースデバイスは、表示順序０、８、４、２、６などを有するサブトラックフラグメント０および１中のピクチャを与え得る。
【００２５】
[0034]階層レベルに従ってピクチャを順序付けることによって、ソースデバイスは、宛先デバイスがそれによって共通の階層レベルのコード化ビデオピクチャを取り出し得るプロセスを簡略化し得る。宛先デバイスは、たとえば、所望の階層レベルに対応するピクチャの各々のロケーションを決定する必要や、そのようなピクチャについての複数の要求を個別に発行する必要はないが、代わりに、所望の階層レベルまでのピクチャのみを取り出したいという単一の要求をサブミットし得る。
【００２６】
[0035]サブトラックフラグメントを受信すると、サブトラックフラグメント中のシグナリングに基づいて、宛先デバイスは、ビデオデコーダにビデオピクチャを送る前に、階層レベルまでの、受信したビデオピクチャを並べ替えて、正しい復号順序を形成し得る。さらに、各サブトラックフラグメントの階層を記述する情報、たとえば、時間スケーラビリティ、フレームレート、および再生速度（play rate）は、早送りとして使用されるときにシグナリングされ得る。
【００２７】
[0036]宛先デバイスは、様々な理由で特定の階層レベルまでのピクチャのみを取り出すように構成され得る。たとえば、宛先デバイスは、ビデオファイルの最大利用可能フレームレートよりも低い最大フレームレートをサポートし得る。別の例として、宛先デバイスは、標準再生速度（playback rate）の２倍、４倍、８倍、または他の倍数の速度での早送り再生など、「トリックモード」をサポートし得る。このようにして、本開示の技法は、時間スケーラビリティをサポートし得る。
【００２８】
[0037]本開示の技法は、ＩＳＯベースメディアファイルフォーマット、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）ファイルフォーマット、Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）ファイルフォーマット、スケーラブルビデオコーディング（ＳＶＣ）ファイルフォーマット、および／またはマルチビュービデオコーディング（ＭＶＣ）ファイルフォーマットのいずれか、あるいは他の同様のビデオファイルフォーマットに準拠するビデオファイルに適用され得る。さらに、階層レベルは、これらまたは他のビデオファイルフォーマットによる階層レベルであり得る。たとえば、ＳＶＣに関して、階層レベルは、コーディングの様々なレイヤ、たとえば、ベースレイヤおよび１つまたは複数のエンハンスメントレイヤに対応し得る。別の例として、ＭＶＣに関して、階層レベルは様々なビューに対応し得る。
【００２９】
[0038]ＩＳＯベースメディアファイルフォーマットは、メディアの交換、管理、編集、およびプレゼンテーションを可能にする、フレキシブルな、拡張可能なフォーマットでのプレゼンテーションのための、時限メディア情報を含んでいるように設計される。ＩＳＯベースメディアファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１２：２００４）は、時間ベースメディアファイルのための一般的な構造を定義するＭＰＥＧ−４  Ｐａｒｔ１２において規定されている。それは、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣビデオ圧縮のサポートを定義したＡＶＣファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１５）、３ＧＰＰファイルフォーマット、ＳＶＣファイルフォーマット、およびＭＶＣファイルフォーマットなどのファミリー中の他のファイルフォーマットに対する基準として使用される。３ＧＰＰファイルフォーマットおよびＭＶＣファイルフォーマットはＡＶＣファイルフォーマットの拡張である。ＩＳＯベースメディアファイルフォーマットは、オーディオビジュアルプレゼンテーションなどのメディアデータの時限シーケンスのためのタイミング、構造、およびメディア情報を含んでいる。ファイル構造はオブジェクト指向であり得る。ファイルは、非常に単純に基本オブジェクトに分解され得、オブジェクトの構造はそれらのタイプから暗示される。
【００３０】
[0039]ＭＰＥＧ−１およびＭＰＥＧ−２の例では、Ｂ符号化ピクチャが自然時間スケーラビリティを与える。ＭＰＥＧ−１またはＭＰＥＧ−２に準拠するビデオファイルのトラックは、Ｉ符号化ピクチャとＰ符号化ピクチャとＢ符号化ピクチャとのフルセットを含み得る。Ｂ符号化ピクチャをドロップすることによって、ビデオファイルは、準拠する１／２解像度ビデオ表現を達成し得る。ＭＰＥＧ−１およびＭＰＥＧ−２はまた、２つの時間レイヤをコーディングするためにベースレイヤ及びエンハンスメントレイヤ概念を与え、エンハンスメントレイヤピクチャは、各予測方向について、参照としてベースレイヤまたはエンハンスメントレイヤのいずれかからのピクチャを選択することができる。したがって、ビデオファイル内に含まれる、Ｉ符号化ピクチャとＰ符号化ピクチャとＢ符号化ピクチャとのフルセットよりも少ない符号化ピクチャを、宛先デバイスは要求でき、ソースデバイスは提供できる。ソースデバイスによって宛先デバイスに与えられたビデオデータは、依然としてＭＰＥＧ−１とＭＰＥＧ−２とに準拠し、符号化ピクチャの元のフルセットの１／２の（またはそれよりも低い）解像度を有し得る。
【００３１】
[0040]別の例として、Ｈ．２６４／ＡＶＣは、階層Ｂ符号化ピクチャを使用して、時間スケーラビリティをサポートする。Ｈ．２６４／ＡＶＣにおけるビデオシーケンスの第１のピクチャは、キーピクチャとしても知られる瞬時デコーダリフレッシュ（ＩＤＲ：Instantaneous Decoder Refresh）ピクチャと呼ばれることがある。キーピクチャは、一般に、動き補償予測のための参照として前のキーピクチャを使用したイントラ符号化またはインター符号化のいずれかである、規則的または不規則な間隔でコーディングされる。ピクチャグループ（ＧＯＰ）は、概して、キーピクチャと、そのキーピクチャと前のキーピクチャとの間に時間的に配置されるすべてのピクチャとを含む。ＧＯＰは、２つの部分に分割でき、一方はキーピクチャであり、他方は非キーピクチャを含む。非キーピクチャは、過去および将来からのより低い時間レベルの最も近いピクチャである２つの参照ピクチャによって階層的に予測される。
【００３２】
[0041]ピクチャの階層位置、すなわち、ピクチャが対応する階層レイヤを示すために、時間識別子値が各ピクチャに割り当てられ得る。したがって、Ｎまでの時間識別子値をもつピクチャは、Ｎ−１までの時間識別子値をもつピクチャによって形成されるビデオセグメントのフレームレートの２倍のフレームレートをもつビデオセグメントを形成し得る。したがって、本開示の技法は、宛先デバイスがサブトラックフラグメントのうちの１つまたは複数を要求し得るが、ムービーフラグメントのサブトラックフラグメントのフルセットよりも少ないサブトラックフラグメントを要求し得るように、サブトラックフラグメントにコード化ビデオピクチャを配列することによって、Ｈ．２６４／ＡＶＣにおける時間スケーラビリティを達成するためにも使用され得る。すなわち、宛先デバイスは、Ｎよりも少ないかまたはＮに等しい時間識別子を有するサブトラックフラグメントを要求し得る。
【００３３】
[0042]ＩＳＯベースメディアファイルフォーマット（およびそれの拡張）に準拠するファイルは、「ボックス」と呼ばれる一連のオブジェクトとして形成され得る。ＩＳＯベースメディアファイルフォーマットのデータは、他のいかなるデータもボックスの外部のファイル内に含まれる必要がないように、ボックス中に含まれている。これは、特定のファイルフォーマットによって必要とされる初期シグナチャを含む。「ボックス」は、一意のタイプ識別子と長さとによって定義されるオブジェクト指向ビルディングブロックであり得る。一般に、プレゼンテーションは１つのファイル中に含まれ、メディアプレゼンテーションは独立型（self-contained）である。ムービーコンテナ（ムービーボックス）はメディアのメタデータを含んでいることがあり、ビデオおよびオーディオフレームは、メディアデータコンテナ中に含まれていることがあり、他のファイル中にあり得る。
【００３４】
[0043]プレゼンテーション（動きシーケンス）は、いくつかのファイル中に含まれていることがある。タイミングおよびフレーミング（位置およびサイズ）情報は概してＩＳＯベースメディアファイル中にあり、補助ファイルは本質的に任意のフォーマットを使用し得る。このプレゼンテーションは、プレゼンテーションを含んでいるシステムに対して「ローカル」であり得るか、あるいはネットワークまたは他のストリーム配信機構を介して与えられ得る。
【００３５】
[0044]ファイルは、論理構造と時間構造と物理構造とを有し得、これらの構造は結合される必要はない。ファイルの論理構造は、時間並列トラックのセットを含んでいるムービーであり得る。ファイルの時間構造は、トラックが時間的なピクチャのシーケンスを含んでおり、それらのシーケンスは、オプションのエディットリストによってムービー全体のタイムラインにマッピングされるものであり得る。ファイルの物理構造は、メディアデータサンプル自体から、論理、時間、および構造的分解のために必要とされるデータを分離し得る。この構造的情報は、ムービーボックス中に集められ、場合によってはムービーフラグメントボックスによって時間的に拡張され得る。ムービーボックスは、サンプルの論理関係およびタイミング関係をドキュメント化し、また、サンプルが配置される場所へのポインタを含んでいることがある。それらのポインタは、たとえば、ＵＲＬによって参照される同じファイルまたは別のファイルへのものであり得る。
【００３６】
[0045]各メディアストリームは、そのメディアタイプ（オーディオ、ビデオなど）に専用のトラック中に含まれていることがあり、さらにサンプルエントリによってパラメータ表示され得る。サンプルエントリは、厳密なメディアタイプ（ストリームを復号するために必要とされるデコーダのタイプ）の「名前」と、必要とされるそのデコーダのパラメータ表示を含んでいることがある。名前はまた、４文字コード、たとえば、「ｍｏｏｖ」、または「ｔｒａｋ」の形態をとり得る。ＭＰＥＧ−４メディアについてだけでなく、このファイルフォーマットファミリーを使用する他の編成によって使用されるメディアタイプについても、定義済みのサンプルエントリフォーマットがある。
【００３７】
[0046]メタデータのサポートは、概して２つの形態をとる。第１に、時限メタデータが、適切なトラックに記憶され得、必要に応じて、それが表しているメディアデータと同期され得る。第２に、ムービーまたは個々のトラックにアタッチされた非時限メタデータの全般的サポートがあり得る。構造的サポートは、全般的であり、メディアデータの場合のように、ファイル中の他の場所または別のファイル中でのメタデータリソースの記憶を可能にする。さらに、これらのリソースは名前付きであり得、保護され得る。
【００３８】
[0047]ＩＳＯベースメディアファイルフォーマットでは、サンプルグルーピングは、１つのサンプルグループのメンバーであるべきトラック中のサンプルの各々の割当てである。サンプルグループ中のサンプルは連続する必要はない。たとえば、ＡＶＣファイルフォーマットにおけるＨ．２６４／ＡＶＣを提示するとき、１つの時間レベルのビデオサンプルは、１つのサンプルグループにサンプリングされ得る。サンプルグループは、ＳａｍｐｌｅＴｏＧｒｏｕｐボックス（ｓｂｄｐ）とＳａｍｐｌｅＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎボックスとの２つのデータ構造によって表され得る。ＳａｍｐｌｅＴｏＧｒｏｕｐボックスは、サンプルグループへのサンプルの割当てを表す。各サンプルグループエントリに対しＳａｍｐｌｅＧｒｏｕｐＤｅｓｃｒｉｐｔｉｏｎボックスの一例があり、対応するグループのプロパティについて説明する。
【００３９】
[0048]オプションのメタデータトラックは、各トラックにそれが有する「興味深い特性」をタグ付けするために使用され、その値は、グループの他のメンバー（たとえば、それのビットレート、スクリーンサイズ、または言語）とは異なり得る。トラック内のいくつかのサンプルは、特殊な特性を有し得るか、または個々に識別され得る。その特性の一例は、同期ポイント（しばしば、ビデオＩフレーム）である。これらのポイントは、各トラック中の特殊なテーブルによって識別され得る。より一般には、トラックサンプル間の依存性の性質は、メタデータを使用してドキュメント化されることもある。メタデータは、ちょうどビデオトラックのように、ファイルフォーマットサンプルのシーケンスとして構造化され得る。そのようなトラックはメタデータトラックと呼ばれることがある。各メタデータサンプルはメタデータ文として構造化され得る。対応するファイルフォーマットサンプルまたはそれの構成サンプルについて質問され得る様々な質問に対応する、様々な種類の文がある。
【００４０】
[0049]メディアがストリーミングプロトコルを介して配信されるとき、メディアは、それがファイルにおいて表される形から変換される必要があり得る。この一例は、メディアがリアルタイムプロトコル（ＲＴＰ）を介して送信されるときである。ファイルでは、たとえば、ビデオの各フレームが、ファイルフォーマットサンプルとして連続して記憶される。ＲＴＰでは、これらのフレームをＲＴＰパケット中に配置するために、使用されるコーデックに固有のパケット化ルールが順守されなければならない。ストリーミングサーバは、実行（run-time）時にそのようなパケット化を計算するように構成され得る。ただし、ストリーミングサーバの支援のサポートがある。ヒントトラックと呼ばれる特殊なトラックがファイルに入れられ得る。
【００４１】
[0050]ヒントトラックは、特定のプロトコルのためのメディアトラックからどのようにパケットストリームを形成するかに関する、ストリーミングサーバのための一般的な命令を含んでいる。これらの命令の形態はメディア独立型であるので、新しいコーデックが導入されたときにサーバが修正される必要がないことがある。さらに、符号化および編集ソフトウェアはストリーミングサーバに気づいていないことがある。ファイル上で編集が完了すると、ファイルをストリーミングサーバに置く前に、ヒントトラックをファイルに追加するために、ヒンター（hinter）と呼ばれる１個のソフトウェアが使用され得る。一例として、ＭＰ４ファイルフォーマット規格におけるＲＴＰストリームのための定義されたヒントトラックフォーマットがある。
【００４２】
[0051]３ＧＰ（３ＧＰＰファイルフォーマット）は、３Ｇ  ＵＭＴＳマルチメディアサービスのためのＴｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）によって定義されたマルチメディアコンテナフォーマットである。これは、一般に、３Ｇモバイルフォンおよび他の３Ｇ対応デバイス上で使用されるが、一部の２Ｇおよび４Ｇフォンならびに２Ｇおよび４Ｇデバイス上でも再生され得る。３ＧＰＰファイルフォーマットはＩＳＯベースメディアファイルフォーマットに基づく。最新の３ＧＰは、３ＧＰＰ  ＴＳ２６．２４４、「Transparent end-to-end packet switched streaming service (PSS); 3GPP file format (3GP)」において規定されている。３ＧＰＰファイルフォーマットは、ビデオストリームをＭＰＥＧ−４  Ｐａｒｔ２またはＨ．２６３またはＭＰＥＧ−４  Ｐａｒｔ１０（ＡＶＣ／Ｈ．２６４）として記憶する。３ＧＰＰは、ＩＳＯベースメディアファイルフォーマット（ＭＰＥＧ−４  Ｐａｒｔ１２）でのサンプルエントリおよびテンプレートフィールドの使用、ならびにコーデックが参照する新しいボックスを定義することを規定しているので、３ＧＰＰは、ＩＳＯベースメディアファイルフォーマットでのＡＭＲおよびＨ．２６３コーデックの使用を可能にする。３ＧＰファイルにおけるＭＰＥＧ−４メディア固有情報の記憶のために、３ＧＰ仕様は、同じくＩＳＯベースメディアファイルフォーマットに基づくＭＰ４およびＡＶＣファイルフォーマットに言及している。ＭＰ４およびＡＶＣファイルフォーマット仕様には、ＩＳＯベースメディアファイルフォーマットのＭＰＥＧ−４コンテンツの使用が記載されている。
【００４３】
[0052]ＩＳＯベースメディアファイルフォーマット仕様はトラックの代替グループを定義している。代替グループは利用可能な全トラックのサブセットを含み、各トラックは１つの代替グループに対応し得る。概して、宛先デバイスは、代替グループ中の他のトラックを除外して、各代替グループから１つのトラックを選択し得る。３ＧＰＰファイルフォーマット仕様は、代替グループと同様である、トラックの切替えグループを定義している。ダウンロードストリーミングおよび再生中に、宛先デバイスは、切替えグループの異なるトラック間で切り替え得る。すなわち、同じ切替えグループ中のトラックは、セッション中の切替えのために利用可能であるが、異なる切替えグループ中のトラックは、一般に、切替えのために利用可能でない。
【００４４】
[0053]ＳＶＣファイルフォーマットは、ＡＶＣファイルフォーマットの拡張として、エクトラクタ(extractor)およびティア（tier）の構造を与える。エクトラクタは、別のトラック中の等しい復号時間をもつサンプル中のビデオコーディングデータの位置およびサイズに関する情報を与えるポインタである。これは、トラック階層をコーディング領域に直接組み込むことを可能にする。ＳＶＣにおけるエクトラクタトラックは、それがそこから実行時にデータを抽出する１つまたは複数のベーストラックにリンクされる。エクトラクタは、ＳＶＣ拡張をもつＮＡＬユニットヘッダをもつデリファレンス可能なポインタである。抽出のために使用されるトラックが異なるフレームレートのビデオコーディングデータを含んでいる場合、エクトラクタはまた、トラック間の同期性を保証するために復号時間オフセットを含んでいる。実行時に、エクトラクタは、ストリームがビデオデコーダに受け渡される前に、それが指すデータと置き換えられなければならない。
【００４５】
[0054]ＳＶＣにおけるエクトラクタトラックはビデオコーディングトラックのように構造化されるので、それらは、異なる方法で必要とするサブセットを表し得る。ＳＶＣエクトラクタトラックは、別のトラックからデータをどのように抽出するかに関する命令のみを含む。ＳＶＣファイルフォーマットには、サンプル内のＮＡＬユニットを１つのＮＡＬユニットとして一緒にアグリゲートすることができるアグリゲータもあり、このアグリゲータは、１つのレイヤ中の複数のＮＡＬユニットを１つにアグリゲータにアグリゲートすることを含む。ＳＶＣにおけるエクトラクタは、サンプルまたはアグリゲータからある範囲のバイトを抽出するか、あるいはただ１つのＮＡＬユニット全体を抽出するが、複数のＮＡＬユニット、特にサンプル中で連続しないＮＡＬユニットを抽出しないように設計される。ＳＶＣファイルフォーマットには、多くのビデオオペレーションポイントがあり得る。ティアは、オペレーションポイントのための１つまたは複数のトラック中のサンプルをグループ化するように設計される。
【００４６】
[0055]また、ＭＶＣファイルフォーマットは、あるフレームレートのビューのサブセットであるオペレーションポイントを形成するために異なるビューからＮＡＬユニットを抽出するエクトラクタトラックをサポートする。ＭＶＣエクトラクタトラックの設計は、ＳＶＣファイルフォーマットのエクトラクタと同様である。しかしながら、代替グループを形成するためにＭＶＣエクトラクタトラックを使用することはサポートされない。トラック選択をサポートするために、以下のＭＰＥＧ提案、すなわちＰ．Ｆｒｏｊｄｈ、Ａ．ＮｏｒｋｉｎおよびＣ．Ｐｒｉｄｄｌｅ、「File format sub-track selection and switching」、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ  Ｍ１６６６５、Ｌｏｎｄｏｎ  ＵＫ、がＭＰＥＧに提案されている。この提案では、サブトラックレベルでの代替／切替えグループ概念を可能にすることを試みている。
【００４７】
[0056]マップサンプルグループはサンプルグループへの拡張である。マップサンプルグループでは、（サンプルの）各グループエントリは、その記述子である「ｇｒｏｕｐＩＤ」を有し、これは、おそらく、ビュー中の複数のＮＡＬユニットを１つのＮＡＬユニットにアグリゲートした後の、実際のｖｉｅｗ＿ｉｄへのマップである。言い換えれば、各サンプルグループエントリは、ＳｃａｌａｂｌｅＮＡＬＵＭａｐＥｎｔｒｙ値に記載されている、それの含んでいるビューを有する。このサンプルグループエントリのｇｒｏｕｐｉｎｇ＿ｔｙｐｅは「ｓｃｎｍ」である。
【００４８】
[0057]「プログレッシブダウンロード」という用語は、一般に、ＨＴＴＰプロトコルを使用した、サーバからクライアントへのデジタルメディアファイルの転送を説明するために使用される。コンピュータから開始されるとき、コンピュータは、ダウンロードが完了する前にメディアの再生を開始し得る。ストリーミングメディアとプログレッシブダウンロードとの間の１つの相違は、デジタルメディアにアクセスしているエンドユーザデバイスによるデジタルメディアデータの受信および記憶の方法にある。プログレッシブダウンロード再生が可能であるメディアプレーヤは、ファイルのヘッダ中に配置されたメタデータが損なわれていないことと、ウェブサーバからダウンロードされたときのデジタルメディアファイルのローカルバッファとに依存する。指定された量のデータがローカル再生デバイスに利用可能になった時点で、デバイスはメディアを再生し始め得る。この指定された量のバッファは、エンコーダ設定においてコンテンツの製作者によってファイルに埋め込まれ、クライアントコンピュータのメディアプレーヤによって課される追加のバッファ設定によって補強され得る。
【００４９】
[0058]ＡＶＣおよび３ＧＰＰはＩＳＯベースメディアファイルフォーマットの拡張であり、ＳＶＣおよびＭＶＣはＡＶＣファイルフォーマットの拡張である。したがって、本開示の技法は、ＩＳＯベースメディアファイルフォーマット、ＡＶＣファイルフォーマット、およびそれらの拡張、たとえば、ＳＶＣおよびＭＶＣ、ならびに／あるいは３ＧＰＰファイルフォーマットに準拠するビデオファイルに対して適用され得る。本技法は、これらのフォーマットのこれらおよび他の拡張にさらに適用され得、サブトラックフラグメントにＨＴＴＰストリーミングのための様々なファイルフォーマットでのビデオサンプルのアセンブルを与えるように他のファイルフォーマットを拡張するためにさらに適用され得る。
【００５０】
[0059]別の例として３ＧＰＰに関して、３ＧＰＰファイルをダウンロードおよびプログレッシブダウンロードするためにＨＴＴＰ／ＴＣＰ／ＩＰトランスポートがサポートされる。さらに、ビデオストリーミングのためにＨＴＴＰを使用することはいくつかの利点を与え、ＨＴＴＰに基づくビデオストリーミングサービスが普及しつつある。ＨＴＴＰストリーミングは、ネットワーク上でビデオデータをトランスポートするための新しい技法を開発するために新たな労力が必要とされないように、既存のインターネットコンポーネントおよびプロトコルが使用され得ることを含むいくつかの利点を与え得る。他のトランスポートプロトコル、たとえばＲＴＰペイロードフォーマットは、メディアフォーマットおよびシグナリングコンテキストを認識するために、中間ネットワークデバイス、たとえばミドルボックスを必要とする。また、ＨＴＴＰストリーミングはクライアント主導型であり得、それにより、制御問題を回避し得る。
【００５１】
[0060]たとえば、最適性能を取得するための特徴を活用するために、サーバは、まだ肯定応答されていないパケットのサイズとコンテンツとを追跡し得る。サーバはまた、ＲＤ最適切替え／シニング（thinning）決定を行うために、ファイル構造を分析し、クライアントバッファの状態を再構成し得る。さらに、ネゴシエートされたプロファイルに準拠した状態を保つために、ビットストリーム変動に関する制約が満たされ得る。ＨＴＴＰは、ＨＴＴＰ１．１が実装されたウェブサーバにおいて、新しいハードウェアまたはソフトウェア実装を必ずしも必要とはしない。ＨＴＴＰストリーミングはまた、ＴＣＰフレンドリネスとファイアウォール・トラバーサル（traversal）とを実現する。
【００５２】
[0061]ＨＴＴＰストリーミングでは、頻繁に使用される動作にはＧＥＴおよびパーシャル（partial）ＧＥＴがある。ＧＥＴ動作は、所与のユニフォームリソースロケータ（ＵＲＬ）またはユニフォームリソースネーム（ＵＲＮ）に関連するファイル全体を取り出す。パーシャルＧＥＴ動作は、入力パラメータとしてバイト範囲を受信し、受信したバイト範囲に対応するファイルの連続するいくつかのバイトを取り出す。したがって、パーシャルＧＥＴ動作は１つまたは複数の個々のムービーフラグメントを得ることができるので、ＨＴＴＰストリーミングのための複数のムービーフラグメントが与えられ得る。１つのムービーフラグメントには、異なる複数のトラックのいくつかのトラックフラグメントがあり得ることに留意されたい。ＨＴＴＰストリーミングでは、メディアプレゼンテーションは、クライアントがアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。
【００５３】
[0062]図１は、オーディオ／ビデオ（Ａ／Ｖ）ソースデバイス２０がオーディオおよびビデオデータをＡ／Ｖ宛先デバイス４０に送る例示的なシステム１０を示すブロック図である。図１のシステム１０は、ビデオ通信会議システム、サーバ／クライアントシステム、放送事業者／受信機システム、またはＡ／Ｖソースデバイス２０などのソースデバイスからＡ／Ｖ宛先デバイス４０などの宛先デバイスにビデオデータが送られる任意の他のシステムに対応し得る。いくつかの例では、Ａ／Ｖソースデバイス２０およびＡ／Ｖ宛先デバイス４０は双方向情報交換を実行し得る。すなわち、Ａ／Ｖソースデバイス２０およびＡ／Ｖ宛先デバイス４０は、オーディオおよびビデオデータの符号化と復号（および、送信と受信）の両方が可能であり得る。いくつかの例では、オーディオエンコーダ２６は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
【００５４】
[0063]Ａ／Ｖソースデバイス２０は、図１の例では、オーディオソース２２とビデオソース２４とを備える。オーディオソース２２は、たとえば、オーディオエンコーダ２６によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース２２は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース２４は、ビデオエンコーダ２８によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。
【００５５】
[0064]未処理（生）オーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ２６および／またはビデオエンコーダ２８によって符号化される前にデジタル化され得る。オーディオソース２２は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオソース２４は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース２２は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース２４は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。
【００５６】
[0065]ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれている、ビデオソース２４によってキャプチャされたビデオデータと同時にオーディオソース２２によってキャプチャされたオーディオデータを含んでいるオーディオフレームである。たとえば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオソース２２はオーディオデータをキャプチャし、同時に、すなわちオーディオソース２２がオーディオデータをキャプチャしている間、ビデオソース２４は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、１つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時にキャプチャされる状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。
【００５７】
[0066]いくつかの例では、オーディオエンコーダ２６は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し、同様に、ビデオエンコーダ２８は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと同じタイムスタンプを備えるビデオフレームとを備え得る。Ａ／Ｖソースデバイス２０は、オーディオエンコーダ２６および／またはビデオエンコーダ２８がタイムスタンプを生成する、あるいはオーディオソース２２およびビデオソース２４がオーディオおよびビデオデータをタイムスタンプに関連付けるために使用する、内部クロックを含み得る。
【００５８】
[0067]いくつかの例では、オーディオソース２２は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ２６に送り、ビデオソース２４は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ２８に送り得る。いくつかの例では、オーディオエンコーダ２６は、必ずしもオーディオデータが記録された絶対時刻を示すことなしに、符号化オーディオデータの相対的時間順序付けを示すために、符号化オーディオデータ中のシーケンス識別子を符号化し、同様に、ビデオエンコーダ２８も、符号化ビデオデータの相対的時間順序付けを示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、または場合によってはタイムスタンプと相関し得る。
【００５９】
[0068]本開示の技法は、概して、符号化マルチメディア（たとえば、オーディオおよびビデオ）データの記憶およびトランスポートと、トランスポートされたマルチメディアデータの受信ならびに後続の解釈および復号とを対象とする。図１の例に示すように、ビデオソース２４はシーンの複数のビューをビデオエンコーダ２８に与え得る。
【００６０】
[0069]Ａ／Ｖソースデバイス２０は、Ａ／Ｖ宛先デバイス４０に「サービス」を提供し得る。サービスは、概して、ＭＶＣデータの利用可能なビューのサブセットに対応する。たとえば、ＭＶＣデータは、０から７まで順序付けられた８つのビューについて利用可能であり得る。あるサービスは、２つのビューを有するステレオビデオに対応し得るが、別のサービスは４つのビューに対応し得、さらに別のサービスは８つのビューすべてに対応し得る。概して、サービスは、利用可能なビューの任意の組合せ（すなわち、任意のサブセット）に対応する。サービスはまた、利用可能なビューならびにオーディオデータの組合せに対応し得る。Ａ／Ｖソースデバイス２０が、Ａ／Ｖソースデバイス２０によって提供されるサービスごとにオペレーションポイント記述子をさらに与え得るように、オペレーションポイントがサービスに対応し得る。
【００６１】
[0070]各個のデータストリームは（オーディオかビデオかにかかわらず）エレメンタリ(elementary)ストリームと呼ばれる。エレメンタリストリームは、デジタル的にコーディングされた（場合によっては圧縮された）プログラムの単一の構成要素である。たとえば、プログラムのコーディングされたビデオまたはオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム（ＰＥＳ：packetized elementary stream）に変換され得る。同じプログラム内では、１つのエレメンタリストリームに属するＰＥＳパケットを他のものから区別するためにストリームＩＤが使用される。エレメンタリストリームの基本データ単位はパケット化エレメンタリストリーム（ＰＥＳ）パケットである。したがって、ＭＶＣビデオデータの各ビューはそれぞれのエレメンタリストリームに対応する。同様に、オーディオデータは１つまたは複数のそれぞれのエレメンタリストリームに対応する。
【００６２】
[0071]ＭＶＣコード化ビデオシーケンスは、いくつかのサブビットストリームに分離され、各サブビットストリームはエレメンタリストリームである。各サブビットストリームは、ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットを使用して識別され得る。各ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットの概念に基づいて、ＭＶＣビデオサブビットストリームが定義される。１つのＭＶＣビデオサブビットストリームは、ＭＶＣ  ｖｉｅｗ＿ｉｄサブセットに記載されているビューのＮＡＬユニットを含んでいる。プログラムストリームは、概して、エレメンタリストリームのものであるＮＡＬユニットのみを含んでいる。それはまた、２つのエレメンタリストリームが同じビューを含むことができないように設計されているが、代わりに、ビュー、たとえば、３次元効果を生成するためのシーンの異なるパースペクティブ（perspective）を含むことがある。
【００６３】
[0072]図１の例では、カプセル化ユニット３０は、ビデオエンコーダ２８からビデオデータを備えるエレメンタリストリームを受信し、オーディオエンコーダ２６からオーディオデータを備えるエレメンタリストリームを受信する。いくつかの例では、ビデオエンコーダ２８およびオーディオエンコーダ２６はそれぞれ、符号化データからＰＥＳパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ２８およびオーディオエンコーダ２６はそれぞれ、符号化データからＰＥＳパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、カプセル化ユニット３０は、符号化オーディオデータと符号化ビデオデータとからＰＥＳパケットを形成するためのパケッタイザを含み得る。
【００６４】
[0073]本開示で使用する「プログラム」は、オーディオデータとビデオデータとの組合せ、たとえば、Ａ／Ｖソースデバイス２０のサービスによって配信されたオーディオエレメンタリストリームと利用可能なビューのサブセットとを備え得る。各ＰＥＳパケットは、ＰＥＳパケットが属するエレメンタリストリームを識別するｓｔｒｅａｍ＿ｉｄを含む。カプセル化ユニット３０は、エレメンタリストリームをビデオファイルにアセンブルすることを担当する。
【００６５】
[0074]カプセル化ユニット３０は、オーディオエンコーダ２６とビデオエンコーダ２８とからプログラムのエレメンタリストリームのＰＥＳパケットを受信し、ＰＥＳパケットから対応するネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成する。Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）の例では、コード化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるＮＡＬユニットに編成される。ＮＡＬユニットは、Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとに分類され得る。ＶＣＬユニットは、コア圧縮エンジンを含み、ブロック、マクロブロック、および／またはスライスレベルのデータを含み得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットである。いくつかの例では、１つの時間インスタンス中のコード化ピクチャは、通常は１次コード化ピクチャとして提示され、１つまたは複数のＮＡＬユニットを含む１つのアクセスユニット中に含まれる。
【００６６】
[0075]非ＶＣＬ  ＮＡＬユニットは、特に、パラメータセットＮＡＬユニットとＳＥＩ  ＮＡＬユニットとを含み得る。パラメータセットは、（シーケンスパラメータセット（ＳＰＳ：sequence parameter set）中の）シーケンスレベルヘッダ情報と（ピクチャパラメータセット（ＰＰＳ：picture parameter set）中の）まれに変化するピクチャレベルヘッダ情報とを含む。パラメータセット（たとえば、ＰＰＳおよびＳＰＳ）がある場合、まれにしか変化しない情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、ＳＥＩ  ＮＡＬユニットなど、他のＮＡＬユニットとは異なるチャネル上でパラメータセットＮＡＬユニットが送信され得る。
【００６７】
[0076]本開示の技法によれば、カプセル化ユニット３０は、ビデオサンプルをサブトラックフラグメントにアセンブルし、各サブトラックフラグメントは特定の階層レイヤ、たとえば、時間レイヤに対応し得る。カプセル化ユニット３０はまた、連続するバイトのセットとしてビデオファイル中の各サブトラックフラグメントを提示する。いくつかの例では、サブトラックフラグメントは通常の符号化サンプルのみを含む。いくつかの例では、サブトラックフラグメントは、通常のサンプルならびに現在のムービーフラグメント中の１つまたは複数の前のサブトラックフラグメント中のサンプルを指すリアセンブラサンプルを含む。さらに、いくつかの例では、サブトラックフラグメントはリアセンブラサンプルのみを含む。
【００６８】
[0077]概して、上位レイヤのサブトラックフラグメントのサンプルは、下位レイヤのサブトラックフラグメントのサンプルに関して符号化される。カプセル化ユニット３０は、宛先デバイス４０が所望のレイヤよりも上位レイヤの取出しを要求することなしに所望のレイヤまでのサンプルを取り出し得るように、下位レイヤのサブトラックフラグメントのサンプルが上位レイヤのサンプルに依存しないことを保証し得る。このようにして、宛先デバイス４０は、１つまたは複数のサブトラックフラグメントを取り出したいというＨＴＴＰパーシャルＧＥＴ要求を１回サブミットする。たとえば、宛先デバイス４０は、各所望のレイヤについての１つの要求をサブミットし得る。レイヤがファイル内で連続して配列されると、宛先デバイス４０は、複数のレイヤについてのデータを取り出したいという要求をサブミットし得る。
【００６９】
[0078]いくつかの例では、カプセル化ユニット３０は、２つ以上のサブトラックフラグメントのコード化ビデオピクチャを復号順序にどのように並べ替えるかを示す、ビデオファイル中の並べ替え情報をシグナリングする。たとえば、上記で説明したように、カプセル化ユニット３０は、サブトラックフラグメント中のリアセンブラオブジェクトを含む。概して、リアセンブラオブジェクトは、前のサブトラックフラグメント中の、たとえば、同じまたは下位レベルサブトラックフラグメント内の符号化ビデオサンプルへのポインタとして働き得る。宛先デバイス４０は、サブトラックフラグメントが受信された後に、リアセンブラオブジェクトを使用して、サンプルを並べ替える。たとえば、ビデオファイルのサブトラックフラグメントを取り出したいという１つまたは複数の要求を使用した後に、宛先デバイス４０のカプセル化解除ユニット３８は、ビデオデコーダ４８がサンプルを復号する前に、リアセンブラオブジェクトを使用して、復号順序でコード化ビデオサンプルをアセンブルする。カプセル化解除ユニット３８は、前のサブトラックフラグメント中のサンプルを参照することによってサンプルを多重化するための開始点としてバイト順序で最新のサブトラックフラグメントを使用し得る。リアセンブラオブジェクトは、参照されたサンプルの位置と、リアセンブラオブジェクトによって参照されたサンプルを含むサブトラックフラグメントのインデックスとを含み得る。
【００７０】
[0079]さらに、カプセル化ユニット３０がサブトラックフラグメント中のリアセンブラオブジェクトを含むとき、カプセル化ユニット３０は、１つまたは複数のサブトラックフラグメントの特性を記述する、（代替的に、「再アセンブルヘッダ」と呼ばれることがある）多重分離(de-multiplexing)ヘッダをさらに含み得る。カプセル化ユニット３０は、たとえば、ムービーボックス、ムービーフラグメントヘッダ、および／またはトラックフラグメントヘッダなど、様々なロケーションにおける多重分離ヘッダを含み得る。多重分離ヘッダは、各サブトラックフラグメントについての一意の識別子と、対応するサブトラックフラグメントについてのバイト範囲と、各サブトラックフラグメント中のピクチャの数と、サブトラックフラグメントのタイミング情報とを指定し得る。タイミング情報は、サンプルまたは協定世界時（ＵＴＣ）に関して相対的タイミング情報として記述され得る。カプセル化ユニット３０は、サブトラックフラグメントが異なるフレームレートまたは時間レベルをもつレイヤに対応しないとき、そのようなタイミング情報を含む必要はない。
【００７１】
[0080]いくつかの例では、たとえば、ＳＶＣおよびＭＶＣに関して、コード化ビデオサンプルの複数のレイヤは共通のトラック内に含まれる。たとえば、（たとえば、ＳＶＣにおける）複数の符号化レイヤおよび（たとえば、ＭＶＣにおける）複数のビューは、ビデオファイルのトラック内に含まれる。カプセル化ユニット３０は、関連する階層レイヤをそれぞれのサブトラックフラグメントに分離する。各サブトラックフラグメントは、次元、時間レイヤ、信号対雑音比レイヤ、空間レイヤ、またはビューなど、共通のレイヤに対応し得る。上記のように、各サブトラックフラグメントについてのデータは、データの連続するバイトとしてビデオファイル中に含まれる。
【００７２】
[0081]カプセル化ユニット３０は、特定のサブトラックフラグメントを含むものとしてオペレーションポイントをさらに定義し得る。特に、カプセル化ユニット３０は、時間レベル（ｔｅｍｐｏｒａｌ＿ｉｄ）、ｑｕａｌｉｔｙ＿ｉｄ、ｄｅｐｅｎｄｅｎｃｙ＿ｉｄ、および／またはｖｉｅｗ＿ｉｄを含む、オペレーションポイントの特性を定義し得る。ＳＶＣに対応する例では、その特性は、ＳＶＣ  ＮＡＬユニットのＮＡＬユニットヘッダ中の値に対応する。ＭＶＣに対応する例では、その特性は、ＭＶＣ  ＮＡＬユニットのＮＡＬユニットヘッダ中の値に対応し得る。いくつかの例では、時間レベルのみがオペレーションポイントの特性として存在する。ＳＶＣのコンテキストでは、ｔｅｍｐｏｒａｌ＿ｉｄ（時間レベル）、ｑｕａｌｉｔｙ＿ｉｄ、およびｄｅｐｅｎｄｅｎｃｙ＿ｉｄが存在し得る。ＭＶＣのコンテキストでは、ｔｅｍｐｏｒａｌ＿ｉｄおよびｖｉｅｗ＿ｉｄが存在し得る。
【００７３】
[0082]いくつかの例では、オペレーションポイントの特性は、サブトラックフラグメントのインデックスへの上記の特性のマップをさらに含む。さらに、オペレーションポイント特性は、コーデック情報、プロファイルインジケータ（ｐｒｏｆｉｌｅ＿ｉｄｃ）、レベルインジケータ（ｌｅｖｅｌ＿ｉｄｃ）、オペレーションポイントのためのフレームレート、オペレーションポイントのための平均ビットレート、オペレーションポイントのための最大ビットレート、オペレーションポイントのための空間分解能、オペレーションポイントための出力されるべきビューの数、および／またはオペレーションポイントのための復号されるべきビューの数を含み得る。これらの特性は、それぞれのファイルフォーマットによって定義された既存のオペレーションポイントにマージされ得る。
【００７４】
[0083]カプセル化ユニット３０は、ＮＡＬが属するプログラムを識別するヘッダ、ならびにペイロード、たとえば、オーディオデータ、ビデオデータ、あるいはＮＡＬユニットが対応するトランスポートまたはプログラムストリームを記述するデータを備えるＮＡＬユニットを形成し得る。たとえば、Ｈ．２６４／ＡＶＣでは、ＮＡＬユニットは１バイトのヘッダと変動するサイズのペイロードとを含む。一例では、ＮＡＬユニットヘッダは、ｐｒｉｏｒｉｔｙ＿ｉｄ要素と、ｔｅｍｐｏｒａｌ＿ｉｄ要素と、ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ要素と、ｖｉｅｗ＿ｉｄ要素と、ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素と、ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇ要素とを備える。従来のＭＶＣでは、４バイトＭＶＣ  ＮＡＬユニットヘッダとＮＡＬユニットペイロードとを含む、プレフィックスＮＡＬユニットとＭＶＣコード化スライスＮＡＬユニットとを除いて、Ｈ．２６４によって定義されたＮＡＬユニットが保持される。
【００７５】
[0084]ＮＡＬヘッダのｐｒｉｏｒｉｔｙ＿ｉｄ要素は、単純なワンパス（one-path）ビットストリーム適合プロセスのために使用され得る。ｔｅｍｐｏｒａｌ＿ｉｄ要素は、異なる時間レベルが異なるフレームレートに対応する場合、対応するＮＡＬユニットの時間レベルを指定するために使用され得る。
【００７６】
[0085]ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ要素は、ピクチャがアンカーピクチャであるか非アンカーピクチャであるかを示し得る。アンカーピクチャと出力順序（すなわち、表示順序）でそれに続くすべてのピクチャとは、復号順序（すなわち、ビットストリーム順序）で前のピクチャを復号することなしに正しく復号でき、したがってランダムアクセスポイントとして使用できる。アンカーピクチャと非アンカーピクチャとは異なる依存性を有することができ、その両方はシーケンスパラメータセット中でシグナリングされる。他のフラグについては、本章の以下のセクションで説明され、使用される。そのようなアンカーピクチャは、オープンＧＯＰ（open Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）アクセスポイントと呼ばれ、ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素が０に等しいとき、クローズ(close)ＧＯＰアクセスポイントもサポートされる。ｎｏｎ＿ｉｄｒ＿ｆｌａｇ要素は、ピクチャが瞬時デコーダリフレッシュ（ＩＤＲ）であるかビューＩＤＲ（Ｖ−ＩＤＲ）ピクチャであるかを示す。概して、ＩＤＲピクチャと出力順序またはビットストリーム順序でそれに続くすべてのピクチャとは、復号順序または表示順序のいずれかで前のピクチャを復号することなしに正しく復号され得る。
【００７７】
[0086]ｖｉｅｗ＿ｉｄ要素は、ビューを識別するために使用され得るシンタックス情報を備え、これは、ＭＶＣデコーダ内でのデータインターアクティビティ（interactivity）のために、たとえば、ビュー間予測のために、およびデコーダ外での、たとえば、レンダリングのために使用され得る。ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇ要素は、対応するＮＡＬユニットが他のビューによってビュー間予測のために使用されるかどうかを指定し得る。ＡＶＣに準拠し得る、ベースビューの４バイトＮＡＬユニットヘッダ情報を搬送するために、ＭＶＣにおいてプレフィックスＮＡＬユニットが定義される。ＭＶＣのコンテキストにおいて、ベースビューアクセスユニットは、ビューの現在の時間インスタンスのＶＣＬ  ＮＡＬユニット、ならびにそのプレフィックスＮＡＬユニットを含み、プレフィックスＮＡＬユニットはＮＡＬユニットヘッドのみを含む。Ｈ．２６４／ＡＶＣデコーダはプレフィックスＮＡＬユニットを無視し得る。
【００７８】
[0087]そのペイロード中にビデオデータを含むＮＡＬユニットは、様々な粒度（granularity）レベルのビデオデータを備え得る。たとえば、ＮＡＬユニットは、ビデオデータのブロック、マクロブロック、複数のマクロブロック、ビデオデータのスライス、またはビデオデータのフレーム全体を備える。カプセル化ユニット３０は、ビデオエンコーダ２８から符号化ビデオデータをエレメンタリストリームのＰＥＳパケットの形態で受信し得る。カプセル化ユニット３０は、各エレメンタリストリームを対応するプログラムに関連付け得る。
【００７９】
[0088]カプセル化ユニット３０はまた、複数のＮＡＬユニットからアクセスユニットをアセンブルし得る。概して、１つのアクセスユニットは、1フレームのビデオデータと、そのフレームに対応するオーディオデータが利用可能であるときにそのオーディオデータとを表すための１つまたは複数のＮＡＬユニットを備え得る。１つのアクセスユニットは、概して、１つの出力時間インスタンスにわたるすべてのＮＡＬユニット、たとえば１つの時間インスタンスにわたるすべてのオーディオおよびビデオデータを含む。たとえば、各ビューが２０フレーム毎秒（ｆｐｓ）のフレームレートを有する場合、各時間インスタンスは０．０５秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット（同じ時間インスタンス）のすべてのビューの固有のフレームは同時にレンダリングされ得る。Ｈ．２６４／ＡＶＣに対応する例では、１つのアクセスユニットは、１つの時間インスタンス中のコード化ピクチャを備え、それは１次コード化ピクチャとして提示され得る。したがって、１つのアクセスユニットは、共通の時間インスタンスのすべてのオーディオおよびビデオフレーム、たとえば、時間Ｘに対応するすべてのビューを備え得る。また、本開示では、特定のビューの符号化ピクチャを「ビューコンポーネント」と呼ぶ。すなわち、ビューコンポーネントは、特定の時間における特定のビューの符号化ピクチャ（またはフレーム）を備え得る。したがって、１つのアクセスユニットは、共通の時間インスタンスのすべてのビューコンポーネントを備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示順序と同じである必要はない。
【００８０】
[0089]Ｈ．２６４／ＡＶＣは、誤りのないビットストリームのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれも特定のプロファイルまたはレベルに準拠する。Ｈ．２６４／ＡＶＣはエンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、機能、またはツール、およびそれらに適用される制約のサブセットに対応する。たとえば、Ｈ．２６４規格によって定義される「プロファイル」は、Ｈ．２６４規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびマクロブロック（ＭＢ）処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限に対応する。プロファイルはｐｒｏｆｉｌｅ＿ｉｄｃ（プロファイルインジケータ）値を用いてシグナリングされ得、レベルはｌｅｖｅｌ＿ｉｄｃ（レベルインジケータ）値を用いてシグナリングされ得る。
【００８１】
[0090]Ｈ．２６４規格は、たとえば、与えられたプロファイルのシンタックスによって課される限界内で、復号されたピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダおよびデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。Ｈ．２６４規格は、多くの適用例において、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することが実際的でもなく、経済的でもないことをさらに認識している。したがって、Ｈ．２６４規格は、ビットストリーム中のシンタックス要素の値に課された制約の指定されたセットとして「レベル」を定義している。これらの制約は、値に関する単純な限界であり得る。代替的に、これらの制約は、値の演算の組合せ（たとえば、ピクチャの幅×ピクチャ高さ×毎秒復号されるピクチャの数）に関する制約の形態をとり得る。Ｈ．２６４規格は、個別の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定している。
【００８２】
[0091]プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての機能をサポートする。たとえば、コーディング機能として、Ｂピクチャコーディングは、Ｈ．２６４／ＡＶＣのベースラインプロファイルではサポートされないが、Ｈ．２６４／ＡＶＣの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能である必要がある。プロファイルおよびレベルの定義は、解釈可能にするために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より詳細には、Ｈ．２６４／ＡＶＣでは、レベルは、たとえば、処理する必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファ（ＤＰＢ）サイズと、コード化ピクチャバッファ（ＣＰＢ）サイズと、垂直動きベクトル範囲と、２つの連続するＭＢごとの動きベクトルの最大数と、Ｂブロックが８×８ピクセル未満のサブマクロブロックパーティションを有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを判断し得る。
【００８３】
[0092]ＩＴＵ−Ｔ  Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、ＭＰＥＧ−１、ＭＰＥＧ−２およびＨ．２６４／ＭＰＥＧ−４  ｐａｒｔ１０などのビデオ圧縮規格は、時間冗長性を低減するために動き補償時間予測を利用する。エンコーダは、動きベクトルに従って現在のコード化ピクチャを予測するために、いくつかの前の（本明細書ではフレームとも呼ぶ）符号化ピクチャからの動き補償予測を使用する。典型的なビデオコーディングには３つの主要なピクチャタイプがある。それらは、イントラコード化ピクチャ（「Ｉピクチャ」または「Ｉフレーム」）と、予測ピクチャ（「Ｐピクチャ」または「Ｐフレーム」）と、双方向予測ピクチャ（「Ｂピクチャ」または「Ｂフレーム」）と、である。Ｐピクチャは、時間順序で現在のピクチャの前の参照ピクチャのみを使用する。Ｂピクチャでは、Ｂピクチャの各ブロックは、１つまたは２つの参照ピクチャから予測され得る。これらの参照ピクチャは、時間順序で現在のピクチャの前または後に位置し得る。
【００８４】
[0093]Ｈ．２６４コーディング規格によれば、一例として、Ｂピクチャは、前にコーディングされた参照ピクチャの２つのリスト、すなわち、リスト０とリスト１とを使用する。これらの２つのリストは、それぞれ、過去および／または将来のコード化ピクチャを時間順序で含むことができる。Ｂピクチャ中のブロックは、いくつかの方法、すなわちリスト０参照ピクチャからの動き補償予測、リスト１参照ピクチャからの動き補償予測、またはリスト０参照ピクチャとリスト１参照ピクチャの両方の組合せからの動き補償予測のうちの１つで予測され得る。リスト０参照ピクチャとリスト１参照ピクチャの両方の組合せを得るために、２つの動き補償基準エリアが、それぞれリスト０参照ピクチャおよびリスト１参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用される。
【００８５】
[0094]ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ（lima）成分については１６×１６、８×８、または４×４、およびクロマ（chroma）成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×Ｎ」と「Ｎ by Ｎ」は、垂直寸法(vertical dimension)および水平寸法(horizontal dimension)に関するブロックのピクセル寸法、たとえば、１６×１６ピクセルまたは１６ by １６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。ブロックは、水平寸法と垂直寸法とにおいて異なる数のピクセルを有し得る。すなわち、ブロックはＮ×Ｍピクセルを含み得、Ｎは必ずしもＭに等しいとは限らない。
【００８６】
[0095]１６×１６よりも小さいブロックサイズは１６×１６マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとのピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換適用後の、変換領域中の変換係数のブロックを備える。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備える。
【００８７】
[0096]ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。一般に、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。
【００８８】
[0097]マクロブロックという用語は、１６×１６ピクセルを備える２次元ピクセルアレイに従ってピクチャおよび／またはビデオデータを符号化するためのデータ構造を指す。各ピクセルはクロミナンス成分と輝度成分とを備える。したがって、マクロブロックは、各々が８×８ピクセルの２次元アレイを備える４つの輝度ブロックと、各々が１６×１６ピクセルの２次元アレイを備える２つのクロミナンスブロックと、コード化ブロックパターン（ＣＢＰ）、符号化モード（たとえば、イントラ（Ｉ）またはインター（ＰまたはＢ）符号化モード）、イントラ符号化ブロックのパーティションのパーティションサイズ（たとえば、１６×１６、１６×８、８×１６、８×８、８×４、４×８、または４×４）、あるいはインター符号化マクロブロックのための１つまたは複数の動きベクトルなど、シンタックス情報を備えるヘッダと、を定義し得る。
【００８９】
[0098]ビデオエンコーダ２８、ビデオデコーダ４８、オーディオエンコーダ２６、オーディオデコーダ４６、カプセル化ユニット３０、およびカプセル化解除ユニット３８は、それぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適な処理回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２８およびビデオデコーダ４８の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。同様に、オーディオエンコーダ２６およびオーディオデコーダ４６の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合コーデックの一部として統合され得る。ビデオエンコーダ２８、ビデオデコーダ４８、オーディオエンコーダ２６、オーディオデコーダ４６、カプセル化ユニット３０、および／またはカプセル化解除ユニット３８を含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００９０】
[0099]カプセル化ユニット３０が、受信したデータに基づいてＮＡＬユニットおよび／またはアクセスユニットをビデオファイルにアセンブルした後、カプセル化ユニット３０はビデオファイルを出力のために出力インターフェース３２に受け渡す。いくつかの例では、カプセル化ユニット３０は、ビデオファイルをローカルに記憶するか、またはビデオファイルを直接宛先デバイス４０に送るのではなく、出力インターフェース３２を介してビデオファイルをリモートサーバに送り得る。出力インターフェース３２は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブ（たとえば、フロッピー（登録商標）ドライブ）など、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス（ＵＳＢ）ポート、ネットワークインターフェース、または他の出力インターフェースを備え得る。出力インターフェース３２は、ビデオファイルを、たとえば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体３４に出力する。
【００９１】
[0100]最終的に、入力インターフェース３６はコンピュータ可読媒体３４からデータを取り出す。入力インターフェース３６は、たとえば、オプティカルドライブ、磁気メディアドライブ、ＵＳＢポート、受信機、トランシーバ、または他のコンピュータ可読媒体インターフェースを備え得る。入力インターフェース３６は、ＮＡＬユニットまたはアクセスユニットをカプセル化解除ユニット３８に与え得る。カプセル化解除ユニット３８は、ビデオファイルの要素を構成ＰＥＳストリームにカプセル化解除し、符号化データを取り出すためにＰＥＳストリームをパケット化解除し、たとえば、ストリームのＰＥＳパケットヘッダによって示されるように、符号化データがオーディオの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ４６またはビデオデコーダ４８に送る。オーディオデコーダ４６は、符号化オーディオデータを復号し、復号されたオーディオデータをオーディオ出力４２に送り、ビデオデコーダ４８は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号されたビデオデータをビデオ出力４４に送る。
【００９２】
[0101]カプセル化解除ユニット３８は、初めにビデオファイルのためのヘッダデータを要求するために入力インターフェース３６と交信し、ヘッダデータはビデオファイルの特性を記述し得る。たとえば、ヘッダデータは、ビデオファイル内のムービーフラグメントのトラックフラグメント中に含まれるサブトラックフラグメントの特性を記述し得る。ヘッダデータは、たとえば、ムービーフラグメントの個々のサブトラックフラグメントのバイト範囲を記述し得る。ヘッダデータは、カプセル化解除ユニット３８がビデオファイルの利用可能なサブトラックフラグメントのサブセットを選択するのを支援し得る他の特性をも記述し得る。利用可能なサブトラックフラグメントの特定のセットを選択した後に、カプセル化解除ユニット３８は、ビデオファイルの各ムービーフラグメントの選択されたサブトラックフラグメントについての１つまたは複数の要求をサブミットする。
【００９３】
[0102]たとえば、カプセル化解除ユニット３８は、利用可能な階層レイヤのサブセットに対応し得る特定のオペレーションポイントを選択する。次いで、カプセル化解除ユニット３８は、各ムービーフラグメントについて、ムービーフラグメントのどのサブトラックフラグメントがオペレーションポイントの階層レイヤに対応するかを判断する。さらに、カプセル化解除ユニット３８は、それぞれのサブトラックフラグメントについての各ムービーフラグメント内のバイト範囲を判断する。これらの判断されたバイト範囲に基づいて、カプセル化解除ユニット３８は、サブトラックフラグメントを取り出すためにムービーフラグメントについての判断されたバイト範囲を指定するＨＴＴＰパーシャルＧＥＴ要求を生成する。いくつかの例では、カプセル化解除ユニット３８は、各所望のレイヤについての個々の要求を生成する。いくつかの例では、カプセル化解除ユニット３８は、複数のレイヤにわたるサブトラックフラグメントについての単一の要求を生成する。次いで、カプセル化解除ユニット３８は、サブトラックフラグメントのリアセンブラオブジェクトを使用して復号順序でサブトラックフラグメントのコード化ビデオサンプルを並べ替え、並べられたコード化ビデオサンプルを、そのビデオサンプルを復号し得るビデオデコーダ４８に受け渡す。最終的に、ビデオ出力４４は、復号されたビデオサンプルを表示する。
【００９４】
[0103]図２は、例示的なカプセル化ユニット３０の構成要素を示すブロック図である。図２の例では、カプセル化ユニット３０は、ビデオ入力インターフェース８０と、オーディオ入力インターフェース８２と、ビデオファイル作成ユニット６０と、ビデオファイル出力インターフェース８４とを含む。ビデオファイル作成ユニット６０は、この例では、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットコンストラクタ６２と、サブトラックフラグメント作成ユニット６４とを含み、サブトラックフラグメント作成ユニット６４は、レイヤ管理ユニット６６と、サンプル挿入ユニット６８と、ヘッダ作成ユニット７０と、リアセンブラオブジェクト作成ユニット７２とをさらに含む。
【００９５】
[0104]ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、それぞれ符号化ビデオデータおよび符号化オーディオデータを受信する。ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、データが符号化されると、符号化ビデオデータおよび符号化オーディオデータを受信するか、または符号化ビデオデータおよび符号化オーディオデータをコンピュータ可読媒体から取り出し得る。符号化ビデオデータおよび符号化オーディオデータを受信すると、ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、ビデオファイルにアセンブルするために符号化ビデオデータおよび符号化オーディオデータをビデオファイル作成ユニット６０に受け渡す。
【００９６】
[0105]ビデオファイル作成ユニット６０は、それによる機能およびプロシージャを実行するように構成されたハードウェア、ソフトウェア、および／またはファームウェアを含む制御ユニットに対応し得る。ビデオファイル作成ユニット６０のサブユニット（この例では、ＮＡＬユニットコンストラクタ６２、サブトラックフラグメント作成ユニット６４、レイヤ管理ユニット６６、サンプル挿入ユニット６８、ヘッダ作成ユニット７０、およびリアセンブラオブジェクト作成ユニット７２）の各々は、個々のハードウェアユニットおよび／またはソフトウェアモジュールとして実装され得、および／または機能的に統合されるか、または追加のサブユニットにさらに分離され得る。
【００９７】
[0106]ビデオファイル作成ユニット６０は、たとえば、１つまたは複数のマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、またはそれらの任意の組合せなど、任意の好適な処理ユニットまたは処理回路に対応し得る。ビデオファイル作成ユニット６０は、ＮＡＬユニットコンストラクタ６２、サブトラックフラグメント作成ユニット６４、レイヤ管理ユニット６６、サンプル挿入ユニット６８、ヘッダ作成ユニット７０、およびリアセンブラオブジェクト作成ユニット７２のいずれかまたはすべてのための命令を備えるコンピュータ可読媒体、ならびに命令を実行するためのプロセッサをさらに含み得る。
【００９８】
[0107]概して、ビデオファイル作成ユニット６０は、受信したオーディオおよびビデオデータを含むビデオファイルを作成する。ＮＡＬユニットコンストラクタ６２は、符号化ビデオおよびオーディオサンプルを含むＮＡＬユニットを形成し得る。ビデオファイル作成ユニット６０は、階層レベル順序で構成されたコード化ビデオサンプルを含むムービーフラグメントをアセンブルするようにさらに構成され得る。すなわち、ビデオファイル作成ユニット６０は、ムービーフラグメントの共通の階層レベルのコード化ビデオサンプルがムービーフラグメント内で連続して記憶されるように、ムービーフラグメントのコード化ビデオサンプルを編成するように構成され得る。
【００９９】
[0108]レイヤ管理ユニット６６は、ビデオファイルのためのデータの様々な階層レイヤを見分け得る。レイヤ管理ユニット６６は、さらに、たとえば、ビデオファイルが対応するファイルフォーマット規格に基づいて、サブトラックフラグメントと階層レイヤとの間の対応を判断する。たとえば、Ｈ．２６４／ＡＶＣに関して、レイヤ管理ユニット６６は、時間コーディングレイヤをサブトラックフラグメントに関連付ける。別の例として、ＳＶＣに関して、レイヤ管理ユニット６６は、空間的レイヤ（たとえば、ベースレイヤおよび１つまたは複数のエンハンスメントレイヤ）をサブトラックフラグメントに関連付ける。別の例として、ＭＶＣに関して、レイヤ管理ユニット６６は、異なるビューをサブトラックフラグメントに関連付ける。
【０１００】
[0109]階層レイヤとサブトラックフラグメントとの間の関連付けを判断した後に、サンプル挿入ユニット６８は、ビデオファイルの作成中にコード化ビデオサンプルを適切なサブトラックフラグメント中に挿入し得る。すなわち、サンプル挿入ユニット６８は、コード化ビデオサンプルを受信し、そのサンプルが対応する階層レイヤを判断し、階層レイヤに対応するムービーフラグメントのサブトラックフラグメントを判断し、そのサンプルを判断されたサブトラックフラグメント中に挿入し得る。この配列は、単一の要求、たとえば、階層レイヤに対応するサブトラックフラグメントのバイト範囲を指定する単一のＨＴＴＰパーシャルＧＥＴ要求を使用して、共通の階層レイヤからのデータが取り出されることを可能にする。
【０１０１】
[0110]ヘッダ作成ユニット７０は、ムービーフラグメントおよび／またはトラックフラグメントについてのヘッダを作成し得る。いくつかの例では、ヘッダ作成ユニット７０は、ヘッダデータを、作成されたビデオファイルのムービーフラグメントの数を記述するムービーボックスに記憶する。概して、ヘッダ作成ユニット７０によって作成されたヘッダデータは、たとえば、サブトラックフラグメントについてのバイト範囲など、サブトラックフラグメントの特性、および／またはサブトラックフラグメント中のサンプルの数を記述する。いくつかの例、たとえば、階層レイヤが時間コーディングレイヤを備える例では、ヘッダ作成ユニット７０は、各サブトラックフラグメントについてのタイミング情報を指定する。
【０１０２】
[0111]マルチプレクサオブジェクト作成ユニット７２は、リアセンブラオブジェクトを作成し、それをサブトラックフラグメント中に挿入する。リアセンブラオブジェクトは、リアセンブラオブジェクトを含むサブトラックフラグメント中のリアセンブラオブジェクトの位置に挿入される、別のサブトラックフラグメントのサンプルを識別するためのポインタとして働き得る。たとえば、ＡＶＣおよびＳＶＣでは、リアセンブラオブジェクトは、比較的上位のレイヤ（すなわち、比較的大きい数のサンプルを含むレイヤ）においてコード化ビデオサンプルの順序付けを並べ替えるタスクを簡略化する。リアセンブラオブジェクト作成ユニット７２は、参照されたサンプルを含むサブトラックフラグメントのインデックス（または他の識別子）、ならびにサブトラックフラグメント内の参照されたサンプルの位置を含むリアセンブラオブジェクトを作成する。その位置は、現在のサブトラックフラグメント中のリアセンブラの位置に対して表される。
【０１０３】
[0113]したがって、ビデオファイル作成ユニット６０は、本開示の技法によれば、サブトラックフラグメントを含む様々なタイプのビデオファイルを生成し得る。ビデオファイル作成ユニット６０がそれらのそれぞれの階層レベルに従ってグループ化されたコード化ビデオサンプルを有するムービーフラグメントを含むビデオファイルを生成した後に、ビデオファイル作成ユニット６０は、ビデオファイルをビデオファイル出力インターフェース８４に受け渡す。ビデオファイル出力インターフェース８４は、たとえば、ソースデバイス２０の出力インターフェース３２に、ビデオファイルを出力する。いくつかの例では、ビデオファイル出力インターフェース８４は、ビデオファイルをソースデバイス２０の記憶媒体（図示せず）に出力する。ビデオファイルは、ソースデバイス２０内にローカルに記憶され、ＤＶＤ、ブルーレイ（登録商標）ディスク、フラッシュドライブ、フロッピーディスクなどのポータブル記憶媒体、または他のポータブル記憶媒体に記憶され、たとえば、ＨＴＴＰストリーミングなどのストリーミングプロトコルに従って、ネットワークを介して出力され、または場合によっては、ビデオファイルが宛先デバイス４０などのクライアントデバイスによって受信され得るような方法で出力される。
【０１０４】
[0113]図３は、各ビデオフラグメントが、共通の階層レベルのコード化ビデオピクチャを有するサブトラックフラグメントを含む、ビデオフラグメント１１２を有する例示的なビデオファイル１００の要素を示すブロック図である。上記で説明したように、ＩＳＯベースメディアファイルフォーマットおよびそれの拡張によるビデオファイルは、データを「ボックス」と呼ばれる一連のオブジェクトに記憶する。図３の例では、ビデオファイル１００は、ファイルタイプ（ＦＴＹＰ）ボックス１０２と、ムービー（ＭＯＯＶ）ボックス１０４と、ムービーフラグメント（ＭＯＯＦ）ボックス１１２と、ムービーフラグメントランダムアクセス（ＭＦＲＡ）ボックス１１４とを含む。
【０１０５】
[0114]ファイルタイプボックス１０２は、概して、ビデオファイル１００のためのファイルタイプを記述する。ファイルタイプボックス１０２は、ビデオファイル１００のための最も良い使用を記述する仕様を識別するデータを含み得る。ファイルタイプボックス１０２は、ＭＯＯＶボックス１０４、ムービーフラグメントボックス１１２、およびＭＦＲＡボックス１１４の前に配置され得る。
【０１０６】
[0115]ＭＯＯＶボックス１０４は、図３の例では、ムービーヘッダ（ＭＶＨＤ）ボックス１０６と、トラック（ＴＲＡＫ）ボックス１０８と、１つまたは複数のムービーエクステンド（ＭＶＥＸ）ボックス１１０とを含む。概して、ＭＶＨＤボックス１０６は、ビデオファイル１００の一般的な特性を記述し得る。たとえば、ＭＶＨＤボックス１０６は、ビデオファイル１００が最初に作成されたとき、ビデオファイル１００が最後に変更されたときに記述するデータ、ビデオファイル１００のための時間スケール、ビデオファイル１００のための再生の持続時間、またはビデオファイル１００を概して記述する他のデータを含む。
【０１０７】
[0116]いくつかの例では、カプセル化ユニット３０は、ＭＯＯＶボックス１０４内のオペレーションポイントに対応するサブトラックフラグメントの特性、またはＨＴＴＰストリーミングのための初期化セグメントを定義する。いくつかの例では、カプセル化ユニット３０は、ビデオファイル１００のためのヘッダデータ、サブトラックフラグメントを含むムービーフラグメント１１２のうちの１つとして含まれ、または他のロケーションにおいて含まれる、サブトラックフラグメントヘッダボックスを生成する。サブトラックフラグメント定義は、オペレーションポイントの各サブトラックフラグメントを、たとえば、時間レベル値、ｑｕａｌｉｔｙ＿ｉｄ値、ｄｅｐｅｎｄｅｎｃｙ＿ｉｄ値、および／またはｖｉｅｗ＿ｉｄ値など、サブトラックフラグメントについての記述特性にマッピングするデータ構造を含む。オペレーションポイント定義は、たとえば、コーデック情報、プロファイルおよびレベル情報、オペレーションポイントのためのフレームレート、オペレーションポイントのための平均ビットレート、オペレーションポイントのための最大ビットレート、オペレーションポイントのための空間分解能、オペレーションポイントのための表示されるべきビューの数、および／またはオペレーションポイントのための復号されるべきビューの数など、記述情報をさらに含み得る。関係する規格のオペレーションポイント定義は、そのようなデータを含むように変更され得る。
【０１０８】
[0117]ＴＲＡＫボックス１０８は、ビデオファイル１００のトラックのためのデータを含み得る。ＴＲＡＫボックス１０８は、ＴＲＡＫボックス１０８に対応するトラックの特性を記述するトラックヘッダ（ＴＫＨＤ）ボックスを含み得る。いくつかの例では、ＴＲＡＫボックス１０８はコード化ビデオサンプルを含むが、他の例では、トラックのコード化ビデオサンプルは、ＴＲＡＫボックス１０８のデータによって参照され得るムービーフラグメント１１２中に含まれる。
【０１０９】
[0118]いくつかの例では、ビデオファイル１００は２つ以上のトラックを含む。したがって、ＭＯＯＶボックス１０４は、ビデオファイル１００中のトラックの数に等しいいくつかのＴＲＡＫボックスを含み得る。ＴＲＡＫボックス１０８は、ビデオファイル１００の対応するトラックの特性を記述し得る。たとえば、ＴＲＡＫボックス１０８は、対応するトラックのための時間および／または空間情報を記述する。ＭＯＯＶボックス１０４のＴＲＡＫボックス１０８と同様のＴＲＡＫボックスは、カプセル化ユニット３０（図１）がビデオファイル１００のようなビデオファイル中のパラメータセットトラックを含むとき、パラメータセットトラックの特性を記述し得る。
【０１１０】
[0119]ＭＶＥＸボックス１１０は、例えば、もしあれば、ＭＯＯＶボックス１０４内に含まれたビデオデータに加えて、ビデオファイル１００がムービーフラグメント１１２を含むことをシグナリングするために、対応するムービーフラグメント１１２の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオサンプルは、ＭＯＯＶボックス１０４よりはむしろムービーフラグメント１１２中に含まれる。したがって、すべてのコード化ビデオサンプルは、ＭＯＯＶボックス１０４よりはむしろ、ムービーフラグメント１１２中に含まれ得る。
【０１１１】
[0120]ＭＯＯＶボックス１０４は、ビデオファイル１００中のムービーフラグメント１１２の数に等しいいくつかのＭＶＥＸボックス１１０を含み得る。ＭＶＥＸボックス１１０の各々は、ムービーフラグメント１１２のうちの対応する１つの特性を記述し得る。たとえば、各ＭＶＥＸボックスは、ムービーフラグメント１１２のうちの対応する１つについての持続時間を記述するムービーエクステンドヘッダ（ＭＥＨＤ）ボックスを含み得る。
【０１１２】
[0121]ムービーフラグメント１１２は、１つまたは複数のコード化ビデオサンプルを含み得る。いくつかの例では、ムービーフラグメント１１２は、各々がいくつかのコード化ビデオサンプル、たとえば、フレームまたはピクチャを含み得る１つまたは複数のピクチャグループ（ＧＯＰ）を含み得る。さらに、上記で説明したように、ムービーフラグメント１１２は、いくつかの例ではシーケンスデータセットを含み得る。ムービーフラグメント１１２の各々は、ムービーフラグメントヘッダ（ＭＦＨＤ）ボックスを含み得る。ＭＶＨＤボックスは、ムービーフラグメントについてのシーケンス番号など、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント１１２は、ビデオファイル１００中のシーケンス番号の順に含まれ得る。
【０１１３】
[0122]上記のように、カプセル化ユニット３０は、コード化ビデオサンプルの階層レベルの順にムービーフラグメント１１２の各々のコード化ビデオサンプルを編成し得る。すなわち、ムービーフラグメント１１２の各々内で、カプセル化ユニット３０は、共通の階層レベルのコード化ビデオサンプルがムービーフラグメント内で連続して記憶されるように、ムービーフラグメントのコード化ビデオサンプルを編成し得る。このようにして、宛先デバイス４０（図１）は、単一の要求、たとえば、階層レベルの所望の範囲を含むバイト範囲を指定するＨＴＴＰパーシャルＧＥＴ要求をサブミットすることによって、ムービーフラグメント１１２のうちの１つから特定の階層レイヤまでのすべてのコード化ビデオサンプルを取り出すことができる。同様に、宛先デバイス４０は、単一の要求を使用して共通の階層レイヤのコード化ビデオサンプルを取り出すことができ、各所望階層レイヤについての１つの要求をサブミットできる。
【０１１４】
[0123]ＭＯＯＶボックス１０４および／またはムービーフラグメント１１２は、たとえば、特定のサブトラックフラグメントを含むムービーフラグメント１１２のバイト範囲など、ムービーフラグメント１１２のサブトラックフラグメントを記述するヘッダデータを含み得る。このようにして、宛先デバイス４０は、所望のサブトラックフラグメントに基づいて、ムービーフラグメント１１２のどの（１つまたは複数の）部分を要求すべきかを判断するために、ＭＯＯＶボックス１０４および／またはムービーフラグメント１１２のヘッダを取り出し得る。
【０１１５】
[0124]ＭＦＲＡボックス１１４は、ビデオファイル１００のムービーフラグメント１１２内のランダムアクセスポイントを記述し得る。これは、ビデオファイル１００内の特定の時間ロケーションのシークを実行するのを支援し得る。ＭＦＲＡボックス１１４は、概してオプションであり、ビデオファイル中に含まれる必要はない。同様に、宛先デバイス４０などのクライアントデバイスは、ビデオファイル１００のビデオデータを正しく復号し、表示するために必ずしもＭＦＲＡボックス１１４を参照する必要があるとは限らない。ＭＦＲＡボックス１１４は、ビデオファイル１００のトラックの数に等しいか、またはいくつかの例では、ビデオファイル１００のメディアトラック（たとえば、非ヒントトラック（non-hint tracks））の数に等しい数のトラックフラグメントランダムアクセス（ＴＦＲＡ）ボックスを含み得る。
【０１１６】
[0125]図４Ａは、例示的なムービーフラグメント１８０Ａを示すブロック図である。ムービーフラグメント１８０Ａは、ムービーフラグメント１１２（図３）のうちの１つに対応し得る。図４Ａの例では、ムービーフラグメント１８０Ａは様々なサブトラックフラグメントを含む。特に、この例では、ムービーフラグメント１８０Ａは、レイヤ０サブトラックフラグメント１８２と、レイヤ１サブトラックフラグメント１８８と、レイヤ２サブトラックフラグメント１９２とを含む。
【０１１７】
[0126]レイヤ０サブトラックフラグメント１８２は、０の時間コーディング階層レイヤを有するコード化ビデオサンプルを含む。この例では、このレイヤはＩフレーム１８４とＰフレーム１８６Ａ〜１８６Ｎ（Ｐフレーム１８６）とを含む。Ｐフレーム１８６は、前のＰフレーム１８６および／またはＩフレーム１８４に対して符号化される。たとえば、Ｐフレーム１８６Ａのマクロブロックは、Ｉフレーム１８４に対して符号化され得るが、Ｐフレーム１８６Ｂのマクロブロックは、Ｉフレーム１８４またはＰフレーム１８６Ａに対して符号化され得る。
【０１１８】
[0127]レイヤ１サブトラックフラグメント１８８は、この例では、Ｂフレーム１９０Ａ〜１９０Ｎ（Ｂフレーム１９０）を含む。Ｂフレーム１９０の各々はレイヤ１の時間コーディング階層を有する。したがって、Ｂフレーム１９０は、レイヤ０サブトラックフラグメント１８２の１つまたは複数のフレーム、すなわち、Ｉフレーム１８４および／またはＰフレーム１８６に対して符号化され得る。
【０１１９】
[0128]レイヤ２サブトラックフラグメント１９２は、この例では、Ｂフレーム１９４Ａ〜１９４Ｎ（Ｂフレーム１９４）を含む。Ｂフレーム１９４の各々はレイヤ２の時間コーディング階層を有する。したがって、Ｂフレーム１９４は、レイヤ１サブトラックフラグメント１８８の１つまたは複数のフレーム、すなわち、Ｂフレーム１９０に対して符号化され得る。さらに、ビデオフラグメント１８０は、レイヤ２サブトラックフラグメント１９２に続く省略符号によって示されるように、上位時間コーディングレイヤに対応する追加のサブトラックフラグメントを含み得る。
【０１２０】
[0129]Ｐフレーム１８６、Ｂフレーム１９０、およびＢフレーム１９４の基数はそれぞれ、変数「Ｎ」で表されるが、各場合においてＮが可変であることを理解されたい。すなわち、Ｐフレーム１８６の数は、必ずしもＢフレーム１９０の数に等しいとは限らず、さらに、必ずしもＢフレーム１９４の数に等しいとは限らない。
【０１２１】
[0130]宛先デバイス４０は、特定の階層レイヤまでのサブトラックフラグメントを取り出すことを決定する。したがって、宛先デバイス４０は、決定されたレイヤよりも低いおよび／またはそれに等しい階層レイヤに対応するサブトラックフラグメントを取り出したいという１つまたは複数の要求をサブミットする。たとえば、宛先デバイス４０がレイヤ１までのサブトラックフラグメントを取り出すことを決定したと仮定すると、宛先デバイス４０は、レイヤ０サブトラックフラグメント１８２とレイヤ１サブトラックフラグメント１８８とを取り出したいというＨＴＴＰパーシャルＧＥＴ要求をサブミットする。いくつかの例では、宛先デバイス４０は、レイヤ０サブトラックフラグメント１８２とレイヤ１サブトラックフラグメント１８８とを取り出したいという高々２つのＨＴＴＰパーシャルＧＥＴ要求をサブミットする。図４Ａの例では、レイヤ０サブトラックフラグメント１８２およびレイヤ１サブトラックフラグメント１８８がビデオフラグメント１８０内で連続的に配列されるので、この例では、宛先デバイス４０は、レイヤ０サブトラックフラグメント１８２とレイヤ１サブトラックフラグメント１８８の両方を取り出したいという単一のＨＴＴＰパーシャルＧＥＴ要求を代替的にサブミットし得る。
【０１２２】
[0131]図４Ｂは、例示的なムービーフラグメント１８０Ｂを示すブロック図である。ムービーフラグメント１８０Ｂは、図４Ｂの例では、上位レイヤサブトラックフラグメントがリアセンブラオブジェクトを含むことを除いて、図４Ａの１８０Ａのムービーフラグメントと同様である。たとえば、レイヤ１サブトラックフラグメント１９６は、この例では、リアセンブラオブジェクト１９８Ａ、１９８Ｂ、および１９８Ｃを含む。この例では、リアセンブラオブジェクト１９８Ａはレイヤ０サブトラックフラグメント１８２のＩフレーム１８４を識別し、リアセンブラオブジェクト１９８Ｂはレイヤ０サブトラックフラグメント１８２のＰフレーム１８６Ａを識別し、リアセンブラオブジェクト１９８Ｃはレイヤ０サブトラックフラグメント１８２のＰフレーム１８６Ｂを識別する。上位レイヤサブトラックフラグメントは、レイヤ０サブトラックフラグメント１８２のフレームを識別するリアセンブラと、レイヤ１サブトラックフラグメント１９６のＢフレーム１９９を識別するリアセンブラとを含み得る。
【０１２３】
[0132]宛先デバイス４０は、リアセンブラ１９８を使用して、復号順序でフレームを並べ替えるのを支援する。たとえば、カプセル化解除ユニット３８は、Ｉフレーム１８４、Ｐフレーム１８６Ａ、Ｂフレーム１９９Ａ、Ｐフレーム１８６Ｂ、Ｂフレーム１９９Ｂなどの復号順序でフレームのセットを生成するために、レイヤ０サブトラックフラグメント１８２およびレイヤ１サブトラックフラグメント１９６のフレームを並べ替え得る。次いで、カプセル化解除ユニット３８は、復号順序でフレームをビデオデコーダ４８に転送する。次いで、ビデオデコーダ４８はフレームを復号し、ビデオディスプレイ４４は、最終的に、復号順序およびビデオフラグメント１８０Ｂ内で構成されたフレームの順序とは異なり得る表示順序でフレームを表示する。
【０１２４】
[0133]図５は、例示的なＳＶＣビデオフラグメント２００を示すブロック図である。この例では、ＳＶＣビデオフラグメント２００は、ベースレイヤサブトラックフラグメント２０２と、エンハンスメントレイヤ１サブトラックフラグメント２０６と、エンハンスメントレイヤ２サブトラックフラグメント２１０とを含む。ベースレイヤサブトラックフラグメント２０２は、ベースレイヤフレーム２０４Ａ〜２０４Ｎ（ベースレイヤフレーム２０４）を含む。エンハンスメントレイヤ１サブトラックフラグメント２０６は、エンハンスメントフレーム２０８Ａ〜２０８Ｎ（エンハンスメントフレーム２０８）を含む。エンハンスメントレイヤ２サブトラックフラグメント２１０は、エンハンスメントフレーム２１２Ａ〜２１２Ｎ（エンハンスメントフレーム２１２）を含む。また、Ｎは、ベースレイヤフレーム２０４、エンハンスメントフレーム２０８、およびエンハンスメントフレーム２１２のいずれについても潜在的に異なるものと理解されたい。
【０１２５】
[0134]ベースレイヤフレーム２０４は１／４共通中間フォーマット（ＱＣＩＦ：quarter common intermediate format）フレームに対応する。エンハンスメントフレーム２０８はＣＩＦ空間エンハンスメントレイヤフレームに対応する。エンハンスメントフレーム２１２は、さらなる空間エンハンスメントレイヤフレームに対応する。
【０１２６】
[0135]このようにして、本開示の技法はＳＶＣのコンテキストにおいて適用され得る。さらに、ＳＶＣにおけるエンハンスメントレイヤは、ベースレイヤおよび／または下位エンハンスメントレイヤのフレームを参照するリアセンブラオブジェクトをも含み得る。したがって、宛先デバイス４０は、最大の所望のレイヤを選択し、選択されたレイヤまでのレイヤについてのデータを取り出したいという１つまたは複数の要求（たとえば、ＨＴＴＰパーシャルＧＥＴ要求）をサブミットし得る。
【０１２７】
[0136]図６は、例示的なＭＶＣビデオフラグメント２２０を示すブロック図である。この例では、ＭＶＣビデオフラグメント２２０は、ビュー０サブトラックフラグメント２２２と、ビュー１サブトラックフラグメント２２６と、ビュー２サブトラックフラグメント２３０とを含む。各ビューは、いくつかのビューコンポーネントを含み得る。たとえば、ビュー０サブトラックフラグメント２２２は、ビュー０フレーム２２４Ａ〜２２４Ｎ（ビュー０フレーム２２４）を含み、ビュー１サブトラックフラグメント２２６は、ビュー１フレーム２２８Ａ〜２２８Ｎ（ビュー１フレーム２２８）を含み、ビュー２サブトラックフラグメント２３０は、ビュー２フレーム２３２Ａ〜２３２Ｎ（ビュー２フレーム２３２）を含む。
【０１２８】
[0137]ＭＶＣのコンテキストでは、各ビューのビューコンポーネントは、図６に示したように、異なるサブトラックフラグメント中に配列される。さらに、上記で説明したように、ビューサブトラックフラグメントは、ビューコンポーネントのコード化ビデオサンプルを含むことがある、前のサブトラックフラグメントのビューコンポーネントを指すリアセンブラを含み得る。
【０１２９】
[0138]宛先デバイス４０は、ビューに対応するビューサブトラックフラグメントについてのバイト範囲を指定する１つのＨＴＴＰパーシャルＧＥＴ要求を発行することによって、特定のビューのビューコンポーネントを取り出し得る。たとえば、ビュー０のビューコンポーネントを取り出すために、宛先デバイス４０は、ＭＶＣビデオフラグメント２２０中のビュー０サブトラックフラグメント２２２のバイト範囲を指定するＨＴＴＰパーシャルＧＥＴ要求をサブミットする。同様に、宛先デバイス４０は、ＭＶＣビデオフラグメント２２０の他のビューのいずれかまたはすべてを取り出したいという個々の要求を発行し得る。要求されたビューを受信すると、宛先デバイス４０は、復号順序でビューコンポーネントを順序付けし、ビューコンポーネントを復号し、復号されたビデオデータを表示する。
【０１３０】
[0139]図７は、ビデオファイル内にムービーフラグメントのそれぞれのサブトラックフラグメント内の共通の階層レベルのビデオデータをカプセル化し、ビデオファイルをソースデバイスから宛先デバイスに与えるための例示的な方法を示すフローチャートである。例および説明のために、ソースデバイス２０および宛先デバイス４０（図１）の構成要素に関して説明するが、任意の好適なデバイスが図７の技法を実装し得ることを理解されたい。
【０１３１】
[0140]ソースデバイス２０は、最初に、ビデオファイルを構築する。そのために、ソースデバイス２０は、符号化ビデオサンプルのセットを受信する（２１０）。たとえば、ソースデバイス２０は、サンプルが、たとえばビデオエンコーダ２８によって符号化されると、記憶媒体から符号化ビデオサンプルを取り出すか、またはリアルタイムで符号化ビデオサンプルを受信する。ビデオサンプルのセットは、より大きいビデオファイル内のムービーフラグメントに対応し得る。すなわち、ソースデバイス２０は、受信したビデオサンプルのセットが共通のビデオフラグメント内に配置されるべきであると判断し得る。
【０１３２】
[0141]次いで、ソースデバイス２０は、ビデオフラグメントについてのサンプルをそれぞれのレイヤに分離する（２１２）。たとえば、ＡＶＣの場合、ソースデバイス２０は、ビデオサンプルを時間コーディングレイヤに分離する。別の例として、ＳＶＣの場合、ソースデバイス２０は、ビデオサンプルをベースレイヤと１つまたは複数のエンハンスメントレイヤとに分離する。さらに別の例として、ＭＶＣの場合、ソースデバイス２０は、そのサンプルをそれぞれのビューに分離する。いずれの場合も、ソースデバイス２０は、サブトラックフラグメントが対応するレイヤについてのコード化ビデオサンプルを含むように、各それぞれのレイヤについてのサブトラックフラグメントを生成する（２１４）。次いで、ソースデバイス２０は、ムービーフラグメントを出力する（２１６）。すなわち、ソースデバイス２０は、コンピュータ可読媒体に記憶されたビデオファイル中にムービーフラグメントを含め得る。
【０１３３】
[0142]たとえば、ソースデバイス２０は、ＨＴＴＰストリーミング要求に応答してデータを宛先デバイスに与えるためにネットワークサーバとして働き得る。代替的に、ソースデバイス２０は、ムービーフラグメントを別々のネットワークサーバに送り得る。いくつかの例では、ソースデバイス２０は、ムービーフラグメントを直接クライアントデバイスに送ることによってムービーフラグメントを出力し得る。
【０１３４】
[0143]ソースデバイス２０は、ビデオファイルの各ムービーフラグメントを生成する。さらに、ソースデバイス２０は、各ムービーフラグメントの各サブトラックフラグメントのバイト範囲を識別するビデオファイルのためのヘッダデータを記憶する。同様に、ソースデバイス２０は、前のサブトラックフラグメントのコード化サンプルを指す、サブトラックフラグメント中のリアセンブラオブジェクトを含み得る。ソースデバイス２０はまた、たとえば、ムービーフラグメントの各サブトラックフラグメントのバイト範囲、サブトラックフラグメントの各々におけるサンプルの数、および／またはコード化ビデオサンプルのためのタイミング情報を指定する、ムービーフラグメント中の多重分離ヘッダを含み得る。
【０１３５】
[0144]リアセンブラオブジェクトは、正しい復号順序に従うために、異なるサブトラックフラグメント中のアクセスユニットの並べ替えに必要でない場合がある。たとえば、ＭＰＥＧ−２  ＴＳでは、ビデオデータを含んでいるパケットは復号タイムスタンプを含む。したがって、各アクセスユニットの復号時間が決定され、そのような並べ替えプロセスは追加のシグナリングを必要としないであろう。また、いくつかの例では、インデックスｉをもつ階層レイヤとインデックスｉ＋１をもつ階層レイヤとのインターリービングは固定パターンに従い、したがって、ある期間における、極めて軽量のシグナリング、たとえば、階層レイヤｉ中のビデオサンプルの数および階層レイヤｉ＋１中のビデオサンプルに続くビデオサンプルの他の数がシグナリングされ得る。たとえば、時間レイヤ０ピクチャがＩ、Ｐ4、Ｐ8などであり、時間レイヤ１ピクチャがＢ2、Ｂ6などである場合、（１，１）の単純なシグナリングは、２つの時間レイヤ中のビデオサンプルが正しく並べ替えられるために十分であり得る。したがって、各サブトラックフラグメントについてのシグナリングされた並べ替え情報は、サブトラックフラグメント識別子と、サブトラックフラグメント中のピクチャの数とに対応し得る。
【０１３６】
[0145]次いで、宛先デバイス４０は、要求すべきビデオファイルの１つまたは複数のレイヤを決定する（２１８）。宛先デバイス４０は、たとえば、ビデオ出力４４のレンダリング機能、ビデオデコーダ４８の復号機能、ユーザ選好、ネットワーク状態（たとえば、利用可能な帯域幅）、電力レベル、メモリ使用量、処理能力／使用率、または他のそのようなファクタなど、様々なファクタに基づいてこの決定を行い得る。次いで、宛先デバイス４０は、決定されたレイヤに対応するサブトラックフラグメントを要求する（２２０）。いくつかの例では、宛先デバイス４０は、各サブトラックフラグメントについての単一のＨＴＴＰパーシャルＧＥＴ要求を使用する。このようにして、宛先デバイス４０は、不要なビデオデータを取り出すことを回避でき、それぞれ階層的に関係する、すなわち、共通の階層レイヤの、ムービーフラグメント中の多くのコード化サンプルのロケーションを決定することを回避できる。
【０１３７】
[0146]ソースデバイス２０は、（１つまたは複数の）要求のサブトラックフラグメントを宛先デバイス４０に与える（２２２）。ムービーフラグメントのサブトラックフラグメントを受信した後に、宛先デバイス４０は、ビデオサンプルが復号順序で配列されるように、ムービーフラグメントのビデオサンプルを並べ替える（２２４）。次いで、宛先デバイス４０は、受信したサンプルを復号し、表示する（２２６）。
【０１３８】
[0147]図８は、ムービーフラグメントのサブトラックフラグメントを取り出すための例示的な方法を示すフローチャートである。例および説明のために宛先デバイス４０（図１）の構成要素に関して説明するが、任意の好適なデバイスが図８の技法を実装し得ることを理解されたい。
【０１３９】
[0148]初めに、宛先デバイス４０は、ビデオファイルにアクセスしたいという要求を受信する（２３０）。たとえば、ユーザは、ビデオファイルのＵＲＬまたはＵＲＮを要求するために宛先デバイス４０を使用してウェブブラウザを実行し得る。この要求に応答して、宛先デバイス４０は、ビデオファイルのヘッダデータをロードする（２３２）。ヘッダデータは、ビデオファイルがどのように編成されるかを記述し得、ムービーフラグメントのコード化ビデオサンプルがコード化ビデオサンプルの階層レイヤに従って配列されるように、ビデオファイルが本開示の技法に従って配列されることをシグナリングし得る。ヘッダデータは、さらに、ビデオファイルの階層レイヤの各々、たとえば、ムービーフラグメント内のサブトラックフラグメントについてのバイト範囲を記述し得る。ヘッダデータはまた、本開示で説明するように、ビデオファイルのムービーフラグメントのサブトラックフラグメントが共通の階層レイヤのコード化ビデオサンプルを含むことを示す。
【０１４０】
[0149]次いで、宛先デバイス４０は、階層レイヤのうちのどれを取り出すべきかを決定する（２３４）。この決定に基づいて、宛先デバイス４０は、取り出されるべき階層レイヤに対応するサブトラックフラグメントの各々のバイト範囲を決定する（２３６）。すべての所望のサブトラックフラグメントが受信されるまで（２４０）、宛先デバイス４０は、取り出されるべき対応するサブトラックフラグメントのバイト範囲を指定する個々の要求を発行し続ける（２３８）。
【０１４１】
[0150]すべての所望のサブトラックフラグメントを受信した後に、宛先デバイス４０の多重分離ユニット３８は、受信したサンプルが復号順序であるようにサンプルを並べ替える（２４２）。次いで、多重分離ユニット３８は、サンプルを復号のためにビデオデコーダ４８に転送し、ビデオコーダ４８は、復号されたビデオサンプルを、表示されるべきビデオ出力４４に転送する（２４４）。
【０１４２】
[0151]図８の方法は、クライアントデバイスによって、ムービーフラグメントについてのビデオデータの階層レベルを記述する、ソースデバイスからの情報を受信することと、要求すべきビデオデータの階層レベルのサブセットを決定することと、サブセットの階層レベルの各々について、階層レベルにおけるムービーフラグメントのビデオデータのすべてを取り出すためにソースデバイスに多くとも１つの要求を送ることと、決定された階層レベルのサブセットのビデオデータを受信することと、受信したビデオデータを復号し、表示することと、を含む方法の一例を描く。ソースデバイスに多くとも１つの要求を送ることによって、宛先デバイスは、いくつかの所望の階層レイヤからデータを取り出したいという単一の要求を送り得るか、または所望の階層レイヤにつき最高１つの要求を送り得る。
【０１４３】
[0152]図９は、例示的なＭＶＣ予測パターンを示す概念図である。図９の例では、（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）８つのビューが示され、各ビューについて１２個の時間ロケーション（「Ｔ０」〜「Ｔ１１」）が示されている。すなわち、図９中の各行はビューに対応し、各列は時間ロケーションを示す。
【０１４４】
[0153]ＭＶＣが、Ｈ．２６４／ＡＶＣデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがＭＶＣによってサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートすることができるということである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを期待し得る。ビュー中のアンカービューコンポーネントおよび非アンカービューコンポーネントは、異なるビュー依存性を有することができる。たとえば、ビューＳ２中のアンカービューコンポーネントは、ビューＳ０中のビューコンポーネントに依存する。しかしながら、ビューＳ２中の非アンカービューコンポーネントは、他のビュー中のビューコンポーネントに依存しない。
【０１４５】
[0154]図９中のフレームは、文字を含む影付きブロックを使用して、図９中の各行および各列について示され、それは、対応するフレームがイントラコード化された（すなわち、Ｉフレーム）のか、または一方向でインターコード化された（すなわち、Ｐフレームとして）のか、または複数の方向でインターコード化された（すなわち、Ｂフレームとして）のかを指定する。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間ロケーションＴ０におけるビューＳ２のＰフレームは、時間ロケーションＴ０におけるビューＳ０のＩフレームから予測される。
【０１４６】
[0155]単一のビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。たとえば、時間ロケーションＴ１におけるビューＳ０のｂフレームは、時間ロケーションＴ０におけるビューＳ０のＩフレームからそのｂフレームに向けられた矢印を有し、その矢印は、ｂフレームがＩフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。ＭＶＣでは、たとえば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。以下の表３は、ＭＶＣ拡張シーケンスパラメータセットの例示的な定義を与える。
【表３】
0005551315.tif 000004
【０１４７】
[0156]図９は、ビュー間予測の様々な例を与える。図９の例では、ビューＳ１のフレームは、ビューＳ１の異なる時間ロケーションにおけるフレームから予測されるものとして、ならびに同じ時間ロケーションにおけるビューＳ０およびＳ２のフレームのうちのフレームからビュー間予測されるものとして示されている。たとえば、時間ロケーションＴ１におけるビューＳ１のｂフレームは、時間ロケーションＴ０およびＴ２におけるビューＳ１のＢフレームの各々、ならびに時間ロケーションＴ１におけるビューＳ０およびＳ２のｂフレームから予測される。
【０１４８】
[0157]図９の例では、大文字の「Ｂ」および小文字の「ｂ」は、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。概して、大文字の「Ｂ」フレームは、小文字の「ｂ」フレームよりも予測階層が比較的高い。すなわち、図９の例では、「ｂ」フレームは、「Ｂ」フレームを参照して符号化される。図９の「ｂ」フレームを指し得る追加の双方向符号化フレームを有する追加の階層レベルが追加され得る。図９はまた、異なるレベルの陰影を使用して予測階層のバリエーションを示し、より多くの陰影の（すなわち、比較的より暗い）フレームは、より少ない陰影を有する（すなわち、比較的より明るい）それらのフレームよりも予測階層が高い。たとえば、図９中のすべてのＩフレームは、完全陰影を用いて示されるが、Ｐフレームは、いくぶんより明るい陰影を有し、Ｂフレーム（そして、より低い場合のｂフレーム）は、互いに様々なレベルの陰影を有するが、ＰフレームおよびＩフレームの陰影よりも常に明るい。
【０１４９】
[0158]概して、階層が比較的高いフレームが、階層が比較的低いフレームの復号中に参照フレームとして使用され得るように、予測階層が比較的高いそれらのフレームは、階層が比較的低いフレームを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。Ｈ．２６４／ＡＶＣ（ＭＶＣ追補）の付属書類Ｈにおいて規定されているように、ビュー順序インデックスはＳＰＳ  ＭＶＣ拡張において暗示されている。ＳＰＳでは、各インデックスｉについて、対応するｖｉｅｗ＿ｉｄがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスは、０からｎｕｍ＿ｖｉｅｗｓ＿ｍｉｎｕｓ＿１までの連続する順序である。
【０１５０】
[0159]このようにして、参照フレームとして使用されるフレームは、その参照フレームを参照して符号化されたフレームを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。各ビュー順序インデックスｉについて、対応するｖｉｅｗ＿ｉｄがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、０からビューの全数よりも１少ない数までの連続的な順序付きセットを備える。
【０１５１】
[0160]階層の等しいレベルにおけるいくつかのフレームの場合、復号順序は、互いに重要でないことがある。たとえば、時間ロケーションＴ０におけるビューＳ０のＩフレームは、時間ロケーションＴ０におけるビューＳ２のＰフレームのための参照フレームとして使用され、そのＰフレームは今度は、時間ロケーションＴ０におけるビューＳ４のＰフレームのための参照フレームとして使用される。したがって、時間ロケーションＴ０におけるビューＳ０のＩフレームは、時間ロケーションＴ０におけるビューＳ２のＰフレームの前に復号されるべきであり、そのＰフレームは、時間ロケーションＴ０におけるビューＳ４のＰフレームの前に復号されるべきである。しかしながら、ビューＳ１およびＳ３は、予測のために互いに依存しないために、ビューＳ１とＳ３との間で復号順序は重要でないが、代わりに、予測階層がより高いビューからのみ予測される。さらに、ビューＳ１がビューＳ０およびＳ２の後に復号される限り、ビューＳ１はビューＳ４の前に復号され得る。
【０１５２】
[0161]明確のために、各ビューのフレーム間に、ならびに各ビューのフレームの時間ロケーション間に、階層関係があり得る。図９の例に関して、時間ロケーションＴ０におけるフレームは、時間ロケーションＴ０における他のビューのフレームからイントラ予測されるか、またはビュー間予測される。同様に、時間ロケーションＴ８におけるフレームは、時間ロケーションＴ８における他のビューのフレームからイントラ予測されるか、またはビュー間予測される。したがって、時間階層に関して、時間ロケーションＴ０およびＴ８は時間階層の最上位にある。
【０１５３】
[0162]図９の例では、時間ロケーションＴ４のフレームが、時間ロケーションＴ０およびＴ８のフレームを参照してＢ符号化されるので、時間ロケーションＴ４におけるフレームは、時間ロケーションＴ０およびＴ８のフレームよりも時間階層が低い。時間ロケーションＴ２およびＴ６におけるフレームは、時間ロケーションＴ４におけるフレームよりも時間階層が低い。最後に、時間ロケーションＴ１、Ｔ３、Ｔ５、およびＴ７におけるフレームは、時間ロケーションＴ２およびＴ６のフレームよりも時間階層が低い。
【０１５４】
[0163]本開示の技法によれば、図９に示したビューの各々は、それぞれの階層レベルに対応すると見なされ得る。本開示の技法は、各ビューのためのビデオサンプルをそれぞれのサブトラックフラグメントに分離するために使用され得る。すなわち、ビュー１−Ｎのビデオサンプルを含むムービーフラグメントは、ビューＸ（ただし、１≦Ｘ≦Ｎ）のサンプルが１つのサブトラックフラグメントに記憶されるように構築され、そのサンプルは、当該ムービーフラグメント内で連続して記憶される。
【０１５５】
[0164]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、命令は、処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１５６】
[0165]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１５７】
[0166]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１５８】
[0167]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５９】
[0168]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］符号化ビデオデータを出力する方法であって、
符号化ビデオデータを複数のサブトラックフラグメントにアセンブルすることと、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のコード化ビデオピクチャを備え、前記階層的に関係する複数のコード化ビデオピクチャはそれぞれ共通の階層レイヤに対応し、
ストリーミングプロトコルに従って要求を受信することと、前記要求は、前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のコード化ビデオピクチャを出力することと、
を備える方法。
［２］前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、［１］に記載の方法。
［３］前記複数のサブトラックフラグメントのうちの２つ以上の前記複数のコード化ビデオピクチャを復号順序にどのように並べ替えるかを示す並べ替え情報をシグナリングすること、をさらに備える［１］に記載の方法。
［４］並べ替え情報をシグナリングすることは、
前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのコード化ビデオピクチャを参照するリアセンブラオブジェクトを生成することと、
前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶することと、
を備える、［３］に記載の方法。
［５］前記リアセンブラオブジェクトを生成することは、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成することを備える、［４］に記載の方法。
［６］並べ替え情報をシグナリングすることは、各サブトラックフラグメントについて、サブトラックフラグメント識別子と、前記サブトラックフラグメント中のピクチャの数とをシグナリングすることを備え、前記方法は、
前記複数のサブトラックフラグメントが固定パターンに従うように、前記複数のサブトラックフラグメントを配列すること、
をさらに備える［３］に記載の方法。
［７］前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定するサブトラックフラグメントヘッダを生成することをさらに備える、［１］に記載の方法。
［８］前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記サブトラックフラグメントヘッダを出力することをさらに備える、［７］に記載の方法。
［９］前記複数のサブトラックフラグメントを含むメディアファイルの初期化フラグメント中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義することさらに備える、［１］に記載の方法。
［１０］符号化ビデオデータを出力するための装置であって、
ストリーミングプロトコルに従ってデータを出力するインターフェースと、
制御ユニットと、
を備え、前記制御ユニットは、
符号化ビデオデータを複数のサブトラックフラグメントにアセンブルし、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、
前記ストリーミングプロトコルに従って要求を受信し、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記インターフェースに、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力させる、
装置。
［１１］前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、［１０］に記載の装置。
［１２］前記制御ユニットは、さらに、前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成し、前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶する、［１０］に記載の装置。
［１３］前記制御ユニットは、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成する、［１２］に記載の装置。
［１４］前記制御ユニットは、前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定する多重分離ヘッダを生成する、［１０］に記載の装置。
［１５］前記制御ユニットは、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記多重分離ヘッダを出力する、［１４］に記載の装置。
［１６］前記制御ユニットは、前記複数のサブトラックフラグメントを含むビデオファイルのムービーボックス中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義する、［１０］に記載の装置。
［１７］前記装置は、
集積回路と、
マイクロプロセッサと、
前記制御ユニットを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、［１０］に記載の装置。
［１８］符号化ビデオデータを出力するための装置であって、
符号化ビデオデータを複数のサブトラックフラグメントにアセンブルする手段と、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、
ストリーミングプロトコルに従って要求を受信する手段と、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する手段と、
を備える装置。
［１９］前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、［１８］に記載の装置。
［２０］前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成する手段と、
前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶する手段と、
をさらに備える、［１８］に記載の装置。
［２１］前記リアセンブラオブジェクトを生成する手段は、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成する手段を備える、［２０］に記載の装置。
［２２］前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定する多重分離ヘッダを生成する手段をさらに備える、［１８］に記載の装置。
［２３］前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記多重分離ヘッダを出力する手段をさらに備える、［２２］に記載の装置。
［２４］前記複数のサブトラックフラグメントを含むビデオファイルのムービーボックス中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義する手段をさらに備える、［１８］に記載の装置。
［２５］実行されたとき、符号化ビデオデータを出力するためのソースデバイスのプロセッサに、
符号化ビデオデータを複数のサブトラックフラグメントにアセンブルさせ、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、
ストリーミングプロトコルに従って要求を受信させ、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも１つを指定し、
前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力させる
命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［２６］前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも１つに対応するバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）パーシャルＧＥＴ要求を備える、［２５］に記載のコンピュータプログラム製品。
［２７］前記複数のサブトラックフラグメントのうちの第１のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成させ、
前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第２のサブトラックフラグメントに記憶させる
命令をさらに備える、［２５］に記載のコンピュータプログラム製品。
［２８］前記リアセンブラオブジェクトを生成させる命令は、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第１のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成させる命令を備える、［２７］に記載のコンピュータプログラム製品。
［２９］前記複数のサブトラックフラグメントのうちの少なくとも１つについてのバイト範囲を指定する多重分離ヘッダを生成させる命令をさらに備える、［２５］に記載のコンピュータプログラム製品。
［３０］前記複数のサブトラックフラグメントのうちの前記少なくとも１つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記多重分離ヘッダを出力させる命令をさらに備える、［２９］に記載のコンピュータプログラム製品。
［３１］前記複数のサブトラックフラグメントを含むビデオファイルのムービーボックス中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも１つのオペレーションポイントを定義させる命令をさらに備える、［２５］に記載のコンピュータプログラム製品。
［３２］符号化ビデオデータを受信する方法であって、
ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信することと、
要求すべきビデオデータの前記階層レベルのサブセットを決定することと、
前記サブセットの前記階層レベルのそれぞれについて、前記階層レベルにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送ることと、
前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信することと、
前記受信したビデオデータを復号及び表示することと、
を備える方法。
［３３］前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、［３２］に記載の方法。
［３４］前記受信したビデオデータは、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、前記方法は、
前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列すること、をさらに備える、［３２］に記載の方法。
［３５］前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定することは、前記オペレーションポイントを選択することを備える、［３２］に記載の方法。
［３６］符号化ビデオデータを受信するための装置であって、
ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信するインターフェースと、
要求すべきビデオデータの前記階層レベルのサブセットを決定する制御ユニットと、
を備え、
前記サブセットの前記階層レベルのそれぞれについて、前記制御ユニットは、前記階層レベルにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送り、
前記インターフェースは、前記要求に応答して、前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信する、装置。
［３７］前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、［３６］に記載の装置。
［３８］前記受信したビデオデータは、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、
前記制御ユニットは、前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列する、［３６］に記載の装置。
［３９］前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定するために、前記制御ユニットは前記オペレーションポイントを選択する、［３６］に記載の装置。
［４０］前記装置は、
集積回路と、
マイクロプロセッサと、
前記制御ユニットを含むワイヤレス通信デバイスと、
のうちの少なくとも１つを備える、［３６］に記載の装置。
［４１］符号化ビデオデータを受信するための装置であって、
ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信する手段と、
要求すべきビデオデータの前記階層レベルのサブセットを決定する手段と、
前記サブセットの前記階層レベルのそれぞれについて、前記階層レベルにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送る手段と、
前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信する手段と、
前記受信したビデオデータを復号及び表示する手段と、
を備える装置。
［４２］前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、［４１］に記載の装置。
［４３］前記受信したビデオデータが、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、
前記装置は、前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列する手段をさらに備える、［４１］に記載の装置。
［４４］前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定する手段は、前記オペレーションポイントを選択する手段を備える、［４１］に記載の装置。
［４５］実行されたとき、符号化ビデオデータを受信するためのデバイスのプロセッサに、
ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信させ、
要求すべきビデオデータの前記階層レベルのサブセットを決定させ、
前記サブセットの前記階層レベルのそれぞれについて、前記階層レベルおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ１つの要求を送らせ、
前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信させ、
前記受信したビデオデータを復号及び表示させる
命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［４６］前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、［４５］に記載のコンピュータプログラム製品。
［４７］前記受信したビデオデータは、第１の階層レベルのための第１のサブトラックフラグメントと、第２の階層レベルのための第２のサブトラックフラグメントとを備え、前記第１のサブトラックフラグメントは複数のビデオピクチャを含み、前記第２のサブトラックフラグメントは、前記第１のサブトラックフラグメントの前記複数のビデオピクチャのうちの１つを参照するリアセンブラオブジェクトを含み、
前記コンピュータ可読記憶媒体は、
前記リアセンブラオブジェクトを使用して、復号順序で前記第１のサブトラックフラグメントと前記第２のサブトラックフラグメントとからビデオピクチャのシーケンスを配列させる命令をさらに備える、［４５］に記載のコンピュータプログラム製品。
［４８］前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定させる前記命令は、前記オペレーションポイントを選択させる命令を備える、［４５］に記載のコンピュータプログラム製品。
【図１】
0005551315.tif 000005
【図２】
0005551315.tif 000006
【図３】
0005551315.tif 000007
【図４Ａ】
0005551315.tif 000008
【図４Ｂ】
0005551315.tif 000009
【図５】
0005551315.tif 000010
【図６】
0005551315.tif 000011
【図７】
0005551315.tif 000012
【図８】
0005551315.tif 000013
【図９】
0005551315.tif 000014