A threshold control system for controlling a non-linear processor in an echo canceller, the non-linear processor being configured to remove any signal energy below a threshold that remains in a microphone signal after the echo canceller has subtracted an echo estimate from it, the threshold control system comprising a convergence unit configured to determine an indication of the stability of an adaptive filter, the adaptive filter being configured to continuously model an echo path so as to generate the echo estimate, and a threshold tuner configured to adjust the threshold of the non-linear processor in dependence on the indication.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A threshold control system for controlling a non-linear processor in an echo canceller, the non-linear processor being configured to remove from a microphone signal after the echo canceller has subtracted an echo estimate from it, any signal energy below a threshold, the threshold control system comprising: a convergence unit configured to determine an indication of the stability of an adaptive filter by comparing one or more coefficients of the adaptive filter with a set of average coefficients, the adaptive filter being configured to continuously model an echo path so as to generate the echo estimate; and a threshold tuner configured to adjust the threshold of the non-linear processor in dependence on the indication.
A threshold control system dynamically adjusts the noise reduction level in an echo canceller. The system includes a non-linear processor that removes low-energy residual signals from the microphone output after echo cancellation. A convergence unit monitors the adaptive filter's stability by comparing its current coefficients to a set of average coefficients. A threshold tuner then adjusts the non-linear processor's threshold based on this stability indication. This allows for optimized noise reduction based on the echo canceller's performance.
2. A threshold control system as claimed in claim 1 , wherein the threshold control system is configured to control the non-linear processor only if an indication of the echo cancellation achieved by the echo canceller subtracting the echo estimate from the microphone signal is above a predetermined threshold.
This threshold control system, described above for dynamically adjusting noise reduction in an echo canceller, only activates the non-linear processor if the echo cancellation performance is good enough. The system checks if the amount of echo removed by the echo canceller is above a certain level. If the echo cancellation is already working well, the noise reduction is enabled; otherwise it is disabled.
3. A threshold control system as claimed in claim 1 , the convergence unit being further configured to update the set of average coefficients as the adaptive filter models the echo path.
In this echo cancellation system, the convergence unit, which monitors the adaptive filter's stability and compares coefficients to average values, also updates the set of average coefficients over time as the adaptive filter adapts to the changing echo path. This creates a moving baseline that reflects the latest echo characteristics, improving the stability monitoring accuracy.
4. A threshold control system as claimed in claim 1 , the threshold tuner being further configured to adjust the threshold so as to change the operating mode of a communication device between two or more of: a full-duplex mode, a partial duplex mode and a half-duplex mode.
This threshold control system, described above for dynamically adjusting noise reduction in an echo canceller, changes the communication device's operating mode (full-duplex, partial duplex, or half-duplex) by adjusting the non-linear processor's threshold. By dynamically switching between these modes, the system can optimize for different communication scenarios.
5. A threshold control system as claimed in claim 1 , the threshold tuner being further configured to adjust the threshold such that, the greater the deviation of the adaptive filter's coefficients from the set of average coefficients, the higher the threshold.
The threshold control system, described above for dynamically adjusting noise reduction in an echo canceller, adjusts the non-linear processor's threshold proportionally to the deviation of the adaptive filter's coefficients from their average values. The greater the instability of the adaptive filter, the higher the threshold, leading to increased noise reduction.
6. A threshold control system as claimed in claim 5 , the threshold tuner being further configured to, if the adaptive filter's coefficients show substantially no deviation from the set of average coefficients, control the non-linear processor such that the communication device operates in full-duplex mode.
In this echo cancellation system, if the adaptive filter's coefficients closely match the set of average coefficients, indicating high stability, the threshold tuner controls the non-linear processor to operate the communication device in full-duplex mode. This ensures minimal noise reduction when echo cancellation is already working well.
7. A threshold control system as claimed in claim 5 , the threshold tuner being further configured to, if the adaptive filter's coefficients show a substantial deviation from the set of average coefficients, control the non-linear processor such that the communication device operates in half-duplex mode.
In this echo cancellation system, if the adaptive filter's coefficients deviate significantly from the set of average coefficients, indicating instability, the threshold tuner controls the non-linear processor to operate the communication device in half-duplex mode. This aggressively reduces noise when echo cancellation performance is poor.
8. A threshold control system as claimed in claim 1 , the convergence unit being further configured to: calculate a value indicative of the deviation of the adaptive filter's coefficients from the set of average coefficients; and the threshold unit being configured to: control the non-linear processor such that the communication device operates in full duplex mode if that value is less than a first threshold; control the non-linear processor such that the communication device operates in partial duplex mode if that value is greater than or equal to the first threshold and less than a second threshold; and control the non-linear processor such that the communication device operates in half duplex mode if that value is greater than or equal to the second threshold.
This threshold control system uses a value representing the deviation of the adaptive filter's coefficients from their average values to switch between different duplex modes. If the deviation is below a first threshold, full-duplex mode is used. If it's between the first and a second threshold, partial duplex mode is used. If the deviation exceeds the second threshold, half-duplex mode is used.
9. A threshold control system as claimed in claim 1 , the convergence unit being further configured to treat the microphone signal as comprising a plurality of time frames, the convergence unit comprising a monitoring unit configured to, for each time frame of the microphone signal: identify a set of adaptive filter coefficients corresponding to that section; compare one or more of the identified set of coefficients with a set of average coefficients; assign the section of the microphone signal a region in dependence on the comparison; and update a threshold associated with the assigned region in dependence on the comparison.
In this threshold control system, the convergence unit processes the microphone signal in time frames. For each frame, it identifies the corresponding adaptive filter coefficients, compares them to the average coefficients, assigns the frame to a specific "region" based on this comparison, and updates the threshold associated with that region.
10. A threshold control system as claimed in claim 9 , the convergence unit being further configured to, when the monitoring unit has assigned a region to each one of the plurality of time frames: identify the threshold associated with the region that was most frequently assigned; and adjust the threshold of the non-linear processor to be the same as the identified threshold.
In this threshold control system, after all time frames have been assigned to regions, the system identifies the region that was most frequently assigned. Then, it adjusts the non-linear processor's threshold to match the threshold associated with this most frequent region.
11. A threshold control system as claimed in claim 10 , the convergence unit being further configured to update the threshold associated with the region by adjusting it in dependence on the comparison and a smoothing parameter that is associated with that region.
The threshold control system further refines the threshold adjustment by updating the threshold associated with a region based on the comparison of adaptive filter coefficients and a smoothing parameter specific to that region. This enables smoother threshold transitions over time.
12. A threshold control system as claimed in claim 10 , the convergence unit being further configured to adjust the threshold associated with the region by adjusting it in dependence on the comparison and a smoothing parameter that is associated with a combination of that region and the region with which the previous section of the microphone signal was associated.
The threshold control system adjusts the threshold of a region based on the comparison of adaptive filter coefficients and a smoothing parameter associated with a combination of the current region and the region of the previous time frame. This considers the history of region assignments for smoother transitions.
13. A threshold control system as claimed in claim 9 , the convergence unit further comprising a counter configured to count the number of occasions on which a region is assigned to one of the plurality of time frames, the counter being configured to, if it determines that double talk is present in one of the plurality of time frames, set the count for the region to which that time frame was assigned to zero.
The convergence unit counts how often each region is assigned to a time frame. If double-talk is detected in a time frame, the counter for the assigned region is reset to zero. This prevents double-talk from skewing the region assignment statistics.
14. A threshold control system as claimed in claim 13 , the counter being further configured to, when the monitoring unit has assigned a region to each of the plurality of time frames, reset the count for all regions to zero.
In this threshold control system, after the monitoring unit has assigned a region to each of the plurality of time frames, the counter for all regions are reset to zero. This clears the region count to prevent a persistent region assignment from skewing future calculations.
15. A threshold control system as claimed in claim 1 , further comprising a confirmation unit configured to determine if the threshold for the non-linear processor is stable and, if so, stop the threshold tuner from controlling the non-linear processor.
This threshold control system includes a confirmation unit that checks if the non-linear processor's threshold is stable. If the threshold is stable, the threshold tuner is disabled, preventing further adjustments and ensuring stable operation.
16. A threshold control system as claimed in claim 1 , further comprising an energy estimator configured to estimate an energy associated with an impulse response of the adaptive filter and, in dependence on said estimated energy, select one or more of the adaptive filter's coefficients for comparing with the average set of coefficients.
This threshold control system contains an energy estimator to estimate the energy of the adaptive filter's impulse response. Based on this energy estimation, it selects which adaptive filter coefficients to compare with the average set of coefficients. This focuses the comparison on the most relevant coefficients.
17. A threshold control system as claimed in claim 16 , the energy estimator being further configured to identify one or more of the adaptive filter's coefficients for comparing with the average set of coefficients by: treating each time frame of the microphone signal as comprising a plurality of sections; identifying an impulse response of the adaptive filter that corresponds to each section; estimating an energy associated with the impulse response identified for each section; determining that one or more of the identified impulse responses is associated with a dominant energy; and selecting one or more of the adaptive filter's coefficients that correspond to those one or more impulse responses for comparing with the average set of coefficients.
The energy estimator divides each time frame of the microphone signal into sections and identifies the corresponding impulse response of the adaptive filter. It estimates the energy associated with each impulse response and determines if any of the impulse responses have a dominant energy. Finally, it selects the adaptive filter coefficients corresponding to the dominant impulse responses for comparison with the average coefficients.
18. A threshold control system as claimed in claim 17 , the energy estimator being further configured to determine that an impulse response is associated with a dominant energy if a ratio of the estimated energy associated with that impulse response to a total estimated energy for the impulse responses associated with all of the plurality of sections is greater than a predetermined threshold.
The energy estimator determines that an impulse response is dominant if the ratio of its estimated energy to the total estimated energy of all impulse responses for that time frame exceeds a predetermined threshold. This allows the system to reliably identify the most significant impulse responses.
19. A threshold control system as claimed in claim 18 , the energy estimator being further configured to estimate an energy associated with an impulse response by: dividing the impulse response into a plurality of overlapping sections; identifying a set of said overlapping sections that are associated with the section of the microphone signal to which the impulse response corresponds; estimating an energy comprised in each section of the set; and summing the estimated energies for the set.
To estimate the energy of an impulse response, the energy estimator divides the impulse response into overlapping sections. It identifies the sections associated with the microphone signal's section and estimates the energy in each section. Finally, it sums the estimated energies for the overlapping sections to determine the impulse response's total energy.
20. A method for controlling a non-linear processor in an echo canceller, the non-linear processor being configured to remove from a microphone signal after the echo canceller has subtracted an echo estimate from it, any signal energy below a threshold, the method comprising: determining an indication of the stability of an adaptive filter by comparing one or more coefficients of the adaptive filter with a set of average coefficients, the adaptive filter being configured to continuously model an echo path so as to generate the echo estimate; and adjusting the threshold of the non-linear processor in dependence on the indication.
A method for controlling an echo canceller involves removing residual noise from the microphone signal using a non-linear processor with an adjustable threshold. The threshold is adjusted based on the stability of an adaptive filter that models the echo path. The stability is determined by comparing the adaptive filter's coefficients with a set of average coefficients.
21. A non-transitory machine readable storage medium having stored thereon processor executable instructions implementing a method according to claim 20 .
A non-transitory computer-readable medium stores instructions that, when executed, implement the echo cancellation method described above, which involves dynamically adjusting a noise reduction threshold based on the stability of an adaptive filter.
22. A system for dynamically tuning an echo canceller and controlling a non-linear processor in the echo canceller, the non-linear processor being configured to remove from a microphone signal after the echo canceller has subtracted an echo estimate from it, any signal energy below a threshold, the system comprising: a convergence unit configured to determine an indication of the stability of an adaptive filter by comparing one or more coefficients of the adaptive filter with a set of average coefficients, the adaptive filter being configured to continuously model an echo path of a far-end signal so as to generate the echo estimate; a threshold tuner configured to adjust the threshold of the non-linear processor in dependence on the indication; a monitoring unit configured to estimate an energy associated with an impulse response of the adaptive filter; and a gain tuner configured to adjust an attenuation of at least one of the microphone signal and the far-end signal in dependence on the estimated energy.
A system for dynamically tuning an echo canceller includes a convergence unit, a threshold tuner, a monitoring unit and a gain tuner. The convergence unit compares the adaptive filter coefficients with a set of average coefficients, the threshold tuner adjusts the non-linear processor's threshold, the monitoring unit estimates an energy associated with an impulse response of the adaptive filter, and a gain tuner adjusts an attenuation of at least one of the microphone signal and the far-end signal in dependence on the estimated energy.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 2, 2015
July 11, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.