ADAPTIVE ESTIMATION AND COMPENSATION OF CLOCK DRIFT IN ACOUSTIC ECHO CANCELLERS
First Claim
1. An acoustic echo cancellation clock drift compensation system, comprising:
- a capture buffer that includes capture data, the capture buffer having a capture write pointer and a capture read pointer;
a render buffer that includes render data, the render buffer having a render write pointer and a render read pointer;
a clock drift compensator that calculates a capture delay and a render offset, the clock drift compensator adjusting the render read pointer based, at least in part, upon at least one of the calculated capture delay and the render offset; and
, an AEC component that performs acoustic echo cancellation of the capture data based, at least in part, upon the adjusted render read pointer.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for adaptive estimation and compensation of clock drift in echo cancellers is provided. The invention includes an acoustic echo cancellation system with a built in adaptive clock drift compensation system. The acoustic echo cancellation system has an AEC component that performs acoustic echo cancellation on data from a capture buffer, by also using information derived from a render buffer. The clock drift compensation system has access to this capture buffer and render buffer. The clock drift compensation system includes a clock drift compensator that calculates, based on the current location of the capture data being processed by the AEC component as well as additional information, the ideal location in the render buffer from which the AEC component should process data. The clock drift compensator further adjusts the current location in the render buffer from which the AEC component processes data based, at least in part, upon this ideal location. The clock drift compensator can further detect and correct for glitches in the hardware positions received from the render and capture devices.
51 Citations
20 Claims
-
1. An acoustic echo cancellation clock drift compensation system, comprising:
-
a capture buffer that includes capture data, the capture buffer having a capture write pointer and a capture read pointer;
a render buffer that includes render data, the render buffer having a render write pointer and a render read pointer;
a clock drift compensator that calculates a capture delay and a render offset, the clock drift compensator adjusting the render read pointer based, at least in part, upon at least one of the calculated capture delay and the render offset; and
,an AEC component that performs acoustic echo cancellation of the capture data based, at least in part, upon the adjusted render read pointer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 20)
-
-
13. A method for acoustic echo cancellation clock drift compensation, comprising:
-
receiving capture position information;
receiving render position information, the render position information including a render read pointer;
calculating a capture delay;
calculating a render offset;
calculating a raw error based, at least in part, upon at least one of the capture delay and the render offset; and
,adjusting a render read pointer based, at least in part, upon the raw error. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An acoustic echo cancellation clock drift compensation system, comprising:
-
means for buffering capture data, the means for buffering capture data having a capture write pointer and a capture read pointer;
means for buffering render data, the means for buffering render data having a render write pointer and a render read pointer;
means for compensating clock drift, the means for compensating clock drift calculating a capture delay and a render offset, the means for compensating clock drift adjusting the render read pointer based, at least in part, upon at least one of the calculated capture delay and the render offset; and
,means for performing acoustic echo cancellation of the capture data, the means for performing acoustic echo cancellation utilizing the adjusted render read pointer. - View Dependent Claims (19)
-
Specification