以下、図面を参照して本発明の実施形態について説明する。
A.第1実施形態
A−1.カラオケシステムの全体構成
まず、図1は本発明の第1実施形態に係るカラオケシステムの全体構成を示すブロック図である。同図に示すように、このカラオケシステムは、LAN(Local Area Network)101を介して互いに接続されるホストサーバ100と、複数のカラオケ端末装置200−1,200−2,200−3……200−nとを備えている。各カラオケ端末装置200−1〜200−nとホストサーバ100とは、LAN101を介して種々のデータの授受を行うことができるようになっている。なお、各カラオケ端末装置200−1〜200−nは、例えばカラオケボックスの各個室内に設置され、各々の室内の利用者等によって利用される。
A−2.カラオケ端末装置の構成
次に、図2にカラオケ端末装置200−1の構成を示す。同図に示すように、カラオケ端末装置200−1は、互いにバス22に接続されるCPU(Central Processing Unit)10と、ROM(Read Only Memory)11と、RAM(Random Access Memory)12と、ハードディスクドライブ(HDD)13と、操作部14と、LANインターフェース15と、文字表示部16と、表示制御部17と、音源装置19とを備えている。
CPU10は、当該カラオケ端末装置200−1の装置各部を制御する。ROM11には、当該カラオケ端末装置を起動するために必要な起動プログラムが記憶されている。当該装置の電源がオンされると、この起動プログラムがCPU10によって読み出され、ハードディスクドライブ13に記憶されたシステムプログラムおよびアプリケーションプログラムがRAM12にロードされる。CPU10はこのようなアプリケーションプログアムにしたがって後述するような種々の処理を行う。ハードディスクドライブ13には、これらのシステムプログラムおよびアプリケーションプログラムのほか、カラオケ演奏時に表示装置18に背景画像を表示させるための緊急用画像データが記憶されている。
ここで、図3は、カラオケ端末装置200−1でカラオケ曲の演奏に用いられる楽曲データの構成を示す。同図に示すように、楽曲データは、曲名、曲番号、および演奏時間などの曲データに関する情報を示すヘッダと、各種処理の内容を示すトラックデータとから構成されており、例えばMIDI(Musical Instrument Digital Interface)データ等である。
トラックデータは、楽音トラック、歌詞トラック……から構成されており、図4に示すように、楽音トラックは、楽音発音処理などの演奏の具体的な処理を示す演奏イベントデータと、演奏イベントデータの実行タイミングを示すデュレーションデータΔtとからなるシーケンスデータで構成されている。この演奏イベントデータには、楽音の発音や消音などを指示するノートイベントデータ(ノートオンイベントデータ、ノートオフイベントデータ)などが含まれている。
歌詞トラックも、歌詞表示処理などの具体的な処理を示す歌詞表示データと、歌詞表示データの実行タイミングを示す時間情報データΔtからなるシーケンスデータで構成されている。
図2に戻り、CPU10は、カラオケ演奏時にシーケンスプログラム(カラオケ演奏のためのアプリケーションプログラム)によって各トラックのデータを並行して読み出すようになっている。各トラックのシーケンスデータを読み出す場合、所定のテンポクロックによりΔtをカウントし、カウントを終了したときこれに続く演奏イベントデータおよび歌詞表示データ等を読み出す。
RAM12には、上述したプログラムを読み出すエリア、楽曲データを読み出すエリア、および使用者が入力した曲番号を登録した予約リストを記憶する予約リストエリアなどが設定されている。
操作部14は、テンキーやモード切換キーなどの各種のキースイッチを備えており、利用者がこれらのスイッチを操作して、予約するカラオケ曲の曲番号等を入力することができる。
音源装置19は、例えばMIDI音源等であり、楽曲データにおける楽音トラックデータに基づいて、楽音データを生成し、生成した楽音データをアンプスピーカ20に出力する。
アンプスピーカ20は、音源装置19において生成された楽音データをアナログデータに変換した後増幅して放出し、これにより楽曲データに対応した演奏がなされる。また、アンプスピーカ20には、ボーカル用のマイク21が接続されている。マイク21から入力される歌唱音声信号は、アンプスピーカ20に入力され、上記の楽音データに基づく楽音にミキシングされてアンプスピーカ11から放出される。すなわち、本実施形態において、CPU10、音源装置19およびアンプスピーカ20は、楽曲データに基づいてカラオケ曲を演奏する演奏手段を構成している。
LANインターフェース15は、図1に示すLAN101に接続されるホストサーバ100や他のカラオケ端末装置とデータの授受を行うものであり、ホストサーバ100からLAN101を介して供給される楽曲データや画像データを受信し、CPU10に供給する。また、CPU10から供給される楽曲データの配信要求や動画像データの配信要求等のデータはLANインターフェース15を介してLAN101を経由してホストサーバ100に送信される。
文字表示部16は、楽曲データの歌詞トラックに書き込まれたデータが入力されるとこれに対応する曲名や歌詞等のフォントデータを内部のROM(図示略)から読み出し、このデータを表示制御部17に出力する。
表示制御部17には、カラオケ曲の演奏時にCPU10の制御の下、ホストサーバ100から供給される動画像データ、もしくはハードディスクドライブ13に格納されている緊急用画像データのいずれかが供給される。表示制御部17は、供給される動画像データもしくは緊急用画像データに対応する映像を再生し、その再生した映像上に文字表示部17から出力される歌詞等のフォントデータに基づく文字パターンをスーパーインポーズで合成して映像・歌詞データを生成する。例えば、供給される動画像データがMPEG(Moving Picture Experts Group)規格にしたがった圧縮された符号化データである場合には、表示制御部17は当該符号化データを復号し、映像を再生する。
表示制御部17により生成された映像・歌詞データは、表示装置18に出力される。表示装置18は、表示制御部17で生成された映像・歌詞データに対応する映像を表示する。
以上がカラオケ端末装置200−1の構成であり、他のカラオケ端末装置200−2〜200nもカラオケ端末装置200−1と同様の構成であるため、その説明を省略する。
A−3.ホストサーバ
図1に戻り、ホストサーバ100は、大容量の外部記憶装置(ハードディスクドライブ)を備えており、この外部記憶装置に画像データベース100aと曲データベース100bとが構築されている。曲データベース100bには、カラオケ曲を演奏するための多数の楽曲データ(図3参照)が、各楽曲データを識別するための曲番号と対応付けて記憶されている。
画像データベース100aには、多数種類の動画像データ(例えばMPEGデータ)が、各々のデータを識別するための識別情報に対応付けて格納されている。また、図4に示すように、ホストサーバ100は、各動画像データを識別するための識別情報と、複数の曲番号とが対応付けられて記憶された画像特定用データベースを有している。ここで、各識別情報に対応付けられる曲番号は、これらの曲番号によって特定される楽曲をカラオケ演奏する際には、その識別番号によって特定される動画像データに基づく映像を背景映像として用いるように設定されている曲番号である。例えば、識別情報Aによって特定される動画像データの再生映像が寂しげな雰囲気の映像である場合には、これに対応付けられた各曲番号によって特定される楽曲も寂しげな楽曲、例えばバラード曲であり、また識別情報Bによって特定される動画像データの再生映像が和服を着た女性等の映像である場合には、これに対応付けられた各曲番号によって特定される楽曲は演歌であるといった具合で、各識別情報毎に複数の曲番号が対応付けられている。
この構成の下、ホストサーバ100のCPUは、各カラオケ端末装置200−1〜200−nからLAN101を介して曲番号を含む配信要求を受けた場合、以下のような処理を行う。まず、当該配信要求に含まれる曲番号に対応する楽曲データを曲データベース100bから読み出して、要求元のカラオケ端末装置にLAN101を介して送信する。また、ホストサーバ100のCPUは、画像特定用データベースを参照し、当該配信要求に含まれる曲番号と対応付けられた識別情報によって特定される動画像データを画像データベース100aから読み出し、要求元のカラオケ端末装置に対して当該動画像データを配信するための準備を行う。そして、要求元のカラオケ端末装置からLAN101を介して送信される配信開始指示を受信すると、当該指示にしたがって動画像データの配信を開始し、この動画像データの全てを送信すると配信処理を終了する。
A−4.カラオケ端末装置の動作
次に、上記のようにホストサーバ100から配信される楽曲データに基づくカラオケ演奏を行い、その演奏中に配信される動画像データを受信しながら再生して表示装置18に表示させるカラオケ端末装置200−1の動作について説明する。
まず、操作部14を介して利用者から曲番号情報が入力されると、カラオケ端末装置200−1のCPU10は、当該曲番号情報に示される曲番号を含む配信要求をLANインターフェース15を介して101経由でホストサーバ100に送信する。かかる配信要求に応じて上記のようにホストサーバ100から曲番号に対応した楽曲データの配信を受けると、CPU10は当該楽曲データをRAM12にロードする。
このようにして楽曲演奏の準備が完了すると、CPU10は、RAM12から楽曲データが順次読み出し、楽曲データの演奏トラックデータを音源装置19に出力する。そして、RAM4から順次出力される楽曲データに応じた楽音データが、音源装置19によって生成され、アンプスピーカ20に出力される。これにより音源装置19からの楽音データが増幅された後、アンプスピーカ20から放出される。このようにして、利用者に指定された楽曲データに対応した演奏が開始される。以降、当該楽曲データのデュレーションデータに示されるタイミングにしたがって順次出力される演奏イベントデータがRAM12から出力され、楽曲演奏が行われる。
一方、CPU10は、上記のような楽曲の演奏のために処理を開始させるとともに、表示装置18に画像を表示させるための処理を行う。より具体的にはCPU10は、上記の楽曲演奏の開始に合わせて画像表示がなされるよう、LANインターフェース15を介してLAN101経由でホストサーバ100に対して動画像データの配信開始指示を送信する。
この指示を受けたホストサーバ100からは、演奏するカラオケ曲に応じた動画像データが当該カラオケ端末装置200−1に順次送信され、CPU10は順次送信される動画像データを表示制御部17に転送する。このようにして順次供給される動画像データ、例えばMPEGデータが表示制御部17によって復号されて映像信号が得られる。
また、CPU10は、RAM12から順次読み出された楽曲データの歌詞トラックデータを順次文字表示部16に出力する。そして、RAM12からの歌詞トラックデータに基づいて、文字表示部16によりフォントデータが生成され、このフォントデータが表示制御部17に出力される。表示制御部17は、上記のようにホストサーバ100から送信されてCPU10によって順次転送される動画像データに基づく映像信号に、上記のフォントデータに応じた映像信号を合成し、合成後の映像信号を表示装置18に出力する。これにより、ホストサーバ100から供給される動画像データに基づく映像上に歌詞トラックデータに基づく文字画像がスーパーインポーズされた映像が表示装置18に表示される。
CPU10は、以上のようなカラオケ曲演奏のための処理と、当該演奏中に表示装置18に映像を表示させるための処理を並行して行いつつ、さらに映像表示のための処理が開始されると、この処理と並行して図6に示すような監視切換処理を行う。
同図に示すように、あるカラオケ曲の演奏が開始され、上記のようにホストサーバ100から送信される動画像データに基づく映像を表示させるための処理を開始すると、CPU10は後述するカウンタ値αをリセットし、ホストサーバ100との間の動画像データの転送レート(bps:Bit per Second)を検出する(ステップSa1)。
そして、CPU10は、転送レートの検出結果が予め決められた転送レート以下であるか否かを判別する(ステップSa2)。ここで、予め決められた転送レートとは、上記のようにホストサーバ100から送信される動画像データに対応した転送レートであり、より具体的にはその動画像データを正常に再生するために必要な転送レートである。
この判別の結果、検出されたデータ転送レートが所定値以上である場合には(ステップSa2の判別「NO」)、受信状況に異常がなく、正常な動画像データの再生を行う支障もないと判断され、CPU10はカウンタ値αをリセットし(ステップSa6)、ステップSa1に戻る。
一方、検出された転送レートが予め決められた転送レートよりも小さい場合には、カウント値αに1をインクリメントし(ステップSa3)、インクリメント後のカウント値αが予め決められた値Aと同じであるか否かを判別する(ステップSa4)。ここで、値Aはホストサーバ100から送信される動画像データが正常に再生できる程度に受信できているか否かといった受信状況が正常であるか否かを判別することができるよう定められた値である。すなわち、図7に示すように、カウント値αは、転送レートが所定値以下になった場合にインクリメントされる値であり、この値が大きいことは動画像データを再生するために必要な十分な転送レートがしばらくの間(カウント値αの値に応じた時間)確保されていないといった受信状況であることを意味する。したがって、このような良好な受信状況が得られない時間がある一定の時間となったときに受信状況が異常であると判別し、後述する切換処理のトリガーとして検出できるような値が値Aに設定されている。例えば、0.1秒毎に転送レートの検出を行う場合において、1秒間続けて受信状況が良好でないときにその対処として後述する切換処理を実施するといった態様を実現するには、値A=10とすればよい。このようにすることで、カウント値αが10になる、つまり0.1秒毎に検出される転送レートが1秒間続けて所定値を下回った場合に後述する切換処理がなされることになるからである。
以上のような理由で定められた値Aとカウント値αが同じであると判別した場合、つまり受信状況が動画像データの正常な再生に影響を与えると判断した場合、CPU10は切換処理を実行する(ステップSa5)。切換処理では、CPU10はホストサーバ100からLAN101を介して送信される動画像データの表示制御部17への転送を停止するとともに、ハードディスクドライブ13に格納されている画像データを読み出して表示制御部17に供給する。これにより、表示制御部17では供給された緊急用画像データに基づく映像信号が生成され、当該映像信号にフォントデータに基づく映像を合成されて表示装置18に出力される。この結果、表示装置18に表示される映像が、ホストサーバ100から供給される動画像データに基づく映像から、ハードディスクドライブ13に格納されている緊急用画像データに基づく映像に切りかわる。
以上説明したように本実施形態に係るカラオケシステムにおいては、カラオケ端末装置200−1(カラオケ端末装置200−2〜200−nも同様)は、通常時はホストサーバ100から配信される動画像データに基づいた演奏中のカラオケ曲に対応する映像を表示装置18に表示させることができる。したがって、カラオケ端末装置200−1は、多数のカラオケ曲に対応する多数種類の動画像データを内蔵するハードディスク等の記憶装置に格納しておく必要がない。つまりカラオケ端末装置200−1が、動画像データを多数格納しておくための大容量記憶装置を搭載する必要がなく、装置構成を簡易とすることができる。
また、多数の新曲が発売されると、その新曲に対応したカラオケ曲演奏用の楽曲データが業者によって作成され、カラオケ端末装置200−1によって演奏できる状況になる。したがって、新曲に対応した映像を表示装置18に表示させることがカラオケ装置としての機能を向上させ、集客力の向上等につながると考えられる。本実施形態では、カラオケ端末装置200−1が通常時にはホストサーバ100から配信される動画像データに応じた映像を表示するようにしているので、例えば店舗内に多数設置されるカラオケ端末装置の記憶装置等に多数の新曲に対応する動画像データを逐一格納させるといった煩雑な作業を行う必要がない。
このようにホストサーバ100から動画像データの配信を受けることで種々の効果が得られるが、LAN101に接続される他のカラオケ端末装置の当該LAN101の使用が重なる等に理由によりデータ転送レートが低下し、正常に動画像データを再生できなくなってしまうことがある。このような場合にも配信される動画像データを再生して表示すれば、乱れた映像が表示されたり、映像が切れてしまうといったことが生じ、利用者に不快感を与えてしまうことになる。これに対し、本実施形態では、上述したようにカラオケ端末装置200−1において動画像データの受信状況をモニタし、その受信状況が悪化していると判断した場合に配信される動画像データに基づく映像表示から、ハードディスクドライブ13に予め格納されている緊急用画像データに基づく映像表示に切り換えるようにしている。このように切り換えることで、映像は切り替わるものの、乱れた映像が表示されたり、映像が切れてしまうといった不快感を与えるような事態を回避することができる。ここで、緊急用画像データとしては、静止画像データであってもよいし、動画像データであってもよいが、データ量の比較的小さい画像データとしておけば、ハードディスクドライブ13の記憶領域を大きく占有することがなくなる。
また、本実施形態では、上述した値Aに対応する時間継続してデータ転送レートが低下している場合に、受信状況が悪化していると判断して上記のような切換処理を行っているので、例えば図7に示すT1の期間のように、何らかの事由で突発的にデータ転送レートが低下した場合に上記のような切換処理は行われない。したがって、突発的にデータ転送レートが低下した場合に映像が切り換えられることを抑制できる。
A−5.第1実施形態の変形例
(1)なお、上述した第1実施形態においては、互いにLAN101を介して接続されるホストサーバ100と複数のカラオケ端末装置200−1〜200−nとを備えたカラオケシステムに本発明を適用した場合について説明したが、これに限らず、例えば図8に示すようなカラオケシステムに本発明を適用するようにしてもよい。
同図に示すように、このカラオケシステムは、インターネット160に接続されるホストサーバ150およびカラオケ端末装置170とを備えている。ここで、ホストサーバ150およびカラオケ端末装置170は、上記第1実施形態におけるホストサーバ100およびカラオケ端末装置170と同様の機能に加え、互いにインターネット160を介してデータの授受を行うことができるネットワークインターフェース機能を有しており、両者間でインターネット160を介して配信要求、楽曲データおよび動画像データの授受を行うことができるようになっている。
この構成の下、カラオケ端末装置170は、利用者から入力された曲番号情報が入力されると、該情報に示される曲番号を含む配信要求をインターネット160を介してホストサーバ150に送信する。このような配信要求を受けたホストサーバ150は要求に応じた楽曲データを配信するとともに、その後に供給される動画像データの配信開始指示に基づいて動画像データの配信を開始する。カラオケ端末装置170では、配信される動画像データに基づく映像表示を行うとともに、上記第1実施形態におけるカラオケ端末装置200−1と同様に、ホストサーバ150から送信される動画像データの受信状況を監視する。そして、受信状況が悪化したと判断した場合にはカラオケ端末装置170のハードディスク装置等に格納されている緊急用画像データに基づく映像表示に切り換える。
このようにLAN101といったローカルのネットワークに限らず、インターネットのような公衆ネットワークを介してデータの授受を行うホストサーバ150とカラオケ端末装置170とを備えたカラオケシステムに本発明を適用することも可能である。
(2)また、上述した第1実施形態では、ホストサーバ100から配信される動画像データに基づく映像表示からハードディスクドライブ13に格納されている緊急用画像データに基づく映像表示に切り換えた後、そのカラオケ曲の演奏中には動画像データに基づく映像表示に復帰することはなかったが、受信状況が良化した場合には動画像データに基づく映像表示に再度切り換えるようにしてもよい。このような再切換処理について図9を参照しながら説明する。
同図に示すように、上記第1実施形態における監視切換処理(図6参照)において緊急用画像データに基づく映像表示に切り換わると、CPU10は後述するカウンタ値βをリセットし、ホストサーバ100との間の動画像データの転送レートを検出する(ステップSb1)。なお、上記のような切換処理を行った場合にも、ホストサーバ100から送信される動画像データの受信は続行されている。
そして、CPU10は、転送レートの検出結果が予め決められた転送レート以上であるか否かを判別する(ステップSb2)。ここで、予め決められた転送レートとは、上記第1実施形態と同様、その動画像データを正常に再生するために必要な転送レートである。
この判別の結果、検出されたデータ転送レートが所定値以下である場合には(ステップSb2の判別「NO」)、受信状況に良化の傾向が見られず、正常な動画像データの再生を行うことができないと判断され、CPU10はカウンタ値βをリセットし(ステップSb6)、ステップSb1に戻る。
一方、検出された転送レートが予め決められた転送レートよりも大きい場合には、カウント値βに1をインクリメントし(ステップSb3)、インクリメント後のカウント値βが予め決められた値Bと同じであるか否かを判別する(ステップSb4)。ここで、値Bはホストサーバ100から送信される動画像データが正常に再生できる程度に受信状況が良化しているか否かを判別することができるように定められた値である。すなわち、図10に示すように、カウント値βは、転送レートが所定値以上、つまり良好な受信状態になった場合にインクリメントされる値であり、この値が大きいことは動画像データを再生するために必要な転送レートがしばらくの間継続している受信状況であることを意味する。したがって、このような良好な受信状況が得られる状況がある一定の時間継続される場合に、受信状況が良化したと判断し、再切換処理のトリガーとして検出することができるような値が値Bに設定されている。
以上のような理由で定められた値Bとカウント値βが同じであると判別した場合、つまり受信状況が動画像データの正常な再生を行える程度に良化したと判断した場合、CPU10は再切換処理を実行する(ステップSb5)。再切換処理では、CPU10は、再度ホストサーバ100からLAN101を介して送信される動画像データを表示制御部17に転送する。これにより、表示制御部17では転送された動画像データに基づく映像信号が生成され、当該映像信号にフォントデータに基づく映像を合成されて表示装置18に出力される。この結果、表示装置18に表示される映像が、緊急用画像データに基づく映像から、ホストサーバ100から供給される動画像データに基づく映像に再度切りかわる。このような再切換処理を行うことで、図10に示すように、良好な動画像データの再生が行える受信状況にないときには緊急用画像データに基づく映像表示を行い、一方正常な動画像データ再生が行える受信状況にあるときには動画像データに基づく映像表示を行うことができる。
なお、上記のように切換処理よって緊急用画像データに基づく映像表示を開始した後に、ホストサーバ100からの動画像データの受信を一旦停止し、再度受信状況確認用のテストデータの配信をホストサーバ100から受けるようにし、この際の受信データ転送レートに基づいて受信状況が良好であると判断した場合に、再切換処理を行うようにしてもよい。
(3)また、上述した第1実施形態では、ホストサーバ100から送信される動画像データのデータ転送レートが所定値以下となっている時間が所定時間(値Aに対応する時間)継続した場合に、受信状況が悪化したと判断して映像表示を切り換えるようにしていたが、他の条件によって受信状況の良否を判断するようにしてもよい。例えば、ある一定時間、例えば3秒間に受信された動画像データの総データ量が所定値以下になった場合に映像表示を切り換えるようにしてもよいい。このようにすれば、突発的なデータ転送レートの変動に影響をほとんど受けずに、受信状況の良否をより正確に判断することができる。
また、上述した第1実施形態では、ホストサーバ100から送信される動画像データの受信レートを検出し、当該検出結果に基づいて映像表示を切り換えるか否かを判断していたが、受信レートの検出結果に加え、CPU10が表示制御部17による映像信号の再生処理状況を把握し、該把握した再生状況も映像表示切換の判断要素としてもよい。例えば、ホストサーバ100から配信される動画像データがMPEG規格で符号化された符号化データである場合には、表示制御部17による復号処理におけるエラーの発生状況を検出し、このエラー発生状況を判断要素としてもよい。
B.第2実施形態
次に、本発明の第2実施形態に係るカラオケシステムについて図11を参照しながら説明する。同図に示すように、第2実施形態に係るカラオケシステムは、LAN101を介して互いに接続されるホストサーバ300と、複数のカラオケ端末装置400−1,400−2,400−3……400−nとを備えている。各カラオケ端末装置400−1〜400−nとホストサーバ300とは、LAN101を介して種々のデータの授受を行うことができるようになっている。
第2実施形態におけるホストサーバ300とは、上記第1実施形態におけるホストサーバ100と同様、カラオケ端末装置400−1等からLAN101を介してデータ配信要求を受けた場合に、当該要求に応じた楽曲データおよび動画像データを送信するように構成されている。
カラオケ端末装置400−1は、上記第1実施形態におけるカラオケ端末装置200−1と同様のハードウェア構成を有しており(図2参照)、利用者の指示にしたがってホストサーバ100に対して楽曲データの配信要求を行い、配信された楽曲データに基づくカラオケ曲演奏を行う点で一致している。しかしながら、カラオケ曲演奏中に表示装置18に映像を表示させるための処理が上記第1実施形態におけるカラオケ端末装置200−1と相違している。したがって、以下では、カラオケ端末装置400−1における映像を表示させるための処理について説明する。
図12に示すように、利用者から曲番号情報が入力されると、カラオケ端末装置400−1のCPU10は、当該曲番号情報に示される曲番号に対応する画像データが、自装置のハードディスクドライブ13(図2参照)に格納されているか否かを判別する(ステップSc1)。
この判別処理は以下のようにして行われる。当該カラオケ端末装置400−1のハードディスクドライブ13には、図13に示すような画像データベースが構築されている。同図に示すように、この画像データベースには、複数種類の動画像データの各々に対応付けて複数の曲番号が格納されている。そして、当該判別処理においては、CPU10は利用者に指定された曲番号と同一の曲番号が、当該画像データベースに格納されているか否かを判別する。
この画像データベース中に同一の曲番号が検索できない場合には、CPU10は当該画像データベースには、指定された曲番号に対応する画像データは格納されていないと判断し、上述した第1実施形態と同様、曲番号を含む動画像データの配信要求(楽曲データの配信要求を含む)をLAN101を介してホストサーバ300に送信する(ステップSc3)。そして、カラオケ曲の演奏時には、CPU10は上記第1実施形態と同様、ホストサーバ300からLAN101を介して送信される動画像データを表示制御部17に転送することで表示装置18に配信動画像データに基づく映像を表示させる。
一方、画像データベース中に、指定された曲番号に対応する画像データが含まれていると判断した場合には、CPU10は、当該画像データベースにおける指定された曲番号に対応付けられている動画像データを読み出す(ステップSc4)。そして、読み出した動画像データを表示制御部17に転送することで表示装置18に読み出した動画像データに基づく映像を表示させる。
以上説明したように本実施形態に係るカラオケシステムでは、カラオケ端末装置400−1(カラオケ端末装置400−2〜400−nも同様)は、利用者に指定された曲に対応する画像データが当該カラオケ端末装置に内蔵される記憶装置に格納されている場合にはその画像データを読み出して映像表示を行い、画像データが記憶装置に格納されていない場合には、ホストサーバ300に対して配信要求を行い、当該要求に応じて配信される動画像データに基づいた映像表示を行うことができる。
したがって、例えば利用者による指定頻度が高い曲、つまり人気曲に対応する画像データはカラオケ端末装置内の記憶装置に格納しておくようにし、それ以外の曲に対応する画像データについてはホストサーバ300からの配信を受けるといったようにすることもできる。このようにすることで、自端末装置内には多数の楽曲に対応する画像データを全て格納することなく、大容量の記憶装置を搭載する必要がなくなる。また、利用頻度の高い曲に対応する画像データを自端末内に格納しているので、これらの画像データをLAN101を介して受信する必要がなく、LAN101を利用したデータ転送量が全体として減少し、受信状況の悪化に起因して表示映像が乱れるといったことを抑制できる。
また、別の態様として、古いカラオケ曲に対応する画像データについてはカラオケ端末装置内の記憶装置に格納しておくようにし、新しいカラオケ曲に対応する画像データについてはホストサーバ300からの配信を受けるといったようにすることもできる。このようにすることで、新しいカラオケ曲が多数発売等される度に、それに対応する画像データを自装置内の記憶装置に格納するといった繁雑な作業を行う必要がなくなる。
なお、第2実施形態においては、互いにLAN101を介して接続されるホストサーバ300と複数のカラオケ端末装置400−1〜400−nとを備えたカラオケシステムに本発明を適用した場合について説明したが、これに限らず、インターネットを介して接続されるホストサーバとカラオケ端末装置とを備えたカラオケシステムに適用することもできる(図8参照)。
C.第3実施形態
C−1.構成
次に、図14は本発明の第3実施形態に係るカラオケシステムの全体構成を示すブロック図である。同図に示すように、第3実施形態に係るカラオケシステムは、LAN101を介して互いに接続されるホストサーバ500と、複数のカラオケ端末装置600−1,600−2,600−3……600−nとを備えている。各カラオケ端末装置600−1〜600−nとホストサーバ300とは、LAN101を介して種々のデータの授受を行うことができるようになっている。
本実施形態におけるカラオケ端末装置600−1は、上述した第1実施形態におけるカラオケ端末装置200−1と同様のハードウェア構成を有しており(図2参照)、ホストサーバ500から配信される動画像データを受信してその表示装置に受信した動画像データに基づく映像を表示する機能と、自装置内のハードディスクドライブに格納された緊急用画像データに基づく映像表示のいずれかを選択して行うことができるようになっている。
図15に示すように、ホストサーバ500は、互いにバス501に接続されるCPU510と、ROM511と、RAM512と、操作部513と、LANインターフェース514と、ハードディスクドライブ515とを備えている。
CPU510は、ホストサーバ500の装置各部を制御する。ROM511には、ホストサーバ500を起動するために必要な起動プログラムが記憶されている。当該装置の電源がオンされると、この起動プログラムがCPU510によって読み出され、ハードディスクドライブ515に記憶されたシステムプログラムおよびアプリケーションプログラムがRAM512にロードされる。CPU510はこのようなアプリケーションプログアムにしたがって後述する配信禁止のための制御や配信制御などを行う。ハードディスクドライブ13には、これらのシステムプログラムおよびアプリケーションプログラムが記憶されるほか、管理データベース520、利用状況データベース521、画像データベース522および曲データベース523が格納されている。
画像データベース522および曲データベース523の各々には、カラオケ端末装置600−1,600−2……600−nに配信するための多数の楽曲データおよび動画像データが格納されている。ここで、楽曲データおよび動画像データは各々、曲番号と対応付けて画像データベース522および曲データベース523に格納されており、これによりカラオケ端末装置からの曲番号を含む配信要求を受けた場合には、当該曲番号に対応する楽曲データおよび動画像データを特定することができ、これを読み出して要求元のカラオケ端末装置に配信することができるようになっている。
図16に模式的に示すように、利用状況データベース521には、このカラオケシステムに含まれるカラオケ端末装置600−1,600−2……600−n毎(図では、「端末No1」、「端末No2」……)の利用状況が時系列で格納されている。
図17に模式的に示すように、管理データベース520には、LAN101に接続される複数のカラオケ端末装置600−1,600−2,600−3……600−nの各端末装置について画像データの配信を禁止する時間帯を示す情報が格納されている。図示のような内容が管理データベース520に登録されている場合において、「端末No2」に対応するカラオケ端末装置から「8:00〜18:10」の間に画像データの配信要求があったときにも、後述するようにホストサーバ500は当該要求に応じた画像データ配信は行わない。
以上のようなデータベースがハードディスクドライブ515に格納されている。
操作部513は、キーボードやマウス等の入力手段を有しており、利用者がこれらの入力手段を操作して種々の情報を入力することができ、各カラオケ端末装置600−1……等が設置された個室が利用者によって利用される等した場合に、店員等が利用時間帯および利用する端末No等の情報を入力する。
C−2.動作
次に、上記構成のカラオケシステムの動作をホストサーバ500の動作を中心として説明する。まず、このカラオケシステムが設置されているカラオケ店舗では、利用客が来店し、いずれかのカラオケ端末が設置された個室をある時間帯にわたって利用する場合には、その旨がホストサーバ500に入力されるようになっている。
C−2−1.登録時の動作
以下においては、カラオケ端末装置600−2(端末No2)が設置された個室を「6:00〜12:00」において利用客によって利用される場合に、店員がその旨をホストサーバ500に登録した際のホストサーバ500の動作について図18を参照しながら説明する。
同図に示すように、店員等によって操作部513を介して利用される端末Noと利用時間帯が入力されると、ホストサーバ500のCPU510は、当該入力された内容にしたがって利用状況データベース521の内容を更新する(ステップSd1)。この例では、「端末No2」が「6:00〜12:00」の時間帯利用される旨が入力されているので、この情報が利用状況データベース521に反映される(図16参照)。
利用状況データベース521の更新が終了すると、CPU510は、その更新された利用状況データベース521の内容を参照し、当該ホストサーバ500からLAN101を介して各カラオケ端末装置600−1〜600−nに配信できるデータ容量を超えるおそれのある時間帯があるか否かを判別する(ステップSd2)。
例えば、このカラオケシステムにおいてLAN101に接続されるカラオケ端末装置が16台(n=16)の場合において、LAN101のデータ転送能力がホストサーバ500からLAN101を介して同時に曲データおよび画像データをカラオケ端末装置に配信できる台数が12台であるときには、全てのカラオケ端末装置が利用されている時間帯では4台のカラオケ端末装置に対して正常なデータ配信を行えないおそれがある。CPU510は、このようなLAN101のデータ転送能力に応じて予め設定された同時送信可能台数を越える台数のカラオケ端末装置が同時に使用される時間帯(以下、容量オーバー時間帯という)があるか否かを、更新後の利用状況データベース521を参照して判別するのである。
更新後の利用状況データベース521を参照した結果、上記のような容量オーバー時間帯がないと判別された場合には、当該処理を終了する。一方、容量オーバー時間帯があると判別された場合には、CPU510は、その容量オーバー時間帯において配信を禁止するカラオケ端末装置を決定する処理を行う(ステップSd3)。すなわち、同時にホストサーバ500からLAN101を介してデータ転送を行うカラオケ端末の台数がLAN101の能力内(12台とする)に収まるように、その能力を超えた分の台数のカラオケ端末装置への画像データ配信を禁止する必要がある。このため、容量オーバー時間帯において配信を禁止すべきカラオケ端末装置を決定する処理を行うのである。
ここで、どのカラオケ端末装置に対する画像データ配信どの時間帯で禁止するかを決定する手法は任意であるが、例えば容量オーバー時間帯において同時利用される各カラオケ端末装置が均等な時間だけ画像データの配信を禁止させる方法がある。
容量オーバーをしている台数を2台(つまり同時使用台数が14台)、容量オーバーする時間を70分とした場合に、まず各カラオケ端末装置が画像データ配信を禁止される時間KTは、以下の式で求まる。
KT=70/(14/2)=10
これにより、10分づつ当該容量オーバー時間帯に同時利用される各カラオケ端末装置への画像データ配信を禁止することが決定され、その順序は端末Noの小さい方から順番にすればよく、例えば「8:00〜9:10」が容量オーバー時間帯である場合には端末Noの最も小さいカラオケ端末装置の禁止時間帯が「8:00〜8:10」、最も端末Noの大きいカラオケ端末装置の禁止時間帯が「9:10」といった具合である。
以上のように容量オーバー時間帯において配信を禁止すべきカラオケ端末装置およびその禁止時間帯が決定されると、CPU510は決定内容を管理データベース520に登録する(ステップSd4)。例えば図17に示すように、端末No2は、禁止時間帯が「8:00〜8:10」であるといった登録を行い、当該処理を終了する。
C−2−2.データ配信時の動作
次に、カラオケ端末装置600−1からLAN101を介して曲番号を含む配信要求があった場合における当該カラオケシステムの動作について図19に示すホストサーバ500の動作を中心に説明する。
まず、利用者によってカラオケ端末装置600−1に対して曲番号情報が入力されると、カラオケ端末装置600−1は当該曲番号によって特定されるカラオケ曲の演奏および当該演奏に伴う映像表示を行うため、当該曲番号を含む楽曲データおよび動画像データの配信要求をLAN101を介してホストサーバ500に送信する。
カラオケ端末装置600−1からの配信要求を受けたホストサーバ500のCPU510は、当該曲番号に対応する楽曲データを曲データベース523から読み出してLAN101を介して要求元であるカラオケ端末装置600−1に送信する(ステップSe1)。そして、CPU510は、管理データベース520に登録された内容を参照し、当該要求元のカラオケ端末装置がその要求時点において配信が禁止された端末であるか否かを判別する(ステップSe2)。
要求元のカラオケ端末装置600−1がその時点で配信が禁止される端末として管理データベース520に登録されている場合には(ステップSe2の判別「YES」)、CPU510は動画像データの配信が禁止されている旨の通知をLAN101を介して要求元のカラオケ端末装置600−1に対して送信する(ステップSe4)。
一方、要求元のカラオケ端末装置600−1がその時点で配信が禁止される端末として管理データベース520に登録されていない場合には(ステップSe2の判別「NO」)、CPU510は配信要求に含まれる曲番号に対応した動画像データを画像データベース522から読み出し、LAN101を介してカラオケ端末装置600−1に送信する(ステップSe3)。
以上がカラオケ端末装置から配信要求がなされた場合にホストサーバ500において実行される動作である。
以上のように配信要求を送出したカラオケ端末装置600−1には、曲番号に対応した楽曲データが配信され、カラオケ端末装置600−1は配信された楽曲データに基づくカラオケ曲の演奏を行う。
また、カラオケ端末装置600−1には、管理データベース520の登録内容に応じて禁止通知もしくは曲番号に対応する動画像データが送信されることになる。そして、ホストサーバ500から禁止通知が送信された場合、カラオケ端末装置600−1では、当該カラオケ端末装置600−1のCPUが自装置に内蔵される記憶装置に格納された緊急用画像データを読み出し、当該緊急用画像データに基づく映像表示を行う。一方、ホストサーバ500から動画像データが送信された場合、カラオケ端末装置600−1では、CPUが当該動画像データを表示制御部に転送し、これを再生することで配信された動画像データに基づく映像表示を行う。
以上説明したように本実施形態に係るカラオケシステムでは、ホストサーバ500およびカラオケ端末装置600−1〜600−nを接続するLAN101のデータ転送能力を超える台数のカラオケ端末装置の同時使用が起こりうる場合に、そのデータ転送能力が越えないように動画像データを配信すべきカラオケ端末装置の台数を制限することができる。したがって、同時に多数のカラオケ端末装置に動画像データを配信することによりLAN101のデータ転送能力を超え、配信処理に不具合等が生じて各カラオケ端末装置における表示映像に不具合が生じるといったことを抑制できる。
また、カラオケ店舗が混雑してないとき等には、各カラオケ端末装置600−1〜600−nは、ホストサーバ500からの動画像データの配信を受けることができるので、端末装置内における記憶装置に多数のカラオケ曲に対応する多数種類の動画像データを格納しておく必要がない。また、多数の新曲が発売された場合にも、店舗内に多数設置されるカラオケ端末装置の記憶装置等に多数の新曲に対応する動画像データを逐一格納させるといった煩雑な作業を行う必要がない。
C−3.変形例
なお、上述した第3実施形態においては、LAN101に接続される各カラオケ端末装置が設置された個室等が利用客に利用されているか否かといった利用状況に基づいて、ホストサーバ500が配信を禁止すべきカラオケ端末装置や禁止時間を決定するようにしていたが、各カラオケ端末装置が利用されているか否かに加えて、各カラオケ端末装置においてどのような曲が予約されているかといった予約曲の内容を含めた各カラオケ端末装置の利用状況に基づいて配信禁止の有無等を決定するようにしてもよい。
このような配信管理制御を行う場合には、各カラオケ端末装置は、利用者によって予約曲情報が入力されると、その都度予約曲番号をLAN101を介してホストサーバ500に送信する。ホストサーバ500では、図20に示すような利用状況データベースをハードディスクドライブ515に格納しており、CPU510は各カラオケ端末装置から予約曲番号が供給される毎に、当該予約状況データベースを更新する。
同図に模式的に示すように、利用状況データベースには、各カラオケ端末装置毎に時系列で予約された曲情報が管理されている。図示の例では、端末No1のカラオケ端末装置では、「0:00」〜順番に「A曲」、「B曲」、「C曲」といった順序で予約が入力されている。なお、各曲の演奏時間は曲番号から特定することができ、当該特定した演奏時間に基づいて図示のような時系列の予約状況データベースを作成・更新することができる。
上記第3実施形態と同様に各カラオケ端末装置の利用状況に基づいて求められる容量オーバー時間帯において、CPU510は上記の予約状況データベースを参照し、どのカラオケ端末装置の配信を禁止し、どのカラオケ端末装置への配信を許可するかを決定する。例えば、各曲毎に優先順位を予め決めておき(例えば、新しい曲の優先度を高くする)、当該優先順位の低い曲が予約曲として予約状況データベースに登録されているカラオケ端末装置については、その優先順位の低い曲を演奏するであろう時間を禁止時間帯とするといった決定手法を採用することができる。
D.変形例
なお、上述した各実施形態では、カラオケ端末装置およびホストサーバがハードディスクドライブに格納されたアプリケーションプログラムを実行することにより、映像表示の切換処理(図6、図9、図12等参照)や配信管理のための処理(図18、図19等参照)を行うようになっていたが、専用のハードウェア回路を構成し、当該ハードウェア回路によって上記のような処理を実行するようにしてもよい。また、ソフトウェアで上記処理を行う場合には、上記処理をコンピュータに実現させるためのプログラムを記録したCD−ROM(Compact Disc Read Only Memory)やフロッピー(登録商標)ディスク等の様々な記録媒体を店舗経営者等のユーザに提供するようにしてもよいし、インターネット等の通信回線を介してユーザに提供するようにしてもよい。
10……CPU、11……ROM、12……RAM、13……ハードディスクドライブ、14……操作部、15……LANインターフェース、16……文字表示部、17……表示制御部、18……表示装置、19……音源装置、20……アンプスピーカ、21……マイク、100……ホストサーバ、101……LAN、150……ホストサーバ、160……インターネット、170……カラオケ端末装置、200−1〜200−n……カラオケ端末装置、300……ホストサーバ、400−1〜400−n……カラオケ端末装置、500……ホストサーバ、510……CPU、511……ROM、512……RAM、513……操作部、514……LANインターフェース、515……ハードディスクドライブ、600−1〜600−n……カラオケ端末装置