# Patent

## Title
Energy adjustment of acoustic echo replica signal for speech enhancement

## Abstract

A method for cancelling/reducing acoustic echoes in speech/audio signal enhancement processing comprises using a received reference signal to excite an adaptive filter wherein the output of the adaptive filter forms a replica signal of acoustic echo; the replica signal of acoustic echo is reduced adaptively by multiplying a gain to get a gained replica signal of acoustic echo wherein the gain is smaller in speech area and/or double-talk area than non-speech area; the gained replica signal of acoustic echo is subtracted from a microphone input signal to suppress the acoustic echo in the microphone input signal.

## Background
This application claims the benefit of U.S. Provisional Application No. 62/014,355 filed on Jun. 19, 2014, entitled “Energy Adjustment of Acoustic Echo Replica Signal for Speech Enhancement,” U.S. Provisional Application No. 62/014,346 filed on Jun. 19, 2014, entitled “Acoustic Echo Preprocessing for Speech Enhancement,” U.S. Provisional Application No. 62/014,359 filed on Jun. 19, 2014, entitled “Control of Acoustic Echo Canceller Adaptive Filter for Speech Enhancement,” U.S. Provisional Application No. 62/014,365 filed on Jun. 19, 2014, entitled “Post Ton Suppression for Speech Enhancement,” which application is hereby incorporated herein by reference.


TECHNICAL FIELD
The present invention is generally in the field of Echo Cancellation/Speech Enhancement. In particular, the present invention is used to improve Acoustic Echo Cancellation.
BACKGROUND
For audio signal acquisition human/machine interfaces, especially in hands-free condition, adaptive beamforming microphone arrays have been widely employed for enhancing a desired signal while suppressing interference and noise. For full-duplex communication systems, not only interference and noise corrupt the desired signal, but also acoustic echoes originating from loudspeakers. For suppressing acoustic echoes, acoustic echo cancellers (AECs) using adaptive filters may be the optimum choice since they exploit the reference information provided by the loudspeaker signals.
To simultaneously suppress interferences and acoustic echoes, it is thus desirable to combine acoustic echo cancellation with adaptive beamforming in the acoustic human/machine interface. To achieve optimum performance, synergies between the AECs and the beamformer should be exploited while the computational complexity should be kept moderate. When designing such a joint acoustic echo cancellation and beamforming system, it proves necessary to consider especially the time-variance of the acoustic echo path, the background noise level, and the reverberation time of the acoustic environment. To combine acoustic echo cancellation with beamforming, various strategies were studied in the public literatures, reaching from cascades of AECs and beamformers to integrated solutions. These combinations address aspects such as maximization of the echo and noise suppression for slowly time-varying echo paths and high echo-to-interference ratios (EIRs), strongly time-varying echo paths, and low EIRs, or minimization of the computational complexity.
For full-duplex hands-free acoustic human/machine interfaces, often a combination of acoustic echo cancellation and speech enhancement is required to suppress acoustic echoes, local interference, and noise. However, efficient solutions for situations with high level background noise, with time-varying echo paths, with long echo reverberation time, and frequent double talk, are still a challenging research topic. To optimally exploit positive synergies between acoustic echo cancellation and speech enhancement, adaptive beamforming and acoustic echo cancellation may be jointly optimized. The adaptive beamforming system itself is already quite complex for most consumer oriented applications; the system of jointly optimizing the adaptive beamforming and the acoustic echo canceller could be too complex.
An ‘AEC first’ system or ‘beamforming first’ system which has lower complexity than the system of jointly optimizing the adaptive beamforming and the acoustic echo canceller. In the ‘AEC first’ system, positive synergies for the adaptive beamforming can be exploited after convergence of the AECs: the acoustic echoes are efficiently suppressed by the AECs, and the adaptive beamformer does not depend on the echo signals. One AEC is necessary for each microphone channel so that multiple complexity is required for multiple microphones at least for filtering and filter update in comparison to an AEC for a single microphone. Moreover, in the presence of strong interference and noise, the adaptation of AECs must be slowed down or even stopped in order to avoid instabilities of the adaptive filters. Alternatively, the AEC can be placed behind the adaptive beamformer in the ‘beamforming first’ system; the complexity is reduced to that of AEC for a single microphone. However, positive synergies can not be exploited for the adaptive beamformer since the beamformer sees not only interferences but also acoustic echoes.
Beamforming is a technique which extracts the desired signal contaminated by interference based on directivity, i.e., spatial signal selectivity. This extraction is performed by processing the signals obtained by multiple sensors such as microphones located at different positions in the space. The principle of beamforming has been known for a long time. Because of the vast amount of necessary signal processing, most research and development effort has been focused on geological investigations and sonar, which can afford a high cost. With the advent of LSI technology, the required amount of signal processing has become relatively small. As a result, a variety of research projects where acoustic beamforming is applied to consumer-oriented applications such as cellular phone speech enhancement, have been carried out. Applications of beamforming include microphone arrays for speech enhancement. The goal of speech enhancement is to remove undesirable signals such as noise and reverberation. Amount research areas in the field of speech enhancement are teleconferencing, hands-free telephones, hearing aids, speech recognition, intelligibility improvement, and acoustic measurement.
The signal played back by the loudspeaker is fed back to the microphones, where the signals appear as acoustic echoes. With the assumption that the amplifiers and the transducers are linear, a linear model is commonly used for the echo paths between the loudspeaker signal and the microphone signals. To cancel the acoustic echoes in the microphone channel, an adaptive filter is placed in parallel to the echo paths between the loudspeaker signal and the microphone signal with the loudspeaker signal as a reference. The adaptive filter forms replicas of the echo paths such that the output signal of the adaptive filter are replicas of the acoustic echoes. Subtracting the output signal of the adaptive filter from the microphone signal thus suppresses the acoustic echoes. Acoustic echo cancellation is then a system identification problem, where the echo paths are usually identified by adaptive linear filtering. The design of the adaptation algorithm of the adaptive filter requires consideration of the nature of the echo paths and of the echo signals.
SUMMARY
In accordance with an embodiment of the present invention, a method for cancelling/reducing acoustic echoes in speech/audio signal enhancement processing comprises using a received reference signal to excite an adaptive filter wherein the output of the adaptive filter forms a replica signal of acoustic echo; the replica signal of acoustic echo is reduced adaptively by multiplying gains to get a gained replica signal of acoustic echo wherein the gains are determined by using an open-loop approach and a closed-loop approach; the gains are smaller in speech area and/or double-talk area than non-speech area; one of the most important parameters with the open-loop approach is an energy ratio between an energy of a returned echo signal in an input microphone signal and an energy of the received reference signal; one of the most important parameters with the closed-loop approach is a normalized correlation between the input microphone signal and the replica signal of acoustic echo; the gained replica signal of acoustic echo is subtracted from the microphone input signal to suppress the acoustic echo in the microphone input signal.
In an alternative embodiment, a speech signal enhancement processing apparatus comprises a processor, and a computer readable storage medium storing programming for execution by the processor. The programming include instructions to use a received reference signal to excite an adaptive filter wherein the output of the adaptive filter forms a replica signal of acoustic echo; the replica signal of acoustic echo is reduced adaptively by multiplying gains to get a gained replica signal of acoustic echo wherein the gains are determined by using an open-loop approach and a closed-loop approach; the gains are smaller in speech area and/or double-talk area than non-speech area; one of the most important parameters with the open-loop approach is an energy ratio between an energy of a returned echo signal in an input microphone signal and an energy of the received reference signal; one of the most important parameters with the closed-loop approach is a normalized correlation between the input microphone signal and the replica signal of acoustic echo; the gained replica signal of acoustic echo is subtracted from the microphone input signal to suppress the acoustic echo in the microphone input signal.



BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates a joint optimization of Adaptive Beamforming and Acoustic Echo Cancellation (AEC).
FIG. 2 illustrates a combination of AEC and Beamforming.
FIG. 3 illustrates a traditional Beamformer/Noise Canceller.
FIG. 4 illustrates a directivity of Fixed Beamformer.
FIG. 5 illustrates a directivity of Block Matrix.
FIG. 6 illustrates a traditional AEC system.
FIG. 7 illustrates a gain adjustment of replica signal.
FIG. 8 illustrates an AEC with gain adjusted replica signal.
FIG. 9 illustrates an approach to determine replica adjustment gain.
FIG. 10 illustrates a communication system according to an embodiment of the present invention.
FIG. 11 illustrates a block diagram of a processing system that may be used for implementing the devices and methods disclosed herein.



DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
To optimally exploit positive synergies between acoustic echo cancellation and speech enhancement, adaptive beamforming and acoustic echo cancellation may be jointly optimized as shown in FIG. 1. 101 are input signals from an array of microphones; 102 is a noise reduced signal output from adaptive beamforming system; the signal 104 outputs to the speaker, which is used as a reference signal of the echo canceller to produce an echo replica signal 103; the signal 102 and the signal 103 are combined to produce an optimal output signal 105 by jointly optimizing the adaptive beamforming and the acoustic echo canceller. The adaptive beamforming system itself is already quite complex for most consumer oriented applications; the FIG. 1 system of jointly optimizing the adaptive beamforming and the acoustic echo canceller could be too complex, although the FIG. 1 system can theoretically show its advantage for high levels of background noise, time-varying echo paths, long echo reverberation time, and frequent double talk.
FIG. 2 shows an ‘AEC first’ system or ‘beamforming first’ system which has lower complexity than the system of FIG. 1. In the ‘AEC first’ system, a matrix H(n) directly models the echo paths between the speaker and all microphones without interaction with the adaptive beamforming. For the adaptive beamforming, positive synergies can be exploited after convergence of the AECs: the acoustic echoes are efficiently suppressed by the AECs, and the adaptive beamformer does not depend on the echo signals. One AEC is necessary for each microphone channel so that multiple complexity is required for multiple microphones at least for filtering and filter update in comparison to an AEC for a single microphone. Moreover, in the presence of strong interference and noise, the adaptation of AECs must be slowed down or even stopped in order to avoid instabilities of the adaptive filters H(n). Alternatively, the AEC can be placed behind the adaptive beamformer in the ‘beamforming first’ system; the complexity is reduced to that of AEC for a single microphone. However, positive synergies can not be exploited for the adaptive beamformer since the beamformer sees not only interferences but also acoustic echoes. 201 are input signals from an array of microphones; for the ‘AEC first’ system, echoes in each component signal of 201 need to be suppressed to get an array of signals 202 inputting to the adaptive beamforming system; the speaker output signal 206 is used as a reference signal 204 of echo cancellation for the ‘AEC first’ system or as a reference signal 205 of echo cancellation for the ‘beamforming first’ system. In the ‘beamforming first’ system, echoes only in one signal 203 output from the adaptive beamforming system need to be cancelled to get final output signal 207 in which both echoes and background noise have been suppressed or reduced. As the single adaptation of the echo canceller response h(n) in the ‘beamforming first’ system has much lower complexity than the matrix adaptation of the echo canceller response H(n) in the ‘AEC first’ system, obviously the ‘beamforming first’ system has lower complexity than the ‘AEC first’ system.
Applications of beamforming include microphone arrays for speech enhancement. The goal of speech enhancement is to remove undesirable signals such as noise and reverberation. Amount research areas in the field of speech enhancement are teleconferencing, hands-free telephones, hearing aids, speech recognition, intelligibility improvement, and acoustic measurement. Beamforming can be considered as multi-dimensional signal processing in space and time. Ideal conditions assumed in most theoretical discussions are not always maintained. The target DOA (direction of arrival), which is assumed to be stable, does change with the movement of the speaker. The sensor gains, which are assumed uniform, exhibit significant distribution. As a result, the performance obtained by beamforming may not be as good as expected. Therefore, robustness against steering-vector errors caused by these array imperfections are become more and more important.
A beamformer which adaptively forms its directivity pattern is called an adaptive beamformer. It simultaneously performs beam steering and null steering. In most traditional acoustic beamformers, however, only null steering is performed with an assumption that the target DOA is known a priori. Due to adaptive processing, deep nulls can be developed. Adaptive beamformers naturally exhibit higher interference suppression capability than its fixed counterpart. FIG. 3 depicts a structure of a widely known adaptive beamformer among various adaptive beamformers. Microphone array could contain multiple microphones; for the simplicity, FIG. 3 only shows two microphones.
FIG. 3 comprises a fixed beamformer (FBF), a multiple input canceller (MC), and blocking matrix (BM). The FBF is designed to form a beam in the look direction so that the target signal is passed and all other signals are attenuated. On the contrary, the BM forms a null in the look direction so that the target signal is suppressed and all other signals are passed through. The inputs 301 and 302 of FBF are signals coming from MICs. 303 is the output target signal of FBF. 301, 302 and 303 are also used as inputs of BM. The MC is composed of multiple adaptive filters each of which is driven by a BM output. The BM outputs 304 and 305 contain all the signal components except that in the look direction. Based on these signals, the adaptive filters generate replicas 306 of components correlated with the interferences. All the replicas are subtracted from a delayed output signal of the fixed beamformer which has an enhanced target signal component. In the subtracted output 307, the target signal is enhanced and undesirable signals such as ambient noise and interferences are suppressed. FIG. 4. shows an example of directivity of the FBF. FIG. 5. shows an example of directivity of the BM. In real applications, the system FIG. 3 can be simplified and made more efficient, the details of which are out of scope of this specification and will not be discussed here.
The signal played back by the loudspeaker is fed back to the microphones, where the signals appear as acoustic echoes. With the assumption that the amplifiers and the transducers are linear, a linear model is commonly used for the echo paths between the loudspeaker signal and the microphone signals. To cancel the acoustic echoes in the microphone channel, an adaptive filter is placed in parallel to the echo paths between the loudspeaker signal and the microphone signal with the loudspeaker signal as a reference. The adaptive filter forms replicas of the echo paths such that the output signal of the adaptive filter are replicas of the acoustic echoes. Subtracting the output signal of the adaptive filter from the microphone signal thus suppresses the acoustic echoes. Acoustic echo cancellation is then a system identification problem, where the echo paths are usually identified by adaptive linear filtering. The design of the adaptation algorithm of the adaptive filter requires consideration of the nature of the echo paths and of the echo signals.
The acoustic echo paths may vary strongly over time due to moving sources or changes in the acoustic environment requiring a good tracking performance of the adaptation algorithm. The reverberation time of the acoustic environment typically ranges from, e.g., T≈50 ms in passenger cabins of vehicles to T>1 s in public halls. With the theoretical length estimation of the adaptive filter order Nh




  
    
      N
      h
    
    ≈
    
      
        ERLE
        60
      
      ·
      
        f
        s
      
      ·
      T
    
  
  ,




