説明

インスタントプレイが可能なメディアプレーヤー

【課題】 メディアプレーヤーおよびメディアプレーヤーを操作する方法を提供する。
【解決手段】 メディアプログラムは、メディア再生の選択がなされた後、実質的に即時に再生を開始することができる。インテリジェント操作を通じて、メディアプログラムは、メディアプログラムがディスク記憶から半導体メモリ(すなわちキャッシュメモリ)内にロードが完了される前にさえ再生を開始することができる。さらにメディアプログラムの半導体メモリへのロードは、メディアプログラムの再生を邪魔することなくバックグラウンドプロセスとして実行される。さらにディスク記憶は、アクセスされていないときに積極的に「電源オフ」にされることによって、電池駆動されているときには電池寿命を延ばすことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メディアデバイスに関し、より具体的にはメディアデバイス上でメディアを再生することに関する。
【背景技術】
【0002】
メディアプレーヤーは最近ますます流行してきている。中でも流行しているのは、MP3プレーヤーやDVDプレーヤーのような携帯メディアプレーヤーである。メディアプレーヤーは、メディアプレーヤー内に記憶されたメディアアイテムをユーザのために再生するように動作する。メディアアイテムは最も一般にはオーディオアイテム(例えば曲)であるが、ビデオアイテム(例えばDVD)でもよい。典型的にはMP3プレーヤーは、さまざまなオーディオアイテムを記憶ディスク上に内部で記憶する。ユーザが記憶されたオーディオアイテムのうちの1つを再生するための選択を行うとき、オーディオアイテムは、そのオーディオアイテムが再生される前に、まず半導体メモリ(すなわちランダムアクセスメモリ)へロードされなければならない。残念ながら、比較的大きいオーディオアイテムのファイルを読み出すときの遅延は、再生されるようにユーザが既に選択したオーディオアイテムを早く聴きたいユーザにとっては満足のいくものではない。
【発明の開示】
【発明が解決しようとする課題】
【0003】
よってメディアプレーヤーがメディアアイテムを再生するための改良された手法に対する要求がある。
【課題を解決するための手段】
【0004】
大きく言えば本発明は、メディアプレーヤーおよびメディアプレーヤーを操作する方法に関する。本発明のある局面によれば、メディアプログラムは、メディア再生の選択がなされた後、実質的に即時に再生を開始することができる。インテリジェント操作を通じて、メディアプログラムは、メディアプログラムがディスク記憶から半導体メモリ(すなわちキャッシュメモリ)内にロードが完了される前にさえ再生を開始することができる。本発明の他の局面によれば、メディアプログラムの半導体メモリへのロードは、メディアプログラムの再生を邪魔することなくバックグラウンドプロセスとして実行される。さらに本発明の他の局面は、ディスク記憶は、アクセスされていないときに積極的に「電源オフ」にされることによって、電池駆動されているときには電池寿命を延ばすことができる。
【0005】
本発明は多くの方法で実現可能であり、それらには方法、システム、デバイス、装置、またはコンピュータで読み取り可能な媒体が含まれる。本発明のいくつかの実施形態が以下に説明される。
【0006】
メディアプレーヤー上でメディアアイテムを再生する方法であって、前記メディアプレーヤーは記憶ディスクおよびキャッシュメモリを持ち、前記方法は以下の操作を含む。すなわち特定のメディアアイテムが前記メディアプレーヤー上で再生されるべきであるとの指示を受け取ることであって、前記特定のメディアアイテムは前記メディアプレーヤーの前記記憶ディスク上に記憶された複数のメディアアイテムのうちの1つである、指示を受け取ることを含む。前記メディアプレーヤー上で前記特定のメディアアイテムを再生することは少なくとも以下の操作を含む。すなわち前記特定のメディアアイテムの初期メディアデータ部分を前記記憶ディスクから取り出すこと、前記初期メディアデータ部分を用いて前記特定のメディアアイテムの初期部分を再生すること、少なくとも前記特定のメディアアイテムのうちの残りのメディアデータ部分を前記記憶ディスクから前記キャッシュメモリにロードすること、およびその後、前記特定のメディアアイテムの前記残りのメディアデータ部分をキャッシュメモリから再生することを含む。
【0007】
メディアプレーヤーによって再生されるべきメディアデータを取り出す方法であって、前記メディアプレーヤーは記憶ディスクおよびキャッシュメモリを有し、本発明のある実施形態は以下の操作を少なくとも含む。すなわち前記メディアプレーヤー上で再生されるべきメディアアイテムを特定すること、前記メディアアイテムについてのメディアデータが前記キャッシュメモリ内に記憶されているかを判断すること、前記判断が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていないと判断するとき、前記メディアアイテムについての前記メディアデータの一部を前記記憶ディスクから取り出すこと、前記判断が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていると判断するとき、前記メディアアイテムについての前記メディアデータの一部を前記キャッシュメモリから取り出すこと、および前記メディアアイテムについての前記メディアデータのそれぞれの後続の部分について繰り返すことを含む。
【0008】
メディアプレーヤーによって再生されるべきメディアデータを取り出す方法であって、前記メディアプレーヤーは記憶ディスクおよびキャッシュメモリを有し、本発明のある実施形態は、以下の操作を含む。すなわち前記メディアプレーヤー上で再生されるべきメディアアイテムを特定すること、前記メディアアイテムについてのメディアデータが前記キャッシュメモリ内に記憶されているかを判断すること、前記判断が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていないと判断するとき、前記メディアアイテムについての前記メディアデータの一部を前記記憶ディスクから取り出すこと、および前記メディアデータのうちの少なくとも残りの部分を前記記憶ディスクから前記キャッシュメモリにロードする処理を開始することを含む。
【0009】
家庭電子製品として本発明のある実施形態は少なくとも以下を含む。すなわち複数のメディアアイテムを記憶する記憶ディスク、前記家庭電子製品のユーザが前記複数のメディアアイテムから特定のメディアアイテムを選択することを少なくとも可能にするユーザ入力デバイス、前記メディアアイテムの少なくとも1つを記憶できるキャッシュメモリ、および前記記憶ディスク、前記ユーザ入力デバイスおよび前記キャッシュメモリに動作可能に接続されたプロセッサを含む。このプロセスは、前記特定のメディアアイテムについてのメディアデータが前記キャッシュメモリ内、または前記記憶ディスク上のいずれにあるかにかかわらず、前記プロセッサは、前記ユーザによる前記特定のメディアアイテムの前記選択に続いて実質的に即時に前記特定のメディアアイテムを前記家庭電子製品が再生するよう機能する。
【0010】
本発明の他の局面や優位性は、以下の詳細な説明を添付の図面とあわせれば明らかであり、図面は本発明の原理を例示的に図示する。
【発明を実施するための最良の形態】
【0011】
本発明は以下の詳細な説明を添付の図面を参酌すれば容易に理解でき、図面においては同様の参照番号は同様の構成要素を表す。
【0012】
本発明は、メディアプレーヤーおよびメディアプレーヤーを操作する方法に関する。本発明のある局面によれば、メディアプログラムは、メディア再生の選択がなされた後、実質的に即時に再生を開始できる。インテリジェント操作を通してメディアプログラムは、メディアプログラムが実質的にまたは完全にディスク記憶から半導体メモリ(すなわちキャッシュメモリ)にロードされる前でさえも再生を開始できる。本発明の他の局面によれば、メディアプログラムの半導体メモリへのロードは、メディアプログラムの再生を妨害することなくバックグラウンドプロセスの中で実行される。本発明のさらに他の局面は、ディスク記憶が、アクセスされていないときに積極的に「パワーオフ」されえて、それにより電池で駆動されているときには電池寿命を延ばすことである。本発明は携帯メディアプレーヤーと共に用いるのに特に適する。
【0013】
本発明のこの局面の実施形態は、図1〜6を参照して以下に説明される。しかしこれら図面についての詳細な記載は説明目的であって、本発明はこれらの限定された実施形態を超えることが当業者には容易にわかるだろう。
【0014】
図1は、本発明のある実施形態によるメディアプレーヤー100のブロック図である。メディアプレーヤー100は、メディアプレーヤー100の全体の操作を制御するマイクロプロセッサまたはコントローラに関連するプロセッサ102を含む。メディアプレーヤー100は、メディアアイテムに関するメディアデータをファイルシステム104およびキャッシュ106に記憶する。ファイルシステム104は典型的には、記憶ディスクまたは複数のディスク群である。ファイルシステムは典型的にはメディアプレーヤー100のために大記憶容量を提供する。しかしファイルシステム104へのアクセスタイムは比較的遅いので、メディアプレーヤー100はキャッシュ106も含む。キャッシュ106は、例えば、半導体メモリによって提供されるランダムアクセスメモリ(RAM)である。キャッシュへの相対的アクセスタイムはファイルシステム104へのそれよりもかなり短い。しかしキャッシュ106はファイルシステム104の大記憶容量を持たない。
【0015】
さらに、ファイルシステム104は、アクティブなとき、キャッシュ106よりもより多くの電力を消費する。電力消費は、メディアプレーヤー100が電池(不図示)で駆動される携帯メディアプレーヤーであるときに特に重要である。
【0016】
メディアプレーヤー100はまた、メディアプレーヤー100のユーザがメディアプレーヤー100と対話することを可能にするユーザ入力デバイス108を含む。例えば、ユーザ入力デバイス108は、ボタン、キーパッド、ダイヤルなどのようなさまざまな形態を取りえる。さらにメディアプレーヤー100は、情報をユーザに表示するためにプロセッサ102で制御されえるディスプレイ110(スクリーンディスプレイ)を含む。データバス111は、少なくともファイルシステム104、キャッシュ106、プロセッサ102、およびCODEC112の間のデータ転送を促進する。
【0017】
ある実施形態において、メディアプレーヤー100は、複数のメディアアイテム(例えば曲)をファイルシステム104に記憶するよう機能する。ユーザが、メディアプレーヤーが特定のメディアアイテムを再生するようにしたいとき、利用可能なメディアアイテムのリストがディスプレイ110上に表示される。それからユーザ入力デバイス108を用いて、ユーザは利用可能なメディアアイテムのうちの1つを選択できる。プロセッサ102は、特定のメディアアイテムの選択を受け取ると、特定のメディアアイテムのためのメディアデータ(例えばオーディオファイル)をコーダ/デコーダ(CODEC)112に与える。CODEC112はそれからスピーカ114のためのアナログ出力信号を作る。スピーカ114は、メディアプレーヤー100の内部のスピーカであっても、メディアプレーヤー100の外部のスピーカであってもよい。例えば、メディアプレーヤー100に接続されるヘッドフォンまたはイヤフォンが外部スピーカとして考えられる。
【0018】
本発明によれば、プロセッサ102は、特定のメディアアイテムのユーザによる選択を受け取るとプロセッサ102はすぐにファイルシステム104またはキャッシュ106にアクセスしメディアデータの最初の部分を取り出し、それをCODEC112に与え、それによってメディアアイテムの再生を開始するように特定のメディアアイテムの再生を制御する。メディアアイテムが最初にキャッシュ106内では得られないとき(典型的にはそうである)、初期部分がファイルシステム104から取り出される。しかしファイルシステム104のアクセススピードは、メディアアイテムの再生に必要なアクセススピードに対して比較的遅いので、またファイルシステム104はメディアプレーヤー100の電力のかなりの部分を消費するので、いったんメディアデータがキャッシュ106にロードされるとその特定のメディアアイテムの全ての残りの部分がキャッシュ106から取り出されるように、メディアアイテムを表すメディアデータはキャッシュ106にロードされる。その結果、メディアアイテムは、ユーザの選択に続いてほとんど実質的に即時に再生されるが、これは初期部分がファイルシステム104から即時に得られ、それから後続の部分がキャッシュ106から取り出されるからである。ここでキャッシュ106は、メディアデータの初期部分の取り出しまたは再生が起こるのと同時にロードされる。
【0019】
さらに、いったん特定のメディアアイテムのメディアデータがキャッシュ106にロードされると、ファイルシステム104は、メディアプレーヤー100の電力消費を節約するために非アクティブにされえる(例えば低電力モードに設定される)。ファイルシステム104をこのように非アクティブにすることによって、メディアプレーヤー100が電池駆動のデバイス(携帯デバイス)であると想定すればメディアプレーヤー100の電池寿命は大きく改善することができる。
【0020】
ある実施形態において、メディアプレーヤーは、オーディオ、ビデオまたは画像のようなメディアを処理する専用の携帯コンピューティングデバイスである。例えばメディアプレーヤー100は、音楽プレーヤー(例えばMP3プレーヤー)、ゲームプレーヤー、ビデオプレーヤー、ビデオレコーダー、カメラ、イメージビューワーなどでありえる。これらデバイスは一般に電池で駆動され、非常に携帯性が高いのでユーザがどこに移動しても音楽を聴いたり、ゲームをしたり、ビデオを見たり、ビデオを録画したり、または写真を撮ったりすることが可能である。ある実施形態において、メディアプレーヤーは、ポケットまたはユーザの手に収まるサイズであるハンドヘルドデバイスである。ハンドヘルドであることによって、メディアプレーヤーは比較的小さく、ユーザに容易に扱え、使用される。ポケットサイズであることによって、ユーザは直接にデバイスを運ぶ必要がなく、したがってデバイスはユーザが移動する所ならほとんどどこへでも持って行くことができる(例えばユーザは、携帯型のコンピュータのように大きくかさばり、しばしば重いデバイスを持ち運ぶことに限定されない)。さらにデバイスは、ユーザの手によって操作されえ、机上のような他のレファレンス表面を必要としない。
【0021】
図2は、本発明のある実施形態によるメディア再生処理200のフローチャートである。メディア再生処理200は例えば、図1に示すメディアプレーヤー100によって実行される。
【0022】
メディア再生処理200は、再生選択がされたかどうか決める判断202からまず始まる。判断202が再生選択がなされなかったと判断するとき、メディア再生処理200はそのような選択を待つ。言い換えれば、メディア再生処理200は、再生選択がなされる時に効率的に呼び出される。いずれにしてもいったん判断202が、再生選択がなされたと判断すると、判断204は、その再生選択関連付けられたメディアデータがキャッシュ(例えば図1のキャッシュ106)に存在するかを判断する。判断204が、メディアデータがキャッシュに存在しないと判断するとき、メディアデータ206は、ファイルシステム(例えば図1のファイルシステム104)から取り出される。あるいは判断204が、メディアデータがキャッシュの中に存在すると判断するとき、メディアデータはキャッシュから取り出される(208)。ここでメディアデータはキャッシュから取り出されるのが好ましいが、これはそのアクセスタイムがファイルシステムのそれよりもかなり短いからである。さらにメディアデータがキャッシュ内で入手可能であるとき、ファイルシステムは典型的には必要がなく、よって電力消費を低減するために低電力モードに設定される。
【0023】
操作206および208に続いて、メディア再生処理200は、取り出されたメディアデータの再生を開始する(210)。ここで取り出されたメディアデータは、メディアプレーヤーがマルチメディア出力(例えばオーディオ)をそのユーザのために作るように、再生されるよう導かれる。しかしメディアデータの一部だけが初期的に得られて、よって判断212が、取り出されるべきさらなるデータがあるかどうかを次に判断する。判断212が、再生されているメディアアイテムに関連付けられた取り出されるべきさらなるデータが存在すると判断するとき、メディア再生処理200は判断204および後続の操作を繰り返すために戻り、追加のメディアデータを取り出し再生する。
【0024】
206〜212の操作と同時に、判断204が、メディアデータがキャッシュに存在しないと判断するとき、他の処理が起動されてメディアデータをキャッシュにロードする。特にある実施形態によれば、このような処理は、メディアプレーヤー内で動作する別個のプロセス(例えばスレッド)によって実行される。このような処理によれば、判断214は、ファイルシステムがアクティブかどうかを判断する。判断214が、ファイルシステムがアクティブではないと判断するとき、ファイルシステムはアクティブにされる(216)。ここで、アクティブにすることは、ファイルシステムをその通常の動作モードに設定することを意味し、非アクティブ化されたファイルシステムは、低電力化動作モードを意味する。操作216に続いて、判断214に続くのと同様に、ファイルシステムがすでにアクティブであるとき、特定のメディアアイテムについてのメディアデータは、キャッシュにロードされる(218)。ここでロード218はこのプロセスによって起こり、一方で他の操作は、メディアデータの少なくとも初期部分を取り出し再生するために他のプロセスで実行される(操作206〜212)。いったんメディアデータがキャッシュにロードされると(218)、ファイルシステムは、電力消費を低減するために非アクティブ化される(220)。典型的にはファイルシステムは、少なくともメディアアイテムが再生される期間のオーダーの一定の時間は必要とされないが、これはメディアデータの残りの部分がキャッシュ内で入手可能だからである。操作220に続いて、キャッシュロードプロセスが完了し終了する。さらに、いったんキャッシュロードプロセスが完了すると、メディア再生処理200が判断204を次に実行するとき、その特定のメディアアイテムについての全ての後続のメディアデータが操作208においてキャッシュから取り出される結果となる。
【0025】
図3は、本発明のある実施形態によるメディアデータ取り出し処理300のフローチャートである。メディアデータ取り出し処理300は例えば、図1に示されるメディアデバイス100のようなメディアデバイスによって実行されえる。ある実施形態においてメディアデータ取り出し処理300は、図1に示されるメディアデバイス100のプロセッサ102によって実行または制御される。
【0026】
メディアデータ取り出し処理300は、さらなるメディアデータが必要とされるかを決める判断302で開始する。したがって判断302は例えば、メディアデバイス100によって再生されるべきメディアアイテムについてのメディアデータを要求するCODEC112に関する。典型的にはCODEC112は、メディアデータの短い再生期間をバッファし、よって定期的にメディアデバイス100によって提供されるデータ記憶からの追加データを要求するよう動作する。したがって判断302がさらなるメディアデータが必要とされないと判断するとき、メディアデータ取り出し処理300は事実上、さらなるメディアデータの要求(またはリクエスト)を待つ。
【0027】
いったん判断302が、さらなるメディアデータが必要とされると判断すると、判断304は、メディアデータがキャッシュメモリ内で入手可能かを判断する。例えば、キャッシュメモリは、図1に示されるキャッシュ106でありえる。判断304が、メディアデータがキャッシュメモリ内で入手できると判断するとき、データブロックはキャッシュメモリから取り出される。ここで取り出される(306)データブロックは、メディアアイテムに関連付けられたメディアデータのうちの次に必要とされる部分に関する。
【0028】
一方、判断304が、メディアデータがキャッシュメモリ内で入手できないと判断するとき、メディアデータをファイルシステムから取り出すように処理は実行される。ファイルシステムは例えば、図1に示されるファイルシステム104である。より具体的には、データブロックを読むために読み出し要求がファイルシステムに発行される(308)。この要求は、ファイルシステム104(記憶ディスク)をリード/ライトアクセスのために用意する。例えばもしファイルシステム104が非アクティブ(低電力)状態であるなら、読み出し要求はファイルシステム104をアクティブ状態に戻す。典型的にはアクティブ状態では記憶ディスクは回転し、リード/ライトアクセスの準備ができている。
【0029】
次に判断310は、キャッシュローダがすでに起動中であるか判断する。ここでキャッシュローダの「起動中」とは、キャッシュローダが、メディアデータをキャッシュメモリにロードすることについてアクティブであることを意味する。判断310が、キャッシュローダがすでに起動していないと判断するとき、キャッシュローダがアクティブにされる(312)。あるいは判断310がキャッシュローダがすでに起動していると判断するときは、動作312はバイパスされる。動作312に続いて、動作310に続くのと同様に、キャッシュローダがすでに起動しているとき、データブロックがファイルシステム(記憶ディスク)から取り出される(314)。ここで、ファイルシステムから取り出される時間が比較的短い(例えば数ミリ秒)ように、かつ他の同時に起こるファイルシステムへのアクセス(キャッシュローダによるもののように)についての取り出される時間が大きく悪影響を受けず、時間に間に合って実行されえるように、取り出される(314)データブロックのサイズは小さく維持される。例としてデータブロックは、32〜256キロバイトの範囲であり、例えば32、64、128または256キロバイトのうちの1つであるサイズのような合理的に小さいサイズを持つ。動作306および314に続いて、メディアデータ取り出し処理300は、さらなるメディアデータが同様に得られるように判断302および後続の操作を繰り返す。
【0030】
図4は、本発明のある実施形態によるキャッシュローダ処理400のフローチャートである。キャッシュローダ処理400は例えば、図3に示される操作312においてアクティブにされるキャッシュローダによって実行される処理である。
【0031】
キャッシュローダ処理400は、記憶ディスクが「オン」(アクティブ)であるかを決める判断402で始まる。ここで記憶ディスク(すなわちハードドライブ)は、ファイルシステムによって提供されるデータのディスク記憶に関し、具体的には図1で示されるファイルシステム104である。より一般的には判断402は、ファイルシステムがアクティブであるかを示しえる。いずれにしても判断402が、記憶ディスクが「オン」ではないと判断するとき、記憶ディスクは404でオンにされる。これはまた、記憶ディスクの「スピンアップ」とも呼ばれる。記憶ディスクへのアクセスタイムは、記憶ディスクがすでにオン(スピン中)ではないときはかなり遅い。記憶ディスクを「スピンアップ」することは、記憶ディスクからデータへアクセスするのに前提条件である。したがって操作402および404は、すでにオンにされていないとき、記憶ディスクをオンにする(404)よう働く。
【0032】
その後、データブロックがファイルシステムから取り出される(406)。ここで例えば、特定のメディアアイテムに関するデータのブロックがファイルシステム104(記憶ディスク)から取り出される(406)。取り出されたデータブロックはそれからキャッシュメモリに記憶される(408)。例えばキャッシュメモリは、図1に示されるキャッシュ106でありえる。
【0033】
判断410はそれから、そのファイル(すなわちメディアアイテム)についてデータブロックの全てが取り出されたかを判断する。判断410が、そのファイルのためのデータブロックの全てがまだ取り出されていないと決めるとき、キャッシュローダ処理400は、そのファイル(すなわちメディアアイテム)についてのさらなるデータブロックが取り出され(406)キャッシュメモリに記憶される(408)ように、操作406および後続の操作を繰り返すために戻る。いったん判断410が、ファイルについてのデータブロックの全てが取り出されたと判断すると、キャッシュローダは非アクティブにされる(412)。キャッシュローダは、キャッシュローダ処理400を実行しているプロセスであり、よって非アクティブにされると(412)、キャッシュローダ処理400を実行しているプロセスは閉じられる。さらに、記憶ディスクはそれからオフにされる(414)。記憶ディスクがオフにされるとき(414)、メディアデバイスは、そうでなければ記憶ディスクをオンのままで維持するために使うであろう電力またはエネルギーを節約することができる。
【0034】
本発明は、マルチスレッドプログラム環境によって提供されるような実行の複数スレッドを用いて実現するのに適する。例えば図3のメディアデータ取り出し処理300およびキャッシュローダ処理400は、別個のスレッドによって実現されえる。以下の図5および6において示されるプロセスも実行の他のスレッドに関しえる。
【0035】
図5は、本発明のある実施形態によるデータアクセス処理500のフローチャートである。データアクセス処理500は例えば、図3に示されるメディアデータ取り出し処理300の操作314、または図4に示されるキャッシュローダ処理400の操作406によって実行される。いずれの場合もデータアクセス処理500は、ファイルシステムへのアクセスのためのアクセスロックを得るように働く(502)。実行の複数の異なるスレッドがファイルシステムへの同じアクセスロックを求めることがありえるとすると、これら異なるスレッドは、アクセスロックの獲得のために競合する。したがってデータアクセス処理500は、他のスレッドがその時点でアクセスロックを使用する場合には遅らせることができる。しかしプログラムまたは実現例の設計について、アクセスロックを利用しえるスレッドのそれぞれは短い期間(ミリ秒のオーダー)だけそれを利用する。したがってアクセスロックを待つ間に発生する遅延は対応可能である。アクセスロックが獲得された(502)後、ファイル位置が設定される504。ファイル位置は、データが読み出されるべきファイル中の開始点を表す。したがってファイル位置が設定された(504)後、データのうちの所定数のバイトは、ファイルシステム中に記憶されたファイルから読み出される。ここで所定数のバイトはまた、読み出されるデータのブロックが比較的小さく(例えば32、64、128または256キロバイト)、よってアクセスロックが長期間入手不可能にならないように管理される。データの所定数のバイトが読み出された(506)後、アクセスロックはリリースされる(508)が、これはファイルシステムへのアクセスがこの時点で完了したからである。したがってアクセスロックがリリースされた(508)後で、データアクセス処理500は完了し終了する。
【0036】
図6は、本発明の他の実施形態によるキャッシュローダ処理600のフローチャートである。キャッシュローダ処理600は、図4に示されるキャッシュローダ処理400と同様の特徴を持つ。しかしキャッシュローダ処理600は、キャッシュメモリ中にロードされるべきファイル(すなわちメディアアイテム)がキャッシュメモリの利用可能な容量を超える場合に、記憶ディスクの効率的な利用を図るように設計される。
【0037】
キャッシュローダ処理600は、記憶ディスク(例えばハードドライブ)が「オン」であるかを決める判断602で始まる。判断602が、記憶ディスクが「オン」ではないと判断するとき、記憶ディスクは604でオンにされる。あるいは、判断602が、記憶ディスクがすでに「オン」であると決めるとき、操作604はバイパスされる。いずれにしても、データブロックはそれからファイルシステムから取り出される(606)。例として、データブロックの取り出し606は、図5を参照して上述のデータアクセス処理500によって実行されえる。いったんデータブロックがファイルシステムから取り出されると、取り出されたデータブロックはそれからキャッシュメモリ内に記憶される(608)。次に判断610は、そのファイル(すなわちメディアアイテム)についてのデータブロックの全てが取り出されたかを判断する。判断610が、そのファイルについての全てのデータブロックがまだ取り出されていないと判断するとき、判断612は、キャッシュメモリがさらなるデータブロックのために利用可能なスペースを持つかを判断する。判断612が、キャッシュメモリがさらなるデータブロックのための利用可能なスペースを持つと判断するとき、キャッシュローダ処理600は、そのファイル(すなわちメディアアイテム)についての少なくとも1つのさらなるデータブロックが取り出されてキャッシュメモリに記憶されえるように、操作602および後続の操作を繰り返すために戻りえる。一方、判断612が、キャッシュメモリがさらなるデータブロックのための利用可能なスペースを持たないと判断するとき、記憶ディスクはオフにされる(614)。ハードドライブをオフにすることによって、メディアデバイスは、ファイルシステム一時的に必要とされないときにはエネルギーを節約することができる。それから判断616は、キャッシュメモリをリフィルするべき時であるかを判断する。判断616が、まだキャッシュメモリを埋めるべき時ではないと判断するとき、キャッシュローダ処理600はより適切なタイミングを待つ。言い換えれば、判断616は、キャッシュローダ処理600にディレイを発生させる。このディレイは、予め決められたディレイであるか、またはキャッシュメモリ中の利用可能なスペースの量、または追加のデータが必要とされる前に再生されるために残っているデータの量に基づいて信号が発生されるかのいずれでもよい。したがって利用される特定の基準にかかわらず、判断616が、キャッシュメモリをリフィルすべき時であると判断するときは、他のスレッドによって必要とされるときに高速アクセスのためにデータがキャッシュメモリ内で入手可能であるように、1つ以上のさらなるデータブロックがファイルシステムから取り出されて、キャッシュメモリに記憶されるよう、キャッシュローダ処理600は判断602および後続の操作に戻る。
【0038】
一方、判断610が、そのファイル(すなわちメディアアイテム)についてのデータブロックの全てが取り出されたと判断するとき、記憶ディスクはオフにされる(618)。ここで記憶ディスクはオフにされる(618)が、これはファイル(すなわちメディアアイテム)が完全にファイルシステムから取り出され、よって記憶ディスクがそのメディアアイテムについてはこれ以上必要とされないからである。もちろん、もし他のスレッドがファイルシステムで必要とされるなら、記憶ディスクは「オン」のままで維持され、他のデータアクセスが実行される。いずれにしてもキャッシュローダはそれから非アクティブにされる(620)が、これはそのファイル(メディアアイテム)が完全に得られて、キャッシュメモリ内に記憶されたからである。操作620に続いてキャッシュローダ処理600は完了し終了する。
【0039】
上述の本発明のさまざまな局面または特徴は、単独またはさまざまに組み合わせて利用されえる。
【0040】
上述のいくつかの実施形態においてはオーディオアイテム(例えばオーディオファイルまたは曲)が用いられるメディアアイテムが強調されているが、メディアアイテムはオーディオアイテムには限定されない。例えばメディアアイテムはあるいは、ビデオ(例えば動画)または画像(例えば写真)に関しえる。
【0041】
本発明は好ましくはソフトウェアによって実現されるが、またハードウェアまたはハードウェアおよびソフトウェアの組み合わせによっても実現されえる。本発明はまた、コンピュータで読み取り可能な媒体上のコンピュータによって読み取り可能なコードとして実現されえる。コンピュータで読み取り可能な媒体は、その後、コンピュータシステムによって読み取りできるデータを記憶する任意のデータ記憶デバイスでありえる。コンピュータで読み取り可能な媒体の例としては、読み出し専用メモリ、ランダムアクセスメモリ、CD−ROM、DVD、磁気テープ、光データ記憶デバイス、および搬送波が含まれる。コンピュータで読み取り可能な媒体はまた、コンピュータによって読み取り可能なコードが分散して記憶され実行されえるように、ネットワークで結合されたコンピュータシステム上で分散されえる。
【0042】
本発明の効果は多くある。異なる実施形態または実現例は、以下の効果の1つ以上を生む。本発明のある優位性は、メディアアイテムがメディアデバイスによって、再生選択がリクエストされた後、ほとんど即時に再生されえることである。その結果、ユーザは待たされていらいらしない傾向にあるが、これは再生が開始されまでに課される遅延が大幅に低減されるからである。本発明の他の優位性は、他のシステム要素またはソフトウェアへのわずかな変更で、メディアデータ(例えばオーディオ再生のための)がキャッシュまたはファイルシステムのいずれかから取り出されえることである。本発明の他の優位性は、データをキャッシュメモリに転送し、ファイルシステムを非アクティブにすることによって電力消費が低減されることである。
【0043】
本発明の多くの特徴および優位性は、記載された説明から明らかであり、よって、このような本発明の特徴および優位性は添付の特許請求の範囲によってカバーされるように意図される。さらに多くの変更および改変が当業者によって容易になされるので、本発明は、図示され記載された正確な構成および動作には限定されるべきではない。したがって適切な改変および代替物は全て本発明の範囲に含まれえる。
【図面の簡単な説明】
【0044】
【図1】本発明のある実施形態によるメディアプレーヤーのブロック図である。
【図2】本発明のある実施形態によるメディア再生処理のフローチャートである。
【図3】本発明のある実施形態によるメディアデータ取り出し処理のフローチャートである。
【図4】本発明のある実施形態によるキャッシュローダ処理のフローチャートである。
【図5】本発明のある実施形態によるデータアクセス処理のフローチャートである。
【図6】本発明の他の実施形態によるデータアクセス処理のフローチャートである。

