[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4139303B2 - レンダリング中のメディアプレイヤのメモリの最適化 - Google Patents

レンダリング中のメディアプレイヤのメモリの最適化 Download PDF

Info

Publication number
JP4139303B2
JP4139303B2 JP2003336558A JP2003336558A JP4139303B2 JP 4139303 B2 JP4139303 B2 JP 4139303B2 JP 2003336558 A JP2003336558 A JP 2003336558A JP 2003336558 A JP2003336558 A JP 2003336558A JP 4139303 B2 JP4139303 B2 JP 4139303B2
Authority
JP
Japan
Prior art keywords
file
media
memory
metadata
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003336558A
Other languages
English (en)
Other versions
JP2004164824A (ja
JP2004164824A5 (ja
Inventor
レイ ラチャペル ケビン
キャメロン マーサー イアン
順康 竹口
俊彦 水上
良文 柳川
知代子 松見
晴敏 宮本
靖之 鳥居
景介 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Microsoft Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd, Microsoft Corp filed Critical Panasonic Corp
Publication of JP2004164824A publication Critical patent/JP2004164824A/ja
Publication of JP2004164824A5 publication Critical patent/JP2004164824A5/ja
Application granted granted Critical
Publication of JP4139303B2 publication Critical patent/JP4139303B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/218Write-once discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • G11B2220/2575DVD-RAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Description

本発明はデジタルメディアコンテンツの分野に関する。詳細には、本発明はレンダリング中のメディアプレイヤのメモリ使用の最適化に関する。
最近の技術の発達により、コンピュータのユーザは現在、様々なメディアおよびマルチメディアコンテンツを自分のパーソナルまたはラップトップコンピュータ上でプレイするなど、改善されたユーザ体験を提供する多数の機能を享受することができる。たとえば、大抵の今日のコンピュータはコンパクトディスク(CD)をプレイすることができるので、ユーザがコンピュータ上で作業する間に自分の好みの音楽アーティストを聴くことができる。多数のコンピュータはまたデジタル多用途ディスク(DVD)ドライブも装備しており、ユーザが映画を見ることができる。
音楽がパーソナルコンピュータ(PC)上で、Moving Picture Experts Groupオーディオレイヤ3(MP3)ファイルおよびWINDOWS(登録商標)MDEIA技術オーディオ(WMA)ファイルなど、圧縮メディアファイルからプレイされるとき、PCは通常、メモリ内ですべてのアルバム、アーティスト、ジャンル、年などの完全なデータベースを保持し、ユーザがこれらの属性の中でナビゲートできるようにする。しかし、音楽が書き込み可能CDまたはDVDにコピーされ、ポータブルCDプレイヤ、カーレシーバ、DVDプレイヤ、または、比較的低能力のプロセッサ、制限されたメモリ可用性、安価なドライブ機構、およびしばしば制限されたディスプレイおよびユーザ入力機能を有する他のいずれかの家電デバイスでプレイされるとき、同じ範囲のメタデータが使用可能ではない。
圧縮メディアコンテンツをレンダリングする、現在使用可能なメディアプレイヤは、オーディオの再生を開始するために長い時間を要する可能性がある(たとえば、通常は約30秒であるが、数分以上を要する可能性があるものもある)。このようなメディアプレイヤの遅い起動時間は部分的には、メディアプレイヤが、メディアコンテンツを格納するメディア全体をスキャンして、個々の各メディアファイルから検索されたいずれかの関連メタデータ(たとえば、タイトル、アーティストおよびジャンル)と共にマルチプレイヤがレンダリングすることができるファイルのリストを構築するために、必要とされる時間による。しばしば、既存のメディアプレイヤは、圧縮メディアコンテンツに関連付けられたいかなるメタデータも検索または表示しない。このような既存のメディアプレイヤは、ジャンル毎のプレイ、またはアーティスト毎のプレイなど、豊富なナビゲーション機能を提供することができない。豊富なナビゲーション機能の欠乏は部分的には、メディアコンテンツからのメタデータをメニューおよびプレイリストに動的にソートおよび集約するための、既存のメディアプレイヤのメモリおよび処理能力が不十分であることによる。
これらの理由のため、レンダリング中にメディアプレイヤのメモリ使用を最適化するためのシステムが、これらおよび他の欠点の1つまたは複数に対処するために望まれる。
本発明は、メディアファイルのレンダリング中にメディアプレイヤのオペレーションを最適化するためのソフトウェアを含む。詳細には、本発明は、データ構造を作成するため、かつ、作成されたデータ構造を、得られたメタデータによりポピュレートするためのオーサリングソフトウェアを含む。本発明によれば、レンダリングソフトウェアはメタデータをデータ構造から検索し、レンダリングするためのメディアファイルを識別する。
本発明のメタデータキャッシュは、メモリ使用およびディスク読み取りの最適化を、テキストおよびバイナリメタデータを異なるキャッシュファイルに分離することによって、かつ、キャッシュの実際のレイアウトによって提供する。最適化されたメタデータキャッシュは、各圧縮メディアファイルからの関連メタデータを格納する。様々な機構が使用されて、たとえばコンピュータ可読媒体上のキャッシュおよび圧縮メディアファイルのコヒーレンシーが、メタデータキャッシュがメディア上の最後のセッション内に存在するときにこれを認識することのみによって保証される。メディアプレイヤはキャッシュを使用して、メディア上のオーディオ、ビデオまたはイメージファイル、および各ファイルについてのいずれかの関連情報を効率的に識別する。一実施形態では、本発明のソフトウェアは長い起動時間を著しく短縮し、これはメディアプレイヤが再生を開始するためにメタデータキャッシュファイルをロードすることのみが必要であり、メディア上のすべてのファイルを最初にスキャンする必要がないからである。さらに、メディアプレイヤは各メディアファイルのヘッダを開いて読み、メタデータをそこから収集する必要がない。したがって、ディスクシークオペレーションの総数および距離、およびディスク読み取りオペレーションの総数が最小限にされる。低速のメディアプレイヤ機構でさえ、本発明のソフトウェアによって作成されたメディアコンテンツをレンダリングするとき、改善された再生体験をユーザに提供する。
本発明によれば、メタデータキャッシュは、メモリ効率のよい方法で編成された関連バイナリおよびテキストメタデータを含み、これによりメモリフットプリントをディスクのローディングおよびディスクの再生中のいつでも最小限にする。メモリ使用が最小限にされ、ローディングが完了した後かつ再生が開始する前にメモリを効率的に再生することができる。これにより、最大可能な量のメモリを、圧縮された音楽サンプルまたは他のメディアファイルを格納するために、レンダリング中に使用可能にすることができる。メモリ使用がさらに、再生デバイスの階層機能リストに基づいて最適化される。すなわち、最も単純なオーディオ専用デバイスは最低量のメモリを使用するが、より高能力のビデオプレイヤはより多くのメモリを使用することができ、さらに同じメディアがなお、そのデバイスのすべての機能をサポートする各デバイスにおいてプレイ可能である。
本発明の一態様によれば、ある方法がメディアプレイヤのオペレーションを最適化する。メディアプレイヤは、その上に格納されたメディアファイルをレンダリングするためにコンピュータ可読媒体にアクセスする。コンピュータ可読媒体はまた、メディアファイルに関連付けられたメモリ最適化データも格納する。この方法は、1つまたは複数の選択されたメディアファイルについてのメタデータを得る。この方法はまた、選択されたメディアファイルをレンダリングする前にメディアプレイヤによってアクセス可能であるデータ構造も作成する。この方法はまた、作成されたデータ構造を、前記得られたメタデータによりポピュレートする。この方法はまた、ポピュレートされたデータ構造をコンピュータ可読媒体上で、選択されたメディアファイルと共に格納する。
本発明の一態様によれば、メディアオーサリングツールにおける1つまたは複数のコンピュータ可読媒体は、メディアプレイヤのオペレーションを最適化するためのコンピュータ実行可能コンポーネントを有する。メディアプレイヤは、その上に格納されたメディアファイルをレンダリングするためにコンピュータ可読媒体にアクセスする。コンピュータ可読媒体はまた、メディアファイルに関連付けられたメモリ最適化データも格納する。このコンポーネントは、1つまたは複数の選択されたメディアファイルについてのメタデータを得るための準備モジュールを含む。このコンポーネントはまた、選択されたメディアファイルをレンダリングする前にメディアプレイヤによってアクセス可能であるように適合されたデータ構造を作成するための初期化モジュールも含む。このコンポーネントはまた、初期化モジュールからの作成されたデータ構造を、準備モジュールからの得られたメタデータによりポピュレートするための編成モジュールも含む。このコンポーネントはまた、編成モジュールからのポピュレートされたデータ構造をコンピュータ可読媒体上で、選択されたメディアファイルと共に格納するためのライタモジュールも含む。
本発明のもう1つの態様によれば、ある方法がメディアプレイヤのオペレーションを最適化する。メディアプレイヤは、その上に格納されたメディアファイルをレンダリングするためにコンピュータ可読媒体にアクセスする。コンピュータ可読媒体はまた、メディアファイルに関連付けられたメモリ最適化データも格納する。この方法は、メディアファイルをレンダリングする前に、コンピュータ可読媒体上に格納されたメモリ最適化データを検索する。メモリ最適化データが、コンピュータ可読媒体上に格納された1つまたは複数の選択されたメディアファイルに関連付けられる。この方法はまた、検索されたメモリ最適化データに応答して、選択されたメディアファイルを識別する。選択されたメディアファイルが、メディアプレイヤによってレンダリングされるように適合される。
本発明のさらにもう1つの態様によれば、メディアプレイヤは、メディアプレイヤのオペレーションを最適化するためのコンピュータ実行可能コンポーネントを格納する、1つまたは複数のコンピュータ可読媒体を有する。メディアプレイヤは、その上に格納されたメディアファイルをレンダリングするためにコンピュータ可読媒体にアクセスする。コンピュータ可読媒体はまた、メディアファイルに関連付けられたメモリ最適化データも格納する。このコンポーネントは、メディアファイルをレンダリングする前に、コンピュータ可読媒体上に格納されたメモリ最適化ファイルを検索するための入力モジュールを含む。メモリ最適化データが、コンピュータ可読媒体上に格納された1つまたは複数の選択されたメディアファイルに関連付けられる。このコンポーネントはまた、入力モジュールからの検索されたメモリ最適化データに応答して、選択されたメディアファイルを識別するためのフィルタモジュールも含む。選択されたメディアファイルが、メディアプレイヤによってレンダリングされるように適合される。
本発明のさらにもう1つの態様によれば、コンピュータ可読媒体は、その上に格納された1つまたは複数のメディアファイルに関連付けられたメモリ最適化データを表すデータ構造を、その上に格納している。メモリ最適化データは、メディアプレイヤのオペレーションを最適化する。メディアプレイヤは、メディアファイルをレンダリングするためにコンピュータ可読媒体にアクセスする。データ構造は、1つまたは複数のメディアファイルに関連付けられたテキストおよびバイナリデータへの参照を格納する、オフセットフィールドを含むヘッダを含む。データ構造はまた、ディレクトリ番号を、メディアファイルに関連付けられたディレクトリ名と合致させる、ディレクトリテーブルも含み、ヘッダは、ディレクトリ番号によりメディアファイルを参照する。
別法として、本発明は様々な他の方法および装置を備えることができる。
他の特徴は、以下で部分的に明らかになり、部分的に示されるであろう。
対応する参照文字は、図面の全体にわたって対応する部分を示す。
本発明はアクセラレータファイル、アクセラレータデータ、メモリ最適化データなどを使用して、改善されたメディアプレイヤ体験を起動時にユーザのために、コンパクトバイナリ表現における1つまたは複数のメディアファイルおよびプレイリストからメタデータ情報をキャッシュすることによって提供する。コンパクト表現を、通常のポータブルCDプレイヤまたはDVDプレイヤなどに見られるものなど、比較的低能力の中央処理装置(CPU)によって直接、容易に操作することができる。メモリ最適化データは、本明細書ではアクセラレータファイルとも呼ばれ、制限されたメニューシステムも提供し、これによりプレイヤが、見るものまたはプレイするものの選択に関してあるPCのような機能性を提供することができる。たとえば、メニューは「アルバム」、「アーティスト」、「ジャンル」選択を提供することができ、これらが適切な項目によってグループ化されたプレイリストにつながる。別法として、メニューは、ディスク上に格納された3つのセットのホリデーフォトのうち1つを示すことを提供することができる。
本発明は、データ構造を作成するため、かつ、作成されたデータ構造を、得られたメタデータによりポピュレートするためのオーサリングソフトウェアを含む(図2を参照)。本発明はまた、メタデータをデータ構造から検索するため、かつ、レンダリングするためのメディアファイルを識別するためのレンダリングソフトウェアも含む(図4を参照)。一実施形態では、本発明のソフトウェアは、圧縮メディアフォーマットの一部として動作可能であり(図5を参照)、これは、機能が豊富なパーソナルコンピュータのメディアプレイヤならびに低コストのメディアプレイヤ上で再生するために設計された、コンパイルされたバイナリフォーマットにおけるメタデータ、メニューおよびプレイリストを含む小型ファイルのセットを有する。たとえば、通常のローエンドポータブルCDプレイヤは、100キロバイトほどの作業メモリ、わずか1メガヘルツで実行する8ビット中央処理装置、および非常に低速で最大シーク時間がほぼ5秒のCDドライブ機構を有する可能性がある。
メディア環境
このとき図面を参照すると、図1は、本発明を使用することができる例示的マルチメディア環境を例示する。システム100は1つまたは複数のコンピュータ102を有し、これが、メディアコンテンツを提供する1つまたは複数のデバイスに結合される。たとえば、このデバイスはCD104、カムコーダ106またはカメラ108を含むことができる。
一実施形態では、コンピュータ102はメディアコンテンツを、家電デバイス112に関連付けられたメディアプレイヤプログラムによって使用するために、コンピュータ可読媒体110上に格納する。家電デバイス112には、いずれかの適切なレンダリングフィルタまたはメディアプレイヤ、または、デジタルメディアをレンダリングして、メディア110上で実施されるコンテンツをユーザが体験できるように構成されるデバイスが含まれる。たとえば、適切なメディアプレイヤアプリケーションには、CDメディアプレイヤおよびDVDメディアプレイヤが含まれる。
本発明では、メディアプレイヤ、家電デバイス112などを、メディアプレイヤの機能に従って3つの例示的レベルに編成することができる。各メディアプレイヤは、メディアプレイヤがレンダリングすることができるメディアのタイプを識別するメディアタイプを有する。たとえば、メディアタイプ(プレイリストサマリタイプ、メニューサマリタイプなどとも呼ばれる)には、オーディオ、ビデオおよび静止画像のうち1つまたは複数が含まれる。レベル1のメディアプレイヤには、ポータブルCDプレイヤ、カーレシーバおよびDVDプレイヤなど、オーディオ専用プレイヤが含まれる。レベル1のメディアプレイヤに加えて、レベル2のメディアプレイヤには、オプショナルで画像をオーディオと共に同時にレンダリングすることができるポータブルおよびセットトップDVDプレイヤを含む、オーディオおよび静止画像可能プレイヤが含まれる。レベル3のメディアプレイヤには、レベル2のメディアプレイヤおよびオーディオ、静止画像およびビデオ可能プレイヤが含まれる。例示的家電デバイス112には、それだけに限定されないが、ポータブルCDプレイヤ、MP3プレイヤ、自動車内のオーディオシステム、携帯情報端末、携帯電話などが含まれる。
本発明のソフトウェアおよびデータ構造は、それだけに限定されないが、メディアプレイヤおよびメディアオーサリングシステムを含むシステムにおいて動作可能である。本発明による例示的家電デバイス112またはメディアプレイヤは、1つまたは複数のコンピュータ可読媒体を有し、これはメディアプレイヤのオペレーションを最適化するためのコンピュータ実行可能コンポーネントを格納する。メディアプレイヤはコンピュータ可読媒体にアクセスして、メディア上に格納されたメディアファイルをレンダリングする。コンピュータ可読媒体はさらに、メディアファイルに関連付けられたデータを最適化するメモリを格納する。メディアプレイヤのコンポーネントには、入力モジュール114およびフィルタモジュール116が含まれる。入力モジュール114は、メディアファイルをレンダリングする前に、コンピュータ可読媒体上に格納されたメモリ最適化データを検索する。メモリ最適化データは、コンピュータ可読媒体上に格納された1つまたは複数の選択されたメディアファイルに関連付けられる。フィルタモジュール116は、選択されたメディアファイルを、入力モジュール114からの検索されたメモリ最適化データに応答して識別する。選択されたメディアファイルは、メディアプレイヤによってレンダリングされるように適合される。メモリ最適化データがテキストおよびバイナリデータを含む一実施形態では、メディアプレイヤはユーザインターフェイスモジュール118を含み、これは、選択されたメディアファイルのレンダリング中に、メモリ最適化データがそれに関連付けられる、選択されたメディアファイルと関連して、少なくとも一部のテキストデータを表示するためのものである。メモリ最適化データがメディア上に存在しないとき、メディアプレイヤは、メディア上に存在する実際のメディアファイルの順次再生を提供する。
プレイリスト
プレイリストは、コンピュータ可読媒体上のオーディオ、ビデオおよびイメージファイルのグループを編成するための好都合な方法である。プレイリストは、それだけに限定されないが、メディアファイル、オーディオファイルのグループ、ビデオファイルのグループ、タイムドイメージシーケンスのグループ、および、オーディオまたはオプショナルでビデオを有する画像の様々な複雑な並列組合せのグループのうち1つまたは複数を含むことができる。たとえば、ユーザは、異なるパフォーマまたは異なる種類の音楽またはビデオについてのプレイリストを作成することができる。ユーザはまた、作成されたプレイリストを、プレイリストのコンテンツをシャッフルまたは繰り返すことによって操作することもできる。プレイリストはメニューにおいて存在することができ、これによりユーザが容易に、メディア上に存在するメディアファイルのリストをナビゲートおよび閲覧することができ、レンダリングするプレイリストを選択することができる。
オーサリングソフトウェア
次に図2を参照すると、本発明のオーサリングソフトウェアは、データ構造を作成およびポピュレートして、メディアプレイヤのオペレーションを最適化する。202から進んで、入力メディア上の各入力メディアファイルについて、204でオーサリングソフトウェアが、入力メディアファイルがオーディオデータ、ビデオデータ、イメージデータまたはプレイリストを含むかどうかを判断する。入力メディアファイルがこのようなデータを含む場合、206でメタデータが入力メディアファイルから、グループの定義で使用するために得られる。メタデータは、それだけに限定されないが、プレイリスト、サムネイル画像、メニュー構造または言語選択を含む。202で判断されたように、入力メディア上にそれ以上のファイルがない場合、208で、オーサリングソフトウェアがメタデータを、1つまたは複数の選択されたメディアファイルについて得る。メタデータは、メディアファイルなどのソースから、あるいはインターネットなどのネットワークを介してサーバから得られる。210でオーサリングソフトウェアが、メディアファイルをレンダリングする前にメディアプレイヤによってアクセスするように適合されたデータ構造を作成し、212で、作成されたデータ構造を、得られたメタデータによりポピュレートする。加えて、214でオーサリングソフトウェアが、ポピュレートされたデータ構造をコンピュータ可読媒体上に格納する。一実施形態では、1つまたは複数のコンピュータ可読媒体は、図2に例示する方法を実行するためのコンピュータ実行可能命令を有する。
図3に例示するマルチセッションコンピュータ可読媒体を有する一実施形態では、オーサリングソフトウェアが、ポピュレートされたデータ構造をメディア上の最後のセッションとして格納する。図3では、メディアファイル302および加速データ304がメディア上に、4つのセッション(セッション1、2、3、4)により格納される。本発明のレンダリングソフトウェアは、セッション4(すなわち、メディア上の最後のセッション)に格納されたアクセラレータデータ304にアクセスする。
メモリ最適化データがメディア(図示せず)上の最後のセッション内にない場合、レンダリングソフトウェアは、レンダリング中にメディア上のすべてのセッション内のメモリ最適化データを無視する。これにより、メモリ最適化データおよびメディアファイルがコヒーレントであることが保証される。
オーサリングソフトウェアは、メモリを最適化するための追加の機能を実行する。オーサリングソフトウェアは数値識別子を、選択されたメディアファイルに関連付け、ここにおいて数値識別子は順番に順序付けされる。数値識別子の各々が、メディアファイルの各々に対応する。オーサリングソフトウェアは、メディアファイルに関連付けられたファイル名の代わりにデータ構造における数値識別子を参照して、メモリ使用を低減する。加えて、オーサリングソフトウェアはメディアファイルをディレクトリにより編成し、編成されたメディアファイルを、メディア上のファイルシステムによって使用されたものと同じアルゴリズムを使用して(ファイル名により)ソートして、メディアファイルの探索を容易にする。類似の方法で、オーサリングソフトウェアは数値識別子を、メディアファイルの1つへの各パスにおける各ディレクトリ名について決定する。オーサリングソフトウェアはディレクトリ名を、決定された数値識別子で置き換える。一実施形態では、オーサリングソフトウェアはメディアファイルを、サポートされたフォーマット、および、圧縮器および圧縮解除器(コーデック)に圧縮または変換し、これはすでにサポートされたファイルフォーマットおよびコーデックでない場合に行う。圧縮メディアファイルもまたコンピュータ可読媒体上に格納される。
オーサリングソフトウェアは、いずれかの共通プレイリストフォーマットにおける各ユーザ供給プレイリストを読み取り、このフォーマットには、それだけに限定されないが、Moving Picture Experts Groupレイヤ3(MP3)、Advanced Streaming Format(ASFまたはASX)、またはWINDOWS(登録商標)ブランドのオペレーティングシステムのプレイリスト(WPL)フォーマットが含まれる。各プレイリストが数値フォーマットに、上述のように割り当てられた数値識別子を使用して変換され、再生中のメモリ使用がさらに最適化される。数値プレイリストもまたコンピュータ可読媒体上に格納される。
オーサリングソフトウェアはオプショナルで、各メニュー、プレイリストまたはメディアファイルについてのサムネイルを作成する。大きい画像が小さいサムネイルとしてメニュー表示用にレンダリングされ、メディア上のメディアファイルのナビゲーションおよび再生中のメモリおよび中央処理装置(CPU)使用がさらに最適化される。サムネイルもまたコンピュータ可読媒体上に格納され、言語選択を再生時間に行うことができるようになる。
メディアオーサリングツールの実施形態では、1つまたは複数のコンピュータ可読媒体が、メディアプレイヤのオペレーションを最適化するためのコンピュータ実行可能コンポーネントを有する。このコンポーネントには、準備モジュール、初期化モジュール、編成モジュールおよびライタモジュールが含まれる。準備モジュールは、1つまたは複数の選択されたメディアファイルについてのメタデータを得る。初期化モジュールは、メディアファイルをレンダリングする前にメディアプレイヤによってアクセスするように適合されたデータ構造を作成する。編成モジュールは、初期化モジュールからの作成されたデータ構造を、準備モジュールからの得られたメタデータによりポピュレートする。ライタモジュールは、編成モジュールからのポピュレートされたデータ構造をコンピュータ可読媒体上に格納する。
一実施形態では、メタデータキャッシュのメモリおよびディスク読み取りの最適化が、テキストおよびバイナリメタデータを異なるキャッシュファイルに分離することによって実施される。この分離は結果として最適化となり、これはテキストメタデータが大きく、特定のプレイリストまたはメディアファイルの再生が開始するまで必要とされないからである。バイナリメタデータのすべてが単一のファイル(たとえば「CONTENTS.HMT」)に含まれるが、テキストメタデータは別のファイル(たとえば「TEXT.HMT」)に格納される。もう1つの最適化は、バイナリメタデータキャッシュの実際のレイアウトである。CONTENTS.HMTにおける情報がいくつかのセクションに編成される(付録Aの図9を参照)。一般に、テキストおよびバイナリメタデータはアクセラレータデータ、メモリ最適化データなどと呼ばれる。
オーサリングソフトウェアまたはディスク作成ソフトウェアは、追加のデータをディスク上に格納することができ、これは、メニューに何を入れるかについてのいずれかの以前のユーザの決定を保持し、後にさらにデータがディスク追加されるときに再提示することができるようにするためである。たとえば、ユーザが、写真を「月毎に」表示するためのメニューオプションがないべきであることを決定した場合、その選択をディスク上で持続させることができる。このような持続性ファイルを、アプリケーションに特化したものにすることができる。
アクセラレータファイルは2つのカテゴリに分割され、すなわち、大抵は全体的または部分的にメモリ内で常に保持されるであろうファイル、および、必要とされるときにのみロードされるファイル(たとえば、メニューおよびプレイリスト)である。アクセラレータファイル内の情報は、オーディオデータ、イメージデータおよびビデオデータの順序で編成されて、許可された再生デバイスの3つのレベルに合致するようにされる。一実施形態では、オーディオ専用プレイヤは、それがプレイすることができないファイルについてのものであるキャッシュファイルの一部においてロードしなくてもよくなる。
アクセラレータファイル内の情報もまた2つのカテゴリに分割され、すなわち、大抵は全体的または部分的にメモリ内で常に保持されるであろう情報、および、起動中にのみ必要とされ、再生中にメモリから廃棄することができる情報である。たとえば、CONTENTS.HMTファイルでは、情報がファイル名と共に各ファイルテーブル(たとえば、以下で説明するオーディオ、メニュー画像、画像およびビデオ)の最後に編成され、これは、ファイル名をファイルシステムと合致させるプロセスが完了された後(プレイヤがそれを起動時に行うように選択すると仮定する)、これらをメモリから廃棄することができるからである。アクセラレータファイルをさらにメモリにおいてプレイヤによってコンパクト化することができ、これは、メディアファイルを互換性についてチェックするためにのみ使用される項目を廃棄することによって行う。たとえば、各オーディオファイルのビットレートおよびサンプルサイズがプレイヤによってチェックされた後、これらはもはやメモリで必要とされない。
各メディアファイルを一意の番号としてディスク上のすべての他の構造(メニューおよびプレイリスト)内で表すことによって、再生中のメモリ使用がさらに最小限にされる。キャッシュファイルの作成において、オーサリングソフトウェアは変換をより効率的にし、これはキャッシュ内のファイルを最初に、それらを含むディレクトリにより、次いでアルファベット順に、あるいはメディア上のファイルシステムによって使用されたものと同じアルゴリズムを使用して(ファイル名により)、ソートすることによって行う。これは、ISO 9660 Jolietメディア上のファイルシステムレコードと同じ順序であり、そのためプレイヤは、O(n log n)またはより悪いアルゴリズムではなく、単純なO(n)探索アルゴリズムを行うことができる。
キャッシュファイルの先頭はディレクトリテーブルであり、そこで各ディレクトリについてのテキスト名がそのディレクトリ番号のための数値識別子に変換される。ディレクトリへのすべての参照はこのテーブルを介して行われ、したがってすべてのパス名がコンパクト数値表現までコンパクト化される。各ディレクトリが多数のファイルを含んでいるので、この構造はまた、ファイルおよびディレクトリ命名構造全体を表すための極めてコンパクトな方法も表す。
たとえば、ファイル1を「\DirA\DirB\DirC\ファイル1」として格納することができ、ファイル2を「\DirA\DirB\DirD\ファイル2」として格納することができる。これらのディレクトリパスをコンパクト化するために、以下の表は各ディレクトリコンポーネントを数値識別子で置き換える。
Figure 0004139303
次いで、ファイル1へのディレクトリパスを単に「4」として識別することができ、これをトレースバックしてディレクトリ1−2−3−4を通じたフルパスを生成することができ、ファイル2へのディレクトリパスを単に「5」として識別することができ、これを1−2−3−5へトレースバックすることができ、結果としてメモリが節約される。
本発明では様々な手段を使用して、メディア上のメタデータキャッシュとメディアコンテンツの間のコヒーレンシーを保証する。たとえば、本発明のソフトウェアは、メディア上の最後のセッション内にないメタデータキャッシュファイルを無視し、ファイルの2つを共に結合する一意のランダム識別子を検証する。
メディアファイルについての論理セクタ番号
CONTENTS.HMTで解決されるもう1つの問題は、家電デバイスがメディア上の特定のファイルを再生のために位置付けることを容易にする方法である。パーソナルコンピュータ(PC)上で、ソフトウェアは単に、メモリ内にキャッシュされたファイルシステムにおけるファイル名をルックアップする。家電デバイスは、ファイルシステム全体を保持するために十分なランダムアクセスメモリを有していない可能性がある。したがって、メディア上のファイルを位置付けるためにファイルシステムのいくつかのブロックのシーク/読み取りがひどく遅い。家電デバイスがファイルを発見するための最も効率的な方法は、ファイルの論理セクタ番号(LSN)をメタデータと共に格納することである。メディア上の各ファイルについてのLSNおよびファイル長を格納するオプショナルのアクセラレータファイルにより、再生の高速な起動、および、メディアプレイヤのためのより低いメモリ要件が可能となる。しかし、LSNアクセラレータファイルはオプショナルであり、これはオーサリングソフトウェアのすべての実施が、ファイルを書き込む前に各ファイルのLSNおよび長さを決定することができる可能性があるとは限らないからである。たとえば、LSNをキャッシュにオーサリングすることは、厳密に階層化されたアーキテクチャを有し、それによりファイルシステムがメディアのレイアウトから分離されるPCでは、必ずしも可能とは限らない。加えて、ファイルが異なるメディア上に更新、移動またはコピーされる場合、これらのオフセットが無効にされる。
メディアを単一のパスで書くか、あるいは、ファイルシステムの下のオペレーティングシステムのレベルで動作するオーサリングソフトウェアでは、本発明により、特殊なLSNキャッシュファイルをメディア上に配置させることができる。メディア上の各ファイルについてのLSNおよびファイル長を格納する、オプショナルのLSNキャッシュファイル(たとえば、アクセラレータファイル)により、再生の高速な起動が可能となる。LSNファイルは、メディア上のアクセラレータファイルによって参照される各ファイルについての論理セクタ番号を含む。オーサリングソフトウェアは、ファイルを書き込む前に各ファイルのLSNおよびファイル長を決定することができる。このファイルがメディア上の最後のセッション内に存在するとき、それがCONTENTSファイルに合致するとすれば(複数のファイルの間で合致された一意のランダムな世代番号によって検証される)、メディアプレイヤはこのファイルを使用して、メディア上に存在するあらゆるメディアファイルを位置付けることができ、プレイヤはファイルシステムを読み取りまたは解析してメディアファイルを位置付ける必要がない。
プレイヤは通常、アクセラレータファイル内のファイル名をLSNへ、起動中に解決し、ファイルシステム全体を読み取ってテーブルをメモリ内で作成し、ファイル番号を各ファイルの開始LSNおよびバイト長についての値にマッピングする。一実施形態では、LSNキャッシュファイルが、他のアクセラレータファイルが作成された後に実行する別のメーカ提供ソフトウェアを使用して作成される。すべてのプレイヤは、この追加の加速ファイルが存在するかどうかにかかわらず、メディアをプレイする。十分に高速なドライブ機構を有するプレイヤはこの起動手順を回避して、単にディスク再生中にファイル毎のベースでファイル名を解決することができる。
このようなファイルの周囲にはいくつかの問題があり、これには、このようなメディアのファイルコピーが結果としてプレイ不可能なメディアとなる可能性が高いという事実が含まれる。このようなファイルを実施するように選択するプレイヤは、ファイル内のデータを利用する前にその妥当性をチェックするべきである。いずれかのLSNが、メディア上にあるように現れないファイルをポイントした場合、LSNファイル全体を廃棄するべきであり、プレイヤはファイルシステムの読み取りに戻って、ファイルについてのLSNおよびバイト長をルックアップするべきである。本発明のソフトウェアによるLSNファイルの例示的実施態様については、付録Aを参照されたい。
レンダリングソフトウェア
次に図4を参照すると、レンダリングソフトウェアはメディアプレイヤのオペレーションを最適化する。402でファイルシステムをロードした後、404でレンダリングソフトウェアが、入力メディアが有効なメディア(たとえば、アクセラレータデータを含むメディア)であるかどうかを判断する。406でレンダリングソフトウェアが、メディアファイルをレンダリングする前に、コンピュータ可読媒体上に格納されたメモリ最適化データを検索する。メモリ最適化データは、コンピュータ可読媒体上に格納された1つまたは複数の選択されたメディアファイルに関連付けられる。408でレンダリングソフトウェアが、選択されたメディアファイルを、検索されたメモリ最適化データに応答して識別する。選択されたメディアファイルは、メディアプレイヤによってレンダリングされるように適合される。選択されたメディアファイルを、コンピュータ可読媒体上で使用可能な複数のメディアファイルのサブセットにすることができる。メモリ最適化データがテキストおよびバイナリデータを含む一実施形態では、レンダリングソフトウェアが少なくとも一部のテキストデータをメディアプレイヤによって、選択されたメディアファイルのレンダリング中に、メモリ最適化データがそれに関連付けられる、選択されたメディアファイルと関連して、表示する。レンダリングソフトウェアは、選択されたメディアファイルに関連付けられたメタデータを、メモリ最適化データを介して得て、得られたメタデータをユーザへ、メディアプレイヤに関連付けられたディスプレイ上で表示する。一実施形態では、1つまたは複数のコンピュータ可読媒体は、図4に例示した方法を実行するためのコンピュータ可読命令を有する。
プレイヤは通常、起動中にアクセラレータファイル内のファイル名をLSNに解決し、ファイルシステム全体を読み取ってテーブルをメモリ内で作成し、ファイル番号を各ファイルの開始LSNおよびバイト長についての値にマッピングする。十分に高速なドライブ機構を有するプレイヤはこの起動手順を回避して、単にディスク再生中にファイル毎のベースでファイル名を解決することができる。
410で、有効なLSNファイルがメモリ最適化データにおいて存在した場合、レンダリングソフトウェアがLSNファイルをロードし、414に進行して、選択されたメディアファイルをレンダリングする。410で、特殊なLSNキャッシュファイルが存在しないか、あるいは有効でないとき、416で、プレイヤがファイルシステムを読み取って、CONTENTSファイル内のファイル名をLSNに変換しなければならない。
本発明では、CONTENTSファイル内の各ファイルテーブルが、オフセットを有するバイナリメタデータのリストとして、バイナリメタデータの後に続くテキストファイル名のリストに編成される。これにより、プレイヤがバイナリメタデータのみをメモリに最初にロードすることができ、次いでファイル名を増分的に読み、各ブロックが処理されるときにこれを廃棄することができる。ファイルシステムを類似の方法でメモリ内に保持し、CONTENTSファイル内のファイル名に対して増分的に合致させることができ、あるいはファイルシステムを増分的に読み取って、CONTENTSファイルのメモリ内コピーに対して処理することができる。非常に小さいメモリを有するプレイヤはCONTENTSファイルおよびファイルシステムを増分的に読むこともできるが、かなり低速である可能性がある。
ファイルシステムがCONTENTSファイル内のファイル名と合致させられるとき、ファイル名への各4バイトオフセットをLSNで置き換えることができ、次いでファイル名をメモリから廃棄することができる。したがって、本発明はメモリを効率的に再利用し、メモリからメモリへのコピーオペレーションの数を最小限にし、そうでない場合は、ファイル名合致プロセスが完了された後にメモリ内のデータ構造をコンパクト化することが必要とされる可能性がある。プレイヤが起動プロセスのこの段階を完了した後、416で、ファイル名テーブルおよびファイルシステム全体をメモリから廃棄することができ、プレイヤに残されるものは、例示的実施形態では、オーディオファイルにつき32バイト、画像ファイルにつき16バイト、およびビデオファイルにつき44バイトである。レンダリングソフトウェアが414に進んで、選択されたメディアファイルをレンダリングする。最終的に、起動段階が完了した後、単一の番号を使用していかなるメディアファイルをも参照することができ、プレイヤは容易に、非常にコンパクトなメモリ内構造から、そのファイルについてのバイナリおよびテキストメタデータ、およびそのファイルについてのLSNにアクセスすることができる。ファイル長またはサイズは、メモリテーブル内の別のフィールドに格納される。
404で、入力メディアがメモリ最適化データを含んでいなかった場合、420でレンダリングソフトウェアが入力メディアをファイルについてスキャンし、414でメディア上のいずれかのファイルをレンダリングする。
メタデータおよびメニュー表示
本発明によるレンダリングソフトウェアを有するメディアプレイヤは、再生中にメタデータ情報を表示する。本発明のレンダリングソフトウェアは、メタデータを表示のために得るための少なくとも2つの方法を有し、すなわち(i)アクセラレータファイルから、および(ii)メディア上の実際のメディアファイルからである。一般に、実際のメディアファイルは、アクセラレータファイルに含まれたメタデータの最小セットよりも幅広い種類のメタデータを含むようになる。いくつかのメディアプレイヤは、この追加のメタデータを露出するように選択することができ、たとえば、音楽ファイルについての歌詞、アルバム、年またはジャンル、または静止画像について「取られたデータ」を示す。メディアプレイヤはメタデータ内のすべてのアルファベット、数字、スペースおよびハイフンを表示するが、表示することができない他の文字を変換または省略することができる。たとえば、いくつかの文字表示は完全文字セットを表示できない可能性がある。
一実施形態では、英数字表示を有するメディアプレイヤはユーザに、再生中に少なくとも音楽ファイルについてのアーティストおよびタイトルを表示する可能性を提供するべきである。アーティストタグまたはタイトルタグのない音楽ファイルは、それらがそのフィールドについて空タグを有するかのように処理される。一実施形態では、メディアプレイヤはメタデータを切り捨てるのではなく、メタデータをスクロールする。しかし、メディアプレイヤは、メモリ要件が決定するように、メタデータを少なくとも33文字に切り捨てることができる。
本発明のソフトウェアによる加速再生メディア上のメニューは、サブメニューおよびプレイリストの単一の階層構造を含む。メニューツリーは、たとえばオプショナルの全体制限の合計ノード9,999以内で任意の深さ、任意の幅にすることができる。他の実施形態は、メニューツリーに関する他の、あるいは異なる制限を実施することができる。大抵のメディアプレイヤは、メディアが挿入されるとき、トップレベルメニューを表示する。しかし、カーレシーバは起動時にメニューをバイパスすることを選択して、メディア上の最初のプレイリストにより直ちに再生を開始することができ、あるいは先にプレイ中であったソングおよびプレイリストで再生を再開することができる。一実施形態では、メニューがフィルタリングされて、プレイヤが表示またはプレイすることができるメニュー項目のみが表示される(たとえば、オーディオ専用プレイヤはすべての画像およびビデオメニューエントリを除去して、純粋なオーディオ選択のみを表示する)。
本発明のレンダリングソフトウェアを様々な特徴と共に実施することができる。たとえば、各メニューは最大9,999エントリまで含むことができ、いくつかのメディアプレイヤはメニューのスクローリングまたはページ分けされたビューを表示することができる。TVに接続されたプレイヤは、サムネイルメニューまたは単純なリストメニューを表示することができる(たとえば、現在のメニュー内のプレイリストまたはメニューなどのエントリがサムネイルを有するかどうかに基づく)。一実施形態では、TVに接続されたプレイヤは、サムネイルが現在のメニュー内のあらゆるエントリについて存在する(すなわち、ゼロでないエントリ)ときにのみ、サムネイルメニューを表示する。画面上のサムネイルのレイアウトおよびページ毎に表示されたサムネイルの数は、プレイヤ依存である。いくつかのメディアプレイヤは連続スクローリングリストを表示するように選択することができ、他のメディアプレイヤはメニューにページ番号をつけて、次/前の選択を提供するように選択することができる。4:3のTV受像機では、メディアプレイヤは3×2個のサムネイルのグリッドを表示する。16:9のTV受像機では、メディアプレイヤはその代わりに4×2のグリッドを表示するように選択することができる。プレイヤはメニュー項目の選択状態を指示する。これを行うことができる方法には多数の選択があり、プレイヤの機能によって決まる。豊富なユーザ体験に備えるために、メニューおよびプレイリストの項目は選択状態サムネイルを有する。サムネイルを表示することができるプレイヤはこのサムネイルを使用して、他の方法の代わりに選択を指示することができる。プレイヤはまたプレイリストまたはメニュー名も、関連付けられたサムネイルと共に表示する。プレイヤがすべてのサムネイルを即座に表示できない場合、テキストラベルが最初に表示され、サムネイルが1つずつ、復号化されるときに追加される。プレイヤは、ユーザが迅速に所与の項目にナビゲートできるようにするために、サムネイルの追加中でも次または前のページへのスクローリングを可能にすることができる。
本発明のメニュー表示はプレイヤ依存であり、各メーカがメニューを表示する方法を決定することができる。ポータブルCDプレイヤでは、たとえば、メニューを一度に一行表示することができ、次、前、プレイ/選択および停止ボタンを使用して、選択範囲中でナビゲートする。カーレシーバでは、再生がメディア上の最初のプレイリストで即時に開始することができる。次いで、ユーザは「メニュー」キーを押してメディアメニューを提示させ、次、前およびプレイ/選択を使用してこの中でナビゲートすることが必要となる。DVDプレイヤでは、オプショナルのサムネイルと共に、フルグラフィカル表示を完全に表示することができる。いくつかのDVDプレイヤはメニュー項目に付番し、1〜9のキーをリモートコントロール上で使用するように選択することができるが、いくつかのDVDプレイヤは単にメニュー項目をリストまたはグリッドフォーマットにおいて提示し、カーソルキーをナビゲーションおよび選択のために使用することができる。
例示的メディアコンテンツ環境
図5に例示するように、本発明は、例示的圧縮メディアフォーマット502の一部として動作可能であり、これは、機能が豊富なPCメディアプレイヤならびに低コストのメディアプレイヤ上で再生するために設計された、コンパイルされたバイナリフォーマットにおけるメタデータ、メニューおよびプレイリストを含む小型ファイルのセット504を有する。本発明の例示的圧縮メディアフォーマットは、様々なフォーマットにおけるオーディオ、静止画像およびビデオメディアファイル504を包含する。本発明と共に使用するための圧縮メディアフォーマットは、コンピュータ可読媒体508上のファイルシステム506における圧縮メディアファイルを編成するための論理フォーマットを定義し、コンピュータ可読媒体508は、光ディスク(たとえば、CD−ROM、CD−R、CD−RW、DVD−RAM、DVD−R、DVD−RW、DVD+RW、DVD+R、DVD−ROM)、フラッシュメモリ(たとえば、COMPACTFLASH(登録商標)ブランド、セキュアデジタル、MEMORY STICKブランド)、磁気メディア(たとえば、ハードディスク)などである。
図6は、コンピュータ130の形式における汎用コンピューティングデバイスの一実施例を示す。本発明の一実施形態では、コンピュータ130などのコンピュータは、本明細書で例示し、説明した他の図面で使用するために適切である。コンピュータ130は、1つまたは複数のプロセッサまたは処理装置132およびシステムメモリ134を有する。例示した実施形態では、システムバス136は、システムメモリ134を含む様々なシステムコンポーネントをプロセッサ132に結合する。バス136は、いくつかのタイプのバス構造のいずれかの1つまたは複数を表し、これには、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、およびプロセッサまたはローカルバスが含まれる。例として、限定ではなく、このようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびメザニンバスとしても知られる周辺装置相互接続(PCI)バスが含まれる。
コンピュータ130は通常、少なくともいくつかの形式のコンピュータ可読媒体を有する。コンピュータ可読媒体は、揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアを含み、これをコンピュータ130によってアクセスすることができるいかなる使用可能なメディアにすることもできる。例として、限定ではなく、コンピュータ可読媒体は、コンピュータ記憶メディアおよび通信メディアを含む。コンピュータ記憶メディアは、揮発性および不揮発性、リムーバブルおよび非リムーバブルのメディアを含み、これらはコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報の格納のためのいずれかの方法または技術において実施される。たとえば、コンピュータ記憶メディアには、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、または、所望の情報を格納するために使用することができ、コンピュータ130によってアクセスすることができる他のいずれかのメディアが含まれる。通信メディアは通常、コンピュータ可読命令、データ構造、プログラムモジュール、または、搬送波または他の移送機構などの変調データ信号における他のデータを実施し、いずれかの情報配信メディアを含む。当業者は変調データ信号をよく知っており、これは、信号における情報を符号化するような方法でその特性の1つまたは複数が設定または変更されている信号である。ワイヤードネットワークまたはダイレクトワイヤード接続などのワイヤードメディア、および、音響、RF、赤外線および他のワイヤレスメディアなどのワイヤレスメディアが、通信メディアの例である。上記のいずれの組合せも、コンピュータ可読媒体の範囲内に含まれる。
システムメモリ134は、リムーバブルおよび/または非リムーバブル、揮発性および/または不揮発性メモリの形式におけるコンピュータ可読媒体を含む。例示した実施形態では、システムメモリ134は読み取り専用メモリ(ROM)138およびランダムアクセスメモリ(RAM)140を含む。基本入出力システム142(BIOS)は、起動中などにコンピュータ130内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、通常はROM138に格納される。RAM140は通常、処理装置132によって即時アクセス可能および/または現在動作中であるデータおよび/またはプログラムモジュールを含む。例として、限定ではなく、図6は、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148およびプログラムデータ150を例示する。
コンピュータ130はまた、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ記憶メディアも含むことができる。たとえば図6は、非リムーバブル、不揮発性の磁気メディアに対する読み書きを行うハードディスクドライブ154を例示する。図6はまた、リムーバブル、不揮発性磁気ディスク158に対する読み書きを行う磁気ディスクドライブ156、および、CD−ROMまたは他の光メディアなど、リムーバブル、不揮発性の光ディスク162に対する読み書きを行う光ディスクドライブ160も示す。例示的オペレーティング環境で使用することができる他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ記憶メディアには、それだけに限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれる。ハードディスクドライブ144および磁気ディスクドライブ156および光ディスクドライブ160は通常システムバス136に、インターフェイス166などの不揮発性メモリインターフェイスによって接続される。
上述し、図6に例示したドライブまたは他の大容量記憶デバイス、およびそれらの関連付するコンピュータ記憶メディアは、コンピュータ130用のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの記憶装置を提供する。図6では、たとえば、ハードディスクドライブ154が、オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174およびプログラムデータ176を格納するものとして例示される。これらのコンポーネントを、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148およびプログラムデータ150と同じものにも異なるものにもすることができることに留意されたい。オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174およびプログラムデータ176にはここで異なる番号が与えられて、最低でも、それらが異なるコピーであることが例示される。
ユーザはコマンドおよび情報をコンピュータ130へ、キーボード180およびポインティングデバイス182(たとえば、マウス、トラックボール、ペンまたはタッチパッド)などの入力デバイスまたはユーザインターフェイス選択デバイスを通じて入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれる可能性がある。これらおよび他の入力デバイスは処理装置132へ、システムバス136に結合されるユーザ入力インターフェイス184を通じて接続されるが、これを、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)など、他のインターフェイスおよびバス構造によって接続することができる。モニタ188または他のタイプの表示デバイスもシステムバス136へ、ビデオインターフェイス190などのインターフェイスを介して接続される。モニタ188に加えて、コンピュータはしばしば、プリンタおよびスピーカなど、出力周辺インターフェイス(図示せず)を通じて接続することができる他の周辺出力デバイス(図示せず)を含む。
コンピュータ130はネットワーク環境において、リモートコンピュータ194など、1つまたは複数のリモートコンピュータへの論理接続を使用して動作することができる。リモートコンピュータ194は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードにすることができ、通常は、コンピュータ130に関連して上述した要素の多数またはすべてを含む。図6に示す論理接続は、ローカルエリアネットワーク(LAN)196および広域ネットワーク(WAN)198を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットおよびグローバルコンピュータネットワーク(たとえば、インターネット)において一般的である。
ローカルエリアネットワーキング環境において使用するとき、コンピュータ130がLAN196へ、ネットワークインターフェイスまたはアダプタ186を通じて接続される。広域ネットワーキング環境において使用するとき、コンピュータ130は通常、モデム178、またはインターネットなどのWAN198を介して通信を確立するための他の手段を含む。モデム178を内部または外部にすることができ、これはシステムバス136へ、ユーザ入力インターフェイス194または他の適切な機構を介して接続される。ネットワーク環境では、コンピュータ130に関して示したプログラムモジュールまたはその一部を、リモートメモリデバイス(図示せず)に格納することができる。例として、限定ではなく、図6はリモートアプリケーションプログラム192を、メモリデバイス上に存在するものとして例示する。図示のネットワーク接続は例示的であり、通信リンクを複数のコンピュータの間で確立する他の手段を使用できることは理解されよう。
一般に、コンピュータ130のデータプロセッサは、異なる時間にコンピュータの様々なコンピュータ可読記憶メディアに格納された命令を用いてプログラムされる。プログラムおよびオペレーティングシステムは通常、たとえばフロッピー(登録商標)ディスクまたはCD−ROMにおいて配布される。そこから、これらがコンピュータの2次メモリにインストールまたはロードされる。実行時に、これらが少なくとも部分的にはコンピュータの1次電子メモリにロードされる。本明細書で説明した本発明は、これらおよび他の様々なタイプのコンピュータ可読記憶メディアが、以下で説明するステップをマイクロプロセッサまたは他のデータプロセッサと共に実施するための命令またはプログラムを含むとき、これらを含む。本発明はまた、コンピュータ自体が本明細書で説明した方法および技術に従ってプログラムされるとき、これも含む。
例示のため、オペレーティングシステムなど、プログラムおよび他の実行可能プログラムコンポーネントを本明細書で離散的ブロックとして例示する。しかし、このようなプログラムおよびコンポーネントが様々な時間にコンピュータの異なる記憶コンポーネント内に存在し、コンピュータのデータプロセッサによって実行されることを理解されたい。
コンピュータ130を含む例示的コンピューティングシステム環境に関連して説明したが、本発明は多数の他の汎用または専用コンピューティングシステム環境または構成により動作可能である。このコンピューティングシステム環境は、本発明の使用または機能性の範囲についていかなる限定も示唆するように意図されない。さらに、このコンピューティングシステム環境は、例示的オペレーティング環境において例示したコンポーネントのいずれか1つまたは組合せに関係するいかなる依存性または要件をも有するものとして解釈されるべきではない。本発明と共に使用するために適切である可能性のある周知のコンピューティングシステム、環境および/または構成の例には、それだけに限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルなコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
本発明を一般に、プログラムモジュールなど、1つまたは複数のコンピュータまたは他のデバイスによって実行されるコンピュータ実行可能命令に関連して説明することができる。一般に、プログラムモジュールには、それだけに限定されないが、特定のタスクを実行するか、あるいは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネントおよびデータ構造が含まれる。本発明をまた分散コンピューティング環境において実施することもでき、ここではタスクが、通信ネットワークを通じてリンクされる複数のリモート処理デバイスによって実行される。分散コンピュータ環境では、プログラムモジュールは、メモリデバイスを含む、ローカルおよびリモートのコンピュータ記憶メディア内に位置することができる。
オペレーションにおいて、コンピュータ130は、図2に例示するものなどのコンピュータ実行可能命令を実行してデータ構造を作成し、作成されたデータ構造を、得られたメタデータによりポピュレートする。加えて、コンピュータ130は(メディアプレイヤの一部として)、図4に例示するものなどのコンピュータ実行可能命令を実行してメタデータをデータ構造から検索し、レンダリングするためのメディアファイルを識別する。
一実施形態では、アクセラレータファイルがメディア上で「HIGHMAT」と呼ばれる最上位ディレクトリの下に存在し、図7に示すファイルシステムに例示する例示的ファイルを含む。アクセラレータファイルはメディア上で「HIGHMAT」と呼ばれる最上位ディレクトリ下に存在し、以下のファイル、すなわちCONTENTS.HMT、nnnnnnnn.HMT、MENU.HMTおよびTEXT.HMTを含む。CONTENTS.HMTファイルは、メディア上に存在するすべてのメディアファイルについての情報を含む。これはディレクトリテーブルとその後に続く、サポートされた各ファイルタイプ(オーディオ、ビデオ、画像およびプレイリスト)についてのファイルエントリテーブルを含む。メディア上の各プレイリストについて「nnnnnnnn.HMT」と呼ばれる1つのファイルがあり、nnnnnnnnは16進プレイリストファイル識別子である。これらのプレイリストファイルは「PLAYLIST」サブディレクトリに作成される。MENU.HMTファイルはメニュー構造を含む。TEXT.HMTファイルは、再生中に必要とされたすべてのテキスト情報を含む。
代替実施形態では、以下のファイル、すなわち<サムネイル>.HMTおよび<バックグラウンド>.HMTが含まれる。各サムネイルについてメディア上に1つのファイルがある(たとえば、.HMT拡張子を有する160×120JPGフォーマット)。オーサリングソフトウェアはファイルを適切に命名することができる。サムネイルファイルは「IMAGES」サブディレクトリに作成される。各メニューバックグラウンドについてメディア上に1つのファイルがある。4:3の縦横比を有するバックグランドは、.HMT拡張子を有する640×480JPGフォーマットである。16:9の縦横比を有するバックグランドは、.HMT拡張子を有する852×480JPGフォーマットである。オーサリングソフトウェアはファイルを適切に命名することができる。バックグラウンドファイルは「IMAGES」サブディレクトリに作成される。
HIGHMATディレクトリおよびその中のすべてのファイルに、ユーザの混乱を減らすために、メディアを作成するソフトウェアによって隠すようにマークを付けることができる。プレイヤは、これらのファイルおよびディレクトリが隠されるかどうかにかかわらず、メディアを処理するべきである。バイナリ構造のすべてが、リトルエンディアンのバイト順序を使用して符号化されるべきである。ファイルおよびディレクトリ名はビッグエンディアンのバイト順序を使用するべきである。プレイヤが未知の値に出会うとき、デフォルトの挙動を、合わないファイルを無視することにするべきである。たとえば、プレイリストサマリタイプが255に等しい場合、プレイリスト全体がスキップされるべきである。
多言語
本発明は多言語のメニューおよびテキストデータを単一の記憶メディア上でサポートする。これは、ロケール識別子(LCID)の使用を通じて実施される。例示的LCID802の構造を図8に例示する。より詳細に付録Aで論じるように、アクセラレータファイル(たとえば、TEXT.HMTおよびMENU.HMT)のファイルヘッダは、それらの言語を表すLCID802を含み、これらは合致しなければならない。CONTENTS.HMTは、この記憶メディア上の言語についてのLCIDのリストを含む。
メディアプレイヤは、LCID802のリストにおける最初の項目をデフォルト言語として使用する。複数の言語が定義されている場合、プレイヤはプレイするためのLCID802をリストから選択するべきである(たとえば、メディアプレイヤの言語またはロケールに基づく)。プレイヤは対応するTEXT.HMTおよびMENU.HMTを、これらのファイルについてのディレクトリ番号を使用することによってロードする。最初(デフォルト)のLCID802エントリは、CONTENTS.HMTの場所であるディレクトリ番号を有するべきであり、すなわち、デフォルト言語のMENU.HMTおよびTEXT.HMTはCONTENTS.HMTと同じディレクトリ内にある。
LCID802自体はいくつかの部分を有し、最初の10ビットは主要言語ID804であり、これは言語自体を含む。次の6ビットは副言語ID806を含み、これはしばしば、同じ主要言語ID804を共有する領域を区別するために使用される。次の4ビットはソートID808を表し、これは同じ言語および領域について使用することができる交互のソート順序の間で区別することができる。残りの12ビットは将来の使用のために予約され、常にゼロであるべきである。たとえば、LCID802は、より詳細に付録Aで説明するCONTENTS.HMTなどのファイルに格納することができる。
本発明のソフトウェアと共に使用するためのアクセラレータファイルの例示的構造に関する追加の詳細については、付録Aを参照されたい。
本発明またはその実施形態の要素を紹介するとき、冠詞「a」、「an」、「the」および「said」は、1つまたは複数の要素があることを意味するように意図される。「備える」、「含む」および「有する」という用語は包含的であるように意図され、列挙された要素以外の追加の要素が存在する可能性があることを意味する。
上記に鑑みて、本発明のいくつかの目的が達成され、他の有利な結果が達成されることがわかるであろう。
様々な変更を上記の構成、製品および方法に、本発明の範囲から逸脱することなく行うことができるので、上記の説明に含まれた、また、添付の図面に示すすべてのものが例示的として、限定する意味ではなく解釈されるべきであることが意図される。
付録A
テキスト符号化
すべてのテキストデータはUCS−2ユニコードフォーマットで格納される。すべてのファイルおよびディレクトリ名は、それらがソースメディア上にあるときのケースを保持するべきである。リトルエンディアンのバイト順序が、ディレクトリおよびファイル名のうちビッグエンディアンのワードレイアウトを使用するべきであるものを除いて、指定されたすべてのワードレイアウトについて使用されるべきである。
ディレクトリネームのソート順序
ディレクトリテーブル内のエントリは、重要度の順序で適用された以下の基準を使用してソートされるべきである。
1)親ディレクトリ番号の相対値に従って昇順に。
2)2つのディレクトリが同じ親ディレクトリ番号を有する場合、これらの名前が、重要度の降順で以下の基準を使用してソートされるべきである。
2.1)2つのディレクトリ名がすべてのバイト位置で同じ値を有する場合、2つのディレクトリの値は等しい。
2.2)2つのディレクトリ名が同じ数のバイト位置を含まない場合、両方のディレクトリ名が同じ数のバイト位置を含むようになるまで、短い方のディレクトリ名が、すべて(00)に設定されたパディングバイトで右にパディングされる。
2.3)すべての必要なパディングを追加して、両方のディレクトリ名を等しい長さとして処理した後、ディレクトリ名の最初の位置で開始して、あるバイト位置が同じ値を含まないことが判明するまで、両方のバイト値が比較される。より高いコード位置の値を有するディレクトリ名がより大きい名前である。
ファイル名のソート順序
ファイル名テーブル内のエントリは、重要度の順序で適用された以下の基準を使用してソートされるべきである。
3)親ディレクトリ番号の相対値に従って昇順に。
4)2つのファイルが同じ親ディレクトリ番号を有する場合、これらの名前が、重要度の降順で以下の基準を使用してソートされるべきである。
2.1)2つのファイル名がすべてのバイト位置で同じ値を有する場合、2つのファイルの値は等しい。
2.2)2つのファイル名が同じ数のバイト位置を含まない場合、両方のファイル名が同じ数のバイト位置を含むようになるまで、短い方のファイル名が、すべて(00)に設定されたパディングバイトで右にパディングされる。
2.3)すべての必要なパディングを追加して、両方のファイル名を等しい長さとして処理した後、ファイル名の最初の位置で開始して、あるバイト位置が同じ値を含まないことが判明するまで、両方のバイト値が比較される。より高いコード位置の値を有するファイル名がより大きい名前である。
自然言語ソート
ユニコードボリュームにおいて、16ビットUCS−2コードポイントが使用されて、パステーブルレコードの順序およびディレクトリレコードの順序が決定される。自然言語ソートをメディア上で提供しようとする試みは行われない。自然言語ソートはオプショナルで、表示アプリケーションによって望ましいように提供することができる。
CONTENTS.HMT
CONTENTS.HMTは、ディスク上に存在するすべてのメディアファイルについての情報を含む。これはディレクトリテーブルとその後に続く、サポートされた各ファイルタイプ(オーディオ、ビデオ、メニュー画像、画像およびプレイリスト)についてのファイルエントリテーブルを含む。このファイルは、他のすべてのHIGHMATファイルが参照する主索引である。各ファイルを、それがCONTENTS.HMT内でリストされる順序によって一意に識別することができる。ファイル番号は1で開始し、隙間なく連続する。
コンテンツID
CONTENTS.HMT内の各エントリは一意のIDを有し、これはファイル内のその相対位置から導出される。コンテンツIDという用語を、いずれかのファイルタイプへの参照として使用することができる。IDは1で開始し、ファイル全体にわたって隙間なく連続する。CIDは、コンテンツIDの省略形として使用される。
プレイリストファイルID
プレイリストファイルはCONTENTS.HMT内の最初のファイルであり、存在する場合、ファイルID1で開始するべきである。
オーディオファイルID
オーディオファイルは、CONTENTS.HMT内でプレイリストファイルのリストの後に続く。開始ファイルIDは、ここで定義されたプレイリストファイルの数に1を加えたものであるべきである。
サムネイルID
メニュー画像ファイルは、CONTENTS.HMT内でオーディオファイルのリストの後に続く。開始ファイルIDは、ここで定義されたプレイリストファイルの数に、ここで定義されたオーディオファイルの数と1を加えたものであるべきである。
画像ファイルID
画像ファイルは、CONTENTS.HMT内でメニュー画像ファイルのリストの後に続く。開始ファイルIDは、ここで定義されたプレイリストファイルの数に、ここで定義されたオーディオファイルの数と、ここで定義されたメニュー画像ファイルの数と1を加えたものであるべきである。
ビデオファイルID
ビデオファイルは、CONTENTS.HMT内で画像ファイルのリストの後に続く。開始ファイルIDは、ここで定義されたプレイリストファイルの数に、ここで定義されたオーディオファイルの数と、ここで定義されたメニュー画像ファイルの数と、ここで定義された画像ファイルの数と1を加えたものであるべきである。
ファイル番号はこのファイル内に格納されず、これはこれらが容易にCONTENTS.HMT内のファイル情報の場所によって導出されるからである。各ファイルエントリテーブル内のファイルの数がCONTENTS.HMTヘッダに格納される。これらの番号を使用して、ファイル内のどこで列挙を開始して特定のファイル参照を発見するかを識別することができる。MENU.HMT、TEXT.HMTおよびnnnnnnnn.HMTファイルは、ファイルをこの一意の番号によって参照する。これは、これらのファイル内のスペースを節約し、同じ情報を多数の場所に格納しないために行われた。CONTENTS.HMT内の類似のファイルタイプのグループ化により、プレイヤはそのファイルタイプを処理しない場合、ファイルのセクション全体を無視することができ、たとえば、オーディオ専用プレイヤは、CONTENTS.HMTのオーディオセクションの後のあらゆるものを廃棄することができる。ディレクトリテーブルは、多数の各ファイル内に含まれたパス情報の圧縮を可能にするように設計される。
CONTENTS.HMTファイルの構造
アクセラレータファイル内のオフセットは、ファイルの先頭からのバイトオフセットである。オーディオ、メニュー画像、画像およびビデオファイルテーブルは2K境界で開始するべきである。ディレクトリテーブルは、余計なパディングなしにLCIDテーブルを含むファイルヘッダの後に書き込まれるべきである。
図9は、コンピュータ可読媒体上のすべてのメディアファイルについての情報を表すデータ構造を例示する。
ファイルヘッダ
所与のタイプの使用可能なファイルがない場合、対応するテーブルが空にされるべきであり、これはファイルの数およびテーブルへのオフセットの両方がゼロであるとして書かれるべきである。
Figure 0004139303
識別子
この8バイトエントリは、ASCIIによる「INFO_HMT」を含む。
バージョン
この2バイトエントリは、このファイルを書くために使用されたHMT仕様のバージョンを表す。たとえば、バージョン1.20は0×78(10進で120)として格納される。
HMT世代
この8バイトエントリは、このCONTENTS.HMTに合致するLSN.HMTの世代を表す。このCONTENTS.HMTは、同じHMT世代番号を含むLSN.HMTファイルと共にのみ使用されるべきである。これらのHMT世代の値が合致しない場合、LSN.HMTファイルはプレイヤによって無視されるべきである。0の値は、LSN.HMTファイルがないことを意味する。
CONTENTS.HMTのサイズ
この4バイトエントリは、CONTENTS.HMTのサイズをバイトで含む。
ディレクトリの数
この4バイトエントリは、ここで定義されたディレクトリテーブル内のディレクトリの数を含む。
ディレクトリテーブルへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からディレクトリテーブルへのバイトオフセットである。
プレイリストファイルの数
この4バイトエントリは、ここで定義されたプレイリストファイルテーブル内のプレイリストファイルの数を含む。少なくとも1つのプレイリストファイルがあるべきである。
プレイリストエントリのサイズ
この2バイトエントリは、バイトによるプレイリストエントリのサイズである。
プレイリストファイルテーブルへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からプレイリストファイルテーブルへのバイトオフセットである。
オーディオファイルの数
この4バイトエントリは、ここで定義されたオーディオファイルテーブル内のオーディオファイルの数を含む。
オーディオエントリのサイズ
この2バイトエントリは、ここで定義された、バイトによるオーディオファイルエントリのサイズである。
オーディオファイルテーブルへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からオーディオファイルテーブルへのバイトオフセットである。このオフセットは2Kの倍数であるべきであり、プレイリストファイルテーブルの終了とオーディオファイルテーブルの開始の間のいかなる隙間も無視されるべきである。0の値は、CONTENTS.HMT内にオーディオエントリがないことを示す。ここで定義されたオーディオファイルの数も0であるべきである。
メニュー画像ファイルの数
この4バイトエントリは、ここで定義されたメニュー画像ファイルテーブル内のメニュー画像ファイルの数を含む。
メニュー画像エントリのサイズ
この2バイトエントリは、ここで定義された、バイトによるメニュー画像ファイルエントリのサイズである。
メニュー画像ファイルテーブルへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からメニュー画像ファイルテーブルへのバイトオフセットである。このオフセットは2Kの倍数であるべきであり、オーディオファイルテーブルの終了とメニュー画像ファイルテーブルの開始の間のいかなる隙間も無視されるべきである。0の値は、CONTENTS.HMT内にメニュー画像エントリがないことを示す。ここで定義されたメニュー画像ファイルの数も0であるべきである。
画像ファイルの数
この4バイトエントリは、ここで定義された画像ファイルテーブル内の画像ファイルの数を含む。
画像エントリのサイズ
この2バイトエントリは、ここで定義されたバイトによる画像ファイルエントリのサイズである。
画像ファイルテーブルへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭から画像ファイルテーブルへのバイトオフセットである。このオフセットは2Kの倍数であるべきであり、メニュー画像ファイルテーブルの終了と画像ファイルテーブルの開始の間のいかなる隙間も無視されるべきである。0の値は、CONTENTS.HMT内に画像エントリがないことを示す。ここで定義された画像ファイルの数も0であるべきである。
ビデオファイルの数
この4バイトエントリは、ここで定義されたビデオファイルテーブル内のビデオファイルの数を含む。
ビデオエントリのサイズ
この2バイトエントリは、ここで定義されたバイトによるビデオファイルエントリのサイズである。
ビデオファイルテーブルへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からビデオファイルテーブルへのバイトオフセットである。このオフセットは2Kの倍数であるべきであり、画像ファイルテーブルの終了とビデオファイルテーブルの開始の間のいかなる隙間も無視されるべきである。0の値は、CONTENTS.HMT内にビデオエントリがないことを示す。ここで定義されたビデオファイルの数も0であるべきである。
LCIDエントリの数
この2バイトエントリは、このディスク上の言語の数を表す。この値は少なくとも1でなければならない。
ディレクトリ番号
この4バイトエントリは、このロケール識別子についてのTEXT.HMTおよびMENU.HMTを含むディレクトリの、ここで定義されたディレクトリテーブル内の索引である。これは、LCIDをディレクトリ名とした、\HIGHMATのサブディレクトリのいずれかであるべきであるが、\HIGHMAT自体への参照はデフォルト言語について有効である。
LCIDn
この4バイトエントリは、ロケール識別子を表す。
ディレクトリテーブル
ディレクトリエントリは1で開始して付番され、オフセットはテーブルの先頭であり、容易な直接索引付けを可能にする。ディレクトリ名は空白のUCS−2文字(2つの空バイト)で終了されるべきである。ディレクトリテーブルは、有効なJPG、HMT、MP3、ASF、WMAまたはWMVファイルである少なくとも1つのファイルを含む、ディスク上のすべてのディレクトリを含むべきである。
ディレクトリテーブルは以下のようにフォーマットされるべきである。
Figure 0004139303
ルートディレクトリはエントリ1に格納され、親エントリは0(無効なエントリ番号)であるべきである。ディレクトリエントリは、ここで定義されたソート順序でリストされるべきである。
親ディレクトリ番号
この4バイトエントリは、親ディレクトリについてのディレクトリテーブルにおける索引である。この値は最初のディレクトリエントリについて0であるべきである。
ディレクトリ名の長さへのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からこのエントリのためのディレクトリ名の長さへのバイトオフセットである。
ディレクトリ名の長さ
この2バイトエントリは、ディレクトリ名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
ディレクトリ名
この可変長エントリは、ディレクトリのUCS−2名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む111のUCS−2文字である。このエントリはビッグエンディアンのワードレイアウトを使用するべきである。
プレイリストファイルテーブル
プレイリストファイルテーブルは、プレイリストファイルエントリのリストを含む。各プレイリストファイルについて1つのプレイリストファイルエントリがあるべきである。プレイリストファイルについてのファイル名は格納されず、これは、各プレイリストについてのファイル名を、命名スキームと組み合わせて、ここで定義されたCONTENTS.HMT内のプレイリストファイルのIDを使用して導出することができるからである。各プレイリストファイルエントリは以下のようにフォーマットされるべきである。
Figure 0004139303
ディレクトリ番号
この4バイトエントリは、このファイルを含むディレクトリの、ここで定義されたディレクトリテーブルにおける索引である。
プレイリストサマリタイプ
この値は、プレイリストファイルエントリに対応するプレイリストファイルのヘッダに格納されたものと同じである。
予約済
この1バイトエントリは将来の使用のために予約される。
オーディオファイルテーブル
オーディオファイルテーブルは、オーディオファイルエントリのリストと、その後に続くファイル名テーブルを含む。各オーディオファイルについて1つオーディオファイルエントリがあるべきである。Windows(登録商標)Media Audioファイルは.WMA拡張子を有するべきであり、MP3ファイルは.MP3拡張子を有するべきである。他のすべてのファイル拡張子は無効である。ファイル名テーブルをオーディオファイルエントリの後に置くことにより、プレイヤが、最初のファイル名のLSNへの変換が行われた後にファイル名テーブルをメモリから廃棄することができ、それによりメモリ内で各ファイルの再生のために必要とされた実際のデータのみを保つことができる。オーディオファイルエントリは、ここで定義されたソート順序でリストされるべきである。各オーディオファイルエントリは以下のようにフォーマットされるべきである。
Figure 0004139303
Figure 0004139303
ディレクトリ番号へのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からこのエントリのためのディレクトリ番号へのバイトオフセットである。
ファイルタイプ
この2バイトエントリはファイルタイプを表し、これはデータ符号化フォーマットを意味する。オーディオファイルについて定義された値のみがこのエントリについて有効である。
Figure 0004139303
特殊フラグ
この2バイトエントリは、このファイルの特殊な属性を要約する。特殊フラグエントリは、以下の値を共に論理和することによって作成される。
Figure 0004139303
特殊フラグエントリにより、プレイヤが、プレイすることができるファイルをフィルタすることができ、たとえば、保護付きのコンテンツをプレイすることができないプレイヤは、DRM保護付きとしてマーク付けされたファイルを除くべきである。
チャネルの数
この1バイトエントリは、このファイル内のオーディオのチャネルの数を含む。
サンプルサイズ
この1バイトエントリは、チャネル毎のビットサイズを含む。
平均ビットレート
この4バイトエントリは、ビット毎秒によるオーディオストリーム平均ビットレートを含む。
ファイルビットレート
この4バイトエントリは、ビット毎秒による合計ファイルビットレートを含む。
再生時間
この4バイトエントリは、ミリ秒によるこのファイルの持続時間を含む。
サンプリング周波数
この4バイトエントリは、ヘルツによるサンプリング周波数を含む。
トラック番号
この2バイトエントリは、ソースメディア上のオーディオファイルのトラック番号を含む。0の値はトラック番号がないことを示す。
サムネイルID
この4バイトエントリは、CONTENTS.HMT内のこのファイルについてのサムネイルである画像ファイルIDを表す。このファイルについてのサムネイルがない場合、この値は0であるべきである。この値をオーサリングアプリケーションによって使用して、サムネイルの再生成を防止することができる。
ディレクトリ番号
この4バイトエントリは、このファイルを含むディレクトリの、ここで定義されたディレクトリテーブルにおける索引である。
ファイル名の長さ
この2バイトエントリは、ファイル名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
ファイル名
これはUCS−2ファイル名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む111のUCS−2文字である。このエントリはビッグエンディアンのワードレイアウトを使用するべきである。
メニュー画像ファイルテーブル
メニュー画像ファイルテーブルは、MENU.HMTファイルで使用されるサムネイルおよびバックグラウンド画像のすべてをリストするために使用される。すべてのメニュー画像ファイルは.HMT拡張子を有するべきであり、他のすべてのファイル拡張子は無効である。メニュー画像ファイルテーブルは、メニュー画像ファイルエントリのリストとその後に続くファイル名テーブルを含む。各メニュー画像ファイルについて1つのメニュー画像ファイルエントリがあるべきである。メニュー画像ファイルエントリは、ここで定義されたソート順序でリストされるべきである。各メニュー画像ファイルエントリは以下のようにフォーマットされるべきである。
Figure 0004139303
Figure 0004139303
ディレクトリ番号へのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からこのエントリのためのディレクトリ番号へのバイトオフセットである。
ファイルタイプ
この2バイトエントリはファイルタイプを表し、これはデータ符号化フォーマットを意味する。ここで定義された有効な値は、サムネイル、メニューバックグラウンド(4×3)およびメニューバックグラウンド(16×9)のみである。
特殊フラグ
この2バイトエントリは本明細書で定義される。
ディレクトリ番号
この4バイトエントリは、このファイルを含むディレクトリの、ここで定義されたディレクトリテーブルにおける索引である。
ファイル名の長さ
この2バイトエントリは、ファイル名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
ファイル名
これはUCS−2ファイル名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む111のUCS−2文字である。このエントリはビッグエンディアンのワードレイアウトを使用するべきである。
画像ファイルテーブル
画像ファイルテーブルは、画像ファイルエントリのリストとその後に続くファイル名テーブルを含む。各画像ファイルについて1つの画像ファイルエントリがあるべきである。すべての画像ファイルは.JPGまたは.JPEG拡張子を有するべきであり、他のすべてのファイル拡張子は無効である。画像ファイルエントリは、ここで定義されたソート順序でリストされるべきである。各画像ファイルエントリは以下のようにフォーマットされるべきである。
Figure 0004139303
Figure 0004139303
ディレクトリ番号へのオフセット
この4バイトエントリは、CONTENTS.HMTの先頭からこのエントリのためのディレクトリ番号へのバイトオフセットである。
ファイルタイプ
この2バイトエントリはファイルタイプを表し、これはデータ符号化フォーマットを意味する。画像ファイルについてここで定義された値のうち、サムネイル、メニューバックグラウンド(4×3)およびメニューバックグラウンド(16×9)を除いたもののみが有効である。
特殊フラグ
この2バイトエントリはここで定義される。
サムネイルID
この4バイトエントリは、CONTENTS.HMT内のこのファイルについてのサムネイルである画像ファイルIDを表す。この画像についてのサムネイルがない場合、この値は0であるべきである。この値をオーサリングアプリケーションによって使用して、サムネイルの再生成を防止することができる。
垂直サイズ
この2バイトエントリは、画像の垂直サイズをピクセルで表す。
水平サイズ
この2バイトエントリは、画像の水平サイズをピクセルで表す。
ディレクトリ番号
この4バイトエントリは、このファイルを含むディレクトリの、ここで定義されたディレクトリテーブルにおける索引である。
ファイル名の長さ
この2バイトエントリは、ファイル名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
ファイル名
これはUCS−2ファイル名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む111のUCS−2文字である。このエントリはビッグエンディアンのワードレイアウトを使用するべきである。
ビデオファイルテーブル
ビデオファイルテーブルは、ビデオファイルエントリのリストとその後に続くファイル名テーブルを含む。各ビデオファイルについて1つのビデオファイルエントリがあるべきである。Windows(登録商標)Media Videoファイルのための有効なファイル拡張子は.WMVおよび.ASFであり、.WMVは好ましい拡張子である。オプショナルのMP4ファイルのための有効なファイル拡張子は、.ASFであるべきである。他のすべてのファイル拡張子は無効である。ファイル名テーブルをビデオファイルエントリの後に置くことにより、プレイヤが、最初のファイル名のLSNへの変換が行われた後にファイル名テーブルをメモリから廃棄することができ、それによりメモリ内で各ファイルの再生のために必要とされた実際のデータのみを保つことができる。ビデオファイルエントリは、ここで定義されたソート順序でリストされるべきである。各ビデオファイルエントリは、ここで定義されたオーディオファイルエントリとその後に続くビデオエントリのようにフォーマットされるべきである。
Figure 0004139303
Figure 0004139303
ファイルタイプ
この2バイトエントリはファイルタイプを表し、これはデータ符号化フォーマットを意味する。ビデオファイルについてここで定義された値のみがこのエントリについて有効である。
ビデオ平均ビットレート
この4バイトエントリは、ビット毎秒による平均ビットレートを含む。
ビデオ垂直サイズ
この2バイトエントリは、ピクセルによるビデオファイルの垂直サイズを含む。
ビデオ水平サイズ
この2バイトエントリは、ピクセルによるビデオファイルの水平サイズを含む。
フレームレート
このフィールドは、30/1.001(NTSC)、25(PAL)などのようなフレームレートを4バイトで含むべきである。このフィールドは(最初の2バイト整数)/(最後の2バイト整数)として記述することができる。オーサリングアプリケーションがフレームレートを決定することができない場合、この値は0であるべきである。オーサリングアプリケーションは最小公倍数の形式を使用してフレームレートを表すべきである。たとえば、NTSCでは30000/10010ではなく3000/1001である。
ディレクトリ番号
この4バイトエントリは、このファイルを含むディレクトリの、ここで定義されたディレクトリテーブルにおける索引である。
ファイル名の長さ
この2バイトエントリは、ファイル名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
ファイル名
これはUCS−2ファイル名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む111のUCS−2文字である。このエントリはビッグエンディアンのワードレイアウトを使用するべきである。
プレイリストファイル
各プレイリストは一意のnnnnnnnn.HMTファイルとして表され、nnnnnnnnは、ここで定義されたCONTENTS.HMT内のプレイリストファイルIDを表す16進数である。これらのプレイリストファイルは、サブディレクトリ\HIGHMAT\PLAYLISTで作成されるべきである。4つの異なるタイプのプレイリストグループがあり、これらはオーディオ(A)、ビデオ(V)、タイムドイメージ(TI)およびパラレルイメージオーディオ(PIA)である。各グループの特定の構造を以下に概説する。レベル1プレイヤは、オーディオグループのみをプレイするべきである。
nnnnnnnn.HMTファイルの構造
図10は、プレイリストファイルを表すデータ構造を例示する。プレイリストファイルは、プレイリストヘッダと後に続く1つまたは複数のプレイリストグループを含む。このファイルは、ファイル内の複数のデータ構造の間に隙間がないように書かれるべきである。
Figure 0004139303
Figure 0004139303
識別子
この8バイトエントリは、ASCIIによる「PLISTHMT」を含む。
バージョン
この2バイトエントリは、このファイルを書くために使用されたHMT仕様のバージョンを表す。たとえば、バージョン1.20は0×78(10進で120)として格納される。
プレイリストファイルのサイズ
この4バイトエントリは、バイトによるこのプレイリストファイルのサイズを含む。
プレイリストサマリタイプ
この1バイトエントリは、その中に含まれたすべての個々のプレイリストエントリのタイプを要約する。サマリタイプは、以下の値を共に論理和することによって作成される。
Figure 0004139303
PIAプレイリストは、TIプレイリストとしてのみ要約されるべきであり、したがってオーディオファイル存在ビットを設定するべきでない。プレイリストサマリタイプにより、プレイヤが、プレイすることができるプレイリストのみを示すようにプレイリストのリストをフィルタリングすることができ、たとえば、オーディオ専用プレイヤは、画像またはビデオを含むすべてのプレイリストを除くことができる。
リピートカウント
この1バイトエントリは、このプレイリストの再生を繰り返す回数である。このプレイリストが、ここで定義された開始点で呼び出された場合、各リピートが終了すると、ファイルが即時に開始点に進む。0の値は、無限のリピートカウントを示す。たとえば、3つのグループであるグループA、グループBおよびグループC、および2のリピートカウントが与えられると、再生順序はA→B→C→A→B→C→終了である。同じ3つのグループで、ここで定義された2の開始グループ索引では、再生順序はB→C→A→B→C→Aである。プレイヤは、他のユーザ再生モードと共に再生するとき、リピートカウントを無視することができる。
サムネイルID
この4バイトエントリは、CONTENTS.HMT内のこのプレイリストについてのサムネイルの索引を表す。このプレイリストについてのサムネイルがない場合、この値は0であるべきである。
グループの数
この4バイトエントリは、プレイリストグループのカウントを表す。
特殊フラグ
この2バイトエントリは、このファイルの特殊な属性を要約する。特殊フラグエントリは、以下の値を共に論理和することによって作成される。
Figure 0004139303
次のグループのオフセット
この4バイトエントリは、nnnnnnnn.HMTの先頭から次のプレイリストグループへのオフセットである。このエントリは、これが最後のプレイリストグループである場合、0であるべきである。
前のグループのオフセット
この4バイトエントリは、nnnnnnnn.HMTの先頭から前のプレイリストグループへのオフセットである。このエントリは、これが最初のプレイリストグループである場合、0であるべきである。
グループ番号
この4バイトエントリはこのグループの番号であり、グループ番号を使用して、TEXT.HMT内のグループ名をルックアップすることができる。グループメンバは1で開始して連続し、すべてのプレイリスト内のすべてのグループについて一意である。
プレイリストグループのタイプ
この1バイトエントリは、以下のように定義するプレイリストタイプを表す。
Figure 0004139303
これらの各プレイリストグループタイプのグループデータのフォーマットは、以下のセクションで定義される。レベル2プレイヤは、タイプ3(PIA)をプレイすることは必要とされず、これは、オーディオ再生中の画像のための並列復号化パスの追加の複雑さが、近いうちに使用可能となる可能性のあるハードウェアのいくつかの機能を超えるからである。タイプ3をプレイすることができないプレイヤは、それにもかかわらず、このようなプレイリストエントリが提示されるとき、よい体験を与えるべきである。PIAシーケンスは、タイムドイメージシーケンスとしてレンダリングされる(オーディオを無視する)べきである。
予約済
この1バイトエントリは将来の使用のために予約される。
グループデータ
これは、フォーマットにおいて、実際のプレイリストグループデータがある場所を表す。各プレイリストグループのフォーマットは以下で定義される。
オーディオプレイリストグループ
Figure 0004139303
オーディオファイルの数
この4バイトエントリは、このグループ内でリストされるオーディオファイルIDの数を表す。
オーディオファイルID
このグループ内の各オーディオファイルについて1つの4バイトエントリがある。この値は、ここで定義されたCONTENTS.HMT内のオーディオファイルの索引である。
オーディオの開始点
このグループ内の各オーディオファイルについて1つの4バイトエントリがある。この値は、ミリ秒による再生の開始点へのオフセットである。
オーディオの終了点
このグループ内の各オーディオファイルについて1つの4バイトエントリがある。この値は、ミリ秒による再生の終了点へのオフセットである。0の値は、ファイルの最後までのプレイを示す。プレイヤは、2つの連続したファイルが同じファイルIDを有し、最初のファイルの終了点および次のファイルの開始点が等しい場合を認識するべきであり、次いで再生が途切れずに継続するべきである。
開始点オフセット
このグループ内の各オーディオファイルについて1つの8バイトエントリがある。この値は、オーディオファイルの先頭から、プレイヤがファイルの読み取りを開始するために使用することができる場所へのオフセットである。このオフセットは、本明細書のオーディオフィールドの開始点と共に使用されるべきである。オーディオフィールドの開始点が0である場合、このフィールドは0であるべきであり、この場合、プレイヤはファイルヘッダを検査することによって、読み取るための最初のパケットを位置付けるようになる。オーディオフィールドの開始点がゼロでない場合、オーディオ開始時間に迅速に到達するために、このフィールドがオーサリングソフトウェアによって、ファイル内で復号化を開始するための最も近い場所に設定されるべきである。プレイヤはこのフィールドを無視し、この中のオーディオフィールドの開始点のみを使用することができる。CDメディアでは、上位の4バイトは常に0であるべきである。
終了点オフセット
このグループ内の各オーディオファイルについて1つの8バイトエントリがある。この値は、オーディオファイルの先頭から、プレイヤがファイルの読み取りを停止するために使用することができる場所へのオフセットである。このオフセットは、この中のオーディオフィールドの終了点と共に使用されるべきである。オーディオフィールドの終了点が0である場合、このフィールドは0であるべきであり、この場合、プレイヤはファイルの読み取りをどこで停止するかをそれ自体で決定することが必要となる。オーディオフィールドの終了点がゼロでない場合、すべての必要なデータが読み取られていることを保証するために、このフィールドがオーサリングソフトウェアによって、ファイル内で読み取りを終了するための最も近い場所に設定されるべきである。プレイヤはこのフィールドを無視し、この中のオーディオフィールドの終了点のみを使用することができる。CDメディアでは、上位の4バイトは常に0であるべきである。
もう1つの実施形態では、表A19のオーディオプレイリストグループは以下のフィールドのみを含み、すなわち、オーディオファイルの数およびオーディオファイルID1からオーディオファイルIDnまでである。オーディオの開始および終了点、およびグループ内の各オーディオファイルについてのオフセットは省略される。
ビデオプレイリストグループ
Figure 0004139303
プレイヤは自動的にビデオのサイズを変更して、表示を全体にすることができる。
ビデオファイルの数
この4バイトエントリは、このビデオプレイリストグループ内でリストされるビデオファイルIDの数を表す。
ビデオファイルID
このグループ内の各ビデオファイルについて1つの4バイトエントリがある。この値は、ここで定義されたCONTENTS.HMT内のビデオファイルの索引である。
ビデオの開始点
このグループ内の各ビデオファイルについて1つの4バイトエントリがある。この値は、ミリ秒による再生の開始点へのオフセットである。この値はIフレームに設定されるべきである。
ビデオの終了点
このグループ内の各ビデオファイルについて1つの4バイトエントリがある。この値は、ミリ秒による再生の終了点へのオフセットである。0の値は、ファイルの最後までのプレイを示す。プレイヤは、2つの連続したファイルが同じファイルIDを有し、最初のファイルの終了点および次のファイルの開始点が等しい場合を認識するべきであり、次いで再生が途切れずに継続するべきである。
開始点オフセット
このグループ内の各ビデオファイルについて1つの8バイトエントリがある。この値は、ビデオファイルの先頭から、プレイヤがファイルの読み取りを開始するために使用することができる場所へのオフセットである。このオフセットは、この中のビデオフィールドの開始点と共に使用されるべきである。ビデオフィールドの開始点が0である場合、このフィールドは0であるべきであり、この場合、プレイヤはファイルヘッダを検査することによって、読み取るための最初のパケットを位置付けるようになる。ビデオフィールドの開始点がゼロでない場合、ビデオ開始時間に迅速に到達するために、このフィールドがオーサリングソフトウェアによって、ファイル内で復号化を開始するための最も近い場所に設定されるべきである。プレイヤはこのフィールドを無視し、この中のビデオフィールドの開始点のみを使用することができる。CDメディアでは、上位の4バイトは常に0であるべきである。
終了点オフセット
このグループ内の各ビデオファイルについて1つの8バイトエントリがある。この値は、ビデオファイルの先頭から、プレイヤがファイルの読み取りを停止するために使用することができる場所へのオフセットである。このオフセットは、この中のオーディオフィールドの終了点と共に使用されるべきである。ビデオフィールドの終了点が0である場合、このフィールドは0であるべきであり、この場合、プレイヤはファイルの読み取りをどこで停止するかをそれ自体で決定することが必要となる。ビデオフィールドの終了点がゼロでない場合、すべての必要なデータが読み取られていることを保証するために、このフィールドがオーサリングソフトウェアによって、ファイル内で読み取りを終了するための最も近い場所に設定されるべきである。プレイヤはこのフィールドを無視し、この中のビデオフィールドの終了点のみを使用することができる。CDメディアでは、上位の4バイトは常に0であるべきである。
タイムドイメージグループ
Figure 0004139303
画像ファイルの数
この4バイトエントリは、このグループ内でリストされる画像ファイルIDの数を表す。
初期トランジション
この2バイトエントリは、プレイリスト内の最初の画像を表示するために使用される初期トランジションを定義する。可能な値は、ここで定義されたCUTおよびFADE INのみである。
最終トランジション
この2バイトエントリは、プレイリスト内の最後の画像の表示を終了させるために使用される最終トランジションを定義する。可能な値は、ここで定義されたCUTおよびFADE OUTのみである。
画像ファイル
このグループ内の各画像ファイルについて1つの4バイトエントリがある。この値は、ここで定義されたCONTENTS.HMT内の画像ファイルの索引である。
持続時間
この4バイトエントリは、画像を表示する持続時間をミリ秒で表し、0の値は無限を表す。タイムドイメージプレイリストグループの最短画像持続時間は5秒(5000ミリ秒)である。
トランジション
この2バイトエントリは、プレイヤが次の画像に変更するときに使用するためのトランジションのタイプを定義する。0の値はCUTとして定義され、サポートされるべきであり、すべての他の値のサポートはオプショナルである。トランジションのリストは以下のように定義される。
Figure 0004139303
トランジションの持続時間はメーカにより定義される。トランジション持続時間は、上で定義された画像持続時間に影響を及ぼすべきではない。たとえば、それぞれ20および30秒の持続時間の2つの画像の間の2秒の持続時間のトランジションは結果として、最初の画像の19秒と、その後に続くこれらの画像の間の2秒のトランジションと、その後に続く第2の画像の29秒となるべきである。PIAプレイリストグループに含まれたタイムドイメージグループでは、持続時間情報をプレイヤが考慮するべきである。
パラレルイメージオーディオプレイリストグループ
次/前プレイリスト項目機能を実施するとき、プレイヤはタイムドイメージプレイリストグループを通るべきである。プレイヤはオーディオを次/前の画像に同期化させるべきである。
Figure 0004139303
オーディオプレイリストグループのオフセット
この4バイトエントリは、nnnnnnnn.HMTの先頭からPIAエントリ内のオーディオプレイリストグループへのオフセットである。
タイムドイメージプレイリストグループ
このエントリは、ここで定義されたタイムドイメージグループである。
オーディオプレイリストエントリ
このエントリは、ここで定義されたオーディオエントリである。
MENU.HMT
MENU.HMTファイルの構造
図11は階層メニュー構造を例示する。このファイルは、ファイル内の複数のデータ構造の間に隙間がないように書かれるべきである。
メニューファイルヘッダ
Figure 0004139303
識別子
この8バイトエントリは、ASCIIによる「MENU_HMT」を含む。
バージョン
この2バイトエントリは、このファイルを書くために使用されたHMT仕様のバージョンを表す。たとえば、バージョン1.20は0×78(10進で120)として格納される。
MENU.HMTのサイズ
この4バイトエントリは、バイトによるMENU.HMTのサイズを含む。
LCID
この4バイトエントリは、このMENU.HMTファイルの言語IDである。
最初のメニューのオフセット
この2バイトエントリは、MENU.HMTの先頭から、ここで定義された最初のメニューヘッダへのバイトオフセットである。
メニュータイトルの長さ
この2バイトエントリは、メニュータイトルのバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
メニュータイトル
これはUCS−2メニュータイトルである。このタイトルは、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む65のUCS−2文字である。プレイヤはこれを使用して、メニュー全体についてのタイトルを表示するべきである。空文字列(1つのNULL文字)は、表示するためのタイトルがないか、あるいはオーサリングソフトウェアがタイトルをバックグラウンド画像上にレンダリングしていることを示す。たとえば、「私のハワイの休日」、「2002年スクールパーティ」である。
メニュー
メニューはバックグラウンド画像、一様なバックグラウンド色またはプレイヤのデフォルトの挙動のいずれもサポートする。バックグラウンド画像またはバックグラウンド色が定義された場合、テキスト色が定義されるべきである。バックグラウンド画像、バックグラウンド色およびテキスト色のエントリが0である場合、プレイヤはそのデフォルトの挙動を使用するべきである。各サブメニューは、厳密な階層メニュー構造を形成する単一の親メニューによって参照されるべきである。
Figure 0004139303
メニューヘッダのサイズ
この4バイトエントリは、バイトによる、メニューおよびプレイリスト項目を含むメニューヘッダのサイズである。
親メニューへのオフセット
この4バイトエントリは、MENU.HMTの先頭から親メニューへのバイトオフセットであり、これが最上位メニューである場合、この値は0である。
バックグラウンド画像ID(4:3)
この4バイトエントリは、4:3ディスプレイ上にこのメニューのバックグラウンドとして表示するための画像を定義する。この画像は、HMT拡張子を有する640×480のJPGファイルであるべきである。0の値は、バックグラウンド画像がないことを示す。この値は、ここで定義されたCONTENTS.HMT内のメニューイメージファイルの索引である。プレイヤは、バックグラウンド画像をディスプレイ上で中央に表示して、縦横比を保持するべきである。プレイヤは、いずれかの覆われていないエリアを埋めるためにここで定義されたものがある場合、バックグラウンド色を使用するべきである。
バックグラウンド画像ID(16:9)
この4バイトエントリは、16:9ディスプレイ上にこのメニューのバックグラウンドとして表示するための画像を定義する。この画像は、HMT拡張子を有する852×480のJPGファイルであるべきである。0の値は、バックグラウンド画像がないことを示す。この値が0でない場合、有効なバックグラウンド画像ID(4:3)もあるべきである。この値は、ここで定義されたCONTENTS.HMT内のメニュー画像ファイルの索引である。プレイヤは、バックグラウンド画像をディスプレイ上で中央に表示して、縦横比を保持するべきである。
バックグラウンド色
この4バイトエントリは、このメニューがディスプレイ上にレンダリングされるときに使用されるべきバックグラウンド色を定義する。これは、バイト順序0xFFRRGGBBを有するRGB値としてフォーマットされる。バックグラウンド画像IDがここで定義される場合、バックグラウンド色は、バックグラウンド画像がある場合にそれによって覆われないディスプレイのエリア上でのみ可視であるべきである。0の値は、バックグラウンド色がないことを示す。プレイヤがカラーのレンダリングができない場合、このフィールドを無視することができる。
テキスト色
この4バイトエントリは、このメニュー上のテキストがディスプレイ上にレンダリングされるべきである色を定義する。これは、バイト順序0xFFRRGGBBを有するRGB値としてフォーマットされる。バックグラウンド画像IDまたはバックグラウンド色がここで定義される場合、このエントリはゼロでない値を含むべきである。0の値は、プレイヤがそのデフォルトの挙動を使用するべきであることを意味するように定義される。プレイヤがカラーのレンダリングができない場合、このフィールドを無視することができる。
項目の数
この2バイトエントリは、このメニュー内のサブメニューまたはプレイリスト項目の数を定義する。
メニューサブタイトルの長さ
この2バイトエントリは、メニューサブタイトルのバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
メニューサブタイトル
これはUCS−2メニューサブタイトルである。このサブタイトルは、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む65のUCS−2文字である。プレイヤはこれを使用して、このメニューについてのサブタイトルを表示するべきである。空文字列(1つのNULL文字)は、表示するためのサブタイトルがないか、あるいはオーサリングソフトウェアがタイトルをバックグラウンド画像上にレンダリングしていることを示す。
メニューまたはプレイリスト項目
この可変サイズのエントリは、ここで定義されたメニュー項目またはここで定義されたプレイリスト項目である。
メニュー項目
Figure 0004139303
エントリのタイプ
この1バイトエントリは、これがメニュー項目構造かプレイリスト項目構造かを定義する。メニュー項目では、この値は以下で定義するMENUの値にするべきである。
Figure 0004139303
メニューサマリタイプ
この値は、このメニュー項目を介してアクセス可能であるプレイリストのタイプを定義するために使用される。
サムネイルID
この4バイトエントリは、ここで定義されたCONTENTS.HMT内のこのメニュー項目についてのサムネイルIDを表し、このメニュー項目についてのサムネイルがない場合、この値は0であるべきである。
選択状態サムネイルID
この4バイトエントリは、ここで定義されたCONTENTS.HMT内のこのメニュー項目についての選択状態を表すサムネイルIDを定義する。0の値は、プレイヤが外接矩形(bounding rectangle)または他の強調表示を生成して、ここで定義された色を使用して選択を指示するべきであることを示す。
メニューへのオフセット
この4バイトエントリは、MENU.HMTの先頭から、ここで定義されたメニューへのバイトオフセットを定義する。
メニュー名の長さ
この2バイトエントリは、メニュー名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
メニュー名
これはメニューのUCS−2名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む65のUCS−2文字である。
プレイリスト項目
Figure 0004139303
エントリのタイプ
この1バイトエントリは、これが、ここで定義されたメニュー項目構造かプレイリスト項目構造かを定義する。プレイリスト項目では、この値はここで定義されたPLAYLISTの値にするべきである。
プレイリストサマリタイプ
この値は、このメニュー項目が参照するプレイリストのタイプを定義するために使用される。
サムネイルID
この4バイトエントリは、ここで定義されたCONTENTS.HMT内のこのメニュー項目についてのサムネイルIDを定義する。このメニュー項目についてのサムネイルがない場合、この値は0であるべきである。サムネイルIDは、ここで定義されたプレイリストヘッダ内のサムネイルIDと同じものにすることができる。
選択状態サムネイルID
この4バイトエントリは、ここで定義されたCONTENTS.HMT内のこのメニュー項目についての選択状態を表すサムネイルIDを定義する。0の値は、プレイヤが外接矩形または他の強調表示を生成して、ここで定義された色を使用して選択を指示するべきであることを示す。
プレイリストID
この4バイトエントリは、ここで定義されたCONTENTS.HMT内のこのメニュー項目についてのプレイリストのIDを定義する。
開始グループ索引
この4バイトエントリは、再生を開始するためのプレイリストファイル内のグループの索引を定義する。1の値はプレイリスト内の最初のグループを示す。
開始ファイル索引
この4バイトエントリは、再生を開始するためにここで参照されたグループ内のファイルの索引を定義する。1の値は、グループ内の最初のファイルを示す。ここで参照されたグループがパラレルプレイリストグループ(PIA)である場合、この値は1であるべきであることに留意されたい。開始グループ索引および開始ファイル索引は共に、1つのプレイリストをメニュー内で何度も参照できるようにする。たとえば、メニューはディスク上のあらゆる画像についてのサムネイルを示すことができ、各サムネイルはユーザを、選択された画像で開始するすべての画像のループプレイリストに導く。
メニュー内のプレイリスト名の長さ
この2バイトエントリは、メニュー内のプレイリスト名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
メニュー内のプレイリスト名
これは、プレイリストがメニュー内で表れるときのUCS−2名である。この名前は、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む65のUCS−2文字である。
TEXT.HMTファイル
メタデータのTEXT.HMT内のフィールドへのマッピングを、以下の表で概説する。
Figure 0004139303
TEXT.HMTファイルの構造
図12は、テキストメタデータを表すデータ構造を例示する。このファイルは、ファイル内の複数のデータ構造の間に隙間がないように書かれるべきである。
ヘッダセクション
Figure 0004139303
識別子
このフィールドは、8バイトのASCIIによる「TEXT_HMT」であるべきである。
バージョン
この2バイトエントリは、このファイルを書くために使用されたHMT仕様のバージョンを表す。たとえば、バージョン1.20は0×78(10進で120)として格納される。
ファイルサイズ
このフィールドは、TEXT.HMTファイルのサイズを4バイトで含むべきである。
コンテンツエントリの数
この4バイトエントリは、ここで定義されたオフセットでのコンテンツテキストエントリの数を定義する。
グループエントリの数
この4バイトエントリは、ここで定義されたオフセットでのグループテキストエントリの数を定義する。
追加テキストエントリの数
この4バイトエントリは、ここで定義されたオフセットでの追加テキストエントリの数を定義する。
コンテンツテキストエントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭からコンテンツテキストエントリテーブルへのオフセットである。
グループテキストエントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭からグループテキストエントリテーブルへのオフセットである。
追加テキストエントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から追加テキストエントリテーブルへのオフセットである。
LCID
この4バイトエントリは、このMENU.HMTファイルの言語IDである。
ディスク名の長さ
この2バイトエントリは、ディスク名のバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
ディスク名
この可変長エントリはディスクの名前を表す。ディスク名はUCS−2であり、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このエントリの最大長は、空白のUCS−2文字を含む65のUCS−2文字である。
テキストエントリ
すべてのテキスト項目は、以下のフォーマットを使用して格納される。
Figure 0004139303
長さ
この2バイトエントリは、テキストのバイト長から終了の空白UCS−2文字(2つの空バイト)を除いたものを含む。
テキスト
これはUCS−2テキストエントリである。このテキストは、空白のUCS−2文字(2つの空バイト)で終了されるべきである。このテキストエントリの最大長は以下の通りである。
Figure 0004139303
この長さはUCS−2文字として定義され、終了の空白のUCS−2文字を含む。
コンテンツテキストエントリテーブル
コンテンツテキストエントリテーブルは、コンテンツテキストエントリのリストを含む。CONTENTS.HMT内の各ファイル(プレイリスト、オーディオ、メニュー画像、画像およびビデオ)について1つのコンテンツテキストエントリが、これらのファイルがCONTENTS.HMT内でリストされる順序と同じ順序で存在するべきである。
Figure 0004139303
コンテンツID
この4バイトエントリは、ここで定義されたこのコンテンツテキストエントリについてのコンテンツIDを表す。
テキスト1エントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義されたテキスト1エントリの最初のバイトについてのオフセットを表す。CONTENTS.HMT内の各コンテンツ項目がテキスト1エントリを有することが必要とされる。
テキスト2エントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義されたテキスト2エントリの最初のバイトについてのオフセットを表す。コンテンツ項目がテキスト2データを有していない場合、このエントリは0であるべきである。
テキスト3エントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義されたテキスト3エントリの最初のバイトについてのオフセットを表す。コンテンツ項目がテキスト3データを有していない場合、このエントリは0であるべきである。
テキスト4エントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義されたテキスト4エントリの最初のバイトについてのオフセットを表す。コンテンツ項目がテキスト4データを有していない場合、このエントリは0であるべきである。
テキスト5エントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義されたテキスト5エントリの最初のバイトについてのオフセットを表す。コンテンツ項目がテキスト5データを有していない場合、このエントリは0であるべきである。
追加テキストエントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から追加テキストエントリの最初のバイトについてのオフセットを表す。コンテンツ項目が追加テキストデータを有していない場合、このエントリは0であるべきである。
グループテキストエントリテーブル
グループテキストエントリテーブルは、グループテキストエントリのリストを含む。CONTENTS.HMT内でリストされたプレイリストファイル内の各グループについて、1つのグループテキストエントリがあるべきである。これらのエントリは、グループ番号の昇順であるべきである。
Figure 0004139303
グループ番号
この4バイトエントリは、このグループテキストエントリについてのグループ番号を表す。
グループ名テキストエントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義されたグループ名テキストエントリの最初のバイトについてのオフセットを表す。各グループが名前を有することが必要とされる。
追加テキストエントリテーブル
追加テキストエントリテーブルは、ここで定義されたゼロまたはそれ以上の追加テキストエントリとして定義される。これらのエントリは、コンテンツIDの昇順で格納されるべきである。追加テキストエントリおよび追加テキストエントリの数のフィールドがゼロである場合、追加テキストエントリのベースオフセット、および追加テキストデータのベースオフセットはすべて0であるべきである。
Figure 0004139303
コンテンツID
この4バイトエントリは、ここで定義されたCONTENTS.HMT内のこの追加テキストエントリに関連付けられたファイルのコンテンツIDを表す。
追加テキストデータの数
この1バイトエントリは、この追加テキストエントリによって関連付けられた追加テキストデータの数を表す。
予約済
この1バイトエントリは将来の使用のために予約される。
n番目のテキストデータのタイプ
この2バイトエントリは、以下の表で定義された値のうち1つを含む。
Figure 0004139303
n番目のテキストエントリのオフセット
この4バイトエントリは、TEXT.HMTの先頭から、ここで定義された各追加テキストエントリの最初のバイトについてのオフセットを表す。
LSNファイルヘッダ
Figure 0004139303
識別子
この8バイトエントリは、ASCIIによる「LSN_HMT」を含む。
バージョン
この2バイトエントリは、このファイルを書くために使用されたHMT仕様のバージョンを表す。たとえば、バージョン1.20は0×78(10進で120)として格納される。
HMT世代
この8バイトエントリは、このLSN.HMTに合致するHMTファイルの世代を表す。このLSN.HMTは、同じHMT世代番号を含むCONTENTS.HMTファイルと共にのみ使用されるべきである。オーサリングソフトウェアは一意の乱数値を生成して、2つのファイルが偶然に合致しないことを保証するべきである。
LSN.HMTのサイズ
この4バイトエントリは、LSN.HMTのサイズをバイトで含む。
LSNエントリの数
この4バイトエントリは、LSN.HMTで定義されるエントリの数を含む。
LSN
この4バイトエントリは、同じ索引を有するCONTENTS.HMT内の項目についての論理セクタ番号を含む。
ファイルサイズ
この4バイトエントリは、同じ索引を有するCONTENTS.HMT内の項目についてのファイルサイズをバイトで含む。
本発明を実施することができる適切なメディア環境の一実施例を例示するブロック図である。 本発明によるオーサリングソフトウェアの例示的オペレーションを例示する流れ図である。 マルチセッションコンピュータ可読媒体を例示する流れ図である。 本発明によるレンダリングソフトウェアの例示的オペレーションを例示する流れ図である。 本発明のソフトウェアと共に使用するための例示的圧縮メディアフォーマットを例示するブロック図である。 本発明を実施することができる適切なコンピューティングシステム環境の一実施例を例示するブロック図である。 メモリ最適化データのためのファイルシステム構造を例示する例示的ブロック図である。 ロケール情報を表すデータ構造を例示する例示的ブロック図である。 コンピュータ可読媒体上のすべてのメディアファイルについての情報を表すデータ構造を例示する例示的ブロック図である。 プレイリストファイルを表すデータ構造を例示する例示的ブロック図である。 階層メニュー構造を例示する例示的ブロック図である。 テキストメタデータを表すデータ構造を例示する例示的ブロック図である。
符号の説明
100 システム
102 コンピュータ
104 CD
106 カムコーダ
108 カメラ
110 コンピュータ可読媒体
112 家電デバイス
114 入力モジュール
116 フィルタモジュール
118 ユーザインターフェイスモジュール

