(57)【要約】【課題】オブジェクト空間内における環境音を、少ない負荷でかつリアリティの高い環境音として生成することが可能なプログラム、情報記憶媒体及びゲームシステムを提供すること。【解決手段】所与の環境音を発生させるための音源群をオブジェクト空間に設定するオブジェクト空間設定部１１１と、前記オブジェクト空間内での仮想カメラの位置及び向きの少なくとも一方を制御する仮想カメラ制御部１１３と、前記仮想カメラの制御情報に基づき、前記各音源の位置を変更するための情報を演算する環境音情報演算部１４０とを含むことを特徴とするゲームシステムである。【選択図】図１
2007229241.tif 000002
【特許請求の範囲】
【請求項１】
所与の環境音を発生させるための音源群をオブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間内での仮想カメラの位置及び向きの少なくとも一方を制御する仮想カメラ制御部と、
前記音源群が対応付けられる制御点の情報と、前記仮想カメラの制御情報とに基づき、前記制御点に対する各音源の位置を変更するための情報を演算する環境音情報演算部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記環境音情報演算部は、
前記仮想カメラの制御情報に基づき、前記オブジェクト空間における前記制御点に相当する位置を変更するための情報を演算することを特徴とするプログラム。
【請求項３】
請求項２において、
前記環境音情報演算部は、
前記オブジェクト空間において前記環境音を発生させる領域である環境音発生エリアに含まれるエリア内で、前記オブジェクト空間における前記制御点に相当する位置を変更するための情報を演算することを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記環境音情報演算部は、
前記演算した情報に基づいて変更した前記音源の位置が、オブジェクト空間において前記環境音を発生させる領域である環境音発生エリア外である場合に、前記音源の位置を前記環境音発生エリア内に補正するための補正情報を演算することを特徴とするプログラム。
【請求項５】
請求項４において、
前記環境音情報演算部は、
前記仮想カメラの位置が前記環境音発生エリアに近づく場合に、前記オブジェクト空間における制御点に相当する位置を前記仮想カメラの位置に近づけるように変更するための情報を演算することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記環境音情報演算部は、
前記オブジェクト空間における制御点に相当する位置と前記音源との間に障害物が存在する場合に、該音源の位置を補正するための補正情報を演算することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記音源群は、前記制御点と一対の音源とが直線をなすように構成され、
前記環境音情報演算部は、
前記仮想カメラの視線方向と前記一対の音源を結ぶ直線とが直交するように、前記一対の音源の前記制御点周りの回転量を求めることを特徴とするプログラム。
【請求項８】
請求項７において、
前記環境音情報演算部は、
前記各音源の前記仮想カメラとの距離に基づき前記各音源から出力される音量を設定し、前記仮想カメラの視線方向と、該仮想カメラと前記各音源とを結ぶ方向とに基づき前記各音源の出力分配を行うことを特徴とするプログラム。
【請求項９】
請求項１〜８のいずれかにおいて、
前記各音源の音色が互いに異なる音色に設定されていることを特徴とするプログラム。
【請求項１０】
請求項１〜９のいずれかにおいて、
前記オブジェクト空間で発生する複数の環境音が用意され、
前記オブジェクト空間設定部は、
前記環境音に応じた音源群をオブジェクト空間に設定することを特徴とするプログラム。
【請求項１１】
所与の環境音を発生させるための音源群をオブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間内での仮想カメラの位置及び向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラの制御情報に基づき、前記各音源の位置を変更するための情報を演算する環境音情報演算部としてコンピュータを機能させることを特徴とするプログラム。
【請求項１２】
請求項１〜１１のいずれかに記載のプログラムを記憶した、コンピュータ読み取り可能な情報記憶媒体。
【請求項１３】
所与の環境音を発生させるための音源群をオブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間内での仮想カメラの位置及び向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラの制御情報に基づき、前記各音源の位置を変更するための情報を演算する環境音情報演算部とを含むことを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト空間内における環境音を生成するためのプログラム、情報記憶媒体及びゲームシステムに関するものである。
【背景技術】
【０００２】
従来より、仮想ゲーム空間内で、単一音源からプレーヤキャラクタが聞く音データを再生することが行われていた。
【０００３】
このような手法としては、特許文献１、特許文献２に記載の従来手法がある。
【０００４】
特許文献１に記載の手法では、例えばゲーム空間内に存在する、砂利を敷き詰めた石畳、砂利が散在する石畳、砂利のない石畳という複数の領域をプレーヤキャラクタが移動する場合に発生する音を、複数の音データをミキシング再生することで、リアリティの高いゲーム音として再生していた。
【０００５】
また、特許文献２に記載の従来手法では、仮想ゲーム空間内においてプレーヤキャラクタと音源とが近づいた場合には、高い音や低い音がはっきりと聞き取られ、逆に遠ざかった場合にはそのような音が聞き取りにくくなるという問題を解決するためのゲーム音生成手法が採用されている。
【特許文献１】特開２００５−４６２８号公報
【特許文献２】特開２００５−４６２７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、これら従来の手法では、いずれも単一音源からのゲーム音を再生するものにすぎず、いわゆる所定のエリアとして広がりをもった環境音を再生するものではなかった。
【０００７】
しかも従来、このような環境音を、高いリアリティをもって再生するための環境音再生手法はなかった。
【０００８】
本発明は、このような課題に鑑みなされたものであり、その目的は、オブジェクト空間内における環境音を、少ない負荷でかつリアリティの高い環境音として生成することが可能なプログラム、情報記憶媒体及びゲームシステムを提供することにある。
【課題を解決するための手段】
【０００９】
（１）本発明のゲームシステムは、
所与の環境音を発生させるための音源群をオブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間内での仮想カメラの位置及び向きの少なくとも一方を制御する仮想カメラ制御部と、
前記音源群が対応付けられる制御点の情報と、前記仮想カメラの制御情報とに基づき、前記制御点に対する各音源の位置を変更するための情報を演算する環境音情報演算部とを含むことを特徴とする。
【００１０】
また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１１】
ここにおいて「所与の環境音」とは、オブジェクト空間内において聞こえる周囲の環境音であり、例えば所定の広がりをもった空間から聞こえる環境音である。このような環境音としては、例えば海、川、森などを所定の２次元的、３次元的な広がりをもったエリアから聞こえる環境音などがある。
【００１２】
また、前記音源群は、制御点を基準に複数の音源が離隔配置されたものであり、これら複数の音源から、所与の環境音、例えば海の音、波の音、川の流れる音、風に揺れる森の音などを生成する。これら音源は、各環境音毎にそれぞれオブジェクト空間内に配置されるようにしてもよい。
【００１３】
本発明によれば、オブジェクト空間内を仮想カメラで見た画像は、ディスプレイ上に表示される。これに合わせて、制御点の情報と、仮想カメラの制御情報とに基づき、制御点に対する各音源の位置を変更するための情報を演算する。そして、演算した情報に基づき、音源群をオブジェクト空間において移動させることができる。
【００１４】
これにより、仮想カメラの位置及び向きに合わせた方向性をもつ広がりのある環境音の生成を行うことが可能となる。従って、オブジェクト空間内で仮想カメラと同じ方向を見ているキャラクタが、当該オブジェクト空間内で聞く環境音をよりリアルに再生することができる。
【００１５】
特に、本発明は、制御点に対する各音源の位置を制御することにより、オブジェクト空間内において聞こえる環境音の方向をクリアに決定することができ、しかも音源群における制御点に対する各音源の配置を制御することにより、仮想カメラの位置及び方向で聞こえる環境音を、広がりをもった自然な環境音として生成することができる。
【００１６】
以上のように、本発明によれば、オブジェクト空間内において２次元的及び３次元的な広がりをもった環境音発生エリアから発生する音源を、仮想カメラの位置及び向きに基づき、少ない音源を用いて実空間と同様にリアルに再生することができる。
【００１７】
ここにおいて、音源群を構成する複数の音源は、２以上の音源を採用するものであればよく、また各音源は、それら各音源固有のローカル座標系において制御点を基準に複数の音源を１次元的もしくは多次元的に配置して構成すればよい。
【００１８】
また、本発明では、生成される環境音は、２以上のスピーカを用いて再生するようにしてもよい。これにより、複数のスピーカを用い、オブジェクト空間内における環境音をリアルに再生することができる。
【００１９】
（２）また本発明のゲームシステム、プログラム及び情報記憶媒体では、
前記環境音情報演算部は、
前記仮想カメラの制御情報に基づき、前記オブジェクト空間における前記制御点に相当する位置を変更するための情報を演算するようにしてもよい。
【００２０】
本発明によれば、制御点を音源群の代表点（例えばローカル座標系の原点）として扱い、仮想カメラの制御情報に応じてオブジェクト空間で音源群を移動させることができる。例えば、仮想カメラの移動に応じて制御点をオブジェクト空間上で仮想的に移動させた場合の移動ベクトルを求め、求めた移動ベクトルと各音源の位置座標とに基づき、各音源の移動後の位置座標を求めることができる。
【００２１】
従って、軽い処理負荷で仮想カメラの制御情報に応じた各音源の位置の変更を行わせることができる。
【００２２】
（３）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記環境音情報演算部は、
前記オブジェクト空間において前記環境音を発生させる領域である環境音発生エリアに含まれるエリア内で、前記オブジェクト空間における前記制御点に相当する位置を変更するための情報を演算するように構成してもよい。
【００２３】
本発明によれば、例えば海や川等の環境音発生エリアよりも狭いエリア内で制御点の仮想的な位置が変化するように演算が行われるので、仮想カメラの制御情報に応じて各音源の位置を変更しても、変更後の各音源の位置を環境音発生エリアの範囲内に収めることができる。
【００２４】
（４）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記環境音情報演算部は、
前記演算した情報に基づいて変更した前記音源の位置が、オブジェクト空間において前記環境音を発生させる領域である環境音発生エリア外である場合に、前記音源の位置を前記環境音発生エリア内に補正するための補正情報を演算するように構成してもよい。
【００２５】
本発明によれば、仮想カメラの制御情報に応じて求められた音源の位置が、環境音発生エリア内となるように補正される。例えば、波の音の音源の位置が海でない位置となってしまった場合には、海の位置になるように補正される。従って、環境音と環境音発生エリアとの関連付けを保つことができる。
【００２６】
（５）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記環境音情報演算部は、
前記仮想カメラの位置が前記環境音発生エリアに近づく場合に、前記オブジェクト空間における制御点に相当する位置を前記仮想カメラの位置に近づけるように変更するための情報を演算するようにしてもよい。
【００２７】
本発明によれば、仮想カメラが環境音発生エリア内まで移動すると、例えば仮想カメラの位置と制御点の位置とが一致するようにしてもよい。
【００２８】
これにより、環境音発生エリアに設定される音源群を少なくしても、仮想カメラが環境音発生エリア内に近づく場合には、音源群を仮想カメラに近づけることにより、自然な環境音を生成することができる。
【００２９】
（６）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記環境音情報演算部は、
前記オブジェクト空間における制御点に相当する位置と前記音源との間に障害物が存在する場合に、該音源の位置を補正するための補正情報を演算するようにしてもよい。
【００３０】
これにより、障害物により聞こえるべきでない方向から音源の音が聞こえてきてしまうという不都合を防止することができる。
【００３１】
（７）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記音源群は、前記制御点と一対の音源とが直線をなすように構成され、
前記環境音情報演算部は、
前記仮想カメラの視線方向と前記一対の音源を結ぶ直線とが直交するように、前記一対の音源の前記制御点周りの回転量を求めるようにしてもよい。
【００３２】
本発明によれば、音の聞こえ方を広がりのある自然なものに保ちつつも、音源の数を少なくし、環境音生成の負荷を大幅に低減することができる。
【００３３】
加えて、仮想カメラの方向と、左右一対の音源を結ぶ直線とが直交するように、前記一対の音源を制御点に対して配置する制御を行うことにより、仮想カメラの向きに対し、環境音発生エリアからの環境音を、簡単な制御でかつ広がりをもった自然な音として生成することができる。
【００３４】
特に、本発明によれば、制御点に対する前記一対の音源の配置を制御することにより、仮想カメラから環境音発生エリア方向に前記左右一対の音源が位置するように簡単に制御することができ、また制御点から各音源までの長さを伸縮制御することにより、例えば障害物を避けて音源を位置するように制御することができる。
【００３５】
（８）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記環境音情報演算部は、
前記各音源の前記仮想カメラとの距離に基づき前記各音源から出力される音量を設定し、前記仮想カメラの視線方向と、該仮想カメラと前記各音源とを結ぶ方向とに基づき前記各音源の出力分配を行うようにしてもよい。
【００３６】
本発明によれば、各音源の音量を、音源と仮想カメラとの距離に応じた自然な音量に設定することができる。そして、各音源の出力分配を、各音源と仮想カメラの位置関係に応じた自然な分配比に設定することができる。
【００３７】
（９）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記各音源の音色が互いに異なる音色に設定されているようにしてもよい。
【００３８】
本発明によれば、音源群を構成する各音源の音色が干渉しあうことなく、自然でランダム性の高い環境音を表現することができる。
【００３９】
（１０）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
前記オブジェクト空間で発生する複数の環境音が用意され、
前記オブジェクト空間設定部は、
前記環境音に応じた音源群をオブジェクト空間に設定するようにしてもよい。
【００４０】
本発明によれば、複数の環境音に応じた音源群をオブジェクト空間に設定するので、より自然でランダム性の高い環境音を表現することができる。
【００４１】
（１１）また本発明に係るゲームシステム、プログラム及び情報記憶媒体では、
所与の環境音を発生させるための音源群をオブジェクト空間に設定するオブジェクト空間設定部と、
前記オブジェクト空間内での仮想カメラの位置及び向きの少なくとも一方を制御する仮想カメラ制御部と、
前記仮想カメラの制御情報に基づき、前記各音源の位置を変更するための情報を演算する環境音情報演算部としてコンピュータを機能させるようにしてもよい。
【発明を実施するための最良の形態】
【００４２】
以下、本実施の形態について説明する。なお、以下に説明する本実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施の形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４３】
１．構成
図１に本実施の形態のゲームシステムの機能ブロック図の例を示す。なお本実施の形態のゲームシステムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００４４】
操作部１６０は、プレーヤが行った操作をデータとして入力するものであり、例えばプレーヤオブジェクト（プレーヤが操作するプレーヤキャラクタ）の操作データを入力するために用いられ、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００４５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、主記憶部１７１、フレームバッファ１７３、送信用バッファ１７４、中継用バッファ１７６として機能し、ＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００４６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施の形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施の形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４７】
なお、情報記憶媒体１８０に記憶される情報の一部または全部は、必要に応じて記憶部１７０に転送される。また、情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、オブジェクトデータ、テクスチャデータ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行う情報の少なくとも一つを含む。
【００４８】
表示部１９０は、本実施の形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００４９】
音出力部１９２は、本実施の形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５０】
本実施の形態において、音出力部１９２は、ステレオ再生型のスピーカまたはヘッドフォンとして形成されており、例えば左右２チャンネルのスピーカであってもよく、また３つ以上のスピーカを組ませたマルチチャンネル型の音出力生成部として形成してもよい。
【００５１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００５２】
通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で無線及び有線通信を行うための各種制御を行うものであり、その機能は、各種プロセッサまたは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５３】
なお本実施の形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００５５】
ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ボトルメールを送受信する処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００５６】
この処理部１００は、記憶部１７０内の主記憶部１７１をワーク領域として各種処理を行う。また、処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５７】
処理部１００は、オブジェクト空間設定部１１１、移動・動作制御部１１２、仮想カメラ制御部１１３、画像生成部１２０、音生成部１３０、環境音情報演算部１４０を含む。
【００５８】
オブジェクト空間設定部１１１は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面またはサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５９】
オブジェクト空間設定部１１１は、所与の環境音を発生させるための音源群をオブジェクト空間に設定する。本実施の形態では、図７に示す音源５０をオブジェクト空間内に環境音発生エリア２２に関連付けて配置している。
【００６０】
移動・動作制御部１１２は、オブジェクト（キャラクタ、車、または飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、モデルオブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６１】
仮想カメラ制御部１１３は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）または回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６２】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置または回転の変化に仮想カメラが追従するように、仮想カメラの位置または回転角度（仮想カメラの向き）を制御する。
【００６３】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、例えばオブジェクト空間内において所与の視点（仮想カメラ）から見える画像を生成し、表示部１９０に出力する。
【００６４】
具体的には、処理部１００で行われる演算処理の結果に従って、例えば座標変換、クリッピング処理、透視変換、あるいは光源計算などの種々のジオメトリ処理（３次元演算）やジオメトリ処理後のオブジェクト（モデル）を、フレームバッファ１７３に描画するための描画処理等の各種の画像処理を行い、オブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。
【００６５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、または音声などのゲーム音を生成し、音出力部１９２に出力する。特に、オブジェクト空間に設定された音源の位置を発生源とした音を、仮想カメラの位置で聞いた場合の音を生成する。
【００６６】
環境音情報演算部１４０は、仮想カメラの制御情報に基づき、オブジェクト空間に設定された音源群を構成する各音源の位置を変更するための情報を演算する。具体的には、仮想カメラの移動に応じて、音源の移動ベクトルを求める。本実施の形態では、音源群が対応付けられる制御点の情報と、仮想カメラの制御情報とに基づき、制御点に対する各音源の位置を変更するための情報を演算するようにしてもよい。
【００６７】
また、環境音情報演算部１４０は、仮想カメラの制御情報に基づき、オブジェクト空間における制御点に相当する位置を変更するための情報を演算する。この場合、環境音発生エリアに含まれるエリア内で、オブジェクト空間における制御点に相当する位置を変更するための情報を演算するようにしてもよい。
【００６８】
また、環境音情報演算部１４０は、演算した情報に基づいて変更した音源の位置が、環境音発生エリア外である場合に、音源の位置を環境音発生エリア内に補正するための補正情報を演算する。
【００６９】
また、環境音情報演算部１４０は、仮想カメラの位置が環境音発生エリアに近づく場合に、オブジェクト空間における制御点に相当する位置を仮想カメラの位置に近づけるように変更するための情報を演算する。
【００７０】
また、環境音情報演算部１４０は、オブジェクト空間における制御点に相当する位置と音源との間に障害物が存在する場合に、該音源の位置を補正するための補正情報を演算する。
【００７１】
また、環境音情報演算部１４０は、仮想カメラの視線方向と前記一対の音源を結ぶ直線とが直交するように、前記一対の音源の前記制御点周りの回転量を求める。
【００７２】
そして、以上のように求めた情報と、位置変更前の音源の位置とに基づいて、仮想カメラの制御情報に応じて変更される音源の位置を求める。そして、オブジェクト空間設定部１１１が、変更後の位置に音源を設定する。
【００７３】
また、環境音情報演算部１４０は、各音源の仮想カメラとの距離に基づき各音源から出力される音量を設定し、仮想カメラの視線方向と、該仮想カメラと各音源とを結ぶ方向とに基づき各音源の出力分配を行う。例えば、音源に基準となる最大音量を設定しておき、音源と仮想カメラとの距離に応じて減衰させた音量を出力させるように設定することにより、仮想カメラが音源に近づくほど音量が大きくなるようにすることができる。そして、仮想カメラの視線方向と、該仮想カメラと各音源とを結ぶ方向とがなす角に応じて、複数のチャンネルに割り当てられる各音源の出力分配を行うことができる。例えば、仮想カメラの視線方向と、該仮想カメラと音源とを結ぶ方向とがなす角が狭いほど出力分配比を高くすることができる。この場合、仮想カメラの視線ベクトルと、仮想カメラと音源とを結ぶ方向の単位ベクトルとの内積をそれぞれの音源について求め、それぞれの内積を直接的又は間接的に用いて分配を行うようにしてもよい。
【００７４】
具体的には、音源群が左音源と右音源の２つの音源から構成され、音出力部１９２が左右２チャンネルのスピーカにより構成されている場合には、仮想カメラの視線方向と、該仮想カメラと左音源とを結ぶ方向とがなす角が狭いほど、左チャンネルにおける左音源の出力の分配比率を高く、右音源の出力の分配比率を低くすることができる。例えば、仮想カメラの視線方向と、該仮想カメラと左音源とを結ぶ方向とがなす角をθとすると、左チャンネルにおける左音源と右音源の分配比を、左音源：右音源＝Ｃｏｓθ：（１−Ｃｏｓθ）とすることができる。
【００７５】
なお、本実施の形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００７６】
なお、処理部１００の基本は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。あるいは、ハードウェアとプログラムの両方により実現してもよい。
【００７７】
２．本発明と対比される従来手法
まず、本発明を適用したオブジェクト空間内における環境音の生成原理と対比される従来手法を説明する。
【００７８】
２−１．オブジェクト空間内における単一音源からのゲーム音生成する従来手法
図２は、オブジェクト空間を構成する３次元ゲーム空間のゲーム画面の一例が示されており、プレーヤキャラクタ１０の右前方には動物２０が音源として存在している。この動物２０は、プレーヤ１０からみて単一音源であり、プレーヤ１０に聞こえる動物２０からの音の生成は以下のようにして行われる。
【００７９】
ｉ：音生成リクエスト
ii：仮想カメラから音源である動物までの相対座標を計算する
iii：計算結果に応じて左右スピーカの出力音源を決定する
iv：左右スピーカから音声出力する
【００８０】
上記音声生成処理により、図２に示すオブジェクト空間の場合には「やや右寄り、少し小さめ」という音声出力結果が得られる。
【００８１】
動物２０が発音したまま、仮想カメラから音源である動物２０まで相対座標が変わる場合は、上記ii〜ivの繰り返しで仮想カメラと動物２０との間の相対移動を音声的に表現する。このように、音源を単一点として見なすことができる場合は、一般的にモノラル（１チャンネル）の音声データが使用される。
【００８２】
２−２．波を音源と仮定し、環境音を生成する従来手法
波は、海という一定の環境音発生エリアから均等に発生する自然音である。図３には、オブジェクト空間内に環境音発生エリア２２として海が存在する場合のゲーム画面が示されている。
【００８３】
この画面表示でも一定の広がりをもった環境音発生エリアとして表現されている波に対して、動物と同様に音源を単一源として扱ってしまうと、仮想カメラが波打ち際に沿って移動していったときに、仮想カメラから音源までの相対座標の変化によって環境音発生エリア２２である波などの表示位置と音源位置とがずれ、不自然な環境音の再生になってしまう。
【００８４】
また無数の単一点の集合によって一定の領域をもつ環境音発生エリアからの環境音を再生する手法も考えられるが、同時に発生する音源の数やこれを演算処理するためのハードウェア性能等を考慮すると、現実的ではない。
【００８５】
さらに、図４に示すように、仮想カメラと音源（波打ち際）とが正対している場合、波の音源を環境音発生エリア２２に対し単一点として割り当てても（すなわち単一点に割り当てられたモノラル（１チャンネル）の音声ファイル）、左右のスピーカからの出力内容が同一となってしまい、左右方向への自然な音の広がりを表現することができない。
【００８６】
このような問題の解決手法としては、一般的なステレオ（２チャンネル）の音声ファイルを使用して広がり感を得ると同時に、正対方向の距離のみ座標計算する（遠近により左右スピーカからの出力音声の音量を均等に上下する）方法などが考えられる。
【００８７】
しかしこの場合でも、正対方向の距離しか座標計算していないため、カメラが音源と正対になっていない場合でも左右スピーカからの出力音量が均等になってしまい、やはり不自然な環境音再生となる。
【００８８】
仮想カメラから音源までの相対距離が一定の値となっているときに、座標計算方法を２チャンネル（一定領域の表現）から１チャンネル（単一点の表現）に切り替えたとしても、切り替えポイントでは左右スピーカの出力音量が急激に変化し、不自然さが残る。
【００８９】
３．本実施の形態の手法
図６には、オブジェクト空間として構成された３次元ゲーム空間の一例である。ここでは、２２は環境音発生エリアとしての海であり、２４は砂浜を表す。
【００９０】
３−１．目的
川の水音、波の音など、実際には広い範囲で鳴っているため一般的な点音源としては扱いづらい環境音について、
イ：音源から遠いところでは指向性（音源の方向、距離）が感じられ、
ロ：音源に近づくにつれて指向性を残しつつ音の左右への広がり感が増していき、
ハ：音源の位置では音の広がり感が最大となる、
という聞こえ方の変化を、オブジェクト空間内で違和感なく再現することが本実施の形態の目的である。
【００９１】
３−２．特性
３次元のオブジェクト空間内に、本実施の形態に係る音源群を配置する。
【００９２】
図６において、２６は仮想カメラ４０の移動経路を表す。２８は、本発明が適用された音源群５０が、環境音発生エリア２２内を仮想カメラ４０に追従して移動する経路の一例を示す。
【００９３】
本実施の形態の音源群５０は、「海の中」「川の中」など限られた環境音発生エリアの範囲内で自由に動くことができ、仮想カメラ４０に対して常に最短距離となるような位置関係を保持する。
【００９４】
そして、上記環境音発生エリア２２内に立ち入った場合には、両者は同一座標となり「くっつく」という状態になる。
【００９５】
３−３．音源群の基本構造
図７には、本実施の形態に用いられる音源群５０の一例が示されている。
【００９６】
前記音源群５０は、所与の環境音を生成するための複数の音源が制御点５２に関連付けて配置されることにより構成されており、少なくとも２つ以上の音源を含むように構成すればよい。
【００９７】
本実施の形態では、図７に示すように、制御点５２を中心としてその左右に伸びた仮想アーム５４Ｒ、５４Ｌの先端に左右の音源５６Ｒ、５６Ｌが配置されるという、仮想音源のオブジェクトを想定する。この仮想音源のオブジェクトとしては、制御点５２を中心として横方向に伸びるアーム５４Ｒ、５４Ｌが自由に水平回転する構造のものをイメージすることにより、当該音源群５０の機能の理解が容易となる。
【００９８】
前記仮想アーム５４Ｒ、５４Ｌはその長さが周囲の状況に応じて伸縮され、制御点５２と音源５６Ｒ、５６Ｌとの相対位置関係が変化するように構成され、さらに仮想アーム５４Ｒ、５４Ｌが制御点５２を介してなす角度（すなわち水平面においてける角度）が周囲の状況に応じて可変可能な構成となっている。さらに、音源５６Ｒは、仮想カメラから向かって右側の音源であり、音源５６Ｌは仮想カメラから向かって左側の音源であり、仮想カメラとこれら各音源５６Ｒ、５６Ｌそれぞれとの距離計算は通常の配置音源と同じ方式で行う。
【００９９】
そして、この音源群５０の移動は、ここではやじろべえの中心である制御点５２を基準にして行う。
【０１００】
なお、本発明に係る音源群５０は、これに限らず３つ以上の音源を制御点５２に関連付けて立体的に配置するように構成してもよい。
【０１０１】
音源群５０を構成する制御点５２、各音源５６Ｒ、５６Ｌなどはローカル座標系を用いてその平面的、或いは立体的配置が特定され、さらに制御点５２に対する各音源５６Ｒ、５６Ｌの配置の制御も行われる。
【０１０２】
３−４．音源群５０の制御
次に図７に示すように構成された本実施の形態の音源群５０に対する、環境音生成制御を説明する。図８（Ａ）、（Ｂ）、（Ｃ）にはその具体例が示されている。
【０１０３】
ここでは、音源群５０は、海の波の音を環境音として生成出力するものであると仮定し、環境音発生エリア２２である海のエリアを自由に動くことができ、しかも仮想カメラ４０に対して常に最短距離となるような位置関係を維持するように移動制御される。
【０１０４】
そして、このような関係を保つように音源群５０の位置が設定制御されると、次に仮想カメラ４０の視線方向４２に対して、音源群５０の左右一対の音源５６Ｒ、５６Ｌとを結ぶ直線が直交するように、制御点５２に対する各音源５６Ｒ、５６Ｌの配置が制御される。
【０１０５】
音源群５０に対して、以上の環境音生成制御を行うことにより、仮想カメラ４０が音源群５０から遠いところでは環境音の指向性（音源の向き、距離）を感じることができ、さらに仮想カメラ４０が音源群５０に近づくにつれて指向性を残しつつ環境音の左右の広がりが増していくという、クリアな環境音の生成が可能となる。
【０１０６】
そして、仮想カメラ４０が、環境音発生エリア２２内へ移動すると、音源群５０は上記ルールを保ちながら仮想カメラ４０に向かって移動し、最後に両者が重なり合うという位置関係を保持する。そして、環境音発生エリア２２内において仮想カメラ４０と音源群５０とが重なった時点で、環境音の指向性がなくなるように環境音が生成され、環境音発生エリア２２内において広がりのある環境音を聞くことができるという状況を生成することができる。
【０１０７】
特に、上記構成を採用することにより、例えば図６に示すように、仮想カメラ４０が移動経路２６に沿って移動する際に、音源群５０は移動経路２８に沿って環境音発生エリア２２内を移動し、前述したように仮想カメラ４０の位置及び向きに応じた位置や、広がりをもつ環境音を生成することができる。
【０１０８】
３−５．音源群５０と、音出力部１９２としての左右一対のスピーカからの最終的な出力音量との関係
左右一対のスピーカから実際に出力される最終的な出力音量は、オブジェクト空間内における仮想カメラ４０から音源群５０を構成する左右一対の音源５６Ｒ、５６Ｌに対する角度と距離に基づき算出する（前後方向は絶対値）。
【０１０９】
ここにおいて、仮想カメラ４０の視線方向４２を１２時方向として、３時の方向を角度０にし、反時計回りに角度を表すものとする。このとき、角度０度に位置する音源は、右スピーカからのみ音声出力され、角度９０度、２７０度に位置する音源は、左右のスピーカから均等に音声出力され、１８０度に位置する音源は左スピーカのみからの音声出力となる。
【０１１０】
さらに、仮想カメラ４０と各音源５６Ｒ、５６Ｌとの距離が離れるにつれ音量が減少するようにスピーカからの出力音量は制御される。
【０１１１】
図９（Ａ）〜（Ｃ）には、環境音発生エリアとして池Ａ、池Ｂが存在し、これら各池Ａ、Ｂに対応付けた音源群５０Ａ、５０Ｂが存在している例を示す。また、これ以外にも同図には、他の音色を表す音源群５０Ｃ、５０Ｄが存在しているものとする。
【０１１２】
図９（Ａ）〜（Ｃ）では、仮想カメラ４０は池Ｂのエリア内に少し立ち入っている状態を表している。実際の環境では、池の水音は池の全面から発生していると考えることができる。これを無数の点音源（１チャンネル×ｎ）で再現するものではなく、本実施の形態では、仮想カメラ４０の向きに応じてその座標を変えるという前述した音源群５０を用い、環境音を自然に再現することを可能としている。
【０１１３】
図９（Ａ）では、池Ａの直径と同一の幅をもつ音源群５０を、池Ａの中心に配置している。
【０１１４】
ここでは、数値の音源群５０Ａ〜５０Ｄは、両端の音源５６Ｒ及び５６Ｌを結ぶ線が、仮想カメラ４０の視線方向４２と直交するようにその回転角が設定されている。
【０１１５】
このとき、池Ｂの音源群５０Ｂの左音源５６Ｌは角度１２０度、距離６０ｍ、右音源５６Ｒは角度８５度、距離５５ｍであるとすると、音源の定位、すなわち左右スピーカからの最終的な出力音量は前述したように、これらの角度及び距離に基づき算出される。
【０１１６】
この状態から図９（Ｂ）に示すように、仮想カメラ４０がやや右に向きを変えると、これに応じて各音源群５０Ａ〜５０Ｄも、左右の音源５６Ｒ、５６Ｌを結ぶ線が仮想カメラ４０の視線方向４２と直交するようにその向きが制御される。このとき音源群５０Ｂの左音源５６Ｌは角度１５０度、距離７０ｍ、右音源５６Ｒは角度１１０度、距離４５ｍとなり、音源の定位、すなわち左右スピーカからの最終出力音量はこれらの値によって算出される。
【０１１７】
また図９（Ｃ）に示すように、仮想カメラ４０が右を向くと、同様に仮想カメラ４０の視線方向４２に対し、各音源群５０Ａ〜５０Ｄの左右の音源５６Ｒ、５６Ｌを結ぶ線が直交するように、音源群５０は回転制御される。
【０１１８】
このようにして、仮想カメラ４０の向きに合わせて、音源群５０の向きを制御することにより、仮想カメラ４０の自由な動きに対して、無数の点音源を用いることなく、池の全面から発生する環境音（水音）を再現することができる。
【０１１９】
またこの方法により、以下の作用効果を得ることができる。
【０１２０】
イ：池に近づくほど定位（左右スピーカからの最適な出力音量）の幅が広がり、遠ざかれば狭まるという広がり感及び遠近感を表現することができる。
【０１２１】
ロ：池に正対していない状態（カメラの斜め前方、後方に池がある状態）での環境音の広がり感、遠近感及び定位感の表現をできる。
【０１２２】
ハ：池に立ち入った状態（右音源５６Ｒ、左音源５６Ｌの間にカメラがある状態）での環境音の広がり感及び定位感を表現することができる。
【０１２３】
ニ：池の中心に立った状態（仮想カメラの位置と音源群５０の位置が重なる状態）での環境音の広がり感を表現することができる。
【０１２４】
３−６．音源群５０の制御点移動可能エリア２３
海、沼、湖のようなある一定以上の広さをもつ環境音発生領域２２では、図１０に示すように仮想カメラ４０が環境音発生エリア２２内へ移動すると、これと同時に音源群５０が仮想カメラ４０に向けて移動し、両者は重なる状態となることは前述した。
【０１２５】
しかし、例えば環境音発生エリア２２が海のような場合に、その波打ち際で仮想カメラ４０と音源群５０が重なった状態になってしまう事態が発生すると、海の真ん中で波の音を聞いているような感覚となってしまい、波打ち際での環境音として違和感が発生してしまう。
【０１２６】
このような事態の発生を防止するため、本実施の形態では環境音発生エリア２２に関連付けて音源群５０の制御点移動可能エリア２３を図１０に示すように設定する。
【０１２７】
具体的には、環境音発生エリア２２の内側に位置して前記制御点移動可能エリア２３を設定する。
【０１２８】
このようにすることにより、例えば陸地にいた仮想カメラ４０が、環境音発生エリア２２である海の波打ち際の内部の４０′の位置まで移動した場合であっても、制御点移動可能エリア２３まで移動しない限りは、音源群５０は仮想カメラ４０′に近づくように接近するものの、両者は重なることはない。
【０１２９】
従って、仮想カメラ４０′では、海の方向から波の環境音が聞こえることとなり、違和感がない環境音の生成を行うことができる。
【０１３０】
このような制御点移動可能エリア２３は、環境音発生エリア２２の波打ち際から１，２歩入った領域に設定しておくことが好ましい。
【０１３１】
３−７．音源群５０の制御点５２に対する各音源５６Ｒ、５６Ｌの配置
音源群５０の制御点５２は、仮想カメラ４０に対し制御点移動可能エリア２３内を常に最短距離となるように移動する。
【０１３２】
例えば図１１（Ａ）に示す状態では、波の音の音源群５０が、制御点移動可能エリア内の仮想カメラ４０に対して最短距離となる位置まで移動する。このとき、音源群５０の仮想アーム５４Ｒ、５４Ｌが長く、左右の音源５６Ｒ、５６Ｌが海である環境音発生エリア２２の外部にはみ出してしまうと、環境音発生エリア２２とは異なる方向から波の音が聞こえてしまうという事態の発生も予想される。
【０１３３】
このため、本実施の形態では、図１１（Ａ）に示すように、音源群５０の各音源５６Ｒ、５６Ｌが環境音発生エリア２２の外部にはみ出した位置となった場合には、図１１（Ｂ）に示すように、これら各音源５６Ｒ、５６Ｌが環境音発生エリア２２内に位置するように、制御点５２に対する各音源５６Ｒ、５６Ｌの配置を制御するという処理を行う。
【０１３４】
これにより、環境音発生エリア２２の方角から波の音の環境音を所定の広がりをもって生成することができ、環境音の生成を、係る観点からも違和感なく行うことが可能となる。
【０１３５】
３−８．音源群５０の仮想アームの伸縮
図１２に示すように、仮想カメラ４０と環境音発生エリア２２とが位置する場合を想定する。この場合、環境音発生エリア２２の環境音、例えば波の音を生成する音源群５０の制御点５２のオブジェクト空間における位置は、移動可能エリア２３内を移動し、カメラ４０に対し最短距離になるように位置する。
【０１３６】
このとき、音源群５０の、例えば右音源５６Ｒ′と制御点５２との間に障害物となる山オブジェクト６０が存在する場合を想定すると、このままでは仮想カメラ４０の位置で、波の音の環境音を良好に聞くことができるようにその生成を行うことができない。
【０１３７】
このような場合に、本実施の形態では、音源５６と制御点５２との間に障害物が存在しないか否かの判定処理を行い、障害物である山オブジェクト６０が存在すると判定された場合には、この障害物である山オブジェクト６０を避ける位置まで音源５６Ｒを移動させる。
【０１３８】
これにより、音源と仮想カメラとの間に障害物６０が存在した場合も、環境音発生エリア２２からの環境音を良好に生成することが可能となる。
【０１３９】
３−９．左右２チャンネルのスピーカからの音声出力
図１３に、例えば波の音の出力を左右２チャンネルのスピーカから行う場合の具体例を示す。
【０１４０】
音源は右チャンネル用×２、左チャンネル用×２で４音源を確保しておく。環境音データの音色は、環境音発生エリアごとに右音源５６Ｒ用の環境音データが３パターン（右用の波１、波２、波３）、左音源５６Ｌ用の環境音データが３パターン（左用の波１、波２、波３）用意されており、この中から右音源５６Ｒ用の環境音データと左音源５６Ｌ用の環境音データとをランダムに選択して出力する。本実施の形態では、いずれのパターンもキーオンした後５秒でキーオフされる単発ファイルとして構成される。
【０１４１】
そして、各環境音データを出力するタイミングは、本実施の形態では、５秒±２秒の間隔としている。これにより、左右２チャンネルから、波の音をゆらぎの演出をしながら環境音として生成することができる。なお、図１３の例では、左音源５６Ｌ用の環境音データと右音源５６Ｒ用の環境音データの出力タイミングは同時とされているが、左右のチャンネルで出力タイミングをずらしてもよい。かかる構成を採用すれば、波の音をよりランダムなものとすることができ、自然の波の音に近いリアルな波の音を再現することができる。
【０１４２】
このとき、音源群５０の各音源５６Ｒ、５６Ｌに対してそれぞれ右スピーカ及び左スピーカから出力される音源の定位（左右スピーカからの最終的な出力音量）は、前述したように各音源５６と仮想カメラ４０との角度、距離により算出される。
【０１４３】
図１４は、川の音を左右一対のスピーカから出力する場合の例である。この場合、音源は右チャンネル×１、左チャンネル×１で２音源確保しておく。ここでは、川の音はループファイルとして形成されており、プログラムからキーオフするまで出力され続ける。
【０１４４】
４．本実施の形態の処理
次に、本実施の形態の詳細な処理例を、図１４に示すフローチャートを用いて説明する。この例では、音源群５０の制御点５２が所定の移動経路上を移動するように、音源群５０の移動演算が行われる。
【０１４５】
まずゲーム空間内において、環境音の再生命令が発生すると（ステップＳ１０）、環境音発生エリア２２における音源群５０の移動経路の情報を取得する（ステップＳ１２）。
【０１４６】
そして、該当する環境音を発生するための音源群５０を、移動可能エリア２３内に配置し（ステップＳ１４）、次にこの移動可能エリア２３内において仮想カメラ４０との距離が最短となる移動経路上の一点の座標を取得し（ステップＳ１６）、この座標に向けて音源群５０の制御点５２を移動させる処理を行う（ステップＳ１８、Ｓ２０）。
【０１４７】
次に、仮想カメラ４０の向きを取得し（ステップＳ２２）、音源群５０の左右一対の音源５６Ｒ、５６Ｌを結ぶ直線が、仮想カメラ４０の視線方向４２と直交するように、音源群５０の向きを制御する（ステップＳ２４）。
【０１４８】
すなわち、例えば図８に示すように、仮想カメラ４０に対し最短距離となる位置まで音源群５０は移動し、かつ仮想カメラ４０の視線方向４２に対し、音源群５０の各音源５６Ｒ、５６Ｌを結ぶ直線が直交するように、音源群５０の向きが制御されることになる。
【０１４９】
なお、仮想カメラ４０が、環境音発生エリア２２の制御点移動可能エリア２３内に位置する場合には、仮想カメラ４０と音源群５０とはその座標位置が重なり合うように制御される。
【０１５０】
次に、ステップＳ２６において、音源群５０の一対の音源５６Ｒ、５６Ｌの座標を取得し、その座標位置が前述した図１１（Ａ）に示す状況であるか、図１２の５６Ｒ′に示すように障害物６０が存在する位置になるか否かを判定し、このような判定結果からこの座標位置の補正が必要か否かを判断する。
【０１５１】
補正が必要と判断された場合には、図１１、図１２に示す問題が解消するように該当する音源の座標位置を補正する（ステップＳ３０）。
【０１５２】
次に、仮想カメラ４０から各音源５６Ｒ、５６Ｌまでの距離、角度を取得し（ステップＳ３２）、これにより左右スピーカへの出力音量を算出し（ステップＳ３４）、これら左右のスピーカから該当する環境音を出力する（ステップＳ３６）。
【０１５３】
このようなステップＳ１６〜ステップＳ３６に示す一連の処理を、ステップＳ３８で再生終了と判断されるまで繰り返して行う。
【０１５４】
これによりオブジェクト空間内において、環境音発生エリアから発生する環境音を、広がりのある自然な環境音として再生し、ゲームを楽しむことを可能とする。
【０１５５】
５．変形例
なお本発明は前記実施の形態に限定するものではなく、本発明の要旨の範囲内で各種の変形実施が可能である。
【０１５６】
例えば、前記実施例では、音源群として、制御点に対し左右一対の音源が配置されたものを例に取り説明したが、本発明はこれに限らず、３つ以上の音源が配置されたものに対しても適用することができる。
【０１５７】
また、前記実施例では、制御点が１つの音源を例に取り説明したが、本発明はこれに限らず、例えば図１５に示すように、複数の関節が連結されたむかで型の音源群を採用することも可能である。この場合には、例えば各関節を音源群５０の制御点５２とし、これら制御点５２の両側に図７に示す音源群と同様に左右一対の音源５６Ｒ、５６Ｌを配置する構成としてもよい。このような多関節の音源群５０を採用した場合には、この音源を例えば川の音などが発生する環境音発生エリア２２内に配置し、仮想カメラ４０が移動経路２６に沿って移動するにつれ、この仮想カメラ４０との距離が最短距離となるように音源群５０もその移動可能エリア２３内を移動する。
【０１５８】
このとき、むかで型の音源群５０の制御に用いる制御点は、複数の制御点５２−１〜５２−５の中から代表的な制御点を決めて用いてもよく、またこれら各制御点の位置の平均座標を求めて用いてもよい。
【０１５９】
このとき、各制御点５２−１〜５２−５の両端に配置された左右一対の音源５６Ｒ、５６Ｌは、これらを結ぶ直線が仮想カメラ４０の視線方向を直交するように、その向きが制御されることはいうまでもない。
【０１６０】
６．ハードウェア構成
図１７に本実施の形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１６１】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１６２】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データ（頂点データや他のパラメータ）を描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。
【０１６３】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１６４】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１６５】
なお本実施の形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１６６】
そして本実施の形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施の形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１６７】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。
【０１６８】
また、本実施の形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【０１６９】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【図面の簡単な説明】
【０１７０】
【図１】本実施の形態の機能ブロック図である。
【図２】従来の単一音源を用いた手法の説明図である。
【図３】従来の環境音の生成手法の説明図である。
【図４】従来の環境音の生成手法の説明図である。
【図５】従来の環境音の生成手法の説明図である。
【図６】オブジェクト空間の説明図である。
【図７】音源群の説明図である。
【図８】音源群の制御手法の説明図である。
【図９】音源群の制御手法の説明図である。
【図１０】音源群の移動可能エリアの説明図である。
【図１１】音源群の音源位置を補正する処理の説明図である。
【図１２】音源群の音源位置を補正する処理の説明図である。
【図１３】生成された環境音を出力する場合の説明図である。
【図１４】生成された環境音を出力する場合の説明図である。
【図１５】本実施の形態の処理の一例を示すフローチャート図である。
【図１６】本発明の変形例の説明図である。
【図１７】ハードウェア構成の説明図である。
【符号の説明】
【０１７１】
１００  処理部
１１０  ゲーム演算部
１１１  オブジェクト空間設定部
１１３  仮想カメラ制御部
１２０  画像生成部
１３０  音生成部
１４０  環境音情報演算部
【図１】
2007229241.tif 000003
【図６】
2007229241.tif 000004
【図７】
2007229241.tif 000005
【図８】
2007229241.tif 000006
【図９】
2007229241.tif 000007
【図１０】
2007229241.tif 000008
【図１１】
2007229241.tif 000009
【図１２】
2007229241.tif 000010
【図１３】
2007229241.tif 000011
【図１４】
2007229241.tif 000012
【図１５】
2007229241.tif 000013
【図１６】
2007229241.tif 000014
【図１７】
2007229241.tif 000015
【図２】
2007229241.tif 000016
【図３】
2007229241.tif 000017
【図４】
2007229241.tif 000018
【図５】
2007229241.tif 000019