# Patent

## Title
System and method for 2-channel and 3-channel acoustic echo cancellation

## Abstract

Systems and methods for providing acoustic echo cancellation are provided. Primary and secondary acoustic signals are received by a communication device. The acoustic signals may include loudspeaker leakage. A null coefficient is then adaptively determined for each subband of the secondary acoustic signal. The null coefficient is applied to the secondary acoustic signal to generate a coefficient-modified signal. The coefficient-modified signal is subtracted from the primary acoustic signal to generate a masked acoustic signal with reduced or no echo. The masked acoustic signal may be output.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
The present application claims the benefit of U.S. Provisional Patent Application No. 60/903,066, filed Feb. 23, 2007, entitled “Null Processing for AEC” and U.S. Provisional Patent Application No. 60/962,198, filed Jul. 26, 2007, entitled “2-Channel and 3-Channel Acoustic Echo Cancellation,” both of which are hereby incorporated by reference.
The present application is also related to U.S. patent application Ser. No. 11/825,563 filed Jul. 6, 2007 and entitled “System and Method for Adaptive Intelligent Noise Suppression,” U.S. patent application Ser. No. 11/343,524, filed Jan. 30, 2006 and entitled “System and Method for Utilizing Inter-Microphone Level Differences for Speech Enhancement,” U.S. patent application Ser. No. 11/699,732 filed Jan. 29, 2007 and entitled “System And Method For Utilizing Omni-Directional Microphones For Speech Enhancement,” co-pending U.S. patent application Ser. No. 12/004,896 filed Dec. 21, 2007, entitled “System and Method for Blind Subband Acoustic Echo Cancellation Postfiltering,” and co-pending U.S. patent application Ser. No. 12/004,788 filed Dec. 21, 2007, entitled “System and Method for Providing Voice Equalization,” all of which are herein incorporated by reference.


BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates generally to audio processing and more particularly to acoustic echo cancellation in an audio system.
2. Description of Related Art
Conventionally, when audio from a far-end environment is presented through a loudspeaker of a communication device, the audio may be picked up by microphones or other audio sensors of the communication device. As such, the far-end audio may be sent back to the far-end resulting in an echo to a far-end listener. In order to reduce or eliminate this echo, an acoustic echo canceller may be utilized.
In traditional acoustic echo cancellers, knowledge of the far-end signal (e.g., strength and magnitude of the far-end signal) is required in order to be able to cancel the far-end signal. These traditional acoustic echo cancellers typically utilize one microphone. With knowledge of the far-end signal, a derivation of the transmission path from the loudspeaker to the microphone is performed. Then, the result of the derivation path may be inverted or a pattern of the derivation modeled and applied to the far-end signal.
Some convention acoustic echo cancellation systems utilize two microphones. One of the key disadvantages with conventional acoustic echo cancellers is that in order to implement an adaptive filter between a client and each of the two microphones, two acoustic echo cancellers are needed.
SUMMARY OF THE INVENTION
Various embodiments of the present invention overcome or substantially alleviate prior problems associated with acoustic echo cancellation. Instead of cancelling between a loudspeaker and each of two microphones, a prediction between the two microphones is performed and a noise suppressor placed between the two microphones. Additionally, embodiments of the present invention do not require knowledge of a far-end signal being played through a loudspeaker (e.g., strength and magnitude), only a direction that the far-end signal is coming from. Because the loudspeaker is typically in a fixed location relative to the two microphones, this direction is known and a communication device may be appropriately calibrated prior to actual operation.
In exemplary embodiments, primary and secondary acoustic signal are received by a primary and secondary microphone of the communication device. Because a loudspeaker may provide audio that may be picked up by the primary and secondary microphone, the acoustic signals may include loudspeaker leakage. A null coefficient is then adaptively determined for each subband. At least one adaptation constraint may be applied by a null module to determine the null coefficient. The adaptation constraint may comprise a frequency range constraint or a far-end signal energy constraint, for example. The null coefficient is applied to the secondary acoustic signal to generate a coefficient-modified signal.
The coefficient-modified signal may be subtracted from the primary acoustic signal. In some embodiments, a masked acoustic signal may be generated based, at least in part, on the modified primary signal, by an adder or masking module. The masked acoustic signal may comprise reduced or no echo. In some embodiments, the masked acoustic signal may also comprise noise suppression masking. The masked acoustic signal may then be output.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an environment in which embodiments of the present invention may be practiced.
FIG. 2 is a block diagram of an exemplary communication device implementing embodiments of the present invention.
FIG. 3 is a block diagram of an exemplary audio processing system.
FIG. 4 is a block diagram of an exemplary acoustic echo cancellation engine in operation.
FIG. 5 is a flowchart of an exemplary method for acoustic echo cancellation.