where ERLE is the desired echo suppression of the AEC in dB; as a rule of thumb it becomes obvious that with many realistic acoustic environment and sampling rates fs=4-48 kHz, adaptive FIR filters with several thousands coefficients are needed to achieve ERLE≈20 dB. Obviously, too long adaptive filter order is not practical not only in the sense of the complexity but also of the convergence time. For environments with long reverberation times, this means that the time for convergence—even for fast converging adaptation algorithms—cannot be neglected and that, after a change of echo paths, noticeable residual echoes may be present until the adaptation algorithm is re-converged.

As mentioned above, the echo reverberation time mainly depends on the location of the loudspeaker and the microphones, ranging from, e.g., T≈50 ms in passenger cabins of vehicles to T>1 s in public halls. When the case of long echo reverberation time happens, one way to keep the efficiency of the echo cancellation is to increase the order of the adaptive filter; however, this may not be realistic because of two reasons: (1) too high order of the adaptive filter causes too high complexity; (2) too high order of the adaptive filter causes too slow adaptation convergence of the adaptive filter. That is why a common order of the adaptive filter is about few hundreds for a sampling rate of 8000 Hz.
The presence of disturbing sources such as desired speech, interference, or ambient noise may lead to instability and divergence of the adaptive filter. To prevent the instability, adaptation control mechanisms are required which adjust the stepsize of the adaptation algorithm to the present acoustic conditions. With a decrease in the power ratio of acoustic echoes and disturbance, a smaller stepsize becomes mandatory, which however increases the time until the adaptive filter have converged to efficient echo path models. As the above discussion about adaptive filtering for acoustic echo cancellation shows, the convergence time of the adaptive filter is a crucial factor in acoustic echo cancellation and limits the performance of AECs in realistic acoustic environments. With the aim of reducing the convergence time while assuring robustness against instabilities and divergence even during double talk, various adaptation algorithms have been studied in public literatures and articles for realizations in the time domain and or in the frequency domain.
Even with fast converging adaptation algorithms, there are typically residual echoes present at the output of the AEC. Furthermore, it is desirable to combine the echo cancellation with noise reduction. Therefore, post echo and noise reduction is often cascaded with the AEC to suppress the residual echoes and noise at the AEC output. These methods are typically based on spectral subtraction or Wiener filtering so that estimates of the noise spectrum and of the spectrum of the acoustic echoes at the AEC output are required. These are often difficult to obtain in a single-microphone system for time-varying noise spectra and frequently changing echo paths.
FIG. 6 shows a traditional basic structure of AEC with a simplified beamforming system. To limit the computational complexity, ‘beamforming first’ system is adopted. The microphone array signals 601 are processed first by the simplified adaptive beamformer to get a single noise-reduced Tx signal 602; Rx signal 603 is employed as an excitation signal for the adaptive filter to produce an echo replica signal 604; the echo-suppressed signal 605 is obtained by subtracting the echo replica signal 604 from the Tx signal 602.
The top row of FIG. 7 shows an example of Tx speech signal 602 containing echoes. In the echo areas, the echo replica signal 604 usually matches well the real echoes in the Tx speech signal 602 so that the real echoes can be significantly reduced. However, in the speech areas, the echo replica signal 604 could be meaningless due to imperfect adaptation of the adaptive filter and/or random noise and/or unstable noise in the Tx speech signal 602 and the Rx signal 603, causing possible speech distortions; so, in the speech areas, the echo replica signal 604 is better to be scaled down by a scaling gain so that the possible speech distortions can be reduced or made non-audible. The double talk areas (speech mixed with echoes) are often most difficult areas; the echo replica signal 604 in the double talk areas is helpful but often not perfect, and the speech distortions may also be reduced by applying a proper reduction gain to the echo replica signal 604. The second row of FIG. 7 shows an example of the scaling gain of the echo replica signal.
FIG. 8 shows an example of AEC with gain adjustment of the replica signal. To limit the computational complexity, ‘beamforming first’ system is adopted. The microphone array signals 801 are processed first by the simplified adaptive beamformer to get a single noise-reduced Tx signal 802; Rx signal 803 is employed as an excitation signal for the adaptive filter to produce an echo replica signal 804; the echo-suppressed signal 805 is an output signal with the traditional AEC structure, obtained by subtracting the echo replica signal 804 from the Tx signal 802; the echo-suppressed signal 808 is a new output signal obtained by subtracting the gained echo replica signal 807 from the Tx signal 802; 806 is the scaling gain to the echo replica signal 804 which is the output from the traditional adaptive filter. The new echo-suppressed signal 808 has less distortions than the traditional echo-suppressed signal 805.
FIG. 9 shows an example of the principle determining the scaling gain to the echo replica signal of the adaptive filter. An open-loop echo return energy 901 and a closed-loop echo correlation 902 are used to detect echoes and get an echo detection flag 904; the open-loop echo return energy 901 and the closed-loop echo correlation 902 are also used to detect non-echo signals and get an non-echo detection flag 906; a voice/noise detection flag 903, the echo detection flag 904, and the closed-loop echo correlation 902 are employed to form a first stage gain 905 for scaling the echo replica signal; the information of the non-echo detection flag 906 and the first stage gain 905 are used to form a second stage gain 907, and then the further smoothed gain 908 is finally to scale the echo replica signal 909 and obtain a scaled echo replica signal 910.
The following is a detailed example of determining the scaling gain. Some symbols are first defined:

    
    
        EchoLoss0: Tx signal energy in dB minus Rx signal energy in dB at the same time frame;
        EchoLoss1: moving average value of EchoLoss0;
        EchoLoss_sm: moving average value of EchoLoss1 in lowest value areas of EchoLoss1;
        DiffEchoLoss0=EchoLoss0−EchoLoss_sm;
        DiffEchoLoss1=EchoLoss1−EchoLoss_sm;
        Corr_RxTx: normalized correlation between the echo replica signal and the Tx signal;
        Corr_RxTx_sm: smoothed Corr_RxTx;
        EchoFlag=1 means echoes detected; otherwise not detected;
        VAD_Rx=0 means noise areas in Rx signal; otherwise non noise areas in Rx signal.

In more detail, the normalized correlation between the echo replica Rx signal and the Tx signal is

    
    






  Corr_RxTx
  =
  
    
      
        ∑
        n
      
      ⁢
      
        
          Tx
          ⁡
          
            (
            n
            )
          
        
        ·
        
          Rx
          ⁡
          
            (
            n
            )
          
        
      
    
    
      
        
          [
          
            
              ∑
              n
            
            ⁢
            
              
                Tx
                ⁡
                
                  (
                  n
                  )
                
              
              2
            
          
          ]
        
        [
        
          
            ∑
            n
          
          ⁢
          
            
              Rx
              ⁡
              
                (
                n
                )
              
            
            2
          
        
        ]
      
    
  




The echo detection flag is determined like this:
EchoFlag=


    (
    (Corr_RxTx>0.98 AND DiffEchoLoss0<15 AND DiffEchoLoss1<45 AND CorrRxTx_sm>0.60) OR
    (Corr_RxTx>0.95 AND DiffEchoLoss0<13 AND DiffEchoLoss1<45 AND CorrRxTx_sm>0.65) OR
    (Corr_RxTx>0.90 AND DiffEchoLoss0<10 AND DiffEchoLoss1<15 AND CorrRxTx_sm>0.65))
    AND (VAD_Rx=1)


To determine the first stage scaling gain, the following symbols are defined:

    
    
        Gain1: first stage gain;
        Gain1_sm: smoothed Gain1;
        Min_Gain: minimum first stage gain;
        NoiseFlag=1 means noise areas in Tx signal; otherwise speech areas or echo areas in Tx signal.
    
    


The first stage scaling gain is determined like this,















Min_Gain = 0.4;



if (EchoFlag is true)



{



  if (NoiseFlag=0)



    Gain1 = 1;



  else



    Gain1 = MIN { 8 * Corr_RxTx_sm, 1 };



  Gain1_sm= 0.95 * Gain1_sm + 0.05 * Gain1;



  Gain1_sm = MAX{Gain1_sm, Min_Gain};



}










It is noted that SpeechFlag=1 means speech areas in Tx signal; otherwise non speech areas in Tx signal; the non echo detection flag NonEchoFlag is detected like this,

    
    
        NonEchoFlag=DiffEchoLoss0>36 AND DiffEchoLoss1>24 AND speech_flag=1 AND (Corr_RxTx_sm<0.35 OR VAD_Rx=0)
    
    


Finally, the second stage gain Gain2 is determined like this,















if (NonEchoFlag is true)



{



  Gain2 = MAX{ Gain2−0.2, Min_Gain };



}



else



{



  Gain2 = MIN{Gain2+0.2, Gain1_sm};



}










FIG. 10 illustrates a communication system 10 according to an embodiment of the present invention.
Communication system 10 has audio access devices 7 and 8 coupled to a network 36 via communication links 38 and 40. In one embodiment, audio access device 7 and 8 are voice over internet protocol (VOIP) devices and network 36 is a wide area network (WAN), public switched telephone network (PTSN) and/or the internet. In another embodiment, communication links 38 and 40 are wireline and/or wireless broadband connections. In an alternative embodiment, audio access devices 7 and 8 are cellular or mobile telephones, links 38 and 40 are wireless mobile telephone channels and network 36 represents a mobile telephone network.
The audio access device 7 uses a microphone 12 to convert sound, such as music or a person's voice into an analog audio input signal 28. A microphone interface 16 converts the analog audio input signal 28 into a digital audio signal 33 for input into an encoder 22 of a CODEC 20. The encoder 22 can include a speech enhancement block which reduces noise/interferences in the input signal from the microphone(s). The encoder 22 produces encoded audio signal TX for transmission to a network 26 via a network interface 26 according to embodiments of the present invention. A decoder 24 within the CODEC 20 receives encoded audio signal RX from the network 36 via network interface 26, and converts encoded audio signal RX into a digital audio signal 34. The speaker interface 18 converts the digital audio signal 34 into the audio signal 30 suitable for driving the loudspeaker 14.
In embodiments of the present invention, where audio access device 7 is a VOIP device, some or all of the components within audio access device 7 are implemented within a handset. In some embodiments, however, microphone 12 and loudspeaker 14 are separate units, and microphone interface 16, speaker interface 18, CODEC 20 and network interface 26 are implemented within a personal computer. CODEC 20 can be implemented in either software running on a computer or a dedicated processor, or by dedicated hardware, for example, on an application specific integrated circuit (ASIC). Microphone interface 16 is implemented by an analog-to-digital (A/D) converter, as well as other interface circuitry located within the handset and/or within the computer. Likewise, speaker interface 18 is implemented by a digital-to-analog converter and other interface circuitry located within the handset and/or within the computer. In further embodiments, audio access device 7 can be implemented and partitioned in other ways known in the art.
In embodiments of the present invention where audio access device 7 is a cellular or mobile telephone, the elements within audio access device 7 are implemented within a cellular handset. CODEC 20 is implemented by software running on a processor within the handset or by dedicated hardware. In further embodiments of the present invention, audio access device may be implemented in other devices such as peer-to-peer wireline and wireless digital communication systems, such as intercoms, and radio handsets. In applications such as consumer audio devices, audio access device may contain a CODEC with only encoder 22 or decoder 24, for example, in a digital microphone system or music playback device. In other embodiments of the present invention, CODEC 20 can be used without microphone 12 and speaker 14, for example, in cellular base stations that access the PTSN.
The speech processing for reducing noise/interference described in various embodiments of the present invention may be implemented in the encoder 22 or the decoder 24, for example. The speech processing for reducing noise/interference may be implemented in hardware or software in various embodiments. For example, the encoder 22 or the decoder 24 may be part of a digital signal processing (DSP) chip.
FIG. 11 illustrates a block diagram of a processing system that may be used for implementing the devices and methods disclosed herein. Specific devices may utilize all of the components shown, or only a subset of the components, and levels of integration may vary from device to device. Furthermore, a device may contain multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc. The processing system may comprise a processing unit equipped with one or more input/output devices, such as a speaker, microphone, mouse, touchscreen, keypad, keyboard, printer, display, and the like. The processing unit may include a central processing unit (CPU), memory, a mass storage device, a video adapter, and an I/O interface connected to a bus.
The bus may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, video bus, or the like. The CPU may comprise any type of electronic data processor. The memory may comprise any type of system memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), a combination thereof, or the like. In an embodiment, the memory may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs.
The mass storage device may comprise any type of storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus. The mass storage device may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, an optical disk drive, or the like.
The video adapter and the I/O interface provide interfaces to couple external input and output devices to the processing unit. As illustrated, examples of input and output devices include the display coupled to the video adapter and the mouse/keyboard/printer coupled to the I/O interface. Other devices may be coupled to the processing unit, and additional or fewer interface cards may be utilized. For example, a serial interface such as Universal Serial Bus (USB) (not shown) may be used to provide an interface for a printer.
The processing unit also includes one or more network interfaces, which may comprise wired links, such as an Ethernet cable or the like, and/or wireless links to access nodes or different networks. The network interface allows the processing unit to communicate with remote units via the networks. For example, the network interface may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas. In an embodiment, the processing unit is coupled to a local-area network or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, remote storage facilities, or the like.
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. For example, various embodiments described above may be combined with each other.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. For example, many of the features and functions discussed above can be implemented in software, hardware, or firmware, or a combination thereof. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.

## Claims

1. A method for cancelling or reducing acoustic echoes in speech or audio signal enhancement processing, the method comprising:
transmitting a microphone input signal wherein the microphone input signal contains one signal originating from one microphone or a mixed signal originating from multiple microphones, and the microphone input signal also contains acoustic echo signal played back by a loudspeaker and fed back to the microphone(s);
employing an acoustic echo cancellation algorithm to cancel or reduce the acoustic echo signal before the microphone input signal is transmitted, wherein the acoustic echo cancellation algorithm comprises an adaptive filter;
using a received reference signal to excite the adaptive filter wherein an output of the adaptive filter forms a replica signal of the acoustic echo signal;
reducing adaptively the replica signal by multiplying a gain (gain<1) with the replica signal to get a gained replica signal of the acoustic echo signal wherein the gain is smaller in speech area and/or double-talk area than echo area, wherein the speech area means desired speech signal, the double-talk area means desired speech signal mixed with echo signal, and the echo area means echo only signal without desired speech signal;
subtracting the gained replica signal from the microphone input signal to cancel or suppress the acoustic echo signal in the microphone input signal.

2. The method of claim 1, wherein the adaptive filter is updated in the echo area.

3. The method of claim 1, wherein the gain is determined differently for different class of the speech area, the double-talk area, or the echo area, wherein the classification of the speech area, the double-talk area, or the echo area is performed by using an open-loop approach and a closed-loop approach, wherein the open-loop approach comprises using an energy ratio between an energy of the microphone input signal and an energy of the received reference signal, and the closed-loop approach comprises using a normalized correlation between the microphone input signal and the replica signal.

4. A method for cancelling or reducing acoustic echoes in speech or audio signal enhancement processing, the method comprising:
transmitting a microphone input signal wherein the microphone input signal contains one signal originating from one microphone or a mixed signal originating from multiple microphones, and the microphone input signal also contains acoustic echo signal played back by a loudspeaker and fed back to the microphone(s);
employing an acoustic echo cancellation algorithm to cancel or reduce the acoustic echo signal before the microphone input signal is transmitted, wherein the acoustic echo cancellation algorithm comprises an adaptive filter;
using a received reference signal to excite the adaptive filter wherein an output of the adaptive filter forms a replica signal of the acoustic echo signal;
reducing adaptively the replica signal by multiplying gains (gain<1) with the replica signal to get a gained replica signal of the acoustic echo signal wherein the gains are determined in terms of echo class and non echo class, wherein the echo class means echo only signal without desired speech signal, the non echo class means desired speech signal without echo signal and the classification of the echo class and the non echo class is performed by using an open-loop approach and a closed-loop approach, wherein the open-loop approach comprises using an energy ratio between an energy of the microphone input signal and an energy of the received reference signal, and the closed-loop approach comprises using a normalized correlation between the microphone input signal and the replica signal;
subtracting the gained replica signal from the microphone input signal to cancel or suppress the acoustic echo signal in the microphone input signal.

5. The method of claim 4, wherein the adaptive filter is updated in the echo class.

6. The method of claim 4, wherein the energy ratio is the microphone input signal energy in dB minus the received reference signal energy in dB.

7. The method of claim 4, wherein the normalized correlation between the microphone input signal and the replica signal is




  Corr_RxTx
  =
  
    
      
        ∑
        n
      
      ⁢
      
        
          Tx
          ⁡
          
            (
            n
            )
          
        
        ·
        
          Rx
          ⁡
          
            (
            n
            )
          
        
      
    
    
      
        
          [
          
            
              ∑
              n
            
            ⁢
            
              
                Tx
                ⁡
                
                  (
                  n
                  )
                
              
              2
            
          
          ]
        
        [
        
          
            ∑
            n
          
          ⁢
          
            
              Rx
              ⁡
              
                (
                n
                )
              
            
            2
          
        
        ]
      
    
  




wherein Tx(n) is the microphone input signal and Rx(n) is the replica signal.

8. A speech signal processing apparatus comprising:
a processor; and
a computer readable storage medium storing programming for execution by the processor, the programming including instructions to:
transmit a microphone input signal wherein the microphone input signal contains one signal originating from one microphone or a mixed signal originating from multiple microphones, and the microphone input signal also contains acoustic echo signal played back by a loudspeaker and fed back to the microphone(s);
employ an acoustic echo cancellation algorithm to cancel or reduce the acoustic echo signal before the microphone input signal is transmitted, wherein the acoustic echo cancellation algorithm comprises an adaptive filter;
use a received reference signal to excite the adaptive filter wherein an output of the adaptive filter forms a replica signal of the acoustic echo signal;
reduce adaptively the replica signal by multiplying gains (gain<1) with the replica signal to get a gained replica signal of the acoustic echo signal wherein the gains are determined in terms of echo class and non echo class, wherein the echo class means echo only signal without desired speech signal, the non echo class means desired speech signal without echo signal and the classification of the echo class and the non echo class is performed by using an open-loop approach and a closed-loop approach, wherein the open-loop approach comprises using an energy ratio between an energy of the microphone input signal and an energy of the received reference signal, and the closed-loop approach comprises using a normalized correlation between the microphone input signal and the replica signal;
subtract the gained replica signal from the microphone input signal to cancel or suppress the acoustic echo signal in the microphone input signal.

9. The apparatus of claim 8, wherein the adaptive filter is updated in the echo class.

10. The apparatus of claim 8, wherein the energy ratio is the microphone input signal energy in dB minus the received reference signal energy in dB.

11. The apparatus of claim 8, wherein the normalized correlation between the microphone input signal and the replica signal is




  Corr_RxTx
  =
  
    
      
        ∑
        n
      
      ⁢
      
        
          Tx
          ⁡
          
            (
            n
            )
          
        
        ·
        
          Rx
          ⁡
          
            (
            n
            )
          
        
      
    
    
      
        
          [
          
            
              ∑
              n
            
            ⁢
            
              
                Tx
                ⁡
                
                  (
                  n
                  )
                
              
              2
            
          
          ]
        
        [
        
          
            ∑
            n
          
          ⁢
          
            
              Rx
              ⁡
              
                (
                n
                )
              
            
            2
          
        
        ]
      
    
  




wherein Tx(n) is the microphone input signal and Rx(n) is the replica signal.