IP Library Granted Patent US 12,671,767
Granted Patent B2
US 12,671,767 · App. 18/695,218 · Granted Jun 30, 2026

Robust foreground/background filtering control for acoustic echo cancellation

Inventors: Ning Wang (Epping, AU); Guodong Li (St. Ives, AU)
Assignee: DOLBY LABORATORIES LICENSING CORPORATION
H04M9/082H04B3/237
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,671,767
App. No.
18/695,218
Filed
Mar 25, 2024
Granted
Jun 30, 2026
Kind
B2
Examiner
HASHEM, LISA
Art Unit
2692
USPC
379/406.01
Abstract

Systems and methods are described for controlling adaptive filtering components. A far end signal may be filtered by each of a foreground filter and a background filter, where both filters are adaptive echo cancellation filters that output echo estimations. Control logic may halt adaptation by the background filter based on a deviation signal. To determine the deviation signal, cross-correlation coefficients for the echo estimations produced by both filters may be determined for each frequency bin of the far end signal. The determined cross-correlation coefficients may be summed across a plurality of the frequency bins. A hysteresis function may then be applied to the sum associated with the filter associated with the echo estimation used to generate a filtered result. The deviation signal may be activated in response to the hysteresis function outputting a high value, which the control logic uses to turn off adaptation by the background filter.

Claims (51)

1 . A method for controlling foreground and background adaptive filtering components of an acoustic echo cancelling system, the method comprising:

filtering, by a foreground filter in communication with control logic, a received frequency-domain far end signal, the filtering by the foreground filter resulting in a foreground echo estimation, the foreground filter being an adaptive echo cancellation filter that operates based on foreground coefficients;

filtering, by a background filter in communication with the control logic, the received frequency-domain far end signal, the filtering by the background filter resulting in a background echo estimation, the background filter being an adaptive echo cancellation filter that operates based on background coefficients;

determining a filtered result, by the control logic, based on a near-end microphone signal and a selected one of the foreground echo estimation and the background echo estimation, the filtered result being subsequently used to generate a near-end voice signal, wherein the control logic is configured to select one of the foreground echo estimation and the background echo estimation based on a comparison of a difference between the near-end microphone signal and the foreground echo estimation and a difference between the near-end microphone signal and the background echo estimation; and

freezing, by the control logic, values of coefficients used in the background filter when a deviation signal is at a logical high, wherein determining the deviation signal by the control logic comprises:

determining a respective cross-correlation coefficient for both the foreground echo estimation and the background echo estimation for each frequency bin of the received frequency-domain far end signal, each cross-correlation coefficient being based on a comparison of received microphone input signals and respective echo estimations of each frequency bin;

summing the determined cross-correlation coefficients across a plurality of the frequency bins for each of the foreground echo estimation and the background echo estimation;

selecting one of the sum of the cross-correlation coefficients for the foreground echo estimation and the sum of the cross-correlation coefficients for the background echo estimation, wherein the selected sum corresponds to the selected one of the foreground echo estimation and the background echo estimation; and

applying a hysteresis function to the selected sum of cross-correlation coefficients, such that when the selected sum is less than a first threshold, the hysteresis function outputs a high value representing the logical high, and when the selected sum is greater than a second threshold, the hysteresis function outputs a low value.

2 . The method of claim 1 , wherein received near-end microphone signals are, prior to the determining of the respective cross-correlation coefficients, processed to determine a respective noise floor value for each frequency bin, the respective noise floor being used to determine the cross-correlation coefficients for each bin.

3 . The method of claim 2 , wherein the processing to determine the respective noise floor value is based on:

a first smoothing factor and a noise floor value for a preceding bin when a magnitude of the near-end microphone signal is less than or equal to a modified near-end microphone signal for the preceding bin; and

a second smoothing factor and the noise floor value for the preceding bin when the magnitude of the near-end microphone signal is greater than the modified near-end microphone signal for the preceding bin.

4 . The method of claim 3 , wherein the first smoothing factor has a lower value than the second smoothing value.

5 . The method of claim 1 , wherein the deviation signal is determined further based on filtering the determined respective cross-correlation coefficients such that cross-correlation coefficients are determined only for bins with greater than a threshold level of speech, and wherein bins with less than the threshold level of speech have cross-correlation coefficients set to a predetermined value.

6 . The method of claim 5 , wherein the threshold level of speech is based on a comparison of a magnitude of the near-end microphone signal to a noise floor value for a bin being greater than a predetermined signal-to-noise ratio threshold.

7 . The method of claim 5 , wherein the threshold level of speech is based on a magnitude of the near-end microphone signal being greater than a predetermined minimum level threshold.

8 . The method of claim 1 , wherein the summing the determined cross-correlation coefficients across the plurality of frequency bins comprises adding determined cross-correlation coefficients for frequency bins within a 300 Hz to 3400 Hz range.

9 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

filtering, by a foreground filter, a received frequency-domain far end signal, the filtering by the foreground filter resulting in a foreground echo estimation, the foreground filter being an adaptive echo cancellation filter that operates based on foreground coefficients;

filtering, by a background filter, the received frequency-domain far end signal, the filtering by the background filter resulting in a background echo estimation, the background filter being an adaptive echo cancellation filter that operates based on background coefficients;

determining a filtered result based on a near-end microphone signal and a selected one of the foreground echo estimation and the background echo estimation, the filtered result being subsequently used to generate a near-end voice signal, wherein the one or more processors are configured to select one of the foreground echo estimation and the background echo estimation based on a comparison of a difference between the near-end microphone signal and the foreground echo estimation and a difference between the near-end microphone signal and the background echo estimation; and

freezing values of coefficients used in the background filter when a deviation signal is at a logical high, wherein determining the deviation signal comprises:

determining a respective cross-correlation coefficient for both the foreground echo estimation and the background echo estimation for each frequency bin of the received frequency-domain far end signal, each cross-correlation coefficient being based on a comparison of received microphone input signals and respective echo estimations of each frequency bin;

summing the determined cross-correlation coefficients across a plurality of the frequency bins for each of the foreground echo estimation and the background echo estimation;

selecting one of the sum of the cross-correlation coefficients for the foreground echo estimation and the sum of the cross-correlation coefficients for the background echo estimation, wherein the selected sum corresponds to the selected one of the foreground echo estimation and the background echo estimation; and

applying a hysteresis function to the selected sum of cross-correlation coefficients, such that when the selected sum is less than a first threshold, the hysteresis function outputs a high value representing the logical high, and when the selected sum is greater than a second threshold, the hysteresis function outputs a low value.

10 . The non-transitory computer-readable medium of claim 9 , wherein, in the operations, received near-end microphone signals are, prior to the determining of the respective cross-correlation coefficients, processed to determine a respective noise floor value for each frequency bin, the respective noise floor being used to determine the cross-correlation coefficients for each bin.

11 . The non-transitory computer-readable medium of claim 10 , wherein, in the operations, the processing to determine the respective noise floor value is based on:

a first smoothing factor and a noise floor value for a preceding bin when a magnitude of the near-end microphone signal is less than or equal to a modified near-end microphone signal for the preceding bin; and

a second smoothing factor and the noise floor value for the preceding bin when the magnitude of the near-end microphone signal is greater than the modified near-end microphone signal for the preceding bin.

12 . The non-transitory computer-readable medium of claim 11 , wherein, in the operations, the first smoothing factor has a lower value than the second smoothing value.

13 . The non-transitory computer-readable medium of claim 9 , wherein, in the operations, the deviation signal is determined further based on filtering determined cross-correlation coefficients such that cross-correlation coefficients are determined only for bins with greater than a threshold level of speech, and wherein bins with less than the threshold level of speech have cross-correlation coefficients set to a predetermined value.

14 . The non-transitory computer-readable medium of claim 13 , wherein, in the operations, the threshold level of speech is based on a comparison of a magnitude of the near-end microphone signal to a noise floor value for a bin being greater than a predetermined signal-to-noise ratio threshold.

15 . The non-transitory computer-readable medium of claim 14 , wherein, in the operations, the threshold level of speech is based on a magnitude of the near-end microphone signal being greater than a predetermined minimum level threshold.

16 . The non-transitory computer-readable medium of claim 9 , wherein, in the operations, the summing the determined cross-correlation coefficients across the plurality of frequency bins comprises adding determined cross-correlation coefficients for frequency bins within a 300 Hz to 3400 Hz range.

17 . An acoustic echo cancelling system, comprising:

a foreground filter that filters a received frequency-domain far end signal, the filtering by the foreground filter resulting in a foreground echo estimation, the foreground filter being an adaptive echo cancellation filter that operates based on foreground coefficients;

a background filter that filters the received frequency-domain far end signal, the filtering by the background filter resulting in a background echo estimation, the background filter being an adaptive echo cancellation filter that operates based on background coefficients; and

control logic in communication with each of the foreground filter and the background filter, the control logic being configured for:

determining a filtered result based on a near-end microphone signal and a selected one of the foreground echo estimation and the background echo estimation, the filtered result being subsequently used to generate a near-end voice signal, wherein the control logic is configured to select one of the foreground echo estimation and the background echo estimation based on a comparison of a difference between the near-end microphone signal and the foreground echo estimation and a difference between the near-end microphone signal and the background echo estimation; and

freezing values of coefficients used in the background filter when a deviation signal is at a logical high, wherein determining the deviation signal by the control logic comprises:

determining a respective cross-correlation coefficient for both the foreground echo estimation and the background echo estimation for each frequency bin of the received frequency-domain far end signal, each cross-correlation coefficient being based on a comparison of received microphone input signals and the respective echo estimations of each frequency bin;

summing the determined cross-correlation coefficients across a plurality of the frequency bins for each of the foreground echo estimation and the background echo estimation;

