Patent Publication Number: US-6658107-B1

Title: Methods and apparatus for providing echo suppression using frequency domain nonlinear processing

Description:
FIELD OF THE INVENTION 
     The present invention relates to communications systems, and more particularly, to echo suppression in a bi-directional communications link. 
     BACKGROUND OF THE INVENTION 
     In many communications systems, for example landline and wireless telephone systems, voice signals are often transmitted between two system users via a bidirectional communications link. In such systems, speech of a near-end user is typically detected by a near-end microphone at one end of the communications link and then transmitted over the link to a far-end loudspeaker for reproduction and presentation to a far-end user. Conversely, speech of the far-end user is detected by a far-end microphone and then transmitted via the communications link to a near-end loudspeaker for reproduction and presentation to the near-end user. 
     At either end of the communications link, loudspeaker output detected by a proximate microphone may be inadvertently transmitted back over the communications link, resulting in what may be unacceptably disruptive feedback, or echo, from a user perspective. This problem is particularly prevalent in the context of hands-free telephony, where the user&#39;s body does not effectively isolate microphone from loudspeaker. Furthermore, impedance mismatches at hybrid junctions in a landline network can result in similarly disruptive echo. 
     Conventionally, echo suppression has been accomplished using echo canceling circuits which employ adaptive filters to estimate and remove the unwanted echo component of a communications signal. For example, U.S. Pat. No. 5,475,731, entitled “Echo-Canceling System and Method Using Echo Estimate to Modify Error Signal” and issued Dec. 12, 1995, describes the use of Least Mean Square (LMS) and Normalized Least Mean Square (NLMS) algorithms in updating Finite Impulse Response (FIR) adaptive filters. 
     Though such known echo cancellation techniques do remove some echo, audible residual echo will often remain even after cancellation. Such residual echo can, despite its relatively low level, be quite disturbing and should therefore be removed. Today, residual echo suppression is typically accomplished using some form of Non-Linear Processor (NLP) following an echo canceler. See, for example, the above cited U.S. Pat. No. 5,475,731, which describes the use of a conventional center-clipping NLP. 
     Most known NLPs completely remove those parts of a communications signal containing residual echo. As a result, when both a near-end and a far-end speaker are active (i.e., during double-talk), such known NLPs either pass the residual echo through or remove both the near end speech and the residual echo. Additionally, when known NLPs are used in contexts with complex background noise (e.g., when a car radio is playing while a driver is using a hands-free mobile telephone), the background sounds are also removed along with the residual echo. Though pre-computed comfort noise can be added in an attempt to fill the resulting holes, the processed signal is often choppy and bothersome from a receiving user&#39;s perspective. 
     Consequently, there is a need for improved methods and apparatus for removing residual echo in communications signals. 
     SUMMARY OF THE INVENTION 
     The present invention fulfills the above-described and other needs by providing improved frequency domain nonlinear processing techniques. Generally, the filtering characteristic of a nonlinear processor according to the invention is dynamically adjusted by comparing the power spectrum of a residual echo component of a communication signal with that of the overall communication signal itself. More specifically, the filtering characteristic of the nonlinear processor is adjusted so that the nonlinear processor blocks only those signal frequencies in which the residual echo is dominant. Advantageously, a nonlinear processor according to the invention makes full duplex communication possible during the entirety of a conversation, even while actively reducing residual echo. 
     An exemplary echo suppressor according to the invention includes a processor configured to compute a power spectrum of a communications signal and to estimate a power spectrum of a residual echo component of the communications signal. The exemplary echo suppressor also includes an adaptive filter configured to process the communications signal and to thereby suppress the residual echo component. A filtering characteristic of the adaptive filter is adjusted based on the power spectrum of the communications signal and on the estimated power spectrum of the residual echo. 
     An exemplary method for suppressing residual echo in a communications signal according to the invention includes the steps of computing a power spectrum of the communications signal and estimating a power spectrum of the residual echo. According to the exemplary method, a filtering characteristic is adjusted based upon the computed power spectrum of the communications signal and upon the estimated power spectrum of the residual echo, and the communications signal is filtered, using the adjusted filtering characteristic, to suppress the residual echo. 
     According to the embodiments, the filtering characteristic can be adjusted, for example, using spectral subtraction techniques. Alternately, individual coefficients of the filtering characteristic can be set based on direct comparisons of the power in the residual echo with the power in the overall communications signal at the frequencies corresponding to the coefficients. 
     For stand alone configurations (i.e., where no leading echo canceler is present), estimation of the power spectrum of the residual echo can be accomplished by estimating an attenuation factor of the echo return path and scaling power spectrum samples of the echo source signal by the estimated attenuation factor to thereby provide estimated power spectrum samples of the residual echo. When a leading adaptive echo canceler is present, estimation of the power spectrum of the residual echo can be carried out by computing a power spectrum of an echo component estimate provided by the echo canceler, and scaling the power spectrum of the echo component estimate (based on operation of the adaptive echo canceler) to thereby provide the estimate of the power spectrum of the residual echo. 
     Scaling of the power spectrum of the echo component estimate can include the steps of determining an echo return loss enhancement of the adaptive echo canceler, and multiplying the power spectrum of the echo component estimate by the echo return loss enhancement to provide the estimate of the power spectrum of the residual echo. Alternatively, scaling of the power spectrum of the echo component estimate can include the steps of determining the echo return loss enhancement of the adaptive echo canceler, computing an average value for the power spectrum of the echo component estimate, multiplying the average value by the echo return loss enhancement to provide a saturation value, multiplying the power spectrum of the echo component estimate by the echo return loss enhancement to provide a scaled spectrum, and clipping the scaled spectrum at the saturation value to thereby provide the estimate of the power spectrum of the residual echo. 
     Advantageously, the present invention also provides methods and apparatus for adding suitable comfort noise to the filtered (i.e., echo suppressed) communications signal. Generally, a power spectrum of a noise component of the communications signal is estimated, and the comfort noise is created based upon the estimated power spectrum of the noise component and on the prevailing echo-suppression filtering characteristic. According to exemplary embodiments, the comfort noise adds energy at suppressed frequencies (i.e., at frequencies where the filtering characteristic is removing energy and thereby suppressing echo) so that the total energy at those frequencies is equal that of the prevailing noise. 
    
    
     The above-described and other features and advantages of the invention are explained in detail hereinafter with reference to the illustrative examples shown in the accompanying drawings. Those skilled in the art will appreciate that the described embodiments are provided for purposes of illustration and understanding and that numerous equivalent embodiments are contemplated herein. 
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of an exemplary acoustic echo suppression system in which the teachings of the present invention can be implemented. 
     FIG. 2 is a block diagram of an exemplary network echo suppression system in which the teachings of the present invention can be implemented. 
     FIG. 3 provides a frequency domain comparison of a typical echo signal and a corresponding residual echo signal and thereby further provides motivation for certain aspects of the present invention. 
     FIG. 4 is a flowchart depicting steps in an exemplary method of residual echo suppression according to the invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The frequency domain nonlinear processing techniques of the invention are equally applicable in the contexts of acoustic and network echo suppression. Accordingly, FIGS. 1 and 2 depict, respectively, exemplary acoustic and network echo suppression systems  100 ,  200  in which the teachings of the present invention can be implemented. As shown, the exemplary acoustic echo suppression system  100  includes a microphone  110 , a loudspeaker  120 , a linear echo canceler  130 , a nonlinear processor  140 , a comfort noise generator  150 , and first and second summing devices  160 ,  170 . The exemplary network echo suppression system  200  includes the echo canceler  130 , the nonlinear processor  140 , the comfort noise generator  150 , and the summing devices  160 ,  170  of FIG. 1, as well as a hybrid junction  210  and a third summing device  220 . Those skilled in the art will appreciate that the below described functionality of the various elements of FIGS. 1 and 2 can be implemented, for example, using known digital signal processing components, one or more application specific integrated circuits (ASICs), or a general purpose digital computer. 
     In operation, the loudspeaker  120  of FIG. 1 receives a far-end audio signal x(t) and outputs a corresponding acoustic signal to a near-end system user (not shown). At the same time, the microphone  110  receives an acoustic signal including a near-end speech component v 1 (t), a near-end noise component v 2 (t) and an echo component s(t) resulting from reflection of the loudspeaker output. The microphone  110  converts the received acoustic signal to a corresponding audio signal y(t) which is coupled to an additive input of the first summing device  160 . Additionally, the linear echo canceler  130  processes the far-end audio signal x(t) using known adaptive filtering techniques to provide an estimate ŝ(t) of the echo component s(t) of the microphone signal y(t). The resulting echo estimate ŝ(t) is coupled to a subtractive input of the first summing device  160  and thus subtracted from the microphone signal y(t) to provide an echo-canceled, or error signal e(t). 
     The error signal e(t) is fed back to the linear echo canceler  130  for use in providing the echo estimate ŝ(t) and is also coupled to an input of the nonlinear processor  140 . As is described in detail below, the nonlinear processor  140  filters the error signal e(t), based on the echo estimate ŝ(t), to provide an echo-suppressed output signal e NLP (t) which is coupled to an additive input of the second summing device  170 . As is also described in detail below, the comfort noise generator  150  provides a comfort noise signal c(t) based on the error signal e(t) and on the prevailing filtering characteristic of the nonlinear processor  140 . The comfort noise signal c(t) is coupled to a second additive input of the second summing device  170  and thereby added to the echo suppressed output e NLP (t) of the nonlinear processor  140  to provide an echo suppressed and comfort noise enhanced output signal e NLP+CN (t). 
     In the network system  200  of FIG. 2, the hybrid junction  210  receives a far-end audio signal x(t) and provides a corresponding network signal to a near-end system user (not shown). Additionally, impedance mismatches at the hybrid  210  cause an echo s(t) of the far-end signal x(t) to be additively coupled with received near-end voice and noise signals v 1 (t), v 2 (t) (shown conceptually via the third summing device  220 ) and passed back to the additive input of the first summing device  160 . As in the system  100  of FIG. 1, the linear echo canceler  130  processes the far-end audio signal x(t) using known adaptive filtering techniques to provide an estimate ŝ(t) of the echo component s(t) of the near-end signal signal y(t). The resulting echo estimate ŝ(t) is coupled to the subtractive input of the first summing device  160  and thus subtracted from the near-end signal y(t) to provide the echo-canceled, or error signal e(t). The nonlinear processor  140  and the comfort noise generator  150  operate on the error signal e(t) as described with respect to FIG. 1 (and as described in detail below) to provide the echo suppressed and comfort noise enhanced output signal e NLP+CN (t). 
     In both the acoustic and network systems  100 ,  200 , the error signal e(n) is equal to the sum of the near end speech v 1 (n), the background noise v 2 (n) and the echo s(n), less the estimated echo ŝ(n) (where the variable n is used to indicate time domain samples): 
     
       
           e ( n )=v 1 ( n )+v 2 ( n )+ s ( n )− ŝ ( n ) 
       
     
     Additionally, the residual echo ŝ(n) is defined as the true echo s(n) less the estimated echo ŝ(n): 
     
       
           ŝ ( n )= s ( n )− ŝ ( n ) 
       
     
     According to the invention, the filtering characteristic of the nonlinear processor  140  is dynamically computed based on the error signal e(n) and the residual echo ŝ(n). Specifically, the spectral content of the error signal e(n) is compared to an estimate of the spectral content of the residual echo ŝ(n), and the filtering characteristic of the nonlinear processor  140  is adjusted to pass only those frequencies for which the residual echo ŝ(n) is, in a sense, the dominant component of the error signal e(n). 
     To compare the spectral content of the error signal e(n) with that of the residual echo ŝ(n), the error signal e(n) and the echo estimate ŝ(n) are first converted to the frequency domain. For example, M-point Fast Fourier Transforms (FFTs) can be used to compute the corresponding frequency domain signals E(k), (Ŝk) directly from the time domain samples (where k represents the discrete frequencies ranging from 0 to 0.5 in steps of 2/M). Alternatively, to reduce the variance in the frequency domain results, auto-regressive (AR) models of order p can first be computed for the error signal e and the echo estimate ŝ based on, for example, a set of N time domain data samples for each signal. M-point FFTs of the zero padded AR(p) sequences then provide the discrete frequency domain variables E(k) and Ŝ(k) as desired. In practice, suitable values for the variables p, N and M are  10 ,  160  and  256 , respectively. Of course, the order p used for modeling the error signal e can be different than that used for modeling the echo estimate ŝ. 
     Once the frequency domain sequences E(k) and Ŝ(k) have been computed, a corresponding Power Spectral Density (PSD) can be computed for each sequence by multiplying each sequence, in a sample-wise fashion, by its complex conjugate sequence as follows: 
     
       
         Φ e ( k )= E ( k ) E *( k ) 
       
     
     
       
         Φ ŝ ( k )= Ŝ ( k ) Ŝ *( k ) 
       
     
     Next, the power spectral density of the residual echo, Φ {tilde over (s)} , can be estimated from the power spectral density of the estimated echo, Φ {tilde over (s)} . A first approximation can be obtained using the Echo Return Loss Enhancement (ERLE) provided by the echo canceler. The ERLE of an echo canceler provides an indication of the level of echo suppression achieved by the echo canceler, and methods for computing the ERLE of an echo canceler are well known. Using the assumption that the spectrum for the residual echo is similar to the spectrum for the estimated echo, then the power spectral density of the residual echo can be estimated at ERLE dB below the power spectral density of the estimated echo as follows: 
       {circumflex over (Φ)}     {tilde over (s)}   ( k )≈ ERLE Φ {tilde over (s)} ( k ) 
     However, examination of emperical data reveals that the residual echo is actually often much higher than ERLE dB below the echo estimate, particularly for frequencies having low energy compared to the maximum energy in the spectra (for speech, usually the higher frequencies). See, for example, FIG. 3, where an actual residual echo curve  320  is approximately ERLE dB (roughly 15 dB in the Figure) below an actual estimated echo curve  310  for a lower frequency range (0 to 0.25 in the Figure), and greater than ERLE dB below the estimated curve  310  for a higher frequency range (0.25 to 0.5 in the Figure). 
     To provide a better approximation, the ERLE measurement can be made frequency dependent. However, doing so requires a stationary distribution (when in fact the ERLE is often varying in time as well as frequency) and, in instances in which significant near-end energy exists in the higher frequency bands, an undesirable degree of near-end signal clipping could be introduced. A more practical solution can be achieved by saturating the estimate of the power spectral density of the residual echo at ERLE dB below the mean level of the power spectral density of the estimated echo, as follows: 
     
       
         {circumflex over (Φ)} {tilde over (s)} ( k )≈Max( ERLE Φ ŝ ( k ),  ERLE{overscore (Φ)}   ŝ ) 
       
     
     The estimate of the power spectral density of the residual echo can then be used to derive an appropriate filtering characteristic, or transfer function H(k) for the nonlinear processor. For example, the teachings of spectral subtraction (often used in noise reduction contexts) can be applied to provide an intuitively correct echo clipping filter H(k) as follows:          H        (   k   )       =             Φ   e          (   k   )       -       δ   1            Φ     s   _            (   k   )               Φ   e          (   k   )                           
     where δ 1  is the subtraction factor. Emperical studies have shown that values for δ 1  in the range of 1-4 are appropriate in the echo suppression context. 
     In practice, determing the filter H(k) directly from the above equation can be overly complex (i.e., computing a square root using standard digital signal processing components is often undesirable), and furthermore, the level of echo attenuation may not be satisfactory due to estimation errors. A simpler and harder-clipping solution can be achieved by removing all power from frequency bins in which the residual echo is in some sense dominant, while passing all power from frequency bins in which the residual echo is not dominant (and is therefore perceptually masked already). For example, the clipping criteria for each frequency bin k can be formed as: 
     
       
           H ( k )=0 if Φ e ( k )&lt;δ 1{circumflex over (Φ)}     {tilde over (s)}   ( k ), else  H ( k )=1  
       
     
     Since the above equation will provide a rapidly changing power spectral density (due to the abrupt changes between H(k)=1 and H(k)=0 over time), the filtering characteristic can be smoothed or averaged in practice to provide soft transitions. Doing so provides high performance with a minimum of distortion (such as of musical tones). For example, a smoothened NLP filter H av (k) can be updated as: 
     
       
           H   av ( k )= H ( k )(1−α(1 −H   av ( k ))) 
       
     
     where emperical studies have shown that a suitable value for a is, e.g., 0.6. 
     The frequency domain version of the error signal E(k) (derived by taking an M-point FFT of the time domain error signal e(n)) is then filtered using the smoothened NLP transfer function H av (k), and the result is finally transformed back to the time domain using an Inverse Fast Fourier Transform (IFFT). In other words, the echo suppressed NLP output is given by: 
     
       
           e   NLP ( n )=IFFT( H   av ·   E ) 
       
     
     where · denotes elementwise multiplication of the vectors H av  and E. Alternately, the frequency domain vectors H av  and E could first be transformed to the time domain and then convolved to provide the NLP output. 
     While the NLP output given by the previous equation will effectively suppress residual echo as desired, note that the removed frequencies will also result in a varying background level from a receiving user&#39;s perspective. According to another aspect of the invention, however, this effect can be lessened by strategically replacing the removed energy. Specifically, the output signal can be smoothened by adding energy at the suppressed frequencies so that the total energy at those frequencies is equal to the prevailing background noise level. 
     For example,a Voice Activity Detector (VAD) can be used to determine whether speech (either source or echo) is present in the input to the NLP. During speech pauses, the VAD indicates that only noise is present, and an estimate of the power spectral density of the prevailing background noise can be updated as: 
     
       
           {circumflex over (Φ)}     v2   ( k )=β {circumflex over (Φ)}     v2   ( k )+(1−β)  V   2 ( k ) V*   2 ( k ) 
       
     
     Methods for implementing the functionality of the VAD are well known. Also, emperical studies have shown that, when updating the noise estimate, it is reasonable to assume that background noise is stationary for about one second in the context of mobile telephony, and for even longer periods in the context of a fixed telephony network. 
     The background noise estimated during speech pauses is then used, during periods with residual echo (either single talk or double talk), to provide a comfort noise spectrum which effectively fills the holes created by the filter H av (k). In other words, a comfort noise spectrum C(k) can be created as: 
     
       
           C ( k )={square root over ((1− H ( k ) H ( k ))Φ v2 ( k ))} N ( k ) 
       
     
     where N(k) is the Fourier transform of a white noise sequence with unit variance. 
     Alternatively, the comfort noise spectrum C(k) can be created as: 
     
       
           C ( k )={square root over ((1− H ( k ) H ( k ))Φ v2 ( k ))} e   iφ(k)    
       
     
     where the phase φ(k) is randomly distributed between −π and π for k in the interval 1 to M/ 2-1 , and φ(0)=φ(M/2)=0. For frequencies above the Nyqvist frequency M/2, the phase is given by:          ϕ        (   k   )       =         -     ϕ        (     M   -   k     )                       k     ∈     [         M   2     +   1     ,                M   -   1       ]                       
     Since the phase in C(k) is conjugate symmetric, a real time domain sequence c(n) is guaranteed. The resulting comfort noise is then added to the echo suppressed output signal to obtain the echo suppressed and comfort noise enhanced output signal as follows: 
     
       
           e   NLP+CN ( n )= e   NLP ( n )+ c ( n ) 
       
     
     Alternatively, the echo suppressed and comfort noise enhanced output signal can first be computed in the frequency domain and then transformed to the time domain as follows: 
     
       
           E   NLP+CN ( k )= H   av ( k )· E ( k )+ C ( k ) 
       
     
     
       
           e   NLP+CN  =IFFT(E NLP+CN ) 
       
     
     In sum, the present invention provides frequency domain, nonlinear processing techniques for, e.g., echo suppression. Generally, a nonlinear processor constructed in accordance with the present invention removes energy at frequencies where, e.g., residual echo in a communications signal is dominating (e.g., where the residual echo power constitutes more than a certain percentage of the overall power in the communications signal). The present invention further teaches methods for replacing the removed energy to thereby smoothen the resulting signal, e.g., to improve a receiving user&#39;s perception of the echo suppressed signal. Advantageously, a nonlinear processor according to the invention can suppress residual echo during the entirety of a conversation. Those skilled in the art will appreciate that the above described algorithms of the invention can be applied in either sample-wise or block-wise fashion. Those skilled in the art will also appreciate that computational complexity can be reduced, and speed advantages can be gained, by grouping frequency bins when carrying out the above described procedures. 
     A particularly useful algorithm  400  according to the invention is depicted by way of a flowchart in FIG.  4 . At step  410 , an auto-regressive model of order p is computed from the time domain estimate (e.g., using the well known Levinson-Durbin algorithm), and at step  420 , the resulting time domain model is converted to the frequency domain (e.g., by way of an FFT). Similarly, at steps  415  and  425 , a time domain error signal is modeled (using an auto-regressive model of order q) and converted to the frequency domain. The resulting frequency domain sequences are then compared at step  430  to provide a filter transfer function H for a nonlinear processor. For example, each tap of the NLP filter H can be set to 1 or 0 depending upon whether, for the corresponding tap frequency, the power of the estimated echo is greater than a predefined fraction of the power of the error signal. 
     At step  440 , an FFT of the error signal is computed, and at step  450  the resulting frequency domain error sequence is filtered (i.e., element-wise multiplied) by the NLP filter H to provide an echo suppressed output signal in the frequency domain. Meanwhile, the filter function H is scaled at step  460 , and randomized comfort noise having a magnitude equal to a prevailing level of error signal background noise is generated at step  470 . As described above, the comfort noise generation is based on estimates of the prevailing background noise, the noise estimates being updated only when no speech is present in the error signal (shown via the VAD at step  445  in the figure). The results of steps  460  and  470  are combined at step  480  to provide comfort noise specifically tailored to appropriately replace energy removed from the error signal by the NLP filter H. At step  490 , the resulting comfort noise is element-wise added to the echo suppressed output signal to provide an echo suppressed and comfort noise enhanced output signal in the frequency domain. Finally, at step  495 , an IFFT is used to convert the echo suppressed and comfort noise enhanced output signal to the time domain. 
     Those skilled in the art will appreciate that the present invention is not limited to the specific exemplary embodiments which have been described herein for purposes of illustration and that numerous alternative embodiments are also contemplated. For example, although the disclosed NLP embodiments have been described with reference to systems including a leading echo canceler, these same NLP embodiments can also be used as stand alone devices to provide solutions superior to those provided by conventional on/off switching. The derivation syntax provided above with respect to a leading echo canceler and a trailing NLP can be readily applied to a stand alone NLP by everywhere replacing the echo estimate ŝ with the echo causing signal x(t). In such case, the residual echo can be estimated at some fixed or dynamically adjusted level below the echo-causing (e.g., loudspeaker) signal, based on the expected or measured echo return path. The scope of the invention is therefore defined by the claims appended hereto, rather than the foregoing description, and all equivalents which are consistent with the meaning of the claims are intended to be embraced therein.