IP Library Granted Patent US 10,803,881
Granted Patent B1
US 10,803,881 · App. 16/573,573 · Granted Oct 13, 2020

System and method for acoustic echo cancelation using deep multitask recurrent neural networks

Inventors: Amin Fazeli (San Diego, CA); Mostafa El-Khamy (San Diego, CA); Jungwon Lee (San Diego, CA)
Assignee: Samsung Electronics Co., Ltd.
G10L21/0232G06N3/08G06N20/10H04R3/04G10L2021/02082
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 10,803,881
App. No.
16/573,573
Granted
Oct 13, 2020
Kind
B1
Abstract

A method for performing echo cancellation includes: receiving a far-end signal from a far-end device at a near-end device; recording a microphone signal at the near-end device including: a near-end signal; and an echo signal corresponding to the far-end signal; extracting far-end features from the far-end signal; extracting microphone features from the microphone signal; computing estimated near-end features by supplying the microphone features and the far-end features to an acoustic echo cancellation module including: an echo estimator including a first stack of a recurrent neural network configured to compute estimated echo features based on the far-end features; and a near-end estimator including a second stack of the recurrent neural network configured to compute the estimated near-end features based on an output of the first stack and the microphone signal; computing an estimated near-end signal from the estimated near-end features; and transmitting the estimated near-end signal to the far-end device.

Claims (206)

1. A method for performing echo cancellation comprising:

receiving a far-end signal from a far-end device at a near-end device;

recording a microphone signal at the near-end device, the microphone signal comprising:

a near-end signal; and

an echo signal corresponding to the far-end signal;

extracting a plurality of far-end features from the far-end signal;

extracting a plurality of microphone features from the microphone signal;

computing a plurality of estimated near-end features from the microphone signal by supplying the microphone features and the far-end features to an acoustic echo cancellation module comprising:

an echo estimator comprising a first stack of a recurrent neural network configured to compute a plurality of estimated echo features based on the far-end features; and

a near-end estimator comprising a second stack of the recurrent neural network configured to compute the estimated near-end features based on an output of the first stack and the microphone signal;

computing an estimated near-end signal from the estimated near-end features; and

transmitting the estimated near-end signal to the far-end device.

2. The method of claim 1 , wherein the far-end features supplied to the echo estimator and near-end estimator comprise a current frame of far-end features and a causal window of a plurality of previous frames of far-end features, and

wherein the microphone features supplied to the near-end estimator comprise a current frame of microphone features and the causal window of a plurality of previous frames of microphone features.

3. The method of claim 2 , wherein the estimated echo features comprise a current frame of echo features and the causal window of a plurality of previous frames of echo features,

wherein the estimated near-end features comprise a current frame of estimated near-end features and the causal window of a plurality of previous frames of estimated near-end features, and

wherein the recurrent neural network is trained by iteratively training a plurality of parameters configuring the echo estimator and the near-end estimator to minimize:

differences between the estimated echo features and a plurality of ground truth echo features of a plurality of training data; and

differences between the estimated near-end features and a plurality of ground truth near-end features of the plurality of training data.

4. The method of claim 3 , wherein the minimizing is performed based on a loss function:

loss

k

=

β

n

=

0

m

S

~

k

-

n

-

Q

~

k

-

n

1

+

(

1

-

β

)

n

=

0

m

Y

~

k

-

n

-

V

~

k

-

n

1

,

wherein m is a length of the causal window, {tilde over (S)} i corresponds to the ground truth near-end features for an i-th frame, {tilde over (Q)} i corresponds to the estimated near-end features for the i-th frame, {tilde over (Y)} i corresponds to the ground truth echo features for the i-th frame, {tilde over (V)} i corresponds to the estimated echo features for the i-th frame, and β is a weighing factor between the loss associated with the near-end signal and the loss associated with the echo signal.

5. The method of claim 3 , wherein the training data is generated by:

loading a corpus of training data comprising recorded utterances from a plurality of different human speakers;

selecting a plurality of pairs of human speakers;

for each pair of human speakers:

concatenating multiple utterances of a first speaker of the pair of human speakers to generate a training far-end signal;

transforming the concatenated utterances to simulate an acoustic path to generate a training echo signal;

padding an utterance of a second speaker of the pair of human speakers to generate a training near-end signal having a length equal to the training far-end signal; and

mixing the training echo signal with the training near-end signal to generate a training microphone signal.

6. The method of claim 5 , wherein the transforming the concatenated utterances comprises convolving the far-end signal with a room impulse response of a simulated room.

7. The method of claim 6 , wherein the transforming the concatenated utterances comprises:

applying hard clipping to the far-end signal to generate a clipped far-end signal; and

applying sigmoidal distortion to the clipped far-end signal.

8. The method of claim 1 , wherein the far-end features, the microphone features, the estimated near-end features, and the estimated echo features comprise log short time Fourier transform features in logarithmic spectral space.

9. The method of claim 1 , wherein the first stack comprises a first plurality of layers of gated recurrent units,

wherein the plurality of estimated echo features correspond to outputs of a last layer of the first plurality of layers of gated recurrent units,

wherein the second stack comprises a second plurality of layers of gated recurrent units and a fully connected layer connected to a last layer of the second plurality of layers of gated recurrent units, and

wherein the estimated near-end features correspond to an output of the fully connected layer of the second stack.

10. A communication device configured to perform echo cancellation, the communication device comprising:

a modem;

a speaker;

a microphone;

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to:

receive a far-end signal from a far-end device via the modem;

record a microphone signal through the microphone, the microphone signal comprising:

a near-end signal; and

an echo signal corresponding to the far-end signal;

extract a plurality of far-end features from the far-end signal;

extract a plurality of microphone features from the microphone signal;

compute a plurality of estimated near-end features from the microphone signal by supplying the microphone features and the far-end features to an acoustic echo cancellation module comprising:

an echo estimator comprising a first stack of a recurrent neural network configured to compute a plurality of estimated echo features based on the far-end features; and

a near-end estimator comprising a second stack of the recurrent neural network configured to compute the estimated near-end features based on an output of the first stack and the microphone signal;

compute an estimated near-end signal from the estimated near-end features; and

transmit the estimated near-end signal to the far-end device via the modem.

11. The communication device of claim 10 , wherein the far-end features supplied to the echo estimator and near-end estimator comprise a current frame of far-end features and a causal window of a plurality of previous frames of far-end features, and

wherein the microphone features supplied to the near-end estimator comprise a current frame of microphone features and the causal window of a plurality of previous frames of microphone features.

12. The communication device of claim 11 , wherein the estimated echo features comprise a current frame of echo features and the causal window of a plurality of previous frames of echo features,

wherein the estimated near-end features comprise a current frame of estimated near-end features and the causal window of a plurality of previous frames of estimated near-end features, and

wherein the recurrent neural network is trained by iteratively training a plurality of parameters configuring the echo estimator and the near-end estimator to minimize:

differences between the estimated echo features and a plurality of ground truth echo features of a plurality of training data; and

differences between the estimated near-end features and a plurality of ground truth near-end features of the plurality of training data.

13. The communication device of claim 12 , wherein the minimizing is performed based on a loss function:

loss

k

=

β

n

=

0

m

S

~

k

-

n

-

Q

~

k

-

n

1

+

(

1

-

β

)

n

=

0

m

Y

~

k

-

n

-

V

~

k

-

n

1

,

wherein m is a length of the causal window, {tilde over (S)} i corresponds to the ground truth near-end features for an i-th frame, {tilde over (Q)} i corresponds to the estimated near-end features for the i-th frame, {tilde over (Y)} i corresponds to the ground truth echo features for the i-th frame, {tilde over (V)} i corresponds to the estimated echo features for the i-th frame, and β is a weighing factor between the loss associated with the near-end signal and the loss associated with the echo signal.

14. The communication device of claim 12 , wherein the training data is generated by:

loading a corpus of training data comprising recorded utterances from a plurality of different human speakers;

selecting a plurality of pairs of human speakers;

for each pair of human speakers:

concatenating multiple utterances of a first speaker of the pair of human speakers to generate a training far-end signal;

transforming the concatenated utterances to simulate an acoustic path to generate a training echo signal;

padding an utterance of a second speaker of the pair of human speakers to generate a training near-end signal having a length equal to the training far-end signal; and

mixing the training echo signal with the training near-end signal to generate a training microphone signal.

15. The communication device of claim 14 , wherein the transforming the concatenated utterances comprises convolving the far-end signal with a room impulse response of a simulated room.

16. The communication device of claim 15 , wherein the transforming the concatenated utterances comprises:

applying hard clipping to the far-end signal to generate a clipped far-end signal; and

applying sigmoidal distortion to the clipped far-end signal.

17. The communication device of claim 10 , wherein the far-end features, the microphone features, the estimated near-end features, and the estimated echo features comprise log short time Fourier transform features in logarithmic spectral space.

18. The communication device of claim 10 , wherein the first stack comprises a first plurality of layers of gated recurrent units,

wherein the plurality of estimated echo features correspond to outputs of a last layer of the first plurality of layers of gated recurrent units,

wherein the second stack comprises a second plurality of layers of gated recurrent units and a fully connected layer connected to a last layer of the second plurality of layers of gated recurrent units, and

wherein the estimated near-end features correspond to an output of the fully connected layer of the second stack.

19. A non-transitory computer readable medium storing instructions that, when executed by a computer processor, cause the computer processor to:

receive a far-end signal from a far-end device;

record a microphone signal through a microphone, the microphone signal comprising:

a near-end signal; and

an echo signal corresponding to the far-end signal;

extract a plurality of far-end features from the far-end signal;

extract a plurality of microphone features from the microphone signal;

compute a plurality of estimated near-end features from the microphone signal by supplying the microphone features and the far-end features to an acoustic echo cancellation module comprising:

an echo estimator comprising a first stack of a recurrent neural network configured to compute a plurality of estimated echo features based on the far-end features; and

a near-end estimator comprising a second stack of the recurrent neural network configured to compute the estimated near-end features based on an output of the first stack and the microphone signal;

compute an estimated near-end signal from the estimated near-end features; and

transmit the estimated near-end signal to the far-end device.

20. The non-transitory computer readable medium of claim 19 , wherein the far-end features supplied to the echo estimator and near-end estimator comprise a current frame of far-end features and a causal window of a plurality of previous frames of far-end features,

wherein the microphone features supplied to the near-end estimator comprise a current frame of microphone features and the causal window of a plurality of previous frames of microphone features,

wherein the estimated echo features comprise a current frame of echo features and the causal window of a plurality of previous frames of echo features,

wherein the estimated near-end features comprise a current frame of estimated near-end features and the causal window of a plurality of previous frames of estimated near-end features, and

wherein the recurrent neural network is trained by iteratively training a plurality of parameters configuring the echo estimator and the near-end estimator to minimize:

differences between the estimated echo features and a plurality of ground truth echo features of a plurality of training data; and

differences between the estimated near-end features and a plurality of ground truth near-end features of the plurality of training data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: FAZELI, AMIN; EL-KHAMY, MOSTAFA; LEE, JUNGWON
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 051232/0321 →
Continuity (2)
Provisional Application 62825681 · Mar 28, 2019
Provisional Application 62838146 · Apr 24, 2019
Cited By (3)
US 12,413,916 US 12,549,908 US 12,555,170