説明

プレイリストをアップデートする方法および媒体

【課題】メディアシステムのユーザのためにメディアコンテンツを記憶および再生するメディアシステムのためのプレイリストの自動(つまりダイナミック)アップデート(または管理)を行う改良された技術を提供する。
【解決手段】 プレイリストへの自動アップデートは、追加メディアコンテンツがメディアシステムに追加され、またはそこから削除されるときに起こりえる。プレイリストへの自動アップデートは、以前に記憶されたメディアコンテンツがそうでなければ変更されるときにも起こりえる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はメディアシステムに関し、より具体的にはプレイリストをサポートするメディアシステムに関する。
【背景技術】
【0002】
メディアシステムは、ユーザがプレイされるべきオーディオトラック(すなわち曲)のプレイリストを作ることを可能にしてきた。典型的にはメディアシステムは、オーディオトラックの大きなライブラリを記憶する。よってユーザが自分自身のプレイリストを作れる能力は、ユーザが自分の好むライブラリからのオーディオトラックのプレイリストを再生するのを助ける。
【0003】
従来は、プレイリストはドラッグアンドドロップ操作によって、またはルールによってのいずれかで作られてきた。ドラッグアンドドロップによるプレイリスト作成の代表的な例は、カリフォルニア州クパチーノのアップルコンピュータ社からのiTunes、version1.0のプレイリストの作成である。ルールに基づくプレイリストの作成の代表的な例は、カリフォルニア州サリナスのCasady&Greene,Inc.によって発行されるSoundJam MP Plusのプレイリストコンポーザである。
【0004】
ドラッグアンドドロップ操作の場合、ユーザは、1つ以上のあるオーディオトラックをライブラリ中のオーディオトラックのリストから選択する。それから選択された1つ以上のトラックはプレイリスト中にドラッグされる。このドラッグアンドドロップ操作は、全ての所望のオーディオトラックがプレイリスト中にドラッグされてしまうまで反復されえる。あとで、ライブラリ中のオーディオトラックが変更された後のようなとき、ユーザは、新しいオーディオトラックをプレイリスト中にドラッグするか、またはトラックをプレイリストから消去できる。よってドラッグアンドドロップ操作は、ユーザ対話を必要とし、選択すべきオーディオトラックの大きなライブラリを有するメディアシステムについては特にめんどうである。
【0005】
ルールによって定義されるプレイリストの場合、プレイリストは、ルールを満足するライブラリ中のオーディオトラックを選択するコンピューティングデバイスによって作られる。ユーザは、プレイリストのためのルールを特定する。このルールは、オーディオトラックがプレイリストに含まれるべきであるかどうかを決定するのに用いられる基準である。例えば、あるルールは、アーチストが「ピンクフロイド」である全てのオーディオトラックをプレイリスト中に含みえる。ルールがコンピューティングデバイスによって処理されるとき、そのルールを満足するオーディオトラックは、そのプレイリスト中に置かれる。プレイリストの作成はユーザが適切なルールを特定したあとに自動化されるが、作成されるプレイリストは固定される。残念ながらライブラリ中のオーディオトラックはしばしば変化する(例えば新しいオーディオトラックが追加される)ので、作成されたプレイリストはすぐに信頼できなくなる。例えば、プレイリストは、プレイリストのためのルールを満足する、ライブラリにあとで追加されたオーディオトラックの一部を含まないことがよく起こりえる。ユーザは、プレイリストについてドラッグアンドドロップ操作を手動で実行するか、またはやはり手動で具体的なルールを特定し、プレイリストのためのルールを満足するライブラリ中の全てのオーディオトラックをプレイリストが含むようにするために新しいプレイリストを作成する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
よってメディアシステム内のプレイリストを維持するための改良された技術に対する要求がある。
【課題を解決するための手段】
【0007】
大きく言って、本発明は、メディアシステムのユーザのためにメディアコンテンツを記憶および再生するメディアシステムのためのプレイリストの自動(つまりダイナミック)アップデート(または管理)に関する。プレイリストへの自動アップデートは、追加メディアコンテンツがメディアシステムに追加され、またはそこから削除されるときに起こりえる。プレイリストへの自動アップデートは、以前に記憶されたメディアコンテンツがそうでなければ変更されるときにも起こりえる。
【0008】
本発明は、方法、システム、デバイス、装置、およびコンピュータで読み取り可能な媒体を含むさまざまな方法で実現されえる。本発明のいくつかの実施形態は、以下に説明される。
【0009】
メディア再生システム上でプレイリストをアップデートする、コンピュータによって実現される方法として、本発明のある実施形態は、前記メディア再生システムに利用可能であるメディアコンテンツが変更されたことを決定すること、および前記決定することが、前記メディア再生システムに利用可能である前記メディアコンテンツが変更されたと決定するとき、前記プレイリストを再生成することを含む。
【0010】
メディアプレーヤー上でプレイリストをアップデートする、コンピュータによって実現される方法として、本発明のある実施形態は、少なくとも以下の行為を含む。すなわち1つの前記プレイリストを作成するのに用いられるべきプレイリストルールを受け取ること、複数の利用可能なメディアアイテムおよび前記プレイリストルールからプレイリストを作成すること、前記利用可能なメディアアイテムについての変更のために、前記プレイリストが再生成されるべきかを決定すること、および前記決定することが、前記プレイリストが再構築されるべきであると決定するとき、前記複数の利用可能なメディアアイテムおよび前記プレイリストルールから前記プレイリストを再構築することである。
【0011】
メディアアイテムのコレクションをアップデートするコンピューティングデバイスとして、本発明のある実施形態は、少なくとも前記コレクションを作成するのに用いられるべきプレイリストルールを受け取る手段、複数の利用可能なメディアアイテムおよび前記プレイリストルールからコレクションを作成する手段、前記利用可能なメディアアイテムについての変更のために、前記コレクションが再生成されるべきかを決定する手段、および前記決定する手段が、前記コレクションが再構築されるべきであると決定するとき、前記複数の利用可能なメディアアイテムおよび前記プレイリストルールから前記コレクションを再構築する手段を含む。
【0012】
メディアシステムによって維持されるメディアアイテムのリストを自動的にアップデートするコンピュータプログラムコードを少なくとも含むコンピュータで読み取り可能な媒体として、本発明のある実施形態は、少なくとも前記メディアシステムに利用可能である少なくとも1つのメディアアイテムが変更されたことを決定するコンピュータプログラムコード、および前記決定するコンピュータプログラムコードが、前記メディアシステムに利用可能である前記メディアアイテムが変更されたと決定するとき、前記メディアアイテムのリストを再生成するコンピュータプログラムコードを含む。
【図面の簡単な説明】
【0013】
【図1A】本発明のある実施形態によるメディア管理システムのブロック図である。
【図1B】本発明のある実施形態によるメディア同期システムのブロック図である。
【図2】本発明のある実施形態によるプログラムアーキテクチャのブロック図である。
【図3A】本発明のある実施形態によるアップデートプレイリスト処理のフロー図である。
【図3B】本発明のある実施形態によるメディアデータベース構成の図である。
【図4】本発明のある実施形態によるプロセス間メッセージングのフロー図である。
【図5A】本発明のある実施形態によるメッセージアップデート処理のフロー図である。
【図5B】本発明のある実施形態によるメッセージアップデート処理のフロー図である。
【図5C】本発明のある実施形態によるメッセージアップデート処理のフロー図である。
【図5D】本発明のある実施形態によるメッセージアップデート処理のフロー図である。
【図6】本発明のある実施形態によるアイドルアップデート処理のフロー図である。
【図7A】本発明のある実施形態による再生成プレイリスト処理のフロー図である。
【図7B】本発明のある実施形態による再生成プレイリスト処理のフロー図である。
【図7C】本発明のある実施形態による再生成プレイリスト処理のフロー図である。
【図8】本発明の他の実施形態によるメディア管理システムのブロック図である。
【図9】本発明のある実施形態によるメディアプレーヤーのブロック図である。
【図10A】ユーザがプレイリストを作成する例示的グラフィカルユーザインタフェースのスクリーンショットである。
【図10B】ユーザがプレイリストを作成する例示的グラフィカルユーザインタフェースのスクリーンショットである。
【図10C】ユーザがプレイリストを作成する例示的グラフィカルユーザインタフェースのスクリーンショットである。
【図11A】図10Bに示されるグラフィカルユーザインタフェースを用いて形成される例示的プレイリストのメディアアイテムのスクリーンショットである。
【図11B】図10Bに示されるグラフィカルユーザインタフェースを用いて形成される例示的プレイリストのメディアアイテムのスクリーンショットである。
【発明を実施するための形態】
【0014】
本発明の他の局面および優位性は、本発明の原理を例示的に示す添付図面と併せて、以下の詳細な説明から明らかになろう。
本発明は、添付図面と共に以下の詳細な説明によって容易に理解されえ、図面において同様の参照番号は同様の構成要素を表す。
【0015】
本発明は、メディアシステムのユーザのためにメディアコンテンツを保存および再生するメディアシステムのためのプレイリストの自動(またはダイナミック)アップデート(または管理)に関する。プレイリストの自動アップデートは、追加メディアコンテンツがメディアシステムに追加されるか、またはメディアシステムから削除されるときに起こりえる。プレイリストの自動アップデートは、そうでなければ以前に保存されたメディアコンテンツが変更されるときにも起こりえる。
【0016】
本発明の実施形態は、以下に図1A〜11Bを参照して説明される。しかし当業者には、これらの図についてここに与えられた詳細な記載は例示目的であり、本発明はこれら限られた実施形態にとらわれないことが容易にわかるだろう。
【0017】
図1Aは、本発明の実施形態によるメディア管理システム100のブロック図である。メディア管理システム100は、メディアプレーヤー102およびパーソナルコンピュータ(ホストコンピュータ)104を含む。メディアプレーヤー102は例えば、携帯の電池駆動デバイスである。ある実施形態において、メディアプレーヤー102はMP3プレーヤーである。パーソナルコンピュータ104はメディアマネージャ106を含む。メディアマネージャ106は、パーソナルコンピュータ104のユーザが、パーソナルコンピュータ104上に保存されたメディアコンテンツを直接的に管理できるようにする。またメディアマネージャ106は、メディアプレーヤー102上に保存されたメディアコンテンツを間接的に管理できるようにする。周辺ケーブル108は、メディアプレーヤー102をパーソナルコンピュータ104に結合する。典型的には周辺ケーブル108は、メディアプレーヤー102およびパーソナルコンピュータ104上に設けられたデータポートを結合する。ある例では、データポートはFIREWIRE(FireWire(商標))ポートでありえ、周辺ケーブル108はFIREWIREケーブルでありえる。さらに一般には周辺ケーブル108はデータリンクとして機能する。メディアアイテムは、メディアプレーヤー102からパーソナルコンピュータ104へ周辺ケーブル108上を転送されえ、その逆方向にも転送されえる。
【0018】
メディアマネージャ106は、パーソナルコンピュータ104上でメディアコンテンツ(例えば多くのメディアアイテム)についてブラウズ、追加、消去、整理および他の操作をするのを補助する。より具体的にはメディアマネージャ106は、ユーザがメディアアイテムを1つ以上のプレイリストに整理するのを補助する。プレイリストは、「再生される」べきメディアアイテムのリストである。関連するメディアのタイプに依存して、メディアアイテムが「再生される」やり方は変わりえる。本発明によれば、プレイリストは、その初期の作成のあとに自動的にアップデートされえる。自動的にアップデートされるそれらのプレイリストは、ダイナミックプレイリストと呼ばれえる。換言すれば、ダイナミックプレイリストは、その基本となるデータソースが変更されるときに適切に自動的にアップデートされるべきプレイリストである。非ダイナミックプレイリストは、その基礎となるデータソースへの変更にかかわらず、作成時に固定されるプレイリスト(すなわちアップデートされない)プレイリストである。いずれの場合も、プレイリストを変更するために手動のユーザアクションが典型的には用いられえる。
【0019】
ある実施形態によればユーザは、ドラッグアンドドロップ操作によって手動で、またはユーザによって提供されたルールから自動的に、プレイリストを形成しえる。このような実施形態において、ルールに基づくプレイリストは、自動的にアップデートされえ(すなわちダイナミックプレイリスト)、一方、ルールに基づかない他のプレイリストは、自動的にはアップデートされえない(すなわち非ダイナミックプレイリスト)。
【0020】
加えてメディアマネージャ106は、ユーザがメディアプレーヤー102についてのメディアコンテンツまたはプレイリストを追加および削除するのも補助しえる。換言すれば、メディアマネージャ106はパーソナルコンピュータ104上に常駐するが、メディアマネージャ106について取られる少なくともある管理アクションは、メディアプレーヤー102におけるメディアコンテンツまたはプレイリストも同様に管理されるようにする。例えば、メディアマネージャ106は、パーソナルコンピュータ104およびメディアプレーヤー102間でメディアコンテンツおよびプレイリストを同期させることができる。
【0021】
メディアマネージャ106はパーソナルコンピュータ104上に常駐するメディアコンテンツを管理できるので、メディア管理システム100はメディアプレーヤー102を含む必要はない。したがってメディアプレーヤー102およびその周辺ケーブル108は、メディア管理システム100のオプションの要素と考えられえる。
【0022】
にもかかわらず、ある実施形態においてメディアプレーヤーは、オーディオ、ビデオまたは画像のようなメディアを処理する専用の携帯コンピューティングデバイスである。例えばメディアプレーヤー102は、ミュージックプレーヤー(例えばMP3プレーヤー)、ゲームプレーヤー、ビデオプレーヤー、ビデオレコーダー、カメラ、画像ビューワーなどでありえる。これらのデバイスは一般に、ユーザが移動するどこででも音楽を聴いたり、ゲームをしたり、ビデオを見たり、ビデオを録画したり、または写真を撮ることができるように電池駆動であり、携帯性が非常に高い。ある実施形態において、メディアプレーヤーは、ポケットまたはユーザの手に収まるサイズであるハンドヘルドデバイスである。ハンドヘルドであることによって、メディアプレーヤーは比較的小さく、ユーザに容易に扱え、使用される。ポケットサイズであることによって、ユーザは直接にデバイスを運ぶ必要がなく、したがってデバイスはユーザが移動する所ならほとんどどこへでも持って行くことができる(例えばユーザは、携帯型のコンピュータのように大きくかさばり、しばしば重いデバイスを持ち運ぶことに限定されない)。さらにデバイスは、ユーザの手によって操作されえ、机上のような他のレファレンス表面を必要としない。
【0023】
図1Bは、本発明のある実施形態によるメディア同期システム150のブロック図である。メディア同期システム150は例えば、図1Aに示されるメディア管理システム100のより一般的なものを表現する。メディア同期システム150は、メディアプレーヤー152およびパーソナルコンピュータ154を含む。パーソナルコンピュータ154はメディアマネージャ156を含む。パーソナルコンピュータ154はさらにメディアデータベース158を含む。メディアプレーヤー152はメディアデータベース160を含む。典型的にはメディアプレーヤー152は、メディアコンテンツを保存するデータ記憶デバイス(例えばディスクドライブ)、使用中のメディアコンテンツを保存するキャッシュメモリ、ユーザに情報を表示するスクリーンディスプレイ、およびメディアプレーヤー152の動作を制御するプロセッサ(例えばマイクロプロセッサ)も含む。
【0024】
周辺ケーブル162は、メディアプレーヤー152およびパーソナルコンピュータ154間のデータパス(またはデータリンク)を提供する。周辺ケーブル162は、メディアプレーヤー152をパーソナルコンピュータ154に結合する周辺バスを提供する。周辺バスは例えば、FIREWIREバスまたはユニバーサルシリアルバス(USB)でありえる。パーソナルコンピュータ154上に保存されたメディアコンテンツと、メディアプレーヤー152上に保存されたメディアコンテンツとの間の同期操作は、それぞれのメディアデータベース158および160に記憶されたメディア情報の比較を通して高度に達成されえる。それぞれのデータベース158および160からのメディア情報の比較によって、パーソナルコンピュータ154上にある特定のメディアアイテムがメディアプレーヤー152上にないことが示されるとき、その特定のメディアアイテムは周辺ケーブル162上でメディアプレーヤーへ転送(ダウンロード)されえる。逆に、それぞれのデータベース158および160からのメディア情報の比較によって、メディアプレーヤー152上にある特定のメディアアイテムがパーソナルコンピュータ154上にないことが示されるとき、その特定のメディアアイテムはメディアプレーヤー152から削除(消去)されるか、または周辺ケーブル162上でパーソナルコンピュータ154へ転送(アップロード)されえる。したがってメディアプレーヤー152にメディアデータベース160を提供することによって、メディアコンテンツのより高度な同期および管理が可能になる。
【0025】
メディアデータベース160はまた、従来のアプローチよりもさらに高度なユーザインタフェースをメディアプレーヤー152がユーザに対して提供することを可能にする。そのようなユーザインタフェースは、メディアプレーヤー152のスクリーンディスプレイ上に提示されえる。ユーザインタフェースは例えば、メディアプレーヤー152のユーザがメディアプレーヤー152上にあるメディアコンテンツをブラウズ、ソート、検索、再生などをすることを可能にする。ユーザインタフェースはまたメディアプレーヤー152のユーザがダウンロード(追加)したり、メディアプレーヤー152からメディアアイテムを消去(削除)したりすることを可能にする。メディアマネージャ156はまた、ユーザがパーソナルコンピュータ154上にあるメディアコンテンツをブラウズ、ソート、検索、再生、プレイリスト作成、コンパクトディスク(CD)を焼くなどできるようにするユーザインタフェースを持つ。ユーザインタフェースはまた、パーソナルコンピュータ154のユーザがメディアアイテムをパーソナルコンピュータ154からメディアアイテムをダウンロード(追加)したり、消去(削除)したりできるようにする。ある実施形態において、メディアマネージャ156およびその関連するユーザインタフェースは、カリフォルニア州、クパチーノのアップルコンピュータ社からのiTunes、バージョン2.0によって提供される。
【0026】
図2は、本発明のある実施形態によるプログラムアーキテクチャ200のブロック図である。プログラムアーキテクチャ200は、本発明のある実施形態によってプレイリスト(すなわちダイナミックプレイリスト)をアップデートするのに用いられる。プログラムアーキテクチャ200は、メディアアプリケーション202を中心とする。メディアアプリケーション202は、ユーザがメディアアイテムを保存および再生することを可能にし、それと同時に1つ以上の特定のメディアアイテムからなるプレイリストを作成および利用することを可能にする。メディアアプリケーション202は、オペレーティングシステム204と結合する。さらにオペレーティングシステム204は、メディアアプリケーション202によって利用されるメディアアイテムを保存するメディアデータベース206と結合する。メディアデータベース206は、メディアアプリケーション202によって作成されたプレイリストも保存する。メディアアプリケーション202は、メディアデータベース206内に保存される1つ以上のプレイリストをアップデートするよう動作もする。プログラムアーキテクチャ200は、周辺デバイス210をオペレーティングシステム204に結合するバスコントローラ208も含む。ここで周辺デバイス210は、メディアアプリケーション202のための他のデータソースを提供するのに利用されえる。
【0027】
図3Aは、本発明のある実施形態によるアップデートプレイリスト処理300のフロー図である。アップデートプレイリスト処理300は、プレイリストサポートを行うメディア再生システム上で実行されえる。例えば、メディア再生システムは、パーソナルコンピュータのようなコンピューティングデバイスでありえる。
【0028】
アップデートプレイリスト処理300は、データソースがアップデートされたかを決める判断302から始まる。ここでデータソースは、メディアコンテンツのソース、具体的にはメディアアイテムに関する。データソースの例は、コンパクトディスク(CD)、携帯メディアプレーヤー、インターネット経由のリモートサーバ、またはローカルディスクドライブである。判断302が、データソースがアップデートされていないと決定するとき、メディア再生システムに関連付けられたメディアコンテンツまたはメディアアイテムには変更、追加、または消去がなされなかったので、アップデートプレイリスト処理300は判断302を反復するために元に戻る。
【0029】
一方、いったん判断302が、データソースがアップデートされたと決定すると、判断304は、ダイナミックプレイリストがそのデータソースに関連付けられているかを決定する。ダイナミックプレイリストは、その基礎となるデータソースが変更されるときに適切にアップデートされるべきプレイリストである。判断304が、データソースに関連付けられたダイナミックプレイリストが存在しないと決定するとき、アップデートプレイリスト処理300は判断302および後続のブロックを反復するために元に戻る。換言すれば、そのデータソースに関連付けられたダイナミックプレイリストが存在しないときは、アップデートプレイリスト処理300の評価は実行される必要がない。
【0030】
逆に判断304が、そのデータソースに関連付けられたダイナミックプレイリストが存在すると決定するとき、判断306は、そのデータソースへのアップデートがダイナミックプレイリストに影響を与えるかを決定する。判断306が、データソースへのアップデートがダイナミックプレイリストに影響を与えないと決定するとき、アップデートプレイリスト処理300は、判断302および後続のブロックを反復するために元に戻る。ここでプレイリストはダイナミックでありデータソースに関連付けられているが、データソースへの変化がダイナミックプレイリストに影響を与えないので、アップデートプレイリスト処理300の評価は実行される必要がない。
【0031】
判断306が、データソースへのアップデートがダイナミックプレイリストに影響を与えると決定するとき、ダイナミックプレイリストは、プレイリスト条件に基づいて再生成される(308)。プレイリスト条件は、ダイナミックプレイリストに含まれるべきデータソースのメディアアイテムを決定するのに利用されるルールまたは基準を特定する。よってプレイリスト条件は、特定のダイナミックプレイリストに関連付けられる。ダイナミックプレイリストが再生成された(308)あとに、アップデートプレイリスト処理300は完了し、ダイナミックプレイリストが再生成された状態で終了する。
【0032】
もし実現されるなら、判断306は、パフォーマンス効率を改善するのに用いられる。具体的には、判断306は、ダイナミックプレイリストが仮に再生成されてもデータソースへのアップデートがダイナミックプレイリストへの変更を生じないときには、ダイナミックプレイリストの再生成308を防ぐことを可能にする。したがってもし望まれるなら他の実施形態においては、判断306は近似されたり、またはなくしてしまうことさえできる。加えて、再生成308が実行されるときに、もしダイナミックプレイリストがメディアプレーヤーと関連付けられたディスプレイスクリーン上に表示されているなら、ダイナミックプレイリストの再生成されたバージョンを反映させるよう、表示されるダイナミックプレイリストは再描画されえる。
【0033】
図3Bは、本発明のある実施形態によるメディアデータベース構成350の図である。メディアデータベース構成350は、例えば、図2に示されたメディアデータベース206と共に用いるのに適する。
【0034】
メディアデータベース構成350は、メディアシステム(例えばメディア再生システム)によって提供されたそれぞれのデータソースについてトラックデータ352を保存する。特定のデータソースについてのトラックデータは、ソースネーム、トラックおよびプレイリストのようなさまざまな記述的データを含みえる。トラックデータ352は、トラックデータ352について変更、追加または消去がなされたときに、メッセージレシーバ(message receiver)にメッセージを分配する役割を果たすメッセージセンダ(message sender)も含みえる。トラックデータ352のトラックは、トラック情報354を指す。トラック情報354は、特定のトラックについての記述的情報を提供するさまざまなフィールドを含む。例えば、特定のトラックについて、トラック情報354は、トラック識別子(ID)、アーチスト、アルバム、曲名、年、時間、レーティング(rating)などを含みえる。トラックデータ352中のプレイリストは、トラックデータ352に関連付けられるこれらプレイリストを指しえる。より具体的には、トラックデータ352中のプレイリストは、特定のプレイリストに関するプレイリスト情報356を指しえる。プレイリスト情報356は、それぞれのプレイリストについてのさまざまな記述的情報を含む。例として、プレイリスト情報356は、名前、アイテム、ダイナミックフラグ、条件、ソート順、表示されるカラム(visible columns)などを含みえる。ダイナミックフラグは、関連付けられたプレイリストがダイナミックであるかどうかを示す。
【0035】
さらに、プレイリスト情報356は、メッセージレシーバ(メッセージをメッセージセンダから受け取る)、フィールドマスク、およびアップデートフラグを含みえる。プレイリスト情報356中のアイテムは、プレイリスト中の特定のアイテムについてのプレイリストアイテム情報358を指す。プレイリストアイテム情報358は、トラック情報354中の特定のトラックへのトラックポインタを少なくとも含む。したがって、プレイリストアイテム情報358中のトラックポインタは、トラック情報354へのポインタを与えることによって、プレイリスト中の特定のアイテムと関連付けられるべきメディアコンテンツ(ファイル)が特定され取り出されえるようにする。プレイリストアイテム情報358は、プレイリスト中の特定のアイテムと関連付けられるべき特定の情報を与えるために1つ以上のプレイリストに固有のフィールドも含みえる。例として、図3に示されるプレイリストアイテム情報358は、ユーザがプレイリスト中の特定のアイテムにチェックを付ける、またはチェックをはずすことを可能にするために本発明のある実施形態において用いられるチェックトフラグ(checked flag)を含むことによって、プレイリストの メディアコンテンツが再生されるとき、それらが使われることを可能(enabled)にしたり、不可能(disabled)にしたりする。
【0036】
図4は、本発明のある実施形態によるプロセス間メッセージング400のフロー図である。プロセス間メッセージング400は例えば、図3Bに示されるトラックデータ352中で与えられるメッセージングセンダのようなメッセージセンダによって実行される。
【0037】
プロセス間メッセージング400は、トラックが変更されたかを決定する判断402で始まる。判断402が、トラックが変更されたと決定するとき、変更メッセージが送られる(404)。一方、判断402が、トラックが変更されていないと決定するとき、判断406は、トラックが追加されたかを決定する。判断406が、トラックが追加されたと決定するとき、新トラックメッセージが送られる(408)。あるいは、判断406が、トラックが追加されていないと決定するとき、判断410はトラックが消去されたかを決定する。判断410が、トラックが消去されたと決定するとき、トラック消去メッセージが送られる(412)。操作404、408、410(トラックが消去されないとき)、および412(トラックが消去されるとき)に続いて、判断414は、プロセス間メッセージング400が一連の変化について終わったかを決定する。例えば、一連の変化がなされる(例えば一連のトラックが変更、追加または消去される)とき、この変化は、より効率的な処理のためにセットとして処理されえる。したがって判断414は、一連の変化が完了したかを決定する。判断414が、プロセス間メッセージングが一連の変化について終了したと決定するとき、終了メッセージが送られる(416)。操作416に続いて、プロセス間メッセージング400は、判断402および後続のブロックを反復するために元に戻る。あるいは判断414は、プロセス間メッセージング400が一連の変化について終了していないと決定するとき、プロセス間メッセージング400は、判断402および後続のブロックを反復するために直接、元に戻る(それにより操作416をバイパスする)。
【0038】
図5A〜5Dは、本発明のある実施形態によるメッセージアップデート処理500のフロー図である。メッセージアップデート処理500は、図4について上述の変更メッセージ、新トラックメッセージ、およびトラック消去メッセージのような受け取られるメッセージを処理する。
【0039】
メッセージアップデート処理500は、変更メッセージが受け取られたかを決定する判断502で始まる。判断502が、変更メッセージが受け取られたと決定するとき、判断504は、処理されているプレイリストがダイナミックかを決定する。判断504が、プレイリストがダイナミックであると決定するとき、判断506は、アップデートフラグがセットされているかを決定する。判断506が、アップデートフラグがセットされていないと決定するとき、変更メッセージマスクがそのプレイリストについてのフィールドマスクと比較される(508)。フィールドマスクは例えば、そのプレイリスト中のプレイリスト情報中に提供されえる。変更メッセージマスクは、受け取られた変更メッセージと共に提供されえる。この比較は、変更されるトラックの任意の1つ以上のフィールドが、プレイリストによって利用されるフィールドであるかを示す。
【0040】
それから判断510が、変更メッセージマスクおよびフィールドマスクの間で一致するフィールドが存在するかを決定する。判断510が、一致するフィールドが存在すると決定するとき、アップデートフラグがセットされる(512)。アップデートフラグは、ダイナミックプレイリストが、変更メッセージに関連付けられた変更によって影響され、よってダイナミックプレイリストがアップデートされなければならないことを示すフラグである。逆に、判断510が、一致するフィールドが存在しないと決定するとき、ダイナミックプレイリストはアップデートされる必要はなく、よって操作512はバイパスされる。さらに判断504が、プレイリストがダイナミックではないと決定するとき、または判断506が、アップデートフラグがすでにセットされていると決定するとき、メッセージアップデート処理500は、判断502および後続の操作を反復するために元に戻る。操作512に続いて、メッセージアップデート処理500はまた、判断502および後続の操作を反復するために元に戻る。
【0041】
一方、判断502が、変更メッセージが受け取られていないと決定するとき、判断514は、トラック消去メッセージが受け取られたかを決定する。判断514が、トラック消去メッセージが受け取られたと決定するとき、判断516は、消去されたトラックが処理されているプレイリスト中にあるかを決定する。判断516が、消去されたトラックがそのプレイリスト中にあると決定するとき、その消去されたトラックへの参照(例えばポインタ)がプレイリストから削除され(518)、それによってプレイリストから消去されたトラックを関連付けるデータ構造を削除する。次に、判断520は、プレイリストがダイナミックであるかを決定する。判断520が、プレイリストがダイナミックであると決定するとき、アップデートフラグがセットされる(522)。逆に、判断520が、プレイリストがダイナミックではないと決定するとき、操作522はバイパスされる。一方、判断516が、消去されたトラックがプレイリスト中にないと決定するとき、操作518〜522はバイパスされる。したがって操作522に続いて、またはそれがバイパスされてから、メッセージアップデート処理500は、判断502および後続の操作を反復するために元に戻る。
【0042】
さらに判断514が、トラック消去メッセージが受け取られていないと決定するとき、判断524は、新トラックメッセージが受け取られたかを決定する。判断524が、新トラックメッセージが受け取られたと決定するとき、判断526は、処理されているプレイリストがダイナミックであるかを決定する。判断526が、プレイリストがダイナミックであると決定するとき、アップデートフラグがセットされる(528)。逆に判断526が、プレイリストがダイナミックではないと決定するとき、操作528がバイパスされる。操作528に続いて、またはそれがバイパスされてから、メッセージアップデート処理500は、判断502および後続の操作を反復するためにメッセージアップデート処理500の始めに戻る。
【0043】
最後に、判断524が、新トラックメッセージが受け取られなかったと決定するとき、判断530は、終了メッセージが受け取られたかを決定する。判断530が、終了メッセージが受け取られたと決定するとき、判断532は、処理されているプレイリストがダイナミックプレイリストであるかを決定する。判断532が、プレイリストがダイナミックではないと決定するとき、判断534は、プレイリストが表示されているかを決定する。判断534が、プレイリストが表示されていると決定するとき、プレイリストはスクリーン上で再描画される(536)。逆に、判断534が、プレイリストが表示されていないと決定するとき、操作536はバイパスされる。
【0044】
一方、判断532が、プレイリストがダイナミックであると決定するとき、判断538はアップデートフラグがセットされたかを決定する。判断538が、アップデートフラグがセットされていると決定するとき、アイドルアップデートフラグがセットされる(540)。ここでこのアイドルアップデートフラグは、アイドル処理中にダイナミックプレイリストがアップデートされなければならないことを示すフラグである。ダイナミックプレイリストへのアップデートをアイドル処理中に実行することによって、実行されているある程度、集中的な計算/処理は、コンピューティングデバイス(例えばメディアシステム)のユーザに体感されるパフォーマンスに影響を与えることなく、バックグラウンドモードで行われることが可能である。逆に、判断538が、アップデートフラグがセットされていないと決定するとき、またはプレイリストがダイナミックではないときに操作536または判断534に続いて、メッセージアップデート処理500は、判断502および後続の操作を反復するために元に戻る。
【0045】
図6は、本発明のある実施形態によるアイドルアップデート処理600のフロー図である。アイドルアップデート処理600は、コンピューティングデバイスがアイドル状態であるかを決定する判断602で始まる。判断602が、コンピューティングデバイスがアイドル状態ではないと決定するとき、アイドルアップデート処理600は、そのような状態を待つ。換言すれば、アイドルアップデート処理600は、コンピューティングデバイスがアイドル状態に達するときに起動される。
【0046】
いったんコンピューティングデバイスがアイドル状態に達すると、判断604は、アイドルアップデートフラグがセットされているかを決定する。判断604が、アイドルアップデートフラグがセットされていると決定するとき、プレイリスト条件が取り出される(606)。取り出される(606)プレイリスト条件は、処理される特定のプレイリストと関連付けられている。プレイリスト条件が取り出された(606)あと、プレイリストは再生成される(608)。次に判断610は、プレイリストが表示されているかを決定する。判断610が、プレイリストが表示されていると決定するとき、プレイリストはコンピューティングデバイスのスクリーン上で再描画される(612)。逆に判断610が、プレイリストが表示されていないと決定するとき、操作612はバイパスされる。操作612に続いて、またはそれがバイパスされたあとで、アイドルアップデートフラグがクリアされる(614)。操作614に続いて、またはアイドルアップデートフラグがセットされていないときの判断604に続いて、アップデートフラグがクリアされる(616)。アップデートフラグがクリアされた(616)あとで、アイドルアップデート処理600は完了する。
【0047】
図7A〜7Cは、本発明のある実施形態による再生成プレイリスト処理700のフロー図である。この再生成プレイリスト処理700は例えば、図6のプレイリストの再生成608、または図3Aに示されるプレイリストの再生成308によって実行される処理である。
【0048】
再生成プレイリスト処理700は、再生成されている既存のプレイリスト中の最初のアイテムを選択する(702)ことによって始まる。次に、既存のプレイリスト中の選択されたアイテムは、フィルタ基準と比較される(704)。このフィルタ基準は、既存のプレイリストについてのプレイリスト条件の一部である。次に、判断706は、選択されたアイテムがアップデートされたプレイリスト中に残るべきかを決定する。判断706が、選択されたアイテムがアップデートされたプレイリスト中に残るべきではないと決定するとき、選択されたアイテムはプレイリストから削除される(708)。一方、判断706が、選択されたアイテムがアップデートされたプレイリスト中に残るべきであると決定するとき、選択されたアイテムに対応するトラックは、考慮されたとしてマークが付けられる(710)。次に、判断712は、既存のプレイリスト中に処理されるべきアイテムがもっとあるかを決定する。判断712が、既存のプレイリスト中に考慮されるべきアイテムがもっとあると決定するとき、再生成プレイリスト処理700は操作702を反復することによって、既存のプレイリスト中の次のアイテムが選択されえるようにする。
【0049】
逆に、判断712が、既存のプレイリスト中に処理されるべきアイテムがもうないと決定するとき、プレイリストに関連付けられたデータソースについて追加の処理が実行される。より具体的には、データソース中の最初のトラックが選択される(714)。それから、判断716は、選択されたトラックにマークが付けられているかを決定する。判断716が、選択されたトラックにマークが付けられていないと決定するとき、選択されたトラックは、フィルタ基準と比較される(718)。それから判断720は、フィルタ基準が満たされるかを決定する。判断720が、フィルタ基準が満たされると決定するとき、選択されたトラックはアップデートされたプレイリストに追加される(722)。判断720が、フィルタ基準が満たされないと決定するとき、操作722はバイパスされることによって、選択されたトラックはアップデートされたプレイリストに追加されない。さらに判断716が、選択トラックにマークが付けられていると決定するとき、操作718〜722はバイパスされるが、これは特定のトラックがすでに処理され、よってすでにアップデートされたプレイリストに存在するか、またはそこから削除されているかのいずれかであるからである。
【0050】
次に、選択されたトラックについてのマークがクリアされる(724)。ここでこのマークは、以前にセットされていないかもしれないが、それにもかかわらずこのマークはクリアされえ(724)、またはこの操作はバイパスされえる。それから判断726は、データソース中に、処理されるべきトラックがもっと存在するかを決定する。判断726が、データソース中に処理されるべきトラックがもっと存在すると決定するとき、再生成プレイリスト処理700は、操作714および後続の操作を反復するために元に戻る。
【0051】
一方、判断726が、処理されるべきトラックがもう存在しないと決定するとき、アップデートされたプレイリストはソート基準に基づいてソートされ(728)、このソート基準はプレイリスト条件のうちの別の一部である。アップデートされたプレイリストがソートされた(728)あと、ソートされアップデートされたプレイリスト中の最初のアイテムが選択される(730)。それから、ソートされアップデートされたプレイリスト中のアイテム群についての総トラック、総時間、および総サイズのうちの1つ以上が、それらが処理されるときに累積される(732)。それから判断734は、制限基準が満たされたかを決定し、これもプレイリスト条件によって与えられる。ある実施形態において、制限基準はソート基準を含みえる。判断734が、制限基準が満たされなかったと決定するとき、判断736は、ソートされアップデートされたプレイリスト中に処理されるべきアイテムがもっと存在するかを決定する。判断736が、ソートされアップデートされたプレイリスト中に処理されるべきアイテムがもっと存在すると決定するとき、再生成プレイリスト処理700は、操作730および後続の操作を反復することによって、次のアイテムが選択され、その後に処理されるようにするため元に戻る。
【0052】
逆に、判断734が、制限基準が満たされたと決定するとき、全ての後続のアイテムはソートされアップデートされたプレイリストから削除される(738)。ここで、ソートされアップデートされたプレイリストのバランスは、プレイリストについての制限基準が満たされたのでそこから削除される。操作738に続いて、または処理されるべきアイテムがもうないときの判断736に続いて、再生成プレイリスト処理700は完了し終了する。
【0053】
上述のように、プレイリスト条件は、フィルタ基準、ソート基準、および制限基準を提供しえる。これら基準は、メディアアイテムについてのメディア情報またはトラック情報と関連付けられえる。ある実施形態において、フィルタ基準は、特定の英数字文字列を含む、または含まないために(すなわち文字列比較)トラック情報のフィールドを必要としえる。他の実施形態において、フィルタ基準は、特定の数値より小さい、特定の数値に等しい、または特定の数値より大きい数値を含むために(すなわち数値比較)トラック情報のフィールドを必要としえる。ある実施形態において、ソート基準は、ランダム、アルファベット順、最も最近に再生された順、レーティングなどでありえる。ある実施形態において、制限基準は、プレイリストの長さに課せられた数値制限でありえる。このような制限は、トラック情報のフィールドについてでありえる。例えば、制限基準は、プレイリストが25メディアアイテム(例えばトラックまたは曲)に、またはメディア再生時間が2時間に制限されることを要求しえる。
【0054】
図8は、本発明の他の実施形態によるメディア管理システム800のブロック図である。メディア管理システム800は、ホストコンピュータ802およびメディアプレーヤー804を含む。ホストコンピュータ802は典型的にはパーソナルコンピュータである。ホストコンピュータは、他の従来の要素の中でも、ソフトウェアモジュールである管理モジュール806を含む。管理モジュール806は、ホストコンピュータ802上のメディアアイテムおよびプレイリストの集中管理のために存在する。管理モジュール806は、メディアプレーヤー804上のメディアアイテムおよびプレイリストの集中管理を間接的におこなってもよい。より具体的には、管理モジュール806は、ホストコンピュータ802に関連付けられたメディア記憶808内に記憶されたこれらのメディアアイテムを管理する。管理モジュール806はまた、メディア記憶808中に記憶されたメディアアイテムに関連付けられたメディア情報およびプレイリストを記憶するために、メディアデータベース810と対話する。これらのプレイリストは、ダイナミックまたは非ダイナミックでありえる。
【0055】
メディア情報は、メディアアイテムの特性または属性に関する(よってメディアコンテンツの一部と考えられえる)。例えば、オーディオまたはオーディオビジュアルメディアの場合、メディア情報は、タイトル、アルバム、トラック数、アーチスト、作曲家およびジャンルのうちの1つ以上を含みえる。メディア情報は、年、所要(時間)およびレーティングも含みえる。これらのタイプのメディア情報は、特定のメディアアイテムに固有である。加えて、メディア情報は、メディアアイテムの音質特性に関しえる。メディアアイテムの音質特性の例は、ビットレート、サンプリングレート、イコライズ設定、および音量調節のうちの1つ以上を含みえる。
【0056】
プレイリストは、特定のメディアアイテムのリスト群である。プレイリストについてのこの特定のメディアアイテム群は、ルール(例えばプレイリスト条件)を用いて自動的に選択されるか、またはグラフィカルユーザインタフェースとのユーザ対話を通して手動で選択されえる。ルールによって選択されたそのメディアアイテムを有するプレイリストは、ホストコンピュータ802に利用可能なメディアアイテムが変化するとき、ルールに対する適合性を維持できるよう適切なときに自動的にアップデートされえる(すなわちダイナミックでありえる)。
【0057】
さらに、ホストコンピュータ802は、プレイモジュール812を含む。再生モジュール812は、メディア記憶808中に記憶されたあるメディアアイテムを再生するのに利用されえるソフトウェアモジュールである。再生モジュール812は、表示(ディスプレイスクリーン上に)も可能であり、またはメディアデータベース810からのメディア情報を利用してもよい。典型的には、関心のあるメディア情報は、再生モジュール812によって再生されるべきメディアアイテムに対応する。
【0058】
ホストコンピュータ802は、メディアプレーヤー804内の対応する通信モジュール816に結合する通信モジュール814も含みえる。接続またはリンク818は、通信モジュール814および816を取り外し可能に結合する。ある実施形態において、接続またはリンク818は、この技術でよく知られるFIREWIREバスまたはUSBバスのようなデータバスである。
【0059】
メディアプレーヤー804は、メディアプレーヤー804内にメディアアイテムを記憶するメディア記憶820も含みえる。メディア記憶820に記憶されているメディアアイテムは、ホストコンピュータ802から接続またはリンク818を介して典型的には受け取られる。より具体的には、管理モジュール806は、メディア記憶808上にあるこれらメディアアイテムのうちの全て、または一部を、接続またはリンク818を介してメディアプレーヤー804内にあるメディア記憶820に送る。加えて、メディアプレーヤー804にホストコンピュータ802から運ばれたメディアアイテムについての対応するメディア情報は、メディアデータベース822中に記憶されえる。この点で、ホストコンピュータ802中のメディアデータベース810からのあるメディア情報は、メディアプレーヤー804内のメディアデータベース822に接続またはリンク818を介して送られえる。
【0060】
さらに、メディアアイテムのうちの一部を特定するプレイリストは、管理モジュール806によって接続またはリンク818を介してメディアプレーヤー804内のメディア記憶820、またはメディアデータベース822に送られえる。ある実施形態において、メディアプレーヤー804は、メディアプレーヤー804上でプレイリストを管理するための制限された能力しか持たないか、またはそのための能力をまったく持たない。しかし、ホストコンピュータ802内の管理モジュール806は、ホストコンピュータ上にあるプレイリストの管理を通して、メディアプレーヤー804上にあるプレイリストを間接的に管理しえる。この点で、プレイリストへの追加、削除または変更は、ホストコンピュータ802上で実行されえ、メディアプレーヤー804へ送られるときメディアプレーヤー804上に受け継がれえる。
【0061】
さらにメディアプレーヤー804は、メディア記憶820およびメディアデータベース822に結合する再生モジュール824を含む。再生モジュール824は、メディア記憶820中に記憶されたあるメディアアイテムを再生するのに利用されえるソフトウェアモジュールである。再生モジュール824は、表示(ディスプレイスクリーン上に)も可能であり、メディアデータベース822からのメディア情報を利用してもよい。典型的には、関心のあるメディア情報は、再生モジュール824によって再生されるべきメディアアイテムに対応する。
【0062】
したがって、ある実施形態において、メディアプレーヤー804は、メディアプレーヤー804は、メディアプレーヤー804上でメディアアイテムを管理するための制限された能力しか持たないか、またはそのための能力をまったく持たない。しかし、ホストコンピュータ802内の管理モジュール806は、メディアプレーヤー804上にあるメディアアイテムおよびプレイリストを間接的に管理しえる。例えば、メディアプレーヤー804にメディアアイテムを「追加」するためには、管理モジュール806は、メディア記憶808からメディアプレーヤー804に追加されるべきそのメディアアイテムを特定し、それからその特定されたメディアアイテムがメディアプレーヤー804に運ばれるようにするよう機能する。他の例として、メディアプレーヤー804からメディアアイテムを「消去」するためには、管理モジュール806は、メディア記憶808から消去されるべきメディアアイテムを特定し、それからその特定されたメディアアイテムがメディアプレーヤー804から消去されるようにするよう機能する。さらに他の例として、もし管理モジュール806を用いてホストコンピュータ802においてメディアアイテムの特性について変更(すなわち改変)がなされたなら、そのような特性は、メディアプレーヤー804上の対応するメディアアイテムに引き継がれえる。ある実施形態において、追加、消去および/または変更は、メディアプレーヤー804上のメディアアイテムをホストコンピュータ802上のメディアアイテムと同期させるときに、バッチ状の処理において起こる。
【0063】
図9は、本発明のある実施形態によるメディアプレーヤー900のブロック図である。メディアプレーヤー900は、メディアプレーヤー900の全体的な動作を制御するマイクロプロセッサまたはコントローラに関するプロセッサ902を含む。メディアプレーヤー900は、ファイルシステム904およびキャッシュ906中にメディアアイテムに関連するメディアデータを記憶する。ファイルシステム904は典型的には、記憶ディスクまたは複数のディスクである。ファイルシステム904は典型的には、メディアプレーヤー900のために大容量の記憶能力を提供する。しかしファイルシステム904へのアクセスタイムは比較的遅いので、メディアプレーヤー900はキャッシュ906を含みえる。このキャッシュ906は例えば、半導体メモリによって与えられるランダムアクセスメモリ(RAM)である。キャッシュ906への相対アクセスタイムは、ファイルシステム904のそれよりもかなり短い。しかしキャッシュ906は、ファイルシステム904の大きな記憶容量を持たない。さらにファイルシステム904は、アクティブなとき、キャッシュ906が消費するよりもより多くの電力を消費する。電力消費は、メディアプレーヤー900が電池(不図示)によって駆動される携帯メディアプレーヤーであるときにしばしば問題である。メディアプレーヤー900は、RAM920および読み出し専用メモリ(ROM)922も含む。ROM922は、実行されるべきプログラム、ユーティリティまたはプロセスを不揮発性で記憶しえる。RAM920は、キャッシュ906のためのような揮発性データ記憶を提供する。
【0064】
メディアプレーヤー900は、メディアプレーヤー900のユーザがメディアプレーヤー900と対話できるようにするユーザ入力デバイス908も含む。例えば、ユーザ入力デバイス908は、ボタン、キーパッド、ダイヤルなどのようなさまざまな形態をとりえる。さらにメディアプレーヤー900は、ユーザに情報を表示するためにプロセッサ902によって制御されえるディスプレイ910(スクリーンディスプレイ)を含む。データバス911は、少なくともファイルシステム904、キャッシュ906、プロセッサ902、およびCODEC912間のデータ転送を促進しえる。
【0065】
ある実施形態において、メディアプレーヤー900は、複数のメディアアイテム(例えば曲)をファイルシステム904中に記憶するよう機能する。ユーザが、メディアプレーヤーに特定のメディアアイテムを再生させたいとき、ディスプレイ910上に利用可能なメディアアイテム群のリストが表示される。それから、ユーザ入力デバイス908を用いて、ユーザは、利用可能なメディアアイテムのうちの一つを選択しえる。プロセッサ902は、特定のメディアアイテムの選択を受け取ると、その特定のメディアアイテムのメディアデータ(例えばオーディオファイル)をCODER/DECODER(CODEC)912に供給する。それからCODEC912は、スピーカ914のためのアナログ出力信号を作る。スピーカ914は、メディアプレーヤー900内部、またはメディアプレーヤー900の外部にあるスピーカでありえる。例えば、メディアプレーヤー900に接続するヘッドホンまたはイヤホンが外部スピーカと考えられえる。
【0066】
メディアプレーヤー900は、データリンク918に結合するバスインタフェース916も含む。データリンク918は、メディアプレーヤー900がホストコンピュータに結合することを可能にする。
【0067】
プレイリストを作るとき、ユーザは、グラフィカルユーザインタフェースと対話しえる。グラフィカルユーザインタフェースは、メディアアイテムおよびそれらのプレイリストを管理するソフトウェアアプリケーションによって、またはそれに関連付けられて提供されえる。そのようなソフトウェアアプリケーションは、例えば、図1Aに示されるメディアマネージャ106、図1Bに示されるメディアマネージャ156、図2に示されるメディアアプリケーション202、または図8に示される管理モジュール806によって提供されえる。グラフィカルユーザインタフェースの具体的な構成は実現例によって変わりえる。
【0068】
図10A〜10Cは、ユーザがプレイリストを作る例示的なグラフィカルユーザインタフェースのスクリーンショットである。これら例示的なグラフィカルユーザインタフェースは、作られるプレイリストについてのルールまたはプレイリスト条件を定義する。
【0069】
図10Aは、第1の例示的グラフィカルユーザインタフェース1000のスクリーンショットである。第1の例示的グラフィカルユーザインタフェース1000は、アドバンストインタフェース1002を用いて第1プレイリストの作成を促進する。アドバンストインタフェース1002は、ユーザが、チェックボックス1004でフィルタ条件をイネーブルすることを可能にする。チェックボックス1004がチェックされるとき、フィルタ条件エントリ領域1006においてフィルタ条件が確立されえる。典型的には、フィルタ条件は、メディアアイテムに関連付けられたメディア情報に関する。ある実施形態において、メディア情報は、図3Bに示されるメディアデータベースのトラック情報のフィールドでありえる。この例では、フィルタ条件は、メディアアイテムの年(作成の)に基づいている。具体的には、ユーザによって選択された、または入力されたフィルタ条件は、1960〜1969年の間に作られたメディアアイテム(例えば60年代の音楽)を選択するのに用いられる。アドバンストインタフェース1002は、チェックボックス1008でユーザが制限条件をイネーブルすることも可能にする。チェックボックス1008がチェックされるとき、制限条件エントリ領域1010において制限条件が確立されえる。この例ではイネーブルされていないが、制限条件は、結果として生じるプレイリスト中のメディアアイテム(例えば曲)の数を制限し、その制限が実行されるべきやり方を決定しえる。さらに、アドバンストインタフェース1002は、チェックボックス1012でユーザがライブアップデート(すなわちダイナミックアップデート)をイネーブルすることを可能にする。この例では、上に詳述したように、結果として生じるプレイリストが自動的にアップデートされるようにライブアップデートがイネーブルされている。
【0070】
図10Bは、第2の例示的グラフィカルユーザインタフェース1020のスクリーンショットである。第2の例示的グラフィカルユーザインタフェース1020は、アドバンストインタフェース1022を用いて第2プレイリストの作成を促進する。第2の例示的グラフィカルユーザインタフェース1020は、用いられるフィルタ条件が異なることを除いて第1の例示的グラフィカルユーザインタフェース1000と似ている。アドバンストインタフェース1022は、ユーザが、チェックボックス1024でフィルタ条件をイネーブルすることを可能にする。チェックボックス1024がチェックされるとき、フィルタ条件エントリ領域1026においてフィルタ条件が確立されえる。この例では、フィルタ条件は、メディアアイテムのユーザレーティング(例えば1つ星、2つ星、3つ星、4つ星、または5つ星のレーティング)に基づいている。具体的には、ユーザによって選択された、または入力されたフィルタ条件は、3つ星レーティングより高く格付けされたメディアアイテムを選択するのに用いられる。アドバンストインタフェース1022は、チェックボックス1028でユーザが制限条件をイネーブルすることも可能にする。チェックボックス1028がチェックされるとき、制限条件エントリ領域1030において制限条件が確立されえる。この例ではイネーブルされていないが、制限条件は、結果として生じるプレイリスト中のメディアアイテム(例えば曲)の数を制限し、その制限が実行されるべきやり方を決定しえる。さらに、アドバンストインタフェース1022は、チェックボックス1032でユーザがライブアップデート(すなわちダイナミックアップデート)をイネーブルすることを可能にする。この例では、上に詳述したように、結果として生じるプレイリストが自動的にアップデートされるようにライブアップデートがイネーブルされている。
【0071】
図10Cは、第3の例示的グラフィカルユーザインタフェース1040のスクリーンショットである。第3の例示的グラフィカルユーザインタフェース1040は、シンプルインタフェース1042を用いて第3プレイリストの作成を促進する。シンプルインタフェース1042は、上述のアドバンストインタフェースほど複雑ではない。シンプルインタフェース1042は、ユーザが、チェックボックス1044でフィルタ条件をイネーブルすることを可能にする。チェックボックス1044がチェックされるとき、フィールドのリスト1046からフィールドを選択し、選択されたフィールド内に含まれるべきテキストをテキストボックス1048に入力することによって、フィルタ条件が確立されえる。例えば、フィールドは、図3Bに示されるメディアデータベースのトラック情報のフィールドのようなメディア情報のフィールドであえりえる。図10Cに示されるこの例では、選択されたフィールドは、「アーチスト」であり、入力されたテキストは、「ピンクフロイド、エアロスミス」である。したがって、結果として生じるプレイリストは、そのアーチストがピンクフロイドまたはエアロスミスである、利用可能な全てのメディアアイテム(すなわち音楽トラック)を含むことになる。シンプルインタフェース1042は、チェックボックス1050でユーザが制限条件をイネーブルすることも可能にする。チェックボックス1050がチェックされるとき、制限条件エントリ領域1052において制限条件が確立されえる。この例ではイネーブルされていないが、制限条件は、結果として生じるプレイリスト中のメディアアイテム(例えば曲)の数を制限し、その制限が実行されるべきやり方を決定しえる。さらに、シンプルインタフェース1042は、チェックボックス1054でユーザがライブアップデート(すなわちダイナミックアップデート)をイネーブルすることを可能にする。この例では、上に詳述したように、結果として生じるプレイリストが自動的にアップデートされるようにライブアップデートがイネーブルされている。
【0072】
図11Aおよび11Bは、図10Bに示されるグラフィカルユーザインタフェース1020を用いて形成された例示的プレイリストのメディアアイテムのスクリーンショットである。図11Aにおいて、スクリーンショット1100は、ソース1102としてプレイリスト(「マイトップレーティッド」)およびプレイリスト中のメディアアイテムのリスト1104を示す。リスト1104中のメディアアイテムのそれぞれについての「マイレーティング」フィールド中の星の格付けは、全て3つ星格付けより高いことに注意されたい。サイズ表示1108は、プレイリストが85曲を有し、6.4時間の再生時間を有し、457.5MBのデータ記憶を消費していることを示す。このプレイリスト(「マイトップレーティッド」)のライブ(つまりダイナミック)アップデートの例として、図11Aに示されるプレイリストが作成されたあとに、アーチスト「311」による全てのメディアアイテムの星による格付けが3つ星に降格するよう、ソース(「ライブラリ」)がユーザによって変更されるとする。以前は図11Aに示されるように、これらメディアアイテムは4つ星格付けを持っていた。したがっていったんこれらのレーティング変更がなされると、アーチスト「311」からのメディアアイテムは、プレイリスト(「マイトップレーティッド」)についてのプレイリスト条件(例えばフィルタ基準)を満足しなくなる。したがって、プレイリスト(「マイトップレーティッド」)の自動アップデートに続いて、アップデートされたプレイリストは、もはやアーチスト「311」のメディアアイテムを含まない。図11Bは、自動アップデートが実行されたあとのプレイリスト(「マイトップレーティッド」)を示す。メディアアイテムのリスト1152は、アーチスト「311」からのメディアアイテムをもはや一つも含まない。これは、プレイリストを変更するユーザアクションなしに達成される。サイズ表示1154は、プレイリストが今は75曲を有し、5.8時間の再生時間を有し、407MBのデータ記憶を消費していることを示す。
【0073】
上述の実施形態のいくつかにおいてはメディアアイテム中でもオーディオアイテム(例えばオーディオファイルまたは曲)が強調されたが、メディアアイテムは、オーディオアイテムに限定されないことが理解されよう。例えば、他の場合にはメディアアイテムは、ビデオ(例えば映画)、または画像(例えば写真)に関する。
【0074】
本発明のさまざまな局面、実施形態、実現例または特徴は、別個に、または組み合わせて用いられえる。
【0075】
本発明は、好ましくはソフトウェアによって実現されるが、ハードウェア、またはハードウェアおよびソフトウェアの組み合わせによっても実現されえる。本発明は、コンピュータで読み取り可能な媒体上のコンピュータによって読み取り可能なコードとしても実現されえる。コンピュータで読み取り可能な媒体は、あとでコンピュータシステムによって読み取られえるデータを記憶できる任意のデータ記憶デバイスでありえる。コンピュータで読み取り可能な媒体の例は、読み出し専用メモリ、ランダムアクセスメモリ、CD−ROM、DVD、磁気テープ、光データ記憶デバイス、および搬送波を含む。コンピュータで読み取り可能な媒体は、コンピュータによって読み取り可能なコードが分散化して記憶され実行されるように、ネットワークで結合されたコンピュータシステム上で分散されえる。
【0076】
本発明の利点は多い。異なる局面、実施形態または実現例は、以下の効果の1つ以上をもたらしえる。本発明のある利点は、プレイリストが利用可能なメディアアイテムについて最新であるようにアップデートされえることである。本発明の他の利点は、ユーザの対話なしにプレイリストが自動的にアップデートされえることである。本発明のさらに他の利点は、ユーザが特定したルール(例えばフィルタ、ソート、および制限基準)に基づいてダイナミックにアップデートされえるプレイリストをユーザが作るのを助けるためにグラフィカルユーザインタフェースが用いられえることである。
【0077】
本発明の多くの特徴および利点は、書かれた記載から明らかであり、よって添付の特許請求の範囲は、本発明のそのような全ての特徴および利点を含むよう意図される。さらに、多くの改変および変更が当業者には容易にわかるので、本発明は、図示され記載されたのと全く同じ構成および動作に限定されるべきではない。したがって、全ての適切な改変物および等価物は、本発明の範囲内に入るとされえる。

