(57)【要約】  コンピュータ可読媒体上に記憶されているメディアファイルの再生リストの効率的なナビゲーションを可能にする。本発明の態様は、１つ又は２つ以上の再生リストユニットを有する再生リスト構造を定義する。各再生リストユニットは、再生リストの１つ又は２つ以上のメディアファイルを識別し、該メディアファイルのメタデータを含む。一般消費者向け電子デバイスは、再生リストユニットを取り出し、再生リストユニットに含まれるメタデータをユーザに表示して、再生リストのナビゲーションを可能にする。本発明の態様は、一般消費者向け電子デバイスのメモリ所要量を削減し、再生リストのナビゲーションに必要なディスクシークオペレーションの回数を削減する。【選択図】  図３
2008547154.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ可読媒体上に記憶されているメディアファイルの再生リスト(playlist)の効率的なナビゲーションを可能にするためのコンピュータ化された方法であって、
再生リストに関連付けられている１つ又は２つ以上のメディアファイルを識別するステップ、
前記識別されたメディアファイルのメディアファイル参照子を定義するステップ、
前記識別されたメディアファイルのそれぞれに対応するメタデータを検索するステップ、及び
前記メディアファイルをレンダリングする前に前記メディアファイルのユーザ選択を支援するために、前記定義されたメディアファイル参照子及び前記検索されたメタデータを、前記再生リストを表す１つ又は２つ以上の再生リストユニットに記憶するステップ
を含む、コンピュータ化された方法。
【請求項２】
請求項１に記載のコンピュータ化された方法において、
前記再生リストユニットのそれぞれは、それに関連付けられたサイズ制限を有し、前記メディアファイル参照子及び前記検索されたメタデータを記憶するステップは、
前記メディアファイル参照子及び前記検索されたメタデータを記憶する再生リストユニットの数量を前記サイズ制限の関数として決定するステップ、及び
前記メディアファイル参照子及び前記検索されたメタデータを前記決定された数量の再生リストユニットに記憶するステップ
を含む、方法。
【請求項３】
請求項１に記載のコンピュータ化された方法において、
各再生リストユニットは、それに関連付けられたサイズ制限を有し、前記メディアファイル参照子及び前記検索されたメタデータを記憶するステップは、
前記サイズ制限に達するまで、前記メディアファイル参照子及び該メディアファイル参照子に対応する前記検索されたメタデータの少なくとも一部を第１の再生リストユニットに継続的に記憶するステップ、
前記第１の再生リストユニットをクローズするステップ、
第２の再生リストユニットをオープンするステップ、及び
前記メディアファイル参照子及び該メディアファイル参照子に対応する前記検索されたメタデータの少なくとも残りの部分を前記オープンされた第２の再生リストユニットに継続的に記憶するステップ
を含む、方法。
【請求項４】
請求項１に記載のコンピュータ化された方法であって、
前記再生リストユニットのうちの１つを受け取るステップ、及び
前記受け取られた再生リストユニット内に記憶されている前記メタデータの一部をユーザに表示し、それによって、前記メタデータの一部に関連付けられているメディアファイルのユーザ選択を可能にする、ステップ
をさらに含む、方法。
【請求項５】
請求項４に記載のコンピュータ化された方法であって、
前記ユーザからメディアファイル選択を受け取るステップ、及び
前記受け取られたメディアファイル選択に関連付けられている前記メディアファイルを、前記メディアファイル選択に関連付けられている前記メディアファイル参照子を介してレンダリングするステップ
をさらに含む、方法。
【請求項６】
請求項１に記載のコンピュータ化された方法において、
前記メタデータを検索するステップは、前記メディアファイル参照子を介して前記メディアファイルから前記メタデータを検索するステップを含む、方法。
【請求項７】
請求項１に記載のコンピュータ化された方法において、
前記識別されたメディアファイルの前記メディアファイル参照子を定義するステップは、前記識別されたメディアファイルのそれぞれへのポインタを定義するステップを含む、方法。
【請求項８】
請求項１に記載のコンピュータ化された方法において、
前記メディアファイル参照子及び前記検索されたメタデータを記憶するステップは、コンピュータ可読媒体上において、該コンピュータ可読媒体に関連付けられているセクタサイズから導出されたサイズをそれぞれ有する１つ又は２つ以上の再生リストユニットに前記メディアファイル参照子及び前記検索されたメタデータを記憶するステップを含む、方法。
【請求項９】
請求項１に記載のコンピュータ化された方法において、
前記再生リストユニットのすべては、同じサイズを有する、方法。
【請求項１０】
請求項１に記載のコンピュータ化された方法において、
前記再生リストユニットのそれぞれは、２０４８バイトのメモリを占有する、方法。
【請求項１１】
請求項１に記載のコンピュータ化された方法において、
１つ又は２つ以上のコンピュータ可読媒体が、請求項１に記載のコンピュータ化された方法を実行するためのコンピュータ実行可能命令を有する、方法。
【請求項１２】
複数のメディアファイルが関連付けられている再生リストをナビゲートするためのコンピュータ実行可能コンポーネントを有する１つ又は２つ以上のコンピュータ可読媒体であって、前記コンポーネントは、
メモリエリアに記憶されている複数の再生リストユニットの１つを検索するための再生リストコンポーネントであって、前記再生リストユニットは、集合的に再生リストを表す、再生リストコンポーネントと、
インターフェースコンポーネントによって検索された前記再生リストユニット内に記憶されているメタデータを取得するためのパーサコンポーネントであって、前記メタデータは、前記再生リストに関連付けられているメディアファイルを記述する、パーサコンポーネントと、
前記パーサコンポーネントによって取得された前記メタデータをユーザに表示し、前記ユーザからメディアファイル選択を受け取るためのユーザインターフェースコンポーネントと、
前記選択されたメディアファイルを前記ユーザにレンダリングするための再生コンポーネントと
を備える、１つ又は２つ以上のコンピュータ可読媒体。
【請求項１３】
請求項１２に記載のコンピュータ可読媒体において、
前記再生リストユニットのそれぞれは、前記メモリエリアに関連付けられているセクタサイズから導出されたサイズを有する、コンピュータ可読媒体。
【請求項１４】
請求項１２に記載のコンピュータ可読媒体において、
前記再生リストユニットのすべては、等しいサイズを有する、コンピュータ可読媒体。
【請求項１５】
コンピュータ可読媒体上に記憶されているメディアファイルの再生リストの効率的なナビゲーションを可能にするためのコンピュータ化されたシステムであって、
前記コンピュータ化されたシステムは、再生リストを表すデータ構造を記憶するメモリエリアと、コンピュータ実行可能命令を実行するように構成されているプロセッサとを備え、
前記データ構造は、１つ又は２つ以上の再生リストユニットを備え、
前記再生リストユニットのそれぞれは、
前記再生リストユニットに関連付けられている前記メディアファイルのそれぞれについてのコンテンツエントリーフィールドであって、前記メディアファイルのロケーションを識別するメディアファイル参照子を記憶する、コンテンツエントリーフィールドと、
前記コンテンツエントリーフィールドのそれぞれに関するメタデータフィールドであって、前記コンテンツエントリーフィールドに関連付けられている前記メディアファイルに関連付けられているメタデータを記憶する、メタデータフィールドと
を備え、
前記コンピュータ実行可能命令は、
再生リストに関連付けられている１つ又は２つ以上のメディアファイルを識別するためのコンピュータ実行可能命令と、
前記識別されたメディアファイルのメディアファイル参照子を定義するためのコンピュータ実行可能命令と、
前記識別されたメディアファイルのそれぞれに対応するメタデータを検索するためのコンピュータ実行可能命令と、
前記メディアファイルをレンダリングする前に前記メディアファイルのユーザ選択を支援するために、前記メモリエリアに記憶されている前記データ構造を、前記定義されたメディアファイル参照子及び前記検索されたメタデータでポピュレートするためのコンピュータ実行可能命令と
を含む、コンピュータ化されたシステム。
【請求項１６】
請求項１５に記載のコンピュータ化されたシステムにおいて、
前記再生リストユニットのそれぞれは、前記再生リストユニットの前記メディアファイルに関連付けられている１つ又は２つ以上のディレクトリパスを記憶するためのディレクトリフィールドをさらに備える、システム。
【請求項１７】
請求項１５に記載のコンピュータ化されたシステムにおいて、
前記再生リストユニットのそれぞれは、別の再生リストユニットへのオフセットを記憶するためのヘッダフィールドをさらに備える、システム。
【請求項１８】
請求項１５に記載のコンピュータ化されたシステムであって、
前記再生リストユニットを作成するための手段をさらに備える、システム。
【請求項１９】
請求項１５に記載のコンピュータ化されたシステムであって、
前記データ構造をポピュレートするための手段をさらに備える、システム。
【請求項２０】
請求項１５に記載のコンピュータ化されたシステムであって、
該システムは、レンダリングデバイスをさらに備え、
前記レンダリングデバイスは、
前記再生リストユニットの１つを受け取り、
前記受け取られた再生リストユニットから、前記再生リストのメディアファイルに対応するメタデータを検索し、
前記検索されたメタデータをユーザに表示し、
前記ユーザからメディアファイル選択を受け取り、
選択されたメディアファイルを前記ユーザにレンダリングする、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２００２年１０月１７日に出願された「Navigating Media Content via Groups within a Playlist」という発明の名称の同時係属中の米国特許出願第１０／２７３，４１５号の部分継続出願である。これによって、この米国特許出願は参照により援用される。この米国特許出願は、２００２年１０月１６日に出願された「COMPRESSED MEDIA FORMAT SPECIFICATION」という発明の名称の米国仮特許出願第６０／４１８，９７３号の利益を主張する。この米国仮特許出願は、現在、放棄されている。
【背景技術】
【０００２】
最近の技術の進歩により、コンピュータユーザは、今や、自身のパーソナルコンピュータ又はラップトップコンピュータ上でさまざまなメディア及びマルチメディアコンテンツを再生する等、改善されたユーザ体験を提供する多くの機能を楽しむことができる。たとえば、今日のほとんどのコンピュータは、コンパクトディスク（ＣＤ）を再生することができ、その結果、ユーザは、自身の好みの音楽アーティストを聴きながら、自身のコンピュータで作業を行うことができる。多くのコンピュータは、ユーザが映画を見ることができるようにデジタル多用途ディスク（ＤＶＤ）ドライブも装備している。
【０００３】
いくつかのマルチメディア環境では、コンピュータは、ムービングピクチャエキスパートグループオーディオレイヤ３（Moving Picture Experts Group audio layer-3）（ＭＰ３）ファイルやＷＩＮＤＯＷＳ（登録商標） ＭＥＤＩＡ技術オーディオ（WINDOWS（登録商標） MEDIA technologies audio）（ＷＭＡ）ファイル等の圧縮メディアファイルを記憶するコンピュータ可読媒体にアクセスすることができる。これらのメディアファイルが、コンピュータ上でレンダリングされる時、コンピュータは、通常、メディアファイルのアルバム、アーティスト、ジャンル、年等を記載したメタデータを記憶するデータベースにアクセスすることができる。圧縮メディアファイルがコンピュータ上で再生される時、コンピュータは、通常、このメタデータに基づいてメディアファイルを再生リスト(Playlist)に編成する。たとえば、オーディオメディアファイルの場合、これらのファイルは、アルバム、アーティスト、ジャンル、年、又はユーザが指定した或る選択及び順序によって編成することができる。これによって、ユーザは、再生リストを手作業で作成したか否かにかかわらず、自身のコンテンツのすべてに容易にアクセスすることが可能になる。
【０００４】
しかしながら、低電力プロセッサ、限られたメモリ、並びに多くの場合は限られた表示機能及び限られたユーザ入力機能を有するポータブルＣＤプレイヤ、カーレシーバ、ＤＶＤプレイヤ、又は他の一般消費者向け電子デバイス上で再生するために、圧縮メディアファイルがコンピュータからＣＤ又はＤＶＤ等の光フォーマットへ転送される時、メディアファイルは、従来、より大きなコンピューティングパワーを有するデバイス上でホスティングされたメタデータデータベースにより提供される機能の多くを失っていた。再生リストは、再生されるファイルのシーケンシャルリストにすぎないものに戻る。
【０００５】
さらに、多数のファイルを有する再生リストは、低電力デバイスがナビゲートするのは難しい。たとえば、いくつかの既存のシステムは、コンピュータ可読媒体上でメディアファイルとは別にメタデータを記憶する。メディアファイルをレンダリングし、メディアファイルに関連付けられているメタデータを表示するために、既存のシステムは、コンピュータ可読媒体の少なくとも２つの別個のエリアをシークしなければならない。レンダリングデバイスのディスクシークオペレーション及び検出オペレーション用のバッファが限られている場合、このようなレンダリングデバイスは、大規模な再生リストをナビゲートすることができない。たとえば、ローエンドポータブルＣＤプレイヤ等のレンダリングデバイスは、５秒のシーク時間を有する１００キロバイトのワーキングメモリを備えた８ビットの１ＭＨｚプロセッサしか備えていない。
【０００６】
他のシステムは、メディアファイル内にメタデータを記憶する。メディアファイルのメタデータを取得するために、既存のシステムは、再生リストの各メディアファイルをオープンして、メタデータを取得し表示しなければならない。再生リストのあらゆるメディアファイルをオープンすることは、遅く、複雑さを増加させる。既存のシステムは、無限個のメディアファイルをサポートし、且つ、最小電力のデバイスにおいても再生を可能にする再生リスト構造を提供していない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、これらの不利な点及び他の不利な点の１つ又は２つ以上に対処するために、大規模な再生リストの効率的なナビゲーションを可能にするためのシステムが望まれている。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、再生リスト構造を含む。この再生リストでは、再生リスト内のコンテンツへの参照子が、コンテンツに関連付けられているメタデータと共に、自己完結型で解析(parse)が容易である固定サイズの再生リストブロック、チャンク、ユニット、又は他の個別のエレメントに記憶される。メタデータは、低電力プロセッサ、限られたメモリ、並びに限られた表示機能及び限られたユーザ入力機能を有する一般消費者向け電子デバイスによるアクセス用のコンピュータ可読媒体に再生リストを記憶する時に保存される。再生リストユニットは、コンピュータ可読媒体（たとえば、ＣＤ又はＤＶＤ）のセクタサイズに調整されたサイズを有し、一般消費者向け電子デバイスによる効率的なロードを可能にローエンドのレンダリングデバイス又はレンダリングソフトウェアは、完全なメタデータ及び再生リストを取得して処理するために１つ又は２つ以上の再生リストユニットをメモリにロードすることだけが必要である。一実施形態では、再生リストユニットに記憶されているメタデータは、メディアファイルのファイル及びディレクトリの情報、メディアファイルのそれぞれのメタデータ、並びにそれらのファイルをレンダリングするための特定の再生リストデータを含む。
【０００９】
メタデータ及びメディアファイル参照子をロードが容易な再生リストユニットに記憶することによって、本発明の態様は、ディスクシークオペレーション及び検出オペレーションの回数を削減する。また、本発明のこれらの態様は、低電力又は限られたメモリを有するレンダリングデバイスが、大規模な再生リストを処理してナビゲートすることも可能にする。
【００１０】
代替的に、本発明の態様は、他のさまざまな方法及び装置も備えることができる。
【００１１】
他の特徴は、以下において、部分的に明らかになり、部分的に指し示されている。
【００１２】
付録Ａは、本発明の態様の再生リスト構造の例示的なグループデータを含む。
【００１３】
対応する参照文字は、図面全体を通じて対応する部分を示す。
【発明を実施するための最良の形態】
【００１４】
最初に図１を参照すると、ブロック図が、本発明を実施できる１つの例示的なメディア環境を示している。システム１００は、メディアコンテンツを提供する１つ又は２つ以上の一般消費者向け電子デバイス１１２に結合された１つ又は２つ以上のコンピュータ１０２を有する。メディアコンテンツには、オーディオデータ、ビデオデータ、及び／又は静止画像データが含まれる。たとえば、デバイス１１２は、コンパクトディスク（ＣＤ）プレイヤ１０４、カムコーダ１０６、又はカメラ１０８を含むことができる。加えて、デバイス１１２は、他のパーソナルコンピュータ、着脱可能ハードドライブ、ネットワークシェア、ムービングピクチャエキスパートグループオーディオレイヤ３（ＭＰ３）プレイヤ、自動車のオーディオシステム、携帯情報端末、携帯電話等も含むことができる。ユーザが、一般消費者向け電子デバイス１１２上で実施されるコンテンツを体験できるように、一般消費者向け電子デバイス１１２は、デジタルメディアをレンダリングするように構成された任意の適したレンダリングフィルタ又はメディアプレイヤ若しくはメディアデバイス（たとえば、ポータブルメディアデバイス）を含むことができる。たとえば、適したメディアプレイヤアプリケーションには、コンパクトディスク（ＣＤ）メディアプレイヤ、及び、デジタル多用途ディスク又はデジタルビデオディスク（ＤＶＤ）メディアプレイヤが含まれる。また、コンピュータ１０２も、プロセッサ及びレンダリングソフトウェアを含むレンダリング機能（たとえば、メディアプレイヤ）を有する。
【００１５】
本発明の一態様によって、ユーザ、すなわち、特に、コンピューティングデバイス１１２上で実行されるメディアプレイヤプログラムが、そのユーザのために、いわゆるメタデータにアクセスして、メタデータを取り出し、メタデータを表示することが可能になる。当業者はメタデータに精通しており、メタデータは、簡単にはデータについての情報である。この示した実施形態の状況では、メタデータは、メディアプレイヤで再生されているデジタルメディアファイルの特定のコンテンツに関係した情報を含む。基本的なメタデータには、タイトル、演奏者、ジャンル、トラック番号等が含まれるが、これらに限定されるものではない。拡張メタデータには、カバーアート、作曲者、コンテンツの説明、演奏者の経歴、論評、格付け（rating）、関係した演奏者、同様のアイテムの購入場所、次回のコンサート、チケット販売、及び、購入機会、スタジオ、ディレクタ等を含む他の関係した体験へのＵＲＬ等が含まれるが、これらに限定されるものではない。一実施形態では、拡張メタデータは、メディアファイルから検索された又はダウンロードされたメタデータ、及び、メディアファイルから計算（たとえば、ファイルストリームのデジタル信号処理）されたメタデータの２つの主要なカテゴリーに編成することができる。メタデータは、メディアファイル内に記憶することもできるし、メディアファイルにアクセス可能な又はメディアファイルに知られている別のファイルに記憶することもできる。
【００１６】
一例では、追加のメタデータが、データ通信ネットワーク１１３を介してメタデータプロバイダ１１１から入手可能である。コンピュータ１０２及びメタデータプロバイダ１１１は、データ通信ネットワーク１１３に結合されている。ネットワーク１１３には、一例ではインターネットが含まれるが、本発明の教示は、任意のデータ通信ネットワークに適用することができる。データ通信ネットワーク１１３は、たとえば、クライアント／サーバ通信又はピアツーピア接続をサポートすることができる。
【００１７】
一般消費者向け電子デバイス１１２又はコンピュータ１０２は、１つ又は２つ以上のコンピュータ可読媒体（たとえば、メモリエリア１２２）にアクセスすることができる。メモリエリア１２２は、図１では、一般消費者向け電子デバイス１１２のいずれかの一部であるように示されているが、一般消費者向け電子デバイス１１２から分離することができ、それでも、たとえばネットワークを介して一般消費者向け電子１１２にアクセス可能とすることができる。一実施形態では、メモリエリア１２２は、再生リスト１１４を記憶するための１つ又は２つ以上のコンピュータ可読媒体を含む。図１では、再生リスト１１４は、再生リストユニット＃１〜再生リストユニット＃Ｎ等の再生リストユニット１１６を有する。再生リストユニット１１６のそれぞれは、その再生リストユニット１１６に関連付けられているメディアファイルのそれぞれについての図２の「コンテンツエントリー」フィールド等のコンテンツエントリーフィールド（図示せず）と、各コンテンツエントリーフィールドについての図２の「テキスト１へのオフセット」フィールド等のメタデータフィールド（図示せず）とを含む。コンテンツエントリーフィールドは、メディアファイルのロケーションを識別するメディアファイル参照子を記憶する。メタデータフィールドは、コンテンツエントリーフィールドに関連付けられているメディアファイルに関連付けられているメタデータを記憶する。再生リスト構造は、以下で図２を参照してさらに詳細に説明する。
【００１８】
一実施形態では、一般消費者向け電子デバイス１１２（たとえば、ポータブルメディアデバイス）は、複数のメディアファイルが関連付けられている再生リスト１１４をナビゲートするためのコンピュータ実行可能命令を実行するように構成されている。これらのコンピュータ実行可能命令は、１つ又は２つ以上のコンポーネントに編成することができる。たとえば、一般消費者向け電子デバイス１１２は、再生リストコンポーネント１１８、パーサコンポーネント１２０、ユーザインターフェースコンポーネント１２２、及び再生コンポーネント１２４を記憶することができる。再生リストコンポーネント１１８は、メモリエリア１２２に記憶されている複数の再生リストユニット１１６のうちの１つを検索し、取得し、或いは受け取る。再生リストユニット１１６は、集合的に再生リスト１１４を表す。パーサコンポーネント１２０は、インターフェースコンポーネントによって検索された再生リストユニット１１６内に記憶されているメタデータを取得する。メタデータは、再生リスト１１４に関連付けられているメディアファイルを記述するものである。ユーザインターフェースコンポーネント１２２は、取得されたメタデータ又はその一部をユーザに表示して、表示されたメタデータに関連付けられているメディアファイルのユーザ選択を可能にする。ユーザインターフェースコンポーネント１２２は、メディアファイル選択をユーザから受け取る。再生コンポーネント１２４は、メディアファイル選択に関連付けられているメディアファイル参照子を介して、選択されたメディアファイルをユーザにレンダリングする。一実施形態では、再生リストユニット１１６のそれぞれは、メモリエリアに関連付けられているセクタサイズから導出されたサイズを有する。
【００１９】
また、コンピュータ１０２又は他のデバイス若しくはソフトウェアは、本発明の態様を実施するための１つ又は２つ以上の例示的なモジュール又はコンポーネントも有する。たとえば、コンピュータ１０２は、再生リスト１１４の効率的なナビゲーションを可能にする本明細書で説明する効率的な構造を有する再生リスト１１４を作成するためのコンピュータ実行可能命令を有することができる。このようなコンピュータ実行可能命令は図３に説明されている。
【００２０】
当業者は、本発明のソフトウェアが、任意の個数で且つ任意の編成のコンポーネント又はモジュールで実施できることに気付くであろう。すなわち、本発明は、再生リストコンポーネント１１８、パーサコンポーネント１２０、ユーザインターフェースコンポーネント１２２、再生コンポーネント１２４、及びコンピュータ１０２によって実行されるコンピュータ実行可能命令の特定の構成に限定されるものではなく、本明細書で説明するものよりも多くの個々の機能又は少ない個々の機能を有するより多くのコンポーネント又はより少ないコンポーネントを含むことができる。さらに、本発明は、メディアプレイヤ、オペレーティングシステム、ＤＶＤレコーダ、ＣＤレコーダ、ビデオカメラ、ハードドライブ、フラッシュドライブ、携帯情報端末、無線デバイス（たとえば、携帯電話）等において、ハードウェア、ソフトウェア、又はそれらの組み合わせで実施することができる。
【００２１】
次に図２を参照すると、１つの例示的なブロック図が、再生リスト構造を示している。一実施形態では、各再生リストは、nnnnnnnn.HMTファイル等の一意の<再生リスト>.HMTファイルとして表される。ここで、nnnnnnnnは、再生リスト識別子を表す、０で始まらない１６進数の大文字の文字列表現である。再生リストは、以下のメディアファイル、すなわち、オーディオファイル、ビデオファイル、画像ファイル（画像が表示されるべき最小継続期間及び各画像間で使用するトランジションと共に）、及び並列画像（parallel image）（たとえば、背景オーディオを有する画像スライドショー）の１つ又は２つ以上を含むことができる。さらに、一実施形態では、各再生リストをグループに編成することができる。オーディオ再生リストグループ、ビデオ再生リストグループ、時限付き画像（timed image）再生リストグループ、及び並列画像オーディオ再生リストグループの４つの異なるタイプの再生リストグループがある。オーディオ再生リストグループは、１つ又は２つ以上のオーディオファイルを有する。ビデオ再生リストグループは、１つ又は２つ以上のビデオファイルを有し、ビデオファイルの再生時に使用する開始ポイント及び終了ポイントを指定する機能をサポートする。時限付き画像再生リストグループは、１つ又は２つ以上の画像ファイルを有し、画像が表示されるべき最小継続期間及び各画像間で使用するトランジションを指定する機能をサポートする。並列画像オーディオ再生リストグループは、背景オーディオを有する画像スライドショーを可能にする。
【００２２】
図２の再生リスト構造は、一般に、ファイルヘッダ、オフセットグループテーブル、グループ名テーブル、及び再生リストユニットデータを含む。書き換え可能媒体上に作成される再生リストは、今後の編集を可能にするパッディングも含む。たとえば、パッディングは、オフセットグループテーブルの後とすることもできるし、グループ名テーブルの後とすることもできる。一実施形態では、パッディングのサイズは、各パッディングセクションについて最小で２，０４８バイトである。本発明の再生リストオーサリングソフトウェアが、再生リストに対して行われる多数の編集を予定している場合、当然、パッディングサイズを増加させることができる。
【００２３】
１つの例示的なファイルヘッダを以下に示す。
【００２４】
【表１】
2008547154.tif 000003
識別子フィールドは、テキスト文字列「PLISTHMT」等の８バイトのエントリーである。バージョンフィールドは、この再生リストファイルが準拠する仕様の対応バージョンを表す２バイトのエントリーである。「再生リストファイルのサイズ」フィールドは、バイトによるこの<再生リスト>.HMTファイルのサイズを含む４バイトのエントリーである。「再生リスト要約タイプ」フィールドは、再生リストのタイプ（たとえば、オーディオ、ビデオ、時限付き画像、又は並列画像）を指定する１バイトのエントリーである。「再生リストグループの個数」フィールドは、再生リストグループの数量を表す４バイトのエントリーである。「再生リストユニットの個数」フィールドは、この再生リストファイルにおける再生リストユニットの数量を表す４バイトのエントリーである。「再生リストユニットのサイズ」フィールドは、この再生リストファイルにおける再生リストユニットのバイトサイズを表す２バイトのエントリーである。「次に利用可能なグループＩＤ」フィールドは、この再生リストファイルにおける次に利用可能なグループ識別子を表す４バイトのエントリーである。「グループ名テーブルへのオフセット」フィールドは、ファイルの先頭からグループ名テーブルの先頭までのバイトオフセットを表す４バイトのエントリーである。「再生リストユニットデータへのオフセット」フィールドは、このファイルの先頭から再生リストユニットデータの先頭までのバイトオフセットを表す４バイトのエントリーである。「グループ名テーブルの後のパッディングへのオフセット」フィールドは、このファイルの先頭から、グループ名テーブルの後にあるパッディングの先頭までのバイトオフセットを表す４バイトのエントリーである。「オーサリングアプリケーションの名称」フィールドは、オーサリングアプリケーションの名称を表す６４バイトのエントリーである。
【００２５】
オフセットグループテーブルは、１つ又は２つ以上のオフセットグループエントリーのリストを含む。オフセットグループテーブルのオフセットグループエントリーは、再生リストファイルにおいてグループの再生順序でリストされている。１つの例示的なオフセットグループエントリーを以下の表に示す。
【００２６】
【表２】
2008547154.tif 000004
「グループＩＤ」フィールドは、このオフセットグループエントリーにおけるグループの識別子を表す４バイトのエントリーである。「グループのファイルインデックスの個数」フィールドは、このグループにおいて参照されるメディアファイルの個数を表す２バイトのエントリーである。たとえば、ファイルＡ、Ｂ、及びＣを次の順序Ａ、Ｂ、Ｃ、Ｂで参照する再生リストグループは、３ではなく４の値を有することになる。「グループの再生リストユニットの個数」フィールドは、このグループを含む再生リストユニットの個数を表す２バイトのエントリーである。「再生リストグループのタイプ」フィールドは、以下の表で定義される再生リストグループのタイプを表す１バイトのエントリーである。
【００２７】
【表３】
2008547154.tif 000005
「開始再生リストユニットインデックス」フィールドは、このグループを含む最初の再生リストユニットのインデックスを表す４バイトのエントリーである。「グループ名へのオフセット」フィールドは、再生リストファイルの先頭からグループ名長フィールドまでのバイトオフセットを表す４バイトのエントリーである。
【００２８】
グループ名テーブルは、１つ又は２つ以上のグループ名エントリーのリストを含む。各グループ名エントリーは、以下の例示的なフォーマットを使用するグループ名を含む。
【００２９】
【表４】
2008547154.tif 000006
「グループ名長」フィールドは、グループ名のバイト長を表す２バイトのエントリーである。「グループ名」フィールドは、テキスト文字列のグループ名である。
【００３０】
再生リストユニットは、１つ又は２つ以上のメディアファイルを参照する固定サイズのブロックである。一実施形態では、１０〜１５個のメディアファイルが、単一の再生リストユニットにおいて参照される。再生リストがさらに再生リストグループに編成される一実施形態では、再生リストユニットは、１つ又は２つ以上のグループを含むことができる。さらに、１つの再生リストグループが、複数の再生リストユニットにわたることもできる。再生リストユニットのそれぞれは、再生リストグループのすべて又は一部をレンダリングするデータを含む。このデータによって、プレイヤが非常に大規模な再生リストをレンダリングするのに必要なメモリが低減される。どの所与の時刻においても少なくとも１つの再生リストユニットをメモリに保持するのに十分なメモリを有することのみが、プレイヤに必要とされる。
【００３１】
１つの例示的な再生リストユニットは、以下に示すようなコンテンツの再生リストユニットヘッダ、ディレクトリテーブル、コンテンツテーブル、グループデータ、及びファイル名を含む。空の再生リストユニットが再生リストファイルに存在する場合がある。空の再生リストユニットは、再生リストユニットヘッダのみを含み、この再生リストユニットヘッダでは、「前の再生リストユニットインデックス」フィールド及び「次の再生リストユニットインデックス」を除くすべてのフィールドは０である。再生リストユニットの内部におけるオフセットは、再生リストユニットの先頭に対して相対的なものである。これによって、各再生リストユニットは、他の情報なしで解釈できる自己完結型のユニットとなることが可能である。ＤＶＤ媒体の場合、再生リストユニットのサイズは、ＤＶＤ媒体のセクタサイズに対応して２，０４８バイトである。加えて、再生リストユニットは、再生順序になっている。再生リストユニットは、一実施形態では等しいサイズを有するが、本発明は、異なるサイズ（たとえば、倍数）の再生リストで動作することができる。
【００３２】
【表５】
2008547154.tif 000007
各再生リストユニットの「ファイル名／テキスト文字列」フィールドは、再生リストユニットのファイルのテキストデータ（たとえば、メタデータ）を含む連続したバイトセクションである。このテキストデータには、たとえば、再生リストユニットにおけるファイルのファイル名、ディレクトリ名、及びテキストメタデータ、並びに関連付けられているグループ名が含まれる。文字列のそれぞれは、テキストデータ構造としてフォーマットされる。一実施形態では、本発明のオーサリングアプリケーションは、「ファイル名／テキスト文字列」フィールドに重複した文字列を追加しないことによって空間を保存し、その代わり、オーサリングアプリケーションは、「ファイル名／テキスト文字列エリア」のその１つのインスタンスを参照する。
【００３３】
１つの例示的な再生リストユニットヘッダを以下に示す。
【００３４】
【表６】
2008547154.tif 000008
「前の再生リストユニットインデックス」フィールドは、現在の再生リストユニットに先行する再生リストユニットのインデックスを表す４バイトのエントリーである。０の値は、現在の再生リストユニットが最初の再生リストユニットであることを示す。「次の再生リストユニットインデックス」フィールドは、次の再生リストユニットのインデックスを表す４バイトのエントリーである。０の値は、現在の再生リストが最後の再生リストユニットであることを示す。「再生リストユニットのディレクトリの個数」フィールドは、現在の再生リストユニットにおけるディレクトリテーブルエントリーの個数を表す２バイトのエントリーである。「再生リストユニットのコンテンツの個数」フィールドは、現在の再生リストユニットに含まれるコンテンツエントリーの個数を表す２バイトのエントリーである。「再生リストユニットのグループの個数」フィールドは、部分的なグループを含めて、この再生リストユニットに含まれるグループの個数を表す２バイトのエントリーである。「コンテンツテーブルへのオフセット」フィールドは、この再生リストユニットの先頭からコンテンツテーブルまでのバイトオフセットを表す２バイトのエントリーである。「グループデータへのオフセット」フィールドは、この再生リストユニットの先頭からグループデータまでのバイトオフセットを表す２バイトのエントリーである。「パッディングへのオフセット」フィールドは、この再生リストユニットの先頭からパッディングまでのバイトオフセットを表す２バイトのエントリーである。「ファイル名／テキスト文字列へのオフセット」フィールドは、この再生リストユニットの先頭からファイル名／テキスト文字列データまでのバイトオフセットを表す２バイトのエントリーである。
【００３５】
以下に示すような再生リストユニットのディレクトリテーブルは、メモリストレージの最適化のために、同じ再生リストユニットのコンテンツテーブルにおいて参照されるディレクトリしか含まない。以下の例示的なディレクトリテーブルは、再生リストユニットのメディアファイルに関連付けられている１つ又は２つ以上のディレクトリパスを記憶する。
【００３６】
【表７】
2008547154.tif 000009
「親ディレクトリ番号」フィールドは、親ディレクトリのディレクトリテーブルにおけるインデックスを表す２バイトのエントリーである。「ディレクトリ名へのオフセット」フィールドは、現在の再生リストユニットの先頭からディレクトリ名のテキストデータまでのオフセットを表す２バイトのエントリーである。「ディレクトリＩＤ」フィールドは、このディレクトリのディレクトリ識別子を表す４バイトのエントリーである。
【００３７】
コンテンツテーブルは、コンテンツエントリーのリストを含む。再生リストユニットにおいて参照される一意の各ファイルについて１つのコンテンツエントリーがある。１つの例示的なコンテンツエントリーは、以下の表に定義されるようにフォーマットされる。
【００３８】
【表８】
2008547154.tif 000010
「ファイルタイプ」フィールドは、ファイルタイプ（たとえば、データ符号化フォーマット及びファイルフォーマット）を表す２バイトのエントリーである。「特別フラグ」フィールドは、このファイルの特別な属性を要約する２バイトのエントリーである。「メディアファイルＩＤ」フィールドは、現在のメディアファイルエントリーに対応する識別子を表す４バイトのエントリーである。「ディレクトリ番号」フィールドは、現在のメディアファイルを含むディレクトリのディレクトリテーブルにおけるインデックスを表す２バイトのエントリーである。１の値は、ディレクトリテーブルにリストされた最初のディレクトリを示す。「トラック番号」フィールドは、オーディオファイルのトラック番号を含む２バイトのエントリーである。０の値は、トラック番号を示さない。画像ファイル及びビデオファイルは、このフィールドが０に設定される。継続期間フィールドは、現在のメディアファイルの継続期間をミリ秒で含む４バイトのエントリーである。画像ファイルは０の値を有する。「縦サイズ」フィールドは、画像ファイル又はビデオファイルの縦サイズをピクセルで表す２バイトのエントリーである。オーディオファイルは０の値を有する。「横サイズ」フィールドは、画像ファイル又はビデオファイルの横サイズをピクセルで表す２バイトのエントリーである。オーディオファイルは０の値を有する。
【００３９】
一実施形態では、各メディアファイルに関連付けられているメタデータは、テキスト１、テキスト２、テキスト３、テキスト４、テキスト５等のフィールドに編成される。テキストフィールドのそれぞれにおけるメタデータは、メタデータに関連付けられているメディアファイルのタイプに応じて、アルバム、アーティスト、映画タイトル等の特定のメタデータを表すことができる。「テキスト１へのオフセット」フィールドは、現在の再生リストユニットの先頭からテキスト１データのテキストデータまでのオフセットを表す２バイトのエントリーである。「テキスト２へのオフセット」フィールドは、現在の再生リストユニットの先頭からテキスト２データのテキストデータまでのオフセットを表す２バイトのエントリーである。「テキスト３へのオフセット」フィールドは、現在の再生リストユニットの先頭からテキスト３データのテキストデータまでのオフセットを表す２バイトのエントリーである。「テキスト４へのオフセット」フィールドは、現在の再生リストユニットの先頭からテキスト４データのテキストデータまでのオフセットを表す２バイトのエントリーである。「テキスト５へのオフセット」フィールドは、現在の再生リストユニットの先頭からテキスト５データのテキストデータまでのオフセットを表す２バイトのエントリーである。「ファイル名へのオフセット」フィールドは、現在の再生リストユニットの先頭から、現在のメディアファイルのファイル名を含むテキストデータ構造までのオフセットを表す２バイトのエントリーである。
【００４０】
コンテンツエントリーのテキストフィールドへのメタデータの１つの例示的なマッピングが、以下の表に概説されている。
【００４１】
【表９】
2008547154.tif 000011
「グループデータ」フィールドは、付録Ａに説明されている。
【００４２】
次に図３を参照すると、１つの例示的なフローチャートが、再生リスト作成ソフトウェアのオペレーションを示している。本発明は、図２に示すような再生リスト構造をポピュレートする再生リスト作成ソフトウェア、再生リストオーサリングソフトウェア等を含む。本発明の再生リストオーサリング方法は、メタデータとコンテンツ（たとえば、メディアファイル）との間に再生リストユニット空間を割り当てる。たとえば、再生リストユニットは、１つのメディアファイル参照子及びすべてのメタデータを含むことができる。一実施形態では、再生リストユニットのすべてが、再生リストユニットを記憶するコンピュータ可読媒体のセクタサイズから導出された等しいサイズを有する。たとえば、再生リストユニットサイズは、ＤＶＤ媒体用に２０４８バイトとすることができる。
【００４３】
本発明は、図３に示すようなメディアファイルの再生リストの効率的なナビゲーションを可能にするためのコンピュータ化された方法を含む。このコンピュータ化された方法は、メディアファイルをレンダリングする前にメディアファイルのユーザの選択を支援する。このコンピュータ化された方法は、３０２における、再生リストに関連付けられている１つ又は２つ以上のメディアファイルを識別するステップ、及び３０４における、識別されたメディアファイルのメディアファイル参照子を定義するステップを含む。一実施形態では、メディアファイル参照子を定義するステップは、識別されたメディアファイルのそれぞれへのポインタを定義するステップを含む。また、このコンピュータ化された方法は、３０６における、識別されたメディアファイルのそれぞれに対応するメタデータを（たとえば、定義されたメディアファイル参照子を介して）検索するステップも含む。さらに、このコンピュータ化された方法は、３０８における、定義されたメディアファイル参照子及び検索されたメタデータを１つ又は２つ以上の再生リストユニットに記憶するステップも含む。たとえば、このコンピュータ化された方法は、図２の再生リストデータ構造を、定義されたメディアファイル参照子及び検索されたメタデータでポピュレートする。再生リストユニットは、集合的に再生リストを構成する。
【００４４】
本発明は、特定の再生リストオーサリング方法に限定されるものではない。さまざまな再生リストオーサリング方法が、本発明の範囲内にある。１つの特定の例では、本発明再生リストオーサリング方法は、２つの再生リストユニットデータ構造を同時にポピュレートする。これらの再生リストデータ構造の一方のサイズが再生リストユニットサイズを超えているとき、この方法は、他方の再生リストユニットを「完全な（full）」再生リストユニットであるとみなす。
【００４５】
本発明の再生リストオーサリング方法の別の例は、メディアファイル参照子及び検索されたメタデータを記憶する再生リストユニットの数量を、各再生リストユニットのサイズの関数として求めるステップを含む。この方法は、求められた数量の再生リストユニットにメディアファイル参照子及び検索されたメタデータを記憶する。メディアファイル参照子及び検索されたメタデータを記憶するための別の例示的な方法は、メディアファイル参照子及びそれに対応する検索されたメタデータの少なくとも一部を第１の再生リストユニットに、その再生リストユニットサイズに達するまで継続的に記憶するステップを含む。この方法は、第１の再生リストユニットをクローズし、第２の再生リストユニットをオープンし、メディアファイル参照子及びそれに対応する検索されたメタデータの少なくとも残りの部分を、オープンされた第２の再生リストユニットに継続的に記憶する。
【００４６】
一実施形態では、１つ又は２つ以上のコンピュータ可読媒体が、図３に示すコンピュータ化された方法を遂行するためのコンピュータ実行可能命令を有する。
【００４７】
次に図４を参照すると、１つの例示的なフローチャートが、一実施形態における再生リストユニットの作成を示している。４０２において、メディアファイル番号及び再生リストユニット（「ユニット」）番号が１に設定される。この方法は、一実施形態では、４０４において、現在のメディアファイル番号に対応するメディアファイルのメタデータ文字列を取得する。各メタデータ文字列について、この方法は、４０６において、メタデータ文字列が現在の再生リストユニットにすでに記憶されているか否かを判断する。すでに記憶されている場合、現在の再生リストユニットにおける記憶されているメタデータ文字列のロケーションが留意される（noted）（その後、４１４において記憶される）。４０６において、取得されたメタデータ文字列が、現在の再生リストユニットにまだ記憶されていない場合、メタデータ文字列は、（たとえば、４１４において）現在の再生リストユニットに追加されるメタデータに追加される。４０８において、現在の再生リストユニットに追加されるべき再生リストエントリーデータ及びメタデータが、現在の再生リストユニットに適合する場合、この方法は、４１４において、再生リストエントリーデータ及びメタデータを現在のユニットに書き込む。４１６において、メディアファイル番号がインクリメントされ、４１８において、処理されるファイルがさらにあるか否かについての判断が行われる。処理されるファイルがそれ以上ない場合には、この方法は、４２０において、最後のユニットを書き込む。処理されるファイルがさらにある場合、４０４において、処理される次のメディアファイルのメタデータが取得される。４０８において、現在の再生リストユニットに追加される再生リストエントリーデータ及びメタデータが、現在の再生リストユニットに適合していない場合、この方法は、この実施形態では、４１０において、ユニットを（たとえば、コンピュータ可読媒体に）書き込み、４１２において、ユニット番号をインクリメントし、次いで、４０６に進む。
【００４８】
次に図５を参照すると、１つの例示的なフローチャートが、一実施形態における、再生リストユニットを使用する再生リストの再生を示している。５０２において、再生リストユニット番号が１に設定される。５０４において、現在のユニット内のメディアファイル番号が１に設定される。５０６において、現在メディアファイル番号に対応するメディアファイルがレンダリング（たとえば、再生）される。５０８において、再生するメディアファイルが、現在の再生リストユニットにさらにある場合、５１０において、メディアファイル番号がインクリメントされ、５０６において、次のメディアファイルが再生される。５０８において、再生するメディアファイルが、現在の再生リストユニットにそれ以上なく、且つ、５１２において、再生リストにユニットがそれ以上ない場合には、この方法は、一実施形態では、５１４において、再生リストメニューに戻る。５１２において、ユニットが再生リストにさらにある場合、５１６において、ユニット番号がインクリメントされ、この方法は、次に、５０４において、現在のユニットについて、メディアファイル番号を１にリセットする。
例示的な動作環境
図６は、汎用コンピューティングデバイスの一例をコンピュータ１３０の形態で示している。本発明の一実施形態では、コンピュータ１３０等のコンピュータは、本明細書に図示して説明した他の図面での使用に適したものである。コンピュータ１３０は、１つ又は２つ以上のプロセッサ又は処理ユニット１３２、及び、システムメモリ１３４を有する。この図示した実施形態では、システムバス１３６は、システムメモリ１３４を含むさまざまなシステムコンポーネントをプロセッサ１３２に結合する。バス１３６は、いくつかのタイプのバス構造のいずれかの１つ又は２つ以上を表す。これらのバス構造には、さまざまなバスアーキテクチャのいずれかを使用するメモリバス又はメモリコントローラ、周辺バス、アクセラレイティッドグラフィックスポート、及びプロセッサバス又はローカルバスが含まれる。限定ではなく例として、このようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクス規格協会（ＶＥＳＡ）ローカルバス、及びメザニンバス（Mezzanine bus）としても知られている周辺コンポーネント相互接続（ＰＣＩ）バスが含まれる。
【００４９】
コンピュータ１３０は、通常、少なくともいくつかの形態のコンピュータ可読媒体を有する。コンピュータ可読媒体には、揮発性媒体及び不揮発性媒体の双方、着脱可能媒体及び着脱不能媒体の双方が含まれる。コンピュータ可読媒体は、コンピュータ１３０がアクセスできる任意の利用可能な媒体とすることができる。限定ではなく例として、コンピュータ可読媒体には、コンピュータストレージ媒体及び通信媒体が含まれる。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶するための任意の方法又は技術で実施された揮発性及び不揮発性の着脱可能及び着脱不能な媒体が含まれる。たとえば、コンピュータストレージ媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気ストレージデバイス、又は、所望の情報を記憶するのに使用でき、且つ、コンピュータ１３０がアクセスできる他の任意の媒体が含まれる。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波や他のトランスポートメカニズム等の変調されたデータ信号で実施し、任意の情報配信媒体が含まれる。当業者は、変調されたデータ信号に精通しており、変調されたデータ信号は、その特性の１つ又は２つ以上が、信号の情報を符号化するように設定又は変更されている。有線ネットワーク又は直接有線接続等の有線媒体、並びに、音響、ＲＦ、赤外線、及び他の無線媒体等の無線媒体が、通信媒体の例である。上記のもののいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれる。
【００５０】
システムメモリ１３４は、着脱可能及び／又は着脱不能な揮発性及び／又は不揮発性のメモリの形態のコンピュータストレージ媒体を含む。図示した実施形態では、システムメモリ１３４は、読み出し専用メモリ（ＲＯＭ）１３８及びランダムアクセスメモリ（ＲＡＭ）１４０を含む。起動中等にコンピュータ１３０内のエレメント間の情報の転送を助ける基本ルーチンを含んだ基本入出力システム１４２（ＢＩＯＳ）は、通常、ＲＯＭ１３８に記憶されている。ＲＡＭ１４０は、通常、処理ユニット１３２にとって直ちにアクセス可能であり且つ／又は処理ユニット１３２によって現在処理されているデータ及び／又はプログラムモジュールを含む。限定ではなく例として、図６は、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、及びプログラムデータ１５０を示している。
【００５１】
また、コンピュータ１３０は、他の着脱可能／着脱不能な揮発性／不揮発性コンピュータストレージ媒体も含むことができる。たとえば、図６は、着脱不能不揮発性磁気媒体からの読み出し又はこの媒体への書き込みを行うハードディスクドライブ１５４を示している。また、図６は、着脱可能不揮発性磁気ディスク１５８からの読み出し又はこのディスク１５８への書き込みを行う磁気ディスクドライブ１５６、及び、ＣＤ−ＲＯＭ又は他の光媒体等の着脱可能不揮発性光ディスク１６２からの読み出し又はこの光ディスク１６２への書き込みを行う光ディスクドライブ１６０も示している。この例示的な動作環境で使用できる他の着脱可能／着脱不能な揮発性／不揮発性コンピュータストレージ媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ等が含まれるが、これらに限定されるものではない。ハードディスクドライブ１５４、並びに、磁気ディスクドライブ１５６及び光ディスクドライブ１６０は、通常、インターフェース１６６等の不揮発性メモリインターフェースによってシステムバス１３６に接続される。
【００５２】
上述し且つ図６に示したドライブ又は他のマスストレージデバイス及びそれらに関連付けられているコンピュータストレージ媒体は、コンピュータ１３０のコンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータのストレージを提供する。図６では、たとえば、ハードディスクドライブ１５４は、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、及びプログラムデータ１７６を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、及びプログラムデータ１５０と同じであってもよいし、異なってもよいことに留意されたい。オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、及びプログラムデータ１７６は、最低でも、これらが、異なるコピーであることを示すために、ここでは、異なる番号が与えられている。
【００５３】
ユーザは、キーボード１８０やポインティングデバイス１８２（たとえば、マウス、トラックボール、ペン、又はタッチパッド）等の入力デバイス又はユーザインターフェース選択デバイスを通じてコンピュータ１３０内にコマンド及び情報を入力することができる。他の入力デバイス（図示せず）には、マイク、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ等が含まれ得る。これらの入力デバイス及び他の入力デバイスは、システムバス１３６に結合されたユーザ入力インターフェース１８４を通じて処理ユニット１３２に接続されているが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）等の他のインターフェース及びバス構造によって接続することもできる。モニタ１８８又は他のタイプの表示デバイスも、ビデオインターフェース１９０等のインターフェースを介してシステムバス１３６に接続されている。モニタ１８８に加えて、コンピュータは、多くの場合、プリンタ及びスピーカ等の他の周辺出力デバイス（図示せず）も含む。これら他の周辺出力デバイスは、出力周辺インターフェース（図示せず）を通じて接続することができる。
【００５４】
コンピュータ１３０は、リモートコンピュータ１９４等の１つ又は２つ以上のリモートコンピュータへの論理接続を使用してネットワーク接続環境で動作することができる。リモートコンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、又は他の一般的なネットワークノードとすることができ、通常、コンピュータ１３０に関して上述したエレメントの多く又はすべてを含む。図６に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ）１９６及びワイドエリアネットワーク（ＷＡＮ）１９８が含まれるが、他のネットワークも含まれ得る。ＬＡＮ１３６及び／又はＷＡＮ１３８は、有線ネットワーク、無線ネットワーク、それらの組み合わせ等とすることができる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、及びグローバルコンピュータネットワーク（たとえば、インターネット）では一般的である。
【００５５】
コンピュータ１３０は、ローカルエリアネットワーキング環境で使用されるとき、ネットワークインターフェース又はアダプタ１８６を通じてＬＡＮ１９６に接続される。コンピュータ１３０は、ワイドエリアネットワーキング環境で使用されるとき、通常、インターネット等のＷＡＮ１９８により通信を確立するためのモデム１７８又は他の手段を含む。モデム１７８は、内蔵又は外付けとすることができ、ユーザ入力インターフェース１８４又は他の適切なメカニズムを介してシステムバス１３６に接続されている。ネットワーク接続環境では、コンピュータ１３０に関して示したプログラムモジュール又はその一部は、リモートメモリストレージデバイス（図示せず）に記憶することができる。限定ではなく例として、図６は、リモートアプリケーションプログラム１９２を、メモリデバイス上に存在するものとして示している。図示したネットワーク接続は、例示であり、コンピュータ間の通信リンクを確立する他の手段を使用することもできる。
【００５６】
一般に、コンピュータ１３０のデータプロセッサは、コンピュータのさまざまなコンピュータ可読ストレージ媒体に異なる時刻に記憶された命令によってプログラミングされる。プログラム及びオペレーティングシステムは、通常、たとえば、フロッピー（登録商標）ディスク又はＣＤ−ＲＯＭで配布される。そこから、それらのプログラム及びオペレーティングシステムは、コンピュータの２次メモリにインストール又はロードされる。実行時には、それらのプログラム及びオペレーティングシステムは、コンピュータの１次電子メモリに少なくとも部分的にロードされる。これらのタイプのコンピュータ可読ストレージ媒体及び他のさまざまなタイプのコンピュータ可読媒体が、マイクロプロセッサ又は他のデータプロセッサと共に以下に説明するステップを実施するための命令又はプログラムを含むとき、本明細書で説明する本発明は、このような媒体を含む。また、本発明は、コンピュータ自体が、本明細書で説明した方法及び技法に従ってプログラミングされるとき、そのコンピュータ自体も含む。
【００５７】
例示として、オペレーティングシステム等のプログラム及び他の実行可能プログラムコンポーネントは、本明細書では、個別のブロックとして示されている。しかしながら、このようなプログラム及びコンポーネントは、さまざまな時刻においてコンピュータの異なるストレージコンポーネントに存在し、コンピュータのデータプロセッサ（複数可）により実行されることが認識される。
【００５８】
コンピュータ１３０を含む１つの例示的なコンピューティングシステム環境について説明したが、本発明は、他の多数の汎用又は専用のコンピューティングシステム環境又はコンピューティングシステム構成で動作することができる。このコンピューティングシステム環境は、本発明の使用又は機能の範囲についての限定を示唆することを意図するものではない。その上、コンピューティングシステム環境は、この例示的な動作環境で示したコンポーネントのどの１つに関してもどの組み合わせに関してもいかなる依存関係も要件も有するものとして解釈されるべきではない。本発明との使用に適し得る周知のコンピューティングシステム、コンピューティング環境、及び／又はコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル一般消費者向け電子機器、移動電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システム又はデバイスのいずれかを含む分散コンピューティング環境等が含まれるが、これらに限定されるものではない。
【００５９】
本発明は、１つ又は２つ以上のコンピュータ又は他のデバイスによって実行されるプログラムモジュール等のコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを遂行するか又は特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、及びデータ構造が含まれるが、これらに限定されるものではない。また、本発明は、通信ネットワークを通じてリンクされたリモート処理デバイスによりタスクが遂行される分散コンピューティング環境においても実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含むローカルコンピュータストレージ媒体及びリモートコンピュータストレージ媒体の双方に配置することができる。
【００６０】
ソフトウェアアーキテクチャとの関連でのインターフェースには、ソフトウェアモジュール、コンポーネント、コード片(code portion)、又は他コンピュータ実行可能命令シーケンスが含まれる。このインターフェースは、たとえば、第１のモジュールを含む。この第１のモジュールは、当該第１のモジュールの代わりにコンピューティングタスクを遂行する第２のモジュールにアクセスするものである。第１のモジュール及び第２のモジュールには、一例では、オペレーティングシステムによって提供されるようなアプリケーションプログラミングインターフェース（ＡＰＩ）、コンポーネントオブジェクトモデル（ＣＯＭ）インターフェース（たとえば、ピアツーピアアプリケーション通信用）、及び拡張マークアップ言語メタデータ交換フォーマット（ＸＭＩ）インターフェース（たとえば、ウェブサーバ間の通信用）が含まれる。
【００６１】
インターフェースは、Ｊａｖａ（登録商標）２プラットフォームエンタープライズ版（Ｊ２ＥＥ）、ＣＯＭ、分散ＣＯＭ（ＤＣＯＭ）の例等の密結合の同期実施態様とすることができる。これに代えて又はこれに加えて、インターフェースは、（たとえば、シンプルオブジェクトアクセスプロトコルを使用する）ウェブサービス等における疎結合の非同期実施態様とすることもできる。一般に、インターフェースは、次の特性、すなわち、密結合、疎結合、同期、及び非同期の任意の組み合わせを含む。さらに、インターフェースは、標準プロトコル、独自プロトコル、又は標準プロトコル及び独自プロトコルの任意の組み合わせに準拠することができる。
【００６２】
本明細書で説明したインターフェースは、すべて、単一のインターフェースの一部とすることもできるし、別個のインターフェース又はそれらの任意の組み合わせとして実施することもできる。インターフェースは、ローカル又はリモートで実行されて、機能を提供することができる。さらに、インターフェースは、図示したもの又は本明細書で説明したものに追加した機能を含むこともできるし、図示したもの又は本明細書で説明したものよりも少ない機能を含むこともできる。
【００６３】
動作時において、コンピュータ１３０は、図面に示したコンピュータ実行可能命令等のコンピュータ実行可能命令を実行して、本発明を実施する。
【００６４】
本発明は、再生リストユニットを作成するための手段及びデータ構造をポピュレートするための手段を含む。（図面に示すような）データ構造、ユーザインターフェース、アプリケーションプログラム、アプリケーションプログラミングインターフェース（ＡＰＩ）、コンピュータ実行可能命令、ファームウェア等のハードウェア及びソフトウェアは、再生リストユニットを作成するための手段及びデータ構造をポピュレートするための手段を構成する。
【００６５】
本明細書で説明した例では、デジタルメディアファイルのメディアコンテンツは、ＣＤ又はＤＶＤ上に実施されるコンテンツとの関連で説明されている。メディアコンテンツは、任意の適した媒体上で実施できること、及び、本明細書で説明した特定の例は発明の原理のさらなる理解に与えられることが、十分認識され理解されるべきである。便宜上、デジタルメディアファイルは、たとえば、オーディオＣＤに見られるような単一のソングトラック又はトラックの集合を表す１つ又は２つ以上のファイルを指す。メディアコンテンツには、符号化されたメディアファイルの形態の特別に符号化されたメディアコンテンツ（たとえば、オーディオ、ビデオ、又は静止画像）が含まれ得るが、これに限定されるものではない。
【００６６】
図面に示して本明細書で説明した例示的なメディアファイルオペレーションは、単なる例示にすぎない。これらのファイルオペレーションの他の変形も、本発明の範囲内にある。これに代えて又はこれに加えて、本明細書で説明していないが本発明を実施する他のメディアファイルオペレーションも、本発明の範囲内にある。
【００６７】
図示して本明細書で説明した方法の実行又は遂行の順序は、特に別段の指定のない限り、必須のものではない。すなわち、これらの方法の要素は、特に別段の指定のない限り、任意の順序で遂行することができ、これらの方法は、本明細書で説明した要素よりも多くの要素又は少ない要素を含むことができる。たとえば、或る特定の要素を別の要素の前で、別の要素と同時に、又は別の要素の後で実行又は遂行することは、本発明の発明内にあることが意図されている。
【００６８】
本発明又はその実施形態（複数可）の要素を紹介するときに、複数形又は個数を指定する表現のないもの、「該（the）」、および「前記（said）」は、それらの要素が１つ又は２つ以上あることを意味することが意図されている。「備える（comprising）」、「含む（including）」、及び「有する（having）」という用語は、包括的であり、列挙された要素以外に追加の要素があり得ることを意味することが意図されている。
【００６９】
上記に鑑みると、本発明のいくつかの目的が達成され、他の利点が結果として実現されることが分かるであろう。
【００７０】
本発明の範囲から逸脱することなく、上記構成、製品、及び方法にさまざまな変更を行うことができるので、上記説明に含まれ添付図面に示されるすべての事項は、限定の意味ではなく例示として解釈されることが意図されている。
【００７１】
［付録Ａ］
本発明の一実施形態における再生リスト構造の１つの例示的な「グループデータ」フィールド及びこのグループデータの再生リストグループオブジェクトを以下で説明する。
グループデータ
グループデータは、以下に定義するような１つ又は２つ以上の再生リストグループエントリーのリストを含む。
【００７２】
グループデータの各再生リストグループエントリーは、異なるグループＩＤを有し、再生リストグループエントリーは、再生順序でグループデータに記憶される。
【００７３】
【表１０】
2008547154.tif 000012
前のグループオフセット
この２バイトのエントリーは、再生リストユニットの先頭からこのグループデータの前の再生リストグループエントリーまでのバイトオフセットを含む。０の値は、この再生リストグループエントリーがこのグループデータの最初のグループエントリーであることを示す。
次のグループオフセット
この２バイトのエントリーは、再生リストユニットの先頭からこのグループデータの次の再生リストグループエントリーまでのバイトオフセットを含む。０の値は、この再生リストグループエントリーがこのグループデータの最後グループエントリーであることを示す。
グループフラグ
この２バイトのエントリーは、この再生リストグループエントリーの特別な属性を要約する。以下の表は、このフィールドのフォーマットを示している。
【００７４】
【表１１】
2008547154.tif 000013
この継続フラグによって、プレイヤは、オフセットグループテーブルを参照する必要なく、再生リストグループの開始再生リストユニット及び終了再生リストユニットを容易に見つけることが可能になる。例示的な継続フラグを以下に示す。
【００７５】
【表１２】
2008547154.tif 000014
グループＩＤ
この４バイトのエントリーは、再生リストグループのＩＤを含む。
グループ名へのオフセット
この２バイトのエントリーは、再生リストユニットの先頭から、再生リストグループのグループ名を含むテキストデータまでのバイトオフセットを含む。各再生リストグループエントリーは、グループ名の有効なテキストエントリーを有する。
再生リストグループのタイプ
この１バイトのエントリーは、再生リストグループのタイプを表す。
予備
この１バイトのエントリーは、今後の使用のための予備である。
再生リストグループオブジェクト
この可変サイズのエントリーは、再生リストグループデータのすべて又は一部を含む。
【００７６】
再生リストグループは、１つ又は２つ以上の再生リストグループオブジェクトの集合体として表される。１つの再生リストグループが２つ以上の再生リストグループオブジェクトを含む場合、再生リストグループ内の再生リストグループオブジェクトを連結するための情報が、グループフラグによって示される。或る再生リストグループが２つ以上の再生リストグループオブジェクトを含む場合、その再生リストグループは、複数の再生リストユニットにわたる。再生リストグループオブジェクトの個数は、この再生リストグループの再生リストグループオブジェクトを含む再生リストユニットの個数に等しい。したがって、一実施形態では、個々の再生リストユニットにおいて、所与の再生リストグループについて１つの再生リストグループオブジェクトしか認められない。
オーディオ再生リストグループオブジェクト
オーディオファイルインデックスの順序は、この再生リストグループオブジェクトの再生順序である。
【００７７】
【表１３】
2008547154.tif 000015
オーディオファイルインデックスの個数
この４バイトのエントリーは、この再生リストグループオブジェクトにリストされたオーディオファイルインデックスの個数である。
オーディオファイルインデックス
この再生リストグループオブジェクトの各オーディオファイルインデックスについて１つの４バイトのエントリーがある。この値は、コンテンツテーブルにおいてこのオーディオファイルを参照するコンテンツエントリーのインデックスである。１の値は、コンテンツテーブルにリストされた最初のコンテキストエントリーを示す。
ビデオ再生リストグループオブジェクト
ビデオファイルインデックスの順序は、この再生リストグループオブジェクトの再生順序となる。
【００７８】
【表１４】
2008547154.tif 000016
ビデオファイルインデックスの個数
この４バイトのエントリーは、この再生リストユニットに含まれるこの再生リストグループオブジェクトにリストされたビデオファイルインデックスの個数である。
ビデオファイルインデックス
この再生リストグループオブジェクトの各ビデオファイルインデックスについて１つの４バイトのエントリーがある。この値は、コンテンツテーブルにおいてこのビデオファイルを参照するコンテンツエントリーのインデックスである。１の値は、コンテンツテーブルにリストされた最初のコンテンツエントリーを示す。
ビデオの開始点
この再生リストグループの各ビデオファイルについて１つの４バイトのエントリーがある。この値は、開始フレームの開始時刻へのミリ秒によるオフセットである。このオフセットは、ビデオファイル内のＩフレームに対応する。
ビデオの終了点
この再生リストグループの各ビデオファイルについて１つの４バイトのエントリーがある。この値は、終了フレームの次のフレームの開始時刻へのミリ秒によるオフセットである。０の値は、ビデオファイルがファイルの終了まで再生されるべきであることを示す。ビデオ再生リストグループの２つのシーケンシャルなビデオファイルインデックスが、同じビデオファイルを示しているとき、これは、中断のない再生が意図された特別な場合である。このようなエントリーによって、単一のビデオファイル内に「チャプタ」を作成することが可能になり、ユーザは、チャプタ単位でスキップすることが可能になる。通常の再生中、ビデオは、各チャプタが終了すると、そこで次が開始して、中断なく再生される。中断のない再生は、一実施形態では、単一の再生リストユニット内に含まれる「チャプタ」についてのみ強制的である。中断は、チャプタが複数の再生リストユニット境界にわたるときに可能になる。
開始点オフセット
この再生リストグループの各ビデオファイルについて１つの８バイトのエントリーがある。この値は、ビデオファイルの先頭から、プレイヤがファイルの読み出しを開始するのに使用できるロケーションまでのオフセットである。このオフセットは、ビデオフィールドの開始点と共に使用される。ビデオフィールドの開始点が０である場合、このフィールドは０であり、その場合、プレイヤは、ファイルヘッダを調べることによって、読み出す最初のパケットを突き止める。ビデオフィールドの開始点が０でない場合、このフィールドは、ビデオ開始時刻に到達するために、復号を開始するファイルの最も近いロケーションを含む。
終了点オフセット
この再生リストグループの各ビデオファイルについて１つの８バイトのエントリーがある。この値は、ビデオファイルの先頭から、プレイヤがファイルの読み出しを停止するのに使用できるロケーションまでのオフセットである。このオフセットは、ビデオフィールドの終了点と共に使用されることになる。ビデオフィールドの終了点が０である場合、このフィールドは０であり、その場合、プレイヤは、独力で、ファイルの読み出しを停止する箇所を決定する必要がある。ビデオフィールドの終了点が０でない場合、このフィールドは、読み出しを終了して、必要なすべてのデータが読み出されたことを確実にするファイルの最も近いロケーションを含む。
時限付き画像再生リストグループオブジェクト
画像ファイルインデックスの順序は、この再生リストグループオブジェクトの再生順序となる。
【００７９】
【表１５】
2008547154.tif 000017
画像ファイルインデックスの個数
この４バイトのエントリーは、この再生リストグループオブジェクトにリストされた画像ファイルインデックスの個数である。
初期トランジション
この２バイトのエントリーは、この再生リストグループオブジェクトの最初の画像を表示するのに使用される初期トランジションを定義する。例示的な値は、ＣＵＴ及びＦＡＤＥ  ＩＮである。
最終トランジション
この２バイトのエントリーは、この再生リストグループオブジェクトの最後の画像の表示を終了するのに使用される最終トランジションを定義する。例示的な値は、ＣＵＴ及びＦＡＤＥ  ＯＵＴである。
画像ファイルインデックス
この再生リストグループオブジェクトの各画像ファイルインデックスについて１つの４バイトのエントリーがある。この値は、コンテンツテーブルにおいてこの画像ファイルを参照するコンテンツエントリーのインデックスである。１の値は、コンテンツテーブルにリストされた最初のコンテンツエントリーを示す。
継続期間
この４バイトのエントリーは、画像が復号された後に画像を表示する、ミリ秒による継続期間である。０の値は、無限であることを表す。一実施形態では、時限付き画像再生リストグループの最小画像継続期間は、３秒（３０００ミリ秒）であり、最大値は０ｘ００１ＦＦＦＦＦである。
トランジション
この２バイトのエントリーは、プレイヤが次の画像ファイルに変わる時に使用するトランジションのタイプを定義する。０の値は、ＣＵＴとして定義される。例示的なトランジションのリストは、以下の表に定義される。
【００８０】
【表１６】
2008547154.tif 000018
トランジションの継続期間は、各プレイヤによって定義される。トランジションの継続期間は、画像ファイル継続期間に影響を与えるべきではない。たとえば、継続期間２０秒の画像と継続期間３０秒の画像との間の２秒の継続期間のトランジションによって、１９秒の第１の画像の後に、それらの画像間の２秒のトランジションが続き、その後に、２９秒の第２の画像が続くべきである。
並列画像オーディオ再生リストグループオブジェクト
並列画像オーディオ再生リストグループは、オーディオファイルのリストと、その後に続くトランジション及び継続期間の情報を有する画像ファイルのリストとを含む。オーディオファイルのリストは、並列画像オーディオ再生リストグループを含む最初の再生リストユニット内に適合する。オーディオセクション（たとえば、オーディオファイル並びに対応するコンテンツエントリー及びファイル名／テキスト文字列データのリスト）は、複数の再生リストユニットにわたることはない。画像は、再生のほとんどの局面を決定する、この組み合わせ内の支配的なファイルとみなされる一方、オーディオは、画像と同期しない付属物とみなされる。
【００８１】
【表１７】
2008547154.tif 000019
画像ファイルインデックスの個数
この４バイトのエントリーは、この再生リストグループオブジェクトにリストされた画像ファイルインデックスの個数である。
画像インデックスへのオフセット
この２バイトのエントリーは、この再生リストユニットの先頭から最初の画像ファイルインデックスまでのオフセットである。最初の画像ファイルインデックスが次の再生リストユニットの先頭に記憶される場合、この値は０である。
初期トランジション
この２バイトのエントリーは、この再生リストグループオブジェクトの最初の画像を表示するのに使用される初期トランジションを定義する。例示的な値は、ＣＵＴ及びＦＡＤＥ  ＩＮである。
最終トランジション
この２バイトのエントリーは、この再生リストグループオブジェクトの最後の画像の表示を終了するのに使用される最終トランジションを定義する。例示的な値は、ＣＵＴ及びＦＡＤＥ  ＯＵＴである。
オーディオファイルインデックスの個数
この４バイトのエントリーは、この再生リストグループオブジェクトにリストされたオーディオファイルインデックスの個数である。このフィールドは、この並列画像オーディオ再生リストグループを含む最初の再生リストユニットを除いてすべての再生リストユニットで０である。
オーディオファイルインデックス
この再生リストグループオブジェクトの各オーディオファイルインデックスについて１つの４バイトのエントリーがある。この値は、コンテンツテーブルにおいてこのオーディオファイルを参照するコンテンツエントリーのインデックスである。１の値は、コンテンツテーブルにリストされた最初のコンテンツエントリーを示す。
画像ファイルインデックス
この再生リストグループオブジェクトの各画像ファイルインデックスについて１つの４バイトのエントリーがある。この値は、コンテンツテーブルにおいてこの画像ファイルを参照するコンテンツエントリーのインデックスである。１の値は、コンテンツテーブルにリストされた最初のコンテンツエントリーを示す。
継続期間
この４バイトのエントリーは、画像が復号された後に画像を表示する、ミリ秒による継続期間である。０の値は、無限であることを表す。一実施形態では、時限付き画像再生リストグループの最小画像継続期間は、３秒（３０００ミリ秒）であり、最大値は０ｘ００１ＦＦＦＦＦである。
トランジション
この２バイトのエントリーは、プレイヤが次の画像ファイルに変わる時に使用するトランジションのタイプを定義する。０の値は、ＣＵＴとして定義される。
【図面の簡単な説明】
【００８２】
【図１】本発明を実施できる１つの例示的なメディア環境を示すブロック図である。
【図２】再生リスト構造を示す１つの例示的なブロック図である。
【図３】再生リスト作成ソフトウェアのオペレーションを示す１つの例示的なフローチャートである。
【図４】再生リストユニットの作成を示す１つの例示的なフローチャートである。
【図５】再生リストユニットを使用する再生リストの再生を示す１つの例示的なフローチャートである。
【図６】本発明の態様を実施できる、適したコンピューティングシステム環境の一例を示すブロック図である。
【図１】
2008547154.tif 000020
【図２】
2008547154.tif 000021
【図３】
2008547154.tif 000022
【図４】
2008547154.tif 000023
【図５】
2008547154.tif 000024
【図６】
2008547154.tif 000025
【国際調査報告】
2008547154.tif 000026