DESCRIPTION OF EXEMPLARY EMBODIMENTS
The present invention provides exemplary systems and methods for acoustic echo cancellation (AEC). Various embodiments place a null in a direction of the loudspeaker, thus canceling a signal received from the loudspeaker. The direction of the null may be generated by a plurality of microphones prior to transmission of a signal back to a far-end. Embodiments of the present invention may be applied to both 2-channel and 3-channel AEC systems. In the 2-channel embodiment, the system utilizes a two-microphone system. In the 3-channel embodiment, the system utilizes the 2-channel AEC system and also has knowledge of an additional channel associated with a loudspeaker signal.
Exemplary embodiments are configured to prevent the loudspeaker signal from leaking through the two microphones to the far-end in a way that the far-end does not perceive an echo. These embodiments can perform AEC without having access to far-end signal information. In further embodiments, optimal near-end speech preservation may be achieved if the far-end signal is utilized. While the following description will focus on a two microphone system, alternative embodiments may utilize any number of microphones in a microphone array.
As such, various embodiments of the present invention do not require knowledge of a far-end signal being played through a loudspeaker (e.g., strength and magnitude), only a direction of the far-end signal. Because the loudspeaker is typically in a fixed location relative to the two microphones, this general range of direction from the loudspeaker and the region of speech may be easily determined. As a result, in some embodiments, a communication device may be calibrated prior to practical operation In one example, this general range of direction from the loudspeaker may be considered a blackout region where the null should not be placed.
Embodiments of the present invention may be practiced on any device that is configured to receive audio such as, but not limited to, cellular phones, phone handsets, headsets, and conferencing systems. While some embodiments of the present invention will be described in reference to operation on a speakerphone, the present invention may be practiced on any audio device.
Referring to FIG. 1, an environment in which embodiments of the present invention may be practiced is shown. A user in a near-end environment 100 acts as an acoustic source 102 to a communication device 104. The exemplary communication device 104 comprises two microphones: a primary microphone 106 relative to the acoustic source 102 and a secondary microphone 108 located a distance away from the primary microphone 106. In some embodiments, the primary and secondary microphones 106 and 108 comprise omni-directional microphones. It should also be noted that some embodiments of the present invention may be applied in both wideband and narrowband applications so long as a distance between the primary and secondary microphones 106 and 108 is not larger than a speed of sound divided by a sample rate.
While the microphones 106 and 108 receive sound (i.e., acoustic signals) from the acoustic source 102, the microphones 106 and 108 also pick up noise 110 in the near-end environment 100. Although the noise 110 is shown coming from a single location in FIG. 1, the noise 110 may comprise any sounds from one or more locations different than the acoustic source 102, and may include reverberations, echoes, and distractors. The noise 110 may be stationary, non-stationary, and/or a combination of both stationary and non-stationary noise.
Some embodiments of the present invention utilize level differences (e.g., energy differences) between the acoustic signals received by the two microphones 106 and 108. Because the primary microphone 106 is closer to the acoustic source 102 than the secondary microphone 108, the intensity level may be higher for the primary microphone 106 resulting in a larger energy level during a speech/voice segment, for example.
The level difference may then be used to discriminate speech and noise in the time-frequency domain. Further embodiments may use a combination of energy level differences and time delays to discriminate speech. Based on binaural cue decoding, speech signal extraction or speech enhancement may be performed.
An acoustic signal (e.g., comprising speech) from a far-end environment 112 may be received via a communication network 114 by the communication device 104. The received acoustic signal may then be provided to the near-end environment 100 via a loudspeaker 116 associated with the communication device 104. To attenuate or otherwise reduce leakage of a signal from the loudspeaker 116 into the microphones 106 and 108, a directivity pattern may be generated to emphasize signals received by the microphones 106 and 108 from the acoustic source 102 and generate a null in the direction of the loudspeaker 116.
Referring now to FIG. 2, the exemplary communication device 104 is shown in more detail. In exemplary embodiments, the communication device 104 is an audio receiving device that comprises a receiver 200, a processor 202, the primary microphone 106, the secondary microphone 108, an audio processing system 204, and an output device 206. The communication device 104 may comprise further components necessary for communication device 104 operations.
The exemplary receiver 200 is an acoustic sensor configured to receive a far-end signal from the network 114. In some embodiments, the receiver 200 may comprise an antenna device. The received far-end signal may then be forwarded to the audio processing system 204.
The audio processing system 204 is configured to receive the acoustic signals from the primary and secondary microphones 106 and 108 (e.g., primary and secondary acoustic sensors) and process the acoustic signals. As previously discussed, the primary and secondary microphones 106 and 108, respectively, are spaced a distance apart in order to allow for an energy level differences and phase differences between them. After reception by the microphones 106 and 108, the acoustic signals may be converted into electric signals (i.e., a primary electric signal and a secondary electric signal). The electric signals may themselves be converted by an analog-to-digital converter (not shown) into digital signals for processing in accordance with some embodiments. In order to differentiate the acoustic signals, the acoustic signal received by the primary microphone 106 is herein referred to as the primary acoustic signal, while the acoustic signal received by the secondary microphone 108 is herein referred to as the secondary acoustic signal. It should be noted that embodiments of the present invention may be practiced utilizing a plurality of microphones.
The audio processing system 204 may also be configured to receive the far-end signal from the network 114 and provide the far-end signal to the output device 206 discussed below. In various embodiments, the audio processing engine 204 may attenuate noise within the far-end signal and/or emphasize speech prior to providing the processed far-end signal to the output 206.
The output device 206 is any device which provides an audio output to a listener (e.g., the acoustic source 102). For example, the output device 206 may comprise the loudspeaker 116, an earpiece of a headset, or handset on the communication device 104, for example.
FIG. 3 is a detailed block diagram of the exemplary audio processing system 204, according to one embodiment of the present invention. In exemplary embodiments, the audio processing system 204 is embodied within a memory device. The exemplary audio processing system 204 may provide an acoustic echo cancellation (AEC) engine 304 within a noise suppression system. As a result, an acoustic signal sent from the communication device 104 may comprise reduced or eliminated echo from loudspeaker leakage. The acoustic signal may further comprise, in various embodiments, noise suppression. Those skilled in the art will appreciate that embodiments of the present invention are not limited to systems with a noise suppression.
In operation, the acoustic signals received from the primary and secondary microphones 106 and 108 are converted to electric signals and processed through a frequency analysis module 302. In one embodiment, the frequency analysis module 302 takes the acoustic signals and mimics the frequency analysis of the cochlea (i.e., cochlear domain) simulated by a filter bank. In one example, the frequency analysis module 302 separates the acoustic signals into frequency bands. Alternatively, other filters such as short-time Fourier transform (STFT), Fast Fourier Transform, Fast Cochlea transform, sub-band filter banks, modulated complex lapped transforms, cochlear models, a gamma-tone filter bank, wavelets, or any generalized spectral analysis filter/method, can be used for the frequency analysis and synthesis. Because most sounds (e.g., acoustic signals) are complex and comprise more than one frequency, a sub-band analysis on the acoustic signal may be performed to determine what individual frequencies are present in the acoustic signal during a frame (e.g., a predetermined period of time). According to one embodiment, the frame is 5-10 ms long. Alternative embodiments may utilize other frame lengths.
After frequency analysis, the signals are provided to an acoustic echo cancellation (AEC) engine 304. The AEC engine 304 is configured to reduce echo resulting from loudspeaker leakage through the primary and secondary microphones 106 and 108. The AEC engine 304 is discussed in more detail in connection with FIG. 4 below.
The results of the AEC engine 304 may be provided to a noise suppression system 306 which incorporates AEC engine 304 results with noise suppression. More details on exemplary noise suppression systems 306 may be found in co-pending U.S. patent application Ser. No. 11/825,563 filed Jul. 6, 2007 and entitled “System and Method for Adaptive Intelligent Noise Suppression,” U.S. patent application Ser. No. 11/343,524, filed Jan. 30, 2006 and entitled “System and Method for Utilizing Inter-Microphone Level Differences for Speech Enhancement,” and U.S. patent application Ser. No. 11/699,732 filed Jan. 29, 2007 and entitled “System And Method For Utilizing Omni-Directional Microphones For Speech Enhancement,” all of which are incorporated by reference.
In some embodiments, the results of the AEC engine 304 (i.e., AEC masked signal) may comprise residual echo. As such, exemplary embodiments utilize a blind subband AEC postfilter (BSAP) system (not depicted) to render the residual echo inaudible.
The results of the AEC engine 304, the noise suppression system 306, and optionally, the BSAP system, may then be combined in a masking module 308. Accordingly in exemplary embodiments, gain masks may be applied to an associated frequency band of the primary acoustic signal in the masking module 308.
Next, the post-AEC frequency bands are converted back into time domain from the cochlea domain. The conversion may comprise taking the post-AEC frequency bands and adding together phase shifted signals of the cochlea channels in a frequency synthesis module 310. Once conversion is completed, the synthesized acoustic signal may be output (e.g., forwarded to the communication network 114 and sent to the far-end environment 112).
It should be noted that the system architecture of the audio processing system 204 of FIG. 3 is exemplary. Alternative embodiments may comprise more components, fewer components, or equivalent components and still be within the scope of embodiments of the present invention.
Referring now to FIG. 4, exemplary AEC engine 300 is shown in operation in the audio processing system 400. In operation, the acoustic signals (including audio from the loudspeaker 116) received from the primary and secondary microphones 106 and 108 (i.e., X1(t) and X2(t), respectively) are converted to electric signals and processed through the frequency analysis module 302 to obtain a primary (microphone channel) acoustic signal and a secondary (microphone channel) acoustic signal.
The exemplary AEC engine 300 is configured to use a subband differential array to create a null in an effective direction of the loudspeaker signal with respect to the primary and secondary microphone 106 and 108. In exemplary embodiments, a null module 402 determines and applies a time-varying complex coefficient (i.e., null coefficient) to the secondary microphone channel acoustic signal to generate a coefficient-modified acoustic signal. In exemplary embodiments the complex coefficient may be continuously adapted to minimize residual echo. The result of the null module 402 is then sent to an adder 404 which subtracts the coefficient-modified acoustic signal from the primary microphone channel acoustic signal.
A model for narrow-spaced microphone cross transfer function of exemplary embodiments is that of a fractional shift in time (e.g., positive or negative) with attenuation. This may be justified by physics of sound propagation if a microphone spacing, D, (i.e., between the primary and secondary microphone 106 and 108) obeys an equation D<c/fs, where c is a speed of sound and fs is a sample rate. Those skilled in the art will appreciate that it is not required for the delay of the model for narrow-spaced microphone cross transfer function to be fractional without an integer part.
Both a gain and a phase of a cross-microphone transfer function may be dependent on a signal frequency and an angle of arrival theta, θ, as follows:




  
    
      H
      C
    
    ⁡
    
      (
      
        f
        ,
        θ
      
      )
    
  
  =
  
    
      1
      
        
          a
          ⁡
          
            (
            
              f
              ,
              θ
            
            )
          
        
        ·
        
          e
          
            
              i
              ·
              2
            
            ⁢
            π
            ⁢
            
              
            
            ⁢
            
              f
              ·
              
                d
                ⁡
                
                  (
                  θ
                  )
                
              
            
          
        
      
    
    .
  