【特許請求の範囲】
【請求項1】
メディアプレーヤー上でメディアアイテムを再生する方法であって、前記メディアプレーヤーは記憶ディスクおよびキャッシュメモリを持ち、前記方法は
(a)特定のメディアアイテムが前記メディアプレーヤー上で再生されるべきであるとの指示を受け取ることであって、前記特定のメディアアイテムは前記メディアプレーヤーの前記記憶ディスク上に記憶された複数のメディアアイテムのうちの1つである、指示を受け取ること、
(b)前記メディアプレーヤー上で前記特定のメディアアイテムを再生することであって、前記再生すること(b)は少なくとも
(b1)前記特定のメディアアイテムの初期メディアデータ部分を前記記憶ディスクから取り出すこと、
(b2)前記初期メディアデータ部分を用いて前記特定のメディアアイテムの初期部分を再生すること、
(b3)前記取り出すこと(b1)および前記再生すること(b2)のうちの少なくとも1つと同時に、少なくとも前記特定のメディアアイテムのうちの残りのメディアデータ部分を前記記憶ディスクから前記キャッシュメモリにロードすること、および
(b4)その後、前記特定のメディアアイテムの前記残りのメディアデータ部分をキャッシュメモリから再生すること
を含む、再生すること、
の操作を含む方法。
【請求項2】
請求項1に記載の方法であって、前記メディアプレーヤーは携帯メディアプレーヤーである方法。
【請求項3】
請求項1に記載の方法であって、前記メディアプレーヤーはポケットサイズのデバイスである方法。
【請求項4】
請求項1に記載の方法であって、前記メディアプレーヤーはMP3プレーヤーであり、前記メディアアイテムは曲のオーディオファイルである方法。
【請求項5】
請求項1に記載の方法であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはオーディオプレーヤーを備え、前記メディアアイテムは少なくとも曲のオーディオファイルを含む方法。
【請求項6】
請求項1に記載の方法であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはビデオプレーヤーを備え、前記メディアアイテムは少なくともビデオのビデオファイルを含む方法。
【請求項7】
請求項1に記載の方法であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはイメージビューワーを備え、前記メディアアイテムは少なくとも画像の画像ファイルを含む方法。
【請求項8】
請求項1に記載の方法であって、前記ロードすること(b3)に続いて、前記記憶ディスクは次に必要となるまでのあいだ電力節約状態に設定される方法。
【請求項9】
メディアプレーヤーによって再生されるべきメディアデータを取り出す方法であって、前記メディアプレーヤーは記憶ディスクおよびキャッシュメモリを有し、前記方法は、
(a)前記メディアプレーヤー上で再生されるべきメディアアイテムを特定すること、
(b)前記メディアアイテムについてのメディアデータが前記キャッシュメモリ内に記憶されているかを判断すること、
(c)前記判断(b)が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていないと判断するとき、前記メディアアイテムについての前記メディアデータの一部を前記記憶ディスクから取り出すこと、
(d)前記判断(b)が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていると判断するとき、前記メディアアイテムについての前記メディアデータの一部を前記キャッシュメモリから取り出すこと、および
(e)前記判断(b)および前記取り出し(c)または(d)を前記メディアアイテムについての前記メディアデータのそれぞれの後続の部分について繰り返すこと
を含む方法。
【請求項10】
請求項9に記載の方法であって、
(f)前記判断(b)が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていないと判断するとき、少なくとも前記取り出し(c)と同時に、前記メディアアイテムについての前記メディアデータを前記記憶ディスクから前記キャッシュメモリにロードすることを開始すること
をさらに含む方法。
【請求項11】
請求項10に記載の方法であって、
(g)前記ロード(f)に続いて、前記記憶ディスクを非アクティブにすること
をさらに含む方法。
【請求項12】
請求項10に記載の方法であって、
(g)前記ロード(f)に続いて、前記記憶ディスクを電力節約モードに設定すること
をさらに含む方法。
【請求項13】
請求項9に記載の方法であって、前記ロード(f)に続いて、前記記憶ディスクは次に必要とされるまで電力節約状態に設定される方法。
【請求項14】
請求項9に記載の方法であって、前記メディアデータの前記部分は、所定のサイズを持つデータのブロックである方法。
【請求項15】
請求項14に記載の方法であって、前記データのブロックについての所定のサイズは、前記メディアアイテムについての前記メディアデータの全体と比べて適度に小さい方法。
【請求項16】
請求項14に記載の方法であって、前記データのブロックについての所定のサイズは、32〜256キロバイトである方法。
【請求項17】
請求項9に記載の方法であって、前記メディアプレーヤーは携帯メディアプレーヤーである方法。
【請求項18】
請求項9に記載の方法であって、前記メディアプレーヤーはポケットサイズのデバイスである方法。
【請求項19】
請求項9に記載の方法であって、前記メディアプレーヤーはMP3プレーヤーであり、前記メディアアイテムは曲である方法。
【請求項20】
請求項9に記載の方法であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはオーディオプレーヤーを備え、前記メディアアイテムは少なくとも曲のオーディオファイルを含む方法。
【請求項21】
請求項9に記載の方法であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはビデオプレーヤーを備え、前記メディアアイテムは少なくともビデオのビデオファイルを含む方法。
【請求項22】
請求項9に記載の方法であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはイメージビューワーを備え、前記メディアアイテムは少なくとも画像の画像ファイルを含む方法。
【請求項23】
メディアプレーヤーによって再生されるべきメディアデータを取り出す方法であって、前記メディアプレーヤーは記憶ディスクおよびキャッシュメモリを有し、前記方法は、
(a)前記メディアプレーヤー上で再生されるべきメディアアイテムを特定すること、
(b)前記メディアアイテムについてのメディアデータが前記キャッシュメモリ内に記憶されているかを判断すること、
(c)前記判断(b)が、前記メディアアイテムについての前記メディアデータが前記キャッシュメモリ内に記憶されていないと判断するとき、前記メディアアイテムについての前記メディアデータの一部を前記記憶ディスクから取り出すこと、および
(d)前記メディアデータのうちの少なくとも残りの部分を前記記憶ディスクから前記キャッシュメモリにロードする処理を開始すること
を含む方法。
【請求項24】
請求項23に記載の方法であって、前記開始(d)は、前記取り出し(c)と実質的に同時に実行される方法。
【請求項25】
請求項23に記載の方法であって、
(e)その後、前記メディアデータの前記残りの部分を前記キャッシュメモリから取り出すこと
をさらに含む方法。
【請求項26】
請求項23に記載の方法であって、
(e)前記初期部分を超えた追加メディアデータが必要となる時を判断すること、および
(f)前記判断(e)が、前記追加メディアデータが必要とされると判断するとき、前記メディアデータの前記残りの部分のうちの少なくとも1つを前記キャッシュメモリから取り出すこと
をさらに含む方法。
【請求項27】
請求項23に記載の方法であって、前記開始処理(d)は、前記残りの部分を前記記憶ディスクから前記キャッシュメモリに部分ごとにロードするよう機能する方法。
【請求項28】
請求項23に記載の方法であって、
(e)前記メディアデータの前記残りの部分の全てが前記キャッシュメモリの中にロードされた後に前記記憶ディスクを非アクティブにすること
をさらに含む方法。
【請求項29】
請求項23に記載の方法であって、前記メディアプレーヤーはポケットサイズのデバイスである方法。
【請求項30】
請求項23に記載の方法であって、
前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、
前記メディアプレーヤーは、オーディオプレーヤー、ビデオプレーヤーおよびイメージビューワーのうちの少なくとも1つを備え、
前記メディアアイテムは、曲のオーディオファイル、ビデオのビデオファイルおよび画像の画像ファイルのうちの少なくとも1つを含む
方法。
【請求項31】
家庭電子製品であって、
複数のメディアアイテムを記憶する記憶ディスク、
前記家庭電子製品のユーザが前記複数のメディアアイテムから特定のメディアアイテムを選択することを少なくとも可能にするユーザ入力デバイス、
前記メディアアイテムの少なくとも1つを記憶できるキャッシュメモリ、および
前記記憶ディスク、前記ユーザ入力デバイスおよび前記キャッシュメモリに動作可能に接続されたプロセッサであって、前記特定のメディアアイテムについてのメディアデータが前記キャッシュメモリ内、または前記記憶ディスク上のいずれにあるかにかかわらず、前記プロセッサは、前記ユーザによる前記特定のメディアアイテムの前記選択に続いて実質的に即時に前記特定のメディアアイテムを前記家庭電子製品が再生するよう機能する、プロセッサ
を備える家庭電子製品。
【請求項32】
請求項31に記載の家庭電子製品であって、前記特定のメディアアイテムについての前記メディアデータが前記キャッシュメモリ内に初めに記憶されていないとき、前記プロセッサは、前記メディアデータの第1部分を前記記憶ディスクから取り出すと同時に一方で、前記特定のメディアアイテムについての前記メディアデータを前記記憶ディスクから前記キャッシュメモリにバックグラウンドでロードすることを実質的に同時に開始する家庭電子製品。
【請求項33】
請求項32に記載の家庭電子製品であって、前記メディアデータの前記記憶ディスクから前記キャッシュメモリへの前記ロードの少なくとも一部は、前記メディアデータの前記第1部分の再生と同時に実行される家庭電子製品。
【請求項34】
請求項32に記載の家庭電子製品であって、いったん前記特定のメディアアイテムについての前記メディアデータが前記キャッシュメモリ内で入手可能になると、前記プロセッサは前記特定のメディアアイテムについての前記メディアデータの後続の部分を前記キャッシュメモリから取り出す家庭電子製品。
【請求項35】
請求項31に記載の家庭電子製品であって、前記家庭電子製品は、
前記プロセッサに動作可能に接続された表示スクリーンであって、前記メディアアイテムのリストを表示する表示スクリーン
をさらに備える家庭電子製品。
【請求項36】
請求項31に記載の家庭電子製品であって、前記家庭電子製品は携帯の電池駆動のメディアプレーヤーである家庭電子製品。
【請求項37】
請求項36に記載の家庭電子製品であって、前記メディアプレーヤーはMP3プレーヤーであって、前記メディアアイテムは曲である家庭電子製品。
【請求項38】
請求項31に記載の家庭電子製品であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはオーディオプレーヤーを備え、前記メディアアイテムは少なくとも曲のオーディオファイルを含む方法。
【請求項39】
請求項38に記載の家庭電子製品であって、前記メディアプレーヤーは携帯メディアプレーヤーである家庭電子製品。
【請求項40】
請求項31に記載の家庭電子製品であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはビデオプレーヤーを備え、前記メディアアイテムは少なくともビデオのビデオファイルを含む方法。
【請求項41】
請求項40に記載の家庭電子製品であって、前記メディアプレーヤーは携帯メディアプレーヤーである家庭電子製品。
【請求項42】
請求項41に記載の家庭電子製品であって、前記メディアプレーヤーの前記記憶ディスクは複数のメディアアイテムを記憶し、前記メディアプレーヤーはイメージビューワーを備え、前記メディアアイテムは少なくとも画像の画像ファイルを含む方法。
【請求項43】
請求項42に記載の家庭電子製品であって、前記メディアプレーヤーは携帯メディアプレーヤーである家庭電子製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−186576(P2008−186576A)
【公開日】平成20年8月14日(2008.8.14)
【国際特許分類】
【出願番号】特願2008−45351(P2008−45351)
【出願日】平成20年2月27日(2008.2.27)
【分割の表示】特願2003−539048(P2003−539048)の分割
【原出願日】平成14年10月18日(2002.10.18)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】