# US 10,313,509 B2 · Updating filter coefficients during echo cancellation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,509 B2
- Document ID: US10313509B2
- Status: Granted
- Kind: B2
- Application number: 15/331,695
- Filed: 2016-10-21
- Published: 2017-02-09
- Granted: 2019-06-04
- Earliest claimed: 2015-05-04
- Assignees: Sorenson IP Holdings, LLC
- Applicants: Sorenson IP Holdings, LLC
- Inventors: Jacob H. Gunther
- Web page: https://patentgrep.com/patent/US10313509B2

## CPC

- H04M 3/002: {Applications of echo suppressors or cancellers in telephonic connections (in two-way loud-speaking telephone systems H04M9/08, echo suppressors or cancellers per se H04B3/20)}
- G10L 21/0208: Noise filtering
- G10L 25/21: the extracted parameters being power information
- H04B 3/237: {using two adaptive filters, e.g. for near end and for end echo cancelling}
- H04M 9/082: {using echo cancellers (echo cancellers per se H04B3/23)}
- G10L 15/26: Speech to text systems (G10L15/08 takes precedence)
- G10L 2021/02082: {the noise being echo, reverberation of the speech}
- H04M 1/2475: {for a hearing impaired user}
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- H04B: TRANSMISSION

## 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.

## Claims

### Claim 1

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.

### Claim 2 (depends on 1)

The communication device of claim 1, wherein:
determining that the near-end signal is active during the particular period of time is based on a first number of times, during the particular period of time, that near-end signal energy of the near-end signal is above a first energy threshold, and
determining that the far-end signal is inactive during the particular period of time is based on a second number of times, during the particular period of time, that estimated far-end energy of the estimated far-end signal is below a second energy threshold.

### Claim 3 (depends on 2)

The communication device of claim 2, wherein:
determining that the near-end signal is active during the particular period of time is in response to the first number of times satisfying a first count threshold, and
determining that the far-end signal is inactive during the particular period of time is in response to the second number of times satisfying a second count threshold.

### Claim 4 (depends on 3)

The communication device of claim 3, wherein the first count threshold is based on a first fraction of the particular period of time.

### Claim 5 (depends on 3)

The communication device of claim 3, wherein the second count threshold is based on a second fraction of the particular period of time.

### Claim 6 (depends on 1)

The communication device of claim 1, wherein the background filter is a recursive least squared (RLS) adaptive filter.

### Claim 7 (depends on 6)

The communication device of claim 6, wherein the RLS adaptive filter implements an algorithm selected from a group consisting of: a covariance-matrix-based RLS algorithm and its square root versions that use a tapped-delay line parameterization and a matrix inversion lemma; an order-recursive RLS algorithm that uses a lattice structure for filter parameterization and error computation; and a fast fixed-order RLS algorithm.

### Claim 8 (depends on 6)

The communication device of claim 6, wherein the operations further comprise: operate a state machine to control the RLS adaptive filter and to update the foreground filter with coefficients from the background filter.

### Claim 9 (depends on 8)

The communication device of claim 8, wherein the state machine controls an amplitude control block of the near-end signal after updating of the foreground filter coefficients has been initiated.

### Claim 10

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.

### Claim 11 (depends on 10)

The method of claim 10, wherein determining that the near-end signal is active during the particular period of time is based on a first number of times, during the particular period of time, that the near-end signal energy satisfies a relationship criterion with respect to a first energy threshold.

### Claim 12 (depends on 11)

The method of claim 11, wherein determining that the near-end signal is active during the particular period of time is in response to the first number of times satisfying a first count threshold value.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first count threshold value is based on a first fraction of the particular period of time.

### Claim 14 (depends on 12)

The method of claim 12, wherein the first number of times that the near-end signal energy satisfies the relationship criterion with respect to the first energy threshold is a number of samples of the near-end signal energy that are above the first energy threshold during the particular period of time, and determining that the near-end signal is active during the particular period of time is in response to the first number of times being greater than the first count threshold value.

### Claim 15 (depends on 12)

The method of claim 12, wherein the first number of times that the near-end signal energy satisfies the relationship criterion with respect to the first energy threshold is a number of samples of the near-end signal energy that are below the first energy threshold during the particular period of time, and determining that the near-end signal is active during the particular period of time is in response to the first number of times being less than the first count threshold value.

### Claim 16 (depends on 10)

The method of claim 10, wherein determining that the far-end signal is inactive during the particular period of time is based on a second number of times, during the particular period of time, that the estimated far-end signal energy satisfies a relationship criterion with respect to a second energy threshold.

### Claim 17 (depends on 16)

The method of claim 16, wherein the second number of times that the estimated far-end signal energy satisfies the relationship criterion with respect to the second energy threshold is how many times during the particular period of time that the estimated far-end signal energy is below the second energy threshold.

### Claim 18 (depends on 16)

The method of claim 16, wherein the second number of times that the estimated far-end signal energy satisfies the relationship criterion with respect to the second energy threshold is how many times during the particular period of time that the estimated far-end signal energy is above the second energy threshold.

### Claim 19

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.

### Claim 20 (depends on 19)

The one or more non-transitory computer-readable media of claim 19, wherein:
determining that the near-end signal is active during the particular period of time is based on a first number of times, during the particular period of time, that near-end signal energy of the near-end signal is on one side of a first energy threshold; and
determining that the far-end signal is inactive during the particular period of time is based on a second number of times, during the particular period of time, that estimated far-end signal energy of the estimated far-end signal is on one side of a second energy threshold.
