対応する参照符号は図面の幾つかの図を通して対応するコンポーネントを示している。当業者は図面中のエレメントが簡潔性および明瞭さの目的で示されており、必ずしも実寸大に示されていないことを認識するであろう。例えば図面中の幾つかのエレメントの寸法は本発明の種々の実施形態の理解をよりよくするために他のエレメントに関して誇張されている。また、共通であるが市場で実現可能な実施形態で有用または必要であると良好に理解されているエレメントは本発明のこれらの種々の実施形態の図を不明瞭にしないようにしばしば図示されていない。
本発明の実施形態は固定された長さのフレームワークおよび/または標準内で可変長のコンテンツの再生に適合するのに使用される方法、システム、装置を提供する。これらの固定された長さのフレームワークは通常、これらのフレームワークを通して再生されるマルチメディアコンテンツのようなコンテンツが長さ、再生期間において固定されるかおよび/またはインデックスと関連されることを必要とし、固定された長さ、期間またはインデックスが媒体からのコンテンツまたは媒体におけるコンテンツに関連して再生されるコンテンツの再生を開始する前に予め規定されることを必要とする。例えば幾つかの固定された長さのフレームワークはポータブルなデジタル記憶媒体からのコンテンツの再生のために与えられる。ポータブル記憶媒体に関連して再生されるコンテンツは知られる必要があり、コンテンツの長さおよび典型的にはデータサイズは通常、ポータブル記憶媒体からのコンテンツの再生またはポータブル記憶媒体に関連されるコンテンツの再生が開始されることを可能にする前に知られなければならない。しかしながら本発明の実施形態は長さおよび/または再生期間が媒体に記録されないときこれらのフレームワーク内でのコンテンツの再生を適合し可能にするシステムおよび方法を提供し、媒体上のコンテンツの再生時に知られる必要はなく、または媒体に関連されるコンテンツの再生が開始される。
ポータブルデジタル記録および/または記憶媒体は、コンテンツの記録に使用される。多くの例では、ポータブルデジタル記録媒体は、ユーザが媒体を購入してマルチメディアコンテンツへのアクセスを得ることを可能にするマルチメディアコンテンツと共に記録される。しばしば、マルチメディアコンテンツは予め定められた標準方式にしたがって記録され、それによってマルチメディアコンテンツは与えられた標準を認識し、それに適合する多数の異なるタイプの再生装置を通して正確に再生されることができる。
しかしながら媒体へのマルチメディアコンテンツの記録は、コンテンツが媒体に記録されるときにコンテンツが知られることを必要とする。ブルーレイディスクおよびDVDディスクに限定されないがそのような幾つかの進んだまたは次世代のフレームワーク、標準および/またはフォーマットは、媒体に記録されていない補足的データおよび/またはコンテンツが媒体に記録されるコンテンツと協動して再生される(例えばインターネットのような分配通信ネットワークにわたってアクセスされる)ことを可能にする。この再生の協動を実現するため、ブルーレイディスクおよびDVDディスクのような多くの標準またはフォーマットはそのコンテンツについてのフォーマット、記述データおよび/または情報が準備されマルチメディアコンテンツと共に媒体に記録されることを必要とし、それによってこの記述データは媒体に記憶されたマルチメディアコンテンツと、媒体に記録されていないが媒体と協動して再生されるコンテンツとを規定または説明する。幾つかの標準では、記述データは例えばクリップまたはチャンク情報と呼ばれる。以下説明する本発明の実施形態の説明を簡潔化するため、記述データはクリップ情報として以下参照される。クリップ情報は単一の標準またはフレームワークに限定されず、コンテンツについての任意の関連情報を実質的に含むことができ、特許請求の範囲を限定すると解釈されるべきではないことが当業者により認識されよう。
クリップ情報は通常多くの標準およびフレームワークにしたがって、コンテンツが媒体に記録されるときに固定されることと、さらに媒体に記録されたコンテンツおよびコンテンツが媒体に記録されるときに媒体に記録されていない対応する補足的コンテンツのパラメータを特別に規定することとを必要とされる。この固定されたクリップ情報は典型的にデータサイズ(例えばデータのバイト又はビット数)、長さまたは再生期間と他のファイルの仕様を規定する。幾つかの例では、クリップ情報またはインデックスは再生期間を規定でき、さらに再生が特定のクリップ内で開始されることができるコンテンツストリーム内の部分又は点をインデックスまたは参照することができ、これは幾つかの例ではランダムアクセス検索のようなコンテンツストリームにわたる検索を実行するために使用されることができる。クリップ情報は典型的にこのようなクリップ情報の直接変更をサポートしない読取り専用の方法で媒体に記憶される。さらに、再生装置は典型的に、媒体からのコンテンツおよび/または媒体に関連される補足的コンテンツの再生を開始する前にクリップ情報の全てを保有し、知っている必要がある。
結果として、媒体と協動して再生される補足的コンテンツは媒体の記録および/または焼付け前に知られる必要があり、それによって補足的コンテンツについてのクリップ情報は媒体に記録されることができる。さらに、これはクリップ情報が典型的にクリップ情報および/またはコンテンツが媒体に焼き付けられるときの(例えばバイトによる)データサイズと長さまたは再生期間を含めた特別な情報および補足的コンテンツのパラメータを含んでいるとき、補足的コンテンツが変更しないように固定する。
しかしながら幾つかの本発明の実施形態は、媒体に関連される補足的コンテンツとマルチメディアコンテンツの再生を開始する前に、新しい又は改訂されたクリップ情報を再生装置へ供給することによってこの固定された補足的コンテンツから変化することを可能にする。しかしながら前述したように、固定された長さの標準に適合する再生装置は通常、媒体に関するコンテンツの再生を開始する前に、媒体に記録されているにせよ、或いは補足的コンテンツが二次または遠隔記憶装置から検索されるせよ、コンテンツの全てに対するクリップ情報の全てを知る必要がある。結果として、例えば再生装置において媒体と協動して再生されるように補足的コンテンツを供給する遠隔ソースから改訂されたクリップ情報を受信するとき、再生装置は典型的にコンテンツおよびクリップ情報と任意の対応するアプリケーションを実行的に再ロードするためアプリケーションとその関連されるメモリコンテンツのシャットダウン、リブート、再開または終了を実行しなければならない。コンテンツおよびクリップ情報の再ロードは媒体上のコンテンツのクリップ情報と改訂されたクリップ情報とを媒体に関する再生の開始時に利用可能にする。さらに再ロードは媒体または関連される補足的コンテンツからのコンテンツの再生前に、改訂されたクリップ情報が媒体に記録されたコンテンツと適切に関連され適用されることを可能にする。この再ロードはしばしば遅く、劇的に性能とユーザの経験に影響する。例えばブルーレイ標準に関して、ブルーレイディスク(BD)環境は再生アプリケーションを支持するクリップ情報を更新するときにファイルシステムを再ロードする必要がある。このようにして、これらのアプリケーションは典型的に同様に再ロードされなければならない。新しいクリップ情報は効率的に、BDシステム中の再生エンジン層によりアクセス可能な特別なファイルディレクトリとファイル名に実際にマッピングされるので、ファイルシステムの類似性は再ロードされる。この再マッピングは典型的にファイルシステムの再ロードも必要とし、時には実質的なファイルシステム(VFS)更新と呼ばれる。
多くのフレームワークまたは標準方式は随意選択的なコンテンツがコンテンツのレイアウトおよびマッピングの前もっての知識をもたずにダウンロードされることを可能にしない。さらに、多くの標準仕様により、媒体に関してユーザに利用可能されたコンテンツは最初のスタートアップ期間に、またはポータブル記憶媒体に関するコンテンツの再生の開始前に、予め規定され宣言される。これはコンテンツを分配するコンテンツの所有者と、利用可能にされ媒体上に記録されたコンテンツと協動されることができる媒体に記録されていない補足的コンテンツにアクセスし再生しようとする消費者に対しては深刻な欠点である。
このようにして、固定された長さのフレームワークは、媒体で予め規定されておらずまたはコンテンツが再生のためにアクセスされる時に長さが固定されていない補足的コンテンツを与えることにおいて少なくとも3つの深刻な欠点を有する。第1に、マルチメディアコンテンツとそのマルチメディアコンテンツと協動される補足的コンテンツのクリップ情報は再生開始前に知られる必要がある。第2に再生装置はクリップ情報が媒体に記録されていない例では改訂された実際のクリップ情報を受信するときに再開される必要が有る。第3に、マルチメディアコンテンツと補足的コンテンツのクリップ情報は再生開始後に静的の状態でなければならない。これは補足的コンテンツを提供する利点を非常に限定する可能性があり、ユーザの再生経験に非常に悪影響する可能性がある。
幾つかの実施形態は、例えばネットワーク接続にわたって、クリップ情報の事前決定的構造を要する固定された長さのコンテンツフレームワークまたは標準を使用する再生装置へ可変長の補足的コンテンツを転送するための代わりの方法を提供することに使用するための方法、再生装置、データ構造、システムを提供する。さらに幾つかの実施形態は可変長を有するダイナミックに転送されるコンテンツのような補足的コンテンツと共に読取り専用媒体に記録されるコンテンツの協動再生を有効に行う。このダイナミックに転送されるコンテンツは固定された長さを有する必要はなく、再生装置のシャットダウンを必要とせずに媒体からのコンテンツの再生の期間中に供給されることができ、さらに幾つかの例では、ポータブル記憶媒体と協動して再生される未知の長さを有するユーザ作成コンテンツおよび/または生または実質上生のコンテンツを含むことができる。
典型的に、補足的コンテンツは再生装置と互換性のある1以上のフォーマット標準方式に適合し、しばしば媒体に記録されたコンテンツと類似のオーディオおよび/またはビデオ属性(例えばVC−1ビデオ、DD+オーディオ、8ビットRLEサブピクチャ等)を有する。例えば補足的コンテンツはダイナミックに生成されたコンテンツ(例えばユーザ作成ビデオ、オーディオ記録、画像、媒体から再生されたコンテンツの解説等)、可変長のオーディオ/ビデオクリップまたはチャンク(例えば音楽ビデオ、mp3ファイル、映画、テレビジョンプログラム等)、演劇の予告、生の主催イベント、記憶媒体からのコンテンツによりまたはその代わりに表示される二次コンテンツ(例えばピクチャー・イン・ピクチャーコンテンツとして転送される二次的なビデオ/オーディオコンテンツ)、媒体上の特性の固定された長さに適合するコンテンツ(例えば映画)、コンテンツが媒体に焼き付けられるか記録される時または媒体に関するコンテンツの再生が開始される時でさえも長さまたは再生期間が知られていない場合の他のこのような可変長のコンテンツであることができるが、これらに限定されない。さらに幾つかの実施形態では、ポータブル記憶媒体は固定された長さの標準と適合するコンテナ又はシェルであることができるが、任意のコンテンツまたは最小量のコンテンツのみも含んでおらず、代わりに媒体と協動して再生装置を通して再生される別々の記憶媒体から検索された(例えば遠隔記憶装置から受信された)他の補足的コンテンツに対するキーまたはアクセスとして使用される。
幾つかの構成では、コンテンツ指定位置ホルダは媒体上に記録され、媒体に記録されていない補足的コンテンツが得られ再生のために協動されることを規定する。位置ホルダクリップ情報はさらにコンテンツ位置ホルダに特別に関連される媒体上に記録される。この位置ホルダクリップ情報は、媒体に記録されるときサイズ、長さ、再生期間、期間のタイミング、再生タイミングおよび/または補足的コンテンツの他のパラメータを規定し、ここでは補足的コンテンツはコンテンツ位置ホルダと位置ホルダクリップ情報が媒体に記録されるときに知られる必要はない。さらに、位置ホルダクリップ情報は、ポータブル記憶媒体に記録および/または規定されるコンテンツと協動して再生されるように再生装置に後に与えられることができる補足的コンテンツの予測されるデータサイズ、期間よりも長いデータサイズおよび/または再生期間、期間長、再生時間等により規定される。それ故、この実施形態はポータブル記憶媒体に記録されていない補足的コンテンツが、媒体の焼付け前に補足的コンテンツが何であるかを知らずにおよび媒体に関連されるコンテンツの再生の開始後に固定された長さのフレームワークにしたがって再生装置が再開されることを必要とせずにポータブル記憶媒体と協動して再生されることを可能にする。
例えば、幾つかの記録媒体仕様により、媒体はその媒体に関して再生されるコンテンツを規定しているリスティングディレクトリまたはプレイリストを含むファイル構造をそこに記録している。図1はある実施形態によるファイル構造120の簡単化した図を示している。ファイル構造120はコンテンツ指定またはプレイリストファイル124を含みおよび随意選択的に位置ホルダ128を含む1以上のリスティングディレクトリまたはプレイリスト122と、クリップ情報ファイル130を含む1以上のクリップ情報ディレクトリまたはリスティング126と、再生装置を通して再生および/またはレンダリングされるように構成されたコンテンツファイル134(例えばビデオコンテンツ、オーディオコンテンツ、オーディオ/ビデオ(A/V)コンテンツ、テキスト、グラフィック、画像、他の関連するこのようなコンテンツ)を有するストリームディレクトリ132とを含んでいる。幾つかの例では、ファイル構造120は付加的に、メニューディレクトリおよび/またはファイル136と、例えば音声データファイル、グラフィックファイル、フォントファイルおよび/または他のこのようなデータを含む補助データディレクトリ138と、バックアップディレクトリ140、プログラミング、コードおよび/または実行可能ファイル142、他の関連内容、コード、実行可能ファイルおよび/またはデータを含むことができる。
先に紹介したように、リスティングディレクトリまたはプレイリスト122は媒体にしたがって再生されるコンテンツを規定する。プレイリスト122は再生されるストリームディレクトリ132中のコンテンツ134を参照するプレイリストファイル124のようなコンテンツ指定を含み、さらにファイル構造120と共にポータブル記憶媒体上に記録されないが媒体に関して協動して再生されることを意図するコンテンツの再生を表わすか指定するコンテンツ位置ホルダ128を含むことができる。コンテンツ位置ホルダ128は幾つかの例では補足的コンテンツ(例えば二次メモリ記憶装置からアクセス可能)へのアクセスを開始するように媒体で規定された実行プログラミング142をトリガーする。さらに、位置ホルダ128または対応するクリップ情報130はポータブル記憶媒体に記録されない補足的コンテンツにアクセスするためのリンクまたは参照を指定できる。例えば位置ホルダ128は遠隔サーバへのインターネットリンクを規定でき、そこから補足的コンテンツが検索されることができる。位置ホルダ128および/またはクリップ情報130は幾つかの実施形態ではさらに、アクセス権を規定するかアクセス権が検索されることができる場所を識別することができる。代わりに、アクセス権は遠隔ソースにより決定されることができ、クリップ情報に関連されない。
クリップ情報のリスティングまたはディレクトリ126はクリップ情報および/またはファイル130を含んでいる。各クリップ情報130はコンテンツ指定124の1つまたは位置ホルダ128の1つに対応する。クリップ情報130は対応するプレイリストファイル124により参照されるコンテンツ134のインデックス、パラメータ、属性、特性、タイミング情報、設定等または対応する位置ホルダ128により参照される潜在的な補足的コンテンツを規定する。さらに位置ホルダ128に対応するクリップ情報130は幾つかの例では、リンク、マッピングまたは補足的コンテンツがアクセスされることができる場所および/または方法のその他の指定を含むことができる。
位置ホルダ128および位置ホルダに関連される対応するクリップ情報130は幾つかの実施形態では、期間、データサイズ、再生タイミング、フレーム数および/または対応する補足的コンテンツの他のこのような関連パラメータを規定する。さらに、タイミング、期間、データサイズ等のこれらの指定は、対応する位置ホルダ128と関連されると予測される実質的に任意の予測される補足的コンテンツを超えていると規定されるか、以下十分に説明するようにクリップ情報にしたがって反復またはルーピングを可能にするように特定される。これは位置ホルダクリップ情報で特定されている指定された期間または長さ以下であるか反復再生にしたがって再生されることができる期間、長さ等を有する実質的に任意の潜在的な補足的コンテンツが再生されることおよび/または関連される位置ホルダと共に使用されることを可能にする。さらに補足的コンテンツの実際の期間、長さまたはデータサイズは媒体からのコンテンツまたはポータブル記憶媒体と協動して再生される補足的コンテンツの再生開始前に知られる必要はない。
ブルーレイBD−ROM等のような幾つかの構成では、1以上の位置ホルダ128はクリップ情報ファイル130、プレイリストファイル124、タイトルおよびコンテンツ保護システム(CPS)ファイルの組合せにより規定されることができる。補足される補足的コンテンツは位置ホルダ情報と調和するデータである。さらに補足的コンテンツを受信することができる遠隔位置は媒体から実行するアプリケーションソフトウェア142により決定されることができる。例えばこのアプリケーションソフトウェア142は補足的コンテンツを検索および/またはダウンロードできるソースを決定するために分配された通信ネットワークにわたってコンテンツ所有者提供のネットワークサービスから問合せることができる。アクセス権はCPSファイルで規定されることができ、幾つかの例ではこれらのアクセス権はタイトルの精度で規定される。CPSファイルは媒体(例えばディスク)に事前に存在するかネットワークにわたって更新されることができる。幾つかの例では、CPSファイルの更新は実際のファイルシステム(VFS)を開始および/またはタイトルのシャットダウンと再開を実行することができる。
幾つかの実施形態では、媒体に記録されたプログラム又はプログラミング142は以下説明するように、位置ホルダクリップ情報130により指定された期間をオーバーライドするか終端するように位置ホルダ128に応答してアクセスされる補足的コンテンツの再生の終了時に付勢され、幾つかの例ではプレイリストディレクトリ122により規定されているように再生を継続するため再生装置へ再生制御を帰還する。幾つかの例では、プログラミング又はコード142は媒体上に記録され、このプログラミングは位置ホルダ128により指定された再生のため補足的コンテンツにアクセスする前および/またはアクセス時に付勢されることができる。このプログラミングは前述しさらに以下説明するように、リターン制御プログラミング機能を含み、この機能は補足的コンテンツの再生の終了時にアクチブ位置ホルダ128に対応する位置ホルダクリップ情報130により特定される位置ホルダ期間をオーバーライドまたは終端し、補足的コンテンツの再生の終了時に再生装置および/またはユーザインターフェースへ再生の制御を戻す。これは効率的に補足的コンテンツの再生を終了し、制御をユーザインターフェースおよび/または再生装置へ戻す。
プログラミング142はさらに幾つかの構成ではいずれの補足的コンテンツが利用可能であるかを決定するために遠隔サーバまたは記憶装置との通信を実行するために開始されることができる。幾つかの例では、媒体はプレーヤがサーバからの情報に接触し、通信し、引っ張ることを可能にする情報、メタデータ、XML文書、又は予め規定された通信方式またはルールセットを含んでいる。補足的コンテンツはサーバから戻されることができ、プログラミング142により補助されている再生装置は補足的コンテンツの再生を開始する。幾つかの実施形態では、サーバから戻された情報を受信するとき、再生装置により実行されるプログラミング142はサーバを通して利用可能なコンテンツのリスティングを表示するためにユーザインターフェースを制御し、リスティングから選択することによりユーザが再生装置と対話することを可能にする。
図2は、補足的コンテンツと協動して、ブルーレイディスク(BD)のようなポータブル記憶媒体222からのコンテンツを再生できる幾つかの実施形態による再生装置220の簡単化したブロック図を示している。この再生装置は1以上のプロセッサ又は制御装置226、メモリおよび/またはデジタル記憶装置228-229、ポータブル記憶媒体222への直接アクセスを可能にするためのポータブル記憶駆動装置を含む1以上のメモリ駆動装置232、1以上のポートまたは通信インターフェース234、1以上のユーザインターフェース236および内部通信リンクおよび/またはバス(図示せず)等のような他の関連するコンポーネントを含んでいる。
媒体再生装置220は、記憶媒体、典型的にはポータブル記憶媒体からコンテンツを再生できる実質的に任意の関連する再生装置であることができる。プロセッサ226は1以上のマイクロプロセッサ、ミニコンピュータ又は他のこのような処理装置或いは説明した機能を与えるようにプログラムされた装置の組合せであることができる。幾つかの実施形態では、プロセッサ226は復号器、符号器等のようなビデオおよび/またはオーディオ処理機能を含んでいるが、ビデオおよび/またはオーディオ処理機能はプロセッサ226と協動される再生装置内の別の装置を通して実行されるか、および/またはハードウェア、ソフトウェア又はその組合せにより実行されることができる。
メモリ228は再生装置に対して内部のメモリであり、プロセッサ226と結合され、典型的に1以上のプロセッサおよび/または少なくともプロセッサ226によりアクセスされるコンピュータの読取り可能な媒体を含んでいる。メモリ228はRAM、ROM、EEPROM、バッファメモリ、フラッシュメモリまたは他のメモリ技術のような揮発性および/または非揮発性媒体を含むことができる。さらに、メモリ228はファームウェア240、ソフトウェア242、ネットワーク又は通信駆動装置244、実行可能なファイル246、スクリプト248、マルチメディアコンテンツ250、データ252、プロフィールおよび/または会計情報254、ネットワーク装置IDおよび/またはアドレス256、補足的コンテンツ260等を記憶できる。同様に、メモリ229はデータ、コンテンツ、実行可能なファイル、スクリプト、マルチメディアコンテンツ、プロフィールおよび/または会計情報、補足的コンテンツ等の検索および/または記録を可能にするため、通信インターフェース234と結合されている別の又は外部のメモリであることができる。メモリ駆動装置232は、ポータブル記憶メモリ駆動装置であり、ポータブル記憶メモリ駆動装置は、ポータブル記憶媒体222を受け取って、コンテンツがポータブル記憶媒体から検索されること、および/またはそこへ記録されることを可能にする。ポータブル記憶媒体222はディスク、フラッシュメモリおよび他のこのようなメモリのような実質的に任意のポータブルなコンピュータ読取り可能媒体であることができる。
通信インターフェース234は再生装置220が他の遠隔装置および/または通信ネットワークと通信できるようにするインターフェース、ポート、接続部、アンテナ等を提供する。通信インターフェースはパラレルポート、IEEE 1394シリアルポート、ゲームポート、USBポート、IRインターフェース、RFインターフェース、アンテナ又は他のこのようなインターフェースのようなインターフェースを含んでいるがこれらに限定されない。1以上のユーザインターフェース236はユーザが再生装置220と対話することを可能にし、ディスプレイ、キーボード、マウス、物理的ボタン、1以上の遠隔制御と通信するための光又は無線通信インターフェース、スピーカ、その他のこのようなユーザインターフェースのような実質的に任意の関連するインターフェースを含むことができる。
図3は固定長のフレームワークおよび/または標準での可変長コンテンツの適合を可能にする幾つかの実施形態によるシステム320の簡単化したブロック図を示している。システム320は1以上の再生装置322、通信ネットワーク324、1以上のサーバ326、随意選択的に1以上の遠隔メモリ記憶装置328を含んでいる。
幾つかの実施形態では、再生装置322は図2の再生装置220と類似しており、通信ネットワーク324と結合されることができる。サーバ326は再生装置322、他のサーバ326、遠隔メモリ記憶装置328又は通信ネットワーク324に通信的に結合されている他の装置のうちの1以上のものと通信するため通信ネットワークに同様に結合する。通信ネットワーク324は実質的にインターネット、イントラネット、LANおよび/または他の関連する通信ネットワークのような実質的任意の通信ネットワークであることができる。
サーバ326は少なくとも部分的に、再生されるように再生装置322からのリクエストを受け、それを戻しまたは補足的コンテンツへのアクセスを許可する。補足的コンテンツはサーバ326から直接供給されることができ、または再生装置はサーバ326により遠隔メモリ記憶装置328へルートされることができる。幾つかの例では、サーバ326はさらに、補足的コンテンツをアクセスするための許可を検証し、ユーザを検証し、ユーザプロフィールを維持し、幾つかの例ではいずれの補足的コンテンツに対してユーザがアクセスを行うことができるかを決定することにユーザプロフィールを使用し、補足的コンテンツと他のこのような機能の記憶を管理することができる。さらに幾つかの実施形態ではサーバは補足的コンテンツを再生装置322へ分配する前に補足的コンテンツをフォーマットできる。このフォーマット化は以下詳しく説明するように、通信ネットワーク324にわたって通信されるようにコンテンツのパッケージに加えて、クリップ情報の生成、コンテンツの区分化、コンテンツの暗号化および他のこのようなフォーマット化を含むことができる。
図4は補足的コンテンツを再生装置322または遠隔メモリ記憶装置328へ分配するサーバ326の簡単化したブロック図を示している。サーバ326は典型的に1以上のプロセッサまたは制御装置422、メモリおよび/またはデジタル記憶装置424、1以上の符号器426、1以上のマルチプレクサ428、1以上の区分化ユニット430、クリップ情報作成装置432、1以上のポートまたは通信インターフェース434を含んでいる。サーバ326は随意選択的に1以上のユーザインターフェース436(例えばディスプレイ、キーボード、マウス、物理的ボタン、無線通信インターフェースおよび他のこのようなユーザインターフェース)を含むこともできる。
プロセッサ422は1以上のマイクロプロセッサ、ミニコンピュータ又は他のこのような処理装置又は装置の組合せであることができる。幾つかの実施形態では、符号器426、マルチプレクサ428、区分化ユニット430、クリップ情報作成装置432の幾つか又は全てはビデオおよび/またはオーディオ処理機能を与えるためソフトウェアを通してプロセッサ422により実行される。付加的に、または代わりに、このマルチメディア処理機能はサーバ326内の別の装置を通してまたはサーバに対して外部で実行されることができる。さらにビデオおよび/またはオーディオ処理はハードウェア、ソフトウェアまたはその組合せにより行われることができる。
メモリ424はRAM、ROM、EEPROM、バッファメモリ、フラッシュメモリまたは他のメモリ技術のような揮発性および/または非揮発性媒体を含むがそれに限定されない実質的に任意のタイプのメモリであることができる。さらに、メモリ424はファームウェア440、ソフトウェア442、ネットワーク又は通信駆動装置444、プログラミングおよび実行可能なファイル446、スクリプト448、マルチメディアコンテンツ450、補足的コンテンツ452、データ454、プロフィールおよび/または会計情報456、ログおよび/またはヒストリデータ458等を記憶できる。通信インターフェース434は、サーバ326が他の遠隔装置および/または通信ネットワーク324と通信できるようにするインターフェース、ポート、接続、アンテナ等を提供する、
前述したように、再生装置、例えば図2の再生装置220はポータブル記憶媒体に関連するコンテンツをアクセスし再生する場合に、位置ホルダ128を検出しその位置ホルダに関連される位置ホルダクリップ情報130を検索する。再生装置220は補足的コンテンツのソース(例えばローカルメモリ228、外部メモリ229、サーバ326のような遠隔ソース)を識別し、幾つかの例では補足的コンテンツを識別し、これは幾つかの構成では位置ホルダ128と位置ホルダクリップ情報130に関して指定されることができる。多くの例では、補足的コンテンツの識別は補足的コンテンツのソースがアクセスされ、コンテンツのソースが補足的コンテンツを識別するか、或いはユーザに利用可能な補足的コンテンツのリストを提供するまで知られていない。これはいつでも補足的コンテンツが更新され、または変化されることを可能にする。
補足的コンテンツのソースを識別するとき、再生装置220はソースにアクセスし、実際のクリップ情報と媒体に関連される補足的コンテンツを検索する。再生装置はポータブル記憶媒体222と協動して補足的コンテンツの再生を開始できる。幾つかの例では、実際のクリップ情報から抽出された補足的コンテンツの実際の期間は少なくとも部分的に位置ホルダクリップ情報130で指定された位置ホルダ期間をオーバーライドするように動作する。他の例では、位置ホルダクリップ情報130で指定された期間は維持されるが、補足的コンテンツの再生の完了時にオーバーライドされる。前述したように、位置ホルダクリップ情報130は仮説的または潜在的な再生期間(および/または再生タイミング、フレーム番号、フレーム数、または他のこのようなパラメータに限定されないがこのようなパラメータ)を含むことができる。この潜在的な再生期間は典型的に1以上の予測され予期されまたは潜在的な補足的コンテンツの実際の期間よりも大きいように特定される。補足的コンテンツが再生されると、補足的コンテンツの実際の期間の終了が検出され、(例えば媒体停止コマンドを通して)再生期間の終了を行い、制御を再生装置220へ戻す。
図5は固定長のフレームワークに適合する再生装置を通してポータブル記憶媒体222に関連して固定された期間をもたない補足的コンテンツを再生するのに使用されるプロセス520の簡単化したフロー図を示している。このように再生装置は再生開始前にコンテンツの全てのクリップ情報をもつ必要がある。ステップ522でプロセスはポータブル記憶媒体222へのアクセスを検出する。例えばこの検出はポータブル媒体222の再生装置220への挿入を検出することを含むことができる。ステップ524で、再生装置の再生パラメータが識別および/または決定される。先に説明しさらに以下説明するように、再生パラメータは再生装置の関連能力(例えば処理能力、バッファサイズ、復号レート等)、再生装置が通信可能に二次データ記憶装置またはネットワーク324に結合されているか、再生装置220がネットワーク324に結合されているときのネットワーク接続パラメータ(例えば通信帯域幅)、その他のこのような関連パラメータを規定する。
多数のプレイリストがポータブル記憶媒体で規定されるか否かを決定するためにステップ526に入る。単一のプレイリストだけが規定されるとき、プロセスは再生を開始するためステップ532へスキップする。代わりに、プロセスは識別された関連再生パラメータに基づいて適切なプレイリストを選択するためステップ530へ進む。選択はさらに再生装置が通信ネットワーク324と接続されるか否かを考慮する。プレイリストは媒体におけるコンテンツおよび幾つかの例では媒体222に関して再生されることができる補足的コンテンツの再生を規定する。さらに、プレイリストはポータブル記憶媒体222に関して再生されるコンテンツに関する指定されたクリップ情報130を含んでいる。
ステップ532で、再生は単一のプレイリストまたはステップ530で選択されたプレイリストに基づいて開始される。ステップ534で、位置ホルダ128がプレイリストディレクトリ122で検出されたか否かが決定され、ポータブル記憶媒体222に記録されていない補足的コンテンツがポータブル記憶媒体と協動して再生されることを指定する。しばしば再生装置は位置ホルダ128に関連されるコンテンツが再生されるときよりも前に位置ホルダを検出する。さらに、幾つかの構成では位置ホルダは付加的なソース(例えばサーバ326)にアクセスし少なくとも再生される補足的コンテンツの捕捉を開始するのに十分な時間で検出され、それによって再生は好ましくはポータブル記憶媒体に記録されたコンテンツの再生に関して限定された遅延または遅延がなく継続することが望ましい。
位置ホルダ128が検出されるとき、ステップ536に入り、補足的コンテンツの付加的なソース、即ち再生装置220のローカルメモリ228-229または遠隔ソース(例えばネットワーク324にわたってアクセスされるサーバ326またはメモリ記憶装置328)であるかが識別され、付加的なソースへのアクセスは付加的なソースをアクセスするために使用される。幾つかの例では、識別された位置ホルダ128に対応する位置ホルダクリップ情報130は補足的コンテンツのソースを規定する。しかしながら他の実施形態では、ソースへのアクセスは位置ホルダ128で規定され、再生装置で規定され、媒体又は他のソースの幾つかの他の部分で指定されることができる。補足的コンテンツの位置は幾つかの例では、(ソースコードでまたは関連されるリソース内で直接的に)プログラムされたアプリケーション内で規定され、位置等を劇的に決定するためにネットワークサービスに問い合わせることにより得られることができる。さらに、位置はネットワーク(例えばURL)で規定されるか局部的に(例えば装置のローカル記憶装置で)および/または潜在的に合成されたコンテンツで規定されることができる。例えば幾つかのアプリケーションでは、プログラムされたアプリケーションはダイナミックにコンテンツの幾つかのタイプ(例えば画像、オーディオ等)を直接的に作成し、これらを再生のためにローカル記憶装置へ書き込むことができる。
ステップ540で、補足的コンテンツの詳細と補足的コンテンツの通信は付加的なソースからリクエストされる。幾つかの例では、ポータブル記憶媒体におけるプログラミング142はパッケージングの詳細、および/または補足的コンテンツがダウンロードされストリームされ漸進的に再生されまたは他の方法で再生のため再生装置で得られることをリクエストするように構成される。さらに、幾つかの例では付加的なソース326は幾つか又は全ての再生パラメータを評価し、および/または関連パラメータを決定し、この評価に基づいて補足的コンテンツ、補足的コンテンツの転送に使用されるフォーマット化および/またはテンプレートを識別する。プロセス520はステップ542へ進み、ここで、情報、データおよび/またはメタデータは付加的なソース326から再生装置220で受信され、補足的コンテンツのパラメータおよび/または補足的コンテンツの通信を規定する。例えば情報は補足的コンテンツをダウンロードするための情報(例えばオーディオ/ビデオコンテンツのパラメータを規定するXMLデータと、再生装置にダウンロードされるオーディオ/ビデオパッケージ)、ストリームにされた補足的コンテンツを受信するための情報(例えばオーディオ/ビデオコンテンツのパラメータを規定するXMLデータと、ストリームされるコンテンツの位置を記述するネットワークURL)、補足的コンテンツの実際の再生期間又はタイミングを規定する情報、コマンド及び他のこのような関連情報を含むオーディオ/ビデオ補足的コンテンツのメタデータを含むことができる。
ステップ544で、補足的コンテンツの再生が開始される。補足的コンテンツの再生は以下さらに説明するように、例えばストリーミングおよび/または漸進的なダウンロードを通して全ての補足的コンテンツを受信する前に開始されることができることに注意する。ステップ546で、補足的コンテンツの再生が完了したか否かが決定される。この決定はメタデータで供給される実際の再生期間、コマンド(例えば媒体停止コマンド)、又は他のこのような決定に基づくことができる。再生が完了していない例では、プロセスは再生を続けるためにステップ544に戻る。代わりにステップ548に入り、プレイリスト122で指定され関連位置ホルダに関連される再生期間は、位置ホルダ128に関して再生の完了を指定するようにオーバーライドされる。
ステップ550で、再生の制御は例えばグラフィッカルユーザインターフェースを提供しプレイリスト又は他の関連動作に関する再生を続けるためにプレイリストディレクトリ122に関する再生装置へ戻される。幾つかの実施形態では、プログラミング142はポータブル記憶媒体222から実行され、ポータブル記憶媒体222は補足的コンテンツの期間および再生後、プレイリストに制御を戻すための機能、グラフィカルユーザインターフェースまたはユーザインターフェース(UI)を提供する。このような機能は付加的なソース(例えばサーバ326)から通されたメタデータで特定され補足的コンテンツの実際の期間を示している期間に設定されたタイマーと、補足的コンテンツの期間に発生された“MediaStop”のようなコマンド、または他のこのような機能を含むことができる。補足的コンテンツの経過時間の期間が超過されると、停止コマンドが発生されるか、補足的コンテンツの再生の終了の他のこのような指示が検出され、再生制御は再生装置またはユーザインターフェース(例えばタイトルUI)に返送されることができる。
図6は再生の開始と、補足的コンテンツの再生が完了したことを示す実際の再生期間の満了の検出において図5のプロセス520のステップ544と546を実行する幾つかの実施形態によるプロセス620の簡単化したフロー図を示している。ステップ622で、実際の補足的コンテンツクリップ情報は補足的コンテンツのソースから受信される。ステップ624で、補足的コンテンツの実際の期間、再生タイミング等は補足的コンテンツクリップ情報から抽出される。
ステップ626で、補足的コンテンツの再生が実行されるか否かが決定される。幾つかの例では、補足的コンテンツは再生の開始前に検索され、それによって補足的コンテンツは再生がその再生における遅延の回避を開始しコンテンツの連続的な再生を行うときに利用可能である。補足的コンテンツの再生を開始するためのトリガー又はタイミングが受信されていないことが決定されたとき、プロセス620はステップ626へループバックするように継続し、再生を開始するための時間又は命令を待機する。ステップ628で、補足的コンテンツの再生が開始される。ステップ630で、カウンタ又はクロックが付勢され、或いは再生タイミングが実際の期間、時間コードまたは補足的コンテンツの再生タイミングにしたがって追跡される。
プロセス620は補足的コンテンツの再生が中断または停止されるかを決定するためにステップ632へ進む。幾つかの例では、ユーザ又は再生装置220は別の動作を開始できる。例えばユーザは中断コマンド又は他のコマンドを発生することができ、再生装置は現在の補足的コンテンツの再生期間中に再生において他の補足的コンテンツが依然として協動されており、他の条件又は要素が補足的コンテンツの再生の中断を生じる可能性があることを検出できる。中断が検出される例では、ステップ634に入り、プロセスは補足的コンテンツの再生を中断し、補足的コンテンツの実際の期間に関連されるクロックまたはカウンタを中断する。再生は中断が終了するときにステップ636で継続され、クロックまたはカウンタは再度付勢され、プロセスはステップ632へ戻る。
ステップ640で、クロックまたはカウンタが補足的コンテンツの規定された実際の期間に到達し、指定された再生タイミングに到達したかまたは停止コマンドが検出され、補足的コンテンツがその再生を終了したことを示すか否かが決定される。再生が完了していないことが決定されたとき、プロセス620は他のコマンド(例えば前方へのスキップ、中断、停止、メニューの表示、コンテンツストリームの変更、再生装置と遠隔サーバとユーザ等により発生されることができる他のこのようなコマンド)が実行されているか否かを決定するためにステップ642へ続く。他のコマンドが実行されるとき、再生装置による適切な動作がステップ644で実行され、これは再生タイミング、再生クロックまたはカウンタを進め、コンテンツストリームを切換え、異なるコンテンツストリームの再生を開始することおよび他のこのような動作を含むことができる。幾つかの例では、コマンドの実行に続いて、プロセスはステップ642へ戻る。他の例では、プロセス620は再生を継続するかおよび/または異なるコンテンツストリームの再生を開始するためにステップ628へ随意選択的に戻ることができる。他のコマンドが実行されないとき、プロセスは補足的コンテンツの再生が完了されたか否かを決定するためにステップ640へ戻る。補足的コンテンツの再生が完了された例では、プロセス620は終了し、対応する位置ホルダクリップ情報160で指定された現在の位置ホルダ期間を終了するように再生装置をトリガーするためのプロセス520のステップ548に戻る。
前述し、さらに以下説明する幾つかの実施形態では、識別された位置ホルダ128に関連されるクリップ情報リスティング126のクリップ情報130で特定されているコンテンツ位置ホルダ期間および/または再生タイミングは、予測されるか潜在的な補足的コンテンツの実際の期間よりも大きいまたは長い期間または再生を指定する。例えば位置ホルダ128に関連される補足的コンテンツは媒体222上に記録された映画に関連して再生される映画の予告編であることができる。媒体に予告編を記録する代わりに媒体に位置ホルダ128を指定することによって、例えば媒体222上に記録される映画中の俳優を含めた近々公開される映画の最新および現在の映画の予告編が、コンテンツ162(例えば映画)が媒体222に記録されたときに関連があった古い映画予告編の代わりに再生されることができる。将来の映画の予告編の期間はコンテンツ134を媒体に記録するときには知られていないので、位置ホルダは再生装置が補足的コンテンツにアクセスすることを可能にし、その補足的コンテンツはコンテンツ134が媒体222に記録されるときよりも非常に後に生成される可能性がある。さらに現在の映画の予告編の実際の期間は付加的なソース(例えばサーバ326)から得られ、補足的コンテンツの再生を終了するときに再生装置へ制御を戻すために使用され、このことは位置ホルダクリップ情報130で特定された位置ホルダ期間内に生じる。例えば位置ホルダクリップ情報130は補足的コンテンツの期間を1時間程度であるように指定でき、映画の予告編の実際の再生期間は約60分であってもよい。このようにして、映画の予告編は特定された1時間の期間内に再生されることができ、補足的コンテンツの映画の予告編の再生の完了時に、クリップ情報130で特定された期間はオーバーライドされ、制御は再生装置へ戻される。
前述し、以下さらに説明する幾つかの構成では、再生装置220に与えられる補足的コンテンツは分解されるか一連の多数のセグメント、チャンクまたはクリップ、またはそのシーケンスに区分され、コンテンツのセグメント、チャンクまたはクリップは典型的に逐次的に再生装置へ転送される。これは再生装置のメモリおよび/またはバッファの要件を減少し、比較的長いコンテンツの再生を可能にし、再生装置は1以上の他のセグメントが受信されながらセグメントの再生を開始できるので進行的な再生を可能にする。
さらに、補足的コンテンツの各セグメントは前述したように補足的コンテンツのセグメントのコンテンツファイルの詳細を説明する情報(例えば情報ファイル)である対応する実際のクリップ情報を有している。多くの固定された長さの標準および/またはフレームワークはしかしながら媒体に関するコンテンツの再生開始前の任意の補足的コンテンツと同様に、媒体に記録されたまたは二次ソースからアクセスされ媒体222に関連付けられたコンテンツであっても、媒体上のコンテンツの全てのクリップまたはセグメントについての全てのクリップ情報ファイルを知りまたは受信する必要がある。
幾つかの実施形態は補足的コンテンツをクリップ又はセグメントに区分する前に表されるかまたは規定される予め規定されたクリップテンプレートを使用する。さらに幾つかの例では、クリップテンプレートはコンテンツ134が媒体に記録されたときにポータブル記憶媒体222上に規定されることができる。クリップテンプレートは補足的コンテンツが補足的コンテンツのクリップに区分化される態様を示すために使用されることができる。補足的コンテンツはこのように予め規定されたクリップテンプレートに適合するように分解される。さらにクリップテンプレートは補足的コンテンツがクリップに区分される前の各クリップのクリップ情報を規定する。さらに幾つかの例ではクリップテンプレートは補足的コンテンツの符号化およびフォーマット化に使用される。クリップテンプレートを適用することにより、補足的コンテンツの各クリップに対するクリップ情報は補足的コンテンツをクリップに分解する前に知られる。
クリップテンプレートの使用は各クリップのクリップ情報がポータブル記憶媒体222上に記録されるか、または再生前に幾つかの例では補足的コンテンツのクリップの生成前に再生装置220へ転送されることを可能にする。結果として、補足的コンテンツはクリップ情報が媒体222に記録されるかまたは再生装置に供給されるときに知られる必要はなく、または存在する必要さえもないので、実演は補足的コンテンツとして再生装置に分配されることができ、および/または限定されていない長さを有する補足的コンテンツは、再生装置が固定長の標準またはフレームワークと依然として適合しながら、再生装置220で再生されることができる。
さらにまたは代わりに、補足的コンテンツに利用可能なクリップ数は限定されることができる。例えば多くの仕様又は標準方式はプレイリストおよび/または媒体に含まれることができるクリップ数を限定する。特別な例として、ブルーレイ標準は少なくとも幾つかの例では、プレイリスト中のクリップ数を999個のクリップに限定し、さらにブルーレイ対応ディスク上のクリップ数を4000に限定する。このようにして、未知のコンテンツ長を有する補足的コンテンツはプレイリスト内および/または媒体で許容されるクリップ数を超過するクリップ数を生じる可能性がある。結果として、幾つかの実施形態はクリップの再生のリプレイ、ルーピングまたは反復を使用する。特に、規定された数のクリップはコマンドまたはコンテンツの終了により停止されるまで反復して再生されるように特定されることができる。このようにして、規定された数のクリップを有するプレイリストが規定されることができ、補足的コンテンツが限定された数のクリップの単一再生シーケンスを超過する期間を有する時、補足的コンテンツはクリップ数の反復にしたがって構成されることができる。
さらに、予め規定されたクリップテンプレートは補足的コンテンツが作成又は記録される前に規定されることができるので、幾つかの実施形態は再生装置220および/または通信リンクの異なった能力に適合し、可変量のデータを有する異なる補足的コンテンツに適合し、異なる符号化/復号ビットレートおよびその他のこのような要素に適合するように規定された多数のクリップテンプレートを含むように構成されている。例えばポータブル記憶媒体222は多数のプレイリスト122および関連されるクリップ情報リスティング126を含むことができ、ここで各プレイリストは異なる再生装置、パラメータおよび/または条件に適合するため異なるクリップテンプレートに対応する。
さらに、クリップテンプレートはそのクリップテンプレートに基づいて区分される補足的コンテンツの任意の予測されるビットレートを超えるビットレートで補足的コンテンツのために構成されている。補足的コンテンツがクリップテンプレートにより規定されているようにクリップに分解されるとき、補足的コンテンツはクリップテンプレートによって規定されたクリップの全てでなくてもその幾らかの利用可能なデータサイズを満たす場合も満たさない場合もある。幾つかの実施形態はヌルデータまたは再生装置220により無視されるデータを有するクリップテンプレートにしたがって生成された補足的コンテンツのクリップをパディングすることにより、補足的コンテンツのより小さいデータサイズを補償する。さらに、補足的コンテンツはプロフィール(例えば再生タイミングに関するビット数)を有し、パディングはプロフィールの一部をシフトまたは動かすように組み込まれることができ、それによってこれらは予め規定された位置ホルダクリップ情報と整列する。例えば一連のゼロビット、予め規定されたビットパターン、ヌルパケットまたは他のこのような形態はタイミングを維持するのに適切である場合には関連クリップのデータに組み込まれることができる。
さらに、補足的コンテンツは位置ホルダクリップ情報に一致するデータのセグメントおよび/またはチャンクで転送されているので、セグメントの境界は実際の再生期間に整列しない可能性がある。このように幾つかの例では、再生の最後を含むセグメントは位置ホルダクリップ情報および/またはタイミングに応じた状態に留まるようにセグメントの全長へ延ばされることができる。例えばパディングはデータのヌルパケットの形態であることができ、および/またはクリップ内の一連のパケットに後続する付加的なパディングである。1例として、幾つかの構造では、整数個のパケットは、パディングを受け取る各クリップに組み込まれることができることが定められ、整数個のパケットがまだ完全にクリップを埋めず、次のパケットがクリップ境界を超える例では、パディングデータはクリップの残りを埋めるように組み込まれることができる。さらに以下十分に説明するように、パディングまたはヌルデータは補足的コンテンツに関して規定されることができるが、コンテンツに組み込まれない。代わりに、再生装置はトリガー又は命令を識別しおよび/またはマッピングを使用することによりパディングまたはヌルデータを再生装置に組み込む。このことは補足的コンテンツの減少されたデータサイズが再生装置へ送信されることを可能にする。
図7は、記憶媒体222をオーサリングし、オーサリングされた記憶媒体222と協動して再生するために得ることができる補足的コンテンツ722をオーサリングするためのプロセスのグラフィカル表示の簡単化したブロック図を示している。幾つかの実施形態では、オーサリングは2つの相、即ち記憶媒体パッケージ相714と補足的コンテンツまたはネットワークパッケージ相716で実行される。Sony Blue-Print(商標名)のようなオーサリングアプリケーション724は1以上のファイル構造120(図1参照)を、記憶媒体相714の記憶媒体222に記録されたオーサリングされたパッケージ726へ構成するために使用される。
補足的コンテンツパッケージ相716では、(例えば分配ネットワーク324にわたって再生装置322により)アクセスされ、記憶媒体222と協動して再生される補足的コンテンツ730はさらに幾つかの実施形態では補足的コンテンツを分離またはコンテンツのチャンクにチャンクして一連のコンテンツ738(.m2ts)のチャンクを具備するオーサリングされた補足的コンテンツパッケージ732を発生するためオーサリングアプリケーション724または他の関連アプリケーションを通して構成される。幾つかの例では、補足的コンテンツは選択されたチャンクスケジュール750にしたがって分離されるかチャンクされる。オーサリングされた補足的コンテンツパッケージ732はプレイリストファイル(.mpls)734、クリップ情報ファイル(.clpi)736、補足的コンテンツの転送ストリームクリップ(.m2ts)738を含んでおり、ここで単一のプレイリストファイル734は複数のクリップ情報ファイル736および関連される転送ストリームクリップ738を指している。プレイリストファイル734とクリップ情報ファイル736は幾つかの構成では、再生の開始前に再生装置220へ転送されることができ、補足的コンテンツ738のクリップは再生装置を通じて、例えばストリーミング、(幾つかの例ではコンテンツのストリーミングをエミュレートできる)進行性ダウンロード又は他のこのような方法を通じて再生前または再生時にダウンロードされることができる。
しかしながら幾つかのオーサリングアプリケーション724は容易にダウンロードされるかおよび/または漸進的にダウンロードされることができる補足的コンテンツを便宜的に発生および/またはフォーマットできない。同様に、幾つかのオーサリングアプリケーション724は予め規定されたクリップテンプレートと適合するオーサリングされた補足的コンテンツパッケージを正確に発生できない。これらの例では、適合アプリケーション(または一連のアプリケーション)はオーサリングアプリケーションから発生される予備的なオーサリングされた補足的コンテンツパッケージ742を適合するために使用される。
予備的なオーサリングされた補足的コンテンツパッケージ742はプレイリストファイル744、クリップ情報ファイル746、補足的コンテンツの転送ストリーム748を含んでいる。変換アプリケーション740はクリップ情報ファイル746をチャンクまたはクリップし、チャンクスケジュールにしたがって補足的コンテンツ748のストリームを転送し、複数のチャンクされたクリップ情報ファイル736および関連される転送ストリームクリップ738を指すプレイリストファイル734と共にオーサリングされた補足的コンテンツパッケージ732を発生する。プレイリストファイル734とクリップ情報ファイル736は幾つかの例では再生装置322での更新期間に使用される1つの完全なダウンロードで構成され、ユーザが実際に再生コンテンツに進むとき、補足的コンテンツクリップ738の転送ストリームはダウンロードされることができる。
図8は予め規定されたクリップテンプレートに適合する記憶媒体222と補足的コンテンツ822をオーサリングするためのプロセスのグラフィカル表示の簡単化したブロック図を示している。予め規定されたクリップテンプレートとの適合は部分的に、補足的コンテンツがオーサリングされた記憶媒体222または再生装置220におけるプレイリストと一致するクリップテンプレートに適合することを可能にする。このように、補足的コンテンツは、記憶媒体222がオーサリングされるときか、プレイリストが再生装置に供給されるときに知られ又は作成される必要はない。さらに適合は、オーサリングされた記憶媒体222と協動して再生するために再生装置220へストリームまたはダウンロードされることができるユーザ作成コンテンツ(UGC)や生のコンテンツ等のように補足的コンテンツが規定された長さをもたないときでさえも、補足的コンテンツがオーサリングされた記憶媒体と関連して再生されることを可能にする。プロセスは3つの相、即ち記憶媒体パッケージ相714、ネットワークパッケージ相816、コンテンツフォーマット化相818を含むことができる。
ネットワークパッケージ相816は補足的コンテンツ822の再生に使用するため再生装置322に供給される位置ホルダの生成に使用される。ネットワークパッケージ相816期間中、オーサリングアプリケーション724は補足的コンテンツ822の適合を述べているテンプレートを効率的に規定し、プレイリストファイル844と、テンプレートクリップ情報ファイル846と、補足的コンテンツ822を構成するために使用される補足的コンテンツテンプレート転送ストリーム848とを含むことができる予備的なオーサリングされた補足的コンテンツパッケージ842を生成するために使用される。変換アプリケーション740は複数の位置ホルダクリップ情報ファイル854を指す位置ホルダを含んだ変換されたプレイリストファイル852を生成するために使用される。さらに、変換アプリケーション740は補足的コンテンツ822の構成にも使用されるクリップまたはチャンクマッピング856を発生する。
コンテンツフォーマット化相818は補足的コンテンツ822を正しいまたは所望のエレメントビデオおよびオーディオフォーマットにするために補足的コンテンツ(例えば捕捉されたビデオおよび/または幾つかのウェブサーバへアップロードされたオーディオコンテンツ)をトランスコード860する。ネットワークパッケージ相816で生成されたテンプレートクリップ情報846とテンプレート転送ストリーム848を使用して、トランスコードされた補足的コンテンツは順化装置862を通じて適合され、それによって補足的コンテンツは既に再生装置220へダウンロードされているかまたは再生装置220へダウンロードされる予定の位置ホルダクリップファイル854と一致する。幾つかの例では補足的コンテンツ822はテンプレート転送ストリーム848中へ組み込まれ、ここでは関連する場合には、テンプレート転送ストリーム内のコンテンツの一部は置換され、置換されていない部分は以下説明するようにヌルデータにより規定されるかヌルデータにより置換される。
変換アプリケーション864はその後、補足的コンテンツ870のクリップに分割するため正しい適切な点でオン・ザ・フライにより補足的コンテンツ転送ストリームのクリッピング又はチャンキングを駆動するようにネットワークパッケージ相816で発生されたチャンクマッピング856を適用しながら実行される。これらのクリップ又はチャンク870はその後直ちにネットワークで再生装置322に転送されることができ、または後にダウンロードするために記憶されることができる。
図9は幾つかの実施形態による順化装置862の簡単化したブロック図を示している。順化装置862は第1のパーサー922、第1のルックアヘッドバッファ924、比較および選択ユニット926、第2のパーサー930、第3のパーサー932、第2のルックアヘッドバッファ934、ストリームセレクタスイッチ936、パケットオーバーライター940を含んでいる。順化装置862への入力は、トランスコーダー860によりトランスコードされた転送ストリーム942と、ストリーム識別子(ID)パラメータ944と、テンプレートクリップ情報846と、テンプレート転送ストリーム848とを含むことができる。さらに順化装置862は適合された補足的コンテンツ転送ストリーム964を発生する。
入来するトランスコード化された補足的コンテンツ転送ストリーム942とテンプレート転送ストリーム848は入来するストリームのナビゲーションマップを構築するためにそれぞれ第1および第2のルックアヘッドバッファ924、934に並列して与えられる。これらのマッピングはストリームのマップを与え、これらのマッピングはストリームのマップを提供し、これらのマッピングはストリームの対応する部分の前の選択ユニット926へ与えられ、それによって以下さらに詳しく説明するように実際に選択を行う前に選択が決定されることができる。少なくとも部分的に、これらのマッピングはテンプレート転送ストリーム848と入来するトランスコードされた補足的コンテンツ転送ストリーム942のモデルを通るフローを与える。
さらに入来するトランスコード化された補足的コンテンツ転送ストリーム942とテンプレート転送ストリーム848はそれぞれストリームからメタデータおよび/またはパラメータを抽出し、ソースパケットマップ952と956を発生するため第1のパーサー922と第3のパーサー956にそれぞれ与えられる。これらのパラメータは各転送ストリーム942、848中に含まれるが、ストリームは通常非常に圧縮されるので、しばしばアクセスおよびそれと共に動作するのが困難である。結果として、転送ストリームは必要とされるパラメータを抽出するためにパーズ(parse)される。ソースパケットマップは実際のストリームを構築するために使用される個々のパケットを表す一連のパラメータを含むことができ、バイト位置、これらのバイト位置の現在時間、提示時間、符号化時間、ペイロードを含むこれらのパケットにおいてペイロードがオーディオ、ビデオおよび/または他のコンテンツであるか、ストリームIDが関係するストリームIDパラメータ944と一致するか、他の関連パラメータのようなパラメータを含むことができるがこれらに限定されない。
(典型的にオン・ザ・フライで組み立てられる)ソースパケットマップ952、956が発生されると、これらは少なくとも部分的に、いずれのテンプレート転送ストリーム949が維持され、いずれが置換されるかを決定するための基礎として使用されるように選択ユニット926に与えられる。前述したように、ストリームに関して実際に選択を行う前に、パケットマップは選択アルゴリズムを関連されるパケットへ適用する前に選択ユニット926に到着する。選択ユニット926は(受信されたストリームIDパラメータ944に基づいて)評価されるストリームが関係するストリームとして評価されることを確証するためのストリームIDと、テンプレート中のクリップ情報ファイル846中の情報と、第2のパーサー930によりテンプレートクリップ情報ファイル846から抽出され特定のストリーム内でプレーヤが注目に値すべき検索点として検索できる検索可能点を規定するエントリ点954と、タイミングを同一に維持する試みとしてタイミングを維持するために受信されるようなストリーム上のタイミング(例えばテンプレート転送ストリーム848と入来する補足的コンテンツ転送ストリーム942との間のマップの任意の特定の提示時間)とを評価する。
補足的コンテンツ転送ストリーム942が順化装置862と選択ユニット926を通って流れるとき、行われた選択決定に基づいて、テンプレート転送ストリーム848のパケットと入来する補足的コンテンツ転送ストリーム942のパケットとの間で選択するためのストリームセレクタ936を駆動するか、パケットオーバーライター940を通してヌルパケットを挿入する。幾つかの例では、順化装置862はさらに、入来する補足的コンテンツ転送ストリーム942で特定された提示および復号時間スタンプをテンプレート転送ストリーム848の時間ベースに整列された時間スタンプでオーバーライトする。適合された補足的コンテンツ転送ストリーム964はその後、前述し以下さらに説明するようにさらにチャンクされるように再生装置322へ転送およびダウンロードされる。
幾つかの構成では、順化装置はマスタータイミングを与えるためにテンプレート転送ストリーム848を使用する。入力ストリームID[]パラメータ944アレイにより特定されるストリームISを有するテンプレート転送ストリーム848中のパケットは入来する補足的コンテンツ転送ストリーム942からの同じストリームIDを有するパケットまたはヌルパディングパケットで置換される。テンプレート転送ストリーム848からのパケットを入来する補足的コンテンツ転送ストリーム942からのパケットまたはパディングパケットで何時置換するかに関する決定は少なくとも部分的にテンプレート転送ストリーム848と入来する補足的コンテンツ転送ストリーム942とのタイミング比較に基づいている。ブルーレイROMのような幾つかのコンテンツフォーマット又は標準では、パケットフォーマットは通常のMPEG−2転送ストリームフォーマットにオーバーレイされ、到着時間スタンプを含むいわゆるソースパケットが含まれている転送パケットの特殊化された形態を規定する。このパケットは効率的な転送ストリームパケットであり、幾つかの例ではその前に4つの付加的なバイトを有し、これはマルチプレクサに来るときそのパケットの複写保護状態とそのパケットの到着時間スタンプ(関係するパラメータ)を含んでいる。この到着時間スタンプはさらにパケットの比較および選択の補助を行うことができ、パケット置換が実行されているときに置換されているパケットが挿入されている類似のパケットに対応することを確証するためストリームを整列するように両ストリームと共に使用されることができる。テンプレートクリップ情報ファイル846はさらに再生装置322上のクリップ情報位置ホルダとの適合を維持するためパケット置換プロセス期間中に注目に値すべき提示時間エントリ点954を特定する。
図10はテンプレートクリップ情報ファイル846による図9の順化装置862の選択ユニット926による選択プロセス1020のグラフィカル表示の簡単化したブロック図を示している。テンプレート転送ストリーム848の一連のパケット1022、入来する補足的コンテンツ転送ストリーム942の一連のパケット1024、適合された補足的コンテンツ転送ストリーム964の結果的な一連のパケット1024、1027-1028が示されている。選択ユニット926により実効される選択に基づいて、タイミングにしたがって、パケットは選択されまたはパディングまたはヌルパケット1027が適合された補足的コンテンツ転送ストリーム964を発生するために組み込まれる。結果的な適合された補足的コンテンツ転送ストリームは、(1以上のシステムパケット1028と他のこのようなオーバーヘッドパケットを含むことができる)テンプレート転送ストリーム848からの幾つかのパケット1022と、入来する補足的コンテンツ転送ストリーム942からのパケット1024と、幾つかの挿入されたヌル又はパディングパケット1027を含む。ヌルパケットは部分的に実際のコンテンツとテンプレートとの差について補償し、タイミングを維持し、バッファリングの要件を満たし、および/または予め規定されたクリップ情報を適合するためにコンテンツのパケット間にパディングビットを提供する。
テンプレートクリップ情報846に応じて補足的コンテンツ転送ストリーム942の入来するパケットを組み込むとき、復号時間スタンプ(DTS)と提示時間スタンプ(PTS)のタイミングはテンプレート転送ストリーム848に一致するように調節されることができる。さらに幾つかの例では、パケット到着時間スタンプはテンプレート転送ストリーム848から取られる。
幾つかの実施形態では、補足的コンテンツ転送ストリームを符号化するとき、入来するビデオストリームの構造パラメータは少なくともビットレートを例外としてテンプレート転送ストリーム848についての構造パラメータと類似又は同じであるように設定されるべきである。付加的に、GOP(ピクチャのグループ)および/または補足的コンテンツ転送ストリーム942のビデオアクセスユニットのグループ(GOVU)の位置付けおよび/または期間は、テンプレート転送ストリーム848と入来する補足的コンテンツ転送ストリーム942との間の提示時間スタンプが適切に比較されることを可能にするために、テンプレート転送ストリーム848のGOP/GOVUに対応すべきであり、幾つかの例では同一である。
さらに、入来する補足的コンテンツ転送ストリーム942中のエントリ点提示時間の間のビットの総数はテンプレート転送ストリーム848中の対応するエントリ点提示時間の間のビットの総数よりも少ない。それでなければ入来する補足的コンテンツストリーム転送ストリーム942はテンプレート転送ストリーム848へ適合せず、および/または補足的コンテンツ転送ストリーム942への調節(例えばビットの制約に適合するため補足的コンテンツ転送ストリームの少なくとも一部を再度符号化する)が恐らく使用される必要がある。例えば幾つかの構成は補足的コンテンツ転送ストリーム942とテンプレート転送ストリーム848との間に平均ビットレートを設定することにおいて係数1.5を使用できる。この係数は幾つかの例では調節又は同調されてもよく、またピークビットレートにより影響される可能性もある。さらにエントリ点の精度は適合の機会を改良するためにスペースを設けられることができる(例えばエントリ点の精度は1秒よりも大きな間隔、又は幾つかの例では2秒よりも大きな間隔を隔てられることができる)。
パケットの選択において選択ユニット826はテンプレート転送ストリーム848により駆動される。テンプレート転送ストリームからの各パケットでは、パケットのタイプが決定される。幾つかの構成では、(通常はオーバーヘッドでありストリーム等を記述する)システムタイプパケットは適合された転送ストリーム964中に維持され、選択ユニット926により選択され、ヌルパケットは通常補足的コンテンツ転送ストリーム942からのパケット(例えばオーディオ、ビデオ、プライベートスタイルデータ等)によって置換される。前述したように、時間はさらに評価され、テンプレート転送ストリーム848と補足的コンテンツ転送ストリーム942との間のタイミングが一致しない例ではヌルパケットが選択され挿入されることができる。
パケットの選択前に、パケットで指定されるストリームIDはストリームIDがストリームIDパラメータ944と一致することを確認するために評価される。情報が選択ユニット926へ流れるとき、時間スタンプのようなパケット中の付加的な情報が評価される。幾つかの例では、パケットは提示時間スタンプについて検索され、これは再生期間中にディスプレイ上に又はスピーカを介して提示されることが予測されるときに指定される所定のパケットと関連されるタイミングである。テンプレート転送ストリーム848の提示時間スタンプと補足的コンテンツ転送ストリーム942の提示時間スタンプとの比較が行われる。例えばテンプレート転送ストリーム848のパケットでは、選択ユニット926は、提示タイミングにおいて対応し検索されているストリームIDパラメータ944に対する一致ストリームIDを有する対応するパケットが補足的コンテンツ転送ストリーム942で識別されることができるか否かを決定する。補足的コンテンツ転送ストリーム942からのパケットがストリームIDパラメータ944に対する一致するストリームIDを有することが識別されると、提示時間はパケットが提示時間においてテンプレート転送ストリーム848に対応し適合された補足的コンテンツ転送ストリーム964に組み込まれるべきであるか否かを決定するために評価される。幾つかの実施形態では、選択が命令され、少なくとも部分的に提示時間が一致することを確認し、提示時間が整列するならば、補足的コンテンツ転送ストリーム942のパケットを出力へ流れさせる選択コマンドを発生する。代わりに、提示時間が整列しないとき、テンプレート転送ストリーム848に一致するのに十分なビットレートが入来する補足的コンテンツ転送ストリーム942に存在しないためヌルパケットが挿入される。
図8に戻ると、適合された補足的コンテンツ転送ストリーム964は、それが発生されるとさらに、補足的コンテンツのクリップ又はチャンク870を発生するためにチャンクマッピング856を適用する変換アプリケーション864を通して処理される。変換された対応するプレイリスト852は別のクリップを指す多くのプレイアイテムを含んでおり、幾つかの実施形態では、これらの各クリップは進行性のダウンロードの精度を表している。幾つかの例では、チャンキングがインラインで行われる。パケットが順化装置862から転送されるとき、これらは変換アプリケーションまたはコンポーネント864へ流れ、これはストリームをチャンクマップ856にしたがって漸進的に変換する。クリップ情報854は幾つかの構成では補足的コンテンツの対応するクリップ870を発生するために使用されることができる。例えばクリップ情報は各クリップの開示時および終了時を規定されている各クリップ中のパケットの数を述べることができる。先に紹介したように、マッピング856は共に動作するのに都合のよいデータのセットを提供するために発生されることができ、適合補足的コンテンツ転送ストリーム964を取り、いずれのパケットがいずれのクリップにどの程度の時間量でこのような多くのバイトがクリップに入るかを特定することによりクリップ870を発生してクリップの終了とクリップの閉じを指定するとき変換アプリケーション864により使用されることができる。
前述したように、幾つかの実施形態では、整数個のパケットが補足的コンテンツ870のクリップ中に組み込まれる。整数個のパケットがクリップを埋めるためにクリップに組み込まれることができない例では、最大数のパケットが、クリップの境界を超えずに組み込まれ、残りのクリップは少なくとも部分的にタイミングを維持するためヌルまたはパディングデータで埋められる。幾つかの実施形態はクリップを発生するとき整列ユニットの制約を尊重し、このようにして各クリップに整数個のパケットを含まなければならない。整数個のパケットがクリップを埋めるためにクリップに組み込まれることができない例では、複数のパケットが終了時に関してパケットに組み込まれ、残りのクリップは整列ユニットの整数倍に適合するようにヌルまたはパディングデータで引き延ばされる。
例えば、BD−ROMは各クリップが32のパケット(6144バイト)で除算可能な整数であることを規定する。したがって区分されたクリップ境界がそのパラメータを満たさないならば、ヌルパディングパケットが典型的にクリップの最後に加えられる。さらにヌルパケットはBD−ROM専門の到着時間スタンプを組み込む。この時間スタンプはヌルパケットからヌルパケットへ、引用された転送ストリームマックスビットレートに等しいかそれ以下のレートで進む。これは十分に大きな時間ギャップがクリップNの最後の到着時間スタンプとクリップN+1の始めの到着時間スタンプとの間に設けられるべきであり、それによって到着時間クロックが引用されたストリーム転送ストリームマックスレートのレートで進む一連のヌルパケットを挿入するので、実行可能なクリップ境界の選択にはさらに限定が加えられる。
図11は幾つかの実施形態により、クリップテンプレート1124に適合される補足的コンテンツ1126のクリップを発生するため予め定められたクリップテンプレート1124による補足的コンテンツ1122のストリームを区分するプロセス1120のグラフィカル表示の簡単化したブロック図を示している。補足的コンテンツ1122のストリームはパケット1024に分割され、実質的には任意の関連する補足的コンテンツ、例えばオーディオおよびビデオ(A/V)データであることができる。図7−10に関して前述したように、補足的コンテンツのパケット1024は必要なときトランスコードされ、テンプレート転送ストリーム848に基づいて適合される。順化装置862は、テンプレート転送ストリームパケット1022、補足的コンテンツパケット1024および/またはヌルパケット1027を含むことができる適合された補足的コンテンツ転送ストリーム964を発生する。クリップテンプレート1124に基づいて、適合された補足的コンテンツ転送ストリーム964はその後補足的コンテンツを補足的コンテンツ1126のクリップに分解することにより区分される。補足的コンテンツ1126の各クリップは1以上のパケット1022、1024、1027を含んでいる。さらにパディングビット、パケットまたはデータ1132は整数個のパケット1022、1024、1027がクリップを埋めないとき補足的コンテンツ1126の1以上のクリップに組み込まれることができる。補足的コンテンツの結果的な複数のクリップ1126のプロフィールは予め規定されたクリップテンプレート1124に適合する。このようにして補足的コンテンツのクリップは再生装置でクリップ情報にマップされることができ、幾つかの例ではバッファリング要求を満たすために与えられる。
ダミーまたは仮説的なコンテンツストリームは予め規定されたクリップテンプレート1124と関連するクリップ情報を発生することに使用されることができる。このダミーストリームは再生装置に分配されず、代わりに実質的に任意の予測される補足的コンテンツストリーム1122がクリップテンプレートのプロフィールにしたがって区分されることを可能にするのに十分なオーバーヘッドまたはヘッドの余地を有するクリップテンプレートとクリップ情報ファイルを作成するために使用される。ダミーストリームは再生装置と適合したビットレートで符号化されるとき例えば補足的コンテンツデータを超過したデータでクリップを設定するために予測された補足的コンテンツのビットレートを超過したビットレートで符号化されることができる。これは補足的コンテンツのクリップがクリップテンプレート、したがってクリップテンプレートに関連されるクリップ情報に対応できるようにクリップテンプレートに過剰なデータサイズを少なくとも部分的に設定する。
多数の異なるクリップテンプレートが発生されることができ、多数のクリップテンプレートの1つが、予測されるか知られている再生装置、通信リンク帯域幅および他のこのようなパラメータのような1以上の要素に基づいて選択されることができる。異なるクリップテンプレートは異なる通信リンク帯域幅および/または速度、再生装置の処理能力と帯域幅および他のこのような要素に基づいて調節されることができる異なるビットレート、総帯域幅等で異なるデータストリームを発生できる。ポータブル記憶媒体222は通信リンク帯域幅および/または速度、再生装置の処理能力、他のパラメータ又はこのようなパラメータの組合せのような異なる再生パラメータに関連されている各プレイリストを有する多数の異なるプレイリストを含むことができる。幾つかの実施形態では、媒体222におけるプログラミング142はさらに、ネットワーク帯域幅、装置処理能力および/または他のこのようなパラメータを決定し、決定されたパラメータに基づいて媒体に記録されたプレイリスト122と関連クリップ情報を選択するためのアプリケーションを再生装置220に実行させることができるプログラミングを含んでいる。この選択はサーバ326または他の遠隔装置に転送されることができ、これは選択されたプレイリスト122に対応する予め規定されたクリップテンプレートを識別し識別された予め規定されたクリップテンプレートに適合する補足的コンテンツを転送できるサーバ326または他の遠隔装置に転送されることができる。
さらに幾つかの例では、補足的コンテンツはブルーレイ、HD DVDまたはその他のこのようなコンプライアントプレーヤのような特定の再生標準またはフレームワークと適合する1以上の特定の再生装置を通して補足的コンテンツの符号化されたストリームが再生されることができることを確実にする試みにおいて、バッファモデル要件の特定のセットを満たすために補足的コンテンツが符号化および/または多重化される(例えばビデオおよびオーディオの補足的コンテンツを共にインターリーブする)。符号化および/または多重化は再生装置がそのバッファをオーバーランまたはアンダーランしないことを確証する試みにおいてコンテンツをインターリーブする。
ダミーまたは仮説的コンテンツストリームは例えば比較的非常に高いビットレート仕様で使用および符号化されることができる。この非常に高いビットレートは補足的コンテンツで予測されるビットレートよりも大きい(例えばユーザ作成コンテンツのビットレートよりも大きい)ように選択される。予め規定されたクリップテンプレートは補足的コンテンツを構成することができるコンテナを効率的に作成するこの符号化された高いビットレートに基づいて生成される。予め規定されたクリップテンプレートの使用によって、パケット等がストリームに沿って位置付けられる予定の場所が知られる。
ユーザ作成コンテンツのような実際の補足的コンテンツはより低いビットレートで発生され、しばしば予め規定されたクリップテンプレートの発生に使用される仮説的コンテンツストリームよりも非常に低いビットレートで発生される。クリップテンプレート1124により規定されるようなクリップに組み込まれる補足的コンテンツ1130のデータ量はクリップテンプレート1124によりクリップに割当てられたデータサイズよりも小さい(幾つかの例では非常に小さい)ので、符号化された補足的コンテンツストリーム1122がクリップ1126へ分解されるとき、クリップテンプレート1124はクリップ1126内のコンテンツ1130を調節するための余裕とフレキシブル性を与える。クリップ1124内の補足的コンテンツは幾つかの実施形態ではヌルまたはダミーデータ1132(例えば予め選択された一連のビット、1ビット又は他のこのようなヌルデータのストリング)を組み込むことにより、補足的コンテンツ1130をクリップテンプレートと整列するように調節される。一連のヌル又はダミーデータ1132は補足的コンテンツのクリップ1126の再生において再生装置322によりスキップされるか認識されない(例えばMPEGコンパチブル復号装置は典型的にMPEG−2 13818−1ヌルパケットをスキップする)。
前述したように、予め規定されたクリップテンプレート1124は予め規定されたクリップテンプレート1124に適合する補足的コンテンツクリップ1126のストリームを発生するために少なくとも部分的に符号化および/または多重化を述べるために使用されることができる。このように、符号化された補足的コンテンツストリームはコンテンツ1130を整列するパディング1132(例えばダミーまたはヌルデータ又はビット)を含み、それによって補足的コンテンツのクリップ1126は予め規定されたクリップテンプレートにしたがい、媒体222のクリップ情報に一致するかそうでなければ再生装置に与えられる。
補足的コンテンツストリームのパディング1132は幾つかの例ではダミービット又はデータを転送ストリーム仕様の階層中の異なる層でコンテンツストリーム内に組み込むことにより実行されることができる。例えばパディングは基本的な層および/またはパケット層に組み込まれることができる。更に別の例では、MPEG2転送ストリームはパケットを含み、各パケットはビデオ、オーディオ、サブピクチャ、グラフィック等のうちの1つを記憶するために識別される。パディングはパケットが再整列されていることを必要とすることが知られているか、または決定されたとき例えばヌルデータをサブピクチャデータに挿入することにより組み込まれることができる。ヌルパケットは計略点に組み込まれることができ、それによってストリームはクリップテンプレートの予め規定されたクリップ情報に適合する。例えばヌルサブピクチャデータはヌルデータが再生装置によりアクセスされず利用可能ではなく又は表示されないストリームに組み込まれることができる。幾つかのコンテンツストリームは1以上の二次ストリームを含むかおよび/または多重化に含まれることを可能にする。このようにして、幾つかの実施形態は例えばパケット層でパディングとして別の二次ストリームを使用して付加的にまたは代わりに幾つか又は全てのパディングを組み込む。
幾つかの実施形態では、ハイブリッド計略が使用されることができ、ここでは警告域に踏み込みながら予め規定されたクリップテンプレートに適合しようとして最初に補足的コンテンツストリームが符号化され多重化される。符号化されたコンテンツストリームはその後、さらに正確におよび/または適切に予め規定されたクリップテンプレートを満たすためさらにパディングを含むことにより調節されることができる。このハイブリッドアプリケーションはダウンロードサイズおよび他のこのような例を減少する試みにおいて、より厳密なビットレート需要が必要とされる幾つかの例で、例えばメモリスペースが限定されるときに使用されることができる。
パディング又はダミーデータ1132の組込みは補足的コンテンツのクリップのデータサイズを増加し、付加的な冗長データの転送を生じることに注意する。幾つかの例ではクリップを再生装置へ送信する前にデータサイズをさらに減少する試みが使用されることができる。補足的コンテンツがマルチプレクサを通過したとき、これは典型的に既に圧縮され、パディングの組込みは前述したようにバッファの要求と、予め規定されたクリップテンプレート情報へのマッピングを満たすように付加される。しかしながらデータサイズについてのさらなる減少は第2のレベルの圧縮を通じて補足的コンテンツのクリップを通過することにより得られることができる。後続のコンテンツのクリップはその後再生装置のローカル記憶装置に記憶されるかそうでなければ再生装置により使用される前に再生装置で解凍されることができる。幾つかの実施形態では、解凍アプリケーションはポータブル記憶媒体222上のプログラミング142から行われることができる。
付加的にまたは代わりに、パディングは補足的コンテンツのクリップから除外されることができる。パディングのないクリップは再生装置220へ転送されることができ、再生装置はその後パディングをクリップに組み込むためにクリップの処理を実行できる。再生装置におけるパディングは例えば再生装置において、その再生装置に記憶されているか別のソースから(例えばCD−Live(商標名)アプリケーションを通して)受信されたポータブル記憶媒体からのプログラミング142(例えばJava(登録商標)コード)を実行することにより組み込まれることができる。プログラミング142はコンテンツストリームのマッピングおよび他の指示に基づいてパディングが組み込まれる箇所またはコンテンツストリームから離れて与えられる箇所を識別でき、必要なときに適切なパディングにより再生装置220でコンテンツストリームを再構築するために使用される。
幾つかの実施形態は特定された長さを延在するパディングデータを規定する付加的な開始コードをランレングス圧縮フォーマットを通して規定または付加することによってサーバ326又は他の処理設備におけるパディングを規定できる。再生装置220はクリップを再生するとき、開始コードを検出し、規定された開始コードおよび特定された長さにしたがってコンテンツを延在する。パディングが組み込まれる箇所を再生装置へ指定する別の方法はパディングマッピングまたはパケットマッピングを再生装置へ提供することである。パディングまたはパケットマッピングはコンテンツ全体のパディングを規定でき、またはパケットマッピングは単一のクリップ、クリップのグループまたはコンテンツの幾つかの他の部分についてのようなコンテンツの一部分のみについてのパディングを規定できる。パケットマッピングに基づいて、再生装置は再生前に、多くの例ではブルーレイ仕様にしたがって再生に使用するためローカル記憶装置へコンテンツを書込む前に、コンテンツへパディングを組み込むことができる。このマッピングは例えば別のチャンネルにわたってコンテンツを受信する前に別のファイルまたはデータのセットとして転送されることができ、またはヘッダ中でのようにコンテンツと共に、そうでなければその前に又はコンテンツと共に受信されることができる。
再生装置がパディングをコンテンツストリームに組み込むことを可能にすることは通常、再生装置へ通信(例えばダウンロード)されなければならないデータ量を非常に減少でき、パディングにより生じる冗長を減少することができる。例えばビデオコンテンツ中の変化のため、可変の符号化レートでの符号化時には瞬時の符号化ビットレートは劇的に変化することができる。ビデオストリームは4Mビット/秒の公称的または平均ビットレートを有することができるが、迅速な情景変化のためにストリーム期間中の任意の所定点では符号化レートは例えば9Mビット/秒へジャンプする可能性があり、同様に1Mビット/秒程低度へ低下する可能性がある。このような変動を許容し補償するため、クリップテンプレートに適合している入来するビデオを処理するための適切な容量をもったクリップテンプレートが選択される。このようにして、選択されたクリップテンプレートは高いビットレートを有し、したがって適合されたコンテンツストリームの大部分にわたって大量のパディング(例えば多数のパディングパケット)を生じる。パケットマッピングを与え、コンテンツストリーム内でパディングが組み込まれる箇所を規定することにより、多量の冗長およびヌルデータの送信および通信なしにコンテンツストリームが送信されることができる。再生装置は代わりにストリーム内で規定されたように(例えば開始コードおよび規定されたパディング長またはパケット数を通して)、或いはパケットマッピングを通してパディングを含ませることができる。パディングを再生装置においてコンテンツストリームへ含ませることにより、さらに広い範囲の符号化ビットレートを適合することができるテンプレートを選択することができる。
図12は補足的コンテンツ1126のクリップへ補足的コンテンツ1130を区分するプロセスの1220の簡単化したフロー図を示している。区分化はリクエストの受信前に行われるか(例えば1以上のテンプレートおよび/または符号化レートにしたがって区分化された事前記録コンテンツ)、またはリクエスト時および/または生のコンテンツで区分されることができる。随意選択的なステップ1222では、補足的コンテンツの再生に対するリクエストは再生装置322からネットワーク324にわたって受信される。ステップ1224では、補足的コンテンツが識別され検索される。幾つかの例では、補足的コンテンツは、それが生成されたとき、例えば実演、上演、イベント等を記録するとき検索される。ステップ1226で、生成装置および/または通信リンクの関連パラメータおよび/または特徴が決定され、またはクリップテンプレート、例えば再生装置により特定されたクリップテンプレートが識別される。前述したように、幾つかの例のプログラミング142は再生装置322にその再生、処理および/または能力のバッファリングを決定させるコードを提供する。さらに再生装置220および/または媒体におけるプログラミング142は、予め規定されたクリップテンプレートおよび/またはポータブル記憶媒体に記録されたおよび位置ホルダ128に関連されたクリップ情報に対応するプレイリストの選択をさせることができる。通信リンクはさらに再生装置へのデータ流に影響することができ、補足的コンテンツ1126のクリップの生成の調節と、選択されたクリップテンプレートに関する符号化レートの選択、および/または区分化され前もって準備され記憶される補足的コンテンツの選択に使用される。
ステップ1228で、予め規定されたクリップテンプレート1124が関連パラメータまたは指定されたテンプレートにしたがって識別され選択される。ステップ1230で、補足的コンテンツが前もって準備され利用可能であるか否かが決定される。補足的コンテンツがクリップテンプレートにしたがって準備されており関連パラメータにしたがって符号化される例では、プロセスはステップ1234にスキップする。補足的コンテンツが準備されていないとき、プロセスはステップ1232へ進み、補足的コンテンツストリーム1122は、補足的コンテンツ1130を含み幾つかの例では適切な場合にパディングデータ1132を含む補足的コンテンツクリップ1126を生成するため、選択されたクリップテンプレート1124および識別されたパラメータ(例えばビットレート、通信帯域幅等)にしたがって符号化および/または多重化される。代わりに、補足的コンテンツクリップ1126はパディングデータ1132なしで発生されるが、代わりに開始コード又は他の指示子を含み、これは再生装置により検出されるとき、前述し以下詳しく説明するようにこの再生装置によってパディングデータ1132を発生しパディングデータ1132を再生装置で組み込むのに使用される。さらに別の実行では、パケットマッピング又はヌルデータマッピングはパディングデータ1132の生成と再生装置でのパディングの組込みにおいて再生装置により使用されるように、補足的コンテンツクリップ1126と協動して発生される。
ステップ1234では、補足的コンテンツの準備されたセットは、識別されたテンプレートおよびネットワーク帯域幅等のような他の関連パラメータに基づいて選択される。ステップ1240で、補足的コンテンツクリップ1126、および適切な場合マッピングは再生装置20へ転送される。プロセス1220は任意の回数、幾つかの例では同時に多数の異なる関連パラメータについて実行されることができる。例えば多数の再生装置220は補足的コンテンツのソース(例えば監督の解説のような生のイベント)にアクセスでき、補足的コンテンツのクリップの多数のストリームは異なるパラメータを有する異なる再生装置で発生されることができる。さらに幾つかの例では、ステップ1222、1224、1226はスキップされ、多数の異なるクリップテンプレートはステップ1230で選択され、コンテンツクリップの多数の異なるストリームを発生するためにステップ1232で使用される。再生装置がコンテンツにアクセスすることをリクエストするとき、コンテンツクリップの多数の異なるストリームの1つは再生パラメータおよび/または通信パラメータにしたがって選択されることができる。
図13はポータブル記憶媒体222に関連される補足的コンテンツ452をフォーマットでき、幾つかの例ではフォーマットされた補足的コンテンツを、リクエストしている再生装置220へ転送するコンテンツソースまたは供給者により実行されるプロセス1320の簡単化したフロー図を示している。例えばコンテンツソースは再生装置220のローカルまたは外部メモリ228、インターネットのような分配通信ネットワーク324によって再生装置または他のこのようなソースと結合され、および通信する遠隔サーバ326または遠隔メモリ記憶装置328であることができる。さらにプロセス1320はコンテンツ供給者により実行されることができ、これはコンテンツをフォーマットして、フォーマットされたコンテンツを再生装置220によりアクセスされるようにソースに分配する。フォーマットは、関連するとき適切な通信についてフォーマットし、補足的コンテンツに対する暗号化又は他の保護を適用し、コンテンツを圧縮し、コンテンツがセグメントにまだ分解されていないとき1以上のクリップテンプレートにしたがって補足的コンテンツを区分し、他のパラメータにしたがって再度区分し、他の関連するフォーマットを含んでいるがそれらに限定されない。幾つかの実施形態では、プロセス1320は図12のプロセス1220と協動して使用されることができる。
ステップ1322で、コンテンツソース(例えばサーバ326)は再生装置220で媒体222と関連して再生されるように求める補足的コンテンツのリクエストを受信する。ステップ1324で、再生装置の媒体222が識別され、幾つかの実施形態では認証される。認証は、技術的に知られている実質的に任意の認証プロセスを通じて行うことができる。ステップ1326で補足的コンテンツを転送するための許可が必要とされるか否かが決定される。許可が必要とされない例では、プロセスはステップ1334にスキップする。代わりに、許可が受信されるか否かを決定するためにステップ1330に入る。許可は再生装置220により与えられた情報、ユーザプロフィール、受信された支払いの確認、第3のパーティの装置(例えば補足的コンテンツのコンテンツおよび/または媒体に記録されたコンテンツの所有者に関連される第3のパーティのサーバ)からの許可、パスワード、および/または他のこのような許可に基づいている。許可が確認されない例では、プロセスはステップ1332で再生装置へ通知を発生し、終了する。
ステップ1334で、リクエストされた補足的コンテンツ452は、典型的に媒体222のアイデンティティおよび/または媒体に記録されたコンテンツに基づいて識別される。他の要素も補足的コンテンツの識別で考慮されることができる。例えば、テンプレートと;多数のストリームが利用可能であるとき異なるレートで符号化されるような符号化パラメータと;供給するための補足的コンテンツを決定するとき、例えばユーザの年齢に適した補足的コンテンツを識別し、先に受信された前の補足的コンテンツとユーザが支払ったサービスのレベル(例えば基本レベル対プレミアムレベル)等とを識別するようなユーザプロフィールが考慮されることができ;許可レベルが評価されることができ(例えばユーザが第1の補足的コンテンツについて安価の料金を支払い、1以上の代わり又は別の補足的コンテンツを得るにはさらに高額の料金が支払われる);再生装置の能力が考慮される(例えば装置がストリームコンテンツを受信し、再生装置がこのようなコンテンツを使用できるとき、高精細度ビデオコンテンツを提供することができるか否か等);ネットワーク特性(例えばネットワーク帯域幅)、および他のこのような要素が含まれる。
補足的コンテンツが識別されると、プロセス1320はメタデータおよび/または実際の補足的コンテンツ情報(例えば実際の再生期間、実際の再生タイミング及び他のこのような関連メタデータ)を検索および/または生成するためステップ1336へ続き、リクエストする再生装置に利用可能であると決めたデータを転送する。随意選択的なステップ1338では、補足的コンテンツの処理および/またはフォーマットは処理が必要であるときに行われる。この処理は補足的コンテンツのクリップを発生し(例えば図11および12を参照して前述したプロセス1120および/または1220を実行し)、通信プロトコルに基づいて通信のためにクリップを暗号化し、フォーマットし、および/またはパッケージすること、および他のこのような処理を含むことができる。前述したように、幾つかの例では補足的コンテンツのクリップは1以上のテンプレートにしたがって前もって準備され、および/または1以上の異なる符号化レートおよび/または方式にしたがって符号化されることができる。補足的コンテンツが事前処理されるとき、ステップ1338はスキップされることができるか、ステップ1338の処理が限定されることができ、例えば特別の通信チャンネルにしたがってフォーマットし、暗号化し、または他のこのような処理をすることに限定されることができる。ステップ1340で、補足的コンテンツの転送が開始される。パディングデータが生成され、再生装置220で補足的コンテンツに組み込まれる例では、ステップ1340における補足的コンテンツの転送は、パディング情報が直接的にコンテンツストリームに組み込まれないとき、再生装置においてパディングがコンテンツストリーム内の適切な位置で発生されることができるようにパケットマッピング又は他のこのような指示を再生装置へ転送することを含むことができる。
ステップ1342で、補足的コンテンツの転送は調節が行われるか否かを決定するために監視される。これらの調節は通信リンクへの変更、再生装置からの指令又は他のこのような変更に基づくことができる。調節が行われるとき、適切な調節を行うためにステップ1344に入り、プロセス1320は、決定された適切な調節にしたがって調節されるように転送を継続するためステップ1340へ戻る。この調節は通信リンクの状態および/または帯域幅、ユーザによる動作および/または他のこのような要素にしたがって変化することができる。幾つかの例では、調節はストリームの切換えを含むことができる。異なるレートで同じコンテンツの複数の異なるストリームを発生するように2以上の異なる符号化レートを適用しながら、単一のテンプレートを使用しその単一のテンプレートを使用して同じ補足的コンテンツを符号化することによって、より低いか高いビットレートへのストリームスイッチが再生を変更せずにまたは再生装置220がリブート、再開、更新の実行(例えばバーチャルファイルシステム(VFS)への更新)又は他のこのような更新を必要とせずに実行されることができ、または完全に異なる補足的コンテンツへのスイッチは異なる補足的コンテンツが単一のテンプレートに適合される場合に実行されることができる。
プロセス1320は付加的なメタデータ、コマンド、補足的コンテンツ情報および/または実際のクリップ情報が再生装置へ転送されるか否かを決定するためにステップ1346へ継続する。例えば、付加的なメタデータは補足的コンテンツの符号化の完了に基づいて知られることができ、メディア停止コマンドが通信されることができ、パケットマッピングは再生装置により挿入され規定される少なくともパディング位置とパディング量および他のこのような情報を指定する。さらに別のメタデータ、他の関連情報或いはコマンドが転送されるときステップ1350に入り、さらに別のメタデータ、他の関連情報或いはコマンドは再生装置へ通信される。ステップ1352で、補足的コンテンツが完全に転送されたか否かが決定される。転送が完了されないとき、プロセス1320は転送を継続するためにステップ1340へ戻る。代わりに、プロセス1320は終了する。
図14は遠隔ソース(例えばサーバ326または遠隔デジタル記憶装置328)から再生装置220へ補足的コンテンツを分配するプロセス1420の簡単化したフロー図を示している。幾つかの実施形態では、プロセス1420は前述したようにプロセス1320の一部として組み込まれることができる。ステップ1422で、補足的コンテンツが再生装置へダウンロードまたはストリームされるか否かが決定される。識別された補足的コンテンツが再生装置へダウンロードされる例では、補足的コンテンツの1以上のクリップまたはセグメントが生成されるか否かを決定するためにステップ1424に入る。幾つかの例では、補足的コンテンツは転送のため既に補足的コンテンツの1以上のクリップまたはセグメントに分解されている。補足的コンテンツの1以上のクリップが発生されるときステップ1426に入り、1以上のパラメータに基づいて補足的コンテンツは補足的コンテンツの1以上のクリップの生成を開始するように処理される。パラメータは再生装置220のバッファサイズ、通信ネットワークの帯域幅、再生装置の処理速度および/または能力、再生装置および再生されるコンテンツの再生レートおよび/またはビットレート、転送される補足的コンテンツの量、識別され予め規定されるクリップテンプレート及び他のこのような関連パラメータを含むことができる。プロセス1420はステップ1426に続いてステップ1430へ進み、ステップ1424で補足的コンテンツがクリップへ分解される必要がないことが決定されたとき、補足的コンテンツのクリップ又はファイルの転送が開始される。同様に、コンテンツがストリームされるときステップ1432に入り、コンテンツのストリーミングが開始される。
ステップ1434で、プロセスは、送信に対する調節(例えば送信レート)またはストリームにされたコンテンツのクリップ又はその一部の再送信に対する調節が実行されるか否かを決定する。調節および/または再送信は受信装置から受信されたフィードバックまたは検出されたエラー状況に基づくことができる。ステップ1436では、再送信が開始される。ステップ1440で、さらにクリップが送信されるか否かが決定される。さらにクリップが転送されるとき、プロセス1420は補足的コンテンツのその後のクリップの転送を開始するためにステップ1430に戻る。代わりに、プロセスはステップ1442へ続き、全ての補足的コンテンツが再生装置へ転送されるか否かが決定される。さらに補足的コンテンツが転送される例では、プロセスは補足的コンテンツを転送し続けるためステップ1432へ戻る。全ての補足的コンテンツが転送されていることが決定されたとき、さらにメタデータまたは他の関連情報が再生装置へ転送されるか否かを決定するためにステップ1444に入る。さらにメタデータまたは他の関連情報が転送される例ではさらにメタデータ又は他の関連情報の転送を開始するためステップ1446に入る。
前述したように、幾つかの構成ではヌル又はパディングデータはコンテンツソースの補足的コンテンツへ組み込まれず、例えばネットワーク324によって再生装置へ通信されない。代わりに補足的コンテンツは選択されたテンプレートに適合され、パディングパケット1027および/またはパディングデータ1132が組み込まれる場所および組み込まれるパディング量を規定するデータは識別される。別のパディング又はパケットマッピングが発生され、あるいはパディング指示がコンテンツストリームに組み込まれ、それによってパケットマッピングおよび/またはパディング指示はパディングが組み込まれる位置と組み込まれるパディングの量を識別する。再生装置は再生前に再生装置のローカルメモリに記憶されるパディングを再生装置に組み込むためにこのパケットマッピングおよびパディング指示を使用する。コンテンツソースにパディングを組み込まないことによって、補足的コンテンツを通信するためのデータ量は減少される。
再生装置220におけるパディングの発生はポータブル記憶媒体222、ローカル記憶装置228から検索されおよび/またはネットワーク324にわたって(例えばBD−Live(商標名)を通して)受信されるソフトウェアを通じて実行されることができる。このソフトウェアアプリケーションはJavaのような実質的に任意の関連するプログラミング、または再生装置環境で動作できストリーム内のパケットマッピングおよび/またはパディング指示(例えば開始コード)を解釈できる任意の他の関連プログラミングを通して実行されることができる。マッピングおよび/またはパディング指示を使用して、再生装置は(例えばタイミングに基づいて)パディングを埋める箇所と、組み込むパディングの量とを決定することができる。結果的なコンテンツストリームは、再生装置におけるパディングの組込み後に再生の準備ができ、幾つかの例では再生の準備がされたローカル記憶装置へ書き込まれることができる。幾つかのストリーミング構成のような他の構成では、パディング情報は実際に再生装置によりコンテンツストリームに書き込まれることができないが、タイミング情報として使用される。代わりに、しかしながら、幾つかの構成は再生装置におけるクリップ情報および/または媒体のクリップ情報と適合するようにパディングを使用しそのパディングをコンテンツストリーム内に組込み、コンテンツストリームとクリップ情報マップとの間の一体性を維持する。さらにパディングはバッファレベルを維持しタイミングを維持するためコンテンツストリームに部分的に組み込まれることができる。
図15は再生装置220を通して実行される、幾つかの実行により再生装置でパディングを行うプロセスの簡単化したフロー図を示している。ステップ1522で、遠隔ソース326のような補足的コンテンツのソースとの通信が設定される。ステップ1524で、再生装置220は遠隔ソースによりリクエストされるとき、それ自体および/またはポータブル記憶媒体222を認証しおよび/またはその許可を与える。ステップ1526で、補足的コンテンツのリクエストは遠隔ソース326に転送される。このリクエストはポータブル記憶媒体222の識別を行い、前の補足的コンテンツを識別し、前述しさらに以下説明するようにユーザと、補足的コンテンツの識別においてコンテンツソースにより利用されることができる他のこのような情報との識別を含むことができる。ステップ1528で、補足的コンテンツが利用可能になり通信がなされるという確認が受信されたか否かが決定される。補足的コンテンツが存在しない場合には、プロセス1520は終了する。
ステップ1530で、パケットマッピングが受信されたか否かが決定される。前述したように幾つかの例では、パケットマッピングは同じ又は異なる通信チャンネルによって転送されることができる。さらにパケットマッピングは補足的コンテンツのサブセットのための部分的マッピングのみであってもよい。パケットマッピングが受信されないとき、プロセスはステップ1534に続く。代わりにパケットマッピングがパーズされパディングの最初の位置と量が識別されるためにステップ1532に入る。
ステップ1534で、補足的コンテンツが受信される。ステップ1536で、補足的コンテンツが最初に処理される。この最初の処理は幾つかの初期解凍、復号、解読および/または他のこのような事前処理を含むことができる。ステップ1538では、コンテンツストリームがパーズされる。ステップ1540で、パディングがコンテンツストリームに組み込まれることを示す1以上のパディング識別子がストリーム内で検出されるか否かが決定される。パディング識別子は幾つかの例では規定された長さ、作動時間、パケット数、バイト数等によりパディングを特定する開始コードとして規定されることができる。
コンテンツストリームがパディング識別子を含むとき、パディングがコンテンツストリームに組み込まれる位置と組み込まれるパディングの量を決定するためにステップ1542に入る。ステップ1544で再生装置は補足的コンテンツストリームを局部的に記録し始める。ステップ1546で、補足的コンテンツストリームを書き込みながらコンテンツストリームは監視され、パケットマッピングおよび/またはパディング識別子により規定されるようにパディングパケット又はデータが補足的コンテンツストリーム内の現在位置に組み込まれるか否かが決定される。パディングが含まれない例では、プロセスは付加的な補足的コンテンツが受信および/または局部的に記録されるかを決定するためにステップ1548へ続く。さらに補足的コンテンツが受信されない例では、プロセス1520は終了する。
さらにコンテンツが受信されるか記録されるとき、プロセスはコンテンツストリームを記録し続けるためにステップ1544へ戻る。ステップ1540でパディングが補足的コンテンツストリーム内の識別された位置で組み込まれることが決定されたとき、ステップ1550に入り、再生装置220が特定された1以上のパディングパケットおよび/またはパディングデータを発生し、パディングを補足的コンテンツストリームに組み込む。ステップ1552で、発生されたパディングはパディングパケットおよび/またはデータを含めてコンテンツストリーム内に記録される。プロセスはその後ステップ1554へ継続し、さらに補足的コンテンツが受信され局部的に記録されるか否かが決定される。さらに補足的コンテンツが受信されない例では、プロセス1520は終了する。代わりにプロセスはステップ1530へ戻り、利用可能であるとき再度パケットマッピングを評価し、付加的なパケットマッピングが先のパケットマッピングによりマップされないコンテンツ部分について受信されたか否かを決定し、および/またはステップ1536へ続きさらにパディング識別子が特定されるか否かを見る。
再生装置で受信されたコンテンツストリームは幾つかの例では、ヌルパケットの幾つか又は全てが除去されているために効率的に減少された又は圧縮されたストリームである。再生装置はその後ヌルパケットを再度挿入し、したがってヌルパケットを挿入する場所を知る必要がある。幾つかの例では、パケットマッピングはヌルパケットが組み込まれるストリーム内の位置を識別する。さらに再生装置が2以上のヌルパケットを挿入しているとき、幾つかの例の再生装置は各ヌルパケットに使用される時間スタンプ(例えばATC時間スタンプ)を識別する。例えば各ヌルパケットはソースパケットとして構成されることができ、これは時間スタンプを含んでいる追加な4バイトを有するBD−ROM構造であることができる。このようにして再生装置は例えばBD仕様に適合するコンテンツストリームを再構成するための時間スタンプをパケット中に組み込むため、その時間スタンプを決定し、その時間スタンプが与えられなければならない。
図16は1以上のパケットマッピングファイルの使用により、幾つかの実行による再生装置でコンテンツストリームへのパディングを組み込むためのプロセス1620の簡単化したフロー図を示しており、ここではパケットマッピングファイルは単一のクリップまたはチャンク、多数のチャンクまたはコンテンツストリーム全体と関連付けられることができる。1622で、コンテンツの特定のクリップが検索されることが決定される。例えばステップ1622で特定のクリップが漸進的なダウンロード期間にクリップ情報ファイルにしたがってダウンロードされることが決定されることができる。ステップ1624で再生装置220は関連付けられたパケットマッピングファイルを検索またはアクセスする。この関連付けられたパケットマッピングファイルは再生を実行する前または漸進的なダウンロード期間中に遠隔ソースから受信されることができる。
ステップ1626で、パディングが挿入される位置(例えばバイトの領域)およびソースパケットの時間スタンプ(例えばATC時間スタンプ)を識別するのに適切な位置を識別するために、パケットマッピングファイルをパーズする。ステップ1630で、再生アプリケーションは特定のクリップのストリームデータをダウンロードする。ステップ1632で、再生アプリケーションは、ストリームが受信されバッファされると、パケットマッピングに関してコンテンツストリームをパーズおよび/または評価する。ステップ1634で、1以上のヌルパケットを、評価されたバイトの領域に基づくコンテンツストリームに挿入するか否かが決定される。ヌルパケットが組み込まれない場合には、プロセス1620は特定のクリップのさらに別のコンテンツが評価されるか否かを決定するためにステップ1636に続く。さらに別のコンテンツが評価される例では、プロセスはコンテンツの処理を継続するためにステップ1632へ戻る。クリップが評価されていることが決定されたとき、ステップ1640に入り、コンテンツストリームがさらにクリップを含み、さらにクリップがダウンロードされて評価されるか否かが決定される。付加的なクリップが検索されるとき、プロセスはステップ1622に戻りさらにコンテンツのクリップを検索する。代わりに、プロセス1620は終了しおよび/またはディスク222にしたがって再生を継続するためにプレイリストに戻る。
1以上のヌルパケットがコンテンツストリームに含まれていることがステップ1634で決定されるとき、ステップ1642に入り、特定のクリップに関連されるパケットマッピングファイルは識別されるバイト領域に関してコンテンツストリームに含まれているヌルパケット数を決定するために評価され、ヌルパケットの関連数はコンテンツストリームに組み込まれる。幾つかの例では、ATC時間スタンプは特定のクリップについて再構成されたストリームを発生するパーズされたパケットマップにしたがって付加的に設定される。付加的にまたは代わりに、ヌルデータはヌルテンプレートストリームから抽出されることができ以下説明するようにコンテンツストリームに組み込まれる。ステップ1644で、最構成されたコンテンツストリームは再生装置上のローカル記憶装置に書き込まれる。プロセス1620はその後特定のクリップについてのさらに別のコンテンツが評価されるか否かを決定するためにステップ1636へ進む。
幾つかの例では、パケットマッピングファイルはパディングが組み込まれるバイトの領域を規定する。さらにパケットマッピングファイルは領域内に組み込まれるヌルパケットの数を規定する。ヌルパケットデータは幾つかの構成では、一定であり容易にコピーされコンテンツストリームに組み込まれるように再生装置で定数としてメモリに保持されることができる。以下の表は幾つかの構造による1例のパケットマッピングファイルの部分的サンプルである。
この例では、パケットマッピングファイルはXMLフォーマットにしたがって規定されている。しかしながらパケットマッピングファイルはヌルデータが組み込まれる箇所と組み込まれるヌルデータの量とを正確に識別するために再生装置によりパーズされることができる実質的に任意の関係するフォーマット、例えばテキストファイル又は他のパーズ可能なフォーマットで構成されることができることに注意する。同様にパケットマッピングファイルの構成、レイアウトまたは組織は先の例から、関係する情報の正確な抽出がパディングの組込みを可能にする実質的に任意の構成へと変化されることができる。
更にこの例では、“null pos”パラメータは1以上のヌルパケットが組み込まれるストリーム内の位置を規定する。この位置または位置パラメータはバイト位置、バイト数、時間コード又は、1以上のヌルパケットが付加されるコンテンツストリーム内の位置を正確に識別できる他のこのようなパラメータを規定できる。さらに、位置パラメータはクリップ、コンテンツストリーム全体または他のこのような関係に関する位置を規定でき、例えばその位置はクリップ内のバイト位置を規定できる。“count”パラメータは識別された位置に組み込まれるヌルパケット数を規定する。この例では、マッピングは付加的に、識別された位置に組み込まれる1以上のヌルパケットの第1のヌルパケットについての時間スタンプを規定する“atc”を含んでいる。幾つかの例では、単一の時間スタンプは1以上のヌルパケットについて識別され、“count”の各連続的なヌルパックについての時間スタンプは既知のタイミングにしたがって、例えばパケットのタイミングに基づいてインクリメントされる。幾つかの例では、この既知のタイミングは規定される。前述の例のパケットマッピングでは、既知のタイミングは“atcDelta”パラメータにより規定され、これはこの例では846のタイミングを規定する。このようにしてこの例では、付加された各連続的なパケットは先の時間スタンプ+既知の期間(この例では846)に等しい時間スタンプを有する。特定の例として、先の例のパケットマッピングファイルの第1のエントリは、250個のヌルパケットがバイト位置66432で付加されることと、250ヌルパケットの第1のヌルパケットについての時間スタンプが314627436であることを規定している(これはこの例では27MHzクロックサイクルに基づいている)。第2のヌルパケットはこの例では、314628292(即ち314627436+856)の時間スタンプを有する。出力結果はローカル記憶装置に書き込まれることができる十分に再構成されたストリームが生まれる。
さらに、パディングはパディングを組み込む箇所と組み込まれるパディングの量とを規定するための別の方式を使用するパケットマッピングファイルなしで再生装置により組み込まれることができる。例えば別の方式はパケットマッピングデータを伝播するための転送ストリーム層において新しいプライベート拡張開始コードを規定し、これは幾つかの例では基本的に先の例のパケットマッピングファイルの場合と同じである。更に他の構成では、規定(プロトコル)がサーバ又はソース326と再生装置220との間に設けられ、ここではストリームクリップの開始バイトのようなクリップの予め規定されたセットが規定され、パケットマッピングデータに知られている。再生装置はパケットマッピングデータを抽出するために最初にこれらの開始バイトをパーズする。開始バイト中のパケットマッピングデータに続くデータはパディングが除去された実際のストリームデータである。更に他の実施形態は記号方式を使用する真のランレングス符号化アルゴリズムとして方式を実行できる。これは非常に一般的であってもよく、再生装置側でプロセッサ集約的であってもよい。
幾つかの実施形態では、ヌルデータはクリップにわたって分配される代わりにグループ化される。ヌルパケットの位置付けはヌルパケットが共にグループ化されるように移動されることができ、幾つかの例では可能な限り多く、バッファモデル制限および転送ストリームのT−STD遅延制約内で共にグループ化される。このグループ化は幾つかの例ではダウンロードのためのより良好なデータ圧縮を行う。
開始コードを使用する転送ストリーム内では、幾つかの実施形態は転送ストリーム層において予め規定された開始コード又は新しく規定された拡張開始コードを使用し、これは再生装置により検出され、ヌルパケットが組み込まれていることを再生装置に通知する。再生装置は規定された開始コードを検出するためコンテンツストリームの幾つかの事前処理を含むことができ、その後組み込まれるヌルデータの量を識別できる。データは組み込まれるヌルデータの量およびヌルパケットの数を規定でき、これは先の例のマッピングファイルで特殊化されたものと類似の情報を含むことができる。代わりに、規定又はプロトコルがコンテンツソース326と再生装置220との間で規定されることができ、ここではストリームクリップの1以上の開始バイトはパケットマッピングデータに知られている。再生装置はパケットマッピングデータを抽出するために1以上の開始バイトをパーズする。開始バイトに続くデータはその後パディングが除去された実際のコンテンツストリームデータである。このことはコンテンツストリーム内に規定されるようにパディングが再生装置により組み込まれることを可能にする。付加的にまたは代わりに、幾つかの実施形態はヌルパケットの反復されたパターンを識別するためにコンテンツを評価し、識別された反復されたパターンに基づいて符号化することによって記号方式を用いるランレングス符号化アルゴリズムを使用できる。
幾つかの実施形態は圧縮を改良するために付加的にパディング又はパケットをグループ化する。符号化期間中、コンテンツストリームは規定された制約によりヌルパケットのグループ化を最適化するように処理される。これらの制約は、目的とされる再生装置のバッファモデルと、転送標準ターゲット遅延(T−STD)制約と、ヌルパケットのグループ化の量を限定できる転送ストリームおよび再生装置の他のこのような制約および限定とに適合するためコンテンツストリームの符号化を含むことができる。ヌルパケットのグループ化により、ダウンロードのためのより良好なデータ圧縮が得られることができる。
多くの例では、遠隔ソース326から受信されたコンテンツは暗号化されるか他の保護がコンテンツに対して与えられる。さらに多くの標準は媒体に関連して再生されるコンテンツが暗号化されるかその他の方法で保護されることを必要とする。この保護はしばしば付加的に遠隔ソースから受信され再生前にローカル記憶装置に書き込まれた補足的コンテンツについて維持されなければならず、したがって補足的コンテンツは受信されて再生装置に記録されるときしばしば暗号化されるかその他の方法で保護された状態である。結果として、幾つかの構成では、再生装置におけるパディングパケットおよび/またはパディングデータの補足的コンテンツストリームへの組込みは、コンテンツストリームにしたがって暗号化され又はその他の方法で保護される組み込まれたヌルパケットと、および/または暗号化するかその他の方法で補足的コンテンツストリームと対応させるために幾つかの保護方式をパディングパケットおよび/またはデータに適用することとを含んでいる。しかしながら再生装置220は暗号化キーをもたなくてもよく、またはそれにアクセスしなくてもよい。同様に幾つかの保護又は暗号化技術の変形、例えば時間スタンプ、暗号化キーの一部または他の保護が使用されることができる。例えばブルーレイ標準方式は改良型アクセスコンテンツシステム(AACS)の使用を示している。
BDフォーマット仕様はMPEG2 13818−1転送ストリームの188バイトパケットが2つの複写保護インジケータビットと32ビットATC時間スタンプとを含む4バイトヘッダで増加されているストリームを規定する。組合された192バイトはソースパケットとしてBD仕様により名づけられている。パケットはその後さらに整列ユニットを形成するために32のグループに組織される。BDにより適用されるAACS複写保護は、暗号化が連鎖的ブロック暗号選択肢(CBC)でAES128アルゴリズムを使用して適用されることを禁止する。連鎖機構はブロック“n−1”に対してAES128ビットブロック“n”の依存を生じる。結果としてブロック“n−1”は典型的にブロック“n”が解読されることができる前に解読される必要がある。
この暗号化アルゴリズムは独立して整列ユニットに適用される。さらに整列ユニットの最初の16バイトは暗号化されない状態にある。暗号化キーまたは“ブロック”キーはCPSユニットキー(又はタイトルキー)でAES128を使用して、整列ユニットの最初の16バイトを暗号化することにより生成される。その結果、整列ユニットの最初の16バイトがシードとして作用するブロックキーが得られる。整列ユニットの残りの16バイト(128ビット)ブロックはその後ブロックキーで暗号化される。
このようにして、暗号化された結果は各ソースパケットがパケットからパケットへ変化しているATC時間スタンプを含むので予測されることができない。整列ユニットのあらゆるブロックがパディングデータであっても、各ソースパケットはATC時間スタンプを含み、これはパケットからパケットへ変化する(マーキング時間)ので、暗号化された結果(それ故信号)は典型的に予測されることができない。暗号化アルゴリズムは強力であり、したがってパディングの暗号化されていない整列ユニットと暗号化された出力との間にはほとんど識別可能な相関は存在しない。このようにして、再生装置はパディングパケットおよび/またはデータを正確に再生されることのできるコンテンツストリームに効率的に組み込むことはできない。
幾つかの実施形態はヌルテンプレートストリームを使用することによって、パディングが再生装置220でコンテンツストリームに組み込まれることを依然として可能にしながら暗号化されたコンテンツを提供する。ヌルテンプレートストリームはコンテンツの再生において再生装置220によりアクセスされおよび再生装置220において使用されるプレイリスト120にしたがって構成されたヌルデータを含んでいる。さらに、ヌルテンプレートストリームは適合され、適切なときにコンテンツストリームに直接対応し、それと整列されるようにチャンクされることができる。このようにして、再生装置は例えばパケットマッピングファイル又は他のこのようなパディング指示により示されているように、1以上のヌルパケットおよび/または整列ユニットをヌルテンプレートストリームから抽出し、その抽出された1以上のヌルパケット又は整列ユニットをコンテンツストリームに挿入して戻すことができる。
ヌルテンプレートストリームの生成において、整列ユニットはヌルテンプレートストリームとコンテンツストリームが同じクリップテンプレートおよび/またはチャンクスケジュールにしたがって適合されおよび/またはチャンクされるとき、予測されるコンテンツストリームの整列ユニットに一致しそれと整列される。このようにしてヌルテンプレートストリームから抽出されコンテンツストリームに挿入されるヌルパケット又は整列ユニットはコンテンツストリームに適合し、再生装置により再生されるように十分にコンプライアントなコンテンツストリームを生じることができる。
幾つかの実施形態では、ヌルテンプレートストリームはヌルパケットを含むヌルコンテンツストリームを生成することにより発生され、典型的に実質的なコンテンツのない(例えばビデオまたはオーディオコンテンツのない)ヌルパケットで満たされている。ヌルコンテンツストリームはさらにチャンクされ、整列ユニットに適合され、暗号化されるかまたは他の方法で、プレイリスト120にしたがって再生装置に与えられ再生装置により再生される実際のコンテンツストリームの保護に使用される保護方式にしたがって保護される。適合されチャンクされたヌルコンテンツストリームはヌルテンプレートストリームを発生する。
例えばヌルコンテンツストリームはテンプレート(例えばテンプレート転送ストリーム848)に関して順化装置862を通して適合されることができる。同様に、適合されたヌルコンテンツストリームはチャンクスケジュールにしたがってチャンクされることができ、同じテンプレートとチャンクマップが適用されるときに適合され変換されるコンテンツストリームと一致するヌルテンプレートストリームを生じる。しかしながら、ヌルテンプレートストリームはタイミングと、コンテンツストリームに適用された保護方式への適合とを維持しながら抽出されコンテンツストリームへ挿入されることができる一連のヌルパケットおよび/または整列ユニットを有している。
コンテンツストリームを再生装置へ転送する前に、コンテンツソースはコンテンツストリームからヌル整列ユニット又はパケットを引くことができ、転送されるデータの量を減少する。ヌルテンプレートストリームの整列ユニットおよび/またはパケットはコンテンツストリームから引かれたヌル整列ユニット又はパケットに一致し、ヌルデータを含むコンテンツストリームを再構成するためコンテンツストリームへのパケットマッピングにしたがって再生装置により再挿入されることができる。このヌルテンプレートストリームはコンテンツストリームの一体性を維持し、例えばATC時間スタンプ値、システムパケット位置等を維持し、所定の標準に適合されることができる再構成されたコンテンツストリームを提供する。
単一のヌルテンプレートストリームはコンテンツストリームが同じクリップテンプレートおよびヌルテンプレートストリームにしたがって処理されるとき任意の数のコンテンツストリームで使用されることができる。その後のコンテンツストリームは必要なところにヌルパケットを組み込むためにヌルテンプレートストリームを再使用できる。
幾つかの構成では、ヌルテンプレートストリームはプレイリストにしたがって反復される。これはヌルテンプレートストリームがさらに容易にダウンロードされおよび/または占有するメモリをより少なくするサイズに維持されることを可能にする。コンテンツが比較的長い場合には、対応するヌルテンプレートストリームは同様に長い。長いヌルテンプレートストリームはダウンロード時間のために例えば再生装置にそれを供給することを抑制することができる。単一のヌルテンプレートストリームを反復することによって、実質的に任意の長さのコンテンツストリームと共に使用することを可能にしながら、ヌルテンプレートストリームのサイズが限定されることができる。さらに、同じプレイリストでヌルテンプレートストリームの使用を反復するとき、プレイリストはそれが比較的短く反復するヌルテンプレートストリームにしたがって適合されながら実質的に任意の長さで継続することができる。さらに、比較的短いヌルテンプレートストリームは容易にローカル記憶装置へ直接的にマージされるか再生装置220のメモリにロードされることができる。
さらに、単一のプレイリスト内のヌルテンプレートストリームの反復使用はコンテンツストリームを協動するための多数の異なる構造に適合することができる。例えばヌルテンプレートストリームの反復はブルーレイ標準に従って規定されているように「接続形態6」と「接続形態5」の両者で使用されることができる。両状態はプレイアイテム間でシームレスの接続を意味しており、これは幾つかの例では整列ユニットであり、ここでの接続形態5はシームレスに再生される不連続ストリームを規定し、接続形態6では、ストリームは連続的であり、到着時間クロックとシステム時間クロックの両者は連続的である。接続形態5を通して接続された整列ユニットは不連続であるので、2つの接続された整列ユニットは独立したストリームとしてみなされることができ、ここではタイミングは整列ユニット間で効率的にリセットされる。接続形態5の使用では、1つの接続境界から次の接続境界へ再使用される比較的短いヌルテンプレートストリームは継続ベースで連続的に使用されることができる。幾つかの例では、ヌルテンプレートストリームの長さは最も長いクリーンブレイクからコンテンツストリームのクリーンブレイクセグメントの長さに等しい可能性がある。
幾つかの構成では、ヌルテンプレートストリームは単一のチャンク、或いは幾つかの例では単一のGOPを規定するように構成されることができる。バイト位置はチャンクからチャンクで同じであるとして知られているために、処理は使用されているヌルテンプレートストリームの部分を調べる必要はないので、各チャンクのヌルテンプレートストリームの反復は処理オーバーヘッドを減少できる。
図17はヌルデータをコンテンツストリームへ組み込むために再生装置220により使用されることができるヌルテンプレートストリームの発生において、ポータブル記憶媒体222またはコンテンツソース(例えばサーバ326)を発生するソースにより実行されるプロセス1720の簡単化したフロー図を示している。ステップ1722でサーバ側のコンテンツテンプレートストリームはチャンキングおよび代表的なコンテンツストリームの適合により発生される。幾つかの実施形態では、代表的なコンテンツは代表的なオーディオ、ビデオ、および/またはポータブル記憶媒体222と協動して再生されるように再生装置へ後に転送されるコンテンツの代表である他の関連コンテンツを含むことができ、他の実施形態では、代表的なコンテンツは再生装置へ転送されることを意図される実際のコンテンツであることができる。さらに他の実施形態では、代表的なコンテンツは再生装置へ転送されることを意図されるコンテンツに類似する実質的に任意のコンテンツであることができる。サーバ側のコンテンツテンプレートストリームは幾つかの例では、多数の逐次的なヌルパケットの可能性を増加するために仕様および予測される再生装置のパラメータの制約内でオーディオおよびビデオパケットを共に部分的にグループ化することによって、バッファモデルおよび/または他の制約と適合しながら、圧縮を最適化する試みにより発生される。
幾つかの例では、サーバ側のコンテンツテンプレートストリームは比較的短いコンテンツストリームとして発生されることができ、さらに単一のチャンクに限定されることができる。ステップ1724で、サーバ側のコンテンツテンプレートストリームが選択されたプレイリスト(例えば関連されるポータブル記憶媒体222上のプレイリスト)よりも短いか否かが決定される。幾つかの実施形態では、サーバ側のコンテンツテンプレートストリームは付加的にまたは代わりに、再生装置へ実際に転送されるコンテンツストリームの長さまたは予測されるコンテンツストリームの長さと比較される。サーバ側のコンテンツテンプレートストリームが短くない例では、プロセス1720はステップ1730へ進む。代わりにステップ1726に入り、サーバ側のコンテンツテンプレートストリームは複数回複製され、連結され、単一の連結されたサーバ側のコンテンツテンプレートストリームを生成し、それによって単一の連結されたサーバ側のコンテンツテンプレートストリームはプレイリスト(および/または適切な場合にはコンテンツストリーム)に少なくとも等しいかそれよりも長い長さを有する。ステップ1730で、サーバ側のコンテンツテンプレートストリームまたは連結されたサーバ側のコンテンツテンプレートストリームはその後サーバ側のコンテンツテンプレートストリームを適合およびチャンクするように処理される。幾つかの例では、例えば接続状態5の接続が適用される場合、順化装置862は例えば各接続間のタイミングをリセットすることによって反復されたサーバ側のコンテンツモデル間のタイミングを補償できる。順化装置862の観点から、連結されたサーバ側のコンテンツモデルは単一の長いサーバ側のコンテンツテンプレートストリームのように見えるが、長いサーバ側のコンテンツテンプレートストリームは一連の短いサーバ側のコンテンツテンプレートストリームから構成されることができる。
ステップ1732で、ヌルテンプレートストリームはベースとしてサーバ側のコンテンツテンプレートストリームを使用して作成され、サーバ側のコンテンツテンプレートストリーム内のビデオおよびオーディオパケットをヌルパケットで置換し、システムパケット(および/または他のヘッダ、オーバーヘッドまたはその他のこのようなパケット)を保持する。結果として、ヌルテンプレートストリームは適切な位置付けにおいてシステムパケットと、ヌルデータを含む整列ユニットとを含んでいる。ステップ1734で、暗号化、AACS暗号化または実際のコンテンツストリームに適用される同じ保護方式を使用してその他の方法で保護されるように、ヌルテンプレートストリームが保護される。ステップ1736で、ヌルテンプレートストリームはポータブル記憶媒体222に記録され、またはそうでなければ再生装置220へ転送(例えばダウンロード、漸進的なダウンロード等)される。結果として、暗号化されたヌルテンプレートストリームは再生装置220に存在し、ここで暗号化されたヌルテンプレートストリームは再生装置で受信されるコンテンツストリームと一致し、前述したようにヌルパケットマッピングまたは他の指示により示されているようにコンテンツストリーム内の対応する位置に挿入されるように、再生装置がパケットおよび/またはヌルデータの整列ユニットを暗号化されたヌルテンプレートストリームから抽出することを可能にする。1以上のヌルテンプレートストリームは維持され、および/または再生装置により使用されることができる。しかしながら、幾つかの例では、単一のヌルテンプレートストリームは多数の異なるコンテンツストリームと共に使用されることができ、ここで再生装置に供給されるための異なるコンテンツストリームは再生装置で使用可能なヌルテンプレートストリームに適合するように処理される。
さらに図17を参照すると、ステップ1740で、適切なヌルテンプレートストリームが識別される。コンテンツストリームはこれが再生装置220でヌルテンプレートストリームと一致するように適合される。例えば再生装置はその再生装置に保持されるヌルテンプレートストリームの指示をコンテンツソースに与えることができ、コンテンツソースは1以上のパラメータ(例えば処理されるコンテンツストリーム)または他のこのような識別に基づいてヌルテンプレートストリームを選択できる。ステップ1742で、コンテンツソースはサーバ側のコンテンツテンプレートストリームおよびしたがってヌルテンプレートストリームによりコンテンツストリームを適合およびチャンクする。
ステップ1744で、適合されたコンテンツストリームは、対応するヌルテンプレートストリームに適応されたものと同じ保護方式を適用して保護される。ステップ1746で、ヌルパケットおよび/またはヌルパケット整列ユニットはコンテンツストリームから除去され、ヌルパケットマッピングファイルが生成され、または他のヌル指示はコンテンツストリームに組み込まれる。ステップ1750で、圧縮されたコンテンツストリームは再生装置へ転送される(ダウンロード、漸進的なダウンロード、ストリームまたは他の方法による転送等)。結果的なコンテンツストリームは再生装置におけるヌルテンプレートストリームと一致し、それによってコンテンツストリームから除去されたヌルパケットまたは整列ユニットは再生装置220によりヌルテンプレートストリームから容易に再度挿入されることができる。プロセス1720の1以上のステップは異なるソースにより行われることができることに注意すべきである。例えば第1のコンテンツソース(例えばポータブル記憶媒体222を生成し分配するソース)はヌルテンプレートストリームを発生でき、一方、別のソースはサーバ側のコンテンツモデルと適合するコンテンツストリームの適合、保護、分配においてステップ1740-1750を行うことができる。
図18は幾つかの実施形態によるコンテンツストリームへのヌルパケットを組込むため再生装置220により実行される簡単化したフロー図を示している。ステップ1822で、再生装置220はコンテンツストリームが遠隔ソースから受信されることを検出する。ステップ1824で、再生装置はコンテンツストリームとコーディネートされるヌルテンプレートストリームを識別する。幾つかの例では、コンテンツソースはヌルテンプレートストリーム識別子を提供する。代わりに、再生装置は再生装置に記憶されるかおよび/または再生装置によりアクセス可能なヌルテンプレートストリームの識別をコンテンツソースに供給できる。さらに他の例では、再生装置220はコンテンツソースからヌルテンプレートストリームを受信し、これは典型的に幾つかの又は全てのコンテンツストリームの受信前に受信されるが、幾つかの又は全てのコンテンツストリームの受信後に受信されることができる。
ステップ1826で、再生装置はコンテンツストリームの少なくとも一部を受信する。ステップ1830で、再生装置はヌルデータがコンテンツストリームに組み込まれるか否かを決定する。この決定は、ヌルデータが組み込まれる場合に、パケットマッピング、ヌルデータ指示又はその他のこのような指示に基づいている。ヌルデータが組み込まれないとき、プロセスはステップ1834に進み、ここでコンテンツストリームの一部が記憶される。代わりに、ヌルデータが組み込まれるとき、ステップ1832に入り、1以上の整列ユニットおよび/またはパケットがヌルテンプレートストリームから抽出され、パケットマッピングおよび/または他の指示に規定されているようにコンテンツストリームに組み込まれる。プロセスはその後、組み込まれたヌルデータを含むコンテンツストリームの一部を記憶するためステップ1834に進む。ステップ1836で、コンテンツストリームのさらに別の部分が受信されるか否かが決定される。コンテンツストリームのさらに別の部分が受信されるとき、プロセスはコンテンツストリームの受信部分を処理するためにステップ1826へ戻る。代わりに、プロセスは終了する。
このようにして、再生装置はヌルパケットマッピング又は他の指示にしたがって、整列ユニットと、ヌルテンプレートストリームからの適切な位置についてのヌルデータのパケットとを挿入することによりフルストリームを再構成する。さらに、再生装置により挿入される整列ユニットまたはパケットは予めAACS暗号化されることができ(又は他のこのような保護が適用されることができる)、したがって正しいATC時間スタンプとシステムパケットを有する。結果的に構成されたストリームはそれ故、所定の標準方式および/または保護方式と十分に準拠することができる。これにより保護方式の一体性が維持され、保護に関連されるエントロピーを強化する。
代わりに、デフォルト暗号化キーはパディングが再生装置により実行されるコンテンツストリームの一部の期間中に使用されることができ、ここでは再生装置はその再生装置がパディングを暗号化および組み込むことを可能にするための部分についてデフォルト暗号化キーを有するかそれを与えられる。他の構成では、1以上のパケット(例えば32の転送パケットのクランプ)は例えば既知又は予め規定された暗号化キーで事前に暗号化されることができ、再生パケットに与えられ、再生装置が適切な時に特定された数の1以上の予め暗号化されたパケットを組み込むことを可能にする。さらに、この構造ではコンテンツソースはパディングが再生装置により組み込まれるコンテンツストリームの部分を識別でき、これらの識別された部分は予め規定された暗号化にしたがって暗号化されることができる。さらに他の構成では、コンテンツソースはパディングパケットおよび/またはデータが再生装置により組み込まれる補足的コンテンツの部分又はパケットをディスエーブルするか、またはそれらに対して保護を適用しない。
他の代わりの方式が使用されることができるが、これらの代替の多くは所定の標準と十分に適合されることができない可能性がある(例えばコンテンツの一部に対して暗号化を使用せず、デフォルトキーを使用することはブルーレイ標準に十分には適合しない)。これらの非準拠方式はしかしながら再生装置がパディングパケットおよび/またはデータを組み込むことを可能にできる。再生装置220によりローカル記憶装置(例えば記憶装置228または229)へ書き込まれる結果的な補足的コンテンツはその後、エラーを含まずに再生装置により効率的に再生される。多くの再生装置はしばしばコンテンツストリームが所定の標準方式、仕様またはプロトコルに十分に準拠していることを確認しない。
先に紹介したように、幾つかの実施形態は付加的にストリーム切換えを可能にする。(例えばポータブル記憶媒体222上に規定されまたは再生装置へ通信される)再生装置220でクリップ情報に適合するクリップテンプレートの使用は、さらに幾つかの実施形態が再生に悪影響せずに、および再生装置がリブート、再開、更新(例えばバーチャルファイルシステム(VFS)に対する更新)又は他のこのような更新を実行することを必要とせずに1つのコンテンツストリームから別のコンテンツストリームに切換えることを可能にする。例えば単一のクリップテンプレートは異なるビットレートで単一のコンテンツストリームを符号化するために使用される。典型的に再生装置はポータブル記憶媒体上に規定されたクリップ情報にしたがって、独占的に構成される単一のコンテンツストリームを再生することだけが可能である。さらに再生装置は典型的にコンテンツの再生前に、ポータブル記憶媒体に規定されたまたはその他の方法でセットアップ前に受信されたクリップ情報にしたがって再生されるストリームをセットアップする機会を一度のみ獲得する。1つのストリームから別のストリームへ切換えるため、再生装置は通常、リブート、再開および/または付加的なバーチャルファイルシステムの更新を受けなければならず、これは再生装置と干渉する。
単一のクリップテンプレート方式と適合モデルを使用することにより、コンテンツストリームは各符号化に対して異なる符号化レート又はパラメータを適用して多数回符号化される。再生装置はその後、クリップ情報が各コンテンツストリームで同じであるためバーチャルファイルシステムの更新または再開の必要なしにこれらの種々のコンテンツストリーム間で切換えることができる。結果として、再生装置220および/またはコンテンツ提供業者326は例えば再生装置への接続(例えばケーブル、DSL、モデム、無線等)の帯域幅により限定される可能性があるその再生装置の最高の可能ビットレートを識別することにより再生装置の最良の可能再生経験を選択し、したがって再生装置に対する最大の使用可能ビットレートに一致する符号化ビットレートを選択できる。このことは再生装置および/またはソース提供業者が実際の接続にしたがって同じクリップテンプレートに適合して入力ビデオストリームを適合的に切換えることを可能にする。さらに多数のクリップテンプレートがポータブル記憶媒体上に規定されるとき、再生装置および/またはコンテンツソースは最高の可能ビットレートを満たすクリップテンプレートを選択でき、その後実際の接続および/または接続の変動のような変化する状況に基づいて、選択されたクリップテンプレートに適合されているコンテンツストリーム間で再生期間中に切換えを可能にする。
このコンテンツストリーム切換えを可能にするため、コンテンツが予め記録されるとき複数のストリームが前もって準備されるか、又はコンテンツが生または実質的に生で再生される場合には同時に或いは実質的に同時に準備される。これらの複数の準備されたストリームは全て同じクリップテンプレートに適合し、その後再生装置および/またはコンテンツソースは所望の再生経験を実現するためストリーム間で切換えることができる。
ストリーム間での切換えは2以上の異なるビットレートで符号化される単一のコンテンツ間の転移、または異なるコンテンツ間の切換えを可能にする。例えば通信帯域幅は補足的コンテンツストリームの転送期間に最初の帯域幅の決定から変化する可能性がある。結果として再生装置はコンテンツストリームを効率的に受信および復号することができない可能性があり、またはより高いビットレートのコンテンツストリームを受信できる可能性がある。単一のクリップレートであるが可変のビットレートを使用および/または可変のパラメータを適用することによって、コンテンツソースは再生に悪影響せずにコンテンツストリーム間で切換えることができる。
同様に、同じクリップテンプレートにしたがって2以上の異なるコンテンツストリームを符号化することによって、再生装置はこれらの異なるコンテンツストリーム間で切り換えられることができる、再生装置は既に両者のストリームに適用可能な関連クリップ情報をアクセスおよび使用しているので、ストリームは再開、リブート、更新、VFS等なしに切り換えられることができる。これはユーザからの入力、再生装置に応答しておよび/またはコンテンツソースおよび/またはコンテンツ提供業者により示されるようにチャンネル切り換えに類似するものを提供できる。さらに生のコンテンツでは、先に紹介したように多数のエンコーダが異なるレートで符号化するために使用されることができる。再生装置は幾つかの例ではコンテンツソースに対して、適切に符号化されたストリームを選択しおよび/またはオン・ザ・フライでクリップテンプレートに適合されたストリームを有するように適合的に命令することができる。
幾つかの構成では、ストリーム間の切換え時に、再生装置は切換えが生じるストリームに沿った1点においてクリップファイルを識別でき、識別されたクリップファイルの補足的コンテンツを供給するようにコンテンツソース326に通知し、コンテンツソースが新しいコンテンツストリームの関連部分を検索することを可能にする。典型的に、この選択され識別されたクリップファイルが将来の幾つかの時点で再生され、それによってコンテンツソースから新しいコンテンツストリームを受信し、それを再生のために準備するのに十分な時間が存在する。他のタイミングおよび状態もまた切換えを調整するために再生装置とコンテンツソースとの間で通信されることができる。
代わりに又は付加的に、再生装置220は異なるレートで符号化されたストリームを選択し、検索および/または切換えるためローカルに記憶されるかポータブル記憶媒体222から検索される機能および/または論理を有することができる。再生装置220はその現在のダウンロード性能状態を決定し、その決定に基づいてさらに低いか高いビットレートを選択する必要があるかまたはさらに低い又は高いビットレートの選択によって性能を改良できるかを決定する。ストリームを識別し、異なるストリームへの切換えが実行されるべきであることを決定したとき、再生装置220は適切なストリームをリクエストすることをコンテンツソースに通知できる。幾つかの例では、再生装置は選択されたストリームクリップのダウンロードを開始する適切な参照(例えばURL)を構成する。幾つかの例では、再生装置は潜在的なストリームのリスティング、それらの関連する符号化レートまたは他のパラメータ、コンテンツが検索される対応する参照をリクエストできる。幾つかの実施形態では、再生装置220はストリームリソースおよび関連されるURLのリストを検索するためにウェブサービスAPIに問い合わせる。幾つかの既存の漸進的ダウンロードアプリケーションはソースのリスティングを提供し、このようにして再生装置の問合せはいずれのストリームレートが所望されるかを特定するために強化されることができる。さらにまたは代わりに、問合せに対する結果は、再生装置が所望のレートにしたがって適切な参照を選択することを可能にする異なるソースに対して、いずれのストリームレートが関連されているかを付加的に特定するために強化されることができる。
図19は選択されたレートによりコンテンツストリームを選択し、異なるレートを有するその後のストリームへ切換えるため再生装置220により実行されるプロセス1920の簡単化したフロー図を示している。ステップ1922で、再生装置は利用可能なストリーム及び関連されるレートのリストをリクエストする。幾つかの例では、この例に記載されたように利用可能なストリームはチャンクされていないが異なるレートを表す概念的な全長である。ステップ1924で、再生装置は接続速度または帯域幅およびダウンロード(又はストリーミング)性能のようなパラメータおよび他のこのようなパラメータを測定する。ステップ1926で、再生装置は再生装置の能力(例えばバッファ能力、処理能力等)と共に決定された接続速度を評価する。ステップ1930で、再生装置220はステップ1926(または以下説明するようにステップ1940または1942の)評価に基づいて適切なストリームレートを選択する。ステップ1932で、再生装置は識別されたレートを有する選択されたコンテンツストリームのクリップまたはチャンクのリソースをリクエストする。
ステップ1934で、さらにクリップが検索されるか否かが決定される。さらにクリップが検索されない例では、プロセスは終了および/または現在のクリップのダウンロード時のプレイリストに戻る。さらにクリップが検索(例えばダウンロード又はストリーム)されるならば、ステップ1936に入り、再生装置220はクリップを受信しながら接続速度とダウンロード性能とを監視し続ける。ステップ1940で、状況が劣化および/または再生装置が現在選択されたコンテンツストリームについていくことができないかが決定される(例えばバッファおよび/またはキャッシュはしきい値レベル一杯になるかそれを超過しはじめる)。状況が劣化しないときその後のクリップがリクエストされるとき、プロセスはステップ1942へ進む。代わりに、状況が劣化した例では、プロセスは1930へ戻り、その後のクリップの選択時に選択するため劣化した状況に対応する低いレートを有するコンテンツストリームを識別する。
ステップ1942で、状況が改良しおよび/または再生装置がさらに高いレートでコンテンツを処理できる(例えばバッファおよび/またはキャッシュが空になり始めるかしきい値レベルよりも低くなる)かが決定される。状況が改良されないとき、処理1920はステップ1932へ戻り、先に選択されたレートにしたがってその後のクリップをリクエストし続ける。代わりに状況が改良されると、プロセスはステップ1930へ戻り、1以上のその後のクリップについて改良された状況と一致する高いレートを有するコンテンツストリームを識別する。結果として再生装置220は接続状況とダウンロード性能を監視することができ、これらの結果を、適合的ストリーム切換えシステムおよび機能を与えるためにコンテンツの将来のクリップのレート選択を制御するために使用する。
前述したように、幾つかの再生装置は実際のストリームにされたコンテンツを受信できない。これは再生装置の限定(例えば限定されたバッファサイズ)、標準またはプロトコルに適合する再生装置による限定又は他のこのような要素又は要素の組合せによるものでありうる。例えばブルーレイディスク標準のような幾つかの標準によれば、再生装置はストリームにされたコンテンツを受取ることができず、代わりに再生開始前に全ての補足的コンテンツまたは補足的コンテンツのクリップ全体を受信しなければならず、さらに典型的に媒体222からのコンテンツおよび/または補足的コンテンツの再生開始前に、補足的コンテンツのための全てのクリップ情報をもたなければならない。幾つかの本発明の実施形態は補足的コンテンツをクリップまたはセグメント1126に分解し、クリップまたはセグメントが十分に受信されることを可能にし、それによって再生装置220は1以上のその後のクリップが受信されながら、受信されたクリップの再生を開始できる。補足的コンテンツのクリップを再生装置に提供する場合に、幾つかの実施形態はデータサイズにおいて比較的小さくおよび/または再生期間において短い補足的コンテンツの最初のクリップを提供することにより再生装置で補足的コンテンツの再生の開始における遅延を減少および/または除去しようとする。
図20はクリップ情報を規定し、例えばインターネット324によってサーバ326から再生装置220へ転送される補足的内容452を区分するために使用されるクリップテンプレート2020の一部の簡単化したグラフィカル表示を示す図を示している。第1のクリップ2022は第1のデータサイズ2024と第1の期間2026を有する補足的コンテンツのクリップを生成するように規定される。幾つかの例では、データサイズ2024はクリップの補足的コンテンツおよび必要な場合には他のオーバーヘッドデータ(例えばパッケージング、保護、エラー補正等)を表している。第2の逐次的クリップ2032は第1のクリップ2022に続いて規定される。この第2のクリップ2032は第1のクリップ2022の第1のデータサイズ2024以上である第2のデータサイズ2036と、第1のクリップ2022の第1のデータサイズ2026以上である第2の期間2038とを有する補足的コンテンツのクリップを発生するように規定されている。同様に、第3の逐次的クリップ2042はそれぞれ第2のクリップ2032のデータサイズ2036および期間2038以上であるデータサイズ2044と期間2046で規定されている。その後のクリップは等価または漸進的に増加するデータサイズおよび/または期間のこのパターンを継続できる。例えば第4のクリップ2052は第3のクリップのデータサイズ2044および期間2046以上であるデータサイズ2054と期間2056を規定できる。クリップテンプレート2020により発生された補足的コンテンツのクリップは、連続するクリップの物理的サイズおよび期間(又は作動時間)がクリップ毎をベースとして漸進的に増加するように準備される。
データサイズおよび期間は実質的に任意の数の連続的なクリップで増加され続けることができる。典型的に、データサイズおよび/または期間は再生装置220のバッファサイズおよび/または他のこのような要素により限定される。同様に、補足的コンテンツの連続再生を行うために最適なデータサイズおよび/または期間が存在することができる。このようにしてその後のクリップのデータサイズおよび/または期間は一定になることができる。例えば第5および連続的なクリップは実質的に等しいデータサイズおよび/または期間を有することができる。データサイズおよび/または期間において増加し続けるクリップの数はデータ送信レート、再生装置の能力(例えば復号、解読、バッファサイズ、処理、他のこのような処理能力)、再生装置で必要なデータ処理量、信号品質、ユーザ嗜好、他のこのような係数のような複数の係数に基づくことができる。例えばクリップのサイズおよび/または期間は典型的なネットワークのダウンロードの速度および安定性、共通のシークポイントへの提示時間における近接性、所定のシークポイントからの再生開始における許容可能な冗長度、ダウンロードの開始および処理に関するオーバーヘッド、その他の関連係数に基づくことができる。同様に、連続的なクリップ間のデータサイズおよび/または期間の増加量もまたデータ送信レート、再生装置の能力、再生装置で必要なデータ処理量、信号品質、ユーザ嗜好のような複数の係数、その他のこのような係数に基づくことができる。
第1のクリップ2022を比較的小さいデータサイズと比較的短い期間で限定することによって、テンプレート2020の第1のクリップ2022に適合する補足的コンテンツの第1のクリップは再生装置220により十分に受信され処理されることができる(例えば必要なときクリップ情報の暗号化、復号、評価および比較的短時間内のレンダリング)。この比較的短い応答時間は再生装置220が限定された遅延でまたは遅延なく、補足的コンテンツの第1のクリップを再生し始めることを可能にする。補足的コンテンツの第1のクリップが再生される間、テンプレート2020の第2のクリップ2032により発生された第2のクリップは再生装置220で受信され処理されている。幾つかの例では、第2のクリップは補足的コンテンツの第1のクリップの再生を終了する前に十分に受信され処理され、それによって再生装置は第1のクリップを十分に再生した時に直ちにシームレスに第2のクリップの再生を開始できる。同様に、テンプレート2020の第3のクリップ2042により発生された補足的コンテンツの第3のクリップは第2のクリップの再生を終了する前に再生装置220により受信され処理されることができ、第3のクリップのシームレスな転移および再生を可能にする。これは再生期間中にコンテンツへストリームにされた外観を与え、特に再生装置が実際のストリームにされたコンテンツを受信できないときに(機能的にまたはプロトコル又は標準方式に対する適合性のためであっても)ストリームにされた外観を与える。
図21はクリップ情報を発生し、例えばインターネット324にわたって遠隔データ記憶装置328から再生装置220へ転送される補足的内容を区分することに使用されることができる幾つかの実施形態によるクリップテンプレート2120の簡単化したグラフィカル表示を示している。クリップテンプレート2120の第1のクリップ2122は最初に発生されおよび/または第1のデータサイズ2124および/または第1の再生期間2126で規定される。複数のその後のクリップは連続して増加するデータサイズおよび/または漸進的に増加する再生期間で規定されおよび/または発生された。例えば、第2、第3、第4のクリップ2130、2136、2142は図20に関して説明されるように、それぞれ連続的に増加するデータサイズ2132、2138、2144で、それぞれ漸進的に増加する再生期間2134、2140、2146で規定されおよび/または発生される。実質的に任意の数の逐次的クリップは漸進的に増加するデータサイズおよび/または再生期間で使用されることができる。しかしながら幾つかの例では、データサイズおよび/またはクリップ情報は一定になる。
さらに、イベント、フラグ又はトリガー2150の検出が図21に示されている。このトリガー2150は状態の変化、再生位置の変化、複数の再生路のうちの1つの選択と、メニュー選択肢の選択と、送信の検出されたエラーおよび/または他のこのようなトリガーとを示す実質的に任意のトリガーである。例えばトリガー2150は補足的コンテンツの再生をその後の章の点へ進め、補足的コンテンツ内の再生時間の予め規定された期間を前に進めるリクエストのような補足的コンテンツの再生の変更をリクエストするユーザによる行動または他のこのようなユーザの行為であることができる。
トリガー2150は幾つかの実施形態によりクリップテンプレート2120への転移又は調節を規定し、それによってトリガー2150の検出に続くクリップテンプレート2120のその後の第5のクリップ2154は減少されたまたは比較的小さい規定されたデータサイズ2156および/または期間2158を有する。例えばデータサイズ2156および/または期間2158はそれぞれ第4のクリップ2142のデータサイズ2144および/または期間2146よりも小さいことができる。幾つかの例では、第5のクリップ2154のデータサイズ2156および/または期間2158はそれぞれ第1のクリップ2122のデータサイズ2124および/または期間2126にほぼ等しい。
状態の変化のために、第5のクリップ2154は減少されたデータサイズ2156および/または期間2158で発生され、それによってクリップテンプレート2120の第5のクリップ2154により発生された補足的コンテンツのクリップはイベント2150に続いて比較的迅速に受信され、再生装置220で処理され、再生装置220がイベント2150に続いて減少された遅延により補足的コンテンツの再生を継続することを可能にする。調節された第5のクリップ2154に続くクリップは幾つかの構成では前述したようにサイズおよび期間において連続的に増加し続ける。例えば第6のクリップ2160は第5のクリップ2154のデータサイズ2156および期間2158以上のデータサイズ2162および/または期間2164を規定でき、第7のクリップ2166は第6のクリップ2160のデータサイズ2162および期間2164以上のデータサイズ2168および/または期間2170を規定でき、第8のクリップ2172は第7のクリップ2166のデータサイズ2168および期間2170以上のデータサイズ2174および/または期間2176を規定できる。第8のクリップ2172に続く後続のクリップは同様に前のクリップのデータサイズおよび期間以上のデータサイズおよび/または期間を有することができる。係数はクリップサイズおよび/または期間がその後のクリップで実質的に一定になるようにされることができる。
図22は幾つかの実施形態による補足的コンテンツのクリップの処理および/または発生に使用されることができるクリップテンプレート、例えばテンプレート1124、2020、2120を発生するための幾つかの実施形態によるプロセス2220の簡単化したブロック図を示している。ステップ2222で、データレートおよび/または送信レートが選択され識別および/または決定される。前述したように、そのレートは通信リンクの帯域幅、再生装置の処理能力、他のこのような係数を含めた多くの係数にしたがうことができる。ステップ2224で、再生装置のバッファサイズが識別される(例えば付加的なコンテンツのリクエストから抽出される)。ステップ2226で、所望の固定されたクリップデータサイズおよび/または期間が漸進的に増加されたデータサイズおよび/または再生期間を有する複数のクリップに続くクリップについて決定される。この固定されたサイズはバッファサイズ、再生装置の処理能力、通信帯域幅、他のこのような係数に依存することができるが、それらに限定されない。
ステップ2228で、漸進的に増加するデータサイズを有する補足的コンテンツのクリップ数は少なくともデータおよび/または送信レートと再生装置のバッファサイズに基づいて決定される。典型的に、漸進的に増加するデータサイズおよび/または期間を有するクリップの数は補足的コンテンツの迅速な初期再生と、バッファリングおよび/または処理のために遅延、休止またはフリーズのない補足的コンテンツの連続的な再生を行うことを試みる。
ステップ2230で、漸進的に増加するデータサイズおよび/または期間を有するようにステップ2228で決定された各複数のクリップについてデータサイズ又は再生期間が決定される。前述したように、データサイズおよび/または期間は再生装置の処理能力、通信帯域幅および他のこのような係数のような1以上の係数に依存することができるがこれらに限定されない。ステップ2232で、クリップはステップ2230で決定されるデータサイズおよび/または期間を有するようにクリップが規定され、第1のクリップのクリップ情報が発生される。幾つかの例では、ダミーまたは仮説的コンテンツストリームは規定されたクリップにしたがって符号化および/または多重化される。コンテンツ計略のクリッピングまたはチャンキングは幾つかの実施形態ではコンテンツの提示品質とダウンロード速度間の適切な妥協の選択に基づいている。クリッピング計略が選択されると、これは位置ホルダが補足的コンテンツのダウンロード開始前に更新されない限り位置ホルダにより固定される。さらにダウンロード補足的コンテンツの整列は幾つかの実施形態ではファイル数のインクリメントのようなファイルネーミング計略により維持されることができる。ファイル名の番号付けは、位置ホルダのクリップ情報をファイル名の番号付けと一致するように規定されることができる(例えばそれぞれ10000.m2ts,10001.m2ts,10002.m2ts…,に対応して10000.clpi,10001.clpi,10002.clpi…,)。
ステップ2234で、クリップ情報が漸進的に増加されたデータサイズおよび/または期間にしたがって発生されたか否かが決定される。漸進的に増加されたクリップが全て規定されないとき、プロセスはステップ2232に戻る。代わりにクリップ情報が漸進的に増加されたデータサイズおよび/または期間を有する各クリップにしたがって発生されているとき、プロセスはステップ2236へ進む。
ステップ2236で、1以上のクリップは固定されたクリップデータサイズおよび/または期間を有するように規定され、クリップ情報が発生される。ステップ2238で、トリガー2150が組み込まれるか否かが決定される。トリガーが組み込まれる例では、プロセスはトリガーを識別するためステップ2240へ続く。プロセスはその後ステップ2228へ戻り、漸進的に増加されるデータサイズおよび/または再生期間を有するように規定するためのクリップ数を決定し、先に規定されたクリップと再生装置での再生についての予測される状態と検出されるトリガーを考慮する。補足的コンテンツの結果的なクリップは位置ホルダ128と一致する。トリガーが組み込まれないとき、プロセス2220はステップ2242へ続き、潜在的な補足的コンテンツ全体のクリップが規定されているか否かを決定する。さらにクリップが規定される例では、プロセス2220はその後のクリップおよびクリップ情報を規定するためステップ2236へ戻る。代わりに、プロセス2220は終端する。
本発明の実施形態は、可変長の補足的コンテンツが固定長のフレームワークまたは標準に適合した媒体と協動されることを可能にし、媒体222に記録されたコンテンツと協動して再生されるための1以上の再生装置220の分配時に実質的に発生される補足的コンテンツを含めた既知の長さをもたない補足的コンテンツの再生を含むことができる。付加的に前述したように、補足的コンテンツの区分化で利用可能なクリップ数は例えばプレイリスト中の限定されたクリップ数によって限定されるかおよび/または所定の媒体で規定されることができる。このようにして未知のコンテンツ長を有する補足的コンテンツはプレイリスト内および/または媒体上のクリップの数を超過するクリップ数を生じる可能性がある。
未知の長さを有するコンテンツを適合するため、幾つかの構成は媒体222と協動して将来再生されるための実際のコンテンツストリームの予測される長さおよび/またはタイミングを超過、典型的には遥かに超過するタイミングを有するクリップ情報を使用しようとする。幾つかの実施形態は付加的にまたは代わりにクリップのリプレイまたは反復する再生を使用する。特に、規定されたクリップ数はコマンドによる停止または補足的コンテンツの終了まで、反復的に再生されるように特定されることができる。このようにして、限定された数のクリップを有するプレイリストが規定されることができ、補足的コンテンツが限定された数のクリップの単一の再生シーケンスを超える期間を有するとき、補足的コンテンツはクリップ数の反復にしたがってテンプレートに適合されることができる。
クリップ情報のルーピングは実質的に任意の長さを有する実質的に任意のコンテンツの再生を可能にできる。例えば12時間を超えるまたは48時間以上持続するコンテンツはこのようなコンテンツがポータブル記憶媒体で可能にされたプレイリストおよび/またはクリップで許容可能なクリップを超過する可能性があってもポータブル記憶媒体と協動して再生されることができる。このようにプレイリストは限定され固定された数のクリップを有する循環的バックドロップとして使用されることができ、それによって再生期間中に、再生装置がクリップファイルの最後に到着したとき、再生装置は単に最初または規定されたクリップファイルに戻り、再生を続ける。このルーピングは基本的にクリップの終わりのない供給を与える。このような構成では、補足的コンテンツは同様に限定された数のクリップにしたがって適合される。プレイリストは補足的コンテンツをクリップテンプレートへ適合するときに循環的バックドロップとして使用され、順化装置がクリップの最後に到達したときコンテンツが適合されるので、順化装置は単に開始または規定されたクリップに戻り補足的コンテンツの適合を続ける。このようにして、補足的コンテンツはポータブル記憶媒体222で規定された限定された数のクリップにしたがって連続的に再生されることができる。
再生は監視され再生に基づき、実際のコンテンツの適切なクリップは反復されているかループされるクリップ情報にしたがって供給される。幾つかの例では、再生装置は再生タイミングをコンテンツのクリップのリクエストと共にコンテンツソースへ転送し、コンテンツソースはその後ループされたクリップに関連される正しいクリップを識別するため再生タイミングを使用する。幾つかの実施形態は正しいコンテンツを選択するための1以上のアルゴリズムを使用する。これらのアルゴリズムは再生されるのに適切な次のクリップを決定するため例えばウェブサービスAPIを通してコンテンツソース326で実行されることができる。再生装置220は次のクリップのソースにリクエストを転送でき、次のクリップIDをパスアップし、幾つかの例では付加的に再生についての情報、例えばその点におけるゼロから経過された提示を転送する。コンテンツソースは転送される実際のクリップを観察および/または識別するために与えられた情報を使用する。例えばソースは各クリップの提示時間、プレーヤクリップID、URLを含む表からクリップについてのURLを識別できる。さらに別の例として、短いプレイリストは4つのクリップ(例えばクリップID:00001、00002、00003、00004)を含んでいる。表は対応するクリップを識別するためにアクセスされることができる。以下の表1は反復アプリケーションにおける関連データの表の1例を示している。
コンテンツソース(例えば表)により使用される情報は付加的にループされた再生を調整するためサーバクリップID又は他の情報を識別できる。同様に、インデックスが与えられることができ、識別子(例えば0001、0002、0003等)を観察しこれをインデックスを通して検索することにより時間領域により適切なコンテンツまたは他のこのような調整を識別する。
サーバは限定のエントリ提示時間スタンプ(PST)以上であるか次のエントリPTSよりも小さい提示の経過時間にしたがって実際のコンテンツの対応するクリップを識別する。ソースはエントリ中のクリップIDが再生装置220によりリクエストされているものと同じであるかを確認できる。同じではないならば、ソースはエラーが生じたことを識別する(例えば表が一貫性がなく、経過された提示時間の再生装置の計算が誤っているか他のこのようなエラー)。ソースはその後、適切な行動、例えば再生装置からの確認のリクエスト、再生装置へのエラーの発生、再生装置におけるユーザからの付加的な情報のリクエスト又は他のこのような行動を取ることができる。
幾つかの構成では、限定された数又はさらに少数のクリップを使用することが付加的に有効である。例えば限定された数のクリップは、セットアップにおいておよび/またはバーチャルファイルシステム処理期間中にこれらのクリップおよび/またはクリップ情報をローカル記憶装置228へ書込むのに必要な時間を比較的非常に減少することができる。さらに、少数のクリップは管理するクリップも少数であることを意味し、これは多くの場合にオーバーヘッドを減少することができ、性能を改良し、より反応のあるユーザ経験を生じることができる。
さらに幾つかの実施形態は、予測される補足的コンテンツ、補足的コンテンツの量および/または補足的コンテンツの再生の長さにかかわりなく限定された数のクリップを常に使用する。例えば64個のクリップのようなクリップの固定数が規定されることができ、前述したように終了されるまで再生はこれらの64個のクリップにわたって反復されループされるように設定される。コンテンツは同様に補足的コンテンツの長さにかかわりなくルーピングパターン中のこれらの64個のクリップに適合される。これはコンテンツの長さを予測する必要をなくし、クリップ数の制限の超過をなくすことができ、簡潔化された管理と改良された性能とその他の結果を提供する。
タイミングパラメータを補償し、検索、巻戻し、早送り等の期間を含めた逐次的な再生を確実にしようとするため、カウンタおよび/またはアルゴリズムが幾つかの実施形態で使用される。例えばカウンタはそのカウンタが適合および/または再生されるとき開始クリップへの各戻りを追跡できる。マッピングは前もっておよび/またはコンテンツが転送されるときに行われることができ、カウントを規定する(例えばメタデータがコンテンツ供給業者上のストリームとプレーヤ上のプレイヤとの間のマッピングを規定するためにメタデータが与えられることができる)。このカウントは正しいクリップストリームデータが適合、再生および/または検索期間に正しいクリップ情報ファイルについてプルダウンされることを可能にする。例えばクリップストリームが番号付けされることができ、ファイル名の番号付けに基づくモジュラー演算は構成および/または再生期間中に行われる。
図23は幾つかの実施形態による補足的コンテンツストリームのクリップの発生においてコンテンツソースまたは提供業者、例えばソース326により実行されるプロセス2320の簡単化したフロー図を示している。プロセス2320が例えばプロセス1220のステップ1232および/またはプロセス1420のステップ1426の一部として実行されることができる。さらに幾つかの構成ではプロセス2320の幾つか又は全てが順化装置862を通して行われる。ステップ2322で、補足的コンテンツが識別される。ステップ2324で、クリップテンプレートが選択される。前述したように、選択されたクリップテンプレートはポータブル記憶媒体222に記録されるような、再生装置で規定されている少なくとも1つのクリップテンプレートと一致する。ステップ2326で、反復クリップカウンタがゼロに設定される。前述したように幾つかの例では、クリップテンプレートは補足的コンテンツがクリップテンプレート内のクリップ数を超過する総クリップ数を発生するとき補足的コンテンツの区分化のための循環的バックドロップとして使用されることができ、クリップカウンタはプロセスがプレイリストを通してループされる回数を規定する。
ステップ2330では、補足的コンテンツの1以上のパケットはクリップテンプレート、例えばクリップテンプレート1124に規定されるクリップと関連付けられる。ステップ2332では、パディングパケットおよび/またはパディングデータがクリップに組み込まれるべきであるか否かが決定される。パディングが組み込まれるべきである例では、パディングがクリップに実際に組み込まれるか否かを決定するためにステップ2334に入る。前述したように、パディングが再生装置によって実際に発生されクリップに組み込まれるようにパディングはクリップから削除される。パディングが実際にクリップに組み込まれるとき、ステップ2336に入り、パディングの量およびパディングの位置が識別され、パディングは決定されたようにクリップに組み込まれる。代わりに、パディングが実際にクリップに組み込まれないとき、パディング指定がコンテンツストリームに組み込まれるか否かを決定するためにステップ2340に入る。
開始コードの組込みのような、パディング指示がコンテンツストリームに組み込まれるとき、ステップ2342に入り、パディング指示が組み込まれる。パディング指示がコンテンツストリームに組み込まれない例では、ステップ2344に入り、パッケージマッピングファイルのようにパディングがマッピング内で規定される。幾つかの実施形態では、パディング挿入はモダールであり、コンテンツストリームの処理およびパディングの挿入前に設定され、またはテンプレートにしたがってコンテンツストリームをフォーマットしながら指示は同じ方式を適用する。このようにしてプロセス2320の幾つかのステップは除去されスキップされる。例えばパディングが直接的にストリームに組み込まれパケットマッピングで規定されるか、または指示がストリームに組み込まれるかを示すステップが含まれることができ、このようにして決定ステップ2334と2340はスキップされ、パディングが組み込まれるときプロセスは直接的に適切なパディングステップに進むことができる。
パディングデータが組み込まれないことがステップ2332で決定されたとき、または後続するステップ2336、2342、2344で、プロセス2320は随意選択的なステップ2346へ続き、クリップはクリップ番号または識別子を与え、クリップ番号又は識別子は部分的に反復クリップカウントの現在値と関連付けられる。ステップ2350で、クリップテンプレートにしたがって付加的な補足的コンテンツがさらに別のクリップに組み込まれるか否かが決定される。さらなる補足的コンテンツがクリップされない例では、プロセス2320は終了する。代わりにクリップテンプレート内でさらにクリップが規定されるか否かを決定するためにステップ2352に入る。さらにクリップが規定されるとき、プロセスはステップ2330に戻り、補足的コンテンツの別のセグメントをクリップテンプレートで規定されるその後のクリップと関連付ける。さらにクリップがテンプレートで規定されないとき、ステップ2354でルーピング又は反復が許可されるか否かが決定される。ルーピングまたは反復が許可されずエラーが発生されプロセスが終了または代替活動をリクエストする例、例えば異なるクリップテンプレートを選択し、反復を許可するか又は他のこのような活動をリクエストする例ではステップ2356に入る。反復が許可されるとき、ステップ2360に入り、反復クリップカウンタはインクリメントされ、プロセスはステップ2330へ戻る。
図24はコンテンツの再生において再生装置220により実行されるプロセス2420の簡単化したフロー図を示している。ステップ2422で、再生される補足的コンテンツ、例えばコンテンツ位置ホルダ128に対応する補足的コンテンツが受信される。ステップ2424で、クリップ反復カウンタはゼロに設定される。ステップ2426で、補足的コンテンツのクリップはクリップ情報ファイルにしたがってアクセスされる。ステップ2430で、パケット又はパディングマッピングが行われるか否かが決定される。パケットマッピングが行われるときステップ2432に入り、プレイバック装置はパディングが補足的コンテンツの現在アクセスされるクリップに組み込まれるか否かを決定する。パディングがマッピングにしたがって組み込まれないとき、ステップ2434に入り、パディングがパケットマッピングにしたがって付加される。
ステップ2430でパディングマップが与えられないことが決定され、ステップ2432でパディングが現在のクリップに組み込まれないことが決定されたとき、プロセス2420はパディング指示が補足的コンテンツストリーム内で特定されるか否かを決定するためにステップ2436に続く。パディング指示が補足的コンテンツストリーム内で規定されるとき、ステップ2440に入り、パディングがパディング指示にしたがって付加される。ステップ2442で、補足的コンテンツ情報のクリップはローカルメモリに書き込まれる。
ステップ2444で、付加的な補足的コンテンツがクリップ情報130にしたがって再生されるために受信されるか否かが決定される。さらに補足的コンテンツが受信されない例では、プロセス2420はステップ2446に続き、再生が終了されプレイリストに戻るか他の関連動作を行うかを決定する。代わりに、ステップ2448に入り、さらにクリップが現在のプレイリストについてのクリップ情報130内で規定されるか否かを決定する。さらなるクリップがクリップ情報において規定されていない場合は、ステップ2450に入り、ルーピング又は反復が許可されるか否かを決定する。ルーピング又は反復が許可されずエラーが発生され、プロセスが終了しまたは代替活動をリクエストする例ではステップ2452に入る。ルーピング又は反復が許可されるとき、ステップ2454に入り、反復クリップカウンタがインクリメントされ、プロセスはステップ2426に戻る。
前述したように、幾つかの実施形態はポータブル記憶媒体222と協動して生のコンテンツの再生を行う。これは捕捉された生のイベント、パフォーマンス、上演等の補足的コンテンツを含むことができ、この生のイベントの補足的コンテンツは実質的にイベントの生の再生を与えるために比較的小さい遅延で1以上の再生装置220へ分配されることができる。さらに補足的コンテンツは多数の再生装置へ分配されることができるので、幾つかの実施形態はさらにそれぞれが補足的コンテンツを受信し、さらに各再生装置(例えばポータブル記憶媒体)で媒体に記憶される同じコンテンツのコピーをアクセスする多数の再生装置において同期化された再生を行う。
コンテンツの捕捉および/または記録において、幾つかの実施形態はセグメントまたはクリップ中の補足的コンテンツを捕捉する。例えば実演または監督のプレゼンテーションのようなイベントをデジタル的に捕捉し、イベントのマルチメディアコンテンツを記録するとき、補足的コンテンツはイベントの再生の長さと比較して比較的短いセグメントで捕捉されることができる。
図25は例えば再生装置220においてポータブル記憶媒体222のような媒体と協動して再生される実演またはイベントの期間に、コンテンツが捕捉されるとき時間にわたってそのコンテンツを捕捉および分配するプロセス2520の簡単化したフロー図を示している。捕捉装置2522はパフォーマンスのようなイベントのデジタルマルチメディアコンテンツを捕捉および記録する。捕捉装置2522はカメラ、ビデオカメラ、オーディオレコーダ、他のこのような装置および/またはこのような装置の組合せであることができる。コンテンツを捕捉しながら、コンテンツのセグメント2524は抽出され処理装置2526へ転送される。各セグメント2524は期間2528または長さを有する、期間2528は各セグメント2524で同じであることができ、または一連のセグメントで同じであってもよく、或いはセグメント間で変化してもよい。通常、クリップ2524の期間2528は規定された既存の位置ホルダと一致するように構成される。さらに位置ホルダの期間は始動冗長を示唆する予測されたネットワークダウンロード速度に基づいている。
幾つかの実施形態では、コンテンツが捕捉され、ネットワークリソースへ記録される前にクリッピングまたはチャンキングが行われ、および/またはクリッピング計略にしたがってコンテンツをクリップする下方処理エレメントの一部として行われる。しかしながら、幾つかの実施形態では、コンテンツは捕捉時におよび/または捕捉装置2522によりクリップへ区分されることができる。幾つかの例では、捕捉後の後の時間にクリッピングを行うことは例えばダウンロードプロセスの一部として、エンコーダがクリップ間にクリーン・ブレイクを生成しようとする非効率な試みを解放できる。しかしながら、幾つかの実施形態では、捕捉装置2522はタイムライン上のコンテンツの連続的なピースを表すクリップを作成できる。クリップの期間は既存の位置ホルダに一致するように構成される。クリップの期間は既存の位置ホルダに一致するように構成される。位置ホルダの期間の選択は予測されるネットワークダウンロード速度に基づくことができ、これは始動冗長を示唆する。
捕捉装置2522はセグメントを処理装置2526へ転送する前に完全なセグメント2524を捕捉するのを待機するので、セグメント2524の捕捉を開始する初期時間2523とセグメントが処理装置2526で受信される時間2534との間に遅延2530が存在する。この遅延2530は典型的にセグメント2528の期間と、捕捉装置2522がセグメントを捕捉して任意の関連するフォーマット化を行うための時間とセグメントを処理装置2526へ転送する時間とを含んでいる。
処理装置2526は各セグメント2524を受信し、再生装置220へ転送される処理されたセグメント2540を生成するためにセグメントを処理する。幾つかの実施形態では、処理装置2526は捕捉装置2522の一部であってもよく、他の実施形態では処理装置2526の幾つか又は全ては捕捉装置とは別にされている。処理装置2526は実質的に再生装置へ転送され再生装置を介して再生されるようにセグメントを準備することにおける任意の関連する処理を行うことができる。例えば処理装置2526により行われる処理は符号化、多重化(例えばオーディオ、メニューデータおよびコンテンツ、制御機能、プログラミング、および1以上のセグメント2524で多重化されることができる他のこのようなコンテンツ)、暗号化、特別な効果の付加、補足的コンテンツおよび/またはメタデータの付加、又は他のこのような処理或いは処理の組合せを含むことができる。さらに、処理装置2526は(例えばポータブル記憶媒体222に規定されているような)再生装置により使用されるクリップ情報に適合する処理されたセグメント2540を発生することにおいてクリップテンプレート1324を使用できる。処理を完了するとき、処理されたセグメント2540は1以上の再生装置220に転送される準備がされている。
幾つかの例では、処理されたセグメント2540は直ちに、例えば実演、上演、パフォーマンス等の再生を行うとき1以上の再生装置220へ転送される。処理装置2526における処理と再生装置への転送のために、処理されたセグメント2540を再生装置220へ提供することにおいて付加的な遅延2552が存在する。結果として、捕捉時間(例えば捕捉2532の初期時間)と処理されたセグメント2540が再生のために再生装置220で受信される時間2556との間に総遅延2554が存在する。
パフォーマンス又はイベントのセグメント2524の捕捉とセグメント2524の処理によって、イベントが発生を続けながら、再生装置220でのパフォーマンス又はイベントの再生における総遅延は非常に減少されることができ、多くの例では実質的に秒単位の最小の遅延で生の再生を提供する。幾つかの例では、大部分の総遅延2554は捕捉されたセグメント2524の期間または長さに依存する。例えばイベントが1時間30分のイベントであり、セグメントが約5−20秒または数分の期間を有するとき、結果的な遅延2554はイベントの総期間のほんの僅かである。
さらに幾つかの例では、セグメント2524の期間2528はクリップテンプレートに依存することができる。例えば各セグメント2524はクリップテンプレートに基づいて予測されるクリップ期間に一致する期間を有することができる。しかしながら幾つかの例ではセグメント2124は選択されたクリップテンプレートに適合するようにさらに処理装置2526により分解されることができる。処理装置2526は1以上のセグメント2524をバッファするためのバッファリングを含むことができる。このバッファリングは例えば1以上のセグメント2524が処理遅延2552よりも短い期間2428を有するときに使用されることができる。
付加的にまたは代わりに、幾つかの実施形態は多数の処理装置2526を含み、および/または処理を待機している捕捉されたセグメント2524のバックログを限定又は防止しながらセグメント2524が処理遅延2552よりも短い期間を有することができるようにマルチ処理が行われることができる。処理遅延2552はセグメントからセグメントで変化することができることにさらに注意する。結果として、処理遅延2552の変化を許容するバッファリングが使用されることができ、および、または同様に捕捉装置2522において変化してもよい。
セグメントの期間の決定において、幾つかの実施形態では捕捉装置を制御する応用はセグメントスケジュールへのアクセスを有する。セグメントの期間は変化でき期間の選択は多くの係数にしたがうことができ、さらに典型的に品質と構成間の均衡であることに注意する。例えば長い期間のセグメントはネットワークの視点から比較的短い期間よりもやや効率的であることに注意する。さらに長い期間のセグメントはGOP(GOVU)境界を横切ってフレーム間圧縮を使用するより多くの機会が存在するため類似のビットレートについてより良好なビデオ品質を与える。
しかしながら、より短い期間は、所定のセグメントまたはクリップに対して送信または変換における問題が存在するならば、待ち時間を減少し潜在的なドロップアウト時間を減少する利点も有することができる。比較的長い期間のセグメントが損失又は故障したならば、目立つ可能性が高い大きいドロップアウトが生じる。ドロップアウトが短い期間のセグメントで生じたならば、認知できるが破局的ではない可能性が高い。短い期間はさらに増加された数のセグメント間の増加された数の境界状況を考慮する。さらに期間が符号器端で処理されるとき、符号器は典型的にフォーマットのコンプライアンス問題に気づかない。このようにして、符号器はセグメント間でクリーン・ブレイク符号化を行うことができ、これはセグメントの符号化に続くストリームを中止することを含むことができる。さらにストリームの中止はクリップ境界を横切るフレーム間圧縮の利用を干渉又は阻止する可能性があり、追加的なパディングが含まれる必要があり、および/またはクリップが完了したオーディオユニットで終了されるように処理はコンテンツを評価することを含む必要がある。
前述したように、図25の捕捉装置2522は実質的に再生装置へ転送されるためのコンテンツを捕捉することができる任意の装置であることができる。同様に、捕捉されるコンテンツは画像、ビデオ、オーディオ、グラフィック、テキスト、他のこのようなコンテンツおよび/またはコンテンツの組合せのような実質的に任意のコンテンツであることができる。幾つかの例では、コンテンツはビデオおよびオーディオコンテンツのような多数のタイプのコンテンツを含むことができる。さらに処理装置2526はセグメントで他の多数の入力を受信でき、データのこれらの多数の入力を協動および/または処理されたセグメント2540へ多重化することができる。例えば処理装置2526はオーディオ記録装置からオーディオセグメントを受信しながらビデオセグメントをビデオカメラから受信できる。処理装置は、オーディオの再生をビデオと正確に調整するため、対応するタイミング情報および/または他のこのような情報を有するオーディオセグメントでビデオセグメントを多重化することができる。
多数のソースからのコンテンツを協動することにおいて、処理装置2526はタイミングを監視し、多数のソースを同期し、例えばオーディオコンテンツとビデオコンテンツ間の同期を維持する。例えば各ソース装置にタイミングを与えるマスタークロックが異なることによる同期の損失はドリフトで生じる可能性がある。幾つかの例では、これは同じマスタークロックを使用するか幾つかの適合的変換を適用するソースを使用することによって解決されることができる。さらに、コンテンツの多重化において処理装置はスタートアップオフセットを尊重しなければならない。さらにドロップアウトまたは1つのソース或いは他のソースからサンプルがドロップされた場合には補償が行われる必要がある。
図26は1以上のソース(例えば捕捉装置2522)からのコンテンツのセグメント2524の処理において処理装置2526により実行される幾つかの実施形態によるプロセス2620の簡単化したフロー図を示している。ステップ2622で、コンテンツのセグメントは処理装置2526で受信される。例えばビデオデータのセグメントは受信される。ステップ2624で、他のコンテンツの1以上の他のセグメントが受信されたセグメントと協動および/または同期されるか否かが決定される。これはコンテンツの多重化および/またはコンテンツの他のこのような協動を含むことができる。さらに、他のコンテンツは先に受信されたコンテンツのセグメントおよび/または同時に受信されたコンテンツのセグメントを含むことができ、しばしば別のソースから受信される。例えば別のオーディオセグメントはオーディオ捕捉装置から受信されることができ、一方、ビデオセグメントはビデオ捕捉装置から受信される。受信されたセグメントが協動されない例では、プロセス2620はステップ2636へスキップする。
代わりに受信されたセグメントがコンテンツの1以上の他のセグメントと協動される例では、協動されるコンテンツの1以上の付加的なセグメントを識別するためにステップ2626に入る。ステップ2630で、タイミング、フレーム数および/または他のこのような情報のようなパラメータは受信されたセグメントおよび/または1以上の他のセグメントから抽出される。ステップ2632では、受信されたセグメントおよび/または1以上の他のセグメントの適切な協動は例えば抽出されたタイミングに部分的に依存して決定される。ステップ2634で、受信されたセグメントおよび/または1以上の他のセグメントは協動される。
ステップ2636で、メニュー、グラフィック、特別な効果、プログラミング、テキスト、サブタイトル、データ等に限定されないがこのようなさらに別のデータが受信されたセグメントと協動するか否かが決定される。さらに別のデータまたは他のコンテンツが協動されるとき、プロセス2620はさらに協動される別のデータを識別するためにステップ2640へ継続する。ステップ2642で、さらに別のデータが協動される態様が決定される。ステップ2644で、受信されたセグメントおよびさらに別のデータが協動される。
ステップ2644に続いてステップ2646に入り、ステップ2636でさらに別のデータが協動されないことが決定されたとき、プロセス2620は受信されたセグメント、および任意の他のコンテンツおよび/または受信されたコンテンツと協動するさらに別のデータの符号化を開始する。符号化は典型的にクリップテンプレートを使用し、それによって符号化されたコンテンツはポータブル記憶媒体上の予測されたクリップ情報に適合する。前述したようにコンテンツはリクエストする再生装置および/またはコンテンツをリクエストすることが予測される再生装置にしたがって、異なるクリップテンプレートを適用しおよび/または異なる符号化レートを適用して多数回符号化されることができる。さらに、符号化は前述したようにパディングパケットおよび/またはデータをコンテンツストリームに組み込むことができ、および/または符号化はパディングが後に再生装置によって組み込まれる場所を識別し、パディングパケットマッピングを作成しおよび/またはパディングパケットおよび/またはデータがストリームに組み込まれる場所および付加されるパディングの量を指定するパディング識別子を付加することができる。ステップ2650で、符号化されるコンテンツが保護(例えば暗号化)されるか或いは他の方法で処理されるかが決定される。さらに別の処理および/または保護が行われる例では、処理を実行するためにステップ2652に入る。ステップ2654で、符号化セグメントはパッケージング、ヘッダ情報の組込み、パケットのアドレス化等のような通信のためにフォーマットされ、処理されたセグメント2540を生成する。ステップ2656で処理されたセグメント2540はその後再生装置220へ通信され、および/または後に通信するために記憶される。
図25に示されているタイムラインの表示と図26のプロセス2620は生のプレゼンテーション、パフォーマンスおよび他のこのような生のイベントを含めた多くの状態で適用されることができる。同様に、捕捉装置2522におけるコンテンツのセグメント化は処理されたセグメント2540とクリップ情報を直ちに転送する意図なく使用されることができる。代わりに、処理されたセグメント2540は後に、リクエストする再生装置へ転送されるために記憶されることができる。代わりにコンテンツは捕捉されその後セグメント化されることができる。
図27は補足的コンテンツの発生されたクリップに対応するコンテンツのクリップおよびクリップ情報の発生において幾つかの実施形態により補足的コンテンツ2720と2722を処理するためのデータ流プロセスの簡単化したブロック図を示している。コンテンツ2720と2722は例えばビデオコンテンツ2720とオーディオコンテンツ2722を含むことができる。典型的にビデオコンテンツ2720はビデオファイルにも受けられている。幾つかの例ではしかしながら、ビデオコンテンツは記録されたビデオコンテンツの1以上のファイルであってもよい。同様にオーディオコンテンツ2722は記録されたオーディオコンテンツの1以上のファイルを含むことができる。ビデオコンテンツ22720とオーディオコンテンツ2722は多重化されたA/Vコンテンツ2724を作成するため共に多重化される。幾つかの例では、ビデオコンテンツ2720とオーディオコンテンツ2722は多重化の前に符号化され、他の例では、ビデオおよびオーディオコンテンツは多重化の後に符号化される。多重化されたA/Vコンテンツ2724はその後評価され、クリップ情報2726は多重化されたA/Vコンテンツ2724に対応して発生される。幾つかの例では、コンテンツはGOP(GOVU)の開始を含んでいるパケットがGOP(GOVU)開始コードシーケンスで開始する第1のペイロードデータバイトを有するように構成される。これは入来するストリームにおけるパージングロードを減少できる。適切なセグメント境界を識別するためにエントリ点データに依存することができ、順化装置におけるパケット置換は簡単化される。
多重化されたA/Vコンテンツ2724はさらに処理されA/Vコンテンツ2730の処理されたセグメントに区分される。さらにクリップ情報2726は区分化されおよび/または適切なセグメントに対応するクリップ情報は区分されたクリップ情報2732を提供するために生成される。クリップ情報の区分決定はA/Vコンテンツが区分される前に行われる。これは幾つかの実施形態ではセグメントスケジュールとエントリ点データに基づいて行われ、付加的に整列ユニットパディング規則を満たすBD−ROM要件のようなフォーマット特定要件に基づいて行われる。例えば漸進的プレイリストが接続条件6で規定される(クリップのシーケンスが連続的なストリームとしてみなされることが意図されることを示す)とき、クリップはそれぞれが188バイトの転送パケットを含む32192バイトのソースパケットに対応する6144バイトの整列ユニットの整数を含むように規定されることができる。到着時間スタンプは232バイトパケットの最初の4バイトに埋め込まれる。別の例として、接続条件5も使用されることができるが、単にクリーン・ブレイク符号化が使用されることを示しており、これは僅かに効率が少ない可能性がある。
整列ユニットのパディングを導入するとき、時間スタンプはパケットからパケットへ、通報された転送ストリームの多重化レートほど高いレートではないレートでインクリメントする。したがってクリップ境界を選択するとき、到着時間スタンプの視点から、次のクリップをオーバーラップせずに、先のクリップを終了するためのパディングパケットを整列ユニットへ挿入するのに十分な余地が与えられる。十分な余地が存在しないならば、処理は次のエントリ点へシフトし、再度パディングを挿入するのに十分な余地があるか否かを決定する。
A/Vコンテンツ2730の処理されたセグメントおよび区分されたクリップ情報2732は再生装置220へ後に分配されるように、または1以上の再生装置220へ分配されるように(例えばコンテンツがユーザ作成コンテンツであるとき再生装置220の外部メモリ229または内部メモリ228のサーバまたは遠隔記憶装置328或いは他のこのような記憶装置)で記憶されることができる。
幾つかの実施形態では、プロセスは可変のパラメータで、および/またはセグメント2730の異なるセットおよび対応するクリップ情報2732を生成するために異なるクリップテンプレートに基づいて多数回実行される。例えばコンテンツのセグメントの第1のセットおよび対応するクリップ情報は、高速度通信リンクにより再生装置と共に使用されるように、幾つかの例では高速度で複雑な処理能力を有して生成されることができる。コンテンツおよびクリップ情報のセグメントの第2のセットは中間速度の通信リンクを有する再生装置に基づいて生成されることができる。コンテンツおよびクリップ情報のセグメントの第3のセットは比較的低速度の通信リンクを有する再生装置に基づいて生成されることができる。
図28は幾つかの実施形態によるコンテンツ2820と2822の区分におけるデータ流の簡単化したブロック表示図を示している。幾つかの例では、ビデオコンテンツ2820は単一のファイルで符号化され、類似してオーディオコンテンツ2822は単一のファイルで符号化される。図28のデータ流では、ビデオコンテンツ2820は最初にビデオコンテンツ2820の再生期間の期間の僅かの部分である再生期間を有するビデオコンテンツ2824の複数のセグメントに分解される。ビデオセグメント2824のサイズまたは期間はクリップテンプレートにより示されるか、再生および/または通信リンクパラメータに基づくことができる。
さらに、サイズおよび/または再生期間はセグメント間で変化できる。例えば初期セグメントは図20と21を参照して前述されたようにサイズにおいて小さいかおよび/または短い再生期間を有する。同様にオーディオコンテンツ2822は複数のオーディオセグメント2826へ分解される。典型的にオーディオセグメント2826はビデオセグメント2824に対応する。オーディオセグメント2826のサイズおよび/または再生期間は対応するビデオセグメント2824のサイズおよび/または再生期間に基づくことができる(しかしながらビデオコンテンツは代わりにオーディオセグメント2826のサイズおよび/または再生期間に基づいて区分化されることができることに注意する)。
ビデオセグメント2824とオーディオセグメント2826はその後多重化されたA/Vコンテンツ2832のセグメントを作成するためマルチプレクサ2830を通じて多重化される。多重化されたA/Vコンテンツ2832のセグメントは多重化されたA/Vコンテンツ2832の各セグメントに対応する区分されたクリップ情報2836を発生するようにさらに評価される。再生装置へ転送される前に、A/Vコンテンツ2832のセグメントは典型的に対応する区分されたクリップ情報2836でパッケージされ、フォーマットされおよび/または再生装置へ送信されるためにラップされる。幾つかの実施形態では、クリップ情報ファイルはこれらは典型的に数百バイトだけの長さであるので、共に有効にパッケージされることができる。ジップフォーマット、簡単化した連結等が使用されることができる。単一ファイルはその後プレーヤで分解される。さらに単一のファイルはネットワーク転送の効率を改良できる。
図29は再生装置に転送されるコンテンツの区分を発生するためのデータ流の簡単化したブロック図である。このフローではコンテンツはそれが捕捉されるときに区分化される。このデータ流は幾つかの実施形態では図25および26を参照して前述したプロセスと共に使用されることができる。イベント、プレゼンテーション、パフォーマンス等のビデオセグメント2922のシーケンスが発生され、ビデオ捕捉装置がコンテンツを捕捉するときにビデオ捕捉装置(例えば装置2522)により出力される。同様に、オーディオセグメント2924のシーケンスはオーディオ捕捉装置がオーディオコンテンツを捕捉するときに付加的にまたは代わりに発生される。典型的に、ビデオコンテンツ2922の各セグメントおよびオーディオコンテンツ2924の各セグメントが符号化されたセグメントであるように捕捉されたコンテンツは符号化される。各ビデオセグメント2922はA/Vコンテンツ2930のセグメントを生成するようにマルチプレクサ2926によってその対応するオーディオセグメント2924で多重化される。A/Vコンテンツ2930の各セグメントはさらにA/Vコンテンツ2930の各セグメントのクリップ情報2932を発生するように解析されおよび/または評価される。結果として、A/Vコンテンツ2930のセグメントおよび対応するクリップ情報2932はコンテンツが捕捉されるときに発生される。このアプリケーションは幾つかの例ではイベントの捕捉または記録が終了または完了される前に分配者が分配しようとするイベントの捕捉について少なくとも有用であることができる。
図30は二次記憶媒体からアクセスされた補足的コンテンツと共にポータブル記憶媒体からコンテンツを再生するため固定された長さのコンテンツフレームワークに適合する再生装置220と共に使用されることができるポータブル記憶媒体222へコンテンツを構成し記録するプロセス3020の簡単化したフロー図を示しており、ここでは補足的コンテンツはポータブル記憶媒体222が構成されるときには未知である。ステップ3022で、ポータブル記憶媒体に記録されるコンテンツが識別される。これはマルチメディアコンテンツ、テキストデータおよび/またはたのこのようなコンテンツに限定されないがこれらのような実質的に任意のコンテンツを含むことができる。ステップ3024で、メニューアイテムおよび他の関連するユーザインターフェース制御は媒体222に組み込まれるように選択される。随意選択的なステップ3026では、媒体222中に組み込まれる補助データおよびコンテンツ138(例えば音響データ、グラフィック等)は識別される。ステップ3030で媒体上に含まれるプログラミングが選択される。
ステップ3032で、ポータブル記憶媒体222に組み込まれない補足的コンテンツはポータブル記憶媒体と関連付けられることが識別される。ステップ3034で、媒体および補足的コンテンツに記録されるコンテンツ、メニュー等のプレゼンテーションフローが決定される。これはコンテンツファイルおよび/または補足的コンテンツの再生順序、メニューが付勢されるとき、および/またはその態様、ユーザが発生したコマンドに対する応答、および他のこのような調整を規定する。プロセス3020はその後ステップ3036へ進み、ここでプレイリスト122が発生され、プレイリストファイル124と位置ホルダ128を組み込まれる。
ステップ3040で、さらにプレイリストディレクトリおよび/またはクリップ情報ディレクトリが発生されるかが決定される。前述したように幾つかの例では、媒体222は異なる特徴および/または再生装置の能力に基づいて多数のプレイリストを含むことができる。さらに別のプレイリストディレクトリおよび/またはクリップ情報ディレクトリが発生される例では、プロセスはステップ3022へ戻る。代わりにプロセスはステップ3042へ続き、1以上のファイル構造が規定されポータブル記憶媒体222へ記録される。これはプレイリストディレクトリ122、クリップ情報リスティングまたはディレクトリ126およびストリームディレクトリ132の設定と、プレイリストファイル124、コンテンツ位置ホルダ128、クリップ情報ファイル130、プレイリストファイル124に対応するコンテンツファイル134、メニュー136、プログラミング142等の媒体への記録とを含んでいる。幾つかの実施形態では、少なくとも部分的に媒体画像を規定することによってこれは実行されることができる。
本発明はコンピュータの読取り可能な媒体に記録された方法、システム、コード、アプリケーション、ソフトウェア、およびデータ構造を提供し、これはポータブル記憶媒体上に記録されない可変長の補足的コンテンツが再生装置を通して、固定長のフレームワークと適合する再生装置によってアクセスされるポータブル記憶媒体と協動して再生されることを可能にする。部分的に幾つかの実施形態は補足的コンテンツの媒体上での再生期間を規定することによってこの可変長の再生を行い、ここで規定された期間は、媒体が構成されるときに未知でありおよび/または発生さえもされない潜在的な補足的コンテンツの予測される実際の期間よりも大きい。補足的コンテンツの後の再生時に、再生装置は選択された位置ホルダ128に関する再生を終了して制御をユーザインターフェースに戻すかさらにプレイリスト122に関する再生を継続するために媒体222で指定された期間にオーバーライドするように、アクセスされた補足的コンテンツの再生の実際の完了を検出する。幾つかの例では、ポータブル記憶媒体222は再生されるコンテンツを実際には含まない可能性がある。代わりに媒体222は補足的コンテンツの再生を指定するためのプレイリスト、および可変長のコンテンツの協動および/または適合を行うためのプログラミング142を有する単なるコンテナであることができる。
映画撮影所等のようなコンテンツ作成者および/または分配者は、分配された媒体に関する再生時にダイナミックな現在のおよび最新の補足的コンテンツの再生を可能にしながら、媒体に記録されたマルチメディアコンテンツを有するポータブル記憶媒体を分配する。さらに補足的コンテンツは既知のまたは媒体の生成および分配時に利用可能なコンテンツに限定されない。代わりに補足的コンテンツは媒体の分配後に作成されることができる。同様に、ダイナミックで可変長のコンテンツで再生を行う能力によって、媒体、例えば映画のディスクは幾つかの例ではユーザ作成コンテンツを含めた補足的コンテンツが映画の再生と協動されることを可能にする。同様にユーザは媒体に記録された特性A/Vコンテンツと同期して、ユーザ生成コンテンツ(例えばピクチャ中のピクチャとして転送される)の再生のように、再生期間中に媒体上に記録されたコンテンツと対話できる。幾つかの例では、ユーザ生成コンテンツストリームは記録されることができ、その後ユーザコンテンツ(例えばビデオコンテンツ)の符号化で使用される適切なテンプレートを選択するための選択プロセスが実行される。ユーザコンテンツはさらに記憶媒体222と協動して使用されるようにマップされる。
さらに、コンテンツの所有者または分配者は映画又は映画の一部をインターネットによって利用可能にすることができ、例えば比較的ブランクのディスク(即ちディスクに記録されたマルチメディアコンテンツが比較的少ない)はスタジオ又は他の許可された分配者のウェブサイトを通してコンテンツにアクセスしスタジオからそれを獲得するための開始点として使用されることができる。同様に、コンテンツの所有者または分配者は強化、特別な特性、付加されたコンテンツ等を特定のポータブル記憶媒体を有するユーザおよび/またはそれらの強化、特別な特徴、付加されたコンテンツ等へのアクセスを得る権利を購入しているユーザに対して利用可能にすることができる。これはコンテンツ所有者と分配者に収入および/または売買のための付加的な手段を与えることができる。
ポータブル記憶媒体は媒体に関連されて再生される予定の実際の補足的コンテンツが何であるかを知らずに生成され分配されることができる。さらに、固定された長さのフレームワークと適合する再生装置を通して固定されていない長さのコンテンツを再生する能力は、ユーザが生の主催イベントに参加することを可能にする。例えば映画の撮影所は1以上の特別な媒体と関連して、ユーザがネットワーク接続を通して参加し彼らの再生装置を同期することを可能にするためのセッションを主催することができ、ここではネットワーク接続は補足的コンテンツおよび制御を供給し、媒体からのコンテンツと補足的コンテンツの再生を同期する。さらに別の例としてディレクターは特定のウェブサイトまたは複数のウェブサイトにアクセスするユーザに対して、映画を通して生のガイド付きツアーを提供することができる。このディレクターのツアー期間中に、ユーザの再生装置における媒体からのコンテンツはディレクターからの命令に応答して再生されることができ、生のプレゼンテーションの期間中にインターネットにわたって分配されるオーディオの解説、付加的なビデオのようなディレクターからの補足的コンテンツおよび他のこのような補足的コンテンツの再生を行う。幾つかの実施形態では、ディレクターにより発生された制御コマンドの分配は遅延される可能性があり、またはコマンドはタイミングを含むことができ、それによって(前述の幾つかの実施形態で説明されているように少なくとも幾つかの小さな遅延で再生装置において受信された生のコンテンツの再生を含めた)ユーザの装置における再生はディレクターとの同期を維持する。
ユーザに利用可能にされた補足的コンテンツは実質的に任意のコンテンツであることができ再生前および/または再生期間中のいつでも発生されることができる。複製されたポータブル記憶媒体は再生装置が情報を遠隔ソース又はサーバから引出し、例えば媒体に記録されたプログラミングを実行しながらユーザインターフェースを制御するために再生装置により使用されることを可能にする情報を含んでいる。例えばプログラミングにより再生装置はコンテンツのサーバをポールし、リスティングを生成でき、これはユーザインターフェースの形態、コンテンツの形態、および/またはサーバにより指定された利用可能なコンテンツのタイプ(テキストデータ、グラフィックデータ)の形態であることができ、ここで制御は選択を行うためにユーザに戻される。代わりに、再生装置はコンテンツのユーザインターフェースのリスティングおよび/または利用可能なコンテンツのタイプを生成でき、その後選択を行うためにユーザに戻される。再生装置と遠隔ソースとの間の通信は実質的に任意の関連する通信方法および/またはプロトコルを通すことができることに注意する。例えば幾つかの実施形態はXML文書、予め規定された方式またはこの通信が行われるルールセットのようなメタデータフォーマットを排除される通信を提供できる。
さらに幾つかの実施形態では、ポータブル記憶媒体222は固定長の標準方式と適合するコンテナまたはシェルであることができるが、任意のコンテンツを含まないか最小量のコンテンツのみを含み、代わりに再生装置を通して再生される別の記憶媒体から検索される (例えば遠隔記憶装置から受信される)他の補足的コンテンツへのキー又はアクセスとして使用される。
幾つかの例では、媒体222は実質的に任意の関連するコンテンツを再生するために使用されることができる位置ホルダを提供する。さらに1以上の予め規定されたクリップテンプレートは媒体222において規定されることができ、或いは再生の付勢前に再生装置322に与えられることができる。結果として実質的に任意のコンテンツはそのコンテンツが規定されたクリップテンプレートの1つおよび対応するクリップ情報にしたがってフォーマットされる限りその媒体と協動されることができる。世界には非常に多くのコンテンツが存在するので、全ての可能なクリップ情報をダウンロードすることは不可能であり、それによってこれはローカルであり再生装置により参照される。しかしながら幾つかの本発明の実施形態はコンテンツが規定されることができる通常のコンテナまたはクリップテンプレートを規定し、それによってコンテンツは予め規定されたコンテナにしたがってダウンロードされることができ、特別なコンテンツ情報は通常ダウンロードされる必要はない。
さらに再生装置はコンテナまたは1以上の規定されたクリップテンプレートおよび/またはクリップ情報へアクセスするので、ユーザは再生が開始される時にさえも利用可能ではない補足的コンテンツへのアクセスを得ることができる。例えば固定された長さのフレームワークに適合するディスクに関してコンテンツを再生するとき、再生装置が更新された補足的コンテンツで更新された後でさえも、第3パーティは生でトランスコードされダウンロードされるように付加的な補足的コンテンツ(例えば解説)を記録できる。この付加的な補足的コンテンツは再生装置をシャットダウンまたはリブートする必要なく再生装置を通して受信され、再生されることができ、代わりに付加的な補足コンテンツはその付加的な補足的コンテンツが再生装置に利用可能なクリップテンプレートおよび/またはクリップ情報にしたがってフォーマットされるときにアクセスされ、再生されることができる。
付加的に、本発明の実施形態は再生装置322および/または記憶媒体222のローカル記憶要求を減少する。千個の異なるクリップが存在するならば、ユーザは千個のクリップの各クリップ情報をダウンロードする必要がある。代わりに幾つかの実施形態は通常のクリップ情報又はテンプレートを与え、それによって実質的に任意のコンテンツは1以上のクリップ情報または予め規定されたテンプレートと適合されることができる。さらにテンプレートまたはフレームワークは媒体に記録されるときの固定された時間に規定されるだけではなく更新時に利用可能にされることができる。
本発明の実施形態は補足的コンテンツの再生を可能にするため方法、システム、プロセス、アプリケーション、ポータブル記憶媒体を提供する。さらにこれらの実施形態の少なくとも幾つかはポータブル記憶媒体上のコンテンツが読取り専用であり実質的に固定された例ではポータブル記憶媒体で記録されたコンテンツと協動して補足的コンテンツの再生を可能にする。これらの実施形態の幾つかは固定した長さのコンテンツフレームワークに適合された再生装置を通してポータブル記憶媒体で再生される補足的コンテンツを提供するために使用される方法を与える。付加的にまたは代わりに、幾つかの実施形態は、再生装置により直接アクセスされるポータブル記憶媒体にしたがって、固定された長さのコンテンツのフレームワークに適合する再生装置を通して再生される補足的コンテンツのクリップの発生に使用される方法を提供する。さらに、幾つかの実施形態はポータブル記憶媒体に関連してコンテンツの再生を行う方法を提供する。
幾つかの実施形態では、方法は固定された長さのコンテンツフレームワークに適合する再生装置を通してポータブル記憶媒体で再生されるための補足的コンテンツを提供する。これらの方法は再生装置から補足的コンテンツのリクエストを受信し、補足的コンテンツを識別し、再生装置の少なくとも1以上の能力に関するパラメータを決定し、リクエストの受信前に発生された複数の一連の補足的コンテンツのクリップから1つの一連の補足的コンテンツのクリップを選択し、選択された1つの一連の補足的コンテンツのクリップは再生装置の能力に関する1以上の決定されたパラメータに対応し、補足的コンテンツのクリップをリクエストする再生装置へ転送する。幾つかの例では、パラメータの決定はポータブル記憶媒体に記録されたクリップ情報を示すクリップテンプレートの識別を受信することを含んでおり、一連の補足的コンテンツのクリップの選択は一連の選択された補足的コンテンツのクリップが識別されたクリップテンプレートに一致するように1つの一連の補足的コンテンツのクリップを選択することを含んでいる。
さらにまたは代わりに、幾つかの実施形態はポータブル記憶媒体に記録されていない補足的コンテンツの区分化で使用され、再生装置により直接アクセスされるポータブル記憶媒体と協動して再生装置を通して再生されるように適合されたクリップテンプレートを発生する方法を提供する。これらの方法の少なくとも幾つかは再生装置のパラメータを識別し、再生装置のパラメータに関する固定されたクリップデータサイズを決定し、識別された再生装置のパラメータに少なくとも部分的に基づいて、装置のパラメータと、各連続的で逐次的なクリップが直後のクリップのデータサイズよりも大きいデータサイズを有するように、再生シーケンスに関して連続的で逐次的なクリップと共にデータサイズにおいて漸進的に増加するデータサイズを有するクリップ数とを決定し、再生シーケンスに関して第1の複数の逐次的クリップが連続して増加するデータサイズを有し、第1の複数のクリップに後続する第2の複数の逐次的クリップが再生シーケンスに関して多くても固定したクリップデータサイズに等しいデータサイズを有するように一連の複数のクリップを規定する。幾つかの例では、再生シーケンスに関して第1の複数のクリップの第1のクリップのデータサイズは第1の複数のクリップの残りのクリップのデータサイズよりも小さく、固定されたデータサイズよりも小さいデータサイズを有する。さらに、方法は付加的にトリガーイベントが第2のクリップに関して規定されることを決定し、第2のクリップを含む第3の複数の逐次的クリップを識別し、第2のクリップのデータサイズは再生シーケンスに関して直後のクリップのデータサイズよりも小さい場合、第3の複数のクリップの各クリップのデータサイズが漸進的に大きくなることを決定することができる。幾つかの例では、トリガーイベントは規定されたクリップテンプレートにしたがって構成されたコンテンツに関して章を変更するためのトリガーである。さらに、パラメータの識別はデータレートの識別と、再生装置の予測されるバッファサイズの識別とを含んでおり、それによって固定されたデータサイズおよび第1の複数の逐次的なクリップの第1のクリップのデータサイズはデータレートおよび予測されるバッファサイズにしたがっている。
幾つかの実施形態は付加的にまたは代わりにマルチメディアコンテンツがフォーマットされるときマルチメディアコンテンツのフォーマット化を示すコンピュータの読取り可能な媒体に記録された1以上のデータ構造を提供する。1以上のデータ構造は複数のクリップと、複数のクリップの第1のクリップに関連される指定されたイベントトリガーと、再生シーケンスに関して直前のクリップよりも小さいデータサイズを有するイベントトリガーに関連される第1のクリップと、漸進的に大きくなるデータサイズを有し、再生装置に関して第1のクリップの直後の第1の複数の逐次的なクリップとを含むことができる。さらに、第2の複数のクリップが再生シーケンスに関して直前の第2の複数のクリップに先行する場合、第1の複数のクリップの第2のクリップのデータサイズに等しくできる。
さらに幾つかの実施形態は固定された長さのコンテンツフレームワークに適合する再生装置を通して協動してコンテンツを再生する方法を提供する。これらの方法は媒体へのアクセスを検出し、ポータブル記憶媒体に記録された再生リストにアクセスし、ポータブル記憶媒体に関してコンテンツの再生を開始し、プレイリストで特定された位置ホルダを検出し、検出された位置ホルダに関連される補足的コンテンツについてポータブル記憶媒体以外のソースへのアクセスを識別し、そのソースにアクセスし、補足的コンテンツがプレイリストで指定され識別された位置ホルダに関連される再生期間よりも短い再生期間を有する場合、再生の開始後に補足的コンテンツを受信し、補足的コンテンツの再生を開始し、補足的コンテンツの再生が終了したことを検出し、プレイリストで指定され位置ホルダに関連される再生期間をオーバーライドし、プレイリストに関して再生の制御を戻すことができる。幾つかの例では、プレイリストのアクセスは少なくともポータブル記憶媒体に直接アクセスする再生装置の再生パラメータを識別し、多数のプレイリストがポータブル記憶媒体で規定されていることを検出し、識別された再生パラメータに基づいて複数のプレイリストからプレイリストを選択することを含んでいる。さらに幾つかの実施形態はソースから補足的コンテンツの詳細をリクエストし、プレイリストで指定され識別された位置ホルダに関連される再生期間よりも少ない補足的コンテンツの実際の再生期間を部分的に規定する補足的コンテンツに排他的に関連付けられたメタデータを受信する。付加的に、幾つかの実施形態は補足的コンテンツに専用に関連されるメタデータを受信し、補足的コンテンツの再生の終了を指定する補足的コンテンツに関して再生を停止するためのメタデータ内のコマンドを検出する。
ポータブル記憶媒体に関連してコンテンツの再生を行う方法は、幾つかの実施形態にしたがって与えられる。これらの方法は固定された長さのコンテンツフレームワークに適合するように構成された再生装置によって、再生装置により直接アクセスされたポータブル記憶媒体に記憶されたファイル構造の第1のプレイリストをアクセスし、ポータブル記憶媒体に関してコンテンツの再生を開始し、第1の再生期間を有するポータブル記憶媒体に記憶されていない補足的コンテンツのアクセスに関して第1のプレイリスト内に規定されている位置ホルダを検出し、位置ホルダについてポータブル記憶媒体に記録されたクリップ情報を検索し、第2の再生期間が第1の再生期間よりも大きい場合に位置ホルダのクリップ情報で指定されている第2の再生期間を抽出し、ポータブル記憶媒体に関してコンテンツの再生を開始した後に補足的コンテンツの少なくとも一部を検索し、補足的コンテンツの少なくとも一部の再生を開始し、補足的コンテンツの再生の完了を検出し、補足的コンテンツの再生を終了し、第1のプレイリストに関する再生制御を戻すステップを含んでいる。これらの方法は幾つかの例では、付加的に、メタデータが補足的コンテンツの第1の再生期間を規定する場合に補足的コンテンツに排他的に関連付けられるメタデータを検索することができ、補足的コンテンツの再生の終了を検出することは補足的コンテンツの再生期間中に第1の再生期間に到達されたことを検出し、第1の再生期間に到達されたことの検出に応答して第2の再生期間をオーバーライドすることを含んでいる。さらに、幾つかの実施形態ではポータブル記憶媒体にアクセスし、複数のプレイリストがポータブル記憶媒体で規定されることを識別し、少なくとも再生装置のパラメータを識別し、第1のプレイリストが識別された再生装置のパラメータに対応する場合に複数のプレイリストの第1のプレイリストを選択し、プレイリストの選択に応答してプレイリストのアクセスを実行する。幾つかの例では、補足的コンテンツの少なくとも一部の再生の開始は補足的コンテンツが受信されるとき補足的コンテンツの少なくとも一部の再生の開始を含んでいる。
さらに、幾つかの実施形態は固定された長さのコンテンツフレームワークに適合するように構成されたポータブル記憶媒体の分配方法を提供する。これらの方法はプレイリストを作成し、プレイリストをポータブル記憶媒体へ記録し、プレイリストに関連されるポータブル記憶媒体へコンテンツを記録するステップを含むことができ、ここでプレイリストの作成は、1以上のコンテンツ指定子をプレイリストに組込み、各コンテンツ指定子がコンテンツファイルの1つに対応するようにコンテンツファイルを識別し、ポータブル記憶媒体に記録され再生時に二次ソースからアクセスされる補足的コンテンツを示す2以上の位置ホルダを組込み、それによって1以上の位置ホルダのクリップ情報がポータブル記憶媒体と協動して再生される予測された補足的コンテンツよりも大きいプレイリストの期間を指定する場合に補足的コンテンツはポータブル記憶媒体に関連して再生され、各コンテンツファイルのクリップ情報と1以上の位置ホルダを組込むステップを含むことができる。
さらに別の実施形態は、再生装置により直接アクセスされるポータブル記憶媒体に関して再生装置を通じて再生される補足的コンテンツを供給する方法を提供する。これらの方法は分布された通信ネットワークによって補足的コンテンツのリクエストを受信し、補足的コンテンツを識別し、その補足的コンテンツが分布された通信ネットワークによって再生装置へストリームとして与えられるか否かを決定し、補足的コンテンツがストリームにされないことの決定に応答してリクエストの受信前に規定された予め規定されたクリップテンプレートを識別し、識別され予め規定されたクリップテンプレートにしたがって補足的コンテンツを補足的コンテンツのクリップに分解し、分布された通信ネットワークによって選択されたクリップテンプレートに適合する補足的コンテンツのクリップを転送することができる。幾つかの例では、補足的コンテンツのクリップへの分解は、クリップ内の補足的位置がそれぞれのクリップ内の位置に適合するように補足的コンテンツの1以上のクリップにヌルデータの組み込みを含んでいる。付加的に、これらの方法は、プレイリストが補足的コンテンツを得るように再生装置に命令した場合に、再生装置が補足的コンテンツに関して再生を終了し、再生装置により直接アクセスされるポータブル記憶媒体に記録されたプレイリストに関して制御することを再生装置に戻すように再生装置へメディア停止コマンドを発生できる。さらに、リクエストの受信前にポータブル記憶媒体に記録されたプレイリストは付加的に補足的コンテンツに関して再生期間を指示するクリップ情報を具備し、メディア停止コマンドの発生は再生装置での再生が補足的コンテンツに関してクリップ情報で特定された再生期間に到達する前にメディア停止コマンドを発生するステップを含んでいる。
ここで開示した発明は特定の実施形態およびその応用により説明されているが、複数の変形および変化が請求項に記載されている本発明の技術的範囲を逸脱せずに当業者により行われることができよう。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1]固定された長さのコンテンツフレームワークに適合する再生装置を通してポータブル記憶媒体で再生される補足的コンテンツを提供するのに使用される方法において、
再生装置から補足的コンテンツに対するリクエストをネットワークによって受信し、
前記補足的コンテンツを識別し、
補足的コンテンツを検索し、
前記リクエストの受信に先立って規定された予め規定されたクリップテンプレートにアクセスし、
前記補足的コンテンツを処理して、前記クリップテンプレートにしたがって補足的コンテンツの複数のクリップを発生し、それによって前記補足的コンテンツの再生長の一部である再生長を有する補足的コンテンツの複数のクリップを発生し、
前記リクエストしている再生装置へ補足的コンテンツの複数のクリップを転送するステップを含んでいる方法。
[2]前記補足的コンテンツの前記検索は、前記補足的コンテンツが生成されたときにそれを検索するステップを含んでいる前記[1]記載の方法。
[3]前記補足的コンテンツが生成されたときの前記補足的コンテンツの前記検索は、前記捕捉装置が未知の再生期間を有する実演を捕捉しておよび記録するときに捕捉装置からマルチメディアコンテンツを検索するステップを含んでいる前記[2]記載の方法。
[4]前記予め規定されたテンプレートに対するアクセスは、
前記再生装置の少なくとも1以上の能力に関するパラメータを決定し、
前記リクエストの受信に先立って規定された複数の予め規定されたクリップテンプレートから予め規定されたクリップテンプレートを選択するステップを含んでいる前記[1]記載の方法。
[5]前記予め規定されたクリップテンプレートはコンテンツが前記ポータブル記憶媒体に記録される前に規定される前記[4]記載の方法。
[6]前記予め規定されたテンプレートに対するアクセスは、
前記再生装置によりアクセスされる前記ポータブル記憶媒体上に記録されたクリップ情報の識別を受信し、
前記リクエストの受信前に規定された複数の予め規定されたクリップテンプレートから前記予め規定されたクリップテンプレートを前記クリップ情報に基づいて選択するステップを含んでいる前記[1]記載の方法。
[7]前記予め規定されたクリップテンプレートは前記ポータブル記憶媒体上に記録されたクリップ情報に直接対応している前記[6]記載の方法。
[8]補足的コンテンツのクリップの前記発生は、前記補足的コンテンツのクリップが前記選択されたクリップテンプレートに適合するように、ヌルデータを複数の前記補足的コンテンツのクリップに組み込むステップを含んでいる前記[1]記載の方法。
[9]さらに、補足的コンテンツの圧縮はリクエストする再生装置へ複数の補足的コンテンツのクリップを転送する前に前記補足的コンテンツのクリップ中へ組み込まれるヌルデータのパケットを除去するステップを含んでいる前記[8]記載の方法。
[10]補足的コンテンツのクリップの前記発生は、パディングデータを複数の前記補足的コンテンツのクリップに組み込むステップを含んでおり、それによって前記補足的コンテンツのクリップは、前記ポータブル記憶媒体に記録され、前記補足的コンテンツに関連されたクリップ情報と適合される前記[1]記載の方法。
[11]再生装置により直接アクセスされるポータブル記憶媒体にしたがって、固定された長さのコンテンツフレームワークに適合する前記再生装置を通して再生されるべき補足的コンテンツのクリップを発生するために使用される方法において、
前記補足的コンテンツを識別し、
複数のクリップテンプレートの1つを選択し、
前記選択されたクリップテンプレートを適用して前記補足的コンテンツを処理し、
補足的コンテンツの複数のクリップを生成し、
パディングデータを前記補足的コンテンツの複数のクリップへ組込み、それによって前記補足的コンテンツのクリップは前記選択されたクリップテンプレートに適合されるステップを含んでいる方法。
[12]前記パディングデータの組込みは、補足的コンテンツの各クリップ内の前記補足的コンテンツが前記補足的コンテンツのクリップに関して再生タイミングと適合するように前記パディングデータを組込むステップを含んでいる前記[11]記載の方法。
[13]前記補足的コンテンツの複数のクリップ中への前記パディングデータの組込みは、前記補足的コンテンツのクリップが前記ポータブル記憶媒体に記録されて前記補足的コンテンツに関連されるクリップ情報に適合するように前記パディングデータを組み込むステップを含んでいる前記[11]記載の方法。
[14]ポータブル記憶媒体に関連してコンテンツの再生を行う方法において、
固定された長さのコンテンツフレームワークに適合するように構成された再生装置によって、前記再生装置により直接アクセスされるポータブル記憶媒体に記憶されたファイル構造の第1のプレイリストにアクセスし、
前記ポータブル記憶媒体に関して前記コンテンツの再生を開始し、
第1の再生期間を有する前記ポータブル記憶媒体上に記憶されていない補足的コンテンツのアクセスに関して前記第1のプレイリスト内に規定された位置ホルダを検出し、
前記位置ホルダに対して前記ポータブル記憶媒体に記録されたクリップ情報を検索し、第2の再生期間が前記第1の再生期間よりも大きい場合、前記位置ホルダについての前記クリップ情報で指定された前記第2の再生期間を抽出し、
前記ポータブル記憶媒体に関して前記コンテンツの再生を開始した後、前記補足的コンテンツの少なくとも一部を検索し、
前記補足的コンテンツの少なくとも一部の再生を開始し、
前記補足的コンテンツの再生の完了を検出し、
前記補足的コンテンツの再生を終了し、
前記第1のプレイリストに関して再生制御を戻すステップを含んでいる方法。
[15]メタデータが前記補足的コンテンツの前記第1の再生期間を規定する場合、前記補足的コンテンツに排他的に関連される前記メタデータを検索し、
前記補足的コンテンツの再生の完了の検出は、前記補足的コンテンツの再生期間中に、前記第1の再生期間に到達されたことの検出を含み、
前記第1の再生期間中に到達したことの検出に応答して前記第2の再生期間をオーバーライドするステップをさらに含んでいる前記[14]記載の方法。
[16]前記ポータブル記憶媒体にアクセスし、複数のプレイリストが前記ポータブル記憶媒体で規定されていることを識別し、
少なくとも再生装置のパラメータを識別し、
第1のプレイリストが前記識別された再生装置のパラメータに対応する場合、前記複数のプレイリストの前記第1のプレイリストを選択し、前記プレイリストの選択に応答して前記プレイリストへのアクセスを実行するステップを含んでいる前記[14]記載の方法。
[17]前記受信された補足的コンテンツは前記ポータブル記憶媒体で規定され前記検出された位置ホルダに関連されているクリップ情報に一致するようにフォーマットされる前記[16]記載の方法、
[18]前記補足的コンテンツの少なくとも一部の再生の開始は、前記ポータブル記憶媒体で規定されているクリップ情報に対応するように第1のクリップテンプレートに適合するために発生された複数のクリップを含んでいる前記[16]記載の方法。
[19]前記複数の補足的コンテンツのクリップは、前記ポータブル記憶媒体で規定された前記クリップ情報中で規定されている再生期間に等しい再生期間を有しており、前記補足的コンテンツは前記クリップ情報が前記ポータブル記憶媒体に記録されるときには未知である前記[18]記載の方法。
[20]前記補足的コンテンツの少なくとも一部の再生の開始は、遠隔ソースから補足的コンテンツの第2のクリップを受信し続けながら補足的コンテンツの第1のクリップの再生を開始するステップを含んでいる前記[14]記載の方法。