(57)【特許請求の範囲】
【請求項１】
それぞれが隣接単位仮想現実空間の情報を相互に依存せず個別に管理して有しており、他の単位仮想現実空間から独立したローカル座標系を用いて内包するオブジェクトの位置を記述する複数の単位仮想現実空間を用いて無限に拡張が可能な仮想現実空間で、且つユーザがそれぞれの単位仮想現実空間の境目を意識することなく連続したひとつの空間としてどこまでも移動でき、ユーザの周辺に読み込まれる複数の単位仮想現実空間を常に連続したひとつの空間として閲覧できる仮想現実空間を表示する方法において、
基準単位仮想現実空間内におけるユーザの移動を検出する第1の工程と、
検出したユーザの移動に応じて、隣接単位仮想現実空間のデータの取得の要否を判断する第２の工程と、
取得が必要な場合には、基準単位仮想現実空間情報に含まれる隣接単位仮想現実空間の情報を参照し、取得すべき隣接単位仮想現実空間のデータを特定する第３の工程と、
該特定された隣接単位仮想現実空間のデータを取得する第４の工程と、
該取得した隣接単位仮想現実空間のデータについて、座標データの再定義を行なう第５の工程と
を具備し、
前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間の名称と、これと対をなす前記ローカル座標系に基づく前記隣接単位仮想現実空間の空間配置関係とを有し、且つ前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間のさらに先に隣接する単位仮想現実空間の情報は含まない
ことを特徴とする仮想現実空間を表示する方法。
【請求項２】
請求項１に記載の方法において、該方法は、前記第３の工程、第４の工程、及び第５の工程の少なくとも一つと並行して、隣接単位仮想現実空間のデータ読み込み以外の処理を行う第６の工程をさらに具備することを特徴とする仮想現実空間を表示する方法。
【請求項３】
請求項２に記載の方法において、該方法は、前記第４の工程の後に、不要単位仮想現実空間のデータを消去する第７の工程をさらに具備することを特徴とする仮想現実空間を表示する方法。
【請求項４】
請求項１から３のいずれかに記載の方法をコンピュータに実行させるためのプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【請求項５】
それぞれが隣接単位仮想現実空間の情報を相互に依存せず個別に管理して有しており、他の単位仮想現実空間から独立したローカル座標系を用いて内包するオブジェクトの位置を記述する複数の単位仮想現実空間を用いて無限に拡張が可能な仮想現実空間で、且つユーザがそれぞれの単位仮想現実空間の境目を意識することなく連続したひとつの空間としてどこまでも移動でき、ユーザの周辺に読み込まれる複数の単位仮想現実空間を常に連続したひとつの空間として閲覧できる仮想現実空間を表示する装置において、
基準単位仮想現実空間内におけるユーザの移動を検出するユーザ移動検出手段と、
検出したユーザの移動に応じて、隣接単位仮想現実空間のデータの取得の要否を判断する隣接単位仮想現実空間情報取得判定手段と、
取得が必要な場合には、基準単位仮想現実空間のデータに含まれる隣接単位仮想現実空間の情報を参照し、取得すべき隣接単位仮想現実空間のデータを特定する隣接単位仮想現実空間情報特定手段と、
該特定された隣接単位仮想現実空間のデータを取得する単位仮想現実空間情報取得手段と、
該取得した隣接単位仮想現実空間のデータについて、座標データの再定義を行う座標データ再定義手段と、
を具備し、
前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間の名称と、これと対をなす前記ローカル座標系に基づく前記隣接単位仮想現実空間の空間配置関係とを有し、且つ前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間のさらに先に隣接する単位仮想現実空間の情報は含まない
ことを特徴とする、仮想現実空間を表示する装置。
【請求項６】
請求項５に記載の装置において、
該装置は、前記隣接単位仮想現実空間情報特定手段、単位仮想現実空間情報取得手段、および座標データ再定義手段の少なくとも一つが行う処理と並行して、データ読み込み以外の処理を行う並行処理手段をさらに具備することを特徴とする仮想現実空間を表示するための装置。
【請求項７】
請求項６に記載の装置において、
該装置は、取得すべき隣接単位仮想現実空間のデータが特定された後に、不要単位仮想現実空間のデータを消去する不要単位仮想現実空間情報消去手段をさらに具備することを特徴とする、仮想現実空間を表示するための装置。
【請求項８】
コンピュータをして請求項５から７のいずれかに記載の装置を構成させる仮想現実空間表示プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、単位仮想現実空間を用いて仮想現実空間を表示する方法および装置、並びに単位仮想現実空間を記録したコンピュータ読み取り可能な記録媒体に関する。より詳しくは、本発明は、仮想現実空間におけるユーザの位置移動に応じて、必要な単位仮想現実空間情報を取得することにより、ユーザが、たとえばインターネットなどのネットワークを介して、少なくとも１つ以上のサーバ上の二次元または三次元的な空間構成を伴うデータベースにアクセスし、ユーザに対する仮想現実空間の表示を原則として中断することなく、二次元または三次元の仮想現実空間データを読み込んで閲覧させる技術に関する。
【０００２】
【従来の技術】
現在普及しているインターネットでのグラフィカルなデータの閲覧の方法としては、ＨＴＭＬというフォーマットに準拠して書かれたドキュメントを「インターネット・エクスプローラ」や「ネットスケープ・ナビゲータ」などのＷｅｂブラウザを用いて閲覧する手法が主流になっている。この手法では、ウェブ上から取得可能な情報は、本のようにページ単位で構成されている。
【０００３】
ユーザがブラウザ上においてあるＷｅｂページから別のＷｅｂページへ移動するには、ユーザがＷｅｂページに配置された、「リンク」を指定された「ボタン」、「テキスト」、「画像」などをたとえばポインティングデバイスを用いてクリックすることが行なわれる。この操作によりＷｅｂブラウザが所定のＷｅｂサーバに該リンクによって指定されるＷｅｂページの読み込みを依頼し、Ｗｅｂサーバは、該依頼に応じて指定されたＷｅｂページを取得してこれをＷｅｂブラウザに送信する。このようにしてネットワークを通して次のＷｅｂページがブラウザによって表示されユーザが閲覧できるようになる。
【０００４】
【発明が解決しようとする課題】
しかし、この方法では、ユーザは、この次ページのデータの読み込みの間、作業を中断され、待たされることになってしまう。とりわけ、複数のＷｅｂページにより構成された仮想現実空間内をユーザが移動する場合、Ｗｅｂページ間の移動の際に読み込みによる中断が発生すると、仮想現実空間内の移動がスムーズに行えず、ユーザの操作快適性を大きく損なってしまう。
【０００５】
本発明は、読み込みが必要なデータを、ユーザの移動から予測してこれをあらかじめ読み込んでおくことにより、ユーザにデータ読み込みの間を待たせることなく、仮想現実空間内でのユーザのスムーズな移動を可能とすることを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明は以下の手段を採ることによって、仮想現実空間内でのユーザのスムーズな移動を可能とする、仮想現実空間を提供する技術の実現を図ったものである。
【０００７】
（１．請求項１にかかる発明）
請求項１に記載の発明は、それぞれが隣接単位仮想現実空間の情報を相互に依存せず個別に管理して有しており、他の単位仮想現実空間から独立したローカル座標系を用いて内包するオブジェクトの位置を記述する複数の単位仮想現実空間を用いて無限に拡張が可能な仮想現実空間で、且つユーザがそれぞれの単位仮想現実空間の境目を意識することなく連続したひとつの空間としてどこまでも移動でき、ユーザの周辺に読み込まれる複数の単位仮想現実空間を常に連続したひとつの空間として閲覧できる仮想現実空間を表示する方法であって、基準単位仮想現実空間内におけるユーザの移動を検出する第1の工程と、検出したユーザの移動に応じて、隣接単位仮想現実空間のデータの取得の要否を判断する第２の工程と、取得が必要な場合には、基準単位仮想現実空間情報に含まれる隣接単位仮想現実空間の情報を参照し、取得すべき隣接単位仮想現実空間のデータを特定する第３の工程と、該特定された隣接単位仮想現実空間のデータを取得する第４の工程と、該取得した隣接単位仮想現実空間のデータについて、座標データの再定義を行なう第５の工程とを具備し、前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間の名称と、これと対をなす前記ローカル座標系に基づく前記隣接単位仮想現実空間の空間配置関係とを有し、且つ前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間のさらに先に隣接する単位仮想現実空間の情報は含まないことを特徴とする。
【０００８】
この発明によれば、仮想現実空間は、コンピュータが読み取り容易な適宜なデータ量の単位仮想現実空間に細分化されており、ユーザの仮想現実空間内の移動に応じて、新たに表示対象となると予想される単位仮想現実空間のデータを予測して取得することにより、ユーザに対する仮想現実空間の表示を中断することなく、二次元または三次元の仮想現実空間データを読み込んで閲覧させることが可能となる。
【０００９】
（２．請求項５にかかる発明）
請求項５にかかる発明は、それぞれが隣接単位仮想現実空間の情報を相互に依存せず個別に管理して有しており、他の単位仮想現実空間から独立したローカル座標系を用いて内包するオブジェクトの位置を記述する複数の単位仮想現実空間を用いて無限に拡張が可能な仮想現実空間で、且つユーザがそれぞれの単位仮想現実空間の境目を意識することなく連続したひとつの空間としてどこまでも移動でき、ユーザの周辺に読み込まれる複数の単位仮想現実空間を常に連続したひとつの空間として閲覧できる仮想現実空間を表示する装置であって、基準単位仮想現実空間内におけるユーザの移動を検出するユーザ移動検出手段と、検出したユーザの移動に応じて、隣接単位仮想現実空間のデータの取得の要否を判断する隣接単位仮想現実空間情報取得判定手段と、取得が必要な場合には、基準単位仮想現実空間のデータに含まれる隣接単位仮想現実空間の情報を参照し、取得すべき隣接単位仮想現実空間のデータを特定する隣接単位仮想現実空間情報特定手段と、該特定された隣接単位仮想現実空間のデータを取得する単位仮想現実空間情報取得手段と、該取得した隣接単位仮想現実空間のデータについて、座標データの再定義を行う座標データ再定義手段とを具備し、前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間の名称と、これと対をなす前記ローカル座標系に基づく前記隣接単位仮想現実空間の空間配置関係とを有し、且つ前記隣接単位仮想現実空間の情報は、隣接単位仮想現実空間のさらに先に隣接する単位仮想現実空間の情報は含まないを具備することを特徴とする。
【００１０】
この発明によれば、仮想現実空間は、コンピュータが読み取り容易な適宜なデータ量の単位仮想現実空間に細分化されており、ユーザの仮想現実空間内の移動に応じて、新たに表示対象となると予想される単位仮想現実空間のデータを予測して取得することにより、ユーザに対する仮想現実空間の表示を中断することなく、二次元または三次元の仮想現実空間データを読み込んで閲覧させることが可能となる。
【００１１】
（削除）
【００１２】
（削除）
【００１３】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００１４】
まず、本発明を説明する上で基本となる概念について説明する。
【００１５】
ユーザのアクセスする、仮想現実空間を構成するデータを格納したデータベースは、仮想の二次元平面空間、または三次元立体空間の画像表示型データベースとして設計する。テキスト、静止画像、動画像、音声、各種操作用のボタンなどのさまざまなオブジェクトを、この仮想現実空間の任意の位置に配置し、その配置位置は二次元または三次元の座標で定義される。ユーザは、この仮想現実空間の中に位置を占め、その仮想現実空間の中を移動可能であり、移動することによってユーザはＣＲＴ、液晶ディスプレイ装置などの表示装置から移動に伴って刻々変化する画像情報を受け取ることになる。
【００１６】
図１および図２は、それぞれ二次元の仮想現実空間および三次元の仮想現実空間の例を示す図である。
【００１７】
仮想現実空間内においてユーザのいる位置を「ユーザ位置」と呼ぶ。「ユーザ位置」は、二次元仮想現実空間においては、二次元座標(ｘ，ｙ)、三次元仮想現実空間においては、三次元座標(ｘ，ｙ，ｚ)で記述される。同様に、仮想現実空間内に設けられるオブジェクトの位置も二次元仮想現実空間においては二次元座標(ｘ，ｙ)、三次元仮想現実空間においては、三次元座標(ｘ，ｙ，ｚ)によって記述される。
【００１８】
ユーザは、初期状態として、ユーザまたはサーバ側が指定した任意の「ユーザ位置」にいるものとする。この位置を「初期状態でのユーザ位置」とする。
【００１９】
上記「ユーザ位置」は、以下のようにしてユーザに明示される。すなわち、二次元平面空間においては、画面にポインタを表示したり、ユーザ位置を表示装置の表示領域の中央にして表示することで、「ユーザ位置」をユーザに明示する。また、三次元空間においては、仮想現実空間内での「ユーザ位置」から見た画像を表示装置に表示したり、仮想現実空間内にポインタやアバターを表示したりすることで、「ユーザ位置」をユーザに明示する。
【００２０】
初期状態において、クライアント（ユーザの用いる情報処理装置をいう、以下同じ）の記憶装置には、仮想現実空間全体のデータではなく、ユーザ位置の周辺の一部のデータだけが読み込まれる。この読み込まれる一部とは、「初期状態のユーザ位置」を中心として所定の範囲を有する仮想現実空間のデータである。所定の範囲がどの程度の範囲となるかは、クライアントの記憶装置の容量、ディスプレイの表示能力などの物理的な制限に準じて定まる。
【００２１】
図３および図４は、仮想現実空間での初期状態でのデータの読み込み状態を示す概念図であり、図３は２次元仮想現実空間の場合、図４は三次元仮想現実空間の場合を示す。
【００２２】
仮想現実空間内での「ユーザ位置」Ｐをユーザの指示により移動させて表示することにより、ユーザはあたかも自分が仮想現実空間内を移動しているように感じる。この場合、ユーザは、マウス、キーボード、ジョイスティックなどの様様な入力装置を用いて、ユーザ位置Ｐの移動を指示する。例えば、ポインタを移動する、十字キーやジョイスティックで移動方向を指定する、画面のスクロールバーを移動させて、画面全体をスクロールするなどによって、ユーザからの移動指示が行われる。
【００２３】
ユーザがある条件を満たすまで任意の方向に移動をすると、クライアントは仮想現実空間を構成するデータを格納しているサーバに対して、ユーザが移動する先に設定された空間のデータを読み込む指示を出す。
【００２４】
本発明において、仮想現実空間は複数の単位仮想現実空間が互いに隣接して配置されることによって構成される。ここで、「単位仮想現実空間」とは、仮想現実空間をユーザに表示する際に用いられる最小読み込み単位となる領域をいう。
【００２５】
既に読み込まれている仮想現実空間のデータには、その周辺の各方向に位置する連続する単位仮想現実空間のデータが記載されている。例として、複数の正方形の単位仮想現実空間で構成される二次元仮想現実空間を考える。
【００２６】
図５は、複数の正方形の単位仮想現実空間で構成される場合の二次元仮想現実空間の概念図である。図５において、初期状態でのユーザ位置に対応した正方形の単位仮想現実空間Ｕ１がクライアントに読み込まれている。ここでユーザ位置を含む単位仮想現実空間を「基準単位仮想現実空間」というものとする。単位仮想現実空間Ｕ１のデータのヘッダには、該単位仮想現実空間に隣接するすべての単位仮想現実空間のファイル名が記載されている。図５に示す例においては、その単位仮想現実空間Ｕ１の上下左右、斜め上方、下方などの９方向に連続する９つの単位仮想現実空間のファイル名が記載されている。ここで、ある単位仮想現実空間に隣接する単位仮想現実空間を「隣接単位仮想現実空間」というものとする。なお、隣接するとは、ある単位仮想現実空間から別の単位仮想現実空間へ他の単位仮想現実空間を経由しないで直接移動できる関係にあることをいうものとする。なお、図５において単位仮想現実空間Ｕ１に隣接する９つの隣接単位仮想現実空間のうち、図面上側に位置する隣接単位仮想現実空間Ｕ２のみを表示し、他は省略してある。
【００２７】
ユーザの仮想現実空間内での移動が進み所定の条件が満たされると、クライアントは、単位仮想現実空間Ｕ１が有する隣接単位仮想現実空間のファイル名を参照し、必要となると予測される単位仮想現実空間のデータの読み込みをサーバに対して要求する。なお、仮想現実空間の連続性は、現実空間とは異なり、あくまで仮想現実空間内でのものなので、仮想現実空間内で隣り合う単位仮想現実空間どうしが、全く異なる位置のサーバに保持されていてもかまわない。また、条件によって、隣あう単位仮想現実空間が異なることも可能である。例えば、ユーザが一度訪れた単位仮想現実空間が別な空間となるようにしてもよい。
【００２８】
この際、新しい単位仮想現実空間についてのデータの読み込み処理は、ユーザの仮想現実空間内での移動や、仮想現実空間の連続的な表示処理といったそのほかの処理と、並行して行なわれることが好ましい。これにより、データの読み込みの間、ユーザの作業が中断されることが防止できる。図５の例において、ユーザ位置Ｐが、隣接単位仮想現実空間Ｕ２に近接していくと、クライアントは単位仮想現実空間Ｕ２のデータの読み込みが必要になると予測し、サーバに単位仮想現実空間Ｕ２のデータの送信を要求する。
【００２９】
また、新しい単位仮想現実空間のデータの読み込みと並行して、ユーザの移動により、画面に表示する必要のなくなった空間のデータ(ユーザの移動方向の反対方向のデータ)を、クライアントの記憶装置内から破棄もしくは消去することが好ましい。
【００３０】
以上のような操作を、ユーザの位置移動に伴って繰り返し行なうことにより、ユーザにとっては、クライアントの記憶装置の容量を越えた膨大な情報量を含んだ仮想の二次元空間または三次元空間が無限に広がっているように感じられる。
【００３１】
［システムの構成例］
図６は、本発明にかかる仮想現実空間を表示するための装置を含むネットワーク・システムの一例を示す概略図である。
【００３２】
少なくとも1台以上のサーバ６５１，６５２，…、６５Ｘの記憶装置に分散して保持された二次元または三次元の仮想現実空間データベース６６１，６６２，…、６６Ｘと、それらデータベースにネットワーク６２０，サーバ６３０、インターネット６４０を介してアクセスできるユーザ側端末（以下、「クライアント」という）６１０から構成される。ここで、ユーザとは仮想現実空間を利用する者をいう。
【００３３】
クライアント６１０は、サーバ６３０とＬＡＮなどのネットワーク６２０を介して結ばれており、ユーザは、そのサーバ６３０を介して、そのサーバ６３０とネットワーク６４０を介して結ばれた他のサーバ６５１，６５２，…、６５Ｘにアクセスするように構成する。ユーザが直接アクセスするサーバ６２０は仮想現実空間のデータを保持するものである必要はなく、他のサーバに対してクライアントの指示を伝えることができるものであればよい。なお、クライアントとサーバの接続はこの方式に限られるものでなく、相互に通信可能な接続方式であればどのような接続であってもよい。
【００３４】
クライアント６１０は、データの読み込み処理と、ユーザのリクエストに応じた位置の移動や画面の表示といった処理を並行して行えるものが好ましい。たとえば、マルチタスク対応のＯＳ（マイクロソフト社ウインドウズ（登録商標）やＵＮＩＸなど）を搭載したコンピュータや、仮想現実空間を表示するアプリケーション側が複数の処理を並行して行なえるような処理速度をもつコンピュータを用いてクライアントを構成すればよい。
【００３５】
（１．仮想現実空間データベースの保持）
（１．１．  単位仮想現実空間）
前記仮想現実空間データベース６６１，６６２，…、６６Ｘは、システム全体の物理的な限界にあわせて、限定されたデータ空間に細分化して設計する。この細分化されたデータ空間は、クライアントがサーバに対して読み込みの指示を出す際の基本単位ともなる。このクライアントがサーバに対して読み込みの指示を出す際の基本単位となるデータ空間を「単位仮想現実空間」と呼ぶ。
【００３６】
「単位仮想現実空間」の中には、そのデータ空間内に表示される画像、テキストなどのデータや、それらの配置される座標を収納する。
【００３７】
一枚の画像やテキストデータなどと、その位置座標を組み合わせたデータを「単位仮想現実空間」とすることも本発明において可能だが、一定の大きさのある、画像やテキストを格納可能なデータ空間を定義したファイルを「単位仮想現実空間」として用いる方がデータ読み込みの効率、データベース管理の効率などを考えると、好ましい。
【００３８】
「単位仮想現実空間」の形状については、数学的に記述できる範囲においては、任意の形状が使用可能である。たとえば、二次元仮想現実空間に用いる単位仮想現実空間の形状は正方形のみならず正六角形などでもよく、三次元仮想現実空間に用いる単位仮想現実空間の形状は、立方体のみならず正四面体や正八面体などでもよい。以下の説明では、もっとも簡単な具体的実現例として、二次元空間においては正方形、三次元空間においては立方体をあげる。
【００３９】
それぞれの「単位仮想現実空間」には、その周囲にどのような単位仮想現実空間が連続しているかが、記述されている。
【００４０】
仮想現実空間は、二次元仮想現実空間であればｘｙ座標で記述された空間の広がりを持ち、三次元座標であればｘｙｚ座標で記述された空間の広がりを持つ。なお、本実施の形態において、仮想現実空間の位置やその内部のオブジェクトの位置を表す座標系として直交座標系を用いているものとして説明するが、その他の座標系を用いてもよい。
【００４１】
「単位仮想現実空間」の総体としての巨大な仮想現実空間を考えた場合に、各単位仮想現実空間内のデータを一つの統一された座標軸群(絶対座標)で記述する必要はない。例えば、立方体の単位仮想現実空間で構成された仮想現実空間を例にとって、以下に説明する。
【００４２】
図７は、立方体の単位仮想現実空間で構成された仮想現実空間の一部分を示す図である。
【００４３】
同図において、（1O×1O×1O）の大きさを有する立方体形状の単位仮想現実空間Ｃ１は、その立方体の一つの角Ｏ１が原点Ｏ（ｘ＝０、ｙ＝０ｚ＝０）に位置するように定義されている。その立方体データ空間の上側に隣接して同様の大きさを有する単位仮想現実空間Ｃ２が定義されている。この単位仮想現実空間Ｃ２の上側にさらにもうひとつ別の立方体単位仮想現実空間Ｃ３が定義されている。
【００４４】
このとき、２番目の単位仮想現実空間Ｃ２は、その立方体の一つの角Ｏ２がｘ＝０，y＝1O、ｚ＝０の点に位置するように配置され、3番目の単位仮想現実空間Ｃ３その立方体の一つの角Ｏ３がｘ＝０，y＝20、ｚ＝０の点に位置するように配置されている。単位仮想現実空間Ｃ１，Ｃ２，Ｃ３のそれぞれは、画像やテキストを有している。
【００４５】
これら単位仮想現実空間Ｃ１，Ｃ２，Ｃ３の有する画像やテキストなどのオブジェクトの座標位置を前記原点Ｏ（ｘ＝０、ｙ＝０、ｚ＝０）を基準とする絶対座標で統一して記述すると、仮想現実空間が巨大になるにつれて、コンピュータ処理不可能な巨大な座標の値を持ってしまうことがある。
【００４６】
そこで、本発明においては、それぞれの単位仮想現実空間の有する画像やテキストなどのオブジェクトの座標位置はその単位仮想現実空間毎の座標（以下、「単位仮想現実空間座標」という）で定義する。たとえば、単位仮想現実空間Ｃ１内のオブジェクトは、Ｃ１の基準点Ｏ１を原点とした座標で表し、単位仮想現実空間Ｃ２内のオブジェクトは、Ｃ２の基準点Ｏ２を原点とした座標で表す。
【００４７】
また各単位仮想現実空間の連続性については記述するが、ある単位仮想現実空間が別の単位仮想現実空間の上から距離２０の位置にあるといった、単位仮想現実空間相互の位置関係を絶対座標軸もしくは共通の座標軸を用いて定義する事は行わない。
【００４８】
一方、一端、複数の「単位仮想現実空間」がクライアントに読み込まれた後は、クライアント内のローカル座標にリマップして使用する。
【００４９】
（１．２．  サーバにおけるデータの保持）
図６に示す仮想現実空間データベース６６１，６６２，…、６６Ｘそれぞれの中には、「単位仮想現実空間」単位に読み出し可能な形式で、仮想現実空間を構築するためのデータが保持されている。
【００５０】
（１．３．  クライアントがサーバにアクセスしてからの処理の流れ）
つぎに、図８から図１１を参照しながら、クライアントが単位仮想現実空間単位で仮想現実空間を表示するためのデータを取得して、これを表示する処理について説明する。図８は、本実施の形態におけるクライアントとサーバ間の処理を示すフローチャートであり、図９は、二次元仮想現実空間における「ユーザ位置」の移動にともなうデータの読み込みを説明するための概念図であり、図１０は、単位仮想現実空間のデータ記述例を示す図である。
【００５１】
（１．３．１．  初期状態におけるクライアントからのデータの読み込み）
クライアントは、まず初期状態で読み込む単位仮想現実空間を規定する（図８，Ｓ１）。なお、初期状態とは、仮想現実空間を構成するための単位仮想現実空間のデータの読み込みを開始していない状態をいう。あるいは、初期状態で読み込む単位仮想現実空間は、あらかじめクライアントまたサーバにて定められていてもよい。クライアントは、規定された単位仮想現実空間に対応するデータを送るよう、ネットワークを介してサーバ群に要求する（Ｓ２）。このとき、該規定された「単位仮想現実空間」の情報（たとえば、単位仮想現実空間が記述されたファイルのファイル名、もしくはそのファイルが記録された場所を示すＵＲＬなど）が、ネットワーク等を介してサーバ群へ送られる。
【００５２】
この要求に応答して、サーバ群（より詳しくは、サーバ群のうち該単位仮想現実空間のデータを持っているサーバ）が、その仮想現実空間データベースから該単位仮想現実空間のデータを取得して（Ｓ３）、これをクライアントに送る（Ｓ４）。
【００５３】
次に、この最初に読み込まれた「単位仮想現実空間」のデータをクライアントが読み取って、その周辺に連続する「隣接単位仮想現実空間」のデータの読み込みを、クライアントがサーバに対して要求する。この要求に基づき、サーバ群から複数のデータ空間が読み込まれる。「隣接単位仮想現実空間」のデータの取得は必ず必要なわけではなく、クライアントのメモリ容量等の物理的条件によっては、規定された「単位仮想現実空間」のみの読み込みであっても本発明の実施には差し支えない。
【００５４】
この隣接単位仮想現実空間読み込みの手続きは省略可能である。しかし、ユーザにデータの読み込みを感じさせない、スムーズな仮想現実空間表示処理を提供するためには、１つの単位仮想現実空間だけでなく、常に複数の単位仮想現実空間を読み込んでおいたほうが好ましい。クライアントには、クライアントの表示能力や記憶容量に応じたデータ空間が読み込まれている必要があるが、この読み込まれているデータ空間を１つのデータ空間ではなく複数の単位仮想現実空間、たとえば立方体の例であれば２７個の「単位仮想現実空間」から構成され、正方形の例であれば９個の「単位仮想現実空間」から構成されるものとすることにより、それぞれの「単位仮想現実空間」のデータサイズを小さいものとすることができる。そしてデータサイズが小さければ、それだけ、ネットワーク転送の負荷が小さくなる。
【００５５】
また、一部の単位仮想現実空間を読み足して、データ空間をその方向に広げる一方、不必要な単位仮想現実空間をクライアントの記憶装置から破棄することにより、表示に関係ない単位仮想現実空間に関する画像表示の処理を行なわないことによりクライアントの負担を軽減できる。
【００５６】
つぎに、クライアントは、読み込まれた１つ以上の「単位仮想現実空間」のデータ空間の座標を、クライアントのローカル座標に置き換え、置き換えられた座標に基づいて、仮想現実空間の表示を行う（Ｓ５）。たとえば、複数の「単位仮想現実空間」を読み込んだ場合、先に述べたように、それぞれの中に配置された画像やテキストなどのオブジェクトの位置は、それぞれの単位仮想現実空間座標で記述されている。それぞれの単位仮想現実空間座標で記述されているオブジェクトの座標位置を、ひとつの連続した仮想現実空間内に表示するために、統一された座標に置き換えて、表示するのである。
【００５７】
以上により、初期状態での仮想現実空間の表示が完了する。
【００５８】
（１．３．２  ユーザの移動に伴う「単位仮想現実空間」の読み込み）
初期状態での仮想現実空間の表示が完了した後、仮想現実空間内のユーザの移動に伴って、ユーザが読み込みされたデータ空間の外に出てしまう前に、ユーザの移動方向に位置する「単位仮想現実空間」を読み込まなければならない。
【００５９】
しかし、ユーザが、読み込み済みのデータ空間の端に到達したときに、新たな単位仮想現実空間の読み込みを開始したのでは、ユーザは、その単位仮想現実空間のデータの読み込まれるのを待たなければならなくなる。
【００６０】
そこで、ユーザの移動方向を検知して（Ｓ６）、新たな単位仮想現実空間のデータの読み込みが必要か否かを判断する（Ｓ７）。必要な場合にはユーザがこれから進入するであろうと予測される単位仮想現実空間はどれなのかを判定し（Ｓ８）、該判定に基づいて必要な単位仮想現実空間のデータを送るよう、ネットワークを介してサーバ群に要求する（Ｓ９）。このとき、該「単位仮想現実空間」の情報が、ネットワーク等を介してサーバ群へ送られる。
【００６１】
この要求に応答して、サーバ群（より詳しくは、サーバ群のうち該単位仮想現実空間のデータを持っているサーバ）が、その仮想現実空間データベースから該単位仮想現実空間のデータを取得して（Ｓ１０）、これをクライアントに送る（Ｓ１１）。
【００６２】
このように、あらかじめ読み込みを開始しておけば、データが読み込まれるのを待つ必要はなくなる。
なお、ユーザの移動方向の判別は、ユーザ位置を含む単位仮想現実空間の中で、どの方向に偏って位置しているかと、ユーザが指示した移動方向のベクトルから判別してもよい。
【００６３】
判別の方法は、クライアントの処理能力に応じて、いろいろと考えられる。いずれの方法を用いても本発明は実施可能であり、ユーザの行動の方向を人工知能的に先読みする方法なども考えられる。ここでは、処理が軽く、実現が容易な方法を例としてあげる。
【００６４】
まず、ユーザ位置の移動方向を検知して、該移動方向に応じて読み込む単位仮想現実空間データを定める方法を説明する。
【００６５】
図９は、二次元仮想現実空間における移動方向に応じて読み込む単位仮想現実空間データを定める方法を説明するための概念図である。
【００６６】
この例では、クライアントが現在読み込み完了している単位仮想現実空間は単位仮想現実空間Ｕ２−２のみであり、該単位仮想現実空間Ｕ２−２は、ユーザ位置Ｐをその内部に有する基準単位仮想現実空間となっている。該基準単位仮想現実空間の隣接単位仮想現実空間はＵ１−１，Ｕ１−２，Ｕ１−３，Ｕ２−１、Ｕ２−３、Ｕ３−１，Ｕ３−２，Ｕ３−３であるが、これら隣接単位仮想現実空間は未だ読み込まれていない。
【００６７】
単位仮想現実空間内には、ユーザ位置Ｐがどの方向に移動したらどの隣接単位仮想現実空間のデータを読め、という記述が格納されている。たとえば、ユーザ位置Ｐが左上方向に移動した場合は単位仮想現実空間Ｕ１−１を読み込め、という記述があり、同様に他の７方向についても同様に記述されている。
【００６８】
図１０は、単位仮想現実空間Ｕ２−２の記述例を示す図である。ヘッダ部には前述の移動方向と読み込むべき単位仮想現実空間の関係が記述されており、ボディ部は該単位仮想現実空間内に配置されるオブジェクトのファイル名、大きさ、単位仮想現実空間座標で表された座標値が記述されている。同様に他のすべての単位仮想現実空間のデータにおいては、ヘッダ部には前述の移動方向と読み込むべき単位仮想現実空間の関係が記述されており、ボディ部は該単位仮想現実空間内に配置されるオブジェクトについて記述されている。
【００６９】
なお、本記述例では、ヘッダ部とボディ部がひとつのデータファイルの中にあわせて記述されている。しかし、必ずしもヘッダ部とボディ部をひとつのファイルにまとめる必要はない。プログラムの効率やデータ格納の効率を考えて、ヘッダ部とボディ部を二つのファイルにわけて記述することも可能である。この場合には、ヘッダ部のファイルに、対応するボディ部のファイルの名前を記述する。また、ヘッダ部のファイルないしボディ部のファイルをさらに必要に応じて複数のファイルにわけて記述することも可能である。こうした例では、複数の互いに対応関係を持つファイル群がまとまって、ひとつの単位仮想空間を記述することになる。
【００７０】
つぎに、ユーザ移動に応じて読み込む単位仮想現実空間データを定める方法の別の例を説明する。
図１１は、ユーザ位置の偏りに応じて読み込む単位仮想現実空間データを定める方法を説明するための概念図である。この例では、正方形の「単位仮想現実空間」で構成される仮想現実空間を考える。この「単位仮想現実空間」はさらに９つの正方形領域ａからｉ(各正方形領域を「ユーザ位置判定のためのブロック」と呼ぶ)に細分化される。また、図中の正方形領域は、単位仮想現実空間を表し、各正方形領域の内部に記載された数字は以下の意味を有する。
【００７１】
「１」は、初期状態で読み込まれている九つの単位仮想現実空間であることを示し、「１」はまた、ブロックｅにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「２」は、ブロックｂにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「３」は、ブロックｈにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「４」は、ブロックｄにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「５」は、ブロックｆにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「６」は、ブロックａにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「７」は、ブロックｃにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「８」は、ブロックｇにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示し、「９」は、ブロックｉにユーザ位置が位置する場合に読み込まれているべき単位仮想現実空間を示す。
【００７２】
ユーザ位置Ｐは、必ずこの９つの「ユーザ位置判定のためのブロック」のいずれかの中に位置している。どの「ブロック」に位置しているかは、ユーザ位置のｘｙｚ座標から容易に判別することができる。
【００７３】
ユーザ位置Ｐが、同一の「ユーザ位置判定のためのブロック」内を移動している間は、新たなデータの読み込みの指示は発生しない。一方、ユーザ位置Ｐが移動に伴って、ある「ユーザ位置判定のためのブロック」から別の「ユーザ位置判定のためのブロック」ヘ移動した時点で、読み込みの指示を発生させる。
【００７４】
それぞれの「ブロック」には、その「ブロック」の中にいる際に、周辺のどこの「単位仮想現実空間」が読み込まれている必要があるかが定められている。
【００７５】
ユーザ位置Ｐの移動に伴って、あるブロック（以下、「ブロック甲」という）から別なブロック（以下、「ブロック乙」という）に移動した場合には、ブロック甲にいる場合に読み込まれていなければならない周辺の「単位仮想現実空間」立方体群と、ブロック乙にいる場合に読み込まれていなければならない周辺の「単位仮想現実空間」立方体群の差分が、移動に伴って新たに読み込まれるべき、「単位仮想現実空間」立方体となる。
【００７６】
図１２は、図１１の例においてユーザ位置がブロックｅからブロックａへ移動した場合に、どの単位仮想現実空間のデータが読み込まれるのかを示す図である。
【００７７】
図中（ａ）は、ブロックａにユーザ位置がある場合に読み込まれているべき単位仮想現実空間、すなわち、図１１中において「６」が記載されている単位仮想現実空間が示されている。（ｂ）はブロックｅにユーザ位置がある場合に読み込まれているべき単位仮想現実空間、すなわち、図１１中において「１」が記載されている単位仮想現実空間が示されている。このときユーザ位置はブロックｅに存在しているので、図中（ｂ）に示される単位仮想現実空間のデータはすでに読み込み済みである。したがって、新たに読み込む必要がある単位仮想現実空間は（ａ）に示される仮想単位空間から（ｂ）に示される仮想単位空間をのぞいたもの（図中、（ｃ））として求めることができる。
【００７８】
なお、差分は、同時に不必要な破棄すべき「単位仮想現実空間」立方体も示すことになるが、実際のデータの破棄の手続きは、次のステップで行なう。
【００７９】
なお、実際には、この方法だけで判定すると、複数のブロックの境目を行ったり来たりしている場合などに、データの読み込み指示が頻繁に出されてしまい、処理が遅くなるケースが考えられる。そこで、ユーザの移動方向が確実なものかを判断するために、あるブロックヘ移動した瞬間に新たなデータの読み込みの指示を出すのではなく、ある程度、ユーザの動きをみてから読み込みの指示を出すなどの対応をする事が好ましい。
【００８０】
再び図８に戻ると、上記図９から図１２に例示されるような判定に基づき、クライアントは、サーバに対して、必要な単位仮想現実空間のデータを送信するように要求する（Ｓ９）。この要求に応答して、サーバ群（より詳しくは、サーバ群のうち該当する単位仮想現実空間のデータを持っているサーバ）が、その仮想現実空間データベースから該単位仮想現実空間のデータを取得して（Ｓ１０）、これをクライアントに送る（Ｓ１１）。
【００８１】
クライアントは、サーバに対して新たな「単位仮想現実空間」送信の要求を出した（Ｓ９）後は、再び、ユーザ位置の移動や画面の表示の処理に戻る（Ｓ１２）。クライアントの「単位仮想現実空間」の要求は瞬時に行なわれるため、クライアントのユーザ位置の移動や画面の表示などの処理が中断されることはない。
さらに、要求にかかる単位仮想現実空間のデータを受け取ると、クライアントはそのデータを読み取って、これらに含まれる座標データをユーザのローカルな座標系に置換し（Ｓ１３）、置換後のデータをメモリに展開する。これらの処理は、ユーザの移動や画面の表示などの処理（Ｓ１２）と並行して行なうことがこのましい。したがって、クライアントはマルチタスク対応可能な装置であることが好ましい。
【００８２】
（１．３．３．  ユーザのローカルなデータ空間座標の再定義）
ユーザは、クライアントの中に設定されたローカルな座標系の中を移動していく。サーバから読み込まれた単位仮想現実空間およびその内部のオブジェクトは前述のように、このローカルな座標系に置換されて配置される。
【００８３】
ユーザがどこまでも、仮想現実空間の中を移動していくと、このローカルな座標の値が徐々に大きい値になってきてしまう。無限に増えつづけるような座標の値を扱うことはコンピュータにとって適切ではない。
【００８４】
そこで、定期的にユーザの現在位置を基準にしてローカル座標系を再定義して、ローカル座標系が、クライアントに同時に読み込まれているデータ空間を定義するのに必要充分な大きさを持っているものであればよいようにする。
【００８５】
単位仮想現実空間が立方体の例では、ユーザ位置Ｐが、ある「単位仮想現実空間」から、隣の「単位仮想現実空間」空間へ移動した時点で、ローカル座標を再定義する方法が考えられる。
【００８６】
（１．３．４．  ユーザの移動に伴う、不要な「単位仮想現実空間」の破棄）
前のステップＳ７からＳ１３で、ユーザの移動に伴い、ユーザが移動していくと考えられる新たな空間の「単位仮想現実空間」の読み込みを行なったが、このままでは、クライアント内に徐々にデータがクライアントのメモリなどに蓄積されていってしまい、クライアントの動作を妨げてしまう。
【００８７】
そこで、たとえばユーザ位置の移動方向と逆方向にある「単位仮想現実空間」データをクライアントの記憶装置から破棄する（Ｓ１４）ことが好ましい。破棄のタイミングは、クライアントの記憶容量に依存するが、可能な限り、データを保持していた方が好ましい。例えば、ユーザの気が変わって、ある方向から来た方向に急に進路を変えて戻ってきたときに、その場所のデータを再び読み込まずにすむからである。
【００８８】
破棄の判断方法の例としては、次のような方法が考えられる。
【００８９】
ユーザの現時点の位置から、ある「単位仮想現実空間」の空間が、特定の距離以上離れてしまっているかどうかを随時判定し、充分な距離離れてしまったことをもって、その位置のデータを破棄する。ここでいう充分な距離とは、クライアントの物理的な制限(容量、画像の表示能力など)から規定されるものである。
【００９０】
また、クライアントの記憶容量が少ないなどの場合には、新たな空間のデータの読み込みと不要な空間のデータの破棄の手順を逆にすることもできる。
【００９１】
上記のようにしてクライアントの記憶装置上に展開された仮想現実空間のデータについて、グラフィックボードなどの画像処理手段により画像生成処理をし、これをＣＲＴ、液晶ディスプレイなどの任意の表示装置に表示してユーザに提供する（Ｓ１５）。
【００９２】
その後、ユーザ位置が移動するに従って、前記Ｓ７からＳ１５の処理が繰り返されることにより、仮想現実空間内でのユーザの連続した移動を実現することが可能となる。
【００９３】
［クライアントの構成例］
次に、図６に示されたクライアント６１０の構成例について説明する。
【００９４】
図１３は、クライアントの機能ブロック図である。
【００９５】
クライアントは、仮想空間データ記憶手段１３０１を有している。この記憶手段１３０１は、サーバから受け取った単位仮想現実空間のデータが蓄積記憶されるとともに、ユーザ位置情報も記憶されている。
【００９６】
ユーザ移動検出手段１３０２は、該記憶手段１３０１からユーザ位置情報を取得して、これを隣接単位仮想空間情報取得判定手段１３０３に送る。該判定手段１３０３は、送られてきたユーザ位置情報から、隣接単位仮想空間のいずれかを読みとる必要が生じたのか否かを判定し、必要と判定した場合は、隣接単位仮想現実空間情報特定手段１３０４に、隣接単位仮想現実空間の特定を行うよう通知する。
【００９７】
通知を受け取った該特定手段１３０４は、所定の方法に従ってどの単位仮想現実空間のデータが必要なのかを判断し、必要となる単位仮想現実空間を取得するためのデータ（たとえば、当該単位仮想現実空間のデータを記憶したファイルのルートパスおよびファイル名、あるいはネットワークにおいてクライアントが使用される場合には、当該単位仮想現実空間のデータを記憶したファイルのＵＲＬ）を取得する。この単位仮想現実空間を取得するためのデータは、単位仮想現実空間のデータ内に、たとえばヘッダ部として格納されているので、これを読み出すことにより取得できる。
【００９８】
単位仮想現実空間を取得するためのデータは、単位仮想空間情報取得手段１３０５に渡される。単位仮想空間情報取得手段１３０５は、該データに基づいて必要となる単位仮想現実空間のデータを該データが記憶されている記憶装置から読み取り、もしくはサーバに該単位仮想現実空間のデータを送信するように要求し、これを受け取る。
【００９９】
該単位仮想現実空間のデータを受け取った単位仮想空間情報取得手段１３０５は、これを記憶手段１３０１に書き込むとともに、座標データ再定義手段１３０６に該記憶手段１３０１に蓄積されている仮想現実空間のデータのうち座標データを該クライアントのローカルな座標に書き換えるよう指示し、再定義手段１３０６は、この座標書き換え演算を行い、演算結果に基づいて記憶手段１３０１に蓄積されている仮想現実空間のデータの書き換えを実行する。
【０１００】
該単位仮想現実空間のデータを受け取った単位仮想空間情報取得手段１３０５はまた、不要単位仮想空間情報消去手段１３０７に、ユーザ位置の移動に伴って該記憶手段１３０１に蓄積されている仮想現実空間のデータのうち不要となったものを消去するように通知する。消去手段１３０７は、該通知に従って不要となった単位仮想空間のデータを単位仮想空間単位で消去する。
【０１０１】
これら単位仮想現実空間のデータの読み込みと並行して、ユーザ位置の処理等の単位仮想現実空間のデータの読み込み以外の処理を並行処理手段１３０８が行い、処理結果を画像処理手段１３０９に渡す。
【０１０２】
また、画像処理手段１３０９は、座標データの置換および不要な単位仮想現実空間の消去が行われた後の仮想現実空間のデータを記憶手段１３０１より受け取る。
【０１０３】
画像処理手段１３０９は、並行処理手段１３０８、記憶手段１３０１より受け取ったデータを処理して画像データを生成し、これを表示装置１３１０に渡す。
【０１０４】
このクライアントの構成によれば、読み込みが必要なデータを、ユーザの移動から予測してこれをあらかじめ読み込んでおくことにより、ユーザにデータ読み込みの間を待たせることなく、仮想現実空間内でのユーザのスムーズな移動を可能とする。
【０１０５】
【発明の効果】
本発明によれば、仮想現実空間内でのユーザ位置の移動に応じて必要な単位仮想現実空間のデータをあらかじめ読み込むようにすることにより、ユーザにデータ読み込みの間を待たせることなく、仮想現実空間内での中断のない連続的な移動を提供することが可能となる。
【図面の簡単な説明】
【図１】  二次元の仮想現実空間の例を示す図である。
【図２】  三次元の仮想現実空間の例を示す図である。
【図３】  二次元の仮想現実空間での初期状態でのデータの読み込み状態を示す概念図である。
【図４】  三次元の仮想現実空間での初期状態でのデータの読み込み状態を示す概念図である。
【図５】  複数の正方形の単位仮想現実空間で構成される場合の二次元仮想現実空間の概念図である。
【図６】  本発明にかかる仮想現実空間を表示するための装置を含むネットワーク・システムの一例を示す概略図である。
【図７】  立方体の単位仮想現実空間で構成された仮想現実空間の一部分を示す図である。
【図８】  仮想現実空間を表示する方法におけるクライアントとサーバ間の処理を示すフローチャートである。
【図９】  二次元仮想現実空間における移動方向に応じて読み込む単位仮想現実空間データを定める方法を説明するための概念図である。
【図１０】  単位仮想現実空間の記述例を示す図である。
【図１１】  ユーザ位置の偏りに応じて読み込む単位仮想現実空間データを定める方法を説明するための概念図である。
【図１２】  図１１の例においてユーザ位置がブロックｅからブロックａへ移動した場合に、どの単位仮想現実空間のデータが読み込まれるのかを示す図である。
【図１３】  クライアントの機能ブロック図である。
【符号の説明】
Ｐ  …  ユーザ位置
Ｕ１、Ｕ２  …  単位仮想現実空間
６１０  …  クライアント
６２０  …  ネットワーク
６３０  …  ユーザ側サーバ
６４０  …  ネットワーク
６５１，６５２，…、６５Ｘ  …  サーバ
Ｃ１，Ｃ２，Ｃ３  …  単位仮想現実空間
Ｕ１−１〜Ｕ３−３  …  単位仮想現実空間
１３０１  …  仮想空間データ記憶手段
１３０２  …  ユーザ移動検出手段
１３０３  …  隣接単位仮想現実空間情報取得判定手段
１３０４  …  隣接単位仮想現実空間情報特定手段
１３０５  …  単位仮想現実空間情報取得手段
１３０６  …  座標データ再定義手段
１３０７  …  不要単位仮想空間情報消去手段
１３０８  …  並行処理手段
１３０９  …  画像処理手段
１３１０  …  表示装置
【図１】
0003779869.tif 000002
【図２】
0003779869.tif 000003
【図３】
0003779869.tif 000004
【図４】
0003779869.tif 000005
【図５】
0003779869.tif 000006
【図６】
0003779869.tif 000007
【図７】
0003779869.tif 000008
【図８】
0003779869.tif 000009
【図９】
0003779869.tif 000010
【図１０】
0003779869.tif 000011
【図１１】
0003779869.tif 000012
【図１２】
0003779869.tif 000013
【図１３】
0003779869.tif 000014