本発明は、マイクロホンとスピーカとを有する音響装置において、スピーカとマイクロホンとの間の音響結合により発生するハウリングを抑圧するハウリング抑圧装置に関するものである。
一般に、マイクロホンとスピーカとを有する音響装置では、スピーカから出力された音がマイクロホンに回りこんで入力されることにより、音響的なフィードバックループが形成され、ハウリングが発生する場合がある。
従来、ハウリングを抑圧するためのハウリング抑圧装置として、入力信号に含まれるハウリング成分を適応フィルタを用いて抽出し、抽出したハウリング成分を入力信号から差し引くことでハウリングを抑圧するものが提案されている(例えば、特許文献1参照)。
図12は、特許文献1に記載された従来のハウリング抑圧装置1000のブロック図である。図12に示すように、従来のハウリング抑圧装置1000は、信号が入力される入力端子1001、入力信号を遅延させる遅延器1002、入力信号からハウリング成分を抽出する適応フィルタ1003、入力信号から適応フィルタ1003の出力信号を差し引く減算器1004、及びハウリングが抑圧された信号が出力される出力端子1005を備える。
次に、特許文献1に記載された従来のハウリング抑圧装置1000の動作について説明する。
入力端子1001には、図示していないマイクロホンからの信号が入力されるようになっている。遅延器1002では、入力端子1001に入力された信号を遅延させて、適応フィルタ1003に参照信号を出力する。適応フィルタ1003では、遅延器1002で遅延された入力信号(参照信号)とフィルタ係数との畳み込みを行い、入力信号に含まれるハウリング成分の周期の整数倍の遅れをもった信号を生成する。減算器1004では、入力信号から適応フィルタ1003の出力信号を差し引くことによりハウリングを抑圧し、ハウリング抑圧後の信号を適応フィルタ1003及び出力端子1005に出力する。適応フィルタ1003は、減算器1004の出力信号の二乗平均値が最小になるようにフィルタ係数を逐次更新する。
以上のように、特許文献1に記載された従来のハウリング抑圧装置1000では、入力信号に含まれるハウリング成分を適応フィルタを用いて抽出し、抽出したハウリング成分を入力信号から差し引くことでハウリングを抑圧することが可能である。
このような従来のハウリング抑圧装置1000にあっては、ハウリングを抑圧するための適応フィルタ1003のフィルタ係数学習を行うために、適応フィルタ1003にハウリング成分が入力され続ける必要がある。しかしながら、ハウリング発生時は音響的なフィードバックループが形成されており、ハウリングを抑圧すると適応フィルタ1003のフィルタ係数学習に必要な信号も無くなる。この状態でフィルタ係数学習を継続すると、誤った適応が行われて処理音の音質劣化が発生するという問題があった。
本発明は、上記課題を解決するためになされたもので、音響的なフィードバックループ環境下においてもハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することが可能なハウリング抑圧装置を提供することを目的とする。
本発明の一形態に係るハウリング抑圧装置は、入力信号に含まれるハウリング成分を抑圧する。具体的には、入力信号を遅延させて参照信号を出力する遅延器と、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタを含む信号分離部と、少なくとも前記適応フィルタから出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出部と、前記ハウリング検出部でハウリングの発生が検出されたことを契機として前記適応フィルタから更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算器を含むハウリング抑圧部とを備える。本構成のように、本発明のハウリング抑圧装置は、ハウリング検出時の適応フィルタのフィルタ係数を半固定フィルタとしてハウリング抑圧に用いることで、音響的なフィードバックループ環境下においても、ハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することが可能となる。
また、前記信号分離部は、さらに、前記入力信号から前記周期性信号成分を減算することにより非周期性信号成分を出力する第2の減算器を備える。そして、前記適応フィルタは、前記遅延器が出力した前記参照信号と前記第2の減算器が出力した前記非周期性信号成分とに基づいて、前記フィルタ係数を更新する。そして、前記第1の抑圧フィルタは、前記ハウリング検出部でハウリングの発生が検出された場合に、更新された前記フィルタ係数を前記適応フィルタから取得してもよい。本構成のように、本発明のハウリング抑圧装置は、ハウリング検出時の適応フィルタのフィルタ係数を半固定フィルタとしてハウリング抑圧に用いることが可能となる。
また、前記ハウリング検出部は、前記適応フィルタから出力される前記周期性信号成分の信号レベルを算出する第1のレベル算出部と、前記第2の減算器から出力される前記非周期性信号成分の信号レベルを算出する第2のレベル算出部と、前記第1のレベル算出部から出力される信号レベルと前記第2のレベル算出部から出力される信号レベルとの相対的なレベル比を算出するレベル比算出部と、前記レベル比算出部によって算出された前記レベル比が予め定めた閾値を超えた状態が所定時間継続した場合にハウリングが発生したと判定するハウリング判定部とを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、前記周期性信号成分の信号と前記非周期性信号成分の信号の相対的なレベル比を分析することで、精度よくハウリングを検出することができる。
また、前記ハウリング検出部は、前記適応フィルタから出力される前記周期性信号成分の信号レベルを算出するレベル算出部と、前記レベル算出部から出力される信号レベルの時間変化を分析するレベル変化分析部と、前記周期性信号成分の信号レベルが過去から現在に向かって増大する状態が所定時間継続した場合にハウリングが発生したと判定するハウリング判定部とを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、前記周期性信号成分の信号レベルの時間変化を分析することで、精度よくハウリングを検出することができる。
また、前記ハウリング検出部は、前記適応フィルタから出力される前記周期性信号成分の信号を複数の帯域信号に分割する帯域分割部と、前記帯域分割部から出力される複数の帯域信号の信号レベルを算出する帯域レベル算出部と、前記複数の帯域信号のうちの少なくとも1つの帯域信号について、所定の時間内に算出された全ての信号レベルが予め定めた閾値を超えた場合にハウリングが発生したと判定するハウリング判定部とを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、前記周期性信号成分の信号の周波数特性を分析することで、精度よくハウリングを検出することができる。
また、前記ハウリング抑圧部は、さらに、前記ハウリング検出部でハウリングの発生が検出された場合に、前記第1の抑圧フィルタが前記適応フィルタからフィルタ係数を取得する前に前記第1の抑圧フィルタが保持しているフィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第2の抑圧フィルタを備える。そして、前記第1の減算器は、前記入力信号から前記第1及び第2の抑圧フィルタが出力した前記周期性信号成分を減算して誤差信号を出力してもよい。本構成のように、本発明のハウリング抑圧装置は、複数の半固定フィルタを用いることで、時間的に発生タイミングの異なる複数のハウリングを同時に抑圧することが可能となる。
また、前記ハウリング抑圧部は、前記第1の抑圧フィルタから出力される前記周期性信号成分の出力信号ゲインを制御するゲイン制御部を備えてもよい。本構成のように、本発明のハウリング抑圧装置は、半固定フィルタの出力信号ゲインを制御することで、ハウリング抑圧量を制御することが可能となる。
また、前記ゲイン制御部は、前記入力信号に含まれるハウリング成分の大きさに応じて前記第1の抑圧フィルタの出力信号ゲインを変更してもよい。本構成のように、本発明のハウリング抑圧装置は、入力信号に含まれるハウリング成分の大きさに応じて半固定フィルタの出力信号ゲインを適応的に制御することで、ハウリング抑圧処理に伴う処理音の周波数特性ゲイン損失を低減することが可能となる。
また、前記ゲイン制御部は、ハウリング抑圧量を調整するための固定ゲインを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、半固定フィルタの出力信号ゲインを固定ゲインを用いて制御することで、ハウリング抑圧量を制御することが可能となる。
また、該ハウリング抑圧装置は、さらに、入力信号のうちハウリングの発生が予想される帯域だけを前記遅延器に出力する帯域制限フィルタを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、ハウリングの発生が予想される帯域に帯域制限して処理を行うことで、適応フィルタにおけるハウリング成分の抽出精度を向上させることが可能となる。
また、前記適応フィルタは、前記ハウリング検出部でハウリングが検出された場合、現在保持している前記フィルタ係数を初期化し、前記遅延器が出力した前記参照信号と前記第2の減算器が出力した前記非周期性信号成分とに基づいて、改めて前記フィルタ係数を算出してもよい。本構成により、ハウリング成分のみを高精度に抽出可能なフィルタ係数を取得することができる。
本発明の一形態に係るハウリング抑圧方法は、入力信号に含まれるハウリング成分を抑圧する。具体的には、入力信号を遅延させて参照信号を出力する遅延ステップと、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタ処理を含む信号分離ステップと、少なくとも前記適応フィルタ処理によって出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出ステップと、前記ハウリング検出ステップでハウリングの発生が検出されたことを契機として前記適応フィルタ処理において更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ処理、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算処理を含むハウリング抑圧ステップとを含む。
本発明の一形態に係るプログラムは、コンピュータに、入力信号に含まれるハウリング成分を抑圧させる。具体的には、入力信号を遅延させて参照信号を出力する遅延ステップと、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタ処理を含む信号分離ステップと、少なくとも前記適応フィルタ処理によって出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出ステップと、前記ハウリング検出ステップでハウリングの発生が検出されたことを契機として前記適応フィルタ処理において更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ処理、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算処理を含むハウリング抑圧ステップとをコンピュータに実行させる。
本発明の一形態に係る集積回路は、入力信号に含まれるハウリング成分を抑圧する。具体的には、入力信号を遅延させて参照信号を出力する遅延器と、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタを含む信号分離部と、少なくとも前記適応フィルタから出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出部と、前記ハウリング検出部でハウリングの発生が検出されたことを契機として前記適応フィルタから更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算器を含むハウリング抑圧部とを備える。
以上説明したように、本発明によれば、音響的なフィードバックループ環境下においてもハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することが可能なハウリング抑圧装置を提供することができる。
図1は、本発明の第1の実施の形態におけるハウリング抑圧装置のブロック図である。
図2は、本発明の第1の実施の形態におけるハウリング抑圧装置を構成するハウリング検出部のブロック図である。
図3は、本発明の第1の実施の形態におけるハウリング検出部の処理フロー図である。
図4は、本発明の第1の実施の形態におけるハウリング抑圧部の処理フロー図である。
図5は、本発明の第2の実施の形態におけるハウリング検出部のブロック図である。
図6は、本発明の第3の実施の形態におけるハウリング検出部のブロック図である。
図7は、本発明の第4の実施の形態におけるハウリング抑圧装置のブロック図である。
図8は、本発明の第5の実施の形態におけるハウリング抑圧装置のブロック図である。
図9は、本発明の第5の実施の形態におけるハウリング抑圧装置を構成するゲイン制御部のブロック図である。
図10は、本発明の第6の実施の形態におけるゲイン制御部のブロック図である。
図11は、本発明の第7の実施の形態におけるハウリング抑圧装置のブロック図である。
図12は、従来のハウリング抑圧装置のブロック図である。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るハウリング抑圧装置100のブロック図である。
ハウリング抑圧装置100は、図示していないマイクロホンから信号が入力される入力端子101と、入力端子101に入力された信号をアナログ信号からディジタル信号へA/D変換するA/Dコンバータ102と、A/Dコンバータ102から出力された信号を遅延させて後述する適応フィルタ109の参照信号を生成する遅延器103と、A/Dコンバータ102から出力された信号を周期性信号成分と非周期性信号成分とに分離する信号分離部104と、信号分離部104の出力信号を用いてハウリングの発生を検出するハウリング検出部105と、ハウリング検出部105のハウリング検出結果に基づいてハウリングの抑圧を行うハウリング抑圧部106と、ハウリング抑圧部106から出力された信号をディジタル信号からアナログ信号へD/A変換するD/Aコンバータ107と、D/Aコンバータ107から出力された信号を図示していないアンプ等へ出力する出力端子108とを備えている。
また、信号分離部104は、遅延器103の出力信号(参照信号)とフィルタ係数との畳み込みを行うと共に、フィルタ係数を適応的に更新する適応フィルタ109と、A/Dコンバータ102の出力信号と適応フィルタ109の出力信号との差分(「非周期性信号成分」または「誤差信号」という)を算出する減算器(第2の減算器)110とを備えている。
また、ハウリング検出部105は、図2に示すように、信号分離部104で分離された周期性信号成分の信号が入力される入力端子201と、信号分離部104で分離された非周期性信号成分の信号が入力される入力端子202と、入力端子201に入力された周期性信号成分の信号レベルを算出するレベル算出部203と、入力端子202に入力された非周期性信号成分の信号レベルを算出するレベル算出部204と、レベル算出部203から出力される信号レベルとレベル算出部204から出力される信号レベルの相対的なレベル比を算出するレベル比算出部205と、レベル比算出部205で算出されたレベル比を用いてハウリングが発生したか否かを判定するハウリング判定部206と、ハウリング判定部206の判定結果を出力する出力端子207とを備えている。
また、ハウリング抑圧部106は、遅延器103の出力信号(参照信号)とフィルタ係数との畳み込みを行う抑圧フィルタ111と、A/Dコンバータ102の出力信号(入力信号)と抑圧フィルタ111の出力信号との差分(出力信号)を算出する減算器(第1の減算器)112とを備えている。
次に、本実施の形態1に係るハウリング抑圧装置100の動作について説明する。
まず、本実施の形態1に係るハウリング抑圧装置100全体の動作について説明する。
図示していないマイクロホンから入力端子101へ入力された信号は、A/Dコンバータ102によりアナログ信号からディジタル信号に変換された後、遅延器103とハウリング抑圧部106とにそれぞれ入力される。遅延器103で遅延された信号は、信号分離部104とハウリング抑圧部106とにそれぞれ入力される。
信号分離部104では、A/Dコンバータ102から入力された信号を周期性信号成分と非周期性信号成分とに分離し、分離された信号のうちの周期性信号成分をハウリング検出部105の入力端子201、非周期性信号成分を入力端子202にそれぞれ出力する。ハウリング検出部105では、入力端子201と入力端子202とにそれぞれ入力された信号を用いてハウリング検出を行う。
ハウリング抑圧部106では、A/Dコンバータ102と遅延器103とからそれぞれ入力された信号を用いてハウリングの抑圧を行い、ハウリングが抑圧された信号はD/Aコンバータ107によってディジタル信号からアナログ信号へ変換された後、図示していないアンプ等に接続される出力端子108へ出力される。
次に、信号分離部104の動作について説明する。
A/Dコンバータ102から出力された信号を目標信号とした時、適応フィルタ109へは目標信号を遅延器103により遅延させた信号を参照信号として入力させる。ここで、遅延器103における遅延量としては、目標信号と参照信号とに含まれている信号成分が互いに相関を持たなくなるような値(例えば、1〜8サンプル程度)に設定する。適応フィルタ109では参照信号とフィルタ係数との畳み込みを行い、周期性信号成分を出力する。「畳み込み」とは、参照信号に含まれる各サンプルにフィルタ係数を乗算した結果を加算することを指す。後述する抑圧フィルタ111、501等でも同様である。減算器110では、目標信号から適応フィルタ109の出力信号(周期性信号成分)を差し引くことで誤差信号(非周期性信号成分)が算出される。
適応フィルタ109は、例えば、32タップのFIR(Finite Impulse Response)フィルタである。適応フィルタ109のフィルタ係数は、誤差信号の二乗平均値が最小となるように適応的に更新される。目標信号と参照信号とで相関のある信号、すなわちハウリング等の周期性信号成分を適応フィルタ109が出力する時に二乗平均誤差が最小となる。その結果、入力信号からハウリング等の周期性信号成分を抽出できる。適応フィルタ109の係数更新アルゴリズムとしては、NLMS(Normalized Least Mean Square)アルゴリズム等、公知の各種適応アルゴリズムを用いる。結果として信号分離部104からは、適応フィルタ109の出力信号が入力信号の周期性信号成分、誤差信号が入力信号の非周期性信号成分としてそれぞれ出力される。
次に、ハウリング検出部105の動作について説明する。ハウリング検出部105では、ハウリングが有する以下の2点の特徴に着目してハウリングの検出を行う。(1)ハウリングは正弦波状信号、すなわち周期性信号である。(2)ハウリングは突出したレベルで時間的に持続する。
レベル算出部203では、入力端子201に入力された周期性信号成分の信号レベルが算出される。レベル算出部204では、入力端子202に入力された非周期性信号成分の信号レベルが算出される。
レベル比算出部205では、レベル算出部203とレベル算出部204とからそれぞれ出力された信号の相対的な信号レベルの比を表すレベル比が算出される。ハウリングが発生した場合、周期性信号成分の信号レベルが大きくなる反面、非周期性信号成分の信号レベルは小さくなる。ここで、例えば、分子を周期性信号成分の信号レベル、分母を非周期性信号成分の信号レベルとしてこれらの相対的なレベル比を算出した場合、ハウリング発生時にレベル比は大きくなる。そこで、このレベル比の挙動を観測することで、ハウリングを検出することができる。
ハウリング判定部206では、レベル比算出部205から出力されたレベル比と予め定められた第1の閾値とを比較し、レベル比が第1の閾値を超えた場合にカウンタ値がインクリメントされる。カウンタ値が予め定められた第2の閾値を超えた場合にレベル比が大きい状態が時間的に継続(例えば、0.5秒〜1秒程度)しているものとしてハウリング発生と判定する。判定結果は出力端子207から出力される。
図3は、ハウリング検出部105の動作を示す処理フロー図である。まず、レベル算出部203、204は、周期性信号成分と非周期性信号成分の各信号レベルを算出する(S1101)。次に、レベル比算出部205は、レベル算出部203で算出された周期性信号成分の信号レベルと、レベル算出部204で算出された非周期性信号成分の信号レベルの相対的な信号レベルとの比を表すレベル比を算出する(S1102)。
次に、ハウリング判定部206は、レベル比算出部205で算出されたレベル比と第1の閾値を比較する(S1103)。そして、レベル比が第1の閾値を超えた場合(S1103でYes)、ハウリング判定部206は、カウンタ値をインクリメントする(S1104)。一方、レベル比が第1の閾値を超えない場合(S1103でNo)、ハウリング判定部206は、カウンタ値をクリアする(S1105)。
次に、ハウリング判定部206は、カウンタ値と第2の閾値を比較する(S1106)。そして、ハウリング判定部206は、カウンタ値が第2の閾値を超えた場合(S1106でYes)にハウリング発生と判定し(S1107)、カウンタ値が第2の閾値を超えない場合に(S1106でNo)ハウリング未発生と判定して(S1108)、当該判定結果を出力する。なお、ここでの第2の閾値は、例えば、0.5秒〜1秒に相当する値である。実施の形態2、3における第2の閾値も同様である。
次に、ハウリング抑圧部106の動作について説明する。ハウリング抑圧部106は、ハウリング検出部105のハウリング検出結果を取得し、ハウリングが検出された場合にハウリング抑圧処理を開始する。ここで、抑圧フィルタ111のフィルタ係数は初期状態ではゼロと設定しておく。
ハウリング検出部105でハウリングが検出された場合、適応フィルタ109のフィルタ係数は入力信号に含まれるハウリング成分を抽出するフィルタ係数となっている。そこで、抑圧フィルタ111は、ハウリング検出時の適応フィルタ109のフィルタ係数を取得し、半固定フィルタとして設定する。
つまり、抑圧フィルタ111は、適応フィルタ109からフィルタ係数を取得し、遅延器103から入力された信号とフィルタ係数との畳み込みを行い、周期性信号成分を出力する。減算器112では、A/Dコンバータ102から入力された信号から抑圧フィルタ111の出力信号を差し引くことでハウリングを抑圧する。ハウリングを抑圧した信号はD/Aコンバータ107に出力される。
ハウリングを抑圧することで適応フィルタ109のフィルタ係数学習に必要な信号(=ハウリング成分)は無くなるが、適応フィルタ109で直接ハウリング抑圧を行わず、ハウリング抑圧用のフィルタ係数を別途半固定化して抑圧フィルタ111として具備する構成をとることで、適応フィルタ109が誤った学習を行うことにより発生する処理音の音質劣化を低減することができる。
図4は、ハウリング抑圧部106の動作を示す処理フロー図である。
まず、抑圧フィルタ111は、ハウリング検出部105のハウリング検出結果を取得し、ハウリングが検出されたか否かを判断する(S1201)。ハウリングが検出された場合(S1201でYes)、抑圧フィルタ111は、その時点の適応フィルタ109のフィルタ係数を取得し、半固定フィルタとして設定することでハウリング抑圧処理を開始する(S1202)。
なお、実施の形態1に係るハウリング抑圧装置100においては、抑圧フィルタ111がハウリング検出結果に基づいてハウリングの有無を判断し、ハウリングが検出された場合に適応フィルタ109からフィルタ係数を取得する例を示した。しかしながら、本発明の構成はこれに限定されず、例えば、適応フィルタ109がハウリング検出結果に基づいてハウリングの有無を判断し、ハウリングが検出された場合に抑圧フィルタ111にフィルタ係数を転送するようにしてもよい。
以上のように、本実施の形態1に係るハウリング抑圧装置100は、入力信号に含まれる周期性信号成分の信号と非周期性信号成分の信号との相対的なレベル比を分析することでハウリングの検出を行う。そして、ハウリング検出時の適応フィルタのフィルタ係数を半固定フィルタとしてハウリングの抑圧に用いる。したがって、音響的なフィードバックループ環境下においても、ハウリングを効果的に抑圧でき、且つハウリングの抑圧に伴う処理音の音質劣化を低減することが可能となる。
また、信号分離処理とハウリング抑圧処理とを同時に並行して行う構成のため、音響環境の変化に伴いハウリング周波数が変化した場合も追従して適応的にハウリングを抑圧することが可能である。また、信号分離処理とハウリング抑圧処理とでフィルタ係数を共用する構成のため、別途ハウリング抑圧用のフィルタ係数をハウリング検出結果に応じて逐一設計したり、または予め用意しておく必要がなく、ハードウェアリソースを削減することが可能となる。
なお、本実施の形態1において、ハウリング検出部105でハウリングが検出された場合、抑圧フィルタ111がハウリング検出時の適応フィルタ109のフィルタ係数を取得して、半固定フィルタとして設定するものとして説明した。このとき、適応フィルタ109は、入力信号に含まれるハウリング成分の抽出精度を向上させるため、フィルタ係数を一旦初期化して再学習を行ってもよい。そして、抑圧フィルタ111は、再学習されたフィルタ係数を取得して、半固定フィルタとして設定する構成にしてもよい。
適応フィルタ109は、遅延器103から出力される参照信号及び減算器110から出力される非周期性信号成分に基づいて新たなフィルタ係数を算出する「フィルタ係数の更新処理」と、ハウリング検出部105でハウリングが検出された場合に、現在保持しているフィルタ係数を初期化し、再度、遅延器103から出力される参照信号及び減算器110から出力される非周期性信号成分に基づいて新たなフィルタ係数を算出する「フィルタ係数の再学習」とを行うことができる。
「フィルタ係数の更新処理」においては、ハウリング成分以外の周期性信号成分の影響を排除することができない。このため、当該処理を繰り返し実行して得られたフィルタ係数は、ハウリング成分のみを適切に抽出することが難しくなっている。そこで、ハウリング検出部105でのハウリングの検出を契機として、現在のフィルタ係数を破棄して改めてフィルタ係数を算出しなおす(フィルタ係数の再学習)ことにより、ハウリング成分のみを高精度に抽出可能なフィルタ係数を得ることができる。
また、本実施の形態1におけるハウリング検出部105では、入力端子201に入力される周期性信号成分と、入力端子202に入力される非周期性信号成分とからハウリングの発生を検出する例を示したが、これに限ることなく、実施の形態2、3に示されるように、周期性信号成分のみからハウリングの発生を検出してもよい。
(実施の形態2)
図5は、本発明の実施の形態2に係るハウリング抑圧装置100におけるハウリング検出部105の構成を示すブロック図である。なお、図5において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
図5において、本実施の形態2に係るハウリング検出部105は、レベル算出部203で算出された信号レベルの時間変化を分析するレベル変化分析部301と、レベル変化分析部301の分析結果に基づいてハウリングが発生したか否かを判定するハウリング判定部302とを備えている。
次に、本実施の形態2に係るハウリング抑圧装置100の動作について説明する。
レベル変化分析部301では、レベル算出部203から出力された周期性信号成分の信号レベルの過去と現在との値の差分値を算出し、ハウリング判定部302へ出力する。ここで過去の信号値は、図示していない遅延器により生成する。
ハウリング判定部302では、レベル変化分析部301から出力された差分値と予め定めた第1の閾値とを比較し、差分値が第1の閾値を超えた場合にカウンタ値がインクリメントされる。カウンタ値が予め定めた第2の閾値を超えた場合に、レベル算出部203から出力された周期性信号成分の信号レベルが時間的に(つまり、過去から現在に向かって)増大しているものとしてハウリング発生と判定する。
なお、「信号レベルが過去から現在に向かって増大している」とは、レベル変化分析部301で算出された差分値(現在−過去)が全て正であることまでは必要なく、全体の傾向として過去から現在に向かって信号レベルが増大していればよいものとする。
以上のように、本実施の形態2に係るハウリング抑圧装置100は、入力信号に含まれる周期性信号成分の信号レベルの時間変化を分析することで、精度よくハウリングを検出することができ、ハウリングを効果的に抑圧できる半固定フィルタを設定することが可能となる。
なお、本実施の形態2において、レベル変化分析部301は、周期性信号成分の過去と現在との値の差分値を算出するものとして説明したが、周期性信号成分の過去と現在の値の大小比較を行い、その結果をハウリング判定部302のハウリング判定に用いる構成にしてもよい。
(実施の形態3)
図6は、本発明の実施の形態3に係るハウリング抑圧装置100におけるハウリング検出部105の構成を示すブロック図である。なお、図6において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
図6において、本実施の形態3に係るハウリング検出部105は、入力端子201に入力された周期性信号成分の信号を複数の帯域信号に分割する帯域分割部401と、帯域分割部401から出力される複数の帯域信号の信号レベルを算出する帯域レベル算出部402と、帯域レベル算出部402で算出された複数の帯域信号の信号レベルを用いてハウリングが発生したか否かを判定するハウリング判定部403とを備えている。
次に、本実施の形態3に係るハウリング抑圧装置100の動作について説明する。ここで、ハウリング判定部403では、複数の帯域毎に独立且つ並列にハウリング判定処理を行う。
帯域分割部401では、入力端子201に入力された周期性信号成分の信号を周波数変換し、複数の帯域信号に分割する。例えば、可聴域(20Hz〜20kHz)を100〜300分割(より具体的には、128、256分割)する。また、帯域分割の手法としては、高速フーリエ変換や、複数のFIR(Finite Impulse Response)フィルタまたはIIR(Infinite Impulse Response)フィルタから構成されるフィルタバンク等、時間信号を複数の帯域信号に分割する公知の各手法を用いる。帯域レベル算出部402では、帯域分割部401から出力される複数の帯域信号それぞれについて、信号レベルを算出する。
ハウリング判定部403では、複数の帯域信号それぞれについて、帯域レベル算出部402から出力された複数の帯域信号の信号レベルと予め定めた第1の閾値とを比較し、信号レベルが第1の閾値を超えた場合にカウンタ値がインクリメントされる。一方、信号レベルが第1の閾値以下の場合はカウンタ値をリセットする。そして、カウンタ値が予め定めた第2の閾値を超えた場合に、周波数軸上でピークを示す帯域があるものとしてハウリング発生と判定する。
つまり、ハウリング判定部403は、複数の帯域信号のうちの少なくとも1つの帯域信号について、第1の閾値を超える信号が第2の閾値以上連続する場合、さらに言い換えれば、所定の時間内(第2の閾値)の全ての信号レベルが第1の閾値を超えた場合にハウリングが発生したと判定する。
以上のように、本実施の形態3に係るハウリング抑圧装置100は、入力信号に含まれる周期性信号成分の信号レベルの周波数特性を分析することで、精度よくハウリングを検出することができ、ハウリングを効果的に抑圧できる半固定フィルタを設定することが可能となる。
(実施の形態4)
図7は、本発明の実施の形態4に係るハウリング抑圧装置200のブロック図である。なお、図7において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図7において、本実施の形態4に係るハウリング抑圧装置200は、遅延器103の出力信号とフィルタ係数との畳み込みを行う抑圧フィルタ501と、A/Dコンバータ102の出力信号から抑圧フィルタ111(第1の抑圧フィルタ)の出力信号及び抑圧フィルタ501(第2の抑圧フィルタ)の出力信号を差し引いた差分を算出する減算器502とを備えている。
次に、本実施の形態4に係るハウリング抑圧装置200の動作について説明する。
ハウリング検出部105でハウリングが検出された場合、まず、抑圧フィルタ501は、抑圧フィルタ111のフィルタ係数を取得し、半固定フィルタとして設定する。次に、抑圧フィルタ111は、適応フィルタ109のフィルタ係数を取得し、半固定フィルタとして設定する。つまり、抑圧フィルタ501は、抑圧フィルタ111が適応フィルタ109からフィルタ係数を取得する前に保持していたフィルタ係数を取得する。一方、抑圧フィルタ111は、抑圧フィルタ501にフィルタ係数を通知した後で適応フィルタ109からフィルタ係数を取得する。
抑圧フィルタ111と抑圧フィルタ501とでは、遅延器103から入力された信号とフィルタ係数との畳み込みをそれぞれ行う。そして、減算器502では、A/Dコンバータ102から入力された信号から抑圧フィルタ111の出力信号及び抑圧フィルタ501の出力信号を差し引くことでハウリングを抑圧する。
以上のように、本実施の形態4に係るハウリング抑圧装置200は、ハウリングの抑圧に用いる2つの抑圧フィルタ111、501を備えることで、時間的に発生タイミングが異なる2つのハウリングを同時に抑圧することが可能となる。
なお、本実施の形態4において、ハウリングの抑圧に用いる抑圧フィルタは2つとして説明したが、これに限定されるものではなく、使用する音響環境や想定されるハウリング発生環境に応じて適宜必要な数だけ抑圧フィルタを備える構成にしてもよい。また、ハウリングの抑圧に用いる複数の半固定フィルタは並列に構成するものとして説明したが、縦続構成にしてもよい。
(実施の形態5)
図8は、本発明の実施の形態5に係るハウリング抑圧装置300のブロック図である。なお、図8において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図8において、本実施の形態5に係るハウリング抑圧装置300は、抑圧フィルタ111の出力信号ゲインを制御するゲイン制御部601を備えている。
また、ゲイン制御部601は、図9に示すように、A/Dコンバータ102の出力信号が入力される入力端子701と、抑圧フィルタ111の出力信号が入力される入力端子702と、入力端子702に入力された抑圧フィルタ111の出力信号ゲインを適応的に制御するゲイン703と、入力端子701に入力された信号とゲイン703の出力信号の差分を算出する減算器704と、ゲイン703でゲイン制御された信号を出力する出力端子705とを備えている。
次に、本実施の形態5に係るハウリング抑圧装置300の動作について説明する。ここで、ゲイン703は1タップの適応フィルタであり、予め定めた初期値、好ましくはゼロを設定しておく。
入力端子701には、A/Dコンバータ102から信号が入力される。一方、入力端子702には、抑圧フィルタ111の出力信号、すなわち入力信号に含まれるハウリング成分を抽出した信号が入力される。入力端子701に入力された信号を目標信号とした時、ゲイン703へは入力端子702に入力された信号を参照信号として入力させる。
ゲイン制御部601では、ゲイン703で参照信号に含まれる各サンプルとゲイン値(すなわち、適応フィルタのフィルタ係数)との乗算を行い、減算器704で目標信号からゲイン703の出力信号を差し引くことで誤差信号が算出される。
ゲイン703のゲイン値は、誤差信号の二乗平均値が最小となるように適応的に更新される。入力信号に含まれるハウリング成分と同じ大きさの信号をゲイン703が出力する時に二乗平均誤差が最小となる。その結果、入力信号に含まれるハウリング成分の大きさに応じてちょうどハウリング成分だけが抑圧されるように抑圧フィルタ111の出力信号ゲインが自動的に制御される。ゲイン703の係数更新アルゴリズムとしては、NLMS(Normalized Least Mean Square)アルゴリズム等、公知の各種適応アルゴリズムを用いる。
結果として、ゲイン703からは、入力信号に含まれるハウリング成分の大きさに応じて抑圧フィルタ111の出力信号ゲインが制御された信号が出力される。
抑圧フィルタ111により、ハウリング成分の周波数帯域は特定される。しかしながら、ハウリング成分の振幅は時間と共に変化するので、遅延器103で遅延された過去の信号に基づいて検出されたハウリング成分の振幅は、現在の入力信号に含まれるハウリング成分の振幅と異なる可能性が高い。そこで、ゲイン制御部601で抑圧フィルタ111から出力されるハウリング成分の振幅を調整することにより、より適切にハウリングを抑圧することができる。
以上のように、本実施の形態5に係るハウリング抑圧装置300は、入力信号に含まれるハウリング成分の大きさに応じてハウリング抑圧用の抑圧フィルタ111の出力信号ゲインを適応的に制御することで、ハウリング抑圧量を制御することができ、且つハウリング抑圧処理に伴う処理音の周波数特性ゲイン損失を低減することが可能となる。
(実施の形態6)
図10は、本発明の実施の形態6に係るハウリング抑圧装置300におけるゲイン制御部601の構成を示すブロック図である。なお、図10において、図9と同じ構成要素については同じ符号を用い、説明を省略する。
図10において、本実施の形態6に係るハウリング抑圧装置300は、入力端子702に入力された抑圧フィルタ111の出力信号ゲインを制御するゲイン801を備えている。
次に、本実施の形態6に係るハウリング抑圧装置300の動作について説明する。
入力端子702に入力された抑圧フィルタ111の出力信号は、ゲイン801でゲイン値の乗算を行い、出力端子705に出力される。ここで、ゲイン801に1.0未満のゲイン値を設定することで、抑圧フィルタ111の出力信号ゲインを小さくする。このことは、減算器112でA/Dコンバータ102から入力された信号から抑圧フィルタ111の出力信号を差し引く量が小さくなり、すなわちハウリングの抑圧量を低減することに相当する。
以上のように、本実施の形態6に係るハウリング抑圧装置300は、ハウリング抑圧用のフィルタの出力信号ゲインを固定ゲインを用いて制御することで、ハウリング抑圧量を制御することが可能となる。
なお、本実施の形態6において、ゲイン801には1.0未満のゲイン値を設定するものとして説明したが、もしハウリング抑圧量を増大させたい場合は、ゲイン801に1.0以上のゲイン値を設定する構成にしてもよい。
(実施の形態7)
図11は、本発明の実施の形態7に係るハウリング抑圧装置400のブロック図である。なお、図11において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図11において、本実施の形態7に係るハウリング抑圧装置400は、A/Dコンバータ102から出力された信号を帯域制限する帯域制限フィルタ901を備えている。
次に、本実施の形態7に係るハウリング抑圧装置400の動作について説明する。
帯域制限フィルタ901では、A/Dコンバータ102から出力された信号に対して帯域制限を行い、ハウリングの発生が予想される帯域(例えば、中高域のみ等)だけを通過させて以降のハウリング検出処理やハウリング抑圧処理に用いる。ここで、帯域制限フィルタとしては、公知のローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を用いる。ハウリングの発生が予想される帯域とは、例えば、1kHz〜8kHz等が考えられる。
以上のように、本実施の形態7に係るハウリング抑圧装置400は、ハウリングの発生が予想される帯域に帯域制限して処理を行うことで、適応フィルタにおけるハウリング成分の抽出精度を向上させることが可能となる。
なお、上記の各実施の形態1〜7に係るハウリング抑圧装置100、200、300、400の用途は特に限定されないが、例えば、補聴器やカラオケ等に搭載される。
(その他変形例)
なお、本発明を前記実施の形態に基づいて説明してきたが、本発明は、前記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)前記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(2)前記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なIC(Integrated Circuit)カードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、前記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(3)本発明は、前記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるディジタル信号であるとしてもよい。
また、本発明は、コンピュータプログラムまたはディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているディジタル信号であるとしてもよい。
また、本発明は、コンピュータプログラムまたはディジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、前記コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
また、プログラムまたはディジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはディジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(4)前記実施の形態及び前記変形例をそれぞれ組み合わせるとしてもよい。
本発明に係るハウリング抑圧装置は、音響的なフィードバックループ環境下においても、ハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することを可能とするという効果を有し、マイクロホンとスピーカとを有する各種音響装置において、スピーカとマイクロホンとの間の音響結合により発生するハウリングを抑圧するハウリング抑圧装置等として有用である。
100,200,300,400,1000 ハウリング抑圧装置
101,201,202,701,702,1001 入力端子
102 A/Dコンバータ
103,1002 遅延器
104 信号分離部
105 ハウリング検出部
106 ハウリング抑圧部
107 D/Aコンバータ
108,207,705,1005 出力端子
109,1003 適応フィルタ
110,112,502,704,1004 減算器
111,501 抑圧フィルタ
203,204 レベル算出部
205 レベル比算出部
206,302,403 ハウリング判定部
301 レベル変化分析部
401 帯域分割部
402 帯域レベル算出部
601 ゲイン制御部
703,801 ゲイン
901 帯域制限フィルタ
本発明は、マイクロホンとスピーカとを有する音響装置において、スピーカとマイクロホンとの間の音響結合により発生するハウリングを抑圧するハウリング抑圧装置に関するものである。
一般に、マイクロホンとスピーカとを有する音響装置では、スピーカから出力された音がマイクロホンに回りこんで入力されることにより、音響的なフィードバックループが形成され、ハウリングが発生する場合がある。
従来、ハウリングを抑圧するためのハウリング抑圧装置として、入力信号に含まれるハウリング成分を適応フィルタを用いて抽出し、抽出したハウリング成分を入力信号から差し引くことでハウリングを抑圧するものが提案されている(例えば、特許文献1参照)。
図12は、特許文献1に記載された従来のハウリング抑圧装置1000のブロック図である。図12に示すように、従来のハウリング抑圧装置1000は、信号が入力される入力端子1001、入力信号を遅延させる遅延器1002、入力信号からハウリング成分を抽出する適応フィルタ1003、入力信号から適応フィルタ1003の出力信号を差し引く減算器1004、及びハウリングが抑圧された信号が出力される出力端子1005を備える。
次に、特許文献1に記載された従来のハウリング抑圧装置1000の動作について説明する。
入力端子1001には、図示していないマイクロホンからの信号が入力されるようになっている。遅延器1002では、入力端子1001に入力された信号を遅延させて、適応フィルタ1003に参照信号を出力する。適応フィルタ1003では、遅延器1002で遅延された入力信号(参照信号)とフィルタ係数との畳み込みを行い、入力信号に含まれるハウリング成分の周期の整数倍の遅れをもった信号を生成する。減算器1004では、入力信号から適応フィルタ1003の出力信号を差し引くことによりハウリングを抑圧し、ハウリング抑圧後の信号を適応フィルタ1003及び出力端子1005に出力する。適応フィルタ1003は、減算器1004の出力信号の二乗平均値が最小になるようにフィルタ係数を逐次更新する。
以上のように、特許文献1に記載された従来のハウリング抑圧装置1000では、入力信号に含まれるハウリング成分を適応フィルタを用いて抽出し、抽出したハウリング成分を入力信号から差し引くことでハウリングを抑圧することが可能である。
このような従来のハウリング抑圧装置1000にあっては、ハウリングを抑圧するための適応フィルタ1003のフィルタ係数学習を行うために、適応フィルタ1003にハウリング成分が入力され続ける必要がある。しかしながら、ハウリング発生時は音響的なフィードバックループが形成されており、ハウリングを抑圧すると適応フィルタ1003のフィルタ係数学習に必要な信号も無くなる。この状態でフィルタ係数学習を継続すると、誤った適応が行われて処理音の音質劣化が発生するという問題があった。
本発明は、上記課題を解決するためになされたもので、音響的なフィードバックループ環境下においてもハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することが可能なハウリング抑圧装置を提供することを目的とする。
本発明の一形態に係るハウリング抑圧装置は、入力信号に含まれるハウリング成分を抑圧する。具体的には、入力信号を遅延させて参照信号を出力する遅延器と、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタを含む信号分離部と、少なくとも前記適応フィルタから出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出部と、前記ハウリング検出部でハウリングの発生が検出されたことを契機として前記適応フィルタから更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算器を含むハウリング抑圧部とを備える。本構成のように、本発明のハウリング抑圧装置は、ハウリング検出時の適応フィルタのフィルタ係数を半固定フィルタとしてハウリング抑圧に用いることで、音響的なフィードバックループ環境下においても、ハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することが可能となる。
また、前記信号分離部は、さらに、前記入力信号から前記周期性信号成分を減算することにより非周期性信号成分を出力する第2の減算器を備える。そして、前記適応フィルタは、前記遅延器が出力した前記参照信号と前記第2の減算器が出力した前記非周期性信号成分とに基づいて、前記フィルタ係数を更新する。そして、前記第1の抑圧フィルタは、前記ハウリング検出部でハウリングの発生が検出された場合に、更新された前記フィルタ係数を前記適応フィルタから取得してもよい。本構成のように、本発明のハウリング抑圧装置は、ハウリング検出時の適応フィルタのフィルタ係数を半固定フィルタとしてハウリング抑圧に用いることが可能となる。
また、前記ハウリング検出部は、前記適応フィルタから出力される前記周期性信号成分の信号レベルを算出する第1のレベル算出部と、前記第2の減算器から出力される前記非周期性信号成分の信号レベルを算出する第2のレベル算出部と、前記第1のレベル算出部から出力される信号レベルと前記第2のレベル算出部から出力される信号レベルとの相対的なレベル比を算出するレベル比算出部と、前記レベル比算出部によって算出された前記レベル比が予め定めた閾値を超えた状態が所定時間継続した場合にハウリングが発生したと判定するハウリング判定部とを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、前記周期性信号成分の信号と前記非周期性信号成分の信号の相対的なレベル比を分析することで、精度よくハウリングを検出することができる。
また、前記ハウリング検出部は、前記適応フィルタから出力される前記周期性信号成分の信号レベルを算出するレベル算出部と、前記レベル算出部から出力される信号レベルの時間変化を分析するレベル変化分析部と、前記周期性信号成分の信号レベルが過去から現在に向かって増大する状態が所定時間継続した場合にハウリングが発生したと判定するハウリング判定部とを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、前記周期性信号成分の信号レベルの時間変化を分析することで、精度よくハウリングを検出することができる。
また、前記ハウリング検出部は、前記適応フィルタから出力される前記周期性信号成分の信号を複数の帯域信号に分割する帯域分割部と、前記帯域分割部から出力される複数の帯域信号の信号レベルを算出する帯域レベル算出部と、前記複数の帯域信号のうちの少なくとも1つの帯域信号について、所定の時間内に算出された全ての信号レベルが予め定めた閾値を超えた場合にハウリングが発生したと判定するハウリング判定部とを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、前記周期性信号成分の信号の周波数特性を分析することで、精度よくハウリングを検出することができる。
また、前記ハウリング抑圧部は、さらに、前記ハウリング検出部でハウリングの発生が検出された場合に、前記第1の抑圧フィルタが前記適応フィルタからフィルタ係数を取得する前に前記第1の抑圧フィルタが保持しているフィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第2の抑圧フィルタを備える。そして、前記第1の減算器は、前記入力信号から前記第1及び第2の抑圧フィルタが出力した前記周期性信号成分を減算して誤差信号を出力してもよい。本構成のように、本発明のハウリング抑圧装置は、複数の半固定フィルタを用いることで、時間的に発生タイミングの異なる複数のハウリングを同時に抑圧することが可能となる。
また、前記ハウリング抑圧部は、前記第1の抑圧フィルタから出力される前記周期性信号成分の出力信号ゲインを制御するゲイン制御部を備えてもよい。本構成のように、本発明のハウリング抑圧装置は、半固定フィルタの出力信号ゲインを制御することで、ハウリング抑圧量を制御することが可能となる。
また、前記ゲイン制御部は、前記入力信号に含まれるハウリング成分の大きさに応じて前記第1の抑圧フィルタの出力信号ゲインを変更してもよい。本構成のように、本発明のハウリング抑圧装置は、入力信号に含まれるハウリング成分の大きさに応じて半固定フィルタの出力信号ゲインを適応的に制御することで、ハウリング抑圧処理に伴う処理音の周波数特性ゲイン損失を低減することが可能となる。
また、前記ゲイン制御部は、ハウリング抑圧量を調整するための固定ゲインを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、半固定フィルタの出力信号ゲインを固定ゲインを用いて制御することで、ハウリング抑圧量を制御することが可能となる。
また、該ハウリング抑圧装置は、さらに、入力信号のうちハウリングの発生が予想される帯域だけを前記遅延器に出力する帯域制限フィルタを備えてもよい。本構成のように、本発明のハウリング抑圧装置は、ハウリングの発生が予想される帯域に帯域制限して処理を行うことで、適応フィルタにおけるハウリング成分の抽出精度を向上させることが可能となる。
また、前記適応フィルタは、前記ハウリング検出部でハウリングが検出された場合、現在保持している前記フィルタ係数を初期化し、前記遅延器が出力した前記参照信号と前記第2の減算器が出力した前記非周期性信号成分とに基づいて、改めて前記フィルタ係数を算出してもよい。本構成により、ハウリング成分のみを高精度に抽出可能なフィルタ係数を取得することができる。
本発明の一形態に係るハウリング抑圧方法は、入力信号に含まれるハウリング成分を抑圧する。具体的には、入力信号を遅延させて参照信号を出力する遅延ステップと、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタ処理を含む信号分離ステップと、少なくとも前記適応フィルタ処理によって出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出ステップと、前記ハウリング検出ステップでハウリングの発生が検出されたことを契機として前記適応フィルタ処理において更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ処理、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算処理を含むハウリング抑圧ステップとを含む。
本発明の一形態に係るプログラムは、コンピュータに、入力信号に含まれるハウリング成分を抑圧させる。具体的には、入力信号を遅延させて参照信号を出力する遅延ステップと、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタ処理を含む信号分離ステップと、少なくとも前記適応フィルタ処理によって出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出ステップと、前記ハウリング検出ステップでハウリングの発生が検出されたことを契機として前記適応フィルタ処理において更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ処理、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算処理を含むハウリング抑圧ステップとをコンピュータに実行させる。
本発明の一形態に係る集積回路は、入力信号に含まれるハウリング成分を抑圧する。具体的には、入力信号を遅延させて参照信号を出力する遅延器と、フィルタ係数を適応的に更新することにより、前記参照信号から周期性信号成分を抽出する適応フィルタを含む信号分離部と、少なくとも前記適応フィルタから出力される前記周期性信号成分の信号を用いてハウリングの発生を検出するハウリング検出部と、前記ハウリング検出部でハウリングの発生が検出されたことを契機として前記適応フィルタから更新された前記フィルタ係数を取得し、当該フィルタ係数に基づいて前記参照信号から周期性信号成分を抽出する第1の抑圧フィルタ、及び前記入力信号から前記周期性信号成分を減算することにより出力信号を出力する減算器を含むハウリング抑圧部とを備える。
以上説明したように、本発明によれば、音響的なフィードバックループ環境下においてもハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することが可能なハウリング抑圧装置を提供することができる。
図1は、本発明の第1の実施の形態におけるハウリング抑圧装置のブロック図である。
図2は、本発明の第1の実施の形態におけるハウリング抑圧装置を構成するハウリング検出部のブロック図である。
図3は、本発明の第1の実施の形態におけるハウリング検出部の処理フロー図である。
図4は、本発明の第1の実施の形態におけるハウリング抑圧部の処理フロー図である。
図5は、本発明の第2の実施の形態におけるハウリング検出部のブロック図である。
図6は、本発明の第3の実施の形態におけるハウリング検出部のブロック図である。
図7は、本発明の第4の実施の形態におけるハウリング抑圧装置のブロック図である。
図8は、本発明の第5の実施の形態におけるハウリング抑圧装置のブロック図である。
図9は、本発明の第5の実施の形態におけるハウリング抑圧装置を構成するゲイン制御部のブロック図である。
図10は、本発明の第6の実施の形態におけるゲイン制御部のブロック図である。
図11は、本発明の第7の実施の形態におけるハウリング抑圧装置のブロック図である。
図12は、従来のハウリング抑圧装置のブロック図である。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るハウリング抑圧装置100のブロック図である。
ハウリング抑圧装置100は、図示していないマイクロホンから信号が入力される入力端子101と、入力端子101に入力された信号をアナログ信号からディジタル信号へA/D変換するA/Dコンバータ102と、A/Dコンバータ102から出力された信号を遅延させて後述する適応フィルタ109の参照信号を生成する遅延器103と、A/Dコンバータ102から出力された信号を周期性信号成分と非周期性信号成分とに分離する信号分離部104と、信号分離部104の出力信号を用いてハウリングの発生を検出するハウリング検出部105と、ハウリング検出部105のハウリング検出結果に基づいてハウリングの抑圧を行うハウリング抑圧部106と、ハウリング抑圧部106から出力された信号をディジタル信号からアナログ信号へD/A変換するD/Aコンバータ107と、D/Aコンバータ107から出力された信号を図示していないアンプ等へ出力する出力端子108とを備えている。
また、信号分離部104は、遅延器103の出力信号(参照信号)とフィルタ係数との畳み込みを行うと共に、フィルタ係数を適応的に更新する適応フィルタ109と、A/Dコンバータ102の出力信号と適応フィルタ109の出力信号との差分(「非周期性信号成分」または「誤差信号」という)を算出する減算器(第2の減算器)110とを備えている。
また、ハウリング検出部105は、図2に示すように、信号分離部104で分離された周期性信号成分の信号が入力される入力端子201と、信号分離部104で分離された非周期性信号成分の信号が入力される入力端子202と、入力端子201に入力された周期性信号成分の信号レベルを算出するレベル算出部203と、入力端子202に入力された非周期性信号成分の信号レベルを算出するレベル算出部204と、レベル算出部203から出力される信号レベルとレベル算出部204から出力される信号レベルの相対的なレベル比を算出するレベル比算出部205と、レベル比算出部205で算出されたレベル比を用いてハウリングが発生したか否かを判定するハウリング判定部206と、ハウリング判定部206の判定結果を出力する出力端子207とを備えている。
また、ハウリング抑圧部106は、遅延器103の出力信号(参照信号)とフィルタ係数との畳み込みを行う抑圧フィルタ111と、A/Dコンバータ102の出力信号(入力信号)と抑圧フィルタ111の出力信号との差分(出力信号)を算出する減算器(第1の減算器)112とを備えている。
次に、本実施の形態1に係るハウリング抑圧装置100の動作について説明する。
まず、本実施の形態1に係るハウリング抑圧装置100全体の動作について説明する。
図示していないマイクロホンから入力端子101へ入力された信号は、A/Dコンバータ102によりアナログ信号からディジタル信号に変換された後、遅延器103とハウリング抑圧部106とにそれぞれ入力される。遅延器103で遅延された信号は、信号分離部104とハウリング抑圧部106とにそれぞれ入力される。
信号分離部104では、A/Dコンバータ102から入力された信号を周期性信号成分と非周期性信号成分とに分離し、分離された信号のうちの周期性信号成分をハウリング検出部105の入力端子201、非周期性信号成分を入力端子202にそれぞれ出力する。ハウリング検出部105では、入力端子201と入力端子202とにそれぞれ入力された信号を用いてハウリング検出を行う。
ハウリング抑圧部106では、A/Dコンバータ102と遅延器103とからそれぞれ入力された信号を用いてハウリングの抑圧を行い、ハウリングが抑圧された信号はD/Aコンバータ107によってディジタル信号からアナログ信号へ変換された後、図示していないアンプ等に接続される出力端子108へ出力される。
次に、信号分離部104の動作について説明する。
A/Dコンバータ102から出力された信号を目標信号とした時、適応フィルタ109へは目標信号を遅延器103により遅延させた信号を参照信号として入力させる。ここで、遅延器103における遅延量としては、目標信号と参照信号とに含まれている信号成分が互いに相関を持たなくなるような値(例えば、1〜8サンプル程度)に設定する。適応フィルタ109では参照信号とフィルタ係数との畳み込みを行い、周期性信号成分を出力する。「畳み込み」とは、参照信号に含まれる各サンプルにフィルタ係数を乗算した結果を加算することを指す。後述する抑圧フィルタ111、501等でも同様である。減算器110では、目標信号から適応フィルタ109の出力信号(周期性信号成分)を差し引くことで誤差信号(非周期性信号成分)が算出される。
適応フィルタ109は、例えば、32タップのFIR(Finite Impulse Response)フィルタである。適応フィルタ109のフィルタ係数は、誤差信号の二乗平均値が最小となるように適応的に更新される。目標信号と参照信号とで相関のある信号、すなわちハウリング等の周期性信号成分を適応フィルタ109が出力する時に二乗平均誤差が最小となる。その結果、入力信号からハウリング等の周期性信号成分を抽出できる。適応フィルタ109の係数更新アルゴリズムとしては、NLMS(Normalized Least Mean Square)アルゴリズム等、公知の各種適応アルゴリズムを用いる。結果として信号分離部104からは、適応フィルタ109の出力信号が入力信号の周期性信号成分、誤差信号が入力信号の非周期性信号成分としてそれぞれ出力される。
次に、ハウリング検出部105の動作について説明する。ハウリング検出部105では、ハウリングが有する以下の2点の特徴に着目してハウリングの検出を行う。(1)ハウリングは正弦波状信号、すなわち周期性信号である。(2)ハウリングは突出したレベルで時間的に持続する。
レベル算出部203では、入力端子201に入力された周期性信号成分の信号レベルが算出される。レベル算出部204では、入力端子202に入力された非周期性信号成分の信号レベルが算出される。
レベル比算出部205では、レベル算出部203とレベル算出部204とからそれぞれ出力された信号の相対的な信号レベルの比を表すレベル比が算出される。ハウリングが発生した場合、周期性信号成分の信号レベルが大きくなる反面、非周期性信号成分の信号レベルは小さくなる。ここで、例えば、分子を周期性信号成分の信号レベル、分母を非周期性信号成分の信号レベルとしてこれらの相対的なレベル比を算出した場合、ハウリング発生時にレベル比は大きくなる。そこで、このレベル比の挙動を観測することで、ハウリングを検出することができる。
ハウリング判定部206では、レベル比算出部205から出力されたレベル比と予め定められた第1の閾値とを比較し、レベル比が第1の閾値を超えた場合にカウンタ値がインクリメントされる。カウンタ値が予め定められた第2の閾値を超えた場合にレベル比が大きい状態が時間的に継続(例えば、0.5秒〜1秒程度)しているものとしてハウリング発生と判定する。判定結果は出力端子207から出力される。
図3は、ハウリング検出部105の動作を示す処理フロー図である。まず、レベル算出部203、204は、周期性信号成分と非周期性信号成分の各信号レベルを算出する(S1101)。次に、レベル比算出部205は、レベル算出部203で算出された周期性信号成分の信号レベルと、レベル算出部204で算出された非周期性信号成分の信号レベルの相対的な信号レベルとの比を表すレベル比を算出する(S1102)。
次に、ハウリング判定部206は、レベル比算出部205で算出されたレベル比と第1の閾値を比較する(S1103)。そして、レベル比が第1の閾値を超えた場合(S1103でYes)、ハウリング判定部206は、カウンタ値をインクリメントする(S1104)。一方、レベル比が第1の閾値を超えない場合(S1103でNo)、ハウリング判定部206は、カウンタ値をクリアする(S1105)。
次に、ハウリング判定部206は、カウンタ値と第2の閾値を比較する(S1106)。そして、ハウリング判定部206は、カウンタ値が第2の閾値を超えた場合(S1106でYes)にハウリング発生と判定し(S1107)、カウンタ値が第2の閾値を超えない場合に(S1106でNo)ハウリング未発生と判定して(S1108)、当該判定結果を出力する。なお、ここでの第2の閾値は、例えば、0.5秒〜1秒に相当する値である。実施の形態2、3における第2の閾値も同様である。
次に、ハウリング抑圧部106の動作について説明する。ハウリング抑圧部106は、ハウリング検出部105のハウリング検出結果を取得し、ハウリングが検出された場合にハウリング抑圧処理を開始する。ここで、抑圧フィルタ111のフィルタ係数は初期状態ではゼロと設定しておく。
ハウリング検出部105でハウリングが検出された場合、適応フィルタ109のフィルタ係数は入力信号に含まれるハウリング成分を抽出するフィルタ係数となっている。そこで、抑圧フィルタ111は、ハウリング検出時の適応フィルタ109のフィルタ係数を取得し、半固定フィルタとして設定する。
つまり、抑圧フィルタ111は、適応フィルタ109からフィルタ係数を取得し、遅延器103から入力された信号とフィルタ係数との畳み込みを行い、周期性信号成分を出力する。減算器112では、A/Dコンバータ102から入力された信号から抑圧フィルタ111の出力信号を差し引くことでハウリングを抑圧する。ハウリングを抑圧した信号はD/Aコンバータ107に出力される。
ハウリングを抑圧することで適応フィルタ109のフィルタ係数学習に必要な信号(=ハウリング成分)は無くなるが、適応フィルタ109で直接ハウリング抑圧を行わず、ハウリング抑圧用のフィルタ係数を別途半固定化して抑圧フィルタ111として具備する構成をとることで、適応フィルタ109が誤った学習を行うことにより発生する処理音の音質劣化を低減することができる。
図4は、ハウリング抑圧部106の動作を示す処理フロー図である。
まず、抑圧フィルタ111は、ハウリング検出部105のハウリング検出結果を取得し、ハウリングが検出されたか否かを判断する(S1201)。ハウリングが検出された場合(S1201でYes)、抑圧フィルタ111は、その時点の適応フィルタ109のフィルタ係数を取得し、半固定フィルタとして設定することでハウリング抑圧処理を開始する(S1202)。
なお、実施の形態1に係るハウリング抑圧装置100においては、抑圧フィルタ111がハウリング検出結果に基づいてハウリングの有無を判断し、ハウリングが検出された場合に適応フィルタ109からフィルタ係数を取得する例を示した。しかしながら、本発明の構成はこれに限定されず、例えば、適応フィルタ109がハウリング検出結果に基づいてハウリングの有無を判断し、ハウリングが検出された場合に抑圧フィルタ111にフィルタ係数を転送するようにしてもよい。
以上のように、本実施の形態1に係るハウリング抑圧装置100は、入力信号に含まれる周期性信号成分の信号と非周期性信号成分の信号との相対的なレベル比を分析することでハウリングの検出を行う。そして、ハウリング検出時の適応フィルタのフィルタ係数を半固定フィルタとしてハウリングの抑圧に用いる。したがって、音響的なフィードバックループ環境下においても、ハウリングを効果的に抑圧でき、且つハウリングの抑圧に伴う処理音の音質劣化を低減することが可能となる。
また、信号分離処理とハウリング抑圧処理とを同時に並行して行う構成のため、音響環境の変化に伴いハウリング周波数が変化した場合も追従して適応的にハウリングを抑圧することが可能である。また、信号分離処理とハウリング抑圧処理とでフィルタ係数を共用する構成のため、別途ハウリング抑圧用のフィルタ係数をハウリング検出結果に応じて逐一設計したり、または予め用意しておく必要がなく、ハードウェアリソースを削減することが可能となる。
なお、本実施の形態1において、ハウリング検出部105でハウリングが検出された場合、抑圧フィルタ111がハウリング検出時の適応フィルタ109のフィルタ係数を取得して、半固定フィルタとして設定するものとして説明した。このとき、適応フィルタ109は、入力信号に含まれるハウリング成分の抽出精度を向上させるため、フィルタ係数を一旦初期化して再学習を行ってもよい。そして、抑圧フィルタ111は、再学習されたフィルタ係数を取得して、半固定フィルタとして設定する構成にしてもよい。
適応フィルタ109は、遅延器103から出力される参照信号及び減算器110から出力される非周期性信号成分に基づいて新たなフィルタ係数を算出する「フィルタ係数の更新処理」と、ハウリング検出部105でハウリングが検出された場合に、現在保持しているフィルタ係数を初期化し、再度、遅延器103から出力される参照信号及び減算器110から出力される非周期性信号成分に基づいて新たなフィルタ係数を算出する「フィルタ係数の再学習」とを行うことができる。
「フィルタ係数の更新処理」においては、ハウリング成分以外の周期性信号成分の影響を排除することができない。このため、当該処理を繰り返し実行して得られたフィルタ係数は、ハウリング成分のみを適切に抽出することが難しくなっている。そこで、ハウリング検出部105でのハウリングの検出を契機として、現在のフィルタ係数を破棄して改めてフィルタ係数を算出しなおす(フィルタ係数の再学習)ことにより、ハウリング成分のみを高精度に抽出可能なフィルタ係数を得ることができる。
また、本実施の形態1におけるハウリング検出部105では、入力端子201に入力される周期性信号成分と、入力端子202に入力される非周期性信号成分とからハウリングの発生を検出する例を示したが、これに限ることなく、実施の形態2、3に示されるように、周期性信号成分のみからハウリングの発生を検出してもよい。
(実施の形態2)
図5は、本発明の実施の形態2に係るハウリング抑圧装置100におけるハウリング検出部105の構成を示すブロック図である。なお、図5において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
図5において、本実施の形態2に係るハウリング検出部105は、レベル算出部203で算出された信号レベルの時間変化を分析するレベル変化分析部301と、レベル変化分析部301の分析結果に基づいてハウリングが発生したか否かを判定するハウリング判定部302とを備えている。
次に、本実施の形態2に係るハウリング抑圧装置100の動作について説明する。
レベル変化分析部301では、レベル算出部203から出力された周期性信号成分の信号レベルの過去と現在との値の差分値を算出し、ハウリング判定部302へ出力する。ここで過去の信号値は、図示していない遅延器により生成する。
ハウリング判定部302では、レベル変化分析部301から出力された差分値と予め定めた第1の閾値とを比較し、差分値が第1の閾値を超えた場合にカウンタ値がインクリメントされる。カウンタ値が予め定めた第2の閾値を超えた場合に、レベル算出部203から出力された周期性信号成分の信号レベルが時間的に(つまり、過去から現在に向かって)増大しているものとしてハウリング発生と判定する。
なお、「信号レベルが過去から現在に向かって増大している」とは、レベル変化分析部301で算出された差分値(現在−過去)が全て正であることまでは必要なく、全体の傾向として過去から現在に向かって信号レベルが増大していればよいものとする。
以上のように、本実施の形態2に係るハウリング抑圧装置100は、入力信号に含まれる周期性信号成分の信号レベルの時間変化を分析することで、精度よくハウリングを検出することができ、ハウリングを効果的に抑圧できる半固定フィルタを設定することが可能となる。
なお、本実施の形態2において、レベル変化分析部301は、周期性信号成分の過去と現在との値の差分値を算出するものとして説明したが、周期性信号成分の過去と現在の値の大小比較を行い、その結果をハウリング判定部302のハウリング判定に用いる構成にしてもよい。
(実施の形態3)
図6は、本発明の実施の形態3に係るハウリング抑圧装置100におけるハウリング検出部105の構成を示すブロック図である。なお、図6において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
図6において、本実施の形態3に係るハウリング検出部105は、入力端子201に入力された周期性信号成分の信号を複数の帯域信号に分割する帯域分割部401と、帯域分割部401から出力される複数の帯域信号の信号レベルを算出する帯域レベル算出部402と、帯域レベル算出部402で算出された複数の帯域信号の信号レベルを用いてハウリングが発生したか否かを判定するハウリング判定部403とを備えている。
次に、本実施の形態3に係るハウリング抑圧装置100の動作について説明する。ここで、ハウリング判定部403では、複数の帯域毎に独立且つ並列にハウリング判定処理を行う。
帯域分割部401では、入力端子201に入力された周期性信号成分の信号を周波数変換し、複数の帯域信号に分割する。例えば、可聴域(20Hz〜20kHz)を100〜300分割(より具体的には、128、256分割)する。また、帯域分割の手法としては、高速フーリエ変換や、複数のFIR(Finite Impulse Response)フィルタまたはIIR(Infinite Impulse Response)フィルタから構成されるフィルタバンク等、時間信号を複数の帯域信号に分割する公知の各手法を用いる。帯域レベル算出部402では、帯域分割部401から出力される複数の帯域信号それぞれについて、信号レベルを算出する。
ハウリング判定部403では、複数の帯域信号それぞれについて、帯域レベル算出部402から出力された複数の帯域信号の信号レベルと予め定めた第1の閾値とを比較し、信号レベルが第1の閾値を超えた場合にカウンタ値がインクリメントされる。一方、信号レベルが第1の閾値以下の場合はカウンタ値をリセットする。そして、カウンタ値が予め定めた第2の閾値を超えた場合に、周波数軸上でピークを示す帯域があるものとしてハウリング発生と判定する。
つまり、ハウリング判定部403は、複数の帯域信号のうちの少なくとも1つの帯域信号について、第1の閾値を超える信号が第2の閾値以上連続する場合、さらに言い換えれば、所定の時間内(第2の閾値)の全ての信号レベルが第1の閾値を超えた場合にハウリングが発生したと判定する。
以上のように、本実施の形態3に係るハウリング抑圧装置100は、入力信号に含まれる周期性信号成分の信号レベルの周波数特性を分析することで、精度よくハウリングを検出することができ、ハウリングを効果的に抑圧できる半固定フィルタを設定することが可能となる。
(実施の形態4)
図7は、本発明の実施の形態4に係るハウリング抑圧装置200のブロック図である。なお、図7において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図7において、本実施の形態4に係るハウリング抑圧装置200は、遅延器103の出力信号とフィルタ係数との畳み込みを行う抑圧フィルタ501と、A/Dコンバータ102の出力信号から抑圧フィルタ111(第1の抑圧フィルタ)の出力信号及び抑圧フィルタ501(第2の抑圧フィルタ)の出力信号を差し引いた差分を算出する減算器502とを備えている。
次に、本実施の形態4に係るハウリング抑圧装置200の動作について説明する。
ハウリング検出部105でハウリングが検出された場合、まず、抑圧フィルタ501は、抑圧フィルタ111のフィルタ係数を取得し、半固定フィルタとして設定する。次に、抑圧フィルタ111は、適応フィルタ109のフィルタ係数を取得し、半固定フィルタとして設定する。つまり、抑圧フィルタ501は、抑圧フィルタ111が適応フィルタ109からフィルタ係数を取得する前に保持していたフィルタ係数を取得する。一方、抑圧フィルタ111は、抑圧フィルタ501にフィルタ係数を通知した後で適応フィルタ109からフィルタ係数を取得する。
抑圧フィルタ111と抑圧フィルタ501とでは、遅延器103から入力された信号とフィルタ係数との畳み込みをそれぞれ行う。そして、減算器502では、A/Dコンバータ102から入力された信号から抑圧フィルタ111の出力信号及び抑圧フィルタ501の出力信号を差し引くことでハウリングを抑圧する。
以上のように、本実施の形態4に係るハウリング抑圧装置200は、ハウリングの抑圧に用いる2つの抑圧フィルタ111、501を備えることで、時間的に発生タイミングが異なる2つのハウリングを同時に抑圧することが可能となる。
なお、本実施の形態4において、ハウリングの抑圧に用いる抑圧フィルタは2つとして説明したが、これに限定されるものではなく、使用する音響環境や想定されるハウリング発生環境に応じて適宜必要な数だけ抑圧フィルタを備える構成にしてもよい。また、ハウリングの抑圧に用いる複数の半固定フィルタは並列に構成するものとして説明したが、縦続構成にしてもよい。
(実施の形態5)
図8は、本発明の実施の形態5に係るハウリング抑圧装置300のブロック図である。なお、図8において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図8において、本実施の形態5に係るハウリング抑圧装置300は、抑圧フィルタ111の出力信号ゲインを制御するゲイン制御部601を備えている。
また、ゲイン制御部601は、図9に示すように、A/Dコンバータ102の出力信号が入力される入力端子701と、抑圧フィルタ111の出力信号が入力される入力端子702と、入力端子702に入力された抑圧フィルタ111の出力信号ゲインを適応的に制御するゲイン703と、入力端子701に入力された信号とゲイン703の出力信号の差分を算出する減算器704と、ゲイン703でゲイン制御された信号を出力する出力端子705とを備えている。
次に、本実施の形態5に係るハウリング抑圧装置300の動作について説明する。ここで、ゲイン703は1タップの適応フィルタであり、予め定めた初期値、好ましくはゼロを設定しておく。
入力端子701には、A/Dコンバータ102から信号が入力される。一方、入力端子702には、抑圧フィルタ111の出力信号、すなわち入力信号に含まれるハウリング成分を抽出した信号が入力される。入力端子701に入力された信号を目標信号とした時、ゲイン703へは入力端子702に入力された信号を参照信号として入力させる。
ゲイン制御部601では、ゲイン703で参照信号に含まれる各サンプルとゲイン値(すなわち、適応フィルタのフィルタ係数)との乗算を行い、減算器704で目標信号からゲイン703の出力信号を差し引くことで誤差信号が算出される。
ゲイン703のゲイン値は、誤差信号の二乗平均値が最小となるように適応的に更新される。入力信号に含まれるハウリング成分と同じ大きさの信号をゲイン703が出力する時に二乗平均誤差が最小となる。その結果、入力信号に含まれるハウリング成分の大きさに応じてちょうどハウリング成分だけが抑圧されるように抑圧フィルタ111の出力信号ゲインが自動的に制御される。ゲイン703の係数更新アルゴリズムとしては、NLMS(Normalized Least Mean Square)アルゴリズム等、公知の各種適応アルゴリズムを用いる。
結果として、ゲイン703からは、入力信号に含まれるハウリング成分の大きさに応じて抑圧フィルタ111の出力信号ゲインが制御された信号が出力される。
抑圧フィルタ111により、ハウリング成分の周波数帯域は特定される。しかしながら、ハウリング成分の振幅は時間と共に変化するので、遅延器103で遅延された過去の信号に基づいて検出されたハウリング成分の振幅は、現在の入力信号に含まれるハウリング成分の振幅と異なる可能性が高い。そこで、ゲイン制御部601で抑圧フィルタ111から出力されるハウリング成分の振幅を調整することにより、より適切にハウリングを抑圧することができる。
以上のように、本実施の形態5に係るハウリング抑圧装置300は、入力信号に含まれるハウリング成分の大きさに応じてハウリング抑圧用の抑圧フィルタ111の出力信号ゲインを適応的に制御することで、ハウリング抑圧量を制御することができ、且つハウリング抑圧処理に伴う処理音の周波数特性ゲイン損失を低減することが可能となる。
(実施の形態6)
図10は、本発明の実施の形態6に係るハウリング抑圧装置300におけるゲイン制御部601の構成を示すブロック図である。なお、図10において、図9と同じ構成要素については同じ符号を用い、説明を省略する。
図10において、本実施の形態6に係るハウリング抑圧装置300は、入力端子702に入力された抑圧フィルタ111の出力信号ゲインを制御するゲイン801を備えている。
次に、本実施の形態6に係るハウリング抑圧装置300の動作について説明する。
入力端子702に入力された抑圧フィルタ111の出力信号は、ゲイン801でゲイン値の乗算を行い、出力端子705に出力される。ここで、ゲイン801に1.0未満のゲイン値を設定することで、抑圧フィルタ111の出力信号ゲインを小さくする。このことは、減算器112でA/Dコンバータ102から入力された信号から抑圧フィルタ111の出力信号を差し引く量が小さくなり、すなわちハウリングの抑圧量を低減することに相当する。
以上のように、本実施の形態6に係るハウリング抑圧装置300は、ハウリング抑圧用のフィルタの出力信号ゲインを固定ゲインを用いて制御することで、ハウリング抑圧量を制御することが可能となる。
なお、本実施の形態6において、ゲイン801には1.0未満のゲイン値を設定するものとして説明したが、もしハウリング抑圧量を増大させたい場合は、ゲイン801に1.0以上のゲイン値を設定する構成にしてもよい。
(実施の形態7)
図11は、本発明の実施の形態7に係るハウリング抑圧装置400のブロック図である。なお、図11において、図1と同じ構成要素については同じ符号を用い、説明を省略する。
図11において、本実施の形態7に係るハウリング抑圧装置400は、A/Dコンバータ102から出力された信号を帯域制限する帯域制限フィルタ901を備えている。
次に、本実施の形態7に係るハウリング抑圧装置400の動作について説明する。
帯域制限フィルタ901では、A/Dコンバータ102から出力された信号に対して帯域制限を行い、ハウリングの発生が予想される帯域(例えば、中高域のみ等)だけを通過させて以降のハウリング検出処理やハウリング抑圧処理に用いる。ここで、帯域制限フィルタとしては、公知のローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を用いる。ハウリングの発生が予想される帯域とは、例えば、1kHz〜8kHz等が考えられる。
以上のように、本実施の形態7に係るハウリング抑圧装置400は、ハウリングの発生が予想される帯域に帯域制限して処理を行うことで、適応フィルタにおけるハウリング成分の抽出精度を向上させることが可能となる。
なお、上記の各実施の形態1〜7に係るハウリング抑圧装置100、200、300、400の用途は特に限定されないが、例えば、補聴器やカラオケ等に搭載される。
(その他変形例)
なお、本発明を前記実施の形態に基づいて説明してきたが、本発明は、前記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)前記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(2)前記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なIC(Integrated Circuit)カードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、前記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(3)本発明は、前記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるディジタル信号であるとしてもよい。
また、本発明は、コンピュータプログラムまたはディジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているディジタル信号であるとしてもよい。
また、本発明は、コンピュータプログラムまたはディジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、前記コンピュータプログラムを記憶しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
また、プログラムまたはディジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはディジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(4)前記実施の形態及び前記変形例をそれぞれ組み合わせるとしてもよい。
本発明に係るハウリング抑圧装置は、音響的なフィードバックループ環境下においても、ハウリングを効果的に抑圧でき、且つハウリング抑圧に伴う処理音の音質劣化を低減することを可能とするという効果を有し、マイクロホンとスピーカとを有する各種音響装置において、スピーカとマイクロホンとの間の音響結合により発生するハウリングを抑圧するハウリング抑圧装置等として有用である。
100,200,300,400,1000 ハウリング抑圧装置
101,201,202,701,702,1001 入力端子
102 A/Dコンバータ
103,1002 遅延器
104 信号分離部
105 ハウリング検出部
106 ハウリング抑圧部
107 D/Aコンバータ
108,207,705,1005 出力端子
109,1003 適応フィルタ
110,112,502,704,1004 減算器
111,501 抑圧フィルタ
203,204 レベル算出部
205 レベル比算出部
206,302,403 ハウリング判定部
301 レベル変化分析部
401 帯域分割部
402 帯域レベル算出部
601 ゲイン制御部
703,801 ゲイン
901 帯域制限フィルタ