(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-01
(45)【発行日】2022-02-09
(54)【発明の名称】遅延時間推定に基づくエコー除去方法及び装置
(51)【国際特許分類】
H04B 3/23 20060101AFI20220202BHJP
H04M 1/00 20060101ALI20220202BHJP
H03H 21/00 20060101ALI20220202BHJP
H04R 3/02 20060101ALI20220202BHJP
H04R 3/00 20060101ALI20220202BHJP
【FI】
H04B3/23
H04M1/00 H
H03H21/00
H04R3/02
H04R3/00 320
(21)【出願番号】P 2020517351
(86)(22)【出願日】2018-07-16
(86)【国際出願番号】 CN2018095759
(87)【国際公開番号】W WO2019080552
(87)【国際公開日】2019-05-02
【審査請求日】2020-05-18
(31)【優先権主張番号】201710994195.X
(32)【優先日】2017-10-23
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】518394983
【氏名又は名称】アイフライテック カンパニー,リミテッド
(74)【代理人】
【識別番号】110002860
【氏名又は名称】特許業務法人秀和特許事務所
(72)【発明者】
【氏名】リー,ミンズー
(72)【発明者】
【氏名】マー,フォン
(72)【発明者】
【氏名】ワン,ハイクン
(72)【発明者】
【氏名】ワン,チグォ
(72)【発明者】
【氏名】フー,グォピン
【審査官】後澤 瑞征
(56)【参考文献】
【文献】特開2013-012841(JP,A)
【文献】特開2016-025471(JP,A)
【文献】中国特許出願公開第105872156(CN,A)
【文献】特開2004-282700(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 3/23
H04M 1/00
H03H 21/00
H04R 3/02
H04R 3/00
(57)【特許請求の範囲】
【請求項1】
遅延時間推定に基づくエコー除去方法であって、
マイク信号及び参照信号をそれぞれ受信し、それらを前処理することと、
現在のエコー除去場面において
前記前処理後のマイク信号及び参照信号のうち、非線形状態を有する周波数信号を判定することと、
マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することと、
前記現在の遅延時間推定値に基づき、前記参照信号を移動することと、
前記前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現することと、
を含
み、
前記前処理はタイムドメインの前記参照信号及び前記マイク信号を適切な周波数ドメイン信号に変換する、
ことを特徴とする遅延時間推定に基づくエコー除去方法。
【請求項2】
現在のエコー除去場面において
前記前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定することは、
前記前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか1つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出と、
前記前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出と、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置に起因する非線形検出と、のうちいずれか1つまたは複数の検出を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算するこ
とと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
算出された各フレームの参照信号及びマイク信号の相互相関により、遅延時間推定値を決定することは、
算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む、
ことを特徴とする請求項3に記載の方法。
【請求項5】
算出された各フレームの参照信号及びマイク信号の相互相関により、現在の遅延時間推定値を決定することは、
毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をL次元の配列Saに統計し、ここで、L=遅延時間分析範囲内のマイク信号の総フレーム数、前記候補遅延時間位置の連続発生数を集計し、
今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第1設定値t1を加算し、前回の候補遅延時間位置から第2設定値t2を減算し、残りの位置から第3設定値t3を減算し、
今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第1設定値t1を加算し、残りの位置から第3設定値t3を減算し、ここで、前記第2設定値t2は第3設定値t3以下とし、
今回の候補遅延時間位置が第1閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第2閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む、
ことを特徴とする請求項3に記載の方法。
【請求項6】
前記現在の遅延時間推定値に基づき、前記参照信号を移動することは、
現在の遅延時間推定値D
1(t)<=第3閾値T3の場合、前記参照信号のデータを移動しなく、第3閾値T3<現在の遅延時間推定値D
1(t)<第4閾値T4の場合、前記参照信号のデータをD
1(t)/2移動し、第4閾値T4<=現在の遅延時間推定値D
1(t)の場合、前記参照信号のデータをD
1(t)移動することを含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することは、
現在の遅延時間位置に対応する相互相関C(t)が前回の遅延時間位置に対応する相互相関C(t-1)より大きいという条件(1)と、
現在の遅延時間分析範囲内の各フレームの最大相互相関C
max(t)及び最小相互相関C
min(t)に対応する位置の差分値が設定した第1設定差分値より大きいという条件(2)と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値C
mean(t)と現在の遅延時間位置に対応する相互相関C(t)との差分値が第2設定差分値より大きいという条件(3)と、
現在の遅延時間位置p(t)が前回の遅延時間位置p(t-1)より小さいという条件(4)とのうちいずれか1つ又は複数の条件を満たす、
ことを特徴とする請求項4又は5又は6に記載の方法。
【請求項8】
過去参照信号のデータをバッファリングすることと、
前記参照信号を移動する時に、バッファリングされた過去参照信号のデータを連携移動することと、をさらに含む、
ことを特徴とする請求項1ないし6のいずれかの1つに記載の方法。
【請求項9】
現在の遅延時間推定値がフィルタ長さより小さい場合、適応フィルタ係数を更新する時に、フィルタ係数を遅延時間推定値に従って移動し、移動後の係数に基づき更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づき更新することをさらに含む、
ことを特徴とする請求項1ないし6のいずれかの1つに記載の方法。
【請求項10】
遅延時間推定に基づくエコー除去装置であって、
マイク信号及び参照信号を受信し、前処理を行い、
前記前処理後のマイク信号及び参照信号を出力する信号処理モジュール
であって、前記前処理はタイムドメインの前記参照信号及び前記マイク信号を適切な周波数ドメイン信号に変換する信号処理モジュールと、
現在のエコー除去場面において、前記信号処理モジュールから出力された
前記前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する周波数検出モジュールと、
前記周波数検出モジュールにより判定されたマイク信号及び参照信号のうち、非線形状態を有しない周波数信号により、現在の遅延時間推定値を計算して出力する遅延時間推定モジュールと、
前記遅延時間推定モジュールから出力された現在の遅延時間推定値に基づき、前記参照信号を移動し、移動後の参照信号を出力する信号移動モジュールと、
前記信号処理モジュールから出力された
前記前処理後のマイク信号及び前記信号移動モジュールから出力された移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する適応フィルタと、
を含むことを特徴とする遅延時間推定に基づくエコー除去装置。
【請求項11】
前記周波数検出モジュールは、
前記前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか1つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出ユニットと、
前記前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出ユニットと、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置検出ユニットとのうちいずれかの1つ又は複数の検出ユニットを含む、
ことを特徴とする請求項10に記載の装置。
【請求項12】
前記遅延時間推定モジュールは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算する相互相関計算ユニットと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定する遅延時間推定値決定ユニットと、
を含むことを特徴とする請求項10に記載の装置。
【請求項13】
前記遅延時間推定値決定ユニットは、具体的に、前記相互相関計算ユニットにより算出
された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する、
ことを特徴とする請求項12に記載の装置。
【請求項14】
前記遅延時間推定値決定ユニットは、具体的に、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をL次元の配列Saに統計し、ここで、L=遅延時間分析範囲内のマイク信号の総フレーム数、前記候補遅延時間位置の連続発生数を集計し、今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第1設定値t1を加算し、前回の候補遅延時間位置から第2設定値t2を減算し、残りの位置から第3設定値t3を減算し、今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第1設定値t1を加算し、残りの位置から第3設定値t3を減算し、ここで、前記第2設定値t2は第3設定値t3以下とし、今回の候補遅延時間位置が第1閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第2閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する、
ことを特徴とする請求項12に記載の装置。
【請求項15】
前記信号移動モジュールは、具体的に、現在の遅延時間推定値D
1(t)<=第3閾値T3の場合、前記参照信号のデータを移動しなく、第3閾値T3<現在の遅延時間推定値D
1(t)<第4閾値T4の場合、前記参照信号のデータをD
1(t)/2移動し、第4閾値T4<=現在の遅延時間推定値D
1(t)の場合、前記参照信号のデータをD
1(t)移動する、
ことを特徴とする請求項14に記載の装置。
【請求項16】
前記遅延時間推定値決定ユニットは遅延時間推定値を決定する時にさらに、
現在の遅延時間位置に対応する相互相関C(t)が前回の遅延時間位置に対応する相互相関C(t-1)より大きいという条件(1)と、
現在の遅延時間分析範囲内の各フレームの最大相互相関C
max(t)及び最小相互相関C
min(t)に対応する位置の差分値が設定した第1設定差分値より大きいという条件(2)と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値C
mean(t)と現在の遅延時間位置に対応する相互相関C(t)との差分値が第2設定差分値より大きいという条件(3)と、
現在の遅延時間位置p(t)が前回の遅延時間位置p(t-1)より小さいという条件(4)とのうちいずれかの1つ又は複数の条件を満たす、
ことを特徴とする請求項13又は14又は15に記載の装置。
【請求項17】
過去参照信号のデータをバッファリングするバッファリングモジュールをさらに含み、
前記信号移動モジュールは、さらに、前記参照信号を移動する時に、前記バッファリングモジュールにバッファリングされた過去参照信号のデータを連携移動する、
ことを特徴とする請求項10ないし15のいずれかの1つに記載の装置。
【請求項18】
前記適応フィルタは係数を更新する時に、現在の遅延時間推定値がフィルタ長さより小さい場合、フィルタ係数を遅延時間推定値で移動し、移動後の係数に基づいて更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づいて更新する、
ことを特徴とする請求項10ないし15のいずれかの1つに記載の装置。
【請求項19】
遅延時間推定に基づくエコー除去装置であって、
プロセッサ、メモリ、システムバスを含み、前記プロセッサ及び前記メモリは前記システムバスを介して接続され、前記メモリは1つ又は複数のプログラムを格納するために使用され、前記1つ又は複数のプログラムは命令を含み、前記命令は前記プロセッサで実行された場合に、前記プロセッサに請求項1ないし9のいずれかの1つに記載の方法を実行させる、
ことを特徴とする遅延時間推定に基づくエコー除去装置。
【請求項20】
命令が記憶されるコンピュータ読取可能な記憶媒体であって、
前記命令は端末装置で実行される場合に、前記端末装置に請求項1ないし9のいずれかの1つに記載の方法を実行させる、
ことを特徴とするコンピュータ読取可能な記憶媒体。
【請求項21】
コンピュータプログラム製品であって、
前記コンピュータプログラ
ムは端末装置で実行される場合に、前記端末装置に請求項1ないし9のいずれかの1つに記載の方法を実行させる、
ことを特徴とするコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は2017年10月23日に中国特許局へ提出した出願番号201710994195.X、出願名称「遅延時間推定に基づくエコー除去方法及び装置」である中国特許出願の優先権を主張し、その全ての内容はここで参照として本出願に引用される。
【0002】
本出願は信号処理分野に関し、具体的には遅延時間推定に基づくエコー除去方法及び装置に関する。
【背景技術】
【0003】
情報技術の発展に伴い、様々な分散型インテリジェント・ハードウェアが各分野に幅広く応用されている。エコー除去はインテリジェントデバイスのやり取り中の不可欠な一環として、常に関連分野における技術者の研究の焦点となっている。
【0004】
エコー除去とは、本機のマイクで拾った遠端のオーディオ信号を除去又は取り除くことで、遠端の音声が返すのを抑制する処理方法である。従来の典型的なエコー除去手段は遅延時間推定方法に基づき、参照信号とマイク信号の線形相関関係を計算し、最大相互相関に対応する遅延時間を装置の遅延時間として選択し、参照信号を当該装置の遅延時間に基づいて移動し、移動後の参照信号とマイク信号により適応フィルタを更新し、現実のエコーに近い信号を生成し、当該信号をマイク信号から差し引くことで、エコーの除去という目的を達成する。例えば、シングルトーク操作権限のみを有する分散型インテリジェント・ハードウェア装置は参照信号とマイク信号の同期リサンプリングを実現することができない。例えば、日常生活でテレビSTBを用いてテレビを制御するが、テレビSTBとテレビは異なるメーカーによって提供されることが多い。テレビSTBメーカーの場合は、テレビSTBの音声制御にはテレビで再生した音声をエコー除去する必要があるが、テレビSTBの操作権限しか与えられていない。つまり、テレビSTBからテレビへのソース信号及びテレビSTBのマイク収集信号(ここで、テレビSTBからテレビへのソース信号を参照信号とし、テレビSTBのマイク収集信号をマイク信号とする)のみを取得することで、スピーカー信号とマイク信号の同期リサンプリングを確実に実現できない。この場合、参照信号とマイク信号の遅延時間を推定し、当該遅延時間によりエコー除去を実現する必要がある。
【0005】
このように、遅延時間推定の正確さはエコー除去の効果に直接影響を与える。実際の運用環境が複雑で変化が多いため、従来の遅延時間推定に基づくエコー除去技術から得られた遅延時間推定の誤差が大きく、エコー除去効果の向上が期待されている。
【発明の概要】
【発明が解決しようとする技術課題】
【0006】
本出願の実施例は遅延時間推定に基づくエコー除去方法及び装置を提供し、遅延時間推定の誤差を低減させ、エコー除去の効果を高める。
【課題を解決するための手段】
【0007】
したがって、本出願は以下の技術案を提供する。
【0008】
遅延時間推定に基づくエコー除去方法であり、前記方法は、
マイク信号及び参照信号をそれぞれ受信し、それらを前処理することと、
現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定することと、
マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することと、
前記現在の遅延時間推定値に基づき、前記参照信号を移動することと、
前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現することとを含む。
【0009】
好ましくは、前述のように、現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定することは、
前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか1つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出と、
前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出と、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置に起因する非線形検出のうちいずれか1つまたは複数の検出を含む。
【0010】
好ましくは、前述のように、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出することは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算することと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することとを含む。
【0011】
好ましくは、前述のように、算出された各フレームの参照信号及びマイク信号の相互相関により、遅延時間推定値を決定することは、
算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む。
【0012】
好ましくは、前述のように、算出された各フレームの参照信号及びマイク信号の相互相関により、現在の遅延時間推定値を決定することは、
毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をL次元(ここで、L=遅延時間分析範囲内のマイク信号の総フレーム数)の配列Saに統計し、前記候補遅延時間位置の連続発生数を集計し、
今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第1設定値t1を加算し、前回の候補遅延時間位置から第2設定値t2を減算し、残りの位置から第3設定値t3を減算し、
今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第1設定値t1を加算し、残りの位置から第3設定値t3を減算し、ここで、前記第2設定値t2は第3設定値t3以下とし、
今回の候補遅延時間位置が第1閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第2閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定することを含む。
【0013】
好ましくは、前述のように、前記現在の遅延時間推定値に基づき、前記参照信号を移動することは、
現在の遅延時間推定値D1(t)<=第3閾値T3の場合、前記参照信号のデータを移動しないことと、
第3閾値T3<現在の遅延時間推定値D1(t)<第4閾値T4の場合、前記参照信号のデータをD1(t)/2移動することと、
第4閾値T4<=現在の遅延時間推定値D1(t)の場合、前記参照信号のデータをD1(t)移動することとを含む。
【0014】
好ましくは、前述のように、算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定することは、
現在の遅延時間位置に対応する相互相関C(t)が前回の遅延時間位置に対応する相互相関C(t-1)より大きいという条件(1)と、
現在の遅延時間分析範囲内の各フレームの最大相互相関Cmax(t)及び最小相互相関Cmin(t)に対応する位置の差分値が設定した第1設定差分値より大きいという条件(2)と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Cmean(t)と現在の遅延時間位置に対応する相互相関C(t)との差分値が第2設定差分値より大きいという条件(3)と、
現在の遅延時間位置p(t)が前回の遅延時間位置p(t-1)より小さいという条件(4)とのうちいずれか1つ又は複数の条件を満たす必要がある。
【0015】
好ましくは、前記方法はさらに、過去参照信号のデータをバッファリングすることと、前記参照信号を移動する時に、バッファリングされた過去参照信号のデータを連携移動することとを含む。
【0016】
好ましくは、前記方法はさらに、現在の遅延時間推定値がフィルタ長さより小さい場合、適応フィルタ係数を更新する時に、フィルタ係数を遅延時間推定値に従って移動し、移動後の係数に基づき更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づき更新することを含む。
【0017】
遅延時間推定に基づくエコー除去装置であり、前記装置は、マイク信号及び参照信号を受信し、前処理を行い、前処理後のマイク信号及び参照信号を出力する信号処理モジュールと、
現在のエコー除去場面において、前記信号処理モジュールから出力された前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する周波数検出モジュールと、
前記周波数検出モジュールにより判定されたマイク信号及び参照信号のうち、非線形状態を有しない周波数信号により、現在の遅延時間推定値を計算して出力する遅延時間推定モジュールと、
前記遅延時間推定モジュールから出力された現在の遅延時間推定値に基づき、前記参照信号を移動し、移動後の参照信号を出力する信号移動モジュールと、
前記信号処理モジュールから出力された前処理後のマイク信号及び前記信号移動モジュールから出力された移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する適応フィルタとを含む。
【0018】
好ましくは、前記周波数検出モジュールは、
前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか1つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する遠端信号検出ユニットと、
前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定するダブルトーク信号検出ユニットと、
まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定するハードウェア装置検出ユニットとのうちいずれかの1つ又は複数の検出ユニットを含む。
【0019】
好ましくは、前記遅延時間推定モジュールは、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算する相互相関計算ユニットと、
算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定する遅延時間推定値決定ユニットとを含む。
【0020】
好ましくは、前記遅延時間推定値決定ユニットは具体的に、前記相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、前記現在の遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する。
【0021】
好ましくは、前記遅延時間推定値決定ユニットは具体的に、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、前記候補遅延時間位置をL次元(ここで、L=遅延時間分析範囲内のマイク信号の総フレーム数)の配列Saに統計し、前記候補遅延時間位置の連続発生数を集計し、今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第1設定値t1を加算し、前回の候補遅延時間位置から第2設定値t2を減算し、残りの位置から第3設定値t3を減算し、今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第1設定値t1を加算し、残りの位置から第3設定値t3を減算し、ここで、前記第2設定値t2は第3設定値t3以下とし、今回の候補遅延時間位置が第1閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第2閾値より大きい場合、今回の候補遅延時間位置及び前記参照信号の位置により、現在の遅延時間推定値を決定する。
【0022】
好ましくは、前記信号移動モジュールは具体的に、現在の遅延時間推定値D1(t)<=第3閾値T3の場合、前記参照信号のデータを移動しなく、第3閾値T3<現在の遅延時間推定値D1(t)<第4閾値T4の場合、前記参照信号のデータをD1(t)/2移動し、第4閾値T4<=現在の遅延時間推定値D1(t)の場合、前記参照信号のデータをD1(t)移動する。
【0023】
好ましくは、前記遅延時間推定値決定ユニットは遅延時間推定値を決定する時にさらに、現在の遅延時間位置に対応する相互相関C(t)が前回の遅延時間位置に対応する相互相関C(t-1)より大きいという条件(1)と、
現在の遅延時間分析範囲内の各フレームの最大相互相関Cmax(t)及び最小相互相関Cmin(t)に対応する位置の差分値が設定した第1設定差分値より大きいという条件(2)と、
参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Cmean(t)と現在の遅延時間位置に対応する相互相関C(t)との差分値が第2設定差分値より大きいという条件(3)と、
現在の遅延時間位置p(t)が前回の遅延時間位置p(t-1)より小さいという条件(4)とのうちいずれかの1つ又は複数の条件を満たさなければならない。
【0024】
好ましくは、前記装置はさらに、過去参照信号のデータをバッファリングするバッファ
リングモジュールを含み、
前記信号移動モジュールはさらに、前記参照信号を移動する時に、前記バッファリングモジュールにバッファリングされた過去参照信号のデータを連携移動する。
【0025】
好ましくは、前記適応フィルタは係数を更新する時に、現在の遅延時間推定値がフィルタ長さより小さい場合、フィルタ係数を遅延時間推定値で移動し、移動後の係数に基づいて更新し、移動後に係数がない位置に対応する係数をリセットし、リセット後の係数に基づいて更新する。
【0026】
遅延時間推定に基づくエコー除去装置であり、当該装置にはプロセッサ、メモリ、システムバスを含む。
前記プロセッサ及び前記メモリは前記システムバスを介して接続される。
前記メモリは1つ又は複数のプログラムを格納するために使用され、前記1つ又は複数のプログラムは命令を含み、前記命令は前記プロセッサで実行される場合に、前記プロセッサに上記の遅延時間推定に基づくエコー除去方法のうちいずれかの1つの記載の方法を実行させる。
【0027】
コンピュータ読取可能な記憶媒体であり、前記コンピュータ読取可能な記憶媒体に命令が記憶され、前記命令は端末装置で実行される場合に、前記端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの1つの記載の方法を実行させる。
【0028】
コンピュータプログラム製品であり、前記コンピュータプログラム製品は端末装置で実行される場合に、前記端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの1つの記載の方法を実行させる。
【発明の効果】
【0029】
本出願の実施例に係るエコー除去方法及び装置は、マイク信号及び参照信号のうち非線形状態を有する周波数を検出し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出し、即ち、非線形状態を除去する上で参照信号及びマイク信号間の遅延時間を推定することにより、遅延時間推定値がより正確になり、また現在の遅延時間推定値に基づき参照信号を移動し、マイク信号及び移動後の参照信号に基づき適応フィルタを更新することにより、エコー除去を実現し、エコー除去の効果を効果的に向上させる。
【0030】
さらに、遅延時間を推定する時に、複数のロバストネス条件に基づき、遅延時間推定値を修正することにより、推定された遅延時間のロバストネスが高くなる。
【0031】
さらに、適応フィルタを更新する中で、過去参照信号のデータのバッファリングと連携移動、及び参考にならないフィルタ係数のリセットはいずれも遅延時間の変化によるフィルタの再収束時間を低減させ、エコー除去性能に対する再収束の影響を削減することができる。
【図面の簡単な説明】
【0032】
本出願の実施例又は従来技術の技術解決案をより明確に説明するためには、以下、実施例に使用される図面を簡単に説明する。明らかに、下記の図面は、本出願に記載される実施例の一部に過ぎず、当業者であれば、これらの図面から他の図面を得ることができる。
【
図1】は本出願の実施例における遅延時間推定に基づくエコー除去方法のフローチャートである。
【
図2】は本出願の実施例における過去参照信号データの連携移動と従来技術における現在の参照信号のみの移動との比較模式図である。
【
図3】は本出願の実施例においてフィルタ更新時に誤ったフィルタ係数をリセットする例と従来技術の比較模式図である。
【
図4】は本出願の実施例における遅延時間推定に基づくエコー除去装置の原理ブロック図である。
【
図5】は本出願の実施例における遅延時間推定に基づくエコー除去装置のもう1つの原理ブロック図である。
【発明を実施するための形態】
【0033】
当業者が本出願の実施例の解決案をよりよく理解するため、以下の図面及び実施形態を合わせて本出願の実施例を詳細に説明する。
【0034】
実際の応用を考慮し、エコー除去過程で常に大音量、電池残量の不足、遠端信号(即ち、参照信号)がなく、ダブルトーク(即ち、人の声及びスピーカーの音声が同時に出ること)などの非線形状態がよく現れる。これらの状況は非線形オーディオ信号の原因となり、遅延時間を推定する時に相互相関の計算結果にエラーが発生する。最終的にはエコー除去の効果が低くなる。そのため、本出願の実施例では遅延時間推定に基づくエコー除去方法及び装置を提供する。遅延時間を決定する時に、非線形状態を有する周波数を除去し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により遅延時間推定値を決定し、得られた遅延時間推定値がより正確になり、当該遅延時間推定値に基づきエコー除去を実現し、エコー除去の効果を効果的に高める。
【0035】
図1に示すように、本出願の実施例における遅延時間推定に基づくエコー除去方法のフローチャートであり、以下のステップを含む。
【0036】
ステップ101:マイク信号及び参照信号をそれぞれ受信し、それらを前処理する。
【0037】
マイク信号は、音声信号収集用マイクで拾ったA/D変換後のデジタル信号であり、参照信号はエコー除去を必要とするソース信号(同様にデジタル信号)である。テレビSTBのエコー除去を例にすると、テレビSTBメーカーにとっては、参照信号はテレビSTBからテレビへのソース信号であり、もちろん従来一般的なテレビスピーカー信号でもよい。これに対し、本出願の実施例では限定しない。
【0038】
前処理は主にフレーミング、ウィンドウイング、高速フーリエ変換などの処理を含み、タイムドメインの参照信号及びマイク信号を適切な周波数ドメイン信号に変換する。
【0039】
ステップ102:現在のエコー除去場面において前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する。
【0040】
実際の応用環境及びハードウェア装置の多様性を考慮し、非線形状態を有する周波数信号の有無を判定するには以下のような検出方法がある。
【0041】
(1)遠端信号検出:前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか1つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する。例えば、参照信号xの特定の周波数でのエネルギーPxが設定されるエネルギー閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。
【0042】
(2)ダブルトーク信号検出:前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定する。
【0043】
具体的には、参照信号xの特定の周波数での平滑化エネルギー
及びマイク信号の当該周波数での平滑化エネルギー
を計算し、エネルギー比
により判断する。エネルギー比が設定されるエネルギー比の閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。平滑化エネルギー
及び
の計算式は以下の通りである。
【0044】
【0045】
ここで、x(n)、y(n)はそれぞれ周波数nの時の参照信号及びマイク信号を表し、αを平滑化係数とし、その値は大量の実験結果及び/又は経験から決定される。
【0046】
もちろん、参照信号xの特定の周波数でのエネルギー及びマイク信号の当該周波数でのエネルギーを計算して、両者のエネルギー比により判断することもできる。エネルギー比が設定されるエネルギー比の閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。
【0047】
(3)ハードウェア装置による非線形検出
実際の応用において、ハードウェア装置のコストを最小限に抑えるために、安価なハードウェアを使用する場合が多い。したがって、動作状態で非線形現象(スピーカーの音量過大、電池残量の不足など)が発生するおそれがある。これらの非線形現象の検出には以下の方法を採用することができる。
【0048】
まず、低い周波数範囲N(例えば、300HZ~800HZ、具体的には経験及び/又は大量の実験結果から決定する)内の参照信号及びマイク信号の相互相関平均値を計算する。
【0049】
周波数nの時に、参照信号及びマイク信号の相互相関の計算式を式1.3に示す。
【数3】
【0050】
ここで、
βを平滑化係数とし、大量の実験及び/又は経験から決定する。
【0051】
そこで、低周波数範囲N内において、参照信号及びマイク信号の相互相関平均値は次の通りである。
【数4】
【0052】
つぎに、特定の周波数間隔d(1≦d<20)を用いて、その他の周波数範囲内における参照信号及びマイク信号の相互相関平均値を計算する。具体的な計算方法は上記の低い周波数範囲内の相互相関平均値の計算方法と同様である。
【0053】
最後に、その他の周波数間隔の相互相関平均値及び低周波数範囲内の相関平均値に従って、非線形状態を有する周波数信号を判定する。例えば、その他の周波数範囲内の相関平均値が低周波数範囲内の相関平均値(両者の比<0.1など)より明らかに小さいか否かを判断する。小さい場合、当該周波数範囲内の信号が非線形であることを意味する。
【0054】
実際の応用において、上記のいずれか1つの検出方式を単独で採用することもでき、もちろん、上記の検出方式のいずれか2つ又は3つを利用して総合的に判断することもできる。また複数の検出方式を用いて総合的に判断する場合は、各検出方法により得られた値を重み付け法で分析し、又は複数の検出方法により各周波数に非線形状態があることを判定した後、当該周波数信号に非線形状態があることを判定するなど、検出方式をどう採用するのかは、本出願実施例で限定されないことに注意されたい。
【0055】
ステップ103:マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出する。
【0056】
まず、遅延時間分析範囲内に含まれる各フレームのマイク信号を判定する。サンプリングレートを16KHZとし、最大遅延時間を1sとすると、遅延時間分析範囲は30フレームで、即ち、毎回の遅延時間分析にはそれぞれ参照信号と当該30フレームのそれぞれのマイク信号との相互相関を計算する。
【0057】
つぎに、参照信号及び各フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算する。
【0058】
具体的には、現在のフレームから非線形現象が発生しない周波数信号を選択し、周波数512個(FFT長さの区間を1024とする)を例にすると、各周波数の2つの信号の相互相関を計算する(上記の計算式1.3を参照する)。
【0059】
各周波数の相互相関が得られた後、現在のフレームにおける各周波数の相互相関平均値を計算し、当該平均値を現在のフレームの参照信号と現在のフレームのマイク信号の相互相関として扱う。
【0060】
説明すべき点につては、相互相関に基づく遅延時間推定がより正確になるよう、相互相関を計算する時にオーディオの通常周波数範囲(16KHZのサンプリングを例にすると、音声の通常周波数は1500Hz~4625Hz)内の周波数を選択して参照信号とマイク信号の相互相関を計算することができる。さらに、計算量を削減し、効率を高めるためには、通常周波数のうちM個(例えば、M=100)の周波数を選択して参照信号とマイク信号の相互相関を計算することができる。
【0061】
最後に、算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定する。
【0062】
実際の応用において、遅延時間推定値の決定には複数の方式があり、以下のようにそれぞれを説明する。
【0063】
例1:算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、現在の遅延時間位置及び参照信号の位置により、現在の遅延時間推定値を決定する。
【0064】
例えば、現在の参照信号フレームを基準にして、参照信号を第50フレームとし、遅延時間分析範囲内に30フレームのマイク信号(それぞれ第20~第50フレームのマイク信号)とすると、30フレームのマイク信号のそれぞれを第50フレームの参照信号と比較する。現在の第50フレームの参照信号と第25フレームのマイク信号の相互相関が一番大きい場合、現在の遅延時間推定値は50-25=25とする。もちろん、参照信号のフレーム数(例えば、18とする)が30より小さい場合、比較を行うマイク信号は現在のフレームの前のすべてのフレームであり、即ち、第18フレーム参考信号をそれぞれ1~18フレームのマイク信号に比較する。
【0065】
例2:現在の遅延時間推定値のロバストネスがより高くなるよう、以下のロバストネス条件の1つ又は複数を満たすことができる。つまり、最大相互相関のフレームを算出する後に、以下のいずれか1つ又は複数の条件を満たすか否かを判断しなければならない。満たす場合、現在の遅延時間位置及び参照信号の位置により現在の遅延時間推定値を決定する。さもなければ、引き続き次回の遅延時間推定を行う。
【0066】
ロバストネス条件は次の通りである。
【0067】
(1)現在の遅延時間位置に対応する相互相関C(t)が前回の遅延時間位置に対応する相互相関C(t-1)より大きい。
【0068】
(2)現在の遅延時間分析範囲内の各フレームの最大相互相関Cmax(t)及び最小相互相関Cmin(t)に対応する位置の差分値が設定した第1設定差分値(例えば、第1設定差分値を3とする)より大きい。
【0069】
(3)参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Cmean(t)と現在の遅延時間位置に対応する相互相関C(t)との差分値が第2設定差分値より大きい。
【0070】
(4)現在の遅延時間位置p(t)が前回の遅延時間位置p(t-1)より小さい。
【0071】
例3:遅延時間に基づいて参照信号の移動、フィルタ更新を行う時には、フィルタの収束に伴い、厳しい遅延時間推定の正確性が要求され、より正確な遅延時間を得るために、この実施例においては、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、過去データに基づき、候補遅延時間位置の変化状況により候補遅延時間位置に対してペナルティ及び/又はボーナスを加えることで、最終的に得られた遅延時間推定値がより正確になる。
【0072】
遅延時間推定値の具体的な決定過程は次の通りである。
【0073】
まず、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、候補遅延時間位置をL次元(ここで、L=遅延時間分析範囲内のマイク信号の総フレーム数)の配列Saに統計し、候補遅延時間位置の連続発生数countを集計する。不連続が発生した場合、countを0と設定する。
【0074】
今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第1設定値t1を加算し、前回の候補遅延時間位置から第2設定値t2を減算し、残りの位置から第3設定値t3を減算する。
【0075】
今回の候補遅延時間位置に変化がない場合、今回の候補遅延時間位置の信頼性が増加し、それに対し、前回推定された候補遅延時間位置及びその他の位置の信頼性が低いことを意味するため、今回の候補遅延時間位置に第1設定値t1を加算し、残りの位置に第3設定値t3を減算する。前回の候補位置の信頼性はその他の位置よりも高いので、その統計量の減少が弱くなる。t1、t2、t3の値について、経験又は大量の実験で決定することができる。通常、t3>=t2(例えば、t1、t2、t3をそれぞれ2、1、2とする)。
【0076】
今回の候補遅延時間位置が第1閾値T1(例えば、T1を10とする)より大きく、且つ当該候補遅延時間位置の連続発生数が第2閾値T2(例えば、T2を4とする)より大きい場合、現在の候補遅延時間位置の推定はより正確なものであることを意味し、より正確な遅延時間D1(t)として扱う。
【0077】
例4:現在の遅延時間推定値のロバストネスがより高くなるよう、上記の例3の方式を用いて遅延時間推定値を決定する時にも、上記のロバストネス条件の1つ又は複数を満たすか否かを判断することができる。満たす場合、現在の遅延時間位置及び参照信号の位置により現在の遅延時間推定値を決定する。さもなければ、引き続き次回の遅延時間推定を行う。
【0078】
ステップ104:現在の遅延時間推定値に基づき、参照信号を移動する。
【0079】
上記の例1、例2、例3、例4の各方式で決定される現在の遅延時間推定値に対しては、実際の応用において、参照信号のデータを適切な遅延時間推定値で移動することができる。
【0080】
また、上記の例3又は例4の方式で決定される現在の遅延時間推定値D1(t)の場合、候補遅延時間位置の推定精度は区間によって異なることを考慮し、次のような方式で参照信号を移動することができる。
【0081】
現在の遅延時間推定値D1(t)<=第3閾値T3(例えば、10とする)の場合、参
照信号のデータを移動しない。
【0082】
第3閾値T3<現在の遅延時間推定値D1(t)<第4閾値T4(例えば、20とする)の場合、参照信号のデータをD1(t)/2移動する。
【0083】
第4閾値T4<=現在の遅延時間推定値D1(t)の場合、参照信号のデータをD1(t)移動することとを含む。
【0084】
また、従来の遅延時間に基づいて参照信号を移動する時の過去参照信号内容が紛失するという問題に関しては、本出願方法のもう1つの実施例において、現在の遅延時間推定値に従って参照信号を移動する時に、さらに過去参照信号データを連携移動することができる。具体的には、過去参照信号のデータをバッファリングし、参照信号を移動する時に、バッファリングされた過去参照信号のデータを連携移動する。
【0085】
図2に示すように、これは本出願の実施例においてバッファリングされた過去参照信号データの連携移動と従来技術の比較模式図である。
【0086】
図2に示すように、従来技術において、遅延時間推定を3とすると、参照信号を移動する時に、n-3時刻の参照信号データを直接に使用してn時刻の参照信号データに取って代わるが、過去参照信号データの場合、図のn-1~n-4時刻の参照信号データがそのまま保持されるため、信号が不連続になっていることがわかる。
図2に示すように、本出願の実施例を利用して参照信号を移動する時に、n-3時刻の参照信号データを用いてn時刻の参照信号データに置き換えるだけでなく、それに過去参照信号データも同時に連携移動するため、信号の不連続、即ち、過去参照信号内容の紛失によるエコー除去効果への影響を回避する。
【0087】
ステップ105:前処理後のマイク信号及び移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する。
【0088】
具体地には、マイク信号y(t,n)及び移動後の参照信号x’(t,n)に基づき、エコー除去後の出力信号は次の通りである。
【数5】
ここで、h(t,n)をフィルタ係数とする。
【0089】
フィルタ係数h(t,n)の更新は次の通りである。
【数6】
ここで、γをフィルタの更新ステップサイズとし、大量の実験及び/又は経験から決定し、θを正則化因子とし、通常、大量の実験及び/又は経験から決定する。
【0090】
遅延時間に変化がある場合、フィルタ係数を再更新する必要があり、フィルタ係数の更新速度を高め、フィルタ係数の更新によるエコー除去性能の低下影響を削減するため、本出願方法のもう1つの実施例において、現在の遅延時間推定値がフィルタ長さより小さい場合、適応フィルタ係数を更新する時に、フィルタ係数を遅延時間推定値に従って移動し、移動後の係数に基づき更新し、移動後に係数がない位置に対応する係数をリセットし(
例えば、0にリセットする)、リセット後の係数に基づき更新し、フィルタ係数の更新時間を短縮させる。
【0091】
図3に示すように、本出願の実施例においてフィルタ更新時に誤ったフィルタ係数を0にリセットする例と従来技術の比較模式図である。
【0092】
仮に遅延時間推定値を3とすると、ここで、左側は従来技術のフィルタ係数の更新模式図であり、従来技術において、フィルタ係数を更新する時に、すべての係数を現在の値に基づいて更新することが分かる。右側は本出願の実施例におけるフィルタ係数の更新模式図であり、第n個及び第n-1個のフィルタ係数を更新し、その他のフィルタ係数を0にリセットする上で更新することが分かる。
【0093】
本出願の実施例に係るエコー除去方法は、マイク信号及び参照信号のうち非線形状態を有する周波数を検出し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出する。即ち、非線形状態を除去する上で参照信号及びマイク信号間の遅延時間を推定することにより、遅延時間推定値がより正確になり、また現在の遅延時間推定値に基づき参照信号を移動し、マイク信号及び移動後の参照信号に基づき適応フィルタを更新することにより、エコー除去を実現し、エコー除去の効果を効果的に向上させる。
【0094】
さらに、遅延時間を推定する時に、複数のロバストネス条件に基づき、遅延時間推定値を修正することにより、推定された遅延時間のロバストネスが高くなる。
【0095】
さらに、適応フィルタを更新する中で、過去参照信号のデータのバッファリングと連携移動、及び参考にならないフィルタ係数のリセットは遅延時間の変化によるフィルタの再収束時間を低減させ、エコー除去性能に対する再収束の影響を削減することができる。
【0096】
それに応じて、本出願の実施例において、さらに遅延時間推定に基づくエコー除去装置を提供する。
図4に示すように、当該装置の原理ブロック図である。
【0097】
図4では、テレビSTBでのエコー除去を例にする。ここで、参照信号はテレビSTBからテレビへのソース信号であり、もちろん、従来の一般的なテレビスピーカー信号でもよい。テレビSTBのマイクで拾った信号はマイク信号として、ユーザーAが音声でテレビSTBを制御する。
【0098】
図4の入力信号はスピーカーのエコー信号を含み、入力信号はA/D変換を行い、変換後のデジタル信号は本出願の実施例における遅延時間推定に基づくエコー除去装置400を経由し、エコー除去装置400により入力信号のエコー信号を除去して出力信号(即ち、ユーザーAの音声信号)が得られ、テレビSTBは当該出力信号を解析し、ユーザーAの制御命令が得られる。
【0099】
この実施例において、遅延時間推定に基づくエコー除去装置400は以下の各モジュールを含む。
【0100】
信号処理モジュール401、401′:マイク信号及び参照信号を受信し、前処理を行い、前処理後のマイク信号及び参照信号を出力する。前処理は主にフレーミング、ウィンドウイング、高速フーリエ変換などの処理を含み、タイムドメインの参照信号及びマイク信号を適切な周波数ドメイン信号に変換する。
【0101】
周波数検出モジュール402、402′:現在のエコー除去場面において、信号処理モ
ジュールから出力された前処理後のマイク信号及び参照信号のうち非線形状態を有する周波数信号を判定する。
【0102】
遅延時間推定モジュール403:周波数検出モジュールにより判定されたマイク信号及び参照信号のうち、非線形状態を有しない周波数信号により、現在の遅延時間推定値を計算して出力する。
【0103】
信号移動モジュール404:遅延時間推定モジュールから出力された現在の遅延時間推定値に基づき、参照信号を移動し、移動後の参照信号を出力する。
【0104】
適応フィルタ405:信号処理モジュールから出力された前処理後のマイク信号及び信号移動モジュール400から出力された移動後の参照信号により、適応フィルタを更新し、エコー除去を実現する。
【0105】
説明すべき点については、
図4において、信号処理モジュール401及び信号処理モジュール401′、周波数検出モジュール402及び周波数検出モジュール402′は本出願装置の実現原理を容易に理解するためのものであり、実際の応用において、信号処理モジュール401及び信号処理モジュール401′は同一の物理的実体であってもよく、同様、周波数検出モジュール402及び周波数検出モジュール402′は同一の物理的実体であってもよい。もちろん、信号処理モジュール及び周波数検出モジュールは同一の物理的実体であってもよい。これらに対し、本出願の実施例では限定されない。
【0106】
図4は本出願装置の1つの応用例であり、説明すべき点については、本出願の実施例に係る装置は様々な場面に応用することができる。例えば、テレビSTBでテレビを制御する場合は、本出願装置をテレビSTBに組み込むことで、テレビSTBへの制御音声におけるテレビ再生音を効果的に除去することができる。他の応用はここで例をあげない。
【0107】
実際の応用環境及びハードウェア装置の多様性を考慮し、非線形状態を有する周波数信号の有無を判定するには様々な検出方法がある。それに応じて、上記の周波数検出モジュールには以下のいずれか1つ又は複数の検出ユニットを設置し、様々な状況での非線形周波数を検出する。
【0108】
遠端信号検出ユニット:前処理後の参照信号のエネルギー、ゼロ交差率、短時間振幅のうちいずれか1つ又は複数のパラメータにより、非線形状態を有する周波数信号を判定する。例えば、参照信号xの特定の周波数でのエネルギーPxが設定されるエネルギー閾値より大きい場合、当該周波数に非線形状態を有する周波数信号があることを判定する。
【0109】
ダブルトーク信号検出ユニット:前処理後のマイク信号及び参照信号のエネルギー比により、非線形状態を有する周波数信号を判定する。具体的には、前述した本出願方法の実施例の記載を参照し、ここで省略する。
【0110】
ハードウェア装置検出ユニット:まず低い周波数範囲内の参照信号及びマイク信号の相関平均値を計算し、つぎに特定の周波数間隔を用いて、その他の周波数範囲内の参照信号及びマイク信号の相関平均値を算出し、最後にその他の周波数範囲内の相関平均値及び低い周波数範囲内の相関平均値により、非線形状態を有する周波数信号を判定する。例えば、その他の周波数範囲内の相関平均値が低周波数範囲内の相関平均値より明らかに小さい場合、当該周波数範囲内的信号が非線形である。
【0111】
上記の遅延時間推定モジュール403は相互相関計算ユニット及び遅延時間推定値決定ユニットを含み、ここで、相互相関計算ユニットは参照信号及び遅延時間分析範囲内の各
フレームのマイク信号から非線形状態を有しない周波数信号を順次選択し、参照信号及び各フレームのマイク信号の相互相関を計算するために使用され、遅延時間推定値決定ユニットは相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関により、遅延時間推定値を決定するために使用される。
【0112】
例えば、遅延時間推定値決定ユニットは、相互相関計算ユニットにより算出された参照信号及び各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を現在の遅延時間位置として選択し、現在の遅延時間位置及び参照信号の位置により、現在の遅延時間推定値を決定することができる。
【0113】
さらに、現在の遅延時間推定値のロバストネスがより高くなるよう、遅延時間推定値決定ユニットが遅延時間推定値を決定する時に、以下のロバストネス条件の1つ又は複数を満たすか否かを考慮することができる。満たす場合、現在の遅延時間位置及び参照信号の位置により現在の遅延時間推定値を決定する。さもなければ、引き続き次回の遅延時間推定を行う。
【0114】
ロバストネス条件は次の通りである。
【0115】
(1)現在の遅延時間位置に対応する相互相関C(t)が前回の遅延時間位置に対応する相互相関C(t-1)より大きい。
【0116】
(2)現在の遅延時間分析範囲内の各フレームの最大相互相関Cmax(t)及び最小相互相関Cmin(t)に対応する位置の差分値が設定した第1設定差分値より大きい。
【0117】
(3)参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関平均値Cmean(t)と現在の遅延時間位置に対応する相互相関C(t)との差分値が第2設定差分値より大きい。
【0118】
(4)現在の遅延時間位置p(t)が前回の遅延時間位置p(t-1)より小さい。
【0119】
また、遅延時間に基づいて参照信号の移動、フィルタ更新を行う時には、フィルタの収束に伴い、厳しい遅延時間推定の正確性が要求される。したがって、より正確な遅延時間を得るために、遅延時間推定決定ユニットが最大相互相関のフレームに対応する位置を候補遅延時間位置として扱うことができ、過去データに基づき、候補遅延時間位置の変化状況により候補遅延時間位置に対してペナルティ及び/又はボーナスを加えることで、最終的に得られた遅延時間推定値がより正確になる。具体的には、毎回遅延時間推定時に算出された参照信号及び遅延時間分析範囲内の各フレームのマイク信号の相互相関のうち、最大相互相関のフレームに対応する位置を候補遅延時間位置として扱い、候補遅延時間位置をL次元(ここで、L=遅延時間分析範囲内のマイク信号の総フレーム数)の配列Saに統計し、候補遅延時間位置の連続発生数を集計し、今回の候補遅延時間位置が変化した場合、今回の候補遅延時間位置に第1設定値t1を加算し、前回の候補遅延時間位置から第2設定値t2を減算し、残りの位置から第3設定値t3を減算し、今回の候補遅延時間位置が変化していない場合、今回の候補遅延時間位置に第1設定値t1を加算し、残りの位置から第3設定値t3を減算し、ここで、第2設定値t2は第3設定値t3以下とし、今回の候補遅延時間位置が第1閾値より大きく、かつ当該候補遅延時間位置の連続発生数が第2閾値より大きい場合、今回の候補遅延時間位置及び参照信号の位置により、現在の遅延時間推定値を決定する。t1、t2、t3の値について、経験又は大量の実験で決定することができる。通常、t3>=t2(例えば、t1、t2、t3をそれぞれ2、1、2とする)。
【0120】
説明すべき点については、遅延時間推定値決定ユニットが上記の方式に従って遅延時間推定値を決定する時にも、上記のロバストネス条件の1つ又は複数を満たすか否かを考慮することができ、現在の遅延時間推定値のロバストネスがより高くなる。
【0121】
実際の応用において、信号移動モジュール404が上記の遅延時間推定値決定ユニットにより各方式を用いて決定された現在の遅延時間推定値に対して、参照信号のデータを適切な遅延時間推定値で移動することができる。
【0122】
また、上記の過去データに基づき、候補遅延時間位置の変化状況により候補遅延時間位置に対してペナルティ及び/又はボーナスを加えた後、遅延時間推定値の状況が得られ、候補遅延時間位置の推定精度は区間によって異なるため、上記の信号移動モジュール404が以下の方式で参照信号を移動することもできる。現在の遅延時間推定値D1(t)<=第3閾値T3の場合、参照信号のデータを移動しなく、第3閾値T3<現在の遅延時間推定値D1(t)<第4閾値T4の場合、参照信号のデータをD1(t)/2移動し、第4閾値T4<=現在の遅延時間推定値D1(t)の場合、参照信号のデータをD1(t)移動する。
【0123】
さらに、参照信号を移動する時に、過去参照信号の内容が紛失することを回避するため、
図5に示すように、本出願装置のもう1つの実施例において、過去参照信号のデータをバッファリングするバッファリングモジュール501を含んでもよい。
【0124】
それに応じて、この実施例において、信号移動モジュール404が参照信号を移動する時に、バッファリングモジュールにバッファリングされた過去参照信号のデータを連携移動する。
【0125】
本出願装置のもう1つの実施例において、適応フィルタ405は係数を更新する時に、現在の遅延時間推定値がフィルタ長さより小さい場合、フィルタ係数を遅延時間推定値で移動し、移動後の係数に基づいて更新し、移動後に係数がない位置に対応する係数をリセット(例えば、これらの参考にならないフィルタ係数を0にリセットする)した後、リセット後の係数に基づいて更新する。
【0126】
本出願の実施例に係るエコー除去装置は、マイク信号及び参照信号のうち非線形状態を有する周波数を検出し、マイク信号及び参照信号のうち非線形状態を有しない周波数信号により、現在の遅延時間推定値を算出する。即ち、非線形状態を除去する上で参照信号及びマイク信号間の遅延時間を推定することにより、遅延時間推定値がより正確になり、また現在の遅延時間推定値に基づき参照信号を移動し、マイク信号及び移動後の参照信号に基づき適応フィルタを更新することにより、エコー除去を実現し、エコー除去の効果を効果的に向上させる。
【0127】
さらに、遅延時間を推定する時に、複数のロバストネス条件に基づき、遅延時間推定値を修正することにより、推定された遅延時間のロバストネスが高くなる。
【0128】
さらに、適応フィルタを更新する中で、過去参照信号のデータのバッファリングと連携移動、及び参考にならないフィルタ係数のリセットはいずれも遅延時間の変化によるフィルタの再収束時間を低減させ、エコー除去性能に対する再収束の影響を削減することができる。
【0129】
さらに、本出願の実施例において遅延時間推定に基づくエコー除去装置を提供し、それはプロセッサ、メモリ、システムバスを含む。
【0130】
プロセッサ及びメモリはシステムバスを介して接続される。
【0131】
メモリは1つ又は複数のプログラムを格納するために使用され、1つ又は複数のプログラムは命令を含み、命令はプロセッサで実行された時に、プロセッサに上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの実現方式を実行させる。
【0132】
さらに、本出願の実施例においてコンピュータ読取可能な記憶媒体を提供し、コンピュータ読取可能な記憶媒体に命令が記憶され、命令は端末装置で実行される時に、端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの実現方式を実行させる。
【0133】
さらに、本出願の実施例においてコンピュータプログラム製品を提供し、コンピュータプログラム製品は端末装置で実行される時に、端末装置に上記の遅延時間推定に基づくエコー除去方法のうち、いずれかの実現方式を実行させる。
【0134】
本明細書の各実施例はプログレッシブな方式で記載し、各実施例間の同一・類似する部分は互いに参照でき、各実施例はその他の実施例との相違点について重点を置いて記載される。また、以上のように記載される装置の実施例は例示的なものであり、ここで、分割部品として述べられたユニットは物理的な分割であっても、なくてもよい。ユニットとして示される部品は物理的なユニットであっても、なくてもよい。また、1つの箇所に位置するか、複数のネットワークユニットに分散する場合がある。実際のニーズに応じて、その一部又は全部のモジュールを選択して、本実施例の解決案の目的を果たすことができる。当業者であれば、創造的な労働をせずに容易に理解して実施することができる。
【0135】
以上、本出願の実施例を詳細に説明し、本文では具体的な実施形態を用いて本出願を説明し、以上の実施例の説明は本出願を理解するための方法及び装置である。また、当業者にとっては、本出願のアイデアに基づいて具体的な実施形態及び応用範囲を変更することができ、以上のことから、本明細書の内容は本出願への制限と理解すべきではない。