(57)【要約】【課題】複数のノッチフィルタを備えたハウリング除去装置において、該ノッチフィルタにハウリング成分を効率よく割り当てて、効率的且つ効果的なハウリング除去が行なえるようにする。【解決手段】複数のノッチフィルタ４０を搭載するハウリング除去装置１において、各フィルタ４０毎に、その最終更新時刻、中心周波数、ゲイン及びＱの各パラメータを格納したフィルタ管理テーブル４１が用意される。複数のノッチフィルタ４０の全てが既にハウリング周波数に割り当てられている場合、全てのノッチフィルタ４０について、前記テーブル４１に格納された各パラメータに基づく重みを算出する。そして、該算出した重み値に基づき選択された１つのノッチフィルタを解放することで、該解放したノッチフィルタに対して、新規に検出されたハウリング周波数を再割り当てする。【選択図】図１
2008005305.tif 000002
【特許請求の範囲】
【請求項１】
複数のノッチフィルタと、
外部から入力された音響信号に含まれるハウリング周波数を検出するためのハウリング検出手段と、
前記ハウリング検出手段により検出されたハウリング周波数を前記複数のノッチフィルタのいずれかに割り当てる割り当て手段と、
前記複数のノッチフィルタの全てが既にハウリング周波数に割り当てられている場合に、再割り当ての対象となるノッチフィルタを選択するための基準として用いる重み値を、各ノッチフィルタ毎に算出する重み算出手段と、
前記重み算出手段により算出した重み値に基づき選択された１つのノッチフィルタを解放することで、該解放したノッチフィルタに対して別のハウリング周波数を再割り当てすることを可能とする再割り当て手段と
を備えるハウリング除去装置。
【請求項２】
前記割り当て手段により割り当てられたハウリング周波数に対する適用時間を示す時間情報と、該割り当てられたハウリング周波数に対応して設定される中心周波数、ゲイン及びＱの各パラメータを、各ノッチフィルタ毎に記憶する記憶手段を更に備え、
前記重み算出手段において、前記記憶手段に記憶された適用時間、中心周波数、ゲイン及びＱに基づき、各ノッチフィルタ毎の重み値を算出することを特徴とする請求項１に記載のハウリング除去装置。
【請求項３】
コンピュータを、複数のノッチフィルタを備えたハウリング除去装置として動作させるために実行されるプログラムであって、
外部から入力された音響信号に含まれるハウリング周波数を検出するハウリング検出手順と、
前記検出されたハウリング周波数を前記複数のノッチフィルタのいずれかに割り当てる割り当て手順と、
前記複数のノッチフィルタの全てが既にハウリング周波数に割り当てられている場合に、再割り当て対象を選択するための基準として用いる重み値を、各ノッチフィルタ毎に算出する重み算出手順と、
前記重み算出手順により算出した重み値に基づき選択された１つのノッチフィルタを解放することで、該解放したノッチフィルタに対して別のハウリング周波数を再割り当てすることを可能とする再割り当て手順と
を具えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音響機器において、スピーカ等の音響信号出力機器からマイクロフォン等の音響信号入力機器にフィードバックすることにより発生する音響信号のハウリング成分を除去するためのハウリング除去装置に関する。
【背景技術】
【０００２】
従来から知られるハウリング除去装置において、複数のノッチフィルタを有し、ハウリングを起こしている複数の周波数（ハウリング周波数）の各々に対して該複数のノッチフィルタの各々を割り当てることで、音響信号に含まれる複数のハウリング成分を除去できるようにしたものがあった（下記特許文献１を参照）。
【特許文献１】特許第３２３５９２５号公報
【０００３】
上記特許文献１に示されたもののようにノッチフィルタを有するタイプのハウリング除去装置において、仮にノッチフィルタを無限に実装しているものとすれば、新たにハウリングが生じる毎に当該ハウリングに対応するハウリング周波数をノッチフィルタに割り当てさえすれば、音響信号に含まれる全てのハウリング成分を除去しうる。しかしながら、実際には、ノッチフィルタをアナログ回路で構成する場合にせよ、ディジタル回路の信号処理演算で構成する場合にせよ、リソースに限度があるので、ノッチフィルタの実装点数は有限の複数個になる。このため、有限の複数個のノッチフィルタを効率的にハウリング除去に適用する方法が１つの課題となる。上記特許文献１に示す従来の技術においては、ノッチフィルタのリソースの制限という点が考慮されていなかったので、例えば、有限の複数個のノッチフィルタの全てが既にハウリング成分の除去に適用されている状態で、更に新たなハウリング成分が検出された場合には、如何にして該新たなハウリング成分を除去するかという問題に対して、有効な手立てが示されていなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は上述の点に鑑みてなされたもので、有限の複数個のノッチフィルタを備えたハウリング除去装置において、該複数のノッチフィルタに複数のハウリング成分を効率よく割り当てることで、効率的且つ効果的なハウリング除去が行なえるハウリング除去装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、複数のノッチフィルタと、外部から入力された音響信号に含まれるハウリング周波数を検出するためのハウリング検出手段と、前記ハウリング検出手段により検出されたハウリング周波数を前記複数のノッチフィルタのいずれかに割り当てる割り当て手段と、前記複数のノッチフィルタの全てが既にハウリング周波数に割り当てられている場合に、再割り当ての対象となるノッチフィルタを選択するための基準として用いる重み値を、各ノッチフィルタ毎に算出する重み算出手段と、前記重み算出手段により算出した重み値に基づき選択された１つのノッチフィルタを解放することで、該解放したノッチフィルタに対して別のハウリング周波数を再割り当てすることを可能とする再割り当て手段とを備えるハウリング除去装置である。
【０００６】
また、この発明に係るハウリング除去装置は、前記割り当て手段により割り当てられたハウリング周波数に対する適用時間を示す時間情報と、該割り当てられたハウリング周波数に対応して設定される中心周波数、ゲイン及びＱの各パラメータを、各ノッチフィルタ毎に記憶する記憶手段を更に備え、前記重み算出手段において、前記記憶手段に記憶された適用時間、中心周波数、ゲイン及びＱに基づき、各ノッチフィルタ毎の重み値を算出することを特徴とするものであってよい。
【０００７】
また、この発明は、コンピュータを、複数のノッチフィルタを備えたハウリング除去装置として動作させるために実行されるプログラムであって、外部から入力された音響信号に含まれるハウリング周波数を検出するハウリング検出手順と、前記検出されたハウリング周波数を前記複数のノッチフィルタのいずれかに割り当てる割り当て手順と、前記複数のノッチフィルタの全てが既にハウリング周波数に割り当てられている場合に、再割り当て対象を選択するための基準として用いる重み値を、各ノッチフィルタ毎に算出する重み算出手順と、前記重み算出手順により算出した重み値に基づき選択された１つのノッチフィルタを解放することで、該解放したノッチフィルタに対して別のハウリング周波数を再割り当てすることを可能とする再割り当て手順とを具えることを特徴とするプログラムである。
【発明の効果】
【０００８】
この発明によれば、有限の複数個のノッチフィルタを搭載するハウリング除去装置において、全てのノッチフィルタが既にハウリング周波数に割り当てられている場合に、重み算出手段により、再割り当ての対象となるノッチフィルタを選択するための基準として用いる重み値を各ノッチフィルタ毎に算出することで、各ノッチフィルタ毎の重み値に基づき自動的に解放対象とするフィルタを選択することができ、また、再割り当て手段により、前記算出した重み値に基づき選択された１つのノッチフィルタを解放することで、該選択されたフィルタに新規に検出されたハウリング成分を再割り当てすることができる。従って、既に除去しているハウリング成分にできるだけ影響を与えずに、新規に検出されたハウリング成分を効率よく除去することができるようになるという優れた効果を奏する。また、割り当てられたハウリング周波数に対する適用時間を示す時間情報と、該割り当てられたハウリング周波数に対応して設定される中心周波数、ゲイン及びＱの各パラメータを、各ノッチフィルタ毎に記憶する記憶手段を更に備え、重み算出手段において該記憶手段に記憶された適用時間、中心周波数、ゲイン及びＱに基づき、各ノッチフィルタ毎の重み値を算出するように構成してよい。ノッチフィルタの適用時間、ならびに、中心周波数、ゲイン及びＱの各パラメータに基づき重み値を算出することで、各フィルタ毎の重みを複合的に評価することができる。従って、現時点でのハウリング除去状況にできるだけ影響を与えずに、効率的且つ効果的に、新規に検出されたハウリング成分をノッチフィルタに再割り当てすることができるという優れた効果を奏する。
【０００９】
また、この発明は、装置の発明として構成及び実施するのみならず、コンピュータを、この発明に係るハウリング除去装置として動作させるために実行されるソフトウェアプログラムの形態で構成及び実施されてもよい。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態を添付図面を参照して詳細に説明する。
【００１１】
図１は、この発明の一実施例に係るハウリング除去装置の構成を説明するためのブロック図である。符号１は、この実施例にかかるハウリング除去装置である。このハウリング除去装置１は単体の装置として構成されてもよいし、ミキサ等の音響装置において１つの機能として組み込まれても良い。ハウリング除去装置１は、大別して、外部から入力された音響信号に対するハウリング除去処理を行なう音響信号処理部２と、ＣＰＵ１０を含むマイクロコンピュータによって構成される制御部３と、ユーザが操作入力するための各種操作子群２１や表示器２２等のユーザインターフェースを含むパネル部４から構成される。
【００１２】
周知のとおり、ハウリングとは、スピーカ７から再生された音響信号が、再びマイクロンフォン５に入力され、アンプ６にて増幅された後にスピーカ７から出力されて再びマイクロフォン５に入力されることが繰り返されることで発生する現象である。従って、ハウリング除去装置１は、図１に示す通り、マイクロフォン５とアンプ８の間に挿入されており、マイクロンフォン５から入力された音響信号のハウリング成分を除去して、該ハウリング成分を除去した音響信号をスピーカ７から再生できるようになっている。また、ハウリング除去装置１の入力段には、ハウリング除去装置１に入力される音響信号のゲインを調整する入力ゲイン８が具備され、同出力段には、ハウリング除去装置１から出力される音響信号のゲインを調整する出力ゲイン９が具備されている。
【００１３】
音響信号処理部２には、ハウリング検知部３０と所定の複数のノッチフィルタ４０とが具備されている。ノッチフィルタ４０は、周知のとおり、中心周波数として設定された特定の周波数成分を急峻に減衰させる特性を持つフィルタであり、ハウリングを起こしている周波数（ハウリング周波数）を前記中心周波数に設定することで処理対象の音響信号に含まれる該ハウリング周波数に対応するハウリング成分を除去することができる。音響信号処理部２には所定の複数個のノッチフィルタ４０が具備されているので、処理対象の音響信号に含まれる複数のハウリング成分の各々に対して該複数のノッチフィルタ４０をそれぞれ割り当てることで、該複数のハウリング成分を除去することができる。この発明によれば、詳しくは後述する通り、音響信号処理部２に搭載された有限の複数個のノッチフィルタ４０を、音響信号に含まれる複数のハウリング成分に対して効率且つ効果的によく割り当てて、適切なハウリング除去が行なえるようになる。
【００１４】
図２は、ハウリング除去装置１の電気的ハードウェア構成を示すブロック図である。図２に示す通り、ハウリング除去装置１は、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、信号処理回路（ＤＳＰ）１３、音響インターフェース（音響Ｉ／Ｆ）１４、通信インターフェース（通信Ｉ／Ｆ）１５、操作子検出回路１６及び表示制御回路１７を含み、各装置間が通信バス１８を介して接続される。ＣＰＵ１０、ＲＯＭ１１及びＲＡＭ１２を含むマイクロコンピュータが図１に示す制御部３に相当する。ＣＰＵ１０は、ＲＯＭ１１或いはＲＡＭ１２に記憶にされた各種制御プログラムを実行し、ハウリング除去装置１の全体的な動作制御、すなわち、図１において、音響信号処理部２における信号処理の制御と、パネル部４の制御とを担う。
【００１５】
ハウリング除去装置１には、音響Ｉ／Ｆ１４を介してマイクロフォン５やスピーカ７等の音響信号入出力器（音響信号Ｉ／Ｏ）１９が接続される。該音響Ｉ／Ｆ１４はＡＤ変換器及びＤＡ変換器を含み、音響信号Ｉ／Ｏ１９から供給されるアナログ音響信号をディジタル音響信号に変換してハウリング除去装置１に取り込み、また、ハウリング除去装置１にて信号処理したディジタル音響信号をアナログ音響信号に変換して音響信号Ｉ／Ｏ１９に出力する。また、通信Ｉ／Ｆ１５を介して例えばパーソナルコンピュータ（外部機器２０）を接続することで、該パーソナルコンピュータにおいてハウリング除去装置１をリモート制御できてよい。また、外部機器２０との別の例としては、通信Ｉ／Ｆ１５を介してミキサ等の音響機器が接続されてもよい。
【００１６】
操作子検出回路１６を介して、パネル部４（図１参照）に配設された操作子群２１が接続されており、ユーザは操作子群２１を用いてハウリング検出処理の開始指示や各種ユーザ設定等の操作入力を行なうことができる。操作子群２１を用いてユーザが行なった各種操作入力は操作子検出回路１６にて検出され、ＣＰＵ１０は該検出された操作入力に応じてハウリング除去装置１の動作を制御する。また、表示制御回路１７を介してパネル部４（図１参照）に配設された表示器２２が接続されている。表示器２２は、ＣＰＵ１０の制御に基づき、各種データや動作状態等を示す文字列等をユーザに対して表示するためのもので、例えばＬＥＤ表示器やＬＣＤ液晶表示器等により構成されてよい。
【００１７】
ＤＳＰ１３は、ＣＰＵ１０による制御に基づく信号処理を実行することで、図１に示す音響信号処理部２の各機能（ハウリング検知部３０及び所定の複数のノッチフィルタ４０）を実現する。すなわち、ＤＳＰ１３においては、音響Ｉ／Ｆ１４を介して入力されるディジタル音響信号に対してハウリング検知処理（図１に示すハウリング検知部３０の動作）を行うと共に、該ハウリング検知処理の結果に基づき当該ディジタル音響信号に含まれるハウリング成分をノッチフィルタ４０により除去する処理を行なう。
【００１８】
音響信号処理部２の各機能について簡単に説明する。ハウリング検知部３０では、入力された音響信号の信号分析を行い、当該信号に含まれるハウリング成分の周波数（ハウリング周波数）と、該ハウリング周波数の振幅レベルを検出する。なお、ハウリング検知部３０の動作を実現するためのアルゴリズムは、ピッチ検出、ＦＦＴ（高速フーリエ変換）、ＢＰＦ（バンドパスフィルタ）など、従来から公知のハウリング検出用のアルゴリズムを適用してよい。ハウリング検知部３０における検出結果（ハウリング周波数と振幅レベル）は制御部３に出力される。
【００１９】
制御部３は、前記ハウリング検知部３０において検出した１つのハウリング成分を１つのノッチフィルタ４０に割り当てる。前記検出したハウリング成分のノッチフィルタに対する割り当ては、図３に示すノッチフィルタ管理テーブル４１によって管理されている。ノッチフィルタ管理テーブル４１は、制御部３に含まれるＲＡＭ１２等の適宜のメモリ内に設けられており（図１参照）、音響信号処理部２に具備された所定の複数“ｉ”個（“ｉ”は正の整数）のノッチフィルタ４０の各々に対応して、複数“ｉ”個のフィルタ管理テーブルが用意される。図３に示すとおり、１つのノッチフィルタに対応するフィルタ管理テーブル４１には、ノッチフィルタを構成するパラメータであるゲイン、中心周波数、Ｑの各パラメータ設定値と、当該フィルタ管理テーブル４１の最終更新時刻のデータが記憶されている。すなわち、制御部３は、前記ハウリング検知部３０において検出したハウリング成分のハウリング周波数とレベルに基づく中心周波数、ゲイン及びＱの各パラメータ設定値を、いずれか１つのノッチフィルタ管理テーブル４１に格納することで、当該ノッチフィルタ管理テーブル４１に対応するノッチフィルタ４０に対して、前記検出したハウリング成分を新規に割り当てる。
【００２０】
また、前記ノッチフィルタ管理テーブル４１に格納される最終更新時刻は、当該フィルタ管理テーブル４１が更新せられた時刻、すなわち、或るノッチフィルタに対して或るハウリング成分を新規に割り当てた時点の時刻を示すパラメータである。なお、ここで「時刻」の情報は、制御部３（ＣＰＵ１０を含むマイクロコンピュータ）に含まれるタイマ（時計）によって計時されるデータを利用してよい。フィルタ管理テーブル４１において最終更新時刻を保持しているので、制御部３においては、当該ノッチフィルタ４０が処理対象としているハウリング周波数に割り当てられてから現時点までの適用時間（経過時間）を得ることができる。例えば、現在時刻から当該フィルタ管理テーブル４１の最終更新時刻を減算すれば当該フィルタ４０について前記適用時間を得ることができるし、あるいは、各フィルタ管理テーブル４１の最終更新時刻を比較すれば、各ノッチフィルタ４０毎の該適用時間の長短を判断することができる。なお、フィルタ管理テーブル４１において、前記最終更新時刻を保持する構成に限らず、当該ノッチフィルタ４０が処理対象としているハウリング成分に割り当てられてからの適用時間を得ることができる情報でさえあれば、例えば、最終更新時刻から所定周期毎に累積するカウント値により適用時間を表すデータ等、その他適宜の時間情報を保持するようにしてもよい。
【００２１】
制御部３は、フィルタ管理テーブル４１に格納されたパラメータ（ゲイン、中心周波数、Ｑ値）の設定をＤＳＰ１３に反映させることで、当該フィルタ管理テーブル４１に格納されたパラメータに基づくフィルタ特性を持つノッチフィルタを、前記検出されたハウリング成分に対して適用する。これにより、音響信号処理部２（ＤＳＰ１３）において、音響信号に含まれる前記検出されたハウリング成分を除去することができる。
【００２２】
図４（ａ）は、ノッチフィルタ管理テーブル４１の記述例であって、一例として、４つのノッチフィルタ４０（フィルタＮ１〜Ｎ４）がハウリング除去装置１に具備されているものとし、該フィルタＮ１〜Ｎ４に対して検出された４つのハウリング成分Ｈ１〜Ｈ４が割り当てられているものとする。図４（ａ）において、フィルタＮ１〜Ｎ４に対応するフィルタ管理テーブルＴ１〜Ｔ４には、各々が除去対象とするハウリング成分Ｈ１〜Ｈ４のハウリング周波数やレベルに応じたゲイン、中心周波数、Ｑ値の各パラメータと、各フィルタ管理テーブルＴ１〜Ｔ４の最終更新時刻が格納されている。この例では、最終更新時刻は、図に示す通り、「時：分：秒」によって記述されるデータとする。また、図４（ｂ）は、各フィルタＮ１〜Ｎ４のフィルタ特性と、対応するハウリング成分Ｈ１〜Ｈ４とを模擬的に示しており、横軸に周波数、縦軸に振幅レベルをそれぞれ示す。
【００２３】
図４（ａ），（ｂ）に示す状態において、ハウリング検知部３０が新規にハウリング周波数Ｈ５が検出した場合、当該新規に検出されたハウリング周波数Ｈ５に対してノッチフィルタＮ１〜Ｎ４のいずれかを新規に割り当てたい。しかしながら、４つのノッチフィルタＮ１〜Ｎ４には既にハウリング成分Ｈ１〜Ｈ４が割り当てられてしまっている。したがって、制御部３は、これらフィルタＮ１〜Ｎ４のうちの少なくとも何れか１つを解放し、該解放されたフィルタに対して、新規に検出されたハウリング周波数帯Ｈ５に対して割り当て直す（再割り当てする）処理を行わねばならない。そして、この際に、現在除去しているハウリング周波数に対しては、できるだけ影響を与えないようにすべきである。そこで、制御部３は、解放対象とすべきフィルタ４０を選択するための判断基準として各フィルタ４０毎の「重み」を算出し、該算出した各フィルタ４０毎の「重み」を比較することで、解放すべきフィルタ４０を選択するよう制御している。
【００２４】
一例として、前記各フィルタ４０毎の「重み」は、下記式（１）に示す通り、各フィルタ管理テーブル４１に格納された各パラメータのうちの、最終更新時間に基づく重み要素、中心周波数に基づく重み要素、並びに、ゲイン及びＱに基づく重み要素の各重み要素を乗算して算出することができる。なお、「重み」は、その値が大きいほど、当該フィルタがより優先的に解放の対象となるものである。
フィルタの重み＝最終更新時間の重み＊中心周波数の重み＊ゲイン及びＱの重み・・・（式１）
なお、この明細書において記号「＊」は乗算を示す。
【００２５】
図５（ａ）は最終更新時間に基づく重み要素、（ｂ）はゲイン及びＱに基づく重み要素、（ｃ）は中心周波数に基づく重み要素の各重み要素を求めるためのテーブル構成例をそれぞれ示している。なお、この実施例の説明では、各重み要素の算定方法の一例としてテーブルを用いるものとするが、これに限らず、以下に述べるテーブル特性に相当する演算式を用いて各重み要素を算出してもよい。
【００２６】
（ａ）において、縦軸に示す最終更新時間に基づく重み要素の値（縦軸に示す）は、図において横軸に示すノッチフィルタ４０がハウリング成分に割り当てられてからの適用時間（秒単位）の増加に応じて漸増する対数関数特性を持つ。これにより、最終更新時間が古いフィルタをより優先的に解放対象に選択することができる。最終更新時間が古いフィルタであるほど、これを解放した場合に、現在のハウリング発生状況（すなわち現在のハウリング除去状況）に影響を与える可能性はより少ないと考えることができるので、最終更新時間が古いフィルタをより優先的に解放対象に選択することは有意義である。
【００２７】
また、図５（ｂ）において、ゲイン及びＱに基づく重み要素は、ゲイン値に対してＱの逆数を乗算する計算式により求まる値であって、これはフィルタをかける範囲に相関する値である。前記フィルタをかける範囲とは、（例えば前記図４（ｂ）に示すノッチフィルタのフィルタ特性から明らかな通り、ゲインの大きさとＱの値に応じた周波数帯域幅とに応じて定まる中心周波数を中心とした漏斗状の範囲に相当する。図５（ｂ）に示す計算式は、フィルタをかける範囲に正確に対応する値を求める式ではないが、該フィルタをかける範囲に相関する値さえ求まれば重み要素として利用するのに差し支えはない。なお、図示計算式において、ゲイン値に対してＱの逆数を乗算しているのは、パラメータ「Ｑ」の設定値が大きいほど狭い周波数帯域幅を表す（Ｑの数値と周波数帯域幅は反比例している）ためである。このゲイン及びＱに基づく重み要素は、該フィルタをかける範囲が広いほど、値が大きくなる、すなわち当該フィルタ４０がより優先的に解放の対象となる。これにより、ノッチフィルタをかける範囲が鋭く絞られていないもの、つまり、ハウリング周波数除去精度の鈍いフィルタは、より優先的に解放対象とし、特定のハウリング周波数だけに鋭利に適用されているものは残すようにできる。このことはノッチフィルタによるハウリングキャンセルの効率、あるいは、ハウリング成分に関係のない周波数帯には可及的影響を与えないようにすること、という点で有益である。
【００２８】
また、図５（ｃ）において、横軸に中心周波数の設定値（Ｈｚ単位）を示し、縦軸に該中心周波数に基づく重み要素の値を示している。（ｃ）に示すとおり、中心周波数に基づく重み要素は、聴覚感度の低い低周波数付近又は高周波数付近で大きい値とし、聴覚感度の比較的高い周波数範囲について重み要素の値を小さくすることで、聴覚感度の低い周波数範囲に割り当てられたフィルタから優先的に解放対象とするようにしている。これにより、聴覚感度が比較的高く、従って、ハウリング除去がより重要となるハウリング成分に影響を与えないようにすることができる。
【００２９】
なお、上記図５（ａ）〜（ｃ）に示す各重み要素の特性は一例であって、図示の例に限らない。たとえば、（ａ）に示す最終更新時間に基づく重み要素の特性は、図に示すような曲線状の対数関数特性に限らず、適用時間に対して直線的に漸増特性など、その他適宜の特性を持つものであっても差し支えない。また、（ｂ）において、ゲイン及びＱに基づく重み要素を求める式は図示の例に限らず、ゲイン及び／又はＱに基づきフィルタをかける範囲に相関する値を求める式であれば、どのようなものであってもよい。また、この実施例では、ゲイン及びＱの双方に基づき１つの重み要素を求める例を説明したが、ゲインに基づく重み要素とＱに基づく重み要素とをそれぞれ求めるようにしてもよい。また、（ｃ）に示す中心周波数に対する重み要素の特性についても図示の例に限定されない。また、図５（ａ）〜（ｃ）に一例を示した各重み要素の特性は、ユーザが任意に設定できてもよい。
【００３０】
図６は、図４（ａ）に示す各ノッチフィルタ管理テーブルＴ１〜Ｔ４に基づき、各フィルタＮ１〜Ｎ４の重みを算出した結果を示す表である。最終更新時間に基づく重み要素、中心周波数に基づく重み要素、並びに、ゲイン及びＱに基づく重み要素は、図５（ａ）〜（ｃ）に示すテーブル構成に従って求めた値であり、フィルタ全体の重みは上記計算式（１）を用いて求めた。図６に示す例では、フィルタＮ１の重みが最大となっているので、フィルタＮ１が解放対象として選択されることになる。
【００３１】
なお、フィルタ全体の重みを算出する別の方法として、下記計算式（２）に示すとおり、最終更新時間に基づく重み要素、中心周波数に基づく重み要素、並びに、ゲイン及びＱに基づく重み要素のそれぞれに対して、さらに重み係数を乗算するようにしてもよい。
フィルタの重み＝（最終更新時間の重み＊係数ａ）＊（中心周波数の重み＊係数ｂ）＊（ゲイン及びＱの重み＊係数ｃ）・・・（式２）
なお、上記式（２）において、各重み要素に乗じる係数ａ〜係数ｃは、解放対象の判断要素としていずれのパラメータを重視するかに応じて適宜に重み付けしてよい。また、各重み要素に乗じる係数ａ〜係数ｃの各重み付けをユーザが任意に設定できてもよい。
【００３２】
また、上記計算式（１）又は（２）のいずれの算出方法を適用する場合であっても、解放対象の判断に使用する（つまり計算に用いる）重み要素は、上記３つのうちのいずれかを適宜選択的に組み合わせてもよいし、該選択的組み合わせをユーザが任意に行えるようにしてもよい。また、フィルタの重み算出方法は、上記計算式（１）又は（２）の方法に限定されるものではなく、各重み要素乃至その適宜の組み合わせを用いてフィルタ毎の重みを評価できさえすればよい。要するに、フィルタ毎の重みの算出方法は、パラメータ毎の重み要素の組み合わせ、計算方法、係数の重み付け等に応じて、種々のバリエーションが可能である。
【００３３】
図７は、この実施例に係るハウリング除去装置１が実行するハウリング除去のためのメイン処理の手順の一例を説明するためのフローチャートである。図７に示すメイン処理は、ユーザによる所定のキー操作に応じて起動してもよい。例えば、パネル部３の操作子２１において、ハウリング検出と除去を指示するための「ハウリングチェックボタン」を装備し、ユーザが該「ハウリングチェックボタン」を操作することで、当該メイン処理を起動させることができてよい。あるいは、予め定められた所定周期毎（例えば、１分間に１回毎など）に自動的に当該メイン処理を起動するようにしてもよい。
【００３４】
ステップＳ１において、ハウリング除去装置１の動作に関わる各種設定（環境）情報を取得する。ここで、全てのノッチフィルタ管理テーブル４１に格納されている各設定値を取得して、現時点での動作状況を把握する。また、この実施例に係るハウリング除去装置１において、ユーザは、パネル部３の操作子２１を用いて、（１）現在の全てのノッチフィルタ４０の設定のリセットを許可するか、（２）ノッチフィルタに対する新規ハウリング成分の再割り当てを許可するか、の２点についての設定を行うことができる。この実施例においては、ステップＳ１の設定情報の取得において、上記２点のユーザ設定に関する情報を取得する。
【００３５】
ステップＳ２において、前記ステップＳ１において取得したユーザ設定の情報（１）に基づき、既にハウリング成分に割り当てされて済みの全てのノッチフィルタ４０の設定をリセットするかどうか判断する。前記ユーザ設定によりノッチフィルタ４０のリセットが許可されている場合（ステップＳ２のｙｅｓ）、ステップＳ３において全てのノッチフィルタ４０の設定をリセットする。これにより、後述するハウリング検出により新規に検出されたハウリング成分に対して前記リセットしたノッチフィルタ４０を新規に割り当てることができるので、この実施例に係る再割り当てのためのフィルタ解放処理を行う必要はなくなる。また、前記ユーザ設定によりノッチフィルタ４０のリセットが許可されていない場合（ステップＳ２のｎｏ）、ステップＳ３のノッチフィルタ４０のリセットは行わずに、現在の割り当て済みのノッチフィルタ４０の設定を維持することができる。
【００３６】
ステップＳ４ではハウリング検出処理を行う。ハウリング検出処理は、ハウリング検知部３０が実行する処理であり、先に述べた通り、ピッチ検出、ＦＦＴ（高速フーリエ変換）、ＢＰＦ（バンドパスフィルタ）など、従来から公知のハウリング検出用のアルゴリズムを適用してよい。
【００３７】
前記ステップＳ４のハウリング検出処理によりハウリング周波数が発見されなかった場合（ステップＳ５のｎｏ）、ステップＳ６において、表示部２２を用いて、ハウリング周波数が発見されなかった旨の確認表示（例えば、ハウリング周波数が発見されなかった旨を通知する文字列表示等）を行い、当該メインルーチンを終了する。
【００３８】
前記ステップＳ４のハウリング検出処理によりハウリング周波数が発見された場合（ステップＳ５のｙｅｓ）、ステップＳ７において、前記ステップＳ１において取得したハウリング除去装置１の動作に関わる各種設定（環境）情報（ノッチフィルタ管理テーブル４１のデータ等）に基づき、当該ハウリング除去装置１に搭載されているノッチフィルタ４０の全てが、既に、ハウリング成分に割り当て済みであるかどうかを調べる。未割り当てのノッチフィルタ４０があれば当該ステップＳ７をｎｏに分岐して、後述するステップＳ１１に進む。前記ステップＳ３においてユーザ設定によりノッチフィルタ４０のリセットを行った場合は、全てのノッチフィルタ４０が未割り当て状態であるため、当該ステップＳ７をｎｏに分岐して、後述するステップＳ１１に進むことになる。
【００３９】
当該ハウリング除去装置１に搭載されているノッチフィルタ４０の全てが既にハウリング成分に割り当て済みであった場合（ステップＳ７のｙｅｓ）、ステップＳ８において、割り当て済みノッチフィルタ４０に対する新規ハウリング成分の再割り当てを許可するかどうか判断する。この再割り当て許可の判断は、前記ステップＳ１において取得したユーザ設定の情報（２）に基づき判断する。ユーザ設定により、割り当て済みノッチフィルタ４０に対する新規ハウリング成分の再割り当てを許可されている場合（ステップＳ８のｙｅｓ）、ステップＳ１０において図８を参照して後述する「フィルタ解放処理」を行う。また、ユーザ設定によりノッチフィルタ４０の再割り当てが許可されていない場合（ステップＳ８のｎｏ）は、ステップＳ９において、表示部２２を用いて、全てのノッチフィルタ４０がハウリング成分に割り当て済みである旨の警告表示（例えば、ハウリング周波数が発見されなかった旨を通知する文字列表示等）を行い、ノッチフィルタ４０の再割り当てを行わずに、当該メインルーチンを終了する。すなわち、ステップＳ４のハウリング検出処理にて新規に検出されたハウリング成分は除去せずに放置しておく。このように、再割り当て許可・不許可をユーザが設定できるようにすることで、ユーザの所望に応じて、ノッチフィルタ４０の再割り当てを行わせずに、現状のノッチフィルタ４０の割り当て状況を維持させることができる。
【００４０】
図８は「フィルタ解放処理」の手順の一例を示すフローチャートである。ステップＳ１２において、全ての割り当て済みノッチフィルタ４０に対応するフィルタ管理テーブル４１に格納されている各パラメータ設定値に基づき、各フィルタ４０毎の前記「重み」を算出する。フィルタ毎の重み算出方法は、一例として、図５（ａ）〜（ｃ）に示す各テーブルから求めた３つの重み要素を用いて、上記計算式（１）により、算出することができる。なお、フィルタ毎の重みの算出方法は、パラメータ毎の重み要素の組み合わせ、計算方法、係数の塩梅等に応じて、種々のバリエーションが可能であることは、上述の通りである。
【００４１】
ステップＳ１３では、前記ステップＳ１２において算出した各フィルタ毎の重みに基づき、最も重みの値の大きい（すなわち、解放対象となる）ノッチフィルタ４０を選択する。ステップＳ１４においては、前記ステップＳ１３において選択された解放対象のフィルタが複数あるかどうか、すなわち、複数のフィルタの重みが同値の最大値となっていないかどうかを調べる。解放対象のフィルタが複数あった場合（ステップＳ１４のｙｅｓ）、ステップＳ１５において、解放対象に選択された複数のフィルタの最終更新時間の設定値を比較して、最終更新時間の古いものを解放対象のフィルタに選択する。このステップＳ１５では、一例として、解放対象のフィルタ選択の判断に、最終更新時間を参照しているが、これに限らず、その他のパラメータ（中心周波数、ゲイン、Ｑなど）を参照するようにしてもよい。また、ステップＳ１５における解放対象のフィルタ選択に参照するパラメータの種類をユーザが設定できてもよい。ステップＳ１６においては、上記の処理により解放対象として選択されたノッチフィルタ４０を解放して、該解放されたフィルタ４０を未割り当て状態にする。
【００４２】
図７のメイン処理に戻ると、ステップＳ１１では、前記ステップＳ４にて新規に検出されたハウリング成分に対して、前記図８のステップＳ１６において解放されたノッチフィルタ４０を再割り当てする。すなわち、当該解放されたノッチフィルタ４０に対応するフィルタ管理テーブル４１において、前記ステップＳ４にて新規に検出されたハウリング成分に対応する中心周波数、ゲイン、Ｑの各パラメータ設定値を格納し、現在時刻を当該フィルタ４０の最終更新時刻にセットする。これにより、解放されたノッチフィルタ４０を新規に検出されたハウリング成分除去のために再利用することができる。また、前記ステップＳ７において、未割り当てのノッチフィルタ４０があった場合には、当該ステップＳ１１では、前記ステップＳ４にて新規に検出されたハウリング成分に対して、未割り当ての適宜のノッチフィルタ４０を割り当てればよい。そして、新規に検出されたハウリング成分に割り当てたノッチフィルタ４０を適用する（すなわち、ＤＳＰ１３に当該テーブル４１の内容を反映させる）制御を行うことで、該新規に検出されたハウリング成分を除去することができる。
【００４３】
以上説明した通り、この発明によれば、当該ハウリング除去装置１に搭載されているノッチフィルタ４０の全てが既にハウリング成分に割り当て済みであった場合に、各フィルタ毎の重みを算出することで、該各フィルタ毎の重みに基づき、解放対象とするフィルタを自動的に選択し、該選択されたフィルタに新規に検出されたハウリング成分を再割り当てすることができる。従って、既に除去しているハウリング成分にできるだけ影響を与えずに、効率よく新規に検出されたハウリング成分を除去することができるようになるという優れた効果を奏する。また、各フィルタ毎の重みは、各フィルタ毎の最終更新時刻（適用時間）、中心周波数、ゲイン及びＱの各パラメータに基づき算出されるので、各フィルタ毎の重みを複合的に評価することができる。従って、現時点でのハウリング除去状況にできるだけ影響を与えずに、効率的且つ効果的に、新規に検出されたハウリング成分をノッチフィルタに再割り当てすることができるという優れた効果を奏する。
【００４４】
なお、上記実施例において、この発明に係るハウリング除去装置を装置の発明として構成及び実施する例について説明したが、これに限らず、コンピュータをこの発明に係るハウリング除去装置として動作させるソフトウェアプログラムによって、この発明を構成及び実施してもよい。
【図面の簡単な説明】
【００４５】
【図１】この発明の一実施例に係るハウリング除去装置の構成を機能的にブロック図。
【図２】同実施例に係るハウリング除去装置の電気的ハードウェア構成を示すブロック図。
【図３】同実施例に係るハウリング除去装置のフィルタ管理テーブルの構成例を示す図
【図４】同実施例に係るハウリング除去装置の一実装例であって、（ａ）は４つのフィルタＮ１〜Ｎ４に対応するフィルタ管理テーブルＴ１〜Ｔ４の記述例、（ｂ）は、各フィルタＮ１〜Ｎ４のフィルタ特性と、対応するハウリング成分Ｈ１〜Ｈ４とを模擬的に示す図。
【図５】同実施例に係るハウリング除去装置において、フィルタ再割り当てのための重み要素を求めるテーブル構成例であって、（ａ）は最終更新時刻に基づく重み要素、（ｂ）はゲイン及びＱに基づく重み要素、（ｃ）は中心周波数に基づく重み要素。
【図６】前記図４の実装例において算出されたフィルタ毎の重み。
【図７】同実施例に係るハウリング除去装置のメイン処理の手順の一例を示すフローチャート。
【図８】同実施例に係るハウリング除去装置におけるフィルタ解放処理の手順の一例を示すフローチャート。
【符号の説明】
【００４６】
１  ハウリング除去装置、２  音響信号処理部、３  制御部、４  パネル部、５  マイク、６  アンプ、７  スピーカ、８  入力ゲイン、９  出力ゲイン、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  信号処理回路、１４  音響インターフェース、１５  通信インターフェース、１６  操作子検出回路、１７  表示制御回路、１８  通信バス、１９  音響信号入出力機器、２０  外部機器、２１  操作子、２２  表示器、３０  ハウリング検知部、４０  ノッチフィルタ、４１  フィルタ管理テーブル
【図１】
2008005305.tif 000003
【図２】
2008005305.tif 000004
【図３】
2008005305.tif 000005
【図４】
2008005305.tif 000006
【図５】
2008005305.tif 000007
【図６】
2008005305.tif 000008
【図７】
2008005305.tif 000009
【図８】
2008005305.tif 000010