以下、本発明の実施の形態について、図面を参照して説明する。
本実施の形態では、本発明のプレイリスト生成装置を携帯型の音楽再生装置に適用した場合について説明する。なお、携帯型の音楽再生装置に限らず、本発明のプレイリスト生成装置は種々の電子機器に適用することができる。
図1は、本実施の形態に係る音楽再生装置の構成を示すブロック図である。図1に示すように音楽再生装置1は、ネットワーク2を介して経路検索サーバ3およびタイムサーバ4に接続されている。
音楽再生装置1は、入力部11と、通信部12と、表示部13と、コンテンツ記憶部14と、プレイリスト記憶部15と、音声出力部16と、時刻情報出力部17と、制御部18とを備える。
入力部11は、ユーザが経路検索等の入力操作を行うための入力デバイス装置である。入力部11は、ユーザ操作に応じた操作信号を出力する。入力部11は、タクトボタンなどのハードボタンデバイス、静電容量センサーデバイス、感圧式センサーデバイス等の各種入力デバイスからなる。
通信部12は、ネットワーク2を介して経路検索サーバ3およびタイムサーバ4との通信を行う。通信部12は、無線LAN装置、携帯電話等の通信装置からなる。
表示部13は、後述の経路情報、プレイリスト、コンテンツの再生状態等を表示する。表示部13は、液晶ディスプレイ、有機ELディスプレイ等の表示デバイス装置からなる。
コンテンツ記憶部14は、コンテンツとして、WAV、WMA、MP3、AACなどの各種音声ファイル情報を記憶している。本実施の形態では、コンテンツは音楽コンテンツとする。コンテンツ記憶部14に記憶されている各コンテンツは、音楽再生装置1で生成するプレイリストへの加入対象のコンテンツである。
また、コンテンツ記憶部14は、記憶しているコンテンツのコンテンツ名と再生時間のリストであるコンテンツリストを記憶している。コンテンツリストの一例を図2に示す。また、コンテンツ記憶部14は、記憶しているコンテンツの再生時間の分布データも記憶している。この分布データの一例を図3に示す。なお、後述する制御部18は、コンテンツ記憶部が記憶しているコンテンツの追加・削除・修正等を行うが、その際に、制御部18は、分布データも更新する。
プレイリスト記憶部15は、後述のプレイリスト生成部182により生成されたプレイリストを記憶する。プレイリストは、図4に示すように、ユーザの指示により検索された経路において再生するコンテンツの再生順を示すものである。
コンテンツ記憶部14およびプレイリスト記憶部15は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置からなる。なお、コンテンツ記憶部14およびプレイリスト記憶部15は単一の記憶部で構成してもよいし、複数の記憶部で構成してもよい。また、音楽再生装置1の外部に記憶部がある構成にし、通信することによって、コンテンツ記憶部14やプレイリスト記憶部15が記憶しているデータを取得するようにしてもよい。
音声出力部16は、コンテンツの再生時に音声を出力する。音声出力部16は、マイクロアンプとスピーカ、ヘッドフォン・LINE OUTなどの各種端子、無線伝送装置等からなる。
時刻情報出力部17は、後述の再生動作部183に現在時刻を示す時刻情報を出力する。時刻情報出力部17は、リアルタイムクロック(RTC)等からなる。時刻情報出力部17は、定期的に通信部12およびネットワーク2を介してタイムサーバ4にアクセスして現在時刻との同期を取る。
制御部18は、音楽再生装置1全体の動作を制御する。制御部18は、CPU、CPUの動作のためのプログラム等を格納するROM、CPUのワーク領域として使用されるRAM等によって機能モジュールとして構成することができる。制御部18は、経路検索部181と、プレイリスト生成部182と、再生動作部183とを備える。
経路検索部181は、ユーザによる経路検索条件の入力操作に応じた操作信号を入力部11から受け取ると、通信部12およびネットワーク2を介して経路検索サーバ3に経路検索リクエストを送信し、経路検索サーバ3から経路検索結果を取得する。経路検索結果の具体例を図5に示す。本実施の形態では、交通機関として鉄道を例に説明する。経路検索部181は、経路検索結果として、ユーザにより指定された乗車駅(出発地点)、降車駅(目的地点)等に基づいて、乗車駅、降車駅、およびその間の列車(乗物)の途中停車駅(途中停止地点)の各駅における到着時刻および出発時刻を取得する。図5の例では、経路検索部181は、乗車駅であるA駅、降車駅であるE駅、およびその間の途中停車駅であるB,C,D駅の各駅における到着時刻および出発時刻を取得する。
また、経路検索部181は、経路検索結果に基づいて、図6に示すような、乗車駅から降車駅までの所要時間、各駅間の所要時間、各途中停車駅での停車時間を算出する。このように、経路検索部181は、経路検索結果およびこれに基づく計算により、経路情報を取得する。経路情報は、乗車駅から降車駅までの各駅における発着時刻(出発時刻および到着時刻)、およびこれにより算出される、乗車駅から降車駅までの所要時間、各駅間の所要時間、各途中停車駅での停車時間を含む。
なお、経路検索サーバ3が、乗車駅から降車駅までの所要時間、各駅間の所要時間、および各途中停車駅での停車時間の情報を保持している場合、経路検索部181は、これらを各駅の発着時刻から算出するのではなく、経路検索サーバ3から取得してもよい。
また、経路検索部181は、経路情報を表示部13に表示させる。例えば、経路検索部181は、図7に示すような経路情報画面20を表示部13に表示させることにより、ユーザに経路情報を提供する。
プレイリスト生成部182は、経路情報を用い、コンテンツ記憶部14のコンテンツリストを参照して、乗車駅からの出発時刻から順次再生されるコンテンツのプレイリストを生成する。本実施の形態では、プレイリスト生成部182は、列車の途中停車駅における停車中(停止中)はコンテンツの切り替えがなく、降車駅への到着時刻を含む所定期間内に最後のコンテンツの再生が終了するように、プレイリストを生成する。プレイリスト生成部182は、生成したプレイリストをプレイリスト記憶部15に記憶させる。また、プレイリスト生成部182は、プレイリストによるコンテンツの再生が開始される際等に、プレイリストを表示部13に表示させる。
再生動作部183は、プレイリスト記憶部15に記憶されたプレイリストに基づいて、コンテンツ記憶部14からコンテンツを読み出して再生し、音声出力部16によりコンテンツの音声を出力させる。再生動作部183は、ユーザ操作に応じて、再生、停止、一時停止などの各種再生処理を行う。また、再生動作部183は、コンテンツの再生状態を表示部13に表示させる。
ネットワーク2は、インターネットなどのコンピュータネットワークや携帯電話網などである。
経路検索サーバ3は、図8に示すような各鉄道路線のダイヤ情報や運行情報リストを保持するサーバ装置である。経路検索サーバ3は、音楽再生装置1からの経路検索リクエストの内容に応じて経路の検索を行い、得られた経路検索結果を音楽再生装置1に対して送信する。
タイムサーバ4は、現在時刻の情報を保持するサーバ装置である。タイムサーバ4は、リクエストに応じて音楽再生装置1に現在時刻の情報を提供する。
次に、音楽再生装置1におけるプレイリストを生成する動作について説明する。
図9は、音楽再生装置1でプレイリストを生成する処理の手順を示すフローチャートである。
図9のフローチャートの処理は、経路検索部181が、ユーザによる経路検索条件の入力操作に応じた操作信号を入力部11から受け取ることにより開始となる。経路検索条件として、乗車駅および降車駅が指定される。また、乗車駅の出発時刻、降車駅の到着時刻、その他の条件から選択された条件が指定される。
まず、ステップS10において、経路検索部181は、ユーザ操作により指定された経路検索条件を含む経路検索リクエストを、通信部12およびネットワーク2を介して経路検索サーバ3に送信する。音楽再生装置1からの経路検索リクエストを受信した経路検索サーバ3は、経路検索リクエストの内容に応じて経路の検索を行う。そして、経路検索サーバ3は、得られた経路検索結果を音楽再生装置1に対して送信する。経路検索サーバ3は、経路検索リクエストに対応する経路検索結果が得られない場合は、その旨を音楽再生装置1に通知する。
ステップS20では、経路検索部181は、経路検索サーバ3からの経路検索結果の取得に成功したか否かを判断する。経路検索部181は、経路検索結果の取得に成功したと判断した場合(ステップS20:YES)、ステップS30に進み、経路検索結果を取得できなかったと判断した場合(ステップS20:NO)、処理を終了する。
ステップS30では、経路検索部181は、経路検索サーバ3から取得した経路検索結果に基づいて、乗車駅から降車駅までの所要時間、各駅間の所要時間、各途中停車駅での停車時間をそれぞれ算出する。これにより経路情報が得られると、経路検索部181は、図7に示したような経路情報画面20を表示部13に表示させることにより、ユーザに経路情報を提供する。
ステップS40では、プレイリスト生成部182は、各途中停車駅での停車時に再生されるコンテンツを決定する。また、プレイリスト生成部182は、このコンテンツの再生開始時刻を決定する。プレイリスト生成部182は、各途中停車駅での停車時に再生されるコンテンツとして、各途中停車駅での停車中にコンテンツが切り替わらないように、停車時間より十分に長く、かつ、次の駅に到着する前に再生が終了する長さのコンテンツを選択する。ステップS40における具体的な処理については後述する。
そして、ステップS50において、プレイリスト生成部182は、各停車駅間(各停止地点間)で再生されるコンテンツを決定する。ステップS50が終了したら、プレイリストを生成する処理が終了する。ステップS50における具体的な処理については後述する。
次に、図9のステップS40における具体的な処理内容について説明する。
図10は、図9のステップS40において各途中停車駅での停車時に再生されるコンテンツおよびこのコンテンツの再生開始時刻を決定する処理の手順を示すフローチャートである。
まず、ステップS110において、プレイリスト生成部182は、すべての途中停車駅に対してコンテンツが割り当てられているか否かを判断する。
コンテンツが割り当てられていない途中停車駅があると判断した場合(ステップS110:NO)、プレイリスト生成部182は、ステップS120において、コンテンツが割り当てられていない途中停車駅のうちの1つを選択する。
次いで、ステップS130において、プレイリスト生成部182は、ステップS120で選択した途中停車駅での停車時に再生されるコンテンツを選択する。
ここで、プレイリスト生成部182は、ステップS120で選択した途中停車駅での列車の停車時間に所定係数Kを乗じた値Tkを算出し、Tk以上の再生時間を持つコンテンツを抽出する。所定係数Kは1より大きな値であればよい。ただし、途中停車駅での停車時に再生されるコンテンツとして停車時間に近い再生時間のコンテンツを選択した場合、到着直前または出発直後にコンテンツが切り替わる可能性がある。そのため、所定係数Kとして1.5程度の値を用いるとよい結果が得られやすい。ただし、K=1.5に限定されるものではない。
次いで、プレイリスト生成部182は、図2に示したような、コンテンツ記憶部14のコンテンツリストを参照して、Tk以上の再生時間を持つコンテンツを抽出する。ここで抽出されたコンテンツの集合をΩとする。
次いで、プレイリスト生成部182は、ステップS120で選択した途中停車駅での停車時間と、その途中停車駅から次の途中停車駅までの所要時間を加算した値τを算出する。そして、プレイリスト生成部182は、集合Ωに含まれるコンテンツを対象にして、再生時間がτ未満であるコンテンツを1つ選択する。プレイリスト生成部182は、この選択したコンテンツを、ステップS120で選択した途中停車駅での停車時に再生されるコンテンツとする。
例えば、図5に示した経路におけるB駅がステップS120で選択されたとする。この場合、図6に示すように、B駅での列車の停車時間は30秒である。プレイリスト生成部182は、30秒にK=1.5を乗算したTk=45秒以上の再生時間を持つコンテンツをコンテンツ記憶部14のコンテンツリストから抽出してコンテンツの集合Ωを得る。一方、B駅から次の途中停車駅であるC駅までの所要時間が7分であるため、τ=7分30秒である。プレイリスト生成部182は、集合Ωから、τ=7分30秒未満の再生時間のコンテンツを1つ選択し、これをB駅での停車時に再生されるコンテンツとする。これにより、B駅での停車時に再生されるコンテンツとしては、再生時間が45秒以上で7分30秒未満のコンテンツが選択される。
なお、コンテンツの再生時間は、クロスフェードなどの種々の再生方法を用いたりして、短くなるよう調整することができる。このため、上述した再生時間がτ未満であるという条件は必ずしも満たさなくてもよい。つまり、途中停車駅での停車時に再生されるコンテンツは、少なくとも、途中停車駅での列車の停止時間に1より大きい所定係数を乗算した時間以上の再生時間のコンテンツであればよい。
以上のようにして、プレイリスト生成部182は、ステップS120で選択した途中停車駅での停車時に再生されるコンテンツを選択する。なお、プレイリスト生成部182は、ステップS130におけるコンテンツの選択にあたり、プレイリスト記憶部15に記憶されている過去に生成されたプレイリストにおけるコンテンツの使用頻度を参照してもよい。この場合、プレイリスト生成部182は、例えば、過去のプレイリストにおいて使用頻度が高いコンテンツを選択対象から除外したり、使用頻度が低いコンテンツを優先的に選択したりする。
次いで、ステップS140において、プレイリスト生成部182は、ステップS130で選択したコンテンツの再生開始時刻を決定する。プレイリスト生成部182は、途中停車駅での停車時に再生されるコンテンツの再生開始時刻を、当該途中停車駅への到着時刻よりも前になるように決定する。その理由は、ユーザが途中停車駅を降車駅であると勘違いしないよう、途中停車駅の発着前後ではコンテンツが再生されている状態を保つためである。
ステップS140でコンテンツの再生開始時刻を決定する方法について、図11を参照して説明する。図11において、t2,t3はそれぞれ、列車の途中停車駅への到着時刻、当該途中停車駅からの出発時刻である。また、t1,t4はそれぞれ、ステップS130で選択されたコンテンツの再生開始時刻、再生終了時刻である。
前述のとおり、到着時刻t2においては、コンテンツが再生状態でなければならない。そのため、プレイリスト生成部182は、図11のように、コンテンツの再生時間Taに対する所定の割合Rに相当する時間Tbだけ、再生開始時刻t1から経過した時点が到着時刻t2になるように、再生開始時刻t1を決定する。割合Rは、例えば、30%とする。ただし、この値に限定されない。なお、再生時間Taに対する所定の割合Rに相当する時間Tbの代わりに、固定の所定時間(例えば、1分)を用いてもよい。
例えば、図5に示した経路におけるB駅での停車時に再生されるコンテンツとして、再生時間が4分45秒のコンテンツC1が選択されたとする。なお、この4分45秒という再生時間は、ステップS130の説明で述べたB駅での停車時に再生されるコンテンツとして選択されるコンテンツの再生時間の条件(45秒以上、7分30秒未満)を満たしている。この場合、再生時間Ta=4分45秒の30%に相当する時間Tb=1分25秒である。このため、プレイリスト生成部182は、図12に示すように、到着時刻t2より1分25秒だけ前の時刻を、コンテンツC1の再生開始時刻t1として決定する。
ステップS140の処理が終了すると、プレイリスト生成部182は、ステップS110に戻る。プレイリスト生成部182は、ステップS110〜S140を繰り返すことで、すべての途中停車駅に対して停車時に再生されるコンテンツを割り当てることができる。そして、プレイリスト生成部182は、ステップS110において、すべての途中停車駅にコンテンツが割り当てられていると判断した場合(ステップS110:YES)、図9のステップS40の処理を終了する。
次に、図9のステップS50における具体的な処理内容について説明する。
図13は、図9のステップS50において各停車駅間で再生されるコンテンツを決定する処理の手順を示すフローチャートである。
まず、ステップS210において、プレイリスト生成部182は、コンテンツ記憶部14に記憶されたコンテンツの再生時間の分布データを取得する必要があるか否かを判断する。プレイリスト生成部182は、過去に分布データを1度も取得していない場合や、コンテンツ記憶部14に新たなコンテンツが追加された場合は、分布データを取得する必要があると判断する。前回取得した時点と比べてコンテンツ記憶部14に格納されているコンテンツに変化がない場合は、プレイリスト生成部182は、分布データを取得する必要はないと判断する。プレイリスト生成部182は、分布データを取得する必要があると判断した場合(ステップS210:YES)、ステップS220に進み、分布データを取得する必要がないと判断した場合(ステップS210:NO)、ステップS230に進む。
ステップS220では、プレイリスト生成部182は、コンテンツ記憶部14に記憶されたコンテンツの再生時間の分布データを取得する。分布データは、例えば、図3に示したような、コンテンツの再生時間の分布を示すヒストグラムである。図3では、コンテンツの再生時間が正規分布している様子を示しているが、正規分布とは異なる分布であってもよい。プレイリスト生成部182は、分布データを取得すると、ステップS230に進む。
ステップS230では、プレイリスト生成部182は、すべての停車駅間(各停止地点間)に対し、再生されるコンテンツが割り当てられているか否かを判断する。ここで、停車駅間は、乗車駅とその次の途中停車駅との間、各途中停車駅間、降車駅の直前の途中停車駅と降車駅との間である。
コンテンツが割り当てられていない停車駅間があると判断した場合(ステップS230:NO)、ステップS240において、プレイリスト生成部182は、コンテンツが割り当てられていない停車駅間のうちの1つを選択する。
次いで、ステップS250において、プレイリスト生成部182は、ステップS240で選択した停車駅間におけるコンテンツの再生時間(停車駅間再生時間Tp)を算出する。プレイリスト生成部182は、隣接する2つの途中停車駅間の停車駅間再生時間Tpを算出する場合は、前の途中停車駅の停車時に再生されるコンテンツの再生終了時刻を後の途中停車駅の停車時に再生されるコンテンツの再生開始時刻から減算することで算出する。
これについて、図14を参照して説明する。図14において、t6は、途中停車駅であるC駅の停車時に再生されるコンテンツC2の再生終了時刻である。また、t7は、C駅の次の途中停車駅であるD駅の停車時に再生されるコンテンツC3の再生開始時刻である。コンテンツC2の再生終了時刻t6は列車のC駅へ到着時刻t5より後であり、コンテンツC3の再生開始時刻t7は列車のD駅からの出発時刻t8よりも前である。この場合、コンテンツC2の再生終了時刻t6をコンテンツC3の再生開始時刻t7から減算した時間が、C駅とD駅との間の停車駅間再生時間Tpとなる。
乗車駅とその次の途中停車駅との間の停車駅間再生時間Tpを算出する場合は、プレイリスト生成部182は、乗車駅からの出発時刻を次の途中停車駅の停車時に再生されるコンテンツの再生開始時刻から減算することで算出する。また、降車駅とその直前の途中停車駅との間の停車駅間再生時間Tpを算出する場合は、プレイリスト生成部182は、降車駅の前の途中停車駅の停車時に再生されるコンテンツの再生終了時刻を降車駅への到着時刻から減算することで算出する。
次いで、ステップS260において、プレイリスト生成部182は、ステップS240で選択した停車駅間に割り当てるコンテンツ数Nを決定する。
この際、まず、プレイリスト生成部182は、コンテンツの再生時間の分布データから、図15に示すような相対累積度数曲線21を求める。相対累積度数曲線21は、分布データにおける相対度数を再生時間の短い方から順に加算することにより求められる。そして、プレイリスト生成部182は、相対累積度数について予め設定された所定値に対応する再生時間を、コンテンツ数の割り当てのための評価値Thとする。プレイリスト生成部182は、ステップS250で算出した停車駅間再生時間Tpを評価値Thで除算し、その商に1を加算した値を、ステップS240で選択した停車駅間に割り当てるコンテンツ数Nと決定する。
図15の例では、相対累積度数の所定値を50%としている。この相対累積度数50%に対応するコンテンツの再生時間は4分30秒である。この4分30秒が評価値Thである。ある停車駅間の停車駅間再生時間Tpが7分の場合であれば、停車駅間再生時間Tp=7分を評価値Th=4分30秒で除算した商は1となる。この商に1を加算した値2が、この停車駅間に割り当てられるコンテンツ数Nとなる。
なお、評価値Thを決定する方法は、上述した相対累積度数曲線21を用いる方法に限らない。例えば、図3のようなコンテンツの再生時間の分布データにおけるピークの値を評価値Thとしてもよい。また、コンテンツ記憶部14に記憶された全コンテンツの再生時間の平均値を評価値Thとしてもよい。
次いで、ステップS270において、プレイリスト生成部182は、ステップS260で決定したコンテンツ数Nが2以上であるか否かを判断する。プレイリスト生成部182は、2以上であると判断した場合(ステップS270:YES)、ステップS280に進み、2未満である、つまり1であると判断した場合(ステップS270:NO)、ステップS300に進む。
ステップS280では、プレイリスト生成部182は、ステップS260で決定したコンテンツ数Nで、ステップS250で算出した停車駅間再生時間Tpを分割する。本実施の形態では、プレイリスト生成部182は、停車駅間再生時間Tpをコンテンツ数Nで等分割し、分割時間をTp/Nとする。
次いで、ステップS290において、プレイリスト生成部182は、分割時間Tp/Nに基づいて、コンテンツ記憶部14のコンテンツリストからコンテンツを選択して、ステップS240で選択した停車駅間に割り当てる。この際、プレイリスト生成部182は、再生時間が分割時間Tp/Nに近いコンテンツから順にN個を選択する。プレイリスト生成部182は、同じコンテンツを重複して選択してもよい。ここで、プレイリスト生成部182は、N個のコンテンツの再生時間の合計が、停車駅間再生時間Tp以上となるように、コンテンツの選択を行うことが好ましい。N個のコンテンツの再生時間の合計が停車駅間再生時間Tp未満では、停車駅間でコンテンツの再生が途切れることがあり好ましくないからである。プレイリスト生成部182は、ステップS290の処理後、ステップS310に進む。
ステップS300では、プレイリスト生成部182は、停車駅間再生時間Tpに基づいて、コンテンツ記憶部14のコンテンツリストからコンテンツを1つ選択して、ステップS240で選択した停車駅間に割り当てる。この際、プレイリスト生成部182は、再生時間が停車駅間再生時間Tpに最も近い再生時間を持つコンテンツを選択する。ここで選択されるコンテンツとしては、再生時間が停車駅間再生時間Tp未満のコンテンツよりは、再生時間が停車駅間再生時間Tp以上のコンテンツの方が好ましい。その理由は、上記ステップS290で述べたのと同様に、再生時間が停車駅間再生時間Tp未満のコンテンツを選択した場合、停車駅間でコンテンツの再生が途切れることがあり好ましくないからである。プレイリスト生成部182は、ステップS300の処理後、ステップS310に進む。
ステップS310では、プレイリスト生成部182は、停車駅間に割り当てたコンテンツの再生時間の合計(ステップS300で1つのコンテンツを割り当てた場合はその再生時間)が、停車駅間再生時間Tpを超えているか否かを判断する。超えている、つまり、停車駅間に割り当てたコンテンツの再生時間の合計が停車駅間再生時間Tpより長いと判断した場合(ステップS310:YES)、プレイリスト生成部182は、ステップS320に進む。超えていないと判断した場合(ステップS310:NO)、プレイリスト生成部182は、ステップS230に戻る。
ステップS320では、プレイリスト生成部182は、クロスフェード区間を設定する。クロスフェード区間は、2つのコンテンツが同時に再生される区間である。
クロスフェード区間について、図16を参照して説明する。
停車駅間に割り当てたコンテンツの再生時間の合計が停車駅間再生時間Tpより長い場合、プレイリスト生成部182は、クロスフェード区間を設けることで、コンテンツの再生時間の合計を調整することができる。
図16の例では、停車駅間再生時間Tpが均等な長さの3つの区間S1,S2,S3に分割され、そこにコンテンツCa,Cb,Ccが割り当てられている。コンテンツCa,Cb,Ccの再生開始時刻はそれぞれt11,t12,t14であり、再生終了時刻はそれぞれt13,t16,t18である。コンテンツCa,Cb,Ccの再生開始時刻t11,t12,t14は、それぞれ区間S1,S2,S3の先頭時刻と一致されている。コンテンツCcの再生終了時刻t18は、区間S3の末尾の時刻t17より後になっている。
この場合、プレイリスト生成部182は、時刻t12〜t13の区間31を、2つのコンテンツCa,Cbが同時に再生されるクロスフェード区間に設定する。また、プレイリスト生成部182は、時刻t14〜t16の区間32を、2つのコンテンツCb,Ccが同時に再生されるクロスフェード区間に設定する。また、プレイリスト生成部182は、時刻t17〜t18の区間33を、コンテンツCcと図示しない次のコンテンツとの2つが同時に再生されるクロスフェード区間に設定する。
ここで、クロスフェード区間の長さの上限を決めておいてもよい。例えば、クロスフェード区間の長さの上限を10秒とし、時刻t14〜t16の区間32が10秒より長いとする。この場合、プレイリスト生成部182は、時刻t14からその10秒後の時刻t15までの区間34をクロスフェード区間とし、時刻t15以降は、コンテンツCbは再生されず、コンテンツCcのみが再生されるものとする。
なお、図16では、コンテンツCa,Cb,Ccの再生開始時刻t11,t12,t14をそれぞれ区間S1,S2,S3の先頭時刻と一致させた例を示しているが、このように一致させなくてもよい。
ステップS240で選択した停車駅間が、降車駅の直前の途中停車駅と降車駅との駅間であった場合、降車駅に到着したことをユーザに認識させるために、降車駅への到着時刻にコンテンツの再生が終了することが好ましい。このため、この停車駅間に割り当てたコンテンツの再生時間の合計が停車駅間再生時間Tpより長い場合、プレイリスト生成部182は、降車駅への到着時刻にコンテンツの再生が終了するように、各コンテンツの再生開始時刻およびクロスフェード区間を設定することが好ましい。また、プレイリスト生成部182は、コンテンツの途中であっても降車駅への到着時刻に再生を終了するように設定してもよい。
ただし、降車駅への到着時刻に正確にコンテンツの再生が終了しなくてもよく、プレイリスト生成部182は、降車駅への到着時刻を含む所定期間内にプレイリストの最後のコンテンツの再生が終了するようにすればよい。降車駅への到着時刻を含む所定期間は、例えば、降車駅への到着時刻のX秒前から、到着時刻のY秒後までの(X+Y)秒間の期間である。降車駅への到着時刻より前にコンテンツの再生が終了した方が、ユーザにいち早く、降車駅へ到着することを知らせることができるが、降車駅に停車している時間内であれば、降車駅への到着時刻より後にコンテンツの再生を終了するようにしてもよい。降車駅への到着時刻より前にコンテンツの再生を終了させる場合は、降車駅の1つ前の途中停車駅の出発時刻以降の時刻にコンテンツの再生を終了するようにする。
また、プレイリスト生成部182は、最後のコンテンツの再生終了時に、フェードアウト再生を行うように設定してもよい。例えば、プレイリスト生成部182は、降車駅への到着時刻以降のコンテンツの再生部分についてはフェードアウト再生を行うように設定してもよい。例えば、図16において、時刻t17が降車駅への到着時刻であるとすると、プレイリスト生成部182は、区間33をフェードアウト再生を行う区間に設定してもよい。区間33の終了時点が所定期間外であれば、プレイリスト生成部182は、その所定期間経過以降の部分については再生されないように設定すればよい。
また、プレイリスト生成部182は、プレイリストの最後のコンテンツとして、ユーザ操作により指定されたコンテンツを選択してもよい。このようにすれば、ユーザにより確実に降車駅を認識させることができる。
ステップS320の処理が終了すると、プレイリスト生成部182は、ステップS230に戻る。プレイリスト生成部182は、ステップS230〜S320を繰り返すことで、すべての停車駅間に対してコンテンツを割り当てることができる。なお、コンテンツを割り当てる停車駅間を選択する順序は問わない。そして、プレイリスト生成部182は、ステップS230において、すべての停車駅間にコンテンツが割り当てられていると判断した場合(ステップS230:YES)、図9のステップS50の処理を終了する。
以上のようにして、プレイリスト生成部182は、プレイリストを生成する。プレイリスト生成部182は、生成したプレイリストをプレイリスト記憶部15に記憶させる。
図17は、プレイリストの一例を時間軸上で示した図である。図17は、クロスフェード区間がないプレイリストの例である。本実施の形態では、図17に示すような、途中停車駅であるB駅、C駅、D駅における停車中はコンテンツの切り替えがないプレイリストが生成される。また、図17では、降車駅であるE駅への到着時刻と最後のコンテンツC10の再生終了時刻とが一致する例を示している。
再生動作部183は、時刻情報出力部17からの時刻情報が示す現在時刻が、プレイリスト記憶部15に記憶されたプレイリストに対応する乗車駅の出発時刻になると、プレイリストに基づくコンテンツの再生を開始する。再生動作部183は、プレイリストに基づいて、コンテンツ記憶部14からプレイリスト中のコンテンツを順次読み出して再生し、音声出力部16からコンテンツの音声を出力させる。なお、プレイリスト生成部182は、プレイリストによるコンテンツの再生が開始される際に、プレイリストを表示部13に表示させてもよい。
前述のように、本実施の形態では、途中停車駅の停車時およびその直前、直後ではコンテンツの切り替えがなく、降車駅への到着時刻を含む所定期間内にコンテンツの再生が終了する。このため、ユーザは、駅への到着の際にコンテンツの再生が終了することにより、その駅が降車駅であることを容易に認識できる。
また、本実施の形態によれば、途中停車駅ではコンテンツの再生を停止しないので、コンテンツの再生を長時間継続することが可能となる。これにより、ユーザに、より多くの時間、コンテンツを楽しませることが可能となる。
なお、本実施の形態では、図13のステップS280において、プレイリスト生成部182は、コンテンツ数Nで停車駅間再生時間Tpを分割する際に等分割しているが、等分割でなくてもよい。例えば、プレイリスト生成部182は、この分割する際の分割比率をランダムに設定してもよい。これにより、プレイリスト生成部182は、同一乗車区間において何度もプレイリストが生成する場合でも、同じコンテンツを選択する確率を低減できる。
また、本実施の形態では、図13のステップS290において、プレイリスト生成部182は、停車駅間に割り当てるコンテンツとして、再生時間が分割時間に近いコンテンツから選択しているが、このような選択方法に限らない。例えば、プレイリスト生成部182は、分割時間に対する特定の範囲内の再生時間を持つコンテンツをランダムに選択してもよい。ここで、特定の範囲とは、例えば、「分割時間より長く、分割時間の120%より短い範囲」など、分割時間に基づいて決定する範囲である。また、プレイリスト生成部182は、特定の範囲は定めずに、分割時間より長い再生時間を持つコンテンツをランダムに選択し、クロスフェード区間を設定するようにしてもよい。ステップS300におけるコンテンツの選択においても同様である。
本発明は、上記装置の機能をコンピュータに実現させるためのプログラムを含むものである。このプログラムは、記録媒体から読みとられてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。