説明

データ処理装置及びデータ処理方法

【課題】ゲームソフトウェアに商業広告が入って動作しているか否かを判定し、入っていない場合には、動作しないように対処することができるゲーム機を提供する。
【解決手段】放送システム又は通信システムを利用して配信されるデジタルデータを受信する受信機手段であるセットトップボックス51を有する。ゲーム専用機52は、上記受信機手段を介してソフトウェア起動許可信号を受け付けるまで、ゲームソフトウェアの起動が禁止されている。ソフトウェア起動許可信号に続いて、ゲームソフトウェアの一部のデータに対して置換又は挿入するためのデータが送られてくる。このデータを商業広告とすることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、商業広告を表示可能なゲーム機システム、データを配信するためのデータディストリビューションシステム及び方法、ソフトウェアプログラムを実行するプログラム実行装置及び方法、ソフトウェアプログラムの起動を制御するプログラム起動制御装置及び方法に関するものである。
る。
【背景技術】
【0002】
従来のゲーム機に関しては、最近では市中の専用ゲームコーナのみならず一般家庭においてもゲーム機が普及し、これに伴って自動車のレーシングゲームソフト,飛行機のフライトシミュレータゲームソフト等の各種のゲームソフトが大量に販売されている。
【0003】
ゲーム機で、例えば自動車のレーシングゲームソフトを起動すると、表示装置(ディスプレイ)上に現実のF1レース場を忠実に再現した臨場感あふれる風景が映し出され、操作者がジョイステック等の操作盤を介して指示する命令に従って、各レーシングカーがサーキットコースを疾走する。
【0004】
しかし、現実のF1レース場では背景のサーキットコース脇の塀,看板,広告塔及びレーシングカーの車体等に商業広告がなされているが、ゲームソフトにおいてはこれに相応するような積極的に商業広告を組み込んだ例はみられない。
【0005】
現在、ゲームソフト上に組み込まれている広告としては、ゲームソフトのゲームの開始前,終了後又は場面変更(シーンチェンジ)の際にそのソフト製作会社の企業広告が映し出される例が見られる程度であり、ゲームソフト中の場面に積極的な商業広告が成されている例は存在しない。
【0006】
また、背景中に広告が映し出される例があるとしても、収益を考慮した商業広告としての例はみられず、あくまでサーキットコース等の実景を忠実に模写するための形式的な広告である。
【0007】
また、ゲームソフトでは一度製作されると、ソフトウエアに問題点がない限り変更されることはほとんどない。
【0008】
ソフトウエアの変更を行わない場合、たとえ背景などに商業広告を入れたとしても、時間が経つに連れその広告は時代遅れのものになってしまい、広告の実効が上がらなくなってしまう。
【0009】
本発明が成された動機は、現在の民間TV放送はコマーシャル(企業広告)収益で運営され、受信者からは放送料を徴収していない。
【0010】
これと同様に、仮にゲームソフトの例えば背景のサーキットコース脇の塀,看板,広告塔等に他社企業の需要に応じて商業広告を組み込むことが出来るならば広告料収入が得られ、結果的にゲームソフトの販売価格を下げ、或いは無償にすることが出来るであろう、ということに基づいている。
【0011】
更に、特定のゲームソフトは、通常何回も利用されることが予想され、この広告の内容を随時変更・更新出来るようにしたならば、商業広告としての実効が上げられ、期待する広告収入が得られるであろう、ということに基づいている。
【0012】
【特許文献1】特開平05−342583号公報
【特許文献2】特開平04−087487号公報
【特許文献3】特開平06−141236号公報
【特許文献4】特開平08−280934号公報
【特許文献5】特開平07−036559号公報
【特許文献6】特表平07−504336号公報
【特許文献7】特開平07−135491号公報
【非特許文献1】"ゲーム内広告話題",日刊工業新聞,1996年7月4日,p.9
【非特許文献2】"タワービジョン",セガサターン必勝法スペシャル 高層ビルシミュレーションゲーム『ザ・タワー』,株式会社剄文社,1996年4月5日,第1版,p.56−57
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、同一発明者及び出願人に係る特願平第7−166,682号「商業広告可能なゲーム機システム及びゲーム方法」(出願日:1995年6月30日)と技術的に関連を有する。
【0014】
特願平第7−166,682号で提案した発明によって、ゲーム中に商業広告を入れることができるようになった。
【0015】
商業広告を入れることにより、ゲームソフトを安価に販売することができ、ソフトウエアの拡販につながる。
【0016】
ところが、ソフトウエア動作時に、商業広告が入って動作しているかを判定し、入っていない場合には、動作しないように対処する適当な方法がなかった。
【0017】
商業広告が入って動作することにより、商業広告のスポンサーは料金を支払うため、商業広告抜きで動作することを禁止する必要があるが、特願平第7−166,682号に係る発明では、その点が十分には考慮されていない。
【0018】
また、ゲームソフトは発売当初は、多くのユーザーが使用するが、発売から時間が経つと、ユーザーの利用率は低下する。
【0019】
ユーザーの利用率が低下すると、商業広告の有用性が低下する。更新された商業広告が入らないと動作しないゲーム機では、商業広告の有用性が低下したゲームソフトの更新データも、常に配信しなければならず、コスト高になってしまう。
【0020】
そこで、本発明は、各家庭のゲーム機を通信回線等を介してホストコンピュータ(コントローラ)に接続してゲーム機システムとし、ゲーム機システムにおいて利用されるゲームソフトウェアに企業の需要に応じて商業広告を組み込むことが出来るゲーム機システム及びこれを利用したゲーム方法、データディストリビューションシステム、プログラム実行装置及び方法、プログラム起動制御装置及び方法を提供することを目的とする。
【0021】
更に、本発明は、ゲーム機システムにおいて利用されるゲームソフトウェアに組み込まれた商業広告を適宜容易に更新出来るゲーム機システム及びこれを利用したゲーム方法、データディストリビューションシステム、プログラム実行装置及び方法、プログラム起動制御装置及び方法を提供することを目的とする。
【0022】
更に、本発明は、ゲームソフトウェアに商業広告が入って動作しているかを判定し、入っていない場合には、動作しないように対処する適当な方法を提供することを目的とする。
【0023】
更に、本発明は、発売から時間が経過してユーザー利用率の低下したゲームソフトに関し、商業広告の有用性が低下場合には、新たに更新された商業広告が送信されなくとも、ゲームを開始できるシステム、データディストリビューションシステム、プログラム実行装置及び方法、プログラム起動制御装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0024】
本発明に係る放送システムは、デジタルデータを配信できる放送システムであって、受信側システムに対して、ソフトウエア起動許可信号を間隔をおいて繰り返し送ると共に、該ソフトウエア起動許可信号の間に、上記ソフトウエアの識別信号と該ソフトウエア動作時にデータの一部分に対し置換又は挿入するためのデータとを配信する。
【0025】
更に本発明に係るデータディストリビューションシステムは、データを複数の受信装置に配信するデータディストリビューションシステムにおいて、供給されたプログラム識別情報を受け取ることによって、受信装置側において起動されるソフトウェアプログラムを認識する手段と、上記認識手段によって認識されたソフトウェアプログラムに対応した信号であって、上記ソフトウェアプログラムが正規のソフトウェアプログラムである場合に、この正規のソフトウェアプログラムを起動させることを可能にするためのプログラムスタート許可信号を生成する手段と、上記プログラムスタート許可信号を配信すると共に、上記プログラムスタート許可信号に従って起動される上記ソフトウェアプログラムの一部分に対して置換又は挿入されるデータを配信する配信手段とを備えて成るものである。
【0026】
更に本発明に係るプログラム実行装置は、ソフトウェアプログラムを実行するプログラム実行装置において、データ配信装置から配信されたプログラムスタート許可信号と上記ソフトウェアプログラムの一部のオリジナルデータに対して置換又は挿入可能なデータとを受け取る受信手段と、上記受信手段によって受信されたプログラムスタート許可信号に応答して、上記ソフトウェアプログラムの一部のオリジナルデータを上記データに置換又は挿入して、上記ソフトウェアプログラムを実行する制御手段とを備えて成るものである。
【0027】
更に本発明に係るプログラム輝度制御装置は、ソフトウェアプログラムの起動を制御するプログラム起動制御装置において、上記ソフトウェアプログラムの一部のオリジナルデータに対して置換又は挿入可能なデータと暗号化されたプログラムスタート許可信号とをデータ配信装置から受け取る受信手段と、上記暗号化されたプログラムスタート許可信号を正常に解読できる場合には、上記ソフトウェアプログラムの一部のオリジナルデータに対して上記データを置換又は挿入するような動作を行うプログラムの実行を可能とし、上記暗号化されたプログラムスタート許可信号を正常に解読できない場合には、上記ソフトウェアプログラムの起動を制限する制限手段とを備えて成るものである。
【発明の効果】
【0028】
ゲーム機システムにおいて利用されるゲームソフトウェアに企業の需要に応じて商業広告を組み込み、ゲームソフトウェアに商業広告が入って動作しているかを判定し、入っていない場合には、動作しないように対処することができる。
【発明を実施するための最良の形態】
【0029】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0030】
ここで、本発明の実施の形態としては、ゲームソフトの起動時に、CMデータサーバ側から、ゲームプログラムの起動を制限するコードを発信することにより、CMが挿入されない場合にはゲームの起動を禁止した、ゲーム機システム,通信システム及び放送システムが挙げられる。
【0031】
図1及び図2はゲーム中の一場面を表している。
【0032】
図1はCD−ROMで供給されたソフト(ゲームプログラム)をそのまま起動したときの一場面であり、CMデータ1,3はオリジナルの古いCMデータであり、車2,旗4等もオリジナルの古いデータである。
【0033】
図2は、その後、放送又は通信システムにより、CMデータ部分及びその他のデータ部分を新しいデータに入れ替えた(即ち、更新した)ときの一場面である。
【0034】
CD−ROMで供給されたソフトでは、看板1は、図1に示すように時計の広告になっているが、図2ではパンの広告になっている。同じく、車2は、色が違っているし、車3は、色が違ううえに、図1では、煙草の宣伝であるのに、図2では、カメラの宣伝となっている。旗4は、横方向に分割された3色旗と縦方向に分割された3色旗となる。このように、ゲームソフトの一部分のデータを入れ替えることにより、同じゲーム中でも、違った広告を入れることができる。
【0035】
以下、更新可能な商業広告及び車,旗等のようなゲームの一場面を、本明細書及び図面では「CMデータ等」という。
[送信側システム及び受信側システム]
(全体)
図3乃至図7は、このような主としてCMデータ等を更新出来るゲームソフトを実行するシステムのブロック図である。
【0036】
ここで、次の表1を用いて、予め、ここで説明するシステムの概要を総括的に明らかにする。
【0037】
【表1】

