(57)【特許請求の範囲】
【請求項１】
再生デバイスによってメディアファイルに保存されたコンテンツを再生する方法であって、該方法は、
メディアファイルを再生デバイスに提供するステップであって、
前記メディアファイルは、コンテンツデータ、キューデータ及び階層インデックスを有し、
前記コンテンツデータは、複数のカプセル化されたビデオフレームを含み、
前記キューデータは、前記メディアファイルの内部のカプセル化されたビデオの個々のフレームの場所を参照するインデックス情報を含み、
前記階層インデックスは、前記キューデータの小群の内部のインデックス情報への参照を含む階層インデックスポイントを含む粗い層と前記粗い層よりも多くの前記階層インデックスポイントを含む細かい層とを少なくとも含む、ステップと、
再生デバイスによって、前記コンテンツデータを復号するステップと、
復号されたコンテンツデータから表示画面にコンテンツを表示するステップと、
ユーザの要求を受信するステップと、
前記ユーザの要求に基づいて前記階層インデックスのうちの階層インデックスポイントを特定するステップと、
前記特定された階層インデックスポイントに基づいて前記キューデータの小群の内部のインデックス情報を特定するステップと、
前記キューデータの小群の内部の特定されたインデックス情報によって参照された１以上のビデオフレームを復号するステップと、を含むことを特徴とする方法。
【請求項２】
前記階層インデックスポイントは、前記複数のカプセル化されたビデオフレームの内部の特定のビデオフレームを直接指し示す参照値を有することを特徴とする、請求項１記載の方法。
【請求項３】
前記階層インデックスポイントは、前記メディアファイルの内部の前記キューデータへのポインタを含み、
該方法は、前記ポインタを介して前記キューデータにアクセスをして、復号するビデオフレームを特定するステップをさらに含むことを特徴とする、請求項１記載の方法。
【請求項４】
前記キューデータの小群の内部のインデックス情報は、
前記複数のカプセル化されたビデオフレームの小群を含むクラスタに関連付けられ、
該方法は、前記ユーザの要求に基づいて特定される階層インデックスポイントに基づいて、前記クラスタを特定するステップをさらに含むことを特徴とする、請求項１記載の方法。
【請求項５】
前記１以上のビデオフレームを復号するステップは、特定された前記クラスタに基づくことを特徴とする、請求項４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはマルチメディアファイルに関し、より詳細には、マルチメディアファイルの内部の情報のインデックス付けに関する。
【背景技術】
【０００２】
近年、マルチメディアファイルの再生が、平均的な消費者の日常生活の一部となってきている。携帯電話、ＤＶＤプレーヤ、パーソナルコンピュータ、ポータブルメディアプレーヤは全て、様々なマルチメディアファイルを再生することができるデバイスの代表例である。各デバイスは特定のマルチメディアフォーマットに合わせており、これらのデバイスの幅広い普及により、種類及び分類の異なるデバイスの間での、特定のレベルの総合運用が促進されている。同様に、早送り、巻き戻し、開始、停止、再生、及び一時停止などの特定の機能については、全分類のデバイスにおいて、それらの性能能力、実装適用の如何を問わず、同様であることが願われている。
【０００３】
メディア再生デバイスの最も一般的な機能の一つは、マルチメディアファイルのランダムアクセス、早送り、巻き戻し再生のサポートであって、時にはトリック再生とも呼ばれる。トリック再生機能を実行するためには、一般的に、順方向及び巻き戻し方向により速い速度でビデオプレゼンテーションを表示し、鑑賞者がビデオトリック再生動作を終了した場所に近い位置からプレゼンテーションの全体を再開する必要がある。プレゼンテーションのオーディオ、サブタイトル、及びその他の要素は、デバイスの動作の優先事項であっても、通常、トリック再生の動作時には使用されない。トリック再生機能に対応するため、マルチメディアファイルは、通常、全てのフレームの場所、特に、独立して復号して鑑賞者に提示することができるビデオフレームの場所を判断するために使用するインデックス部を含む。全てのインデックス情報がファイルの内部の一つの場所に保存され、ファイルの内部のマルチメディア情報を線形的に参照すると、プレーヤは、ファイルを再生することができるように、特定のインデックスエントリを検索する必要がある。例えば、プレゼンテーションの中間ポイントでマルチメディアプレゼンテーションの再生を行うように指示されたプレーヤは、通常、再生を開始する必要のあるデータポイント群を決定できるように、インデックスデータの最初の半分を処理する。
【０００４】
インデックス部は、この他にも多くの潜在的な用途を有している。インデックス部は、多重化特性の乏しいマルチメディアファイルの基本再生において必要な要素となりうる。インデックス部位はまた、ファイルの重要でない情報をスキップするために使用することができる。インデックスは、トリック再生機能を終了した後で再生を再開する際にもしばしば必要となる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、プレーヤがトリック再生機能を含む様々な機能を実行する上での効率性を向上することができるインデックスを利用する。いくつかの実施形態では、インデックスは、階層インデックスである。多くの実施形態において、インデックスは簡略インデックス（ｒｅｄｕｃｅｄ  ｉｎｄｅｘ）である。複数の実施形態において、インデックスは、ビットフィールドフラグと関連するデータフィールドを用いて表現される。
【０００６】
一実施形態では、再生デバイスによってメディアファイルに保存されたコンテンツを再生する手法が提供される。該方法は、メディアファイルを再生デバイスに提供するステップであって、前記メディアファイルは、コンテンツデータ、キューデータ及び階層インデックスを有し、前記コンテンツデータは、複数のメディアフレームを有し、前記キューデータは、複数のフレームの各々のフレームに関連付けられており、前記階層インデックスは、前記キューデータの小群に関連付けられている、ステップと、再生デバイスによって、前記コンテンツデータを復号するステップと、復号されたコンテンツデータから表示画面にコンテンツを表示するステップと、ユーザの要求を受信するステップと、前記ユーザの要求に基づいてインデックスを特定するステップと、特定されたインデックスに基づいて、前記キューデータの小群から１以上のメディアフレームを復号するステップと、を含む。
【０００７】
他の実施形態では、再生デバイスによる再生のためにメディアファイルを符号化する方法であって、該方法は、コンテンツデータに検索場所を統合するステップであって、前記コンテンツデータは、オーディオトラック、ビデオトラック、及びサブタイトルトラックを有し、前記検索場所は、前記オーディオトラック、前記ビデオトラック、又は前記サブタイトルトラックの内部の特定のフレームについて特定のタイムスタンプを識別する、ステップと、統合された検索場所を参照するインデックスを統合するステップと、前記コンテンツデータ、前記統合された検索場所、及び統合されたインデックスを有するメディアファイルを生成するステップと、を含む。
【０００８】
さらに他の実施形態では、ディアファイルの再生のためのシステムは、メディアファイルの内部のメディアコンテンツの少なくとも一つのフレームを参照するポインタを有する少なくとも一つのインデックスを有するメディアファイルを送信するように構成されたメディアサーバを含む。前記メディアサーバとネットワーク通信を行い、前記メディアサーバに前記メディアファイルの要求を送信するように構成されたクライアントプロセッサも提供される。前記メディアサーバは、要求されたメディアファイルを送信するように構成され、前記クライアントプロセッサは、ユーザの再生命令に応じて、前記少なくとも一つのインデックスからポインタを特定して、特定したポインタに基づいて、前記メディアファイルの一部を特定して復号するように構成された再生エンジンを含む。
【０００９】
一実施形態では、マルチメディアファイルによって含まれるインデックスを有するマルチメディアファイルを復号する方法が提供される。該方法は、マルチメディアファイルの内部のインデックスを特定するステップであって、前記インデックスは複数のインデックスデータポイントを有し、前記マルチメディアファイルは複数のフレームと、前記複数のフレームの内部の特定のフレームのタイムスタンプと場所を有する複数のキューデータポイントを有する、ステップと、特定されたインデックスを保存部にロードするステップと、タイムスタンプに基づいて前記複数のインデックスデータポイントの内部からインデックスデータポイントを特定するステップと、特定されたインデックスデータポイントに基づいて前記複数のキューデータポイントからキューデータポイントを特定するステップと、を含む。
【００１０】
本発明の上記の特徴及びその他の特徴、それらを取得して使用する手法は添付の図面を参照して、以下の説明から明らかになる。図面は、代表的な本発明の実施形態の例示にすぎず、本発明の範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態によるマルチメディアファイルの内部のインデックス構造体を図形で表現した図である。
【図２Ａ】本発明の実施形態によるマルチメディアファイルのオーディオ／ビデオデータに続くインデックス構造体を図形表示した図である。
【図２Ｂ】本発明の実施形態によるマルチメディアファイルのオーディオ／ビデオデータの内部に織り込まれたインデックス構造体を図形表示した図である。
【図２Ｃ】本発明の実施形態によるマルチメディアファイルの他の部分に関するインデックス構造体の詳細を図形表示した図である。
【図２Ｄ】本発明の実施形態によるマルチメディアファイルのキューデータに関するインデックス構造体を図形表示した図である。
【図３】本発明の実施形態によるマルチメディアファイルの内部のインデックス構造体を詳述するビットフラグと関連データフィールドを図形表示した図である。
【図４】本発明の実施形態によるマルチメディアファイルの内部のタイムコードとオフセットデータフィールドを備えたインデックス構造体を図形表示した図である。
【図５】本発明の実施形態によるマルチメディアファイルの内部のサイズデータフィールドに関する複数のオフセットデータフィールドとタイムコードを有するインデックス構造体を図形表示した図である。
【図６】本発明の実施形態によるマルチメディアファイルの内部の一次オフセットデータフィールドとタイムコードを有するインデックス構造体を図形表示した図である。
【図７】本発明の実施形態によるストリーミングと固定メディアファイル再生のための再生システムの概略ネットワーク図である。
【図８】本発明の実施形態によるマルチメディアファイルの内部のインデックス構造体を利用した処理のフローチャートである。
【図９】本発明の実施形態によるマルチメディアファイルの内部のインデックス構造体の詳細を図形表示し、且つ、図８の処理を説明する図である。
【図１０】本発明の実施形態によるマルチメディアファイルの内部のインデックス構造体の詳細を図形表示し、且つ、図８の処理を説明する図である。
【図１１】本発明の実施形態によるマルチメディアファイルの内部のインデックス構造体の詳細を図形表示し、且つ、図８の処理を説明する図である。
【発明を実施するための形態】
【００１２】
図面を参照して、本発明の実施形態によるインデックスを含むマルチメディアファイルについて説明する。複数の実施形態において、インデックスは階層インデックスである。階層インデックスとは、マルチメディアファイルの内部のいくつかの所定の場所への粗いインデックスと、マルチメディアファイルのそれらの部分へのさらなる詳細な表示とを提供する形式でインデックス情報を表したものである。多くの実施形態では、最低レベルのインデックスは、マルチメディアファイルの何れのフレームも識別できるように十分に細かい。階層インデックスを使用すると、プレーヤは、マルチメディアファイルの再生を開始するために、少量の関連するインデックス情報のみの要求をするだけでよい。このため、階層インデックスは、再生デバイスが必要とするメモリのフットプリントを削減し、効率的に、マルチメディアファイルの検索動作とトリック再生動作を実行する。さらに、再生のためのファイルロード時間が削減され、トリックトラックロード性能が向上する。一実施形態では、階層インデックスは、タイムスタンプを有するマルチメディアファイルの内部のキューポイントへのオフセットを含むので、検索を高速かつ効率的にすることができる。
【００１３】
いくつかの実施形態では、マルチメディアファイルは簡略インデックスを含む。本発明の実施形態によると、プレーヤは、トリック再生機能の実行時に、簡略インデックスを用いて、アクセス又はキーフレームの間を迅速に移動することができる。簡略インデックスは、階層インデックスと連動することができる。しかしながら、簡略インデックスは、階層インデックスを含まないマルチメディアファイルが含むこともできる。簡略インデックスは、マルチメディアプレゼンテーションの内部のそれぞれの対応する時間を示すタイムスタンプ値とともに、マルチメディアファイルの内部のアクセス又はキーフレームの場所を提供するのみである。複数の実施形態では、ビットフィールドフラグと関連データフィールドを用いてインデックス情報を提示することができる。本発明の実施形態にしたがって、かかる表現を用いてインデックス情報、階層インデックス、及び／又は、簡略インデックスを表現することができる。
＜階層インデックス＞
【００１４】
本発明の実施形態による階層インデックスを含むマルチメディアファイルを図１に示す。マルチメディアファイル１０は、ヘッダ情報１２と、オーディオ／ビデオデータ１６の間に織り込まれたインデックス情報１４と三層の階層インデックスと、を含む。階層インデックスの最も粗い層１８は、少数のインデックス情報への参照部を含む。中間層２０と最も細かい層２２は各々、連続するより多くの数のインデックス情報への参照部を含む。
【００１５】
多くの実施形態において、オーディオ／ビデオデータ１６の間に織り込まれたインデックス情報１４には、カプセル化されたオーディオ、ビデオ、サブタイトル、及び／又は、他の類似のデータの場所がリストされている。通常、織り込まれたインデックス情報のブロックには各々、織り込まれたインデックス情報のブロックに直ちに続くカプセル化されたメディアがリストされている。いくつかの実施形態では、インデックス情報１４は、カプセル化されたメディアごとの開始部の絶対位置又は相対位置を記した情報を含む。複数の実施形態では、織り込まれたインデックス情報１４は、インデックスされたカプセル化されたメディアが、アクセス又はキーフレームとして使用できるか否か、そのプレゼンテーション時間値、及び、復号デバイスが利用し得るその他の情報に加えて、インデックスされたカプセル化されたメディアのサイズを含む。
【００１６】
階層インデックスの各々の層は、マルチメディアファイル１０の内部に織り込まれたインデックス情報１４への参照部を含む。階層構造体の実装は、包括的でもよく、あるいは、排他的でもよい。即ち、各々の層のデータは、他の層で反復してもよく、あるいは、各々の層は、固有の位置情報を含んでもよい。さらに、階層の各々の層の要素の数、又は、層の総数は、所定値でもよく、所定値に基づいて制限されてもよく、あるいは、制限されなくてもよい。
【００１７】
階層インデックスの特定の実装について図１に示したが、階層インデックスは、多くの異なる方法で実装することができる。例えば、インデックス情報は、ファイルの一つの部分に保存してもよいし、又は、ファイルの内部のクラスタに分散してもよい。本発明の実施形態による様々に分散したインデックス情報を含むマルチメディアファイルを図２Ａ及び図２Ｂに示す。例えば、インデックス情報は全体２１として、マルチメディアファイル１０のオーディオ／ビデオデータ部１６に付加する、又は、オーディオ／ビデオデータ部１６の先頭に付加してもよい。図２Ｂに示すインデックス情報２２もオーディオ／ビデオデータ部１６に織り込むことができる。様々な方法でインデックス情報を分散することに加えて、階層自体も、アクセス又はキーフレームの位置で開始してもよいし、又は、アクセス又はキーフレームの位置で開始しなくてもよいが、（インデックス情報のブロックに対して）ファイルの実際のフレームを指し示す構造体として実装することができる。
【００１８】
図２Ｃは、より大きな仮想ファイル構造ＭＫＶファイル２００の内部の階層インデックス２１のさらなる詳細を示す。このファイル構造体は、二つの主要部分、すなわち、ＥＢＭＬ２４とセグメント２６から構成される。このファイル構造体において、セグメントは、シークヘッド２０１と、セグメント／インフォ２０２と、トラック２０３と、チャプタ２０４と、クラスタ２０５と、キュー２９と、階層インデックス２１とを含むことができる。図示のように、マルチメディアファイルには、複数の階層インデックス２１を含むことができる。さらに、階層インデックスの各々は、複数の階層インデックスポイント２３を含むことができる。様々な実施形態においてこれらの階層インデックスポイントは、タイムスタンプ２５及びトラック位置２７を有する。トラック位置２７は、特定のメディアトラック２７ａと、タイムスタンプ２５からのオフセット又は位置２７ｂとを指定する。キュー２９も示す。以下より詳細に説明するが、キュー２９は、マルチメディアファイルの内部の特定のポイントへのアクセスを高めるために、階層インデックスポイント２３によって利用される。複数の階層インデックスポイント２３が複数のキューポイント２８を参照する、又は、指し示す、この動的構造体の例を、図２Ｄに示す。様々な実施形態において、階層インデックスは、キューポイントの部分、例えば、メディアファイルにおけるキューポイントの総数に対して十分の一のキューポイントへの参照部を有する。キューポイントへポインタ又は参照の細やかさを増すために、参照部を増加できることは、明かである。
【００１９】
本実施形態による階層インデックスを含むマルチメディアファイルの復号を試みるプレーヤは、通常、プレーヤが実行を要求される機能の必要に応じて、階層インデックスを使用する。トリック再生機能が要求されると、プレーヤは、個別の速度に対応して、階層インデックスのうちの階層インデックスポイントを特定し、かかる階層インデックスポイントによって示されるフレームの各々を復号することができる。個別のフレームをインデックスを用いて特定する手法は、インデックスの性質に依存する。階層インデックスの階層インデックスポイントの各々がビデオフレームを直接指し示す実施形態では、処理は単純である。階層インデックスポイントがマルチメディアファイルの内部の補助インデックス情報を指し示す実施形態では、補助インデックス情報にアクセスして、補助インデックス情報を用いて所望のフレームを検索する。
【００２０】
本発明の実施形態によると、多くのマルチメディアファイルは、簡略インデックス情報を使用する。簡略インデックスは、階層インデックスとともに使用する、又は、階層インデックスを含まないマルチメディアファイルで使用することができる。簡略インデックスは、マルチメディアファイルの内部の全てのマルチメディア情報に関する情報を含むということはない。簡略インデックスは、通常、アクセス又はキーフレームの場所と、アクセス又はキーフレームのタイムスタンプに関する情報に制限される。アクセスフレームとは、一般的に、独立して復号することができるビデオフレームである。しかし、簡略インデックスは、マルチメディアファイルに保存された、他のストリームの他のタイプのキーフレームを指し示すために使用することもできる。簡略インデックスは、トリック再生機能の実行時に、プレーヤが、キーフレームを迅速に間引いてスキップすることを可能にする。
【００２１】
複数の実施形態で、簡略インデックスは、一の、又は主要なデータタイプにのみ設けられ、主要なデータタイプに関連し得るファイルの内部に含まれるデータの他のストリームの各々にはオフセットが設けられている。プレーヤはオフセットを用いて、異なるメディアの同期再生を容易にすることができる。いくつかの実施形態では、インデックス情報の各々はまた、アクセス又はキーフレームのサイズとアクセス又はキーフレームのデータタイプを含む。本発明の実施形態による簡略インデックスを含むマルチメディアファイルを復号するプレーヤは、簡略インデックスを用いて、プレーヤが階層インデックスを使用するのと同様の態様でトリック再生機能を実行することができる。プレーヤは、簡略インデックスを介して、アクセス又はキーフレームのタイムスタンプを探して並び替え、所望の速度を実現するためにレンダリングすべきフレームを決定することができる。
＜ビットフィールドを用いたインデックス情報の表現＞
【００２２】
複数の本発明の実施形態によると、マルチメディアファイルは、ビットフィールドフラグと関連データフィールドとを使用して、インデックス情報を表現する。多くの実施形態では、ビットフィールドフラグを使用して、インデックス情報を含む対応する可変長データフィールド群の存在を伝える。本発明の実施形態による一つのマルチメディア情報に関するインデックス情報を表現するために使用することができるビットフィールドフラグ３１とデータフィールド３２を図３に示す。図示の実施形態では、ビットフィールドフラグ群が、フラグに続く追加のデータの存在を示す。ビットフィールドフラグは全体で８ビットで指定されが、これは必ずしも他の実装の要件ではない。フラグの第１のビットは絶対／固定サイズフィールド３１ａを示すことができる。このフィールドは、フレームのサイズをファイルの独立した部位に保存された予め決定されたサイズ群から読み出すか、あるいは、フラグフィールドに続く一連のバイトとして、利用できるかを決定する。二つの追加のビット、固定サイズインデックス／バイト数フィールド３１ｂは、絶対／固定サイズのビット又はフィールド３１ａの設定に応じて、値を提示するために使用されるバイトの総数又はサイズ値のインデックス位置を決定するために使用される。次のビット、一次オフセットフィールド３１ｃは、オフセット値のサイズを決定する。一次オフセットフィールド３１ｃは、フレームの場所でもよい。このビットは、二つの所定のバイト数から選択され、例えば、４バイト値又は８バイト値の何れかである。同様に、フラグは、他の所定のオフセット、例えば、４バイトで一次オフセット値からの相対オフセットを表す二次オフセット３３の存在を示すことができる。タイムコードバイトシーケンスの存在を示すビット３１ｅも、他のビット、アクセス又はキーフレームの存在を判断するために使用することができるキーフレームフラグビット３１ｆとともに存在してもよい。多くの実施形態において、図３に示すものと同様のビットフィールドフラグ及びデータフィールドは、マルチメディアファイルの全てのフレームの場所のインデックスとして使用される。
【００２３】
図３に示す構造体により表すことができるフラグの数は、後続のフラグの存在を伝える「フラグ拡張」ビット３１ｇを使用することにより無限に拡張できる。ここで、１ビット３１ｈを、「関連オフセット」と呼ぶことができる。関連オフセットは、現在のフレームに対応するストリームの数を判断するために使用されるバイト値の存在を示すことができる。これらの相対オフセットは、ストリームの他のフレームについて、同様のフラグと後続のインデックス情報を有することができ、同期のために使用される。相対オフセットにより識別されるフレームは、正しく再生されると、オーディオ、ビデオ、サブタイトル、及びその他の関連データのプレゼンテーションを同期することができる。ストリーム数値３２は、しばしば、ファイルに保存された実際のストリーム数に対応する。
【００２４】
２つの相対オフセット値４１ａ、ｂを用いて表されるインデックス情報を図４に示す。多くの実施形態で、フレームの各々のデータタイプは、全フレームのグループについて、あるいは、フレーム一つずつについて示され、この場合は、「データタイプ」フィールド３５がインデックス構造体に追加される。全プレゼンテーションにおいてフレームの正確な時間を示すタイムコード値３７の存在は、所定の仕様の群により行うことができる。例えば、タイムコード値は、全てのビデオアクセスフレームに対して必要となることがあるし、あるいは、タイムコードの存在は、オーディオサンプルについてある期間ごとに必須となることがある。タイムコード値の存在はオプションにすぎず、対応するビットフラグによって示されることに留意されたい。
【００２５】
所定のルール群により、上述のものと同様の構造体が、本発明の実施形態による階層インデックス付けの表現に適用可能である。例えば、「一次オフセット」値５０は、インデックスの正確なタイムスタンプを示すタイムコード値５２とともに、特定のインデックス位置を指し示すことができる。追加のビットフィールド３９、「サブインデックス」は、「一次オフセット」で示される位置からの相対的オフセットを示すことができる。「サブインデックス」位置５４は、より大きなインデックスクラスタの開始からの微調整（ｒｅｆｉｎｅｍｅｎｔ）となる。本発明の実施形態による階層インデックスを構成する様々な値の使用について、図５に示す。
【００２６】
ビットフィールドフラグ及び関連データフィールドを使用して、ファイルにおける特定のストリームの一連のアクセス又はキーフレームを指し示す簡略インデックス構造体を表すこともできる。本発明の実施形態による簡略インデックスを図６に示す。図示の実施形態において、「フラグ」フィールド６０２には、サイズバイト６０４、「一次オフセット」値６０６、タイムコード６０８の対応する群が続く。
【００２７】
アクセスフレームは、通常、ファイルのビデオフレームに関するものであるが、このフィールドは、ファイルの全てのストリームのタイプについて定義することもできる。図６に示す構造体６００は、全てのアクセス又はキーフレームの場所を保存し、ファイルのカプセル化されたトラックについて全ての関連するオフセットの場所を有することができる。
【００２８】
柔軟性のあるビットフィールドフラグを使用することにより、階層インデックス付け方式、簡略インデックス付け方式、従来のインデックス付け方式で現れうる、複数のデータ構造体の実装が可能になることに留意することも重要である。一般的に全ての構成部が全てのフレームにより必要とされるわけではないので、ビットフィールドを可変長データを示すフラグとして使用することにより、インデックスの全体のサイズの最適化を支援することができる。
【００２９】
図７に、本発明の実施形態によるプログレッシブな再生システムを示す。再生システム１９０は、ネットワーク１９４と接続したメディアサーバ１９２を含む。メディアファイルは、メディアサーバ１９２に保存されており、クライアントアプリケーションを用いて構成されたデバイスによりアクセスすることができる。図示の実施形態では、メディアサーバのメディアファイルにアクセスするデバイスは、パーソナルコンピュータ１９６、テレビ２００などの再生デバイスと接続したセットトップボックス１８などの家庭用電子機器、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）２０２又は携帯電話機などの携帯機器である。機器、即ち、デバイスとメディアサーバ１９２は、ゲートウェイ２０６を用いてインターネット２０４と接続したネットワーク１９４を介して通信可能である。他の実施形態では、メディアサーバ１９２と機器は、インターネットを介して通信を行う。
【００３０】
機器、即ち、デバイスは、再生のためにメディアサーバ１９２からメディアファイルの必要な部分を要求することができるクライアントアプリケーションを用いて構成されている。クライアントアプリケーションは、ソフトウェア、ファームウェア、ハードウェア、又は、これらの組み合わせで実装することができる。多くの実施形態では、デバイスは、ダウンロードしたメディアファイルからメディアを再生する。いくつかの実施形態では、デバイスは、他のデバイスがメディアを再生できるように１以上の出力を行う。メディアファイルがインデックスを含む場合、本発明の実施形態によるクライアントアプリケーションで構成されたデバイスは、インデックスを用いてメディアの様々な部分の場所を特定できる。したがって、インデックスを用いて、ユーザに「トリック再生」機能を提供することができる。ユーザが「トリック再生」を行う場合、デバイスはインデックスを用いて、「トリック再生」機能を実行するために必要なメディアファイルの１以上の部分を特定し、サーバからそれらの部分を要求する。複数の実施形態において、クライアントアプリケーションは、メディアファイルの内部から特定の範囲のバイト数分をダウンロードすることができるトランスポートプロトコルを用いてメディアファイルの部分を要求する。かかるプロトコルの一つとして、ｈｔｔｐ：／／ｗｗｗ．ｂｉｔｔｏｒｒｅｎｔ．ｏｒｇから入手可能なＢｉｔＴｏｒｒｅｒｎｔ又はインターネット学会（Ｉｎｔｅｒｎｅｔ  Ｓｏｃｉｅｔｙ）により公開されたＨＴＴＰ１．１プロトコルがある。他の実施形態では、他のプロトコル、及び／又は、機構を用いて、メディアサーバからメディアファイルの特定の部分を取得することができる。
【００３１】
図８〜１１に、インデックス構造体を用いた処理の一実施形態を示す。メディアファイル、例えば、Ｍファイル１２０を、例えば、再生デバイス、又は、具体的には、再生デバイスの再生エンジンからのメディアファイルの要求に基づいてメディアサーバから受信する（１１１）。要求されたメディアファイルを特定すると、メディアサーバは、メディアファイルの時間で全て又は部分を再生デバイスに送信する。一実施形態の再生デバイスは、送信されたメディアファイルを復号して、階層インデックスを特定する（１１２）。かかる実施形態では、図９に示すように、再生デバイスはファイルを、ＥＢＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｂｉｎａｒｙ  Ｍｅｔａ  Ｌａｎｇｕａｇｅ）要素１２８から開始して、セグメント要素１２９、続いてシークヘッド１２１のコンテンツと、横断的に解析をして、階層インデックス１２７を特定する。このようにして、セグメントインフォ１２２、トラック１２３、チャプタ１２４、クラスタ１２５、キュー１２６は、解析が可能であったとしても、飛び越されて、迅速に階層インデックスが特定される。特定されたインデックスは、メモリにロードされる（１１３）。インデックスをメモリにロードすることは、再生デバイスが再生する、又は、アクセスする所望のパケット又はフレームを特定するためのアクセスを容易にする。
【００３２】
階層インデックスは、多くの低メモリ再生デバイス、例えば、低レベル家庭用電子機器にとっても十分小さいので、全てのインデックスをメモリに保持することができる。したがって、複雑なキャッシング方式を不要とする。インデックスが大きすぎてメモリに保存できない場合、又は、一般的により実行可能な場合、検索精度にロスが発生しない。インデックスはルックアップテーブル、又は、キューに至る機構、トラックの各々の定義された検索ポイントであり、実際の検索ポイントではないので、所望の検索ポイントのキューを検索する場合、インデックスの一部が喪失しても、いくつかの追加の読み込みをすることができる。再生デバイスは、送信されたメディアファイルのフレーム又はビットストリームパケットにアクセスして、メディアファイルのオーディオ、ビデオ、及び／又は、サブタイトルを再生する（１１４）。
【００３３】
ユーザの要求、例えば、トリック再生要求を受けると、再生デバイスは、ロードされた、又はキャッシュされた階層インデックスを検索して、所望の時間又は検索ポイントと同一、又は最寄りの先行するエントリ又は階層ポイントを見つけ出す（１１５）。一実施形態では、特定の階層ポイントを、再生しているコンテンツのプレゼンテーション時間又はタイムスタンプ、及びユーザの要求、例えば、トリック再生機能の速度、及び／又は、方向に基づいて特定する。図１０〜１１に図示のケースでは、所望のタイムスタンプはビットストリームの内部で６１０秒とする。
【００３４】
図１０に、インデックス時間ゼロ（階層インデックス時間１３１）から開始してインデックス時間６００（階層インデックス時間１３２）までの合計で６階層のアクセスポイント１３０を示す。この図において５つの階層ポイントは図示していない。所望の検索時間（この場合、インデックス時間６００）に最も近い階層ポイントを特定した後、インデックス位置又はオフセット１３４をトラック位置１３３から取り出して、所望の検索ポイントを含むキューの部位を特定する（１１６）。再生デバイスは、特定されたキューの部位を検索し（１１７）、所望の時間又は検索ポイントと同一、又は最寄りの先行するエントリを特定するまでキューの読み出しを行う（１１８）。
【００３５】
特定したキューを用いて、再生デバイスは、オフセットを取り出して、所望のクラスタを検索して見つけ出す（１１９）。所望のタイムスタンプ、例えば、６１０として、対応するタイムスタンプを有する所望のクラスタのブロックを特定して、再生デバイスによる再生のために復号する（１２０）。この処理は、ユーザがメディアファイルの再生停止を要求するまで継続する。
【００３６】
この概念は、さらに、図１１で明確になる。６００の階層インデックス時間は、既に図１０を参照して説明したように、階層インデックス構造体１２７から識別される。この特定の例では、キュー構造体１５１の内部のインデックス位置を用いて、時間６１０（キュー時間１５３）に対応する特定のキューポイント１５２にアクセスする。トラック位置１５４とクラスタ位置１５５のデータを介して、キューポイント１５２は一般的に、数秒分のマルチメディアデータを収納（ｈｏｓｔ）することができるクラスタ構造体１６０を指し示す。
【００３７】
クラスタ１６０の内部のマルチメディアデータは、エレメンタリストリームのオーディオ、ビデオ、サブタイトル、又はその他のマルチメディア情報の一以上のアクセスユニットに対応する個々のデータのブロックが存在するブロックグループ１６３として保存することができる。このように、クラスタは、ブロックグループを含むが、単純なブロックのみを含むこともできる。ブロックグループが存在しない場合、クラスタが個々のブロック又は単純なブロックを収納することもできる。キューポイント１５２から対応するクラスタ位置１５５を使用して、クラスタ１６０を特定し、そのタイムスタンプ（ブロック時間１６２）に基づいて所望のブロック１６１を識別することができる。正確なタイムスタンプに適合しない場合は、最も近いタイムスタンプを有するブロックを識別することができる。
【００３８】
特定の時間に従ってブロックを特定する手順をマルチメディアデータの複数のトラックについて反復して、対応するブロックのデータの全てを同期させて提示してもよい。
【００３９】
以上、特定の本発明の実施形態について説明したが、個々の実施形態は例示にすぎず、本発明の範囲はこれらに限定されるものではない。したがって、本発明の範囲は、例示の実施形態によって判断されるものではなく、添付の特許請求の範囲等によって判断されるべきである。
【図１】
0005513400.tif 000002
【図２Ａ】
0005513400.tif 000003
【図２Ｂ】
0005513400.tif 000004
【図２Ｃ】
0005513400.tif 000005
【図２Ｄ】
0005513400.tif 000006
【図３】
0005513400.tif 000007
【図４】
0005513400.tif 000008
【図５】
0005513400.tif 000009
【図６】
0005513400.tif 000010
【図７】
0005513400.tif 000011
【図８】
0005513400.tif 000012
【図９】
0005513400.tif 000013
【図１０】
0005513400.tif 000014
【図１１】
0005513400.tif 000015