【解決手段】フィルタ係数決定装置は、スピーカアレイを構成する複数のスピーカ素子の前段にそれぞれ配置されるフィルタに設定すフィルタ係数を演算により求め、求めたフィルタ係数、および、複数のスピーカ素子それぞれからスピーカアレイの周囲に設定されている複数の観測点までの伝達関数を用い、複数の観測点における指向性を評価するための評価音圧を算出する。スピーカアレイから最も強く音を放射させたい方向を所望方向とし、所望方向以外の音を抑圧させたい範囲を抑圧範囲とし、その抑圧範囲に対する音の放射の大きさが、予め設定された判定方法を満たすようにフィルタ係数を適応的に決定する。
前記フィルタ係数演算部が前記フィルタ係数の演算を行う際に用いる窓関数の窓幅が可変的となるように、前記フィルタ係数演算部に対して前記窓関数を設定する窓関数設定部と、
前記窓関数設定部により可変的に窓幅が設定される前記窓関数を、前記観測点における所望音圧に適用して前記フィルタ係数演算部により算出される前記フィルタ係数ごとに前記評価音圧演算部により算出される複数の前記評価音圧の中から、前記判定方法に基づいて最適な前記フィルタ係数を求めるのに用いられた最適な前記窓関数の窓幅を決定する最適窓幅決定部と
をさらに備え、
前記最適窓幅決定部により決定された窓幅の前記窓関数を用いて前記フィルタ係数演算部により算出される前記フィルタ係数が、前記フィルタに設定するものとして決定される
請求項1に記載のフィルタ係数決定装置。
【発明を実施するための形態】
【0015】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0016】
なお、本明細書において、以下の説明で用いる信号は、単一周波数ωに分解されているものとし、システムとして再生するときには、周波数合成を行い、あらかじめ設定した帯域の周波数成分を持つ信号として再生されるものとする。
【0017】
図1は、本技術を適用した音響再生システムの一実施の形態の構成例を示すブロック図である。
【0018】
図1に示すように、音響再生システム11は、再生装置12、N個のフィルタ13−1乃至13−N、および、N個のスピーカ14−1乃至14−Nを備えて構成される。
【0019】
再生装置12は、所定の音源データを再生し、その再生された音をスピーカ14−1乃至14−Nから出力させるための音響信号を、フィルタ13−1乃至13−Nを介してスピーカ14−1乃至14−Nに供給する。
【0020】
フィルタ13−1乃至13−Nは、スピーカ14−1乃至14−Nの前段にそれぞれ配置され、各自に設定されるフィルタ係数w
1(ω)乃至w
N(ω)と、再生装置12から出力される音響信号とを乗算して出力する。
【0021】
スピーカ14−1乃至14−Nは、人間が音として聞き取れる周波数帯域の音を出力可能な可聴域スピーカであり、フィルタ13−1乃至13−Nを介して再生装置12から供給される音響信号に従った音を出力する。また、スピーカ14−1乃至14−Nは、所定の配列で設置されることでスピーカアレイを構成し、
図1の構成例では、例えば、腕輪のような円環状の配列で設置されたスピーカアレイを構成している。
【0022】
このように構成される音響再生システム11は、フィルタ13−1乃至13−Nにフィルタ係数w
1(ω)乃至w
N(ω)を適切に設定することで、所定の方向にのみ音が強く放射する指向性を備えることができる。
【0023】
例えば、
図1に示すように、最も強く音を放射させたい方向を所望方向として、その所望方向を含む所定の範囲を所望方向範囲として設定し、所望方向範囲以外の範囲を、音を抑圧させたい抑圧範囲として設定する。そして、音響再生システム11では、適切なフィルタ係数w
1(ω)乃至w
N(ω)を用いることにより、二点鎖線で示すように、所望方向範囲へ出現する音のピークであるメインローブを大きくし、抑圧範囲へ出現する音のピークであるサイドローブを小さくすることができる。
【0024】
ここで、音響再生システム11が指向性を備えるためのフィルタ係数w
1(ω)乃至w
N(ω)について説明する。
【0025】
例えば、スピーカ14−1乃至14−Nの周囲の複数カ所に観測点を設け、それらの観測点において観測される音圧が、理想の音圧分布に近づくようにフィルタ係数w
1(ω)乃至w
N(ω)を決定することで、音響再生システム11は指向性を備えることができる。
図1の例では、スピーカ14−1乃至14−Nの周囲にMカ所の観測点が設けられ、それらの観測点において観測点音圧p
1乃至p
Mが観測される。また、スピーカ14−1乃至14−Nが設置されている環境などに応じて、n番目のスピーカ14−nからm番目の観測点までの音の伝わり方を表す伝達関数g
mn(ω)が特定される。
【0026】
そして、音源をパルスとし、フィルタ係数w
1(ω)乃至w
N(ω)をベクトル化したフィルタ係数ベクトルw(ω)、伝達関数g
11(ω)乃至g
MN(ω)からなる伝達関数行列G(ω)、および、観測点音圧p
1乃至p
Mを並べてベクトル化した音圧ベクトルp(ω)には、次の式(1)に示す関係が成り立つ。
【0028】
従って、理想的な音圧ベクトルp(ω)を実現するためのフィルタ係数w
1(ω)乃至w
N(ω)は、次の式(2)に示すような逆問題の解として求められるが、一般的に、伝達関数行列G(ω)の安定的な逆行列が存在することは稀である。
【0030】
このため、通常、伝達関数行列G(ω)の逆行列を求めるために最小二乗法が用いられる。最小二乗法には様々なアプローチが存在し、これまでの検討からスピーカアレイの指向性制御には、次の式(3)に示す形式を用いることで安定的にフィルタ係数w(ω)を求めることができることが分かっている。
【0032】
ここで、式(3)に示すように、フィルタ係数w(ω)を求めるには、指向性の形状を制御するための重み係数行列A(ω)、フィルタ係数w(ω)を安定化させる正則化パラメータδ(ω)、単位行列Iが用いられる。
【0033】
しかしながら、従来手法では、これらのパラメータは経験的に手作業で決められることが多く、相互の関係や指向性への影響などが統合的に議論されていなかった。さらに、目標とする音圧ベクトルp(ω)や伝達関数行列G(ω)などの選択の仕方もフィルタ係数w(ω)に影響を与えることより、最適なフィルタ係数w(ω)を決定することは困難であった。
【0034】
そこで、以下で説明するようなフィルタ係数決定装置を用いて、最適なフィルタ係数w(ω)を決定することにより、音響再生システム11が音の指向性を確実に備えることができるようにすることができる。
【0035】
次に、
図2は、フィルタ係数w
1(ω)乃至w
N(ω)を決定するフィルタ係数決定装置の第1の構成例を示すブロック図である。
【0036】
図2に示すように、フィルタ係数決定装置21は、伝達関数保持部22、窓関数設定部23、フィルタ係数演算部24、評価音圧演算部25、評価音圧保持部26、および最適窓幅決定部27を備えて構成される。
【0037】
伝達関数保持部22は、例えば、
図1を参照して説明したような音響再生システム11におけるN個のスピーカ14−1乃至14−NとMカ所の観測点との関係に従って、予め特定されている伝達関数行列G(ω)を保持している。
【0038】
例えば、n番目のスピーカ14−nからm番目の制御点までの伝達関数g
mn(ω)を行列の要素として持つ伝達関数行列G(ω)は、次の式(4)で表される。また、フィルタ係数w
1(ω)乃至w
N(ω)をベクトル化したフィルタ係数ベクトルw(ω)、Mカ所の制御点(音圧を制御したい位置)における所望音圧d
1(ω)乃至d
N(ω)をベクトル化した所望音圧ベクトルd(ω)は、次の式(4)で表される。
【0040】
窓関数設定部23は、フィルタ係数演算部24においてフィルタ係数ベクトルw(ω)を求める演算を行う際に用いる窓関数を、フィルタ係数演算部24に対して設定する。ここで、フィルタ係数演算部24が演算に用いる窓関数の窓幅は可変であり、窓関数設定部23は、予め指定されている範囲の窓幅の窓関数を順次、フィルタ係数演算部24に対して設定する。
【0041】
フィルタ係数演算部24は、フィルタ係数ベクトルw(ω)を、次の式(5)を演算することにより算出する。
【0043】
このとき、フィルタ係数演算部24は、窓関数設定部23により設定された窓幅の窓関数を所望音圧ベクトルd(ω)に適用することで、所望音圧ベクトルd(ω)が所望方向を中心として滑らかなものとなるようにして、フィルタ係数ベクトルw(ω)を求める演算を行う。そして、フィルタ係数演算部24は、窓関数の窓幅ごとに求めたフィルタ係数ベクトルw(ω)を評価音圧演算部25に供給する。
【0044】
評価音圧演算部25は、フィルタ係数演算部24から供給されるフィルタ係数ベクトルw(ω)をフィルタ13−1乃至13−Nに設定したときの指向性を評価するために、観測点ごとの評価音圧をベクトル化した評価音圧ベクトルp(ω)=G(ω)w(ω)を求める。
【0045】
評価音圧保持部26は、フィルタ係数演算部24により求められたフィルタ係数ベクトルw(ω)ごとに、評価音圧演算部25により求められた評価音圧ベクトルp(ω)を保持する。
【0046】
最適窓幅決定部27は、窓関数設定部23により設定された全ての窓関数を用いたフィルタ係数演算部24による演算が完了すると、評価音圧保持部26に保持された複数の評価音圧ベクトルp(ω)の中から、最適な評価音圧ベクトルp(ω)を求めるのに用いられた窓関数の窓幅を決定する。
【0047】
例えば、評価音圧演算部25により算出された評価音圧ベクトルp(ω)のうち、抑圧方向の音圧レベルが最適に抑制されているものを特定する抑圧判定方法として、次の第1乃至第3の抑圧判定方法を用いることができる。
【0048】
第1の抑圧判定方法では、
図1に示すように所望方向範囲および抑圧範囲が予め設定されており、それぞれの範囲の音圧レベルの和の比が最大となるようにすることを基準として、抑圧方向の音圧レベルが最適に抑制されている評価音圧ベクトルp(ω)を特定する。即ち、第1の抑圧判定方法では、所望方向のメインローブと抑圧方向のサイドローブとのエネルギー比を最大とするような評価音圧ベクトルp(ω)が特定される。
【0049】
第2の抑圧判定方法では、
図1に示すように抑圧範囲を予め設定し、その抑圧範囲における音圧レベルの平均値が最小となるようにすることを基準として、抑圧方向の音圧レベルが最適に抑制されている評価音圧ベクトルp(ω)を特定する。即ち、第2の抑圧判定方法では、抑圧方向のサイドローブのエネルギーを最小とするような評価音圧ベクトルp(ω)が特定される。
【0050】
第3の抑圧判定方法では、
図1に示すように抑圧範囲を予め設定し、その抑圧範囲における音圧レベルの最大値が最小となるようにすることを基準として、抑圧方向の音圧レベルが最適に抑制されている評価音圧ベクトルp(ω)を特定する。即ち、第3の抑圧判定方法では、抑圧方向のサイドローブの最大値を最小とするような評価音圧ベクトルp(ω)が特定される。
【0051】
このような予め設定された抑圧判定方法を満たすように、最適窓幅決定部27は、抑圧方向の音圧レベルが最適に抑制される評価音圧ベクトルp(ω)を特定し、その評価音圧ベクトルp(ω)を求めるのに用いられた窓関数の窓幅を決定することができる。なお、抑圧判定方法は、第1乃至第3の抑圧判定方法に限定されることなく、これら以外の方法を採用してもよい。そして、その窓関数の窓幅を用いて算出されたフィルタ係数w
1(ω)乃至w
N(ω)からなるフィルタ係数ベクトルw(ω)が、スピーカ14−1乃至14−Nに設定するものとして決定される。
【0052】
このように、フィルタ係数決定装置21は、スピーカ14−1乃至14−Nによる指向性を実現するのに最適なフィルタ係数w
1(ω)乃至w
N(ω)を確実に決定することができる。
【0053】
次に、
図3は、
図2のフィルタ係数決定装置21において、最適なフィルタ係数w
1(ω)乃至w
N(ω)を決定するフィルタ係数決定処理を説明するフローチャートである。
【0054】
ステップS11において、窓関数設定部23は、フィルタ係数演算部24に対して窓関数の窓幅の初期値を設定する。
【0055】
ステップS12において、フィルタ係数演算部24は、伝達関数保持部22から伝達関数行列G(ω)を読み出す。そして、フィルタ係数演算部24は、窓関数設定部23により設定された窓幅の窓関数が適用された所望音圧ベクトルd(ω)を用いて、上述の式(5)を演算することによりフィルタ係数ベクトルw(ω)を算出する。
【0056】
ステップS13において、評価音圧演算部25は、ステップS12においてフィルタ係数演算部24が算出したフィルタ係数ベクトルw(ω)と、伝達関数行列G(ω)とに基づいて、評価音圧ベクトルp(ω)を求める演算を行う。そして、評価音圧演算部25は、この演算により求められた評価音圧ベクトルp(ω)を評価音圧保持部26に供給し、評価音圧保持部26は、評価音圧ベクトルp(ω)を保持する。
【0057】
ステップS14において、フィルタ係数演算部24は、予め指定されている範囲の窓幅の窓関数を全て用いて、フィルタ係数演算部24によりフィルタ係数ベクトルw(ω)を求める演算が完了したか否かを判定する。
【0058】
ステップS14において、フィルタ係数演算部24が、フィルタ係数ベクトルw(ω)を求める演算が完了していないと判定した場合、即ち、フィルタ係数ベクトルw(ω)を求める演算に用いていない窓幅の窓関数がある場合、処理はステップS15に進む。
【0059】
ステップS15において、窓関数設定部23は、フィルタ係数演算部24に対して設定する窓関数の窓幅を変更し、フィルタ係数演算部24に設定して、処理はステップS12に戻る。そして、予め指定されている範囲の窓幅の窓関数の全てを用いてフィルタ係数ベクトルw(ω)が求められるまで、以下、同様の処理が繰り返される。
【0060】
一方、ステップS14において、フィルタ係数演算部24が、フィルタ係数ベクトルw(ω)を求める演算が完了したと判定した場合、処理はステップS16に進む。
【0061】
ステップS16において、最適窓幅決定部27は、評価音圧保持部26に保持された複数の評価音圧ベクトルp(ω)の中から、上述したような抑圧判定方法に基づいて最適な評価音圧ベクトルp(ω)を特定する。そして、最適窓幅決定部27は、特定した評価音圧ベクトルp(ω)を求めるのに用いられた窓関数の窓幅を決定する。
【0062】
ステップS17において、窓関数設定部23は、ステップS16において最適窓幅決定部27により決定された窓幅の窓関数をフィルタ係数演算部24に設定する。そして、フィルタ係数演算部24は、その窓関数を用いて算出したフィルタ係数ベクトルw(ω)を、フィルタ13−1乃至13−Nに設定するものとして決定し、フィルタ係数決定処理は終了される。
【0063】
以上のように、フィルタ係数決定装置21は、最適な窓幅を決定することで、最適なフィルタ係数ベクトルw(ω)を求めることができる。
【0064】
次に、
図4は、フィルタ係数w
1(ω)乃至w
N(ω)を決定するフィルタ係数決定装置の第2の構成例を示すブロック図である。なお、
図4に示すフィルタ係数決定装置21Aにおいて、
図2のフィルタ係数決定装置21と共通する構成については同一の符号を付し、その詳細な説明は省略する。
【0065】
図4に示すように、フィルタ係数決定装置21Aは、伝達関数保持部22、フィルタ係数演算部24、および評価音圧演算部25を備える点で、
図2のフィルタ係数決定装置21と共通する構成となっている。そして、フィルタ係数決定装置21Aは、重み設定部28および評価判定部29を備える点で、
図2のフィルタ係数決定装置21と異なる構成となっている。
【0066】
また、フィルタ係数決定装置21Aのフィルタ係数演算部24は、フィルタ係数ベクトルw(ω)を、次の式(6)を演算することにより算出する。
【0068】
ここで、式(6)において、重み係数行列A(ω)は、制御点の個数Mと、スピーカ14の個数Nとのうちの、どちらか大きい方の数Lを大きさとして持つ正方行列であり、伝達関数g
mn(ω)それぞれの要素をどの程度重視するかを決定する重み係数a
1(ω)乃至a
L(ω)を対角要素に持っており、次の式(7)で表される。
【0070】
重み設定部28は、フィルタ係数演算部24に対して重み係数行列A(ω)を設定する。例えば、重み設定部28は、初期値として全ての重み係数a
1(ω)乃至a
L(ω)を1とした重み係数行列A(ω)をフィルタ係数演算部24に設定する。そして、重み設定部28は、その設定された重み係数行列A(ω)を用いて求められたフィルタ係数ベクトルw(ω)から求められる誤差ベクトルe(ω)が予め設定されている判定基準以下となるように適応的に重み係数a
1(ω)乃至a
L(ω)を変化させて、重み係数行列A(ω)をフィルタ係数演算部24に設定する。
【0071】
評価判定部29は、重み設定部28により設定された重み係数行列A(ω)でフィルタ係数演算部24により算出されたフィルタ係数ベクトルw(ω)および伝達関数行列G(ω)を用いて、次の式(8)を演算することにより、評価音圧ベクトルp(ω)を算出する。さらに、評価判定部29は、算出した評価音圧ベクトルp(ω)および所望音圧ベクトルd(ω)を用いて、次の式(8)を演算することにより、誤差ベクトルe(ω)を算出する。
【0073】
そして、評価判定部29は、重み設定部28により適応的に変化される重み係数a
1(ω)乃至a
L(ω)から求められる誤差ベクトルe(ω)が、予め設定されている判定基準以下となる判定方法を満たすように、評価音圧ベクトルp(ω)を算出するのに用いたフィルタ係数ベクトルw(ω)を、フィルタ13−1乃至13−Nに設定するものとして決定する。
【0074】
このように、フィルタ係数決定装置21Aは、重み係数a
1(ω)乃至a
L(ω)を適応的に変化させることにより、スピーカ14−1乃至14−Nによる指向性を実現するのに最適なフィルタ係数w
1(ω)乃至w
N(ω)を確実に決定することができる。
【0075】
次に、
図5は、
図4のフィルタ係数決定装置21Aにおいて、最適なフィルタ係数w
1(ω)乃至w
N(ω)を決定するフィルタ係数決定処理を説明するフローチャートである。
【0076】
ステップS21において、重み設定部28は、フィルタ係数演算部24に対して設定する重み係数行列A(ω)を初期化する。例えば、重み設定部28は、上述したように、全ての重み係数a
1(ω)乃至a
L(ω)を1とした重み係数行列A(ω)をフィルタ係数演算部24に設定する。
【0077】
ステップS22において、フィルタ係数演算部24は、伝達関数保持部22から伝達関数行列G(ω)を読み出し、重み設定部28により設定された重み係数行列A(ω)を用いて、上述の式(6)を演算することによりフィルタ係数ベクトルw(ω)を算出する。
【0078】
ステップS23において、評価音圧演算部25は、ステップS22においてフィルタ係数演算部24が算出したフィルタ係数ベクトルw(ω)を用いて、上述の式(8)を演算することにより、評価音圧ベクトルp(ω)を算出する。
【0079】
ステップS24において、評価音圧演算部25は、ステップS23において算出した評価音圧ベクトルp(ω)および所望音圧ベクトルd(ω)から求められる誤差ベクトルe(ω)が、予め設定されている判定基準以下であるか否かを判定する。
【0080】
ステップS24において、評価音圧演算部25が、誤差ベクトルe(ω)が判定基準以下でないと判定した場合、即ち、誤差ベクトルe(ω)が判定基準より大きいと判定した場合、処理はステップS25に進む。
【0081】
ステップS25において、重み設定部28は、フィルタ係数演算部24に対して設定する重み係数a
1(ω)乃至a
L(ω)を修正し、その修正を適用した重み係数a
1(ω)乃至a
L(ω)からなる重み係数行列A(ω)をフィルタ係数演算部24に設定する。その後、処理はステップS22に戻り、誤差ベクトルe(ω)が判定基準以下となるまで、以下、同様の処理が繰り返される。
【0082】
そして、ステップS24において、評価音圧演算部25が、誤差ベクトルe(ω)が判定基準以下であると判定した場合、処理はステップS26に進む。なお、処理が規定回数だけ繰り返したときに、処理がステップS26に進むようにしてもよい。
【0083】
ステップS26において、評価音圧演算部25は、ステップS24において判定基準以下であると判定された誤差ベクトルe(ω)を求めるのに用いられたフィルタ係数ベクトルw(ω)を、フィルタ13−1乃至13−Nに設定するものとして決定し、フィルタ係数決定処理は終了される。
【0084】
以上のように、フィルタ係数決定装置21Aは、重み係数a
1(ω)乃至a
L(ω)を適応的に変更することで、最適なフィルタ係数ベクトルw(ω)を求めることができる。ここで、重み設定部28は、重み係数a
1(ω)乃至a
L(ω)として、誤差ベクトルe(ω)の大きさに比例した値を設定することができる。例えば、誤差ベクトルe(ω)の大きさには、誤差ベクトルe(ω)の大きさの絶対値、誤差ベクトルe(ω)の大きさの二乗値、誤差ベクトルe(ω)の大きさの対数などが含まれる。
【0085】
次に、
図6は、フィルタ係数w
1(ω)乃至w
N(ω)を決定するフィルタ係数決定装置の第3の構成例を示すブロック図である。なお、
図6に示すフィルタ係数決定装置21Bにおいて、
図4のフィルタ係数決定装置21Aと共通する構成については同一の符号を付し、その詳細な説明は省略する。
【0086】
図6に示すように、フィルタ係数決定装置21Bは、伝達関数保持部22、フィルタ係数演算部24、評価音圧演算部25、重み設定部28、および評価判定部29を備える点で、
図4のフィルタ係数決定装置21Aと共通する構成となっている。そして、フィルタ係数決定装置21Bは、パラメータ設定部30および周波数特性評価部31を備える点で、
図4のフィルタ係数決定装置21Aと異なる構成となっている。
【0087】
また、フィルタ係数決定装置21Bのフィルタ係数演算部24は、フィルタ係数ベクトルw(ω)を、次の式(9)を演算することにより算出する。
【0089】
ここで、式(9)において、重み係数行列A(ω)は、上述の式(7)により表される。また、正則化パラメータδ(ω)は、正の数であり、初期値としてG
HAGの要素の最大値より予め設定されている小さな値(例えば、10
-3倍程度の小さな値)を持つ。また、単位行列Iは、G
HAGと同じ要素数である。
【0090】
パラメータ設定部30は、フィルタ係数演算部24に対し正則化パラメータδ(ω)を設定する。
【0091】
周波数特性評価部31は、フィルタ係数演算部24により算出されたフィルタ係数w
1(ω)乃至w
N(ω)からなるフィルタ係数ベクトルw(ω)を用いて、次の式(10)を演算することにより、所望方向の音圧b(ω)を周波数ごとに算出する。
【0093】
ここで、式(10)において、ベクトルg
look(ω)は、スピーカ14−1乃至14−Nから所望方向までの伝達関数を要素として持つ。
【0094】
そして、フィルタ係数決定装置21Bでは、予め決められた周波数帯域内で、予め決められた所定の周波数ステップ(周波数の刻み幅)の周波数ごとに、フィルタ係数演算部24がフィルタ係数ベクトルw(ω)を求める演算を行う際の周波数が設定され、判定基準以下となるフィルタ係数ベクトルw(ω)が求められる。
【0095】
例えば、周波数帯域が300〜3000Hzに決められており、かつ、周波数ステップが100Hzに決められている場合、初期設定として、その周波数帯域内の最小値(300Hz)が設定され、フィルタ係数演算部24によりフィルタ係数ベクトルw(ω)が求められる。そして、評価音圧演算部25による評価音圧ベクトルp(ω)の算出、評価判定部29による誤差ベクトルe(ω)を用いた判定、および、重み設定部28による重みの設定が繰り返して行われ、判定基準以下となるフィルタ係数ベクトルw(ω)が求められる。
【0096】
さらに、周波数特性評価部31は、フィルタ係数演算部24がフィルタ係数ベクトルw(ω)を求める演算を行う際の周波数を、周波数ステップに従って増加させ、その次の周波数(400Hz)に設定する。以下、順次、周波数特性評価部31は、予め決められた周波数帯域内の最大値(3000Hz)を用いた演算が行われるまで、周波数ステップに従って増加させた周波数を設定し、判定基準以下となるフィルタ係数ベクトルw(ω)を求める処理を繰り返して行わせる。
【0097】
その後、周波数特性評価部31は、周波数に対する所望方向の音圧b(ω)の平均値を算出する。そして、パラメータ設定部30は、この平均値に対する所望方向の音圧b(ω)のズレが、予め設定されている設定値よりも大きい場合、正則化パラメータδ(ω)が大きくなるように修正する。そして、上述したような周波数帯域内で所定の周波数ステップの周波数ごとに、フィルタ係数演算部24によるフィルタ係数w
1(ω)乃至w
N(ω)を算出する処理を繰り返して行わせる。即ち、求められたフィルタ係数ベクトルw(ω)を用いた所望方向の音圧b(ω)を周波数順に並べてみて、平坦な特性であるかを調べ、飛び出しているような大きな値になっている周波数があったら、その周波数の正則化パラメータδ(ω)を大きな値に修正することで、周波数ごとに求められる所望方向の音圧b(ω)が全体的に平坦となるようにする。
【0098】
そして、最終的に、所望方向の音圧b(ω)の平均値に対する所望方向の音圧b(ω)のズレが、予め設定されている設定値以内となった正則化パラメータδ(ω)が特定されたときに、誤差ベクトルe(ω)が判定基準以下であると判定された評価音圧ベクトルp(ω)を求めるのに用いられた重み係数a
1(ω)乃至a
L(ω)により算出されるフィルタ係数ベクトルw(ω)が、フィルタ13−1乃至13−Nに設定するものとして決定される。
【0099】
次に、
図7は、
図6のフィルタ係数決定装置21Bにおいて、最適なフィルタ係数w
1(ω)乃至w
N(ω)を決定するフィルタ係数決定処理を説明するフローチャートである。
【0100】
ステップS31において、パラメータ設定部30は、フィルタ係数演算部24に対して設定する正則化パラメータδ(ω)を初期化する。即ち、パラメータ設定部30は、上述したように、G
HAGの要素の最大値より予め設定されている小さな値とした正則化パラメータδ(ω)をフィルタ係数演算部24に設定する。
【0101】
ステップS32において、フィルタ係数演算部24は、フィルタ係数ベクトルw(ω)を求める演算を行う際の周波数を、初期値として、予め決められた周波数帯域内の最小値に設定する。
【0102】
ステップS33において、重み設定部28は、フィルタ係数演算部24に対して設定する重み係数行列A(ω)を初期化する。例えば、重み設定部28は、上述したように、全ての重み係数a
1(ω)乃至a
L(ω)を1とした重み係数行列A(ω)をフィルタ係数演算部24に設定する。
【0103】
ステップS34において、フィルタ係数演算部24は、伝達関数保持部22から伝達関数行列G(ω)を読み出し、重み設定部28により設定された重み係数行列A(ω)、および、パラメータ設定部30により設定された正則化パラメータδ(ω)を用いて、上述の式(9)を演算することによりフィルタ係数ベクトルw(ω)を算出する。
【0104】
ステップS35において、評価音圧演算部25は、ステップS34においてフィルタ係数演算部24が算出したフィルタ係数ベクトルw(ω)を用いて、上述の式(8)を演算することにより、評価音圧ベクトルp(ω)を算出する。
【0105】
ステップS36において、評価音圧演算部25は、ステップS35において算出した評価音圧ベクトルp(ω)および所望音圧ベクトルd(ω)から求められる誤差ベクトルe(ω)が、予め設定されている判定基準以下であるか否かを判定する。
【0106】
ステップS36において、評価音圧演算部25が、誤差ベクトルe(ω)が判定基準以下でないと判定した場合、即ち、誤差ベクトルe(ω)が判定基準より大きいと判定した場合、処理はステップS37に進む。
【0107】
ステップS37において、重み設定部28は、フィルタ係数演算部24に対して設定する重み係数a
1(ω)乃至a
L(ω)を修正し、その修正を適用した重み係数a
1(ω)乃至a
L(ω)からなる重み係数行列A(ω)をフィルタ係数演算部24に設定する。その後、処理はステップS34に戻り、新たに設定された重み係数a
1(ω)乃至a
L(ω)を用いて、以下、同様の処理が繰り返される。
【0108】
一方、ステップS36において、評価音圧演算部25が、誤差ベクトルe(ω)が判定基準以下であると判定した場合、処理はステップS38に進む。
【0109】
ステップS38において、フィルタ係数演算部24は、直前のステップS34においてフィルタ係数ベクトルw(ω)を求めた際に用いた周波数が、予め決められた周波数帯域内の最大値であるか否かを判定する。
【0110】
ステップS38において、フィルタ係数演算部24が、周波数が最大値でないと判定した場合、処理はステップS39に進む。ステップS39において、フィルタ係数演算部24は、フィルタ係数ベクトルw(ω)を求める演算を行う際の周波数を、現在の周波数から所定の周波数ステップに従って増加した周波数に変更して設定する。その後、処理はステップS33に戻り、新たに設定された周波数を用いて、以下、同様の処理が繰り返される。
【0111】
一方、ステップS38において、フィルタ係数演算部24が、周波数が最大値であると判定した場合、処理はステップS40に進む。即ち、この場合、処理が繰り返して行われることによって、ステップS34において、予め決められた周波数帯域内における所定の周波数ステップごとの全ての周波数で、フィルタ係数ベクトルw(ω)が求められている。
【0112】
ステップS40において、周波数特性評価部31は、ステップS34においてフィルタ係数演算部24により算出されたフィルタ係数ベクトルw(ω)を用いて、上述の式(10)を演算することにより、所望方向の音圧b(ω)を周波数ごとに算出する。さらに、周波数特性評価部31は、周波数に対する所望方向の音圧b(ω)の平均値を算出する。
【0113】
ステップS41において、周波数特性評価部31は、ステップS40で算出した平均値に対する所望方向の音圧b(ω)のズレが、予め設定されている設定値以内であるか否かを判定する。
【0114】
ステップS41において、周波数特性評価部31が、平均値に対する所望方向の音圧b(ω)のズレが、予め設定されている設定値以内でないと判定した場合、即ち、そのズレが設定値外である場合、処理はステップS42に進む。
【0115】
ステップS42において、パラメータ設定部30は、正則化パラメータδ(ω)が大きくなるように修正する。その後、処理はステップS32に戻り、修正された正則化パラメータδ(ω)を用いて、以下、同様の処理が繰り返される。
【0116】
一方、ステップS41において、周波数特性評価部31が、平均値に対する所望方向の音圧b(ω)のズレが、予め設定されている設定値以内であると判定した場合、処理はステップS43に進む。なお、処理が規定回数だけ繰り返したときに、処理がステップS43に進むようにしてもよい。
【0117】
ステップS43において、評価音圧演算部25は、最終的に、ステップS36において判定基準以下であると判定された誤差ベクトルe(ω)を求めるのに用いられたフィルタ係数ベクトルw(ω)を、フィルタ13−1乃至13−Nに設定するものとして決定し、フィルタ係数決定処理は終了される。
【0118】
以上のように、フィルタ係数決定装置21Bは、重み係数a
1(ω)乃至a
L(ω)および正則化パラメータδ(ω)を適応的に変更することで、最適なフィルタ係数ベクトルw(ω)を求めることができる。
【0119】
ここで、
図8および
図9に示すシミュレーション結果を参照して、スピーカ14−1乃至14−Nの指向性について説明する。なお、
図8および
図9において、半径方向の大きさは周囲への放射音圧レベル(指向特性)の大きさを表しており、最大値を30dBとして表示している。
【0120】
図8および
図9の右側には、
図7のフィルタ係数決定処理により自動的に決定されたフィルタ係数w
1(ω)乃至w
N(ω)を用いたシミュレーション結果が示されている。また、
図8および
図9の左側には、従来手法により求められたフィルタ係数w
1(ω)乃至w
N(ω)を用いたシミュレーション結果が示されている。
【0121】
例えば、
図1に示すように所望方向を90°に設定し、
図8には、1000Hzの音を出力したときの指向特性をシミュレーションした結果が示されており、
図9には、600〜3200Hzの音を出力したときの指向特性をシミュレーションした結果が示されている。
【0122】
図8および
図9に示すように、従来手法と比較して、
図7のフィルタ係数決定処理により自動的に重み係数a
1(ω)乃至a
L(ω)を調整して決定されたフィルタ係数w
1(ω)乃至w
N(ω)を用いることで、サイドローブを大幅に抑圧することができる。
【0123】
なお、上述した
図4のフィルタ係数決定装置21Aおよび
図6のフィルタ係数決定装置21Bにおいて、重み設定部28は、周波数に依らずに一定となるように重み係数行列A(ω)を設定する。また、重み設定部28は、一定間隔の周波数帯域において同一の値を取るように重み係数行列A(ω)を設定する。
【0124】
また、フィルタ係数決定装置21(フィルタ係数決定装置21Aおよび21Bも含む)では、フィルタ係数演算部24によるフィルタ係数w
1(ω)乃至w
N(ω)の算出、および、評価音圧演算部25による評価判定の両方において、伝達関数行列G(ω)の伝達関数g
mn(ω)として、実測したインパルス応答をフーリエ変換した値を使用することができる。または、フィルタ係数演算部24によるフィルタ係数w
1(ω)乃至w
N(ω)の算出において、2次元あるいは3次元の自由空間伝達関数や、FDTD(Finite Difference Time Domain)法などのシミュレーションによって算出された伝達関数g
mn(ω)を用い、評価判定基準を満たす最適な伝達関数g
mn(ω)を用いることができる。
【0125】
なお、音響再生システム11において、スピーカ14−1乃至14−Nが直線的に配置された直線スピーカアレイを用いる場合、重み係数行列A(ω)の重み係数a
1(ω)乃至a
L(ω)は、直線スピーカアレイを軸として片側の平面内にある伝達関数行列G(ω)のみを用いるように設定することができる。
【0126】
また、音響再生システム11において、スピーカ14−1乃至14−Nが平面的に配置された平面スピーカアレイを用いる場合、重み係数行列A(ω)の重み係数a
1(ω)乃至a
L(ω)は、平面スピーカアレイを含む平面内にある伝達関数行列G(ω)に対してのみ適応的に変化させることができる。
【0127】
さらに、平面スピーカアレイを用いる場合、重み係数行列A(ω)の重み係数a
1(ω)乃至a
L(ω)は、平面スピーカアレイを含む平面内にある伝達関数行列G(ω)に対しては、全ての抑圧方向の伝達関数g
mn(ω)に対して適応的に変化させ、平面スピーカアレイを含む平面と垂直な方向に対しては、平面スピーカアレイが対称な形状であるとき、その対称軸に沿った平面の上側半分の抑圧方向の重み係数a
1(ω)乃至a
L(ω)のみ適応的に変化させることができる。
【0128】
また、重み係数a
1(ω)乃至a
L(ω)は、最大値および最小値と、最大値および最小値の間のステップ幅が予め設定されている。
【0129】
なお、フィルタ係数演算部24は、上述したような式を用いてフィルタ係数ベクトルw(ω)を算出する他、次の式(11)を演算することによりフィルタ係数ベクトルw(ω)を算出することができる。
【0131】
ただし、式(11)で用いる伝達関数行列Dは、次の式(12)の計算においてHの値に必ず拘束したい1つ以上の伝達関数g
mn(ω)を含む行列を表すものである。
【0133】
また、フィルタ係数演算部24がフィルタ係数ベクトルw(ω)を算出するのに、空間相関行列R(ω)を用いるアルゴリズムを採用する場合、空間相関行列R(ω)の計算に重み係数行列A(ω)を導入してもよい。そして、フィルタ係数演算部24は、予め設定した評価関数に対して予め設定した評価基準値に合致するように、重み係数行列A(ω)を適用的に変化させてフィルタ係数ベクトルw(ω)の算出を行うことができる。
【0134】
以上のように、本技術を適用したフィルタ係数決定装置21は、可聴域の音を出力するスピーカ14−1乃至14−Nを並べて構成されるスピーカアレイを用いて、指向性を形成するためのフィルタ係数w
1(ω)乃至w
N(ω)を求めることができる。従って、このようなスピーカアレイによって、周囲への音漏れ部分である抑圧範囲の音を適切に抑圧することができるので、利用者は、従来よりも良好な指向性を備えることを聴感的に体験することができる。また、小型で、自由な指向性を備えるスピーカアレイは、様々な応用に適用可能であり、例えば、耳を閉塞しない状態で運動しながら音楽を聴取することや、スポーツ観戦または美術鑑賞において個別ガイダンスを聴取することなどに利用可能である。さらに、指向性を外部に向けるような構成とすることで、新しい身体音楽表現などにも応用することができる。
【0135】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0136】
また、上述した一連の処理(フィルタ係数決定方法)は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【0137】
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0138】
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0139】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。
【0140】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0141】
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0142】
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0143】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。