Claims (40)

  1. メディアプレイヤを動作させる方法であって、
    コンピュータ可読媒体上に記憶されたすべてのメディアファイルから選択された1つまたは複数のメディアファイルについてのメタデータを取得するステップであって、前記得られたメタデータは、前記コンピュータ可読媒体上の前記選択されたメディアファイルのそれぞれの位置への参照を含み、前記得られたメタデータはさらに、前記選択されたメディアファイルのそれぞれに関連付けられたコンテンツを記述する、ステップと、
    前記選択されたメディアファイルをレンダリングする前に前記メディアプレイヤによってアクセス可能であるデータ構造を作成するステップと、
    前記作成されたデータ構造を、前記得られたメタデータによりポピュレートするステップと、
    前記ポピュレートされたデータ構造を、前記コンピュータ可読媒体上の複数のセッション中の最後のセッションで、メモリ最適化データとして、前記選択されたメディアファイルと共に格納するステップと、
    を含み、
    前記メモリ最適化データが前記コンピュータ可読媒体上の複数のセッション中の最後のセッション内にある場合、前記メディアプレイヤは、前記格納されたメモリ最適化データにアクセスして前記メタデータをユーザに提示し、前記参照を介してメディアファイルをナビゲートし、レンダリングし、
    前記メモリ最適化データが前記コンピュータ可読媒体上の複数のセッション中の最後のセッション内にない場合、前記メディアプレイヤは、前記選択されたメディアファイルから、または、データ通信ネットワークを介したネットワークサーバから、または、両方から、メタデータを直接取得して当該メタデータをユーザに提示し、当該メタデータ中のメディアファイルのそれぞれの位置への参照を介してメディアファイルをナビゲートし、レンダリングし、メモリ最適化データが前記複数のセッション中の最後のセッション以外のセッションにあったとしても、そのメモリ最適化データを無視することを特徴とする方法。
  2. 前記ポピュレートするステップは、
    数値識別子を前記選択されたメディアファイルに関連づけるステップであって、前記数値識別子は、順番に順序付けられ、前記数値識別子のそれぞれは、前記選択されたメディアファイルの1つにそれぞれ対応する、ステップと、
    前記数値識別子を前記データ構造に格納するステップと、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記選択されたメディアファイルは、プレイリストまたはメニュー画像ファイルまたは両方を備えることを特徴とする請求項1に記載の方法。
  4. 前記ポピュレートするステップは、
    前記選択されたメディアファイルをディレクトリにより編成するステップと、
    前記編成されたメディアファイルをソートするステップと、
    をさらに含むことを特徴とする請求項1に記載の方法。
  5. 前記メタデータを取得するステップは、前記選択されたメディアファイルの1つまたは複数を参照するプレイリストを生成するステップを含むことを特徴とする請求項1に記載の方法。
  6. 前記コンピュータ可読媒体上に記憶されたすべてのメディアファイルは、圧縮されていることを特徴とする請求項1に記載の方法。
  7. 前記メタデータを取得するステップは、前記選択されたメディアファイルのそれぞれについて、論理セクタ番号を識別するステップを含むことを特徴とする請求項1に記載の方法。
  8. 前記メタデータを取得するステップは、前記選択されたメディアファイルを識別するメニュー情報を取得するステップを含むことを特徴とする請求項1に記載の方法。
  9. 前記メタデータを取得するステップは、前記選択されたメディアファイルの1つまたは複数に対応するサムネイル画像を取得するステップを含むことを特徴とする請求項1に記載の方法。
  10. 前記メタデータを取得するステップは、前記選択されたメディアファイルに関連付けられたメニュー情報に対応する言語を識別するステップを含むことを特徴とする請求項1に記載の方法。
  11. 前記メタデータが、対応するメディアファイルのタイトル、作曲家、演奏者、ジャンル、スタジオ、ディレクター、評価、アーティスト、およびコンテンツの説明のうち1つまたは複数から選択されることを特徴とする請求項1に記載の方法。
  12. 前記メタデータが、作曲家、演奏者、ジャンル、スタジオ、ディレクター、評価、およびアーティストのうち1つまたは複数を備えることを特徴とする請求項1に記載の方法。
  13. 請求項1に記載の方法を実施するためのコンピュータ実行可能命令を有することを特徴とする1つまたは複数のコンピュータ可読媒体。
  14. メディアプレイヤを動作させるためのコンピュータ実行可能コンポーネントを有する1つまたは複数のコンピュータ可読媒体であって、前記コンポーネントは、
    第2のコンピュータ可読媒体上に記憶されたすべてのメディアファイルから選択された1つまたは複数のメディアファイルについてのメタデータを取得するための準備モジュールであって、前記得られたメタデータは、前記第2のコンピュータ可読媒体上の前記選択されたメディアファイルのそれぞれの位置への参照を含み、前記得られたメタデータはさらに、前記選択されたメディアファイルのそれぞれに関連付けられたコンテンツを記述する、準備モジュールと、
    前記選択されたメディアファイルをレンダリングする前に前記メディアプレイヤによってアクセス可能であるデータ構造を作成するための初期化モジュールと、
    前記初期化モジュールからの前記作成されたデータ構造を、前記準備モジュールからの前記得られたメタデータによりポピュレートするための編成モジュールと、
    前記編成モジュールからの前記ポピュレートされたデータ構造を前記第2のコンピュータ可読媒体上の複数のセッション中の最後のセッションで、メモリ最適化データとして、前記選択されたメディアファイルと共に格納するためのライタモジュールと、
    を備え、
    前記メモリ最適化データが前記第2のコンピュータ可読媒体上の複数のセッション中の最後のセッション内にある場合、前記メディアプレイヤは、前記格納されたメモリ最適化データにアクセスして前記メタデータをユーザに提示し、前記参照を介してメディアファイルをナビゲートし、レンダリングし、
    前記メモリ最適化データが前記第2のコンピュータ可読媒体上の複数のセッション中の最後のセッション内にない場合、前記メディアプレイヤは、前記選択されたメディアファイルから、または、データ通信ネットワークを介したネットワークサーバから、または、両方から、メタデータを直接取得して当該メタデータをユーザに提示し、当該メタデータ中のメディアファイルのそれぞれの位置への参照を介してメディアファイルをナビゲートし、レンダリングし、メモリ最適化データが前記複数のセッション中の最後のセッション以外のセッションにあったとしても、そのメモリ最適化データを無視することを特徴とする、1つまたは複数のコンピュータ可読媒体。
  15. 前記編成モジュールは、数値識別子を前記選択されたメディアファイルに関連付け、前記数値識別子が順番に順序付けられ、各々は前記選択されたメディアファイルの各々に対応し、前記編成モジュールは前記数値識別子を前記データ構造に格納することを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
  16. 前記準備モジュールは、前記選択されたメディアファイルの各々についての論理セクタ番号を識別することを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
  17. メディアプレイヤを動作させる方法であって、
    メディアファイルをレンダリングする前に、コンピュータ可読媒体上のメモリ最適化データを検索するステップであって、前記メモリ最適化データは、前記コンピュータ可読媒体上に格納されたすべてのメディアファイルから選択されるメディアファイルの1つまたは複数に関連付けられ、前記メモリ最適化データは、前記コンピュータ可読媒体上の前記選択されたメディアファイルのそれぞれの位置への参照を含み、前記メモリ最適化データはさらに、前記選択されたメディアファイルのそれぞれに関連付けられたコンテンツを記述する、ステップと、
    前記検索された、前記メモリ最適化データに応答して、前記選択されたメディアファイルを識別するステップと、
    を含み、
    前記メモリ最適化データが前記コンピュータ可読媒体上の複数のセッション中の最後のセッション内にある場合、前記メディアプレイヤは、前記格納されたメモリ最適化データにアクセスして前記選択されたメディアファイルのそれぞれに関連付けられた位置及びコンテンツにアクセスし、
    前記メモリ最適化データが前記コンピュータ可読媒体上の複数のセッション中の最後のセッション内にない場合、前記メディアプレイヤは、前記選択されたメディアファイルから、または、データ通信ネットワークを介したネットワークサーバから、または、両方から、前記位置及びコンテンツを直接取得し、メモリ最適化データが前記複数のセッション中の最後のセッション以外のセッションにあったとしても、そのメモリ最適化データを無視し、前記選択されたメディアファイルが、前記メディアプレイヤによってレンダリングされるように適合されることを特徴とする方法。
  18. 前記メモリ最適化データの少なくとも一部を前記メディアプレイヤによって、前記選択されたメディアファイルのレンダリング中に前記メモリ最適化データに関連付けられた前記選択されたメディアファイルと関連して表示するステップを、さらに含むことを特徴とする請求項17に記載の方法。
  19. 前記識別するステップは、前記コンピュータ可読媒体上に格納された複数のメディアファイルから前記選択されたメディアファイルを識別するステップを含むことを特徴とする請求項17に記載の方法。
  20. 前記メモリ最適化データを介して前記選択されたメディアファイルに関連付けられるメタデータを取得するステップと、
    前記得られたメタデータをユーザに、前記メディアプレイヤに関連付けられたディスプレイ上で表示するステップと、
    を、前記選択されたメディアファイルをレンダリングする前に、さらに含むことを特徴とする請求項17に記載の方法。
  21. 前記メタデータを取得するステップは、前記メモリ最適化データを介して論理セクタ番号を読むステップを含み、前記論理セクタ番号のそれぞれが、前記選択されたメディアファイルの1つをそれぞれ識別することを特徴とする請求項20に記載の方法。
  22. 前記選択されたメディアファイルの1つを格納するファイルシステムと前記選択されたメディアファイルの前記1つに関連付けられたファイル名とを合致させることによって、前記選択されたメディアファイルの前記1つについて論理セクタ番号を識別するステップを、前記選択されたメディアファイルをレンダリングする前に、さらに含むことを特徴とする請求項20に記載の方法。
  23. 前記メタデータを取得するステップは、前記メモリ最適化データからメニュー情報を読むステップを含み、前記メニュー情報が、前記選択されたメディアファイルを識別することを特徴とする請求項20に記載の方法。
  24. 前記メニュー情報を読むステップは、前記選択されたメディアファイルの1つに対する前記メモリ最適化データからメニュー情報を読むステップを含むことを特徴とする請求項23に記載の方法。
  25. 前記メニュー情報は、前記選択されたメディアファイルに関連付けられたメニュー内の位置に対応し、前記メニュー情報への参照を格納するステップを、さらに含むことを特徴とする請求項23に記載の方法。
  26. 前記メタデータを取得するステップは、前記メモリ最適化データを介してサムネイル画像を取得するステップを含み、前記サムネイル画像が、前記選択されたメディアファイルの1つまたは複数に対応することを特徴とする請求項20に記載の方法。
  27. 前記メタデータを取得するステップは、前記メモリ最適化データからプレイリストを読むステップを含み、前記プレイリストが、前記選択されたメディアファイルの1つまたは複数を識別することを特徴とする請求項20に記載の方法。
  28. 前記メタデータを取得するステップは、前記メモリ最適化データから言語を識別するステップを含み、前記識別された言語が、前記選択されたメディアファイルに関連付けられたメニュー情報に対応することを特徴とする請求項20に記載の方法。
  29. 前記得られたメタデータを前記メディアプレイヤに関連付けられたメモリ内に格納するステップと、
    前記メモリから前記表示されたメタデータを消去するステップと、
    を、前記選択されたメディアファイルをレンダリングする前に、さらに含むことを特徴とする請求項20に記載の方法。
  30. 前記得られたメタデータが、対応するメディアファイルのタイトル、作曲家、演奏者、ジャンル、スタジオ、ディレクター、評価、アーティスト、およびコンテンツの説明のうち1つまたは複数から選択されることを特徴とする請求項20に記載の方法。
  31. 請求項17に記載の方法を実施するためのコンピュータ実行可能命令を有することを特徴とする1つまたは複数のコンピュータ可読媒体。
  32. メディアプレイヤのオペレーションを最適化するためのコンピュータ実行可能コンポーネントを格納する1つまたは複数のコンピュータ可読媒体を有するメディアプレイヤであって、前記メディアプレイヤは、第2のコンピュータ可読媒体にアクセスして、その上に格納されたメディアファイルをレンダリングし、前記第2のコンピュータ可読媒体はさらに、前記メディアファイルに関連付けられたメモリ最適化データを格納し、前記コンポーネントは、
    前記メディアファイルをレンダリングする前に、前記第2のコンピュータ可読媒体上の前記メモリ最適化データを検索する入力モジュールであって、前記メモリ最適化データは、前記コンピュータ可読媒体上に格納されたすべてのメディアファイルから選択されるメディアファイルの1つまたは複数に関連付けられ、前記メモリ最適化データは、前記第2のコンピュータ可読媒体上の前記選択されたメディアファイルのそれぞれの位置への参照を含み、前記メモリ最適化データはさらに、前記選択されたメディアファイルのそれぞれに関連付けられたコンテンツを記述する、入力モジュールと、
    前記検索された、前期入力モジュールからの前記メモリ最適化データに応答して、前記選択されたメディアファイルを識別するフィルタモジュールと、
    を備え、
    前記メモリ最適化データが前記第2のコンピュータ可読媒体上の複数のセッション中の最後のセッション内にある場合、前記メディアプレイヤは、前記格納されたメモリ最適化データにアクセスして前記選択されたメディアファイルのそれぞれに関連付けられた位置及びコンテンツにアクセスし、
    前記メモリ最適化データが前記第2のコンピュータ可読媒体上の複数のセッション中の最後のセッション内にない場合、前記メディアプレイヤは、前記選択されたメディアファイルから、または、データ通信ネットワークを介したネットワークサーバから、または、両方から、前記位置及びコンテンツを直接取得し、メモリ最適化データが前記複数のセッション中の最後のセッション以外のセッションにあったとしても、そのメモリ最適化データを無視し、前記選択されたメディアファイルが、前記メディアプレイヤによってレンダリングされるように適合されることを特徴とするメディアプレイヤ。
  33. 前記メモリ最適化データの少なくとも一部を、前記選択されたメディアファイルのレンダリング中に前記メモリ最適化データに関連付けられた前記選択されたメディアファイルと関連して表示するユーザインターフェイスモジュールを、さらに備えることを特徴とする請求項32に記載のメディアプレイヤ。
  34. 前記フィルタモジュールは、前記コンピュータ可読媒体上に格納された複数のメディアファイルから前記選択されたメディアファイルを識別することを特徴とする請求項32に記載のメディアプレイヤ。
  35. 前記フィルタモジュールは、前記メモリ最適化データを介して前記選択されたメディアファイルに関連付けられるメタデータを取得し、前記フィルタモジュールは、前記得られたメタデータをユーザに、前記メディアプレイヤに関連付けられたディスプレイ上で表示することを特徴とする請求項32に記載のメディアプレイヤ。
  36. 前記フィルタモジュールは、前記メモリ最適化データを介して論理セクタ番号を読み、前記論理セクタ番号のそれぞれが、前記選択されたメディアファイルの1つをそれぞれ識別することを特徴とする請求項32に記載のメディアプレイヤ。
  37. 前記フィルタモジュールは、前記メモリ最適化データからメニュー情報を読み、前記メニュー情報が、前記選択されたメディアファイルを識別することを特徴とする請求項32に記載のメディアプレイヤ。
  38. 前記フィルタモジュールは、前記メモリ最適化データを介してサムネイル画像を取得し、前記サムネイル画像が、前記選択されたメディアファイルの1つまたは複数に対応することを特徴とする請求項32に記載のメディアプレイヤ。
  39. 前記フィルタモジュールは、前記メモリ最適化データからプレイリストを読み、前記プレイリストが、前記選択されたメディアファイルの1つまたは複数に対応することを特徴とする請求項32に記載のメディアプレイヤ。
  40. 前記フィルタモジュールは、前記メモリ最適化データから言語を識別し、前記識別された言語が、前記選択されたメディアファイルに関連付けられたメニュー情報に対応することを特徴とする請求項32に記載のメディアプレイヤ。
