(57)【要約】【課題】演算処理量を低減可能な音響信号処理装置および音響信号処理プログラムを提供することである。【解決手段】遅延量調整部７は、複数の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延時間差をＦＦＴシフトサイズに相当する時間の整数倍に調整する。音響ブロック選択部９は、直接音Ｖ０に対応する音響ブロックを選択し、調整後の遅延時間差に基づいて複数の反射音Ｖ１，Ｖ２，…，Ｖｋに対応する音響ブロックを選択する。畳み込み演算部１０は、選択された音響ブロックおよび選択された分割ＨＲＴＦブロックを用いて、直接音Ｖ０および複数の反射音Ｖ１，Ｖ２，…，Ｖｋについての周波数領域での畳み込み演算を行い、畳み込み演算の結果を複素ベクトル加算する。時間領域変換部１１は、畳み込み演算部１０の演算結果をＩＦＦＴにより時間領域の音響信号に順次変換する。【選択図】図１
2015079131.tif 000002
【特許請求の範囲】
【請求項１】
第１の音源により放射されて受音点に到来する第１の音と少なくとも１つの第２の音源により放射されて前記第１の音から遅延して前記受音点に到来する少なくとも１つの第２の音とを混合した音を表す音響信号を出力する音響信号処理装置であって、
前記第１の音と前記第２の音との間の遅延時間差を算出する算出部と、
前記第１の音源により放射される第１の音を表す原音響信号を時間軸上で一定のシフト量ずつシフトしつつ順次時間−周波数変換することにより周波数領域の音響信号を得る第１の変換部と、
前記算出部により算出された遅延時間差を前記時間−周波数変換のシフト量に相当する時間の整数倍に調整する調整部と、
前記第１の変換部により得られた周波数領域の音響信号から前記第１の音に対応する第１の信号部分を選択し、前記調整部により調整された遅延時間差に基づいて、前記第１の変換部により得られた周波数領域の音響信号から前記第２の音に対応する第２の信号部分を選択する選択部と、
前記第１の音源から前記受音点までの第１の音響伝達関数と前記選択部により選択された第１の信号部分との第１の畳み込み演算および前記第２の音源から前記受音点までの第２の音響伝達関数と前記選択部により選択された第２の信号部分との第２の畳み込み演算を周波数領域で行い、前記第１および第２の畳み込み演算の結果の加算を行う演算部と、
前記演算部による加算の結果を時間領域の音響信号に変換する第２の変換部とを備える、音響信号処理装置。
【請求項２】
前記第１の変換部は、原音響信号から第１のサンプル数の単位ブロックを順次取得し、前記単位ブロックを含みかつ前記第１のサンプル数よりも多い第２のサンプル数の音響信号を高速フーリエ変換し、
前記第１の変換部、前記演算部および前記第２の変換部は、オーバラップセーブ法またはオーバラップアド法により前記高速フーリエ変換、前記第１および第２の畳み込み演算ならびに前記時間領域の音響信号への変換を行い、
前記高速フーリエ変換のシフト量は前記単位ブロックのサンプル数に等しい、請求項１記載の音響信号処理装置。
【請求項３】
前記第１の音響伝達関数は複数の第１の分割伝達関数を含み、前記複数の第１の分割伝達関数は、前記第１の音源から前記受音点までの時間領域の第１の音響応答特性の分割により得られた複数の第１の分割応答特性が高速フーリエ変換されることにより得られ、
前記第２の音響伝達関数は複数の第２の分割伝達関数を含み、前記複数の第２の分割伝達関数は、前記第２の音源から前記受音点までの時間領域の第２の音響応答特性の分割により得られた複数の第２の分割応答特性が高速フーリエ変換されることにより得られ、
前記選択部は、前記複数の第１の分割伝達関数の分割数に応じた数の第１の信号部分を選択し、前記複数の第２の分割伝達関数の分割数に応じた数の第２の信号部分を選択し、
前記演算部は、前記複数の第１の分割伝達関数と前記選択部により選択された複数の第１の信号部分との前記第１の畳み込み演算および前記複数の第２の分割伝達関数と前記選択部により選択された複数の第２の信号部分との前記第２の畳み込み演算を周波数領域で行う、請求項２記載の音響信号処理装置。
【請求項４】
前記第１の音は、前記第１の音源から反射することなく前記受音点に到来する直接音であり、前記第２の音は、前記第１の音源から反射しつつ到来する反射音であり、前記第２の音源は、前記反射音を仮想的に放射する仮想音源である、請求項１〜３のいずれか一項に記載の音響信号処理装置。
【請求項５】
第１の音源により放射されて受音点に到来する第１の音と少なくとも１つの第２の音源により放射されて前記第１の音から遅延して前記受音点に到来する少なくとも１つの第２の音とを混合した音を表す音響信号を出力するためにコンピュータにより実行可能な音響信号処理プログラムであって、
前記第１の音と前記第２の音との間の遅延時間差を算出する処理と、
前記第１の音源により放射される第１の音を表す原音響信号を時間軸上で一定のシフト量ずつシフトしつつ時間−周波数変換することにより周波数領域の音響信号を得る処理と、
前記算出された遅延時間差を前記時間−周波数変換のシフト量に相当する時間の整数倍に調整する処理と、
前記周波数領域の音響信号から前記第１の音に対応する第１の信号部分を選択し、前記調整された遅延時間差に基づいて、前記周波数領域の音響信号から前記第２の音に対応する第２の信号部分を選択する処理と、
前記第１の音源から前記受音点までの第１の音響伝達関数と前記選択された第１の信号部分との第１の畳み込み演算および前記第２の音源から前記受音点までの第２の音響伝達関数と前記選択された第２の信号部分との第２の畳み込み演算を周波数領域で行い、前記第１および第２の畳み込み演算の結果の加算を行う処理と、
前記加算の結果を時間領域の音響信号に変換する処理とを、
前記コンピュータに実行させる、音響信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響空間における音を再現するための音響信号を出力する音響信号処理装置および音響信号処理プログラムに関する。
【背景技術】
【０００２】
コンサートホールまたは劇場等の音響空間における音響効果をリスニングルームにおいて再現するための種々の技術が開発されている（特許文献１〜３参照）。
【０００３】
音響空間内の音源から放射された音は、受聴者に直接到達するとともに、音響空間の壁または天井等により１回または複数反射した後に到達する。複数の反射音は、直接音に対してそれぞれの音線経路の長さに応じた遅延時間をもって受聴者に到来する。リスニングルームにおいて音響空間の音響効果を再現するために、音響空間内での複数の反射音と同じ遅延時間を有する複数の反射音が再生される。特許文献１に記載された反射音抽出装置では、予め記憶された複数の反射音と音楽信号とを畳み込むことにより音場が再現される。特許文献２に記載された残響付与装置では、発音点から受音点の方向が発音点の向きとして特定され、特定された発音点の向きを反映させたインパルス応答と音響効果を付与すべき音響信号との畳み込み演算が行われる。特許文献３に記載された残響付与装置では、発音点および受音点の指向特性等に応じて求められた音線合成ベクトルからインパルス応答が特定され、このインパルス応答が音響信号に畳み込み演算される。
【０００４】
また、仮想的な音響空間における反射音を再現するためには、異なる遅延時間を有する複数の反射音の音響信号と頭部伝達関数との畳み込み演算を行うことが考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−４６１９３号公報
【特許文献２】特許第４０６２９５９号
【特許文献３】特許第４４６４０６４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、実際の音響空間または仮想的な音響空間における複数の反射音を再現するためには、それぞれ異なる遅延時間を有する複数の音響信号とインパルス応答または頭部伝達関数との畳み込み演算を行う必要がある。
【０００７】
しかしながら、多数の反射音に対応する多数の音響信号が存在するため、畳み込み演算の処理量が増大する。その場合、リアルタイムな音響信号の入力に対して演算処理が遅れないように、高速動作が可能な演算処理装置を用いる必要がある。それにより、コストが増加するとともにシステムの小型化が困難となる。一方、比較的安価な演算処理装置を用いた場合には、音響信号のリアルタイムの入力に演算処理が遅れないように、音の再現精度を低下させざるを得ない。
【０００８】
本発明の目的は、演算処理量を低減可能な音響信号処理装置および音響信号処理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
（１）本発明に係る音響信号処理装置は、第１の音源により放射されて受音点に到来する第１の音と少なくとも１つの第２の音源により放射されて第１の音から遅延して受音点に到来する少なくとも１つの第２の音とを混合した音を表す音響信号を出力する音響信号処理装置であって、第１の音と第２の音との間の遅延時間差を算出する算出部と、第１の音源により放射される第１の音を表す原音響信号を時間軸上で一定のシフト量ずつシフトしつつ順次時間−周波数変換することにより周波数領域の音響信号を得る第１の変換部と、算出部により算出された遅延時間差を時間−周波数変換のシフト量に相当する時間の整数倍に調整する調整部と、第１の変換部により得られた周波数領域の音響信号から第１の音に対応する第１の信号部分を選択し、調整部により調整された遅延時間差に基づいて、第１の変換部により得られた周波数領域の音響信号から第２の音に対応する第２の信号部分を選択する選択部と、第１の音源から受音点までの第１の音響伝達関数と選択部により選択された第１の信号部分との第１の畳み込み演算および第２の音源から受音点までの第２の音響伝達関数と選択部により選択された第２の信号部分との第２の畳み込み演算を周波数領域で行い、第１および第２の畳み込み演算の結果の加算を行う演算部と、演算部による加算の結果を時間領域の音響信号に変換する第２の変換部とを備えるものである。
【００１０】
この音響信号処理装置においては、第１の音源に対応する第１の音と少なくとも１つの第２の音源に対応する少なくとも１つの第２の音との間の遅延時間差が算出される。さらに、算出された遅延時間差が時間−周波数変換のシフト量に相当する時間の整数倍に調整される。
【００１１】
第１の音を表す原音響信号が時間軸上で一定のシフト量ずつシフトされつつ順次時間−周波数変換されることにより周波数領域の音響信号が得られる。周波数領域の音響信号から第１の音に対応する第１の信号部分が選択され、調整された遅延時間差に基づいて、第２の音に対応する第２の信号部分が選択される。第１の音響伝達関数と第１の信号部分との第１の畳み込み演算および第２の音響伝達関数と第２の信号部分との第２の畳み込み演算が周波数領域で行われ、第１および第２の畳み込み演算の結果の加算が行われる。加算の結果が時間領域の音響信号に変換される。
【００１２】
この場合、周波数領域の音響信号における第１の信号部分と第２の信号部分との間の遅延時間差は時間−周波数変換のシフト量に相当する時間の整数倍であるため、第２の信号部分として、以前の時間−周波数変換により既に得られている第１の信号部分を用いることができる。そのため、第２の信号部分を得るための時間−周波数変換が不要である。また、第１および第２の畳み込み演算の結果の加算が周波数領域で行われるので、原音響信号の１つの信号部分（第１または第２の信号部分）当たり、音響ブロック周波数領域から時間領域への１回の変換により時間領域の音響信号を得ることができる。それにより、演算回数を低減することができる。その結果、受音点に到来する音を表す音響信号を出力するための演算処理における処理量を低減することが可能となる。
【００１３】
（２）第１の変換部は、原音響信号から第１のサンプル数の単位ブロックを順次取得し、単位ブロックを含みかつ第１のサンプル数よりも多い第２のサンプル数の音響信号を高速フーリエ変換し、第１の変換部、演算部および第２の変換部は、オーバラップセーブ法またはオーバラップアド法により高速フーリエ変換、第１および第２の畳み込み演算ならびに時間領域の音響信号への変換を行い、高速フーリエ変換のシフト量は単位ブロックのサンプル数に等しくてもよい。
【００１４】
この場合、単位ブロックのサイズを小さくすることにより、遅延時間差の調整による誤差および畳み込み演算における遅延時間を低減することができる。それにより、受音点に到来する音を高い精度で再現することができる。
【００１５】
（３）第１の音響伝達関数は複数の第１の分割伝達関数を含み、複数の第１の分割伝達関数は、第１の音源から受音点までの時間領域の第１の音響応答特性の分割により得られた複数の第１の分割応答特性が高速フーリエ変換されることにより得られ、第２の音響伝達関数は複数の第２の分割伝達関数を含み、複数の第２の分割伝達関数は、第２の音源から受音点までの時間領域の第２の音響応答特性の分割により得られた複数の第２の分割応答特性が高速フーリエ変換されることにより得られ、選択部は、複数の第１の分割伝達関数の分割数に応じた数の第１の信号部分を選択し、複数の第２の分割伝達関数の分割数に応じた数の複数の第２の信号部分を選択し、演算部は、複数の第１の分割伝達関数と選択部により選択された複数の第１の信号部分との第１の畳み込み演算および複数の第２の分割伝達関数と選択部により選択された複数の第２の信号部分との第２の畳み込み演算を周波数領域で行ってもよい。
【００１６】
この場合、各第１の信号部分のサイズが小さくなり、各第２の信号部分のサイズが小さくなる。それにより、時間領域の音響信号を高速フーリエ変換する際の演算回数が低減される。したがって、受音点に到来する音を表す音響信号を出力するための演算処理における処理量をより低減することが可能となる。
【００１７】
また、単位ブロックのサイズを小さくすることができるので、遅延時間差の調整による誤差および畳み込み演算における遅延時間を低減することができる。それにより、受音点に到来する音をより高い精度で再現することができる。
【００１８】
（４）第１の音は、第１の音源から反射することなく受音点に到来する直接音であり、第２の音は、第１の音源から反射しつつ到来する反射音であり、第２の音源は、反射音を仮想的に放射する仮想音源であってもよい。
【００１９】
この場合、実際の音響空間または仮想的な音響空間において受音点に到来する音を再現することが可能となる。
【００２０】
（５）本発明に係る音響信号処理プログラムは、第１の音源により放射されて受音点に到来する第１の音と少なくとも１つの第２の音源により放射されて第１の音から遅延して受音点に到来する少なくとも１つの第２の音とを混合した音を表す音響信号を出力するためにコンピュータにより実行可能な音響信号処理プログラムであって、第１の音と第２の音との間の遅延時間差を算出する処理と、第１の音源により放射される第１の音を表す原音響信号を時間軸上で一定のシフト量ずつシフトしつつ時間−周波数変換することにより周波数領域の音響信号を得る処理と、算出された遅延時間差を時間−周波数変換のシフト量に相当する時間の整数倍に調整する処理と、周波数領域の音響信号から第１の音に対応する第１の信号部分を選択し、調整された遅延時間差に基づいて、周波数領域の音響信号から第２の音に対応する第２の信号部分を選択する処理と、第１の音源から受音点までの第１の音響伝達関数と選択された第１の信号部分との第１の畳み込み演算および第２の音源から受音点までの第２の音響伝達関数と選択された第２の信号部分との第２の畳み込み演算を周波数領域で行い、第１および第２の畳み込み演算の結果の加算を行う処理と、加算の結果を時間領域の音響信号に変換する処理とを、コンピュータに実行させるものである。
【００２１】
この音響信号処理プログラムによれば、周波数領域の音響信号における第１の信号部分と第２の信号部分との間の遅延時間差は時間−周波数変換のシフト量に相当する時間の整数倍であるため、第２の信号部分として、以前の時間−周波数変換により既に得られている第１の信号部分を用いることができる。そのため、第２の信号部分を得るための時間−周波数変換が不要である。また、第１および第２の畳み込み演算の結果の加算が周波数領域で行われるので、原音響信号の１つの信号部分（第１または第２の信号部分）当たり、周波数領域から時間領域への１回の変換により時間領域の音響信号を出力することができる。それにより、演算回数を低減することができる。その結果、受音点に到来する音を表す音響信号を出力するための演算処理における処理量を低減することが可能となる。
【発明の効果】
【００２２】
本発明によれば、受音点に到来する音を表す音響信号を出力するための演算処理における処理量を低減することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施の形態に係る音響信号処理装置の構成を示す機能ブロック図である。
【図２】仮想的な音響空間を示す模式図である。
【図３】図１の音響信号処理装置のハードウエア構成の一例を示すブロック図である。
【図４】時間領域の頭部インパルス応答および周波数領域の頭部伝達関数の説明図である。
【図５】ＨＲＴＦデータベースに格納される複数組の分割ＨＲＴＦブロックを示す模式図である。
【図６】時間領域の原音響信号および周波数領域の音響ブロックの説明図である。
【図７】直接音および反射音に対応する頭部インパルス応答、頭部伝達関数、調整前の遅延量、調整後の遅延量および遅延ブロック数を示す図である。
【図８】周波数領域での分割ＨＲＴＦブロックと音響ブロックとの畳み込み演算を示す図である。
【図９】時間領域での音響信号のつなぎ合わせを示す図である。
【図１０】図１の音響信号処理装置により行われる音響信号処理を示すフローチャートである。
【図１１】畳み込み演算処理の詳細を示すフローチャートである。
【図１２】参考形態に係る畳み込み演算処理における周波数領域での分割ＨＲＴＦブロックと音響ブロックとの畳み込み演算を示す図である。
【図１３】参考形態に係る畳み込み演算処理の詳細を示すフローチャートである。
【図１４】分割オーバラップアド法を用いた場合の時間領域の原音響信号および周波数領域の音響ブロックの説明図である。
【図１５】分割オーバラップアド法を用いた場合の時間領域での音響信号のつなぎ合わせを示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態に係る音響信号処理装置および音響信号プログラムについて図面を用いて詳細に説明する。
【００２５】
（１）音響信号処理装置の機能的な構成
図１は本発明の一実施の形態に係る音響信号処理装置の構成を示す機能ブロック図である。図２は仮想的な音響空間を示す模式図である。図３は図１の音響信号処理装置のハードウエア構成の一例を示すブロック図である。
【００２６】
図１の音響信号処理装置１００は、仮想的な音響空間（以下、仮想空間と呼ぶ）内で受音点に到来する音を表す音響信号を出力する。ここで、図２を参照して仮想空間の一例を説明する。
【００２７】
図２において、仮想空間３００内に主音源Ｓ０および受音点Ｒが配置される。仮想空間３００、主音源Ｓ０および受音点Ｒはコンピュータプログラム上で仮想的に作成される。主音源Ｓ０から音が前後、左右および上下の３次元方向に放射される。主音源Ｓ０から放射された音は、受音点Ｒに直接音Ｖ０として到達するとともに、仮想空間３００の壁または天井等により１回または複数回反射され、受音点Ｒに複数の反射音Ｖ１，Ｖ２，Ｖ３，Ｖ４，…，Ｖｋとして到達する。ここで、ｋは自然数であり、反射音の数を表す。図２では、複数の反射音Ｖ１，Ｖ２，Ｖ３，Ｖ４，…，Ｖｋの方向が２次元方向で表されているが、複数の反射音Ｖ１，Ｖ２，Ｖ３，Ｖ４，…，Ｖｋの方向が３次元方向で表されてもよい。
【００２８】
複数の反射音Ｖ１，Ｖ２，Ｖ３，Ｖ４，…，Ｖｋは、等価的にそれぞれ仮想音源Ｓ１，Ｓ２，Ｓ３，Ｓ４，…，Ｓｋから放射されるものとみなすことができる。仮想音源Ｓ１，Ｓ２，Ｓ３，Ｓ４，…，Ｓｋは、受音点Ｒから反射音Ｖ１，Ｖ２，Ｖ３，Ｖ４，…，Ｖｋの入射方向と逆方向に向かう直線上に位置する。受音点Ｒと仮想音源Ｓ１，Ｓ２，Ｓ３，Ｓ４，…，Ｓｋとの間の距離は、反射音Ｖ１，Ｖ２，Ｖ３，Ｖ４，…，Ｖｋが主音源Ｓ０から受音点Ｒに到達するまでの経路の長さに等しい。
【００２９】
以下、主音源Ｓ０から放射された音が直接音Ｖ０として受音点Ｒに到達するまでの時間を遅延量と呼ぶ。同様に、主音源Ｓ０から放射された音が反射音Ｖ１，Ｖ２，…，Ｖｋとして受音点Ｒに到達するまでの時間を遅延量と呼ぶ。反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量は、直接音Ｖ０の遅延量よりも大きい。反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量と直接音Ｖ０の遅延量との差を遅延時間差と呼ぶ。
【００３０】
受音点Ｒに到来する音の方向ごとに周波数領域の頭部伝達関数（ＨＲＴＦ；Head-Related Transfer Function）が予め求められる。すなわち、複数の方向に対応する複数の頭部伝達関数が予め求められる。ここで、受音点Ｒに到来する音の方向が３次元方向で表されている場合、複数の３次元方向にそれぞれ対応する頭部伝達関数が予め求められる。受音点Ｒでの直接音Ｖ０の到来方向に対応する頭部伝達関数は、主音源Ｓ０から受音点Ｒまでの音の伝達特性を示す。受音点Ｒでの反射音Ｖ１，Ｖ２，…，Ｖｋの到来方向に対応する頭部伝達関数は、それぞれ仮想音源Ｓ１，Ｓ２，…，Ｓｋから受音点Ｒまでの音の伝達特性を示す。これらの頭部伝達関数は、後述するように受音点Ｒに到来する音を表す音響信号を算出するために用いられる。
【００３１】
図１において、音響信号処理装置１００は、部屋形状指示部１、主音源位置指示部２、頭部伝達関数データベース（以下、ＨＲＴＦデータベースと呼ぶ）３、および頭部伝達関数ブロック選択部（以下、ＨＲＴＦブロック選択部と呼ぶ）４を含む。また、音響信号処理装置１００は、仮想音源位置算出部５、遅延量算出部６、遅延量調整部７、遅延ブロック数算出部８、および音響ブロック選択部９を含む。さらに、音響信号処理装置１００は、畳み込み演算部１０、時間領域変換部１１、音響信号出力部１２、音響信号入力部１３、周波数領域変換部１４、および周波数領域音響バッファ１５を含む。音響信号処理装置１００の全体は同一のサンプリング周波数で動作する。音響信号処理装置１００の全体のサンプリング周波数をサンプリング周波数ｆｓと表記する。サンプリング周波数ｆｓは、例えば４８ｋＨｚである。
【００３２】
部屋形状指示部１は、仮想空間の形状（以下、部屋形状と呼ぶ）を指示する部屋データを出力する。例えば、部屋形状指示部１は、ユーザが画面上でマウス等の入力装置を用いて描画した部屋形状を示す部屋データを出力し、または予め準備された複数の部屋形状のうちユーザにより選択された部屋形状を示す部屋データを出力する。あるいは、部屋形状指示部１は、プログラム上で動的に部屋データを出力してもよい。例えば、ビデオゲームにおいてキャラクターの位置によりプログラムが適切な部屋データを選択してもよい。この場合、ビデオゲームのプログラムの一部が部屋形状指示部１に相当する。
【００３３】
主音源位置指示部２は、仮想空間内での主音源Ｓ０の位置を示す位置データを出力する。例えば、主音源位置指示部２は、ユーザが画面上で描画した部屋形状を有する仮想空間内での主音源Ｓ０の位置を示す位置データを出力する。あるいは、主音源位置指示部２は、プログラム上で動的に位置データを出力してもよい。例えば、ビデオゲームにおけるキャラクターの位置を示す位置データをプログラムが出力してもよい。この場合、ビデオゲームのプログラムの一部が主音源位置指示部２に相当する。主音源Ｓ０の位置データは、例えば、受音点Ｒから主音源Ｓ０へ向かう方向および受音点Ｒから主音源Ｓ０までの距離を表すベクトルデータからなる。
【００３４】
仮想音源位置算出部５は、部屋形状指示部１から出力される部屋データおよび主音源位置指示部２から出力される位置データに基づいて、受音点Ｒに到来する複数の反射音Ｖ１，Ｖ２，…，Ｖｋを仮想的に放射する複数の仮想音源Ｓ１，Ｓ２，…，Ｓｋの位置を算出する。仮想音源位置算出部５からは、複数の仮想音源Ｓ１，Ｓ２，…，Ｓｋの位置を示す位置データが出力される。仮想音源Ｓ１，Ｓ２，…，Ｓｋの位置データは、例えば、受音点Ｒから仮想音源Ｓ１，Ｓ２，…，Ｓｋへ向かう方向と受音点Ｒから仮想音源Ｓ１，Ｓ２，…，Ｓｋまでの距離とを表すベクトルデータからなる。また、仮想音源位置算出部５は、直接音Ｖ０に対する複数の反射音Ｖ１，Ｖ２，…，Ｖｋの振幅減衰量を算出する。振幅減衰量は、各反射音Ｖ１，Ｖ２，…，Ｖｋごとに、音の経路の長さ（距離）、反射の回数および各反射面の吸音率等に基づいて算出される。なお、振幅減衰量の算出処理が音の周波数帯域により異なるように行われてもよい。
【００３５】
遅延量算出部６は、主音源位置指示部２から出力される位置データに基づいて直接音Ｖ０の遅延量を算出するとともに、仮想音源位置算出部５から出力される位置データに基づいて複数の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量をそれぞれ算出する。ここで、複数の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量と直接音Ｖ０の遅延量との差を遅延時間差と呼ぶ。
【００３６】
遅延量調整部７は、複数の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延時間差がサンプリング周波数ｆｓとＦＦＴ（高速フーリエ変換）シフトサイズとにより定まる時間の整数倍になるように複数の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量を調整する。なお、ＦＦＴシフトサイズについては後述する。具体的には、各反射音の遅延時間差がＦＦＴシフトサイズをサンプリング周波数ｆｓで除算することにより得られる時間の整数倍になるように各反射音の遅延量が調整される。この場合、調整後の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量と調整前の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量と間の誤差が最小となるように整数が選択される。
【００３７】
遅延ブロック数算出部８は、複数の反射音Ｖ１，Ｖ２，…，Ｖｋについての遅延ブロック数を算出する。ここで、遅延ブロック数とは、調整後の遅延時間差に相当する単位ブロック（フレーム）の数である。単位ブロックとは、一度に処理される音響信号のサンプル（すなわち音響信号の処理単位）である。本実施の形態では、単位ブロックはＮサンプルからなる。Ｎは自然数である。
【００３８】
音響信号入力部１３は、時間領域の音響信号を入力する。例えば、音響信号入力部１３は、外部機器またはマイクロフォンから音響入力端子に与えられるアナログの音響信号をサンプリング周波数ｆｓでデジタルの音響信号に変換する。あるいは、音響信号入力部１３は、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体に記憶されたデジタルの音響信号を入力する。以下、音響信号入力部１３により入力された時間領域の音響信号を原音響信号と呼ぶ。原音響信号のサンプリング周波数はｆｓである。
【００３９】
周波数領域変換部１４は、音響信号入力部１３により入力された原音響信号をＦＦＴ（高速フーリエ変換）により周波数領域の音響信号の信号部分に順次変換する。以下、周波数領域の音響信号の信号部分を音響ブロックと呼ぶ。周波数領域変換部１４により変換された音響ブロックは、周波数領域音響バッファ１５に順次格納される。
【００４０】
音響ブロック選択部９は、遅延ブロック数算出部８により算出された遅延ブロック数に基づいて、周波数領域音響バッファ１５に格納された音響ブロックから、直接音Ｖ０および複数の反射音Ｖ１，Ｖ２，…，Ｖｋに対応する音響ブロックを選択する。
【００４１】
一方、ＨＲＴＦデータベース３には、周波数領域の複数組の分割頭部伝達関数（以下、分割ＨＲＦＴブロックと呼ぶ)が予め格納される。分割ＨＲＴＦブロックの詳細については後述する。複数組の分割ＨＲＴＦブロックは、受音点Ｒに到来する音の複数の方向に対応して予め準備されている。受音点Ｒに到来する音の方向が３次元方向で表される場合、複数組の分割ＨＲＴＦブロックはそれぞれ３次元方向に対応する。
【００４２】
ＨＲＴＦブロック選択部４は、主音源位置指示部２および仮想音源位置算出部５から出力される位置データに基づいて、ＨＲＴＦデータベース３に格納される複数組の分割ＨＲＴＦブロックから、直接音Ｖ０および複数の反射音Ｖ１，Ｖ２，Ｖ３，…，Ｖｋに対応する分割ＨＲＴＦブロックを選択する。
【００４３】
畳み込み演算部１０は、音響ブロック選択部９により選択された音響ブロックおよびＨＲＴＦブロック選択部４により選択された分割ＨＲＴＦブロックを用いて、直接音Ｖ０および複数の反射音Ｖ１，Ｖ２，…，Ｖｋについての周波数領域での畳み込み演算を行い、畳み込み演算の結果を複素ベクトル加算する。この場合、畳み込み演算部１０は、仮想音源位置算出部５により算出された振幅減衰量に基づいて音響ブロックにおける各周波数成分の振幅を調整する。
【００４４】
時間領域変換部１１は、畳み込み演算部１０の演算結果をＩＦＦＴ（逆高速フーリエ変換）により時間領域の音響信号に順次変換する。
【００４５】
音響信号出力部１２は、時間領域変換部１１により変換されたサンプリング周波数ｆｓの音響信号を出力する。例えば、音響信号出力部１２は、サンプリング周波数ｆｓのデジタルの音響信号をアナログの音響信号に変換し、音響出力端子を通してヘッドフォンまたはスピーカにアナログの音響信号を出力する。それにより、ヘッドフォンまたはスピーカから音が発生される。
【００４６】
本実施の形態では、分割ＨＲＴＦブロックを用いたオーバラップセーブ（Overlap-Save）法により周波数領域での畳み込み演算が行われる。以下、分割ＨＲＴＦブロックを用いたオーバラップセーブ法を分割オーバラップセーブ法と呼ぶ。
【００４７】
（２）音響信号処理装置のハードウエア構成
図３は音響信号処理装置１００のハードウエア構成の一例を示すブロック図である。
【００４８】
図３の音響信号処理装置１００は、ＣＰＵ（中央演算処理装置）１１０、ＲＯＭ（リードオンリメモリ）１２０、ＲＡＭ（ランダムアクセスメモリ）１３０、記憶装置１４０、表示装置１５０、入力装置１６０および出力装置１７０を含む。
【００４９】
ＲＯＭ１２０は、例えば不揮発性メモリからなり、システムプログラムおよび音響信号処理プログラム等のコンピュータプログラムを記憶する。ＲＡＭ１３０は、例えば揮発性メモリからなり、ＣＰＵ１１０の作業領域として用いられるとともに、各種データを一時的に記憶する。ＣＰＵ１１０は、ＲＯＭ１２０に記憶された音響信号処理プログラムをＲＡＭ１３０上で実行することにより後述する音響信号処理を行う。この場合、図１の各構成要素の機能が実現される。
【００５０】
記憶装置１４０は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含む。この記憶装置１４０には、図１のＨＲＴＦデータベース３および周波数領域音響バッファ１５が構成される。上記の音響信号処理プログラムが記憶装置１４０に記憶されてもよい。また、例えば、図１の音響信号処理装置１００がビデオゲームのプログラムの一部として構成される場合、ビデオゲームのプログラムが記憶装置１４０に記憶されてもよい。
【００５１】
なお、本実施の形態における音響信号処理プログラムは、コンピュータが読み取り可能な記録媒体に格納された形態で提供されてＲＯＭ１２０または記憶装置１４０にインストールされてもよく、通信網を介した配信の形態で提供されてＲＯＭ１２０または記憶装置１４０にインストールされてもよい。
【００５２】
表示装置１５０は、液晶表示装置、有機ＥＬ（エレクトロルミネッセンス）表示装置またはプラズマディスプレイ装置等からなる。入力装置１６０は、マウス、キーボード、および音響入力端子等を含む。入力装置１６０がビデオゲーム用のコントローラであってもよい。
【００５３】
表示装置１５０および入力装置１６０は、例えばユーザが画面上で部屋形状および主音源の位置を指示するために用いられる。表示装置１５０および入力装置１６０がタッチパネルとして一体化されてもよい。
【００５４】
出力装置１７０は、音響出力端子およびヘッドフォン等を含む。出力装置１７０がスピーカを含んでもよい。出力装置１７０の音響出力端子からは音響信号処理により得られた音響信号が出力される。
【００５５】
音響信号処理装置１００は、ＣＰＵ１１０の代わりにＤＳＰ（Digital Signal Processor）を備えてもよく、またはＣＰＵ１１０に加えてＤＳＰを備えてもよい。また、図１の各構成要素の一部または全てが電子回路等のハードウエアにより構成されてもよい。
【００５６】
（３）頭部伝達関数
図４は時間領域の頭部インパルス応答および周波数領域の頭部伝達関数の説明図である。
【００５７】
直接音Ｖ０に対応する時間領域の頭部インパルス応答（ＨＲＩＲ；；Head-Related Impulse Response）ｈ０がＭ個の部分（以下、分割ＨＲＩＲブロックと呼ぶ）に分割される。Ｍは自然数である。図４の例では、頭部インパルス応答ｈ０が時間軸上で４つの分割ＨＲＩＲブロックｈ０，０，ｈ０，１，ｈ０，２，ｈ０，３に分割される。各分割ＨＲＩＲブロックｈ０，０，ｈ０，１，ｈ０，２，ｈ０，３はＮサンプルからなる。頭部インパルス応答のサンプリング周波数は原音響信号のサンプリング周波数ｆｓと等しい。
【００５８】
分割ＨＲＩＲブロックｈ０，０の後にＮサンプルの０が付加され、０を含む２ＮサンプルがＦＦＴにより周波数領域の分割ＨＲＴＦブロックＨ０，０に変換される。同様に、分割ＨＲＩＲブロックｈ０，１，ｈ０，２，ｈ０，３を用いて周波数領域の分割ＨＲＴＦブロックＨ０，１，Ｈ０，２，Ｈ０，３がそれぞれ得られる。
【００５９】
なお、分割ＨＲＩＲブロックｈ０，０，ｈ０，１，ｈ０，２，ｈ０，３の前にそれぞれＮサンプルの０が付加されてもよい。
【００６０】
同様にして、反射音Ｖ１，Ｖ２，…，Ｖｋの各々の方向に対応する時間領域の頭部インパルス応答がＭ個の分割ＨＲＩＲブロックに分割され、Ｍ個の分割ＨＲＩＲブロックがＦＦＴによりＭ個の周波数領域の分割ＨＲＴＦブロックに変換される。
【００６１】
図５はＨＲＴＦデータベース３に格納される複数組の分割ＨＲＴＦブロックを示す模式図である。
【００６２】
図５に示すように、ＨＲＴＦデータベース３には、ｋ個の方向に対応するｋ組の分割ＨＲＴＦブロックが予め格納されている。分割ＨＲＴＦブロックＨ０，０，Ｈ０，１，Ｈ０，２，Ｈ０，３は直接音Ｖ０の方向に対応する。分割ＨＲＴＦブロックＨ１，０，Ｈ１，１，Ｈ１，２，Ｈ１，３は反射音Ｖ１の方向に対応する。分割ＨＲＴＦブロックＨ２，０，Ｈ２，１，Ｈ２，２，Ｈ２，３は反射音Ｖ２の方向に対応する。分割ＨＲＴＦブロックＨｋ，０，Ｈｋ，１，Ｈｋ，２，Ｈｋ，３は反射音Ｖｋの方向に対応する。
【００６３】
（４）音響ブロック
図６は時間領域の原音響信号および周波数領域の音響ブロックの説明図である。図６において、時間は右から左へ経過する。
【００６４】
原音響信号ＶＩＮにおいて、単位ブロックｖｎが現在入力されている。単位ブロックｖｎ−１，ｖｎ−２，ｖｎ−３，ｖｎ−４は、それぞれ１回前、２回前、３回前および４回前に入力された単位ブロックである。各単位ブロックｖｎ，ｖｎ−１，ｖｎ−２，ｖｎ−３，ｖｎ−４のサイズはＮサンプルである。
【００６５】
単位ブロックｖｎ，ｖｎ−１からなる信号部分ｘｎがＦＦＴにより周波数領域の音響ブロックＸｎに変換される。同様に、単位ブロックｖｎ−１，ｖｎ−２からなる信号部分ｘｎ−１がＦＦＴにより周波数領域の音響ブロックＸｎ−１に変換され、単位ブロックｖｎ−２，ｖｎ−３からなる信号部分ｘｎ−２がＦＦＴにより周波数領域の音響ブロックＸｎ−２に変換され、単位ブロックｖｎ−３，ｖｎ−４からなる信号部分ｘｎ−３がＦＦＴにより周波数領域の音響ブロックＸｎ−３に変換される。音響ブロックＸｎ，Ｘｎ−１，Ｘｎ−２，Ｘｎ−３は図１の周波数領域音響バッファ１５に順次格納される。
【００６６】
ここで、１度のＦＦＴで処理される信号部分のサイズをＦＦＴサイズと呼ぶ。図６の例では、ＦＦＴサイズは２Ｎサンプルである。また、時間軸上で各ＦＦＴの対象である単位ブロックとその前のＦＦＴの対象である単位ブロックとのずれ量をＦＦＴシフトサイズと呼ぶ。図６の例では、ＦＦＴシフトサイズＳＳはＮサンプルであり、単位ブロックのサイズに等しい。この場合、ＦＦＴサイズはＦＦＴシフトサイズＳＳの２倍となっている。なお、ＦＦＴサイズとＦＦＴシフトサイズＳＳとの関係は、本例に限定されず、ＦＦＴサイズがＦＦＴシフトサイズＳＳの２倍以外（例えば４倍）のサイズであってもよい。
【００６７】
（５）遅延量の調整
図７は直接音Ｖ０および反射音Ｖ１，Ｖ２，…，Ｖｋに対応する頭部インパルス応答、分割ＨＲＴＦブロック、調整前の遅延量、調整後の遅延量および遅延ブロック数を示す図である。図７において、Ｍ１，Ｍ２，…Ｍｋは整数である。
【００６８】
直接音Ｖ０には、時間領域の頭部インパルス応答ｈ０および周波数領域の１組の分割ＨＲＴＦブロックＨ０，０，Ｈ０，１，Ｈ０，２，Ｈ０，３が対応する。直接音Ｖ０の調整前の遅延量はｄ０であり、調整後の遅延量もｄ０であり、遅延ブロック数は０である。
【００６９】
反射音Ｖ１には、時間領域の頭部インパルス応答ｈ１および周波数領域の１組の分割ＨＲＴＦブロックＨ１，０，Ｈ１，１，Ｈ１，２，Ｈ１，３が対応する。反射音Ｖ１の調整前の遅延量はｄ１である。図１の遅延量調整部７は、反射音Ｖ１の遅延量をｄ０＋Ｍ１×ＳＳ／ｆｓに調整する。この場合、遅延ブロック数はＭ１である。
【００７０】
同様に、反射音Ｖ２には、時間領域の頭部インパルス応答ｈ２および周波数領域の１組の分割ＨＲＴＦブロックＨ２，０，Ｈ２，１，Ｈ２，２，Ｈ２，３が対応する。反射音Ｖ２の調整前の遅延量はｄ２であり、調整後の遅延量はｄ０＋Ｍ２×ＳＳ／ｆｓであり、遅延ブロック数はＭ２である。また、反射音Ｖｋには、時間領域の頭部インパルス応答ｈｋおよび周波数領域の１組の分割ＨＲＴＦブロックＨｋ，０，Ｈｋ，１，Ｈｋ，２，Ｈｋ，３が対応する。反射音Ｖｋの調整前の遅延量はｄｋであり、調整後の遅延量はｄ０＋Ｍｋ×ＳＳ／ｆｓであり、遅延ブロック数はＭｋである。
【００７１】
本例では、反射音Ｖ１，Ｖ２，…，Ｖｋの遅延時間差は、Ｍ１×ＳＳ／ｆｓ、Ｍ２×ＳＳ／ｆｓおよびＭｋ×ＳＳ／ｆｓにそれぞれ調整される。すなわち、反射音Ｖ１，Ｖ２，…，Ｖｋの遅延時間差がＦＦＴシフトサイズＳＳに相当する時間の整数倍に調整される。
【００７２】
（６）周波数領域での畳み込み演算
図８は周波数領域での分割ＨＲＴＦブロックと音響ブロックとの畳み込み演算を示す図である。図８において、時間は右から左に経過する。
【００７３】
時間軸の左端部が現時点で入力されている原音響信号ＶＩＮの部分である。現時点では、図６に示したように、原音響信号ＶＩＮの２Ｎサンプルの部分がＦＦＴにより音響ブロックＸｎに変換される。音響ブロックＸｎ−１，Ｘｎ−２，…，Ｘｎ−１２は、既に図１の周波数領域音響バッファ１５に格納されている。
【００７４】
図８の例では、反射音Ｖ１の遅延時間差ＤＬ１はＦＦＴシフトサイズＳＳに相当する時間の３倍であり、遅延ブロック数Ｍ１は３である。反射音Ｖｋの遅延時間差ＤＬｋはＦＦＴシフトサイズＳＳに相当する時間の９倍であり、遅延ブロック数Ｍｋは９である。
【００７５】
図５のＨＲＴＦデータベース３に格納された複数組の分割ＨＲＴＦブロックから、直接音Ｖ０に対応する分割ＨＲＴＦブロックＨ０，０，Ｈ０，１，Ｈ０，２，Ｈ０，３が選択される。また、反射音Ｖ１に対応する分割ＨＲＴＦブロックＨ１，０，Ｈ１，１，Ｈ１，２，Ｈ１，３が選択され、反射音Ｖｋに対応する分割ＨＲＴＦブロックＨｋ，０，Ｈｋ，１，Ｈｋ，２，Ｈｋ，３が選択される。
【００７６】
直接音Ｖ０については、周波数領域で分割ＨＲＴＦブロックＨ０，０，Ｈ０，１，Ｈ０，２，Ｈ０，３と音響ブロックＸｎ，Ｘｎ−１，Ｘｎ−２，Ｘｎ−３との畳み込み演算が行われ、畳み込み演算結果Ｙ０が得られる。反射音Ｖ１については、周波数領域で分割ＨＲＴＦブロックＨ１，０，Ｈ１，１，Ｈ１，２，Ｈ１，３と（遅延ブロック数Ｍ１が３であるので）音響ブロックＸｎ−３，Ｘｎ−４，Ｘｎ−５，Ｘｎ−６との畳み込み演算が行われ、畳み込み演算結果Ｙ１が得られる。反射音Ｖｋについては、周波数領域で分割ＨＲＴＦブロックＨｋ，０，Ｈｋ，１，Ｈｋ，２，Ｈｋ，３と（遅延ブロック数Ｍｋが９であるので）音響ブロックＸｎ−９，Ｘｎ−１０，Ｘｎ−１１，Ｘｎ−１２との畳み込み演算が行われ、畳み込み演算結果Ｙｋが得られる。畳み込み演算の詳細については後述する。
【００７７】
図１の仮想音源位置算出部５により反射音Ｖ１について算出された振幅減衰量に応じたゲインが畳み込み演算結果Ｙ１に乗算される。同様に、反射音Ｖｋについて算出された振幅減衰量に応じたゲインが畳み込み演算結果Ｙｋに乗算される。それにより、畳み込み演算結果Ｙ１，…，Ｙｋの振幅が調整される。なお、振幅減衰量が０の場合にはゲインは１となる。畳み込み演算結果Ｙ０および振幅調整後の畳み込み演算結果Ｙ１，…，Ｙｋが複素ベクトル加算され、加算結果がＩＦＦＴにより時間領域の音響信号ｙｎに変換される。
【００７８】
図９は時間領域での音響信号のつなぎ合わせを示す図である。図９に示すように、今回の処理で得られた音響信号ｙｎの前半部分のＮサンプルが破棄される。音響信号ｙｎの後半部分のＮサンプルが前回の処理で得られた音響信号ｙｎ−１の後半部分のＮサンプルとつなぎ合わさせる。この操作が順次行われることにより音響信号ＶＯＵＴが逐次出力される。
【００７９】
なお、図４に示される周波数領域の各分割ＨＲＴＦブロックの算出の際に各分割ＨＲＩＲブロックの前にそれぞれＮサンプルの０が付加された場合には、今回の処理で得られた音響信号ｙｎの後半部分のＮサンプルが破棄され、音響信号ｙｎの前半部分のＮサンプルが前回の処理で得られた音響信号ｙｎ−１の前半部分のＮサンプルとつなぎ合わさせる。
【００８０】
（７）音響信号処理装置の全体の動作
図１０は図１の音響信号処理装置１００により行われる音響信号処理を示すフローチャートである。図１０の音響信号処理は、図３のＣＰＵ１１０がＲＯＭ１２０または記憶装置１４０に記憶された音響信号処理プログラムを実行することに行われる。
【００８１】
図１の部屋形状指示部１は、部屋形状を指示する部屋データを出力する（ステップＳ１）。また、主音源位置指示部２は、指示された部屋形状を有する仮想空間内での主音源Ｓ０の位置を示す位置データを出力する（ステップＳ２）。
【００８２】
次に、仮想音源位置算出部５は、部屋データおよび主音源Ｓ０の位置データに基づいて、複数の仮想音源Ｓ１，Ｓ２，…，Ｓｋの位置を算出する（ステップＳ３）。それにより、仮想音源Ｓ１，Ｓ２，…，Ｓｋの位置を示す位置データが出力される。
【００８３】
遅延量算出部６は、主音源Ｓ０および仮想音源Ｓ１，Ｓ２，…，Ｓｋの位置データに基づいて、直接音Ｖ０および反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量をそれぞれ算出する（ステップＳ４）。遅延量調整部７は、複数の反射音Ｖ１，Ｖ２，…，Ｖｋの遅延時間差をＦＦＴシフトサイズに相当する時間（＝ＳＳ／ｆｓ）の整数倍に調整する（ステップＳ５）。遅延ブロック数算出部８は、調整後の遅延時間差に基づいて複数の反射音Ｖ１，Ｖ２，…，Ｖｋについての遅延ブロック数を算出する。
【００８４】
ＨＲＴＦブロック選択部４は、主音源位置指示部２および仮想音源位置算出部５から出力される位置データに基づいて、ＨＲＴＦデータベース３に格納される複数組の分割ＨＲＴＦブロックから、直接音Ｖ０および複数の反射音Ｖ１，Ｖ２，…，Ｖｋに対応する分割ＨＲＴＦブロックを選択する（ステップＳ６）。
【００８５】
畳み込み演算部１０、時間領域変換部１１、音響信号出力部１２および周波数領域変換部１４は畳み込み演算処理を行う（ステップＳ７）。
【００８６】
図１１は畳み込み演算処理の詳細を示すフローチャートである。図１１における変数ｎは現在の処理を意味し、変数ｎの値は０から１ずつ増加する。Ｍは頭部伝達関数の分割数（分割ＨＲＴＦブロックの数）を表し、ｋは反射音の数を表す。Ｍ１，…，Ｍｋは、反射音Ｖ１，…，Ｖｋについての遅延ブロック数を表す。
【００８７】
初期状態では変数ｎの値は０である（ステップＳ１１）。図１の周波数領域変換部１４は、サンプリング周波数ｆｓの原音響信号ＶＩＮの信号部分ｘｎをＦＦＴにより音響ブロックＸｎに変換する（ステップＳ１２）。信号部分ｘｎは、原音響信号ＶＩＮから現在取得した単位ブロックｖｎと前回取得した単位ブロックｖｎ−１とからなる（図６参照）。また、周波数領域変換部１４は、音響ブロックＸｎを周波数領域音響バッファ１５に格納する（ステップＳ１３）。後述するステップＳ３４で変数ｎの値が増加するにしたがって周波数領域音響バッファ１５に順次音響ブロックＸｎが格納される。
【００８８】
ステップＳ１４〜Ｓ１９では、直接音Ｖ０についての畳み込み演算結果Ｙ０が算出される。ステップＳ２０〜Ｓ２５では、反射音Ｖ１についての畳み込み演算結果Ｙ１が算出され、ステップＳ２６〜Ｓ３１では、反射音Ｖｋについての畳み込み演算結果Ｙｋが算出される。ステップＳ１４〜Ｓ１９の処理、ステップＳ２０〜Ｓ２５の処理およびステップＳ２６〜Ｓ３１の処理は、並列的に実行される。
【００８９】
畳み込み演算部１０は、まず、変数ｍの値を初期値０に設定し（ステップＳ１４，Ｓ２０，Ｓ２６）、畳み込み演算結果Ｙ０，Ｙ１，…Ｙｋを初期値０に設定する（ステップＳ１５，Ｓ２１，Ｓ２７）。次に、畳み込み演算部１０は、音響ブロックＸｎ−ｍと分割ＨＲＴＦブロックＨ０，ｍとの複素ベクトル乗算を行い、Ｙ＝Ｘｎ−ｍ＊Ｈ０，ｍを畳み込み演算結果として算出する（ステップＳ１６）。次に、畳み込み演算部１０は、前回の畳み込み演算結果Ｙ０に今回の畳み込み演算結果Ｙを複素ベクトル加算する（ステップＳ１７）。その後、変数ｍに１を加算し（ステップＳ１８）、変数ｍがＭ−１よりも大きいか否かを判定する（ステップＳ１９）。変数ｍがＭ−１になるまで、ステップＳ１６〜Ｓ１９の処理が繰り返し行われる。それにより、Ｙ０＝Ｘｎ＊Ｈ０，０＋Ｘｎ−１＊Ｈ０，１＋Ｘｎ−２＊Ｈ０，２＋…＋Ｘｎ−Ｍ＋１＊Ｈ０，Ｍ−１が算出される。ここで、「＊」は複素ベクトル乗算を意味し、「＋」は複素ベクトル加算を意味する。図８の例では、Ｍ＝４であるため、Ｙ０＝Ｘｎ＊Ｈ０，０＋Ｘｎ−１＊Ｈ０，１＋Ｘｎ−２＊Ｈ０，２＋Ｘｎ−３＊Ｈ０，３が算出される。
【００９０】
上記の畳み込み演算において、音響ブロックＸｎ−１，Ｘｎ−２，…，Ｘｎ−Ｍ＋１は、以前の処理で既に算出され、周波数領域音響バッファ１５に格納されている。
【００９１】
同様にして、ステップＳ２２〜Ｓ２５において、Ｙ１＝Ｘｎ−Ｍ１＊Ｈ１，０＋Ｘｎ−１−Ｍ１＊Ｈ１，１＋Ｘｎ−２−Ｍ１＊Ｈ１，２＋…＋Ｘｎ−Ｍ＋１−Ｍ１＊Ｈ１，Ｍ−１が算出される。ここで、Ｍ１は反射音Ｖ１の遅延ブロック数である。図８の例では、Ｍ＝４であり、Ｍ１＝３であるため、Ｙ１＝Ｘｎ−３＊Ｈ１，０＋Ｘｎ−４＊Ｈ１，１＋Ｘｎ−５＊Ｈ１，２＋Ｘｎ−６＊Ｈ１，３が算出される。
【００９２】
上記の畳み込み演算において、音響ブロックＸｎ−Ｍ１，Ｘｎ−１−Ｍ１，Ｘｎ−２−Ｍ１…，Ｘｎ−Ｍ＋１−Ｍ１は、以前の処理で既に算出され、周波数領域音響バッファ１５に格納されている。
【００９３】
また、ステップＳ２８〜Ｓ３１において、Ｙ１＝Ｘｎ−Ｍｋ＊Ｈｋ，０＋Ｘｎ−１−Ｍｋ＊Ｈｋ，１＋Ｘｎ−２−Ｍｋ＊Ｈｋ，２＋…＋Ｘｎ−Ｍ＋１−Ｍｋ＊Ｈｋ，Ｍ−１が算出される。ここで、Ｍｋは反射音Ｖｋの遅延ブロック数である。図８の例では、Ｍ＝４であり、Ｍｋ＝９であるため、Ｙ１＝Ｘｎ−９＊Ｈｋ，０＋Ｘｎ−１０＊Ｈｋ，１＋Ｘｎ−１１＊Ｈｋ，２＋Ｘｎ−１２＊Ｈｋ，３が算出される。
【００９４】
上記の畳み込み演算において、音響ブロックＸｎ−Ｍｋ，Ｘｎ−１−Ｍｋ，Ｘｎ−２−Ｍｋ，…，Ｘｎ−Ｍ＋１−Ｍｋは、以前の処理で既に算出され、周波数領域音響バッファ１５に格納されている。
【００９５】
時間領域変換部１１は、畳み込み演算結果Ｙ０，Ｙ１，…，Ｙｋを周波数領域で複素ベクトル加算し、複素ベクトル加算の結果をＩＦＦＴによりサンプリング周波数ｆｓの時間領域の音響信号ｙｎに変換する（ステップＳ３２）。音響信号出力部１２は、時間領域の音響信号ｙｎを出力する（ステップＳ３３）。その後、変数ｎの値が１増加され（ステップＳ３４）、ステップＳ１２〜Ｓ３４の処理が行われる。上記のように、音響信号ｙｎの前半部分が破棄され、残りの後半部分が前回の処理で得られた音響信号ｙｎ−１の後半部分につなぎ合わされる。
【００９６】
（８）実施の形態の効果
本実施の形態に係る音響信号処理装置１００によれば、反射音Ｖ１，Ｖ２，…，Ｖｋと直接音Ｖ０との遅延時間差がＦＦＴシフトサイズに相当する時間の整数倍に調整されるので、反射音Ｖ１，Ｖ２，…，Ｖｋに対応する音響ブロックとして、既に算出された直接音Ｖ０に対応する音響ブロックを用いることができる。そのため、反射音Ｖ１，Ｖ２，…，Ｖｋに対応する音響ブロックを得るためのＦＦＴが不要である。また、直接音Ｖ０および反射音Ｖ１，Ｖ２，…，Ｖｋについての畳み込み演算結果Ｙ０，Ｙ１，…Ｙｋの複素ベクトル加算が周波数領域で行われるので、１回のＩＦＦＴにより時間領域の音響信号ＶＯＵＴを得ることができる。一方、畳み込み演算結果の加算が時間領域で行われる場合には、１つのＦＦＴに対して（ｋ＋１）回のＩＦＦＴが必要となると考えられる。
【００９７】
これらにより、畳み込み演算処理における演算回数を低減することができる。その結果、音響信号ＶＯＵＴを出力するための演算処理における処理量を低減することが可能となる。
【００９８】
また、分割ＨＲＴＦブロックを用いた分割オーバラップセーブ法が用いられるので、単位ブロックのサイズを小さくすることができる。それにより、ＦＦＴおよびＩＦＦＴにおける乗算回数を低減することができる。したがって、音響信号ＶＯＵＴを出力するための演算処理における処理量をより低減することが可能となる。
【００９９】
さらに、ＦＦＴシフトサイズが単位ブロックのサイズと等しいため、単位ブロックのサイズを小さくすることにより、遅延時間差の調整による誤差および畳み込み演算における遅延時間を低減することができる。それにより、受音点Ｒに到来する音をより高い精度で再現することができる。
【０１００】
以上の結果、音の再現精度を低下させることなく音響信号処理装置１００の低コスト化および小型化が可能となる。
【０１０１】
（９）演算回数の比較
（ａ）本実施の形態および参考形態における演算回数
以下、本実施の形態に係る畳み込み演算処理における演算回数を参考形態に係る畳み込み演算処理における演算回路と比較する。
【０１０２】
参考形態における音響信号処理では、反射音Ｖ１，Ｖ２，…，Ｖｋの遅延量の調整が行われない。したがって、反射音Ｖ１，Ｖ２，…，Ｖｋの遅延時間差は、ＦＦＴシフトサイズに相当する時間の整数倍とはならない。
【０１０３】
図１２は参考形態に係る畳み込み演算処理における周波数領域での分割ＨＲＴＦブロックと音響ブロックとの畳み込み演算を示す図である。図１２において、時間は右から左に経過する。
【０１０４】
図１２の例では、反射音Ｖ１の遅延時間差ｄｌ１および反射音Ｖｋの遅延時間差ｄｌｋはＦＦＴシフトサイズＳＳに相当する時間の整数倍ではない。原音響信号ＶＩＮのＦＦＴにより直接音Ｖ０に対応する音響ブロックＸ０，ｎ，Ｘ０，ｎ−１，Ｘ０，ｎ−２，Ｘ０，ｎ−３を算出するとともに、反射音Ｖ１に対応する音響ブロックＸ１，ｎ，Ｘ１，ｎ−１，Ｘ１，ｎ−２，Ｘ１，ｎ−３および反射音Ｖｋに対応する音響ブロックＸｋ，ｎ，Ｘｋ，ｎ−１，Ｘｋ，ｎ−２，Ｘｋ，ｎ−３をそれぞれ算出する必要がある。
【０１０５】
直接音Ｖ０については、周波数領域で分割ＨＲＴＦブロックＨ０，０，Ｈ０，１，Ｈ０，２，Ｈ０，３と音響ブロックＸ０，ｎ，Ｘ０，ｎ−１，Ｘ０，ｎ−２，Ｘ０，ｎ−３との畳み込み演算が行われ、周波数領域の音響信号Ｙ０が得られる。反射音Ｖ１については、周波数領域で分割ＨＲＴＦブロックＨ１，０，Ｈ１，１，Ｈ１，２，Ｈ１，３と音響ブロックＸ１，ｎ，Ｘ１，ｎ−１，Ｘ１，ｎ−２，Ｘ１，ｎ−３との畳み込み演算が行われ、周波数領域の音響信号Ｙ１が得られる。反射音Ｖｋについては、周波数領域で分割ＨＲＴＦブロックＨｋ，０，Ｈｋ，１，Ｈｋ，２，Ｈｋ，３と音響ブロックＸｋ，ｎ，Ｘｋ，ｎ−１，Ｘｋ，ｎ−２，Ｘｋ，ｎ−３との畳み込み演算が行われる。
【０１０６】
図１３は参考形態に係る畳み込み演算処理の詳細を示すフローチャートである。
【０１０７】
初期状態では変数ｎの値は０である（ステップＳ５１）。ステップＳ５２〜Ｓ５９では、直接音Ｖ０についての畳み込み演算結果Ｙ０が算出される。ステップＳ６０〜Ｓ６７では、反射音Ｖ１についての畳み込み演算結果Ｙ１が算出され、ステップＳ６８〜Ｓ７５では、反射音Ｖｋについての畳み込み演算結果Ｙｋが算出される。
【０１０８】
直接音Ｖ０について、原音響信号ＶＩＮの信号部分ｘ０，ｎがＦＦＴにより音響ブロックＸ０，ｎに変換され（ステップＳ５２）、音響ブロックＸ０，ｎが周波数領域音響バッファ１５に格納される（ステップＳ５３）。また、反射音Ｖ１について、原音響信号ＶＩＮの信号部分ｘ１，ｎがＦＦＴにより音響ブロックＸ１，ｎに変換され（ステップＳ６０）、音響ブロックＸ１，ｎが周波数領域音響バッファ１５に格納される（ステップＳ６１）。同様に、反射音Ｖｋについて、原音響信号ＶＩＮの信号部分ｘｋ，ｎがＦＦＴにより音響ブロックＸｋ，ｎに変換され（ステップＳ６８）、音響ブロックＸｋ，ｎが周波数領域音響バッファ１５に格納される（ステップＳ６９）。
【０１０９】
ステップＳ５４〜Ｓ５９において、直接音Ｖ０について、Ｙ０＝Ｘ０，ｎ＊Ｈ０，０＋Ｘ０，ｎ−１＊Ｈ０，１＋Ｘ０，ｎ−２＊Ｈ０，２＋…＋Ｘ０，ｎ−ｍ＊Ｈ０，ｍが算出される。ステップＳ６２〜Ｓ６７において、反射音Ｖ１について、Ｙ１＝Ｘ１，ｎ＊Ｈ１，０＋Ｘ１，ｎ−１＊Ｈ１，１＋Ｘ１，ｎ−２＊Ｈ１，２＋…＋Ｘ１，ｎ−ｍ＊Ｈ１，ｍが算出される。ステップＳ６８〜Ｓ７５において、反射音Ｖｋについて、Ｙｋ＝Ｘｋ，ｎ＊Ｈｋ，０＋Ｘｋ，ｎ−１＊Ｈｋ，１＋Ｘｋ，ｎ−２＊Ｈｋ，２＋…＋Ｘｋ，ｎ−ｍ＊Ｈｋ，ｍが算出される。
【０１１０】
ステップＳ７６〜Ｓ７８の処理は、図１１のステップＳ３１〜Ｓ３３の処理と同様である。
【０１１１】
ここで、図１１の実施の形態に係る畳み込み演算処理における演算回数と図１３の参考形態に係る畳み込み演算処理における演算回数とを比較する。
【０１１２】
単位ブロックのサイズをＮサンプルとし、頭部伝達関数の分割数をＭとし、主音源および仮想音源の数をｋとする。この場合、ＦＦＴの対象となるサンプル数は２Ｎとなる。
【０１１３】
ＦＦＴでの乗算回数およびＩＦＦＴでの乗算回数をそれぞれＯＡとし、ループを含む複素ベクトル積での乗算回数をＯＢとすると、乗算回数ＯＡ，ＯＢは次式のようになる。
【０１１４】
ＯＡ＝２×（２Ｎ）×ｌｏｇ２（２Ｎ）
ＯＢ＝Ｍ×４×Ｎ
図１１の実施の形態における演算回数ＰＩは、次式のようになる。
【０１１５】
ＰＩ＝ＯＡ＋ｋ×ＯＢ＋ＯＡ
図１３の参考形態における演算回数ＰＲは、次式のようになる。
【０１１６】
ＰＲ＝ｋ×（ＯＡ＋ＯＢ）＋ＯＡ
単位ブロックのサイズＮを３２サンプルとし、頭部伝達関数の分割数Ｍを４とし、主音源および仮想音源の数ｋを１００とすると、乗算回数ＯＡ，ＯＢは次のようになる。
【０１１７】
ＯＡ＝２×（２×３２）×ｌｏｇ２（２×３２）＝７６８
ＯＢ＝４×４×３２＝５１２
これにより、図１１の実施の形態における演算回数ＰＩは、次式のようになる。
【０１１８】
ＰＩ＝７６８＋１００×５１２＋７６８＝５２７３６
一方、図１３の参考形態における演算回数ＰＲは、次式のようになる。
【０１１９】
ＰＲ＝１００×（７６８＋５１２）＋７６８＝１２８７７８
演算回数ＰＩと演算回数ＰＲとの比は次のように算出される。
【０１２０】
ＰＩ／ＰＲ＝５２７３６／１２８７７８≒０．４
したがって、本実施の形態に係る畳み込み演算処理によれば、参考形態に係る畳み込み演算処理に比べて演算回数が約６０％削減される。仮想音源の数（反射音の数）が増加するほど、演算回数の削減の効果は顕著となる。
【０１２１】
なお、上記の演算回数の比較では、加算回数およびバッファに対する読み書きについては考慮していない。
【０１２２】
（ｂ）時間領域の畳み込み演算処理における演算回数
次に、時間領域の畳み込み演算処理を用いた音響信号処理における演算回数を算出する。
【０１２３】
時間領域の畳み込み演算処理における演算回数ＯＴは、次式のようになる。
【０１２４】
ＯＴ＝ｋ×Ｍ×Ｎ２
単位ブロックのサイズＮを３２サンプルとし、頭部伝達関数の分割数Ｍを４とし、主音源および仮想音源の数ｋを１００とすると、演算回数ＯＴは次のようになる。
【０１２５】
ＯＴ＝１００×４×３２２＝４０９６００
これにより、図１１の実施の形態における演算回数ＰＩは、次式のようになる。
【０１２６】
本実施の形態に係る畳み込み演算処理における演算回数ＰＩと時間領域の畳み込み演算処理における演算回数ＯＴとの比は次のように算出される。
【０１２７】
ＰＩ／ＯＴ＝５２７３６／４０９６００≒０．１３
したがって、本実施の形態に係る畳み込み演算処理によれば、時間領域の畳み込み演算処理に比べて、演算回数が約８７％削減される。仮想音源の数（反射音の数）が増加するほど、演算回数の削減の効果は顕著となる。
【０１２８】
（ｃ）遅延量の調整による誤差
ＦＦＴシフトサイズＳＳを３２サンプルとした場合、反射音Ｖ１，Ｖ２，…，Ｖｋと直接音Ｖ０との間の遅延時間差の調整による遅延量の誤差は、最大１６サンプルに相当する時間である。サンプリング周波数を４８ｋＨｚとした場合、遅延量の誤差は次式のように算出される。
【０１２９】
１６／４８０００［Ｈｚ］≒０．０００３３［ｓｅｃ］＝０．３３［ｍｓｅｃ］
この遅延量の誤差に相当する距離の誤差は次式により算出される。
【０１３０】
０．０００３３［ｓｅｃ］×３４０［ｍ／ｓｅｃ］≒０．１１［ｍ］＝１１［ｃｍ］
仮想空間のサイズが１１ｃｍ程度変化した場合の反射音の変化が音像定位および音の広がり感に与える影響はほとんどないと考えられる。
【０１３１】
ＦＦＴシフトサイズＳＳを１６サンプルとした場合には、遅延量の誤差に相当する距離の誤差は約５．６ｃｍとなり、音像定位および音の広がり感に与える影響はさらに小さくなる。
【０１３２】
（１０）他の実施の形態
（ａ）上記の実施の形態では、畳み込み演算処理に分割オーバラップセーブ法を用いているが、本発明はこれに限定されない。例えば、畳み込み演算処理に分割ＨＲＴＦブロックを用いたオーバラップアド（Overlap-Add）法を用いてもよい。以下、分割ＨＲＴＦブロックを用いたオーバラップアド法を分割オーバラップアド法と呼ぶ。
【０１３３】
図１４は分割オーバラップアド法を用いた場合の時間領域の原音響信号および周波数領域の音響ブロックの説明図である。図１４において、時間は右から左へ経過する。
【０１３４】
分割オーバラップアド法では、原音響信号ＶＩＮにおいて、現在入力されているＮサンプルの単位ブロックｖｎにＮサンプルの０が付加され、２Ｎサンプルの信号部分ｘｎがＦＦＴにより音響ブロックＸｎに変換される。同様に、単位ブロックｖｎ−１にＮサンプルの０が付加され、２Ｎサンプルの信号部分ｘｎ−１がＦＦＴにより音響ブロックＸｎ−１に変換される。また、単位ブロックｖｎ−２にＮサンプルの０が付加され、２Ｎサンプルの信号部分ｘｎ−２がＦＦＴにより音響ブロックＸｎ−２に変換される。さらに、単位ブロックｖｎ−３にＮサンプルの０が付加され、２Ｎサンプルの信号部分ｘｎ−３がＦＦＴにより音響ブロックＸｎ−３に変換される。この場合にも、ＦＦＴシフトサイズＳＳはＮサンプルである。周波数領域での畳み込み演算は、分割オーバラップセーブ法を用いた場合と同様である。
【０１３５】
図１５は分割オーバラップアド法を用いた場合の時間領域での音響信号のつなぎ合わせを示す図である。図１５に示すように、今回の処理で得られた音響信号ｙｎの前半部分のＮサンプルと前回の処理で得られた音響信号ｙｎ−１の後半部分のＮサンプルとが加算される。この操作が順次行われることにより音響信号ＶＯＵＴが逐次出力される。
【０１３６】
（ｂ）上記実施の形態では、周波数領域の頭部伝達関数が複数の分割ＨＲＴＦブロックに分割されているが、これに限定されない。本発明は、頭部伝達関数の分割数Ｍが１の場合にも適用される。分割数Ｍが１の場合のオーバラップセーブ法は通常のオーバラップセーブ法であり、分割数Ｍが１の場合のオーバラップアド法は通常のオーバラップセーブ法である。
【０１３７】
ここで、時間領域の音響信号の単位ブロックが例えば１２８サンプルからなるものとする。通常のオーバラップセーブ法では、１２８サンプルの時間領域の頭部インパルス応答に１２８サンプルの０を付加し、合計２５６サンプルをＦＦＴにより周波数領域の頭部伝達関数に変換する。また、今回入力された１２８サンプルの音響信号と前回入力された１２８サンプルの音響信号とからなる２５６サンプルの信号部分をＦＦＴにより周波数領域の音響ブロックに変換する。その後、周波数領域の頭部伝達関数と周波数領域の音響ブロックとを複素ベクトル乗算し、乗算結果をＩＦＦＴにより２５６サンプルの時間領域の音響信号に変換する。最後に、時間領域の音響信号の半分を破棄し、残りの１２８サンプルの音響信号を得る。今回得られた１２８サンプルの音響信号を前回得られた１２８サンプルの音響信号につなぎ合わせる。
【０１３８】
通常のオーバラップアド法が通常のオーバラップセーブ法と異なるのは次の点である。今回入力された１２８サンプルの時間領域の音響信号に１２８サンプルの０を付加し、０を含む２５６サンプルの信号部分をＦＦＴにより周波数領域の音響ブロックに変換する。ＩＦＦＴにより得られた２５６サンプルの時間領域の音響信号を前回得られた２５６サンプルの時間領域の音響信号と１２８サンプル分重なるように加算する。
【０１３９】
（ｃ）上記実施の形態では、本発明が仮想空間における音を再現するために用いられるが、本発明はこれに限定されない。本発明は、実際の音響空間における音を再現するための残響付与装置に適用することも可能である。この場合、周波数領域の頭部伝達関数の代わりに、インパルス応答をＦＦＴすることにより得られる周波数領域の音響伝達関数が用いられる。
【０１４０】
（ｄ）上記実施の形態では、音響信号入力部１３が原音響信号ＶＩＮを入力し、音響信号出力部１２が音響信号ｙｎを出力するが、本発明はこれに限定されない。音響信号入力部１３がＷＡＶファイル等のファイル形式の原音響信号を入力してもよく、音響信号出力部１２がＷＡＶファイル等のファイル形式の音響信号を出力してもよい。また、本発明は、音響シミュレーションを行うための音響シミュレーション装置に適用することも可能である。
【０１４１】
（ｅ）図１１のステップＳ３３において、音響信号出力部１２は、音響信号ｙｎを図７の遅延量ｄ０分遅延させて出力してもよい。
【０１４２】
（ｆ）上記実施の形態では、原音声信号ＶＩＮの全体の周波数帯域について図１０および図１１の音響信号処理が行われるが、これに限定されない。例えば、原音声信号ＶＩＮの全体の周波数帯域が高域および低域に分割され、高域および低域の各々について上記の音響信号処理が行われてもよい。
【０１４３】
（ｇ）上記実施の形態では、時間領域の原音響信号を周波数領域の音響ブロックに変換するための時間−周波数変換としてＦＦＴを用いているが、本発明はこれに限定されない。時間−周波数変換として、例えばラプラス変換、Ｚ変換またはメリン（Ｍｅｌｌｉｎ）変換等の他の直交変換を用いてもよい。また、上記実施の形態では、周波数領域の畳み込み演算結果の加算結果を時間領域の音響信号に変換するための周波数−時間変換としてＩＦＦＴを用いているが、本発明はこれに限定されない。周波数−時間変換として、例えば逆ラプラス変換、逆Ｚ変換または逆メリン変換等の他の逆直交変換を用いてもよい。
【０１４４】
（ｈ）上記実施の形態では、音響信号処理装置１００の全体が同一のサンプリング周波数ｆｓで動作するが、これに限定されない。音響信号処理装置１００の一部が適宜サンプリング周波数変換処理を行うことによりサンプリング周波数ｆｓとは異なるサンプリング周波数で動作してもよい。
【０１４５】
（ｉ）上記実施の形態では、ＨＲＴＦデータベース３に複数組の分割ＨＲＴＦブロックが記憶されているが、例えば、複数組の分割ＨＲＴＦブロックがインターネット上のサーバ等に記憶され、音響信号処理装置１００がサーバ等から複数組の分割ＨＲＴＦブロックをダウンロードして用いてもよい。この場合、音響信号処理装置１００がＨＲＴＦデータベース３を備えなくてもよい。
【０１４６】
（ｊ）上記実施の形態では、単一の音響信号処理装置１００について説明しているが、左耳用および右耳用の一対の音響信号処理装置１００が設けられてもよい。この場合、図１に示される複数の構成要素のうち一部の構成要素が左耳用および右耳用の音響信号処理装置１００に共通に用いられてもよい。
【０１４７】
（１１）請求項の各構成要素と実施の形態の各部との対応
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。
【０１４８】
上記実施の形態では、主音源Ｓ０が第１の音源の例であり、仮想音源Ｓ１，Ｓ２，…，Ｓｋが第２の音源の例であり、受音点Ｒが受音点の例であり、直接音Ｖ０が第１の音の例であり、反射音Ｖ１，Ｖ２，…，Ｖｋが第２の音の例である。
【０１４９】
遅延量算出部６が算出部の例であり、ＨＲＴＦデータベース３が記憶部の例であり、遅延量調整部７が調整部の例であり、音響ブロック選択部９が選択部の例であり、周波数領域変換部１４が第１の変換部の例であり、畳み込み演算部１０が演算部の例であり、時間領域変換部１１が第２の変換部の例である。
【０１５０】
分割ＨＲＴＦブロックＨ０，０，Ｈ０，１，Ｈ０，２，Ｈ０，３が第１の音響伝達関数または複数の第１の分割伝達関数の例であり、分割ＨＲＴＦブロックＨ１，０，Ｈ１，１，Ｈ１，２，Ｈ１，３、分割ＨＲＴＦブロックＨ２，０，Ｈ２，１，Ｈ２，２，Ｈ２，３および分割ＨＲＴＦブロックＨｋ，０，Ｈｋ，１，Ｈｋ，２，Ｈｋ，３が第２の音響伝達関数または複数の第２の分割伝達関数の例であり、頭部インパルス応答ｈ０が第１の音響応答特性の例であり、頭部インパルス応答ｈ１，ｈ２，…，ｈｋが第２の音響応答特性の例であり、分割ＨＲＩＲブロックｈ０，０，ｈ０，１，ｈ０，２，ｈ０，３が複数の第１の分割応答特性の例である。
【０１５１】
原音響信号ＶＩＮが原音響信号の例であり、ＦＦＴシフトサイズＳＳが一定のシフト量の例であり、音響ブロックＸｎ，Ｘｎ−１，…，Ｘｎ−Ｍ＋１が第１の信号部分の例であり、音響ブロックＸｎ−Ｍ１，Ｘｎ−１−Ｍ１，…，Ｘｎ−Ｍ＋１−Ｍ１および音響ブロックＸｎ−Ｍｋ，Ｘｎ−１−Ｍｋ，…，Ｘｎ−Ｍ＋１−Ｍｋが第２の信号部分の例であり、音響信号ＶＯＵＴが時間領域の音響信号の例であり、Ｎサンプルが第１のサンプル数の例であり、２Ｎサンプルが第２のサンプル数の例である。
【０１５２】
請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることができる。
【産業上の利用可能性】
【０１５３】
本発明は、音響空間における受音点に到来する音を再現すること等に利用することができる。
【符号の説明】
【０１５４】
１  部屋形状指示部
２  主音源位置指示部
３  ＨＲＴＦデータベース
４  ＨＲＴＦブロック選択部
５  仮想音源位置算出部
６  遅延量算出部
７  遅延量調整部
８  遅延ブロック数算出部
９  音響ブロック選択部
１０  畳み込み演算部
１１  時間領域変換部
１２  音響信号出力部
１３  音響信号入力部
１４  周波数領域変換部
１５  周波数領域音響バッファ
１００  音響信号処理装置
１１０  ＣＰＵ
１２０  ＲＯＭ
１３０  ＲＡＭ
１４０  記憶装置
１５０  表示装置
１６０  入力装置
１７０  出力装置
３００  仮想空間
【図１】
2015079131.tif 000003
【図２】
2015079131.tif 000004
【図３】
2015079131.tif 000005
【図４】
2015079131.tif 000006
【図５】
2015079131.tif 000007
【図６】
2015079131.tif 000008
【図７】
2015079131.tif 000009
【図８】
2015079131.tif 000010
【図９】
2015079131.tif 000011
【図１０】
2015079131.tif 000012
【図１１】
2015079131.tif 000013
【図１２】
2015079131.tif 000014
【図１３】
2015079131.tif 000015
【図１４】
2015079131.tif 000016
【図１５】
2015079131.tif 000017