Abstract:
A combined processor, such as might be used in a mobile handset or hands-free communication device, provides residual echo suppression and noise reduction while eliminating the need for explicit comfort noise generation. Operating within a near-end communication device, the processor receives an echo-canceled signal that is derived from a near-end input signal, and generates an output signal for subsequent transmission to a far-end communication device by applying a noise attenuation factor to the echo-canceled signal or to an average of that signal. The processor maintains the average signal across periods of speech and non-speech. During far-end-modes of operation, where only incoming audio from the far-end is active, the processor substitutes the average signal for the echo-canceled signal, such that a far-end listener receives the natural sounding average signal without receiving the objectionable, residual echo that may be in the echo-canceled signal.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention generally relates to a method and apparatus for echo suppression and noise cancellation in a communications device, and more particularly to integrated noise cancellation and residual echo suppression in a wireless communications device.  
           [0002]    Near-end background noise and far-end echo are frequently present during communications between a far-end user and a near-end user. Most communications devices utilize noise and echo suppression techniques. Without such techniques, the far-end user receives a signal muddled by background noise and echo signals.  
           [0003]    Echo processing is well known in the art. Generally, an echo processor operates in one of four speech modes: near-end mode (near-end speech only), far-end mode (far-end speech only), double-talk mode (near- and far-end speech), and quiet mode (no speech). Conventional echo processors include front-end echo cancellation as well as residual echo suppression and noise reduction capabilities. Many communication devices prone to echo problems use linear echo cancellers (LEC) to implement front-end echo cancellation. The resulting echo-canceled signal typically includes residual echo and near-end background noise.  
           [0004]    Generally, a residual echo suppressor attenuates the echo-canceled signal to reduce the background noise and the residual echo. The amount of attenuation is dependent on the current speech mode. For example, in far-end mode, the residual echo suppressor increases the attenuation to effectively block the near-end input signal. This technique effectively suppresses background noise and residual echo, but the resulting echo- and noise-free signal received by the far-end user is unnaturally quiet. The sudden loss of background noise often makes the far-end user uncomfortable. Further, the unnatural silence may cause the far-end user to believe that the connection has been lost. To compensate, the echo processor at the near-end generates comfort noise for transmission to the far-end user during far-end mode.  
           [0005]    While conventional echo suppression and noise reduction techniques effectively suppress or eliminate echo and background noise, these techniques also cause abrupt changes in received background noise levels. Further, because such techniques effectively block the near-end signal during some modes of operation, explicit comfort noise generation is required.  
         SUMMARY OF THE INVENTION  
         [0006]    The present invention comprises a method and apparatus for combining residual echo suppression (RES) and noise reduction (NR) within a communication device, thereby eliminating the need for explicit comfort noise generation. Such need is eliminated by deriving an output signal for transmission by the near-end device from the echo-canceled (EC) signal, or from an average of the echo-canceled signal thereof, depending on a current mode of operation. During a far-end mode of operation, where there is only received audio from the far end, the output signal is generated by applying a first attenuation factor to the average echo-canceled signal, herein referred to as the average signal. The first attenuation factor is a function of an average noise. The average noise comprises an average of an estimated noise of the echo-canceled signal. Applying the first attenuation factor to the average signal avoids the need for comfort noise generation, while still preventing the return of objectionable echo to the far end.  
           [0007]    In an exemplary embodiment, a combined processor within the communication device maintains the estimated noise, the average noise, and the average signal across all modes of operation. Such modes of operation include a far-end mode, where only far-end speech is active, a near-end mode where only near-end audio input (e.g. speech) is active, a double-talk mode where both far-end and near-end audio input are active, and a quiet mode, which may still include noise but where there is no active audio input, such as speech. Generally, the modes may be thought of as quiet mode and non-quiet mode, where the non-quiet mode encompasses all of the various speech modes.  
           [0008]    The combined processor generates the output signal by operating on the EC signal responsive to a current operating mode. If the current operating mode is not the far-end mode, the processor generates the output signal by applying a second attenuation factor to the EC signal such that the far-end listener receives an echo-suppressed and noise-attenuated version of the actual near-end input signal.  
           [0009]    However, during far-end mode, the processor generates the output signal by substituting the average signal for the EC signal and by substituting the first attenuation factor for the second attenuation factor. That is, the processor generates the output signal by applying the first attenuation factor to the average signal, thus avoiding the return of residual echo, which is particularly problematic in far-end modes, while still providing a natural sounding surrogate for the EC signal.  
           [0010]    In one or more exemplary embodiments, the combined processor comprises a background noise estimator, an average signal generator, an output signal generator, and activity decision logic (mode control logic). The background noise estimator maintains the estimated noise by, in an exemplary embodiment, tracking a power spectral density (PSD) of the EC signal for quiet modes and for a combination of quiet and non-quiet modes. Further, the background noise estimator generates an average of the PSD during quiet and non-quiet modes. These PSD values determine the amount of attenuation applied by the output signal generator.  
           [0011]    As with the background noise estimator, the average signal generator is active across all modes of operation, and maintains, in an exemplary embodiment, the average signal as a running average of the spectral magnitudes of the EC signal. As noted, it carries this averaging across quiet and non-quiet modes of operation such that the average signal provides a natural sounding surrogate for the EC signal during far-end mode operations. Note that the manner in which the average signal is maintained may be varied, but an exemplary approach uses an exponential weighting filter to develop the running average with a desired weighting bias between the older and newer signal values that form the average. Such exponential weighting or other desired filtering may also be applied to the PSD values maintained by the background noise estimator.  
           [0012]    Regardless, the output signal generator receives the noise attenuation factors from the background noise estimator and receives the average signal from the average signal generator. Alternatively, the output signal generator may compute the first and second attenuation factors based on receiving the PSD values from the background noise estimator. Further, the output signal generator receives the EC signal from, for example, a front-end echo canceller that has removed at least some portion of the echoed far-end components from the near-end input signal. Thus, the output signal generator generates the output signal using the average signal or the EC signal, with its selective use of either signal being responsive to one or more mode indicator signals provided to it by the activity decision logic.  
           [0013]    In either case, the output signal typically is subjected to additional processing by associated transceiver processing resources, and is formatted, processed or otherwise encoded for transmission to the far-end device, such as by sending the suitably processed output signal via wireless transmission to a supporting wireless network. Of course, as the present invention is readily adaptable to both wireless communication devices and land-line communication devices, the details of the network(s) supporting communication between the near-end and far-end devices may vary considerably. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]    [0014]FIG. 1 illustrates an exemplary communications system in which the present invention may be used.  
         [0015]    [0015]FIG. 2 illustrates conventional echo cancellation in a communications device.  
         [0016]    [0016]FIG. 3 illustrates an exemplary communications device that includes echo processing according to one or more embodiments of the present invention.  
         [0017]    [0017]FIG. 4 illustrates exemplary echo processing details for the device of FIG. 3.  
         [0018]    [0018]FIG. 5 illustrates exemplary control logic circuitry for the device of FIG. 4.  
         [0019]    [0019]FIG. 6 illustrates exemplary flow logic for exemplary residual echo suppression and noise cancellation according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0020]    [0020]FIG. 1 illustrates an exemplary communications system  10  in which the echo suppression techniques of the present invention may be advantageously used. The communications system  10  includes a communications tower  22 , base station  24 , Mobile Switching Center  20  (MSC), and a transmission network, such as the Public Switched Telephone Network (PSTN)  26 . A conventional near-end mobile terminal  40  communicates with a far-end conventional telephone handset  30  via communications system  10 . The mobile terminal  40  receives and encodes a voice input from microphone  42 , and transmits the voice signal to the MSC  20  via tower  22  and associated base station  24 . MSC  20  further processes and transmits the received signals to a far-end conventional telephone handset  30  via PSTN  26 . The telephone handset  30  outputs a facsimile of the mobile terminal user&#39;s voice based on these received signals.  
         [0021]    Conversely, the telephone handset  30  conveys voice input from a far-end user to MSC  20  via PSTN  26 . MSC  20  encodes and transmits the received far-end signal to mobile terminal  40  via base station  24  and tower  22 . Mobile terminal  40  receives and decodes these transmitted signals. After decoding, mobile terminal  40  outputs a facsimile of the far-end user&#39;s voice at loudspeaker  44 .  
         [0022]    Voice signals from the far-end user, as reproduced by loudspeaker  44  in mobile terminal  40 , undesirably couple into microphone  42  of mobile terminal  40 , creating a far-end echo. Thus, the far-end user receives signals representative of the mobile terminal user&#39;s voice (near-end voice) and near-end background noise, as well as an echo signal representative of his or her own transmitted voice (echoed far-end voice). As newer mobile terminals  40  become increasingly smaller, the diminished physical separation of the included loudspeaker  44  and microphone  42  increases these acoustic coupling problems.  
         [0023]    [0023]FIG. 2 illustrates the conventional echo processing of mobile terminal  40 , which includes microphone  42 , loudspeaker  44 , echo processor  50 , and transceiver  60 . Transceiver  60  processes near-end signals for transmission and received far-end signals, according to conventional methods. Transceiver  60  typically includes analog-to-digital circuitry (ADC), a transmitter digital signal processor (DSP), a modulator/RF amplifier, a receiver/amplifier, a receiver DSP, and digital-to-analog circuitry (DAC), not shown. The transmitter DSP (not shown) typically includes a speech coder and channel coder (not shown) to process the digitized near-end input signal prepare it for transmission in accordance with requirements of the communications system  10 . The receiver DSP receives and processes the down-converted received signals in accordance with the requirements of the communications system  10 , and produces output signal d(t). Loudspeaker  44  converts the digitized far-end signal d(t) produced by transceiver  60  into an audible signal representative of sounds (voice and noise) from the far-end communications device.  
         [0024]    Mobile terminal  40  receives near-end acoustic signals at microphone  42  and converts these acoustic signals to a near-end input signal u(t). The near-end input signal u(t) includes signal components representative of the mobile terminal user&#39;s voice (desired voice), the near-end background noise (ambient noise), and/or far-end echo resulting from the audible signal from loudspeaker  44  coupling to microphone  42 .  
         [0025]    Echo processor  50  includes an echo canceller (EC)  52 , which typically includes a linear echo canceller (LEC), summing junction  54 , residual echo suppressor (RES)  56 , and comfort noise generator  58 . EC  52  functions as an adaptive filter to produce an estimate of the far-end echo signal, called the estimated-echo signal {circumflex over (d)}(t), based on processing the near-end output signal d(t) generated by transceiver  60 . Summing circuit  54  combines the near-end input signal u(t) with the estimated-echo signal {circumflex over (d)}(t), and outputs an echo-canceled signal x(t). The main elements of the echo-canceled signal x(t) may be categorized as desired voice, background noise, and residual echo.  
         [0026]    RES  56  receives echo-canceled signal x(t) and attenuates signal x(t), under the direction of a control signal provided by EC  52 , to produce a residual echo suppressed signal z(t). Comfort noise generator  58  then adds comfort noise to residual echo suppressed signal z(t). The amount of comfort noise added by comfort noise generator  58  may depend on the attenuation of RES  56 . For example, during far-end mode operations, z(t)→0 because RES  56  effectively blocks echo-canceled signal x(t), while during the remaining speech modes, z(t) may be nearly equivalent to x(t). Therefore, during far-end mode, comfort noise generator  58  adds comfort noise to signal z(t); during near-end, quiet, and double-talk modes, comfort noise generator  58  simply passes signal z(t).  
         [0027]    [0027]FIG. 3 illustrates a mobile terminal  100  according to the present invention. Mobile terminal  100  may be used in a conventional network, such as the network shown in FIG. 1. While FIG. 1 depicts a mobile terminal  40 , such illustration is for benefit of understanding the discussion herein and should not be construed as limiting the application of the present invention. Echo suppression, as practiced in accordance with exemplary embodiments of the present invention, may involve echo suppression in or between various types of communication devices. Examples of such devices include mobile telephones, speaker-phones, hands-free communications devices, and various other voice or data systems. Thus, the present invention may be advantageously used to improve echo suppression in a broad range of communications devices and networks.  
         [0028]    Mobile terminal  100  includes microphone  110 , keypad  112 , display,  114 , and loudspeaker  120  for receiving and communicating signals and controls to and from mobile terminal  100 . Mobile terminal  100  also includes transmitter  150 , receiver  152 , antenna assembly  156 , baseband processor  160 , system control  190 , ADC  192 , and DAC  194 . System control  190  interfaces with baseband processor  160  and switch  154  to coordinate transmission and reception operations. Keypad  112  interfaces with the system control  190  and allows the user to dial numbers, enter commands, and select various options. Display  114  interfaces with the system control  190  and enables the user to monitor call status and view other service information.  
         [0029]    Mobile terminal  100  receives signals from a far-end communications device through antenna assembly  156 . Switch  154 , in cooperation with antenna  156  and system control  190 , switches received signals from antenna  156  to receiver  152 . Receiver  152  down-converts the received signals to a desired baseband frequency. Receiver  152  may further amplify the down-converted signals to levels appropriate for subsequent processing by the baseband processor  160 . Baseband processor  160  typically includes a transmitter/receiver (Tx/Rx) processor  162  and echo processor  170 . Tx/Rx processor  162  processes the received signals according to conventional methods and generates a processed far-end signal d(t). Such processing may include equalization, demodulation, and decoding. Echo processor  170  implements echo cancellation.  
         [0030]    DAC  194  converts the processed far-end signal d(t) to an analog audio signal. DAC  194  may include a digital-to-analog converter and other amplification and filtering circuitry, as necessary. Loudspeaker  120  receives the analog audio signal from DAC  194  and converts the analog audio signal into an analog signal representative of sounds (far-end voice and noise) from a far-end communications device (not shown). Microphone  110  detects and couples a portion of the sounds emanating from loudspeaker  120  with other near-end audio input signals.  
         [0031]    ADC  192  generates a digitized near-end input signal u(t) of the audio input signal from microphone  110 . The near-end input signal includes near-end speech, near-end background noise, and/or far-end echo. ADC  192  may include an analog-to-digital converter and other amplification and filtering circuitry, as necessary. Baseband processor  160  receives and processes the near-end input signal u(t) for transmission. Tx/Rx processor  162  and transmitter  150  processes the digitized near-end signal u(t) for transmission to a far-end user via antenna  156 . Such processing may include echo processing, coding (speech and channel), up-conversion, modulation, and amplification.  
         [0032]    [0032]FIG. 4 further illustrates the details of echo processor  170 . Echo processor  170  includes echo canceller  172 , summing circuit  174 , control logic circuit  176 , and combined processor  180 . Echo canceller  172  functions as an adaptive filter to produce an estimate of the far-end echo signal, {circumflex over (d)}(t), based on processing the near-end loudspeaker output signal d(t). Summing circuit  174  combines an estimated echo signal {circumflex over (d)}(t), generated by EC  172 , with the near-end input signal u(t) to generate the echo-canceled (EC) signal x(t) for combined processor  180 . Combined processor  180  generates an output signal by operating on the EC signal responsive to a current operating mode. The control logic  176  detects the current operating mode.  
         [0033]    Combined processor  180  includes background noise estimator  182 , output signal generator  184 , and average signal generator  186 . Combined processor  180  generates an output signal, Y(ω), during all modes of operation. During far-end mode, Y(ω) is a function of an average of the echo-canceled signal and an average of the estimated noise, as shown in Equation 1a. In Equation 1a, {overscore (X)}(ω) represents the average signal and {overscore (N)}(ω) represents the average noise. 
           Y (ω)= {overscore (X)} (ω)− {overscore (N)} (ω),  (Equation 1a) 
         [0034]    During near-end, double-talk, and quiet modes, Y(ω) is a function of the EC signal X(ω) and the estimated noise {circumflex over (N)}(ω)(see Equation 1b). 
           Y (ω)= X (ω)− {circumflex over (N)} (ω),  (Equation 1b) 
         [0035]    The background noise estimator  182  generates a first noise ratio, α 1 (ω), as a function of a power spectral density (PSD) of x(t) during quiet (noise only) mode (Φ N (ω)) and an average of the PSD of x(t) across all (speech and noise) modes ({overscore (Φ)} N+S (ω)), see Equation 2a.  
                   α   1          (   ω   )       =         Φ   N          (   ω   )             Φ   _       N   +   S            (   ω   )           ,           (     Equation                 2      a     )                               
 
         [0036]    Further, the background noise estimator  182  generates a second noise ratio, α 2 (ω), as a function of a power spectral density (PSD) of x(t) during quiet mode (Φ N (ω)) and a PSD of x(t) across all modes (Φ N+S (ω)), see Equation 2b  
                   α   2          (   ω   )       =         Φ   N          (   ω   )           Φ     N   +   S            (   ω   )           ,           (     Equation                 2      b     )                               
 
         [0037]    Equation 3 represents one method for calculating the average PSD across all modes, {overscore (Φ)} N+S (ω), where λ Φ  represents an exponential weighting factor. 
         {overscore (Φ)} N+S (ω)=λ Φ {overscore (Φ)} N+S (ω)+(1−λ Φ )Φ N+S (ω),  (Equation 3) 
         [0038]    Different exponential weighting factors may be used during different modes of operation. For example, during quiet modes λ Φ =λ N ; during speech modes λ Φ =λ S . Background noise estimator  182  may also calculate a first attenuation factor, β1(ω), according to Equation 4a, and a second attenuation factor β 2 (ω), according to Equation 4b. 
         β 1 (ω)=1−α 1   (Equation 4a) 
         β 2 (ω)=1−α 2   (Equation 4b) 
         [0039]    Average signal generator  186  generates the average signal {overscore (X)}(ω). The average signal {overscore (X)}(ω) may be a running average of the EC signal X(ω) during all modes, calculated according to 
           {overscore (X)} (ω)=λ {overscore (X)} (ω)+(1−λ)| X (ω)| 2 ,  (Equation 5) 
         [0040]    where λ is an averaging constant.  
         [0041]    Output signal generator  184  receives EC signal (X(ω)), the average signal ({overscore (X)}(ω)), and first and second noise ratios (α 1 (ω), α 2 (ω)). Output signal generator  184  may also receive first and second attenuation factors (β 1 (ω), β 2 (ω)). When an indicator from control logic  176  indicates that a far-end mode is active, combined processor  170  generates the output signal Y(ω) as a function of the average signal {overscore (X)}(ω) and the average noise estimate {overscore (N)}(ω) according to Equation 6. 
           Y (ω)= {overscore (X)} (ω)− {overscore (N)} (ω)= {overscore (X)} (ω)·(1−α 1 )= {overscore (X)} (ω)·β 1 (ω)  (Equation 6a) 
           {overscore (N)} (ω)= {overscore (X)} (ω)·α 1   (Equation 6b) 
         [0042]    When the indicator from control logic  176  indicates that near-end, double-talk, or quiet modes are active, combined processor  170  generates the output signal Y(ω) as a function of the EC signal X(ω) and the estimated noise {circumflex over (N)}(ω) as shown in Equation 7. 
           Y (ω)= X (ω)− {circumflex over (N)} (ω)= X (ω)·(1−α 2 )= X (ω)·β 2 (ω)  (Equation 7a) 
           {circumflex over (N)} (ω)= X (ω)·α 2   (Equation 7b) 
         [0043]    The above equations are presented in frequency domain. It will be understood by those skilled in the art that combined processor  180  includes circuitry and/or software to calculate the Fourier transforms and inverse Fourier transforms, or other frequency domain transforms, of various signals, as required.  
         [0044]    Control logic circuitry  176 , illustrated in greater detail in FIG. 5, includes voice activity detectors (VAD)  177 , double-talk detector  178 , and activity decision logic  179 . Control logic  176  receives the far-end signal d(t), the estimated echo signal {circumflex over (d)}(t), and the EC signal x(t). Activity decision logic  179  receives inputs from the VADs  177  and the double-talk detector  178 , and determines which speech mode is currently active according to conventional methods. The activity decision logic  179  sends a speech mode indicator to the combined processor  170 . This indicator selectively defines the mode of operation of the combined processor  170 .  
         [0045]    [0045]FIG. 6 illustrates an exemplary procedure for implementing the present invention. Shortly after a near-end mobile terminal  40  establishes a communication link with a far-end conventional telephone handset  30  (step  200 ), background noise estimator  182  initializes Φ N (ω) (step  204 ) and generates Φ N+S (ω)(step  208 ). Then, average signal generator  186  generates (step  210 ) an average signal {overscore (X)}(ω). The background noise estimator  182  generates (step  220 ) the estimated noise {circumflex over (N)}(ω) and the average noise {overscore (N)}(ω). If near-end speech is present (step  230 ), output signal generator  184  generates Y(ω) according to Equation 7 (step  260 ). Further, if neither near-end nor far-end speech is present (step  230 , step  240 ), background noise estimator  182  generates a new Φ N (ω) (step  245 , optional) and output signal generator  184  generates Y(ω) according to Equation 6 (step  260 ). If near-end speech is not present (step  230 ) and far-end speech is present (step  240 ), output signal generator generates Y((ω) according to Equation 6 (step  250 ). This process (steps  208 - 260 ) continues until the communication link is disconnected (step  270 ).  
         [0046]    By implementing the integrated residual echo suppression/noise reduction during far-end mode, the present invention eliminates the need for explicit comfort noise generation by generating an output signal that is a function of the average signal. Therefore, the far-end user never experiences the abrupt changes associated with conventional echo processing techniques that omit comfort noise.  
         [0047]    The foregoing description and drawings describe and illustrate the present invention in detail. However, the foregoing disclosure only describes some embodiments. Those skilled in the art will understand that the present invention is not limited to cellular telephones or other wireless communication devices. Therefore, the present invention embraces all changes and modifications that come within the meaning and equivalency range of the appended claims.