JP2003336558A 2002-10-16 2003-09-26 レンダリング中のメディアプレイヤのメモリの最適化 Expired - Fee Related JP4139303B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41897302P 2002-10-16 2002-10-16
US10/273,416 US7054888B2 (en) 2002-10-16 2002-10-17 Optimizing media player memory during rendering

Publications (3)

Publication Number Publication Date
JP2004164824A JP2004164824A (ja) 2004-06-10
JP2004164824A5 JP2004164824A5 (ja) 2006-12-07
JP4139303B2 true JP4139303B2 (ja) 2008-08-27

Family

ID=32044991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003336558A Expired - Fee Related JP4139303B2 (ja) 2002-10-16 2003-09-26 レンダリング中のメディアプレイヤのメモリの最適化

Country Status (3)

Country Link
US (4) US7054888B2 (ja)
EP (1) EP1411520A3 (ja)
JP (1) JP4139303B2 (ja)

Families Citing this family (276)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7716358B2 (en) 2000-09-12 2010-05-11 Wag Acquisition, Llc Streaming media buffering system
US8595372B2 (en) 2000-09-12 2013-11-26 Wag Acquisition, Llc Streaming media buffering system
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US6870956B2 (en) * 2001-06-14 2005-03-22 Microsoft Corporation Method and apparatus for shot detection
US8244895B2 (en) * 2002-07-15 2012-08-14 Hewlett-Packard Development Company, L.P. Method and apparatus for applying receiving attributes using constraints
US7668842B2 (en) 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
US7054888B2 (en) * 2002-10-16 2006-05-30 Microsoft Corporation Optimizing media player memory during rendering
US7274741B2 (en) * 2002-11-01 2007-09-25 Microsoft Corporation Systems and methods for generating a comprehensive user attention model
US7127120B2 (en) * 2002-11-01 2006-10-24 Microsoft Corporation Systems and methods for automatically editing a video
US7116716B2 (en) * 2002-11-01 2006-10-03 Microsoft Corporation Systems and methods for generating a motion attention model
US20040088723A1 (en) * 2002-11-01 2004-05-06 Yu-Fei Ma Systems and methods for generating a video summary
US20040215873A1 (en) * 2002-12-13 2004-10-28 Chiyoko Matsumi Recording and reproducing system, recording apparatus, reproducing apparatus, record medium, recording and reproducing method, recording method, reproducing method, program and record medium
US7366733B2 (en) 2002-12-13 2008-04-29 Matsushita Electric Industrial Co., Ltd. Method and apparatus for reproducing play lists in record media
US7164798B2 (en) * 2003-02-18 2007-01-16 Microsoft Corporation Learning-based automatic commercial content detection
US7260261B2 (en) * 2003-02-20 2007-08-21 Microsoft Corporation Systems and methods for enhanced image adaptation
KR100565060B1 (ko) * 2003-03-14 2006-03-30 삼성전자주식회사 언어 정보에 따라 적응적으로 재생가능한 데이터 구조로기록된 정보저장매체, 그 재생 방법 및 장치
JP4100241B2 (ja) * 2003-04-24 2008-06-11 ソニー株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
US6728729B1 (en) * 2003-04-25 2004-04-27 Apple Computer, Inc. Accessing media across networks
US9406068B2 (en) 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
EP2357623A1 (en) 2003-04-25 2011-08-17 Apple Inc. Graphical user interface for browsing, searching and presenting media items
US7734568B2 (en) * 2003-06-26 2010-06-08 Microsoft Corporation DVD metadata wizard
US20040267810A1 (en) * 2003-06-27 2004-12-30 Kidd Nelson F. Method, apparatus and system for efficient file indexing
US20050015405A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Multi-valued properties
US7757173B2 (en) * 2003-07-18 2010-07-13 Apple Inc. Voice menu system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8086752B2 (en) * 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US7400761B2 (en) * 2003-09-30 2008-07-15 Microsoft Corporation Contrast-based image attention analysis framework
US7471827B2 (en) * 2003-10-16 2008-12-30 Microsoft Corporation Automatic browsing path generation to present image areas with high attention value as a function of space and time
US20050152519A1 (en) * 2004-01-13 2005-07-14 Rush Scott A. Music navigator for digital audio playback
EP1714284A4 (en) * 2004-01-15 2008-09-17 Milsys Ltd REPLACEABLE MEDIUM WITH BOOKMARKS
US7617242B2 (en) * 2004-03-30 2009-11-10 Panasonic Corporation Method and apparatus for reproducing play lists in record media
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US7526588B1 (en) 2004-04-27 2009-04-28 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US8117651B2 (en) 2004-04-27 2012-02-14 Apple Inc. Method and system for authenticating an accessory
US7895378B2 (en) * 2004-04-27 2011-02-22 Apple Inc. Method and system for allowing a media player to transfer digital audio to an accessory
US7797471B2 (en) 2004-04-27 2010-09-14 Apple Inc. Method and system for transferring album artwork between a media player and an accessory
US7529872B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player using a protocol with multiple lingoes
US7673083B2 (en) * 2004-04-27 2010-03-02 Apple Inc. Method and system for controlling video selection and playback in a portable media player
US7441062B2 (en) * 2004-04-27 2008-10-21 Apple Inc. Connector interface system for enabling data communication with a multi-communication device
US7441058B1 (en) 2006-09-11 2008-10-21 Apple Inc. Method and system for controlling an accessory having a tuner
US7529870B1 (en) 2004-04-27 2009-05-05 Apple Inc. Communication between an accessory and a media player with multiple lingoes
US7634605B2 (en) * 2004-04-27 2009-12-15 Apple Inc. Method and system for transferring stored data between a media player and an accessory
US7826318B2 (en) * 2004-04-27 2010-11-02 Apple Inc. Method and system for allowing a media player to transfer digital audio to an accessory
US20050267894A1 (en) * 2004-06-01 2005-12-01 Telestream, Inc. XML metabase for the organization and manipulation of digital media
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
CN1713291A (zh) * 2004-06-22 2005-12-28 皇家飞利浦电子股份有限公司 一种优化光盘浏览器的方法及装置
WO2006009207A1 (ja) * 2004-07-21 2006-01-26 Sony Corporation コンテンツ処理装置,コンテンツ処理方法及びコンピュータプログラム
US9053754B2 (en) 2004-07-28 2015-06-09 Microsoft Technology Licensing, Llc Thumbnail generation and presentation for recorded TV programs
US7986372B2 (en) 2004-08-02 2011-07-26 Microsoft Corporation Systems and methods for smart media content thumbnail extraction
US7860923B2 (en) * 2004-08-18 2010-12-28 Time Warner Inc. Method and device for the wireless exchange of media content between mobile devices based on user information
US7860922B2 (en) * 2004-08-18 2010-12-28 Time Warner, Inc. Method and device for the wireless exchange of media content between mobile devices based on content preferences
KR100565080B1 (ko) 2004-09-13 2006-03-30 삼성전자주식회사 대표 타이틀 정보가 부가된 메타 데이터를 포함한 av데이터를 기록한 정보저장매체, 그 재생장치 및 메타데이터 검색방법
US7752548B2 (en) 2004-10-29 2010-07-06 Microsoft Corporation Features such as titles, transitions, and/or effects which vary according to positions
EP1669855A1 (en) * 2004-12-02 2006-06-14 Deutsche Thomson-Brandt Gmbh Method for generating multi-language menus
JP2006174309A (ja) * 2004-12-17 2006-06-29 Ricoh Co Ltd 動画再生装置、プログラム、及び記録媒体
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7548936B2 (en) 2005-01-12 2009-06-16 Microsoft Corporation Systems and methods to present web image search results for effective image browsing
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
JP4419879B2 (ja) * 2005-03-17 2010-02-24 ソニー株式会社 情報処理システム
KR101070748B1 (ko) * 2005-05-19 2011-10-10 엘지전자 주식회사 휴대형 재생장치의 파일정보 제공방법
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US20070067309A1 (en) 2005-08-05 2007-03-22 Realnetworks, Inc. System and method for updating profiles
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8855714B2 (en) 2005-09-14 2014-10-07 Sandisk Il Ltd. Removable media player for mobile phones
US20070112811A1 (en) * 2005-10-20 2007-05-17 Microsoft Corporation Architecture for scalable video coding applications
US7773813B2 (en) * 2005-10-31 2010-08-10 Microsoft Corporation Capture-intention detection for video content analysis
US8180826B2 (en) 2005-10-31 2012-05-15 Microsoft Corporation Media sharing and authoring on the web
US8196032B2 (en) * 2005-11-01 2012-06-05 Microsoft Corporation Template-based multimedia authoring and sharing
US7836105B2 (en) * 2005-11-14 2010-11-16 Apple Inc. Converting file-systems that organize and store data for computing systems
JP4606998B2 (ja) * 2005-11-24 2011-01-05 日本電信電話株式会社 ネットワークキャッシュ装置およびプログラム
US7599918B2 (en) * 2005-12-29 2009-10-06 Microsoft Corporation Dynamic search with implicit user intention mining
US7707512B2 (en) * 2005-12-29 2010-04-27 Sap Ag Context switching and method
US20070248311A1 (en) * 2006-03-31 2007-10-25 Nathaniel Wice System and method for transferring data between electronic data storage devices
US7937417B2 (en) * 2006-04-11 2011-05-03 Nokia Corporation Mobile communication terminal and method
US8316081B2 (en) 2006-04-13 2012-11-20 Domingo Enterprises, Llc Portable media player enabled to obtain previews of a user's media collection
US20070245378A1 (en) * 2006-04-13 2007-10-18 Concert Technology Corporation User system providing previews to an associated portable media player
US7603434B2 (en) * 2006-04-13 2009-10-13 Domingo Enterprises, Llc Central system providing previews of a user's media collection to a portable media player
DE102006023226B4 (de) * 2006-05-18 2009-01-22 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren zum menügesteuerten Auswählen von Menüpunkten, denen Dateien zugeordnet sind, die Audio- und/oder Videodaten enthalten
US8006019B2 (en) 2006-05-22 2011-08-23 Apple, Inc. Method and system for transferring stored data between a media player and an accessory
US7945142B2 (en) * 2006-06-15 2011-05-17 Microsoft Corporation Audio/visual editing tool
US7415563B1 (en) 2006-06-27 2008-08-19 Apple Inc. Method and system for allowing a media player to determine if it supports the capabilities of an accessory
US8566503B2 (en) * 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7558894B1 (en) 2006-09-11 2009-07-07 Apple Inc. Method and system for controlling power provided to an accessory
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US20080077679A1 (en) * 2006-09-27 2008-03-27 Bawany M Ali Program generation based on user playback information
US20080086491A1 (en) * 2006-10-04 2008-04-10 Mediatek Inc. Multimedia management and playback apparatus
TW200819974A (en) * 2006-10-31 2008-05-01 Via Tech Inc Music playback systems and methods
JP4423568B2 (ja) * 2006-12-08 2010-03-03 ソニー株式会社 表示制御処理装置および方法並びにプログラム
US8340795B2 (en) 2007-03-26 2012-12-25 Google Inc. Small removable audio player that attaches to a host media player
US9083938B2 (en) * 2007-02-26 2015-07-14 Sony Computer Entertainment America Llc Media player with networked playback control and advertisement insertion
EP2137624A4 (en) * 2007-03-16 2012-10-31 Bby Solutions Inc IMPROVED BOATING IN A MEDIA PLAYER WITH EXTERNAL STORE
US8738588B2 (en) * 2007-03-26 2014-05-27 International Business Machines Corporation Sequential media reclamation and replication
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US20080250431A1 (en) * 2007-04-04 2008-10-09 Research In Motion Limited System and method for displaying media files in a media application for a portable media device
US20080256341A1 (en) * 2007-04-11 2008-10-16 Microsoft Corporation Data Processing Pipeline Selection
US20080256454A1 (en) * 2007-04-13 2008-10-16 Sap Ag Selection of list item using invariant focus location
EP2757788B1 (en) * 2007-06-19 2020-03-11 Electronics and Telecommunications Research Institute Metadata structure for storing and playing stereoscopic data, and method for storing stereoscopic content file using this metadata
JP2009037320A (ja) * 2007-07-31 2009-02-19 Toshiba Corp 情報処理装置、情報処理装置の制御方法
KR101398168B1 (ko) * 2007-10-10 2014-05-22 한국전자통신연구원 스테레오스코픽 데이터의 저장 및 재생을 위한 메타데이터구조 및 이를 이용하는 스테레오스코픽 콘텐츠 파일의 저장방법
US8250527B1 (en) * 2007-11-06 2012-08-21 Adobe Systems Incorporated System and method for maintaining a sticky association of optimization settings defined for an image referenced in software code of an application being authored
US20090132591A1 (en) * 2007-11-20 2009-05-21 Toms Mona L Method and system for displaying and accessing music data files
US9047235B1 (en) * 2007-12-28 2015-06-02 Nokia Corporation Content management for packet-communicating devices
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8219534B2 (en) * 2008-02-27 2012-07-10 Dell Products L.P. Multiple file compaction for network attached storage
US8224831B2 (en) * 2008-02-27 2012-07-17 Dell Products L.P. Virtualization of metadata for file optimization
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US9152738B2 (en) * 2008-06-13 2015-10-06 Neil Young Sortable and updateable compilation and archiving platform and uses thereof
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8238811B2 (en) 2008-09-08 2012-08-07 Apple Inc. Cross-transport authentication
US8208853B2 (en) 2008-09-08 2012-06-26 Apple Inc. Accessory device authentication
US8898568B2 (en) 2008-09-09 2014-11-25 Apple Inc. Audio user interface
JP5136345B2 (ja) * 2008-10-08 2013-02-06 富士通モバイルコミュニケーションズ株式会社 電子機器
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US8572025B2 (en) * 2008-12-23 2013-10-29 Tau Cygnus, Llc Data management system for portable media devices and other display devices
US8156089B2 (en) * 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US20100169303A1 (en) 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8363831B2 (en) * 2009-09-23 2013-01-29 Intel Corporation Method and apparatus for allowing software access to navigational data in a decrypted media stream while protecting stream payloads
DE102009045382A1 (de) * 2009-10-06 2011-04-07 Robert Bosch Gmbh Verfahren zur Analyse von Dateinamen
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
DE112011100329T5 (de) 2010-01-25 2012-10-31 Andrew Peter Nelson Jerram Vorrichtungen, Verfahren und Systeme für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8560642B2 (en) 2010-04-01 2013-10-15 Apple Inc. Real-time or near real-time streaming
TWI451279B (zh) 2010-04-07 2014-09-01 Apple Inc 即時或接近即時串流傳輸之內容存取控制
JP5810315B2 (ja) * 2010-04-13 2015-11-11 パナソニックIpマネジメント株式会社 コンテンツ記録装置、コンテンツ記録方法、コンテンツ記録プログラム、記録媒体、集積回路及びコンテンツ記録再生システム
US8645574B2 (en) * 2010-08-02 2014-02-04 Blackberry Limited Method and system for management of synchronization of a mobile electronic device
JP2012085115A (ja) 2010-10-12 2012-04-26 Panasonic Corp 通信端末およびクラスター監視方法
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US20130167028A1 (en) * 2011-06-01 2013-06-27 Adobe Systems Incorporated Restricting media content rendering
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9977188B2 (en) 2011-08-30 2018-05-22 Skorpios Technologies, Inc. Integrated photonics mode expander
JP5949098B2 (ja) * 2011-09-29 2016-07-06 ブラザー工業株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US8922584B2 (en) * 2011-09-30 2014-12-30 Frederic Sigal Method of creating, displaying, and interfacing an infinite navigable media wall
EP2581704A1 (en) * 2011-10-14 2013-04-17 Harman Becker Automotive Systems GmbH Method for compressing navigation map data
US9110595B2 (en) 2012-02-28 2015-08-18 AVG Netherlands B.V. Systems and methods for enhancing performance of software applications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US20140156363A1 (en) * 2012-12-05 2014-06-05 Cbs Interactive Inc. Modifying functionality and advertisement content on media players
CN113744733B (zh) 2013-02-07 2022-10-25 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
AU2014278592B2 (en) 2013-06-09 2017-09-07 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
JP2016521948A (ja) 2013-06-13 2016-07-25 アップル インコーポレイテッド 音声コマンドによって開始される緊急電話のためのシステム及び方法
CN103369477B (zh) 2013-07-02 2016-12-07 华为技术有限公司 显示媒体信息方法、装置、客户端,图形控件显示方法和装置
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9664855B2 (en) 2014-03-07 2017-05-30 Skorpios Technologies, Inc. Wide shoulder, high order mode filter for thick-silicon waveguides
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9658401B2 (en) 2014-05-27 2017-05-23 Skorpios Technologies, Inc. Waveguide mode expander having an amorphous-silicon shoulder
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
CN107667306B (zh) 2015-04-20 2021-12-21 斯考皮欧技术有限公司 用于光子器件的垂直输出耦合器
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10649148B2 (en) 2017-10-25 2020-05-12 Skorpios Technologies, Inc. Multistage spot size converter in silicon photonics
IT201800002537A1 (it) * 2018-02-09 2019-08-09 St Microelectronics Srl Procedimento per la compressione di dati, sistema, apparecchiatura, veicolo e prodotto informatico corrispondenti
US11360263B2 (en) 2019-01-31 2022-06-14 Skorpios Technologies. Inc. Self-aligned spot size converter
US11307800B2 (en) * 2019-11-08 2022-04-19 Dell Products L.P. Supporting file exclusions and commits in disk-based write filters
TWI713362B (zh) * 2019-12-17 2020-12-11 瑞昱半導體股份有限公司 多媒體內容播放裝置與多媒體內容播放方法