【0038】
先ず、CMデータ等を更新する際に利用されるシステムが、放送システムであるか又は通信システムであるかによって異なる。
【0039】
更新される新しいCMデータ等を供給する送信側システムとして、放送システムを図3に示し、通信システムを図6の上段と図7の上段に示す。図6と図7の相違は、前者が新しいCMデータ等のみを送信するのに対し、後者がCMデータ等に加えていわゆるダウンロードでゲームソフト(ゲームプログラム)自体をも供給している点で相違する。
【0040】
受信側システムに着目すると、放送システム利用及び通信システムのいずれの場合にも受信側システムの使用機器として、ゲーム専用機とパーソナルコンピュータ(いわゆる「PC」)を使用できる。なお、本明細書では、単に「ゲーム機」という場合は、ゲーム専用機とパーソナルコンピュータの両方を含むものとする。
【0041】
図4乃至図7は、新しいCMデータ等の供給ルートの相違を表している。
【0042】
先ず、放送システムを利用して、受信側システムの使用機器としてゲーム専用機を利用するとき、ゲームプログラム(古いCMデータ等を含む。)は利用者が購入したCD−ROMによって供給され、その後、新しいCMデータ等はこの放送システムを介してゲーム専用機のバッファRAMに供給される。これに該当するシステムを図4に関連して詳細に説明する。
【0043】
次に、同様に放送システムを利用して、受信側システムの使用機器としてはパーソナルコンピュータを利用するとき、古いCMデータ等を含むゲームプログラムは同様にCD−ROMによって供給され、その後、新しいCMデータ等はこの放送システムを介してパー
ソナルコンピュータのHDD(ハードディスクドライブ)に供給される。これに該当するシステムを図5に関連して詳細に説明する。
【0044】
次に、通信システムを利用して、受信側システムの使用機器としてはゲーム専用機を利用するとき、古いCMデータ等を含むゲームプログラムは同様にCD−ROMによって供給され、その後、新しいCMデータ等はこの通信システムを介してゲーム専用機のバッファRAMに供給される。
【0045】
これに該当するシステムを図6に関連して詳細に説明する。
【0046】
次に、同様に通信システムを利用して、受信側システムの使用機器としてはパーソナルコンピュータを利用するとき、古いCMデータ等を含むゲームプログラムは同様にCD−ROMによって供給され、その後、新しいCMデータ等はこの通信システムを介してパーソナルコンピュータのHDDに供給される。これに該当するシステムを図7に関連して詳細に説明する。
【0047】
また図7では、古いCMデータ等を含むゲームプログラム自体をダウンロードの形式で送信側コンピュータシステムから通信システムを介してパーソナルコンピュータのHDDに供給され、その後、新しいCMデータ等も同様にこの通信システムを介してパーソナルコンピュータのHDDに供給される。これに該当するシステムも合わせて図7に関連して詳細に説明する。
【0048】
以下、夫々のシステムについて説明する。
(送信側システム)
放送システム利用の送信側システム
図3は、時間の経過と共に適宜更新されるCMデータ等の送信に放送システムを用いる場合の送信側の放送システムのブロック図を示す。ここではデジタルの多チャンネル放送の一つのチヤンネルを用いて、各家庭の受信側システムに新しいCMデータ等を送っている。
【0049】
この放送システムは、ハードディスクドライブ(HDD)10と、制御用コンピュータ11と、時計12と、シンクロナイザー13と、データエンコーダ14と、ミキサー16と、RSエンコーダ17と、インターリーブ18と、QAM/QPSKエンコーダ19と、送信機20とを備え、放送方式の種類によりアンテナ21及び(放送又は通信)衛星22、又はケーブル23を備えている。
【0050】
CMデータ等は、CMサーバであるHDD10に格納されている。制御用のコンピュータ11は、基準となる時計12に連動して一定時間ごとに、後述するプログラム起動許可信号(PSE:Program Start Enable),プログラムID(Identification),CMデータ及びその他のデータ(CMデータ等)を、HDD10から読み込んで、シンクロナイザー13に転送する。転送されたCMデータ等は、シンクロナイザー13で時間同期信号に変換され、データエンコーダ14でエンコードされ、ミキサー16に送られる。
【0051】
送られたCMデータ等は、ミキサー16で、その他のチャンネル用の映像信号と音声信号であってMPEGエンコーダ15でエンコード(高能率符号化)された信号と、多重化される。多重化信号は、RSエンコーダ17でリードソロモン符号化された後、インターリーブ手段18でインターリーブがかけられ、QAM/QPSKエンコーダ19で放送用に変調される。
【0052】
なお、放送衛星(BS)を用いる場合はQPSK変調(4相移送変位変調)がかけられ、また、通信衛星(CS)又はケーブル(CATV)を用いる場合はQAM変調(直交振幅変調)が施される。
【0053】
その後、送信機20を通って、衛星放送の場合は、アンテナ21により衛星(BS/CS)22を介して、家庭24の受信側システム(ゲーム専用機又はパーソナルコンピュータ)に送られる。CATVの場合は、CATV用のケーブル23を介して、家庭24の受信側システムに送られる。このように、放送システムを利用した送信側システムは、CMデータ等を供給するだけの一方向通信である。
【0054】
通信システム利用の送信側システム
図6の上段及び図7の上段は、時間の経過と共に適宜更新されるCMデータ等の送信に通信システムを用いた場合の送信側システムのブロック図を示す。この送信側システムに関しては、受信側システムとのやり取りがある双方向通信となるので、図6及び図7に関連して受信側システムを説明する際に、一緒に説明する。
【0055】
(受信側システム)
次に、受信側システムについて説明する。
【0056】
放送システム利用の受信側ゲーム専用機システム
図4は、放送システムを利用して、受信側システムのゲーム機としてゲーム専用機を利用するとき、ゲームプログラム(古いCMデータ等を含む。)は利用者が購入したCD−ROMによって供給され、その後、新しいCMデータ等はこの放送システムを介してゲーム専用機のバッファRAMに供給される受信側システムである。
【0057】
放送システム使用の場合、データの供給は、放送システムから受信側システムに対する一方向のみである。
【0058】
この受信側システムは、衛星22又はケーブル23を介して送られる信号(新しいCMデータ等)を受信する受信機手段であるセットトップボックス51と、ゲーム専用機52とを備えている。セットトップボックス51はチューナ25と、QAM/QPSKデコーダ26と、デ・インターリーブ27とRSデコーダ28と、MPEGデコーダ29と、データデコーダ69と、シリアルインターフェース30とを有する。
【0059】
図4のゲーム専用機52は、例えば株式会社ソニー・コンピュータエンタテインメント製「プレイステーション」のようなゲーム専用機である。このゲーム専用機52は、バッファRAM31と、レシーバ32と、サウンドプロセッサユニット33と、サウンドRAM34と、モーションJPEGデコーダ35と、DMAコントローラ36と、グラフィックプロセッサユニット37と、ビデオRAM38と、フラッシュメモリ39と、CD−ROM40と、CD−ROMドライブ41と、CD−ROMデコーダ42と、OS ROM43と、例えばR3000シリーズのようなCPU44と、ジオメトリック・トランスファー・エンジン45と、メインRAM46と、メインバスとを有している。
【0060】
衛星22或いはケーブル23を介して送られてきた新しいCMデータ等の信号は、セットトップボックス51内のチューナ25で選択された後、変調時とは逆にQAM/QPSKデコーダ26でQPSK復調又はQAM復調される。その後、デ・インターリーブ手段27でインターリーブが解かれ、RSデコーダ28でリードソロモン符号が復調されて、ゲームソフトとは無関係の通常の放送番組の映像及び音声信号は、MPEGデコーダ29で復号されて映像信号及び音声信号に戻される。
【0061】
ゲーム専用機用の新しいCMデータ等は、図3の送信側のデータ
エンコーダ14と一対となるデータデコーダ69を通り、シリアルインターフェース30を介して、ゲーム専用機52に送られる。ゲーム専用機52では、レシーバ32で受信した後、CMデータ等はゲーム専用機内外の転送レートの相違を吸収するためのバッファRAM31に蓄えられる。
【0062】
ゲーム専用機52では、ゲームプログラム(古いCMデータ等を含む。)が記録されたCD−ROMディスク40がCD−ROMドライブ41に装着されると、ゲームプログラムは、CD−ROMデコーダ42を通してメインRAM46に転送され、蓄えられる。
【0063】
この転送の際、既にバッファRAM31にある新しいCMデータ等をメインプログラムに組み込む方法と、転送後にメインプログラムにサブルーチンコールを組込みバッファRAM31内の新しいCMデータ等を呼び出す方法があるが、その詳細については後述する。いずれにしても、CPU44は、メインRAM46のデータをもとにゲームを進行させる。
【0064】
ゲーム専用機52のその他の部分の機能について簡単に説明すると、OS ROM43はゲーム専用機のOSが格納されており、DMA(Direct Memory Access)コントローラ36はメインバスを介したデータの転送制御を行っている。フラッシュメモリ39は、後述するように、PSE信号内の時刻データが格納され、次回のゲーム起動時に使用される。ジオメトリトランスファエンジン(座標軸変換エンジン)45は物体の座標計算を行い、モーションJPEGデコーダ35は、圧縮された画像データの解凍を行う。破線で囲まれたモーションJPEGデコーダ35,DMAコントローラ36,CPU44及びジオメトリトランスファエンジン45は、ワンチップICとして構成されている。
【0065】
出力系として、映像出力用のグラフィックプロセッサユニット37は、モニタ(図示せず。)上に映し出される画像制御行い、ビデオRAM38は画像送り出しのバッファの役目をし、モニタにより映像が出力される。音声出力用のサウンドプロセッサユニット33は、スピーカからの音声の制御を行い、サウンドRAM34は、ビデオRAM38と同様に送り出しのバッファの役目をし、スピーカ(図示せず。)により音声が出力される。
【0066】
放送システム利用の受信側パーソナルコンピュータシステム
次に、図5は、同様に放送システムを利用して、受信側システムのゲーム機としてはパーソナルコンピュータ(PC)を利用するとき、古いCMデータ等を含むゲームプログラムは同様にCD−ROMによって供給され、その後、新しいCMデータ等はこの放送システムを介してパーソナルコンピュータのHDD(ハードディスクドライブ)に供給される受信側システムである。
【0067】
この図5に示す受信側システムは、衛星22又はケーブル23を介して送られる信号を受信するセットトップボックス51と、パーソナルコンピュータ(PC)68とを備えている。セットトップボックス51は、図4のそれと同じである。パーソナルコンピュータ68は、DOS/Vマシンのようなパーソナルコンピュータであって、CD−ROMドライブ41と、シリアルインターフェース53と、サウンドカード54と、VGA55と、キーボードコントローラ56と、DMAコントローラ57と、BIOS ROM58と、SCSIインターフェース59と、HDD60と、IDEインターフェース61と、FDD62と、FDDコントローラ63と、CPU64と、I/Oバスと、I/Oチャンネルと、メインバスとを備えている。
【0068】
図4のシステムと比較すると、この図5の受信側システムは、ゲーム専用機52の代わりにパーソナルコンピュータ(PC)68をゲーム機として用いた点で相違する。セットトップボックス51に関しては、図4のそれと同じなので説明を省略する。セットトップボックス51のシリアルインターフェース30を介して送られてくる新しいCMデータ等は、パーソナルコンピュータ68内のシリアルインターフェース53によって受けられ、IOバス,1/Oチャンネル及びメインバスを通り、IDEインターフェース61を介して、HDD60上に記録される。
【0069】
ゲーム専用機52と同じように、パーソナルコンピュータ68では、ゲームプログラム(古いCMデータ等を含む。)が記録されたCD−ROMディスク40がドライブ41に装着されると、SCSIインターフェース59を通して、メインRAM46に転送され、蓄えられる。この転送の際、新しいCMデータ等はHDD60から読み出され、同じくメインRAM46上の他の箇所に蓄えられる。その後、メインRAM46上のメインプログラムにサブルーチンコールを組込み同じメインRAMの他の箇所にあるCMデータ等を呼び出す方法を採用しているが、その詳細については後述する。いずれにしても、CPU44は、メインRAM46のデータをもとにゲームを進行させる。
【0070】
パーソナルコンピュータ(PC)68のその他の部分の機能については、CPU64は、例えば米国インテル社製486シリーズであり、BIOS(Basic I/O System) ROM58は、コンピュータのOSが格納されており、DMA(Direct Memory Access)コントローラ57は、メインバスを介してデータの転送制御を行う。
【0071】
FDD(Flexible Disk Drive)62は、FDDコントローラ63を介して、フロッピィディスクへのデータの読み書きを行う。
【0072】
キーボードコントローラ56は、キーボードとマウスからの信号を受ける。出力系として、VGA(Video Graphics Array)55は画像信号をモニタ(図示せず。)に出力し、サウンドカード54は、MIDI(Music Instruments Digial Interface)などによって符号化された音声信号を元に戻してスピーカに出力する。
【0073】
通信システム利用のゲーム専用機システム
図6は、通信システムを利用した場合の、送信側システム及び受信側システムを示した図である。
【0074】
受信側システムのゲーム機としてはゲーム専用機を利用するとき、古いCMデータ等を含むゲームプログラムは利用者が購入したCD−ROMによって供給され、その後、新しいCMデータ等はこの通信システムを介してゲーム専用機のバッファRAMに供給される受信システムを示している。通信システム利用の場合は、送信側システムと双方向通信が行われる点で、放送システム利用の場合と相違する。
【0075】
通信システム利用の送信側システムは、CMデータ等のサーバであるHDD10と、制御用コンピュータ11と、時計12と、FDDI(Fiber Distributed Data Interface)47と、モデム48とを備え、電話回線49に接続されている。
【0076】
受信側システムのゲーム専用機52は、受信端がモデム50であることを除き、図4のそれと同様である。
【0077】
ゲーム専用機52では、CD−ROMディスク40がドライブ41に装着されると、CD−ROMデコーダ42を通して、後述するプログラムID信号が読み込まれ、このプログラムID信号は、モデム50を通り、電話回線49を介して、ホスト側のモデム48を通り、制御用のコンピュータ11に送られる。
【0078】
制御用のコンピュータ11では、基準となる時計12をもとに、後述するプログラム起動許可信号(PSE:Program Start Enable)、送られてきたプログラムID信号及びCMデータのサーバであるハードディスクドライブ10に格納されている新しいCMデータ等が、モデム48を通して、電話回線49を介して、ゲーム専用機52内のモデム50に送られる。
【0079】
ゲーム専用機52では、PSE(プログラム起動許可)信号によって動作を開始し、CMデータ等をバッファRAM31上に蓄える。これ以外のゲーム専用機内の動作は、前述した図4のシステムと同様であり、その説明を省略する。
【0080】
通信システム利用の受信側パーソナルコンピュータシステム 図7は、同様に通信システムを利用して、受信側システムのゲーム機としてはパーソナルコンピュータを利用するとき、古いCMデータ等を含むゲームプログラムは同様にCD−ROMによって供給され、その後、新しいCMデータ等はこの通信システムを介してパーソナルコンピュータのHDDに供給される受信システムを示す図である。
【0081】
また図7には、古いCMデータ等を含むゲームソフト自体をダウンロードの形式で送信側コンピュータシステムから通信システムを介してパーソナルコンピュータのHDDに引き出し、その後、新しいCMデータ等も同様にこの通信システムを介してパーソナルコンピュータのHDDに供給されるようにした受信システムについても合わせて示している。ゲームソフト自体のダウンロードは最初の1回であるが、新しいCMデータ等はそのゲームソフトを起動する毎に供給される。
【0082】
通信システム利用の送信側システムは、ダウンロードのため、図6のシステムに追加して、FDDI47と、プログラムサーバであるHDD65と、プログラムサーバ制御用コンピュータ66とを有している。
【0083】
このシステムでは、図6のゲーム専用機52の代わりに、パーソナルコンピュータ(PC)68をゲーム機として用いた場合である。図5のシステムと比較して、受信端がモデム67である点で相違する。図6と同様に、CD−ROMディスク40がCD−ROMドライブ41に装着されると、SCSIインターフェース59を通して、後述するプログラムID信号が読み込まれ、このプログラムID信号は、モデム67を通り、電話回線49を介して、ホスト側のモデム48を通り、制御用のコンピュータ11に送られる。
【0084】
制御用のコンピュータ11では、基準となる時計12をもとに、後述するプログラム起動許可(PSE)信号、送られてきたプログラムID信号及びCMサーバであるHDDIOに格納されているCMデータ等を、モデム48を通して、電話回線49を介して、ゲーム専用機52内のモデム67に送られる。CMデータ等は、図5のシステムと同様、HDD60に蓄えられる。
【0085】
また、このシステムではゲームソフトをCD−ROM40を購入し入手するのではなく、ホストコンピュータからのダウンロード形式によって得る方法がある。パーソナルコンピュータ68から、ゲームソフトのダウンロード要求が、モデム67を通り、電話回線49を介して、ホスト側のモデム48を通り、FDDI47を介して、プログラムサーバ制御用のコンピュータ66に送られる。
【0086】
プログラムサーバ制御用のコンピュータ66では、パーソナルコンピュータ68からのダウンロード要求に応じて、プログラムサーバであるHDD65に格納されている所定のゲームプログラムを、FDDI47を介して、モデム48を通して、電話回線49を介して、パーソナルコンピュータ68内のモデム67に送る。
【0087】
パーソナルコンピュータ68では、そのゲームプログラムをHDD60上に蓄える。
【0088】
プログラム起動時にCD−ROM40からではなく、HDD60からメインRAM46に対してゲームプログラムが読み出されることになる。このゲームソフトのダウンロードは、1種類のゲームに関しては1回で済む。即ち、異なる種類のゲームソフトでは改めてダウンロードを行うが、同じ種類の ゲームソフトではダウンロードせずにHDD60から読み出せばよい。これに対して、HDD10に格納されている新しいCMデータ等は、ゲームソフトの起動の度に、電話回線49を介して、読み出している。このシステムのこれ以外の部分は、図5のシステムと同じなので説明は省略する。
【0089】
[ゲームソフトのプログラム構成]
(全体)
次の表2は、上述した種々のシステムで使用されるゲームソフト実行時のメインRAM上のプログラム構成を表したものである。
【0090】
【表2】

