音声処理装置、音声処理方法、ならびに、プログラム
【課題】仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく音を再生する。
【解決手段】音声処理装置200において、記憶部201は発音源に対応づけられる領域を示す情報として例えば発音源から発音される音声を変化させる距離範囲を記憶する。判断部202は発音源とこの発音源から発音される音声を聴く位置である注目点との距離を求めて、注目点が記憶部201に記憶された距離範囲に存在するか否かを判断する。変化部203は注目点がこの距離範囲にある場合に音声を変化させる。再生部204は変化部203により変化された音声を再生する。
【解決手段】音声処理装置200において、記憶部201は発音源に対応づけられる領域を示す情報として例えば発音源から発音される音声を変化させる距離範囲を記憶する。判断部202は発音源とこの発音源から発音される音声を聴く位置である注目点との距離を求めて、注目点が記憶部201に記憶された距離範囲に存在するか否かを判断する。変化部203は注目点がこの距離範囲にある場合に音声を変化させる。再生部204は変化部203により変化された音声を再生する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムに関する。
【背景技術】
【0002】
仮想空間内のある位置に視点を置き、この視点からの仮想画像を合成して表示するシミュレーションゲームがよく知られている。このようなゲームでは、仮想空間内にオブジェクトを配置し、視点からオブジェクトまでの距離や方向などに基づいて視点からのオブジェクトの仮想画像を求めて表示することによって、あたかもユーザが仮想空間内にいるかのような現実感を起こさせる。仮想空間内のゲームの現実感を高める演出のひとつとして音響効果があり、様々な工夫がなされている。例えば、特許文献1には、仮想空間内の効果音の発音源と仮想カメラとの距離に基づいて異なる2つのサウンドデータのミキシング比率を変えて、仮想カメラの位置で聞こえる音を再生するゲーム装置が開示されている。これによれば、このゲーム装置は、発音源と仮想カメラとの距離が近づくと近距離用サウンドデータの比率を大きくして再生するなどして、よりリアリティ溢れる効果音などを出力することができる。
【特許文献1】特開2005−046270号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、一般に、効果音等を同時に再生できる数(再生トラック数)にはハードウェア的あるいはソフトウェア的な制限がある。一方、従来の音声処理装置や上述のゲーム装置などで再生される効果音は、仮想空間内の効果音の発音源とその効果音を聞く位置との距離が離れれば離れるほど、その効果音の音量を小さくするように制御されるのが一般的である。そして、その音量がゼロになる距離に達するまで再生を続ける場合が多い。そのため、実質的にユーザに聞こえない程度まで効果音の音量を下げて再生する場合にもその効果音のために再生トラックを占有しまい、同時再生する音数が増えたときに本来大きな音量で再生すべき他の効果音が正しく再生できないという問題があった。また、仮想空間内の効果音の発音源とその効果音を聞く位置との距離が十分遠く離れても、演出上ユーザに聞こえるようにしなければならない効果音がある場合には、その効果音のための特別な制御を行う必要があり面倒であった。
【0004】
本発明は、このような課題を解決するものであり、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0006】
本発明の第1の観点に係る音声処理装置は、記憶部と判断部と変化部と再生部とを備える。
記憶部は、仮想空間内に配置された発音源に対応づけられる領域を記憶する。
判断部は、発音源について、記憶部に記憶された領域に、仮想空間内に配置されたこの注目点が含まれるか否かを判断する。
変化部は、判断部により注目点がこの領域に含まれると判断された場合、発音源と注目点との距離に基づいて、この発音源から発音される音声を変化させる。
再生部は、変化部により変化された音声を再生する。
これにより、音声処理装置は、例えばキャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離に基づいて、キャラクタオブジェクトから発音される音声ごとに適切に音声を変化させることができる。すなわち、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生することができる。
【0007】
また、変化部は、発音源と注目点との距離が大きくなるにつれて、注目点で取得される音声の音量を小さくし、この距離が所定のしきい値より大きくなると、注目点で取得される音声の音量を所定の音量範囲内に維持するようにしてもよい。
これにより、音声処理装置は、例えばキャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離が離れるにつれて、ユーザキャラクタオブジェクトの位置で聞こえる音声の音量を小さくし、この距離が所定のしきい値より大きくなると、ユーザキャラクタオブジェクトの位置で聞こえる音声の音量を所定の音量のままにすることができる。すなわち、仮想空間内の発音源とその音を聞く位置との距離に応じてより現実感のある音響効果を得ることができる。
【0008】
また、記憶部に記憶された領域は、発音源からの距離が所定の基準距離以内の領域であり、変化部及び再生部は、発音源と注目点との距離が所定の基準距離より大きい場合に、発音源から発音される音声の処理を停止するようにしてもよい。
これにより、音声処理装置は、例えばキャラクタオブジェクトとユーザキャラクタオブジェクトとが所定の基準距離より離れると、ユーザキャラクタオブジェクトの位置で聞こえる音声の再生を止めることができる。例えば、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数に限界がある場合でも、同時再生する音数が増えたときに本来大きな音量で再生すべき他の効果音が正しく再生できない、ということがない。すなわち、音声処理装置は、仮想空間内のキャラクタオブジェクトとその音を聞くユーザキャラクタオブジェクトとの距離に応じて、音声を再生するかあるいは再生しないように制御して、効率よく音を再生することができる。
【0009】
また、変化部は、発音源と注目点との距離が所定のしきい値より大きい場合に、発音源から発音される音声を所定の最低音量に変化させるようにしてもよい。
これにより、音声処理装置は、例えば仮想空間内のキャラクタオブジェクトとユーザキャラクタオブジェクトとが遠く離れても演出上聞こえるようにしなければならない音声がある場合に、その音声のための特別な制御を行うことなく、最適な音量で容易にその音声を再生することができる。そして、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数に限界がある場合でも、効率よく音声を再生することができる。
【0010】
本発明のその他の観点に係る音声処理方法は、記憶部、判断部、変化部及び再生部を有する音声処理装置にて実行される音声処理方法であって、判断ステップと変化ステップと再生ステップとを備える。
記憶部には、仮想空間内に配置された発音源に対応づけられる領域が記憶される。
判断ステップは、判断部が、発音源について、記憶部に記憶された領域に仮想空間内に配置されたこの注目点が含まれるか否かを判断する。
変化ステップは、判断ステップにより注目点がこの領域に含まれると判断された場合、変化部が、発音源と注目点との距離に基づいてこの発音源から発音される音声を変化させる。
再生ステップは、再生部が、変化ステップにより変化された音声を再生する。
これにより、キャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離に基づいて、キャラクタオブジェクトから発音される音声ごとに適切に音声を変化させることができる音声処理方法を提供することができる。すなわち、この音声処理方法を用いた装置は、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生することができる。
【0011】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部と判断部と変化部と再生部として機能させる。
記憶部は、仮想空間内に配置された発音源に対応づけられる領域を記憶する。
判断部は、発音源について、記憶部に記憶された領域に、仮想空間内に配置されたこの注目点が含まれるか否かを判断する。
変化部は、判断部により注目点がこの領域に含まれると判断された場合、発音源と注目点との距離に基づいて、この発音源から発音される音声を変化させる。
再生部は、変化部により変化された音声を再生する。
これにより、プログラムは、コンピュータを、キャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離に基づいて、キャラクタオブジェクトから発音される音声ごとに適切に音声を変化させる装置として機能させることができる。
【0012】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0013】
本発明によれば、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく音を再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【0014】
(実施例1)
以下に本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0015】
図1は、プログラムを実行することにより、本発明の音声処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0016】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0017】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施例の音声処理装置が実現される。
【0018】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0019】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0020】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0021】
インターフェイス104を介して接続されたコントローラ105は、ユーザが麻雀ゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【0022】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、麻雀ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0023】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0024】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0025】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0026】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0027】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0028】
また、麻雀ゲームの牌の画像やトランプゲームのカードの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、現在の手牌や手札を画面に表示することができるようになる。
【0029】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0030】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0031】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0032】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0033】
次に、本実施例の音声処理装置200が行う処理について説明する。
【0034】
図2は、本実施例の音声処理装置200の概要構成を示す模式図である。音声処理装置200は、記憶部201と判断部202と変化部203と再生部204とを備える。
【0035】
図3は、3次元仮想空間内に配置された発音源301と、発音源301から発せられる音声が到達する注目点302との位置関係を示す図である。発音源301は、この仮想空間内で移動可能なキャラクタオブジェクトであり、ゲーム進行中の所定のタイミングで音声や効果音を出す音源である。音声処理装置200は、ゲーム進行中に発音源301からの音声が聞こえるように所定の音声データの再生を開始し、あるいは発音源301からの音声が聞こえないように音声データの再生を停止する。注目点302は、典型的にはユーザキャラクタオブジェクトが配置される位置である。このように、音声処理装置200のユーザは、仮想空間内に配置されたユーザキャラクタオブジェクトの位置における、発音源301から発せられる音声を聞くことができる。
【0036】
音声処理装置200は、仮想空間内に配置されたユーザキャラクタオブジェクトの位置における、発音源301から発音される音声の音量を、発音源301と注目点302との距離Lが大きくなればなるほど小さくする。また、後述するように、音声処理装置200は、発音源301であるキャラクタオブジェクトごとに予め設定された領域を示す情報と、距離Lとに基づいて、発音源301から発音される音声を制御する処理(以下、「音声制御処理」と呼ぶ)を行うことにより、音声を効率よく再生できるように制御する。
【0037】
記憶部201は、仮想空間内に配置された発音源301に対応づけて領域を示す情報を記憶する。例えば、記憶部201は、発音源301に対応づけて、発音源301と注目点302との距離範囲を示す情報を記憶する。本実施例では、この情報はDVD−ROMドライブ108に装着されるDVD−ROMに予め記憶されており、CPU 101による制御により随時読み出される。
なお、CPU 101とDVD−ROMドライブ108とが協働して動作することにより、記憶部201として機能する。
【0038】
具体的には、例えば、記憶部201は、図4(a)に示すように、発音源301から発音される音声に対応づけて、仮想空間内における仮想距離を単位として、発音源301と注目点302との距離範囲を記憶する。本図の場合、記憶部201は、発音源301である「車のエンジン音」に対応づけて、発音源301(走行する車オブジェクトのエンジン)と注目点302(走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のとき、この音声が再生される旨の情報を記憶する。言い換えれば、記憶部201は、発音源301と注目点302との距離が100メートルを超えると再生部204による再生を停止する旨の情報を記憶する。このように、記憶部201は、個々の発音源301について別々に距離範囲を示す情報を記憶する。
【0039】
あるいは、記憶部201は、図4(b)に示すように、再生する音声データのファイル名に対応づけて、仮想空間内における仮想距離を単位として、発音源301と注目点302との距離範囲を記憶してもよい。本図の場合、記憶部201は、ファイル名「onsei01.wav」の音声データ(例えば、走行する車オブジェクトのエンジン音)に対応づけて、発音源301(例えば、走行する車オブジェクト)と注目点302(例えば、走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のときに再生される旨の情報を記憶する。このように、記憶部201は、個々の音声データについて別々に距離範囲を示す情報を記憶してもよい。
【0040】
また、発音源301の仮想空間内での位置に関係なく(発音源301と注目点302との距離に関係なく)発音源301からの音声を再生させたい場合、記憶部201に記憶される情報は、図4(c)に示すように、再生する距離範囲として実質的に距離が無限遠と見なせるほど十分大きな値Linfを用いて設定されればよい。
【0041】
例えば、記憶部201は、各々の効果音等に固有番号を付して、この固有番号に対応づけて発音源301と注目点302との距離範囲を記憶してもよい。また、個々の発音源301そのもの、キャラクタオブジェクトの種類などに対応づけて、距離範囲を記憶してもよい。
【0042】
記憶部201に記憶される、発音源301に対応づけられる領域は、上述した発音源301と注目点302との距離範囲を示す情報に限られず他の情報であってもよい。例えば、記憶部201は、発音源301から発音される音声を伝達させる領域、方向、あるいは伝達速度などを記憶してもよい。これにより、更に現実感のある音響効果を効率よく得ることができる。
【0043】
また、音声データ中の一部分に、再生する距離範囲を示す情報を記憶するフォーマットを用いてもよい。これにより、記憶部201に記憶するデータの管理を簡略化することができる。また、このようなフォーマットを用いた音声データを再生する場合には後述する本発明の音声制御処理によって再生を行い、他のフォーマットでは本発明の音声制御処理を行わないように制御することが容易になる。
【0044】
記憶部201は、これらの情報をROM 102や外部メモリ106等の他の記憶媒体に記憶するように構成してもよい。
【0045】
また、発音源301と注目点302との距離範囲を示すデータを予め備えるプログラムとして実現されるものであってもよい。
【0046】
判断部202は、仮想空間内に配置された発音源301の座標値と、発音源301から発音される音声の注目点302の座標値とに基づいて、発音源301と注目点302との距離を求め、記憶部201に記憶された距離範囲に注目点302が含まれるか否かを判断する。仮想空間内に複数の発音源301が配置されている場合には、判断部202は、発音源301ごとに発音源301と注目点302との距離を求めて、記憶部201に記憶された距離範囲に注目点302が含まれるか否かを判断する。判断部202は、この判断結果を変化部203に入力する。
なお、CPU 101と画像処理部107とが協働して動作することにより、判断部202として機能する。
【0047】
ここで、各々の座標値は一般に広く用いられている座標系を用いて表現される。例えば、仮想空間は、直交する3軸を用いた直交座標系や、1個の動径と2個の偏角を用いた球座標のような極座標系で表現される。あるいは、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、キャラクタオブジェクトごとのローカル座標系(ボディ座標系)とを別々に設定して座標計算等を行う構成を採用してもよい。
【0048】
変化部203は、判断部201によって求められた発音源301と注目点302との距離に基づいて、発音源301から発音される音声を変化させる。すなわち、変化部202は、ゲーム進行中にキャラクタオブジェクトである発音源301から効果音等を発音させる所定のタイミングで、その効果音等に対応する音声データをDVD−ROMドライブ108に装着されたDVD−ROMなどから取得して、判断部202によって求められた距離に対応する音量を求めて再生音量を設定する。
なお、CPU 101と音声処理部110とが協働して動作することにより、変化部203として機能する。
【0049】
効果音等に対応する音声データを読み出すタイミングはこれに限られない。典型的にはこのタイミングは後述する再生部204が音声データの再生を開始する前である。DVD−ROMなどの情報記録媒体に格納されている音楽データをストリーム再生する場合にも本発明を適用することができる。
【0050】
再生する音声データのフォーマットは任意である。音声処理装置200は、このフォーマットに対応した音声再生用の所定のプログラム等を予め記憶したDVD−ROMやROM102等からこのプログラム等を読み出して実行し、音声データを再生できればよい。
【0051】
具体的には、例えば、変化部203は、図5(a)に示すように、発音源301と注目点302との距離が大きくなるにつれて、注目点302で取得される発音源301からの音声の音量を小さくし、発音源301と注目点302との距離が所定のしきい値Lthよりに大きくなると、発音源301からの音声の音量を所定の音量値Vc近傍(Vc_low以上、Vc_high以下の範囲)に維持する。また、例えば、変化部203は、発音源301と注目点302との距離が大きくなるにつれて、注目点302で取得される発音源301からの音声の音量を小さくし、発音源301と注目点302との距離が、発音源301から発音される音声が聞こえない程度に十分離れると、図5(b)に示すように、音量をゼロあるいはゼロの近傍に維持する。
【0052】
再生部204は、変化部203により変化された音声を再生する。すなわち、再生部204は、発音源301から発音される音声に対応する音声データを取得し、この音声データに対応した所定のプログラム等を実行してデコードして、音声を再生する。
【0053】
例えば、注目点302で取得される発音源301からの音声が、図5(a)に示すように変化部203により変化されて設定されたとする。再生部204は、発音源301と注目点302との距離が0以上しきい値Lth以下のとき、音量をだんだんと小さくする。一方、発音源301と注目点302との距離がしきい値Lthを超えると、音量値Vc近傍の所定の音量範囲内に音量を維持する。これにより、再生部204により再生されるこの音声の音量は、実質的に音量Vc付近で一定になる。
【0054】
また、例えば、注目点302で取得される発音源301からの音声が、図5(b)に示すように変化部203により変化されて設定されたとする。再生部204は、発音源301と注目点302との距離がしきい値Lthを超えると、音量値をゼロにする。これにより、再生部204は、発音源301からの音声をユーザに聞こえないようにすることができる。なお、図5(a)及び(b)では音量の変化の度合いを直線的に示しているが、これに限られず任意に設定することができる。
【0055】
次に、本実施例のCPU 101等が実行する音声制御処理について、図6のフローチャートを用いて説明する。以下の説明では、仮想空間内を走行する車オブジェクト(キャラクタオブジェクト)から発音される音声(例えば、エンジン音)を、同じく仮想空間内に配置されるユーザキャラクタオブジェクトの位置で聞く場合を例に説明する。
【0056】
まず、判断部202は、発音源301であるキャラクタオブジェクトと、注目点302であるユーザキャラクタオブジェクトとの距離を求める(ステップS601)。
【0057】
次に、判断部202は、注目点302が所定の距離範囲内に含まれるか否かを判断する(ステップS602)。例えば、判断部202は、発音源301である走行する車オブジェクトに対応づけられている距離範囲を示す情報を記憶部201から取得して、ステップS601で求めた距離がこの距離範囲に含まれるか否かを判断する。
【0058】
注目点302が所定の距離範囲内に含まれない場合(ステップS602;NO)、判断部202は音声制御処理を終了する。つまり、この場合には発音源301からの音声は再生されない。
【0059】
注目点302が所定の距離範囲内に含まれる場合(ステップS602;YES)、変化部203は、ステップS601で求めた距離が所定のしきい値Lthより大きいか否かを判定する(ステップS603)。
【0060】
所定のしきい値Lthより大きい場合(ステップS603;YES)、変化部203は、発音源301から発音される音声(走行する車オブジェクトのエンジン音)の音量を所定の音量範囲内に維持する(ステップS604)。
【0061】
一方、所定のしきい値Lth以下の場合(ステップS603;NO)、変化部203は、発音源301から発音される音声に対応する音声データを取得する(ステップS605)。なお、直前に同じ音声データを再生しRAM 103などにキャッシュデータとして残っている場合など、すでに音声データを取得しているときにはこのステップを省略することができる。
【0062】
さらに、変化部203は、ステップS601で求めた距離に基づいて音量を変化させる(ステップS606)。例えば、変化部203は、発音源301と注目点302との距離が大きければ大きいほど、音量を小さく変化させる。
【0063】
そして、再生部204は、ステップS604又はS606で変化された音声を再生して出力する(ステップS607)。
【0064】
このように、音声処理装置200は、記憶部201に記憶された、発音源301に対応づけられた領域に基づいて、発音源301から発音される音声を変化させることができる。すなわち、音声処理装置200は、仮想空間内の発音源301とその音を聞く注目点302との距離に応じて効率よく音を再生することができる。
【0065】
なお、本実施例では、発音源301から発音される音声ごとに音声を変化させて再生しているが、発音源301の種類(例えば敵キャラか味方キャラか等)ごとに、上述の音声制御処理によって再生するか否かを制御することもできる。この場合、例えば、記憶部201は発音源301に対応づけて発音源301の属性情報(例えば、敵か味方か、優先的に再生するか否か、など)を更に記憶し、変化部203等はこの属性情報に基づいて上述の音声制御処理によって再生するか否かを制御すればよい。あるいは、音声データの種類やファイル形式ごとに、上述の音声制御処理を行うか否かを制御してもよい。
【0066】
(実施例2)
次に、本発明の他の実施例について説明する。本実施例では、変化部203及び再生部204は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声の処理を停止するように構成される。なお、本実施例の音声処理装置200のその他の構成は上述した実施例と同様であるため、重複する部分については説明を省略する。以下、詳述する。
【0067】
記憶部201は、発音源301から発音される音声に対応づけて、仮想空間内における仮想距離を単位として、その音声を再生させる距離範囲を記憶する。例えば、記憶部201は、図4(a)に示されるような情報を記憶する。本図の場合、記憶部201は、発音源301である「車のエンジン音」に対応づけて、発音源301(走行する車オブジェクトのエンジン)と注目点302(走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のとき、この音声が再生される旨の情報を記憶する。記憶部201は、個々の発音源301について別々に距離範囲を示す情報を記憶する。なお、本図は記憶部201に記憶される情報の一例にすぎず、任意に設定することができる。
【0068】
変化部203は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声を変化させる処理を停止する。すなわち、この場合、変化部203は上述した音声制御処理を行わない。
【0069】
再生部204は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声を再生する処理を行わない。すなわち、この場合、再生部204は該当する音声を再生しない。例えば、注目点302の近くを走行する車オブジェクト(発音源301)から発音されるエンジン音を再生させ、この発音源301が注目点302からだんだん遠ざかるように移動しているとする。このとき、再生部204は、発音源301と注目点302との距離が所定の基準距離Lcよりも大きくなると、車オブジェクトから発音されるエンジン音の再生を停止する。
【0070】
図7(a)は、本実施例の音声制御処理により出力される、発音源301から発音される音声の音量を示す図の例である。変化部203は、この発音源301に対応づけられた領域(本図では距離範囲)を示す情報を記憶部201から取得し、注目点302がこの領域内にある場合(距離が0以上、Lth以下の場合)、音量を距離とともに小さく変化させる。そして、注目点302がこの領域の外に出ると、変化部203は、この音声の音量を所定の音量Vth近傍に維持する。さらに、発音源301と注目点302の距離が所定の基準距離Lcより大きくなると、再生部204はこの音声の再生を停止する。
【0071】
これにより、音声処理装置200は、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数(再生トラック数)に限界がある場合でも、実質的に聞こえない音声を再生するために再生トラックを占有してしまうことにより同時再生する音数が増えたときに本来大きな音量で再生すべき他の効果音が正しく再生できない、ということがない。すなわち、音声処理装置200は、仮想空間内の発音源301とその音を聞く注目点302との距離に応じて音声を再生するかあるいは再生しないように制御して、効率よく音を再生することができる。
【0072】
また、音声処理装置200は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声を変化させる処理を省略することができる。すなわち、従来は、発音源301と注目点302との距離に基づいて音声を変化させる所定の演算(例えば、音の反射や遮蔽などの影響を考慮する演算)を行い、その演算の結果得られる音量が所定量より小さければ再生しないように制御していたが、本発明によれば、この所定の演算を行わずに音声を再生するか否かを判断でき、音声を再生する処理を大幅に簡略化することができる。
【0073】
この所定の基準距離Lcとして、記憶部201に記憶された、仮想空間内に配置された発音源301に対応づけられる領域を示す情報を用いてもよい。すなわち、この場合、変化部203が音声を変化させるか否かの判定に用いられるしきい値Lthと、再生部204がこの音声を再生するか否かの判定に用いられる基準距離Lcとは同じ値になる。これにより、音声処理装置200は、仮想空間内に配置された発音源301に対応づけられる領域内に注目点302がなければ、変化部203により音声を変化させない旨の判定と、再生部204による再生を行わない旨の判定との両方を同時に行うことができ、更に音声制御処理を簡略化することができる。
【0074】
図7(b)は、変化部203が音声を変化させるか否かの判定に用いられるしきい値Lthと、再生部204がこの音声を再生するか否かの判定に用いられる基準距離Lcとを一致させた場合の、発音源301から発音される音声の音量を示す図の例である。発音源301と注目点302との距離が所定の基準距離Lc以内のとき、変化部203はこの音声の音量を変化させ、再生部204は変化された音声を再生する。そして、この基準距離Lcを超えると、変化部203はこの音声を変化させず、かつ、再生部204はこの音声の再生を行わない。
【0075】
なお、発音源301と注目点302との距離がこの所定の基準距離Lcより大きい場合には、発音源301から発音される音声は再生部204により再生されないので、変化部203はこの音声を変化させても変化させなくてもよいが、音声制御処理を簡略化して効率よく再生するためには、変化部203は音声を変化させる処理も行わないことが望ましい。
【0076】
次に、本実施例のCPU 101等が実行する音声制御処理について、図8のフローチャートを用いて説明する。
【0077】
まず、判断部202は、発音源301と注目点302との距離を求める(ステップS801)。
【0078】
次に、判断部202は、注目点302が所定の距離範囲内に含まれるか否かを判断する(ステップS802)。
【0079】
注目点302が所定の距離範囲内に含まれない場合(ステップS802;NO)、判断部202は音声制御処理を終了する。つまり、この場合には発音源301からの音声は再生されない。
【0080】
注目点302が所定の距離範囲内に含まれる場合(ステップS802;YES)、変化部203は、ステップS801で求めた距離が所定のしきい値より大きいか否かを判定する(ステップS803)。
【0081】
距離が所定のしきい値Lthより大きい場合(ステップS803;YES)、変化部203は、発音源301から発音される音声を変化させないかあるいは音声を変化させる処理を停止し(ステップS804)、ステップS805の処理に進む。
【0082】
距離が所定のしきい値Lth以下の場合(ステップS803;NO)、変化部203は、発音源301と注目点302との距離が所定の基準距離Lcより大きいか否かを判定する(ステップS805)。
【0083】
距離が基準距離Lcより大きい場合(ステップS805;YES)、再生部204は、発音源301から発音される音声を再生しないかあるいは再生を停止する(ステップS806)。
【0084】
一方、距離が基準距離Lc以下の場合(ステップS805;NO)、変化部203は、発音源301から発音される音声に対応する音声データを取得する(ステップS807)。
【0085】
さらに、変化部203は、ステップS801で求めた距離に基づいて音量を変化させる(ステップS808)。例えば、変化部203は、発音源301と注目点302との距離が大きければ大きいほど、音量を小さく変化させる。
【0086】
そして、再生部204は、S808で変化された音声を再生して出力する(ステップS809)。
【0087】
このように、音声処理装置200は、発音源301が所定の基準距離Lcより近くにあれば音声の再生を行い、この基準距離Lcより遠くにあれば音声の再生を停止する。これにより、音声処理装置200は、仮想空間内の発音源301とその音を聞く注目点302との距離に応じて効率よく音を再生することができる。すなわち、音声処理装置200は、発音源301と注目点302との距離が所定のしきい値Lthより大きければ音声を変化させる処理を行う必要がなく、かつ、発音源301と注目点302との距離が基準距離Lcより大きければ音声を再生しないため、音声制御処理を大幅に簡略化することができる。
【0088】
(実施例3)
次に、本発明の他の実施例について説明する。本実施例では、変化部203は、発音源301と注目点302との距離が前述の所定のしきい値Lthより大きい場合に、発音源301から発音される音声を所定の最低音量Vminに変化させるように構成される。なお、本実施例の音声処理装置200のその他の構成は上述した実施例と同様であるため、重複する部分については説明を省略する。以下、詳述する。
【0089】
記憶部201は、発音源301から発音される音声に対応づけて、仮想空間内における仮想距離を単位として、その音声を変化させる距離範囲を記憶する。例えば、記憶部201は、図9(a)に示されるような情報を記憶する。本図の場合、記憶部201は、発音源301である「車のエンジン音」に対応づけて、発音源301(走行する車オブジェクトのエンジン)と注目点302(走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のとき、この音声を変化させる旨の情報を記憶する。記憶部201は、個々の発音源301について別々に距離範囲を示す情報を記憶する。なお、本図は記憶部201に記憶される情報の一例にすぎず、任意に設定することができる。
【0090】
あるいは、記憶部201は、図9(b)に示すように、再生する音声データのファイル名に対応づけて、仮想空間内における仮想距離を単位として、音声を変化させる距離範囲を記憶してもよい。本図の場合、記憶部201は、ファイル名「onsei01.wav」の音声データ(例えば、走行する車オブジェクトのエンジン音)に対応づけて、発音源301(例えば、走行する車オブジェクト)と注目点302(例えば、走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のときに変化される旨の情報を記憶する。このように、記憶部201は、個々の音声データについて別々に距離範囲を示す情報を記憶してもよい。
【0091】
変化部203は、判断部202によって求められた発音源301と注目点302との距離に基づいて、発音源301から発せられる音声を変化させる。例えば、図10(a)に示すように、変化部203は、発音源301と注目点302との距離が大きくなるにつれて、注目点302で取得される音声の音量を小さくする。また、変化部203は、発音源301と注目点302との距離が所定のしきい値Lthより大きくなると、注目点302で取得される音声の音量を所定の最低音量Vminにする。
【0092】
あるいは、変化部203は、図10(b)に示すように、発音源301と注目点302との距離が所定のしきい値Lthより大きくなると、注目点302で取得される音声の音量を、最低音量Vmin近傍の所定の音量範囲内(Vmin_low以上、Vmin_high以下)に維持する。なお、図10(a)及び(b)では音量の変化の度合いを直線的に示しているが、これに限られるものではない。
【0093】
本実施例では、上述の実施例と異なり、発音源301と注目点302との距離が大きくなっても、再生部204による音声の再生が停止されることはなく、少なくとも所定の最低音量以上の音量で再生される。
【0094】
これにより、音声処理装置200は、仮想空間内の発音源301と注目点302との距離が十分遠く離れても演出上ユーザに聞こえるようにしなければならない効果音がある場合に、その効果音のための特別な制御を行うことなく、最適な音量で容易に効果音を再生することができる。そして、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数(再生トラック数)に限界がある場合でも、効率よく音声を再生することができる。
【0095】
例えば、記憶部201は、発音源301に対応づけて再生の優先度を予め記憶するように構成し、発音源301の優先度が高ければ発音源301と注目点302との距離が離れても再生を停止させないようにすることができる。
【0096】
また、再生の優先度が設定された発音源301が仮想空間内に複数個存在する場合、これらの発音源301のうち優先度の高い順に所定数(例えば再生トラック数)の発音源301を抽出し、抽出された発音源301から発音される音声のみを変化させるかあるいは再生するように構成することもできる。
【0097】
なお、本実施例では、上述の図6のステップS604で、変化部203が音量を所定の音量範囲内にする代わりに、変化部203が音量を所定の最低音量にするように構成すればよい。その他のステップは同様であるため、フローチャートの詳細は省略する。
【0098】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例を自由に組み合わせることも可能である。
【0099】
上述の実施例では、発音源301が移動する車オブジェクトであるものとして説明したが、これに限られるものではなく、オブジェクト自身が移動する/しないに関わらず、任意のキャラクタオブジェクトが発音源301と成りうることは言うまでもない。また、注目点302はユーザキャラクタオブジェクトが配置される位置であるとして説明したが、これに限られるものではなく、仮想空間内に配置された仮想カメラの位置や、仮想空間内の世界の一人称視点などであってもよい。
【0100】
上述の実施例では、変化部203は発音源301から発音される音声の音量を変化させるが、これに限られるものではない。例えば、変化部203は、発音源301に対応づけられた領域に注目点302が存在する場合に、音声を反響させるエフェクト、特定周波数成分を減衰あるいは増幅させるエフェクトなど他の音声制御を行うように構成してもよい。これにより、より現実感のある音響効果を実現することができる。
【0101】
他の応用例として、仮想空間内で音声を聴く注目点302における視線方向も考慮して音声制御処理を行ってもよい。例えば、注目点302から発音源301方向への方向ベクトルが視線方向ベクトルと一致あるいはその近傍の所定範囲内にある場合に、この発音源301から発音される音声の音量を大きくするように変化させることもできる。これにより、視覚効果と音響効果とを併せてより現実感のある演出を実現することができる。
【0102】
他の応用例として、記憶部201は、図11(a)に示すように、発音源301と注目点302との距離が所定のしきい値より大きくなったときに、実施例2のように再生を停止するか、あるいは、実施例3のように最低音量で再生を続けるか、を指定するフラグを、発音源301に対応づけて記憶してもよい。例えば、このフラグには、実施例2のように制御する場合には「0」、実施例3のように制御する場合には「1」が設定される。そして、変化部203及び再生部204は、このフラグ値に基づいて上述の実施例の音声制御処理を使い分けるように構成してもよい。この変形例においても、図11(b)に示すように、再生する音声データのファイル名に対応づけてこのフラグを記憶するようにしてもよい。また、図11(c)に示すように、再生する距離範囲として実質的に距離が無限遠と見なせるほど十分大きな値Linfを用いて設定される場合にも、再生する音声データのファイル名あるいは発音源301に対応づけてこのフラグを記憶することができる。これにより、上述の実施例を容易に組み合わせて実施することができる。なお、このフラグにより使い分けられる音声制御処理は上述の実施例の内容に限られず、このフラグを他の任意の変形例と組み合わせて使い分けるために用いることができるのは言うまでもない。
【0103】
他の応用例として、仮想空間内に特定のキャラクタオブジェクトの組み合わせが存在する場合に、これらのキャラクタオブジェクトから発音される音声に対する音声制御処理をまとめて管理するように構成してもよい。この場合、例えば記憶部201が特定のキャラクタオブジェクト同士の組み合わせを示す情報を記憶し、変化部203あるいは再生部204がこの組み合わせを示す情報を読み出して音声制御処理を行うように構成すればよい。例えば、仮想空間内を走行する車オブジェクトと、この車オブジェクトに搭乗するキャラクタオブジェクトとが存在する場合、車オブジェクトから発音される音声(例えば、エンジン音など)と搭乗するキャラクタオブジェクトから発音される音声(例えば、セリフ、銃声など)の両方を一緒に音量変化させることができる。これにより、演出上両方一緒に再生されるべき音声の片方しか再生されず音響効果に違和感を与えるようなことはない。
【0104】
例えば、音声処理装置200を装置の全部又は一部として動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0105】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【0106】
以上説明したように、本発明によれば、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0107】
【図1】本発明の音声処理装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】音声処理装置の構成を示す図である。
【図3】発音源と注目点との位置関係を説明するための図である。
【図4】(a)乃至(c)は、記憶部に記憶される情報の例を示す図である。
【図5】(a)及び(b)は、発音源と注目点との距離と、変化部により変化された音声の音量との関係の例を示す図である。
【図6】音声制御処理を説明するためのフローチャートである。
【図7】(a)及び(b)は、発音源と注目点との距離と、変化部により変化された音声の音量と、再生部により再生される/再生されない領域との関係の例を示す図である。
【図8】実施例2の音声制御処理を説明するためのフローチャートである。
【図9】(a)及び(b)は、記憶部に記憶される情報の例を示す図である。
【図10】(a)及び(b)は、発音源と注目点との距離と、変化部により変化された音声の音量との関係の例を示す図である。
【図11】(a)乃至(c)は、記憶部に記憶される情報の例を示す図である。
【符号の説明】
【0108】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 音声処理装置
201 記憶部
202 判断部
203 変化部
204 再生部
301 発音源
302 注目点
【技術分野】
【0001】
本発明は、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムに関する。
【背景技術】
【0002】
仮想空間内のある位置に視点を置き、この視点からの仮想画像を合成して表示するシミュレーションゲームがよく知られている。このようなゲームでは、仮想空間内にオブジェクトを配置し、視点からオブジェクトまでの距離や方向などに基づいて視点からのオブジェクトの仮想画像を求めて表示することによって、あたかもユーザが仮想空間内にいるかのような現実感を起こさせる。仮想空間内のゲームの現実感を高める演出のひとつとして音響効果があり、様々な工夫がなされている。例えば、特許文献1には、仮想空間内の効果音の発音源と仮想カメラとの距離に基づいて異なる2つのサウンドデータのミキシング比率を変えて、仮想カメラの位置で聞こえる音を再生するゲーム装置が開示されている。これによれば、このゲーム装置は、発音源と仮想カメラとの距離が近づくと近距離用サウンドデータの比率を大きくして再生するなどして、よりリアリティ溢れる効果音などを出力することができる。
【特許文献1】特開2005−046270号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、一般に、効果音等を同時に再生できる数(再生トラック数)にはハードウェア的あるいはソフトウェア的な制限がある。一方、従来の音声処理装置や上述のゲーム装置などで再生される効果音は、仮想空間内の効果音の発音源とその効果音を聞く位置との距離が離れれば離れるほど、その効果音の音量を小さくするように制御されるのが一般的である。そして、その音量がゼロになる距離に達するまで再生を続ける場合が多い。そのため、実質的にユーザに聞こえない程度まで効果音の音量を下げて再生する場合にもその効果音のために再生トラックを占有しまい、同時再生する音数が増えたときに本来大きな音量で再生すべき他の効果音が正しく再生できないという問題があった。また、仮想空間内の効果音の発音源とその効果音を聞く位置との距離が十分遠く離れても、演出上ユーザに聞こえるようにしなければならない効果音がある場合には、その効果音のための特別な制御を行う必要があり面倒であった。
【0004】
本発明は、このような課題を解決するものであり、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0006】
本発明の第1の観点に係る音声処理装置は、記憶部と判断部と変化部と再生部とを備える。
記憶部は、仮想空間内に配置された発音源に対応づけられる領域を記憶する。
判断部は、発音源について、記憶部に記憶された領域に、仮想空間内に配置されたこの注目点が含まれるか否かを判断する。
変化部は、判断部により注目点がこの領域に含まれると判断された場合、発音源と注目点との距離に基づいて、この発音源から発音される音声を変化させる。
再生部は、変化部により変化された音声を再生する。
これにより、音声処理装置は、例えばキャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離に基づいて、キャラクタオブジェクトから発音される音声ごとに適切に音声を変化させることができる。すなわち、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生することができる。
【0007】
また、変化部は、発音源と注目点との距離が大きくなるにつれて、注目点で取得される音声の音量を小さくし、この距離が所定のしきい値より大きくなると、注目点で取得される音声の音量を所定の音量範囲内に維持するようにしてもよい。
これにより、音声処理装置は、例えばキャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離が離れるにつれて、ユーザキャラクタオブジェクトの位置で聞こえる音声の音量を小さくし、この距離が所定のしきい値より大きくなると、ユーザキャラクタオブジェクトの位置で聞こえる音声の音量を所定の音量のままにすることができる。すなわち、仮想空間内の発音源とその音を聞く位置との距離に応じてより現実感のある音響効果を得ることができる。
【0008】
また、記憶部に記憶された領域は、発音源からの距離が所定の基準距離以内の領域であり、変化部及び再生部は、発音源と注目点との距離が所定の基準距離より大きい場合に、発音源から発音される音声の処理を停止するようにしてもよい。
これにより、音声処理装置は、例えばキャラクタオブジェクトとユーザキャラクタオブジェクトとが所定の基準距離より離れると、ユーザキャラクタオブジェクトの位置で聞こえる音声の再生を止めることができる。例えば、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数に限界がある場合でも、同時再生する音数が増えたときに本来大きな音量で再生すべき他の効果音が正しく再生できない、ということがない。すなわち、音声処理装置は、仮想空間内のキャラクタオブジェクトとその音を聞くユーザキャラクタオブジェクトとの距離に応じて、音声を再生するかあるいは再生しないように制御して、効率よく音を再生することができる。
【0009】
また、変化部は、発音源と注目点との距離が所定のしきい値より大きい場合に、発音源から発音される音声を所定の最低音量に変化させるようにしてもよい。
これにより、音声処理装置は、例えば仮想空間内のキャラクタオブジェクトとユーザキャラクタオブジェクトとが遠く離れても演出上聞こえるようにしなければならない音声がある場合に、その音声のための特別な制御を行うことなく、最適な音量で容易にその音声を再生することができる。そして、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数に限界がある場合でも、効率よく音声を再生することができる。
【0010】
本発明のその他の観点に係る音声処理方法は、記憶部、判断部、変化部及び再生部を有する音声処理装置にて実行される音声処理方法であって、判断ステップと変化ステップと再生ステップとを備える。
記憶部には、仮想空間内に配置された発音源に対応づけられる領域が記憶される。
判断ステップは、判断部が、発音源について、記憶部に記憶された領域に仮想空間内に配置されたこの注目点が含まれるか否かを判断する。
変化ステップは、判断ステップにより注目点がこの領域に含まれると判断された場合、変化部が、発音源と注目点との距離に基づいてこの発音源から発音される音声を変化させる。
再生ステップは、再生部が、変化ステップにより変化された音声を再生する。
これにより、キャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離に基づいて、キャラクタオブジェクトから発音される音声ごとに適切に音声を変化させることができる音声処理方法を提供することができる。すなわち、この音声処理方法を用いた装置は、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生することができる。
【0011】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部と判断部と変化部と再生部として機能させる。
記憶部は、仮想空間内に配置された発音源に対応づけられる領域を記憶する。
判断部は、発音源について、記憶部に記憶された領域に、仮想空間内に配置されたこの注目点が含まれるか否かを判断する。
変化部は、判断部により注目点がこの領域に含まれると判断された場合、発音源と注目点との距離に基づいて、この発音源から発音される音声を変化させる。
再生部は、変化部により変化された音声を再生する。
これにより、プログラムは、コンピュータを、キャラクタオブジェクトごとに予め設定された領域の中にユーザキャラクタオブジェクトが存在すると、キャラクタオブジェクトとユーザキャラクタオブジェクトとの距離に基づいて、キャラクタオブジェクトから発音される音声ごとに適切に音声を変化させる装置として機能させることができる。
【0012】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0013】
本発明によれば、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく音を再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【0014】
(実施例1)
以下に本発明の実施例を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0015】
図1は、プログラムを実行することにより、本発明の音声処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0016】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0017】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施例の音声処理装置が実現される。
【0018】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0019】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0020】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0021】
インターフェイス104を介して接続されたコントローラ105は、ユーザが麻雀ゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【0022】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、麻雀ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0023】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0024】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0025】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0026】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0027】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0028】
また、麻雀ゲームの牌の画像やトランプゲームのカードの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、現在の手牌や手札を画面に表示することができるようになる。
【0029】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0030】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0031】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0032】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0033】
次に、本実施例の音声処理装置200が行う処理について説明する。
【0034】
図2は、本実施例の音声処理装置200の概要構成を示す模式図である。音声処理装置200は、記憶部201と判断部202と変化部203と再生部204とを備える。
【0035】
図3は、3次元仮想空間内に配置された発音源301と、発音源301から発せられる音声が到達する注目点302との位置関係を示す図である。発音源301は、この仮想空間内で移動可能なキャラクタオブジェクトであり、ゲーム進行中の所定のタイミングで音声や効果音を出す音源である。音声処理装置200は、ゲーム進行中に発音源301からの音声が聞こえるように所定の音声データの再生を開始し、あるいは発音源301からの音声が聞こえないように音声データの再生を停止する。注目点302は、典型的にはユーザキャラクタオブジェクトが配置される位置である。このように、音声処理装置200のユーザは、仮想空間内に配置されたユーザキャラクタオブジェクトの位置における、発音源301から発せられる音声を聞くことができる。
【0036】
音声処理装置200は、仮想空間内に配置されたユーザキャラクタオブジェクトの位置における、発音源301から発音される音声の音量を、発音源301と注目点302との距離Lが大きくなればなるほど小さくする。また、後述するように、音声処理装置200は、発音源301であるキャラクタオブジェクトごとに予め設定された領域を示す情報と、距離Lとに基づいて、発音源301から発音される音声を制御する処理(以下、「音声制御処理」と呼ぶ)を行うことにより、音声を効率よく再生できるように制御する。
【0037】
記憶部201は、仮想空間内に配置された発音源301に対応づけて領域を示す情報を記憶する。例えば、記憶部201は、発音源301に対応づけて、発音源301と注目点302との距離範囲を示す情報を記憶する。本実施例では、この情報はDVD−ROMドライブ108に装着されるDVD−ROMに予め記憶されており、CPU 101による制御により随時読み出される。
なお、CPU 101とDVD−ROMドライブ108とが協働して動作することにより、記憶部201として機能する。
【0038】
具体的には、例えば、記憶部201は、図4(a)に示すように、発音源301から発音される音声に対応づけて、仮想空間内における仮想距離を単位として、発音源301と注目点302との距離範囲を記憶する。本図の場合、記憶部201は、発音源301である「車のエンジン音」に対応づけて、発音源301(走行する車オブジェクトのエンジン)と注目点302(走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のとき、この音声が再生される旨の情報を記憶する。言い換えれば、記憶部201は、発音源301と注目点302との距離が100メートルを超えると再生部204による再生を停止する旨の情報を記憶する。このように、記憶部201は、個々の発音源301について別々に距離範囲を示す情報を記憶する。
【0039】
あるいは、記憶部201は、図4(b)に示すように、再生する音声データのファイル名に対応づけて、仮想空間内における仮想距離を単位として、発音源301と注目点302との距離範囲を記憶してもよい。本図の場合、記憶部201は、ファイル名「onsei01.wav」の音声データ(例えば、走行する車オブジェクトのエンジン音)に対応づけて、発音源301(例えば、走行する車オブジェクト)と注目点302(例えば、走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のときに再生される旨の情報を記憶する。このように、記憶部201は、個々の音声データについて別々に距離範囲を示す情報を記憶してもよい。
【0040】
また、発音源301の仮想空間内での位置に関係なく(発音源301と注目点302との距離に関係なく)発音源301からの音声を再生させたい場合、記憶部201に記憶される情報は、図4(c)に示すように、再生する距離範囲として実質的に距離が無限遠と見なせるほど十分大きな値Linfを用いて設定されればよい。
【0041】
例えば、記憶部201は、各々の効果音等に固有番号を付して、この固有番号に対応づけて発音源301と注目点302との距離範囲を記憶してもよい。また、個々の発音源301そのもの、キャラクタオブジェクトの種類などに対応づけて、距離範囲を記憶してもよい。
【0042】
記憶部201に記憶される、発音源301に対応づけられる領域は、上述した発音源301と注目点302との距離範囲を示す情報に限られず他の情報であってもよい。例えば、記憶部201は、発音源301から発音される音声を伝達させる領域、方向、あるいは伝達速度などを記憶してもよい。これにより、更に現実感のある音響効果を効率よく得ることができる。
【0043】
また、音声データ中の一部分に、再生する距離範囲を示す情報を記憶するフォーマットを用いてもよい。これにより、記憶部201に記憶するデータの管理を簡略化することができる。また、このようなフォーマットを用いた音声データを再生する場合には後述する本発明の音声制御処理によって再生を行い、他のフォーマットでは本発明の音声制御処理を行わないように制御することが容易になる。
【0044】
記憶部201は、これらの情報をROM 102や外部メモリ106等の他の記憶媒体に記憶するように構成してもよい。
【0045】
また、発音源301と注目点302との距離範囲を示すデータを予め備えるプログラムとして実現されるものであってもよい。
【0046】
判断部202は、仮想空間内に配置された発音源301の座標値と、発音源301から発音される音声の注目点302の座標値とに基づいて、発音源301と注目点302との距離を求め、記憶部201に記憶された距離範囲に注目点302が含まれるか否かを判断する。仮想空間内に複数の発音源301が配置されている場合には、判断部202は、発音源301ごとに発音源301と注目点302との距離を求めて、記憶部201に記憶された距離範囲に注目点302が含まれるか否かを判断する。判断部202は、この判断結果を変化部203に入力する。
なお、CPU 101と画像処理部107とが協働して動作することにより、判断部202として機能する。
【0047】
ここで、各々の座標値は一般に広く用いられている座標系を用いて表現される。例えば、仮想空間は、直交する3軸を用いた直交座標系や、1個の動径と2個の偏角を用いた球座標のような極座標系で表現される。あるいは、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、キャラクタオブジェクトごとのローカル座標系(ボディ座標系)とを別々に設定して座標計算等を行う構成を採用してもよい。
【0048】
変化部203は、判断部201によって求められた発音源301と注目点302との距離に基づいて、発音源301から発音される音声を変化させる。すなわち、変化部202は、ゲーム進行中にキャラクタオブジェクトである発音源301から効果音等を発音させる所定のタイミングで、その効果音等に対応する音声データをDVD−ROMドライブ108に装着されたDVD−ROMなどから取得して、判断部202によって求められた距離に対応する音量を求めて再生音量を設定する。
なお、CPU 101と音声処理部110とが協働して動作することにより、変化部203として機能する。
【0049】
効果音等に対応する音声データを読み出すタイミングはこれに限られない。典型的にはこのタイミングは後述する再生部204が音声データの再生を開始する前である。DVD−ROMなどの情報記録媒体に格納されている音楽データをストリーム再生する場合にも本発明を適用することができる。
【0050】
再生する音声データのフォーマットは任意である。音声処理装置200は、このフォーマットに対応した音声再生用の所定のプログラム等を予め記憶したDVD−ROMやROM102等からこのプログラム等を読み出して実行し、音声データを再生できればよい。
【0051】
具体的には、例えば、変化部203は、図5(a)に示すように、発音源301と注目点302との距離が大きくなるにつれて、注目点302で取得される発音源301からの音声の音量を小さくし、発音源301と注目点302との距離が所定のしきい値Lthよりに大きくなると、発音源301からの音声の音量を所定の音量値Vc近傍(Vc_low以上、Vc_high以下の範囲)に維持する。また、例えば、変化部203は、発音源301と注目点302との距離が大きくなるにつれて、注目点302で取得される発音源301からの音声の音量を小さくし、発音源301と注目点302との距離が、発音源301から発音される音声が聞こえない程度に十分離れると、図5(b)に示すように、音量をゼロあるいはゼロの近傍に維持する。
【0052】
再生部204は、変化部203により変化された音声を再生する。すなわち、再生部204は、発音源301から発音される音声に対応する音声データを取得し、この音声データに対応した所定のプログラム等を実行してデコードして、音声を再生する。
【0053】
例えば、注目点302で取得される発音源301からの音声が、図5(a)に示すように変化部203により変化されて設定されたとする。再生部204は、発音源301と注目点302との距離が0以上しきい値Lth以下のとき、音量をだんだんと小さくする。一方、発音源301と注目点302との距離がしきい値Lthを超えると、音量値Vc近傍の所定の音量範囲内に音量を維持する。これにより、再生部204により再生されるこの音声の音量は、実質的に音量Vc付近で一定になる。
【0054】
また、例えば、注目点302で取得される発音源301からの音声が、図5(b)に示すように変化部203により変化されて設定されたとする。再生部204は、発音源301と注目点302との距離がしきい値Lthを超えると、音量値をゼロにする。これにより、再生部204は、発音源301からの音声をユーザに聞こえないようにすることができる。なお、図5(a)及び(b)では音量の変化の度合いを直線的に示しているが、これに限られず任意に設定することができる。
【0055】
次に、本実施例のCPU 101等が実行する音声制御処理について、図6のフローチャートを用いて説明する。以下の説明では、仮想空間内を走行する車オブジェクト(キャラクタオブジェクト)から発音される音声(例えば、エンジン音)を、同じく仮想空間内に配置されるユーザキャラクタオブジェクトの位置で聞く場合を例に説明する。
【0056】
まず、判断部202は、発音源301であるキャラクタオブジェクトと、注目点302であるユーザキャラクタオブジェクトとの距離を求める(ステップS601)。
【0057】
次に、判断部202は、注目点302が所定の距離範囲内に含まれるか否かを判断する(ステップS602)。例えば、判断部202は、発音源301である走行する車オブジェクトに対応づけられている距離範囲を示す情報を記憶部201から取得して、ステップS601で求めた距離がこの距離範囲に含まれるか否かを判断する。
【0058】
注目点302が所定の距離範囲内に含まれない場合(ステップS602;NO)、判断部202は音声制御処理を終了する。つまり、この場合には発音源301からの音声は再生されない。
【0059】
注目点302が所定の距離範囲内に含まれる場合(ステップS602;YES)、変化部203は、ステップS601で求めた距離が所定のしきい値Lthより大きいか否かを判定する(ステップS603)。
【0060】
所定のしきい値Lthより大きい場合(ステップS603;YES)、変化部203は、発音源301から発音される音声(走行する車オブジェクトのエンジン音)の音量を所定の音量範囲内に維持する(ステップS604)。
【0061】
一方、所定のしきい値Lth以下の場合(ステップS603;NO)、変化部203は、発音源301から発音される音声に対応する音声データを取得する(ステップS605)。なお、直前に同じ音声データを再生しRAM 103などにキャッシュデータとして残っている場合など、すでに音声データを取得しているときにはこのステップを省略することができる。
【0062】
さらに、変化部203は、ステップS601で求めた距離に基づいて音量を変化させる(ステップS606)。例えば、変化部203は、発音源301と注目点302との距離が大きければ大きいほど、音量を小さく変化させる。
【0063】
そして、再生部204は、ステップS604又はS606で変化された音声を再生して出力する(ステップS607)。
【0064】
このように、音声処理装置200は、記憶部201に記憶された、発音源301に対応づけられた領域に基づいて、発音源301から発音される音声を変化させることができる。すなわち、音声処理装置200は、仮想空間内の発音源301とその音を聞く注目点302との距離に応じて効率よく音を再生することができる。
【0065】
なお、本実施例では、発音源301から発音される音声ごとに音声を変化させて再生しているが、発音源301の種類(例えば敵キャラか味方キャラか等)ごとに、上述の音声制御処理によって再生するか否かを制御することもできる。この場合、例えば、記憶部201は発音源301に対応づけて発音源301の属性情報(例えば、敵か味方か、優先的に再生するか否か、など)を更に記憶し、変化部203等はこの属性情報に基づいて上述の音声制御処理によって再生するか否かを制御すればよい。あるいは、音声データの種類やファイル形式ごとに、上述の音声制御処理を行うか否かを制御してもよい。
【0066】
(実施例2)
次に、本発明の他の実施例について説明する。本実施例では、変化部203及び再生部204は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声の処理を停止するように構成される。なお、本実施例の音声処理装置200のその他の構成は上述した実施例と同様であるため、重複する部分については説明を省略する。以下、詳述する。
【0067】
記憶部201は、発音源301から発音される音声に対応づけて、仮想空間内における仮想距離を単位として、その音声を再生させる距離範囲を記憶する。例えば、記憶部201は、図4(a)に示されるような情報を記憶する。本図の場合、記憶部201は、発音源301である「車のエンジン音」に対応づけて、発音源301(走行する車オブジェクトのエンジン)と注目点302(走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のとき、この音声が再生される旨の情報を記憶する。記憶部201は、個々の発音源301について別々に距離範囲を示す情報を記憶する。なお、本図は記憶部201に記憶される情報の一例にすぎず、任意に設定することができる。
【0068】
変化部203は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声を変化させる処理を停止する。すなわち、この場合、変化部203は上述した音声制御処理を行わない。
【0069】
再生部204は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声を再生する処理を行わない。すなわち、この場合、再生部204は該当する音声を再生しない。例えば、注目点302の近くを走行する車オブジェクト(発音源301)から発音されるエンジン音を再生させ、この発音源301が注目点302からだんだん遠ざかるように移動しているとする。このとき、再生部204は、発音源301と注目点302との距離が所定の基準距離Lcよりも大きくなると、車オブジェクトから発音されるエンジン音の再生を停止する。
【0070】
図7(a)は、本実施例の音声制御処理により出力される、発音源301から発音される音声の音量を示す図の例である。変化部203は、この発音源301に対応づけられた領域(本図では距離範囲)を示す情報を記憶部201から取得し、注目点302がこの領域内にある場合(距離が0以上、Lth以下の場合)、音量を距離とともに小さく変化させる。そして、注目点302がこの領域の外に出ると、変化部203は、この音声の音量を所定の音量Vth近傍に維持する。さらに、発音源301と注目点302の距離が所定の基準距離Lcより大きくなると、再生部204はこの音声の再生を停止する。
【0071】
これにより、音声処理装置200は、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数(再生トラック数)に限界がある場合でも、実質的に聞こえない音声を再生するために再生トラックを占有してしまうことにより同時再生する音数が増えたときに本来大きな音量で再生すべき他の効果音が正しく再生できない、ということがない。すなわち、音声処理装置200は、仮想空間内の発音源301とその音を聞く注目点302との距離に応じて音声を再生するかあるいは再生しないように制御して、効率よく音を再生することができる。
【0072】
また、音声処理装置200は、発音源301と注目点302との距離が所定の基準距離Lcより大きい場合に、発音源301から発音される音声を変化させる処理を省略することができる。すなわち、従来は、発音源301と注目点302との距離に基づいて音声を変化させる所定の演算(例えば、音の反射や遮蔽などの影響を考慮する演算)を行い、その演算の結果得られる音量が所定量より小さければ再生しないように制御していたが、本発明によれば、この所定の演算を行わずに音声を再生するか否かを判断でき、音声を再生する処理を大幅に簡略化することができる。
【0073】
この所定の基準距離Lcとして、記憶部201に記憶された、仮想空間内に配置された発音源301に対応づけられる領域を示す情報を用いてもよい。すなわち、この場合、変化部203が音声を変化させるか否かの判定に用いられるしきい値Lthと、再生部204がこの音声を再生するか否かの判定に用いられる基準距離Lcとは同じ値になる。これにより、音声処理装置200は、仮想空間内に配置された発音源301に対応づけられる領域内に注目点302がなければ、変化部203により音声を変化させない旨の判定と、再生部204による再生を行わない旨の判定との両方を同時に行うことができ、更に音声制御処理を簡略化することができる。
【0074】
図7(b)は、変化部203が音声を変化させるか否かの判定に用いられるしきい値Lthと、再生部204がこの音声を再生するか否かの判定に用いられる基準距離Lcとを一致させた場合の、発音源301から発音される音声の音量を示す図の例である。発音源301と注目点302との距離が所定の基準距離Lc以内のとき、変化部203はこの音声の音量を変化させ、再生部204は変化された音声を再生する。そして、この基準距離Lcを超えると、変化部203はこの音声を変化させず、かつ、再生部204はこの音声の再生を行わない。
【0075】
なお、発音源301と注目点302との距離がこの所定の基準距離Lcより大きい場合には、発音源301から発音される音声は再生部204により再生されないので、変化部203はこの音声を変化させても変化させなくてもよいが、音声制御処理を簡略化して効率よく再生するためには、変化部203は音声を変化させる処理も行わないことが望ましい。
【0076】
次に、本実施例のCPU 101等が実行する音声制御処理について、図8のフローチャートを用いて説明する。
【0077】
まず、判断部202は、発音源301と注目点302との距離を求める(ステップS801)。
【0078】
次に、判断部202は、注目点302が所定の距離範囲内に含まれるか否かを判断する(ステップS802)。
【0079】
注目点302が所定の距離範囲内に含まれない場合(ステップS802;NO)、判断部202は音声制御処理を終了する。つまり、この場合には発音源301からの音声は再生されない。
【0080】
注目点302が所定の距離範囲内に含まれる場合(ステップS802;YES)、変化部203は、ステップS801で求めた距離が所定のしきい値より大きいか否かを判定する(ステップS803)。
【0081】
距離が所定のしきい値Lthより大きい場合(ステップS803;YES)、変化部203は、発音源301から発音される音声を変化させないかあるいは音声を変化させる処理を停止し(ステップS804)、ステップS805の処理に進む。
【0082】
距離が所定のしきい値Lth以下の場合(ステップS803;NO)、変化部203は、発音源301と注目点302との距離が所定の基準距離Lcより大きいか否かを判定する(ステップS805)。
【0083】
距離が基準距離Lcより大きい場合(ステップS805;YES)、再生部204は、発音源301から発音される音声を再生しないかあるいは再生を停止する(ステップS806)。
【0084】
一方、距離が基準距離Lc以下の場合(ステップS805;NO)、変化部203は、発音源301から発音される音声に対応する音声データを取得する(ステップS807)。
【0085】
さらに、変化部203は、ステップS801で求めた距離に基づいて音量を変化させる(ステップS808)。例えば、変化部203は、発音源301と注目点302との距離が大きければ大きいほど、音量を小さく変化させる。
【0086】
そして、再生部204は、S808で変化された音声を再生して出力する(ステップS809)。
【0087】
このように、音声処理装置200は、発音源301が所定の基準距離Lcより近くにあれば音声の再生を行い、この基準距離Lcより遠くにあれば音声の再生を停止する。これにより、音声処理装置200は、仮想空間内の発音源301とその音を聞く注目点302との距離に応じて効率よく音を再生することができる。すなわち、音声処理装置200は、発音源301と注目点302との距離が所定のしきい値Lthより大きければ音声を変化させる処理を行う必要がなく、かつ、発音源301と注目点302との距離が基準距離Lcより大きければ音声を再生しないため、音声制御処理を大幅に簡略化することができる。
【0088】
(実施例3)
次に、本発明の他の実施例について説明する。本実施例では、変化部203は、発音源301と注目点302との距離が前述の所定のしきい値Lthより大きい場合に、発音源301から発音される音声を所定の最低音量Vminに変化させるように構成される。なお、本実施例の音声処理装置200のその他の構成は上述した実施例と同様であるため、重複する部分については説明を省略する。以下、詳述する。
【0089】
記憶部201は、発音源301から発音される音声に対応づけて、仮想空間内における仮想距離を単位として、その音声を変化させる距離範囲を記憶する。例えば、記憶部201は、図9(a)に示されるような情報を記憶する。本図の場合、記憶部201は、発音源301である「車のエンジン音」に対応づけて、発音源301(走行する車オブジェクトのエンジン)と注目点302(走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のとき、この音声を変化させる旨の情報を記憶する。記憶部201は、個々の発音源301について別々に距離範囲を示す情報を記憶する。なお、本図は記憶部201に記憶される情報の一例にすぎず、任意に設定することができる。
【0090】
あるいは、記憶部201は、図9(b)に示すように、再生する音声データのファイル名に対応づけて、仮想空間内における仮想距離を単位として、音声を変化させる距離範囲を記憶してもよい。本図の場合、記憶部201は、ファイル名「onsei01.wav」の音声データ(例えば、走行する車オブジェクトのエンジン音)に対応づけて、発音源301(例えば、走行する車オブジェクト)と注目点302(例えば、走行する車オブジェクトのエンジン音を聞くユーザキャラクタオブジェクト)との距離が0〜100メートルの範囲内のときに変化される旨の情報を記憶する。このように、記憶部201は、個々の音声データについて別々に距離範囲を示す情報を記憶してもよい。
【0091】
変化部203は、判断部202によって求められた発音源301と注目点302との距離に基づいて、発音源301から発せられる音声を変化させる。例えば、図10(a)に示すように、変化部203は、発音源301と注目点302との距離が大きくなるにつれて、注目点302で取得される音声の音量を小さくする。また、変化部203は、発音源301と注目点302との距離が所定のしきい値Lthより大きくなると、注目点302で取得される音声の音量を所定の最低音量Vminにする。
【0092】
あるいは、変化部203は、図10(b)に示すように、発音源301と注目点302との距離が所定のしきい値Lthより大きくなると、注目点302で取得される音声の音量を、最低音量Vmin近傍の所定の音量範囲内(Vmin_low以上、Vmin_high以下)に維持する。なお、図10(a)及び(b)では音量の変化の度合いを直線的に示しているが、これに限られるものではない。
【0093】
本実施例では、上述の実施例と異なり、発音源301と注目点302との距離が大きくなっても、再生部204による音声の再生が停止されることはなく、少なくとも所定の最低音量以上の音量で再生される。
【0094】
これにより、音声処理装置200は、仮想空間内の発音源301と注目点302との距離が十分遠く離れても演出上ユーザに聞こえるようにしなければならない効果音がある場合に、その効果音のための特別な制御を行うことなく、最適な音量で容易に効果音を再生することができる。そして、ハードウェア的あるいはソフトウェア的な制限により同時に再生できる音数(再生トラック数)に限界がある場合でも、効率よく音声を再生することができる。
【0095】
例えば、記憶部201は、発音源301に対応づけて再生の優先度を予め記憶するように構成し、発音源301の優先度が高ければ発音源301と注目点302との距離が離れても再生を停止させないようにすることができる。
【0096】
また、再生の優先度が設定された発音源301が仮想空間内に複数個存在する場合、これらの発音源301のうち優先度の高い順に所定数(例えば再生トラック数)の発音源301を抽出し、抽出された発音源301から発音される音声のみを変化させるかあるいは再生するように構成することもできる。
【0097】
なお、本実施例では、上述の図6のステップS604で、変化部203が音量を所定の音量範囲内にする代わりに、変化部203が音量を所定の最低音量にするように構成すればよい。その他のステップは同様であるため、フローチャートの詳細は省略する。
【0098】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例を自由に組み合わせることも可能である。
【0099】
上述の実施例では、発音源301が移動する車オブジェクトであるものとして説明したが、これに限られるものではなく、オブジェクト自身が移動する/しないに関わらず、任意のキャラクタオブジェクトが発音源301と成りうることは言うまでもない。また、注目点302はユーザキャラクタオブジェクトが配置される位置であるとして説明したが、これに限られるものではなく、仮想空間内に配置された仮想カメラの位置や、仮想空間内の世界の一人称視点などであってもよい。
【0100】
上述の実施例では、変化部203は発音源301から発音される音声の音量を変化させるが、これに限られるものではない。例えば、変化部203は、発音源301に対応づけられた領域に注目点302が存在する場合に、音声を反響させるエフェクト、特定周波数成分を減衰あるいは増幅させるエフェクトなど他の音声制御を行うように構成してもよい。これにより、より現実感のある音響効果を実現することができる。
【0101】
他の応用例として、仮想空間内で音声を聴く注目点302における視線方向も考慮して音声制御処理を行ってもよい。例えば、注目点302から発音源301方向への方向ベクトルが視線方向ベクトルと一致あるいはその近傍の所定範囲内にある場合に、この発音源301から発音される音声の音量を大きくするように変化させることもできる。これにより、視覚効果と音響効果とを併せてより現実感のある演出を実現することができる。
【0102】
他の応用例として、記憶部201は、図11(a)に示すように、発音源301と注目点302との距離が所定のしきい値より大きくなったときに、実施例2のように再生を停止するか、あるいは、実施例3のように最低音量で再生を続けるか、を指定するフラグを、発音源301に対応づけて記憶してもよい。例えば、このフラグには、実施例2のように制御する場合には「0」、実施例3のように制御する場合には「1」が設定される。そして、変化部203及び再生部204は、このフラグ値に基づいて上述の実施例の音声制御処理を使い分けるように構成してもよい。この変形例においても、図11(b)に示すように、再生する音声データのファイル名に対応づけてこのフラグを記憶するようにしてもよい。また、図11(c)に示すように、再生する距離範囲として実質的に距離が無限遠と見なせるほど十分大きな値Linfを用いて設定される場合にも、再生する音声データのファイル名あるいは発音源301に対応づけてこのフラグを記憶することができる。これにより、上述の実施例を容易に組み合わせて実施することができる。なお、このフラグにより使い分けられる音声制御処理は上述の実施例の内容に限られず、このフラグを他の任意の変形例と組み合わせて使い分けるために用いることができるのは言うまでもない。
【0103】
他の応用例として、仮想空間内に特定のキャラクタオブジェクトの組み合わせが存在する場合に、これらのキャラクタオブジェクトから発音される音声に対する音声制御処理をまとめて管理するように構成してもよい。この場合、例えば記憶部201が特定のキャラクタオブジェクト同士の組み合わせを示す情報を記憶し、変化部203あるいは再生部204がこの組み合わせを示す情報を読み出して音声制御処理を行うように構成すればよい。例えば、仮想空間内を走行する車オブジェクトと、この車オブジェクトに搭乗するキャラクタオブジェクトとが存在する場合、車オブジェクトから発音される音声(例えば、エンジン音など)と搭乗するキャラクタオブジェクトから発音される音声(例えば、セリフ、銃声など)の両方を一緒に音量変化させることができる。これにより、演出上両方一緒に再生されるべき音声の片方しか再生されず音響効果に違和感を与えるようなことはない。
【0104】
例えば、音声処理装置200を装置の全部又は一部として動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0105】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【0106】
以上説明したように、本発明によれば、仮想空間内の発音源とその音を聞く位置との距離に応じて効率よく再生するために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0107】
【図1】本発明の音声処理装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】音声処理装置の構成を示す図である。
【図3】発音源と注目点との位置関係を説明するための図である。
【図4】(a)乃至(c)は、記憶部に記憶される情報の例を示す図である。
【図5】(a)及び(b)は、発音源と注目点との距離と、変化部により変化された音声の音量との関係の例を示す図である。
【図6】音声制御処理を説明するためのフローチャートである。
【図7】(a)及び(b)は、発音源と注目点との距離と、変化部により変化された音声の音量と、再生部により再生される/再生されない領域との関係の例を示す図である。
【図8】実施例2の音声制御処理を説明するためのフローチャートである。
【図9】(a)及び(b)は、記憶部に記憶される情報の例を示す図である。
【図10】(a)及び(b)は、発音源と注目点との距離と、変化部により変化された音声の音量との関係の例を示す図である。
【図11】(a)乃至(c)は、記憶部に記憶される情報の例を示す図である。
【符号の説明】
【0108】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 音声処理装置
201 記憶部
202 判断部
203 変化部
204 再生部
301 発音源
302 注目点
【特許請求の範囲】
【請求項1】
仮想空間内に配置された発音源に対応づけられる領域を記憶する記憶部と、
当該発音源について、前記記憶部に記憶された領域に、当該仮想空間内に配置された注目点が含まれるか否かを判断する判断部と、
前記判断部により当該注目点が当該領域に含まれると判断された場合、当該発音源と当該注目点との距離に基づいて、当該発音源から発音される音声を変化させる変化部と、
前記変化部により変化された音声を再生する再生部と
を備えることを特徴とする音声処理装置。
【請求項2】
請求項1に記載の音声処理装置であって、
前記変化部は、前記発音源と前記注目点との距離が大きくなるにつれて、前記注目点で取得される音声の音量を小さくし、当該距離が所定のしきい値より大きくなると、前記注目点で取得される音声の音量を所定の音量範囲内に維持する
ことを特徴とする音声処理装置。
【請求項3】
請求項1又は2に記載の音声処理装置であって、
前記領域は、前記発音源からの距離が所定の基準距離以内の領域であり、
前記変化部及び前記再生部は、前記発音源と前記注目点との距離が前記基準距離より大きい場合に、前記発音源から発音される音声の処理を停止する
ことを特徴とする音声処理装置。
【請求項4】
請求項1又は2に記載の音声処理装置であって、
前記変化部は、前記発音源と前記注目点との距離が前記所定のしきい値より大きい場合に、前記発音源から発音される音声を所定の最低音量に変化させる
ことを特徴とする音声処理装置。
【請求項5】
記憶部、判断部、変化部及び再生部を有する音声処理装置にて実行される音声処理方法であって、
前記記憶部には、仮想空間内に配置された発音源に対応づけられる領域が記憶され、
前記判断部が、当該発音源について、前記記憶部に記憶された領域に当該仮想空間内に配置された注目点が含まれるか否かを判断する判断ステップと、
前記判断ステップにより当該注目点が当該領域に含まれると判断された場合、前記変化部が、当該発音源と当該注目点との距離に基づいて、当該発音源から発音される音声を変化させる変化ステップと、
前記再生部が、前記変化ステップにより変化された音声を再生する再生ステップと
を備えることを特徴とする音声処理方法。
【請求項6】
コンピュータを、
仮想空間内に配置された発音源に対応づけられる領域を記憶する記憶部、
当該発音源について、前記記憶部に記憶された領域に、当該仮想空間内に配置された注目点が含まれるか否かを判断する判断部、
前記判断部により当該注目点が当該領域に含まれると判断された場合、当該発音源と当該注目点との距離に基づいて、当該発音源から発音される音声を変化させる変化部、
前記変化部により変化された音声を再生する再生部
として機能させることを特徴とするプログラム。
【請求項1】
仮想空間内に配置された発音源に対応づけられる領域を記憶する記憶部と、
当該発音源について、前記記憶部に記憶された領域に、当該仮想空間内に配置された注目点が含まれるか否かを判断する判断部と、
前記判断部により当該注目点が当該領域に含まれると判断された場合、当該発音源と当該注目点との距離に基づいて、当該発音源から発音される音声を変化させる変化部と、
前記変化部により変化された音声を再生する再生部と
を備えることを特徴とする音声処理装置。
【請求項2】
請求項1に記載の音声処理装置であって、
前記変化部は、前記発音源と前記注目点との距離が大きくなるにつれて、前記注目点で取得される音声の音量を小さくし、当該距離が所定のしきい値より大きくなると、前記注目点で取得される音声の音量を所定の音量範囲内に維持する
ことを特徴とする音声処理装置。
【請求項3】
請求項1又は2に記載の音声処理装置であって、
前記領域は、前記発音源からの距離が所定の基準距離以内の領域であり、
前記変化部及び前記再生部は、前記発音源と前記注目点との距離が前記基準距離より大きい場合に、前記発音源から発音される音声の処理を停止する
ことを特徴とする音声処理装置。
【請求項4】
請求項1又は2に記載の音声処理装置であって、
前記変化部は、前記発音源と前記注目点との距離が前記所定のしきい値より大きい場合に、前記発音源から発音される音声を所定の最低音量に変化させる
ことを特徴とする音声処理装置。
【請求項5】
記憶部、判断部、変化部及び再生部を有する音声処理装置にて実行される音声処理方法であって、
前記記憶部には、仮想空間内に配置された発音源に対応づけられる領域が記憶され、
前記判断部が、当該発音源について、前記記憶部に記憶された領域に当該仮想空間内に配置された注目点が含まれるか否かを判断する判断ステップと、
前記判断ステップにより当該注目点が当該領域に含まれると判断された場合、前記変化部が、当該発音源と当該注目点との距離に基づいて、当該発音源から発音される音声を変化させる変化ステップと、
前記再生部が、前記変化ステップにより変化された音声を再生する再生ステップと
を備えることを特徴とする音声処理方法。
【請求項6】
コンピュータを、
仮想空間内に配置された発音源に対応づけられる領域を記憶する記憶部、
当該発音源について、前記記憶部に記憶された領域に、当該仮想空間内に配置された注目点が含まれるか否かを判断する判断部、
前記判断部により当該注目点が当該領域に含まれると判断された場合、当該発音源と当該注目点との距離に基づいて、当該発音源から発音される音声を変化させる変化部、
前記変化部により変化された音声を再生する再生部
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−259888(P2007−259888A)
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2006−85123(P2006−85123)
【出願日】平成18年3月27日(2006.3.27)
【特許番号】特許第3949701号(P3949701)
【特許公報発行日】平成19年7月25日(2007.7.25)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願日】平成18年3月27日(2006.3.27)
【特許番号】特許第3949701号(P3949701)
【特許公報発行日】平成19年7月25日(2007.7.25)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]