【特許請求の範囲】
【請求項1】
メディア再生システム上でプレイリストをアップデートする、コンピュータによって実現される方法であって、前記方法は、
前記メディア再生システムに利用可能であるメディアコンテンツが変更されたことを決定すること、および
前記決定することが、前記メディア再生システムに利用可能である前記メディアコンテンツが変更されたと決定するとき、前記プレイリストを再生成すること
を含む方法。
【請求項2】
請求項1に記載のコンピュータによって実現される方法であって、前記方法は、
前記プレイリストが、前記メディア再生システムに利用可能である前記メディアコンテンツの前記変更によって影響を受けるかを決定すること
をさらに含む方法。
【請求項3】
請求項2に記載のコンピュータによって実現される方法であって、前記再生成することは、前記決定することが、前記メディア再生システムに利用可能である前記メディアコンテンツが変更されたと決定するとき、および前記決定することが、前記プレイリストが、前記メディア再生システムに利用可能である前記メディアコンテンツの前記変更によって影響されると決定するときにだけ実行される方法。
【請求項4】
請求項1に記載のコンピュータによって実現される方法であって、前記プレイリストは、それに関連付けられた少なくとも1つのプレイリスト条件を有し、
前記再生成することは、前記少なくとも1つのプレイリスト条件を用いて前記プレイリストを再生成するよう動作する
方法。
【請求項5】
請求項1に記載のコンピュータによって実現される方法であって、前記方法は、
前記再生成の後、前記プレイリストをあとで表示すること
をさらに含む方法。
【請求項6】
請求項1に記載のコンピュータによって実現される方法であって、前記方法は、
前記プレイリストがすでに表示されているとき、前記再生成の後、前記プレイリストを再描画すること
をさらに含む方法。
【請求項7】
請求項1に記載のコンピュータによって実現される方法であって、前記プレイリストは、それに関連付けられたプレイリスト条件を有し、前記プレイリスト条件は少なくとも1つのフィルタ基準を含み、
前記再生成することは、前記少なくとも1つのフィルタ基準を用いて前記プレイリストを再生成するよう動作する
方法。
【請求項8】
請求項1に記載のコンピュータによって実現される方法であって、前記プレイリストは、
それに関連付けられたプレイリスト条件を有し、前記プレイリスト条件は少なくとも1つの制限基準を含み、
前記再生成することは、前記少なくとも1つのフィルタ基準および少なくとも1つの制限基準を用いて前記プレイリストを再生成するよう動作する
方法。
【請求項9】
請求項1に記載のコンピュータによって実現される方法であって、前記メディアコンテンツは、メディアアイテムおよびメディア情報を備える方法。
【請求項10】
請求項1〜9のいずれかに記載のコンピュータによって実現される方法であって、前記決定することが、前記メディア再生システムに利用可能である前記メディアコンテンツが変更されたと決定するとき、前記再生成は、ユーザの入力なしに自動的に実行される方法。
【請求項11】
メディアプレーヤー上でプレイリストをアップデートする、コンピュータによって実現される方法であって、前記方法は、
前記プレイリストを作成するのに用いられるべきプレイリストルールを受け取ること、
複数の利用可能なメディアアイテムおよび前記プレイリストルールからプレイリストを作成すること、
前記利用可能なメディアアイテムについての変更のために、前記プレイリストが再生成されるべきかを決定すること、および
前記決定することが、前記プレイリストが再構築されるべきであると決定するとき、前記複数の利用可能なメディアアイテムおよび前記プレイリストルールから前記プレイリストを再構築すること
を含む方法。
【請求項12】
請求項11に記載のコンピュータによって実現される方法であって、前記プレイリストルールは、少なくとも1つのフィルタ基準を含み、
前記作成すること、および前記再構築することは、前記少なくとも1つのフィルタ基準を用いて前記プレイリストを作成するよう動作する
方法。
【請求項13】
請求項11に記載のコンピュータによって実現される方法であって、前記プレイリストルールは、少なくとも1つのフィルタ基準および少なくとも1つの制限基準を含み、
前記作成すること、および前記再構築することは、前記少なくとも1つのフィルタ基準および前記少なくとも1つの制限基準を用いて前記プレイリストを作成するよう動作する
方法。
【請求項14】
請求項13に記載のコンピュータによって実現される方法であって、前記少なくとも1つの制限基準は、それに関連付けられたソート基準を含むか、または有する方法。
【請求項15】
請求項1〜14のいずれかに記載のコンピュータによって実現される方法であって、前記メディアアイテムは、1つ以上のオーディオ、ビデオまたは画像に関する方法。
【請求項16】
請求項1〜14のいずれかに記載のコンピュータによって実現される方法であって、前記メディアプレーヤーはパーソナルコンピュータを備える方法。
【請求項17】
メディアアイテムのコレクションをアップデートするコンピューティングデバイスであって、前記コンピューティングデバイスは、
前記コレクションを作成するのに用いられるべきプレイリストルールを受け取る手段、
複数の利用可能なメディアアイテムおよび前記プレイリストルールからコレクションを作成する手段、
前記利用可能なメディアアイテムについての変更のために、前記コレクションが再生成されるべきかを決定する手段、および
前記決定する手段が、前記コレクションが再構築されるべきであると決定するとき、前記複数の利用可能なメディアアイテムおよび前記プレイリストルールから前記コレクションを再構築する手段
を含むデバイス。
【請求項18】
請求項17に記載のコンピューティングデバイスであって、前記メディアアイテムのコレクションは、プレイリストであるコンピューティングデバイス。
【請求項19】
メディアシステムによって維持されるメディアアイテムのリストを自動的にアップデートするコンピュータプログラムコードを少なくとも含むコンピュータで読み取り可能な媒体であって、前記コンピュータで読み取り可能な媒体は、
前記メディアシステムに利用可能である少なくとも1つのメディアアイテムが変更されたことを決定するコンピュータプログラムコード、および
前記決定するコンピュータプログラムコードが、前記メディアシステムに利用可能である前記メディアアイテムが変更されたと決定するとき、前記メディアアイテムのリストを再生成するコンピュータプログラムコード
を含むコンピュータで読み取り可能な媒体。
【請求項20】
請求項19に記載のコンピュータで読み取り可能な媒体であって、前記コンピュータで読み取り可能な媒体は、
前記メディアアイテムのリストが、前記メディアシステムに利用可能である前記少なくとも1つのメディアアイテムの前記変更によって影響を受けるかを決定するコンピュータプログラムコード
をさらに含むコンピュータで読み取り可能な媒体。
【請求項21】
請求項20に記載のコンピュータで読み取り可能な媒体であって、前記再生成するコンピュータプログラムコードは、前記決定するコンピュータプログラムコードが、前記メディアアイテムのリストが前記メディアシステムに利用可能な前記少なくとも1つのメディアアイテムに対する変更によって影響を受けると決定するときのみ、前記メディアアイテムのリストを再生成するよう動作するコンピュータで読み取り可能な媒体。
【請求項22】
請求項21に記載のコンピュータで読み取り可能な媒体であって、前記メディアアイテムのリストは、それに関連付けられた少なくとも1つのリスト条件を有し、
前記再生成するコンピュータプログラムコードは、前記少なくとも1つのリスト条件を用いて前記メディアアイテムのリストを再生成するよう動作する
コンピュータで読み取り可能な媒体。
【請求項23】
請求項20に記載のコンピュータで読み取り可能な媒体であって、前記メディアアイテムのリストは、それに関連付けられた少なくとも1つのリスト条件を有し、前記少なくとも1つのリスト条件は少なくとも1つのフィールドを参照し、
前記メディアアイテムのリストが、前記メディアシステムに利用可能である前記少なくとも1つのメディアアイテムの前記変更によって影響を受けるかを決定するコンピュータプログラムコードは、前記メディアアイテムのリストに関連付けられた前記少なくとも1つの条件によって参照された前記少なくとも1つのフィールドによって、前記メディアシステムに利用可能である前記少なくとも1つのメディアアイテムの1つ以上のフィールドが変更されたかを評価する
コンピュータで読み取り可能な媒体。
【請求項24】
請求項19に記載のコンピュータで読み取り可能な媒体であって、前記メディアアイテムのリストは、それに関連付けられた少なくとも1つのリスト条件を有し、
前記再生成するコンピュータプログラムコードは、前記少なくとも1つのリスト条件を用いて前記メディアアイテムのリストを再生成するよう動作する
コンピュータで読み取り可能な媒体。
【請求項25】
請求項19に記載のコンピュータで読み取り可能な媒体であって、前記コンピュータで読み取り可能な媒体は、
再生成されたあとに、前記メディアアイテムのリストをあとで表示するコンピュータプログラムコード
をさらに含むコンピュータで読み取り可能な媒体。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図5D】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11A】
image rotate

【図11B】
image rotate


【公開番号】特開2013−12290(P2013−12290A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2012−187685(P2012−187685)
【出願日】平成24年8月28日(2012.8.28)
【分割の表示】特願2010−157096(P2010−157096)の分割
【原出願日】平成15年7月9日(2003.7.9)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】