(57)【要約】【課題】本発明は、エコー遅延時間がほぼ時間変化しないときには、処理時間を短縮し消費電力を削減する、エコー遅延時間計算方法を提供することを目的とする。【解決手段】本発明は、出力と出力のエコーが付加された入力との相関を適応フィルタ１ａにより計算し、適応フィルタ１ａにおいてフィルタ係数のピーク位置を検出するピーク位置検出ステップと、適応フィルタ１ａのうち、ピーク位置検出ステップで検出された適応フィルタ１ａにおけるフィルタ係数のピーク位置を含む部分を、フィルタ係数のピーク位置を検出する部分１ｂとして残し、適応フィルタ１ａのうち、フィルタ係数のピーク位置を検出する部分１ｂと異なる部分を、遅延素子２に切り替える遅延素子切替ステップと、を順に備えることを特徴とするエコー遅延時間計算方法である。【選択図】図１
2012039342.tif 000002
【特許請求の範囲】
【請求項１】
出力と出力のエコーが付加された入力との相関を適応フィルタにより計算し、前記適応フィルタにおいてフィルタ係数のピーク位置を検出するピーク位置検出ステップと、
前記適応フィルタのうち、前記ピーク位置検出ステップで検出された前記適応フィルタにおけるフィルタ係数のピーク位置を含む部分を、フィルタ係数のピーク位置を検出する部分として残し、前記適応フィルタのうち、フィルタ係数のピーク位置を検出する部分と異なる部分を、遅延素子に切り替える遅延素子切替ステップと、
を順に備えることを特徴とするエコー遅延時間計算方法。
【請求項２】
前記遅延素子切替ステップでは、前記ピーク位置検出ステップで検出された前記適応フィルタにおけるフィルタ係数のピーク位置が、フィルタ係数のピーク位置を検出する部分の中心に位置することを特徴とする、請求項１に記載のエコー遅延時間計算方法。
【請求項３】
フィルタ係数のピーク位置を検出する部分により、遅延素子のタップ数だけ遅延された出力と出力のエコーが付加された入力との相関を計算し、フィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置を検出したかどうかを判断するピーク位置検出判断ステップと、
前記ピーク位置検出判断ステップでフィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置が検出されたとき、前記適応フィルタのうち、前記ピーク位置検出判断ステップで検出されたフィルタ係数のピーク位置を検出する部分におけるフィルタ係数のピーク位置を含む部分を、フィルタ係数のピーク位置を検出する新たな部分として残し、前記適応フィルタのうち、フィルタ係数のピーク位置を検出する新たな部分と異なる部分を、遅延素子に切り替える遅延素子切替更新ステップと、
を前記遅延素子切替ステップの後に順に備えることを特徴とする、請求項１又は請求項２に記載のエコー遅延時間計算方法。
【請求項４】
フィルタ係数のピーク位置を検出する部分により、遅延素子のタップ数だけ遅延された出力と出力のエコーが付加された入力との相関を計算し、フィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置を検出したかどうかを判断するピーク位置検出判断ステップと、
前記ピーク位置検出判断ステップでフィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置が検出されなかったとき、前記適応フィルタのうち、フィルタ係数のピーク位置を検出する部分と異なる部分を、遅延素子に切り替えることを中止する遅延素子切替中止ステップと、
を前記遅延素子切替ステップの後に順に備えることを特徴とする、請求項１又は請求項２に記載のエコー遅延時間計算方法。
【請求項５】
コンピュータに請求項１から請求項４に記載のいずれかのエコー遅延時間計算方法を実行させるためのエコー遅延時間計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコー遅延時間を計算するにあたり、処理時間を短縮し消費電力を削減するエコー遅延時間計算方法及びエコー遅延時間計算プログラムに関する。
【背景技術】
【０００２】
音響マイク及び回線通信などにおいて、エコーをキャンセルする技術が従来から知られている。まず、出力と出力のエコーが付加された入力との相関を適応フィルタにより計算し、適応フィルタのフィルタ係数のピーク位置を検出することにより、エコー遅延時間を計算する。次に、出力のエコーが付加された入力からエコー遅延時間だけ遅延された出力を減算することにより、入力から出力のエコーをキャンセルする。
【０００３】
特許文献１では、エコー遅延時間を計算する手段及びエコーをキャンセルする手段を別個に配置する。ここで、エコー遅延時間が長時間であるときには、エコー遅延時間を計算する手段の演算量は多いが、エコーをキャンセルする手段の演算量は少ない。よって、エコーをキャンセルする手段として、既存のものを利用することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２９７２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術及び特許文献１のエコーをキャンセルする技術では、適応フィルタのタップ数をエコーキャンセル可能時間に対応するタップ数に固定する。ここで、エコー遅延時間がほぼ時間変化しないときには、適応フィルタのフィルタ係数のピーク位置もほぼ時間変化しない。そして、適応フィルタのフィルタ係数のピーク位置近傍以外では、適応フィルタによる相関計算が無駄に実行される。よって、エコー遅延時間がほぼ時間変化しないときでも、処理時間を短縮することができず、消費電力を削減することができない。
【０００６】
そこで、前記課題を解決するために、本発明は、エコー遅延時間がほぼ時間変化しないときには、処理時間を短縮し消費電力を削減する、エコー遅延時間計算方法及びエコー遅延時間計算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、まず、出力と出力のエコーが付加された入力との相関を適応フィルタにより計算し、適応フィルタのフィルタ係数のピーク位置を検出する。次に、適応フィルタのフィルタ係数のピーク位置を含む部分を、フィルタ係数のピーク位置を検出する部分として残し、フィルタ係数のピーク位置を検出する部分と異なる部分を、遅延素子に切り替えるようにした。
【０００８】
具体的には、本発明は、出力と出力のエコーが付加された入力との相関を適応フィルタにより計算し、前記適応フィルタにおいてフィルタ係数のピーク位置を検出するピーク位置検出ステップと、前記適応フィルタのうち、前記ピーク位置検出ステップで検出された前記適応フィルタにおけるフィルタ係数のピーク位置を含む部分を、フィルタ係数のピーク位置を検出する部分として残し、前記適応フィルタのうち、フィルタ係数のピーク位置を検出する部分と異なる部分を、遅延素子に切り替える遅延素子切替ステップと、を順に備えることを特徴とするエコー遅延時間計算方法である。
【０００９】
この構成によれば、エコー遅延時間がほぼ時間変化しないときには、処理時間を短縮し消費電力を削減するエコー遅延時間計算方法を提供することができる。
【００１０】
また、本発明は、前記遅延素子切替ステップでは、前記ピーク位置検出ステップで検出された前記適応フィルタにおけるフィルタ係数のピーク位置が、フィルタ係数のピーク位置を検出する部分の中心に位置することを特徴とするエコー遅延時間計算方法である。
【００１１】
この構成によれば、エコー遅延時間が若干長くなったとき及び若干短くなったときの両方の場合において、フィルタ係数のピーク位置を検出する部分において、フィルタ係数のピーク位置を同程度に検出することができる。
【００１２】
また、本発明は、フィルタ係数のピーク位置を検出する部分により、遅延素子のタップ数だけ遅延された出力と出力のエコーが付加された入力との相関を計算し、フィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置を検出したかどうかを判断するピーク位置検出判断ステップと、前記ピーク位置検出判断ステップでフィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置が検出されたとき、前記適応フィルタのうち、前記ピーク位置検出判断ステップで検出されたフィルタ係数のピーク位置を検出する部分におけるフィルタ係数のピーク位置を含む部分を、フィルタ係数のピーク位置を検出する新たな部分として残し、前記適応フィルタのうち、フィルタ係数のピーク位置を検出する新たな部分と異なる部分を、遅延素子に切り替える遅延素子切替更新ステップと、を前記遅延素子切替ステップの後に順に備えることを特徴とするエコー遅延時間計算方法である。
【００１３】
この構成によれば、エコー遅延時間が若干時間変化したことに合わせて、フィルタ係数のピーク位置を検出する部分を移動させることができる。
【００１４】
また、本発明は、フィルタ係数のピーク位置を検出する部分により、遅延素子のタップ数だけ遅延された出力と出力のエコーが付加された入力との相関を計算し、フィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置を検出したかどうかを判断するピーク位置検出判断ステップと、前記ピーク位置検出判断ステップでフィルタ係数のピーク位置を検出する部分においてフィルタ係数のピーク位置が検出されなかったとき、前記適応フィルタのうち、フィルタ係数のピーク位置を検出する部分と異なる部分を、遅延素子に切り替えることを中止する遅延素子切替中止ステップと、を前記遅延素子切替ステップの後に順に備えることを特徴とするエコー遅延時間計算方法である。
【００１５】
この構成によれば、エコー遅延時間が大幅に時間変化したことに合わせて、フィルタ係数のピーク位置を検出する部分を適応フィルタ全体とする初期化を行うことができる。
【００１６】
また、本発明は、コンピュータにエコー遅延時間計算方法を実行させるためのエコー遅延時間計算プログラムである。
【００１７】
この構成によれば、エコー遅延時間がほぼ時間変化しないときには、処理時間を短縮し消費電力を削減するエコー遅延時間計算プログラムを提供することができる。
【発明の効果】
【００１８】
本発明は、エコー遅延時間がほぼ時間変化しないときには、処理時間を短縮し消費電力を削減する、エコー遅延時間計算方法及びエコー遅延時間計算プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】ピーク検出及びタップ数調整の処理を示す概念図である。
【図２】ピーク検出及びタップ数調整の処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は以下の実施形態に制限されるものではない。
【００２１】
まず、図１を用いて、ピーク検出及びタップ調整の処理の概念を説明する。図１（ａ）及び図１（ｂ）は、それぞれピーク検出前後における適応フィルタの処理を示す。図１（ａ）及び図１（ｂ）では、縦軸は適応フィルタ１のフィルタ係数を示し、横軸は適応フィルタ１のタップ数を示す。図１（ａ）及び図１（ｂ）の原点から適応フィルタ１のフィルタ係数のピーク位置までのタップ数は、エコー遅延時間に対応する。
【００２２】
ピーク検出前では、適応フィルタ１ａのタップ数は、エコーキャンセル可能時間に対応するタップ数ａである。まず、出力と出力のエコーが付加された入力との相関を、タップ数ａの適応フィルタ１ａにより計算し、タップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置を検出することにより、エコー遅延時間を計算する。図１（ａ）の原点から適応フィルタ１ａのフィルタ係数のピーク位置までのタップ数は、サンプル数ｔでありエコー遅延時間に対応する。次に、出力のエコーが付加された入力からエコー遅延時間だけ遅延された出力を減算することにより、入力から出力のエコーをキャンセルする。
【００２３】
ピーク検出後では、適応フィルタ１ａの一部は、遅延素子２に切り替えられる。遅延素子２に切り替えられていない部分は、適応フィルタ１ｂとしてフィルタ係数のピーク位置を検出する部分１ｂとなる。フィルタ係数のピーク位置を検出する部分１ｂのタップ数は、タップ数ａより小さいタップ数ｂである。遅延素子２は、タップ数ｂの適応フィルタ１ｂから見て図１（ｂ）の原点側にあるが、タップ数ｂの適応フィルタ１ｂから見て図１（ｂ）の右端側にない。遅延素子２のタップ数はタップ数ｃである。ここで、タップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置が、タップ数ｂの適応フィルタ１ｂの中心に位置するようにしている。よって、図１（ｂ）の原点から適応フィルタ１ｂのフィルタ係数のピーク位置までのタップ数は、サンプル数ｔ＝ｃ＋ｂ／２でありエコー遅延時間に対応する。
【００２４】
ピーク検出後でもピーク検出前とほぼ同様に、入力から出力のエコーをキャンセルすることができる。まず、遅延素子２のタップ数ｃだけ遅延された出力と出力のエコーが付加された入力との相関を、タップ数ｂの適応フィルタ１ｂにより計算し、タップ数ｂの適応フィルタ１ｂのフィルタ係数のピーク位置を検出することにより、エコー遅延時間を計算する。図１（ｂ）の原点から適応フィルタ１ｂのフィルタ係数のピーク位置までのタップ数は、サンプル数ｔでありエコー遅延時間に対応する。次に、出力のエコーが付加された入力からエコー遅延時間だけ遅延された出力を減算することにより、入力から出力のエコーをキャンセルする。
【００２５】
以上に説明したように、ピーク検出前では、エコーキャンセル可能時間に対応するタップ数ａの適応フィルタ１ａにおいて、フィルタ係数のピーク位置を検出するが、ピーク検出後では、タップ数ａより小さいタップ数ｂの適応フィルタ１ｂにおいて、フィルタ係数のピーク位置を検出する。ここで、エコー遅延時間がほぼ時間変化しないときには、大きいタップ数ａの適応フィルタ１ａを利用するまでもなく、小さいタップ数ｂの適応フィルタ１ｂを利用すれば足りる。よって、エコー遅延時間がほぼ時間変化しないときには、処理時間を短縮することができ、消費電力を削減することができる。
【００２６】
処理時間の短縮及び消費電力の削減を優先するのであれば、タップ数ｂを小さいタップ数に設定することができる。エコーキャンセルの性能向上を優先するのであれば、タップ数ｂを大きいタップ数に設定することができる。
【００２７】
本実施形態では、タップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置が、タップ数ｂの適応フィルタ１ｂの中心に位置するようにしているが、本実施形態の上位概念として、タップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置が、タップ数ｂの適応フィルタ１ｂに含まれるようにしてもよい。本実施形態では、エコー遅延時間が若干長くなったとき及び若干短くなったときの両方の場合において、遅延素子２に切り替えられていないフィルタ係数のピーク位置を検出する部分１ｂにおいて、フィルタ係数のピーク位置を同程度に検出することができる。
【００２８】
次に、図２を用いて、ピーク検出及びタップ調整の処理の流れを説明する。以下に説明する処理の流れは、エコー遅延時間計算プログラムにより実行することができる。
【００２９】
図１（ａ）に示したように、適応フィルタ１のタップ数をａに設定し、適応フィルタ１ａを使用する（ステップＳ１）。ピーク位置検出ステップにおいて、出力と出力のエコーが付加された入力との相関を、タップ数ａの適応フィルタ１ａにより計算し、タップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置を検出する（ステップＳ２）。
【００３０】
図１（ｂ）に示したように、遅延素子切替ステップにおいて、適応フィルタ１ａの一部を、遅延素子２に切り替え、ステップＳ２におけるタップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置が、タップ数ｂの適応フィルタ１ｂの中心に位置するようにする（ステップＳ３）。ピーク位置検出判断ステップにおいて、遅延素子２のタップ数ｃだけ遅延された出力と出力のエコーが付加された入力との相関を、タップ数ｂの適応フィルタ１ｂにより計算し、タップ数ｂの適応フィルタ１ｂのフィルタ係数のピーク位置を検出したかどうかを判断する（ステップＳ４）。
【００３１】
まず、タップ数ｂの適応フィルタ１ｂのフィルタ係数のピーク位置が検出されたときについて説明する（ステップＳ４においてＹＥＳ）。遅延素子切替更新ステップにおいて、ステップＳ４におけるタップ数ｂの適応フィルタ１ｂのフィルタ係数のピーク位置が、タップ数ｂの適応フィルタ１ｂの中心に位置するように、新たな遅延素子２に切り替える（ステップＳ５）。エコーキャンセル処理を終了しないときには（ステップＳ６においてＮＯ）、タップ数ｂの適応フィルタ１ｂのフィルタ係数のピーク位置を検出する処理を繰り返す（ステップＳ４）。
【００３２】
遅延素子切替更新ステップにより、エコー遅延時間が若干時間変化したことに合わせて、フィルタ係数のピーク位置を検出する部分１ｂを移動させることができる。
【００３３】
次に、タップ数ｂの適応フィルタ１ｂのフィルタ係数のピーク位置が検出されなかったときについて説明する（ステップＳ４においてＮＯ）。遅延素子切替中止ステップにおいて、遅延素子２に切り替えることを中止し、適応フィルタ１ｂのタップ数をａに初期化する（ステップＳ７）。エコーキャンセル処理を終了しないときには（ステップＳ８においてＮＯ）、タップ数ａの適応フィルタ１ａのフィルタ係数のピーク位置を検出する処理を繰り返す（ステップＳ２）。
【００３４】
遅延素子切替中止ステップより、エコー遅延時間が大幅に時間変化したことに合わせて、フィルタ係数のピーク位置を検出する部分を適応フィルタ１ａ全体とする初期化を行うことができる。
【産業上の利用可能性】
【００３５】
本発明に係るエコー遅延時間計算方法及びエコー遅延時間計算プログラムは、エコーをキャンセルすることを所望する音響マイク及び回線通信などに適用することができる。
【符号の説明】
【００３６】
１、１ａ、１ｂ：適応フィルタ
２：遅延素子
【図１】
2012039342.tif 000003
【図２】
2012039342.tif 000004