(57)【要約】【課題】シミュレーションの更新状態に応じてシミュレータと表示処理部間の情報交換の負荷を低減し、表示品質を損なうことなくシミュレーションの表示の遅延を防止する。【解決手段】複数の物体のシミュレーションを実行し、シミュレーションの更新状態を表示データとして出力するシミュレータと、ネットワークを介してシミュレータから送られた表示データに基づいて各物体のシミュレーションの状況を表示装置で表示する表示処理部を備えたシミュレーションシステムにおいて、シミュレータは、物体ごとの送信条件に基づいて、表示処理部に対する各表示データの送信を制御するものである。【選択図】図１
2008097127.tif 000002
【特許請求の範囲】
【請求項１】
複数の物体のシミュレーションを実行し、シミュレーションの更新状態を表示データとして出力するシミュレータと、ネットワークを介してシミュレータから送られた表示データに基づいて各物体のシミュレーションの状況を表示装置で表示する表示処理部を備えたシミュレーションシステムにおいて、
前記シミュレータは、物体ごとの送信条件に基づいて、前記表示処理部に対する各表示データの送信を制御することを特徴とするシミュレーションシステム。
【請求項２】
送信条件は、表示処理部で指定してシミュレータへ提供されることを特徴とする請求項１記載のシミュレーションシステム。
【請求項３】
送信条件は、表示データの送信間隔としたことを特徴とする請求項１または請求項２記載のシミュレーションシステム。
【請求項４】
送信間隔は、シミュレーションの状態を表示する画面上で物体が一定距離を移動する時間としたことを特徴とする請求項３記載のシミュレーションシステム。
【請求項５】
送信条件は、更新された表示状態を評価する表示の枠組みを構成する表示パラメータとしたことを特徴とする請求項１または請求項２記載のシミュレーションシステム。
【請求項６】
シミュレータは、表示パラメータに基づいて表現された表示状態において、一定距離を移動した物体の表示データのみを送信するようにしたことを特徴とする請求項５記載のシミュレーションシステム。
【請求項７】
シミュレータは、送信条件を満たさない場合でも、シミュレーションの特徴的な状況に応じて表示データを送信することを特徴とする請求項１記載のシミュレーションシステム。
【請求項８】
表示処理部を複数備え、
シミュレータは、表示処理部ごとの送信条件に基づいて表示データを送信し、
各表示処理部は、シミュレーションの状況をそれぞれの視点で表示することを特徴とする請求項２記載のシミュレーションシステム。
【請求項９】
送信条件である送信間隔は、複数の物体の表示データの単位時間当たりの送信データ量の合計が、表示処理部との間の伝送系の単位時間当たりの送信データ量の上限値を超えないようにそれぞれの物体の単位時間当たりの送信データ量を一律に調整し、かつこの調整値に基づいて算出調整されるようにしたことを特徴とする請求項３記載のシミュレーションシステム。
【請求項１０】
送信条件である送信間隔は、複数の物体の表示データの単位時間当たりの送信データ量の合計が、表示処理部との間の伝送系の単位時間当たりの送信データ量の上限値を超えないように複数あるシミュレータごとの重み付けにより物体の単位時間当たりの送信データ量を調整し、かつこの調整値に基づいて算出調整されるようにしたことを特徴とする請求項３記載のシミュレーションシステム。
【請求項１１】
送信条件である送信間隔は、複数の物体の表示データの単位時間当たりの送信データ量の合計が、表示処理部との間の伝送系の単位時間当たりの送信データ量の上限値を超えないように物体ごとの重み付けにより物体の単位時間当たりの送信データ量を調整し、かつこの調整値に基づいて算出調整されるようにしたことを特徴とする請求項３記載のシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の物体の動きや形状変化のシミュレーションを行い、それぞれのシミュレーション結果を表示するシミュレーションシステムに関するものである。
【背景技術】
【０００２】
実体を模擬する複数のシミュレータが互いの情報を交換しつつ、全体として一つの事象のシミュレーションを行う分散シミュレーションがある。このような分散シミュレーションを行うシステムは、災害シミュレーションや軍事シミュレーションなどで利用されている。分散シミュレーションでは、シミュレータ数が大きくなると交換し合う情報も多くなり、シミュレーションを実行する単位時間内で必要なすべての情報を交換し合うことが困難となる。そのため、結果としてシミュレーションの実行に遅延が発生し、シミュレーションの正確性が損なわれたり、フレームレートの低下による表示品質の悪化が発生したりする。この問題を解決するため、従来のシミュレーションシステムでは、シミュレーションの単位時間を変更することによって、計算負荷が高い場合でもシミュレーションの表示品質を低下させずに表示を行うようにしていた（例えば、特許文献１参照）。この技術では、実際のシミュレーションにかかった時間を測定し、それを単位時間とすることで、実際にかかった時間と単位時間を一致させており、シミュレーションの誤差を減らす効果がある。
また、デッドレコニングと呼ばれる手法によって、通信量の増加に伴う時間遅れを補正する方法も提案されている（例えば、非特許文献１参照）。これは、情報交換による遅延の影響を減少させるために、各シミュレータは他のシミュレータの情報が届かない間は他のシミュレータの状態を予測してシミュレーションを実施し、情報が届いた段階で予測と実際の誤差を修正する手法である。これにより、遅延が発生している間にもシミュレーションを実行でき、表示上も問題も生じなくなる。
【０００３】
【特許文献１】特開２００５−３２２１４３号公報
【非特許文献１】Wentong Cai Lee, “An Auto-adaptive Dead Reckoning Algorithm for Distributed Interactive Simulation” Parallel and Distributed Simulation, 1999. Proceedings. Thirteenth Workshop on, 1999年5月1日、P82〜89
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のシミュレーションシステムは、シミュレーションの状況に応じて各シミュレータ間の情報交換の頻度や間隔を動的に変更できないため、必要のない情報を送信してしまい情報交換の負荷を増大させてしまうという問題があった。例えば、シミュレーションの状態を表示する際に、表示装置が必要とする毎秒３０回の頻度で表示用情報を常時送信した場合、シミュレータ数に比例して表示用情報が増大し、情報交換に遅延が発生し、毎秒３０回の表示更新は困難になる。また、デッドレコニングを用いれば、毎秒３０回での表示の更新は可能であるが、予測の値と実際の値の誤差が増減し、表示上での移動の不連続性が目立つ現象が発生する。
【０００５】
この発明は、上記問題点を解決するためになされたもので、シミュレーションの更新状態に応じてシミュレータと表示処理部間の情報交換の負荷を低減し、表示品質を損なうことなくシミュレーションの表示の遅延を防止するシミュレーションシステムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るシミュレーションシステムは、複数の物体のシミュレーションを実行し、シミュレーションの更新状態を表示データとして出力するシミュレータと、ネットワークを介してシミュレータから送られた表示データに基づいて各物体のシミュレーションの状況を表示装置で表示する表示処理部を備えたシミュレーションシステムにおいて、シミュレータは、物体ごとの送信条件に基づいて、表示処理部に対する各表示データの送信を制御するものである。
【発明の効果】
【０００７】
この発明によれば、シミュレーションの更新状態に応じて情報交換の頻度あるいは間隔を動的に変更して、表示品質を損なうことなく送信回数を減らし、情報交換の負荷を低減してシミュレーションの表示更新を可能にする効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態１から実施の形態３に係るシミュレーションシステムの全体構成を示すブロック図である。
図１において、シミュレータ２００は、物体の動きのシミュレーションを実行し、実行結果であるシミュレーションの更新状態について送信条件に基づいて送信可否を判断し、送信する場合にはシミュレーションの更新状態を表示データとして出力する手段である。表示処理部１００は、シミュレータ２００から送られた表示データを保持し、その表示データからシミュレーションの結果を表す画像データを生成する手段である。ネットワーク３００は、シミュレータ２００と表示処理部１００間で交換されるデータを伝送する手段である。表示装置４００は、表示処理部１００で生成された画像データを表示するディスプレイである。なお、表示処理部１００およびシミュレータ２００は、別々のコンピュータ上にあってもよいし、同じコンピュータ上に存在する別のプログラムで構成されたものであってもよい。
【０００９】
図２は実施の形態１によるシミュレーションシステムの機能構成を示すブロック図である。
シミュレータ２００は、シミュレーション実行部２０３、送信部２０１、受信部２０２、送信条件更新部２０４およびシミュレーション更新状態送信判断部２０５を備えている。
シミュレーション実行部２０３は、物体の動きのシミュレーションを実行する手段である。送信部２０１は、ネットワーク３００を介して表示初期データ２０６とシミュレーションの更新状態を表す表示データ（以下、更新表示データとする）を表示処理部１００に送信する手段である。受信部２０２は、表示処理部１００から送られてくる送信条件を受信する手段である。送信条件更新部２０４は、保持している送信条件を受信した送信条件で更新する手段である。シミュレーション更新状態送信判断部２０５は、シミュレーションの実行結果であるシミュレーションの更新状態を、送信条件に基づいて更新表示データとして送信するかどうかを判断する手段である。
【００１０】
表示処理部１００は、受信部１０１、格納部１０２、更新表示データ書き込み部１０３、シミュレーション状態表示処理部１０４、送信条件算出部１０５および送信部１０６を備えている。
受信部１０１は、シミュレータ２００から送られる表示初期データおよび更新表示データ（シミュレーションの更新状態）を受信する手段である。格納部１０２は、表示データを保持する手段である。更新表示データ書き込み部１０３は、受信した更新表示データを格納部１０２に書き込む手段である。シミュレーション状態表示処理部１０４は、格納部１０２から読み出した表示データを参照してシミュレーションの更新状態の画像データを生成する手段である。送信条件算出部１０５は、現在の表示状態に基づいて送信条件を計算する手段である。送信部１０６は、送信条件算出部１０５で算出された送信条件を、ネットワーク３００を介してシミュレータ２００に送信する手段である。
【００１１】
次に、動作について説明する。図３はこの発明の実施の形態１に係る処理手順を示すフローチャートである。
まず、シミュレータ２００で処理が開始されると（ステップＳＴ２０２）、シミュレーション実行部２０３は表示初期データ２０６を、更新状態送信判断部２０５をそのまま介して送信部２０１から表示処理部１００に送信する（ステップＳＴ２０３）。ここで、表示初期データとは、初期位置、初期速度、形状などである。多くの物体の場合、位置や速度が変わることがあっても形状は変わらないため、表示処理部１００では最初に送信された表示初期データに含まれた形状を保持し、シミュレーション中は位置、速度などを更新表示データとして受信するだけで保持している形状と合成してシミュレーションの状況を表す画像データを生成する。また、形状が変化する場合でも、その形状の差分を送信するようにし、通信データ量を削減するようにしている。
表示処理部１００では、受信部１０１により表示初期データを受信すると（ステップＳＴ２０４）、格納部１０２に書き込み保持する（ステップＳＴ２０５）。シミュレータ２００は、表示初期データを送信した後、シミュレーションを開始する（ステップＳＴ２０６）。一方、表示処理部１００も表示初期データを保持すると表示処理を開始する（ステップＳＴ２０７）。
【００１２】
次に、シミュレータ側の処理について述べる。
シミュレーション実行部２０３では、シミュレーションを１ステップ実行し、シミュレーションの状態を更新する（ステップＳＴ２１０）。例えば、移動している車両のシミュレーションであれば、現在の速度にしたがってシミュレーション単位時間分だけ車両位置を移動する。ここで、シミュレーション単位時間は、一定時間でもよいし、実際にかかった時間やシミュレータの状況により変化させてもよい。次に、シミュレーション更新状態送信判断部２０５では、更新したシミュレーションの状態を更新表示データとして表示処理部１００へ送信するか否かを送信条件に基づいて判断する（ステップＳＴ２１１）。
【００１３】
図４に送信条件を記載した判断テーブル３０１の例を示す。
シミュレーション更新状態送信判断部２０５は、この判断テーブル３０１を用いて、送信猶予時間と経過時間とを比較しシミュレーションの更新状態の送信可否の判断を行う。シミュレーション実行部２０３は、物体１から物体４まで模擬していて、更新表示データを前に送ってから次に送るまでの物体ごとの送信猶予時間（送信間隔）、すなわち判断テーブル３０１の送信条件を保持する。この例では、各物体の送信猶予時間は、物体１が６０、物体２が１８０、物体３が１５、物体４が０であるとする。また、前回のシミュレーションのステップの実行時刻を１０００とし、現在の時刻を１０５０であったとすると、前回から現在までの経過時間は１０５０−１０００＝５０となる。この経過時間５０と各物体の送信猶予時間を比較する。物体１は、送信猶予時間は６０であるから経過時間５０より大きいため、更新表示データを送信しないと決定し、６０−５０＝１０を新たな送信猶予時間として設定する。物体２の場合も送信猶予時間の方が大きいため、更新データを送信せず、新たな猶予時間として１３０を設定する。物体３の場合は、送信猶予時間が１５であるため、送信猶予時間の方が経過時間より短い。したがって、更新データを送信すると決定し、送信猶予時間を最低値の０とする。物体４の場合は、送信猶予時間が０であるため、経過時間にかかわらず更新データを送信すると決定する。
【００１４】
シミュレーション更新状態送信判断部２０５では、送信すると決定した更新表示データ、すなわち図４の例の場合の物体３と物体４のシミュレーションの更新状態を、送信部２０１から表示処理部１００に送信する（ステップＳＴ２１２）。この送信情報は、表示および新たな送信猶予時間計算に必要なデータである。更新データの送信を行うと、後述するように表示処理部１００から新たな送信条件が送られてくる。その送信条件を受信部２０２で受信し（ステップＳＴ２１６）、送信条件更新部２０４で判断テーブル３０１を更新する（ステップＳＴ２１７）。図４の例では、物体３および物体４に対する新たな送信猶予時間が送られてくるので、判断テーブル３０１の対応する送信猶予時間を更新する。
【００１５】
次に、表示処理部側の処理について述べる。
表示処理部１００の処理は２つの流れからなる。その１つは、シミュレーション状態表示処理部１０４により、格納部１０２で保持している表示データを参照してシミュレーションの状況を常に表示する処理である。したがって、表示データが更新された場合、その更新表示データに基づいた画像データの表示がなされることになる。もう１つの処理は、シミュレータ２００から送られてくる更新表示データを受信し、格納部１０２の表示データとして反映させる処理である。
受信部１０１では、シミュレータ２００から更新表示データが送られてくるのを待機しており、更新表示データを受信すると更新表示データ書き込み部１０３に渡す（ステップＳＴ２０９）。更新表示データ書き込み部１０３では、受け取った更新表示データにより格納部１０２の表示データを更新する（ステップＳＴ２１３）。これにより、シミュレーション状態表示処理部１０４はシミュレータ２００から送られたシミュレーションの更新状態を画像データにして表示装置４００で表示する（ステップＳＴ２０８）。
次に、送信条件算出部１０５では、後述するように、格納部１０２の更新された表示データに基づいて新たな送信条件を算出する（ステップＳＴ２１４）。最後に、送信条件算出部１０５で算出された送信条件を、送信部１０６からシミュレータ２００に送信する（ステップＳＴ２１５）。送信条件の送信後、受信部１０１は再びシミュレーションの更新データの受信のため待機する。
【００１６】
ここで、送信条件の算出方法について説明する。
図５は、シミュレーションの状況を表示画面の奥行き方向で表した模式図である。送信条件算出部１０５では、表示装置４００の画面上である一定の距離（例えば、２ピクセル）を物体が移動した場合に、シミュレーションの新たな状態を送信するために使用する送信条件（送信猶予時間）を算出する。図５において、４０１はユーザの仮想視点、４０２はユーザの仮想視野、４０３は投影面である。
この仮想視点４０１、仮想視野４０２および投影面４０３は、シミュレーションの更新された表示状態を評価する表示の枠組みを構成する表示パラメータで、ユーザの入力によりあるいは表示処理部１００により自動的に設定されるものである。４０４は送信条件となる画面上での一定の距離を表す一定距離視野である。４０５，４０７，４０９，４１１の黒丸はそれぞれ移動する物体を表す。４０６，４０８，４１０，４１２の矢印は、物体４０５，４０７，４０９，４１１それぞれの移動速度ベクトルを表す。表示装置４００の画面上には、投影面４０３上に各物体を投影した状態が表示される。したがって、図５の状態では、同じ大きさの物体でも仮想視点４０１から遠ざかるほど投影面４０３上では小さく表示される。逆に、この例のように画面上で一定の距離を指定した場合は、一定距離視野４０４で示すように仮想視点４０１から遠ざかるほど空間上での距離は大きくなる。
【００１７】
送信条件算出部１０５では、物体４０５、物体４０７、物体４０９、物体４１１が視野４０２で表される一定距離を進むための送信猶予時間を計算する。送信猶予時間は、各物体の速度ベクトルが分かっているので、時間＝距離／速度により計算できる。この例の場合、画面上の一定距離に対応する物体の移動距離は物体の位置により異なるため、移動距離を物体の位置により求め、それを投影面４０３と平行な速度成分により除算することで求めればよい。
図５において、物体４０５，４０７が同じ速度ベクトル４０６，４０８を持っているとした場合、図から分かるように、速度４０６は、速度ベクトルが一定距離視野４０４の範囲を超えていないのに対し、速度４０８は一定距離視野４０４の範囲を超えている。つまり、同じ速度ベクトルを持っていても、物体から仮想視点４０１までの距離により送信猶予時間が異なることが分かる。また、物体４０９は、物体４０５よりも仮想視点４０１からの距離は大きいが、物体４０５の速度４０６よりも大きい速度４１０を持っているため、速度ベクトルが一定距離視野４０４の範囲を超えている。物体４１１は、物体４０５よりも仮想視点４０１からの距離が小さく、その速度４１２は物体４０５の速度４０６よりも大きいが、速度ベクトルが投影面４０３に垂直であるため一定距離視野４０４の範囲に入っている。このように、視点４０１、視野４０２、投影面４０３、物体４０５，４０７，４０９，４１１、速度ベクトル４０６，４０８，４１０，４１２の関係により、物体の位置が画面上で一定の変化をするまでの時間が異なる。そのため、送信条件算出部１０５は、格納部１０２に格納された表示データ上で物体の位置および速度が更新されると、それぞれの物体の送信猶予時間を計算し、シミュレータ２００に送信する。したがって、シミュレータ２００の送信条件更新部２０４では、ステップＳＴ２１７で、その新しい送信猶予時間で判断テーブル３０１を更新し、次のシミュレーションの更新状態の送信判断に備える。
【００１８】
以上のように、この実施の形態１によれば、シミュレータ２００は、表示処理部１００から与えられる送信条件を満たす場合にのみ、シミュレーションの更新状態を表示データとして送信するようにしたので、表示品質を損なうことなく送信回数を減らすことができ、情報交換の負荷を減らすことが可能となる。
【００１９】
実施の形態２．
上記実施の形態１では、更新状態送信判断部２０５が表示処理部１００より送られてきた送信条件により更新表示データ（シミュレーションの更新状態）を送信するかどうかを判断したが、送信条件を満たさない場合でもシミュレーションの特徴的な状況に応じて更新表示データを送信するようにしてもよい。例えば、ユーザの入力やシミュレーションの結果において、物体の移動速度が増加した場合には、算出された猶予時間を待たずに設定した一定距離を越えてしまう可能性がある。あるいは物体の形状が変化した場合には、移動距離とは関係なく物体の形状の変化を表示データ１０２に反映する必要がある。このような場合には、送信条件の算出の前提が満たされていなくても、そのシミュレーションの更新状態を送信するように構成するようにする。
以上のように、シミュレータ２００の判断でミュレーションの更新表示データを送信するようにしたことで、表示上の移動距離が予め設定した距離を超える前に表示処理部１００で使用する表示データを更新し、シミュレーションの状況変化を表示データにすぐに反映することが可能となる。
【００２０】
実施の形態３．
上記実施の形態１では、更新表示データの送信の判断を、物体の送信猶予時間（送信間隔）を送信条件として行っているが、この実施の形態３では、更新された表示状態を評価する表示の枠組みを構成する表示パラメータを送信条件として用いることについて説明する。
図６はこの発明の実施の形態３に係るシミュレータおよび表示処理部の機能構成を示すブロック図である。図において、図２に相当する部分には同一符号を付して示す。
表示処理部１００に設けられた更新表示状態送信判断部１０７は、格納部１０２の表示データの表示状態を調べ、更新された表示状態を評価する表示の枠組みを構成する表示パラメータをシミュレータ２００に送信するかどうか判断する手段である。シミュレータ２００に設けられたシミュレーション更新状態送信判断部２０７は、表示処理部１００から与えられた表示パラメータに基づいてシミュレーションの更新状態を送信するかどうか判断する手段である。
【００２１】
次に動作について説明する。
図７は、この発明の実施の形態３に係る処理手順を示すフローチャートである。図において、図３と同じ処理ステップは同一符号で表す。
上記実施の形態１の場合と同様に、表示処理部１００では、シミュレーション状態表示処理部１０４が格納部１０２の表示初期データの表示処理を開始する（ステップＳＴ２０７）。一方、シミュレータ２００でも、シミュレーション実行部２０３がシミュレーションを開始する（ステップＳＴ２０６）。
表示処理部１００において、表示開始後、更新表示状態送信判断部１０７は、格納部１０２の表示データの表示状態を調べ、表示状態に更新があった場合、シミュレータ２００に更新表示状態を評価する枠組みを構成する表示パラメータを送信するかどうかを判断する（ステップＳＴ５０１）。例えば、上記図５に示す表示パラメータ、すなわち仮想視点４０１、視野４０２、投影面４０３に変更があった場合、表示状態が変更されているため、その変更された表示パラメータをシミュレータ２００に送信する（ステップＳＴ５０２）。表示パラメータの送信後またはステップＳＴ５０１で送信する必要がないと判断された場合には、受信部１０１はシミュレータ２００からの更新表示データを待つ。受信部１０１が更新表示データを受信した場合には（ステップＳＴ２０９）、更新表示データ書き込み部１０３により格納部１０２の表示データを更新する（ステップＳＴ２１３）。
【００２２】
一方、シミュレータ２００において、シミュレーション実行部２０３がシミュレーションを１ステップ実行したあと（ステップＳＴ２１０）、受信部２０２が表示処理部１００からの表示パラメータの受信を待つ。表示パラメータが送られてこない場合には、シミュレーション更新状態送信判断部２０７は、現在保持している初期表示状態を表現する表示パラメータをそのまま使用する。また、受信部２０２が表示パラメータを受信した場合には（ステップＳＴ５０３）、シミュレーション更新状態送信判断部２０７で保持していた表示パラメータを更新する。次に、シミュレーション更新状態送信判断部２０７では、更新された表示パラメータに基づいて、シミュレーションの更新状態を表示処理部１００に送信すべきか否かを判断する（ステップＳＴ５０４）。送信決定した場合には、送信部２０１からシミュレーションの更新状態を更新表示データとして表示処理部１００に送信する（ステップＳＴ２１２）。
【００２３】
シミュレーション更新状態送信判断部２０７による処理方法を図８により説明する。
図８（ａ）は送信判断の対象となった物体の情報を表す管理テーブル６０９を示し、図８（ｂ）はシミュレーションの状況を表示画面の奥行き方向に模式的に表している。
図８（ａ）において、管理テーブル６０９は複数の物体の情報、すなわち表示処理部１００にシミュレーションの更新状態を最後に送った時刻である最終送信時刻、その際の物体の位置である最終送信位置、および物体の現在速度を保持している。現在時刻Ｔｃと各物体の最終送信時刻との差分、および現在速度に基づいて、各物体の現在位置を求める。また、図８（ｂ）において、６０１は物体１の最終送信位置、６０２は物体１の現在位置、６０３は物体２の最終送信位置、６０４は物体２の現在位置、６０５は物体３の最終送信位置、６０６は物体３の現在位置、６０７は物体４の最終送信位置、６０８は物体４の現在位置を表す。
【００２４】
シミュレーション更新状態送信判断部２０７は、表示処理部１００より送られ保持している表示パラメータ（仮想視点４０１、視野４０２、投影面４０３の情報）に基づいて、画面上での移動距離が一定距離視野４０４を超える物体のシミュレーションの更新状態のみを表示処理部１００に送信すると決定する。これを図８（ｂ）で見ると、物体１の場合は、現在位置６０２が一定距離視野４０４の範囲を超えているため、表示処理部１００にシミュレーションの更新状態を送る必要がある。同様に、物体４の場合も、現在位置６０８が一定距離視野４０４の範囲を超えているため、そのシミュレーションの更新状態を送信する必要がある。他方、物体２の現在位置６０４および物体３の現在位置６０６は、一定距離視野４０４内にあるので、これらの物体のシミュレーションの更新状態は送信する必要はないと決定する。更新表示データ（シミュレーションの更新状態）の送信後、シミュレーション更新状態送信判断部２０７は、送信対象となった物体１および物体４のデータについて管理テーブル６０９を書き換える。すなわち、物体１の最終送信位置６０１の座標Ｐ１１が現在位置６０２の座標Ｐ１２に、また、物体４の最終送信位置６０７の座標Ｐ４１が現在位置６０８の座標Ｐ４２に書き換える。これに伴い、物体１の最終送信時刻Ｔ１が現在時刻Ｔｃに、同様に物体４の最終送信時刻Ｔ４も現在時刻Ｔｃに書き換えられる。
【００２５】
以上のように、この実施の形態３によれば、更新表示状態を評価する枠組みを構成する表示パラメータを送信条件としてシミュレーションの更新状態送信判断（ステップＳＴ５０４）を行うようにしたので、途中で物体の速度が変わった場合でも、通信データ量を減らすことが可能になる。その一例を図９の模式図により説明する。図９において、７０１は物体の初期位置、７０２は次のシミュレータ単位時間後の物体の位置、７０３はその次のシミュレータ単位時間後の物体の位置、７０４はその次のシミュレータ単位時間後の物体の位置である。物体が位置７０１、位置７０２、位置７０３、位置７０４の順で移動したとき、上記実施の形態１の場合だと、速度が変わった時点で位置７０３の更新表示データ（シミュレーションの更新状態）を表示処理部１００に送信する必要があった。しかし、この実施の形態３の場合には、一定距離視野４０４を越えた位置７０４の時点での表示データのみを送ることになるので、送信データ量を少なくすることができる。このように、シミュレーションの更新状態送信判断を行うことにより、処理の柔軟性を図ることができる。
【００２６】
実施の形態４．
上記各実施の形態では表示処理部１００となるＰＣが１台であったが、複数台にしてもよい。
図１０はこの実施の形態４に係るシミュレーションシステムの全体構成を示すブロック図である。この例では、表示処理部１００のＰＣの数が２台の場合を示す。この構成において実施の形態１の処理手法を採用した場合、シミュレータ２００が使用する判断テーブルは、図１１に示すように、表示処理部１００ごとの送信猶予時間を送信条件として保持する。したがって、それぞれの表示処理部１００は別々の仮想視点、視野、投影面を持つことが可能である。
以上のように、この実施の形態４によれば、複数の表示処理部を用いているので、シミュレーションの状況を同時に複数の視点、視野で表示することが可能となる。
【００２７】
実施の形態５．
上記実施の形態１において、表示処理部１００の送信条件算出部１０５は、シミュレータ２００にて実行されている物体ごとに個別に送信条件を算出していたが、この実施の形態５で説明するように、通信全体の負荷を考慮して各物体の送信条件を算出するようにしてもよい。
図１２は、この発明の実施の形態５に係る送信条件の判断テーブル例を示す説明図である。
図１２において、１００１は個別に算出した場合の送信条件を示す判断テーブル、１００２は全体の負荷から調整を行った場合の送信条件を示す判断テーブルである。１００３は各物体の一回当たりの表示データのデータ送信量、１００４は実施の形態１と同じ算出手法で算出した送信条件である送信猶予時間、１００５は１００単位時間での送信データ量である。１００６は調整後の送信猶予時間（送信間隔）、１００７は調整後の１００単位時間での送信データ量である。なおこの例では、物体１および物体２はシミュレータ１で、物体３および物体４はシミュレータ２で、物体５はシミュレータ３でシミュレーションされているものとする。１００単位時間での送信データ量１００５は、１００／送信猶予時間×送信データ量１００３によって計算されるものとする。
【００２８】
次に、動作について説明する。
テーブル１００１において、すべての物体の１００単位時間での送信データ量を合計すると、４５Ｋとなる。一方、ネットワーク（伝送系）３００の１００単位時間での送信データ量の上限値を３０Ｋとした場合、現状のまま、送信条件を設定すると、このネットワークの上限値３０Ｋを超えたデータ量４５Ｋを送信しようとするため、送信遅延が発生する。そこで、全体の送信データ量が許容値３０Ｋを超えないように、各物体の１００単位時間での送信データ量を３０Ｋ／４５Ｋ＝２／３に調整する。調整は以下の計算式により実行できる。
調整後の１００単位時間での送信データ量１００７
＝（１００単位時間での送信データ量１００５）×２／３                （１）
次に、各物体の表示データの送信猶予時間を、この調整後の送信データ量１００７に基づいて次式により算出する。
調整後の送信猶予時間１００６
＝１００／（調整後の１００単位時間での送信データ量１００７
／送信データ量１００３）                                          （２）
この計算による結果がテーブル１００２となる。表示処理部１００では、この調整した送信条件（調整後の送信猶予時間）を各シミュレータ２００に送信し、各シミュレータ２００は、この送信条件に従って、上記実施の形態１と同様に、表示データ（シミュレーションの更新状態）の送信判断を行う。したがって、全ての物体の表示データが同時に送信された場合においても、その送信データ量は、ネットワーク上の単位時間あたりの送信データ量の上限値以内に入るようになる。
なお、この実施の形態５による処理は、実施の形態３のように送信条件をシミュレータ側で決定する構成の場合にはシミュレータで行えばよい。
【００２９】
以上のように、この実施の形態５によれば、ネットワークの単位時間あたりの送信データ量の上限値を考慮して、シミュレーション全体の状況により各物体に対する送信条件を決定し、この送信条件に基づいて表示データを送信するようにしたので、大きな遅延を起こすことなくシミュレーション全体の表示の更新を行うことを可能にする。
【００３０】
実施の形態６．
上記実施の形態５の場合は、ネットワーク上の送信データ量を調整するために、各物体一律に送信データ量を削減して送信条件を調整しているが、この実施の形態６で説明するように、複数あるシミュレータの重要度に応じてシミュレータごとに重み付けを行って全体の送信データ量を削減し、送信条件を調整するようにしてもよい。
図１３は、この発明の実施の形態６に係る送信条件の判断テーブルの例を示す説明図である。
図１３において、１１０１はシミュレータの重み付けにより調整を行った場合の送信条件を示す判断テーブルである。１１０２は調整後の送信猶予時間（送信間隔）、１１０３は調整後の１００単位時間での送信データ量である。
【００３１】
次に、動作について説明する。
この例では、シミュレータ１は、シミュレータ２、シミュレータ３と比較して重要度が高いシミュレータとしている。そこで、シミュレータ１にてシミュレーションを実行している物体１および物体２に対しては、優先的に１００単位時間当たりの送信データ量を割り当てる。そのため、物体１および物体２の調整後の１００単位時間での送信データ量１１０３には、調整前の１００単位時間での送信データ量１００５をそのまま割り当てることにする。ネットワーク（伝送系）３００の１００単位時間での送信データ量の上限値を３０Ｋであるとすると、残りの送信データ量は３０Ｋ−１０Ｋ−１０Ｋ＝１０Ｋとなる。次に、この１０Ｋを、略調整前の比率でシミュレータ２とシミュレータ３に割り当てて、上記式（２）を用いて、これらのシミュレータに係る物体３、物体４、物体５の送信猶予時間を算出し、調整後のテーブル１１０１を生成する。表示処理部１００では、この調整した送信条件（調整後の送信猶予時間）を各シミュレータ２００に送信し、各シミュレータ２００は、この送信条件に従って、上記実施の形態１と同様に、表示データ（シミュレーションの更新状態）の送信判断を行う。したがって、全ての物体の表示データが同時に送信された場合においても、その送信データ量は、ネットワーク上の単位時間あたりの送信データ量の上限値以内に入るようになる。
なお、この実施の形態５による処理は、実施の形態３のように送信条件をシミュレータ側で決定する構成の場合にはシミュレータで行えばよい。
【００３２】
以上のように、この実施の形態６によれば、ネットワークの単位時間あたりの送信データ量の上限値を考慮して、複数あるシミュレータの重要度に応じて各物体に対する送信条件を決定し、この送信条件に基づいて表示データを送信するようにしたので、大きな遅延を起こすことなくシミュレーション全体の表示の更新を行うことを可能し、その際、重要なシミュレータによる処理の更新状況を優先的に表示することを可能にする。
【００３３】
実施の形態７．
上記実施の形態６は、ネットワーク上の送信データ量を調整するために、複数あるシミュレータの重要度に応じてシミュレータごとに重み付けを行って全体の送信データ量を削減し、送信条件を調整しているが、この実施の形態７で説明するように、シミュレーションの対象とする物体が複数ある場合に、物体ごとの重要度に応じて重み付けを行って全体の送信データ量を削減し、送信条件を調整するようにしてもよい。
図１４は、この発明の実施の形態７に係る送信条件の判断テーブルの例を示す説明図である。
図１４において、１２０１は物体の重み付けにより調整を行った場合の送信条件を示す判断テーブルである。１２０２は調整後の送信猶予時間（送信間隔）、１２０３は調整後の１００単位時間での送信データ量である。
【００３４】
次に、動作について説明する。
この例では、物体１および物体５が他の物体と比較して重要度が高いとしている。したがって、物体１および物体５に優先的にデータ量を割り当てる。まず、物体１および物体５の、調整後の１００単位時間での送信データ量１２０３として、調整前の１００単位時間での送信データ量１００５をそのまま割り当てる。ネットワーク３００の１００単位時間でのデータ送信量の上限値を３０Ｋであるとすると、残りの送信データ量は３０Ｋ−１０Ｋ−１０Ｋ＝１０Ｋとなる。この１０Ｋを物体２、物体３および物体４に割り当てて、上記式（２）を用いて、これらの物体の調整後の送信猶予時間を算出し、調整後のテーブル１２０１を生成する。表示処理部１００では、この調整した送信条件（調整後の送信猶予時間）をシミュレータ２００に送信し、各シミュレータ２００は、この調整した送信条件（調整後の送信猶予時間）を各シミュレータ２００に送信し、各シミュレータ２００は、この送信条件に従って、上記実施の形態１と同様に、表示データ（シミュレーションの更新状態）の送信判断を行う。したがって、全ての物体の表示データが同時に送信された場合においても、その送信データ量は、ネットワーク上の単位時間あたりの送信データ量の上限値以内に入るようになる。
なお、この実施の形態５による処理は、実施の形態３のように送信条件をシミュレータ側で決定する構成の場合にはシミュレータで行えばよい。
【００３５】
以上のように、この実施の形態７によれば、ネットワークの単位時間あたりの送信データ量の上限値を考慮して、模擬される物体の重要度に応じて各物体に対する送信条件を決定し、この送信条件に基づいて表示データを送信するようにしたので、大きな遅延を起こすことなくシミュレーション全体の表示の更新を行うことを可能し、その際、重要な物体に関するシミュレーションの更新状況を優先的に表示することが可能になる。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施の形態１から実施の形態３に係るシミュレーションシステムの全体構成を示すブロック図である。
【図２】この発明の実施の形態１によるシミュレーションシステムの機能構成を示すブロック図である。
【図３】この発明の実施の形態１に係る処理手順を示すフローチャートである。
【図４】この発明の実施の形態１に係る送信条件を記載した判断テーブルの例を示す説明図である。
【図５】この発明の実施の形態１に係るシミュレーションの状況を表示画面の奥行き方向で表した模式図である。
【図６】この発明の実施の形態３によるシミュレーションシステムの機能構成を示すブロック図である。
【図７】この発明の実施の形態３に係る処理手順を示すフローチャートである。
【図８】この発明の実施の形態３に係るシミュレータの更新状態送信判断部による処理方法の例を示す説明図である。
【図９】この発明の実施の形態３に係るシミュレータの通信データ量の軽減を示す模式図である。
【図１０】この発明の実施の形態４によるシミュレーションシステムの構成を示すブロック図である。
【図１１】この発明の実施の形態４に係るシミュレータの判断テーブルの例を示す説明図である。
【図１２】この発明の実施の形態５に係る送信条件の判断テーブルの例を示す説明図である。
【図１３】この発明の実施の形態６に係る送信条件の判断テーブルの例を示す説明図である。
【図１４】この発明の実施の形態７に係る送信条件の判断テーブルの例を示す説明図である。
【符号の説明】
【００３７】
１００  表示処理部、１０１，２０２  受信部、１０２  格納部、１０３  更新表示データ書き込み部、１０４  シミュレーション状態表示処理部、１０５  送信条件算出部、１０６，２０１  送信部、２００  シミュレータ、２０３  シミュレーション実行部、２０４  送信条件更新部、２０５，２０７  シミュレーション更新状態送信判断部、４００  表示装置。
【図１】
2008097127.tif 000003
【図２】
2008097127.tif 000004
【図３】
2008097127.tif 000005
【図４】
2008097127.tif 000006
【図５】
2008097127.tif 000007
【図６】
2008097127.tif 000008
【図７】
2008097127.tif 000009
【図８】
2008097127.tif 000010
【図９】
2008097127.tif 000011
【図１０】
2008097127.tif 000012
【図１１】
2008097127.tif 000013
【図１２】
2008097127.tif 000014
【図１３】
2008097127.tif 000015
【図１４】
2008097127.tif 000016