【0091】
上述したように、受信側システムのゲーム機は、ゲーム専用機とパーソナルコンピュータ(PC)に大別される。ゲームプログラム(オリジナルの古いCMデータ等を含む。)は、主として利用者が購入したCD−ROMに記録されているが、例外的にダウンロードした場合にはパーソナルコンピュータのHDDに直接記録される。更新される新しいCMデータ等は、送信側から放送システム又は通信システムを介して、受信側システムがゲーム専用機を使用している場合にはバッファRAMに、パーソナルコンピュータを使用している場合にはHDDに記録される。図4乃至図7で説明した受信側システムとの対応は、上記表2に示すとおりである。
【0092】
ゲームは、このCD−ROM又はHDDから転送(ロード)されたメインRAM上のゲームソフトに沿って実行される。ゲームが進行するにつれ、このメインRAMに記録されたゲームソフトの内のCMデータ等が変更・更新されている場合、この新しいCMデータ等をどのように取り扱うかに関して分類し、図8〜図13を用いて説明する。
【0093】
簡単に説明すると、ゲーム専用機において、新しいCMデータ等それ自体を組み込むのでなく、メインRAMには更新データ等の存在するバッファRAMのアドレスを記録し、更新データ等をバッファRAMに呼びに行く場合を図8に示す。その呼び出し方法の詳細は図9に示されている。
【0094】
パーソナルコンピュータにおいて、更新データ等自体をメインRAMのゲームソフトの該当個所に組み込むのでなく、同じメインRAMの他の箇所に記録し、ゲームソフトの該当個所には更新データ等の存在するアドレスを記録し、更新データ等をメインRAM上の他のアドレスから呼び出す場合を図10に示す。その呼び出し方法の詳細は図11に示されている。
【0095】
図12は、図10と同様であるが、ゲームプログラムをHDD60にダウンロードした場合である。
【0096】
また、図13は、ゲーム専用機において、新しいCMデータ等自体をメインRAMに組み込む場合(サブルーチンコール)を示す。
【0097】
(プログラム構成)
メインRAM上でバッファRAM上の新しいCMデータをコールする例
図8は、本発明の第1の実施の形態として、ゲーム専用機52において、CD−ROM40上のゲームソフトをメインRAM46に転送する時に、バッファRAM31に新しいCMデータ等があってもそのままにしておきメインRAM46はサブルーチンコールのデータのみにしておき、メインRAM46上のメインプログラム中の更新対象のCMデータ等のエリアに達したとき、バッファRAM46上のCMデータをサブルーチンコール(呼出し)する場合である。これは、図4及び図6のシステムで採用され得る。
【0098】
CD−ROM40には、プログラムIDデータ80と、PSEのチェックデータ81と、ゲームプログラムPRG(1)のデータ82と、古いCMデータOld-CM(1)83と、ゲームプログラムPRG(2)のデータ84と、古いCMデータOld-CM(2)85、ゲームプログラムPRG(3)のデータ86と、古いCMデータOld-CM(3)87と、ゲームプログラムPRG(4)のデータ88とが順次記録されている。古いCMデータOld-CM(1)〜Old-CM(3)は、CMデータに限定されず、図1及び図2で説明した車の色,旗の色等の更新対象の映像も含まれるCMデータ等である。一方、バッファRAM31上には、プログラムID80と、CMデータ情報89と、新しいCMデータNew-CM(1)91,New-CM(2)90とが記録される。
【0099】
CD−ROM40上のアドレスC0〜C9のデータをメインRAM46上に転送する場合、CD−ROM40上のアドレスC0〜C9のデータは、そのままメインRAM46上のアドレスM0〜M9に転送される。その後、バッファRAM31のCMデータ情報89をもとに、転送後のメインRAM46上の更新の対象のCMデータ等のアドレスを計算し、この更新の対象となっているCMデータ等の先頭部をサブルーチンコールの命令とジャンプ命令に書き換えることを行う。
【0100】
この書き換え後は、古いCMデータOld-CM(1)は新しいCMデータNew-CM(1)をコールするためのコールデータCall(1)93に、古いCMデータOld-CM(2)は新しいCMデータNew-CM(2)をコールするためのコールデータCall(2)94に、夫々書き換えられている。コールデータ93には、バッファRAM31の新しいCMデータNew-CM(1)91のアドレスB3が記録され、また、コールデータ94には、同じく新しいCMデータNew-CM(2)90のアドレスB2が記録されている。
【0101】
このときのプログラムの特徴的な部分の詳細は図9を用いて説明する。
【0102】
図9は、このサブルーチンコールの特徴的な部分を示している。図8で説明したように、新しいCMデータがバッファRAM31上にある場合で、メインRAM46上のプログラムのコールデータCall(1)93の先頭部には、バッファRAM31上のアドレスB3にサブルーチンコールするようになっている。それに対し、バッファRAM31上の新しいCMデータNew-CM(1)(91)は、リターンで戻るようになっているので、処理が終わると、メインRAM46上のコールデータCall(1)93のサブルーチンコールの次に戻ってくる。そこの部分には、メインRAM46上のアドレスM4に飛ぶようにジャンプ命令が書かれているので、そのまま前に書かれていたアドレスM3〜M4のデータは無視される。
【0103】
メインRAM上で同じメインRAM上の新しいCMデータをコールする例 図10は、パーソナルコンピュータ68において、CD−ROM40上のゲームプログラムデータをメインRAM46に転送する時、HDD60上の新しいCMデータをメインRAM46上の対応するエリアでなく別のエリアに転送し、メインRAM46上のゲームプログラム中では、その別エリアにある新しいCMデータをサブルーチンコールする場合である。このようにCD−ROM40及びHDD60のデータを合わせもつことの出来る大容量のメインRAMも考えられる。これは、図5及び図7のシステムで採用され得る。
【0104】
図8と同様に、CD−ROM40上のアドレスC0〜C9をメインRAM46上に転送する場合、CD−ROM40上のアドレスC0〜C9のデータは、そのまま、メインRAM46上のアドレスM0〜M9に転送される。その後、HDD60上のアドレスH0〜H4にあるプログラムID80,CMデータ情報89及び新しいCMデータ1,2(91,90)が、メインRAM46のゲームソフトとは別エリアであるアドレスM10〜M14に転送される。
【0105】
そして、メインRAM46上の別エリアにあるCMデータ情報89をもとに、転送後の更新対象CMデータのメインRAM46上のアドレスを計算し、書き換えるべきデータの先頭部を、サブルーチンコールの命令とジャンプ命令に書き換えることを行う。メインRAM46上の古いCMデータOld-CM(1)83及び古いCMデータOld-CM(2)85が、新しいCMデータNew-CM(1)をコールするためのコールデータCall(1)93及び新しいCMデータNew-CM(2)をコールするためのコールデータCall(2)94に夫々書き換えられる。
【0106】
図12はゲームソフトをダウンロードした場合を示し、パーソナルコンピュータ68において、プログラムをHDD60にもち、HDD60上のデータをメインRAM46に転送し、更に、HDD60上の新しいCMデータ等をメインRAM46上のゲームソフトとは別のエリアに転送し、メインRAM46上のメインプログラム中には、メインRAM46上の新しいCMデータ等をサブルーチンコールする場合である。これは、図7のシステムで採用され得る。図10に比較して、転送元がCD−ROM40から(ダウンロードによって直接記録された)HDD60に代わるだけである。
【0107】
HDD40上の、アドレスH0〜H9のデータをメインRAM46上のアドレスM0〜M9に、そのまま転送する。その後、HDD60上のアドレスH10〜H14にあるプログラムID80,CMデータ情報89及び新しいCMデータ90,91は、メインRAM46の転送されたゲームソフトとは別のエリアであるアドレスM10〜M14に転送される。そして、メインRAM46上の別エリア上のCMデータ情報89をもとに、転送後の新しいCMデータ等のメインRAM46のアドレスを計算し、更新の対象となっているCMデータの先頭部を、サブルーチンコールの命令とジャンプ命令に書き換えることを行う。メインRAM46の古いCMデータOld-CM(1)83及び古いCMデータOld-CM(2)85が、コールデータCall(1)93及びコールデータCall(2)94に夫々書き換えられる。
【0108】
図11は、この書き換え後のデータの詳細を示し、図10及び図12に対応している。既に説明した図9の図と比較すると、新しいCMデータ等がバッファRAMにあるのではなくメインRAM46上にある点で相違する。メインRAM46上のプログラムのコールデータCall(1)93の先頭部には、メインRAM46上の別エリアのアドレスM13にサブルーチンコールするようになっている。
【0109】
そして、新しいCMデータNew-CM(1)91は、リターンで戻るようになっているので、処理が終わると、メインRAM46上のコールデータCall(1)93のサブルーチンコールの次に戻る。そこの部分には、メインRAM46上のアドレスM4に飛ぶように、ジャンプ命令が書かれているので、そのまま前に書かれていたアドレスM3〜M4のデータは無視される。
【0110】
メインRAM上に更新CDデータを組み込む例
図13は、放送システム又は通信システム利用のゲーム専用機52において、CD−ROM40上のゲームソフトのデータをメインRAM46に転送する時に、バッファRAM31上の新しいCMデータ等もメインRAM46に送られて、メインプログラム中に組み込まれて持つ場合である。これは、図4及び図6のシステムで採用され得る。
【0111】
CD−ROM40には、プログラムIDデータ80と、PSEのチェックデータ81と、ゲームプログラムPRG(1)のデータ82と、古いCMデータOld-CM(1)83と、ゲームプログラムPRG(2)のデータ84と、古いCMデータOld-CM(2)85、ゲームプログラムPRG(3)のデータ86と、古いCMデータOld-CM(3)87と、ゲームプログラムPRG(4)のデータ88とが順次記録されている。古いCMデータOld-CM(1)〜Old-CM(3)は、CMデータに限定されず、図1及び図2で説明した車の色,旗の色等の更新対象の映像も含まれるCMデータ等である。
【0112】
CD−ROM40上のアドレスC0〜C9をメインRAM46(図4及び図6のバッファRAM31に相当する。)上にロードする。一方バッファRAM31上には、プログラムID80と、CMデータ情報89と、新しいCMデータNew-CM(1)91,New-CM(2)90とが記録されている。CMデータ情報89は、新しいCMデータ等が記録されたバッファRAM31のアドレス及び対応する古いCMデータ等が記録されたCD−ROM40のアドレスがファイルされているCMデータ管理情報である。CMデータ情報89によって、CMデータNew-CM(1)とNew-CM(2)とは更新されているが、CMデータOld-CM(3)は更新の対象でないので、最初の古いCMデータ又は更新前のデータを使用することが指示される。
【0113】
CD−ROM40からメインRAM46に対しデータの転送が行われている時、バッファRAM31のCMデータ情報89に更新の対象のCMデータ等のCD−ROM40上のアドレスがあると、データの転送元はCD−ROM40からバッファRAM31に切り替わり、バッファRAM31からの所定の新しいCMデータ等を転送し、これが終了すると、再びCD−ROM40からのデータ転送に戻る。
【0114】
即ち、CD−ROM40上のアドレスC0から順次ゲームソフトのデータが読み出され、CD−ROM40から読み出されたデータはメインRAM46上のアドレスM0から順次格納される。転送箇所がCD−ROM40のアドレスC3になると、古いCMデータOld-CM(1)83は更新対象となっているのでバッファRAM31のCMデータ情報89にそのアドレスC3があるので、バッファRAM31のアドレスB3からの新しいCMデータNew-CM(1)91の転送に切り替わり、アドレスB4まで来ると、再びCD−ROM40のアドレスC4からの転送に切り替わる。同じく、CD−ROM40のアドレスがC5になると、古いCMデータOld-CM(2)85は更新対象となっているのでバッファRAM31上のCMデータ情報89にそのアドレスC5があるので、バッファRAM31のアドレスB2からのCMデータNew-CM(2)90の転送に切り替わり、アドレスB3まで来ると、再びCD−ROM40のアドレスC6からの転送に切り替わる。
【0115】
続いて、CD−ROM40のアドレスがC7になると、古いCMデータOld-CM(3)87は更新の対象になっていないため、バッファRAM31のCMデータ情報89にアドレスC7は記録されていない。従って、CD−ROM40から古いCMデータOld-CM(3)87のままデータ転送が続行され、アドレスC9でデータ転送を終了する。
結局、メインRAM46上には、CD−ROM40上の、古いCMデータOld-CM(1)83及び古いCMデータOld-CM(2)85に代わって新しいCMデータNew-CM(1)91及び新しいCMデータNew-CM(2)90が夫々書き込まれるが、CMデータ3は古いCMデータOld-CM(3)87のままメインRAM46上に書き込まれる。
【0116】
なお、一般に、メインRAM46の容量はCD−ROM40の容量より少ないので、ゲームプログラムを実行しながら該当アドレスに来たときに、CD−ROM40又はバッファRAM31から必要なデータをメインRAM46に転送して、ゲームが進められる。この時、ゲームソフト上で、CMデータのエリアに来たとき、バッファRAMのCMデータ情報を参照し、必要に応じてバッファRAMを取り込みゲームが進行する。
[放送システム利用のデータフォーマット及び通信システム利用の通信プロトコル]
放送システム利用のデータフォーマット
上記表2に関連して、新しいCMデータ等は大別して放送システム又は通信システムを利用して受信側システムに供給されることを説明した。次に、図14〜図16を用いて、放送システムにおける新しいCMデータ等のデータフォーマット及び通信システムにおける新しいCMデータ等の送信時の通信プロトコルを説明する。
【0117】
放送システムにおいては、新しいCMデータは送信側放送局から受信側システムに向かって供給される一方向通信が行われる。図14は、放送システムにおいて、放送局から供給される新しいCMデータ等を含むデータの放送フォーマットを示す。図示するように、CMインターバル105の間隔でA〜Dまでの4ブロックからなるデータが繰り返し放送される。
【0118】
A〜Dの各ブロックは、PSE(プログラム起動許可)信号100から開始する。各ブロックの長さ、即ちPSE信号から次のブロックのPSE信号迄、をPSEインターバル117といい、一定のデータ長を有する。PSE100はプログラムスタートの許可信号であり、受信側のゲーム専用機又はパーソナルコンピュータではPSE100が来ていることが確認できればゲームプログラムはスタートする。換言すれば、PSE100の到達が確認できなければ、ゲームソフトの起動は禁止される。これにより、CMデータ等の入ってないゲームソフトを起動することが出来ない。
【0119】
図中下段に示すように、A〜Dの各ブロックは、PSE100の後に、プログラムID(「プログラムコード」ともいう。)とそのプログラムIDに対応するCMデータの組(例えば、107と108の組)を複数組を有している。先ず、プログラムIDを読み、このプログラムIDと一致したCMデータをゲーム機内に取り込む。ブロックA(符号101)は、「#ASW000001」,「#ASW0012056」,「#BZQ4625023」の3種の各プログラムコードにそれぞれ対応する3種の新しいCMデータを有し、これらCMデータには、対応するプログラムIDがヘッダとして夫々付与されている。
【0120】
まず、PSE100があり、その後に、プログラムID107及び対応するCMデータ「#ASW000001」108が記録されている。その後に、プログラムID109及び対応するCMデータ「#ASW0012056」110となる。その後に、プログラムID111及び対応するCMデータ「#BZQ4625023」112が記録されている。ブロックの長さ(PSEインターバル117)は一定なので、不足分をギャップ106で埋めて1ブロック形成している。ブロックBは、ブロックAとは異なる種類のCMデータで構成されている。このようなブロックA,B,C及びDを1つのCMインターバル105として、同じ内容が順次繰り返し放送される。
【0121】
CMインターバル105間に、最低一回は新しいCMデータが転送されることになる。CMインターバル105の期間何のCMデータも来なかった場合は、CMデータは放送されてなく、更新の対象でないことになる。発売から長期間経過した古いゲームソフトなどは、利用者が少ないため、CMデータを更新しても宣伝効果が少なく、新しいCMデータは放送されない。新しいCMデータが放送されない場合でも、PSE100の到達を確認すればゲームプログラムを起動することが出来、この場合はゲームプログラム上の古いCMデータ又は最後に更新されたCMデータが再生される。
【0122】
さらに、CMインターバル105では所定の間隔、例えば1/4の間隔でPSEインターバル117が設定されており、このPSE信号を受け取ることにより、ソフトの起動が可能となる。ソフトの起動をスムーズにするため、この間隔は、CMインターバル105より短くなっている。更新の有無に関係なく、PSE100の到達が確認できなければ、ゲームソフトの起動は禁止される。
【0123】
図15に、これらPSE144,プログラムID145及び新しいCMデータ146の各信号のデータフォーマットの詳細を示す。
【0124】
PSE144は、PSE用のヘッダ(2バイト)120と、PSEデータ(14バイト)121からなる。PSEデータ121には、ソフト起動許可コードと時刻データが挿入されている。時刻情報が入っているためPSEデータは刻々と変化して、ゲームソフトを起動する毎に異なったものとなる。このため、データのセキュリティ(機密保護)の面で有効なものとなり、PSEデータのチェックを通じてCMデータが更新されていないゲームの起動を有効に禁止できる。PSEデータの詳細は、図17,図18及び図27に関連して詳細に説明する。
【0125】
プログラムID(プログラムコード)145は、プログラムID用ヘッダ(2バイト)122、後に続くデータの長さを表すデータ長(8バイト)123及びプログラムIDデータ(16バイト)124を有する。なお、プログラムIDデータ124は16バイト固定なので、データ長123は常に「16」となる。
【0126】
CMデータ146は、CMデータ用ヘッダ(2バイト)125、全CMデータ長(8バイト)126、後に続くCMデータが何ケ所のデータに対応しているかを表す総分割数あるいは総個数(8バイト)を示す総個数データ127があり、その後に更新用の新しいCMデータ128が続く。
【0127】
更新用の新しいCMデータ128は、上記総個数データ127に示された総個数nに対応して分割されており、n個に分割された夫々に分割ヘッダ(2バイト)129、後に続く分割データの長さを表す分割データ長(8バイト)130、何番目の分割データに当たるかを表す分割番号(8バイト)131、CD−ROM上のメインプログラムのアドレスを表すCDプログラムアドレス(32バイト)132が付き、その後に、実際の更新用の新しいCMデータNew-CM(1)133が続く。以下同様に、総分割数すなわち総個数データ127で示されるn番目の分割データ(CMデータNew-CM(n))138まで繰り返される。
【0128】
通信システム利用の通信プロトコル
これに対して、通信システムを利用した場合は、先に受信側システムのゲーム専用機又はパーソナルコンピュータでゲームが起動され、プログラムIDが読み込まれ、このプログラムIDが電話回線49を介して、送信側システムに送られ、双方向通信が行われる点で相違する。図16は、通信システムにおけるプロトコルの概要を表している。なお、送受信されるデータフォーマットは、図14及び図15に示したものと同じものを用いる。
図6又は図7を参照しながら図16について説明する。先ず、CD−ROM40に蓄積されたゲームソフトを起動すると、CD−ROM40からプログラムID信号を得る。そのプログラムID信号は、家庭24からCMサーバ制御用のコンピュータ11に送られる(図16の矢印a)。
【0129】
プログラムID信号を受け取ったCMサーバ制御用のコンピュータ11は、CMサーバであるHDD10から、このプログラムID信号に対応したCMデータを検索する。検索が終了すると、PSE信号141,プログラムID142,CMデータ143の順に返送する(図16の矢印b,c,d)。
【0130】
この後、後述するように、2回目のPSE信号取得が行われる。すなわち、図16の矢印eに示すように、プログラムID信号が、再度家庭24からCMサーバ制御用のコンピュータ11に送られ、矢印fに示すように、再度CMサーバから家庭24にPSE信号が返送される。
【0131】
家庭24側では、図16の矢印bのPSE信号の時刻情報と、矢印fのPSE信号の時刻情報とを比較して、所定の誤差の許容値の範囲内であれば2つのPSE信号は正しいと判断し、ソフトウエアを起動するのに対して、上記許容値を超える場合は、信号が間違っていると判断し動作を終了する。
【0132】
ところで、ゲームソフトが発売されて以来長期間経過しており、もはやCMサーバであるHDD10上に該当するCMデータがない場合は、PSE信号、プログラムIDのみを返送する。受信側システムは、PSE信号の到達を確認することにより、ゲームソフトを開始することが出来る。なお、このプロトコルでは、プログラムIDは必須条件でなく、確認用に用いられている。
【0133】
[PSE信号のエンコード及びデコード]
PSE信号に、ゲームソフトメーカが決めた特有の挿入コードを入れておき、受信側システムでこの挿入コードの一致・不一致を判定してゲーム開始の許否が決定される。
(エンコード)
PSEは、時刻情報を有しているため刻々と変化し、セキュリティ上でも有効であると説明した。図17及び図18を用いて、CMサーバ制御用のコンピュータ11におけるPSE信号のエンコードとデコード例を説明する。
【0134】
図17はエンコード例である。PSE信号には、基準となる時計12の時刻が用いられる。この時刻は、図17のAに示すように配信日時(年月日時分秒)「1996.2.19 18:05:38」として取得され、図17のBのように記号化される。そして、記号化された信号は、変化の割合が高い記号順(秒→年)にするため、図17のCに示すようにMSBとLSBが反転するように並び替えられる。ゲーム起動時の先頭データは、一種の乱数となっている。この乱数によって、以下のように、挿入データの挿入箇所を特定する。
【0135】
並び替えられた信号の先頭の番号が取得される(図17のD)。
この例では、「8」となる。先頭から数えて先頭の番号(8番目)まではそのままであるが、その次(9番目)に、挿入コードが入れられる。この例では挿入コードは、「ok」である。挿入コード後は、9番目からのデータがシフトして続く(図17のE)。JISの8ビットデータに変換される(図17のF)。
【0136】
続いて、ゲームソフトメーカ側が任意に決めたダミーデータのコードが取得される。ダミーデータは、ゲームソフト毎に異なっていてもよい。この例では、ダミーコードは「startok」とする(図17のG)。同じく、ダミーコード(図17のG)も、JISの8ビットデータに変換される(図17のH)。この二つの8ビットデータ(図17のF,H)はビット毎に加算され、加算データが得られる(図17のI)。これに、PSEヘッダ「03h,f7h」が付加されて、このPSEはエンコードされた後、送信される(図17のJ)。
【0137】
(エンコードのフローチャート)
図19乃至図22にPSEエンコードのフローチャートを示す。このエンコード処理は、図6、図7又は図16のCMサーバ制御用のコンピュータ11において行われる。
【0138】
図19は、図17のPSEエンコード時の、並べ替え(図17のC)までのフローチャートである。
【0139】
まず、ステップS170において、日時データを取得する。次に、ステップS171で、日時データを数字列N(j)に変換する。並べ替え前の数字列をN(j)とし、並べ替え後の文字列をM(j)とする。jは文字列の何番目に当たるかを表し、日時データの文字数jmaxは、図17の例では12である。ステップS172でj=1とおき、ステップS173,ステップS174,ステップS175で、Nのj番目のデータをMの(jmax−j+1)番目に入れる作業をj=1からj=jmax(=12)まで繰り返す。これにより、日時データの数字列N(j)は、MSBとLSBが反転するように並べ替えられ、文字列M(j)を得る。
【0140】
図20は、図17に示すPSEエンコード時の、挿入データの付加(図17のE)までのフローチャートであり、図19のステップS174でYESと判別された場合に続く手順を示している。図20のステップS176において、挿入文字列I(i)を取得する。挿入データは、図17では「ok」なので、imax=2となる。次に、ステップS177では、j=jmax+imax(=12+2=14)とし、最後の文字から順番にimax分だけシフトする。次に、ステップS178で、M(j+jmax)=M(j)とされる。文字列の最後から、M(1)+1までの文字列を、imaxだけシフトする。そして、ステップS179で、j=M(1)+1であるかどうかが判断される。M(1)は、文字列M(j)の先頭番号に当たる。その先頭番号までは、そのままの文字列となるので、挿入及びシフトされるところは、M(1)+1番目以降となる。次に、ステップS180でj=j−1とし、ステップS178,ステップS179,ステップS180の各ステップを、ステップS179の条件を満たすまで繰り返す。ステップS179の条件を満たしたときには、ステップS181に進み、i=1とする。その後、ステップS182で、M(M(1)+i)=I(i)とし、M(1)+1番目から、挿入コードを入れていく。そして、ステップS182,ステップS183,ステップS184の各ステップを、ステップS183でi=Imaxを満たすと判断されるまで繰り返す。ステップS183の条件を満たしたときには、図21のステップS184に進む。
【0141】
図21は、図17に示すPSEエンコード時の、ダミーデータの加算(図17のI)までのフローチャートであり、図20のステップS183でYESと判別された場合に続く手順を示している。
【0142】
まず、ステップS184において、ダミー文字列D(k)を取得する。ダミーデータD(k)は、図17では「startok」なので、文字数kmaxは7となる。次に、ステップS185で、j=1,k=1とし、ステップS186で順次先頭から同順位のM(j)とダミーデータD(k)を夫々加算する。ステップS187でj=jmax+imaxとなったかどうかを判断し、上記の条件を満たさないときにはステップS188でj=j+1とする。次に、ステップS189で、k=kmaxになったかどうかが判断される。上記の条件を満たさないときにはステップS190でk=k+1とし、k=kmaxのときはステップS191でk=1として、ステップS186以降の手順を繰り返す。文字列より先にダミーデータがなくなるとkを更新し、ステップS191で、ダミーデータは再び先頭から加算されていく。そして、ステップS187で、j=jmax+imaxとなったら上記の加算を終了し、図22のステップS192に進む。
【0143】
図22は、図17に示すPSEエンコード時の、ヘッダ付加(図17のJ)のフローチャートである。
【0144】
まず、ステップS192で、ヘッダH(i)を取得する。PSEヘッダは2バイトなので、lmax=2となる。次に、ステップS193で、j=1,i=1とする。次に、ステップS194で、Mの(jmax+imax+lmax−1)番目をMの(jmax+imax−1)番目にするように、ヘッダ分だけデータが後ろにシフトする。ステップS195では、j=jmax+imaxとなったかどうかが判断され、上記の条件を満たさないときにはステップS196でj=j+1とされ、ステップS194,ステップS195,ステップS196の各ステップを繰り返す。そして、ステップS195で、j=jmax+imaxを満たしたときに、ステップS197に進む。その後、ステップS197でM(1)=H(1)とされ、ステップS198でi=imaxであるかどうかが判断され、ステップS199でi=i+1とされる。そして、上記のステップS197,ステップS198,ステップS199を繰り返して先頭にPSEヘッダが付加され、ステップS198でi=imaxを満たしたときに、以上の処理を終了する。
【0145】
(デコード)
図18はPSEのデコードの例であり、図17のエンコードの逆の処理が行われる。
【0146】
図18のAに示すようにPSEデータを受信し、図18のBのようにまずヘッダが取り除かれる。続いて、図18のCのようにダミーコード「startok」が取得され、図18のDのようにエンコード時と同様のJISの8ビットデータに変換される。そして、図18のEに示す、エンコード時とは逆の減算処理が行われ、図18のFのようなJISコードに戻される。
【0147】
そして、図18のGで先頭番号「8」が取得され、挿入コードが入れられた位置を確定する。次に、図18のHで挿入コードが抜き出され、図18のIで日時コードのみに分離される。そして、図18のJでMSBとLSBの反転の並べ替えが行われ、図18のKに示すような配信日時「1996.2.19 18:05:38」を得ることができる。
【0148】
(デコードのフローチャート)
図23乃至図26にPSEデコードのフローチャートを示す。図23は、図18に示すPSEデコード時のヘッダを検出する手順を示すフローチャートである。
【0149】
まず、ステップS200で、ヘッダH(l)を取得する。PSEヘッダは2バイトなので、lmaxは2となる。次に、ステップS201でl=1,j=1とされ、ステップS202でID(入力データ)を更新する。ステップS203では、順次入ってくる入力データIDが、PSEヘッダ「03h,f7h」の先頭データH(1)と同じであるか否かを、図13のPSEのチェック81等により判定する。H(1)と同じであればステップS204に進む。ステップS204では、l=lmaxになったかどうかが判断され、この条件を満たしていないときには、ステップS205でl=l+1とされてステップS202以降の手順が繰り返され、順次、次のデータが判定される。なお、ステップS203で、条件を満たさないときには、ステップS201に戻り、手順が繰り返される。そして、ステップS204の条件を満たしたとき、すなわち最後のデータH(lmax)まで同じであると、ヘッダを検出したと判定して、ステップS206に進む。ヘッダを検出した後、ステップS206ではIDを更新し、ステップS207でM(j)=IDとして次に続くデータ列をM(j)に取り込む。次に、ステップS208で、j=jmax+imaxであるかどうかが判断される。この条件を満たさないときにはステップS209でj=j+1として、ステップS206以降の各ステップを繰り返す。そして、ステップS208の条件を満たしたときには図24のステップS210に進む
図24は、図18に示すPSEデコード時のダミーデータの減算(図18のE)までのフローチャートである。
【0150】
まず、ステップS210で、ダミー文字列D(k)を取得する。ダミーデータは、図4の例では「startok」なので、文字数kmaxは7となる。次に、ステップS211で、j=1,k=1とする。次に、ステップS212で、M(j)=M(j)−D(k)とし、順次先頭から、ダミーデータを引いていく。そして、ステップS213で、j=jmax+imaxであるかどうかが判断され、この条件を満たさないときにはステップS214でj=j+1とされる。そして、ステップS215でk=kmaxであるかどうかが判断され、この条件を満たさないときにはステップS216でK=K+1として、ステップS212以降の各ステップを繰り返す。一方、ステップS215の条件を満たすとき、すなわち文字列より先にダミーデータがなくなるときには、ステップS217でk=1としてステップS212以降の各ステップを繰り返すことにより、ダミーデータは再び先頭から加算されていく。
【0151】
図25は、図18に示すPSEデコード時の挿入データの抜き出し(図18のI)までのフローチャートである。
【0152】
まず、ステップS218で、挿入文字列l(i)を取得する。挿入データは図17では「ok」なので、imaxは2となる。次に、ステップS219でj=M(l),i=lとする。M(1)は、文字列M(j)の先頭文字に当たる。そして、ステップS220で、jが数字であるかどうかが判断される。M(1)が数字の時は、その数字が挿入コードの位置を表す。それに対し、数字でない場合は先頭部にダミーデータが入っていることになる。先頭が数字の場合は、ステップS221に進み、挿入コードの入っているM(1)+1番目から、順次挿入コードと同じか判定していく。ステップS221で、判定途中で一致しないデータが出たときは、PSEコードではないと判断し、図23のPSEヘッダの取得に戻る。全ての挿入コードが一致すると、ステップS227で挿入コードから後のデータをシフトする。それに対し、先頭が数字でない場合は、ステップS224で、一旦、挿入コード「ok」後のデータは必ずゼロになるため、ゼロであるかを確認する。ここで、ゼロでない場合は、PSEコードではないと判断し、図23のステップS201のPSEヘッダの取得に戻る。以後は、先頭が数字の時と同じである。
【0153】
図26は、図18に示すPSEデコード時の並べ替え(図18のJ)及び日時データへの変換(図18のK)を行うフローチャートである。
【0154】
まず、ステップS229で、j=1とする。次に、ステップS230で、文字列M(j)は、MSBとLSBが反転するように並べ替えられ、数字列N(j)を得る。次に、ステップS231で、j=jmaxであるかどうかが判断され、この条件を満たさないときにはステップS232でj=j+1として、ステップS230以降の手順を繰り返す。そして、ステップS231の条件を満たすときには、ステップS233に進み、数字列N(j)は日時データに変換され、デコード動作を終了する。
【0155】
[PSE信号処理及びCMデータ取得方法]
このようにして得られたPSE信号の受信側の処理に関しては、放送システム利用の場合と通信システム利用の場合と異なるため、以下に説明する。
(ゲーム機におけるPSE信号処理とCMデータ取得)
図27及び図28は、放送システム利用のときのゲーム機におけるPSE信号の処理とCMデータの取得方法を示したフローチャートである。
【0156】
図27は、PSE信号の処理方法を示している。ここで、ステップS240のiはPSE信号の取得した順番を表し、ステップS240でこのiを1に初期化(i=1)している。図4のフラッシュメモリ39には、前回起動したときに受けたPSE信号内の時刻情報が保持されている。ステップS241で、その保持されている時刻情報をTP(0)として取得する。また、図6のような、パーソナルコンピュータ(PC)68の場合は、以前に受けたPSE信号内の時刻情報はHDD60上に保持されているので、その場合はステップS241で、HDDから時刻情報をTP(0)として取得する。
【0157】
なお、必要に応じて、ゲームソフトの進行中、i番目のPSE信号を取得した時、日時を含めた時刻情報は必ず単純増加しているので、PSE(i)>PSE(i−1)が成立するかの判定を行い、成立しない場合にはゲームを中断するようプログラムすることもできる。
【0158】
次に、時間カウンタTCの動作について説明する。
【0159】
この時間カウンタTCは、常に内部クロックをカウントしている。
【0160】
この時間カウンタTCは、いくつかの用途に使われるが、ここでは、制限時間TO内にPSE信号が受信されるか否かを判定するために用いられる。ステップS242にてTC=0とは、カウンタをリセットすることである。ステップS242でカウンタをリセットし、次のステップS243でPSE信号を受信するのを待つ。ところが、一定期間TO(タイムアウト)内にPSE信号を受信しないと、ステップS244で放送を受信していないものと判断し、ステップS245に進んで「非接続」あるいは「遮断」を表示し、動作を終了する。なお、TOは、図14のPSEインターバル117以上の長さに設定しなければならない。
【0161】
PSE信号が受信されると、まず、ステップS246にてTCの値がTICに入れられ保持されるが、これは2度目のチェックの時に用いられるので1回目は関係ない。続いてステップS247では、受信されたPSE信号のPSEデータ内の時刻情報がTP(i)、すなわちi=1であるからTP(1)、に保持されると共に、誤った大きな時刻データが入って次段の判断記号で誤りコード表示が続くような事態を避けるために、ステップS248でフラッシュメモリ39内の時刻データが更新される。なお、当然ながらパーソナルコンピュータ(PC)68の場合は、ステップS248でHDD10内の時刻情報が更新される。
【0162】
ここで、ステップS249で、前回取得した時刻データTP(0)と、今回のTP(1)が比較される。当然ながら、新たに取得した時刻データは、前の値より、後ろの時刻を示しているはずである。
【0163】
この条件、すなわち、
TP(i)>TP(i−1)
の条件に当てはまらない場合は、ステップS250に進んで信号が間違っていることを表す誤りコードを表示し、動作を終了する。
【0164】
ステップS249でYESの場合はステップS251に進み、最初のPSE信号取得であるか、すなわちi=1であるか否かを判断し、もしそうならばステップS253でiを更新し、ステップS242に戻って時間カウンタTCをリセットし、ステップS243で2度目のPSE信号の取得を行う。2度目のPSE信号を取得すると、ステップS246でTCの値がTCIに入れられる。続いて、ステップS247で受信したPSE信号内の時刻データがTP(2)に保持されると共に、ステップS248でフラッシュメモリ39内の時刻データが更新される。次のステップS249で、1度目同様、TP(1)とTP(2)の比較が行われる。
【0165】
このステップS249において、時刻データTP(2)は前の時刻データTP(1)より後ろの時刻を示しているので、次のステップS251に進み、今回はiは1でないのでステップS252に進む。ステップS252では、ゲーム機内のクロックをカウントして得られたTCIの値と、受信したTP(1)とTP(2)の差の値と比較が行われる。図14で説明したようにPSEは一定期間のPSEインターバルで逐次的に発信されているため、連続する2つの値(例えば、TP(1)とTP(2))は、差分が上記PSEインターバルとなる値を示さなければならない。よって、このPSEインターバルの差分を含めて、誤差の許容値として±δT以内であれば、この2つのPSE信号は正しいと判断し、ソフトウエアを起動して動作を終了する。すなわち、誤差の許容値である許容時間差をδTとし、
TPDmin=TP(i)-TP(i-1)-δT
TPDmax=TP(i)-TP(i-1)+δT
とするとき、ステップS252では、
TPDmin=TP(i)-TP(i-1)-δT<TIC<TPDmax=TP(i)-TP(i-1)+δT
であるか否かを判別している。それに対し、この許容値を超える場合は、ステップS250に進んで、信号が間違っていることを表す「誤りコード」を表示し、動作を終了する。
【0166】
図28は、放送システムを用いたときのCMデータの取得方法を示している。
【0167】
mはプログラムID信号を取得する順番を表す。最初のステップS255でm=0とされ、次のステップS256でCD−ROM上のプログラムIDがPIDcdとして保持される。ステップS257において、mはプログラムID信号を取得する度に更新される。次に、ステップS258で、セットトップボックスからCMデータのプログラムID信号をPID(m)に入れる。次に、ステップS259で、順次、受信したプログラムID信号PID(m)とCD−ROM上のプログラムID信号のPIDcdが比較され、一致するとステップS261以降のCMデータの取得に移る。
【0168】
また、図14で説明したように、CMデータは同じものが繰り返し放送されているので、ステップS260aにおいて、最初のm=1の場合はステップS257に戻り、それ以外の場合(m>1)はステップS260bに進む。ステップS260bでは、最初に受信したプログラムID信号PID(1)を受信するまでステップS257に戻り、最初に受信したプログラムID信号PID(1)を受信する(すなわち、PID(m)=PID(1)になる)と、CMデータが一巡したとして、動作を終了する。
【0169】
ステップS261以降のCMデータ受信時において、jは図4のバッファRAM31に書き込んだ分割データの数を表し、BA(j)は、図4のバッファRAM31にCMデータを書き込んだアドレスを表している。また図15に対応させると、CMデータが何ケ所のデータに対応しているかを表す総分割数あるいは総個数nは、総個数データ127で示され、分割されたデータの何番目に当たるかを表す分割番号あるいは分割順位kは、図15の分割順位131,136で示され、分割データの長さを表す分割データ長L(k)は、分割データ長130,135で示され、CD−ROM上のメインプログラムのアドレスを表すディスクアドレスDA(k)は、ディスクアドレス132,137で示される。
【0170】
ここで、ステップS261では、j=0,L(0)=0とし、ステップS262では、n=総個数(又は総分割数)としている。
【0171】
CMデータの書き込まれるバッファRAM31には、CMデータを書き込むCMデータエリアと、バッファRAM31に保持されているCMデータの情報が保持されているCMデータ情報に分れている。ステップS263では、j=j+1と更新しており、BA(j)は現在のバッファアドレスであり、前回のCMデータのバッファアドレスBA(j−1)と分割データ長L(j−1)から求める。
【0172】
ステップS264では、取得した新しいCMデータNew-CM(k)を、順にバッファRAM31のCMデータエリアに書き込んでいくとともに、バッファRAM31のCMデータ情報に、ステップS265で分割データの長さを表す分割データ長L(k)を、また、ステップS266で取得したCD−ROM上のメインプログラムのアドレスを表すCDプログラムアドレスであるディスクアドレスDA(k)をそれぞれ更新し、ステップS267でこれらのデータ及び書き込んだバッファRAM31のアドレスBA(k)が書き込まれる。
【0173】
ステップS268では、書き込んだ分割データの数jと、CMデータが何ケ所のデータに対応しているかを表す分割数nが一致すると、全てのCMデータが書き込まれると判断し、動作を終了する。
【0174】
(通信システムにおけるPSE信号処理とCMデータ取得)
図29及び図30は、通信システム利用のときのPSE信号の処理方法とCMデータの取得方法を示している。特に図29はPSE信号の処理方法部分を、図30はCMデータの取得方法部分について表している。通信システム利用の時は、受信側システムでCD−ROM40から読み込まれたプログラムIDが電話回線49を介して送信側システムに送られた後、送信側システムから受信側システムに対しPSE信号が供給される。
【0175】
図29では、図27と同様に、ステップS269でiを1に初期化しており、iはPSE信号の取得した順番を表す。図4のフラッシュメモリ39には、前回受けたPSE信号内の時刻情報が保持されている。ステップS270では、その保持されている時刻情報をTP(0)として取得する。また同様に、図6のようなパーソナルコンピュータ68の場合は、以前に受けたPSE信号内の時刻情報はHDD60上に保持されているので、その場合は、HDDから時刻情報をTP(0)として取得する。
【0176】
次に、ステップS271で時間カウンタTCがリセット(TC=0)され、ステップS272でCD−ROM上のプログラムID信号のPIDcdが送信され(図16の矢印a)、ステップS273でPSE信号を受信するのを待つ。同じく、ステップS274で、
一定期間TO(タイムアウト)内にPSE信号を受信しないと、放送を受信していないものと判断し、ステップS275で「非接続」を表示し、動作を終了する。
【0177】
PSE信号が受信される(図16の矢印b)と、CMデータの取得(図16の矢印c,d)に入る。まず、ステップS276aでTCの値がTICに入れられるが、これは2度目のチェックの時に用いられるので、1回目は関係ない。そして、ステップS276bで再び時間カウンタTCがゼロにリセット(TC=0)される。これは、通信の場合、先にCMデータの取得を行うので、PSE信号の取得までの時間が空いてしまうためである。続いて、ステップS277で、受信したPSE信号内の時刻データがTP(1)に保持されると共に、ステップS278でフラッシュメモリ39内の時刻データが更新される。なお、当然ながらパーソナルコンピュータ68の場合は、ステップS278でHDD10内の時刻情報が更新される。
【0178】
次のステップS279で、以前に取得した時刻データTP(0)と、今度のTP(1)が比較される。当然ながら、新たに取得した時刻データは、前の値より後ろの時刻を示しているはずである。この条件に当てはまらない場合は、ステップS280で信号が間違っている「誤りコード」を表示し、動作を終了する。この判定に合致すると、CMデータの取得(図16の矢印c,d)を行う。
【0179】
図30では、最初のステップS285aで、PID=送信システムからのプログラムID、とし、次のステップS285bで、受信したプログラムID信号PIDとCD−ROM上のプログラムID信号PIDcdが比較され、一致するとステップS287以降のC
Mデータの取得に移る。一致しない場合は、ステップS286に進んでプログラムID信号が一致しなかった「IDエラー」を表し、動作を終了する。
【0180】
上記ステップS285bでプログラムID信号のPIDとPIDcdとが比較されて一致すると判別された後における、CMデータ取得部分の各ステップS287〜S294は、図28の各ステップS261〜S268と全く同じなので、説明を省略する。CMデータの取得が終わると、再び図29のPSE信号処理のステップS272に戻る。
【0181】
図29に戻ると、ステップS272において、再びCD−ROM上のプログラムID信号PIDcdが送信され(図16の矢印e)、ステップS273で、PSE信号の受信待ち状態にはいる。2度目のPSE信号を取得する(図16の矢印f)と、ステップS276aに進んで、TCの値がTCIに入れられる。続いて、ステップSでTC=0とされ、次のステップS277で、受信したPSE信号内の時刻データがTP(2)に保持されると共に、ステップS278で、フラッシュメモリ39内の時刻データが更新される。次のステップS279で、1度目同様、TP(1)とTP(2)との比較が行われる。
【0182】
その後、ステップS281で、ゲーム機内のクロックをカウントして得られたTCIと、受信したTP(1)とTP(2)との差の比較が行われる。この2つの値は、2回のPSE信号の受信に要する時間間隔の差分を含めてほぼ同じ値を示さなければならない。よって、ステップS282で、誤差の許容値をδTとして、±δT以内であれば、この2つのPSE信号は正しいと判断し、ステップS283でソフトウエアを起動して、動作を終了する。すなわち、誤差の許容値である許容時間差をδTとし、
TPDmin=TP(i)−TP(i−1)−δT
TPDmax=TP(i)−TP(i−1)+δT
とするとき、ステップS282では、
TPDmin=TP(i)-TP(i-1)-δT<TIC<TPDmax=TP(i)-TP(i-1)+δT
であるか否かを判別している。
【0183】
それに対し、この許容値を超える場合は、ステップS280に進んで、信号が間違っていることを表示し、動作を終了する。なお、通信の場合、放送に比べ、発信から受信までの時間ずれが大きいので、δTを大きく取る必要がある。
以上のようにして、CMデータを取得したゲーム機は、CMデータに基づき、プログラムを進行させる。
【0184】
上述した全ての実施例において、ソフトウエアの起動の制限は、ソフトウエア全ての起動を制限する以外に、ソフトウエアの一部分のみを制限するなどの利用法が可能である。
【0185】
以上説明したような本発明の実施の形態によれば、ソフトウエア起動時に、商業広告を受信しているかをチェックし、受信していない状況で、ソフトウエアの起動を停止することができ、違法な使用法を禁止できる。また、ソフトウエア起動時に、不正な信号で動作を開始することを排除できる。
【0186】
すなわち、各家庭のゲーム機を通信回線等を介してホストコンピュータに接続してゲーム機システムとし、ゲーム機システムにおいて利用されるゲームソフトウェアに企業の需要に応じて商業広告を組み込むことが出来るゲーム機システム及びこれを利用したゲーム方法を提供することが出来る。
【0187】
更に、ゲーム機システムにおいて利用されるゲームソフトウェアに組み込まれた商業広告を適宜容易に更新出来るゲーム機システム及びこれを利用したゲーム方法を提供することが出来る。
【0188】
更に、ゲームソフトウェアに商業広告が入って動作しているかを判定し、入っていない場合には、動作しないように対処する適当な方法を提供することが出来る。
【0189】
更に、発売から時間が経過してユーザー利用率の低下したゲームソフトに関し、商業広告の有用性が低下場合には、新たに更新された商業広告が送信されなくとも、ゲームを開始できるシステムを提供することが出来る。
【0190】
上述した本発明の実施の形態に基づき、次のような適用例が挙げられる。
<放送システム利用の場合>
(1) デジタルデータを配信できる放送システムにおいて、間隔を置いて、繰り返しソフトウエアの起動を可能にする信号(PSE)を、セットトップボックスなどの受信機に送ると共に、繰り返し送るソフトウエアの起動を可能にする信号の間に、受信機側で起動するソフトウエアを識別できる信号(プログラムID)と、そのソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ又は挿入するためのデータ(CMデータ等)を配信する放送方式。
(2) デジタルデータを配信できる放送システムにおいて、 ハードディスクドライブなどのストレージデバイスに、ソフトウエアの起動を可能にする信号、受信機側で起動するソフトウエアを識別できる信号と、そのソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを蓄えておき、間隔を置いて、繰り返しソフトウエアの起動を可能にする信号を、セットトップボックスなどの受信機に送ると共に、繰り返し送るソフトウエアの起動を可能にする信号の間に、受信機側で起動するソフトウエアを識別できる信号と、そのソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを配信する放送システム。
(3) 放送によって送られてくるデジタルデータを受信できる受信機と、 ソフトウエアを動作させることができるゲーム機を有し、 ソフトウエア起動時に、送られてくるソフトウエアの起動を可能にする信号を受け付けるまで、ソフトウエアの起動を行わないゲーム機。
(4) 放送によって送られてくるデジタルデータを受信できる受信機と、 ソフトウエアを動作させることができるゲーム機を有し、 ソフトウエア動作中に、起動しているソフトウエアの識別信号と同じ識別信号とソフトウエアのデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを受信すると、ソフトウエア動作中にデータの一部を置き換え、あるいは、挿入して動作を行うゲーム機。
(5) 放送によって送られてくるデジタルデータを受信できる受信機と、 ソフトウエアを動作させることができるゲーム機を有し、 ソフトウエア動作中に、起動しているソフトウエアの識別信号と同じ識別信号を受信しなかった場合には、もとのソフトウエアのまま動作するゲーム機。
(6) 放送によって送られてくるデジタルデータを受信できる受信機と、 ソフトウエアを動作させることができるゲーム機を有し、 ソフトウエア起動時に、送られてくるソフトウエアの起動を可能にする信号を受け付けるまで、ソフトウエアの起動を行わないと共に、その後、起動しているソフトウエアの識別信号と同じ識別信号とソフトウエアのデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを受信すると、ソフトウエア動作中にデータの一部を置き換え、あるいは、挿入して動作を行い、ソフトウエアの識別信号を受信しなかった場合には、もとのソフトウエアのまま動作するゲーム機。
(7) 上記(1)に関連して、ソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータが、商業広告である放送方式。
(8) 上記(2)に関連して、ソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータが、商業広告である放送システム。
(9) 上記(4)又は(6)に関連して、ソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータが、商業広告であるゲーム機。
(10) 上記(4),(5),(6)又は(9)に関連して、使用されるソフトウエアにおいて、ソフトウエアの識別信号を挿入したソフトウエア。
(11) 上記(10)に関連して、ソフトウエアも記録した光ディスク。
(12) 上記(1)又は(7)の放送方式で、ソフトウエアの起動を可能にする信号を更新する放送方式。
(13) 上記(2)又は(8)の放送システムで、ソフトウエアの起動を可能にする信号を更新する放送システム。
(14) 上記(3),(6)又は(9)のゲーム機で、ソフトウエアの起動を可能にする信号が更新されていない場合には、ソフトウエアを起動しないゲーム機。
(15) 上記(12)の放送方式で、更新するソフトウエアの起動を可能にする信号に、時刻情報を用いる放送方式。
(16) 上記(13)の放送システムで、更新するソフトウエアの起動を可能にする信号に、時刻情報を用いる放送システム。
(17) 上記(14)のゲーム機で、更新するソフトウエアの起動を可能にする信号に、時刻情報を用い、時刻情報が異常値を示したとき、ソフトウエアを起動しない、あるいは、動作を中止するゲーム機。
(18) 上記(17)のゲーム機で、ソフトウエアの起動を可能にする信号内の時刻情報が、前回受信した値より小さい場合は異常値とみなし、ソフトウエアを起動しない、あるいは、動作を中止するゲーム機。
(19) 上記(17)のゲーム機で、ソフトウエア起動時に、少なくとも2回以上、ソフトウエアの起動を可能にする信号を受信し、先に受信した時から、次に受信するときまでの、ゲーム機内部のクロックを積算し、先に受信した時刻情報と、あとから受信した時刻情報の差が、クロック積算値と異なる場合に、ソフトウエアの起動しないゲーム機。
(20)上記(17)のゲーム機で、動作中に、少なくとも2回以上、ソフトウエアの起動を可能にする信号を受信し、先に受信した時から、次に受信するときまでの、ゲーム機内部のクロックを積算し、先に受信した時刻情報と、あとから受信した時刻情報の差が、クロック積算値と異なる場合に、動作を中止するゲーム機。
【0191】
<通信システム利用の場合>
(1) デジタルデータを受送信できる通信システムにおいて、 端末側から、起動するソフトウエアを識別できる信号を受信すると、ソフトウエアの起動を可能にする信号を、端末に送ると共に、そのソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを配信する通信方式。
(2) デジタルデータを受送信できる通信システムにおいて、 ハードディスクドライブなどのストレージデバイスに、ソフトウエアの起動を可能にする信号、受信機側で起動するソフトウエアを識別できる信号と、 そのソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを蓄えておき、
端末側から、起動するソフトウエアを識別できる信号を受信すると、ソフトウエアの起動を可能にする信号を、端末に送ると共に、そのソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを配信する通信システム。
(3) 通信機能と、ソフトウエアを動作させることができるゲーム機において、ソフトウエア起動時に、起動するソフトウエアを識別できる信号を転送し、その後に送られてくるソフトウエアの起動を可能にする信号を受け付けるまで、ソフトウエアの起動を行わないゲーム機。
(4) 通信機能と、ソフトウエアを動作させることができるゲーム機において、起動するソフトウエアを識別できる信号を転送し、その後にソフトウエアのデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを受信すると、ソフトウエア動作中にデータの一部を置き換え、あるいは、挿入して動作を行うゲーム機。
(5) 通信機能と、ソフトウエアを動作させることができるゲーム機を有し、起動するソフトウエアを識別できる信号を転送し、その後にソフトウエアのデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを受信しなかった場合には、もとのソフトウエアのまま動作するゲーム機。
(6) 通信機能と、ソフトウエアを動作させることができるゲーム機を有し、ソフトウエア起動時に、起動するソフトウエアを識別できる信号を転送し、その後に送られてくるソフトウエアの起動を可能にする信号を受け付けるまで、ソフトウエアの起動を行わないと共に、その後、ソフトウエアのデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを受信すると、ソフトウエア動作中にデータの一部を置き換え、あるいは、挿入して動作を行い、ソフトウエアのデータの一部分を置き換えるためのデータ、又は、挿入するためのデータを受信しなかった場合には、もとのソフトウエアのまま動作するゲーム機。
(7) 上記(1)のソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータが、商業広告である通信方式。
(8) 上記(2)のソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータが、商業広告である通信システム。
(9) 上記(4)又は(6)のソフトウエア動作時に使用するデータの一部分を置き換えるためのデータ、又は、挿入するためのデータが、商業広告であるゲーム機。
(10) 上記(4),(5),(6)又は(9)に使用されるソフトウエアにおいて、ソフトウエアの識別信号を挿入したソフトウエア。
(11) 上記(10)のソフトウエアも記録した光ディスク。
(12) 上記(1)又は(7)の通信方式で、ソフトウエアの起動を可能にする信号を更新する放送方式。
(13) 上記(2)又は(8)の通信システムで、ソフトウエアの起動を可能にする信号を更新する放送システム。
(14) 上記(3),(6)又は(9)のゲーム機で、ソフトウエアの起動を可能にする信号が更新されていない場合には、ソフトウエアを起動しないゲーム機。
(15) 上記(12)の通信方式で、更新するソフトウエアの起動を可能にする信号に、時刻情報を用いる通信方式。
(16) 上記(13)の通信システムで、更新するソフトウエアの起動を可能にする信号に、時刻情報を用いる通信システム。
(17) 上記(14)のゲーム機で、更新するソフトウエアの起動を可能にする信号に、時刻情報を用い、時刻情報が異常値を示したとき、ソフトウエアを起動しない、あるいは、動作を中止するゲーム機。
(18) 上記(17)のゲーム機で、ソフトウエアの起動を可能にする信号内の時刻情報が、前回受信した値より小さい場合は異常値とみなし、ソフトウエアを起動しない、あるいは、動作を中止するゲーム機。
(19) 上記(17)のゲーム機で、ソフトウエア起動時に、ソフトウエアを識別できる信号を転送し、ソフトウエアの起動を可能にする信号を受信する。
その後に、再び、ソフトウエアを識別できる信号を転送し、ソフトウエアの起動を可能にする信号を受信する。
また、先に受信した時から、次に受信するときまでの、ゲーム機内部のクロックを積算し、先に受信した時刻情報と、あとから受信した時刻情報の差が、クロック積算値と大きく異なる場合に、ソフトウエアの起動しないゲーム機。
(20) 上記(17)のゲーム機で、動作中に、ソフトウエアを識別できる信号を転送し、ソフトウエアの起動を可能にする信号を受信する。
その後に、再び、ソフトウエアを識別できる信号を転送し、ソフトウエアの起動を可能にする信号を受信する。
また、先に受信した時から、次に受信するときまでの、ゲーム機内部のクロックを積算し、先に受信した時刻情報と、あとから受信した時刻情報の差が、クロック積算値と大きく異なる場合に、動作を中止するゲーム機。
【図面の簡単な説明】
【0192】
【図1】本発明の実施の形態におけるレーシングゲーム中の一場面を示す図である。
【図2】本発明の実施の形態におけるレーシングゲーム中の別の一場面を示す図である。
【図3】本発明の実施の形態における放送システムを利用したCMデータ等を供給する送信側システムを示す図である。
【図4】本発明の実施の形態における受信側システムの一実施例のゲーム専用機を示す図である。
【図5】本発明の実施の形態における受信側システムの一実施例のパーソナルコンピュータを使用するシステムを示す図である。
【図6】本発明の実施の形態における送信側システム及び受信側システムの一例を示す図である。
【図7】本発明の実施の形態における送信側システム及び受信側システムの一例を示す図である。
【図8】本発明の実施の形態におけるゲーム専用機において、メインRAMには更新データ等が存在するバッファRAMのアドレスを記録し、ゲーム中にそのデータを呼びに行く場合について示す図である。
【図9】図8の場合のメインRAMにおける呼び出し方法の詳細を示す図である。
【図10】本発明の実施の形態におけるパーソナルコンピュータを使用し、同じメインRAMの他の箇所に記録し、ゲームソフトの該当個所には更新データ等が存在するアドレスを記録し、ゲーム中にそのデータを呼びに行く場合について示す図である。
【図11】図10及び図12の場合のメインRAMにおける呼び出し方法の詳細を示す図である。
【図12】本発明の実施の形態における、図10と同様の場合を示す図であるが、ゲームプログラムをダウンロードした場合を示す。
【図13】本発明の実施の形態におけるゲーム専用機において、新しいCMデータ等それ自体をメインRAMに組み込む場合について示す図である。
【図14】本発明の実施の形態における放送システムを利用して送信側システムから供給される新しいCMデータ等を含むデータの放送フォーマットを示す図である。
【図15】本発明の実施の形態における、図14に示した放送フォーマットのPSE,プログラムID及びCMデータの詳細を示す図である。
【図16】本発明の実施の形態における通信システム利用の場合のプロトコルを示す図である。
【図17】本発明の実施の形態におけるPSE信号のエンコード例を示す図である。
【図18】本発明の実施の形態におけるPSE信号のデコード例を示す図である。
【図19】本発明の実施の形態における、図17に関連して、PSE信号のエンコードのフローチャートを示し、具体的には日時データの反転のフローチャートを示す図である。
【図20】本発明の実施の形態における、図17に関連して、PSE信号のエンコードのフローチャートを示し、具体的には挿入データの追加のフローチャートを示す図である。
【図21】本発明の実施の形態における、図17に関連して、PSE信号のエンコードのフローチャートを示し、具体的にはダミーデータの加算のフローチャートを示す図である。
【図22】本発明の実施の形態における、図17に関連して、PSE信号のエンコードのフローチャートを示し、具体的にはヘッダの付加のフローチャートを示す図である。
【図23】本発明の実施の形態における、図18に関連して、PSE信号のデコードのフローチャートを示し、具体的には日時データのヘッダの検出を示す図である。
【図24】本発明の実施の形態における、図18に関連して、PSE信号のデコードのフローチャートを示し、具体的にはダミーデータの減算を示す図である。
【図25】本発明の実施の形態における、図18に関連して、PSE信号のデコードのフローチャートを示し、具体的には挿入データの抜き出しを示す図である。
【図26】本発明の実施の形態における、図18に関連して、PSE信号のデコードのフローチャートを示し、具体的には日時データの並べ替えを示す図である。
【図27】本発明の実施の形態における放送システムを利用した、ゲーム専用機又はパーソナルコンピュータ(PC)におけるPSE信号の処理のフローチャートを示す図である。
【図28】本発明の実施の形態における放送システムを利用した、ゲーム専用機又はパーソナルコンピュータにおけるCMデータの取得の処理のフローチャートを示す図である。
【図29】本発明の実施の形態における通信システムを利用した、ゲーム専用機又はパーソナルコンピュータにおけるPSE信号の処理のフローチャートを示す図である。
【図30】本発明の実施の形態における通信システムを利用した、ゲーム専用機又はパーソナルコンピュータにおけるCMデータの取得の処理のフローチャートを示す図である。

