(57)【要約】      （修正有）【課題】ＨＴＴＰストリーミングを使用したストリーミング・トランスポートをサポートする方法、装置、及びプログラムを提供する。【解決手段】ソースデバイス２０は、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信し、メディア・プレゼンテーション記述（ＭＰＤ）ファイルに対応するいくつかのビデオ・ファイルを備えるプレゼンテーションを形成する。ビデオ・ファイルの各々がビデオ・セグメントの各々に対応するように形成し、宛先デバイス４０からのビデオ・データの時間セクションを指定する要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つを出力する。【選択図】図１
2014212538.tif 000002
【特許請求の範囲】
【請求項１】
符号化ビデオ・データをトランスポートするための方法であって、前記方法は、
ソース・ビデオ・デバイスが、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、
いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成することと、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力することと、
を備える、方法。
【請求項２】
前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングすることをさらに備える、請求項１に記載の方法。
【請求項３】
前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力することが、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力することを備える、
請求項２に記載の方法。
【請求項４】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記方法は、
いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成することであって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成することと、
前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力することであって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つを指定する、出力することと、
をさらに備える、請求項１に記載の方法。
【請求項５】
前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングすることと、
前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングすることと、
をさらに備える、請求項４に記載の方法。
【請求項６】
前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力することが、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力することを備え、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
請求項４に記載の方法。
【請求項７】
前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、請求項１に記載の方法。
【請求項８】
符号化ビデオ・データをトランスポートするための装置であって、前記装置は、
いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成することとを行うように構成された管理ユニットと、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力するように構成されたネットワーク・インターフェースと
を備える、装置。
【請求項９】
前記管理ユニットが、前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングするように構成された、請求項８に記載の装置。
【請求項１０】
前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するために、前記ネットワーク・インターフェースが、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力する、
請求項９に記載の装置。
【請求項１１】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記管理ユニットは、いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成することであって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成することと、前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力することであって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つをさらに指定する、出力することと、を行うように構成された、請求項８に記載の装置。
【請求項１２】
前記管理ユニットが、前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングすることと、前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングすることとを行うように構成された、請求項１１に記載の装置。
【請求項１３】
前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するために、前記ネットワーク・インターフェースが、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力するように構成され、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
請求項１１に記載の装置。
【請求項１４】
前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、請求項８に記載の装置。
【請求項１５】
符号化ビデオ・データをトランスポートするための装置であって、前記装置は、
いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信するための手段と、
いくつかのビデオ・ファイルを備えるプレゼンテーションを形成するための手段であって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成するための手段と、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力するための手段と、
を備える、装置。
【請求項１６】
前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングするための手段をさらに備える、請求項１５に記載の装置。
【請求項１７】
前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記手段が、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力するための手段を備える、
請求項１６に記載の装置。
【請求項１８】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記装置は、
いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成するための手段であって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成するための手段と、
前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力するための手段であって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つをさらに指定する、出力するための手段と、
をさらに備える、請求項１５に記載の装置。
【請求項１９】
前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングするための手段と、
前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングするための手段と、
をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記手段が、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力するための手段を備え、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
請求項１８に記載の装置。
【請求項２１】
前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、請求項１５に記載の装置。
【請求項２２】
実行されると、
いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、
いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成することと、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力することとを、符号化ビデオ・データをトランスポートするためのソース・デバイスのプロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングするための命令をさらに備える、請求項２２に記載の非一時的コンピュータ可読記憶媒体。
【請求項２４】
前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記命令が、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力するための命令を備える、
請求項２３に記載の非一時的コンピュータ可読記憶媒体。
【請求項２５】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記非一時的コンピュータ可読記憶媒体は、
いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成することであって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成することと、
前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力することであって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つをさらに指定する、出力することと、
を行うための命令をさらに備える、請求項２２に記載の非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングすることと、
前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングすることと、
を行うための命令をさらに備える、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記命令が、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力するための命令を備え、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、請求項２２に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
符号化ビデオ・データを取り出すための方法であって、前記方法は、
クライアント・デバイスが、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すことと、
前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、
前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つを復号し、表示することと、
を備える、方法。
【請求項３０】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記方法が、
前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記クライアント・デバイスの復号能力および前記クライアント・デバイスのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択すること、
をさらに備え、
前記要求をサブミットすることが、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定することを備える、請求項２９に記載の方法。
【請求項３１】
前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記方法は、
利用可能なネットワーク帯域幅の量を判断することと、
利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択することと、
前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットすることであって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットすることと、
をさらに備える、請求項３０に記載の方法。
【請求項３２】
前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成することをさらに備える、請求項３０に記載の方法。
【請求項３３】
前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成することであって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成することと、
をさらに備える、請求項２９に記載の方法。
【請求項３４】
符号化ビデオ・データを取り出すための装置であって、前記装置は、
ネットワーク・インターフェースと、
前記ネットワーク・インターフェースを介して、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すことと、前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信することと、を行うように構成された制御ユニットと、
前記ビデオ・ファイルのうちの前記少なくとも１つを復号するように構成されたビデオ・デコーダと、
前記ビデオ・ファイルのうちの前記復号された少なくとも１つを表示するように構成されたディスプレイを備えるユーザ・インターフェースと、
を備える、装置。
【請求項３５】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記制御ユニットが、前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記装置についての復号能力および前記装置についてのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択するようにさらに構成され、前記要求をサブミットするために、前記制御ユニットが、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定するように構成された、請求項３４に記載の装置。
【請求項３６】
前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記制御ユニットは、利用可能なネットワーク帯域幅の量を判断することと、利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択することと、前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットすることであって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットすることと、を行うように構成された、請求項３５に記載の装置。
【請求項３７】
前記制御ユニットが、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成するようにさらに構成された、請求項３５に記載の装置。
【請求項３８】
前記制御ユニットは、前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信することと、前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成することであって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成することとを行うように構成された、請求項３４に記載の装置。
【請求項３９】
符号化ビデオ・データを取り出すための装置であって、前記装置は、
ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すための手段であって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すための手段と、
前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットするための手段と、
前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信するための手段と、
前記ビデオ・ファイルのうちの前記少なくとも１つを復号し、表示するための手段と、
を備える、装置。
【請求項４０】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記装置が、
前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記装置についての復号能力および前記装置についてのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択するための手段、
をさらに備え、
前記要求をサブミットするための前記手段が、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定するための手段を備える、
請求項３９に記載の装置。
【請求項４１】
前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記装置は、
利用可能なネットワーク帯域幅の量を判断するための手段と、
利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択するための手段と、
前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットするための手段であって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットするための手段と、
をさらに備える、請求項４０に記載の装置。
【請求項４２】
前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成するための手段をさらに備える、請求項４０に記載の装置。
【請求項４３】
前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信するための手段と、
前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成するための手段であって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成するための手段と、
をさらに備える、請求項３９に記載の装置。
【請求項４４】
実行されると、
ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すことと、
前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、
前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つを、符号化ビデオ・データを取り出すためのクライアント・デバイスのビデオ・デコーダに復号させることと、
前記復号されたビデオ・ファイルのうちの前記少なくとも１つを前記クライアント・デバイスのディスプレイに表示させることと、
を前記クライアント・デバイスのプロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体。
【請求項４５】
前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記非一時的コンピュータ可読記憶媒体が、
前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記ビデオ・デコーダの復号能力および前記ディスプレイのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択すること、
を行うための命令をさらに備え、
前記要求をサブミットするための前記命令が、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定するための命令を備える、
請求項４４に記載の非一時的コンピュータ可読記憶媒体。
【請求項４６】
前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記非一時的コンピュータ可読記憶媒体は、
利用可能なネットワーク帯域幅の量を判断することと、
利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択することと、
前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットすることであって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットすることとを行うための命令をさらに備える、請求項４５に記載の非一時的コンピュータ可読記憶媒体。
【請求項４７】
前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成するための命令をさらに備える、請求項４５に記載の非一時的コンピュータ可読記憶媒体。
【請求項４８】
前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成することであって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成することと、
を行うための命令をさらに備える、請求項４４に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に明確に組み込まれる、２００９年１０月２８日に出願された米国仮出願第６１／２５５，７６７号の利益を主張する。
【０００２】
本開示は、符号化ビデオ・データのトランスポートに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタル・テレビジョン、デジタル・ダイレクト・ブロードキャスト・システム、ワイヤレス・ブロードキャスト・システム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップ・コンピュータ、デジタル・カメラ、デジタル記録デバイス、デジタル・メディアプレーヤ、ビデオゲーム機、ビデオゲーム・コンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタル・ビデオ・デバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装して、デジタルビデオ情報をより効率的に送信および受信する。
【０００４】
ビデオ圧縮技法では、ビデオ・シーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロック・ベースのビデオ・コーディングの場合、ビデオ・フレームまたはスライスがマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のマクロブロックは、近傍マクロブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の近傍マクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【０００５】
ビデオ・データが符号化された後、ビデオ・データは送信または記憶のためにマルチプレクサによってパケット化され得る。たとえば、ＭＰＥＧ−２規格は、多くのビデオ符号化規格のためのトランスポート・レベルを定義する「システム」セクションを含む。ＭＰＥＧ−２トランスポート・レベル・システムは、ＭＰＥＧ−２ビデオ・エンコーダ、または異なるビデオ符号化規格に準拠する他のビデオ・エンコーダによって使用され得る。たとえば、ＭＰＥＧ−４規格は、ＭＰＥＧ−２の符号化および復号方法とは異なる符号化および復号方法を規定しているが、ＭＰＥＧ−４規格の技法を実装するビデオ・エンコーダは、依然としてＭＰＥＧ−２トランスポート・レベル方法を利用し得る。また、Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）が、符号化ビデオ・データのための特定のマルチメディア・コンテナフォーマットを使用して符号化ビデオ・データをトランスポートするための技法を提供している。
【発明の概要】
【０００６】
概して、本開示は、たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）などのネットワーク・プロトコルを介した符号化ビデオ・データのストリーミング・トランスポートをサポートするための技法について説明する。ソース・デバイスが、符号化メディアデータの複数のプレゼンテーションを記載するメディア・プレゼンテーション記述（ＭＰＤ：media presentation description）ファイルを形成し得る。各プレゼンテーションは、共通のビデオについての異なる符号化に対応する。たとえば、各プレゼンテーションは、符号化および／またはレンダリング能力、ならびに様々な平均ビットレートに関して、宛先デバイスについての異なる予想を有し得る。
【０００７】
ソース・デバイスは各プレゼンテーションの特性をシグナリングし、それにより、宛先デバイスが、宛先デバイスの復号およびレンダリング能力に基づいて、プレゼンテーションのうちの１つを選択することと、ネットワーク環境の変動およびプレゼンテーションの帯域幅に基づいて、異なるプレゼンテーション間で切り替えることとが可能になり得る。プレゼンテーションは、事前に符号化されるかまたはリアルタイムで符号化され、たとえば、ＩＳＯベース・メディア・ファイル・フォーマットおよびそれの拡張に準拠する（１つまたは複数の）ファイルまたはファイル・フラグメントとしてサーバに記憶され得る。宛先デバイスは、たとえば、ＨＴＴＰを介して、様々な時間にプレゼンテーションのうちの１つまたは複数からデータを取り出し得る。ソース・デバイスは、宛先デバイスが、たとえば、ＨＴＴＰ要求に基づいて、様々なプレゼンテーションから個々のビデオ・フラグメントを取り出し得るように、各プレゼンテーション内のビデオ・フラグメントのバイト範囲および対応する時間ロケーションなどの、各プレゼンテーションのフラグメントをさらにシグナリングし得る。
【０００８】
一例では、符号化ビデオ・データをトランスポートするための方法が、ソース・ビデオ・デバイスが、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、形成することと、ビデオ・データの時間セクションを指定する要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つを出力することとを含む。
【０００９】
別の例では、符号化ビデオ・データをトランスポートするための装置が、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、形成することとを行うように構成された管理ユニットと、ビデオ・データの時間セクションを指定する要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つを出力するように構成されたネットワーク・インターフェースと、を含む。
【００１０】
別の例では、符号化ビデオ・データをトランスポートするための装置が、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信するための手段と、いくつかのビデオ・ファイルを備えるプレゼンテーションを形成するための手段であって、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、形成するための手段と、ビデオ・データの時間セクションを指定する要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つを出力するための手段とを含む。
【００１１】
別の例では、コンピュータ可読記憶媒体が、実行されると、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、形成することと、ビデオ・データの時間セクションを指定する要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つを出力することとを、符号化ビデオ・データをトランスポートするためのソース・デバイスのプロセッサに行わせる命令を備える。
【００１２】
さらに別の例では、符号化ビデオ・データを取り出すための方法が、クライアント・デバイスが、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、ビデオ・データがいくつかのビデオ・セグメントを備え、プレゼンテーションがいくつかのビデオ・ファイルを備え、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、取り出すことと、ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、上記要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つをソース・デバイスから受信することと、ビデオ・ファイルのうちの少なくとも１つを復号し、表示することとを含む。
【００１３】
別の例では、符号化ビデオ・データを取り出すための装置が、ネットワーク・インターフェースと、ネットワーク・インターフェースを介して、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、ビデオ・データがいくつかのビデオ・セグメントを備え、プレゼンテーションがいくつかのビデオ・ファイルを備え、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、取り出すことと、ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、上記要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つをソース・デバイスから受信することと、を行うように構成された制御ユニットと、ビデオ・ファイルのうちの少なくとも１つを復号するように構成されたビデオ・デコーダと、ビデオ・ファイルのうちの復号された少なくとも１つを表示するように構成されたディスプレイを備えるユーザ・インターフェースとを含む。
【００１４】
別の例では、符号化ビデオ・データを取り出すための装置が、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すための手段であって、ビデオ・データがいくつかのビデオ・セグメントを備え、プレゼンテーションがいくつかのビデオ・ファイルを備え、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、取り出すための手段と、ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットするための手段と、上記要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つをソース・デバイスから受信するための手段と、ビデオ・ファイルのうちの少なくとも１つを復号し、表示するための手段とを含む。
【００１５】
別の例では、コンピュータ可読記憶媒体が、実行されると、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、ビデオ・データがいくつかのビデオ・セグメントを備え、プレゼンテーションがいくつかのビデオ・ファイルを備え、ビデオ・ファイルの各々がビデオ・セグメントの各々に対応する、取り出すことと、ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、上記要求に応答して、要求された時間セクションのいくつかのビデオ・セグメントに対応するビデオ・ファイルのうちの少なくとも１つをソース・デバイスから受信することと、ビデオ・ファイルのうちの少なくとも１つをクライアント・デバイスのビデオ・デコーダに復号させることと、復号されたビデオ・ファイルのうちの少なくとも１つをクライアント・デバイスのユーザ・インターフェースに表示させることとを、符号化ビデオ・データを取り出すためのデバイスのプロセッサに行わせる命令を備える。
【００１６】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】オーディオ／ビデオ（Ａ／Ｖ）ソース・デバイスがオーディオおよびビデオ・データをＡ／Ｖ宛先デバイスにトランスポートする例示的なシステムを示すブロック図。
【図２】マルチプレクサの構成要素の例示的な構成を示すブロック図。
【図３】プログラム固有情報テーブルの例示的なセットを示すブロック図。
【図４】様々なプレゼンテーションのＴｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）ファイルと、対応するビデオ・セグメントとの間の整合を示す概念図。
【図５】符号化ビデオ・データをソース・デバイスから宛先デバイスにトランスポートするための例示的な方法を示すフローチャート。
【図６】例示的な３ＧＰＰファイルの要素を示すブロック図。
【図７】３ＧＰＰファイル内の時間ロケーションについてのシーク要求に応答して３ＧＰＰファイルのフラグメントを要求するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１８】
本開示の技法は、概して、たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）などのプロトコルと、ＨＴＴＰのＨＴＴＰストリーミング・アプリケーションとを使用したビデオ・データのストリーミング・トランスポートをサポートすることを対象とする。概して、本開示では、ＨＴＴＰへの言及は、ＨＴＴＰストリーミングへの言及を含み得る。本開示は、たとえば、ビデオ・データのフラグメントがプレゼンテーション内に記憶されている場合などに、ビデオ・データのいくつかのプレゼンテーションの特性要素をシグナリングするメディア・プレゼンテーション記述（ＭＰＤ）ファイルを提供する。各プレゼンテーションは、いくつかの個々のファイル、たとえば、ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）ファイルを含み得る。概して、各プレゼンテーションは、たとえば、ビットレート、フレームレート、解像度、インターレースまたはプログレッシブ走査タイプ、符号化タイプ（たとえば、ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６３、ＭＰＥＧ−４／Ｈ．２６４、Ｈ．２６５など）などの個々の特性、あるいは他の特性のセットを含み得る。
【００１９】
３ＧＰＰファイルの各々は、たとえば、ＨＴＴＰ  ＧＥＴおよび部分ＧＥＴ要求を使用して、サーバによって個別に記憶され、クライアントによって個別に取り出され得る。ＨＴＴＰ  ＧＥＴおよび部分ＧＥＴ要求は、ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ２６１６において入手可能な、Ｒ．Ｆｉｅｌｄｉｎｇら、「Hypertext Transfer Protocol - HTTP/1.1」、Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ、ＲＦＣ２６１６、１９９９年６月、に記載されている。本開示の技法によれば、各プレゼンテーションの３ＧＰＰファイルは、ビデオの同じセクション、すなわち、１つまたは複数のシーンの同じセットに対応するように整合され得る。その上、サーバが、同様の命名方式を使用して、各プレゼンテーションの対応する３ＧＰＰファイルを命名し得る。このようにして、ＨＴＴＰクライアントは、ネットワーク状態が変化するにつれてプレゼンテーションを容易に変更し得る。たとえば、大量の帯域幅が利用可能なときは、クライアントは比較的高い品質のプレゼンテーションの３ＧＰＰファイルを取り出し得、より少ない量の帯域幅が利用可能なときは、クライアントは比較的低い品質のプレゼンテーションの３ＧＰＰファイルを取り出し得る。
【００２０】
本開示は、ＭＰＤファイルにおいて要約されたプレゼンテーションと、対応する３ＧＰＰファイルとの特性をシグナリングするための技法をも提供する。一例として、本開示は、たとえば、各プレゼンテーションについてのクライアント・デバイスの予想されるレンダリング能力および復号能力などの特性をサーバがそれによってシグナリングし得る、技法を提供する。このようにして、クライアント・デバイスは、クライアント・デバイスの復号およびレンダリング能力に基づいて様々なプレゼンテーション間で選択することができる。別の例として、本開示は、各プレゼンテーションについての平均ビットレートおよび最大ビットレートをシグナリングするための技法を提供する。このようにして、クライアント・デバイスは、帯域幅利用可能性を判断し、判断された帯域幅に基づいて様々なプレゼンテーション間で選択することができる。
【００２１】
本開示の技法によれば、サーバが、同じシーンに対応する各プレゼンテーションの３ＧＰＰファイルを示す命名規則を使用し得る。本開示は、各シーンが各プレゼンテーション中の３ＧＰＰファイルのうちの１つに対応するように、各プレゼンテーションの３ＧＰＰファイルを整合させるための技法を提供する。たとえば、サーバは、「［ｐｒｏｇｒａｍ］＿ｐｒｅＸ＿Ｔ＿Ｔ＋Ｎ」と同様の命名規則を使用して、時間Ｔから時間Ｔ＋Ｎまで続くシーンに対応する各プレゼンテーションの３ＧＰＰファイルを命名し得、ただし、その命名規則におけるＴおよびＴ＋Ｎは、時間Ｔおよび時間Ｔ＋Ｎの値に対応し、「［ｐｒｏｇｒａｍ］」はビデオの名前に対応し、「＿ｐｒｅＸ」はプレゼンテーションの識別子に対応する（たとえば、プレゼンテーション２の場合は「ｐｒｅ２」）。したがって、各プレゼンテーションの３ＧＰＰファイルは、各プレゼンテーションについての瞬時ビットレートを導出するために同じ時間期間における３ＧＰＰファイルのファイル・サイズが使用され得るように整合され得る。
【００２２】
さらに、サーバは、各プレゼンテーションについての３ＧＰＰファイルの各々についての開始時間ならびに終了時間ならびに／または持続時間をシグナリングし得る。このようにして、クライアントは、サーバによってシグナリングされた３ＧＰＰファイルの開始時間および終了時間を取り出すことと、開始時間および終了時間に基づいてファイル名を自動的に生成することとによって、ファイルの名前に基づいてＨＴＴＰ  ＧＥＴを使用して特定の３ＧＰＰファイルを取り出すことができる。さらに、サーバは、各プレゼンテーションの３ＧＰＰファイルの各々についてのバイト範囲をもシグナリングし得る。したがって、クライアントは、自動的に生成された名前と、取り出されるべき３ＧＰＰファイルのバイト範囲とに基づいて、部分ＧＥＴを使用して３ＧＰＰファイルの全部または一部分を取り出し得る。クライアントは、特定の３ＧＰＰファイルのファイル・サイズを取り出すためのＨＴＴＰのＨＥＡＤメソッドを使用し得る。概して、ＨＥＡＤ要求は、ＨＥＡＤ要求が向けられたＵＲＮまたはＵＲＬについての対応する本体データなしにヘッダデータを取り出す。
【００２３】
図１は、オーディオ／ビデオ（Ａ／Ｖ）ソース・デバイス２０がオーディオおよびビデオ・データをＡ／Ｖ宛先デバイス４０にトランスポートする例示的なシステム１０を示すブロック図である。図１のシステム１０は、ビデオ通信会議システム、サーバ／クライアントシステム、放送事業者／受信機システム、ゲームシステム、またはＡ／Ｖソース・デバイス２０などのソース・デバイスからＡ／Ｖ宛先デバイス４０などの宛先デバイスにビデオ・データが送られる任意の他のシステムに対応し得る。いくつかの例では、オーディオ・エンコーダ２６は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
【００２４】
Ａ／Ｖソース・デバイス２０は、図１の例では、オーディオ・ソース２２と、ビデオ・ソース２４と、オーディオ・エンコーダ２６と、ビデオ・エンコーダ２８と、メディア・プレゼンテーション記述（ＭＰＤ）管理ユニット３０と、ネットワーク・インターフェース３２とを含む。オーディオ・ソース２２は、たとえば、オーディオ・エンコーダ２６によって符号化されるべき、キャプチャされたオーディオ・データを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオ・ソース２２は、前に記録されたオーディオ・データを記憶する記憶媒体、コンピュータ・シンセサイザなどのオーディオ・データ生成器、またはオーディオ・データの任意の他のソースを備え得る。ビデオ・ソース２４は、ビデオ・エンコーダ２８によって符号化されるべきビデオ・データを生成するビデオカメラ、前に記録されたビデオ・データで符号化された記憶媒体、コンピュータグラフィックスのためのビデオ・データ生成ユニット、またはビデオ・データの任意の他のソースを備え得る。未加工オーディオおよびビデオ・データは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオ・エンコーダ２６および／またはビデオ・エンコーダ２８によって符号化される前にデジタル化され得る。
【００２５】
オーディオ・ソース２２は、通話参加者が話している間、通話参加者からオーディオ・データを取得し得、同時に、ビデオ・ソース２４は、通話参加者のビデオ・データを取得し得る。他の例では、オーディオ・ソース２２は、記憶されたオーディオ・データを備えるコンピュータ可読記憶媒体を備え得、ビデオ・ソース２４は、記憶されたビデオ・データを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオ・データ、ならびに／またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオ・データに適用され得る。
【００２６】
ビデオ・フレームに対応するオーディオ・フレームは、概して、ビデオ・フレーム内に含まれている、ビデオ・ソース２４によってキャプチャされたビデオ・データと同時にオーディオ・ソース２２によってキャプチャされたオーディオ・データを含んでいるオーディオ・フレームである。たとえば、通話参加者が概して話すことによってオーディオ・データを生成する間、オーディオ・ソース２２はオーディオ・データをキャプチャし、同時に、すなわちオーディオ・ソース２２がオーディオ・データをキャプチャしている間、ビデオ・ソース２４は通話参加者のビデオ・データをキャプチャする。したがって、オーディオ・フレームは、１つまたは複数の特定のビデオ・フレームに時間的に対応し得る。したがって、ビデオ・フレームに対応するオーディオ・フレームは、概して、オーディオ・データとビデオ・データとが同時にキャプチャされる状況、およびオーディオ・フレームとビデオ・フレームとが、それぞれ、同時にキャプチャされたオーディオ・データとビデオ・データとを備える状況に対応する。また、たとえば、サウンド・トラック情報、追加音響、音楽、音響効果など、オーディオ・データが別個に追加され得る。
【００２７】
オーディオ・エンコーダ２６は、符号化オーディオ・フレームのオーディオ・データが記録された時間を表す、各符号化オーディオ・フレームにおけるタイム・スタンプを符号化し得、同様に、ビデオ・エンコーダ２８は、符号化ビデオ・フレームのビデオ・データが記録された時間を表す、各符号化ビデオ・フレームにおけるタイム・スタンプを符号化し得る。そのような例では、ビデオ・フレームに対応するオーディオ・フレームは、タイム・スタンプを備えるオーディオ・フレームと同じタイム・スタンプを備えるビデオ・フレームとを備え得る。Ａ／Ｖソース・デバイス２０は、オーディオ・エンコーダ２６および／またはビデオ・エンコーダ２８がそこからタイム・スタンプを生成し得るか、あるいはオーディオ・ソース２２およびビデオ・ソース２４がオーディオおよびビデオ・データをそれぞれタイム・スタンプに関連付けるために使用し得る、内部クロックを含み得る。
【００２８】
オーディオ・ソース２２は、オーディオ・データが記録された時間に対応するデータをオーディオ・エンコーダ２６に送り得、ビデオ・ソース２４は、ビデオ・データが記録された時間に対応するデータをビデオ・エンコーダ２８に送り得る。いくつかの例では、オーディオ・エンコーダ２６は、必ずしも、オーディオ・データが記録された絶対時刻を示すことなしに、符号化オーディオ・データの相対的時間順序を示すために、符号化オーディオ・データ中のシーケンス識別子を符号化し得、同様に、ビデオ・エンコーダ２８も、符号化ビデオ・データの相対的時間順序を示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイム・スタンプにマッピングされるか、または場合によってはタイム・スタンプと相関し得る。
【００２９】
オーディオ・エンコーダ２６およびビデオ・エンコーダ２８は符号化データをＭＰＤ管理ユニット３０に与える。概して、ＭＰＤ管理ユニット３０は、本開示の技法に従って、符号化オーディオ・データおよび符号化ビデオ・データに対応するＭＰＤファイルの形態で、符号化オーディオ・データおよび符号化ビデオ・データに関する要約を記憶する。以下でより詳細に説明するように、ＭＰＤファイルはいくつかのプレゼンテーションを記述し、各プレゼンテーションは、たとえば、Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）ファイルとして形成された、いくつかのビデオ・ファイルを有する。ＭＰＤ管理ユニット３０は、各プレゼンテーションにおいて同数の３ＧＰＰファイルを作成し得、同様に位置する３ＧＰＰファイルが同じビデオ・セグメントに対応するように、各プレゼンテーションの３ＧＰＰファイルを整合させ得る。すなわち、同様に位置する３ＧＰＰファイルは同じ時間ビデオ・フラグメントに対応し得る。ＭＰＤ管理ユニット３０は、たとえば、３ＧＰＰファイルの持続時間など、各プレゼンテーションの３ＧＰＰファイルの特性を記述するデータをも記憶し得る。
【００３０】
ＭＰＤ管理ユニット３０は、Ａ／Ｖ宛先デバイス４０などのクライアントにビデオ・データを与えるためにネットワーク・インターフェース３２と対話し得る。ネットワーク・インターフェース３２は、ＭＰＤ管理ユニット３０によって記憶されているＭＰＤファイルに記載されている個々の３ＧＰＰファイルを宛先デバイス４０が要求することを可能にするために、ＨＴＴＰ（または他のネットワーク・プロトコル）を実装し得る。したがって、ネットワーク・インターフェース３２は、３ＧＰＰファイルについてのＨＴＴＰ  ＧＥＴ要求、３ＧＰＰファイルの個々のバイト範囲についての部分ＧＥＴ要求、ＭＰＤおよび／または３ＧＰＰファイルについてのヘッダ情報を与えるためのＨＥＡＤ要求、ならびに他のそのような要求に応答し得る。したがって、ネットワーク・インターフェース３２は、たとえば、ＭＰＤファイルのベース名など、ＭＰＤファイルの特性、ＭＰＤファイルのプレゼンテーションの特性、および／または各プレゼンテーションに記憶された３ＧＰＰファイルの特性を示すデータを宛先デバイス４０に配信し得る。ＭＰＤファイルのプレゼンテーション、ＭＰＤファイル自体、および／またはＭＰＤファイルに対応する３ＧＰＰファイルの特性を記述するデータは、「プレゼンテーション記述データ」と呼ばれることがある。いくつかの例では、ネットワーク・インターフェース３２は、代わりに、受信したパケットからアプリケーション・レイヤ・データを抽出し、次いでアプリケーション・レイヤ・パケットをＭＰＤ管理ユニット３０に受け渡す、ネットワーク・インターフェース・カード（ＮＩＣ）を備え得る。いくつかの例では、ＭＰＤ管理ユニット３０およびネットワーク・インターフェース３２は機能的に統合され得る。
【００３１】
このようにして、ユーザは、図１の例では、ビデオ・データを取り出すために、宛先デバイス４０上で実行されるウェブ・ブラウザ３８アプリケーションを介して宛先デバイス４０と対話し得る。ウェブ・ブラウザ３８は、初めに、ＭＰＤ管理ユニット３０によって記憶されたプレゼンテーションのうちの１つから第１のビデオ・ファイルまたはそれのフラグメントを取り出し、次いで、第１のビデオ・ファイルが、ビデオ・デコーダ４８およびビデオ出力４４によってそれぞれ復号され、表示されているときに、後続のビデオ・ファイルまたはフラグメントを取り出し得る。宛先デバイス４０は、たとえば、ディスプレイの形態の、ビデオ出力４４、ならびにオーディオ出力４２、ならびに、たとえば、キーボード、マウス、ジョイスティック、マイクロフォン、タッチ・スクリーン・ディスプレイ、スタイラス、ライトペンなどの、他の入力および／または出力デバイスを含むユーザ・インターフェース、あるいは他の入力および／または出力デバイスを含み得る。ビデオ・ファイルがオーディオ・データを含むとき、オーディオ・デコーダ４６およびオーディオ出力４２は、オーディオ・データをそれぞれ復号し、提示し得る。その上、ユーザは、ビデオプレゼンテーションの特定の時間ロケーションを「シーク」し得る。たとえば、ユーザが、最初から最後までビデオ・ファイル全部を見るのではなく、ビデオ・データ内の特定の時間ロケーションを要求するという意味で、ユーザはシークし得る。ウェブブラウザは、シークの時間ロケーションを含むビデオ・ファイルのうちの１つを判断することと、次いでそのビデオ・ファイルをソース・デバイス２０に要求するとこととを宛先デバイス４０のプロセッサまたは他の処理ユニットに行わせ得る。
【００３２】
いくつかの例では、宛先デバイス４０内の制御ユニットがウェブ・ブラウザ３８の機能を実行し得る。すなわち、制御ユニットは、ネットワーク・インターフェース３６を介して要求をソース・デバイス２０にサブミットすることと、ＭＰＤファイルのプレゼンテーション間で選択することと、ネットワーク接続３４の利用可能な帯域幅を判断することとを行うための、ウェブ・ブラウザ３８のための命令を実行し得る。ウェブ・ブラウザ３８のための命令はコンピュータ可読記憶媒体に記憶され得る。制御ユニットは、さらに、本開示で説明するように、ソース・デバイス２０からの個々の３ＧＰＰファイルについての要求、たとえば、ＨＴＴＰ  ＧＥＴおよび部分ＧＥＴ要求を形成し得る。制御ユニットは、汎用プロセッサ、および／あるいは、たとえば、ＡＳＩＣ、ＦＰＧＡなどの１つまたは複数の専用ハードウェアユニット、あるいは他のハードウェアまたは処理ユニットまたは回路を備え得る。制御ユニットは、さらに、いくつかの例では、オーディオ・デコーダ４６、ビデオ・デコーダ４８のいずれかの機能、および／または宛先デバイス４０に関して説明する他の機能を実行し得る。
【００３３】
概して、ＭＰＤファイルのプレゼンテーションは、たとえば、宛先デバイスの予想されるレンダリング能力、宛先デバイスの予想される復号能力、プレゼンテーションのビデオ・ファイルについての平均ビットレートなどの特性によって異なる。ＭＰＤ管理ユニット３０は、ＭＰＤファイルのプレゼンテーション・ヘッダにおいて、プレゼンテーションについての予想されるレンダリング能力、予想される復号能力、および平均ビットレートをシグナリングし得る。このようにして、宛先デバイス４０は、たとえば、ビデオ出力４４のレンダリング能力および／またはビデオ・デコーダ４８の復号能力に基づいて、上記プレゼンテーションのうち、どのプレゼンテーションからビデオ・ファイルを取り出すべきかを判断し得る。
【００３４】
宛先デバイス４０は、さらに、たとえば、ネットワーク接続３４の、現在の帯域幅利用可能性を判断し、プレゼンテーションについての平均ビットレートに基づいてプレゼンテーションを選択し得る。すなわち、ビデオ出力４４およびビデオ・デコーダ４８が、ＭＰＤファイルのプレゼンテーションのうちの２つ以上についてのビデオ・ファイルをそれぞれレンダリングし、復号するための能力を有するとき、宛先デバイス４０は、現在の帯域幅利用可能性に基づいてプレゼンテーションのうちの１つを選択し得る。同様に、帯域幅利用可能性が変化したとき、宛先デバイス４０は、サポートされるプレゼンテーション間で動的に切り替え得る。たとえば、帯域幅が制限されるときは、宛先デバイス４０は、比較的低いビットレートのビデオ・ファイルを有するプレゼンテーションから次のビデオ・ファイルを取り出し得、帯域幅が拡大するときは、宛先デバイス４０は、比較的高いビットレートのビデオ・ファイルを有するプレゼンテーションから次のビデオ・ファイルを取り出し得る。
【００３５】
各プレゼンテーションのビデオ・ファイルを時間的に整合させることによって、プレゼンテーション間の動的切替えは、宛先デバイス４０などの宛先デバイスのために簡略化され得る。すなわち、宛先デバイス４０は、帯域幅状態が変化したと判断すると、ビデオ・データがすでにその間に取り出された時間期間を判断し、次いで、帯域幅状態に基づいてプレゼンテーションのうちの１つから次のビデオ・ファイルを取り出し得る。たとえば、宛先デバイス４０によって取り出された最後のビデオ・ファイルが時間Ｔに終了し、次のファイルが持続時間Ｎのファイルである場合、宛先デバイス４０は、プレゼンテーションの各々についてのビデオ・ファイルが時間的に整合されるので、帯域幅状態に基づいて、プレゼンテーションのいずれかから、時間Ｔから時間Ｔ＋Ｎまでのビデオ・ファイルを取り出し得る。
【００３６】
その上、ＭＰＤ管理ユニット３０およびウェブ・ブラウザ３８は、ビデオ・ファイルのための共通の命名規則で構成され得る。概して、各ビデオ・ファイル（たとえば、各３ＧＰＰファイル）は、ＭＰＤファイルが記憶されているユニフォーム・リソース・ロケータ（ＵＲＬ）と、そのＵＲＬにおけるＭＰＤファイルのユニフォーム・リソース・ネーム（ＵＲＮ）と、プレゼンテーションの名前と、開始時間と、終了時間とに基づく名前を備え得る。したがって、ＭＰＤ管理ユニット３０とウェブ・ブラウザ３８の両方は、たとえば、「［ＵＲＬ］／［ＵＲＮ］＿ｐｒｅ［Ｘ］＿［ｓｔａｒｔ  ｔｉｍｅ］＿［ｅｎｄ  ｔｉｍｅ］」などの命名方式を使用するように構成され得、ただし、［ＵＲＬ］はＭＰＤファイルのＵＲＬに置き換えられ、［ＵＲＮ］はＭＰＤファイルのＵＲＮに置き換えられ、Ｘはプレゼンテーションの数に置き換えられ、［ｓｔａｒｔ  ｔｉｍｅ］は、要求されている３ＧＰＰファイルの開始時間に置き換えられ、［ｅｎｄ  ｔｉｍｅ］は、要求されている３ＧＰＰファイルの終了時間に置き換えられる。他の例では、その名前はプレゼンテーション内の３ＧＰＰファイルの位置に基づき得る。たとえば、３ＧＰＰファイルＭの場合、３ＧＰＰファイルの名前は、「［ＵＲＬ］／［ＵＲＮ］＿ｐｒｅ［Ｘ］＿［Ｍ］」として自動的に生成され得る。ウェブ・ブラウザ３８は、いくつかの例では、たとえば、上記の命名方式、ならびにファイルのバイト範囲を使用してファイルを指定することによって、ファイルについてのＨＴＴＰ部分ＧＥＴ要求をサブミットし得る。ウェブ・ブラウザ３８は、たとえば、上記の命名方式を使用して、指定されたファイルのサイズを取り出すためのＨＴＴＰ  ＨＥＡＤメソッドを利用し得る。
【００３７】
したがって、たとえば、ＵＲＬ「ｗｗｗ．ｑｕａｌｃｏｍｍ．ｃｏｍ」と、「ｐｒｏｇｒａｍ１」のＵＲＮとを有するＭＰＤファイルの場合、１０：０２に開始し、１０：０５に終了するプレゼンテーション３の３ＧＰＰファイルを取り出すために、ウェブ・ブラウザ３８は、「ｗｗｗ．ｑｕａｌｃｏｍｍ．ｃｏｍ／ｐｒｏｇｒａｍ１＿ｐｒｅ３＿１０：０２＿１０：０５」についてのＨＴＴＰ  ＧＥＴ要求をサブミットし得る。さらなる例として、プレゼンテーション２がプレゼンテーション３よりも比較的高いビットレートを有し、宛先デバイス４０が、利用可能な帯域幅が増加したと判断した場合、前の例の３ＧＰＰファイルを取り出した後に、ウェブ・ブラウザ３８は、次に「ｗｗｗ．ｑｕａｌｃｏｍｍ．ｃｏｍ／ｐｒｏｇｒａｍ１＿ｐｒｅ２＿１０：０５＿１０：０８」についてのＨＴＴＰ  ＧＥＴ要求をサブミットし得る。
【００３８】
概して、各３ＧＰＰファイルは単独で復号可能であり得る。各３ＧＰＰファイルは、たとえば、少なくとも１つのイントラ符号化ピクチャを含み得る。たとえば、各３ＧＰＰファイルは、１つまたは複数のピクチャ・グループ（ＧＯＰ）またはスーパー・フレームを備え得、ただし、ＧＯＰまたはスーパー・フレームのための少なくとも１つのキー・フレームは、イントラモード符号化を使用して符号化される。このようにして、ウェブ・ブラウザ３８は、ＭＰＤファイルのプレゼンテーションのいずれかから３ＧＰＰファイルを取り出し、同じプレゼンテーションの他の３ＧＰＰファイルに関係なく、取り出された３ＧＰＰファイルを復号し得る。たとえば、ウェブブラウザ３８が、利用可能な帯域幅が増加したと判断したとき、ウェブブラウザ３８は、より高い平均ビットレートを有するプレゼンテーションの時間的に前の３ＧＰＰファイルを取り出すことなしに、現在のプレゼンテーションよりも比較的高い平均ビットレートを有するプレゼンテーションからの次の３ＧＰＰファイルを要求し得る。
【００３９】
このようにして、ソース・デバイス２０は、ＭＰＤファイルの形態のビデオ・データを宛先デバイス４０などの宛先デバイスに与え得る。いくつかの例では、ソース・デバイス２０はウェブサーバを備え得る。宛先デバイス４０は、たとえば、ＨＴＴＰを介して、データを取り出すことが可能な、たとえば、コンピュータ、またはインターネットアクセスをもつセルラー電話などのモバイルデバイスなどの、任意のデバイスを備え得る。ソース・デバイス２０は、符号化ビデオ・データを宛先デバイス４０にトランスポートし、符号化ビデオ・データの特性をシグナリングするために、本開示の技法を実装し得る。符号化ビデオ・データは、たとえば、ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６３、Ｈ．２６４／ＭＰＥＧ−４、Ｈ．２６５、または他の符号化規格など、多種多様な規格のいずれかを使用して符号化され得る。
【００４０】
ＩＴＵ−Ｔ  Ｈ．２６４規格は、一例として、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、１６×（x）１６ピクセルまたは１６×（by）１６ピクセルを指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、Ｎは、非負整数値を表す。ブロック中のピクセルは行と列に配置され得る。その上、ビデオ・データのブロックは、正方形である必要がなく、たとえば、Ｎ×Ｍピクセルを備え得、ただし、ＮはＭに等しくない。
【００４１】
１６×１６よりも小さいブロックサイズは１６×１６マクロブロックのパーティションと呼ばれることがある。ビデオ・ブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオ・ブロックと予測ビデオ・ブロックとのピクセル差分を表す残差ビデオ・ブロック・データへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオ・ブロックは、変換領域中の量子化変換係数のブロックを備え得る。
【００４２】
より小さいビデオ・ブロックは、より良好な解像度を与えることができ、高い詳細レベルを含むビデオ・フレームのロケーションのために使用され得る。一般に、マクロブロックおよび様々なパーティションはサブブロックと呼ばれることがあり、ビデオ・ブロックと見なされ得る。さらに、スライスは、マクロブロックおよび／またはサブブロックなどの複数のビデオ・ブロックであると見なされ得る。各スライスはビデオ・フレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディング・ユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ（ＧＯＰ）など、ビデオ・フレームの単独で復号可能な任意のユニット、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指し得る。
【００４３】
マクロブロックという用語は、１６×１６ピクセルを備える２次元ピクセルアレイに従ってピクチャおよび／またはビデオ・データを符号化するためのデータ構造を指す。各ピクセルはクロミナンス成分と輝度成分とを備える。したがって、マクロブロックは、各々が８×８ピクセルの２次元アレイを備える４つの輝度ブロックと、各々が１６×１６ピクセルの２次元アレイを備える２つのクロミナンス・ブロックと、コード化ブロック・パターン（ＣＢＰ）、符号化モード（たとえば、イントラ（Ｉ）またはインター（ＰまたはＢ）符号化モード）、イントラ符号化ブロックのパーティションのパーティション・サイズ（たとえば、１６×１６、１６×８、８×１６、８×８、８×４、４×８、または４×４）、あるいはインター符号化マクロブロックのための１つまたは複数の動きベクトルなど、シンタックス情報を備えるヘッダと、を定義し得る。
【００４４】
ビデオ・エンコーダ２８、ビデオ・デコーダ４８、オーディオ・エンコーダ２６、オーディオ・デコーダ４６、およびＭＰＤ管理ユニット３０は、それぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオ・エンコーダ２８およびビデオ・デコーダ４８の各々は１つまたは複数のエンコーダまたはデコーダ中に含められ得、そのいずれかは複合ビデオ・エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。同様に、オーディオ・エンコーダ２６およびオーディオ・デコーダ４６の各々は１つまたは複数のエンコーダまたはデコーダ中に含められ得、そのいずれかは複合オーディオ・エンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合され得る。ビデオ・エンコーダ２８、ビデオ・デコーダ４８、オーディオ・エンコーダ２６、オーディオ・デコーダ４６、ＭＰＤ管理ユニット３０、および／またはウェブ・ブラウザ３８のアプリケーションを実行するハードウェアを含む装置は、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００４５】
図２は、ＭＰＤ管理ユニット３０（図１）の構成要素の例示的な構成を示すブロック図である。図２の例では、ＭＰＤ管理ユニット３０は、ＭＰＤ作成ユニット６０と、ビデオ入力インターフェース８０と、オーディオ入力インターフェース８２と、ＭＰＤファイル・ストレージ８４と、ＭＰＤ出力ユニット７０とを含む。図２の例では、ＭＰＤ作成ユニット６０は、パラメータ・シグナリング・ユニット６２と３ＧＰＰファイル管理ユニット６４とを含み、ＭＰＤ出力ユニット７０は、３ＧＰＰファイル取出しユニット７２とＨＴＴＰサーバユニット７４とを含む。
【００４６】
ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、それぞれ符号化ビデオ・データおよび符号化オーディオ・データを受信する。ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、データが符号化されると、符号化ビデオ・データおよび符号化オーディオ・データを受信するか、または符号化ビデオ・データおよび符号化オーディオ・データをコンピュータ可読媒体から取り出し得る。符号化ビデオ・データおよび符号化オーディオ・データを受信すると、ビデオ入力インターフェース８０およびオーディオ入力インターフェース８２は、ＭＰＤファイルに集約するために符号化ビデオ・データおよび符号化オーディオ・データをＭＰＤ作成ユニット６０に受け渡す。
【００４７】
ＭＰＤ作成ユニット６０は、ＭＰＤファイルを作成するために符号化オーディオ・データおよび符号化ビデオ・データを受信する。ＭＰＤ作成ユニット６０は、多種多様な方法で、たとえば、ビデオ・データの異なるサイズ（解像度）で符号化されたビデオ・データ、様々な符号化規格に従って符号化されたビデオ・データ、様々なフレームレートおよび／またはビットレートで符号化されたビデオ・データ、あるいは他の変形体を受信し得る。ＭＰＤ作成ユニット６０は、ＭＰＤファイル内に記憶されるべき、様々なプレゼンテーションの各々についての符号化ビデオ・データを受信し得る。
【００４８】
３ＧＰＰファイル管理ユニット６４は、各プレゼンテーションの３ＧＰＰファイルが時間的に整合されるように、ＭＰＤファイルの各プレゼンテーションについての個々の３ＧＰＰファイルを作成し得る。すなわち、各プレゼンテーション中の第１の３ＧＰＰファイルは、同じ持続時間と、開始時間と、終了時間とをもつ同じビデオ・フラグメントに対応する。同じ開始時間と終了時間とを有する同じビデオ・フラグメントに対応する３ＧＰＰファイルは、対応する３ＧＰＰファイルと呼ばれる。プレゼンテーションは様々なフレームレートを有し得るので、プレゼンテーションの対応する３ＧＰＰファイルは様々な数の符号化ピクチャを含み得る。同様に、符号化方法およびビットレートはプレゼンテーション間で異なり得るので、対応する３ＧＰＰファイルは異なるファイル・サイズを有し得る。
【００４９】
いくつかの例では、３ＧＰＰファイル管理ユニット６４は、各３ＧＰＰファイルが同じ時間持続時間を有するように、各プレゼンテーションについての３ＧＰＰファイルを構築し得る。これらの例では、パラメータ・シグナリング・ユニット６２は、共通の持続時間を表す１つの値を使用してＭＰＤファイルについてのすべての３ＧＰＰファイルの持続時間をシグナリングし得る。他の例では、３ＧＰＰファイル管理ユニット６４は、プレゼンテーション間の対応する３ＧＰＰファイルは同じ持続時間を有するが、あるプレゼンテーション内の３ＧＰＰファイルは個々の持続時間を有し得るように、３ＧＰＰファイルを構築し得る。そのような例では、パラメータ・シグナリング・ユニット６２は、各３ＧＰＰファイルの持続時間をシグナリングし得る。パラメータ・シグナリング・ユニット６２は、プレゼンテーションについての各３ＧＰＰファイルの開始時間、終了時間、および／または持続時間をもシグナリングし得る。
【００５０】
パラメータ・シグナリング・ユニット６２は、ＭＰＤファイルと、ＭＰＤファイル内に含まれる３ＧＰＰファイルと、ＭＰＤファイルのプレゼンテーションとの他の特性をもシグナリングし得る。たとえば、パラメータ・シグナリング・ユニット６２は、各プレゼンテーションについての宛先デバイスのデコーダの予想される復号能力をシグナリングし得る。復号能力は、たとえば、プレゼンテーションのビデオ・データを符号化するために使用される符号化規格などの復号方法、最小マクロブロック復号レート、最小フレーム復号レート、フレームまたはブロックバッファサイズ、および／あるいは他の予想される復号能力を含み得る。いくつかの例では、パラメータ・シグナリング・ユニット６２は、プロファイルインジケータ（プロファイルＩＤＣ）値とレベルインジケータ（レベルＩＤＣ）値とを使用して、予想される復号能力をシグナリングし得る。
【００５１】
ビデオコーディング規格のコンテキストにおいて、「プロファイルＩＤＣ」値は、アルゴリズム、機能、またはツール、およびそれらに適用される制約のサブセットに対応し得る。たとえば、Ｈ．２６４規格によって定義される「プロファイルＩＤＣ」値は、Ｈ．２６４規格によって指定されたビットストリームシンタックス全体のサブセットを記述する。「レベルＩＤＣ」値は、たとえば、ピクチャの解像度、ビットレート、およびマクロブロック（ＭＢ）処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限を記述する。
【００５２】
パラメータ・シグナリング・ユニット６２は、各プレゼンテーションについての予想されるレンダリング能力をもシグナリングし得る。たとえば、パラメータ・シグナリング・ユニット６２は、各プレゼンテーションについてのピクチャ幅、ピクチャ高さ、および／またはフレームレートをシグナリングし得る。
【００５３】
ＭＰＤ作成ユニット３０は、各プレゼンテーションについての３ＧＰＰファイル、およびＭＰＤファイルと、プレゼンテーションと、各３ＧＰＰファイルとについてのシグナリングされた特性とともに、作成されたＭＰＤファイルをＭＰＤファイル・ストレージ８４に記憶し得る。ＭＰＤファイル・ストレージ８４は、たとえば、ハードディスク、ソリッドステートドライブ、磁気テープ、光記憶媒体などの、コンピュータ可読記憶媒体、または他の記憶媒体、あるいはそれらの組合せを備え得る。
【００５４】
ＭＰＤ出力ユニット７０は、たとえば、宛先デバイス４０などの宛先デバイスからのＨＴＴＰ要求を受信し、そのＨＴＴＰ要求に応答し得る。図２の例では、ネットワーク・インターフェース３２（図１）が、受信したネットワーク・パケットから、ＨＴＴＰ要求を含み得るアプリケーション・レイヤ・データを抽出し、抽出されたアプリケーション・レイヤ・データをＭＰＤ管理ユニット３０に受け渡すと仮定される。ＭＰＤ出力ユニット７０は、概して、受信した要求が何を要求しているかを判断し、要求されたデータをＭＰＤファイル・ストレージ８４から取り出し、要求されたデータを要求元デバイス、たとえば、宛先デバイス４０に与える。
【００５５】
ＨＴＴＰサーバユニット７４は、この例では、ＧＥＴ、部分ＧＥＴ、およびＨＥＡＤ要求などの、ＨＴＴＰ要求を受信し、解釈するために、ＨＴＴＰを実装する。本開示では、例示のためにＨＴＴＰの例について説明するが、本開示で説明する技法とともに他のネットワークプロトコルも使用され得る。
【００５６】
ＨＴＴＰサーバユニット７４は、受信したＨＴＴＰ要求によって要求されたデータを判断するためにＨＴＴＰ要求を解釈し得る。その要求は、たとえば、特定の３ＧＰＰファイルまたは特定の３ＧＰＰファイルの一部分を指定するか、ＭＰＤファイル、ＭＰＤファイルのプレゼンテーション、および／またはプレゼンテーションの３ＧＰＰファイルの特性を記述するヘッダデータを指定するか、あるいはＭＰＤの他のデータを指定し得る。次いで、ＨＴＴＰサーバユニット７４は、要求されたデータの指示を３ＧＰＰファイル取出しユニット７２に受け渡し得る。３ＧＰＰファイル取出しユニット７２は、要求されたデータをＭＰＤファイル・ストレージ８４から取り出し、取り出されたデータをＨＴＴＰサーバユニット７４に返信し得、ＨＴＴＰサーバユニット７４は、そのデータを１つまたは複数のＨＴＴＰパケットにパッケージングし、それらのパケットをネットワーク・インターフェース３２に送り得る。次いで、ネットワーク・インターフェース３２は、ＨＴＴＰパケットをカプセル化し、それらのパケットを、たとえば、宛先デバイス４０に出力し得る。
【００５７】
パラメータ・シグナリング・ユニット６２が、ＭＰＤファイルについての３ＧＰＰファイルの開始時間および持続時間をシグナリングすると、宛先デバイス４０などの宛先デバイスは、ＭＰＤファイルの様々なプレゼンテーションの互いに対応する３ＧＰＰファイルを判断し得る。たとえば、ＨＴＴＰサーバユニット７４は、ＭＰＤファイル、ＭＰＤファイルの１つまたは複数のプレゼンテーション、および／またはＭＰＤファイルのプレゼンテーションの１つまたは複数の３ＧＰＰファイルの特性を記述するデータで、ＨＴＴＰ  ＨＥＡＤ要求に応答し得る。また、宛先デバイス４０は、たとえば、３ＧＰＰファイルがそれに対応するビデオ・セグメントの時間持続時間でファイル・サイズを除算することによって、各プレゼンテーションについての瞬時ビットレートを導出するために、対応する３ＧＰＰファイルのファイル・サイズを取り出し得る。
【００５８】
ＨＴＴＰを介したストリーミングにおける帯域幅適応は次のように実装され得る。特定の時間Ｔに、宛先デバイス４０は、所望のビットレートに最も近いが所望のビットレートよりも小さいビットレートをもつストリーム（たとえば、プレゼンテーション）に切り替え得る。時間Ｔを現在のプレゼンテーションの現在の３ＧＰＰファイルにマッピングすることによって、プレゼンテーションの瞬時ビットレートが計算され得る。そうするために、各３ＧＰＰファイルが同じ時間長さｄｅｌｔａＴを有すると仮定すると、宛先デバイスは、３ＧＰＰファイルの識別子ＭをＭ＝Ｔ／ｄｅｌｔａＴとして計算し得る。次いで、宛先デバイス４０は、３ＧＰＰファイルのファイル名を生成し、３ＧＰＰファイルの長さをｕｉＦｉｌｅＬｅｎｇｔｈとして取り出し得る。
【００５９】
宛先デバイス４０は、ＭＰＤファイルから３ＧＰＰファイルの時間持続時間をも取り出し得る。この時間持続時間は、この例では秒で記述されると仮定される、指定されたｕｉＤｕｒａｔｉｏｎであり得る。次いで、宛先デバイス４０は、瞬時ビットレートをビットレート＝８．０＊ｕｉＦｉｌｅＬｅｎｇｔｈ／ｕｉＤｕｒａｔｉｏｎ／１００として計算し得、その結果、ｋｂｐｓの単位を有するビットレートの値が生じる。同じシーンの各プレゼンテーションについてのあらゆるビットレート値を検査することによって、所望のビットレートに最も近いが所望のビットレートよりも小さい値。その場合、対応するプレゼンテーションは、宛先デバイス４０がそれに切り替わるべきであるターゲットプレゼンテーションであることがある。すなわち、宛先デバイス４０は、ターゲット・プレゼンテーションから３ＧＰＰファイルを取り出し始め得る。
【００６０】
さらに、ＨＴＴＰサーバユニット７４は、「［ＵＲＮ］＿ｐｒｅ［Ｘ］＿［ｓｔａｒｔ
ｔｉｍｅ］＿［ｅｎｄ  ｔｉｍｅ］」などの特定の命名方式に基づいて３ＧＰＰファイルを認識するように構成され得、ただし、［ＵＲＮ］はＭＰＤファイルのＵＲＮに置き換えられ、Ｘはプレゼンテーションの数に置き換えられ、［ｓｔａｒｔ  ｔｉｍｅ］は、要求されている３ＧＰＰファイルの開始時間に置き換えられ、［ｅｎｄ  ｔｉｍｅ］は、要求されている３ＧＰＰファイルの終了時間に置き換えられる。したがって、ＨＴＴＰサーバユニット７４は、この命名方式を使用して３ＧＰＰファイルを識別する要求に応答して、［ｓｔａｒｔ  ｔｉｍｅ］の開始時間および［ｅｎｄ  ｔｉｍｅ］の終了時間を有するプレゼンテーション＿ｐｒｅ［Ｘ］から［ＵＲＮ］によって識別されたＭＰＤファイルに対応する３ＧＰＰファイルを取り出すための指示を３ＧＰＰファイル取出しユニット７２に送り得る。同様に、３ＧＰＰファイル取出しユニット７２は、この要求された３ＧＰＰファイルを取り出し得る。宛先デバイス４０は、３ＧＰＰファイルの開始時間および終了時間、ならびに３ＧＰＰファイルをそこから取り出すべきプレゼンテーションに基づいて、上記要求中に含めるための３ＧＰＰファイルの名前を自動的に生成し得る。
【００６１】
いくつかの例では、ＨＴＴＰサーバユニット７４は、上記の命名方式に従って識別されたファイルのバイト範囲を指定するＨＴＴＰ部分ＧＥＴ要求を受信し得る。ＨＴＴＰサーバユニット７４は、そのファイルのバイト範囲の指示を３ＧＰＰファイル取出しユニット７２に与え得、３ＧＰＰファイル取出しユニット７２は、要求されたバイト範囲に対応するファイルのデータのみを取り出し、取り出されたデータをＨＴＴＰサーバユニット７４に与え得る。ＨＴＴＰサーバユニット７４は、同様に、このデータをカプセル化し、そのデータをネットワーク・インターフェース３２に送り得、ネットワーク・インターフェース３２は、さらにそのデータをカプセル化し、そのデータを接続３４を介して送信し得る。
【００６２】
図２の例では、ＭＰＤ管理ユニットが、ＭＰＤ作成ユニット６０とＭＰＤ出力ユニット７０の両方を含むものとして示されているが、他の例では、別個のデバイスが、ＭＰＤ作成ユニット６０とＭＰＤ出力ユニット７０とによる機能を実行するように構成され得る。たとえば、第１のデバイスは、符号化ビデオ・データをＭＰＤファイルの形態でカプセル化することと、ＭＰＤファイルのパラメータをシグナリングすることとを行うように構成され得、第２のデバイスは、ウェブサーバとして、第１のデバイスによって作成されたＭＰＤファイルへのアクセスを与えるように構成され得る。同様に、ソース・デバイス２０とは別個の符号化デバイスが、未加工ビデオ・データを符号化し、符号化されたビデオ・データをソース・デバイス２０のＭＰＤ管理ユニット３０に送り得る。概して、ソース・デバイス２０による機能のいずれも、共通のまたは別個のデバイスおよび／またはデバイスのユニット中に含まれ得る。ＭＰＤファイル・ストレージ８４は、いくつかの例では、たとえば、外部ハードドライブまたは外部ファイルサーバなどの、外部記憶デバイスに対応し得る。
【００６３】
図３は、例示的なＭＰＤファイル９０内に記憶されたデータを示すブロック図である。パラメータ・シグナリング・ユニット６２は、たとえば、ＭＰＤが記憶されたユニフォーム・リソース・ロケータ（ＵＲＬ）を表すＵＲＬ値９２（たとえば、「ｗｗｗ．ｑｕａｌｃｏｍｍ．ｃｏｍ／ｍｅｄｉａ」）、ＭＰＤファイル９０についてのビデオ・データの時間持続時間を表す持続時間値９４、およびＭＰＤファイル９０の名前に対応するベース・ユニフォーム・リソースネーム（ＵＲＮ）値９６、たとえば、「ｐｒｏｇｒａｍ１」など、ＭＰＤファイル９０についての情報をシグナリングし得る。ＭＰＤファイル９０は、プレゼンテーション１００Ａの例と同様のいくつかのプレゼンテーションを含む。ＭＰＤファイル９０のプレゼンテーション１００Ａの例では、パラメータ・シグナリング・ユニット６２は、プレゼンテーション識別子１０２Ａと、宛先デバイスがプレゼンテーション１００Ａを参照するために使用し得る増分ＵＲＮ１０４Ａ（たとえば、「＿ｐｒｅＸ」）と、たとえば、プロファイルＩＤＣ値１０６ＡおよびレベルＩＤＣ値１０８Ａを含む、予想される復号能力値と、たとえば、フレームレート値１１０Ａ、ピクチャ幅値１１２Ａ、および／またはピクチャ高さ値１１４Ａを含む、予想されるレンダリング能力値とをシグナリングし得る。
【００６４】
パラメータ・シグナリング・ユニット６２は、プレゼンテーション１００Ａなどのプレゼンテーションについてのタイミング情報をもシグナリングし得る。タイミング情報属性１１６Ａは、たとえば、（各プレゼンテーションについて等しいはずである）プレゼンテーション中のエントリの数、３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルの持続時間、および同じ持続時間を有する３ＧＰＰファイルの数を含み得る。いくつかの例では、パラメータ・シグナリング・ユニット６２は、ただ１つのプレゼンテーション（たとえば、プレゼンテーション１００Ａ）についてこのデータをシグナリングし得るが、そのデータは、他のプレゼンテーションの各々について同じであると推定され得る。以下の擬似コードは、プレゼンテーションのタイミング特性をシグナリングするために使用され得るデータ構造の一部分を表し得る。
【数１】
2014212538.tif 000003
【００６５】
例示的な擬似コードでは、「ｎｕｍｂｅｒ＿ｅｎｔｒｙ」は、同じプレゼンテーションについての３ＧＰＰファイルの連続グループの数を表す。パラメータ・シグナリング・ユニット６２は、ムービー・フラグメントのすべての持続時間が同じであるとき、ｎｕｍｂｅｒ＿ｅｎｔｒｙ値を１に設定し得る。値「ｄｅｌｔａＴ」は、３ＧＰＰファイルの連続グループのｉ番目のエントリにおける３ＧＰＰファイルの持続時間を表す。値「ｎｕｍＦｉｌｅＷｉｔｈＳａｍｅＤｕｒａｔｉｏｎ」は、ｉ番目のエントリにおける連続３ｇｐファイルの数を表す。パラメータ・シグナリング・ユニット６２は、プレゼンテーション中のすべての３ＧＰＰファイルが同じ持続時間ｄｅｌｔａＴを有することを示すために、「ｎｕｍＦｉｌｅＷｉｔｈＳａｍｅＤｕｒａｔｉｏｎ」の値を０に等しく設定し得る。ライブストリーミングに対応する例では、パラメータ・シグナリング・ユニット６２は、あらゆる３ＧＰＰファイルが同じ持続時間を有することを示すために、「ｎｕｍｂｅｒ＿ｅｎｔｒｙ」値を１に設定し得る。
【００６６】
プレゼンテーション１００Ａは、３ＧＰＰファイル管理ユニット６４によって構築された３ＧＰＰファイルに対応する、いくつかの３ＧＰＰファイル識別子１１８Ａをも含む。ＭＰＤファイル９０のプレゼンテーション１００の各々は、時間的に整合され得る同数の３ＧＰＰファイルを含み得る。
【００６７】
このシグナリングされたデータを使用して、宛先デバイス４０は、ＨＴＴＰ  ＧＥＴおよび部分ＧＥＴ要求をサブミットするために３ＧＰＰファイルの名前を自動的に生成し得る。すなわち、宛先デバイス４０は、３ＧＰＰファイルのＵＲＮを自動的に生成し得る。たとえば、ＭＰＤファイル９０のベースＵＲＮ９６が「ｐｒｏｇｒａｍ１」であり、プレゼンテーション１００Ａのプレゼンテーション識別子１０２Ａが「＿ｐｒｅ２」であると仮定すると、３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルのＵＲＮの共通部分は「ｐｒｏｇｒａｍ１＿ｐｒｅ２」である。この例では、プレゼンテーション１００Ａ中の３ＧＰＰファイル識別子１１８ＡのＭ番目の３ＧＰＰファイル識別子の場合、宛先デバイス４０は「ｐｒｏｇｒａｍ１＿ｐｒｅ２＿Ｍ」についてのＨＴＴＰ  ＧＥＴ要求をサブミットし得る。たとえば、４５番目の３ＧＰＰファイルを取り出すために、宛先デバイス４０は、「ｐｒｏｇｒａｍ１＿ｐｒｅ２＿４５．３ｇｐ」についてのＨＴＴＰ  ＧＥＴ要求をサブミットし得る。代替的に、宛先デバイス４０は、「ｐｒｏｇｒａｍ１＿ｐｒｅ２＿Ｍｓｔａｒｔ＿Ｍｅｎｄ」についてのＨＴＴＰ  ＧＥＴ要求をサブミットし得、ただし、Ｍｓｔａｒｔは、３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルのＭ番目の３ＧＰＰファイルの開始時間に対応し、Ｍｅｎｄは、３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルのＭ番目の３ＧＰＰファイルの終了時間に対応する。
【００６８】
また、宛先デバイス４０などのＨＴＴＰクライアントが、プレゼンテーション１００Ａなどのプレゼンテーションの時間Ｔをシークし得る。シーク時間Ｔに対応する３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルのＭ番目の３ＧＰＰファイルを取り出すために、宛先デバイス４０は、ＭをＭ＝Ｔ／ｄｅｌｔａＴとして計算し得、ただし、ｄｅｌｔａＴは、上記で説明したように、３ＧＰＰファイルの各々が同じ持続時間を有すると仮定すると、タイミング情報属性１１６Ａ内でシグナリングされ得る。一方、３ＧＰＰファイルが同じ持続時間を有しない場合、宛先デバイス４０は、３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルのうち、どの３ＧＰＰファイルを取り出すべきかを判断するために、３ＧＰＰファイルの各々についての持続時間を取り出し得る。Ｍを計算した後に、宛先デバイス４０は、３ＧＰＰファイル識別子１１８Ａに対応する３ＧＰＰファイルのＭ番目の３ＧＰＰファイルを取り出し得る。
【００６９】
プレゼンテーション１００の各々についての３ＧＰＰファイルが時間的に整合されたとき、宛先デバイス４０は、上記の例では、プレゼンテーションのいずれかから３ＧＰＰファイルを取り出すために「＿ｐｒｅ２」の代わりにプレゼンテーション１００のいずれか１つについての識別子を使用し得る。一例として、ＭＰＤファイル９０が５つのプレゼンテーションを有し、宛先デバイス４０がプレゼンテーション２、３、または４のいずれかを復号し、レンダリングすることが可能であると考える。さらに、プレゼンテーション２が比較的低い品質（および、したがって低い平均ビットレート）を有し、プレゼンテーション３が、より高い品質およびより高い平均ビットレートを有し、プレゼンテーション４が、さらにより高い品質およびさらにより高い平均ビットレートを有すると仮定する。初めに、宛先デバイス４０は、利用可能な帯域幅が比較的低いと判断し、したがって、たとえば、「ｐｒｏｇｒａｍ１＿ｐｒｅ２＿１．３ｇｐ」についてのＨＴＴＰ  ＧＥＴ要求を使用して、プレゼンテーション２から３ＧＰＰファイル「１」を取り出し得る。次いで、宛先デバイス４０は、利用可能な帯域幅が増加したと判断し、したがって、「ｐｒｏｇｒａｍ１＿ｐｒｅ３＿２．３ｇｐ」についてのＨＴＴＰ  ＧＥＴ要求を使用して、次の３ＧＰＰファイルを取り出し得る。次いで、宛先デバイス４０は、利用可能な帯域幅がなお一層増加したと判断し、したがって、「ｐｒｏｇｒａｍ１＿ｐｒｅ４＿３．３ｇｐ」についてのＨＴＴＰ  ＧＥＴ要求を使用して、次の３ＧＰＰファイルを取り出し得る。
【００７０】
図４は、様々なプレゼンテーション１３４、１４０の３ＧＰＰファイル１３８、１４４と、ビデオ１４６のビデオ・セグメント１３０との間の整合を示す概念図である。ビデオ１４６はビデオ・セグメント１３０Ａ〜１３０Ｎ（ビデオ・セグメント１３０）を含む。図４の例は、この例ではプレゼンテーション１３４とプレゼンテーション１４０とを示しており、プレゼンテーション１３４とプレゼンテーション１４０との間の省略符号によって示されるように、追加のプレゼンテーションを含み得る。プレゼンテーション１３４は、ヘッダデータ１３６と３ＧＰＰファイル１３８Ａ〜１３８Ｎ（３ＧＰＰファイル１３８）とを含む。プレゼンテーション１４０は、ヘッダデータ１４２と３ＧＰＰファイル１４４Ａ〜１４４Ｎ（３ＧＰＰファイル１４４）とを含む。
【００７１】
３ＧＰＰファイル１３８は、３ＧＰＰファイル１４４とはサイズが異なるが、３ＧＰＰファイル１３８および３ＧＰＰファイル１４４は、ビデオ１４６のビデオ・セグメント１３０と時間的に整合される。図４の例では、３ＧＰＰファイル１３８Ａおよび３ＧＰＰファイル１４４Ａはビデオ・セグメント１３０Ａに対応し、３ＧＰＰファイル１３８Ｂおよび３ＧＰＰファイル１４４Ｂはビデオ・セグメント１３０Ｂに対応し、３ＧＰＰファイル１３８Ｃおよび３ＧＰＰファイル１４４Ｃはビデオ・セグメント１３０Ｃに対応し、３ＧＰＰファイル１３８Ｎおよび３ＧＰＰファイル１４４Ｎはビデオ・セグメント１３０Ｎに対応する。すなわち、３ＧＰＰファイル１３８Ａおよび３ＧＰＰファイル１４４Ａは、たとえば、潜在的に別様に符号化および／またはレンダリングされるが、概して、ビデオ・セグメント１３０Ａと同じシーンに対応する、ビデオ・データを含む。
【００７２】
ヘッダデータ１３６、１４２は、概して、それぞれプレゼンテーション１３４、１４０を記述するデータを含み得る。ヘッダデータ１３６、１４２は、図３のプレゼンテーション識別子１０２Ａ、増分ＵＲＮ１０４Ａ、プロファイルＩＤＣ値１０６Ａ、レベルＩＤＣ値１０８Ａ、フレームレート値１１０Ａ、ピクチャ幅値１１２Ａ、ピクチャ高さ値１１４Ａ、およびタイミング情報属性１１６Ａと同様のデータを含み得る。プレゼンテーション１３４〜１４０の３ＧＰＰファイル１３８、１４４を記述するＭＰＤファイルは、ＭＰＤファイルと、プレゼンテーション１３４、１４０と、３ＧＰＰファイル１３８、１４４との特性を記述するヘッダデータ（図示せず）をも含み得る。
【００７３】
このようにして、宛先デバイス４０（図１）は、宛先デバイス４０が３ＧＰＰファイル１３８および／または３ＧＰＰファイル１４４のビデオ・データを復号し、表示することが可能であるかどうかを判断するために、ヘッダデータ１３６、１４２を取り出し得る。宛先デバイス４０が、３ＧＰＰファイル１３８と３ＧＰＰファイル１４４の両方からのデータを復号し、レンダリングすることが可能であると仮定すると、宛先デバイス４０は、帯域幅利用可能性に基づいてプレゼンテーション１３４とプレゼンテーション１４０のいずれかを選択し得る。たとえば、プレゼンテーション１３４がプレゼンテーション１４０よりも低い平均ビットレートを有すると仮定すると、宛先デバイス４０は、帯域幅利用可能性が比較的低いとき、初めにプレゼンテーション１３４から３ＧＰＰファイル１３８Ａを取り出し得る。次いで、宛先デバイス４０が、帯域幅利用可能性が増加したと判断すると仮定すると、宛先デバイス４０は、次に３ＧＰＰファイル１４４Ｂを取り出し得る。３ＧＰＰファイル１３８Ａと３ＧＰＰファイル１４４Ａとが時間的に整合されるので、宛先デバイス４０は、３ＧＰＰファイル１４４Ｂの符号化ビデオ・データをシームレスに復号し、レンダリングし得、その結果、宛先デバイス４０のユーザは、潜在的に品質が変動するとしても、ビデオ・セグメント１３０Ａと、その直後にくるビデオ・セグメント１３０Ｂとを参照することが可能となる。
【００７４】
図５は、符号化ビデオ・データをソース・デバイスから宛先デバイスにトランスポートするための例示的な方法を示すフローチャートである。例として、図５の方法についてソース・デバイス２０および宛先デバイス４０に関して説明するが、他のデバイスが図５の方法を実行するように構成され得ることを理解されたい。
【００７５】
図５の例では、ソース・デバイス２０は、ビデオの様々なビデオ・セグメントに対応する符号化ビデオ・データを受信する。ソース・デバイス２０は、符号化ビデオ・データをＭＰＤファイルにカプセル化する（１８０）。たとえば、ソース・デバイス２０は、図４に示すように、共通のビデオ・セグメントに対応する多種多様なプレゼンテーションの符号化ビデオ・フレームを判断し、そのビデオ・フレームを様々なプレゼンテーションの１つまたは複数のそれぞれの３ＧＰＰファイルにカプセル化し得る。ソース・デバイス２０はまた、ＭＰＤファイル、プレゼンテーション、および／または３ＧＰＰファイルのヘッダ部分において、ＭＰＤファイル、プレゼンテーション、および３ＧＰＰファイルの特性をシグナリングする（１８２）。それらの特性は、図３に示す例示的な特性に対応し得る。
【００７６】
宛先デバイス４０のユーザは、初めに、たとえば、ウェブブラウザ３８（図１）を使用して、ウェブページ上のリンクから、またはウェブページの埋込みビデオから、ＭＰＤファイルを取り出し得る。ユーザがビデオを閲覧することを要求した後、宛先デバイス４０はＭＰＤファイルの特性を要求する（１８４）。たとえば、宛先デバイス４０は、特定のＭＰＤファイルについてＨＴＴＰ  ＨＥＡＤ要求をソース・デバイス２０に発行し得る。それに応答して、ソース・デバイス２０は、ＭＰＤファイルの特性を示すデータを与える（１８６）。このデータは、たとえば、ＭＰＤファイルについてのプレゼンテーションの数、宛先デバイス４０がそれぞれのプレゼンテーションの３ＧＰＰファイルを復号し、レンダリングすることが可能であると予想される、各プレゼンテーションについての復号能力およびレンダリング能力、各プレゼンテーションについての平均ビットレート、プレゼンテーションについての３ＧＰＰファイルの持続時間（３ＧＰＰファイルの各々が同じ持続時間を有する場合）、プレゼンテーションのうちの１つまたは複数についての３ＧＰＰファイルの各々についての持続時間（３ＧＰＰファイルが、プレゼンテーション内で異なる持続時間を有することができるが、異なるプレゼンテーション間で時間的に整合される場合）、各プレゼンテーションの増分ユニフォーム・リソースネーム、またはＭＰＤファイルの他の特性を示し得る。
【００７７】
宛先デバイス４０は、予想される復号およびレンダリング能力を分析して、上記プレゼンテーションのうち、どのプレゼンテーションが宛先デバイス４０によって復号され、レンダリングされ得るかを判断する（１８８）。たとえば、宛先デバイス４０は、受信したＭＰＤファイル特性において予想される復号能力によって示されるプロファイルＩＤＣ値およびレベルＩＤＣ値をビデオ・デコーダ４８が満たすかどうかを判断し得る。宛先デバイス４０はまた、予想されるレンダリング能力値によって示されるフレームレートでビデオ出力４４がビデオ・データを表示することが可能であるかどうかを判断し、予想されるレンダリング能力値のピクチャ高さおよび／またはピクチャ幅値にビデオ出力４４のサイズが一致するかどうかを判断し得る。いくつかの例では、ビデオ・デコーダ４８および／またはビデオ出力４４は、ビデオ出力４４のサイズ内に適切に収まるように、復号されたピクチャをアップサンプリングまたはダウンサンプリングし得る。同様に、ビデオ・デコーダ４８および／またはビデオ出力４４は、ビデオ出力４４のリフレッシュ速度に一致するように、復号されたビデオ・データのフレームを補間またはデシメート（またはスキップ）し得る。宛先デバイス４０は、ＭＰＤファイルのどのプレゼンテーションがローカルコンピュータ可読記憶媒体、たとえば、宛先デバイス４０のランダムアクセスメモリ（ＲＡＭ）において復号され、レンダリングされ得るかについての指示を記録し得る。
【００７８】
次いで、宛先デバイス４０は、それ自体とソース・デバイス２０との間のネットワークの帯域幅の相対量を判断する（１９０）。宛先デバイス４０は、概して、利用可能である帯域幅の量を判断するために、利用可能な帯域幅を推定するための任意の知られている技法を使用し得る。たとえば、宛先デバイス４０は、追加または代替として、（たとえば、インターネット制御メッセージ・プロトコル（ＩＣＭＰ）ピング要求をソース・デバイス２０に発行することによって）往復遅延を推定するか、（たとえば、伝送制御プロトコル（ＴＣＰ）統計に従って、損失または破損したパケットを分析することによって）平均パケット破損またはパケット損失を推定するか、あるいは他のネットワーク・パフォーマンス・メトリックを推定し得る。
【００７９】
次いで、宛先デバイス４０は、上記プレゼンテーションのうち、３ＧＰＰファイルをそこから取り出し始めるべきプレゼンテーションを選択する（１９２）。宛先デバイス４０は、上記プレゼンテーションのうち、予想される復号能力をビデオ・デコーダ４８が満たし、予想されるレンダリング能力をビデオ出力４４が満たす、プレゼンテーションを選択し得る。宛先デバイス４０が２つ以上のプレゼンテーションの符号化ビデオ・データを復号し、レンダリングすることが可能であるとき、宛先デバイス４０は、プレゼンテーションの平均ビットレートを互いに比較することによって、帯域幅の判断された量に基づいて、これらの潜在的なプレゼンテーションの中から選択し得る。宛先デバイス４０は、宛先デバイス４０が、利用可能な帯域幅が低いときは比較的低い平均ビットレートを有するプレゼンテーションを選択するが、利用可能な帯域幅が高いときは比較的高い平均ビットレートを有するプレゼンテーションを選択するように、平均ビットレートを利用可能な帯域幅に確実に関係づける機能で構成され得る。
【００８０】
プレゼンテーションを選択した後に、宛先デバイス４０はプレゼンテーションからの３ＧＰＰファイルを要求する（１９４）。宛先デバイス４０は、第１の３ＧＰＰファイル、またはシークされた時間（すなわち、ユーザがビデオ・データ内でシークすることを要求した位置に対応する時間ロケーション）を含む３ＧＰＰファイルを選択し得る。３ＧＰＰファイルを要求するために、宛先デバイスは、ソース・デバイス２０のＵＲＬと、ＭＰＤファイルのＵＲＮと、プレゼンテーション識別子と、３ＧＰＰファイル識別子とを指定するＨＴＴＰ  ＧＥＴ要求を構築し得る。３ＧＰＰファイル識別子は、３ＧＰＰファイルの数字識別子に対応するか、あるいは開始時間および／または終了時間のうちの少なくとも１つを含み得る。いくつかの例では、宛先デバイス４０は、たとえば、ユーザがシークする時間を含む３ＧＰＰファイルが比較的長い（たとえば、６０秒近く）とき、部分ＧＥＴ要求を構築し得る。
【００８１】
ＨＴＴＰ  ＧＥＴまたは部分ＧＥＴ要求を受信した後に、ソース・デバイス２０は、要求された３ＧＰＰファイル（または要求された３ＧＰＰファイルの部分）を取り出し、送る（１９６）。ソース・デバイス２０は、１つまたは複数のＨＴＴＰパケットにおいて３ＧＰＰファイルを宛先デバイス４０に送り得る。ＨＴＴＰパケットの各々は、たとえば、ＴＣＰ／ＩＰに従って、さらにカプセル化され得る。要求された３ＧＰＰファイルを受信し、再び集約した後に、宛先デバイス４０は、３ＧＰＰファイルを復号し、表示する（１９８）。すなわち、宛先デバイス４０のウェブ・ブラウザ３８は、３ＧＰＰファイルを復号のためにビデオ・デコーダ４８に送り得、ビデオ・デコーダ４８は、復号されたビデオ・データを表示のためにビデオ出力４４に送り得る。
【００８２】
次いで、宛先デバイス４０は、復号され表示されたビデオ・ファイルがビデオの最後の３ＧＰＰファイルであったかどうかを判断する（２００）。宛先デバイス４０は、ビデオの終了に達したとき、またはユーザがビデオを見るのを止めることを選択したとき、その３ＧＰＰファイルが最後であったと判断し得る。復号され表示されたビデオ・ファイルが最後のビデオ・ファイルでなかった場合（２００の「ＮＯ」分岐）、宛先デバイス４０は、利用可能な帯域幅を再評価し（１９０）、帯域幅の新たに判断された量に基づいてプレゼンテーションを選択し（１９２）、選択されたプレゼンテーションからの次の３ＧＰＰファイルを要求する（１９４）。一方、復号され表示されたビデオ・ファイルが最後のビデオ・ファイルであった場合（２００の「ＹＥＳ」分岐）、本方法は終了し得る。
【００８３】
図６は、例示的な３ＧＰＰファイル２２０の要素を示すブロック図である。宛先デバイス４０は、３ＧＰＰファイル２２０内の要求された時間をシークするために３ＧＰＰファイル２２０からのデータを使用し得る。概して、３ＧＰＰファイルは、たとえば、２秒から６０秒の間の、さらにはより長いまたはより短い、任意の時間の長さに対応するビデオ・データを含み得る。３ＧＰＰファイルの時間の長さが比較的短い（たとえば、２秒に近い）とき、宛先デバイス４０は、シーク時間、すなわち、たとえば、ユーザによって要求されるように、ビデオ・データを表示し始めるべきビデオ・データの時間を含む３ＧＰＰファイル全体を取り出すように構成され得る。一方、３ＧＰＰファイルの時間の長さがより長い（たとえば、６０秒により近い）とき、宛先デバイス４０は、たとえば、ＨＴＴＰ部分ＧＥＴ要求を使用することによって、復号および表示のためにシーク時間に近い３ＧＰＰファイルの一部分を取り出すように構成され得る。
【００８４】
３ＧＰＰファイル２２０は、ムービー（ＭＯＯＶ）ボックス２２２とムービー・フラグメント・ランダムアクセス（ＭＦＲＡ）ボックス２３０とを含む。ＭＯＯＶボックス２２２は、概して符号化ビデオ・データを含み、ＭＦＲＡボックス２３０は、ＭＯＯＶボックス２２２内のデータのランダムアクセスを支援するための記述データを含む。図６の例では、ＭＯＯＶボックス２２２は、ファイル全体についてのメタデータ２２４と、場合によってはビデオ・フラグメント２２６Ａ〜２２６Ｃ（ビデオ・フラグメント２２６）とを含み、ＭＦＲＡボックスは、フラグメント・シグナリングデータ２３４を含むトラック・フラグメント・ランダムアクセス（ＴＦＲＡ）ボックス２３２と、ＭＦＲＡサイズ値２３８を含むムービー・フラグメント・ランダムアクセス・オフセット（ＭＦＲＯ）ボックス２３６とを含む。
【００８５】
ＭＦＲＡサイズ値２３８は、ＭＦＲＡボックス２３０の長さをバイトで記述する。図６の例では、３ＧＰＰファイル２２０はＮバイトを有する。宛先デバイス４０は、３ＧＰＰファイル２２０の長さ、たとえば、この例ではＮの値を判断するために、３ＧＰＰファイル２２０についてのＨＴＴＰ  ＨＥＡＤ要求をサブミットし得る。概して、ＭＦＲＯボックス２３６は、３ＧＰＰファイル２２０の最後の４バイトを占有する。したがって、ＭＦＲＡボックス２３０の長さを判断するために、宛先デバイス４０などのクライアント・デバイスは、たとえば、［Ｎ−４］からＮまでのバイト範囲を指定するＨＴＴＰ部分ＧＥＴ要求を使用して、３ＧＰＰファイル２２０の最後の４バイトを取り出し得る。ＭＦＲＯボックス２３６がＭＦＲＡサイズ値２３８を含むので、宛先デバイス４０は、ＭＦＲＯボックス２３６を取り出した後にＭＦＲＡボックス２３０の長さを判断し得る。
【００８６】
ＭＦＲＡサイズ値２３８を使用してＭＦＲＡボックス２３０の長さを判断した後に、宛先デバイス４０は、ＭＦＲＡボックス２３０の残りの部分を取り出し得る。たとえば、宛先デバイス４０は、［Ｎ−ＭＦＲＡサイズ］から［Ｎ−４］までのバイト範囲を指定する、３ＧＰＰファイル２２０についてのＨＴＴＰ部分ｇｅｔを発行し得る。図６に示すように、この部分は、フラグメント・シグナリング２３４を含むＴＦＲＡボックス２３２を含む。フラグメント・シグナリング２３４は、たとえば、ビデオ・フラグメント２２６の時間ロケーションを指定し得る。ヘッダデータ２２４。
【００８７】
宛先デバイス４０は、シーク要求を満たすために、ビデオ・フラグメント２２６のうち、どのビデオ・フラグメントを取り出すべきかを判断するために、フラグメント・シグナリング２３４を使用し得る。すなわち、宛先デバイス４０は、ビデオ・フラグメント２２６のうち、どのビデオ・フラグメントが、シーク要求において指定された時間を含むかを判断し得る。宛先デバイス４０は、ビデオ・フラグメント２２６の各々についてのバイト範囲を判断するためにヘッダデータ２２４を取り出し得る。フラグメント・シグナリング２３４に基づいて、ビデオ・フラグメント２２６のうち、どのビデオ・フラグメントが、シーク要求において指定された時間を含むかを判断した後に、宛先デバイス４０は、ビデオ・フラグメント２２６のうち、シーク要求において指定された時間を含むビデオ・フラグメント、ならびに後続のビデオ・フラグメント２２６の各々を取り出し得る。
【００８８】
いくつかの例では、宛先デバイス４０は、ビデオ・フラグメント２２６のうち、シーク要求において指定された時間を含むビデオ・フラグメントについての第１の部分ＧＥＴ要求をサブミットし、受信時にこのビデオ・フラグメントを復号および表示し始め、次いで、ビデオ・フラグメント２２６のうちの後続のビデオ・フラグメントを取り出すための１つまたは複数の追加の部分ＧＥＴ要求をサブミットし得る。他の例では、宛先デバイス４０は、たとえば、ビデオ・フラグメント２２６のうち、シーク要求において指定された時間を含むビデオ・フラグメントの開始から［Ｎ−ＭＦＲＡサイズ］までに対応するバイト範囲を指定することによって、ビデオ・フラグメント２２６のうちの上記ビデオ・フラグメントと、ビデオ・フラグメント２２６のうちの後続のビデオ・フラグメントの各々とを取り出すための、１つの部分ＧＥＴ要求をサブミットし得る。
【００８９】
図７は、３ＧＰＰファイル内の時間についてのシーク要求に応答して３ＧＰＰファイルのフラグメントを要求するための例示的な方法を示すフローチャートである。初めに、宛先デバイス４０は、たとえば、ウェブ・ブラウザ３８を介してユーザから、ビデオ内の特定の時間をシークするための要求を受信する（２５０）。たとえば、ユーザは、特定の時間ロケーションのシークを要求するために、ビデオ・データの時間ロケーションを示すスクロールバーの一部分を選択し得る。
【００９０】
それに応答して、宛先デバイス４０は、シーク時間を含むＭＰＤファイルのプレゼンテーションの３ＧＰＰファイルを判断する（２５２）。すなわち、宛先デバイス４０は、シーク時間よりも小さい開始時間とシーク時間よりも大きい終了時間とを有するプレゼンテーションの３ＧＰＰファイルのうちの１つを判断し得る。例示のために、図７の方法について図６の３ＧＰＰファイル２２０に関して説明し、３ＧＰＰファイル２２０は、３ＧＰＰファイル識別子１１８に対応する３ＧＰＰファイル、３ＧＰＰファイル１３８、または３ＧＰＰファイル１４４のいずれかに対応し得る。３ＧＰＰファイル２２０が、シーク時間よりも小さい開始時間とシーク時間よりも大きい終了時間とを有すると仮定する。宛先デバイス４０は、３ＧＰＰファイル２２０を含むプレゼンテーションのヘッダ部分内に記憶された３ＧＰＰファイル２２０についてのタイミング情報属性に基づいて３ＧＰＰファイル２２０を識別し得る。シーク時間と３ＧＰＰファイル２２０の開始時間との間の差は、時間オフセットと呼ばれることがある。
【００９１】
次いで、宛先デバイス４０は、たとえば、３ＧＰＰファイル２２０を指定するＨＴＴＰ
ＨＥＡＤ要求をソース・デバイス２０に発行することによって、３ＧＰＰファイル２２０の長さを判断し得る。バイトでの３ＧＰＰファイル２２０の長さ（たとえば、Ｎバイト）を判断すると、宛先デバイス４０は、３ＧＰＰファイル２２０からＭＦＲＯボックス２３６を取り出す（２５４）ために、３ＧＰＰファイル２２０と、３ＧＰＰファイル２２０の［Ｎ−４］〜Ｎのバイト範囲とを指定するＨＴＴＰ部分ＧＥＴ要求を発行し得る。
【００９２】
図６の例に示すように、ＭＦＲＯボックス２３６はＭＦＲＡサイズ値２３８を含む。したがって、宛先デバイス４０は、ＭＦＲＯボックス２３６を受信した後にＭＦＲＡサイズ値２３８を使用して、ＭＦＲＡボックス２３０の残部を取り出す（２５６）。すなわち、宛先デバイス４０は、３ＧＰＰファイル２２０のバイト範囲［Ｎ−ＭＦＲＡサイズ］〜［Ｎ−４］についてのＨＴＴＰ部分ＧＥＴを発行し得る。このようにして、宛先デバイス４０は、ＭＦＲＯデータに基づいて残りのＭＦＲＡデータを取り出し得る。宛先デバイス４０は、ＭＯＯＶボックス２２２のＭＯＯＶヘッダデータ、たとえば、ヘッダ２２４をも取り出す（２５８）。
【００９３】
宛先デバイス４０は、ヘッダ２２４とＭＦＲＡボックス２３０のフラグメント・シグナリング２３２とのデータを使用して、ビデオ・フラグメント２２６のうち、どのビデオ・フラグメントが、シーク時間を超えることなしにシーク時間に最も近い開始時間を有するかを判断する（２６０）。次いで、宛先デバイス４０は、ビデオ・フラグメント２２６のうちの上記ビデオ・フラグメントと後続のビデオ・フラグメント２２６の各々とを３ＧＰＰファイル２２０から取り出すための１つまたは複数のＨＴＴＰ部分ＧＥＴ要求を発行する（２６２）。すなわち、ヘッダ２２４とフラグメント・シグナリング２３２とからの指示を使用して、宛先デバイス４０は、ビデオ・フラグメント２２６のうちの上記ビデオ・フラグメントが、シーク時間を超えることなしにシーク時間に最も近い開始時間を有する、開始バイトを判断し得る。様々な例では、次いで、宛先デバイス４０は、この開始バイトと、ビデオ・フラグメント２２６のうちのこのビデオ・フラグメントの最終バイトまたはＭＯＯＶボックス２２２の終了のいずれかとを指定するＨＴＴＰ部分ＧＥＴ要求を構築し得る。
【００９４】
図７の方法について、ＭＦＲＡボックス２３０からのデータの使用に関して説明するが、宛先デバイス４０は、３ＧＰＰファイル２２２からビデオ・フラグメント２２６を抽出するための同様の技法を実行するために他のデータを使用し得る。たとえば、宛先デバイス４０は、３ＧＰＰファイルのアイテム・ロケーション（ＩＬＯＣ）ボックスに基づいて、ビデオ・フラグメント２２６のうち、どのビデオ・フラグメントを抽出すべきかを判断し得る。最初の４バイトが、たとえば、アイテム・ロケーション・オフセット（ＩＬＯＯ）ボックスを含み、その直後にＩＬＯＣがくるように、３ＧＰＰファイルが構築され得る。ＩＬＯＯボックスはＩＬＯＣボックスの長さを指定し得る。ＩＬＯＯボックスは、以下の例示的な擬似コードに従って構築され得る。
【数２】
2014212538.tif 000004
【００９５】
例示的な擬似コードでは、ＩｔｅｍＬｏｃａｔｉｏｎＢｏｘＯｆｆｓｅｔは、ＩＬＯＯボックスについての新しいクラスの名前を記述する。本例では、ＩＬＯＣボックスのサイズを示す３２ビット整数値「ｓｉｚｅ」を指定する。ＩＬＯＯボックスによって指定されたＩＬＯＣボックスのサイズ値は、ＩＬＯＯボックスの４バイトを含み得る。
【００９６】
ＩＬＯＣボックスは、３ＧＰＰファイル内に含まれるビデオ・フラグメントのタイミング情報、たとえば、各フラグメントの開始時間および終了時間を示す、タイミング情報ボックスを指定し得る。タイミング情報は、たとえば、ビットを節約するために、自動的にシグナリングされ得る。ＩＬＯＣボックスは、さらに、３ＧＰＰファイルのＭＯＯＶボックスの他の記述データ、たとえば、図６のヘッダ２２４によって記憶されたデータと同様のデータを含み得る。ＩＬＯＣおよびＩＬＯＯボックスは、ムービー・フラグメントのタイミング情報を示すために使用され得る。したがって、宛先デバイス４０は、ＩＬＯＣおよびＩＬＯＯボックスのデータに基づいて１つまたは複数のＨＴＴＰ部分ＧＥＴ要求を構築することによってシーク要求を満たすためにビデオ・フラグメントを取り出し得る。
【００９７】
特に、宛先デバイス４０は、最初に、ＩＬＯＣボックスのサイズ値に対応する、３ＧＰＰファイルの最初の４バイトを取り出し得る。すなわち、宛先デバイス４０は、最初に、ＩＬＯＯボックスを取り出すための、３ＧＰＰファイルのバイト０〜４についてのＨＴＴＰ部分ＧＥＴ要求を発行し得る。ＩＬＯＯボックスによって指定されたＩＬＯＣボックスのサイズを使用することによって、宛先デバイス４０は、たとえば、バイト４〜［ＩＬＯＣサイズ］を指定するＨＴＴＰ部分ＧＥＴ要求を発行することによって、ＩＬＯＣボックスを取り出し得る。
【００９８】
ＩＬＯＣボックスは、各ビデオ・フラグメントについてのバイト範囲および時間ロケーション、たとえば、開始時間、終了時間、開始バイト、および終了バイトを示す（後続のＩＬＯＣボックスとも呼ばれる）タイミング情報ボックスの位置および長さを指定し得る。したがって、宛先デバイス４０は、次いで、ＩＬＯＣボックスのデータに基づいてタイミング情報ボックスを取り出し得る。次いで、宛先デバイス４０は、上記ビデオ・フラグメントのうち、どのビデオ・フラグメントが、シーク時間よりも小さい開始時間とシーク時間よりも大きい終了時間とを含むかを判断し、３ＧＰＰファイルのこのビデオ・フラグメントと後続のビデオ・フラグメントとを取り出すための１つまたは複数のＨＴＴＰ部分ＧＥＴ要求を発行し得る。
【００９９】
タイミング情報ボックスは、以下の例次的な擬似コードに従って実装され得る。
【数３】
2014212538.tif 000005
【０１００】
例示的な擬似コードでは、「ｎｕｍｂｅｒ＿ｅｎｔｒｙ」値は、３ＧＰＰファイルの連続ムービー・フラグメントの数を記述する。ｎｕｍｂｅｒ＿ｅｎｔｒｙは、ムービー・フラグメントのすべての持続時間が同じであることを示すために１の値に設定され得る。「ｄｅｌｔａＴＦｒａｇｍｅｎｔ」値は、概して、３ＧＰＰファイル中のムービー・フラグメントの連続グループのｉ番目のエントリのフラグメントの持続時間を記述し得る。「ｎｕｍＣｏｎｔｉｎｕｅＦｒａｇＷｉｔｈＳａｍｅＤｕｒａｔｉｏｎ」値は、ｉ番目のエントリにおける連続ムービー・フラグメントの数を記述する。「ｎｕｍＣｏｎｔｉｎｕｅＦｒａｇＷｉｔｈＳａｍｅＤｕｒａｔｉｏｎ」値が０に等しいとき、その値は、プレゼンテーション中のすべての３ＧＰＰファイルが同じ持続時間ｄｅｌｔａＴを有することを示す。
【０１０１】
１つまたは複数の例では、説明した機能はハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータ・プログラムの転送を可能にする任意の媒体を含む、コンピュータデータ記憶媒体または通信媒体を含み得る。データ記憶媒体は、本開示で説明する技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。「コンピュータ可読記憶媒体」という句は、製造品に対応し得る非一時的な有形のコンピュータ可読記憶媒体を指すものとする。限定ではなく、例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１０２】
コードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェア・モジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１０３】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェア・ユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１０４】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2014212538.tif 000006
【図２】
2014212538.tif 000007
【図３】
2014212538.tif 000008
【図４】
2014212538.tif 000009
【図５】
2014212538.tif 000010
【図６】
2014212538.tif 000011
【図７】
2014212538.tif 000012
【手続補正書】
【提出日】平成26年7月16日(2014.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化ビデオデータについての情報を与える方法であって、前記方法は、
符号化ビデオデータユニットを受信することであって、前記ユニットの各々がビデオセグメントに対応する、受信することと；
前記ユニットの第１のシーケンスを判断することであって、前記第１のシーケンス中の前記ユニットの各々が第１の共通の時間持続時間を有する、判断することと；
ユニットの前記第１のシーケンスの前記第１の共通の時間持続時間と、前記第１のシーケンス中の前記ビデオデータユニットの数とをクライアントデバイスに与えることであって、ここで、与えることは、前記共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を与えることを備え、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応する、与えることと；
前記ユニットの第２のシーケンスを判断することであって、前記第２のシーケンス中の前記ユニットの各々が第２の共通の時間持続時間を有し、前記第２の共通の時間持続時間は、前記第１の共通の時間持続時間とは異なる、判断することと；
ユニットの前記第２のシーケンスの前記第２の共通の時間持続時間と、前記第２のシーケンス中の前記ビデオデータユニットの数とを前記クライアントデバイスに与えることであって、ここで、与えることは、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中の前記ビデオデータユニットの数に関する第４の値を与えることを備え、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応する、与えることと；
前記第１のシーケンスと前記第２のシーケンスの前記セグメントの各々に一意のユニフォームリソースロケータを割り当てることと；
前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ビデオセグメントのうちの１つについての前記ユニフォームリソースロケータを指定するストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を前記クライアントデバイスから受信することと；
前記要求に応答して、ストリーミングＨＴＴＰに従って前記要求されたビデオセグメントを前記クライアントデバイスに送ること；
を備える、方法。
【請求項２】
ユニットの前記第１のシーケンスの開始時間を判断することと、
ユニットの前記第１のシーケンスの前記開始時間を前記クライアントデバイスに与えることと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記ユニットの前記第１のシーケンスと前記ユニットの前記第２のシーケンスを判断することは、前記ユニットの複数のシーケンスを判断することであって、前記複数のシーケンスの各々が、それぞれの共通の時間持続時間を有する前記ユニットのうちの１つまたは複数を備える、判断することを備え、前記複数のシーケンスがビデオファイルのプレゼンテーション内で連続的に配置され、
前記与えることが、前記ビデオデータユニットのいずれかを前記クライアントデバイスに送る前に前記ビデオファイルの特性として前記第１の値、前記第２の値、前記第３の値および前記第４の値を前記クライアントデバイスに送ることを備え、前記複数のシーケンスの各々について、与えられた情報が、前記対応するシーケンスの前記それぞれの共通の時間持続時間と、前記対応するシーケンス中の前記ビデオデータユニットの前記数とを示す、
請求項１に記載の方法。
【請求項４】
符号化ビデオデータについての情報を与えるための装置であって、前記装置は、
ビデオデータのユニットを備える符号化ビデオデータを受信することと、ここで、前記ユニットの各々がビデオセグメントに対応し、
前記ユニットの第１のシーケンスを判断することと、ここで、前記第１のシーケンス中の前記ユニットの各々が第１の共通の時間持続時間を有し、
ビデオユニットの前記第１のシーケンスの前記第１の共通の時間持続時間と、前記第１のシーケンス中の前記ビデオデータユニットの数とを生成することと、ここで、前記共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を生成し、前記第１の値はユニットのシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応し、
ここで、さらに、前記ユニットの第２のシーケンスを判断することと、前記第２のシーケンス中の前記ユニットの各々が第２の共通の時間持続時間を有し、前記第２の共通の時間持続時間は、前記第１の共通の時間持続時間とは異なり、
ユニットの前記第２のシーケンスの前記第２の共通の時間持続時間と、前記第２のシーケンス中の前記ビデオデータユニットの数とを生成することと、ここで、与えることは、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中のビデオデータユニットの数に関する第４の値を与えることを備え、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応し、
前記第１のシーケンスと前記第２のシーケンスの前記セグメントの各々に一意のユニフォームリソースロケータを割り当てることと、
前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ビデオセグメントのうちの１つについての前記ユニフォームリソースロケータを指定するストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求をクライアントデバイスから受信すること、
を行うように構成されたプロセッサと、
ビデオユニットの前記第１のシーケンスの前記第１の共通の時間持続時間と、前記第１のシーケンス中の前記ビデオデータユニットの前記数と、ユニットの前記第２のシーケンスの前記第２の共通の時間持続時間と、前記第２のシーケンス中の前記ビデオデータユニットの前記数とを前記クライアントデバイスに与える、およびストリーミングＨＴＴＰに従って前記要求されたビデオセグメントを前記クライアントデバイスに与える、
ように構成されたネットワークインターフェースと、
を備える、装置。
【請求項５】
前記プロセッサが、ビデオユニットの前記第１のシーケンスの開始時間を判断することと、ビデオユニットの前記第１のシーケンスの前記開始時間を生成することとを行うように構成され、前記ネットワークインターフェースが、ビデオユニットの前記第１のシーケンスの前記開始時間を前記クライアントデバイスに与えるように構成された、請求項４に記載の装置。
【請求項６】
前記プロセッサは、前記第１のシーケンスと前記第２のシーケンスを含む前記ユニットの複数のシーケンスを判断することであって、前記シーケンスの各々が、それぞれの共通の時間持続時間を有する前記ユニットのうちの１つまたは複数を備える、判断することを行うように構成され、前記複数のシーケンスがビデオファイルのプレゼンテーション内で連続的に配置され、
前記プロセッサが、前記ビデオファイルの前記ビデオデータユニットのいずれかを前記クライアントデバイスに送る前に前記ビデオファイルの特性として前記第１の値、前記第２の値、前記第３の値および前記第４の値を前記クライアントデバイスに送るように構成され、前記複数のシーケンスの各々について、与えられた情報が、前記対応するシーケンスの前記それぞれの共通の時間持続時間と、前記対応するシーケンス中の前記ビデオデータユニットの前記数とを示す、
請求項４に記載の装置。
【請求項７】
符号化ビデオデータについての情報を与えるための装置であって、前記装置は、
ビデオデータのユニットを備える符号化ビデオデータを受信するための手段であって、前記ユニットの各々がビデオセグメントに対応する、受信するための手段と；
前記ユニットの第１のシーケンスを判断するための手段であって、前記第１のシーケンス中の前記ユニットの各々が第１の共通の時間持続時間を有する、判断するための手段と；
ユニットの前記第１のシーケンスの前記第１の共通の時間持続時間と、前記第１のシーケンス中の前記ビデオデータユニットの数とをクライアントデバイスに与えるための手段であって、ここで、前記与えるための手段は、前記第１の共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を与えるための手段を備え、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応する、与えるための手段と；
前記ユニットの第２のシーケンスを判断するための手段であって、前記第２のシーケンス中の前記ユニットの各々が第２の共通の時間持続時間を有し、前記第２の共通の時間持続時間は、前記第１の共通の時間持続時間とは異なる、判断するための手段と；
ユニットの前記第２のシーケンスの前記第２の共通の時間持続時間と、前記第２のシーケンス中の前記ビデオデータユニットの数とを前記クライアントデバイスに与えるための手段であって、ここで、与えることは、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中のビデオデータユニットの数に関する第４の値を与えることを備え、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応する、与えるための手段と；
前記第１のシーケンスと前記第２のシーケンスの前記セグメントの各々に一意のユニフォームリソースロケータを割り当てるための手段と；
前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ビデオセグメントのうちの１つについての前記ユニフォームリソースロケータを指定するストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を前記クライアントデバイスから受信するための手段と；
前記要求に応答して、ストリーミングＨＴＴＰに従って前記要求されたビデオセグメントを前記クライアントデバイスに送るための手段；
を備える、装置。
【請求項８】
ユニットの前記第１のシーケンスの開始時間を判断するための手段と、
ユニットの前記第１のシーケンスの前記開始時間を前記クライアントデバイスに与えるための手段と
をさらに備える、請求項７に記載の装置。
【請求項９】
前記ユニットの前記第１のシーケンスとユニットの前記第２のシーケンスを判断するための前記手段は、前記ユニットの複数のシーケンスを判断することであって、前記複数のシーケンスの各々が、それぞれの共通の時間持続時間を有する前記ユニットのうちの１つまたは複数を備える、判断することを備え、前記複数のシーケンスがビデオファイルのプレゼンテーション内で連続的に配置され、
与えるための前記手段が、前記ビデオデータユニットのいずれかを前記クライアントデバイスに送る前に前記ビデオファイルの特性として前記第１の値、前記第２の値、前記第３の値および前記第４の値を前記クライアントデバイスに送るための手段を備え、前記複数のシーケンスの各々について、与えられた情報が、前記対応するシーケンスの前記それぞれの共通の時間持続時間と、前記対応するシーケンス中の前記ビデオデータユニットの前記数とを示す、
請求項７に記載の装置。
【請求項１０】
実行されると、
ビデオデータのユニットを備える符号化ビデオデータを受信することであって、前記ユニットの各々がビデオセグメントに対応する、受信することと；
前記ユニットの第１のシーケンスを判断することであって、前記第１のシーケンス中の前記ユニットの各々が第１の共通の時間持続時間を有する、判断することと；
ユニットの前記シーケンスの前記第１の共通の時間持続時間と、前記シーケンス中の前記ビデオデータユニットの数をクライアントデバイスに与えることであって、ここで、与えることは、前記第１の共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を与えることを備え、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応する、与えることと；
前記ユニットの第２のシーケンスを判断することであって、前記第２のシーケンス中の前記ユニットの各々が第２の共通の時間持続時間を有し、前記第２の共通の時間持続時間は、前記第１の共通の時間持続時間とは異なる、判断することと；
ユニットの前記第２のシーケンスの前記第２の共通の時間持続時間と、前記第２のシーケンス中の前記ビデオデータユニットの数とを前記クライアントデバイスに与えることであって、ここで、与えることは、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中の前記ビデオデータユニットの数に関する第４の値を与えることを備え、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応する、与えることと；
前記第１のシーケンスと前記第２のシーケンスの前記セグメントの各々に一意のユニフォームリソースロケータを割り当てることと；
前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ビデオセグメントのうちの１つについての前記ユニフォームリソースロケータを指定するストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を前記クライアントデバイスから受信することと；
前記要求に応答して、ストリーミングＨＴＴＰに従って前記要求されたビデオセグメントを前記クライアントデバイスに送ること；
を、符号化ビデオデータについての情報を与えるためのデバイスのプロセッサに行わせる命令を記憶した非一時的なコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項１１】
ユニットの前記第１のシーケンスの開始時間を判断することと、
ユニットの前記第１のシーケンスの前記開始時間を前記クライアントデバイスに与えることと
を前記プロセッサに行わせる命令をさらに備える、請求項１０に記載のコンピュータプログラム製品。
【請求項１２】
前記ユニットの前記第１のシーケンスと前記ユニットの前記第２のシーケンスを判断することを前記プロセッサに行わせる前記命令は、前記ユニットの複数のシーケンスを判断することを前記プロセッサに行わせる命令であって、前記複数のシーケンスの各々が、それぞれの共通の時間持続時間を有する前記ユニットのうちの１つまたは複数を備える、命令を備え、前記複数のシーケンスがビデオファイルのプレゼンテーション内で連続的に配置され、
与えることを前記プロセッサに行わせる前記命令が、前記ビデオデータユニットのいずれかを前記クライアントデバイスに送る前に前記ビデオファイルの特性として前記第１の値、前記第２の値、前記第３の値および前記第４の値を前記クライアントデバイスに送ることを前記プロセッサに行わせる命令を備え、前記複数のシーケンスの各々について、与えられた情報が、前記対応するシーケンスの前記それぞれの共通の時間持続時間と、前記対応するシーケンス中の前記ビデオデータユニットの前記数とを示す、
請求項１０に記載のコンピュータプログラム製品。
【請求項１３】
符号化ビデオデータを受信する方法であって、前記方法は、
符号化ビデオデータのユニットの第１のシーケンス中のユニットの第１の共通の時間持続時間と、前記第１のシーケンス中の前記ユニットの数とを受信することであって、前記第１の共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を受信することを備え、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応し、前記第１のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信することと；
符号化ビデオデータのユニットの第２のシーケンス中のユニットの第２の共通の時間持続時間と、前記第２のシーケンス中の前記ユニットの数とを受信することであって、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中の前記ビデオデータユニットの数に関する第４の値を受信することを備え、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応し、前記第２のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信することと；
再生を開始すべき前記符号化ビデオデータの時間ロケーションの１つまたは複数の指示を受信することであって、前記時間ロケーションがユニットの前記第１のシーケンスおよびユニットの前記第２のシーケンス内にあり、前記１つまたは複数の指示が、セグメントをそこから取り出すべき、ユニットの前記第１のシーケンスまたはユニットの前記第２のシーケンスのいずれかの指示を備える、受信することと；
前記受信された１つまたは複数の指示に基づいて、前記第１のシーケンスまたは前記第２のシーケンスのいずれかのセグメントのユニフォームリソースロケータを判断することであって、前記第１のシーケンスの、および前記第２のシーケンスのセグメントの前記ユニフォームリソースロケータは一意である、判断することと；
ネットワークストリームが前記時間ロケーションを含むように、前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ユニットのうちの１つにおいて前記ネットワークストリームを開始するためのストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を、ストリーミングＨＴＴＰに従って、自動的に生成することであって、前記ストリーミングＨＴＴＰ要求を生成することが、前記ストリーミングＨＴＴＰ要求中の前記判断されたユニフォームリソースロケータのうちの１つを指定することを備える、生成することと；
前記ストリーミングＨＴＴＰ要求を、サーバデバイスに送ること；
を備える、方法。
【請求項１４】
前記受信することが、前記サーバデバイスから受信することを備える、請求項１３に記載の方法。
【請求項１５】
前記要求を自動的に生成することが、前記指定されたユニフォームリソースロケータを自動的に生成することを備え、前記方法が、
前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての開始時間を判断することと、
前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての終了時間を判断することと、
前記ユニフォームリソースロケータにおいて前記開始時間および前記終了時間を指定することと
を備える、請求項１３に記載の方法。
【請求項１６】
ユニットの前記第１のシーケンスを含む第１の表現またはユニットの前記第２のシーケンスを含む第２の表現の開始時間と、前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンス中のユニットの前記数または前記第２のシーケンス中のユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての前記開始時間を計算することをさらに備える、請求項１５に記載の方法。
【請求項１７】
前記ストリーミングＨＴＴＰ要求を自動的に生成することが、ビデオファイル中の前記ビデオセグメントのうちの前記１つについてのバイト範囲を指定することをさらに備える、請求項１５に記載の方法。
【請求項１８】
符号化ビデオデータを受信するための装置であって、前記装置は、
ネットワークインターフェースと、
前記ネットワークインターフェースを介して、符号化ビデオデータのユニットの第１のシーケンスの第１の共通の時間持続時間と、前記シーケンス中の前記ユニットの数とを受信することであって、前記第１の共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を受信し、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第２のシーケンスの全体に対応し、前記第１のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信することと；
符号化ビデオデータのユニットの第２のシーケンス中のユニットの第２の共通の時間持続時間と、前記第２のシーケンス中の前記ユニットの数とを受信することであって、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中の前記ビデオデータユニットの数に関する第４の値を受信し、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応し、前記第２のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信することと；
再生を開始すべき前記符号化ビデオデータの時間ロケーションの１つまたは複数の指示を受信することであって、前記時間ロケーションがユニットの前記第１のシーケンスおよびユニットの前記第２のシーケンス内にあり、前記１つまたは複数の指示が、セグメントをそこから取り出すべき、ユニットの前記第１のシーケンスまたはユニットの前記第２のシーケンスのいずれかの指示を備える、受信することと；
前記受信された１つまたは複数の指示に基づいて、前記第１のシーケンスまたは前記第２のシーケンスのいずれかのセグメントのユニフォームリソースロケータを判断することであって、前記第１のシーケンスの、および前記第２のシーケンスのセグメントの前記ユニフォームリソースロケータは一意である、判断することと；
ネットワークストリームが前記時間ロケーションを含むように、前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ユニットのうちの１つにおいて前記ネットワークストリームを開始するためのストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を、ストリーミングＨＴＴＰに従って、自動的に生成することであって、そして、前記ストリーミングＨＴＴＰ要求中の前記判断されたユニフォームリソースロケータのうちの１つを指定する、生成することと；
前記ネットワークインターフェースを介して、前記ストリーミングＨＴＴＰ要求を、サーバデバイスに送ること；
を行うように構成されたプロセッサと
を備える、装置。
【請求項１９】
前記ネットワークインターフェースが、前記サーバデバイスから受信するように構成された、請求項１８に記載の装置。
【請求項２０】
前記要求を自動的に生成するために、前記プロセッサが、前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての開始時間を判断することと、前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての終了時間を判断することと、前記ユニフォームリソースロケータにおいて前記開始時間および前記終了時間を指定することと、を行うように構成された、請求項１８に記載の装置。
【請求項２１】
前記プロセッサが、ユニットの前記第１のシーケンスを含む第１の表現またはユニットの前記第２のシーケンスを含む第２の表現の開始時間と、前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンス中の前記ユニットの前記数または前記第２のシーケンス中のユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての前記開始時間を計算するように構成された、請求項２０に記載の装置。
【請求項２２】
前記ストリーミングＨＴＴＰ要求を自動的に生成するために、前記プロセッサが、ビデオファイル中の前記ビデオセグメントのうちの前記１つについてのバイト範囲を指定するように構成された、請求項２０に記載の装置。
【請求項２３】
符号化ビデオデータを受信するための装置であって、前記装置は、
符号化ビデオデータのユニットの第１のシーケンス中のユニットの第１の共通の時間持続時間と、前記第１のシーケンス中の前記ユニットの数とを受信するための手段であって、前記第１の共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を受信することを備え、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応し、前記第１のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信するための手段と；
符号化ビデオデータのユニットの第２のシーケンス中のユニットの第２の共通の時間持続時間と、前記第２のシーケンス中の前記ユニットの数とを受信するための手段であって、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中の前記ビデオデータユニットの数に関する第４の値を受信するための手段を備え、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応し、前記第２のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信するための手段と；
再生を開始すべき前記符号化ビデオデータの時間ロケーションの１つまたは複数の指示を受信するための手段であって、前記時間ロケーションがユニットの前記第１のシーケンスおよびユニットの前記第２のシーケンス内にあり、前記１つまたは複数の指示が、セグメントをそこから取り出すべき、ユニットの前記第１のシーケンスまたはユニットの前記第２のシーケンスのいずれかの指示を備える、受信するための手段と；
前記受信された１つまたは複数の指示に基づいて、前記第１のシーケンスまたは前記第２のシーケンスのいずれかのセグメントのユニフォームリソースロケータを判断するための手段であって、前記第１のシーケンスの、および前記第２のシーケンスのセグメントの前記ユニフォームリソースロケータは一意である、判断するための手段と；
ネットワークストリームが前記時間ロケーションを含むように、前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ユニットのうちの１つにおいて前記ネットワークストリームを開始するためのストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を、ストリーミングＨＴＴＰに従って、自動的に生成するための手段であって、前記ストリーミングＨＴＴＰ要求を生成することが、前記ストリーミングＨＴＴＰ要求中の前記判断されたユニフォームリソースロケータのうちの１つを指定することを備える、生成するための手段と；
前記ストリーミングＨＴＴＰ要求を、サーバデバイスに送るための手段；
を備える、装置。
【請求項２４】
受信するための前記手段が、前記サーバデバイスから受信するための手段を備える、請求項２３に記載の装置。
【請求項２５】
前記要求を自動的に生成するための前記手段が、前記判断されたユニフォームリソースロケータを自動的に生成するための手段を備え、前記装置が、
前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての開始時間を判断するための手段と、
前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての終了時間を判断するための手段と、
前記ユニフォームリソースロケータにおいて前記開始時間および前記終了時間を指定するための手段とをさらに備える、請求項２４に記載の装置。
【請求項２６】
ユニットの前記第１のシーケンスを含む第１の表現またはユニットの前記第２のシーケンスを含む第２の表現の開始時間と、前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンス中のユニットの前記数または前記第２のシーケンス中のユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての前記開始時間を計算するための手段をさらに備える、請求項２５に記載の装置。
【請求項２７】
前記ストリーミングＨＴＴＰ要求を自動的に生成するための前記手段が、ビデオファイル中の前記ビデオセグメントのうちの前記１つについてのバイト範囲を指定するための手段をさらに備える、請求項２５に記載の装置。
【請求項２８】
実行されると、
符号化ビデオデータのユニットの第１のシーケンス中のユニットの第１の共通の時間持続時間と、前記第１のシーケンス中の前記ユニットの数とを受信することであって、前記第１の共通の時間持続時間に関する第１の値と、前記第１のシーケンス中の前記ビデオデータユニットの数に関する第２の値を受信することを備え、前記第１の値はユニットの第１のシーケンスの全体に対応し、前記第２の値はユニットの第１のシーケンスの全体に対応し、前記第１のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信することと；
符号化ビデオデータのユニットの第２のシーケンス中のユニットの第２の共通の時間持続時間と、前記第２のシーケンス中の前記ユニットの数とを受信することであって、前記第２の共通の時間持続時間に関する第３の値と、前記第２のシーケンス中の前記ビデオデータユニットの数に関する第４の値を受信し、前記第３の値はユニットの第２のシーケンスの全体に対応し、前記第４の値はユニットの第２のシーケンスの全体に対応し、前記第２のシーケンスの前記ユニットはそれぞれのビデオセグメントを備える、受信することと；
再生を開始すべき前記符号化ビデオデータの時間ロケーションの１つまたは複数の指示を受信することであって、前記時間ロケーションがユニットの前記第１のシーケンスおよびユニットの前記第２のシーケンス内にあり、前記１つまたは複数の指示が、セグメントをそこから取り出すべき、ユニットの前記第１のシーケンスまたはユニットの前記第２のシーケンスのいずれかの指示を備える、受信することと；
前記受信された１つまたは複数の指示に基づいて、前記第１のシーケンスまたは前記第２のシーケンスのいずれかのセグメントのユニフォームリソースロケータを判断することであって、前記第１のシーケンスの、および前記第２のシーケンスのセグメントの前記ユニフォームリソースロケータは一意である、判断することと；
ネットワークストリームが前記時間ロケーションを含むように、前記第１のシーケンスまたは前記第２のシーケンスのいずれか中の前記ユニットのうちの１つにおいて前記ネットワークストリームを開始するためのストリーミングハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を、ストリーミングＨＴＴＰに従って、自動的に生成することであって、前記ストリーミングＨＴＴＰ要求を生成することが、前記ストリーミングＨＴＴＰ要求中の前記判断されたユニフォームリソースロケータのうちの１つを指定することを備える、生成することと；
前記ストリーミングＨＴＴＰ要求を、サーバデバイスに送ること；
を、符号化ビデオデータを受信するためのデバイスのプロセッサに行わせる命令を記憶した非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品。
【請求項２９】
受信することを前記プロセッサに行わせる前記命令が、前記サーバデバイスから受信することを前記プロセッサに行わせる命令を備える、請求項２８に記載のコンピュータプログラム製品。
【請求項３０】
前記要求を自動的に生成することを前記プロセッサに行わせる前記命令が、前記指定されたユニフォームリソースロケータを自動的に生成することを前記プロセッサに行わせる命令を備え、前記コンピュータプログラム製品が、
前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての開始時間を判断することと、
前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンスまたは前記第２のシーケンス中の前記ユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての終了時間を判断することと、
前記ユニフォームリソースロケータにおいて前記開始時間および前記終了時間を指定することと
を前記プロセッサに行わせる命令を備える、請求項２８に記載のコンピュータプログラム製品。
【請求項３１】
ユニットの前記第１のシーケンスを含む第１の表現またはユニットの前記第２のシーケンスを含む第２の表現の開始時間と、前記第１の共通の時間持続時間または前記第２の共通の時間持続時間と、前記第１のシーケンス中のユニットの前記数または前記第２のシーケンス中のユニットの前記数とに基づいて、前記ユニットのうちの前記１つについての前記開始時間を計算することを前記プロセッサに行わせる命令をさらに備える、請求項３０に記載のコンピュータプログラム製品。
【請求項３２】
前記ストリーミングＨＴＴＰ要求を自動的に生成することを前記プロセッサに行わせる前記命令が、ビデオファイル中の前記ビデオセグメントのうちの前記１つについてのバイト範囲を指定することを前記プロセッサに行わせる命令をさらに備える、請求項３０に記載のコンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願出願当初の特許請求の範囲を付記する。
[Ｃ１]  符号化ビデオ・データをトランスポートするための方法であって、前記方法は、
ソース・ビデオ・デバイスが、いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、
いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成することと、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力することと、
を備える、方法。
[Ｃ２]  前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングすることをさらに備える、Ｃ１に記載の方法。
[Ｃ３]  前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力することが、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力することを備える、
Ｃ２に記載の方法。
[Ｃ４]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記方法は、
いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成することであって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成することと、
前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力することであって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つを指定する、出力することと、
をさらに備える、Ｃ１に記載の方法。
[Ｃ５]  前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングすることと、
前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングすることと、
をさらに備える、Ｃ４に記載の方法。
[Ｃ６]  前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力することが、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力することを備え、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
Ｃ４に記載の方法。
[Ｃ７]  前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、Ｃ１に記載の方法。
[Ｃ８]  符号化ビデオ・データをトランスポートするための装置であって、前記装置は、
いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成することとを行うように構成された管理ユニットと、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力するように構成されたネットワーク・インターフェースと
を備える、装置。
[Ｃ９]  前記管理ユニットが、前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングするように構成された、Ｃ８に記載の装置。
[Ｃ１０]  前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するために、前記ネットワーク・インターフェースが、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力する、
Ｃ９に記載の装置。
[Ｃ１１]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記管理ユニットは、いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成することであって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成することと、前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力することであって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つをさらに指定する、出力することと、を行うように構成された、Ｃ８に記載の装置。
[Ｃ１２]  前記管理ユニットが、前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングすることと、前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングすることとを行うように構成された、Ｃ１１に記載の装置。
[Ｃ１３]  前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するために、前記ネットワーク・インターフェースが、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力するように構成され、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
Ｃ１１に記載の装置。
[Ｃ１４]  前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、Ｃ８に記載の装置。
[Ｃ１５]  符号化ビデオ・データをトランスポートするための装置であって、前記装置は、
いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信するための手段と、
いくつかのビデオ・ファイルを備えるプレゼンテーションを形成するための手段であって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成するための手段と、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力するための手段と、
を備える、装置。
[Ｃ１６]  前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングするための手段をさらに備える、Ｃ１５に記載の装置。
[Ｃ１７]  前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記手段が、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力するための手段を備える、
Ｃ１６に記載の装置。
[Ｃ１８]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記装置は、
いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成するための手段であって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成するための手段と、
前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力するための手段であって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つをさらに指定する、出力するための手段と、
をさらに備える、Ｃ１５に記載の装置。
[Ｃ１９]  前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングするための手段と、
前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングするための手段と、
をさらに備える、Ｃ１８に記載の装置。
[Ｃ２０]  前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記手段が、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力するための手段を備え、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
Ｃ１８に記載の装置。
[Ｃ２１]  前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、Ｃ１５に記載の装置。
[Ｃ２２]  実行されると、
いくつかのビデオ・セグメントを備える符号化ビデオ・データを受信することと、
いくつかのビデオ・ファイルを備えるプレゼンテーションを形成することであって、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、形成することと、
前記ビデオ・データの時間セクションを指定する要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを出力することとを、符号化ビデオ・データをトランスポートするためのソース・デバイスのプロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体。
[Ｃ２３]  前記ビデオ・ファイルの各々についての開始時間および終了時間をシグナリングするための命令をさらに備える、Ｃ２２に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２４]  前記時間セクションが、前記ビデオ・ファイルのうちの１つについての前記開始時間と等価な開始時間を備え、前記時間セクションが、前記ビデオ・ファイルのうちの前記１つについての前記終了時間と等価な終了時間を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記命令が、前記要求によって指定された前記時間セクションの前記それぞれの開始時間および終了時間と等価な前記開始時間および前記終了時間を有する前記ビデオ・ファイルのうちの前記１つを出力するための命令を備える、
Ｃ２３に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２５]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記非一時的コンピュータ可読記憶媒体は、
いくつかのビデオ・ファイルを備える第２のプレゼンテーションを形成することであって、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合される、形成することと、
前記要求に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションから前記いくつかのビデオ・ファイルのうちの少なくとも１つを選択的に出力することであって、前記要求が前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つをさらに指定する、出力することと、
を行うための命令をさらに備える、Ｃ２２に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２６]  前記第１のプレゼンテーションについての第１のレンダリング能力、第１の復号能力、および第１の平均ビットレートをシグナリングすることと、
前記第２のプレゼンテーションについての第２のレンダリング能力、第２の復号能力、および第２の平均ビットレートをシグナリングすることと、
を行うための命令をさらに備える、Ｃ２５に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２７]  前記要求が、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つについての指示と、開始時間と、終了時間とを備えるファイル名を備え、
前記ビデオ・ファイルのうちの前記少なくとも１つを出力するための前記命令が、前記要求の前記指示に対応する前記プレゼンテーションから前記ビデオ・ファイルのうちの１つを出力するための命令を備え、前記ビデオ・ファイルのうちの前記１つが前記要求の前記開始時間および前記終了時間を有する、
Ｃ２５に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２８]  前記要求が、前記指定されたプレゼンテーションの前記ビデオ・ファイルのうちの１つについてのバイト範囲を指定するハイパーテキスト転送プロトコル（ＨＴＴＰ）部分ＧＥＴ要求を備える、Ｃ２２に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ２９]  符号化ビデオ・データを取り出すための方法であって、前記方法は、
クライアント・デバイスが、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すことと、
前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、
前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つを復号し、表示することと、
を備える、方法。
[Ｃ３０]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記方法が、
前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記クライアント・デバイスの復号能力および前記クライアント・デバイスのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択すること、
をさらに備え、
前記要求をサブミットすることが、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定することを備える、Ｃ２９に記載の方法。
[Ｃ３１]  前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記方法は、
利用可能なネットワーク帯域幅の量を判断することと、
利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択することと、
前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットすることであって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットすることと、
をさらに備える、Ｃ３０に記載の方法。
[Ｃ３２]  前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成することをさらに備える、Ｃ３０に記載の方法。
[Ｃ３３]  前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成することであって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成することと、
をさらに備える、Ｃ２９に記載の方法。
[Ｃ３４]  符号化ビデオ・データを取り出すための装置であって、前記装置は、
ネットワーク・インターフェースと、
前記ネットワーク・インターフェースを介して、ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すことと、前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信することと、を行うように構成された制御ユニットと、
前記ビデオ・ファイルのうちの前記少なくとも１つを復号するように構成されたビデオ・デコーダと、
前記ビデオ・ファイルのうちの前記復号された少なくとも１つを表示するように構成されたディスプレイを備えるユーザ・インターフェースと、
を備える、装置。
[Ｃ３５]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記制御ユニットが、前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記装置についての復号能力および前記装置についてのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択するようにさらに構成され、前記要求をサブミットするために、前記制御ユニットが、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定するように構成された、Ｃ３４に記載の装置。
[Ｃ３６]  前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記制御ユニットは、利用可能なネットワーク帯域幅の量を判断することと、利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択することと、前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットすることであって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットすることと、を行うように構成された、Ｃ３５に記載の装置。
[Ｃ３７]  前記制御ユニットが、前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成するようにさらに構成された、Ｃ３５に記載の装置。
[Ｃ３８]  前記制御ユニットは、前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信することと、前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成することであって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成することとを行うように構成された、Ｃ３４に記載の装置。
[Ｃ３９]  符号化ビデオ・データを取り出すための装置であって、前記装置は、
ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すための手段であって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すための手段と、
前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットするための手段と、
前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信するための手段と、
前記ビデオ・ファイルのうちの前記少なくとも１つを復号し、表示するための手段と、
を備える、装置。
[Ｃ４０]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記装置が、
前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記装置についての復号能力および前記装置についてのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択するための手段、
をさらに備え、
前記要求をサブミットするための前記手段が、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定するための手段を備える、
Ｃ３９に記載の装置。
[Ｃ４１]  前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記装置は、
利用可能なネットワーク帯域幅の量を判断するための手段と、
利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択するための手段と、
前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットするための手段であって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットするための手段と、
をさらに備える、Ｃ４０に記載の装置。
[Ｃ４２]  前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成するための手段をさらに備える、Ｃ４０に記載の装置。
[Ｃ４３]  前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信するための手段と、
前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成するための手段であって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成するための手段と、
をさらに備える、Ｃ３９に記載の装置。
[Ｃ４４]  実行されると、
ビデオ・データのプレゼンテーションの特性を記述するプレゼンテーション記述データを取り出すことであって、前記ビデオ・データがいくつかのビデオ・セグメントを備え、前記プレゼンテーションがいくつかのビデオ・ファイルを備え、前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応する、取り出すことと、
前記ビデオ・データの時間セクションを指定する要求をソース・デバイスにサブミットすることと、
前記要求に応答して、前記要求された時間セクションの前記いくつかのビデオ・セグメントに対応する前記ビデオ・ファイルのうちの少なくとも１つを前記ソース・デバイスから受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つを、符号化ビデオ・データを取り出すためのクライアント・デバイスのビデオ・デコーダに復号させることと、
前記復号されたビデオ・ファイルのうちの前記少なくとも１つを前記クライアント・デバイスのディスプレイに表示させることと、
を前記クライアント・デバイスのプロセッサに行わせる命令を備える非一時的コンピュータ可読記憶媒体。
[Ｃ４５]  前記プレゼンテーションが第１のプレゼンテーションを備え、前記第１のプレゼンテーションについての前記特性が、前記第１のプレゼンテーションについての予想される復号能力と、前記第１のプレゼンテーションについての予想されるレンダリング能力と、前記第１のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記プレゼンテーション記述データが、前記ビデオ・データの第２のプレゼンテーションの特性をさらに記述し、前記第２のプレゼンテーションについての前記特性が、前記第２のプレゼンテーションについての予想される復号能力と、前記第２のプレゼンテーションについての予想されるレンダリング能力と、前記第２のプレゼンテーションについての平均ビットレートとのうちの少なくとも１つを備え、前記第２のプレゼンテーションがいくつかのビデオ・ファイルを備え、前記第２のプレゼンテーションの前記ビデオ・ファイルの各々が前記ビデオ・セグメントの各々に対応し、その結果、前記第２のプレゼンテーションの前記ビデオ・ファイルが前記第１のプレゼンテーションの前記ビデオ・ファイルと時間的に整合され、前記非一時的コンピュータ可読記憶媒体が、
前記第１のプレゼンテーションおよび前記第２のプレゼンテーションの前記特性と、前記ビデオ・デコーダの復号能力および前記ディスプレイのレンダリング能力のうちの少なくとも１つとに基づいて、前記第１のプレゼンテーションと前記第２のプレゼンテーションのいずれかを選択すること、
を行うための命令をさらに備え、
前記要求をサブミットするための前記命令が、前記選択に基づいて前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのいずれかを指定するための命令を備える、
Ｃ４４に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ４６]  前記ビデオ・ファイルのうちの前記少なくとも１つが、前記第１のプレゼンテーションからの第１のビデオ・ファイルを備え、前記要求が第１の要求を備え、前記時間セクションが第１の時間セクションを備え、前記非一時的コンピュータ可読記憶媒体は、
利用可能なネットワーク帯域幅の量を判断することと、
利用可能なネットワーク帯域幅の前記判断された量に基づいて前記第２のプレゼンテーションを選択することと、
前記ビデオ・データの第２の時間セクションを指定する第２の要求を前記ソース・デバイスにサブミットすることであって、前記第２の時間セクションが、前記ビデオ・データにおいて前記第１の時間セクションよりも後で起こる、サブミットすることとを行うための命令をさらに備える、Ｃ４５に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ４７]  前記第１のプレゼンテーションまたは前記第２のプレゼンテーションのうちの少なくとも１つと、前記ビデオ・ファイルのうちの前記少なくとも１つについての開始時間と、前記ビデオ・ファイルのうちの前記少なくとも１つについての終了時間とを指定するファイル名を含むように前記要求を形成するための命令をさらに備える、Ｃ４５に記載の非一時的コンピュータ可読記憶媒体。
[Ｃ４８]  前記要求をサブミットする前に、前記ビデオ・ファイルの前記時間セクションの開始の指示を受信することと、
前記ビデオ・ファイルのうちの前記少なくとも１つについてのバイト範囲を取り出すためのＨＴＴＰ部分ＧＥＴ要求として前記要求を形成することであって、前記バイト範囲が、前記時間セクションの前記開始に対応する開始バイトを有する、形成することと、
を行うための命令をさらに備える、Ｃ４４に記載の非一時的コンピュータ可読記憶媒体。
【外国語明細書】
2014212538000001.pdf