説明

カラオケ端末

【課題】カラオケに用いられる楽曲データのダウンロードが中断された場合であっても、当該楽曲データのダウンロードを効率的におこなうこと。
【解決手段】ダウンロード部102は、カラオケに用いられる楽曲データを配信するサーバ装置140との通信をおこなうことにより、当該サーバ装置140から楽曲データをダウンロードして楽曲データ格納部104へ格納させておく。ダウンロード部102は、一の楽曲データのダウンロードが中断された場合、当該一の楽曲データのうちの既に受信した部分を楽曲データ格納部104へ格納させておき、中断された当該ダウンロードが再開された場合、当該一の楽曲データのうちの、受信した部分に続く残りの部分を受信し、当該残りの部分を、既に格納されている受信した部分に関連づけて楽曲データ格納部104に格納させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カラオケ端末に関する。
【背景技術】
【0002】
特許文献1には、カラオケ用の楽曲データをサーバ装置から各カラオケ端末に配信する通信カラオケシステムが開示されている。このような通信カラオケシステムで扱われる楽曲データの平均的なファイルサイズは、たとえばMIDI(Musical Instrument Digital Interface)データであれば、150Kbyte程度である。各カラオケ端末は、この程度のファイルサイズの楽曲データであれば、比較的短い時間で当該楽曲データをサーバ装置からダウンロードすることができる。従って、MIDIデータを用いた従来の通信カラオケシステムでは、ファイルの受信途中で通信が途切れるようなことがあった場合には、カラオケ装置は、途中まで受信したファイルを一度削除して、通信再開後にファイルを受信し直していた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8−263078号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、近年では通信回線のブロードバンド化に伴い、楽曲データが高品質なものとなることで、楽曲データのデータサイズの巨大化を招いており、中にはデータサイズが130Mbyteを超える楽曲データもある。このようにデータサイズの大きな楽曲データの場合、通信再開後にファイルを受信し直すのは効率が悪い。そこで、本発明は、カラオケに用いられる楽曲データのダウンロードが中断された場合であっても、当該楽曲データのダウンロードを効率的におこなうことを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明は、データを格納する格納部と、カラオケに用いられる楽曲データを配信する情報処理装置との通信をおこなうことにより、当該情報処理装置から楽曲データをダウンロードして前記格納部に格納させるダウンロード部とを備え、前記ダウンロード部は、一の前記楽曲データのダウンロードが中断された場合、当該一の楽曲データのうちの既に受信した部分を前記格納部へ格納させておき、中断された当該ダウンロードが再開された場合、当該一の楽曲データのうちの、前記受信した部分に続く残りの部分を受信し、当該残りの部分を、既に格納されている前記受信した部分に関連づけて前記格納部に格納させることを特徴とするカラオケ端末を提供する。
【発明の効果】
【0006】
本発明のカラオケ端末によれば、一の楽曲データのダウンロードが中断され、当該ダウンロードが再開されると、当該一の楽曲データの楽曲データの先頭から受信しなおすのではなく、当該一の楽曲データの受信済みの部分に続く残りの部分を受信するので、ダウンロード再開後におけるデータ受信量を抑えることができ、当該一の楽曲データのダウンロードを効率的におこなうことができる。
【図面の簡単な説明】
【0007】
【図1】本実施形態に係る通信カラオケシステム10の全体構成を示す。
【図2】カラオケ端末100の機能構成を示す。
【図3】カラオケ端末100による処理の手順を示す。
【図4】楽曲データ格納部104に格納されている楽曲データの一例を示す。
【図5】楽曲データ格納部104に格納されている楽曲データの一例を示す。
【図6】カラオケ端末100のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0008】
図1は、本実施形態に係る通信カラオケシステム10の全体構成を示す。通信カラオケシステム10は、カラオケ端末100と、サーバ装置140とを備える。カラオケ端末100は、ユーザからの要求に従ってカラオケ用の楽曲データ(以下、単に「楽曲データ」という。)を再生する装置である。カラオケ端末100およびサーバ装置140のそれぞれは、ネットワーク120に接続されている。ネットワーク120はLAN(Local Area Network)やインターネットであり、カラオケ端末100とサーバ装置140との間におけるデータ通信が行われる通信網である。サーバ装置140は、楽曲データを配信する情報処理装置である。サーバ装置140は、その内部あるいは外部に備えたHDD(Hard Disk Drive)等の記憶手段に楽曲データを格納しており、カラオケ端末100からの要求に従って、あるいは定期的に、ネットワーク120経由でこの楽曲データをカラオケ端末100に配信する。ここで、楽曲データとは、カラオケに用いられる楽曲に関する楽音データと映像データとが組み合わされたものを示す。すなわち、楽曲データは、主旋律の歌声が存在せず伴奏やコーラスで構成されたいわゆるカラオケバージョンの楽曲に関する音声データと、この楽曲の歌詞や歌詞の背景に表示する映像からなる映像データとから成り立っている。通信カラオケシステム10には、複数のカラオケ端末100が存在してもよく、複数のサーバ装置140が存在してもよい。
【0009】
図2は、カラオケ端末100の機能構成を示す。ここでは、カラオケ端末100が備える機能のうち、本実施形態の説明に必要となる、楽曲データをダウンロードして格納することに関する機能と、格納された楽曲データを再生することに関する機能について説明する。カラオケ端末100は、ダウンロード部102、楽曲データ格納部104、指示入力部105、楽曲データ再生部106、表示部108、発音部110、収音部112、および音声合成部114を備える。
【0010】
ダウンロード部102は、サーバ装置140との通信をおこなうことにより、サーバ装置140から楽曲データをダウンロードする。楽曲データ格納部104は、ダウンロード部102によってサーバ装置140からダウンロードされた楽曲データを格納する。楽曲データ再生部106は、楽曲データ格納部104に格納されている楽曲データを再生する。
【0011】
このカラオケ端末100の利用時には、ユーザに対し、再生可能な楽曲データの曲目リストが提供される。この曲目リストには、複数の楽曲データのそれぞれについて、曲名、歌手名、楽曲データIDなどが示されている。そして、カラオケ端末100のユーザが、この曲目リストの中から所望の楽曲データを選択し、選択した楽曲データに対応付けられている楽曲データIDを、指示入力部105で入力すると、楽曲データ再生部106は、この楽曲データIDに対応付けられている楽曲データを楽曲データ格納部104から検索する。この楽曲データが楽曲データ格納部104に格納されていれば、楽曲データ再生部106が、この楽曲データを楽曲データ格納部104から取得し、これを再生する。一方、この楽曲データが楽曲データ格納部104に格納されていなければ、ダウンロード部102が、この楽曲データIDに対応付けられている楽曲データをサーバ装置140からダウンロードする。楽曲データ格納部104には、ダウンロードされた楽曲データが、当該楽曲データの楽曲データIDと対応づけて格納される。このようにして、楽曲データのダウンロードが完了すると、楽曲データ再生部106が、ダウンロードされた楽曲データを楽曲データ格納部104から取得し、これを再生する。
【0012】
このようにして楽曲データが再生されると、表示部108が、この楽曲データに含まれる映像データに応じた映像を表示する。これと同時に、発音部110が、この楽曲データに含まれる楽音データに応じた音を発する。さらに、楽曲データの再生中に、カラオケ端末100のユーザが発した音声を収音部112が収集すると、音声合成部114が、収集部112によって収集された音声を示す音声データと、再生部106によって再生された楽曲データに含まれる楽音データとを合成して、これを発音部110へ供給する。これにより、発音部110からは、カラオケ端末100のユーザが発した音声と、楽曲データに含まれる楽音とが重ねられて、発せられる。
【0013】
図3は、カラオケ端末100による処理の手順を示す。まず、カラオケ端末100のユーザが、曲目リストの中から所望の楽曲データ(以下、「当該楽曲データ」という。)を選択し、当該楽曲データに対応付けられている楽曲データIDを、指示入力部105で入力する(ステップS302)。これに応じて、楽曲データ再生部106が、当該楽曲データが楽曲データ格納部104に格納されているか否かを判断する(ステップS304)。
【0014】
ステップS304において、「当該楽曲データが楽曲データ格納部104に格納されている」と判断された場合(ステップS304:YES)、楽曲データ再生部106が、当該楽曲データを楽曲データ格納部104から取得し、これを再生する(ステップS320)。
【0015】
一方、ステップS304において、「当該楽曲データが楽曲データ格納部104に格納されてない」と判断された場合(ステップS304:NO)、ダウンロード部102が、サーバ装置140との通信をおこなうことにより、サーバ装置140からの当該楽曲データのダウンロードを開始する(ステップS306)。具体的には、ダウンロード部102が、当該楽曲データの楽曲データIDをサーバ装置140に通知し、この通知に応じて、サーバ装置140が当該楽曲データIDに対応する楽曲データを記憶手段から読み出してカラオケ端末100に送信する。ダウンロード部102はこれを受信する。
【0016】
その後、ダウンロード部102は、当該楽曲データのダウンロードの最中に、当該ダウンロードが中断されなければ(ステップS308:NO)、当該楽曲データを受信し(ステップS312)、受信した当該楽曲データを、再生不可能な一時ファイルとして楽曲データ格納部104に格納させる(ステップS314)。そして、ダウンロード部102は、当該楽曲データの全部を受信していなければ(ステップS316:NO)、当該楽曲データの全部を受信するまで、ステップS312およびステップS314を繰り返し、その都度、受信した当該楽曲データを楽曲データ格納部104に格納されている一時ファイルに加えていく。
【0017】
ダウンロード部102が、当該楽曲データの全部を受信して楽曲データ格納部104に格納させると(ステップS316:YES)、ダウンロード部102は、楽曲データ格納部104に格納されている一時ファイルを、再生可能な完全ファイルとして有効化する(ステップS318)。そして、楽曲データ再生部106が、当該楽曲データを楽曲データ格納部104から取得し、これを再生する(ステップS320)。
【0018】
上記において、当該楽曲データのダウンロードの最中に、当該ダウンロードが中断される場合がある(ステップS308:YES)。例えば、サーバ装置140とカラオケ端末100との間の通信環境が悪化した場合とか、サーバ装置140またはカラオケ端末100に処理の異常が発生したような場合である。この場合、ダウンロード部102は、当該楽曲データのうちの、当該ダウンロードが中断されるまでに受信した部分を、破棄してしまうのではなく、再生不可能な一時ファイルとして楽曲データ格納部104に格納させたままにしておく。そして、ダウンロード部102は、サーバ装置140に対して要求を送信するなどして、当該ダウンロードの再開を試みる(ステップS310)、この試みは、タイムアウトになるまで繰り返される(ステップS310:NO)。当該ダウンロードが再開できた場合には(ステップS310:YES)、ダウンロード部102は、当該楽曲データのうちの、既に受信した部分、すなわち、楽曲データ格納部104に格納しておいた部分に続く、残りの部分のダウンロードを開始し(ステップS311)、当該残りの部分の全部を受信するまで、ステップS312およびステップS314を繰り返し、その都度、受信した当該残りの部分を楽曲データ格納部104に格納されている一時ファイルに加えていく。このように同一の一時ファイルに残りの部分が追加されるので、この残りの部分が、既に格納されている部分に関連づけて楽曲データ格納部104に格納されることになる。
【0019】
ここで、サーバ装置140においては、ダウンロードの再開要求をカラオケ端末100から受け取ったとしても、どの楽曲データのどの位置からの配信を再開すればよいか判断できない場合がある。そこで、本実施形態のカラオケ端末100は、ダウンロードの再開をサーバ装置140へ要求するとともに、当該楽曲データの楽曲データID、および当該楽曲データのうちの楽曲データ格納部104に格納された受信済みの部分のデータサイズ(Byte数)、すなわち一時ファイルのデータサイズをサーバ装置140へ通知する。たとえば、ダウンロード済みの部分のデータサイズが、「154300KByte」の場合、カラオケ端末100は、当該楽曲データの楽曲データIDと、受信済みの部分のデータサイズ「154300KByte」とを、サーバ装置140へ通知する。これにより、サーバ装置140は、通知された楽曲データIDに基づいて、配信を再開する楽曲データを特定し、さらに、その楽曲データにおいて当該データの先頭からデータサイズ「154300KByte」に相当する位置が配信を再開する位置であることを特定することができる。
【0020】
図4および図5は、楽曲データ格納部104に格納されている楽曲データの管理テーブル400の一例を示す。図4および図5に示す管理テーブル400は、楽曲データ格納部104に格納されているデータベース・テーブルである。この管理テーブル400には、各々の楽曲データに関する情報、例えば各楽曲データの楽曲データID、ファイル名、保存日時、および再生回数が記述されている。ここで、各々の楽曲データのファイル名には、拡張子が付与されている。複数の楽曲データのファイルのうち、ファイル名に拡張子「.song」が付与されているものは、再生可能な完全ファイルであることを示す。一方、ファイル名に拡張子「.tmp」が付与されているものは、ダウンロードの途中であり、再生不可能な一時ファイルであることを示す。たとえば、図4に示すテーブル400において、楽曲データIDが「1025−31」の楽曲データのファイル名は、「1025−31.tmp」となっている。これは、この楽曲データのダウンロードが途中であり、このファイルが再生不可能な一時ファイルであることを示している。この楽曲データのダウンロードが完了すると、再生不可能な一時ファイルが再生可能な完全ファイルに有効化され、これにより、図5に示すように、この楽曲データのファイル名は、「1025−31.tmp」から「1025−31.song」となる。
【0021】
図6は、カラオケ端末100のハードウェア構成の一例を示す。カラオケ端末100は、CPU1505、ROM1510、RAM1520、HD(ハードディスク)ドライブ1525、通信インターフェース1530、外部メモリドライブ1540、外部メモリ1542、操作パネル1550、ディスプレイ1560、スピーカ1570、およびマイク1580を備える。
【0022】
ROM1510、RAM1520、およびHDドライブ1525は、各種データおよび各種プログラムを格納する。CPU1505は、ROM1510、RAM1520、HDドライブ1525、または外部メモリ1542に格納されたプログラムを実行することで、各種データ処理および各種ハードウェア制御をおこなう。
【0023】
通信インターフェース1530は、ネットワーク120に接続し、ネットワーク120を介して外部との通信をおこなう。外部メモリドライブ1540は、外部メモリ1542に接続し、外部メモリ1542に対するデータの送受信をおこなう。外部メモリ1542としては、たとえば、メモリカードが挙げられる。
【0024】
操作パネル1550には、キーボード、ボタン、タッチパネルなどの入力デバイスが設けられており、これらの入力デバイスがユーザによって操作されることにより、当該カラオケ端末100に対し、各種情報を入力する。ディスプレイ1560は、映像データに応じた映像を表示する。スピーカ1570は、音声データに応じた音を発する。マイク1580は、音を収集し、収集した音に応じた音声データを生成する。
【0025】
CPU1505が実行するプログラムは、たとえば、コンピュータ読み取り可能な記録媒体に格納されてカラオケ端末100に提供され、カラオケ端末100に格納される。CPU1505が実行するプログラムは、カラオケ端末100に予め格納されていてもよい。また、CPU1505が実行するプログラムは、外部装置から通信ネットワークを介してカラオケ端末100に提供され、カラオケ端末100に格納されてもよい。
【0026】
たとえば、コンピュータであるカラオケ端末100は、CPU1505が、上記プログラムを実行し、通信インターフェース1530を制御することにより、図2に示したダウンロード部102として機能する。また、カラオケ端末100は、ROM1510、RAM1520、HDドライブ1525、または外部メモリ1542が、図2に示した楽曲データ格納部104として機能する。また、カラオケ端末100は、CPU1505が、上記プログラムを実行することにより、図2に示した楽曲データ再生部106および音声合成部114として機能する。また、カラオケ端末100は、操作パネル1550が、図2に示した指示入力部105として機能する。また、カラオケ端末100は、ディスプレイ1560が、図2に示した表示部108として機能する。また、カラオケ端末100は、スピーカ1570が、図2に示した発音部110として機能する。また、カラオケ端末100は、マイク1580が、図2に示した収音部112として機能する。
【0027】
以上説明したように、本実施形態に係るカラオケ端末100によれば、一の楽曲データのダウンロードが中断され、当該ダウンロードが再開されると、当該一の楽曲データの楽曲データの先頭から受信しなおすのではなく、当該一の楽曲データの受信済みの部分に続く残りの部分を受信するので、最初からダウンロードをやり直す場合と比較して、ダウンロード再開後におけるデータ受信量やダウンロード時間を抑えることができる。よって、当該一の楽曲データのダウンロードを効率的におこなうことができる。
【0028】
<変形例>
上述の実施形態を以下のように変形してもよい。また、以下の各変形例を適宜組み合わせてもよい。
【0029】
<変形例1>
実施形態において、ダウンロード部102は、ダウンロードが中断されるまでに受信した部分を、楽曲データ格納部104へ一時ファイルとして格納しておき、当該ダウンロードが再開すると、これに続く残りの部分をサーバ装置140から受信することとした。ここで、一時ファイルのデータが壊れていると、ダウンロードを再開して、全てのデータを受信し、当該一時ファイルを有効化したとしても、当該楽曲データを正常に再生することができない。そこで、ダウンロード部102は、受信済みの部分のデータのうちのデータが壊れていない部分以降の、残りの部分のデータを、サーバ装置140から受信することが望ましい。具体的には次のような仕組みとなる。
【0030】
たとえば、ダウンロード部102は、受信済みの部分のデータのハッシュ値をサーバ装置140へ送信し、受信済みの部分のデータが壊れているか否かをサーバ装置140に判断させ、その判断結果をサーバ装置140から受け取る。そして、ダウンロード部102は、受信済みの部分のデータが壊れていないとの判断結果をサーバ装置140から受け取った場合は、受信済みの部分に続く残りの部分をサーバ装置140から受信する。
【0031】
一方、ダウンロード部102は、受信済みの部分のデータが壊れているとの判断結果をサーバ装置140から受け取った場合は、判断の対象とする受信済みの部分のデータの先頭からのサイズを所定量減らしてから(つまり、受信済みの部分のデータの後ろから所定量のデータを除いてから)、上記と同様に、このサイズが減らされた後のデータのハッシュ値をサーバ装置140へ送信し、サイズが減らされた後のデータが壊れているか否かをサーバ装置140に判断させ、その判断結果をサーバ装置140から受け取る。そして、ダウンロード部102は、サイズが減らされた後のデータが壊れていないとの判断結果をサーバ装置140から受け取った場合は、このサイズが減らされた後のデータに続く残りの部分をサーバ装置140から受信する。
【0032】
なおも、ダウンロード部102は、サイズが減らされた後のデータが壊れているとの判断結果をサーバ装置140から受け取った場合は、判断の対象とする受信済みの部分のデータの先頭からのサイズをさらに所定量減らし、上記と同様に、このサイズがさらに減らされた後のデータのハッシュ値をサーバ装置140へ送信し、サイズがさらに減らされた後のデータが壊れているか否かをサーバ装置140に判断させ、その判断結果をサーバ装置140から受け取る。
【0033】
具体例を挙げると、受信済みの部分のデータのサイズが「150MByte」である場合、たとえば、ダウンロード部102は、受信済みの部分のデータのうちの、先頭から「150MByte」分のデータのハッシュ値をサーバ装置140へ送信し、この「150MByte」分のデータが壊れているか否かをサーバ装置140に判断させ、その判断結果をサーバ装置140から受け取る。そして、ダウンロード部102は、この「150MByte」分のデータが壊れていないとの判断結果をサーバ装置140から受け取った場合は、この「150MByte」分のデータに続く残りの部分をサーバ装置140から受信する。
【0034】
一方、ダウンロード部102は、「150MByte」分のデータが壊れているとの判断結果をサーバ装置140から受け取った場合は、判断の対象とする受信済みの部分のデータのサイズを先頭から「140MByte」分に減らし、上記と同様に、この「140MByte」分のデータのハッシュ値をサーバ装置140へ送信し、この「140MByte」分のデータが壊れているか否かをサーバ装置140に判断させ、その判断結果をサーバ装置140から受け取る。そして、ダウンロード部102は、この「140MByte」分のデータが壊れていないとの判断結果をサーバ装置140から受け取った場合は、この「140MByte」分のデータに続く残りの部分をサーバ装置140から受信する。
【0035】
なおも、ダウンロード部102は、この「140MByte」分のデータが壊れているとの判断結果をサーバ装置140から受け取った場合は、判断の対象とする受信済みの部分のデータのサイズを先頭から「130MByte」分に減らし、上記と同様に、この「130MByte」分のデータのハッシュ値をサーバ装置140へ送信し、この「130MByte」分のデータが壊れているか否かをサーバ装置140に判断させ、その判断結果をサーバ装置140から受け取る。
【0036】
このようにして、ダウンロード部102は、徐々に判断対象のデータの先頭からのサイズを減らして、このデータが壊れているか否かをサーバ装置140に判断させることにより、受信済みの部分のデータにおける、データが壊れていない部分に続く残りの部分からのダウンロードを再開する。これにより、ダウンロード再開後に受信するデータ量を、データが壊れている箇所を修復できる最小限のデータ量に抑えることができるため、楽曲データのダウンロードを効率的におこなうことができる。
【0037】
<変形例2>
変形例1において、サーバ装置140は、楽曲データのヘッダー等に対して、部分的にハッシュ値を埋め込んで当該楽曲データを配信し、ダウンロード部102は、このハッシュ値により、データが壊れていない部分を自ら特定し、ダウンロードの再開後は、データが壊れていないと特定した部分以降の部分をサーバ装置140から受信するようにしてもよい。たとえば、サーバ装置140は、楽曲データを複数のブロックに区切って、カラオケ端末100へ配信する。このとき、サーバ装置140は、各々のブロックに対して、当該ブロックに割り当てられたブロック識別情報と、当該ブロックに含まれる前記楽曲データのハッシュ値を含めて、当該楽曲データをカラオケ端末100へ配信する。ダウンロード部102は、当該楽曲データをブロック単位で受信し、受信した当該楽曲データをブロック単位で、順次、楽曲データ格納部104へ格納する。楽曲データのダウンロードが中断された場合、楽曲データ格納部104へ格納されている(すなわち、受信済みの)各々のブロックに含まれる楽曲データのハッシュ値を算出して、当該ブロックについて算出した当該ハッシュ値と、当該ブロックに含まれていた前記ハッシュ値とを照合する。そして、ダウンロード部102は、双方のハッシュ値が一致していないブロックに含まれているブロック識別情報をサーバ装置140に通知し、当該ブロック以降のブロックに含まれている楽曲データを、データが壊れていない部分に続く残りの部分として、サーバ装置140に要求する。以上のように、変形例2では、データが壊れているブロックについては、当該ブロックを含む、当該ブロック以降のデータを新たに受信することによって、データが壊れている部分を復旧することとした。このように、データが壊れている部分の判断や、再送をブロック単位としたのは、データが壊れている部分の判断や、再送をデータサイズ単位(たとえば、Byte単位)とするよりも、既に受信済みの楽曲データと再送された楽曲データとを結合する処理などを、容易におこなうことができるからである。
【0038】
<変形例3>
変形例1において、ダウンロード部102は、徐々に判断対象のデータの先頭からのサイズを所定量減らして、このデータが壊れているか否かをサーバ装置140に判断させることとしたが、判断対象のデータ量が、データが壊れている箇所を含む部分のデータ量に近づくにつれ、判断対象のデータの先頭からのサイズを減らす量を、少なくするようにしてもよい。これにより、データが壊れていない部分を特定する際の精度を高めることができるので、ダウンロード再開後に受信するデータ量を、データが壊れている箇所を修復できるより最小限のデータ量に抑えることができるため、楽曲データのダウンロードを効率的におこなうことができる。
【0039】
たとえば、データが壊れている箇所が先頭から「138MBbyte」目の箇所であり、この大体の位置をダウンロード部102が把握しているとする。ここで、ダウンロード部102が把握している箇所と、実際にデータが壊れている箇所との間に誤差があることが考えられるので、まず、ダウンロード部102は、先頭から「150Mbyte」分のデータについてデータが壊れているか否かをサーバ装置140に判断させる。ここで、データが壊れていると判断されれば、ダウンロード部102は、先頭からのデータサイズを「10Mbyte」減らして、「140Mbyte」分のデータについてデータが壊れているか否かをさらに判断させる。
【0040】
ここでも、データ壊れていると判断された場合、ダウンロード部102が把握しているデータが壊れている箇所の先頭からのデータサイズ「138Mbyte」と、データが壊れているか否かを判断したデータサイズ「140Mbyte」との差が10Mbyte未満となったので、ダウンロード部102は、先頭からのデータサイズを「10Mbyte」減らすのではなく、「5Mbyte」減らして、「135MBbyte」分のデータについてデータが壊れているか否かをサーバ装置140に判断させる。ここで、壊れていないと判断されれば、ダウンロード部102は、先頭から「135MBbyte」分のデータに続くデータの受信を再開することになる。
【0041】
変形例1のように、常に「10Mbyte」づつ減らして判断する方式では、先頭から「130MBbyte」分のデータに続くデータの受信を再開することになり、変形例3では、上記したとおり、先頭から「135MBbyte」分のデータに続くデータの受信を再開することとなり、変形例3では、変形例1よりも、ダウンロード再開後のデータ受信量が「5Mbyte」少なくなる。このように、変形例3では、ダウンロード再開後に受信するデータ量を、データが壊れている箇所を修復できるより最小限のデータ量に抑えることができるため、楽曲データのダウンロードを効率的におこなうことができる。
【0042】
<変形例4>
実施形態において、ダウンロード部102は、ダウンロードが中断されるまでに受信した部分を、楽曲データ格納部104へ一時ファイルとして格納しておき、当該ダウンロードが再開すると、これに続く残りの部分をサーバ装置140から受信することとしたが、当該ダウンロードが再開すると、当該楽曲データを先頭から再送してもらい、再送された楽曲データのうちの、既に受信済みの部分については、これを破棄するようにしてもよい。変形例1において、当該ダウンロードが再開すると、受信済みの楽曲データにおけるデータが壊れていない部分に続く残りの部分をサーバ装置140から受信することとしたが、同様に、当該ダウンロードが再開すると、当該楽曲データを先頭から再送してもらい、再送された楽曲データのうちの、既に受信済みであり、かつデータが壊れていない部分については、これを破棄するようにしてもよい。
【0043】
<変形例5>
既に楽曲データ格納部104に格納されている古いバージョンの楽曲データ(以下、「旧楽曲データ」と示す)に対して、新しいバージョンの楽曲データ(以下、「新楽曲データ」と示す)がサーバ装置140から配信される場合がある。この場合、ダウンロード部102は、新楽曲データをダウンロード中の間は、この新楽曲データで旧楽曲データを上書きせず、旧楽曲データと新楽曲データとを別々に楽曲データ格納部104に格納し、新楽曲データのダウンロードが完了した後、旧楽曲データを新楽曲データで上書きするようにしてもよい。これにより、旧楽曲データの再生中に、当該旧楽曲データが新楽曲データで上書きされてしまうことを防止できるうえ、旧楽曲データの再生と新楽曲データのダウンロードとを並行しておこなうことができる。なお、新楽曲データのダウンロードが完了した時点で、旧楽曲データが再生中の場合は、旧楽曲データの再生が終了した後に、旧楽曲データを新楽曲データで上書きするとよい。これらの場合も、実施形態で説明したように、新楽曲データのダウンロードが中断され、中断された当該ダウンロードが再開された場合、当該新楽曲データのうちの、受信した部分に続く残りの部分を受信し、当該残りの部分を、既に格納されている受信した部分に関連づけて楽曲データ格納部104に格納させるとよい。要するに、実施形態の「一の楽曲データ」を「新楽曲データ」に読み替えるとよい。なお、ここでいう「新楽曲データをダウンロード中の間」とは、新楽曲データの全てのデータのダウンロードが完了するまでを意味している。したがって、ここでいう「新楽曲データをダウンロード中の間」には、新楽曲データのダウンロードが中断されている間や、中断されたダウンロードが再開した後のダウンロードがおこなわれている間も含む。
【符号の説明】
【0044】
10…通信カラオケシステム、100…カラオケ端末、140…サーバ装置、120…ネットワーク、102…ダウンロード部、104…楽曲データ格納部、105…指示入力部、106…楽曲データ再生部、108…表示部、110…発音部、112…収音部、114…音声合成部

