(57)【特許請求の範囲】
【請求項１】
複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続し、
前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め前記各クライアント端末に各々登録しておき、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを、前記各クライアント端末に対して通知し、
前記各クライアント端末は、前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させ、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記３次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む
ことを特徴とする３次元仮想現実空間共有方法。
【請求項２】
前記各クライアント端末は、各々のユーザの操作に応じて、前記更新オブジェクトの状態が更新された場合、その更新内容に対応する前記メッセージを前記共有サーバ端末へ通知する
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項３】
前記変更シーケンスとは、前記個々のサブオブジェクトの複合的な連携動作手順である
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項４】
前記変更シーケンスは、さらに、前記個々のサブオブジェクトの移動の方向、期間、距離および回転の方向、期間、距離の少なくとも１つを含む
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項５】
前記共有サーバ端末は、予め設定されたタイミングで、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを前記各クライアント端末へ各々通知する
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項６】
前記広域通信網は、ＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)の通信プロトコルに基づいて、不特定の前記クライアント端末と、前記共有サーバ端末との間における、前記メッセージの授受を行う
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項７】
前記更新オブジェクトを表現する３次元グラフィックスデータは、VRML(Virtual Reality Modeling Language)で記述されている
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項８】
前記共有サーバ端末は、さらに、予め設定されている所定の条件になったと判定したとき、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを生成して、前記各クライアント端末に対して通知する
ことを特徴とする請求項１に記載の３次元仮想現実空間共有方法。
【請求項９】
前記共有サーバ端末は、前記共有サーバ端末で管理している前記更新オブジェクトの位置関係が所定の基準値以下になったと判定したとき、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを生成して、前記各クライアント端末に対して通知する
ことを特徴とする請求項８に記載の３次元仮想現実空間共有方法。
【請求項１０】
複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、
前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末と、
前記各クライアント端末と前記共有サーバ端末とを接続する広域通信網と、
予め前記各クライアント端末に各々登録され、前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルとを備え、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを、前記各クライアント端末に対して通知し、
前記各クライアント端末は、前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させ、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記３次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む
ことを特徴とする３次元仮想現実空間共有システム。
【請求項１１】
複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した３次元仮想現実空間共有システムにおけるクライアント端末の情報処理方法であって、
前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め前記各クライアント端末に各々登録する登録処理ステップと、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から通知される、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを取得するメッセージ取得処理ステップと、
前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させる表示更新処理ステップとを備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記３次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む
ことを特徴とする３次元仮想現実空間共有システムにおけるクライアント端末の情報処理方法。
【請求項１２】
複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した３次元仮想現実空間共有システムにおけるクライアント端末であって、
前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め前記各クライアント端末に各々登録する登録処理手段と、
前記共有サーバ端末で管理している前記更新オブジェクトの状態が更新された時点で、前記共有サーバ端末から通知される、前記更新オブジェクトの状態の更新内容に対応する前記メッセージを取得するメッセージ取得処理手段と、
前記メッセージで指定される変更シーケンスに基づいて、前記個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させる表示更新処理手段とを備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記３次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む
ことを特徴とする３次元仮想現実空間共有システムにおけるクライアント端末。
【請求項１３】
複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した３次元仮想現実空間共有システムにおける共有サーバ端末の情報処理方法であって、
前記共有サーバ端末で管理している前記更新オブジェクトの状態の更新を判断する判断処理ステップと、
前記更新オブジェクトの状態が更新された時点で、前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、前記各クライアント端末に対して通知する通知処理ステップと
を備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記３次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む
ことを特徴とする３次元仮想現実空間共有システムにおける共有サーバ端末の情報処理方法。
【請求項１４】
複数のサブオブジェクトから構成され、前記複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、前記各クライアント端末における前記更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続した３次元仮想現実空間共有システムにおける共有サーバ端末であって、
前記共有サーバ端末で管理している前記更新オブジェクトの状態の更新を判断する判断処理手段と、
前記更新オブジェクトの状態が更新された時点で、前記更新オブジェクトの状態の更新内容に対応する前記個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、前記各クライアント端末に対して通知する通知処理手段と
を備え、
前記更新オブジェクトの状態の更新内容は、前記更新オブジェクトの前記３次元仮想現実空間内での移動および回転の少なくとも一方を含み、
前記変更シーケンスには、前記個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む
ことを特徴とする３次元仮想現実空間共有システムにおける共有サーバ端末。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元仮想現実空間共有方法、３次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末に関し、例えばバーチャルリアリティ（仮想現実空間）を生成し、ユーザに提供する場合に用いて好適な３次元仮想現実空間共有方法、３次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末に関する。
【０００２】
【従来の技術】
従来、NIFTY-Serve(商標)や米国のCompuServe(商標)などのように、複数の利用者が自らのパーソナルコンピュータを、モデムおよび公衆電話回線網を介してセンターのホストコンピュータに接続し、所定の通信プロトコルに基づいてホストコンピュータにアクセスする、いわゆるパソコン通信サービスの分野においては、Habitat（商標）と呼ばれるサイバースペースのサービスが知られている。Habitatは、米国LucasFilm社によって1985年から開発が始められ、米国商業ネットワークであるQuantumLink社で約３年間運用された後、1990年2月に富士通Habitat（商標）としてNIFTY-Serveでそのサービスが開始されたものである。このHabitatにおいては、2次元グラフィックスで描画された「ポピュロポリス（Populopolis）」と呼ばれる仮想の都市に、アバタ（avatar；インド神話に登場する神の化身）と呼ばれるユーザの分身を送り込み、ユーザ同士がチャット（Chat；文字の入力と表示によるテキストベースでのリアルタイムの対話）などを行うことができる。このHabitatの更に詳細な説明については、サイバースペース，マイケル・ベネディクト編，1994年3月20日初版発行，ＮＴＴ出版 ISBN4−87188−265−9C0010（原著；Cyberspace：First Steps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA ISBN0−262−02327−X）第282頁〜第307頁を参照されたい。
【０００３】
この種のパソコン通信サービスで運用されている従来のサイバースペースシステムにおいては、仮想的な街並みや部屋の内部の様子が2次元グラフィックスで描画されており、アバタを奥行きまたは手前方向へ移動させる場合、単にアバタを2次元グラフィックスの背景上で上下に移動させるだけであり、仮想空間内での歩行や移動を疑似体験させるには表示の上での表現力が乏しかった。また、自分の分身であるアバタと他人のアバタが表示された仮想空間を、第３者の視点で見ることになるため、この点においても、疑似体験の感覚が損なわれるものであった。そこで、仮想空間を３次元グラフィックスで表示し、ユーザがアバタの視点で自由に歩き回れる機能、すなわちウォークスルー機能の実現が待たれていた。
【０００４】
一方、ネットワーク上での３次元仮想現実空間の共有を実現する従来例としては、図４３に示すような、会社や研究所内のLAN(Local Area Network)４で相互に接続されたサーバ端末１およびクライアント端末３−１乃至３−３で構成されるシステムが知られている。
【０００５】
最初に、全てのクライアント端末３−１乃至３−３は、サーバ端末１の記憶装置２から読み出され、ＬＡＮ４を介して供給される同一の３次元空間を記述したグラフィックスデータを読み込み、同一の３次元空間を表示している。この時点で、全てのユーザが視認する３次元空間は一致している。すなわち、各クライアント端末３−１乃至３−３には、それぞれ図４４（Ａ）乃至（Ｃ）に示すように、各々のユーザの視点に応じた３次元空間の画像が表示される。この例においては、三角錘オブジェクト１０１、四角柱オブジェクト１０２および円柱オブジェクト１０３が表示されている。
【０００６】
ここで、例えば、クライアント端末３−１において、ユーザが円錐オブジェクト１０１の位置を変更したとすると、その位置の変更に関する情報（変更情報）が、クライアント端末３−１から、ＬＡＮ４を介して、サーバ端末１へ送信され、この移動に関する変更情報が、サーバ端末１からＬＡＮ４を介してクライアント端末３−２および３−３へ送信される。そして、クライアント端末３−２および３−３では、クライアント端末３−１からの変更情報に基づいて、円錐オブジェクトの表示位置が変更される。
【０００７】
同様に、クライアント端末３−２または３−３において、四角柱オブジェクト１０２または円柱オブジェクト１０３を移動すべく操作されると、この操作に対応して、四角柱オブジェクト１０２または円柱オブジェクト１０３を移動させた画像が、クライアント端末３−１に表示される。
【０００８】
すなわち、クライアント端末３−１乃至３−３の何れかで、仮想現実空間に変化が与えられた場合、その変化が、他のクライアント端末の表示に反映され、これにより、クライアント端末３−１乃至３−３を利用するユーザは、同一の仮想現実空間を共有することができる。
【０００９】
ここで、上述した各オブジェクト１０１乃至１０３や、自分の分身を表すアバタのオブジェクトは、仮想現実空間内を移動させたり、また、登場させたり退場させたりすることができるものであり、仮想現実空間において、その状態が変化する（更新される）。そこで、このようなオブジェクトを、以下、適宜、更新オブジェクトという。また、仮想現実空間の、例えば町などを構成する、ビルディングなどの建物のオブジェクトは、更新オブジェクトと異なり、複数のユーザが共通して利用するもので、その基本的な状態は変化しない。変化するとしても、それは自立的であり、クライアント端末の操作とは独立している。そこで、このような複数のユーザが共通して利用するオブジェクトを、以下、適宜、基本オブジェクトという。
【００１０】
【発明が解決しようとする課題】
ところで、上述した図４３に示すようなＬＡＮを用いて３次元仮想現実空間の共有を実現するシステムにおいて、図４４に示すような単一のオブジェクトからなる単純な形状のオブジェクト１０１乃至１０３を移動させる場合は、例えば、各オブジェクト１０１乃至１０３の識別番号と、各オブジェクト１０１乃至１０３の移動ベクトル等の変更情報を送受信することで実現できる。
【００１１】
しかしながら、複数のサブオブジェクトから成る複雑な形状のオブジェクトを移動させる場合、個々のサブオブジェクトの識別番号と、変更情報を別々に送受信しなければならないため、ＬＡＮ４を介しての通信量が増大すると共に、個々の変更情報の伝達に遅延が生じ、その結果、各クライアント端末３−１乃至３−３に表示されるオブジェクトの動きに不一致が生じたり、複数のサブオブジェクトの動きに遅延が生じ、オブジェクト全体としての一連の連携動作が円滑に表示されなくなるという問題があった。
【００１２】
例えば、図４５は、３次元仮想現実空間内において、ユーザの姿を模したアバタの歩行動作を表現する場合の原理を示している。この図に示す例では、一体のアバタのオブジェクトは、頭部を含む胴体と、右腕と、左腕と、右足と、左足の合計５個のサブオブジェクトから構成されている。このアバタのオブジェクトの移動に伴って、手足を前後に振らせて歩行動作させるためには、少なくとも胴体のサブオブジェクトの移動ベクトルと、右腕、左腕、右足、左足の各サブオブジェクトの移動ベクトルおよび胴体との接合部分（関節）を軸とする揺動角度を含む変更情報を、各々のサブオブジェクトの識別番号と共に伝送しなければならなかった。
【００１３】
従って、オブジェクトを構成するサブオブジェクトの個数が多くなり、複雑な動作を伴なう移動を表現しようとする程、オブジェクトの変更情報を伝送するための通信量が増大してしまい、その結果、サーバ端末１の負荷が大きくなると共に、サブオブジェクトの連携動作で表現されるオブジェクトの移動が円滑に表示されなくなるという問題があった。
【００１４】
本発明は、このような状況に鑑みてなされたものであり、個々の状態が更新されるサブオブジェクトの集合体である更新オブジェクトの更新情報を最小限の通信量で伝送することができ、複数のユーザが共有する３次元仮想現実空間の中に、複数のサブオブジェクトの連携動作を円滑に表示させることができるようにするものである。
【００１５】
【課題を解決するための手段】
請求項１に記載の３次元仮想現実空間共有方法は、複数のサブオブジェクトから構成され、複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、各クライアント端末における更新オブジェクトの状態を管理する共有サーバ端末とを広域通信網を介して接続し、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め各クライアント端末に各々登録しておき、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から、更新オブジェクトの状態の更新内容に対応するメッセージを、各クライアント端末に対して通知し、各クライアント端末は、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させ、更新オブジェクトの状態の更新内容は、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含むことを特徴とする。
【００１６】
請求項１０に記載の３次元仮想現実空間共有システムは、複数のサブオブジェクトから構成され、複数のサブオブジェクトの個々の状態が変更される更新オブジェクトを含む３次元仮想現実空間を表示する複数のクライアント端末と、各クライアント端末における更新オブジェクトの状態を管理する共有サーバ端末と、各クライアント端末と共有サーバ端末とを接続する広域通信網と、予め各クライアント端末に各々登録され、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルとを備え、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から、更新オブジェクトの状態の更新内容に対応するメッセージを、各クライアント端末に対して通知し、各クライアント端末は、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させ、更新オブジェクトの状態の更新内容は、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含むことを特徴とする。
【００２１】
請求項１１に記載の情報処理方法は、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め各クライアント端末に各々登録する登録処理ステップと、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から通知される、更新オブジェクトの状態の更新内容に対応するメッセージを取得するメッセージ取得処理ステップと、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させる表示更新処理ステップとを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含むことを特徴とする。
【００２２】
請求項１２に記載のクライアント端末は、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスと、この変更シーケンスの種類を指定するためのメッセージとの関係を定義する変更シーケンステーブルを、予め各クライアント端末に各々登録する登録処理手段と、共有サーバ端末で管理している更新オブジェクトの状態が更新された時点で、共有サーバ端末から通知される、更新オブジェクトの状態の更新内容に対応するメッセージを取得するメッセージ取得処理手段と、メッセージで指定される変更シーケンスに基づいて、個々のサブオブジェクトの状態を変更し、表示している３次元仮想現実空間に反映させる表示更新処理手段とを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含むことを特徴とする。
【００２７】
請求項１３に記載の情報処理方法は、共有サーバ端末で管理している更新オブジェクトの状態の更新を判断する判断処理ステップと、更新オブジェクトの状態が更新された時点で、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、各クライアント端末に対して通知する通知処理ステップとを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含むことを特徴とする。
【００２８】
請求項１４に記載の共有サーバ端末は、共有サーバ端末で管理している更新オブジェクトの状態の更新を判断する判断処理手段と、更新オブジェクトの状態が更新された時点で、更新オブジェクトの状態の更新内容に対応する個々のサブオブジェクトの状態の変更シーケンスの種類を指定するためのメッセージを、各クライアント端末に対して通知する通知処理手段とを備え、更新オブジェクトの状態の更新内容は、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含み、変更シーケンスには、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含むことを特徴とする。
【００３３】
請求項１に記載の３次元仮想現実空間共有方法および請求項１０に記載の３次元仮想現実空間共有システムにおいては、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む変更シーケンスがクライアント端末に個々に記憶され、複数のクライアント端末の変更シーケンスが同期して起動される。
【００３４】
請求項１１に記載の情報処理方法および請求項１２に記載のクライアント端末においては、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む変更シーケンスが記憶され、他のクライアント端末の変更シーケンスに同期して、自己のクライアント端末の更新シーケンスが起動される。
【００３５】
請求項１３に記載の情報処理方法および請求項１４に記載の共有サーバ端末においては、共有サーバ端末で管理している前記更新オブジェクトの状態の更新が判断され、更新オブジェクトの状態が更新された時点で、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む変更シーケンスの種類を指定するためのメッセージが、前記各クライアント端末に対して通知される。
【００３６】
【発明の実施の形態】
まず最初に、バーチャル・ソサエティーの基本理念・構想に関して、ソニー・コンピュータ・サイエンス研究所の北野宏明氏は、そのHome Page「北野宏明、”バーチャル・ソサエティー (V1.0)”、http://www.csl.sony.co.jp/person/kitano/VS/concept.j.html,1995」の中で、以下のように説明している。
【００３７】
「２１世紀の初頭に、全世界的な規模で張りめぐらされたネットワークの中に、仮想的な社会---バーチャル・ソサエティー---が出現するでしょう。全世界の人々が、ネットワーク上に作られた共有空間の中に、数千万人、数億人という規模の「社会」を出現させるのです。現在のインターネットやCATV、さらには、情報スーパーハイウエーの彼方に出現するであろう社会が、私の考える「バーチャル・ソサエティー」です。この社会の中で、人々は、買いものを楽しんだり、人と会話をする、ゲームをする、仕事をする、など、通常の社会生活とほぼ同等の社会行為を行なうことができるうえ、仮想的であるゆえに可能である（つまり、一瞬にして、東京からパリに移動するなど、実社会では困難である）ことも可能となるのです。このような、「社会」は、広帯域ネットワーク、高品位な三次元の表現能力、音声、音楽、動画像の双方向のコミュニケーションを可能とした、サイバースペースの構築技術、そして、その空間を、多人数で共有できる場にする、大規模分散システムなどの最先端の技術で初めて可能になります。」
【００３８】
更に詳細な説明については、上記ＵＲＬ＝http://www.csl.sony.co.jp/person/kitano/VS/concept.j.htmlを参考にされたい。
【００３９】
以上のような、バーチャル・ソサエティーを実現する３次元仮想現実空間システムがサイバースペースシステムであり、このサイバースペースシステムを構築するのに必要なインフラストラクチャの具体例としては、現段階においては、ＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)と称される通信プロトコルで接続された世界的規模のコンピュータ・ネットワークであるインターネット(The Internet)や、ＷＷＷ(World Wide Web)などのインターネット技術を企業内ＬＡＮ(Local Area Network)での情報共有に適用したイントラネット(Intranet)等が考えられている。さらに、将来的には、幹線系から加入者系に至るまで全てを光ファイバで構成するＦＴＴＨ(Fiber To The Home)による広帯域ネットワークを利用することも考えられている。
【００４０】
ここで、インターネット(The Internet)で利用できる情報提供システムとして、スイスのＣＥＲＮ（European Center for Nuclear Research:欧州核物理学研究所）が開発したＷＷＷ（Ｗorld Wide Web）が知られている。これは、テキスト、画像、音声などの情報をハイパーテキスト形式で閲覧できるようにしたもので、ＨＴＴＰ（Hyper Text Transfer Protocol）と呼ばれるプロトコルに基づいて、ＷＷＷサーバ端末に格納された情報をパーソナルコンピュータなどの端末に非同期転送するものである。
【００４１】
ＷＷＷサーバは、ＨＴＴＰデーモン（HTTP:HyperText Transfer Protocol、ハイパーテキスト転送プロトコル）と呼ばれるサーバ・ソフトウエアとハイパーテキスト情報が格納されるＨＴＭＬファイルによって構成される。ハイパーテキスト情報は、ＨＴＭＬ（HyperText Makeup Language、ハイパーテキスト記述言語 ）と呼ばれる記述言語によって表現される。ＨＴＭＬによるハイパーテキストの記述は、「＜」と「＞」で囲まれたタグと呼ばれる書式指定によって文章の論理的な構造が表現される。他の情報とのリンクについての記述は、アンカーと呼ばれるリンク情報によって行われる。アンカーで情報が存在する所を指定する方法がＵＲＬ（Uniform Resource Locator）である。
【００４２】
ＨＴＭＬで記述されたファイルを、ＴＣＰ／ＩＰネットワーク上において転送するためのプロトコルがＨＴＴＰ（HyperText Transfer Protocol）である。クライアントからの情報の要求をＷＷＷサーバに伝え、ＨＴＭＬファイルのハイパーテキスト情報をクライアントに転送する機能をもっている。
【００４３】
ＷＷＷを利用する環境として多く利用されているのが、ＷＷＷブラウザ（ブラウザとは閲覧するという意味）と呼ばれるNetscape Navigator（商標）をはじめとするクライアント・ソフトウエアである。
【００４４】
なお、デーモンとは、ＵＮＩＸ上で作業を行う場合、バックグラウンドで管理や処理を実行するプログラムを意味する。
【００４５】
近年、このＷＷＷをさらに拡張し、３次元空間の記述や、３次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらＷＷＷサーバ端末を次々とアクセスできるようにしたＶＲＭＬ(Virtual Reality Modeling Language)と呼ばれる３次元グラフィックス・データの記述言語と、このＶＲＭＬで記述された仮想空間をパーソナルコンピュータやワークステーションで描画するためのＶＲＭＬビューワが開発された。このＶＲＭＬバージョン１.０の仕様書は、1995年5月26日に公開されたが、その後、誤記や曖昧な表現が訂正された改正版が、1995年11月9日に公開され、その仕様書は、ＵＲＬ＝http://www.oki.com./vrml/vrml10c.htmlから入手することができる。
【００４６】
上述した、ＶＲＭＬによって記述した３次元空間の情報をＷＷＷサーバ端末に格納しておくことで、インターネット上に３次元グラフィックスによる仮想空間を構築することが可能となり、さらにインターネットを介して接続されたパーソナルコンピュータ等によりＶＲＭＬビューワを利用することによって、３次元グラフィックスによる仮想空間の表示やウォークスルー機能を実現することができる。
【００４７】
以下の実施例においては、ネットワークとしてインターネットを用いた例について説明するが、ＦＴＴＨを用いて実現しても勿論構わない。
【００４８】
なお、サイバースペース（Cyberspace）とは、米国のＳＦ作家William Gibsonの造語であり、２１世紀後半を舞台にした出世作NEUROMANCER(1984年)の中で使用された。厳密には、同書が最初ではなく、Burning Chrome(1982年)でも使用されている。これらの小説では、主人公が額に特殊な電極を貼り付けてコンピュータと脳を直接的に接続し、世界中に張り巡らされたコンピュータ・ネットワークのデータを視覚的に再構成した仮想的な３次元空間を脳に直接投影させる描写がある。この仮想３次元空間をサイバースペースと称した。最近においては、ネットワークを介して仮想的な３次元空間を複数のユーザが共有するシステムを示す用語として使用されるようになった。本願の実施例においてもこの意味で使用する。
【００４９】
図１は、本発明を応用したサイバースペースシステムの構成例を表している。同図に示すように、この実施例においては、任意の数（この実施例においては、２台）のサーバ端末１１−１，１１−２が、それぞれ対応する記憶装置３０−１，３０−２を有し、例えばインターネットに代表されるネットワーク（広域通信網）１５を介して、仮想現実空間を提供することができるようになされている。また、任意の数（この実施例においては、３台）のクライアント端末１３−１乃至１３−３が設けられ、ネットワーク１５を介してサーバ端末１１−１，１１−２から、仮想現実空間と、それを利用した所定のサービス（情報）の提供を受けることができるようになされている。
【００５０】
さらに、この実施例においては、任意の数（この実施例においては、２台）のサービス提供者端末１４−１，１４−２が設けられており、このサービス提供者端末１４−１，１４−２は、ネットワーク１５を利用して、サーバ端末１１−１，１１−２を介して仮想現実空間の提供を受けるとともに、クライアント端末１３−１乃至１３−３に対して、所定のサービスを提供することができるようになされている。
【００５１】
図２は、サーバ端末１１（１１−１，１１−２）の構成例を示している。同図に示すように、サーバ端末１１はＣＰＵ２１を備え、このＣＰＵ２１は、ＲＯＭ２２に記憶されているプログラムに従って各種の処理を実行するようになされている。ＲＡＭ２３には、ＣＰＵ２１が各種の処理を実行する上において必要なデータ、プログラム等が適宜記憶されるようになされている。通信装置２４は、ネットワーク１５（インターネット）に対して所定のデータを授受するようになされている。
【００５２】
表示装置２５は、ＣＲＴ，ＬＣＤなどを備え、サーバ端末１１が提供する仮想現実空間の画像をモニタすることができるように、インタフェース２８に接続されている。このインタフェース２８にはまた、ハードディスク、光ディスク、光磁気ディスクなどよりなる記憶装置３０の他、マイク２６とスピーカ２７が接続されており、所定の音声信号をクライアント端末１３やサービス提供者端末１４に供給したり、クライアント端末１３やサービス提供者端末１４からの音声信号をモニタすることができるようになされている。
【００５３】
また、サーバ端末１１は入力装置２９を備え、インタフェース２８を介して、各種の入力を行うことができるようになされている。この入力装置２９は、少なくともキーボード２９ａとマウス２９ｂを有している。
【００５４】
図３は、クライアント端末１３（１３−１乃至１３−３）の構成例を示している。クライアント端末１３はＣＰＵ４１を備え、このＣＰＵ４１は、ＲＯＭ４２に記憶されているプログラムに従って各種の処理を実行するようになされている。ＲＡＭ４３には、ＣＰＵ４１が各種の処理を実行する上において必要なデータやプログラム等が適宜記憶されるようになされている。通信装置４４は、ネットワーク１５（インターネット）を介して、サーバ端末１１に対してデータを授受するようになされている。
【００５５】
表示装置４５は、ＣＲＴ，ＬＣＤなどを備え、ＣＧ（コンピュータグラフィック）の３次元画像や、通常のビデオカメラなどにより撮影された３次元の画像を表示することができるようになされている。マイク４６は、音声信号をサーバ端末１１に出力するとき利用される。また、スピーカ４７は、サーバ端末１１より音声信号が伝送されてきたとき、これを出力する。入力装置４９は、各種の入力を行うとき操作されるようになされている。
【００５６】
この入力装置４９のキーボード４９ａは、所定の文字や記号などを入力するとき操作されるようになされている。マウス４９ｂは、所定の位置を指定するとき操作されるようになされている。視点入力装置４９ｃは、クライアント端末１３の対応するアバタ（オブジェクト）の仮想現実空間における視点を入力するとき操作される。これにより、アバタの視点を上下左右の方向に移動させたり、所定の画像をズームすることができるようになされている。また、移動入力装置４９ｄは、アバタを、前後左右の方向に、所定の速度で移動させるための入力を行うことができるようになされている。
【００５７】
なお、アバタの視点や位置の移動操作は、キーボード４９ａとマウス４９ｂにより行うこともできる。
【００５８】
インタフェース４８は、表示装置４５、マイク４６、スピーカ４７、および入力装置４９に対するデータのインタフェースを構成している。ハードディスク、光ディスク、光磁気ディスクなどよりなる記録装置５０には、データ、プログラムなどが記録される。
【００５９】
図４は、サービス提供者端末１４（１４−１，１４−２）の構成例を示している。そのＣＰＵ５１乃至記録装置６０は、図３のクライアント端末１３のＣＰＵ４１乃至記録装置５０と基本的に同様の構成であるので、その説明は省略する。
【００６０】
図５は、図１に示したサーバ端末１１により提供される３次元仮想現実空間（以下、適宜、単に仮想現実空間と称する）を模式的に表している。同図に示すように、この仮想現実空間は、町を構成しており、アバタ（更新オブジェクト）Ｃ（例えばクライアント端末１３−１のアバタオブジェクト）や、アバタ（更新オブジェクト）Ｄ（例えばクライアント端末１３−２のアバタオブジェクト）が、この町（仮想現実空間）を移動することができるようになされている。
【００６１】
アバタＣは、仮想現実空間における位置と視点から、例えば図６に示すような画像を見ることになる。すなわち、クライアント端末１３−１の表示装置２５には、図６に示すような画像がサーバ端末１１から提供され、表示される。そして、そのアバタＣの視点と位置を、視点入力装置４９ｃと移動入力装置４９ｄ（またはキーボード４９ａとマウス４９ｂ）を操作することで変更（更新）すると、それに対応して、サーバ端末１１から供給される仮想現実空間を形成する３次元画像が変化される。
【００６２】
同様に、アバタＤが対応するクライアント端末１３−２の表示装置４５には、図７に示すような画像がサーバ端末１１から提供され、表示される。そして、その表示画像も、アバタＤの視点と位置を移動させることで変化される。
【００６３】
図５に示す状態において、アバタＣはアバタＤの方向を見ている。従って、図６に示すように、クライアント端末１３−１の表示装置４５に表示される画像（仮想現実空間）には、アバタＤが表示されている。
【００６４】
同様に、図５において、アバタＤはアバタＣの方向を見ている。このため、クライアント端末１３−２の表示装置４５に表示される画像（仮想現実空間）には、アバタＣが表示される。
【００６５】
次に、仮想現実空間において、所定のオブジェクト（その状態が更新される更新オブジェクト）を移動（更新）させる場合の動作について説明する。いま、簡単のため、図８に示すように、クライアント端末１３−１乃至１３−３に、それぞれの対応するアバタの視点から見た仮想現実空間の画像が表示されているものとする。いまの場合、円錐オブジェクト１０１、四角柱オブジェクト１０２、および円柱オブジェクト１０３（更新オブジェクト）が表示されている。そして、クライアント端末１３−１は円錐オブジェクト１０１を、クライアント端末１３−２は四角柱オブジェクト１０２を、そしてクライアント端末１３−３は円柱オブジェクト１０３を、それぞれの移動入力装置４９ｄ（またはマウス４９ｂ）を操作することで、移動させることができるようになされているものとする。
【００６６】
この場合、クライアント端末１３−１乃至１３−３においては、ＲＯＭ４２またはＲＡＭ４３に、図９に示すようなメッセージテーブル（変更シーケンステーブル）が予め登録されている。図９の実施例においては、メッセージ番号１として、移動のメッセージが登録されている。この移動メッセージは、移動するオブジェクトを特定するオブジェクトＩＤ、オブジェクトの移動方向を示す方向、オブジェクトの移動速度を示す速度、およびオブジェクトの移動継続期間を示す期間が、指定項目（パラメータ）として指定されている。
【００６７】
また、メッセージ番号２の停止は、移動しているオブジェクトを停止させる場合のメッセージであり、停止すべきオブジェクトを特定するオブジェクトＩＤが指定項目とされている。
【００６８】
メッセージ番号３のアバタ移動は、アバタを移動させる場合のメッセージであり、指定項目として、移動すべきアバタを特定するオブジェクトＩＤ、アバタの移動方向、アバタの移動距離が指定されるようになされている。また、一体のアバタのオブジェクトは、頭部を含む胴体と、右腕と、左腕と、右足と、左足の合計５個のサブオブジェクトから構成されている。このアバタの手と足サブオブジェクトを、アバタの移動に対応して変化させるために（左右の手を前後に振りながら、左右の足を一歩ずつ交互に動かして移動させるために）、手と足の単位時間あたりの胴体との接合部分（関節）を軸とする揺動回数も指定項目として指定されるようになされている。
【００６９】
また、メッセージ番号４の複雑な動作開始には、複雑な動作を行うオブジェクトを特定するオブジェクトＩＤが、また、メッセージ番号５の複雑な動作停止には、複雑な動作を停止するオブジェクトを特定するオブジェクトＩＤが、それぞれ指定項目として指定されるようになされている。
【００７０】
また、メッセージ番号６には、パレード開始のメッセージが登録されている。このパレード開始のメッセージは、後述するCIRCUSPARKの３次元仮想現実空間の中で、実現されるもので、例えば、図１０に示すように、ピエロ、アシカ、自転車に乗ったクマなどが列を成して行進するパレードを起動するためのメッセージである。この場合、パレード全体のオブジェクトは、ピエロ、アシカ、自転車に乗ったクマなどのサブオブジェクトから構成され、さらに、ピエロ等のサブオブジェクトは、頭部を含む胴体と、右腕と、左腕と、右足と、左足の合計５個のサブオブジェクトから各々構成されている。例えば、このピエロのオブジェクトを、その移動に伴って、手足を前後に振らせて歩行動作させるためには、少なくともピエロ全体の移動方向を示す方向と、ピエロ全体の移動速度を示す速度と、ピエロ全体の移動継続時間を示す期間の他に、右腕、左腕、右足、左足の各サブオブジェクトの、胴体との接合部分（関節）を軸とする単位時間当たりの揺動回数を含む変更情報が必要となる。この場合、右腕、左腕、右足、左足の各サブオブジェクトの揺動角度は、予め、一定の角度範囲に設定するものとする。
【００７１】
従って、メッセージ番号６には、パレード全体の移動方向を示す方向と、パレード全体の移動速度を示す速度と、パレード全体の移動継続時間を示す期間の他に、パレードの先頭の例えばピエロのサブオブジェクトＩＤ１と、2番目のアシカのサブオブジェクトＩＤ２と、…最後の自転車に乗ったクマのサブオブジェクトＩＤｎと、各々のサブオブジェクトの構成要素である手（右腕と左腕）のサブオブジェクトの上記関節を軸とする単位時間当たりの揺動回数と、足（右足と左足）のサブオブジェクトの上記関節を軸とする単位時間当たりの揺動回数が、指定項目として設定されている。この場合、手足の揺動回数を、ピエロ、アシカ、クマなどの各サブオブジェクト毎に、各々異なる値を設定し、さらにパレード全体として、複雑な行進動作を表現させるべく、登録するようにしても勿論構わない。
【００７２】
いま、単純な例として図１１に示すように、クライアント端末１３−１において、円錐オブジェクト１０１（更新オブジェクト）を点線の位置から実線の位置に移動させるものとする。このとき、クライアント端末１３−１の移動入力装置４９ｄまたはマウス４９ｂを操作して、ＣＰＵ４１に対して移動を指令すると、ＣＰＵ４１は、入力に対応して番号１の移動メッセージを生成する。すなわち、移動すべきオブジェクトのＩＤとして、円錐オブジェクト１０１のオブジェクトＩＤを設定する。また、移動方向、速度および期間として、入力（操作）に対応して、所定の値を設定する。
【００７３】
例えば後述するように、マウス４９ｂの左ボタンを押し、押した状態のまま押した地点よりも上へ動かすと、マウス４９ｂを動かした距離に対応する速度でオブジェクトが前進するように設定されている場合、その操作から、方向（いまの場合、上方向）、速度（いまの場合、マウス４９ｂを動かした距離）、期間（マウス４９ｂを操作している期間）がＣＰＵ４１により検出され、設定される。
【００７４】
そして、ＣＰＵ４１は、生成したこのメッセージを自ら実行する。すなわち、円錐オブジェクト１０１が、図１１において、点線で示す位置から実線で示す位置に、操作に対応して移動するように画像データを生成し、これを表示装置４５に出力し、表示させる。
【００７５】
また、クライアント端末１３−１のＣＰＵ４１は通信装置４４を制御し、生成した移動メッセージを、ネットワーク１５を介してサーバ端末１１−１に伝送させる。サーバ端末１１−１のＣＰＵ２１は、通信装置２４を介してこの移動メッセージの入力を受けると、これを通信装置２４からクライアント端末１３−２，１３−３に同時に出力する。
【００７６】
クライアント端末１３−２のＣＰＵ４１は、通信装置４４を介してこの移動メッセージの入力を受けると、その処理を実行する。すなわち、この移動メッセージから移動すべきオブジェクトＩＤとして、円錐１０１オブジェクトを特定し、仮想現実空間における移動方向、速度および期間を、この移動メッセージ中から読み取り、その読み取り結果に対応して、円錐オブジェクト１０１を仮想現実空間内において移動させる画像のデータを生成し、対応する表示装置４５に表示する。同様のことがクライアント端末１３−３においても行われ、その結果、クライアント端末１３−２と１３−３の表示装置４５に、それぞれ図１２および図１３で示すように、円錐１０１オブジェクトが同期して移動する画像が表示される。
【００７７】
すなわち、この場合においては、サーバ端末１１−１が、円錐オブジェクト１０１を移動する画像を生成し、クライアント端末１３−１乃至１３−３に対して供給するのではなく、各クライアント端末１３−１乃至１３−３において、ローカルに、円錐オブジェクト１０１を移動する画像が生成され、表示される。従って、クライアント端末１３−１乃至１３−３とサーバ端末１１−１の間の通信量は、最小限で済むことになる。
【００７８】
なお、クライアント端末１３−１における表示より、クライアント端末１３−２，１３−３における表示の方が、ネットワーク１５を介してメッセージを受け取るので、若干遅くなるが、クライアント端末１３−１は、メッセージを生成後、直ちに伝送するので、実用上は、ほぼ同期して駆動されているものとして扱うことができる。また、サーバ端末１１は、クライアント端末１３−２と１３−３に対して、ほぼ同時にメッセージを伝送するので、これらの間における表示も、ほぼ同期して駆動されているものとして扱うことができる。
【００７９】
図１４は、クライアント端末１３−１乃至１３−３がメッセージ１を受け取ったとき行う処理を示している。
【００８０】
すなわち、最初のステップＳ１において、メッセージ番号１の移動メッセージのオブジェクトＩＤから移動すべきオブジェクトを読み取り、設定する。そして、ステップＳ２とＳ３において、移動メッセージの指定項目で指定される方向と速度を読み取り、設定する。次にステップＳ４に進み、ステップＳ１で設定したオブジェクトをステップＳ２で設定した方向に、ステップＳ３で設定した速度で移動する画像データを生成する。そして、この画像データを表示装置４５に出力し、表示させる。
【００８１】
次にステップＳ５に進み、移動メッセージ中の指定項目で指定された期間が経過したか否を判定し、経過していなければステップＳ４に戻り、オブジェクトを移動する処理を継続する。これにより、移動メッセージの指定項目で指定された期間が経過するまでオブジェクトが移動（状態が更新）されることになる。
【００８２】
ステップＳ５において、指定項目で指定した期間が経過したと判定された場合、ステップＳ６に進み、次のメッセージが入力されているか否かが判定される。次のメッセージが入力されていなければ、ステップＳ７に進み、それまで移動していたオブジェクトを停止させる。ステップＳ６において、次のメッセージが入力されていると判定された場合、ステップＳ８に進み、その新たに入力されたメッセージの処理が実行される。これにより、例えば、円錐オブジェクト１０１を所定の期間移動し、それに続いて次の処理を実行することが可能となる。
【００８３】
この次のメッセージとして移動メッセージが再び入力されると、さらに所定の期間、オブジェクトが移動される。
【００８４】
次に、より複雑な移動の例として、アバタを移動させる場合について説明する。すなわち、図１５に示すように、円錐オブジェクト１０１、四角柱オブジェクト１０２、および円柱オブジェクト１０３が存在する仮想現実空間には、クライアント端末１３−１乃至１３−３にそれぞれ対応するアバタＣ乃至アバタＥが存在するものとする。
【００８５】
いま、クライアント端末１３−３において、マウス４９ｂを操作して、アバタＥを図１５において矢印で示す方向に移動させる操作をしたとする。このとき、クライアント端末１３−３のＣＰＵ４１は、この操作に対応して、図９に示す番号３のアバタ移動メッセージを生成する。すなわち、移動すべきアバタ（オブジェクト）として、アバタＥのオブジェクトＩＤを設定する。また、オブジェクトを移動すべき方向と距離を入力装置４９からの入力に対応して設定する。さらに、アバタＥを構成する手（サブオブジェクト）と足（サブオブジェクト）の指定項目に対しては、必要に応じて、単位時間あたりの揺動回数を設定する。特に指令がなければ、この回数としては、デフォルトの値が設定される。
【００８６】
このアバタ移動メッセージは、クライアント端末１３−３において実行されるとともに、クライアント端末１３−１，１３−２にも、サーバ端末１１−１を介して同時に伝送され、図１６のフローチャートに示すように実行される。
【００８７】
すなわち、クライアント端末１３−１乃至１３−３のＣＰＵ４１は、図１６に示すプログラムを同時に起動し、ステップＳ２１において、アバタ移動メッセージの指定項目からオブジェクトＩＤを読み取り、設定し、ステップＳ２２において移動方向が設定される。
【００８８】
さらに、ステップＳ２３（更新シーケンス）に進み、ステップＳ２１で設定したオブジェクトをステップＳ２２で設定した方向に移動した場合の画像データを生成し、これを表示装置４５に出力し、表示させる。
【００８９】
すなわち、これにより、アバタＥが、クライアント端末１３−１乃至１３−３のそれぞれの表示装置４５において同期して移動することになる。
【００９０】
また、このとき、さらにステップＳ２４とＳ２５において、それぞれ独立したオブジェクトである手の運動処理と、足の運動処理が実行される。
【００９１】
手の揺動運動処理（更新シーケンス）の詳細は、図１７のフローチャートに示されている。最初にステップＳ４１において、手を振る回数がアバタ移動メッセージの指定項目から設定される。そして、ステップＳ４２において、ステップＳ４１で設定した回数だけ、対象のオブジェクトの手（いまの場合、アバタＥの手）を振らせる画像を生成し、それを表示装置４５に出力し、表示させる。
【００９２】
これにより、図１６のステップＳ２３においてアバタＥが移動されるとき、その移動に伴って、このアバタＥの手（アバタＥを構成する複数のオブジェクトの中の一部のオブジェクト）が前後に振られる画像が表示される。
【００９３】
足の揺動運動処理（更新シーケンス）の詳細は、図１８のフローチャートに示されている。ステップＳ５１においては、足を動かす回数がアバタ移動メッセージの指定項目から読み取られ、設定される。次に、ステップＳ５２に進み、ＣＰＵ４１は、ステップＳ５１で設定された回数だけ、オブジェクト（アバタＥ）の足を前後に動かす画像データを生成し、これを表示装置４５に出力し、表示させる。
【００９４】
これにより、図１６のステップＳ２３においてアバタＥが移動され、ステップＳ２４において、その移動に伴って、手が前後に振られ、ステップＳ２５において足が交互に前に出される画像が表示される。
【００９５】
手足の単位時間あたりの動かす回数を所定の値に設定することで、各アバタ毎に、異なる手足の動かし方をさせることができる。例えば、背の高いアバタと背の低いアバタとが、同一の速度で移動（歩行）しているとき、背の高いアバタの足の動かす回数が、背の低いアバタの足を動かす回数より少ない値に設定しておくことで、より自然な画像を表示させることができる。
【００９６】
また、この手と足の動かす回数については、デフォルト（更新シーケンス）が設定されており、クライアント端末１３の入力装置４９から特に手足を動かす回数の指令が入力されない場合においても、すなわち、単に所定のアバタを所定の方向に移動するだけの指令（更新シーケンス）が入力された場合においても、そのアバタは、手と足を自然に動かした状態で表示される。
【００９７】
図１６のステップＳ２５の次にステップＳ２６に進み、アバタ移動メッセージの指定項目の距離に従って設定した距離だけ、いま、移動（歩行）しているアバタが移動したか否かが判定され、設定した距離だけまだ移動していなければ、ステップＳ２３に戻り、それ以降の処理を繰り返す。すなわち、歩行がそのまま継続される。
【００９８】
ステップＳ２６において、設定した距離だけ移動したと判定された場合、ステップＳ２７に進み、次のメッセージが入力されたか否かが判定され、次のメッセージが入力されていなければステップＳ２８に進み、それまで移動していたオブジェクトを停止する処理が実行される。この処理は、例えば図９の番号２の停止メッセージを発生させ、これを実行させることで処理するようにすることも可能であるが、このメッセージを受け取らずとも、移動しているオブジェクトが設定した距離だけ（あるいは設定した期間だけ）移動したとき、次にメッセージが入力されていなければ、自動的に停止させるようにすることができる。
【００９９】
ステップＳ２７において、次のメッセージが入力されていると判定された場合においては、ステップＳ２９に進み、その入力されたメッセージに対応する処理が実行される。例えば、番号２の停止メッセージが入力された場合においては、その処理がこのステップＳ２９において行われ、それまで移動していたアバタが移動を停止することになる。
【０１００】
以上のようにして、アバタを少ない通信量で簡単に移動させ、しかも、その移動を自然な状態とすることができる。
【０１０１】
ここで、サーバ端末１１−１は、３次元仮想現実空間の時刻を管理しており、予め設定された時刻になるとメッセージ番号６のパレードの開始メッセージを各クライアント端末１３−１乃至１３−３へ送信する。これにより、前述した、メッセージ番号６のパレードについても、図１６乃至１８と同様の処理でメッセージの送受信のみで実現することができる。
【０１０２】
以上のような原理に従って、より複雑な動作も、より少ない通信量で実行させることが可能である。
【０１０３】
例えば図１９に示すように、いま仮想現実空間において、車道１１１に沿って歩道１１２が設けられており、この歩道１１２の近傍に、広告灯１１３が設けられているものとする。そして、この広告灯１１３は、任意のアバタ（図１９においてはアバタＦが示されている）が所定の距離内に近づいてきたとき、予め設定されている所定の広告表示を行わせるものとする。
【０１０４】
この場合、サーバ端末１１−１は、クライアント端末１３−１乃至１３−３からの各アバタの位置データの入力を受け、広告灯１１３との距離を演算する。そして、その距離が予め設定してある所定の基準値以下になったとき、番号４の複雑な動作開始のメッセージを生成し、各クライアント端末１３−１乃至１３−３に出力する。クライアント端末１３−１乃至１３−３のＣＰＵ４１は、この複雑な動作開始のメッセージの入力を受けたとき、図２０のフローチャートに示す処理（更新シーケンス）を実行する。
【０１０５】
すなわち、最初にステップＳ６１において、図１９に示す広告灯１１３を点灯する。そして、ステップＳ６２に進み、広告灯１１３に所定の文字、図形などを、予め設定されている所定のシーケンスに従って表示させる。次にステップＳ６３に進み、番号５の複雑な動作停止のメッセージが入力されたか否かが判定され、入力されていなければステップＳ６２に戻り、広告灯１１３の表示を継続させる。
【０１０６】
サーバ端末１１−１は、広告灯１１３の近傍に位置していたアバタＦと広告灯１１３の距離を常に監視しており、その距離が基準値より大きくなったとき、番号５の複雑な動作停止のメッセージを生成し、各クライアント端末１３−１乃至１３−３に出力する。
【０１０７】
図２０のステップＳ６３において、クライアント端末１３のＣＰＵ４１は、この複雑な動作停止のメッセージの入力を受けたとき、ステップＳ６４に進み、広告灯１１３を消灯させる。すなわち、それまで行われていた広告灯１１３の複雑な動作を停止させる。
【０１０８】
このようにして、複雑な動作（更新シーケンス）でも、予めクライアント端末１３−１乃至１３−３に、これを登録しておけば、その開始を指令するメッセージを各クライアント端末１３−１乃至１３−３に出力するだけで、複雑な動作の画像をクライアント端末１３−１乃至１３−３に表示させることができる。
【０１０９】
以上の実施例においては、２台のサーバ端末と３台のクライアント端末をネットワークを介して接続する実施例としたが、各装置の台数、あるいはネットワークの数は、これに限るものではない。
【０１１０】
なお、上記した円錐オブジェクト１０１、四角柱オブジェクト１０２、円柱オブジェクト１０３の他、アバタＣ乃至アバタＦなどを仮想現実空間上に表示するには、これらのオブジェクトだけでなく、背景画像となるオブジェクトも必要となる。この背景となるオブジェクトは、その基本的な状態は更新されないので、その状態が更新される更新オブジェクトに対して、基本オブジェクトと称することができる。この基本オブジェクトで構成される背景画像は、サーバ端末１１からインターネットを介して、クライアント端末１３に供給される。従って、更新オブジェクトは、背景画像（基本オブジェクト）に重畳して表示される。
【０１１１】
なお、上述した従来のHabitatにおいては、アバタを移動させたい目標位置にカーソルを移動し、その位置でマウスボタンを押し続けて、マウスコマンド（ポップアップメニュー）を表示させ、そのマウスコマンドの中から「ＧＯ」コマンドのボタンをクリックすると、２次元グラフィックスの背景の上で、アバタが手足を動かして移動するアニメーションが表示される。しかしながら、これはあくまで２次元グラフィックスの背景画像上に、２次元グラフィックスのアバタを重ねて表示するものであり、アバタの移動にともなって手足の向きが異なるアバタのビットマップデータを交互に読みだして表示させる、いわゆるセル画によるアニメーションと同様の手法に基づく表示に過ぎない。
【０１１２】
すなわち、Habitatにおいては、第３者の視点で、自分自身のアバタも含めた全体を見渡す位置から２次元の仮想現実空間を眺めることしかできず、視点の位置を変えたり、奥行き方向を再現することが不可能である。
【０１１３】
これに対して、本実施例においては、アバタの手足毎の（個々のサブオブジェクト毎の）更新シーケンスを相互に連携動作するように予め定義しておくことができる。これにより、「歩行」という動作のメッセージを受けるだけで、そのアバタに対して、その属性に応じて微妙に異なる挙動を実行させる（例えば男性のアバタは足を高く上げて大きい歩幅で歩行させ、女性のアバタは小さい歩幅でゆっくり歩行させる）ことができる。
【０１１４】
なお、各オブジェクト毎のデータは、ＶＲＭＬファイルまたはＥ−ＶＲＭＬファイルとして規定される。その詳細は後述する。
【０１１５】
上記実施例においては、各クライアント端末１３が、対応するオブジェクトを移動させるようにしただけであるが、各クライアント端末において、対応するアバタの視点からの仮想現実空間の画像を表示させるようにし、各クライアント端末において、その視点を移動させた場合、背景画像は、その視点の位置に対応して変化する。そして、その視点から見た視野の範囲内に他のクライアント端末のアバタが位置していれば、それが表示されることになる。従って、アバタの表示状態は、自分自身の視点と、他のクライアント端末からのそのアバタに対する移動の指令の合成された結果となる。このため、その表示の制御はより複雑となる。
【０１１６】
図２１は、インターネットを利用したサイバースペースシステムのより具体的な構成例を表している。この実施例においては、上述したサーバ端末１１−１，１１−２のうちの一方（例えばサーバ端末１１−１）が情報サーバ端末とされ、他方（例えばサーバ端末１１−２）が共有サーバ端末とされる。そこで、以下においては、サーバ端末１１−１を情報サーバ端末１１Ａとして、サーバ端末１１−２を共有サーバ端末１１Ｂとして、それぞれ説明する。
【０１１７】
ホストＡは、例えば、いわゆるＷＷＷ（World Wide Web）のシステムを構成している。すなわち、ホストＡは、後述するような情報（ファイル）を有している。そして、各情報（ファイル）には、その情報を一元的に指定するための指定情報としてのＵＲＬ（Uniform Resource Locator）が対応付けられており、ＵＲＬを指定することで、そのＵＲＬに対応する情報にアクセスすることができるようになされている。
【０１１８】
具体的には、ホストＡは、例えば、３次元仮想現実空間における東京の町並みや、３次元仮想現実空間におけるニューヨークの町並み、その他の所定の地域の３次元仮想現実空間を提供するための３次元画像のデータを記憶している。なお、この３次元画像データは、その基本的な状態が変化しない（変化するとしても、例えば、観覧車、ネオンサインなどのように自立的に変化する）基本オブジェクトだけでなる、いわば更新が伴わない静的なデータである。例えば、ビルディングや道路などが基本オブジェクトである。そして、ホストＡは、情報サーバ端末１１Ａ（基本サーバ端末）を有しており、この情報サーバ端末１１Ａは、ネットワーク１５を介してＵＲＬを受信すると、そのＵＲＬに対応する情報、すなわち、仮想現実空間（ただし、これは、上述したように基本オブジェクトだけでなるもの）を、同じくネットワーク１５を介して提供するようになされている。
【０１１９】
なお、図２１においては、所定の地域の仮想現実空間（基本オブジェクトだけでなるもの）を提供するサーバ端末である情報サーバ端末を有するホストは、ホストＡの１台だけしか設けられていないが、このようなホストは複数設けることが可能である。
【０１２０】
ホストＢは、共有サーバ端末１１Ｂを有し、この共有サーバ端末１１Ｂは、仮想現実空間に配置されることにより、その仮想現実空間を構成することとなる更新オブジェクトとしての、例えば各ユーザを表すアバタなどを管理し、これにより複数のユーザに同一の仮想現実空間を共有させるようになされている。ただし、ホストＢは、ホストＡが記憶している仮想現実空間のうちの所定の地域（例えば、東京など）の仮想現実空間に配置された更新オブジェクトのみを管理するようになされている。すなわち、ホストＢは、いわば所定の地域の仮想現実空間専用のものとされている。なお、図示していないが、ネットワーク１５には、ホストＢ以外にも、ホストＡが記憶している、その他の各地域（例えば、ニューヨーク、ロンドンなど）の仮想現実空間に配置された更新オブジェクトを管理するサーバ端末である共有サーバ端末を有するホストが接続されている。
【０１２１】
ホストＣは、ホストＡと同様、例えばＷＷＷのシステムを構成するもので、ホストＢのような、更新オブジェクトを管理するホスト（共有サーバ端末）をアドレスするための、例えばそのホストのＩＰアドレス（共有サーバ端末のアドレス）を記憶している。従って、ホストＣが記憶している共有サーバ端末のアドレスは、上述したホストＡにおける場合と同様に、ＵＲＬと一元的に対応付けられている。そして、ホストＣは、マッピングサーバ端末１２（管理サーバ端末）を有しており、このマッピングサーバ端末１２は、ネットワーク１５を介してＵＲＬを受信すると、そのＵＲＬに対応する情報としての共有サーバ端末のＩＰアドレスを、同じくネットワーク１５を介して提供するようになされている。なお、図２１においては、共有サーバ端末のアドレスを提供するサーバ端末であるマッピングサーバ端末１２を有するホストは、ホストＣの１台だけしか設けられていないが、このようなホストは複数設けることが可能である。
【０１２２】
クライアント端末１３（１３−１，１３−２，１３−３）は、ネットワーク１５を介して情報サーバ端末１１Ａから、仮想現実空間の提供を受け、共有サーバ端末１１Ｂの管理の下、その仮想現実空間を、他のクライアント端末（サービス提供者端末１４を含む）と共有することができるようになされている。さらに、クライアント端末１３は、サービス提供者端末１４から、仮想現実空間を利用した所定のサービス（情報）の提供を受けることができるようにもなされている。
【０１２３】
サービス提供者端末１４は、クライアント端末１３と同様に、仮想現実空間の提供を受け、その仮想現実空間を、クライアント端末１３（サービス提供者端末が、サービス提供者端末１４以外にも存在する場合には、そのサービス提供者端末を含む）と共有することができるようになされている。従って、この部分の機能に関しては、サービス提供者端末１４は、クライアント端末１３と同一である。
【０１２４】
さらに、サービス提供者端末１４は、クライアント端末１３に対して、所定のサービスを提供することができるようになされている。なお、図２１において、このようなサービス提供者端末は、サービス提供者端末１４の１台だけしか設けられていないが、サービス提供者端末は複数設けることが可能である。
【０１２５】
次に、ホストＡおよびＣが構成しているＷＷＷのシステムについて簡単に説明する。図２２に示すように、ＷＷＷは、ホストＸ，Ｙ，Ｚから、ネットワーク（ＷＷＷの場合はインターネット）１５を介して、不特定多数のユーザ（クライアント端末）に対し、情報を提供するためのシステムの１つで、提供可能な情報は、テキストだけでなく、図形、画像（静止画、動画）、音声、さらには３次元画像、その他これらをリンクさせたハイパーテキストなど多岐にわたる。
【０１２６】
ＷＷＷの場合、各情報について、その情報を一元的に表現する形式であるＵＲＬが決められており、ユーザは、ＵＲＬを指定することで、そのＵＲＬに対応する情報を得ることができる。ここで、ＵＲＬは、例えば、図２３に示すように、サービスの種類を表すプロトコル種別（図２３の実施例では、http（これは、後述するファイル名に対応するファイルを検索して送信するように指示するコマンドに相当する））、ＵＲＬの送り先を表すホスト名（図２３の実施例では、www.csl.sony.co.jp）、および送信させるべきデータのファイル名（図２３の実施例では、index.html）で構成される。
【０１２７】
ユーザは、クライアント端末を操作して、所望する情報に対応するＵＲＬを入力する。クライアント端末では、ＵＲＬが入力されると、そのＵＲＬの、例えばホスト名が参照され、そのホスト名によって特定されるホスト（図２２の実施例では、インターネットに接続されているホストＸ，Ｙ，Ｚのうちの、例えばホストＸ）とのリンクが確立される。そして、クライアント端末では、ＵＲＬが、インターネットを介して、リンクが確立されたホスト、すなわちホストＸに送信され、これにより、ホストＸに対し、ＵＲＬに対応する情報の提供の要求がなされる。ホストＸでは、情報サーバ端末（ＷＷＷサーバ端末）上でＨＴＴＰデーモン（httpd）が稼働しており、情報サーバ端末は、ＵＲＬを受信すると、そのＵＲＬに対応する情報を、インターネットを介してクライアント端末に送信する。
【０１２８】
クライアント端末では、送信されてきた情報が受信され、その後、例えば表示される。これにより、ユーザは、所望する情報を得ることができる。
【０１２９】
従って、ホストに、情報として、仮想現実空間を構成する要素（オブジェクト）の記述としての、例えば基本オブジェクトの形状（例えば、直方体や円錐形など）や、その配置位置、属性（例えば、基本オブジェクトの色やテクスチャなど）などを表すデータを記憶させるようにするだけで、不特定多数のユーザに、仮想現実空間（ただし、基本オブジェクトだけでなるもの）を提供することができる。すなわち、ネットワーク１５として、インターネットを採用するとともに、ＷＷＷを利用する場合、インターネットは、既に世界的規模で普及しており、また、ホストに記憶させる情報を、仮想現実空間を構成する要素の記述とすることは、ＷＷＷを構成する情報サーバ端末（ＷＷＷサーバ端末）の変更を要するものでない（仮想現実空間を構成する要素の記述を、上述したようにして提供するサービスは、ＷＷＷによって提供されている既存のサービスとの上位互換性を有する）から、不特定多数のユーザに、世界的規模で、仮想現実空間を、容易に、かつ安価に提供することが可能となる。
【０１３０】
また、所定のホスト（マッピングサーバ端末）に、情報として、他のホストのＩＰアドレスを記憶させるようにすることで、やはり、不特定多数のユーザに、世界的規模で、ホストのＩＰアドレスを、容易に、提供することが可能となる。
【０１３１】
なお、ＷＷＷを構成するホストに、仮想現実空間を構成する要素の記述（所定の地域の仮想現実空間を提供するための３次元画像のデータ）を記憶させただけでは、同一の仮想現実空間を、複数のユーザが共有することは困難である。すなわち、ＷＷＷでは、ＵＲＬに対応する情報が、ユーザに提供されるだけであり、ユーザ間で、情報のやりとりを行うための管理は行われない。このため、ＷＷＷを、その設計を変更せずに利用して、ユーザ間で、前述したような更新オブジェクトの変更情報のやりとりを行うのは困難である。そこで、図２１のサイバースペースシステムでは、共有サーバ端末１１Ｂを有するホストＢおよびマッピングサーバ端末１２を有するホストＣを設け、同一の仮想現実空間を、複数のユーザが共有することができるようになされている（その詳細については、後述する）。
【０１３２】
図２４は、図２１のホストＣ上で稼働するマッピングサーバ端末１２の構成例を示している。ＣＰＵ９１乃至通信装置９４は、図２に示したＣＰＵ２１乃至通信装置２４と基本的に同様の構成であるので、その説明は省略する。記憶装置９５は、更新オブジェクトを管理する共有サーバ端末（図２１の実施例では、共有サーバ端末１１Ｂしか図示していないが、その他にも、図示せぬ共有サーバ端末がネットワーク１５に接続されている）を特定するためのアドレスを、ＵＲＬと対応付けて記憶している。
【０１３３】
次に、図２５乃至図２８のフローチャートを参照して、クライアント端末１３（サービス提供者端末１４）、情報サーバ端末１１Ａ、マッピングサーバ端末１２、または共有サーバ端末１１Ｂそれぞれの動作について詳述する。
【０１３４】
図２５は、クライアント端末１３（サービス提供者端末１４）の処理例を示している。クライアント端末１３では、まず最初に、ステップＳ７１において、仮想現実空間ＵＲＬの入力があったか否かが、ＣＰＵ４１によって判定される。ステップＳ７１において、仮想現実空間ＵＲＬの入力がないと判定された場合、ステップＳ７１に戻る。また、ステップＳ７１において、仮想現実空間ＵＲＬの入力があったと判定された場合、すなわち、ユーザがキーボート４９ａを操作することで、所望する仮想現実空間に対応する仮想現実空間ＵＲＬを入力し、これが、インターフェース４８を介して、ＣＰＵ４１によって受信された場合、ステップＳ２に進み、図２２で説明したように、ＷＷＷのシステムを構成し、情報サーバ端末を有する所定のホストの情報サーバ端末（ここでは、例えばホストＡの情報サーバ端末１１Ａ）に対して、通信装置４４から、ネットワーク１５を介して、仮想現実空間ＵＲＬが送信され、リンクが確立される。
【０１３５】
さらに、ステップＳ２１では、仮想現実空間ＵＲＬと対応付けられているアドレス取得ＵＲＬが、記憶装置５０から読み出され、ＷＷＷのシステムを構成する、所定のホストのマッピングサーバ端末（ここでは、例えばホストＣのマッピングサーバ端末１２とする）に対して、通信装置４４から、ネットワーク１５を介して、アドレス取得ＵＲＬが送信され、リンクが確立される。
【０１３６】
その後、ステップＳ７３に進み、ネットワーク１５を介して送られてくる、ステップＳ７２で送信した仮想現実空間ＵＲＬまたはアドレス取得ＵＲＬにそれぞれ対応する仮想現実空間のデータ（３次元画像データ）または共有サーバ端末１１ＢのＩＰアドレスが、通信装置４４によって受信される。
【０１３７】
すなわち、ステップＳ７２では、情報サーバ端末１１Ａに、仮想現実空間ＵＲＬが送信されるが、情報サーバ端末１１Ａにおいて、この仮想現実空間ＵＲＬが受信されると、それに対応する仮想現実空間のデータが、後述する図２６のステップＳ９２において、ネットワーク１５を介してクライアント端末１３に送信される。ステップＳ７３では、このようにして情報サーバ端末１１Ａから送信されてくる仮想現実空間のデータが受信される。なお、受信された仮想現実空間のデータは、ＲＡＭ４３に転送されて記憶される（または記憶装置５０に記憶され、そこからＲＡＭ４３に転送される）。
【０１３８】
また、ステップＳ７２では、マッピングサーバ端末１２に対し、アドレス取得ＵＲＬが送信されるが、マッピングサーバ端末１２において、このアドレス取得ＵＲＬが受信されると、それに対応する共有サーバ端末のＩＰアドレスが、後述する図２７のステップＳ１０２において、ネットワーク１５を介してクライアント端末１３に送信される。ステップＳ７３では、このようにしてマッピングサーバ端末１２から送信されてくる共有サーバ端末１２のＩＰアドレスが受信される。
【０１３９】
ここで、入力された仮想現実空間ＵＲＬに対応付けられているアドレス取得ＵＲＬは、上述したように、その仮想現実空間ＵＲＬに対応する仮想現実空間に配置された更新オブジェクトを管理する共有サーバ端末のＩＰアドレスに対応するものである。従って、例えば、入力された仮想現実空間ＵＲＬが、東京の仮想現実空間に対応するものであり、ホストＢが有する共有サーバ端末１１Ｂが、東京の仮想現実空間に配置された更新オブジェクトを管理するものであった場合、ステップＳ７３では、共有サーバ端末１１ＢのＩＰアドレスが受信されることになる。よって、ユーザは、どの共有サーバ端末が、どの地域の仮想現実空間に配置された更新オブジェクトを管理するものか知らなくても、自身が提供を受けようとする地域の仮想現実空間を管理する共有サーバ端末の場所（ＩＰアドレス）を、自動的に取得することができる。
【０１４０】
なお、ステップＳ７２およびＳ７３において、仮想現実空間ＵＲＬおよびアドレス取得ＵＲＬを送信し、仮想現実空間のデータおよびＩＰアドレスを受信する処理は、実際には、例えば、仮想現実空間ＵＲＬを送信し、それに対応する仮想現実空間のデータを受信した後、アドレス取得ＵＲＬを送信し、それに対応するＩＰアドレスを受信することで行われる。
【０１４１】
ステップＳ７３で、仮想現実空間のデータおよび共有サーバ端末のＩＰアドレスが受信されると、ステップＳ７４に進み、ステップＳ７３で受信したＩＰアドレス（共有サーバ端末のＩＰアドレス）に対応する共有サーバ端末（ここでは、例えば共有サーバ端末１１Ｂ）に対し、ネットワーク１５を介して、接続要求が、通信装置４４によって送信され、これによりクライアント端末１３と共有サーバ端末１１Ｂとの間で通信リンクが確立される。さらに、ステップＳ７３では、通信リンクの確立後、共有サーバ端末１１Ｂに対し、記憶装置５０に記憶されている、自己を表すアバタ（更新オブジェクト）が、通信装置４４によって送信される。
【０１４２】
ここで、共有サーバ端末１１Ｂは、ユーザのアバタを受信すると、そのアバタを、同一の仮想現実空間（ここでは、上述したように、東京の仮想現実空間とする）に存在する他のユーザのクライアント端末に送信するようになされている。そして、他のクライアント端末においては、送信されてきたアバタが、仮想現実空間に配置され、これにより、複数のユーザの間で、同一の仮想現実空間を共有することができる。
【０１４３】
なお、ユーザのアバタは、クライアント端末１３から共有サーバ端末１１Ｂに提供するのではなく、共有サーバ端末１１Ｂに、アクセスのあったユーザに対し、所定のアバタを割り当てさせるようにすることも可能である。また、クライアント端末１３においては、それを利用するユーザ（自分自身）のアバタを、仮想現実空間に配置して表示するようにすることが可能であるが、現実の世界では、ユーザは、自身を見ることはできないので、仮想現実空間を、現実の世界に近いものとする観点からは、ユーザのアバタは、そのユーザが利用するクライアント端末には表示させないようにする方が好ましい。
【０１４４】
ステップＳ７４の処理後、ステップＳ７５に進み、ＲＡＭ４３から、所定の視点と位置から仮想現実空間を見た場合に見ることのできる仮想現実空間のデータが、ＣＰＵ４１によって読み出され、表示装置４５に供給される。これにより、表示装置４５には、所定の仮想現実空間が表示される。
【０１４５】
そして、ステップＳ７６において、共有サーバ端末１１Ｂから、他のユーザのアバタの更新情報が送信されてきたか否かが、通信装置４４によって判定される。
【０１４６】
ここで、ユーザは、上述したように、自己のアバタの位置あるいは視点を、視点入力装置４９ｃまたは移動入力装置４９ｄ、あるいはマウス４９ｂを操作することで更新することができるようになされており、これにより、アバタの位置あるいは視点の更新が指令されると、ＣＰＵ４１では、インタフェース４８を介して、この指令が受信される。そして、ＣＰＵ４１は、その指令に対応して、更新されたアバタの位置または視点にそれぞれ対応する位置データまたは視点データを、更新情報として共有サーバ端末１１Ｂに出力する処理を実行する。すなわち、ＣＰＵ４１は、通信装置４４を制御し、更新情報を共有サーバ端末１１Ｂに送信させる。
【０１４７】
共有サーバ端末１１Ｂは、クライアント端末１３から更新情報を受信すると、後述する図２８のステップＳ１１４において、その更新情報を、他のクライアント端末に出力するようになされている。なお、共有サーバ端末１１Ｂは、上述したように、アクセス要求のあったクライアント端末１３から、アバタを受信すると、そのアバタを、他のユーザのクライアント端末１３に送信するようになされているが、このアバタも、更新情報として送信されるようになされている。
【０１４８】
以上のようにして更新情報が送信されてきた場合、ステップＳ７６においては、共有サーバ端末１１Ｂから、他のユーザのアバタの更新情報が送信されてきたと判定される。この場合、その更新情報は、通信装置４４によって受信され、ＣＰＵ４１に出力される。ＣＰＵ４１は、ステップＳ７７において、表示装置４５の表示を、更新情報を反映した表示に更新させる。すなわち、更新情報として、他のクライアント端末からの位置データあるいは視点データを受信した場合、そのユーザのアバタを、受信した位置データ、視点データに従って、移動させ、または変化させる（例えば、アバタの向きを変更させる）。また、更新情報として、他のクライアント端末からのアバタを受信した場合、そのアバタを、表示装置４５に、いま表示されている仮想現実空間の所定の位置に配置する。なお、共有サーバ端末１１Ｂは、更新情報として、アバタを送信する場合、そのアバタについての位置データおよび視点データも、更新情報に含めて送信するようになされており、表示装置４５では、その位置データおよび視点データに対応して、アバタが表示されるようになされている。
【０１４９】
以上の処理が終了すると、ステップＳ７８に進む。
【０１５０】
一方、ステップＳ７６において、共有サーバ端末１１Ｂから、他のユーザのアバタの更新情報が送信されてきていないと判定された場合、ステップＳ７７をスキップして、ステップＳ７８に進む。ステップＳ７８では、上述したように、視点入力装置４９ｃまたは移動入力装置４９ｄ、あるいはマウス４９ｂを操作することで、クライアント端末１３を利用するユーザのアバタの位置あるいは視点が更新されたか否かが、ＣＰＵ４１によって判定される。
【０１５１】
ステップＳ７８において、アバタの位置あるいは視点が更新されたと判定された場合、すなわち、視点入力装置４９ｃまたは移動入力装置４９ｄ、あるいはマウス４９ｂが、ユーザによって操作された場合、ステップＳ７９に進み、ＣＰＵ４１では、その操作に対応する位置データ、視点データに基づいて、ユーザのアバタの位置と視点に対応する仮想現実空間のデータをＲＡＭ４３から読み出し、必要に応じて補正のための演算を行い、その位置と視点に対応する画像データを生成する。そして、ＣＰＵ４１は、表示装置４５に、その画像データを出力し、表示させる。これにより、表示装置４５には、視点入力装置４９ｃと移動入力装置４９ｄを操作することで入力した視点と位置に対応する画像（仮想現実空間）が表示される。
【０１５２】
さらに、ＣＰＵ４１は、ステップＳ８０において、通信装置４４を制御し、これにより、視点入力装置４９ｃまたは移動入力装置４９ｄそれぞれの操作に対応する視点データまたは位置データを、共有サーバ端末１１Ｂに送信させ、ステップＳ８１に進む。
【０１５３】
ここで、上述したように、クライアント端末１３からの更新情報は、共有サーバ端末１１Ｂにより受信され、さらに、他のクライアント端末に出力される。これにより、他のクライアント端末においては、クライアント端末１３を利用するユーザのアバタが、更新情報を反映した形で表示される。
【０１５４】
一方、ステップＳ７８において、アバタの位置あるいは視点が更新されていないと判定された場合、ステップＳ７９およびＳ８０をスキップして、ステップＳ８１に進む。ステップＳ８１では、キーボード４９ａの所定のキーを操作するなどして終了が指令されたか否かが判定され、終了が指令されない限り、ステップＳ７６に戻り、それ以降の処理が繰り返し実行される。
【０１５５】
次に、図２６のフローチャートは、情報サーバ端末１１Ａの処理例を示している。情報サーバ端末１１Ａでは、まず最初に、ステップＳ９１において、クライアント端末１３から、ネットワーク１５を介して、仮想現実空間ＵＲＬが送信されてきたかどうかが、通信装置２４によって判定される。ステップＳ９１において、仮想現実空間ＵＲＬが送信されてきていないと判定された場合、ステップＳ９１に戻る。また、ステップＳ９１において、仮想現実空間ＵＲＬが送信されてきたと判定された場合、その仮想現実空間ＵＲＬが、通信装置２４によって受信され、ステップＳ９２に進む。ステップＳ９２では、記憶装置３０から、通信装置２４で受信された仮想現実空間ＵＲＬと対応付けられている仮想現実空間のデータが、ＣＰＵ２１によって読み出され、それが、通信装置２４により、ネットワーク１５を介して、仮想現実空間ＵＲＬを送信してきたクライアント端末１３に送られる。そして、その後は、ステップＳ９１に戻り、上述の処理が繰り返される。
【０１５６】
図２７は、マッピングサーバ端末１２の処理例を示している。マッピングサーバ端末１２では、ステップＳ１０１において、クライアント端末１３から、ネットワーク１５を介して、アドレス取得ＵＲＬが送信されてきたかどうかが、通信装置２４によって判定される。ステップＳ１０１において、アドレス取得ＵＲＬが送信されてきていないと判定された場合、ステップＳ１０１に戻る。また、ステップＳ１０１において、アドレス取得ＵＲＬが送信されてきたと判定された場合、そのアドレス取得ＵＲＬが、通信装置２４によって受信され、ステップＳ１０２に進む。ステップＳ１０２では、記憶装置３０から、通信装置２４で受信されたアドレス取得ＵＲＬと対応付けられているＩＰアドレス（共有サーバ端末のアドレス）が、ＣＰＵ２１によって読み出され、それが、通信装置２４により、ネットワーク１５を介して、アドレス取得ＵＲＬを送信してきたクライアント端末１３に送られる。そして、その後は、ステップＳ１０１に戻り、上述の処理が繰り返される。
【０１５７】
図２８は、共有サーバ端末１１Ｂの処理例を示している。共有サーバ端末１１Ｂでは、まず最初に、ステップＳ１１１において、クライアント端末１３から、ネットワーク１５を介して、接続要求が送信されてきたかどうかが、通信装置２４によって判定される。ステップＳ１１１において、接続要求が送信されてきていないと判定された場合、ステップＳ１１２をスキップして、ステップＳ１１３に進む。また、ステップＳ１１１において、接続要求が送信されてきたと判定された場合、すなわち、クライアント端末１３が、図２５のステップＳ７４において接続要求を、共有サーバ端末１１Ｂに送信した場合、そのクライアント端末１３との通信リンクが、通信装置２４によって確立され、ステップＳ１１２に進む。
【０１５８】
ステップＳ１１２では、ＲＡＭ２３に記憶された接続管理表が、ＣＰＵ２１によって更新される。すなわち、共有サーバ端末１１Ｂは、クライアント端末１３から送信されてくる更新情報を、他のクライアント端末に送信するために、自身との通信リンクを確立しているクライアント端末１３を認識している必要がある。そこで、共有サーバ端末１１Ｂでは、クライアント端末との通信リンクを確立すると、そのクライアント端末を識別するための情報を、接続管理表に登録するようになされている。すなわち、この接続管理表は、共有サーバ端末１１Ｂと、いまリンクが確立しているクライアント端末の、いわば一覧表である。ここで、クライアント端末を識別するための情報としては、ＴＣＰ／ＩＰパケットのヘッダーとして各クライアント端末から送られてくる送信元のＩＰアドレスと、各クライアント端末のユーザが設定したアバタのニックネームを登録する。
【０１５９】
その後、ステップＳ１１３に進み、クライアント端末１３から更新情報が送信されてきたか否かが、通信装置２４によって判定される。ステップＳ１１３において、更新情報が送信されてきていないと判定された場合、ステップＳ１１４をスキップして、ステップＳ１１５に進む。また、ステップＳ１１３において、更新情報が送信されてきたと判定された場合、すなわち、クライアント端末１３が、図２５のステップＳ８０において、更新情報としての位置データ、視点データを、共有サーバ端末１１Ｂに送信した場合（あるいは、図２５のステップＳ７４において、接続要求の送信後、更新情報としてのアバタを、共有サーバ端末１１Ｂに送信した場合）、その更新情報が、通信装置２４によって受信され、ステップＳ１１４に進む。ステップＳ１１４では、ＣＰＵ２１によって、ＲＡＭ２３に記憶された接続管理表が参照され、通信装置２４で受信された更新情報が、その更新情報を送信してきたクライアント端末以外のクライアント端末に送信される。
【０１６０】
なお、この更新情報は、上述したように、図２５のステップＳ７６において、クライアント端末１３により受信される。この際に、接続管理表で管理されている各クライアント端末の送信元のＩＰアドレスが使用される。
【０１６１】
その後、ステップＳ１１５に進み、クライアント端末１３より終了の指令が入力されたか否かが、ＣＰＵ２１によって判定され、終了が指令されていない場合においては、ステップＳ１１６をスキップして、ステップＳ１１１に戻る。また、終了が指令された場合は、ステップＳ１１６に進み、その指令を送信してきたクライアント端末１３との回線が、通信装置２４によって切断され、さらに、接続管理表から、そのクライアント端末１３に関する情報が、ＣＰＵ２１によって削除されて、ステップＳ１１１に戻る。
【０１６２】
なお、更新情報は、上述したように、適宜、メッセージ（図９）として伝送される。
【０１６３】
以上のように、更新オブジェクトの管理は、共有サーバ端末１１Ｂで行うようにするとともに、基本オブジェクトの管理（提供）は、既に世界的規模で普及しているインターネットのＷＷＷを構成する情報サーバ端末１１Ａで行うようにしたので、世界的規模で、不特定多数のユーザに、共有可能な仮想現実空間を、容易に提供することが可能となる。さらに、この際、既に構築されているＷＷＷのシステムの仕様は変更する必要がない。
【０１６４】
また、仮想現実空間のデータを提供するのに、ＷＷＷを利用する場合には、データの授受を行うのに、既存のウェブブラウザ（例えば、ネットスケープ社のネットスケープナビゲータ（Netscape Navigator）（商標）など）を使用することができるので、新規にウェブブラウザを作成する必要もない。
【０１６５】
さらに、マッピングサーバ端末１２によって、共有サーバ端末１１ＢのＩＰアドレスを提供するようにしたので、ユーザは、共有サーバ端末１１Ｂのアドレスを知らなくても、仮想現実空間を、他のユーザと共有することができる。
【０１６６】
以上の実施例においては、基本オブジェクトをネットワーク１５を介して、各クライアント端末１３に供給するようにしたが、例えばＣＤ−ＲＯＭなどの情報記録媒体に仮想現実空間を形成する基本的なオブジェクトである基本オブジェクトを予め格納しておき、各ユーザに、これを予め配布しておくようにすることができる。この場合、各クライアント端末１３は、例えば図２９に示すように構成される。すなわち、この実施例においては、ＣＤ−ＲＯＭドライブ１００が、インタフェース４８に接続されており、基本オブジェクトにより構成される仮想現実空間が予め格納されているＣＤ−ＲＯＭ１０１をドライブするようになされている。その他の構成は、図３における場合と同様である。
【０１６７】
このように、ＣＤ−ＲＯＭ１０１から基本オブジェクトのデータを提供するようにすれば、ネットワーク１５を介しての基本オブジェクトのデータを転送する時間が不要となるため、より迅速な処理が可能となる。
【０１６８】
あるいはまた、ＣＤ−ＲＯＭを用いずに、情報サーバ端末１１Ａからネットワーク１５を介して供給された基本オブジェクトのデータを記憶装置５０に最初の第１回目のみ格納し、その後は、適宜、これを読み出して、使用するようにしてもよい。
【０１６９】
すなわち、基本オブジェクトデータの格納元は、図３０に示すように、情報サーバ端末１１Ａの記憶装置３０（ケース１乃至ケース３の場合）、クライアント端末１３の記憶装置５０（ケース４乃至ケース６の場合）、またはクライアント端末１３のＣＤ−ＲＯＭ１０１（ケース７乃至ケース９の場合）とすることができる。
【０１７０】
これに対して、更新オブジェクトデータの格納元は、情報サーバ端末１１Ａの記憶装置３０（ケース１の場合）、または共有サーバ端末１１Ｂの記憶装置３０（ケース２乃至ケース９の場合）とすることができる。そして、共有サーバ端末１１Ｂに更新オブジェクトデータを格納する場合においては、その共有サーバ端末は、例えば図３１に示すように、日本の共有サーバ端末１１Ｂ−１（ケース２、ケース５またはケース８の場合）、または、アメリカの共有サーバ端末１１Ｂ−２（ケース３、ケース６またはケース９の場合）とすることができる。この場合、更新オブジェクトデータのＵＲＬの格納元は、マッピングサーバ端末１２となる。
【０１７１】
なお、更新オブジェクトデータの格納元が情報サーバ端末１１Ａである場合には、更新オブジェクトデータのＵＲＬの格納元は、情報サーバ端末１１Ａで管理されているデフォルトのＵＲＬとなる（ケース１の場合）。あるいはユーザにより共有サーバ端末１１Ｂがマニュアルで指定された場合には、その指定されたＵＲＬが格納元となる（ケース４またはケース７の場合）。
【０１７２】
図３０における各ケースの場合のデータの流れを、図３１を参照して説明すると、次のようになる。すなわち、ケース１の場合、情報サーバ端末１１ＡとしてのＷＷＷサーバ端末１２１の記憶装置であるＨＤＤ（Hard Disc Drive）の所定のディレクトリに記憶されているＶＲＬＭファイル（その詳細は後述する）から基本オブジェクトデータが読み出され、ネットワーク１５としてのインターネット（The Internet）１５Ａを介して、例えばクライアント端末１３−１に供給される。また、ＷＷＷサーバ端末１２１の記憶装置には、更新オブジェクトデータも記憶されている。すなわち、ＷＷＷサーバ端末１２１において、基本オブジェクトデータが読み出されたとき、それに対応する更新オブジェクトデータのＵＲＬが、ＷＷＷサーバ端末１２１の記憶装置に予めデフォルトのＵＲＬとして記憶されており、そのデフォルトのＵＲＬから更新オブジェクトデータが読み出され、クライアント端末１３−１に供給される。
【０１７３】
ケース２においては、日本のクライアント端末１３−１に対して、ＷＷＷサーバ端末１２１から、基本オブジェクトのデータがインターネット１５Ａを介して供給される。これに対して、更新オブジェクトのデータは、マッピングサーバ端末１２で指定された日本の共有サーバ端末１１Ｂ−１からインターネット１５Ａを介してクライアント端末１３−１に供給される。
【０１７４】
ケース３においては、米国のクライアント端末１３−２に対して、基本オブジェクトのデータが、ＷＷＷサーバ端末１２１からインターネット１５Ａを介して供給され、更新オブジェクトデータは、マッピングサーバ端末１２で指定された米国の共有サーバ端末１１−２からインターネット１５Ａを介して供給される。
【０１７５】
ケース４においては、例えば、日本のクライアント端末１３−１の記憶装置５０に予め基本オブジェクトのデータが格納されており、更新オブジェクトデータは、クライアント端末１３−１で指定した、例えば、米国の共有サーバ端末１１−２から供給される。
【０１７６】
ケース５においては、クライアント端末１３−１の記憶装置５０に基本オブジェクのデータが予め格納されており、更新オブジェクトデータは、マッピングサーバ端末１２で指定された日本の共有サーバ端末１１Ｂ−１からインターネット１５Ａを介して供給される。
【０１７７】
ケース６においては、米国のクライアント端末１３−２の記憶装置５０に基本オブジェクトデータが予め格納されている。そして、更新オブジェクトデータは、マッピングサーバ端末１２で指定された米国の共有サーバ端末１１−２から、インターネット１５Ａを介してクライアント端末１３−２に供給される。
【０１７８】
ケース７においては、例えば、日本のクライアント端末１３−１に対して、ＣＤ−ＲＯＭ１０１の基本オブジェクトのデータが、ＣＤ−ＲＯＭドライブ１００を介して提供される。更新オブジェクトのデータは、クライアント端末１３−１で指定した共有サーバ端末（例えば、共有サーバ端末１１−１または１１−２）から供給される。
【０１７９】
ケース８においては、クライアント端末１３−１に対して、基本オブジェクトがＣＤ−ＲＯＭ１０１から供給され、更新オブジェクトのデータが、日本のマッピングサーバ端末１２で指定された日本の共有サーバ端末１１−１から供給される。
【０１８０】
ケース９においては、米国のクライアント端末１３−２に対して、基本オブジェクトデータがＣＤ−ＲＯＭ１０１から供給され、更新オブジェクトデータが、マッピングサーバ端末１２により指定された米国の共有サーバ端末１１−２からインターネット１５Ａを介して供給される。
【０１８１】
次に、以上のような仮想現実空間のデータを授受し、表示装置に表示させるためのソフトウエアについて説明する。ＷＷＷにおいては、文書データをＨＴＭＬ（Hyper Text Markup Language）によって記述されたファイルを転送する。従って、テキストデータは、ＨＴＭＬ形式のファイルとして登録される。
【０１８２】
これに対して、ＷＷＷにおいて、３次元グラフィックスデータは、ＶＲＭＬまたはこれを拡張したＥ−ＶＲＭＬ（Enhanced Virtual Reality Modeling Language）で記述することで、転送して利用することができる。従って、例えば、図３２に示すように、情報サーバ端末１１Ａ、共有サーバ端末１１Ｂまたはマッピングサーバ端末１２を構成するリモートホスト１１１のＷＷＷサーバ端末１１２は、ＨＴＭＬファイルとＥ−ＶＲＭＬファイルを、その記憶装置に格納している。
【０１８３】
ＨＴＭＬファイルにおいては、ＵＲＬにより異なるファイルとのリンクが行われる。また、ＶＲＭＬファイルまたはＥ−ＶＲＭＬファイルにおいては、オブジェクトに対して、ＷＷＷ AnchorやＷＷＷ Inlineなどの属性が指定できるようになされている。ＷＷＷ Anchorは、オブジェクトにハイパーテキストのリンクを付けるための属性であり、リンク先のファイルは、ＵＲＬで指定される。また、ＷＷＷ Inlineは、例えば建物などの外観を外壁、屋根、窓、扉などの部品に分けて記述するための属性であり、各部品のファイルにＵＲＬを対応させることができる。このようにして、ＶＲＭＬファイルまたはＥ−ＶＲＭＬファイルにおいても、ＷＷＷ AnchorまたはＷＷＷ Inlineにより、他のファイルにリンクをはることができる。
【０１８４】
ＷＷＷにおいて、クライアント端末に入力されたＵＲＬをＷＷＷサーバ端末へ通知し、これによりＷＷＷサーバ端末から転送されてきたＨＴＭＬファイルを解釈して表示するためのアプリケーションソフトウエア（WWW Browser）としては、ネットスケープ社のNetscape Navigator（商標）が知られている。そこで、例えば、クライアント端末１３においても、ＷＷＷサーバ端末とのデータの授受を行う機能を利用する目的で、Netscapeを用いている。
【０１８５】
ただし、このWWW Browserは、ＨＴＭＬファイルを解釈し、表示処理することができるが、ＶＲＭＬファイルまたはＥ−ＶＲＭＬファイルは、受信することができても、これを解釈して表示することができない。そこで、ＶＲＭＬファイルおよびＥ−ＶＲＭＬファイルを解釈し、３次元空間として描画し表示処理することができるVRML Browserが必要となる。
【０１８６】
なお、ＶＲＭＬの詳細は、書籍『ＶＲＭＬを知る：３次元電脳空間の構築とブラウジング，マーク・ペシ著，松田晃一・蒲池輝尚・竹内彰一・本田康晃・暦本純一・石川真之・宮下健・原和弘訳，1996年3月25日初版発行，プレンティスホール出版ISBN4-931356-37-0（原著；ＶＲＭＬ：Browsing & Building Cyberspace, Mark Pesce, 1995 New Readers Publishing ISBN 1-56205-498-8）』に開示されている。
【０１８７】
本出願人は、このVRML Browserを含むアプリケーションソフトウエアとして、CyberPassage（商標）を開発している。
【０１８８】
CyberPassageは、次の３つのソフトウェアから構成される。
（１）CyberPassage Browser
これは、VRMLブラウザであり、VRML1.0に準拠し、加えて、VRML2.0の機能（動き、音）を先取りし、動画機能を持つE-VRMLをサポートする。また、CyberPassage Bureauに接続できるマルチユーザ機能を持つ。スクリプト言語には、TCL/TKを用いている。
（２）CyberPassage Conductor
これは、VRMLオーサリングシステムであり、VRML1.0をベースにしたE-VRMLに準拠し、単純に３次元の世界を構築するだけではなく、３次元の世界に動きを付けたり、音や映像を付加することを簡単に行なえるツールである。
（３）CyberPassage Bureau
これは、CyberPassage Browserから接続し、ネットワーク上に構築された仮想的な空間の中で本当に人々が出会うことを可能にするサーバ端末システムのためのものである。
【０１８９】
図３１に示す、クライアント端末１３−１，１３−２において予めブラウザ（Browser）をインストールして実行させる。また、共有サーバ端末１１Ｂ−１，１１Ｂ−２において予めビュー（Bureau）をインストールして実行させる。図３３においては、クライアント端末１３−１上でCyberPassage BrowserをＣＤ−ＲＯＭ１１からインストールして実行させ、共有サーバ端末機能とクライアント機能を単一の端末で実現するために、共有サーバ端末１１Ｂ−１上で、予めCyberPassage BureauとCyberPassage BrowserをＣＤ−ＲＯＭ１０１からインストールして実行させている場合の一例を示している。
【０１９０】
CyberPassage Browserは、図３２に示すように、WWW BrowserとしてのNetscapeとの間において、ＮＣＡＰＩ（Netscape Client Application Programing Interface）（商標）に基づいて各種データの授受を行う。
【０１９１】
Netscapeは、インターネットを介してＷＷＷサーバ端末１１２よりＨＴＭＬファイルとＶＲＭＬファイルまたはＥ−ＶＲＭＬファイルの供給を受けると、これを記憶装置５０にそれぞれ記憶させる。Netscapeは、このうちのＨＴＭＬファイルを処理する。これに対して、ＶＲＭＬファイルまたはＥ−ＶＲＭＬファイルは、CyberPassage Browserが処理する。
【０１９２】
E-VRML(Enhanced VRML)は、VRML1.0にBehavior(動き)とマルチメディア拡張（音、動画）を行なったもので、本出願の最初の成果として、１９９５年９月にVRMLコミュニティに提案された。E-VRMLで用いられている動きの記述の基本モデル（イベントモデル）は、現在のVRML2.0のプロポーザルの１つであるMoving Worldsプロポーザルに引き継がれている。
【０１９３】
次に、CyberPassage Browserの概略について説明する。このブラウザは、例えば上記した書籍「ＶＲＭＬを知る」に添付されているＣＤ−ＲＯＭにそのサンプルが収録されている。このブラウザをインストール後、Windows95（商標）のスタートメニューの「プログラム」(Windows NT（商標）の場合はプログラムマネージャ）の「CyberPassage Folder」からManualを選択するとマニュアルを表示させることができる。
【０１９４】
［ブラウザの動作環境］
ブラウザの動作環境は、図３４に示すとおりである。その最低動作環境は最低限満足する必要がある。ただし、Netscape Navigatorは、スタンドアローンのVRMLブラウザとして使用する場合には必要ない。特に、マルチユーザで使う場合は、推奨動作環境とすることが望ましい。
【０１９５】
［ブラウザのインストール方法］
ブラウザのインストール方法は、通常、Netscapeをインストールするのと同じである。上記ＣＤ−ＲＯＭの＼Sony（商標）のディレクトリに置かれているvscplb3a.exeを用いてインストールする。
【０１９６】
(1) vscplb3a.exeをダブルクリックする。"Unzip To Directory"欄のディレクトリにインストールパッケージが展開されるので、必要に応じて適宜変更する。
(2) [Unzip]ボタンをクリックする。しばらくするとインストールパッケージが展開される。
(3) "12 files unzipped successfully"と表示されるので、[OK]ボタンをクリックする。
(4) 「Welcome」ウィンドウが表示されたら、[NEXT]ボタンをクリックする。
(5) 「Software License Agreement」の条項をよく読み、同意する場合は[Yes]ボタンをクリックする。同意しない場合は[No]ボタンをクリックする。
(6) インストールするディレクトリを調べる。デフォルトでは ＼Program Files＼Sony＼CyberPassageとなっている。
(7) 上記ディレクトリ名で不都合があれば、[Browse]ボタンを押してディレクトリを選択する。[Next]ボタンを押して次へ進む。
(8) 「readme」ファイルをこの場で読む場合は[Yes]ボタンをクリックする。
(9) インストールが完了したら、[OK]ボタンをクリックする。
【０１９７】
［ブラウザの起動方法］
ブラウザを起動する前に、まずNetscape Navigatorの設定を行う。なお、スタンドアロンで使用する場合はこの作業は必要なく、スタートメニューの「プログラム」から「CyberPassage Folder...CyberPassage」を選んで起動すれば良い。また、以下の設定は、インストールにより自動的に設定される場合もある。
【０１９８】
(1) Netscape Navigatorの「Options」メニューから「General Preference」を実行し、「Preference」ウィンドウを開く。上部のタブから「Helper Applications」を選択する。
(2) File typeの一覧に「x-world/x-vrml」があるかどうか確認する。すでに存在していれば、(4)へ進む。
(3) [Create New Type]ボタンをクリックする。Mime Typeの欄に「x-world」、Mime SubTypeの欄に「x-vrml」と入力し、[OK]ボタンをクリックする。Extensions欄に「wrl」と入力する。
(4) [Launch the Application:]ボタンをクリックする。CyberPassageブラウザのパス名をその下のテキスト欄に入力する(デフォルトでは ＼Program Files＼Sony＼CyberPassage＼bin＼vscp.exe)。
(5) [OK]ボタンをクリックする。
【０１９９】
以上で、設定は終りである。後は、以下の手順で起動する。
【０２００】
(1) Netscapeの「File..Open File」メニューで、サンプルのＣＤ−ＲＯＭの readme.htmを読み込む。
(2) サンプルワールドへのリンクをクリックすると、CyberPassageが自動的に起動され、ＣＤ−ＲＯＭに添付したサンプルワールドをロードできる。
【０２０１】
［ブラウザのアンインストール(削除)方法］
スタートメニューの「プログラム」(Windows NTの場合はプログラムマネージャ）の「CyberPassage Folder」からUninstall を実行すれは、自動的にアンインストールされる。
【０２０２】
［ブラウザの操作方法］
ブラウザの操作は、マウス４９ｂ、キーボード４９ａ、画面上のボタンを用いて行なう。操作は、非常に直観的に行なえる。
【０２０３】
〈３次元内での移動〉
VRMLが提供する３次元空間では、前進、後退、右へ回転、左へ回転など現実世界で行なっている動作が可能である。ブラウザでは、このような動作を以下のようなユーザインタフェースで実現している。
【０２０４】
《ボードを使う方法》
キーボード４９ａでは、その矢印キー（図示せず）で次のように移動できる。
→  右へ回転
←  左へ回転
↑  前進
↓  後退
【０２０５】
《マウスを使う方法》
マウス操作は、すべて左ボタンで行なう。
(1) CyberPassageのウィンドウ内でマウス４９ｂの左ボタンを押し、押した状態のまま押した地点よりも
右へ動かすと    右へ回転
左へ動かすと    左へ回転
上へ動かすと    前進
下へ動かすと    後退
する。マウスを動かした距離によって移動の速度が変化する。
(2) キーボード４９ａのCtrl（Control）キー（図示せず）を押した状態で、画面上の物体をクリックすると、その物体の正面まで移動する。
【０２０６】
ここで、以下の注意が必要である。
・物体にぶつかると衝突音がして、画面の枠が赤く点滅する。この場合はそれ以上先には進めないので、向きを変える。
・自分のいる場所がわからなくなったり、何も見えなくなったりした場合には、画面右の[Home]ボタンをクリックすると、初期位置に戻る。
【０２０７】
［ジャンピングアイ］
３次元空間をナビゲートしている間に、道に迷うことがある。そのような場合に、空に飛び上がって回りを見回すことができる。
(1) 画面右の[Jump]ボタンをクリックすると、ジャンピングアイモードになり、上空からワールドを見下ろす位置にジャンプする。
(2) もう一度、[Jump]ボタンをクリックすると、元の位置に戻る。
(3) あるいは、ワールド内のどこかの地点をクリックするとその地点に降りる。
【０２０８】
［物体の選択］
画面上でマウスカーソルを動かすと、物体の上にさしかかったところでカーソルの形が手に変わるところがある。そこでマウス４９ｂの左ボタンをクリックすると、物体の持つアクションを呼び出すことができる。
【０２０９】
［VRMLファイルの読み込み］
次の方法でVRMLファイルを読み込むことができる。
・NetscapeでVRMLファイルへのリンクをクリックする。
・CyberPassageの「File..Open File」メニューでディスク上の拡張子wrlのファイルを選択する。
・CyberPassageの「File..Open URL」メニューでURLを入力する。
・ワールド内の物体で、マウスカーソルに「URL」と表示されるものをクリックする。
【０２１０】
［ツールバーボタン操作］
ブラウザでは、良く使う機能をツールバー（図３８の表示例に示されている）に並んでいるツールバーのボタンを使って以下のような操作を行うことができる。
[Back]        一つ前に読み込んだワールドに戻る。
[Forward]     Backで戻った後、先のワールドへ再度進む。
[Home]        初期位置へ移動する。
[Undo]        物体を移動した後、元の場所に戻す(後述)。
[Bookmark]    現在のワールド、位置をブックマークに登録する。
[Scouter]     スカウターモードにする(後述)。
[Jump]        ジャンピングアイモードにする。
【０２１１】
［スカウタモード］
ワールドに置かれた物体は、E-VRMLの機能を用いて、文字列を情報として持つことができる。
(1) 画面右の[Scouter]ボタンをクリックすると、スカウタモードに入る。
(2) 画面上でマウスカーソルを動かすと、情報ラベルを持つ物体の上にさしかかったところで情報ラベルが表示される。
(3) もう一度[Scouter]ボタンをクリックすると、スカウタモードを終了する。
【０２１２】
［物体を動かす］
キーボード４９ａのAlt（Alternate）キー（図示せず）を押しながら物体の上でマウス４９ｂの左ボタンを押し、押したままマウス４９ｂを動かすと、物体を移動させることができる。これは、現実世界で、机の上のコーヒーカップを手で動かせるのと同じである。ただし、移動できるのは移動可能属性を持つ物体だけなので、あらゆる物体を移動できるわけではない。サンプルワールドではDigital HandyCamなどで物体を移動させることができる。なお、物体を移動させた後、1回分だけは[Undo]ボタンで元に戻すことができる。
【０２１３】
［マルチユーザサーバ端末への接続方法］
このブラウザは、マルチユーザ機能を持っている。マルチユーザ機能とは、同じVRMLの仮想空間を他のユーザと共有する機能である。現在、出願人は、CyberPassageビューロをインターネット上で実験運用している。chatroomを読み込むことでサーバ端末に接続し、他のユーザと同じVRMLの仮想空間を共有し、一緒に歩き回ったり、部屋の電気を消したり、チャットしたりすることができる。
【０２１４】
これは、以下の手順で行なう。
(1) 自分の使っているパーソナルコンピュータが、インターネットへ接続されていることを確認する。
(2) サンプルワールドの Chatroom をブラウザに読み込む。これは、サンプルのＣＤ−ＲＯＭの ＼Sony＼readme.htmをNetscapeに読み込み、Chat Roomをクリックすることで行なう。
(3) メッセージウィンドウに「Connected to VS Server」と表示されれば、マルチユーザサーバ端末への接続が成功している。
【０２１５】
以上で、サーバ端末に接続される。他のユーザとのインタラクションには、次の２種類がある。
・他の人にアクションを伝える。
これは、actionウィンドウ（図４０参照）のHello,Smile,Wao!,Wooo!!,Umm...,Sad,Byeなどのボタンをクリックすることで実現される。また、アクションとしては、自分自身（アバタ）を左または右方向に３６度、１８０度、または３６０度回転させることもできる。
・他の人と会話する。
これは、「View..Chat」メニューでChatウィンドウ（図４０参照）を開き、一番下の入力欄にキーボード４９ａからメッセージを入力することで実現される。
【０２１６】
［マルチユーザワールド］
サンプルのＣＤ−ＲＯＭで提供されているマルチユーザのワールドは、次の３つである。なお、チャットはすべての世界で、共通に行うことができる。
（１）Chat Room
チャットをメインとする部屋であるが、いくつかのオブジェクトは、他のユーザと共有されている。左ボタンでクリックするとだんだん透明になるオブジェクトや、部屋の電気を消すスイッチや、クリックすると飛び回るオブジェクトなどがある。また、秘密の穴などもある。
（２）Play with a ball!
仮想空間に浮かぶボールをクリックすると、自分の方に飛んでくる。このボールは、その空間にいるすべてのユーザで共有され、他のユーザとキャッチボールすることができる。
（３）Share your drawing
仮想空間にホワイトボードが置かれており、それを左ボタンでクリックすると共有ホワイトボードが表示される。左ボタンでドラッグすることでボードに描画することができ、それは、その空間にいる他のユーザと共有できる。
【０２１７】
なお、サンプルのＣＤ−ＲＯＭには、このCyberPassage Browserの他、CyberPassage Conductorと、いくつかのサンプルＶＲＭＬファイルが格納されている。ただし、CyberPassage Bureauは、このサンプルのＣＤ−ＲＯＭには格納されていない。このCyberPassage Bureauは、インターネット１５Ａを介して、出願人の会社の提供しているホームページＵＲＬ＝http://vs.sony.co.jp/からダウンロードすることができる。出願人の会社はまた、インターネットを介してマルチユーザワールドＵＲＬ＝http://japan.park.org/Japan/Sony/3DWorld/Circus/を提供している。
【０２１８】
CyberPassage Bureauを使えば、CyberPassage Browserを使ったユーザ同志がVRML1.0で記述された世界に一緒に入り込むことができる。このため、３次元仮想現実空間を提供するには、まず、VRML1.0で記述されたファイルを用意する必要がある。その後、ビューロ（以下、適宜、Cyber Passage Bureauを、単に、ビューロ（Bureau）と称する）を適当なパーソナルコンピュータで動作させる。さらに、そのVRML1.0のファイルに、ビューロの動いているパーソナルコンピュータを知らせる行を追加する。そのＶＲＭＬファイルを、CyberPassage Browserに読み込ませれば、ブラウザ（以下、適宜、Cyber Passage Browserを、単に、ブラウザ（Browser）と称する）はビューロに接続される。
【０２１９】
接続がうまく行けば、仮想世界の中でユーザ同志がお互いに見え、会話を行うことができる。さらに、適当なスプリクトをファイルに書き込むことにより、アクションパネルを使って、喜怒哀楽を表現することができる。
【０２２０】
CyberPassage Browserは、ＴＣＬを用いた動作記述用のインタフェースを用意している。これを使うことにより、仮想世界の中のオブジェクトに動きを付けて、さらに、それをブラウザ間で同期させることができる。これにより、工夫次第で、３Ｄゲームなどを複数のユーザで楽しむことが可能となる。
【０２２１】
マルチユーザの仮想世界を楽しむには、ＶＲＭＬファイルの準備、ビューロの起動、ブラウザの接続の３つのステップがある。
【０２２２】
［ＶＲＭＬファイルの準備］
まず、自分の気に入ったVRML1.0のファイルを用意する。このファイルは、自分で作成するか、あるいはフリーのものを持ってくることができる。そのファイルが、マルチユーザの仮想世界の舞台となる。
【０２２３】
［ビューロの起動］
CyberPassage Bureauの動作環境は次の通りである。
ＣＰＵ  486SX以上
ＯＳ    Windows 95
メモリ  12MB以上
【０２２４】
このビューロは、ダウンロードしてきたファイルを実行するだけで、起動することができる。実行すると、図３５にCyberPassage Bureauとして示すように、いくつかのメニューのついたメニューバーだけが表示される。起動直後は、ビューロは停止状態であり、Viewメニューをプルダウンして、statusを選べば、statusウインドウが表示され、現在のビューロの状態が判るようになる。なお、このとき、停止中であるのか、動作中であるのかの状態の他、接続しているユーザビューロが接続を待っているポート番号も表示される。
【０２２５】
ビューロは、起動直後はＴＣＰのポート５１２６番で接続を待つように設定されている。このポート番号を変更するには、optionsメニューをプルダウンして、portを選択する。新しいポート番号の入力を促されたら、５０００以上のポート番号を入力する。どのポートを使えばよいか判らない場合には、特に設定をせず、デフォルト値（５１２６）を使用することができる。
【０２２６】
停止中のビューロを動作させるには、runメニューをプルダウンして、startを選択する。サーバ端末は、指定されたポートで接続を待つようになる。このとき、statusウインドウで表示されている状態は、図３５の表示例に示すように、runningになる。
【０２２７】
このように、ビューロの準備が完了した後、ブラウザがビューロに接続してきたとき、ビューロは、そのブラウザの位置を他のブラウザに教えたり、会話や動作の情報を受け渡しする。
【０２２８】
ビューロのstatusウインドウは、ユーザからの接続が来る度に更新されるので、このウインドウを使うことにより、その世界に入っているユーザを確認することができる。
【０２２９】
［ブラウザの接続］
ブラウザをビューロに接続するには、次の２つのことが必要となる。１つは、ブラウザにどのビューロに接続するのかを指示することである。これは、ＶＲＭＬファイルにinfoノードを書き込むことにより行われる。そして、もう１つは、自分が他のユーザから見えるように、自分のアバタのファイルを適当なディレクトリにコピーすることである。
【０２３０】
［ＶＲＭＬファイルへの追加］
接続するビューロを指定する行をＶＲＭＬファイルに書き込むとき、ビューロが動いているパーソナルコンピュータの名称と、ポート番号を指定する。この場合の書式は次のようになる。
DEF VsServer Info {string"サーバ名:ポート番号"}
【０２３１】
サーバ端末名は、ビューロの動作しているインターネットでのマシン名（例えばfred.research.sony.com）、またはそのＩＰアドレス（例えば123.231.12.1）になる。ポート番号は、ビューロで設定したポート番号である。
【０２３２】
従って、上記した書式は例えば次のようになる。
DEF VsServer Info {string"fred.research.sony.com:5126"}
【０２３３】
また、図３３の例においては、共有サーバ端末１１Ｂ−１のＩＰアドレスは、43.0.35.117とされているので、この場合には、上記した書式は次のようになる。
DEF VsServer Info { string "43.0.35.117:5126"}
【０２３４】
このような書式を用意したＶＲＭＬファイルの
#VRML V1.0 ascii
の下の行に追加する。
【０２３５】
［アバタファイルのコピー］
CyberPassage Browserは、CyberPassage Bureauに接続されたとき、それに対し、自分のアバタを通知する。所定のアバタが他のアバタと出会ったとき、ビューロは、この情報を他のブラウザに通知することにより、所定のアバタを他のブラウザに表示させる。このため、所定のアバタのＶＲＭＬファイルを予め適当な場所にコピーする必要がある。
【０２３６】
図３５は、アバタを選択する場合の表示例を示している。この表示例においては、person.wrl，boy.wrlまたはgirl.wrlの中から所望のものを、自分のアバタとして選択することができるようになされている。
【０２３７】
このアバタのファイルを自分のＶＲＭＬファイルと同じディレクトリにコピーすると、ブラウザはそのＶＲＭＬファイルを読み込んだとき、そのファイルと同じディレクトリにある{person,boy,girl}.wrlファイルを、アバタファイルとして探すことになる。
【０２３８】
以上のようにして、所定のＶＲＭＬファイルを共有するには、ビューロを動作させ、ＶＲＭＬファイルに、VsServer Infoノードを追加し、{person,boy,girl}.wrlを、そのＶＲＭＬファイルと同じディレクトリにコピーすればよい。その後、ＶＲＭＬファイルを他の人からロードしてもらえるようすれば、そのファイルをCyberPassageで読み込んだ人は、ビューロに接続されることになる。
【０２３９】
図３３に示すように、いま、共有サーバ端末１１Ｂ−１は、Koutarouのニックネームのアバタを用いて、また、クライアント端末１３−１は、Minamiのニックネームのアバタを用いて、それぞれマルチユーザワールドの１つのCIRCUS PARK（サーカスパーク）を歩き回るものとする。このとき、例えば共有サーバ端末１１Ｂ−１においては、図３５に示すように、男性用のアバタの姿であるboy.wrlを選択する。次に、図３６に示すように、Viewメニューをプルダウンして、そのメニューの中からさらに、Preferencesを選択すると、図３７に示すような画面が表示される。この画面において、ユーザは、図３５で選択したアバタの名称（ニックネーム（Nick Name））として、Koutarouを指定する。
【０２４０】
同様にして、クライアント端末１３−１のユーザが、例えば自分のアバタ姿としてgirl.wrlを選択し、そのニックネームとしてMinamiを指定して、CIRCUS PARKに入り込んだとする。そして、共有サーバ端末１１Ｂ−１のアバタKoutarouと、クライアント端末１３−１のアバタMinamiとが、CIRCUS PARKにおいて、十分接近した位置に移動すると、共有サーバ端末１１Ｂ−１の表示装置２５には、図３６に示すように、アバタMinamiが表示される。同様に、クライアント端末１３−１の表示装置４５には、後述する図３９に示すように、アバタKoutarouが表示される。
【０２４１】
ここで、図３３と図３５乃至３８においては、アバタKoutarouが見る表示装置２５の表示画面ＫとアバタMinamiが見る表示装置４５の表示画面をＭとして各々符号を付してある。
【０２４２】
これらの図に示すように、各表示装置には、自分自身のアバタの視点からみた３次元仮想現実空間（他のアバタの画像を含む）が表示され、自分自身のアバタは表示されない。
【０２４３】
このように、複数のアバタが所定の空間内において、十分接近すると（相手方の表示装置に自分のアバタが表示された状態になると）、上述したように、例えば図３８に示すViewメニューをプルダウンしてChatを選択することで、Chatを行うことができる。図３８は、アバタKoutarouとアバタMinamiがChatを行っている場合の共有サーバ端末１１Ｂ−１側の表示装置２５における表示例を示している。
【０２４４】
同図に示すように、Chatウインドウには、各端末のキーボードからそれまでに入力されたメッセージが表示されている。自らが入力した文字は、Chatウインドウの一番下側の表示領域に一旦表示され、キーボード４９ａの確定キー（図示せず）を操作すると、その入力したメッセージ（文字列）が相手側に伝送される。例えば、いま、アバタMinami（クライアント端末１３−１）から「今日が初めてです」のメッセージが共有サーバ端末１１Ｂ−１に伝送されてきたとき、このメッセージは図３８に示すように、共有サーバ端末１１Ｂ−１の表示装置２５において、CyberPassage BrowserのウインドウのアバタMinamiの上方に吹き出し（ballon）表示されるとともに、Chatのウインドウ内にも、過去のメッセージに続いて表示される。
【０２４５】
図３９は、共有サーバ端末１１Ｂ−１側から「観覧車を見に行きましょう」のメッセージを入力した場合におけるクライアント端末１３−１の表示装置４５の表示例を示している。この場合においても、そのメッセージがCIRCUS PARKのウインドウ内のアバタKoutarouの上方に吹き出し表示されるとともに、Chatのウインドウ内に過去のメッセージに続けて表示される。
【０２４６】
また、図４０の表示例においては、クライアント端末１３−１側において、［Hello］ボタンが操作された場合を表している。このとき、図４０に示すように、共有サーバ端末１１Ｂ−１において、アバタMinamiが右手を上げる画像が表示されるとともに、そのスピーカ２７に、［Hello］の音声メッセージが出力される。
【０２４７】
ユーザは、端末のそばを離れるような場合、アバタをスリープ状態にすることができる。例えば、アバタMinamiをスリープ状態にするとき、クライアント端末１３−１側において、図３９に示すように表示されているアクションウィンドウボタンのうち、［Active］ボタンをクリックして、このボタンを図４１に示すように、［Sleep］ボタンに変化させる。すると、アバタMinamiがスリープ状態になる。このとき、共有サーバ端末１１Ｂ−１側の表示装置２５に表示されているアバタMinamiは、図４２に示すように、地面に座り込んだ状態のSleep状態となる。共有サーバ端末１１Ｂ−１側のユーザは、この表示からアバタMinamiがスリープ状態になったことを（アバタMinamiのユーザがクライアント端末１３−１から離れたことを）知ることができる。Sleep状態において、［Sleep］ボタンをクリックすると、ボタンは再び、［Active］ボタンに戻る。
【０２４８】
このようにして、実際に自分自身が３次元仮想現実空間としてのCIRCUS PARK内を散策して楽しむことができる。
【０２４９】
上述したCIRCUS PARK内で実現されるパレード、アバタの移動、アクションウィンドウの各ボタンによるアバタの動作等を実施するために本発明が適用されている。
【０２５０】
以上、本発明を、ネットワーク１５として、インターネットを採用するとともに、ＷＷＷを利用する場合について説明したが、本発明は、ネットワーク１５として、インターネット以外の広域通信網を採用した場合、また、ＷＷＷ以外のシステムを採用した場合においても、実現可能である。
【０２５１】
【発明の効果】
以上の如く請求項１に記載の３次元仮想現実空間共有方法および請求項１０に記載の３次元仮想現実空間共有システムによれば、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む変更シーケンスをクライアント端末に個々に記憶し、複数のクライアント端末の変更シーケンスを同期して起動するようにしたので、複数のサブオブジェクトからなる複雑な形状のオブジェクトの挙動を複数のクライアント端末において、３次元仮想現実空間を共有することができるとともに、そのための通信量を少なくし、迅速な画像表示が可能となる。
【０２５２】
請求項１１に記載の情報処理方法および請求項１２に記載のクライアント端末によれば、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する複数のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む変更シーケンスを記憶し、他のクライアント端末の変更シーケンスに同期して、自己のクライアント端末の更新シーケンスを起動するようにしたので、複数のサブオブジェクトからなる複雑な形状のオブジェクトの挙動を他のクライアント端末と３次元仮想現実空間を共有可能なクライアント端末を実現することが可能となる。
【０２５３】
請求項１３に記載の情報処理方法および請求項１４に記載の共有サーバ端末によれば、共有サーバ端末で管理している前記更新オブジェクトの状態の更新を判断し、更新オブジェクトの状態が更新された時点で、更新オブジェクトの３次元仮想現実空間内での移動および回転の少なくとも一方を含む更新オブジェクトの状態の更新内容に対応する、個々のサブオブジェクトの移動の速度および回転の速度の少なくとも１つを含む変更シーケンスの種類を指定するためのメッセージを、前記各クライアント端末に対して通知するようにしたので、複数のサブオブジェクトからなる複雑な形状のオブジェクトの挙動を複数のクライアント端末に３次元仮想現実空間を提供することが可能なサーバ端末を実現することができる。
【図面の簡単な説明】
【図１】本発明を適用したサイバースペースシステムの構成例を示すブロック図である。
【図２】図１のサーバ端末１１の構成例を示すブロック図である。
【図３】図１のクライアント端末１３の構成例を示すブロック図である。
【図４】図１のサービス提供者端末１４の構成例を示すブロック図である。
【図５】図１のサイバースペースシステムにより形成される仮想現実空間を説明する図である。
【図６】図５のアバタＣからの視野を説明する図である。
【図７】図５のアバタＤからの視野を説明する図である。
【図８】サイバースペースシステムにおけるメッセージの伝送を説明する図である。
【図９】メッセージリストを示す図である。
【図１０】表示例を示す図である。
【図１１】クライアント端末１３−１の表示例を示す図である。
【図１２】クライアント端末１３−２の表示例を示す図である。
【図１３】クライアント端末１３−３の表示例を示す図である。
【図１４】メッセージ１の処理を示すフローチャートである。
【図１５】仮想現実空間におけるアバタの移動を示す図である。
【図１６】メッセージ３の処理を示すフローチャートである。
【図１７】図１６のステップＳ２４の手の運動処理の詳細を示すフローチャートである。
【図１８】図１６のステップＳ２５の足の運動処理の詳細を示すフローチャートである。
【図１９】クライアント端末における他の表示例を示す図である。
【図２０】複雑な動作開始の処理を示すフローチャートである。
【図２１】本発明を適用したサイバースペースシステムの他の実施例の構成を示すブロック図である。
【図２２】ＷＷＷを説明するための図である。
【図２３】ＵＲＬの例を示す図である。
【図２４】マッピングサーバ端末の構成例を示すブロック図である。
【図２５】クライアント端末１３（サービス提供者端末１４）の動作を説明するフローチャートである。
【図２６】情報サーバ端末１１Ａの動作を説明するフローチャートである。
【図２７】マッピングサーバ端末１２の動作を説明するフローチャートである。
【図２８】共有サーバ端末１１Ｂの動作を説明するフローチャートである。
【図２９】クライアント端末１３の他の構成例を示すブロック図である。
【図３０】基本オブジェクトと更新オブジェクトの格納先を説明する図である。
【図３１】基本オブジェクトと更新オブジェクトの配置を説明するための図である。
【図３２】サイバースペースシステムを実現するためのソフトウエアを説明するための図である。
【図３３】クライアント端末１３−１と共有サーバ端末１１Ｂ−１の有するソフトウエアを説明する図である。
【図３４】ソフトウエアが動作する環境を説明する図である。
【図３５】図３３における共有サーバ端末１１Ｂ−１側における表示例を示す図である。
【図３６】図３３における共有サーバ端末１１Ｂ−１側における表示例を示す図である。
【図３７】図３３における共有サーバ端末１１Ｂ−１側における表示例を示す図である。
【図３８】図３３における共有サーバ端末１１Ｂ−１側における表示例を示す図である。
【図３９】図３３におけるクライアント端末１３−１側の表示例を示す図である。
【図４０】図３３の共有サーバ端末１１Ｂ−１側の表示例を示す図である。
【図４１】図３３のクライアント端末１３−１側の他の表示例を示す図である。
【図４２】図３３の共有サーバ端末１１Ｂ−１側の他の表示例を示す図である。
【図４３】従来のＬＡＮを介して構築されたサイバースペースシステムの構成例を示すブロック図である。
【図４４】従来のＬＡＮを介して構築されたサイバースペースシステムにおける表示例を示す図である。
【図４５】従来のアバタの歩行動作を表現する場合の原理図である。
【符号の説明】
１  サーバ端末，  ２  記憶装置，  ３，３−１，３−２，３−３  クライアント端末，  ４  公衆電話回線，  １１，１１−１，１１−２  サーバ端末，  １３，１３−１，１３−２，１３−３  クライアント端末，  １４，１４−１，１４−２  サービス提供者端末，  １５  ネットワーク，  ３０，３０−１，３０−２  記憶装置
【図１】
0003859020.tif 000002
【図２】
0003859020.tif 000003
【図３】
0003859020.tif 000004
【図４】
0003859020.tif 000005
【図５】
0003859020.tif 000006
【図６】
0003859020.tif 000007
【図７】
0003859020.tif 000008
【図８】
0003859020.tif 000009
【図９】
0003859020.tif 000010
【図１０】
0003859020.tif 000011
【図１１】
0003859020.tif 000012
【図１２】
0003859020.tif 000013
【図１３】
0003859020.tif 000014
【図１４】
0003859020.tif 000015
【図１５】
0003859020.tif 000016
【図１６】
0003859020.tif 000017
【図１７】
0003859020.tif 000018
【図１８】
0003859020.tif 000019
【図１９】
0003859020.tif 000020
【図２０】
0003859020.tif 000021
【図２１】
0003859020.tif 000022
【図２２】
0003859020.tif 000023
【図２３】
0003859020.tif 000024
【図２４】
0003859020.tif 000025
【図２５】
0003859020.tif 000026
【図２６】
0003859020.tif 000027
【図２７】
0003859020.tif 000028
【図２８】
0003859020.tif 000029
【図２９】
0003859020.tif 000030
【図３０】
0003859020.tif 000031
【図３１】
0003859020.tif 000032
【図３２】
0003859020.tif 000033
【図３３】
0003859020.tif 000034
【図３４】
0003859020.tif 000035
【図３５】
0003859020.tif 000036
【図３６】
0003859020.tif 000037
【図３７】
0003859020.tif 000038
【図３８】
0003859020.tif 000039
【図３９】
0003859020.tif 000040
【図４０】
0003859020.tif 000041
【図４１】
0003859020.tif 000042
【図４２】
0003859020.tif 000043
【図４３】
0003859020.tif 000044
【図４４】
0003859020.tif 000045
【図４５】
0003859020.tif 000046