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