(57)【要約】  メディア・コンテンツは、クリップと称されるいくつかのビデオ・サンプル、オーディオ・サンプル、またはデータ・サンプルの組に構成され、これらのクリップは、メディア・コンテンツ・マネージャによってレンダリングされる。プレゼンテーション・マネージャによって取り扱われるプレイリストは、ユーザに対して再生可能なクリップの時間順序が付けられたシーケンスを指定する。スケジュールされた再生時間にどれだけ前に先立って来るべきクリップを事前レンダリングすることを開始すべきかを決定するために使用される時間オフセット値を決定することを含めて、ユーザによって知覚されるグリッチを最小にするために、ある種のアクションが、メディア・コンテンツ再生中に取られる。時間オフセット値は、メディア・ソースのロケーション、コーデック・パラメータ、暗号化複雑度など、来るべきクリップについてのメディア・ソースに関連する１つまたは複数の静的特性と、メディア・クリップの（再生速度を含む）検索状態、処理負荷、クロック周波数など、プレゼンテーション・システムの１つまたは複数の動的特性とを使用して、決定される。
2009502049.tif 000002
【特許請求の範囲】
【請求項１】
プレゼンテーション・システムを使用して、各組のメディア・サンプルがメディア・ソースから受信可能である複数の組のメディア・サンプル中に構成されたメディア・コンテンツを再生するための方法であって、
第１の時刻に、第１のメディア・ソースから受信される第１の組のメディア・サンプルの再生を開始するステップと、
第２の時刻にスケジュールされるその再生の開始が、前記第１の時刻からあらかじめ決定された時間量で行われる、第２のメディア・ソースから受信可能な第２の組のメディア・サンプルを識別するステップと、
前記第２のメディア・ソースに関連する静的特性を確認するステップと、
前記第１の組のメディア・サンプルの再生中に、前記プレゼンテーション・システムの動的特性を確認するステップと、
前記静的特性および前記動的特性に基づいて、時間オフセット値を決定するステップと、
前記時間オフセット値に基づいた量だけ前記第２の時刻からオフセットされる事前レンダリング時間に前記第２の組のメディア・サンプルの少なくとも一部分を事前レンダリングするステップと
を含む方法。
【請求項２】
前記事前レンダリング時間は、前記第１の組のメディア・サンプルの再生を最大にするように、そして前記第２の組のメディア・サンプルの再生の開始が、前記第２の時刻に行われることを保証するように選択される、請求項１に記載の方法。
【請求項３】
前記第１のメディア・ソースは、前記第２のメディア・ソースと同じである、請求項１に記載の方法。
【請求項４】
前記時間オフセット値を決定する前記ステップは、前記第１の時刻より後に、しかも前記事前レンダリング時間の前に行われ、前記時間オフセット値を決定する前記ステップは、前記第１の組のメディア・サンプルの再生中に複数回反復される、請求項１に記載の方法。
【請求項５】
前記プレゼンテーション・システム内の処理負荷に基づいて前記時間オフセット値を調整するステップを
さらに含む、請求項１に記載の方法。
【請求項６】
前記第２のメディア・ソースに関連する前記静的特性を確認する前記ステップは、
複数の組の静的特性を確認するステップと、
前記第２のメディア・ソースのアイデンティティに基づいて、前記複数の組の静的特性から１組の静的特性を選択するステップと
を含む、請求項１に記載の方法。
【請求項７】
前記静的特性は、エンコーダ−デコーダ対（「コーデック」）パラメータ、暗号化パラメータ、前記第２の組のメディア・サンプルのサイズ、および前記第２のメディア・ソースのロケーションのうちの１つを含む、請求項１に記載の方法。
【請求項８】
前記動的特性は、前記メディア・コンテンツの再生状態、前記プレゼンテーション・システム内の処理負荷、および前記プレゼンテーション・システムに関連するクロックの周波数のうちの１つを含む、請求項１に記載の方法。
【請求項９】
前記メディア・コンテンツの前記再生状態は、前記メディア・コンテンツの再生速度に基づいている、請求項８に記載の方法。
【請求項１０】
前記再生状態は、前記プレゼンテーション・システムがオンにされて以来の前記メディア・コンテンツの前記再生速度の平均に基づいている、請求項９に記載の方法。
【請求項１１】
前記第１の組のメディア・サンプルのアイデンティティは、プレイリストから確認可能でない、請求項１に記載の方法。
【請求項１２】
前記第２の時刻は、前記第１の組のメディア・サンプルの再生継続時間の終了と一致するステップと、前記第１の組のメディア・サンプルの再生継続時間内に起きるステップと、前記第１の組のメディア・サンプルの再生継続時間の終了後に起きるステップのうちの１つを含む、請求項１に記載の方法。
【請求項１３】
請求項１に記載の前記ステップを実行するためのコンピュータ実行可能命令を用いて符号化されるコンピュータ読取り可能媒体。
【請求項１４】
各組のメディア・サンプルがメディア・ソースから受信可能である複数の組のメディア・サンプルに構成されるメディア・コンテンツを再生するためのシステムであって、
第１のメディア・ソースからの第１の組のサンプルを再生するように、そして第２のメディア・ソースからの第２の組のサンプルを再生するように動作可能なメディア・コンテンツ・マネージャと、
プレイリストにアクセスし、前記メディア・コンテンツ・マネージャと通信するように構成された、プレゼンテーション・マネージャと
を備え、前記プレゼンテーション・マネージャは、
前記第２の組のメディア・サンプルのアイデンティティを前記プレイリストから確認し、
前記第２のメディア・ソースに関連する静的特性を確認し、
前記第１の組のメディア・サンプルの再生中に動的特性を確認し、
前記静的特性および前記動的特性に基づいて時間オフセット値を決定し、
前記時間オフセット値に基づいた量だけ前記第２の時刻からオフセットされる事前レンダリング時間において、前記第２の組のメディア・サンプルの少なくとも一部分の事前レンダリングのために構成する
ように動作可能であり、
前記第２の組のメディア・サンプルの前記部分が事前レンダリングされたときに、前記メディア・コンテンツ・マネージャは、前記第２の時刻に前記第２の組のサンプルの前記事前レンダリングされた部分を再生するシステム。
【請求項１５】
前記第１の組のメディア・サンプルのアイデンティティは、前記プレイリストから確認可能でない、請求項１４に記載のシステム。
【請求項１６】
前記プレゼンテーション・マネージャは、前記メディア・コンテンツ・マネージャから前記静的特性を受け取る、請求項１４に記載のシステム。
【請求項１７】
前記メディア・コンテンツ・マネージャは、前記メディア・コンテンツ・マネージャの処理負荷に基づいて前記決定された時間オフセット値を調整するように動作可能であり、前記プレゼンテーション・マネージャは、前記メディア・コンテンツ・マネージャから前記調整された時間オフセット値を受け取り、前記事前レンダリング時間は、前記調整された時間オフセット値に基づいた量だけ前記第２の時刻からオフセットされる、請求項１４に記載のシステム。
【請求項１８】
オペレーティングシステムを備える、請求項１４に記載のシステム。
【請求項１９】
光ディスク・プレーヤを備える、請求項１８に記載のシステム。
【請求項２０】
前記光ディスク・プレーヤは、ＤＶＤフォーラムによって公開される高精細ビデオについての仕様に準拠する、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
【背景技術】
【０００２】
本出願は、参照により本明細書に組み込まれている２００５年７月１日に出願された仮出願第６０／６９５，９４４号の利益を主張するものである。
【０００３】
マルチメディア・プレーヤ（ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）は、ユーザによって消費されるためのビデオ・コンテンツ、オーディオ・コンテンツ、またはデータ・コンテンツの組合せ（「マルチメディア・プレゼンテーション（ｍｕｌｔｉｍｅｄｉａ  ｐｒｅｓｅｎｔａｔｉｏｎ）」）をレンダリングする（ｒｅｎｄｅｒ）デバイスである。ＤＶＤプレーヤなどのマルチメディア・プレーヤは、たとえあるとしてもメディア・コンテンツの再生中にたくさんのユーザインタラクティブ性を実現できるようにはしない（メディア・コンテンツ再生は、一般に再生速度調整以外のユーザ入力を受け取るためには中断させられる）。例えば、ＤＶＤプレーヤのユーザは、そのユーザが再生している映画を停止して、そのユーザが、オーディオ解説、俳優の経歴、ゲームなどの特徴を選択し受信することができるようにするオプションを含むメニューへと戻る必要がある。
【０００４】
インタラクティブ・マルチメディア・プレーヤ（ｉｎｔｅｒａｃｔｉｖｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）は、伝統的なビデオ・コンテンツ、オーディオ・コンテンツ、またはデータ・コンテンツと同時にインタラクティブ・コンテンツの組合せ（「インタラクティブ・マルチメディア・プレゼンテーション（ｉｎｔｅｒａｃｔｉｖｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｒｅｓｅｎｔａｔｉｏｎ）」）をレンダリングするデバイスである（そのようなデバイスは、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せを含むことができる）。インタラクティブ・コンテンツは、単独で、あるいは他のビデオ・コンテンツ、オーディオ・コンテンツ、またはデータ・コンテンツと同時に提示可能なユーザ選択可能な目に見え、または耳に聴くことができる任意のオブジェクトである。任意タイプのデバイスは、インタラクティブ・マルチメディア・プレーヤとすることができるが、光メディア・プレーヤ（例えば、ＤＶＤプレーヤ）、コンピュータ、他の電子デバイスなどのデバイスは、それらが大量の比較的安価なポータブル・データ・ストレージに対するアクセスを実現するので商業的に価値のある、消費者が求めるインタラクティブ・マルチメディア・プレゼンテーションの作成を可能にするように特によく位置づけられる。
【０００５】
すべてのタイプのメディア・コンテンツ・プレーヤ、特にインタラクティブ・マルチメディア・プレーヤおよびインタラクティブ・マルチメディア・プレゼンテーションへの投資を高めるために、ビデオ・コンテンツ、オーディオ・コンテンツ、またはデータ・コンテンツの予測可能な比較的グリッチフリーの再生を実現することが望ましい。
【０００６】
主張される主題が、特定のマルチメディア・プレゼンテーション・システム、インタラクティブ・マルチメディア・プレゼンテーション・システム、またはそれらの態様の任意またはすべての短所を解決する実施形態だけに限定されないことが理解されるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
マルチメディア・プレゼンテーションやインタラクティブ・マルチメディア・プレゼンテーションなどの多くのタイプのプレゼンテーションは、メディア・コンテンツを含んでいる。メディア・コンテンツの一例は、映画であるが、メディア・コンテンツは、ビデオ、オーディオ、データまたはそれらの任意の組合せであってもよい。メディア・コンテンツは、一般にクリップと呼ばれるいくつかの組のサンプルに構成されるが、これらのクリップは、メディア・コンテンツ・マネージャによってレンダリングされる。１つのクリップは、一般に１つのメディア・ソースから受信可能である。プレゼンテーション・マネージャによって取り扱われるプレイリストは、ユーザに対して提示可能なクリップの時間順序が付けられたシーケンスを指定する。時として、プレイリスト中において指定されるような１つのクリップから別のクリップへのリアルタイム遷移は、特に限られた処理リソースおよび／または復号化リソースを有するプレゼンテーション・システムが使用されるときに、ユーザにメディア・コンテンツの再生中におけるグリッチ（例えば、遅延、望ましくない中断、または脱落させられたコンテンツ）に直面させることなく実行することが難しい。
【課題を解決するための手段】
【０００８】
本明細書中で論じられるメディア・コンテンツを再生するための方法、システム、装置、および製品は、メディア・コンテンツの再生中におけるグリッチを最小にするために、クリップが再生のためにスケジュールされる前に、来るべきクリップの少なくとも一部分を事前レンダリングすることを含んでいる。メディア・コンテンツの再生中に取られるある種のアクションは、時間オフセット値を決定することを含んでおり、この時間オフセット値を使用して、スケジュールされた再生時間にどれだけ前に先立って来たるべきクリップを事前レンダリングすることを開始すべきかを決定する。スケジュールされた再生時間の前にクリップを事前レンダリングするためには、十分な時間が存在すべきであるが、クリップは、事前レンダリングするアクティビティが、プレゼンテーション・システム内で行われる他の重要なアクティビティに悪影響を及ぼすほど前に先立って事前レンダリングされるべきではない。
【０００９】
時間オフセット値は、来るべきクリップについてのメディア・ソースに関連する１つまたは複数の静的特性と、そのプレゼンテーション・システムの１つまたは複数の動的特性を使用して決定される。特定のメディア・ソースの静的特性の例は、メディア・ソースのロケーション、コーデックのパラメータまたは設定、あるいは暗号化のパラメータまたは設定を含んでいる。プレゼンテーション・システムの動的特性の例は、メディア・クリップの（再生速度を含めた）検索状態、メディアまたはグラフィックスの処理負荷、あるいはメディアまたはグラフィックスのクロック周波数を含んでいる。時間オフセット値は、様々な動的特性について対応するために、メディア・コンテンツの再生中に複数回決定することができる。
【００１０】
この「発明の開示」は、簡単化された形式で概念の選択を導入するために提供される。それらの概念は、「発明を実施するための最良の形態」においてさらに詳細に説明される。この「発明の開示」に説明されるこれら以外の要素またはステップも可能であり、どの要素またはステップも必ずしも必要とされるとは限らない。この「発明の開示」は、請求される主題の主要な特徴または不可欠な特徴を識別するようには意図されておらず、また請求される主題の範囲を決定する際における助けとして使用することについても意図されてはいない。
【発明を実施するための最良の形態】
【００１１】
図面に戻ると、同様な数字は、同様なコンポーネントを示しており、図１は、インタラクティブ・マルチメディア・プレゼンテーション・システム（「プレゼンテーション・システム（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｓｙｓｔｅｍ）」）１００の簡略化された機能ブロック図である。プレゼンテーション・システム１００は、メディア・コンテンツ・マネージャ１０２と、インタラクティブ・コンテンツ（ｉｎｔｅｒａｃｔｉｖｅ  ｃｏｎｔｅｎｔ）（「ＩＣ」）マネージャ１０４と、プレゼンテーション・マネージャ１０６と、タイミング信号管理ブロック１０８と、ミキサ／レンダラ（ｒｅｎｄｅｒｅｒ）１１０とを含んでいる。一般に、設計の選択は、プレゼンテーション・システム１００の特定のファンクションがどのように実施されるかを指示する。そのようなファンクションは、ハードウェア、ソフトウェア、またはファームウェア、あるいはそれらの組合せを使用して実施することができる。
【００１２】
オペレーション中に、プレゼンテーション・システム１００は、インタラクティブ・マルチメディア・プレゼンテーション・コンテンツ（「プレゼンテーション・コンテンツ」）１２０を処理する。プレゼンテーション・コンテンツ１２０は、メディア・コンテンツ・コンポーネント（「メディア・コンポーネント」）１２２と、インタラクティブ・コンテンツ・コンポーネント（「ＩＣコンポーネント」）１２４とを含んでいる。メディア・コンポーネント１２２およびＩＣコンポーネント１２４は一般に、必ずしもそうする必要はないが、それぞれメディア・コンテンツ・マネージャ１０２およびＩＣマネージャ１０４によって別個のデータ・ストリームとして処理される。
【００１３】
プレゼンテーション・システム１００はまた、ユーザ（図示されず）に対するプレゼンテーション・コンテンツ１２０の再生されるプレゼンテーション１２７としてのプレゼンテーションを容易にもする。再生されるプレゼンテーション１２７は、ミキサ／レンダラ１１０によって生成され、ディスプレイやスピーカ（図示されず）などのデバイスを経由してユーザが受け取ることが可能なプレゼンテーション・コンテンツ１２０に関連する目に見え、かつ／または耳に聴くことができる情報を表す。説明する目的のために、プレゼンテーション・コンテンツ１２０と、再生されるプレゼンテーション１２７は、任意のフォーマットにおける高精細ＤＶＤ映画コンテンツを表すことが仮定される。しかしながら、プレゼンテーション・コンテンツ１２０および再生されるプレゼンテーション１２７は、現在知られており、あるいは後で開発されるメディア・コンテンツの任意のタイプのプレゼンテーションとすることができることが理解されるであろう。
【００１４】
メディア・コンポーネント１２２は、プレゼンテーション・コンテンツ１２０の伝統的なビデオ・コンポーネント、オーディオ・コンポーネント、またはデータ・コンポーネントを表す。例えば、映画は、全般的に１つまたは複数のバージョン（例えば、成熟した聴衆のためのバージョンと、より若い聴衆のためのバージョンと）と、各タイトルに関連する１つまたは複数のチャプタを有する１つまたは複数のタイトル１３１（図示されず）（タイトルについてはプレゼンテーション・マネージャ１０６に関連して以下でさらに説明される）と、１つまたは複数のオーディオ・トラック（例えば、映画は、字幕付きで、または字幕無しで、１つまたは複数の言語で再生することができる）と、監督の解説、追加の場面、予告編などの追加の特徴を有する。タイトルとチャプタとの間の区別は、純粋に論理的区別であることが理解されるであろう。例えば、単一の知覚されるメディア・セグメントは、単一のタイトル／チャプタの一部分とすることができ、あるいは複数のタイトル／チャプタから構成することができる。適用可能な論理的区別を決定することは、コンテンツ・オーサリング・ソース次第である。メディア・コンポーネント１２２は映画と称されるが、メディア・コンポーネント１２２は、実際にはビデオ、オーディオ、データ、またはそれらの任意の組合せとすることができることも理解されるであろう。
【００１５】
メディア・コンポーネント１２２を形成するメディア・サンプルの組（例えば、ビデオ・サンプル、オーディオ・サンプル、またはデータ・サンプルの組）は、クリップ１２３と称される（クリップ１２３は、メディア・コンポーネント１２２、メディア・コンテンツ・マネージャ１０２、およびプレイリスト１２８の内部に示される）。メディア・コンテンツ・マネージャ１０２を参照すると、クリップ１２３に関連する情報は、１つまたは複数のメディア処理パイプライン１５９によって処理される（２つのメディア処理パイプラインが例示の目的のために示されるが、任意の数が可能である）。特定のメディア処理パイプライン１５９内において、クリップ１２３に関連する情報がメディア・ソース１６０から受信され、デコーダ・ブロック１６１において逆多重化され、復号化され、かつ／または暗号解読される。
【００１６】
特定のメディア・ソース１６０は、ビデオ、オーディオ、またはデータがそこから引き出され、あるいは取得される任意のデバイス、ロケーション、またはデータである。メディア・ソースの例は、それだけには限定されないが、ネットワーク、ハードドライブ、光媒体、代替的な物理ディスク、および特定のビデオ、オーディオ、またはデータのストレージロケーションを参照するデータ構造を含んでいる。一般に、任意のコンピュータ読取り可能媒体は、メディア・ソースとして役割を果たすことができる（コンピュータ読取り可能媒体は、図７に関連して以下でさらに説明される）。
【００１７】
各メディア・ソース１６０は、それに関連する１つまたは複数のメディア・ソース特性１６２を有する。メディア・ソース特性は、特定のメディア・ソースに関連する静的パラメータである。そのような静的パラメータの例は、それだけには限定されないが、メディア・ソースのロケーション、エンコーダ−デコーダ対（「コーデック」）のパラメータまたは設定（例えば、ＷＭＶ、Ｈ．２６４、ＭＰＥＧ、ＶＣ１、ピクチャのグループ（「ＧＯＰ」）のサイズ設定、圧縮比設定、品質設定などの符号化／複合化のフォーマットまたはプロトコル）、あるいは暗号化のパラメータまたは設定（例えば、対称または非対称、暗号化複雑度、暗号化のフォーマットまたはプロトコルなどの暗号化タイプ）を含んでいる。特定のメディア・ソースに関連する他の静的パラメータも定義し、あるいは認識することもできることが、理解されるであろう。
【００１８】
デコーダ・ブロック１６１は、メディア・ソース１６０から受信される情報からレンダリング可能なビデオ・コンテンツ、オーディオ・コンテンツ、またはデータ・コンテンツを検索するために使用される任意のデバイス、技法、またはステップを表す。デコーダ・ブロック１６１は、例えばコーデック、逆マルチプレクサ、または暗号解読器を含むことができる。デコーダ・ブロック１６１とそのコンポーネントは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せを使用して実施することができる。デコーダとメディア・ソースの間の１対１の関係が示されるが、１つのデコーダは複数のメディア・ソースの役割を果たし、その逆も同様であることが理解されるであろう。例えば、一部の市販で入手可能なＤＶＤプレーヤは、１つのデコーダだけを含んでいる。
【００１９】
メディア・コンテンツ・データ（「メディア・データ」）１３２は、メディア・コンテンツ・マネージャ１０２によってレンダリングするために作成され、ミキサ／レンダラ１１０に対して伝送されているメディア・コンポーネント１２２に関連するデータである。メディア・データ１３４の組（例えば、フレーム）は、一般にアクティブなクリップ１２３ごとに、クリップの一部分のレンダリングを含んでいる。特定の１組メディア・データ中においてレンダリングされるクリップの正確な部分または量は、クリップのビデオ・コンテンツ、オーディオ・コンテンツ、またはデータ・コンテンツの特性や、１つまたは複数のメディア・ソース特性１６２など、いくつかのファクタに基づいたものとすることができる。メディア・コンテンツ・マネージャ１０２は、（以下で説明される）メディア・コンポーネント１２２および／またはＩＣコンポーネント１２４を含む様々なクリップのアイデンティティおよびスケジューリングに基づいた動的メディア処理負荷を有する。
【００２０】
プレゼンテーション・コンテンツ１２０をもう一度参照すると、ＩＣコンポーネント１２４は、インタラクティブ・オブジェクト１２５を含んでおり、このインタラクティブ・オブジェクトは、目に見え、または耳で聴くことができるオブジェクトを提示するための（アプリケーション１５５として示され、以下でさらに説明される）任意の命令と一緒にオプションとしてメディア・コンポーネント１２２と同時に提示可能な、ユーザ選択可能な目に見え、または耳で聴くことができるオブジェクトである。インタラクティブ・オブジェクト１２５は、静的とすることも、アニメーション化することもできる。インタラクティブ・オブジェクトの例は、他の物事のうちでもとりわけ、ビデオのサンプルまたはクリップと、オーディオのサンプルまたはクリップと、グラフィックスと、テキストと、それらの組合せとを含んでいる。
【００２１】
インタラクティブ・オブジェクト１２５は、１つまたは複数のソース（図示されず）を起源としている。ソースは、そこからインタラクティブ・オブジェクトが引き出され、あるいは取得される任意のデバイス、ロケーション、またはデータである。インタラクティブ・オブジェクト１２５についてのソースの例は、それだけには限定されないが、ネットワーク、ハードドライブ、光媒体、代替的な物理ディスク、および特定のインタラクティブ・オブジェクトのストレージロケーションを参照するデータ構造を含んでいる。インタラクティブ・オブジェクト１２５のフォーマットの例は、それだけには限定されないが、ポータブル・ネットワーク・グラフィックス（ｐｏｒｔａｂｌｅ  ｎｅｔｗｏｒｋ  ｇｒａｐｈｉｃｓ）（「ＰＮＧ」）と、ジョイント・フォトグラフィック・エクスパート・グループ（ｊｏｉｎｔ  ｐｈｏｔｏｇｒａｐｈｉｃ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐ）（「ＪＰＥＧ」）と、ムービング・ピクチャ・エクスパート・グループ（ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐ）（「ＭＰＥＧ」）と、マルチプルイメージ・ネットワーク・グラフィックス（ｍｕｌｔｉｐｌｅ−ｉｍａｇｅ  ｎｅｔｗｏｒｋ  ｇｒａｐｈｉｃｓ）（「ＭＮＧ」）と、オーディオ・ビデオ・インターリーブ（ａｕｄｉｏ  ｖｉｄｅｏ  ｉｎｔｅｒｌｅａｖｅ）（「ＡＶＩ」）と、拡張可能マークアップ言語（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）（「ＸＭＬ」）と、ハイパーテキスト・マークアップ言語（ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）（「ＨＴＭＬ」）と、拡張可能ＨＴＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ＨＴＭＬ）（「ＸＨＴＭＬ」）と、拡張可能スタイルシート言語（ｅｘｔｅｎｓｉｂｌｅ  ｓｔｙｌｅｓｈｅｅｔ  ｌａｎｇｕａｇｅ）（「ＸＳＬ」）と、ＷＡＶとを含んでいる。
【００２２】
アプリケーション１５５は、それによってプレゼンテーション・システム１００がインタラクティブ・オブジェクト１２５をユーザに対して提示するメカニズムを提供する。アプリケーション１５５は、データ上であらかじめ決定されたオペレーションを電子的に制御する任意の信号処理方法または記憶された１つ（または複数）の命令を表す。説明する目的のために、ＩＣコンポーネント１２４は、３つのアプリケーション１５５を含むことが仮定され、これらの３つのアプリケーションは、図２および３に関連して以下でさらに説明される。第１のアプリケーションは、映画の目に見える態様と同時に、複数のユーザ選択可能なアイテムを有するメニューを提供するある種のインタラクティブ・オブジェクトを提示する。第２のアプリケーションは、映画の中に現れる１つまたは複数のアイテム（例えば、人、車、建物、または製品）を識別し、かつ／またはそれに従うように使用することができる（円などの）グラフィック・オーバーレイを提供する１つまたは複数のインタラクティブ・オブジェクトを提示する。また第３のアプリケーションは、（「スクリプト・クリップ」と称される）アニメーション化されたサムネールなどのメディア・クリップを提示する。
【００２３】
インタラクティブ・コンテンツ・データ（「ＩＣデータ」）１３４は、ＩＣマネージャ１０４によってレンダリングするために作成され、ミキサ／レンダラ１１０へと伝送されているＩＣコンポーネント１２４に関連するデータである。各アプリケーションは、関連する待ち行列（図示されず）を有し、この待ち行列は、そのアプリケーションをレンダリングすることに関連する１つまたは複数の作業アイテム（図示されず）を保持する。
【００２４】
メディア・コンテンツ・マネージャ１０４とＩＣマネージャ１０２の両方と通信するように構成されるプレゼンテーション・マネージャ１０６は、プレゼンテーション・コンテンツ１２０の処理と、再生されるプレゼンテーション１２７のユーザに対する提示を容易にする。プレゼンテーション・マネージャ１０６は、プレイリスト１２８に対するアクセス権を有する。プレイリスト１２８は、他の物事のうちでもとりわけ、ユーザに対して提示可能な（インタラクティブ・オブジェクト１２５を含む）クリップ１２３およびアプリケーション１５５の時間順序付けされたシーケンスを含んでいる。クリップ１２３およびアプリケーション１５５／インタラクティブ・オブジェクト１２５は、１つまたは複数のタイトル１３１を形成するように構成することができる。例示の目的のために、１つのタイトル１３１が、本明細書中において説明される。プレイリスト１２８は、拡張可能マークアップ言語（「ＸＭＬ」）ドキュメント、または別のデータ構造を使用して実施することができる。
【００２５】
プレゼンテーション・マネージャ１０６は、プレイリスト１２８を使用して、タイトル１３１についてのプレゼンテーションタイムライン１３０を確認する。概念的に、プレゼンテーションタイムライン１３０は、特定のクリップ１２３およびアプリケーション１５５がユーザに対して提示可能なときの、タイトル１３１内部の時刻を示す。クリップ１２３とアプリケーション１５５のプレゼンテーションの間の例示の関係を示すサンプルのプレゼンテーションタイムライン１３０が、図２に関連して示され、説明される。ある種の状況においては、プレイリスト１２８および／またはプレゼンテーションタイムライン１３０を使用して、メディア・コンテンツタイムライン（「メディアタイムライン」）１４２を確認することも有用である（例示のメディアタイムライン１４２が、図６に関連して以下でさらに説明される）。
【００２６】
プレゼンテーション・マネージャ１０６は、それだけには限定されないが、プレゼンテーションタイムライン１３０についての情報を含めて情報をメディア・コンテンツ・マネージャ１０２およびＩＣマネージャ１０４に対して供給する。プレゼンテーション・マネージャ１０６からの入力に基づいて、メディア・コンテンツ・マネージャ１０２は、レンダリングするためのメディア・データ１３２を作成し、ＩＣマネージャ１０４は、レンダリングするためのＩＣデータ１３４を作成する。一実施形態においては、プレゼンテーション・マネージャ１０６は、メディア処理パイプライン１５９を制御する。
【００２７】
タイミング信号管理ブロック１０８は、様々なタイミング信号１５８を生成し、これらのタイミング信号を使用して、メディア・コンテンツ・マネージャ１０２およびＩＣマネージャ１０４によってそれぞれメディア・データ１３２およびＩＣデータ１３４の作成および生成についてのタイミングを制御する。とりわけ、タイミング信号１５８を使用して、メディア・データ１３２とＩＣデータ１３４のフレームレベルの同期化を実現する。タイミング信号管理ブロック１０８とタイミング信号１５８の詳細は、図４に関連して以下でさらに説明される。
【００２８】
ミキサ／レンダラは、ビデオ・プレーン（図示されず）中においてメディア・データ１３２をレンダリングし、グラフィックス・プレーン（図示されず）中においてＩＣデータ１３４をレンダリングする。グラフィックス・プレーンは一般に、必ずしもそうとは限らないが、ビデオ・プレーン上にオーバーレイされて、そのユーザについての再生されるプレゼンテーション１２７を生成する。
【００２９】
図１を引き続き参照して、図２は、プレイリスト１２８内のタイトル１３１についてのサンプルのプレゼンテーションタイムライン１３０の図式的説明図である。時間が、水平軸２２０上に示される。メディア・コンポーネント１２２（クリップ１２３が示される）とＩＣコンポーネント１２４（インタラクティブ・オブジェクト１２５を提示するアプリケーション１５５が示される）についての情報が、垂直軸２２５上に示される。
【００３０】
メディア・コンポーネント１２２に関して、４つのクリップ１２３、すなわち第１のメディア・クリップ（「メディア・クリップ１」）２３０と、第２のメディア・クリップ（「メディア・クリップ２」）２５０と、第３のメディア・クリップ（「メディア・クリップ３」）２５１と、第４のメディア・クリップ（「メディア・クリップ４」）２５３が示されている。メディア・クリップ１  ２３０は、メディア処理パイプライン１（図１に示される）を経由してゼロ秒から１０秒まで再生可能であり、メディア・クリップ２  ２５０は、メディア処理パイプライン２（やはり図１に示される）を経由して８秒から１５秒まで再生可能であり、メディア・クリップ３  ２５１は、メディア処理パイプライン１を経由して１０秒から２０秒まで再生可能であり、メディア・クリップ４  ２５３は、メディア処理パイプライン２を経由して３０秒から４０秒まで再生可能である。メディア・コンテンツは、２０秒と３０秒の間、再生のためにプレイリスト１２８によってスケジュールされないが、アプリケーション１５５は、メディア処理パイプライン１を経由して２０秒と３０秒の間、再生のためにスクリプト・クリップ２５５を提示することができる。スクリプト・クリップは、アニメーション化されたサムネールなどのメディア・クリップであり、このメディア・クリップは、一般にプレイリスト中には含まれないが、このメディア・クリップは、再生されるプレゼンテーション１２７内において（メディア・コンテンツが再生のためにスケジュールされないときなどの）時にはアプリケーションを経由してオプションとして呼び出すことができる。
【００３１】
図１に関連して上記されるように、ＩＣコンポーネント１２４に関して、１つのアプリケーションは、メニュー２８０のユーザ選択可能なアイテム（例えば、関連するテキストまたはグラフィックスを伴うボタン）を提供するある種のインタラクティブ・オブジェクトを提示するための役割を担う。別のアプリケーションは、グラフィック・オーバーレイ２９０を提供する１つまたは複数のインタラクティブ・オブジェクトを提示するための役割を担う。図に示されるように、メニュー２８０は、メディア・クリップ１から４と同時に表示され、グラフィック・オーバーレイ２９０は、メディア・クリップ１  ２３０と、メディア・クリップ２の一部分と同時に再生可能である。第３のアプリケーションは、プレゼンテーションのためにメディア・コンテンツがスケジュールされていないときにスクリプト・クリップ２５５を提示するための役割を担う（図に示されるように、スクリプト・クリップ２５５は、２０秒と３０秒の間に再生可能である）。
【００３２】
タイトル１３１がユーザに対して提示可能である、水平軸２２０に沿った特定の時間量は、タイトル１３１の再生継続時間２９２と称される。再生継続時間２９２内の特定の時刻は、タイトル時刻（ｔｉｔｌｅ  ｔｉｍｅ）と称される。７つのタイトル時刻（「ＴＴ」）（ＴＴ１  ２９３、ＴＴ２  ２９４、ＴＴ３  ２９５、ＴＴ４  ２９６、ＴＴ５  ２９７、ＴＴ６  ２９８、ＴＴ７  ２９９）が、プレゼンテーションタイムライン１３０上に示される。タイトルは、一回再生することができ、あるいは（例えば、ループする方法で）複数回再生することができるので、再生継続時間２９２は、タイトル１３１の１つの反復に基づいて決定される。再生継続時間２９２は、それだけには限定されないがあらかじめ決定された再生速度（例えば、通常の再生速度、または１ｘの再生速度）、あらかじめ決定されたフレーム・レート、あるいはあらかじめ決定されたタイミング信号ステータスを含めて望ましい任意の基準に対して決定することができる。再生速度、フレーム・レートおよびタイミング信号は、図４に関連して以下でさらに説明される。
【００３３】
ディスプレイ技法や、タイトルごとのクリップとインタラクティブ・オブジェクトの間の再生シーケンスおよびタイミング関係に関する特定の規則などの実施形態特有のファクタは、タイトルの再生継続時間、およびその中のタイトル時刻の正確な値に対して影響を及ぼし得ることが理解されるであろう。再生継続時間およびタイトル時刻という用語は、そのようなすべての実施形態特有の詳細を包含するように意図される。
【００３４】
ＩＣコンポーネント１２４に関連するコンテンツを提示可能なタイトル時刻は、一般にあらかじめ決定されるが、ユーザがそのようなコンテンツと相互作用するときに取られるアクションは、再生されるプレゼンテーション１２７が再生している間にユーザ入力に基づいて決定することだけができることが理解されるであろう。例えば、ユーザは、再生されるプレゼンテーション１２７の再生中にそれに関連するある種のアプリケーション、インタラクティブ・オブジェクト、および／または追加のコンテンツを選択し、アクティブにし、あるいは非アクティブにすることができる。
【００３５】
再生継続時間２９２内の他の時刻および／または継続時間はまた、本明細書中において定義され、説明される。メディア・プレゼンテーション期間２４０は、その間に特定のクリップ１２３に関連する特定のコンテンツが再生可能である、再生継続時間２９２の開始する時刻と終了する時刻によって定義される。例えば、メディア・クリップ１  ２３０は、開始するタイトル時刻ＴＴ１  ２９３と終了するタイトル時刻ＴＴ３  ２９５によって定義されるプレゼンテーション期間２４０を有し、メディア・クリップ２  ２５０は、開始するタイトル時刻ＴＴ２  ２９４と終了するタイトル時刻ＴＴ４  ２９６によって定義されるプレゼンテーション期間２４０を有し、メディア・クリップ３  ２５１は、開始するタイトル時刻ＴＴ３  ２９５と終了するタイトル時刻ＴＴ５  ２９７によって定義されるプレゼンテーション期間２４０を有し、メディア・クリップ４  ２５３は、開始するタイトル時刻ＴＴ６  ２９８と終了するタイトル時刻ＴＴ７  ２９９によって定義されるプレゼンテーション期間２４０を有し、スクリプト・クリップ２５５は、開始するタイトル時刻ＴＴ５  ２９７と終了するタイトル時刻ＴＴ６  ２９８によって定義されるプレゼンテーション期間２４０を有する。
【００３６】
事前レンダリング時間２２０は、特定のクリップ１２３が、可変時間オフセット値に基づいた量にだけプレゼンテーションタイムライン１３０に基づいて再生可能であるタイトル時刻に先立つタイトル時刻（またはそれらの期間）である（時間オフセット値および事前レンダリング時間２２０の決定は、図５および６に関連して以下で説明される）。
【００３７】
（アプリケーション・プレゼンテーション期間やアプリケーション再生継続時間など）アプリケーション１５５に関連する時間間隔は、図３に関連して以下で定義され、説明される。
【００３８】
図１および２に対する参照を継続して、図３は、単一のアプリケーション１５５の機能ブロック図である。アプリケーション１５５は、全体として（図２に示される）インタラクティブ・オブジェクト２８０、２９０、および２５５を提示するための役割を担うアプリケーションを表す。アプリケーション１５５は、命令３０４（以下でさらに説明される）を含んでいる。アプリケーション１５５は、それに関連してアプリケーション再生継続時間３２０と、１つまたは複数のアプリケーション・プレゼンテーション期間３２１とを有する。
【００３９】
アプリケーション再生継続時間３２０は、その内部でアプリケーション１５５に関連するインタラクティブ・オブジェクト１２５が、再生されるプレゼンテーション１２７の受信者に提示可能であり、かつ／またはその受信者によって選択可能である、再生継続時間２９２の量（一部分または全部）に関した特定の時間量である。例えば図２の場合には、メニュー２８０についての役割を担うアプリケーション１５５は、ＴＴ１  ２９３とＴＴ７  ２９９との間の時間量から構成されるアプリケーション再生継続時間を有する。グラフィック・オーバーレイ２９０についての役割を担うアプリケーションは、ＴＴ１  ２９３とＴＴ３  ２９５との間の時間量から構成されるアプリケーション再生継続時間を有する。スクリプト・クリップ２５５についての役割を担うアプリケーションは、ＴＴ５  ２９７とＴＴ６  ２９８との間の時間量から構成されるアプリケーション再生継続時間を有する。
【００４０】
特定のアプリケーションに関連するアプリケーション再生継続時間３２０が、プレゼンテーションタイムライン上で概念化されるときに得られる開始するタイトル時刻と終了するタイトル時刻とによって定義される期間は、アプリケーション・プレゼンテーション期間３２１と称される。例えば、図２を参照すると、メニュー２８０についての役割を担うアプリケーションは、ＴＴ１  ２９３に開始され、ＴＴ７  ２９９に終了するアプリケーション・プレゼンテーション期間を有し、グラフィック・オーバーレイ２９０についての役割を担うアプリケーションは、ＴＴ１  ２９３に開始され、ＴＴ３  ２９５に終了するアプリケーション・プレゼンテーション期間を有し、スクリプト・クリップ２５５についての役割を担うアプリケーションは、ＴＴ５  ２９７に開始され、ＴＴ６  ２９８に終了するアプリケーション・プレゼンテーション期間を有する。
【００４１】
一部の場合においては、アプリケーション１５５は、複数のページを有することができる（ページは、示されていない）。ページは、特定のアプリケーション再生継続時間３２０および／またはアプリケーション・プレゼンテーション期間３２１内において同時に提示可能な１つまたは複数のインタラクティブ・オブジェクトの論理的グループ化である。特定のページに関連するインタラクティブ・オブジェクトは、同時に、シリアルに、またはそれらの組合せで提示することができる。与えられたタイトルに関連するアプリケーションおよびページの数と、各アプリケーションまたはページに関連するインタラクティブ・オブジェクトは、一般に設計選択の問題となる論理的な区別である。例えば、特定の開始ページの指定は必要ではなく、アプリケーションの複数のページは、同時に提示することができ、あるいはアプリケーションは、ページなしに（または何も含まない最初のページから）開始することができる。アプリケーションのページは、アプリケーションおよびスクリプトをそのままにしたままロードし、またアンロードすることができる。アプリケーションの実行中にメモリにロードされるアプリケーションに関連するリソースの数または量を管理する（例えば、制限する）ことが望ましいときには、複数のページが、使用されてもよい。
【００４２】
実行されるときに、命令３０４は、ユーザ入力に基づいて、アプリケーション１５５に関連するインタラクティブ・オブジェクト１２５のレンダリングに関連したタスクを（他のタスクのうちでもとりわけ）実行する。１タイプのユーザ入力（またはその結果）は、ユーザ・イベントである。ユーザ・イベントは、ＩＣコンポーネント１２４に関連する再生されるプレゼンテーション１２７の受信者によって開始されるアクションまたは出来事（ｏｃｃｕｒｒｅｎｃｅ）である。ユーザ・イベントは、一般に、必ずしもそうとは限らないが、非同期である。ユーザ・イベントの例は、それだけには限定されないが、メニュー２８０内のボタンの選択、グラフィック・オーバーレイ２９０に関連する円の選択、スクリプト・クリップ２５５の呼出しなど、再生されるプレゼンテーション１２７内のインタラクティブ・オブジェクトを伴うユーザ相互作用を含んでいる。そのような相互作用は、キーボード、リモコン、マウス、スタイラス、または音声コマンドを含めて、現在知られている、または後になって開発される任意のタイプのユーザ入力デバイスを使用して行われることができる。アプリケーション１５５は、システム・イベント、ドキュメント・オブジェクト・モデル・イベント、他のタイプのイベントなど、ユーザ・イベント以外のイベントに応答することもできることが理解されるであろう。
【００４３】
一実施形態においては、命令３０４は、コンピュータ読取り可能媒体（図８および９に関連して以下でさらに説明される）中における、符号化されるコンピュータ実行可能命令である。本明細書中において述べられる例においては、命令３０４は、スクリプト３０８またはマークアップ要素３０３のいずれかを使用して実施される。スクリプトまたはマークアップ要素は、単独で使用することもできるが、一般にスクリプトとマークアップ要素の組合せは、高精細ＤＶＤ映画についての包括的な組のインタラクティブ機能の生成を可能にする。
【００４４】
スクリプト３０８は、命令プログラミング言語など非宣言的なプログラミング言語で書かれた命令３０４を含んでいる。命令プログラミング言語は、プロセッサによって実行されるべきコマンドのシーケンスの観点から計算を記述する。スクリプト３０８が使用されるほとんどの場合には、スクリプトを使用してユーザ・イベントに応答する。しかしながら、スクリプト３０８は、準備が整っておらず、あるいはマークアップ要素だけを使用して効率的に実施される処理課題など、他の場合にも有用である。そのような場合の例は、スクリプト・クリップ２５５のプレゼンテーション、システム・イベント、状態管理、およびリソース管理（例えば、キャッシュされ、または恒久的に記憶されたリソースにアクセスすること）の処理態様を含んでいる。一実施形態においては、スクリプト３０８は、ＥＣＭＡ−２６２仕様においてＥＣＭＡインターナショナルによって定義されるようなＥＣＭＡＳｃｒｉｐｔである。ＥＣＭＡ−２６２に含まれる共通のスクリプティング・プログラミング言語は、ＪａｖａＳｃｒｉｐｔとＪＳｃｒｉｐｔを含んでいる。一部の設定においては、ＥＣＭＡ−３２７などのＥＣＭＡＳｃｒｉｐｔ２６２のサブセットを使用して３０８を実施することが望ましいこともある。
【００４５】
マークアップ要素３０３は、拡張可能マークアップ言語（「ＸＭＬ」）などの宣言的プログラミング言語で書かれた命令３０４を表す。ＸＭＬにおいては、要素は、開始タグおよび終了タグを使用して、ＸＭＬドキュメント内において定義される情報の論理的ユニットである。ＸＭＬドキュメントは、エンティティと呼ばれる（コンテナとも呼ばれる）ストレージユニットから成るデータ・オブジェクトであり、これらは、解析された、または未解析のデータのいずれかを含む。解析されたデータは、キャラクタからなり、これらのキャラクタの一部は、キャラクタ・データを形成し、これらのキャラクタの一部は、マークアップを形成する。マークアップは、ドキュメントのストレージレイアウトと論理構造の記述を符号化する。ＸＭＬドキュメント中には１つのルート要素が存在し、このルート要素のどの部分も、他の任意の要素のコンテンツ中には現れない。他のすべての要素では、開始タグと終了タグは、他の要素のコンテンツ内にあり、お互いの内部でネストしている。
【００４６】
ＸＭＬスキーマは、ＸＭＬドキュメントのクラスの１つまたは複数のシンタックスの定義である。一部のＸＭＬスキーマは、ワールドワイドウェブコンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）（「Ｗ３Ｃ」）によって定義される。他のＸＭＬスキーマは、高精細ビデオについてのＤＶＤ仕様に準拠したＸＭＬドキュメントと共に使用するために、また他の使用のためにＤＶＤフォーラムによって公布されている。高精細ＤＶＤ映画についての他のスキーマ、ならびに他のインタラクティブ・マルチメディア・プレゼンテーションについてのスキーマも可能であることが、理解されるであろう。
【００４７】
高レベルにおいて、ＸＭＬスキーマは、（１）要素名を要素型に関連づけるグローバル要素宣言と、（２）その型の要素についての属性、副要素、およびキャラクタ・データを定義する型定義を含んでいる。１要素の属性は、１つの属性が単一の要素プロパティを指定して、名前／値の対を使用して要素の個々のプロパティを指定する。
【００４８】
図１〜３に対する参照を継続して、図４は、タイミング信号管理ブロック１０８の様々なコンポーネントと、タイミング信号１５８とをより詳細に示す簡略化された機能ブロック図である。
【００４９】
タイミング信号管理ブロック１０８は、プレゼンテーション・システム１００内で特定の時刻または期間を定義するために使用されるクロックおよび／またはタイミング信号の処理の役割を担う。図に示されるように、連続的なタイミング信号４０１がクロック・ソース４０２によってあらかじめ決定されたレートで生成される。クロック・ソース４０２は、汎用コンピュータや専用電子デバイスなどの処理システムに関連するクロックとすることができる。クロック・ソース４０２によって生成されるタイミング信号４０１は、実世界のクロックのように絶えず変化する（実時間の１秒以内に、クロック・ソース４０２は、あらかじめ決定されたレートで１秒の価値のあるタイミング信号４０１を生成する）。
【００５０】
タイミング信号４０１は、ＩＣフレーム・レート・カルキュレータ４０４と、メディア・フレーム・レート・カルキュレータ４０６と、時間基準カルキュレータ４０８と、時間基準カルキュレータ４９０とに入力される。ＩＣフレーム・レート・カルキュレータ４０４は、タイミング信号４０１に基づいて、タイミング信号４０５を生成する。タイミング信号４０５は、「ＩＣフレーム・レート」と称され、このＩＣフレーム・レートは、ＩＣデータ１３４のフレームがＩＣマネージャ１０４によって生成されるレートを表す。ＩＣフレーム・レートの１つの例示の値は、秒当たり３０フレームである。しかし、ＩＣフレーム・レート４０５の周波数（「プレゼンテーション・クロック周波数」と称される）は、動的に変化することもできる。プレゼンテーション・システム１００の様々なコンポーネント内の処理負荷は、プレゼンテーション・クロック周波数に基づいて変化することができることも理解されるであろう。ＩＣフレーム・レート・カルキュレータ４０４は、タイミング信号４０１のレートを減少させ、または増大させて、タイミング信号４０５を生成することもできる。
【００５１】
ＩＣデータ１３４のフレームは、一般に、有効なアプリケーション１５５および／またはそのページごとに、関連するユーザ・イベントによる有効なアプリケーションおよび／またはページに関連する各インタラクティブ・オブジェクト１２５のレンダリングを含んでいる。例示の目的のために、有効なアプリケーションは、再生継続時間２９２の現行のタイトル時刻が、プレゼンテーションタイムライン１３０に基づいて含まれるアプリケーション・プレゼンテーション期間３２１を有するものである。アプリケーションは、複数のアプリケーション・プレゼンテーション期間を有することができることが理解されるであろう。特定の区別が、ユーザ入力またはリソース使用可能性に基づいてアプリケーションの状態について本明細書中では行われないことも理解されるであろう。
【００５２】
メディア・フレーム・レート・カルキュレータ４０６はまた、タイミング信号（タイミング信号４０７）をタイミング信号４０１に基づいて生成する。タイミング信号４０７は、「メディア・フレーム・レート」と称され、このメディア・フレーム・レートは、メディア・データ１３２のフレームが、メディア・コンテンツ・マネージャ１０２によって生成されるレートを表す。メディア・フレーム・レートは、ＩＣフレーム・レート４０５と同じでも、あるいはそれとは異なっていてもよい。メディア・フレーム・レートの１つの例示の値は、秒当たり２４フレームである。メディア・フレーム・レート４０７の周波数は、動的に変化することができるが、メディア・フレーム・レート・カルキュレータ４０６は、タイミング信号４０１のレートを減少させ、または増大させてタイミング信号４０７を生成することもできる。
【００５３】
クロック・ソース４７０は、タイミング信号４７１を生成し、このタイミング信号は、クリップ１２３に関連する情報が、メディア・ソース１６１から生成されるレートを支配する。クロック・ソース４７０は、クロック４０２と同じクロックであり、あるいはクロック・ソース４０２と同じクロックに基づいていてもよい。代わりに、クロック４７０および４０２は、全く異なっており、かつ／または異なるソースを有することもできる。同様に、メディア・フレーム・レート４０７は、タイミング信号４７１と同じであり、またはタイミング信号４７１と同じ値に基づいていることもでき、あるいはタイミング信号は、異なっていることもできる。
【００５４】
クロック・ソース４７０は、メディア状態インジケータ信号４８１に基づいてタイミング信号４７１のレート（これは、「メディア・クロック周波数」と称される）を調整し、このメディア状態インジケータ信号は、メディア状態インジケータ・ブロック４８０によって生成される。メディア状態インジケータ信号４８１は、特定のメディア・ソース１６０（図１に示される）からのビデオ情報、オーディオ情報、またはデータ情報の特定の検索状態を表す。そのような検索状態は、ユーザ入力に、またはプレイリスト１２８（やはり図１に示される）のコンテンツに直接に、または間接に基づいていてもよい。メディア・クロック周波数はまた、符号化レートや復号化レートなどのメディア・ソース特性１６２に基づいて変化することもできる。したがって、メディア・クロック周波数は、クロックごとに変化することができる。
【００５５】
ある種のユーザ入力は、再生されるプレゼンテーション１２７の再生速度と、したがって特定のメディア・ソース１６０からのビデオ情報、オーディオ情報、またはデータ情報の検索の速度を変化させる。例えば、再生されるプレゼンテーション１２７は、通常速度で順方向に進むことができ、また通常速度よりも速い、または遅い速度で順方向と逆方向の両方に進むこともできる。通常速度は、相対的用語であること、および通常速度は、プレゼンテーションごとに、またクリップごとに変化することができることが理解されるであろう。
【００５６】
特定のメディア・ソースからのビデオ情報、オーディオ情報、またはデータ情報の検索状態は、再生されるプレゼンテーション１２７の様々な再生速度に基づいて定義することができる。例えば、通常の再生検索状態は、再生されるプレゼンテーション１２７が、通常速度で順方向に進むときに行われるように定義される。低速順方向検索状態は、再生されるプレゼンテーション１２７が、順方向であるが実時間よりも低速で進むときに行われるように定義される。高速順方向検索状態は、再生されるプレゼンテーション１２７が、順方向であるが実時間よりも高速に進むときに行われるように定義される。低速逆方向検索状態は、再生されるプレゼンテーション１２７が、逆方向であるが、実時間よりも低速で進むときに行われるように定義される。高速逆方向検索状態は、再生されるプレゼンテーション１２７が、逆方向であるが、実時間よりも高速で進むときに行われるように定義される。
【００５７】
高速逆方向検索状態および高速順方向検索状態の間に、ある種のメディア・コンテンツの再生は、しばしばスキップされる。他のユーザ入力は、ユーザが、映画の一部分から別の部分へとジャンプするときなどに（例えば、メニュー２８０などのインタラクティブ・メニューからの選択を行うことにより）ある種のコンテンツの再生をスキップさせることができる。ユーザはまた、様々な場所で様々な時刻に映画を開始させ、停止させることもできる。
【００５８】
所在を見出すこと、および／または特定のメディア・ソース１６０から特定のクリップ１２３に関連するビデオ情報、オーディオ情報、またはデータ情報を再生することを開始することに関連する検索状態もまた、定義することができる。例えば、閉鎖状態（ｃｌｏｓｅｄ  ｓｔａｔｅ）は、特定のクリップ１２３に関連するビデオ情報、オーディオ情報、またはデータ情報が、特定のメディア・ソース１６０から読み取られる前に起こるように定義される。準備状態（ｒｅａｄｙ  ｓｔａｔｅ）は、特定のメディア・ソース１６０からのビデオ情報、オーディオ情報、またはデータ情報の第１のグループのサンプルが、復号化されており、レンダリングする準備が整っているときに起こるように定義される。事前ローリング状態（ｐｒｅ−ｒｏｌｌｉｎｇ  ｓｔａｔｅ）は、ステップが、レンダリングするために特定のメディア・ソース１６０からビデオ情報、オーディオ情報、またはデータ情報の第１のグループのサンプルを作成するために取られているときに閉鎖状態と準備状態との間で起こるように定義される。そのようなステップは、それだけには限定されないが、特定のメディア・ソース１６０から情報を読み取ること、ならびにその情報を逆多重化すること、復号化すること、および／または暗号解読することを含んでいる。特定のメディア・ソースからの情報の第１のグループのサンプルは、必ずしも特定のクリップ１２３内で生ずる第１のグループのサンプルであるとは限らないこと、およびどのように第１のグループのサンプルが定義されるかは、符号化または復号化のフォーマットやプロトコルなどのファクタに基づいて、プレゼンテーションごとに変化し得ることが、理解されるであろう。
【００５９】
経過クリップ再生時間（Ｅｌａｐｓｅｄ  ｃｌｉｐ  ｐｌａｙ  ｔｉｍｅ）４５２は、アクティブ・クリップ１２３に関連する個々のプレゼンテーション期間２４０内において経過している時間量を表す。本明細書中における説明の目的のために、アクティブ・クリップは、プレゼンテーションタイムライン１３０に基づいた、再生継続時間２９２の現行のタイトル時刻が含まれるプレゼンテーション期間２４０（図２に示される）を有するものである。時間基準カルキュレータ４５４は、時間基準４５２を受け取り、メディア時間基準４５５を生成する。メディア時間基準４５５は、１つまたは複数の時間基準４５２に基づいて経過している再生継続時間２９２の総量を表す。一般に、２つ以上のクリップが同時に再生されているときには、たった１つの時間基準４５２を使用して、メディア時間基準４５５を生成する。メディア時間基準４５５と、どのようにしてメディア時間基準４５５が複数のクリップに基づいて決定されるかを決定するために使用される特定のクリップは、実施形態の好みの問題である。
【００６０】
時間基準カルキュレータ４０８は、タイミング信号４０１と、メディア時間基準４５５と、メディア状態インジケータ信号４８１とを受け取り、タイトル時刻基準４０９を生成する。タイトル時刻基準４０９は、時間基準カルキュレータ４０８に対する１つまたは複数の入力に基づいた再生継続時間２９２内に経過している時間の総量を表す。
【００６１】
時間基準カルキュレータ４９０は、タイミング信号４０１とタイトル時刻基準４０９とを受け取り、１つ（または複数）のアプリケーション時間基準４９２と１つ（または複数）のページ時間基準４９４とを生成する。単一のアプリケーション時間基準４９２は、連続したタイミング信号４０１に関して、（図３に関連して示され、説明される）特定のアプリケーション再生継続時間３２０の経過時間量を表す。タイトル時刻基準４０９が、現行のタイトル時刻が特定のアプリケーションのアプリケーション・プレゼンテーション期間３２１に含まれることを示すときに、アプリケーション時間基準４９２は、決定される。アプリケーション時間基準４９２は、アプリケーション・プレゼンテーション期間３２１の完了時にリセットする（例えば、非アクティブになり、あるいは最初からやり直す）。アプリケーション時間基準４９２は、ユーザ・イベントに対する応答や、トリック再生が行われるときなど、他の状況においてもリセットすることができる。
【００６２】
ページ時間基準４９４は、連続したタイミング信号４０１に関して、アプリケーションの特定のページについての再生継続時間内の経過時間の量を表す。タイトル時刻基準４０９が、現行のタイトル時刻が適用可能なページ・プレゼンテーション期間（図示されず）内に含まれることを示すときに、アプリケーションの特定のページについてのページ時間基準４９４は、決定される。ページ・プレゼンテーション期間は、アプリケーション・プレゼンテーション期間３２１（図３に示される）の副次的期間である。１つ（または複数）のページ時間基準４９４は、適用可能なページ・プレゼンテーション期間（図示されず）の完了時にリセットすることができる。ページ時間基準４９４は、ユーザ・イベントに対する応答や、トリック再生が行われるときなど、他の状況においてもリセットすることができる。アプリケーション・プレゼンテーション期間３２１の副次的期間および／またはページ・プレゼンテーション期間とすることもできるインタラクティブ・オブジェクト・プレゼンテーション期間もまた定義可能であることが理解されるであろう。
【００６３】
表１は、プレゼンテーション・システム１００による再生されるプレゼンテーション１２７の再生中における例示の出来事と、アプリケーション時間基準４９２、ページ時間基準４９４、タイトル時刻基準４０９、およびメディア時間基準４５５に対するそのような出来事の影響を示している。
【００６４】
【表１】
2009502049.tif 000003
様々なタイムライン、クロック・ソース、タイミング信号、およびタイミング信号基準にアクセスすることは、プレゼンテーション・システム１００の能力を高めて、再生されるプレゼンテーション１２７内のＩＣデータ１２４とメディア・データ１３２とのフレームレベルの同期化を達成し、メディア・コンポーネント１２２を備えるクリップのグリッチフリー・プレゼンテーションを優先させる。
【００６５】
図１〜４に対する参照を継続して、図５は、グリッチフリーな方法で、図２のプレゼンテーションタイムライン１３０上に示されるクリップ１２３など、特定のプレゼンテーションのメディア・コンテンツを提示する、プレゼンテーション・システム１００などのプレゼンテーション・システムの能力を高めるための一方法のフローチャートである。
【００６６】
本方法は、ブロック５００から開始され、ブロック５０２へと続き、ここで第１の時刻において第１のメディア・ソースからの第１の組のメディア・サンプルの再生が開始される。次に、ブロック５０４において、第２のメディア・ソースから第２の時刻に再生可能な第２の組のメディア・サンプルが識別される。第２のメディア・ソースの静的特性が、ブロック５０６において確認される。プレゼンテーション・システムの動的特性も、ブロック５０８において確認される。次に、ブロック５１０において、時間オフセット値が、静的特性と動的特性に基づいて決定される。最後に、ブロック５１２において、第２の組のメディア・サンプルが、時間オフセット値に基づいた時刻に事前レンダリングされる。
【００６７】
例示の目的のために、図５のフローチャートの方法が、とりわけプレゼンテーションタイムライン１３０（図２に示される）に従ってユーザに対して提示可能なメディア・コンポーネント１２２とアプリケーション１５５に関して、プレゼンテーション・システム１００の場合について説明される。
【００６８】
図２を参照すると、処理リソースおよび復号化リソースが限られている状況においては、メディア・クリップ１  ２３０、メディア・クリップ２  ２５０、メディア・クリップ３  ２５１、メディア・クリップ４  ２５３のグリッチフリー再生を保証すること、およびスクリプト・クリップ２５５の再生時間を最大にすることが望ましい。一実施形態においては、プレゼンテーション・システム１００は、１つの中央処理装置と、１つのグラフィックス処理ユニットと、１つのデコーダを有するが、他の構成も可能である。したがって、各クリップの少なくとも一部分についての（図４に関連して示され説明されるメディア状態インジケータ信号４８１によって表される）準備検索状態が、そのクリップがプレゼンテーションタイムライン１３０上でのプレゼンテーションのためにスケジュールされるタイトル時刻において、あるいはそのタイトル時刻の前に達せられることが望ましい。この点について、（図４に関連しても説明される）事前ローリング検索状態を完了するための十分な時間を残すことが重要であるが、スクリプト・クリップ２５５または他のクリップの再生など、プレゼンテーション・システム内で行われる他の重要なアクティビティに対する必要以上の悪影響を最小にすることも重要である。特定のクリップについての事前ローリング検索状態内で行われる事前レンダリング・アクティビティは、別のクリップが停止されることをもたらす可能性がある。必要以上の悪影響を最小にすることができる一方法は、クリップが、プレゼンテーションのためにスケジュールされるタイトル時刻の近くで、またはタイトル時刻において事前ローリング検索状態を完了することによる。
【００６９】
１つのインスタンスにおいては、ＴＴ３  ２９５において、またはＴＴ３  ２９５の前にメディア・クリップ３  ２５１の少なくとも一部分についての準備状態に達することが望ましく、このＴＴ３  ２９５は、遷移が、メディア・パイプライン１を経由したメディア・クリップ１  ２３０の再生と、メディア・パイプライン２を経由したメディア・クリップ３  ２５１の再生との間で行われる時刻である。ＴＴ３  ２９５における遷移は、メディア・クリップ２  ２５０が、メディア・パイプライン１を経由して再生している（したがって、既存のメディア処理負荷が存在する）間に行われるので、ＴＴ３  ２９５におけるまで、またはＴＴ３  ２９５のあまりにも近くまで待って、メディア・クリップ３  ２５１の一部分についての事前ローリング検索状態に入ることは、ユーザが、ＴＴ３においてグリッチに直面することをもたらす可能性がある。例えば、ビデオが、ＴＴ３において再生についてスケジュールされる場合、そのビデオは、数秒間にわたって一時停止することもあり、何らかのビデオが脱落させられることもある。オーディオがＴＴ３において再生についてスケジュールされる場合には、数秒間の沈黙が存在することもあり、何らかのオーディオが脱落させられることもある。グリッチは、メディア・クリップ２  ２５０、メディア・クリップ３  ２５１、またはメディア・クリップ２  ２５０とメディア・クリップ３  ２５１の両方の再生に関して生ずることもある。
【００７０】
別のインスタンスにおいては、メディア・クリップ４  ２５３の少なくとも一部分についての準備状態に達することが望ましく、このメディア・クリップ４は、ＴＴ６  ２９８において、あるいはＴＴ６  ２９８の前にメディア・パイプライン２を経由して再生される。ＴＴ６  ２９８における遷移は、スクリプト・クリップ２５５が、メディア・パイプライン１を経由して再生されている間に行われるので、ＴＴ６  ２９８におけるまで、あるいはＴＴ６  ２９８のあまりにも近くまで待って、メディア・クリップ４  ２５３の一部分についての事前ローリング検索状態に入ることは、ユーザがＴＴ６においてグリッチに直面することをもたらす可能性がある。しかしながら、あまりにもすぐにメディア・クリップ４  ２５３の一部分についての事前ローリング検索状態に入ることは、スクリプト・クリップ２５５の再生時間を減少させるという望ましくない影響がある可能性がある。
【００７１】
したがって、メディア・クリップ３  ２５１とメディア・クリップ４  ２５３の少なくとも一部分についての事前レンダリング時間２２０を決定することが望ましい。プレゼンテーション・コンテンツ１２０／再生されるプレゼンテーション１２７の再生が順方向に行われるときには、メディア・クリップ３  ２５１についての事前レンダリング時間は、ＴＴ３  ２９５に先立って起こり、メディア・クリップ４  ２５３についての事前レンダリング時間２２０は、ＴＴ６  ２９８に先立って起こる。事前レンダリング時間は、逆方向に行われる再生について提供することもできることが理解されるであろう。
【００７２】
事前レンダリング時間２２０は、一般に時間オフセット値に基づいて決定され、この時間オフセット値は、先行する１つまたは複数のクリップの再生中に１回または複数回、計算される。一実施形態においては、時間オフセット値を決定することに関連する１つまたは複数のステップは、先行する１つ（または複数）のクリップの再生が開始されるときに実行することができ、１つまたは複数のステップは、次のクリップをレンダリングするための時間が近づくときに（しかも、事前レンダリング時間が到達される前に）先行する１つ（または複数）のクリップの再生中の他の時に反復することができる。
【００７３】
時間オフセット値の一態様は、その後に再生可能なクリップをそこから受信することができるメディア・ソース１６０の１つまたは複数の（図１に示される）メディア・ソース特性１６２を確認することにより決定される。メディア・ソースのロケーション、（符号化または復号化のフォーマットまたはプロトコル、ＧＯＰサイズ設定、圧縮設定、品質設定など）コーデックのパラメータまたは設定、（暗号化型、フォーマット、プロトコルなど）暗号化のパラメータまたは設定などのメディア・ソース特性１６２は、特定のクリップまたはその一部分についての事前ローリング検索状態を完了するために必要とされる処理リソースまたは復号化リソース（そしてそれによって時間）に影響を及ぼす。復号化されるべきクリップの一部分のサイズはまた、事前ローリング検索状態を完了するために必要とされる時間に影響を及ぼし得る静的特性でもある。
【００７４】
メディア・クリップ３  ２５１とメディア・クリップ４  ２５３の一部分についての事前レンダリング時間を決定するインスタンスにおいては、それぞれメディア・ソース１とメディア・ソース２の１つまたは複数のメディア・ソース特性１６２が確認される。一実施形態においては、メディア・ソース１の１つまたは複数のメディア・ソース特性１６２は、テーブルなどのデータ構造に記憶される。メディア・ソース２の１つまたは複数のメディア・ソース特性１６２はまた、テーブルなどのデータ構造に記憶される。メディア・ソース１とメディア・ソース２のメディア・ソース特性を記憶するデータ構造は、同じデータ構造であっても、あるいは異なるデータ構造であってもよい。１つ（または複数）のデータ構造は、メディア・コンテンツ・マネージャ１０２によってアクセスされ、または記憶され、プレゼンテーション・マネージャ１０６へと伝えられる。メディア・コンテンツ・マネージャ１０２は、データ構造それら自体、あるいはそれらのデータ構造に基づいた初期値またはデフォルト値を有する時間オフセット値を伝えることができる。代わりに、プレゼンテーション・マネージャ１０６（またはプレゼンテーション・システム１００の別のコンポーネント）は、直接に１つ（または複数）のメディア・ソース特性および／または１つ（または複数）のデータ構造にアクセスし、初期の時間オフセット値を決定することもある。
【００７５】
時間オフセット値の第２の態様は、プレゼンテーション・システム１００の１つまたは複数の動的特性を確認することにより決定される。動的特性は、プレゼンテーション・システム１００のオペレーション中に変化することができる処理オペレーションまたは復号化オペレーションに影響を及ぼす状態を表す。動的特性の例は、それだけには限定されないが、メディア・クロック周波数、プレゼンテーション・クロック周波数、メディア処理負荷、一般的処理負荷、およびメディア状態インジケータ信号４８１の１つ（または複数）の値を含んでいる。
【００７６】
メディア・クリップ３  ２５１と、メディア・クリップ４  ２５３の一部分についての事前レンダリング時間を決定するインスタンスにおいては、プレゼンテーション・システム１００の１つまたは複数の動的特性は、特定のメディア・ソースの１つ（または複数）の静的特性に関して確立される１つ（または複数）の初期時間オフセット値に影響を及ぼす（例えば、それを増大させる）可能性がある。一般に、プレゼンテーション・システム１００内の処理負荷または復号化負荷が高いときに、より長い時間が、事前ローリング検索状態を完了するために必要とされ、時間オフセット値は、増大させられる。
【００７７】
処理負荷および／または復号化負荷は、メディア処理負荷が増大させられる（例えば、複数のクリップが同時に再生され、かつ／またはメディア・クロック周波数が高い）とき、グラフィック処理負荷が増大させられる（例えば、プレゼンテーション・クロック周波数が高い）とき、一般的処理負荷が増大させられる（例えば、アンチウィルス・プログラムなど、他のプログラムが同時に実行される）とき、およびメディア状態インジケータ信号４８１が、通常再生検索状態以外の検索状態を示す（例えば、再生されるプレゼンテーションが、通常速度よりも高速または低速の速度で順方向または逆方向に進んでいる）ときなど様々な状況において増大させられる。
【００７８】
メディア・コンポーネント１２２の再生速度が、メディア・コンポーネント１２２が通常速度で進む時よりも影響を受ける時間中に、より多くの処理リソースおよび復号化リソースが、１つ（または複数）のメディア・ソース１６０からのアクティブ・クリップのある種の部分を予測し作成するために使用されるので、（トリック再生、一時停止、低速送り、高速送り、低速戻し、高速戻しなど）メディア・コンポーネント１２２の再生速度に影響を及ぼすユーザ入力を受け取ることは、グリッチフリーの方法でメディア・コンポーネント１２２を提示する問題を悪化させる可能性がある。
【００７９】
図６は、（メディア・フレーム・レート４０７に関しての）例示のメディアタイムライン１４２の概略図であり、この概略図は、順方向における通常速度以外の速度においてメディア・コンテンツ１２２を再生することに関連するある種の処理ステップを示している。様々なフレーム番号プレゼンテーション時刻（ｆｒａｍｅ  ｎｕｍｂｅｒ  ｐｒｅｓｅｎｔａｔｉｏｎ  ｔｉｍｅ）６０２が、メディアタイムライン１４２上に示される。フレーム番号プレゼンテーション時刻６０２は、個別の番号が付けられた組のメディア・データ１３２を提示可能な（図２に示される）再生継続時間２９２内の時刻を表す。図に示されるように、フレーム番号プレゼンテーション時刻６０２は、メディア・フレーム・レート４０７に基づいたレートで生じ、このメディア・フレーム・レートはまた、フレーム番号プレゼンテーション時刻６０２の間の周期的なメディア時間間隔６０４の継続時間も定義する。メディア・フレーム・レート４０７は、必ずしも特定のクリップ１２３が符号化されるフレーム・レートと同じである必要はないが、メディア・クロック周波数は、特定のクリップについての符号化フレーム・レートに基づいて変化し得ることに注意すべきである。ＩＣフレーム・レート４０５（図示されず）は、秒当たり３０フレームであることが仮定される（とは言え、プレゼンテーション・クロック周波数もまた、動的に変化することができる）。
【００８０】
再生継続時間２９２の現行の経過再生時間６０８が、メディアタイムライン１４２上に示される。現行の経過再生時間６０８は、例えばタイトル時刻４０９の現行の値とすることができる。次の提示可能なフレーム番号プレゼンテーション時刻６１４もまた、示される。次の提示可能なフレーム番号プレゼンテーション時刻６１４は、ユーザに対して提示可能な（現行の経過再生時間７０９／タイトル時刻４０９に関連するフレーム番号の後の）次のフレーム番号に関連するフレーム番号プレゼンテーション時刻６０２を表す。次の提示可能なフレーム番号は、プレイリスト１２８に基づいた次の連続するフレーム番号とすることもでき、あるいは現行の経過再生時間６０８に関連するフレーム番号から１つまたは複数のフレーム番号プレゼンテーション時刻６０２だけ離れたフレーム番号とすることもできることが理解されるであろう。通常の再生速度中において、後続のＩＣプレゼンテーション時刻７１２は、現行のＩＣプレゼンテーション時刻７１０に対して、ＩＣフレーム・レート４０７に基づいた量を加えることにより選択される。
【００８１】
しかしながら、メディア状態インジケータ信号４８１が、再生状態が通常再生速度以外（例えば、高速送りまたは高速戻し）であることを示すときには、次の提示可能なフレーム番号時刻６１４を確認する一方法は、（現行の経過再生時間６０８／タイトル時刻４０９に追加して）再生速度およびメディア・フレーム・レート４０７に基づいて経過している再生継続時間２９２の経過時間６２０の量を予測することである。
【００８２】
一実施形態においては、予測される経過時間６２０の量は、メディアタイムライン１４２上のどれだけ多くの予測されるフレーム番号プレゼンテーション時刻６０２が、現行の経過再生時間６０８／タイトル時刻４０９におけるメディア・コンテンツのプレゼンテーション以来、経過しているかを推定することにより計算される。例えば、経過時間６２０の予測される量は、現行の経過再生時間６０８に乗数値を加えることにより計算することができる。乗数値は、フレーム・レート・ファクタにより（再生速度変化の方向に応じて正数または負数とすることができる）再生速度ファクタを乗ずることにより、得られる。再生速度ファクタは、再生速度を表す値をメディア・フレーム・レート４０７によって除算することにより得られる。フレーム・レート・ファクタは、メディア・フレーム・レート４０７をＩＣフレーム・レート４０５によって除算することにより得られる。
【００８３】
次いで、経過時間６２０の予測される量を使用して、次の提示可能なフレーム番号プレゼンテーション時刻６１４となる特定のフレーム番号プレゼンテーション時刻６０２の所在を見出す。多くの場合に、様々な再生速度で、経過時間６２０の予測される量（およびそれに対応するフレーム番号プレゼンテーション時刻６０２）と、対応する次の提示可能なフレーム番号プレゼンテーション時刻６１４との間にパターンを観察することができる。そのようなパターンを認識することは、各フレーム番号プレゼンテーション時刻６０２における計算を実行する必要性を低減させることができる。それらのパターンは、あらかじめ決定されたテーブルまたは他のデータ構造の形で表すことができ、これらのテーブルまたは他のデータ構造を使用して、個々のフレーム番号プレゼンテーション時刻６０２に基づいて次のフレーム番号プレゼンテーション時刻６１４を調べることができる。このようにしてあらかじめ決定されたデータ構造またはテーブルを使用すること、ある種のフレームのレンダリング、および他の調整は、スキップすることができる。さらに、複数のメディアタイムラインは、（例えば、複数のクリップを再生しているインスタンスにおいては）同時に処理することができる。
【００８４】
図５のフローチャートをもう一度参照すると、プレゼンテーション・システム１００の１つまたは複数の動的特性を正確に明らかにすることは、メディア・クリップが再生のためにスケジュールされる時またはそのあたりの時に、来るべきメディア・クリップについての事前ローリング検索状態および準備検索状態を完了することができるようにする時間オフセット値（およびしたがって事前レンダリング時間２２０）の決定を助けることが分かる。メディア・クリップ３  ２５１およびメディア・クリップ４  ２５３の一部分についての事前レンダリング時間を決定するインスタンスにおいては、プレゼンテーション・クロック周波数、メディア・クロック周波数、またはメディア状態インジケータ信号４８１によって示される現行の検索状態など、１つまたは複数の動的特性の存在中において、時間オフセット値を増大させて、事前ローリング検索状態を完了するためにより多くの時間をもたらすことができる。
【００８５】
一実施形態においては、特定のクリップについての事前レンダリング時間２２０を決定するために使用される時間オフセット値は、プレゼンテーション・マネージャ１０６とメディア・コンテンツ・マネージャ１０２との間のネゴシエーションを経由して到来する。プレゼンテーション・マネージャ１０６は、来るべきクリップ（一実施形態中におけるこれは、テーブルなどの１つまたは複数のデータ構造を経由してメディア・コンテンツ・マネージャ１０２から受け取られ、あるいは確認可能である）のメディア・ソースの１つまたは複数の静的特性に関して決定される初期またはデフォルトの時間オフセット値を用いて開始される。次いで、プレゼンテーション・マネージャ１０６は、１つまたは複数の動的特性に基づいて初期の時間オフセット値（１つ（または複数）の現行のクリップの再生中における１つまたは複数の時間）を調整する。調整された時間オフセット値は、メディア・コンテンツ・マネージャ１０２に伝えられ、このメディア・コンテンツ・マネージャは、さらに現行のメディア処理負荷に基づいて時間オフセット値を調整し、そのさらに調整された時間オフセット値をプレゼンテーション・マネージャ１０６に伝える。次いでプレゼンテーション・マネージャ１０６は、そのさらに調整された時間オフセット値に基づいて特定の事前レンダリング時間２２０に、来るべきクリップを事前ローリング検索状態に置くようにメディア・コンテンツ・マネージャ１０２に指示する。他の実施形態も可能である。一代替実施形態においては、メディア・コンテンツ・マネージャ１０２が、１つ（または複数）の来るべきクリップについての知識を有する場合、メディア・コンテンツ・マネージャ１０２は、事前レンダリング時間を直接に決定することができる。別の代替実施形態においては、プレゼンテーション・システム１００の単一のコンポーネントは、時間オフセット値および／または事前レンダリング時間を決定することができる。
【００８６】
図５に示される１つ（または複数）のプロセスは、図７に関連して以下で説明されるプロセッサ７０２など、１つまたは複数の汎用、多目的または単一目的のプロセッサの形で実施することができる。特に述べられていない限りは、本明細書中に説明される方法は、特定の順序またはシーケンスだけには制約されない。さらに、説明される方法、またはその要素の一部は、同時に行い、あるいは実行することができる。
【００８７】
図７は、プレゼンテーション・システム１００の様々な機能コンポーネントを実施するために使用することができ、様々な機能コンポーネントによってアクセスすることができ、あるいは様々な機能コンポーネントに含めることができるある種の機能コンポーネントを示す、汎用コンピューティングユニット７００のブロック図である。コンピューティングユニット７００の１つまたは複数のコンポーネントを使用して、ＩＣマネージャ１０４、プレゼンテーション・マネージャ１０６、およびメディア・コンテンツ・マネージャ１０２を実施し、それらによってアクセス可能にし、あるいはそれらの中に含めることができる。例えば、図７の１つまたは複数のコンポーネントは、一緒にあるいは別々にパッケージ化して、様々な方法でプレゼンテーション・システム１００のファンクションを（全体として、または部分的に）実施することができる。
【００８８】
プロセッサ７０２は、コンピュータ読取り可能媒体７０４に対して、またコンピュータプログラム７０６に対して応答する。実プロセッサであっても仮想プロセッサであってもよいが、プロセッサ７０２は、コンピュータ実行可能命令を実行することにより、電子デバイスのファンクションを制御する。プロセッサ７０２は、アセンブリレベル、コンパイルレベル、またはマシンレベルで命令を実行して、特定のプロセスを実行することができる。そのような命令は、ソースコードまたは他の知られている任意のコンピュータプログラム設計ツールを使用して作成することができる。
【００８９】
コンピュータ読取り可能媒体７０４は、プロセッサ７０２によって実行可能な命令などのコンピュータ読取り可能データを記録すること、記憶すること、または伝送することの可能な現在知られている、または後で開発される任意の形式における任意の数および組合せのローカルデバイスまたはリモートデバイスを表す。とりわけ、コンピュータ読取り可能媒体７０４は、（例えば、読取り専用メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）（「ＲＯＭ」）、任意タイプのプログラマブルＲＯＭ（ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）（「ＰＲＯＭ」）、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）（「ＲＡＭ」）、フラッシュメモリなどの）半導体メモリ、（フロッピィディスクドライブ、ハードディスクドライブ、磁気ドラム、磁気テープ、光磁気ディスクなどの）磁気ストレージデバイス、（任意タイプのコンパクトディスクやデジタル多用途ディスクなどの）光ストレージデバイス、バブルメモリ、キャッシュメモリ、コアメモリ、ホログラフィックメモリ、メモリスティック、紙テープ、パンチカード、またはそれらの任意の組合せとすることができ、あるいはそれらを含むことができる。コンピュータ読取り可能媒体７０４はまた、伝送媒体とそれに関連するデータを含むこともできる。伝送媒体／データの例は、それだけには限定されないが、被変調キャリア信号によって搬送されるパケット化されたデータや非パケット化されたデータなど有線伝送または無線伝送の任意の形態で実施されるデータを含んでいる。
【００９０】
コンピュータプログラム７０６は、データ上のあらかじめ決定されたオペレーションを電子的に制御する任意の信号処理方法または記憶された命令を表す。一般に、コンピュータプログラム７０６は、コンポーネントベースのソフトウェア開発についてのよく知られている実行によるソフトウェアコンポーネントとして実施され、（コンピュータ読取り可能媒体７０４などの）コンピュータ読取り可能媒体の形で符号化されるコンピュータ実行可能命令である。コンピュータプログラムは、様々な方法で、組み合わせ、あるいは分散することができる。
【００９１】
プレゼンテーション・システム１００の場合に説明されるファンクション／コンポーネントは、コンピュータプログラムの特定の任意の実施形態による実施形態だけには限定されない。そうではなく、ファンクションは、データを伝え、または変換し、またプレゼンテーション・システム１００の機能要素の任意の組合せの位置に配置され、あるいは任意の組合せによってアクセスされるハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せによって一般に実施し、またはそれらにおいて実行することができるプロセスである。
【００９２】
図７に対する参照を継続して、図８は、その中でプレゼンテーション・システム１００のすべてまたは一部分を実施し、または使用することができる動作環境８００の例示のコンフィギュレーションのブロック図である。動作環境８００は、一般に多種多様な汎用または専用のコンピューティング環境を示す。動作環境８００は、適切な動作環境の一例にすぎず、本明細書中で説明される１つ（または複数）のシステムおよび方法の使用または機能の範囲に関するどのような限定も示唆するようには意図されない。例えば、動作環境８００は、現在知られており、または後で開発される、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルデバイス、ラップトップ、タブレットなど、１タイプのコンピュータ、または光メディア・プレーヤや別のタイプのメディア・プレーヤなど、他の任意のタイプの電子デバイス、あるいはそれらの任意の態様とすることができる。動作環境８００はまた、例えば分散コンピューティングネットワークまたはウェブサービスとすることもできる。動作環境８００の特定の例は、ＤＶＤプレーヤやそれに関連するオペレーティングシステムなどの環境であり、この環境は、高精細ＤＶＤ映画を再生することを容易にする。
【００９３】
図に示されるように、動作環境８００は、プロセッサ７０２、コンピュータ読取り可能媒体７０４、およびコンピュータプログラム７０６を含めて、コンピューティングユニット７００のコンポーネントを含み、あるいはコンポーネントにアクセスする。ストレージ８０４は、光ディスクなどの動作環境８００に特に関連する追加の、または異なるコンピュータ読取り可能媒体を含んでおり、この動作環境は、光ディスクドライブ８０６によって処理される。よく知られており、広く使用可能な要素である１つまたは複数の内部バス９２０を使用して、コンピューティング環境８００またはその要素の内部で、コンピューティング環境８００またはその要素に対して、あるいはコンピューティング環境８００またはその要素からデータ、アドレス、制御信号、および他の情報を搬送することができる。
【００９４】
１つ（または複数）の入力インターフェース８０８は、コンピューティング環境８００に対する入力を供給する。入力は、ユーザインターフェースなど、任意タイプの現在知られており、または後で開発されるインターフェースを使用して収集することができる。ユーザインターフェースは、リモコン、ディスプレイ、マウス、ペン、スタイラス、トラックボール、キーボード、マイクロフォン、スキャニングデバイス、およびデータを入力するために使用されるすべてのタイプのデバイスなどのタッチ入力デバイスとすることができる。
【００９５】
１つ（または複数）の出力インターフェース８１０は、動作環境８００からの出力を供給する。１つ（または複数）の出力インターフェース８１０の例は、ディスプレイ、プリンタ、スピーカ、（光ディスクドライブ８０６や他のディスクドライブなどの）ドライブなどを含んでいる。
【００９６】
１つ（または複数）の外部通信インターフェース８１２は、チャネル信号、データ信号、コンピュータ読取り可能媒体などの通信媒体を経由して別のエンティティから情報を受信するために、あるいは別のエンティティに対して情報を送信するために動作環境８００の能力を高めるように使用可能である。１つ（または複数）の外部通信インターフェース８１２は、関連するネットワークサポートデバイスおよび／またはソフトウェア、あるいはインターフェースと一緒に、ケーブルモデム、データ端末装置、メディア・プレーヤ、データストレージデバイス、携帯型個人情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、他の任意のデバイスまたはそのコンポーネント／組合せなどの要素とすることができ、あるいはその要素を含むことができる。
【００９７】
図９は、それに関連してプレゼンテーション・システム１００または動作環境９００を使用することができるクライアント−サーバ・アーキテクチャ９００の簡略化された機能図である。プレゼンテーション・システム１００および／または動作環境８００の１つまたは複数の態様は、アーキテクチャ９００のクライアント側９０２上に、あるいはアーキテクチャ９００のサーバ側９０４上に表すことができる。図に示されるように、（任意のタイプ、例えば有線または無線の任意の公衆網または専用網とすることができる）通信フレームワーク９０３は、クライアント側９０２とサーバ側９０４との間の通信を容易に実行できるようにする。
【００９８】
クライアント側９０２上では、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形で実施することができる１つまたは複数のクライアント９０６は、クライアントデータストア（ｃｌｉｅｎｔ  ｄａｔａ  ｓｔｏｒｅ）９０８に対して応答する。クライアントデータストア９０８は、クライアント９０６に対してローカルな情報を記憶するために使用されるコンピュータ読取り可能媒体７０４とすることができる。サーバ側９０４上では、１つまたは複数のサーバ９１０は、サーバデータストア（ｓｅｒｖｅｒ  ｄａｔａ  ｓｔｏｒｅ）９１２に対して応答する。クライアントデータストア９０８と同様に、サーバデータストア９１２は、サーバ９１０に対してローカルな情報を記憶するために使用される１つまたは複数のコンピュータ読取り可能媒体７０４を含むことができる。
【００９９】
メディア・コンテンツと同期してユーザに対してインタラクティブ・コンテンツを提示するために使用されるプレゼンテーション・システムの様々な態様が、説明されている。しかしながら、プレゼンテーション・システムの説明されるコンポーネントのすべては必ずしも使用される必要があるとは限らず、またそれらのコンポーネントは、使用されるときに同時に存在する必要もないことが理解されるであろう。プレゼンテーション・システム１００の場合にコンピュータプログラムであるとして説明されるファンクション／コンポーネントは、コンピュータプログラムの特定のどのような実施形態による実施だけには限定されない。そうではなく、ファンクションは、データを伝え、または変換するプロセスであり、またハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せによって一般に実施し、またはそれらにおいて実行することができるプロセスである。
【０１００】
本明細書中の主題は、構造的特徴および／または方法論的動作に特有の言語で説明されているが、特許請求の範囲中で定義される主題は、必ずしも上記の特定の特徴または動作だけに限定されるとは限らないことも理解すべきである。そうではなく、上記の特定の特徴および動作は、特許請求の範囲を実施する形態の例として開示されている。
【０１０１】
１つの要素が別の要素に対して応答しているとして示されるときには、それらの要素は、直接または間接に結合することができることがさらに理解されるであろう。本明細書中に示される接続は、要素間の結合するインターフェースまたは通信インターフェースを達成するために実際には論理的または物理的とすることができる。接続は、他の方法のうちでもとりわけ、ソフトウェアプロセスの間のプロセス間通信、またはネットワーク化コンピュータ間のマシン間通信として実施することができる。
【０１０２】
用語「例示（ｅｘｅｍｐｌａｒｙ）」は、本明細書中では１つの例、インスタンス、または例証としての役割を果たすことを意味するように使用される。「例示」として本明細書中で説明される任意の実施形態またはその態様は、必ずしも他の実施形態またはその態様よりも好ましい、または有利であるものとして構築されるべきものとは限らない。
【０１０３】
上記の特定の実施形態以外の実施形態は、添付の特許請求の範囲の趣旨および範囲を逸脱することなく工夫することができることが理解されるので、本明細書中の主題の範囲は、添付の特許請求の範囲によって支配されることになることが意図される。
【図面の簡単な説明】
【０１０４】
【図１】インタラクティブ・マルチメディア・プレゼンテーション・システムの簡略化された機能ブロック図である。
【図２】図１に示されるプレイリストから確認される例示のプレゼンテーションタイムラインの図式的説明図である。
【図３】図１に示されるインタラクティブ・マルチメディア・プレゼンテーションに関連するアプリケーションの簡略化された機能ブロック図である。
【図４】図１のタイミング信号管理ブロックをより詳細に示す簡略化された機能ブロック図である。
【図５】図１に示されるインタラクティブ・マルチメディア・プレゼンテーション・システムなどのプレゼンテーション・システムを使用して、図２に示されるメディア・コンテンツなどのメディア・コンテンツを再生するための方法のフローチャートである。
【図６】図５のフローチャートに示される方法のある種の態様に関連して使用可能な例示のメディアタイムラインの概略図である。
【図７】図１に示されるインタラクティブ・マルチメディア・プレゼンテーション・システムの態様に関連して使用可能な汎用コンピューティングユニットの簡略化された機能ブロック図である。
【図８】図１に示されるインタラクティブ・マルチメディア・プレゼンテーション・システムを実施し、または使用することができる動作環境の例示のコンフィギュレーションの簡略化された機能ブロック図である。
【図９】図１に示されるインタラクティブ・マルチメディア・プレゼンテーション・システムを実施し、または使用することができるクライアント−サーバ・アーキテクチャの簡略化された機能図である。
【図１】
2009502049.tif 000004
【図２】
2009502049.tif 000005
【図３】
2009502049.tif 000006
【図４】
2009502049.tif 000007
【図５】
2009502049.tif 000008
【図６】
2009502049.tif 000009
【図７】
2009502049.tif 000010
【図８】
2009502049.tif 000011
【図９】
2009502049.tif 000012