【特許請求の範囲】
【請求項1】
デジタルデータを配信可能な放送システムにおいて、
受信側システムに対して、ソフトウエア起動許可信号を間隔をおいて繰り返し送ると共に、該ソフトウエア起動許可信号の間に、上記ソフトウエアの識別信号と該ソフトウエア動作時にデータの一部分に対し置換又は挿入するためのデータとを配信する放送システム。
【請求項2】
放送システムを利用してデジタルデータを配信する送信側システムにおいて、
ストレージデバイスに、ソフトウエア起動許可信号と、受信側システムで起動するソフトウエアの識別信号と、そのソフトウエア動作時に使用データの一部分に対して置換又は挿入するためのデータとを蓄え、
上記ソフトウエア起動許可信号を上記受信側システムに対して送ると共に、該ソフトウエア起動許可信号の間に、上記ソフトウエアの識別信号と上記置換又は挿入するためのデータを配信する送信側システム。
【請求項3】
放送システムを利用して配信されるデジタルデータを受信する受信側システムにおいて、
上記デジタルデータを受信する受信機手段と、
上記受信機手段に接続された、ソフトウエアを動作させることができるゲーム機とを備え、
該ゲーム機は、上記受信機手段を介してソフトウエア起動許可信号を受け付けるまで、ゲームソフトの起動が禁止されている受信側システム。
【請求項4】
放送システム又は通信システムを利用して配信されるデータを受信する受信側システムで使用される光ディスクにおいて、
記録されたソフトウエアにソフトウエア識別信号が付けられており、上記受信側システムが、上記配信されるデータを選択的に利用できるようにした光ディスク。
【請求項5】
デジタルデータを受送信できる通信システムにおいて、
受信側システムから、起動するソフトウエアの識別信号を受信すると、送信側システムは受信側システムに対して、ソフトウエア起動許可信号を送ると共に、該ソフトウエア動作時に使用するデータの一部分を置換又は挿入するためのデータを配信する通信システム。
【請求項6】
通信システムを利用してデジタルデータを受送信できる受信側システムにおいて、通信機能手段と、
ソフトウエアを動作させることができるゲーム機とを備え、
上記ゲーム機は、ソフトウエア起動時に、起動するソフトウエアの識別信号を送信側システムに対して転送し、その後に送られてくるソフトウエア起動許可信号を受け付けるまでソフトウエアの起動が禁止されている受信側システム。
【請求項7】
データを複数の受信装置に配信するデータディストリビューションシステムにおいて、
供給されたプログラム識別情報を受け取ることによって、受信装置側において起動されるソフトウェアプログラムを認識する手段と、
上記認識手段によって認識されたソフトウェアプログラムに対応した信号であって、上記ソフトウェアプログラムが正規のソフトウェアプログラムである場合に、この正規のソフトウェアプログラムを起動させることを可能にするためのプログラムスタート許可信号を生成する手段と、
上記プログラムスタート許可信号を配信すると共に、上記プログラムスタート許可信号に従って起動される上記ソフトウェアプログラムの一部分に対して置換又は挿入されるデータを配信する配信手段と
を備えたデータディストリビューションシステム。
【請求項8】
データを複数の受信装置に配信するデータディストリビューション方法において、
供給されたプログラム識別情報を受け取ることによって、受信機側において起動されるソフトウェアプログラムを認識する工程と、
上記認識工程によって認識されたソフトウェアプログラムに対応した信号であって、上記ソフトウェアプログラムが正規のソフトウェアプログラムである場合に、この正規のソフトウェアプログラムを起動させることを可能にするためのプログラムスタート許可信号を生成する工程と、
上記プログラムスタート許可信号を配信すると共に、上記プログラムスタート許可信号に従って起動される上記ソフトウェアプログラムの一部分に対して置換又は挿入されるデータを配信する配信工程と
を備えたデータディストリビューション方法。
【請求項9】
ソフトウェアプログラムを実行するプログラム実行装置において、
データ配信装置から配信されたプログラムスタート許可信号と上記ソフトウェアプログラムの一部のオリジナルデータに対して置換又は挿入可能なデータとを受け取る受信手段と、
上記受信手段によって受信されたプログラムスタート許可信号に応答して、上記ソフトウェアプログラムの一部のオリジナルデータを上記データに置換又は挿入して、上記ソフトウェアプログラムを実行する制御手段と
を備えたことを特徴とするプログラム実行装置。
【請求項10】
ソフトウェアプログラムを実行するプログラム実行方法において、
データ配信手段から配信されたプログラムスタート許可信号と上記ソフトウェアプログラムの一部のオリジナルデータに対して置換又は挿入可能なデータとを受け取る受信工程と、
上記受信工程によって受信されたプログラムスタート許可信号に応答して、上記ソフトウェアプログラムの一部のオリジナルデータに対して上記データを置換又は挿入して、上記ソフトウェアプログラムを実行する制御工程と
を備えたことを特徴とするプログラム実行方法。
【請求項11】
ソフトウェアプログラムの起動を制御するプログラム起動制御装置において、
上記ソフトウェアプログラムの一部のオリジナルデータに対して置換又は挿入可能なデータと暗号化されたプログラムスタート許可信号とをデータ配信装置から受け取る受信手段と、
上記暗号化されたプログラムスタート許可信号を正常に解読できる場合には、上記ソフトウェアプログラムの一部のオリジナルデータに対して上記データを置換又は挿入するような動作を行うプログラムの実行を可能とし、上記暗号化されたプログラムスタート許可信号を正常に解読できない場合には、上記ソフトウェアプログラムの起動を制限する制限手段と
を備えたことを特徴とするプログラム起動制御装置。
【請求項12】
ソフトウェアプログラムの起動を制御するプログラム起動制御方法において、
上記ソフトウェアプログラムの一部のオリジナルデータに対して置換又は挿入可能なデータと暗号化されたプログラムスタート許可信号とをデータ配信装置から受け取る受信工程と、
上記暗号化されたプログラムスタート許可信号を正常に解読できる場合には、上記ソフトウェアプログラムの一部のオリジナルデータに対して上記データを置換又は挿入するような動作を行うプログラムの実行を可能とし、
上記暗号化されたプログラムスタート許可信号を正常に解読できない場合には、上記ソフトウェアプログラムの起動を制限する制限工程と
を備えたことを特徴とするプログラム起動制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2008−301498(P2008−301498A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2008−151106(P2008−151106)
【出願日】平成20年6月9日(2008.6.9)
【分割の表示】特願2007−186266(P2007−186266)の分割
【原出願日】平成9年12月25日(1997.12.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】