(57)【要約】  メニューのためのイメージデータを複合イメージファイル内に保存すること。メディアファイルのメニューのためのイメージデータが検索され、複合イメージファイル内に効率よく保存される。メディアプレーヤは、その複合イメージファイルにアクセスして、メニュー内の関連するイメージを入手し、表示する。本発明は、メニューをレンダリングするのに必要とされるファイルオペレーションの量を少なくし、したがって、ユーザによって知覚される際にメニューを表示するのに必要とされる時間を短縮する。結果として、本発明は、メディアプレーヤに伴うユーザ経験を高める。【選択図】図２
2008547127.tif 000002
【特許請求の範囲】
【請求項１】
メディアコンテンツのメニューをユーザに提示するためのコンピュータ化された方法であって、
メニュー構造ファイルを開くステップであって、前記メニュー構造ファイルが、メディアファイルのメニューを定義するステップと、
前記開いたメニュー構造ファイルから、前記メニューに関連付けられている複合イメージファイルを識別するステップであって、前記複合イメージファイルが、前記メニュー内の前記メディアファイルのそれぞれに関するイメージデータを保存するステップと、
前記識別した複合イメージファイルを開くステップと、
前記メニューに応じて前記開いた複合イメージファイルから前記イメージデータを検索するステップと、
前記検索したイメージデータを伴う前記メニューをナビゲーションおよび選択用としてユーザに表示するステップとを含むコンピュータ化された方法。
【請求項２】
前記開いた複合イメージファイルから前記イメージデータを検索するステップが、前記開いた複合イメージファイルから、前記複合イメージファイルを保存しているメモリエリアのセクタサイズに対応する部分において前記イメージデータを検索するステップを含む請求項１に記載のコンピュータ化された方法。
【請求項３】
前記開いた複合イメージファイルから前記イメージデータを検索するステップが、前記開いた複合イメージファイルから前記メディアファイルに関するサムネイルイメージを検索するステップを含む請求項１に記載のコンピュータ化された方法。
【請求項４】
前記メディアファイルのグループ分けに基づいて前記メニュー構造ファイルを定義するステップと、
前記メディアファイルに関する前記イメージデータを識別するステップと、
前記識別したイメージデータをメタデータリポジトリから検索するステップと、
前記検索したイメージデータを前記複合イメージファイル内に保存するステップとをさらに含む請求項１に記載のコンピュータ化された方法。
【請求項５】
前記複合イメージファイルが、前記メディアファイルのそれぞれに関する前記イメージデータの場所を識別するオフセット値を保存し、前記開いた複合イメージファイルから前記イメージデータを検索するステップが、前記オフセット値に応じて前記イメージデータの前記場所を探すことによって前記開いた複合イメージファイルから前記イメージデータを検索するステップを含む請求項１に記載のコンピュータ化された方法。
【請求項６】
前記メニューを表示したいという要求を前記ユーザから受け取るステップをさらに含む請求項１に記載のコンピュータ化された方法。
【請求項７】
１つまたは複数のコンピュータ可読メディアが、請求項１に記載のコンピュータ化された方法を実行するためのコンピュータ実行可能命令を有する請求項１に記載のコンピュータ化された方法。
【請求項８】
メディアコンテンツのメニューをユーザに提示するための、コンピュータによって実行可能なコンポーネントを有する１つまたは複数のコンピュータ可読メディアであって、前記コンポーネントが、
メモリエリアからメニューデータを受け取るためのメニューコンポーネントであって、前記メニューデータが、メディアファイルのメニューを定義し、前記メディアファイルのそれぞれが、自分に関連付けられているイメージを有するメニューコンポーネントと、
前記メニューコンポーネントによって受け取られた前記メニューデータから、前記メニューデータに関連付けられている複合イメージファイルを識別するためのイメージコンポーネントであって、前記複合イメージファイルが、前記メディアファイルのそれぞれに関するイメージデータを保存するイメージコンポーネントと、
前記メニューデータに応じて前記識別した複合イメージファイルから前記イメージデータを検索するためのキャッシュコンポーネントと、
前記キャッシュコンポーネントによって検索された前記イメージデータを伴う前記メニューをナビゲーションおよび選択用としてユーザに向けてレンダリングするための表示コンポーネントとを含むコンピュータ可読メディア。
【請求項９】
前記キャッシュコンポーネントが、前記複合イメージファイルからサムネイルイメージデータを検索する請求項８に記載のコンピュータ可読メディア。
【請求項１０】
前記メディアファイルのグループ分けに基づいて前記メニューデータを定義するステップと、
前記メディアファイルに関する前記イメージデータを識別するステップと、
前記識別したイメージデータをメタデータの提供元から受け取るステップと、
前記検索したイメージデータを前記複合イメージファイル内に保存するステップとを行うためのオーサリングコンポーネントをさらに含む請求項８に記載のコンピュータ可読メディア。
【請求項１１】
前記メニューコンポーネント、イメージコンポーネント、キャッシュコンポーネント、および表示コンポーネントが、メディアプレーヤに関連付けられている請求項８に記載のコンピュータ可読メディア。
【請求項１２】
前記キャッシュコンポーネントが、前記識別した複合イメージファイルから、前記コンピュータ可読メディアのセクタサイズに対応する部分において前記イメージデータを検索する請求項８に記載のコンピュータ可読メディア。
【請求項１３】
メニュー用の複合イメージファイルを作成するためのシステムにおいて、
複合イメージファイルが保存されているコンピュータ可読メディアであって、前記複合イメージファイルが、
それぞれが１つのメディアファイルに関連付けられている複数のイメージであって、前記メディアファイルが、少なくとも１つのメニューに関連付けられている複数のイメージと、
前記複数のイメージのうちの１つへの参照をそれぞれが保存している複数のイメージ項目であって、前記複数のイメージ項目のそれぞれが、前記イメージ項目に関連付けられている前記メニューを識別するメニュー識別子をさらに保存している複数のイメージ項目とを保存しているコンピュータ可読メディアと、
前記メディアファイルのグループ分けに基づいてメディアファイルのメニューを定義するステップと、
メディアファイルの前記定義したメニューのためのメニュー識別子を決定するステップと、
前記定義したメニューに関連付けられている複数のイメージを識別するステップと、
前記識別した複数のイメージをメタデータリポジトリから検索するステップと、
前記検索した複数のイメージを、前記コンピュータ可読メディア上に保存されている前記複合イメージファイル内に保存するステップと、
前記複合イメージファイル内の前記保存した複数のイメージのそれぞれへの参照を決定するステップと、
前記決定した参照と前記決定したメニュー識別子とを伴う複数のイメージ項目のそれぞれを投入するステップであって、前記投入した複数のイメージ項目のそれぞれが、前記複数のイメージのうちの１つに対応するステップと、
前記投入した複数のイメージ項目を、前記コンピュータ可読メディア上に保存されている前記複合イメージファイル内に保存するステップとを行うためのコンピュータ実行可能命令を実行するように構成されているプロセッサとを含むシステム。
【請求項１４】
前記コンピュータ可読メディア上に保存されている前記複合イメージファイルが、前記メニューのためのメニュー項目をさらに保存しており、前記メニュー項目が、前記メニューに関して背景色および文字色のうちの１つまたは複数を識別する請求項１３に記載のシステム。
【請求項１５】
前記プロセッサが、前記検索した複数のイメージと、前記投入した複数のイメージ項目とを、前記複合イメージファイル内において前記コンピュータ可読メディアのセクタサイズに対応する境界上に保存するように構成されている請求項１３に記載のシステム。
【請求項１６】
前記コンピュータ可読メディア上に保存した前記複数のイメージが、それぞれが１つのメディアファイルに対応する複数のサムネイルイメージを含む請求項１３に記載のシステム。
【請求項１７】
前記メニューをナビゲーションおよび選択用としてユーザに表示するための手段をさらに含む請求項１３に記載のシステム。
【請求項１８】
前記複合イメージファイルを作成するための手段をさらに含む請求項１３に記載のシステム。
【請求項１９】
前記プロセッサが、前記識別した複数のイメージのそれぞれを、そこに関連付けられている前記メディアファイルから検索するためのコンピュータ実行可能命令を実行するように構成されている請求項１３に記載のシステム。
【請求項２０】
前記コンピュータ可読メディアおよび前記プロセッサが、メディアプレーヤに関連付けられている請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００２年１０月１７日に出願された「Ａｄａｐｔｉｖｅ  Ｍｅｎｕ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｅｄｉａ  Ｐｌａｙｅｒｓ」という名称の同時係属の米国特許出願第１０／２７３，４１１号の一部継続出願であり、この米国特許出願第１０／２７３，４１１号は、参照によって本明細書に組み込まれ、また、２００２年１０月１６日に出願されて現在は放棄された「ＣＯＭＰＲＥＳＳＥＤ  ＭＥＤＩＡ  ＦＯＲＭＡＴ  ＳＰＥＣＩＦＩＣＡＴＩＯＮ」という米国特許仮出願第６０／４１８，９７３号の利点を主張するものである。
【背景技術】
【０００２】
最近のテクノロジーの進歩によって、コンピュータのユーザは、さまざまなメディアおよびマルチメディアのコンテンツを自分のパーソナルコンピュータやラップトップコンピュータ上で再生することなど、改善されたユーザ経験を提供する多くの機能を享受できるようになっている。たとえば今日の大半のコンピュータは、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｃ）を再生することができるため、ユーザは、自分のコンピュータ上で作業中に自分のお気に入りのアーティストの音楽を聴くことができる。また多くのコンピュータは、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）ドライブを備えており、これによってユーザは映画を見ることができる。
【０００３】
いくつかのマルチメディア環境においては、コンピュータは、ＭＰ３（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ａｕｄｉｏ  ｌａｙｅｒ−３）ファイルおよびＷＭＡ（ＷＩＮＤＯＷＳ（登録商標） ＭＥＤＩＡ  ｔｅｃｈｎｏｌｏｇｉｅｓ  ａｕｄｉｏ）ファイルなどの圧縮されたメディアファイルを保存しているコンピュータ可読メディアにアクセスすることができる。メディアファイルがコンピュータ上に提供される場合には、コンピュータは通常、そのメディアファイルに関してアルバム、アーティスト、ジャンル、リリース年などを記述するメタデータを保存しているデータベースにアクセスすることができる。コンピュータは通常、圧縮されたメディアファイルがコンピュータ上で再生される際に、メタデータに基づいてそれらのメディアファイルを再生リストへと編成する。たとえばオーディオメディアファイルの場合には、アルバム、アーティスト、ジャンル、リリース年、あるいはユーザによって指定された何らかの選択および順序付けによってファイルを編成することができる。これによってユーザは、自分が再生リストを手動で作成したか否かを問わずに、自分のコンテンツのすべてに容易にアクセスすることができる。
【０００４】
しかし、リソースが限られている低価格のレンダリングデバイスは、スクリーン上にグラフィックスを表示するのに長い時間を要する。これらのデバイスは、多くの場合、ディスク検索および処理能力が制約されている。たとえば低価格のＤＶＤプレーヤは、２秒の検索時間を有する１６ビットのプロセッサを含む。スクリーン上のメニューイメージは、それぞれ別個のファイルとしてメディア上に保存されているため、いくつかの既存のデバイスは、スクリーン上にイメージを表示するのに余分な時間を必要とする。それぞれのイメージファイルは、ディスク上で見つけ出され、開かれ、そして表示用にデコードされる。たとえば、メニューがコンテンツの７つのアイテムを列挙する場合には、デバイスは、８つのイメージファイル（背景イメージファイルと、それらのコンテンツアイテム用の７つのサムネイルイメージファイル）を開かなければならない。既存のデバイスは、メニューを表示するために多くのファイルを開かなければならず、これらのデバイスは、ファイルのそれぞれを検索する際に遅延を経験するおそれがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、これらおよびその他の不利な点のうちの１つまたは複数に対処するために、メニューイメージのための効率的なストレージモデルを含むシステムが望まれている。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、パワーの低いプロセッサ、限られたメモリ、および／または限られたディスプレイ機能を有する家庭用電子デバイス上にメディアファイルのメニューをロードして表示する際の速度を上げる。一実施形態においては、本発明は、メニュー用の関連するイメージデータを複合イメージファイルなどの最適化されたイメージデータストア内に保存する。複合イメージファイルは、メモリ効率のよい方法で編成された関連するイメージデータを含む。たとえば、それぞれの複合イメージファイルの境界は、その複合イメージファイルを保存しているコンピュータ可読メディアのセクタサイズに対応する。一実施形態においては、デバイスは、メニューをロードするのに、検索して開くオペレーションを１回実行するだけでよい。いったん複合イメージファイルが開かれると、利用可能なバッファメモリが十分にあるならば、１回のオペレーションでメニューイメージを読み込むことができる。ファイルオペレーションの回数を少なくすることによって、デバイスのロード時間および表示時間が大幅に改善される。
【０００７】
別法として、本発明の態様は、その他のさまざまな方法および装置を含むことができる。
【０００８】
その他の特徴については、一部は明らかであろうし、また一部は以降で指摘する。
【０００９】
対応する参照文字は、複数の図面を通じて、対応する部分を指す。
【発明を実施するための最良の形態】
【００１０】
はじめに図１を参照すると、ブロック図が、本発明を実装することができる例示的なメディア環境を示している。システム１００は、オーディオデータ、ビデオデータ、および／または静止画像データを含むメディアコンテンツを提供する１つまたは複数の家庭用電子デバイス１１２に結合されている１つまたは複数のコンピュータ１０２を有する。たとえばデバイス１１２は、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｃ）プレーヤ１０４、カムコーダ１０６、あるいはカメラ１０８を含むことができる。さらにデバイス１１２は、その他のパーソナルコンピュータ、取り外し可能なハードドライブ、ネットワークシェア、ＭＰ３（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ａｕｄｉｏ  ｌａｙｅｒ−３）プレーヤ、自動車内のオーディオシステム、携帯情報端末、携帯電話などを含むことができる。家庭用電子デバイス１１２は、その家庭用電子デバイス１１２上で具体化されるコンテンツをユーザが経験できるようにデジタルメディアを提供するように構成されている任意の適切なレンダリングフィルタあるいはメディアプレーヤまたはデバイス（たとえば、ポータブルメディアデバイス）を含むことができる。たとえば、適切なメディアプレーヤアプリケーションとしては、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｃ）メディアプレーヤおよびＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃまたはｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｃ）メディアプレーヤが含まれる。コンピュータ１０２はまた、プロセッサおよびレンダリングソフトウェア（たとえばメディアプレーヤ）を含むレンダリング機能を有する。
【００１１】
本発明の一態様によって、ユーザは、あるいは特にコンピューティングデバイス１１２上で実行されているメディアプレーヤプログラムは、ユーザのためにいわゆるメタデータにアクセスし、検索し、表示することができる。メタデータとは、当業者にはよく知られたものであり、単にデータに関する情報である。示されている実施形態のコンテキストにおいては、メタデータは、メディアプレーヤ上で再生されているデジタルメディアファイルの特定のコンテンツに関連した情報を含む。基本的なメタデータとしては、タイトル、演奏者、ジャンル、トラック番号などが含まれるが、これらには限定されない。拡張されたメタデータとしては、カバーアート、作曲者、コンテンツの説明、演奏者のバイオグラフィー、レビュー、評価、関連する演奏者、類似のアイテムを購入できる場所、来たるコンサート、チケットの売れ行き、購入の機会を含む関連するその他の経験へのＵＲＬ、スタジオ、ディレクタなどが含まれるが、これらには限定されない。一実施形態においては、拡張されたメタデータは、検索またはダウンロードされたメタデータ、およびメディアファイルから算出されたメタデータ（たとえば、ファイルストリームのデジタル信号処理）という２つの主要なカテゴリへと編成することができる。メタデータは、メディアファイル内に保存することもでき、あるいは、メディアファイルにとってアクセス可能な既知の別のファイル内に保存することもできる。
【００１２】
一例においては、メタデータの提供元１１１からデータ通信ネットワーク１１３を介して、さらなるメタデータを利用することができる。コンピュータ１０２およびメタデータの提供元１１１は、データ通信ネットワーク１１３に結合されている。ネットワーク１１３は、一例においてはインターネットを含むが、本発明の教示は、いかなるデータ通信ネットワークにも適用することができる。データ通信ネットワーク１１３は、たとえばクライアント／サーバの通信やピアツーピアの接続をサポートすることができる。
【００１３】
家庭用電子デバイス１１２またはコンピュータ１０２は、１つまたは複数のコンピュータ可読メディア（たとえば、メモリエリア１１４）にアクセスすることができる。メモリエリア１１４は、図１においては家庭用電子デバイス１１２のうちのいずれかの一部であるように示されているが、メモリエリア１１４は、家庭用電子デバイス１１２とは別個のものとし、その一方で、たとえばネットワークを介して家庭用電子デバイス１１２にとってアクセス可能なものとすることができる。
【００１４】
一実施形態においては、メモリエリア１１４は、複合イメージファイル１１６を保存する。複合イメージファイル１１６は、メニュー用の関連するイメージデータ１１８を含む。メニューは、メニューファイル１１５やメニュー構造ファイルなどにおいて定義することができる。関連するイメージデータ１１８は、背景イメージ、およびそれぞれのメディアファイルやメニュー内に列挙されているコンテンツのその他のアイテムごとに１つのサムネイルイメージなど、メニューに関連付けられているすべてのイメージを含むことができる。一般に、複合イメージファイル１１６は、イメージデータ＃１からイメージデータ＃Ｎなど、複数のイメージデータ１１８を保存することができる。イメージデータ１１８のそれぞれは、１つのメディアファイルに関連付けられている１つのイメージに対応する。メディアファイルは、少なくとも１つのメニューに関連付けられている。複合イメージファイル１１６はまた、イメージ項目＃１からイメージ項目＃Ｎなど、複数のイメージ項目１２０を含み、それらのイメージ項目１２０のそれぞれは、複数のイメージのうちの１つへの参照（図示せず）を保存している。複数のイメージ項目１２０のそれぞれはさらに、そのイメージ項目１２０に関連付けられているメニューを識別するメニュー識別子（図示せず）を保存している。一実施形態においては、複合イメージファイル１１６はさらに、それぞれのメニューに関連付けられているメニュー項目（図示せず）を保存しており、このメニュー項目は、そのメニュー用の背景色および／または文字色を識別する。
【００１５】
一実施形態においては、家庭用電子デバイス１１２（たとえば、ポータブルメディアデバイス）は、メディアコンテンツのメニューをユーザに提示するためのコンピュータ実行可能命令を実行するように構成されている。それらのコンピュータ実行可能命令は、１つまたは複数のコンポーネントへと編成することができる。たとえば家庭用電子デバイス１１２は、メニューコンポーネント１２２、イメージコンポーネント１２４、キャッシュコンポーネント１２６、および表示コンポーネント１２８を格納することができる。メニューコンポーネント１２２は、メモリエリア１１４からメニューデータを受け取る。メニューデータは、メディアファイルのメニューを定義する。メディアファイルのそれぞれは、自分に関連付けられている１つのイメージを有する。イメージコンポーネント１２４は、メニューコンポーネント１２２によって受け取られたメニューデータから、そのメニューデータに関連付けられている複合イメージファイル１１６を識別する。複合イメージファイル１１６は、メディアファイルのそれぞれに関してイメージデータ１１８（たとえば、サムネイルイメージ）を保存している。キャッシュコンポーネント１２６は、メニューデータに応じて、識別された複合イメージファイル１１６からイメージデータ１１８を検索する。表示コンポーネント１２８は、キャッシュコンポーネント１２６によって検索されたイメージデータ１１８を伴うメニューを、ナビゲーションおよび選択用としてユーザに向けてレンダリングする。一実施形態においては、メニューデータは、複合イメージファイル１１６内に保存されている。
【００１６】
コンピュータ１０２、またはその他のデバイスやソフトウェアはまた、本発明の態様を実施するための１つまたは複数の例示的なモジュールやコンポーネントを有する。一実施形態においては、コンピュータ１０２、またはメニューレンダリング機能を有するその他のデバイスは、メディアコンテンツのメニューをユーザに提示するために、メニューコンポーネント１２２、イメージコンポーネント１２４、キャッシュコンポーネント１２６、および表示コンポーネント１２８にアクセスして実行することができる。別の実施形態においては、コンピュータ１０２、またはオーサリング機能を有するその他のレンダリングデバイスは、メディアファイルのグループ分けに基づいてメニューデータを定義すること、メディアファイル用のイメージデータ１１８を識別すること、その識別したイメージデータ１１８をメタデータの提供元などから（たとえば、メタデータリポジトリから、イメージファイル内から）受け取ること、およびその検索したイメージデータ１１８を複合イメージファイル１１４内に保存することのためのオーサリングコンポーネント１２９など、コンピュータによって実行可能なコンポーネントを有することができる。これらのオペレーションについては、図３において説明する。
【００１７】
本発明のソフトウェアは、任意の数および編成のコンポーネントやモジュールと共に実装することができる。すなわち本発明は、メニューコンポーネント１２２、イメージコンポーネント１２４、キャッシュコンポーネント１２６、表示コンポーネント１２８、オーサリングコンポーネント１２９、あるいは家庭用電子デバイス１１２および／またはコンピュータ１０２によって実行されるコンピュータによって実行可能なその他の任意の命令という特定の構成には限定されず、本明細書に記載されているよりも多いまたは少ない個々の機能を有するより多いまたはより少ないコンポーネントを含むことができる。さらに本発明は、メディアプレーヤ、オペレーティングシステム、ＤＶＤレコーダ、ＣＤレコーダ、ビデオカメラ、ハードドライブ、フラッシュドライブ、携帯情報端末、ワイヤレスデバイス（たとえば携帯電話）などの中のハードウェア、ソフトウェア、あるいはそれらの組合せにおいて具体化することができる。
【００１８】
本発明によって、デバイスは、検索して開くオペレーションを１回行うだけで、ほとんどのメニューを表示することができる。いったん開くと、デバイス内に十分なバッファメモリがあるならば、１回のオペレーションでメニューイメージを読み込むことができる。１回の検索オペレーションは、最大で２秒を要することができる。本発明は、メニューを表示するのに必要とされるファイルオペレーションの回数を少なくする。さらにイメージは、複合イメージファイル１１６内において、その複合イメージファイル１１６を保存しているコンピュータ可読メディアのセクタサイズに対応する境界上に保存される。これによって、ファイル内におけるすべての検索がセクタの境界上で行われるということが保証されるため、検索効率が改善される。そのようなものとして、本発明は、メニューのためのロード時間および表示時間を大幅に改善して、消費者の経験を向上させる。
【００１９】
次いで図２を参照すると、例示的なブロック図が、メニューと複合イメージファイルとの間における関係を示している。メニュー１、メニュー２、およびメニュー３は、共通の背景イメージＡを共有している。イメージＢ〜Ｇは、メニュー用のサムネイルイメージである。図２のメニュー内に示されているサムネイルイメージのそれぞれは、メニュー内のメニューアイテムに対応している。メニュー１は、背景イメージＡを含み、メニューアイテム用のサムネイルイメージとしてイメージＢ、イメージＣ、およびイメージＤを有する。メニュー２は、背景イメージＡを含み、３つのメニューアイテムのそれぞれに対するサムネイルイメージとしてイメージＥを有する。メニュー３は、背景イメージＡを含み、メニューアイテム用のサムネイルイメージとしてイメージＥ、イメージＦ、およびイメージＧを有する。
【００２０】
図２の例においては、メニュー１、メニュー２、およびメニュー３のためのイメージは、２つの複合イメージファイル（たとえば、複合イメージファイル１および複合イメージファイル２）内に保存されている。しかしレンダリングデバイスは、メニュー１、メニュー２、またはメニュー３のうちのいずれかをレンダリングするのに、１つの複合イメージファイルを開くだけでよい。別の例（図示せず）においては、図２のメニューツリー全体（たとえば、メニュー１、メニュー２、およびメニュー３）のためのすべてのイメージは、単一の複合イメージファイル内に含まれている。
【００２１】
次いで図３を参照すると、例示的なフローチャートが、一実施形態において複合イメージファイルを作成するためのロジックのオペレーションを示している。図３の方法は、３０２において、メディアファイルのグループ分けに基づいてメディアファイルのメニューを定義する。たとえば、メディアファイルのグループ分けは、ユーザの入力（たとえば、ユーザの再生リスト）から、あるいはメディアファイルの特徴（たとえば、アーティスト別の曲ごと、アルバム別の曲ごと）から決定することができる。メディアファイルの定義されたメニューは、メニュー構造ファイル内に保存することができる。図３の実施形態における方法はさらに、３０４において、定義されたメニューに関連付けられている複数のイメージを識別し、３０６において、その識別した複数のイメージをメタデータリポジトリやメタデータの提供元などから検索する。一例においては、識別した複数のイメージは、対応するメディアファイルから検索される。この方法は、３０８において、検索された複数のイメージを複合イメージファイル内に保存し、３１０において、複合イメージファイル内に保存した複数のイメージのそれぞれへの参照を決定する。別の実施形態においては、この方法は、イメージを複合イメージファイル内に保存する前に、それぞれのイメージのサイズと、複合イメージファイルが保存されているコンピュータ可読メディアのセクタの境界とに基づいて参照を決定する。
【００２２】
この方法はさらに、３１２において、決定した参照を複数のイメージ項目のそれぞれに投入する。これらのイメージ項目は、インデックステーブルとして機能する。この方法は、特定のメニューに関連付けられているメニュー識別子をそれぞれのイメージ項目に投入することによって、それぞれのイメージ項目をその特定のメニューに関連付けた。投入されたイメージ項目は、３１４において、コンピュータ可読メディア上の複合イメージファイル内に保存される。
【００２３】
一実施形態においては、１つまたは複数のコンピュータ可読メディアは、図３に示されているコンピュータ化された方法を実行するためのコンピュータ実行可能命令を有する。
【００２４】
次いで図４を参照すると、例示的なフローチャートが、一実施形態において複合イメージファイルを使用してメニューをレンダリングするためのロジックのオペレーションを示している。図４に示されている方法は一般に、メニューを表示したいというユーザやアプリケーションプログラムからの要求に応答して機能する。この方法は、４０２において、メディアファイルのメニューを定義するメニュー構造ファイルを開く。この方法は、４０４において、その開いたメニュー構造ファイルから、メニューに関連付けられている複合イメージファイルを識別するステップと、４０６において、その識別した複合イメージファイルを開くステップとを含む。複合イメージファイルは、メニュー内のメディアファイルのそれぞれに関してイメージデータ（たとえば、サムネイルイメージ）を保存する。この実施形態における方法は、４０８において、開いた複合イメージファイルからメニューに応じてイメージデータを検索する。たとえば、この方法は、開いた複合イメージファイルから、その複合イメージファイルを保存しているメモリエリアのセクタサイズに対応する部分において、イメージデータを検索する。この方法は、４１０において、検索したイメージデータを伴うメニューを、ナビゲーションおよび選択用としてユーザに表示する。
【００２５】
図４に示されている例示的な方法は、任意の形態（たとえば、デバイス、ソフトウェア製品、ファームウェア）で具体化されるメディアプレーヤなど、任意のレンダリングロジックによって実行することができる。一実施形態においては、１つまたは複数のコンピュータ可読メディアは、図４に示されているコンピュータ化された方法を実行するためのコンピュータ実行可能命令を有する。
【００２６】
次いで図５を参照すると、例示的なブロック図が、複合イメージファイルの構造を示している。ここでの例のいくつかは、メニュー内のメディアファイルのそれぞれに関するイメージデータとしてサムネイルイメージについて論じるが、本発明は、サムネイルイメージには限定されない。本発明は、メニューに関連付けられているあらゆるグラフィカルデータと共に機能することができる。
【００２７】
複合イメージファイルは、その複合イメージファイル内に保存されているそれぞれのサムネイルを識別するインデックステーブルを含む。複合イメージファイルは、複数のメニューに関するイメージを含むことができるが、１つのメニューが複数の複合イメージファイルにわたることは決してない。サムネイルは、必要に応じて複数の複合イメージファイルにわたって複製される。図５は、例示的な複合イメージファイル＜Ｃｏｍｐｏｕｎｄ  Ｉｍａｇｅ＞．ＨＭＴの構造を示している。それぞれの複合イメージファイルは、ｎｎｎｎｎｎｎｎ．ＨＭＴファイルなどの一意の＜Ｃｏｍｐｏｕｎｄ  Ｉｍａｇｅ＞．ＨＭＴファイルとして表され、この場合のｎｎｎｎｎｎｎｎは、ゼロを導くことのない１６進数の大文字の文字列表示である。この１６進数は、識別子であり、複合イメージファイルに関連付けられている識別子に相当する。例示的な複合イメージファイルヘッダのデータ構造におけるフィールドが、下記のテーブルに示されている。
【００２８】
【表１】
2008547127.tif 000003
識別子フィールドは、テキスト文字列「ＣＭＰＩＦＨＭＴ」などの８バイトの項目である。バージョンフィールドは、この再生リストファイルの仕様のバージョンを表す２バイトの項目である。「複合イメージファイルのサイズ」フィールドは、現在の＜Ｃｏｍｐｏｕｎｄ  Ｉｍａｇｅ＞．ＨＭＴファイルのサイズをバイトで表す４バイトの項目である。「メニュー項目の数」フィールドは、メニューテーブル内のメニュー項目の数を表す４バイトの項目である。「イメージ項目の数」フィールドは、複合イメージファイル内のイメージ項目の数を表す４バイトの項目である。「オーサリングアプリケーションの名前」フィールドは、オーサリングアプリケーションのテキスト文字列の名前を表す６４バイトの項目である。
【００２９】
メニューテーブルは、メニュー識別子によって昇順にソートされたメニュー項目のリストを含む。例示的なメニュー項目のデータ構造におけるフィールドが、下記のテーブルに示されている。
【００３０】
【表２】
2008547127.tif 000004
「メニューＩＤ」フィールドは、現在のメニュー項目を参照するメニューヘッダのメニュー識別子を表す４バイトの項目である。「背景ＩＤ」は、このメニューの背景として表示するイメージのためのメニューコンテンツ識別子（たとえば、メニューコンテンツＩＤ）を表す４バイトの項目である。ゼロの値は、背景イメージがないということを示す。このフィールドがゼロ以外の値を含む場合には、対応するメニューコンテンツ識別子用のイメージタイプ「背景イメージ４×３」や「背景イメージ１６×９」を伴うイメージデータが、現在の複合イメージファイル内のイメージ項目内に保存される。「文字色」フィールドは、ディスプレイ上における現在のメニュー上の文字の色を定義する４バイトの項目である。この項目は、バイトの順序として０×ＦＦＲＲＧＧＢＢを伴うＲＧＢ値としてフォーマット設定されており、この場合の０×ＦＦは、実際の１６進数字であり、ＲＲ、ＧＧ、およびＢＢは、それぞれ赤色、緑色、および青色の値を示す。「背景ＩＤ」フィールドまたは「背景色」フィールドにデータが投入されている場合には、「文字色」フィールドは、ゼロ以外の値を含む。ゼロの値は、デフォルトの背景色に対してコントラストをなす文字色をプレーヤが選択すべきであるということを意味する。プレーヤが色をレンダリングすることができない場合には、このフィールドは、無視することができる。「背景色」フィールドは、現在のメニューがディスプレイ上にレンダリングされる際に使用すべき背景色を定義する４バイトの項目である。この項目は、バイトの順序として０×ＦＦＲＲＧＧＢＢを伴うＲＧＢ値としてフォーマット設定されており、この場合の０×ＦＦは、実際の１６進数字であり、ＲＲ、ＧＧ、およびＢＢは、それぞれ赤色、緑色、および青色の値を示す。「背景イメージＩＤ」フィールドが定義されている場合には、ディスプレイのうちで背景イメージによって覆われていないエリア上でのみ背景色が見える。ゼロの値は、背景色がないということ、およびプレーヤは自前のデフォルトの背景色を使用することができるということを示す。プレーヤが色をレンダリングすることができない場合には、このフィールドは、無視することができる。
【００３１】
イメージ項目は、メニューコンテンツＩＤ、次いでタイプによって、昇順にソートされる。それぞれの項目が別々のタイプを有するならば、同じメニューコンテンツＩＤを有する複数の項目が存在しうる。オーサリング機能を有するアプリケーションやデバイスは、項目の末尾に新たなイメージデータを追加する。オーサリングアプリケーションは、項目を更新する際に、イメージデータを１セクタ分（たとえば、ＤＶＤの場合には２キロバイト分）「下に」移動させて、別の項目のためにスペースを空けることができる。複合イメージファイル内に４００個を超えるイメージがある場合には、一実施形態においては、新たなファイルが作成される。イメージデータ内の未使用のいかなるスペースにも、ゼロが埋め込まれることになる。
【００３２】
一実施形態においては、複数の項目が、同じイメージデータを指し示す。その他の実施形態においては、項目とイメージデータとの間には、１対１の関係がある。さらに、複合イメージファイル内においては、メニューコンテンツＩＤごとにイメージタイプごとに１つの項目しかない。複数のメニューアイテムに対して同じサムネイルを使用したいメニューは、それらのメニューアイテムのそれぞれに対して同じメニューコンテンツＩＤを使用して、複合イメージファイル内で使用されるスペースを最小限に抑えることができる。例示的なイメージ項目のデータ構造におけるフィールドが、下記のテーブルに示されている。
【００３３】
【表３】
2008547127.tif 000005
「メニューコンテンツＩＤ」フィールドは、メニューおよび再生リストアイテムによって参照される対応するイメージデータのためのメニューコンテンツ識別子を定義する４バイトの項目である。メニューコンテンツ識別子は、特定のコンピュータ可読メディア上のすべての複合イメージファイル内において一意である。「イメージタイプ」フィールドは、イメージタイプ（たとえば、メニューイメージのタイプ）を表す２バイトの項目である。例示的なイメージタイプの値が、下記のテーブルに示されている。
【００３４】
【表４】
2008547127.tif 000006
「イメージデータまでのオフセット」フィールドは、複合イメージファイルのはじめから、このメニューイメージ用のイメージデータまでのバイトオフセットを表す４バイトの項目である。このオフセット値は、複合イメージファイルを保存しているコンピュータ可読メディアのセクタサイズの倍数である（たとえばＤＶＤの場合には、２，０４８である）。「イメージデータの長さ」フィールドは、イメージデータの長さをバイトで表す４バイトの項目である。
【００３５】
次いで図６を参照すると、例示的なブロック図が、メニューファイルの構造を示している。図６は、例示的なメニューファイル（たとえば、ＭＥＮＵ．ＨＭＴ）の構造を示している。例示的なメニューファイルヘッダのデータ構造におけるフィールドが、下記のテーブルに示されている。
【００３６】
【表５】
2008547127.tif 000007
識別子フィールドは、テキスト文字列「ＭＥＮＵ＿ＨＭＴ」などの８バイトの項目である。バージョンフィールドは、現在のメニューファイルが準拠する仕様のバージョンを表す２バイトの項目である。「ＭＥＮＵ．ＨＭＴのサイズ」フィールドは、現在のＭＥＮＵ．ＨＭＴファイルのサイズをバイトで表す４バイトの項目である。「オーサリングアプリケーションの名前」フィールドは、オーサリングアプリケーションのテキスト文字列の名前を表す６４バイトの項目である。「ルートメニューまでのオフセット」フィールドは、現在のＭＥＮＵ．ＨＭＴのはじめからルートメニューヘッダまでのバイトオフセットを表す４バイトの項目である。「メニュータイトルの長さ」フィールドは、（終わりのヌルバイトをすべて除いた）メニュータイトルのバイトの長さを表す２バイトの項目である。「メニュータイトル」フィールドは、テキスト文字列としてのメニュータイトルである。空の文字列（たとえば、１つのヌル文字）は、表示するタイトルがないということを示す。
【００３７】
それぞれのメニューヘッダは、メニュー階層内の１つのメニューを表し、その単一の親メニューおよびその子アイテムへの参照を含む。それぞれの子アイテムは、子メニューへの参照、または再生リストファイルへの参照のいずれかである。子メニューも、メニューヘッダと同じフォーマットを有する。それぞれの子メニューが、単一の親メニューによって参照されて、階層的なメニュー構造を形成する。ＭＥＮＵ．ＨＭＴ内の最初のメニューヘッダは、最高位のメニューである。一実施形態においては、メニューは、背景イメージ、無地の背景色、またはデフォルトのプレーヤ動作のいずれかをサポートする。背景イメージまたは背景色が定義される場合には、文字色も定義される。有効な文字色と、背景イメージまたは背景色とが定義されない場合には、プレーヤは、デフォルトの動作を使用する。埋め込み文字をそれぞれのメニューヘッダの後に書き込んで、メニューへの追加をより容易にすることができる。埋め込み文字の量は、メニューヘッダを保存しているコンピュータ可読メディアのセクタサイズ（たとえばＤＶＤの場合には、２，０４８バイト）を超えるべきではない。さらに埋め込み文字は、２バイトのアラインメントを保つために偶数とすることができる。例示的なメニューヘッダのデータ構造におけるフィールドが、下記のテーブルに示されており、ここでの「ｎ」は、メニューアイテムの数を表している。
【００３８】
【表６】
2008547127.tif 000008
「メニューヘッダのサイズ」フィールドは、メニューアイテムおよび再生リストアイテムと、あらゆる埋め込み文字とを含むメニューヘッダのサイズをバイトで表す４バイトの項目である。「親メニューまでのオフセット」フィールドは、ＭＥＮＵ．ＨＭＴのはじめから、親メニューに対応するメニューヘッダのはじめまでのバイトオフセットを表す４バイトの項目である。現在のメニューヘッダが最高位のメニューである場合には、この値はゼロである。「埋め込み文字までのオフセット」フィールドは、ＭＥＮＵ．ＨＭＴのはじめから、現在のメニューヘッダの末尾にある埋め込み文字のはじめまでのバイトオフセットを表す４バイトの項目である。埋め込み文字がない場合には、この値はゼロである。「メニューＩＤ」は、ＭＥＮＵ．ＨＭＴ内における現在のメニューヘッダ用の一意の識別子を表す４バイトの項目である。一実施形態においては、メニュー識別子は、ＭＥＮＵ．ＨＭＴファイルがはじめに作成されたときに、１の値から始まる。ＭＥＮＵ．ＨＭＴファイルが、編集オペレーションの後に１のメニュー識別子を有さないこともありうる。「複合イメージファイルＩＤ」フィールドは、現在のメニューヘッダ用のメニューイメージを含む複合イメージファイルの識別子を表す４バイトの項目である。「アイテムの数」フィールドは、現在のメニュー内におけるメニューアイテムや再生リストアイテムの数を定義する２バイトの項目である。「メニューサブタイトルの長さ」フィールドは、終わりのヌルバイトをすべて除いたメニューサブタイトルのバイトの長さを表す２バイトの項目である。「メニューサブタイトル」フィールドは、テキスト文字列のメニューサブタイトルを表す。空の文字列（たとえば、１つのヌル文字）は、表示するサブタイトルがないということを示す。「メニューまたは再生リストアイテム」フィールドは、メニューアイテムまたは再生リストアイテムのいずれかを表す可変長項目である。
【００３９】
例示的なメニューアイテムのデータ構造におけるフィールドが、下記のテーブルに示されている。
【００４０】
【表７】
2008547127.tif 000009
「項目のタイプ」フィールドは、メニューアイテムまたは再生リストアイテムのいずれかを識別する１バイトの項目である。例示的な項目タイプの値が、下記のテーブルに示されている。
【００４１】
【表８】
2008547127.tif 000010
「メニュー要約タイプ」フィールドは、現在のメニューアイテムを通じてアクセス可能な再生リストのタイプを定義する値である。この値は、現在のメニューアイテムが含むアイテムの要約タイプの論理ＯＲである。「メニューコンテンツＩＤ」フィールドは、対応する複合イメージファイル内における現在のメニューアイテム用のイメージファイル（たとえば、サムネイルイメージファイル）のメニューコンテンツ識別子を表す４バイトの項目である。現在のメニューアイテム用のイメージがない場合には、この値はゼロである。このフィールドがゼロ以外の値を含む場合には、現在のメニューコンテンツ識別子用の「サムネイルイメージ」や「選択されたサムネイルイメージ」のイメージタイプを伴うイメージデータが、対応する複合イメージファイル内のイメージ項目内に保存される。「メニューまでのオフセット」フィールドは、ＭＥＮＵ．ＨＭＴのはじめから、メニュー階層内におけるこのメニューアイテムの下のサブメニューまでのバイトオフセットを定義する４バイトの項目である。「メニュー名の長さ」フィールドは、（終わりのヌルバイトをすべて除いた）メニューアイテムの名前のバイトの長さを含む２バイトの項目である。「メニュー名」フィールドは、ユーザに表示されるメニュー内にメニューアイテムが現れる際のそのメニューアイテムのテキスト文字列の名前である。
【００４２】
例示的な再生リストアイテムのデータ構造におけるフィールドが、下記のテーブルに示されている。
【００４３】
【表９】
2008547127.tif 000011
「項目のタイプ」フィールドは、メニューアイテムまたは再生リストアイテムのいずれかを定義する１バイトの項目である。この値は、上述のテーブル８からの再生リストの値である。「再生リスト要約タイプ」フィールドは、この再生リストアイテムが参照する再生リストのタイプを定義する値である。「再生リストＩＤ」フィールドは、現在の再生リストアイテム用の再生リスト識別子を定義する４バイトの項目である。「メニューコンテンツＩＤ」フィールドは、対応する複合イメージファイル内における現在の再生リストアイテム用のイメージファイル（たとえば、サムネイルイメージファイル）のメニューコンテンツ識別子を表す４バイトの項目である。この再生リストアイテム用のイメージがない場合には、この値はゼロである。このフィールドがゼロ以外の値を含む場合には、現在のメニューコンテンツ識別子用の「サムネイルイメージ」や「選択されたサムネイルイメージ」のイメージタイプを伴うイメージデータが、対応する複合イメージファイル内のイメージ項目内に保存される。「開始グループインデックス」フィールドは、オフセットグループテーブル内のオフセットグループ項目のインデックスを含む４バイトの項目である。再生は、このフィールド内に含まれているオフセットグループ項目のインデックスに対応する再生リストグループにおいて開始する。１の値は、再生リスト内のオフセットグループテーブル内に列挙されている最初の再生リストグループを示す。「開始ファイルインデックス」フィールドは、再生が始まる再生リストグループ内のファイルのインデックスを定義する４バイトの項目である。１の値は、再生リストグループ内の最初のファイルを示す。「開始グループインデックス」フィールドと「開始ファイルインデックス」フィールドとによって、１つの再生リストをメニュー内で複数回参照することができる。たとえばメニューは、ディスク上のあらゆるイメージごとにサムネイルをユーザに示すことができ、それぞれのサムネイルは、選択されたイメージから始まる別個の開始ポイントをユーザに返す。しかし、再生リストの終わりに達すると、その再生リストのレンダリングは終了する。「メニュー内の再生リスト名の長さ」フィールドは、（ヌル文字をすべて除いた）メニュー内の再生リスト名のバイトの長さを含む２バイトの項目である。「メニュー内の再生リスト名」フィールドは、ユーザに表示されるメニュー内に再生リストが現れる際のその再生リストのテキスト文字列の名前である。
【００４４】
次いで図７を参照すると、例示的なフローチャートが、複合イメージファイルの作成を示している。図７に示されているプロセスは、変数ＭｅｎｕＩｎｄｅｘおよびＣｏｍｐｏｕｎｄＦｉｌｅを１に設定することによって、７０２において開始する。このプロセスは、７０６において複合イメージファイルＣｏｍｐｏｕｎｄＦｉｌｅを開き、７０８において、４：３の比率を有する背景イメージを書き込み、そして７１０において、１６：９の比率を有する背景イメージを書き込む。このプロセスは、７１２において変数ＭｅｎｕＩｔｅｍをゼロに設定し、７１４においてサムネイルイメージを複合イメージファイルに書き込み、７１６において、選択されたサムネイルイメージを複合イメージファイルに書き込む。変数ＭｅｎｕＩｔｅｍは、７１８においてインクリメントされる。７２０においてさらなるメニューアイテムがある場合には、このプロセスは、７１４に戻って、さらなるサムネイルイメージを書き込む。７２０においてメニューアイテムがそれ以上ない場合には、このプロセスは、７２２においてＭｅｎｕＩｎｄｅｘ変数をインクリメントする。７２４において、処理すべきさらなるメニューがある場合には、このプロセスは、７０８および７１０に戻って、背景イメージを書き込み、さらなるオペレーションを実行する。７２４において、複合イメージファイルに書き込むメニューがそれ以上ない場合には、複合イメージファイルは、７２６においてディスクやその他のコンピュータ可読メディアに書き込まれ、このプロセスは、７２８において終了する。複合イメージファイルをディスクに書き込む前にその複合イメージファイルに埋め込みを行う必要がある場合には、このプロセスは、７３０においてその複合イメージを満たし、７３２においてその満たした複合イメージファイルをディスクに書き込み、７３４において変数ＣｏｍｐｏｕｎｄＦｉｌｅをインクリメントし、そして７０６へ進んで、書き込み用の別の複合イメージファイルを開く。
【００４５】
次いで図７Ａを参照すると、例示的なフローチャートが、背景イメージやサムネイルイメージを複合イメージファイルに書き込むプロセスを示している。チャートを書き込むプロセスは、別のプログラムやルーチンからの要求に応答して、７４０において開始する。７４２において、書き込むイメージが存在しない場合には、このプロセスは、７４４において要求側のプログラムやルーチンへ戻る。７４２において、書き込むイメージは存在するが、７４６においてヘッダが複合イメージファイルに適合しない場合には、このプロセスは、７４４において要求側のプログラムへ戻る。７４６においてヘッダがファイルに適合する場合には、このプロセスは、７５０においてそのヘッダをファイルに書き込む。７５２において複合イメージファイル内にイメージが既に存在する場合には、このプロセスは、７４４において要求側のプログラムへ戻る。７５２において複合イメージファイル内にイメージが存在せず、７５４においてイメージが適合する場合には、このプロセスは、７５６においてそのイメージをファイルに書き込み、７４４において要求側のプログラムへ戻る。７５４においてイメージが複合イメージファイルに適合しない場合には、このプロセスは、７４８において複合イメージファイルの残りを満たす（たとえば、図７のオペレーション７３０以下を参照）。
【００４６】
次いで図８を参照すると、例示的なフローチャートが、複合イメージファイルを使用したメニュー内における背景の表示を示している。８０２において特定のメニューに関して、このプロセスは、そのメニューが４：３の縦横比を有するか、または１６：９の縦横比を有するかを８０４において判定する。そのメニューが４：３の縦横比を有しており、８０７において４：３の縦横比のイメージが存在する場合には、８０９において、その４：３の縦横比のイメージがロードされるか、または描かれる。そのメニューが１６：９の縦横比を有しており、８０６において１６：９の縦横比のイメージが存在する場合には、８０８において、その１６：９の縦横比のイメージがロードされるか、または描かれる。８０７および８０６のそれぞれにおいて、４：３の縦横比のイメージも１６：９の縦横比のイメージも存在しない場合には、このプロセスは、背景色があるかどうかを８１０において判定する。背景色が存在する場合には、このプロセスは、８１４において背景をその色で満たす。背景色が存在しない場合には、このプロセスは、８１２において背景をデフォルトの色で満たす。
【００４７】
次いで図８Ａを参照すると、例示的なフローチャートが、複合イメージファイルを使用したメニュー内におけるサムネイルの表示を示している。８２０において特定のメニューアイテムに関して、このプロセスは、サムネイルイメージが存在するかどうかを８２２において判定する。８２２においてサムネイルイメージが存在するが、８２４においてそのアイテムが選択されていない場合には、このプロセスは、８２６において終了する。８２２においてサムネイルイメージが存在し、８２４においてそのアイテムが選択されており、８２８において、選択されたサムネイルが存在する場合には、このプロセスは、８３０において、選択されたイメージを描き、８２６において終了する。８２８において、選択されたサムネイルが存在しない場合には、このプロセスは、８２６において終了する。８２２においてサムネイルが存在しない場合には、このプロセスは、８３２において通常のイメージを描く。８３４においてアイテムが選択されている場合には、このプロセスは、選択を示す長方形の枠を描き、８２６において終了する。８３４においてアイテムが選択されていない場合には、このプロセスは、８２６において終了する。
【００４８】
次いで図９を参照すると、例示的なメニューのスクリーンショットが、メニュー内のメディアコンテンツに対応するサムネイルイメージを表示している。図９の例においては、サムネイルイメージは同じであり、写真を表している。「Ｔｏｋｙｏ  Ｆｉｓｈ  Ｍａｒｋｅｔ」のサムネイルイメージが選択されており、四角い枠で囲まれている。
【００４９】
例示的な動作環境
図１０は、汎用コンピューティングデバイスの一例をコンピュータ１３０の形態で示している。本発明の一実施形態においては、コンピュータ１３０などのコンピュータは、本明細書で例示および説明されているその他の図において使用することにも適している。コンピュータ１３０は、１つまたは複数のプロセッサまたは処理装置１３２と、システムメモリ１３４とを有する。図示されている実施形態においては、システムバス１３６は、システムメモリ１３４を含むさまざまなシステムコンポーネントをプロセッサ１３２に結合している。バス１３６は、メモリバスまたはメモリコントローラと、ペリフェラルバスと、アクセラレイティッドグラフィックスポートと、さまざまなバスアーキテクチャーのうちのいずれかを使用するプロセッサまたはローカルバスとを含む複数のタイプのバス構造のいずれかのうちの１つまたは複数に相当する。たとえば、そのようなアーキテクチャーは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとしても知られているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含むが、これらには限定されない。
【００５０】
コンピュータ１３０は通常、少なくとも何らかの形態のコンピュータ可読メディアを有する。コンピュータ可読メディアは、揮発性メディアおよび不揮発性メディア、ならびに取り外し可能なメディアおよび取り外し不能なメディアの双方を含み、コンピュータ１３０によってアクセスできる利用可能な任意のメディアとすることができる。たとえばコンピュータ可読メディアは、コンピュータストレージメディアおよび通信メディアを含むが、これらには限定されない。コンピュータストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュール、あるいはその他のデータなどの情報を記憶するための任意の方法や技術において実装される揮発性メディアおよび不揮発性メディア、ならびに取り外し可能なメディアおよび取り外し不能なメディアを含む。たとえばコンピュータストレージメディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、またはその他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、またはその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、またはその他の磁気ストレージデバイス、あるいは所望の情報を記憶するために使用可能で、コンピュータ１３０によってアクセス可能なその他の任意のメディアを含む。通信メディアは通常、搬送波やその他の伝送メカニズムなどの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、あるいはその他のデータを具体化し、任意の情報伝達メディアを含む。変調されたデータ信号とは、当業者にはよく知られたものであり、情報をその信号内でコード化するような方法で設定または変更されたその特性のうちの１つまたは複数を有する。有線ネットワークや直接有線接続などの有線メディア、および音波メディア、ＲＦメディア、赤外線メディア、その他の無線メディアなどの無線メディアは、通信メディアの例である。また上記のいずれの組合せも、コンピュータ可読メディアの範囲内に含まれるものである。
【００５１】
システムメモリ１３４は、コンピュータストレージメディアを、取り外し可能なメモリおよび／または取り外し不能なメモリ、ならびに揮発性メモリおよび／または不揮発性メモリの形態で含む。図示されている実施形態においては、システムメモリ１３４は、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１３８およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１４０を含む。ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１４２は、起動中などにコンピュータ１３０内の要素どうしの間における情報伝達を補助する基本ルーチンを含み、通常はＲＯＭ  １３８内に格納されている。ＲＡＭ  １４０は通常、処理装置１３２がすぐにアクセスできるか、および／または処理装置１３２によってその時点で操作されているデータモジュールおよび／またはプログラムモジュールを含む。図１０は、例としてオペレーティングシステム１４４、アプリケーションプログラム１４６、その他のプログラムモジュール１４８、およびプログラムデータ１５０を示しているが、これらには限定されない。
【００５２】
コンピュータ１３０は、その他の取り外し可能な／取り外し不能な、揮発性の／不揮発性のコンピュータストレージメディアを含むこともできる。たとえば図１０は、取り外し不能な不揮発性の磁気メディアとの間で読み取りや書き込みを行うハードディスクドライブ１５４を示している。図１０はまた、取り外し可能な不揮発性の磁気ディスク１５８との間で読み取りや書き込みを行う磁気ディスクドライブ１５６と、ＣＤ−ＲＯＭやその他の光メディアなどの取り外し可能な不揮発性の光ディスク１６２との間で読み取りや書き込みを行う光ディスクドライブ１６０とを示している。この例示的な動作環境において使用することができるその他の取り外し可能な／取り外し不能な、揮発性の／不揮発性のコンピュータストレージメディアとしては、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、これらには限定されない。ハードディスクドライブ１５４、および磁気ディスクドライブ１５６、ならびに光ディスクドライブ１６０は通常、インターフェース１６６などの不揮発性のメモリインターフェースによってシステムバス１３６に接続されている。
【００５３】
図１０に示されている上述のドライブ、またはその他の大容量ストレージデバイス、およびそれらに関連付けられているコンピュータストレージメディアは、コンピュータ１３０用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶を提供する。たとえば図１０においては、ハードディスクドライブ１５４は、オペレーティングシステム１７０、アプリケーションプログラム１７２、その他のプログラムモジュール１７４、およびプログラムデータ１７６を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１４４、アプリケーションプログラム１４６、その他のプログラムモジュール１４８、およびプログラムデータ１５０と同一とするか、または異なっていてもよいという点に留意されたい。ここでは少なくとも、オペレーティングシステム１７０、アプリケーションプログラム１７２、その他のプログラムモジュール１７４、およびプログラムデータ１７６が異なるコピーであるということを示すために、それらに異なる番号を割り当てている。
【００５４】
ユーザは、キーボード１８０およびポインティングデバイス１８２（たとえばマウス、トラックボール、ペン、あるいはタッチパッド）などの入力デバイスやユーザインターフェース選択デバイスを通じてコンピュータ１３０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。これらおよびその他の入力デバイスは、システムバス１３６に結合されているユーザ入力インターフェース１８４を通じて処理装置１３２に接続されているが、パラレルポート、ゲームポート、あるいはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などのその他のインターフェース構造およびバス構造によって接続することもできる。またモニタ１８８やその他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１３６に接続されている。コンピュータは、モニタ１８８に加えて、プリンタおよびスピーカなどのその他の周辺出力デバイス（図示せず）を含む場合が多く、これらは、周辺出力インターフェース（図示せず）を通じて接続することができる。
【００５５】
コンピュータ１３０は、リモートコンピュータ１９４などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で機能することができる。リモートコンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、あるいはその他の一般的なネットワークノードとすることができ、通常はコンピュータ１３０に関連する上述の要素の多くまたはすべてを含む。図１０に示されている論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）１９６およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）１９８を含むが、その他のネットワークを含むこともできる。ＬＡＮ１９６および／またはＷＡＮ１９８は、有線ネットワーク、無線ネットワーク、それらの組合せなどとすることができる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、および全世界規模のコンピュータネットワーク（たとえばインターネット）においてよく見受けられる。
【００５６】
ローカルエリアネットワーキング環境において使用する場合には、コンピュータ１３０は、ネットワークインターフェースまたはアダプタ１８６を通じてＬＡＮ１９６に接続される。ワイドエリアネットワーキング環境において使用する場合には、コンピュータ１３０は通常、インターネットなどのＷＡＮ１９８上で通信を確立するためのモデム１７８やその他の手段を含む。モデム１７８は、内蔵型とすることもでき、あるいは外付け型とすることもでき、ユーザ入力インターフェース１８４やその他の適切なメカニズムを介してシステムバス１３６に接続される。ネットワーク化された環境においては、コンピュータ１３０に関連して示されているプログラムモジュールやそれらの一部をリモートメモリストレージデバイス（図示せず）内に格納することができる。図１０は、例としてリモートアプリケーションプログラム１９２をメモリデバイス上に常駐するものとして示しているが、この形態には限定されない。示されているネットワーク接続は例示的なものであり、コンピュータどうしの間に通信リンクを確立するその他の手段を使用することもできる。
【００５７】
一般にコンピュータ１３０のデータプロセッサは、別々の時点でコンピュータのさまざまなコンピュータ可読ストレージメディア内に格納された命令によってプログラムされる。プログラムおよびオペレーティングシステムは通常、たとえばフロッピー（登録商標）ディスクやＣＤ−ＲＯＭで配布される。そしてそこから、コンピュータの２次メモリ内へインストールまたはロードされる。また実行時には、少なくとも一部がコンピュータの１次電子メモリ内へロードされる。これらおよびその他のさまざまなタイプのコンピュータ可読ストレージメディアが、後述のステップを実施するための命令やプログラムをマイクロプロセッサやその他のデータプロセッサと共に含む場合には、そのようなメディアは、本明細書に記載の発明に含まれる。コンピュータが、本明細書に記載の方法および技術に従ってプログラムされる場合には、そのコンピュータ自体も本発明に含まれる。
【００５８】
例示の目的から、オペレーティングシステムなどのプログラムおよびその他の実行可能なプログラムコンポーネントは、本明細書では別個のブロックとして示されている。しかし、そのようなプログラムおよびコンポーネントは、さまざまな時点においてコンピュータの別々のストレージコンポーネント内に存在し、コンピュータの（１つまたは複数の）データプロセッサによって実行されるということを認識されたい。
【００５９】
コンピュータ１３０を含む例示的なコンピューティングシステム環境との関連から説明したが、本発明は、その他の多くの汎用または専用のコンピューティングシステム環境または構成と共に使用することができる。このコンピューティングシステム環境は、本発明の使用や機能の範囲に関して何らかの限定を提示することを意図するものではない。さらに、このコンピューティングシステム環境は、この例示的な動作環境内に示されているコンポーネントのうちの任意の１つまたは組合せに対して何らかの依存性や必要性を有すると解釈すべきではない。本発明と共に使用するのに適する可能性のあるよく知られているコンピューティングシステム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスやラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、携帯電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムやデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、これらには限定されない。
【００６０】
本発明については、１つまたは複数のコンピュータやその他のデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的なコンテキストにおいて説明することができる。一般にプログラムモジュールは、特定のタスクを実行したり特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造を含むが、これらには限定されない。本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することもできる。分散コンピューティング環境においては、プログラムモジュールは、メモリストレージデバイスを含むローカルコンピュータストレージメディアおよびリモートコンピュータストレージメディアの双方に配置することができる。
【００６１】
ソフトウェアアーキテクチャーのコンテキストにおけるインターフェースは、ソフトウェアモジュール、コンポーネント、コード部分、あるいはコンピュータ実行可能命令のその他のシーケンスを含む。このインターフェースは、たとえば、第１のモジュールのためにコンピューティングタスクを実行するための第２のモジュールにアクセスする第１のモジュールを含む。第１のモジュールおよび第２のモジュールは、一例においては、オペレーティングシステムによって提供されるようなＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）、（たとえば、ピアツーピアのアプリケーション通信のための）ＣＯＭ（ｃｏｍｐｏｎｅｎｔ  ｏｂｊｅｃｔ  ｍｏｄｅｌ）インターフェース、および（たとえば、ウェブサービスどうしの間における通信のための）ＸＭＩ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ  ｍｅｔａｄａｔａ  ｉｎｔｅｒｃｈａｎｇｅ  ｆｏｒｍａｔ）インターフェースを含む。
【００６２】
このインターフェースは、Ｊ２ＥＥ（Ｊａｖａ（登録商標） ２  Ｐｌａｔｆｏｒｍ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）、ＣＯＭ、ＤＣＯＭ（ｄｉｓｔｒｉｂｕｔｅｄ  ＣＯＭ）の例におけるような密結合の同期的な実装形態とすることができる。別法として、あるいは追加として、このインターフェースは、（たとえばシンプルオブジェクトアクセスプロトコルを使用する）ウェブサービスにおけるような疎結合の非同期的な実装形態とすることもできる。一般に、このインターフェースは、密結合、疎結合、同期、および非同期という特性の任意の組合せを含む。さらに、このインターフェースは、標準的なプロトコル、独自のプロトコル、あるいは標準的なプロトコルと独自のプロトコルとの任意の組合せに準拠することができる。
【００６３】
本明細書に記載されているインターフェースは、すべてを単一のインターフェースの一部とすることもでき、あるいは別々のインターフェースやそれらの任意の組合せとして実装することもできる。これらのインターフェースは、ローカルまたはリモートで実行して、機能を提供することができる。さらに、これらのインターフェースは、本明細書において例示または説明されている機能よりも多い機能を含むこともでき、あるいは少ない機能を含むこともできる。
【００６４】
コンピュータ１３０は、作動すると、複合イメージファイルを作成するための、および複合イメージファイルを使用してユーザに対してメニューをレンダリングするための、図に示されているようなコンピュータ実行可能命令を実行する。
【００６５】
以降の例は、本発明をさらに例示するものである。本発明は、ナビゲーションおよび選択用としてユーザにメニューを表示するための手段と、複合イメージファイルを作成するための手段とを含む。ハードウェア、およびデータ構造などのソフトウェア、ユーザインターフェース、アプリケーションプログラム、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）、コンピュータ実行可能命令、ファームウェアなど（図に示されているものなど）が、ナビゲーションおよび選択用としてユーザにメニューを表示するための手段と、複合イメージファイルを作成するための手段とを構成する。本発明は、複合イメージファイルを作成するための特定の方法には限定されない。さまざまな方法が、本発明の範囲内に収まる。
【００６６】
本明細書に記載されている例においては、デジタルメディアファイルのメディアコンテンツは、ＣＤやＤＶＤ上で具体化されるコンテンツというコンテキストで説明されている。メディアコンテンツは、いかなる適切なメディア上でも具体化することができるということ、および本明細書に記載されている特定の例は、本発明の原理をさらに理解するために与えられているということを認識および理解されたい。便宜上、デジタルメディアファイルは、たとえば一曲のトラックや、音楽ＣＤ上に見られるようなトラックの集合を表す１つまたは複数のファイルを指す。メディアコンテンツは、コード化されたメディアファイルの形態の特別にコード化されたメディアコンテンツ（たとえば、音声、映像、あるいは静止画像）を含むことができるが、それらには限定されない。
【００６７】
図面に示され本明細書に記載されている例示的なメディアファイルオペレーションは、例示的なものにすぎない。これらのファイルオペレーションのその他の変形形態も、本発明の範囲内に収まる。別法として、あるいは追加として、本明細書に記載されていないが本発明を具体化するその他のメディアファイルオペレーションも、本発明の範囲内に収まる。
【００６８】
特段の指定がない限り、本明細書において例示および説明されている方法を実行または実施する順序は、必須ではない。すなわち、これらの方法の要素は、特段の指定がない限り、任意の順序で実施することができ、これらの方法は、本明細書に開示されているよりも多くの要素を含むこともでき、あるいは少ない要素を含むこともできる。たとえば特定の要素を、別の要素の前に、別の要素と同時に、あるいは別の要素の後に実行または実施することは、本発明の範囲内に収まるものと考えられる。
【００６９】
本発明やその（１つまたは複数の）実施形態の要素を提示する際に、「ａ」、「ａｎ」、「ｔｈｅ」、および「ｓａｉｄ」という冠詞は、それらの要素が１つまたは複数存在するということを意味することを意図している。「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、および「ｈａｖｉｎｇ」という用語は、包括的な意味を意図しており、記載されている要素のほかにさらなる要素が存在しうるということを意味している。
【００７０】
上述の点を考慮すれば、本発明の複数の目的が達成され、さらにその他の有利な結果も得られるということが分かるであろう。
【００７１】
本発明の範囲から逸脱することなく、上述の構成、製品、および方法にさまざまな変更を行うことができるため、上述の説明に含まれ、添付の図面に示されているすべての内容は、例示として解釈すべきであり、限定的な意味に解釈すべきではないということを意図している。
【図面の簡単な説明】
【００７２】
【図１】本発明を実装することができる例示的なメディア環境を示すブロック図である。
【図２】メニューと複合イメージファイルとの間における関係を示す例示的なブロック図である。
【図３】複合イメージファイルを作成するためのロジックのオペレーションを示す例示的なフローチャートである。
【図４】複合イメージファイルを使用してメニューをレンダリングするためのロジックのオペレーションを示す例示的なフローチャートである。
【図５】複合イメージファイルの構造を示す例示的なブロック図である。
【図６】メニューファイルの構造を示す例示的なブロック図である。
【図７】複合イメージファイルの作成を示す例示的なフローチャートである。
【図７Ａ】複合イメージファイルの作成を示す例示的なフローチャートである。
【図８】複合イメージファイルを使用したメニューの表示を示す例示的なフローチャートである。
【図８Ａ】複合イメージファイルを使用したメニューの表示を示す例示的なフローチャートである。
【図９】メニュー内のメディアコンテンツに対応するサムネイルイメージを表示する例示的なメニューを示すスクリーンショットである。
【図１０】本発明の態様を実装することができる適切なコンピューティングシステム環境の一例を示すブロック図である。
【図１】
2008547127.tif 000012
【図２】
2008547127.tif 000013
【図３】
2008547127.tif 000014
【図４】
2008547127.tif 000015
【図５】
2008547127.tif 000016
【図６】
2008547127.tif 000017
【図７】
2008547127.tif 000018
【図７Ａ】
2008547127.tif 000019
【図８】
2008547127.tif 000020
【図８Ａ】
2008547127.tif 000021
【図９】
2008547127.tif 000022
【図１０】
2008547127.tif 000023
【国際調査報告】
2008547127.tif 000024