Signal rate synchronization for remote acoustic echo cancellation
First Claim
1. A method, comprising:
- producing output audio at a speaker of a first device;
generating reference clock cycles at the first device to establish a first signal rate;
generating a digital reference signal that contains the output audio at the first signal rate;
maintaining a reference index at the first device, the reference index having a value that is incremented in response to the reference clock cycles;
providing the digital reference signal to a second device;
repeatedly providing a current value of the reference index to the second device;
generating input clock cycles at the second device to establish a second signal rate;
generating a digital audio signal from a microphone of the second device at the second signal rate, wherein the digital audio signal contains the output audio produced by the first device;
maintaining an input index at the second device, the input index having a value that is incremented in response to the input clock cycles;
determining a rate of change of the reference index and a rate of change of the input index based at least in part on the repeatedly provided current value of the reference index and a corresponding current value of the input index;
comparing the rate of change of the reference index and the rate of change of the input index to determine a signal rate difference between the first and second signal rates;
increasing or decreasing at least one of the second signal rate of the digital audio signal or the first signal rate of the digital reference signal to reduce the signal rate difference; and
performing acoustic echo cancellation at the second device in response to the digital reference signal to suppress the output audio in the digital audio signal.
2 Assignments
0 Petitions
Accused Products
Abstract
A system may be configured to interact with a user through speech using a first and second audio devices, where the first device produces audio and the second device captures audio. The second device may be configured to perform acoustic echo cancellation with respect to a microphone signal based on a reference signal provided by the first device. The reference and microphone signals may have the same nominal signal rates. However, the signal rates may drift from each other over time. In order to synchronize the rates of the signals, each of the devices maintains a signal index. The second device compares the values of the two signal indexes over time to determine rate differences between the reference and microphone signals and then corrects for the rate differences.
-
Citations
20 Claims
-
1. A method, comprising:
-
producing output audio at a speaker of a first device; generating reference clock cycles at the first device to establish a first signal rate; generating a digital reference signal that contains the output audio at the first signal rate; maintaining a reference index at the first device, the reference index having a value that is incremented in response to the reference clock cycles; providing the digital reference signal to a second device; repeatedly providing a current value of the reference index to the second device; generating input clock cycles at the second device to establish a second signal rate; generating a digital audio signal from a microphone of the second device at the second signal rate, wherein the digital audio signal contains the output audio produced by the first device; maintaining an input index at the second device, the input index having a value that is incremented in response to the input clock cycles; determining a rate of change of the reference index and a rate of change of the input index based at least in part on the repeatedly provided current value of the reference index and a corresponding current value of the input index; comparing the rate of change of the reference index and the rate of change of the input index to determine a signal rate difference between the first and second signal rates; increasing or decreasing at least one of the second signal rate of the digital audio signal or the first signal rate of the digital reference signal to reduce the signal rate difference; and performing acoustic echo cancellation at the second device in response to the digital reference signal to suppress the output audio in the digital audio signal. - View Dependent Claims (2, 3, 4)
-
-
5. A first device, comprising:
-
a microphone that produces an analog audio signal containing first audio from a speaker of a second device; a conversion component that converts the analog audio signal to a digital audio signal having a first signal rate; a counter that produces an input index having a value that changes in synchronization with the first signal rate; an acoustic echo canceller configured to receive a digital reference signal from the second device, the digital reference signal containing the first audio and having a second signal rate, wherein the acoustic echo canceller is responsive to the digital reference signal to suppress the first audio in the digital audio signal; and one or more correction components configured to; receive first and second values of a reference index from the second device at first and second times, respectively, wherein the values of the reference index change in synchronization with the second signal rate; compare the first and second values of the reference index to corresponding first and second values of the input index at the first and second times, respectively, to determine a signal rate difference between the digital reference signal and the digital audio signal; and process at least one of the digital audio signal or the digital reference signal to reduce the signal rate difference. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
obtaining an analog signal via a microphone at a first device, the analog signal representing audio output by a speaker of a second device; obtaining a first digital signal having a first signal rate, the first digital signal based at least in part on the analog signal; producing a first index having values that change in synchronization with the first signal rate; receiving a second digital signal having a second signal rate; receiving first and second values of a second index, wherein the values of the second index change in synchronization with the second signal rate; comparing the first and second values of the second index to corresponding first and second values of the first index to determine a rate difference between the first signal rate and the second signal rate; processing at least one of the first and second digital signals to reduce the rate difference; and performing acoustic echo cancellation at the first device to suppress at least a part of the audio in the first digital signal. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification