(57)【要約】 【課題】  ２つの発音体の音声の差異を明確にして臨場感を高める音声出力装置等を提供する。【解決手段】  音声出力装置２０１の記憶部２０２は、仮想空間内を移動する２つの発音体の音声情報および音量係数を記憶し、距離計算部２０３は、注目点と発音体のそれぞれとの距離を計算し、変化率計算部２０４は、発音体が発する音声の音量が、それぞれの距離だけ離れることによって変化する変化率を計算し、増幅率計算部２０５は、音量係数のうち大きい方に対してその変化率よりも大きい増幅率を計算し、音量係数のうち小さい方に対してその変化率よりも小さい増幅率を計算し、混合出力部２０６は、発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する。【選択図】  図２
2006239211.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数を記憶する記憶部、
当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する距離計算部、
当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する変化率計算部、
当該２つの音量係数のうち大きい方に対応付けられる発音体に対して、その変化率よりも大きい増幅率を計算し、当該２つの音量係数のうち小さい方に対応付けられる発音体に対して、その変化率よりも小さい増幅率を計算する増幅率計算部、
当該２つの発音体のそれぞれに対応付けられる音声情報を前記当該発音体に対して計算された増幅率で増幅して加算した音声を出力する混合出力部
を備えることを特徴とする音声出力装置。
【請求項２】
請求項１に記載の音声出力装置であって、
前記混合出力部は、当該仮想空間内における当該所定の注目点の位置と当該２つの発音体の位置とが、所定の条件を満たす場合は、当該２つの発音体のそれぞれに対応付けられる音声情報を前記計算された変化率で増幅して加算した音声を出力し、当該所定の条件を満たさない場合は、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する
ことを特徴とする物。
【請求項３】
請求項１または２に記載の音声出力装置であって、
前記増幅率計算部は、当該２つの音量係数のうち大きい方の小さい方に対する比により、当該２つの音量係数のうち大きい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比を乗じたものとし、当該２つの音量係数のうち小さい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比の逆数を乗じたものとする
ことを特徴とする物。
【請求項４】
請求項１または２に記載の音声出力装置であって、
前記増幅率計算部は、当該２つの音量係数のうち大きい方の小さい方に対する比の所定の羃乗により、当該２つの音量係数のうち大きい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比の所定の羃乗を乗じたものとし、当該２つの音量係数のうち小さい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比の所定の羃乗の逆数を乗じたものとする
ことを特徴とする物。
【請求項５】
請求項１から４のいずれか１項に記載の音声出力装置であって、
前記混合出力部は、当該音声情報の加算に飽和加算を用いる
ことを特徴とする物。
【請求項６】
記憶部、距離計算部、変化率計算部、増幅率計算部、混合出力部を備える音声出力装置にて実行される音声出力方法であって、前記記憶部には、仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数が記憶され、
前記距離計算部が、当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する距離計算工程、
前記変化率計算部が、当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する変化率計算工程、
前記増幅率計算部が、当該２つの音量係数のうち大きい方に対応付けられる発音体に対して、その変化率よりも大きい増幅率を計算し、当該２つの音量係数のうち小さい方に対応付けられる発音体に対して、その変化率よりも小さい増幅率を計算する増幅率計算工程、
前記混合出力部が、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する混合出力工程
を備えることを特徴とする方法。
【請求項７】
コンピュータを、
仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数を記憶する記憶部、
当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する距離計算部、
当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する変化率計算部、
当該２つの音量係数のうち大きい方に対応付けられる発音体に対して、その変化率よりも大きい増幅率を計算し、当該２つの音量係数のうち小さい方に対応付けられる発音体に対して、その変化率よりも小さい増幅率を計算する増幅率計算部、
当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する混合出力部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間を移動する２つの発音体の音声の差異を明確にして臨場感を高めるように出力するのに好適な音声出力装置、音声出力方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、２次元平面や３次元空間などの仮想空間内にバイク、自動車、飛行機など各種の乗物や地面を走ったりジャンプしたり、空を飛んだり、水の中を泳いだりするキャラクター（以下、まとめて「オブジェクト」という。）を、プレイヤーがコントローラを用いて操作することによって当該仮想空間内を移動させたり、所定のアルゴリズムに応じてオブジェクトを自動的に当該仮想空間内を移動させたりして、競争を行う技術が提案されている。
【０００３】
また、この際に、オブジェクトが発すると想定される音声を生成して、よりリアルな環境を提供する技術が提案されている。このように、仮想空間内で音声を発すると想定されるオブジェクトを発音体とも呼ぶ。このような技術については、たとえば以下の文献に開示がされている。
【特許文献１】特許第３４５５７３９号公報
【０００４】
[特許文献１]には、競馬ゲームのレースにおいて、視点位置から近い順に馬の足に優先順位をつけ、優先順位の低い足から発せられる足音の音声はグループとしてひとまとめにして、合成出力に用いる発音数を抑制する技術が開示されている。
【０００５】
このように、仮想空間内を移動するオブジェクトが発する音声を合成出力する技術は、ユーザに仮想空間の様子を知覚させる観点で重要である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように仮想空間を提供する複数のオブジェクトが音声を発する場合に、これらのオブジェクトが発する音声の差異を極立たせて、ユーザに、オブジェクトの対比を明確に知覚させたい場合がある。したがって、このような要望に対応するための技術が求められている。
本発明は、上記のような課題を解決するためになされたもので、２つの発音体の音声の差異を明確にして臨場感を高めるように出力するのに好適な音声出力装置、音声出力方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００８】
本発明の第１の観点に係る音声出力装置は、記憶部、距離計算部、変化率計算部、増幅率計算部、混合出力部を備え、以下のように構成する。
【０００９】
すなわち、記憶部は、仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数を記憶する。
【００１０】
典型的には、音声情報はＰＣＭ（Pulse Coded Modulation）形式やＭＰ３（MPeg audio layer 3）形式などのファイルとしてＣＤ−ＲＯＭ（Compact Disk Read Only Memory）やハードディスクなどの記憶媒体に記憶される。また、音量係数は、当該音声情報の「迫力」の度合に関連する係数で、発音体による音声出力のエネルギー量や、音声情報の平均音量などに対応付けられるものである。
【００１１】
一方、距離計算部は、当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する。
【００１２】
ここで、所定の注目点は、典型的には、仮想空間内を３次元グラフィックス表示する場合の視点位置に相当するものである。発音体が発する音声の大きさは、距離が離れれば離れるほど小さくなるから、この距離による影響を考慮するために、注目点と発音体との距離を計算するのである。なお、「距離」としては、通常の距離（位置ベクトルの差の大きさ）のほか、自乗距離（位置ベクトルの差の大きさの自乗）やマンハッタン距離（位置ベクトルの差の各要素の絶対値の総和）を採用しても良い。
【００１３】
さらに、変化率計算部は、当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する。
【００１４】
上記のように、発音体とこれが発する音を聞く注目点の距離が離れれば離れるほど、聞こえる音の大きさは小さくなるため、この小さくなる度合を示す変化率を求めるものである。発音体の音声情報に基づく波動の振幅にこの変化率を単純に乗ずれば、通常の仮想空間内における発音体が発する音のシミュレーションができることになる。
【００１５】
そして、増幅率計算部は、当該２つの音量係数のうち大きい方に対応付けられる発音体に対して、その変化率よりも大きい増幅率を計算し、当該２つの音量係数のうち小さい方に対応付けられる発音体に対して、その変化率よりも小さい増幅率を計算する。
【００１６】
上記のように、単純に音声情報の振幅に変化率を乗じれば、仮想空間内における発音体が発する音のシミュレーションを行うことができるのであるが、２つの発音体が発する音の差異を極立たせ、コントラストを明確にするために、音量係数が大きい方は、求められた変化率よりもさらに大きな増幅率を採用し、音量係数が小さい方は、求められた変化率よりもさらに小さな増幅率を採用するのである。計算の手法は種々考えられ、その好適実施形態については後述する。
【００１７】
一方、混合出力部は、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する。
【００１８】
すなわち、２つの発音体のそれぞれについて、それぞれの音声情報をそれぞれについて求められた増幅率で増幅して、その波形を加算することにより、注目点で聞こえる音声の波形を生成する。
【００１９】
本発明によれば、２つの発音体が発する音声の差異を、これらに割り当てられた音量係数に基づいて、より極立たせてコントラストを明確にすることができ、本音声出力装置のユーザは、２つの発音体の特徴を、一層はっきりと把握することができるようになる。
【００２０】
また、本発明の音声出力装置において、混合出力部は、当該仮想空間内における当該所定の注目点の位置と当該２つの発音体の位置とが、所定の条件を満たす場合は、当該２つの発音体のそれぞれに対応付けられる音声情報を前記計算された変化率で増幅して加算した音声を出力し、当該所定の条件を満たさない場合は、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力するように構成することができる。
【００２１】
たとえば、ステレオ音声出力や５.１チャンネル音声出力で発音体の音が発生している方向を示すような場合には、注目点から見た２つの発音体が仮想空間内で配置されている方向が離れている場合には、上記のような差異の明確化が不要な場合もある。そこで、そのような場合には、単純に２つの音声情報に変化率を乗じてから加算するのである。
【００２２】
２つの発音体の位置と注目点の位置の関係とは、たとえば、第１の発音体−注目点−第２の発音体がなす角が一定の角度より小さいか否か、あるいは、第１の発音体と第２の発音体との距離が一定の長さより小さいか否か、等、種々の条件を採用することができる。
【００２３】
本発明によれば、２つの発音体の位置関係によって音声の差異を極立たせる必要が少ない場合には、コントラストを強調する効果を与えずに音声出力をして、自然な印象をユーザに与えるような音声出力装置を提供することができる。
【００２４】
また、本発明に係る音声出力装置において、増幅率計算部は、当該２つの音量係数のうち大きい方の小さい方に対する比により、当該２つの音量係数のうち大きい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比を乗じたものとし、当該２つの音量係数のうち小さい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比の逆数を乗じたものとするように構成することができる。
【００２５】
たとえば、一方の音声体の音量係数をp1、変化率をc1、増幅率をA1他方の音声体の音量係数をp2、変化率をc2、増幅率をA2とし、p1 > p2 > 0とした場合、
A1 = c1×(p1/p2) > c1；
A2 = c2×(p2/p1) < c2
とするのである。
【００２６】
本発明は、上記発明の好適実施形態に係るもので、音量係数を用いることによって容易に増幅率の計算を行うことができるようになる。
【００２７】
また、本発明に係る音声出力装置において、増幅率計算部は、当該２つの音量係数のうち大きい方の小さい方に対する比の所定の羃乗により、当該２つの音量係数のうち大きい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比の所定の羃乗を乗じたものとし、当該２つの音量係数のうち小さい方に対応付けられる発音体に対する増幅率を、当該変化率に当該比の所定の羃乗の逆数を乗じたものとするように構成することができる。
【００２８】
上記の例と同様に考え、所定の羃乗をR乗（ただしR≧1）とすると、
A1 = c1×(p1/p2)R > c1；
A2 = c2×(p2/p1)R < c2
とするのである。
【００２９】
本発明は、上記発明の好適実施形態に係るもので、音量係数を用いることによって容易に増幅率の計算を行うことができるようになる。
【００３０】
また、本発明に係る音声出力装置において、混合出力部は、当該音声情報の加算に飽和加算を用いるように構成することができる。
【００３１】
特に、増幅率や変化率に基づいて音声情報を増幅する計算では、飽和乗算もしくは通常の乗算を採用し、加算の差異に飽和加算を用いるのである。
【００３２】
本発明では、飽和加算を用いることにより、音量が極めて大きくなった場合の「音割れ」現象をシミュレートすることができるので、コントラストを強調して音声出力する場合に、ユーザにより迫力のある音声を提供することができるようになる。
【００３３】
本発明のその他の観点に係る音声出力方法は、記憶部、距離計算部、変化率計算部、増幅率計算部、混合出力部を備える音声出力装置にて実行され、距離計算工程、変化率計算工程、増幅率計算工程、混合出力工程を備え、以下のように構成する。
【００３４】
すなわち、記憶部には、仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数が記憶される。
【００３５】
一方、距離計算工程では、距離計算部が、当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する。
【００３６】
さらに、変化率計算工程では、変化率計算部が、当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する。
【００３７】
そして、増幅率計算工程では、増幅率計算部が、当該２つの音量係数のうち大きい方に対応付けられる発音体に対して、その変化率よりも大きい増幅率を計算し、当該２つの音量係数のうち小さい方に対応付けられる発音体に対して、その変化率よりも小さい増幅率を計算する。
【００３８】
一方、混合出力工程では、混合出力部が、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する。
【００３９】
本発明のその他の観点に係るプログラムは、コンピュータを上記音声出力装置として機能させ、または、コンピュータに上記音声出力方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４０】
本発明によれば、２つの発音体の音声の差異を明確にして臨場感を高めるように出力するのに好適な音声出力装置、音声出力方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４１】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、三次元グラフィックス表示と音声出力がされるゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ（Personal Data Assistants）、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００４２】
図１は、本発明の音声出力装置が実現される典型的な情報処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００４３】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（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）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５３】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００５４】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５５】
図２は、本発明の実施形態の一つに係る音声出力装置の概要構成を示す模式図である。当該音声出力装置は、上記の情報処理装置１００上に実現される。以下、本図を参照して説明する。
【００５６】
音声出力装置２０１は、記憶部２０２、距離計算部２０３、変化率計算部２０４、増幅率計算部２０５、混合出力部２０６を備える。
【００５７】
まず、記憶部２０２は、仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数を記憶する。
【００５８】
本実施形態では、音声情報はＰＣＭ形式やＭＰ３形式などのファイルである。また、音量係数は、当該音声情報の「迫力」の度合に関連する係数で、発音体による音声出力のエネルギー量や、音声情報の平均音量などに対応付けられるものである。
【００５９】
音量係数として音声情報の平均音量を採用する場合には、あらかじめ音量係数を求めて記憶部２０２に記憶することとしても良いし、音声情報を必要に応じて走査することによって、リアルタイムに音量係数を求めることとし、その結果を記憶部２０２に記憶することとしても良い。
【００６０】
したがって、ＲＡＭ  １０３、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ、ハードディスク等の大容量外部記憶装置が、記憶部２０２として機能することとなる。
【００６１】
さて、一方の発音体の音量係数をp1、他方の発音体の音量係数をp2とし、p1 > p2 > 0であるものとする。
【００６２】
経過時間tにおける振幅により、一方の発音体の音声情報をa1(t)と表現し、他方の発音体の音声情報を、a2(t)と表現することとする。
【００６３】
音量係数は、上記のように、任意に定めることができる。当該音声情報が、それぞれ時間長T，T'で繰り返し再生されるものとすると、音量係数を平均音量とした場合には、
p1 = (1/T)∫0T |a1(t)|2 dt；
p2 = (1/T')∫0T' |a2(t)|2 dt
が、それぞれ成立することとなる。
【００６４】
また、音量係数を平均振幅とした場合には、
|p1|2 = (1/T)∫0T |a1(t)|2 dt；
|p2|2 = (1/T')∫0T' |a2(t)|2 dt
により、それぞれ計算で求めることができる。ここで、当該積分は、ＰＣＭ波形等から容易に計算することができる。
【００６５】
このほか、ＲＡＭ  １０３には、仮想空間内における２つの発音体や注目点（仮想空間を観察する視点）の位置や速度などの各種の状態パラメータを記憶する領域があり、ユーザの指示入力や所定のアルゴリズムに基づいて、適宜仮想空間内を移動する。
【００６６】
さて、このような音声情報と音声係数等が記憶部２０２に記憶されている状態から、音声出力装置２０１において音声出力処理が開始される。図３は、当該音声出力装置にて実行される音声出力処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００６７】
まず、注目点および２つの発音体の位置等の各種の状態パラメータを初期化する（ステップＳ３０１）。当該初期化は、ゲームのプレイ開始前の初期化に相当するもので、各初期値は、あらかじめＤＶＤ−ＲＯＭや外部メモリ１０６等に記憶されている値としても良いし、乱数により定めることとしても良い。
【００６８】
そして、ＲＡＭ  １０３内に用意された増幅率A1、A2を記憶する領域に、０をセットする（ステップＳ３０２）。
【００６９】
さらに、混合出力部２０６は、情報処理装置１００の音声処理部１１０に、「ＲＡＭ  １０３内に記憶される増幅率A1、A2を参照して音声情報a1(t)をA1に記憶される値で増幅し、音声情報a2(t)をA2に記憶される値で増幅して、ミキンシングして音声出力する」ように指示を出す（ステップＳ３０３）。音声処理部１１０による音声の増幅、ミキシング（混合）、出力は、以降の処理と並行して行われる。
【００７０】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３や音声処理部１１０と共働して、混合出力部２０６として機能する。
【００７１】
なお、a1(t)をA1倍に増幅し、a2(t)をA2倍に増幅するための乗算や、これらの結果を混合する加算は、適宜飽和演算を用いても良い。飽和演算を用いると、マイクの近くで大音量が発生した場合の音割れのような効果を得ることができる。
【００７２】
さて、音声の混合出力が並行して開始された後は、現在の注目点および２つの発音体の位置等の各種の状態パラメータから、所定の微小時間後のこれらの状態パラメータを計算して（ステップＳ３０４）、ＲＡＭ  １０３に記憶されるこれらの状態パラメータを計算された新たな値で更新する（ステップＳ３０５）。状態所定の微小時間としては、たとえば、モニタ画面の垂直同期割り込みの間隔などを採用すると、表示の差異の画像のブレやちらつきを抑えることができる。
【００７３】
また、状態パラメータの計算は、仮想空間内に設定された物理法則等にしたがうものとし、プレイヤーがコントローラ１０５を用いて与える指示入力や、ＣＰＵ  １０１が所定のアルゴリズムに基づいて生成する指示入力に基づいて更新されるものとする。たとえば、レーシングゲームや競馬ゲームにおけるプレイヤーキャラクターや非プレイヤーキャラクターの動作を定める手法と同様の手法を採用することができる。
【００７４】
図４は、このようにして更新された時刻tにおいて、仮想空間内に配置される注目点および２つの発音体の位置関係を示す説明図である。以下、本図を参照して説明する。
【００７５】
本図に示すように、仮想空間４０１において、注目点４０５の位置ベクトルをs(t)とし、音量係数p1に対応付けられる発音体４１１の位置ベクトルをr1(t)とし、音量係数p2に対応付けられる発音体４１２の位置ベクトルをr2(t)とする。
【００７６】
このように、注目点４０５、発音体４１１、発音体４１２が配置された場合、注目点４０５と発音体４１１の自乗距離は、
|r1(t)-s(t)|2 = (r1(t)-s(t))・(r1(t)-s(t))
ユークリッド距離は、
|r1(t)-s(t)|
と、それぞれ表現できる。
【００７７】
同様に、注目点４０５と発音体４１１の自乗距離は、
|r2(t)-s(t)|2 = (r2(t)-s(t))・(r2(t)-s(t))
と、ユークリッド距離は、
|r2(t)-s(t)|
と、それぞれ表現できる。ただし、u・vは、ベクトルuとベクトルvの内積を意味する。
【００７８】
また、マンハッタン距離は、ユークリッド座標系を採用した場合、ベクトルr1(t)-s(t)等のx,y,zのそれぞれの軸方向の要素の絶対値の総和として求めることができる。
【００７９】
さて、上記のように更新された後、距離計算部２０３は、当該仮想空間４０１内における所定の注目点４０５と当該発音体４１１、発音体４１２のそれぞれとの距離を計算する（ステップＳ３０６）。
【００８０】
「距離」として、自乗距離、ユークリッド距離、マンハッタン距離のいずれかを採用するものとすれば、注目点４０５と発音体４１１の距離d1、および、注目点４０５と発音体４１２の距離d2は、上記のようなベクトル計算によって求めることができる。したがって、ＣＰＵ  １０１がＲＡＭ  １０３等と共働して、距離計算部２０３として機能する。これらの距離d1、d2もＲＡＭ  １０３内に一時的に記憶される。
【００８１】
ついで、変化率計算部２０４は、当該発音体４１１、発音体４１２のそれぞれが発する音声の音量が、それぞれ注目点４０５から距離d1、d2だけ離れることによって変化する変化率c1、c2を計算する（ステップＳ３０７）。
【００８２】
この変化率c1、c2を求める関数をf(・)とおくと、
c1 = f(d1)；
c2 = f(d2)
と書くことができる。関数f(・)は、典型的には単調減少関数であり、近くであればあるほど（距離が小さければ小さいほど）大きく、遠くであればあるほど（距離が大きければ大きいほど）小さくなる。
【００８３】
たとえば、K，Jを正の定数として、以下のような関数を採用することができる。
（１）f(s) = K-J×s  (0≦s≦K/J)；
= 0     (K/J≦s)
（２）f(s) = K/s；
（３）f(s) = K/(s×s)；
（４）f(s) = K×exp(-J×s)
【００８４】
上記のように、発音体４１１や発音体４１２とこれらが発する音を聞く注目点４０５の距離が離れれば離れるほど、聞こえる音の大きさは小さくなるため、この小さくなる度合を示す変化率を求めるものである。発音体の音声情報に基づく波動の振幅にこの変化率を単純に乗ずれば、通常の仮想空間４０１内における発音体が発する音のシミュレーションができることになる。
【００８５】
なお、本実施形態では、距離の計算と合わせて、注目点４０５から発音体４１１および発音体４１２を見込む角θもしくはcosθを、さらに計算する（ステップＳ３０８）。すなわち、
cosθ = (r1(t)-s(t))・(r2(t)-s(t))/(|r1(t)-s(t)|×|r2(t)-s(t)|)；
θ = arccos((r1(t)-s(t))・(r2(t)-s(t))/(|r1(t)-s(t)|×|r2(t)-s(t)|))
によって、θもしくはcosθを計算する。注目点４０５に到達する発音体４１１起源の音声と発音体４１２起源の音声とが、どれぐらい異なる方向からやってくるか、を知ることができる。この計算では、上記の距離の計算と共通する値を使用するので、適宜共通する計算をまとめて行うのが効率的である。
【００８６】
ついで、ＣＰＵ  １０１は、計算された角θが所定の角度φより小さいか否かを判定する（ステップＳ３０９）。所定の角度φとしては、ある程度大きい角度が望ましいが、たとえば９０度（= π/2）とすると、θやcosθを直接計算しなくとも、内積(r1(t)-s(t))・(r2(t)-s(t))の正負によって判断ができるため、計算量を抑えることができて便利である。
【００８７】
角θが所定の角度より小さいか否かは、cosθが対応する所定の値より大きいか否か、によっても判断ができる。したがって、後者の判断を用いれば、計算コストが大きいarccos(・)の計算を行わないですむ。
【００８８】
さて、判断の結果、角θが所定の角度φより小さいと判断された場合（ステップＳ３０９；Ｙｅｓ）、増幅率計算部２０５は、当該２つの音量係数のうち大きい方p1に対応付けられる発音体４１１に対する変化率c1よりも大きい増幅率A1と、当該２つの音量係数のうち小さい方p2に対応付けられる発音体４１２に対する変化率c2よりも小さい増幅率A2と、を計算して、計算結果をＲＡＭ  １０３内の上記の領域に記憶して更新する（ステップＳ３１０）。
【００８９】
すなわち、p1 > p2であるときに、A1 > c1を満たすA1と、A2 < c2を満たすA2とを、それぞれ何らかの手法で計算するのである。
【００９０】
上記のように、単純に音声情報の振幅に変化率を乗じれば、仮想空間４０１内における発音体が発する音のシミュレーションを行うことができるのであるが、発音体４１１、発音体４１２が発する音の差異を極立たせ、コントラストを明確にするために、音量係数が大きい方は、求められた変化率よりもさらに大きな増幅率を採用し、音量係数が小さい方求められた変化率よりもさらに小さな増幅率を採用するのである。計算の手法は種々考えられるが、たとえば、以下のような手法が考えられる。
【００９１】
（１）  p1とp2の比p1/p2 > 1とその逆数p2/p1 < 1を用いて
A1 = c1×(p1/p2) > c1；
A2 = c2×(p2/p1) < c2
とする。
【００９２】
（２）  上記（１）のほか、さらに所定の１以上の正整数Rを用いて
A1 = c1×(p1/p2)R > c1；
A2 = c2×(p2/p1)R < c2
とする。
【００９３】
（３）１より大きい正定数Pと１より小さい正定数Qを用いて、
A1 = c1×P > c1；
A2 = c2×Q < c2
とする。
【００９４】
前述したように、混合出力部２０６は、当該発音体４１１、発音体４１２のそれぞれに対応付けられる音声情報a1(t)，a2(5)を計算された増幅率A1，A2で増幅して加算した音声を出力するので、発音体４１１、発音体４１２が発する音声の差異を、これらに割り当てられた音量係数p1，p2に基づいて、より極立たせてコントラストを明確にすることができ、ユーザは、発音体４１１、発音体４１２の特徴を、一層はっきりと把握することができるようになる。
【００９５】
A1，A2の計算とＲＡＭ  １０３への更新が終わったら、ステップＳ３１２に進む。
【００９６】
一方、角θが所定の角度φ以上であると判断された場合（ステップＳ３０９；Ｎｏ）、増幅率A1として変化率c1を、増幅率A2として変化率c2をそれぞれ採用するように、ＲＡＭ  １０３内を更新して（ステップＳ３１１）、ステップＳ３１２に進む。これは、発音体４１１と発音体４１２が十分に離れており、両者のコントラストを明確にする必要がない場合に相当する。たとえば、ステレオ音声出力や５.１チャンネル音声出力で発音体の音が発生している方向を示すような場合には、注目点４０５から見た発音体４１１、発音体４１２が仮想空間４０１内で配置されている方向が離れている場合には、このような差異の明確化が不要な場合もある。
【００９７】
なお、cosθやθの計算ならびにθとφの比較を一切省略して、常にステップＳ３１０の処理が行われることとしても良い。
【００９８】
また、見込む角θを用いるのではなく、仮想空間４０１内における発音体４１１と発音体４１２の距離|r1(t)-r2(t)|が所定の閾値よりも小さいか否かによって判断することとしても良い。
【００９９】
なお、音声処理部１１０のハードウェアの態様によっては、ミキシング対象の音声情報a1(t)，a2(t)を設定した上で、所望の時刻で変化させるべき増幅率A1，A2を直接指示することとしている場合もある。このような場合には、ＲＡＭ  １０３に記憶して更新する処理にかえて、音声処理部１１０のハードウェアに増幅率A1，A2を指定する指示を出すこととすれば良い。
【０１００】
さて、このようにして、ＲＡＭ  １０３内に記憶される増幅率A1，A2が更新された後は、これらの発音体４１１、発音体４１２を含む仮想空間４０１を注目点４０５から見た三次元グラフィックス画像を生成して（ステップＳ３１２）、垂直同期割り込みが生じるまで待機し（ステップＳ３１３）、垂直同期割り込みが生じたら生成されたグラフィックス画像をフレームメモリに転送して（ステップＳ３１４）、ステップＳ３０４に戻る。
【０１０１】
このように、本実施形態によれば、２つの発音体が発する音声の差異を、これらに割り当てられた音量係数に基づいて、より極立たせてコントラストを明確にすることができ、本音声出力装置のユーザは、２つの発音体の特徴を、一層はっきりと把握することができるようになる。
【実施例２】
【０１０２】
以下で説明する実施形態は、３つ以上の発音体がある場合（で、かつ、すべてについてコントラストを明確化したい場合）に対応するものである。すなわち、発音体がn個あり、その音量係数がp1，p2，p3，…，pnであり、
p1 > p3 > … > pn > p2
という関係がある場合を考える。
【０１０３】
まず、音量係数がp1，p2，p3，…，pnである発音体のそれぞれに対する変化率は、上記実施例と同様に求めることができ、
c1，c2，c3，…，cn
となるものとする。
【０１０４】
次に、音量係数がp1，p2であるものの増幅率A1，A2は上記実施形態と同様に求める。
【０１０５】
あとは、音量係数がp3，…，pnである発音体のそれぞれに対する増幅率A3，…，Anをどのように定めるか、ということとなる。
【０１０６】
このような場合に、たとえば、音量係数がpi (3≦i≦n)である発音体について、以下のような種々の関係を満たすように、増幅率Ai (3≦i≦n)を定める、という手法がありうる。
（１）A1/c1 : Ai/ci = Ai/ci : A2/c2；すなわち、Ai = ci×(A1×A2/(c1×c2))1/2
（２）A1/c1 : Ai/ci = p1 : pi；すなわち、Ai = ci×pi×A1/(c1×p1)
（３）A2/c2 : Ai/ci = p2 : pi；すなわち、Ai = ci×pi×A2/(c2×p2)
（４）(A1/c1 - Ai/ci):(Ai/ci - A2/c2) = (p1 - pi):(pi - p2)；すなわち、内分を行うのである。
【０１０７】
このような手法を採用することにより、３つ以上の発音体がある場合にも、これらに割り当てられた音量係数に基づいて、より極立たせてコントラストを明確にすることができる。
【産業上の利用可能性】
【０１０８】
以上説明したように、本発明によれば、２つの発音体の音声の差異を明確にして臨場感を高めるように出力するのに好適な音声出力装置、音声出力方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができ、ゲーム装置において各種の競争ゲーム等を実現する場合のほか、教育目的等で各種の仮想体験を提供するバーチャルリアリティ技術に適用することができる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施形態の１つに係る音声出力装置が実現される典型的な情報処理装置の概要構成を示す説明図である。
【図２】本発明の実施形態の一つに係る音声出力装置の概要構成を示す模式図である。
【図３】当該音声出力装置にて実行される音声出力処理の制御の流れを示すフローチャートである。
【図４】仮想空間内に配置される注目点および２つの発音体の位置関係を示す説明図である。
【符号の説明】
【０１１０】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２０１  音声出力装置
２０２  記憶部
２０３  距離計算部
２０４  変化率計算部
２０５  増幅率計算部
２０６  混合出力部
４０１  仮想空間
４０５  注目点
４１１  発音体
４１２  発音体
【図１】
2006239211.tif 000003
【図２】
2006239211.tif 000004
【図３】
2006239211.tif 000005
【図４】
2006239211.tif 000006
【手続補正書】
【提出日】平成18年4月21日(2006.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数を記憶する記憶部、
当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する距離計算部、
当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する変化率計算部、
当該２つの音量係数のうち大きい方p1に対応付けられる発音体に対して計算された変化率c1と、当該２つの音量係数のうち小さい方p2  (p1>p2)に対応付けられる発音体に対して計算された変化率c2と、に基づいて、所定の計算式により、p1に対応付けられる発音体に対する増幅率A1  (A1>c1)と、p2に対応付けられる発音体に対する増幅率A2  (A2<c2)と、を計算する増幅率計算部、
当該２つの発音体のそれぞれに対応付けられる音声情報を前記当該発音体に対して計算された増幅率で増幅して加算した音声を出力する混合出力部
を備えることを特徴とする音声出力装置。
【請求項２】
請求項１に記載の音声出力装置であって、
当該所定の計算式として、計算式（Ａ）「１より大きい正定数Pと１より小さい正定数Qに対して、A1 = c1×P；A2 = c2×Q」を採用する
ことを特徴とする音声出力装置。
【請求項３】
請求項１に記載の音声出力装置であって、
当該所定の計算式として、計算式（Ｂ）「A1 = c1×(p1/p2)；A2 = c2×(p2/p1)」を採用する
ことを特徴とする音声出力装置。
【請求項４】
請求項１に記載の音声出力装置であって、
当該所定の計算式として、計算式（Ｃ）「所定の１以上の正定数Rに対して、A1 = c1×(p1/p2)R；A2 = c2×(p2/p1)R」を採用する
ことを特徴とする音声出力装置。
【請求項５】
請求項１から４のいずれか１項に記載の音声出力装置であって、
前記増幅率計算部が当該増幅率を計算するのは、所定の条件が満たされる場合であり、
前記混合出力部は、当該所定の条件が満たされる場合、当該２つの発音体のそれぞれに対応付けられる音声情報を前記当該発音体に対して計算された増幅率で増幅して加算した音声を出力し、当該所定の条件が満たされない場合、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された変化率で増幅して加算した音声を出力する
ことを特徴とする音声出力装置。
【請求項６】
請求項５に記載の音声出力装置であって、
当該所定の条件として、条件（ａ）「当該２つの発音体を当該所定の注目点から見込む角が所定の角度より小さいこと」を採用する
ことを特徴とする音声出力装置。
【請求項７】
請求項５に記載の音声出力装置であって、
当該所定の条件として、条件（ｂ）「当該２つの発音体の距離が所定の閾値より小さいこと」を採用する
ことを特徴とする音声出力装置。
【請求項８】
請求項１から７のいずれか１項に記載の音声出力装置であって、
前記混合出力部は、当該音声情報の加算に飽和加算を用いる
ことを特徴とする音声出力装置。
【請求項９】
記憶部、距離計算部、変化率計算部、増幅率計算部、混合出力部を備える音声出力装置にて実行される音声出力方法であって、前記記憶部には、仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数が記憶され、
前記距離計算部が、当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する距離計算工程、
前記変化率計算部が、当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する変化率計算工程、
当該２つの音量係数のうち大きい方p1に対応付けられる発音体に対して計算された変化率c1と、当該２つの音量係数のうち小さい方p2  (p1>p2)に対応付けられる発音体に対して計算された変化率c2と、に基づいて、所定の計算式により、p1に対応付けられる発音体に対する増幅率A1  (A1>c1)と、p2に対応付けられる発音体に対する増幅率A2  (A2<c2)と、を計算する増幅率計算工程、
前記混合出力部が、当該２つの発音体のそれぞれに対応付けられる音声情報を当該発音体に対して計算された増幅率で増幅して加算した音声を出力する混合出力工程
を備えることを特徴とする方法。
【請求項１０】
コンピュータを、
仮想空間内を移動する２つの発音体のそれぞれに対応付けられる音声情報および音量係数を記憶する記憶部、
当該仮想空間内における所定の注目点と当該２つの発音体のそれぞれとの距離を計算する距離計算部、
当該２つの発音体のそれぞれが発する音声の音量が、当該発音体について計算された距離だけ離れることによって変化する変化率を計算する変化率計算部、
当該２つの音量係数のうち大きい方p1に対応付けられる発音体に対して計算された変化率c1と、当該２つの音量係数のうち小さい方p2  (p1>p2)に対応付けられる発音体に対して計算された変化率c2と、に基づいて、所定の計算式により、p1に対応付けられる発音体に対する増幅率A1  (A1>c1)と、p2に対応付けられる発音体に対する増幅率A2  (A2<c2)と、を計算する増幅率計算部、
当該２つの発音体のそれぞれに対応付けられる音声情報を前記当該発音体に対して計算された増幅率で増幅して加算した音声を出力する混合出力部
として機能させることを特徴とするプログラム。