Family Cites Families (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3398A (en) * 1844-01-06 Aaron e
US151363A (en) * 1874-05-26 Improvement in saws
US33844A (en) * 1861-12-03 Improvement in removing acid from the surface of i ron
US172495A (en) * 1876-01-18 Improvement in insulating telegraph-wires
US1106A (en) * 1839-03-16 Firearm
US64476A (en) * 1867-05-07 John b l a c kx i i e
JP3264979B2 (ja) 1992-05-19 2002-03-11 オリンパス光学工業株式会社 画像情報記録再生装置
JP2654324B2 (ja) 1991-12-31 1997-09-17 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチメディア・データ処理システム及びマルチメディア・データ処理システムの動作方法
US5978811A (en) 1992-07-29 1999-11-02 Texas Instruments Incorporated Information repository system and method for modeling data
US6611607B1 (en) * 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
JPH07320457A (ja) 1994-05-25 1995-12-08 Toshiba Corp 情報記録再生装置
EP0702493A1 (en) 1994-09-19 1996-03-20 International Business Machines Corporation Interactive playout of videos
US5616876A (en) 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
US6363164B1 (en) * 1996-05-13 2002-03-26 Cummins-Allison Corp. Automated document processing system using full image scanning
US6181867B1 (en) 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5751672A (en) 1995-07-26 1998-05-12 Sony Corporation Compact disc changer utilizing disc database
JP3493825B2 (ja) 1995-08-02 2004-02-03 ソニー株式会社 情報再生装置
US6240555B1 (en) 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US5892535A (en) 1996-05-08 1999-04-06 Digital Video Systems, Inc. Flexible, configurable, hierarchical system for distributing programming
US5870553A (en) 1996-09-19 1999-02-09 International Business Machines Corporation System and method for on-demand video serving from magnetic tape using disk leader files
US20020120925A1 (en) 2000-03-28 2002-08-29 Logan James D. Audio and video program recording, editing and playback systems using metadata
US7496946B1 (en) 1997-04-14 2009-02-24 Thomson Licensing System for collating data from multiple sources to form a composite program guide for display
US6243725B1 (en) 1997-05-21 2001-06-05 Premier International, Ltd. List building system
US6282548B1 (en) 1997-06-21 2001-08-28 Alexa Internet Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata
CA2449643C (en) * 1997-06-25 2012-04-03 Samsung Electronics Co., Ltd. Method and apparatus for a home network auto-tree builder
US5996015A (en) 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
US6006234A (en) 1997-10-31 1999-12-21 Oracle Corporation Logical groupings within a database
US6201540B1 (en) 1998-01-07 2001-03-13 Microsoft Corporation Graphical interface components for in-dash automotive accessories
JP3389087B2 (ja) 1998-02-23 2003-03-24 株式会社東芝 光ディスクと記録方法と再生方法と再生装置
IL127790A (en) 1998-04-21 2003-02-12 Ibm System and method for selecting, accessing and viewing portions of an information stream(s) using a television companion device
US6199059B1 (en) 1998-04-22 2001-03-06 International Computex, Inc. System and method for classifying and retrieving information with virtual object hierarchy
US6240407B1 (en) 1998-04-29 2001-05-29 International Business Machines Corp. Method and apparatus for creating an index in a database system
US6212524B1 (en) 1998-05-06 2001-04-03 E.Piphany, Inc. Method and apparatus for creating and populating a datamart
US6031797A (en) * 1998-06-11 2000-02-29 Sony Corporation Media playback device capable of shuffled playback based on a user's preferences
US6356921B1 (en) 1998-06-20 2002-03-12 International Business Machines Corporation Framework for progressive hierarchial and adaptive delivery rich media presentations and associated meta data
US6256031B1 (en) 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
US6363377B1 (en) 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
JP3382159B2 (ja) * 1998-08-05 2003-03-04 株式会社東芝 情報記録媒体とその再生方法及び記録方法
US6449341B1 (en) 1998-08-25 2002-09-10 Mci Communications Corporation Apparatus and method for managing a software system via analysis of call center trouble tickets
US6956593B1 (en) * 1998-09-15 2005-10-18 Microsoft Corporation User interface for creating, viewing and temporally positioning annotations for media content
WO2000016541A1 (en) 1998-09-15 2000-03-23 Microsoft Corporation Annotation creation and notification via electronic mail
EP1120787A4 (en) 1998-09-18 2008-08-27 Toshiba Kk INFORMATION RECORDING METHOD, INFORMATION RECORDING DEVICE, AND INFORMATION CARRIER
US8332478B2 (en) 1998-10-01 2012-12-11 Digimarc Corporation Context sensitive connected content
US6487663B1 (en) 1998-10-19 2002-11-26 Realnetworks, Inc. System and method for regulating the transmission of media data
US6405215B1 (en) 1998-11-06 2002-06-11 International Business Machines Corp. Workflow agent for a multimedia database system
US6389426B1 (en) 1999-02-09 2002-05-14 Worldcom, Inc. Central trouble ticket database and system and method for managing same to facilitate ticketing, trending, and tracking processes
JP4221803B2 (ja) 1999-03-02 2009-02-12 ソニー株式会社 記憶再生装置及び記憶再生方法
US6356971B1 (en) 1999-03-04 2002-03-12 Sony Corporation System for managing multimedia discs, tracks and files on a standalone computer
US6557042B1 (en) 1999-03-19 2003-04-29 Microsoft Corporation Multimedia summary generation employing user feedback
US7178106B2 (en) * 1999-04-21 2007-02-13 Sonic Solutions, A California Corporation Presentation of media content from multiple media sources
ID27746A (id) 1999-05-28 2001-04-26 Matsushita Electric Ind Co Ltd Kartu semikonduktor, peralatan playback, peralatan perekaman, metoda playback, metoda perekaman, dan media perekaman dapat dibaca kombuter
US6574417B1 (en) 1999-08-20 2003-06-03 Thomson Licensing S.A. Digital video processing and interface system for video, audio and ancillary data
US6430575B1 (en) 1999-09-10 2002-08-06 Xerox Corporation Collaborative document management system with customizable filing structures that are mutually intelligible
AU2018201A (en) 1999-10-12 2001-04-23 Perception Digital Technology (Bvi) Limited Digital multimedia jukebox
US6526411B1 (en) 1999-11-15 2003-02-25 Sean Ward System and method for creating dynamic playlists
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US6519648B1 (en) 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
JP2003532973A (ja) * 2000-02-23 2003-11-05 ハヴィン カンパニー リミティッド デジタル・オーディオ・データファイル記録装置及びその方法{Apparatus・and・Method・for・Recording・Digital・Audio・Data・File}
US6721489B1 (en) 2000-03-08 2004-04-13 Phatnoise, Inc. Play list manager
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
JP2001291365A (ja) 2000-03-31 2001-10-19 Pioneer Electronic Corp 記録再生装置及び記録方法
US6760721B1 (en) 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
JP4264617B2 (ja) 2000-04-21 2009-05-20 ソニー株式会社 記録装置および方法、再生装置および方法、記録媒体、プログラム、並びに記録媒体
JP3810615B2 (ja) 2000-05-18 2006-08-16 三菱重工業株式会社 タービンの遠隔制御方法及びシステム
JP4505699B2 (ja) 2000-05-25 2010-07-21 ソニー株式会社 情報再生装置
US6882793B1 (en) 2000-06-16 2005-04-19 Yesvideo, Inc. Video processing system
US6657117B2 (en) 2000-07-14 2003-12-02 Microsoft Corporation System and methods for providing automatic classification of media entities according to tempo properties
JP4214665B2 (ja) 2000-07-25 2009-01-28 ソニー株式会社 再生装置
US20020026521A1 (en) * 2000-08-31 2002-02-28 Sharfman Joshua Dov Joseph System and method for managing and distributing associated assets in various formats
US6839059B1 (en) * 2000-08-31 2005-01-04 Interactive Video Technologies, Inc. System and method for manipulation and interaction of time-based mixed media formats
JP3683794B2 (ja) 2000-09-22 2005-08-17 株式会社ケンウッド オーディオプレーヤー
JP2002117649A (ja) 2000-10-05 2002-04-19 Sony Corp 光ディスク、情報記録装置および情報記録方法
US6898799B1 (en) * 2000-10-23 2005-05-24 Clearplay, Inc. Multimedia content navigation and playback
KR20020032803A (ko) 2000-10-27 2002-05-04 구자홍 스트리밍 서비스를 위한 파일 구조
US20020151363A1 (en) 2001-04-12 2002-10-17 Howard Letovsky Method and system for broadcast and control of a remotely located wagering device
US20020180803A1 (en) * 2001-03-29 2002-12-05 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
US20020082730A1 (en) * 2000-12-21 2002-06-27 Microsoft Corporation Universal media player
US6928433B2 (en) 2001-01-05 2005-08-09 Creative Technology Ltd Automatic hierarchical categorization of music by metadata
US6771568B2 (en) 2001-01-12 2004-08-03 Sima Products Corporation Digital audio recorder
JP4188568B2 (ja) 2001-02-06 2008-11-26 パイオニア株式会社 情報再生装置及び情報編集方法
JP4462799B2 (ja) 2001-02-28 2010-05-12 ソニー株式会社 情報記録装置および方法、情報再生装置および方法、情報記録媒体、プログラム格納媒体、並びにプログラム
CN102768842A (zh) * 2001-02-28 2012-11-07 索尼公司 信息记录、再现设备及方法、信息记录介质、程序存储介质、及程序
US20030023975A1 (en) 2001-03-02 2003-01-30 Microsoft Corporation Enhanced music services for television
US7089309B2 (en) * 2001-03-21 2006-08-08 Theplatform For Media, Inc. Method and system for managing and distributing digital media
US20040019396A1 (en) * 2001-03-30 2004-01-29 Mcmahon Maureen Methods for recording music to optical media
US20020161911A1 (en) 2001-04-19 2002-10-31 Thomas Pinckney Systems and methods for efficient memory allocation for streaming of multimedia files
KR100395541B1 (ko) 2001-05-18 2003-08-25 삼성전자주식회사 콤비네이션 시스템 및 그에 적용되는 자동 복사 방법
US7076478B2 (en) 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6990497B2 (en) 2001-06-26 2006-01-24 Microsoft Corporation Dynamic streaming media management
DE60202568T8 (de) 2001-08-08 2005-10-20 Matsushita Electric Industrial Co., Ltd., Kadoma Urheberrechtschutzsystem, Aufzeichungsvorrichtung, und Wiedergabevorrichtung
BR0212419A (pt) 2001-09-10 2004-08-03 Thomson Licensing Sa Método e aparelho para criar uma lista de execução indexada em um executor de dados de áudio digital
WO2003023781A1 (en) 2001-09-10 2003-03-20 Thomson Licensing S.A. Extension of m3u file format to support user interface and navigation tasks in a digital audio player
US7432940B2 (en) 2001-10-12 2008-10-07 Canon Kabushiki Kaisha Interactive animation of sprites in a video production
US7490039B1 (en) * 2001-12-13 2009-02-10 Cisco Technology, Inc. Text to speech system and method having interactive spelling capabilities
US7159174B2 (en) 2002-01-16 2007-01-02 Microsoft Corporation Data preparation for media browsing
US20030192044A1 (en) * 2002-04-04 2003-10-09 Huntsman Robert Ames Content filtering system and method
US7797446B2 (en) 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
EP1361577A1 (en) 2002-05-08 2003-11-12 Deutsche Thomson-Brandt Gmbh Appliance-guided edit-operations in advanced digital video recording systems
US6987221B2 (en) 2002-05-30 2006-01-17 Microsoft Corporation Auto playlist generation with multiple seed songs
JP2005535008A (ja) * 2002-05-31 2005-11-17 フジツウ アイティー ホールディングス,インコーポレイティド インテリジェント記憶装置管理方法およびシステム
US20030237091A1 (en) * 2002-06-19 2003-12-25 Kentaro Toyama Computer user interface for viewing video compositions generated from a video composition authoring system using video cliplets
JP3090934U (ja) 2002-06-24 2003-01-10 船井電機株式会社 Dvdプレイヤー
US7451229B2 (en) * 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
US20040001106A1 (en) 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
AU2003267975A1 (en) 2002-06-27 2004-01-19 Piranha Media Distribution, Inc. Method and apparatus for the free licensing of digital media content
EP1518239A4 (en) 2002-06-28 2010-03-10 Lg Electronics Inc RECORDING MEDIUM WITH A DATA STRUCTURE FOR MANAGING THE REPRODUCTION OF MULTIPLE PLAY VIDEO DATA RECORDED THEREFOR AND RECORDING AND PLAYING METHOD AND DEVICES
US7228054B2 (en) 2002-07-29 2007-06-05 Sigmatel, Inc. Automated playlist generation
US20040034653A1 (en) * 2002-08-14 2004-02-19 Maynor Fredrick L. System and method for capturing simultaneous audiovisual and electronic inputs to create a synchronized single recording for chronicling human interaction within a meeting event
US20040044724A1 (en) * 2002-08-27 2004-03-04 Bell Cynthia S. Apparatus and methods to exchange menu information among processor-based devices
US20040064476A1 (en) 2002-09-30 2004-04-01 John Rounds Computer program, method, and media player
US7668842B2 (en) 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
US7043477B2 (en) 2002-10-16 2006-05-09 Microsoft Corporation Navigating media content via groups within a playlist
US7054888B2 (en) * 2002-10-16 2006-05-30 Microsoft Corporation Optimizing media player memory during rendering
AU2003300935A1 (en) 2002-12-17 2004-07-29 Thomson Licensing S.A. Method for tagging and displaying songs in a digital audio player
US6728729B1 (en) 2003-04-25 2004-04-27 Apple Computer, Inc. Accessing media across networks
JP2005198165A (ja) 2004-01-09 2005-07-21 Canon Inc 画像再生装置、画像再生方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
US20050249080A1 (en) 2004-05-07 2005-11-10 Fuji Xerox Co., Ltd. Method and system for harvesting a media stream

Also Published As

Publication number Publication date
US20060218195A1 (en) 2006-09-28
EP1411520A2 (en) 2004-04-21
JP2004164824A (ja) 2004-06-10
US20040078357A1 (en) 2004-04-22
EP1411520A3 (en) 2005-11-02
US7647297B2 (en) 2010-01-12
US8935242B2 (en) 2015-01-13
US8738615B2 (en) 2014-05-27
US7054888B2 (en) 2006-05-30
US20100114846A1 (en) 2010-05-06
US20110173163A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
JP4139303B2 (ja) レンダリング中のメディアプレイヤのメモリの最適化
JP4078276B2 (ja) 再生リスト内のグループを介した媒体コンテンツのナビゲート
US7680814B2 (en) Navigating media content by groups
EP1411512B1 (en) Adaptive menu system for media players
EP1900207B1 (en) Creating standardized playlists and maintaining coherency
US20050015713A1 (en) Aggregating metadata for media content from multiple devices
WO2007001615A2 (en) Retrieving graphics from slow retrieval storage devices

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060921

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060921

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060921

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060921

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20061106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070605

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080606

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees