IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 深▲セン▼市中科藍訊科技股▲フン▼有限公司の特許一覧

<>
  • 特許-エコー除去方法、装置および電子機器 図1
  • 特許-エコー除去方法、装置および電子機器 図2
  • 特許-エコー除去方法、装置および電子機器 図3
  • 特許-エコー除去方法、装置および電子機器 図4
  • 特許-エコー除去方法、装置および電子機器 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】エコー除去方法、装置および電子機器
(51)【国際特許分類】
   H04B 3/23 20060101AFI20240529BHJP
   G10L 21/0232 20130101ALI20240529BHJP
   G10L 21/0208 20130101ALI20240529BHJP
【FI】
H04B3/23
G10L21/0232
G10L21/0208 100B
【請求項の数】 8
【外国語出願】
(21)【出願番号】P 2022196380
(22)【出願日】2022-12-08
(65)【公開番号】P2023160721
(43)【公開日】2023-11-02
【審査請求日】2022-12-09
(31)【優先権主張番号】202210427018.4
(32)【優先日】2022-04-21
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522412976
【氏名又は名称】深▲セン▼市中科藍訊科技股▲フン▼有限公司
【氏名又は名称原語表記】Shenzhen Bluetrum Technology Co., Ltd.
【住所又は居所原語表記】1301-1 Building A, Zhihui Square, No.4068 Qiaoxiang Road, Gaofa Community, Shahe Street, Nanshan District, Shenzhen, 518052, Guangdong, P.R.China
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】宋明輝
(72)【発明者】
【氏名】閻張懿
(72)【発明者】
【氏名】林錦鴻
【審査官】前田 典之
(56)【参考文献】
【文献】特開2015-070290(JP,A)
【文献】米国特許出願公開第2020/0243104(US,A1)
【文献】米国特許出願公開第2005/0243995(US,A1)
【文献】特表2016-502779(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 3/23
G10L 21/0232
G10L 21/0208
(57)【特許請求の範囲】
【請求項1】
電子機器のスピーカーにより再生される声信号である遠端信号、および前記電子機器のマイクロフォンが採集する声信号である近端信号を取得することと、
前記遠端信号をフーリエ変換して、遠端周波数領域情報を得るとともに、前記近端信号をフーリエ変換して、近端周波数領域情報を得ることと、
前フレームのフィルタ重み係数により前記遠端周波数領域情報をフィルタ処理して、エコースペクトルを得ることと、
前記近端周波数領域情報から前記エコースペクトルを減算して、初期誤差スペクトルを得ることと、
前記遠端周波数領域情報と前記近端周波数領域情報とをそれぞれ若干のサブバンドに分割することと、
前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することと、
前記正規化相互相関係数がダブルトーク検出閾値より大きいと、前記電子機器の現在の状態がダブルトーク状態であると確定することと、
前記正規化相互相関係数が前記ダブルトーク検出閾値以下であると、前記現在の状態がシングルトーク状態であると確定することと、
前記現在の状態がダブルトーク状態であると、前記前フレームのフィルタ重み係数を更新して、現フレームのフィルタ重み係数を得ることと、
前記現フレームのフィルタ重み係数を二次フィルタ重み係数として用いることと、
前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることと、
前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることとを含む、ことを特徴とするエコー除去方法。
【請求項2】
上記した前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することは、
同一のフレームにおける前記遠端周波数領域情報と前記近端周波数領域情報との同一の前記サブバンドでの相互相関係数を算出することと、
前記相互相関係数より、前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することとを含む、ことを特徴とする請求項に記載の方法。
【請求項3】
前記現在の状態がシングルトーク状態であると、前記前フレームのフィルタ重み係数を前記二次フィルタ重み係数として用いることをさらに含む、ことを特徴とする請求項に記載の方法。
【請求項4】
上記した前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることは、
前記二次フィルタ重み係数により前記遠端周波数領域情報を二次フィルタ処理して、二次フィルタ結果を得ることと、
前記近端周波数領域情報から前記二次フィルタ結果を減算して、前記二次差分スペクトルを得ることとを含む、ことを特徴とする請求項に記載の方法。
【請求項5】
上記した前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることは、
前記初期誤差スペクトルが前記二次差分スペクトルより小さいと、前記初期誤差スペクトルを前記目標出力スペクトルとすることと、
前記初期誤差スペクトルが前記二次差分スペクトルより大きいと、前記二次差分スペクトルを前記目標出力スペクトルとすることとを含む、ことを特徴とする請求項1に記載の方法。
【請求項6】
上記した前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることの後に、
前記目標出力スペクトルを逆フーリエ変換してから重畳加算して、目標出力信号を得ることをさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項7】
電子機器のスピーカーにより再生される声信号である遠端信号、および前記電子機器のマイクロフォンが採集する声信号である近端信号を取得するためのサンプリング信号取得モジュールと、
前記遠端信号をフーリエ変換して、遠端周波数領域情報を得るとともに、前記近端信号をフーリエ変換して、近端周波数領域情報を得て、前フレームのフィルタ重み係数により前記遠端周波数領域情報をフィルタ処理して、エコースペクトルを得て、前記近端周波数領域情報から前記エコースペクトルを減算して、初期誤差スペクトルを得るための線形フィルタモジュールと、
前記遠端周波数領域情報と前記近端周波数領域情報とをそれぞれ若干のサブバンドに分割し、前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出し、前記正規化相互相関係数がダブルトーク検出閾値より大きいと、前記電子機器の現在の状態がダブルトーク状態であると確定し、前記正規化相互相関係数が前記ダブルトーク検出閾値以下であると、前記現在の状態がシングルトーク状態であると確定するための状態確定モジュールと、
前記現在の状態がダブルトーク状態であると、前記前フレームのフィルタ重み係数を更新して、現フレームのフィルタ重み係数を得て、前記現フレームのフィルタ重み係数を二次フィルタ重み係数として用いるための二次フィルタ重み係数確定モジュールと、
前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得るための二次フィルタモジュールと、
前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得るための目標取得モジュールとを備える、ことを特徴とするエコー除去装置。
【請求項8】
少なくとも1つのプロセッサと、前記プロセッサに通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶され、前記コマンドが前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサは、請求項1~のいずれか一項に記載の方法を実行することができることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本出願に係る実施例は、エコー除去の技術分野に関し、特にエコー除去方法、装置および電子機器に関する。
【背景技術】
【0002】
エコー除去(AEC)技術は、現代の通信電子機器に非常に広く応用されており、例えばブルートゥース(登録商標)イヤフォンにおける応用では、エコー除去の効果は双方の通話の品質に影響を及ぼす。既存のエコー除去技術では、主に線形適応フィルタによりエコー信号を推定し、近端信号から推定エコーを減算して誤差信号が得られ、さらに誤差信号に非線形処理を行って得られたものを最終出力としている。
【0003】
本出願の発明者は、本出願に係る実施例を実現する過程で、従来の線形適応フィルタは、ダブルトークの場合や近端にノイズが存在する場合に動作すると、エコー除去効果が悪く、残留エコーが大きすぎるという問題が存在することを発見した。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本出願に係る実施例の目的は、エコー除去効果を効果的に向上させ、音声通話の品質を高めることが可能であるエコー除去方法、装置および電子機器を提供することである。
【課題を解決するための手段】
【0005】
第1の側面において、本発明に係る実施例は、
通話中に電子機器が発生する遠端信号および近端信号を取得すること、
前記遠端信号と前記近端信号を線形フィルタ処理して、初期誤差スペクトルを得ること、
前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定すること、
前記現在の状態に応じて、二次フィルタ重み係数を確定すること、
前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ること、
前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ること、
を含むエコー除去方法を提供する。
【0006】
いくつかの実施例において、上記した前記遠端信号と前記近端信号を線形フィルタ処理して、初期誤差スペクトルを得ることは、
前記遠端信号をフーリエ変換して、遠端周波数領域情報を得るとともに、前記近端信号をフーリエ変換して、近端周波数領域情報を得ること、
前フレームのフィルタ重み係数により前記遠端周波数領域情報をフィルタ処理して、エコースペクトルを得ること、
前記近端周波数領域情報から前記エコースペクトルを減算して、初期誤差スペクトルを得ることを含む。
【0007】
いくつかの実施例において、上記した前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定することは、
前記遠端周波数領域情報と前記近端周波数領域情報とをそれぞれ若干のサブバンドに分割すること、
前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出すること、
前記正規化相互相関係数がダブルトーク検出閾値より大きいと、前記電子機器の現在の状態がダブルトーク状態であると確定すること、
前記正規化相互相関係数が前記ダブルトーク検出閾値以下であると、前記現在の状態がシングルトーク状態であると確定することを含む。
【0008】
いくつかの実施例において、上記した前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することは、
同一のフレームにおける前記遠端周波数領域情報と前記近端周波数領域情報との同一の前記サブバンドでの相互相関係数を算出すること、
前記相互相関係数より、前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することを含む。
【0009】
いくつかの実施例において、前記現在の状態がシングルトーク状態であると、上記した前記現在の状態に応じて、二次フィルタ重み係数を確定することは、
前記前フレームのフィルタ重み係数を前記二次フィルタ重み係数として用いることを含む。
【0010】
いくつかの実施例において、前記現在の状態がダブルトーク状態であると、上記した前記現在の状態に応じて、二次フィルタ重み係数を確定することは、
前記前フレームのフィルタ重み係数を更新して、現フレームのフィルタ重み係数を得ること、
前記現フレームのフィルタ重み係数を前記二次フィルタ重み係数として用いることを含む。
【0011】
いくつかの実施例において、上記した前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることは、
前記二次フィルタ重み係数により前記遠端周波数領域情報を二次フィルタ処理して、二次フィルタ結果を得ること、
前記近端周波数領域情報から前記二次フィルタ結果を減算して、前記二次差分スペクトルを得ることを含む。
【0012】
いくつかの実施例において、上記した前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることは、
前記初期誤差スペクトルが前記二次差分スペクトルより小さいと、前記初期誤差スペクトルを前記目標出力スペクトルとすること、
前記初期誤差スペクトルが前記二次差分スペクトルより大きいと、前記二次差分スペクトルを前記目標出力スペクトルとすることを含む。
【0013】
いくつかの実施例において、前記方法は、上記した前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることの後に、
前記目標出力スペクトルを逆フーリエ変換してから重畳加算して、目標出力信号を得ることをさらに含む。
【0014】
第2の側面において、本発明に係る実施例は、
通話中に電子機器が発生する遠端信号および近端信号を取得するためのサンプリング信号取得モジュールと、
前記遠端信号と前記近端信号を線形フィルタ処理して、初期誤差スペクトルを得るための線形フィルタモジュールと、
前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定するための状態確定モジュールと、
前記現在の状態に応じて、二次フィルタ重み係数を確定するための二次フィルタ重み係数確定モジュールと、
前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得るための二次フィルタモジュールと、
前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得るための目標取得モジュールと、
を備えるエコー除去装置を提供する。
【0015】
第3の側面において、本発明に係る実施例は、電子機器を提供しており、この電子機器は、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶され、前記コマンドが前記少なくとも1つのプロセッサにより実行される時に、前記電子機器は、上記のいずれか一項に記載の方法を実現するようになる。
【0016】
第4の側面において、本発明に係る実施例は、コンピュータで実行可能なコマンドが記憶されるコンピュータ読み取り可能な記憶媒体であって、前記コンピュータで実行可能なコマンドが電子機器により実行される時に、前記電子機器は上記のような方法を実行するようになるコンピュータ読み取り可能な不揮発性記憶媒体を提供する。
【0017】
本発明に係る実施例によるエコー除去方法、装置および電子機器では、通話中に電子機器が発生する遠端信号および近端信号を取得し、そして、遠端信号と近端信号を一次フィルタ処理し、ここで、前記遠端信号と前記近端信号を線形フィルタ処理して初期誤差スペクトルを得ることで、エコーを初歩的に除去でき、次に、前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定し、現在の状態がダブルトーク状態であると、二次フィルタ重み係数を確定して、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることで、二次フィルタリングを実現して、ダブルトーク状態でのエコーを除去し、さらに、前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることで、最終的な出力に残留エコーをできるだけ除去し、音声通話の品質を効果的に高めることができる。
【図面の簡単な説明】
【0018】
1つ又は複数の実施例について、それに対応する添付図面における図によって例示的に説明するが、これらの例示的な説明は、実施例を限定するものではなく、添付図面において、同じ参照符号を付した要素は、類似の要素を表し、添付図面における図は、特に明記されない限り、縮尺制限がなされるものではない。
図1】本発明に係る実施例による電子機器の模式的なブロック図である。
図2】本発明に係る実施例によるエコー除去方法の一実施例の流れ模式図である。
図3】本発明に係る実施例によるエコー除去方法の別の実施例の流れ模式図である。
図4】本発明のエコー除去装置の一実施例の構造模式図である。
図5】本発明の電子機器の一実施例におけるコントローラのハードウェアの構造模式図である。
【発明を実施するための形態】
【0019】
以下、本出願について、具体的な実施例を参照しながら詳細に説明する。以下の実施例は、当業者が本出願をさらに理解することに寄与するが、いかなる形でも本出願を制限するものではない。なお、当業者にとっては、本出願の構想を逸脱しないことを前提にして、いくつかの変形および改良を行うこともできる。これらは、すべて本出願による保護範囲に属する。
【0020】
以下、本出願の目的、技術方案及び利点をより一層明らかにするために、図面及び実施例を参照しながら本出願をさらに詳細に説明する。ここで記述された具体的な実施例は、本出願を釈明するためのものだけであり、本出願を限定するためのものではないことは理解されるべきである。
【0021】
なお、矛盾しない限り、本出願に係る実施例における各特徴は相互に結合でき、いずれも本出願による保護範囲にある。また、装置の模式図において、機能モジュールの分割を行って、フローチャートに論理的な順序を示したが、ある場合には、装置におけるモジュールの分割と異なる分割、あるいはフローチャートにおける順序と異なる順序で、示されるあるいは記述されるステップを実行してもよい。また、ここで採用される「第1」、「第2」、「第3」などの文字は、データおよび実行順序を限定するものではなく、機能および作用が基本的に同一である同一項又は類似項を区別するものに過ぎない。
【0022】
特に定義されない限り、本明細書で用いられるすべての技術用語および科学用語は、本出願の技術分野に属する技術者によって一般的に理解される意味と同じである。本明細書において、本出願の明細書に用いられる用語は、具体的な実施形態を説明するためのものだけであり、本出願を制限するためのものではない。本明細書で用いられる用語「及び/又は」は、1つまたは複数の関連するリストされた項目のいずれか及びすべての組み合わせを含む。
【0023】
また、以下に記述する本出願の各実施形態に係る技術特徴は、お互いに矛盾しない限り、相互に組み合わせることができる。
【0024】
本出願に係る実施例によって提供されるエコー除去方法と装置は電子機器に適用されることができ、電子機器はブルートゥース(登録商標)イヤフォン、有線イヤフォンなどの通話に使用する機器であってもよく、ブルートゥース(登録商標)イヤフォンを例にとると、通話するスマートフォンにブルートゥース(登録商標)イヤフォンをブルートゥース(登録商標)接続し、ユーザがブルートゥース(登録商標)イヤフォンを装着することで通話を実現することができる。
【0025】
図1に示すように、電子機器100は、コントローラ11と、スピーカー12と、マイクロフォン13とを備え、コントローラ11と、スピーカー12およびマイクロフォン13とが接続されている。スピーカー12は遠端信号である声を再生するためのものであり、マイクロフォン13は近端信号である声を採集するためのものであり、マイクロフォン13で採集される声には、ユーザの話し声、エコーおよびバックグラウンドノイズが含まれる。コントローラ11は、ユーザーの通話中に発生する遠端信号と近端信号を取得するために使用される。
【0026】
図2を参照すると、図2は、本発明に係る実施例によって提供されるエコー除去方法の流れ模式図であり、この方法は電子機器100に適用され、電子機器100におけるプロセッサ111により実行可能であり、図2に示すように、以下を含む。
【0027】
S201:通話中に電子機器が発生する遠端信号および近端信号を取得する。
電子機器のコントローラは、通話中に電子機器が発生する遠端信号および近端信号を取得し、遠端信号はスピーカーにより再生される声信号であり、近端信号には、ユーザーの話し声、エコーおよび/またはバックグラウンドノイズが含まれる。
【0028】
遠端信号はx(n)で表され、また、遠端信号x(n)は式1で表される。
【0029】
近端信号はd(n)で表され、また、近端信号d(n)は式2で表される。
【0030】
式中、Mは1フレームの遠端信号x(n)または近端信号d(n)のサンプリング点数を表し、iは電子機器のコントローラが遠端信号x(n)または近端信号d(n)のi番目のサンプリング点を採集することを表す。
【0031】
S202:前記遠端信号と前記近端信号を線形フィルタ処理して、初期誤差スペクトルを得る。
電子機器のコントローラが遠端信号x(n)と近端信号d(n)を取得した後、遠端信号x(n)と近端信号d(n)を線形フィルタ処理して、初期誤差スペクトルを得る。
【0032】
そのうちのいくつかの実施形態において、前記遠端信号と前記近端信号を線形フィルタ処理して、初期誤差スペクトルを得ることは、
前記遠端信号をフーリエ変換して、遠端周波数領域情報を得るとともに、前記近端信号をフーリエ変換して、近端周波数領域情報を得ること、
前フレームのフィルタ重み係数により前記遠端周波数領域情報をフィルタ処理して、エコースペクトルを得ること、
前記近端周波数領域情報から前記エコースペクトルを減算して、初期誤差スペクトルを得ることを含む。
【0033】
具体的には、まず、遠端信号x(n)をフーリエ変換して、遠端周波数領域情報X(n)を得るとともに、近端信号d(n)をフーリエ変換して、近端周波数領域情報D(n)を得る。遠端周波数領域情報X(n)は式3で表され、近端周波数領域情報D(n)は式4で表される。
【0034】
式中、X(n)は第nのフレームの遠端周波数領域情報を表し、D(n)は第nのフレームの近端周波数領域情報を表し、winはハニング窓を表し、長さは2*Mであり、fftはフーリエ変換を表す。
【0035】
そして、前フレームのフィルタ重み係数により遠端周波数領域情報X(n)をフィルタ処理して、エコースペクトルが得られ、すなわち遠端周波数領域情報X(n)を周波数領域でフィルタリングし、得られたエコースペクトルはY(n)で表され、式5により算出される。
式中、
は前フレームのフィルタ重み係数を表す。
【0036】
最後に、前記近端周波数領域情報D(n)から前記エコースペクトルY(n)を減算して、式6で表される初期誤差スペクトルE1(n)を得る。
【0037】
得られた初期誤差スペクトルE1(n)によれば、エコーを初歩的に除去することができる。
【0038】
S203:前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定する。
【0039】
ダブルトーク状態を検出する。そのうちのいくつかの実施形態において、前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定することは、
前記遠端周波数領域情報と前記近端周波数領域情報とをそれぞれ若干のサブバンドに分割すること、
前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出すること、
前記正規化相互相関係数がダブルトーク検出閾値より大きいと、前記電子機器の現在の状態がダブルトーク状態であると確定することを含む。
【0040】
具体的には、遠端周波数領域情報X(n)と近端周波数領域情報D(n)とをそれぞれ若干の、例えばP個のサブバンドに分割し、ここで、Pは正の整数(1≦P≦M)である。遠端周波数領域情報X(n)が3つのサブバンドに分割される例を挙げると、遠端周波数領域情報X(n)のサンプリング周波数は8KHzであり、3つのサブバンドの周波数範囲はそれぞれ0hz~3000hz、3001hz~5500hz、5501hz~8000hzとしてもよく、もちろんサブバンドの周波数範囲は実際のニーズに応じて設定してもよい。
【0041】
そして、遠端周波数領域情報X(n)と近端周波数領域情報D(n)の同一のサブバンドでの正規化相互相関係数を算出し、さらに言えば、遠端周波数領域情報X(n)と近端周波数領域情報D(n)の同一のサブバンドでの正規化相互相関係数を算出することは、同一のフレームにおける前記遠端周波数領域情報と前記近端周波数領域情報との同一の前記サブバンドでの相互相関係数を算出すること、前記相互相関係数より、前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することを含む。相互相関係数には、それぞれ式7~式10で近端信号の平滑化パワースペクトル、遠端信号の平滑化パワースペクトル、近端・遠端信号の平滑化パワースペクトル、近端・遠端信号相互相関係数が算出できる。
【0042】
式中、
はL番目のサブバンドの近端信号の平滑化パワースペクトルを表し、
はL番目のサブバンドの遠端信号の平滑化パワースペクトルを表し、
はL番目のサブバンドの近端・遠端信号の平滑化パワースペクトルを表し、
はL番目のサブバンドの近端・遠端信号相互相関係数を表し、gammaは平滑化ファクターを表し、σは除算保護ファクターを表し、除算保護ファクターσ>0としてもよく、conjは共役演算を表す。
【0043】
次に、前記相互相関係数により、前記遠端周波数領域情報X(n)と前記近端周波数領域情報D(n)の同一のサブバンドでの正規化相互相関係数を算出し、ここで、式11と式12により計算して得られる。
【0044】
式中、
は、第nのフレームの遠端周波数領域情報X(n)と近端周波数領域情報D(n)のL番目のサブバンドでの正規化相互相関係数を表し、kはL番目のサブバンドにおけるすべての周波数点を表す。
【0045】
第nのフレームの遠端周波数領域情報X(n)と近端周波数領域情報D(n)のL番目のサブバンドでの正規化相互相関係数
を求めた後、正規化相互相関係数
とトークバック検出閾値T1を比較する。ここで、時間遅延を推定する必要がない場合、例えば電子機器がブルートゥース(登録商標)イヤフォンである場合、スピーカーと近端マイクロフォンとの距離は通常15mm~30mmと一定であり、この距離による近端信号と遠端信号の時間遅延はフィルタにとって無視できるため、トークバック検出閾値T1は1よりもやや小さい値、例えば0.9としてもよい。
【0046】
正規化相互相関係数
がトークバック検出閾値T1より大きい場合、電子機器の現在の状態がダブルトーク状態であると確定する。逆に、正規化相互相関係数
がトークバック検出閾値T1以下である場合、電子機器の現在の状態がシングルトーク状態であると確定する。
【0047】
S204:前記現在の状態に応じて、二次フィルタ重み係数を確定する。
そのうちのいくつかの実施形態において、前記現在の状態がダブルトーク状態であると、前記ダブルトーク状態に応じて、二次フィルタ重み係数を確定することは、
前記前フレームのフィルタ重み係数を更新して、現フレームのフィルタ重み係数を得ること、
前記現フレームのフィルタ重み係数を前記二次フィルタ重み係数として用いることを含んでも良い。
【0048】
具体的には、ダブルトーク状態において、絶えずに真実のエコー経路に近づくためには、前フレームのフィルタ重み係数
を更新する必要があり、ここで、式13により更新することができる。
【0049】
式中、
は、更新後の前フレームのフィルタ重み係数、すなわち現フレームのフィルタ重み係数を表し、μはステップサイズ係数を表し、ΔWはフィルタ係数の調整量を表し、フィルタ係数の調整量ΔWの算出方式は最小二乗平均(LMS)、再帰的最小二乗(RLS)およびカルマンなどのアルゴリズムを含むが、これらに限定されない。
【0050】
そして、現フレームのフィルタ重み係数
を二次フィルタ重み係数として用いる。
【0051】
逆に、正規化相互相関係数
がトークバック検出閾値T1以下である場合、電子機器の現在の状態がシングルトーク状態であると確定し、これは、近端信号のエコーのみの影響があることを表し、この場合、前フレームのフィルタ重み係数
を更新する必要はなく、前フレームのフィルタ重み係数
をそのまま前記二次フィルタ重み係数として用いてシングルトーク状態でのエコーの二次フィルタ処理を行う。式14で算出される二次フィルタ重み係数は、以下のように表すことができる。
【0052】
式中、
は、L番目のサブバンドの二次フィルタ重み係数を表し、P個のサブバンドのフィルタ重み係数の算出を完成すると、第nのフレームの二次フィルタ重み係数の値
が得られる。具体的には、正規化相互相関係数
がトークバック検出閾値T1より大きい場合、電子機器の現在の状態がダブルトーク状態であると確定し、L番目のサブバンドの二次フィルタ重み係数
は現フレームのフィルタ重み係数
を採用する一方、正規化相互相関係数
がトークバック検出閾値T1以下である場合、電子機器の現在の状態がシングルトーク状態であると確定し、L番目のサブバンドの二次フィルタ重み係数
は前フレームのフィルタ重み係数
を採用する。
【0053】
図3に示すように、図3は、異なる現在の状態毎に異なるフィルタ係数の処理を行う態様である。
【0054】
S205:前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得る。
二次フィルタ重み係数を確定した後、二次フィルタ処理を行うことができる。
【0055】
そのうちのいくつかの実施形態において、前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることは、
前記二次フィルタ重み係数により前記遠端周波数領域情報を二次フィルタ処理して、二次フィルタ結果を得ること、
前記近端周波数領域情報から前記二次フィルタ結果を減算して、前記二次差分スペクトルを得ることを含んでも良い。
【0056】
具体的には、前記二次フィルタ重み係数
により前記遠端周波数領域情報X(n)を二次フィルタ処理して、二次フィルタ結果が得られ、前記近端周波数領域情報から前記二次フィルタ結果を減算して、前記二次差分スペクトルが得られ、ここで、式15で表される。
【0057】
式中、
は二次差分スペクトルを表し、
は二次フィルタ結果を表す。
【0058】
S206:前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得る。
残留エコーをできるだけ除去するとともに、二次フィルタリングによって近端信号が損なわれる可能性を避けて最適な出力が得られるために、初期誤差スペクトルと前記二次差分スペクトルとを比較して、最適な出力を得る。前記初期誤差スペクトル
と前記二次差分スペクトル
とを比較して目標出力スペクトルを得ることは、
前記初期誤差スペクトルが前記二次差分スペクトルより小さいと、前記初期誤差スペクトルを前記目標出力スペクトルとすること、
前記初期誤差スペクトルが前記二次差分スペクトルより大きいと、前記二次差分スペクトルを前記目標出力スペクトルとすることを含んでも良い。
【0059】
具体的には、初期誤差スペクトル
が前記二次差分スペクトル
より小さいと、前記初期誤差スペクトル
を前記目標出力スペクトルとする一方、前記初期誤差スペクトル
が前記二次差分スペクトル
より大きいと、前記二次差分スペクトル
を前記目標出力スペクトルとする。ここで、式16で表される。
【0060】
式中、
は目標出力スペクトルを表し、minは両者のうち小さい方の値を採用することを表す。
【0061】
そのうちのいくつかの実施形態において、前記方法は、上記ステップS206の後に、
前記目標出力スペクトルを逆フーリエ変換してから重畳加算して、目標出力信号を得ることをさらに含む。
【0062】
具体的には、目標出力スペクトル
を逆フーリエ変換し、ここで式17で表すことができる。
【0063】
式中、ifftは逆フーリエ変換を表す。
【0064】
次に、重畳加算によって第nのフレームの最終的な出力結果が求められ、式18と式19で表される。
【0065】
式中、
は重畳加算予約チャンクを表す。
【0066】
以上のステップS204~S206から分かるように、二次フィルタ重み係数が最適な係数値に収束されるとき、二次フィルタ重み係数
は現フレームのフィルタ重み係数
と等しくなり、これは、線形フィルタにより推定されたエコー経路が無限に真実のエコー経路に近づくことを示しており、残留した線形エコーがほぼ除去されるため、ダブルトーク状態や近端にノイズがある場合にエコー除去効果が悪く、残留エコーが大きすぎるという問題が解決され、エコー除去効果を効果的に向上し、音声通話の品質が向上する。
【0067】
本発明に係る実施例では、通話中に電子機器が発生する遠端信号および近端信号を取得し、そして、遠端信号と近端信号を一次フィルタ処理し、ここで、前記遠端信号と前記近端信号を線形フィルタ処理して初期誤差スペクトルを得ることで、エコーを初歩的に除去でき、次に、前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定し、現在の状態がダブルトーク状態であると、二次フィルタ重み係数を確定して、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることで、二次フィルタリングを実現して、ダブルトーク状態でのエコーを除去し、さらに、前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることで、最終的な出力に残留エコーをできるだけ除去し、音声通話の品質を効果的に高めることができる。
【0068】
これに対応して、本発明に係る実施例は、図4に示すように、電子機器に使用することができるエコー除去装置をさらに提供しており、エコー除去装置400は、
通話中に電子機器が発生する遠端信号および近端信号を取得するためのサンプリング信号取得モジュール401と、
前記遠端信号と前記近端信号を線形フィルタ処理して、初期誤差スペクトルを得るための線形フィルタモジュール402と、
前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定するための状態確定モジュール403と、
前記現在の状態に応じて、二次フィルタ重み係数を確定するための二次フィルタ重み係数確定モジュール404と、
前記二次フィルタ重み係数に基づいて、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得るための二次フィルタモジュール405と、
前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得るための目標取得モジュール406と、を備える。
【0069】
本発明に係る実施例では、通話中に電子機器が発生する遠端信号および近端信号を取得し、そして、遠端信号と近端信号を一次フィルタ処理し、ここで、前記遠端信号と前記近端信号を線形フィルタ処理して初期誤差スペクトルを得ることで、エコーを初歩的に除去でき、次に、前記遠端信号と前記近端信号とに基づいて、前記電子機器の、ダブルトーク状態を含む現在の状態を確定し、現在の状態がダブルトーク状態であると、二次フィルタ重み係数を確定して、前記遠端信号と近端信号を二次フィルタリングし差分出力を行って、二次差分スペクトルを得ることで、二次フィルタリングを実現して、ダブルトーク状態でのエコーを除去し、さらに、前記初期誤差スペクトルと前記二次差分スペクトルとを比較して、目標出力スペクトルを得ることで、最終的な出力に残留エコーをできるだけ除去し、音声通話の品質を効果的に高めることができる。
【0070】
他の実施例において、線形フィルタモジュール402は、さらに、
前記遠端信号をフーリエ変換して、遠端周波数領域情報を得るとともに、前記近端信号をフーリエ変換して、近端周波数領域情報を得ること、
前フレームのフィルタ重み係数により前記遠端周波数領域情報をフィルタ処理して、エコースペクトルを得ること、
前記近端周波数領域情報から前記エコースペクトルを減算して、初期誤差スペクトルを得ることに用いられる。
【0071】
他の実施例において、状態確定モジュール403は、さらに、
前記遠端周波数領域情報と前記近端周波数領域情報とをそれぞれ若干のサブバンドに分割すること、
前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出すること、
前記正規化相互相関係数がダブルトーク検出閾値より大きいと、前記電子機器の現在の状態がダブルトーク状態であると確定することに用いられる。
【0072】
他の実施例において、状態確定モジュール403は、さらに、
同一フレームにおける前記遠端周波数領域情報と前記近端周波数領域情報との同一の前記サブバンドでの相互相関係数を算出すること、
前記相互相関係数より、前記遠端周波数領域情報と前記近端周波数領域情報の同一のサブバンドでの正規化相互相関係数を算出することに用いられる。
【0073】
他の実施例において、前記現在の状態がシングルトーク状態であると、二次フィルタ重み係数確定モジュール404は、さらに、
前記前フレームのフィルタ重み係数を前記二次フィルタ重み係数として用いることに用いられる。
【0074】
他の実施例において、前記現在の状態がダブルトーク状態であると、二次フィルタ重み係数確定モジュール404は、さらに、
前記前フレームのフィルタ重み係数を更新して、現フレームのフィルタ重み係数を得ること、
前記現フレームのフィルタ重み係数を前記二次フィルタ重み係数として用いることに用いられる。
【0075】
他の実施例において、二次フィルタモジュール405は、さらに、
前記二次フィルタ重み係数により前記遠端周波数領域情報を二次フィルタ処理して、二次フィルタ結果を得ること、
前記近端周波数領域情報から前記二次フィルタ結果を減算して、前記二次差分スペクトルを得ることに用いられる。
【0076】
他の実施例において、目標取得モジュール406は、さらに
前記初期誤差スペクトルが前記二次差分スペクトルより小さいと、前記初期誤差スペクトルを前記目標出力スペクトルとすること、
前記初期誤差スペクトルが前記二次差分スペクトルより大きいと、前記二次差分スペクトルを前記目標出力スペクトルとすることに用いられる。
【0077】
他の実施例において、装置400は、
前記目標出力スペクトルを逆フーリエ変換してから重畳加算して、目標出力信号を得るための目標出力モジュール407をさらに備える。
【0078】
なお、上記の装置は、本出願に係る実施例によって提供される方法を実行して、実行された方法に対応する機能モジュールと有益な効果を備えることができる。装置の実施例に詳細に記述されていない技術的詳細については、本出願に係る実施例によって提供される方法を参照できる。
【0079】
図5は、電子機器100の一実施例におけるコントローラのハードウェアの構造模式図であり、図5に示すように、コントローラ110は、
1つまたは複数のプロセッサ111と、メモリ112と、を備える。図5では、プロセッサ111が1つ、メモリ112が1つである場合を例にとる。
【0080】
プロセッサ111とメモリ112はバスまたはその他の手段で接続されることができ、図5ではバスで接続される例を示している。
【0081】
メモリ112は、一つのコンピュータ読み取り可能な不揮発性記憶媒体として、本出願に係る実施例におけるエコー除去方法に対応するプログラムコマンド/モジュール(例えば、図面4に示すサンプリング信号取得モジュール401、線形フィルタモジュール402、状態確定モジュール403、二次フィルタ重み係数確定モジュール404、二次フィルタモジュール405、目標取得モジュール406、目標出力モジュール407)のような、不揮発性ソフトウェアプログラム、コンピュータで実行可能な不揮発性プログラム及びモジュールを記憶することに用いられることができる。プロセッサ111は、メモリ112に記憶される不揮発性ソフトウェアプログラム、コマンド及びモジュールを実行することによって、コントローラの各種の機能応用及びデータ処理を実行し、即ち、上記方法の実施例のエコー除去方法を実現する。
【0082】
メモリ112は、プログラム記憶エリアとデータ記憶エリアを含んでもよく、その中に、プログラム記憶エリアには、システム、少なくとも1つの機能を取り扱うために必要であるアプリプログラムを記憶でき、データ記憶エリアには、電子機器100の利用に従って生成されるデータなどを記憶できる。また、メモリ112は、高速ランダムアクセスメモリを含んでもよく、例えば少なくとも1つの磁気ディスクメモリデバイス、フラッシュメモリデバイス、又は他の不揮発性固体メモリデバイスのような不揮発性メモリをさらに含んでもよい。いくつかの実施例において、メモリ112は、プロセッサ111に対して遠隔に設けられるメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークによって信号長期記録装置に接続されることができる。上記ネットワークの実例は、インターネット、企業内ネットワーク、ローカルエリアネットワーク、移動通信ネットワークおよびそれらの組み合わせを含むがこれらに限定されない。
【0083】
前記1つまたは複数のモジュールは前記メモリ112に記憶され、前記1つまたは複数のプロセッサ111により実行される時に、上記のいずれの方法の実施例におけるエコー除去方法を実行し、例えば、以上に記述した図2における方法のステップS201からステップS206の方法ステップを実行したり、図4におけるモジュール401~407の機能を実現したりする。
【0084】
上記製品は、本出願に係る実施例によって提供される方法を実行し、実行された方法に対応する機能モジュールと有益な効果を備えることができる。本実施例に詳細に記述されていない技術的詳細については、本出願に係る実施例によって提供される方法を参照できる。
【0085】
本出願に係る実施例は、コンピュータ読み取り可能な不揮発性記憶媒体を提供しており、前記コンピュータ読み取り可能な記憶媒体には、コンピュータで実行可能なコマンドが記憶されており、このコンピュータで実行可能なコマンドは、例えば図5における1つのプロセッサ111のような1つまたは複数のプロセッサによって実行されることで、前記1つまたは複数のプロセッサが上記のいずれの方法の実施例におけるエコー除去方法を実行できるようになり、例えば、以上に記述した図2における方法のステップS201からステップS206の方法ステップを実行したり、図4におけるモジュール401~407の機能を実現したりする。
【0086】
以上に記述した装置の実施例は、例示的なものに過ぎず、その中に個別の部品として説明された前記ユニットは、物理的に分離されるものであってもよく、分離されていないものであってもよく、ユニットとして示された部品は、物理的なユニットであってもよく、物理的なユニットではなくてもよく、すなわち、ある箇所に位置してもよく、又は複数のネットワークユニットに分散してもよい。実際のニーズに応じてそのうちの一部又はすべてのモジュールを選択して本実施例の方案の目的を実現することができる。
【0087】
以上の実施例の記述から、当業者であれば、各実施例がソフトウェアと汎用のハードウェアプラットフォームを組み合わせた態様により実現でき、もちろん、ハードウェアにより実現できることを明らかに理解することができる。当業者にとって、上記実施例における方法の全部又は一部のフローの実現が、コンピュータプログラムが関連するハードウェアにコマンドを与えることによって成されることは理解できるものであり、上記のプログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、このプログラムは実行される時に、上記各方法の実施例のようなフローを含んでもよい。ここで、上記の記憶媒体は、磁気ディスク、光ディスク、リードオンリーメモリ(Read-Only Memory、ROM)、又はランダムアクセスメモリ(Random Access Memory、RAM)などであってもよい。
【0088】
最後に説明すべきことは、以上の実施例は、本発明の技術方案を説明するためのものに過ぎず、それを制限するものではなく、本発明の考えでは、以上の実施例又は異なる実施例における技術特徴の間を組み合わせることもでき、任意の順序でステップを実現することができ、上述のような本発明の異なる側面の他の変化が多く存在するが、簡略化のために、細部には提供されず、前述の実施例を参照して本発明を詳細に説明したが、当業者は、依然として前述の各実施例に記載の技術方案を補正し、又はそのうちの一部の技術特徴に対して等価の置換を行うことができ、これらの補正および置換は、対応する技術方案の本質を本発明に係る各実施例の技術方案の範囲から逸脱させないと理解すべきである。
図1
図2
図3
図4
図5