【特許請求の範囲】
【請求項1】
データを格納する格納部と、
カラオケに用いられる楽曲データを配信する情報処理装置との通信をおこなうことにより、当該情報処理装置から楽曲データをダウンロードして前記格納部に格納させるダウンロード部と
を備え、
前記ダウンロード部は、
一の前記楽曲データのダウンロードが中断された場合、当該一の楽曲データのうちの既に受信した部分を前記格納部へ格納させておき、
中断された当該ダウンロードが再開された場合、当該一の楽曲データのうちの、前記受信した部分に続く残りの部分を受信し、当該残りの部分を、既に格納されている前記受信した部分に関連づけて前記格納部に格納させる
ことを特徴とするカラオケ端末。
【請求項2】
前記一の楽曲データが、既に前記格納部に格納されている古いバージョンの旧楽曲データに対する、新しいバージョンの新楽曲データである場合、
前記ダウンロード部は、
前記新楽曲データをダウンロード中の間は、当該新楽曲データで前記旧楽曲データを上書きせず、前記旧楽曲データと当該新楽曲データとを別々に前記格納部に格納させておき、当該新楽曲データのダウンロードが完了した後、前記旧楽曲データを当該新楽曲データで上書きする
ことを特徴とする請求項1に記載のカラオケ端末。
【請求項3】
前記ダウンロード部は、
前記一の楽曲データのダウンロードが中断された場合、前記受信した部分における、データが壊れていない部分を特定し、当該ダウンロードが再開された場合、特定された前記データが壊れていない部分に続く残りの部分を前記情報配信装置に要求して受信する
ことを特徴とする請求項1または2に記載のカラオケ端末。
【請求項4】
前記楽曲データは複数のブロックに区切られて前記情報配信装置から配信され、
各々の前記ブロックには、当該ブロックに割り当てられたブロック識別情報と、当該ブロックに含まれる前記楽曲データのハッシュ値が含まれており、
前記ダウンロード部は、前記一の楽曲データのダウンロードが中断された場合、前記格納部へ格納されている各々の前記ブロックに含まれる楽曲データのハッシュ値を算出して、当該ブロックについて算出した当該ハッシュ値と、当該ブロックに含まれていた前記ハッシュ値とを照合し、
双方の前記ハッシュ値が一致していないブロックに含まれている前記ブロック識別情報を前記情報配信装置に通知し、当該ブロック以降のブロックに含まれている楽曲データを、前記データが壊れていない部分に続く残りの部分として、前記情報配信装置に要求する
ことを特徴とする請求項3に記載のカラオケ端末。
【請求項5】
前記ダウンロード部は、
一の前記楽曲データのダウンロードが中断された場合、当該一の楽曲データのうちの既に受信した部分のデータサイズを前記情報処理装置に通知することにより、当該ダウンロードが再開される場合に、当該一の楽曲データのうちの前記データサイズ以降に相当する前記残りの部分を配信するよう前記情報処理装置に要求する
ことを特徴とする請求項1または2に記載のカラオケ端末。
【請求項6】
前記ダウンロード部は、
前記一の楽曲データのダウンロードが中断された場合、前記受信した部分のデータについてハッシュ値を生成して前記情報配信装置に送信し、
当該受信した部分におけるデータが壊れているか否かについての前記情報配信装置による判断結果を受信し、
前記判断結果が前記受信した部分におけるデータが壊れていない旨である場合には、前記情報配信装置から、前記受信した部分に続く残りの部分を受信し、
前記判断結果が前記受信した部分におけるデータが壊れている旨である場合には、前記受信した部分の後ろから所定量のデータを除いてから、当該受信した部分のデータについてハッシュ値を生成して前記情報配信装置に送信する処理を、前記受信した部分におけるデータが壊れていない旨の前記判断結果を受信するまで繰り返す
ことを特徴とする請求項1または2に記載のカラオケ端末。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−209506(P2011−209506A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−77273(P2010−77273)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】