(57)【特許請求の範囲】
【請求項１】
入力される音声信号のハウリングを検出する検出部と、
前記音声信号に対してフィルタ処理を順次施して出力する複数のフィルタと、
前記検出部からの検出結果に基づいて、前記複数のフィルタのうちハウリングを抑制するためのフィルタ係数が設定されていないフィルタに対して、前記検出部により検出された前記ハウリングを抑制するためのフィルタ係数を設定し、前記複数のフィルタ全てにハウリングを抑制するためのフィルタ係数が設定されている場合、前記複数のフィルタの何れか一つに対して、前記検出部により検出された前記ハウリングを抑制するためのフィルタ係数を設定する設定部と、
を備え、
前記検出部は、
前記音声信号を複数の周波数帯域に分割し、分割された前記周波数帯域ごとにハウリングを検出し、
前記設定部は、
前記複数のフィルタ全てにハウリングを抑制するためのフィルタ係数が設定されている場合、前記複数のフィルタのうち、前記検出部での検出回数が所定回数以上の周波数帯域のハウリングを抑制するフィルタ係数が設定されたフィルタ以外の一つに対して、前記検出部により検出された前記ハウリングを抑制するためのフィルタ係数を設定すること、
を特徴とするハウリング抑制装置。
【請求項２】
前記複数のフィルタのうち、少なくとも一つのフィルタにハウリングを抑制するためのフィルタ係数が設定された後に、前記複数のフィルタの入力側か出力側の少なくとも何れか一方において前記音声信号の利得を低下させる利得調整部を更に備えること、
を特徴とする請求項１に記載のハウリング抑制装置。
【請求項３】
前記利得調整部は、
前記複数のフィルタ全てにハウリングを抑制するためのフィルタ係数が設定された後に、前記音声信号の利得を低下させること、
を特徴とする請求項２に記載のハウリング抑制装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハウリング抑制装置に関する。
【背景技術】
【０００２】
マイクロフォン等とスピーカ等とを有する音響装置では、スピーカから出力される音声信号が、マイクロフォンに回り込んで入力されることによりフィードバックループが形成される。このため、音響装置の設置環境、スピーカの設定音量、マイクロフォンとスピーカとの位置関係等によっては、ハウリングが発生する場合がある。このハウリングを抑制するためには、一般的にハウリングが発生する周波数帯域を検出し、その周波数帯域の音声信号のレベルを抑制させるハウリング抑制装置が用いられる（例えば、特許文献１、特許文献２参照）。図７に従来のハウリング抑制装置３００を示す。検出部４００は、マイクアンプ３１０からの音声信号を複数の周波数帯域に分割し、周波数帯域ごとのハウリングを検出する。制御部４１０は、検出部４００の検出結果に基づいて、複数のノッチフィルタ（ＮＦ）４２０―１〜４２０―ｎにハウリングを抑制するフィルタ係数を順次設定する。したがって、ノッチフィルタ４２０―ｎからは、ハウリングが抑制された音声信号出力がされることとなる。
【特許文献１】特開平７−１４３０３４号公報
【特許文献２】特開２００４−２７４１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、例えばカラオケに用いられる音響装置においては、スピーカの設定音量やスピーカに対するマイクロフォンの位置が頻繁に変更されるため、それに伴いハウリングの発生条件も変化し、ハウリングの発生回数が多くなる傾向がある。しかしながら、図７に示したハウリング抑制装置３００では、ハウリングが検出されると、ハウリングを抑制するためのフィルタ係数がノッチフィルタ４２０−１〜４２０−ｎに順次設定されるため、ハウリングの検出回数がノッチフィルタの個数を超えた場合は、ハウリングを抑制できないという問題があった。
【０００４】
本発明は上記課題を鑑みてなされたものであり、ハウリングの検出回数がハウリングを抑制するためのノッチフィルタの個数を超えた場合であっても、ハウリングを抑制可能なハウリング抑制装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明のハウリング抑制装置は、入力される音声信号のハウリングを検出する検出部と、前記音声信号に対してフィルタ処理を順次施して出力する複数のフィルタと、前記検出部からの検出結果に基づいて、前記複数のフィルタのうちハウリングを抑制するためのフィルタ係数が設定されていないフィルタに対して、前記検出部により検出された前記ハウリングを抑制するためのフィルタ係数を設定し、前記複数のフィルタ全てにハウリングを抑制するためのフィルタ係数が設定されている場合、前記複数のフィルタの何れか一つに対して、前記検出部により検出された前記ハウリングを抑制するためのフィルタ係数を設定する設定部と、を備え、前記検出部は、前記音声信号を複数の周波数帯域に分割し、分割された前記周波数帯域ごとにハウリングを検出し、前記設定部は、前記複数のフィルタ全てにハウリングを抑制するためのフィルタ係数が設定されている場合、前記複数のフィルタのうち、前記検出部での検出回数が所定回数以上の周波数帯域のハウリングを抑制するフィルタ係数が設定されたフィルタ以外の一つに対して、前記検出部により検出された前記ハウリングを抑制するためのフィルタ係数を設定すること、を特徴とする。
【発明の効果】
【０００６】
ハウリングの検出回数がハウリングを抑制するためのノッチフィルタの個数を超えた場合であっても、ハウリングを抑制可能なハウリング抑制装置を提供することができる。
【発明を実施するための最良の形態】
【０００７】
本明細書および添付図面の記載より、少なくとも以下の事項が明らかとなる。
【０００８】
図１は、本発明を適用した、音響装置の実施形態を示す図である。図１に示す音響装置１は、マイクロフォン等（不図示）から入力される音声信号を増幅するとともにハウリングを抑制し、スピーカ等（不図示）に出力する装置であり、マイクアンプ１０、パワーアンプ１１、ハウリング抑制装置２０を含んで構成される。
【０００９】
マイクアンプ１０は、マイクロフォン（不図示）からのアナログの音声信号をハウリング抑制装置２０で処理可能なレベルとすべく増幅する回路であり、例えば、オペアンプによる非反転増幅回路を用いることができる。
【００１０】
パワーアンプ１１は、ハウリング抑制装置２０から出力される音声信号を、スピーカ等を駆動できるレベルに増幅する回路である。
【００１１】
ハウリング抑制装置２０は、マイクアンプ１０から出力される音声信号のハウリングを抑制し、パワーアンプ１１へ出力する装置であり、ＡＤコンバータ（ＡＤＣ）３０、アッテネータ（ＡＴＴ）３１、ノッチフィルタ（ＮＦ）４０−１〜４０−ｎ、ＤＡコンバータ（ＤＡＣ）５０、係数メモリ６０−１〜６０−ｎ、分割部７０、検出部７１、係数計算部７２、設定部７３、メモリ７４を含んで構成される。なお、本実施形態のハウリング抑制装置２０としては、例えばＡＤコンバータ、ＤＡコンバータを含むＤＳＰ（Digital Signal Processor）が採用可能である。
【００１２】
ＡＤコンバータ３０は、マイクアンプ１０から出力されるアナログの音声信号をデジタルに変換する。
【００１３】
アッテネータ３１は、ＡＤコンバータ３０からノッチフィルタ４０−１へ出力される音声信号のレベルを減衰することが可能である。なお、本実施形態のアッテネータ３１における初期状態の減衰量はゼロとする。
【００１４】
ノッチフィルタ４０−１〜４０−ｎは、ハウリングを抑制するための、ｎ個のフィルタであり、係数メモリ６０−１〜６０−ｎに設定されたフィルタ係数に基づいて、周波数特性が決定される。なお、本実施形態におけるノッチフィルタ４０−１〜４０−ｎは、係数メモリにフィルタ係数が設定されるとフィルタ係数が変更されない係数固定フィルタと、設定されたフィルタ係数が変更可能な係数変動フィルタとからなるとする。
【００１５】
ＤＡコンバータ５０は、ノッチフィルタ４０―ｎから出力されるデジタルの音声信号をアナログに変換し、パワーアンプ１１へ出力する。
【００１６】
係数メモリ６０−１〜６０−ｎは、ノッチフィルタ４０−１〜４０−ｎの夫々に対するフィルタ係数が設定されるｎ個のメモリであり、アドレスＡ１〜Ａｎが夫々割り当てられている。なお、アドレス値は、アドレスＡ１〜Ａｎの順に大きくなることとし、さらに係数メモリには、初期状態としてノッチフィルタ４０−１〜４０−ｎの周波数特性が平坦となる様なフィルタ係数が設定されていることとする。
【００１７】
分割部７０は、ＡＤコンバータ３０によりデジタルに変換された音声信号を、例えばＦＦＴ（Fast Fourier Transform）により、複数の周波数帯域に分割する。なお、本実施形態では、分割部７０に入力された音声信号をｉ個の周波数帯域に分割するものとする。
【００１８】
検出部７１では、分割部７０にて分割された周波数帯域ごとの音声信号のピークレベルと所定レベルのしきい値とを比較し、音声信号のピークレベルが所定レベルのしきい値を超えた場合に、ハウリングが発生したと判定し、ハウリングを検出する。なお、本実施形態において、しきい値は、検出部７１に設けられたしきい値記憶部（不図示）に記憶されていることとする。また、検出部７１には、図２に示す様に、ハウリング検出回数カウンタテーブル８０が設けられている。ハウリング検出回数カウンタテーブル８０は、分割されたｉ個の周波数帯域ごとに、ハウリングの検出回数がカウント値として格納されるテーブルである。本実施形態において、初期状態では各周波数帯域のカウント値は“０”で、ハウリングが検出されると、検出部７１は、ハウリングが検出された周波数帯域のカウント値を１ずつインクリメントすることとする。さらに、ハウリング検出回数カウンタテーブル８０における周波数帯域ごとにカウント値は、検出部７１により予め定められた規定回数と比較され、比較結果が設定部７３に出力される。なお、本実施形態における規定回数は、ノッチフィルタの個数ｎよりも大きいこととする。
【００１９】
係数計算部７２は、検出部７１で検出されたハウリングを抑制するために、ノッチフィルタ４０−１〜４０−ｎの中心周波数、Ｑ値等を計算する。
【００２０】
設定部７３は、検出部７１の検出結果及び比較結果、係数計算部７２の計算結果、メモリ７４に記憶された各種データを参照し、ハウリング抑制装置２０を統括制御する。具体的には、ハウリングを抑制するためのフィルタ係数を係数メモリ６０−１〜６０−ｎに設定し、アッテネータ３１の減衰量を設定する。さらに、メモリ７４の書き込み可能な領域に各種データを書き込む。また、本実施形態の設定部７３は、係数メモリ６０−１〜６０−ｎのアドレス指定用のポインタＰが設けられており、ポインタＰにより指定されたアドレスの係数メモリにフィルタ係数が設定されることとする。なお、係数メモリ６０−１〜６０−ｎのアドレスの指定は、例えば、設定部７３に設けられたポインタＰの値をデコードするデコーダ（不図示）によりされることとする。また本実施形態において、初期状態では、ポインタＰの値は０（ゼロ）で、検出部７１でハウリングが検出されるとポインタＰの値は１ずつインクリメントされることとする。
【００２１】
メモリ７４は、本実施形態のハウリング抑制装置２０を制御するために必要となる各種データを格納しており、設定部７３より書き込み可能な領域を有する。図３は、メモリ７４が有する記憶部の一部を示す図である。本実施形態のメモリ７４は、ＲＯＭ(Read only Memory)及びＲＡＭ（Random Access Memory）を含み、ＲＯＭの記憶領域には、係数テーブル８１が設けられ、ＲＡＭの記憶領域に判定フラグ記憶部８２、管理フラグ記憶部８３、要求フラグ記憶部８４が設けられていることとする。
【００２２】
係数テーブル８１は、係数計算部７２にて計算されたノッチフィルタ４０−１〜４０−ｎの中心周波数、Ｑ値等に応じたフィルタ係数が記憶されているテーブルである。係数テーブル８１に記憶されているフィルタ係数は、計算結果に基づいて読み出され、係数メモリ６０−１〜６０−ｎに設定される。なお、本実施形態の係数テーブル８１は、予めフィルタ係数が書き込まれているものとする。
【００２３】
判定フラグ記憶部８２には、ハウリングの検出回数がノッチフィルタの個数であるｎ以上であるか否かを示すフラグの値が記憶され、本実施形態においては、ハウリングの検出回数がノッチフィルタの個数未満の場合、判定フラグの値は“０”となり、ハウリングの検出回数がノッチフィルタの個数以上となると、判定フラグの値は“１”となる。したがって、ノッチフィルタの係数メモリ全てにフィルタ係数が設定されると、判定フラグの値が“１”となる。
【００２４】
管理フラグ記憶部８３は、係数メモリ６０−１〜６０−ｎの夫々に対応した記憶メモリ９０−１〜９０〜ｎからなり、夫々の記憶メモリ９０−１〜９０−ｎには、ノッチフィルタ４０−１〜４０−ｎを係数固定フィルタまたは係数変動フィルタの何れにするかを管理する管理フラグが記憶される。本実施形態では、管理フラグの値が“１”の記憶メモリは係数固定フィルタとし、管理フラグの値が“０”の記憶メモリは係数変動フィルタとする。また、初期状態として管理フラグの値は“０”または“１”の何れかを記憶させることが可能である。また、設定部７３は、ハウリング抑制装置２０が起動されると、例えば外部ＲＯＭ（不図示）を参照し、管理フラグ記憶部８３に管理フラグの値を設定することとする。
【００２５】
ここで、ノッチフィルタ４０−１，４０−２が係数固定フィルタ、ノッチフィルタ４０−３〜４０−ｎが係数変動フィルタである場合の設定部７３におけるポインタＰの更新動作について、図４を参照しつつ説明する。まず、ハウリングの検出回数がノッチフィルタの個数以下である場合、ハウリングが検出されるとポインタＰの値はインクリメントされ、ポインタＰの値に基づいた係数メモリ６０−１〜６０−ｎが指定される。したがって、係数固定フィルタ、係数変動フィルタに関わらず、ハウリングを抑制するためのフィルタ係数が係数メモリ６０−１〜６０−ｎに順次設定されることとなる。次に、ハウリングの検出回数がノッチフィルタの個数を超えた場合について説明する。ノッチフィルタ４０−１，４０−２は係数固定フィルタとされているため、設定部７３は、管理フラグ記憶部８３における管理フラグの値を参照し、係数メモリ６０−１，６０−２をポインタＰの指定から除外する。したがって、ハウリングの検出回数がノッチフィルタの個数を超えた後は、係数変動フィルタの係数メモリ６０−３〜６０−ｎがポインタの値に基づいて繰り返し指定されることとなる。
【００２６】
要求フラグ記憶部８４は、係数変動フィルタから係数固定フィルタへの変更を要求するか否かを示すフラグであり、変更が要求されると要求フラグの値は“１”となり、変更が要求されないと要求フラグの値は“０”となる。本実施形態では、ハウリング検出回数カウンタテーブル８０において、ハウリングが同一帯域で規定回数以上検出された場合に、規定回数以上検出された帯域のハウリングを抑制するために要求フラグの値が“０”から“１”に変更される。
【００２７】
＝＝ハウリングを抑制するためのフィルタ係数設定処理＝＝
次に、ハウリング抑制装置２０におけるハウリングを抑制するためのフィルタ係数設定処理について、図５に示すフィルタ係数設定処理の一例を示すフローチャートを参照しつつ説明する。なお、以下の説明においては、ノッチフィルタの個数を８個、すなわちｎ＝８とし、初期状態では、ノッチフィルタ４０−１，４０−２の２つを係数固定フィルタ、ノッチフィルタ４０−３〜４０−８の６つを係数変動フィルタとする。
【００２８】
ハウリング抑制装置２０が起動されると、設定部７３は、判定フラグの値を “０” 、記憶メモリ９０−１，９０−２の管理フラグの値を“１”、記憶メモリ９０−３〜９０−８の管理フラグの値を“０”、要求フラグを“０”とする（Ｓ１０１）。そして、ハウリング抑制装置２０に入力される音声信号は、分割部７０にてＦＦＴ処理されることによりｉ個の周波数帯域に分割される（Ｓ１０２）。検出部７１では、分割部７０にてｉ個に分割された周波数帯域ごとにハウリングが検出されたか否かを判定し（Ｓ１０３）、ハウリングが検出されない場合（Ｓ１０３：ＮＯ）、再びハウリング抑制装置２０に入力される音声信号が分割部７０にてＦＦＴ処理される（Ｓ１０２）。一方、ハウリングが検出された場合（Ｓ１０３：ＹＥＳ）、設定部７３はポインタＰの値をインクリメントする（Ｓ１０４）。なお、本実施形態においては、設定部７３がポインタＰの値を参照し、ポインタの値に基づいた処理を選択することとする。
【００２９】
＜ハウリング抑制装置２０の第１の動作＞
本第１の動作では、ポインタＰの値がインクリメントされた後（Ｓ１０４）、ポインタＰの値が２以下である場合（Ｓ１０５：ＹＥＳ）すなわち、ハウリングの検出回数が係数固定フィルタの数以下の場合について説明する。まず、係数計算部７２がハウリングを抑制するための中心周波数、Ｑ値等を計算する（Ｓ１０６）。ポインタＰの値が１の場合（Ｓ１０７：１）、設定部７３は、係数計算部７２の計算結果に応じたフィルタ係数を、係数テーブル８１から読み出し、ノッチフィルタ４０−１に対する係数メモリ６０−１に設定する（Ｓ１０８）。ポインタＰの値が２の場合（Ｓ１０７：２）、ポインタＰの値が１の場合と同様に、係数メモリ６０−２にハウリングを抑制するフィルタ係数が設定される（Ｓ１０９）。また、フィルタ係数が夫々設定された後は、再びＦＦＴが処理される（Ｓ１０２）。
【００３０】
＜ハウリング抑制装置２０の第２の動作＞
本第２の動作においては、ポインタＰの値がインクリメントされ（Ｓ１０４）ポインタＰの値が２以下でない場合（Ｓ１０５：ＮＯ）、すなわち、ハウリングの検出回数が係数固定フィルタの数を越えた場合について説明する。まず、ハウリングが検出されると、検出部７１はハウリング検出カウンタテーブル８０のカウント値をインクリメントするため、周波数帯域ごとのハウリングの検出回数が、ハウリング検出カウンタテーブル８０にてカウントされる（Ｓ１１０）。そして、検出部７１がハウリング検出回数カウンタテーブル８０の周波数帯域ごとのカウント値と規定回数とを比較することにより、ハウリングが同一帯域で規定回数以上検出されたか否を判定する（Ｓ１１１）。ハウリングが同一帯域で規定回数以上検出されない場合（Ｓ１１１：ＮＯ）、係数計算部７２は、ハウリングを抑制するための中心周波数、Ｑ値等を計算する（Ｓ１１３）。そして、設定部７３は、判定フラグ記憶部８２に記憶されている判定フラグの値を参照する（Ｓ１１４）。判定フラグの値が“１”である場合（Ｓ１１４：１）、すなわち、８個のノッチフィルタの係数メモリ全てにフィルタ係数が設定されている場合、ポインタＰの値に基づいた処理が設定部７３により選択される（Ｓ１１８）。判定フラグの値が “０”である場合（Ｓ１１４：０）、ポインタＰの値が８であるかどうかが判定される（Ｓ１１５）。ポインタＰの値が８でない場合（Ｓ１１５：ＮＯ）、ポインタＰの値に基づいた処理が選択される（Ｓ１１８）。ポインタＰの値が８である場合（Ｓ１１５：ＹＥＳ）、設定部７３は、判定フラグの値を“０”から“１”に変更する（Ｓ１１６）。さらに、設定部７３は、ノッチフィルタ４０−１に入力される音声信号レベルを低下させるべく、アッテネータ３１の減衰量を設定する（Ｓ１１７）。そして、ポインタＰの値に基づいた処理が選択される（Ｓ１１８）。
【００３１】
ステップＳ１１８では、ポインタＰの値に応じた処理が選択される。ポイントＰの値が３である場合（Ｓ１１８：３）、まず、設定部７３は、係数変動フィルタを係数固定フィルタに変更するか否かを要求する要求フラグの値を参照する（Ｓ１１９）。要求フラグの値が“０”である場合（Ｓ１１９：０）、ポインタＰの値が指定する係数メモリ６０−３から１つ大きいアドレスの係数メモリである係数メモリ６０−４を初期化する（Ｓ１２２）。なお、本実施形態において、係数メモリの初期化は、係数メモリを初期状態と同じ状態にすることする。また、本実施形態において係数メモリの初期化は、係数変動フィルタにフィルタ係数を繰り返し設定するための処理である。そして、設定部７３は、ノッチフィルタ４０−３に対する係数メモリ６０−３にハウリングを抑制するためのフィルタ係数を設定する（Ｓ１２３）。係数メモリ６０−３にフィルタ係数が設定された後は、再びハウリング抑制装置２０に入力される音声信号が分割部７０にてＦＦＴ処理される（Ｓ１０２）。ポインタＰの値が４の場合（Ｓ１１８：４）、前述のポインタＰの値が３の場合と同様の処理が行われる。したがって、要求フラグが“０”である場合（Ｓ１２５：０）、係数メモリ６０−５が初期化され（Ｓ１２８）、そして、係数メモリ６０−４にフィルタ係数が設定される（Ｓ１２９）。そして、再びＦＦＴ処理される（Ｓ１０２）。なお、本実施形態では、ポインタＰの値が５〜７の場合（不図示）も、ポインタＰの値が３，４の場合と同様の処理が行われる。ポインタＰの値が８の場合（Ｓ１１８：８）、フィルタ状態を変更するか否かの要求フラグが“０”である場合（Ｓ１３１：０）、係数メモリ６０−３が初期化され（Ｓ１３４）、係数メモリ６０−８にフィルタ係数が設定される（Ｓ１３５）。そして、初期化された係数メモリ６０−３を指定するために、設定部７３は、ポインタの値を８から２へと変更し（Ｓ１３６）、ＦＦＴ処理へ戻る（Ｓ１０２）。その後、ハウリングが検出されると（Ｓ１０３）、ポインタＰがインクリメントされるため（Ｓ１０４）、結果的に、ポインタＰの値は３となる。したがって、以上の本第２の動作においては、ポインタＰの値に基づいて、係数メモリ６０−３〜６０−８のうち何れか一つが設定部７３により指定されることとなる。
【００３２】
＜ハウリング抑制装置２０の第３の動作＞
本第３の動作においては、ポインタＰの値が２以下でなく（Ｓ１０５：ＮＯ）、さらに周波数帯域ごとのハウリングの規定回数がカウントされ（Ｓ１１０）、同一帯域で規定回数以上ハウリングが検出された場合（Ｓ１１１：ＹＥＳ）について説明する。なお、本実施形態においては、規定回数をノッチフィルタの個数より大きいとしていることから、本第３動作では、判定フラグの値は“１”である。まず、同一帯域で規定回数以上ハウリングが検出されると、同一帯域でのハウリングの発生を抑制するために、係数変動フィルタから係数固定フィルタへの変更を要求する要求フラグの値が“０”から“１”に変更される（Ｓ１１２）。そして、ハウリングを抑制するための中心周波数、Ｑ値等が計算され（Ｓ１１３）、判定フラグの値は“１”であるので（Ｓ１１４：１）ポインタＰの値に基づいて処理が選択される（Ｓ１１８）。ポインタＰの値が３の場合（Ｓ１１８：３）、要求フラグの値が“１”であるため（Ｓ１１９：１）、ノッチフィルタ４０−３の状態を管理するための記憶メモリ９０−３の管理フラグが参照される（Ｓ１２０）。管理フラグが“０”の場合、記憶メモリ９０−３の管理フラグの値が“０”から“１”に変更される（Ｓ１２１）。そして、前述のステップＳ１２２，Ｓ１２３が実行された後、ＦＦＴ処理に戻る（Ｓ１０２）。一方、記憶メモリ９０−３の管理フラグの値が“１”である場合（Ｓ１２０：１）、すなわち、すでにノッチフィルタ４０−３は係数変動フィルタから係数固定フィルタに変更されている場合、ポインタＰの値がインクリメントされ（Ｓ１２４）、全ての記憶メモリ９０−１〜９０−８に記憶された管理フラグが“１”であるか否か（Ｓ１３８）が参照される。なお、本実施形態においては、ポインタＰの値が４の場合（Ｓ１２５〜Ｓ１３０）及びポインタＰの値が５〜７の場合（不図示）も、ポインタＰの値が３の場合と同様の処理が行われることとする。ポインタＰの値が８の場合（Ｓ１１８：８）、要求フラグの値が“１”であるため（Ｓ１１９：１）、記憶メモリ９０−８の管理フラグが参照される（Ｓ１３２）。管理フラグが“０”の場合（Ｓ１３２：０）、記憶メモリ９０−８の管理フラグの値が “１”に変更され（Ｓ１３３）、前述のステップ１３４〜Ｓ１３６が実行され、ＦＦＴ処理（Ｓ１０２）へと戻る。記憶メモリ９０−８の管理フラグの値が“１”の場合（Ｓ１３２：１）、ポインタＰの値が３に変更され（Ｓ１３７）、全ての記憶メモリ９０−１〜９０−８に記憶された管理フラグが“１”であるか否か（Ｓ１３８）が参照される。
【００３３】
全ての記憶メモリの管理フラグが“１”でない場合（Ｓ１３８：ＮＯ）、すなわち、係数固定フィルタに変更されていない係数変動フィルタがある場合、ポインタＰが係数変動フィルタを指定すべく、ポインタＰの値に基づいた処理が選択される（Ｓ１１８）。全ての記憶メモリの管理フラグの値が“１”である場合は（Ｓ１３８：ＹＥＳ）、すなわち、全てのノッチフィルタが係数固定フィルタに変更された場合、ＦＦＴ処理は停止され（Ｓ１３９）、フィルタ係数を設定する処理が終了される。以上の本第３の動作では、同一帯域で規定回数以上検出されるハウリングがある場合（Ｓ１１１：ＹＥＳ）、規定回数以上検出されたハウリングを抑制するために、係数変動フィルタが係数固定フィルタに変更される（例えばＳ１２１）。さらに、ポインタＰは、変更された係数固定フィルタを指定から除外し（例えばＳ１２４）、係数変動フィルタのみ指定しフィルタ係数を設定する。最終的に係数変動フィルタが全て係数固定フィルタに変更されると（Ｓ１３８：ＹＥＳ）、ＦＦＴ処理を停止し（Ｓ１３９）、フィルタ係数設定処理を終了する。
【００３４】
図６は、図５における処理の具体例の一部を示したタイミングチャートの一例である。なお、図５で説明した場合と同様に、ノッチフィルタの数は８、初期状態において、ノッチフィルタ４０−１，４０−２を係数固定フィルタ、ノッチフィルタ４０−３〜４０−８を係数変動フィルタとしている。
【００３５】
まず、時刻Ｔ０にハウリング抑制装置２０が起動される。時刻Ｔ１にハウリングが検出されると（Ｓ１０３）、ポインタＰの値はインクリメントされ１となり（Ｓ１０４）、ハウリングを抑制するためのフィルタ係数が計算され（Ｓ１０６）、ノッチフィルタ４０−１に対する係数メモリ６０−１に、計算結果に基づくフィルタ係数が設定される（Ｓ１０８）。さらに、時刻Ｔ２〜時刻Ｔ７まで計６回ハウリングが検出されると、ポインタＰは１ずつインクリメントされるとともに（Ｓ１０４）、フィルタ係数６０−２〜６０−７には、順次ハウリングを抑制するためのフィルタ係数が設定される（Ｓ１０９，Ｓ１２３，Ｓ１２９）。さらに、時刻Ｔ８においてハウリングが検出されると（Ｓ１０３）、ポインタＰの値は８となり（Ｓ１０４）、判定フラグの値が“１”となり（Ｓ１１６）、アッテネータ３１の減衰量が設定される（Ｓ１１７）。そして、ポインタＰの値が３に対する係数メモリ６０−３が初期化され（Ｓ１３４）、ノッチフィルタ４０−８の係数メモリ６０−８にハウリングを抑制するためのフィルタ係数が設定される（Ｓ１３５）。そして、ポインタＰの値は２に変更される（Ｓ１３６）。時刻Ｔ９にハウリングが検出されると（Ｓ１０３）、ポインタＰの値はインクリメントされ３となり（Ｓ１０４）、ポインタＰの値が４に対する係数メモリ６０−４が初期化されるとともに（Ｓ１２２）、ノッチフィルタ４０−３の係数メモリ６０−３には、ハウリングを抑制するためのフィルタ係数が設定される（Ｓ１２３）。時刻Ｔ９における動作と同じように、時刻Ｔ１０及び時刻Ｔ１０以降に検出されたハウリングは、ポインタＰにより指定された係数メモリにフィルタ係数が設定されることにより抑制されることとなる。
【００３６】
以上に説明した構成からなる本実施形態のハウリング抑制装置２０では、ノッチフィルタの個数を超えて検出されたハウリングに対しては、ポインタＰにより選択された係数メモリ６０−３〜６０−８の何れか一つに対して、検出されたハウリングを抑制するためのフィルタ係数が設定される。したがって、ノッチフィルタの個数を超えて検出されたハウリングの抑制が可能となる。
【００３７】
また、一般的に発生するハウリングは、屋内の空間に応じて発生する固有なハウリングと、音響装置１のマイクロフォンとスピーカとの位置関係やスピーカの設定音量等に応じて発生する不確定なハウリングとに大別される。固有なハウリングは、不確定なハウリングと比較すると、音響装置１が動作している間に発生する確率が高く、さらに、時間的に早く発生する傾向がある。このことから、時間的に早く検出されたハウリングは、音響装置１が動作している間は常に抑圧されていることが望ましい。本実施形態のハウリング抑制装置２０では、時間的に早く検出されたハウリングを抑制するためのフィルタ係数は、係数固定フィルタから順次設定される（Ｓ１０８，Ｓ１０９）。係数固定フィルタに設定されたフィルタ係数は、変更されないため、本実施形態のハウリング抑制装置２０は、ノッチフィルタの個数を超えて検出されたハウリングが抑制可能であるとともに、ハウリングの発生確率を低下させることが可能となる。
【００３８】
また、本実施形態のハウリング抑制装置２０の係数変動フィルタは、検出されたハウリングを抑制するために繰り返し初期化され、フィルタ係数が設定される。したがって、繰り返しフィルタ係数が設定される際に、例えば、固有なハウリングのように同一の周波数帯域で発生するハウリングが何回も検出される可能性がある。本実施形態においては、同一の周波数帯域で規定回数以上ハウリングが検出されると（Ｓ１１１：ＹＥＳ）、規定回数以上検出された周波数帯域のハウリングを抑制するためのフィルタ係数が設定された係数変動フィルタが係数固定フィルタへと変更される（例えば、Ｓ１２１）。したがって、本実施形態のハウリング抑制装置２０は、ノッチフィルタの個数を超えて検出されたハウリングが抑制可能であるとともに、ハウリングの発生確率を低下させることが可能となる。
【００３９】
また、ハウリングは、スピーカから出力される音声信号が、マイクロフォンにフィードバックされることにより発生するため、ハウリングが検出された場合に、アッテネータ３１にて音声信号のレベルを、例えば聴覚に問題のない２ｄＢ程度減衰させるとハウリングの発生確率を低下させることが可能である。
【００４０】
また、本実施形態においては、ノッチフィルタの個数を超えて検出されたハウリングを抑制するために、フィルタ係数が設定された係数メモリを初期化している。従って、初期化した場合に抑制されていたハウリングが再度発生する可能性もあるが、ノッチフィルタの係数メモリ全てにフィルタ係数が設定されたタイミングで（Ｓ１１７）、アッテネータ３１にて音声信号のレベルを、例えば聴覚に問題のない２ｄＢ程度減衰させると、抑制されていたハウリングの発生確率を低下させることが可能である。
【００４１】
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００４２】
例えば、本実施形態においては、ポインタＰは、係数変動フィルタの係数メモリに対するアドレスを、アドレス値の順に設定したが、ランダムに設定しても良い。また、本実施形態においては、フィルタ係数を初期化したが、初期化せずフィルタ係数を上書きしても良い。また、本実施形態では、アッテネータ３１をノッチフィルタ４０−１の前段に設けたが、例えばノッチフィルタ４０−ｎとＤＡＣ５０との間に設けてもよい。また、アッテネータ３１にて音声信号のレベルを減衰させたが、例えば、マイクアンプ１０やパワーアンプ１１のゲインを低下させることにより、音声信号のレベルを低下させても良い。
【図面の簡単な説明】
【００４３】
【図１】本発明を適用した、音響装置の実施形態を示す図である。
【図２】ハウリングの検出回数カウントするカウンタテーブルの一例を示す図である。
【図３】メモリが有する記憶部の一例を示す図である。
【図４】係数メモリを指定する処理の一例を示す図である。
【図５Ａ】ハウリングを抑制するためのフィルタ係数設定処理の一例を示すフローチャートである。
【図５Ｂ】ハウリングを抑制するためのフィルタ係数設定処理の一例を示すフローチャートである。
【図５Ｃ】ハウリングを抑制するためのフィルタ係数設定処理の一例を示すフローチャートである。
【図５Ｄ】ハウリングを抑制するためのフィルタ係数設定処理の一例を示すフローチャートである。
【図６】図５における処理の具体例の一部を示したタイミングチャートである。
【図７】従来のハウリング抑制装置の一例を示す図である。
【符号の説明】
【００４４】
１    音響装置
１０  マイクアンプ
１１  パワーアンプ
２０  ハウリング抑制装置
３０  ＡＤコンバータ（ＡＤＣ）
３１  アッテネータ（ＡＴＴ）
４０―１〜４０−ｎ  ノッチフィルタ（ＮＦ）
５０  ＤＡコンバータ（ＤＡＣ）
６０−１〜６０−ｎ  係数メモリ
７０  分割部
７１  検出部
７２  係数計算部
７３  設定部
７４  メモリ
８０  ハウリング検出回数カウンタテーブル
８１  係数テーブル
８２  判定フラグ記憶部
８３  管理フラグ記憶部
８４  要求フラグ記憶部
９０−１〜９０〜ｎ  記憶メモリ
【図１】
0004938592.tif 000002
【図２】
0004938592.tif 000003
【図３】
0004938592.tif 000004
【図４】
0004938592.tif 000005
【図５Ａ】
0004938592.tif 000006
【図５Ｂ】
0004938592.tif 000007
【図５Ｃ】
0004938592.tif 000008
【図５Ｄ】
0004938592.tif 000009
【図６】
0004938592.tif 000010
【図７】
0004938592.tif 000011