(57)【要約】【課題】仮想空間において立体的な音響効果を得るために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供する。【解決手段】音声処理装置２００において、計算部２０１は仮想空間内に受聴点を含む立体を配置する。この立体は所定の単位図形の集合から構成される。計算部２０１はこの立体が占める範囲と所定のオブジェクトが占める範囲とが交わる領域の分布と、交わる量とを求める。変化部２０２は計算部２０１により求められた交わる領域の分布と交わる量とに基づいて、所定のオブジェクトによる音声の反射音を変化させる。出力部２０３は変化部２０２により変化された反射音を出力する。【選択図】図２
2007180935.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に配置されるオブジェクトにより反射される反射音が到達する到達点を含む立体が占める領域と、当該オブジェクトと、が交わる量を計算する計算部、
前記計算部により計算された前記交わる量に基づいて、前記オブジェクトから反射される反射音を変化させる変化部、
前記変化部により変化された反射音を、前記到達点で取得される音声として出力する出力部
を備えることを特徴とする音声処理装置。
【請求項２】
請求項１に記載の音声処理装置であって、
前記変化部は、前記立体と、前記オブジェクトと、が交わる領域の分布によって、前記反射音の定位を変化させる
ことを特徴とする音声処理装置。
【請求項３】
請求項１または２に記載の音声処理装置であって、
前記仮想空間内の前記到達点から前記仮想空間内に配置される前記オブジェクトを見た画像を生成する画像生成部、
前記到達点から当該仮想空間内に配置される前記オブジェクトを見る視線方向を、前記画像生成部から取得する視線方向取得部を更に備え、
前記計算部は、当該視線方向取得部により取得された視線方向に基づいて前記立体を配置して、前記立体と前記オブジェクトとの前記交わる量を計算する
ことを特徴とする音声処理装置。
【請求項４】
仮想空間内に配置されるオブジェクトにより反射される反射音が到達する到達点を含む立体が占める領域と、当該オブジェクトと、が交わる量を計算する計算ステップ、
前記計算ステップにより計算された当該交わる量に基づいて、当該オブジェクトから反射される反射音を変化させる変化ステップ、
前記変化ステップにより変化された反射音を、当該到達点で取得される音声として出力する出力ステップ
を備えることを特徴とする音声処理方法。
【請求項５】
コンピュータを、
仮想空間内に配置されるオブジェクトにより反射される反射音が到達する到達点を含む立体が占める領域と、当該オブジェクトと、が交わる量を計算する計算部、
前記計算部により計算された当該交わる量に基づいて、当該オブジェクトから反射される反射音を変化させる変化部、
前記変化部により変化された反射音を、当該到達点で取得される音声として出力する出力部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間において立体的な音響効果を得るために好適な音声処理装置、音声処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
仮想空間内のある位置に視点を置き、この視点からの仮想画像を合成して表示するシミュレーションゲームがよく知られている。このようなゲームでは、仮想空間内にオブジェクトを配置し、視点からオブジェクトまでの距離や方向などに基づいて視点からのオブジェクトの仮想画像を求めて表示することによって、あたかもユーザが仮想空間内にいるかのような現実感を起こさせる。
【０００３】
さらに仮想空間の現実感を高めるためには、このような視覚的な効果に加えて、聴覚的な効果もシミュレーションすることが望ましい。例えば、特許文献１には、仮想空間内の視点からの仮想画像と、ゲーム音との両方を合成する３次元ゲーム装置が開示されている。これによれば、ゲーム装置は、仮想空間内を移動する移動体（例えば、自動車）と固定物（例えば、道路沿いの側壁）との距離及び移動体の速度に基づいて、固定物からの仮想的な反射音を変化させることができる。例えば、自動車の進行方向に向かって左右両側に均一な側壁が存在するとき、側壁との距離及び自動車の速度に基づいて、左側の側壁に接近するとエンジン音等の左側の側壁からの反射音を相対的に大きくしたり、右側の側壁に接近すると右側の側壁からの反射音を相対的に大きくしたりする。また、自動車の速度が大きければ側壁からの反射音も大きくする。
【特許文献１】特許第３１２３９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、現実の世界では、例えば上述の自動車などの移動体が発する音の反射音を考えると、反射音を発生させる固定物は、形状が比較的均一に形成されているような側壁だけでなく、立体的な凹凸があったり形状が複雑だったりするのが一般的である。また、対向車など他の移動体からの反射音と相交わって、結果として複雑な音響的な効果がもたらされる。この音響的な効果には、例えば、反射音の音量の変化、定位の変化のほか、音の特定の周波数成分が弱くなる（いわゆる、「音がこもる」）、反射音が反響する（いわゆる、「エコーがかかる」）、など様々なものがある。しかしながら、上述の特許文献１によれば、移動体と固定物との２次元的な位置関係に基づく音量、定位、高さの変化しか表現することができない。そのため、仮想空間において立体的な音響効果を得るためには十分ではなく、現実の世界で起こりうる状況の音響的なシミュレーションを行うことはできない。
【０００５】
本発明は、このような課題を解決するものであり、仮想空間において立体的な音響効果を得るために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係る音声処理装置は、計算部と変化部と出力部とを備える。
まず、計算部は、仮想空間内に配置されるオブジェクトによる反射音が到達する到達点を含む立体が占める領域と、オブジェクトと、が交わる量を計算する。
次に、変化部は、計算部により計算された交わる量に基づいて、オブジェクトから反射される反射音を変化させる。
そして、出力部は、変化部により変化された反射音を、到達点で取得される音声として出力する。
結果として、音声処理装置は、厳密で複雑な計算を行うことなく簡便に、任意のオブジェクトによる音声の反射音を変化させることができる。また、仮想空間において立体的な音響効果を得ることができる。そして、現実の世界に起こりうる状況の音響的なシミュレーションを行うことができ、仮想空間において現実感をより起こさせることができる。
【０００８】
例えば、計算部は、立体とオブジェクトとが交わる領域の体積を、交わる量として計算することができる。
例えば、計算部は、立体の表面とオブジェクトとが交わる領域の面積を、交わる量として計算することができる。
これにより、音声処理装置は、厳密で複雑な計算を行うことなく、体積あるいは面積を求めることにより、任意のオブジェクトによる音声の反射音を変化させることができる。
【０００９】
例えば、変化部は、交わる量が大きくなればなるほど、反射音の音量を大きくすることができる。
これにより、音声処理装置は、厳密で複雑な計算を行うことなく、反射音の音量を制御することができ、仮想空間において現実感を起こさせるエフェクトをかけることができる。
【００１０】
例えば、変化部は、立体とオブジェクトとが交わる領域の分布によって、反射音の定位を変化させることができる。
これにより、音声処理装置は、厳密で複雑な計算を行うことなく、反射音の定位を制御することができ、仮想空間において現実感を起こさせるエフェクトをかけることができる。
【００１１】
さらに、音声処理装置は、画像生成部と視線方向取得部を更に備えてもよい。すなわち、画像生成部は、仮想空間内の到達点から仮想空間内に配置されるオブジェクトを見た画像を生成する。また、視線方向取得部は、到達点から仮想空間内に配置されるオブジェクトを見る視線方向を、視線方向取得部から取得する。
そして、計算部は、視線方向取得部により取得された視線方向に基づいて立体を配置して、立体とオブジェクトとの交わる量を計算する。
これにより、音声処理装置は、到達点の位置が同じであっても、視線方向が異なれば視線方向に合致するように反射音等の音声の定位を変化させることができ、より現実感を起こさせる音響効果を得ることができる。
【００１２】
本発明のその他の観点に係る音声処理方法は、計算ステップと変化ステップと出力ステップとを備える。
まず、計算ステップは、仮想空間内に配置されるオブジェクトによる反射音が到達する到達点を含む立体が占める領域と、当該オブジェクトと、が交わる量を計算する。
次に、変化ステップは、計算ステップにより計算された交わる量に基づいて、オブジェクトから反射される反射音を変化させる。
そして、出力ステップは、変化ステップにより変化された反射音を、到達点で取得される音声として出力する。
結果として、厳密で複雑な計算を行うことなく簡便に、任意のオブジェクトによる音声の反射音を変化させることができる音声処理方法を提供することができる。また、仮想空間において立体的な音響効果を得ることができる。そして、現実の世界に起こりうる状況の音響的なシミュレーションを行うことができ、仮想空間において現実感をより起こさせることができる。
【００１３】
本発明のその他の観点に係るプログラムは、コンピュータを、計算部と変化部と出力部として機能させる。
まず、計算部は、仮想空間内に配置されるオブジェクトによる反射音が到達する到達点を含む立体が占める領域と、当該オブジェクトと、が交わる量を計算する。
次に、変化部は、計算部により計算された交わる量に基づいて、オブジェクトから反射される反射音を変化させる。
そして、出力部は、変化部により変化された反射音を、到達点で取得される音声として出力する。
結果として、プログラムは、コンピュータを、厳密で複雑な計算を行うことなく簡便に、任意のオブジェクトによる音声の反射音を変化させる装置として機能させることができる。また、仮想空間において立体的な音響効果を得ることができる。そして、現実の世界に起こりうる状況の音響的なシミュレーションを行うことができ、仮想空間において現実感をより起こさせることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００１４】
本発明によれば、仮想空間において立体的な音響効果を得るために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
（実施例１）
以下に本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００１６】
図１は、プログラムを実行することにより、本発明の音声処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００１７】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
【００１８】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施例の音声処理装置が実現される。
【００１９】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００２０】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００２１】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００２２】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザが麻雀ゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【００２３】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、麻雀ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００２４】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００２５】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００２６】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００２７】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００２８】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００２９】
また、麻雀ゲームの牌の画像やトランプゲームのカードの画像などの情報をＤＶＤ−ＲＯＭに用意しておき、これをフレームメモリに展開することによって、現在の手牌や手札を画面に表示することができるようになる。
【００３０】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００３１】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００３２】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００３３】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００３４】
次に、音声処理装置２００の概要構成について図面を参照して説明する。
図２は、本実施形態に係る音声処理装置２００の概要構成を示す模式図である。
図３は、仮想空間内に、到達点３０１と、到達点３０１を取り囲む立体３０２と、オブジェクト３０３とが配置されている例を示す図である。
【００３５】
音声処理装置２００は、計算部２０１と、変化部２０２と、出力部２０３とを備える。
【００３６】
まず、計算部２０１は、仮想空間内に配置されるオブジェクト３０３により反射される反射音が到達する到達点を含む立体３０２が占める領域と、オブジェクト３０３と、が交わる量Ｖｏｂｊを求めて、求めた量Ｖｏｂｊを変化部２０２に入力する。あるいは、到達点を含む立体３０２と、オブジェクト３０３と、が交わる領域の分布を求めて、求めた領域の分布を示すデータを変化部２０２に入力する。
なお、ＣＰＵ  １０１と画像処理部１０７とが共働することにより、計算部２０１として機能する。
【００３７】
ここで、仮想空間内に配置されたキャラクターなどが仮想空間内の様子を観測すると想定される点として、視点と聴点とがある。視点は、仮想空間内を見る点であり、例えば３Ｄグラフィックスの表示に用いられる。聴点は、仮想空間内の音を聴く点であり、例えばコンサートホールの音場の設計などに用いられる。また、聴点は仮想空間内の音声の波動が到達する到達点であるが、音声が到達する旨の理解を容易にするため、以下の説明では、仮想空間内の音声の到達点を「受聴点」と呼ぶ。例えば、ユーザが仮想空間内で車オブジェクトを操作して順位を競うようなカーレーシングゲームの場合、そのユーザが操作する車オブジェクトの運転席の位置が受聴点になる。
【００３８】
例えば、図３に示すように、受聴点３０１（到達点）を含む立体３０２は、３次元仮想空間内の受聴点３０１を取り囲む直方体である。この立体３０２は、各辺の長さがｘ方向にＬｘ、ｙ方向にＬｙ、ｚ方向にＬｚの直方体を１つの単位図形として、この単位図形の集合から構成される。本図では、立体３０２は、合計５×５×５＝１２５個の単位図形から構成される。立体３０２は、仮想空間内で受聴点３０１の絶対位置が移動すると、一緒に仮想空間内を移動する。すなわち、立体３０２に対する受聴点３０１の相対位置は一定である。なお、立体３０２を構成する単位図形の数はこれに限られず任意に設定することができる。例えば、単位図形の数はゲームのシーンごとに可変としてもよい。
【００３９】
なお、受聴点３０１を視点として仮想画像を表示させる場合には、より現実感を向上させるために、立体３０２はこの視点からの視線方向に基づいて配置されることが望ましい。また、立体３０２の重心座標と受聴点３０１の座標とが一致するように立体３０２を配置することが典型的である。
【００４０】
オブジェクト３０３は、仮想空間内の任意の形状を持つ図形で表される。例えば、カーレーシングゲームの場合、オブジェクト３０３は、コース付近の障害物、側壁、建物、競争相手の車、対向車など、多様な形状をもつ。
【００４１】
また、交わる量Ｖｏｂｊとは、仮想空間内で、受聴点３０１を含む立体３０２が占める領域と、オブジェクト３０３が占める領域とが重なる部分の大きさを示す量である。
【００４２】
例えば、図４（ａ）のように、受聴点３０１を含む立体３０２とオブジェクト３０３とが離れていると、立体３０２とオブジェクト３０３とが交わる領域は存在せず、交わる量Ｖｏｂｊはゼロである。一方、図４（ｂ）のように、立体３０２とオブジェクト３０３とが接近すると、両者の交わる領域が存在し、交わる量Ｖｏｂｊはゼロでない値を持つ。
【００４３】
計算部２０１は、立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊとして、例えば両者の交わる部分の体積値を求める。ここで、オブジェクト３０３の形状は任意であるため、交わる領域の体積値を厳密に求めるためには計算量が膨大になる場合がある。本実施例では、計算部２０１は、立体３０２を構成する単位図形ごとに、オブジェクト３０３と交わる領域が存在するか否かを判定し、単位図形内に交わる領域が存在すればその単位図形をオブジェクト３０３の一部分とみなす。そして、計算部２０１は、すべての単位図形についてこの判定を行い、オブジェクト３０３の一部分とみなされた単位図形の体積値の合計値を、立体３０２とオブジェクト３０３とが交わる部分の体積値とする。なお、オブジェクト３０３の形状が複雑である場合には、オブジェクト３０３に外接する最小の図形（例えば、直方体、球体等）を設定して、この外接図形と立体３０２との交わる領域を、オブジェクト３０３と立体３０２との交わる領域と近似してもよい。
【００４４】
例えば、図３において、ｘ軸、ｙ軸、ｚ軸が互いに直交する場合、単位図形１個あたりの体積値Ｖｕｎｉｔは、［式１］で表される。
Ｖｕｎｉｔ＝Ｌｘ×Ｌｙ×Ｌｚ    ・・・［式１］
また、オブジェクト３０３の一部分とみなされた単位図形の数がｎ個（ｎは０以上の整数）であるとすると、交わる量Ｖｏｂｊは［式２］で表される。
Ｖｏｂｊ＝Ｖｕｎｉｔ×ｎ        ・・・［式２］
【００４５】
なお、ある単位図形内での交わる部分が所定の割合（例えば、５０％）以上の場合に、その単位図形をオブジェクト３０３の一部分とみなすようにしてもよい。
【００４６】
また、オブジェクト３０３内に所定の複数個の判定ポイントを設けて、この判定ポイントが単位図形内に存在すれば、その単位図形をオブジェクト３０３の一部分とみなすようにしてもよい。あるいは、この判定ポイントが単位図形内に所定の個数以上存在すれば、その単位図形をオブジェクト３０３の一部分とみなすようにしてもよい。
【００４７】
例えば、立体３０２がｘ方向に５個、ｙ方向に５個、ｚ方向に５個、の合計１２５個の単位図形から構成され、図５（ａ）のように立体３０２とオブジェクト３０３とが交わる領域が存在するとする。このとき、計算部２０１は、上述のいずれかの方法で単位図形ごとにオブジェクト３０３が存在するか否かを判定し、例えば図５（ｂ）のように分布する１０個の単位図形がオブジェクト３０３の一部分であるとみなす。そして、計算部２０１は、立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊとして体積値「１０（単位は任意）」を得る。
【００４８】
また、オブジェクト３０３ごとに予め識別番号ｉ（ｉは１以上の整数）を付与し、オブジェクト３０３ごとに所定の係数Ｋ（ｉ）を設定しておき、単位図形ｉに対応する交わる量Ｖ（ｉ）を、［式３］のように係数Ｋ（ｉ）と単位図形１個あたりの体積値Ｖｕｎｉｔとを乗じることにより求めてもよい。
Ｖ（ｉ）＝Ｋ（ｉ）×Ｖｕｎｉｔ  ・・・［式３］
そして、立体３０２とオブジェクト３０３とが交わる領域のすべての単位図形についてのＶ（ｉ）の総和を、交わる量Ｖｏｂｊとしてもよい。
【００４９】
すなわち、単位図形ごとに、交わる量Ｖ（ｉ）に重みを設定してもよい。例えば、仮想空間内のオブジェクト３０３の材質（例えば、コンクリート、鉄板など）や形状（例えば、均一な平面、穴の空いた平面など）に基づいて、予めこの係数Ｋ（ｉ）を設定してもよい。
【００５０】
あるいは、体積値の代わりに、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域が存在する（オブジェクト３０３の一部分とみなされる）単位図形の数ｎ（ｎは０以上の整数）を、交わる量Ｖｏｂｊとしてもよい。
【００５１】
また、体積値の代わりに、受聴点３０１を含む立体３０２を構成する単位図形の総数Ｎｕｎｉｔに対する、オブジェクト３０３とが交わる領域が存在する（オブジェクト３０３の一部分とみなされる）単位図形の数ｎの割合を［式４］のように求めて、この割合の大きさを、交わる量Ｖｏｂｊとしてもよい。
Ｖｏｂｊ＝ｎ／Ｎｕｎｉｔ        ・・・［式４］
【００５２】
変化部２０２は、計算部２０１により求められた、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊ（例えば、体積値）や領域分布に基づいて、このオブジェクト３０３から反射される反射音（例えば、自動車のエンジン音の反射音など）を変化させる音声処理を行う。変化部２０２は、反射音を変化させることを示す情報（例えば、変化後の音量、定位等を設定するパラメータ等）を出力部２０３に入力する。
なお、ＣＰＵ  １０１と音声処理部１１０とが共働することにより、変化部２０２として機能する。
【００５３】
例えば、変化部２０２は、計算部２０１により求められた体積値に基づいて、オブジェクト３０３からの反射音の音量を変化させることができる。すなわち、変化部２０２は、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域の体積値が大きくなればなるほど、オブジェクト３０３からの反射音の音量を大きくする制御を行うことができる。
【００５４】
また、変化部２０２は、計算部２０１により求められた領域分布に基づいて、オブジェクト３０３からの反射音の定位（音源の位置）を変化させることができる。すなわち、変化部２０２は、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域の分布が受聴点３０１の左側（あるいは右側）に偏っていれば左側（あるいは右側）からの反射音を大きくし、前方（あるいは後方）に偏っていれば前方（あるいは後方）からの反射音を大きくする制御を行うことができる。
【００５５】
ここで、計算部２０１により求められた領域分布は３次元で表されるため、受聴点３０１の上方（あるいは下方）に偏っていれば上方（あるいは下方）からの反射音を大きくすることもできる。さらに、受聴点３０１から見た単純な前後・左右・上下の関係だけではなく、例えば「受聴点３０１から見た左上前方斜め３０度の方向」などのように立体的に任意に定位を求めることができる。
【００５６】
例えば、変化部２０２は、オブジェクト３０３が存在するとみなされた単位図形の集合の重心座標を求めて、この重心座標と受聴点３０１の座標とを結ぶベクトルの向きに基づいて定位を求めることができる。ただし定位を求める方法はこれに限定されず、他の方法を用いてもよい。
【００５７】
また、変化部２０２は、オブジェクト３０３が存在する領域分布と受聴点３０１の位置とに基づいて、反射音を再生するまでの時間的なずれを生じさせる制御を行うことができる。例えば、変化部２０２は、上述のような重心座標を求めて、この重心座標と受聴点３０１の座標とに基づいて距離を求め、反射音が受聴点３０１に到達するまでの時間（つまり、反射音の再生開始の時間）を決定する。
【００５８】
このように、本実施例によれば、複雑な計算を行うことなく簡便に、計算部２０１により求められた領域分布や体積値に基づいて、音量、定位、時間差などを変化させることができる。
【００５９】
さらには、変化部２０２は、計算部２０１により求められた領域分布に基づいて、反射音を反響させる（エコーをかける）エフェクトをかけることができる。例えば、カーレーシングゲームでユーザが操作する車オブジェクトが図６（ａ）のようなオブジェクト３０３（トンネル）に入ったとき、計算部２０１により求められる領域分布は、図６（ｂ）に示すような受聴点３０１を取り囲む分布になる。
【００６０】
一方、現実の音響効果では、自動車のエンジン音はトンネルの壁の一部分により反射されて第１の反射音が発生し、第１の反射音はさらに壁の他の一部分により反射されて第２の反射音が発生する。同様に反射音が繰り返し反射されることにより、結果として、第１の反射音から時間が遅れて、音量が減衰した第２の反射音が続くなどして、反射音は反響する。この効果を厳密に計算するためには、トンネルの壁を論理的に分割した仮想断片のひとつと音源との距離、受聴点３０１の移動速度、音源の移動速度などに基づいて、仮想断片のひとつによる反射音を求め、すべての仮想断片について積分して反射音を求め、同様に得られた反射音のすべてを合成する処理を行わなければならない。
【００６１】
しかし、本実施例によれば、このような厳密で複雑な計算を行うことなく、反射音を変化させることができる。具体的には、変化部２０２は、計算部２０１により求められた領域分布と体積値とに基づいて、音声データに施す反響効果の程度、音量、定位などを示すパラメータを求めて、反響効果の程度、音量、定位などを示すパラメータを出力部２０３に入力する。
【００６２】
例えば、変化部２０２は、計算部２０１により求められた領域分布が受聴点３０１を含む立体３０２の表面の一側面にのみ分布するときには反響効果が無く、図７のように一側面とその反対側にも分布するときには所定量の反響効果を発生させる。例えば、ある時刻Ｔ１に反射音を所定の音量で再生し、所定の時間経過後に反射音を始めの音量より減衰させた音量で再生する。そしてこれを繰り返し行い、結果として反射音が反響するエフェクトをかける。更に図６（ｂ）のように上部も合わせて３方向に分布するときには更に大きい反響効果を発生させることができる。
【００６３】
このように、本実施例によれば、音声処理装置２００は、厳密で複雑な計算を行うことなく簡便に、計算部２０１により求められた領域分布に基づいてこのような反射音を反響させる（エコーをかける）エフェクトをかけることができ、なお且つ計算部２０１により求められた交わる量Ｖｏｂｊの大きさに基づいてこの反響の効果の大小を変えることができる。
【００６４】
さらには、変化部２０２は、計算部２０１により求められた領域分布に基づいて、反射音の特定の周波数成分を減衰する（音をこもらせる）エフェクトをかけることもできる。例えば受聴点３０１（ユーザが操作する車オブジェクト）が図６（ａ）のようなオブジェクト３０３（トンネル）に入ったとき、変化部２０２は図６（ｂ）のように計算部２０１により求められた領域分布と交わる量Ｖｏｂｊとを取得して反射音の特定の周波数成分（例えば高周波成分）を所定量だけ減衰させ、更に図８（ａ）のようなオブジェクト３０３（もっと狭いトンネル）に入ったときには、図８（ｂ）のような領域分布と交わる量Ｖｏｂｊとを取得して更に大きい減衰効果を発生させることができる。
【００６５】
このように、本実施例によれば、厳密で複雑な計算を行うことなく、図６（ｂ）や図８（ｂ）などのように計算部２０１により求められた領域分布と体積値とに基づいて、音をこもらせるエフェクトをかけることができ、なお且つ計算部２０１により求められた体積値や領域分布に基づいてこの効果の大小を変えることができる。
【００６６】
なお、変化部２０２が行う反射音の音声処理は、上述したものに限られるものではなく、他のエフェクトを行うように構成することもできる。例えば、受聴点３０１やオブジェクト３０３の移動速度に基づいて、反射音の周波数や音程などを変化させるエフェクトを行うように構成することもできる。
【００６７】
出力部２０３は、変化部２０２により変化された反射音から、仮想空間内の受聴点３０１で受聴される音声を出力する。すなわち、出力部２０３は、変化部２０２から反射音を変化させる情報を取得し、ＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭ等の情報記憶媒体に予め記憶された再生対象の反射音の音声データを取得する。そして、出力部２０３は、再生対象の反射音の音声データを変化させて出力する。変化された反射音は、音声処理部１１０に接続されたスピーカ等によって出力され、結果としてユーザは反射音を含むゲーム音などを聴くことができる。
なお、ＣＰＵ  １０１と音声処理部１１０とが共働することにより、出力部２０３として機能する。
【００６８】
例えば、仮想空間内でのカーレーシングゲームにおいて図９（ａ）のようなシーンを考える。この例では、受聴点３０１はユーザが操作する車オブジェクトの運転席であり、受聴点３０１付近には併走する車オブジェクト９０１やコース付近の建物オブジェクト９０２といったオブジェクト３０３が存在する。受聴点３０１で受聴される音声には、例えばユーザが操作する車オブジェクトのエンジン音、このエンジン音のオブジェクト３０３（併走する車オブジェクト９０１や近くの建物オブジェクト９０２など）による反射音、オブジェクト３０３等からの発声音などがある。このうちオブジェクト３０３による反射音は、上述のように変化部２０２により変化された反射音である。受聴点３０１を含む立体３０２を考慮すると、オブジェクト３０３の１つである併走する車オブジェクト９０１が存在する領域分布９１１と、オブジェクト３０３の１つである近くの建物オブジェクト９０２が存在する領域分布９１２は、例えば図９（ｂ）のようになる。この場合、併走する車オブジェクト９０１による第１の反射音は、図９（ｂ）の領域分布９１１と体積値「２０（単位は任意）」とに基づいて変化部２０２により変化された反射音になる。また、近くの建物オブジェクト９０２による第２の反射音は、図９（ｂ）の領域分布９１２と体積値「１０（単位は任意）」とに基づいて変化部２０２により変化された反射音になる。出力部２０３は、この第１及び第２の反射音を含む音声を出力する。
【００６９】
例えば、本図のような状況では、出力部２０３は、併走する車オブジェクト９０１による第１の反射音の音量を、建物オブジェクト９０２による第２の反射音の音量の２倍に設定して出力できる。また、出力部２０３は、第１及び第２の反射音にそれぞれ別の定位を設定して反射音を出力できる。さらには、出力部２０３は、受聴点３０１が２つのオブジェクト３０３に挟まれることによる、反射音を反響させるエフェクトや、反射音をこもらせるエフェクトをかけることもできる。
【００７０】
次に、本実施例に係る音声処理装置２００が行う、反射音の音声処理について、図１０のフローチャートを用いて説明する。
【００７１】
まず、音声処理装置２００は、仮想空間内に受聴点３０１とオブジェクト３０３を配置する。例えば、ＣＰＵ  １０１は、ＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭ等から読み込んだ所定のゲーム用プログラムを読み込んで実行する。そして、ＣＰＵ  １０１は画像処理部１０７と共働して、受聴点３０１とオブジェクト３０３の座標等を計算してこれらを仮想空間内に配置し、任意の視点の視線方向の仮想画像を生成する。生成された仮想画像は、画像処理部１０７に接続されたモニタ等に表示される。
【００７２】
次に、計算部２０１は、仮想空間内の受聴点３０１を取り囲むように立体３０２を配置する（ステップＳ１１）。この立体３０２の形状、サイズ、立体３０２を構成する単位図形は、ゲーム用プログラムにより予め決められている。あるいは、ゲームのシーンによって可変としてもよい。
【００７３】
計算部２０１は、受聴点３０１を含む立体３０２とオブジェクト３０３の位置情報を取得する（ステップＳ１２）。例えば、位置情報は、３次元の仮想空間内における受聴点３０１、立体３０２及びオブジェクト３０３の座標である。
【００７４】
計算部２０１は、取得した位置情報に基づいて、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域が存在するか否かを判定する（ステップＳ１３）。
【００７５】
受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域が存在しない場合（ステップＳ１３；ＮＯ）、音声処理装置２００は反射音の音声処理を終了する。すなわち、音声処理装置２００はオブジェクト３０３による反射音の再生を行わない。
【００７６】
一方、交わる領域が存在する場合（ステップＳ１３；ＹＥＳ）、計算部２０１は、交わる領域の分布を求める（ステップＳ１４）。
【００７７】
例えば、図９（ａ）のように、仮想空間内のカーレーシングゲームにおいて、仮想空間内にオブジェクト３０３とユーザが操作する車オブジェクトの受聴点３０１とが配置され、受聴点３０１におけるユーザが操作する車オブジェクトのエンジン音のオブジェクト３０３による反射音を得るとする。計算部２０１は、ユーザが操作する車オブジェクトと併走する車オブジェクト９０１が存在する領域分布９１１を上述した方法により求める。また、同様に、計算部２０１は、受聴点３０１の近くの建物オブジェクト９０２が存在する領域分布９１２を上述した方法により求める。結果として、計算部２０１は、図９（ｂ）のようにオブジェクト３０３が存在する領域分布を得る。
【００７８】
計算部２０１は、取得した受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域の分布から、上述した方法により交わる量Ｖｏｂｊを求める（ステップＳ１５）。
【００７９】
例えば、図９（ｂ）のように、計算部２０１は、受聴点３０１を含む立体３０２とオブジェクト３０３（車オブジェクト９０１）との交わる量Ｖｏｂｊとして体積値「２０」を得る。同様に、計算部２０１は、受聴点３０１を含む立体３０２とオブジェクト３０３（建物オブジェクト９０２）との交わる量Ｖｏｂｊとして体積値「１０」を得る。
【００８０】
なお、計算部２０１は、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域が存在するか否かに関わらず、交わる領域の分布と、交わる量Ｖｏｂｊとを求めるように構成してもよい。
【００８１】
次に、変化部２０２は、計算部２０１により求められた交わる領域の分布と交わる量Ｖｏｂｊとに基づいて、オブジェクト３０３による反射音を変化させる（ステップＳ１６）。
【００８２】
例えば、変化部２０２は、交わる領域の体積値が大きくなればなるほど、反射音の音量を大きくする。また、例えば、変化部２０２は、交わる領域の分布によって、反射音の定位を変化させる。
【００８３】
例えば、変化部２０２は、交わる領域の分布が、図７のように受聴点３０１を挟む両側に存在する分布に近ければ近いほど、反射音の反響（エコー）の度合い（例えば、持続時間など）を大きくする。
【００８４】
例えば、変化部２０２は、図８（ｂ）のように受聴点３０１のオブジェクト３０３により囲まれる領域が狭ければ狭いほど、反射音の特定の周波数成分を減衰させる（音をこもらせる）度合いを大きくする。
【００８５】
そして、出力部２０３は、変化部２０２により変化された反射音を出力する（ステップＳ１７）。すなわち、出力部２０３は、ステップＳ１６で求められた、反射音を変化させることを示す情報と、再生する音声データとを用いて、オブジェクト３０３による変化された反射音と、その他のゲーム上のキャラクタ等が発声する音声、効果音、ＢＧＭなどを出力する。
【００８６】
なお、この反射音の音声処理は、所定のタイミング（例えば、画像処理部１０７に接続されたモニタに画像を表示する際の垂直同期のタイミング等）の割り込み処理として行われることが望ましい。
【００８７】
このように、本実施例によれば、音声処理装置２００は、厳密で複雑な計算を行うことなく簡便に、計算部２０１により求められた領域分布や体積値に基づいて、反射音の音量、定位、時間差などを変化させることができる。また、反射音にエコーをかけたり、音をこもらせたりすることができる。この結果、仮想空間において立体的な音響効果を得ることができる。
【００８８】
（実施例２）
次に、本発明の他の実施例について説明する。本実施例では、計算部２０１は、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊとして、体積値の代わりに面積値を求める。なお、本実施例に係るその他の音声処理装置２００の構成は上述した実施例と同様であるため、説明を省略する。
【００８９】
計算部２０１は、立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊとして、両者の交わる領域の面積値を求める。ここで、オブジェクト３０３の形状は任意であるため、交わる領域の面積値を厳密に求めるためには計算量が膨大になる場合がある。本実施例では、計算部２０１は、立体３０２の表面を構成する単位図形ごとに、オブジェクト３０３と交わる領域が存在するか否かを判定し、交わる領域が存在すればその単位図形を交わる領域の一部分とみなす。そして、すべての単位図形についてこの判定を行い、交わる領域の一部分とみなされた単位図形の面積値の合計値を、交わる量Ｖｏｂｊとする。
【００９０】
なお、単位図形内の交わる領域が所定の割合（例えば、５０％）以上の場合に、その単位図形を、交わる量Ｖｏｂｊの一部分とみなすようにしてもよい。
【００９１】
また、面積値の代わりに、受聴点３０１を含む立体３０２の表面を構成する単位図形の総数Ｎｕｎｉｔに対する、オブジェクト３０３とが交わる領域が存在する単位図形の数ｎの割合を［式４］のように求めて、この割合の大きさを、交わる量Ｖｏｂｊとしてもよい。
【００９２】
例えば、立体３０２が直方体であり、各面が５×５＝２５個の単位図形から構成され、図１１（ａ）のように立体３０２とオブジェクト３０３とが交わる領域が存在するとする。このとき、計算部２０１は、上述のいずれかの方法で単位図形ごとにオブジェクト３０３が存在するか否かを判定し、例えば図１１（ｂ）のように分布する１０個の単位図形が、立体３０２とオブジェクト３０３とが交わる領域であるとみなす。そして、計算部２０１は、立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊ＝１０（単位は任意）を得る。
【００９３】
そして、変化部２０２は、上述の実施例と同様に、計算部２０１により求められた立体３０２とオブジェクト３０３との交わる領域の分布と交わる量Ｖｏｂｊとに基づいて、反射音を変化させる。
【００９４】
このように、本実施例によれば、音声処理装置２００は、上述の実施例と同様に、厳密で複雑な計算を行うことなく簡便に、計算部２０１により求められた領域分布や面積値に基づいて、反射音の音量、定位、時間差などを変化させることができる。また、反射音にエコーをかけたり、音をこもらせたりすることができる。この結果、仮想空間において立体的な音響効果を得ることができる。また、音声処理装置２００は、交わる量Ｖｏｂｊとして面積値を用いることにより、体積値を用いるよりも更に簡便に立体的な音響効果を得ることができる。
【００９５】
（実施例３）
次に、本発明の他の実施例について、図１２を用いて説明する。本実施例では、計算部２０１は、受聴点３０１の移動速度に基づいて、仮想空間内に立体３０２を配置する。
【００９６】
計算部２０１は、上述の実施例と同様に、仮想空間内に受聴点３０１を含む立体３０２を配置する。本実施例では、計算部２０１は、受聴点３０１の移動速度を取得し、この移動速度に基づいて立体３０２の中心位置を変更する。例えば、計算部２０１は、受聴点３０１の移動する方向に立体３０２の中心位置を所定量ΔＬだけ移動させて配置する。具体的には、計算部２０１は、移動速度が大きくなればなるほどこの所定量ΔＬを大きくする。例えば所定量ΔＬを移動速度の大きさに比例して大きくする。あるいは、例えば所定量ΔＬが移動速度の大きさに伴って段階的に大きくなるように対応づけた階段関数を用いて変更する。ただし、所定量ΔＬの大きさを決める方法はこれらに限定されるものではない。
【００９７】
例えば、図１２は、受聴点３０１の真上方向（ｚ方向）から見た立体３０２の配置図である。受聴点３０１の移動速度がゼロの場合、図１２（ａ）のように受聴点３０１と立体３０２の中心位置は一致する。一方、受聴点３０１の移動速度がゼロでない場合、図１２（ｂ）、図１２（ｃ）のように、立体３０２の中心位置は、受聴点３０１の移動する方向に所定量ΔＬだけ移動する。このように、立体３０２の中心位置は受聴点３０１の移動する方向に移動するため、移動方向からの反射音の変化が他の方向と比較して強調される。
【００９８】
そして、計算部２０１は、上述の実施例と同様に、立体３０２とオブジェクト３０３とが交わる量Ｖｏｂｊ（例えば、体積値や面積値）を求めて、求めた量Ｖｏｂｊを変化部２０２に入力する。あるいは、立体３０２と、オブジェクト３０３と、が交わる領域の分布を求めて、求めた領域の分布を示すデータを変化部２０２に入力する。
【００９９】
変化部２０２は、計算部２０１により求められた交わる領域の分布及び交わる量Ｖｏｂｊに基づいて、反射音を変化させる。なお、音声処理装置２００のその他の概要構成は上述の実施例と同様であるため説明を省略する。
【０１００】
このように、本実施例によれば、音声処理装置２００は、受聴点３０１が移動する方向からの反射音の変化を強調するエフェクトをかけることができる。例えば、音声処理装置２００は、厳密で複雑な計算をしないで、受聴点３０１が移動する方向からの反射音の音量を大きくしたり定位を移動したりすることができる。また、受聴点３０１が移動する方向に基づいて、反射音を反響させたりこもらせたり、あるいは更に他の音響効果をさせたりする度合いを変更することができる。
【０１０１】
（実施例４）
次に、本発明の他の実施例について、図１３を用いて説明する。
【０１０２】
計算部２０１は、上述の実施例と同様に、仮想空間内に受聴点３０１を含む立体３０２を配置する。本実施例では、計算部２０１は、受聴点３０１の移動速度を取得し、この移動速度に基づいて立体３０２の基準方向（ｘ、ｙ、ｚ方向）を変更する。例えば、立体３０２の形状を直方体としたとき、計算部２０１は、立体３０２の直交する３辺のうち受聴点３０１の移動方向に１辺を設定し、移動方向に垂直でかつ水平な方向を他の１辺に設定し、これらの２辺に垂直な方向に他の１辺を設定して、立体３０２を配置する。
【０１０３】
例えば、図１３は、受聴点３０１の真上方向（ｚ方向）から見た立体３０２の配置図である。受聴点３０１の移動速度がゼロの場合、図１３（ａ）のように立体３０２の仮想空間内における向きは仮想空間のグローバル座標（ワールド座標）系の各軸方向と一致する。一方、受聴点３０１の移動速度がゼロでない場合、図１３（ｂ）のように立体３０２は移動する向きに従って配置される。
【０１０４】
そして、変化部２０２は、計算部２０１により求められた交わる領域の分布及び交わる量Ｖｏｂｊに基づいて、反射音を変化させる。なお、音声処理装置２００のその他の概要構成は上述の実施例と同様であるため説明を省略する。
【０１０５】
このように、本実施例によれば、音声処理装置２００は、受聴点３０１の移動方向に基づいて反射音の変化の度合いを変更するエフェクトをかけることができる。例えば、音声処理装置２００は、受聴点３０１の移動方向に基づいて反射音の定位を変化させることができる。
【０１０６】
なお、計算部２０１は、図１３（ｃ）のように、受聴点３０１の移動する向きに基づいて立体３０２の基準方向を変更するとともに、移動する向きに立体３０２の中心位置を所定量ΔＬだけ移動させることもできる。これにより、受聴点３０１の移動する方向の反射音の変化を強調し、かつ、移動する方向に基づいて定位を決めることができるため、より現実感のある音響効果を得ることができる。なお、この場合も上述の実施例のように計算部２０１は移動速度が大きくなればなるほど移動速度の向きに所定量ΔＬを大きくするが、これに限定されない。
【０１０７】
（実施例５）
次に、本発明の他の実施例について、図１４を用いて説明する。本実施例では、音声処理装置２００は、仮想空間内の受聴点３０１から仮想空間内に配置されるオブジェクト３０３を見た仮想画像を生成する画像生成部１２０１と、受聴点３０１から仮想空間内に配置されるオブジェクト３０３を見る視線方向を取得する視線方向取得部１２０２と、を更に備える。そして、計算部２０１は、視線方向取得部１２０２により取得された仮想画像の視線方向に基づいて立体３０２を配置する。なお、音声処理装置２００のその他の構成は上述した実施例と同様であるため、説明を省略する。
【０１０８】
画像生成部１２０１は、受聴点３０１を視点として、仮想空間内に配置されるオブジェクト３０３を見た仮想画像を生成する。例えば、画像生成部１２０１は、ＣＰＵ  １０１によりゲーム用プログラムが実行されると、ゲームのシーンやユーザからの入力指示に合わせて視点を移動させ、その視点からの視線方向に見える仮想画像を生成して出力する。生成された仮想画像は、画像処理部１０７に接続されるモニタに表示される。
なお、ＣＰＵ  １０１と画像処理部１０７とが共働することにより、画像生成部１２０１として機能する。
【０１０９】
視線方向取得部１２０２は、仮想空間内の受聴点３０１を視点とする仮想画像の視線方向を画像生成部１２０１から取得し、取得した視線方向を示すデータを計算部２０１に入力する。例えば視線方向取得部１２０２は、画像生成部１２０１により生成された画像に含まれる所定のオブジェクト３０３の位置情報と受聴点３０１の位置情報とに基づいて視線方向ベクトルを取得して、このベクトルの向きを視線方向とする。あるいは、視線方向取得部１２０２は、ＮＩＣ  １０９を介してコンピュータ通信網で相互に接続された他の情報処理装置からの入力に基づいて、仮想画像の視線方向を取得するように構成してもよい。
なお、ＣＰＵ  １０１と画像処理部１０７とが共働することにより、視線方向取得部１２０２として機能する。
【０１１０】
計算部２０１は、視線方向取得部１２０２により取得された仮想画像の視線方向に基づいて、仮想画像の視線方向に立体３０２の中心位置を所定量ΔＬだけ移動させて立体３０２を配置する。そして、計算部２０１は、上述の実施例と同様に、受聴点３０１を含む立体３０２とオブジェクト３０３との交わる領域分布と交わる量Ｖｏｂｊとを求めて変化部２０２に入力する。なお、計算部２０１は立体３０２の中心位置を視線方向に所定量ΔＬの大きさだけ移動する。例えば、所定量ΔＬの大きさはゲームのシーンごと（例えばカーレーシングゲームの場合のコースごと等）に予め決められるが、所定量ΔＬの大きさを決める方法はこれに限定されない。
【０１１１】
図１５は、受聴点３０１の真上方向（ｚ方向）から見た立体３０２の配置図である。例えば、視線方向が仮想空間のグローバル座標系におけるｙ方向の場合、図１５（ａ）のように、計算部２０１は立体３０２の中心位置を視線方向であるｙ方向に所定量ΔＬの大きさだけ移動する。このとき、画像生成部１２０１により生成される仮想画像の視界範囲は本図の斜線部の範囲である。例えば、さらに視線方向がｘ方向に移動すると、図１５（ｂ）のように、計算部２０１は立体３０２の中心位置を新しい視線方向に移動させる。
【０１１２】
変化部２０２は、上述の実施例と同様に、仮想画像の視線方向を考慮した立体３０２とオブジェクト３０３とが交わる領域分布と交わる量Ｖｏｂｊとに基づいて、受聴点３０１で受聴される音声を変化させる。そして、出力部２０３は、変化部２０２により変化された反射音を出力する。
【０１１３】
このように、本実施例によれば、音声処理装置２００は、仮想空間内における受聴点３０１の位置が同じであっても、視線方向が異なれば視線方向に合致するように反射音等の音声の定位を変化させることができ、より現実感を起こさせることができる。
【０１１４】
（実施例６）
次に、本発明の他の実施例について、図１６を用いて説明する。本実施例も、図１４のように画像生成部１２０１と視線方向取得部１２０２とを更に備える。
【０１１５】
計算部２０１は、視線方向取得部１２０２により取得された仮想画像の視線方向に基づいて、仮想空間内に受聴点３０１を含む立体３０２を配置する。すなわち、計算部２０１は、仮想画像の視線方向に基づいて立体３０２の基準方向（ｘ、ｙ、ｚ方向）を変更して配置する。そして、計算部２０１は、上述の実施例と同様に、受聴点３０１を含む立体３０２とオブジェクト３０３とが交わる領域分布と交わる量Ｖｏｂｊとを求めて変化部２０２に入力する。
【０１１６】
変化部２０２は、上述の実施例と同様に、仮想画像の視線方向を考慮した立体３０２とオブジェクト３０３とが交わる領域分布と、交わる量Ｖｏｂｊとに基づいて、受聴点３０１で受聴される音声を変化させる。例えば、変化部２０２は、オブジェクト３０３による反射音の定位を変化させる。そして、出力部２０３は、変化部２０２により変化された反射音を出力する。
【０１１７】
例えば、計算部２０１は、立体３０２の形状を直方体としたとき、立体３０２の直交する３辺のうち視線方向に１辺を設定し、視線方向に垂直でかつ水平な方向に立体３０２の他の１辺を設定し、これらの２辺の両方に垂直な方向に立体３０２の他の１辺を設定して、例えば図１６（ａ）のように、立体３０２の中心位置を受聴点３０１から所定量ΔＬの大きさだけ移動して立体３０２を配置する。このとき、画像生成部１２０１により出力される仮想画像の視界範囲は本図の斜線部の範囲である。例えば、視線方向が移動すると、図１６（ｂ）のように計算部２０１は立体３０２の基準方向を視線方向にしたがって変化させる。また、所定量ΔＬの大きさはゲームのシーンごと等に予め決められるが、所定量ΔＬの大きさを決める方法はこれに限定されない。
【０１１８】
変化部２０２は、視線方向を受聴点３０１の前後とみなし、視線方向に垂直でかつ水平な方向を受聴点３０１の左右とみなし、これらの前後方向と左右方向とに垂直な方向を受聴点３０１の上下とみなして、音声の定位を決める。そして、出力部２０３は、変化部２０２により変化された反射音を出力する。
【０１１９】
このように、本実施例によれば、音声処理装置２００は、仮想空間内における受聴点３０１の位置が同じであっても、視線方向が異なれば視線方向に合致するように反射音の音声の定位を変化させることができ、より現実感を起こさせることができる。
【０１２０】
さらに、視線方向に加えて、受聴点３０１の移動方向も考慮して立体３０２を配置して、立体３０２とオブジェクト３０３との交わる領域の分布や交わる量Ｖｏｂｊを求めることもできる。すなわち、計算部２０１は、図１７（ａ）のように、受聴点３０１の移動する向きに基づいて立体３０２の基準方向を変更するとともに、視線方向に立体３０２の中心位置を所定量ΔＬだけ移動させることもできる。
【０１２１】
また、計算部２０１は、図１７（ｂ）のように、視線方向に基づいて立体３０２の基準方向を変更するとともに、受聴点３０１の移動する向きに基づいて立体３０２の中心位置を所定量ΔＬだけ移動させることもできる。
【０１２２】
このように、受聴点３０１の移動方向と視線方向とを組み合わせることにより、受聴点３０１の移動する方向の反射音の変化を強調し、かつ、視線方向に基づいて定位を決めることができるため、より現実感のある音響効果を得ることができる。なお、この場合も計算部２０１は移動速度が大きくなればなるほど所定量ΔＬを大きくするが、これに限定されない。
【０１２３】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。
【０１２４】
上述した実施例では、受聴点３０１を含む立体３０２を直方体としたが、これに限られるものではなく、例えば球体のように他の図形を用いてもよい。ただし、立体３０２の形状は、計算部２０１による交わる量Ｖｏｂｊを求める処理をより簡単にするために、受聴点３０１に対して立体的な対称性を保持していることが望ましい。
【０１２５】
また、受聴点３０１を含む立体３０２あるいはその表面を構成する単位図形は、上述した実施例に限られるものではなく、他の形状（例えば、三角錐、三角形など）、他の個数の単位図形を用いてもよい。ただし、単位図形の形状は、計算部２０１による交わる量Ｖｏｂｊを求める処理をより簡単にするために、すべて同一にすることが望ましい。また、ゲームのシーンなどによって可変としてもよい。
【０１２６】
また、計算部２０１は、所定の条件を満たす場合に、受聴点３０１を含む立体３０２の形状を変化させるように構成してもよい。例えば、仮想空間内でのカーレーシングゲームにおいて、受聴点３０１がユーザが操作する車オブジェクトの運転席としたとき、運転席の右サイドの窓のみを開けると、計算部２０１は立体３０２のうち受聴点３０１より右側半分の領域のみを拡大させる。結果として、変化部２０２は、複雑な計算を行うことなく簡便に、右側半分に位置するオブジェクト３０３による反射音の変化量を左側半分より大きくするようなエフェクトをかけることができる。
【０１２７】
あるいは、受聴点３０１を含む立体３０２を構成する単位図形に対応してそれぞれ予め係数Ｋ（ｉ）を設定しておき、計算部２０１は単位図形ｉに対応する交わる量Ｖ（ｉ）を［式３］のように単位図形ごとに重みを設定して求め、立体３０２とオブジェクト３０３とが交わる領域のすべての単位図形についての総和を、交わる量Ｖｏｂｊとする。そして、計算部２０１は、所定の条件を満たす場合に、係数Ｋ（ｉ）を変化させるように構成してもよい。例えば、仮想空間内でのカーレーシングゲームにおいて、受聴点３０１がユーザが操作する車オブジェクトの運転席としたとき、運転席の右サイドの窓のみを開けると、計算部２０１は受聴点３０１より右側半分に存在する単位図形に対応づけられた係数Ｋ（ｉ）を大きくする。結果として、変化部２０２は、複雑な計算を行うことなく簡便に、右側半分に位置するオブジェクト３０３による反射音の変化量を左側半分より大きくするようなエフェクトをかけることができる。
【０１２８】
上述した実施例では、音声処理装置２００は仮想空間に受聴点３０１とオブジェクト３０３とを配置して仮想画像を生成し、画像処理部１０７に接続されるモニタに表示させ、反射音を変化させるが、仮想空間内に受聴点３０１とオブジェクト３０３とを配置して仮想画像を表示させる処理を別の情報処理装置で行うように構成してもよい。そして、音声処理装置２００は、ＮＩＣ  １０９等により情報処理装置と接続され、反射音を変化させて出力する処理のみを行うように構成してもよい。
【０１２９】
上述した実施例では、仮想空間に直交座標系を用いて説明したが、これに限られるものではなく、例えば１個の動径と２個の偏角を用いた球座標のような極座標系を用いてもよい。また、仮想空間の全体を表現するグローバル座標系（ワールド座標系）と、オブジェクト３０３ごとのローカル座標系（ボディ座標系）とを別々に設定して座標計算等を行う構成を採用してもよい。
【０１３０】
上述した実施例では、交わる量Ｖｏｂｊとして体積値あるいは面積値のどちらかを用いているが、これらの両方を用いてもよい。すなわち、計算部２０１は、交わる量Ｖｏｂｊとして体積値及び面積値の両方を計算するように構成してもよい。例えば、異なる２つ以上のオブジェクト３０３と立体３０２との交わる体積値が同じである場合、計算部２０１は更に交わる面積値を求めて、変化部２０２は面積値の大きいほうの反射音を大きく変化させる（例えば、音量を大きくする）処理を行うことができる。さらには、計算部２０１は体積値、面積値以外の他の量（例えば、受聴点３０１やオブジェクト３０３の移動速度等）も取得して、変化部２０２は体積値、面積値以外の他の量にも基づいて反射音を変化させるように構成してもよい。
【０１３１】
例えば、異なる２つ以上のオブジェクト３０３と立体３０２との交わる量Ｖｏｂｊが同じである場合、オブジェクト３０３が分布する領域の重心と受聴点３０１との距離の小さいほうの反射音を大きく変化させる（例えば、音量を大きくする）処理を行ってもよい。この場合、重心座標以外に、オブジェクト３０３の受聴点３０１に最も近い点の座標などを用いることもできる。
【０１３２】
例えば、変化部２０２は、立体３０２とオブジェクト３０３との交わる量Ｖｏｂｊが同じである場合、オブジェクト３０３の移動速度（又は、受聴点３０１に対するオブジェクト３０３の相対速度）に応じて、反射音を変化させる度合いを変更するようにしてもよい。
【０１３３】
以上説明したように、本発明によれば、仮想空間において立体的な音響効果を得るために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。特に、一般に普及している家庭用ゲーム機のように、高性能のハードウェアを搭載することが難しい装置にも簡単に適用することができる。
【図面の簡単な説明】
【０１３４】
【図１】本発明の音声処理装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】音声処理装置の構成を示す図である。
【図３】受聴点を含む立体の例を示す図である。
【図４】（ａ）は受聴点を含む立体とオブジェクトとが離れているときの配置例を示す図である。（ｂ）は受聴点を含む立体とオブジェクトとが重なっているときの配置例を示す図である。
【図５】（ａ）は受聴点を含む立体とオブジェクトとが交わる配置例を示す図である。（ｂ）は交わる領域の分布の例を示す図である。
【図６】（ａ）は受聴点の３方向にオブジェクトが分布する配置例を示す図である。（ｂ）は交わる領域の分布の例を示す図である。
【図７】受聴点の一側面とその反対側にオブジェクトが分布する配置例を示す図である。
【図８】（ａ）は受聴点の３方向にオブジェクトが分布する配置例を示す図である。（ｂ）は交わる領域の分布の例を示す図である。
【図９】（ａ）は仮想空間内の受聴点とオブジェクトの配置例を示す図である。（ｂ）は交わる領域の分布の例を示す図である。
【図１０】反射音の音声処理を説明するためのフローチャートである。
【図１１】（ａ）は受聴点を含む立体とオブジェクトとが交わる配置例を示す図である。（ｂ）は交わる領域の分布の例を示す図である。
【図１２】（ａ）は受聴点と立体の配置図の例である。（ｂ）（ｃ）は受聴点の移動方向に立体の中心位置が移動した配置図の例である。
【図１３】（ａ）は受聴点と立体の配置図の例である。（ｂ）（ｃ）は受聴点の移動方向に立体の基準方向を変更した配置図の例である。
【図１４】実施例５及び６の音声処理装置の構成を示す図である。
【図１５】（ａ）は受聴点と立体の配置図の例である。（ｂ）は視線方向に立体の中心位置を移動した配置図の例である。
【図１６】（ａ）は受聴点と立体の配置図の例である。（ｂ）は視線方向に立体の基準方向を変更した配置図の例である。
【図１７】（ａ）は受聴点の移動方向に立体の基準方向を変更し、視線方向に立体の中心位置を移動した配置図の例である。（ｂ）は視線方向に立体の基準方向を変更し、受聴点の移動方向に立体の中心位置を移動した配置図の例である。
【符号の説明】
【０１３５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２００  音声処理装置
２０１  計算部
２０２  変化部
２０３  出力部
３０１  受聴点
３０２  立体
３０３  オブジェクト
９０１  車オブジェクト
９０２  建物オブジェクト
９１１  車オブジェクトの領域分布
９１２  建物オブジェクトの領域分布
１２０１  画像生成部
１２０２  視線方向取得部
【図１】
2007180935.tif 000003
【図２】
2007180935.tif 000004
【図３】
2007180935.tif 000005
【図４】
2007180935.tif 000006
【図５】
2007180935.tif 000007
【図６】
2007180935.tif 000008
【図７】
2007180935.tif 000009
【図８】
2007180935.tif 000010
【図９】
2007180935.tif 000011
【図１０】
2007180935.tif 000012
【図１１】
2007180935.tif 000013
【図１２】
2007180935.tif 000014
【図１３】
2007180935.tif 000015
【図１４】
2007180935.tif 000016
【図１５】
2007180935.tif 000017
【図１６】
2007180935.tif 000018
【図１７】
2007180935.tif 000019