<実施形態>
図1から図6を参照して、実施形態に係るカラオケシステムについて説明する。
==カラオケシステム==
カラオケシステムは、車載端末及びサーバ装置を含む。
車載端末は、車両に搭載される端末である。車載端末は、利用者が所有するスマートフォンやタブレット端末、或いは車両に予め搭載されている専用のコンピュータである。利用者は、車両の運転手や同乗者等、ヒッチハイクコンテンツ(後述)を利用する者である。車載端末は、端末識別情報が付与されている。端末識別情報は、車載端末を識別するための端末ID等、各車載端末に固有の情報である。車載端末は、GPS機能やミュージックプレーヤ機能のような、一般的なスマートフォン等に備えられる機能を有する。また、車載端末は、ディスプレイ等の表示手段、マイク等の集音手段、スピーカ等の放音手段、カメラ等の撮影手段のような、一般的なスマートフォン等に備えられる手段を有する。
本実施形態における車載端末には、カラオケ演奏機能とカーナビゲーション機能を組み合わせたヒッチハイクコンテンツを利用するための専用のアプリケーションソフトウェア(以下、「コンテンツアプリ」)がインストールされている。カラオケ演奏機能は、車載端末においてカラオケ演奏を実行する機能である。カーナビゲーション機能は、車載端末において、現在地から目的地までの移動ルートを設定し、移動ルートに沿った運転を支援する機能である。ヒッチハイクコンテンツは、歌唱音声データに疑似的なヒッチハイクを行わせるコンテンツである(詳細は後述)。コンテンツアプリは、所定のWebサイトからダウンロードすることで入手できる。
サーバ装置は、各種情報の管理や処理を行うコンピュータである。サーバ装置は、公衆電話回線網やインターネット回線等のネットワークを介して、車載端末と通信可能に接続される。車載端末において、コンテンツアプリを起動させることにより、当該車載端末とサーバ装置とは通信可能に接続される。
本実施形態に係るサーバ装置Sは、ヒッチハイクコンテンツを実行する(詳細は後述)。
図1に示すように、本実施形態に係るカラオケシステム1は、複数の車載端末(図1では車載端末M1、M2、M3のみを示している)、及びサーバ装置Sを含む。車載端末M1は運転手D1が操作し、車載端末M2は運転手D2が操作し、車載端末M3は運転手D3が操作する。車載端末M1は車両C1に搭載され、車載端末M2は車両C2に搭載され、車載端末M3は車両C3に搭載されている。各車載端末には、コンテンツアプリがインストールされている。
==サーバ装置==
図2に示すように、サーバ装置Sは、記憶手段10、通信手段20、及び制御手段30を備える。各構成はインターフェース(図示なし)を介してバスBに接続されている。
[記憶手段]
記憶手段10は、各種のデータを記憶する記憶装置である。
記憶手段10は、楽曲毎のカラオケ演奏データを記憶する。カラオケ演奏データは、カラオケ演奏を行うためのデータ(すなわち、カラオケ演奏音の元となるデータ)である。カラオケ演奏データは、車載端末が備えるミュージックプレーヤ機能やコンテンツアプリで再生可能な形式のデータである。カラオケ演奏データは、楽曲識別情報が付与されている。楽曲識別情報は、楽曲を識別するための楽曲ID等、各楽曲に固有の情報である。
[通信手段]
通信手段20は、各車載端末との通信を行うためのインターフェースを提供する。
[制御手段]
制御手段30は、サーバ装置Sにおける各種の制御を行う。制御手段30は、CPUおよびメモリ(いずれも図示無し)を備える。CPUは、メモリに記憶されたプログラムを実行することにより各種の機能を実現する。
本実施形態においてはCPUがヒッチハイクコンテンツのプログラムを実行することにより、制御手段30は、第1の取得部100、設定部200、第2の取得部300、更新部400、及び配信部500として機能する。
(第1の取得部)
第1の取得部100は、ある利用者が操作するある車載端末から、カラオケ演奏機能を用いてカラオケ演奏が行われた楽曲の楽曲識別情報、当該ある利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データ、カーナビゲーション機能を用いて設定された目的地を含む移動ルート、及び当該ある車載端末の端末識別情報を取得する。
ヒッチハイクコンテンツの利用を希望するある利用者は、車両に乗車した後、ある車載端末を操作してコンテンツアプリを起動させる。
ある利用者は、コンテンツアプリが提供するナビゲーション機能を用いて、車両で移動する目的地を選択する。ある車載端末は、GPS機能を用いて取得した現在位置(出発地)から、選択された目的地まで移動する最適な移動ルートを設定する。ある車載端末は、設定した移動ルートを、ある車載端末が備える記憶手段(図示なし)に記憶させる。移動ルートには、目的地の位置を示す位置情報が含まれている。車両の移動に伴い、ある車載端末は、設定した移動ルートに基づいて目的地までのナビゲーションを実行する。最適な移動ルートの設定及びナビゲーションは、公知のナビゲーションシステムで実施されている技術を利用することができる。
目的地までの移動中、ある利用者は、ある車載端末を操作し、カラオケ歌唱を希望する楽曲を選曲する。ある車載端末は、選曲された楽曲の楽曲識別情報を、自己の端末識別情報と紐付けてサーバ装置Sに送信する。
サーバ装置Sは、受信した楽曲識別情報に対応するカラオケ演奏データを記憶手段10から読み出し、ある車載端末に送信する。ある車載端末は、コンテンツアプリが提供するカラオケ演奏機能を用いて、受信したカラオケ演奏データに基づくカラオケ演奏を行う。カラオケ演奏の演奏音は、ある車載端末の放音手段(或いは、車両が備えるスピーカ等の放音手段)から放音される。ある利用者は、ある車載端末の集音手段(或いは、車載端末に取り付けられたヘッドセット等の集音手段)を用いてカラオケ歌唱を行う。ある車載端末は、ある利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データを、楽曲識別情報と紐付けて、ある車載端末が備える記憶手段(図示なし)に記憶させる。
その後、ある利用者は、ある車載端末を操作し、表示手段上で「ヒッチハイクモード」を選択する。ヒッチハイクモードは、歌唱音声データを一の車載端末(後述)に配信させるためのモードである。ヒッチハイクモードが選択された場合、ある車載端末は、記憶手段(図示なし)に記憶されている楽曲識別情報、歌唱音声データ、及び移動ルートを、端末識別情報と紐付けてサーバ装置Sに送信する。
第1の取得部100は、ある車載端末から受信した、楽曲識別情報、歌唱音声データ、移動ルート、及び端末識別情報を記憶手段10の歌唱音声テーブルに記憶させる。
(設定部)
設定部200は、取得したある車載端末の端末識別情報を、一の車載端末の端末識別情報として設定する。
一の車載端末は、ある車載端末から受信した楽曲識別情報に対応するカラオケ演奏データ、及び歌唱音声データの配信を受ける端末である。
設定部200は、第1の取得部100がある車載端末から、楽曲識別情報、歌唱音声データ、移動ルート、及び端末識別情報を取得した場合、当該端末識別情報を、記憶手段10の端末IDテーブルに記憶させることにより、一の車載端末の端末識別情報として設定する。このように、ヒッチハイクコンテンツの利用開始時には、一の車載端末の端末識別情報は、ある車載端末の端末識別情報となる。
(第2の取得部)
第2の取得部300は、一の車載端末から、当該一の車載端末の現在位置を示す位置情報、及び当該一の車載端末の端末識別情報を取得し、他の車載端末から、カーナビゲーション機能を用いて設定された目的地を含む車両の移動ルート、当該他の車載端末の現在位置を示す位置情報、及び当該他の車載端末の端末識別情報を取得する。
コンテンツアプリを起動した車載端末は、GPS機能を用いて、自己の現在位置を所定間隔で取得する。所定間隔は、たとえば5秒毎のように、予め一の間隔が設定されている。
一の車載端末は、GPS機能を用いて取得した位置情報を、端末識別情報と紐付けてサーバ装置Sに送信する。第2の取得部300は、一の車載端末から受信した、位置情報及び端末識別情報を、移動ルートと合わせて記憶手段10の位置情報テーブルに記憶させる。第2の取得部300は、一の車載端末から位置情報を取得する都度、位置情報テーブルに記憶されている位置情報の更新を行う。なお、ヒッチハイクコンテンツの利用開始時において記憶される移動ルートは、ある車載端末から取得した移動ルート(歌唱音声テーブルに記憶されている移動ルート)となる。一方、一の車載端末の端末識別情報が更新された場合(後述)、記憶される移動ルートは、更新された他の車載端末から取得した移動ルートとなる。
他の車載端末は、楽曲識別情報、歌唱音声データ、移動ルート、及び端末識別情報をサーバ装置Sに送信した車載端末以外の端末である。他の車載端末は、他の利用者が操作する。
ヒッチハイクコンテンツの利用を希望する他の利用者は、車両に乗車した後、他の車載端末を操作してコンテンツアプリを起動させる。
他の利用者は、コンテンツアプリが提供するナビゲーション機能を用いて、車両で移動する目的地を選択する。他の車載端末は、GPS機能を用いて取得した現在位置(出発地)から、選択された目的地まで移動する最適な移動ルートを設定する。他の車載端末は、設定した移動ルートを、他の車載端末が備える記憶手段(図示なし)に記憶させる。
その後、他の利用者は、他の車載端末を操作し、表示手段上で「歌唱音声データ受信モード」を選択する。歌唱音声データ受信モードは、ある車載端末から取得した歌唱音声データの配信を受けるためのモードである。歌唱音声データ受信モードが選択された場合、他の車載端末は、記憶手段(図示なし)に記憶されている移動ルート、及びGPS機能を用いて取得した現在位置を示す位置情報を、端末識別情報と紐付けサーバ装置Sに送信する。
第2の取得部300は、他の車載端末から受信した、移動ルート、位置情報、及び端末識別情報を記憶手段10の位置情報テーブルに記憶させる。第2の取得部300は、他の車載端末から位置情報を取得する都度、位置情報テーブルに記憶されている位置情報の更新を行う。
(更新部)
更新部400は、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末であって、第1のルートと、第2のルートの少なくとも一部とが重複する他の車載端末の端末識別情報を、一の車載端末の端末識別情報として更新する。
所定範囲は、一の車載端末と他の車載端末との位置関係を判断するための基準である。所定範囲は、たとえば「一の車載端末の現在位置を中心として半径100m」のように、予め一の基準が設定されている。第1のルートは、一の車載端末の現在位置からある車載端末から取得した移動ルートに含まれる目的地までのルートである。第2のルートは、他の車載端末の現在位置から他の車載端末から取得した移動ルートに含まれる目的地までのルートである。
更新部400は、第2の取得部300が一の車載端末から位置情報を取得した場合、当該位置情報が示す現在位置と、記憶手段10に記憶されている他の車載端末の位置情報が示す現在位置とを比較し、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末があるかどうかを判断する。
一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末(以下、他の車載端末Mx)があると判断した場合、更新部400は、歌唱音声テーブルに記憶されているある車載端末から取得した移動ルートを読み出し、一の車載端末の現在位置から当該移動ルートに含まれる目的地までのルート(すなわち第1のルート)を算出する。また、更新部400は、位置情報テーブルに記憶されている他の車載端末Mxから取得した移動ルートを読み出し、他の車載端末Mxの現在位置から他の車載端末Mxから取得した移動ルートに含まれる目的地までのルート(すなわち第2のルート)を算出する。更新部400は、算出した第1のルートと第2のルートの少なくとも一部とが重複するかどうかを判断する。
第1のルートと第2のルートの少なくとも一部とが重複すると判断した場合、更新部400は、記憶手段10の端末IDテーブルに一の車載端末の端末識別情報として記憶されている端末識別情報を、他の車載端末Mxの端末識別情報に更新する。すなわち、記憶手段10の端末IDテーブルは、一の端末情報として、一の車載端末の現在位置に対して所定範囲内に位置し、且つ第1のルートと第2のルートの少なくとも一部とが重複する他の車載端末Mxの端末識別情報を記憶する。
なお、更新部400は、第1のルートと第2のルートとの重複が所定距離以上の場合に、更新を行うようにしてもよい。所定距離は、更新を行うかどうかを判断するための基準である。所定距離は、たとえば、「1km」のように予め一の値が設定されている。
(配信部)
配信部500は、一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断した場合、当該一の車載端末に対し、ある車載端末から取得した楽曲識別情報に対応するカラオケ演奏データ、及び歌唱音声データを配信する。
配信部500は、所定のタイミングで、一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したかどうかの判断を行う。たとえば、配信部500は、第2の取得部300が一の車載端末から位置情報を取得する都度、当該位置情報が示す現在位置と、ある車載端末から取得した移動ルートに含まれる目的地の位置との距離を求める。求めた距離が一定以下(たとえば、500m以下)である場合、配信部500は、一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断する。
この場合、配信部500は、ある車載端末から取得した楽曲識別情報に基づいて、記憶手段10から当該楽曲識別情報に対応するカラオケ演奏データを読み出す。また、配信部500は、歌唱音声テーブルに記憶されている歌唱音声データを読み出す。配信部500は、読み出したカラオケ演奏データ及び歌唱音声データを、一の車載端末に対して配信する。
一の車載端末は、コンテンツアプリのカラオケ機能を用いて、受信したカラオケ演奏データを再生し、カラオケ演奏音を放音手段から放音させる。また、一の車載端末は、コンテンツアプリのカラオケ機能を用いて、受信した歌唱音声データを再生し、ある利用者の歌唱音声を放音手段から放音させる。一の車載端末が搭載された車両に乗車している利用者は、ある利用者が選曲した楽曲のカラオケ演奏を、当該ある利用者の歌唱音声と合わせて試聴することができる。
なお、一の車載端末を搭載した車両が目的地に到着するまで、コンテンツアプリを起動している車載端末を搭載した車両とすれ違わない可能性もある。つまり、一の車載端末の端末識別情報が、最初に設定されたある車載端末(すなわち、歌唱音声データを送信した車載端末)の端末識別情報のままとなる場合もありうる。
この場合、配信部500は、上記と同様の処理を実行することにより、ある車載端末に対してカラオケ演奏データ及び歌唱音声データを配信する際、エラーメッセージ(たとえば、「残念ながらヒッチハイクは失敗しました」)を提示するためのメッセージデータを合わせて配信してもよい。
ある車載端末は、受信したメッセージデータに基づいて、エラーメッセージを表示手段に表示させたり、エラーメッセージの音声を放音手段から放音させることができる。
或いは、配信部500は、一の車載端末の端末識別情報が、最初に設定されたある車載端末の端末識別情報である場合、カラオケ演奏データ及び歌唱音声データの配信を中止してもよい。
==サーバ装置の動作について==
次に、図3から図6を参照して本実施形態におけるサーバ装置Sの動作の具体例について述べる。図3は、サーバ装置Sにおける動作を示すフローチャートである。図4から図6は、車両C1の移動ルートR1、車両C2の移動ルートR2、及び車両C3の移動ルートR3を模式的に示した図である。図1に示したように、車両C1は、運転手D1が操作する車載端末M1が搭載されており、車両C2は、運転手D2が操作する車載端末M2が搭載されており、車両C3は、運転手D3が操作する車載端末M3が搭載されている。車載端末M1~M3にはコンテンツアプリがインストールされている。
第1の取得部100は、ある利用者が操作するある車載端末から、カラオケ演奏機能を用いてカラオケ演奏が行われた楽曲の楽曲ID、当該ある利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データ、カーナビゲーション機能を用いて設定された目的地を含む車両の移動ルート、及び当該ある車載端末の端末IDを取得する(ある車載端末から楽曲ID、歌唱音声データ、移動ルート、及び端末IDを取得。ステップ10)。
設定部200は、ステップ10で取得したある車載端末の端末IDを、一の車載端末の端末IDとして設定する(一の車載端末の端末IDを設定。ステップ11)。
第2の取得部300は、一の車載端末から、当該一の車載端末の現在位置を示す位置情報、及び当該一の車載端末の端末IDを取得する(一の車載端末から位置情報及び端末IDを取得。ステップ12)。
また、第2の取得部300は、他の車載端末から、カーナビゲーション機能を用いて設定された目的地を含む車両の移動ルート、当該他の車載端末の現在位置を示す位置情報、及び当該他の車載端末の端末IDを取得する(他の車載端末から移動ルート、位置情報、及び端末IDを取得。ステップ13)。
更新部400は、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末があるかを判断する(一の車載端末の現在位置に対して所定範囲内に他の車載端末があるかを判断。ステップ14)。
一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末があると判断した場合(ステップ15でYの場合)、更新部400は、一の車載端末の現在位置からある車載端末から取得した移動ルートに含まれる目的地までの第1のルート、及び当該他の車載端末の現在位置から当該他の車載端末から取得した移動ルートに含まれる目的地までの第2のルートを算出する(第1のルート及び第2のルートを算出。ステップ16)。
更新部400は、算出した第1のルートと第2のルートの少なくとも一部とが重複するかを判断する(第1のルートと第2のルートとが重複するかを判断。ステップ17)。
ステップ16で求めた第1のルートと第2のルートの少なくとも一部とが重複する場合(ステップ18でYの場合)、更新部400は、他の車載端末の端末IDを、一の車載端末の端末IDとして更新する(一の車載端末の端末IDを更新。ステップ19)。
一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断した場合(ステップ20でYの場合)、配信部500は、一の車載端末に対し、ある車載端末から取得した楽曲IDに対応するカラオケ演奏データ、及び歌唱音声データを配信する(一の車載端末にカラオケ演奏データ及び歌唱音声データを配信。ステップ21)。
具体的に、ヒッチハイクコンテンツの利用を希望する運転手D1は、車両C1に乗車した後、車載端末M1を操作してコンテンツアプリを起動させる。運転手D1は「ある利用者」に相当し、車載端末M1は「ある車載端末」に相当する。
運転手D1は、コンテンツアプリが提供するナビゲーション機能を用いて、車両C1で移動する目的地DST1を選択する。車載端末M1は、GPS機能を用いて取得した出発地OR1から、運転手D1により選択された目的地DST1まで移動する最適な移動ルートR1を設定する(図4参照)。車載端末M1は、設定した移動ルートR1を、車載端末M1が備える記憶手段(図示なし)に記憶させる。その後、運転手D1は車両C1の運転を開始する。
目的地DST1までの移動中、運転手D1は、車載端末M1を操作し、カラオケ歌唱を希望する楽曲Xを選曲する。車載端末M1は、コンテンツアプリが提供するカラオケ演奏機能を用いて、楽曲Xのカラオケ演奏を行う。運転手D1は、車載端末M1に取り付けられたヘッドセットを用いてカラオケ歌唱を行う。車載端末M1は、運転手D1のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データSDを、楽曲Xの楽曲ID***Xと紐付けて、車載端末M1が備える記憶手段(図示なし)に記憶させる。
その後、運転手D1は、車載端末M1を操作し、表示手段上で「ヒッチハイクモード」を選択する。車載端末M1は、記憶手段(図示なし)に記憶されている楽曲ID***X、歌唱音声データSD、及び移動ルートR1を、端末ID***M1と紐付けてサーバ装置Sに送信する。
第1の取得部100は、車載端末M1から受信した、楽曲ID***X、歌唱音声データSD、移動ルートR1、及び端末ID***M1を記憶手段10の歌唱音声テーブルに記憶させる。
設定部200は、車載端末M1から、楽曲ID***X、歌唱音声データSD、移動ルートR1、及び端末ID***M1を取得した場合、端末ID***M1を、記憶手段10の端末IDテーブルに記憶させることにより、一の車載端末mの端末IDとして設定する。
一の車載端末mに相当する車載端末M1は、現在位置CL1を示す位置情報を、端末ID***M1と紐付けてサーバ装置Sに送信する。第2の取得部300は、車載端末M1から受信した、位置情報及び端末ID***M1を、移動ルートR1と合わせて記憶手段10の位置情報テーブルに記憶させる。
一方、ヒッチハイクコンテンツの利用を希望する運転手D2は、車両C2に乗車した後、車載端末M2を操作してコンテンツアプリを起動させる。運転手D2は「他の利用者」に相当し、車載端末M2は「他の車載端末」に相当する。
運転手D2は、コンテンツアプリが提供するナビゲーション機能を用いて、車両C2で移動する目的地DST2を選択する。車載端末M2は、GPS機能を用いて取得した出発地OR2から、選択された目的地DST2まで移動する最適な移動ルートR2を設定する(図4参照)。車載端末M2は、設定した移動ルートR2を、車載端末M2が備える記憶手段(図示なし)に記憶させる。
その後、運転手D2は、車載端末M2を操作し、表示手段上で「歌唱音声データ受信モード」を選択する。車載端末M2は、記憶手段(図示なし)に記憶されている移動ルートR2、及びGPS機能を用いて取得した現在位置CL2を示す位置情報を、端末ID***M2と紐付けサーバ装置Sに送信する。
第2の取得部300は、車載端末M2から受信した、移動ルートR2、位置情報及び端末ID***M2を記憶手段10の位置情報テーブルに記憶させる。
同様に、ヒッチハイクコンテンツの利用を希望する運転手D3は、車両C3に乗車した後、車載端末M3を操作してコンテンツアプリを起動させる。運転手D3は「他の利用者」に相当し、車載端末M3は「他の車載端末」に相当する。
運転手D3は、コンテンツアプリが提供するナビゲーション機能を用いて、車両C3で移動する目的地DST3を選択する。車載端末M3は、GPS機能を用いて取得した出発地OR3から、選択された目的地DST3まで移動する最適な移動ルートR3を設定する(図4参照)。車載端末M3は、設定した移動ルートR3を、車載端末M3が備える記憶手段(図示なし)に記憶させる。
その後、運転手D3は、車載端末M3を操作し、表示手段上で「歌唱音声データ受信モード」を選択する。車載端末M3は、記憶手段(図示なし)に記憶されている移動ルートR3、及びGPS機能を用いて取得した現在位置CL3を示す位置情報を、端末ID***M3と紐付けサーバ装置Sに送信する。
第2の取得部300は、車載端末M3から受信した、移動ルートR3、位置情報及び端末ID***M3を記憶手段10の位置情報テーブルに記憶させる。
ここで、第2の取得部300が車載端末M1から新たな位置情報を取得した場合、更新部400は、新たな位置情報が示す現在位置CL1と、記憶手段10に記憶されている車載端末M2の位置情報が示す現在位置CL2及び車載端末M3の位置情報が示す現在位置CL3とを比較し、車載端末M1の現在位置CL1に対して所定範囲PR内(たとえば車載端末M1の現在位置CL1を中心として半径100m)に車載端末M2または車載端末M3の少なくとも一方があるかどうかを判断する。
この例では、図5に示すように、車載端末M1の現在位置CL1に対して所定範囲PR内に車載端末M2がある(すなわち、所定範囲PR内に車載端末M2の現在位置CL2がある)。この場合、更新部400は、歌唱音声テーブルに記憶されている車載端末M1から取得した移動ルートR1を読み出し、車載端末M1の現在位置CL1から移動ルートR1に含まれる目的地DST1までのルートr1を算出する。また、更新部400は、位置情報テーブルに記憶されている車載端末M2から取得した移動ルートR2を読み出し、車載端末M2の現在位置CL2から移動ルートR2に含まれる目的地DST2までのルートr2を算出する。更新部400は、算出したルートr1とルートr2の少なくとも一部とが重複するかどうかを判断する。
この例では、図5に示すように、ルートr1とルートr2の少なくとも一部とが重複する。更新部400は、記憶手段10の端末IDテーブルに一の車載端末mの端末IDとして記憶されている端末ID***M1を、車載端末M2の端末ID***M2に更新する。
その後、第2の取得部300が車載端末M2から新たな位置情報を取得した場合、配信部500は、当該位置情報が示す現在位置CL2と、車載端末M1から取得した移動ルートR1に含まれる目的地DTS1の位置との距離を求める。この例では、求めた距離が一定以上であったとする。この場合、配信部500は、車載端末M2を搭載する車両C2が、車載端末M1から取得した移動ルートR1に含まれる目的地DST1に到着していないと判断する。
一の車載端末mの端末識別情報として車載端末M2の端末ID***M2が設定された状態において、第2の取得部300が車載端末M2から新たな位置情報を取得した場合、更新部400は、新たな位置情報が示す現在位置CL2と、記憶手段10に記憶されている車載端末M3の位置情報が示す現在位置CL3とを比較し、車載端末M2の現在位置CL2に対して所定範囲PR内(たとえば車載端末M2の現在位置CL2を中心として半径100m)に車載端末M3があるかどうかを判断する。
この例では、図6に示すように、車載端末M2の現在位置CL2に対して所定範囲PR内に車載端末M3がある(すなわち、所定範囲PR内に車載端末M3の現在位置CL3がある)。この場合、更新部400は、歌唱音声テーブルに記憶されている車載端末M1から取得した移動ルートR1を読み出し、車載端末M2の現在位置CL2から移動ルートR1に含まれる目的地DST1までのルートr3を算出する。また、更新部400は、位置情報テーブルに記憶されている車載端末M3から取得した移動ルートR3を読み出し、車載端末M3の現在位置CL3から移動ルートR3に含まれる目的地DST3までのルートr4を算出する。更新部400は、算出したルートr3とルートr4の少なくとも一部とが重複するかどうかを判断する。
この例では、図6に示すように、ルートr3とルートr4の少なくとも一部とが重複する。更新部400は、記憶手段10の端末IDテーブルに一の車載端末mの端末IDとして記憶されている端末ID***M2を、車載端末M3の端末ID***M3に更新する。
その後、第2の取得部300が車載端末M3から新たな位置情報を取得した場合、配信部500は、当該位置情報が示す現在位置CL3と、車載端末M1から取得した移動ルートR1に含まれる目的地DTS1の位置との距離を求める。この例では、求めた距離が一定以下であったとする。この場合、配信部500は、車載端末M3を搭載する車両C3が、車載端末M1から取得した移動ルートR1に含まれる目的地DST1に到着したと判断する。
配信部500は、車載端末M1から取得した楽曲ID***Xに基づいて、記憶手段10から当該楽曲IDに対応する楽曲Xのカラオケ演奏データを読み出す。また、配信部500は、歌唱音声テーブルに記憶されている歌唱音声データSDを読み出す。配信部500は、読み出した楽曲Xのカラオケ演奏データ及び歌唱音声データSDを、車載端末M3に対して配信する。
車載端末M3は、コンテンツアプリのカラオケ機能を用いて、受信した楽曲Xのカラオケ演奏データを再生し、カラオケ演奏音を放音手段から放音させる。また、車載端末M3は、コンテンツアプリのカラオケ機能を用いて、受信した歌唱音声データSDを再生し、運転手D1の歌唱音声を放音手段から放音させる。車載端末M3が搭載された車両C3の運転手D3は、運転手D1が選曲した楽曲Xのカラオケ演奏を、運転手D1の歌唱音声と合わせて試聴することができる。
以上から明らかなように、本実施形態に係るサーバ装置Sは、車両に搭載された車載端末と通信可能に接続されている。サーバ装置Sは、ある利用者が操作するある車載端末から、カラオケ演奏機能を用いてカラオケ演奏が行われた楽曲の楽曲識別情報、当該ある利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データ、カーナビゲーション機能を用いて設定された目的地を含む車両の移動ルート、及び当該ある車載端末の端末識別情報を取得する第1の取得部100と、取得したある車載端末の端末識別情報を、一の車載端末の端末識別情報として設定する設定部200と、一の車載端末から、当該一の車載端末の現在位置を示す位置情報、及び当該一の車載端末の端末識別情報を取得し、他の車載端末から、カーナビゲーション機能を用いて設定された目的地を含む車両の移動ルート、当該他の車載端末の現在位置を示す位置情報、及び当該他の車載端末の端末識別情報を取得する第2の取得部300と、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末であって、当該一の車載端末の現在位置からある車載端末から取得した移動ルートに含まれる目的地までの第1のルートと、当該他の車載端末の現在位置から当該他の車載端末から取得した移動ルートに含まれる目的地までの第2のルートの少なくとも一部とが重複する他の車載端末の端末識別情報を、一の車載端末の端末識別情報として更新する更新部400と、一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断した場合、当該一の車載端末に対し、ある車載端末から受信した楽曲識別情報に対応するカラオケ演奏データ、及び歌唱音声データを配信する配信部500と、を有する。
サーバ装置Sは、たとえば、一の車載端末を搭載した車両と、他の車載端末を搭載した車両とが並走している場合や車両同士が近くで停車した場合のように、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末がある場合、且つ算出した第1のルートと第2のルートの少なくとも一部が重複する場合、当該他の車載端末の端末識別情報を、一の車載端末の端末識別情報として更新する。その後、一の車載端末を搭載した車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断した場合、サーバ装置Sは、ある車載端末から受信した楽曲識別情報に対応するカラオケ演奏データ、及び歌唱音声データを、当該一の車載端末に対して配信する。このように、サーバ装置Sは、一の車載端末の端末識別情報を更新し、歌唱音声データを配信する車載端末を逐次変更することで、歌唱音声データに疑似的なヒッチハイクを行わせるという新しいコンテンツを提供することができる。すなわち、本実施形態に係るサーバ装置Sによれば、カラオケ演奏機能とカーナビゲーション機能を組み合わせたコンテンツを実行できる。
<変形例1>
実施形態の例において、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末が複数ある場合もありうる。この場合、更新部400は、第1のルートと第2のルートとの重複が最も多くなる他の車載端末の端末識別情報を、一の車載端末の端末識別情報として更新することができる。
たとえば、実施形態で述べたように、第2の取得部300が車載端末M1から新たな位置情報を取得した場合、更新部400は、新たな位置情報が示す現在位置CL1と、記憶手段10に記憶されている車載端末M2の位置情報が示す現在位置CL2及び車載端末M3の位置情報が示す現在位置CL3とを比較し、車載端末M1の現在位置CL1に対して所定範囲PR内(たとえば車載端末M1の現在位置CL1を中心として半径100m)に車載端末M2または車載端末M3の少なくとも一方があるかどうかを判断する。
ここで、図7に示すように、車載端末M1の現在位置CL1に対して所定範囲PR内に車載端末M2及び車載端末M3があるとする(図7参照)。この場合、更新部400は、実施形態と同様の処理を行うことにより、第1のルートに相当するルートr5、及び第2のルートに相当するルートr6を算出し、重複する部分の距離OLD1を求める。また、更新部400は、実施形態と同様の処理を行うことにより、第2のルートに相当するルートr7を算出し、ルートr5と重複する部分の距離OLD2を求める。
更新部400は、距離OLD1と距離OLD2とを比較し、重複がより多い距離OLD2に基づいて、車載端末M3を特定する。更新部400は、車載端末M3の端末ID***M3を、一の車載端末の端末IDとして更新する。
なお、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末が3台以上ある場合、更新部400は、第1のルートと第2のルートとの重複が最も多くなる他の車載端末を1台特定し、その端末識別情報を、一の車載端末の端末識別情報として更新する。
以上から明らかなように、本変形例に係るサーバ装置Sの更新部400は、一の車載端末の現在位置に対して所定範囲内に位置する他の車載端末が複数ある場合、第1のルートと第2のルートとの重複が最も多くなる他の車載端末の端末識別情報を、一の車載端末の端末識別情報として更新する。このようなサーバ装置Sによれば、一の車載端末の現在位置に対して所定範囲内に複数の他の車載端末が位置する場合であっても、一の車載端末の端末識別情報の更新を行うことができる。
<変形例2>
配信部500は、所定の条件を満たす場合にのみ、一の車載端末に対してカラオケ演奏データ及び歌唱音声データを配信してもよい。
具体的に、配信部500は、一の車載端末を操作する利用者の歌唱履歴に、ある車載端末から取得した楽曲識別情報に対応する楽曲が含まれている場合にのみ、カラオケ演奏データ等を配信することができる。
歌唱履歴は、利用者が過去にカラオケ装置等を利用してカラオケ歌唱を行った際に得られた各種情報を含む。各種情報は、たとえば、カラオケ歌唱を行った楽曲名、歌手名、楽曲識別情報、採点結果、歌唱日時である。歌唱履歴は、たとえば、サーバ装置Sの記憶手段10に記憶されている。歌唱履歴は、利用者識別情報が紐付けられている。利用者識別情報は、利用者を識別するための利用者ID等、各利用者に固有の情報である。
たとえば、実施形態で述べたように、配信部500は、車載端末M3を搭載する車両C3が、車載端末M1から取得した移動ルートR1に含まれる目的地DST1に到着したと判断したとする。
この場合、本変形例に係る配信部500は、車載端末M3を操作する運転手D3の利用者IDに基づいて、運転手D3の歌唱履歴を記憶手段10から読み出す。
配信部500は、読み出した歌唱履歴に楽曲ID***Xに対応する楽曲Xが含まれているかどうかを確認する。
楽曲Xが含まれていた場合、配信部500は、車載端末M1から取得した楽曲ID***Xに基づいて、記憶手段10から当該楽曲IDに対応する楽曲Xのカラオケ演奏データを読み出す。また、配信部500は、歌唱音声テーブルに記憶されている歌唱音声データSDを読み出す。配信部500は、読み出した楽曲Xのカラオケ演奏データ及び歌唱音声データSDを、車載端末M3に対して配信する。
一方、楽曲Xが含まれていなかった場合、配信部500は、楽曲Xのカラオケ演奏データの読み出しを行わない。
以上から明らかなように、本変形例に係るサーバ装置Sの配信部500は、一の車載端末を操作する利用者の歌唱履歴に、ある車載端末から取得した楽曲識別情報に対応する楽曲が含まれている場合に、当該楽曲識別情報に基づくカラオケ演奏データ、及び歌唱音声データの配信を行うことができる。歌唱履歴に含まれる楽曲は、利用者が知っている楽曲である可能性が高い。すなわち、本変形例のサーバ装置Sによれば、一の車載端末を操作する利用者が知っている可能性が高い楽曲のカラオケ演奏データのみを配信することができる。
<変形例3>
配信部500は、カラオケ演奏データ及び歌唱音声データを配信した一の車載端末から受信した歌唱音声データを、ある車載端末に対して配信することができる。
たとえば実施形態で述べたように、配信部500は、車載端末M3を搭載する車両C3が、車載端末M1から取得した移動ルートR1に含まれる目的地DST1に到着したと判断し、楽曲Xのカラオケ演奏データ及び歌唱音声データSDを、車載端末M3に対して配信する。
車載端末M3は、コンテンツアプリのカラオケ機能を用いて、受信した楽曲Xのカラオケ演奏データを再生し、カラオケ演奏音を放音手段から放音させる。また、車載端末M3は、コンテンツアプリのカラオケ機能を用いて、受信した歌唱音声データSDを再生し、運転手D1の歌唱音声を放音手段から放音させる。
ここで、車載端末M3が搭載された車両C3の運転手D3は、運転手D1が選曲した楽曲Xのカラオケ演奏、及び運転手D1の歌唱音声に合わせて、自らがカラオケ歌唱を行う。この場合、車載端末M3は、運転手D3のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データSD1をサーバ装置Sに送信する。
配信部500は、車載端末M1に対し、受信した歌唱音声データSD1を配信する。車載端末M1は、コンテンツアプリのカラオケ機能を用いて、楽曲Xのカラオケ演奏データ、運転手D1のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データSD、及び受信した歌唱音声データSD1を再生し、カラオケ演奏音、運転手D1の歌唱音声、及び運転手D3の歌唱音声を放音手段から放音させる。車載端末M1が搭載された車両C1の運転手D1は、自らの歌唱音声と合わせて運転手D3の歌唱音声をデュエット形式で試聴することができる。
以上から明らかなように、本変形例に係る配信部500は、カラオケ演奏データ及び歌唱音声データを配信した一の車載端末から、当該カラオケ演奏データに基づくカラオケ演奏、及び当該歌唱音声データに基づくある利用者の歌唱音声に合わせて行われた、一の車載端末を操作する利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データを受信した場合、ある車載端末に対し、受信した当該歌唱音声データを配信する。このようなサーバ装置Sによれば、歌唱音声データが配信された車載端末を操作する利用者によるカラオケ歌唱の歌唱音声を、当該歌唱音声データを送信したある車載端末において試聴することができる。
<変形例4>
配信部500は、カラオケ演奏データ及び歌唱音声データと合わせて、カラオケ歌唱を行っているある利用者を撮影して得られた映像データを配信してもよい。
(第1の取得部)
本変形例に係る第1の取得部100は、ある利用者が操作するある車載端末から、カラオケ演奏機能を用いてカラオケ演奏が行われた楽曲の楽曲識別情報、当該ある利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データ、当該カラオケ歌唱を行う当該ある利用者を撮影して得られた映像データ、カーナビゲーション機能を用いて設定された目的地を含む移動ルート、及び当該ある車載端末の端末識別情報を取得する。
実施形態で述べたように、ある車載端末は、コンテンツアプリが提供するカラオケ演奏機能を用いて、受信したカラオケ演奏データに基づくカラオケ演奏を行う。カラオケ演奏の演奏音は、ある車載端末の放音手段(或いは、車両が備えるスピーカ等の放音手段)から放音される。ある利用者は、ある車載端末の集音手段(或いは、車載端末に取り付けられたヘッドセット等の集音手段)を用いてカラオケ歌唱を行う。また、ある車載端末の撮影手段(或いは、車載端末に取り付けられたカメラ等の撮影手段)は、カラオケ歌唱を行うある利用者を撮影する。ある車載端末は、ある利用者のカラオケ歌唱に伴う歌唱音声に対応する歌唱音声データ、及びカラオケ歌唱を行うある利用者を撮影して得られた映像データを、楽曲識別情報と紐付けて、ある車載端末が備える記憶手段(図示なし)に記憶させる。
その後、ヒッチハイクモードが選択された場合、ある車載端末は、記憶手段(図示なし)に記憶されている楽曲識別情報、歌唱音声データ、映像データ、及び移動ルートを、端末識別情報と紐付けてサーバ装置Sに送信する。
第1の取得部100は、ある車載端末から受信した、楽曲識別情報、歌唱音声データ、映像データ、移動ルート、及び端末識別情報を記憶手段10の歌唱音声テーブルに記憶させる。
(配信部)
本変形例に係る配信部500は、一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断した場合、当該一の車載端末に対し、ある車載端末から受信した楽曲識別情報に対応するカラオケ演奏データ、歌唱音声データ、及び映像データを配信する。
実施形態で述べたように、配信部500は、一の車載端末を搭載する車両が、ある車載端末から取得した移動ルートに含まれる目的地に到着したと判断した場合、ある車載端末から受信した楽曲識別情報に基づいて、記憶手段10から当該楽曲識別情報に対応するカラオケ演奏データを読み出す。また、配信部500は、歌唱音声テーブルに記憶されている歌唱音声データ及び映像データを読み出す。配信部500は、読み出したカラオケ演奏データ、歌唱音声データ、及び映像データを、一の車載端末に対して配信する。
一の車載端末は、コンテンツアプリのカラオケ機能を用いて、受信したカラオケ演奏データを再生し、カラオケ演奏音を放音手段から放音させる。また、一の車載端末は、コンテンツアプリのカラオケ機能を用いて、受信した歌唱音声データを再生し、ある利用者の歌唱音声を放音手段から放音させる。また、一の車載端末は、コンテンツアプリのカラオケ機能を用いて、受信した映像データを再生し、ある利用者がカラオケ歌唱を行っている映像を表示手段に表示させる。一の車載端末が搭載された車両に乗車している利用者は、ある利用者が選曲した楽曲のカラオケ演奏を、当該ある利用者の歌唱音声及び映像と合わせて視聴することができる。
<その他>
上記実施形態は、例として提示したものであり、発明の範囲を限定するものではない。上記の構成は、適宜組み合わせて実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。