"符号化ビデオデータを出力する方法であって、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルすることと、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のコード化ビデオピクチャを備え、前記階層的に関係する複数のコード化ビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信することと、前記要求は、前記複数のサブトラックフラグメントのうちの少なくとも1つを指定し、前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のコード化ビデオピクチャを出力することと、を備える方法。前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも1つに対応するバイト範囲を指定するハイパーテキスト転送プロトコルHTTPパーシャルGET要求を備える、請求項1に記載の方法。前記複数のサブトラックフラグメントのうちの2つ以上の前記複数のコード化ビデオピクチャを復号順序にどのように並べ替えるかを示す並べ替え情報をシグナリングすること、をさらに備える請求項1に記載の方法。並べ替え情報をシグナリングすることは、前記複数のサブトラックフラグメントのうちの第1のサブトラックフラグメントのコード化ビデオピクチャを参照するリアセンブラオブジェクトを生成することと、前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第2のサブトラックフラグメントに記憶することと、を備える、請求項3に記載の方法。前記リアセンブラオブジェクトを生成することは、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成することを備える、請求項4に記載の方法。並べ替え情報をシグナリングすることは、各サブトラックフラグメントについて、サブトラックフラグメント識別子と、前記サブトラックフラグメント中のピクチャの数とをシグナリングすることを備え、前記方法は、前記複数のサブトラックフラグメントが固定パターンに従うように、前記複数のサブトラックフラグメントを配列すること、をさらに備える請求項3に記載の方法。前記複数のサブトラックフラグメントのうちの少なくとも1つについてのバイト範囲を指定するサブトラックフラグメントヘッダを生成することをさらに備える、請求項1に記載の方法。前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記サブトラックフラグメントヘッダを出力することをさらに備える、請求項7に記載の方法。前記複数のサブトラックフラグメントを含むメディアファイルの初期化フラグメント中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも1つのオペレーションポイントを定義することさらに備える、請求項1に記載の方法。符号化ビデオデータを出力するための装置であって、ストリーミングプロトコルに従ってデータを出力するインターフェースと、制御ユニットと、を備え、前記制御ユニットは、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルし、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、前記ストリーミングプロトコルに従って要求を受信し、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも1つを指定し、前記要求に応答して、前記インターフェースに、前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力させる、装置。前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも1つに対応するバイト範囲を指定するハイパーテキスト転送プロトコルHTTPパーシャルGET要求を備える、請求項10に記載の装置。前記制御ユニットは、さらに、前記複数のサブトラックフラグメントのうちの第1のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成し、前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第2のサブトラックフラグメントに記憶する、請求項10に記載の装置。前記制御ユニットは、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成する、請求項12に記載の装置。前記制御ユニットは、前記複数のサブトラックフラグメントのうちの少なくとも1つについてのバイト範囲を指定する多重分離ヘッダを生成する、請求項10に記載の装置。前記制御ユニットは、前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記多重分離ヘッダを出力する、請求項14に記載の装置。前記制御ユニットは、前記複数のサブトラックフラグメントを含むビデオファイルのムービーボックス中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも1つのオペレーションポイントを定義する、請求項10に記載の装置。前記装置は、集積回路と、マイクロプロセッサと、前記制御ユニットを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項10に記載の装置。符号化ビデオデータを出力するための装置であって、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルする手段と、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信する手段と、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも1つを指定し、前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力する手段と、を備える装置。前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも1つに対応するバイト範囲を指定するハイパーテキスト転送プロトコルHTTPパーシャルGET要求を備える、請求項18に記載の装置。前記複数のサブトラックフラグメントのうちの第1のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成する手段と、前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第2のサブトラックフラグメントに記憶する手段と、をさらに備える、請求項18に記載の装置。前記リアセンブラオブジェクトを生成する手段は、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成する手段を備える、請求項20に記載の装置。前記複数のサブトラックフラグメントのうちの少なくとも1つについてのバイト範囲を指定する多重分離ヘッダを生成する手段をさらに備える、請求項18に記載の装置。前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記多重分離ヘッダを出力する手段をさらに備える、請求項22に記載の装置。前記複数のサブトラックフラグメントを含むビデオファイルのムービーボックス中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも1つのオペレーションポイントを定義する手段をさらに備える、請求項18に記載の装置。実行されたとき、符号化ビデオデータを出力するためのソースデバイスのプロセッサに、符号化ビデオデータを複数のサブトラックフラグメントにアセンブルさせ、前記複数のサブトラックフラグメントのそれぞれは、前記符号化ビデオデータの階層的に関係する複数のビデオピクチャを備え、前記階層的に関係する複数のビデオピクチャはそれぞれ共通の階層レイヤに対応し、ストリーミングプロトコルに従って要求を受信させ、前記要求は前記複数のサブトラックフラグメントのうちの少なくとも1つを指定し、前記要求に応答して、前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力させる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記要求は、前記複数のサブトラックフラグメントのうちの前記少なくとも1つに対応するバイト範囲を指定するハイパーテキスト転送プロトコルHTTPパーシャルGET要求を備える、請求項25に記載のコンピュータプログラム製品。前記複数のサブトラックフラグメントのうちの第1のサブトラックフラグメントのサンプルを参照するリアセンブラオブジェクトを生成させ、前記リアセンブラオブジェクトを前記複数のサブトラックフラグメントのうちの第2のサブトラックフラグメントに記憶させる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。前記リアセンブラオブジェクトを生成させる命令は、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメントのインデックス値と、前記複数のサブトラックフラグメントのうちの前記第1のサブトラックフラグメント中の前記サンプルの位置を示す位置値とを含むように前記リアセンブラオブジェクトを生成させる命令を備える、請求項27に記載のコンピュータプログラム製品。前記複数のサブトラックフラグメントのうちの少なくとも1つについてのバイト範囲を指定する多重分離ヘッダを生成させる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。前記複数のサブトラックフラグメントのうちの前記少なくとも1つの前記階層的に関係する複数のビデオピクチャを出力する前に、前記多重分離ヘッダを出力させる命令をさらに備える、請求項29に記載のコンピュータプログラム製品。前記複数のサブトラックフラグメントを含むビデオファイルのムービーボックス中で、前記複数のサブトラックフラグメントのサブセットに対応する少なくとも1つのオペレーションポイントを定義させる命令をさらに備える、請求項25に記載のコンピュータプログラム製品。符号化ビデオデータを受信する方法であって、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信することと、要求すべきビデオデータの前記階層レベルのサブセットを決定することと、前記サブセットの前記階層レベルのそれぞれについて、前記階層レベルにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ1つの要求を送ることと、前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信することと、前記受信したビデオデータを復号及び表示することと、を備える方法。前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、請求項32に記載の方法。前記受信したビデオデータは、第1の階層レベルのための第1のサブトラックフラグメントと、第2の階層レベルのための第2のサブトラックフラグメントとを備え、前記第1のサブトラックフラグメントは複数のビデオピクチャを含み、前記第2のサブトラックフラグメントは、前記第1のサブトラックフラグメントの前記複数のビデオピクチャのうちの1つを参照するリアセンブラオブジェクトを含み、前記方法は、前記リアセンブラオブジェクトを使用して、復号順序で前記第1のサブトラックフラグメントと前記第2のサブトラックフラグメントとからビデオピクチャのシーケンスを配列すること、をさらに備える、請求項32に記載の方法。前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定することは、前記オペレーションポイントを選択することを備える、請求項32に記載の方法。符号化ビデオデータを受信するための装置であって、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信するインターフェースと、要求すべきビデオデータの前記階層レベルのサブセットを決定する制御ユニットと、を備え、前記サブセットの前記階層レベルのそれぞれについて、前記制御ユニットは、前記階層レベルにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ1つの要求を送り、前記インターフェースは、前記要求に応答して、前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信する、装置。前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、請求項36に記載の装置。前記受信したビデオデータは、第1の階層レベルのための第1のサブトラックフラグメントと、第2の階層レベルのための第2のサブトラックフラグメントとを備え、前記第1のサブトラックフラグメントは複数のビデオピクチャを含み、前記第2のサブトラックフラグメントは、前記第1のサブトラックフラグメントの前記複数のビデオピクチャのうちの1つを参照するリアセンブラオブジェクトを含み、前記制御ユニットは、前記リアセンブラオブジェクトを使用して、復号順序で前記第1のサブトラックフラグメントと前記第2のサブトラックフラグメントとからビデオピクチャのシーケンスを配列する、請求項36に記載の装置。前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定するために、前記制御ユニットは前記オペレーションポイントを選択する、請求項36に記載の装置。前記装置は、集積回路と、マイクロプロセッサと、前記制御ユニットを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項36に記載の装置。符号化ビデオデータを受信するための装置であって、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信する手段と、要求すべきビデオデータの前記階層レベルのサブセットを決定する手段と、前記サブセットの前記階層レベルのそれぞれについて、前記階層レベルにおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ1つの要求を送る手段と、前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信する手段と、前記受信したビデオデータを復号及び表示する手段と、を備える装置。前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、請求項41に記載の装置。前記受信したビデオデータが、第1の階層レベルのための第1のサブトラックフラグメントと、第2の階層レベルのための第2のサブトラックフラグメントとを備え、前記第1のサブトラックフラグメントは複数のビデオピクチャを含み、前記第2のサブトラックフラグメントは、前記第1のサブトラックフラグメントの前記複数のビデオピクチャのうちの1つを参照するリアセンブラオブジェクトを含み、前記装置は、前記リアセンブラオブジェクトを使用して、復号順序で前記第1のサブトラックフラグメントと前記第2のサブトラックフラグメントとからビデオピクチャのシーケンスを配列する手段をさらに備える、請求項41に記載の装置。前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定する手段は、前記オペレーションポイントを選択する手段を備える、請求項41に記載の装置。実行されたとき、符号化ビデオデータを受信するためのデバイスのプロセッサに、ソースデバイスから、ムービーフラグメントについてのビデオデータの階層レベルを記述する情報を受信させ、要求すべきビデオデータの前記階層レベルのサブセットを決定させ、前記サブセットの前記階層レベルのそれぞれについて、前記階層レベルおける前記ムービーフラグメントの前記ビデオデータのすべてを取り出すために前記ソースデバイスにただ1つの要求を送らせ、前記階層レベルの前記決定されたサブセットの前記ビデオデータを受信させ、前記受信したビデオデータを復号及び表示させる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。前記階層レベルを記述する前記情報は、前記階層レベルのそれぞれについて、前記階層レベルに対応する前記ビデオデータの前記ムービーフラグメント中のバイト範囲を指定する多重分離ヘッダを備える、請求項45に記載のコンピュータプログラム製品。前記受信したビデオデータは、第1の階層レベルのための第1のサブトラックフラグメントと、第2の階層レベルのための第2のサブトラックフラグメントとを備え、前記第1のサブトラックフラグメントは複数のビデオピクチャを含み、前記第2のサブトラックフラグメントは、前記第1のサブトラックフラグメントの前記複数のビデオピクチャのうちの1つを参照するリアセンブラオブジェクトを含み、前記コンピュータ可読記憶媒体は、前記リアセンブラオブジェクトを使用して、復号順序で前記第1のサブトラックフラグメントと前記第2のサブトラックフラグメントとからビデオピクチャのシーケンスを配列させる命令をさらに備える、請求項45に記載のコンピュータプログラム製品。前記階層レベルを記述する前記情報は、前記ビデオデータを含むビデオファイルのムービーボックスを備え、前記ムービーボックスは、前記階層レベルの前記サブセットに対応するオペレーションポイントを定義し、前記サブセットを決定させる前記命令は、前記オペレーションポイントを選択させる命令を備える、請求項45に記載のコンピュータプログラム製品。0026概して、本開示では、ビデオデータのストリーミングをサポートするためにビデオファイルのサブトラックフラグメントを並べるarrangeための技法について説明する。特に、トラックフラグメントのコード化ビデオピクチャが、そのコード化ビデオピクチャが属する階層レイヤに従って並べられ得る。本開示では、コード化ビデオピクチャを、コード化ビデオサンプル、あるいは単にサンプルまたはピクチャと呼ぶこともある。このようにして、共通のレイヤのコード化ビデオピクチャは、ビデオファイル内で連続して並べられ得る。したがって、宛先デバイスは、単一の要求を使用してムービーフラグメント内の特定の階層レイヤのコード化ピクチャを取り出し得る。HTTPストリーミングの例の場合、単一の要求は、所望の階層レイヤまでのコード化ビデオピクチャのバイト範囲を指定するHTTP部分GET要求HTTPpartialGETリクエストを備え得る。0027トラックフラグメントは、ISOベースメディアファイルフォーマットのビデオ表現のフラグメント、あるいはパケット化エレメンタリストリームPES、プログラムストリームPS、またはトランスポートストリームTSのいずれかのタイプであり得るMPEG-2システムストリームのフラグメントであり得る。MPEG-2トランスポートストリームTS中では、アクセスユニットに対応するパケットは、従来、復号順序で順序付けられる。アクセスユニットは、TSストリーム中の複数のトランスポートパケットにセグメント化され得る。トラックフラグメントがMPEG-2システムストリームの連続部分として定義される場合、トラックフラグメントは、ファイルユニット、たとえば、ファイルまたはファイルセグメントとして提示され得る。本開示の技法は、フラグメント中のアクセスユニットをいくつかのサブトラックフラグメントに並べ替えることであり、サブトラックフラグメントの各々は、共通の階層レイヤのコード化ピクチャがストリームの一部分に連続的に提示されるようにアクセスユニットコード化ピクチャのそれぞれの階層レイヤに対応し得る。トラックフラグメント中のサブトラックフラグメントは、復号順序に従って並べられ得る。このようにして、共通のレイヤのコード化ビデオピクチャは、ビデオファイル内で連続して並べられ得る。したがって、宛先デバイスは、単一の要求、たとえば、所望の階層レイヤまでのコード化ビデオピクチャのバイト範囲を指定するHTTP部分GET要求を使用して、ムービーフラグメント内の特定の階層レイヤまでのすべてのコード化ピクチャを取り出し得る。0028一例として、AdvancedVideoCodingAVCファイルフォーマットは、任意のトラックフラグメントまたはムービーフラグメント中で、コード化ビデオピクチャが復号順序で構成されることを指定する。ピクチャグループGOPは、様々な予測方式を使用して符号化されたいくつかのピクチャ、たとえば、イントラ予測Iピクチャおよびインター予測PピクチャおよびBピクチャを有し得る。Iピクチャは、他のピクチャに関係なく符号化され得、Pピクチャは、単一の方向において1つまたは複数の参照ピクチャに対して符号化され得、Bピクチャは、両方向ビデオシーケンス中の前方および後方において1つまたは複数のピクチャに対して符号化され得る。0029インターコード化ピクチャは、インターコード化ピクチャについての参照ピクチャの階層レベルに等しいかまたはそれよりも大きい階層レベルを有し得る。表示順序でのピクチャの例示的なシーケンスは、I0B3B2B3B1B3B2B3P0であり得、ここにおいて文字は、各ピクチャの符号化タイプを示し、この場合、数字は、ピクチャが対応する階層レベルを示す。説明のために、各ピクチャが表示順序でのピクチャの位置に対応する数値順インデックスに関連すると仮定する。上記のように、例示的なシーケンスは表示順序で並べられる。インター予測符号化ピクチャを復号するために、符号化ピクチャについての参照ピクチャが最初に復号され得る。以下の表1に、この例示的なシーケンスについての例示的な復号順序を与え、ここにおいて下付き数字は、ピクチャの表示順序を指す。0030したがって、従来のソースデバイスは、コード化ピクチャの復号順序に従ってコード化ピクチャのこの例示的なシーケンスを並べる。従来、同じ時間階層レベルをもつGOP内のピクチャ表1の例では、GOPサイズは4であるは、同じ階層レベルの他のGOP中のピクチャから分離され得る。たとえば、B2およびB6は、表1の例では両方とも時間階層レベル1のピクチャであるが、復号順序で並べた場合、異なる時間レベルをもつピクチャによって分離されるであろう。1つのGOP内で同じ時間レベルをもつピクチャでさえ、異なる時間レベルをもつピクチャによって分離され得る。たとえば、10個のGOPを含んでいるフラグメントを仮定すると、同じ時間レベルをもつピクチャは、複数の別々の部分としてフラグメント中に分散され得る。0031一方、本開示の技法は、コード化ピクチャのシーケンスの階層レイヤに関して順序付けを提供する。一例として、本開示の技法によるソースデバイスは、表2に示すように上記の例示的なシーケンスを並べる。0032このようにして、シーケンス中のコード化ビデオピクチャは、ビデオファイルのフラグメント内の階層レベルに従って並べられる。すなわち、フラグメント内の共通の階層レベルのピクチャは、フラグメント内で連続して互いにグループ化され得る。特定の階層レベルに対応する各サブトラックフラグメントは、単一の要求に応答してデバイスに配信され得る。このようにして、宛先デバイスは、特定の階層レベルまでのピクチャを取り出したいという単一の要求を発行し得る。各サブトラックフラグメントのバイト範囲は、宛先デバイスが階層レベルのうちの1つまたは複数についての要求を形成することができるように、ビデオピクチャが要求される前に宛先デバイスに送信され得る。0033たとえば、宛先デバイスは、2つのサブトラックフラグメント0および1に対応し得る、階層レベル1までのピクチャを取り出すように構成され得る。宛先デバイスは、サブトラックフラグメント0および1のバイト範囲に基づいて要求を発行することができる。この例示的な要求に応答して、ソースデバイスは、表示順序0、8、4、2、6などを有するサブトラックフラグメント0および1中のピクチャを与え得る。0034階層レベルに従ってピクチャを順序付けることによって、ソースデバイスは、宛先デバイスがそれによって共通の階層レベルのコード化ビデオピクチャを取り出し得るプロセスを簡略化し得る。宛先デバイスは、たとえば、所望の階層レベルに対応するピクチャの各々のロケーションを決定する必要や、そのようなピクチャについての複数の要求を個別に発行する必要はないが、代わりに、所望の階層レベルまでのピクチャのみを取り出したいという単一の要求をサブミットし得る。0035サブトラックフラグメントを受信すると、サブトラックフラグメント中のシグナリングに基づいて、宛先デバイスは、ビデオデコーダにビデオピクチャを送る前に、階層レベルまでの、受信したビデオピクチャを並べ替えて、正しい復号順序を形成し得る。さらに、各サブトラックフラグメントの階層を記述する情報、たとえば、時間スケーラビリティ、フレームレート、および再生速度playrateは、早送りとして使用されるときにシグナリングされ得る。0036宛先デバイスは、様々な理由で特定の階層レベルまでのピクチャのみを取り出すように構成され得る。たとえば、宛先デバイスは、ビデオファイルの最大利用可能フレームレートよりも低い最大フレームレートをサポートし得る。別の例として、宛先デバイスは、標準再生速度playbackrateの2倍、4倍、8倍、または他の倍数の速度での早送り再生など、トリックモードをサポートし得る。このようにして、本開示の技法は、時間スケーラビリティをサポートし得る。0037本開示の技法は、ISOベースメディアファイルフォーマット、AdvancedVideoCodingAVCファイルフォーマット、ThirdGenerationPartnershipProject3GPPファイルフォーマット、スケーラブルビデオコーディングSVCファイルフォーマット、および/またはマルチビュービデオコーディングMVCファイルフォーマットのいずれか、あるいは他の同様のビデオファイルフォーマットに準拠するビデオファイルに適用され得る。さらに、階層レベルは、これらまたは他のビデオファイルフォーマットによる階層レベルであり得る。たとえば、SVCに関して、階層レベルは、コーディングの様々なレイヤ、たとえば、ベースレイヤおよび1つまたは複数のエンハンスメントレイヤに対応し得る。別の例として、MVCに関して、階層レベルは様々なビューに対応し得る。0038ISOベースメディアファイルフォーマットは、メディアの交換、管理、編集、およびプレゼンテーションを可能にする、フレキシブルな、拡張可能なフォーマットでのプレゼンテーションのための、時限メディア情報を含んでいるように設計される。ISOベースメディアファイルフォーマットISO/IEC14496-12:2004は、時間ベースメディアファイルのための一般的な構造を定義するMPEG-4Part12において規定されている。それは、H.264/MPEG-4AVCビデオ圧縮のサポートを定義したAVCファイルフォーマットISO/IEC14496-15、3GPPファイルフォーマット、SVCファイルフォーマット、およびMVCファイルフォーマットなどのファミリー中の他のファイルフォーマットに対する基準として使用される。3GPPファイルフォーマットおよびMVCファイルフォーマットはAVCファイルフォーマットの拡張である。ISOベースメディアファイルフォーマットは、オーディオビジュアルプレゼンテーションなどのメディアデータの時限シーケンスのためのタイミング、構造、およびメディア情報を含んでいる。ファイル構造はオブジェクト指向であり得る。ファイルは、非常に単純に基本オブジェクトに分解され得、オブジェクトの構造はそれらのタイプから暗示される。0039MPEG-1およびMPEG-2の例では、B符号化ピクチャが自然時間スケーラビリティを与える。MPEG-1またはMPEG-2に準拠するビデオファイルのトラックは、I符号化ピクチャとP符号化ピクチャとB符号化ピクチャとのフルセットを含み得る。B符号化ピクチャをドロップすることによって、ビデオファイルは、準拠する1/2解像度ビデオ表現を達成し得る。MPEG-1およびMPEG-2はまた、2つの時間レイヤをコーディングするためにベースレイヤ及びエンハンスメントレイヤ概念を与え、エンハンスメントレイヤピクチャは、各予測方向について、参照としてベースレイヤまたはエンハンスメントレイヤのいずれかからのピクチャを選択することができる。したがって、ビデオファイル内に含まれる、I符号化ピクチャとP符号化ピクチャとB符号化ピクチャとのフルセットよりも少ない符号化ピクチャを、宛先デバイスは要求でき、ソースデバイスは提供できる。ソースデバイスによって宛先デバイスに与えられたビデオデータは、依然としてMPEG-1とMPEG-2とに準拠し、符号化ピクチャの元のフルセットの1/2のまたはそれよりも低い解像度を有し得る。0040別の例として、H.264/AVCは、階層B符号化ピクチャを使用して、時間スケーラビリティをサポートする。H.264/AVCにおけるビデオシーケンスの第1のピクチャは、キーピクチャとしても知られる瞬時デコーダリフレッシュIDR:InstantaneousDecoderRefreshピクチャと呼ばれることがある。キーピクチャは、一般に、動き補償予測のための参照として前のキーピクチャを使用したイントラ符号化またはインター符号化のいずれかである、規則的または不規則な間隔でコーディングされる。ピクチャグループGOPは、概して、キーピクチャと、そのキーピクチャと前のキーピクチャとの間に時間的に配置されるすべてのピクチャとを含む。GOPは、2つの部分に分割でき、一方はキーピクチャであり、他方は非キーピクチャを含む。非キーピクチャは、過去および将来からのより低い時間レベルの最も近いピクチャである2つの参照ピクチャによって階層的に予測される。0041ピクチャの階層位置、すなわち、ピクチャが対応する階層レイヤを示すために、時間識別子値が各ピクチャに割り当てられ得る。したがって、Nまでの時間識別子値をもつピクチャは、N-1までの時間識別子値をもつピクチャによって形成されるビデオセグメントのフレームレートの2倍のフレームレートをもつビデオセグメントを形成し得る。したがって、本開示の技法は、宛先デバイスがサブトラックフラグメントのうちの1つまたは複数を要求し得るが、ムービーフラグメントのサブトラックフラグメントのフルセットよりも少ないサブトラックフラグメントを要求し得るように、サブトラックフラグメントにコード化ビデオピクチャを配列することによって、H.264/AVCにおける時間スケーラビリティを達成するためにも使用され得る。すなわち、宛先デバイスは、Nよりも少ないかまたはNに等しい時間識別子を有するサブトラックフラグメントを要求し得る。0042ISOベースメディアファイルフォーマットおよびそれの拡張に準拠するファイルは、ボックスと呼ばれる一連のオブジェクトとして形成され得る。ISOベースメディアファイルフォーマットのデータは、他のいかなるデータもボックスの外部のファイル内に含まれる必要がないように、ボックス中に含まれている。これは、特定のファイルフォーマットによって必要とされる初期シグナチャを含む。ボックスは、一意のタイプ識別子と長さとによって定義されるオブジェクト指向ビルディングブロックであり得る。一般に、プレゼンテーションは1つのファイル中に含まれ、メディアプレゼンテーションは独立型selfcontainedである。ムービーコンテナムービーボックスはメディアのメタデータを含んでいることがあり、ビデオおよびオーディオフレームは、メディアデータコンテナ中に含まれていることがあり、他のファイル中にあり得る。0043プレゼンテーション動きシーケンスは、いくつかのファイル中に含まれていることがある。タイミングおよびフレーミング位置およびサイズ情報は概してISOベースメディアファイル中にあり、補助ファイルは本質的に任意のフォーマットを使用し得る。このプレゼンテーションは、プレゼンテーションを含んでいるシステムに対してローカルであり得るか、あるいはネットワークまたは他のストリーム配信機構を介して与えられ得る。0044ファイルは、論理構造と時間構造と物理構造とを有し得、これらの構造は結合される必要はない。ファイルの論理構造は、時間並列トラックのセットを含んでいるムービーであり得る。ファイルの時間構造は、トラックが時間的なピクチャのシーケンスを含んでおり、それらのシーケンスは、オプションのエディットリストによってムービー全体のタイムラインにマッピングされるものであり得る。ファイルの物理構造は、メディアデータサンプル自体から、論理、時間、および構造的分解のために必要とされるデータを分離し得る。この構造的情報は、ムービーボックス中に集められ、場合によってはムービーフラグメントボックスによって時間的に拡張され得る。ムービーボックスは、サンプルの論理関係およびタイミング関係をドキュメント化し、また、サンプルが配置される場所へのポインタを含んでいることがある。それらのポインタは、たとえば、URLによって参照される同じファイルまたは別のファイルへのものであり得る。0045各メディアストリームは、そのメディアタイプオーディオ、ビデオなどに専用のトラック中に含まれていることがあり、さらにサンプルエントリによってパラメータ表示され得る。サンプルエントリは、厳密なメディアタイプストリームを復号するために必要とされるデコーダのタイプの名前と、必要とされるそのデコーダのパラメータ表示を含んでいることがある。名前はまた、4文字コード、たとえば、moov、またはtrakの形態をとり得る。MPEG-4メディアについてだけでなく、このファイルフォーマットファミリーを使用する他の編成によって使用されるメディアタイプについても、定義済みのサンプルエントリフォーマットがある。0046メタデータのサポートは、概して2つの形態をとる。第1に、時限メタデータが、適切なトラックに記憶され得、必要に応じて、それが表しているメディアデータと同期され得る。第2に、ムービーまたは個々のトラックにアタッチされた非時限メタデータの全般的サポートがあり得る。構造的サポートは、全般的であり、メディアデータの場合のように、ファイル中の他の場所または別のファイル中でのメタデータリソースの記憶を可能にする。さらに、これらのリソースは名前付きであり得、保護され得る。0047ISOベースメディアファイルフォーマットでは、サンプルグルーピングは、1つのサンプルグループのメンバーであるべきトラック中のサンプルの各々の割当てである。サンプルグループ中のサンプルは連続する必要はない。たとえば、AVCファイルフォーマットにおけるH.264/AVCを提示するとき、1つの時間レベルのビデオサンプルは、1つのサンプルグループにサンプリングされ得る。サンプルグループは、SampleToGroupボックスsbdpとSampleGroupDescriptionボックスとの2つのデータ構造によって表され得る。SampleToGroupボックスは、サンプルグループへのサンプルの割当てを表す。各サンプルグループエントリに対しSampleGroupDescriptionボックスの一例があり、対応するグループのプロパティについて説明する。0048オプションのメタデータトラックは、各トラックにそれが有する興味深い特性をタグ付けするために使用され、その値は、グループの他のメンバーたとえば、それのビットレート、スクリーンサイズ、または言語とは異なり得る。トラック内のいくつかのサンプルは、特殊な特性を有し得るか、または個々に識別され得る。その特性の一例は、同期ポイントしばしば、ビデオIフレームである。これらのポイントは、各トラック中の特殊なテーブルによって識別され得る。より一般には、トラックサンプル間の依存性の性質は、メタデータを使用してドキュメント化されることもある。メタデータは、ちょうどビデオトラックのように、ファイルフォーマットサンプルのシーケンスとして構造化され得る。そのようなトラックはメタデータトラックと呼ばれることがある。各メタデータサンプルはメタデータ文として構造化され得る。対応するファイルフォーマットサンプルまたはそれの構成サンプルについて質問され得る様々な質問に対応する、様々な種類の文がある。0049メディアがストリーミングプロトコルを介して配信されるとき、メディアは、それがファイルにおいて表される形から変換される必要があり得る。この一例は、メディアがリアルタイムプロトコルRTPを介して送信されるときである。ファイルでは、たとえば、ビデオの各フレームが、ファイルフォーマットサンプルとして連続して記憶される。RTPでは、これらのフレームをRTPパケット中に配置するために、使用されるコーデックに固有のパケット化ルールが順守されなければならない。ストリーミングサーバは、実行runtime時にそのようなパケット化を計算するように構成され得る。ただし、ストリーミングサーバの支援のサポートがある。ヒントトラックと呼ばれる特殊なトラックがファイルに入れられ得る。0050ヒントトラックは、特定のプロトコルのためのメディアトラックからどのようにパケットストリームを形成するかに関する、ストリーミングサーバのための一般的な命令を含んでいる。これらの命令の形態はメディア独立型であるので、新しいコーデックが導入されたときにサーバが修正される必要がないことがある。さらに、符号化および編集ソフトウェアはストリーミングサーバに気づいていないことがある。ファイル上で編集が完了すると、ファイルをストリーミングサーバに置く前に、ヒントトラックをファイルに追加するために、ヒンターhinterと呼ばれる1個のソフトウェアが使用され得る。一例として、MP4ファイルフォーマット規格におけるRTPストリームのための定義されたヒントトラックフォーマットがある。00513GP3GPPファイルフォーマットは、3GUMTSマルチメディアサービスのためのThirdGenerationPartnershipProject3GPPによって定義されたマルチメディアコンテナフォーマットである。これは、一般に、3Gモバイルフォンおよび他の3G対応デバイス上で使用されるが、一部の2Gおよび4Gフォンならびに2Gおよび4Gデバイス上でも再生され得る。3GPPファイルフォーマットはISOベースメディアファイルフォーマットに基づく。最新の3GPは、3GPPTS26.244、Transparentendtoendpacketswitchedstreamingservice3GPPfileformatにおいて規定されている。3GPPファイルフォーマットは、ビデオストリームをMPEG-4Part2またはH.263またはMPEG-4Part10AVC/H.264として記憶する。3GPPは、ISOベースメディアファイルフォーマットMPEG-4Part12でのサンプルエントリおよびテンプレートフィールドの使用、ならびにコーデックが参照する新しいボックスを定義することを規定しているので、3GPPは、ISOベースメディアファイルフォーマットでのAMRおよびH.263コーデックの使用を可能にする。3GPファイルにおけるMPEG-4メディア固有情報の記憶のために、3GP仕様は、同じくISOベースメディアファイルフォーマットに基づくMP4およびAVCファイルフォーマットに言及している。MP4およびAVCファイルフォーマット仕様には、ISOベースメディアファイルフォーマットのMPEG-4コンテンツの使用が記載されている。0052ISOベースメディアファイルフォーマット仕様はトラックの代替グループを定義している。代替グループは利用可能な全トラックのサブセットを含み、各トラックは1つの代替グループに対応し得る。概して、宛先デバイスは、代替グループ中の他のトラックを除外して、各代替グループから1つのトラックを選択し得る。3GPPファイルフォーマット仕様は、代替グループと同様である、トラックの切替えグループを定義している。ダウンロードストリーミングおよび再生中に、宛先デバイスは、切替えグループの異なるトラック間で切り替え得る。すなわち、同じ切替えグループ中のトラックは、セッション中の切替えのために利用可能であるが、異なる切替えグループ中のトラックは、一般に、切替えのために利用可能でない。0053SVCファイルフォーマットは、AVCファイルフォーマットの拡張として、エクトラクタおよびティアtierの構造を与える。エクトラクタは、別のトラック中の等しい復号時間をもつサンプル中のビデオコーディングデータの位置およびサイズに関する情報を与えるポインタである。これは、トラック階層をコーディング領域に直接組み込むことを可能にする。SVCにおけるエクトラクタトラックは、それがそこから実行時にデータを抽出する1つまたは複数のベーストラックにリンクされる。エクトラクタは、SVC拡張をもつNALユニットヘッダをもつデリファレンス可能なポインタである。抽出のために使用されるトラックが異なるフレームレートのビデオコーディングデータを含んでいる場合、エクトラクタはまた、トラック間の同期性を保証するために復号時間オフセットを含んでいる。実行時に、エクトラクタは、ストリームがビデオデコーダに受け渡される前に、それが指すデータと置き換えられなければならない。0054SVCにおけるエクトラクタトラックはビデオコーディングトラックのように構造化されるので、それらは、異なる方法で必要とするサブセットを表し得る。SVCエクトラクタトラックは、別のトラックからデータをどのように抽出するかに関する命令のみを含む。SVCファイルフォーマットには、サンプル内のNALユニットを1つのNALユニットとして一緒にアグリゲートすることができるアグリゲータもあり、このアグリゲータは、1つのレイヤ中の複数のNALユニットを1つにアグリゲータにアグリゲートすることを含む。SVCにおけるエクトラクタは、サンプルまたはアグリゲータからある範囲のバイトを抽出するか、あるいはただ1つのNALユニット全体を抽出するが、複数のNALユニット、特にサンプル中で連続しないNALユニットを抽出しないように設計される。SVCファイルフォーマットには、多くのビデオオペレーションポイントがあり得る。ティアは、オペレーションポイントのための1つまたは複数のトラック中のサンプルをグループ化するように設計される。0055また、MVCファイルフォーマットは、あるフレームレートのビューのサブセットであるオペレーションポイントを形成するために異なるビューからNALユニットを抽出するエクトラクタトラックをサポートする。MVCエクトラクタトラックの設計は、SVCファイルフォーマットのエクトラクタと同様である。しかしながら、代替グループを形成するためにMVCエクトラクタトラックを使用することはサポートされない。トラック選択をサポートするために、以下のMPEG提案、すなわちP.Frojdh、A.NorkinおよびC.Priddle、Fileformatsubtrackselectionandswitching、ISO/IECJTC1/SC29/WG11MPEGM16665、LondonUK、がMPEGに提案されている。この提案では、サブトラックレベルでの代替/切替えグループ概念を可能にすることを試みている。0056マップサンプルグループはサンプルグループへの拡張である。マップサンプルグループでは、サンプルの各グループエントリは、その記述子であるgroupIDを有し、これは、おそらく、ビュー中の複数のNALユニットを1つのNALユニットにアグリゲートした後の、実際のview_idへのマップである。言い換えれば、各サンプルグループエントリは、ScalableNALUMapEntry値に記載されている、それの含んでいるビューを有する。このサンプルグループエントリのgrouping_typeはscnmである。0057プログレッシブダウンロードという用語は、一般に、HTTPプロトコルを使用した、サーバからクライアントへのデジタルメディアファイルの転送を説明するために使用される。コンピュータから開始されるとき、コンピュータは、ダウンロードが完了する前にメディアの再生を開始し得る。ストリーミングメディアとプログレッシブダウンロードとの間の1つの相違は、デジタルメディアにアクセスしているエンドユーザデバイスによるデジタルメディアデータの受信および記憶の方法にある。プログレッシブダウンロード再生が可能であるメディアプレーヤは、ファイルのヘッダ中に配置されたメタデータが損なわれていないことと、ウェブサーバからダウンロードされたときのデジタルメディアファイルのローカルバッファとに依存する。指定された量のデータがローカル再生デバイスに利用可能になった時点で、デバイスはメディアを再生し始め得る。この指定された量のバッファは、エンコーダ設定においてコンテンツの製作者によってファイルに埋め込まれ、クライアントコンピュータのメディアプレーヤによって課される追加のバッファ設定によって補強され得る。0058AVCおよび3GPPはISOベースメディアファイルフォーマットの拡張であり、SVCおよびMVCはAVCファイルフォーマットの拡張である。したがって、本開示の技法は、ISOベースメディアファイルフォーマット、AVCファイルフォーマット、およびそれらの拡張、たとえば、SVCおよびMVC、ならびに/あるいは3GPPファイルフォーマットに準拠するビデオファイルに対して適用され得る。本技法は、これらのフォーマットのこれらおよび他の拡張にさらに適用され得、サブトラックフラグメントにHTTPストリーミングのための様々なファイルフォーマットでのビデオサンプルのアセンブルを与えるように他のファイルフォーマットを拡張するためにさらに適用され得る。0059別の例として3GPPに関して、3GPPファイルをダウンロードおよびプログレッシブダウンロードするためにHTTP/TCP/IPトランスポートがサポートされる。さらに、ビデオストリーミングのためにHTTPを使用することはいくつかの利点を与え、HTTPに基づくビデオストリーミングサービスが普及しつつある。HTTPストリーミングは、ネットワーク上でビデオデータをトランスポートするための新しい技法を開発するために新たな労力が必要とされないように、既存のインターネットコンポーネントおよびプロトコルが使用され得ることを含むいくつかの利点を与え得る。他のトランスポートプロトコル、たとえばRTPペイロードフォーマットは、メディアフォーマットおよびシグナリングコンテキストを認識するために、中間ネットワークデバイス、たとえばミドルボックスを必要とする。また、HTTPストリーミングはクライアント主導型であり得、それにより、制御問題を回避し得る。0060たとえば、最適性能を取得するための特徴を活用するために、サーバは、まだ肯定応答されていないパケットのサイズとコンテンツとを追跡し得る。サーバはまた、RD最適切替え/シニングthinning決定を行うために、ファイル構造を分析し、クライアントバッファの状態を再構成し得る。さらに、ネゴシエートされたプロファイルに準拠した状態を保つために、ビットストリーム変動に関する制約が満たされ得る。HTTPは、HTTP1.1が実装されたウェブサーバにおいて、新しいハードウェアまたはソフトウェア実装を必ずしも必要とはしない。HTTPストリーミングはまた、TCPフレンドリネスとファイアウォールトラバーサルtraversalとを実現する。0061HTTPストリーミングでは、頻繁に使用される動作にはGETおよびパーシャルpartialGETがある。GET動作は、所与のユニフォームリソースロケータURLまたはユニフォームリソースネームURNに関連するファイル全体を取り出す。パーシャルGET動作は、入力パラメータとしてバイト範囲を受信し、受信したバイト範囲に対応するファイルの連続するいくつかのバイトを取り出す。したがって、パーシャルGET動作は1つまたは複数の個々のムービーフラグメントを得ることができるので、HTTPストリーミングのための複数のムービーフラグメントが与えられ得る。1つのムービーフラグメントには、異なる複数のトラックのいくつかのトラックフラグメントがあり得ることに留意されたい。HTTPストリーミングでは、メディアプレゼンテーションは、クライアントがアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。0062図1は、オーディオ/ビデオA/Vソースデバイス20がオーディオおよびビデオデータをA/V宛先デバイス40に送る例示的なシステム10を示すブロック図である。図1のシステム10は、ビデオ通信会議システム、サーバ/クライアントシステム、放送事業者/受信機システム、またはA/Vソースデバイス20などのソースデバイスからA/V宛先デバイス40などの宛先デバイスにビデオデータが送られる任意の他のシステムに対応し得る。いくつかの例では、A/Vソースデバイス20およびA/V宛先デバイス40は双方向情報交換を実行し得る。すなわち、A/Vソースデバイス20およびA/V宛先デバイス40は、オーディオおよびビデオデータの符号化と復号および、送信と受信の両方が可能であり得る。いくつかの例では、オーディオエンコーダ26は、ボコーダとも呼ばれるボイスエンコーダを備え得る。0063A/Vソースデバイス20は、図1の例では、オーディオソース22とビデオソース24とを備える。オーディオソース22は、たとえば、オーディオエンコーダ26によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース22は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。0064未処理生オーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ26および/またはビデオエンコーダ28によって符号化される前にデジタル化され得る。オーディオソース22は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオソース24は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース22は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース24は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。0065ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれている、ビデオソース24によってキャプチャされたビデオデータと同時にオーディオソース22によってキャプチャされたオーディオデータを含んでいるオーディオフレームである。たとえば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオソース22はオーディオデータをキャプチャし、同時に、すなわちオーディオソース22がオーディオデータをキャプチャしている間、ビデオソース24は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、1つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時にキャプチャされる状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。0066いくつかの例では、オーディオエンコーダ26は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し、同様に、ビデオエンコーダ28は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと同じタイムスタンプを備えるビデオフレームとを備え得る。A/Vソースデバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がタイムスタンプを生成する、あるいはオーディオソース22およびビデオソース24がオーディオおよびビデオデータをタイムスタンプに関連付けるために使用する、内部クロックを含み得る。0067いくつかの例では、オーディオソース22は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ26に送り、ビデオソース24は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ28に送り得る。いくつかの例では、オーディオエンコーダ26は、必ずしもオーディオデータが記録された絶対時刻を示すことなしに、符号化オーディオデータの相対的時間順序付けを示すために、符号化オーディオデータ中のシーケンス識別子を符号化し、同様に、ビデオエンコーダ28も、符号化ビデオデータの相対的時間順序付けを示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、または場合によってはタイムスタンプと相関し得る。0068本開示の技法は、概して、符号化マルチメディアたとえば、オーディオおよびビデオデータの記憶およびトランスポートと、トランスポートされたマルチメディアデータの受信ならびに後続の解釈および復号とを対象とする。図1の例に示すように、ビデオソース24はシーンの複数のビューをビデオエンコーダ28に与え得る。0069A/Vソースデバイス20は、A/V宛先デバイス40にサービスを提供し得る。サービスは、概して、MVCデータの利用可能なビューのサブセットに対応する。たとえば、MVCデータは、0から7まで順序付けられた8つのビューについて利用可能であり得る。あるサービスは、2つのビューを有するステレオビデオに対応し得るが、別のサービスは4つのビューに対応し得、さらに別のサービスは8つのビューすべてに対応し得る。概して、サービスは、利用可能なビューの任意の組合せすなわち、任意のサブセットに対応する。サービスはまた、利用可能なビューならびにオーディオデータの組合せに対応し得る。A/Vソースデバイス20が、A/Vソースデバイス20によって提供されるサービスごとにオペレーションポイント記述子をさらに与え得るように、オペレーションポイントがサービスに対応し得る。0070各個のデータストリームはオーディオかビデオかにかかわらずエレメンタリストリームと呼ばれる。エレメンタリストリームは、デジタル的にコーディングされた場合によっては圧縮されたプログラムの単一の構成要素である。たとえば、プログラムのコーディングされたビデオまたはオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリームPES:packetizedelementarystreamに変換され得る。同じプログラム内では、1つのエレメンタリストリームに属するPESパケットを他のものから区別するためにストリームIDが使用される。エレメンタリストリームの基本データ単位はパケット化エレメンタリストリームPESパケットである。したがって、MVCビデオデータの各ビューはそれぞれのエレメンタリストリームに対応する。同様に、オーディオデータは1つまたは複数のそれぞれのエレメンタリストリームに対応する。0071MVCコード化ビデオシーケンスは、いくつかのサブビットストリームに分離され、各サブビットストリームはエレメンタリストリームである。各サブビットストリームは、MVCview_idサブセットを使用して識別され得る。各MVCview_idサブセットの概念に基づいて、MVCビデオサブビットストリームが定義される。1つのMVCビデオサブビットストリームは、MVCview_idサブセットに記載されているビューのNALユニットを含んでいる。プログラムストリームは、概して、エレメンタリストリームのものであるNALユニットのみを含んでいる。それはまた、2つのエレメンタリストリームが同じビューを含むことができないように設計されているが、代わりに、ビュー、たとえば、3次元効果を生成するためのシーンの異なるパースペクティブperspectiveを含むことがある。0072図1の例では、カプセル化ユニット30は、ビデオエンコーダ28からビデオデータを備えるエレメンタリストリームを受信し、オーディオエンコーダ26からオーディオデータを備えるエレメンタリストリームを受信する。いくつかの例では、ビデオエンコーダ28およびオーディオエンコーダ26はそれぞれ、符号化データからPESパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ28およびオーディオエンコーダ26はそれぞれ、符号化データからPESパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、カプセル化ユニット30は、符号化オーディオデータと符号化ビデオデータとからPESパケットを形成するためのパケッタイザを含み得る。0073本開示で使用するプログラムは、オーディオデータとビデオデータとの組合せ、たとえば、A/Vソースデバイス20のサービスによって配信されたオーディオエレメンタリストリームと利用可能なビューのサブセットとを備え得る。各PESパケットは、PESパケットが属するエレメンタリストリームを識別するstream_idを含む。カプセル化ユニット30は、エレメンタリストリームをビデオファイルにアセンブルすることを担当する。0074カプセル化ユニット30は、オーディオエンコーダ26とビデオエンコーダ28とからプログラムのエレメンタリストリームのPESパケットを受信し、PESパケットから対応するネットワークアブストラクションレイヤNALユニットを形成する。H.264/AVCAdvancedVideoCodingの例では、コード化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処するネットワークフレンドリーなビデオ表現を与えるNALユニットに編成される。NALユニットは、VideoCodingLayerVCLNALユニットと非VCLNALユニットとに分類され得る。VCLユニットは、コア圧縮エンジンを含み、ブロック、マクロブロック、および/またはスライスレベルのデータを含み得る。他のNALユニットは非VCLNALユニットである。いくつかの例では、1つの時間インスタンス中のコード化ピクチャは、通常は1次コード化ピクチャとして提示され、1つまたは複数のNALユニットを含む1つのアクセスユニット中に含まれる。0075非VCLNALユニットは、特に、パラメータセットNALユニットとSEINALユニットとを含み得る。パラメータセットは、シーケンスパラメータセットSPS:sequenceparameterset中のシーケンスレベルヘッダ情報とピクチャパラメータセットPPS:pictureparameterset中のまれに変化するピクチャレベルヘッダ情報とを含む。パラメータセットたとえば、PPSおよびSPSがある場合、まれにしか変化しない情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、SEINALユニットなど、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。0076本開示の技法によれば、カプセル化ユニット30は、ビデオサンプルをサブトラックフラグメントにアセンブルし、各サブトラックフラグメントは特定の階層レイヤ、たとえば、時間レイヤに対応し得る。カプセル化ユニット30はまた、連続するバイトのセットとしてビデオファイル中の各サブトラックフラグメントを提示する。いくつかの例では、サブトラックフラグメントは通常の符号化サンプルのみを含む。いくつかの例では、サブトラックフラグメントは、通常のサンプルならびに現在のムービーフラグメント中の1つまたは複数の前のサブトラックフラグメント中のサンプルを指すリアセンブラサンプルを含む。さらに、いくつかの例では、サブトラックフラグメントはリアセンブラサンプルのみを含む。0077概して、上位レイヤのサブトラックフラグメントのサンプルは、下位レイヤのサブトラックフラグメントのサンプルに関して符号化される。カプセル化ユニット30は、宛先デバイス40が所望のレイヤよりも上位レイヤの取出しを要求することなしに所望のレイヤまでのサンプルを取り出し得るように、下位レイヤのサブトラックフラグメントのサンプルが上位レイヤのサンプルに依存しないことを保証し得る。このようにして、宛先デバイス40は、1つまたは複数のサブトラックフラグメントを取り出したいというHTTPパーシャルGET要求を1回サブミットする。たとえば、宛先デバイス40は、各所望のレイヤについての1つの要求をサブミットし得る。レイヤがファイル内で連続して配列されると、宛先デバイス40は、複数のレイヤについてのデータを取り出したいという要求をサブミットし得る。0078いくつかの例では、カプセル化ユニット30は、2つ以上のサブトラックフラグメントのコード化ビデオピクチャを復号順序にどのように並べ替えるかを示す、ビデオファイル中の並べ替え情報をシグナリングする。たとえば、上記で説明したように、カプセル化ユニット30は、サブトラックフラグメント中のリアセンブラオブジェクトを含む。概して、リアセンブラオブジェクトは、前のサブトラックフラグメント中の、たとえば、同じまたは下位レベルサブトラックフラグメント内の符号化ビデオサンプルへのポインタとして働き得る。宛先デバイス40は、サブトラックフラグメントが受信された後に、リアセンブラオブジェクトを使用して、サンプルを並べ替える。たとえば、ビデオファイルのサブトラックフラグメントを取り出したいという1つまたは複数の要求を使用した後に、宛先デバイス40のカプセル化解除ユニット38は、ビデオデコーダ48がサンプルを復号する前に、リアセンブラオブジェクトを使用して、復号順序でコード化ビデオサンプルをアセンブルする。カプセル化解除ユニット38は、前のサブトラックフラグメント中のサンプルを参照することによってサンプルを多重化するための開始点としてバイト順序で最新のサブトラックフラグメントを使用し得る。リアセンブラオブジェクトは、参照されたサンプルの位置と、リアセンブラオブジェクトによって参照されたサンプルを含むサブトラックフラグメントのインデックスとを含み得る。0079さらに、カプセル化ユニット30がサブトラックフラグメント中のリアセンブラオブジェクトを含むとき、カプセル化ユニット30は、1つまたは複数のサブトラックフラグメントの特性を記述する、代替的に、再アセンブルヘッダと呼ばれることがある多重分離ヘッダをさらに含み得る。カプセル化ユニット30は、たとえば、ムービーボックス、ムービーフラグメントヘッダ、および/またはトラックフラグメントヘッダなど、様々なロケーションにおける多重分離ヘッダを含み得る。多重分離ヘッダは、各サブトラックフラグメントについての一意の識別子と、対応するサブトラックフラグメントについてのバイト範囲と、各サブトラックフラグメント中のピクチャの数と、サブトラックフラグメントのタイミング情報とを指定し得る。タイミング情報は、サンプルまたは協定世界時UTCに関して相対的タイミング情報として記述され得る。カプセル化ユニット30は、サブトラックフラグメントが異なるフレームレートまたは時間レベルをもつレイヤに対応しないとき、そのようなタイミング情報を含む必要はない。0080いくつかの例では、たとえば、SVCおよびMVCに関して、コード化ビデオサンプルの複数のレイヤは共通のトラック内に含まれる。たとえば、たとえば、SVCにおける複数の符号化レイヤおよびたとえば、MVCにおける複数のビューは、ビデオファイルのトラック内に含まれる。カプセル化ユニット30は、関連する階層レイヤをそれぞれのサブトラックフラグメントに分離する。各サブトラックフラグメントは、次元、時間レイヤ、信号対雑音比レイヤ、空間レイヤ、またはビューなど、共通のレイヤに対応し得る。上記のように、各サブトラックフラグメントについてのデータは、データの連続するバイトとしてビデオファイル中に含まれる。0081カプセル化ユニット30は、特定のサブトラックフラグメントを含むものとしてオペレーションポイントをさらに定義し得る。特に、カプセル化ユニット30は、時間レベルtemporal_id、quality_id、dependency_id、および/またはview_idを含む、オペレーションポイントの特性を定義し得る。SVCに対応する例では、その特性は、SVCNALユニットのNALユニットヘッダ中の値に対応する。MVCに対応する例では、その特性は、MVCNALユニットのNALユニットヘッダ中の値に対応し得る。いくつかの例では、時間レベルのみがオペレーションポイントの特性として存在する。SVCのコンテキストでは、temporal_id時間レベル、quality_id、およびdependency_idが存在し得る。MVCのコンテキストでは、temporal_idおよびview_idが存在し得る。0082いくつかの例では、オペレーションポイントの特性は、サブトラックフラグメントのインデックスへの上記の特性のマップをさらに含む。さらに、オペレーションポイント特性は、コーデック情報、プロファイルインジケータprofile_idc、レベルインジケータlevel_idc、オペレーションポイントのためのフレームレート、オペレーションポイントのための平均ビットレート、オペレーションポイントのための最大ビットレート、オペレーションポイントのための空間分解能、オペレーションポイントための出力されるべきビューの数、および/またはオペレーションポイントのための復号されるべきビューの数を含み得る。これらの特性は、それぞれのファイルフォーマットによって定義された既存のオペレーションポイントにマージされ得る。0083カプセル化ユニット30は、NALが属するプログラムを識別するヘッダ、ならびにペイロード、たとえば、オーディオデータ、ビデオデータ、あるいはNALユニットが対応するトランスポートまたはプログラムストリームを記述するデータを備えるNALユニットを形成し得る。たとえば、H.264/AVCでは、NALユニットは1バイトのヘッダと変動するサイズのペイロードとを含む。一例では、NALユニットヘッダは、priority_id要素と、temporal_id要素と、anchor_pic_flag要素と、view_id要素と、non_idr_flag要素と、inter_view_flag要素とを備える。従来のMVCでは、4バイトMVCNALユニットヘッダとNALユニットペイロードとを含む、プレフィックスNALユニットとMVCコード化スライスNALユニットとを除いて、H.264によって定義されたNALユニットが保持される。0084NALヘッダのpriority_id要素は、単純なワンパスonepathビットストリーム適合プロセスのために使用され得る。temporal_id要素は、異なる時間レベルが異なるフレームレートに対応する場合、対応するNALユニットの時間レベルを指定するために使用され得る。0085anchor_pic_flag要素は、ピクチャがアンカーピクチャであるか非アンカーピクチャであるかを示し得る。アンカーピクチャと出力順序すなわち、表示順序でそれに続くすべてのピクチャとは、復号順序すなわち、ビットストリーム順序で前のピクチャを復号することなしに正しく復号でき、したがってランダムアクセスポイントとして使用できる。アンカーピクチャと非アンカーピクチャとは異なる依存性を有することができ、その両方はシーケンスパラメータセット中でシグナリングされる。他のフラグについては、本章の以下のセクションで説明され、使用される。そのようなアンカーピクチャは、オープンGOPopenGroupOfPicturesアクセスポイントと呼ばれ、non_idr_flag要素が0に等しいとき、クローズGOPアクセスポイントもサポートされる。non_idr_flag要素は、ピクチャが瞬時デコーダリフレッシュIDRであるかビューIDRV-IDRピクチャであるかを示す。概して、IDRピクチャと出力順序またはビットストリーム順序でそれに続くすべてのピクチャとは、復号順序または表示順序のいずれかで前のピクチャを復号することなしに正しく復号され得る。0086view_id要素は、ビューを識別するために使用され得るシンタックス情報を備え、これは、MVCデコーダ内でのデータインターアクティビティinteractivityのために、たとえば、ビュー間予測のために、およびデコーダ外での、たとえば、レンダリングのために使用され得る。inter_view_flag要素は、対応するNALユニットが他のビューによってビュー間予測のために使用されるかどうかを指定し得る。AVCに準拠し得る、ベースビューの4バイトNALユニットヘッダ情報を搬送するために、MVCにおいてプレフィックスNALユニットが定義される。MVCのコンテキストにおいて、ベースビューアクセスユニットは、ビューの現在の時間インスタンスのVCLNALユニット、ならびにそのプレフィックスNALユニットを含み、プレフィックスNALユニットはNALユニットヘッドのみを含む。H.264/AVCデコーダはプレフィックスNALユニットを無視し得る。0087そのペイロード中にビデオデータを含むNALユニットは、様々な粒度granularityレベルのビデオデータを備え得る。たとえば、NALユニットは、ビデオデータのブロック、マクロブロック、複数のマクロブロック、ビデオデータのスライス、またはビデオデータのフレーム全体を備える。カプセル化ユニット30は、ビデオエンコーダ28から符号化ビデオデータをエレメンタリストリームのPESパケットの形態で受信し得る。カプセル化ユニット30は、各エレメンタリストリームを対応するプログラムに関連付け得る。0088カプセル化ユニット30はまた、複数のNALユニットからアクセスユニットをアセンブルし得る。概して、1つのアクセスユニットは、1フレームのビデオデータと、そのフレームに対応するオーディオデータが利用可能であるときにそのオーディオデータとを表すための1つまたは複数のNALユニットを備え得る。1つのアクセスユニットは、概して、1つの出力時間インスタンスにわたるすべてのNALユニット、たとえば1つの時間インスタンスにわたるすべてのオーディオおよびビデオデータを含む。たとえば、各ビューが20フレーム毎秒fpsのフレームレートを有する場合、各時間インスタンスは0.05秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット同じ時間インスタンスのすべてのビューの固有のフレームは同時にレンダリングされ得る。H.264/AVCに対応する例では、1つのアクセスユニットは、1つの時間インスタンス中のコード化ピクチャを備え、それは1次コード化ピクチャとして提示され得る。したがって、1つのアクセスユニットは、共通の時間インスタンスのすべてのオーディオおよびビデオフレーム、たとえば、時間Xに対応するすべてのビューを備え得る。また、本開示では、特定のビューの符号化ピクチャをビューコンポーネントと呼ぶ。すなわち、ビューコンポーネントは、特定の時間における特定のビューの符号化ピクチャまたはフレームを備え得る。したがって、1つのアクセスユニットは、共通の時間インスタンスのすべてのビューコンポーネントを備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示順序と同じである必要はない。0089H.264/AVCは、誤りのないビットストリームのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれも特定のプロファイルまたはレベルに準拠する。H.264/AVCはエンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストでは、プロファイルは、アルゴリズム、機能、またはツール、およびそれらに適用される制約のサブセットに対応する。たとえば、H.264規格によって定義されるプロファイルは、H.264規格によって指定されたビットストリームシンタックス全体のサブセットである。レベルは、たとえば、ピクチャの解像度、ビットレート、およびマクロブロックMB処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限に対応する。プロファイルはprofile_idcプロファイルインジケータ値を用いてシグナリングされ得、レベルはlevel_idcレベルインジケータ値を用いてシグナリングされ得る。0090H.264規格は、たとえば、与えられたプロファイルのシンタックスによって課される限界内で、復号されたピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダおよびデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。H.264規格は、多くの適用例において、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することが実際的でもなく、経済的でもないことをさらに認識している。したがって、H.264規格は、ビットストリーム中のシンタックス要素の値に課された制約の指定されたセットとしてレベルを定義している。これらの制約は、値に関する単純な限界であり得る。代替的に、これらの制約は、値の演算の組合せたとえば、ピクチャの幅×ピクチャ高さ×毎秒復号されるピクチャの数に関する制約の形態をとり得る。H.264規格は、個別の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定している。0091プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての機能をサポートする。たとえば、コーディング機能として、Bピクチャコーディングは、H.264/AVCのベースラインプロファイルではサポートされないが、H.264/AVCの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能である必要がある。プロファイルおよびレベルの定義は、解釈可能にするために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より詳細には、H.264/AVCでは、レベルは、たとえば、処理する必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファDPBサイズと、コード化ピクチャバッファCPBサイズと、垂直動きベクトル範囲と、2つの連続するMBごとの動きベクトルの最大数と、Bブロックが8×8ピクセル未満のサブマクロブロックパーティションを有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを判断し得る。0092ITU-TH.261、H.262、H.263、MPEG-1、MPEG-2およびH.264/MPEG-4part10などのビデオ圧縮規格は、時間冗長性を低減するために動き補償時間予測を利用する。エンコーダは、動きベクトルに従って現在のコード化ピクチャを予測するために、いくつかの前の本明細書ではフレームとも呼ぶ符号化ピクチャからの動き補償予測を使用する。典型的なビデオコーディングには3つの主要なピクチャタイプがある。それらは、イントラコード化ピクチャIピクチャまたはIフレームと、予測ピクチャPピクチャまたはPフレームと、双方向予測ピクチャBピクチャまたはBフレームと、である。Pピクチャは、時間順序で現在のピクチャの前の参照ピクチャのみを使用する。Bピクチャでは、Bピクチャの各ブロックは、1つまたは2つの参照ピクチャから予測され得る。これらの参照ピクチャは、時間順序で現在のピクチャの前または後に位置し得る。0093H.264コーディング規格によれば、一例として、Bピクチャは、前にコーディングされた参照ピクチャの2つのリスト、すなわち、リスト0とリスト1とを使用する。これらの2つのリストは、それぞれ、過去および/または将来のコード化ピクチャを時間順序で含むことができる。Bピクチャ中のブロックは、いくつかの方法、すなわちリスト0参照ピクチャからの動き補償予測、リスト1参照ピクチャからの動き補償予測、またはリスト0参照ピクチャとリスト1参照ピクチャの両方の組合せからの動き補償予測のうちの1つで予測され得る。リスト0参照ピクチャとリスト1参照ピクチャの両方の組合せを得るために、2つの動き補償基準エリアが、それぞれリスト0参照ピクチャおよびリスト1参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用される。0094ITU-TH.264規格は、ルーマlima成分については16×16、8×8、または4×4、およびクロマchroma成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、N×NとNbyNは、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×16ピクセルまたは16by16ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有しy=16、水平方向に16ピクセルを有するx=16。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。ブロックは、水平寸法と垂直寸法とにおいて異なる数のピクセルを有し得る。すなわち、ブロックはN×Mピクセルを含み得、Nは必ずしもMに等しいとは限らない。009516×16よりも小さいブロックサイズは16×16マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとのピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換DCT、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換適用後の、変換領域中の変換係数のブロックを備える。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備える。0096ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。一般に、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび/またはサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。コード化ユニットまたはコーディングユニットという用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループGOPなど、ビデオフレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。0097マクロブロックという用語は、16×16ピクセルを備える2次元ピクセルアレイに従ってピクチャおよび/またはビデオデータを符号化するためのデータ構造を指す。各ピクセルはクロミナンス成分と輝度成分とを備える。したがって、マクロブロックは、各々が8×8ピクセルの2次元アレイを備える4つの輝度ブロックと、各々が16×16ピクセルの2次元アレイを備える2つのクロミナンスブロックと、コード化ブロックパターンCBP、符号化モードたとえば、イントラIまたはインターPまたはB符号化モード、イントラ符号化ブロックのパーティションのパーティションサイズたとえば、16×16、16×8、8×16、8×8、8×4、4×8、または4×4、あるいはインター符号化マクロブロックのための1つまたは複数の動きベクトルなど、シンタックス情報を備えるヘッダと、を定義し得る。0098ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、およびカプセル化解除ユニット38は、それぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適な処理回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ28およびビデオデコーダ48の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダコーデックの一部として統合され得る。同様に、オーディオエンコーダ26およびオーディオデコーダ46の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合コーデックの一部として統合され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、および/またはカプセル化解除ユニット38を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。0099カプセル化ユニット30が、受信したデータに基づいてNALユニットおよび/またはアクセスユニットをビデオファイルにアセンブルした後、カプセル化ユニット30はビデオファイルを出力のために出力インターフェース32に受け渡す。いくつかの例では、カプセル化ユニット30は、ビデオファイルをローカルに記憶するか、またはビデオファイルを直接宛先デバイス40に送るのではなく、出力インターフェース32を介してビデオファイルをリモートサーバに送り得る。出力インターフェース32は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブたとえば、フロッピー登録商標ドライブなど、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバスUSBポート、ネットワークインターフェース、または他の出力インターフェースを備え得る。出力インターフェース32は、ビデオファイルを、たとえば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体34に出力する。0100最終的に、入力インターフェース36はコンピュータ可読媒体34からデータを取り出す。入力インターフェース36は、たとえば、オプティカルドライブ、磁気メディアドライブ、USBポート、受信機、トランシーバ、または他のコンピュータ可読媒体インターフェースを備え得る。入力インターフェース36は、NALユニットまたはアクセスユニットをカプセル化解除ユニット38に与え得る。カプセル化解除ユニット38は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48に送る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号されたオーディオデータをオーディオ出力42に送り、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号されたビデオデータをビデオ出力44に送る。0101カプセル化解除ユニット38は、初めにビデオファイルのためのヘッダデータを要求するために入力インターフェース36と交信し、ヘッダデータはビデオファイルの特性を記述し得る。たとえば、ヘッダデータは、ビデオファイル内のムービーフラグメントのトラックフラグメント中に含まれるサブトラックフラグメントの特性を記述し得る。ヘッダデータは、たとえば、ムービーフラグメントの個々のサブトラックフラグメントのバイト範囲を記述し得る。ヘッダデータは、カプセル化解除ユニット38がビデオファイルの利用可能なサブトラックフラグメントのサブセットを選択するのを支援し得る他の特性をも記述し得る。利用可能なサブトラックフラグメントの特定のセットを選択した後に、カプセル化解除ユニット38は、ビデオファイルの各ムービーフラグメントの選択されたサブトラックフラグメントについての1つまたは複数の要求をサブミットする。0102たとえば、カプセル化解除ユニット38は、利用可能な階層レイヤのサブセットに対応し得る特定のオペレーションポイントを選択する。次いで、カプセル化解除ユニット38は、各ムービーフラグメントについて、ムービーフラグメントのどのサブトラックフラグメントがオペレーションポイントの階層レイヤに対応するかを判断する。さらに、カプセル化解除ユニット38は、それぞれのサブトラックフラグメントについての各ムービーフラグメント内のバイト範囲を判断する。これらの判断されたバイト範囲に基づいて、カプセル化解除ユニット38は、サブトラックフラグメントを取り出すためにムービーフラグメントについての判断されたバイト範囲を指定するHTTPパーシャルGET要求を生成する。いくつかの例では、カプセル化解除ユニット38は、各所望のレイヤについての個々の要求を生成する。いくつかの例では、カプセル化解除ユニット38は、複数のレイヤにわたるサブトラックフラグメントについての単一の要求を生成する。次いで、カプセル化解除ユニット38は、サブトラックフラグメントのリアセンブラオブジェクトを使用して復号順序でサブトラックフラグメントのコード化ビデオサンプルを並べ替え、並べられたコード化ビデオサンプルを、そのビデオサンプルを復号し得るビデオデコーダ48に受け渡す。最終的に、ビデオ出力44は、復号されたビデオサンプルを表示する。0103図2は、例示的なカプセル化ユニット30の構成要素を示すブロック図である。図2の例では、カプセル化ユニット30は、ビデオ入力インターフェース80と、オーディオ入力インターフェース82と、ビデオファイル作成ユニット60と、ビデオファイル出力インターフェース84とを含む。ビデオファイル作成ユニット60は、この例では、ネットワークアブストラクションレイヤNALユニットコンストラクタ62と、サブトラックフラグメント作成ユニット64とを含み、サブトラックフラグメント作成ユニット64は、レイヤ管理ユニット66と、サンプル挿入ユニット68と、ヘッダ作成ユニット70と、リアセンブラオブジェクト作成ユニット72とをさらに含む。0104ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、それぞれ符号化ビデオデータおよび符号化オーディオデータを受信する。ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、データが符号化されると、符号化ビデオデータおよび符号化オーディオデータを受信するか、または符号化ビデオデータおよび符号化オーディオデータをコンピュータ可読媒体から取り出し得る。符号化ビデオデータおよび符号化オーディオデータを受信すると、ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、ビデオファイルにアセンブルするために符号化ビデオデータおよび符号化オーディオデータをビデオファイル作成ユニット60に受け渡す。0105ビデオファイル作成ユニット60は、それによる機能およびプロシージャを実行するように構成されたハードウェア、ソフトウェア、および/またはファームウェアを含む制御ユニットに対応し得る。ビデオファイル作成ユニット60のサブユニットこの例では、NALユニットコンストラクタ62、サブトラックフラグメント作成ユニット64、レイヤ管理ユニット66、サンプル挿入ユニット68、ヘッダ作成ユニット70、およびリアセンブラオブジェクト作成ユニット72の各々は、個々のハードウェアユニットおよび/またはソフトウェアモジュールとして実装され得、および/または機能的に統合されるか、または追加のサブユニットにさらに分離され得る。0106ビデオファイル作成ユニット60は、たとえば、1つまたは複数のマイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、デジタル信号プロセッサDSP、またはそれらの任意の組合せなど、任意の好適な処理ユニットまたは処理回路に対応し得る。ビデオファイル作成ユニット60は、NALユニットコンストラクタ62、サブトラックフラグメント作成ユニット64、レイヤ管理ユニット66、サンプル挿入ユニット68、ヘッダ作成ユニット70、およびリアセンブラオブジェクト作成ユニット72のいずれかまたはすべてのための命令を備えるコンピュータ可読媒体、ならびに命令を実行するためのプロセッサをさらに含み得る。0107概して、ビデオファイル作成ユニット60は、受信したオーディオおよびビデオデータを含むビデオファイルを作成する。NALユニットコンストラクタ62は、符号化ビデオおよびオーディオサンプルを含むNALユニットを形成し得る。ビデオファイル作成ユニット60は、階層レベル順序で構成されたコード化ビデオサンプルを含むムービーフラグメントをアセンブルするようにさらに構成され得る。すなわち、ビデオファイル作成ユニット60は、ムービーフラグメントの共通の階層レベルのコード化ビデオサンプルがムービーフラグメント内で連続して記憶されるように、ムービーフラグメントのコード化ビデオサンプルを編成するように構成され得る。0108レイヤ管理ユニット66は、ビデオファイルのためのデータの様々な階層レイヤを見分け得る。レイヤ管理ユニット66は、さらに、たとえば、ビデオファイルが対応するファイルフォーマット規格に基づいて、サブトラックフラグメントと階層レイヤとの間の対応を判断する。たとえば、H.264/AVCに関して、レイヤ管理ユニット66は、時間コーディングレイヤをサブトラックフラグメントに関連付ける。別の例として、SVCに関して、レイヤ管理ユニット66は、空間的レイヤたとえば、ベースレイヤおよび1つまたは複数のエンハンスメントレイヤをサブトラックフラグメントに関連付ける。別の例として、MVCに関して、レイヤ管理ユニット66は、異なるビューをサブトラックフラグメントに関連付ける。0109階層レイヤとサブトラックフラグメントとの間の関連付けを判断した後に、サンプル挿入ユニット68は、ビデオファイルの作成中にコード化ビデオサンプルを適切なサブトラックフラグメント中に挿入し得る。すなわち、サンプル挿入ユニット68は、コード化ビデオサンプルを受信し、そのサンプルが対応する階層レイヤを判断し、階層レイヤに対応するムービーフラグメントのサブトラックフラグメントを判断し、そのサンプルを判断されたサブトラックフラグメント中に挿入し得る。この配列は、単一の要求、たとえば、階層レイヤに対応するサブトラックフラグメントのバイト範囲を指定する単一のHTTPパーシャルGET要求を使用して、共通の階層レイヤからのデータが取り出されることを可能にする。0110ヘッダ作成ユニット70は、ムービーフラグメントおよび/またはトラックフラグメントについてのヘッダを作成し得る。いくつかの例では、ヘッダ作成ユニット70は、ヘッダデータを、作成されたビデオファイルのムービーフラグメントの数を記述するムービーボックスに記憶する。概して、ヘッダ作成ユニット70によって作成されたヘッダデータは、たとえば、サブトラックフラグメントについてのバイト範囲など、サブトラックフラグメントの特性、および/またはサブトラックフラグメント中のサンプルの数を記述する。いくつかの例、たとえば、階層レイヤが時間コーディングレイヤを備える例では、ヘッダ作成ユニット70は、各サブトラックフラグメントについてのタイミング情報を指定する。0111マルチプレクサオブジェクト作成ユニット72は、リアセンブラオブジェクトを作成し、それをサブトラックフラグメント中に挿入する。リアセンブラオブジェクトは、リアセンブラオブジェクトを含むサブトラックフラグメント中のリアセンブラオブジェクトの位置に挿入される、別のサブトラックフラグメントのサンプルを識別するためのポインタとして働き得る。たとえば、AVCおよびSVCでは、リアセンブラオブジェクトは、比較的上位のレイヤすなわち、比較的大きい数のサンプルを含むレイヤにおいてコード化ビデオサンプルの順序付けを並べ替えるタスクを簡略化する。リアセンブラオブジェクト作成ユニット72は、参照されたサンプルを含むサブトラックフラグメントのインデックスまたは他の識別子、ならびにサブトラックフラグメント内の参照されたサンプルの位置を含むリアセンブラオブジェクトを作成する。その位置は、現在のサブトラックフラグメント中のリアセンブラの位置に対して表される。0113したがって、ビデオファイル作成ユニット60は、本開示の技法によれば、サブトラックフラグメントを含む様々なタイプのビデオファイルを生成し得る。ビデオファイル作成ユニット60がそれらのそれぞれの階層レベルに従ってグループ化されたコード化ビデオサンプルを有するムービーフラグメントを含むビデオファイルを生成した後に、ビデオファイル作成ユニット60は、ビデオファイルをビデオファイル出力インターフェース84に受け渡す。ビデオファイル出力インターフェース84は、たとえば、ソースデバイス20の出力インターフェース32に、ビデオファイルを出力する。いくつかの例では、ビデオファイル出力インターフェース84は、ビデオファイルをソースデバイス20の記憶媒体図示せずに出力する。ビデオファイルは、ソースデバイス20内にローカルに記憶され、DVD、ブルーレイ登録商標ディスク、フラッシュドライブ、フロッピーディスクなどのポータブル記憶媒体、または他のポータブル記憶媒体に記憶され、たとえば、HTTPストリーミングなどのストリーミングプロトコルに従って、ネットワークを介して出力され、または場合によっては、ビデオファイルが宛先デバイス40などのクライアントデバイスによって受信され得るような方法で出力される。0113図3は、各ビデオフラグメントが、共通の階層レベルのコード化ビデオピクチャを有するサブトラックフラグメントを含む、ビデオフラグメント112を有する例示的なビデオファイル100の要素を示すブロック図である。上記で説明したように、ISOベースメディアファイルフォーマットおよびそれの拡張によるビデオファイルは、データをボックスと呼ばれる一連のオブジェクトに記憶する。図3の例では、ビデオファイル100は、ファイルタイプFTYPボックス102と、ムービーMOOVボックス104と、ムービーフラグメントMOOFボックス112と、ムービーフラグメントランダムアクセスMFRAボックス114とを含む。0114ファイルタイプボックス102は、概して、ビデオファイル100のためのファイルタイプを記述する。ファイルタイプボックス102は、ビデオファイル100のための最も良い使用を記述する仕様を識別するデータを含み得る。ファイルタイプボックス102は、MOOVボックス104、ムービーフラグメントボックス112、およびMFRAボックス114の前に配置され得る。0115MOOVボックス104は、図3の例では、ムービーヘッダMVHDボックス106と、トラックTRAKボックス108と、1つまたは複数のムービーエクステンドMVEXボックス110とを含む。概して、MVHDボックス106は、ビデオファイル100の一般的な特性を記述し得る。たとえば、MVHDボックス106は、ビデオファイル100が最初に作成されたとき、ビデオファイル100が最後に変更されたときに記述するデータ、ビデオファイル100のための時間スケール、ビデオファイル100のための再生の持続時間、またはビデオファイル100を概して記述する他のデータを含む。0116いくつかの例では、カプセル化ユニット30は、MOOVボックス104内のオペレーションポイントに対応するサブトラックフラグメントの特性、またはHTTPストリーミングのための初期化セグメントを定義する。いくつかの例では、カプセル化ユニット30は、ビデオファイル100のためのヘッダデータ、サブトラックフラグメントを含むムービーフラグメント112のうちの1つとして含まれ、または他のロケーションにおいて含まれる、サブトラックフラグメントヘッダボックスを生成する。サブトラックフラグメント定義は、オペレーションポイントの各サブトラックフラグメントを、たとえば、時間レベル値、quality_id値、dependency_id値、および/またはview_id値など、サブトラックフラグメントについての記述特性にマッピングするデータ構造を含む。オペレーションポイント定義は、たとえば、コーデック情報、プロファイルおよびレベル情報、オペレーションポイントのためのフレームレート、オペレーションポイントのための平均ビットレート、オペレーションポイントのための最大ビットレート、オペレーションポイントのための空間分解能、オペレーションポイントのための表示されるべきビューの数、および/またはオペレーションポイントのための復号されるべきビューの数など、記述情報をさらに含み得る。関係する規格のオペレーションポイント定義は、そのようなデータを含むように変更され得る。0117TRAKボックス108は、ビデオファイル100のトラックのためのデータを含み得る。TRAKボックス108は、TRAKボックス108に対応するトラックの特性を記述するトラックヘッダTKHDボックスを含み得る。いくつかの例では、TRAKボックス108はコード化ビデオサンプルを含むが、他の例では、トラックのコード化ビデオサンプルは、TRAKボックス108のデータによって参照され得るムービーフラグメント112中に含まれる。0118いくつかの例では、ビデオファイル100は2つ以上のトラックを含む。したがって、MOOVボックス104は、ビデオファイル100中のトラックの数に等しいいくつかのTRAKボックスを含み得る。TRAKボックス108は、ビデオファイル100の対応するトラックの特性を記述し得る。たとえば、TRAKボックス108は、対応するトラックのための時間および/または空間情報を記述する。MOOVボックス104のTRAKボックス108と同様のTRAKボックスは、カプセル化ユニット30図1がビデオファイル100のようなビデオファイル中のパラメータセットトラックを含むとき、パラメータセットトラックの特性を記述し得る。0119MVEXボックス110は、例えば、もしあれば、MOOVボックス104内に含まれたビデオデータに加えて、ビデオファイル100がムービーフラグメント112を含むことをシグナリングするために、対応するムービーフラグメント112の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオサンプルは、MOOVボックス104よりはむしろムービーフラグメント112中に含まれる。したがって、すべてのコード化ビデオサンプルは、MOOVボックス104よりはむしろ、ムービーフラグメント112中に含まれ得る。0120MOOVボックス104は、ビデオファイル100中のムービーフラグメント112の数に等しいいくつかのMVEXボックス110を含み得る。MVEXボックス110の各々は、ムービーフラグメント112のうちの対応する1つの特性を記述し得る。たとえば、各MVEXボックスは、ムービーフラグメント112のうちの対応する1つについての持続時間を記述するムービーエクステンドヘッダMEHDボックスを含み得る。0121ムービーフラグメント112は、1つまたは複数のコード化ビデオサンプルを含み得る。いくつかの例では、ムービーフラグメント112は、各々がいくつかのコード化ビデオサンプル、たとえば、フレームまたはピクチャを含み得る1つまたは複数のピクチャグループGOPを含み得る。さらに、上記で説明したように、ムービーフラグメント112は、いくつかの例ではシーケンスデータセットを含み得る。ムービーフラグメント112の各々は、ムービーフラグメントヘッダMFHDボックスを含み得る。MVHDボックスは、ムービーフラグメントについてのシーケンス番号など、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント112は、ビデオファイル100中のシーケンス番号の順に含まれ得る。0122上記のように、カプセル化ユニット30は、コード化ビデオサンプルの階層レベルの順にムービーフラグメント112の各々のコード化ビデオサンプルを編成し得る。すなわち、ムービーフラグメント112の各々内で、カプセル化ユニット30は、共通の階層レベルのコード化ビデオサンプルがムービーフラグメント内で連続して記憶されるように、ムービーフラグメントのコード化ビデオサンプルを編成し得る。このようにして、宛先デバイス40図1は、単一の要求、たとえば、階層レベルの所望の範囲を含むバイト範囲を指定するHTTPパーシャルGET要求をサブミットすることによって、ムービーフラグメント112のうちの1つから特定の階層レイヤまでのすべてのコード化ビデオサンプルを取り出すことができる。同様に、宛先デバイス40は、単一の要求を使用して共通の階層レイヤのコード化ビデオサンプルを取り出すことができ、各所望階層レイヤについての1つの要求をサブミットできる。0123MOOVボックス104および/またはムービーフラグメント112は、たとえば、特定のサブトラックフラグメントを含むムービーフラグメント112のバイト範囲など、ムービーフラグメント112のサブトラックフラグメントを記述するヘッダデータを含み得る。このようにして、宛先デバイス40は、所望のサブトラックフラグメントに基づいて、ムービーフラグメント112のどの1つまたは複数の部分を要求すべきかを判断するために、MOOVボックス104および/またはムービーフラグメント112のヘッダを取り出し得る。0124MFRAボックス114は、ビデオファイル100のムービーフラグメント112内のランダムアクセスポイントを記述し得る。これは、ビデオファイル100内の特定の時間ロケーションのシークを実行するのを支援し得る。MFRAボックス114は、概してオプションであり、ビデオファイル中に含まれる必要はない。同様に、宛先デバイス40などのクライアントデバイスは、ビデオファイル100のビデオデータを正しく復号し、表示するために必ずしもMFRAボックス114を参照する必要があるとは限らない。MFRAボックス114は、ビデオファイル100のトラックの数に等しいか、またはいくつかの例では、ビデオファイル100のメディアトラックたとえば、非ヒントトラックnonhinttracksの数に等しい数のトラックフラグメントランダムアクセスTFRAボックスを含み得る。0125図4Aは、例示的なムービーフラグメント180Aを示すブロック図である。ムービーフラグメント180Aは、ムービーフラグメント112図3のうちの1つに対応し得る。図4Aの例では、ムービーフラグメント180Aは様々なサブトラックフラグメントを含む。特に、この例では、ムービーフラグメント180Aは、レイヤ0サブトラックフラグメント182と、レイヤ1サブトラックフラグメント188と、レイヤ2サブトラックフラグメント192とを含む。0126レイヤ0サブトラックフラグメント182は、0の時間コーディング階層レイヤを有するコード化ビデオサンプルを含む。この例では、このレイヤはIフレーム184とPフレーム186A~186NPフレーム186とを含む。Pフレーム186は、前のPフレーム186および/またはIフレーム184に対して符号化される。たとえば、Pフレーム186Aのマクロブロックは、Iフレーム184に対して符号化され得るが、Pフレーム186Bのマクロブロックは、Iフレーム184またはPフレーム186Aに対して符号化され得る。0127レイヤ1サブトラックフラグメント188は、この例では、Bフレーム190A~190NBフレーム190を含む。Bフレーム190の各々はレイヤ1の時間コーディング階層を有する。したがって、Bフレーム190は、レイヤ0サブトラックフラグメント182の1つまたは複数のフレーム、すなわち、Iフレーム184および/またはPフレーム186に対して符号化され得る。0128レイヤ2サブトラックフラグメント192は、この例では、Bフレーム194A~194NBフレーム194を含む。Bフレーム194の各々はレイヤ2の時間コーディング階層を有する。したがって、Bフレーム194は、レイヤ1サブトラックフラグメント188の1つまたは複数のフレーム、すなわち、Bフレーム190に対して符号化され得る。さらに、ビデオフラグメント180は、レイヤ2サブトラックフラグメント192に続く省略符号によって示されるように、上位時間コーディングレイヤに対応する追加のサブトラックフラグメントを含み得る。0129Pフレーム186、Bフレーム190、およびBフレーム194の基数はそれぞれ、変数Nで表されるが、各場合においてNが可変であることを理解されたい。すなわち、Pフレーム186の数は、必ずしもBフレーム190の数に等しいとは限らず、さらに、必ずしもBフレーム194の数に等しいとは限らない。0130宛先デバイス40は、特定の階層レイヤまでのサブトラックフラグメントを取り出すことを決定する。したがって、宛先デバイス40は、決定されたレイヤよりも低いおよび/またはそれに等しい階層レイヤに対応するサブトラックフラグメントを取り出したいという1つまたは複数の要求をサブミットする。たとえば、宛先デバイス40がレイヤ1までのサブトラックフラグメントを取り出すことを決定したと仮定すると、宛先デバイス40は、レイヤ0サブトラックフラグメント182とレイヤ1サブトラックフラグメント188とを取り出したいというHTTPパーシャルGET要求をサブミットする。いくつかの例では、宛先デバイス40は、レイヤ0サブトラックフラグメント182とレイヤ1サブトラックフラグメント188とを取り出したいという高々2つのHTTPパーシャルGET要求をサブミットする。図4Aの例では、レイヤ0サブトラックフラグメント182およびレイヤ1サブトラックフラグメント188がビデオフラグメント180内で連続的に配列されるので、この例では、宛先デバイス40は、レイヤ0サブトラックフラグメント182とレイヤ1サブトラックフラグメント188の両方を取り出したいという単一のHTTPパーシャルGET要求を代替的にサブミットし得る。0131図4Bは、例示的なムービーフラグメント180Bを示すブロック図である。ムービーフラグメント180Bは、図4Bの例では、上位レイヤサブトラックフラグメントがリアセンブラオブジェクトを含むことを除いて、図4Aの180Aのムービーフラグメントと同様である。たとえば、レイヤ1サブトラックフラグメント196は、この例では、リアセンブラオブジェクト198A、198B、および198Cを含む。この例では、リアセンブラオブジェクト198Aはレイヤ0サブトラックフラグメント182のIフレーム184を識別し、リアセンブラオブジェクト198Bはレイヤ0サブトラックフラグメント182のPフレーム186Aを識別し、リアセンブラオブジェクト198Cはレイヤ0サブトラックフラグメント182のPフレーム186Bを識別する。上位レイヤサブトラックフラグメントは、レイヤ0サブトラックフラグメント182のフレームを識別するリアセンブラと、レイヤ1サブトラックフラグメント196のBフレーム199を識別するリアセンブラとを含み得る。0132宛先デバイス40は、リアセンブラ198を使用して、復号順序でフレームを並べ替えるのを支援する。たとえば、カプセル化解除ユニット38は、Iフレーム184、Pフレーム186A、Bフレーム199A、Pフレーム186B、Bフレーム199Bなどの復号順序でフレームのセットを生成するために、レイヤ0サブトラックフラグメント182およびレイヤ1サブトラックフラグメント196のフレームを並べ替え得る。次いで、カプセル化解除ユニット38は、復号順序でフレームをビデオデコーダ48に転送する。次いで、ビデオデコーダ48はフレームを復号し、ビデオディスプレイ44は、最終的に、復号順序およびビデオフラグメント180B内で構成されたフレームの順序とは異なり得る表示順序でフレームを表示する。0133図5は、例示的なSVCビデオフラグメント200を示すブロック図である。この例では、SVCビデオフラグメント200は、ベースレイヤサブトラックフラグメント202と、エンハンスメントレイヤ1サブトラックフラグメント206と、エンハンスメントレイヤ2サブトラックフラグメント210とを含む。ベースレイヤサブトラックフラグメント202は、ベースレイヤフレーム204A~204Nベースレイヤフレーム204を含む。エンハンスメントレイヤ1サブトラックフラグメント206は、エンハンスメントフレーム208A~208Nエンハンスメントフレーム208を含む。エンハンスメントレイヤ2サブトラックフラグメント210は、エンハンスメントフレーム212A~212Nエンハンスメントフレーム212を含む。また、Nは、ベースレイヤフレーム204、エンハンスメントフレーム208、およびエンハンスメントフレーム212のいずれについても潜在的に異なるものと理解されたい。0134ベースレイヤフレーム204は1/4共通中間フォーマットQCIF:quartercommonintermediateformatフレームに対応する。エンハンスメントフレーム208はCIF空間エンハンスメントレイヤフレームに対応する。エンハンスメントフレーム212は、さらなる空間エンハンスメントレイヤフレームに対応する。0135このようにして、本開示の技法はSVCのコンテキストにおいて適用され得る。さらに、SVCにおけるエンハンスメントレイヤは、ベースレイヤおよび/または下位エンハンスメントレイヤのフレームを参照するリアセンブラオブジェクトをも含み得る。したがって、宛先デバイス40は、最大の所望のレイヤを選択し、選択されたレイヤまでのレイヤについてのデータを取り出したいという1つまたは複数の要求たとえば、HTTPパーシャルGET要求をサブミットし得る。0136図6は、例示的なMVCビデオフラグメント220を示すブロック図である。この例では、MVCビデオフラグメント220は、ビュー0サブトラックフラグメント222と、ビュー1サブトラックフラグメント226と、ビュー2サブトラックフラグメント230とを含む。各ビューは、いくつかのビューコンポーネントを含み得る。たとえば、ビュー0サブトラックフラグメント222は、ビュー0フレーム224A~224Nビュー0フレーム224を含み、ビュー1サブトラックフラグメント226は、ビュー1フレーム228A~228Nビュー1フレーム228を含み、ビュー2サブトラックフラグメント230は、ビュー2フレーム232A~232Nビュー2フレーム232を含む。0137MVCのコンテキストでは、各ビューのビューコンポーネントは、図6に示したように、異なるサブトラックフラグメント中に配列される。さらに、上記で説明したように、ビューサブトラックフラグメントは、ビューコンポーネントのコード化ビデオサンプルを含むことがある、前のサブトラックフラグメントのビューコンポーネントを指すリアセンブラを含み得る。0138宛先デバイス40は、ビューに対応するビューサブトラックフラグメントについてのバイト範囲を指定する1つのHTTPパーシャルGET要求を発行することによって、特定のビューのビューコンポーネントを取り出し得る。たとえば、ビュー0のビューコンポーネントを取り出すために、宛先デバイス40は、MVCビデオフラグメント220中のビュー0サブトラックフラグメント222のバイト範囲を指定するHTTPパーシャルGET要求をサブミットする。同様に、宛先デバイス40は、MVCビデオフラグメント220の他のビューのいずれかまたはすべてを取り出したいという個々の要求を発行し得る。要求されたビューを受信すると、宛先デバイス40は、復号順序でビューコンポーネントを順序付けし、ビューコンポーネントを復号し、復号されたビデオデータを表示する。0139図7は、ビデオファイル内にムービーフラグメントのそれぞれのサブトラックフラグメント内の共通の階層レベルのビデオデータをカプセル化し、ビデオファイルをソースデバイスから宛先デバイスに与えるための例示的な方法を示すフローチャートである。例および説明のために、ソースデバイス20および宛先デバイス40図1の構成要素に関して説明するが、任意の好適なデバイスが図7の技法を実装し得ることを理解されたい。0140ソースデバイス20は、最初に、ビデオファイルを構築する。そのために、ソースデバイス20は、符号化ビデオサンプルのセットを受信する210。たとえば、ソースデバイス20は、サンプルが、たとえばビデオエンコーダ28によって符号化されると、記憶媒体から符号化ビデオサンプルを取り出すか、またはリアルタイムで符号化ビデオサンプルを受信する。ビデオサンプルのセットは、より大きいビデオファイル内のムービーフラグメントに対応し得る。すなわち、ソースデバイス20は、受信したビデオサンプルのセットが共通のビデオフラグメント内に配置されるべきであると判断し得る。0141次いで、ソースデバイス20は、ビデオフラグメントについてのサンプルをそれぞれのレイヤに分離する212。たとえば、AVCの場合、ソースデバイス20は、ビデオサンプルを時間コーディングレイヤに分離する。別の例として、SVCの場合、ソースデバイス20は、ビデオサンプルをベースレイヤと1つまたは複数のエンハンスメントレイヤとに分離する。さらに別の例として、MVCの場合、ソースデバイス20は、そのサンプルをそれぞれのビューに分離する。いずれの場合も、ソースデバイス20は、サブトラックフラグメントが対応するレイヤについてのコード化ビデオサンプルを含むように、各それぞれのレイヤについてのサブトラックフラグメントを生成する214。次いで、ソースデバイス20は、ムービーフラグメントを出力する216。すなわち、ソースデバイス20は、コンピュータ可読媒体に記憶されたビデオファイル中にムービーフラグメントを含め得る。0142たとえば、ソースデバイス20は、HTTPストリーミング要求に応答してデータを宛先デバイスに与えるためにネットワークサーバとして働き得る。代替的に、ソースデバイス20は、ムービーフラグメントを別々のネットワークサーバに送り得る。いくつかの例では、ソースデバイス20は、ムービーフラグメントを直接クライアントデバイスに送ることによってムービーフラグメントを出力し得る。0143ソースデバイス20は、ビデオファイルの各ムービーフラグメントを生成する。さらに、ソースデバイス20は、各ムービーフラグメントの各サブトラックフラグメントのバイト範囲を識別するビデオファイルのためのヘッダデータを記憶する。同様に、ソースデバイス20は、前のサブトラックフラグメントのコード化サンプルを指す、サブトラックフラグメント中のリアセンブラオブジェクトを含み得る。ソースデバイス20はまた、たとえば、ムービーフラグメントの各サブトラックフラグメントのバイト範囲、サブトラックフラグメントの各々におけるサンプルの数、および/またはコード化ビデオサンプルのためのタイミング情報を指定する、ムービーフラグメント中の多重分離ヘッダを含み得る。0144リアセンブラオブジェクトは、正しい復号順序に従うために、異なるサブトラックフラグメント中のアクセスユニットの並べ替えに必要でない場合がある。たとえば、MPEG-2TSでは、ビデオデータを含んでいるパケットは復号タイムスタンプを含む。したがって、各アクセスユニットの復号時間が決定され、そのような並べ替えプロセスは追加のシグナリングを必要としないであろう。また、いくつかの例では、インデックスiをもつ階層レイヤとインデックスi1をもつ階層レイヤとのインターリービングは固定パターンに従い、したがって、ある期間における、極めて軽量のシグナリング、たとえば、階層レイヤi中のビデオサンプルの数および階層レイヤi1中のビデオサンプルに続くビデオサンプルの他の数がシグナリングされ得る。たとえば、時間レイヤ0ピクチャがI、P4、P8などであり、時間レイヤ1ピクチャがB2、B6などである場合、1,1の単純なシグナリングは、2つの時間レイヤ中のビデオサンプルが正しく並べ替えられるために十分であり得る。したがって、各サブトラックフラグメントについてのシグナリングされた並べ替え情報は、サブトラックフラグメント識別子と、サブトラックフラグメント中のピクチャの数とに対応し得る。0145次いで、宛先デバイス40は、要求すべきビデオファイルの1つまたは複数のレイヤを決定する218。宛先デバイス40は、たとえば、ビデオ出力44のレンダリング機能、ビデオデコーダ48の復号機能、ユーザ選好、ネットワーク状態たとえば、利用可能な帯域幅、電力レベル、メモリ使用量、処理能力/使用率、または他のそのようなファクタなど、様々なファクタに基づいてこの決定を行い得る。次いで、宛先デバイス40は、決定されたレイヤに対応するサブトラックフラグメントを要求する220。いくつかの例では、宛先デバイス40は、各サブトラックフラグメントについての単一のHTTPパーシャルGET要求を使用する。このようにして、宛先デバイス40は、不要なビデオデータを取り出すことを回避でき、それぞれ階層的に関係する、すなわち、共通の階層レイヤの、ムービーフラグメント中の多くのコード化サンプルのロケーションを決定することを回避できる。0146ソースデバイス20は、1つまたは複数の要求のサブトラックフラグメントを宛先デバイス40に与える222。ムービーフラグメントのサブトラックフラグメントを受信した後に、宛先デバイス40は、ビデオサンプルが復号順序で配列されるように、ムービーフラグメントのビデオサンプルを並べ替える224。次いで、宛先デバイス40は、受信したサンプルを復号し、表示する226。0147図8は、ムービーフラグメントのサブトラックフラグメントを取り出すための例示的な方法を示すフローチャートである。例および説明のために宛先デバイス40図1の構成要素に関して説明するが、任意の好適なデバイスが図8の技法を実装し得ることを理解されたい。0148初めに、宛先デバイス40は、ビデオファイルにアクセスしたいという要求を受信する230。たとえば、ユーザは、ビデオファイルのURLまたはURNを要求するために宛先デバイス40を使用してウェブブラウザを実行し得る。この要求に応答して、宛先デバイス40は、ビデオファイルのヘッダデータをロードする232。ヘッダデータは、ビデオファイルがどのように編成されるかを記述し得、ムービーフラグメントのコード化ビデオサンプルがコード化ビデオサンプルの階層レイヤに従って配列されるように、ビデオファイルが本開示の技法に従って配列されることをシグナリングし得る。ヘッダデータは、さらに、ビデオファイルの階層レイヤの各々、たとえば、ムービーフラグメント内のサブトラックフラグメントについてのバイト範囲を記述し得る。ヘッダデータはまた、本開示で説明するように、ビデオファイルのムービーフラグメントのサブトラックフラグメントが共通の階層レイヤのコード化ビデオサンプルを含むことを示す。0149次いで、宛先デバイス40は、階層レイヤのうちのどれを取り出すべきかを決定する234。この決定に基づいて、宛先デバイス40は、取り出されるべき階層レイヤに対応するサブトラックフラグメントの各々のバイト範囲を決定する236。すべての所望のサブトラックフラグメントが受信されるまで240、宛先デバイス40は、取り出されるべき対応するサブトラックフラグメントのバイト範囲を指定する個々の要求を発行し続ける238。0150すべての所望のサブトラックフラグメントを受信した後に、宛先デバイス40の多重分離ユニット38は、受信したサンプルが復号順序であるようにサンプルを並べ替える242。次いで、多重分離ユニット38は、サンプルを復号のためにビデオデコーダ48に転送し、ビデオコーダ48は、復号されたビデオサンプルを、表示されるべきビデオ出力44に転送する244。0151図8の方法は、クライアントデバイスによって、ムービーフラグメントについてのビデオデータの階層レベルを記述する、ソースデバイスからの情報を受信することと、要求すべきビデオデータの階層レベルのサブセットを決定することと、サブセットの階層レベルの各々について、階層レベルにおけるムービーフラグメントのビデオデータのすべてを取り出すためにソースデバイスに多くとも1つの要求を送ることと、決定された階層レベルのサブセットのビデオデータを受信することと、受信したビデオデータを復号し、表示することと、を含む方法の一例を描く。ソースデバイスに多くとも1つの要求を送ることによって、宛先デバイスは、いくつかの所望の階層レイヤからデータを取り出したいという単一の要求を送り得るか、または所望の階層レイヤにつき最高1つの要求を送り得る。0152図9は、例示的なMVC予測パターンを示す概念図である。図9の例では、ビューIDS0~S7を有する8つのビューが示され、各ビューについて12個の時間ロケーションT0~T11が示されている。すなわち、図9中の各行はビューに対応し、各列は時間ロケーションを示す。0153MVCが、H.264/AVCデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがMVCによってサポートされ得るが、MVCの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートすることができるということである。MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを期待し得る。ビュー中のアンカービューコンポーネントおよび非アンカービューコンポーネントは、異なるビュー依存性を有することができる。たとえば、ビューS2中のアンカービューコンポーネントは、ビューS0中のビューコンポーネントに依存する。しかしながら、ビューS2中の非アンカービューコンポーネントは、他のビュー中のビューコンポーネントに依存しない。0154図9中のフレームは、文字を含む影付きブロックを使用して、図9中の各行および各列について示され、それは、対応するフレームがイントラコード化されたすなわち、Iフレームのか、または一方向でインターコード化されたすなわち、Pフレームとしてのか、または複数の方向でインターコード化されたすなわち、Bフレームとしてのかを指定する。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間ロケーションT0におけるビューS2のPフレームは、時間ロケーションT0におけるビューS0のIフレームから予測される。0155単一のビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。たとえば、時間ロケーションT1におけるビューS0のbフレームは、時間ロケーションT0におけるビューS0のIフレームからそのbフレームに向けられた矢印を有し、その矢印は、bフレームがIフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。MVCでは、たとえば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセットSPSMVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。以下の表3は、MVC拡張シーケンスパラメータセットの例示的な定義を与える。0156図9は、ビュー間予測の様々な例を与える。図9の例では、ビューS1のフレームは、ビューS1の異なる時間ロケーションにおけるフレームから予測されるものとして、ならびに同じ時間ロケーションにおけるビューS0およびS2のフレームのうちのフレームからビュー間予測されるものとして示されている。たとえば、時間ロケーションT1におけるビューS1のbフレームは、時間ロケーションT0およびT2におけるビューS1のBフレームの各々、ならびに時間ロケーションT1におけるビューS0およびS2のbフレームから予測される。0157図9の例では、大文字のBおよび小文字のbは、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。概して、大文字のBフレームは、小文字のbフレームよりも予測階層が比較的高い。すなわち、図9の例では、bフレームは、Bフレームを参照して符号化される。図9のbフレームを指し得る追加の双方向符号化フレームを有する追加の階層レベルが追加され得る。図9はまた、異なるレベルの陰影を使用して予測階層のバリエーションを示し、より多くの陰影のすなわち、比較的より暗いフレームは、より少ない陰影を有するすなわち、比較的より明るいそれらのフレームよりも予測階層が高い。たとえば、図9中のすべてのIフレームは、完全陰影を用いて示されるが、Pフレームは、いくぶんより明るい陰影を有し、Bフレームそして、より低い場合のbフレームは、互いに様々なレベルの陰影を有するが、PフレームおよびIフレームの陰影よりも常に明るい。0158概して、階層が比較的高いフレームが、階層が比較的低いフレームの復号中に参照フレームとして使用され得るように、予測階層が比較的高いそれらのフレームは、階層が比較的低いフレームを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。H.264/AVCMVC追補の付属書類Hにおいて規定されているように、ビュー順序インデックスはSPSMVC拡張において暗示されている。SPSでは、各インデックスiについて、対応するview_idがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスは、0からnum_views_minus_1までの連続する順序である。0159このようにして、参照フレームとして使用されるフレームは、その参照フレームを参照して符号化されたフレームを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。各ビュー順序インデックスiについて、対応するview_idがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数までの連続的な順序付きセットを備える。0160階層の等しいレベルにおけるいくつかのフレームの場合、復号順序は、互いに重要でないことがある。たとえば、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームのための参照フレームとして使用され、そのPフレームは今度は、時間ロケーションT0におけるビューS4のPフレームのための参照フレームとして使用される。したがって、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームの前に復号されるべきであり、そのPフレームは、時間ロケーションT0におけるビューS4のPフレームの前に復号されるべきである。しかしながら、ビューS1およびS3は、予測のために互いに依存しないために、ビューS1とS3との間で復号順序は重要でないが、代わりに、予測階層がより高いビューからのみ予測される。さらに、ビューS1がビューS0およびS2の後に復号される限り、ビューS1はビューS4の前に復号され得る。0161明確のために、各ビューのフレーム間に、ならびに各ビューのフレームの時間ロケーション間に、階層関係があり得る。図9の例に関して、時間ロケーションT0におけるフレームは、時間ロケーションT0における他のビューのフレームからイントラ予測されるか、またはビュー間予測される。同様に、時間ロケーションT8におけるフレームは、時間ロケーションT8における他のビューのフレームからイントラ予測されるか、またはビュー間予測される。したがって、時間階層に関して、時間ロケーションT0およびT8は時間階層の最上位にある。0162図9の例では、時間ロケーションT4のフレームが、時間ロケーションT0およびT8のフレームを参照してB符号化されるので、時間ロケーションT4におけるフレームは、時間ロケーションT0およびT8のフレームよりも時間階層が低い。時間ロケーションT2およびT6におけるフレームは、時間ロケーションT4におけるフレームよりも時間階層が低い。最後に、時間ロケーションT1、T3、T5、およびT7におけるフレームは、時間ロケーションT2およびT6のフレームよりも時間階層が低い。0163本開示の技法によれば、図9に示したビューの各々は、それぞれの階層レベルに対応すると見なされ得る。本開示の技法は、各ビューのためのビデオサンプルをそれぞれのサブトラックフラグメントに分離するために使用され得る。すなわち、ビュー1-Nのビデオサンプルを含むムービーフラグメントは、ビューXただし、1≦X≦Nのサンプルが1つのサブトラックフラグメントに記憶されるように構築され、そのサンプルは、当該ムービーフラグメント内で連続して記憶される。01641つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、命令は、処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、あるいは2信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。0165限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdiskおよびディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピーディスクdiskおよびブルーレイディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。0166命令は、1つまたは複数のデジタル信号プロセッサDSPなどの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用するプロセッサという用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。0167本開示の技法は、ワイヤレスハンドセット、集積回路ICまたはICのセットたとえば、チップセットを含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したように1つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。0168様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。"