以下に、本発明の実施の形態にかかる空間音響生成装置、空間音響生成システム、空間音響生成方法、および、空間音響生成プログラム、並びに、記録媒体について、図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
まず、以下、本発明にかかる本実施の形態の構成について説明し、その後、本実施の形態の処理等について詳細に説明する。ここで、図1は、本発明の実施形態にかかる空間音響生成システムの構成を示す構成図であり、該構成のうち本実施の形態に関係する部分を主に概念的に示している。
図1に示すように、本実施の形態において、空間音響生成システムは、空間音響生成装置100と、検出部112と、表示部114と、スピーカアレイ116とを備えて構成される。なお、図1に示すように、空間音響生成装置100は、ネットワーク300を介して外部機器200と接続されてもよい。ここで、空間音響生成装置100は、パーソナルコンピュータや、サーバ用コンピュータ、タブレット型コンピュータなどである。ネットワーク300は、空間音響生成装置100と外部機器200とを相互に接続する機能を有し、例えば、LANやインターネット等である。
ここで、図1において、検出部112は、利用者の少なくとも一つの身体部位の動作を認識する動作認識手段である。例えば、検出部112は、カメラや赤外線センサ等の任意の検出手段によって、人物の動きを認識してもよい。一例として、検出部112は、公知のジェスチャー認識技術や、公知のモーションセンサ等を用いて利用者の動きを検出してもよい。ジェスチャーは、物理空間における利用者の位置および動きから得ることができ、手指や腕や脚の動き、または静止姿勢というような、動的または静的な、任意の利用者の動きを含むことができる。
本実施の形態の一例として、検出部112において、カメラのようなキャプチャー・デバイスが、ユーザー画像データを取り込み、このユーザー画像データから、利用者のジェスチャー(1つまたは複数)を認識してもよい。より具体的には、検出部112は、コンピュータ環境を使用して、利用者の三次元物理空間において利用者によって行われたジェスチャーを認識および分析し、解釈した利用者の動作データや属性データ等または解析前ローデータを、空間音響生成装置100に送信してもよい。一例として、検出部112は、ある方向を指さす動き、ある方向に手を押し出す動き、ある方向に脚を蹴り上げる動き、あたかもボールを投げる動き、ヘディングする動き、両手で何かを捕まえる動き、指揮棒を振る動き等の動きを認識してもよい。
公知のモーション認識手段の一例として、マイクロソフト社製Xbox One用モーションセンサのKinectセンサを用いてもよい。Kinect技術によれば、全身骨格のスケルトン動作データや属性データを得ることができる。なお、公知のモーションセンサでは、センサ内蔵の制御手段を用いて人物の動きや属性が解析されるか、あるいは、接続されたコンピュータの制御手段にて人物の動きや属性が解析されるが、本実施の形態はいずれであってもよい。例えば、本実施の形態は、これら解析機能を、検出部112の制御手段(プロセッサ等)により実現してもよく、空間音響生成装置100の制御手段(後述する音源算出部102b等)により実現してもよく、あるいは両者の制御手段により解析機能を実現してもよい。
このほか、検出部112は、タッチパッドやタッチパネルやマイクロホンアレイ等の検出手段を更に備えてもよい。また、検出部112は、直接、人の身体を検出することに限られず、Facebook社製Oculus RiftのOculus Touchコントローラのように、利用者が装着したコントローラや標識(例えば二次元コードタグ)等の動きを検出することによって、間接的に、身体の動きを検出してもよいものである。
また、図1において、表示部114は、コンテンツ情報を表示する表示手段である。一例として、表示部114は、頭部装着ディスプレイ(HMD)、液晶ディスプレイ、プロジェクタ等であってもよい。なお、表示部114は、二次元表示を行うものであってもよいし、三次元表示を行うものであってもよい。後述するように、受聴者はこの表示部114に表示される音源の位置に音像が定位されるように合成された音波を受聴する。
また、図示しないが受聴者はシートに着座したり、加振版の上に立つようにしてもよい。このシートや加振板にボディソニックトランスデューサを接続し、制御部がコンテンツ情報に合わせて受聴者に振動を加えるようにトランスデューサを制御すれば、受聴者は迫力のあるコンテンツを楽しむことができる。
また、図1において、スピーカアレイ116は、複数のスピーカが三次元配置された音声出力手段である。本実施の形態において、スピーカアレイ116は、音場制御(BoSC)再生方式のスピーカアレイである。ここで、図2は、本実施の形態におけるBoSC再生方式のスピーカアレイの一例を示す図である。
図2は、樽状の音場再生室を形成する音響樽型のスピーカアレイ116を例示している。また、図2に示すように、本実施の形態のスピーカアレイ116は、楕円形のドーム部220および柱部222を含む。この楕円形のドーム部220は、たとえば木製の架台220a、220b、220c、220dによって構成される。ただし、図2は、ドーム部220の内部をその斜め下方から見た図であり、架台220dおよび柱部222についてはその一部のみを示している。図示しないが、ドーム部220および柱部222の内部は空洞であり、架台220a−220d自体が密室型エンクロージャの役割を果たす。
また、本実施形態のスピーカアレイ116の各々には、一例として96個のラウドスピーカ230が設置される。ここで、ラウドスピーカ230として、フルレンジユニット(Fostex FE83E)のスピーカや、低域を補うためのサブウーファーユニット(Fostex FW108N)のスピーカが設置されてもよい。このようなスピーカアレイ116は、音場再生室内に設置されてもよく、例えば、1.5帖の防音室である、YAMAHAウッディボックス(遮音性能Dr−30)を用いてもよい。また、音場再生室内には、リフト付きの椅子(図示せず)や上述のKINECT等の検出部112や表示部114が設けられてもよい。
なお、BoSC再生方式のスピーカアレイ114や、そのためのコンピュータシステム等を含む音場再現システムについては、「1.数値解析技術と可視化・可聴化 1.7三次元音場通信システム」 榎本成悟 音響技術 No.148/Dec.2009 pp37−42や特開2012−85035号公報等の公知の文献を参照してもよい。
つづいて、本実施の形態の空間音響生成装置100の構成について説明する。図1に示すように、空間音響生成装置100は、概略的に、空間音響生成装置100の全体を統括的に制御するCPU等の制御部102、通信回線等に接続されるルータ等の通信装置(図示せず)に接続される通信制御インターフェース部104、タッチパネル等の検出部112や表示部114やスピーカアレイ116等に接続される入出力制御インターフェース部108、および、各種のデータベースやテーブルなどを格納する記憶部106を備えて構成されており、これら各部は任意の通信路を介して通信可能に接続されている。
記憶部106は、各種のデータベースやテーブル(例えば、関数ファイル106aやコンテンツファイル106b等)を格納する。記憶部106は、SRAM(Static Random Access Memory)等を用いて構成される小容量高速メモリ(例えば、キャッシュメモリ)等や、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の固定ディスク装置等のストレージ手段であり、各種処理に用いる各種のプログラムやテーブルやファイルやデータベースやウェブページ等を格納する。
関数ファイル106aは、信号処理を行うための関数を記憶する関数記憶手段である。例えば、本実施形態において、関数ファイル106aは、利用者の頭部を含む領域の境界面上の音圧信号からスピーカアレイ116の各スピーカへの入力信号を出力する逆システム、および、仮想的な三次元空間における発音体の位置座標から境界面上の音圧信号の位置座標までの伝達関数に基づく、再生用信号出力関数を記憶する。ここで、図3を参照して、本実施形態の再生用信号出力関数を説明する。図3は、境界音場制御(BoSC)の原理に基づいた、移動する発音体による3D波面生成システムの構成例を示す図である。以下では、本システムについて境界要素法の適用例を説明する。
1.発音体の物理条件
1.1 N個の点音源
まず、発音体において、i番目の点音源の大きさをqi(ω)、時間tにおける位置をr´(t)とする。
1.2 形状を有する発音体
ここで、移動する発音体の形状の境界面をSとする。境界面Sは、振動面が既知の面S´と、音響アドミタンスが既知の壁面S´´から構成される。境界面Sを、M個の微小要素に分割したとき、1・・・M´番目の要素が面S´に含まれ、M´+1・・・M番目の要素が面S´´に含まれるものとする。
1.2.1 振動面
i番目の要素の振動速度をui(ω)(i=1・・・M´)、時間tにおける位置をri(t)(∈S´)とする。
1.2.2 非振動面
壁面のi番目の要素の音響アドミタンスをzi(ω)(i=M´+1・・・M)、時間tにおける位置をri(t)(∈S´)とする。
1.3 発音体を駆動する音源信号S(ω)
点音源の大きさqi(ω)および音源の振動速度ui(ω)は、音源信号S(ω)に比例し、比例定数ai(ω),bi(ω)を用いて、qi(ω)=ai(ω)S(ω),ui(ω)=bi(ω)S(ω)と表される。
以上が、発音体の物理条件である。つづいて、上記物理条件の発音体による波面を観測する対象領域(すなわち受聴者の頭部を含む領域に対応)Vを取り囲む境界面S上の音圧信号について説明する。
2.波面観測対象領域Vを取り囲む境界面S上の音圧信号
境界面SをN点の要素に離散化し、j番目の要素の位置r^j(表記上“^”を手前の文字に続けて記載しているが正式には手前の文字の上に記載される(以下も同じ))、時間tにおける音圧信号をp(r^j,t)とする。
3.システムc(r^
j,t,τ)
このような場合、移動する発音体(r´(t)に位置する点音源、各要素がr
i(t)に位置する形状を有する発音体の合成)を駆動する音源信号s(t)を入力として、受音点における音圧信号p(r^
j,t)を出力とするシステムc(r^
j,t,τ)は、以下のように表せる。
ここで、c(r^
j,t,τ)は、時変の伝達特性を表しており、発音体が移動することにより伝達関数が時間tに応じて変化する時変システムである。このため、式(1)のフーリエ変換による周波数軸上での以下の演算式は成り立たない(c(r^
j,t,τ)の算出方法は7.にて後述する)。
4.逆システム
ここで、波面観測対象領域V(閉領域)を取り囲む境界面S(閉曲面)上のN点で計測した音圧信号p(r^j,t)から、音場再生用スピーカアレイ116のスピーカへの入力信号を出力する逆システムについて考える。本実施形態において、逆システムとは、M×N個の逆フィルタ群の総称である。なお、逆フィルタの設計方法として、公知の文献(S.Enomoto et al., “Three−dimensional sound field reproduction and recording systems based on boundary surface control principle”, Proc. of 14th ICAD, Presentation o 16, 2008 Jun.)を参照することができる。
まず、スピーカアレイ116が設置された音場再生室内にM個のスピーカを設置し、波面再生対象領域V´(閉領域)を取り囲む境界面S´(閉曲面)上のN個にマイクロホンを設置する。そして、i番目のスピーカ(i=1・・・M)からj番目のマイクロホン(j=1・・・N)へのインパルス応答h
ij(t)(i=1・・・M,j=1・・・N)を計測し、フーリエ変換する。ここで、H
ij(ω)は、音源iからマイクロホンの位置点jまでの伝達関数であり、以下の式で表せる。
さらに、H
ij(ω)は、各々の角速度ω毎に、以下のマトリクスで表せる。
そして、逆システムH^
ji(ω)を求めるため、[H^
ji(ω)][H
ij(ω)]=I(ただし、IはN次元単位行列)となるような[H
ij(ω)]の擬似逆行列[H^
ji(ω)]を求める。ここで、擬似逆行列[H^
ji(ω)]は、以下のように表せる。
そして、スピーカアレイ116のi番目のスピーカ(i=1・・・M)から出力する再生用信号Y
i(ω)は、原音場における境界面S上の音圧信号P(r^
j,t)と逆システムH^
ji(ω)を乗算して、jに関する総和を求める以下の数式で算出される。
ただし、h^
ji(t)は、以下となる。
以上のような逆システムH^
ji(ω)(或いは等価的にh^
ji(t))のアルゴリズムによると、スピーカアレイ116が設置された空間中の伝達関数H
ij(ω)の影響を打ち消すように、再生用信号Y
i(ω)(或いはy
i(t))を出力することができる。
5.再生用信号出力関数f
i(t,τ)
ここで、式(2)に式(1)を代入すると、再生用信号y
i(t)は以下のように表せる。
したがって、f
i(t,τ)を以下とおくと、再生用信号y
i(t)の出力関数が定められる。
上記の再生用信号yi(t)についての再生用信号出力関数は、音源信号s(t)を入力として受音点における再生用信号yi(t)を出力とするシステムfi(t,τ)である。これにより、移動する発音体から利用者の頭部を含む領域の境界面上の音圧信号への時変の伝達特性を考慮して逆システムを用いて、移動する発音体の音源信号から、スピーカへの入力信号を求めることができる。例えば、上式(41)の位置座標r^jを時間tの関数として設定可能に関数化することにより、上式(42)等に対応する再生用信号出力関数が構成されてもよい。
6.ドップラー効果の考慮
発音体が高速で移動する場合、ドップラー効果による周波数シフトが生じる。ここで、図4は、移動する発音体と領域Vの関係を模式的に示す図である。図4に示すように、発音体の大きさと波面観測対象領域の大きさが発音体の中心座標と波面観測対象領域の中心座標の距離に比較して十分小さい場合、発音体の速度v
s、発音体の移動方向と波面進行方向のなす角度θ、音速v
cとすると、波面観測対象領域で計測する音圧信号は以下となる。
この場合、上述の再生用信号出力関数(式(42))は、ドップラー効果を考慮した以下の式にて表せる。
7.伝達関数c(r^
j,t,τ)の算出方法
7.1 時間を固定した場合の伝達関数の定式化
上述の〈1.発音体の物理モデル〉にて記載した物理パラメータを用いて、キルヒホッフ−ヘルムホルツ積分方程式を記述する。ある時間tにおける発音体の位置ベクトルを固定した場合、すなわちr´
i(t)=r´
i,r
i(t)=r
iとすると、点音源の大きさは以下の式で表せる。
ここで、さらに離散化することにより次式が得られる。
s=r
j(j=1・・・M)として、上記の式(5)を連立させると、α(s)=1/2(s∈S´,S´´)であるため、以下の式が得られる。
P(r
j,ω)の項を左辺へ移項し、マトリクスで表すと以下のようになる。
ただし、
したがって、境界面S´およびS´´上の音圧は、次式で求めることができる。
発音体の外部領域にある受音点r^
j(α(s)=1)における音圧信号は、以下のように式(5)に式(6)を代入することにより得られる。
上記の式を解くことにより、発音体の外部領域にある受音点r^
j(α(s)=1)における音圧信号が得られる。また、q
i(ω)=a
iS(ω),u
i(ω)=b
iS(ω)であるため、音源信号S(ω)を入力として受音点における音圧P(r^
j,ω)を出力とするシステムC(r^
j,ω)は、以下のとおりに得られる。
7.2 時間を考慮した場合の伝達関数の定式化
つづいて、時間固定を解除するため、発音体の位置ベクトルをr´
i=r´
i(t),r
i=r
i(t)として、移動する発音体の時間tにおける伝達関数c(r^
j,t,τ)を求める。すなわち、上記の式(7)の中で用いられる、│r´
i−r
j│,│r
i−r
j│,│r´
i−r^
j│などのベクトル間の距離計算を│r´
i(t)−r
j│,│r
i(t)−r
j(t)│,│r´
i(t)−r^
j│に置き換えたc(r^
j,ω)をc(r^
j,t,ω)とする。さらに、求めたc(r^
j,t,ω)を逆フーリエ変換すれば、時間を考慮したシステムの伝達関数c(r^
j,t,τ)が以下の式で得られる。
以上が、関数ファイル106aに記憶される本実施形態の再生用信号出力関数の一例である。なお、上記の再生用信号出力関数に限られず、境界音場制御(BoSC)の原理に基づいて、公知の近似的手法等により再生用信号出力関数を求めて用いてもよい。例えば、上記の説明では再生用信号出力関数を求めるために境界要素法を用いる例を説明したが、境界要素法の代わりに有限要素法や差分法などの各種の数値計算手法が用いられてもよい。
再び図1に戻り、コンテンツファイル106bは、コンテンツ情報を記憶するコンテンツ情報記憶手段である。例えば、コンテンツファイル106bは、仮想空間上に配置可能な種々のデータ(画像データや音源データ等)を記憶してもよい。一例として、コンテンツファイル106bは、ゲーム空間などの三次元仮想空間を構成する種々の要素データ(ポリゴンデータや属性データ等)を記憶してもよい。このような要素データのうちいくつかは、上述した発音体として、音源信号等のデータに関連づけられている。コンテンツデータは、発音体の物理条件(即ち境界条件)を示す情報の一例である。
一例として、コンテンツファイル106bは、仮想的にオーケストラの奏者配置が可能な三次元仮想空間を規定するコンテンツ情報を記憶してもよい。なお、コンテンツファイル106bは、ネットワーク300を介して、サーバ等の外部機器200からコンテンツ情報を一時的に又は恒久的に取得して記憶してもよいものである。
また、図1において、入出力制御インターフェース部108は、キーボード等の検出部112や出力部114の制御を行うインターフェース部の一例である。入出力制御インターフェース部108は、一つ又は複数のインターフェース回路を含む。表示手段としての出力部114としては、モニタ(家庭用テレビやタッチスクリーンモニタ等を含む)等を用いることができる。また、検出部112としては、GPSセンサやIMESセンサなどの位置情報取得手段や、タッチパネル、音声マイク、キーボード、カメラ、加速度センサなどの各種センサ等を用いることができる。一例として、検出部112および出力部114は、液晶パネル等の出力部114と、タッチ位置入力装置等の検出部112とを組み合わせたタッチパネル等の入出力手段であってもよい。
また、図1において、制御部102は、OS(Operating System)等の制御プログラム、各種の処理手順等を規定したプログラム、および所要データを格納するための内部メモリを有する。制御部102は、内部メモリに格納されたプログラム等により、種々の処理を実行するための情報処理を行うCPU等のプロセッサである。制御部102は、機能概念的に、表示制御部102a、音源算出部102b、波面出力制御部102c、および、再生方式変換部102dを備えて構成されている。
表示制御部102aは、コンテンツ情報の表示制御を行う表示制御手段である。例えば、表示制御部102aは、検出部112により検出される身体部位の動作に応じてコンテンツ情報の表示制御を行ってもよい。一例として、表示制御部102aは、検出部112により検出される利用者の手指等の動作で指示されたコンテンツ情報の移動を伴う表示制御を行ってもよい。例えば、表示制御部102aは、コンテンツファイル106bから読み出された仮想三次元空間の各要素をHMD等の表示部114に表示し、検出部112を介して利用者に手指で要素を指し示すよう制御して、指示された要素を移動対象として利用者の手の動きに合わせて移動させてもよい。
上記の例に限られず、表示制御部102aは、ゲーム要素を含むゲーム空間を表示させて、利用者の仮想上のボール等を投げる動きや、キックやヘディングをする動き、両手で捉える動きに応じて、ボール等の要素を表示上、移動させてもよい。なお、表示制御部102aは、要素の移動のみならず、要素の発生や消滅などを利用者の動作に応じて引き起こしてもよいものである。なお、このような検出部112を介した表示制御部102aによる制御方法として、マイクロソフト社製Xbox等の公知の非接触ゲーム制御方法を用いてもよい。なお、仮想空間上において利用者とコンテンツとは相対的な位置関係にあることから、表示制御部102aが、検出部112により検出される動作に応じてコンテンツ情報の表示制御を行うことには、仮想空間上において、利用者が動作に応じて自らの位置を変更する場合も含まれる。
また、音源算出部102bは、移動する発音体から利用者の頭部を含む領域の境界面上の音圧信号への時変の伝達特性を考慮した逆システムを用いて、移動する発音体の音源信号から、スピーカへの入力信号を算出する音源算出手段である。例えば、音源算出部102bは、関数ファイル106aに記憶された関数に基づいて、音源信号から入力信号を算出してもよい。
一例として、音源算出部102bは、利用者の身体部位の動作に応じたコンテンツ情報の変化に従って、対応する発音体の音源信号および位置座標の時間関数を算出してもよい。すなわち、音源算出部102bは、表示制御部102aによるコンテンツ情報の変化に応じて、移動等の変化の対象となったコンテンツ要素に関連付けられた音源信号s(t)をコンテンツファイル106b等から読み出し、検出部112を介した利用者の身体部位の動作に応じたコンテンツ情報の変化に伴う位置座標の時間関数ri(t),r´i(t)から信号処理を行う。例えば、本実施形態において、音源算出部102bは、音源信号s(t)およびri(t),r´i(t)を、関数ファイル106aに記憶された上述の式(41),(42)に代入する。
また、音源算出部102bは、仮想的な三次元空間における利用者および/または発音体の速度に応じてドップラーシフトを再現する再生音響波面信号を演算してもよい。具体的には、音源算出部102bは、一例として、関数ファイル106aに記憶された上述の式(43)〜(45)等に代入することによりドップラーシフトを考慮した再生音響波面信号を求めることができる。なお、音源算出部102bは、位置座標の時間関数ri(t),を、ri´(t)を、仮想的な三次元空間における利用者と発音体との相対的な位置関係に基づいて算出してもよい。これにより、例えば、発音体が速度vsで受聴者の領域Vに向かって移動している場合のみならず、受聴者の領域Vが発音体に対して移動している場合も、ドップラー効果を発生させることができる。
また、波面出力制御部102cは、音源算出部102bにより得られる入力信号を、スピーカアレイ116の各スピーカへ入力することにより、仮想的な三次元空間を移動する発音体による三次元的な音響波面を形成させる波面出力制御手段である。例えば、波面出力制御部102cは、音源算出部102bにより得られる、発音体の音源信号および位置座標の時間関数を、関数ファイル106aの再生用信号出力関数に入力して導出した入力信号を、スピーカアレイ116の各スピーカへ入力することにより、仮想的な三次元空間を移動する発音体による三次元的な音響波面を出力制御してもよい。より具体的には、波面出力制御部102cは、発音体の音源信号s(t)および位置座標の時間関数ri(t),ri´(t)を、再生用信号出力関数(上述の式(4)〜(42)等)に入力して導出した入力信号yi(t)を、スピーカアレイ116の各スピーカへ入力することにより、音場再生室内に3D音響波面を形成させる。これにより、音像定位精度を高めた音声出力を行うことができる。
また、再生方式変換部102dは、再生音響波面信号による音響波面出力等を、他の公知の再生方式へ変換する再生方式変換手段である。例えば、再生方式変換部102dは、スピーカアレイ116による96chの再生音響波面信号の音響波面出力を、公知の再生方式変換手法を用いて、2chのステレオ再生方式や、5.1chの再生方式に変換することができる。これにより、クリエータ等の利用者が、音像定位精度のよい環境下で、制作した三次元的音源空間配置結果を、ステレオスピーカやサラウンドスピーカ群でも再生可能なようにデータ変換して配布することができる。例えば、再生方式変換部102dは、変換した音楽データ等を、ネットワーク300を介して、他の外部機器200へ送信してもよい。
本実施形態において、空間音響生成装置100は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク300に通信可能に接続されてもよい。なお、空間音響生成装置100は、コンテンツ情報を記憶するコンテンツデータベースや、空間音響生成プログラム等の外部プログラム等を提供する外部機器200と、ネットワーク300を介して通信可能に接続して構成されてもよい。
また、図1において、通信制御インターフェース部104は、空間音響生成装置100とネットワーク300(またはルータ等の通信装置)との間における通信制御を行う装置である。すなわち、通信制御インターフェース部104は、他の端末または局と、通信回線(有線、無線を問わない)を介してデータを通信する機能を有する。本実施の形態において、通信制御インターフェース部104は、外部機器200等との通信制御を行う。すなわち、外部機器200は、ネットワーク300を介して、空間音響生成装置100、検出部112、表示部114と相互に接続され、各端末に対して外部データベースやプログラム等の外部プログラム等を実行するウェブサイトを提供する機能を有してもよい。
ここで、外部機器200は、例えば、パーソナルコンピュータや、サーバ用のコンピュータなどのハードウェア要素と、オペレーティングシステム、アプリケーションプログラム、その他のデータなどのソフトウェア要素とで実現されてもよい。例えば、外部機器200は、WEBサーバやASPサーバ等として構成していてもよく、そのハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部機器200の各機能は、外部機器200のハードウェア構成中のCPU等のプロセッサ、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
以上で、本実施の形態の空間音響生成システムの各構成の説明を終える。
[基本処理]
まず、本実施の形態における空間音響生成システムの基本処理の一例について、図5を参照して説明する。ここで、図5は、本実施の形態の空間音響生成システムにおける基本処理の一例を示すフローチャートである。
図5に示すように、まず、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、仮想三次元空間を移動しうる発音体の音源信号s(t)および位置座標の時間関数ri(t),r´i(t)を算出する(ステップSA−1)。ここで、発音体の移動は、予め定められたものであってもよいし、利用者からの入力に伴うものであってもよい。
例えば、音源算出部102bは、コンテンツファイル106b等に記憶された移動軌跡データに基づいて位置座標と音源信号を算出してもよい。また、音源算出部102bは、利用者の入力によるゲームコンテンツ情報等の変化に応じて、移動対象のコンテンツに対応する音源信号s(t)と、コンテンツ情報の変化に伴う当該コンテンツ要素の位置座標の時間関数ri(t),r´i(t)を算出してもよい。
そして、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、音源信号s(t)および移動座標の時間関数ri(t),r´i(t)を、関数ファイル106aに記憶された再生用信号出力関数に代入する(ステップSA−2)。以上の処理(ステップSA−1〜2)により、移動する発音体から利用者の頭部を含む領域の境界面上の音圧信号への時変の伝達特性を考慮した逆システムを用いて、移動する発音体の音源信号から、スピーカへの入力信号を算出することができる。
すなわち、再生用信号出力関数は、利用者の頭部を含む領域V´の境界面S´上の音圧信号p(r^j,t)からスピーカアレイ116の各スピーカへの入力信号Yi(ω)(i=1・・・M)を出力する逆システムH^ji(ω)、および、仮想的な三次元空間における発音体の位置座標rj(t)(j=1・・・N)から境界面S´上の音圧信号p(r^j,t)の位置座標r^jまでの伝達関数c(r^j,t,τ)に基づく、再生用信号出力関数「yi(t)=Σfi(t,τ´)s(t−τ)dτ(例:式(41),(42))」であるので、スピーカアレイ116の各スピーカへの入力信号Yi(ω)を求めることができる。
つづいて、以下の処理(ステップSA−3〜4)では、上記のように算出した入力信号を、スピーカアレイの各スピーカへ入力することにより、三次元的な音響波面を形成させる。すなわち、本空間音響生成システムの空間音響生成装置100は、波面出力制御部102cの制御により、ステップSA−2にて得られた入力信号yi(t)を、スピーカアレイ116の各スピーカ(1・・・M)へ信号入力する(ステップSA−3)。
そして、本空間音響生成システムのスピーカアレイ116は、入力信号yi(t)に従うスピーカ出力により、仮想的な三次元空間を移動する発音体による三次元的な音響波面を出力する(ステップSA−4)。
以上が、空間音響生成システムの基本処理の一例である。これにより、仮想的な三次元空間において任意にコンテンツ等が移動しうる場合であっても、臨場感のある三次元的な音響波面を伴う音場を生成することができる。
[具体化処理]
次に、本実施の形態における空間音響生成システムの具体化処理の一例について、図6および図7を参照して説明する。具体化処理では、利用者の身体において表示コンテンツを変化させ、その変化に応じて三次元音響波面を伴う音場を生成する処理を行う。ここで、図6は、本実施の形態の空間音響生成システムにおける具体化処理の一例を示すフローチャートである。図7は、図3に関連して、境界音場制御(BoSC)の原理に基づく空間音響生成アルゴリズムを模式的に示した図である。
まず、図6および図7に示すように、本空間音響生成システムにおいて、身体運動センサー等の検出部112は、利用者の身体部位の動作を認識する(ステップSB−1)。例えば、検出部112は、利用者の身体運動から、ある方向を指さす動き、ある方向に手を押し出す動き、ある方向に脚を蹴り上げる動き、あたかもボールを投げる動き、ヘディングする動き、両手で何かを捕まえる動き、指揮棒を振る動きなどの所定のジェスチャーを検出してもよい。
つづいて、本空間音響生成システムの空間音響生成装置100は、表示制御部102aの制御により、検出部112にて認識される利用者の身体部位の動作に応じて、三次元表示HMD等の表示部114を介して、コンテンツファイル106bに記憶されたコンテンツ情報を表示させる表示制御を行う(ステップSB−2)。例えば、表示制御部102aは、ゲーム空間などの仮想現実空間を表示させた状態において、検出部112にて検出された利用者のボール等を投げる動きやキックやヘディングをする動き、指揮棒を振る動きなどのジェスチャーに応じて、対応するコンテンツ要素を変化させる表示制御を行ってもよい。
そして、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、表示制御部102aにより表示制御されたコンテンツ情報の変化に従って、対応するコンテンツ要素を発音体として音源信号s(t)および位置座標の時間関数ri(t),r´i(t)を取得する(ステップSB−3)。例えば、音源算出部102bは、表示制御部102aによるコンテンツ情報の変化に応じて、移動等の変化の対象となったコンテンツ要素に関連付けられた音源信号s(t)をコンテンツファイル106b等から読み出し、検出部112を介した利用者の身体部位の動作に応じたコンテンツ情報の変化に伴う当該コンテンツ要素の位置座標の時間関数ri(t),r´i(t)を取得してもよい。
そして、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、音源信号s(t)およびri(t),r´i(t)を、関数ファイル106aに記憶された再生用信号出力関数に代入する(ステップSB−4)。ここで、再生用信号出力関数は、利用者の頭部を含む領域V´の境界面S´上の音圧信号p(r^j,t)からスピーカアレイ116の各スピーカへの入力信号Yi(ω)(i=1・・・M)を出力する逆システムH^ji(ω)、および、仮想的な三次元空間における発音体の位置座標rj(t)(j=1・・・N)から境界面S´上の音圧信号p(r^j,t)の位置座標r^jまでの伝達関数c(r^j,t,τ)に基づく、再生用信号出力関数「yi(t)=Σfi(t,τ´)s(t−τ)dτ」であり、例えば上述の式(41),(42)で規定される。
そして、本空間音響生成システムの空間音響生成装置100は、波面出力制御部102cの制御により、音源算出部102bにより得られた入力信号yi(t)を、スピーカアレイ116の各スピーカ(1・・・M)へ信号入力する(ステップSB−5)。
そして、本空間音響生成システムのスピーカアレイ116は、入力信号yi(t)に従うスピーカ出力により、仮想的な三次元空間を移動する発音体による三次元的な音響波面を出力する(ステップSB−6)。
そして、本空間音響生成システムの空間音響生成装置100は、タッチパネル等の終了ボタンが押下される等の終了の指示がない限り(ステップSB−7,NO)、上述した処理を繰り返す。空間音響生成装置100は、タッチパネル等の終了ボタンが押下される等の終了の指示があった場合に(ステップSB−7,YES)、処理を終了する。ここで、本空間音響生成システムの空間音響生成装置100は、再生方式変換部102dの処理により、以上の処理により形成された時系列的音響波面出力を示す信号の再生方式を、サラウンド再生方式等の他の再生方式に変換して、変換結果の信号を外部機器200等に出力してもよい。この際、再生方式変換部102dは適宜、変換前後の信号を記憶部106に記録してもよい。
以上が、空間音響生成システムの処理の一例である。これにより、クリエータ等の利用者は、音像定位精度の良好な環境下で、指さし等の身体動作を使ってインタラクティブに直感的にコンテンツの編集を行うことができる。したがって、プログラミング等のコンピュータエンジニアリングに詳しくない利用者であっても、簡単に臨場感のある音場生成を行うことができる。
以上で、本実施の形態の空間音響生成システムの処理の説明を終える。
[実施例]
つづいて、本発明の実施の形態における実施例として、移動する発音体の物理条件と音源信号から領域V内の波面を計算する手順について、図8および図9を参照して説明する。図8は、三次元音場を移動する発音体と波面観測対象領域Vの関係を示す図である。図9は、空間音響生成装置100の具体的装置構成における処理内容や記憶内容を示すワークフロー図である。
図8および図9に示すように、まず、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、移動する発音体の物理条件と、タイマーの時刻τから、発音体の位置情報r^jを求める(ステップSC−1)。
そして、空間音響生成装置100のCPU102´は、ディスク106´´に記憶された音源信号s(ω)と、タイマーが示す時刻τから、Δτ経過した時刻t=τ〜τ+Δτについての音源信号s(t)を求める(ステップSC−2)。
そして、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、発音体の位置情報r^jから、波面観測対象領域Vを囲む境界面Sへの伝達関数c(r^j,t,τ)を算出する(ステップSC−3)。例えば、CPU102´(制御部)は、各時刻tに関して、対応する位置情報r^j及び境界面Sを境界条件とする境界要素法の数値計算を実行することにより、時刻t毎の伝達関数c(r^j,t,τ)を算出する。
そして、空間音響生成装置100のCPU102´は、時刻t=τ〜τ+Δτの音源信号s(t)に基づいて、ステップSC−3にて求めた時刻0〜τの発音体から境界面Sへの伝達関数c(r^j,t,τ)を折り畳み計算して、境界面S上の音圧信号p(r^j,t)等の音響物理情報を求める(ステップSC−4)。
そして、空間音響生成装置100のCPU102´は、領域Vとの境界面S上の音圧信号p(r^j,t)等の音響物理情報から、領域V内の音圧波面を計算する(ステップSC−5)。
以上が、移動する発音体の物理条件と音源信号から領域V内の波面を計算する手順である。以上のような移動する発音体の物理条件と音源信号からの領域V内の波面の計算を用いて、本実施の形態において最終的に三次元音響波面の音場を形成させるためには、スピーカアレイ116への入力信号を求める必要がある。
そのため、つづいて、移動する発音体の物理条件、音源信号、再生音場の伝達関数から、音場再生室内のスピーカ入力信号を計算する手順の実施例について、図10および図11を参照して説明である。ここで、図10は、MIMO逆システムを用いてスピーカアレイ116の各スピーカへの入力信号を求めることを模式的に示した図である。図11は、空間音響生成装置100の具体的装置構成における処理内容や記憶内容を示すワークフロー図である。
図10および図11に示すように、まず、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、移動する発音体の物理条件と、タイマーの時刻τから、発音体の位置情報r^jを求める(ステップSC−1)。同様に、空間音響生成装置100のCPU102´は、上述したステップSC−1〜SC−4までの処理を行う。
ここで、空間音響生成装置100のメモリ106´には、予め再生音場においてマイクロホンアレイ等で収録した音声データ等に基づいて、再生音場における伝達関数の計測システムを求め、伝達関数を求めてメモリ106´に記憶させておく(以下、具体的手法について、特開2011−182135,特開2008−118559等参照)。
そして、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、再生音場における伝達関数から再生音場の逆システムを求める(ステップSC−51)。再生音場の逆システムを示す情報は、予めメモリ106´(記憶部)に記憶されていてもよい。
そして、空間音響生成装置100のCPU102´は、メモリ106´に記憶された再生音場の逆システムと、境界面S上の音圧信号p(r^j,t)等の音響物理情報から、スピーカアレイ116の各スピーカへの入力信号yj(t)を求める(ステップSC−52)。
以上が、移動する発音体の物理条件、音源信号、再生音場の伝達関数から、音場再生室内のスピーカ入力信号を計算する手順である。これにより、臨場感のある三次元的な音響波面を伴う音場を生成させることができる。
[他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
例えば、上述した実施の形態では、上述した実施の形態では、図2に例示した音響樽型のスピーカアレイ116について説明したが、空間音響生成システムにおける複数のスピーカは図2に限定されず、種々のスピーカが各種の配置で用いられてもよい。空間音響生成システムにおけるスピーカアレイの変形例について、図12を用いて説明する。
図12は、空間音響生成システムにおいて椅子410に取付け可能なスピーカアレイ400を例示している。本変形例のスピーカアレイ400では、複数のスピーカ401が、利用者500が椅子410に座った状態において利用者500の頭部を取り囲むように、カバー部402に取り付けられている。
複数のスピーカ401は、例えば、椅子410に座った利用者500の前方、上方及び側方に位置するように、カバー部402内に三次元的に配置される。カバー部402は、各スピーカ401が椅子410に座った利用者500と間隔をあけて頭部或いは上半身を覆うように、ドーム状に形成された部材である。カバー部402と椅子410との間には、例えばカバー部402を椅子410に対して上下に移動可能な取付け部403が設けられる。これにより、利用者500が椅子410に座る前後の時点などにカバー部402の位置を適宜、調整することができる。
図12の例のスピーカアレイ400によると、椅子410に座った利用者500とスピーカ401との間に、空間音響生成装置100が生成する種々の波面を形成可能な空間を設けることができる。スピーカアレイ400を備えた空間音響生成システムは、例えばゲームや各種エンターテインメントの視聴等の種々の用途に適用可能である。空間音響生成システムのスピーカアレイ400は、椅子410とは別体で提供されてもよいし、一位的に提供されてもよい。
また、上述した実施の形態では、検出部112が、利用者の身体部位の動作(ジェスチャー動作)を検出して、検出結果を発音体の移動に連動させる例を説明した。空間音響生成システムにおける検出部112の検出対象はジェスチャー動作に限らず、検出部112の検出結果を発音体の移動に連動させるための種々の情報であってもよく、例えば映像や振動などを検出部112の検出対象として用いてもよい。
例えば、アイススケートのテレビ中継を行う場合等に、映像中における競技者(発音体)の位置検出が行われてもよい。この場合、例えばスケートリンクに設置されたマイク等から音源信号を取得して、テレビ中継の視聴者に、映像中の競技者の動きに合わせて走行音などが視聴されるように、空間音響生成システムを用いることができる。また、サッカーやボクシング等の体験型ゲームなどにおいて、利用者等が発生させた振動を検出対象として、検出結果の振動に応じてゲームのコンテンツ(発音体)の動きを設定すると共に、設定された動きに連動するような波面が形成されるようにしてもよい。
以上のように、空間音響生成システムにおける検出部112は、種々の発音体の移動に関する情報を検出してもよい。空間音響生成システムにおける検出部112としては、映像解析手段や、加速度センサ、ジャイロセンサなどの各種センサ等が用いられてもよい。
また、空間音響生成装置100における制御部106は、検出部112によって検出された発音体の移動に関する情報に基づいて、発音体の位置及び音源信号といった移動する発音体を示す情報を算出してもよいし、別途、移動する発音体を示す情報を取得してもよい。例えば、制御部106は、記憶部102に予め格納されたデータ等を読み出すことによって移動する発音体を示す情報を取得してもよいし、外部からネットワーク300等を介して当該情報を取得してもよい。
また、空間音響生成装置100の実装においては、各種の計算簡略化の処理を適用可能である。以下、空間音響生成装置100の実装例について、発音体が自由空間を移動する一つの点音源である例を用いて説明する。
本例においては、自由空間内において一つの点音源(大きさ1)の位置r´(t))が移動するという発音体の物理条件に対応して、時刻tにおける位置r^
jへの伝達関数c(r^
j,t,τ)は、次式(8)のように表される。
上式(8)において、δ(τ)はデルタ関数であり、v
cは音速である。上述した式(3)に式(8)を代入することにより、次式(9),(10)が得られる。
上式(9),(10)において、w
j(t)は音圧信号を示し、a
j(t)は音源と受音点間の距離を示す。上式(9),(10)は、サンプリング周波数F
s(Hz)で離散化することにより、次式(11),(12)のように表される。
上式(11),(12)のwj[n]は、離散的な時間nにおいて音源と受音点の間の距離aj[n]に応じて振幅変化および時間伸長する時間信号であり、音源と受音点間の距離が急速に変化する場合にはドップラー効果も含まれる。
ところで、上式(12)の右辺におけるs[n−aj[n]Fs/vc]のサンプル点(n−aj[n]Fs/vc)は、実数になる。このような実数のサンプル点における音源信号s[n−aj[n]Fs/vc]の値について、非特許文献3は、ラグランジェ補間法などにより計算する手法を提案している。しかし、上記のような従来の手法によると、計算コストがかかるという課題がある。
そこで、本実装例では、式(12)におけるs[n−a
j[n]F
s/v
c]を補間計算する代わりに、サンプル点(n−a
j[n]F
s/v
c)の小数点以下を四捨五入して丸めるという方法を採用する。本方法によると、式(12)は次式(13)のように計算される。
空間音響生成装置100における制御部106は、上式(13)に従い、発音体の移動に応じた遅延を有するサンプル点(n−aj[n]Fs/vc)に対してround関数による端数処理を行う。制御部106は、例えば後述するフレーム処理により、端数処理の結果の音源信号からスピーカへの入力信号yi(t)を算出する。これにより、移動音源を再現するような入力信号yi(t)を得る際の計算コストを低減することができる。以下、上式(13)に基づくフレーム処理の一例を説明する。
式(13)における距離aj[n]は、音源(発音体)の移動に応じて1サンプル毎に変化するが、フレーム処理においては、距離計算に線形補間を用いることができる。例えば、移動速度が音速よりも充分に小さい音源に関して、距離aj[n]は一定のフレーム区間中に線形に変化すると考えられる。
本実装例のフレーム処理においては、発音体の位置に基づく距離a
j[n]の計算は各フレームの最初を基準に行われ、次のフレームの最初に至るまでの各々のサンプル位置では距離は線形に変化すると考える。この場合、フレーム番号mにおいて1フレーム内のサンプル番号kの距離a
j[m,k]は、次式(14)のように表される。
上式(14)において、a
j[m,k]=a
j[n]に対応する「n」は、1フレーム分のサンプル数Lを用いてn=(m−1)×L+kであり、β[k]=(L−k)/(L−1)である。式(13)は、フレーム処理により
と表すことができる。
本実装例において空間音響生成装置100の制御部106は、フレーム処理において、フレーム区間L毎に音源と受音点間の距離aj[m,1]を計算し、式(15)からフレーム内の移動音源の信号wj[m,k]を計算する。計算した信号wj[m,k]に基づき、制御部106は、式(11)を用いて逆フィルタを畳み込むことにより、スピーカへの入力信号yi[n]を求める。
以上の処理によると、例えば公知のOverLap Add法により移動音源について畳み込みを行った場合に想定されるようなフレーム毎のノイズを生じさせずに、スピーカへの入力信号yi[n]を得ることができる。また、処理のアルゴリズムが上記の手法よりも単純であり、計算コストを低減できる。さらに、音源の移動速度に応じてドップラー効果にも対応可能である。
以上の説明では、発音体が一つの点音源である例を説明した。発音体が複数の点音源である場合にも、各点音源ごとに式(10)を計算して重ね合わせ、式(11)を用いて逆フィルタを畳み込むことにより、スピーカへの入力信号yi[n]を求めることができる。また、発音体が振動面や非振動面を有している場合においても、発音体を点音源の集合として近似的に表すことにより、上記と同様にスピーカへの入力信号yi[n]を求められる。
また、以上の説明では、実装例の処理によって得られた移動音源の信号wj[m,k]に逆システムを適用して、境界音場制御におけるスピーカへの入力信号yi[n]を求める例を説明した。上記の処理は、境界音場制御に限らず、例えばWFS(波面合成)方式や2chステレオ方式、バイノーラル方式などの各種再生方式に適用可能である。これにより、移動音源を再現するような各種スピーカやヘッドフォンへの入力信号を生成する際の計算コストを低減することができる。
また、空間音響生成装置100において、検出部112や表示部114やスピーカアレイ116等を別筐体として表したが、これに限られず、同一筐体で構成してもよい。
また、空間音響生成装置100が、外部機器200等のクライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却してもよい。
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
また、空間音響生成装置100や外部機器200等に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
例えば、空間音響生成装置100の各装置が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)などのプロセッサおよび当該プロセッサにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアプロセッサとして実現してもよい。尚、プログラムは、後述する、コンピュータに本発明に係る方法を実行させるためのプログラム化された命令を含む、一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて空間音響生成装置100や外部機器200に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部106などには、OS(Operating System)と協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
また、このコンピュータプログラムは、空間音響生成装置100や外部機器200に対して任意のネットワーク300を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD、および、Blu−ray(登録商標)Disc等の任意の「可搬用の物理媒体」を含むものとする。
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。プログラムが、一時的でないコンピュータ読み取り可能な記録媒体に記録されたプログラム製品として本発明を構成してもよい。
記憶部106に格納される各種のデータベース等(関数ファイル106a,コンテンツファイル106b等)は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
また、空間音響生成装置100や外部機器200や検出部112や表示部114やスピーカアレイ116は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、空間音響生成装置100や外部機器200や検出部112や表示部114等は、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。
更に、装置の分散及び/又は統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散及び/又は統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。以下、本発明に係る態様を例示する。
本発明に係る第1の態様は、複数のスピーカに接続された、記憶部と制御部とを備えた空間音響生成装置である。制御部は、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆システムを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出する。逆システムは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。
第2の態様では、第1の態様の空間音響生成装置において、記憶部は、仮想的な三次元空間における発音体の位置座標から音圧の観測対象とする領域の境界までの時変の伝達特性を示す伝達関数と逆システムとによって規定される再生用信号出力関数を記憶する。移動する発音体を示す情報は、仮想的な三次元空間における発音体の音源信号と位置座標の時間関数とを含む。制御部は、発音体の音源信号および位置座標の時間関数を、再生用信号出力関数に入力して入力信号を導出する。
第3の態様では、第1の態様の空間音響生成装置において、移動する発音体を示す情報は、仮想的な三次元空間における発音体の位置座標の時間関数と発音体の音源信号とを含む。制御部は、位置座標の時間関数に基づいて、発音体の位置座標から音圧の観測対象とする領域の境界までの時変の伝達特性を示す伝達関数を算出し、伝達関数と逆システムとに基づいて、音源信号から入力信号を算出する。
第4の態様では、第2または第3の態様の空間音響生成装置において、制御部は、位置座標の時間関数を、仮想的な三次元空間における利用者と発音体との相対的な位置関係に基づいて算出する。
第5の態様では、第4の態様の空間音響生成装置において、空間音響生成装置は更に表示部を有する。制御部は表示部に仮想的な三次元空間上の発音体を表示するよう制御する。
第6の態様では、第5の態様の空間音響生成装置において、空間音響生成装置は更にボディソニックトランスデューサを有する。制御部はコンテンツ情報に応じて利用者を加振するようボディソニックトランスデューサを制御する。
第7の態様では、第2乃至第6のいずれか一つの空間音響生成装置において、制御部は、仮想的な三次元空間における利用者および/または発音体の速度に応じてドップラーシフトを再現する再生音響波面信号を演算する。
第8の態様は、第2乃至第7のいずれか一つの空間音響生成装置において、更に、発音体の移動に関する情報を検出する検出部に接続されている。制御部は、検出部の検出結果に基づいて、発音体の音源信号および位置座標の時間関数のうちの少なくとも一方を算出する。
第9の態様では、第8の空間音響生成装置において、検出部は、利用者の少なくとも一つの身体部位の動作を検出する。制御部は、検出部により検出される身体部位の動作に応じて、発音体の音源信号および位置座標の時間関数を算出する。
第10の態様は、第9の空間音響生成装置において、制御部は、検出部により検出される身体部位の動作に応じてコンテンツ情報の表示制御を行う表示制御手段を備える。表示制御手段は、空間音響生成装置の構成要素の表示部を制御してもよいし、空間音響生成装置に接続された外部構成の表示部を制御してもよい。制御部は、身体部位の動作に応じたコンテンツ情報の変化に従って、対応する発音体の音源信号および位置座標の時間関数を算出する。
第11の態様では、第10の空間音響生成装置において、検出部は、利用者の手指の動作を検出する。表示制御手段は、検出部により検出される手指の動作で指示されたコンテンツ情報の移動を伴う表示制御を行う。
第12の態様では、第10または第11の空間音響生成装置において、表示制御手段は、表示部の一例である頭部装着ディスプレイを制御して、仮想的な三次元空間においてコンテンツ情報の三次元表示制御を行う。
第13の態様では、第1乃至12のいずれか一つの空間音響生成装置において、制御部は、形成された音響波面を示す信号において再生方式を変換する再生方式変換手段を備える。
第14の態様では、第1乃至13のいずれか一つの空間音響生成装置において、制御部は、発音体の移動に応じて音源信号において端数処理を行って、端数処理の結果の音源信号から入力信号を算出する。
第15の態様は、複数のスピーカと、記憶部と、制御部とを備えた空間音響生成システムである。制御部は、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆システムを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出する。逆システムは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。
第16の態様は、複数のスピーカに接続された、記憶部と制御部とを備えたコンピュータにおいて実行される空間音響生成方法である。本方法は、制御部が、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆システムを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出するステップを含む。逆システムは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。本方法は、制御部が、入力信号に基づき各スピーカを制御するステップを含む。
第17の態様は、複数のスピーカに接続された、記憶部と制御部とを備えたコンピュータに実行させるための空間音響生成プログラムである。本プログラムは、制御部に、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆システムを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出するステップを実行させる。逆システムは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。本プログラムは、制御部に、入力信号に基づき各スピーカを制御するステップを実行させる。
以下に、本発明の実施の形態にかかる空間音響生成装置、空間音響生成システム、空間音響生成方法、および、空間音響生成プログラム、並びに、記録媒体について、図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
まず、以下、本発明にかかる本実施の形態の構成について説明し、その後、本実施の形態の処理等について詳細に説明する。ここで、図1は、本発明の実施形態にかかる空間音響生成システムの構成を示す構成図であり、該構成のうち本実施の形態に関係する部分を主に概念的に示している。
図1に示すように、本実施の形態において、空間音響生成システムは、空間音響生成装置100と、検出部112と、表示部114と、スピーカアレイ116とを備えて構成される。なお、図1に示すように、空間音響生成装置100は、ネットワーク300を介して外部機器200と接続されてもよい。ここで、空間音響生成装置100は、パーソナルコンピュータや、サーバ用コンピュータ、タブレット型コンピュータなどである。ネットワーク300は、空間音響生成装置100と外部機器200とを相互に接続する機能を有し、例えば、LANやインターネット等である。
ここで、図1において、検出部112は、利用者の少なくとも一つの身体部位の動作を認識する動作認識手段である。例えば、検出部112は、カメラや赤外線センサ等の任意の検出手段によって、人物の動きを認識してもよい。一例として、検出部112は、公知のジェスチャー認識技術や、公知のモーションセンサ等を用いて利用者の動きを検出してもよい。ジェスチャーは、物理空間における利用者の位置および動きから得ることができ、手指や腕や脚の動き、または静止姿勢というような、動的または静的な、任意の利用者の動きを含むことができる。
本実施の形態の一例として、検出部112において、カメラのようなキャプチャー・デバイスが、ユーザー画像データを取り込み、このユーザー画像データから、利用者のジェスチャー(1つまたは複数)を認識してもよい。より具体的には、検出部112は、コンピュータ環境を使用して、利用者の三次元物理空間において利用者によって行われたジェスチャーを認識および分析し、解釈した利用者の動作データや属性データ等または解析前ローデータを、空間音響生成装置100に送信してもよい。一例として、検出部112は、ある方向を指さす動き、ある方向に手を押し出す動き、ある方向に脚を蹴り上げる動き、あたかもボールを投げる動き、ヘディングする動き、両手で何かを捕まえる動き、指揮棒を振る動き等の動きを認識してもよい。
公知のモーション認識手段の一例として、マイクロソフト社製Xbox One用モーションセンサのKinectセンサを用いてもよい。Kinect技術によれば、全身骨格のスケルトン動作データや属性データを得ることができる。なお、公知のモーションセンサでは、センサ内蔵の制御手段を用いて人物の動きや属性が解析されるか、あるいは、接続されたコンピュータの制御手段にて人物の動きや属性が解析されるが、本実施の形態はいずれであってもよい。例えば、本実施の形態は、これら解析機能を、検出部112の制御手段(プロセッサ等)により実現してもよく、空間音響生成装置100の制御手段(後述する音源算出部102b等)により実現してもよく、あるいは両者の制御手段により解析機能を実現してもよい。
このほか、検出部112は、タッチパッドやタッチパネルやマイクロホンアレイ等の検出手段を更に備えてもよい。また、検出部112は、直接、人の身体を検出することに限られず、Facebook社製Oculus RiftのOculus Touchコントローラのように、利用者が装着したコントローラや標識(例えば二次元コードタグ)等の動きを検出することによって、間接的に、身体の動きを検出してもよいものである。
また、図1において、表示部114は、コンテンツ情報を表示する表示手段である。一例として、表示部114は、頭部装着ディスプレイ(HMD)、液晶ディスプレイ、プロジェクタ等であってもよい。なお、表示部114は、二次元表示を行うものであってもよいし、三次元表示を行うものであってもよい。後述するように、受聴者はこの表示部114に表示される音源の位置に音像が定位されるように合成された音波を受聴する。
また、図示しないが受聴者はシートに着座したり、加振版の上に立つようにしてもよい。このシートや加振板にボディソニックトランスデューサを接続し、制御部がコンテンツ情報に合わせて受聴者に振動を加えるようにトランスデューサを制御すれば、受聴者は迫力のあるコンテンツを楽しむことができる。
また、図1において、スピーカアレイ116は、複数のスピーカが三次元配置された音声出力手段である。本実施の形態において、スピーカアレイ116は、音場制御(BoSC)再生方式のスピーカアレイである。ここで、図2は、本実施の形態におけるBoSC再生方式のスピーカアレイの一例を示す図である。
図2は、樽状の音場再生室を形成する音響樽型のスピーカアレイ116を例示している。また、図2に示すように、本実施の形態のスピーカアレイ116は、楕円形のドーム部220および柱部222を含む。この楕円形のドーム部220は、たとえば木製の架台220a、220b、220c、220dによって構成される。ただし、図2は、ドーム部220の内部をその斜め下方から見た図であり、架台220dおよび柱部222についてはその一部のみを示している。図示しないが、ドーム部220および柱部222の内部は空洞であり、架台220a−220d自体が密室型エンクロージャの役割を果たす。
また、本実施形態のスピーカアレイ116の各々には、一例として96個のラウドスピーカ230が設置される。ここで、ラウドスピーカ230として、フルレンジユニット(Fostex FE83E)のスピーカや、低域を補うためのサブウーファーユニット(Fostex FW108N)のスピーカが設置されてもよい。このようなスピーカアレイ116は、音場再生室内に設置されてもよく、例えば、1.5帖の防音室である、YAMAHAウッディボックス(遮音性能Dr−30)を用いてもよい。また、音場再生室内には、リフト付きの椅子(図示せず)や上述のKINECT等の検出部112や表示部114が設けられてもよい。
なお、BoSC再生方式のスピーカアレイ114や、そのためのコンピュータシステム等を含む音場再現システムについては、「1.数値解析技術と可視化・可聴化 1.7三次元音場通信システム」 榎本成悟 音響技術 No.148/Dec.2009 pp37−42や特開2012−85035号公報等の公知の文献を参照してもよい。
つづいて、本実施の形態の空間音響生成装置100の構成について説明する。図1に示すように、空間音響生成装置100は、概略的に、空間音響生成装置100の全体を統括的に制御するCPU等の制御部102、通信回線等に接続されるルータ等の通信装置(図示せず)に接続される通信制御インターフェース部104、タッチパネル等の検出部112や表示部114やスピーカアレイ116等に接続される入出力制御インターフェース部108、および、各種のデータベースやテーブルなどを格納する記憶部106を備えて構成されており、これら各部は任意の通信路を介して通信可能に接続されている。
記憶部106は、各種のデータベースやテーブル(例えば、関数ファイル106aやコンテンツファイル106b等)を格納する。記憶部106は、SRAM(Static Random Access Memory)等を用いて構成される小容量高速メモリ(例えば、キャッシュメモリ)等や、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の固定ディスク装置等のストレージ手段であり、各種処理に用いる各種のプログラムやテーブルやファイルやデータベースやウェブページ等を格納する。
関数ファイル106aは、信号処理を行うための関数を記憶する関数記憶手段である。例えば、本実施形態において、関数ファイル106aは、利用者の頭部を含む領域の境界面上の音圧信号からスピーカアレイ116の各スピーカへの入力信号を出力する逆フィルタリング、および、仮想的な三次元空間における発音体の位置座標から境界面上の音圧信号の位置座標までの伝達関数に基づく、再生用信号出力関数を記憶する。ここで、図3を参照して、本実施形態の再生用信号出力関数を説明する。図3は、境界音場制御(BoSC)の原理に基づいた、移動する発音体による3D波面生成システムの構成例を示す図である。以下では、本システムについて境界要素法の適用例を説明する。
1.発音体の物理条件
1.1 N個の点音源
まず、発音体において、i番目の点音源の大きさをqi(ω)、時間tにおける位置をr´(t)とする。
1.2 形状を有する発音体
ここで、移動する発音体の形状の境界面をSとする。境界面Sは、振動面が既知の面S´と、音響アドミタンスが既知の壁面S´´から構成される。境界面Sを、M個の微小要素に分割したとき、1・・・M´番目の要素が面S´に含まれ、M´+1・・・M番目の要素が面S´´に含まれるものとする。
1.2.1 振動面
i番目の要素の振動速度をui(ω)(i=1・・・M´)、時間tにおける位置をri(t)(∈S´)とする。
1.2.2 非振動面
壁面のi番目の要素の音響アドミタンスをzi(ω)(i=M´+1・・・M)、時間tにおける位置をri(t)(∈S´)とする。
1.3 発音体を駆動する音源信号S(ω)
点音源の大きさqi(ω)および音源の振動速度ui(ω)は、音源信号S(ω)に比例し、比例定数ai(ω),bi(ω)を用いて、qi(ω)=ai(ω)S(ω),ui(ω)=bi(ω)S(ω)と表される。
以上が、発音体の物理条件である。つづいて、上記物理条件の発音体による波面を観測する対象領域(すなわち受聴者の頭部を含む領域に対応)Vを取り囲む境界面S上の音圧信号について説明する。
2.波面観測対象領域Vを取り囲む境界面S上の音圧信号
境界面SをN点の要素に離散化し、j番目の要素の位置r^j(表記上“^”を手前の文字に続けて記載しているが正式には手前の文字の上に記載される(以下も同じ))、時間tにおける音圧信号をp(r^j,t)とする。
3.システムc(r^
j,t,τ)
このような場合、移動する発音体(r´(t)に位置する点音源、各要素がr
i(t)に位置する形状を有する発音体の合成)を駆動する音源信号s(t)を入力として、受音点における音圧信号p(r^
j,t)を出力とするシステムc(r^
j,t,τ)は、以下のように表せる。
ここで、c(r^
j,t,τ)は、時変の伝達特性を表しており、発音体が移動することにより伝達関数が時間tに応じて変化する時変システムである。このため、式(1)のフーリエ変換による周波数軸上での以下の演算式は成り立たない(c(r^
j,t,τ)の算出方法は7.にて後述する)。
4.逆フィルタリング
ここで、波面観測対象領域V(閉領域)を取り囲む境界面S(閉曲面)上のN点で計測した音圧信号p(r^j,t)から、音場再生用スピーカアレイ116のスピーカへの入力信号を出力する逆フィルタリングについて考える。本実施形態において、逆フィルタリングとは、M×N個の逆フィルタ群の総称である。なお、逆フィルタの設計方法として、公知の文献(S.Enomoto et al., “Three−dimensional sound field reproduction and recording systems based on boundary surface control principle”, Proc. of 14th ICAD, Presentation o 16, 2008 Jun.)を参照することができる。
まず、スピーカアレイ116が設置された音場再生室内にM個のスピーカを設置し、波面再生対象領域V´(閉領域)を取り囲む境界面S´(閉曲面)上のN個にマイクロホンを設置する。そして、i番目のスピーカ(i=1・・・M)からj番目のマイクロホン(j=1・・・N)へのインパルス応答h
ij(t)(i=1・・・M,j=1・・・N)を計測し、フーリエ変換する。ここで、H
ij(ω)は、音源iからマイクロホンの位置点jまでの伝達関数であり、以下の式で表せる。
さらに、H
ij(ω)は、各々の角速度ω毎に、以下のマトリクスで表せる。
そして、逆
フィルタリングH^
ji(ω)を求めるため、[H^
ji(ω)][H
ij(ω)]=I(ただし、IはN次元単位行列)となるような[H
ij(ω)]の擬似逆行列[H^
ji(ω)]を求める。ここで、擬似逆行列[H^
ji(ω)]は、以下のように表せる。
そして、スピーカアレイ116のi番目のスピーカ(i=1・・・M)から出力する再生用信号Y
i(ω)は、原音場における境界面S上の音圧信号P(r^
j,t)と逆
フィルタリングH^
ji(ω)を乗算して、jに関する総和を求める以下の数式で算出される。
ただし、h^
ji(t)は、以下となる。
以上のような逆
フィルタリングH^
ji(ω)(或いは等価的にh^
ji(t))のアルゴリズムによると、スピーカアレイ116が設置された空間中の伝達関数H
ij(ω)の影響を打ち消すように、再生用信号Y
i(ω)(或いはy
i(t))を出力することができる。
5.再生用信号出力関数f
i(t,τ)
ここで、式(2)に式(1)を代入すると、再生用信号y
i(t)は以下のように表せる。
したがって、f
i(t,τ)を以下とおくと、再生用信号y
i(t)の出力関数が定められる。
上記の再生用信号yi(t)についての再生用信号出力関数は、音源信号s(t)を入力として受音点における再生用信号yi(t)を出力とするシステムfi(t,τ)である。これにより、移動する発音体から利用者の頭部を含む領域の境界面上の音圧信号への時変の伝達特性を考慮して逆フィルタリングを用いて、移動する発音体の音源信号から、スピーカへの入力信号を求めることができる。例えば、上式(41)の位置座標r^jを時間tの関数として設定可能に関数化することにより、上式(42)等に対応する再生用信号出力関数が構成されてもよい。
6.ドップラー効果の考慮
発音体が高速で移動する場合、ドップラー効果による周波数シフトが生じる。ここで、図4は、移動する発音体と領域Vの関係を模式的に示す図である。図4に示すように、発音体の大きさと波面観測対象領域の大きさが発音体の中心座標と波面観測対象領域の中心座標の距離に比較して十分小さい場合、発音体の速度v
s、発音体の移動方向と波面進行方向のなす角度θ、音速v
cとすると、波面観測対象領域で計測する音圧信号は以下となる。
この場合、上述の再生用信号出力関数(式(42))は、ドップラー効果を考慮した以下の式にて表せる。
7.伝達関数c(r^
j,t,τ)の算出方法
7.1 時間を固定した場合の伝達関数の定式化
上述の〈1.発音体の物理モデル〉にて記載した物理パラメータを用いて、キルヒホッフ−ヘルムホルツ積分方程式を記述する。ある時間tにおける発音体の位置ベクトルを固定した場合、すなわちr´
i(t)=r´
i,r
i(t)=r
iとすると、点音源の大きさは以下の式で表せる。
ここで、さらに離散化することにより次式が得られる。
s=r
j(j=1・・・M)として、上記の式(5)を連立させると、α(s)=1/2(s∈S´,S´´)であるため、以下の式が得られる。
P(r
j,ω)の項を左辺へ移項し、マトリクスで表すと以下のようになる。
ただし、
したがって、境界面S´およびS´´上の音圧は、次式で求めることができる。
発音体の外部領域にある受音点r^
j(α(s)=1)における音圧信号は、以下のように式(5)に式(6)を代入することにより得られる。
上記の式を解くことにより、発音体の外部領域にある受音点r^
j(α(s)=1)における音圧信号が得られる。また、q
i(ω)=a
iS(ω),u
i(ω)=b
iS(ω)であるため、音源信号S(ω)を入力として受音点における音圧P(r^
j,ω)を出力とするシステムC(r^
j,ω)は、以下のとおりに得られる。
7.2 時間を考慮した場合の伝達関数の定式化
つづいて、時間固定を解除するため、発音体の位置ベクトルをr´
i=r´
i(t),r
i=r
i(t)として、移動する発音体の時間tにおける伝達関数c(r^
j,t,τ)を求める。すなわち、上記の式(7)の中で用いられる、│r´
i−r
j│,│r
i−r
j│,│r´
i−r^
j│などのベクトル間の距離計算を│r´
i(t)−r
j│,│r
i(t)−r
j(t)│,│r´
i(t)−r^
j│に置き換えたc(r^
j,ω)をc(r^
j,t,ω)とする。さらに、求めたc(r^
j,t,ω)を逆フーリエ変換すれば、時間を考慮したシステムの伝達関数c(r^
j,t,τ)が以下の式で得られる。
以上が、関数ファイル106aに記憶される本実施形態の再生用信号出力関数の一例である。なお、上記の再生用信号出力関数に限られず、境界音場制御(BoSC)の原理に基づいて、公知の近似的手法等により再生用信号出力関数を求めて用いてもよい。例えば、上記の説明では再生用信号出力関数を求めるために境界要素法を用いる例を説明したが、境界要素法の代わりに有限要素法や差分法などの各種の数値計算手法が用いられてもよい。
再び図1に戻り、コンテンツファイル106bは、コンテンツ情報を記憶するコンテンツ情報記憶手段である。例えば、コンテンツファイル106bは、仮想空間上に配置可能な種々のデータ(画像データや音源データ等)を記憶してもよい。一例として、コンテンツファイル106bは、ゲーム空間などの三次元仮想空間を構成する種々の要素データ(ポリゴンデータや属性データ等)を記憶してもよい。このような要素データのうちいくつかは、上述した発音体として、音源信号等のデータに関連づけられている。コンテンツデータは、発音体の物理条件(即ち境界条件)を示す情報の一例である。
一例として、コンテンツファイル106bは、仮想的にオーケストラの奏者配置が可能な三次元仮想空間を規定するコンテンツ情報を記憶してもよい。なお、コンテンツファイル106bは、ネットワーク300を介して、サーバ等の外部機器200からコンテンツ情報を一時的に又は恒久的に取得して記憶してもよいものである。
また、図1において、入出力制御インターフェース部108は、キーボード等の検出部112や出力部114の制御を行うインターフェース部の一例である。入出力制御インターフェース部108は、一つ又は複数のインターフェース回路を含む。表示手段としての出力部114としては、モニタ(家庭用テレビやタッチスクリーンモニタ等を含む)等を用いることができる。また、検出部112としては、GPSセンサやIMESセンサなどの位置情報取得手段や、タッチパネル、音声マイク、キーボード、カメラ、加速度センサなどの各種センサ等を用いることができる。一例として、検出部112および出力部114は、液晶パネル等の出力部114と、タッチ位置入力装置等の検出部112とを組み合わせたタッチパネル等の入出力手段であってもよい。
また、図1において、制御部102は、OS(Operating System)等の制御プログラム、各種の処理手順等を規定したプログラム、および所要データを格納するための内部メモリを有する。制御部102は、内部メモリに格納されたプログラム等により、種々の処理を実行するための情報処理を行うCPU等のプロセッサである。制御部102は、機能概念的に、表示制御部102a、音源算出部102b、波面出力制御部102c、および、再生方式変換部102dを備えて構成されている。
表示制御部102aは、コンテンツ情報の表示制御を行う表示制御手段である。例えば、表示制御部102aは、検出部112により検出される身体部位の動作に応じてコンテンツ情報の表示制御を行ってもよい。一例として、表示制御部102aは、検出部112により検出される利用者の手指等の動作で指示されたコンテンツ情報の移動を伴う表示制御を行ってもよい。例えば、表示制御部102aは、コンテンツファイル106bから読み出された仮想三次元空間の各要素をHMD等の表示部114に表示し、検出部112を介して利用者に手指で要素を指し示すよう制御して、指示された要素を移動対象として利用者の手の動きに合わせて移動させてもよい。
上記の例に限られず、表示制御部102aは、ゲーム要素を含むゲーム空間を表示させて、利用者の仮想上のボール等を投げる動きや、キックやヘディングをする動き、両手で捉える動きに応じて、ボール等の要素を表示上、移動させてもよい。なお、表示制御部102aは、要素の移動のみならず、要素の発生や消滅などを利用者の動作に応じて引き起こしてもよいものである。なお、このような検出部112を介した表示制御部102aによる制御方法として、マイクロソフト社製Xbox等の公知の非接触ゲーム制御方法を用いてもよい。なお、仮想空間上において利用者とコンテンツとは相対的な位置関係にあることから、表示制御部102aが、検出部112により検出される動作に応じてコンテンツ情報の表示制御を行うことには、仮想空間上において、利用者が動作に応じて自らの位置を変更する場合も含まれる。
また、音源算出部102bは、移動する発音体から利用者の頭部を含む領域の境界面上の音圧信号への時変の伝達特性を考慮した逆フィルタリングを用いて、移動する発音体の音源信号から、スピーカへの入力信号を算出する音源算出手段である。例えば、音源算出部102bは、関数ファイル106aに記憶された関数に基づいて、音源信号から入力信号を算出してもよい。
一例として、音源算出部102bは、利用者の身体部位の動作に応じたコンテンツ情報の変化に従って、対応する発音体の音源信号および位置座標の時間関数を算出してもよい。すなわち、音源算出部102bは、表示制御部102aによるコンテンツ情報の変化に応じて、移動等の変化の対象となったコンテンツ要素に関連付けられた音源信号s(t)をコンテンツファイル106b等から読み出し、検出部112を介した利用者の身体部位の動作に応じたコンテンツ情報の変化に伴う位置座標の時間関数ri(t),r´i(t)から信号処理を行う。例えば、本実施形態において、音源算出部102bは、音源信号s(t)およびri(t),r´i(t)を、関数ファイル106aに記憶された上述の式(41),(42)に代入する。
また、音源算出部102bは、仮想的な三次元空間における利用者および/または発音体の速度に応じてドップラーシフトを再現する再生音響波面信号を演算してもよい。具体的には、音源算出部102bは、一例として、関数ファイル106aに記憶された上述の式(43)〜(45)等に代入することによりドップラーシフトを考慮した再生音響波面信号を求めることができる。なお、音源算出部102bは、位置座標の時間関数ri(t),を、ri´(t)を、仮想的な三次元空間における利用者と発音体との相対的な位置関係に基づいて算出してもよい。これにより、例えば、発音体が速度vsで受聴者の領域Vに向かって移動している場合のみならず、受聴者の領域Vが発音体に対して移動している場合も、ドップラー効果を発生させることができる。
また、波面出力制御部102cは、音源算出部102bにより得られる入力信号を、スピーカアレイ116の各スピーカへ入力することにより、仮想的な三次元空間を移動する発音体による三次元的な音響波面を形成させる波面出力制御手段である。例えば、波面出力制御部102cは、音源算出部102bにより得られる、発音体の音源信号および位置座標の時間関数を、関数ファイル106aの再生用信号出力関数に入力して導出した入力信号を、スピーカアレイ116の各スピーカへ入力することにより、仮想的な三次元空間を移動する発音体による三次元的な音響波面を出力制御してもよい。より具体的には、波面出力制御部102cは、発音体の音源信号s(t)および位置座標の時間関数ri(t),ri´(t)を、再生用信号出力関数(上述の式(4)〜(42)等)に入力して導出した入力信号yi(t)を、スピーカアレイ116の各スピーカへ入力することにより、音場再生室内に3D音響波面を形成させる。これにより、音像定位精度を高めた音声出力を行うことができる。
また、再生方式変換部102dは、再生音響波面信号による音響波面出力等を、他の公知の再生方式へ変換する再生方式変換手段である。例えば、再生方式変換部102dは、スピーカアレイ116による96chの再生音響波面信号の音響波面出力を、公知の再生方式変換手法を用いて、2chのステレオ再生方式や、5.1chの再生方式に変換することができる。これにより、クリエータ等の利用者が、音像定位精度のよい環境下で、制作した三次元的音源空間配置結果を、ステレオスピーカやサラウンドスピーカ群でも再生可能なようにデータ変換して配布することができる。例えば、再生方式変換部102dは、変換した音楽データ等を、ネットワーク300を介して、他の外部機器200へ送信してもよい。
本実施形態において、空間音響生成装置100は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク300に通信可能に接続されてもよい。なお、空間音響生成装置100は、コンテンツ情報を記憶するコンテンツデータベースや、空間音響生成プログラム等の外部プログラム等を提供する外部機器200と、ネットワーク300を介して通信可能に接続して構成されてもよい。
また、図1において、通信制御インターフェース部104は、空間音響生成装置100とネットワーク300(またはルータ等の通信装置)との間における通信制御を行う装置である。すなわち、通信制御インターフェース部104は、他の端末または局と、通信回線(有線、無線を問わない)を介してデータを通信する機能を有する。本実施の形態において、通信制御インターフェース部104は、外部機器200等との通信制御を行う。すなわち、外部機器200は、ネットワーク300を介して、空間音響生成装置100、検出部112、表示部114と相互に接続され、各端末に対して外部データベースやプログラム等の外部プログラム等を実行するウェブサイトを提供する機能を有してもよい。
ここで、外部機器200は、例えば、パーソナルコンピュータや、サーバ用のコンピュータなどのハードウェア要素と、オペレーティングシステム、アプリケーションプログラム、その他のデータなどのソフトウェア要素とで実現されてもよい。例えば、外部機器200は、WEBサーバやASPサーバ等として構成していてもよく、そのハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部機器200の各機能は、外部機器200のハードウェア構成中のCPU等のプロセッサ、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
以上で、本実施の形態の空間音響生成システムの各構成の説明を終える。
[基本処理]
まず、本実施の形態における空間音響生成システムの基本処理の一例について、図5を参照して説明する。ここで、図5は、本実施の形態の空間音響生成システムにおける基本処理の一例を示すフローチャートである。
図5に示すように、まず、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、仮想三次元空間を移動しうる発音体の音源信号s(t)および位置座標の時間関数ri(t),r´i(t)を算出する(ステップSA−1)。ここで、発音体の移動は、予め定められたものであってもよいし、利用者からの入力に伴うものであってもよい。
例えば、音源算出部102bは、コンテンツファイル106b等に記憶された移動軌跡データに基づいて位置座標と音源信号を算出してもよい。また、音源算出部102bは、利用者の入力によるゲームコンテンツ情報等の変化に応じて、移動対象のコンテンツに対応する音源信号s(t)と、コンテンツ情報の変化に伴う当該コンテンツ要素の位置座標の時間関数ri(t),r´i(t)を算出してもよい。
そして、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、音源信号s(t)および移動座標の時間関数ri(t),r´i(t)を、関数ファイル106aに記憶された再生用信号出力関数に代入する(ステップSA−2)。以上の処理(ステップSA−1〜2)により、移動する発音体から利用者の頭部を含む領域の境界面上の音圧信号への時変の伝達特性を考慮した逆フィルタリングを用いて、移動する発音体の音源信号から、スピーカへの入力信号を算出することができる。
すなわち、再生用信号出力関数は、利用者の頭部を含む領域V´の境界面S´上の音圧信号p(r^j,t)からスピーカアレイ116の各スピーカへの入力信号Yi(ω)(i=1・・・M)を出力する逆フィルタリングH^ji(ω)、および、仮想的な三次元空間における発音体の位置座標rj(t)(j=1・・・N)から境界面S´上の音圧信号p(r^j,t)の位置座標r^jまでの伝達関数c(r^j,t,τ)に基づく、再生用信号出力関数「yi(t)=Σfi(t,τ´)s(t−τ)dτ(例:式(41),(42))」であるので、スピーカアレイ116の各スピーカへの入力信号Yi(ω)を求めることができる。
つづいて、以下の処理(ステップSA−3〜4)では、上記のように算出した入力信号を、スピーカアレイの各スピーカへ入力することにより、三次元的な音響波面を形成させる。すなわち、本空間音響生成システムの空間音響生成装置100は、波面出力制御部102cの制御により、ステップSA−2にて得られた入力信号yi(t)を、スピーカアレイ116の各スピーカ(1・・・M)へ信号入力する(ステップSA−3)。
そして、本空間音響生成システムのスピーカアレイ116は、入力信号yi(t)に従うスピーカ出力により、仮想的な三次元空間を移動する発音体による三次元的な音響波面を出力する(ステップSA−4)。
以上が、空間音響生成システムの基本処理の一例である。これにより、仮想的な三次元空間において任意にコンテンツ等が移動しうる場合であっても、臨場感のある三次元的な音響波面を伴う音場を生成することができる。
[具体化処理]
次に、本実施の形態における空間音響生成システムの具体化処理の一例について、図6および図7を参照して説明する。具体化処理では、利用者の身体において表示コンテンツを変化させ、その変化に応じて三次元音響波面を伴う音場を生成する処理を行う。ここで、図6は、本実施の形態の空間音響生成システムにおける具体化処理の一例を示すフローチャートである。図7は、図3に関連して、境界音場制御(BoSC)の原理に基づく空間音響生成アルゴリズムを模式的に示した図である。
まず、図6および図7に示すように、本空間音響生成システムにおいて、身体運動センサー等の検出部112は、利用者の身体部位の動作を認識する(ステップSB−1)。例えば、検出部112は、利用者の身体運動から、ある方向を指さす動き、ある方向に手を押し出す動き、ある方向に脚を蹴り上げる動き、あたかもボールを投げる動き、ヘディングする動き、両手で何かを捕まえる動き、指揮棒を振る動きなどの所定のジェスチャーを検出してもよい。
つづいて、本空間音響生成システムの空間音響生成装置100は、表示制御部102aの制御により、検出部112にて認識される利用者の身体部位の動作に応じて、三次元表示HMD等の表示部114を介して、コンテンツファイル106bに記憶されたコンテンツ情報を表示させる表示制御を行う(ステップSB−2)。例えば、表示制御部102aは、ゲーム空間などの仮想現実空間を表示させた状態において、検出部112にて検出された利用者のボール等を投げる動きやキックやヘディングをする動き、指揮棒を振る動きなどのジェスチャーに応じて、対応するコンテンツ要素を変化させる表示制御を行ってもよい。
そして、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、表示制御部102aにより表示制御されたコンテンツ情報の変化に従って、対応するコンテンツ要素を発音体として音源信号s(t)および位置座標の時間関数ri(t),r´i(t)を取得する(ステップSB−3)。例えば、音源算出部102bは、表示制御部102aによるコンテンツ情報の変化に応じて、移動等の変化の対象となったコンテンツ要素に関連付けられた音源信号s(t)をコンテンツファイル106b等から読み出し、検出部112を介した利用者の身体部位の動作に応じたコンテンツ情報の変化に伴う当該コンテンツ要素の位置座標の時間関数ri(t),r´i(t)を取得してもよい。
そして、本空間音響生成システムの空間音響生成装置100は、音源算出部102bの制御により、音源信号s(t)およびri(t),r´i(t)を、関数ファイル106aに記憶された再生用信号出力関数に代入する(ステップSB−4)。ここで、再生用信号出力関数は、利用者の頭部を含む領域V´の境界面S´上の音圧信号p(r^j,t)からスピーカアレイ116の各スピーカへの入力信号Yi(ω)(i=1・・・M)を出力する逆フィルタリングH^ji(ω)、および、仮想的な三次元空間における発音体の位置座標rj(t)(j=1・・・N)から境界面S´上の音圧信号p(r^j,t)の位置座標r^jまでの伝達関数c(r^j,t,τ)に基づく、再生用信号出力関数「yi(t)=Σfi(t,τ´)s(t−τ)dτ」であり、例えば上述の式(41),(42)で規定される。
そして、本空間音響生成システムの空間音響生成装置100は、波面出力制御部102cの制御により、音源算出部102bにより得られた入力信号yi(t)を、スピーカアレイ116の各スピーカ(1・・・M)へ信号入力する(ステップSB−5)。
そして、本空間音響生成システムのスピーカアレイ116は、入力信号yi(t)に従うスピーカ出力により、仮想的な三次元空間を移動する発音体による三次元的な音響波面を出力する(ステップSB−6)。
そして、本空間音響生成システムの空間音響生成装置100は、タッチパネル等の終了ボタンが押下される等の終了の指示がない限り(ステップSB−7,NO)、上述した処理を繰り返す。空間音響生成装置100は、タッチパネル等の終了ボタンが押下される等の終了の指示があった場合に(ステップSB−7,YES)、処理を終了する。ここで、本空間音響生成システムの空間音響生成装置100は、再生方式変換部102dの処理により、以上の処理により形成された時系列的音響波面出力を示す信号の再生方式を、サラウンド再生方式等の他の再生方式に変換して、変換結果の信号を外部機器200等に出力してもよい。この際、再生方式変換部102dは適宜、変換前後の信号を記憶部106に記録してもよい。
以上が、空間音響生成システムの処理の一例である。これにより、クリエータ等の利用者は、音像定位精度の良好な環境下で、指さし等の身体動作を使ってインタラクティブに直感的にコンテンツの編集を行うことができる。したがって、プログラミング等のコンピュータエンジニアリングに詳しくない利用者であっても、簡単に臨場感のある音場生成を行うことができる。
以上で、本実施の形態の空間音響生成システムの処理の説明を終える。
[実施例]
つづいて、本発明の実施の形態における実施例として、移動する発音体の物理条件と音源信号から領域V内の波面を計算する手順について、図8および図9を参照して説明する。図8は、三次元音場を移動する発音体と波面観測対象領域Vの関係を示す図である。図9は、空間音響生成装置100の具体的装置構成における処理内容や記憶内容を示すワークフロー図である。
図8および図9に示すように、まず、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、移動する発音体の物理条件と、タイマーの時刻τから、発音体の位置情報r^jを求める(ステップSC−1)。
そして、空間音響生成装置100のCPU102´は、ディスク106´´に記憶された音源信号s(ω)と、タイマーが示す時刻τから、Δτ経過した時刻t=τ〜τ+Δτについての音源信号s(t)を求める(ステップSC−2)。
そして、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、発音体の位置情報r^jから、波面観測対象領域Vを囲む境界面Sへの伝達関数c(r^j,t,τ)を算出する(ステップSC−3)。例えば、CPU102´(制御部)は、各時刻tに関して、対応する位置情報r^j及び境界面Sを境界条件とする境界要素法の数値計算を実行することにより、時刻t毎の伝達関数c(r^j,t,τ)を算出する。
そして、空間音響生成装置100のCPU102´は、時刻t=τ〜τ+Δτの音源信号s(t)に基づいて、ステップSC−3にて求めた時刻0〜τの発音体から境界面Sへの伝達関数c(r^j,t,τ)を折り畳み計算して、境界面S上の音圧信号p(r^j,t)等の音響物理情報を求める(ステップSC−4)。
そして、空間音響生成装置100のCPU102´は、領域Vとの境界面S上の音圧信号p(r^j,t)等の音響物理情報から、領域V内の音圧波面を計算する(ステップSC−5)。
以上が、移動する発音体の物理条件と音源信号から領域V内の波面を計算する手順である。以上のような移動する発音体の物理条件と音源信号からの領域V内の波面の計算を用いて、本実施の形態において最終的に三次元音響波面の音場を形成させるためには、スピーカアレイ116への入力信号を求める必要がある。
そのため、つづいて、移動する発音体の物理条件、音源信号、再生音場の伝達関数から、音場再生室内のスピーカ入力信号を計算する手順の実施例について、図10および図11を参照して説明である。ここで、図10は、MIMO逆フィルタリングを用いてスピーカアレイ116の各スピーカへの入力信号を求めることを模式的に示した図である。図11は、空間音響生成装置100の具体的装置構成における処理内容や記憶内容を示すワークフロー図である。
図10および図11に示すように、まず、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、移動する発音体の物理条件と、タイマーの時刻τから、発音体の位置情報r^jを求める(ステップSC−1)。同様に、空間音響生成装置100のCPU102´は、上述したステップSC−1〜SC−4までの処理を行う。
ここで、空間音響生成装置100のメモリ106´には、予め再生音場においてマイクロホンアレイ等で収録した音声データ等に基づいて、再生音場における伝達関数の計測システムを求め、伝達関数を求めてメモリ106´に記憶させておく(以下、具体的手法について、特開2011−182135,特開2008−118559等参照)。
そして、空間音響生成装置100のCPU102´は、メモリ106´に記憶された、再生音場における伝達関数から再生音場の逆フィルタリングを求める(ステップSC−51)。再生音場の逆フィルタリングを示す情報は、予めメモリ106´(記憶部)に記憶されていてもよい。
そして、空間音響生成装置100のCPU102´は、メモリ106´に記憶された再生音場の逆フィルタリングと、境界面S上の音圧信号p(r^j,t)等の音響物理情報から、スピーカアレイ116の各スピーカへの入力信号yj(t)を求める(ステップSC−52)。
以上が、移動する発音体の物理条件、音源信号、再生音場の伝達関数から、音場再生室内のスピーカ入力信号を計算する手順である。これにより、臨場感のある三次元的な音響波面を伴う音場を生成させることができる。
[他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
例えば、上述した実施の形態では、上述した実施の形態では、図2に例示した音響樽型のスピーカアレイ116について説明したが、空間音響生成システムにおける複数のスピーカは図2に限定されず、種々のスピーカが各種の配置で用いられてもよい。空間音響生成システムにおけるスピーカアレイの変形例について、図12を用いて説明する。
図12は、空間音響生成システムにおいて椅子410に取付け可能なスピーカアレイ400を例示している。本変形例のスピーカアレイ400では、複数のスピーカ401が、利用者500が椅子410に座った状態において利用者500の頭部を取り囲むように、カバー部402に取り付けられている。
複数のスピーカ401は、例えば、椅子410に座った利用者500の前方、上方及び側方に位置するように、カバー部402内に三次元的に配置される。カバー部402は、各スピーカ401が椅子410に座った利用者500と間隔をあけて頭部或いは上半身を覆うように、ドーム状に形成された部材である。カバー部402と椅子410との間には、例えばカバー部402を椅子410に対して上下に移動可能な取付け部403が設けられる。これにより、利用者500が椅子410に座る前後の時点などにカバー部402の位置を適宜、調整することができる。
図12の例のスピーカアレイ400によると、椅子410に座った利用者500とスピーカ401との間に、空間音響生成装置100が生成する種々の波面を形成可能な空間を設けることができる。スピーカアレイ400を備えた空間音響生成システムは、例えばゲームや各種エンターテインメントの視聴等の種々の用途に適用可能である。空間音響生成システムのスピーカアレイ400は、椅子410とは別体で提供されてもよいし、一位的に提供されてもよい。
また、上述した実施の形態では、検出部112が、利用者の身体部位の動作(ジェスチャー動作)を検出して、検出結果を発音体の移動に連動させる例を説明した。空間音響生成システムにおける検出部112の検出対象はジェスチャー動作に限らず、検出部112の検出結果を発音体の移動に連動させるための種々の情報であってもよく、例えば映像や振動などを検出部112の検出対象として用いてもよい。
例えば、アイススケートのテレビ中継を行う場合等に、映像中における競技者(発音体)の位置検出が行われてもよい。この場合、例えばスケートリンクに設置されたマイク等から音源信号を取得して、テレビ中継の視聴者に、映像中の競技者の動きに合わせて走行音などが視聴されるように、空間音響生成システムを用いることができる。また、サッカーやボクシング等の体験型ゲームなどにおいて、利用者等が発生させた振動を検出対象として、検出結果の振動に応じてゲームのコンテンツ(発音体)の動きを設定すると共に、設定された動きに連動するような波面が形成されるようにしてもよい。
以上のように、空間音響生成システムにおける検出部112は、種々の発音体の移動に関する情報を検出してもよい。空間音響生成システムにおける検出部112としては、映像解析手段や、加速度センサ、ジャイロセンサなどの各種センサ等が用いられてもよい。
また、空間音響生成装置100における制御部106は、検出部112によって検出された発音体の移動に関する情報に基づいて、発音体の位置及び音源信号といった移動する発音体を示す情報を算出してもよいし、別途、移動する発音体を示す情報を取得してもよい。例えば、制御部106は、記憶部102に予め格納されたデータ等を読み出すことによって移動する発音体を示す情報を取得してもよいし、外部からネットワーク300等を介して当該情報を取得してもよい。
また、空間音響生成装置100の実装においては、各種の計算簡略化の処理を適用可能である。以下、空間音響生成装置100の実装例について、発音体が自由空間を移動する一つの点音源である例を用いて説明する。
本例においては、自由空間内において一つの点音源(大きさ1)の位置r´(t))が移動するという発音体の物理条件に対応して、時刻tにおける位置r^
jへの伝達関数c(r^
j,t,τ)は、次式(8)のように表される。
上式(8)において、δ(τ)はデルタ関数であり、v
cは音速である。上述した式(3)に式(8)を代入することにより、次式(9),(10)が得られる。
上式(9),(10)において、w
j(t)は音圧信号を示し、a
j(t)は音源と受音点間の距離を示す。上式(9),(10)は、サンプリング周波数F
s(Hz)で離散化することにより、次式(11),(12)のように表される。
上式(11),(12)のwj[n]は、離散的な時間nにおいて音源と受音点の間の距離aj[n]に応じて振幅変化および時間伸長する時間信号であり、音源と受音点間の距離が急速に変化する場合にはドップラー効果も含まれる。
ところで、上式(12)の右辺におけるs[n−aj[n]Fs/vc]のサンプル点(n−aj[n]Fs/vc)は、実数になる。このような実数のサンプル点における音源信号s[n−aj[n]Fs/vc]の値について、非特許文献3は、ラグランジェ補間法などにより計算する手法を提案している。しかし、上記のような従来の手法によると、計算コストがかかるという課題がある。
そこで、本実装例では、式(12)におけるs[n−a
j[n]F
s/v
c]を補間計算する代わりに、サンプル点(n−a
j[n]F
s/v
c)の小数点以下を四捨五入して丸めるという方法を採用する。本方法によると、式(12)は次式(13)のように計算される。
空間音響生成装置100における制御部106は、上式(13)に従い、発音体の移動に応じた遅延を有するサンプル点(n−aj[n]Fs/vc)に対してround関数による端数処理を行う。制御部106は、例えば後述するフレーム処理により、端数処理の結果の音源信号からスピーカへの入力信号yi(t)を算出する。これにより、移動音源を再現するような入力信号yi(t)を得る際の計算コストを低減することができる。以下、上式(13)に基づくフレーム処理の一例を説明する。
式(13)における距離aj[n]は、音源(発音体)の移動に応じて1サンプル毎に変化するが、フレーム処理においては、距離計算に線形補間を用いることができる。例えば、移動速度が音速よりも充分に小さい音源に関して、距離aj[n]は一定のフレーム区間中に線形に変化すると考えられる。
本実装例のフレーム処理においては、発音体の位置に基づく距離a
j[n]の計算は各フレームの最初を基準に行われ、次のフレームの最初に至るまでの各々のサンプル位置では距離は線形に変化すると考える。この場合、フレーム番号mにおいて1フレーム内のサンプル番号kの距離a
j[m,k]は、次式(14)のように表される。
上式(14)において、a
j[m,k]=a
j[n]に対応する「n」は、1フレーム分のサンプル数Lを用いてn=(m−1)×L+kであり、β[k]=(L−k)/(L−1)である。式(13)は、フレーム処理により
と表すことができる。
本実装例において空間音響生成装置100の制御部106は、フレーム処理において、フレーム区間L毎に音源と受音点間の距離aj[m,1]を計算し、式(15)からフレーム内の移動音源の信号wj[m,k]を計算する。計算した信号wj[m,k]に基づき、制御部106は、式(11)を用いて逆フィルタを畳み込むことにより、スピーカへの入力信号yi[n]を求める。
以上の処理によると、例えば公知のOverLap Add法により移動音源について畳み込みを行った場合に想定されるようなフレーム毎のノイズを生じさせずに、スピーカへの入力信号yi[n]を得ることができる。また、処理のアルゴリズムが上記の手法よりも単純であり、計算コストを低減できる。さらに、音源の移動速度に応じてドップラー効果にも対応可能である。
以上の説明では、発音体が一つの点音源である例を説明した。発音体が複数の点音源である場合にも、各点音源ごとに式(10)を計算して重ね合わせ、式(11)を用いて逆フィルタを畳み込むことにより、スピーカへの入力信号yi[n]を求めることができる。また、発音体が振動面や非振動面を有している場合においても、発音体を点音源の集合として近似的に表すことにより、上記と同様にスピーカへの入力信号yi[n]を求められる。
また、以上の説明では、実装例の処理によって得られた移動音源の信号wj[m,k]に逆フィルタリングを適用して、境界音場制御におけるスピーカへの入力信号yi[n]を求める例を説明した。上記の処理は、境界音場制御に限らず、例えばWFS(波面合成)方式や2chステレオ方式、バイノーラル方式などの各種再生方式に適用可能である。これにより、移動音源を再現するような各種スピーカやヘッドフォンへの入力信号を生成する際の計算コストを低減することができる。
また、空間音響生成装置100において、検出部112や表示部114やスピーカアレイ116等を別筐体として表したが、これに限られず、同一筐体で構成してもよい。
また、空間音響生成装置100が、外部機器200等のクライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却してもよい。
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
また、空間音響生成装置100や外部機器200等に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
例えば、空間音響生成装置100の各装置が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)などのプロセッサおよび当該プロセッサにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアプロセッサとして実現してもよい。尚、プログラムは、後述する、コンピュータに本発明に係る方法を実行させるためのプログラム化された命令を含む、一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて空間音響生成装置100や外部機器200に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部106などには、OS(Operating System)と協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
また、このコンピュータプログラムは、空間音響生成装置100や外部機器200に対して任意のネットワーク300を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD、および、Blu−ray(登録商標)Disc等の任意の「可搬用の物理媒体」を含むものとする。
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。プログラムが、一時的でないコンピュータ読み取り可能な記録媒体に記録されたプログラム製品として本発明を構成してもよい。
記憶部106に格納される各種のデータベース等(関数ファイル106a,コンテンツファイル106b等)は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
また、空間音響生成装置100や外部機器200や検出部112や表示部114やスピーカアレイ116は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、空間音響生成装置100や外部機器200や検出部112や表示部114等は、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。
更に、装置の分散及び/又は統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散及び/又は統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。以下、本発明に係る態様を例示する。
本発明に係る第1の態様は、複数のスピーカに接続された、記憶部と制御部とを備えた空間音響生成装置である。制御部は、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆フィルタリングを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出する。逆フィルタリングは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。
第2の態様では、第1の態様の空間音響生成装置において、記憶部は、仮想的な三次元空間における発音体の位置座標から音圧の観測対象とする領域の境界までの時変の伝達特性を示す伝達関数と逆フィルタリングとによって規定される再生用信号出力関数を記憶する。移動する発音体を示す情報は、仮想的な三次元空間における発音体の音源信号と位置座標の時間関数とを含む。制御部は、発音体の音源信号および位置座標の時間関数を、再生用信号出力関数に入力して入力信号を導出する。
第3の態様では、第1の態様の空間音響生成装置において、移動する発音体を示す情報は、仮想的な三次元空間における発音体の位置座標の時間関数と発音体の音源信号とを含む。制御部は、位置座標の時間関数に基づいて、発音体の位置座標から音圧の観測対象とする領域の境界までの時変の伝達特性を示す伝達関数を算出し、伝達関数と逆フィルタリングとに基づいて、音源信号から入力信号を算出する。
第4の態様では、第2または第3の態様の空間音響生成装置において、制御部は、位置座標の時間関数を、仮想的な三次元空間における利用者と発音体との相対的な位置関係に基づいて算出する。
第5の態様では、第4の態様の空間音響生成装置において、空間音響生成装置は更に表示部を有する。制御部は表示部に仮想的な三次元空間上の発音体を表示するよう制御する。
第6の態様では、第5の態様の空間音響生成装置において、空間音響生成装置は更にボディソニックトランスデューサを有する。制御部はコンテンツ情報に応じて利用者を加振するようボディソニックトランスデューサを制御する。
第7の態様では、第2乃至第6のいずれか一つの空間音響生成装置において、制御部は、仮想的な三次元空間における利用者および/または発音体の速度に応じてドップラーシフトを再現する再生音響波面信号を演算する。
第8の態様は、第2乃至第7のいずれか一つの空間音響生成装置において、更に、発音体の移動に関する情報を検出する検出部に接続されている。制御部は、検出部の検出結果に基づいて、発音体の音源信号および位置座標の時間関数のうちの少なくとも一方を算出する。
第9の態様では、第8の空間音響生成装置において、検出部は、利用者の少なくとも一つの身体部位の動作を検出する。制御部は、検出部により検出される身体部位の動作に応じて、発音体の音源信号および位置座標の時間関数を算出する。
第10の態様は、第9の空間音響生成装置において、制御部は、検出部により検出される身体部位の動作に応じてコンテンツ情報の表示制御を行う表示制御手段を備える。表示制御手段は、空間音響生成装置の構成要素の表示部を制御してもよいし、空間音響生成装置に接続された外部構成の表示部を制御してもよい。制御部は、身体部位の動作に応じたコンテンツ情報の変化に従って、対応する発音体の音源信号および位置座標の時間関数を算出する。
第11の態様では、第10の空間音響生成装置において、検出部は、利用者の手指の動作を検出する。表示制御手段は、検出部により検出される手指の動作で指示されたコンテンツ情報の移動を伴う表示制御を行う。
第12の態様では、第10または第11の空間音響生成装置において、表示制御手段は、表示部の一例である頭部装着ディスプレイを制御して、仮想的な三次元空間においてコンテンツ情報の三次元表示制御を行う。
第13の態様では、第1乃至12のいずれか一つの空間音響生成装置において、制御部は、形成された音響波面を示す信号において再生方式を変換する再生方式変換手段を備える。
第14の態様では、第1乃至13のいずれか一つの空間音響生成装置において、制御部は、発音体の移動に応じて音源信号において端数処理を行って、端数処理の結果の音源信号から入力信号を算出する。
第15の態様は、複数のスピーカと、記憶部と、制御部とを備えた空間音響生成システムである。制御部は、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆フィルタリングを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出する。逆フィルタリングは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。
第16の態様は、複数のスピーカに接続された、記憶部と制御部とを備えたコンピュータにおいて実行される空間音響生成方法である。本方法は、制御部が、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆フィルタリングを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出するステップを含む。逆フィルタリングは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。本方法は、制御部が、入力信号に基づき各スピーカを制御するステップを含む。
第17の態様は、複数のスピーカに接続された、記憶部と制御部とを備えたコンピュータに実行させるための空間音響生成プログラムである。本プログラムは、制御部に、移動する発音体を示す情報に基づき、発音体の移動に応じて時間毎の伝達特性を変化させながら逆フィルタリングを適用して、発音体が発する音を示す音源信号から、各スピーカへの複数の入力信号を算出するステップを実行させる。逆フィルタリングは、境界音場制御において入力信号に基づきスピーカに三次元的な音響波面を形成させるように、複数のスピーカが配置された空間中の伝達特性に応じて入力信号を出力する。本プログラムは、制御部に、入力信号に基づき各スピーカを制御するステップを実行させる。