(57)【要約】【課題】音響表現にかかるオブジェクトの位置特定を高速に行えるようにする。【解決手段】コンピュータを、仮想空間内の仮想の音源として設定されている音源オブジェクトが発した音として音声データを再生する再生手段と、前記仮想空間内の所定領域に含まれる小領域の位置情報を有する四分木を探索することによって、音源オブジェクトの位置を特定する位置特定手段として機能させる。再生手段には、位置特定手段による位置の特定結果に応じて、音声データの加工を行わせる。【選択図】図１０
2020018620.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
仮想空間内の仮想の音源として設定されている音源オブジェクトが発した音として音声データを再生する再生手段と、
前記仮想空間内の所定領域に含まれる小領域の位置情報を有する四分木を探索することによって、前記音源オブジェクトの位置を特定する位置特定手段と、
して機能させ、
前記再生手段に、前記位置特定手段による位置の特定結果に応じて、前記音声データの加工を行わせることを特徴とする仮想空間における音声生成プログラム。
【請求項２】
請求項１において、
前記コンピュータに、
所定の前記領域についての前記四分木を、ゲームの進行に応じて、予め構築された他の四分木に差し替えさせることを特徴とする仮想空間における音声生成プログラム。
【請求項３】
請求項１または請求項２において、
前記コンピュータに、
前記四分木を、ゲームの進行中に、新規に構築または再構築させることを特徴とする仮想空間における音声生成プログラム。
【請求項４】
請求項１から請求項３の何れかにおいて、
前記再生手段は、音声データの加工が可能な信号処理系統を複数設けて、前記信号処理系統を単独または階層的に繋いで前記音声データを処理する機能を有しており、
前記コンピュータに、
前記仮想空間における前記音声データの伝播経路に対応して、前記音声データまたは何れかの前記信号処理系統で処理された音声データを、前記信号処理系統に振り分けて、それぞれの信号処理系統に前記加工を行わせることを特徴とする仮想空間における音声生成プログラム。
【請求項５】
請求項４において、
前記領域は、建物を表すオブジェクトが備える壁によって区分された空間であり、
前記伝播経路は、前記壁を透過して伝播する音の伝播経路、前記壁に形成された開口から漏れ出て伝播する音の伝播経路、および前記音源オブジェクトから直接的に伝播する音の伝播経路の何れかであることを特徴とする仮想空間における音声生成プログラム。
【請求項６】
仮想空間に構築された複数の三次元の領域を示す情報を取得するステップと、
ひとつの前記領域の全体を内包する立体であるバウンディングボックスを前記領域毎に求めるステップと、
三次元形状の立体であるボクセルを複数個並べて、各バウンディングボックスを埋め尽くすステップと、
前記仮想空間の上下方向に対応する座標軸の方向において、最も下層に位置するボクセルを残して他のボクセルを取り除くステップと、
前記領域のそれぞれに対して行うステップであって、前記座標軸の方向から見た平面形状が、同方向から見た前記ボクセルの平面形状と相似、かつ相似比が２のべき乗となるように、対象の領域に対応する所定個数の前記ボクセルをまとめて合成立体を得る動作を、まとめられる前記ボクセルが対象の領域からなくなるまで繰り返すステップと、
前記合成立体、およびまとめられずに残った前記ボクセルに基づいて、前記領域を表す四分木のグリッドを構築するステップと、
を含むことを特徴とする四分木の生成方法。
【請求項７】
請求項６において、
前記座標軸の方向における座標値に基づいて、前記四分木のグリッドのクラスタリングを行って階層化するステップを含むことを特徴とする四分木の生成方法。
【請求項８】
請求項１から請求項５の何れかの、仮想空間における音声生成プログラムを記憶した記憶部と、
前記仮想空間における音声生成プログラムを実行する制御部と、
を備えたことを特徴とする音声生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間における音声生成プログラム、四分木の生成方法、および音声生成装置に関する。
【背景技術】
【０００２】
近年のゲームプログラムでは、三次元の動画像を用いつつ、より正確な音響表現を試みることで、ユーザに豊かなバーチャル体験を提供している（例えば特許文献１を参照）。特許文献１の例では、より正確な音響表現を行うために、仮想三次元空間内にオブジェクトを配置し、音響シミュレーションをすることで音響信号を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２６７６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のような音響表現を行うには、まず、音源やリスナーの位置を特定する必要がある。しかしながら、動画像の複雑さが増すにつれて、音源やリスナーの位置を特定するためのＣＰＵの占有時間も増大傾向にある。
【０００５】
そこで、本発明は、音響表現にかかるオブジェクトの位置特定を高速に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、コンピュータを、仮想空間内の仮想の音源として設定されている音源オブジェクトが発した音として音声データを再生する再生手段と、前記仮想空間内の所定領域に含まれる小領域の位置情報を有する四分木を探索することによって、前記音源オブジェクトの位置を特定する位置特定手段として機能させ、前記再生手段に、前記位置特定手段による位置の特定結果に応じて、前記音声データの加工を行わせることを特徴とする仮想空間における音声生成プログラムである。
【０００７】
また、前記発明において、前記コンピュータに、所定の前記領域についての前記四分木を、ゲームの進行に応じて、予め構築された他の四分木に差し替えさせるようにしてもよい。
【０００８】
また、前記発明において、前記コンピュータに、前記四分木を、ゲームの進行中に、新規に構築または再構築させるようにしてもよい。
【０００９】
また、前記発明において、前記再生手段は、音声データの加工が可能な信号処理系統を複数設けて、前記信号処理系統を単独または階層的に繋いで前記音声データを処理する機能を有しており、前記コンピュータに、前記仮想空間における前記音声データの伝播経路に対応して、前記音声データまたは何れかの前記信号処理系統で処理された音声データを、前記信号処理系統に振り分けて、それぞれの信号処理系統に前記加工を行わせるようにしてもよい。
【００１０】
また、前記発明において、前記領域は、建物を表すオブジェクトが備える壁によって区分された空間であり、前記伝播経路は、前記壁を透過して伝播する音の伝播経路、前記壁に形成された開口から漏れ出て伝播する音の伝播経路、および前記音源オブジェクトから直接的に伝播する音の伝播経路の何れかとしてもよい。
【００１１】
また、第２の発明は、仮想空間に構築された複数の三次元の領域を示す情報を取得するステップと、ひとつの前記領域の全体を内包する立体であるバウンディングボックスを前記領域毎に求めるステップと、三次元形状の立体であるボクセルを複数個並べて、各バウンディングボックスを埋め尽くすステップと、前記仮想空間の上下方向に対応する座標軸の方向において、最も下層に位置するボクセルを残して他のボクセルを取り除くステップと、前記領域のそれぞれに対して行うステップであって、前記座標軸の方向から見た平面形状が、同方向から見た前記ボクセルの平面形状と相似、かつ相似比が２のべき乗となるように、対象の領域に対応する所定個数の前記ボクセルをまとめて合成立体を得る動作を、まとめられる前記ボクセルが対象の領域からなくなるまで繰り返すステップと、前記合成立体、およびまとめられずに残った前記ボクセルに基づいて、前記領域を表す四分木のグリッドを構築するステップとを含むことを特徴とする四分木の生成方法である。
【００１２】
また、前記発明において、前記座標軸の方向における座標値に基づいて、前記四分木のグリッドのクラスタリングを行って階層化するステップを含むようにしてもよい。
【００１３】
また、第３の発明は、前記の何れかの仮想空間における音声生成プログラムを記憶した記憶部と、前記ゲームプログラムを実行する制御部とを備えたことを特徴とする音声生成装置である。
【発明の効果】
【００１４】
本発明によれば、音響表現にかかるオブジェクトの位置特定を高速に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態のゲーム装置の構成を示すブロック図である。
【図２】仮想空間に設けられた、建物を表すオブジェクトを示す。
【図３】部屋等を内包するバウンディングボックスを示す。
【図４】バウンディングボックス間のオーバーラップ部分を示す。
【図５】バウンディングボックスをボクセルで埋めた状態を示す。
【図６】領域の表面と接触するボクセルを示す。
【図７】オーバーラップ部分と接触するボクセルを示す。
【図８】各領域に対応したフロアグリッドを示す。
【図９】フロアグリッドをまとめる工程を例示する。
【図１０】図２の建物にかかる四分木グリッドを示す。
【図１１】四分木グリッドのクラスタリング過程を示す。
【図１２】バスの構成を模式的に示すブロック図である。
【図１３】仮想空間に設けられた、建物のオブジェクトの一部を平面的に示す。
【図１４】バスの階層構造を例示する。
【発明を実施するための形態】
【００１６】
［実施形態］
以下、本発明の実施形態にかかる仮想空間における音声生成プログラム、四分木の生成方法、および音声生成装置について、図面を参照して説明する。なお、本発明の仮想空間における音声生成プログラムは、ゲームプログラムとして実装されている。また、音声生成装置は、ゲーム装置として実現されている。
【００１７】
本実施形態で説明するゲームプログラムは、例えば、パーソナルコンピュータ、プレイステーション（登録商標）、ＸＢｏｘ（登録商標）、ＰｌａｙＳｔａｔｉｏｎ  Ｖｉｔａ（登録商標）などのゲーム装置において実行される。
【００１８】
このゲームプログラムによるゲームでは、各ユーザの操作を受けて、プレイヤキャラクタを三次元の仮想ゲーム空間（以下、単に仮想空間という）で活動させたり、プレイヤキャラクタ同士でグループを編成して様々なアクションを行わせたりする。より具体的には、このゲームは、プレイヤキャラクタが敵キャラクタを攻撃して倒していく対戦型のアクションゲームである。
【００１９】
〈ゲーム装置の構成〉
ゲーム装置５は、ユーザの操作に基づいて所定のゲームを実行する。図１は、本実施形態のゲーム装置５の構成を示すブロック図である。ゲーム装置５には、ディスプレイ６１、スピーカ６２およびコントローラ６３が外部接続または内蔵される。ゲーム装置５では、例えば、インストールされたゲームプログラムおよびゲームデータに基づいてゲームが進行する。なお、ゲーム装置５同士も、通信ネットワーク（図示を省略）または近距離無線通信装置（図示せず）を用いて、互いにデータ通信を行うことができる。
【００２０】
ゲーム装置５は、ネットワークインターフェース５１、グラフィック処理部５２、オーディオ処理部５３、操作部５４、記憶部５５および制御部５６を有する。ネットワークインターフェース５１、グラフィック処理部５２、オーディオ処理部５３、操作部５４および記憶部５５は、バス５９を介して制御部５６と電気的に接続されている。
【００２１】
ネットワークインターフェース５１は、例えばゲーム装置５や外部のサーバ装置（図示を省略）との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【００２２】
グラフィック処理部５２は、制御部５６から出力されるゲーム画像情報に従って、プレイヤキャラクタおよび仮想空間に関する各種オブジェクトを含むゲーム画像を、動画形式で描画する。グラフィック処理部５２はディスプレイ６１と接続されており、動画形式に描画されたゲーム画像は、ゲーム画面としてディスプレイ６１上に表示される。
【００２３】
このゲームプログラムの下では、ゲーム画像を構築する際に、グラフィック処理部５２は、ユーザの視点として仮想のカメラ（以下、仮想カメラＶＣ）を仮想空間に設定する。グラフィック処理部５２は、あたかも、仮想カメラＶＣで仮想空間内を撮影したかのように、３Ｄ（三次元）の映像（動画像）を構成してディスプレイ６１に表示する。
【００２４】
オーディオ処理部５３は、制御部５６の指示に従ってデジタルのゲーム音声を再生および合成する。オーディオ処理部５３は、スピーカ６２と接続されており、再生および合成されたゲーム音声は、アナログ信号に変換されたのちにスピーカ６２から出力される。
【００２５】
操作部５４は、コントローラ６３と接続され、操作入力に関するデータをコントローラ６３との間で送受信する。例えば、ユーザは、コントローラ６３に設けられたボタン等の操作子（図示略）を操作することにより、ゲーム装置５に操作信号を入力する。
【００２６】
記憶部５５は、ＨＤＤ、ＲＡＭおよびＲＯＭ等で構成される。記憶部５５は、ゲームプログラムおよびゲームデータを記憶することができる。また、記憶部５５には、他のゲーム装置５から受信した他アカウント情報なども記憶される。
【００２７】
制御部５６は、ＣＰＵおよび半導体メモリを含むマイクロコンピュータで構成され、自装置５の動作を制御する。例えば、制御部５６は、前記ゲームプログラムを実行することにより、グラフィック処理部５２およびオーディオ処理部５３を動作させる。
【００２８】
また、制御部５６は、後述の音響表現をサポートするために、仮想空間内の仮想の音源と、プレイヤキャラクタ（あるいは後述の仮想マイクＬ）との位置関係を特定する機能を有している。以下、この機能について詳述する。
【００２９】
〈制御部の詳細〉
このゲームプログラムの下では、制御部５６は、プレイヤキャラクタ等の位置特定のために、階層型の四分木を用いる。四分木は、仮想空間内の所定領域に含まれる小領域の位置情報を有したデータである。このゲームプログラムでは、階層型の四分木は、予め構築されて、ゲームプログラムのデータとして組み込まれている。以下では、まず、四分木の構築方法を、具体例を用いて説明する。
【００３０】
図２は、仮想空間ＶＳに設けられた、建物を表すオブジェクトを示している。この建物のオブジェクトは、壁によって仮想空間ＶＳを複数の三次元の領域（部屋）に区分している。この例では、建物の床は、Ｘ−Ｚ平面に平行である。すなわち、この建物では、床に垂直な方向がＹ軸である。
【００３１】
この建物は、１階と２階の２層構造であり、合計４つの領域がある。１階は、１つの縦長の廊下（領域）と１つの正方形の部屋（領域）で構成されている。また、２階も１つの縦長の廊下と１つの正方形の部屋で構成されている。すなわち、１階と２階とは、高さが異なっているが、構造は同じである。この建物に対して四分木を構築するには、以下のステップをコンピュータに実行させる。
【００３２】
ステップ１：
この建物のオブジェクトについて四分木を構築するには、まず、プレイヤキャラクタが動作する仮想空間ＶＳに構築された複数の三次元の領域（部屋或いは廊下、以下、部屋等という）を示す情報を取得する。次に、ひとつの領域の全体を内包する、最小の立体であるバウンディングボックスを領域ごとに求める（図３を参照）。
【００３３】
バウンディングボックスには、例えば、いわゆる、軸平行境界ボックス(AABB:Axis-Aligned Bounding Box）を採用できる。この建物のオブジェクトには４つ領域があるので、図３に示すように、４つのバウンディングボックスＢ１〜Ｂ４が求められる。
【００３４】
ステップ２：
次に、バウンディングボックスＢ１〜Ｂ４間のオーバーラップ部分Ｏｖを取得する（図４参照）。この例では、１階と２階の境界がオーバーラップ部分Ｏｖである。
【００３５】
ステップ３：
次に、それぞれのバウンディングボックスＢ１〜Ｂ４を、所定サイズのボクセル（voxel）を並べて埋め尽くす（図５参照）。それぞれのボクセルは、三次元形状の立体（例えば立方体や直方体）であり、何れの領域に属しているかを示す情報を有している。これらのボクセルの大きさ（一辺の長さ）は、任意であるが、一例として、仮想空間ＶＳにおける人の足サイズに合わせることが考えられる。
【００３６】
ステップ４：
次に、各領域の表面（例えば床面や壁面）と接触するボクセルを求める（図６参照）。また、オーバーラップ部分Ｏｖと接触するボクセルも求める（図７参照）。領域の表面とボクセルとの間などの接触判定は、例えば、ボクセルに外接する球面と、対象（床面等）との間にレイキャスト法を適用することで行える。なお、レイキャスト法の基本的な原理は、一方の参照点からもう一方の参照点に向かって仮想の光線を出して、その光線と交わるオブジェクトが存在するか否かを調べるというものである。
【００３７】
ステップ５：
次に、Ｙ軸方向において互いに重なっているボクセルについては、最も低い位置のボクセル（下層ボクセルという）を残して、高さのみが下層ボクセルと異なるボクセルを除去する。すなわち、仮想空間ＶＳの上下方向に対応する座標軸（ここではＹ軸）の方向において、最も下層に位置するボクセルを残して他のボクセルを取り除く。この例では、部屋の床をラップするボクセルが得られる（図８参照）。なお、本明細書では、除去されずに残ったボクセルをフロアグリッドと呼ぶ。
【００３８】
また、オーバーラップ部分Ｏｖのボクセルが属する領域は、決定されていない。そこで、オーバーラップ部分Ｏｖのボクセルとターゲット（部屋等）との間にレイキャスト法を適用して、所定領域に関連付ける。
【００３９】
ステップ６：
次に、オブジェクトの位置特定を高速化するために、フロアグリッドに更に手を加える。具体的には、各領域のそれぞれのフロアグリッドに対して、２のべき乗個のフロアグリッドをまとめて、Ｙ軸方向から見た平面形状が四角形となるように新たな立体を作る。
【００４０】
詳しくは、Ｙ軸の方向から見た平面形状が、Ｙ軸方向から見たボクセルの平面形状と相似、かつ相似比が２のべき乗（２Ｎ、ただしＮは正整数）となるように、対象の領域における所定個数のボクセルをまとめて新たな立体（以下、合成立体という）を得る動作（以下、合成動作という）を行う。この合成動作は、まとめられるボクセルが対象の領域からなくなるまで繰り返す。
【００４１】
図９にフロアグリッドをまとめる工程を例示する。図９は、図２の建物とは別の例である。この実施形態では、それぞれの合成動作において、合成立体の大きさが最大となるように相似比を決めている。
【００４２】
図９の（Ａ）に示すように、対象の領域Ｄには、５×３のフロアグリッドＧがある。したがって、この領域では、相似比が４（＝２２、すなわち、Ｎ＝２）の合成立体を作ることができない。一方、相似比が２（＝２１、すなわちＮ＝１）の合成立体であれば、作ることができる。すなわち、この例では、相似比が２（＝２１、すなわちＮ＝１）の合成立体が最大である。
【００４３】
この例では、Ｘ−Ｚ平面における原点に近い側から順に、相似比が２の合成立体ＳＧを２つ確保できる（図９の（Ｂ）を参照）。相似比が２の合成立体を２つ確保すると、対象の領域において、まとめられずに残っているボクセルは、Ｘ軸、Ｚ軸の何れの方向においても、最も狭い部分ではボクセル１つ分の幅しかない。
【００４４】
したがって、残りのボクセルに関しては、最大の相似比が１（＝２0、すなわちＮ＝０）であり、対象の領域には、まとめられるボクセルは残っていない（図９の（Ｂ）を参照）。よって、領域Ｄにおける合成動作は終了である。
【００４５】
以上のようにして得た合成立体、およびまとめられずに残ったボクセルから、四分木グリッドを作成する。四分木グリッドは、仮想空間ＶＳにおける位置情報をもつ、２次元の小領域の集合である。図１０に、図２の建物にかかる四分木グリッドＱＧを示す。
【００４６】
ステップ７：
次に、四分木グリッドを、高さ（ここではＹ軸の座標値）を基準としてクラスタリングすることによって階層化する。図１１に、四分木グリッドのクラスタリングの過程を示す。図１１の（Ａ）は、クラスタリングの対象となる四分木グリッドを示している。この例では、６つの四分木グリッドが存在する（図１１の（Ａ）における１〜６を参照）。
【００４７】
また、図１１の（Ｂ）は、グリッドのＹ軸方向の座標値に基づいて、最短距離法（nearest neighbor method）によって得た樹形図である。そして、図１１の（Ｃ）は、クラスタリングの結果を例示している。クラスタリングを行う際に、高さ方向の閾値を適宜設定することによって、任意の階層に分類が可能である。図１１の（Ｂ）に示した点線が閾値に対応している。この例では、四分木グリッドは、Ｙ軸方向において３層に分類されている。図１１では、階層の違いをハッチングで識別してある。
【００４８】
クラスタリングされたそれぞれの四分木グリッドは、最大４つのノードを持った木構造のデータ（すなわち四分木）に、容易に変換できる。この四分木は、仮想空間ＶＳ内の所定領域に含まれる小領域の位置情報を有している。
【００４９】
以上により、階層型の四分木の完成である。完成した階層型の四分木のデータ（ゲームデータ）は、ゲームプログラムの本体（コード部分）やその他のゲームデータとともに記録媒体やサーバ上の記憶装置に書き込まれる。
【００５０】
四分木を用いることによって、プレイヤキャラクタ等が何れの領域の何れの小領域に存在するかを特定することができる。具体的には、プレイヤキャラクタ等の位置情報に基づいて、四分木のノードを順次たどって行くことで、プレイヤキャラクタが、何れの領域の何れの小領域に居るのかを特定することができる。四分木を用いた位置の特定は、全ての領域を探索する必要がないので、制御部５６（すなわちＣＰＵ）の処理コストは低くなる。
【００５１】
〈オーディオ処理部の詳細〉
既述の通り、オーディオ処理部５３は、ゲーム音声の再生および合成を行う。この明細書における、ゲーム音声とは、ゲーム中にスピーカ６２から流れる音声であり、例えば、ＢＧＭ（Back Ground Music）や、ユーザの操作に応じて流れる効果音が上げられる。また、洞窟内の水たまりに天井から落ちてくる水滴の音、洞窟において入口から出口に向かう風の音、町の雑踏の音（通行人の声や付近を通過する自動車の音等）、森や草原に吹く風の音等の環境音もゲーム音声の一例である。
【００５２】
また、このゲームプログラムでは、仮想空間ＶＳ内に音源（すなわち仮想の音源）として取り扱われるオブジェクト（以下、音源オブジェクトという）が存在する。音源オブジェクトの例としては、プレイヤキャラクタ、ゲームに登場する敵キャラクタ（モンスターなど）、プレイヤキャラクタの仲間として登場するキャラクタ、プレイヤキャラクタが持っているアイテム（例えば武器など）、仮想空間ＶＳに設置された機械や設備などが挙げられる。
【００５３】
オーディオ処理部５３は、ゲーム音声の再生や合成の機能を発揮する、いわゆるミドルウエアを含んでいる。オーディオ処理部５３のミドルウエアでは、バスと呼ばれる信号処理系統を複数設けることができる。図１２は、バスの構成を模式的に示すブロック図である。何れのバスも同様の構成を有している。
【００５４】
各バスは、エフェクタと呼ばれる、音声データの処理を行うモジュールを備えている。エフェクタは、与えられた音声データに対して、反響（Reverb）効果を付加する処理、フィルター処理（例えばローパスフィルターによる処理）等の処理を行うことができる。また、各バスでは、更に音量の調整も行うことができる。
【００５５】
オーディオ処理部５３では、バスを単独で使用することもできるし、バスを階層的に接続することによって、何れかのバスで処理された信号を別のバスが受け取って、更にその信号に処理を加えるといった使い方もできる。つまり、オーディオ処理部５３では、複数種類の音声データを作ることができる。
【００５６】
オーディオ処理部５３内のバスで作られた複数種類の音声データは、マスターバス（以下、参照符合を付けてマスターバスＭＢと言う）と呼ばれる信号処理系統に送られる。マスターバスＭＢでは、前記複数種類の音声データの合成および音量調整を行う。
【００５７】
そして、オーディオ処理部５３は、マスターバスＭＢで処理された信号を、アナログ信号に変換したのちにスピーカ６２に出力する。これにより、スピーカ６２からは、ゲーム音声が出力（再生）される。
【００５８】
オーディオ処理部５３は、ゲーム音声の再生の際に、仮想空間ＶＳに仮想のマイク（以下、仮想マイクＬ）を設定する。オーディオ処理部５３は、音源オブジェクトから発せられた音声を、あたかも仮想マイクＬで集音したかのような音響表現で、スピーカ６２に出力する。すなわち、仮想マイクＬは、仮想の聴取者であり、オーディオ処理部５３のミドルウエアにおいては、音像定位の基準点である。
【００５９】
本実施形態では、仮想マイクＬは、仮想カメラＶＣと同じ位置に設定されている。ユーザは、仮想カメラＶＣ位置にいる感覚でゲームをプレイしているので、ユーザにとって臨場感のある音声が再生されることになる。なお、仮想カメラＶＣの位置は、プレイヤキャラクタの近傍に設定されている。したがって、プレイヤキャラクタの位置と、仮想マイクＬの位置は概ね同じと考えて差し支えない。
【００６０】
このゲームプログラムでは、仮想マイクＬで集音したような音響表現をオーディオ処理部５３において行うために、仮想空間ＶＳにおける音声データの伝播経路に対応してバス（信号処理系統）を振り分けている。この振り分けは、仮想空間ＶＳの構成（オブジェクトの配置）に応じて定められている。以下では、この振り分けについて具体例を用いて説明する。
【００６１】
〈バスの振り分け〉
図１３は、仮想空間ＶＳに設けられた、建物のオブジェクトの一部を平面的に表している。以下では、この建物のオブジェクトにおけるバスの振り分けを例示する。なお、この建物の各部屋（領域）に対しては、上述の方法により前記四分木が構築されているものとする。
【００６２】
図１３に示すように、この建物は、４つの部屋（領域）Ｒ０，Ｒ１，Ｒ２，Ｒ３を有している。部屋Ｒ０と部屋Ｒ１との間には、ドアＤ０１がある。同様に、部屋Ｒ１と部屋Ｒ２との間には、ドアＤ１２があり、部屋Ｒ１と部屋Ｒ３との間にはドアＤ１３がある。これらのドアＤ０１，Ｄ１２，Ｄ１３は、何れも開放状態である。すなわち、これらのドアＤ０１，Ｄ１２，Ｄ１３がある部分は、壁に形成された開口と見なしてよい。
【００６３】
部屋Ｒ０には、プレイヤキャラクタが立っている。プレイヤキャラクタが立っている位置の近傍には、仮想マイクＬが設定されている。また、部屋Ｒ０には、仮想の音源である音源オブジェクトＳ０も存在する。ここでは、音源オブジェクトＳ０は、敵のキャラクタ（例えばモンスターなど）である。
【００６４】
音源オブジェクトＳ０からは、プレイヤキャラクタ（仮想マイクＬ）に向かって咆号等の音声が発せられている。同様に、部屋Ｒ１には音源オブジェクトＳ１が存在し、部屋Ｒ２には音源オブジェクトＳ２が存在し、部屋Ｒ３には音源オブジェクトＳ３が存在する。
【００６５】
ゲームプログラムの開発時に音響表現を担当する開発者（以下、サウンドデザイナという）が、部屋Ｒ０にプレイヤキャラクタが居る場合の音響表現として、以下のようにデザインしたいと考えたとする。
【００６６】
デザイン（１）  音源オブジェクトＳ０の音は、直接的に仮想マイクＬ（プレイヤキャラクタ）に伝播する。
【００６７】
デザイン（２）  音源オブジェクトＳ１の音は、部屋Ｒ１内で反響および減衰しつつドアＤ０１から部屋Ｒ０に漏れ出る。音は、ドアＤ０１から漏れ出るときに、そのスペクトルが変化する。ドアＤ０１から漏れ出た音は、仮想マイクＬまで減衰しながら伝播する。
【００６８】
デザイン（３）  音源オブジェクトＳ２の音は、部屋Ｒ２内で反響および減衰しつつドアＤ１２から部屋Ｒ１に漏れ出る。音は、ドアＤ１２から漏れ出るときに、スペクトルが変化する。ドアＤ１２から漏れ出た音は、部屋Ｒ１内で反響および減衰しつつドアＤ０１から部屋Ｒ０に漏れ出る。この音は、ドアＤ０１から漏れ出るときにもスペクトルが変化する。ドアＤ０１から漏れ出た音源オブジェクトＳ２からの音は、減衰しながら仮想マイクＬまで伝播する。
【００６９】
デザイン（４）  音源オブジェクトＳ３の音は、部屋Ｒ３内で反響および減衰しつつドアＤ１３から部屋Ｒ１に漏れ出る。音は、ドアＤ１３から漏れ出るときに、スペクトルが変化する。ドアＤ１３から漏れ出た音は、部屋Ｒ１内で反響および減衰しつつドアＤ０１から部屋Ｒ０に漏れ出る。この音は、ドアＤ０１から漏れ出るときにもスペクトルが変化する。ドアＤ０１から漏れ出た音源オブジェクトＳ３からの音も、減衰しながら仮想マイクＬまで伝播する。
【００７０】
デザイン（５）  何れの壁も、音源オブジェクトＳ０，Ｓ１，Ｓ２，Ｓ３の音を透過させない。
【００７１】
例えば、各部屋Ｒ０，Ｒ１，Ｒ２，Ｒ３から漏れ出す音は、ドアの近傍に音源があると見なせば容易に実現できる。すなわち、サウンドデザイナは、各ドアＤ０１，Ｄ１２，Ｄ１３の近傍に、新たな音源として、バスを割り当てればよい。また、音の伝播経路が複数の領域を通る場合には、バスを階層構造にすればよい。
【００７２】
図１３には、バスＳＲ０＿０,ＳＲ１＿０，ＳＲ１＿１が対応する音源の位置、およびそれらの音源からの音の伝播経路（実線および破線）を記載してある。すなわち、オーディオ処理部５３には、マスターバスＭＢとともに、３つのバスＳＲ０＿０,ＳＲ１＿０，ＳＲ１＿１が設けられている。図１３の伝播経路を表現するためのバスの階層構造を図１４に例示する。図１４におけるＳ０〜Ｓ３は、音源オブジェクトＳ０〜Ｓ３に対応する音声データである。
【００７３】
バスＳＲ１＿０は、ドアＤ１２から部屋Ｒ１へ漏れ出す音を表現する音源として機能させる。バスＳＲ１＿０では、入力された音声データに対して、部屋Ｒ２における反響効果の付加、部屋Ｒ２内での音量減衰効果の付加（音量の調整）、およびドアＤ１２から漏れ出すときの音のスペクトル変化を表現するためのフィルター処理を行う。
【００７４】
このバスＳＲ１＿０には、図１４に示すように、音源オブジェクトＳ２に対応した音声データが与えられている。したがって、バスＳＲ１＿０によって、ドアＤ１２から漏れ出した音源オブジェクトＳ２の音を表現できる。
【００７５】
なお、バスＳＲ１＿０では、音声データを加工する際に、音源オブジェクトＳ２の位置、ドアＤ１２（開口）の位置などの位置情報（属する部屋とその部屋における位置の情報）が必要になる。このような位置情報は、前記四分木を探索することで高速に得ることができる。オブジェクトの位置情報の特定に四分木の探索を利用するのは、他のバスＳＲ０＿０，ＳＲ１＿１でも同様である。勿論、必要とされる位置情報は、バスによって変わってくる。
【００７６】
バスＳＲ１＿１は、ドアＤ１３から部屋Ｒ１へ漏れ出す音を表現する音源として機能させる。バスＳＲ１＿１では、部屋Ｒ３における反響効果の付加、部屋Ｒ３内での音量減衰効果の付加、およびドアＤ１３から漏れ出すときの音のスペクトル変化を表現するためのフィルター処理等を行う。
【００７７】
このバスＳＲ１＿１には、図１４に示すように、音源オブジェクトＳ３に対応した音声データが与えられている。したがって、ドアＤ１３から漏れ出した音源オブジェクトＳ３の音をバスＳＲ１＿１によって表現できる。
【００７８】
また、バスＳＲ０＿０は、ドアＤ０１から部屋Ｒ０へ漏れ出す音を表現する音源として機能させる。バスＳＲ０＿０では、部屋Ｒ１における反響効果の付加、部屋Ｒ１内およびドアＤ０１から仮想マイクＬに至るまでの伝播経路における音量減衰効果の付加を行う。更に、バスＳＲ０＿０はドアＤ０１から漏れ出すときの音のスペクトル変化を表現するためのフィルター処理を行う。
【００７９】
このバスＳＲ０＿０には、図１４に示すように、音源オブジェクトＳ１に対応した音声データ、バスＳＲ１＿０の出力、およびバスＳＲ１＿１の出力が合成されて与えられている。音源オブジェクトＳ１に対応した音声データが、バスＳＲ０＿０が与えられることで、ドアＤ０１から漏れ出した音源オブジェクトＳ１の音が表現される。
【００８０】
更に、バスＳＲ１＿０で処理された音源オブジェクトＳ２の音声データが、バスＳＲ０＿０に与えられることで、部屋Ｒ２から部屋Ｒ１に漏れ出した音源オブジェクトＳ２の音に対して、部屋Ｒ１における反響や減衰が更に加わった状態が表現される。同様に、バスＳＲ１＿１で処理された音源オブジェクトＳ３の音声データが、バスＳＲ0＿0に与えられることで、部屋Ｒ３から部屋Ｒ１に漏れ出した音源オブジェクトＳ３の音に対して、部屋Ｒ１における反響や減衰が更に加わった状態が表現される。
【００８１】
そして、マスターバスＭＢには、音源オブジェクトＳ１に対応した音声データが与えられている。音源オブジェクトＳ０の音声データが、直接的にマスターバスＭＢに入力されることで、デザイン（１）が実現される。
【００８２】
また、マスターバスＭＢには、バスＳＲ０＿０の出力も与えられている。バスＳＲ０＿０の出力は、音源オブジェクトＳ１，Ｓ２，Ｓ３の音声データのそれぞれに対して、それらの伝播経路における減衰や音のスペクトル変化が加味されたものである。したがって、デザイン（２），（３），（４）が実現される。
【００８３】
〈オーディオ処理部等の動作〉
ゲームプログラムの実行中は、制御部５６は、プレイヤキャラクタが何れの領域の何れのグリッドに存在するかを適宜、前記四分木を用いて判定している。また、仮想空間ＶＳ内を移動する音源オブジェクトについても、前記四分木を用いて、その位置を判定している。
【００８４】
ここで、例えば、プレイヤキャラクタが部屋Ｒ１に入ったとする。このときのプレイヤキャラクタの位置は、制御部５６が前記四分木を用いて特定している。同様に、各音源オブジェクトＳ０，Ｓ１，Ｓ２，Ｓ３の位置も、制御部５６が前記四分木を用いて特定している。
【００８５】
なお、正確な音響表現を行うには、プレイヤキャラクタと音源オブジェクトとの間に、音を遮蔽するものがあるか否かといった判定（いわゆる当たり判定のひとつ）も必要となる。このゲームプログラムの下では、制御部５６がこの当たり判定を行う。この例では、プレイヤキャラクタと音源オブジェクトとが同じ部屋にいる場合にのみ、両者の間にレイキャスト法を適用して、遮蔽の有無を判定している。
【００８６】
制御部５６が特定した位置の情報は、制御部５６からオーディオ処理部５３に送られている。オーディオ処理部５３は、音の伝播経路における音響特性に応じて、各バスを機能させる。ここで、考慮される音響特性は、例えば、反響の起こりやすさ、音が開口を通過する際の音のスペクトル変化度合い、音源からリスナー（仮想マイクＬ）までの距離に応じた音量の減衰量等である。
【００８７】
例えば、部屋Ｒ０にプレイヤキャラクタが居る場合には、図１４のように構成されたバスＳＲ０＿０，ＳＲ１＿０，ＳＲ１＿１が用いられる。そのため、プレイヤキャラクタ（仮想マイクＬ）の位置では、音源オブジェクトＳ０からの音は、直接的に仮想マイクＬに伝わるようにオーディオ処理部５３が音声データを生成する。
【００８８】
また、音源オブジェクトＳ２からの音は、部屋Ｒ２内の空間、ドアＤ１２における開口、部屋Ｒ１内の空間、ドアＤ１０における開口、および部屋Ｒ０内の空間を経由して仮想マイクＬに伝播したように、バスＳＲ１＿１とバスＳＲ０＿０とによって、加工が施される。
【００８９】
同様に、音源オブジェクトＳ３からの音は、部屋Ｒ３内の空間、ドアＤ１３における開口、部屋Ｒ１内の空間、ドアＤ１０における開口、および部屋Ｒ０内の空間を経由して仮想マイクＬに伝播したように、バスＳＲ１＿１とバスＳＲ０＿０とによって、加工が施される。
【００９０】
以上のようにして、部屋Ｒ０にプレイヤキャラクタが居る場合における音響表現として、デザイン（１）〜（５）が実現される。
【００９１】
以上をまとめると、本件発明は、コンピュータ（ゲーム装置５）を、仮想空間内の仮想の音源として設定されている音源オブジェクトが発した音として音声データを再生する再生手段（オーディオ処理部５３）と、前記仮想空間内の所定領域に含まれる小領域の位置情報を有する四分木を探索することによって、音源オブジェクトの位置を特定する位置特定手段（制御部５６）として機能させる。
【００９２】
そして、本件発明は、前記再生手段（オーディオ処理部５３）に、前記位置特定手段（制御部５６）による位置の特定結果に応じて、前記音声データの加工を行わせることを特徴とするゲームプログラムである。
【００９３】
〈本実施形態の効果〉
以上のように、本実施形態では、階層型の四分木を用いることによって、音響表現にかかるオブジェクト（例えばプレイヤキャラクタや音源オブジェクト）の位置の特定を高速に行うことが可能になる。
【００９４】
また、従来例のようにシミュレーション結果に従って音響表現がなされる場合には、例えば、何らかの音を強調させたいとか、弱めたいとか、或いはなくしたといったサウンドデザイナの意図を反映させる余地がなかった。それに対して、本実施形態では、バスを仮想空間ＶＳの音源として、適宜、割り当てることで、サウンドデザイナが容易に音響効果をデザインすることが可能になる。
【００９５】
［その他の実施形態］
なお、オブジェクトがゲームの進行に応じて変形する場合（例えば壁の一部が壊れてしまう場合など）には、それぞれの変形状態に対応する四分木を予め用意しておくとよい。そして、所定の領域についての四分木を、ゲームの進行に応じて、予め構築された他の四分木に差し替えさせるようにするとよい。
【００９６】
また、ゲームの実行中に、四分木を新規に構築または再構築してもよい。こうすることで、ゲーム中に任意に変形する領域においても、高速な位置判定を実施できる。ゲーム実行中に四分木を構築する場合は、例えば、制御部５６によって前記四分木を構築してもよいし、オーディオ処理部５３のミドルウエアに前記四分木を構築する機能を実装してもよい。また、ゲームプログラムがオンラインゲーム用である場合には、ゲームの実行中に、前記サーバ側で前記四分木を構築してもよい。
【００９７】
また、〈バスの振り分け〉の章では、四分木を用いて音源オブジェクト等の位置を特定する旨を説明したが、その他の方法を用いて位置を特定してもよい。
【００９８】
また、オーディオ処理部５３の各バスでは、壁を透過して伝播する音を想定して、フィルター処理や音量調整を行ってもよい。
【００９９】
また、ゲームプログラムは、いわゆるオンラインゲーム用のゲームプログラムとして実装してもよい。ゲームプログラムがオンラインゲーム用である場合には、グラフィック処理部５２やオーディオ処理部５３における処理は、サーバ側で行ってもよいし、サーバ側とクライアント（ゲーム装置５）側とで分担してもよい。
【０１００】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【符号の説明】
【０１０１】
５        ゲーム装置（コンピュータ）
５２      グラフィック処理部（表示手段）
５３      オーディオ処理部（再生手段）
５５      記憶部
５６      制御部（位置特定手段）
Ｓ０，Ｓ１，Ｓ２，Ｓ３      音源オブジェクト
【図１】
2020018620.tif 000003
【図２】
2020018620.tif 000004
【図３】
2020018620.tif 000005
【図４】
2020018620.tif 000006
【図５】
2020018620.tif 000007
【図６】
2020018620.tif 000008
【図７】
2020018620.tif 000009
【図８】
2020018620.tif 000010
【図９】
2020018620.tif 000011
【図１０】
2020018620.tif 000012
【図１１】
2020018620.tif 000013
【図１２】
2020018620.tif 000014
【図１３】
2020018620.tif 000015
【図１４】
2020018620.tif 000016