(57)【特許請求の範囲】
【請求項１】
スピーカ及びマイクロホンを具備する音響機器においてハウリングを抑制するためのハウリング抑制装置であって、
前記ハウリングの有無を検出するハウリング検出部と、
前記ハウリング検出部でハウリングが検出された場合、前記スピーカと前記マイクロホンとの間の音響経路を同定してエコー推定値を算出する算出部と、
前記算出部で算出された前記エコー推定値を前記マイクロホンの出力信号から減算する減算部と、
エコーの有無を検出するエコー検出部と、を備え、
前記減算部は、前記エコー検出部で前記エコーが検出されない場合、前記エコー推定値を前記マイクロホンの出力信号から減算するのを停止し、
前記エコー検出部は、前記エコー推定値の時間平均パワーに基づいて前記エコーの有無を検出すること、を特徴とするハウリング抑制装置。
【請求項２】
前記算出部は、高速Ｈ∞フィルタ、Ｊ−高速Ｈ∞フィルタ又はＰ−高速Ｈ∞フィルタの何れかを用いて前記音響経路を同定すること、を特徴とする請求項１記載のハウリング抑制装置。
【請求項３】
前記ハウリング検出部は、前記スピーカへの入力信号又は前記マイクロホンの出力信号のスペクトル形状に基づいて、前記ハウリングの有無を検出すること、を特徴とする請求項１又は２記載のハウリング抑制装置。
【請求項４】
前記マイクロホンからの話者による入力音の有無を検出する入力音検出部を、備え、
前記算出部は、前記入力音検出部で前記入力音が検出されない場合に前記音響経路を同定すること、を特徴とする請求項１〜３の何れか一項記載のハウリング抑制装置。
【請求項５】
前記入力音検出部は、前記マイクロホンの出力信号の時間平均パワーと、前記エコー推定値の時間平均パワー若しくは残留エコーの時間平均パワーと、に基づいて前記入力音の有無を検出すること、を特徴とする請求項４記載のハウリング抑制装置。
【請求項６】
前記スピーカからの出力音の有無を検出する出力音検出部と、を備え、
前記算出部は、前記出力音検出部で前記出力音が検出された場合に前記音響経路を同定すること、を特徴とする請求項１〜５の何れか一項記載のハウリング抑制装置。
【請求項７】
前記出力音検出部は、前記スピーカへの入力信号の時間平均パワーに基づいて前記出力音の有無を検出すること、を特徴とする請求項６記載のハウリング抑制装置。
【請求項８】
前記エコー推定値の誤りの有無を検出する誤推定検出部を備え、
前記算出部は、前記誤推定検出部で前記エコー推定値の誤りが検出された場合、前記エコー推定値を修正すること、を特徴とする請求項１〜７の何れか一項記載のハウリング抑制装置。
【請求項９】
前記誤推定検出部は、前記マイクロホンの出力信号の時間平均パワーと前記エコー推定値の時間平均パワーとに基づいて、前記エコー推定値の誤りの有無を検出すること、を特徴とする請求項８記載のハウリング抑制装置。
【請求項１０】
スピーカ及びマイクロホンを具備する音響機器においてハウリングを抑制するためのハウリング抑制方法であって、
前記ハウリングの有無を検出する第１ステップと、
前記第１ステップで前記ハウリングが検出された場合、前記スピーカと前記マイクロホンとの間の音響経路を同定してエコー推定値を算出する第２ステップと、
前記第２ステップで前記エコー推定値を算出した後、当該エコー推定値を前記マイクロホンの出力信号から減算する第３ステップと、
エコーの有無を検出する第６ステップと、を含み、
前記第３ステップにおいては、前記第６ステップで前記エコーが検出されない場合、前記エコー推定値を前記マイクロホンの出力信号から減算するのを停止し、
前記第６ステップにおいては、前記エコー推定値の時間平均パワーに基づいて前記エコーの有無を検出すること、を特徴とするハウリング抑制方法。
【請求項１１】
前記第２ステップにおける前記音響経路の同定は、高速Ｈ∞フィルタ、Ｊ−高速Ｈ∞フィルタ又はＰ−高速Ｈ∞フィルタの何れかを用いて行われること、を特徴とする請求項１０記載のハウリング抑制方法。
【請求項１２】
前記第１ステップにおける前記ハウリングの有無の検出は、前記スピーカへの入力信号又は前記マイクロホンの出力信号のスペクトル形状に基づいて行われること、を特徴とする請求項１０又は１１記載のハウリング抑制方法。
【請求項１３】
前記マイクロホンからの話者による入力音の有無を検出する第４ステップを含み、
前記第２ステップにおける前記音響経路の同定は、前記第４ステップで前記入力音が検出されない場合に行われること、を特徴とする請求項１０〜１２の何れか一項記載のハウリング抑制方法。
【請求項１４】
前記スピーカからの出力音の有無を検出する第５ステップを含み、
前記第２ステップにおける前記音響経路の同定は、前記第５ステップで前記出力音が検出された場合に行われること、を特徴とする請求項１０〜１３の何れか一項記載のハウリング抑制方法。
【請求項１５】
前記エコー推定値の誤りの有無を検出する第７ステップを含み、
前記第２ステップにおいては、前記第７ステップで前記エコー推定値の誤りが検出された場合、算出した前記エコー推定値を修正すること、を特徴とする請求項１０〜１４の何れか一項記載のハウリング抑制方法。
【請求項１６】
スピーカ及びマイクロホンを具備する音響機器においてハウリングを抑制するためのハウリング抑制プログラムであって、
前記ハウリングの有無を検出する機能と、
前記ハウリングが検出された場合、前記スピーカと前記マイクロホンとの間の音響経路を同定してエコー推定値を算出する機能と、
前記エコー推定値を算出した後、当該エコー推定値を前記マイクロホンの出力信号から減算する機能と、
エコーの有無を検出する機能と、をコンピュータに実行させ、
前記エコー推定値を前記マイクロホンの出力信号から減算する機能は、前記エコーの有無を検出する機能で前記エコーが検出されない場合、前記エコー推定値を前記マイクロホンの出力信号から減算するのを停止し、
前記エコーの有無を検出する機能は、前記エコー推定値の時間平均パワーに基づいて前記エコーの有無を検出すること、を特徴とするハウリング抑制プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハウリングを抑制するためのハウリング抑制装置、ハウリング抑制方法及びハウリング抑制プログラムに関する。
【背景技術】
【０００２】
スピーカ及びマイクロホンを具備する音響機器においては、これらスピーカ−マイクロホン間でループ状態が生じたとき、ハウリングが発生することがある。ハウリングは、例えば、図８（ａ）に示すように、スピーカ１１とマイクロホン１２とが同じ空間にある場合、スピーカ１１からの出力音がマイクロホン１２に入力され、この入力された出力音がアンプ１５にて増幅されてスピーカ１１から出力され、これらが繰り返されることにより発生する。
【０００３】
ここで、通常、ハウリングは、図８（ｂ）に示すように、音のうちのある周波数成分ｆ０が増幅されることで発生することが知られている。そこで、従来のハウリング抑制装置としては、ハウリングに起因する周波数成分をノッチフィルタ方式で低減させるものが開発されている（例えば、特許文献１，２参照）。
【特許文献１】特開２００７−２４３２４２号公報
【特許文献２】特開２００６−２８７８５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したようなハウリング抑制装置では、機器の性能上、比較的広い帯域の周波数成分ｆ１が低減されてしまう。そのため、ハウリングに起因する周波数成分ｆ０を低減するに際し必要な周波数成分ｆ３まで低減されるおそれがあり、音質が劣化してしまうという問題がある。
【０００５】
また、一般的に、ハウリングに起因する周波数成分にあっては、空間によって異なり、また、同じ空間でもスピーカ及びマイクロホン間の音響経路によって変化する。そのため、マイクロホン及びスピーカ間の位置関係の変化や、マイクロホン音量の変化等の環境変化によって、ハウリングが新たに発生することがある。しかし、上述したようなハウリング抑制装置では、この新たに発生するハウリングを抑制するのが困難である。つまり、かかる環境の変化に十分に対応できないという問題がある。
【０００６】
そこで、本発明は、あらゆる環境下において、音質の低下を防止しつつハウリングを抑制することができるハウリング抑制装置、ハウリング抑制方法及びハウリング抑制プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係るハウリング抑制装置は、スピーカ及びマイクロホンを具備する音響機器においてハウリングを抑制するためのハウリング抑制装置であって、ハウリングの有無を検出するハウリング検出部と、ハウリング検出部でハウリングが検出された場合、スピーカとマイクロホンとの間の音響経路を同定してエコー推定値を算出する算出部と、算出部で算出されたエコー推定値をマイクロホンの出力信号から減算する減算部と、エコーの有無を検出するエコー検出部と、を備え、減算部は、エコー検出部でエコーが検出されない場合、エコー推定値をマイクロホンの出力信号から減算するのを停止し、エコー検出部は、エコー推定値の時間平均パワーに基づいてエコーの有無を検出すること、を特徴とする。
【０００８】
また、本発明に係るハウリング抑制方法は、スピーカ及びマイクロホンを具備する音響機器においてハウリングを抑制するためのハウリング抑制方法であって、ハウリングの有無を検出する第１ステップと、第１ステップでハウリングが検出された場合、スピーカとマイクロホンとの間の音響経路を同定してエコー推定値を算出する第２ステップと、第２ステップでエコー推定値を算出した後、当該エコー推定値をマイクロホンの出力信号から減算する第３ステップと、エコーの有無を検出する第６ステップと、を含み、第３ステップにおいては、第６ステップでエコーが検出されない場合、エコー推定値をマイクロホンの出力信号から減算するのを停止し、第６ステップにおいては、エコー推定値の時間平均パワーに基づいてエコーの有無を検出すること、を特徴とする。
【０００９】
また、本発明に係るハウリング抑制プログラムは、スピーカ及びマイクロホンを具備する音響機器においてハウリングを抑制するためのハウリング抑制プログラムであって、ハウリングの有無を検出する機能と、ハウリングが検出された場合、スピーカとマイクロホンとの間の音響経路を同定してエコー推定値を算出する機能と、エコー推定値を算出した後、当該エコー推定値をマイクロホンの出力信号から減算する機能と、エコーの有無を検出する機能と、をコンピュータに実行させ、エコー推定値をマイクロホンの出力信号から減算する機能は、エコーの有無を検出する機能でエコーが検出されない場合、エコー推定値をマイクロホンの出力信号から減算するのを停止し、エコーの有無を検出する機能は、エコー推定値の時間平均パワーに基づいてエコーの有無を検出すること、を特徴とする。
【００１０】
このような本発明では、エコー推定値がマイクロホンの出力信号から減算されるため、スピーカからマイクロホンへの音の回り込みが打ち消され、ハウリングが生じない。よって、ハウリングの抑制に際し、周波数成分の低減を必要としない。ここで、このエコー推定値は、ハウリングが検出された場合において、スピーカとマイクロホンとの間の音響経路が同定されて算出される。そのため、環境変化によりハウリングが新たに発生したときであっても、このときの音響経路が同定されてエコー推定値が算出され、当該エコー推定値がマイクロホンの出力信号から減算され、ハウリングが速やかに抑制される。従って、本発明によれば、あらゆる環境下において、音質の低下を防止しつつハウリングを抑制することができる。
【００１１】
また、算出部は、高速Ｈ∞フィルタ、Ｊ−高速Ｈ∞フィルタ又はＰ−高速Ｈ∞フィルタの何れかを用いて音響経路を同定すること、が好ましい。また、第２ステップにおける音響経路の同定は、高速Ｈ∞フィルタ、Ｊ−高速Ｈ∞フィルタ又はＰ−高速Ｈ∞フィルタの何れかを用いて行われること、が好ましい。これらの場合、音響経路の同定において処理の収束性を速めることができ、ハウリングを速やかに抑制することが可能となる。なお、「高速Ｈ∞フィルタ」とは、ハイパーＨ∞フィルタの高速アルゴリズムであり、「Ｊ−高速Ｈ∞フィルタ」とは、ハイパーＨ∞フィルタの並列化可能な高速アルゴリズムである。「Ｐ−高速Ｈ∞フィルタ」とは、音響系への入力信号がＡＲモデルで表現できる場合の高速Ｈ∞フィルタである。これら高速Ｈ∞フィルタの詳細については、次の文献等を参照されたい。
・西山清著「An H∞Optimization and Its Fast Algorithm for Time-Variant System Identification」、IEEE TRANSACTIONS ON SIGNAL PROCESSING,vol.52,No.5 May 2004
・西山清著「Fast J-Unitary Array Formof the Hyper H∞Filter」、IEICE TRANS.FUNDAMENTALS,vol.E88-A,No.11November 2005
・西山清著「Computational Improvementof the Fast H∞Filter Based on Information of Input Predictor」、IEEE TRANSACTIONS ON SIGNAL PROCESSING,vol.55,No.8 August 2007
【００１２】
また、ハウリング検出部は、スピーカへの入力信号又はマイクロホンの出力信号のスペクトル形状に基づいて、ハウリングの有無を検出すること、が好ましい。また、第１ステップにおけるハウリングの有無の検出は、スピーカへの入力信号又はマイクロホンの出力信号のスペクトル形状に基づいて行われること、が好ましい。ハウリング発生の際には、スピーカへの入力信号又はマイクロホンの出力信号のスペクトル形状に特有の特徴が現れる。よって、スピーカへの入力信号又はマイクロホンの出力信号のスペクトル形状に基づいてハウリングの有無を検出することで、かかる特有の特徴を利用してハウリングの有無を好適に検出することができる。
【００１３】
また、マイクロホンからの話者による入力音の有無を検出する入力音検出部を、備え、算出部は、入力音検出部で入力音が検出されない場合に音響経路を同定すること、が好ましい。また、マイクロホンからの話者による入力音の有無を検出する第４ステップを含み、第２ステップにおける音響経路の同定は、第４ステップで入力音が検出されない場合に行われること、が好ましい。これらにより、音響経路の同定を精度よく行うことが可能となる。これは、次の理由による。すなわち、通常、「同定」は、対象となる未知システムへの入力と、未知システムからの出力と、が揃って得られるときに精度よく行うことができる。この点、マイクロホンからの話者による入力音（以下、「トーク音」という）は、未知システムである音響経路からの出力ではないため、トーク音の検出時に音響経路の同定を行うと、かかる同定の精度が低下するおそれがあるためである。
【００１４】
このとき、入力音検出部は、具体的には、マイクロホンの出力信号の時間平均パワーと、エコー推定値の時間平均パワー若しくは残留エコーの時間平均パワーと、に基づいて入力音の有無を検出する場合がある。なお、この「残留エコー」とは、マイクロホンの出力信号から擬エコー推定値を減算したものを意味する。
【００１５】
また、スピーカからの出力音の有無を検出する出力音検出部と、を備え、算出部は、出力音検出部で出力音が検出された場合に音響経路を同定すること、が好ましい。また、スピーカからの出力音の有無を検出する第５ステップを含み、第２ステップにおける音響経路の同定は、スピーカからの出力音が検出された場合に行われること、が好ましい。これらにより、音響経路の同定を精度よく行うことが可能となる。これは、上述のように「同定」は、未知システムの入出力が得られるときに精度よく行われることから、音響経路（未知システム）の同定は、スピーカからの出力音（未知システムへの入力）が検出されたときに行われるのが好ましいためである。
【００１６】
このとき、出力音検出部は、具体的には、スピーカへの入力信号の時間平均パワーに基づいて出力音の有無を検出する場合がある。
【００１７】
また、エコーの有無を検出するエコー検出部を備え、減算部は、エコー検出部でエコーが検出されない場合、エコー推定値をマイクロホンの出力信号から減算するのを停止すること、が好ましい。また、エコーの有無を検出する第６ステップを含み、第３ステップにおいては、第６ステップでエコーが検出されない場合、エコー推定値をマイクロホンの出力信号から減算するのを停止すること、が好ましい。これにより、ハウリングが発生しなくなったときに、ハウリングの抑制を速やかに停止することができる。つまり、ハウリングの消滅に好適に対応することが可能となる。
【００１８】
このとき、エコー検出部は、具体的には、エコー推定値の時間平均パワーに基づいてエコーの有無を検出する場合がある。
【００１９】
また、エコー推定値の誤りの有無を検出する誤推定検出部を備え、算出部は、誤推定検出部でエコー推定値の誤りが検出された場合、エコー推定値を修正すること、が好ましい。また、エコー推定値の誤りの有無を検出する第７ステップを含み、第２ステップにおいては、第７ステップでエコー推定値の誤りが検出された場合、算出したエコー推定値を修正すること、が好ましい。このように、エコー推定値の誤りが検出された場合に当該エコー推定値を修正することで、ハウリングの抑制における信頼性を高めることができる。
【００２０】
このとき、誤推定検出部は、具体的には、マイクロホンの出力信号の時間平均パワーとエコー推定値の時間平均パワーとに基づいて、エコー推定値の誤りの有無を検出する場合がある。
【発明の効果】
【００２１】
本発明によれば、あらゆる環境下において、音質の低下を防止しつつハウリングを抑制することが可能となる。その結果、快適な拡声性能を確保することができる。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。なお、以下の説明においては、記号の上に付される「＾」は、推定値を意味するものである。また、記号の上に付される「〜」「−」は、便宜上付加したものである。また、入力の都合上、これら「＾」「〜」「−」を文字の右上に付して記載する場合がある。
【００２３】
図１は本発明の一実施形態に係るハウリングキャンセラの概略構成を示すブロック図である。図１に示すように、本実施形態のハウリングキャンセラ（ハウリング抑制装置）１は、拡声系の音響機器１０においてハウリングを抑制するためのものである。そこで、まず、この音響機器１０について説明する。
【００２４】
音響機器１０は、スピーカ１１、マイクロホン１２及びコントローラ１３を備えている。スピーカ１１は、コントローラ１３から入力された入力信号ｕｋに応じて、出力音を出力する。マイクロホン１２は、入力された入力音に応じて、出力信号ｙｋをコントローラ１３に出力する。これらのスピーカ１１及びマイクロホン１２としては、仕様や形式等に限定されずに種々のものを用いることができる。なお、記号に付された「ｋ」は、時間ステップを表している（以下、同じ）。
【００２５】
コントローラ１３は、例えばプロセッサやＤＳＰ等が用いられている。また、コントローラ１３又はハウリングキャンセラ１と、スピーカ１１、マイクロホン１２とのインターフェイスには、Ｄ／Ａ、Ａ／Ｄ変換器をそれぞれ用いることができる。コントローラ１３は、加算器１４を介して例えばカラオケ機器等の音源に接続されている。これにより、コントローラ１３では、音楽が音楽信号ｍｋとして入力されて加算される。なお、音源としては、ＣＤプレイヤーやカセットデッキ等であってもよい。
【００２６】
また、コントローラ１３は、アンプ１５を有している。アンプ１５は、マイクロホン１２からの入力音と音源からの音楽とを増幅するためのものである。ここでのアンプ１５は、入力された信号を増幅し、スピーカ１１への入力信号ｕｋ（以下、単に「入力信号ｕｋ」という）を生成する。ちなみに、必要に応じて、スピーカ１１の直前やマイクロホン１２の直後にもアンプを設けてもよい。
【００２７】
次に、本実施形態のハウリングキャンセラ１について説明する。ハウリングキャンセラ１は、音響機器１０のコントローラ１３に搭載されている。このハウリングキャンセラ１は、適応フィルタ２、ハウリング検出器３、トーク検出器４、出力音検出器５、誤推定検出器６及びエコー検出器７を備えている。
【００２８】
適応フィルタ２は、スピーカ１１とマイクロホン１２との間の音響経路を同定（システム同定）し、エコーの推定値であるエコー推定値を算出する。具体的には、適応フィルタ２は、スピーカ１１とマイクロホン１２との間のインパルス応答の推定値ｘ＾ｋを求め、このインパルス応答の推定値ｘ＾ｋに基づいて擬似エコーｚ＾ｋを求める（詳しくは、後述）。ここでの適応フィルタ２としては、高速Ｈ∞フィルタ、Ｊ−高速Ｈ∞フィルタ若しくはＰ−高速Ｈ∞フィルタの何れか一つ、又はこれらの組み合わせが用いられている。
【００２９】
また、この適応フィルタ２には、スイッチ回路８を介して減算器９が接続されている。減算器９は、適応フィルタ２で求めた擬似エコーｚ＾ｋを、マイクロホン１２の出力信号ｙｋ（以下、単に「出力信号ｙｋ」という）から減算する。スイッチ回路８は、そのＯＮ／ＯＦＦによって、減算器９での減算の実行／停止を切り替える。
【００３０】
ハウリング検出器３は、ハウリングの有無を検出する。ここで、ハウリング発生時のハウリング信号（入力信号ｕｋ又は出力信号ｙｋ）にあっては、そのスペクトル形状に、次の（ア）〜（ウ）に示す特有の特徴点が見出される。
（ア）スペクトルに１つ又は２つ以上のピークが突出して現れ、２つ以上のピークが現れたときは、それらが隣接している点
（イ）スペクトルのピークが、ある周波数で持続して現れる点
（ウ）スペクトルのピークの大きさが一定値以上である点
【００３１】
そこで、ハウリング検出器３では、入力信号ｕｋを必要に応じてダウンサンプリングし、この入力信号ｕｋのスペクトル形状に基づいてハウリングの有無を検出する。つまり、スペクトルに所定値以上のピークが所定の周波数域で持続して現れたとき、ハウリングが発生したことを検出する。また、スペクトルにピークが複数現れた場合には、これら複数のピークが隣接していることをもってハウリングが発生したことを検出する。具体的には、以下の処理を実行することでハウリングの有無を検出する。
【００３２】
図２は、図１のハウリングキャンセラのハウリング検出器における処理のフローを示すフローチャートである。図２に示すように、まず、スペクトルの第１ピークの大きさａｐが閾値θｐｅａｋ（但し、θｐｅａｋ＞０）よりも大きいか否かを判定する（Ｓ１）。
【００３３】
Ｓ１でＹｅｓの場合、第２ピークの大きさａｐ２を第１ピークの大きさａｐで除したもの（ａｐ２／ａｐ）が、０よりも大きいか否かを判定する（Ｓ２）。Ｓ２でＹｅｓの場合、図中の式（１）に示すように、第２ピークの周波数ｆｐ２が、第１ピークの周波数の隣接成分の周波数ｆｐ−１，ｆｐ＋１の間にあるか否かを判定する（Ｓ３）。
【００３４】
Ｓ３でＹｅｓの場合、図中の式（２）に示すように、第１ピークの大きさａｐ及び隣接成分の大きさａｐ−１，ａｐ＋１の合計が、この合計をスペクトルにおける全成分の大きさの和Σａｉから減算したもの以上であるか否かを判定する（Ｓ４）。
【００３５】
Ｓ４でＹｅｓの場合、図中の式（３）に示すように、時間ステップｋにおける第１ピークの大きさａｐ（ｋ）が、時間ステップｋ−１における第１ピークの大きさａｐ（ｋ−１）以上であり、この第１ピークの大きさａｐ（ｋ−１）が、時間ステップｋ−２における第１ピークの大きさａｐ（ｋ−２）以上であるか否かを判定する（Ｓ５）。
【００３６】
Ｓ５でＹｅｓの場合、ある周波数で第１ピークが持続して現れているか否かを判定する（Ｓ６）。つまり、図中の式（４）に示すように、時間ステップｋ，ｋ−１，ｋ−２，ｋ−３，ｋ−４，ｋ−５における第１ピークの周波数ｆｐ（ｋ），ｆｐ（ｋ−１），ｆｐ（ｋ−２），ｆｐ（ｋ−３），ｆｐ（ｋ−４），ｆｐ（ｋ−５）のそれぞれが、互いに等しいか否かを判定する。そして、Ｓ６でＹｅｓの場合、ハウリングの発生があるとして、ハウリング検出器３による検出結果ＨＤ（ｋ）を１とし（Ｓ７）、ハウリングの検出を終了する。
【００３７】
ここで、Ｓ１，Ｓ３〜Ｓ６でＮｏの場合、ハウリングの発生が無いとして、検出結果ＨＤ（ｋ）を０とし（Ｓ８）、ハウリングの検出を終了する。また、Ｓ２でＮｏの場合、図中の式（５）に示すように、第１ピークの大きさａｐが、当該第１ピークの大きさａｐをスペクトルにおける全成分の大きさの和Σａｉから減算したもの以上であるか否かを判定する（Ｓ９）。Ｓ９でＹｅｓの場合、Ｓ５の判定へ移行する。一方、Ｓ９でＮｏの場合、Ｓ８の判定が行われ、ハウリングの検出を終了する。
【００３８】
図１に戻り、このハウリング検出器３は、上述の処理によってハウリングを検出した場合（ＨＤ（ｋ）＝１の場合）、スイッチ回路８をＯＮにして減算器９での減算を実行させる。
【００３９】
トーク検出器４は、マイクロホン１２からの話者による入力音（以下、「トーク音」という）の有無を検出する。具体的には、トーク検出器４は、出力信号ｙｋの短期・長期時間平均パワーと、擬似エコーｚ＾ｋの短期・長期時間平均パワー若しくは残留エコーｙ〜ｋの短期・長期時間平均パワーと、に基づいて、トーク音の有無を検出する。なお、残留エコーｙ〜ｋは、下式（６）に示すように、出力信号ｙｋから擬似エコーｚ＾ｋを減算したものを意味する。また、時間平均パワーの「短期」・「長期」は、時間平均をとる信号長（データ数）に関して短期・長期を意味する（以下の時間平均パワーについて同じ）。
【数６】
0005232485.tif 000002
【００４０】
ここでは、トーク検出器４は、下式（７）の条件式を満たすとき、トーク音があると検出する。そして、トーク検出器４は、検出結果を適応フィルタ２へ出力する。ちなみに、音楽信号ｍｋがコントローラ１３に入力されるか否かによって、下式（７）の条件式を下式（８）の条件式に切り替える場合もある。
【数７−８】
0005232485.tif 000003
【００４１】
出力音検出器５は、入力信号ｕｋの短期時間平均パワーに基づいて、スピーカ１１からの出力音の有無を検出する。ここでの出力音検出器５では、下式（９）の条件式を満たすとき、出力音があると検出する。そして、出力音検出器５は、この検出結果を適応フィルタ２に出力する。
【数９】
0005232485.tif 000004
【００４２】
誤推定検出器６は、出力信号ｙｋの時間平均パワーと擬似エコーｚ＾ｋの時間平均パワーとに基づいて、擬似エコーｚ＾ｋの誤りの有無を検出する。ここでの誤推定検出器６では、下式（１０）の条件式を満たすとき、擬似エコーｚ＾ｋに誤りがあると検出する。そして、この誤推定検出器６は、検出結果を適応フィルタ２に出力する。
【数１０】
0005232485.tif 000005
【００４３】
エコー検出器７は、擬似エコーｚ＾ｋの時間平均パワーに基づいて、エコーの有無を検出する。ここでのエコー検出器７では、下式（１１）の条件式を満たすとき、エコーがあると検出する。また、このエコー検出器７は、エコーが検出されない場合、スイッチ回路８をＯＦＦとして、減算器９での減算を停止させる。
【数１１】
0005232485.tif 000006
【００４４】
次に、説明したハウリングキャンセラ１が搭載された音響機器１０の処理について、図３〜図５に示すフローチャートを参照しつつ説明する。
【００４５】
まず、説明に先立ち、用いられる主な記号について説明する。なお、上記の記号と同一又は相当する記号には同一又は相当する記号を用い、重複する説明を省略する。ちなみに、各検出器３〜７による検出結果は、事象が検出されたときに「１」が設定され、それ以外のときに「０」が設定される。
【００４６】
ａｍｐ：アンプ１５の増幅率
Ｎｗ：待ちステップ定数
ＴＤ（ｋ）：トーク検出器４による検出結果
ＩＤ（ｋ）：出力音検出器５による検出結果
ＥＤ（ｋ）：エコー検出器７による検出結果
ＦＤ（ｋ）：誤推定検出器６による検出結果
ｆｌａｇ：フラグ
Ｈｋ（ｉ）：観測行列の第ｉ成分
Ｋｓ，ｋ：フィルタゲイン
Ｗｃ：カウント数
σ２＊｜ｋ：各時間平均パワー
ｒｅｓｅｔ：初期状態に戻す意
ｘ＾ｂａｃｋ：インパルス応答の推定値ｘ＾ｋのバックアップ値
【００４７】
ハウリングキャンセラ１が搭載された音響機器１０では、まず、各変数の初期値を設定する（Ｓ１１）。ここでは、一例として、各変数の初期値を図中の値に設定する。続いて、出力信号ｙｋを取得する（Ｓ１２）。そして、観測行列Ｈｋとインパルス応答の推定値ｘ＾ｋ｜ｋとを乗算し、擬似エコーｚ＾ｋを求める（Ｓ１３）。
【００４８】
続いて、ｆｌａｇが「１」か否かを判定する（Ｓ１４）。Ｓ１４でＮｏの場合、ハウリングの有無を検出してＨＤ（ｋ）が「１」か否かを判定する（Ｓ１５）。
【００４９】
Ｓ１５でＮｏの場合、残留エコーｙ〜ｋ＋１を求める（Ｓ１６）。ここでは、出力信号ｙｋをそのまま残留エコーｙ〜ｋ＋１とする。その後、カウント数Ｗｃを０とし（Ｓ１７）、音楽信号ｍｋ＋１を音源から取得する（Ｓ１８）。そして、残留エコーｙ〜ｋ＋１と音楽信号ｍｋ＋１との和に増幅率ａｍｐを乗算し、入力信号ｕｋ＋１を生成する（Ｓ１９）。
【００５０】
続いて、時間ステップｋ＋１の観測行列Ｈｋ+１を算出し（Ｓ２０）、時間ステップｋ＋１の各時間平均パワーσ２＊｜ｋ＋１，σ−２＊｜ｋ＋１を算出する（Ｓ２１）。ここで、時間平均パワーσ２＊｜ｋ＋１，σ−２＊｜ｋ＋１の更新は、適時行ってもよい。続いて、生成された入力信号ｕｋ＋１をスピーカ１１へ入力する（Ｓ２２）。そして、時間ステップｋを更新（ｋ＝ｋ＋１）し（Ｓ２３）、その後、再びＳ１２の処理に移行することになる。
【００５１】
ここで、上述のＳ１４でＹｅｓ若しくはＳ１５でＹｅｓの場合においては、次の処理を実行する。
【００５２】
すなわち、待ちステップ定数Ｎｗよりもカウント数Ｗｃが大きいか否かを判定する（Ｓ３１）。Ｓ３１でＹｅｓの場合、擬似エコーｚ＾ｋにおける誤りの有無を検出してＦＤ（ｋ）が「１」か否かを判定する（Ｓ３２）。Ｓ３２でＮｏの場合、トーク音の有無を検出してＴＤ（ｋ）が「０」か否かを判定する（Ｓ３３）。
【００５３】
Ｓ３３でＮｏの場合、擬似エコーｚ＾ｋを出力信号ｙｋから減算し、残留エコーｙ〜ｋ＋１を求める（Ｓ３４）。その後、後段の判定処理（後述のＳ４１）へ移行する。
【００５４】
一方、Ｓ３１でＮｏの場合、カウント数Ｗｃが待ちステップ定数Ｎｗと等しいか否かを判定する（Ｓ３５）。Ｓ３５でＮｏの場合、出力音の有無を検出してＩＤ（ｋ）が「１」か否かを判定する（Ｓ３６）。Ｓ３５でＹｅｓの場合、インパルス応答の推定値ｘ＾ｋのバックアップ値ｘ＾ｂａｃｋを取得し（Ｓ３７）、その後、Ｓ３６の判定処理へ移行する。
【００５５】
Ｓ３６でＹｅｓの場合、次の時間ステップｋ＋１におけるインパルス応答の推定値ｘ＾ｋ＋１を算出する（適応アルゴリズム：Ｓ３８）。具体的には、擬似エコーｚ＾ｋを出力信号ｙｋから減算してフィルタゲインＫｓ，ｋを乗算し、これを推定値ｘ＾ｋに加算することで、インパルス応答の推定値ｘ＾ｋ＋１を算出する。その後、Ｓ３４の処理へ移行する。また、Ｓ３６でＮｏの場合、そのまま、Ｓ３４の処理へ移行する。
【００５６】
他方、Ｓ３２でＹｅｓの場合、変数を修正し（Ｓ３９）、その後、Ｓ３６の判定へ移行する。また、Ｓ３３でＹｅｓの場合、Ｓ３６の判定処理へ移行する。
【００５７】
ここで、上述のＳ３４の後段においては、次の処理を実行する。
【００５８】
すなわち、カウント数Ｗｃが、待ちステップ定数Ｎｗよりも大きいか否かを判定する（Ｓ４１）。Ｓ４１でＹｅｓの場合、擬似エコーｚ＾ｋにおける誤りの有無とエコーの有無とを算出し、ＦＤ（ｋ）とＥＤ（ｋ）との双方が共に「０」か否かを判定する（Ｓ４２）。Ｓ４２でＹｅｓの場合、変数をリセットすると共にｆｌａｇを「０」とする（Ｓ４３）。そして、カウント数Ｗｃを更新（Ｗｃ＝Ｗｃ＋１）する（Ｓ４４）。
【００５９】
一方、Ｓ４１及びＳ４２でＮｏの場合、ｆｌａｇを「１」とし（Ｓ４５）、Ｓ４４の処理へ移行する。
【００６０】
以上において、ハウリング検出器３がハウリング検出部を構成し、適応フィルタ２が算出部を構成する。スイッチ回路８及び減算器９が減算部を構成し、トーク検出器４が入力音検出部を構成する。出力音検出器５が出力音検出部を構成し、エコー検出器７がエコー検出部を構成する。また、誤推定検出器６が誤推定検出部を構成する。
【００６１】
次に、上述したハウリング抑制の処理をコンピュータに実行させるためのハウリング抑制プログラムについて説明する。
【００６２】
図６は、本発明の一実施形態に係るハウリング抑制プログラムの構成を示す概略図である。図６に示すように、ハウリング抑制プログラム５１は、上記のコントローラ１３にインストールされているものであり、コンピュータが備える記録媒体５０に形成されたプログラム格納領域５０ａ内に格納されている。このハウリング抑制プログラム５１は、ハウリング検出モジュール５２、算出モジュール５３、減算モジュール５４、トーク音検出モジュール５５、出力音検出モジュール５６、エコー検出モジュール５７及び誤推定検出モジュール５８を備えて構成されている。
【００６３】
ハウリング検出モジュール５２、算出モジュール５３、トーク音検出モジュール５５、出力音検出モジュール５６、エコー検出モジュール５７及び誤推定検出モジュール５８を実行させることにより実現される機能は、上記のハウリング検出器３、適応フィルタ２、トーク検出器４、出力音検出器５、エコー検出器７及び誤推定検出器６の機能とそれぞれ同様である。また、減算モジュール５４を実行させることにより実現される機能は、上記のスイッチ回路８及び減算器９の機能と同様である。
【００６４】
なお、ハウリング抑制プログラム５１は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送されて他の機器によって記録（インストールを含む）される構成としてもよい。
【００６５】
以上、本実施形態によれば、ハウリングが検出された場合（Ｓ１５でＹｅｓ）、インパルス応答の推定値ｘ＾ｋ＋１が求められる（Ｓ３８）。そして、次の時間ステップにおいて、求められた推定値ｘ＾ｋに基づいて擬似エコーｚ＾ｋが算出され（Ｓ１３）、算出された擬似エコーｚ＾ｋが出力信号ｙｋから減算される（Ｓ３４）。
【００６６】
このように、出力信号ｙｋから擬似エコーｚ＾ｋを減算することにより、以下の効果を奏する。すなわち、スピーカ１１からマイクロホン１２への音の回り込みを打ち消し、ハウリングの発生を事前に阻止することができる。よって、ハウリングの抑制に際し、周波数成分の低減を必要としない。さらに、例えば、音響機器１０にて取り扱う信号をアナログ／デジタルの何れとしても、通常のハウリング抑制装置に比べ、かかる信号に歪が増加するのを抑制することができる。これらにより、音質の劣化を抑制することができる。
【００６７】
ここで、この擬似エコーｚ＾ｋは、上述したように、ハウリングが検出された場合において、スピーカ１１とマイクロホン１２との間のインパルス応答の推定値ｘ＾ｋが求められて算出される。よって、環境変化によりハウリングが突発的に新たに発生したときであっても、このときのインパルス応答の推定値ｘ＾ｋが求められ擬似エコーｚ＾ｋが算出され、当該擬似エコーｚ＾ｋが出力信号ｙｋから減算されて、ハウリングが速やかに抑制される。これにより、新たなハウリングの発生時に、マイクロホン１２の音量を調整したり、マイクロホン１２の位置を移動したり等の調整を不要にできる。そのため、専任の音響オペレータを待機させたり、話者がハウリングに注意しながら話したりする必要性を低減することができる。その結果、環境変化によらずに簡易且つ自動的にハウリングを抑制することが可能となる。
【００６８】
すなわち、本実施形態によれば、各検出器３〜７で適切に制御された適応フィルタ２によって、スピーカ１１及びマイクロホン１２間の音響経路を瞬時に同定して速やかに回り込みを断つことができる。よって、いかなる環境下においても、音質の劣化を伴うことなく好適にハウリングを抑制、ひいては消去することが可能となる。従って、あらゆる環境下において、音質の低下を防止しつつ、時々刻々変化するハウリングの周波数帯域に対応させて当該ハウリングを速やかに抑制、ひいては消去することができる。その結果、快適な拡声性能を確保することが可能となる。
【００６９】
また、本実施形態では、上述したように、インパルス応答の推定値ｘ＾ｋを求めるに際し、高速Ｈ∞フィルタ、Ｊ−高速Ｈ∞フィルタ又はＰ−高速Ｈ∞フィルタが用いられている。そのため、かかる推定において処理の収束性を速めることができ、ハウリングを速やかに抑制することが可能となる。ちなみに、従来、ハウリング抑制時間に５〜６秒を要していたが、本実施形態では、約０．２秒程度で確実にハウリングを抑制可能となっている。
【００７０】
また、本実施形態では、上述したように、ハウリングの有無の検出が、入力信号ｕｋのスペクトル形状に基づいて行われる。よって、ハウリングのスペクトル形状の特有な特徴を利用することができる。その結果、ハウリングの有無を好適に検出することが可能となる。
【００７１】
ここで、通常、「同定」は、対象となる未知システムへの入力と、未知システムからの出力と、が揃って得られるときに精度よく行うことができる。しかし、トーク音は未知システムである音響経路からの出力ではないため、トーク音の検出時に音響経路の同定を行うと、かかる同定の精度が低下するおそれがある。この点、本実施形態では、上述したように、トーク音が検出されない場合に（Ｓ３３でＹｅｓ）、インパルス応答の推定値ｘ＾ｋが求められる。よって、音響経路の同定を精度よく行うことが可能となる。
【００７２】
また、本実施形態では、上述したように、スピーカ１１からの出力音が検出された場合に（Ｓ３６でＹｅｓ）、インパルス応答の推定値ｘ＾ｋが求められる。これにより、音響経路の同定を精度よく行うことが可能となる。これは、前述のように、スピーカからの出力音（未知システムへの入力）が検出されたときに、音響経路（未知システム）の同定を行うことが好ましいためである。
【００７３】
また、本実施形態では、上述したように、エコーが検出されない場合（Ｓ４２でＹｅｓ）、ｆｌａｇが０とされて（Ｓ４３）、擬似エコーｚ＾ｋを出力信号ｙｋから減算するのが停止される（Ｓ１４でＮｏ）。よって、ハウリングの発生自体が無くなったとき、ハウリングの抑制を速やかに停止することができる。そして、その後速やかに、新たなハウリングの検出待ち状態へ移行される（Ｓ１５）。つまり、例えばマイクロホン１２やスピーカ１１の位置を移動することでハウリングが発生しなくなった場合等に、好適に対応することが可能となる。
【００７４】
また、本実施形態では、上述したように、擬似エコーｚ＾ｋの誤りが検出された場合に（Ｓ３２でＹｅｓ）、擬似エコーｚ＾ｋが修正される（Ｓ３９）。よって、ハウリング抑制の信頼性を高めることができる。
【００７５】
また、本実施形態の各検出器４〜７のそれぞれにおいては、上述したように、待ちステップ定数Ｎｗだけ待った後（Ｓ３１，Ｓ４１）、時間平均パワーσ２＊｜ｋが利用されて各事象の有無が検出される。よって、時間平均パワーσ２＊｜ｋの利用に伴う遅延によっての悪影響を抑制することができる。その結果、時間平均パワーσ２＊｜ｋの信頼性を高めて誤検出を防止でき、ハウリング抑制性能の信頼性を向上することができる。
【００７６】
ところで、グラフィックイコライザやディジタルプロセッサ等を用いた従来のハウリング抑制装置では、その設定に音響知識が必要とされるため、通常、一般ユーザが設定を行うのは困難とされている。また、かかる設定が正確になされておらず、ハウリング抑制の効果が充分に得られていないという実情がある。この点、本実施形態では、上記のように、簡易且つ自動的にハウリングが抑制されることから、本実施形態は、特に有効なものであるといえる。
【００７７】
また、従来のハウリング抑制装置では、出力信号ｙｋと音楽信号ｍｋとの双方に対してハウリングの抑制処理が施されるのが一般的であることから、ハウリングの原因ではない音楽系の音の周波数成分までカットされる場合がある。これに対し、本実施形態では、上述したように、擬似エコーｚ＾ｋが出力信号ｙｋのみから減算されてハウリングが抑制される。よって、音質の低下を一層防止することができる。
【００７８】
ここで、説明したハウリングキャンセラ１に関し、残留エコーｙ〜ｋをサンプリングしてハウリング抑制性能を評価した。スピーカ１１からは音楽が常に出力されている状態とし、サンプリングレートは８［ｋＨｚ］とした。その結果を図７に示す。
【００７９】
図７に示すように、時間ステップｋ＝０．５×１０４［ｓｔｅｐ］（１［ｓｔｅｐ］＝１／８０００［ｓ］）頃からハウリングが突如発生したが、そのハウリングがｋ＝０．７×１０４［ｓｔｅｐ］頃には抑制され消去されている。これにより、上記効果、すなわち、あらゆる環境下においてハウリングを速やかに抑制するという効果を確認することができた。
【００８０】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されるものではない。例えば、上記実施形態は、スピーカ１１及びマイクロホン１２がそれぞれ１つ設けられた音響装置１０に搭載されているが、スピーカ及びマイクロホンの少なくとも一方が複数設けられた音響機器に搭載されていてもよい。また、上記実施形態では、入力信号ｕｋのスペクトル形状に基づいてハウリングの有無を検出したが、出力信号ｙｋのスペクトル形状に基づいて検出してもよい。
【００８１】
なお、実装に際して適応フィルタの入力をダウンサンプリングし、出力をアップサンプリングしてもよい。また、上記の条件式（７）〜（１１）、閾値θ＊、忘却定数λ＊，λ−＊、待ちステップ定数Ｎｗの値は、限定されるものではない。これらの値を、音楽信号ｍｋの入力の有無等により変更してもよく、音響機器１０の設定状況に応じて適宜設定してもよい。これらの値を所望に設定することで、本発明の適用範囲を拡大することが可能となる。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係るハウリングキャンセラの概略構成を示すブロック図である。
【図２】図１のハウリングキャンセラのハウリング検出器における処理のフローを示すフローチャートである。
【図３】図１のハウリングキャンセラにおける処理のフローを示すフローチャートである。
【図４】図３の続きを示すフローチャートである。
【図５】図４の続きを示すフローチャートである。
【図６】本発明の一実施形態に係るハウリング抑制プログラムの構成を示す概略図である。
【図７】図１のハウリングキャンセラにおける評価の際のサンプリング結果を示す図である。
【図８】（ａ）はハウリングの原理を説明するための図、（ｂ）は従来のハウリング抑制装置による周波数性能を示すグラフである。
【符号の説明】
【００８３】
１…ハウリングキャンセラ（ハウリング抑制装置）、２…適応フィルタ（算出部）、３…ハウリング検出器（ハウリング検出部）、４…入力音検出器（入力音検出部）、５…出力音検出器（出力音検出部）、６…誤推定検出器（誤推定検出部）、７…エコー検出器（エコー検出部）、８…スイッチ回路（減算部）、９…減算器（減算部）、１０…音響機器、１１…スピーカ、１２…マイクロホン、５１…ハウリング抑制プログラム。
【図１】
0005232485.tif 000007
【図２】
0005232485.tif 000008
【図３】
0005232485.tif 000009
【図４】
0005232485.tif 000010
【図５】
0005232485.tif 000011
【図６】
0005232485.tif 000012
【図７】
0005232485.tif 000013
【図８】
0005232485.tif 000014