IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社カプコンの特許一覧

特許7248913音声情報生成プログラム、音声再生プログラム、および音声再生装置
<>
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図1
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図2
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図3
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図4
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図5
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図6
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図7
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図8
  • 特許-音声情報生成プログラム、音声再生プログラム、および音声再生装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-22
(45)【発行日】2023-03-30
(54)【発明の名称】音声情報生成プログラム、音声再生プログラム、および音声再生装置
(51)【国際特許分類】
   H04R 3/00 20060101AFI20230323BHJP
   H04S 5/00 20060101ALI20230323BHJP
   H04S 7/00 20060101ALI20230323BHJP
   G10L 19/00 20130101ALN20230323BHJP
【FI】
H04R3/00 310
H04S5/00 500
H04S7/00 300
G10L19/00 312E
【請求項の数】 10
(21)【出願番号】P 2020137506
(22)【出願日】2020-08-17
(65)【公開番号】P2022033546
(43)【公開日】2022-03-02
【審査請求日】2022-01-18
(73)【特許権者】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】小島 健二
(72)【発明者】
【氏名】松下 翔
(72)【発明者】
【氏名】櫻井 赳
【審査官】西村 純
(56)【参考文献】
【文献】米国特許出願公開第2018/0027350(US,A1)
【文献】特開2002-159097(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04R 1/00-31/00
H04S 1/00- 7/00
G10L 19/00-19/26
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
画像で示された空間における音圧と粒子速度を、シミュレーションによって、前記空間の複数箇所について算出し、前記粒子速度と前記音圧の組の複数から、時系列の複数のベクトルを求める算出部と、
前記算出部が求めたベクトルの数を減らす圧縮処理を行う第1圧縮部と、
して機能させることを特徴とする音声情報生成プログラム。
【請求項2】
請求項1において、
前記第1圧縮部は、前記算出部が求めたベクトルの一部または全部を、時間軸上で複数の時間領域に区分し、前記時間領域毎に前記圧縮処理を行う
ことを特徴とする音声情報生成プログラム。
【請求項3】
請求項2において、
前記第1圧縮部は、前記音圧と閾値との比較結果に基づいて、前記区分を行う
ことを特徴とする音声情報生成プログラム。
【請求項4】
請求項2または請求項3において、
前記第1圧縮部は、各時間領域における所定数のベクトルについて、前記音圧の合計値、および音の伝播方向を示す角度の平均値を算出し、算出した合計値および平均値を用いて、前記時間領域に対応する1つまたは複数のベクトルを生成する
ことを特徴とする音声情報生成プログラム。
【請求項5】
請求項1において、
前記第1圧縮部は、音の伝播方向毎に前記音圧の合算値を求めることによって、前記伝播方向に対応するベクトルを生成する
ことを特徴とする音声情報生成プログラム。
【請求項6】
請求項1から請求項5の何れかにおいて、
前記第1圧縮部は、時系列で並んだ所定数のベクトルを用いて、球面調和関数を生成する
ことを特徴とする音声情報生成プログラム。
【請求項7】
請求項1から請求項6の何れかにおいて、
前記コンピュータを、
記画像における位置によって前記第1圧縮部が生成したデータを探索するための探索データを生成する探索データ生成部として機能させる
ことを特徴とする音声情報生成プログラム。
【請求項8】
請求項7において、
前記コンピュータを、
前記探索データを、前記画像における位置を基準にグループ化し、前記グループ内において互いに類似する探索データを間引く第2圧縮部として機能させる
ことを特徴とする音声情報生成プログラム。
【請求項9】
コンピュータを、
与えられた再生情報にしたがって音声を再生する再生部と、
像で示された空間における位置によって前記再生情報を探索するための探索データを保持する探索データ保持部と、
前記位置と前記探索データに基づいて前記再生情報を探索して前記再生部に与える探索部と、
して機能させ、
前記再生情報は、前記空間における音圧と粒子速度の組に基づいて生成されたベクトルであり、
前記音圧と前記粒子速度の組は、予め求められたものであり、
前記探索データは、時間軸において圧縮された前記ベクトルに基づいて生成されたものである
ことを特徴とする音声再生プログラム。
【請求項10】
請求項9の音声再生プログラムを記憶した記憶部と、
前記音声再生プログラムを実行する制御部と、
を備えたことを特徴とする音声再生装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声情報生成プログラム、音声再生プログラム、および音声再生装置に関する。
【背景技術】
【0002】
ゲームソフトウェアには、説得力のある音を生成するために、仮想空間について、シミュレーションを行うものがある(例えば特許文献1を参照)。特許文献1の例では、散乱する音のシミュレーションを行うとされている。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許第10,602,298号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
シミュレーションは、リアルな音を生成するには有効な手段である。しかしながら、シミュレーションの結果は、一般的には容量が大きいので、コンピュータの資源(メモリなど)の消費量が大きくなりがちである。
【0005】
本発明の目的は、必要なデータ容量を抑えつつ音場を再現できるようにすることにある。
【課題を解決するための手段】
【0006】
第1の発明は、コンピュータを、
画像で示された空間における音圧と粒子速度を、シミュレーションによって、前記空間の複数箇所について算出し、前記粒子速度と前記音圧の組の複数から、時系列の複数のベクトルを求める算出部と、
前記算出部が求めたベクトルの数を減らす圧縮処理を行う第1圧縮部と、
して機能させることを特徴とする音声情報生成プログラムである。
【0007】
また、第1発明において、前記第1圧縮部は、前記算出部が求めたベクトルの一部または全部を、時間軸上で複数の時間領域に区分し、前記時間領域毎に前記圧縮処理を行ようにしてもよい。
【0008】
また、前記発明においては、前記第1圧縮部は、前記音圧と閾値との比較結果に基づいて、前記区分を行うようにしてもよい。
【0009】
また、前記発明においては、前記第1圧縮部は、各時間領域における所定数のベクトルについて、前記音圧の合計値、および音の伝播方向を示す角度の平均値を算出し、算出した合計値および平均値を用いて、前記時間領域に対応する1つまたは複数のベクトルを生成してもよい。
【0010】
また、前記発明においては、前記第1圧縮部は、音の伝播方向毎に前記音圧の合算値を求めることによって、前記伝播方向に対応するベクトルを生成してもよい。
【0011】
また、前記発明においては、前記第1圧縮部は、時系列で並んだ所定数のベクトルを用いて、球面調和関数を生成してもよい。
【0012】
また、前記発明においては、前記コンピュータを、前記第1圧縮部が生成したデータを、前記画像における位置によって探索するための探索データを生成する探索データ生成部として機能させてもよい。
【0013】
また、前記発明においては、前記コンピュータを、前記探索データを、前記画像における位置を基準にグループ化し、前記グループ内において互いに類似する探索データを間引く第2圧縮部として機能させてもよい。
【0014】
また、第2の発明は、コンピュータを、
与えられた再生情報にしたがって音声を再生する再生部と、
前記再生情報を、画像で示された空間における位置によって探索するための探索データを保持する探索データ保持部と、
前記位置と前記探索データに基づいて前記再生情報を探索して前記再生部に与える探索部と、
して機能させ、
前記再生情報は、前記空間における音圧と粒子速度の組に基づいて生成されたベクトルであり、
前記音圧と前記粒子速度の組は、予め求められたものであり、
前記探索データは、時間軸において圧縮された前記ベクトルに基づいて生成されたものである
ことを特徴とする音声再生プログラムである。
【0015】
また、第3の発明は、前記音声再生プログラムを記憶した記憶部と、
前記音声再生プログラムを実行する制御部と、
を備えたことを特徴とする音声再生装置である。
【発明の効果】
【0016】
本発明によれば、必要なデータ容量を抑えつつ音場を再現できる。
【図面の簡単な説明】
【0017】
図1】音声情報生成装置の構成を示すブロック図である。
図2】圧縮処理の概念を説明する図である。
図3】探索データと仮想空間との関係を例示する図である。
図4】空間圧縮後の探索データと仮想空間との関係を例示する図である。
図5】音声情報生成装置の動作例を示すフローチャートである。
図6】ゲーム装置の構成を示すブロック図である。
図7】ドロネー図情報で規定された三角形とプレイヤキャラクタとの位置関係を例示する図である。
図8】ゲーム装置の動作例を示すフローチャートである。
図9】実施形態2における、時間圧縮処理の概念を説明する図である。
【発明を実施するための形態】
【0018】
本発明の実施形態にかかる音声情報生成プログラム、音声再生プログラム、および音声再生装置について、図面を参照して説明する。本発明の音声情報生成プログラムは、音声情報生成装置10(後述)を動作させるプログラムとして実装されている。音声再生プログラムは、ゲームプログラムとして実装されている。音声再生装置は、ゲーム装置5(後述)として実現されている。
[実施形態1]
《概要》
このゲームプログラムによるゲームでは、ユーザの操作を受けて、プレイヤキャラクタを仮想ゲーム空間(以下、単に仮想空間という)で活動させたり、プレイヤキャラクタ同士でグループを編成して様々なアクションを行わせたりする。以下の説明では、仮想空間は三次元である。
【0019】
このゲームでは、種々のゲーム音声が再生される。この明細書における、ゲーム音声とは、ゲーム中にスピーカ62(後述)から流れる音声である。例えば、仮想空間内に配置された種々のオブジェクト(例えば電話機を示すオブジェクトなど)が発する音や人の話し声などがゲーム音声の一例である。
【0020】
また、機械の動作音、洞窟において入口から出口に向かう風の音、町の雑踏の音(通行人の声や付近を通過する自動車の音等)、森や草原に吹く風の音等の環境音もゲーム音声の一例である。
【0021】
《音声情報生成装置10》
〈ハードウェアの構成〉
音声情報生成装置10は、3次元的な音の再生を行うための情報を生成する装置である。音声情報生成装置10は、例えば、パーソナルコンピュータに所定のソフトウェアをインストールすることによって構成できる。音声情報生成装置10には、音声情報生成プログラムがインストールされる。
【0022】
図1は、音声情報生成装置10の構成を示すブロック図である。図1に示すように、音声情報生成装置10には、ディスプレイ91、スピーカ92、およびキーボード93が接続されている。
【0023】
音声情報生成装置10は、ネットワークインターフェース81、グラフィック処理部82、オーディオ処理部83、操作部84、記憶部85、および制御部86を有する。グラフィック処理部82、オーディオ処理部83、操作部84、および記憶部85は、バス87を介して制御部86と電気的に接続されている。
【0024】
ネットワークインターフェース81は、例えば、他のゲーム開発装置や外部のサーバ装置(何れも図示を省略)との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【0025】
グラフィック処理部82は、ディスプレイ91(例えば液晶ディスプレイ)と接続されている。グラフィック処理部82は、制御部86から出力される画像情報に従って、ディスプレイ91に各種画像を表示する。
【0026】
オーディオ処理部83は、スピーカ92と接続されている。オーディオ処理部83は、制御部86から出力される音声情報に従って、音声をスピーカ92から出力(再生)させる。
【0027】
オーディオ処理部83は、3次元的な音の再生を行うために、多チャンネルの音声出力ができるように構成されている。それに合わせて、音声情報生成装置10には、複数のスピーカ92が接続されている。これらのスピーカ92は、3次元的な音の再生ができるように、聴取者の左右、前後、上方などに配置される。聴取者は、例えば、音声情報生成装置10を使用するゲーム開発者である。
【0028】
操作部84は、キーボード93と接続されている。操作部84には、使用者(例えばゲーム開発者)によるキーボード93の操作に応じて、操作信号が入力される。例えば、使用者は、キーボード93を操作することにより、記憶部85に記憶された各種プログラムを実行させることができる。使用者は、キーボード93を操作することで、種々の情報を入力することができる。
【0029】
記憶部85は、HDD、SSD、RAMおよびROMなどで構成される。記憶部85には、各種プログラムなどが格納されている。
【0030】
制御部86は、音声情報生成装置10を制御する。制御部86は、CPU(マイクロコンピュータ)および半導体メモリを備えている(図示は省略)。半導体メモリには、CPUを動作させるためのプログラムなどが格納されている。例えば、半導体メモリには、音声情報生成プログラムが格納される。
【0031】
〈音声情報生成装置10における制御部86の機能的構成〉
音声情報生成装置10の制御部86は、そのCPUが音声情報生成プログラムを実行することによって、算出部861、第1圧縮部862、探索データ生成部863、第2圧縮部864、およびドロネー図生成部865として機能する。
【0032】
算出部861は、画像で示された空間(ここでは、仮想空間)における音圧と粒子速度を、シミュレーションによって、この空間の複数箇所(離散的な点)について算出する。以下では、シミュレーションが行われた空間内の点を計算点と呼ぶ。
【0033】
本実施形態では、シミュレーションの手法として、有限差分時間領域(Finite Difference Time Domain; FDTD)法を採用している。FDTD法によって、各計算点について、粒子速度と音圧の組を複数組求めることができる。FDTD法による音場解析では、原理上、計算点は等間隔(グリッド状)に配置される。
【0034】
算出部861は、粒子速度と音圧の組から、時系列のベクトル(以下、インテンシティベクトルI)を求める。インテンシティベクトルIは、次の式で表せる。
【0035】
【数1】
【0036】
式(1)において、p(t)は音圧(スカラー)であり、u(t)は粒子速度(ベクトル)である。インテンシティベクトルIは、瞬時音響インテンシティと呼ばれることがある。各計算点では、時系列で、粒子速度と音圧の組が複数求められる。したがって、算出部861は、ひとつの計算点に対して、複数のインテンシティベクトルIを求める。
【0037】
第1圧縮部862は、計算点毎に次の処理を行う。
(1)算出部861が求めたインテンシティベクトルIの数を減らす圧縮処理。
(2)圧縮処理で得たデータ(後述の方向ベクトルV)を球面調和関数で表す処理。
【0038】
図2は、圧縮処理の概念を説明する図である。図2の(A)は、ある計算点における、インテンシティベクトルIの絶対値の時間推移を示している。
【0039】
まず、第1圧縮部862は、インテンシティベクトルI(瞬時音響インテンシティ)の大きさの時間平均を求めることによって、波形を平滑化する。図2の(B)に、ある計算点における、インテンシティベクトルIを平滑化した波形を例示する。
【0040】
第1圧縮部862は、圧縮処理の過程において、着目している計算点におけるインテンシティベクトルIの一部または全部(以下、ベクトル集合と呼ぶ)を、時間軸上で複数の時間領域に区分する。具体的に、第1圧縮部862は、音圧pと閾値λとを比較し、閾値λを超える音圧pが連続している時間範囲をひとつの区分とする。
【0041】
図2では、ハッチングで示した区間が、閾値λを超える音圧pが連続している時間範囲である。この区分の手法は、ある点で観測される音波が、反射波毎に分かれて到来することに着目した手法である。
【0042】
第1圧縮部862は、ひとつの区間に対して、ひとつまたは複数の方向ベクトルVを対応付ける。方向ベクトルVは、所定数のインテンシティベクトルIから生成したベクトルである。方向ベクトルVの生成方法は、次の通りである。
【0043】
第1圧縮部862は、区間毎(換言すると到来波毎)のインテンシティベクトルIの大きさの合計値と、進行方向(角度)の平均値とを求める。図2の(C)に、ある計算点における、インテンシティベクトルIの進行方向の時間推移を例示する。
【0044】
次に、第1圧縮部862は、1つの区間あたりの音波の大きさと進行方向を示すベクトル量として、合計値と、進行方向(角度)の平均値とを要素とする新たな方向ベクトルVを作る。本実施形態では、複数のインテンシティベクトルIを含んだひとつの区間(ひとつの到来波)が、ひとつの方向ベクトルVで表される。
【0045】
第1圧縮部862によって生成された方向ベクトルVの数は、その元になるインテンシティベクトルIの数よりも少なくなる。つまり、本実施形態では、所定の計算点に対応した複数のインテンシティベクトルI(ベクトル集合)が、時間軸上で圧縮される。以下では、第1圧縮部862が、時間軸上で行うベクトル集合の圧縮を時間圧縮と呼ぶ。
【0046】
3次元空間における球面座標の表現方法の一つとして球面調和関数がある。第1圧縮部862は、計算点毎に、方向ベクトルVを用いて球面調和関数を作成する。
【0047】
ある方向(θ,φ)におけるm次n番目の球面調和関数は、次の式で一意に定まることが知られている。
【0048】
【数2】
【0049】
【数3】
【0050】
上式において、m,nは整数であり、m≧|n|である。
【0051】
ここで、計算点に対応するK個の方向ベクトルVの集合をQとする。集合Qは、極座標系を用いると、次のように表すことができる。
【0052】
【数4】
【0053】
また、集合Qのm次n番目の球面調和関数Qmnは、次の式で表すことができる。
【0054】
【数5】
【0055】
式(5)から分かるように、N次までの球面調和関数を用いることによって、方向ベクトルの数Kが大きくても、方向ベクトルの集合Qを、(N+1)個の係数(Qmn)によって表現することができる。以下では、集合Qを表現する(N+1)個の係数を係数群Cという。
【0056】
探索データ生成部863は、第1圧縮部862が生成したデータを、画像における位置(ここでは仮想空間における位置)によって探索するためのデータ(以下、探索データという)を生成する。探索データは、計算点の位置情報と、その計算点に対応する係数群Cとを対にしたデータである。
【0057】
図3は、探索データと仮想空間VSとの関係を例示している。図3では、仮想空間VS内には、壁W、音源S(オブジェクト)が存在する。探索データは、仮想空間VS内の計算点に対応する。すなわち、探索データは、仮想空間VS内の点と考えて差し支えない。この時点では、探索データは、仮想空間VSにおいて、等間隔に配置される。
【0058】
以下では、探索データに対応する仮想空間VS内の点をサウンドプローブSPとよぶ。探索データ生成部863は、仮想空間VSに配置されたサウンドプローブSPを、グラフィック処理部82を介して、ディスプレイ91に表示するように構成してもよい。
【0059】
探索データ生成部863は、計算点の数だけ、係数群Cを第1圧縮部862から受け取る。探索データ生成部863は、一旦、計算点の数と同数の探索データを生成する。これらの探索データは、位置情報をキーとして係数群Cを探索可能な構造のデータ(例えば、連想配列)として、音声情報生成装置10の記憶部85に格納される。
【0060】
第2圧縮部864は、探索データを間引く処理を行う。以下では、説明の便宜のため、探索データを間引く処理を空間圧縮という。具体的に、第2圧縮部864は、間引くことができる探索データが無くなるまで、次の(1)~(2)の処理を行う。
【0061】
(1)近傍の探索データをグループ化する処理
(2)類似する探索データを間引く処理
近傍の探索データのグループ化を行うために、まず、第2圧縮部864は、何れかひとつの探索データ(ここでは着目データという)を選択する。着目データと、着目データの近傍にある探索データとをグループ化する。
【0062】
第2圧縮部864は、「近傍にある探索データ」か否かを、計算点の位置情報に応じて判断している。具体的に、第2圧縮部864では、計算点同士の距離が、予め定めた閾値(距離閾値という)よりも小さい探索データ同士は、互いに近傍にあると判断している。
【0063】
次に、第2圧縮部864は、グループ内において互いに類似する探索データを間引く処理を行う。探索データ同士が類似するか否かは、例えば、探索データの係数群Cを比較することで判断できる。
【0064】
本実施形態では、第2圧縮部864は、着目データが持つ係数と、比較対象の検索データの係数との差分を合計する。これにより、着目データとその周囲の探索データとの間における音の変化量の大きさが数値化される。換言すると、第2圧縮部864は、探索点が音場へ与える影響力の大きさを数値化している。第2圧縮部864は、差分の合計値が予め定めた閾値(以下、影響度閾値という)よりも小さい探索データを削除する。
【0065】
以上の処理により、探索データの数を減らすことが可能になる。図4は、空間圧縮後の探索データ(サウンドプローブSP)と仮想空間VSとの関係を例示している。図4に示すように、空間圧縮の後(間引き後)は、サウンドプローブSP(探索データ)同士の間隔が一定ではない。第2圧縮部864は、間引かれずに残った探索データ(空間圧縮後の探索データ)をドロネー図生成部865に送る。
【0066】
ドロネー図生成部865は、第2圧縮部864から受け取った探索データの位置情報に基づいて、ドロネー図を作成する。すなわち、ドロネー図生成部865は、各サウンドプローブSPを頂点とした三角形によって仮想空間VSを分割する(図4参照)。
【0067】
ドロネー図生成部865は、ドロネー図を構成する各三角形の頂点を特定する情報(以下、ドロネー図情報という)を生成する。ドロネー図情報は、例えばサウンドプローブSPのID番号の組で表すことができる。
【0068】
ドロネー図生成部865は、ドロネー図情報を、他のプログラム(例えばゲームプログラム)で利用できるフォーマットのデータとして出力する。なお、ドロネー図生成部865は、ディスプレイ91に、グラフィック処理部82を介して、ドロネー図を表示するように構成してもよい。
【0069】
〈音声情報生成装置10の動作例〉
図5は、音声情報生成装置10の動作例を示すフローチャートである。図5は、探索データと、ドロネー図情報の生成手順を示している。
【0070】
探索データを生成するには、仮想空間VSの構成(オブジェクトの形状や位置など)を示すデータ(以下、背景データ)を、音声情報生成装置10内に準備する。この背景データに基づいて、算出部861が、数値シミュレーションを行って、仮想空間VS内の離散的な計算点における音圧と粒子速度を計算する(ステップS11)。ここでは、算出部861は、FDTD法によって、各計算点における音圧と粒子速度を求める。
【0071】
算出部861は、音圧と粒子速度から、インテンシティベクトルI(瞬時音響インテンシティ)を算出する(ステップS12)。複数のインテンシティベクトルIからは、各計算点における音の大きさと進行方向の時間推移が分かる。
【0072】
第1圧縮部862は、計算点毎に、インテンシティベクトルIを時間圧縮して、方向ベクトルVを生成する(ステップS13)。また、第1圧縮部862は、計算点毎に、方向ベクトルVを用いて球面調和関数を作成する(ステップS14)。
【0073】
探索データ生成部863は、第1圧縮部862が生成したデータを、画像における位置(ここでは仮想空間における位置)によって探索するための探索データ(サウンドプローブSP)を生成する(ステップS15)。
【0074】
第2圧縮部864は、探索データ生成部863が生成した探索データ(サウンドプローブSP)の中から余分な探索データを判別し、余分なものを間引く処理(空間圧縮)を行う(ステップS16)。
【0075】
ドロネー図生成部865は、間引かれずに残った探索データに基づいてドロネー図を作成する(ステップS17)。探索データとドロネー図情報とは、ゲーム装置5等において、後述するように、音声の再生に利用できる。探索データとドロネー図情報は、ゲームプログラムなどに組み込まれる。
【0076】
ドロネー図生成部865は、ドロネー図情報を、所定フォーマットのデータとして出力する。ドロネー図情報の出力先は、例えば、自身の記憶部85や、他のゲーム開発装置である。
【0077】
《ゲーム装置5の構成》
〈ハードウェアの構成〉
ゲーム装置5は、ユーザの操作に基づいて所定のゲームを実行する。図6は、ゲーム装置5の構成を示すブロック図である。ゲーム装置5には、ディスプレイ61、スピーカ62およびコントローラ63が外部接続または内蔵される。
【0078】
ゲーム装置5には、例えば、パーソナルコンピュータ、プレイステーション(登録商標)、XBox(登録商標)、PlayStation Vita(登録商標)、Nintendo Switch(登録商標)などの、市販の装置を利用できる。
【0079】
ゲーム装置5では、例えば、インストールされたゲームプログラムおよびゲームデータに基づいてゲームが進行する。なお、ゲーム装置5同士も、通信ネットワーク(図示を省略)または近距離無線通信装置(図示せず)を用いて、互いにデータ通信を行うことができる。
【0080】
ゲーム装置5は、ネットワークインターフェース51、グラフィック処理部52、オーディオ処理部53、操作部54、記憶部55および制御部56を有する。ネットワークインターフェース51、グラフィック処理部52、オーディオ処理部53、操作部54および記憶部55は、バス59を介して制御部56と電気的に接続されている。
【0081】
ネットワークインターフェース51は、例えばゲーム装置5や外部のサーバ装置(図示を省略)との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【0082】
グラフィック処理部52は、制御部56から出力されるゲーム画像情報に従って、プレイヤキャラクタおよびゲーム空間に関する各種オブジェクトを含むゲーム画像を、動画形式で描画する。グラフィック処理部52はディスプレイ61(例えば液晶ディスプレイ)と接続されている。動画形式に描画されたゲーム画像は、ゲーム画面としてディスプレイ61上に表示される。
【0083】
オーディオ処理部53は、制御部56の指示に従ってデジタルのゲーム音声を再生および合成する。オーディオ処理部53はスピーカ62と接続されている。オーディオ処理部53によって再生および合成されたゲーム音声は、スピーカ62から出力される。
【0084】
オーディオ処理部53は、3次元的な音の再生を行うために、多チャンネルの音声出力ができるように構成されている。それに合わせて、ゲーム装置5には、複数のスピーカ62が接続されている。これらのスピーカ62は、3次元的な音の再生ができるように、聴取者(例えばゲームのプレイヤ)の左右、前後、上方などに配置される。
【0085】
操作部54は、コントローラ63と接続されている。操作部54は、操作入力に関するデータをコントローラ63との間で送受信する。ゲームのプレイヤは、コントローラ63のボタン等の各種操作子を操作することで、ゲーム装置5に操作信号を入力する。
【0086】
記憶部55は、HDD、SSD、RAMおよびROMなどで構成される。記憶部55には、サーバ装置2からダウンロードされたゲームデータ、ゲームプログラムの一部を含む各種プログラムなどが格納されている。
【0087】
制御部56は、ゲーム装置5の動作を制御する。制御部56は、CPU(マイクロコンピュータ)および半導体メモリを備えている(図示は省略)。半導体メモリには、CPUを動作させるためのプログラムなどが格納されている。
【0088】
〈ゲーム装置5における制御部56の機能的構成〉
ゲーム装置5における制御部56は、そのCPUがゲームプログラムを実行することによって、探索データ保持部561、および再生部562として機能する。このゲームプログラムには、音声情報生成装置10が生成した、探索データとドロネー図情報とが組み込まれている。
【0089】
探索データ保持部561は、複数の探索データを保持している。探索データ保持部561が保持する探索データは、空間圧縮後の探索データである。探索データ保持部561は、これらの探索データを、位置情報をキーとして係数群Cを探索可能な構造のデータ(例えば、連想配列)として保持している。なお、ゲーム装置5におけるゲームでは、探索データ(サウンドプローブSP)は、画面(ディスプレイ61)には表示されない。
【0090】
探索データ保持部561は、更に、ドロネー図情報も保持している。この例では、探索データ保持部561は、ドロネー図を構成する各三角形の頂点の情報を、サウンドプローブSPのID番号によって定めている。
【0091】
再生部562は、与えられた再生情報に従って音声を再生する。再生部562は、音声の再生において、音像定位を行う。再生部562は、音像定位を行うため、音声が聴取される仮想の受音点(以下、仮想マイクL)を仮想空間に設定する。この例では仮想マイクLは、プレイヤキャラクタの近傍に設定されている。仮想マイクLは、プレイヤキャラクタの移動にともなって移動する。
【0092】
このゲームでは、仮想空間内に配置された音源(仮想の音源)から音声が発せられたように、音響的な演出が行われる。再生部562は、仮想の音源(オブジェクトなど)から発せられた音声を、あたかも仮想マイクLで集音したかのような音響表現で、スピーカ62に出力する。すなわち、仮想マイクLは、仮想の聴取者であり、オーディオ処理部53による音像定位の基準点である。
【0093】
再生部562は、音声を再生する場合に、探索データを用いる。具体的には、再生部562は、次の処理を行う。
【0094】
図7は、ドロネー図情報で規定された三角形と、プレイヤキャラクタPCとの位置関係を例示する図である。図7に示すように、プレイヤキャラクタPC(すなわち仮想マイクL)は、ドロネー図内の所定の三角形に内包される。再生部562は、ドロネー図情報を用いて、プレイヤキャラクタPCが、ドロネー図内の何れの三角形に内包されるかを判定する。
【0095】
次に、再生部562は、プレイヤキャラクタPCを内包する三角形の頂点に対応したサウンドプローブSPがそれぞれ備える情報を取得する。具体的には、再生部562は、球面調和関数を特定する情報(係数群C)を取得する。
【0096】
再生部562は、取得した情報を用いて各頂点の球面調和関数を合成することによって、仮想マイクLにおける球面調和関数を生成する。ここで、球面調和関数の合成を説明するにあたり、3つのサウンドプローブA、B、CがプレイヤキャラクタPCを囲んでいると仮定する(図7参照)。
【0097】
また、仮想マイクL、サウンドプローブA,B,Cによって形成される三角形の面積を、それぞれ、SABC,SLAB,SLBC,SLCAとする(図7参照)。サウンドプローブA、B、Cが持つm次n番目の球面調和関数をそれぞれYmn,Ymn,Ymnとする。また、Ymn,Ymn,Ymnを合成した球面調和関数をYmnとする。
【0098】
本実施形態では、仮想マイクLにおける球面調和関数Ymnを、次の式で表す。
【0099】
【数6】
【0100】
仮想マイクLにおける球面調和関数Ymnが定まると、仮想マイクLに到来する音波を再現できる。本実施形態では、再生部562は、球面調和関数を用いて、高次のAmbisonics(High Order Ambisonics:HOA)と呼ばれるフォーマット(以下、HOAフォーマットという)のデータを生成する。HOAフォーマットは、オーディオ処理部53の各チャンネルから出力する音に容易にデコードできる。
【0101】
〈ゲーム装置5の動作例〉
図8は、ゲーム装置5の動作例を示すフローチャートである。図8に示すように、再生部562は、プレイヤキャラクタPCの現在の位置を特定する(ステップS21)。次に、再生部562は、プレイヤキャラクタPCを囲む、ドロネー図の三角形を探索する。再生部562は、この探索において、探索データ保持部561が備える探索データを用いる。
【0102】
再生部562は、見つかった三角形の各頂点に対応する探索データが持っている係数群Cを用いて、仮想マイクLにおける球面調和関数を合成する(ステップS22)。再生部562は、合成して得た球面調和関数を用いて、スピーカ62から出力する音声信号を生成する(ステップS23)。
【0103】
具体的には、再生部562は、球面調和関数を用いて、HOAフォーマットのデータを生成する。更に、再生部562は、HOAフォーマットを、オーディオ処理部53の各チャンネルから出力する音声信号にデコードする。以上の動作により、スピーカ62からは、3次元的な音声が出力される。
【0104】
以上をまとめると、本件発明は、コンピュータを、画像で示された空間における音圧と粒子速度を、シミュレーションによって、前記空間の複数箇所について算出し、前記粒子速度と前記音圧の組の複数から、時系列の複数のベクトルを求める算出部861と、前記算出部861が求めたベクトルの数を減らす圧縮処理を行う第1圧縮部862と、して機能させることを特徴とする音声情報生成プログラムである。
【0105】
《本実施形態における効果》
本実施形態では、シミュレーションで得たデータが時間圧縮される。これにより、本実施形態では、音声の再生に必要なデータ容量を抑えつつ音場を再現できる。
【0106】
更に、本実施形態では、探索データが空間圧縮される。この点においても、音声の再生に必要なデータ容量を抑えつつ音場を再現できる。
【0107】
本実施形態では、圧縮したデータを、球面調和関数の係数として保持している。球面調和関数を用いたことによって、分解能(換言するとデータ容量)の調整が容易になる。
【0108】
[実施形態1の変形例]
探索テータには、球面調和関数を示す係数群Cに代えて、方向ベクトルVを用いてもよい。この場合には、ドロネー図を用いた情報の合成法も実施形態1とは異なる。
【0109】
ここで、仮想マイクL、サウンドプローブA,B,Cによって形成される三角形の面積を、SABC,SLAB,SLBC,SLCAとする(図7参照)。また、サウンドプローブA、B、Cにおける方向ベクトルをそれぞれv,v,vとする。本変形例では、仮想マイクLにおける方向ベクトルVを次の式によって表す。
【0110】
【数7】
【0111】
方向ベクトルVが定まると、方向ベクトルVの大きさを音量、方向を到来方向と解釈することで、音声を再生することができる。
【0112】
[実施形態2]
実施形態2では、時間圧縮の他の例を説明する。本実施形態では、第1圧縮部862の構成が、実施形態1と異なっている。図9に、実施形態2における、時間圧縮処理の概念を説明する図を示す。
【0113】
図9の(A)は、ある計算点における、インテンシティベクトルIの絶対値の時間推移を例示している。また、図9の(B)は、ある計算点における、インテンシティベクトルIの方向(θ)(音の伝播方向)の時間推移を例示している。
【0114】
本実施形態の第1圧縮部862は、音の伝播方向毎に音圧の合算値を求めることによって、伝播方向に対応する方向ベクトルVを生成する。図9の(C)に、音の伝播方向毎の、音圧の合算値を例示する。
【0115】
例えば、複雑な音場では、音の反射や回折が多重に発生する場合がある。この場合、インテンシティベクトルIと閾値λとの比較によっては、到来波(インテンシティベクトルI)の波形を到来波毎に分割することが困難になる。本実施形態では、到来波を区分せずに、算出されたインテンシティベクトルIを、所望の全範囲に対して時間圧縮を行っている。そのため、本実施形態では、反射や回折が多重に発生する状況下でも容易に時間圧縮を行うことが可能になる。
【0116】
[その他の実施形態]
仮想ゲーム空間は、3次元には限定されない。仮想ゲーム空間は、2次元でもよい。
【0117】
音声情報生成プログラム(音声情報生成装置)、および音声再生プログラムの用途は、ゲームには限定されない。音声情報生成プログラム(音声情報生成装置)、および音声再生プログラムは、例えば、映画、アニメーションなど、空間が画像で表現されたものであれば適用できる。
【0118】
探索データの類似度の判断には、係数の差分合計値とは異なる指標を用いてもよい。例えば、各探索データの係数群Cをベクトルと見なして、探索データの類似度判定において、2つのベクトルのコサイン類似度を指標としたり、2つのベクトルのユークリッド距離を指標にしたりできる。
【0119】
実施形態1における、インテンシティベクトルIの平滑化は必須ではない。一方、実施形態2において、時間圧縮の際にインテンシティベクトルIを平滑化してもよい。
【0120】
実施形態2においても、探索テータとして、球面調和関数の代わりに方向ベクトルVを用いてもよい。
【0121】
ゲームプログラムは、いわゆるオンラインゲーム用のゲームプログラムとして実装してもよい。ゲームプログラムがオンラインゲーム用である場合には、制御部56で行っていた処理をそれに代わってサーバ側で行ってもよいし、サーバ側とクライアント(ゲーム装置5)側とで分担してもよい。
【0122】
これらの他の実施形態を採用した場合においても、本発明の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【符号の説明】
【0123】
5 ゲーム装置
10 音声情報生成装置
55 記憶部
56 制御部
561 探索データ保持部
562 再生部
861 算出部
862 第1圧縮部
863 探索データ生成部
864 第2圧縮部
図1
図2
図3
図4
図5
図6
図7
図8
図9