(57)【要約】【課題】空間に固有の情報探索を実現するためのメモリ容量の低減を図る。【解決手段】コンピュータを、それぞれが、単位領域と相似、かつ相似比が２の累乗である複数の小空間に、仮想空間の所定領域を区分した場合における、それぞれの小空間に対応づけられた特徴量を保持したリストであって、インデックスによって探索可能なリストを取得するリスト管理手段として機能させる。（１）着目した相似比でかつ参照点を含む小空間が存在すると仮定した場合における、その小空間のインデックスを求める、（２）求めたインデックスによってリストを探索するという動作を、一回、または着目する相似比を変えて複数回行って、参照点に対応する小空間の特徴量の探索を行う探索手段として機能させる。【選択図】図７
2020095439.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に設定され、格子の単位で各軸の座標値（以下、インデックスという）が定められる座標系における最小単位の領域を単位領域と定義した場合に、
コンピュータを、
それぞれが、前記単位領域と相似、かつ相似比が２の累乗である複数の小空間に、前記仮想空間の所定領域を区分した場合における、それぞれの小空間に対応づけられた特徴量を保持したリストであって、前記インデックスによって探索可能なリストを取得するリスト管理手段と、
前記仮想空間内の参照点に対応する小空間の特徴量を探索する手続として、
（１）着目した相似比でかつ前記参照点を含む小空間が存在すると仮定した場合における、その小空間のインデックスを求める
（２）求めたインデックスによって前記リストを探索する
という動作を、一回、または着目する相似比を変えて複数回行って、前記参照点に対応する小空間の特徴量の探索を行う探索手段と、
して機能させることを特徴とする空間情報探索プログラム。
【請求項２】
請求項１において、
前記探索手段は、着目した相似比が２のｍ乗（ただし、ｍは０以上の整数）の場合において、存在すると仮定した小空間のインデックスとして、前記参照点を含む前記単位領域のインデックスを二進数表記した場合における下位のｍ桁分をゼロにした値を用いることを特徴とする空間情報探索プログラム。
【請求項３】
請求項１または請求項２において、
前記リスト管理手段は、前記仮想空間内の複数の局所領域について別個の前記リストを取得することを特徴とする空間情報探索プログラム。
【請求項４】
請求項１から請求項３の何れかにおいて、
前記仮想空間は、ゲームにおける仮想空間であることを特徴とする空間情報探索プログラム。
【請求項５】
請求項４において、
前記リスト管理手段は、前記ゲームの進行に応じて、前記リストを他のリストに差し替えることを特徴とする空間情報探索プログラム。
【請求項６】
請求項１から請求項５の何れかの空間情報探索プログラムを記憶した記憶部と、
前記空間情報探索プログラムを実行する制御部と、
を備えたことを特徴とする空間情報探索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間情報探索プログラム、および空間情報探索装置に関する。
【背景技術】
【０００２】
ゲームプログラムには、三次元の動画像を用いつつ、より正確な音響表現を試みることで、ユーザに豊かなバーチャル体験を提供するものがある（例えば特許文献１を参照）。特許文献１の例では、より正確な音響表現を行うために、仮想三次元空間内にオブジェクトを配置し、音響シミュレーションをすることで音響信号を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２６７６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、ゲームにおいて音響表現を行うには、仮想空間の所定地点における固有の情報（例えば音の反響度合い、最も近い壁までの距離と方向、天井の高さなど）を要する場合がある。しかしながら、動画像の複雑さが増すにつれて、そのような情報探索を実現するために必要なメモリ容量は多くなりがちである。
【０００５】
そこで、本発明の目的は、空間情報探索プログラム、および空間情報探索装置において、空間に固有の情報探索を実現するためのメモリ容量の低減を図ることにある。
【課題を解決するための手段】
【０００６】
第１の発明は、仮想空間内に設定され、格子の単位で各軸の座標値（以下、インデックスという）が定められる座標系における最小単位の領域を単位領域と定義した場合に、
コンピュータを、
それぞれが、前記単位領域と相似、かつ相似比が２の累乗である複数の小空間に、前記仮想空間の所定領域を区分した場合における、それぞれの小空間に対応づけられた特徴量を保持したリストであって、前記インデックスによって探索可能なリストを取得するリスト管理手段と、
前記仮想空間内の参照点に対応する小空間の特徴量を探索する手続として、
（１）着目した相似比でかつ前記参照点を含む小空間が存在すると仮定した場合における、その小空間のインデックスを求める
（２）求めたインデックスによって前記リストを探索する
という動作を、一回、または着目する相似比を変えて複数回行って、前記参照点に対応する小空間の特徴量の探索を行う探索手段と、
して機能させることを特徴とする空間情報探索プログラムである。
【０００７】
また、第１発明において、前記探索手段は、着目した相似比が２のｍ乗（ただし、ｍは０以上の整数）の場合において、存在すると仮定した小空間のインデックスとして、前記参照点を含む前記単位領域のインデックスを二進数表記した場合における下位のｍ桁分をゼロにした値を用いるとよい。
【０００８】
また、前記発明においては、前記リスト管理手段は、前記仮想空間内の複数の局所領域について別個の前記リストを取得するとよい。
【０００９】
また、前記発明においては、前記仮想空間は、ゲームにおける仮想空間としてもよい。
【００１０】
また、前記発明においては、前記リスト管理手段は、前記ゲームの進行に応じて、前記リストを他のリストに差し替えてもよい。
【００１１】
また、第２の発明は、前記の何れかの空間情報探索プログラムを記憶した記憶部と、前記空間情報探索プログラムを実行する制御部とを備えたことを特徴とする空間情報探索装置である。
【発明の効果】
【００１２】
本発明によれば、空間情報探索プログラム、および空間情報探索装置において、空間に固有の情報探索を実現するためのメモリ容量の低減を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のゲーム装置の構成を示すブロック図である。
【図２】仮想空間に設けられた、建物を表すオブジェクトを示す。
【図３】部屋等を内包するバウンディングボックスを示す。
【図４】バウンディングボックスをボクセルで埋めた状態を示す。
【図５】ボクセルをまとめる工程を例示する。
【図６】仮想空間の所定領域を区分して得た小空間を示す。
【図７】探索手段の探索動作を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
［実施形態］
以下、本発明の実施形態にかかる空間情報探索プログラム、および空間情報探索装置について、図面を参照して説明する。なお、本発明の空間情報探索プログラムは、ゲームプログラムとして実装されている。また、空間情報探索装置は、ゲーム装置として実現されている。
【００１５】
本実施形態で説明するゲームプログラムは、例えば、パーソナルコンピュータ、プレイステーション（登録商標）、ＸＢｏｘ（登録商標）、ＰｌａｙＳｔａｔｉｏｎ  Ｖｉｔａ（登録商標）などのゲーム装置において実行される。
【００１６】
このゲームプログラムによるゲームでは、各ユーザの操作を受けて、プレイヤキャラクタを三次元の仮想ゲーム空間（以下、単に仮想空間という）で活動させたり、プレイヤキャラクタ同士でグループを編成して様々なアクションを行わせたりする。より具体的には、このゲームは、プレイヤキャラクタが敵キャラクタを攻撃して倒していく対戦型のアクションゲームである。
【００１７】
〈ゲーム装置の構成〉
ゲーム装置５は、ユーザの操作に基づいて所定のゲームを実行する。図１は、本実施形態のゲーム装置５の構成を示すブロック図である。ゲーム装置５には、ディスプレイ６１、スピーカ６２およびコントローラ６３が外部接続または内蔵される。ゲーム装置５では、例えば、インストールされたゲームプログラムおよびゲームデータに基づいてゲームが進行する。なお、ゲーム装置５同士も、通信ネットワーク（図示を省略）または近距離無線通信装置（図示せず）を用いて、互いにデータ通信を行うことができる。
【００１８】
ゲーム装置５は、ネットワークインターフェース５１、グラフィック処理部５２、オーディオ処理部５３、操作部５４、記憶部５５および制御部５６を有する。ネットワークインターフェース５１、グラフィック処理部５２、オーディオ処理部５３、操作部５４および記憶部５５は、バス５９を介して制御部５６と電気的に接続されている。
【００１９】
ネットワークインターフェース５１は、例えばゲーム装置５や外部のサーバ装置（図示を省略）との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【００２０】
グラフィック処理部５２は、制御部５６から出力されるゲーム画像情報に従って、プレイヤキャラクタおよびゲーム空間に関する各種オブジェクトを含むゲーム画像（仮想空間を示す画像）を、動画形式で描画する。グラフィック処理部５２はディスプレイ６１と接続されており、動画形式に描画されたゲーム画像は、ゲーム画面としてディスプレイ６１上に表示される。
【００２１】
オーディオ処理部５３は、制御部５６の指示に従ってデジタルのゲーム音声を再生および合成する。オーディオ処理部５３はスピーカ６２と接続されており、再生および合成されたゲーム音声は、スピーカ６２から出力される。
【００２２】
なお、この明細書における、ゲーム音声とは、ゲーム中にスピーカ６２から流れる音声であり、例えば、ＢＧＭ（Background Music）や、ユーザの操作に応じて流れる効果音が挙げられる。また、仮想空間内に配置された種々のアイテム（例えば電話機）が発する音やモンスターの咆号など、種々のオブジェクトが発する音もゲーム音声の一例としてあげられる。更には、洞窟内の水たまりに天井から落ちてくる水滴の音、洞窟において入口から出口に向かう風の音、町の雑踏の音（通行人の声や付近を通過する自動車の音等）、森や草原に吹く風の音等の環境音もゲーム音声の一例である。
【００２３】
操作部５４は、コントローラ６３と接続され、操作入力に関するデータをコントローラ６３との間で送受信する。例えば、ユーザは、コントローラ６３に設けられたボタン等の操作子（図示略）を操作することにより、ゲーム装置５に操作信号を入力する。
【００２４】
記憶部５５は、ＨＤＤ、ＲＡＭおよびＲＯＭ等で構成される。記憶部５５は、ゲームプログラムおよびゲームデータを記憶することができる。また、記憶部５５には、他のゲーム装置５から受信した他アカウント情報なども記憶される。
【００２５】
制御部５６は、ＣＰＵおよび半導体メモリを含むマイクロコンピュータで構成され、ゲーム装置５自身の動作を制御する。例えば、制御部５６は、前記ゲームプログラムを実行することにより、グラフィック処理部５２およびオーディオ処理部５３を動作させる。
【００２６】
〈制御部の機能的構成〉
制御部５６は、ゲームプログラムを実行することにより、リスト管理手段５６１、及び探索手段５６２として機能する。
【００２７】
−リスト管理手段５６１−
リスト管理手段５６１は、仮想空間内の所定の地点における特徴量を探索するためのリスト（以下、特徴量リストという）を取得する。特徴量は、例えば、その地点における音の反響度合いや、その位置に存在するオブジェクト（例えば壁）を特定する情報などである。プレイヤキャラクタから最も近い壁までの距離や方向の情報、天井の高さの情報なども特徴量の一例である。
【００２８】
リスト管理手段５６１が取得する特徴量リストは、本実施形態では予め作成されて、データとしてゲームプログラムの本体（コード部分）に含まれる。特徴量リストは、ゲームが開始されると、リスト管理手段５６１によって、その一部または全部が記憶部５５に読み込まれる。以下では、まず、特徴量リストの作成（実装）について説明する。
【００２９】
特徴量リストを作成するには、まず、仮想空間内の所定の局所領域（例えば建物のオブジェクトが設けられた領域）を複数の小空間に区分する。それぞれの小空間には、特徴量が対応づけられている。以下では、一例として、仮想空間ＶＳに設けられた、建物を表すオブジェクトを小空間で区分する例を説明する。
【００３０】
図２は、仮想空間ＶＳに設けられた、建物を表すオブジェクトを示している。この建物のオブジェクトは、壁によって仮想空間ＶＳを複数の三次元の領域（部屋）に区分している。この例では、建物の床は、Ｘ−Ｚ平面に平行であり、床に垂直な方向がＹ軸である。
【００３１】
この建物は、１階と２階の２層構造であり、合計４つの領域がある。１階は、１つの縦長の廊下（領域）と１つの正方形の部屋（領域）で構成されている。また、２階も１つの縦長の廊下と１つの正方形の部屋で構成されている。すなわち、１階と２階とは、高さ方向の位置が異なっているが、構造は同じである。この建物は、以下の処理をコンピュータに実行させることで、小空間に区分される。
【００３２】
まず、仮想空間ＶＳに構築された複数の三次元の領域（部屋或いは廊下、以下、部屋等という）を示す情報を取得する。次に、ひとつの領域の全体を内包する、最小の立体であるバウンディングボックスを領域ごとに求める（図３を参照）。
【００３３】
バウンディングボックスには、例えば、いわゆる、軸平行境界ボックス(AABB:Axis-Aligned Bounding Box）を採用できる。この建物のオブジェクトには４つ領域があるので、図３に示すように、４つのバウンディングボックスＢ１〜Ｂ４が定められる。
【００３４】
次に、それぞれのバウンディングボックスＢ１〜Ｂ４を、所定サイズのボクセル（voxel）を並べて埋め尽くす（図４参照）。この例では、それぞれのボクセルは、いわゆる軸平行境界ボックスである。これらのボクセルの大きさ（一辺の長さ）は、任意であるが、一例として、仮想空間ＶＳにおける人の足サイズに合わせることが考えられる。
【００３５】
次に、各領域のそれぞれに対して、複数個のボクセルをまとめて、新たな立体を作るという作業を行う。詳しくは、新たな立体の形状が、ボクセルと相似、かつ相似比が２のｋ乗（ただしｋは正整数）となるように、対象の領域における所定個数のボクセルをまとめて新たな立体（以下、合成立体という）を得る動作（以下、合成動作という）を行う。この合成動作は、まとめられるボクセルが対象の領域からなくなるまで繰り返す。
【００３６】
図５にボクセルをまとめる工程を例示する。図５は、図２の建物とは別の例であり、説明の便宜のためＸ−Ｚ平面を表示してある。この領域Ｄには、５×２×３個のボクセル（以下、参照符合を付してボクセルＶとする）が存在する。詳しくは、領域Ｄには、Ｘ−Ｚ平面で見て５×３個のボクセルＶが並び（図５の（Ａ）参照）、これらがＹ軸方向に２段積み重ねられている。
【００３７】
この実施形態では、それぞれの合成動作において、合成立体の大きさが最大となるように相似比を決めている。これを踏まえて領域Ｄを見ると、この領域では、相似比が４（＝２２、すなわち、ｋ＝２）の合成立体を作ることができない。一方、相似比が２（＝２１、すなわちｋ＝１）の合成立体であれば、作ることができる。よって、領域Ｄでは、相似比が２（＝２１、すなわちｋ＝１）の合成立体が最大である。
【００３８】
そして、この例では、Ｘ−Ｚ平面における原点に近い側から順に、相似比が２の合成立体ＳＧを２つ確保できる（図５の（Ｂ）を参照）。相似比が２の合成立体を２つ確保すると、対象の領域において、まとめられずに残っているボクセルＶは、Ｘ軸、Ｚ軸の何れの方向においても、最も狭い部分ではボクセル１つ分の幅しかない。
【００３９】
したがって、この段階では最大の相似比が１（＝２0）であり、対象の領域には、まとめられるボクセルＶは残っていない（図５の（Ｂ）を参照）。よって、領域Ｄにおける合成動作は終了である。これにより、仮想空間ＶＳの所定領域（例えば建物のオブジェクト）は、それぞれが、ボクセルＶと相似、かつ相似比が２の累乗（ただし、冪指数は０以上の整数）である複数の小空間に区分される。
【００４０】
仮想空間ＶＳには、これらの小空間の位置を特定するために、ボクセルを基準とした座標系（グリッド座標系と命名する）が定義されている。グリッド座標系では、各軸は、ボクセルの辺に沿っていて、ボクセルの一辺の長さを単位として格子（グリッド）が規定されている。また、グリッド座標系の原点は、何れかのボクセルの頂点と一致している。
【００４１】
このグリッド座標系では、各軸の座標値（以下、インデックスという）は、格子（グリッド）の単位で定められている。そのため、グリッド座標系では、座標値（インデックス）は、整数値である。そして、ボクセルは、グリッド座標系における最小単位の領域（以下、単位領域という）である。
【００４２】
それぞれの小空間の特徴量を実装するデータ構造としては、例えば木構造の採用が考えられる。木構造のデータで小空間の特徴量を管理するには、木を構成する各ノードに特徴量を格納すればよい。例えば、図５の例は、３次元の小空間の集合なので、木構造として八分木で特徴量を表現できる。所定の小空間の特徴量は、木をルートから順に辿ることで取得できる。
【００４３】
しかしながら、木構造のデータでは、各ノードに、他のノードを参照できるように変数（ポインター等）を設ける必要がある。そのため、小空間の数が多くなると、ポインター等のために必要なメモリの容量も増加する。また、木の深さによっては、ポインターを辿る操作（探索）に多くの時間がかかってしまう場合がある。
【００４４】
そこで、このゲームプログラムでは、各小空間の特徴量は、マップ構造のデータとしてリスト管理手段５６１に保持されている。より具体的に、本実施形態の特徴量リストは、小空間のインデックスによって情報にアクセスできるように構成された連想配列（例えばいわゆるHash Map）によって実装されている。
【００４５】
−探索手段５６２−
探索手段５６２は、クエリーとして与えられた仮想空間ＶＳ内の点（以下、参照点Ｒという）に対応する小空間の特徴量を特徴量リストから探索する。参照点Ｒは、仮想空間ＶＳ内の任意の点であり、その位置は、グリッド座標系とは異なる座標系を用いて特定されている。
【００４６】
具体的に、仮想空間ＶＳには、３次元の直交座標系（以下、説明の便宜のため、ワールド座標系という）が定義されている。ワールド座標系では、座標値は実数値である。ワールド座標系における長さ（距離）の尺度に、どのような意味を与えるかは任意である。例えば、ワールド座標系における距離１．０に現実世界の１．０メートルを対応させて、仮想空間ＶＳのオブジェクトを構成することなどが考えられる。
【００４７】
そして、探索手段５６２は、参照点Ｒに対応する小空間の特徴量を探索する手続として、
（１）着目した相似比でかつ参照点Ｒを含む小空間が存在すると仮定した場合における、その小空間のインデックス（以下、仮インデックスという）を求める、
（２）求めた仮インデックスによって特徴量リストを探索する、
という動作を、一回、または着目する相似比を変えて複数回行って、参照点に対応する小空間の特徴量の探索を行う。以下、これを詳しく説明する。
【００４８】
探索手段５６２は、座標軸毎に次の式１を用いて、仮インデックスを算出する。
【００４９】
ｉｔｅｍｐ＝ｉ＆（−１<<（ｎ−１））  ・・・・（式１）
式１において、左辺の「ｉｔｅｍｐ」が求めるべき仮インデックスである。また、式１における「ｎ」は、着目した相似比を２の（ｎ−１）乗（ただし、ｎは１以上の整数）としたときの「ｎ」である。
【００５０】
また、右辺の「ｉ」は、参照点Ｒを含む単位領域（ボクセル）のインデックス(以下、基準インデックスという)である。基準インデックスは、座標軸毎に、次の式２で求めた値を超えない最大の整数として算出することができる。
【００５１】
（α−β）／Ｌ  ・・・・（式２）
ただし、式２において、αは参照点Ｒのワールド座標系における座標値、βは２つの座標系の原点同士のオフセット、Ｌはボクセルの１辺の長さ（換言すると格子の間隔）である。α、β、Ｌは、何れも着目した座標軸（ｘ，ｙ，ｚ軸の何れか）についての値である。なお、式２におけるオフセットは、ワールド座標系における尺度で表す。
【００５２】
また、式１の「＆」や「<<」は演算子である。「＆」は、２項演算子であり、「＆」による演算では、２つの二進数の同じ位置のビット毎にＡＮＤ演算を行って得た二進数を出力する。「<<」は、いわゆるシフト演算子であり、同演算子の右側のパラメータで示される数だけ、同演算子の左側のパラメータ（二進数で表されたもの）を左方向にシフトさせる。
【００５３】
以上から、式１は、参照点Ｒを含む単位領域（ボクセル）のインデックス（すなわち基準インデックス）を二進数表記した場合における下位のｍ桁分（ただしｍ＝ｎ−１）をゼロにクリアにした値を、仮インデックスとすることを示している。なお、ｍ＝０の場合には、クリアされる桁が無ことを意味する。
【００５４】
以上のようにして、仮インデックスが求まると、探索手段５６２は、その仮インデックスを用いて、特徴量リストを探索する。以下では、具体例を用いて、探索手段５６２の探索動作を説明する。
【００５５】
〈探索動作〉
探索手段５６２の探索動作（特徴量を探索する手続）を、図６を用いて説明する。図６は、仮想空間ＶＳの所定領域（例えば建物のオブジェクト）を区分して得た小空間を示す。探索動作の説明に際しては、次を仮定する。
【００５６】
以下では、ワールド座標系の座標を表す場合には、座標の先頭に「ｐ」を付けて、例えば、ｐ（ｘ１，ｙ１，ｚ１）のように記載し、グリッド座標系における座標を表す場合には、座標の先頭に「ｖ」を付けて、ｖ（ｘ２，ｙ２，ｚ２）のように記載する。
【００５７】
また、単位領域（ボクセル）は、立方体とする。ボクセルの一辺の長さはワールド座標系の尺度で０．２５である。また、グリッド座標系の原点の位置は、図６に示すように、ワールド座標系の（１．２，０．３，１．３）の位置にある。したがって、２つの座標系のオフセットは、（１．２，０．３，１．３）である。また、互いに対応する座標軸（ｘ軸，ｙ軸，ｚ軸とする）は平行であるものとする。
【００５８】
また、インデックスの値は、符合無し８ビットの二進数で表せる範囲であるものとする。なお、以下では、二進数を表記する場合には、数字の末尾にアルファベットの「ｂ」を付す。例えば、十進数の５は、二進数では０００００１０１ｂと記載する。
【００５９】
参照点Ｒの座標は、ｐ（２．４５，１．０５，１．３）とする。２つの座標系のオフセットは、（１．２，０．３，１．３）なので、参照点Ｒに対応する基準インデックスは、ｖ（５，３，０）となる（式２参照）。以上の仮定の下で、参照点Ｒに対応する小空間の特徴量を探索する動作を説明する。
【００６０】
図７に、探索手段５６２の探索動作を説明するフローチャートを示す。図７に示すステップＳ０１では、着目する相似比の初期値を設定する。ここでは、相似比＝２（ｎ−１）＝１としている。すなわち、ｎ＝１である。
【００６１】
ステップＳ０２では、探索手段５６２は、着目した相似比でかつ参照点Ｒを含む小空間が存在すると仮定した場合における、その小空間のインデックス（すなわち仮インデックス）を求める。具体的に、探索手段５６２は、式１を用いて仮インデックスを算出する。
【００６２】
式１における「−１」（十進数）の二進数表記は１１１１１１１１ｂであり、ｎ−１＝１−１＝０なので、相似比＝１の場合の式１は、
ｉｔｅｍｐ＝ｉ＆１１１１１１１１ｂ
となる。この式では、＆演算子の右側のパラメータは全ビットが１なので、仮インデックスは、基準インデックスと同一のｖ（５，３，０）となる。
【００６３】
ステップＳ０３では、探索手段５６２は、ステップＳ０２で求めた仮インデックスに基づいて特徴量リストを探索する。相似比＝１の場合には、特徴量リストの探索は、参照点Ｒを含む、ボクセルと同サイズの小領域が存在するか否かを探索していることに相当する。この探索によって、仮インデックスに対応した要素（特徴量）が見つかった場合には、探索手段５６２は、それを出力する（ステップＳ０４，Ｓ０５参照）。
【００６４】
一方、仮インデックスに対応した特徴量が見つからなかった場合には、探索手段５６２は、仮インデックスを操作して、再度、探索を行う。具体的には、探索手段５６２は、相似比を一段階大きくする（ステップＳ０６参照）。現段階では、相似比＝２（２−１）＝２に変更する。すなわちｎ＝２である。
【００６５】
次に、探索手段５６２は、存在する小空間の内で最大のものの相似比（最大相似比）を、新たな相似比が越えているかどうかを判断する（ステップＳ０７参照）。新たな相似比が最大相似比を越えている場合には、参照点Ｒに対応した特徴量が見つからなかった場合の処理（例えばエラー処理など）を行う（ステップＳ０８参照）。
【００６６】
一方、新たな相似比が最大相似比を越えていない場合には、探索手段５６２は、着目するインデックスを式１によって再計算する（ステップＳ０２参照）。ｎ＝２の場合における式１は、
ｉｔｅｍｐ＝ｉ＆１１１１１１１０ｂ
となる。
【００６７】
この例では、基準インデックスは、ｖ（５，３，０）であるので、例えば、ｘ座標の５（二進数表記では０００００１０１ｂ）についてこの式を適用すると、
ｉｔｅｍｐ＝０００００１０１ｂ＆１１１１１１１０ｂ
＝０００００１００ｂ
となる。
【００６８】
すなわち、ｘ軸の仮インデックスは４である。同様にして、ｙ軸，ｚ軸についても式１を用いて計算を行うことで、ｎ＝２の場合における仮インデックスは、ｖ（４，２，０）となることが分かる。この仮インデックスも、特徴量リストの探索に用いられる。以降は、目的の特徴量が見つかるか、または特徴量リストを探索し尽くすまで、従前の説明と同様にして、探索手段５６２が動作する。
【００６９】
以上をまとめると、本件発明は、仮想空間内に設定され、格子の単位で各軸の座標値（以下、インデックスという）が定められる座標系における最小単位の領域を単位領域と定義した場合に、
コンピュータ（ゲーム装置５）を、それぞれが、前記単位領域と相似、かつ相似比が２の累乗である複数の小空間に、前記仮想空間の所定領域を区分した場合における、それぞれの小空間に対応づけられた特徴量を保持したリストであって、前記インデックスによって探索可能なリストを取得するリスト管理手段（制御部５６）と、
前記仮想空間内の参照点に対応する小空間の特徴量を探索する手続として、
（１）着目した相似比でかつ前記参照点を含む小空間が存在すると仮定した場合における、その小空間のインデックスを求める
（２）求めたインデックスによって前記リストを探索する
という動作を、一回、または着目する相似比を変えて複数回行って、前記参照点に対応する小空間の特徴量の探索を行う探索手段（制御部５６）として機能させることを特徴とする空間情報探索プログラムである。
【００７０】
〈本実施形態の効果〉
以上のように、本実施形態では、小空間のインデックスによって情報にアクセスできるように構成された特徴量リストによって特徴量が管理されている。この特徴量リストは、情報の探索に、木構造のデータのようなポインターを必要としない。したがって、本実施形態によれば、空間情報探索プログラム、および空間情報探索装置において、空間に固有の情報探索を実現するためのメモリ容量の低減を図ることができる。
【００７１】
また、木構造を順にたどってデータを探索する場合と比べ、情報量が増えても、より高速な探索が可能になる。
【００７２】
［その他の実施形態］
なお、探索中にインデックスを操作する場合（ステップＳ０６参照）には、初期値を１として相似比を段階的に増加させる代わりに、最大相似比を初期値とし、そこから相似比を段階的に小さくしてもよい。
【００７３】
また、仮想空間の次元や小空間の次元は、例示した三次元には限定されない。例えば、三次元の仮想空間を二次元の小空間で区分してもよい。二次元の小空間は、建物の床における特徴量を規定するため等に利用できる。
【００７４】
また、仮想空間内のオブジェクトがゲームの進行に応じて変形する場合（例えば壁の一部が壊れてしまう場合など）には、それぞれの変形状態に対応する特徴量リストを予め用意しておくとよい。そして、所定領域についての特徴量リストを、オブジェクトの変形に応じて、予め構築された他の特徴量リストに差し替えさせるようにするとよい。
【００７５】
また、特徴量リストは、ゲーム中に、リアルタイムに構築してもよい。
【００７６】
また、特徴量として挙げた、音の反響度合等は例示であって、どのような情報を特徴量とするかは任意である。
【００７７】
また、ゲームプログラムは、いわゆるオンラインゲーム用のゲームプログラムとして実装してもよい。ゲームプログラムがオンラインゲーム用である場合には、制御部５６で行っていた処理をそれらに代わってサーバ側で行ってもよいし、サーバ側とクライアント（ゲーム装置５）側とで分担してもよい。また、特徴量リストの一部または全部をサーバ側で保持するようにしてもよい。
【００７８】
また、前記特徴量リストに基づく探索は、適用するゲームの種類に限定はないし、ゲームプログラム以外に適用してもよい。例えば、映画に音響効果を付すプログラムや装置にも応用できる。
【００７９】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【符号の説明】
【００８０】
５      ゲーム装置（空間情報探索装置）
５６      制御部
５６１      リスト管理手
５６２      探索手段
Ｖ      ボクセル(単位領域)
ＶＳ      仮想空間
【図１】
2020095439.tif 000003
【図２】
2020095439.tif 000004
【図３】
2020095439.tif 000005
【図４】
2020095439.tif 000006
【図５】
2020095439.tif 000007
【図６】
2020095439.tif 000008
【図７】
2020095439.tif 000009