(57)【特許請求の範囲】
【請求項１】
音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とを用いたハウリング検出方法であって、
前記送信信号は前記音響エコーキャンセラによってマイク入力信号に対して前記受信信号に基づいてエコー除去が施されて得られた信号であり、かつ前記受信信号は前記回線エコーキャンセラによって回線入力信号に対して前記送信信号に基づいてエコー除去が施されて得られた信号であり、
前記送信信号のゼロクロスをカウントする第１ステップ、
前記受信信号のゼロクロスをカウントする第２ステップ、および
前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とに基づいてハウリングの有無を判定する第３ステップを備える、ハウリング検出方法。
【請求項２】
前記第３ステップは、前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とが略等しいか否かを判断するステップ、および前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続するときハウリングであると判定するステップを含む、請求項１に記載のハウリング検出方法。
【請求項３】
音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とを用いたハウリング検出方法であって、
前記送信信号は前記音響エコーキャンセラによってマイク入力信号に対して前記受信信号に基づいてエコー除去が施されて得られた信号であり、かつ前記受信信号は前記回線エコーキャンセラによって回線入力信号に対して前記送信信号に基づいてエコー除去が施されて得られた信号であり、
前記送信信号と前記受信信号との相関値を算出する第１ステップ、および
前記相関値に基づいてハウリングの有無を判定する第２ステップを備える、ハウリング検出方法。
【請求項４】
前記第２ステップは、前記相関値が所定の閾値以上であるか否かを判断するステップ、および前記相関値が所定の閾値以上であるときハウリングであると判定するステップを含む、請求項３に記載のハウリング検出方法。
【請求項５】
音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とを用いたハウリング検出方法であって、
前記送信信号は前記音響エコーキャンセラによってマイク入力信号に対して前記受信信号に基づいてエコー除去が施されて得られた信号であり、かつ前記受信信号は前記回線エコーキャンセラによって回線入力信号に対して前記送信信号に基づいてエコー除去が施されて得られた信号であり、
前記送信信号のゼロクロスをカウントする第１ステップ、
前記受信信号のゼロクロスをカウントする第２ステップ、
前記送信信号と前記受信信号との相関値を算出する第３ステップ、ならびに
前記送信信号のゼロクロスのカウント値、前記受信信号のゼロクロスのカウント値および前記相関値に基づいてハウリングの有無を判定する第４ステップを備える、ハウリング検出方法。
【請求項６】
前記第４ステップは、前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とが略等しいか否かを判断するステップ、前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続したか否かを判断するステップ、前記相関値が所定の閾値以上であるか否かを判断するステップ、および前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続しかつ前記相関値が所定の閾値以上であるときハウリングであると判定するステップを備える、請求項５に記載のハウリング検出方法。
【請求項７】
音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とが与えられるハウリング検出装置であって、
前記送信信号は前記音響エコーキャンセラによってマイク入力信号に対して前記受信信号に基づいてエコー除去が施されて得られた信号であり、かつ前記受信信号は前記回線エコーキャンセラによって回線入力信号に対して前記送信信号に基づいてエコー除去が施されて得られた信号であり、
前記送信信号のゼロクロスをカウントする第１カウント手段、
前記受信信号のゼロクロスをカウントする第２カウント手段、
前記送信信号と前記受信信号との相関値を算出し、前記相関値を閾値と比較する相関値算出手段、
前記送信信号のゼロクロスのカウント値と前記受信信号のゼロクロスのカウント値とを比較する比較手段、ならびに
前記相関値算出手段での比較結果および前記比較手段での比較結果に基づいてハウリングの有無を判定するハウリング判定手段を備える、ハウリング検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はハウリング検出方法およびハウリング検出装置に関し、特にたとえばハンズフリー電話やテレビ会議システムなどでフルデュプレクスを実現するために利用されるエコーキャンセラに用いられる、ハウリング検出方法およびハウリング検出装置に関する。
【０００２】
【従来の技術】
一般に、ハンズフリー電話やテレビ会議システムなどには、スピーカからマイクロホンに回り込む音響エコーや回線側から回り込む回線エコーを除去するため、エコーキャンセラが使用される。しかし、相手電話機のオンフック等で回線側のインピーダンスが急激に変化し、回線用エコーキャンセラがこれに追随できずハウリングが発生する場合がある。
【０００３】
そこで、ハウリングの発生を回避するために、図１３に示すようなハウリング検出装置１が提案されている（特開平７−５８６７４の図１２参照）。
【０００４】
ハウリング検出装置１は、位相利得シフト部２ａと減算器２ｂとからなるエコーキャンセラ２と、第１の比較回路３ａ、第２の比較回路３ｂおよびアンドゲート３ｃによって構成される単一トーン信号検出部３とを含む。
【０００５】
位相利得シフト部２ａでは、送出信号ｘ（ｋ）の位相および利得をシフトした信号が生成され、減算器２ｂでは、ハイブリッド回路４から送出されたエコー信号ｙ（ｋ）から位相利得シフト部２ａの出力信号が差し引かれる。
【０００６】
そして、回線エコーキャンセラ５に含まれる減算器５ａの出力信号である残差信号ｅ１（ｋ）と減算器２ｂの出力信号である残差信号ｅ２（ｋ）とは第１の比較回路３ａに入力され、比較される。
【０００７】
第１の比較回路３ａでは、絶対値回路３ｄによって残差信号ｅ１（ｋ）のレベルが検出され、ローパスフィルタ３ｅによって高周波成分が除去され、コンパレータ３ｆに入力される。また、絶対値回路３ｇによって残差信号ｅ２（ｋ）のレベルが検出され、ローパスフィルタ３ｈによって高周波成分が除去され、アンプ３ｉを介してコンパレータ３ｆに入力される。
【０００８】
ここで、エコーパスの大幅な変動等によって回線用エコーキャンセラ５による打ち消し量が劣化しハウリングが発生すると、エコーキャンセラ２では、ハウリングが単一トーンからなる狭帯域信号であるため、回線エコーキャンセラ５がエコーパスの変動に追随するより早く、ハウリングのみを打ち消す打ち消し量を増大させる。この打ち消し量が単一トーン信号検出部３によって検出される。
【０００９】
すなわち、第１の比較回路３ａでは、減算器５ａの残差信号ｅ１（ｋ）のレベルが絶対値回路３ｄによって検出され、減算器２ｂの残差信号ｅ２（ｋ）のレベルが絶対値回路３ｇによって検出されており、残差信号ｅ２（ｋ）のレベルが残差信号ｅ１（ｋ）のレベルよりｇｄＢ小さくなると、コンパレータ３ｆの出力が”Ｈ”となる。
【００１０】
また、送出信号ｘ（ｋ）と閾値Ｘｔｈとを比較する第２の比較回路３ｂでは、送出信号ｘ（ｋ）のレベルが絶対値回路３ｊによって検出され、ローパスフィルタ３ｋによって高周波成分が除去された後、コンパレータ３ｌに入力される。送出信号ｘ（ｋ）のレベルが閾値Ｘｔｈを越えると、コンパレータ３ｌの出力が”Ｈ”となる。そして、コンパレータ３ｆおよび３ｌの出力がともに”Ｈ”となると、これらの出力の論理積をとるアンドゲート３ｃの出力が”Ｈ”となり、ハウリング検出信号（ＨＯＷＬ）が得られる。
【００１１】
このように、ハウリング検出装置１においては、回線エコーキャンセラ５がハウリングに追随するよりも早くこれを打ち消すエコーキャンセラ２を付加し、マイクロホンから入力された信号が単一トーンであるかどうかを調べ、かつ送出信号ｘ（ｋ）のレベルが閾値Ｘｔｈ以上か否かを判断することで、ハウリングを検出していた。
【００１２】
【発明が解決しようとする課題】
しかし、このようなハウリング検出装置１では、一定レベル以下のハウリングや、波形の歪みによって単一トーンとして検出できないハウリングに対しては、誤検出する場合があった。
【００１３】
それゆえにこの発明の主たる目的は、精度よくハウリングを検出できるハウリング検出方法およびハウリング検出装置を提供することである。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載のハウリング検出方法は、音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とを用いたハウリング検出方法であって、送信信号は音響エコーキャンセラによってマイク入力信号に対して受信信号に基づいてエコー除去が施されて得られた信号であり、かつ受信信号は回線エコーキャンセラによって回線入力信号に対して送信信号に基づいてエコー除去が施されて得られた信号であり、送信信号のゼロクロスをカウントする第１ステップ、受信信号のゼロクロスをカウントする第２ステップ、および送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とに基づいてハウリングの有無を判定する第３ステップを備える。
【００１５】
請求項２に記載のハウリング検出方法は、請求項１に記載のハウリング検出方法において、第３ステップは、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しいか否かを判断するステップ、および送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続するときハウリングであると判定するステップを含むものである。
【００１６】
請求項３に記載のハウリング検出方法は、音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とを用いたハウリング検出方法であって、送信信号は音響エコーキャンセラによってマイク入力信号に対して受信信号に基づいてエコー除去が施されて得られた信号であり、かつ受信信号は回線エコーキャンセラによって回線入力信号に対して送信信号に基づいてエコー除去が施されて得られた信号であり、送信信号と受信信号との相関値を算出する第１ステップ、および相関値に基づいてハウリングの有無を判定する第２ステップを備える。
【００１７】
請求項４に記載のハウリング検出方法は、請求項３に記載のハウリング検出方法において、第２ステップは、相関値が所定の閾値以上であるか否かを判断するステップ、および相関値が所定の閾値以上であるときハウリングであると判定するステップを含むものである。
【００１８】
請求項５に記載のハウリング検出方法は、音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とを用いたハウリング検出方法であって、送信信号は音響エコーキャンセラによってマイク入力信号に対して受信信号に基づいてエコー除去が施されて得られた信号であり、かつ受信信号は回線エコーキャンセラによって回線入力信号に対して送信信号に基づいてエコー除去が施されて得られた信号であり、送信信号のゼロクロスをカウントする第１ステップ、受信信号のゼロクロスをカウントする第２ステップ、送信信号と受信信号との相関値を算出する第３ステップ、ならびに送信信号のゼロクロスのカウント値、受信信号のゼロクロスのカウント値および相関値に基づいてハウリングの有無を判定する第４ステップを備える。
【００１９】
請求項６に記載のハウリング検出方法は、請求項５に記載のハウリング検出方法において、第４ステップは、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しいか否かを判断するステップ、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続したか否かを判断するステップ、相関値が所定の閾値以上であるか否かを判断するステップ、および送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続しかつ相関値が所定の閾値以上であるときハウリングであると判定するステップを備える。
【００２０】
請求項７に記載のハウリング検出装置は、音響エコーキャンセラから出力される相手方への送信信号と、回線エコーキャンセラから出力される相手方からの受信信号とが与えられるハウリング検出装置であって、送信信号は音響エコーキャンセラによってマイク入力信号に対して受信信号に基づいてエコー除去が施されて得られた信号であり、かつ受信信号は回線エコーキャンセラによって回線入力信号に対して送信信号に基づいてエコー除去が施されて得られた信号であり、送信信号のゼロクロスをカウントする第１カウント手段、受信信号のゼロクロスをカウントする第２カウント手段、送信信号と受信信号との相関値を算出し、相関値を閾値と比較する相関値算出手段、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とを比較する比較手段、ならびに相関値算出手段での比較結果および比較手段での比較結果に基づいてハウリングの有無を判定するハウリング判定手段を備える。
【００２１】
請求項１に記載のハウリング検出方法では、単一トーンが検出されるのではなく、送信信号のゼロクロスおよび受信信号のゼロクロスがそれぞれカウントされ、それらに基づいてハウリングが検出される。ハウリングが発生した場合、それぞれのゼロクロスのカウント値が略等しくなるという点に鑑み、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが比較され、それらが略等しくなればハウリングが発生したと判定される。
【００２２】
請求項２に記載のハウリング検出方法では、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しいか否かが判断され、さらに、それらが略等しい状態が所定時間以上継続すればハウリングが発生したと判定される。このようにゼロクロスのカウント値が略等しい状態の継続時間を考慮することによって、ハウリングの検出精度を向上できる。
【００２３】
請求項３に記載のハウリング検出方法では、単一トーンが検出されるのではなく、ハウリングが発生した場合に送信信号と受信信号との相関値が１に近づくという点に鑑み、送信信号と受信信号との相関値が算出され、その相関値に基づいてハウリングが検出される。
【００２４】
請求項４に記載のハウリング検出方法では、その相関値と閾値との比較によって速やかにハウリングが検出される。
【００２５】
請求項５に記載のハウリング検出方法では、ハウリングが発生した場合、それぞれのゼロクロスのカウント値が略等しくなり、かつ送信信号と受信信号との相関値が１に近づくという点に鑑み、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値との比較結果、および送信信号と受信信号との相関値に基づいて、ハウリングが検出される。このように、ゼロクロスのカウント値および相関値を考慮することによって、ハウリングの検出精度を向上できる。
【００２６】
請求項６に記載のハウリング検出方法では、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しい状態が所定時間以上継続し、かつ送信信号と受信信号との相関値が閾値以上であれば、ハウリングが発生したと判定されるので、ハウリング検出を精度よく行える。
【００２７】
請求項７に記載のハウリング検出装置では、ハウリングが発生した場合、それぞれのゼロクロスのカウント値が略等しくなり、また送信信号と受信信号との相関値が１に近づくという点に鑑み、ゼロクロスのカウント値の比較結果および相関値と閾値との比較結果に基づいて、ハウリングの有無を判定するので、ハウリングの検出精度を向上できる。
【００２８】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
【００２９】
図１および図２を参照して、この発明の一実施形態のハウリング検出器を含むエコー除去装置１０は、ＤＳＰ１２、ＲＯＭ１４およびＲＡＭ１６を用いて構成される。
【００３０】
ＤＳＰ１２には、ゼロクロスのカウント値を比較する場合には、ゼロクロスのカウント値に基づくハウリングの判定結果を示すフラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇ（０：ハウリング未検出、１：ハウリング検出）が格納され、相関値を算出する場合には、相関値に基づくハウリングの判定結果を示すフラグｓｏｕｋａｎ＿ｆｌｇ（０：ハウリング未検出、１：ハウリング検出）が格納される。
【００３１】
ＲＯＭ１４には、エコー除去装置１０の動作を制御するためのプログラムや予め設定されたデータが格納される。ＲＯＭ１４に格納されるデータとしては、ゼロクロスのカウント値を比較する場合には、ノイズ等の影響によるゼロクロスのゆれを補う定数ｎ（たとえば、１など）、受信信号および送信信号のそれぞれのゼロクロスのカウント値からハウリングと判断するための閾値ＴＨＬ１が含まれ、相関値を算出する場合には、Ｍ個のデータに対して相関値を求めることを示す定数Ｍ、ハウリング検出のための閾値ｓｏｕｋａｎ＿ｔｈｌが含まれる。
【００３２】
ＲＡＭ１６には、ＤＳＰ１２での演算によって得られた計算値等のデータが一時的に格納される。ＲＡＭ１６に格納されるデータとしては、ゼロクロスのカウント値を比較する場合には、受信信号および送信信号のそれぞれのゼロクロスのカウント値が略等しい状態の継続時間を示すカウント値ｃｏｕｎｔｅｒ１、ゼロクロスカウント部３８（後述）用の入力信号のバッファＸ＿ｉｎ１，Ｘ＿ｉｎ＿ｂａｃｋ１、前回ゼロクロスと今回ゼロクロスとの間のサンプル数のカウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１、決定したカウント値を保持するバッファＣｏｕｎｔｅｒ＿ｂａｃｋ１、ゼロクロスカウント部４０（後述）用の入力信号のバッファＸ＿ｉｎ２，Ｘ＿ｉｎ＿ｂａｃｋ２、前回ゼロクロスと今回ゼロクロスとの間のサンプル数のカウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２、決定したカウント値を保持するバッファＣｏｕｎｔｅｒ＿ｂａｃｋ２が含まれる。また、ＲＡＭ１６には、相関値を算出する場合には、算出された相関値が格納される変数ｓｏｕｋａｎ＿ｖａｌ、相関値の算出の際に用いるカウント値ｉ，ｊ、相関値算出の際の分子が入力される変数ｖａｌ１、相関値算出の際の分母が入力される変数ｖａｌ２、送信信号バッファｓｅｎｄ＿ｂｕｆ、受信信号バッファｒｅｃ＿ｂｕｆが含まれる。なお、定数ｎ、閾値ＴＨＬ１、定数Ｍ、閾値ｓｏｕｋａｎ＿ｔｈｌは、ＲＡＭ１６に格納されてもよい。
【００３３】
ＲＯＭ１４やＲＡＭ１６に格納されたプログラム、データを用いてＤＳＰ１２を動作させることによって、エコー除去装置１０が実現される。図２は、エコー除去装置１０の機能ブロック図である。
【００３４】
図２に示すエコー除去装置１０は、音響エコーキャンセラ１８、回線エコーキャンセラ２０およびハウリング検出器２２を含む。
【００３５】
マイクロホン２４には近端話者音声と音響エコーとが入力され、マイクロホン２４からのマイク入力信号がＡ／Ｄ変換器２６によってディジタル化されて、音響エコーキャンセラ１８に与えられる。また、音響エコーキャンセラ１８には、回線エコーキャンセラ２０から出力される受信信号が参照入力信号として与えられ、参照入力信号を用いて擬似エコー信号が算出される。そして、Ａ／Ｄ変換器２６からの信号から擬似エコー信号が減算され、その除去結果すなわち送信信号がＤ／Ａ変換器２８によってアナログ変換された後、回線出力信号として出力される。音響エコーキャンセラ１８からの送信信号は、回線エコーキャンセラ２０およびハウリング検出器２２にも与えられる。
【００３６】
回線エコーキャンセラ２０では、送信信号を参照入力信号として用いることにより擬似エコー信号が算出される。また、Ａ／Ｄ変換器３０には、遠端話者音声に回線エコーが加算された回線入力信号が入力され、Ａ／Ｄ変換器３０によってディジタル化されて回線エコーキャンセラ２０に与えられる。回線エコーキャンセラ２０では、この信号から擬似エコー信号が減算され、その除去結果すなわち受信信号がＤ／Ａ変換器３２によってアナログ変換された後、スピーカ３４からスピーカ出力信号として出力される。回線エコーキャンセラ２０からの受信信号は、上述のように音響エコーキャンセラ１８に与えられる他、ハウリング検出器２２にも与えられる。
【００３７】
ハウリング検出器２２は、たとえば図３に示すように構成され、送信信号および受信信号に基づいてハウリングを検出する。
【００３８】
ハウリング検出器２２は、送信信号のゼロクロスおよび受信信号のゼロクロスをそれぞれカウントし、比較するためのゼロクロス比較部３６を含み、ゼロクロス比較部３６のゼロクロスカウント部３８によって送信信号のゼロクロスがカウントされ、ゼロクロスカウント部４０によって受信信号のゼロクロスがカウントされる。そして、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが比較部４２によって比較され、その比較結果に基づいて、ハウリング判定部４４がハウリングの有無を判定する。
【００３９】
このようなエコー除去装置１０のハウリング検出器２２によるハウリング検出動作について、図４〜図６を参照して説明する。
【００４０】
図４を参照して、ハウリング検出器２２の全体動作を説明する。
【００４１】
まず、ＤＳＰ１２に格納されるフラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇや、ＲＡＭ１６に格納されるカウント値ｃｏｕｎｔｅｒ１、ゼロクロスカウント部３８用の入力信号のバッファＸ＿ｉｎ１，Ｘ＿ｉｎ＿ｂａｃｋ１、カウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ１、ゼロクロスカウント部４０用の入力信号のバッファＸ＿ｉｎ２，Ｘ＿ｉｎ＿ｂａｃｋ２、カウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ２等が初期化される（ステップＳ１）。そして、ゼロクロス比較部３６によって受信信号のゼロクロスのカウント値および送信信号のゼロクロスのカウント値が比較されて、フラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇが設定され（ステップＳ３）、その比較結果すなわちフラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇに基づいてハウリング判定部４４によってハウリングの有無が判定される（ステップＳ５）。
【００４２】
ついで、図５を参照して、ステップＳ３の動作について説明する。
【００４３】
まず、ゼロクロスカウント部３８によって送信信号のゼロクロスがカウントされ（ステップＳ１１）、ゼロクロスカウント部４０によって受信信号のゼロクロスがカウントされる（ステップＳ１３）。ここで、ゼロクロスのカウントは、信号の前回ゼロクロスと今回ゼロクロスとの間のサンプル数をカウントすることによって行われ、ゼロクロス間の時間が算出される。
【００４４】
そして、（受信信号のゼロクロスのカウント値）≧（送信信号のゼロクロスのカウント値−ｎ）か否かが判断され（ステップＳ１５）、（受信信号のゼロクロスのカウント値）≧（送信信号のゼロクロスのカウント値−ｎ）であれば、（受信信号のゼロクロスのカウント値）≦（送信信号のゼロクロスのカウント値＋ｎ）であるか否かが判断される（ステップＳ１７）。（受信信号のゼロクロスのカウント値）≦（送信信号のゼロクロスのカウント値＋ｎ）であれば、受信信号のゼロクロスのカウント値と送信信号のゼロクロスのカウント値とは略等しいと判断され、カウント値ｃｏｕｎｔｅｒ１≧ＴＨＬ１か否かが判断される（ステップＳ１９）。ｃｏｕｎｔｅｒ１≧ＴＨＬ１であれば、受信信号のゼロクロスのカウント値と送信信号のゼロクロスのカウント値とが略等しい時間が所定時間以上継続しているので、ハウリングと判定され、Ｚｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇ＝１に設定され（ステップＳ２１）、終了する。ステップＳ１９において、ｃｏｕｎｔｅｒ１≧ＴＨＬ１でなければ、まだハウリングとは判定できないとして、カウント値ｃｏｕｎｔｅｒ１がインクリメントされ（ステップＳ２３）、終了する。
【００４５】
一方、ステップＳ１５またはステップＳ１７のいずれかが”ＮＯ”であれば、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とは、略等しいとはいえないと判断され、フラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇおよびカウント値ｃｏｕｎｔｅｒ１がクリア（Ｚｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇ＝０、ｃｏｕｎｔｅｒ１＝０）され（ステップＳ２５）、終了する。
【００４６】
ついで、図６を参照して、ステップＳ１１の動作について説明する。
【００４７】
まず、ゼロクロスカウント部３８によって、入力信号すなわち送信信号がサンプリングされ、バッファＸ＿ｉｎ１に格納される（ステップＳ３１ａ）。そして、バッファＸ＿ｉｎ１の符号と、その直前にサンプリングされた送信信号の符号すなわちバッファＸ＿ｉｎ＿ｂａｃｋ１の符号とが等しいか否かが判断され（ステップＳ３３ａ）、両者が等しければカウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１がインクリメントされ（ステップＳ３５ａ）、バッファＸ＿ｉｎ１の値がバッファＸ＿ｉｎ＿ｂａｃｋ１に格納される（ステップＳ３７ａ）。そして、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ１に保持されたカウント値が出力され（ステップＳ３９ａ）、終了する。
【００４８】
一方、ステップＳ３３ａが”ＮＯ”であれば、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ１にカウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１が格納され、送信信号のゼロクロスのカウント値が決定されるとともに、カウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１がクリア（Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１＝０）され（ステップＳ４１ａ）、ステップＳ３７ａに進む。
【００４９】
また、図７を参照して、ステップＳ１３の動作について説明する。
【００５０】
まず、ゼロクロスカウント部４０によって、入力信号すなわち受信信号がサンプリングされ、バッファＸ＿ｉｎ２に格納される（ステップＳ３１ｂ）。そして、バッファＸ＿ｉｎ２の符号と、その直前にサンプリングされた受信信号の符号すなわちバッファＸ＿ｉｎ＿ｂａｃｋ２の符号とが等しいか否かが判断され（ステップＳ３３ｂ）、両者が等しければカウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２がインクリメントされ（ステップＳ３５ｂ）、バッファＸ＿ｉｎ２の値がバッファＸ＿ｉｎ＿ｂａｃｋ２に格納される（ステップＳ３７ｂ）。そして、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ２に保持されたカウント値が出力され（ステップＳ３９ｂ）、終了する。
【００５１】
一方、ステップＳ３３ｂが”ＮＯ”であれば、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ２にカウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２が格納され、受信信号のゼロクロスのカウント値が決定されるとともに、カウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２がクリア（Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２＝０）され（ステップＳ４１ｂ）、ステップＳ３７ｂに進む。
【００５２】
このようなハウリング検出器２２によれば、送信信号のゼロクロスのカウント値と受信信号のゼロクロスのカウント値とが略等しいか否かを判断し、両者が略等しい状態が所定時間以上継続すればハウリングと判定するので、ハウリングのレベルに依存することなく、低レベルのハウリングや、波形の歪みによって単一トーンとして検出できないハウリングであっても、簡単に精度よくハウリングを検出できる。
【００５３】
また、エコー除去装置１０に含まれるハウリング検出器としては、図８に示すような、相関値に基づいてハウリングを検出するハウリング検出器２２ａが用いられてもよい。
【００５４】
ハウリング検出器２２ａは、相関値算出部４６を含む。相関値算出部４６では、送信信号バッファｓｅｎｄ＿ｂｕｆおよび受信信号バッファｒｅｃ＿ｂｕｆ内に格納されている信号に基づいて数１によって相関値が算出され、その相関値が閾値と比較される。その比較結果に基づいて、ハウリング判定部４４ａがハウリングの有無を判定する。
【００５５】
【数１】
0003553792.tif 000002
【００５６】
相関値算出部４６では、数１の計算をｊ＝０からｊ＝Ｍ−１まで行い、その結果の最大の値を相関値とする。相関値は、０〜１．０の範囲の値をとり、相関値が、予め設定された閾値ｓｏｕｋａｎ＿ｔｈｌ以上のとき、ハウリング状態と判定する。なお、上述したように、数１において、ｓｅｎｄ＿ｂｕｆは送信信号バッファを、ｒｅｃ＿ｂｕｆは受信信号バッファを示す。
【００５７】
このようなハウリング検出器２２ａによるハウリング検出動作について、図９および図１０を参照して説明する。
【００５８】
図９を参照して、ハウリング検出器２２ａの全体動作を説明する。
【００５９】
まず、ＤＳＰ１２に格納されるフラグｓｏｕｋａｎ＿ｆｌｇや、ＲＡＭ１６に格納される変数ｓｏｕｋａｎ＿ｖａｌ、ｖａｌ１、ｖａｌ２、カウント値ｉ，ｊ、送信信号バッファｓｅｎｄ＿ｂｕｆ、受信信号バッファｒｅｃ＿ｂｕｆ等が初期化される（ステップＳ５１）。そして、相関値検出部４６によって、数１を用いて相関値が算出され、その相関値が閾値と比較され、フラグｓｏｕｋａｎ＿ｆｌｇが設定される（ステップＳ５３）。その比較結果すなわちフラグｓｏｕｋａｎ＿ｆｌｇに基づいてハウリング判定部４４ａによってハウリングの有無が判定され（ステップＳ５５）、ステップＳ５３に戻る。
【００６０】
ついで、図１０を参照して、ステップＳ５３の動作について説明する。
【００６１】
まず、変数soukan_valおよびカウント値ｊが初期化（soukan_val＝０、ｊ＝０）され（ステップＳ６１）、カウント値ｉ、変数val１およびval２が初期化（ｉ＝０、val１＝０、val２＝０）される（ステップＳ６３）。そして、送信信号および受信信号がそれぞれ送信信号バッファsend_bufおよび受信信号バッファrec_bufに格納され、送信信号バッファsend_bufの値および受信信号バッファrec_bufの値に基づいて、数１の分子の値すなわち変数val１および分母の値すなわち変数val２が積算されていく（ステップＳ６５）。ｉがインクリメントされ（ステップＳ６７）、ｉ≦Ｍ−１か否かが判断される（ステップＳ６９）。ｉ＝Ｍ−１までステップＳ６５およびＳ６７が繰り返される。ｉ＝Ｍ−１になれば、数１の分子および分母は、それぞれ変数val１およびval２をＭ個積算した値となる。
【００６２】
そして、ステップＳ６９が”ＮＯ”すなわちｉ＞Ｍ−１になれば、（ｖａｌ１／ｖａｌ２）＞ｓｏｕｋａｎ＿ｖａｌか否かが判断され（ステップＳ７１）、（ｖａｌ１／ｖａｌ２）＞ｓｏｕｋａｎ＿ｖａｌであれば、変数ｓｏｕｋａｎ＿ｖａｌが（ｖａｌ１／ｖａｌ２）に更新され（ステップＳ７３）、ステップＳ７５に進む。ステップＳ７１において、（ｖａｌ１／ｖａｌ２）＞ｓｏｕｋａｎ＿ｖａｌでなければ、変数ｓｏｕｋａｎ＿ｖａｌは更新されることなく、ステップＳ７５に進む。このようにして変数ｓｏｕｋａｎ＿ｖａｌを大きな値に更新していく。
【００６３】
そして、変数ｊがインクリメントされ（ステップＳ７５）、ｊ≦Ｍ−１か否かが判断される（ステップＳ７７）。ｊ≦Ｍ−１である限りステップＳ６３〜ステップＳ７５が繰り返され、Ｍ個のデータに対して相関値が求められ、最大の相関値すなわち変数ｓｏｕｋａｎ＿ｖａｌが得られる。
【００６４】
ステップＳ７７が”ＮＯ”になれば、ｓｏｕｋａｎ＿ｖａｌ≧ｓｏｕｋａｎ＿ｔｈｌか否かが判断され（ステップＳ７９）、ｓｏｕｋａｎ＿ｖａｌ≧ｓｏｕｋａｎ＿ｔｈｌであれば、ｓｏｕｋａｎ＿ｆｌｇ＝１に設定されて（ステップＳ８１）、終了する。ステップＳ７９において、ｓｏｕｋａｎ＿ｖａｌ≧ｓｏｕｋａｎ＿ｔｈｌでなければ、ｓｏｕｋａｎ＿ｆｌｇ＝０に設定されて（ステップＳ８３）、終了する。
【００６５】
このようなハウリング検出器２２ａによれば、ハウリングが発生した場合、送信信号と受信信号との相関値が１に近づくという点に鑑み、送信信号と受信信号との相関値が所定の閾値ｓｏｕｋａｎ＿ｔｈｌと比較され、その比較結果に基づいてハウリングを検出するので、ハウリングのレベルに依存することなく、低レベルのハウリングや、波形の歪みによって単一トーンとして検出できないハウリングであっても、速やかにハウリングが検出され、その結果、ハウリング音を早期に消去できる。
【００６６】
さらに、エコー除去装置１０に含まれるハウリング検出器としては、図１１に示すような、ゼロクロスのカウント値の比較結果および相関値による検出結果に基づいてハウリングを検出するハウリング検出器２２ｂが用いられてもよい。
【００６７】
ハウリング検出器２２ｂに含まれるゼロクロス比較器３６および相関算出部４６は、それぞれ図３に示すゼロクロス検出器３６および図８に示す相関算出器４６と同様であるので、その重複する説明は省略する。ハウリング判定部４４ｂは、ゼロクロス比較部３６での比較結果、および相関値算出部４６での比較結果に基づいて、ハウリングの有無を判定する。
【００６８】
このようなハウリング検出器２２ｂによるハウリング検出動作について、図１２を参照して説明する。
【００６９】
図１２を参照して、ハウリング検出器２２ｂの全体動作を説明する。
【００７０】
まず、ＤＳＰ１２に格納されるフラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇ、ｓｏｕｋａｎ＿ｆｌｇや、ＲＡＭ１６に格納されるカウント値ｃｏｕｎｔｅｒ１、ゼロクロスカウント部３８用の入力信号のバッファＸ＿ｉｎ１，Ｘ＿ｉｎ＿ｂａｃｋ１、カウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ１、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ１、ゼロクロスカウント部４０用の入力信号のバッファＸ＿ｉｎ２，Ｘ＿ｉｎ＿ｂａｃｋ２、カウント値Ｚｅｒｏ＿ｃｏｕｎｔｅｒ２、バッファＣｏｕｎｔｅｒ＿ｂａｃｋ２、さらには、変数ｓｏｕｋａｎ＿ｖａｌ，ｖａｌ１，ｖａｌ２、カウント値ｉ，ｊ、送信信号バッファｓｅｎｄ＿ｂｕｆ、受信信号バッファｒｅｃ＿ｂｕｆ等が初期化される（ステップＳ９１）。
【００７１】
そして、ゼロクロス比較部３６によって受信信号のゼロクロスのカウント値と送信信号のゼロクロスのカウント値とが比較され、フラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇが設定され（ステップＳ９３）、相関値算出部４６によって、数１を用いて相関値が算出され、その相関値が閾値と比較されて、フラグｓｏｕｋａｎ＿ｆｌｇが設定される（ステップＳ９５）。ゼロクロスのカウント値の比較結果および相関値と閾値との比較結果、すなわちフラグＺｅｒｏ＿ｃｒｏｓｓ＿ｆｌｇおよびフラグｓｏｕｋａｎ＿ｆｌｇに基づいて、ハウリング判定部４４ｂによってハウリングの有無が判定され（ステップＳ９７）、ステップＳ９３に戻る。
【００７２】
なお、ステップＳ９３の動作の詳細は、図５、図６および図７に示され、ステップＳ９５の動作の詳細は、図１０に示されるので、その重複する説明は省略する。
【００７３】
このようなハウリング検出器２２ｂによれば、送信信号のゼロクロスのカウント値および受信信号のゼロクロスのカウント値が略等しくかつその状態が所定時間以上継続され、さらに、送信信号と受信信号との相関値が所定値以上である場合に、ハウリングと判定するので、ハウリングのレベルに依存することなく、低レベルのハウリングや、波形の歪みによって単一トーンとして検出できないハウリングであっても、より一層精度よくハウリングを検出できる。
【００７４】
なお、この発明は、たとえば音声録音再生機能付きファクスモデムなどに適用され得る。
【００７５】
ＤＳＰ１２の代わりにＣＰＵを用いてもよいことはいうまでもない。
【００７６】
【発明の効果】
この発明によれば、低レベルのハウリングや波形の歪みによって単一トーンとして検出できないハウリングに対しても、精度よくハウリングを検出することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態を示すブロック図である。
【図２】図１の実施形態を示す機能ブロック図である。
【図３】ハウリング検出器の一例を示す機能ブロック図である。
【図４】図３に示すハウリング検出器の全体動作の一例を示すフロー図である。
【図５】図４のステップＳ３の動作の一例を示すフロー図である。
【図６】図５のステップＳ１１の動作の一例を示すフロー図である。
【図７】図５のステップＳ１３の動作の一例を示すフロー図である。
【図８】ハウリング検出器の他の例を示す機能ブロック図である。
【図９】図８に示すハウリング検出器の全体動作の一例を示すフロー図である。
【図１０】図９のステップＳ５３の動作の一例を示すフロー図である。
【図１１】ハウリング検出器のその他の例を示す機能ブロック図である。
【図１２】図１１のハウリング検出器の全体動作の一例を示すフロー図である。
【図１３】従来技術の一例を示すブロック図である。
【符号の説明】
１０      エコー除去装置
１２      ＤＳＰ
１４      ＲＯＭ
１６      ＲＡＭ
１８      音響エコーキャンセラ
２０      回線エコーキャンセラ
２２、２２ａ、２２ｂ      ハウリング検出器
３６      ゼロクロス比較器
３８、４０      ゼロクロスカウント部
４２      比較部
４４、４４ａ、４４ｂ    ハウリング判定部
４６      相関値算出部
【図１】
0003553792.tif 000003
【図２】
0003553792.tif 000004
【図３】
0003553792.tif 000005
【図４】
0003553792.tif 000006
【図５】
0003553792.tif 000007
【図６】
0003553792.tif 000008
【図７】
0003553792.tif 000009
【図８】
0003553792.tif 000010
【図９】
0003553792.tif 000011
【図１０】
0003553792.tif 000012
【図１１】
0003553792.tif 000013
【図１２】
0003553792.tif 000014
【図１３】
0003553792.tif 000015