selecting one of the sum of the cross-correlation coefficients for the foreground echo estimation and the sum of the cross-correlation coefficients for the background echo estimation, wherein the selected sum corresponds to the selected one of the foreground echo estimation and the background echo estimation; and

applying a hysteresis function to the selected sum of cross-correlation coefficients, such that when the selected sum is less than a first threshold, the hysteresis function outputs a high value representing the logical high, and when the selected sum is greater than a second threshold, the hysteresis function outputs a low value.

18 . The system of claim 17 , wherein received near-end microphone signals are, prior to the determining of the respective cross-correlation coefficients, processed to determine a respective noise floor value for each frequency bin, the respective noise floor being used to determine the cross-correlation coefficients for each bin.

19 . The system of claim 18 , wherein the processing to determine the noise floor value is based on:

a first smoothing factor and a noise floor value for a preceding bin when a magnitude of the near-end microphone signal is less than or equal to a modified near-end microphone signal for the preceding bin; and

a second smoothing factor and the noise floor value for the preceding bin when the magnitude of the near-end microphone signal is greater than the modified near-end microphone signal for the preceding bin.

20 . The system of claim 19 , wherein the first smoothing factor has a lower value than the second smoothing value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2024
From: WANG, NING; LI, GUODONG
To: DOLBY LABORATORIES LICENSING CORPORATION
Reel/Frame 067674/0414 →
Priority Claims (1)
EP 21200054 · Sep 30, 2021 · regional
Continuity (2)
Provisional Application 63250565 · Sep 30, 2021
Related Publication 20250159083A1 · May 15, 2025
References Cited (37)
US 4833399A · So · 1989 [cited by examiner]
US 5305307A · Chu · 1994 [cited by examiner]
US 6622030B1 · Romesburg · 2003 [cited by examiner]
US 7177416B1 · Zhang · 2007 [cited by examiner]
US 8019075B2 · Mohammad · 2011 [cited by applicant]
US 8023641B2 · Rahbar · 2011 [cited by applicant]
US 8462958B2 · Kuech · 2013 [cited by examiner]
US 8644522B2 · LeBlanc · 2014 [cited by examiner]
US 8693678B2 · Lindstrom · 2014 [cited by examiner]
US 8712076B2 · Dickins · 2014 [cited by applicant]
US 8787561B2 · Dyba · 2014 [cited by applicant]
US 8934620B2 · Rowley · 2015 [cited by applicant]
US 9036816B1 · Ayrapetian · 2015 [cited by applicant]
US 9549079B2 · Bao · 2017 [cited by examiner]
US 9602922B1 · Yang · 2017 [cited by examiner]
US 9842606B2 · Ushakov · 2017 [cited by applicant]
US 9972337B2 · Li · 2018 [cited by examiner]
US 10192567B1 · Kamdar · 2019 [cited by applicant]
US 10313509B2 · Gunther · 2019 [cited by examiner]
US 10477031B2 · Schalk-Schupp · 2019 [cited by applicant]
US 10601998B2 · Hera · 2020 [cited by examiner]
US 11100942B2 · Dickins · 2021 [cited by examiner]
US 11863710B2 · Lei · 2024 [cited by examiner]
US 12231603B2 · Wang · 2025 [cited by examiner]
US 20130156211A1 · Hwang · 2013 [cited by applicant]
US 20170142532A1 · Pan · 2017 [cited by applicant]
US 20190394338A1 · Wada · 2019 [cited by applicant]
US 20200228663A1 · Wells-Rutherford · 2020 [cited by applicant]
US 20230115316A1 · Wang · 2023 [cited by examiner]
US 20250159083A1 · Wang · 2025 [cited by examiner]
RU 2220510C2 · 2003 [cited by applicant]
RU 2485607C2 · 2013 [cited by applicant]
Christian Schuldt et al: “An Improved Deviation Measure for Two-path Echo Cancellation” , Acoustics Speech And Signal Processing (Icassp), 2010 Ieee International Conference On, IEEE, Piscataway, NJ, USA, Mar. 14, 2010 … [cited by applicant]
Ghose, K. and Reddy, V.U.,A Double-talk Detector for Acoustic Echo Cancellation Applications. Signal Processing, 80 (8), pp. 1459-1467. 9 pages. [cited by applicant]
Marc Moonen et al., Transform Domain Prediction Error Method for Improved Acoustic Echo and Feedback Cancellation, 20th European Signal Processing Conference (EUSIPCO 2012) Bucharest, Romania, Aug. 27-31, 2012, 5 pages. [cited by applicant]
Vineeta Das et al., A New Cross Correlation Based Double Talk Detection Algorithm for Nonlinear Acoustic Echo Cancellation, IEEE Xplore, 6 pages. [cited by applicant]
Y. Zhou et al., Advanced Double-talk Detection Algorithm Based on Joint Signal Energy and Cross-correlation Estimation, 2016 8th IEEE International Conference on Communication Software and Networks, 4 pages. [cited by applicant]