For a given frequency subband with index n, the transfer function may be approximated based on a magnitude and phase at a subband center frequency as follows:




  
    
      H
      n
    
    ⁡
    
      (
      θ
      )
    
  
  =
  
    
      1
      
        
          
            a
            n
          
          ⁡
          
            (
            θ
            )
          
        
        ·
        
          e
          
            
              iφ
              n
            
            ⁡
            
              (
              θ
              )
            
          
        
      
    
    .
  




In various embodiments, the higher-order approximations to the fractional delay may be used as well. The above equation relates the primary acoustic signal with angle of arrival theta in the primary microphone 106 to the secondary acoustic signal in the secondary microphone 108 in the frequency subband with index n as follows:





  
    
      X
      
        2
        ,
        n
      
    
    ⁡
    
      (
      θ
      )
    
  
  =
  
    
      
        
          X
          
            1
            ,
            n
          
        
        ⁡
        
          (
          θ
          )
        
      
      
        
          
            a
            n
          
          ⁡
          
            (
            θ
            )
          
        
        ·
        
          e
          
            
              iφ
              n
            
            ⁡
            
              (
              θ
              )
            
          
        
      
    
    .
  




In order to subtractively cancel the primary acoustic signal with angle of arrival theta, the secondary acoustic signal multiplied by an inverse cross-transfer function may be subtracted as mathematically described by:

X1,n(θ)−X2,n(θ)−an(θ)·eiφn(θ)=0.

In embodiments where a pure sinusoid at the subband's center frequency, the cancellation may approximate the entire signal picked up by the microphones 106 and 108 from the loudspeaker 116. The same may hold true for all signals if the angle of arrival theta is equal to 0 or 180 degrees since a fractional shift at these angles is zero.
As an inverse of an approximate inter-channel cross-transfer function in each subband is a single complex multiplier, it may be computed using zero-lag correlations as follows:




  
    
      
        
          
            H
            n
            
              -
              1
            
          
          ⁡
          
            (
            δ
            )
          
        
        =
        
          
            
              E
              ⁢
              
                {
                
                  
                    
                      x
                      2
                      *
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      x
                      1
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                }
              
            
            
              E
              ⁢
              
                {
                
                  
                    
                      x
                      2
                      *
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                  ·
                  
                    
                      x
                      2
                    
                    ⁡
                    
                      (
                      k
                      )
                    
                  
                
                }
              
            
          
          .
        
      
    
    
      
        Equ
        .
        
          
        
        ⁢
        
          (
          1
          )
        
      
    
  




In exemplary embodiments, the null module 402 may perform null coefficient adaptation. A frame-based recursive approximation may be used, where m is a running frame and N is a frame length as follows:




  
    
      H
      n
      
        -
        1
      
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      
        H
        n
        
          -
          1
        
      
      ⁡
      
        (
        
          m
          -
          1
        
        )
      
    
    +
    
      μ
      ·
      
        
          
            
              ∑
              k
              N
            
            ⁢
            
              
            
            ⁢
            
              
                
                  x
                  2
                  *
                
                ⁡
                
                  (
                  k
                  )
                
              
              ·
              
                
                  x
                  1
                
                ⁡
                
                  (
                  k
                  )
                
              
            
          
          
            α
            +
            
              
                ∑
                k
                N
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    x
                    2
                    *
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
                ·
                
                  
                    x
                    2
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
              
            
          
        
        .
      
    
  




The result of this computation is an estimate of the time-varying inverse of the cross-transfer function between the primary and secondary microphone 106 and 108. This estimate may then be multiplied with frame samples of the secondary microphone 108 in the null module 402. The result may then be subtracted from the frame samples of the primary microphone 106 in the adder 404 resulting in the following exemplary equations:

y(k)=x1(k)−x2(k)·Hn−1(m).

In order to prevent cancellation of a near-end speech signal from the acoustic source 102, various adaptation constraints may be applied by the null module 402. That is, the null module 402 attempts to constrain the null coefficient such that the null coefficient cancels the echo with little or no effect on the near-end speech.
One such constraint comprises a frequency range constraint. Loudspeakers associated with conventional mobile handsets may comprise limited capabilities for transmitting low frequency content. For example, in a speakerphone mode, a low corner frequency may be 600 Hz. As such, an echo cancellation may be constrained to a range of subbands covering a frequency range of the loudspeaker. Any subbands outside of the speaker frequency are not subject to echo cancellation.
Some embodiments of the present inventions apply AEC based on subbands rather than globally. This allows the system to preserve the ability to adapt in regions of the spectrum where a far-end signal is faint with respect to the near-end signal, and vice-versa. As a result, calibration may be performed prior to implementation in the communication device 104. Calibration may comprise playing pink noise in a sound room through an industrial design loudspeaker. A resulting primary acoustic signal is then fed through a frequency analysis module. Average subband frame energies may then be stored in a communication device configuration file (e.g., stored in the null module 402).
In various embodiments, the AEC is not applied when there is no far-end signal present. In one example, the far-end is never entirely quiet because of quantization noise in the encoding process and comfort noise being inserted by typical codes during times of silence. Further, what may qualify as “no signal” at one volume setting may not be negligible in another. The application of the AEC based on subbands may avoid global errors that attenuate desired speech or emphasize noise.
Once the device is in operation, the null module 402 may determine whether the observed predictor between the two microphones is in a near-end acoustic source class or a loudspeaker class. During calibration, an estimate of the leakage from the loudspeaker to the two microphones may be determined. In one example, calibration may occur offline prior to practical use of the communication device. In another example, calibration may occur online (e.g., the coefficients may be learned online). While the device is in operation, a leakage curve may be utilized by the null module 402. Based on an applied energy, an expected leakage in the two microphones may be determined. If the signal observe in the secondary microphone 108 is above the curve, then an assumption may be made that the signal is mainly from the acoustic source 102.
For example, if a primary microphone energy exceeds the average subband frame energy level, the primary microphone energy is higher than expected given a current far-end energy. In exemplary embodiments, this signifies that most of the signal in the given subband is not due to echo. So an adaptation rule for this predictor between the two microphones is based on location. If the signal is in the loudspeaker class, AEC may occur in order to cancel echo. If the signal is in the near-end acoustic source class, AEC may not occur. There may also be a variant where the coefficient is frozen and a variant where the coefficients may fade—essentially placing a magnitude to zero.
In order to compensate for delay in an echo path, the far-end energy signal (from Weighted Energy Module 406 in FIG. 4) may be delayed by a delay module 408. In one embodiment, the delay may be a same amount before comparing a threshold derived from the far-end energy with a current primary microphone energy. This delay may be obtained from calibration and may comprise both an acoustic path delay and a delay incurred from framing in a A/D and D/A conversion.
In order to prevent cancellation of a near-end speaker, another calibration method may be performed. In this calibration method, null-coefficients may be computed for Ne echo paths from playing pink noise through the loudspeaker and computing equation (1) for each null coefficient. This may also be performed for a total of five head and torso simulators (HATS) pink noise recordings (e.g., one for nominal near-end loudspeaker position and four for angles +/−30 degrees up and down from the nominal position. The result is 5+Ne, where Ne of the coefficients are in an echo class and five are in a near-end class.
As a difference metric between two null-coefficients, the following equation may be used:

d=|log(a1)−log(a2)|

An observation may then be assigned to one of the two classes (i.e., echo class or near-end class). In exemplary embodiments, adaptation in a particular frequency subband may be allowed if a current null coefficient update is closer to the echo class than it is to the near-end class as determined by the AEC engine 300.

In some embodiments, various adaptation criteria may be satisfied in order for the AEC engine 300 to allow a particular subband to update related coefficients. For example, where one or more adaptation criteria are not satisfied, the current coefficient angle may be frozen and its magnitude may be subject to an exponential decay This may minimize signal alterations during single talk in the near-end environment 100. In other embodiments, both the current coefficient angle and the magnitude may be frozen.
Once the coefficient-modified acoustic signal is subtracted from the primary acoustic signal, the resulting signal is forwarded to the frequency synthesis module 310. In various embodiments, the resulting signal is forwarded to the masking module 308 prior to resynthesis. The frequency synthesis module 310 converts the resulting signal back into time domain from the cochlea domain. Once conversion is complete, the synthesized acoustic signal may be output.
In some embodiments, a switch 410 may be provided. Thus, if AEC is being performed, then the resulting signal may be fed back into the null module 402. If AEC is not being performed, the switch 410 may be closed.
It should be noted that the system architecture of the audio processing system 400 of FIG. 4 is exemplary. Alternative embodiments may comprise more components, less components, or equivalent components and still be within the scope of embodiments of the present invention.
Referring now to FIG. 5, a flowchart 500 of an exemplary method for providing acoustic echo cancellation (AEC) is provided. In step 502, the acoustic signals from a near-end environment 100 are received by the primary and secondary microphones 106 and 108. If audio from a far-end is being output through the loudspeaker 116, then audio from the loudspeaker may leak back to the primary and secondary microphones 106 and 108. This may result in an echo being provided back to a listener at the far-end environment 112.
The acoustic signals are then converted to electric signals and processed through the frequency analysis module 302 to obtain a primary (microphone channel) acoustic signal and a secondary (microphone channel) acoustic signal in step 504. In one embodiment, the frequency analysis module 302 takes the acoustic signals and mimics the frequency analysis of a cochlea (i.e., cochlear domain) simulated by a filter bank. The result comprises frequency subbands.
In step 506, a null coefficient per subband is determined. As discussed, the exemplary AEC engine 300 is configured to use a subband differential array to create a null in an effective direction of the loudspeaker signal with respect to the primary and secondary microphone 106 and 108. In exemplary embodiments, the null module 402 determines a time-varying complex coefficient (i.e., null coefficient). In some embodiments, this complex coefficient may be continuously adapted to minimize residual echo.
The null coefficient is then applied to the secondary acoustic signal per subband in step 508 to generate a coefficient-modified acoustic signal. The coefficient-modified acoustic signal is then sent to the adder 404 which subtracts the coefficient-modified acoustic signal from the primary acoustic signal per subband in step 510. In an embodiment comprising a noise suppression system, the masking module 308 may apply noise suppression masking to the primary acoustic signal with the result comprising masked frequency bands.
The masked frequency bands may then be output in step 512. In accordance with exemplary embodiments, the masked frequency bands are converted back into time domain from the cochlea domain. The conversion may comprise taking the masked frequency bands and adding together phase shifted signals of the cochlea channels in the frequency synthesis module 310. Once conversion is completed, the synthesized acoustic signal may be output (e.g., forwarded to the communication network 114 and sent to the far-end environment 112).
The above-described modules can be comprised of instructions that are stored on storage media. The instructions can be retrieved and executed by the processor 202. Some examples of instructions include software, program code, and firmware. Some examples of storage media comprise memory devices and integrated circuits. The instructions are operational when executed by the processor 202 to direct the processor 202 to operate in accordance with embodiments of the present invention. Those skilled in the art are familiar with instructions, processor(s), and storage media.
The present invention is described above with reference to exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made and other embodiments can be used without departing from the broader scope of the present invention. For example, embodiments of the present invention may be applied to any system (e.g., non speech enhancement system) as long as a noise power spectrum estimate is available. Therefore, these and other variations upon the exemplary embodiments are intended to be covered by the present invention.

## Claims

1. A method for providing acoustic echo cancellation, comprising:
receiving a primary and secondary acoustic signal at a communication device;
adaptively determining a null coefficient for each subband of the secondary acoustic signal;
applying the null coefficient for each subband of the secondary acoustic signal to a respective subband of the secondary acoustic signal to generate a coefficient-modified signal;
subtracting the coefficient-modified signal from the primary acoustic signal to generate a masked acoustic signal; and
outputting the masked acoustic signal.

2. The method of claim 1 further comprising converting the masked acoustic signal into time domain for outputting.

3. The method of claim 1 further comprising applying a noise suppression mask to the primary acoustic signal.

4. The method of claim 3 wherein adaptively determining the null coefficient is represented by




  
    
      
        H
        n
        
          -
          1
        
      
      ⁡
      
        (
        m
        )
      
    
    =
    
      
        
          H
          n
          
            -
            1
          
        
        ⁡
        
          (
          
            m
            -
            1
          
          )
        
      
      +
      
        μ
        ·
        
          
            
              ∑
              k
              N
            
            ⁢
            
              
            
            ⁢
            
              
                
                  x
                  2
                  *
                
                ⁡
                
                  (
                  k
                  )
                
              
              ·
              
                
                  x
                  1
                
                ⁡
                
                  (
                  k
                  )
                
              
            
          
          
            α
            +
            
              
                ∑
                k
                N
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    x
                    2
                    *
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
                ·
                
                  
                    x
                    2
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
              
            
          
        
      
    
  
  ,




where m is a running frame and N is a frame length.

5. The method of claim 1 wherein adaptively determining the null coefficient comprises applying at least one adaptation constraint.

6. The method of claim 5 wherein the at least one adaptation constraint comprises a frequency range constraint.

7. The method of claim 5 wherein the at least one adaptation constraint comprises a far-end signal energy constraint.

8. The method of claim 1 further comprising calibrating the communication device.

9. The method of claim 1 further comprising determining a far-end energy signal.

10. The method of claim 9 further comprising delaying the far-end energy signal.

11. The method of claim 1 further comprising providing a switch, the switch allowing selective implementation of the acoustic echo cancellation in a noise suppression system.

12. A system for providing acoustic echo cancellation in a communication device, comprising:
an acoustic sensor configured to receive a primary acoustic signal and a secondary acoustic signal;
a null module configured to adaptively determine a null coefficient for each subband of the secondary acoustic signal and apply the null coefficient for each subband of the secondary acoustic signal to a respective subband of the secondary acoustic signal to generate a coefficient-modified signal; and
an adder configured to subtract the coefficient-modified signal from the primary acoustic signal to generate a masked acoustic signal.

13. The system of claim 12 further comprising a frequency synthesis module configured to convert the masked acoustic signal into time domain for outputting.

14. The system of claim 12 further comprising a noise suppression system configured to reduce near-end noise from the primary acoustic signal.

15. The system of claim 12, wherein the null module configured to adaptively determine the null coefficient comprises the null module configured to adaptively determine the null coefficient represented by




  
    
      
        H
        n
        
          -
          1
        
      
      ⁡
      
        (
        m
        )
      
    
    =
    
      
        
          H
          n
          
            -
            1
          
        
        ⁡
        
          (
          
            m
            -
            1
          
          )
        
      
      +
      
        μ
        ·
        
          
            
              ∑
              k
              N
            
            ⁢
            
              
            
            ⁢
            
              
                
                  x
                  2
                  *
                
                ⁡
                
                  (
                  k
                  )
                
              
              ·
              
                
                  x
                  1
                
                ⁡
                
                  (
                  k
                  )
                
              
            
          
          
            α
            +
            
              
                ∑
                k
                N
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    x
                    2
                    *
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
                ·
                
                  
                    x
                    2
                  
                  ⁡
                  
                    (
                    k
                    )
                  
                
              
            
          
        
      
    
  
  ,




where m is a running frame and N is a frame length.

16. The system of claim 12 wherein the null module is further configured to calibrate the communication device.

17. The system of claim 12 further comprising a weighted energy module configured to determine a far-end energy signal.

18. The system of claim 17 further comprising a delay module configured to delay the far-end energy signal.

19. The system of claim 17 further comprising a switch configured to allow selective implementation of the acoustic echo cancellation in a noise suppression system.

20. A non-transitory machine readable medium having embodied thereon a program, the program providing instructions for a method for acoustic echo cancellation, the method comprising:
receiving a primary and secondary acoustic signal at a communication device;
adaptively determining a null coefficient for each subband of the secondary acoustic signal;
applying the null coefficient for each subband of the secondary acoustic signal to a respective subband of the secondary acoustic signal to generate a coefficient-modified signal;
subtracting the coefficient-modified signal from the primary acoustic signal to generate a masked acoustic signal; and
outputting the masked acoustic signal.