(57)【特許請求の範囲】
【請求項１】
第１乃至第ｎのノッチフィルタ（但し、ｎは２以上の自然数）から成るフィルタ群を有し、該フィルタ群によってハウリング周波数成分を減衰させるハウリングキャンセラにおいて、
前記フィルタ群に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段と、
検出されたハウリング周波数に対して前記第１乃至第ｎのノッチフィルタのうち何れかを割り当て、割り当てたノッチフィルタの中心周波数を該ハウリング周波数に設定する割当手段と、
前記第１乃至第ｎのノッチフィルタが第１乃至第ｎのハウリング周波数に対して各々割り当てられており、かつ、新たなハウリング周波数である第（ｎ＋１）のハウリング周波数が検出されると、前記第１乃至第ｎのノッチフィルタのうち一のノッチフィルタを解放する解放手段と、
該解放されたノッチフィルタを、前記第（ｎ＋１）のハウリング周波数に対して割り当てる再割当手段と
を有することを特徴とするハウリングキャンセラ。
【請求項２】
前記解放手段は、
前記第１乃至第ｎのハウリング周波数の各対数値相互の差が最小の値を有し、かつ該最小の値が所定の閾値未満である一対のハウリング周波数を選択する解放ペア選択手段と、
前記一対のハウリング周波数に係る一対のノッチフィルタのうち一方の中心周波数を、前記一対のハウリング周波数の間の値に設定するパラメータ変更手段と、
前記一対のノッチフィルタのうち他方を解放する手段と
を有することを特徴とする請求項１記載のハウリングキャンセラ。
【請求項３】
前記割当手段は、検出されたハウリング周波数におけるハウリングレベルが大となるほど前記割り当てたノッチフィルタの最大減衰量を大とするものであり、
前記解放手段は、前記第１乃至第ｎのノッチフィルタのうち最大減衰量が最小であるノッチフィルタを解放するものである
ことを特徴とする請求項１記載のハウリングキャンセラ。
【請求項４】
第１乃至第ｎのノッチフィルタ（但し、ｎは２以上の自然数）から成るフィルタ群と、前記フィルタ群に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段と、前記第１乃至第ｎのノッチフィルタのパラメータを設定する処理装置とを有するハウリングキャンセラに適用されるプログラムであって、
検出されたハウリング周波数に対して何れかの前記ノッチフィルタを割り当て、割り当てたノッチフィルタの中心周波数を該ハウリング周波数に設定する割当過程と、
前記第１乃至第ｎのノッチフィルタが第１乃至第ｎのハウリング周波数に対して各々割り当てられており、かつ、新たなハウリング周波数である第（ｎ＋１）のハウリング周波数が検出されると、前記第１乃至第ｎのノッチフィルタのうち一のノッチフィルタを解放する解放過程と、
該解放されたノッチフィルタを、前記第（ｎ＋１）のハウリング周波数に対して割り当てる再割当過程と
を前記処理装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スピーカからマイクロフォンに音がフィードバックすることによって生じるハウリングを低減するために用いて好適なハウリングキャンセラおよびプログラムに関する。
【背景技術】
【０００２】
従来より、マイクロフォンから入力された音声信号のハウリングを除去し、その結果をスピーカ等を介して放音する様々なハウリングキャンセラが知られている。特許文献１においては、縦続接続された複数のノッチフィルタから成るハウリングキャンセラが開示されている。このハウリングキャンセラにおいては、初期状態において、各ノッチフィルタには、フラットな特性が付与される。そして、このハウリングキャンセラの出力信号の周波数成分が繰り返し解析される。ここで、出力信号中の周波数成分中に所定の条件（例えば所定値以上のレベルを有するなど）を満たすピークが存在する場合は、当該ピークがハウリングであると判定され、その周波数（ハウリング周波数）に対して一のノッチフィルタが割り当てられる。すなわち、ハウリング周波数を大きく減衰させるように、このノッチフィルタのパラメータが設定される。その後に、新たなハウリング周波数が発生した場合には、同様にして他のノッチフィルタが割り当てられる。
【０００３】
【特許文献１】特許第３２３５９２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、実装可能なノッチフィルタは無限に存在するわけではないため、上述した技術において、ノッチフィルタ数を超えるハウリング周波数が発生した場合には、最後に発生したハウリング周波数に対してノッチフィルタを割り当てることができなくなるという問題が生じる。従って、最後に発生したハウリング周波数のレベルが大きい場合には、ハウリングが非常に耳障りになるという問題が生じる。
この発明は上述した事情に鑑みてなされたものであり、有限数のノッチフィルタを有効に活用することのできるハウリングキャンセラおよびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載のハウリングキャンセラにあっては、第１乃至第ｎのノッチフィルタ（但し、ｎは２以上の自然数）から成るフィルタ群（１２４）を有し、該フィルタ群（１２４）によってハウリング周波数成分を減衰させるハウリングキャンセラにおいて、前記フィルタ群（１２４）に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段（１２２）と、検出されたハウリング周波数に対して前記第１乃至第ｎのノッチフィルタのうち何れかを割り当て、割り当てたノッチフィルタの中心周波数を該ハウリング周波数に設定する割当手段（ＳＰ１８）と、前記第１乃至第ｎのノッチフィルタが第１乃至第ｎのハウリング周波数（ｆh1〜ｆh4）に対して各々割り当てられており、かつ、新たなハウリング周波数である第（ｎ＋１）のハウリング周波数（ｆh5）が検出されると、前記第１乃至第ｎのノッチフィルタのうち一のノッチフィルタを解放する解放手段（ＳＰ２４，２８）と、該解放されたノッチフィルタを、前記第（ｎ＋１）のハウリング周波数（ｆh5）に対して割り当てる再割当手段（ＳＰ３２）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載のハウリングキャンセラにおいて、前記解放手段（ＳＰ２４）は、前記第１乃至第ｎのハウリング周波数（ｆh1〜ｆh4）の各対数値相互の差が最小の値を有し、かつ該最小の値が所定の閾値（Ｄmax）未満である一対のハウリング周波数を選択する解放ペア選択手段（ＳＰ１０４）と、前記一対のハウリング周波数に係る一対のノッチフィルタのうち一方の中心周波数を、前記一対のハウリング周波数の間の値に設定するパラメータ変更手段（ＳＰ１１２，ＳＰ１１４）と、前記一対のノッチフィルタのうち他方を解放する手段とを有することを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載のハウリングキャンセラにおいて、前記割当手段（ＳＰ１８）は、検出されたハウリング周波数におけるハウリングレベルが大となるほど前記割り当てたノッチフィルタの最大減衰量を大とするものであり、前記解放手段（ＳＰ２８）は、前記第１乃至第ｎのノッチフィルタのうち最大減衰量が最小であるノッチフィルタを解放するものであることを特徴とする。
また、請求項４記載のプログラムにあっては、第１乃至第ｎのノッチフィルタ（但し、ｎは２以上の自然数）から成るフィルタ群（１２４）と、前記フィルタ群（１２４）に対する入力信号または出力信号からハウリング周波数を検出するハウリング検出手段（１２２）と、前記第１乃至第ｎのノッチフィルタのパラメータを設定する処理装置（２４）とを有するハウリングキャンセラに適用されるプログラムであって、検出されたハウリング周波数に対して何れかの前記ノッチフィルタを割り当て、割り当てたノッチフィルタの中心周波数を該ハウリング周波数に設定する割当過程（ＳＰ１８）と、前記第１乃至第ｎのノッチフィルタが第１乃至第ｎのハウリング周波数（ｆh1〜ｆh4）に対して各々割り当てられており、かつ、新たなハウリング周波数である第（ｎ＋１）のハウリング周波数（ｆh5）が検出されると、前記第１乃至第ｎのノッチフィルタのうち一のノッチフィルタを解放する解放過程（ＳＰ２４，２８）と、該解放されたノッチフィルタを、前記第（ｎ＋１）のハウリング周波数（ｆh5）に対して割り当てる再割当過程（ＳＰ３２）とを前記処理装置（２４）に実行させることを特徴とする。
【発明の効果】
【０００６】
このように本発明によれば、新たなハウリング周波数成分が検出されたとき、既に他のハウリング周波数に割り当てられていたノッチフィルタを解放してこの新たなハウリング周波数成分に割り当てることができるから、有限数のノッチフィルタのパラメータを、例えば音声信号全体としてハウリングによる影響を最小にするように再設定することができ、有限数のノッチフィルタを有効に活用することができる。
【発明を実施するための最良の形態】
【０００７】
1．実施例の構成
次に、本発明の一実施例のハウリングキャンセラ１００のハードウエア構成を図１を参照し説明する。
図において２は操作子であり、各種スイッチおよびノブ等から構成されている。４は検出回路であり、操作子２の操作状態を検出する。６は表示部であり、表示回路８の制御の下、ユーザに対して各種情報を表示する。１０は音声信号入出力部であり、マイク等から入力されたアナログの音声信号をデジタル信号に変換し信号処理回路１２に供給するとともに、信号処理回路１２から供給されたデジタル信号をアナログの音声信号に変換し、外部のアンプ等に出力する。信号処理回路１２は一または複数のＤＳＰ（デジタル・シグナル・プロセッサ）によって構成されており、入力されたデジタルの音声信号に対して、後述するフィルタリング処理等を施す。１６は通信インタフェースであり、外部機器１４との間で各種制御データを入出力する。２４はＣＰＵであり、ＲＯＭ２０に格納された制御プログラムに基づいて、通信バス１８を介してハウリングキャンセラ１００内の各部を制御する。２２はＲＡＭであり、ＣＰＵ２４のワークメモリとして使用される。
【０００８】
次に、ハウリングキャンセラ１００のモジュール構成を図２を参照し説明する。図２においてマイク１０２から入力された音声信号は、入力ゲイン調整部１２０においてそのレベルが増減される。１１４は音声信号処理部であり、複数のノッチフィルタを縦続接続したフィルタ群１２４と、該フィルタ群１２４の出力信号からハウリング周波数を検出するハウリング検出部１２２とから構成されている。なお、本実施例においては、フィルタ群１２４内のノッチフィルタ数は最大「４」であることとする。ハウリング検出部１２２におけるハウリング検出方法としては、例えばピッチ検出法、ＦＦＴ解析法、バンドパスフィルタを用いる方法など、各種の方法が知られている。本願実施例のハウリング検出部１２２においては、これら公知の方法のうち何れを用いても良い。
【０００９】
１２６は出力ゲイン調整部であり、フィルタ群１２４の出力信号のレベルを増減し、外部に設けられたアンプ１０４およびスピーカ１０６を介して放音する。なお、上述した構成のうち、入力ゲイン調整部１２０および出力ゲイン調整部１２６は、音声信号入出力部１０によって実現され、音声信号処理部１１４は信号処理回路１２およびここで起動されるマイクロプログラムによって実現される。１１２は制御部であり、ＣＰＵ２４とＲＯＭ２０とＲＡＭ２２とから構成され、フィルタ群１２４の各種パラメータを設定する。１１０はパネル部であり、操作子２と表示部６とから構成される。
【００１０】
2．実施例の動作
2．1．メインルーチンの処理（図３，図４）
ＣＰＵ２４においては、パネル部１１０を介してユーザから指示があった場合、または所定時間毎に自動的に、図３，図４に示すメインルーチンが起動される。図３において処理がステップＳＰ２に進むと、現在のフィルタ群１２４に設定されている設定情報が取得される。ここで、設定情報には、以下のようなものがある。
(１)ノッチフィルタの割当数：ノッチフィルタの最大数は「４」であるが、このパラメータは、実際に現在割り当てられているノッチフィルタの数を表す。
(２)各ノッチフィルタのパラメータ：これは、各ノッチフィルタの中心周波数、最大減衰量、Ｑ値（減衰特性の鋭さ）等のパラメータである。
(３)AllFiltersResettable ：これは、全ノッチフィルタの設定をプログラムによって自動的にリセットしても良いか否かを表すパラメータである。
(４)FiltersReassignable ：これは、あるハウリング周波数に割り当てられているノッチフィルタを自動的に解放して他のハウリング周波数に再割当しても良いか否かを表すパラメータである。
(５)閾値Ｄmax：これは、後述する第１解放処理に用いられるパラメータである（詳細は後述する）。
【００１１】
次に、処理がステップＳＰ４に進むと、アサインされている全てのノッチフィルタの設定をリセットするか否か、すなわちパラメータAllFiltersResettable が“True”であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ６に進み、全てのノッチフィルタの設定がリセットされる。なお、パラメータAllFiltersResettable が“ False”であれば、ステップＳＰ６はスキップされる。次に、処理がステップＳＰ８に進むと、ハウリング検出部１２２において、フィルタ群１２４の出力信号中のハウリングの有無、ハウリング周波数およびハウリングレベルが検出される。ここで、ハウリングが生じている場合には、複数のハウリング周波数が存在する場合も考えられる。かかる場合には、ハウリングレベルの最も高い一のハウリング周波数のみが処理対象のハウリング周波数として選択される。なお、今回選択された周波数以外のハウリング周波数は、このメインルーチン（図３，図４）が複数回実行されることにより、処理対象のハウリング周波数として順次選択されることになる。
【００１２】
次に、処理がステップＳＰ１０に進むと、処理対象となるハウリング周波数が発見されたか否かが判定される。発見されなかった場合は「ＮＯ」と判定され、処理はステップＳＰ１２に進む。ここでは、ハウリング周波数が発見されなかった旨の確認メッセージが表示部６に表示され、本ルーチンが終了する。一方、処理対象となるハウリング周波数が発見された場合には、処理はステップＳＰ１４に進み、既にアサインされているノッチフィルタのパラメータを変更することによって、処理対象のハウリング周波数に対処することが可能であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１５に進み、必要なパラメータ変更が行われた後に本ルーチンの処理が終了する。例えば、既にアサインされているノッチフィルタに係るハウリング周波数のレベルが増大し、アサイン済みのノッチフィルタの最大減衰量が低すぎることになった場合には、ステップＳＰ１５にあっては、当該最大減衰量を増加するようにノッチフィルタのパラメータが変更される。
【００１３】
一方、新たなハウリング周波数が検出された場合においては、ステップＳＰ１４において「ＮＯ」と判定され、処理はステップＳＰ１６に進む。ここでは、未アサインのノッチフィルタが存在するか否かが判定される。未アサインのノッチフィルタが存在した場合は「ＹＥＳ」と判定され、処理はステップＳＰ１８に進む。ここでは、未アサインのノッチフィルタに対して、今回の処理対象となるハウリング周波数が割り当てられる。また、本実施例においては、説明の簡略化のため、ノッチフィルタが一のハウリング周波数に対してアサインされている場合には、ハウリングレベルと最大減衰量とのデシベル値とが一致することとする。例えば、あるハウリング周波数成分のレベルが「１０ｄＢ」であれば、この周波数に対してアサインされるノッチフィルタの最大減衰量は「１０ｄＢ」になる。従って、ステップＳＰ１８においては、ハウリング周波数成分のレベルに等しい値にノッチフィルタの最大減衰量が設定される。このように、ノッチフィルタが何れかのハウリング周波数が割り当てられると、その割当時刻がＲＡＭ２２内に記憶される。ここで、第ｎノッチフィルタについての割当時刻をｔas(n)という。
【００１４】
一方、全ノッチフィルタが既にアサイン済みである場合はステップＳＰ１６において「ＮＯ」と判定され、処理はステップＳＰ２０に進む。ここでは、ノッチフィルタの再アサインが許容されているか否か、すなわちパラメータFiltersReassignable が“True”であるか否かが判定される。ここで「ＮＯ」と判定されると処理はステップＳＰ２２に進み、「全てのノッチフィルタがアサイン済みである」旨の警告メッセージが表示部６に表示され、本ルーチンの処理が終了する。一方、ノッチフィルタの再アサインが許容されている場合は「ＹＥＳ」と判定され、処理はステップＳＰ２４に進む。ここでは、第１解放処理サブルーチン（図５）が呼び出される。その処理の内容については後述するが、所定の条件を満たす場合には、アサイン済みの一のノッチフィルタが解放される。次に、処理がステップＳＰ２６に進むと、第１解放処理によって解放されたノッチフィルタが存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ３２に進み、解放されたノッチフィルタに対して、今回の処理対象のハウリング周波数が割り当てられる。
【００１５】
一方、第１解放処理においてノッチフィルタが解放されなかった場合はステップＳＰ２６において「ＮＯ」と判定され、処理はステップＳＰ２８に進む。ここでは、第２解放処理サブルーチン（図６）が呼び出される。その処理の内容については後述するが、所定の条件を満たす場合には、アサイン済みの一のノッチフィルタが解放される。次に、処理がステップＳＰ３０に進むと、第２解放処理によって解放されたノッチフィルタが存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理は上述したステップＳＰ３２に進み、解放されたノッチフィルタに対して今回の処理対象のハウリング周波数が割り当てられる。一方、第２解放処理においてもノッチフィルタが解放されなかった場合は処理はステップＳＰ３４に進み、「何れのノッチフィルタも解放されなかった」旨の警告メッセージが表示部６に表示され、本ルーチンの処理が終了する。
【００１６】
2．2．第１解放処理サブルーチンの詳細（図５）
次に、上述した第１解放処理サブルーチンにおける処理の詳細を図５を参照し説明する。
図５において処理がステップＳＰ１０２に進むと、アサインされている全てのノッチフィルタに対して、中心周波数が隣接する周波数のペアが決定される。例えば、第１〜第４ノッチフィルタに対して順次周波数が高くなるように中心周波数ｆ1〜ｆ4 が割り当てられているとすると、決定されるペアは（ｆ1，ｆ2）、（ｆ2，ｆ3）および（ｆ3，ｆ4）の「３」組になる。ここで、ペアを構成する「２」の周波数をｆi，ｆj としたとき、「Ｄij = |log10(ｆi) - log10(ｆj) |」を中心周波数差という。ステップＳＰ１０２においては、上記各ペアに対して、中心周波数差Ｄ12, Ｄ23, Ｄ34 が算出される。
【００１７】
次に、処理がステップＳＰ１０４に進むと、上記各中心周波数差Ｄij のうち、最小のものが求められる。次に、処理がステップＳＰ１０６に進むと、中心周波数差Ｄij が最小である周波数のペアが複数存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１０８に進む。ここでは、各ペアを構成する中心周波数ｆi，ｆj に係るノッチフィルタの割当時刻ｔas(n)のうち最も古いものが検索され、この最も古い割当時刻ｔas(n)を有するノッチフィルタの中心周波数を含むペアが、解放候補ペアとして選択される。なお、中心周波数差Ｄij が最小であるペアが一組のみであった場合には、ステップＳＰ１０８はスキップされ、この一組のペアが解放候補ペアとして選択される。次に、処理がステップＳＰ１１０に進むと、解放候補ペアの中心周波数差Ｄij が閾値Ｄmax未満であるか否かが判定される。ここで「ＮＯ」と判定されると、アサイン済みのノッチフィルタは何れも解放されることなく処理はメインルーチン（図３，図４）に戻る。
【００１８】
一方、解放候補ペアの中心周波数差Ｄij が閾値Ｄmax未満であれば、ステップＳＰ１１０において「ＹＥＳ」と判定され、処理はステップＳＰ１１２に進む。ここでは、中心周波数ｆi，ｆj に対して夫々与えられている減衰量を確保できるように、新たな中心周波数ｆkと、該中心周波数ｆkの最大減衰量Ｇkと、Ｑ値Ｑkとが決定される。その際、中心周波数ｆkは、中心周波数ｆi，ｆj の間にある値に設定される。次に、処理がステップＳＰ１１４に進むと、中心周波数ｆi，ｆj のノッチフィルタのうち一方に対して、上記中心周波数ｆk、最大減衰量ＧkおよびＱ値Ｑkが再アサインされる。次に、処理がステップＳＰ１１６に進むと、再アサインされなかった他方のノッチフィルタが解放される。以上により、本ルーチンの処理が終了し処理はメインルーチンに戻る。
【００１９】
次に、本サブルーチンによる処理の具体例を図８を参照し説明する。図８において、周波数軸より上側の部分はハウリング周波数成分の周波数およびレベルを表し、周波数軸より下側の部分は各ノッチフィルタの減衰特性を表す。メインルーチンが呼び出される前に、既にハウリング周波数ｆh1〜ｆh4を有するハウリング周波数成分２０１〜２０４が検出されており、これらに対して第１〜第４ノッチフィルタがアサインされ、各ノッチフィルタに減衰特性２２１〜２２４が設定されていたとする。図示のように、各減衰特性２２１〜２２４における最大減衰量は、ハウリング周波数成分２０１〜２０４のレベルに比例する大きさに設定されている。そして、各ノッチフィルタにおいて減衰量が最大になる中心周波数ｆ1〜ｆ4 は、ハウリング周波数ｆh1〜ｆh4にそれぞれ一致している。
【００２０】
かかる状態でメインルーチンのステップＳＰ８において、ハウリング周波数ｆh5を有するハウリング周波数成分２０５が検出されたとする。ここで、第１，第２ノッチフィルタの中心周波数差Ｄ1, 2、すなわち|log10(ｆ1) - log10(ｆ2) | が閾値Ｄmax未満であったとする。かかる場合は、両ノッチフィルタの減衰量をカバーできるように、換言すれば何れの周波数においても第１，第２ノッチフィルタの減衰量よりも大きな減衰量を確保できるように、中心周波数ｆk、最大減衰量ＧkおよびＱ値Ｑkを有する減衰特性２２６がステップＳＰ１１２において決定される。ステップＳＰ１１４においては、該減衰特性２２６に対して第１，第２ノッチフィルタのうち何れか一方がアサインされ、アサインされた側のノッチフィルタが減衰特性２２６を実現するようにそのパラメータが更新される。そして、ステップＳＰ１１６にあっては、他方のノッチフィルタがリリース（解放）される。ノッチフィルタがリリースされると、メインルーチンのステップＳＰ２６（図４）において「ＹＥＳ」と判定され、ステップＳＰ３２において、このリリースされたノッチフィルタがハウリング周波数成分２０５に割り当てられ、該ハウリング周波数成分２０５を減衰させる減衰特性２２５が付与される。
【００２１】
2．3．第２解放処理サブルーチンの詳細（図６）
次に、上述した第２解放処理サブルーチンにおける処理の詳細を図６を参照し説明する。
図６において処理がステップＳＰ１２２に進むと、アサインされている全てのノッチフィルタのうち、最大減衰量Ｇkの最も小さいノッチフィルタが選択される。次に、処理がステップＳＰ１２４に進むと、選択されたノッチフィルタが複数存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１２６に進み、割当時刻ｔas(n)の最も古い一のノッチフィルタのみが選択される。なお、ステップＳＰ１２４において「ＮＯ」と判定されると、ステップＳＰ１２６はスキップされる。
【００２２】
次に、処理がステップＳＰ１２６に進むと、選択されたノッチフィルタの最大減衰量が今回検出されたハウリング周波数成分のレベル未満であるか否かが判定される。ここで「ＹＥＳ」と判定されると、この選択されたノッチフィルタがリリースされる。一方、ステップＳＰ１２８において「ＮＯ」と判定されると、ステップＳＰ１３０はスキップされる。以上により、本ルーチンの処理が終了し処理はメインルーチンに戻る。
【００２３】
次に、本サブルーチンによる処理の具体例を図９を参照し説明する。図９においては、上述した図８と同様に、メインルーチンが呼び出される前に、既にハウリング周波数ｆh1〜ｆh4を有するハウリング周波数成分２０１〜２０４が検出されており、これらに対して第１〜第４ノッチフィルタがアサインされ、各ノッチフィルタに減衰特性２２１〜２２４が設定されていたとする。また、第３，第４ノッチフィルタの最大減衰量は等しいものとする。
【００２４】
かかる状態でメインルーチンのステップＳＰ８において、ハウリング周波数ｆh5を有するハウリング周波数成分２０５が検出されたとする。ここで、各ノッチフィルタの中心周波数差Ｄij が何れも閾値Ｄmax以上であったとすると、上述した第１解放処理サブルーチン（図５）のステップＳＰ１１０において「ＮＯ」と判定され、第１解放処理においてはノッチフィルタはリリースされず、第２解放処理サブルーチン（図６）が呼び出されることになる。そのステップＳＰ１２２においては、最大減衰量の最も小さいノッチフィルタ、すなわち減衰特性２２３，２２４に係る第３，第４ノッチフィルタが選択される。そして、両ノッチフィルタのうち割当時刻の古い側のノッチフィルタのみがステップＳＰ１２６において選択される。
【００２５】
ここで、ハウリング周波数成分２０５のハウリングレベルは、第３，第４ノッチフィルタの最大減衰量以上であるため、ステップＳＰ１２８においては「ＹＥＳ」と判定され、この選択されたノッチフィルタがリリースされる。ノッチフィルタがリリースされると、メインルーチンのステップＳＰ３０（図４）において「ＹＥＳ」と判定され、ステップＳＰ３２において、このリリースされたノッチフィルタがハウリング周波数成分２０５に割り当てられ、該ハウリング周波数成分２０５を減衰させる減衰特性２２５が付与される。
【００２６】
2．4．タイマ割込み処理ルーチンの詳細（図７）
ＣＰＵ２４においては、所定時間（数秒程度）毎にタイマ割込みが発生し、図７に示すタイマ割込み処理ルーチンが起動される。図７において処理がステップＳＰ１５２に進むと、全ノッチフィルタの最大減衰量が所定量づつ低減される。次に、処理がステップＳＰ１５４に進むと、最大減衰量が「０ｄＢ」以下になったノッチフィルタがリリースされる。これにより、ハウリングが生じたために一旦はその周波数成分にノッチフィルタが割り当てられたとしても、そのハウリングの要因が解消されたのであれば、やがて当該ノッチフィルタはリリースされることになる。一方、ハウリングの要因が解消されていない場合においてノッチフィルタの最大減衰量が低減されてゆくと、そのハウリング周波数において再びハウリングが発生する。この場合は、上述したステップＳＰ１５において当該最大減衰量が増加される。
【００２７】
3．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、ＣＰＵ２４上で動作するプログラムによって各種処理を実行したが、このプログラムのみをＣＤ−ＲＯＭ、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００２８】
(2)また、上記実施例のハウリングキャンセラは、単体で用いられるものに限られず、例えばオーディオミキサなどに組み込んでも良いことは言うまでもない。
【００２９】
(3)また、上記実施例においては、ハウリング検出部１２２はフィルタ群１２４の出力信号中のハウリングの有無、ハウリング周波数およびハウリングレベルを検出したが、フィルタ群１２４の入力信号のハウリングの有無、ハウリング周波数およびハウリングレベルを検出するようにしてもよい。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施例のハウリングキャンセラ１００のハードウエアブロック図である。
【図２】該ハウリングキャンセラ１００のモジュール構成を示すブロック図である。
【図３】該ハウリングキャンセラ１００のメインルーチンのフローチャート（１／２）である。
【図４】該ハウリングキャンセラ１００のメインルーチンのフローチャート（２／２）である。
【図５】第１解放処理サブルーチンのフローチャートである。
【図６】第２解放処理サブルーチンのフローチャートである。
【図７】タイマ割込み処理ルーチンのフローチャートである。
【図８】第１解放処理の動作説明図である。
【図９】第２解放処理の動作説明図である。
【符号の説明】
【００３１】
２：操作子、４：検出回路、６：表示部、８：表示回路、１０：音声信号入出力部、１２：信号処理回路、１４：外部機器、１６：通信インタフェース、１８：通信バス、２０：ＲＯＭ、２２：ＲＡＭ、２４：ＣＰＵ（処理装置）、１００：ハウリングキャンセラ、１０２：マイク、１０４：アンプ、１０６：スピーカ、１１０：パネル部、１１２：制御部、１１４：音声信号処理部、１２０：入力ゲイン調整部、１２２：ハウリング検出部（ハウリング検出手段）、１２４：フィルタ群、１２４：（フィルタ群）、１２６：出力ゲイン調整部、２０１，２０２：ハウリング周波数成分、２０１〜２０４：ハウリング周波数成分、２０５：ハウリング周波数成分、２２１〜２２４：減衰特性、２２５：減衰特性、２２６：減衰特性。
【図１】
0004596273.tif 000002
【図２】
0004596273.tif 000003
【図３】
0004596273.tif 000004
【図４】
0004596273.tif 000005
【図５】
0004596273.tif 000006
【図６】
0004596273.tif 000007
【図７】
0004596273.tif 000008
【図８】
0004596273.tif 000009
【図９】
0004596273.tif 000010