(57)【特許請求の範囲】
【請求項１】
カプセル化ビデオデータを送る方法であって、
ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送ることと、
前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信することと、
前記要求に応答して、要求された前記構成要素を前記クライアント機器に送ることと、
前記構成要素についての前記特性を、前記構成要素の符号化サンプルを記憶する１つ以上のファイルとは別のファイルに記憶することと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記特性を送ることが、
前記特性が記憶された前記ファイルについての第１の要求を受信することと、
前記第１の要求に応答して、前記符号化サンプルを記憶する前記１つ以上のファイルとは無関係に前記ファイルを送ることと、
を備え、前記ビデオ構成要素のうちの前記少なくとも１つについての前記要求が第２の異なる要求を備え、
前記特性が特性の第１のセット及び特性の第２のセットを備え、前記特性を送ることは、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報と特性の前記第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報とを送ることを備える、
方法。
【請求項２】
前記構成要素のうちの少なくとも２つが別々のファイルに記憶され、前記特性を送ることが、前記構成要素のうちの前記少なくとも２つの各々の特性を備えるデータ構造を送ることを備える、請求項１に記載の方法。
【請求項３】
前記構成要素の各々についての前記特性を前記構成要素とは別個である単一のデータ構造に記憶することと、
前記複数の表現を備えるマルチメディアコンテンツに関連付ける識別子を前記データ構造に割り当てることと、
前記マルチメディアコンテンツの前記表現に一意の識別子を割り当てることと、
を更に備え、前記特性を送ることが、前記データ構造を送ることを備える、請求項１に記載の方法。
【請求項４】
前記特性を送ることが、前記構成要素の構成要素識別子値を送ることを更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なる、請求項１に記載の方法。
【請求項５】
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を送ることを更に備える、請求項４に記載の方法。
【請求項６】
前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を送ることを更に備える、請求項５に記載の方法。
【請求項７】
前記特性を送ることは、前記構成要素のセットが互いに切替え可能であることを示す情報を送ることを備え、前記要求が構成要素の前記セットのうちの少なくとも１つを指定する、請求項１に記載の方法。
【請求項８】
前記特性を送ることが、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けとを示す情報を送ることを備える、請求項１に記載の方法。
【請求項９】
前記特性を送ることが、前記構成要素間の前記依存性と、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を送ることを備える、請求項１に記載の方法。
【請求項１０】
前記特性を送ることが、前記複数の表現のうちの１つ以上の出力のためのターゲットビューの数を示す情報を送ることを備える、請求項１に記載の方法。
【請求項１１】
前記特性を送ることが、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を送ることを備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、請求項１に記載の方法。
【請求項１２】
カプセル化ビデオデータを送るための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性を決定するように構成されたプロセッサと、
前記特性をクライアント機器に送ることと、前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信することと、前記要求に応答して、要求された前記構成要素を前記クライアント機器に送ることとを行うように構成された１つ以上のインターフェースと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記特性が前記構成要素の構成要素識別子値を更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なり、前記特性が、前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を備え、
前記特性が特性の第１のセット及び特性の第２のセットを備え、前記１つ以上のインターフェースは、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報と特性の前記第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報とを送るように構成された、装置。
【請求項１３】
前記特性が、前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を更に備える、請求項１２に記載の装置。
【請求項１４】
前記特性が、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けとを示す情報を備える、請求項１２に記載の装置。
【請求項１５】
前記特性が、前記構成要素間の前記依存性と、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を備える、請求項１２に記載の装置。
【請求項１６】
前記特性が、前記複数の表現のうちの１つ以上の出力のためのターゲットビューの数を示す情報を備える、請求項１２に記載の装置。
【請求項１７】
前記特性が、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、請求項１２に記載の装置。
【請求項１８】
集積回路と、
マイクロプロセッサと、
前記プロセッサを含むワイヤレス通信機器と
のうちの少なくとも１つを備える、請求項１２に記載の装置。
【請求項１９】
カプセル化ビデオデータを送るための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送るための手段と、
前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信するための手段と、
前記要求に応答して、要求された前記構成要素を前記クライアント機器に送るための手段と、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記特性を送るための前記手段が、
前記構成要素の構成要素識別子値を送るための手段と、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を送るための手段と、
前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を送るための手段と、
を更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なり、
前記特性が特性の第１のセット及び特性の第２のセットを備え、前記特性を送るための前記手段は、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報を送るための手段と特性の前記第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報を送るための手段とを備える、装置。
【請求項２０】
前記特性を送るための前記手段が、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けとを示す情報を送るための手段を備える、請求項１９に記載の装置。
【請求項２１】
前記特性を送るための前記手段が、前記構成要素間の前記依存性と、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を送るための手段を備える、請求項１９に記載の装置。
【請求項２２】
前記特性を送るための前記手段が、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を送るための手段を備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、請求項１９に記載の装置。
【請求項２３】
実行されたとき、
ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送ることと、
前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信することと、
前記要求に応答して、要求された前記構成要素を前記クライアント機器に送ることと、
前記構成要素の構成要素識別子値を送ることと、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を送ることと、
前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を送ることと、
を、符号化ビデオデータを送るための発信源機器のプロセッサに行わせる命令を記憶し、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なり、
前記特性が特性の第１のセット及び特性の第２のセットを備え、前記特性を送ることを前記プロセッサに行わせる前記命令は、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報と特性の前記第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報とを送ることを前記プロセッサに行わせる命令を更に記憶した、コンピュータ可読記憶媒体。
【請求項２４】
前記特性を送ることを前記プロセッサに行わせる前記命令が、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けと、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を送ることを前記プロセッサに行わせる命令を記憶した、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記特性を送ることを前記プロセッサに行わせる前記命令が、前記複数の表現のうちの１つ以上の出力のためのターゲットビューの数を示す情報を送ることを前記プロセッサに行わせる命令を記憶した、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２６】
前記特性を送ることを前記プロセッサに行わせる前記命令が、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を送ることを前記プロセッサに行わせる命令を記憶し、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２７】
カプセル化ビデオデータを受信する方法であって、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することと、
前記特性に基づいて前記構成要素のうちの１つ以上を選択することと、
選択された前記構成要素のサンプルを要求することと、
前記サンプルが受信された後に前記サンプルを復号し、提示することと、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける選択された前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信することと、
選択された前記構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントがそれぞれの前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信することと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記サンプルを要求することが、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、選択された前記構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからのサンプルを要求することを備え、
前記特性が特性の第１のセット及び特性の第２のセットを備え、前記方法は、
特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報を受信することと、
特性の第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報を受信することと、
特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求することと、
を更に備える、方法。
【請求項２８】
選択された前記構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信することと、
選択された前記構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求することと、
を更に備える、請求項２７に記載の方法。
【請求項２９】
選択された前記構成要素の前記サンプルを要求することが、
次の多重化間隔を決定することと、
選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定することと、
選択された前記構成要素のうちの決定された前記構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求することと、
を備える、請求項２７に記載の方法。
【請求項３０】
カプセル化ビデオデータを受信するための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することを行うように構成された１つ以上のインターフェースと、
前記特性に基づいて前記構成要素のうちの１つ以上を選択することと、選択された前記構成要素のサンプルについての要求を前記発信源機器にサブミットすることを前記１つ以上のインターフェースに行わせることとを行うように構成されたプロセッサと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記プロセッサが、前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける選択された前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信することと、選択された前記構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントがそれぞれの前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信することと、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、選択された前記構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからの前記サンプルについての前記要求を構築することとを行うように構成され、
前記特性が特性の第１のセット及び特性の第２のセットを備え、前記プロセッサは、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報と特性の前記第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報を受信することと、特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求することとを行うように構成された、装置。
【請求項３１】
前記プロセッサは、選択された前記構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信することと、選択された前記構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求することとを行うように構成された、請求項３０に記載の装置。
【請求項３２】
選択された前記構成要素の前記サンプルについての前記要求を生成するために、前記プロセッサが、次の多重化間隔を決定することと、選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定することと、選択された前記構成要素のうちの決定された前記構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求することとを行うように構成された、請求項３０に記載の装置。
【請求項３３】
カプセル化ビデオデータを受信するための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求するための手段と、
前記特性に基づいて前記構成要素のうちの１つ以上を選択するための手段と、
選択された前記構成要素のサンプルを要求するための手段と、
前記サンプルが受信された後に前記サンプルを復号し、提示するための手段と、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける選択された前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信するための手段と、
選択された前記構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントがそれぞれの前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信するための手段と、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記サンプルを要求するための前記手段が、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、選択された前記構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからのサンプルを要求するための手段を備え、
前記特性が特性の第１のセット及び特性の第２のセットを備え、
特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報を受信するための手段と、
特性の第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報を受信するための手段と、
特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求するための手段と、
を更に備える、装置。
【請求項３４】
選択された前記構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信するための手段と、
選択された前記構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求するための手段と、
を更に備える、請求項３３に記載の装置。
【請求項３５】
選択された前記構成要素の前記サンプルを要求するための前記手段が、
次の多重化間隔を決定するための手段と、
選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定するための手段と、
選択された前記構成要素のうちの決定された前記構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求するための手段と、
を備える、請求項３３に記載の装置。
【請求項３６】
実行されたとき、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することと、
前記特性に基づいて前記構成要素のうちの１つ以上を選択することと、
選択された前記構成要素のサンプルを要求することと、
前記サンプルが受信された後に前記サンプルを復号し、提示することと、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける選択された前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信することと、
選択された前記構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントがそれぞれの前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信することと、
を、カプセル化ビデオデータを受信するための機器のプロセッサに行わせる命令を記憶し、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備え、
前記サンプルを要求することを前記プロセッサに行わせる前記命令が、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、選択された前記構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからのサンプルを要求することを前記プロセッサに行わせる命令を備え、
前記特性が特性の第１のセット及び特性の第２のセットを備え、
特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す第１の情報を受信することと、
特性の第２のセットが対応する前記構成要素の第２の持続時間を示す第２の情報を受信することと、
特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求することと、
を前記プロセッサに行わせる命令を更に記憶した、コンピュータ可読記憶媒体。
【請求項３７】
選択された前記構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信することと、
選択された前記構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求することと、
を前記プロセッサに行わせる命令を更に記憶した、請求項３６に記載のコンピュータ可読記憶媒体。
【請求項３８】
選択された前記構成要素の前記サンプルを要求することを前記プロセッサに行わせる前記命令が、
次の多重化間隔を決定することと、
選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定することと、
選択された前記構成要素のうちの決定された前記構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求することと、
を前記プロセッサに行わせる命令を記憶した、請求項３６に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、符号化ビデオデータの記憶及び転送に関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するために、MPEG-2、MPEG-4、ITU-T H.263又はITU-T H.264/MPEG-4、Part10、Advanced Video Coding(AVC)によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技術など、ビデオ圧縮技術を実装する。
【０００３】
ビデオ圧縮技術は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を実行する。ブロックベースのビデオ符号化の場合、ビデオフレーム又はスライスがマクロブロックに区分され得る。各マクロブロックは更に区分され得る。イントラ符号化（Ｉ）フレーム又はスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インター符号化（Ｐ又はＢ）フレーム又はスライス中のマクロブロックは、同じフレーム又はスライス中の隣接マクロブロックに関する空間的予測、あるいは他の参照フレーム中のマクロブロックに関する時間的予測を使用し得る。
【０００４】
ビデオデータが符号化された後、ビデオデータは送信又は記憶のためにパケット化され得る。ビデオデータは、ＡＶＣなど、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマット及びそれの拡張など、様々な規格のいずれかに準拠するビデオファイルにアセンブルされ得る。
【０００５】
Ｈ．２６４／ＡＶＣに基づく新しいビデオ符号化規格を開発するための取り組みが行われている。１つのそのような規格は、Ｈ．２６４／ＡＶＣのスケーラブル拡張であるスケーラブルビデオ符号化（ＳＶＣ）規格である。別の規格は、Ｈ．２６４／ＡＶＣのマルチビュー拡張になったマルチビュービデオ符号化（ＭＶＣ）である。ＭＶＣのジョイントドラフトは、http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zipにおいて入手可能な、ＪＶＴ−ＡＢ２０４、「Joint Draft 8.0 on Multiview Video Coding」、28th JVT meeting、Hannover、Germany、July 2008に記載されている。ＡＶＣ規格のバージョンは、http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.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)」、30th JVT meeting、Geneva、CH、Feb. 2009に記載されている。この文書はＳＶＣとＭＶＣとをＡＶＣ仕様に組み込んでいる。
【発明の概要】
【０００６】
本出願は、それぞれの全体がともに参照により本明細書に組み込まれる、２０１０年７月１５日に出願された米国仮出願第６１／３６４，７４７号、及び２０１０年７月２１日に出願された米国仮出願第６１／３６６，４３６号の利益を主張する。
【０００７】
概して、本開示は、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）ストリーミングなどのネットワークストリーミングプロトコルを介してビデオデータを転送するための技術について説明する。場合によっては、ビデオコンテンツは、オーディオデータとビデオデータとの複数の可能な組合せを含み得る。例えば、コンテンツは、（例えば、英語、スペイン語、及びフランス語など、異なる言語の）複数の可能なオーディオトラックと、（例えば、様々なビットレート、様々なフレームレートなど、異なる符号化パラメータで、及び／又は他の様々な特性で符号化された）複数の可能なビデオトラックとを有し得る。これらのトラックは、構成要素、例えば、オーディオ構成要素及びビデオ構成要素と呼ばれることがある。構成要素の各組合せは、マルチメディアコンテンツの一意のプレゼンテーションを形成し得、サービスとしてクライアントに配信され得る。本開示の技術は、サーバが、単一のデータ構造中で、様々な表現又はマルチメディア構成要素の特性を信号伝達することを可能にする。このようにして、クライアント機器は、データ構造を検索し、例えば、ストリーミングネットワークプロトコルに従って、サーバに要求すべき表現のうちの１つを選択し得る。
【０００８】
一例では、カプセル化ビデオデータを送る方法は、ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送ることであって、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性と、３Ｄ表現のためのターゲット出力ビューの数とのうちの少なくとも１つを備える、送ることと、特性を送った後に、クライアント機器から構成要素のうちの少なくとも１つについての要求を受信することと、要求に応答して、要求された構成要素をクライアント機器に送ることとを含む。
【０００９】
別の例では、カプセル化ビデオデータを送るための装置は、ビデオコンテンツの複数の表現の構成要素の特性を決定するように構成されたプロセッサと、特性をクライアント機器に送ることと、特性を送った後に、クライアント機器から構成要素のうちの少なくとも１つについての要求を受信することと、要求に応答して、要求された構成要素をクライアント機器に送ることとを行うように構成された１つ以上のインターフェースとを含み、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える。
【００１０】
別の例では、カプセル化ビデオデータを送るための装置は、ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送るための手段と、特性を送った後に、クライアント機器から構成要素のうちの少なくとも１つについての要求を受信するための手段と、要求に応答して、要求された構成要素をクライアント機器に送るための手段とを含み、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える。
【００１１】
別の例では、コンピュータプログラム製品は、実行されたとき、ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送ることと、特性を送った後に、クライアント機器から構成要素のうちの少なくとも１つについての要求を受信することと、要求に応答して、要求された構成要素をクライアント機器に送ることとを、カプセル化ビデオデータを送るための発信源機器のプロセッサに行わせる命令を備え、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える、コンピュータ可読記憶媒体を含む。
【００１２】
別の例では、カプセル化ビデオデータを受信する方法は、ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することと、特性に基づいて構成要素のうちの１つ以上を選択することと、選択された構成要素のサンプルを要求することと、サンプルが受信された後にサンプルを復号し、提示することとを含み、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える。
【００１３】
別の例では、カプセル化ビデオデータを受信するための装置は、ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することを行うように構成された１つ以上のインターフェースと、特性に基づいて構成要素のうちの１つ以上を選択することと、選択された構成要素のサンプルについての要求を発信源機器にサブミットすることを１つ以上のインターフェースに行わせることとを行うように構成されるプロセッサとを含み、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える。
【００１４】
別の例では、カプセル化ビデオデータを受信するための装置は、ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求するための手段と、特性に基づいて構成要素のうちの１つ以上を選択するための手段と、選択された構成要素のサンプルを要求するための手段と、サンプルが受信された後にサンプルを復号し、提示するための手段とを含み、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える。
【００１５】
別の例では、コンピュータプログラム製品は、ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することと、特性に基づいて構成要素のうちの１つ以上を選択することと、選択された構成要素のサンプルを要求することと、サンプルが受信された後にサンプルを復号し、提示することとを、カプセル化ビデオデータを受信するための機器のプロセッサに行わせる命令を備え、特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とのうちの少なくとも１つを備える、コンピュータ可読記憶媒体を含む。
【００１６】
１つ以上の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、説明及び図面、並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】オーディオ／ビデオ（Ａ／Ｖ）発信源機器がオーディオ及びビデオデータをＡ／Ｖ宛先機器に転送する例示的なシステムを示すブロック図。
【図２】図１に示したＡ／Ｖ発信源機器において使用するのに好適な例示的なカプセル化ユニットの構成要素を示すブロック図。
【図３】図１のシステムにおいて使用され得る例示的な構成要素マップボックスと例示的な構成要素配置ボックスとを示す概念図。
【図４】図１のシステムにおいて例示的なビデオ構成要素と例示的なオーディオ構成要素とを多重化するための例示的なタイミング間隔を示す概念図。
【図５】サーバからクライアントに構成要素マップボックスと構成要素配置ボックスとを与えるための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１８】
概して、本開示では、ビデオコンテンツを転送するための技術について説明する。本開示の技術は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）ストリーミングなどのストリーミングプロトコルを使用してビデオコンテンツを転送することを含む。例示のためにＨＴＴＰについて説明するが、本開示で提示する技術は他のタイプのストリーミングで有用であり得る。ビデオコンテンツは、ＩＳＯベースメディアファイルフォーマット又はそれの拡張など、特定のファイルフォーマットのビデオファイル中でカプセル化され得る。ビデオコンテンツはまた、ＭＰＥＧ−２転送ストリームでカプセル化され得る。コンテンツサーバは、様々なタイプのメディアデータ（例えば、オーディオ及びビデオ）と、各タイプのためのデータの様々なセット（例えば、英語、スペイン語、及びドイツ語のオーディオなど、異なる言語及び／又はＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４／ＡＶＣ、又はＨ．２６５など、ビデオのための異なる符号化タイプ）とを含むマルチメディアサービスを提供し得る。本開示の技術は、様々なタイプと各タイプのデータのセットとが、どのように組み合わせられ、多重化され得るかを信号伝達するために特に有用であり得る。
【００１９】
本開示では、複数のビデオ及び／又はオーディオコンテンツ構成要素を含んでいることがある、シーンの関係するマルチメディアデータの集合を「コンテンツ」と呼ぶ。「コンテンツ構成要素」又は単に「構成要素」という用語は、単一のタイプのメディア、例えば、ビデオ又はオーディオデータを指す。データの構成要素は、データのトラック、サブトラック、又はトラック若しくはサブトラックの集合を指すことがある。概して、「トラック」は、関係する符号化ピクチャサンプルのシーケンスに対応し得、サブトラックは、トラックの符号化サンプルのサブセットに対応し得る。一例として、コンテンツ構成要素は、ビデオトラック、オーディオトラック、又はムービーサブタイトルに対応し得る。ＨＴＴＰストリーミングサーバは、コンテンツ構成要素のセットをクライアントへのサービスとしてクライアントに配信し得る。
【００２０】
サービスは、コンテンツのために利用可能な全てのビデオコンテンツ構成要素からの１つのビデオコンテンツ構成要素の選択と、コンテンツのために利用可能な全てのオーディオコンテンツ構成要素からの１つのオーディオコンテンツ構成要素の選択とに対応し得る。例えば、ＨＴＴＰサーバに記憶されたコンテンツとしてのフットボール試合番組は、例えば、異なるビットレート（５１２ｋｂｐｓ又は１Ｍｂｐｓ）又は異なるフレームレートをもつ複数のビデオコンテンツ構成要素と、複数のオーディオ構成要素、例えば、英語、スペイン語、又は中国語とを有し得る。従って、クライアントに提供されるサービスは、１つのビデオ構成要素と１つのオーディオ構成要素との選択、例えば、５１２ｋｂｐｓのビデオをもつスペイン語のオーディオに対応し得る。ビデオ構成要素とオーディオ構成要素との組合せをコンテンツの表現と呼ぶこともある。
【００２１】
ＨＴＴＰストリーミングでは、一例として、クライアント機器は、ＨＴＴＰ  Ｇｅｔ要求又は部分Ｇｅｔ要求の形態でデータについての１つ以上の要求を生成する。ＨＴＴＰ  Ｇｅｔ要求は、ファイルのユニフォームリソースロケータ（ＵＲＬ）又はユニフォームリソースネーム（ＵＲＮ）を指定する。ＨＴＴＰ部分Ｇｅｔ要求は、ファイルのＵＲＬ又はＵＲＮ、及び検索すべきファイルのバイト範囲を指定する。ＨＴＴＰストリーミングサーバは、要求されたＵＲＬ又はＵＲＮのファイル、又はＨＴＴＰ部分Ｇｅｔ要求の場合、ファイルの要求されたバイト範囲を出力する（例えば、送る）ことによってＨＴＴＰ  Ｇｅｔ要求に応答し得る。クライアントがＨＴＴＰ  Ｇｅｔ要求及び部分Ｇｅｔ要求を適切に生成するために、サーバは、クライアントが所望のコンテンツ構成要素を選択し、その構成要素についてのＨＴＴＰ  Ｇｅｔ要求及び／又は部分Ｇｅｔ要求を適切に生成することができるように、コンテンツ構成要素に対応するファイルのＵＲＬ及び／又はＵＲＮ、並びに構成要素の特性に関する情報をクライアントに与え得る。
【００２２】
本開示の技術は、コンテンツ構成要素の特性を信号伝達すること、例えば、様々なコンテンツ構成要素のためのデータのロケーションを信号伝達することを含む。このようにして、クライアント機器はコンテンツの表現を選択し、様々なタイプのコンテンツ構成要素の組合せについての要求を生成し得る。例えば、上記の例によれば、ユーザは、スペイン語のオーディオをもつ５１２ｋｂｐｓのビデオを閲覧することを選び得る。閲覧者のクライアント機器は、これらの２つの構成要素についての要求をサブミットし得る。即ち、クライアント機器は、サーバからの信号伝達されたデータを使用して、５１２ｋｂｐｓのビデオとスペイン語のオーディオとのデータのロケーションを決定し、次いで、これらのコンテンツ構成要素に対応するデータについての要求を生成し得る。要求に応答して、サーバは、これらの２つの構成要素をサービスとしてクライアント機器に配信し得る。
【００２３】
ＩＳＯベースメディアファイルフォーマットは、メディアの交換、管理、編集、及び表現を可能にする、フレキシブルな、拡張可能なフォーマットの表現のための、時限メディア情報を含んでいるように設計される。ＩＳＯベースメディアファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１２：２００４）は、時間ベースメディアファイルのための一般的な構造を定義するＭＰＥＧ−４  Ｐａｒｔ１２において規定されている。それは、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣビデオ圧縮のサポートを定義したＡＶＣファイルフォーマット（ＩＳＯ／ＩＥＣ１４４９６−１５）、３ＧＰＰファイルフォーマット、ＳＶＣファイルフォーマット、及びＭＶＣファイルフォーマットなどのファミリー中の他のファイルフォーマットに対する基準として使用される。３ＧＰＰファイルフォーマット及びＭＶＣファイルフォーマットはＡＶＣファイルフォーマットの拡張である。ＩＳＯベースメディアファイルフォーマットは、オーディオビジュアル表現などのメディアデータの時限シーケンスのためのタイミング、構造、及びメディア情報を含んでいる。ファイル構造はオブジェクト指向であり得る。ファイルは、非常に単純に基本オブジェクトに分解され得、オブジェクトの構造はそれらのタイプから暗示される。
【００２４】
ＩＳＯベースメディアファイルフォーマット（及びそれの拡張）に準拠するファイルは、「ボックス」と呼ばれる一連のオブジェクトとして形成され得る。ＩＳＯベースメディアファイルフォーマットのデータは、他のいかなるデータもファイル内に含まれる必要がなく、ファイル内のボックスの外部にデータがある必要がないように、ボックス中に含まれていることがある。これは、特定のファイルフォーマットによって必要とされる初期シグナチャを含む。「ボックス」は、一意のタイプ識別子と長さとによって定義されるオブジェクト指向ビルディングブロックであり得る。一般に、表現は１つのファイル中に含まれ、メディア表現は独立型（self-contained）である。ムービーコンテナ（ムービーボックス）はメディアのメタデータを含んでいることがあり、ビデオ及びオーディオフレームは、メディアデータコンテナ中に含まれていることがあり、他のファイル中にあり得る。
【００２５】
本開示の技術によれば、サーバは、様々なコンテンツ構成要素の特性を信号伝達する構成要素マップボックスを与え得る。構成要素マップボックスは、様々なコンテンツ構成要素の符号化サンプルを記憶するファイルとは別のファイルに記憶され得るデータ構造に対応し得る。構成要素マップボックスは、符号化ビデオサンプルを実際に含むファイルの外部に記憶されたデータ構造中で、ビデオデータのための従来信号伝達されないコンテンツ構成要素の特性を信号伝達し得る。そのようなデータ構造は、構成要素マップボックスの場合のように、ＨＴＴＰストリーミングのマニフェストファイル又はメディアプレゼンテーション記述中でも信号伝達され得る。
【００２６】
特性は、例えば、フレームレートと、プロファイルインジケータと、レベルインジケータと、構成要素間の依存性とを含み得る。構成要素マップボックスによって信号伝達される特性は、ビューの数及びビュー間の関係（例えば、ステレオペアを形成する２つのビュー）など、３Ｄビデオの３次元特性をも含み得る。構成要素マップボックスは、コンテンツ構成要素のビットレート及び解像度など、コンテンツ構成要素の従来信号伝達された特性に加えて、これらの特性を信号伝達し得る。構成要素マップボックスはまた、コンテンツのサービスを一意に識別するサービス識別子（例えば、ｃｏｎｔｅｎｔ＿ｉｄ値）を与え得る。サービスの各構成要素はサービス識別子に関連し得る。
【００２７】
発信源機器は、コンテンツがどのようにカプセル化されるかにかかわらず、ビデオコンテンツのための構成要素マップボックスを与えるように構成され得る。即ち、発信源機器は、ビデオコンテンツがＡｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）ファイルフォーマット、スケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマット、マルチビュービデオ符号化（ＭＶＣ）ファイルフォーマット、Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）ファイルフォーマット、又は他のファイルフォーマットに従ってカプセル化されるかにかかわらず、クライアント機器に構成要素マップボックスを与え得る。構成要素マップボックスは、特定のコンテンツのためのコンテンツ構成要素の特性を信号伝達し得る。幾つかの例では、各構成要素は、ファイルのビデオ又はオーディオトラック、一連の小さいファイル中のトラック、トラックフラグメント、（例えば、ＳＶＣ又はＭＶＣにおける）トラックの組合せ、又はトラックのサブセットに対応し得る。
【００２８】
概して、構成要素マップボックスは、それが記述するビデオデータとは別個に記憶され得る。幾つかの例では、構成要素マップボックスは、別個のファイル中に含まれ得るか、あるいはコンテンツ構成要素を含む１つのムービーファイル、例えば、ｍｐ４もしくは３ＧＰファイル、又は本開示で説明する機能をサポートする他のファイルの一部として含まれ得る。構成要素マップボックスのロケーションは、ファイルタイプをカプセル化することによって変化し得る。その上、構成要素マップボックスは、ＩＳＯベースメディアファイルフォーマットの拡張、又はそれの拡張のうちの１つ以上として作られ得る。そのようなデータ構造は、構成要素マップボックスの場合のように、ＨＴＴＰストリーミングのマニフェストファイル又はメディアプレゼンテーション記述中でも信号伝達され得る。
【００２９】
デフォルトでは、構成要素マップボックスは、関連するコンテンツの持続時間全体に適用可能であり得る。しかしながら、場合によっては、構成要素マップボックスはコンテンツの特定のタイミング間隔のみに適用し得る。そのような場合、サーバは、複数の構成要素マップボックスを与え、構成要素マップボックスが対応するタイミング間隔の各々について信号伝達し得る。幾つかの例では、サーバが複数の構成要素マップボックスを与えるとき、サーバは、構成要素マップボックスが同じファイル中にタイミング間隔順序で連続して配置される、静的モードで構成され得る。幾つかの例では、サーバは、構成要素マップボックスが別々のファイル中に及び／又は互いに不連続なロケーションに与えられ得る、動的モードで構成され得る。動的モードは、ライブストリーミングのための利点を与え得、静的モードは、より大きい時間範囲におけるシークに関する利点を与え得る。
【００３０】
本開示はまた、ファイルのトラックと様々な構成要素との間の関係を信号伝達するための、各ファイル内に含まれ得る構成要素配置ボックスを提供する。例えば、２つ以上のトラックのためのデータを含むファイル中の構成要素配置ボックスは、ファイル中のトラックのためのトラック識別子と、対応するコンテンツ構成要素のための構成要素識別子との間の関係を信号伝達し得る。このようにして、クライアント機器は、最初に、サーバ機器から構成要素マップボックスを検索し得る。クライアント機器は、次いで、構成要素マップボックスによって信号伝達された特性に基づいて、表現の１つ以上の構成要素を選択し得る。次いで、クライアント機器は、構成要素マップボックスによって記述された構成要素を記憶するファイルから構成要素配置ボックスを検索し得る。特定の構成要素のためのフラグメントのバイト範囲などのセグメント情報を含み得る構成要素マップボックスを使用して、クライアントは、選択された構成要素のフラグメントがファイルのどこに記憶されているかを決定し得る。この決定に基づいて、クライアントは、選択された構成要素に対応するトラック又はサブトラックのフラグメントについての要求（例えば、ＨＴＴＰ  Ｇｅｔ又は部分Ｇｅｔ要求）をサブミットし得る。
【００３１】
このようにして、各ファイル又は各トラックがコンテンツ構成要素にどのように関連するかに関する情報を構成要素マップボックス中で信号伝達するのではなく、この情報は、それぞれのファイルに関連する構成要素配置ボックスに記憶され得る。構成要素マップボックスは、コンテンツの全ての構成要素の構成要素識別子（例えば、ｃｏｍｐｏｎｅｎｔ＿ｉｄ値）を信号伝達し得、構成要素配置ボックスは、構成要素配置ボックスに対応するファイル内に記憶された構成要素のｃｏｍｐｏｎｅｎｔ＿ｉｄ値と、ｃｏｍｐｏｎｅｎｔ＿ｉｄ値に関連するｃｏｎｔｅｎｔ＿ｉｄ値との間の関係を信号伝達し得る。構成要素マップボックスはまた、場合によっては、セグメント情報を記憶し得る。更に、構成要素マップボックスは、構成要素マップボックスがセグメント情報を含むかどうかを示すフラグを含み得る。クライアント機器は、構成要素マップボックスがセグメント情報を含まない場合、表現のメディアデータが依存表現中に含まれていると仮定するように構成され得る。
【００３２】
サーバは、メディアの各タイプに一意のｃｏｍｐｏｎｅｎｔ＿ｉｄ値を割り当てて、同じサービスにおける任意のビデオ又はオーディオ構成要素に対してｃｏｍｐｏｎｅｎｔ＿ｉｄ値が一意であることを保証し得る。特定のタイプの構成要素は互いに切替え可能であり得る。即ち、クライアントは、例えば、変化するネットワーク状態又は他のファクタに応答して、様々なビデオ構成要素間で切り替わり得る。クライアントは、各利用可能なタイプの構成要素を要求する必要はない。例えば、クライアントは、クローズドキャプション構成要素を含むコンテンツについてはキャプションを要求することを省略し得る。その上、場合によっては、例えば、３Ｄビデオ又はピクチャインピクチャをサポートするために、同じメディアタイプの複数の構成要素が要求され得る。サーバは、ピクチャインピクチャなどの特定の機能をサポートするために追加の信号伝達を行い得る。
【００３３】
例えば、サーバは、構成要素がピクチャインピクチャデータの記述を含むかどうかを示すフラグを与え得る。構成要素がピクチャインピクチャデータを含むことをフラグが示す場合、構成要素マップボックスは、現在の表現とともに、ピクチャインピクチャ表示を形成するために一緒に表示されるべき表現の識別子を与え得る。一方の表現は大きいピクチャに対応し得、他方の表現は、大きいピクチャでオーバーレイされるより小さいピクチャに対応し得る。
【００３４】
上記のように、サーバは、１つ以上の構成要素に対応する符号化サンプルを含む各ファイル中に構成要素配置ボックスを与え得る。構成要素配置ボックスは、ファイルのヘッダデータ中に与えられ得る。構成要素配置ボックスは、ファイル中に含まれる構成要素と、構成要素が、例えば、ファイル内のトラックとしてどのように記憶されるかとを示し得る。構成要素配置ボックスは、構成要素識別子値と、ファイル中の対応するトラックのトラック識別子値との間のマッピングを与え得る。
【００３５】
構成要素マップボックスはまた、コンテンツ構成要素間の依存性を信号伝達し得、信号伝達される依存性は、現在のコンテンツ構成要素とともに、アクセスユニット内のコンテンツ構成要素の復号順序のための依存性の順序を含み得る。現在の表現の依存性に関する信号伝達された情報は、現在の表現に依存する表現及び／又は現在の表現が依存する表現のいずれか又は両方を含み得る。また、時間次元におけるコンテンツ構成要素間の依存性があり得る。しかしながら、まったく無関係の代替ビデオビットストリーム中の時間サブレイヤは、必ずしも互いにフレームレートのマッピングを有するとは限らないので、各ビデオ構成要素のｔｅｍｐｏｒａｌ＿ｉｄ値を示すだけでは十分でないことがある。例えば、あるビデオ構成要素は、２４ｆｐｓのフレームレートと０に等しいｔｅｍｐｏｒａｌ＿ｉｄとを有し得、（２つの時間レイヤを仮定して）１２ｆｐｓのサブレイヤを有し得るが、別のビデオ構成要素は、０に等しいｔｅｍｐｏｒａｌ＿ｉｄとともに３０ｆｐｓのフレームレートを有し得、（３つの時間レイヤを仮定して）７．５ｆｐｓのサブレイヤを有し得る。従って、サーバは、２つのビデオ構成要素の依存性が信号伝達されるときに時間レイヤ差を示し得る。
【００３６】
概して、構成要素の信号伝達された特性は、例えば、平均ビットレート、（例えば、１秒にわたる）最大ビットレート、解像度、フレームレート、他の構成要素への依存性、及び／又は、例えば、マルチビュービデオのための、出力の対象とされるビューの数とそれらのビューのための識別子とを含み得る予約済み拡張部を含み得る。コンテンツ構成要素を形成する一連のメディアフラグメントに関する情報も信号伝達され得る。各メディアフラグメントについての信号伝達された情報は、メディアフラグメントのバイトオフセット、メディアフラグメント中の第１のサンプルの復号時間、フラグメント中のランダムアクセスポイントとそれの復号時間及び表現時間、及び／又はフラグメントがコンテンツ構成要素の新しいセグメント（従って、異なるＵＲＬ）に属するかどうかを示すフラグを含み得る。
【００３７】
場合によっては、オーディオデータのフラグメントはビデオデータのフラグメントと時間的に整合されない。本開示は、特定の時間間隔に基づいて複数のコンテンツ構成要素を多重化するための技術を提供する。構成要素マップボックスは、サポートされた多重化間隔のリスト、又は多重化間隔の範囲を与え得る。多重化間隔はＴとして指定され得、多重化されたオーディオ及びビデオデータの時間長さを表し得る。要求される次の時間間隔が［ｎ＊Ｔ，（ｎ＋１）＊Ｔ］であると仮定する。クライアント機器は、（ｎ＊Ｔ）≦ｔ≦（（ｎ＋１）＊Ｔ）であるような開始時間ｔを有する何らかのフラグメントが各コンテンツ構成要素中にあるかどうかを決定し得る。そのようなフラグメントがある場合、クライアント機器は、そのフラグメントを要求し得る。ｎ＊Ｔの前に開始するフラグメントは、現在の多重化間隔ｎ＊Ｔの前に要求され得、間隔（ｎ＋１）＊Ｔの後に開始するフラグメントは、後の多重化間隔において要求され得る。このようにして、互いと整合するか又は要求された多重化間隔と整合するフラグメント境界を有しないコンテンツ構成要素が、それにもかかわらず多重化され得る。その上、多重化間隔は、コンテンツ構成要素の多重化を防ぐことなしに、サービス中に変化し得る。
【００３８】
クライアント機器は、多重化間隔を変更することによって、変化するネットワーク状態に適応するように構成され得る。例えば、帯域幅が比較的より利用可能になったとき、クライアント機器は多重化間隔を増加させ得る。一方、帯域幅が比較的あまり利用可能でなくなったとき、クライアント機器は多重化間隔を減少させ得る。クライアント機器は、更に、あるタイミング間隔と瞬時ビットレートとに基づいて、多重化されたフラグメントを要求するように構成され得る。クライアント機器は、フラグメント中のバイト数とフラグメントの持続時間とに基づいて、瞬時ビットレートを計算し得る。
【００３９】
サーバは、幾つかの例では、時間スプライシングをサポートするために、２つの連続メディア表現、例えば、逐次タイミング情報を有する２つのビデオファイルに同じ構成要素識別子を割り当て得る。上記のように、場合によっては、表現は、異なるファイルに記憶されたコンテンツ構成要素を含み得る。従って、クライアント機器は、コンテンツの特定の時間間隔のためのデータを検索するために、複数のＧｅｔ要求又は部分Ｇｅｔ要求をサブミットする必要があり得る。即ち、クライアントは、表現のためのコンテンツ構成要素を記憶する様々なファイルを参照する複数のＧｅｔ要求又は部分Ｇｅｔ要求をサブミットする必要があり得る。ある時間間隔において多重化されるべきデータを得るために複数の要求が必要とされるとき、クライアント機器は、現在の時間間隔における所望のメディアフラグメントデータ間に、別の時間間隔におけるデータが受信されないことを保証するために、それらの要求をパイプライン化し得る。
【００４０】
このようにして、複数のファイル中に構成要素を有するメディアコンテンツが、ＨＴＴＰストリーミングなどのネットワークストリーミングコンテキストにおいてサポートされ得る。即ち、メディアコンテンツの表現は、あるファイル中のある構成要素と、別個のファイル中の別の構成要素とを含み得る。サーバは、単一のデータ構造、例えば、構成要素マップボックス中で、異なるファイル中の構成要素の特性を信号伝達し得る。これは、クライアントが任意のターゲットコンテンツ構成要素についての、又はターゲットコンテンツ構成要素の任意の持続時間についての要求を行うことを可能にし得る。
【００４１】
また、本開示の構成要素マップボックス及び構成要素配置ボックスと同様のデータ構造の使用は他の利点を与え得る。例えば、異なる構成要素中の２つのメディアトラックは、それぞれの構成要素内で同じトラック識別子（track_id）値を有し得る。しかしながら、上記のように、構成要素マップボックスは、トラック識別子値と同じでない構成要素識別子を使用して別々の構成要素を参照し得る。各ファイルは、構成要素識別子をトラック識別子にマッピングする構成要素配置ボックスを含み得るので、構成要素マップボックスは、トラック識別子値とは無関係である構成要素識別子を使用して構成要素を参照し得る。構成要素配置ボックスはまた、例えば、コンテンツ配信ネットワーク（ＣＤＮ）サーバが、多くの異なるコンテンツに対応する複数のファイルを記憶するとき、どのファイルがどのコンテンツに対応するかを指定するための効率的な機構を与え得る。
【００４２】
更に、本開示の技術は、異なるネットワークバッファサイズをもつクライアントをサポートし得る。即ち、幾つかのクライアントは、例えば、ネットワーク状態、クライアント能力などにより、他のクライアントとは別様にサイズ決定されたバッファを必要とし得る。従って、場合によっては、特定の表現のための複数のタイプの構成要素が、異なる時間間隔において多重化される必要があり得る。本開示は、サーバが、異なる可能な多重化時間間隔を信号伝達し、従って、要求されたデータのサイズの変動、従って、例えば、ＨＴＴＰを使用したクライアントとサーバとの間のラウンドトリップ時間に関する送信のパフォーマンスを考慮するための技術を提供する。
【００４３】
その上、場合によっては、１つのファイル中のコンテンツ構成要素は、１つ以上の他のファイル中の幾つかの他のコンテンツ構成要素に依存し得る。そのような依存性はアクセスユニット内で生じ得る。一例として、ビデオコンテンツ構成要素は、共通インターフェースフォーマット（ＣＩＦ：common interface format）レイヤとクォーター共通インターフェースフォーマット（ＱＣＩＦ：quarter common interface format）レイヤとに依存するＣＩＦ  ＳＶＣエンハンスメントレイヤに対応し得る。ＣＩＦレイヤとＱＣＩＦレイヤの両方は１つのファイル中にあり得るが、４ＣＩＦエンハンスメントレイヤは別のファイルであり得る。本開示の技術は、クライアントのデコーダが、依存性に基づいて、ＣＩＦ、ＱＣＩＦ、及び４ＣＩＦレイヤからのサンプルを適切な復号順序で受信するように、クライアントがこれらのレイヤのためのデータを適切に要求することが可能であることを保証し得る。
【００４４】
幾つかの例では、コンテンツ構成要素を一緒に多重化するファイルを動的に作成するために、動的サーバが使用され得る。例えば、動的サーバは、構成要素を一緒に多重化し、現在の時間間隔のためのデータを動的ファイルの連続部分にするための、コモンゲートウェイインターフェース（ＣＧＩ）サービスに従う方法をサポートし得る。ＣＧＩは、http://tools.ietf.org/html/rfc3875において入手可能なRequest for Comment３８７５に記載されている。ＣＧＩなどのサービスを使用して、サーバは、コンテンツの表現のための様々なコンテンツ構成要素の組合せを含むファイルを動的に生成し得る。
【００４５】
表現（動きシーケンス）は、幾つかのファイル中に含まれていることがある。タイミング及びフレーミング（位置及びサイズ）情報は概してＩＳＯベースメディアファイル中にあり、補助ファイルは本質的に任意のフォーマットを使用し得る。この表現は、表現を含んでいるシステムに対して「ローカル」であり得るか、又はネットワーク若しくは他のストリーム配信機構を介して与えられ得る。
【００４６】
ファイルは、論理構造と時間構造と物理構造とを有し得、これらの構造は結合される必要はない。ファイルの論理構造は、時間並列トラックのセットを含んでいる（ビデオデータとオーディオデータの両方を潜在的に含む）ムービー又はビデオクリップであり得る。ファイルの時間構造は、トラックが時間的なサンプルのシーケンスを含んでおり、それらのシーケンスは、随意のエディットリストによってムービー全体のタイムラインにマッピングされるものであり得る。ファイルの物理構造は、メディアデータサンプル自体から、論理、時間、及び構造的分解のために必要とされるデータを分離し得る。この構造的情報は、ムービーボックス中に集められ、場合によってはムービーフラグメントボックスによって時間的に拡張され得る。ムービーボックスは、サンプルの論理関係及びタイミング関係をドキュメント化し得、また、サンプルが配置される場所へのポインタを含んでいることがある。それらのポインタは、例えば、ＵＲＬによって参照される同じファイル又は別のファイルへのものであり得る。
【００４７】
各メディアストリームは、そのメディアタイプ（オーディオ、ビデオなど）に専用のトラック中に含まれていることがあり、更にサンプルエントリによってパラメータ表示され得る。サンプルエントリは、厳密なメディアタイプ（ストリームを復号するために必要とされるデコーダのタイプ）の「名前」と、必要とされるそのデコーダのパラメータ表示を含んでいることがある。名前はまた、４文字コード、例えば、「ｍｏｏｖ」、又は「ｔｒａｋ」の形態をとり得る。ＭＰＥＧ−４メディアについてだけでなく、このファイルフォーマットファミリーを使用する他の編成によって使用されるメディアタイプについても、定義済みのサンプルエントリフォーマットがある。
【００４８】
メタデータのサポートは、概して２つの形態をとる。第１に、時限メタデータが、適切なトラックに記憶され得、必要に応じて、それが表しているメディアデータと同期され得る。第２に、ムービー又は個々のトラックにアタッチされた非時限メタデータの全般的サポートがあり得る。構造的サポートは、全般的であり、メディアデータ、即ち、符号化ビデオピクチャの記憶と同様の方法で、ファイル中の他の場所又は別のファイル中でのメタデータリソースの記憶を可能にする。更に、これらのリソースは名前付きであり得、保護され得る。
【００４９】
「プログレッシブダウンロード」という用語は、一般に、ＨＴＴＰプロトコルを使用した、サーバからクライアントへのデジタルメディアファイルの転送を説明するために使用される。コンピュータから開始されるとき、コンピュータは、ダウンロードが完了する前にメディアの再生を開始し得る。ストリーミングメディアとプログレッシブダウンロードとの間の１つの相違は、デジタルメディアにアクセスしているエンドユーザ機器によってデジタルメディアデータが受信され、記憶される方法にある。プログレッシブダウンロード再生が可能であるメディアプレーヤは、そのままファイルのヘッダ中に配置されたメタデータと、ウェブサーバからダウンロードされたときのデジタルメディアファイルのローカルバッファとに依拠する。指定された量のバッファデータがローカル再生機器に利用可能になった時点で、機器はメディアを再生し始め得る。この指定された量のバッファデータは、エンコーダ設定においてコンテンツの製作者によってファイルに埋め込まれ得、クライアントコンピュータのメディアプレーヤによって課される追加のバッファ設定によって補強され得る。
【００５０】
プログレッシブダウンロード又はＨＴＴＰストリーミングでは、ビデオ及びオーディオサンプルを含む、全てのメディアデータを含む単一のムービーボックス（ｍｏｏｖボックス）を与える代わりに、ムービーボックス中に含まれているサンプルのほかに追加のサンプルを含んでいるムービーフラグメント（ｍｏｏｆ）がサポートされる。一般に、ムービーフラグメントは、ある時間期間にわたるサンプルを含んでいる。ムービーフラグメントを使用して、クライアントは所望の時間を迅速に探索することができる。ムービーフラグメントはファイルの連続バイトを含んでいることがあり、従って、ＨＴＴＰストリーミングなど、ストリーミングプロトコルに従って、クライアントは、ムービーフラグメントを検索するために部分ＧＥＴ要求を発行し得る。
【００５１】
一例として３ＧＰＰに関して、３ＧＰＰファイルをダウンロード及びプログレッシブダウンロードするためにＨＴＴＰ／ＴＣＰ／ＩＰ転送がサポートされる。更に、ビデオストリーミングのためにＨＴＴＰを使用することは幾つかの利点を与え得、ＨＴＴＰに基づくビデオストリーミングサービスが普及しつつある。ＨＴＴＰストリーミングは、ネットワーク上でビデオデータを転送するための新しい技術を開発するために新たな労力が必要とされないように、既存のインターネット構成要素及びプロトコルが使用され得ることを含む幾つかの利点を与え得る。他の転送プロトコル、例えば、リアルタイムプロトコル（ＲＴＰ）ペイロードフォーマットは、メディアフォーマット及び信号伝達コンテキストを認識するために、中間ネットワーク機器、例えばミドルボックスを必要とする。また、ＨＴＴＰストリーミングはクライアント主導型であり得、それにより、制御問題を回避し得る。また、ＨＴＴＰを使用することは、ＨＴＴＰ１．１が実装されたウェブサーバにおいて、新しいハードウェア又はソフトウェア実装を必ずしも必要とはしない。ＨＴＴＰストリーミングはまた、ＴＣＰフレンドリネスとファイアウォール横断とを実現する。ＨＴＴＰストリーミングでは、メディア表現は、クライアントがアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。
【００５２】
サービスは、サーバによって配信されたコンテンツ構成要素からクライアントによって復号され、レンダリングされたムービーの表現として、クライアントのユーザによって経験され得る。ＨＴＴＰストリーミングでは、１つの要求に応答して完全なコンテンツを受信する代わりに、クライアントは、コンテンツ構成要素のセグメントを要求することができる。このようにして、ＨＴＴＰストリーミングは、コンテンツのよりフレキシブルな配信を可能にし得る。セグメントは、１つのＵＲＬによって要求され得る連続ムービーフラグメントのセットを含み得る。例えば、セグメントは、ビデオ及びオーディオを含んでいることがある小さいファイル全体であり得る。別の例として、セグメントは、１つのビデオトラックフラグメントと１つのオーディオトラックフラグメントとを含んでいることがある１つのムービーフラグメントに対応し得る。更に別の例として、セグメントは幾つかのムービーフラグメントに対応し得、そのうちのいずれか又は全ては、１つのビデオフラグメントと１つのオーディオフラグメントとを有し得、そのムービーフラグメントは復号時間において連続であり得る。
【００５３】
コンテンツ配信ネットワーク（content distribution network）とも呼ばれるコンテンツ配信ネットワーク（ＣＤＮ：content delivery network）は、ネットワーク全体にわたってクライアントによるデータへのアクセスのための帯域幅を最大にするようにネットワーク中の様々なポイントに配置された、データのコピーを含んでいるコンピュータのシステムを含み得る。個々のサーバの近くのボトルネックを回避し得る、全てのクライアントが同じ中央サーバにアクセスすることとは反対に、クライアントは、クライアントの近くのデータのコピーにアクセスし得る。コンテンツタイプは、ウェブオブジェクトと、ダウンロード可能なオブジェクト（メディアファイル、ソフトウェア、ドキュメントなど）と、アプリケーションと、リアルタイムメディアストリームと、インターネット配信の他の構成要素（ＤＮＳ、ルート、及びデータベースクエリ）とを含み得る。ＨＴＴＰプロトコルのみ、より詳細には、ＨＴＴＰ１．１に基づくオリジンサーバ、プロキシ及びキャッシュのみに依拠する多くの良好なＣＤＮがある。
【００５４】
ＨＴＴＰストリーミングでは、頻繁に使用される動作にはＧＥＴ及び部分ＧＥＴがある。ＧＥＴ動作は、所与のユニフォームリソースロケータ（ＵＲＬ）又はユニフォームリソースネーム（ＵＲＮ）に関連するファイル全体を検索する。部分ＧＥＴ動作は、入力パラメータとしてバイト範囲を受信し、受信したバイト範囲に対応するファイルの連続する幾つかのバイトを検索する。従って、部分ＧＥＴ動作は１つ以上の個々のムービーフラグメントを得ることができるので、ＨＴＴＰストリーミングのためのムービーフラグメントが与えられ得る。ムービーフラグメントは、異なるトラックからの幾つかのトラックフラグメントを含んでいることがある。
【００５５】
ＨＴＴＰストリーミングのコンテキストでは、セグメントは、（ＨＴＴＰ１．１における）ＧＥＴ要求又は部分ＧＥＴ要求への応答として配信され得る。ＣＤＮでは、プロキシやキャッシュなどのコンピューティング機器は、要求に応答してセグメントを記憶することができる。従って、セグメントが別のクライアント（又は同じクライアント）によって要求され、クライアントがこのプロキシ機器を通る経路を有する場合、プロキシ機器は、オリジンサーバからセグメントを再び検索することなしに、セグメントのローカルコピーをクライアントに配信することができる。ＨＴＴＰストリーミングでは、プロキシ機器がＨＴＴＰ１．１をサポートする場合、要求への応答としてのバイト範囲は、プロキシ機器のキャッシュに記憶される間に組み合わせられ得るか、又は要求への応答のローカルコピーとして使用されている間に抽出され得る。各コンテンツ構成要素は、クライアント機器によって送られるＨＴＴＰ  ＧＥＴ又は部分ＧＥＴによってその各々が要求され得る、連続フラグメントのセクションを含み得る。コンテンツ構成要素のそのようなフラグメントはメディアフラグメントと呼ばれることがある。
【００５６】
様々なビットレートと様々な機器とをサポートするために、及び様々なユーザ選好に適応するために、ＨＴＴＰストリーミング中には２つ以上のメディア表現があり得る。表現の記述は、サーバによって生成され、クライアントに送られるときに、構成要素マップボックスに対応し得るメディアプレゼンテーション記述（ＭＰＤ：Media Presentation Description）データ構造中で記述され得る。即ち、従来のＭＰＤデータ構造は、本開示で説明するように、構成要素マップボックスに対応するデータを含み得る。他の例では、構成要素マップボックスは、更に、構成要素マップボックスに関して本開示で説明するデータに加えて、ＭＰＤデータ構造と同様のデータを含み得る。記述された表現は、１つ以上のムービーファイル中に含まれているコンテンツ構成要素を含み得る。静的コンテンツサーバが使用される場合、サーバはムービーファイルを記憶し得る。動的コンテンツサーバがサポートされる場合、サーバは受信した要求に応答して動的ファイル（コンテンツ）を生成し得る。動的コンテンツは、サーバによってオンザフライで生成され得るが、それは、プロキシやキャッシュなどのコンピューティング機器に対して透過的である。従って、動的コンテンツサーバに対する要求に応答して与えられるセグメントは、同じくキャッシュされ得る。動的コンテンツサーバは、より複雑な実装を有し得、サーバ側での記憶があまり最適でないか、又はコンテンツの配信中のキャッシュがあまり効率的でないことがある。
【００５７】
更に、本開示はまた、特定の表現（例えば、構成要素の組合せ）が完全な動作点であるかどうかをＭＰＤ中で信号伝達するための技術を含む。即ち、サーバは、表現が、完全なビデオ動作点として選択され得るかどうかをクライアントに示すために、ＭＰＤ中にフラグを与え得る。動作点は、ＭＶＣサブビットストリーム、即ち、ある時間レベルにおけるビューのサブセットを備え、独立して有効なビットストリームを表すＭＶＣビットストリームのサブセットに対応し得る。動作点は、時間及びビュースケーラビリティのあるレベルを表し、ある時間レベルにおけるビューのあるサブセットを表すために有効なビットストリームに必要とされるＮＡＬユニットのみを含んでいることがある。動作点は、ビューのサブセットのビュー識別子値と、ビューのサブセットの最も高い時間識別子とによって記述され得る。
【００５８】
ＭＰＤはまた、マルチメディアコンテンツのための個々の表現を記述し得る。例えば、各表現について、ＭＰＤは、表現識別子と、デフォルト属性表現識別子と、表現のプロファイル及びレベルインジケータと、表現のフレームレートと、依存性グループ識別子と、時間識別子とを信号伝達し得る。表現識別子は、マルチメディアコンテンツのための関連する表現の一意の識別子を与え得る。デフォルト属性表現識別子は、プロファイル及びレベルインジケータ、帯域幅、幅、高さ、フレームレート、依存性グループ識別子、時間識別子、及び／又は３Ｄビデオのためのフレームパッキング（frame packing）タイプのいずれか又は全てを含み得る、現在の表現のデフォルト属性として使用されることになる属性を有する表現の識別子を与え得る。フレームレート識別子は、対応する表現のための（１つ以上の）ビデオ構成要素のフレームレートを指定し得る。依存性グループ識別子は、対応する表現が割り当てられる依存性グループを指定し得る。時間識別子値を有する依存性グループ中の表現は、より低い時間識別子値をもつ同じ依存性グループ中の表現に依存し得る。
【００５９】
例えば、マルチビュービデオに対応する３Ｄビデオ表現では、構成要素マップボックスは、出力のためのターゲットビューの数を記述し得る。即ち、構成要素マップボックスは、表現のためのターゲット出力ビューの数を表す値を含み得る。幾つかの例では、構成要素マップボックスは、クライアント機器が単一のビュー及び深さ情報から第２のビューを構築し得るように、単一のビューのための符号化サンプルとともに単一のビューについての深さ情報を与え得る。表現がビュー＋深さ表現であることを示すためのフラグが存在し得る。幾つかの例では、各ビューが深さ情報に関連する、複数のビューが表現中に含まれていることがある。このようにして、ビューの各々は、ステレオビューペアを作成するためのベースとして使用され得、表現のビューの各々について２つのビューが生じる。従って、複数のビューが表現中に含まれていることがあるが、ビューのうちの２つが必ずしもステレオビューペアを形成するとは限らない。幾つかの例では、表現が、それ自体では、対応するマルチメディアコンテンツのための有効な表現を形成することができない依存表現にすぎないかどうかを示すためのフラグが含まれ得る。
【００６０】
図１は、オーディオ／ビデオ（Ａ／Ｖ）発信源機器２０がオーディオ及びビデオデータをＡ／Ｖ宛先機器４０に転送する例示的なシステム１０を示すブロック図である。図１のシステム１０は、ビデオ通信会議システム、サーバ／クライアントシステム、放送事業者／受信機システム、又はＡ／Ｖ発信源機器２０などの発信源機器からＡ／Ｖ宛先機器４０などの宛先機器にビデオデータが送られる任意の他のシステムに対応し得る。幾つかの例では、Ａ／Ｖ発信源機器２０及びＡ／Ｖ宛先機器４０は双方向情報交換を実行し得る。即ち、Ａ／Ｖ発信源機器２０及びＡ／Ｖ宛先機器４０は、オーディオ及びビデオデータの符号化と復号（及び、送信と受信）の両方が可能であり得る。幾つかの例では、オーディオエンコーダ２６は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
【００６１】
Ａ／Ｖ発信源機器２０は、図１の例では、オーディオ発信源２２とビデオ発信源２４とを備える。オーディオ発信源２２は、例えば、オーディオエンコーダ２６によって符号化されるべき、取得されたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオ発信源２２は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータ生成器、又はオーディオデータの任意の他の発信源を備え得る。ビデオ発信源２４は、ビデオエンコーダ２８によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、又はビデオデータの任意の他の発信源を備え得る。
【００６２】
未加工オーディオ及びビデオデータは、アナログ又はデジタルデータを備え得る。アナログデータは、オーディオエンコーダ２６及び／又はビデオエンコーダ２８によって符号化される前にデジタル化され得る。オーディオ発信源２２は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオ発信源２４は、通話参加者のビデオデータを取得し得る。他の例では、オーディオ発信源２２は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオ発信源２４は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技術は、ライブ、ストリーミング、リアルタイムオーディオ及びビデオデータ、又はアーカイブされた、あらかじめ記録されたオーディオ及びビデオデータに適用され得る。その上、本技術は、コンピュータ生成のオーディオ及びビデオデータに適用され得る。
【００６３】
ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれている、ビデオ発信源２４によって撮影されたビデオデータと同時にオーディオ発信源２２によって取得されたオーディオデータを含んでいるオーディオフレームである。例えば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオ発信源２２はオーディオデータを取得し、同時に、即ちオーディオ発信源２２がオーディオデータを取得している間、ビデオ発信源２４は通話参加者のビデオデータを取得する。従って、オーディオフレームは、１つ以上の特定のビデオフレームに時間的に対応し得る。従って、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時に取得される状況、及びオーディオフレームとビデオフレームとが、それぞれ、同時に取得されたオーディオデータとビデオデータとを備える状況に対応する。
【００６４】
幾つかの例では、オーディオエンコーダ２６は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し得、同様に、ビデオエンコーダ２８は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと同じタイムスタンプを備えるビデオフレームとを備え得る。Ａ／Ｖ発信源機器２０は、オーディオエンコーダ２６及び／又はビデオエンコーダ２８がそこからタイムスタンプを生成し得るか、若しくはオーディオ発信源２２及びビデオ発信源２４がオーディオ及びビデオデータをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。
【００６５】
幾つかの例では、オーディオ発信源２２は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ２６に送り得、ビデオ発信源２４は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ２８に送り得る。幾つかの例では、オーディオエンコーダ２６は、必ずしもオーディオデータが記録された絶対時刻を示すことなしに、符号化オーディオデータの相対的時間順序付けを示すために、符号化オーディオデータ中のシーケンス識別子を符号化し得、同様に、ビデオエンコーダ２８も、符号化ビデオデータの相対的時間順序付けを示すためにシーケンス識別子を使用し得る。同様に、幾つかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、又は場合によってはタイムスタンプと相関し得る。
【００６６】
本開示の技術は、概して、符号化マルチメディア（例えば、オーディオ及びビデオ）データの転送と、転送されたマルチメディアデータの受信並びに後続の解釈及び復号とを対象とする。特に、カプセル化ユニット３０は、マルチメディアコンテンツのための構成要素マップボックス、及びマルチメディアコンテンツに対応する各ファイルのための構成要素配置ボックスを生成し得る。幾つかの例では、プロセッサは、カプセル化ユニット３０に対応する命令を実行し得る。即ち、カプセル化ユニット３０による機能を実行するための命令は、コンピュータ可読媒体に記憶され、プロセッサによって実行され得る。他の例では、他の処理回路が、カプセル化ユニット３０による機能をも実行するように構成され得る。構成要素マップボックスは、コンテンツの構成要素（例えば、オーディオ構成要素、ビデオ構成要素、又は他の構成要素）とは別個に記憶され得る。
【００６７】
従って、宛先機器４０は、マルチメディアコンテンツのための構成要素マップボックスを要求し得る。宛先機器４０は、構成要素マップボックスを使用して、ユーザの選好、ネットワーク状態、宛先機器４０の復号及びレンダリング能力、又は他のファクタに基づいて、コンテンツの再生を実行するために要求すべき構成要素を決定し得る。
【００６８】
Ａ／Ｖ発信源機器２０は、Ａ／Ｖ宛先機器４０に「サービス」を提供し得る。サービスは、概して、１つ以上のオーディオコンテンツ構成要素とビデオコンテンツ構成要素との組合せに対応し、オーディオコンテンツ構成要素及びビデオコンテンツ構成要素は、完全なコンテンツの利用可能なコンテンツ構成要素のサブセットである。あるサービスは、２つビューを有するステレオビデオに対応し得るが、別のサービスは４つのビューに対応し得、更に別のサービスは８つのビューに対応し得る。概して、サービスは、発信源機器２０が利用可能なコンテンツ構成要素の組合せ（即ち、サブセット）を与えることに対応する。コンテンツ構成要素の組合せをコンテンツの表現とも呼ぶ。
【００６９】
カプセル化ユニット３０は、オーディオエンコーダ２６とビデオエンコーダ２８とから符号化サンプルを受信し、パケット化エレメンタリストリーム（ＰＥＳ）パケットの形態をとり得る符号化サンプルから、対応するネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成する。Ｈ．２６４／ＡＶＣ（Advanced Video Coding）の例では、符号化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、又はストリーミングなどのアプリケーションに対処する「ネットワークフレンドリーな」ビデオ表現を与えるＮＡＬユニットに編成される。ＮＡＬユニットは、Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ（ＶＣＬ）ＮＡＬユニット及び非ＶＣＬ  ＮＡＬユニットとしてカテゴリー分類され得る。ＶＣＬユニットは、コア圧縮エンジンからのデータを含んでいることがあり、ブロック、マクロブロック、及び／又はスライスレベルのデータを含み得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットであり得る。幾つかの例では、通常は１次符号化ピクチャとして提示される、１つの時間インスタンス中の符号化ピクチャは、１つ以上のＮＡＬユニットを含み得るアクセスユニット中に含まれ得る。
【００７０】
本開示の技術によれば、カプセル化ユニット３０は、コンテンツ構成要素の特性を記述する構成要素マップボックスを構築し得る。カプセル化ユニット３０はまた、１つ以上のビデオファイルのための構成要素配置ボックスを構築し得る。カプセル化ユニット３０は、各構成要素配置ボックスを対応するビデオファイルに関連付け得、構成要素マップボックスをビデオファイルのセットに関連付け得る。このようにして、構成要素配置ボックスとビデオファイルとの間には１：１対応があり得、構成要素マップボックスとビデオファイルとの間には１：Ｎ対応があり得る。
【００７１】
上記のように、構成要素マップボックスは、コンテンツに共通の構成要素の特性を記述し得る。例えば、コンテンツは、オーディオ構成要素と、ビデオ構成要素と、クローズドキャプションなどの他の構成要素とを含み得る。あるタイプの構成要素の各々は互いに切替え可能であり得る。例えば、２つのビデオ構成要素は、それらの２つの構成要素のいずれかからのデータがコンテンツの再生を妨げることなしに検索され得るので切替え可能であり得る。様々な構成要素は、様々な方法及び様々な品質で符号化され得る。例えば、様々なビデオ構成要素は、（例えば、異なるコーデックに対応する）異なるエンコーダを使用して、様々なフレームレート、ビットレートで符号化され、様々なファイルタイプ（例えば、Ｈ．２６４／ＡＶＣ又はＭＰＥＧ−２転送ストリーム（ＴＳ））で、若しくは場合によっては互いに異なるファイルタイプでカプセル化され得る。しかしながら、ビデオ構成要素の選択は、例えば、オーディオ構成要素の選択とは概して無関係であり得る。構成要素マップボックスによって信号伝達される構成要素の特性は、平均ビットレートと、（例えば、構成要素のための１秒の再生時間にわたる）最大ビットレートと、解像度と、フレームレートと、他の構成要素への依存性と、マルチビュービデオなどの様々なファイルタイプのための拡張部、例えば、出力の対象とされるビューの数及びビューの各々のための識別子とを含み得る。
【００７２】
ＨＴＴＰサーバなどのサーバとして働き得る発信源機器２０は、適応のために同じコンテンツの複数の表現を記憶し得る。幾つかの表現は複数のコンテンツ構成要素を含んでいることがある。構成要素は、発信源機器２０のストレージ機器（例えば、１つ以上のハードドライブ）上の異なるファイルに記憶され得、従って、表現は、異なるファイルからのデータを含み得る。様々な構成要素の特性を信号伝達することによって、カプセル化ユニット３０は、各切替え可能構成要素の１つを選択して、対応するコンテンツをレンダリングし、再生する能力を宛先機器４０に与え得る。即ち、宛先機器４０は、発信源機器２０から特定のコンテンツのための構成要素マップボックスを検索し、コンテンツの特定の表現に対応するコンテンツのための構成要素を選択し、次いで、例えば、ＨＴＴＰストリーミングなどのストリーミングプロトコルに従って、発信源機器２０から選択された構成要素のためのデータを検索し得る。
【００７３】
宛先機器４０は、利用可能な帯域幅などのネットワーク状態と構成要素の特性とに基づいて表現を選択し得る。その上、宛先機器４０は、発信源機器２０によって信号伝達されるデータを使用して、変化するネットワーク状態に適応し得る。即ち、同じタイプの構成要素は互いに切替え可能であるので、ネットワーク状態が変化したとき、宛先機器４０は、新たに決定されたネットワーク状態により適した、特定のタイプの異なる構成要素を選択し得る。
【００７４】
カプセル化ユニット３０は、マルチメディアコンテンツの各構成要素に構成要素識別子値を割り当てる。構成要素識別子値は、タイプにかかわらず、構成要素に固有である。即ち、例えば、同じ構成要素識別子を有するオーディオ構成要素とビデオ構成要素とがあってはならない。構成要素識別子はまた、必ずしも個々のファイル内のトラック識別子に関係するとは限らない。例えば、コンテンツは、各々が異なるファイルに記憶された２つのビデオ構成要素を有し得る。特定のファイルに対してローカルな識別子は、外部にではなく、そのファイルの範囲に特有であるので、ファイルの各々は、同じトラック識別子を使用してビデオ構成要素を識別し得る。しかしながら、本開示の技術は、複数のファイル内に常駐し得る構成要素の特性を与えることに関与するので、本開示は、必ずしもトラック識別子に関係するとは限らない構成要素識別子を一意に割り当てることを提案する。
【００７５】
構成要素マップボックスはまた、ファイル中の各構成要素／トラックのためのフラグメントがどのように記憶されるか、例えば、フラグメントがどこで開始するか、それらがランダムアクセスポイントを含むかどうか（及び、ランダムアクセスポイントが瞬時復号リフレッシュ（ＩＤＲ：instantaneous decoding refresh）ピクチャであるかオープン復号リフレッシュ（ＯＤＲ：open decoding refresh）ピクチャであるか）、各フラグメントの開始へのバイトオフセット、各フラグメント中の第１のサンプルの復号時間、ランダムアクセスポイントのための復号及びプレゼンテーション時間、特定のフラグメントが新しいセグメントに属するかどうかを示すフラグを示し得る。各セグメントは、独立して取出し可能であり得る。例えば、カプセル化ユニット３０は、構成要素の各セグメントが一意のユニフォームリソースロケータ（ＵＲＬ）又はユニフォームリソースネーム（ＵＲＮ）を使用して検索され得るように、各セグメントを記憶し得る。
【００７６】
その上、カプセル化ユニット３０は、ファイルの各々中に、コンテンツのための構成要素識別子と、対応するファイル内のトラック識別子との間のマッピングを与える構成要素配置ボックスを与え得る。カプセル化ユニット３０はまた、同じタイプの構成要素間の依存性を信号伝達し得る。例えば、幾つかの構成要素は、正しく復号されるために同じタイプの他の構成要素に依存し得る。一例として、スケーラブルビデオ符号化（ＳＶＣ）では、ベースレイヤはある構成要素に対応し得、ベースレイヤのためのエンハンスメントレイヤは別の構成要素に対応し得る。別の例として、マルチビュービデオ符号化（ＭＶＣ）では、あるビューはある構成要素に対応し得、同じシーンの別のビューは別の構成要素に対応し得る。更に別の例として、ある構成要素のサンプルは、別の構成要素のサンプルに関連して符号化され得る。例えば、ＭＶＣでは、ビュー間予測が使用可能である異なるビューに対応する構成要素があり得る。
【００７７】
このようにして、宛先機器４０は、構成要素を適切に復号及び／又はレンダリングするために、構成要素間の依存性を決定し、所望の構成要素に加えて、親構成要素に依存する構成要素のための親構成要素を検索し得る。カプセル化ユニット３０は、更に、宛先機器４０が適切な順序で構成要素のためのデータを要求することができるように、依存性の順序付け及び／又は構成要素の復号順序を信号伝達し得る。更に、カプセル化ユニット３０は、宛先機器４０が復号及び／又はレンダリングのために構成要素のサンプルを適切に整合させることができるように、依存性を有する構成要素間の時間レイヤ差を信号伝達し得る。例えば、１つのビデオ構成要素は、２４fpsのフレームレート及び０に等しいtemporal_idと、１２fpsのサブレイヤとを有し得、別のビデオ構成要素は、３０fpsのフレームレート及び０に等しいtemporal_idと、７．５fpsのサブレイヤとを有し得る。
【００７８】
カプセル化ユニット３０は、表現を形成するための構成要素の組合せのための様々な可能な多重化間隔を信号伝達し得る。このようにして、宛先機器４０は、構成要素の前のセグメントが復号され、表示されている間に、構成要素の次回のセグメントのためのデータが検索されることを可能にするために、可能な多重化間隔のうちの１つを選択して、十分な時間期間内に様々な構成要素のためのデータを要求し得る。即ち、宛先機器４０は、バッファがオーバーフローされるほど事前にではないが、（ネットワーク状態の即時の変化がないと仮定して）再生の中断がないようにはるかに十分事前に、構成要素のためのデータを要求し得る。ネットワーク状態が変化した場合、宛先機器４０は、より多くの後続のデータの送信を待つ間、復号及びレンダリングのための十分な量のデータが検索されることを保証するために、構成要素を完全に切り替えるのではなく、異なる多重化間隔を選択し得る。カプセル化ユニット３０は、明示的に信号伝達された間隔又は間隔の範囲に基づく多重化間隔を信号伝達し得、構成要素マップボックス内でこれらの多重化間隔を信号伝達し得る。
【００７９】
幾つかの例では、発信源機器２０は、複数のバイト範囲を指定する要求を受信し得る。即ち、宛先機器４０は、ファイル内の様々な構成要素の多重化を達成するために、１つの要求において複数のバイト範囲を指定し得る。宛先機器４０は、構成要素が複数のファイル中にあるとき、複数の要求を送り得、要求のいずれか又は全ては、１つ以上のバイト範囲を指定し得る。一例として、宛先機器４０は、複数のＵＲＬ又はＵＲＮに対する複数のＨＴＴＰ  Ｇｅｔ要求又は部分Ｇｅｔ要求をサブミットし得、部分Ｇｅｔ要求のいずれか又は全ては、それらの要求のＵＲＬ又はＵＲＮ内の複数のバイト範囲を指定し得る。発信源機器２０は、宛先機器４０に要求されたデータを与えることによって応答し得る。幾つかの例では、発信源機器２０は、例えば、コモンゲートウェイインターフェース（ＣＧＩ）を実装して表現の構成要素を互いに多重化してファイルを動的に形成することによって動的多重化をサポートし得、発信源機器２０は、次いで、そのファイルを宛先機器４０に与え得る。
【００８０】
カプセル化ユニット３０はまた、構成要素マップボックスが対応するコンテンツの持続時間を指定し得る。デフォルトでは、宛先機器４０は、持続時間が信号伝達されないとき、構成要素マップボックスがコンテンツ全体に適用すると決定するように構成され得る。しかしながら、信号伝達された場合、宛先機器４０は、各々がコンテンツの異なる持続時間に対応する、コンテンツのための複数の構成要素マップボックスを要求するように構成され得る。カプセル化ユニット３０は、構成要素マップボックスを連続して一緒に又は別々のロケーションに記憶し得る。
【００８１】
場合によっては、構成要素の様々な部分（例えば、セグメント）は、別々のファイル（例えば、ＵＲＬ又はＵＲＮ取出し可能データ構造）に記憶され得る。そのような場合、ファイルの構成要素配置ボックス内でなど、各ファイル中の構成要素を識別するために同じ構成要素識別子が使用され得る。ファイルは、逐次タイミング情報、即ち、ファイルのうちの１つが他のファイルに直ちに続くことを示すタイミング情報を有し得る。宛先機器４０は、あるタイミング間隔と瞬時ビットレートとに基づいて、多重化されたフラグメントについての要求を生成し得る。宛先機器４０は、構成要素のフラグメント中のバイト数に基づいて瞬時ビットレートを計算し得る。
【００８２】
多くのビデオ符号化規格の場合と同様に、Ｈ．２６４／ＡＶＣは、誤りのないビットストリームのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれかは特定のプロファイル又はレベルに準拠する。Ｈ．２６４／ＡＶＣはエンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオ符号化規格のコンテキストにおいて、「プロファイル」は、アルゴリズム、機能、又はそれらに適用するツール及び制約のサブセットに対応する。例えば、Ｈ．２６４規格によって定義される「プロファイル」は、Ｈ．２６４規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、例えば、ピクチャの解像度、ビットレート、及びマクロブロック（ＭＢ）処理レートに関係するデコーダメモリ及び計算など、デコーダリソース消費の制限に対応する。プロファイルはprofile_idc（プロファイルインジケータ）値を用いて信号伝達され得、レベルはlevel_idc（レベルインジケータ）値を用いて信号伝達され得る。
【００８３】
Ｈ．２６４規格は、例えば、与えられたプロファイルのシンタックスによって課される限界内で、復号されたピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダ及びデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。Ｈ．２６４規格は、多くのアプリケーションにおいて、特定のプロファイル内でシンタックスの全ての仮定的使用を処理することが可能なデコーダを実装することが実際的でもなく、経済的でもないことを更に認識している。従って、Ｈ．２６４規格は、ビットストリーム中のシンタックス要素の値に課された制約の指定されたセットとして「レベル」を定義している。これらの制約は、値に関する単純な限界であり得る。代替的に、これらの制約は、値の演算の組合せ（例えば、ピクチャの幅×ピクチャ高さ×毎秒復号されるピクチャの数）に関する制約の形態をとり得る。Ｈ．２６４規格は、個別の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることを更に規定している。
【００８４】
プロファイルに準拠するデコーダは、通常、プロファイル中で定義された全ての機能をサポートする。例えば、符号化機能として、Ｂピクチャ符号化は、Ｈ．２６４／ＡＶＣのベースラインプロファイルではサポートされないが、Ｈ．２６４／ＡＶＣの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能である必要がある。プロファイル及びレベルの定義は、説明可能性のために役立ち得る。例えば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より詳細には、Ｈ．２６４／ＡＶＣでは、レベルは、例えば、処理する必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファ（ＤＰＢ）サイズと、符号化ピクチャバッファ（ＣＰＢ）サイズと、垂直動きベクトル範囲と、２つの連続するＭＢごとの動きベクトルの最大数と、Ｂブロックが８×８画素未満のサブマクロブロックパーティションを有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを決定し得る。
【００８５】
メディア表現は、異なる代替表現（例えば、異なる品質をもつビデオサービス）の記述を含んでいることがあるメディア表現記述（ＭＰＤ）を含み得、記述は、例えば、コーデック情報、プロファイル値、及びレベル値を含み得る。様々な表現のムービーフラグメントにアクセスする方法を決定するために、宛先機器４０はメディア表現のＭＰＤを検索し得る。ムービーフラグメントは、ビデオファイルのムービーフラグメントボックス（ｍｏｏｆボックス）中に配置され得る。
【００８６】
ITU-TH.261、H.262、H.263、MPEG-1、MPEG-2及びH.264/MPEG-4 part10などのビデオ圧縮規格は、時間冗長性を低減するために動き補償時間予測を利用する。エンコーダは、動きベクトルに従って現在の符号化ピクチャを予測するために、幾つかの前の（本明細書ではフレームとも呼ぶ）符号化ピクチャからの動き補償予測を使用する。典型的なビデオ符号化には３つの主要なピクチャタイプがある。それらは、イントラ符号化ピクチャ（「Ｉピクチャ」又は「Ｉフレーム」）と、予測ピクチャ（「Ｐピクチャ」又は「Ｐフレーム」）と、双方向予測ピクチャ（「Ｂピクチャ」又は「Ｂフレーム」）とである。Ｐピクチャは、時間順序で現在のピクチャの前の参照ピクチャのみを使用する。Ｂピクチャでは、Ｂピクチャの各ブロックは、１つ又は２つの参照ピクチャから予測され得る。これらの参照ピクチャは、時間順序で現在のピクチャの前又は後に位置し得る。
【００８７】
Ｈ．２６４符号化規格によれば、一例として、Ｂピクチャは、前に符号化された参照ピクチャの２つのリスト、即ち、リスト０とリスト１とを使用する。これらの２つのリストは、それぞれ、過去及び／又は将来の符号化ピクチャを時間順序で含むことができる。Ｂピクチャ中のブロックは、幾つかの方法、即ちリスト０参照ピクチャからの動き補償予測、リスト１参照ピクチャからの動き補償予測、又はリスト０参照ピクチャとリスト１参照ピクチャの両方の組合せからの動き補償予測のうちの１つで予測され得る。リスト０参照ピクチャとリスト１参照ピクチャの両方の組合せを得るために、２つの動き補償基準エリアが、それぞれリスト０参照ピクチャ及びリスト１参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用され得る。
【００８８】
ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、又は４×４、及びクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４、並びにクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、１６×（x）１６画素又は１６×（by）１６画素を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、Ｎは、非負整数値を表す。ブロック中の画素は行と列に構成され得る。ブロックは、水平寸法と垂直寸法とにおいて異なる数の画素を有し得る。即ち、ブロックはＮ×Ｍ画素を含み得、Ｎは必ずしもＭに等しいとは限らない。
【００８９】
１６×１６よりも小さいブロックサイズは１６×１６マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、画素領域中の画素データのブロックを備え得、又は、例えば、符号化ビデオブロックと予測ビデオブロックとの画素差分を表す残差ビデオブロックデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、若しくは概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００９０】
ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。一般に、マクロブロック、及びサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。更に、スライスは、マクロブロック及び／又はサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、又はフレームの他の部分が復号可能なユニットとして定義され得る。「符号化ユニット」又は「符号化ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ（ＧＯＰ）など、ビデオフレームの単独で復号可能な任意のユニット、又は適用可能な符号化技術に従って定義される別の単独で復号可能なユニットを指すことがある。
【００９１】
マクロブロックという用語は、１６×１６画素を備える２次元画素アレイに従ってピクチャ及び／又はビデオデータを符号化するためのデータ構造を指す。各画素はクロミナンス成分と輝度成分とを備える。従って、マクロブロックは、各々が８×８画素の２次元アレイを備える４つの輝度ブロックと、各々が１６×１６画素の２次元アレイを備える２つのクロミナンスブロックと、符号化ブロックパターン（ＣＢＰ）、符号化モード（例えば、イントラ（Ｉ）又はインター（Ｐ又はＢ）符号化モード）、イントラ符号化ブロックのパーティションのパーティションサイズ（例えば、１６×１６、１６×８、８×１６、８×８、８×４、４×８、又は４×４）、若しくはインター符号化マクロブロックのための１つ以上の動きベクトルなど、シンタックス情報を備えるヘッダとを定義し得る。
【００９２】
ビデオエンコーダ２８、ビデオデコーダ４８、オーディオエンコーダ２６、オーディオデコーダ４６、カプセル化ユニット３０、及びカプセル化解除ユニット３８は、それぞれ、適用可能なとき、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適な処理回路のいずれか、又はそれらの任意の組合せとして実装され得る。ビデオエンコーダ２８及びビデオデコーダ４８の各々は１つ以上のエンコーダ又はデコーダ中に含められ得、そのいずれかは複合ビデオエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。同様に、オーディオエンコーダ２６及びオーディオデコーダ４６の各々は１つ以上のエンコーダ又はデコーダ中に含められ得、そのいずれかは複合ＣＯＤＥＣの一部として統合され得る。ビデオエンコーダ２８、ビデオデコーダ４８、オーディオエンコーダ２６、オーディオデコーダ４６、カプセル化ユニット３０、及び／又はカプセル化解除ユニット３８を含む装置は、１つ以上の集積回路、マイクロプロセッサ、及び／又はセルラー電話などのワイヤレス通信機器の任意の組合せを備え得る。
【００９３】
カプセル化ユニット３０が、受信したデータに基づいてビデオファイルを組み立てた後、カプセル化ユニット３０はビデオファイルを出力のために出力インターフェース３２に渡す。幾つかの例では、カプセル化ユニット３０は、ビデオファイルをローカルに記憶するか、又はビデオファイルを直接宛先機器４０に送るのではなく、出力インターフェース３２を介してビデオファイルをリモートサーバに送り得る。出力インターフェース３２は、例えば、送信機、トランシーバ、例えば、オプティカルドライブ、磁気メディアドライブ（例えば、フロッピー（登録商標）ドライブ）など、コンピュータ可読媒体にデータを書き込むための機器、ユニバーサルシリアルバス（ＵＳＢ）ポート、ネットワークインターフェース、又は他の出力インターフェースを備え得る。出力インターフェース３２は、ビデオファイルを、例えば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、又は他のコンピュータ可読媒体など、コンピュータ可読媒体３４に出力する。出力インターフェース３２は、ＨＴＴＰ  Ｇｅｔ要求及び部分Ｇｅｔ要求に応答するためにＨＴＴＰ１．１を実装し得る。このようにして、発信源機器２０はＨＴＴＰストリーミングサーバとして働き得る。
【００９４】
最終的に、入力インターフェース３６はコンピュータ可読媒体３４からデータを検索する。入力インターフェース３６は、例えば、オプティカルドライブ、磁気媒体ドライブ、ＵＳＢポート、受信機、トランシーバ、又は他のコンピュータ可読媒体インターフェースを備え得る。入力インターフェース３６はデータをカプセル化解除ユニット３８に与え得る。カプセル化解除ユニット３８は、ビデオファイルの要素をカプセル化解除して符号化データを検索し、符号化データがオーディオ又はビデオ構成要素の一部であるかどうかに応じて、符号化データをオーディオデコーダ４６又はビデオデコーダ４８のいずれかに送り得る。オーディオデコーダ４６は、符号化オーディオデータを復号し、復号されたオーディオデータをオーディオ出力４２に送り、ビデオデコーダ４８は、符号化ビデオデータを復号し、複数のビューを含み得る復号されたビデオデータをビデオ出力４４に送る。
【００９５】
図２は、例示的なカプセル化ユニット３０の構成要素を示すブロック図である。図２の例では、カプセル化ユニット３０は、ビデオ入力インターフェース８０と、オーディオ入力インターフェース８２と、ファイル作成ユニット６０と、ビデオファイル出力インターフェース８４とを含む。ファイル作成ユニット６０は、この例では、構成要素アセンブリユニット６２と、構成要素マップボックスコンストラクタ６４と、構成要素配置（ａｒｒ’ｔ）ボックスコンストラクタ６６とを含む。
【００９６】
ビデオ入力インターフェース８０及びオーディオ入力インターフェース８２は、それぞれ符号化ビデオデータ及び符号化オーディオデータを受信する。ビデオ入力インターフェース８０及びオーディオ入力インターフェース８２は、データが符号化されると、符号化ビデオデータ及び符号化オーディオデータを受信するか、又は符号化ビデオデータ及び符号化オーディオデータをコンピュータ可読媒体から検索し得る。符号化ビデオデータ及び符号化オーディオデータを受信すると、ビデオ入力インターフェース８０及びオーディオ入力インターフェース８２は、ビデオファイルへのアセンブリのために符号化ビデオデータ及び符号化オーディオデータをファイル作成ユニット６０に受け渡す。
【００９７】
ファイル作成ユニット６０は、制御ユニットによる機能及びプロシージャを実行するように構成されたハードウェア、ソフトウェア、及び／又はファームウェアを含む制御ユニットに対応し得る。制御ユニットは、概して、カプセル化ユニット３０による機能を更に実行し得る。ファイル作成ユニット６０がソフトウェア及び／又はファームウェアで実施される例では、カプセル化ユニット３０は、ファイル作成ユニット６０（及び構成要素アセンブリユニット６２、構成要素マップボックスコンストラクタ６４、並びに構成要素配置ボックスコンストラクタ６６）に関連する１つ以上のプロセッサのための命令を備えるコンピュータ可読媒体と、命令を実行するための処理ユニットとを含み得る。ファイル作成ユニット６０のサブユニット（この例では、構成要素アセンブリユニット６２、構成要素マップボックスコンストラクタ６４、及び構成要素配置ボックスコンストラクタ６６）の各々は、個々のハードウェアユニット及び／又はソフトウェアモジュールとして実装され得、機能的に統合されるか、又は追加のサブユニットに更に分離され得る。
【００９８】
ファイル作成ユニット６０は、例えば、１つ以上のマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、又は任意のそれらの組合せなど、任意の好適な処理ユニット又は処理回路に対応し得る。ファイル作成ユニット６０は、構成要素アセンブリユニット６２、構成要素マップボックスコンストラクタ６４、及び構成要素配置ボックスコンストラクタ６６のいずれか又は全てのための命令を記憶する非一時的コンピュータ可読媒体、並びに命令を実行するためのプロセッサを更に含み得る。
【００９９】
概して、ファイル作成ユニット６０は、受信したオーディオ及びビデオデータを含む１つ以上のビデオファイルを作成し得る。構成要素アセンブリユニット６２は、受信した符号化ビデオ及びオーディオサンプルからコンテンツの構成要素を生成し得る。構成要素は、幾つかのセグメントに対応し得、セグメントの各々は１つ以上のビデオフラグメントを含み得る。セグメントの各々は、宛先機器４０などのクライアント機器によって独立して取出し可能であり得る。例えば、ファイル作成ユニット６０は、セグメントを含むファイルに、一意のＵＲＬ又はＵＲＮを割り当て得る。構成要素アセンブリユニット６２は、概して、同じ構成要素に属する符号化サンプルがその構成要素とともにアセンブルされることを保証し得る。構成要素アセンブリユニット６２はまた、コンテンツの各構成要素に、一意の構成要素識別子を割り当て得る。ファイル作成ユニット６０は、１つのファイル中に２つ以上の構成要素のためのデータを含み得、１つの構成要素は複数のファイルにまたがり得る。ファイル作成ユニット６０は、構成要素のためのデータをビデオファイル内のトラックとして記憶し得る。
【０１００】
構成要素マップボックスコンストラクタ６４は、本開示の技術に従ってマルチメディアコンテンツのための構成要素マップボックスを生成し得る。例えば、構成要素マップボックスはコンテンツの構成要素の特性を信号伝達し得る。これらの特性は、構成要素の平均ビットレート、構成要素の最大ビットレート、（構成要素がビデオ構成要素であると仮定して）構成要素の解像度及びフレームレート、他の構成要素への依存性、又は他の特性を含み得る。依存性が信号伝達されるとき、構成要素マップボックスコンストラクタ６４はまた、依存関係を有する構成要素間の時間レイヤ差を指定し得る。構成要素マップボックスはまた、潜在的な多重化間隔のセット又は構成要素のために利用可能な多重化間隔の範囲を信号伝達し得る。幾つかの例では、ファイル作成ユニット６０は、コンテンツのための符号化サンプルを含む全ての他のファイルとは別個のファイルに構成要素マップボックスを記憶し得る。他の例では、ファイル作成ユニット６０は、構成要素マップボックスをビデオファイルのうちの１つのヘッダ中に含め得る。
【０１０１】
デフォルトでは、構成要素マップボックスはコンテンツ全体に適用する。しかしながら、構成要素マップボックスがコンテンツの一部分のみに適用するとき、構成要素マップボックスコンストラクタ６４は、構成要素マップボックスが適用するコンテンツの持続時間を信号伝達し得る。構成要素マップボックスコンストラクタ６４は、次いで、静的モード又は動的モードでコンテンツのための複数の構成要素マップボックスを生成し得る。静的モードでは、構成要素マップボックスコンストラクタ６４は、構成要素マップボックスが対応するコンテンツの持続時間に対応する順序で、全ての構成要素マップボックスを一緒にグループ化する。動的モードでは、構成要素マップボックスコンストラクタ６４は、各構成要素マップボックスを異なる位置、例えば、異なるファイルに配置し得る。
【０１０２】
構成要素マップボックスはまた、メディアフラグメントが構成要素の新しいセグメントに属するかどうかを信号伝達し得る。構成要素の各セグメントは構成要素識別子を含むので、同じ構成要素に属するセグメントが別々のファイルに記憶されるときでも、それらのセグメントは識別され得る。構成要素マップボックスは、更に、構成要素のための符号化サンプルを含むファイル内の構成要素の部分についての信号タイミング情報を信号伝達し得る。従って、時間スプライシングが当然サポートされる。例えば、宛先機器４０などのクライアント機器は、２つの別個のファイルが同じ構成要素のためのデータを含むことと、２つのファイルの時間順序付けとを決定し得る。
【０１０３】
構成要素配置ボックスコンストラクタ６６は、ファイル作成ユニット６０によって生成された各ファイルのための構成要素配置ボックスを生成し得る。概して、構成要素配置ボックスコンストラクタ６６は、どの構成要素がファイル内に含まれるか、及び構成要素識別子とファイルのためのトラック識別子との間の対応を識別し得る。このようにして、構成要素配置ボックスは、コンテンツのための構成要素識別子とファイルのためのトラック識別子との間のマッピングを与え得る。トラック識別子は、マッピングにおいて指定されている構成要素のための符号化サンプルを有するファイルのトラックに対応し得る。
【０１０４】
構成要素配置ボックスはまた、各構成要素のフラグメントがファイルにどのように記憶されるかを示し得る。例えば、構成要素配置ボックスコンストラクタ６６は、ファイル中の構成要素のフラグメントのためのバイト範囲と、特定のフラグメントへのバイトオフセットと、メディアフラグメント中の第１のサンプルの復号時間と、ランダムアクセスポイントがフラグメント中に存在するかどうか、存在する場合、それの復号及びプレゼンテーション時間と、ランダムアクセスポイントがＩＤＲピクチャであるかＯＤＲピクチャであるかを指定し得る。
【０１０５】
ファイル作成ユニット６０がファイルを生成した後、ファイル出力インターフェース８４はファイルを出力し得る。幾つかの例では、ファイル出力インターフェース８４は、ハードディスクなどのコンピュータ可読記憶媒体にファイルを記憶し得る。幾つかの例では、ファイル出力インターフェース８４は、出力インターフェース３２（図１）を介して、サーバ、例えば、ＨＴＴＰ１．１を実装するＨＴＴＰストリーミングサーバとして働くように構成された別の機器にファイルを送り得る。幾つかの例では、ファイル出力インターフェース８４は、出力インターフェース３２が、例えば、ＨＴＴＰストリーミング要求に応答して、宛先機器４０などのクライアント機器にファイルを与えることができるように、ローカル記憶媒体にファイルを記憶し得る。
【０１０６】
図３は、例示的な構成要素マップボックス１００と構成要素配置ボックス１５２Ａとを示す概念図である。この例では、構成要素マップボックス１００は、ビデオ構成要素１１０とオーディオ構成要素１４０とを含む。構成要素マップボックス１１０自体が、ビデオ構成要素１１０とオーディオ構成要素１４０とのための信号伝達された特性を含むことに留意されたい。図２に関して上記したように、構成要素マップボックス１００及び構成要素配置ボックス１５２は、ファイル作成ユニット６０によって、例えば、それぞれ、構成要素マップボックスコンストラクタ６４及び構成要素配置ボックスコンストラクタ６６によって生成され得る。このようにして、カプセル化ユニット３０は、マルチメディアコンテンツの特性と、マルチメディアコンテンツのためのデータを含むファイルとを信号伝達し得る。例えば、ビデオ構成要素１１０は構成要素１１２の信号伝達された特性を含み、オーディオ構成要素１４０は構成要素１４２の信号伝達された特性を含む。この例に示すように、構成要素１１２Ａは構成要素特性１１４Ａを含む。
【０１０７】
構成要素特性１１４Ａは、この例では、ビットレート情報１１６と、解像度情報１１８と、フレームレート情報１２０と、コーデック情報１２２と、プロファイル及びレベル情報１２４と、依存性情報１２６と、セグメント情報１２８と、多重化間隔情報１３０と、３Ｄビデオ情報１３２とを含む。
【０１０８】
ビットレート情報１１６は、構成要素１１２Ａの平均ビットレートと最大ビットレートのいずれか又は両方を含み得る。ビットレート情報１１６はまた、平均及び／又は最大ビットレート情報が信号伝達されるかどうかを示すフラグを含み得る。例えば、ビットレート情報１１６は、平均ビットレートフラグと最大ビットレートフラグとを含み得、平均ビットレートフラグは、構成要素１１２Ａの平均ビットレートが信号伝達されるかどうかを示し、最大ビットレートフラグは、構成要素１１２Ａの最大ビットレートが信号伝達されるかどうかを示す。ビットレート情報１１６はまた、構成要素１１２Ａのための平均ビットレートを示す平均ビットレート値を含み得る。同様に、ビットレート情報１１６は、ある時間期間にわたる、例えば、１秒の間隔にわたる最大ビットレート値を示す最大ビットレート値を含み得る。
【０１０９】
解像度情報１１８は、例えば、ピクチャの画素幅と画素高さとに関する構成要素１１２Ａの解像度を記述し得る。場合によっては、構成要素１１２Ａの解像度情報１１８は明示的に信号伝達されないことがある。例えば、構成要素特性１１４Ａは、インデックスｉを有する構成要素が、インデックスｉ−１を有する同じコンテンツの構成要素と同じ特性を有するかどうかを示すデフォルト特性フラグを含み得る。特性が同じであることをフラグが示すとき、特性は、信号伝達される必要はない。デフォルト特性は、例えば、解像度、フレームレート、コーデック情報、プロファイル情報、及びレベル情報、又は構成要素マップボックス１００などの構成要素マップボックスによって信号伝達され得る特性の他の組合せなど、利用可能な特性のサブセットに対応し得る。幾つかの例では、構成要素の対応する特性が前の構成要素と同じであるかどうかを示す、各潜在的な構成要素のための個々のフラグが含まれる。
【０１１０】
フレームレート情報１２０は、幾つかの例では、上記で説明したようにデフォルト特性として指定され得る。代替的に、フレームレート情報１２０は構成要素１１２Ａのフレームレートを指定し得る。フレームレートは、ビデオ構成要素の２５６秒当たりのフレーム単位で指定され得る。コーデック情報１２２は、上記で説明したように、同じくデフォルト特性として指定され得る。代替的に、コーデック情報１２２は、構成要素１１２Ａを符号化するために使用されるエンコーダを指定し得る。同様に、プロファイル及びレベル情報１２４は、デフォルト特性として指定されるか、又は、例えば、プロファイルインジケータ（profile_idc）値及びレベルインジケータ（level_idc）値として明示的に指定され得る。
【０１１１】
依存性情報１２６は、構成要素１１２Ａが構成要素１１０の他の構成要素に依存するかどうかを示し得る。依存する場合、依存性情報１２６は、構成要素１１２Ａのための時間識別子を示す情報、及び構成要素１１２Ａのための時間識別子と、構成要素１１２Ａが依存する構成要素のための時間識別子との間の差を示す情報を含み得る。
【０１１２】
セグメント情報１２８は構成要素１１２Ａのセグメントを記述する。セグメントは、ファイル１５０などのファイルに記憶され得る。図３の例では、構成要素１１２Ａのセグメントのためのデータは、以下でより詳細に説明するように、ファイル１５０Ａに、詳細には、ビデオトラック１５８に記憶され得る。場合によっては、構成要素１１２Ａのためのセグメントは複数のファイルに記憶され得る。各セグメントは、１つ以上のフラグメントに対応し得る。各フラグメントについて、セグメント情報１２８は、フラグメントがランダムアクセスポイントを含むかどうかと、ランダムアクセスポイントのタイプ（例えば、ＩＤＲ又はＯＤＲ）と、フラグメントが新しいファイル（例えば、新しいセグメント）に対応するかどうかと、フラグメントの開始へのバイトオフセットと、フラグメントの第１のサンプルについてのタイミング情報（例えば、復号及び／又は表示時間）と、次のフラグメントへのバイトオフセットと、存在する場合、ランダムアクセスポイントへのバイトオフセットと、ＯＤＲ  ＲＡＰにおいてストリームを開始するときに復号をスキップすべきサンプルの数とを信号伝達し得る。
【０１１３】
多重化間隔情報１３０は、構成要素１１２Ａのための多重化間隔のセット又は範囲を指定し得る。３Ｄビデオ情報１３２は、構成要素１１２Ａが、例えば、同時又はほぼ同時にシーンの２つ以上のわずかに異なるビューを表示することによって３次元効果を生成するために使用されるべきときに含まれ得る。３Ｄビデオ情報１３２は、表示されるべきビューの数と、ビューに対応する構成要素のための識別子と、特定の基本ビデオ構成要素のための３Ｄ表現の開始時間と、３Ｄ表現の持続時間と、ターゲット解像度（例えば、最終的に表示されるときの３Ｄ表現のターゲット幅及びターゲット高さ）と、位置決め情報（例えば、表示ウィンドウにおける水平方向オフセット及び垂直方向オフセット）と、プレゼンテーションのための復号されたビデオ構成要素のレイヤを示すウィンドウレイヤと、透過率（transparent factor）とを含み得る。概して、より低いウィンドウレイヤ値は、関連するビデオ構成要素がより早くレンダリングされることになり、より高いレイヤ値をもつビデオ構成要素によって覆われ得ることを示し得る。透過性レベル情報はウィンドウレベル情報と組み合わせられ得る。構成要素が、より低いウィンドウレイヤ値を有する別の構成要素と組み合わせられるとき、他の構成要素中の各画素は、［透過レベル］／２５５の値で重み付けされ得、現在の構成要素中の同一場所に配置された画素は、（２５５−［透過レベル］）／２５５の値で重み付けされ得る。
【０１１４】
図３は、構成要素１１２、１４２と、構成要素１１２、１４２のためのデータを含む様々なファイル１５０との間の対応を示している。この例では、ファイル１５０Ａは、ビデオトラック１５８の形態のビデオ構成要素１１２Ａの符号化サンプルと、オーディオトラック１６０の形態のオーディオ構成要素１４２Ａの符号化サンプルとを含む。ファイル１５０Ａは構成要素配置ボックス１５２Ａをも含む。この例で更に示すように、構成要素配置ボックス１５２Ａは、構成要素対ビデオトラックマップ１５４と構成要素対オーディオトラックマップ１５６とを含む。構成要素対ビデオトラックマップ１５４は、構成要素１１２Ａのための構成要素識別子がファイル１５０Ａのビデオトラック１５８にマッピングされることを示す。同様に、構成要素対オーディオトラックマップ１５６は、構成要素１４２Ａのための構成要素識別子がファイル１５０Ａのオーディオトラック１６０にマッピングされることを示す。
【０１１５】
この例では、構成要素１１２Ｂはファイル１５０Ｂのビデオトラック１６２に対応し、構成要素１４２Ｂはファイル１５０Ｃのオーディオトラック１６４に対応する。従って、構成要素配置ボックス１５２Ｂは、構成要素１１２Ｂとビデオトラック１６２との間のマッピングを含み得、構成要素配置ボックス１５２Ｃは、構成要素１４２Ｂとオーディオトラック１６４との間のマッピングを含み得る。このようにして、クライアント機器は、どの構成要素を要求すべきか、ファイル１５０からの構成要素のための符号化データにどのようにアクセスすべきかを決定するために、構成要素マップボックス１００と構成要素配置ボックス１５２とを検索し得る。
【０１１６】
以下の擬似コードは、構成要素マップボックスのためのデータ構造の例示的な一実装形態である。
【０１１７】
aligned(8) class ComponentMapBox extends FullBox(‘cmmp’, version, 0) {
unsigned int(32) box_length;
unsigned int(64) content_ID;
unsigned int(32) timescale;
unsigned int(8) video_component_count;
unsigned int(8) audio_component_count;
unsigned int(8) other_component_count;
bit (1) first_cmmp_flag; //default 1
bit (1) more_cmmp_flag;  //defualt 0
bit (2) cmmp_byte_range_idc;
bit (1) multi_video_present_flag;
bit (2) multiplex_interval_idc;
bit (1) duration_signalled_flag;
bit (1) dynamic_component_map_mode_flag;
bit (7) reserved_bit; 
if (duration_signalled_flag) {
unsigned int (64) starting_time;
unsigned int (64) duration;
} 
for (i=1; i<= video_component_count; i++)   {
unsigned int(8)   component_ID;
bit (1) average_bitrate_flag;
bit (1) maximum_bitrate_flag;
bit (1) default_characteristics_flag;
bit (2) resolution_idc;
bit (2) frame_rate_idc; 
bit (2) codec_info_idc; 
bit (2) profile_level_idc; 
bit (1) dependency_flag;
bit (1) 3DVideo_flag;
bit (2) reserved_flag;
//bitrate
if (average_bitrate_flag)
unsigned int (32) avgbitrate;
if (maximum_bitrate_flage)
unsigned int (32) maxbitrate;
// resolution
if (!default_characteristics_flag) {
if (resolution_idc == 1) {
unsigned int (16) width;
unsigned int (16) height;
}
else if (resolution_idc == 2 )
unsigned int (8) same_cha_component_id;
// when resolution_idc equal to 0, the resolution is not specified, when the
// value equal to 3, it has the same resolution as the component with an 
// index of i-1. 
// frame rate
if (frame_rate_idc ==1 ) 
unsigned int (32) frame_rate;
else if ( frame_rate_idc == 2 )
usngined int (8) same_cha_component_id;
// when frame_rate_idc equal to 0, the frame rate is not specified, when the 
// value is equal to 3, it has the same frame rate as the component with an 
// index of i-1.
if (codec_info_idc == 1)
string [32] compressorname;
else if ( codec_info_idc == 2) 
unsingedn int (8) same_cha_component_id;
//profile_level
if (profile_level_idc == 1)
profile_level;
else if ( profile_level_idc == 2) 
unsigned int (8) same_cha_component_id  ; 
}
if (dependency_flag) {
unsigned int (8) dependent_comp_count;
bit (1)          temporal_scalability;
unsigned int (3) temporal_id;
bit (4)          reserved; 
for ( j=1 ; j<= dependent_comp_count ; j++) {
unsigned int (6) dependent_comp_id; 
if (temporal_scalability)
unsigned int (2) delta_temporal_id;
}
}
if (3DV_flag) {
unsigned int (8) number_target_views;
}
// segments 
if (cmmp_byte_range_idc > 0 ) {
unsigned int (16) entry_count_byte_range;
for(j=1; i <= entry_count; j++) { 
int (2)              contains_RAP;
int (1)              RAP_type;
bit (1)              new_file_start_flag;
int (4)              reserved;
unsigned int(32)  reference_offset;
unsigned int(32)  reference_delta_time;
if (cmmp_byt_rage_idc>0)
unsigned int (32)     next_fragment_offset;
if ( contain_RAP > 1 ) {
unsigned int(32) RAP_delta_time;
unsigned int(32) delta_offset;
}
if ( contain_RAP > 0 && RAP_type !=0 ) {
unsigned int(32) delta_DT_PT;
unsigned int(8)       number_skip_samples;
}
}
}
if (multiplex_interval_idc ==1) {
unsigned int (8) entry_count;
for (j=1; j<=entry_count;j++) 
unsigned int (32) multiplex_time_interval;
}
else if (multiplex_interval_idc == 2) {
unsigned int (32) min_muliplex_time_interval;
unsigned int (32) max_muliplex_time_interval;
}
}
if ( multi_video_present_flag ) {
unsigned int (8) multi_video_group_count;
for (i=1; i<= multi_video_group_count ; i++ ) {
unsigned int (8) basic_video_component_id; 
unsigned int (8) extra_video_component_count;
int (64) media_time; 
int (64) duration;
for (j=1; j<= extra_video_component_count ; j++ )
unsigned int (8) component_id;
for (j=0; j<= extra_video_component_count ; j++ ) {
unsigned int (16) target_width;
unsigned int (16) target_height;
unsigned int (16) horizontal_offset;
unsigned int (16) vertical_offset;
unsigned int (4) window_layer; 
unsigned int (8) transparent_level;
}
}
}
for (i=1; i<= audio_component_count; i++) {
unsigned int(8)   component_ID;
bit (1) average_bitrate_flag;
bit (1) maximum_bitrate_flag;
bit (2) codec_info_idc; 
bit (2) profile_level_idc; 
...
// similar to the syntax table for video components
}
}
擬似コード要素のセマンティクスは、この例では、以下の通りである。他の例では、他の変数名及びセマンティクスが構成要素マップボックスの要素に割り当てられ得ることを理解されたい。この例では、box_lengthは、バイト単位で構成要素マップボックスの長さを示す。content_IDは、ストリーミングサーバが与えるコンテンツの一意の識別子を指定する。
【０１１８】
timescaleは、サービス全体のための時間スケールを指定する整数である。これは、１秒間に過ぎる時間単位の数である。例えば、６０分の１秒単位で時間を測定する時間座標系は、６０の時間スケールを有する。
【０１１９】
video_component_countは、構成要素マップボックスに対応するサービスが与えることができる代替ビデオ構成要素の数を指定する。このボックスにおいて定義されている任意の２つのビデオ構成要素は、互いに切り替えられ得る。複数の表現からなるビデオプレゼンテーションがある場合、そのようなプレゼンテーションは、代替ビデオ構成要素グループに属する１つの構成要素を含んでいることがある。
【０１２０】
audio_component_countは、構成要素マップボックスに対応するサービスが与えることができる代替オーディオ構成要素の数を指定する。このボックスにおいて定義されている任意の２つのオーディオ構成要素は、互いに切り替えられ得る。other_component_countは、構成要素マップボックスに対応するサービスの他の構成要素の数を指定する。
【０１２１】
first_cmmp_flagは、この構成要素マップボックスが、関連するサービスのための同じタイプの第１のボックスであるかどうかを示す。more_cmmp_flagは、この構成要素マップボックスが、関連するサービスのための同じタイプの最後のボックスであるかどうかを示す。
【０１２２】
０に等しい値を有するcmmp_byte_range_idcは、バイト範囲及びタイミング情報が構成要素マップボックス中で信号伝達されないことを示す。０よりも大きい値を有するcmmp_byte_range_idcは、バイト範囲及びタイミング情報が構成要素マップボックス中で信号伝達されることを示す。１に等しい値を有するcmmp_byte_range_idcは、構成要素のセグメントの開始バイトオフセットのみが信号伝達されることを示す。２に等しい値を有するcmmp_byte_range_idcは、構成要素のセグメントの開始バイトオフセットと終了バイトオフセットの両方が信号伝達されることを示す。
【０１２３】
temporal_scalabilityは、現在の構成要素が、それらのうちの少なくとも１つがより低いtemporal_idを有する後続の信号伝達されたコンテンツ構成要素に依存するかどうかを示す。temporal_idは、現在の構成要素の時間識別子を示す。temporal_id値は、temporal_scalability値が０に等しい場合、無視され得る。delta_temporal_idは、現在の構成要素のサンプルの全ての最も高い時間識別子値と依存構成要素の最も高い時間識別子値との差を示す。
【０１２４】
１に等しい値を有するmulti_video_present_flagは、２つ以上の復号されたビデオ構成要素からレンダリングされるビデオプレゼンテーションがあることを示す。例えば、ピクチャインピクチャの場合、multi_video_present_flagは０に等しい値を有し得、これは、２つ以上の復号されたビデオ構成要素によってレンダリングされるビデオプレゼンテーションがないことを示し得る。
【０１２５】
０に等しい値を有するmultiplex_interval_idcは、多重化間隔が信号伝達されないことを示す。１に等しい値を有するmultiplex_interval_idcは、多重化間隔のリストが信号伝達されることを示す。２に等しい値を有するmultiplex_interval_idcは、多重化間隔の範囲が信号伝達されることを示す。
【０１２６】
duration_signalled_flagは、構成要素マップボックスが対応するサービスの持続時間が信号伝達されるか否かを示す。持続時間が信号伝達されない場合（例えば、duration_signalled_flagが０に等しい値を有するとき）、現在の構成要素マップボックスは、サービス全体に適用すると見なされる。
【０１２７】
dynamic_component_map_mode_flagは、現在の構成要素マップボックスのために動的モードがサポートされるかどうかを示す。１に等しい値を有するdynamic_component_map_mode_flagは静的モードを示し、同じサービスの次の構成要素マップボックスは、それが存在する場合、同じファイル中の現在の構成要素マップボックスの直後にくる。０に等しい値を有するdynamic_component_map_mode_flagは動的モードを示し、従って、同じサービスの次の構成要素マップボックスは、異なる手段によって後でクライアントに送信される。例えば、次の構成要素マップボックスは後続のファイルのムービーボックス中に含まれ得る。
【０１２８】
starting_timeは、現在の構成要素マップボックスが適用するサービスの開始時間を示す。durationは、現在の構成要素マップボックスが適用するコンテンツの持続時間を示す。
【０１２９】
component_IDは構成要素の一意の識別子である。average_bitrate_flagは、関連する構成要素の平均ビットレートが信号伝達されるかどうかを示す。maximum_bitrate_flagは、最大ビットレートが、関連する構成要素のために信号伝達されるかどうかを示す。図３のビットレート値１１６は、擬似コード中のaverage_bitrate_flagとmaximum_bitrate_flagのいずれか又は両方に対応し得る。default_characteristics_flagは、解像度、フレームレート、コーデック情報、プロファイル及びレベルの特性について、インデックスｉをもつ現在の構成要素が、インデックスｉ−１をもつ構成要素と同じ値を有するかどうかを示す。
【０１３０】
０に設定されたresolution_idc/frame_rate_idc/codec_info_idc/profile_level_idc値は、関連するビデオ構成要素の（それぞれ）解像度、フレームレート、コーデック情報、プロファイル、及び／又はレベルが信号伝達されないことを示す。resolution_idcは、図３の解像度値１１８に対応し得る。frame_rate_idcは、図３のフレームレート値１２０に対応し得る。codec_info_idcは、図３のコーデック情報値１２２に対応し得る。profie_level_idcは、図３のプロファイル／レベル値１２４に対応し得る。１に設定されたこれらの値は、関連するビデオ構成要素の（それぞれ）解像度、フレームレート、コーデック情報、プロファイル、又はレベルが、インデックスｉ−１をもつビデオ構成要素と同じであることを示す。２に設定されたこれらの値のいずれも、それぞれの値が、値「same_cha_component_id」を使用して信号伝達される１つの特定のビデオ構成要素に等しいことを示す。
【０１３１】
dependency_flagは、現在のビデオ構成要素の依存性が信号伝達されるかどうかを示す。構成要素が他のビデオ構成要素に依存することをdependency_flagが示すとき、現在の構成要素が依存する構成要素も信号伝達され得る。即ち、依存性が信号伝達される場合、対応するビデオ構成要素は、信号伝達されたビデオ構成要素に依存する。dependency_flag値は、現在の構成要素が依存する信号伝達されたビデオ構成要素とともに、図３の依存性値１２６に対応し得る。
【０１３２】
3DVideo_flagは、現在のビデオ構成要素が、３Ｄ表現を与えるＭＶＣ又は他のビデオコンテンツに関係するかどうかを示す。number_target_viewsは、例えば、ＭＶＣ（マルチビュービデオ符号化）で符号化された３Ｄビデオ構成要素を復号するときの、出力の対象にされるビューの数を指定する。entry_count_byte_rangeは、関連する構成要素のために信号伝達されるフラグメントの数を指定する。3DVideo_flag、number_target_views、及びentry_count_byte_rangeは、概して、図３の３Ｄビデオ情報値１３２に対応し得る。
【０１３３】
avgbitrateは、関連する構成要素の平均ビットレートを示す。maxbitrateは、１秒の任意の間隔において計算される関連する構成要素の最大ビットレートを示す。width及びheightは、ルーマ画素単位で、復号されたビデオ構成要素の解像度を示す。
【０１３４】
same_resl_component_idは、関連するビデオ構成要素の同じ特定の特性（解像度又はフレームレート又はコーデック情報、又はプロファイル及びレベル）を有するビデオ構成要素の構成要素識別子を示す。
【０１３５】
frame_rateは、２５６秒当たりのフレーム単位で、ビデオ構成要素のフレームレートを示す。compressornameは、コーデックのブランド、例えば、「avc1」を示す４バイト値である。それは、ファイルタイプボックスのmajor_brandと同じセマンティクスを有する。profile_levelは、現在のビデオ構成要素を復号するために必要とされるプロファイル及びレベルを示す。dependent_comp_countは、関連するビデオ構成要素のための依存ビデオ構成要素の数を示す。
【０１３６】
dependent_comp_idは、関連するビデオ構成要素が依存するビデオ構成要素のうちの１つの構成要素識別子を指定する。同じ時間インスタンスにおいて、異なるコンテンツ構成要素中のサンプルは、コンテンツ構成要素のインデックスの昇順で順序付けされ得る。即ち、インデックスｊをもつサンプルは、インデックスｊ＋１をもつサンプルよりも前に配置され得、現在のコンテンツ構成要素のサンプルは、時間インスタンスにおける最後のサンプルであり得る。
【０１３７】
contains_RAPは、構成要素のフラグメントがランダムアクセスポイントを含んでいるかどうかを示す。contains_RAPは、フラグメントがランダムアクセスポイントを含んでいない場合、０に設定される。contains_RAPは、フラグメントが、フラグメント中の第１のサンプルとしてランダムアクセスポイントを含んでいる場合、１に設定される。contains_RAPは、ランダムアクセスポイントがフラグメントの第１のサンプルでない場合、２に設定される。RAP_typeは、ムービーフラグメントの参照されたトラック中に含まれているランダムアクセスポイント（ＲＡＰ）のタイプを指定する。RAP_typeは、ランダムアクセスポイントが瞬時デコーダリフレッシュ（ＩＤＲ：instantaneous decoder refresh）ピクチャである場合、０に設定される。RAP_Typeは、ランダムアクセスポイントがオープンＧＯＰランダムアクセスポイント、例えば、オープンデコーダリフレッシュ（ＯＤＲ：open decoder refresh）ピクチャである場合、１に設定される。
【０１３８】
new_file_start_flagフラグは、フラグメントがファイル中の対応する構成要素の第１のフラグメントであるかどうかを示す。これは、現在の示されたフラグメントが新しいファイル中にあることを暗示する。この信号伝達は、サーバにおいて比較的小さいサイズのファイルが使用されるか、又は時間スプライシングが使用されるときに有益であり得る。
【０１３９】
reference_offsetは、フラグメントを含んでいるファイル中のフラグメントの開始バイトへのオフセットを示す。reference_delta_timeは、関連するフラグメントの復号時間を示す。next_fragment_offsetは、フラグメントを含んでいるファイル中の関連するビデオ構成要素の次のフラグメントの開始バイトオフセットを示す。RAP_delta_timeは、第１のＩＤＲランダムアクセスポイントとフラグメントの第１のサンプルとの間の復号時間差を示す。delta_offsetは、フラグメントの第１のサンプルのバイトオフセットとランダムアクセスポイントのバイトオフセットとの間のバイトオフセット差を示す。
【０１４０】
delta_DT_PTは、ＯＤＲであるＲＡＰ（オープンＧＯＰランダムアクセスポイント）のための復号時間とプレゼンテーション時間との差を示す。number_skip_samplesは、ムービーフラグメントの参照されたトラックの第１のＲＡＰであり得るＯＤＲより前のプレゼンテーション時間とＯＤＲ後の分解時間とを有するサンプル数を示す。デコーダが、ＯＤＲで開始するストリームを受信した場合、デコーダは、これらのサンプルの復号をスキップし得ることに留意されたい。contains_RAP、RAP_type、new_file_start_flag、reference_offset、refrence_delta_time、next_fragment_offset、RAP_delta_time、delta_offset、delta_DT_PT、及びnumber_skip_samplesは、概してセグメント情報１２８に対応し得る。
【０１４１】
multiplex_time_intervalは、時間スケール単位で、関連するビデオ構成要素のための多重化間隔を示す。ビデオ構成要素が概して多重化間隔情報に関連するが、オーディオ構成要素についての多重化間隔情報も信号伝達され得る。multiplex_time_intervalは、図３の多重化間隔値１３０に対応し得る。min_muliplex_time_interval及びmax_muliplex_time_intervalは、時間スケール単位で、関連するビデオ構成要素のための多重化間隔の範囲を示す。multi_video_group_countは、複数の復号されたビデオ構成要素の組合せとして表示されるべきビデオプレゼンテーションの数を指定する。
【０１４２】
basic_video_component_idは、基本ビデオ構成要素の構成要素識別子を指定する。信号伝達される他の追加のビデオ構成要素は、基本ビデオ構成要素とともに、１つの代替ビデオプレゼンテーションと見なされる。例えば、「ビデオ構成要素のvideo_component_countについて」の前のループがＣＩＤ０、１、２、３、４、５、６を有する７つのビデオ構成要素を含むと仮定する。番号３をもつbasic_video_component_idと２つの追加のビデオ構成要素５及び６とがあると更に仮定する。その場合、｛０｝、｛１｝、｛２｝、｛３，５，６｝及び｛４｝のプレゼンテーションのグループのみが互いの代替になる。
【０１４３】
media_timeは、basic_video_component_idの識別子を有する基本ビデオ構成要素をもつマルチビデオ表現の開始時間を示す。durationは、basic_video_component_idの識別子を有する基本ビデオ構成要素をもつマルチビデオプレゼンテーションの持続時間を指定する。target_width及びtarget_heightは、このマルチビデオプレゼンテーション中のビデオ構成要素のターゲット解像度を指定する。これがビデオの元の解像度と同じでない場合、宛先機器はスケーリングを実行し得ることに留意されたい。
【０１４４】
horizontal_offset及びvertical_offsetは、表紙ウィンドウにおける水平及び垂直オフセットでオフセットを指定する。window_layerは、プレゼンテーションのための復号されたビデオ構成要素のレイヤを示す。より低いレイヤ値は、関連するビデオ構成要素がより早くレンダリングされ、より高いレイヤ値をもつビデオ構成要素によって覆われ得ることを示し得る。復号されたビデオ構成要素は、window_layer値の昇順でレンダリングされ得る。
【０１４５】
transparent_levelは、この復号されたビデオが、現在のビデオ構成要素よりも低いwindow_layerと組み合わせられるときに使用される透過率を示す。各画素について、既存の画素は、transparent_level/255の値で重み付けされ得、現在の復号されたビデオ構成要素中の同一場所に配置された画素は、（255-transparent_level）/255の値で重み付けされ得る。
【０１４６】
以下の擬似コードは、構成要素配置ボックスのためのデータ構造の例示的な一実装形態である。
【０１４７】
aligned(8) class ComponentArrangeBox extends FullBox(‘cmar’, version, 0) {
unsigned int(64) content_ID;
unsigned int(8) component_count;
bit (1) track_map_flag;
bit (1) sub_fragment_flag; 
bit (1) agg_fragment_flag;
for (i=1; i<= component_count; i++) {
unsigned int(8)   component_ID;     
if (track_map_flag)
unsigned int(32) track_id;
}
if (sub_fragment_flag) {
unsigned int (8) major_component_count;
for (i=1; i<= major_component_count; i++) {
unsigned int(8) full_component_ID;
unsigned int(8) sub_set_component_count;
for (j=1; j< sub_set_component_count; j++)
unsigned int(8) sub_set_component_ID;
}
}
if (agg_fragment_flag) {
unsigned int (8) aggregated_component_count;
for (i=1; i<= aggregated_component_count; i++) {
unsigned int (8) aggr_component_id;
for (j=1; j<= dependent_component_count; j++)
unsigned int (8) depenedent_component_ID;
}
}
}
擬似コード要素のセマンティクスは、この例では、以下の通りである。他の例では、他の変数名及びセマンティクスが構成要素配置ボックスの要素に割り当てられ得ることを理解されたい。
【０１４８】
component_countは、現在のファイル中の構成要素の数を指定する。track_map_flagは、このファイル中のトラックと、content_IDのサービス識別子をもつサービスの構成要素とのマッピングが信号伝達されるかどうかを示す。
【０１４９】
sub_fragment_flagは、このファイル中のサブトラックと構成要素とのマッピングが信号伝達されるかどうかを示す。agg_fragment_flagは、このファイル中のトラックアグリゲーションと構成要素とのマッピングが信号伝達されるかどうかを示す。major_component_countは、ファイル中の全てのサンプルを含んでいる主要構成要素の数を示す。
【０１５０】
component_ID値は、各ムービーフラグメント中の各構成要素の第１のサンプルの順序で、ファイルに記憶された主要構成要素の識別子を示す。track_idは、component_IDの構成要素識別子をもつ構成要素に対応するトラックの識別子を示す。
sub_set_component_countは、full_component_IDのcomponent_idをもつ構成要素のフルセットを形成するサブ構成要素の数を示す。sub_set_component_IDは、full_component_IDのcomponent_idをもつ構成要素のフルセットを形成するサブ構成要素のcomponent_id値を指定する。同じ構成要素のいずれの２つのサブ構成要素も、重複するサンプルを有しない。
【０１５１】
幾つかの例では、aggregated_component_countは、ファイル中の他の構成要素からアグリゲートされるコンテンツ構成要素の数を示す。幾つかの例では、aggregated_component_countは、aggr_component_idの構成要素識別子をもつアグリゲートコンテンツ構成要素をアグリゲートするために必要とされる依存構成要素の数を示す。aggr_component_idは、アグリゲートされた構成要素の構成要素識別子を指定する。depenedent_component_IDは、aggr_component_idのidをもつ構成要素をアグリゲートするために使用される構成要素の構成要素ｉｄを指定する。
【０１５２】
以下の表１に、本開示の技術に一致するシンタックスオブジェクトの別の例示的なセットを示す。「要素又は属性名」列は、シンタックスオブジェクトの名前を表す。「タイプ」列は、シンタックスオブジェクトが要素であるか属性であるかを表す。「基数」列は、シンタックスオブジェクトの基数、即ち、表１に対応するデータ構造のインスタンスにおけるシンタックスオブジェクトのインスタンスの数を表す。「随意性（optionality）」列は、シンタックスオブジェクトが随意であるかどうかを表し、この例では、「Ｍ」が必須を示し、「Ｏ」は随意を示し、「ＯＤ」はデフォルト値で随意を示し、「ＣＭ」は条件付きで必須を示す。「説明」列は、対応するシンタックスオブジェクトのセマンティクスを表す。
【表１−１】
0005866354.tif 000002
【表１−２】
0005866354.tif 000003
【表１−３】
0005866354.tif 000004
【表１−４】
0005866354.tif 000005
【表１−５】
0005866354.tif 000006
【表１−６】
0005866354.tif 000007
【表１−７】
0005866354.tif 000008
【表１−８】
0005866354.tif 000009
【０１５３】
図３の例に関して、クライアント機器は、ビデオ構成要素１１０とオーディオ構成要素１４０との特性についての情報を含む構成要素マップボックス１００を要求し得る。例えば、構成要素１１２Ａは構成要素特性１１４Ａによって記述される。同様に、他の構成要素の各々は、構成要素特性１１４Ａと同様の構成要素特性情報によって記述され得る。クライアント機器はまた、構成要素識別子と、ビデオトラック１５８、１６２及びオーディオトラック１６０、１６４など、オーディオ及びビデオデータのトラックとの間のマッピングを記述する構成要素配置ボックス１５２を検索し得る。このようにして、構成要素マップボックス１００は、オーディオ及びビデオデータの符号化サンプルを含むファイル１５０とは別個に記憶される。クライアント機器は、構成要素マップボックス１００と構成要素配置ボックス１５２とのデータを使用して、コンテンツの表現を選択し、例えば、ＨＴＴＰストリーミングなどのネットワークストリーミングプロトコルに従って、選択された構成要素のセグメントを要求し得る。
【０１５４】
図４は、多重化ビデオ構成要素１８０とオーディオ構成要素１８４とのための例示的なタイミング間隔１９０を示す概念図である。この例では、表現は、ビデオ構成要素１８０とオーディオ構成要素１８４とを含む。ビデオ構成要素１８０はビデオフラグメント１８２Ａ〜１８２Ｄ（ビデオフラグメント１８２）を含み、オーディオ構成要素１８４はオーディオフラグメント１８６Ａ〜１８６Ｃ（オーディオフラグメント１８６）を含む。ビデオフラグメント１８２は符号化ビデオサンプルを含み得、オーディオフラグメント１８６は符号化オーディオサンプルを含み得る。
【０１５５】
ビデオフラグメント１８２及びオーディオフラグメント１８６は、それぞれビデオ構成要素１８０及びオーディオ構成要素１８４内に復号時間順序で配置され得る。図４の軸１８８は、ビデオ構成要素１８０とオーディオ構成要素１８４とについての復号時間情報を示す。この例では、復号時間は、軸１８８によって示されるように左から右に増加する。従って、クライアント機器は、例えば、ビデオフラグメント１８２Ｂの前にビデオフラグメント１８２Ａを復号し得る。
【０１５６】
図４はまた、１秒の例示的なタイミング間隔１９０を示している。本開示の技術によれば、ビデオ構成要素１８０とオーディオ構成要素１８４とのための構成要素マップボックスは、タイミング間隔１９０がタイミング間隔の潜在的なセットのうちの１つであることを示し得るか、又はタイミング間隔１９０を含むタイミング間隔の範囲を示し得る。クライアント機器は、この情報を使用して、バッファオーバーフローを回避するとともに、情報の次のセットがネットワーク上でストリーミングされ得る前に復号され得る十分な量のデータがバッファされることを保証するような形で、ビデオ構成要素１８０とオーディオ構成要素１８４とからのフラグメントを要求し得る。
【０１５７】
上記のように、本開示は、クライアントがデータをサーバに連続的に要求し、データが検索されるにつれて、データを復号し、レンダリングするネットワークストリーミング状況に関する。例えば、ビデオフラグメント１８２Ａとオーディオフラグメント１８６Ａとのデータを復号し、レンダリングしながら、クライアント機器は、ビデオフラグメント１８２Ｂとオーディオフラグメント１８６Ｂとを要求し得る。図４の例に示すように、ビデオフラグメント１８２とオーディオフラグメント１８６とは、必ずしも時間的に整合されるとは限らない。従って、クライアント機器は、ビデオ構成要素１８０とオーディオ構成要素１８４との後続のフラグメントのデータをいつ要求すべきかを決定するためにタイミング間隔情報を使用し得る。
【０１５８】
概して、クライアント機器は、次のタイミング間隔内の開始復号時間を有するフラグメントを検索するように構成され得る。構成要素が、次のタイミング間隔内の開始復号時間を有するフラグメントを含む場合、クライアントはそのフラグメントを要求し得る。そうでない場合、クライアントは、後続のタイミング間隔まで、構成要素からのデータについての要求をスキップし得る。
【０１５９】
図４の例では、タイミング間隔１９０は１秒に等しい。ビデオ構成要素１８０のビデオフラグメント１８２の復号時間値は、この例では、ビデオフラグメント１８２ＡについてはＮ−１秒、ビデオフラグメント１８２ＢについてはＮ＋１．２秒、ビデオフラグメント１８２ＣについてはＮ＋２．１秒、ビデオフラグメント１８２ＤについてはＮ＋３．３であり得る。オーディオ構成要素１８４のオーディオフラグメント１８６の復号時間値は、この例では、オーディオフラグメント１８６ＡについてはＮ−０．２秒、オーディオフラグメント１８６ＢについてはＮ＋１．３秒、オーディオフラグメント１８６ＣについてはＮ＋３．２秒であり得る。
【０１６０】
一例として、宛先機器４０における次回のローカル復号時間がＮ＋２秒であると仮定する。従って、宛先機器４０は、どの構成要素フラグメントがＮ＋２秒とＮ＋３秒との間の復号時間、即ち、ローカル復号時間＋タイミング間隔１９０を有するかを決定し得る。Ｎ＋２秒とＮ＋３秒との間の開始復号時間を有する構成要素のフラグメントは、要求されるべき次のフラグメントに対応し得る。この例では、ビデオフラグメント１８２Ｃは、Ｎ＋２秒とＮ＋３秒との間の復号時間を有する。従って、宛先機器４０は、ビデオフラグメント１８２Ｃを検索するための要求、例えば、ビデオフラグメント１８２Ｃのバイト範囲を指定するＨＴＴＰ部分Ｇｅｔ要求をサブミットし得る。オーディオフラグメント１８６のいずれもＮ＋２とＮ＋３との間の復号時間を有しないので、宛先機器４０は、オーディオフラグメント１８６のいずれについても要求をまだサブミットしないであろう。
【０１６１】
別の例として、次回のローカル復号時間がＮ＋３秒であるとき、宛先機器４０は、ビデオフラグメント１８２Ｄとオーディオフラグメント１８６Ｃとについての要求をサブミットし得る。即ち、ビデオフラグメント１８２Ｄ及びオーディオフラグメント１８６Ｃは、Ｎ＋３秒とＮ＋４秒との間の復号時間を有する。従って、宛先機器４０は、ビデオフラグメント１８２Ｄとオーディオフラグメント１８６Ｃとについての要求をサブミットし得る。
【０１６２】
更に別の例として、代わりにタイミング間隔１９０が２秒であると仮定する。ローカル復号時間がＮ＋１秒である場合、宛先機器４０は、ビデオフラグメント１８２Ｂ及び１８２Ｃとオーディオフラグメント１８６ＢとがＮ＋１秒とＮ＋３秒との間の復号時間を有することを最初に決定し得る。従って、宛先機器４０は、ビデオフラグメント１８２Ｂ及び１８２Ｃとオーディオフラグメント１８６Ｂとについての要求をサブミットし得る。
【０１６３】
図５は、サーバからクライアントに構成要素マップボックスと構成要素配置ボックスとを与えるための例示的な方法を示すフローチャートである。図５はまた、構成要素マップボックスと構成要素配置ボックスとを使用して、プレゼンテーションを形成するために構成要素を選択することと、選択された構成要素の符号化サンプルを要求することとを行うための例示的な方法を示している。概して、図１の発信源機器２０と宛先機器４０とに関して説明するが、他の機器が図５の技術を実装し得ることを理解されたい。例えば、ストリーミングプロトコルを介して通信するように構成された任意のサーバ及びクライアントが、これらの技術を実装し得る。
【０１６４】
初めに、発信源機器２０は、符号化ビデオサンプルを受信する（２００）。発信源機器２０は、符号化オーディオサンプルをも受信し得る。受信したサンプルは共通のコンテンツに対応する。受信したサンプルはコンテンツの様々な構成要素に対応し得る。発信源機器２０は、サンプルがどの構成要素に対応するかを決定し得る。発信源機器２０はまた、コンテンツの構成要素としてサンプルを１つ以上のファイルに記憶する（２０２）。発信源機器２０は、構成要素が１つ以上のフラグメントを含み得、同じ構成要素のフラグメントが別々のファイルに記憶され得るように、フラグメントの形態でサンプルを配置し得る。
【０１６５】
コンテンツの構成要素を１つ以上のファイルに記憶した後に、発信源機器２０は、ファイルの各々のための構成要素配置ボックスを生成する（２０４）。上記で説明したように、構成要素配置ボックスは、構成要素識別子とファイルのトラック識別子との間のマッピングを与え得る。発信源機器２０はまた、コンテンツの構成要素の全てを記述する構成要素マップボックスを生成する（２０６）。上記で説明したように、構成要素マップボックスは、例えば、ビットレート、フレームレート、解像度、コーデック情報、プロファイル及びレベル情報、構成要素間の依存性、セグメント情報、多重化間隔、コンテンツの構成要素内のフラグメントのバイト範囲を記述するセグメント情報、及び／又は３Ｄビデオ情報など、コンテンツの構成要素の特性を記述し得る。
【０１６６】
幾つかの例では、発信源機器２０は、符号化ビデオサンプルと構成要素配置ボックスとを含むファイル、及び構成要素マップボックスを発信源機器２０内にローカルに記憶し得る。他の例では、発信源機器２０は、ストリーミングネットワークプロトコルを介してクライアントに与えられるべきファイルと構成要素マップボックスとを別個のサーバ機器に送り得る。図５の例では、発信源機器２０がファイルを記憶し、ＨＴＴＰストリーミングなどのストリーミングネットワークプロトコルを実装すると仮定する。
【０１６７】
従って、宛先機器４０は、構成要素マップボックスと構成要素配置ボックスとを発信源機器２０に要求する（２０８）。例えば、宛先機器４０は、ＨＴＴＰストリーミングに従って、構成要素マップボックスと構成要素配置ボックスとについての要求、例えば、コンテンツに関連するＵＲＬに向けられたＨＥＡＤ要求を発信源機器２０に送り得る。要求を受信（２１０）したことに応答して、発信源機器２０は、宛先機器４０に構成要素マップボックスと構成要素配置ボックスとを与える（２１２）。
【０１６８】
構成要素マップボックスと構成要素配置ボックスとを受信（２１４）した後に、宛先機器４０は、構成要素マップボックス内に含まれているデータに基づいて、要求すべき構成要素を決定し得る。例えば、宛先機器４０は、解像度と、フレームレートと、コーデック情報と、プロファイル及びレベル情報と、３Ｄビデオ情報とに基づいて、宛先機器４０が特定の構成要素を復号し、レンダリングすることが可能であるかどうかを決定し得る。宛先機器４０はまた、利用可能な帯域幅などの現在のネットワーク状態を決定し、現在のネットワーク状態に基づいて構成要素を選択し得る。例えば、宛先機器４０は、より少ない帯域幅が利用可能であるときに、比較的より低いビットレートを有する構成要素を選択するか、又はより多くの帯域幅が利用可能であるときに、比較的より高いビットレートを有する構成要素を選択し得る。別の例として、宛先機器４０は、現在のネットワーク状態に基づいて多重化間隔を選択し、変化するネットワーク状態に適応するために、ボックスによって示される可能な多重化間隔に基づいて多重化間隔を変更し得る。選択された構成要素が別の構成要素に依存する場合、宛先機器４０は、選択された構成要素と、選択された構成要素が依存する構成要素の両方を要求し得る。
【０１６９】
要求すべき構成要素を選択した後に、宛先機器４０は、受信した構成要素配置ボックスに基づいて、選択された構成要素のためのデータを記憶するファイルを決定する（２１８）。例えば、宛先機器４０は、ファイルが、選択された構成要素の構成要素識別子とファイルのトラックとの間のマッピングを有するかどうかを決定するために構成要素配置ボックスを分析し得る。ファイルがマッピングを有する場合、宛先機器４０は、例えば、ストリーミングネットワークプロトコルに従って、ファイルからのデータを要求する（２２０）。要求は、ファイルのＵＲＬ又はＵＲＮに対するＨＴＴＰ  Ｇｅｔ要求又は部分Ｇｅｔ要求を備え、場合によってはファイルのバイト範囲を指定し得、バイト範囲は、ファイルによって記憶される構成要素のフラグメントに対応し得る。
【０１７０】
宛先機器４０は、選択された多重化間隔に基づいて、構成要素の逐次部分を検索するために複数の要求をサブミットし得る。即ち、初めに、宛先機器４０は、選択された構成要素の各々からのフラグメントを最初に要求し得る。次いで、宛先機器４０は、次の多重化間隔について、各構成要素のための、次の多重化間隔内で開始するフラグメントがあるかどうかを決定し、フラグメントがある場合、（１つ以上の）フラグメントを要求し得る。このようにして、宛先機器４０は、多重化間隔に基づいて構成要素からのフラグメントを要求し得る。宛先機器４０はまた、例えば、多重化間隔を変更するか又は異なる構成要素からのデータを要求することによって、変化するネットワーク状態への適応を実行するために、ネットワーク状態を周期的に再評価し得る。いずれの場合も、要求に応答して、発信源機器２０は、要求されたデータを宛先機器４０に出力する（２２２）。
【０１７１】
１つ以上の例では、説明した技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び／又はデータ構造を検索するために１つ以上のコンピュータあるいは１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１７２】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、あるいは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。更に、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピーディスク（disk）及びブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１７３】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技術は、１つ以上の回路又は論理要素中に十分に実装され得る。
【０１７４】
本開示の技術は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技術を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明したように１つ以上のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０１７５】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
カプセル化ビデオデータを送る方法であって、
ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送ることと、
前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信することと、
前記要求に応答して、要求された前記構成要素を前記クライアント機器に送ることとを備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、方法。
［Ｃ２］
前記構成要素のうちの少なくとも２つが別々のファイルに記憶され、前記特性を送ることが、前記構成要素のうちの前記少なくとも２つの各々の特性を備えるデータ構造を送ることを備える、Ｃ１に記載の方法。
［Ｃ３］
前記構成要素についての前記特性を、前記構成要素の符号化サンプルを記憶する１つ以上のファイルとは別のファイルに記憶することを更に備え、
前記特性を送ることが、
前記特性が記憶された前記ファイルについての第１の要求を受信することと、
前記第１の要求に応答して、前記符号化サンプルを記憶する前記１つ以上のファイルとは無関係に前記ファイルを送ることと、
を備え、前記ビデオ構成要素のうちの前記少なくとも１つについての前記要求が第２の異なる要求を備える、Ｃ１に記載の方法。
［Ｃ４］
前記構成要素の各々についての前記特性を前記構成要素とは別個である単一のデータ構造に記憶することと、
前記データ構造を、前記複数の表現を備えるマルチメディアコンテンツに関連付ける識別子を前記データ構造に割り当てることと、
前記マルチメディアコンテンツの前記表現に一意の識別子を割り当てることと、
を更に備え、前記特性を送ることが、前記データ構造を送ることを備える、Ｃ１に記載の方法。
［Ｃ５］
前記特性を送ることが、前記構成要素の構成要素識別子値を送ることを更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なる、Ｃ１に記載の方法。
［Ｃ６］
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を送ることを更に備える、Ｃ５に記載の方法。
［Ｃ７］
前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を送ることを更に備える、Ｃ６に記載の方法。
［Ｃ８］
前記特性を送ることは、前記構成要素のセットが互いに切替え可能であることを示す情報を送ることを備え、前記要求が構成要素の前記セットのうちの少なくとも１つを指定する、Ｃ１に記載の方法。
［Ｃ９］
前記特性を送ることが、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けとを示す情報を送ることを備える、Ｃ１に記載の方法。
［Ｃ１０］
前記特性を送ることが、前記構成要素間の前記依存性と、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を送ることを備える、Ｃ１に記載の方法。
［Ｃ１１］
前記特性を送ることが、前記複数の表現のうちの１つ以上の出力のためのターゲットビューの数を示す情報を送ること備える、Ｃ１に記載の方法。
［Ｃ１２］
前記特性を送ることが、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を送ることを備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、Ｃ１に記載の方法。
［Ｃ１３］
前記特性が特性の第１のセットを備え、前記特性を送ることは、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を送ることを備え、前記方法は、前記構成要素の特性の第２のセットと、特性の前記第２セットが対応する前記構成要素の第２の持続時間とを送ることを更に備える、Ｃ１に記載の方法。
［Ｃ１４］
カプセル化ビデオデータを送るための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性を決定するように構成されたプロセッサと、
前記特性をクライアント機器に送ることと、前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信することと、前記要求に応答して、前記要求された構成要素を前記クライアント機器に送ることとを行うように構成された１つ以上のインターフェースと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、装置。
［Ｃ１５］
前記特性が前記構成要素の構成要素識別子値を更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なり、前記特性が、前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を備える、Ｃ１４に記載の装置。
［Ｃ１６］
前記特性が、前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を更に備える、Ｃ１５に記載の装置。
［Ｃ１７］
前記特性が、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けとを示す情報を備える、Ｃ１４に記載の装置。
［Ｃ１８］
前記特性が、前記構成要素間の前記依存性と、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を備える、Ｃ１４に記載の装置。
［Ｃ１９］
前記特性が、前記複数の表現のうちの１つ以上の出力のためのターゲットビューの数を示す情報を備える、Ｃ１４に記載の装置。
［Ｃ２０］
前記特性が、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、Ｃ１４に記載の装置。
［Ｃ２１］
前記特性が特性の第１のセットを備え、前記１つ以上のインターフェースは、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を送るように構成され、前記プロセッサが、前記構成要素の特性の第２のセットと、特性の前記第２セットが対応する前記構成要素の第２の持続時間とを生成するように更に構成され、前記１つ以上のインターフェースが、特性の前記第２のセットを送るように構成された、Ｃ１４に記載の装置。
［Ｃ２２］
集積回路と、
マイクロプロセッサと、
前記プロセッサを含むワイヤレス通信機器とのうちの少なくとも１つを備える、Ｃ１４に記載の装置。
［Ｃ２３］
カプセル化ビデオデータを送るための装置であって、
ビデオコンテンツの複数の表現の複数の構成要素の複数の特性をクライアント機器に送るための手段と、
前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信するための手段と、
前記要求に応答して、要求された前記構成要素を前記クライアント機器に送るための手段と、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、装置。
［Ｃ２４］
前記特性を送るための手段が、
前記構成要素の複数の構成要素識別子値を送るための手段と、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を送るための手段と、
前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を送るための手段と、
を更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なる、Ｃ２３に記載の装置。
［Ｃ２５］
前記特性を送るための前記手段が、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けとを示す情報を送るための手段を備える、Ｃ２３に記載の装置。
［Ｃ２６］
前記特性を送るための前記手段が、前記構成要素間の前記依存性と、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を送るための手段を備える、Ｃ２３に記載の装置。
［Ｃ２７］
前記特性を送るための前記手段が、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を送るための手段を備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、Ｃ２３に記載の装置。
［Ｃ２８］
前記特性が特性の第１のセットを備え、前記特性を送るための前記手段は、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を送るための手段を備え、前記構成要素の特性の第２のセットと、特性の前記第２セットが対応する前記構成要素の第２の持続時間とを送るための手段を更に備える、Ｃ２３に記載の装置。
［Ｃ２９］
実行されたとき、
ビデオコンテンツの複数の表現の構成要素の特性をクライアント機器に送ることと、
前記特性を送った後に、前記クライアント機器から前記構成要素のうちの少なくとも１つについての要求を受信することと、
前記要求に応答して、前記要求された構成要素を前記クライアント機器に送ることと、を、符号化ビデオデータを送るための発信源機器のプロセッサに行わせる命令を記憶し、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ３０］
前記特性を送ることを前記プロセッサに行わせる前記命令が、
前記構成要素の構成要素識別子値を送ることと、
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を送ることと、
前記１つ以上のファイルの前記構成要素の各々について、前記構成要素内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を送ることと、
を前記プロセッサに行わせる命令を更に備え、前記構成要素識別子値のうちの少なくとも１つが、前記構成要素識別子値のうちの前記少なくとも１つに対応する前記構成要素のトラック識別子値とは異なる、Ｃ２９に記載のコンピュータプログラム製品。
［Ｃ３１］
前記特性を送ることを前記プロセッサに行わせる前記命令が、前記構成要素間の前記依存性と、アクセスユニット中の前記構成要素の復号順序のための前記構成要素間の前記依存性の順序付けと、第１の構成要素と前記第１の構成要素に依存する第２の構成要素との間の時間レイヤ差とを示す情報を送ることを前記プロセッサに行わせる命令を備える、Ｃ２９に記載のコンピュータプログラム製品。
［Ｃ３２］
前記特性を送ることを前記プロセッサに行わせる前記命令が、前記複数の表現のうちの１つ以上の出力のためのターゲットビューの数を示す情報を送ることを前記プロセッサに行わせる命令を備える、Ｃ２９に記載のコンピュータプログラム製品。
［Ｃ３３］
前記特性を送ることを前記プロセッサに行わせる前記命令が、前記構成要素のうちの２つ以上の組合せのための可能な多重化間隔を示す情報を送ることを前記プロセッサに行わせる命令を備え、前記要求が、前記多重化間隔のうちの共通の多重化間隔内の復号時間を有する、前記構成要素のうちの前記２つ以上のいずれかのフラグメントを指定する、Ｃ２９に記載のコンピュータプログラム製品。
［Ｃ３４］
前記特性が特性の第１のセットを備え、前記特性を送ることを前記プロセッサに行わせる前記命令は、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を送ることを前記プロセッサに行わせる命令を備え、前記構成要素の特性の第２のセットと、特性の前記第２セットが対応する前記構成要素の第２の持続時間とを送ることを前記プロセッサに行わせる命令を更に備える、Ｃ２９に記載のコンピュータプログラム製品。
［Ｃ３５］
カプセル化ビデオデータを受信する方法であって、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することと、
前記特性に基づいて前記構成要素のうちの１つ以上を選択することと、
前記選択された構成要素のサンプルを要求することと、
前記サンプルが受信された後に前記サンプルを復号し、提示することと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、方法。
［Ｃ３６］
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記選択された構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信することと、
前記選択された構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記それぞれの構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信することと、
を更に備え、前記サンプルを要求することが、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、前記選択された構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからのサンプルを要求することを備える、Ｃ３５に記載の方法。
［Ｃ３７］
前記選択された構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信することと、
前記選択された構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求することと、
を更に備える、Ｃ３５に記載の方法。
［Ｃ３８］
前記選択された構成要素の前記サンプルを要求することが、
次の多重化間隔を決定することと、
前記選択された構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定することと、
前記選択された構成要素のうちの前記決定された構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求することと、
を備える、Ｃ３５に記載の方法。
［Ｃ３９］
前記特性が特性の第１のセットを備え、前記方法は、
特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を受信することと、
特性の第２のセットが対応する前記構成要素の第２の持続時間に対応する、前記構成要素の特性の前記第２のセットを要求することと、
特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求することと。
を更に備える、Ｃ３５に記載の方法。
［Ｃ４０］
カプセル化ビデオデータを受信するための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することを行うように構成された１つ以上のインターフェースと、
前記特性に基づいて前記構成要素のうちの１つ以上を選択することと、前記選択された構成要素のサンプルについての要求を前記発信源機器にサブミットすることを前記１つ以上のインターフェースに行わせることとを行うように構成されたプロセッサと、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、装置。
［Ｃ４１］
前記プロセッサが、前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記選択された構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信することと、前記選択された構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記それぞれの構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信することと、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、前記選択された構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからの前記サンプルについての前記要求を構築することとを行うように構成された、Ｃ４０に記載の装置。
［Ｃ４２］
前記プロセッサは、選択された前記構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信することと、選択された前記構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求することとを行うように構成された、Ｃ４０に記載の装置。
［Ｃ４３］
選択された前記構成要素の前記サンプルについての前記要求を生成するために、前記プロセッサが、次の多重化間隔を決定することと、選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定することと、選択された前記構成要素のうちの決定された前記構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求することとを行うように構成された、Ｃ４０に記載の装置。
［Ｃ４４］
前記特性が特性の第１のセットを備え、前記プロセッサは、特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を受信することと、特性の第２のセットが対応する前記構成要素の第２の持続時間に対応する、前記構成要素の特性の前記第２のセットを要求することと、特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求することとを行うように構成された、Ｃ４０に記載の装置。
［Ｃ４５］
カプセル化ビデオデータを受信するための装置であって、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求するための手段と、
前記特性に基づいて前記構成要素のうちの１つ以上を選択するための手段と、
前記選択された構成要素のサンプルを要求するための手段と、
前記サンプルが受信された後に前記サンプルを復号し、提示するための手段と、
を備え、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、装置。
［Ｃ４６］
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける選択された前記構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信するための手段と、
選択された前記構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントがそれぞれの前記構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信するための手段とを更に備え、
前記サンプルを要求するための前記手段が、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、前記選択された構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからのサンプルを要求するための手段を備える、Ｃ４５に記載の装置。
［Ｃ４７］
選択された前記構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信するための手段と、
選択された前記構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求するための手段と、
を更に備える、Ｃ４５に記載の装置。
［Ｃ４８］
前記選択された構成要素の前記サンプルを要求するための前記手段が、
次の多重化間隔を決定するための手段と、
選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定するための手段と、
前記選択された構成要素のうちの前記決定された構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求するための手段と、
を備える、Ｃ４５に記載の装置。
［Ｃ４９］
前記特性が特性の第１のセットを備え、
特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を受信するための手段と、
特性の第２のセットが対応する前記構成要素の第２の持続時間に対応する、前記構成要素の特性の前記第２のセットを要求するための手段と、
特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求するための手段と、
を更に備える、Ｃ４５に記載の装置。
［Ｃ５０］
実行されたとき、
ビデオコンテンツの複数の表現の構成要素の特性を発信源機器に要求することと、
前記特性に基づいて前記構成要素のうちの１つ以上を選択することと、
前記選択された構成要素のサンプルを要求することと、
前記サンプルが受信された後に前記サンプルを復号し、提示することと、
を、カプセル化ビデオデータを受信するための機器のプロセッサに行わせる命令を記憶し、前記特性が、フレームレートと、プロファイルインジケータと、レベルインジケータと、前記構成要素間の依存性とのうちの少なくとも１つを備える、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ５１］
前記構成要素の符号化サンプルを記憶する１つ以上のファイルにおける前記選択された構成要素の構成要素識別子値と前記構成要素のトラック識別子値との間の対応を示す情報を受信することと、
前記選択された構成要素の各々内のフラグメントへのバイトオフセットと、前記フラグメント中の第１のサンプルの復号時間と、前記フラグメント中のランダムアクセスポイントと、前記フラグメントが前記それぞれの構成要素の新しいセグメントに属するかどうかの指示とを示す情報を受信することと、
を前記プロセッサに行わせる命令を更に備え、
前記サンプルを要求することを前記プロセッサに行わせる前記命令が、前記バイトオフセットと、前記復号時間と、前記ランダムアクセスポイントと、前記フラグメントが新しいセグメントに属するかどうかの前記指示とに基づいて、前記選択された構成要素の前記構成要素識別子値に対応する前記トラック識別子値に対応する前記１つ以上のファイルのトラックからのサンプルを要求することを前記プロセッサに行わせる命令を備える、Ｃ５０に記載のコンピュータプログラム製品。
［Ｃ５２］
前記選択された構成要素のうちの少なくとも１つが別の構成要素に依存することを示す情報を受信することと、
前記選択された構成要素のうちの前記１つが依存する前記構成要素のサンプルを要求することと、
を前記プロセッサに行わせる命令を更に備える、Ｃ５０に記載のコンピュータプログラム製品。
［Ｃ５３］
選択された前記構成要素の前記サンプルを要求することを前記プロセッサに行わせる前記命令が、
次の多重化間隔を決定することと、
選択された前記構成要素のうち、前記次の多重化間隔において開始するフラグメントを有する構成要素を決定することと、
選択された前記構成要素のうちの前記決定された構成要素からの、前記次の多重化間隔において開始する前記フラグメントを要求することと、
を前記プロセッサに行わせる命令を備える、Ｃ５０に記載のコンピュータプログラム製品。
［Ｃ５４］
前記特性が特性の第１のセットを備え、
特性の前記第１のセットが対応する前記構成要素の第１の持続時間を示す情報を受信することと、
特性の第２のセットが対応する前記構成要素の第２の持続時間に対応する、前記構成要素の特性の前記第２のセットを要求することと、
特性の前記第２のセットに基づいて、前記第２の持続時間に対応する前記構成要素からのサンプルを要求することと、
を前記プロセッサに行わせる命令を更に備える、Ｃ５０に記載のコンピュータプログラム製品。
【図１】
0005866354.tif 000010
【図２】
0005866354.tif 000011
【図３】
0005866354.tif 000012
【図４】
0005866354.tif 000013
【図５】
0005866354.tif 000014