==システム構成例==
以下、本発明の実施形態について説明する。図1は本実施形態に係るデジタル音楽放送受信時のエラー防止システムの概略構成例を示す図である。
本実施形態のデジタル音楽放送受信時のエラー防止システムはカラオケホスト装置1、カラオケ装置2およびラジオホスト装置3を含んで構成され、これらは通信回線4に接続される。通信回線4は、たとえば、光ファイバー、イーサネット(登録商標)、公衆電話回線、無線通信網などにより構築される。通信回線4ではパケット通信によるデータ通信が行われる。本実施形態では通信回線4はインターネットであり、TCP/IPのプロトコルに従ったパケット通信が行われることを想定する。
カラオケホスト装置1は、サーバ装置として機能し、伴奏データや歌詞データなどを含むカラオケに用いられるデータ(以下、カラオケデータという。)を蓄積して管理する。
カラオケ装置2は、たとえばカラオケ店KBの各カラオケルームRMに設置され、カラオケに関する各種の制御処理を行う。カラオケ装置2は、カラオケデータを記憶し、選曲されたカラオケ楽曲に係るカラオケデータに基づいて伴奏の演奏制御、歌詞および背景映像の表示制御、ならびにマイクから入力された歌唱音声信号の処理などを行う。
カラオケデータはカラオケホスト装置1からカラオケ装置2に提供される。新曲が登録された場合などには、カラオケホスト装置1からカラオケ装置2に向けてカラオケデータが送信される。カラオケホスト装置1からカラオケ装置2へのカラオケデータの送信は、ネットワーク層においてはIPv4(Internet Protocol Version 4)、トランスポート層においてはTCP(Transmission Control Protocol)に従って行われる。カラオケルームRMにおいて、カラオケ装置2と通信回線4との間には転送装置41(ルーティング装置、ルータあるいはゲートウェイと呼ばれる。)が設置され、転送装置41によりIPv4のパケットの経路制御が行われる。TCPによるデータ通信ではカラオケホスト装置1とカラオケ装置2との間でのハンドシェイクにより確実にデータが伝送される。
ラジオホスト装置3はカラオケルームRMにおいて背景音楽(BGM)として再生するための音楽データ(以下、BGMデータという。)を管理する。BGMデータは、たとえばMP(Moving Picture experts group audio layer)3、MP4などの形式のデータである。カラオケ店KBの営業時間中、ラジオホスト装置3からカラオケルームRMに向けてBGMデータが送信される。
図2に示すように、カラオケルームRMにはカラオケ装置2およびラジオ再生装置5が設置され、ラジオ再生装置5がラジオホスト装置3から受信したBGMデータを再生し、これによりカラオケルームRMにおいてBGMが再生されることになる。
BGMデータはストリーミング方式によりリアルタイムにラジオホスト装置3からラジオ再生装置5に送信される。本実施形態では、マルチキャストアドレスに対してパケットを送信するマルチキャストストリーミングによりBGMデータが提供されることを想定する。ラジオホスト装置3からラジオ再生装置5へのBGMデータの送信は、ネットワーク層においてIPv6(Internet Protocol Version 6)、トランスポート層においてはUDP(User Datagram Protocol)に従って行われる。カラオケルームRMにおいて、ラジオ再生装置5と通信回線4との間には転送装置42が設置され、転送装置42によりIPv6のパケットの経路制御が行われる。UDPではハンドシェイクが行われないため、通信回線4における通信量が多い場合などにはパケットが欠損すること(パケットロス)が発生することがあり、この場合BGMに音飛びやノイズなどの乱れが生じることになる。
カラオケ装置2とラジオ再生装置5とは通信路7により通信可能に接続される。通信路7は、たとえばUSBケーブルや無線通信路とすることができる。また、通信路7はZigbee(登録商標)などによるセンサネットワークとしてもよいし、イーサネット(登録商標)などを用いた通信ネットワークとしてもよい。カラオケ装置2は通信路7を介してラジオ再生装置5におけるBGMの再生状況を取得する。
本実施形態のデジタル音楽放送受信時のエラー防止システムでは、ラジオ再生装置5においてBGMが再生されているときにカラオケデータの通信量を減らすことにより、BGMデータの配信に係るエラーを低減し、これによりBGMに音飛びやノイズが生じないようにしている。
==ラジオホスト装置3==
<ハードウェア構成>
図3はラジオホスト装置3のハードウェア構成例を示す図である。ラジオホスト装置3は、制御部31、通信部32、記憶部33および入力部34を備える。
制御部31は、ラジオホスト装置3における制御の中心となる部分であり、CPU31aやメモリ31bを備える。CPU31aは、メモリ31bに記憶された動作プログラムに従って各種の制御を実行する。メモリ31bは、CPU31aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。通信部32は、ラジオホスト装置3を通信回線4に接続するためのインタフェースを提供する。記憶部33は、たとえばハードディスクドライブなどの大容量の情報を記憶する記憶装置である。入力部34はデータの入力を受け付ける。入力部34は、たとえばキーボードやマウス、タッチパネルなどの入力装置(不図示)からデータの入力を受け付けることができる。また、入力部34は、DVDやCD−ROM、ICカード、可搬型のハードディスクドライブなどの外部記憶装置と接続するインタフェース(不図示)を備え、入力装置による操作に応じて外部記憶装置からデータを読み出すこともできる。
<ソフトウェア構成>
図4はラジオホスト装置3のソフトウェア構成例を示す図である。ラジオホスト装置3は、BGMデータ登録部311、ストリーミング処理部312およびラジオデータ記憶部331を備える。
なお、BGMデータ登録部311およびストリーミング処理部312は、たとえばCPU31aがメモリ31bに記憶されているプログラムを実行することにより実現されるようにしてもよいし、ハードウェア回路として実現するようにしてもよい。ラジオデータ記憶部331は、記憶部33が提供する記憶領域の一部として実現することができる。
ラジオデータ記憶部331はBGMデータを記憶する。BGMデータ登録部311は、BGMデータをラジオデータ記憶部331に登録する。BGMデータ登録部311は、オペレータからBGMデータの入力を受け付けるようにしてもよいし、他のサーバ装置にアクセスしてBGMデータを取得するようにしてもよい。ストリーミング処理部312は、マルチキャストストリーミングによりBGMデータを送出する。なお、ストリーミング処理部312は、BGMデータ登録部311に入力されたBGMデータをそのままリアルタイムにマルチキャストアドレスに対して転送するようにしてもよい。なお、ラジオホスト装置3によるBGMデータのマルチキャストストリーミングには、たとえばインターネットラジオなどに用いられている一般的な手法を採用することができる。
==ラジオ再生装置5==
<ハードウェア構成>
図5はラジオ再生装置5のハードウェア構成例を示す図である。ラジオ再生装置5は、制御部51、通信部52、記憶部53、音響処理部54および通信部56を備える。制御部51は、ラジオ再生装置5における制御の中心となる部分であり、CPU51aおよびメモリ51bを備える。CPU51aは、メモリ51bに記憶された動作プログラムに従って各種の制御を実行する。メモリ51bは、CPU51aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。記憶部33は、たとえばハードディスクドライブなどの大容量の情報を記憶する記憶装置である。
通信部52は、ラジオ再生装置5を通信回線4に接続するためのインタフェースを提供する。通信部52は、制御部51によって動作が制御される。本実施形態では、通信部52は、イーサネット(登録商標)に接続するためのネットワークインタフェースであるものとする。通信部52には、IPv6のIPアドレス、イーサネット(登録商標)において伝送可能な最大のパケットサイズ(MTU;Maximum Transmission Unit)など、パケット通信に関する各種のパラメータが設定される。
通信部56は、ラジオ再生装置5を通信路7に接続するためのインタフェースを提供する。通信部56は、制御部51によって動作が制御される。通信部56は、たとえばシリアル通信を行うためのUSBなどのシリアルインタフェースであってもよいし、無線通信を行うための無線通信機であってもよい。また、通信路7がイーサネット(登録商標)である場合にはネットワークインタフェースとすることもできる。
音響処理部54は、音響に関する各種の処理を行う。音響処理部54にはスピーカ511が接続され、音響処理部54は、BGMデータに基づく放音信号をスピーカ511に出力する。スピーカ511は、音響処理部54からの放音信号に基づいて放音する。これにより、BGMが再生されることになる。
<ソフトウェア構成>
図6はラジオ再生装置5のソフトウェア構成例を示す図である。ラジオ再生装置5は、ストリーミング処理部521、BGM再生部522、ラジオステータス送信部523およびラジオステータス記憶部531を備える。
なお、ストリーミング処理部521、BGM再生部522およびラジオステータス送信部523は、たとえばCPU51aがメモリ51bに記憶されているプログラムを実行することによりソフトウェアとして実現されるようにしてもよいし、ハードウェア回路として実現するようにしてもよい。ラジオステータス記憶部531は、記憶部53が提供する記憶領域の一部として実現することができる。
ラジオステータス記憶部531は、ラジオ再生装置5におけるBGMの再生状況(以下、ラジオステータスという。)を記憶する。ラジオステータスには、少なくともBGMデータが再生されているか否か(再生フラグ)が含まれる。本実施形態では、ラジオステータスにはさらに、欠損したパケットの個数(パケットロス数)、受信予定のパケット数に対するパケットロス数の割合(パケットロス率)、パケットにエラーが検出された回数(エラー数)、エラーが発生したパケットの割合(エラー率)が含まれるものとする。また、本実施形態では、ラジオステータス記憶部531は最新のラジオステータスのみを記録するものとする。
ストリーミング処理部521は、マルチキャストストリーミングにより伝送されるBGMデータを受信する。
BGMデータのパケットには、たとえばエラー検出用のデータ(チェックサム)が含まれており、ストリーミング処理部521は、これを用いてBGMデータのエラーを検出する。ストリーミング処理部521は、エラーを検出した場合、ラジオステータス記憶部531に記憶されているラジオステータスのエラー数をインクリメントし、エラー率を算出してラジオステータスのエラー率を更新する。
また、BGMデータのパケットには、連続したシーケンス値が含まれ、ストリーミング処理部521は、シーケンス値を参照することによりパケットの欠損(パケットロス)を検出する。ストリーミング処理部521は、パケットロスを検出した場合には、ラジオステータスのパケットロス数をインクリメントし、パケットロス率を算出してラジオステータスのパケットロス率を更新する。
BGM再生部522(本発明の音楽再生手段に該当する。)は、BGMデータを再生する。BGM再生部522は、BGMデータを音声信号に復号する。BGM再生部522による音声信号の復号処理については周知の手法を用いることができる。BGM再生部522は、復号した音声信号を音響処理部54に与えてスピーカ511からBGMが放音されるようにする。BGM再生部522はBGMデータの再生処理を開始したときには、ラジオステータス記憶部531に記憶されるラジオステータスの再生フラグを「真」に設定し、BGMデータの再生処理を終了したときには、再生フラグを「偽」に設定する。BGM再生部522は、たとえばラジオ再生装置5に設けられたスイッチ(不図示)が押下されたことに応じて再生処理を開始または終了することができる。また、BGM再生部522が再生処理を開始または終了するタイミングでストリーミング処理部521を起動するようにしてもよい。
ラジオステータス送信部523は、ラジオステータスを外部に提供する。本実施形態では、ラジオステータス送信部523は、通信路7からラジオステータスを取得するためのリクエスト信号(以下、ラジオステータス取得信号という。)を受信し、ラジオステータス取得信号に応じてラジオステータス記憶部531に記憶されているラジオステータスを読み出し、読み出したラジオステータスを応答するものとする。
==カラオケホスト装置1==
<ハードウェア構成>
図7はカラオケホスト装置1のハードウェア構成例を示す図である。カラオケホスト装置1は、制御部11、通信部12、記憶部13および入力部14を備える。
制御部11は、カラオケホスト装置1における制御の中心となる部分であり、CPU11aやメモリ11bを備える。CPU11aは、メモリ11bに記憶された動作プログラムに従って各種の制御を実行する。メモリ11bは、CPU11aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。通信部12は、カラオケホスト装置1を通信回線4に接続するためのインタフェースを提供する。記憶部13は、たとえばハードディスクドライブなどの大容量の情報を記憶する記憶装置である。入力部14は、たとえばキーボードやマウス、タッチパネルなどの入力装置(不図示)からデータの入力を受け付けることができる。また、入力部14は、DVDやCD−ROM、ICカード、可搬型のハードディスクドライブなどの外部記憶装置と接続するインタフェース(不図示)を備え、入力装置による操作に応じて外部記憶装置からデータを読み出すこともできる。また、カラオケ装置1をリモートから操作する場合には、入力部14は通信部22を介してデータの入力を受け付けてもよい。
<ソフトウェア構成>
図8はカラオケホスト装置1のソフトウェア構成例を示す図である。カラオケホスト装置1は、カラオケデータ登録部111、カラオケデータ分割部112、カラオケデータ送信部113、ラジオステータス受信部114、カラオケデータ記憶部131、配信パラメータ記憶部132およびラジオステータス記憶部133を備える。
なお、カラオケデータ登録部111、カラオケデータ分割部112、カラオケデータ送信部113およびラジオステータス受信部114は、CPU11aがメモリ11bに記憶されている動作プログラムを実行することにより実現されるようにしてもよいし、ハードウェア回路として実現するようにしてもよい。カラオケデータ記憶部131、配信パラメータ記憶部132およびラジオステータス記憶部133は、記憶部13が提供する記憶領域の一部として実現することができる。
カラオケデータ記憶部131はカラオケデータを記憶する。カラオケデータには、楽曲データ、背景映像データなどが含まれる。楽曲データは、カラオケ楽曲に関するデータであり、カラオケの伴奏を演奏するための伴奏データ、歌詞を表示するための歌詞データ、音程をガイドするためのガイド音を再生するためのガイドメロディ(GM)データなどが含まれる。背景映像データは、カラオケ演奏時における背景映像を表示するための動画データであり、たとえばMPEG形式のデータである。
カラオケデータ登録部111は、カラオケデータをカラオケデータ記憶部131に登録する。カラオケデータ登録部111は、オペレータからカラオケデータの入力を受け付けてカラオケデータ記憶部131に登録することができる。
カラオケデータ分割部112は、カラオケ装置2に送信するためにカラオケデータを分割する。カラオケデータ分割部112は、所定のサイズのチャンク(以下、シーケンスという。)に、送信対象となるカラオケデータを分割する。送信対象となるカラオケデータは、たとえば入力部14を介してオペレータから指定を受け付けるようにして行われている。
配信パラメータ記憶部132はカラオケデータの配信に関するパラメータ(以下、配信パラメータという。)を記憶する。本実施形態では、配信パラメータにはシーケンスのサイズ(たとえば5MBなどの任意の数値である。以下、シーケンスサイズという。)が含まれるものとし、配信パラメータはカラオケ装置2ごとに記憶されるものとする。カラオケデータ分割部112は、送信先のカラオケ装置2に対応するシーケンスサイズを配信パラメータ記憶部132から読み出し、読み出したシーケンスサイズごとのシーケンスにカラオケデータを分割する。
カラオケデータ送信部113は、カラオケデータをカラオケ装置2に送信する。カラオケデータ送信部113は、分割されたシーケンスを順次TCPのソケットを通じてカラオケ装置2に送信していく。カラオケデータ送信部113は、たとえば、定期的にカラオケデータを送信するようにしてもよいし、カラオケデータ登録部111がカラオケデータを登録したことを契機として送信するようにしてもよい。
ラジオステータス受信部114は、カラオケ装置2から送信されるラジオステータスを受信する。なお、ラジオステータスにはラジオ再生装置5を特定する情報(以下、機器IDという。)が付帯されるものとする。ラジオステータス受信部114は、受信したラジオステータスを機器IDに対応付けてラジオステータス記憶部133に登録する。ラジオステータス記憶部133にはラジオ再生装置5ごとに最新のラジオステータスのみが記憶されるものとする。
==カラオケ装置2==
<ハードウェア構成>
図9はカラオケ装置2のハードウェア構成例を示す図である。カラオケ装置2は、制御部21、通信部22、記憶部23と、音響処理部24、表示処理部25、通信部26、操作部27を備える。
制御部21は、カラオケ装置2における制御の中心となる部分であり、CPU21aおよびメモリ21bを備える。CPU21aは、メモリ21bに記憶された動作プログラムに従って各種の制御を実行する。たとえば操作部27からの操作を受け付ける操作入力処理やシーケンサとして動作するシーケンサ処理を行う。メモリ21bは、CPU21aに実行されるプログラムを記憶したり、プログラムの実行時に各種情報を一時的に記憶したりする記憶素子である。このため、メモリ21bには、各種のプログラムを記憶する記憶領域が設けられている。
記憶部23は、たとえばハードディスクドライブなどの、各種のデータを記憶する記憶装置である。
通信部22は、カラオケ装置2を通信回線4に接続するためのインタフェースを提供する。通信部22は、制御部21によって動作が制御される。本実施形態では、通信部22は、イーサネット(登録商標)に接続するためのネットワークインタフェースであるものとする。通信部22には、IPv4のIPアドレス、イーサネット(登録商標)において伝送可能な最大のパケットサイズ(MTU;Maximum Transmission Unit)など、パケット通信に関する各種のパラメータが設定される。
通信部26は、カラオケ装置2を通信路7に接続するためのインタフェースを提供する。通信部26は、制御部21によって動作が制御される。通信部26は、たとえばシリアル通信を行うためのUSBなどのシリアルインタフェースであってもよいし、無線通信を行うための無線通信機であってもよい。また、通信路7がイーサネット(登録商標)である場合にはネットワークインタフェースとすることもできる。
音響処理部24は、音響に関する各種の処理を行う。音響処理部24には、マイク212が接続される。マイク212は、歌唱者の音声をアナログの歌唱音声信号に変換して音響処理部24に入力させる。音響処理部24は、マイク212を通じて入力された歌唱音声信号をデジタルの歌唱音声データに変換する。また、音響処理部24にはスピーカ211が接続され、音響処理部24は、楽曲データに応じて生成された楽音信号と歌唱音声データとを所定のバランスでミキシングし、放音信号としてスピーカ211に出力する。スピーカ211は、音響処理部24からの放音信号に基づいて放音する。音響処理部24はまた、カラオケ楽曲に対する演奏の制御を行う。
表示処理部25は、カラオケ演奏時における背景映像の表示に関する制御を行う。表示処理部25にはモニタ213が接続される。カラオケ演奏時、表示処理部25には背景映像データが入力され、表示処理部25は、背景映像データをデコードし、デコードで生成された背景映像の映像信号に歌詞テロップを合成し、合成後の映像信号をモニタ213に出力する。モニタ213は、表示処理部25からの映像信号に基づいて映像を画面に表示する。すなわち、モニタ213には、背景映像に歌詞テロップが重ねられた映像が表示されることになる。
操作部27は、カラオケ利用者からの操作を受け付ける。操作部27は、たとえばパネルスイッチやリモコン受信回路などから構成される。操作部27は、利用者によるパネルスイッチやリモコン装置214の操作に応じた操作信号を制御部21に対して出力する。制御部21は、操作入力処理を行うことで操作信号を検出し、対応する処理を実行する。
リモコン装置214は、カラオケ装置2との間で情報を送受信するための双方向通信可能な短距離無線通信部(不図示)を備え、カラオケ楽曲の予約時などに操作される。カラオケ楽曲の予約時において、リモコン装置214からは、演奏対象の楽曲を識別するための楽曲IDを含んだ操作信号が送信される。
<ソフトウェア構成>
図10はカラオケ装置2のソフトウェア構成例を示す図である。カラオケ装置2は、カラオケデータ登録部221、ラジオステータス取得部222、ラジオステータス送信部223、パケットサイズ変更部224、カラオケデータ記憶部231およびラジオステータス記憶部232を備える。
なお、カラオケデータ登録部221、ラジオステータス取得部222、ラジオステータス送信部223およびパケットサイズ変更部224は、たとえばCPU21aがメモリ21bに記憶されているプログラムを実行することにより実現されるようにしてもよいし、ハードウェア回路として実現するようにしてもよい。また、カラオケデータ記憶部231およびラジオステータス記憶部232は、記憶部23が提供する記憶領域の一部として実現することができる。
カラオケデータ記憶部231はカラオケデータを記憶する。上述したように、カラオケデータには、楽曲データ、背景映像データなどが含まれる。カラオケデータ登録部221(本発明のカラオケデータ受信手段に該当する。)は、カラオケホスト装置1から送信されるシーケンスを順次受信し、受信したシーケンスを連結してカラオケデータを生成し、生成したカラオケデータをカラオケデータ記憶部231に登録する。
ラジオステータス取得部222は、ラジオステータスを取得する。ラジオステータス取得部222は、ラジオステータス取得信号を、通信路7を介してラジオ再生装置5に送信し、これに対してラジオ再生装置5から応答されるラジオステータスを受信する。ラジオステータス取得部222は、受信したラジオステータスをラジオステータス記憶部232に登録する。ラジオステータス記憶部232には、最新のラジオステータスのみが記憶されるものとする。
ラジオステータス送信部223は、ラジオステータスをカラオケホスト装置1に送信する。ラジオステータス送信部223は、ラジオステータス取得部222からラジオステータスを受け取り、これをカラオケホスト装置1に送信するようにしてもよいし、定期的に、または、ラジオステータス記憶部232が更新されたことを契機として、ラジオステータス記憶部232からラジオステータスを読み出してカラオケホスト装置1に送信するようにしてもよい。
パケットサイズ変更部224(本発明の通信量制御手段に該当する。)は、ラジオステータスに応じて通信部22によるパケット通信に係るパケットのサイズを変更する制御処理を行う。パケットサイズ変更部224は、BGMが再生されているときは再生されていないときよりも小さくなるようにパケットのサイズを設定する。本実施形態では、パケットサイズ変更部224は、ラジオステータスに含まれる再生フラグが「真」である場合には、通信部22のMTUを所定の最小値に設定し、再生フラグが「偽」である場合には、通信部22のMTUを所定の最大値に設定することにより制御処理を行う。
==処理==
図11は本実施形態のカラオケ装置2における処理を説明する図である。
ラジオステータス取得部222は、ラジオステータス取得信号をラジオ再生装置5に送信し、これに対してラジオ再生装置5から応答されるラジオステータスを受信し(S601)、受信したラジオステータスをラジオステータス記憶部232に登録する(S602)。ラジオステータス送信部223は、ラジオステータスをカラオケホスト装置1に送信する(S603)。
パケットサイズ変更部224は、通信部22に設定されているMTUを取得し(S604)、ラジオステータスに含まれる再生フラグが「真」である場合(S605:YES)、MTUが所定の最小値より大きければ(S606:YES)、通信部22のMTUに所定の最小値を設定する(S607)。一方、再生フラグが「偽」である場合に(S605:NO)、MTUが所定の最大値よりも小さければ(S608:YES)、パケットサイズ変更部224は、通信部22のMTUに所定の最大値を設定する(S609)。
==効果==
以上のようにして、ラジオ再生装置5においてBGMが再生されている場合には、通信部22のMTUを最小値に設定することができる。したがって、ラジオ再生装置5においてBGMが再生されている場合には、カラオケ装置2に対してカラオケデータが伝送されるパケットが、再生されていない場合に比べて小さくなるようにすることができる。
カラオケ装置2がラジオ再生装置5と同じサイトに設置され、同じ通信回線4を使用する場合には、カラオケデータの伝送に大きなパケットが用いられると、通信回線4においてバースト転送が行われることになり、パケット間に他のデータのパケットを時分割により多重化をさせることができず、パケットロスが発生する可能性が高まる。特に、ハンドシェイクの行われるTCPによるカラオケデータの転送により帯域が圧迫された場合には、UDPによるコネクションレス通信が行われるマルチキャストストリーミングにおいてはパケットロスが発生し易い。
これに対し本実施形態のデジタル音楽放送受信時のエラー防止システムによれば、BGMが再生されている場合にカラオケデータの伝送についてのパケットのサイズを小さくすることができる。したがって、カラオケデータの伝送につき、通信回線4におけるバースト転送が抑制される。これにより、カラオケデータを伝送するパケット間にBGMデータのためのパケットを挿入する隙間が生じるようにすることができる。よって、BGMデータの配信に係るエラーを抑制し、BGMに音飛びやノイズなどの乱れが発生することを防止することができる。
一方で、本実施形態のデジタル音楽放送受信時のエラー防止システムによれば、BGMが再生されていない場合には通信部22のMTUに最大値を設定することができる。MTUに最大値を設定した場合にはイーサネット(登録商標)における伝送効率が向上するので、BGMが再生されていない場合には、カラオケデータの配信効率を向上させることができる。
また、本実施形態のデジタル音楽放送受信時のエラー防止システムでは、パケットのサイズの変更はカラオケ装置2の通信部22のMTUを変更するものとしているので、パケットのサイズの変更に係る制御処理を実装することは容易である。したがって、容易な実装によりBGMデータの配信に係るエラーを効果的に防止することが可能となる。
==変形例1==
以上の説明では、カラオケ装置2のMTUを変更することにより、BGMが再生されているときにパケットを小さくしてBGMデータのパケットロスを抑制するものとしたが、これに加えてまたはこれに代えて、カラオケホスト装置1において送出するカラオケデータの量を調整するようにしてもよい。この場合、カラオケ装置1において、ラジオステータス受信部114は、受信したラジオステータスに応じて、ラジオステータスの受信元のカラオケ装置2に対応する配信パラメータを更新する。
図12は、カラオケホスト装置1におけるカラオケデータの調整処理の流れを示す図である。
ラジオステータス受信部114は、カラオケ装置2からラジオステータスを受信すると(S621)、受信したラジオステータスをラジオステータス記憶部133に登録し(S622)、ラジオステータスに含まれる再生フラグが「真」であるか否かによりBGMが再生中か否かを判定する(S623)。ラジオステータス受信部114は、BGMが再生中である場合(S623:YES)、カラオケ装置2に対応する配信パラメータ記憶部132のシーケンスサイズが所定の最小値よりも大きければ(S624:YES)、当該シーケンスサイズを当該最小値に更新する(S625)。
一方、BGMが再生中でない場合(S623:NO)、ラジオステータス受信部114は、カラオケ装置2に対応するシーケンスサイズが所定の最大値よりも小さければ(S626:YES)、シーケンスサイズを所定の最大値に更新する(S627)。
以上のようにして、BGMが再生されている場合には、カラオケ装置2に送信するシーケンスが小さくなるようにすることができる。したがって、BGMの再生中には、カラオケデータは数多くのシーケンスに分割することができるので、パケットの間に隙間が生じ、BGMデータのパケットについての時分割多重化を行い易くなる。よって、BGMデータのパケットの欠損を低減し、BGMの再生に係るエラーを低減することができる。
また、シーケンスを増やすことにより、シーケンスの送出処理に係るオーバヘッドが発生し、カラオケデータの伝送に係る単位時間あたりの通信量を低減することになる。したがって、単位時間あたりの物理的な通信量が低減されるため、BGMデータの通信に使える帯域を増やすことができる。これにより、BGMデータの配信に係るエラーを低減し、BGMに音飛びやノイズが生じないようにすることができる。
また、カラオケ装置2ではMTUの変更を行わないようにして、カラオケホスト装置1においてのみシーケンスのサイズ(分割数)を調整する場合には、既存のカラオケ装置2に改変を加えることなく、BGMデータのエラーを低減することが可能となる。したがって、大量のカラオケ装置2を改変する手間を省くことができる。また、改変に起因する不測の不具合の発生確率を抑制することができる。
なお、シーケンスサイズを小さくする(分割数を増やす)代わりに、カラオケホスト装置1の通信部12のMTUを小さくするようにしてもよい。この場合、カラオケ装置2ごとに独立した論理的な通信部12を設け、カラオケ装置2に対応する通信部12のMTUのみを変更することができる。
また、シーケンスサイズを小さくする代わりに、カラオケデータ送信部113が、BGMが再生されているときの方が送信間隔が長くなるように、複数のシーケンスの送信間隔を延ばすようにしても良い。
==変形例2==
また、本実施形態では、カラオケ装置2において通信部22のパケットサイズ(MTU)を変更するものとしたが、転送装置41が転送するパケットのパケットサイズを変更するようにしてもよい。
この場合、パケットサイズ変更部224は、転送装置41にアクセスして、転送装置41が転送するパケットのサイズが、BGMが再生されているときの方が再生されていないときよりも小さくなるように、転送装置41の設定(たとえばMTUの設定)を変更する。これにより、カラオケ装置2の設定を変更することなく、BGMの再生が途切れないように、カラオケデータの伝送に係るパケットのサイズを調整することができる。したがって、カラオケ装置2の設定を変更したことに起因する、カラオケ装置2における他の機能への不測の影響を回避しつつ、BGMデータの配信に係るエラーを低減し、これによりBGMに音飛びやノイズが生じないようにすることができる。
また、カラオケ店KB内において、転送装置41がカスケード接続されているような場合には、最もWAN(Wide Area Network)側の転送装置41のMTUを変更するようにしてもよい。この場合、パケットサイズの変更を行うための処理は最上位の転送装置41に対してのみ行えばよいため、変更処理が簡単になるとともに、カラオケ装置2の設定を変更することに起因する不測の影響を予防することができる。
==変形例3==
また、本実施形態では、ラジオステータスのうち再生フラグに応じて、すなわち、BGMが再生されているかどうかに応じてパケットのサイズを変更するものとしたが、これに代えてまたはこれに加えて、その他のラジオステータスに応じてパケットのサイズを変更するようにしてもよい。
たとえば、パケットサイズ変更部224は、図11のステップS605においてBGMが生成中と判定した後(S605:YES)、パケットロス数またはパケットロス率が所定の閾値を超えたか否かを判定し、閾値を超えた場合にのみステップS606に進むようにすることができる。
この場合、パケットの欠損が発生している度合いに応じてパケットのサイズの変更を行うかどうかを決定することができる。したがって、カラオケデータのデータ量に比して通信回線4における帯域が広い場合など、パケットロスが生じていないような状況であれば、BGMが再生中であってもカラオケデータの伝送に係るパケットのサイズを変更しないようにすることで、カラオケデータの伝送効率を向上させることができる。
また同様に、パケットサイズ変更部224は、エラー数またはエラー率が所定の閾値を超えた場合ステップS606に進むようにしてもよい。
パケットの欠損は発生していないとしても、エラー訂正が数多く必要になるほどパケットにエラーが発生しているような状況は、通信回線4が混み合っていることに起因することも考えられる。したがって、エラー訂正の発生数が多ければカラオケデータのパケットのサイズを小さくして通信量を低減させることにより、通信回線4が混まないようにして、BGMデータについてのエラーの発生を抑制することが可能となる。よって、BGMデータの処理負荷が低減することができる。また、エラーに起因する音飛びなどの不具合を回避することができる。
また同様に、パケットサイズ変更部224は、たとえばラジオ再生装置5からBGMデータの再生処理に関するステータスを取得することにより、BGMデータの再生にエラーが発生しているか否かを判定し、エラーが発生している場合にのみパケットのサイズを小さくする(ステップS606,S607)ようにしてもよい。
この場合、たとえばBGMデータの再生に関するユーザプログラムからは通信に関するパケットロスやエラー訂正が検知できないような場合であっても、BGMデータの再生にエラーが出ている場合には、通信回線4でパケットロスが発生し、あるいはパケットにエラーが生じるような通信品質の低下が発生していることが考えられるので、これに対応して、カラオケデータの通信量を低減させることにより、BGMデータの再生のエラーを回避可能となることが期待される。
==変形例4==
本実施形態では、ラジオ再生装置5から取得したラジオステータスをカラオケ装置2がカラオケホスト装置1に送信するものとしたが、ラジオ再生装置5からカラオケホスト装置1に送信するようにしてもよい。
この場合、ラジオ再生装置5のラジオステータス送信部523は、通信回線4を介してカラオケホスト装置1に対してラジオステータスを送信する。また、カラオケホスト装置1は、ラジオステータスに応じてBGMが再生されているか否かを検知する音楽再生検知手段と、BGMが再生されていることを検知した場合に、パケットサイズを小さくするパケットサイズ調整手段とを備えるようにする。カラオケホスト装置1が備えるパケットサイズ調整手段は、上述したようにカラオケホスト装置1の通信部12のMTUの値を変更するようにしてもよいし、パケットのサイズを変更するように指示するメッセージをカラオケ装置2に送信し、カラオケ装置2のパケットサイズ変更部224が当該メッセージの受信に応じて通信部22のMTUの値を変更するようにしてもよい。
これにより、既存のカラオケ装置2に対してラジオステータスの判定処理などの処理を追加することなく、リモートからMTUの値の変更ができるようにすればよく、デジタル音楽放送受信時のエラー防止システムにおける変更箇所を最小限としつつ、BGMの配信に係るエラーを低減することができる。
==変形例5==
本実施形態では、カラオケ店KBにおけるカラオケルームごとに、ラジオ再生装置5が再生されているか否かを判定するものとしたが、カラオケ店KB全体においていずれかのラジオ再生装置5が再生されているか否かにより、パケットのサイズを変更するようにしてもよい。この場合、いずれか1台のカラオケ装置2を親装置として、他のカラオケ装置2からラジオステータスを集約するようにしてもよいし、各カラオケ装置2と通信可能に接続させた管理用の店舗サーバ装置を設置し、店舗サーバ装置がカラオケ装置2からラジオステータスを受信するようにしてもよい。
親装置または店舗サーバは、いずれかのラジオステータスの再生フラグが「真」である場合、すなわち、いずれかのラジオ再生装置5でBGMが再生されている場合には、MTUを最小値に変更するように指示するコマンドを各カラオケ装置2に送信する。カラオケ装置2は、このコマンドに応じてMTUを最小値に設定する。
また、親装置または店舗サーバは全てのラジオステータスの再生フラグが「偽」となった場合、すなわち、全てのラジオ再生装置5においてBGMの再生が行われていない場合には、MTUを最大値に設定するように指示するコマンドを各カラオケ装置2に送信する。カラオケ装置2は、このコマンドに応じてMTUを最大値に設定する。
このようにすることで、カラオケ店KB全体において確実にBGMに音飛びやノイズが生じないようにすることが可能となる。
==変形例6==
本実施形態では、ラジオ再生装置5がBGMデータを受信している場合に、カラオケ装置2によるカラオケデータの受信に係る通信量を少なくするものとしたが、BGMデータの受信に代えて、またはこれに加えて、カラオケデータ以外のものが通信されている場合にカラオケデータの通信量を少なくするようにしてもよい。
たとえば、通信デュエットを行う場合にカラオケ装置2が他のカラオケ装置2から送信される音声データおよび動画データの少なくともいずれか(以下、デュエットデータという。)を受信している間、カラオケデータの受信に係るパケットサイズを小さくするようにすることができる。デュエットデータはTCPまたはUDPにより伝送することが可能であり、この場合、たとえばカラオケ装置2には物理的または論理的ネットワークインタフェースを複数設け、デュエットデータとカラオケデータとは異なるネットワークインタフェースを介して通信するようにし、パケットサイズ変更部224は、カラオケデータの通信に用いられているネットワークインタフェースについてのパケットサイズを変更することができる。これにより、通信デュエットを行っているときにカラオケデータの配信が行われたとしても、通信デュエットに係る音飛びやノイズ、映像の乱れなどの通信エラーを低減することができる。
また、たとえばリモコン装置214に再生させるための動画データ(以下、サムネイル動画データという。)がカラオケホスト装置1からカラオケ装置2に伝送される間にカラオケホスト装置1からカラオケデータも伝送される場合、サムネイル動画データを受信している間、カラオケデータの受信に係るパケットサイズを小さくすることができる。この場合にも、カラオケデータの通信量が減り、リモコン装置214へのサムネイル動画データの伝送効率が向上する。したがって、リモコン装置214においてサムネイル動画データの再生が停止するなどの不具合を抑制することが可能となり、リモコン装置214を操作しているユーザに対する応答時間を短縮し使い勝手を向上することができる。
==変形例7==
本実施形態では、BGMが再生されている場合にカラオケデータの伝送に係る通信量が少なくなるようにしたが、カラオケ装置2が受信するデータに応じてBGMデータの通信量を少なくなるようにしてもよい。
たとえば、ラジオ再生装置5が、カラオケ装置2におけるデータの受信状況(以下、カラオケステータスという。)を取得するカラオケステータス取得部と、カラオケ装置2が優先度の高いデータを受信している場合にラジオ再生装置5のMTUの値を所定の最低値に設定するパケットサイズ変更部とを備えるようにすることができる。カラオケステータスには、カラオケ装置2が現在どのようなデータを受信しているかを示す情報を含める。ラジオ再生装置5のパケットサイズ変更部は、カラオケステータスにBGMよりも優先度の高い所定のデータ(たとえばデュエットデータ)を受信していることを示す情報が含まれている場合に、MTUの値を所定の最低値に設定し、優先度の高い所定のデータを受信していることを示す情報が含まれていない場合には、MTUの値を所定の最高値に設定することができる。なお、優先度を判定するために、ラジオ再生装置5は、カラオケ装置2が受信するデータの種別ごとに優先度を記憶する表を備えるようにしてもよい。
また、カラオケ装置2がラジオ再生装置5を制御してラジオ再生装置5における通信に係るパケットサイズを変更するようにしてもよい。たとえば、カラオケ装置2がBGMよりも優先度の高い所定のデータを受信している場合に、ラジオ再生装置5に対してパケットサイズを小さくするように指示するコマンドを送信し、ラジオ再生装置5がこれに応じてパケットサイズを小さくするようにし、たとえばデュエットが終了した場合など、BGMよりも優先度の高いデータの受信が終了した場合には、カラオケ装置2がパケットサイズを大きくするように指示するコマンドをラジオ再生装置5に送信し、ラジオ再生装置5がこれに応じてパケットサイズを大きくするようにすることができる。
また、ラジオ再生装置5のパケットサイズを変更する代わりに、BGMの音質を下げるようにしてもよい。この場合、ラジオ再生装置5は、カラオケ装置2がBGMよりも優先度の高いデータを受信していることを示すカラオケステータスを取得した場合、ラジオホスト装置3に対して、圧縮率の高いBGMデータ(すなわちビットレートが低く通信量が少なくなるが音質の低いBGMデータ)を送信するように指示するコマンドを送信し、ラジオホスト装置3はこれに応じて圧縮率の高いBGMデータを送出するようにすることができる。また、ラジオ再生装置5は、カラオケ装置2における優先度の高いデータの受信が終了した場合には、圧縮率の低いBGMデータ(すなわちビットレートが高く通信量が多くなるが音質の高いBGMデータ)を送信するように指示するコマンドを送信し、ラジオホスト装置3はこれに応じて圧縮率の低いBGMデータを送出するようにすることができる。このようにしてBGMデータの通信量を調整することができる。
以上のようにBGMよりも優先度の高いデータを受信している場合にBGMデータの通信量を減らすことにより、たとえば通信デュエットを行うときに、デュエットデータの再生に係る遅延や映像の乱れなどの不具合を防止することができる。
==その他の変形例==
本実施形態では、ネットワークインタフェースのMTUを変更するものとしたが、これに限らず、カラオケ装置2の通信部22について単位時間あたりの通信量が、BGMが再生されているときの方がBGMの再生されていないときよりも少なくなればよい。カラオケデータの配信に係る通信量を低減することにより、BGMデータのストリーミングに使用可能な帯域が確保できるので、BGMデータの配信に係るパケットロスやデータ誤りなどのエラーを抑止することができる。単位時間あたりの通信量を低減する手法としては、MTUを小さくすること以外にも、たとえば、ネットワークインタフェースの通信速度の設定を変更したり、1000baseTを利用可能なネットワークインタフェースに対して100baseTを使用するように通信規格を変更したり、転送装置41が半二重通信に対応しているような場合には、全二重通信から半二重通信に変更したりすることができる。上述したシーケンスサイズの変更も、単位時間あたりの通信量の変更に含まれる。
ネットワークインタフェースの通信速度の設定の変更には、TCPのフロー制御に係るウィンドウサイズ(広告ウィンドウサイズ)およびTCPの輻輳制御に係るウィンドウサイズ(輻輳ウィンドウサイズ)を変更することを含む。たとえば、MTUを変更することに代えて、TCPにおけるACK応答に含まれる広告ウィンドウサイズを、BGMが再生されている場合にはBGMがされていない場合よりも小さくなるように設定することができる。また、広告ウィンドウサイズの最大値を、BGMが再生されている場合にはされていない場合よりも小さくなるように設定しておき、この最大値と受信バッファの空き容量とに応じて広告ウィンドウサイズを決定するようにしてもよい。また、カラオケホスト装置1から送出されるデータ量を制御する場合、BGMが再生されているときには明示的な輻輳通知をカラオケホスト装置1に送信することにより、カラオケホスト装置1における輻輳ウィンドウが小さくなるようにしてもよい。また、変形例2の場合には、転送装置41のMTUを変更する代わりに広告ウィンドウサイズおよび輻輳ウィンドウサイズの少なくともいずれかを変更するようにしてもよい。
また、本実施形態では、カラオケホスト装置1およびラジオホスト装置3はいずれも1台のコンピュータであるものとしたが、これに限らず、複数台のカラオケ装置2およびラジオホスト装置3ごとに1台のカラオケホスト装置1およびラジオホスト装置3を設置するようにしてもよいし、複数台のコンピュータで仮想的に1台のカラオケホスト装置1またはラジオホスト装置3を構成するようにしてもよい。
また、本実施形態では、IPv4による通信を行うカラオケ装置2に対して転送装置41を設け、IPv6による通信を行うラジオ再生装置5に対して転送装置42を設けるようにしたが、IPv4およびIPv6の両方に対応する1台の転送装置を設置し、通信回線4とカラオケ装置2およびラジオ再生装置5との間のパケットを転送するようにしてもよい。
また、本実施形態では、カラオケデータの配信についてはIPv4で、BGMデータのマルチキャストについてはIPv6で行われるものとしたが、これに限らず、両方をIPv4またはIPv6で行うようにしてもよい。この場合にも、転送装置41および転送装置42は1台の転送装置とすることができる。
また、本実施形態では、BGMデータはマルチキャストストリーミングにより伝送されるものとしたが、これに限らず、ユニキャストストリーミングであってもよい。また、ストリーミングのプロトコルは、音楽データのダウンロード中に再生を行う方式であればどのようなものであってもよい。
また、本実施形態では、UDPによりBGMデータを伝送し、TCPによりカラオケデータを伝送するものとしたが、これに限らず、BGMデータをTCPを用いたストリーミングにより伝送するようにしてもよい。
また、本実施形態では、カラオケ装置2が主体となって、ラジオステータス取得信号をラジオ再生装置5に送信し、これに対してラジオステータスデータが応答されるものとしたが、ラジオ再生装置5が主体となってラジオステータスデータをカラオケ装置2に送信するようにしてもよい。この場合、ラジオ再生装置5は、定期的にラジオステータス記憶部232に記憶されているラジオステータスを読み出してカラオケ装置2に送信するようにしてもよいし、ラジオステータス記憶部232のラジオステータスが更新されたことを契機としてラジオステータスを送信するようにしてもよい。
また、本実施形態では、カラオケホスト装置1からのカラオケデータの配信に関する配信パラメータには、シーケンスサイズのみが含まれているものとしたが、これ以外にもたとえば日時等のシーケンスの送信を開始するタイミングを決定するための情報、シーケンスを送信する間隔、通信プロトコル、エラー時の回復方法など、カラオケデータの配信に関する各種のパラメータを設定することができる。
また、本実施形態では、ラジオステータスとして、再生フラグ、パケットロス数、パケットロス率、エラー数およびエラー率の全てが含まれているものとしたが、これに限らず、これらのうちのいずれかのみが含まれるようにしてもよい。また、パケットロス数、パケットロス率、エラー数およびエラー率の少なくともいずれかに応じてパケットのサイズを変更する場合には、ラジオステータスには再生フラグが含まれなくてもよい。
また、再生フラグを取得せず、ラジオ再生装置5が起動しているか否かによりBGMの再生がされているか否かを判定するようにしてもよい。この場合において、通信路7でTCP/IPによる通信が行われるときには、ラジオステータス取得部222は、ICMP(Internet Control Message Protocol)によるエコーリクエスト(pingコマンド)をラジオ再生装置5に送信し、これに対する応答をラジオステータスとして取得するようにし、ラジオ再生装置5が起動している場合にBGMデータが再生されていると判定するようにすることができる。
また、本実施形態では、ラジオ再生装置5がラジオステータスを記録するものとしたが、カラオケ装置2がラジオステータスを検出するようにしてもよい。この場合、カラオケ装置2のラジオステータス取得部222は、たとえば転送装置42とラジオ再生装置5との間のパケットをキャプチャして、マルチキャストストリーミングにおけるパケットロスを検出するようにすることができる。この場合、ラジオ再生装置5がラジオステータスを提供しない場合に対応することができる。
また、転送装置42においてマルチキャスト通信の開始および終了、ならびにマルチキャスト通信におけるパケットロスを記録するようにし、カラオケ装置2のラジオステータス取得部222が転送装置42からこれらを取得するようにしてもよい。この場合にも、ラジオ再生装置5がラジオステータスを提供しない場合に対応することができる。
また、本実施形態では、カラオケホスト装置1のラジオステータス記憶部133およびカラオケ装置2のラジオステータス記憶部232には最新のラジオステータスのみが記憶されるものとしたが、日時に対応付けてラジオステータスの履歴を格納するようにしてもよい。この場合、再生フラグが「偽」に変化してから所定の時間が経過するまでは再生がなされているものと判断することができる。
また、ラジオステータス記憶部133は、現在時刻が店舗の営業時間内であるか否かによりBGMが再生されているか否かを判断するようにしてもよい。この場合、ラジオステータスをラジオ再生装置5に問い合わせる必要がない。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物も含まれる。