(57)【要約】【課題】ネットワーク遅延による位置ずれを低減させる情報通信システムを提供する。【解決手段】検出手段ＫＣ３は、コントローラ２０における操作に応じた操作信号を受信し、クライアント装置１に割り当てられたオブジェクトに対し、当該操作信号に応じた位置座標及び速度ベクトルを検出する。位置情報送信手段ＫＣ４は、検出手段ＫＣ３が検出したオブジェクトの位置座標及び速度ベクトルと、これらが検出された時刻とを含む位置情報パケットを送信する。位置情報受信手段ＫＣ５は、他のクライアント装置から送信された位置情報パケットを受信する。位置算出手段ＫＣ６は、位置情報受信手段ＫＣ５が位置情報パケットを受信した受信時刻と、当該位置情報パケットとを用いて、他のクライアント装置に対応するオブジェクトの当該受信時刻における位置座標を算出する。【選択図】  図７
2007206755.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する情報処理システムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
前記第１の情報処理装置は、
時刻を計測する第１計時手段と、
ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、
前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、
前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段とを備え、
前記第２の情報処理装置は、
時刻を計測する第２計時手段と、
前記所定のネットワークを介して前記第１位置情報を受信する第２位置情報受信手段と、
前記第２位置情報受信手段が前記第１位置情報を受信した受信時刻を前記第２計時手段より取得し、当該受信時刻と、当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段と備える
ことを特徴とする情報処理システム。
【請求項２】
前記所定のオブジェクトは、前記第１のオブジェクトを複数含み、
前記第１検出手段は、前記第１入力手段に入力された指示信号に基づき、複数の前記第１のオブジェクトの前記仮想空間における各位置及び各移動速度を検出し、
前記第１位置情報は、前記第１検出手段が検出した複数の前記第１のオブジェクトの各位置及び各移動速度と、これらが検出された検出時刻とを含む
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１検出手段は、前記第１のオブジェクトの移動方向を検出し、
前記第１位置情報は、前記第１のオブジェクトの移動方向を含む
ことを特徴とする請求項１又は請求項２に記載の情報処理システム。
【請求項４】
前記所定のオブジェクトは、前記第２の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第２のオブジェクトを含み、
前記第２の情報処理装置は、
ユーザからの指示入力に応じた指示信号が入力される第２入力手段と、
前記第２入力手段に入力された指示信号に基づき、前記第２のオブジェクトの前記仮想空間における位置及び移動速度を検出する第２検出手段と、
前記第２検出手段が前記第２のオブジェクトの位置及び移動速度を検出した検出時刻を前記第２計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第２位置情報を前記所定のネットワークを介して送信する第２位置情報送信手段とを更に備え、
前記第１の情報処理装置は、
前記所定のネットワークを介して送信された前記第２位置情報を受信する第１位置情報受信手段と、
前記第１位置情報受信手段が前記第２位置情報を受信した受信時刻を前記第１計時手段より取得し、当該受信時刻と、当該第２位置情報とを用いて、当該受信時刻における前記第２のオブジェクトの前記仮想空間における位置を算出する第１位置算出手段とを更に備える
ことを特徴とする請求項１から請求項３のうちいずれか一項に記載の情報処理システム。
【請求項５】
前記第２の情報処理装置は、前記第２位置算出手段が算出した位置に基づいて前記第１のオブジェクトを配置した仮想空間を表す画像を描画する第２描画手段を備える
ことを特徴とする請求項１から請求項４のうちいずれか一項に記載の情報処理システム。
【請求項６】
前記第２の情報処理装置は、前記第２検出手段が検出した位置に基づいて配置した前記第２のオブジェクトと、前記第２位置算出手段が算出した位置に基づいて配置した前記第１のオブジェクトとを含む仮想空間を表す画像を描画する第２描画手段を備える
ことを特徴とする請求項４に記載の情報処理システム。
【請求項７】
前記第２情報処理装置は、前記第２位置情報受信手段が受信した前記第１位置情報と、前記前記第２位置情報算出手段が取得した前記受信時刻と、前記第２位置情報算出手段が算出した前記受信時刻における前記位置とを記憶する第２記憶手段を備え、
前記第２位置情報算出手段は、前記第２描画手段が前記画像を描画するとき、当該描画時刻を前記第２計時手段より取得し、当該描画時刻と、前記第２記憶手段に記憶された前記受信時刻、前記受信時刻における前記位置及び前記第１位置情報に含まれる移動速度とを用いて、当該描画時刻における前記第１のオブジェクトの位置を算出する
ことを特徴とする請求項５又は請求項６に記載の情報処理システム。
【請求項８】
前記第２描画手段が描画した画像を表示する第２表示手段を備える
ことを特徴とする請求項５から請求項７のうちいずれか一項に記載の情報処理システム。
【請求項９】
前記第１の情報処理装置は、前記第１検出手段が検出した位置に基づいて前記第１のオブジェクトを配置した仮想空間を表す画像を描画する第１描画手段を備える
ことを特徴とする請求項１から請求項８のうちいずれか一項に記載の情報処理システム。
【請求項１０】
前記第１の情報処理装置は、前記第１検出手段が検出した位置に基づいて配置した前記第１のオブジェクトと、前記第１位置算出手段が算出した位置に基づいて配置した前記第２のオブジェクトとを含む仮想空間を表す画像を描画する第１描画手段を備える
ことを特徴とする請求項４に記載の情報処理システム。
【請求項１１】
前記第１情報処理装置は、前記第１位置情報受信手段が受信した前記第２位置情報と、前記第１位置情報算出手段が取得した前記受信時刻と、前記第１位置情報算出手段が算出した前記受信時刻における前記位置とを記憶する第１記憶手段を備え、
前記第１位置情報算出手段は、前記第１描画手段が前記画像を描画するとき、当該描画時刻を前記第１計時手段より取得し、当該描画時刻と、前記第１記憶手段に記憶された前記受信時刻、前記受信時刻における前記位置及び前記第２位置情報に含まれる移動速度とを用いて、当該描画時刻における前記第２のオブジェクトの位置を算出する
ことを特徴とする請求項１０に記載の情報処理システム。
【請求項１２】
前記第１描画手段が描画した画像を表示する第１表示手段を備える
ことを特徴とする請求項９から請求項１１のうちいずれか一項に記載の記載の情報処理システム。
【請求項１３】
前記第１及び第２の情報処理装置のうち一方の情報処理装置は、
送信時刻を示す第１時刻情報を他方の情報処理装置へ送信する時刻情報送信手段と、
前記第１時刻情報を受信した前記他方の情報処理装置から送信され且つ当該第１時刻情報と、当該第１時刻情報を受信した受信時刻を示す第２時刻情報とを含む時刻返信情報を受信する時刻情報受信手段と、
前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返信情報に含まれる第１時刻情報及び第２時刻情報が各々示す前記時刻とを用いて、前記他方の情報処理装置との時刻差を算出し、算出した時刻差を用いて、当該一方の情報処理装置の計時手段が計測する時刻を補正する時刻補正手段とを備え、
前記他方の情報処理装置は、
前記一方の情報処理装置から送信された前記第１時刻情報を受信したとき、当該受信時刻を示す第２時刻情報と、当該第１時刻情報とを含む時刻返信情報を前記一方の情報処理装置に送信する時刻情報返信手段を備える
ことを特徴とする請求項１から請求項６のうちいずれか一項に記載の情報処理システム。
【請求項１４】
前記時刻返信情報は、当該時刻返信情報を返信する返信時刻を示す第３時刻情報を含み、
前記時刻情報処理手段は、前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返信情報に含まれる第１時刻情報、第２時刻情報及び第３時刻情報が各々示す時刻とを用いて、前記他方の情報処理装置との時刻差を算出する
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１５】
所定のネットワークに接続されたサーバ装置を更に備え、
前記サーバ装置は、前記第１の情報処理装置から送信された前記第１位置情報を前記第２の情報処理装置に送信する位置情報中継手段を備える
ことを特徴とする請求項１から請求項１４のうちいずれか一項に記載の情報処理システム。
【請求項１６】
前記位置情報中継手段は、前記第２の情報処理装置から送信された前記第２位置情報を前記第１の情報処理装置に送信する
ことを特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
前記第１及び第２の情報処理装置のうち少なくとも１つの情報処理装置は、
送信時刻を示す第１時刻情報を前記サーバ装置へ送信する第１時刻情報送信手段と、
前記第１時刻情報を受信した前記サーバ装置から送信され且つ当該第１時刻情報と、当該第１時刻情報を受信した時刻を示す第２時刻情報とを含む時刻返信情報を受信する時刻情報受信手段と、
前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返信情報に含まれる第１時刻情報及び第２時刻情報が各々示す前記時刻とを用いて、前記サーバ装置との時刻差を算出し、算出した時刻差を用いて、当該情報処理装置の計時手段が計測する時刻を補正する時刻補正手段とを備え、
前記サーバ装置は、
時刻を計測する第３計時手段と、
前記情報処理装置から送信された前記第１時刻情報を受信したとき、当該受信時刻を示す第２時刻情報と、当該第１時刻情報とを含む時刻返信情報を前記情報処理装置に送信する時刻情報返信手段とを備える
ことを特徴とする請求項１５又は請求項１６に記載の情報処理システム。
【請求項１８】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第１の情報処理装置であって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
時刻を計測する第１計時手段と、
ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、
前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、
前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段とを備える
ことを特徴とする情報処理装置。
【請求項１９】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第２の情報処理装置であって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
時刻を計測する第２計時手段と、
前記第１のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第１位置情報を前記所定のネットワークを介して受信する第２位置情報受信手段と、
前記第２位置情報受信手段が前記第１位置情報を受信した受信時刻を前記第２計時手段より取得し、当該受信時刻と、当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段と備える
ことを特徴とする情報処理装置。
【請求項２０】
所定のネットワークに接続される第１及び第２の携帯端末装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置し、前記所定のオブジェクトは、前記第１の携帯端末装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトと、前記第２の携帯端末装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第２のオブジェクトとを含む第１の携帯端末装置であって、
ユーザからの指示入力に応じた指示信号が入力される入力手段と、
時刻を計測する計時手段と、
前記入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する検出手段と、
前記検出手段が前記第１のオブジェクトの位置と移動速度とを検出した検出時刻を前記計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する位置情報送信手段と、
前記第２のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第２位置情報を前記所定のネットワークを介して受信する位置情報受信手段と、
前記位置情報受信手段が前記第２位置情報を受信した受信時刻を前記第２計時手段より取得し、当該受信時刻と、当該第２位置情報とを用いて、当該受信時刻における前記第２のオブジェクトの前記仮想空間における位置を算出する位置算出手段と、
前記検出手段が検出した位置に基づいて配置した前記第１のオブジェクトと、前記位置算出手段が算出した位置に基づいて配置した前記第２のオブジェクトとを含む仮想空間を表す画像を描画する描画手段と、
前記描画手段が描画した画像を表示する表示手段とを備える
ことを特徴とする携帯端末装置。
【請求項２１】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第１の情報処理装置のコンピュータに実行させるための情報処理プログラムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
ユーザからの指示入力に応じた指示信号が入力される第１入力ステップと、
前記第１入力ステップで入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出ステップと、
前記第１検出ステップで前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を取得し、当該検出時刻と、当該位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信ステップとを有する
ことを特徴とする情報処理プログラム。
【請求項２２】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第２の情報処理装置のコンピュータに実行させるための情報処理プログラムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
前記第１のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第１位置情報を前記所定のネットワークを介して受信する第２位置情報受信ステップと、
前記第２位置情報受信ステップで前記第１位置情報を受信した受信時刻を取得し、当該受信時刻と、当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出ステップとを有する
ことを特徴とする情報処理プログラム。
【請求項２３】
請求項２１又は請求項２２に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のネットワークに接続される少なくとも２つの情報処理装置が仮想空間を共有する情報処理システムに用いて好適な技術に関する。
【背景技術】
【０００２】
近年、複数のクライアント装置がネットワークを介してゲームを行うネットワークゲームが多種多様開発されている（例えば特許文献１参照）。これらのネットワークゲームでは、複数のクライアント装置がネットワーク上の１つの仮想空間を共有して、ゲームを行う。この仮想空間には、ネットワークゲームに参加する各クライアント装置に対応するプレイヤオブジェクトが各々配置される。各プレイヤオブジェクトは仮想空間内を移動することができる。各プレイヤオブジェクトの移動は、各プレイヤオブジェクトに対応するクライアント装置に接続されたコントローラを各ユーザが操作することにより行われる。このような仮想空間は、ゲーム画像によって表される。ゲーム画像は、各クライアント装置に接続されたモニタ装置の各スクリーンに表示される。各スクリーンには、各プレイヤオブジェクトの仮想空間内の位置が同期して表示されるようにしなければならない。この為、各クライアント装置は、自装置に対応するプレイヤオブジェクトの位置情報をネットワークゲームに参加する全てのクライアント装置に定期的に送信する。サーバ装置を介して送信する場合もサーバ装置を介さず送信する場合もある。いずれの場合においても、位置情報としてプレイヤオブジェクトの位置座標（ｘ０，ｙ０）を送信する方法と、位置座標（ｘ０，ｙ０）とその位置座標における速度ベクトル（Ｖｘ，Ｖｙ）とを送信する方法とがある。
【０００３】
【特許文献１】特開２００１ー１９８３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、いずれの方法においても、送信元のクライアント装置から位置情報が送信されてから、送信先のクライアント装置が位置情報を受信するまでに時間がかかる（これを、ネットワーク遅延という）。この為、前者の方法においては、送信先のクライアント装置では、送信当時の過去の位置座標を受信することになり、受信当時の位置座標を正しく把握することができない。
【０００５】
また、後者の方法においては、送信先のクライアント装置では、t秒後の位置座標（ｘｔ，ｙｔ）を算式（ａ），（ｂ）により算出することができる。
【０００６】
ｘｔ= ｘ０＋Ｖｘ×ｔ・・・（ａ）
ｙｔ= ｙ０＋Ｖｙ×ｔ・・・（ｂ）
しかし、このように算出した位置座標（ｘｔ，ｙｔ）は、送信元のクライアント装置が位置情報を送信してからｔ秒後の位置座標に等しく、送信先のクライアント装置が位置情報を受信してからｔ秒後の位置座標と実際には異なる場合がある。このため、送信元のクライアント装置と送信先のクライアント装置とで、送信先のクライアント装置に対応するプレイヤオブジェクトの位置にずれが生じる（以下、位置ずれという）恐れがある。これも、結局、位置情報の送信と受信との間にネットワーク遅延が生じることに一因がある。
【０００７】
従って、いずれの方法においても、同時刻に各スクリーンにおいて表示され得る各プレイヤオブジェクトの位置ずれが常に生じる恐れがある。
【０００８】
そこで、本発明は上述の課題に鑑みてなされたものであり、ネットワーク遅延による位置ずれを低減させる情報通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理システムは、所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する。前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、前記第１の情報処理装置は、時刻を計測する第１計時手段と、ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段とを備える。前記第２の情報処理装置は、時刻を計測する第２計時手段と、前記所定のネットワークを介して前記第１位置情報を受信する第２位置情報受信手段と、前記第２位置情報受信手段が前記第１位置情報を受信した受信時刻を前記第２計時手段より取得し、当該受信時刻と、当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段と備える。
【発明の効果】
【００１０】
本発明によれば、前記第１の情報処理装置が、第１のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第１位置情報を送信し、前記第２の情報処理装置が、当該第１位置情報と、当該第１の位置情報を受信した受信時刻とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する。これにより、第２の情報処理装置は、第１のオブジェクトの前記仮想空間における位置をより正確に算出することができ、ネットワーク遅延による位置ずれを低減させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施例について説明する。なお、各図において共通する部分には、同一の符号が付されている。また、かかる実施例は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【００１２】
[実施例１]
（１）構成
＜ネットワークゲームシステムの構成＞
図１は、本実施例に係るネットワークゲームシステムＳの概要を示す模式図である。ネットワークゲームシステムＳは、クライアント装置１Ａ，１Ｂと、サーバ装置２とを備える。サーバ装置２と、クライアント装置１Ａ，１Ｂの各々とは、パケット通信網３０を介して、例えばＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）に従って、パケット通信を行う。パケット通信網３０は、例えば、アナログ公衆電話回線や通信衛星回線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）やＬＡＮ(Local Area Network)、ＣＡＴＶ(Community Antenna Television)網、ＩＳＤＮ（総合ディジタル通信網）などの通信手段によって、サーバ装置２と、クライアント装置１Ａ，１Ｂとのデータの授受を中継する。
【００１３】
各クライアント装置１Ａ，１Ｂには、ユーザにより操作される操作端末であるコントローラ２０Ａ，２０Ｂと、モニタ装置１０Ａ，１０Ｂとが各々接続される。モニタ装置１０Ａ，１０Ｂにはクライアント装置１Ａ，１Ｂから映像信号及び音声信号が各々供給される。モニタ装置１０Ａ，１０Ｂは、クライアント装置１Ａ，１Ｂから供給された映像信号に基づいて画像を表示するスクリーン１１Ａ，１１Ｂと、クライアント装置１Ａ，１Ｂから供給された音声信号に基づいて音声を出力するスピーカ（図示せず）とを各々備える。
【００１４】
＜ネットワークゲームの概要＞
上記構成のネットワークゲームシステムＳにより、各クライアント装置１Ａ，１Ｂにおいて、ネットワークゲームが実行される。本実施形態におけるネットワークゲームにおいては、仮想空間に各クライアント装置１Ａ，１Ｂに対応する各オブジェクトが配置される。そして、この仮想空間を表すゲーム画像が、各クライアント装置１Ａ，１Ｂに接続されたモニタ装置１０Ａ，１０Ｂのスクリーン１１Ａ，１１Ｂに各々表示される。スクリーン１１Ａ，１１Ｂには、例えば、図２に示されるように、クライアント装置１Ａに対応するオブジェクトＯＡとクライアント装置１Ｂに対応するオブジェクトＯＢとを含むゲーム画像が表示される。仮想空間内における各オブジェクトＯＡ，ＯＢの位置は、各々対応するクライアント装置１Ａ，１Ｂに接続されるコントローラ２０Ａ，２０Ｂにおける各々の操作に応じて変更される。各クライアント装置１Ａ，１Ｂは、自装置に各々割り当てられたオブジェクトＯＡ，ＯＢの位置に関する情報（以下、位置情報パケットという）をサーバ装置２に定期的に送信する。サーバ装置２は、クライアント装置１Ａ，１Ｂから送信された位置情報パケットを受信すると、当該位置情報パケットを送信したクライアント装置以外の他のクライアント装置全てに対して送信する。各クライアント装置１Ａ，１Ｂは、自装置以外のクライアント装置から送信されサーバ装置２から送信された位置情報パケットを受信すると、当該位置情報パケットに基づいて、当該位置情報パケットに対応するオブジェクトの位置を算出する。そして、各クライアント装置１Ａ，１Ｂは、算出した位置に基づき、各々対応するオブジェクトを表示させると共に、自装置に対応するオブジェクトを表示させる。以上のようにして、仮想空間に配置されたオブジェクトＯＡ，ＯＢを移動させることによりゲームが展開される。
【００１５】
＜クライアント装置の構成＞
次に、図３を参照しながら、クライアント装置１Ａ，１Ｂのハードウェア構成について説明する。尚、以降、クライアント装置１Ａ，１Ｂ、コントローラ２０Ａ，２０Ｂ、モニタ装置１０Ａ，１０Ｂ、スクリーン１１Ａ，１１Ｂについて、区別して記載する必要がない場合には、単に、クライアント装置１、コントローラ２０、モニタ装置１０、スクリーン１１、と各々記載する。また、各装置を区別して記載する必要があり、以下の各構成要素について区別して記載する必要がある場合には、各々符号の後ろにＡ又はＢを付記する。
【００１６】
クライアント装置１は、ディスクトレイ３、ボタン４,９、ＵＳＢ（Universal Serial Bus）接続端子５、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４接続端子６、コントローラポート７ａ，７ｂ、メモリカードスロット８ａ，８ｂ等を備えている。ディスクトレイ３は、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等の光ディスクが装填可能に構成されている。ボタン４は、電源のオンやスタンバイ，ゲームのリセットを行うためのオン／スタンバイ／リセットボタンである。ボタン９は、ディスクトレイ３をオープン／クローズさせるオープン／クローズボタンである。コントローラポート７ａ，７ｂは、コントローラ２０に接続される接続ケーブル１３の有するコネクタ１２が着脱自在に構成されている。メモリカードスロット８ａ，８ｂは、半導体メモリであるメモリカード（図示せず）が着脱自在に構成されている。また、図示は省略するが、当該クライアント装置１の背面側には、電源スイッチ、音響映像出力端子（ＡＶマルチ出力端子）、ＰＣカードスロット、光ディジタル出力端子、ＡＣ電源入力端子などが設けられている。
【００１７】
コントローラ２０は、第１操作部２１、第２操作部２２と、スタートボタン２４と、選択ボタン２５と、アナログ操作が可能なアナログ操作部２３Ｌ，２３Ｒと、これらアナログ操作部２３Ｌ、２３Ｒの操作モードを選択するモード選択スイッチ２６と、Ｒボタン２８Ｒ，２８Ｒ′と、Ｌボタン２９Ｌ，２９Ｌ′との各種操作子と、選択された操作モードを表示するための表示部２７と、把持部２０Ｒ，２０Ｌとを備えている
＜クライアント装置の内部回路構成＞
次に、図４を参照しながら、クライアント装置１の主要な内部構成について説明する。図４は、クライアント装置１の主要な内部構成を示すブロック図である。
【００１８】
図４に示すように、クライアント装置１は、メインバス６１とサブバス６２とを有し、これらの６１、６２は、バスインタフェース６３を介して互いに接続され又は切り離される。
【００１９】
メインバス６１には、メインＣＰＵ６４と、ＲＡＭで構成されるメインメモリ６５と、メインＤＭＡＣ（direct memory access controller）６６と、フレームメモリ６７を内蔵する画像処理デバイス（ＧＰＵ（graphic processing unit））６８とが接続される。ＧＰＵ６８には、映像信号を生成するための制御手段であるＣＲＴＣ（CRT controller）６９が接続される。
【００２０】
サブバス６２には、マイクロプロセッサなどで構成されるサブＣＰＵ７３、ＲＡＭで構成されるサブメモリ７４、サブＤＭＡＣ７５、ＲＯＭ７０、サウンドメモリ７６に蓄積された音データを読み出して音声信号を出力する音声処理装置（ＳＰＵ（sound processing unit））７７、周辺機器を制御するＩＯプロセッサ（ＩＯＰ）７８、通信部７９、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体であるメディア７２を装着するためのメディアドライブ７１が接続されている。
【００２１】
ＲＯＭ７０には、クライアント装置１の各部を制御するためのオペレーティングシステムや、各種機能を実現させるためのプログラムやゲームプログラムなどの各種プログラムが記憶されている。
【００２２】
メインＣＰＵ６４は、クライアント装置１の起動時にバスインタフェース６３を介してＲＯＭ７０に記憶されているオペレーティングシステムをメインメモリ６５に読み出し、読み出したオペレーティングシステムを実行することにより、クライアント装置１各部の動作を制御する。また、メインＣＰＵ６４は、カウンタ６４０を備え、当該カウンタ６４０により計測される値に基づいて、現在時刻を得る。また、カウンタ６４０は、設定された所定の時間毎に終了信号を出力するタイマ機能を備える。
【００２３】
また、メインＣＰＵ６４がＲＯＭ７０に記憶された各種プログラムを実行することにより、時刻情報処理機能及び位置情報処理機能を実現させる。時刻情報処理機能とは、時刻情報送信機能と、時刻情報受信機能と、時刻補正機能とを含む。具体的には、時刻情報処理機能とは、クライアント装置１とサーバ装置２との間で時刻情報パケットを送受信することにより、メインＣＰＵ６４のカウンタ６４０で計測された値に基づく現在時刻を、サーバ装置２における現在時刻に同期させる機能のことである。位置情報処理機能とは、位置情報送信機能と、位置情報受信機能と、位置算出機能とを含む。位置情報送信機能とは、当該クライアント装置１がネットワークゲームに参加した後、当該クライアント装置１に割り当てられたオブジェクトの位置情報をサーバ装置２に送信する機能のことである。位置情報受信機能とは、ネットワークゲームに参加する他のクライアント装置に対応するオブジェクトの位置情報をサーバ装置２から受信する機能のことである。位置算出機能とは、受信した位置情報に基づき、オブジェクトの位置を算出する機能のことである。これらの機能の詳細については、後述する。
【００２４】
また、メインＣＰＵ６４は、メディアドライブ７１を制御するとともに、このメディアドライブ７１に装着されたメディア７２からアプリケーションプログラムや各種データをメインメモリ６５に読み出し、読み出したアプリケーションプログラムを実行することにより、各種機能を実現させる。メディア７２には、例えば、ゲームプログラムや、ゲーム画像などのデータが記憶されている。
【００２５】
また、メインＣＰＵ６４は、メインメモリ６５に読み出した各種データのうち、複数の基本図形（ポリゴン）で構成された３次元オブジェクトデータ（ポリゴンの頂点の座標値など）に対してジオメトリ処理を行って、ディスプレイリストを生成し、生成したディスプレイリストをＧＰＵ６８に供給する。ディスプレイリストは、ポリゴンを描画するためのポリゴン定義情報であり、ポリゴン定義情報は、描画領域設定情報とポリゴン情報とからなる。描画領域設定情報は、描画領域のフレームバッファアドレスにおけるオフセット座標と、描画領域の外部にポリゴンの座標があった場合に、描画をキャンセルするための描画クリッピング領域の座標からなる。ポリゴン情報は、ポリゴン属性情報と頂点情報とからなり、ポリゴン属性情報は、シェーディングモード、αブレンディングモード、およびテクスチャマッピングモード等を指定する情報であり、頂点情報は、頂点描画領域内座標、頂点テクスチャ領域内座標、および頂点色等の情報である。
【００２６】
また、メインＣＰＵ６４は、ＭＰＥＧ（Moving Picture Experts Group）方式やＪＰＥＧ（Joint Photographic Experts Group）方式等で圧縮されたデータを伸張する。
【００２７】
メインメモリ６５には、メインＣＰＵ６４がＲＯＭ７０やメディア７２から読み出したプログラムや、各種データが記憶される。また、上述の位置情報処理機能が実現される際にメインＣＰＵ６４によって用いられるオブジェクト管理テーブル６５０が記憶される。クライアント装置１Ａにおいては、例えば、図５に示されるようなオブジェクト管理テーブル６５０Ａが記憶されており、クライアント装置１Ｂにおいては、例えば、図６に示されるようなオブジェクト管理テーブル６５０Ｂが記憶されている。
【００２８】
このオブジェクト管理テーブル６５０には、ネットワークゲームを実行する際に用いられる仮想空間における各オブジェクトの位置に関する情報が記憶される。本実施例においては、仮想空間は、２次元空間であり、この仮想空間に配置される各オブジェクトには、２次元の位置座標が対応付けられる。そして、他のクライアント装置に対応するオブジェクトについては、オブジェクトのオブジェクトＩＤと、オブジェクトに対応する管理ＩＤと、サーバ装置２から受信した位置情報パケットに含まれる情報と、当該位置情報パケットを受信した受信時刻とが対応付けられて記憶される。位置情報パケットに含まれる情報とは、仮想空間におけるオブジェクトの位置座標と、当該オブジェクトの移動速度及び移動方向を示す速度ベクトルと、これらが検出された検出時刻とである。更に、オブジェクト管理テーブル６５０には、上述の位置座標、速度ベクトル、検出時刻及び受信時刻を用いてメインＣＰＵ６４が算出したオブジェクトの初期座標が記憶される。また、当該クライアント装置１に対応するオブジェクトについては、コントローラ２０から送信された操作信号に応じて検出される位置座標と、速度ベクトルと、これらが検出された検出時刻とが記憶される。尚、本実施例においては、説明の便宜上、オブジェクトＯＡのオブジェクトＩＤを”ＯＡ”とし、オブジェクトＯＢのオブジェクトＩＤを”ＯＢ”とする。
【００２９】
ＧＰＵ６８は、描画コンテクストを保持しており、メインＣＰＵ６４から供給されるディスプレイリストに含まれる画像コンテクストの識別情報に基づいて該当する描画コンテクストを読み出し、これを用いてレンダリング処理を行い、フレームメモリ６７にポリゴンを描画する。フレームメモリ６７は、テクスチャメモリとしても使用できるため、フレームメモリ６７上のピクセルイメージをテクスチャとして描画するポリゴンに貼り付けることができる。
【００３０】
ＣＲＴＣ６９は、フレームメモリ６７に描画された画像に基づいて映像信号を生成し、これをクライアント装置１と接続されているモニタ装置１０に供給する。この結果、モニタ装置１０のスクリーン１１に画像が表示される。
【００３１】
メインＤＭＡＣ６６は、メインバス６１に接続されている各回路を対象としてＤＭＡ転送制御を行うとともに、バスインタフェース６３の状態に応じて、サブバス６２に接続されている各回路を対象としてＤＭＡ転送制御を行う。
【００３２】
サブＣＰＵ７３は、ＲＯＭ７０に記憶されているプログラムに従って各種動作を行う。
サブＤＭＡＣ７５は、バスインタフェース６３がメインバス６１とサブバス６２を切り離している状態においてのみ、サブバス６２に接続されている各回路を対象としてＤＭＡ転送などの制御を行う。
【００３３】
ＩＯＰ７８は、ＲＯＭ７０に記憶されているＩＯＰ用のオペレーティングシステムなどのプログラムを実行することにより、コントローラポート７Ａ，７Ｂを介して授受されるコントローラ２０からの操作信号やコントローラ２０への制御信号、メモリカードポート８Ａ，８Ｂを介して授受されるメモリカードにおけるデータの入出力、ＵＳＢ接続端子５やＩＥＥＥ１３９４接続端子６におけるデータの入出力を制御する。
【００３４】
通信部７９は、サブＣＰＵ７３の制御の下、外部装置とのデータ通信を制御する。外部装置と通信部７９とは、パケット通信網３０を介してデータ通信を行う。
【００３５】
＜機能的構成＞
次に、クライアント装置１の機能的構成について説明する。図７に、本実施例に係るクライアント装置１の機能的構成を模式的に示す。本実施例においては、ＲＯＭ７０に記憶された各種プログラムをメインＣＰＵ６４が実行し、この処理の実行過程においてメインＣＰＵ６４の制御命令に従ってＧＰＵ６８等のクライアント装置１各部が各種処理を行うことにより、以下の各手段ＫＣ１〜ＫＣ７の機能が実現される。また、以下の各手段ＫＣ１〜ＫＣ２の機能が実現されることにより、時刻情報処理機能が実現される。以下の各手段ＫＣ１，ＫＣ３〜ＫＣ７の機能が実現されることにより、位置情報処理機能が実現される。
【００３６】
＜時刻情報処理機能＞
計時手段ＫＣ１は、時刻を計測する。時刻情報処理手段ＫＣ２は、計時手段ＫＣ１で計測された時刻に基づき、現在時刻を得て、この時刻Ｔ１を含む時刻補正パケットを生成し、これをパケット通信網３０を介してサーバ装置２に送信する。また、時刻情報処理手段ＫＣ２は、当該時刻情報処理手段ＫＣ２が送信した時刻補正パケットがサーバ装置２で受信された受信時刻Ｔ２と、当該時刻補正パケットがサーバ装置２で送信された送信時刻Ｔ３とを含む時刻補正パケット（時刻返信情報）をサーバ装置２から受信する。そして、当該時刻補正パケットを受信した受信時刻Ｔ４と、当該時刻補正パケットに含まれる時刻Ｔ１〜Ｔ３とを用いて、サーバ装置２とクライアント装置１との時刻差Ｄを算出する。そして、算出した時刻差Ｄを用いて、計時手段ＫＣ１で計測される時刻に基づく現在時刻を補正し、サーバ装置２の現在時刻と、クライアント装置１の現在時刻とを同期させる。
【００３７】
＜位置情報処理機能＞
検出手段ＫＣ３は、コントローラ２０における操作に応じた操作信号をコントローラ２０から逐次受信し、当該クライアント装置１に割り当てられたオブジェクトに対し、当該操作信号に応じた位置座標、及び速度ベクトルを検出する。
【００３８】
位置情報送信手段ＫＣ４は、計時手段ＫＣ１で計測された時刻に基づき、所定の時間毎に、検出手段ＫＣ３が検出したオブジェクトの位置座標及び速度ベクトルと、これらが検出された時刻とを含む位置情報パケットを、パケット通信網３０を介してサーバ装置２に送信する。
【００３９】
位置情報受信手段ＫＣ５は、サーバ装置２から送信された他のクライアント装置の位置情報パケットを受信し、当該パケットを受信した受信時刻を一時的に記憶する。
【００４０】
位置算出手段ＫＣ６は、位置情報受信手段ＫＣ５が位置情報パケットを受信した受信時刻と、当該位置情報パケットとを用いて、当該位置情報パケットに対応するオブジェクトの当該受信時刻における位置座標を算出する。
【００４１】
描画手段ＫＣ７は、位置算出手段ＫＣ６が算出した各位置座標を用いて、各オブジェクトを含むゲーム画像を生成し、これをモニタ装置１０のスクリーン１１に表示させる。
【００４２】
＜サーバ装置の構成＞
次に、図８を参照しながら、サーバ装置２の主要な内部構成について説明する。図８は、サーバ装置２の主要な内部構成を示すブロック図である。
【００４３】
サーバ装置２は、ＣＰＵ２０Ｓと、ＲＯＭ２１Ｓと、ＲＡＭ２２Ｓと、ＨＤ（Hard Disc）２３Ｓと、通信部２４Ｓとから構成され、これらはバスを介して接続される。
【００４４】
ＲＯＭ２１Ｓには、サーバ装置２の各部を制御するためのオペレーティングシステムや各種プログラムが記憶されている。また、クライアント装置１から送信された時刻補正パケットに受信時刻及び返信時刻を加えて返信する時刻情報送信機能や、クライアント装置１から送信された位置情報パケットを他のクライアント装置へ送信する位置情報中継機能を実現させるためのゲーム制御プログラムが記憶されている。これらの各機能の詳細については、後述する。
【００４５】
ＣＰＵ２０Ｓは、サーバ装置２の起動時にＲＯＭ２１Ｓに記憶されているオペレーティングシステムをＲＡＭ２２Ｓに読み出し、読み出したオペレーティングシステムを実行することにより、サーバ装置２各部の動作を制御する。また、ＣＰＵ２０Ｓは、カウンタ２００を備え、カウンタ２００により計測される値に基づいて、現在時刻を得る。また、カウンタ２００は、設定された所定の時間毎に終了信号を出力するタイマ機能を備える。
【００４６】
また、ＣＰＵ２０Ｓは、ＲＯＭ２１Ｓに記憶されたゲーム制御プログラムを実行することにより、以下の機能を実現させる。ＣＰＵ２０Ｓは、クライアント装置１からネットワークゲームへの参加要求を示すパケットを受信すると、当該クライアント装置１に対して管理ＩＤを割り当てると共に、当該クライアント装置１に対応するオブジェクトを割り当てる。当該オブジェクトは、当該ネットワークゲームにおいて予め定められている複数のオブジェクトの中から選択する。そして、割り当てた管理ＩＤと、割り当てたオブジェクトを示すオブジェクトＩＤとを含む応答パケットをクライアント装置１に送信する。この応答パケットがクライアント装置１に受信されることにより、サーバ装置２とクライアント装置１との間のセッションが確立される。尚、ゲーム制御プログラムを実行することにより実現される他の機能については後述する。
【００４７】
通信部２４Ｓは、ＣＰＵ２０Ｓの制御の下、クライアント装置１等の外部装置とのデータ通信を制御する。外部装置と通信部２４Ｓとは、パケット通信網３０を介してデータ通信を行う。
【００４８】
ＨＤ２３Ｓには、図９に示されるような管理テーブル２３０が記憶されている。管理テーブル２３０には、ネットワークゲームに参加しているクライアント装置１の管理ＩＤと、クライアント装置１のＩＰアドレスと、ネットワークゲームにおけるクライアント装置１に対応するプレイヤを表すオブジェクトＩＤとが対応付けられて記憶されている。
【００４９】
＜機能的構成＞
次に、サーバ装置２の機能的構成について説明する。図７に、本実施例に係るサーバ装置２の機能的構成を模式的に示す。本実施例においては、ＲＯＭ２１Ｓに記憶されたゲーム制御プログラムをＣＰＵ２０Ｓが実行し、この処理の実行過程においてＣＰＵ２０Ｓの制御命令に従って通信部２４Ｓ等のサーバ装置２の各部が各種処理を行うことにより、以下の各手段ＫＳ１〜ＫＳ４の機能が実現される。また、以下の各手段ＫＳ１〜ＫＳ２の機能が実現されることにより、時刻情報送信機能が実現される。以下の各手段ＫＳ１，ＫＳ３〜ＫＳ４の機能が実現されることにより、位置情報中継機能が実現される。
【００５０】
計時手段ＫＳ１は、時刻を計測する。通信手段ＫＳ２は、パケット通信網３０との間でパケットの送受信を行う。
【００５１】
時刻情報送信手段ＫＳ３は、クライアント装置１から時刻補正パケットを受信すると、計時手段ＫＳ１で計測される時刻に基づき、受信時刻を取得すると共に、当該補正パケットを返信する返信時刻を取得し、取得した受信時刻及び返信時刻を当該時刻補正パケットに加えて、当該時刻補正パケット（時刻返信情報）をクライアント装置１に通信手段ＫＳ２を介して送信する。
【００５２】
位置情報中継手段ＫＳ４は、クライアント装置１から位置情報パケットを受信すると、当該パケットを送信したクライアント装置以外のネットワークゲームに参加している全てのクライアント装置に当該位置情報パケットを通信手段ＫＳ２を介して送信する。
【００５３】
（２）動作
次に、本実施例に係る動作について説明する。
【００５４】
尚、クライアント装置１の図示しない電源が投入され、ＲＯＭ７０に記憶されたオペレーションシステムなどのプログラムがメインＣＰＵ６４によってメインメモリ６５に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、ＲＯＭ７０や光ディスク７２からメインメモリ６５に読み出された各種プログラムがメインＣＰＵ６４によって実行され、上述の構成欄で述べた各種機能が実現される。
【００５５】
また、サーバ装置２の図示しない電源が投入され、ＲＯＭ２１Ｓに記憶されたオペレーションシステムなどのプログラムがＣＰＵ２０ＳによってＲＡＭ２２Ｓに読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、ＲＡＭ２２Ｓに読み出されたゲーム制御プログラムなどの各種プログラムがＣＰＵ２０Ｓによって実行され、上述の構成欄で述べた各種機能が実現される。
【００５６】
図１０は、クライアント装置１とサーバ装置２とにおける処理の流れを示すシーケンスチャートである。
【００５７】
まず、ユーザが、クライアント装置１に接続されたコントローラ２０を操作して、ネットワークゲームの開始を指示すると、メインＣＰＵ６４は、当該操作に応じて、当該ネットワークゲームに対するゲームプログラムをＲＯＭ７０からメインメモリ６５に読み出し、これを実行する。そして、まず、ネットワークゲームへの参加要求を示す参加要求パケットを通信部７９を介してサーバ装置２へ送信する（ステップＳ１）。
【００５８】
サーバ装置２のＣＰＵ２０Ｓは、当該参加要求パケットを受信すると（ステップＳ２）、当該クライアント装置１に対して管理ＩＤを割り当てる。更に、当該ネットワークゲームのゲーム画像において表されるオブジェクトについて、当該クライアント装置に対応するオブジェクトを割り当てる。そして、当該オブジェクトに対応するオブジェクトＩＤと、当該クライアント装置１に対応する管理ＩＤと、当該ネットワークゲームに参加している他のクライアント装置に対応する管理ＩＤと当該他のクライアント装置に対して割り当てられているオブジェクトに対応するオブジェクトＩＤとを対応付けたオブジェクト情報とを含む応答パケットをクライアント装置１へ通信部２４Ｓを介して送信する（ステップＳ３）。
【００５９】
その後、クライアント装置１のメインＣＰＵ６４がサーバ装置２から送信された応答パケットを受信すると（ステップＳ４）、サーバ装置２とクライアント装置１との間のセッションが確立される。次いで、クライアント装置１のメインＣＰＵ６４は、以下の時刻情報処理を行う。
【００６０】
＜時刻情報処理＞
メインＣＰＵ６４は、カウンタ６４０が計測した時刻に基づき、時刻補正パケットを送信する送信時刻Ｔ１を取得すると共に、当該送信時刻Ｔ１を含む時刻補正パケットをサーバ装置２に送信する（ステップＳ５）。
【００６１】
一方、サーバ装置２のＣＰＵ２０Ｓは、以下の時刻情報送信処理を行う。ＣＰＵ２０Ｓは、クライアント装置１から送信された時刻補正パケットを受信すると（ステップＳ６）、カウンタ２００が計測した時刻に基づき、当該受信時刻Ｔ２を取得すると共に、当該時刻補正パケットを返信する返信時刻Ｔ３を取得し、当該受信時刻Ｔ２及び返信時刻Ｔ３を当該時刻補正パケットに追加し、これをクライアント装置１に送信する（ステップＳ７）。例えば、図１１に示されるようなフォーマットの時刻補正パケットが送信される。
【００６２】
クライアント装置１のメインＣＰＵ６４は、サーバ装置２から送信された時刻補正パケットを受信すると、カウンタ６４０が計測した時刻に基づき、当該時刻補正パケットを受信した受信時刻Ｔ４を取得し、これをメインメモリ６５に一時的に記憶させる（ステップＳ８）。そして、当該受信時刻Ｔ４と、受信した時刻補正パケットに含まれる時刻Ｔ１〜Ｔ３とを用いて、以下の算式（１）により、サーバ装置２とクライアント装置１との時刻差Ｄを算出する。
【００６３】
Ｄ＝１／２×｛（Ｔ２−Ｔ１）−（Ｔ４−Ｔ３）｝・・・・・（１）
この算式（１）の根拠は以下の通りである。
【００６４】
ネットワーク遅延、即ち、ステップＳ５が実行されて取得される送信時刻Ｔ１と、ステップＳ６が実行されて取得される受信時刻Ｔ２との時間差をｄ１とし、ステップＳ７が実行されて取得される返信時刻Ｔ３と、ステップＳ８が実行されて取得される受信時刻Ｔ４との時間差をｄ２とすると、以下の算式（２），（３）が成り立つ。
【００６５】
Ｔ２−Ｔ１＝Ｄ＋ｄ１・・・・・（２）
Ｔ４−Ｔ３＝Ｄ＋ｄ２・・・・・（３）
ここで、ｄ１＝ｄ２であると見なすと、上述の算式（１）が導き出される。
【００６６】
以上のようにして算出した時刻差Ｄを用いて、メインＣＰＵ６４は、上述のカウンタ６４０で計測される値によって得られる現在時刻を補正する（ステップＳ９）。例えば、時刻差が”＋１”ｍｓｃである場合、カウンタ６４０から得られた現在時刻に１ｍｓｃを加えた時刻を現在時刻とする。
【００６７】
クライアント装置１のメインＣＰＵ６４は、このような時刻情報処理を定期的に行うことが望ましい。具体的には、例えば、１〜２分毎に終了信号を出力するようカウンタ６４０を設定する。そして、メインＣＰＵ６４は、カウンタ６４０から終了信号が出力される度に、ステップＳ５，Ｓ８，Ｓ９の処理を行うように構成する。また、サーバ装置２においては、ＣＰＵ２０Ｓが、クライアント装置１から時刻補正パケットを受信する度に、ステップＳ６，Ｓ７の処理を行うように構成する。
【００６８】
＜オブジェクト情報登録処理＞
次に、ステップＳ４に戻り、クライアント装置１ＡのメインＣＰＵ６４Ａが、サーバ装置２から応答パケットを受信したときについて説明する。クライアント装置１ＢがステップＳ４でサーバ装置２から応答パケットを受信した場合も以下の説明と略同様であるため、その説明を省略する。
【００６９】
メインＣＰＵ６４Ａは、当該応答パケットに含まれる自装置１Ａに対して割り当てられた管理ＩＤと、自装置１Ａに対して割り当てられたオブジェクトに対応するオブジェクトＩＤと、他のクライアント装置（ここでは、クライアント装置１Ｂである）に対応する管理ＩＤと、他のクライアント装置１Ｂに対応するオブジェクトＩＤと各々対応付けてオブジェクト管理テーブル６５０Ａに記憶させる。そして、メインＣＰＵ６４Ａは、自装置に対して割り当てられたオブジェクトＩＤに対応するオブジェクトが、コントローラ２０Ａからの操作信号に応じて移動表示させる制御を行う対象のオブジェクトであることを判別する。また、他のクライアント装置に対して割り当てられたオブジェクトＩＤに対応するオブジェクトが、サーバ装置２から送信される位置情報パケットに基づいて、移動表示させる制御を行う対象のオブジェクトであることを判別する。
【００７０】
そして、クライアント装置１ＡのメインＣＰＵ６４Ａは、オブジェクトＯＡに対して以下の位置情報送信処理を行い、オブジェクトＯＢに対して後述の位置算出処理を行う。また、クライアント装置１ＢのメインＣＰＵ６４Ｂは、オブジェクトＯＢに対して以下の位置情報送信処理を行い、オブジェクトＯＡに対して後述の位置算出処理を行う。
【００７１】
＜位置情報送信処理＞
ここでは、クライアント装置１Ａが当該クライアント装置１Ａに対して割り当てられたオブジェクトＯＡに関する位置情報パケットをサーバ装置２に送信する場合の位置情報送信処理について説明する。図１２は、位置情報送信処理の動作の流れを示すフローチャートである。
【００７２】
尚、以降の説明においては、オブジェクトＯＡに割り当てられる位置座標を（ｘＡ，ｙＡ）とし、オブジェクトＯＢに割り当てられる位置座標を（ｘＢ，ｙＢ）として説明する。
【００７３】
クライアント装置１ＡのメインＣＰＵ６４Ａは、コントローラ２０Ａにおけるユーザの操作に応じて、所定の単位時間毎に検出され出力された操作信号がコントローラ２０Ａから送信されると、送信された操作信号に応じて、オブジェクトＯＡの位置座標と、速度ベクトルとを検出する。また、メインＣＰＵ６４Ａは、カウンタ６４０Ａから出力された終了信号を検出する度に（ステップＳ２０：ＹＥＳ）、当該時刻（以下、検出時刻という）ＴｄｔＡと、オブジェクトＯＡの位置座標（ｘＡ，ｙＡ）と、速度ベクトル（ＶｘＡ，ＶｙＡ）とを検出する。そして、検出時刻ＴＡｄｔと、位置座標（ｘＡ，ｙＡ）と、速度ベクトル（ＶｘＡ，ＶｙＡ）と、当該クライアント装置１Ａに割り当てられた管理ＩＤとを含む位置情報パケットを生成し、これをサーバ装置２に送信する（ステップＳ２１）。例えば、図１３に示されるようなフォーマットの位置情報パケットを送信する。
【００７４】
また、メインＣＰＵ６４Ａは、上述の検出時刻ＴＡｄｔ,位置座標（ｘＡ，ｙＡ）,速度ベクトル（ＶｘＡ，ＶｙＡ）をオブジェクトＯＡと対応付けてオブジェクト管理テーブル６５０Ａに記憶させる。
【００７５】
クライアント装置１Ｂが当該クライアント装置１Ｂに対して割り当てられたオブジェクトＯＢに関する位置情報パケットをサーバ装置２に送信する場合も上記説明と略同様であるため、その説明を省略する。
【００７６】
＜位置算出処理＞
続いて、サーバ装置２のＣＰＵ２０Ｓが行う位置情報中継処理について説明する。図１４は、位置情報中継処理の流れを示すフローチャートである。
【００７７】
図１４に示されるように、サーバ装置２のＣＰＵ２０Ｓは、クライアント装置１Ａから送信された位置情報パケットを受信すると（ステップＳ４０：ＹＥＳ)、これを当該クライアント装置１Ａ以外の他のクライアント装置へ送信する（ステップＳ４１)。具体的には、ＣＰＵ２０Ｓは、ＨＤ２３Ｓに記憶された管理テーブル２３０を参照して、当該位置情報パケットに含まれる管理ＩＤ以外の管理ＩＤが割り当てられた全てのクライアント装置（ここでは、クライアント装置１Ｂである）へ当該位置情報パケットを送信する。
【００７８】
次に、クライアント装置１Ａから送信された後サーバ装置２から送信された位置情報パケットをクライアント装置１Ｂが受信し、位置算出処理を行う場合について説明する。図１５は、位置算出処理の流れを示すフローチャートである。
【００７９】
クライアント装置１ＢのメインＣＰＵ６４Ｂは、サーバ装置２から送信された位置情報パケットを受信すると（ステップＳ６０：ＹＥＳ）、メインメモリ６５Ｂに記憶されているオブジェクト管理テーブル６５０Ｂを参照して、当該位置情報パケットに含まれる管理ＩＤに対応するオブジェクトを特定する。ここで特定されるオブジェクトは、クライアント装置１Ａに対応するオブジェクトＯＡとする。次いで、当該位置情報パケットに含まれる位置座標、速度ベクトル及び検出時刻とを当該管理ＩＤと対応付けてオブジェクト管理テーブル６５０Ｂに各々記憶させる。また、メインＣＰＵ６４Ｂは、カウンタ６４０Ｂで計測される値に基づいて、当該位置座標パケットを受信した受信時刻Ｔｒｖを得て、これをオブジェクト管理テーブル６５０Ｂに記憶させる。次いで、メインＣＰＵ６４Ｂは、オブジェクト管理テーブル６５０Ｂに記憶させた受信時刻Ｔｒｖ、位置情報パケットに含まれる位置座標（ｘＡ，ｙＡ）、速度ベクトル（ＶｘＡ，ＶｙＡ）、検出時刻Ｔｄｔを用いて、当該受信時刻におけるオブジェクトＯＡの位置座標（ｘＡｉ，ｙＡｉ）を算出式（４），（５）により算出する（ステップＳ６１)。
【００８０】
ｘＡｉ＝（ＴｒｖーＴｄｔ）×ＶＡｘ＋ｘＡ・・・・・（４）
ｙＡｉ＝（ＴｒｖーＴｄｔ）×ＶＡｙ＋ｙＡ・・・・・（５）
そして、算出した位置座標（ｘＡｉ，ｙＡｉ）をメインメモリ６５Ｂに記憶されているオブジェクト管理テーブル６５０Ｂに初期座標として記憶させる。
【００８１】
続いて、メインＣＰＵ６４Ｂは、カウンタ６４０Ｂで計測される値に基づいて、描画時刻が到来したか否かを判定し（ステップＳ６２）、当該判定結果が肯定的である場合（ステップＳ６２：ＹＥＳ）、オブジェクト管理テーブル６５０Ｂを参照し、当該オブジェクト管理テーブル６５０Ｂに記憶されている全てのオブジェクトについて、時刻Ｔｒｎにおける各オブジェクトの位置座標を算出する。ここでは、オブジェクト管理テーブル６５０Ｂに記憶されているオブジェクトは、オブジェクトＯＡ，ＯＢである。オブジェクトＯＡの位置座標（ｘＡｒｎ，ｙＡｒｎ）については、オブジェクト管理テーブル６５０Ｂに記憶されている速度ベクトル、検出時刻、初期座標、当該描画時刻を用いて、算式（６），（７）により算出する。
【００８２】
ｘＡｒｎ＝（ＴｒｎーＴｒｖ）×ＶｘＡ＋ｘＡｉ・・・・・（６）
ｙＡｒｎ＝（ＴｒｎーＴｒｖ）×ＶｙＡ＋ｙＡｉ・・・・・（７）
また、当該クライアント装置１Ｂに対応するオブジェクトＯＢについては、オブジェクト管理テーブル６５０Ｂに記憶されている位置座標、速度ベクトル、検出時刻、上述の描画時刻を用いて、当該描画時刻における位置座標を算出する。
【００８３】
次いで、メインＣＰＵ６４Ｂは、ステップＳ６１において算出した各位置座標を用いて、各オブジェクトを含むゲーム画像を描画する命令をＧＰＵ６８Ｂに対して行う（ステップＳ６３)。この描画命令に従って、ここでは、ＧＰＵ６８ＢがオブジェクトＯＡ及びオブジェクトＯＢを含むゲーム画像をフレームメモリ６７Ｂに描画し、描画された画像に基づいてＣＲＴＣＢが映像信号を生成して、これをモニタ装置１０Ｂのスクリーン１１Ｂに供給する。この結果、スクリーン１１Ｂには、図２に示されるようなゲーム画像Ｇが表示される。
【００８４】
以上のようにして、クライアント装置１ＢのメインＣＰＵ６４Ｂは、サーバ装置２から位置情報パケットを受信する度に、位置算出処理を行い、所定の時間毎に描画処理を行う。
【００８５】
クライアント装置１Ａも、サーバ装置２から送信された位置情報パケットを受信すると、上述と同様にして、他のクライアント装置に対応するオブジェクト（ここでは、クライアント装置１Ｂに対応するオブジェクトＯＢである）に対し、位置算出処理を行い、所定の時間毎に描画処理を行う。そして、例えば、上述のクライアント装置１Ｂにおいて描画処理が行われた時刻と同時刻にクライアント装置１Ａにおいて描画処理が行われた場合、スクリーン１１Ｂと同様にスクリーン１１Ａにも、図２に示されるようなゲーム画像Ｇが表示される。即ち、上述の構成により、同時刻において、スクリーン１１Ａ及びスクリーン１１Ｂに表示され得るオブジェクトＯＡ及びオブジェクトＯＢの各位置が略同一となる。
【００８６】
以上のようにして位置ずれを低減させることにより、ユーザに違和感の少ないゲーム画像を提供することができ、ユーザの利便性を向上させることができる。
【００８７】
また、各クライアント装置１Ａ，１Ｂにおいて、上述の時刻情報処理が行われて各々における時刻をサーバ装置２における時刻と同期させて、各クライアント装置１Ａ，１Ｂにおける各時刻を同期させることにより、各装置において計測される時刻のずれによって生じる位置ずれを低減させることができる。この結果、ユーザの利便性を更に向上させることができる。
【００８８】
[実施例２]
上述の第１実施例においては、サーバ装置２がクライアント装置１Ａとクライアント装置１Ｂとの通信を仲介する構成とした。本実施例においては、サーバ装置２を介さず、複数のクライアント装置１Ｃ，１Ｄ，１Ｅが各々とＰ２Ｐ（peer-to-peer）で通信する構成について説明する。以下、上記第１実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
【００８９】
（１）構成
＜ネットワークゲームシステムの構成＞
図１６に示されるように、ネットワークゲームシステムＳ′では、クライアント装置１Ｃ，１Ｄ，１Ｅがフルメッシュで接続される。これにより、ネットワークを構成し、各々パケット通信を行う。
＜クライアント装置の内部回路構成＞
次に、クライアント装置１の内部回路構成のうち、上述の第１実施例と異なる部分について説明する。尚、クライアント装置１Ｃ，１Ｄ，１Ｅについて、区別して記載する必要がない場合には、単に、クライアント装置１と記載する。また、各装置を区別して記載する必要があり、以下の各構成要素について区別して記載する必要がある場合には、各々符号の後ろにＣ，Ｄ又はＥを付記する。
【００９０】
メインメモリ６５には、例えば図１７に示されるように、上述の第１実施例においてサーバ装置２のＨＤ２３Ｓに記憶された管理テーブル２３０と同様の管理テーブル６５１が記憶される。尚、ここでは、クライアント装置１Ｃ，１Ｄ，１Ｅには各々、オブジェクトＩＤが”ＯＣ”，”ＯＤ”，”ＯＥ”のオブジェクトが割り当てられているものとする。
【００９１】
また、クライアント装置１のメインメモリ６５には、上述の第１実施例と同様のオブジェクト管理テーブル６５０が記憶される。これらは、例えば、クライアント装置１Ｃには、図１８に示されるようなオブジェクト管理テーブル６５０Ｃが記憶されている。
【００９２】
また、ＲＯＭ７０には、他のクライアント装置と通信を行うための機能と、ネットワークゲームを実行するためのセッションを生成する機能と、生成されたセッションに参加し、ネットワークゲームに参加する機能と、セッション生成機能とを実現させるためのプログラムが記憶されている。本実施例においては、クライアント装置１Ｃ，１Ｄ，１Ｅのうちいずれか１つのクライアント装置が、ネットワークゲームを実行するためのセッションを最初に生成し、セッションの管理を行う。例えば、システム管理情報や、セッションに参加する全てのクライアント装置１に送信される情報の管理などを行う。このような処理を行うクライアント装置を、以下、ホストという。また、ホスト以外のクライアント装置は、既に生成されたセッションに参加することにより、ネットワークゲームに参加する。
【００９３】
更に、ＲＯＭ７０には、上述の第１実施例における時刻補正機能及び上述の第１実施例においてサーバ装置２が有する時刻情報送信機能と、第２位置情報送信機能と、上述の第１実施例における位置算出機能とを実現させるための各種プログラムが記憶されている。
【００９４】
ここで、時刻補正機能及び時刻情報送信機能と、第２位置情報送信機能とについて上述の第１実施例と異なる部分について説明する。
【００９５】
＜時刻補正機能及び時刻情報送信機能＞
本実施例においては、上述の第１実施例で説明した時刻情報処理において、クライアント装置１Ｃ，１Ｄ，１Ｅのうちいずれか１つのクライアント装置が、ホストとして上述のサーバ装置２の役割を果たし、時刻情報送信処理を行う。ホストは、時刻情報処理を行わない。ホスト以外のクライアント装置は、時刻情報処理を行い、時刻補正パケットをホストへ送信する。
【００９６】
各クライアント装置１Ｃ，１Ｄ，１Ｅは、以上のような時刻補正機能及び時刻情報送信機能を各々有する。
【００９７】
＜第２位置情報送信機能＞
本実施例においては、クライアント装置１は、自装置に割り当てられたオブジェクトの位置情報パケットを、ネットワークゲームに参加する他の全てのクライアント装置に送信する。具体的には、管理テーブル６５１に登録されている自装置以外の全てのクライアント装置に送信する。
【００９８】
各クライアント装置１Ｃ，１Ｄ，１Ｅは、以上のような第２位置情報送信機能を各々有する。
（２）動作
次に、本実施例に係る動作について説明する。
【００９９】
尚、クライアント装置１の図示しない電源が投入され、ＲＯＭ７０に記憶されたオペレーションシステムなどのプログラムがメインＣＰＵ６４によってメインメモリ６５に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、ＲＯＭ７０や光ディスク７２からメインメモリ６５に読み出された各種プログラムがメインＣＰＵ６４によって実行され、上述の構成欄で述べた各種機能が実現される。
【０１００】
本実施例においては、クライアント装置１Ｃがネットワークゲームを実行するためのセッションを最初に生成し、ホストとなるものとする。
【０１０１】
まず、クライアント装置１Ｃのユーザが、クライアント装置１Ｃに接続されたコントローラ２０Ｃを操作して、ネットワークゲームの開始を指示すると、メインＣＰＵ６４Ｃは、当該操作に応じて、当該ネットワークゲームに対するゲームプログラムをＲＯＭ７０Ｃからメインメモリ６５Ｃに読み出し、これを実行する。そして、ネットワークゲームを実行するためのセッションを生成する。そして、当該クライアント装置１Ｃに対応する管理ＩＤを割り当てる。更に、当該ネットワークゲームのゲーム画像において表されるオブジェクトについて、当該クライアント装置１Ｃに対応するオブジェクトを割り当てる。そして、当該オブジェクトに対応するオブジェクトＩＤと、当該クライアント装置１に対応する管理ＩＤとを管理テーブル６５１に記憶させる。そして、他のクライアント装置（ここでは、クライアント装置１Ｄ，１Ｅである）がセッションに参加するのを待機する。即ち、上述の第１実施例で説明した参加要求パケットがクライアント装置１Ｄ，１Ｅから送信されるのを待機する。
【０１０２】
ここで、例えば、クライアント装置１Ｄのユーザが、クライアント装置１Ｄに接続されたコントローラ２０Ｄを操作して、ネットワークゲームの開始を指示すると共に、クライアント装置１Ｃが生成したセッションへの参加を指示すると、メインＣＰＵ６４Ｄは、当該操作に応じて、当該ネットワークゲームに対するゲームプログラムをＲＯＭ７０Ｄからメインメモリ６５Ｄに読み出し、これを実行する。そして、メインＣＰＵ６４Ｄは、クライアント装置１Ｃに対して参加要求パケットを送信する。
【０１０３】
次いで、クライアント装置１ＣのメインＣＰＵ６４Ｃは、クライアント装置１Ｄから送信された参加要求パケットを受信すると、上述の第１実施例におけるサーバ装置２と同様にして、応答パケットを生成しこれをクライアント装置１Ｄに送信する。
【０１０４】
続いて、クライアント装置１ＤのメインＣＰＵ６４Ｄは、クライアント装置１Ｃから送信された応答パケットを受信すると、以下の時刻情報処理を行う。このとき、クライアント装置１Ｃは、上述で説明したホストとなり、時刻情報送信処理を行う。
【０１０５】
尚、クライアント装置１Ｅがセッションに参加する場合も上述と同様の処理を行い、以下の時刻情報処理を行う。
【０１０６】
＜時刻情報処理＞
クライアント装置１ＤのメインＣＰＵ６４Ｄは、カウンタ６４０Ｄが計測した値に基づき、上述の第１実施例と同様にして、送信時刻Ｔ１をセットした時刻補正パケットをクライアント装置１Ｃに送信する。
【０１０７】
一方、クライアント装置１ＣのメインＣＰＵ６４Ｃは、クライアント装置１Ｄから送信された時刻補正パケットを受信すると、当該受信時刻Ｔ２と、当該時刻補正パケットを返信する返信時刻Ｔ３とを当該時刻補正パケットに加えて、これをクライアント装置１Ｄに送信する。
【０１０８】
クライアント装置１ＤのメインＣＰＵ６４Ｄは、クライアント装置１Ｃから送信された時刻補正パケットを受信すると、当該時刻補正パケットを受信した受信時刻Ｔ４と、受信した時刻補正パケットに示される時刻Ｔ１〜Ｔ３とを用いて、上述の第１実施例と同様にして、クライアント装置１Ｃとクライアント装置１Ｄとの時刻差Ｄを算出する。そして、算出した時刻差に基づいて、クライアント装置１ＤのメインＣＰＵ６４Ｄのカウンタ６４０Ｄにおいて計測される現在時刻を補正する。
【０１０９】
クライアント装置１Ｃについてもクライアント装置１Ａと同様に、クライアント１Ｂに時刻補正パケットを送信して時刻情報処理を行い、メインＣＰＵ６４Ｃのカウンタ６４０Ｃにおいて計測される値によって得られる現在時刻を補正する。
【０１１０】
＜第２位置情報送信処理＞
次に、クライアント装置１Ｃ，１Ｄ，１Ｅとの間でゲームを開始し、クライアント装置１Ｃが当該クライアント装置１Ｃに対して割り当てられたオブジェクトＯＣに関する位置情報パケットを他のクライアント装置（ここでは、クライアント装置１Ｄ，１Ｅ）に送信する場合の第２位置情報送信処理について説明する。クライアント装置１Ｄが自装置に対して割り当てられたオブジェクトＯＤに関する位置情報パケットを他のクライアント装置に送信する場合及びクライアント装置１Ｅが自装置に対して割り当てられたオブジェクトＯＥに関する位置情報パケットを他のクライアント装置に送信する場合についても以下の説明と略同様であるため、その説明を省略する。
【０１１１】
図１９は、本実施例に係る第２位置情報送信処理の流れを示すフローチャートである。
【０１１２】
クライアント装置１ＣのメインＣＰＵ６４Ｃは、コントローラ２０Ｃにおけるユーザの操作に対応する操作信号に応じて算出したオブジェクトＯＣにつき、上述の第１実施例と同様に、カウンタ６４０Ｃから出力された終了信号を検出する度に（ステップＳ２０：ＹＥＳ）、検出時刻ＴＣｄｔと、オブジェクトＯＣの表示位置を示す位置座標（ｘＣ，ｙＣ）と、速度ベクトル（ＶｘＣ，ＶｙＣ）とを検出し、検出したＴＣｄｔと、（ｘＣ，ｙＣ）と、（ＶｘＣ，ＶｙＣ）と、当該クライアント装置１Ｃに対応する管理ＩＤとを含む位置情報パケットを生成し、これをクライアント装置１Ｄ，１Ｅに各々送信する（ステップＳ２２）。
【０１１３】
＜位置算出処理＞
一方、クライアント装置１Ｄ，１ＥのメインＣＰＵ６４Ｄ，６４Ｅは、クライアント装置１Ａから送信された位置情報パケットを受信すると、上述の第１実施例と同様に、図１５に示されるステップＳ６１〜Ｓ６３の位置算出処理及び描画処理を各々行う。
【０１１４】
クライアント装置１ＡのメインＣＰＵ６４Ａが、クライアント装置１Ｄ，１Ｅから送信された位置情報パケットを受信した場合も同様である。
【０１１５】
以上の結果、例えば、上述のクライアント装置１Ｃ，１Ｄ，１Ｅにおいて同時刻に描画処理が行われた場合、スクリーン１１Ｃ，１１Ｄ，１１Ｅには、図２０に示されるような同一のゲーム画像Ｇ’が表示される。即ち、上述の構成により、同時刻において、スクリーン１１Ｃ，１１Ｄ，１１Ｅに各々表示され得るオブジェクトＯＣ，ＯＤ，ＯＥの各位置が略同一となる。
【０１１６】
以上のようにして、サーバ装置２を介さず、ネットワークゲームに参加するクライアント装置同士が時刻補正パケット及び位置情報パケットを送受信することによって、位置ずれを低減させることができる。
【０１１７】
尚、複数のクライアント装置１が通信を行う場合の接続形態は、上述のようにフルメッシュ型ではなく、他の接続形態であっても良い。また、インターネットやイントラネット等の通信網を使用して接続する形態であっても良い。
【０１１８】
また、ホストとなるクライアント装置１の選定は、任意であっても良く、例えば乱数を用いることにより行うように構成しても良いし、また、所定の方法によって行うように構成しても良い。例えば、接続環境が一番良好なクライアント装置１を選定するように構成しても良い。接続環境については、例えば、クライアント装置１が使用する伝送帯域や回線速度等の接続環境に関する情報を予め登録しておき、この情報に基づいて、接続環境の優劣を所定の方法により決定する。これに基づいて、複数のクライアント装置１の接続環境を比較し、接続環境が一番良好なクライアント装置１を選定するように構成しても良い。
【０１１９】
[変形例]
＜変形例１＞
上述の各実施例においては、クライアント装置１は、時刻情報処理、位置情報送信処理、位置算出処理及び描画処理を各々所定の時間毎に行うように構成した。各処理を行う時間間隔は、同一であっても又は同一でなくても良いし、各々処理を行うタイミングは、同一であっても又は同一でなくても良い。
【０１２０】
また、時刻情報処理において、クライアント装置１のメインＣＰＵ６４に備わる図示しないクロックに応じて、クライアント装置１が時刻補正パケットを送信し、時刻を補正する時間間隔を設定するようにしても良い。
【０１２１】
また、クライアント装置１のメインＣＰＵ６４の内部にカウンタ６４０を備えるように構成したが、これをメインＣＰＵ６４とは別に備える構成であっても良い。同様に、サーバ装置２においてもＣＰＵ２０Ｓとは別にカウンタ２００を備える構成であっても良い。また、カウンタ６４０，２００は、ＣＰＵ内部に備わるクロックの出力タイミングなどに応じて定期的に数値をインクリメントするものであれば良い。
【０１２２】
＜変形例２＞
上述の各実施例においては、サーバ装置２は、クライアント装置１から送信された時刻補正パケットを受信する受信時刻Ｔ２と、時刻補正パケットを返信する返信時刻Ｔ３とは異なるように構成した。しかし、時刻補正パケットを受信すると同時に、これを受信した受信時刻Ｔ２を時刻補正パケットに加えて、この時刻補正パケットをクライアント装置１に送信するように構成しても良い。この場合、受信時刻Ｔ２と、返信時刻Ｔ３とが同一であるとして、上述の算式（１）を用いて時刻差Ｄを算出する。
【０１２３】
＜変形例３＞
ゲーム画像に含まれるオブジェクトは、様々なキャラクタや、様々な動物、生物、植物や、様々な物、又、手や足など人物や動物の一部の部分を表すものであっても良い。
【０１２４】
また、上述の各実施例においては、クライアント装置１に対応するオブジェクトを、予め定められている複数のオブジェクトの中から選択して割り当てる構成とした。しかし、クライアント装置に対応するオブジェクトを、当該クライアント装置がネットワークゲームに参加する都度、任意の方法により生成するようにしても良い。
【０１２５】
また、上述の各実施例においては、オブジェクトＯＡ，ＯＢに対して割り当てられた各々１つの位置座標について説明した。しかし、オブジェクトＯＡ，ＯＢに対して各々複数の位置座標が割り当てられていても良く、この場合、同時刻におけるこれらの複数の位置座標を各々識別可能な状態で１つの位置情報パケットに含めて送信するように構成しても良い。また、オブジェクトＯＡ，ＯＢに対して各々複数の位置座標が割り当てられている場合であっても、例えば、複数の位置座標のうち代表として予め設定されている１つの位置座標のみを位置情報パケットに含めて送信するように構成しても良い。そして、このような位置情報パケットを受信したクライアント装置１は、この位置情報パケットに含まれる代表の位置座標に基づき、位置座標に対する初期座標を算出すると共に、当該位置座標の移動量を算出する。そして、算出した移動量に基づき、他の複数の位置座標に対する各初期座標を算出するように構成しても良い。
【０１２６】
また、上述の各実施例においては、１つのクライアント装置１に対して１つのオブジェクトを対応付ける構成とした。しかし、本発明においてはこれに限らず、複数のオブジェクトを対応付けるように構成しても良い。この場合、複数のオブジェクトの位置座標について、同時刻に検出されたものを１つの位置情報パケットに含めて送信しても良い。又は、オブジェクト毎に別個の位置情報パケットを送信するようにしても良いし、更に、オブジェクト毎に位置座標を検出するタイミングを異ならせ、各々位置情報パケットを送信するタイミングを異ならせるようにしても良い。
【０１２７】
また、上述の実施例においては、１つのオブジェクトにつき、１つのクライアント装置を静的に対応付けるように構成し、オブジェクトに対応付けられた１つのクライアント装置１が当該オブジェクトを仮想空間内において移動させることができるように構成した。しかし、本発明においてはこれに限らず、１つのオブジェクトに対して複数のクライアント装置１を割り当て、各クライアント装置１に接続されるコントローラ２０の操作に応じて１つのオブジェクトを移動させるように構成しても良い。この場合、オブジェクトをクライアント装置１に動的に対応付けるように構成しても良く、例えば、所定の時間毎に、オブジェクトを移動表示させることができるクライアント装置１を割り当て、各クライアント装置１は、所定の時間内においてのみオブジェクトを移動させることができるように構成しても良い。また、例えば、ある１つのコントローラ２０において所定の操作が行われたときに、当該コントローラ２０に接続されたクライアント装置１が当該オブジェクトを移動させることができるように構成しても良い。
【０１２８】
上述の各実施例においては、クライアント装置１は、定期的に、自装置に対応するオブジェクトの位置情報パケットを送信するように構成した。しかし、本発明においてはこれに限らず、例えば、コントローラ２０から送信される操作信号に応じて検出される速度ベクトルの値が、当該値が検出される直前に検出された値と異なる時だけ、位置情報パケットを送信するように構成しても良い。
【０１２９】
また、上述の各実施例においては、仮想空間を２次元空間とし、この仮想空間に配置されるオブジェクトの位置座標として２次元座標を用いた。しかし、本発明においてはこれに限らず、仮想空間は１次元空間であっても３次元以上の多次元空間であって良く、仮想空間に配置されるオブジェクトの位置座標は、１次元座標であっても３次元以上の多次元座標であっても良い。
【０１３０】
また、上述の各実施例において用いたクライアント装置１に接続されるモニタ装置１０のスクリーン１１の大きさは、各モニタ装置１０全てにおいて同一である構成であっても良いし、各モニタ装置１０によって異なる構成であっても良い。
【０１３１】
また、上述のように算出した各オブジェクトの仮想空間における位置座標を補正することなくゲーム画像を生成し、これをスクリーン１１に表示させるようにしても良いし、例えば、各位置座標をスクリーン１１の大きさに応じた値に補正し、補正した位置座標を用いてゲーム画像を生成し、当該ゲーム画像を各スクリーン１１に表示させるように構成しても良い。
【０１３２】
＜変形例４＞
上述の各実施例においては、自装置に対応するオブジェクトの位置情報についても、オブジェクト管理テーブル６５０に記憶させ、ステップＳ６３の描画処理において当該オブジェクト管理テーブル６５０を参照して、描画時刻における当該オブジェクトの位置を算出するよう構成した。しかし、本発明においてはこれに限らず、当該オブジェクトについては、例えば、ステップＳ６３の描画処理時に、コントローラ２０から操作信号を取得し、当該操作信号に応じて検出される位置座標を取得し、これをオブジェクト管理テーブル６５０に記憶させることなく、直ぐに描画処理を行うように構成しても良い。
【０１３３】
＜変形例５＞
上述の各実施例において、ネットワークゲームに参加するクライアント装置１の数を増減させるように構成しても良い。そして、新たなクライアント装置が参加したり、参加していたクライアント装置がネットワークから切断されたりする場合、その旨を示す情報を、当該ネットワークゲームに参加する他のクライアント装置に送信するように構成する。当該情報を受信したクライアント装置は、当該情報に基づいて、オブジェクト管理テーブル６５０に、新たに参加したクライアント装置に対応するオブジェクトの情報を追加したり、ネットワークから切断されたクライアント装置に対応するオブジェクトの情報を削除したりする。
【０１３４】
また、上述の第２実施例において、ホストとなるクライアント装置１がネットワークから切断される場合、他のクライアント装置をホストに割り当てるように構成することが望ましい。この場合、ホストとなっていたクライアント装置が、新たにホストとなるクライアント装置に上述の管理テーブル６５１に記憶された情報を送信するようにしても良い。
【０１３５】
又は、クライアント装置がセッションに参加する際に、当該クライアント装置１にホストから管理テーブル６５１に記憶されている全ての情報を送信し、当該セッションに参加する全てのクライアント装置が共通の管理テーブル６５１を有するようにしても良い。
【０１３６】
＜変形例６＞
上述の実施例においては、コントローラ２０とクライアント装置１とはケーブル１３を介して接続され通信を行う構成とした。しかし、コントローラ２０とクライアント装置１とはケーブルを介さず、例えばBluetooth（登録商標）などの通信方式によって無線通信を行う構成でも良い。
【０１３７】
また、各クライアント装置１同士又は、クライアント装置１とサーバ装置２とが行う通信についても、有線通信であっても良いし、無線通信であっても良い。
【０１３８】
また、上述の実施例においては、コントローラ２０と、クライアント装置１と、モニタ装置１０とはそれぞれ別体で構成するようにした。しかし、クライアント装置１と、コントローラ２０と、モニタ装置１０のスクリーン１１とを一体的に形成するようにしても良い。
【０１３９】
＜変形例７＞
上述の各実施例においては、ネットワークゲームを行うシステムについて説明した。しかし、本発明においてはこれに限らず、ネットワークに接続され所定のセッションに参加するクライアント装置同士が、仮想空間を共有し、同時刻に共通の画像の一部又は全部が表示され得るシステムであっても良い。
【０１４０】
＜変形例８＞
上述の実施例においては、各種プログラムは、クライアント装置１のＲＯＭ７０に記憶されるように構成した。しかし、サブメモリ７４等他の記憶部に記憶されるように構成しても良く、また、これらのプログラムの実行主体は、サブＣＰＵ７３であるように構成しても良い。また、上述の各実施例における時刻補正機能、位置情報処理機能は、１つのプログラムにより実現される構成であっても、複数のプログラムにより実現される構成であっても良い。
【０１４１】
上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論である。
【産業上の利用可能性】
【０１４２】
本発明は、所定のネットワークに接続される少なくとも２つの情報処理装置が仮想空間を共有する情報処理システムに用いて好適である。
【図面の簡単な説明】
【０１４３】
【図１】本発明の一実施例に係るネットワークゲームシステムの概要を示す図である。
【図２】同実施例に係る画面例を示す図である。
【図３】同実施例に係るクライアント装置のハードウェア構成を示す図である。
【図４】同実施例に係るクライアント装置の内部構成を示すブロック図である。
【図５】同実施例に係るオブジェクト管理テーブルを例示する図である。
【図６】同実施例に係るオブジェクト管理テーブルを例示する図である。
【図７】同実施例に係るクライアント装置の機能的構成を示すブロック図である。
【図８】同実施例に係るサーバ装置の内部構成を示すブロック図である。
【図９】同実施例に係る管理テーブルを例示する図である。
【図１０】同実施例に係るクライアント装置とサーバ装置とにおける処理の流れを示すシーケンスチャートである。
【図１１】同実施例に係る時刻補正パケットのフォーマットを例示する図である。
【図１２】同実施例に係る位置情報送信処理の流れを示すフローチャートである。
【図１３】同実施例に係る位置情報パケットのフォーマットを例示する図である。
【図１４】同実施例に係る位置情報中継処理の流れを示すフローチャートである。
【図１５】同実施例に係る位置算出処理及び描画処理の流れを示すフローチャートである。
【図１６】本発明の他の実施例に係るネットワークゲームシステムの概要を示す図である。
【図１７】同実施例に係る管理テーブルを例示する図である。
【図１８】同実施例に係るオブジェクト管理テーブルを例示する図である。
【図１９】同実施例に係る位置情報送信処理の流れを示すフローチャートである。
【図２０】同実施例に係る画面例を示す図である。
【符号の説明】
【０１４４】
１・・・クライアント装置、２・・・サーバ装置、１０・・・モニタ装置、１１・・・スクリーン、２０・・・コントローラ、２０Ｓ・・・ＣＰＵ、２１Ｓ・・・ＲＯＭ、２２Ｓ・・・ＲＡＭ、２３Ｓ・・・ＨＤ、２４Ｓ・・・通信部、６４・・・メインＣＰＵ、６５・・・メインメモリ、６８・・・ＧＰＵ、７０・・・ＲＯＭ、２００・・・カウンタ、２３０・・・管理テーブル、６４０・・・カウンタ、６５０・・・オブジェクト管理テーブル、６５１・・・オブジェクト管理テーブル、Ｓ・・・ネットワークゲームシステム、Ｓ′・・・ネットワークゲームシステム、ＫＣ１・・・計時手段、ＫＣ２・・・時刻情報処理手段、ＫＣ３・・・検出手段、ＫＣ４・・・位置情報送信手段、ＫＣ５・・・位置情報送信手段、ＫＣ６・・・位置算出手段、ＫＣ７・・・描画手段、ＫＳ１・・・計時手段、ＫＳ２・・・通信手段、ＫＳ３・・・時刻情報送信手段、ＫＳ４・・・位置情報中継手段
【図１】
2007206755.tif 000003
【図２】
2007206755.tif 000004
【図３】
2007206755.tif 000005
【図４】
2007206755.tif 000006
【図５】
2007206755.tif 000007
【図６】
2007206755.tif 000008
【図７】
2007206755.tif 000009
【図８】
2007206755.tif 000010
【図９】
2007206755.tif 000011
【図１０】
2007206755.tif 000012
【図１１】
2007206755.tif 000013
【図１２】
2007206755.tif 000014
【図１３】
2007206755.tif 000015
【図１４】
2007206755.tif 000016
【図１５】
2007206755.tif 000017
【図１６】
2007206755.tif 000018
【図１７】
2007206755.tif 000019
【図１８】
2007206755.tif 000020
【図１９】
2007206755.tif 000021
【図２０】
2007206755.tif 000022
【手続補正書】
【提出日】平成18年9月6日(2006.9.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する情報処理システムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
前記第１の情報処理装置は、
時刻を計測する第１計時手段と、
ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、
前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、
前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１計時手段より取得し、当該検出時刻と前記第１オブジェクトの位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段とを備え、
前記第２の情報処理装置は、
時刻を計測する第２計時手段と、
前記所定のネットワークを介して前記第１位置情報を受信する第２位置情報受信手段と、
前記第２位置情報受信手段が前記第１位置情報を受信した受信時刻を前記第２計時手段より取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段とを備える
ことを特徴とする情報処理システム。
【請求項２】
前記所定のオブジェクトは、前記第１のオブジェクトを複数含み、
前記第１検出手段は、前記第１入力手段に入力された指示信号に基づき、複数の前記第１のオブジェクトの前記仮想空間における各位置及び各移動速度を検出し、
前記第１位置情報は、前記第１検出手段が検出した複数の前記第１のオブジェクトの各位置及び各移動速度と、これらが検出された検出時刻とを含む
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１検出手段は、前記第１のオブジェクトの移動方向を検出し、
前記第１位置情報は、前記第１のオブジェクトの移動方向を含む
ことを特徴とする請求項１又は請求項２に記載の情報処理システム。
【請求項４】
前記所定のオブジェクトは、前記第２の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第２のオブジェクトを含み、
前記第２の情報処理装置は、
ユーザからの指示入力に応じた指示信号が入力される第２入力手段と、
前記第２入力手段に入力された指示信号に基づき、前記第２のオブジェクトの前記仮想空間における位置及び移動速度を検出する第２検出手段と、
前記第２検出手段が前記第２のオブジェクトの位置及び移動速度を検出した検出時刻を前記第２計時手段より取得し、当該検出時刻と前記第２のオブジェクトの位置及び移動速度とを含む第２位置情報を前記所定のネットワークを介して送信する第２位置情報送信手段とを更に備え、
前記第１の情報処理装置は、
前記所定のネットワークを介して送信された前記第２位置情報を受信する第１位置情報受信手段と、
前記第１位置情報受信手段が前記第２位置情報を受信した受信時刻を前記第１計時手段より取得し、当該受信時刻と、当該第２位置情報とを用いて、当該受信時刻における前記第２のオブジェクトの前記仮想空間における位置を算出する第１位置算出手段とを更に備える
ことを特徴とする請求項１から請求項３のうちいずれか一項に記載の情報処理システム。
【請求項５】
前記第２の情報処理装置は、前記第２位置算出手段が算出した位置に基づいて前記第１のオブジェクトを配置した仮想空間を表す画像を描画する第２描画手段を備える
ことを特徴とする請求項１から請求項４のうちいずれか一項に記載の情報処理システム。
【請求項６】
前記第２の情報処理装置は、前記第２検出手段が検出した位置に基づいて配置した前記第２のオブジェクトと、前記第２位置算出手段が算出した位置に基づいて配置した前記第１のオブジェクトとを含む仮想空間を表す画像を描画する第２描画手段を備える
ことを特徴とする請求項４に記載の情報処理システム。
【請求項７】
前記第２の情報処理装置は、前記第２位置情報受信手段が受信した前記第１位置情報と、前記第２位置算出手段が取得した前記受信時刻と、前記第２位置算出手段が算出した前記受信時刻における前記位置とを記憶する第２記憶手段を備え、
前記第２位置算出手段は、前記第２描画手段が前記画像を描画するとき、当該描画時刻を前記第２計時手段より取得し、当該描画時刻と、前記第２記憶手段に記憶された前記受信時刻と、前記受信時刻における前記位置及び前記第１位置情報に含まれる移動速度とを用いて、当該描画時刻における前記第１のオブジェクトの位置を算出する
ことを特徴とする請求項５又は請求項６に記載の情報処理システム。
【請求項８】
前記第２描画手段が描画した画像を表示する第２表示手段を備える
ことを特徴とする請求項５から請求項７のうちいずれか一項に記載の情報処理システム。
【請求項９】
前記第１の情報処理装置は、前記第１検出手段が検出した位置に基づいて前記第１のオブジェクトを配置した仮想空間を表す画像を描画する第１描画手段を備える
ことを特徴とする請求項１から請求項８のうちいずれか一項に記載の情報処理システム。
【請求項１０】
前記第１の情報処理装置は、前記第１検出手段が検出した位置に基づいて配置した前記第１のオブジェクトと、前記第１位置算出手段が算出した位置に基づいて配置した前記第２のオブジェクトとを含む仮想空間を表す画像を描画する第１描画手段を備える
ことを特徴とする請求項４に記載の情報処理システム。
【請求項１１】
前記第１の情報処理装置は、前記第１位置情報受信手段が受信した前記第２位置情報と、前記第１位置算出手段が取得した前記受信時刻と、前記第１位置算出手段が算出した前記受信時刻における前記位置とを記憶する第１記憶手段を備え、
前記第１位置算出手段は、前記第１描画手段が前記画像を描画するとき、当該描画時刻を前記第１計時手段より取得し、当該描画時刻と、前記第１記憶手段に記憶された前記受信時刻と、前記受信時刻における前記位置及び前記第２位置情報に含まれる移動速度とを用いて、当該描画時刻における前記第２のオブジェクトの位置を算出する
ことを特徴とする請求項１０に記載の情報処理システム。
【請求項１２】
前記第１描画手段が描画した画像を表示する第１表示手段を備える
ことを特徴とする請求項９から請求項１１のうちいずれか一項に記載の情報処理システム。
【請求項１３】
前記第１及び第２の情報処理装置のうち一方の情報処理装置は、
送信時刻を示す第１時刻情報を他方の情報処理装置へ送信する時刻情報送信手段と、
前記第１時刻情報を受信した前記他方の情報処理装置から送信され、当該第１時刻情報と当該第１時刻情報を受信した受信時刻を示す第２時刻情報とを含む時刻返信情報を受信する時刻情報受信手段と、
前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返信情報に含まれる第１時刻情報及び第２時刻情報が各々示す前記時刻とを用いて、前記他方の情報処理装置との時刻差を算出し、算出した時刻差を用いて、当該一方の情報処理装置の計時手段が計測する時刻を補正する時刻補正手段とを備え、
前記他方の情報処理装置は、
前記一方の情報処理装置から送信された前記第１時刻情報を受信したとき、当該受信時刻を示す第２時刻情報と、当該第１時刻情報とを含む前記時刻返信情報を、前記一方の情報処理装置に送信する時刻情報返信手段を備える
ことを特徴とする請求項１から請求項６のうちいずれか一項に記載の情報処理システム。
【請求項１４】
前記時刻返信情報は、当該時刻返信情報を返信する返信時刻を示す第３時刻情報を含み、
前記時刻補正手段は、前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返信情報に含まれる第１時刻情報、第２時刻情報及び第３時刻情報が各々示す時刻とを用いて、前記他方の情報処理装置との時刻差を算出する
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１５】
所定のネットワークに接続されたサーバ装置を更に備え、
前記サーバ装置は、前記第１の情報処理装置から送信された前記第１位置情報を前記第２の情報処理装置に送信する位置情報中継手段を備える
ことを特徴とする請求項１から請求項１４のうちいずれか一項に記載の情報処理システム。
【請求項１６】
所定のネットワークに接続されたサーバ装置を更に備え、
前記サーバ装置は、前記第２の情報処理装置から送信された前記第２位置情報を前記第１の情報処理装置に送信する位置情報中継手段を備える
ことを特徴とする請求項４、請求項６、請求項１０及び請求項１１のうちいずれか一項に記載の情報処理システム。
【請求項１７】
前記第１及び第２の情報処理装置のうち少なくとも１つの情報処理装置は、
送信時刻を示す第１時刻情報を前記サーバ装置へ送信する第１時刻情報送信手段と、
前記第１時刻情報を受信した前記サーバ装置から送信され、当該第１時刻情報と当該第１時刻情報を受信した時刻を示す第２時刻情報とを含む時刻返信情報を受信する時刻情報受信手段と、
前記時刻情報受信手段が前記時刻返信情報を受信した受信時刻と、当該時刻返信情報に含まれる第１時刻情報及び第２時刻情報が各々示す前記時刻とを用いて、前記サーバ装置との時刻差を算出し、算出した時刻差を用いて、当該情報処理装置の計時手段が計測する時刻を補正する時刻補正手段とを備え、
前記サーバ装置は、
時刻を計測する第３計時手段と、
前記情報処理装置から送信された前記第１時刻情報を受信したとき、当該受信時刻を示す第２時刻情報と、当該第１時刻情報とを含む前記時刻返信情報を、前記情報処理装置に送信する時刻情報返信手段とを備える
ことを特徴とする請求項１５又は請求項１６に記載の情報処理システム。
【請求項１８】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第１の情報処理装置であって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
時刻を計測する第１計時手段と、
ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、
前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、
前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１計時手段より取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段とを備える
ことを特徴とする情報処理装置。
【請求項１９】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第２の情報処理装置であって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
時刻を計測する第２計時手段と、
前記第１のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第１位置情報を前記所定のネットワークを介して受信する第２位置情報受信手段と、
前記第２位置情報受信手段が前記第１位置情報を受信した受信時刻を前記第２計時手段より取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段とを備える
ことを特徴とする情報処理装置。
【請求項２０】
所定のネットワークに接続される第１及び第２の携帯端末装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置し、前記所定のオブジェクトは、前記第１の携帯端末装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトと、前記第２の携帯端末装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第２のオブジェクトとを含む第１の携帯端末装置であって、
ユーザからの指示入力に応じた指示信号が入力される入力手段と、
時刻を計測する計時手段と、
前記入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する検出手段と、
前記検出手段が前記第１のオブジェクトの位置と移動速度とを検出した検出時刻を前記計時手段より取得し、当該検出時刻と、当該位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する位置情報送信手段と、
前記第２のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第２位置情報を前記所定のネットワークを介して受信する位置情報受信手段と、
前記位置情報受信手段が前記第２位置情報を受信した受信時刻を前記計時手段より取得し、当該受信時刻と、当該第２位置情報とを用いて、当該受信時刻における前記第２のオブジェクトの前記仮想空間における位置を算出する位置算出手段と、
前記検出手段が検出した位置に基づいて配置した前記第１のオブジェクトと、前記位置算出手段が算出した位置に基づいて配置した前記第２のオブジェクトとを含む仮想空間を表す画像を描画する描画手段と、
前記描画手段が描画した画像を表示する表示手段とを備える
ことを特徴とする携帯端末装置。
【請求項２１】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第１の情報処理装置のコンピュータに実行させるための情報処理プログラムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
ユーザからの指示入力に応じた指示信号が入力される第１入力ステップと、
前記第１入力ステップで入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出ステップと、
前記第１検出ステップで前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信ステップとを有する
ことを特徴とする情報処理プログラム。
【請求項２２】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する第２の情報処理装置のコンピュータに実行させるための情報処理プログラムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
前記第１のオブジェクトの位置及び移動速度とこれらが検出された検出時刻とを含む第１位置情報を前記所定のネットワークを介して受信する第２位置情報受信ステップと、
前記第２位置情報受信ステップで前記第１位置情報を受信した受信時刻を取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出ステップとを有する
ことを特徴とする情報処理プログラム。
【請求項２３】
請求項２１又は請求項２２に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【手続補正書】
【提出日】平成19年1月11日(2007.1.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のネットワークに接続される第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する情報処理システムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
前記第１の情報処理装置は、
時刻を計測する第１の計時手段と、
ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、
前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、
前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１の計時手段から取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段と、を備え、
前記第２の情報処理装置は、
時刻を計測する第２の計時手段と、
前記所定のネットワークを介して前記第１位置情報を受信する第２位置情報受信手段と、
前記第２位置情報受信手段が前記第１位置情報を受信したとき、その受信時刻を前記第２の計時手段から取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段と、を備え、
前記第１及び第２の情報処理装置のうち一方の情報処理装置は、
送信時刻を示す第１時刻情報を、予め定められた所定時間毎に前記所定のネットワークを介して送信する第１時刻情報送信手段と、
時刻返信情報を前記所定のネットワークを介して受信する時刻返信情報受信手段と、
時刻補正手段と、を備え、
前記第１及び第２の情報処理装置のうち他方の情報処理装置は、
前記第１時刻情報を前記所定のネットワークを介して受信する第１時刻情報受信手段と、
前記第１時刻情報受信手段が前記第１時刻情報を受信したとき、その受信時刻を当該他方の情報処理装置が備える前記計時手段から取得し、当該受信時刻を示す第２時刻情報と、前記受信した第１時刻情報とを含む前記時刻返信情報を、前記所定のネットワークを介して送信する時刻情報返信手段と、を備え、
前記時刻情報送信手段は、前記第１時刻情報を送信する際に、前記一方の情報処理装置が備える前記計時手段から当該第１時刻情報が示す送信時刻を取得し、
前記時刻補正手段は、前記時刻返信情報受信手段が前記時刻返信情報を受信したとき、その受信時刻を当該一方の情報処理装置が備える前記計時手段から取得し、当該受信時刻と、前記受信した時刻返信情報に含まれる各時刻情報が各々示す前記時刻とを用いて、当該一方の情報処理装置の計時手段が計測する時刻と前記他方の情報処理装置の計時手段が計測する時刻との時刻差を算出し、算出した時刻差を用いて、当該一方の情報処理装置の計時手段が計測する時刻を補正する
ことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記時刻情報返信手段は、前記時刻返信情報を送信する際に、その送信時刻を前記他方の情報処理装置が備える前記計時手段から取得し、当該送信時刻を示す第３時刻情報を前記時刻返信情報に含めて送信する
ことを特徴とする情報処理システム。
【請求項３】
請求項１に記載の情報処理システムであって、
前記時刻情報返信手段は、前記第１時刻情報受信手段が前記第１時刻情報を受信すると同時に前記時刻返信情報を送信する
ことを特徴とする情報処理システム。
【請求項４】
所定のネットワークに接続される第１及び第２の情報処理装置とサーバ装置とを備え、前記第１及び第２の情報処理装置が共有する仮想空間に１又は複数の所定のオブジェクトを配置する情報処理システムであって、
前記所定のオブジェクトは、前記第１の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第１のオブジェクトを含み、
前記第１の情報処理装置は、
時刻を計測する第１の計時手段と、
ユーザからの指示入力に応じた指示信号が入力される第１入力手段と、
前記第１入力手段に入力された指示信号に基づき、前記第１のオブジェクトの前記仮想空間における位置及び移動速度を検出する第１検出手段と、
前記第１検出手段が前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１の計時手段から取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を前記所定のネットワークを介して送信する第１位置情報送信手段と、を備え、
前記第２の情報処理装置は、
時刻を計測する第２の計時手段と、
前記所定のネットワークを介して前記第１位置情報を受信する第２位置情報受信手段と、
前記第２位置情報受信手段が前記第１位置情報を受信した受信時刻を前記第２の計時手段から取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出する第２位置算出手段と、を備え、
前記第１及び第２の情報処理装置は、
送信時刻を示す第１時刻情報を、予め定められた所定時間毎に前記サーバ装置へ前記所定のネットワークを介して送信する時刻情報送信手段と、
前記サーバ装置から送信された時刻返信情報を前記所定のネットワークを介して受信する時刻情報受信手段と、
時刻補正手段と、をそれぞれ備え、
前記サーバ装置は、
時刻を計測する第３の計時手段と、
前記第１時刻情報を前記所定のネットワークを介して受信する第１時刻情報受信手段と、
前記第１時刻情報受信手段が前記第１時刻情報を受信したとき、その受信時刻を前記第３の計時手段から取得し、当該受信時刻を示す第２時刻情報と、前記受信した第１時刻情報とを含む前記時刻返信情報を、前記受信した第１時刻情報の送信元の情報処理装置に前記所定のネットワークを介して送信する時刻情報返信手段と、を備え、
前記時刻情報送信手段は、前記第１時刻情報を送信する際に、当該情報処理装置が備える前記計時手段から前記第１時刻情報が示す送信時刻を取得し、
前記時刻補正手段は、前記時刻返信情報受信手段が前記時刻返信情報を受信したとき、その受信時刻を当該情報処理装置が備える前記計時手段から取得し、当該受信時刻と、前記受信した時刻返信情報に含まれる各時刻情報が各々示す前記時刻とを用いて、当該情報処理装置の計時手段が計測する時刻と前記サーバ装置の第３の計時手段が計測する時刻との時刻差を算出し、算出した時刻差を用いて、当該情報処理装置の計時手段が計測する時刻を補正する
ことを特徴とする情報処理システム。
【請求項５】
請求項４に記載の情報処理システムであって、
前記時刻情報返信手段は、前記時刻返信情報を送信する際に、その送信時刻を前記第３の計時手段から取得し、当該送信時刻を示す第３時刻情報を前記時刻返信情報に含めて送信する
ことを特徴とする情報処理システム。
【請求項６】
請求項４に記載の情報処理システムであって、
前記サーバ装置の時刻情報返信手段は、前記第１時刻情報受信手段が前記第１時刻情報を受信すると同時に前記時刻返信情報を送信する
ことを特徴とする情報処理システム。
【請求項７】
請求項４〜請求項６の何れかに記載の情報処理システムであって、
前記サーバ装置は、前記第１の情報処理装置と前記第２の情報処理装置との間での前記所定のネットワークを介した情報の送受信を中継する情報中継手段を備える
ことを特徴とする情報処理システム。
【請求項８】
請求項１〜請求項７の何れかに記載の情報処理システムであって、
前記所定のオブジェクトは、前記第１のオブジェクトを複数含み、
前記第１検出手段は、前記第１入力手段に入力された指示信号に基づき、複数の前記第１のオブジェクトの前記仮想空間における各位置及び各移動速度を検出し、
前記第１位置情報は、前記第１検出手段が検出した複数の前記第１のオブジェクトの各位置及び各移動速度と、これらが検出された検出時刻とを含む
ことを特徴とする情報処理システム。
【請求項９】
請求項１〜請求項８の何れかに記載の情報処理システムであって、
前記第１検出手段は、前記第１のオブジェクトの移動方向を検出し、
前記第１位置情報は、前記第１のオブジェクトの移動方向を含む
ことを特徴とする情報処理システム。
【請求項１０】
請求項１〜請求項９の何れかに記載の情報処理システムであって、
前記所定のオブジェクトは、前記第２の情報処理装置におけるユーザからの指示入力に応じて前記仮想空間内を移動する第２のオブジェクトを含み、
前記第２の情報処理装置は、
ユーザからの指示入力に応じた指示信号が入力される第２入力手段と、
前記第２入力手段に入力された指示信号に基づき、前記第２のオブジェクトの前記仮想空間における位置及び移動速度を検出する第２検出手段と、
前記第２検出手段が前記第２のオブジェクトの位置及び移動速度を検出した検出時刻を前記第２の計時手段から取得し、当該検出時刻と前記第２のオブジェクトの位置及び移動速度とを含む第２位置情報を前記所定のネットワークを介して送信する第２位置情報送信手段と、を備え、
前記第１の情報処理装置は、
前記所定のネットワークを介して送信された前記第２位置情報を受信する第１位置情報受信手段と、
前記第１位置情報受信手段が前記第２位置情報を受信した受信時刻を前記第１の計時手段から取得し、当該受信時刻と、当該第２位置情報とを用いて、当該受信時刻における前記第２のオブジェクトの前記仮想空間における位置を算出する第１位置算出手段と、を備える
ことを特徴とする情報処理システム。
【請求項１１】
請求項１〜請求項１０の何れかに記載の情報処理システムであって、
前記第２の情報処理装置は、前記第２位置算出手段が算出した位置に基づいて前記第１のオブジェクトを配置した仮想空間を表す画像を描画する第２描画手段を備える
ことを特徴とする情報処理システム。
【請求項１２】
請求項１０に記載の情報処理システムであって、
前記第２の情報処理装置は、前記第２検出手段が検出した位置に基づいて配置した前記第２のオブジェクトと、前記第２位置算出手段が算出した位置に基づいて配置した前記第１のオブジェクトとを含む仮想空間を表す画像を描画する第２描画手段を備える
ことを特徴とする情報処理システム。
【請求項１３】
請求項１１又は請求項１２に記載の情報処理システムであって、
前記第２の情報処理装置は、前記第２位置情報受信手段が受信した前記第１位置情報と、前記第２位置算出手段が取得した前記受信時刻と、前記第２位置算出手段が算出した前記受信時刻における前記位置とを記憶する第２記憶手段を備え、
前記第２位置算出手段は、前記第２描画手段が前記画像を描画するとき、当該描画時刻を前記第２の計時手段から取得し、当該描画時刻と、前記第２記憶手段に記憶された前記受信時刻と、前記受信時刻における前記位置及び前記第１位置情報に含まれる移動速度とを用いて、当該描画時刻における前記第１のオブジェクトの位置を算出する
ことを特徴とする情報処理システム。
【請求項１４】
請求項１１〜請求項１３の何れかに記載の情報処理システムであって、
前記第２描画手段が描画した画像を表示する第２表示手段を備える
ことを特徴とする情報処理システム。
【請求項１５】
請求項１〜請求項１４の何れかに記載の情報処理システムであって、
前記第１の情報処理装置は、前記第１検出手段が検出した位置に基づいて前記第１のオブジェクトを配置した仮想空間を表す画像を描画する第１描画手段を備える
ことを特徴とする情報処理システム。
【請求項１６】
請求項１０に記載の情報処理システムであって、
前記第１の情報処理装置は、前記第１検出手段が検出した位置に基づいて配置した前記第１のオブジェクトと、前記第１位置算出手段が算出した位置に基づいて配置した前記第２のオブジェクトとを含む仮想空間を表す画像を描画する第１描画手段を備える
ことを特徴とする情報処理システム。
【請求項１７】
請求項１６に記載の情報処理システムであって、
前記第１の情報処理装置は、前記第１位置情報受信手段が受信した前記第２位置情報と、前記第１位置算出手段が取得した前記受信時刻と、前記第１位置算出手段が算出した前記受信時刻における前記位置とを記憶する第１記憶手段を備え、
前記第１位置算出手段は、前記第１描画手段が前記画像を描画するとき、当該描画時刻を前記第１の計時手段から取得し、当該描画時刻と、前記第１記憶手段に記憶された前記受信時刻と、前記受信時刻における前記位置及び前記第２位置情報に含まれる移動速度とを用いて、当該描画時刻における前記第２のオブジェクトの位置を算出する
ことを特徴とする情報処理システム。
【請求項１８】
請求項１５〜請求項１７の何れかに記載の情報処理システムであって、
前記第１描画手段が描画した画像を表示する第１表示手段を備える
ことを特徴とする情報処理システム。
【請求項１９】
第１の計時手段を備え、ユーザからの指示入力に応じた指示信号に基づき第１のオブジェクトの仮想空間における位置及び移動速度を検出し、前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１の計時手段から取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を所定のネットワークを介して送信する第１の情報処理装置と、この第１の情報処理装置と前記仮想空間を共有し、第２の計時手段を備え、前記所定のネットワークを介して前記第１位置情報を受信し、その受信時刻を前記第２の計時手段から取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出し、前記仮想空間内に前記第１のオブジェクトを配置する第２の情報処理装置のうち、一方の情報処理装置であって、
前記一方の情報処理装置が備える前記計時手段から送信時刻を取得し、その送信時刻を示す第１時刻情報を、前記第１及び第２の情報処理装置のうち他方の情報処理装置に前記所定のネットワークを介して送信する第１時刻情報送信手段と、
前記第１時刻情報を受信した前記他方の情報処理装置から送信され、当該他方の情報処理装置が備える前記計時手段から取得された前記第１時刻情報の受信時刻を示す第２時刻情報と、前記第１時刻情報とを含む時刻返信情報を、前記所定のネットワークを介して受信する時刻返信情報受信手段と、
前記時刻返信情報受信手段が前記時刻返信情報を受信したとき、その受信時刻を当該一方の情報処理装置が備える前記計時手段から取得し、当該受信時刻と、前記受信した時刻返信情報に含まれる各時刻情報が各々示す前記時刻とを用いて、当該一方の情報処理装置の計時手段が計測する時刻と前記他方の情報処理装置の計時手段が計測する時刻との時刻差を算出し、算出した時刻差を用いて、当該一方の情報処理装置の計時手段が計測する時刻を補正する時刻補正手段と、を備えた
ことを特徴とする情報処理装置。
【請求項２０】
第１の計時手段を備え、ユーザからの指示入力に応じた指示信号に基づき第１のオブジェクトの仮想空間における位置及び移動速度を検出し、前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１の計時手段から取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を所定のネットワークを介して送信する第１の情報処理装置と、この第１の情報処理装置と前記仮想空間を共有し、第２の計時手段を備え、前記所定のネットワークを介して前記第１位置情報を受信し、その受信時刻を前記第２の計時手段から取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出し、前記仮想空間内に前記第１のオブジェクトを配置する第２の情報処理装置と、を備えた情報処理システムであって、
前記第１及び第２の情報処理装置は、
前記情報処理装置が備える前記計時手段から送信時刻を取得し、その送信時刻を示す第１時刻情報を、前記所定のネットワークに接続されたサーバ装置に当該所定のネットワークを介して送信する第１時刻情報送信手段と、
前記第１時刻情報を受信した前記サーバ装置から送信され、当該サーバ装置が備える第３の計時手段から取得された前記第１時刻情報の受信時刻を示す第２時刻情報と、前記第１時刻情報とを含む時刻返信情報を、前記所定のネットワークを介して受信する時刻返信情報受信手段と、
前記時刻返信情報受信手段が前記時刻返信情報を受信したとき、その受信時刻を当該情報処理装置が備える前記計時手段から取得し、当該受信時刻と、前記受信した時刻返信情報に含まれる各時刻情報が各々示す前記時刻とを用いて、当該情報処理装置の計時手段が計測する時刻と前記サーバ装置の第３の計時手段が計測する時刻との時刻差を算出し、算出した時刻差を用いて、当該情報処理装置の計時手段が計測する時刻を補正する時刻補正手段と、をそれぞれ備えた
ことを特徴とする情報処理システム。
【請求項２１】
第１の計時手段を備え、ユーザからの指示入力に応じた指示信号に基づき第１のオブジェクトの仮想空間における位置及び移動速度を検出し、前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１の計時手段から取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を所定のネットワークを介して送信する第１の情報処理装置と、この第１の情報処理装置と前記仮想空間を共有し、第２の計時手段を備え、前記所定のネットワークを介して前記第１位置情報を受信し、その受信時刻を前記第２の計時手段から取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出し、前記仮想空間内に前記第１のオブジェクトを配置する第２の情報処理装置のうち、一方の情報処理装置のコンピュータに実行させるための情報処理プログラムであって、
第１時刻情報送信手段が、前記一方の情報処理装置が備える前記計時手段から送信時刻を取得し、その送信時刻を示す第１時刻情報を、前記第１及び第２の情報処理装置のうち他方の情報処理装置に前記所定のネットワークを介して送信する第１時刻情報送信ステップと、
前記第１時刻情報を受信した前記他方の情報処理装置から送信され、当該他方の情報処理装置が備える前記計時手段から取得された前記第１時刻情報の受信時刻を示す第２時刻情報と、前記第１時刻情報とを含む時刻返信情報を、時刻返信情報受信手段が前記所定のネットワークを介して受信する時刻返信情報受信ステップと、
前記時刻返信情報受信手段が前記時刻返信情報を受信したとき、時刻補正手段が、その受信時刻を当該一方の情報処理装置が備える前記計時手段から取得し、当該受信時刻と、前記受信した時刻返信情報に含まれる各時刻情報が各々示す前記時刻とを用いて、当該一方の情報処理装置の計時手段が計測する時刻と前記他方の情報処理装置の計時手段が計測する時刻との時刻差を算出し、算出した時刻差を用いて、当該一方の情報処理装置の計時手段が計測する時刻を補正する時刻補正ステップと、
を含む処理をコンピュータに実行させるための情報処理プログラム。
【請求項２２】
第１の計時手段を備え、ユーザからの指示入力に応じた指示信号に基づき第１のオブジェクトの仮想空間における位置及び移動速度を検出し、前記第１のオブジェクトの位置及び移動速度を検出した検出時刻を前記第１の計時手段から取得し、当該検出時刻と前記第１のオブジェクトの位置及び移動速度とを含む第１位置情報を所定のネットワークを介して送信する第１の情報処理装置と、この第１の情報処理装置と前記仮想空間を共有し、第２の計時手段を備え、前記所定のネットワークを介して前記第１位置情報を受信し、その受信時刻を前記第２の計時手段から取得し、当該受信時刻と当該第１位置情報とを用いて、当該受信時刻における前記第１のオブジェクトの前記仮想空間における位置を算出し、前記仮想空間内に前記第１のオブジェクトを配置する第２の情報処理装置と、を備えた情報処理システムにおいて、前記第１及び第２の情報処理装置の各コンピュータにそれぞれ実行させる情報処理プログラムであって、
第１時刻情報送信手段が、前記情報処理装置が備える前記計時手段から送信時刻を取得し、その送信時刻を示す第１時刻情報を、前記所定のネットワークに接続されたサーバ装置に当該所定のネットワークを介して送信する第１時刻情報送信ステップと、
前記第１時刻情報を受信した前記サーバ装置から送信され、当該サーバ装置が備える第３の計時手段から取得された前記第１時刻情報の受信時刻を示す第２時刻情報と、前記第１時刻情報とを含む時刻返信情報を、時刻返信情報受信手段が前記所定のネットワークを介して受信する時刻返信情報受信ステップと、
前記時刻返信情報受信手段が前記時刻返信情報を受信したとき、時刻補正手段が、その受信時刻を当該情報処理装置が備える前記計時手段から取得し、当該受信時刻と、前記受信した時刻返信情報に含まれる各時刻情報が各々示す前記時刻とを用いて、当該情報処理装置の計時手段が計測する時刻と前記サーバ装置の第３の計時手段が計測する時刻との時刻差を算出し、算出した時刻差を用いて、当該情報処理装置の計時手段が計測する時刻を補正する時刻補正ステップと、
を含む処理をコンピュータに実行させるための情報処理プログラム。
【請求項２３】
請求項２１又は請求項２２に記載の情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
Ｔ２−Ｔ１＝  Ｄ＋ｄ１・・・・・（２）
Ｔ４−Ｔ３＝−Ｄ＋ｄ２・・・・・（３）
ここで、ｄ１＝ｄ２とみなすと、上述の算式（１）が導き出される。