以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
(実施の形態1)
図1は、本発明の実施の形態1におけるカラオケデータ配信システムの全体構成を示す図である。図1に示すように、このカラオケデータ配信システムは、WEBサーバ1、データベースサーバ3、ユーザ端末5−1〜5−n(nは自然数)、ライタ7−1〜7−n、及び、書込業者端末9−1〜9−m、を含む。
ここで、ユーザ端末5−1〜5−nを包括的に表現するときは、ユーザ端末5−N、と表記する。また、書込業者端末9−1〜9−mを包括的に表現するときは、書込業者端末9−M、と表記する。また、ユーザ端末5−N、及び、書込業者端末9−M、を総称して、クライアント端末と呼ぶ。また、ライタ7−1〜7−nを包括して表現するときは、ライタ7−N、と表記する。
WEBサーバ1、ユーザ端末5−N、及び、書込業者端末9−Mは、インターネット11に接続される。
ライタ7−Nは、対応するユーザ端末5−Nに接続される。データベースサーバ3は、WEBサーバ1に接続される。
図2は、図1のユーザ端末5−N及びライタ7−Nの例示図である。図2に示すように、ユーザ端末5−Nは、ディスプレイ装置25、マウス27a、及び、キーボード27b、を含む。
ライタ7−Nにおいて、ハウジング29の上面には、メモリカートリッジ13を挿入するための挿入口23が形成される。さらに、操作部材21を上下に操作できるように、ハウジング29の側面には、ガイド穴19が形成される。
メモリカートリッジ13には、OTPROM(one time programmable readonly memory)17が内蔵される。OTPROM17は、1度限りの書き込みしかできないROMである。ただし、同一領域に対して同一データの書き込みは可能である。
ここで、OTPROMについて簡単に説明する。全くの未使用のOTPROMには、全領域に「1(ハイレベル)」のデータが書き込まれている。つまり、これは、OTPROMの初期状態である。そして、OTPROMは、「1(ハイレベル)」を「0(ローレベル)」にすることが可能であるが(書き込み)、「0」を「1」にすること(再書き込み)は不可能である。従って、同一領域に対して同一データの書き込みは可能である。
ユーザ端末5−Nとライタ7−Nとは、ケーブル15により接続される。このケーブル15は、例えば、USB(universal serial bus)ケーブルである。また、挿入口23から、メモリカートリッジ13を挿入することで、ライタ7−Nにメモリカートリッジ13を装着できる。そうすると、ガイド穴19に沿って、操作部材21が上方向に移動する。一方、操作部材21を押し下げることにより、装着されたメモリカートリッジ13を取り出すことができる。
図3は、図1の書込業者端末9−Mの例示図である。図3に示すように、書込業者端末9−Mは、ディスプレイ装置31、タッチパネル33、及び、メモリカートリッジ13を装着するためのコネクタ35、を含む。図3では、ディスプレイ装置31のスクリーンにタッチパネル33を装着することで、タッチスクリーンを形成している。
図4は、未使用時の図2のOTPROM17の記憶領域を説明するための図解図である。図4に示すように、未使用時では、OTPROM17には、ブランクエリアa1〜ak(kは自然数)及び既書込みエリアawが存在する。ここで、ブランクエリアa1〜akを包括して表現するときは、ブランクエリアaK、と表記する。ブランクエリアaKは、ユーザによるOTPROM17の購入時(工場からの出荷時)には、何もデータが書き込まれていない領域である。
原則として、1つのブランクエリアaKに、1曲分のカラオケデータが書き込まれる。ただし、所定数のブランクエリアaKに、1曲分のカラオケデータを書き込むこともできる。例えば、1曲分のカラオケデータが、ブランクエリアaKのサイズを超える場合には、複数のブランクエリアaKが必要である。また、1曲分のカラオケデータが、ブランクエリアaKのサイズを超えない場合であっても、その曲の価値が2曲分またはそれ以上であれば、(例えば、各ブランクエリアakの使用を示すインデックス情報のフィールドを設け、消費されたブランクエリアakに対応する、フィールドのエントリを設定するか、あるいは、後述の実施の形態2に関連して説明される状態フラグを利用することによって)2つまたはそれ以上のブランクエリアaKを消費してもよい。このように、ブランクエリアaK単位で、カラオケデータが書き込まれる。また、OTPROM17であるため、未格納状態のブランクエリアaKにのみ、カラオケデータを書き込むことができる。つまり、一旦、あるブランクエリアaKに、カラオケデータが書き込まれた後は、そのブランクエリアaKへの再度の書込みはできない。さらに、言い換えると、一度限りの書き込みが可能である。
既書き込みエリアawには、ユーザによるOTPROM17の購入時(出荷時)に既に、システムプログラム、共通データ、当該メモリカートリッジ13の識別情報(ID)、及び、書き込み可能曲数の情報、が書き込まれている。システムプログラムは、システム初期化、シーケンス制御、画像表示制御、A/D変換、音声加工、及び、音楽再生制御、等を行うプログラムである。共通データは、楽曲の種類に関係なく共通に使用される画像データ、及び、楽曲の種類に関係なく共通に使用される音楽データ,等である。
図5は、図2のOTPROM17の書き込み後の状態を説明するための図解図である。図5では、ブランクエリアa1に、カラオケデータが書き込まれている例を示している。このカラオケデータには、背景画像データ、曲名画像データ、歌詞データ、及び、楽譜データ、が含まれる。
ブランクエリアaKに、カラオケデータが書き込まれると、既書き込みエリアawの空き領域に、インデックス情報が書き込まれる。インデックス情報は、ブランクエリアaKごとの、使用の有無を示す情報、背景画像データの格納位置情報、曲名画像データの格納位置情報、歌詞データの格納位置情報、及び、楽譜データの格納位置情報、などである。
図6は、図1のクライアント端末5−N及びライタ7−Nの電気的構成の一例を示す図である。図6に示すように、クライアント端末5−Nは、プロセッサ53、メモリ50、バス52、通信装置54、補助記憶装置55、インタフェース(I/F)51、ディスプレイ装置25、及び、入力装置27、を含む。
補助記憶装置55は、例えば、ハードディスク装置、等である。また、入力装置27は、図2のキーボード27bおよびマウス27aである。ただし、入力装置27は、これらに限定されるものではない。入力装置27の他の例として、トラックボール、ライトペン、ジョイスティック、タッチパネル、又は、タブレット、等を使用できる。
ライタ7−Nは、MPU(micro processing unit)70、バス71、インタフェース(I/F)73を含む。ここで、ケーブル15として、例えば、USBケーブルを使用する場合は、インタフェース73及びインタフェース51の各々は、USBコントローラを含む。
図7は、図1の書込業者端末9−Mの電気的構成の一例を示す図である。図7に示すように、書込業者端末9−Mは、プロセッサ94、バス93、メモリ91、通信装置95、インタフェース(I/F)92、ディスプレイ装置31、入力装置33、及び、補助記憶装置99、を含む。なお、補助記憶装置99は、例えば、ハードディスク装置、等である。また、入力装置33は、図3の例ではタッチパネル33である。ただし、入力装置33は、入力装置27と同様に、これに限定されるものではない。
さて、次に、本実施の形態におけるカラオケデータ配信システムにおける処理の概要を説明する。
図8は、図1の、ライタ7−N、ユーザ端末5−N、及び、WEBサーバ1、間の通信手順の概要を示す図である。入力装置27を介したユーザからの入力を受けて、ユーザ端末5−Nのプロセッサ53は、通信装置54及びインターネット11を介して、WEBサーバ1に楽曲メニューの送信要求を行う。この送信要求を受けて、WEBサーバ1は、インターネット11を介して、ユーザ端末5−Nに楽曲メニューを送信する。
ユーザが入力装置27により、楽曲を選択すると、ユーザ端末5−Nのプロセッサ53は、通信装置54及びインターネット11を介して、選択された楽曲の情報(選択楽曲情報)をWEBサーバ1に送信する。WEBサーバ1は、ユーザ端末5−Nが送信した選択楽曲情報が示す楽曲のカラオケデータを、データベースサーバ3から取得して、インターネット11を介して、ユーザ端末5−Nに送信する。
ユーザ端末5−Nのプロセッサ53は、受信したカラオケデータを、一旦、補助記憶装置55に格納する。そして、プロセッサ53は、補助記憶装置55からカラオケデータをメモリ50に転送し、さらに、そのカラオケデータを、バス52、インタフェース51、及び、ケーブル15を介して、ライタ7−Nに送信する。
ライタ7−NのMPU70は、ユーザ端末5−Nのプロセッサ53が送信したカラオケデータを、インタフェース73及びバス71を介して、MPU70の内部のメモリ(図示せず)に転送し、さらに、そのカラオケデータを、バス71に接続されたOTPROM17に書き込む。さらに、ライタ7−NのMPU70は、OTPROM17から、書き込んだカラオケデータを読み出して、読み出したカラオケデータを、バス71、インタフェース73及びケーブル15を介して、ユーザ端末5−Nに送信する。
ユーザ端末5−Nのプロセッサ53は、ライタ7−NのMPU70が読み込んで送信したカラオケデータを、補助記憶装置55に格納する。そして、プロセッサ53は、WEBサーバ1が送信したカラオケデータと、ライタ7−Nが送信したカラオケデータと、を比較して、OTPROM17に正常に書き込みが行われたかどうかを検査する。正常に書き込みが行われたと判断した場合は、ユーザ端末5−Nのプロセッサ53は、通信装置54及びインターネット11を介して、WEBサーバ1へ、カラオケデータがOTPROM17に正常に書き込まれたことを通知する(正常書込通知)。
WEBサーバ1は、ユーザ端末5−Nからの正常書込通知を受信する。WEBサーバ1は、正常書込通知を受信することで、OTPROM17に正常に書き込まれたカラオケデータの数を曲ごとに計数する。サービス提供者が支払う著作権料は、この計数値を基に算出することができる。
図9は、図1の書込業者端末9−M及びWEBサーバ1間の通信手順の概要を示す図である。まず、入力装置33を介したユーザからの入力を受けて、書込業者端末9−Mのプロセッサ94は、通信装置95及びインターネット11を介して、WEBサーバ1に楽曲メニューの送信要求を行う。この送信要求を受けて、WEBサーバ1は、インターネット11を介して、書込業者端末9−Mに楽曲メニューを送信する。
ユーザが入力装置33により、楽曲を選択すると、書込業者端末9−Mのプロセッサ94は、通信装置95及びインターネット11を介して、選択された楽曲の情報(選択楽曲情報)をWEBサーバ1に送信する。WEBサーバ1は、書込業者端末9−Mが送信した選択楽曲情報が示す楽曲のカラオケデータを、データベースサーバ3から取得して、インターネット11を介して、書込業者端末9−Mに送信する。
書込業者端末9−Mのプロセッサ94は、受信したカラオケデータを、一旦、補助記憶装置99に格納する。そして、プロセッサ94は、補助記憶装置99からメモリ91にカラオケデータを転送し、さらに、そのカラオケデータを、バス93に接続されたOTPROM17に転送する。さらに、プロセッサ94は、OTPROM17から、書き込んだカラオケデータを読み出して、読み出したカラオケデータを補助記憶装置99に格納する。そして、プロセッサ94は、WEBサーバ1が送信したカラオケデータと、OTPROM17から読み出したカラオケデータと、を比較して、OTPROM17に正常に書き込みが行われたかどうかを検査する。
正常に書き込みが行われたと判断した場合は、プロセッサ94は、通信装置95及びインターネット11を介して、WEBサーバ1へ、カラオケデータがOTPROM17に正常に書き込まれたことを通知する(正常書込通知)。WEBサーバ1は、書込業者端末9−Mからの正常書込通知を受信する。WEBサーバ1は、正常書込通知を受信することで、OTPROM17に正常に書き込まれたカラオケデータの数を曲ごとに計数する。サービス提供者が支払う著作権料は、この計数値を基に算出することができる。
なお、図8及び図9で説明したように、本実施の形態では、一度限りの書き込みが可能な記録メディアの一例として、OTPROM17を挙げている。このような記録メディアを使用するため、一度データを書き込んだら、その領域にはデータの再書込みはできない。従って、ユーザは、OTPROM17のブランクエリアaKの数に応じた数の楽曲(カラオケデータ)だけを書き込むことができる。例えば、ブランクエリアaKの数が8つであれば、8曲分のカラオケデータのみの書き込みが可能である。この例では、ユーザは、8曲分のカラオケデータを書き込んだら、当該メモリカートリッジ13に、さらに書き込むことができないので、新たなメモリカートリッジ13を購入する必要がある。
以上のように、記録メディア自体が一度限りの書き込みしかできないものを採用することにより、記録メディアに一度限りの制限をあたえているが、方法は、これに限定されない。記録メディア(つまり、メモリカートリッジ13に含まれるメモリデバイス)自体が再書き込みできるものであっても、特定の書き込み制限機構(ハードウエア、ソフトウエア、あるいは、その組み合わせ)によって、メモリカートリッジ13に一度限の制限を与えることもできる。
ここで、一度限りの制限の実装に関して、詳しく説明する。この実施形態で用いられているOTPROMは、たとえば、パッケージに消去用の石英ガラス窓の無いUV−EPROMである。このメモリは、原理的にはX線によって消去して、書き換え可能ではある。しかし、少なくともユーザレベルにおいては、OTPROMの消去は不可能である。ここでは、少なくともユーザレベルにおいて書き換えが不可能であれば、一度限りの制限が機能していると解釈するものとする。
具体的には、次のような方法も可能である。まず、大量に出回っている安価なフラッシュメモリ・モジュールの半導体チップを利用して、独自のインタフェースを持った、その大量に出回っているフラッシュメモリ・モジュールの標準パッケージとは互換性のない独自のパッケージにマウントする。最も単純には、互換性のあるパッケージに対して、端子の位置の交換、端子の形状の変更等が行われる。この場合、ライタ7−Nも、その大量に出回っているフラッシュメモリ・モジュールの互換性のあるライタに対して、端子の位置の交換、端子の形状の変更等が施される。従って、大量に出回っているフラッシュメモリ・モジュールのような市販のメモリチップや市販のメモリコントローラチップが利用できるので、安価で容易な実装が可能である。
更に高いセキュリティは、大量に出回っているフラッシュメモリを利用するが、そのインタフェース・コントローラのプロトコルに若干の変更を加えることで実装することができる。ライタ7−Nのインタフェース・コントローラも、フラッシュメモリのインタフェース・コントローラと同様の変更を加える。従って、ユーザレベルでの書き換えを不可能とする目的で、フラッシュメモリのチップと、ライタ7−Nのインタフェース・コントローラのチップは特注部品となっているが、パッケージやその他の部品は大量に出回っているフラッシュメモリの部品を流用できる。
また、コントローラを内蔵しない市販のフラッシュメモリでは、ライタ7−Nのコントローラのみを変更するだけで、独自のファイルシステムを実装することができる。そして、市販の安価なフラッシュメモリに、独自のファイルシステムでフォーマットするだけで、本発明のシステムで利用可能なメモリカートリッジ13を製造することができる。言うまでもなく、このコントローラを内蔵しない市販のフラッシュメモリの一般的なライタでは、この独自のファイルシステムへのアクセスはできない。
さて、次に、メモリカートリッジ13のライタ7−Nからの着脱機構を説明する。
図10は、図2のライタ7−Nからメモリカートリッジ13を着脱する際の機構の説明図である。図10に示すように、ハウジング29の側面には、操作部材21の一方の鉤型部が突出している。また、ハウジング29の内部において、操作部材21の他方の鉤型部には、凸部43が形成され、この凸部43が、押し出し部材40の後端に形成された長穴44に挿入される。さらに、ハウジング29の内面には、軸41が形成され、この軸41により、押し出し部材40が回転可能に支持される。
図10に示すように、操作部材21、押し出し部材40および軸41は、ハウジング29の両側に一対づつ対象に設けられている。ユーザが、操作部材21を押し下げると、その凸部43により、押し出し部材40の後端が押し下げられる。その結果、軸41を支点として、押し出し部材40が回転し、押し出し部材40の先端が、上方向に跳ね上がる。
図2に示すように、メモリカートリッジ13が未装着の状態では、操作部材21は、ガイド穴19の下端に位置している。そして、ユーザが、ハウジング29の上面に形成された挿入口23から、メモリカートリッジ13を挿入すると、これに応じて、押し出し部材40の先端が押し下げられるとともに、メモリカートリッジ13が、ハウジング29の内部に設けられたコネクタ42に接続される。
一方、メモリカートリッジ13が装着された状態では、操作部材21は、ガイド穴19の上端に位置している。従って、ユーザが、操作部材21を押し下げると、上記のような機構により、押し出し部材40の先端が跳ね上がる。これ伴って、メモリカートリッジ13は、コネクタ42から抜けて、上方に跳ね上がる。
図11は、図10のライタ7−Nに装着されたメモリカートリッジ13を取り出すときの説明図である。図11は、ライタ7−Nの内部の一部を、側面から見た図である。図11に示すように、押し出し部材40の先端が、コネクタ42に接続されたメモリカートリッジ13の下側の縁に当接する。これにより、メモリカートリッジ13の押し上げが可能となる。なお、コネクタ42には、回路基板46が接続される。この回路基板46には、図6のMPU70、バス71、及び、インタフェース73、が実装される。
さて、本実施の形態におけるカラオケデータ配信システムにおいては、クライアント端末(ユーザ端末5−N又は書込業者端末9−M)は、WEBサーバ1から、書き込みプログラムを取得する必要がある。この点を、フローチャート、図6及び図7を用いて説明する。
図12は、図1のユーザ端末5−NがWEBサーバ1から、書き込みプログラムをダウンロードする際の処理の流れを示すフローチャートである。図12に示すように、ステップS1にて、ユーザ端末5−Nのプロセッサ53が、補助記憶装置55に格納されたブラウザプログラムを起動する。ここで、ユーザ端末5−Nのプロセッサ53が、ブラウザプログラムを実行することにより、ブラウザが構築される。そして、ユーザ端末5−N(ブラウザ)は、入力装置27を介したユーザからの入力を受けて、書き込みプログラムを配信するWEBページのURL(uniform resource locator)を、通信装置54及びインターネット11を介して、WEBサーバ1へ送信する。
ステップS11にて、WEBサーバ1は、ユーザ端末5−Nから要求されたWEBページデータを、ユーザ端末5−Nへ送信する。
ステップS2にて、ユーザ端末5−N(ブラウザ)は、WEBサーバ1が送信したWEBページデータを解析して、書き込みプログラムを配信するWEBページをディスプレイ装置25に表示する。ステップS3にて、ユーザ端末5−N(ブラウザ)は、入力装置27を介したユーザからの入力を受けて、WEBサーバ1に対して、書き込みプログラムの送信要求を行う。
ステップS12にて、WEBサーバ1は、ユーザ端末5−Nが要求した書き込みプログラム及びそのセットアッププログラムを、ユーザ端末5−Nへ送信する。
ステップS4にて、ユーザ端末5−Nのプロセッサ53は、受信した書き込みプログラム及びそのセットアッププログラムを、補助記憶装置55に格納する。
なお、書込業者端末9−Mが、WEBサーバ1から書き込みプログラムを入手する際の処理の流れは、ユーザ端末5−Nが、WEBサーバ1から書き込みプログラムを入手する際の処理の流れと同様である。この場合、書込業者端末9−Mのプロセッサ94が、補助記憶装置99に格納されたブラウザプログラムを起動する。そして、書込業者端末9−Mのプロセッサ94が、ブラウザプログラムを実行することにより、ブラウザが構築される。また、プロセッサ94は、WEBサーバ1から入手した書き込みプログラム及びそのセットアッププログラムを、補助記憶装置99に格納する。
図13は、図1のユーザ端末5−Nが、WEBサーバ1から受信した書き込みプログラムをセットアップする際の処理の流れを示すフローチャートである。図13に示すように、ステップS21にて、ユーザ端末5−Nのプロセッサ53は、書き込みプログラムのセットアッププログラムを起動する。ここで、ユーザ端末5−Nのプロセッサ53が、セットアッププログラムを実行することにより、セットアップ手段が構築される。
ステップS22にて、ユーザ端末5−N(セットアップ手段)は、セットアップを開始する。ステップS23にて、ユーザ端末5−N(セットアップ手段)は、ディスプレイ装置25に登録情報の入力画面を表示する。入力装置27を介してユーザから登録情報が入力されると、ユーザ端末5−N(セットアップ手段)は、引き続きセットアップ動作を実行する。ここで、登録情報とは、例えば、ライタ7−Nの識別情報(ID)、ユーザの氏名、電子メールアドレス、電話番号、住所、及び、性別、等である。
ステップS24にて、書き込みプログラムのセットアップが完了すると、ユーザ端末5−N(セットアップ手段)は、その旨をディスプレイ装置25に表示する。ステップS25にて、ユーザ端末5−N(セットアップ手段)は、ユーザが入力した登録情報を、WEBサーバ1へ送信する。
ステップS31にて、WEBサーバ1は、ユーザ端末5−Nが送信した登録情報を記録する。
なお、書込業者端末9−Mが、書き込みプログラムをセットアップする際の処理の流れは、ユーザ端末5−Nが、書き込みプログラムをセットアップする際の処理の流れと同様である。この場合、書込業者端末9−Mのプロセッサ94が、補助記憶装置99に格納されたセットアッププログラムを起動する。そして、書込業者端末9−Mのプロセッサ94が、セットアッププログラムを実行することにより、セットアップ手段が構築される。
さて、図6に戻って、ユーザ端末5−Nのプロセッサ53が、補助記憶装置55に格納された書き込みプログラム(図13参照)を起動することにより、書込制御手段が構築される。また、プロセッサ53が、補助記憶装置55に格納されたブラウザプログラムを起動することにより、ブラウザが構築される。なお、マルチタスクにより、書込制御手段及びブラウザは、独立して(並列に)動作することができる。
次に、画面図を用いて、本実施の形態におけるカラオケデータ配信システムによるカラオケデータの取得方法について説明する。
図14は、図2のユーザ端末5−Nのディスプレイ装置25に表示されるWEBページの例示図である。図14に示すように、ブラウザにより、カラオケデータをダウンロードするためのWEBページが、ディスプレイ装置25に表示される。具体的には、このWEBページは、フレーム100〜103により構成される。フレーム101は、歌手名から楽曲を検索するための画像である。フレーム102は、曲名から楽曲を検索するための画像である。フレーム103には、リンクボタンが表示されている。
一方、ディスプレイ装置25には、書込制御手段により、フレーム200が表示される。このフレーム200には、メモリカートリッジ13に既に書き込まれている曲数、メモリカートリッジ13に既に書き込まれている曲名、及び、メモリカートリッジ13に書き込み可能な曲数、の情報が表示される。
ユーザが、歌手名検索のフレーム101を利用して、所望の歌手名の先頭の文字を入力装置27により選択すると、その文字を先頭に有する歌手名の一覧が表示される。
図15は、歌手名により所望の楽曲を検索する際の画面の例示図である。図14の画面の歌手名検索のフレーム101において、歌手名の先頭の文字が選択されると、図15に示すような画面が、ディスプレイ装置25に表示される。具体的には、図15に示すように、ブラウザは、フレーム101,102,104,105,106を、ディスプレイ装置25に表示する。フレーム104には、図14の画面で選択された文字を先頭に有する歌手名の一覧。そして、ユーザが、入力装置27を用いて、フレーム104に表示された歌手名の中から所望の歌手名を選択すると、ブラウザは、フレーム105に、選択された歌手の持ち歌を表示する。
さらに、ユーザが、入力装置27を用いて、フレーム105に表示された楽曲の中から所望の楽曲を選択すると、書込制御手段は、フレーム201に、選択された曲名を表示する。さらに、ユーザが、入力装置27を用いて、フレーム106に表示された書き込みボタンを押下すると、選択された楽曲のカラオケデータが、メモリカートリッジ13のOTPROM17に書き込まれる。すると、書込制御手段は、フレーム202に、書き込みが完了したカラオケデータの曲名を、順次表示していく。また、書込制御手段は、フレーム200の表示を更新する。
さて、ユーザが、図14の曲名検索のフレーム102を利用して、所望の曲名の先頭の文字を入力装置27により選択すると、その文字を先頭に有する曲名の一覧が表示される。
図16は、曲名により所望の楽曲を検索する際の画面の例示図である。図14の画面の曲名検索のフレーム102において、曲名の先頭の文字が選択されると、図16に示すような画面が、ディスプレイ装置25に表示される。具体的には、図16に示すように、ブラウザは、フレーム101,102,106,107を、ディスプレイ装置25に表示する。フレーム107には、図14の画面で選択された文字を先頭に有する曲名の一覧。そして、ユーザが、入力装置27を用いて、フレーム107に表示された楽曲の中から所望の楽曲を選択すると、書込制御手段は、フレーム201に選択された曲名を表示する。
さらに、ユーザが、入力装置27を用いて、フレーム106に表示された書き込みボタンを押下すると、選択された楽曲のカラオケデータが、メモリカートリッジ13のOTPROM17に書き込まれる。すると、書込制御手段は、フレーム202に、書き込みが完了したカラオケデータの曲名を、順次表示していく。また、書込制御手段は、フレーム200の表示を更新する。
ここで、選択やボタンの押下は、マウス27aにより、カーソル301を所望の位置に移動させ、マウス27aをクリックすることにより行う。この場合は、曲名が表示されている領域が、曲選択ボタンということになる。
なお、書込業者端末9−Mのディスプレイ装置31にも、図14〜図16と同様の画面が表示され、上記と同様の操作により、カラオケデータを、コネクタ35に接続されたメモリカートリッジ13に書き込むことができる。
図17は、図1のユーザ端末5−Nによるカラオケデータのダウンロード及び書き込み処理の流れを示すフローチャートである。図17に示すように、ステップS41にて、ユーザ端末5−Nのプロセッサ53が、書き込みプログラムを起動する。プロセッサ53が、書き込みプログラムを実行することにより、書込制御手段が構築される。そして、書込制御手段は、ブラウザプログラムを起動する。プロセッサ53が、ブラウザプログラムを実行することにより、ブラウザが構築される。つまり、ユーザ端末5−Nが、ブラウザおよび書込制御手段として機能する。
ステップS42にて、書込制御手段は、ライタ7−Nが、クライアント端末5−Nに接続されているかどうかをチェックする。また、書込制御手段は、ライタ7−Nに、メモリカートリッジ13が装着されているかどうかをチェックする。そして、書込制御手段は、ライタ7−Nがクライアント端末5−Nに接続されており、かつ、メモリカートリッジ13がライタ7−Nに装着されている場合に、処理をステップS43に進める。
ステップS43にて、書込制御手段は、メモリカートリッジ13のOTPROM17にアクセスして、書き込み済みの曲数の情報及び書き込み済みの曲名の情報を取得する。ステップS44にて、書込制御手段は、ディスプレイ装置25に、書き込み済み曲数、書き込み済み曲名、及び、書き込み可能な曲数、を表示する。ステップS45にて、書込制御手段は、メモリカートリッジ13の識別情報(ID)及びライタ7−Nの識別情報(ID)をWEBサーバ1へ送信する。
ステップS61にて、WEBサーバ1は、書込制御手段が送信したメモリカートリッジ13の識別情報(ID)及びライタ7−Nの識別情報(ID)を記録する。
ステップS46にて、書込制御手段は、カラオケデータをダウンロードするためのWEBページ(書き込みボタンあり)のURLを、WEBサーバ1に送信する。
ステップS62にて、WEBサーバ1は、WEBページデータを、ユーザ端末5−Nに送信する。
ステップS47にて、書込制御手段は、送信したURL(ステップS62)を、メモリ50に格納する。ステップS48にて、ブラウザは、WEBサーバ1から受信したWEBページデータを解析して、WEBページ(書き込みボタンあり)を表示する。ステップS49にて、書込制御手段は、ライタ7−Nが、クライアント端末5−Nに接続されているかどうかをチェックする。また、書込制御手段は、ライタ7−Nに、メモリカートリッジ13が装着されているかどうかをチェックする。そして、書込制御手段は、ライタ7−Nがクライアント端末5−Nに接続されており、かつ、メモリカートリッジ13がライタ7−Nに装着されている場合に、処理をステップS50に進める。このステップS49の処理は、ステップS42の処理と同様である。
ステップS50にて、入力装置27を介したユーザの入力情報がチェックされる。ステップS50のチェックの結果、画面上の曲選択ボタンが、入力装置27を介してユーザにより押下されていれば、処理が図18のステップS71に進み(ステップS51)、画面上の書き込みボタンが、入力装置27を介して、ユーザにより押下されていれば、処理が図19のステップS91に進み(ステップS52)、画面上の終了ボタンが、入力装置27を介してユーザにより押下されていれば、プロセッサ53は、書き込みプログラム及びブラウザプログラムを終了し(ステップS53)、画面上のリンクボタンが、入力装置27を介してユーザにより押下されていれば、処理が図22のステップS121に進む(ステップS54)。
一方、ステップS50のチェックの結果、曲選択ボタンが押下されておらず、かつ、書き込みボタンが押下されておらず、かつ、終了ボタンが押下されておらず、かつ、リンクボタンが押下されていない場合は、処理がステップS49に進む(ステップS51、ステップS52、ステップS53、ステップS54)。
図18は、図17のステップS51にて曲選択ボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図18に示すように、ステップS71にて、ブラウザは、選択された曲を示す曲コードを、WEBサーバ1に送信する。
ステップS81にて、WEBサーバ1は、ブラウザが送信した曲コードに対応するカラオケデータを、データベースサーバ3から取得する。ステップS82にて、WEBサーバ1は、ブラウザが送信した曲コード、その曲コードに対応する曲名の情報、その曲コードに対応するカラオケデータを格納するディレクトリ名の情報、及び、そのカラオケデータのファイル名の情報、をユーザ端末5−Nに送信する。ステップS83にて、WEBサーバ1は、前回の画面データ(ユーザが曲選択ボタンを押下する直前の画面データ)を、ユーザ端末5−Nに送信する。
ステップS72にて、書込制御手段は、ディスプレイ装置25に、ユーザが選択した曲名を表示する。また、ブラウザは、前回の画面を表示する。ステップS72の後、処理は、図17のステップS49に進められる。
図19は、図17のステップS52にて書き込みボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図19に示すように、ステップS91にて、ブラウザは、書き込みボタンが押下されたことを示す情報を、WEBサーバ1へ送信する。
ステップS111にて、WEBサーバ1は、カラオケデータの書き込み中であることを示す画面データをユーザ端末5−Nに送信する。例えば、この画面データには、書き込みが終了するまでの注意事項を表示するためのデータ、等が含まれる。
ステップS92にて、ブラウザは、カラオケデータの書き込み中であることを示す画面を、ディスプレイ装置25に表示する。ステップS93にて、書込制御手段は、OTPROM17へアクセスして、書き込み可能な曲数の情報を取得する。その結果、書き込み可能曲数が「0」の場合(OTPROM17に空き領域がない場合)、図20のステップS141に処理が進められ、書き込み可能曲数が「1」以上の場合(OTPROM17に空き領域がある場合)、ステップS95に処理が進められる(ステップS94)。ステップS95にて、書込制御手段は、ステップS82で送信されたディレクトリ名の情報及びファイル名の情報を、WEBサーバ1へ送信する。
ステップS112にて、WEBサーバ1は、書込制御手段が送信したディレクトリ名の情報及びファイル名の情報を基に、当該ファイル名で格納されたカラオケデータをユーザ端末5−Nに送信する。
ステップS96にて、書込制御手段は、受信したカラオケデータを、補助記憶装置55にテンポラリファイルとして格納する。ステップS97にて、書込制御手段は、カラオケデータを正常に受信したことを示す正常受信完了コードを、WEBサーバ1へ送信する。ステップS98にて、書込制御手段は、ライタ9−Nに対して、カラオケデータをOTPROM17に書き込むことを指示する。ステップS99にて、書込制御手段は、OTPROM17に書き込んだカラオケデータを読み出して、ベリファイを実行する。ベリファイの結果、書き込みが正常に行われていれば、処理がステップS101に進められ、書き込みが不正常であれば、処理が図21のステップS161に進められる(ステップS100)。ステップS101にて、書込制御手段は、テンポラリファイルとして格納したカラオケデータを消去する。ステップS102にて、書込制御手段は、書き込みが正常に完了したことを示すコード、及び、曲コード、をWEBサーバ1へ送信する。
ステップS113にて、WEBサーバ1は、書き込み曲数を計数するカウンタを1つインクリメントする。
ステップS103にて、書込制御手段は、ユーザにより選択された曲が存在するかどうかを判断する。その判断の結果、選択された曲が存在する場合、処理がステップS93に進み、選択された曲が存在しない場合は、処理がステップS104に進む。ステップS104にて、書込制御手段は、カラオケデータのダウンロードが終了したことを示すコードをWEBサーバ1に送信する。
ステップS114にて、WEBサーバ1は、前回の画面データ(書き込みボタンを押下する直前の画面データ)を、ユーザ端末5−Nに送信する。
ステップS105にて、ブラウザは、前回の画面をディスプレイ装置25に表示する。
図20は、図19のステップS94にて書き込み可能な曲数が「0」と判断された場合の処理の流れを示すフローチャートである。図20に示すように、ステップS141にて、書込制御手段は、OTPROM17へのカラオケデータの書き込みができないことを示すコード(OTPROM17に空き領域がないことを示すコード)を、WEBサーバ1へ送信する。
ステップS151にて、WEBサーバ1は、メモリカートリッジ13の交換を促す表示を行うための画面データを、ユーザ端末5−Nに送信する。
ステップS142にて、ブラウザは、ディスプレイ装置25に、メモリカートリッジ13の交換を促す表示を行う。そして、処理が図17のステップS49に進められる。
図21は、図19のステップS100にて書き込みが不正常であると判断された場合の処理の流れを示すフローチャートである。図21に示すように、ステップS161にて、書込制御手段は、OTPROM17へのカラオケデータの書き込みが不正常であることを示すコードを、WEBサーバ1へ送信する。
ステップS171にて、WEBサーバ1は、エラーの対処方法を示す表示を行うための画面データを、ユーザ端末5−Nに送信する。
ステップS162にて、ブラウザは、ディスプレイ装置25に、エラーの対処方法を示す表示を行う。そして、処理が図17のステップS49に進められる。
図22は、図17のステップS54にてリンクボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図22に示すように、ステップS121にて、ブラウザは、押下されたリンクボタンに対応した新たなURLを、WEBサーバ1へ送信する。
ステップS131にて、WEBサーバ1は、受信した新たなURLが示す新たなWEBページデータ(書き込みボタンあり)を、ユーザ端末5−Nに送信する。
ステップS122にて、書込制御手段は、その新たなURLをメモリ50に記憶する。ステップS123にて、ブラウザは、ディスプレイ装置25に、新たなWEBページ(書き込みボタンあり)を表示する。そして、処理が図17のステップS49に進められる。
図23は、図17のステップS42のライタ/カートリッジチェック処理の流れを示すフローチャートである。図23に示すように、ステップS181にて、書込制御手段は、ライタ7−Nが、クライアント端末5−Nに接続されているかどうかをチェックする。ライタ7−Nが、クライアント端末5−Nに接続されていない場合は、処理が図24のステップS191に進められ、接続されている場合は、処理がステップS183に進められる(ステップS182)。ステップS183にて、書込制御手段は、メモリカートリッジ13が、ライタ7−Nに装着されているかどうかをチェックする。メモリカートリッジ13が、ライタ7−Nに装着されていない場合は、処理が図27のステップS211に進められ、装着されている場合は、処理が図17のステップS43に進められる(ステップS184)。
図24は、図23のステップS182にてライタ7−Nがユーザ端末5−Nに接続されていないと判断された場合の処理の流れを示すフローチャートである。図24に示すように、ステップS191にて、書込制御手段は、ディスプレイ装置25に、ライタ7−Nの接続を要求する表示を行う。ステップS192にて、書込制御手段は、曲選択専用のWEBページ(書き込みボタンなし)のURLを、WEBサーバ1に送信する。ステップS201にて、WEBサーバ1は、曲選択専用のWEBページデータを、ユーザ端末5−Nに送信する。
ステップS193にて、ブラウザは、WEBサーバ1が送信したWEBページデータを解析して、曲選択専用のWEBページ(書き込みボタンなし)をディスプレイ装置25に表示する。ステップS194にて、書込制御手段は、ライタ7−Nが、ユーザ端末5−Nに接続されているかどうかをチェックする。チェックの結果、ライタ7−Nが、ユーザ端末5−Nに接続されている場合は、処理が図27のステップS211に進められ、接続されていない場合は、処理がステップS196に進められる(ステップS195)。
ステップS196にて、入力装置27を介したユーザの入力情報がチェックされる。ステップS196のチェックの結果、画面上の曲選択ボタンが、入力装置27を介してユーザにより押下されていれば、処理が図25のステップS231に進められ(ステップS197)、画面上の終了ボタンが、入力装置27を介してユーザにより押下されていれば、プロセッサ53は、書き込みプログラム及びブラウザプログラムを終了し(ステップS198)、画面上のリンクボタンが、入力装置27を介してユーザにより押下されていれば、処理が図26のステップS251に進められる(ステップS199)。
一方、ステップS196のチェックの結果、曲選択ボタンが押下されておらず、かつ、終了ボタンが押下されておらず、かつ、リンクボタンが押下されていない場合は、処理がステップS194に進む(ステップS197、ステップS198、ステップS199)。
図25は、図24のステップS197にて曲選択ボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図25に示すように、ステップS231にて、ブラウザは、選択された曲を示す曲コードを、WEBサーバ1に送信する。ステップS241にて、WEBサーバ1は、ブラウザが送信した曲コード、及び、その曲コードに対応する曲名の情報、をユーザ端末5−Nに送信する。ステップS242にて、WEBサーバ1は、前回の画面データ(ユーザが曲選択ボタンを押下する直前の画面データ)を、ユーザ端末5−Nに送信する。ステップS232にて、書込制御手段は、ディスプレイ装置25に、ユーザが選択した曲名を表示する。また、ブラウザは、前回の画面を表示する。ステップS232の処理の後、処理は、図24のステップS194に進められる。
図26は、図24のステップS199にてリンクボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図26に示すように、ステップS251にて、ブラウザは、押下されたリンクボタンに対応した新たなURLを、WEBサーバ1へ送信する。ステップS261にて、WEBサーバ1は、受信した新たなURLが示す新たなWEBページデータ(書き込みボタンなし)を、ユーザ端末5−Nに送信する。ステップS252にて、ブラウザは、ディスプレイ装置25に、その新たなWEBページ(書き込みボタンなし)を表示する。そして、処理が図24のステップS194に進められる。
図27は、図23のステップS184にてメモリカートリッジ13がライタ7−Nに装着されていないと判断された場合の処理の流れを示すフローチャートである。図27に示すように、ステップS211にて、書込制御手段は、ライタ7−Nが、ユーザ端末5−Nに接続されているかどうかをチェックする。ライタ7−Nが、ユーザ端末5−Nに接続されていない場合は、図24のステップS191に処理が進められ、接続されている場合は、処理がステップS213に進められる(ステップS212)。
ステップS213にて、書込制御手段は、ライタ7−Nにカートリッジ13が装着されているかどうかをチェックする。カートリッジ13が、ライタ7−Nに装着されている場合は、図28のステップS281に処理が進められ、装着されていない場合は、処理がステップS215に進められる(ステップS214)。ステップS215にて、書込制御手段は、ディスプレイ装置25に、メモリートリッジ13の装着を要求する表示を行う。ステップS216にて、書込制御手段は、曲選択専用のWEBページ(書き込みボタンなし)のURLを、WEBサーバ1に送信する。
ステップS271にて、WEBサーバ1は、曲選択専用のWEBページデータを、ユーザ端末5−Nに送信する。
ステップS217にて、ブラウザは、WEBサーバ1が送信したWEBページデータを解析して、曲選択専用のWEBページ(書き込みボタンなし)をディスプレイ装置25に表示する。ステップS218にて、書込制御手段は、ライタ7−Nが、ユーザ端末5−Nに接続されているかどうかをチェックする。チェックの結果、ライタ7−Nが、ユーザ端末5−Nに接続されている場合は、処理がステップS220に進められ、接続されていない場合は、処理が図24ステップS191に進められる(ステップS219)。
ステップS220にて、書込制御手段は、ライタ7−Nにカートリッジ13が装着されているかどうかをチェックする。カートリッジ13が、ライタ7−Nに装着されている場合は、図28のステップS281に処理が進められ、装着されていない場合は、処理がステップS222に進められる(ステップS221)。
ステップS222にて、入力装置27を介したユーザの入力情報がチェックされる。ステップS222のチェックの結果、画面上の曲選択ボタンが、入力装置27を介してユーザにより押下されていれば、処理が図29のステップS301に進められ(ステップS223)、画面上の終了ボタンが、入力装置27を介してユーザにより押下されていれば、プロセッサ53は、書き込みプログラム及びブラウザプログラムを終了し(ステップS224)、画面上のリンクボタンが、入力装置27を介してユーザにより押下されていれば、処理が図30のステップS321に進められる(ステップS225)。
一方、ステップS222のチェックの結果、曲選択ボタンが押下されておらず、かつ、終了ボタンが押下されておらず、かつ、リンクボタンが押下されていない場合は、処理がステップS218に進む(ステップS223、ステップS224、ステップS225)。
図28は、図27のステップS221にてメモリカートリッジ13が装着されていると判断された場合の処理の流れを示すフローチャートである。図28に示すように、ステップS281にて、書込制御手段は、メモリカートリッジ13のOTPROM17にアクセスして、書き込み済みの曲数の情報及び書き込み済みの曲名の情報を取得する。ステップS282にて、書込制御手段は、ディスプレイ装置25に、書き込み済み曲数、書き込み済み曲名、及び、書き込み可能な曲数、を表示する。ステップS283にて、書込制御手段は、メモリカートリッジ13の識別情報(ID)及びライタ7−Nの識別情報(ID)をWEBサーバ1へ送信する。
ステップS291にて、WEBサーバ1は、書込制御手段が送信したメモリカートリッジ13の識別情報(ID)及びライタ7−Nの識別情報(ID)を記録する。
ステップS284にて、書込制御手段は、カラオケデータをダウンロードするためのWEBページ(書き込みボタンあり)のURLを、WEBサーバ1に送信する。
ステップS292にて、WEBサーバ1は、WEBページデータを、ユーザ端末5−Nに送信する。
ステップS285にて、ブラウザは、WEBサーバ1から受信したWEBページデータを解析して、WEBページ(書き込みボタンあり)を表示する。その後、処理が、図17のステップS49に進められる。
図29は、図27のステップS223にて曲選択ボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図29に示すように、ステップS301にて、ブラウザは、選択された曲を示す曲コードを、WEBサーバ1に送信する。ステップS311にて、WEBサーバ1は、ブラウザが送信した曲コード、及び、その曲コードに対応する曲名の情報、をユーザ端末5−Nに送信する。ステップS312にて、WEBサーバ1は、前回の画面データ(ユーザが曲選択ボタンを押下する直前の画面データ)を、ユーザ端末5−Nに送信する。ステップS302にて、書込制御手段は、ディスプレイ装置25に、ユーザが選択した曲名を表示する。また、ブラウザは、前回の画面を表示する。ステップS302の後、処理は、図27のステップS218に進められる。
図30は、図27のステップS225にてリンクボタンが押下されたと判断された場合の処理の流れを示すフローチャートである。図30に示すように、ステップS321にて、ブラウザは、押下されたリンクボタンに対応した新たなURLを、WEBサーバ1へ送信する。ステップS331にて、WEBサーバ1は、受信した新たなURLが示す新たなWEBページデータ(書き込みボタンなし)を、ユーザ端末5−Nに送信する。ステップS322にて、ブラウザは、ディスプレイ装置25に、その新たなWEBページ(書き込みボタンなし)を表示する。そして、処理が図27のステップS218に進められる。
さて、図1の書込業者端末9−Mによるカラオケデータのダウンロード及び書き込み処理の流れは、図17〜図30に示したユーザ端末5−Nによるカラオケデータのダウンロード及び書き込み処理の流れと同様である。ただし、書込業者端末9−Mでは、OTPROM17にカラオケデータを書き込むのは、別個に設けられたライタではなく、プロセッサ94であるため、ライタが書込業者端末9−Mに接続されているかどうかのチェックは行われない。また、図17〜図30では、WEBサーバ1とユーザ端末5−Nとの間で通信が行われたが、書込業者端末9−Mによるカラオケデータのダウンロード及び書き込み処理では、WEBサーバ1と書込業者端末9−Mとの間で通信が行われる。
図31は、図1の書込業者端末9−Mによるカラオケデータのダウンロード及び書き込み処理の流れを示すフローチャートである。図31に示すように、ステップS541にて、書込業者端末9−Mのプロセッサ94が、補助記憶装置99に格納された書き込みプログラムを起動する。プロセッサ94が、書き込みプログラムを実行することにより、書込制御手段が構築される。そして、書込制御手段は、補助記憶装置99に格納されたブラウザプログラムを起動する。プロセッサ94が、ブラウザプログラムを実行することにより、ブラウザが構築される。つまり、書込業者端末9−Mが、ブラウザおよび書込制御手段として機能する。なお、マルチタスクにより、書込制御手段及びブラウザは、独立して(並列に)動作することができる。
ステップS542にて、書込制御手段は、図3のコネクタ35に、メモリカートリッジ13が装着されているかどうかをチェックする。そして、書込制御手段は、メモリカートリッジ13がコネクタ53に装着されている場合、処理をステップS543に進める。ステップS543にて、書込制御手段は、メモリカートリッジ13のOTPROM17にアクセスして、書き込み済みの曲数の情報及び書き込み済みの曲名の情報を取得する。ステップS544にて、書込制御手段は、ディスプレイ装置31に、書き込み済み曲数、書き込み済み曲名、及び、書き込み可能な曲数、を表示する。ステップS545にて、書込制御手段は、メモリカートリッジ13の識別情報(ID)をWEBサーバ1へ送信する。
ステップS561にて、WEBサーバ1は、書込制御手段が送信したメモリカートリッジ13の識別情報(ID)を記録する。
ステップS546にて、書込制御手段は、カラオケデータをダウンロードするためのWEBページ(書き込みボタンあり)のURLを、WEBサーバ1に送信する。
ステップS562にて、WEBサーバ1は、WEBページデータを、書込業者端末9−Mに送信する。
ステップS547にて、書込制御手段は、送信したURL(ステップS546)を、メモリ91に格納する。ステップS548にて、ブラウザは、WEBサーバ1から受信したWEBページデータを解析して、WEBページ(書き込みボタンあり)を表示する。
ステップS549にて、書込制御手段は、コネクタ35に、メモリカートリッジ13が装着されているかどうかをチェックする。そして、書込制御手段は、メモリカートリッジ13がコネクタ35に装着されている場合に、処理をステップS550に進める。なお、ステップS549の処理は、ステップS542の処理と同様である。
ステップS550にて、入力装置33を介したユーザの入力情報がチェックされる。ステップS550のチェックの結果、画面上の曲選択ボタンが、入力装置33を介してユーザにより押下されていれば、処理が図18のステップS71に進み(ステップS551)、画面上の書き込みボタンが、入力装置33を介して、ユーザにより押下されていれば、処理が図19のステップS91に進み(ステップS552)、画面上の終了ボタンが、入力装置33を介してユーザにより押下されていれば、プロセッサ94は、書き込みプログラム及びブラウザプログラムを終了し(ステップS553)、画面上のリンクボタンが、入力装置33を介してユーザにより押下されていれば、処理が図22のステップS121に進む(ステップS554)。
一方、ステップS550のチェックの結果、曲選択ボタンが押下されておらず、かつ、書き込みボタン押下されておらず、かつ、終了ボタンが押下されておらず、かつ、リンクボタンが押下されていない場合は、処理がステップS549に進む(ステップS551、ステップS552、ステップS553、ステップS554)。
図32は、図31のステップS542のカートリッジチェック処理の流れを示すフローチャートである。図32に示すように、ステップS551にて、書込制御手段は、コネクタ35にカートリッジ13が装着されているかどうかをチェックする。カートリッジ13が、コネクタ35に装着されている場合は、図31のステップS543に処理が進められ、装着されていない場合は、処理がステップS553に進められる(ステップS552)。ステップS553にて、書込制御手段は、ディスプレイ装置31に、メモリートリッジ13の装着を要求する表示を行う。ステップS554にて、書込制御手段は、曲選択専用のWEBページ(書き込みボタンなし)のURLを、WEBサーバ1に送信する。
ステップS581にて、WEBサーバ1は、曲選択専用のWEBページデータを、書込業者端末9−Mに送信する。
ステップS555にて、ブラウザは、WEBサーバ1が送信したWEBページデータを解析して、曲選択専用のWEBページ(書き込みボタンなし)をディスプレイ装置31に表示する。ステップS556にて、書込制御手段は、コネクタ35にカートリッジ13が装着されているかどうかをチェックする。カートリッジ13が、コネクタ35に装着されている場合は、図28のステップS281に処理が進められ、装着されていない場合は、処理がステップS558に進められる(ステップS557)。ただし、この場合の図28のステップS283では、ライタの識別情報(ID)は送信されない。なぜなら、書込業者端末9−Mでは、別個に設けられたライタを利用しないからである。
ステップS558にて、入力装置33を介したユーザの入力情報がチェックされる。ステップS558のチェックの結果、画面上の曲選択ボタンが、入力装置33を介してユーザにより押下されていれば、処理が図29のステップS301に進められ(ステップS559)、画面上の終了ボタンが、入力装置33を介してユーザにより押下されていれば、プロセッサ94は、書き込みプログラム及びブラウザプログラムを終了し(ステップS560)、画面上のリンクボタンが、入力装置33を介してユーザにより押下されていれば、処理が図30のステップS321に進められる(ステップS561)。
一方、ステップS558のチェックの結果、曲選択ボタンが押下されておらず、かつ、終了ボタンが押下されておらず、かつ、リンクボタンが押下されていない場合は、処理がステップS556に進む(ステップS559、ステップS560、ステップS561)。
図33は、カラオケデータが書き込まれたメモリカートリッジ13を装着する、マイク一体型カラオケ装置(家庭用カラオケ装置)、つまり、ハンディーマイクユニットを装備したカラオケシステムの一例を示す外観図である。図33(a)に示すように、マイク一体型カラオケ装置150は、上部が卵形で下部が円筒形の筐体(本体)161を含み、この筐体161の卵形部上端にマイク151が取り付けられている。筐体161の上部すなわち卵形部には、電源スイッチ155およびリセットスイッチ154が設けられる。電源スイッチ155は電源をオン/オフするためのスイッチであり、リセットスイッチ154は、選択した曲番号を含むすべてをリセットするためのものである。
さらに、筐体161の卵形部には、2桁の7セグメントLEDからなるディスプレイ152が設けられるとともに、そのディスプレイ152を挟む左側にテンポ制御キー165および164が縦に整列して設けられ、右側にBGMボリューム制御キー153および156が縦に整列して設けられる。ディスプレイ152は、ユーザが選択した曲番号を表示するために利用される。テンポ制御キー165および164は、カラオケすなわちBGMの再生速度を速くしまたは遅くするためのキーである。BGMボリューム制御キー153および156は、カラオケすなわちBGMの再生音量(ボリューム)を大きくしまたは小さくするためのキーである。
筐体161の卵形部の中央やや下部には曲選択/ピッチ制御キー158および159が設けられる。この曲選択/ピッチ制御キー158および159は、曲番号をインクリメントしまたはデイクリメントするために利用されるとともに、ユーザの音程に合わせてカラオケのピッチ周波数すなわち音程を上下させるために利用される。
曲選択/ピッチ制御キー158および159の左側でかつテンポ制御キー165および164の下方の筐体161の卵形部には、エコーモード選択キー162が設けられる。このエコーモード選択キー162は、エコーモードにおいてエコー時間(遅延時間)を選択的に設定するために利用される。この実施の形態では、エコーモード1,エコーモード2およびエコーモード3を設定でき、それぞれ、エコー時間が「小」,「中」および「大」として設定される。
曲選択/ピッチ制御キー158および159の右側でかつBGMボリューム制御キー153および156の下方の筐体161の卵形部には、ボイスエフェクトモード選択キー157が設けられる。このボイスエフェクトモード選択キー157は、この実施の形態では、ボイスエフェクトモード1,ボイスエフェクトモード2およびボイスエフェクトモード3を設定できる。ボイスエフェクトモード1は、入力音声の周波数に対し出力音声の周波数が高くなるように音声を加工するモードであり、ボイスエフェクトモード2は、入力音声の周波数に対して出力音声の周波数が低くなるように音声を加工するモードである。さらに、ボイスエフェクトモード3は、上下に連続的にかつ繰り返し出力音声の周波数が変化(スイープ)するように音声を加工するモードである。
ディスプレイ152と曲選択/ピッチ制御キー158および159との間には、キャンセルキー163が設けられる。このキャンセルキー163は、テンポ制御キー165および164で設定したテンポ,ボリューム制御キー153および156で設定したBGMボリューム,曲選択/ピッチ制御キー158および159で設定した曲番号およびピッチ,エコーモード選択キー162で設定したエコーモード,またはボイスエフェクトモード選択キー157で設定したボイスエフェクトモードをキャンセルするためのキーである。このキャンセルキー163は、演奏中の曲を中断するためにも用いられる。
曲選択/ピッチ制御キー158および159の下方には、決定キー160が設けられる。この決定キー160は、テンポ制御キー165および164で設定したテンポ,ボリューム制御キー153および156で設定したBGMボリューム,曲選択/ピッチ制御キー158および159で設定した曲番号およびピッチ,またはボイスエフェクトモード選択キー157で設定したボイスエフェクトモードを決定し有効化するためのキーである。
筐体161の下部すなわち円筒部下端からAVコード167が出され、そのAVコード167には2つの音声出力端子169Lおよび169Rと、1つの画像出力端子168とが含まれる。音声出力端子169Lおよび169Rならびに画像出力端子168は、テレビジョンモニタ(図示せず)のAV端子に接続される。したがって、このマイク一体型カラオケ装置150の画像および音声は、テレビジョンモニタに出力される。
筐体161の裏面には、図33(b)で示すように、カートリッジコネクタ170が設けられ、このカートリッジコネクタ170にはメモリカートリッジ13(図2参照)が着脱自在に装着される。なお、このマイク一体型カラオケ装置150は電池駆動のもの171であり、そのために、図33(b)に示すように、筐体161の下部円筒部に電池ボックスが設置されている。
図34は、図33のマイク一体型カラオケ装置150の電気的構成を示す図である。図34に示すように、マイク一体型カラオケ装置150は、筐体161の内部に収納されたプロセッサ184を含む。プロセッサ184は、図示しないが、CPU,グラフィックプロセッサ,サウンドプロセッサおよびDMAプロセッサ等の各種プロセッサを含むとともに、アナログ信号を取り込むときに用いられるA/D変換器やキー操作信号や赤外線信号のような入力信号を受けかつ出力信号を外部機器に与える入出力制御回路を含む。
CPUは、入力信号に応じて必要な演算を実行し、その結果を他のグラフィックプロセッサやサウンドプロセッサ等に与える。したがって、グラフィックプロセッサやサウンドプロセッサはその演算結果に応じた画像処理や音声処理を実行する。
このプロセッサ184にはシステムバス185が接続されていて、このシステムバス185には、プロセッサ184とともに筐体161の内部に収納されている基板(図示せず)に設けられている内蔵ROM186およびメモリカートリッジ13に含まれるOTPROM17が結合される。したがって、プロセッサ184は、システムバス185を通してROM186およびOTPROM17にアクセスでき、そこから画像データや音楽データ(楽譜データ)などを取り出すことができる。
なお、図34に示すように、マイク151からの音声信号は、アンプ181を通してプロセッサ184のアナログ入力に与えられる。プロセッサ184のサウンドプロセッサ部で処理された結果であるアナログ音声信号は、ミキサ183およびアンプ182を介して、図33に示す音声出力端子169(169L,169R)に出力される。また、プロセサ184のグラフィックプロセッサ(図示せず)で処理された結果であるアナログ画像信号は、図33に示す画像出力端子168に出力される。また、図33(a)に示すディスプレイ152には、プロセッサ184の出力ポートから表示データが与えられるとともに、図33に示す全てのスイッチまたはキー(ここでは参照番号180で包括的に示す)はプロセッサ184の入力ポートに接続される。
ここで、マイク一体型カラオケ装置150を、図1のライタ7−Nとして用いることもできる。この場合、クライアント端末5−Nとマイク一体型カラオケ装置150とを、ケーブル15により接続する。この場合、プロセッサ184が、図6のMPU70の役割を担うことになる。この点を簡単に説明する。
クライアント端末5−Nがケーブル15を介して送信したカラオケデータは、マイク一体型カラオケ装置150の通信制御部188に与えられる。通信制御部188は、必要な処理を行って、与えられたカラオケデータを、プロセッサ184の入力ポートに入力する。プロセッサ184は、入力ポートに与えられたカラオケデータを、バス185に接続されたOTPROM17のブランクエリアaKに書き込む。
一方、プロセッサ184は、バス185に接続されたOTPROM17に書き込まれたカラオケデータを読み出して、出力ポートから、通信制御手段188に与える。通信制御手段188は、ケーブル15を介して、与えられたカラオケデータを、クライアント端末5−Nに送信する。
なお、通信制御部188は、クライアント端末5−Nとマイク一体型カラオケ装置150との間の通信を制御する。ケーブル15として、USBケーブルを使用する場合は、通信制御部188は、USBコントローラである。
図35は、図34のROM186に格納されるプログラム及びデータの概念図である。図35に示すように、内蔵ROM186には、警告メッセージ表示プログラム191,カラオケ画像データ192およびカラオケ音楽データ193が記憶される。警告メッセージ表示プログラム191は、メモリカートリッジ13が装着されていない状態で電源スイッチ155がオンされたときに起動され、これによって警告メッセージがテレビジョンモニタに表示される。カラオケ画像データ192およびカラオケ音楽データ193は、メモリカートリッジ13に記憶されたいずれの曲にも共通して用いられるデータである。カラオケ画像データ192は、アイコンデータ及びフォントデータを含み、カラオケ音楽データ193は、音源データを含む。
さて、メモリカートリッジ13がマイク一体型カラオケ装置150に装着された状態で電源スイッチ155がオンされると、OTPROM17に格納されたシステムプログラム(図5参照)が起動され、システム初期化,シーケンス制御,画像表示制御,A/D変換および音楽加工,音楽再生制御などの処理が行なわれる。また、OTPROM17に格納された、背景画像データ、曲名画像データ、歌詞データ、楽譜データ、及び、共通データ、のいずれも、システムプログラム(図5参照)の処理に用いられる。
ここで、メモリカートリッジ13は、例えば、ユーザが、マイク一体型カラオケ装置150の販売店、あるいは、書込業者端末9−Mの設置店、などで購入する。
さて、以上のように、本実施の形態では、カラオケデータの配信を受ける際にクレジットカード番号や銀行口座を送信する必要がないため、それらの情報の送信に対して不安を持っている人たちも安心して、カラオケデータの配信を受けることができる。また、カラオケデータの配信に際して課金をしないため、クレジットカードや銀行口座を持っていない者(例えば、未成年や子供)でも、カラオケデータの配信を受けることができる。以上により、より多くの人たちにデータを配信することができ、広い層のユーザを獲得できる。
また、プリペイド方式を採用していないため、当然メモリカートリッジ13にはプリペイド情報が書き込まれておらず、ユーザの不正を極力排除できる。
さらに、カラオケデータの配信に際して課金をしないため、WEBサーバ1における課金処理が不要になる。従って、WEBサーバ1の処理の負担を軽減できるとともに、セキュリティ対策も容易になる。
さらに、カラオケデータの配信に際して課金をしないため、ユーザは、クレジットカード番号や銀行口座を送信する必要がない。従って、これらの情報が第三者に漏洩して、不正使用されることを防止できる。
さらに、課金する場合と比較して、ユーザが入力する情報が少ないので、ユーザは、簡易な手続きで所望のカラオケデータをWEBサーバ1から取得できる。
さらに、カラオケデータの配信に際して課金をしないため、WEBサーバ1とクライアント端末(ユーザ端末5−N、書込業者端末9−M)との間の通信回数も少なくなり、複雑な通信処理が不要になって、簡易な通信手順により、カラオケデータの配信が可能となる。
さらに、書き込み手段(ライタ7−N、書込業者端末9−M)は、メモリカートリッジ13の格納領域のうち、データが書き込まれていない領域に、一度限りの書き込みを行う。つまり、メモリカートリッジ13に再書き込みすることは不可能である。従って、ユーザは、メモリカートリッジ13に空き領域がなくなった場合は、新たにメモリカートリッジ13を購入する必要がある。カラオケデータの配信には課金がなされないため、ユーザは、所望のカラオケデータの配信を、次々に受けると想定され、メモリカートリッジ13の購入量も増えると予想される。従って、メモリカートリッジ13の製造者又は販売者に対して、売上の向上をもたらすことができる。しかも、メモリカートリッジ13への書き込み可能曲数が「0」の場合には、カラオケデータがクライアント端末へ送信されないため、ユーザのメモリカートリッジ13の購入量も一層多くなり、メモリカートリッジ13の製造者又は販売者に対して、より一層の売上の向上をもたらすことができる。
さらに、メモリカートリッジ13には、所定のデータ(システムプログラム、共通データ、カートリッジID、及び、書込み可能曲数)が予め(例えば、工場での出荷時に既に)書き込まれているので、配信されたカラオケデータをメモリカートリッジ13に書き込むだけで、そのままメモリカートリッジ13を、マイク一体型カラオケ装置150に装着して、カラオケ演奏を行うことができる。
さらに、メモリカートリッジ13に、ブランクエリアaK単位で書き込みが行われるため(原則として、1つのブランクエリアaKに対して1曲)、配信されてメモリカートリッジ13に書き込まれたカラオケデータの管理が容易になって、書き込まれたカラオケデータを読み出す際の処理も容易になる。
さらに、クライアント端末は、メモリカートリッジ13への書き込みが正常であるときに、書込完了コードを、WEBサーバ1に送信する。このため、サービス提供者は、WEBサーバ1を通じて、配信したカラオケデータが正常に書き込まれたことを知ることができる。例えば、配信したデータが、著作権の対象となる楽曲データや映像データ等である場合は、それらのデータが正常に書き込まれたことがWEBサーバ1に通知されることで、サービス提供者は、著作権者に支払う著作権料の算出を適正に行うことができる。
さらに、メモリカートリッジ13へ正常に書き込みが行われた後は、クライアント端末から、当該カラオケデータが消去されるため、例えば、配信したカラオケデータが、著作権の対象となる楽曲データや映像データ等である場合に、著作権者に支払う著作権料の算出を適正に行うことができる。なお、カラオケデータがクライアント端末に残ったままでは、著作権の扱いが不明確なものとなってしまい、適正な著作権料の算出が困難である。
さらに、クライアント端末は、WEBサーバ1へ、メモリカートリッジ13の識別情報(ID)を送信するため、不正なメモリカートリッジが使用された場合に適切な処置をとることができる。
さらに、クライアント端末は、WEBサーバ1へ、ユーザ情報を送信するため、サービス提供者は、WEBサーバ1を通じて、ユーザの様々な情報を取得でき、それらをサービスの提供に反映させることが可能となる。
さらに、クライアント端末は、メモリカートリッジ13に既に記録している楽曲の情報を表示し、かつ、メモリカートリッジ13に書き込み可能な楽曲の数情報を表示する。このため、同じ楽曲をメモリカートリッジ13に書き込んだために、書込み可能な領域が少なくなるというような、ユーザにとっての不都合を極力回避できる。また、ユーザは、メモリカートリッジ13に書き込み可能な残りの楽曲の数を知ることができるため、配信を受ける楽曲の選択に際して、利便性の向上を図ることができる。
さらに、ユーザ端末5−Nとライタ7−Nとが、別個に設けられ、ユーザ端末5−Nとライタ7−Nとは、ケーブル15により接続される。このため、ユーザ端末5−Nが、汎用的に用いられるものである場合は、ユーザ端末5−Nを所有しているユーザは、ユーザ端末5−N及びライタ7−Nの双方を購入しなくても、ライタ7−Nだけを購入すれば、WEBサーバ1からカラオケデータの配信を受けることができる。また、ユーザ端末5−Nが、汎用的に用いられるものである場合は、ユーザ端末5−Nを所有していないユーザであっても、ライタ7−Nを購入すれば、第三者の端末5−Nを利用して、カラオケデータの配信を受けることができる。
さらに、ユーザ端末5−Nは、ライタ7−Nがユーザ端末5−Nに接続されていない場合に、接続要求表示を行い、かつ、メモリカートリッジ13がライタ7−Nに装着されていない場合に、装着要求表示を行う。このようにして、ユーザに注意を促すことができ、カラオケデータの配信を円滑に実行できる。
さらに、書込業者端末9−Mでは、プロセッサ94がライタ7−Nの機能を担うので、つまり、書込業者端末9−Mとライタとが一体として構成されるので、ライタの接続作業が不要となって、ユーザによる利便性の向上を図ることができる。また、ライタの紛失や盗難を防止できる。
さらに、書込業者端末9−Mは、メモリカートリッジ13がコネクタ35に装着されていない場合に、装着要求表示を行う。このため、ユーザに注意を促すことができ、カラオケデータの配信を円滑に実行できる。
さらに、マイク一体型カラオケ装置150自体をライタとして利用できる。このため、マイク一体型カラオケ装置150がメモリカートリッジ13に書き込んだカラオケデータを、マイク一体型カラオケ装置150により読み出して、カラオケを行うことができる。このように、ユーザにとって、カラオケデータの書き込みとカラオケデータの利用とを同じ装置で行うことができるため、ユーザにとっての利便性の向上を図ることができる。
さらに、ユーザは、簡易かつ安全に、しかも、様々な種類の楽曲の中から自分の好きな楽曲を選択して、カラオケデータの配信を受けることができる。つまり、ユーザは、好きな楽曲だけを希望することが多いが、このようなユーザの欲求を満たすことができる。なお、メモリカートリッジ13に予め複数の楽曲が格納されている場合、格納されている全ての楽曲が、ユーザの好みであるとは限らない。この場合、そのメモリカートリッジ13を購入したユーザの満足度は、必ずしも高いとは言えない。
さらに、WEBサーバ1は、メモリカートリッジ13のブランクエリアaK単位でカラオケデータを配信する(原則として、1つのブランクエリアaKに対して1曲)。従って、メモリカートリッジ13には、ブランクエリアaK単位で書き込みが行われるため、配信されてメモリカートリッジ13に書き込まれたカラオケデータの管理が容易になって、書き込まれたカラオケデータを読み出す際の処理も容易になる。
(実施の形態2)
本発明の実施の形態2によるカラオケデータ配信システムの全体構成は、図1と同様である。また、実施の形態2によるユーザ端末5−N及びライタ7−N並びに書込業者端末9−Mは、それぞれ、図6のユーザ端末5−N及びライタ7−N並びに図7の書込業者端末9−Mと同様である。また、実施の形態2でも、実施の形態1と同様に、図33〜図35のマイク一体型カラオケ装置により、メモリカートリッジ13にカラオケデータを書き込むこともできる。実施の形態2において、カラオケデータをダウンロードしてメモリカートリッジ13に書き込むための書込プログラムのダウンロード処理およびセットアップ処理は、それぞれ、図12および図13の処理と同様である。また、実施の形態2における通信手順の概要は、図8の通信手順と同様である。
図36は、実施の形態2による未使用時の図2のOTPROM17の記憶領域を説明するための図解図である。図36に示すように、未使用時では、OTPROM17には、ブランクエリアa1〜ak(kは自然数)及び既書込みエリアawが存在する。ここで、ブランクエリアa1〜akを包括して表現するときは、ブランクエリアaK、と表記する。
ブランクエリアaKは、ユーザによるOTPROM17の購入時(工場からの出荷時)には、何もデータが書き込まれていない領域である。原則として、1つのブランクエリアaKに、1曲分のカラオケデータが書き込まれる。ただし、所定数のブランクエリアaKに、1曲分のカラオケデータを書き込むこともできる。このように、ブランクエリアaK単位で、カラオケデータが書き込まれる。
また、OTPROM17であるため、未格納状態のブランクエリアaKにのみ、カラオケデータを書き込むことができる。つまり、一旦、あるブランクエリアaKに、カラオケデータが書き込まれた後は、そのブランクエリアaKへの再度の書込みはできない。さらに、言い換えると、一度限りの書き込みが可能である。
既書き込みエリアawには、ユーザによるOTPROM17の購入時(出荷時)に既に、システムプログラム、共通データ、当該メモリカートリッジ13の識別情報(ID)、書き込み可能曲数の情報、状態テーブル、カートリッジ容量、及びカートリッジ名、が書き込まれている。システムプログラム、共通データ、メモリカートリッジ13のID、及び書き込み可能曲数の情報は、図4と同様である。カートリッジ名は、メモリカートリッジ13の種別を判断するために付けられる。メモリカートリッジ13には、カラオケ用のものもあれば、ゲーム用のものもあり、その他の用途のものも存在しうる。これらを区別するために、メモリカートリッジ13には、カートリッジ名が格納される。本実施の形態では、メモリカートリッジ13はカラオケ用のものであり、カートリッジ名を例えば「MK」とする。
状態テーブルは、複数の状態フラグを含み、この状態フラグは、ブランクエリアaKごとに設けられる。この状態フラグは、対応するブランクエリアaKの書き込み状態を示す。書き込み状態としては、「未使用(空)」、「書き込み途中」、「書き込み正常」、及び、「書き込み不正常」の4つの状態がある。
図37は、図36の状態テーブルの例示図である。図37に示すように、ブランクエリアaKごとに、例えば8ビットの状態フラグが設けられる。そして、「未使用」を「11111111」で表し、「書き込み途中」を「11111110」で表し、「書き込み正常」を「11111100」で表し、「書き込み不正常」を「00000000」で表す。図37の例では、ブランクエリアa1の書き込み状態は、「書き込み正常」であり、ブランクエリアa2の書き込み状態は、「書き込み途中」であり、ブランクエリアa3〜aKの書き込み状態は、「未使用」である。
図38は、実施の形態2による図2のOTPROM17の書き込み後の状態を説明するための図解図である。図38では、ブランクエリアa1に、カラオケデータ及びインデックス情報が書き込まれている例を示している。このカラオケデータには、背景画像データ、曲名画像データ、歌詞データ、及び、楽譜データ、が含まれる。インデックス情報は、ブランクエリアa1に書き込まれた背景画像データ、曲名画像データ、歌詞データ、及び、楽譜データ、の格納位置情報などである。このように、ブランクエリアaKには、カラオケデータと、カラオケデータに対するインデックス情報と、が書き込まれる。なお、本実施の形態では、ブランクエリアなる名称を用いているが、カラオケデータが書き込まれた後は、もちろんブランクではない。
さて、次に、ユーザ端末5−Nによる処理の概要を説明する。
図39は、本発明の実施の形態2におけるユーザ端末5−Nによる処理の概要を示すフローチャートである。図39に示すように、ステップS600にて、ユーザ端末5−Nは、ライタ7−Nの識別情報(ID)が正しいか否かをチェックして、正しい場合はステップS604に進み、正しくない場合はステップS601に進む。ステップS601にて、ユーザ端末5−Nは、ライタ7−NのIDの入力回数を判断して、入力回数が5回であれば、ステップS603に進み、入力終了表示をして、処理を終了する。一方、ユーザ端末5−Nは、入力回数IDの入力回数が、5回未満ならば、ステップS602に進み、ライタ5−NのIDの入力画面をディスプレイ装置25に表示して、ステップS600に進む。
図40は、実施の形態2によるライタ5−NのIDの入力画面の例示図である。図40に示すように、ディスプレイ装置25には、カーソル301、ID入力画面309及びゲージ部310が表示される。ID入力画面309は、IDが入力されるID入力部308a〜308d、IDの入力終了後に押下するOKボタン300、及び、IDの入力をキャンセルするときに押下するキャンセルボタン302を含む。ゲージ部310は、処理の進行状況を示すゲージ304及び終了ボタン306を含む。
ユーザは、マウス27aを操作して、カーソル301をID入力部308a〜308dに持っていく。そして、マウス27aをクリックして、入力位置を決定し、キーボード27bにより、ライタ5−NのIDを入力していく。IDの入力終了後、ユーザは、マウス27aを操作して、OKボタン300にカーソル301を移動させ、マウス27aをクリックして、入力を確定する。一方、入力をキャンセルするときは、カーソル309をキャンセルボタン302に移動させ、マウス27aをクリックする。ID入力画面309及びゲージ部310を閉じるときは、カーソル309を終了ボタン306に移動させ、マウス27aをクリックする。
図39に戻って、ステップS604にて、ユーザ端末5−Nは、ライタ7−NのIDを補助記憶装置55に記録する。ステップS605にて、ユーザ端末5−Nは、ディスプレイ装置25に、メモリカートリッジ13のチェック中画面を表示する。ステップS606にて、ユーザ端末5−Nは、メモリカートリッジ13が正常か否かをチェックして、不正常であれば、ステップS607に進み、ディスプレイ装置25にエラーメッセージを表示して処理を終了する。一方、正常であれば、ユーザ端末5−Nは、ステップS608進み、メモリカートリッジ13の格納情報をディスプレイ装置25に表示する。
図41は、実施の形態2によるメモリカートリッジ13のチェック中画面の例示図である。図41に示すように、ディスプレイ装置25には、カーソル301、カートリッジ格納情報表示部312、メモリカートリッジ13のチェック中画面311及びゲージ部310が表示される。
チェック中画面311には、メモリカートリッジ13のチェック中であることをユーザに知らせるべく、その旨の表記がされる。ゲージ304には、メモリカートリッジ13のチェックの進行状況が示される。カートリッジ格納情報表示部312には、メモリカートリッジ13のチェックが終了した後、メモリカートリッジ13のタイプ(例えば、28曲が書き込み可能なタイプ、12曲が書き込み可能なタイプ等)、メモリカートリッジ13への現在の書き込み済みの曲数、メモリカートリッジ13への現在の書き込み可能曲数、及び、後述のカートリッジ情報テーブル314が表示される(ステップS608)。
図39に戻って、ステップS609にて、ユーザ端末5−Nは、カラオケデータをダウンロードするためのWEBページをディスプレイ装置25に表示する。
図42は、実施の形態2によるカラオケデータをダウンロードするためのWEBページの例示図である。図42に示すように、ユーザ端末5−Nは、ディスプレイ装置25に、カーソル301、カラオケホームページ330、カートリッジ格納情報表示部312、及び、ゲージ部310を表示する。カラオケWEBページ330は、ランキングボタン316、新曲ボタン318、リリース予定ボタン320、お知らせボタン322、ヘルプボタン324、及び、曲検索ボタン328を含む。
ユーザが、マウス27aを操作して、曲検索ボタン328にカーソル301を移動させ、マウス27aをクリックすると、様々なカテゴリから楽曲を検索できる検索トップページ332(後述)が表示される。同様の操作により、ユーザがランキングボタン316を押下すると、楽曲のランキングを記載したWEBページ(図示せず)が表示される。また、同様の操作により、ユーザが新曲ボタン318を押下すると、新曲を記載したWEBページ(図示せず)が表示される。同様の操作により、ユーザがリリース予定ボタン320を押下すると、リリース予定を記載したWEBページ(図示せず)が表示される。同様の操作により、ユーザがお知らせボタン322を押下すると、ユーザへの様々な情報を記載したWEBページ(図示せず)が表示される。同様の操作により、ユーザがヘルプボタン324を押下すると、ユーザの操作を援助するための記載がなされたWEBページ(図示せず)が表示される。
なお、図42の例では、カートリッジ格納情報表示部312には、装着されたメモリカートリッジ13のタイプが、12曲のカラオケデータの書き込みが可能なタイプである旨の表示、装着されたメモリカートリッジ13には、現在の書き込み済みの楽曲が1曲ある旨の表示、現在の書き込み可能な楽曲の数が11曲ある旨の表示、及び、カートリッジ情報テーブル314が表示されている。カートリッジ情報テーブル314には、現在の書き込み済みの曲名の一覧からなる。
図43は、実施の形態2による検索トップページ332の例示図である。図43に示すように、ディスプレイ装置25には、カーソル301、検索トップページ332、カートリッジ格納情報表示部312、及びゲージ部310が表示される。検索トップページ332は、曲名ボタン334、アーティスト名ボタン336、キーワードボタン338、ナンバーボタン340、及び、ジャンル・年代ボタン342を含む。
ユーザが、マウス27aを操作して、曲名ボタン334にカーソル301を移動させ、マウス27aをクリックすると、曲名から楽曲を検索できる曲名検索ページ344(後述)が表示される。同様の操作により、ユーザがアーティスト名ボタン336を押下すると、アーティスト名から楽曲を検索できるアーティスト名検索ページ355(後述)が表示される。同様の操作により、ユーザがキーワードボタン338を押下すると、キーワードから楽曲を検索できるキーワード検索ページ(図示せず)が表示される。同様の操作により、ユーザがジャンル・年代ボタン342を押下すると、ジャンルや年代から楽曲を検索できるジャンル・年代検索ページ(図示せず)が表示される。同様の操作により、ユーザがナンバーボタン340を押下すると、楽曲に割り当てられた楽曲番号から楽曲を検索できるナンバー検索ページ(図示せず)が表示される。
図44は、実施の形態2による曲名検索ページ344の例示図である。図44に示すように、ディスプレイ装置25には、カーソル301、曲名検索ページ344、カートリッジ格納情報表示部312、及び、ゲージ部310が表示される。曲名検索ページ344は、ユーザにより曲名が入力される曲名入力欄348、文字の一覧からなる文字選択欄350、及び、曲名一覧テーブル346が表示される。
ユーザが、マウス27aを操作して、文字選択欄350の所望の文字にカーソル301を移動させ、マウス27aをクリックすると、曲名入力欄348に、当該文字が入力される。なお、キーボート27bにより、曲名入力欄348に文字を入力することもできる。曲名入力欄348に文字あるいは文字列が入力されると、その文字あるいは文字列を含む曲名が、曲名一覧テーブル346に表示される。曲名一覧テーブル346は、曲名、アーティスト名、及び、選択ボタン349を含む。
ユーザが、マウス27aを操作して、所望の楽曲に対応する選択ボタン349にカーソル301を移動させ、マウス27aをクリックすると、ダウンロードページ356(後述)が表示される。
図45は、実施の形態2によるダウンロードページ356の例示図である。図45に示すように、ディスプレイ装置25には、カーソル301、ダウンロードページ356、カートリッジ格納情報表示部312、及び、ゲージ部310が表示される。ダウンロードページ356は、選択曲情報表示部358、「はい」ボタン360、及び、「いいえ」ボタン362を含む。
ユーザが、マウス27aを操作して、「はい」ボタン360にカーソル301を移動させ、マウス27aをクリックすると、当該楽曲のカラオケデータが、ユーザ端末5−Nにダウンロードされ、そして、ライタ7−Nにより、メモリカートリッジ13に、ダウンロードしたカラオケデータが書き込まれる。なお、「はい」ボタン360の押下により、書き込み中画面313(後述)が表示される。一方、「いいえ」ボタン362が押下されると、前画面(この例では曲名検索ページ344)に戻る。
図46は、実施の形態2による書き込み中画面の例示図である。図46に示すように、ディスプレイ装置25には、カーソル301、書き込み中画面313、カートリッジ格納情報表示部312、及び、ゲージ部310が表示される。書き込み中画面313には、カラオケデータをメモリカートリッジ13に書き込んでいることをユーザに知らせるべく、その旨および注意事項が表示される。ゲージ304には、ダウンロード及び書き込みの進行状況が表示される。
図43に戻って、アーティスト名ボタン336が押下されると、アーティスト名検索ページ355(後述)が表示される。
図47は、実施の形態2によるアーティスト名検索ページ355の例示図である。図47に示すように、ディスプレイ装置25には、カーソル301、アーティスト名検索ページ355、カートリッジ格納情報表示部312、及び、ゲージ部310が表示される。アーティスト名検索ページ355は、アーティスト一覧テーブル352、アーティスト名入力欄354、及び、文字選択欄350を含む。
ユーザが、マウス27aを操作して、文字選択欄350の所望の文字にカーソル301を移動させ、マウス27aをクリックすると、アーティスト名入力欄354に、当該文字が入力される。なお、キーボート27bにより、アーティスト名入力欄354に文字を入力することもできる。アーティスト名入力欄354に文字あるいは文字列が入力されると、その文字あるいは文字列を含むアーティスト名が、アーティスト名一覧テーブル352に表示される。アーティスト名一覧テーブル352は、アーティスト名および曲一覧ボタン347を含む。
ユーザが、マウス27aを操作して、所望のアーティスト名に対応する曲一覧ボタン347にカーソル301を移動させ、マウス27aをクリックすると、そのアーティストの楽曲一覧ページが(図示せず)が表示される。この楽曲一覧ページには、各楽曲に対応して、選択ボタン(図示せず)が表示される。この選択ボタンは、図44の選択ボタン349と同様のものであり、押下されると、ダウンロードページ356が表示される。
図39に戻って、ステップS610にて、ユーザ端末5−Nは、ユーザからの入力情報をチェックする。選択ボタン349が押下されていれば、ステップS612に進み、それ以外では、ステップS613に進む(ステップS611)。ステップS612にて、ユーザ端末5−Nは、ディスプレイ装置25に、ダウンロードページ356を表示して、ステップS613に進む。そして、ダウンロードボタン、つまり、図45の「はい」ボタン360が押下されていれば、ステップS617に進み、それ以外であれば、ステップS614に進む(ステップS613)。そして、終了ボタン306が押下されていれば、処理を終了し、それ以外であれば、ステップS615に進む(ステップS614)。そして、リンクボタンが押下されていれば、ステップS616に進み、そうでなければ、ステップS610に進む(ステップS615)。ステップS616では、ユーザ端末5−Nは、押下されたリンクボタンに応じたWEBページを、ディスプレイ装置25に表示し、ステップS610に進む。
リンクボタンは、例えば、ランキングボタン316、新曲ボタン318、リリース予定ボタン320、お知らせボタン322、ヘルプボタン324、曲検索ボタン328、曲名ボタン334、アーティスト名ボタン336、キーワードボタン338、ジャンル・年代ボタン342、ナンバーボタン340、選択ボタン349、および、曲一覧ボタン347などである。
さて、ステップS617にて、ユーザ端末5−Nは、WEBサーバ1から、カラオケデータをダウンロードする。そして、ユーザ端末5−Nは、ライタ7−Nに対して、カラオケデータの書き込み指示を出す。すると、ライタ7−Nは、メモリカートリッジ13に、ユーザ端末5−Nから与えられたカラオケデータを書き込む。書き込み終了後に、処理は、ステップS610に進む。
次に、ユーザ端末5−Nによる処理の概要を説明する。
図48は、本発明の実施の形態2におけるユーザ端末5−Nによる処理の一部(主に、ライタ7−Nのチェック処理)を示すフローチャートである。図48に示すように、ステップS700にて、ユーザ端末5−Nのプロセッサ53が、書き込みプログラムを起動する。プロセッサ53が、書き込みプログラムを実行することにより、書込制御手段が構築される。つまり、ユーザ端末5−Nが、書込制御手段として機能する。
ステップS701にて、書込制御手段は、補助記憶装置55にアクセスして、ライタ7−NのIDが登録済みか否かをチェックし、登録されていればステップS702に進み、未登録であればステップ703に進む。ステップS702にて、書込制御手段は、登録されているライタ7−NのIDが、不正か否かをチェックし、不正であればステップS703に進み、不正でなければ(正しければ)ステップS708に進む。
ステップS703では、書込制御手段は、ディスプレイ装置25に、ライタ7−NのIDの入力画面309を表示する。ステップS704にて、書込制御手段は、入力されたIDをチェックする。ステップS705にて、書込制御手段は、IDが不正か否かをチェックして、不正でなければ(正しければ)ステップS708に進み、不正であれば、ステップS706に進む。
ステップS706にて、書込制御手段は、IDの入力回数をチェックして、5回になったらステップS707に進み、エラー表示をして処理を終了する。一方、5回未満であれば、ステップS703に進む。
ステップS708では、書込制御手段は、ディスプレイ装置25に、メモリカートリッジ13のチェック中画面311を表示する。その他、ディスプレイ装置25には、ゲージ部310およびカートリッジ格納情報表示部312が表示される。ただし、この時点では、メモリカートリッジ13の内容が分からないので、カートリッジ格納情報表示部312には、具体的な情報は表示されない(図41参照)。
ステップS709にて、書込制御手段は、補助記憶装置55に、ライタ7−NのIDを記録(登録)する。ステップS710にて、書込制御手段は、ライタ7−Nが、ユーザ端末5−Nに接続されているか否かをチェックして、接続されていれば、後述の図49のステップS720に進み、未接続であれば、ステップS711に進む。ステップS711では、書込制御手段は、ライタ7−Nが未接続である旨および接続を促す旨のエラー表示を行って、ステップS712に進む。
ステップS712にて、書込制御手段は、ユーザからの入力情報をチェックする。ステップS713にて、書込制御手段は、入力情報が、再試行を指示する情報であればステップS710に進み、キャンセルを指示する情報であれば処理を終了する。
図49は、実施の形態2におけるユーザ端末5−Nによるカートリッジチェック処理の前半を示すフローチャートである。図49に示すように、図48のステップS710の後、ステップS720にて、書込制御手段は、ライタ7−Nにアクセスして、装着されたメモリカートリッジ13の既書込みエリアawの情報を読み込み、メモリ50に格納する。
ステップS721にて、書込制御手段は、既書込みエリアawの情報が正常に読み込まれたか否かをチェックして、読み込みが不正常ならばステップS728に進み、エラー表示処理を実行する。一方、読み込みが正常ならば、ステップS722に進む。ステップS722では、書込制御手段は、読み込んだ既書込みエリアawの情報に対してCRC(cyclic redundancy check)を実行する。その結果、冗長ビットが一致していれば、ステップS724に進み、不一致ならばステップS729に進む。
ステップS724では、書込制御手段は、既書込エリアawの情報を基に、メモリカートリッジ13の名称が「MK」か否かをチェックして、「MK」であれば後述の図50のステップ740に進み、「MK」でなければステップS725に進む。なお、上記のように、名称「MK」は、メモリカートリッジ13がカラオケ用のものであることを示している。
ステップS725にて、書込制御手段は、装着されたメモリカートリッジ13が、カラオケ用のものでないことをユーザに通知するべく、ディスプレイ装置25にその旨の表示を行う。ステップS726にて、書込制御手段は、ユーザからの入力情報をチェックする。ステップS727にて、書込制御手段は、入力情報が再試行を指示する情報の場合は、ステップS720に進み、入力情報がキャンセルを指示する情報であれば処理を終了する。
さて、ステップS729では、書込制御手段は、メモリカートリッジ13から情報が読み込めないことをユーザに通知すべく、その旨をディスプレイ装置25に表示する。ステップS730にて、書込制御手段は、ユーザからの入力情報をチェックする。ステップS731にて、書込制御手段は、入力情報が再試行を指示する情報の場合は、ステップS720に進み、入力情報がキャンセルを指示する情報であれば処理を終了する。
図50は、本発明の実施の形態2におけるユーザ端末5−Nによるカートリッジチェック処理の後半を示すフローチャートである。ステップS740にて、書込制御手段は、読み込んだ既書込エリアawの情報に含まれる状態テーブル(図36および図38参照)をチェックする。具体的には、状態フラグ(図37参照)をチェックする。書込制御手段は、状態フラグが「正常書込」を示しているときはステップS742に進み(ステップS741)、状態フラグが「書き込み途中」を示しているときはステップS744に進み(ステップS743)、状態フラグが「未使用」を示しているときはステップS747に進み(ステップS745)、状態フラグが「不正常書込」を示しているときはステップS746に進む(ステップS745)。
ステップS746にて、書込制御手段は、全てのブランクエリアa1〜akに対応する状態フラグのチェックが終了したか否かを判断して、終了していなければステップS740に進み、終了していればステップS747に進む。なお、本実施の形態では、ブランクエリアaKの番号が若い方から順番にカラオケデータが書き込まれる。
さて、ステップS742では、書込制御手段は、ライタ7−Nにアクセスして、装着されたメモリカートリッジ13から、正常な書き込みが行われているブランクエリアaKに格納された曲名情報(図38参照)を読み込み、メモリ50に格納し、ステップS746に進む。一方、ステップS744では、書込制御手段は、書き込み途中のブランクエリアaKに対する再書き込みを、ライタ7−Nに行わせ、ステップS746に進む。
全てのブランクエリアaKに対して状態フラグのチェックが終了した場合、あるいは、未使用のブランクエリアaKが検出された場合に、ステップS747にて、書込制御手段は、メモリカートリッジ13の格納情報(メモリカートリッジタイプ、現在の書き込み済み曲数、現在の書き込み可能曲数、及び、カートリッジ情報テーブル314)を、ディスプレイ装置25のカートリッジ格納情報表示部312に表示する(図42参照)。ステップS748にて、書込制御手段は、不正常な書込がなされたブランクエリアaKが存在するときは、ステップS749に進み、存在しないときはステップS750に進む。
ステップS749では、書込制御手段は、カートリッジ格納情報表示部312に、不正常な書き込みが行われた曲数を表示する。ステップS750にて、書込制御手段は、メモリ50に格納されているメモリカートリッジ13のIDを、補助記憶装置55の所定位置に保存して、後述の図54のステップS900に進む。
図51は、図49のステップS728のエラー表示処理の流れを示すフローチャートである。図51に示すように、ステップS760にて、書込制御手段は、ライタ7−Nがユーザ端末5−Nに接続されているか否かをチェックして、未接続の場合はステップS761に進み、接続されていればステップS762に進む。ステップS761では、書込制御手段は、ライタ7−Nが接続されていないことをユーザに通知すべく、その旨をディスプレイ装置25に表示して、ステップS765に進む。
一方、ステップS762では、書込制御手段は、メモリカートリッジ13がライタ7−Nに装着されているか否かをチェックして、未装着の場合はステップS763に進み、装着されていればステップS764に進む。ステップS763では、書込制御手段は、メモリカートリッジ13が装着されている旨をユーザに通知すべく、その旨をディスプレイ装置25に表示して、ステップS765に進む。
一方、ステップS764では、メモリカートリッジ13の情報が読めないことをユーザに通知すべく、その旨をディスプレイ装置256に表示して、ステップS765に進む。
ステップS765では、書込制御手段は、ユーザからの入力情報をチェックする。ステップS766にて、書込制御手段は、入力情報が再試行を指示する情報の場合は、図49のステップS720に進み、入力情報がキャンセルを指示する情報であれば処理を終了する。
図52は、図50のステップS744の再書き込み処理の流れを示すフローチャートである。ステップS769にて、書込制御手段は、補助記憶装置55にアクセスして、中断情報をチェックする。この中断情報は、書き込みが中断されたカラオケデータが補助記憶装置55に保存されている場合は、「真」を示し、保存されていない場合は、「偽」を示すフラグである。書き込みの中断は、例えば、書き込みの最中に、メモリカートリッジ13がライタ7−Nから取り出された場合や、ケーブル15がライタ7−Nあるいはユーザ端末5−Nから引き抜かれた場合などに発生する。
ステップS770にて、書込制御手段は、書き込みが中断されたカラオケデータが、補助記憶装置55に存在した場合は、ステップS772に進み、存在しない場合はステップS771に進む。ステップS771では、書込制御手段は、エラー処理を実行して、リターンする。
一方、ステップS772では、書込制御手段は、補助記憶装置55の所定位置に保存されている、メモリカートリッジ13のIDと、メモリ50に格納されている、メモリカートリッジ13のIDと、を比較する。この比較処理は、次のことを想定して行われる。
ユーザ端末5−1で、IDが「0」のメモリカートリッジ13に、曲名Aのカラオケデータを書き込んでいる最中に、メモリカートリッジ13をライタ7−1から引き抜き、該当するブランキエリアakの状態が「書き込み中」のままである。その後、書き込みプログラムを終了した。この場合、図50のステップS750により、ユーザ端末5−1の補助記憶装置55の所定位置には、IDが「0」として保存されている。
一方、ユーザ端末5−2で、IDが「1」のメモリカートリッジ13に、曲名Bのカラオケデータを書き込んでいる最中に、メモリカートリッジ13をライタ7−2から引き抜き、該当するブランキエリアakの状態が「書き込み中」のままである。その後、書き込みプログラムを終了した。この場合、図50のステップS750により、ユーザ端末5−2の補助記憶装置55の所定位置には、IDが「1」として保存されている。
そして、ユーザが、IDが「1」のメモリカートリッジ13を、ユーザ端末5−1に接続されているライタ7−1に装着した。そうすると、図50から分かるように、ステップS744は、ステップS750の前に行われる処理であるため、このようなケースでは、図52のステップS772では、現在ライタ7−1に装着されている(曲名Bが書き込み途中の)メモリカートリッジのID「1」と、前回ライタ7−1に装着されていた(曲名Aが書き込み途中の)メモリカートリッジのID「0」と、が比較されることになる。
ステップS772の処理は、以上のような事態を想定している。
さて、ステップS773では、書込制御手段は、双方のIDが一致した場合は、ステップS774に進み、不一致の場合は、ステップS788に進む。ステップS774にて、書込制御手段は、メモリカートリッジ13に書き込み途中のカラオケデータが存在する旨の表示をディスプレイ装置25に行うとともに、修復の意思を確認するボタンをディスプレイ装置25に表示する。
ステップS775にて、書込制御手段は、ユーザからの入力情報をチェックする。ステップS776にて、書込制御手段は、入力情報が修復を指示する情報であればステップS777に進み、入力情報が修復しないことを示す情報であればステップS792に進む。ステップS777では、書込制御手段は、ライタ5−Nに、保存しているカラオケデータを、書き込み途中になっているブランクエリアaKに上書きさせる。ステップS778にて、書込制御手段は、書き込みが正常に行われたか否かをチェックして、正常に行われていればステップS784に進み、不正常であればステップS779に進む。
ステップS779では、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み不正常」を示す情報にセットして、状態テーブルを更新する。
ステップS780にて、書込制御手段は、未使用のブランクエリアaKを検索する。ステップS781にて、書込制御手段は、未使用のブランクエリアaKが存在しない場合はステップS794に進む。そして、ステップS794にて、書込制御手段は、補助記憶装置55に保存されているカラオケデータを消去して、ステップS795に進み、容量がないため書き込みが不可能である旨の表示をディスプレイ装置25に行った後、処理を終了する。
一方、ステップS781にて、書込制御手段は、未使用のブランクエリアaKが存在する場合はステップS782に進む。ステップS782にて、書込制御手段は、ライタ7−Nに、補助記憶装置55に保存されているカラオケデータを、その未使用のブランクエリアaKに書き込ませる。
ステップS783にて、書込制御手段は、メモリカートリッジ13への書き込みが正常に行われたか否かをチェックして、書き込みが不正常であればステップS771に進み、正常であればステップS784に進む。ステップS784では、書込制御手段は、補助記憶装置55に保存されているカラオケデータを消去する。ステップS785にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み正常」を示す情報にセットして、状態テーブルを更新する。
ステップS786にて、書込制御手段は、メモリカートリッジ13の状態テーブルの更新が正常に行われたか否かをチェックして、正常であればリターンし、不正常であればステップS787に進み、メモリカートリッジ13に書き込みができない旨の表示を行った後、処理を終了する。
さて、ステップS776にて、入力情報が修復を行わないことを示す情報であれば、ステップS792に進む。ステップS792にて、書込制御手段は、補助記憶装置55に保存されているカラオケデータを消去する。ステップS793にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み不正常」を示す情報にセットして、状態テーブルを更新する。その後ステップS786に進む。
さて、ステップS788では、書込制御手段は、ディスプレイ装置25にエラー表示を行う。このエラー表示は、例えば、「このカートリッジには書き込み途中の曲Bがありますが修復できません。保存されている書き込み途中の曲Aとは違うためです。このカートリッジに曲Aを書き込んでよければ"はい"をクリックしてください。曲Aを書き込もうとしたカートリッジに書き込むためには"キャンセル"をクリックしカートリッジを交換してから書き込みプログラムを再起動して下さい。"いいえ"で保存されている曲Aのカラオケデータを消去します。」、という表示である。
ステップS789では、書込制御手段は、ユーザからの入力情報をチェックする。ステップS790にて、書込制御手段は、入力情報が"キャンセル"を示す情報であれば処理を終了し、そうでなければステップS791に進む。ステップS791では、書込制御手段は、入力情報が"はい"を示す情報であればステップS777に進み、入力情報が"いいえ"を示す情報であれば、ステップS792に進む。
図53は、図52のステップS771のエラー処理の流れを示すフローチャートである。図53に示すように、ステップS800にて、書込制御手段は、メモリカートリッジ13に書き込み途中のカラオケデータが存在する旨およびその修復が不可能である旨の表示をディスプレイ装置25に行う。ただし、図52のステップS783で「NO」が判断された後は、ステップS800では、書込制御手段は、書き込みが不可能である旨の表示をディスプレイ装置25に行う。ステップS801にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み不正常」を示す情報にセットして、状態テーブルを更新する。
ステップS802にて、書込制御手段は、メモリカートリッジ13の状態テーブルの更新が正常に行われたか否かをチェックして、正常であればリターンし、不正常であればステップS803に進み、メモリカートリッジ13に書き込みができない旨の表示を行った後、処理を終了する。
図54は、実施の形態2におけるユーザ端末5−Nによる書き込み制御処理の流れを示すフローチャートである。図54に示すように、図50のステップS748あるいはステップS749の後、ステップS900にて、書込制御手段は、ブラウザプログラムを起動する。プロセッサ53が、ブラウザプログラムを実行することにより、ブラウザが構築される。つまり、ユーザ端末5−Nが、ブラウザとして機能する。なお、マルチタスクにより、書込制御手段及びブラウザは、独立して(並列に)動作することができる。そして、ブラウザは、カラオケWEBページ330のURLをWEBサーバ1に送信する。すると、ステップS1100にて、WEBサーバ1は、カラオケWEBページ330を送信する。
そして、ステップS901にて、ブラウザは、ディスプレイ装置25にカラオケWEBページ330を表示する(図42参照)。ステップS902にて、書込制御手段及びブラウザは、ユーザからの入力情報をチェックする。
ステップS903にて、ブラウザは、選択ボタン349が押下されていれば後述の図55のステップS910に進む。ステップS904にて、ブラウザは、ダウンロードを実行すべく「はい」ボタン(ダウンロードボタン)360が押下されていれば、後述の図56のステップS920に進む。ステップS905にて、書込制御手段は、終了ボタン306が押下されていれば、処理を終了する。ステップS906にて、ブラウザは、リンクボタンが押下されていれば、後述の図61のステップS1000に進む。いずれのボタンも押下されていなければ、処理はステップS902に進む。
図55は、選択ボタン349が押下されたときの図54のステップS903の後の処理の流れを示すフローチャートである。図55に示すように、ステップS910にて、ブラウザは、押下された選択ボタン349に対応する曲コードをWEBサーバ1に送信する。すると、ステップS1110にて、WEBサーバ1は、受信した曲コードに対応するカラオケデータをデータベースサーバ3から取得して、補助記憶装置に保存する。ステップS1111にて、WEBサーバ1は、ダウンロードページ356を送信する。そして、ステップS911にて、ブラウザは、ダウンロードページ356をディスプレイ装置25に表示する(図45参照)。その後、処理は、図54のステップS902に進む。
図56は、「はい」ボタン(ダウンロードボタン)360が押下されたときの図54のステップS904の後の処理の流れを示すフローチャートである。図56に示すように、ステップS920にて、書込制御手段は、ディスプレイ装置25に、書き込み中画面313を表示する(図46参照)。つまり、書込制御手段は、ブラウザが表示している画面の上に重ねて書き込み中画面313を表示する。
一方、ステップS1120にて、WEBサーバ1は、「はい」ボタン(ダウンロードボタン)360が押下されると、図55のステップS1110で準備したカラオケデータのファイル名及びディレクトリ名を、ユーザ端末5−Nに送信する。
ステップS921では、書込制御手段は、ライタ5−Nにアクセスして、メモリカートリッジ13のIDを読み込む。ステップS922にて、書込制御手段は、IDの読み込みが正常に行われたか否かを判断して、不正常であれば後述の図64のステップS1010に進み、正常であればステップS923に進む。ステップS923にて、書込制御手段は、メモリ50に格納している既書込エリアawの情報に含まれるメモリカートリッジ13のIDと、ステップS921で読み込んだIDと、を比較して、一致/不一致を判断し、一致していればステップS925に進み、不一致であればステップS924に進んで、メモリカートリッジ13が途中で交換された旨をディスプレイ装置25に表示して、処理を終了する。
ステップS925では、書込制御手段は、メモリ50に格納している既書込エリアawの情報に含まれる状態テーブルを参照して、未使用のブランクエリアaKが存在するか否かをチェックし、存在すればステップS927に進み、存在しない場合はステップS926に進んで、メモリカートリッジ13には、最大書き込み曲数分のカラオケデータが書き込まれており、空き領域がない旨の表示をディスプレイ装置25に行い、処理を終了する。
ステップS927にて、書込制御手段は、ステップS1120でWEBサーバ1が送信したファイル名及びディレクトリ名を基に、WEBサーバ1から、カラオケデータをダウンロードする。ステップS928にて、書込制御手段は、ダウンロードしたカラオケデータをチェックして、正常であればステップS929に進む。ステップS929にて、書込制御手段は、ライタ7−Nに、ダウンロードしたカラオケデータをメモリカートリッジ13に書き込ませる。
ステップS930にて、書込制御手段は、カートリッジ格納情報表示部312の内容を更新する。ステップS931にて、書込制御手段は、書き込み中画面313を消去する。これにより、書き込み中画面313の表示位置に、ブラウザが表示する画面が現れる。
ステップS932にて、書込制御手段は、結果情報(書き込んだカラオケデータの曲コード、書き込んだメモリカートリッジ13のID、及び、書き込みが正常に行われたことを示すコード)を、WEBサーバ1に送信する。ステップS1121では、WEBサーバ1は、その結果情報を記録する。これにより、どの曲のカラオケデータが、何回正常に書き込まれたかを把握でき、著作権料の支払いの算出を正確に行うことができる。ステップS1122にて、WEBサーバ1は、書き込みが正常に行われた旨を示す正常メッセージをユーザ端末5−Nに送信する。すると、ステップS933にて、ブラウザは、ディスプレイ装置25に正常メセージを表示する。
図57は、図56のステップS928のカラオケデータチェック処理の流れを示すフローチャートである。図57に示すように、ステップS940にて、書込制御手段は、ダウンロードしたカラオケデータに対してCRCを実行する。ステップS941にて、書込制御手段は、冗長ビットが一致した場合はステップS944に進み、カラオケデータから曲コードを抽出して、ステップS945に進む。一方、不一致の場合はステップS942に進む。
ステップS942にて、書込制御手段は、エラー回数を判断して、エラー回数が「3」であればステップS943に進んで、そのカラオケデータが使用できない旨をディスプレイ装置25に表示して、処理を終了する。一方、エラー回数が「3」未満であれば図56のステップS927に進む。
さて、ステップS945では、書込制御手段は、抽出した曲コードを基に、そのカラオケデータがメモリカートリッジ13に既に書き込まれているか否かを判断して、書き込まれていない場合は、リターンし、書き込み済みの場合はステップS946に進む。ステップS946では、書込制御手段は、ダウンロードしたカラオケデータが書き込み済みである旨をディスプレイ装置25に表示するとともに、再び書き込むか否かを確認するためのボタンを表示する。
ステップS947にて、書込制御手段は、ユーザからの入力情報をチェックする。ステップS948にて、入力情報が、書き込みを肯定する情報であればリターンし、そうでなければステップS949に進む。ステップS949では、書込制御手段は、書き込み中画面313を消去して、書き込み処理を終了する。これにより、書き込み中画面313の表示位置に、ブラウザが表示する画面が現れる。
図58は、図56のステップS929のカラオケデータ書き込み処理の流れの1例を示すフローチャートである。図58に示すように、ステップS1030にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み途中」を示す情報「11111110」にセットして、状態テーブルを更新する。ステップS1031にて、書込制御手段は、メモリカートリッジ13の状態テーブルの更新が正常に行われたか否かをチェックして、不正常であれば後述の図59のステップS960に進み、正常であればステップS1032に進む。
ステップS1032にて、書込制御手段は、ライタ7−Nに、ダウンロードしたカラオケデータを、未使用のブランクエリアaKに書き込ませる。ステップS1033にて、書込制御手段は、メモリカートリッジ13への書き込みが正常に行われたか否かをチェックして、書き込みが不正常であれば後述の図60のステップS970に進み、正常であればステップS1034に進む。
ステップS1034にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み正常」を示す情報「11111100」にセットして、状態テーブルを更新する。ステップS1035にて、書込制御手段は、メモリカートリッジ13への書き込みが正常に行われたか否かをチェックして、書き込みが不正常であれば後述の図59のステップS960に進み、正常であればリターンする。
図59は、図58のステップS1031あるいはステップS1035にて書き込み不正常と判断された後の処理の流れを示すフローチャートである。図59に示すように、ステップS960にて、書込制御手段は、ユーザ端末5−Nにライタ7−Nが接続されているか否かをチェックして、未接続であればステップS961に進んで、ライタ7−Nが未接続である旨をディスプレイ装置25に表示して、処理を終了する。一方、接続されていればステップS962に進む。
ステップS962にて、書込制御手段は、ライタ7−Nにメモリカートリッジ13が装着されているか否かをチェックし、未装着であればステップS963に進んで、メモリカートリッジ13が未装着である旨をディスプレイ装置25に表示して、処理を終了する。一方、装着されていればステップS964に進む。
ステップS964にて、書込制御手段は、不正常な書き込み曲数の表示を更新する。ステップS965にて、書込制御手段は、書き込み中画面313を消去する。これにより、書き込み中画面313の表示位置に、ブラウザが表示する画面が現れる。
ステップS966にて、書込制御手段は、結果情報(ダウンロードしたカラオケデータの曲コード、書き込みが不正常なメモリカートリッジ13のID、及び、書き込みが不正常に行われたことを示すコード)を、WEBサーバ1に送信する。すると、ステップS1130にて、WEBサーバ1は、その結果情報を記録する。ステップS1131では、WEBサーバ1は、ユーザ端末5−nへ、書き込みができなかったことを示すエラー表示情報を送信する。すると、ステップS967にて、ブラウザは、ディスプレイ装置25にエラー表示を行う。
図60は、図58のステップS1033にて書き込み不正常と判断された後の処理の流れを示すフローチャートである。図60に示すように、ステップS970にて、書込制御手段は、ユーザ端末5−Nにライタ7−Nが接続されているか否かをチェックして、未接続であればステップS971に進んで、ダウンロードしたカラオケデータを補助記憶装置55に保存し、さらにステップS972に進んで、ライタ7−Nが未接続である旨をディスプレイ装置25に表示して、処理を終了する。一方、接続されていればステップS973に進む。
ステップS973にて、書込制御手段は、ライタ7−Nにメモリカートリッジ13が装着されているか否かをチェックし、未装着であればステップS974に進んで、ダウンロードしたカラオケデータを補助記憶装置55に保存し、さらにステップS975に進んで、メモリカートリッジ13が未装着である旨をディスプレイ装置25に表示して、処理を終了する。一方、装着されていればステップS976に進む。
ステップS976にて、書込制御手段は、未使用のブランクエリアaKを検索して、未使用のブランクエリアaKが存在すればステップS979に進み、その未使用のブランクエリアaKに、ダウンロードしたカラオケデータを書き込み、図56のステップS930に進む。一方、未使用のブランクエリアaKが存在しない場合は、ステップS977に進む。
ステップS977では、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み不正常」を示す情報にセットして、状態テーブルを更新する。ステップS978にて、書込制御手段は、メモリカートリッジ13には、最大書き込み曲数分のカラオケデータが書き込まれており、空き領域がない旨の表示をディスプレイ装置25に行い、処理を終了する。
図61は、図60のステップS979の未使用エリア書き込み処理の流れを示すフローチャートである。図61に示すように、ステップS990にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み不正常」を示す情報にセットして、状態テーブルを更新する。
ステップS991にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、未使用のブランクエリアaKに対応する状態フラグを「書き込み途中」を示す情報にセットして、状態テーブルを更新する。
ステップS992にて、書込制御手段は、メモリカートリッジ13の状態テーブルの更新が正常か否かをチェックして、不正常であれば図59のステップS960に進み、正常であればステップ993に進む。ステップS993では、書込制御手段は、ライタ7−Nに、カラオケデータを未使用のブランクエリアaKに書き込ませる。
ステップS994にて、書込制御手段は、書き込みが正常か否かをチェックして、不正常であれば後述の図62のステップS1050に進み、正常であればステップ995に進む。ステップS995にて、書込制御手段は、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み正常」を示す情報にセットして、状態テーブルを更新する。ステップS996にて、書込制御手段は、メモリカートリッジ13の状態テーブルの更新が正常か否かをチェックして、不正常であれば図59のステップS960に進み、正常であれば図56のステップS930に進む。
図62は、図61のステップS994にて書き込み不正常と判断された後の処理の流れを示すフローチャートである。図62に示すように、ステップS1050にて、書込制御手段は、ユーザ端末5−Nにライタ7−Nが接続されているか否かをチェックして、未接続であればステップS1048に進んで、ダウンロードしたカラオケデータを補助記憶装置55に保存し、さらにステップS1051に進んで、ライタ7−Nが未接続である旨をディスプレイ装置25に表示して、処理を終了する。一方、接続されていればステップS1052に進む。
ステップS1052にて、書込制御手段は、ライタ7−Nにメモリカートリッジ13が装着されているか否かをチェックし、未装着であればステップS1049に進んで、ダウンロードしたカラオケデータを補助記憶装置55に保存し、さらにステップS1053に進んで、メモリカートリッジ13が未装着である旨をディスプレイ装置25に表示して、処理を終了する。一方、装着されていればステップS1054に進む。
ステップS1054では、メモリ50に格納した既書込エリアawの情報に含まれる状態テーブルを更新し、さらに、ライタ5−Nに、更新後の状態テーブルを、既書込エリアawの状態テーブルに上書きさせる。具体的には、該当のブランクエリアaKに対応する状態フラグを「書き込み不正常」を示す情報にセットして、状態テーブルを更新する。
ステップS1055にて、書込制御手段は、不正常な書き込み曲数の表示を更新する。ステップS1056にて、書込制御手段は、書き込み中画面313を消去する。これにより、書き込み中画面313の表示位置に、ブラウザが表示する画面が現れる。ステップS1057にて、書込制御手段は、結果情報(ダウンロードしたカラオケデータの曲コード、書き込みが不正常なメモリカートリッジ13のID、及び、書き込みが不正常に行われたことを示すコード)を、WEBサーバ1に送信する。
すると、ステップS1160にて、WEBサーバ1は、その結果情報を記録する。ステップS1161では、WEBサーバ1は、ユーザ端末5−nへ、書き込みができなかったことを示すエラー表示情報を送信する。すると、ステップS1058にて、ブラウザは、ディスプレイ装置25にエラー表示を行う。
図63は、リンクボタンが押下されたときの図54のステップS906の後の処理の流れを示すフローチャートである。図63に示すように、ステップS1000にて、ブラウザは、押下されたリンクボタンに対応するURLをWEBサーバ1に送信する。すると、ステップS1140にて、WEBサーバ1は、受信したURLに対応するWEBページをユーザ端末5−Nに送信する。そして、ステップS1001にて、ブラウザは、WEBサーバ1が送信したWEBページをディスプレイ装置25に表示して、図54のステップS902に進む。
図64は、図56のステップS922にて読み込み不正常と判断された後の処理の流れを示すフローチャートである。図64に示すように、ステップS1010にて、書込制御手段は、ユーザ端末5−Nにライタ7−Nが接続されているか否かをチェックして、未接続であればステップS1011に進んで、ライタ7−Nが未接続である旨をディスプレイ装置25に表示して、処理を終了する。一方、接続されていればステップS1012に進む。
ステップS1012にて、書込制御手段は、ライタ7−Nにメモリカートリッジ13が装着されているか否かをチェックし、未装着であればステップS1013に進んで、メモリカートリッジ13が未装着である旨をディスプレイ装置25に表示して、処理を終了する。一方、装着されていればステップS1014に進む。
ステップS1014にて、書込制御手段は、書き込み中画面313を消去する。これにより、書き込み中画面313の表示位置に、ブラウザが表示する画面が現れる。ステップS1015にて、書込制御手段は、結果情報(押下された選択ボタン349に対応した曲コード、メモリ50に格納された既書込エリアawの情報に含まれるメモリカートリッジ13のID、及び、書き込みが正常に行われたことを示すコード)を、WEBサーバ1に送信する。
ステップS1150にて、WEBサーバ1は、その結果情報を記録する。ステップS1151にて、WEBサーバ1は、読み込みができなかった旨を示すエラー表示情報をユーザ端末5−Nに送信する。すると、ステップS1016にて、ブラウザは、ディスプレイ装置25にエラー表示を行う。
ここで、実施の形態2による書込業者端末9−Mによる処理の流れは、図39、及び、図48〜図64に記載した処理の流れと同様である。ただし、書込業者端末9−Mによる処理では、ライタ7−Nは存在しないので、ライタ7−Nに関わる処理は行われない。
さて、以上のように、本実施の形態では、メモリカートリッジ13に内蔵するメモリに、一度限りの書き込みだけが可能なOTPROM17を使用している。この点、実施の形態1と同様である。従って、本実施の形態によるカラオケデータ配信システムは、実施の形態1によるカラオケデータ配信システムと同様の効果を奏する。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)ユーザ端末5−Nは、ライタ7−Nが接続されていない場合に、その旨をWEBサーバ1へ通知することもできる。また、ユーザ端末5−N及び書込業者端末9−Mは、メモリカートリッジ13が装着されていない場合に、その旨をWEBサーバ1へ送信することもできる。これにより、WEBサーバ1は、ライタ7−Nが未接続であることやメモリカートリッジ13が未装着であることを知ることができるため、それに対して適切な対処をすることができる。例えば、WEBサーバ1は、そのような場合には、カラオケデータを配信しないようにすることもできる。
(2)クライアント端末は、メモリカートリッジ13に既に記録しているカラオケデータと、これからメモリカートリッジ13に書き込もうとするカラオケデータと、が同じ場合に、同じである旨をディスプレイ装置25,31に表示することもできる。このようにして、既に書き込んだカラオケデータを再び書き込もうとしていることを、ユーザに積極的に知らせるため、ユーザにとって、より親切なサービスを提供できる。
(3)上記では、ライタ7−Nとユーザ端末5−Nとを、ケーブル15で接続したが、無線により接続することもできる。
(4)上記では、WEBサーバ1が配信するデータの例として、カラオケデータを例に挙げたが、配信するデータの種類はこれに限定されない。例えば、配信するデータとして、ゲームデータ(ゲームプログラム、ゲーム画像データ、及び、ゲーム音楽データ、など)、映画等の画像データ、ヒット曲等の音楽データ、あるいは、プログラム、など様々な種類のデータを挙げることができる。これにより、ユーザは、簡易かつ安全に、しかも、様々な種類のデータの中から自分の好きなデータを選択して、データの配信を受けることができる。つまり、ユーザは、好きなデータだけを希望することが多いが、このようなユーザの欲求を満たすことができる。
(5)上記では、サーバの例として、WEBサーバ1を挙げた。ただし、サーバは、WEBサーバ1に限定されるものではなく、例えば、FTP(file transfer protocol)サーバなど、を利用できる。
(6)図34において、通信制御部188の機能を、プロセッサ184に実行させることもできる。
(7)上記では、記録メディアとして、OTPROM17を採用したが、これに限定されるものではない。一度限りの書き込みが可能な記録メディアであるか、あるいは、書き込み手段(例えば、ライタ7−N、書込業者端末9−M)により、記録メディアに対して、一度限りの制限を実装できれば(再書き込みを禁止できれば)、本発明を適用できる。
(8)上記した通信手順は一例であり、これに限定されない。
(9)また、クライアント端末での処理を、WEBサーバ1で行うようにすることもできるし、また、WEBサーバ1での処理を、クライアント端末で行うようにすることもできる。このように、表示画像の生成などの役割分担については、システムの設計者が任意に決定できる。
(10)上記では、クライアント端末の例として、ユーザ端末5−N及び書込業者端末9−Mを挙げたが、これに限定されない。例えば、クライアント端末として、携帯電話やPDA(personal digital assistants)などの情報通信装置を利用できる。また、通信機能を有するものであれば、クライアント端末として、例えば、テレビジョンなどの家電製品を利用することもできる。
(11)図34の高速プロセッサ184として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサ(商品名:XaviX)を用いることが好ましい。この高速プロセッサは、例えば、特開平10−307790号公報およびこれに対応するアメリカ特許第6,070,205号に詳細に開示されている。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。