(57)【要約】  遅延時間推定に基づくエコー除去方法と装置をであって、その方法はマイク信号及び参照信号を取得し、それらを前処理すること（Ｓ１０１）と、現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定すること（Ｓ１０２）と、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出すること（Ｓ１０３）と、前記現在の遅延時間推定値に基づき、前記参照信号を移動すること（Ｓ１０４）と、前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現すること（Ｓ１０５）とを含む。遅延時間推定の正確性およびエコー除去の効果を高めることができる。
2021500778.tif 000002
【特許請求の範囲】
【請求項１】
遅延時間推定に基づくエコー除去方法であって、
マイク信号及び参照信号をそれぞれ受信し、それらを前処理することと、
現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち、非線形状態を有する周波数信号を判定することと、
マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することと、
前記現在の遅延時間推定値に基づき、前記参照信号を移動することと、
前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現することと、
を含むことを特徴とする遅延時間推定に基づくエコー除去方法。
【請求項２】
現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定することは、
前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか１つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出と、
前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出と、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置に起因する非線形検出と、のうちいずれか１つまたは複数の検出を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算することと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することと、を含む、
ことを特徴とする請求項１に記載の方法。
【請求項４】
算出された各フレームの参照信号及びマイク信号の相互相関により、遅延時間推定値を決定することは、
算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む、
ことを特徴とする請求項３に記載の方法。
【請求項５】
算出された各フレームの参照信号及びマイク信号の相互相関により、現在の遅延時間推定値を決定することは、
毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をＬ次元の配列Ｓａに統計し、ここで、Ｌ＝遅延時間分析範囲内のマイク信号の総フレーム数、前記候補遅延時間位置の連続発生数を集計し、
今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、前回の候補遅延時間位置から第２設定値ｔ２を減算し、残りの位置から第３設定
値ｔ３を減算し、
今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、残りの位置から第３設定値ｔ３を減算し、ここで、前記第２設定値ｔ２は第３設定値ｔ３以下とし、
今回の候補遅延時間位置が第１閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第２閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む、
ことを特徴とする請求項３に記載の方法。
【請求項６】
前記現在の遅延時間推定値に基づき、前記参照信号を移動することは、
現在の遅延時間推定値Ｄ１（ｔ）＜＝第３閾値Ｔ３の場合、前記参照信号のデータを移動しなく、第３閾値Ｔ３＜現在の遅延時間推定値Ｄ１（ｔ）＜第４閾値Ｔ４の場合、前記参照信号のデータをＤ１（ｔ）／２移動し、第４閾値Ｔ４＜＝現在の遅延時間推定値Ｄ１（ｔ）の場合、前記参照信号のデータをＤ１（ｔ）移動することを含む、
ことを特徴とする請求項５に記載の方法。
【請求項７】
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することは、
現在の遅延時間位置に対応する相互相関Ｃ（ｔ）が前回の遅延時間位置に対応する相互相関Ｃ（ｔ−１）より大きいという条件（１）と、
現在の遅延時間分析範囲内の各フレームの最大相互相関Ｃｍａｘ（ｔ）及び最小相互相関Ｃｍｉｎ（ｔ）に対応する位置の差分値が設定した第１設定差分値より大きいという条件（２）と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Ｃｍｅａｎ（ｔ）と現在の遅延時間位置に対応する相互相関Ｃ（ｔ）との差分値が第２設定差分値より大きいという条件（３）と、
現在の遅延時間位置ｐ（ｔ）が前回の遅延時間位置ｐ（ｔ−１）より小さいという条件（４）とのうちいずれか１つ又は複数の条件を満たす、
ことを特徴とする請求項４又は５又は６に記載の方法。
【請求項８】
過去参照信号のデータをバッファリングすることと、
前記参照信号を移動する時に、バッファリングされた過去参照信号のデータを連携移動することと、をさらに含む、
ことを特徴とする請求項１ないし６のいずれかの１つに記載の方法。
【請求項９】
現在の遅延時間推定値がフィルタ長さより小さい場合、適応フィルタ係数を更新する時に、フィルタ係数を遅延時間推定値に従って移動し、移動後の係数に基づき更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づき更新することをさらに含む、
ことを特徴とする請求項１ないし６のいずれかの１つに記載の方法。
【請求項１０】
遅延時間推定に基づくエコー除去装置であって、
マイク信号及び参照信号を受信し、前処理を行い、前処理後のマイク信号及び参照信号を出力する信号処理モジュールと、
現在のエコー除去場面において、前記信号処理モジュールから出力された前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する周波数検出モジュールと、
前記周波数検出モジュールにより判定されたマイク信号及び参照信号のうち、非線形状態を有しない周波数信号により、現在の遅延時間推定値を計算して出力する遅延時間推定モジュールと、
前記遅延時間推定モジュールから出力された現在の遅延時間推定値に基づき、前記参照信号を移動し、移動後の参照信号を出力する信号移動モジュールと、
前記信号処理モジュールから出力された前処理後のマイク信号及び前記信号移動モジュールから出力された移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する適応フィルタと、
を含むことを特徴とする遅延時間推定に基づくエコー除去装置。
【請求項１１】
前記周波数検出モジュールは、
前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか１つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出ユニットと、
前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出ユニットと、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置検出ユニットとのうちいずれかの１つ又は複数の検出ユニットを含む、
ことを特徴とする請求項１０に記載の装置。
【請求項１２】
前記遅延時間推定モジュールは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算する相互相関計算ユニットと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定する遅延時間推定値決定ユニットと、
を含むことを特徴とする請求項１０に記載の装置。
【請求項１３】
前記遅延時間推定値決定ユニットは、具体的に、前記相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する、
ことを特徴とする請求項１２に記載の装置。
【請求項１４】
前記遅延時間推定値決定ユニットは、具体的に、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をＬ次元の配列Ｓａに統計し、ここで、Ｌ＝遅延時間分析範囲内のマイク信号の総フレーム数、前記候補遅延時間位置の連続発生数を集計し、今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、前回の候補遅延時間位置から第２設定値ｔ２を減算し、残りの位置から第３設定値ｔ３を減算し、今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、残りの位置から第３設定値ｔ３を減算し、ここで、前記第２設定値ｔ２は第３設定値ｔ３以下とし、今回の候補遅延時間位置が第１閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第２閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する、
ことを特徴とする請求項１２に記載の装置。
【請求項１５】
前記信号移動モジュールは、具体的に、現在の遅延時間推定値Ｄ１（ｔ）＜＝第３閾値Ｔ３の場合、前記参照信号のデータを移動しなく、第３閾値Ｔ３＜現在の遅延時間推定値
Ｄ１（ｔ）＜第４閾値Ｔ４の場合、前記参照信号のデータをＤ１（ｔ）／２移動し、第４閾値Ｔ４＜＝現在の遅延時間推定値Ｄ１（ｔ）の場合、前記参照信号のデータをＤ１（ｔ）移動する、
ことを特徴とする請求項１４に記載の装置。
【請求項１６】
前記遅延時間推定値決定ユニットは遅延時間推定値を決定する時にさらに、
現在の遅延時間位置に対応する相互相関Ｃ（ｔ）が前回の遅延時間位置に対応する相互相関Ｃ（ｔ−１）より大きいという条件（１）と、
現在の遅延時間分析範囲内の各フレームの最大相互相関Ｃｍａｘ（ｔ）及び最小相互相関Ｃｍｉｎ（ｔ）に対応する位置の差分値が設定した第１設定差分値より大きいという条件（２）と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Ｃｍｅａｎ（ｔ）と現在の遅延時間位置に対応する相互相関Ｃ（ｔ）との差分値が第２設定差分値より大きいという条件（３）と、
現在の遅延時間位置ｐ（ｔ）が前回の遅延時間位置ｐ（ｔ−１）より小さいという条件（４）とのうちいずれかの１つ又は複数の条件を満たす、
ことを特徴とする請求項１３又は１４又は１５に記載の装置。
【請求項１７】
過去参照信号のデータをバッファリングするバッファリングモジュールをさらに含み、
前記信号移動モジュールは、さらに、前記参照信号を移動する時に、前記バッファリングモジュールにバッファリングされた過去参照信号のデータを連携移動する、
ことを特徴とする請求項１０ないし１５のいずれかの１つに記載の装置。
【請求項１８】
前記適応フィルタは係数を更新する時に、現在の遅延時間推定値がフィルタ長さより小さい場合、フィルタ係数を遅延時間推定値で移動し、移動後の係数に基づいて更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づいて更新する、
ことを特徴とする請求項１０ないし１５のいずれかの１つに記載の装置。
【請求項１９】
遅延時間推定に基づくエコー除去装置であって、
プロセッサ、メモリ、システムバスを含み、前記プロセッサ及び前記メモリは前記システムバスを介して接続され、前記メモリは１つ又は複数のプログラムを格納するために使用され、前記１つ又は複数のプログラムは命令を含み、前記命令は前記プロセッサで実行された場合に、前記プロセッサに請求項１ないし９のいずれかの１つに記載の方法を実行させる、
ことを特徴とする遅延時間推定に基づくエコー除去装置。
【請求項２０】
命令が記憶されるコンピュータ読取可能な記憶媒体であって、
前記命令は端末装置で実行される場合に、前記端末装置に請求項１ないし９のいずれかの１つに記載の方法を実行させる、
ことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項２１】
コンピュータプログラム製品であって、
前記コンピュータプログラム製品は端末装置で実行される場合に、前記端末装置に請求項１ないし９のいずれかの１つに記載の方法を実行させる、
ことを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２０１７年１０月２３日に中国特許局へ提出した出願番号２０１７１０９９４１９５．Ｘ、出願名称「遅延時間推定に基づくエコー除去方法及び装置」である中国特許出願の優先権を主張し、その全ての内容はここで参照として本出願に引用される。
【０００２】
本出願は信号処理分野に関し、具体的には遅延時間推定に基づくエコー除去方法及び装置に関する。
【背景技術】
【０００３】
情報技術の発展に伴い、様々な分散型インテリジェント・ハードウェアが各分野に幅広く応用されている。エコー除去はインテリジェントデバイスのやり取り中の不可欠な一環として、常に関連分野における技術者の研究の焦点となっている。
【０００４】
エコー除去とは、本機のマイクで拾った遠端のオーディオ信号を除去又は取り除くことで、遠端の音声が返すのを抑制する処理方法である。従来の典型的なエコー除去手段は遅延時間推定方法に基づき、参照信号とマイク信号の線形相関関係を計算し、最大相互相関に対応する遅延時間を装置の遅延時間として選択し、参照信号を当該装置の遅延時間に基づいて移動し、移動後の参照信号とマイク信号により適応フィルタを更新し、現実のエコーに近い信号を生成し、当該信号をマイク信号から差し引くことで、エコーの除去という目的を達成する。例えば、シングルトーク操作権限のみを有する分散型インテリジェント・ハードウェア装置は参照信号とマイク信号の同期リサンプリングを実現することができない。例えば、日常生活でテレビＳＴＢを用いてテレビを制御するが、テレビＳＴＢとテレビは異なるメーカーによって提供されることが多い。テレビＳＴＢメーカーの場合は、テレビＳＴＢの音声制御にはテレビで再生した音声をエコー除去する必要があるが、テレビＳＴＢの操作権限しか与えられていない。つまり、テレビＳＴＢからテレビへのソース信号及びテレビＳＴＢのマイク収集信号（ここで、テレビＳＴＢからテレビへのソース信号を参照信号とし、テレビＳＴＢのマイク収集信号をマイク信号とする）のみを取得することで、スピーカー信号とマイク信号の同期リサンプリングを確実に実現できない。この場合、参照信号とマイク信号の遅延時間を推定し、当該遅延時間によりエコー除去を実現する必要がある。
【０００５】
このように、遅延時間推定の正確さはエコー除去の効果に直接影響を与える。実際の運用環境が複雑で変化が多いため、従来の遅延時間推定に基づくエコー除去技術から得られた遅延時間推定の誤差が大きく、エコー除去効果の向上が期待されている。
【発明の概要】
【発明が解決しようとする技術課題】
【０００６】
本出願の実施例は遅延時間推定に基づくエコー除去方法及び装置を提供し、遅延時間推定の誤差を低減させ、エコー除去の効果を高める。
【課題を解決するための手段】
【０００７】
したがって、本出願は以下の技術案を提供する。
【０００８】
遅延時間推定に基づくエコー除去方法であり、前記方法は、
マイク信号及び参照信号をそれぞれ受信し、それらを前処理することと、
現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定することと、
マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することと、
前記現在の遅延時間推定値に基づき、前記参照信号を移動することと、
前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現することとを含む。
【０００９】
好ましくは、前述のように、現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定することは、
前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか１つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出と、
前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出と、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置に起因する非線形検出のうちいずれか１つまたは複数の検出を含む。
【００１０】
好ましくは、前述のように、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算することと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することとを含む。
【００１１】
好ましくは、前述のように、算出された各フレームの参照信号及びマイク信号の相互相関により、遅延時間推定値を決定することは、
算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む。
【００１２】
好ましくは、前述のように、算出された各フレームの参照信号及びマイク信号の相互相関により、現在の遅延時間推定値を決定することは、
毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をＬ次元（ここで、Ｌ＝遅延時間分析範囲内のマイク信号の総フレーム数）の配列Ｓａに統計し、前記候補遅延時間位置の連続発生数を集計し、
今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、前回の候補遅延時間位置から第２設定値ｔ２を減算し、残りの位置から第３設定値ｔ３を減算し、
今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、残りの位置から第３設定値ｔ３を減算し、ここで、前記第２設定値ｔ２は第３設定値ｔ３以下とし、
今回の候補遅延時間位置が第１閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第２閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む。
【００１３】
好ましくは、前述のように、前記現在の遅延時間推定値に基づき、前記参照信号を移動することは、
現在の遅延時間推定値Ｄ１（ｔ）＜＝第３閾値Ｔ３の場合、前記参照信号のデータを移動しないことと、
第３閾値Ｔ３＜現在の遅延時間推定値Ｄ１（ｔ）＜第４閾値Ｔ４の場合、前記参照信号のデータをＤ１（ｔ）／２移動することと、
第４閾値Ｔ４＜＝現在の遅延時間推定値Ｄ１（ｔ）の場合、前記参照信号のデータをＤ１（ｔ）移動することとを含む。
【００１４】
好ましくは、前述のように、算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することは、
現在の遅延時間位置に対応する相互相関Ｃ（ｔ）が前回の遅延時間位置に対応する相互相関Ｃ（ｔ−１）より大きいという条件（１）と、
現在の遅延時間分析範囲内の各フレームの最大相互相関Ｃｍａｘ（ｔ）及び最小相互相関Ｃｍｉｎ（ｔ）に対応する位置の差分値が設定した第１設定差分値より大きいという条件（２）と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Ｃｍｅａｎ（ｔ）と現在の遅延時間位置に対応する相互相関Ｃ（ｔ）との差分値が第２設定差分値より大きいという条件（３）と、
現在の遅延時間位置ｐ（ｔ）が前回の遅延時間位置ｐ（ｔ−１）より小さいという条件（４）とのうちいずれか１つ又は複数の条件を満たす必要がある。
【００１５】
好ましくは、前記方法はさらに、過去参照信号のデータをバッファリングすることと、前記参照信号を移動する時に、バッファリングされた過去参照信号のデータを連携移動することとを含む。
【００１６】
好ましくは、前記方法はさらに、現在の遅延時間推定値がフィルタ長さより小さい場合、適応フィルタ係数を更新する時に、フィルタ係数を遅延時間推定値に従って移動し、移動後の係数に基づき更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づき更新することを含む。
【００１７】
遅延時間推定に基づくエコー除去装置であり、前記装置は、マイク信号及び参照信号を受信し、前処理を行い、前処理後のマイク信号及び参照信号を出力する信号処理モジュールと、
現在のエコー除去場面において、前記信号処理モジュールから出力された前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する周波数検出モジュールと、
前記周波数検出モジュールにより判定されたマイク信号及び参照信号のうち、非線形状態を有しない周波数信号により、現在の遅延時間推定値を計算して出力する遅延時間推定モジュールと、
前記遅延時間推定モジュールから出力された現在の遅延時間推定値に基づき、前記参照信号を移動し、移動後の参照信号を出力する信号移動モジュールと、
前記信号処理モジュールから出力された前処理後のマイク信号及び前記信号移動モジュールから出力された移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する適応フィルタとを含む。
【００１８】
好ましくは、前記周波数検出モジュールは、
前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか１つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出ユニットと、
前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出ユニットと、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置検出ユニットとのうちいずれかの１つ又は複数の検出ユニットを含む。
【００１９】
好ましくは、前記遅延時間推定モジュールは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算する相互相関計算ユニットと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定する遅延時間推定値決定ユニットとを含む。
【００２０】
好ましくは、前記遅延時間推定値決定ユニットは具体的に、前記相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する。
【００２１】
好ましくは、前記遅延時間推定値決定ユニットは具体的に、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をＬ次元（ここで、Ｌ＝遅延時間分析範囲内のマイク信号の総フレーム数）の配列Ｓａに統計し、前記候補遅延時間位置の連続発生数を集計し、今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、前回の候補遅延時間位置から第２設定値ｔ２を減算し、残りの位置から第３設定値ｔ３を減算し、今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、残りの位置から第３設定値ｔ３を減算し、ここで、前記第２設定値ｔ２は第３設定値ｔ３以下とし、今回の候補遅延時間位置が第１閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第２閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する。
【００２２】
好ましくは、前記信号移動モジュールは具体的に、現在の遅延時間推定値Ｄ１（ｔ）＜＝第３閾値Ｔ３の場合、前記参照信号のデータを移動しなく、第３閾値Ｔ３＜現在の遅延時間推定値Ｄ１（ｔ）＜第４閾値Ｔ４の場合、前記参照信号のデータをＤ１（ｔ）／２移動し、第４閾値Ｔ４＜＝現在の遅延時間推定値Ｄ１（ｔ）の場合、前記参照信号のデータをＤ１（ｔ）移動する。
【００２３】
好ましくは、前記遅延時間推定値決定ユニットは遅延時間推定値を決定する時にさらに、現在の遅延時間位置に対応する相互相関Ｃ（ｔ）が前回の遅延時間位置に対応する相互相関Ｃ（ｔ−１）より大きいという条件（１）と、
現在の遅延時間分析範囲内の各フレームの最大相互相関Ｃｍａｘ（ｔ）及び最小相互相関Ｃｍｉｎ（ｔ）に対応する位置の差分値が設定した第１設定差分値より大きいという条件（２）と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Ｃｍｅａｎ（ｔ）と現在の遅延時間位置に対応する相互相関Ｃ（ｔ）との差分値が第２設定差分値より大きいという条件（３）と、
現在の遅延時間位置ｐ（ｔ）が前回の遅延時間位置ｐ（ｔ−１）より小さいという条件（４）とのうちいずれかの１つ又は複数の条件を満たさなければならない。
【００２４】
好ましくは、前記装置はさらに、過去参照信号のデータをバッファリングするバッファ
リングモジュールを含み、
前記信号移動モジュールはさらに、前記参照信号を移動する時に、前記バッファリングモジュールにバッファリングされた過去参照信号のデータを連携移動する。
【００２５】
好ましくは、前記適応フィルタは係数を更新する時に、現在の遅延時間推定値がフィルタ長さより小さい場合、フィルタ係数を遅延時間推定値で移動し、移動後の係数に基づいて更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づいて更新する。
【００２６】
遅延時間推定に基づくエコー除去装置であり、当該装置にはプロセッサ、メモリ、システムバスを含む。
前記プロセッサ及び前記メモリは前記システムバスを介して接続される。
前記メモリは１つ又は複数のプログラムを格納するために使用され、前記１つ又は複数のプログラムは命令を含み、前記命令は前記プロセッサで実行される場合に、前記プロセッサに上記の遅延時間推定に基づくエコー除去方法のうちいずれかの１つの記載の方法を実行させる。
【００２７】
コンピュータ読取可能な記憶媒体であり、前記コンピュータ読取可能な記憶媒体に命令が記憶され、前記命令は端末装置で実行される場合に、前記端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの１つの記載の方法を実行させる。
【００２８】
コンピュータプログラム製品であり、前記コンピュータプログラム製品は端末装置で実行される場合に、前記端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの１つの記載の方法を実行させる。
【発明の効果】
【００２９】
本出願の実施例に係るエコー除去方法及び装置は、マイク信号及び参照信号のうち非線形状態を有する周波数を検出し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出し、即ち、非線形状態を除去する上で参照信号及びマイク信号間の遅延時間を推定することにより、遅延時間推定値がより正確になり、また現在の遅延時間推定値に基づき参照信号を移動し、マイク信号及び移動後の参照信号に基づき適応フィルタを更新することにより、エコー除去を実現し、エコー除去の効果を効果的に向上させる。
【００３０】
さらに、遅延時間を推定する時に、複数のロバストネス条件に基づき、遅延時間推定値を修正することにより、推定された遅延時間のロバストネスが高くなる。
【００３１】
さらに、適応フィルタを更新する中で、過去参照信号のデータのバッファリングと連携移動、及び参考にならないフィルタ係数のリセットはいずれも遅延時間の変化によるフィルタの再収束時間を低減させ、エコー除去性能に対する再収束の影響を削減することができる。
【図面の簡単な説明】
【００３２】
本出願の実施例又は従来技術の技術解決案をより明確に説明するためには、以下、実施例に使用される図面を簡単に説明する。明らかに、下記の図面は、本出願に記載される実施例の一部に過ぎず、当業者であれば、これらの図面から他の図面を得ることができる。
【図１】は本出願の実施例における遅延時間推定に基づくエコー除去方法のフローチャートである。
【図２】は本出願の実施例における過去参照信号データの連携移動と従来技術における現在の参照信号のみの移動との比較模式図である。
【図３】は本出願の実施例においてフィルタ更新時に誤ったフィルタ係数をリセットする例と従来技術の比較模式図である。
【図４】は本出願の実施例における遅延時間推定に基づくエコー除去装置の原理ブロック図である。
【図５】は本出願の実施例における遅延時間推定に基づくエコー除去装置のもう１つの原理ブロック図である。
【発明を実施するための形態】
【００３３】
当業者が本出願の実施例の解決案をよりよく理解するため、以下の図面及び実施形態を合わせて本出願の実施例を詳細に説明する。
【００３４】
実際の応用を考慮し、エコー除去過程で常に大音量、電池残量の不足、遠端信号（即ち、参照信号）がなく、ダブルトーク（即ち、人の声及びスピーカーの音声が同時に出ること）などの非線形状態がよく現れる。これらの状況は非線形オーディオ信号の原因となり、遅延時間を推定する時に相互相関の計算結果にエラーが発生する。最終的にはエコー除去の効果が低くなる。そのため、本出願の実施例では遅延時間推定に基づくエコー除去方法及び装置を提供する。遅延時間を決定する時に、非線形状態を有する周波数を除去し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により遅延時間推定値を決定し、得られた遅延時間推定値がより正確になり、当該遅延時間推定値に基づきエコー除去を実現し、エコー除去の効果を効果的に高める。
【００３５】
図１に示すように、本出願の実施例における遅延時間推定に基づくエコー除去方法のフローチャートであり、以下のステップを含む。
【００３６】
ステップ１０１：マイク信号及び参照信号をそれぞれ受信し、それらを前処理する。
【００３７】
マイク信号は、音声信号収集用マイクで拾ったＡ／Ｄ変換後のデジタル信号であり、参照信号はエコー除去を必要とするソース信号（同様にデジタル信号）である。テレビＳＴＢのエコー除去を例にすると、テレビＳＴＢメーカーにとっては、参照信号はテレビＳＴＢからテレビへのソース信号であり、もちろん従来一般的なテレビスピーカー信号でもよい。これに対し、本出願の実施例では限定しない。
【００３８】
前処理は主にフレーミング、ウィンドウイング、高速フーリエ変換などの処理を含み、タイムドメインの参照信号及びマイク信号を適切な周波数ドメイン信号に変換する。
【００３９】
ステップ１０２：現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する。
【００４０】
実際の応用環境及びハードウェア装置の多様性を考慮し、非線形状態を有する周波数信号の有無を判定するには以下のような検出方法がある。
【００４１】
（１）遠端信号検出：前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか１つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する。例えば、参照信号ｘの特定の周波数でのエネルギーＰｘが設定されるエネルギー閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。
【００４２】
（２）ダブルトーク信号検出：前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定する。
【００４３】
具体的には、参照信号ｘの特定の周波数での平滑化エネルギー
2021500778.tif 000003
及びマイク信号の当該周波数での平滑化エネルギー
2021500778.tif 000004
を計算し、エネルギー比
2021500778.tif 000005
により判断する。エネルギー比が設定されるエネルギー比の閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。平滑化エネルギー
2021500778.tif 000006
及び
2021500778.tif 000007
の計算式は以下の通りである。
【００４４】
【数１】
2021500778.tif 000008
【数２】
2021500778.tif 000009
【００４５】
ここで、ｘ（ｎ）、ｙ（ｎ）はそれぞれ周波数ｎの時の参照信号及びマイク信号を表し、αを平滑化係数とし、その値は大量の実験結果及び／又は経験から決定される。
【００４６】
もちろん、参照信号ｘの特定の周波数でのエネルギー及びマイク信号の当該周波数でのエネルギーを計算して、両者のエネルギー比により判断することもできる。エネルギー比が設定されるエネルギー比の閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。
【００４７】
（３）ハードウェア装置による非線形検出
実際の応用において、ハードウェア装置のコストを最小限に抑えるために、安価なハードウェアを使用する場合が多い。したがって、動作状態で非線形現象（スピーカーの音量過大、電池残量の不足など）が発生するおそれがある。これらの非線形現象の検出には以下の方法を採用することができる。
【００４８】
まず、低い周波数範囲Ｎ（例えば、３００ＨＺ〜８００ＨＺ、具体的には経験及び／又は大量の実験結果から決定する）内の参照信号及びマイク信号の相互相関平均値を計算する。
【００４９】
周波数ｎの時に、参照信号及びマイク信号の相互相関の計算式を式１．３に示す。
【数３】
2021500778.tif 000010
【００５０】
ここで、
2021500778.tif 000011
βを平滑化係数とし、大量の実験及び／又は経験から決定する。
【００５１】
そこで、低周波数範囲Ｎ内において、参照信号及びマイク信号の相互相関平均値は次の通りである。
【数４】
2021500778.tif 000012
【００５２】
つぎに、特定の周波数間隔ｄ（１≦ｄ＜２０）を用いて、その他の周波数範囲内における参照信号及びマイク信号の相互相関平均値を計算する。具体的な計算方法は上記の低い周波数範囲内の相互相関平均値の計算方法と同様である。
【００５３】
最後に、その他の周波数間隔の相互相関平均値及び低周波数範囲内の相関平均値に従って、非線形状態を有する周波数信号を判定する。例えば、その他の周波数範囲内の相関平均値が低周波数範囲内の相関平均値（両者の比＜０．１など）より明らかに小さいか否かを判断する。小さい場合、当該周波数範囲内の信号が非線形であることを意味する。
【００５４】
実際の応用において、上記のいずれか１つの検出方式を単独で採用することもでき、もちろん、上記の検出方式のいずれか２つ又は３つを利用して総合的に判断することもできる。また複数の検出方式を用いて総合的に判断する場合は、各検出方法により得られた値を重み付け法で分析し、又は複数の検出方法により各周波数に非線形状態があることを判定した後、当該周波数信号に非線形状態があることを判定するなど、検出方式をどう採用するのかは、本出願実施例で限定されないことに注意されたい。
【００５５】
ステップ１０３：マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出する。
【００５６】
まず、遅延時間分析範囲内に含まれる各フレームのマイク信号を判定する。サンプリングレートを１６ＫＨＺとし、最大遅延時間を１ｓとすると、遅延時間分析範囲は３０フレームで、即ち、毎回の遅延時間分析にはそれぞれ参照信号と当該３０フレームのそれぞれのマイク信号との相互相関を計算する。
【００５７】
つぎに、参照信号及び各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算する。
【００５８】
具体的には、現在のフレームから非線形現象が発生しない周波数信号を選択し、周波数５１２個（ＦＦＴ長さの区間を１０２４とする）を例にすると、各周波数の２つの信号の相互相関を計算する（上記の計算式１．３を参照する）。
【００５９】
各周波数の相互相関が得られた後、現在のフレームにおける各周波数の相互相関平均値を計算し、当該平均値を現在のフレームの参照信号と現在のフレームのマイク信号の相互相関として扱う。
【００６０】
説明すべき点につては、相互相関に基づく遅延時間推定がより正確になるよう、相互相関を計算する時にオーディオの通常周波数範囲（１６ＫＨＺのサンプリングを例にすると、音声の通常周波数は１５００Ｈｚ〜４６２５Ｈｚ）内の周波数を選択して参照信号とマイク信号の相互相関を計算することができる。さらに、計算量を削減し、効率を高めるためには、通常周波数のうちＭ個（例えば、Ｍ＝１００）の周波数を選択して参照信号とマイク信号の相互相関を計算することができる。
【００６１】
最後に、算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定する。
【００６２】
実際の応用において、遅延時間推定値の決定には複数の方式があり、以下のようにそれぞれを説明する。
【００６３】
例１：算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、現在の遅延時間位置及び参照信号の位置により、現在の遅延時間推定値を決定する。
【００６４】
例えば、現在の参照信号フレームを基準にして、参照信号を第５０フレームとし、遅延時間分析範囲内に３０フレームのマイク信号（それぞれ第２０〜第５０フレームのマイク信号）とすると、３０フレームのマイク信号のそれぞれを第５０フレームの参照信号と比較する。現在の第５０フレームの参照信号と第２５フレームのマイク信号の相互相関が一番大きい場合、現在の遅延時間推定値は５０−２５＝２５とする。もちろん、参照信号のフレーム数（例えば、１８とする）が３０より小さい場合、比較を行うマイク信号は現在のフレームの前のすべてのフレームであり、即ち、第１８フレーム参考信号をそれぞれ１〜１８フレームのマイク信号に比較する。
【００６５】
例２：現在の遅延時間推定値のロバストネスがより高くなるよう、以下のロバストネス条件の１つ又は複数を満たすことができる。つまり、最大相互相関のフレームを算出する後に、以下のいずれか１つ又は複数の条件を満たすか否かを判断しなければならない。満たす場合、現在の遅延時間位置及び参照信号の位置により現在の遅延時間推定値を決定する。さもなければ、引き続き次回の遅延時間推定を行う。
【００６６】
ロバストネス条件は次の通りである。
【００６７】
（１）現在の遅延時間位置に対応する相互相関Ｃ（ｔ）が前回の遅延時間位置に対応する相互相関Ｃ（ｔ−１）より大きい。
【００６８】
（２）現在の遅延時間分析範囲内の各フレームの最大相互相関Ｃｍａｘ（ｔ）及び最小相互相関Ｃｍｉｎ（ｔ）に対応する位置の差分値が設定した第１設定差分値（例えば、第１設定差分値を３とする）より大きい。
【００６９】
（３）参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Ｃｍｅａｎ（ｔ）と現在の遅延時間位置に対応する相互相関Ｃ（ｔ）との差分値が第２設定差分値より大きい。
【００７０】
（４）現在の遅延時間位置ｐ（ｔ）が前回の遅延時間位置ｐ（ｔ−１）より小さい。
【００７１】
例３：遅延時間に基づいて参照信号の移動、フィルタ更新を行う時には、フィルタの収束に伴い、厳しい遅延時間推定の正確性が要求され、より正確な遅延時間を得るために、この実施例においては、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、過去データに基づき、候補遅延時間位置の変化状況により候補遅延時間位置に対してペナルティ及び／又はボーナスを加えることで、最終的に得られた遅延時間推定値がより正確になる。
【００７２】
遅延時間推定値の具体的な決定過程は次の通りである。
【００７３】
まず、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、候補遅延時間位置をＬ次元（ここで、Ｌ＝遅延時間分析範囲内のマイク信号の総フレーム数）の配列Ｓａに統計し、候補遅延時間位置の連続発生数ｃｏｕｎｔを集計する。不連続が発生した場合、ｃｏｕｎｔを０と設定する。
【００７４】
今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、前回の候補遅延時間位置から第２設定値ｔ２を減算し、残りの位置から第３設定値ｔ３を減算する。
【００７５】
今回の候補遅延時間位置に変化がない場合、今回の候補遅延時間位置の信頼性が増加し、それに対し、前回推定された候補遅延時間位置及びその他の位置の信頼性が低いことを意味するため、今回の候補遅延時間位置に第１設定値ｔ１を加算し、残りの位置に第３設定値ｔ３を減算する。前回の候補位置の信頼性はその他の位置よりも高いので、その統計量の減少が弱くなる。ｔ１、ｔ２、ｔ３の値について、経験又は大量の実験で決定することができる。通常、ｔ３＞＝ｔ２（例えば、ｔ１、ｔ２、ｔ３をそれぞれ２、１、２とする）。
【００７６】
今回の候補遅延時間位置が第１閾値Ｔ１（例えば、Ｔ１を１０とする）より大きく、且つ当該候補遅延時間位置の連続発生数が第２閾値Ｔ２（例えば、Ｔ２を４とする）より大きい場合、現在の候補遅延時間位置の推定はより正確なものであることを意味し、より正確な遅延時間Ｄ１（ｔ）として扱う。
【００７７】
例４：現在の遅延時間推定値のロバストネスがより高くなるよう、上記の例３の方式を用いて遅延時間推定値を決定する時にも、上記のロバストネス条件の１つ又は複数を満たすか否かを判断することができる。満たす場合、現在の遅延時間位置及び参照信号の位置により現在の遅延時間推定値を決定する。さもなければ、引き続き次回の遅延時間推定を行う。
【００７８】
ステップ１０４：現在の遅延時間推定値に基づき、参照信号を移動する。
【００７９】
上記の例１、例２、例３、例４の各方式で決定される現在の遅延時間推定値に対しては、実際の応用において、参照信号のデータを適切な遅延時間推定値で移動することができる。
【００８０】
また、上記の例３又は例４の方式で決定される現在の遅延時間推定値Ｄ１（ｔ）の場合、候補遅延時間位置の推定精度は区間によって異なることを考慮し、次のような方式で参照信号を移動することができる。
【００８１】
現在の遅延時間推定値Ｄ１（ｔ）＜＝第３閾値Ｔ３（例えば、１０とする）の場合、参
照信号のデータを移動しない。
【００８２】
第３閾値Ｔ３＜現在の遅延時間推定値Ｄ１（ｔ）＜第４閾値Ｔ４（例えば、２０とする）の場合、参照信号のデータをＤ１（ｔ）／２移動する。
【００８３】
第４閾値Ｔ４＜＝現在の遅延時間推定値Ｄ１（ｔ）の場合、参照信号のデータをＤ１（ｔ）移動することとを含む。
【００８４】
また、従来の遅延時間に基づいて参照信号を移動する時の過去参照信号内容が紛失するという問題に関しては、本出願方法のもう１つの実施例において、現在の遅延時間推定値に従って参照信号を移動する時に、さらに過去参照信号データを連携移動することができる。具体的には、過去参照信号のデータをバッファリングし、参照信号を移動する時に、バッファリングされた過去参照信号のデータを連携移動する。
【００８５】
図２に示すように、これは本出願の実施例においてバッファリングされた過去参照信号データの連携移動と従来技術の比較模式図である。
【００８６】
図２に示すように、従来技術において、遅延時間推定を３とすると、参照信号を移動する時に、ｎ−３時刻の参照信号データを直接に使用してｎ時刻の参照信号データに取って代わるが、過去参照信号データの場合、図のｎ−１〜ｎ−４時刻の参照信号データがそのまま保持されるため、信号が不連続になっていることがわかる。図２に示すように、本出願の実施例を利用して参照信号を移動する時に、ｎ−３時刻の参照信号データを用いてｎ時刻の参照信号データに置き換えるだけでなく、それに過去参照信号データも同時に連携移動するため、信号の不連続、即ち、過去参照信号内容の紛失によるエコー除去効果への影響を回避する。
【００８７】
ステップ１０５：前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する。
【００８８】
具体地には、マイク信号ｙ（ｔ，ｎ）及び移動後の参照信号ｘ’（ｔ，ｎ）に基づき、エコー除去後の出力信号は次の通りである。
【数５】
2021500778.tif 000013
ここで、ｈ（ｔ，ｎ）をフィルタ係数とする。
【００８９】
フィルタ係数ｈ（ｔ，ｎ）の更新は次の通りである。
【数６】
2021500778.tif 000014
ここで、γをフィルタの更新ステップサイズとし、大量の実験及び／又は経験から決定し、θを正則化因子とし、通常、大量の実験及び／又は経験から決定する。
【００９０】
遅延時間に変化がある場合、フィルタ係数を再更新する必要があり、フィルタ係数の更新速度を高め、フィルタ係数の更新によるエコー除去性能の低下影響を削減するため、本出願方法のもう１つの実施例において、現在の遅延時間推定値がフィルタ長さより小さい場合、適応フィルタ係数を更新する時に、フィルタ係数を遅延時間推定値に従って移動し、移動後の係数に基づき更新し、移動後に係数がない位置に対応する係数をリセットし（
例えば、０にリセットする）、リセット後の係数に基づき更新し、フィルタ係数の更新時間を短縮させる。
【００９１】
図３に示すように、本出願の実施例においてフィルタ更新時に誤ったフィルタ係数を０にリセットする例と従来技術の比較模式図である。
【００９２】
仮に遅延時間推定値を３とすると、ここで、左側は従来技術のフィルタ係数の更新模式図であり、従来技術において、フィルタ係数を更新する時に、すべての係数を現在の値に基づいて更新することが分かる。右側は本出願の実施例におけるフィルタ係数の更新模式図であり、第ｎ個及び第ｎ−１個のフィルタ係数を更新し、その他のフィルタ係数を０にリセットする上で更新することが分かる。
【００９３】
本出願の実施例に係るエコー除去方法は、マイク信号及び参照信号のうち非線形状態を有する周波数を検出し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出する。即ち、非線形状態を除去する上で参照信号及びマイク信号間の遅延時間を推定することにより、遅延時間推定値がより正確になり、また現在の遅延時間推定値に基づき参照信号を移動し、マイク信号及び移動後の参照信号に基づき適応フィルタを更新することにより、エコー除去を実現し、エコー除去の効果を効果的に向上させる。
【００９４】
さらに、遅延時間を推定する時に、複数のロバストネス条件に基づき、遅延時間推定値を修正することにより、推定された遅延時間のロバストネスが高くなる。
【００９５】
さらに、適応フィルタを更新する中で、過去参照信号のデータのバッファリングと連携移動、及び参考にならないフィルタ係数のリセットは遅延時間の変化によるフィルタの再収束時間を低減させ、エコー除去性能に対する再収束の影響を削減することができる。
【００９６】
それに応じて、本出願の実施例において、さらに遅延時間推定に基づくエコー除去装置を提供する。図４に示すように、当該装置の原理ブロック図である。
【００９７】
図４では、テレビＳＴＢでのエコー除去を例にする。ここで、参照信号はテレビＳＴＢからテレビへのソース信号であり、もちろん、従来の一般的なテレビスピーカー信号でもよい。テレビＳＴＢのマイクで拾った信号はマイク信号として、ユーザーＡが音声でテレビＳＴＢを制御する。
【００９８】
図４の入力信号はスピーカーのエコー信号を含み、入力信号はＡ／Ｄ変換を行い、変換後のデジタル信号は本出願の実施例における遅延時間推定に基づくエコー除去装置４００を経由し、エコー除去装置４００により入力信号のエコー信号を除去して出力信号（即ち、ユーザーＡの音声信号）が得られ、テレビＳＴＢは当該出力信号を解析し、ユーザーＡの制御命令が得られる。
【００９９】
この実施例において、遅延時間推定に基づくエコー除去装置４００は以下の各モジュールを含む。
【０１００】
信号処理モジュール４０１、４０１′：マイク信号及び参照信号を受信し、前処理を行い、前処理後のマイク信号及び参照信号を出力する。前処理は主にフレーミング、ウィンドウイング、高速フーリエ変換などの処理を含み、タイムドメインの参照信号及びマイク信号を適切な周波数ドメイン信号に変換する。
【０１０１】
周波数検出モジュール４０２、４０２′：現在のエコー除去場面において、信号処理モ
ジュールから出力された前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する。
【０１０２】
遅延時間推定モジュール４０３：周波数検出モジュールにより判定されたマイク信号及び参照信号のうち、非線形状態を有しない周波数信号により、現在の遅延時間推定値を計算して出力する。
【０１０３】
信号移動モジュール４０４：遅延時間推定モジュールから出力された現在の遅延時間推定値に基づき、参照信号を移動し、移動後の参照信号を出力する。
【０１０４】
適応フィルタ４０５：信号処理モジュールから出力された前処理後のマイク信号及び信号移動モジュール４００から出力された移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する。
【０１０５】
説明すべき点については、図４において、信号処理モジュール４０１及び信号処理モジュール４０１′、周波数検出モジュール４０２及び周波数検出モジュール４０２′は本出願装置の実現原理を容易に理解するためのものであり、実際の応用において、信号処理モジュール４０１及び信号処理モジュール４０１′は同一の物理的実体であってもよく、同様、周波数検出モジュール４０２及び周波数検出モジュール４０２′は同一の物理的実体であってもよい。もちろん、信号処理モジュール及び周波数検出モジュールは同一の物理的実体であってもよい。これらに対し、本出願の実施例では限定されない。
【０１０６】
図４は本出願装置の１つの応用例であり、説明すべき点については、本出願の実施例に係る装置は様々な場面に応用することができる。例えば、テレビＳＴＢでテレビを制御する場合は、本出願装置をテレビＳＴＢに組み込むことで、テレビＳＴＢへの制御音声におけるテレビ再生音を効果的に除去することができる。他の応用はここで例をあげない。
【０１０７】
実際の応用環境及びハードウェア装置の多様性を考慮し、非線形状態を有する周波数信号の有無を判定するには様々な検出方法がある。それに応じて、上記の周波数検出モジュールには以下のいずれか１つ又は複数の検出ユニットを設置し、様々な状況での非線形周波数を検出する。
【０１０８】
遠端信号検出ユニット：前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか１つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する。例えば、参照信号ｘの特定の周波数でのエネルギーＰｘが設定されるエネルギー閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。
【０１０９】
ダブルトーク信号検出ユニット：前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定する。具体的には、前述した本出願方法の実施例の記載を参照し、ここで省略する。
【０１１０】
ハードウェア装置検出ユニット：まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定する。例えば、その他の周波数範囲内の相関平均値が低周波数範囲内の相関平均値より明らかに小さい場合、当該周波数範囲内的信号が非線形である。
【０１１１】
上記の遅延時間推定モジュール４０３は相互相関計算ユニット及び遅延時間推定値決定ユニットを含み、ここで、相互相関計算ユニットは参照信号及び遅延時間分析範囲内の各
フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算するために使用され、遅延時間推定値決定ユニットは相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定するために使用される。
【０１１２】
例えば、遅延時間推定値決定ユニットは、相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、現在の遅延時間位置及び参照信号の位置により、現在の遅延時間推定値を決定することができる。
【０１１３】
さらに、現在の遅延時間推定値のロバストネスがより高くなるよう、遅延時間推定値決定ユニットが遅延時間推定値を決定する時に、以下のロバストネス条件の１つ又は複数を満たすか否かを考慮することができる。満たす場合、現在の遅延時間位置及び参照信号の位置により現在の遅延時間推定値を決定する。さもなければ、引き続き次回の遅延時間推定を行う。
【０１１４】
ロバストネス条件は次の通りである。
【０１１５】
（１）現在の遅延時間位置に対応する相互相関Ｃ（ｔ）が前回の遅延時間位置に対応する相互相関Ｃ（ｔ−１）より大きい。
【０１１６】
（２）現在の遅延時間分析範囲内の各フレームの最大相互相関Ｃｍａｘ（ｔ）及び最小相互相関Ｃｍｉｎ（ｔ）に対応する位置の差分値が設定した第１設定差分値より大きい。
【０１１７】
（３）参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Ｃｍｅａｎ（ｔ）と現在の遅延時間位置に対応する相互相関Ｃ（ｔ）との差分値が第２設定差分値より大きい。
【０１１８】
（４）現在の遅延時間位置ｐ（ｔ）が前回の遅延時間位置ｐ（ｔ−１）より小さい。
【０１１９】
また、遅延時間に基づいて参照信号の移動、フィルタ更新を行う時には、フィルタの収束に伴い、厳しい遅延時間推定の正確性が要求される。したがって、より正確な遅延時間を得るために、遅延時間推定決定ユニットが最大相互相関のフレームに対応する位置を候補遅延時間位置として扱うことができ、過去データに基づき、候補遅延時間位置の変化状況により候補遅延時間位置に対してペナルティ及び／又はボーナスを加えることで、最終的に得られた遅延時間推定値がより正確になる。具体的には、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、候補遅延時間位置をＬ次元（ここで、Ｌ＝遅延時間分析範囲内のマイク信号の総フレーム数）の配列Ｓａに統計し、候補遅延時間位置の連続発生数を集計し、今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、前回の候補遅延時間位置から第２設定値ｔ２を減算し、残りの位置から第３設定値ｔ３を減算し、今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第１設定値ｔ１を加算し、残りの位置から第３設定値ｔ３を減算し、ここで、第２設定値ｔ２は第３設定値ｔ３以下とし、今回の候補遅延時間位置が第１閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第２閾値より大きい場合、今回の候補遅延時間位置及び参照信号の位置により、現在の遅延時間推定値を決定する。ｔ１、ｔ２、ｔ３の値について、経験又は大量の実験で決定することができる。通常、ｔ３＞＝ｔ２（例えば、ｔ１、ｔ２、ｔ３をそれぞれ２、１、２とする）。
【０１２０】
説明すべき点については、遅延時間推定値決定ユニットが上記の方式に従って遅延時間推定値を決定する時にも、上記のロバストネス条件の１つ又は複数を満たすか否かを考慮することができ、現在の遅延時間推定値のロバストネスがより高くなる。
【０１２１】
実際の応用において、信号移動モジュール４０４が上記の遅延時間推定値決定ユニットにより各方式を用いて決定された現在の遅延時間推定値に対して、参照信号のデータを適切な遅延時間推定値で移動することができる。
【０１２２】
また、上記の過去データに基づき、候補遅延時間位置の変化状況により候補遅延時間位置に対してペナルティ及び／又はボーナスを加えた後、遅延時間推定値の状況が得られ、候補遅延時間位置の推定精度は区間によって異なるため、上記の信号移動モジュール４０４が以下の方式で参照信号を移動することもできる。現在の遅延時間推定値Ｄ１（ｔ）＜＝第３閾値Ｔ３の場合、参照信号のデータを移動しなく、第３閾値Ｔ３＜現在の遅延時間推定値Ｄ１（ｔ）＜第４閾値Ｔ４の場合、参照信号のデータをＤ１（ｔ）／２移動し、第４閾値Ｔ４＜＝現在の遅延時間推定値Ｄ１（ｔ）の場合、参照信号のデータをＤ１（ｔ）移動する。
【０１２３】
さらに、参照信号を移動する時に、過去参照信号の内容が紛失することを回避するため、図５に示すように、本出願装置のもう１つの実施例において、過去参照信号のデータをバッファリングするバッファリングモジュール５０１を含んでもよい。
【０１２４】
それに応じて、この実施例において、信号移動モジュール４０４が参照信号を移動する時に、バッファリングモジュールにバッファリングされた過去参照信号のデータを連携移動する。
【０１２５】
本出願装置のもう１つの実施例において、適応フィルタ４０５は係数を更新する時に、現在の遅延時間推定値がフィルタ長さより小さい場合、フィルタ係数を遅延時間推定値で移動し、移動後の係数に基づいて更新し、移動後に係数がない位置に対応する係数をリセット（例えば、これらの参考にならないフィルタ係数を０にリセットする）した後、リセット後の係数に基づいて更新する。
【０１２６】
本出願の実施例に係るエコー除去装置は、マイク信号及び参照信号のうち非線形状態を有する周波数を検出し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出する。即ち、非線形状態を除去する上で参照信号及びマイク信号間の遅延時間を推定することにより、遅延時間推定値がより正確になり、また現在の遅延時間推定値に基づき参照信号を移動し、マイク信号及び移動後の参照信号に基づき適応フィルタを更新することにより、エコー除去を実現し、エコー除去の効果を効果的に向上させる。
【０１２７】
さらに、遅延時間を推定する時に、複数のロバストネス条件に基づき、遅延時間推定値を修正することにより、推定された遅延時間のロバストネスが高くなる。
【０１２８】
さらに、適応フィルタを更新する中で、過去参照信号のデータのバッファリングと連携移動、及び参考にならないフィルタ係数のリセットはいずれも遅延時間の変化によるフィルタの再収束時間を低減させ、エコー除去性能に対する再収束の影響を削減することができる。
【０１２９】
さらに、本出願の実施例において遅延時間推定に基づくエコー除去装置を提供し、それはプロセッサ、メモリ、システムバスを含む。
【０１３０】
プロセッサ及びメモリはシステムバスを介して接続される。
【０１３１】
メモリは１つ又は複数のプログラムを格納するために使用され、１つ又は複数のプログラムは命令を含み、命令はプロセッサで実行された時に、プロセッサに上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの実現方式を実行させる。
【０１３２】
さらに、本出願の実施例においてコンピュータ読取可能な記憶媒体を提供し、コンピュータ読取可能な記憶媒体に命令が記憶され、命令は端末装置で実行される時に、端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの実現方式を実行させる。
【０１３３】
さらに、本出願の実施例においてコンピュータプログラム製品を提供し、コンピュータプログラム製品は端末装置で実行される時に、端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの実現方式を実行させる。
【０１３４】
本明細書の各実施例はプログレッシブな方式で記載し、各実施例間の同一・類似する部分は互いに参照でき、各実施例はその他の実施例との相違点について重点を置いて記載される。また、以上のように記載される装置の実施例は例示的なものであり、ここで、分割部品として述べられたユニットは物理的な分割であっても、なくてもよい。ユニットとして示される部品は物理的なユニットであっても、なくてもよい。また、１つの箇所に位置するか、複数のネットワークユニットに分散する場合がある。実際のニーズに応じて、その一部又は全部のモジュールを選択して、本実施例の解決案の目的を果たすことができる。当業者であれば、創造的な労働をせずに容易に理解して実施することができる。
【０１３５】
以上、本出願の実施例を詳細に説明し、本文では具体的な実施形態を用いて本出願を説明し、以上の実施例の説明は本出願を理解するための方法及び装置である。また、当業者にとっては、本出願のアイデアに基づいて具体的な実施形態及び応用範囲を変更することができ、以上のことから、本明細書の内容は本出願への制限と理解すべきではない。
【図１】
2021500778.tif 000015
【図２】
2021500778.tif 000016
【図３】
2021500778.tif 000017
【図４】
2021500778.tif 000018
【図５】
2021500778.tif 000019
【国際調査報告】
2021500778.tif 000020
2021500778.tif 000021
2021500778.tif 000022
2021500778.tif 000023
2021500778.tif 000024