Echo detection, tracking, cancellation and noise fill in real time in a communication system
First Claim
1. Apparatus for processing telecommunications signals generated during a voice communication between a local talker and a remote talker, the apparatus comprisinga signal processor for processing samples of the telecommunications samples anda circular buffer for storing the telecommunications signal samples, wherein said signal processor comprises a plurality of software modules having a top-down control structure.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for processing telecommunications signals to alleviate echo during a voice communication between a local talker and a remote talker comprises the application of circular buffers for near and far end signals to preserve processing time. Overlapping blocks of samples are processed and indexed by incrementing the index over time to generate an array for storing magnitude coherence versus time delay between outgoing and incoming samples. Echo is clipped based on power spectral matching. The clipped echo is replaced with noise fill of at least one of two types, white noise and tonal noise, at an appropriate level. Also, crackle which comprises high energy spikes and a residual echo effect which is low energy, bursty and non-linear may be identified and replaced with noise fill.
46 Citations
15 Claims
-
1. Apparatus for processing telecommunications signals generated during a voice communication between a local talker and a remote talker, the apparatus comprising
a signal processor for processing samples of the telecommunications samples and a circular buffer for storing the telecommunications signal samples, wherein said signal processor comprises a plurality of software modules having a top-down control structure.
-
2. A method for processing telecommunications signals generated during a voice communication between a local talker and a remote talker, said method comprising the steps of
storing communication signal data in at least two circular buffers and allocating real time processing tasks between 1) computing and averaging power spectra and cross spectra and 2) computing coherence wherein a first circular buffer and a second circular buffer store overlapping blocks of samples of near end and far end signals respectively and further comprising the step of indexing the circular buffers.
-
3. A method for processing telecommunications signals generated during a voice communication between a local talker and a remote talker, said method comprising the steps of:
storing communication signal data in at least two circular buffers and allocating real time processing tasks between
1) computing and averaging power spectra and cross spectra and
2) computing coherence further comprising the step of organizing signal delay calculation data into data structures.
-
4. A method of processing telecommunications signals generated during a voice communication between a local talker and a remote talker, said method comprising the steps of
organizing input data streams of near-end and far-end data into circular and non-circular buffers, calculating delay corresponding to maximum coherence between near-end and far-end data and determining the location of echo responsive to said delay calculation step.
-
8. A method of processing telecommunications signals to alleviate echo occurring during a voice communication between a local talker and a remote talker comprising the steps of
storing said telecommunications signals in at least two circular buffers, detecting echo in said stored telecommunications signals, tracking said echo wherein said tracking step comprises the substeps of matching the power spectra of an incoming and an outgoing channel and determining a clipping condition of power level from the power spectral matching, removing said echo and filling said echo gaps with noise.
-
13. A method of processing telecommunications signals to permit clipping of a detected echo comprising the steps of
detecting echo wherein said detecting step comprises the substeps of storing a coherence histogram for averaged telecommunications channel delay coherence and detecting the occurrence of echo from the event of peaks on the coherence histogram exceeding a coherence threshold, calculating a cepstral distance, matching the power spectra of an incoming and an outgoing channel and determining the clipping conditions of delay and power level from the power spectral matching.
-
15. A method for detecting the occurrence of echo in a telecommunications channel comprising the steps of:
-
storing a coherence histogram for averaged telecommunications channel delay coherence and detecting the occurrence of echo from the event of peaks of the coherence histogram exceeding a coherence threshold.
-
Specification