(58)【調査した分野】(Int.Cl.,DB名)
前記コンテンツ取得制御部は、前記複数のコンテンツにおける先行取得量を再決定するとともに、前記複数のコンテンツの次以降に再生予定のコンテンツにおける先行取得量を再生順序に応じて決定し、その決定した先行取得量に基づいて、前記複数のコンテンツの次以降に再生予定のコンテンツを先行取得する
ことを特徴とする請求項1に記載のコンテンツ再生装置。
【発明を実施するための形態】
【0017】
以下、図面を用いて本発明を実施するための実施形態を説明する。
【0018】
以下で説明する各実施形態では、本発明のコンテンツ再生装置は、コンテンツとして例えば楽曲データを再生する装置に適用した例を用いて説明する。各実施形態では、本発明のコンテンツ再生方法は、楽曲データを再生する装置で行われる再生方法を一例として説明する。各実施形態では、本発明のコンテンツ再生プログラムは、楽曲データを再生する装置に搭載されたコンピュータに楽曲データを再生する処理を実行させるプログラムを一例として説明する。
【0019】
なお、コンテンツは、楽曲データなどの音声データの他に、動画や静止画などの映像データであってもかまわない。また、その他の種々のコンテンツにも適用可能である。
【0020】
(第1実施形態)
図1を参照して、本発明の第1実施形態に係るコンテンツ再生装置の構成を説明する。
図1において、コンテンツ再生装置は、例えばオーディオプレーヤーなどの音楽再生機能を備えた携帯端末で構成することができる。あるいは、コンテンツ再生装置は、据え置き型のオーディオ再生機器や、音楽再生機能を備えた据え置き型のPC(パーソナル・コンピュータ)で構成することができる。
【0021】
コンテンツ再生装置は、通信部11、通信制御部12、楽曲再生部13ならびに楽曲再生制御部14を備える。また、コンテンツ再生装置は、操作部15、表示部16、記憶部17ならびに楽曲取得制御部18を備える。
【0022】
通信部11は、通信制御部12の制御の下に有線もしくは無線の電気通信回線のネットワーク19を介して、サーバー等の外部機器(図示は省略)との間で通信を行う。例えば、通信部11は、WiFi(wireless fidelity)規格(WiFiは登録商標)や、Bluetooth(登録商標)規格などに準拠した通信を用いて、外部機器と通信する。
【0023】
通信部11は、ネットワーク19を介して、外部機器からストリーミング方式で配信される楽曲データを受信して取得する。ここで、ストリーミング方式とは、楽曲データを受信するのと並行してその受信した楽曲データを再生可能にする方式である。
【0024】
通信部11は、ネットワーク19の所定のサーバーに再生順リストが保存されている場合には、楽曲データの再生に先立って再生順リストを受信して取得する。ここで、再生順リストとは、再生を予定している一連の楽曲データの再生順序を表したリストである。再生順リストは、例えばアルバムの曲目リストや、プレイリストなどのユーザー自身が選曲して作成したものなどである。再生順リストは、ネットワーク19の所定のサーバーに代えて、記憶部17に保存することもできる。
【0025】
通信部11は、楽曲データを受信して取得するのに並行して、再生中の楽曲データの次以降に再生予定の楽曲データを受信してキャッシュする。ここで、キャッシュとは、再生中の楽曲データの次以降に再生予定の楽曲データを再生前に先行して取得し一時的に保存する動作である。
【0026】
通信部11は、音楽再生機能の他にコンテンツ再生装置が備えた各種機能を実現するための通信を行う。
【0027】
通信制御部12は、例えば、通信部11が行うそれぞれの通信の品質が保証されるようにそれぞれの通信帯域を調整して確保する。通信制御部12は、配信される楽曲データの転送レート、ならびに通信部11が提供する通信帯域に応じて、上記通信帯域を調整して確保する。
【0028】
楽曲再生部13は、楽曲データを再生するのに必要なアンプやスピーカ(図示せず)を備え、楽曲再生制御部14の制御の下に受信した楽曲データに基づく音声をスピーカから出力して再生する。もしくは、楽曲再生部13は、楽曲データに基づく音声を再生装置の接続端子に接続されたヘッドホンやイヤホンから出力して再生する。
【0029】
楽曲再生制御部14は、ストリーミング方式で楽曲データを受信するのに並行して受信した楽曲データを楽曲再生部13で再生する動作を制御する。楽曲再生制御部14は、再生される楽曲の一時停止、早送り、巻き戻し、次の曲へスキップ、前の曲へ戻る、頭出し、シャッフル再生などの各種再生機能に応じて楽曲データの再生を制御する。楽曲再生制御部14は、再生される楽曲の音量や音質などを調整制御する。
【0030】
操作部15には、通信部11で行う通信、楽曲再生部13で行う楽曲データの再生に関する各種操作が入力される。操作部15には、例えば楽曲データを受信して再生開始を指示する操作や、楽曲をランダムに再生するシャッフル再生を指示する操作などが、ユーザーによって入力される。操作部15は、画面上の表示に触れることで入力操作が可能なタッチパネルで構成することも可能である。
【0031】
表示部16は、例えば液晶パネルなどで構成され、通信部11で行う通信、楽曲再生部13で行う楽曲データの再生に関する表示を行う。表示部16は、通信部11で行われている通信に関する情報、再生中、再生待ちの楽曲のタイトルを表示する。
【0032】
記憶部17は、例えば、ハード・ディスク・ドライブ(HDD)やフラッシュメモリなどの随時アクセス型の記憶装置で構成される。なお、記憶部17は一次的な記憶を行うメモリであってもよい。記憶部17は、取得した楽曲データを記憶する。また、記憶部17は、楽曲データの再生動作、ならびに楽曲データの取得動作を含む本装置で行われる動作をコンピュータで実現するために必要となるプログラムを記憶する。記憶部17は、本発明のコンテンツ再生プログラムを記憶する。
【0033】
楽曲取得制御部18は、通信部11を介して楽曲データを受信して取得する動作を制御する。楽曲取得制御部18は、通信部11を介して楽曲データを受信して取得するのに並行して、再生中の楽曲データの次以降に再生予定の複数の楽曲データをキャッシュする動作を制御する。
【0034】
楽曲取得制御部18は、キャッシュする複数の楽曲データの先行取得量を再生順序に応じて決める。すなわち、楽曲取得制御部18は、再生中の楽曲データの次以降に再生予定の複数の楽曲データの内、再生順序が早い楽曲データほど先行取得量が多くなるように、再生中の楽曲データの次以降に再生予定の楽曲データを取得し、記憶部17に記憶させる。なお、現在再生中の楽曲データの次以降に再生予定の楽曲データにおいて、再生順序が現在再生中の楽曲データに近い楽曲データであるほど、再生順序が早い楽曲データであると言える。
【0035】
楽曲取得制御部18は、それぞれの楽曲データ毎に先行取得する動作を複数回に分けて行い、それぞれのコンテンツの先行取得量を段階的に増やす。この動作の詳細については後述する。
【0036】
先行取得量は、配信されるファイル形式に応じて、楽曲データが再生される時間、もしくは楽曲データのデータ量として設定される。
【0037】
第1ならびに第2実施形態のコンテンツ再生装置は、プログラムに基づいて各種動作処理を制御するコンピュータによって実現してもよい。このコンピュータは、CPU、記憶装置、入出力装置等の資源を備える。コンテンツ再生装置は、操作部15から与えられた操作を入力し、入力した操作ならびに予め記憶部17に保有するコンテンツ再生プログラムに応じて、
図2もしくは
図10に示す手順を実行する。これにより、コンテンツ再生装置は、以下に説明する本発明に係る楽曲データの再生ならびに楽曲データのキャッシュ動作を行う。したがって、コンテンツ再生装置を構成する各部が担っている機能は、ソフトウェアとハードウェア資源とが協働した具体的なコンテンツ再生装置によって実現される。
【0038】
次に、
図2を参照して、第1実施形態におけるコンテンツ再生装置の動作について説明する。なお、先行取得量を楽曲データが再生される時間(キャッシュ時間)として設定した例について説明する。
図2において、先ずステップS101では、操作部15を介してユーザーによりネットワーク19から楽曲データの再生順リストを受信して取得する指示が与えられる。続いて、再生順リストが取得されると、操作部15を介してユーザーにより再生順リストが操作され、再生順リストに示された再生順序に応じて楽曲データを再生する指示が与えられる。これにより、楽曲再生部13は、楽曲再生制御部14の制御の下に楽曲データの再生を開始する。
【0039】
このときに、楽曲再生制御部14は、シャッフル再生などの楽曲のランダム再生が指示されているか否かを判別する。楽曲再生制御部14は、シャッフル再生が指示されている場合には、シャッフル再生の順序を決定した後、楽曲データの再生を開始する。つまり、楽曲再生制御部14は、シャッフル再生が指示されている場合には、楽曲再生順がランダムになるように再生順リストを作成する。
【0040】
ステップS102では、通信制御部12は、装置が行う各通信の通信帯域を設定する。通信制御部12は、先ず現在再生中の楽曲の再生品質が保証されるように楽曲データを受信する通信帯域を確保する。次いで、通信制御部12は、残りの通信帯域から再生中の楽曲データのキャッシュ、及び再生中の楽曲データの次以降に再生予定の楽曲データをキャッシュするための通信帯域を確保する。この通信制御部12は、通信環境を継続的に監視し、通信環境に変化があった場合は、逐次再生品質の保証、及びキャッシュするための通信帯域の確保を行う。なお、
図1のフローチャートではこのような監視動作は省略している。
【0041】
ステップS103では、楽曲取得制御部18は、通信部11を介してネットワーク19から再生予定の楽曲データのキャッシュを開始する。楽曲取得制御部18は、キャッシュ関数にしたがってキャッシュを行う。
【0042】
キャッシュ関数は、例えば
図3に示すような関数として設定され、例えば、予め記憶部17に記憶されて用意される。キャッシュ関数は、現在再生中の楽曲データに対する次以降の相対的な楽曲データの再生順序(横軸)と、総キャッシュ時間(先行取得量)(縦軸)との関係を示した関数である。なお、キャッシュ時間とは、その楽曲データを再生可能な時間であり、キャッシュ時間60秒分のキャッシュを行った場合は、その後、その楽曲データを受信しなくても60秒間はその楽曲を再生することができる。楽曲データの形式が全く同じであれば、キャッシュ時間と、キャッシュしたデータ量とは比例することとなる。
【0043】
図3において、この第1実施形態では、4つのキャッシュ関数CF101〜CF104が用意されている。各キャッシュ関数CF101〜CF104は、再生順序と総キャッシュ時間とが傾きが負の一次関数の関係にある。
【0044】
例えば楽曲データ0〜楽曲データ13を、楽曲データ0〜楽曲データ13の順序で再生する場合に、楽曲データ0が再生されているときには、楽曲データ1は再生順序が1位となり、楽曲データ2から楽曲データ13は再生順序が2位から13位となる。次いで、楽曲データ0の再生が終了して、楽曲データ1が再生されると、楽曲データ2は再生順序が1位に繰り上がり、楽曲データ3から楽曲データ13は再生順序が2位から12位にそれぞれ繰り上がる。
【0045】
各キャッシュ関数CF101〜CF104は、楽曲データ0〜楽曲データ13を楽曲データ0〜楽曲データ13の順序で再生する場合の一例であり、再生順序と総キャッシュ時間の具体的な数値は、例えば
図4に示すように規定される。各キャッシュ関数CF101〜CF104における総キャッシュ時間は、キャッシュ時間の上限値を示している。例えば再生順序が1位の楽曲データの総キャッシュ時間は、キャッシュ関数CF101では60秒となり、キャッシュ関数CF102では120秒となる。
【0046】
キャッシュ関数CF101〜CF104は、同じ楽曲データが再生中であれば、キャッシュ関数CF101〜CF104の順序で用いられる。キャッシュ関数CF101〜CF104は、再生する楽曲データが変わると、変わる前で用いていたキャッシュ関数CF101〜CF104にかかわらず、新たにキャッシュ関数CF101から順に用いられる。
【0047】
ステップS103では、楽曲取得制御部18は、先ずキャッシュ関数CF101を用いて、現在再生中の楽曲データの次に再生予定の楽曲データのキャッシュを開始する。そして、再生順序1位の楽曲データをキャッシュ時間が60秒に達するまでキャッシュする。これにより、その後、再生順序1位の楽曲データを受信できなくても再生順序1位の楽曲データを60秒間再生することができるだけのデータをキャッシュしたこととなる。次に再生順序2位の楽曲データをキャッシュ時間が40秒に達するまでキャッシュし、次に再生順序3位の楽曲データをキャッシュ時間が20秒に達するまでキャッシュする。再生順序3位以降の楽曲データについてはキャッシュ時間が0秒以下なのでキャッシュしない。そして、楽曲取得制御部18は、キャッシュした楽曲データを記憶部17に記憶させる。
【0048】
ステップS104では、楽曲再生制御部14は、現在再生中の楽曲データの再生が終了したか否かを判別する。判別の結果、終了していない場合には、ステップS105で示す処理を実行する。一方、終了した場合には、ステップS108で示す処理を実行する。
【0049】
ステップS105では、楽曲取得制御部18は、現在キャッシュしている楽曲データの総キャッシュ時間がキャッシュ関数CF101で規定している全てのキャッシュ時間に到達したか否かを判別する。判別の結果、到達していない場合には、先のステップ103に戻ってキャッシュを継続する。一方、到達した場合には、ステップS106に示す処理を実行する。
【0050】
ステップS106では、楽曲取得制御部18は、キャッシュ関数CF101で規定しているキャッシュ時間までキャッシュしていない楽曲データがあるか否かを判別する。すなわち、再生順序が1位〜3位のすべての楽曲データ1〜3がキャッシュされたか否かを判別する。
【0051】
判別の結果、キャッシュされていない楽曲データがある場合には、先のステップS103に戻って、次にキャッシュ予定の楽曲データのキャッシュを開始する。一方、キャッシュされていない楽曲データがない場合、すなわち再生順序が1位〜3位のすべての楽曲データ1〜3のキャッシュが完了した場合には、ステップS107で示す処理を実行する。
【0052】
ステップS107では、楽曲取得制御部18は、次に用いるキャッシュ関数があるか否かを判別する。キャッシュ関数がある場合には、先のステップS103に戻って、次のキャッシュ関数、ここではキャッシュ関数CF102を用いてキャッシュを継続する。つまり、再生順序が1位〜6位の楽曲データのキャッシュ時間が、それぞれ、120秒、100秒、80秒、60秒、40秒、20秒になるまで、順にキャッシュを行う。以下、キャッシュ関数CF103、キャッシュ関数CF103についても同様である。
【0053】
このように、楽曲取得制御部18は、キャッシュ関数CF101に基づいて決定した先行取得量に基づいて複数の楽曲データを先行取得した後に、その複数のコンテンツにおける先行取得量がさらに多くなるように、キャッシュ関数CF102に基づいて複数のコンテンツにおける先行取得量を再決定し、その後、その再決定した先行取得量に基づいて、複数のコンテンツを再度先行取得する。
【0054】
なお、先行取得する対象の楽曲データの数は必ずしも増やさなくてもよいが、本実施形態においては、キャッシュ関数CF102においては先行取得する対象の楽曲データの数を、キャッシュ関数CF101において先行取得する対象の楽曲データの数よりも多くしている。具体的には、キャッシュ関数CF101では先行取得する対象の楽曲データの数が3つだったのに対して、キャッシュ関数CF102では先行取得する対象の楽曲データの数を6つにしている。
【0055】
このように、キャッシュ関数CF101のときに先行取得した複数の楽曲データに加えて、その複数の楽曲データの次以降に再生予定の楽曲データについても先行取得するようにすれば、ユーザーの利便性をより高めることができる。
【0056】
一方、キャッシュ関数がない場合、すなわちキャッシュ関数CF101〜CF104を用いたすべてのキャッシュが完了した場合には、ステップS104に示す処理を実行する。
【0057】
ここで、例えば楽曲データ0の再生中に、キャッシュ関数CF101を用いたキャッシュが完了した後、キャッシュ関数CF102〜CF104を用いてキャッシュを継続するシーンを一例として説明する。この場合に、楽曲データ1の総キャッシュ時間は、キャッシュ関数CF101で規定された60秒に到達している。一方、キャッシュ関数CF102で規定された楽曲データ1の総キャッシュ時間は120秒に規定されている。したがって、キャッシュ関数CF102を用いた楽曲データ1のキャッシュでは、総キャッシュ時間が120秒となるように最大60秒を上限に追加でキャッシュされる。
【0058】
同様に、楽曲データ2の総キャッシュ時間は、キャッシュ関数CF101で規定された40秒に到達している。したがって、キャッシュ関数CF102を用いた楽曲データ2のキャッシュでは、総キャッシュ時間が100秒となるように最大60秒を上限に追加でキャッシュされる。
【0059】
このように、楽曲データ0が再生中であれば、キャッシュ関数CF101〜CF104を順次用いて楽曲データのキャッシュが行われる。また、本実施形態においては、楽曲データ0の再生中に、キャッシュ関数CF101〜CF104を用いたキャッシュが完了した場合には、再生中の楽曲データ0が終了するまで新たなキャッシュは行わないが、さらにキャッシュを行ってもよい。どの程度までキャッシュを行うかは、記憶部17の残り容量に応じて適宜決めることができる。
【0060】
以上のように、キャッシュ関数CF101からCF104なるに従って、キャッシュする対象の楽曲データが多くなり、また、同じ再生順序の楽曲データに対するキャッシュ時間が長くなるようになっている。このようにすることで、それぞれのコンテンツの先行取得量を段階的に増やすことができる。
【0061】
ステップS108では、楽曲再生制御部14は、次に再生する楽曲データがあるか否かを判別する。すなわち、楽曲再生制御部14は、再生順リストに示されているすべての楽曲データが再生されたか否かを判別する。判別の結果、再生する楽曲データがある場合には、先のステップS102に示す処理に戻って、楽曲データの再生とキャッシュを継続する。
【0062】
ここで、例えば楽曲データ0の再生が終了して、次に再生予定の楽曲データ1の再生が開始されたシーンを一例として説明する。例えばキャッシュ関数CF102を用いて再生順序が1位の楽曲データ1をキャッシュしているときに、楽曲データ0の再生が終了したものとする。この場合には、楽曲データ2の再生順序は2位から1位に繰り上がり、キャッシュ関数CF101を用いて楽曲データ2のキャッシュが開始される。キャッシュ関数CF101における楽曲データ2の総キャッシュ時間は60秒である。一方、楽曲データ2は、楽曲データ0の再生中にキャッシュ関数CF101を用いて総キャッシュ時間が40秒に到達するまでキャッシュされている。したがって、楽曲データ2は、楽曲データ1が再生されているときには、総キャッシュ時間が60秒に到達するまで最大20秒を上限に追加でキャッシュされる。
【0063】
一方、上記判別の結果、次に再生する楽曲データがない場合、すなわち再生順リストに記載されているすべての楽曲データを再生した場合には、上記一連の処理を終了する。このように、上記一連の処理を実行して、楽曲データの再生と並行して次以降再生予定の楽曲データのキャッシュが行われる。
【0064】
以上説明したように、この第1実施形態においては、再生中の楽曲データを取得するのに並行して、先行取得する楽曲データの総キャッシュ時間を楽曲データの再生順序に応じて決める。これにより、再生順序が早いほど楽曲データの総キャッシュ時間を多くすることが可能となる。これにより、通信速度が十分でない場合や、通信手段そのものが一時的に使用不能になった場合でも、現在再生中の楽曲データの次の楽曲データの再生が開始した際に、ユーザーはより長く楽曲データの再生を継続できる。また、その曲に対しユーザーがスキップ操作を行い、さらに次の楽曲データの再生が開始された場合でも、それ以降の楽曲データよりもキャッシュされている時間が長い為、より長く再生が可能であり、取得済みの楽曲データのキャッシュを有効利用することが可能となっている。
【0065】
また、第1実施形態においては、楽曲データをキャッシュする際に楽曲データの総キャッシュ時間を段階的に増やしている。これにより、例えば楽曲データをキャッシュする際の通信速度が十分でない場合でも、最初のうちは1曲の総キャッシュ時間が少ないので、以降の複数の楽曲データについてもキャッシュする余裕を確保することが可能となり、現在再生中の楽曲データの次以降に再生予定の複数の楽曲データをキャッシュすることができる。この結果、ユーザー操作により次に再生予定の曲がスキップされ、更に次の楽曲データの再生が開始された場合でも、ユーザーはスムーズなストリーミング再生の開始が可能となり、ユーザーの利便性を高めることができる。
【0066】
なお、上記第1実施形態において、キャッシュされた楽曲データは、楽曲データを一時的に保存する記憶部17の記憶容量が許す限り保存される。楽曲データの総キャッシュ量の上限値は、ユーザーが指定するようにしてもよいし、楽曲取得制御部18の制御の下に記憶部17の残容量に応じて増減させるようにしてもよい。
【0067】
キャッシュされて記憶部17に保存された楽曲データは、再生順リストの楽曲データがすべて再生終了した後、削除してもかまわない。一方、キャッシュされて記憶部17に保存された楽曲データは、ユーザーのバックスキップ操作などを考慮して、キャッシュに使用できる記憶容量が許す限り保存しておいてもよい。ただし、再生後の楽曲データのキャッシュよりも再生前の楽曲データのキャッシュを優先的に保存することは言うまでもない。
【0068】
記憶部17のキャッシュに使用できる記憶容量の上限に達した場合には、再生済みの楽曲データのキャッシュから削除される。
【0069】
この第1実施形態では、キャッシュ関数は、
図3に示すように楽曲データの再生順序と総キャッシュ時間とが傾きが負の一次関数の関係にあるが、この関係に限ることはない。例えば、キャッシュ関数は、再生順序が早いほど総キャッシュ時間が多くなるような任意の関数を用いることができ、例えば再生順序と総キャッシュ時間とが
図5に示すような漸近線をもつ有理関数により示される関係であってもよい。
図5に示すキャッシュ関数CF203は、キャッシュを保存する記憶容量が許すならば再生順序が1位と2位の楽曲データは、丸ごとキャッシュすることになる。
図5に示すキャッシュ関数CF204では、キャッシュを保存する記憶容量が許すならば再生順リストの全ての楽曲データについてキャッシュすることになる。つまり、部分的にではあるが、全ての楽曲データについてのデータを先行取得する。
【0070】
図3ならびに
図5に示す4つのキャッシュ関数は、同様に変化する関数を平行移動させた関数群で構成しているが、これに限ることはない。複数のキャッシュ関数は、変化が異なる関数を混在させて構成してもよい。例えば
図6に示すように、キャッシュ関数CF301とCF301は、先の
図3に示すキャッシュ関数CF101〜CF102と同様に変化する関数で構成することができる。キャッシュ関数CF303とCF304は、先の
図5に示すキャッシュ関数CF203〜CF204と同様に変化する関数で構成することができる。
【0071】
また第1実施例ではキャッシュするデータ量を総キャッシュ時間として、時間を単位としたキャッシュ関数で示したが、コンテンツがデータである以上、バイト(byte)を単位としたキャッシュ関数を用いてもよい。
【0072】
従来の技術は、次に再生される予定の1つ以上のコンテンツについて、定められたデータ量の部分データの取得が完了した状態で、通信環境に問題が発生し一時的にコンテンツデータの受信が出来なくなった場合などにおいて、現在再生中のコンテンツの聴取が完了し、次のコンテンツの再生が開始されると、コンテンツの再生順と無関係に、コンテンツの先頭から取得済みの区間しか再生できず、以降に再生予定のコンテンツの部分データは、ユーザーにとって利便性の低いものとなってしまっていた。また、先行取得する部分データは予め定められた量を受信しようとするが、通信速度が十分でない場合、再生順の近いコンテンツの部分データの取得に留まってしまい、複数のコンテンツの部分データの取得が必ずしも可能ではなかった。それに対し、本実施形態のコンテンツ再生装置によれば、先行取得する複数のコンテンツの先行取得量を再生順序に応じて決めるため、現在再生中のコンテンツの次に再生される可能性が高いコンテンツほど先行取得量を多くすることが可能となり、ユーザーの利便性を高めることができる。
【0073】
(第2実施形態)
図7を参照して、本発明の第2実施形態に係るコンテンツ再生装置の構成を説明する。
図7において、コンテンツ再生装置は、先の
図1に示すコンテンツ再生装置に対して、楽曲評価部21を加え、楽曲取得制御部18に代えて新たな楽曲取得制御部22を備える。他は先の第1実施形態のコンテンツ再生装置と同様である。なお、
図7に示す構成において、
図1に示す構成と同様の構成には、同一の符号を付してその説明は省略する。
【0074】
図7において、楽曲評価部21は、楽曲データに対するユーザーの嗜好を評価した評価結果を作成する。楽曲評価部21は、評価結果を例えば5段階に点数化(1〜5)して作成する。この場合、点数が大きいほど評価結果が高いものとする。つまり、点数が大きい楽曲ほどユーザーの嗜好に合っている可能性が高い楽曲であるとも言える。
【0075】
評価結果は、操作部15を介してユーザーが直接入力した情報に応じて作成することができる。もしくは、評価結果は、楽曲評価部21が、楽曲データの再生頻度やスキップ再生頻度などの情報に応じて作成することができる。楽曲データの再生頻度やスキップ頻度などの評価結果を作成する情報は、楽曲再生制御部14で取得されて記憶部17に記憶され、必要に応じて楽曲評価部21によって読み出される。また、評価結果は外部のサーバーから取得するようにしてもよい。
【0076】
楽曲取得制御部22は、楽曲評価部21で作成された評価結果に応じて、評価結果を反映した評価キャッシュ関数CF401〜CF404を作成する。楽曲取得制御部22は、基準キャッシュ関数を用いて、評価キャッシュ関数CF401〜CF404を作成する。基準キャッシュ関数は、例えば
図3に示すキャッシュ関数CF101〜CF104を用いることができる。
【0077】
楽曲取得制御部22は、再生順序に応じて作成された基準キャッシュ関数CF101〜CF104を評価結果に応じて補正し、評価キャッシュ関数を作成して総キャッシュ時間を決定する。楽曲取得制御部22は、評価キャッシュ関数CF401〜CF404を作成して楽曲データをキャッシュする以外は、先の第1実施形態の楽曲取得制御部18と同様に機能する。
【0078】
各評価キャッシュ関数CF401〜CF404の総キャッシュ時間は、例えば次式(1)で算出される。
【0079】
評価キャッシュ関数の総キャッシュ時間=
基準キャッシュ関数の総キャッシュ時間×評価結果/3+{10×(評価結果−3)}
…(1)
上式(1)において、評価結果は、上記したように、例えば5段階の点数1〜5の数値である。
【0080】
評価キャッシュ関数CF401〜CF404の一例を
図8に示す。上式(1)で算出される評価キャッシュ関数CF401〜CF404の総キャッシュ時間と評価結果との数値の一例を
図9に示す。なお、
図9において、総キャッシュ時間が負の値(「−」が付された値)となっている場合は、キャッシュしないことを示す。
【0081】
次に、
図10を参照して、第2実施形態におけるコンテンツ再生装置の動作について説明する。
図10において、先の
図2と異なる点は、ステップS102とステップS103との間に、ステップS201に示す処理を実行するようにしたことである。また、ステップ107に代えてステップ202に示す処理を実行するようにしたことである。他は
図2に示す処理と同様であるので、同一の符号を付してその説明は省略する。
【0082】
ステップS201では、楽曲取得制御部22は、楽曲評価部21で作成された評価結果に応じて、評価キャッシュ関数CF401〜CF404を作成して、総キャッシュ時間を決定する。
【0083】
その後、先の
図2のステップS103に示す処理を実行して、評価キャッシュ関数CF401〜CF404を用いた楽曲データのキャッシュが開始される。ステップS106に示す処理が終了した後、先のステップS107では、次に用いるキャッシュ関数CF104〜CF104があるか否かを判別している。これに対して、ステップS202では、キャッシュ関数CF104〜CF104に代えて評価キャッシュ関数CF401〜CF404があるか否かを判別する。
【0084】
このように、
図10に示す一連の処理を実行することで、先の第1実施形態と同様にして楽曲データのキャッシュが行われる。
【0085】
以上説明したように、この第2実施形態では、ユーザーの嗜好を示す評価結果を反映させて楽曲データの総キャッシュ時間を決める。評価結果の数値が高い楽曲データは、ユーザー嗜好に合致している可能性が高く、再生中のスキップ操作や停止操作が行われず、楽曲データの開始から終了まで再生聴取される可能性が高い。したがって、第2実施形態によれば、楽曲データの開始から終了まで再生聴取されるような、ユーザー嗜好に合致している曲の総キャッシュ時間を多くすることが可能となる。通信速度が十分でない場合や、通信手段そのものが一時的に使用不能になった場合でも、現在再生中の曲の次の楽曲データの再生を開始した際に、ユーザーは嗜好にあった楽曲データほどより長く楽曲データの再生聴取を継続できる。
【0086】
また、ユーザーの嗜好に合致しないとされる評価結果の低い楽曲データは、その曲に対しユーザーがスキップ操作を行う可能性が高い為、総キャッシュ時間を予め少なくする事で、キャッシュに使用する記憶容量を有効に活用することができる。
【0087】
なお、上記第2実施形態において、シャッフル再生を行う場合は、総キャッシュ時間が多い順に再生されるように、シャッフル再生時の楽曲データの再生順を変更するようにしてもよい。
【0088】
また、評価キャッシュ関数と基準キャッシュ関数、評価結果の関係は一例である。評価結果を5段階としている点も含め、限定するものではない。例えば評価結果は有理数としてもよいし、関数は、より高次な関数として表現しても良く、再生順が早く、評価結果が高い曲ほどキャッシュ量が多くなるような任意の関数で表現してよい。
【0089】
本発明のコンテンツ再生プログラムは、記録媒体に記録して提供してもよく、インターネット等の電気通信回線にてコンテンツ再生プログラムを配信してもよい。記録媒体に記録されたコンテンツ再生プログラムや電気通信回線にて配信されたコンテンツ再生プログラムは、コンテンツ再生装置に記憶させて、上述したコンテンツ再生方法を実行させるようにしてもよい。