Updating filter coefficients during echo cancellation
AssigneeSorenson IP Holdings, LLC
InventorJacob H. Gunther
Life of this patent
Estimating the term…
Abstract
Updating filter coefficients during echo cancellation is disclosed. In some embodiments, a communication device may include a processor configured to operate a background filter configured as an adaptive filter, operate a foreground filter configured as a fixed filter; and update the foreground filter with coefficients from the background filter responsive to monitoring a history of both a near-end signal energy and an estimated far-end signal energy for a pre-determined time window in which conditions of each of the near-end signal energy and the estimated far-end signal energy are satisfied.
Claims20
A communication device, comprising:
- a microphone configured to capture sound;
- and
- a computing system communicatively coupled to the microphone and configured to cause the communication device to perform operations, the operations comprising:
- operate, during a particular period of time, a background filter configured as an adaptive filter and configured to generate an estimated far-end signal based on:
- background filter coefficients of the background filter that are updated during the particular period of time,
- a near-end signal generated by the communication device based on the sound captured by the microphone, and
- a line-in signal that includes:
- a far-end signal obtained by the communication device over a network;
- and
- an echo signal that includes an echo of the near-end signal;
- determine that the near-end signal is active during the particular period of time;
- determine that the far-end signal is inactive during the particular period of time based on the estimated far-end signal;
- and
- update foreground filter coefficients of a foreground filter with the background filter coefficients in response to determining that the near-end signal is active during the particular period of time and in response to determining that the far-end signal is inactive during the particular period of time, the foreground filter being configured to generate an echo cancelled signal based on the line-in signal, the near-end signal, and the foreground filter coefficients.
A method for cancelling echo, the method comprising:
- monitoring, during a particular period of time, near-end signal energy of a near-end signal generated by a communication device based on sound captured by a microphone of the communication device;
- monitoring, during the particular period of time, an estimated far-end signal energy of an estimated far-end signal that is an output of a background filter in which the output is based on the near-end signal and in which the estimated far-end signal is an estimate of a far-end signal obtained by the communication device from a far-end device during a communication session;
- determining, based on the monitoring of the near-end signal energy, that the near-end signal is active during the particular period of time;
- determining, based on the monitoring of the estimated far-end signal energy, that the far-end signal is inactive during the particular period of time;
- updating foreground filter coefficients of a foreground filter with background filter coefficients of the background filter in response to determining that the near-end signal is active during the particular period of time and in response to determining that the far-end signal is inactive during the particular period of time;
- and
- performing, by the foreground filter, an echo cancellation on an input signal that includes the far-end signal and an echo signal that includes an echo of the near-end signal.
One or more non-transitory computer-readable media configured to store instructions that, in response to being executed by a processor, cause a communication device to perform operations, the operations comprising:
- determine that a near-end signal is active during a particular period of time, the near-end signal being generated by a communication device based on sound captured by a microphone of the communication device;
- determine that a far-end signal is inactive during the particular period of time based on an estimated far-end signal that is an output of a background filter in which the output is based on the near-end signal and in which the estimated far-end signal is an estimate of the far-end signal, which is obtained by the communication device over a network;
- update foreground filter coefficients of a foreground filter with background filter coefficients of the background filter in response to determining that the near-end signal is active during the particular period of time and in response to determining that the far-end signal is inactive during the particular period of time;
- and
- perform, by the foreground filter, an echo cancellation on an input signal that includes the far-end signal and an echo signal that includes an echo of the near-end signal.
Dependencies are inferred from the claim text.