(57)【特許請求の範囲】
【請求項１】
入力信号に含まれるハウリング成分を抑圧するハウリング抑圧装置であって、
前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算器と、
前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタと、
前記適応フィルタのフィルタ係数の更新速度を制御する係数更新制御部とを備え、
前記係数更新制御部は、
前記フィルタ係数によって定まる前記適応フィルタのフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析部と、
所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析部と、
前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御部とを備え、
前記適応フィルタは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御部で設定された前記更新速度で更新し、
前記係数更新制御部は、さらに、
前記入力信号の信号レベルを算出する第１のレベル算出部と、
前記誤差信号の信号レベルを算出する第２のレベル算出部と、
前記入力信号の信号レベルを周波数信号に変換する周波数分析部と、
前記周波数信号にピークが存在するという第３の条件を満たすか否かを判断するピーク検出部とを備え、
前記収束分析部は、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が所定の閾値を下回る場合に、前記第１の条件を満たすと判断し、
前記更新速度制御部は、前記第１〜第３の条件の全てを満たす場合に前記更新速度を前記第１の速度に設定し、前記第１〜第３の条件の少なくとも１つを満たさない場合に前記更新速度を前記第２の速度に設定する
ハウリング抑圧装置。
【請求項２】
前記変化量分析部は、前記所定の時間内において、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が減少傾向を示す場合に、前記第２の条件を満たすと判断する
請求項１に記載のハウリング抑圧装置。
【請求項３】
前記第１及び第２の条件の両方を満たす場合において、前記更新速度制御部は、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が小さいほど、前記第１の速度を速くする
請求項１又は２に記載のハウリング抑圧装置。
【請求項４】
前記係数更新制御部は、さらに、前記入力信号の信号レベルの最大値が所定の値を超えるという第４の条件を満たすか否かを判断する音声検出部を備え、
前記更新速度制御部は、前記第１の条件、前記第２の条件、及び前記第４の条件の全てを満たす場合に前記更新速度を前記第１の速度に設定し、前記第１の条件、前記第２の条件、及び前記第４の条件の少なくとも１つを満たさない場合に前記更新速度を前記第２の速度に設定する
請求項１〜３のいずれか１項に記載のハウリング抑圧装置。
【請求項５】
前記収束分析部は、前記二乗平均誤差が前記所定の閾値を下回った状態が所定時間継続した場合に、前記第１の条件を満たすと判断する
請求項１〜４のいずれか１項に記載のハウリング抑圧装置。
【請求項６】
前記変化量分析部は、前記二乗平均誤差の時間方向の傾き値を分析することによって、前記第２の条件を満たすか否かを判断する
請求項１〜５のいずれか１項に記載のハウリング抑圧装置。
【請求項７】
前記変化量分析部は、前記二乗平均誤差の時間方向の差分値を分析することによって、前記第２の条件を満たすか否かを判断する
請求項１〜５のいずれか１項に記載のハウリング抑圧装置。
【請求項８】
周囲の音を収音して前記入力信号に変換する収音部と、
請求項１〜７のいずれか１項に記載のハウリング抑圧装置と、
前記減算器で生成された前記誤差信号を出力音に変換して出力する出力部とを備える
補聴器。
【請求項９】
入力信号に含まれるハウリング成分を抑圧するハウリング抑圧方法であって、
前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算ステップと、
前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタステップと、
前記適応フィルタステップでのフィルタ係数の更新速度を制御する係数更新制御ステップとを含み、
前記係数更新制御ステップは、
前記フィルタ係数によって定まるフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析ステップと、
所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析ステップと、
前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御ステップとを含み、
前記適応フィルタステップでは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御ステップで設定された前記更新速度で更新し、
前記係数更新制御ステップは、さらに、
前記入力信号の信号レベルを算出する第１のレベル算出ステップと、
前記誤差信号の信号レベルを算出する第２のレベル算出ステップと、
前記入力信号の信号レベルを周波数信号に変換する周波数分析ステップと、
前記周波数信号にピークが存在するという第３の条件を満たすか否かを判断するピーク検出ステップとを含み、
前記収束分析ステップでは、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が所定の閾値を下回る場合に、前記第１の条件を満たすと判断し、
前記更新速度制御ステップでは、前記第１〜第３の条件の全てを満たす場合に前記更新速度を前記第１の速度に設定し、前記第１〜第３の条件の少なくとも１つを満たさない場合に前記更新速度を前記第２の速度に設定する
ハウリング抑圧方法。
【請求項１０】
入力信号に含まれるハウリング成分を抑圧する集積回路であって、
前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算器と、
前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタと、
前記適応フィルタのフィルタ係数の更新速度を制御する係数更新制御部とを備え、
前記係数更新制御部は、
前記フィルタ係数によって定まる前記適応フィルタのフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析部と、
所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析部と、
前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御部とを備え、
前記適応フィルタは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御部で設定された前記更新速度で更新し、
前記係数更新制御部は、さらに、
前記入力信号の信号レベルを算出する第１のレベル算出部と、
前記誤差信号の信号レベルを算出する第２のレベル算出部と、
前記入力信号の信号レベルを周波数信号に変換する周波数分析部と、
前記周波数信号にピークが存在するという第３の条件を満たすか否かを判断するピーク検出部とを備え、
前記収束分析部は、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が所定の閾値を下回る場合に、前記第１の条件を満たすと判断し、
前記更新速度制御部は、前記第１〜第３の条件の全てを満たす場合に前記更新速度を前記第１の速度に設定し、前記第１〜第３の条件の少なくとも１つを満たさない場合に前記更新速度を前記第２の速度に設定する
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロホンとスピーカとを有する音響装置において、スピーカとマイクロホンとの間の音響結合により発生するハウリングを自動的に検出及び抑圧するハウリング抑圧装置に関するものである。
【背景技術】
【０００２】
ハウリングは、スピーカから出力された音がマイクロホンへ帰還することで起こる音のループが引き起こす発振現象である。一旦音響ループが形成されると、強いピークを持つ正弦波状信号が発生し、ループが切れるまで特定の周波数の音が増幅し続ける。【０００３】
従来のハウリング抑圧装置としては、適応フィルタを用いた適応処理によってマイクロホンとスピーカとの間の空間伝達特性を推定し、適応フィルタが生成した擬似帰還信号を入力信号から差し引くことで音響ループを断ち切り、ハウリングを抑圧するものが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５３２９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のハウリング抑圧装置では、マイクロホンで収音した音に含まれるハウリング成分の誤検出等によって、適応フィルタの空間伝達特性の推定性能が低下したり、処理音の音質が劣化したりする可能性があるという課題を有している。【０００６】
本発明は、従来の課題を解決するもので、フィードバックが引き起こすハウリングの検出精度を向上させ、適応的にハウリングを抑圧するハウリング抑圧装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一形態に係るハウリング抑圧装置は、入力信号に含まれるハウリング成分を抑圧する。具体的には、ハウリング抑圧装置は、前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算器と、前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタと、前記適応フィルタのフィルタ係数の更新速度を制御する係数更新制御部とを備える。前記係数更新制御部は、前記フィルタ係数によって定まる前記適応フィルタのフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析部と、所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析部と、前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御部とを備える。そして、前記適応フィルタは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御部で設定された前記更新速度で更新する。【０００８】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００９】
本発明によれば、フィードバックが引き起こすハウリングの検出精度を向上させ、適応的にハウリングを抑圧することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１におけるハウリング抑圧装置の基本ブロック図である。
【図２】図２は、実施の形態１におけるハウリング抑圧装置の係数更新制御部の詳細ブロック図である。
【図３】図３は、実施の形態１におけるハウリング抑圧装置の収束分析部で算出された二乗平均誤差を表すグラフである。
【図４】図４は、実施の形態１におけるハウリング抑圧装置の収束分析部の動作を示すフローチャートである。
【図５】図５は、実施の形態１におけるハウリング抑圧装置の変化量分析部の動作を示すフローチャートである。
【図６】図６は、実施の形態１におけるハウリング抑圧装置の状態判定部の動作を示すフローチャートである。
【図７】図７は、実施の形態１におけるハウリング抑圧装置の更新速度制御部の詳細ブロック図である。
【図８】図８は、実施の形態１におけるハウリング抑圧装置の更新速度制御部の動作を示すフローチャートである。
【図９】図９は、実施の形態２におけるハウリング抑圧装置の係数更新制御部の詳細ブロック図である。
【図１０】図１０は、実施の形態２におけるハウリング抑圧装置のピーク検出部の詳細ブロック図である。
【図１１】図１１は、実施の形態２におけるハウリング抑圧装置のピーク検出部の動作を示すフローチャートである。
【図１２】図１２は、実施の形態３におけるハウリング抑圧装置の係数更新制御部の詳細ブロック図である。
【図１３】図１３は、実施の形態４におけるハウリング抑圧装置の係数更新制御部の詳細ブロック図である。
【図１４】図１４は、実施の形態４におけるハウリング抑圧装置の更新速度制御部の詳細ブロック図である。
【図１５】図１５は、実施の形態４におけるハウリング抑圧装置の更新速度制御部における二乗平均誤差から更新速度への変換過程を示すグラフである。
【図１６】図１６は、実施の形態４におけるハウリング抑圧装置の更新速度制御部の動作を示すフローチャートである。
【図１７】図１７は、特許文献１のハウリング抑圧装置の基本ブロック図である。
【発明を実施するための形態】
【００１１】
（本発明の基礎となった知見）
図１７は、特許文献１に記載されたハウリング抑圧装置の構成を示すブロック図である。
【００１２】
図１７において、ハウリング抑圧装置は、入力音を入力信号に変換するマイクロホン９０１、マイクロホン９０１の入力信号から適応フィルタ９０６の出力信号を減算してエラー信号を出力する減算器９０２、エラー信号に増幅利得を適用することによってプロセッサ出力信号を生成する補聴器プロセッサ９０３、補聴器プロセッサ９０３の出力信号を出力音に変換するスピーカ９０４、補聴器プロセッサ９０３の出力信号を遅延させる遅延器９０５、遅延器９０５の出力信号に対しフィルタ係数を適用することによって、適応フィルタ出力信号（擬似帰還信号）を適応的に導出する適応フィルタ９０６、補聴器プロセッサ９０３の出力信号の自己相関を算出する自己相関算出部９０７、自己相関算出部９０７で算出された自己相関の値を閾値によって判定し、適応速度の変更を決定する閾値判定部９０８、閾値判定部９０８の判定結果から適応フィルタ９０６の更新速度を決定する更新制御部９０９から構成される。
【００１３】
マイクロホン９０１から入力された信号は、補聴器プロセッサ９０３を通って増幅され、スピーカ９０４から出力される。この時、スピーカ９０４の出力信号の一部は帰還信号として再びマイクロホン９０１へ入力される。そして、この音のループが途切れることなく補聴器プロセッサ９０３で増幅され続けると、信号の発振現象であるハウリングが発生する。そこで、適応フィルタ９０６にスピーカ９０４とマイクロホン９０１との間の空間伝達特性を推定させることで、ハウリングの基となる帰還信号を推定した信号である擬似帰還信号を生成し、減算器９０２で入力信号から推定した擬似帰還信号を差し引くことでハウリングを抑圧することができる。
【００１４】
ハウリングは、自己相関の強い正弦波状信号である。適応フィルタには、更新速度を緩めると目標特性の推定に時間を要するが精度良く推定を行うことができ、更新速度を速めると目標特性を素早く推定できるが推定精度が低下するという、推定速度と推定精度との間にトレードオフの関係が存在することが知られている。推定精度を優先して比較的緩やかな速度で係数更新を行うのが一般的であるが、ハウリングが発生した場合には、ユーザに不快な音を聞かせるのを防ぐために、素早く推定及び抑圧を行う必要がある。そのため、従来のハウリング抑圧装置は、適応フィルタの更新速度を制御する構成を有している。具体的には、従来のハウリング抑圧装置は、補聴器プロセッサ９０３の出力信号の自己相関が予め定めた閾値を上回るとハウリングが発生していると判断し、適応フィルタの更新速度を加速させる。このように自己相関の値を利用することで、適応フィルタのフィルタ係数の更新制御を行うことが可能である。
【００１５】
しかしながら、特許文献１の構成では、補聴器プロセッサで増幅された信号の自己相関の強さのみを見て更新速度を速めるように制御を行う。そのため、例えばハウリングではないが自己相関の強いユーザに聞かせるべき信号（例：サイレン、電話着信音等）が存在していた場合、誤って適応速度を速めてしまうことがある。その結果、適応フィルタの空間伝達特性の推定性能が低下したり、処理音の音質が劣化したりする可能性があるという課題を有している。
【００１６】
上記の課題を解決するために本発明の一形態に係るハウリング抑圧装置は、入力信号に含まれるハウリング成分を抑圧する。具体的には、ハウリング抑圧装置は、前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算器と、前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタと、前記適応フィルタのフィルタ係数の更新速度を制御する係数更新制御部とを備える。前記係数更新制御部は、前記フィルタ係数によって定まる前記適応フィルタのフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析部と、所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析部と、前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御部とを備える。そして、前記適応フィルタは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御部で設定された前記更新速度で更新する。
【００１７】
この構成によって、フィードバックが引き起こすハウリングを精度良く検出し、ハウリング検出時にだけ適応フィルタのフィルタ係数の更新速度を速める制御を行うことで、ユーザが聞きたい音の音質劣化を少なく、且つ速やかにハウリングを抑圧する事が可能となる。
【００１８】
なお、本明細書において、「適応フィルタのフィルタ特性の空間伝達特性に対する収束」を、単に「適応フィルタの収束」と表記することがある。また、「適応フィルタのフィルタ係数の更新速度」を、単に「適応フィルタの更新速度」と表記することがある。
【００１９】
さらに、前記係数更新制御部は、前記入力信号の信号レベルを算出する第１のレベル算出部と、前記誤差信号の信号レベルを算出する第２のレベル算出部とを備えてもよい。そして、前記収束分析部は、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が所定の閾値を下回る場合に、前記第１の条件を満たすと判断してもよい。
【００２０】
この構成によって、入力信号と誤差信号との二乗平均誤差を閾値判定することによって適応フィルタの収束状況を観察することが出来るようになるので、より精度良くハウリングを検出することが可能となる。
【００２１】
また、前記変化量分析部は、前記所定の時間内において、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が減少傾向を示す場合に、前記第２の条件を満たすと判断してもよい。
【００２２】
この構成によって、二乗平均誤差の時間方向の変化量を閾値判定することによって適応フィルタの収束状況を観察することが出来るようになるので、より精度良くハウリングを検出することが可能となる。
【００２３】
また、前記第１及び第２の条件の両方を満たす場合において、前記更新速度制御部は、前記入力信号の信号レベルと前記誤差信号の信号レベルとの二乗平均誤差が小さいほど、前記第１の速度を速くしてもよい。
【００２４】
この構成によって、適応フィルタの収束度合いを適応フィルタの更新速度に反映させることで、入力信号に応じた適応フィルタの更新制御を行うことが可能となる。
【００２５】
さらに、前記係数更新制御部は、前記入力信号の信号レベルを周波数信号に変換する周波数分析部と、前記周波数信号にピークが存在するという第３の条件を満たすか否かを判断するピーク検出部とを備えてもよい。そして、前記更新速度制御部は、前記第１〜第３の条件の全てを満たす場合に前記更新速度を前記第１の速度に設定し、前記第１〜第３の条件の少なくとも１つを満たさない場合に前記更新速度を前記第２の速度に設定してもよい。
【００２６】
この構成によって、入力信号の周波数特性の情報を加味してハウリングの発生を判断できるため、より精度良くハウリングを検出することが可能となる。
【００２７】
さらに、前記係数更新制御部は、前記入力信号の信号レベルの最大値が所定の値を超えるという第４の条件を満たすか否かを判断する音声検出部を備えてもよい。そして、前記更新速度制御部は、前記第１の条件、前記第２の条件、及び前記第４の条件の全てを満たす場合に前記更新速度を前記第１の速度に設定し、前記第１の条件、前記第２の条件、及び前記第４の条件の少なくとも１つを満たさない場合に前記更新速度を前記第２の速度に設定してもよい。
【００２８】
この構成によって、入力信号の大きさの情報を加味してハウリングの発生を判断できるため、より精度良くハウリングを検出することが可能となる。
【００２９】
また、前記収束分析部は、前記二乗平均誤差が前記所定の閾値を下回った状態が所定時間継続した場合に、前記第１の条件を満たすと判断してもよい。
【００３０】
この構成によって、二乗平均誤差の閾値判定結果の時間継続性を観察することが出来るようになり、より精度良くハウリングを検出することが可能となる。
【００３１】
また、前記変化量分析部は、前記二乗平均誤差の時間方向の傾き値を分析することによって、前記第２の条件を満たすか否かを判断してもよい。
【００３２】
この構成によって、二乗平均誤差の時間方向の傾き値を参照することによって適応フィルタが一定時間以上安定して収束しているかどうかを判定できるため、より精度良くハウリングの発生を検出することが可能となる。
【００３３】
また、前記変化量分析部は、前記二乗平均誤差の時間方向の差分値を分析することによって、前記第２の条件を満たすか否かを判断してもよい。
【００３４】
この構成によって、二乗平均誤差の時間方向の差分値を参照することによって適応フィルタが一定時間以上安定して収束しているかどうかを判定できるため、より精度良くハウリングの発生を検出することが可能となる。
【００３５】
本発明の一形態に係る補聴器は、周囲の音を収音して前記入力信号に変換する収音部と、上記に記載のハウリング抑圧装置と、前記減算器で生成された前記誤差信号を出力音に変換して出力する出力部とを備える。
【００３６】
この構成によって、ハウリングによる不快感を低減した補聴器を実現できる。
【００３７】
本発明の一形態に係るハウリング抑圧方法は、入力信号に含まれるハウリング成分を抑圧する方法である。具体的には、ハウリング抑圧方法は、前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算ステップと、前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタステップと、前記適応フィルタステップでのフィルタ係数の更新速度を制御する係数更新制御ステップとを含む。前記係数更新制御ステップは、前記フィルタ係数によって定まるフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析ステップと、所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析ステップと、前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御ステップとを含む。そして、前記適応フィルタステップでは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御ステップで設定された前記更新速度で更新する。
【００３８】
本発明の一形態に係る集積回路は、入力信号に含まれるハウリング成分を抑圧する。具体的には、集積回路は、前記入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、前記入力信号から減算して誤差信号を生成する減算器と、前記誤差信号にフィルタ処理を適用して、次の前記入力信号のための前記擬似帰還信号を生成する適応フィルタと、前記適応フィルタのフィルタ係数の更新速度を制御する係数更新制御部とを備える。前記係数更新制御部は、前記フィルタ係数によって定まる前記適応フィルタのフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析部と、所定の時間内において、前記フィルタ特性の前記空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析部と、前記第１及び第２の条件の両方を満たす場合に前記更新速度を第１の速度に設定し、前記第１及び第２の条件の少なくとも一方を満たさない場合に前記更新速度を前記第１の速度より遅い第２の速度に設定する更新速度制御部とを備える。そして、前記適応フィルタは、前記誤差信号にフィルタ処理を適用するためのフィルタ係数を、前記更新速度制御部で設定された前記更新速度で更新する。
【００３９】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【００４０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４１】
（実施の形態１）
実施の形態１に係るハウリング抑圧装置は、入力信号に含まれるハウリング成分を抑圧する装置であって、入力信号に含まれるハウリング成分である帰還信号を推定した信号である擬似帰還信号を、入力信号から減算して誤差信号を生成する減算器と、誤差信号にフィルタ処理を適用して、次の入力信号のための擬似帰還信号を生成する適応フィルタと、適応フィルタのフィルタ係数の更新速度を制御する係数更新制御部とを少なくとも備える。そして、適応フィルタは、誤差信号にフィルタ処理を適用するためのフィルタ係数を、係数更新制御部（後述する更新速度制御部）で設定された更新速度で更新する。
【００４２】
図１を参照して、実施の形態１に係るハウリング抑圧装置を詳細に説明する。図１は、実施の形態１におけるハウリング抑圧装置の基本ブロック図である。
【００４３】
図１において、本実施の形態に係るハウリング抑圧装置は、周囲の音を収音して入力信号（目標信号）に変換するマイクロホン１０１と、マイクロホン１０１の出力信号（目標信号）から適応フィルタ１０７の出力信号（擬似帰還信号）を差し引き、エラー信号（誤差信号）を出力する減算器１０２と、入力されたエラー信号に音響信号処理を施して出力する音響処理部１０３と、音響処理部１０３の出力信号を増幅するアンプ１０４と、アンプ１０４で増幅された音（出力音）を出力するスピーカ１０５と、音響処理部１０３の出力信号を遅延させて適応フィルタ１０７の参照信号として出力する遅延器１０６と、入力された参照信号にフィルタ係数を畳み込むことで擬似帰還信号を出力すると共に、適応アルゴリズムに従ってフィルタ係数の更新を行う適応フィルタ１０７と、マイクロホン１０１から出力される目標信号と減算器１０２から出力されるエラー信号とに基づいて、適応フィルタ１０７の更新速度を決定する係数更新制御部１０８とを備えている。
【００４４】
実施の形態１に係る係数更新制御部は、前記フィルタ係数によって定まる適応フィルタのフィルタ特性の、空間伝達特性に対する収束の度合いが基準値を超えるという第１の条件を満たすか否かを判断する収束分析部と、所定の時間内において、フィルタ特性の空間伝達特性に対する収束が進んでいるという第２の条件を満たすか否かを判断する変化量分析部と、第１及び第２の条件の両方を満たす場合に更新速度を第１の速度に設定し、第１及び第２の条件の少なくとも一方を満たさない場合に更新速度を第１の速度より遅い第２の速度に設定する更新速度制御部とを少なくとも備える。
【００４５】
より具体的には、係数更新制御部は、さらに、入力信号の信号レベルを算出する第１のレベル算出部と、誤差信号の信号レベルを算出する第２のレベル算出部とを備える。そして、収束分析部は、入力信号の信号レベルと誤差信号の信号レベルとの二乗平均誤差が所定の閾値を下回る場合に、第１の条件を満たすと判断してもよい。また、変化量分析部は、所定の時間内において、入力信号の信号レベルと誤差信号の信号レベルとの二乗平均誤差が減少傾向を示す場合に、第２の条件を満たすと判断してもよい。
【００４６】
次に、図２を参照して、係数更新制御部１０８を詳細に説明する。図２は、本実施の形態１におけるハウリング抑圧装置の係数更新制御部１０８の詳細ブロック図である。
【００４７】
図２において、本実施の形態に係る係数更新制御部１０８は、目標信号が入力される入力端子２０１と、エラー信号が入力される入力端子２０２と、目標信号の信号レベルを算出するレベル算出部２０３と、エラー信号の信号レベルを算出するレベル算出部２０４と、目標信号の信号レベルとエラー信号の信号レベルとから適応フィルタ１０７の収束度合いを分析する収束分析部２０５と、収束分析部２０５の出力信号（二乗平均誤差）の時間変化を分析する変化量分析部２０６と、収束分析部２０５の出力である二乗平均誤差と、変化量分析部の２０６の出力である二乗平均誤差の時間方向の傾き値とからハウリングが発生しているかどうかの判定を行う状態判定部２０７と、状態判定部２０７の判定結果から適応フィルタ１０７の更新速度を決めるパラメータを決定する更新速度制御部２０８と、決定された更新制御パラメータを出力する出力端子２０９とを備えている。
【００４８】
まず、実施の形態１におけるハウリング抑圧装置の全体動作について説明する。
【００４９】
マイクロホン１０１に入力された入力信号は、減算器１０２で適応フィルタ１０７の出力信号を減算され、誤差信号として音響処理部１０３に入力される。音響処理部１０３は、入力された誤差信号に所望の音響信号処理を施すもので、例えば増幅処理やフィルタ処理など、誤差信号を加工して時間信号を出力する。音響処理部１０３の出力信号は、次にアンプ１０４に入力されて増幅される。そして増幅された出力信号は、スピーカ１０５から出力音として出力される。この時、スピーカ出力音の一部がマイクロホン１０１に帰還することで、スピーカ１０５とマイクロホン１０１との間に音響ループが形成される。この音響ループが途切れず信号が周り続けると、特定の帯域で信号が発振し、ハウリングを引き起こす。そこで、実施の形態１におけるハウリング抑圧装置は、発生したハウリングを適応フィルタ１０７を用いて抑圧する。
【００５０】
また、音響処理部１０３から出力された出力信号は、遅延器１０６に入力されて、例えば数サンプル〜数十サンプル遅延される。遅延器１０６で遅延された出力信号は、参照信号として適応フィルタ１０７に出力される。そして、適応フィルタ１０７は、遅延器１０６から取得した参照信号とフィルタ係数との畳み込み処理を行い、擬似帰還信号を減算器１０２に出力する。減算器１０２では、マイクロホン１０１の入力信号（目標信号）から擬似帰還信号を差し引くことで、目標信号に含まれるフィードバック成分（ハウリング成分）を取り除き、エラー信号を出力する。
【００５１】
適応フィルタ１０７は、例えば２５６タップのＦＩＲフィルタである。適応フィルタ１０７のフィルタ係数は、例えば、目標信号とエラー信号との二乗平均誤差を最小とするような規範の下で動作する適応アルゴリズムに従って更新される。適応フィルタ１０７の更新アルゴリズムとしては、ＮＬＭＳアルゴリズムなど、公知の各種適応アルゴリズムを用いる。二乗平均誤差が最小となるときとは、適応フィルタ１０７が空間伝達特性を正確に推定できた場合である。
【００５２】
かかる構成によれば、フィルタ係数の更新を進めることで適応フィルタ１０７による空間伝達特性の推定精度が向上し、適応フィルタ１０７からの出力が帰還信号と類似した擬似帰還信号となる。その結果、減算器１０２から出力されるエラー信号は、目標信号から擬似帰還信号が取り除かれているので、ユーザが本来聞きたい音を得ることができる。
【００５３】
なお、図１において、遅延器１０６は、音響処理部１０３の出力信号を入力としているが、減算器１０２の出力信号（誤差信号）を入力としても良いし、アンプ１０４の出力信号を入力とする構成でも良い。
【００５４】
次に、実施の形態１における係数更新制御部１０８の動作について説明する。係数更新制御部１０８は、適応フィルタ１０７のフィルタ係数の更新制御を実現するために設けられた部分である。
【００５５】
入力端子２０１、２０２には、それぞれマイクロホン１０１の入力信号（目標信号）とエラー信号とが入力される。レベル算出部２０３は、入力端子２０１に入力された目標信号の信号レベルを算出する。レベル算出部２０４は、入力端子２０２に入力されたエラー信号の信号レベルを算出する。収束分析部２０５では、目標信号の信号レベルとエラー信号の信号レベルとの二乗平均誤差を算出する。二乗平均誤差とは、適応フィルタ１０７の収束度合いを判断するために用いられる指標である。この値を算出することで、エラー信号の中にどれだけ帰還信号成分が残っているかを参照することができる。
【００５６】
一例として、二乗平均誤差には、エラー信号の信号レベルの二乗と、目標信号の信号レベルの二乗との比を用いることができる。但し、二乗平均誤差の具体例は、これに限定されず、例えば、目標信号の信号レベルの二乗とエラー信号の信号レベルの二乗との差を用いてもよい。また、二乗平均誤差を算出するパラメータは、目標信号とエラー信号との組み合わせには限定されない。例えば、目標信号と擬似帰還信号との二乗平均誤差であってもよいし、擬似帰還信号とエラー信号との二乗平均誤差であってもよい。
【００５７】
図３は、マイクロホン１０１に音声と雑音との混合信号を入力し、適応フィルタ１０７を常に一定の速度で動作させながら５秒目で意図的にハウリングを生じさせた場合の時間波形（上段）と、収束分析部２０５で算出した二乗平均誤差（下段）とを描画したグラフである。５秒目で生じたハウリングは約２秒で収束するが、この時、二乗平均誤差のグラフを参照すると、ハウリングが生じるのと同じタイミングでグラフの値が低下し始め、ハウリングが収束するとまた値が上昇していく様子が観察される。この二乗平均誤差の低下は、ハウリングを適応フィルタ１０７が同定することで、適応フィルタ１０７の収束が進んでいる状態を表している。
【００５８】
すなわち、収束分析部２０５は、これを利用して、適応フィルタ１０７の収束の度合いを判断することが出来る。図２における収束分析部２０５は、二乗平均誤差と予め定められた閾値とを比較し、二乗平均誤差が閾値を下回る場合は第１の検出フラグ（収束フラグ）の値を１に設定し、二乗平均誤差が閾値以上の場合は第１の検出フラグの値を０に設定する。なお、上述した第１の検出フラグの設定値は一例であり、これに限定されない。すなわち、第１の検出フラグには、適応フィルタ１０７の収束の度合いが基準値を越えている状態を表す値（上記の例では“１”）と、適応フィルタ１０７の収束の度合いが基準値以下の状態を表す値（上記の例では“０”）とのうちのいずれかを設定すればよい。後述する他のフラグに設定される値についても同様のことが言える。
【００５９】
変化量分析部２０６は、収束分析部２０５で算出される二乗平均誤差に加えて、より精度良くハウリングの発生状態を検出できるように設けられたブロックである。変化量分析部２０６では、入力された二乗平均誤差の時間方向の変化量を分析する。具体的には、変化量分析部２０６は、現在の時刻ｔにおける二乗平均誤差と、過去の時刻（ｔ−ｎ）における二乗平均誤差値との傾きを算出する。そして、変化量分析部２０６は、過去の時刻（ｔ−ｎ）の二乗平均誤差に対する現在の時刻ｔの二乗平均誤差の傾きがマイナスであれば適応フィルタ１０７の収束が進んでおり、傾きがプラスであれば適応フィルタ１０７の収束が停滞しているとみなす。また、変化量分析部２０６は、所定の時間内における二乗平均誤差の傾きがマイナスであり続ける場合、収束が継続しているとみなすことができる。
【００６０】
なお、「過去の時刻（ｔ−ｎ）の二乗平均誤差に対する現在の時刻ｔの二乗平均誤差の傾きがマイナスである」とは、所定の時間内における二乗平均誤差が減少傾向を示すことを意味するものであり、隣接するサンプル間の二乗平均誤差が単調減少していることまでを要求するものではない。
【００６１】
収束分析部２０５では、二乗平均誤差の値そのものを観察するため、ハウリングの他に音声などハウリング以外の収束の進みやすい信号を誤検出する可能性がある。これに対して、変化量分析部２０６では、収束の時間方向の継続性を分析することで、例えば音声など、時間変動の激しい入力信号に対する誤検出を低減することができる。そして、変化量分析部２０６は、収束分析部２０５と同様に閾値判定を利用し、算出した二乗平均誤差の時間方向の傾き値が閾値を下回る場合に第２の検出フラグ（変化量フラグ）の値を１に設定し、二乗平均誤差の時間方向の傾き値が閾値以上の場合に第２の検出フラグの値を０に設定する。
【００６２】
状態判定部２０７では、収束分析部２０５から出力された収束フラグと、変化量分析部２０６から出力された変化量フラグとを用いて、マイクロホン１０１に入力された信号にハウリングが含まれているか否かの判定を行う。具体的には、状態判定部２０７は、収束フラグと変化量フラグとを参照し、両方のフラグが立っている（上記の例では、“１”が設定されている）場合にハウリングが発生している状態であるとして加速フラグを立てる（例えば、“１”を設定する）。一方、状態判定部２０７は、収束フラグ及び変化量フラグの少なくともいずれか一方が立っていない（上記の例では、“０”が設定されている）場合にハウリングが発生していない状態として加速フラグを立てない（例えば、“０”を設定する）。
【００６３】
更新速度制御部２０８は、状態判定部２０７の出力信号である加速フラグの値に従って適応フィルタ１０７の更新速度を設定する。具体的には、更新速度制御部２０８は、状態判定部２０７から入力された加速フラグが１の場合は更新速度を大きい値（第１の速度）に設定し、加速フラグが０の場合は更新速度を通常値（第１の速度より遅い第２の速度）に設定し、設定された更新速度を適応フィルタ１０７に出力する。なお、「更新速度」とは、フィルタ係数の単位時間当たりの更新量を指す。より具体的には、更新速度は、１回の更新処理におけるフィルタ係数の変動幅と言い換えることができる。
【００６４】
図４〜図６は、図２に示される係数更新制御部１０８の動作を、ソフトウェアで実現する場合の動作を示すフローチャートである。
【００６５】
図４は、収束分析部２０５の動作を表すフローチャートである。収束分析部２０５は、目標信号の信号レベルとエラー信号の信号レベルとの二乗平均誤差を算出する（Ｓ１１０１）。次に、収束分析部２０５は、算出された二乗平均誤差の値と予め定められた閾値とを比較する（Ｓ１１０２）。そして、二乗平均誤差が閾値を下回る場合（Ｓ１１０２でＹｅｓ）は収束フラグの値を１に設定（Ｓ１１０３）して状態判定部２０７に出力し、二乗平均誤差が閾値以上の場合（Ｓ１１０２でＮｏ）は収束フラグの値を０に設定（Ｓ１１０４）して状態判定部２０７に出力する。なお、図４のステップＳ１１０１では現在時刻における二乗平均誤差と閾値とを比較しているが、これに限定されず、二乗平均誤差が所定の閾値を下回った状態が所定時間継続した場合に、ステップＳ１１０１でＹｅｓと判断してもよい。
【００６６】
図５は、変化量分析部２０６の動作を表すフローチャートである。変化量分析部２０６は、収束分析部２０５から二乗平均誤差を取得し、二乗平均誤差の時間方向の変化量を算出する（Ｓ１２０１）。次に、変化量分析部２０６は、算出された時間変化量と予め定められた閾値の値とを比較する（Ｓ１２０２）。変化量分析部２０６は、時間変化量が閾値を下回る場合（Ｓ１２０２）に変化量フラグの値を１に設定（Ｓ１２０３）して状態判定部２０７に出力し、時間変化量が閾値以上の場合（Ｓ１２０２でＮｏ）に変化量分析部２０６は、変化量フラグの値を０に設定（Ｓ１２０４）して状態判定部２０７に出力する。
【００６７】
図６は、状態判定部２０７の動作を表すフローチャートである。まず、状態判定部２０７は、第１の条件として、収束分析部２０５から取得した収束フラグの値を確認する（Ｓ１３０１）。そして、収束フラグの値が０の場合（Ｓ１３０１でＮｏ）、状態判定部２０７は、加速フラグの値を０に設定（Ｓ１３０３）して更新速度制御部２０８に出力する。一方、収束フラグの値が１の場合（Ｓ１３０１でＹｅｓ）、状態判定部２０７は、次に、第２の条件として、変化量分析部２０６から取得した変化量フラグの値を確認する（Ｓ１３０２）。そして、状態判定部２０７は、変化量フラグの値が０の場合（Ｓ１３０２でＮｏ）に加速フラグの値を０に設定（Ｓ１３０５）して更新速度制御部２０８に出力し、変化量フラグの値が１の場合（Ｓ１３０２でＹｅｓ）に加速フラグの値を１に設定（Ｓ１３０４）して更新速度制御部２０８に出力する。なお、収束フラグ及び変化量フラグの確認順序は、図６の例に限定されない。すなわち、変化量フラグを確認した後に収束フラグを確認してもよい。
【００６８】
かかる構成によれば、目標信号とエラー信号とから算出された二乗平均誤差を分析することで適応フィルタ１０７の収束を加速させるタイミングを自動判断することが可能となり、算出された加速のタイミングに従って適応フィルタ１０７の更新速度を変化させることができる。これにより、ハウリングが発生している間だけ高速に適応フィルタ１０７のフィルタ係数を更新することになるので、速やかにハウリングを抑圧することが可能となる。
【００６９】
なお、図２の変化量分析部２０６では二乗平均誤差の時間方向の傾き値を見るとしているが、変化量の算出には時間方向に２つの二乗平均誤差の差分値を取っても良いし、２つの二乗平均誤差の大小関係を算出して判定を行っても良い。また、二乗平均誤差の時間方向の傾き値が、一定の時間以上継続して減少を続けるか観察を行い、継続性が見られた場合のみ変化量フラグを立てるような構成でも良い。
【００７０】
かかる構成によれば、二乗平均誤差の瞬間的な値のみならず、二乗平均誤差の時間方向の傾き値の時間的な継続性をハウリングが発生しているか否かを判定する判定基準に加えることによって、適応フィルタ１０７の収束が一定時間以上安定して進んでいる状態のみを選択することができる。このため、ハウリングの発生をより精度良く検出することが可能となる。
【００７１】
図７は、実施の形態１における更新速度制御部２０８の詳細ブロック図である。
【００７２】
図７において、本実施の形態に係る更新速度制御部２０８は、入力端子３０１と、更新速度選択部３０２と、出力端子３０３とを備えている。
【００７３】
入力端子３０１には、図２における状態判定部２０７の出力信号が入力される。状態判定部２０７の出力信号とは加速フラグであり、ハウリングが発生していれば１が、ハウリングが発生していなければ０が設定されている。更新速度選択部３０２には、予め定められた適応フィルタ１０７の更新速度が記憶されており、加速用の第１の速度と通常用の第２の速度との２種類の値を持っている。そして、更新速度選択部３０２は、入力された加速フラグの値が１の場合は加速用の値を、フラグの値が０の場合は通常用の値を適応フィルタ１０７の更新速度として決定し、出力端子３０３へ出力する。
【００７４】
図８は、更新速度制御部２０８の動作を表すフローチャートである。更新速度制御部２０８は、状態判定部２０７から取得した加速フラグの値を判定する（Ｓ１４０１）。そして、更新速度制御部２０８は、加速フラグの値が１である場合（Ｓ１４０１で）は適応フィルタ１０７の更新速度を予め定めた加速用の値に設定し（Ｓ１４０２）、加速フラグの値が０である場合は適応フィルタ１０７の更新速度を通常用の値に設定する（Ｓ１４０３）。
【００７５】
かかる構成によれば、更新速度選択部３０２で予め定めた更新制御用パラメータ値を保有し、入力信号に応じて対応する値を１つ選択することによって、適応フィルタ１０７の更新速度を変化させ、ハウリングを素早く抑圧することが可能となる。
【００７６】
（実施の形態２）
実施の形態２に係る係数更新制御部は、さらに、入力信号の信号レベルを周波数信号に変換する周波数分析部と、周波数信号にピークが存在するという第３の条件を満たすか否かを判断するピーク検出部とを備える。そして、更新速度制御部は、第１〜第３の条件の全てを満たす場合に更新速度を第１の速度に設定し、第１〜第３の条件の少なくとも１つを満たさない場合に更新速度を第２の速度に設定する。
【００７７】
図９を参照して、実施の形態２に係る係数更新制御部１０８を詳細に説明する。図９は、実施の形態２における係数更新制御部１０８の詳細ブロック図である。図９において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【００７８】
図９において、本実施の形態に係る係数更新制御部１０８は、入力端子２０１に入力された時間信号を周波数領域の信号に変換する周波数分析部４０１と、周波数分析部４０１から出力された周波数領域の信号を分析して周波数ピークを検出するピーク検出部４０２とをさらに備える。そして、本実施の形態に係る状態判定部４０３は、収束分析部２０５から出力された収束フラグと、変化量分析部２０６から出力された変化量フラグと、ピーク検出部４０２から出力されたピーク検出結果（ピーク検出フラグ）とに基づいて、マイクロホン１０１に入力された信号にハウリング成分が含まれているかどうかを判定する。
【００７９】
周波数分析部４０１は、入力端子２０１を通じて取得したマイクロホン１０１の出力信号（目標信号）を周波数変換し、複数の帯域信号に分割する。周波数変換手法としては、例えば高速フーリエ変換、複数のＦＩＲフィルタまたはＩＩＲフィルタから構成されるフィルタバンクなど、時間信号を複数の帯域信号に分割する公知の各手法を用いることができる。ピーク検出部４０２では、帯域分割された周波数領域信号から信号の周波数特性を分析して周波数ピークの検出を行い、周波数ピークの数を出力する。
【００８０】
図１０は、実施の形態３におけるピーク検出部４０２の詳細ブロック図である。
【００８１】
図１０において、本実施の形態に係るピーク検出部４０２は、帯域分割された周波数領域の信号をピーク検出部４０２へ入力する入力端子５０１と、帯域ごとに入力信号の信号レベルを算出するレベル算出部５０２と、複数帯域の信号レベルから入力信号の周波数特性を分析する特徴分析部５０３と、特徴分析部５０３の出力である周波数特性を入力として周波数ピークを検出するピーク判定部５０４と、ピーク判定部５０４の出力結果を出力する出力端子５０５とを備えている。
【００８２】
図１０の周波数分析部４０１で複数の帯域に分割された周波数領域信号は、帯域ごとにレベル算出部５０２に入力される。レベル算出部５０２では、入力された帯域ごとの周波数領域の信号の信号レベルを算出して出力する。特徴分析部５０３は、入力された帯域ごとの信号レベルから周波数特性を分析する。具体的には、特徴分析部５０３は、隣り合う帯域レベルのレベル比を算出して出力する。ピーク判定部５０４には、特徴分析部５０３から出力される帯域レベル比を所定の閾値と比較し、閾値を超えた帯域があれば正弦波状信号が存在するとみなし、ピーク数カウンタに１を加算する。出力端子５０５は、ピーク数カウンタをピーク判定部５０４でカウントされたピーク周波数の数として出力する。
【００８３】
図９において、最後に状態判定部４０３では、ピーク検出部４０２から出力されたピーク数カウンタ、収束分析部２０５から出力された収束フラグ、及び変化量分析部２０６から出力された変化量フラグの３つのパラメータを基に、ハウリングが発生しているかどうかの判定を行う。ハウリングは鋭い周波数ピークが１本だけ立つ正弦波状信号であるため、周波数ピークの数を状態判定に取り入れることで、より精度良くハウリングの発生を検出することができる。すなわち、状態判定部４０３は、第１のフラグと第２のフラグとが両方１で、かつピーク検出部４０２から出力されたピーク数が１の場合（第３の条件）にのみハウリングが発生していると判断し、加速フラグを１にする。
【００８４】
かかる構成によれば、周波数領域の信号の分析結果（ピーク数）を状態判定部４０３に入力し、入力信号の周波数特性を判定基準に加えることで、より高精度なハウリング検出が可能となる。
【００８５】
図１１は、ピーク検出部４０２の動作を表すフローチャートである。レベル算出部５０２は、周波数分析部４０１から帯域ごとの周波数領域の信号を取得すると、まず分割された帯域ごとに信号レベルを算出する（Ｓ１５０１）。次に、特徴分析部５０３は、算出された各帯域の信号レベルを利用して、隣り合う帯域のレベル比を算出する（Ｓ１５０２）。次に、ピーク判定部５０４は、レベル比を予め定められた閾値と比較（Ｓ１５０３）し、レベル比が閾値を上回る場合にピーク数カウンタの値に１を加算する（Ｓ１５０４）。次に、ピーク判定部５０４は、ピーク数カウンタの数を判定する（Ｓ１５０５）。ピーク数カウンタの値が１である場合（Ｓ１５０５でＹｅｓ）、ピーク判定部５０４は、ハウリングが発生していると判断してピーク検出フラグを１に設定する（Ｓ１５０６）。一方、ピーク数カウンタが１でない値の場合（Ｓ１５０５でＮｏ）、ピーク判定部５０４は、ピーク検出フラグを０に設定する（Ｓ１５０７）。
【００８６】
かかる構成によれば、隣り合う帯域ごとの信号レベルのレベル比を取ることで、周波数特性のピーク検出を行うことができるので、ハウリングをより精度よく検出し、適応フィルタ１０７のフィルタ係数の更新制御を適切に行うことが可能となる。
【００８７】
なお、本実施の形態において、特徴分析部５０３では隣り合う帯域の信号レベル比を算出すると記述したが、隣り合う２つの帯域の信号レベルの差分を算出してピーク検出を行っても良いし、隣り合う２つの帯域の大小関係を利用してピーク検出を行っても良い。
【００８８】
なお、本実施の形態において、ピーク検出部４０２による周波数ピークのカウント条件は、周波数ピークがある一定の時間以上継続して現れた場合にカウンタフラグの値を１増やす構成にしても良い。
【００８９】
（実施の形態３）
実施の形態３に係る係数更新制御部は、さらに、入力信号の信号レベルの最大値が所定の値を超えるという第４の条件を満たすか否かを判断する音声検出部を備える。そして、更新速度制御部は、第１の条件、第２の条件、及び第４の条件の全てを満たす場合に更新速度を第１の速度に設定し、第１の条件、第２の条件、及び第４の条件の少なくとも１つを満たさない場合に更新速度を第２の速度に設定する。
【００９０】
図１２を参照して、実施の形態３に係る係数更新制御部１０８を詳細に説明する。図１２は、実施の形態３における係数更新制御部１０８の詳細ブロック図である。図１２において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【００９１】
図１２において、本実施の形態に係る係数更新制御部１０８は、レベル算出部２０３から取得した入力信号の信号レベルに基づいて、ハウリング信号の有無を判断する音声検出部６０１をさらに備える。そして、本実施の形態に係る状態判定部６０２は、音声検出部６０１、収束分析部２０５、及び変化量分析部２０６それぞれの出力からハウリングが発生しているかどうかを判定する。
【００９２】
音声検出部６０１は、レベル算出部２０３で算出された入力信号の信号レベルを入力とする。ハウリングは信号の発振現象であるため、ハウリングが生じている場合の入力信号の信号レベルは大きな値を示す。これを利用して、音声検出部６０１は、入力信号の信号レベルの大きさと閾値とを比較し、入力信号の信号レベルが閾値以上の場合は信号検出フラグを１に設定して状態判定部６０２に出力し、入力信号の信号レベルが閾値を下回る場合は信号検出フラグを０に設定して状態判定部６０２に出力する。状態判定部６０２では、収束分析部２０５の出力である収束フラグと、変化量分析部２０６の出力である変化量フラグと、音声検出部６０１の出力である信号検出フラグとに基づいて、ハウリングが発生しているかどうかを判定する。具体的には、状態判定部６０２は、二乗平均誤差の閾値判定で収束フラグが１になり、変化量フラグが１になり、かつ信号検出フラグが１の場合（第４の条件）にハウリングが発生しているとみなし、加速フラグを１にする。
【００９３】
かかる構成によれば、信号レベルの情報を適応フィルタ１０７のフィルタ係数の更新制御の条件に加えることによって、ハウリングが発生しているかどうかを入力信号の大きさからも判定できる。その結果、より適切に適応フィルタ１０７のフィルタ係数の更新制御を行うことが可能となる。
【００９４】
（実施の形態４）
実施の形態４に係る更新速度制御部は、第１及び第２の条件の両方を満たす場合において、入力信号の信号レベルと誤差信号の信号レベルとの二乗平均誤差が小さいほど、第１の速度を速くする。
【００９５】
図１３を参照して、実施の形態４に係る係数更新制御部１０８を詳細に説明する。図１３は、実施の形態４における係数更新制御部１０８の詳細ブロック図である。図１３において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【００９６】
図１３において、本実施の形態に係る係数更新制御部１０８は、更新速度制御部７０１を新たに備えている。
【００９７】
更新速度制御部７０１は、状態判定部２０７の出力結果である加速フラグと、収束分析部２０５の出力結果である二乗平均誤差の値との２つの信号を入力としている。二乗平均誤差の値は、入力信号に応じた適応フィルタ１０７の収束度合いを示すパラメータであるので、加速フラグが１（ハウリングが発生していると判定された状態）の場合、更新速度制御部７０１は、二乗平均誤差の値を見ることによって適応フィルタ１０７をどの程度加速させれば良いかについて、大まかな目安を知ることができる。これを利用して、更新速度制御部７０１は、加速フラグが１の場合に二乗平均誤差の値を変換することで、適応フィルタ１０７の更新速度を決定し、出力する。
【００９８】
かかる構成によれば、更新速度制御部７０１は、二乗平均誤差の値を利用して更新速度を決定することで、入力信号に応じて更新速度の値を最適化して適応フィルタ１０７のフィルタ係数の更新制御を行うことが可能となる。
【００９９】
図１４は、本実施の形態４における更新速度制御部７０１の詳細ブロック図である。
【０１００】
図１４において、本実施の形態に係る更新速度制御部７０１は、収束分析部２０５の出力である二乗平均誤差を入力とする入力端子８０１と、状態判定部２０７の出力である加速フラグを入力とする入力端子８０２と、入力端子８０１から入力された二乗平均誤差の値を平滑化する平滑化処理部８０３と、平滑化処理部８０３から出力された平滑化後の二乗平均誤差から適応フィルタ１０７の更新速度を算出する更新速度算出部８０４と、入力端子８０２から入力された加速フラグの値と更新速度算出部８０４で算出された更新速度とに基づいて、適応フィルタ１０７の更新速度を最終決定する更新速度設定部８０５と、設定された更新速度を適応フィルタ１０７に出力する出力端子８０６とを備えている。
【０１０１】
二乗平均誤差を入力とする平滑化処理部８０３では、二乗平均誤差の細かな時間変動を取り除き、適応フィルタ１０７の更新速度に変換しやすい程度に平滑化処理を行う。平滑化処理された信号（二乗平均誤差）は、更新速度算出部８０４へ入力される。更新速度算出部８０４では、平滑化処理された二乗平均誤差を適応フィルタ１０７の更新速度を決定するための指標に変換する処理を行う。
【０１０２】
図１５は、図１４における更新速度算出部８０４の処理の過程で算出される途中信号をグラフで描画したものである。図１５の（ａ）は、ホワイトノイズを入力信号とし、１０秒目で系変動を起こしてハウリングを発生させた場合の最終出力信号である。図１５の（ａ）では、１０秒目から約１秒間波形の振幅が大きくなり、ハウリングが発生している様子が分かる。
【０１０３】
次に、図１５の（ｂ）は、図１５の（ａ）の時の二乗平均誤差を描画したもので、１０秒目でハウリングが発生すると、二乗平均誤差の値が大きく低下している。次に、図１５の（ｃ）は、図１５の（ｂ）の二乗平均誤差にオフセット（約１ｄＢ）を載せた値を反転し、さらに二乗平均誤差の低下が大きく見られる箇所だけが０を越える値となるように変換した結果である。
【０１０４】
図１５の（ｄ）は、状態判定部２０７で定められた加速フラグを描画したものである。図１５の（ｅ）は、予め定めておいた更新速度の下限値と上限値とのレンジ幅を利用して、図１５の（ｃ）の値を下限値から上限値の間に収まるように調整（マッピング）し、二乗平均誤差の大きな変動だけを捕らえて適応フィルタ１０７の更新速度への変換を行った結果を示す図である。
【０１０５】
最後に、更新速度設定部８０５は、入力端子８０２から入力される加速フラグが１の場合に、更新速度算出部８０４で算出された更新速度を最終的な更新速度として設定して出力端子８０６に出力し、加速フラグが０の場合に通常時の更新速度を設定して出力端子８０６に出力する。
【０１０６】
図１６は、更新速度制御部７０１の動作を表すフローチャートである。まず、平滑化処理部８０３は、収束分析部２０５の出力である二乗平均誤差を平滑化し、細かな二乗平均誤差の変動を除去して大まかな値の変動を抽出する（Ｓ１６０１）。次に、更新速度算出部８０４は、平滑化した二乗平均誤差の最大値と最小値とが、それぞれ予め定めておいた適応フィルタ１０７の更新速度を表すパラメータの上限値と下限値に一致するように値を変換する（Ｓ１６０２）。次に、更新速度設定部８０５は、更新速度制御部７０１に入力された加速フラグの値を確認する（Ｓ１６０３）。加速フラグの値が１である場合（Ｓ１６０３でＹｅｓ）、更新速度設定部８０５は、適応フィルタ１０７の更新速度に、ステップＳ１６０２で算出された二乗平均誤差を更新速度に変換した値を設定する（Ｓ１６０４）。一方、加速フラグの値が１でない場合（Ｓ１６０３でＮｏ）、更新速度設定部８０５は、適応フィルタ１０７の更新速度に通常時の値を設定する（Ｓ１６０５）。
【０１０７】
かかる構成によれば、二乗平均誤差の値を適応フィルタ１０７の更新速度に対応するように変換することで、入力信号に応じて更新速度の値を最適化して適応フィルタ１０７の更新速度を制御することが可能となる。
【０１０８】
なお、更新速度算出部８０４では二乗平均誤差を適応フィルタ１０７の更新速度に変換したが、連続的な値に変換するのでなく、予め定めた更新速度の下限値と上限値との間に例えば２のべき乗でパラメータを段階的に設定し、ビットシフトなどによって二乗平均誤差をいずれかの設定値にマッピングしても良い。
【０１０９】
上記の各実施の形態に係るハウリング抑圧装置は、例えば、補聴器に利用することができす。すなわち、このような補聴器は、周囲の音を収音して入力信号に変換する収音部（マイクロホン）と、上記の各実施の形態に係るハウリング抑圧装置と、減算器で生成された誤差信号を出力音に変換して出力する出力部（スピーカ）とを備える。
【０１１０】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１１１】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムで実現され得る。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１１２】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＯＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、ＲＯＭからＲＡＭにコンピュータプログラムをロードし、ロードしたコンピュータプログラムにしたがって演算等の動作することにより、システムＬＳＩは、その機能を達成する。
【０１１３】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールには、上記の超多機能ＬＳＩが含まれてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有してもよい。
【０１１４】
（４）本発明は、上記に示す方法で実現されてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムで実現してもよいし、コンピュータプログラムからなるデジタル信号で実現してもよい。
【０１１５】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したもので実現してもよい。また、これらの記録媒体に記録されているデジタル信号で実現してもよい。
【０１１６】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
【０１１７】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作してもよい。
【０１１８】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施してもよい。
【０１１９】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせてもよい。
【０１２０】
以上、図面を参照してこの発明の実施形態を説明したが、この発明は、図示した実施形態のものに限定されない。図示した実施形態に対して、この発明と同一の範囲内において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【産業上の利用可能性】
【０１２１】
本発明にかかるハウリング抑圧装置は、マイクロホンとスピーカとを有する各種音響装置において、スピーカとマイクロホンとの間の音響結合により発生するハウリングを抑圧するハウリング抑圧装置等として有用である。
【符号の説明】
【０１２２】
１０１，９０１    マイクロホン
１０２，９０２    減算器
１０３    音響処理部
１０４    アンプ
１０５，９０４    スピーカ
１０６，９０５    遅延器
１０７，９０６    適応フィルタ
１０８    係数更新制御部
２０１，２０２，３０１，５０１，８０１，８０２    入力端子
２０３，２０４，５０２    レベル算出部
２０５    収束分析部
２０６    変化量分析部
２０７，４０３，６０２    状態判定部
２０８，７０１    更新速度制御部
２０９，３０３，５０５，８０６    出力端子
３０２    更新速度選択部
４０１    周波数分析部
４０２    ピーク検出部
５０３    特徴分析部
５０４    ピーク判定部
６０１    音声検出部
８０３    平滑化処理部
８０４    更新速度算出部
８０５    更新速度設定部
９０３    補聴器プロセッサ
９０７    自己相関算出部
９０８    閾値判定部
９０９    更新制御部
【図１】
0006011880.tif 000002
【図２】
0006011880.tif 000003
【図３】
0006011880.tif 000004
【図４】
0006011880.tif 000005
【図５】
0006011880.tif 000006
【図６】
0006011880.tif 000007
【図７】
0006011880.tif 000008
【図８】
0006011880.tif 000009
【図９】
0006011880.tif 000010
【図１０】
0006011880.tif 000011
【図１１】
0006011880.tif 000012
【図１２】
0006011880.tif 000013
【図１３】
0006011880.tif 000014
【図１４】
0006011880.tif 000015
【図１５】
0006011880.tif 000016
【図１６】
0006011880.tif 000017
【図１７】
0006011880.tif 000018