# Patent

## Title
Communication apparatus capable of echo cancellation

## Abstract

A communication apparatus capable of echo cancellation is provided. The apparatus is configured to be provided with an input signal receiving interference. The input signal has a frequency range. The interference includes an echo component and a noise component. The apparatus has a first interference eliminator configured to reduce an echo component included in the input signal so as to produce an intermediate signal. The apparatus has a selector configured to select one of the input signal and the intermediate signal. The apparatus has a second interference eliminator configured to reduce at least one of a noise component and an echo component included in one of the input signal and the intermediate signal selected by the selector.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2005-219303 filed on Jul. 28, 2005, the entire contents of which are incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates to a communication apparatus capable of echo cancellation.
DESCRIPTION OF THE BACKGROUND
Various signal processing methods are known to improve quality of speech signals, e.g., by suppressing signals other than speech signals like acoustic echoes during a voice call. It is also known that these methods may attain higher performance if speech processing thereof is divided into a former stage and a latter stage.
A method of echo cancellation, called a first method, is disclosed in Japanese Patent Publication (Toroku), No. 3420705, which is divided into a former stage of processing and a latter stage of processing. According to the first method, residual signal is produced by canceling echo in the former stage, and output signal on send path is produced by suppressing echo included in the residual signal in the latter stage. A short-time spectral amplitude is estimated in the latter stage using the output signal on send path and the echoes are suppressed based on the above estimate.
According to the first method described above, in a case where linear echo cancellation (adaptive filtering) in the former stage and nonlinear echo cancellation in the latter stage are combined, a filter coefficient of the adaptive filter is diverted on an assumption that acoustic coupling level (echo path loss) of an echo path does not vary much upon a change of the echo path during a double talk. Therefore the echo may not be canceled adequately in a case where the adaptive filter shows poor estimating capability e.g., upon a change of the echo path during a double talk.
Another method of echo cancellation, called a second method, is disclosed in Japanese Patent Publication (Kokai), No. 2004-56453. In a former stage of processing of the second method, an adaptive filter cancels an echo component included in a sent speech input from a microphone. In a latter stage of processing of the second method, an echo or noise is suppressed based on an echo replica signal produced in the former stage.
According to the second method described above, capability to estimate an echo path depends upon capability of an adaptive filter of the former stage to estimate the echo path, as the second method always uses the echo replica signal. It is assumed that the adaptive filter can estimate an echo precisely in the former stage. If there is a steep change of the echo path or a change of echo path loss during a double talk, a residual echo is likely to remain in the output signal on send path, i.e., the output of the latter stage.
There may be a variation of echo path loss during double talk or a steep change of an echo path. Besides, performance of echo cancellation in a former stage of processing, whether linear processing or non-linear, may be inadequate. In such a case, according to the first and the second methods, accuracy of an echo level estimate or a noise level estimate in echo cancellation, noise suppression or a combination of them in a latter stage of processing may deteriorate due to a residual echo in an output signal of the former stage.
Due to the above deterioration, there may be a problem that performance of echo cancellation in the latter stage is inadequate, and so is performance of noise suppression in the latter stage. The above problem often occurs with echo suppression on a voice switch in the latter stage.
SUMMARY OF THE INVENTION
Accordingly, an advantage of the present invention is that a communication apparatus can improve echo cancellation performance or noise suppression performance, and that the apparatus can be robust against a variation of an echo path including variation of echo path loss.
To achieve the above advantage, one aspect of the present invention is to provide a communication apparatus capable of echo cancellation. The apparatus is configured to be provided with an input signal receiving interference. The input signal has a frequency range. The interference includes an echo component and a noise component. The apparatus has a first interference eliminator configured to reduce an echo component included in the input signal so as to produce an intermediate signal. The apparatus has a selector configured to select one of the input signal and the intermediate signal. The apparatus has a second interference eliminator configured to reduce at least one of a noise component and an echo component included in one of the input signal and the intermediate signal selected by the selector.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a communication apparatus of a first embodiment of the present invention.
FIG. 2 is a block diagram of an echo canceller included in the communication apparatus of the first embodiment.
FIG. 3 is a block diagram of an echo reduction unit included in the communication apparatus of the first embodiment.
FIG. 4 shows examples of how to set lower threshold of echo reduction gain of the echo reduction unit of the first embodiment.
FIG. 5 is a flow chart of operation of the communication apparatus of the first embodiment.
FIG. 6 is a flow chart of operation of the echo canceller of the first embodiment.
FIG. 7 is a flow chart of operation of the echo reduction unit of the first embodiment.
FIG. 8 is a block diagram of an echo reduction unit included in a communication apparatus of a variation of the first embodiment.
FIG. 9 is a block diagram of a communication apparatus of a second embodiment of the present invention.
FIG. 10 is a block diagram of a noise reduction unit included in the communication apparatus of the second embodiment.
FIG. 11 is a flow chart of operation of the communication apparatus of the second embodiment.
FIG. 12 is a flow chart of operation of the noise reduction unit of the second embodiment.
FIG. 13 is a block diagram of a communication apparatus of a third embodiment of the present invention.
FIG. 14 is a block diagram of an echo and noise reduction unit included in the communication apparatus of the third embodiment.
FIG. 15 is a flow chart of operation of the communication apparatus of the third embodiment.
FIG. 16 is a flow chart of operation of the echo and noise reduction unit of the third embodiment.
FIG. 17 is a block diagram of a communication apparatus of a fourth embodiment of the present invention.
FIG. 18 is a block diagram of an echo suppressor included in the communication apparatus of the fourth embodiment.
FIG. 19 is a flow chart of operation of the communication apparatus of the fourth embodiment.
FIG. 20 is a flow chart of operation of the echo suppressor of the fourth embodiment.
FIG. 21 is a block diagram of an echo reduction unit included in a communication apparatus of a fifth embodiment of the present invention.
FIG. 22 is a flow chart of operation of the communication apparatus of the fifth embodiment.
FIG. 23 is a flow chart of operation of the echo reduction unit of the fifth embodiment.
FIG. 24 is a block diagram of a communication apparatus of a sixth embodiment of the present invention.
FIG. 25 is a block diagram of an echo canceller included in the communication apparatus of the sixth embodiment.
FIG. 26 is a block diagram of an echo reduction unit included in the communication apparatus of the sixth embodiment.
FIG. 27 is a block diagram of an acoustic coupling level estimator included in the echo reduction unit of the sixth embodiment.
FIG. 28 is a flow chart of operation of the communication apparatus of the sixth embodiment.
FIG. 29 is a flow chart of operation of the echo canceller of the sixth embodiment.
FIG. 30 is a flow chart of operation of the echo reduction unit of the sixth embodiment.
FIG. 31 is a block diagram of an echo reduction unit included in a communication apparatus of a variation of the sixth embodiment.
FIG. 32 is a block diagram of an acoustic coupling level estimator included in the echo reduction unit of the variation of the sixth embodiment.
FIG. 33 is a block diagram of a communication apparatus of a seventh embodiment of the present invention.
FIG. 34 is a block diagram of an echo canceller included in the communication apparatus of the seventh embodiment.
FIG. 35 is a block diagram of an echo reduction unit included in the communication apparatus of the seventh embodiment.
FIG. 36 is a block diagram of an echo level estimator included in the echo reduction unit of the seventh embodiment.
FIG. 37 is a flow chart of operation of the communication apparatus of the seventh embodiment.
FIG. 38 is a flow chart of operation of the echo canceller of the seventh embodiment.
FIG. 39 is a flow chart of operation of the echo reduction unit of the seventh embodiment.
FIG. 40 is a block diagram of a communication apparatus of a variation of the seventh embodiment.



DETAILED DESCRIPTION OF THE INVENTION
1 First Embodiment of the Present Invention
A first embodiment of the present invention will be described with reference to FIGS. 1 to 7. FIG. 1 is a block diagram of a communication apparatus of the first embodiment of the present invention.
The apparatus of the first embodiment includes a communication unit 101 (hereinafter shortened as the COM 101), a delay unit 102 (hereinafter shortened as the DL 102), a digital-to-analog converter 103 (hereinafter shortened as the DAC 103), a received amplifier 104 (hereinafter shortened as the RA 104) and a speaker 105 (hereinafter shortened as the SP 105).
The apparatus of the first embodiment includes a microphone 106 (hereinafter shortened as the MP 106), a sent amplifier 107 (hereinafter shortened as the SA 107), an analog-to digital converter 108 (hereinafter shortened as the ADC 108) and a high-pass filter 109 (hereinafter shortened as the HPF 109). The apparatus of the first embodiment includes an echo canceller 110 (hereinafter shortened as the EC 110) and an echo reduction unit 111 (hereinafter shortened as the ER 111).
FIG. 2 is a block diagram of the EC 110 according to the first embodiment of the present invention. The EC 110 includes an adaptive filter 110a (hereinafter shortened as the ADF 110a), a subtractor 110b (hereinafter shortened as the ST 110b) and a double-talk detector 110c (hereinafter shortened as the DTD 110c).
The ADF 110a is coupled to the DL 102. The ST 110b is coupled to the HPF 109 and a frequency-domain transformer 111c (hereinafter shortened as the FT 111c) included in the ER 111. The DTD 110c is coupled to the FT 111c and a controller 111k (hereinafter shortened as the CTRL 111k) included in the ER 111. The FT 111c and the CTRL 111k will be explained later.
FIG. 3 is a block diagram of the ER 111 of the first embodiment of the present invention. The ER 111 includes a frequency-domain transformer 111a (hereinafter shortened as the FT 111a), a frequency-domain transformer 111b (hereinafter shortened as the FT 111b) and the FT 111c. The FT 111a is coupled to the DL 102. The FT 111b is coupled to the HPF 109. The FT 111c is coupled to the ST 110b. 
The ER 111 includes a received power evaluation unit 111d (hereinafter shortened as the POW 111d), a sent power evaluation unit 111e (hereinafter shortened as the POW 111e), and a residual power evaluation unit 111f (hereinafter shortened as the POW 111f). The ER 111 includes an acoustic coupling level estimator 111g (hereinafter shortened as the ACLE 111g), an echo level estimator 111h (hereinafter shortened as the ELE 111h) and an echo cancellation level estimator 111i (hereinafter shortened as the ECLE 111i).
The ER 111 includes a frequency-domain double-talk detector 111j (hereinafter shortened as the FDTD 111j), the CTRL 111k and a spectrum selector 111L (hereinafter shortened as the SEL 111L). The CTRL 111k is coupled to the DTD 110c. 
The ER 111 includes a memory of a gain value 111m (hereinafter shortened as the GTBL 111m), an echo reduction gain generator 111n (hereinafter shortened as the GCAL 111n), a signal suppressor 111o (hereinafter shortened as the SS 111o) and a frequency-domain inverse-transformer 111p (hereinafter shortened as the IFT 111p). The IFT 111p is coupled to the COM 101.
An operation of each portion of the apparatus of the first embodiment of the present invention will be described with reference to FIGS. 1 to 4.
Data received from an opposite end of a voice call are entered into the COM 101. The COM 101 decodes the received data and produces a digital signal in each frame, i.e., a determined period of time for processing. The COM 101 samples the digital signal with a sampling frequency fS [Hz] corresponding to N samples in one frame, where N is a positive integer. The COM 101 provides the DL 102 with the decoded digital signal as an input signal on received path (hereinafter shortened as the received input signal) x [n] (n=0, 1, . . . , N−1) on a frame-by-frame basis.
The COM 101 encodes an output signal on send path (hereinafter shortened as the sent output signal) s′ [n] (n=0, 1, . . . , N−1) provided by the IFT 111p so as to send a resultant set of sent data to the opposite end of the voice call.
The DL 102 is provided by the COM 101 with the received input signal x [n] on a frame-by-frame basis. After buffering the received input signal x [n], the DL 102 digitally delays the received input signal x [n] by D samples corresponding to a period of time determined in advance so as to produce a delayed received input signal x [n-D].
The DAC 103 converts the received input signal x [n] provided by the COM 101 from digital to analog so as to produce a received analog signal. The RA 104 amplifies the received analog signal provided by the DAC 103. The SP 105 converts the received analog signal provided by the RA 104 into a received sound x (t) that is emitted into sound space.
The MP 106 is configured to pick up a raw sound s (t). Actually, the raw spoken sound s (t) is acoustically coupled to the received sound x (t) to produce a coupled sound z (t), which is consequently picked up by the MP 106. The MP 106 converts the coupled sound z (t) into a sent analog signal.
The SA 107 amplifies the sent analog signal provided by the MP 106. The ADC 108 converts the sent analog signal provided by the SA 107 from analog to digital so as to produce a sent digital signal on a frame-by-frame basis.
The HPF 109 removes a dc-offset from the sent digital signal provided by the ADC 108 so as to produce an input signal on send path (hereinafter shortened as the sent input signal) z [n] (n=0, 1, . . . , N−1).
The EC 110 is provided by the HPF 109 with the sent input signal z [n] and provided by the DL 102 with the delayed received input signal x [n-D]. The EC 110 cancels an echo component from the sent input signal z [n] and produces a residual signal e [n] (n=0, 1, . . . , N−1) as a result of canceling the echo component. The EC 110 produces a double talk flag ECstate [n].
The ADF 110a is a transversal filter having variable filter coefficients h [i] of a length L, a positive integer (i=0, 1, . . . , L−1). The ADF 110a is provided by the DL 102 with the delayed received input signal x [n-D]. The ADF 110a is provided by the ST 110b with the residual signal one sample ago, e [n−1], the echo component of which has been canceled. The ADF 110a is provided by the DTD 110c with the double talk flag, ECstate [n].
Unless the double talk flag ECstate [n] indicates occurrence of double talk, the ADF 110a adaptively learns the filter coefficients h [i] for each sample n. If the double talk flag ECstate [n] indicates occurrence of double talk, the ADF 110a does not adaptively learn the filter coefficients h [i] for each sample n. The ADF 110a produces an echo replica signal y′ [n] (n=0, 1, . . . , N−1) by using the delayed received input signal x [n-D] and the filter coefficients h [i].
The ADF 110a controls a speed of learning the filter coefficients h [i] by using a variable or constant representing a value of step-size μT[n] (n=0, 1, . . . , N−1).
The ADF 110a may be based on a linear adaptive algorithm like a least-mean-square (LMS) algorithm, a normalized least-mean-square (NLMS) algorithm, an Affine projection or a recursive-least-squares (RLS) algorithm. The ADF 110a may be based on a nonlinear adaptive algorithm like a gradient-limited normalized least-mean-square (GL-NLMS) algorithm or an adaptive Volterra filter.
The ADF 110a is a time-domain type adaptive filter in the first embodiment. The ADF 110a may be a sub-band (band-division) type adaptive filter, i.e., a frequency-domain type adaptive filter.
The ST 110b is provided by the HPF 109 with the sent input signal z [n], and provided by the ADF 110a with the echo replica signal y′ [n]. The ST 110b cancels an echo component by subtracting the echo replica signal y′ [n] from the sent input signal z [n] for each sample n, and produces the residual signal e [n] as a result of canceling the echo component.
The DTD 110c is provided by the HPF 109 with the sent input signal z [n], provided by the DL 102 with the delayed received input signal x [n-D], and provided by the ST 110b with the residual signal one sample ago, e [n−1]. The DTD 110c determines whether double talk occurs for each sample n.
Specifically speaking, the DTD 110c evaluates a power level, an average or a peak, PZ [n] of the sent input signal z [n], a power level PX [n] of the delayed received input signal x [n-D] and a power level PE [n] of the residual signal one sample ago e [n−1] for each sample n (n=0, 1, . . . , N−1). The DTD 110c determines occurrence of double talk if one of following inequalities is true, i.e., PE [n]>λ[n]·PX [n] or PZ [n]>δ·PX [n].
In the above inequalities, λ [n] is a variable representing a value of echo path loss estimated for each sample n for which the ADF 110a has adaptively learned the filter coefficients h [i] (i=0, 1, . . . , L−1). The variable λ [n] decreases as a process of adaptive learning advances but increases if the process of adaptive learning is wrong. In addition, δ is a fixed value which may be preset from outside before the communication apparatus starts working.
The DTD 110c produces the double talk flag ECstate [n] indicating whether double talk occurs.
In this case, the EC 110 stores the filter coefficients h [i] (i=0, 1, . . . , L−1), the value of step-size μT[n], the value of echo path loss estimated λ [n], the double talk flag ECstate [n], the power level PX [n], the power level PZ [n], and the power level PE [n] (n=0, 1, . . . , N−1) in memory as an internal condition.
The EC 110 may not include the DTD 110c. In that event, the ADF 110a operates in an assumption that the double talk flag ECstate [n] indicates no occurrence of double talk, and so does the CTRL 111k. 
The ER 111 is provided by the DL 102 with the delayed received input signal x [n-D], provided by the HPF 109 with the sent input signal z [n], provided by the ST 110b with the residual signal e [n] and provided by the DTD 110c with the double talk flag ECstate [n]. The ER 111 performs an echo reduction process, i.e., cancels an echo component of at least one of the sent input signal z [n] and the residual signal e [n] so as to produce the sent output signal s′ [n] (n=0, 1, . . . , N−1) on a frame-by-frame basis as a result of the echo reduction.
The FT 111a converts the delayed received input signal x [n-D] provided by the DL 102 into a frequency domain representation by using a method of fast Fourier transform (FFT), etc., to produce a frequency spectrum of the received input signal, X [f, ω].
The FT 111b converts the sent input signal z [n] provided by the HPF 109 into a frequency domain representation by using a method of FFT, etc., to produce a frequency spectrum of the sent input signal, Z [f, ω]. The FT 111c converts the residual signal e [n] into a frequency domain representation by using a method of FFT, etc., to produce a frequency spectrum of the residual signal, E [f, ω].
Each of the FT 111a, the FT 111b and the FT 111c may use a method of Hamming windowing, a method of using a past frame, a method of zero padding or a method of overlapping as necessary. For instance, the FT 111a (or the FT 111b, the FT 111c) may gather a needed number of signal values for an FFT from a past frame and a present frame so as to window them with a Hamming window and perform the FFT.
The POW 111d is provided by the FT 111a with the frequency spectrum of the received input signal, X [f, ω], to produce a received power spectrum |X [f, ω]|2. As changing gradually with time, an acoustic coupling level can be estimated more accurately by using a smoothed value thereof than by using an instantaneous value thereof. Hence, the POW 111d produces a smoothed received power spectrum |XS [f, ω]|2 by using a value thereof one frame ago, |XS [f−1, ω]|2, e.g., according to Eq. 1. In Eq. 1, αX [ω] is preferably from 0.75 to 0.999.

|XS[f,ω]|2=αX[ω]·|X[f,ω]|2+(1−αX[ω])·|XS[f−1,ω]|2  (Eq. 1)

The POW 111e is provided by the FT 111b with the frequency spectrum of the sent input signal, Z [f, ω], to produce a sent power spectrum |Z [f, ω]|2. As changing gradually with time, an acoustic coupling level can be estimated more accurately by using a smoothed value thereof than by using an instantaneous value thereof. Hence, the POW 111e produces a smoothed sent power spectrum |ZS [f, ω]|2 using a value thereof one frame ago, |ZS [f−1, ω]|2, e.g., according to Eq. 2. In Eq. 2, αZ [ω] is preferably from 0.75 to 0.999.

|ZS[f,ω]|2=αZ[ω]·|Z[f,ω]|2+(1−αZ[ω])·|ZS[f−1,ω]|2  (Eq. 2)

The POW 111f is provided by the FT 111c with the frequency spectrum of the residual signal, E [f, ω], to produce a residual power spectrum |E [f, ω]|2. As changing gradually with time, an acoustic coupling level can be estimated more accurately by using a smoothed value thereof than by using an instantaneous value thereof. Hence, the POW 111f produces a smoothed residual power spectrum |ES [f, ω]|2 by using a value thereof one frame ago, |ES [f−1, ω]|2, e.g., according to Eq. 3. In Eq. 3, αE [ω] is preferably from 0.75 to 0.999.

|ES[f,ω]|2=αE[ω]·|E[f,ω]|2+(1−αE[ω])·|ES[f−1,ω]|2  (Eq. 3)

The ACLE 111g is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2, and provided by the FDTD 111j with a frequency-domain double talk flag ERstate [f, ω].
The ACLE 111g produces an acoustic coupling level |H [f, ω]|2 for each frequency bin ω, e.g., according to Eq. 4. As shown in Eq. 4, the ACLE 111g does not use |ES [f, ω]|2 based on the residual signal but does use |ZS [f, ω]|2 based on the sent input signal so as to avoid being affected by echo canceling performance of the EC 110. The communication apparatus of the first embodiment can thus reduce a load of operation and a memory size needed for storing related parameters in comparison with another communication apparatus described later (see fifth embodiment of the present invention).




  
    
      
        
          
            
            
              H
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                
                  Z
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          4
        
        )
      
    
  




The ACLE 111g produces an acoustic coupling level |HS [f, ω]|2 smoothed by using a value thereof one frame ago according to Eq. 5, where αH [ω] is preferably from 0.03 to 0.99.

|HS[f,ω]|2=αH[ω]·|H[f,ω]|2+(1−αH[ω])·|HS[f−1,ω]|2  (Eq. 5)

A relatively large value is given to αH [ω], e.g. for five seconds after a voice call begins so that the acoustic coupling level |HS [f, ω]|2 may be quickly updated for that while. As the acoustic coupling level is thus initialized, the communication apparatus can prevent its echo cancellation level from decreasing for that while.
If the frequency-domain double talk flag ERstate [f, ω] provided by the FDTD 111j indicates occurrence of double talk, however, the ACLE 111g uses a value of the acoustic coupling level one frame ago, |HS [f−1, ω]|2, without updating the acoustic coupling level so as to maintain ability to track variation of an echo path quickly and to avoid producing the acoustic coupling level for a frequency bin where the double talk occurs.
So does the ACLE 111g if the acoustic coupling level steeply changes, i.e., |HS [f, ω]|2>βH [ω]·|HS [f−1, ω]|2, or if amplitude of the received input signal is not great enough, i.e., |XS [f, ω] |2<βX [ω], where βH [ω] is preferably from 0.9 to 30, and βX [ω] is preferably from 30 to 40 dB.
As occurrence of double talk may cause a very steep change of the acoustic coupling level, the communication apparatus can avoid producing a sent speech signal (interference eliminator a speech signal on send path) of low quality by not updating the acoustic coupling level.
The ELE 111h is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, and provided by the ACLE 111g with the smoothed acoustic coupling level |HS [f, ω]|2. According to Eq. 6, the ELE 111h estimates a level of an echo included in the frequency spectrum of the sent input signal, Z [f, ω], for each frequency bin ω. In Eq. 6, let |Y [f, ω]|2 be the echo level estimated by the ELE 111h. 

|Y[f,ω]|2=|HS[f,ω]|2·|XS[f,ω]|2  (Eq. 6)

A signal as a result of echo reduction using an instantaneous echo level like |Y [f, ω]|2 is not as natural to hear as a signal as a result of echo reduction using a smoothed value of the echo level. Hence, the ELE 111h produces an echo level |YS [f, ω]|2 smoothed by using a value thereof one frame ago according to Eq. 7, where αY[ω] is preferably from 0.7 to 0.99

|YS[f,ω]|2=αY[ω]·|Y[f,ω]|2+(1−αY[ω])·|YS[f−1,ω]|2  (Eq. 7)

The ECLE 111i is provided by the POW 111e with the sent power spectrum |Z [f, ω]|2, and provided by the POW 111f with the residual power spectrum |E [f, ω]|2. The ECLE 111i produces an echo cancellation level of the EC 110 for each frequency bin ω by comparing those power spectra, e.g., according to Eq. 8. In Eq. 8, let ECL [f, ω] be the echo cancellation level of the EC 110. The ECLE 111i may use a difference between the sent power spectrum and the residual power spectrum.




  
    
      
        
          ECL
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              
              
                E
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                Z
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          8
        
        )
      
    
  




The FDTD 111j is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2, and provided by the ELE 111h with an echo level one frame ago, |Y [f−1, ω]|2. The FDTD 111j determines for each frequency bin ω whether an inequality in Eq. 9 is true.
In Eq. 9, a distance between the residual power spectrum and the echo level substitutes a power spectrum obtained after echo reduction by the ER 111. The FDTD 111j determines whether the above distance is less enough than the received power spectrum.
If a value on a left-hand side of Eq. 9 is greater than a threshold βY [ω] on a right-hand side of Eq. 9, i.e., Eq. 9 is true, the FDTD 111j determines occurrence of double talk. Unless Eq. 9 is true, the FDTD 111j determines no occurrence of double talk. The FDTD 111j produces the frequency-domain double talk flag ERstate [f, ω] indicating whether double talk occurs.
The communication apparatus can thus detect double talk in the frequency domain with a reduced load of operation. The ER 111 may not include the FDTD 111j as a matter of course. In that case, the ACLE 111g operates in an assumption that the frequency-domain double talk flag ERstate [f, ω] indicates no occurrence of double talk, and so does the CTRL 111k. In Eq. 9, βY [ω] is preferably from 1.0 to 20.




  
    
      
        
          
            
            
              
                
                  
                  
                    
                      E
                      S
                    
                    ⁡
                    
                      [
                      
                        f
                        ,
                        ω
                      
                      ]
                    
                  
                  
                
                2
              
              -
              
                
                  
                  
                    Y
                    ⁡
                    
                      [
                      
                        
                          f
                          -
                          1
                        
                        ,
                        ω
                      
                      ]
                    
                  
                  
                
                2
              
            
            
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
        >
        
          
            β
            Y
          
          ⁡
          
            [
            ω
            ]
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          9
        
        )
      
    
  




The CTRL 111k is provided by the ECLE 111i with the echo cancellation level ECL [f, ω], provided by the DTD 110c with the double talk flag ECstate [n], and provided by the FDTD 111j with the frequency-domain double talk flag ERstate [f, ω]. For each frequency bin ω, the CTRL 111k determines whether double talk occurs and whether the echo cancellation level of the EC 110 is inadequate. For each frequency bin ω, the CTRL 111k produces a control flag ERcontrol1 [f, ω] indicating whether double talk occurs and whether the echo cancellation level of the EC 110 is inadequate. For each frequency bin ω, the CTRL 111k produces a control flag ERcontrol2 [f, ω] indicating whether double talk occurs and whether the echo cancellation level of the EC 110 is inadequate.
The CTRL 111k determines whether double talk occurs for each frequency bin ω by checking whether the frequency-domain double talk flag ERstate [f, ω] provided by the FDTD 111j indicates occurrence of double talk, and by checking whether the double talk flag ECstate [n] provided by the DTD 110c indicates at least one sample of double talk for a present frame. The CTRL 111k determines occurrence of double talk for each frequency bin ω if one of the frequency-domain double talk flag ERstate [f, ω] and the double talk flag ECstate [n] indicates occurrence of double talk.
As the echo cancellation level of the EC 110 is likely to be inadequate caused by variation of an echo path, the CTRL 111k can precisely detect a frequency bin where double talk occurs and the echo cancellation level of the EC 110 is inadequate by checking the double talk flag ECstate [n] provided by the DTD 110c included in the EC 110.
The CTRL 111k determines that the echo cancellation level of the EC 110 is inadequate for each frequency bin ω if a following inequality is true, i.e., ECL [f, ω]>βZ1 [ω], where βZ1 [ω] is preferably from −15 dB to 8 dB. In the first embodiment, βZ1 [ω] is assumed to be 0 dB hereafter.
It is unlikely that the echo cancellation level of the EC 110 is inadequate in a single frequency bin, i.e., variance of the echo cancellation performance of the EC 110 is time-dependent rather than being frequency-dependent. Hence, the CTRL 111k takes a parameter count into account so as to precisely detect a frequency bin where the echo cancellation level of the EC 110 is inadequate. The parameter count represents for how many frequency bins per one frame a following inequality is true, i.e., ECL [f, ω]>βZ1 [ω].
The CTRL 111k thus determines that the echo cancellation level of the EC 110 is inadequate if both of following inequalities are true, i.e., ECL [f, ω]>βZ1 [ω] and count>βC1, where βC1 is preferably from 10 to 40 percent as many as all frequency bins. Such a way of determination can be more robust against a difference of loudness between the received input signal and the sent input signal than a way of determination on a band-by-band basis only. The CTRL 111k can precisely detect a frame where the echo cancellation level is inadequate.
Combining the determination of occurrence of double talk for each frequency bin ω, the CTRL 111k may detect a frequency bin where double talk occurs and the echo cancellation level of the EC 110 is inadequate so as to produce the control flag ERcontrol1 [f, ω].
Taking a parameter count into account that represents for how many frequency bins per one frame a following inequality is true, i.e., ECL [f, ω]>βZ2 [ω], the CTRL 111k determines that the echo cancellation level is inadequate if following inequalities are true, i.e., ECL [f, ω]>βZ2 [ω] and count>βC2. In the above inequalities, βZ2 [ω] is preferably from −15 dB to 8 dB, and βC2 is preferably from 10 to 40 percent as many as all frequency bins.
In the same way, combining the determination of occurrence of double talk for each frequency bin ω, the CTRL 111k may detect a frequency bin where double talk occurs and the echo cancellation level of the EC 110 is inadequate so as to produce the control flag ERcontrol2 [f, ω].
The SEL 111L is provided by the FT 111b with the frequency spectrum Z [f, ω] of the sent input signal, provided by the FT 111c with the frequency spectrum E [f, ω] of the residual signal, and provided by the CTRL 111k with the control flag ERcontrol1 [f, ω] indicating whether double talk occurs and whether the echo cancellation level of the EC 110 is inadequate for each frequency bin ω. The SEL 111L selects one of the frequency spectrum Z [f, ω] of the sent input signal and the frequency spectrum E [f, ω] of the residual signal.
Specifically speaking, the SEL 111L selects the frequency spectrum Z [f, ω] of the sent input signal for a frequency bin where the control flag ERcontrol1[f, ω] indicates occurrence of double talk and indicates that the echo cancellation level of the EC 110 is inadequate. The SEL 111L selects the frequency spectrum E [f, ω] of the residual signal for a frequency bin other than the above.
The ER 111 can thus operate separately from the EC 110 for a frequency bin where the echo cancellation level of the EC 110 is inadequate i.e., accuracy of estimation of the EC 110 is inadequate.
The GTBL 111m holds a preset parameter γ [ω] for controlling a level of nonlinear echo cancellation and outputs the parameter γ [ω] which is preferably from 1.0 to 2.0.
The GCAL 111n is provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2, provided by the ELE 111h with the smoothed echo level |YS [f, ω]|2, provided by the GTBL 111m with the parameter γ [ω], provided by the ECLE 111i with the echo cancellation level ECL [f, ω] and provided by the CTRL 111k with the control flag ERcontrol2 [f, ω] indicating for each frequency bin ω whether double talk occurs and whether the echo cancellation level of the EC 110 is inadequate. The GCAL 111n produces an echo reduction gain G [f, ω].
Specifically speaking, for a frequency bin where the control flag ERcontrol2 [f, ω] indicates occurrence of double talk and indicates that the echo cancellation level of the EC 110 is inadequate, the GCAL 111n produces the echo reduction gain G [f, ω] by using a Wiener filter method according to Eq. 10. The ER 111 can thus perform echo reduction separately from the EC 110.




  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          (
          
            1
            -
            
              
                γ
                ⁡
                
                  [
                  ω
                  ]
                
              
              ·
              
                
                  
                    
                    
                      
                        Y
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
                
                  
                    
                    
                      
                        Z
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
              
            
          
          )
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          10
        
        )
      
    
  




For a frequency bin other than the above, it may be assumed that the echo cancellation level of the EC 110 is adequate and the EC 110 works properly. The GCAL 111n corrects an echo reduction level of the ER 111 so that it increases by using the echo cancellation level ECL [f, ω] of the EC 110. The GCAL 111n produces the echo reduction gain G [f, ω] according to Eq. 11. The communication apparatus of the first embodiment can thus reduce a load of operation and a memory size needed for storing related parameters in comparison with another communication apparatus described later (see fifth embodiment of the present invention).




  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            (
            
              1
              -
              
                
                  γ
                  ⁡
                  
                    [
                    ω
                    ]
                  
                
                ·
                
                  
                    
                      
                      
                        
                          Y
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                  
                    
                      
                      
                        
                          Z
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                
              
            
            )
          
          ·
          
            ECL
            ⁡
            
              [
              
                f
                ,
                ω
              
              ]
            
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          11
        
        )
      
    
  




The GCAL 111n controls and keeps the echo reduction gain G [f, ω] above a determined lower threshold so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo reduction and from suppressing background noise intermittently.
Shown are examples of how to set the lower threshold in FIG. 4. According to a solid bathtub curve or a dot-and-dash bathtub curve depicted in FIG. 4, the lower threshold is set from 0.04 to 0.12 in a lowest band (from zero to fS/16 [Hz]), set from 0.01 to 0.05 in a middle band (from fS/8 to 3fS/8 [Hz]), and set from 0.04 to 0.12 in a highest band (from 7fS/16 to fS/2 [Hz]).
The bathtub curves of the lower threshold help the GCAL 111n cancel an echo component which may remain in the lowest or the highest band and could be offensive to hear. The bathtub curves of the lower threshold make a produced sound easy to hear. The lower threshold may be set according to a dotted step line e.g., as shown in FIG. 4.
The GCAL 111n may evaluate a level of background noise for each frequency bin ω by using a level of the sent input signal z [n] or the residual signal e [n] in an interval not being active-voice. The GCAL 111n may control and keep the echo reduction gain G [f, ω] above the level of the background noise so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo reduction.
The GCAL 111n may smooth the echo reduction gain G [f, ω] in the frequency domain according to Eq. 12-1 or Eq. 12-2 so as to prevent the communication apparatus from producing a sent speech signal of low quality. In these equations, εj may be [0.1, 0.2, 0.4, 0.2, 0.1], and ηj may be [0.1, 0.2, 0.4, 0.8, 0.4, 0.2, 0.1] for instance.




  
    
      
        
          
            G
            S
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              
                
                  ɛ
                  j
                
                ·
                G
              
              ⁢
              
                {
                
                  f
                  ,
                  
                    ω
                    +
                    j
                    -
                    3
                  
                
                ]
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              ɛ
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            12
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            G
            S
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              
                η
                j
              
              ·
              
                G
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      4
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              η
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            12
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The SS 111o is provided by the SEL 111L with the frequency spectrum selected thereby and provided by the GCAL 111n with the echo reduction gain G [f, ω]. The SS 111o suppresses an echo of the frequency spectrum provided by the SEL 111L, and produces a frequency spectrum of the sent output signal, S′ [f, ω], according to Eq. 13-1 or Eq. 13-2.

S′[f,ω]=G[f,ω]·Z[f,ω]  (Eq. 13-1)

S′[f,ω]=G[f,ω]·E[f.ω]  (Eq. 13-2)

The sent output signal can be smooth to hear no matter which of the frequency spectrum of the sent input signal, Z [f, ω], and the frequency spectrum of the residual signal, E [f, ω], is selected by the SEL 111L, as the EC 110 operates in the time domain and produces no difference in terms of a phase spectrum.
The control flag ERcontrol1 [f, ω] provided from the CTRL 111k to the SEL 111L may be different from the control flag ERcontrol2 [f, ω] provided from the CTRL 111k to the GCAL 111n. For instance, a condition in which the control flag ERcontrol2 [f, ω] indicates occurrence of double talk and indicates that the echo cancellation level is inadequate may be set broad to cover a condition in which the control flag ERcontrol1 [f, ω] indicates occurrence of double talk and the echo cancellation level is inadequate by setting values of the parameters of the CTRL 111k, βZ1 [ω] and βC1, different from values of the parameters of the CTRL 111k, βZ2 [ω] and βC2. The communication apparatus can avoid producing a sent speech signal of low quality by using the two control flags in a case where the echo reduction gain is smoothed.
The IFT 111p is provided by the SS 111o with the frequency spectrum S′ [f, ω], and produces the sent output signal s′ [n] by using, e.g., a method of inverse fast Fourier transform (IFFT). The IFT 111p removes overlapping by using s′ [n] of a past frame taking windowing of the FT 111b and the FT 111c into account.
A flow of operation of the communication apparatus of the first embodiment will be described with reference to FIGS. 5 to 7. FIG. 5 is a flow chart showing the flow as a whole. FIG. 6 is a flow chart of operation of the EC 110. FIG. 7 is a flow chart of operation of the ER 111.
In FIG. 5, the COM 101 establishes a communication link upon a call-in or a call request, and the COM 101 initializes parameters, buffers and so on (step S1001). After the communication link is established, a bidirectional call may begin between the communication apparatus and an opposite end. After the bidirectional call begins, a decoder (not shown in FIGS. 1 to 3) included in the COM 101 decodes an incoming signal on a frame-by-frame basis and obtains the received input signal x [n]. Meanwhile, the sent input signal z [n] is obtained via the MP 106 (step S1002).
The HPF 109 removes an offset of the sent input signal z [n] (step S1003). The DL 102 temporarily holds and delays the received input signal x [n] (step S1004). The EC 110 is provided with the delayed received input signal x [n-D] and the offset-removed sent input signal z [n], and performs echo cancellation (step S1005).
The ER 111 is provided with the delayed received input signal x [n-D] and the offset-removed sent input signal z [n], and provided by the EC 110 with the residual signal e [n] produced as a result of the echo cancellation. The ER 111 performs echo reduction, i.e., a nonlinear method of echo cancellation (step S1006). The steps S1002-S1006 are repeated until an end of the call (step S1007).
The flow of echo cancellation process of the EC 110 shown in FIG. 6 will be described as follows. At first, the DTD 110c detects occurrence of double talk (step S1101). The ADF 110a performs adaptive filtering according to the double talk flag ECstate [n] (step S1102). The ST 110b subtracts the echo replica signal y′ [n] produced by the ADF 110a from the sent input signal z [n] so as to produce the residual signal e [n]. The EC 110 then ends the echo cancellation process.
The flow of echo reduction process of the ER 111 shown in FIG. 7 will be described as follows. At first, the FT 111a updates a delayed received signal frame, a buffer for converting a received input signal into a frequency domain representation (step S1201r). The FT 111b updates a sent signal frame, a buffer for converting a sent input signal into a frequency domain representation (step S1201e). The FT 111c updates a residual signal frame, a buffer for converting a residual signal into a frequency domain representation (step S1201s).
The FT 111a then converts the delayed received input signal x [n-D] into the frequency domain, and produces the frequency spectrum of the received input signal, X [f, ω] (step S1202r). The POW 111d produces the received power spectrum |X [f, ω]|2 and the smoothed received power spectrum |XS [f, ω]|2 (step S 1203r).
The FT 111b converts the sent input signal z [n] into the frequency domain, and produces the frequency spectrum of the sent input signal, Z [f, ω] (step S1202s). The POW 111e produces the sent power spectrum |Z [f, ω]|2 and the smoothed sent power spectrum |ZS [f, ω]|2 (step S 1203s).
The FT 111c converts the residual signal e [n] into the frequency domain, and produces the frequency spectrum of the residual signal, E [f, ω] (step S1202e). The POW 111f produces the residual power spectrum |E [f, ω]|2 and the smoothed residual power spectrum |ES [f, ω]|2 (step S 1203e).
The FDTD 111j outputs the frequency-domain double talk flag ERstate [f, ω]. The ACLE 111g is provided with the smoothed received power spectrum |XS [f, ω]|2, the smoothed sent power spectrum |ZS [f, ω]|2 and the frequency-domain double talk flag ERstate [f, ω] so as to produce the smoothed acoustic coupling level |HS [f, ω]|2 (step S1204). Being provided with the smoothed acoustic coupling level |HS [f, ω]|2 and the smoothed received power spectrum |XS [f, ω]|2, the ELE 111h estimates the smoothed echo level |YS [f, ω]|2 included in the sent input signal (step S1205).
Being provided with the sent power spectrum |Z [f, ω]|2 and the residual power spectrum |E [f, ω]|2, the ECLE 111i estimates the echo cancellation level ECL [f, ω] of the EC 110 (step S1206). The CTRL 111k determines whether double talk occurs and whether the echo cancellation level of the EC 110 is adequate, and produces the control flags ERcontrol1 [f, ω] and ERcontrol2 [f, ω] (step S1207).
The GCAL 111n is provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2, provided by the ELE 111h with the smoothed echo level |YS [f, ω]|2, provided by the GTBL 111m with the parameter γ [ω], provided by the ECLE 111i with the echo cancellation level ECL [f, ω], and provided by the CTRL 111k with the control flag ERcontrol2 [f, ω].
For a frequency bin where double talk occurs and the echo cancellation level of the EC 110 is inadequate, the GCAL 111n produces the echo reduction gain G [f, ω] by using one method of suppression. For a frequency bin other than the above, the GCAL 111n produces the echo reduction gain G [f, ω] by using another method of suppression. The GCAL 111n controls and keeps the echo reduction gain G [f, ω] above a determined lower threshold (step S1208).
The SEL 111L is provided by the CTRL 111k with the control flag ERcontrol1 [f, ω]. For a frequency bin where double talk occurs and the echo cancellation level of the EC 110 is inadequate, the SEL 111L selects the frequency spectrum of the sent input signal, Z [f, ω]. For another frequency bin other than the above, the SEL 111L selects the frequency spectrum of the residual signal, E [f, ω] (step S1209).
The SS 111o is provided with the frequency spectrum selected by the SEL 111L, and provided by the GCAL 111n with the echo reduction gain G [f, ω] so as to suppress an echo of the selected frequency spectrum (step S1210). The IFT 111p then inversely converts the echo suppressed frequency spectrum of the sent output signal, S′ [f, ω], provided by the SS 111o into a time domain representation (step S1211) and ends the echo reduction process.
The ER 111 thus provides an encoder (not shown in FIGS. 1-3) included in the COM 101 with the sent output signal s′ [n]. The encoder encodes the sent output signal s′ [n] on a frame-by-frame basis so as to produce a set of sent data. The COM 101 sends the sent data to the opposite end of the call.
In the above description, the ER 111 is of a frequency domain type performing FFT and operates on a frequency bin-by-frequency bin basis. A method of grouping the frequency bins for the FFT and operating on a group-by-group basis may be implemented. The ER 111 may be implemented as a frequency domain type like a bandwidth division filter like a filter bank.
During variation of echo path loss when double talk occurs, the echo cancellation level of the EC 110 may be inadequate as the residual signal e [n] exceeds the sent input signal z [n] due to the echo cancellation of the EC 110.
In that event, according to the first embodiment described above, the ECLE 111i and the CTRL 111k may detect a frequency bin where the echo cancellation level of the EC 110 is inadequate. The SEL 111L and the GCAL 111n, each included in the ER 111, can vary weighting put on the EC 110 and put on the ER 111 for each frequency bin so that the communication apparatus of the first embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
1A Variation of the First Embodiment
A variation of the first embodiment will be described as follows. A communication apparatus of the variation of the first embodiment includes an echo reduction unit 1112 (hereinafter shortened as the ER 1112) instead of the ER 111 of the first embodiment. FIG. 8 is a block diagram of the ER 1112. The ER 1112 includes an acoustic coupling level estimator 111g2 (hereinafter shortened as the ACLE 111g2) instead of the ACLE 111g of the ER 111. The ER 1112 includes an echo reduction gain generator (hereinafter shortened as the GCAL 111n2) instead of the GCAL 111n of the ER 111.
In the ER 1112, the POW 111e provides only the ECLE 111i with its output. In the ER 1112, the POW 111f provides the ACLE 111g2 and the GCAL 111n2 in addition to the ECLE 111i and the FDTD 111j with its output. Each of remaining portions of the ER 1112 is a same as the corresponding portion of the ER 111 given the same reference numeral, and its explanation is omitted.
The ACLE 111g2 is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2, and provided by the FDTD 111j with the frequency-domain double talk flag ERstate [f, ω]. The ACLE 111g2 produces an acoustic coupling level |H [f, ω]|2 by using the smoothed received power spectrum |XS [f, ω]|2 and the smoothed residual power spectrum |ES [f, ω]|2 according to Eq. 14.




  
    
      
        
          
            
            
              H
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                
                  E
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          14
        
        )
      
    
  




The ACLE 111g2 produces an acoustic coupling level |HS [f, ω]|2 smoothed by using a value thereof one frame ago according to Eq. 15, where a value of αH [ω] is preferably from 0.03 to 0.99.

|HS[f,ω]|2=αH[ω]·|H[f,ω]|2+(1−αH[ω])·|HS[f−1,ω]|2  (Eq. 15)

The GCAL 111n2 is provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2, provided by the ELE 111h with the smoothed echo level |YS [f, ω]|2, provided by the GTBL 111m with the parameter γ [ω], provided by the ECLE 111i with the echo cancellation level ECL [f, ω], and provided by the CTRL 111k with the control flag ERcontrol2 [f, ω] indicating for each frequency bin whether double talk occurs and whether the echo cancellation level of the EC 110 is inadequate. The GCAL 111n2 produces an echo reduction gain G [f, ω].
Specifically speaking, for a frequency bin where the control flag ERcontrol2 [f, ω] indicates occurrence of double talk and indicates that the echo cancellation level of the EC 110 is inadequate, the GCAL 111n2 corrects the echo reduction gain G [f, ω] by using the echo cancellation level. ECL [f, ω] of the EC 110 according to Eq. 16 so that the echo reduction gain of the ER 1112 based on Eq. 10 divided by the echo cancellation level of the EC 110 equals G [f, ω].




  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            (
            
              1
              -
              
                
                  γ
                  ⁡
                  
                    [
                    ω
                    ]
                  
                
                ·
                
                  
                    
                      
                      
                        
                          Y
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                  
                    
                      
                      
                        
                          E
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                
              
            
            )
          
          ·
          
            (
            
              1
              
                ECL
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
            
            )
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          16
        
        )
      
    
  




For a frequency bin other than the above, the GCAL 111n2 produces the echo reduction gain G [f, ω] by using a Wiener filter method according to Eq. 17-1. Instead, in an assumption that the EC 110 works properly, the GCAL 111n2 may correct the echo reduction gain G [f, ω] by using the echo cancellation level ECL [f, ω] of the EC 110 according to Eq. 17-2 so that the echo cancellation level of the ER 111 increases.




  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          (
          
            1
            -
            
              
                γ
                ⁡
                
                  [
                  ω
                  ]
                
              
              ·
              
                
                  
                    
                    
                      
                        Y
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
                
                  
                    
                    
                      
                        E
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
              
            
          
          )
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            17
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            (
            
              1
              -
              
                
                  γ
                  ⁡
                  
                    [
                    ω
                    ]
                  
                
                ·
                
                  
                    
                      
                      
                        
                          Y
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                  
                    
                      
                      
                        
                          E
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                
              
            
            )
          
          ·
          
            ECL
            ⁡
            
              [
              
                f
                ,
                ω
              
              ]
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            17
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




According to the variation of the first embodiment described above, a series connection of the EC 110 and the ER 111 is likely to be selected for a use where variation of echo path loss is little and echo cancellation performance of the EC 110 is stable so that the communication apparatus can avoid excessive echo cancellation and can avoid producing a sent speech signal of low quality.
2 Second Embodiment of the Present Invention
A second embodiment of the present invention will be described with reference to FIGS. 9-12. FIG. 9 is a block diagram of a communication apparatus of the second embodiment of the present invention. As shown in FIG. 9, the communication apparatus of the second embodiment includes a noise reduction unit 211 (hereinafter shortened as the NR 211) instead of the ER 111 of the first embodiment.
Each of remaining portions of the communication apparatus of the second embodiment is a same as the corresponding one of the communication apparatus of the first embodiment given the same reference numeral, and its explanation is omitted.
The NR 211 will be explained with reference to FIG. 10. Each of portions of the NR 211 being a same as the corresponding one of the ER 111 is given the same reference numeral, and its explanation is omitted.
FIG. 10 is a block diagram of the NR 211 of the communication apparatus of the second embodiment. The NR 211 includes the FT 111b, the FT 111c, the POW 111e, the POW 111f, the ECLE 111i and the IFT 111p. The NR 211 includes a controller 211k (hereinafter shortened as the CTRL 211k), a spectrum selector 211L (hereinafter shortened as the SEL 211L), a noise reduction gain generator 211n (hereinafter shortened as the GCAL 211n), a signal suppressor 211o (hereinafter shortened as the SS 211o) and a noise level estimator 211q (hereinafter shortened as the NLE 211q).
The NR 211 is provided by the HPF 109 with the sent input signal z [n] and provided by the ST 110b with the residual signal e [n]. The NR 211 performs a noise reduction process, i.e., suppresses a noise component of at least one of the sent input signal z [n] and the residual signal e [n] so as to produce a sent output signal s′ [n] (n=0, 1, . . . , N−1) on a frame-by-frame basis as a result of the noise reduction.
The NLE 211q is provided by the FT 111b with the sent frequency spectrum Z [f, ω] and provided by the FT 111c with the residual frequency spectrum E [f, ω]. The NLE 211q measures a component of the above spectra in an interval not being active-voice. The NLE 211q estimates a noise level, |NZ [f, ω]|2, included in the sent frequency spectrum Z [f, ω] for each frequency bin ω. The NLE 211q estimates a noise level, |NE [f, ω]|2, included in the residual frequency spectrum E [f, ω] for each frequency bin ω.
The CTRL 211k is provided by the ECLE 111i with the echo cancellation level ECL [f, ω]. Checking whether the echo cancellation level of the EC 110 is inadequate for each frequency bin ω, the CTRL 211k produces a control flag NRcontrol [f, ω] indicating whether the echo cancellation level of the EC 110 is inadequate for each frequency bin ω.
The CTRL 211k determines that the echo cancellation level of the EC 110 is inadequate if both of following inequalities are true, i.e., ECL [f, ω]>βZ [ω] and count>βC, where βZ [ω] is preferably from −15 to 8 dB, the parameter count represents for how many frequency bins per one frame a following inequality is true, i.e., ECL [f, ω]>βZ [ω], and βC is preferably from 10 to 40 percent as many as all frequency bins. In the second embodiment, βZ [ω] is assumed to be 0 dB hereafter.
The SEL 211L is provided by the FT 111b with the frequency spectrum of the sent input signal Z [f, ω], provided by the FT 111c with the frequency spectrum of the residual signal E [f, ω], and provided by the CTRL 211k with the control flag NRcontrol [f, ω] indicating whether the echo cancellation level of the EC 110 is inadequate. The SEL 211L selects one of the frequency spectrum of the sent input signal Z [f, ω] and the frequency spectrum of the residual signal E [f, ω].
Specifically speaking, the SEL 211L selects the frequency spectrum Z [f, ω] of the sent input signal for a frequency bin where the control flag NRcontrol [f, ω] indicates that the echo cancellation level of the EC 110 is inadequate. The SEL 211L selects the frequency spectrum E [f, ω] of the residual signal for another frequency bin excluding the above.
The NR 211 can thus operate separately from the EC 110 for a frequency bin where the echo cancellation level of the EC 110 is inadequate, and the noise level can be estimated without being affected by an echo.
The GCAL 211n is provided by the NLE 211q with the noise levels |NZ [f, ω]|2 and |NE [f, ω]|2, provided by the POW 111e with the sent power spectrum |Z [f, ω]|2, provided by the CTRL 211k with the control flag NRcontrol [f, ω] and provided by the SS 111o with the frequency spectrum of the sent output signal one frame ago, S′ [f−1, ω]. The GCAL 211n produces a noise reduction gain G [f, ω].
Specifically speaking, for a frequency bin where the control flag NRcontrol [f, ω] provided by the CTRL 211k indicates that the echo cancellation level of the EC 110 is inadequate, the GCAL 211n determines that the noise level is affected by a residual echo remaining after the echo cancellation of the EC 110 and that the noise level is therefore inaccurately estimated. The GCAL 211n then selects the noise level |NZ [f, ω]|2. For a frequency bin other than the above, the GCAL 211n selects the noise level |NE [f, ω]|2.
The noise reduction gain G [f, ω] may be produced based on the noise level selected for each frequency bin ω according to one of or a combination of following algorithms:
a spectral subtraction method, i.e., one of general noise reduction methods (S. F. Boll, “Suppression of acoustic noise in speech using spectral subtraction”, IEEE Trans. Acoustics, Speech, and Signal Processing, vol.ASSP-29, pp. 113-120 (1979));
a Wiener filter method (J. S. Lim, A. V. Oppenheim, “Enhancement and bandwidth compression of noisy speech”, Proc. IEEE Vol.67, No. 12, pp. 1586-1604, December 1979);
a maximum likelihood method (R. J. McAulay, M. L. Malpass, “Speech enhancement using a soft-decision noise suppression filter”, IEEE Trans. on Acoustics, Speech, and Signal Processing, vol.ASSP-28, no.2, pp. 137-145, April 1980);
a method for estimating a priori signal-to-noise ratio SNRPRIO [f, ω] and a posterior signal-to-noise ratio SNRPOST [f, ω] and for estimating noise reduction gain accurately by using a frequency spectrum of a sent output signal one frame ago, S′ [f−1, ω] (P. Scalart, J. V. Filho, “Speech enhancement based on a priori signal to noise estimation”, Proc. ICASSP96, pp.629-632, May 1996);
a minimum mean square error short-time spectral amplitude estimator (MMSE-STSA) method (Y. Ephraim, D. Malah, “Speech enhancement using a minimum mean square error short-time spectral amplitude estimator”, IEEE Trans. on Acoustics, Speech, and Signal Processing, vol.ASSP-32, no.6, pp. 1109-1121, December 1984); and
a joint map method (T. Lotter, P. Vary, “Noise reduction by maximum a posteriori spectral amplitude estimation with super Gaussian speech modeling”, Proc. IWAENC, pp.83-86, September 2003).
In the second embodiment, the noise reduction gain G [f, ω] is produced by processing described later. If the noise level |NZ [f, ω]|2 is selected, the SNRPRIO [f, ω] and the SNRPOST [f, ω] are obtained according to Eq. 18-1 and Eq. 18-2, respectively. In the Eqs. 18-1 and 18-2, let P [·] be half-wave rectification. In that event, the noise reduction gain G [f, ω] is produced by the Wiener filter method according to Eq. 18-3, where μ [ω] is an oblivion coefficient ranging from 0.9 to 0.999.
If the noise level |NE [f, ω]|2 is selected, the noise reduction gain G [f, ω] is produced according to Eq. 18-3 after |NZ [f, ω]|2 in Eqs. 18-1 and 18-2 is replaced by |NE [f, ω]|2.




  
    
      
        
          
            SNR
            POST
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              
              
                Z
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  N
                  z
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            18
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            SNR
            PRIO
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              (
              
                1
                -
                
                  μ
                  ⁡
                  
                    [
                    ω
                    ]
                  
                
              
              )
            
            ·
            
              P
              ⁡
              
                [
                
                  
                    
                      SNR
                      POST
                    
                    ⁡
                    
                      [
                      
                        f
                        ,
                        ω
                      
                      ]
                    
                  
                  -
                  1
                
                ]
              
            
          
          +
          
            
              μ
              ⁡
              
                [
                ω
                ]
              
            
            ·
            
              
                
                  
                  
                    
                      S
                      ′
                    
                    ⁡
                    
                      [
                      
                        
                          f
                          -
                          1
                        
                        ,
                        ω
                      
                      ]
                    
                  
                  
                
                2
              
              
                
                  
                  
                    
                      N
                      Z
                    
                    ⁡
                    
                      [
                      
                        f
                        ,
                        ω
                      
                      ]
                    
                  
                  
                
                2
              
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            18
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  
  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              SNR
              PRIO
            
            ⁡
            
              [
              
                f
                ,
                ω
              
              ]
            
          
          
            
              
                SNR
                PRIO
              
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            +
            1
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            18
          
          ⁢
          
            -
          
          ⁢
          3
        
        )
      
    
  




The GCAL 211n controls and keeps the noise reduction gain G [f, ω] above a determined lower threshold so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive noise reduction and to prevent intermittent suppression of background noise. The lower threshold of the noise reduction gain may be set for each frequency bin as shown in FIG. 4, as well as the lower threshold of the echo reduction gain of the first embodiment.
The GCAL 211n may evaluate a level of background noise for each frequency bin ω by using a level of the sent input signal z [n] or the residual signal e [n] in an interval not being active-voice. The GCAL 211n may control and keep the noise reduction gain G [f, ω] above the level of the background noise so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive noise reduction.
The SS 211o is provided by the SEL 211L with the frequency spectrum selected thereby and provided by the GCAL 211n with the noise reduction gain G [f, ω]. The SS 211o suppresses noise of the frequency spectrum provided by the SEL 211L and produces the frequency spectrum of the sent output signal, S′ [f, ω], according to Eqs. 19-1 or 19-2.

S′[f,ω]=G[f,ω]·Z[f,ω]  (Eq. 19-1)

S′[f,ω]=G[f,ω]·E[f,ω]  (Eq. 19-2)

The sent output signal can be smooth to hear no matter which of the frequency spectrum of the sent input signal, Z [f, ω], and the frequency spectrum of the residual signal, E [f, ω], is selected by the SEL 211L, as the EC 110 operates in the time domain and produces no difference in terms of a phase spectrum.
A flow of operation of the communication apparatus of the second embodiment will be described with reference to FIGS. 11 and 12. FIG. 11 is a flow chart showing the flow as a whole. Each of steps shown in FIG. 11 being a same as the corresponding one shown in FIG. 5, the flow chart of the first embodiment, is given the same reference numeral and its explanation is omitted.
The communication apparatus of the first embodiment performs echo reduction at the step S1006. The communication apparatus of the second embodiment performs noise reduction, instead, by using a signal produced as a result of the echo cancellation at the step S1005 (step S2006). The communication apparatus then determines whether the call reaches an end at the step S1007.
The EC 110 of the second embodiment is a same as the EC110 of the first embodiment. As a matter of course, a flow of operation of the EC 110 of the second embodiment is a same as that of the first embodiment, and its explanation is omitted.
FIG. 12 is a flow chart of the noise reduction process of the NR 211 of the second embodiment. Each of steps shown in FIG. 12 being a same as the corresponding one shown in FIG. 7, the flow chart of the ER 111 of the first embodiment, is given the same reference numeral and its explanation is omitted. The step S1201r shown in FIG. 7 is not included in FIG. 11, neither are the steps S1202r, S1203r, S1204, S1205, S1207, S1208, S1209, S1210.
The NR 211 starts the noise reduction process and goes through the steps S1201s to S1203s or the steps S1201e to S1203e. After one of the steps S1203s and S1203e, the NLE 211q estimates the noise level |NZ [f, ω]|2 included in the frequency spectrum of the sent input signal for each frequency bin ω or estimates the noise level |NE [f, ω]|2 included in the frequency spectrum of the residual signal, by measuring a spectrum in an interval not being active-voice (step S2205).
After the step S1206 (estimating the echo cancellation level), the CTRL 211k determines whether the echo cancellation level of the EC 110 is adequate and produces the control flag NRcontrol [f, ω] (step S2207).
The GCAL 211n is provided by the POW 111e with the sent power spectrum |Z [f, ω]|2 and provided by the CTRL 211k with the control flag NRcontrol [f, ω].
For a frequency bin where the echo cancellation level of the EC 110 is inadequate, the GCAL 211n produces the noise reduction gain G [f, ω] by using one method of suppression. For a frequency bin other than the above, the GCAL 211n produces the noise reduction gain G [f, ω] by using another method of suppression. The GCAL 211n controls and keeps the noise reduction gain G [f, ω] above a determined lower threshold (step S2208).
The SEL 211L is provided by the CTRL 211k with the control flag NRcontrol [f, ω]. For a frequency bin where the echo cancellation level of the EC 110 is inadequate, the SEL 211L selects the frequency spectrum of the sent input signal, Z [f, ω]. For another frequency bin other than the above, the SEL 211L selects the frequency spectrum of the residual signal, E [f, ω] (step S2209).
The SS 211o is provided with the frequency spectrum selected by the SEL 211L, and provided by the GCAL 211n with the noise reduction gain G [f, ω] so as to suppress noise of the selected frequency spectrum (step S2210). The IFT 111p inversely converts the noise suppressed frequency spectrum of the sent output signal, S′ [f, ω], provided by the SS 211o into a time domain representation (step S1211 ) and ends the flow of the noise reduction.
In the above description, the NR 211 is of a frequency domain type and operates on a frequency bin-by-frequency bin basis. A method of grouping the frequency bins for the FFT and operating on a group-by-group basis may be implemented. The NR 211 may be implemented as a frequency domain type like a bandwidth division filter like a filter bank.
During variation of echo path loss when double talk occurs, the echo cancellation level of the EC 110 may be inadequate as the residual signal e [n] exceeds the sent input signal z [n] due to the echo cancellation of the EC 110.
In that event, according to the second embodiment described above, the ECLE 111i and the CTRL 211k may detect a frequency bin where the echo cancellation level of the EC 110 is inadequate. The NLE 211q, the SEL 211L and the GCAL 211n, each included in the NR 211, can avoid being affected by an echo for estimating a noise level for each frequency bin so that the communication apparatus of the second embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
3 Third Embodiment of the Present Invention
A third embodiment of the present invention will be described with reference to FIGS. 13 to 16. FIG. 13 is a block diagram of a communication apparatus of the third embodiment of the present invention. As shown in FIG. 13, the communication apparatus of the third embodiment includes an echo and noise reduction unit 311 (hereinafter shortened as the ENR 311) instead of the ER 111 of the first embodiment.
Each of remaining portions of the communication apparatus of the third embodiment is a same as the corresponding one of the communication apparatus of the first embodiment given the same reference numeral, and its explanation is omitted.
The ENR 311 will be explained with reference to FIG. 14. Each of portions of the ENR 311 being a same as the corresponding one of the ER 111 of the first embodiment or the NR 211 of the second embodiment is given the same reference numeral, and its explanation is omitted.
FIG. 14 is a block diagram of the ENR 311 of the communication apparatus of the third embodiment. The ENR 311 includes the FT 111a, the FT 111b, the FT 111c, the POW 111d, the POW 111e, the POW 111f, the ACLE 111g, the ELE 111h, the ECLE 111i, the CTRL 211k, the SEL 211L, the GTBL 111m and the IFT 111p. The ENR 311 includes an echo and noise reduction gain generator 311n (hereinafter shortened as the GCAL 311n), a signal suppressor 311o (hereinafter shortened as the SS 311o) and a noise level estimator 311q (hereinafter shortened as the NLE 311q).
The ENR 311 is provided by the HPF 109 with the sent input signal z [n] and provided by the ST 110b with the residual signal e [n]. The ENR 311 performs an echo and noise reduction process, i.e., suppresses an echo component and a noise component of at least one of the sent input signal z [n] and the residual signal e [n] so as to produce a sent output signal s′ [n] (n=0, 1, . . . , N−1) on a frame-by-frame basis as a result of the echo and noise reduction.
The NLE 311q is provided by the SEL 211L with one of the sent frequency spectrum Z [f, ω] and the residual frequency spectrum E [f, ω]. The NLE 311q measures a component of the above spectrum in an interval not being active-voice. The NLE 311q estimates a noise level, |N [f, ω]|2, included in the frequency spectrum provided by the SEL 211L for each frequency bin ω.
The GCAL 311n is provided by the ELE 111h with the smoothed echo level |YS [f, ω]|2, provided by the GTBL 111m with the parameter γ [ω], provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2, provided by the NLE 311q with the noise level |N [f, ω]|2 and provided by the CTRL 211K with the control flag NRcontrol [f, ω]. The GCAL 311n produces an echo and noise reduction gain G [f, ω].
Specifically speaking, for a frequency bin where the control flag NRcontrol [f, ω] provided by the CTRL 211k indicates that the echo cancellation level of the EC 110 is inadequate, the GCAL 311n removes the noise level |N [f, ω]|2 from the smoothed sent power spectrum |ZS [f, ω]|2 so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo reduction. The GCAL 311n produces an echo reduction gain GER [f, ω] according to Eq. 20.




  
    
      
        
          
            G
            ER
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          (
          
            1
            -
            
              
                γ
                ⁡
                
                  [
                  ω
                  ]
                
              
              ·
              
                
                  
                    
                    
                      
                        Y
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
                
                  
                    
                      
                      
                        
                          Z
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                  -
                  
                    
                      
                      
                        N
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                
              
            
          
          )
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          20
        
        )
      
    
  




For a frequency bin other than the above, it may be assumed that the echo cancellation level of the EC 110 is adequate and the EC 110 works properly. The GCAL 311n corrects an echo reduction level of the ENR 311 so that it increases by using the echo cancellation level ECL [f, ω] of the EC 110. The GCAL 311n produces the echo reduction gain GER [f, ω] according to Eq. 21.




  
    
      
        
          
            G
            ER
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            (
            
              
                
                  
                    1
                    -
                    
                      
                        γ
                        ⁡
                        
                          [
                          ω
                          ]
                        
                      
                      ·
                    
                  
                
              
              
                
                  
                    
                      
                        
                      
                      ⁢
                      
                        
                          
                          
                            
                          
                          ⁢
                          
                            
                              Y
                              
                                
                                  
                                
                                ⁢
                                S
                              
                            
                            ⁡
                            
                              [
                              
                                f
                                ,
                                
                                  
                                
                                ⁢
                                ω
                              
                              ]
                            
                          
                          
                        
                        2
                      
                    
                    
                      
                        
                      
                      ⁢
                      
                        
                          
                            
                            
                              
                            
                            ⁢
                            
                              
                                Z
                                
                                  
                                    
                                  
                                  ⁢
                                  S
                                
                              
                              ⁡
                              
                                [
                                
                                  f
                                  ,
                                  
                                    
                                  
                                  ⁢
                                  ω
                                
                                ]
                              
                            
                            
                          
                          2
                        
                        ⁢
                        
                          
                        
                        -
                        
                          
                        
                        ⁢
                        
                          
                            
                            
                              N
                              ⁡
                              
                                [
                                
                                  f
                                  ,
                                  
                                    
                                  
                                  ⁢
                                  ω
                                
                                ]
                              
                            
                            
                          
                          2
                        
                      
                    
                  
                
              
            
            )
          
          ·
          
            ECL
            ⁡
            
              [
              
                f
                ,
                ω
              
              ]
            
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          21
        
        )
      
    
  




The GCAL 311n produces a noise reduction gain GNR [f, ω] based on the noise level |N [f, ω]|2 selected for each frequency bin ω according to the spectral subtraction method, i.e., one of general noise reduction methods, the Wiener filter method or the maximum likelihood method. The GCAL 311n multiplies the echo reduction gain GER [f, ω] by the noise reduction gain GNR [f, ω] to produce the echo and noise reduction gain G [f, ω] according to Eq. 22.

G[f,ω]=GER[f,ω]·GNR[f,ω]  (Eq. 22)

The GCAL 311n controls and keeps the echo and noise reduction gain G [f, ω] above a determined lower threshold so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo and noise reduction. The lower threshold of the echo and noise reduction gain may be set for each frequency bin as shown in FIG. 4, as well as the lower threshold of the echo reduction gain of the first embodiment.
The GCAL 311n may evaluate a level of background noise for each frequency bin ω by using a level of the sent input signal z [n] or the residual signal e [n] in an interval not being active-voice. The GCAL 311n may control and keep the echo and noise reduction gain G [f, ω] above the level of the background noise so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo and noise reduction.
The GCAL 311n may smooth the echo and noise reduction gain G [f, ω] in the frequency domain according to Eq. 23-1 or Eq. 23-2 so as to prevent the communication apparatus from producing a sent speech signal of low quality. In these equations, εj may be [0.1, 0.2, 0.4, 0.2, 0.1], and ηj may be [0.1, 0.2, 0.4, 0.8, 0.4, 0.2, 0.1] for instance.




  
    
      
        
          
            G
            S
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              
                ɛ
                j
              
              ·
              
                G
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      3
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              ɛ
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            23
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            G
            S
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              
                η
                j
              
              ·
              
                G
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      4
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              η
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            23
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The SS 311o is provided by the SEL 211L with the frequency spectrum selected thereby and provided by the GCAL 311n with the echo and noise reduction gain G [f, ω]. The SS 311o suppresses an echo and noise of the frequency spectrum provided by the SEL 311L, and produces a frequency spectrum of the sent output signal, S′ [f, ω], according to Eq. 24-1 or Eq. 24-2.

S′[f,ω]=G[f,ω]·Z[f,ω]  (Eq. 24-1)

S′[f,ω]=G[f,ω]·E[f,ω]  (Eq. 24-2)

The sent output signal can be smooth to hear no matter which of the frequency spectrum of the sent input signal, Z [f, ω], and the frequency spectrum of the residual signal, E [f, ω], is selected by the SEL 311L, as the EC 110 operates in the time domain and produces no difference in terms of a phase spectrum.
A flow of operation of the communication apparatus of the third embodiment will be described with reference to FIGS. 15 and 16. FIG. 15 is a flow chart showing the flow as a whole. Each of steps shown in FIG. 15 being a same as the corresponding one shown in FIG. 5, the flow chart of the first embodiment, is given the same reference numeral and its explanation is omitted.
The communication apparatus of the first embodiment performs echo cancellation at the step S1006. The communication apparatus of the third embodiment performs echo and noise suppression, instead, by using a signal produced as a result of the echo cancellation at the step S1005 (step S3006). The communication apparatus then determines whether the call reaches an end at the step S1007.
The EC 110 of the third embodiment is a same as the EC110 of the first embodiment. As a matter of course, a flow of operation of the EC 110 of the third embodiment is a same as that of the first embodiment, and its explanation is omitted.
FIG. 16 is a flow chart of the echo and noise reduction process of the ENR 311 of the third embodiment. Each of steps shown in FIG. 16 being a same as the corresponding one shown in FIG. 7, the flow chart of the ER 111 of the first embodiment, is given the same reference numeral and its explanation is omitted. Each of steps shown in FIG. 16 being a same as the corresponding one shown in FIG. 12, the flow chart of the NR 211 of the second embodiment, is given the same reference numeral and its explanation is omitted.
The ENR 311 starts the echo and noise reduction process and goes through the steps S1201r to S1203r, the steps S1201s to S1203s or the steps S1201e to S1203e. The ENR 311 then goes through the steps S1204, S1206, S2207 and S2209. Following the step S2209, the NLE 311q estimates the noise level |N [f, ω]|2 included in the frequency spectrum provided by the SEL 211L for each frequency bin ω (step S3205).
The GCAL 311n is provided by the NLE 311q with the noise level |N [f, ω]|2 and provided by the CTRL 211k with the control flag NRcontrol [f, ω].
For a frequency bin where the echo cancellation level of the EC 110 is inadequate, the GCAL 311n produces the echo and noise reduction gain G [f, ω] by using one method of suppression. For a frequency bin other than the above, the GCAL 311n produces the echo and noise reduction gain G [f, ω] by using another method of suppression. The GCAL 311n controls and keeps the echo and noise reduction gain G [f, ω] above a determined lower threshold (step S3208).
Being provided with the frequency spectrum selected by the SEL 211L, and provided by the GCAL 311n with the echo and noise reduction gain G [f, ω], the SS 311o suppresses an echo and noise of the selected frequency spectrum (step S3210). The IFT 111p inversely converts the echo and noise suppressed frequency spectrum of the sent output signal, S′ [f, ω], provided by the SS 311o into a time domain representation (step S1211) and ends the echo and noise reduction process.
In the above description, the ENR 311 is of a frequency domain type and operates on a frequency bin-by-frequency bin basis. A method of grouping the frequency bins for the FFT and operating on a group-by-group basis may be implemented. The ENR 311 may be implemented as a frequency domain type like a bandwidth division filter like a filter bank.
During variation of echo path loss when double talk occurs, the echo cancellation level of the EC 110 may be inadequate as the residual signal e [n] exceeds the sent input signal z [n] due to the echo cancellation of the EC 110.
In that event, according to the third embodiment described above, the ECLE 111i and the CTRL 211k may detect a frequency bin where the echo cancellation level of the EC 110 is inadequate. The SEL 211L and the GCAL 311n can vary weighting put on the EC 110 and put on the ENR 311 for each frequency bin so that the communication apparatus of the third embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
As the echo reduction in the frequency domain, that is nonlinear process, and the noise reduction in the frequency domain are combined by the GCAL 311n and the SS 311o to be included in the ENR 311, the communication apparatus of the third embodiment can reduce a load of operation and can produce a sent speech signal of quality higher than that produced by another apparatus configured that the echo reduction and the noise reduction are arranged in series.
4 Fourth Embodiment of the Present Invention
A fourth embodiment of the present invention will be described with reference to FIGS. 17 to 20. FIG. 17 is a block diagram of a communication apparatus of the fourth embodiment. As shown in FIG. 17, the communication apparatus of the fourth embodiment includes an echo suppressor 411 (hereinafter shortened as the ES 411), a delay unit 402 (hereinafter shortened as the DL 402) and a digital-to-analog converter 403 (hereinafter shortened as the DAC 403), instead of the ER 111, the DL 102 and the DAC 103 of the first embodiment, respectively.
Each of remaining portions of the communication apparatus of the fourth embodiment is a same as the corresponding one of the communication apparatus of the first embodiment given the same reference numeral, and its explanation is omitted.
Although the DL 402 is provided by the ES 411 with a received input signal x′ [n] and differs from the DL 102 in this respect, an explanation of the DL 402 is omitted as the DL 402 works in a same way as the DL 102 does. Although the DAC 403 is provided by the ES 411 with the received input signal x′ [n] and differs from the DAC 103 in this respect, an explanation of the DAC 403 is omitted as the DAC 403 works in a same way as the DAC 103 does.
FIG. 18 is a block diagram of the ES 411 of the communication apparatus of the fourth embodiment. The ES 411 includes a received power evaluation unit 411d (hereinafter shortened as the POW 411d), a sent power evaluation unit 411e (hereinafter shortened as the POW 411e) and a residual power evaluation unit 411f (hereinafter shortened as the POW 411f).
The ES 411 includes an echo cancellation level estimator 411i (hereinafter shortened as the ECLE 411i), a controller 411k (hereinafter shortened as the CTRL 411k) and a signal selector 411L (hereinafter shortened as the SEL 411L). The ES 411 includes a memory of a gain value 411m (hereinafter shortened as the GTBL 411m), an echo suppression gain generator 411n (hereinafter shortened as the GCAL 411n), a sent signal attenuator 411o (hereinafter shortened as the SS 411o) and a received signal attenuator 411r (hereinafter shortened as the SS 411r).
The ES 411 is provided by the COM 101 with the received input signal x [n], provided by the HPF 109 with the sent input signal z [n] and provided by the ST 110b with the residual signal e [n]. After performing echo suppression on at least one of the received input signal x [n] and either the sent input signal z [n] or the residual signal e [n], the ES 411 produces a received output signal x′ [n] and a sent output signal s′ [n] for each frame.
The POW 411d is provided by the COM 101 with the received input signal x [n]. The POW 411d produces received power PX [f] for each frame according to Eq. 25-1. The received power PX [f] may be replaced by PSX [f] which has been smoothed by using a value thereof one frame ago, PSX [f−1], according to Eq. 25-2, where αX is preferably from 0.375 to 0.999.




  
    
      
        
          
            P
            X
          
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            ∑
            
              n
              =
              0
            
            
              N
              -
              1
            
          
          ⁢
          
            
              x
              2
            
            ⁡
            
              [
              n
              ]
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            25
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            P
            SX
          
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            
              α
              X
            
            ·
            
              
                P
                X
              
              ⁡
              
                [
                f
                ]
              
            
          
          +
          
            
              (
              
                1
                -
                
                  α
                  X
                
              
              )
            
            ·
            
              
                P
                SX
              
              ⁡
              
                [
                
                  f
                  -
                  1
                
                ]
              
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            25
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The POW 411e is provided by the HPF 109 with the sent input signal z [n]. The POW 411e produces sent power PZ [f] for each frame according to Eq. 26-1. The sent power PZ [f] may be replaced by PSZ [f] which has been smoothed by using a value thereof one frame ago, PSZ [f−1], according to Eq. 26-2, where αZ is preferably from 0.375 to 0.999.




  
    
      
        
          
            P
            Z
          
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            ∑
            
              n
              =
              0
            
            
              N
              -
              1
            
          
          ⁢
          
            
              z
              2
            
            ⁡
            
              [
              n
              ]
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            26
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            P
            SZ
          
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            
              α
              Z
            
            ·
            
              
                P
                z
              
              ⁡
              
                [
                f
                ]
              
            
          
          +
          
            
              (
              
                1
                -
                
                  α
                  Z
                
              
              )
            
            ·
            
              
                P
                SZ
              
              ⁡
              
                [
                
                  f
                  -
                  1
                
                ]
              
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            26
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The POW 411f is provided by the ST 110b with the residual signal e [n]. The POW 411f produces residual power PE [f] for each frame according to Eq. 27-1. The residual power PE [f] may be replaced by PSE [f] which has been smoothed by using a value thereof one frame ago, PSE [f−1], according to Eq. 27-2, where αE is preferably from 0.375 to 0.999.




  
    
      
        
          
            P
            E
          
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            ∑
            
              n
              =
              0
            
            
              N
              -
              1
            
          
          ⁢
          
            
              e
              2
            
            ⁡
            
              [
              n
              ]
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            25
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            P
            SE
          
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            
              α
              E
            
            ·
            
              
                P
                E
              
              ⁡
              
                [
                f
                ]
              
            
          
          +
          
            
              (
              
                1
                -
                
                  α
                  E
                
              
              )
            
            ·
            
              
                P
                SE
              
              ⁡
              
                [
                
                  f
                  -
                  1
                
                ]
              
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            25
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The ECLE 411i is provided by the POW 411e with the sent power PZ [f] and provided by the POW 411f with the residual power PE [f]. The ECLE 411i produces an echo cancellation level ECL [f] of the EC 110 according to Eq. 28. The ECLE 411i may use a difference between the sent power PZ [f] and the residual power PE [f], etc.




  
    
      
        
          ECL
          ⁡
          
            [
            f
            ]
          
        
        =
        
          
            
              P
              E
            
            ⁡
            
              [
              f
              ]
            
          
          
            
              P
              Z
            
            ⁡
            
              [
              f
              ]
            
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          28
        
        )
      
    
  




Being provided by the ECLE 411i with the echo cancellation level ECL [f], the CTRL 411k determines whether the echo cancellation level of the EC 110 is inadequate for each frame, and produces a control flag EScontrol [f] indicating the above determination of the echo cancellation level. Specifically speaking, the CTRL 411k determines that the echo cancellation level of the EC 110 is inadequate if a following inequality is true, i.e., ECL [f]>βZ, where βZ is preferably from −15 to 8 dB. In the fourth embodiment, βZ is assumed to be 0 dB hereafter.
The CTRL 411k is provided by the POW 411d with the received power PX [f] and provided by the POW 411e with the sent power PZ [f]. The CTRL 411k determines whether the SS 411r attenuates the received input signal x [n] or whether the SS 411o attenuates a sent signal (the sent input signal z [n] or the residual signal e [n]), and produces a state flag ESstate [f] indicating the above determination of the attenuation.
For instance, the CTRL 411k detects an active-voice condition of the received path by using the received power PX [f] and a variable threshold indicating a noise level of the received path. The CTRL 411k detects an active-voice condition of the send path by using the sent power PZ [f] and a variable threshold indicating a noise level of the send path.
If the received path is in an active-voice condition, the CTRL 411k sets the state flag ESstate [f] indicating the attenuation of the sent signal. If the send path is in an active-voice condition, the CTRL 411k sets the state flag ESstate [f] indicating the attenuation of the received signal. The CTRL 411k continues the above indication of the state flag ESstate [f] until a difference between the received power PX [f] and the sent power PZ [f] becomes significant.
For a frame where the control flag EScontrol [f] indicates that the echo cancellation level is inadequate, the sent power PZ [f] may be used as sent power PS [f]. For a frame where the control flag EScontrol [f] indicates that the echo cancellation level is adequate, the residual power PE [f] may be used as sent power PS [f].
The SEL 411L is provided by the HPF 109 with the sent input signal z [n], provided by the ST 110b with the residual signal e [n] and provided by the CTRL 411k with the control flag EScontrol [f]. The SEL 411L selects one of the sent input signal z [n] and the residual signal e [n] on a frame-by-frame basis.
Specifically speaking, the SEL 411L selects the sent input signal z [n] for a frame where the control flag EScontrol [f] indicates that the echo cancellation level of the EC 110 is inadequate. The SEL 411L selects the residual signal e [n] for a frame other than the above. The ES 411 can thus operate separately from the EC 110 for a frame where the echo cancellation level of the EC 110 is inadequate, and so is its accuracy of estimation.
The GTBL 411m keeps a gain parameter γ which is preferably preset based on echo return loss of an analog front end (the DAC 403, the SP 105, the sound space, the MP 106, the SA 107 and the ADC 108).
The GCAL 411n is provided by the GTBL 411m with the gain parameter γ, provided by the ECLE 411i with the echo cancellation level ECL [f] and provided by the CTRL 411k with the control flag EScontrol [f] and the state flag ESstate [f]. The GCAL 411n produces an echo suppression gain G [f].
Specifically speaking, if the state flag ESstate [f] indicates the attenuation of the sent signal (the sent input signal z [n] or the residual signal e [n]), the GCAL 411L operates as follows. At first, the GCAL 411n sets the echo suppression gain G [f] equal to the gain parameter γ, i.e., G [f]=γ for a frame where the control flag EScontrol [f] indicates that the echo cancellation level of the EC 110 is inadequate.
There are two options for a frame other than the above. One option is that the GCAL 411n sets the echo suppression gain G [f] equal to the echo cancellation level ECL [f] multiplied by y, i.e., G [f]=γ·ECL [f], as the echo suppression gain may be increased by making the most of adequate echo cancellation level of the EC 110. Another option is that the GCAL 411n sets the echo suppression gain G [f] equal to γ divided by ECL [f], i.e., G [f]=γ/ECL [f], as the echo suppression gain may be decreased by the echo cancellation level of the EC 110 so as to avoid excessive echo attenuation. If the state flag ESstate [f] indicates the attenuation of the received input signal, the GCAL 411n sets the echo suppression gain G [f] equal to γ, i.e., G [f]=γ.
The GCAL 411n may evaluate a level of background noise by using a level of the sent input signal z [n] or the residual signal e [n] in an interval not being active-voice. The GCAL 411n may control and keep the echo suppression gain G [f] above the level of the background noise so as to prevent quality of a sent speech from worsening due to excessive echo attenuation.
The SS 411o is provided by the CTRL 411k with the state flag ESstate [f], provided by the GCAL 411n with the echo suppression gain G [f] and provided by the SEL 411L with the sent signal (the sent input signal z [n] or the residual signal e [n]). If the state flag ESstate [f] indicates the attenuation of the sent signal (the sent input signal z [n] or the residual signal e [n]), the SS 411o attenuates the signal selected by the SEL 411L by using the echo suppression gain G [f] produced by the GCAL 411n according to Eq. 29-1 or Eq. 29-2. The SS 411o produces a sent output signal s′ [n].
If the flag ESstate [f] indicates no attenuation of the sent signal (the sent input signal z [n] or the residual signal e [n]), the SS 411o produces the sent output signal s′ [n] selected by the SEL 411L according to Eq. 29-3 or Eq. 29-4.

s′[n]=G[f]·z[n]  (Eq. 29-1)

s′[n]=G[f]·e[n]  (Eq. 29-2)

s′[n]=z[n]  (Eq. 29-3)

s′[n]=e[n]  (Eq. 29-4)

The sent output signal s′ [n] may be multiplied by the echo suppression gain G [f] smoothed in the time domain so as to be smooth to hear no matter which of the sent input signal z [n] and the residual signal e [n] is selected by the SEL 411L.
The SS 411r is provided by the CTRL 411k with the state flag ESstate [f], provided by the GCAL 411n with the echo suppression gain G [f] and provided by the COM 101 with the received input signal x [n]. If the state flag ESstate [f] indicates the attenuation of the received input signal x [n] provided by the COM 101, the SS 411r attenuates the received input signal x [n] by using the echo suppression gain G [f] produced by the GCAL 411n according to Eq. 30-1. The SS 411r produces a received output signal x′ [n].
If the state flag ESstate [f] indicates no attenuation of the received input signal x [n], the SS 411r produces the received output signal x′ [n] according to Eq. 30-2.

x′[n]=G[f]·x[n]  (Eq. 30-1)

x′[n]=x[n]  (Eq. 30-2)

A flow of operation of the communication apparatus of the fourth embodiment will be described with reference to FIGS. 19 and 20. FIG. 19 is a flow chart showing the flow as a whole. Each of steps shown in FIG. 19 being a same as the corresponding one shown in FIG. 5, the flow chart of the first embodiment, is given the same reference numeral and its explanation is omitted.
After the removal of the offset of the sent input signal z [n] at the step S1003, the DL 402 temporarily holds and delays the received output signal x′ [n] provided by the SS 411r (step S4004). The flow moves on to the echo cancellation at the step S1005. After the echo cancellation at the step S1005, the communication apparatus of the fourth embodiment performs echo suppression by using an echo-cancelled signal obtained at the step S1005 instead of the echo reduction which the communication apparatus of the first embodiment performs at the step S1006 (step S4006). The communication apparatus then determines whether the call reaches an end at the step S1007.
The EC 110 of the fourth embodiment is a same as the EC110 of the first embodiment. As a matter of course, a flow of operation of the EC 110 of the fourth embodiment is a same as that of the first embodiment, and its explanation is omitted.
FIG. 20 is a flow chart of processing of the ES 411 of the fourth embodiment. At first, the POW 411d produces the received power PX [f] from the received input signal x [n] (step S4201r). The POW 411e produces the sent power PZ [f] from the sent input signal z [n] (step S4201s). The POW 411f produces the residual power PE [f] from the residual signal e [n] (step S4201e).
The ECLE 411i is provided with the sent power PZ [f] and the residual power PE [f]. The ECLE estimates the echo cancellation level ECL [f] of the EC 110 (step S4202).
Being provided with the echo cancellation level ECL [f] the CTRL 411k determines whether the echo cancellation level is adequate for each frame, and produces the control flag EScontrol [f]. The CTRL 411k determines whether the SS 411r attenuates the received input signal x [n] or whether the SS 411o attenuates the sent signal (the sent input signal z [n] or the residual signal e [n]) based on the received power PX [f] and the sent power PZ [f]. The CTRL 411k produces the state flag ESstate [f] (step S4203).
The SEL 411L is provided with the control flag EScontrol [f]. The SEL 411L selects z [n] for a frame where the echo cancellation level is inadequate. The SEL 411L selects e [n] for a frame where the echo cancellation level is adequate (step S4204).
The GCAL 411n is provided with the control flag EScontrol [f] and the echo cancellation level ECL [f]. For a frame where the echo cancellation level is inadequate, the GCAL 411L produces the echo suppression gain G [f] by using one method of attenuation. For a frame other than the above, the GCAL 411L produces the echo attenuation gain G [f] by using another method of attenuation (step S4205).
The SS 411o is provided with the echo suppression gain G [f] and the state flag ESstate [f]. If it is determined that the SS 411o attenuates the sent signal (the sent input signal z [n] or the residual signal e [n]), the SS 411o attenuates the signal selected by the SEL 411L by using the echo suppression gain G [f] produced by the GCAL 411n, and produces the sent output signal s′ [n] as a result of the attenuation. If it is determined that the SS 411o does not attenuate the sent signal, the SS 411o outputs the signal selected by the SEL 411L as the sent output signal s′ [n] (step S4206s).
The SS 411r is provided with the echo suppression gain G [f] and the state flag ESstate [f]. If it is determined that the SS 411r attenuates the received input signal x [n], the SS 411o attenuates the received input signal x [n] by using the echo suppression gain G [f] produced by the GCAL 411n, and produces the received output signal x′ [n] as a result of the attenuation. If it is determined that the SS 411r does not attenuate the received input signal x [n], the SS 411r outputs the received input signal x [n] as the received output signal x′ [n] (step S4206r). The ES 411 then ends the echo suppression process.
In the above description, the ES 411 is of a time domain type and operates on a frame-by-frame basis. The ES 411 may be implemented as a frequency domain type by using a bandwidth division filter like an FFT or a filter bank, etc.
During variation of echo path loss when double talk occurs, the echo cancellation level of the EC 110 may be inadequate as the residual signal e [n] exceeds the sent input signal z [n] due to the echo cancellation of the EC 110.
In that event, according to the fourth embodiment described above, the ECLE 411i and the CTRL 411k may detect a case where the echo cancellation level of the EC 110 is inadequate. The GCAL 411n and the SS 411o may take the echo cancellation level of the EC 110 into account and can avoid excessive attenuation of a sent speech signal so that the communication apparatus of the fourth embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
5 Fifth Embodiment of the Present Invention
A fifth embodiment of the present invention will be described with reference to FIGS. 21 to 23. The communication apparatus of the fifth embodiment includes an echo reduction unit 511 (hereinafter shortened as the ER 511), instead of the ER 111 of the first embodiment. Each of remaining portions of the communication apparatus of the fifth embodiment is a same as the corresponding one of the communication apparatus of the first embodiment given the same reference numeral, and its explanation is omitted.
FIG. 21 is a block diagram of the ER 511 of the communication apparatus of the fifth embodiment. A portion of the ER 511 being different from the corresponding one of the ER 111 of the first embodiment will be explained as follows. Each of portions of the ER 511 being a same as the corresponding one of the ER 111 of the first embodiment or of the NR 211 of the second embodiment is given the same reference numeral, and its explanation is omitted.
The ER 211 includes the FT 111a, the FT 111b, the FT 111c, the POW111d, the POW 111e, the POW 111f, the ECLE 111i, the GTBL 111m and the IFT 111p. The ER 511 includes a controller 511k (hereinafter shortened as the CTRL 511k), a spectrum selector 511L (hereinafter shortened as the SEL 511L), an echo reduction gain generator 511n (hereinafter shortened as the GCAL 511n), a sent signal suppressor 511s (hereinafter shortened as the SS 511s) and a residual signal suppressor 511t (hereinafter shortened as the ES 511t).
The ER 511 is provided by the DL 102 with the delayed received input signal x [n-D], provided by the HPF 109 with the sent input signal z [n] and provided by the ST 110b with the residual signal e [n]. The ER 511 performs an echo reduction process, i.e., suppresses an echo component of at least one of the sent input signal z [n] and the residual signal e [n] so as to produce an sent output signal s′ [n] (n=0, 1, . . . , N−1) on a frame-by-frame basis as a result of the echo reduction.
The ACLE 511g is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111e with the smoothed sent power-spectrum |ZS [f, ω]|2 and provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2. The ACLE 511g produces an acoustic coupling level |HZ [f, ω]|2 according to Eq. 31-1. The ACLE 511g produces an acoustic coupling level |HE [f, ω]|2 according to Eq. 31-2.




  
    
      
        
          
            
            
              
                H
                Z
              
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                
                  Z
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            31
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            
            
              
                H
                E
              
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                
                  E
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            31
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The ACLE 511g produces a smoothed acoustic coupling level |HZS [f, ω]|2 by using a value thereof one frame ago according to Eq. 32-1, where αHZ [ω] is preferably from 0.03 to 0.09. The ACLE 511g produces a smoothed acoustic coupling level |HES [f, ω]|2 by using a value thereof one frame ago according to Eq. 32-2, where αHE [ω] is preferably from 0.03 to 0.09.

|HZS[f,ω]|2=αHZ[ω]·|HZ[f,ω]|2+(1−αHZ[ω])·|HZS[f−1,ω]|2  (Eq. 32-1)

|HES[f,ω]|2=αHE[ω]·|HE[f,ω]|2+(1−αHE[ω])·|HES[f−1,ω]|2  (Eq. 32-2)

A relatively large value is given to αHZ [ω] and to αHE [ω], e.g. for five seconds after a voice call begins so that the acoustic coupling level |HZS [f, ω]|2 and the acoustic coupling level |HES [f, ω]|2 may be quickly updated for that while. As the acoustic coupling level is thus initialized, the communication apparatus can prevent its echo cancellation level from decreasing for that while.
If the acoustic coupling level steeply changes, i.e., |HZ [f, ω]|2>βZH [ω]·|HZS [f−1, ω]|2, or if the received input signal is not very significant, i.e., |XS [f, ω]|2<βX [ω], however, the ACLE 511g uses a value of the acoustic coupling level one frame ago, |HZS [f−1, ω]|2 or |HES [f−1, ω]|2, without updating the acoustic coupling level so as to maintain ability to track variation of an echo path quickly and to avoid producing the acoustic coupling level for a frequency bin where double talk occurs.
As occurrence of double talk may cause a very steep change of the acoustic coupling level, the communication apparatus may avoid producing a sent speech signal of low quality by not updating the acoustic coupling level. In the above inequalities, βZH [ω] is preferably 0.9 to 30, so is βEH [ω], and βX [ω] is preferably from 30 to 40 dB.
The ELE 511h is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, and provided by the ACLE 511g with the acoustic coupling level |HZS [f, ω]|2 and the acoustic coupling level |HES [f, ω]|2. The ELE 511g estimates a sent echo level |YZ [f, ω]|2 included in the frequency spectrum of the sent input signal, Z [f, ω], for each frequency bin ω according to Eq. 33-1. The ELE 511g estimates a residual echo level, |YE [f, ω]|2 included in the frequency spectrum of the residual signal, E [f, ω], for each frequency bin ω according to Eq. 33-2.

|YZ[f,ω]|2=|HZS[f,ω]|2·|XS[f,ω]|2  (Eq. 33-1)

|YE[f,ω]|2=|HES[f,ω]|2·|XS[f,ω]|2  (Eq. 33-2)

A signal as a result of echo reduction using an instantaneous echo level like |YZ [f, ω]|2 or |YE [f, ω]|2 is not as natural to hear as a signal as a result of echo reduction using a smoothed value of the echo level. Hence, the ELE 511h produces the smoothed echo level |YZS [f, ω]|2 and the smoothed echo level |YES [f, ω]|2 for each frequency bin ω according to Eqs. 34-1 and 34-2, respectively, where αZY [ω] is preferably from 0.7 to 0.99 and αEY [ω] is preferably from 0.7 to 0.99.

|YZS[f,ω]|2=αZY[ω]·|YZ[f,ω]|2+(1−αZY[ω])·|YZS[f−1,ω]|2  (Eq. 34-1)

|YES[f,ω]|2=αEY[ω]·|YE[f,ω]|2+(1−αEY[ω])·|YES[f−1,ω]|2  (Eq. 34-2)

The CTRL 511k is provided by the ECLE 111i with the echo cancellation level ECL [f, ω]. The CTRL 511k produces a control flag ERcontrol [f, ω] indicating whether the echo cancellation level of the EC 110 is inadequate for each frequency bin ω.
Specifically speaking, the CTRL 511k determines for each frequency bin ω that the echo cancellation level of the EC 110 is inadequate if both of following inequalities are true, i.e., ECL [f, ω]>βZ [ω] and count>βC, where βZ [ω] is preferably from −15 to 8 dB and βC is preferably from 10 to 40 percent as many as all frequency bins. The parameter count represents for how many frequency bins per one frame a following inequality is true, i.e., ECL [f, ω]>βZ [ω]. In the fifth embodiment, βZ [ω] is assumed to be 0 dB hereafter.
The GCAL 511n is provided by the POW 111e with the smoothed power spectrum |ZS [f, ω]|2, provided by the POW 111f with the residual power spectrum |ES [f, ω]|2, provided by the ELE 511h with the smoothed sent echo level |YZS [f, ω]|2 and the smoothed residual echo level |YES [f, ω]|2, and provided by the GTBL 111m with the parameter γ [ω]. The GCAL 511n produces a sent echo reduction gain GZ [f, ω] and a residual echo reduction gain GE [f, ω]. Specifically speaking, the GCAL 511n produces the sent echo reduction gain GZ [f, ω] using a Wiener filter method according to Eq. 35-1. The GCAL 511n produces the residual echo reduction gain GE [f, ω] using the Wiener filter method according to Eq. 35-2.




  
    
      
        
          
            G
            Z
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          (
          
            1
            -
            
              
                γ
                ⁡
                
                  [
                  ω
                  ]
                
              
              ·
              
                
                  
                    
                    
                      
                        Y
                        ZS
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
                
                  
                    
                    
                      
                        Z
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
              
            
          
          )
        
      
    
    
      
        (
        
          35
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            G
            E
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          (
          
            1
            -
            
              
                γ
                ⁡
                
                  [
                  ω
                  ]
                
              
              ·
              
                
                  
                    
                    
                      
                        Y
                        ES
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
                
                  
                    
                    
                      
                        Z
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
              
            
          
          )
        
      
    
    
      
        (
        
          35
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The GCAL 511n controls and keeps each of the sent echo reduction gain GZ [f, ω] and the residual echo canceling gain GE [f, ω] above a determined lower threshold so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo reduction and from suppressing background noise intermittently.
The GCAL 511n may evaluate a level of background noise for each frequency bin ω by using a level of the sent input signal z [n] or the residual signal e [n] in an interval not being active-voice. The GCAL 511n may control and keep the sent echo reduction gain GZ [f, ω] and the residual echo reduction gain GE [f, ω] above the level of the background noise so as to prevent the communication apparatus from producing a sent speech signal of low quality due to excessive echo reduction.
The GCAL 511n may smooth the sent echo reduction gain GZ [f, ω] in the frequency domain according to Eq. 36-1 or Eq. 36-2 so as to prevent the communication apparatus from producing a sent speech signal of low quality. In these equations, εj may be [0.1, 0.2, 0.4, 0.2, 0.1] and ηj may be [0.1, 0.2, 0.4, 0.8, 0.4, 0.2, 0.1] for instance.




  
    
      
        
          
            G
            ZS
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              
                ɛ
                j
              
              ·
              
                
                  G
                  Z
                
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      3
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              ɛ
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            36
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            G
            ZS
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              
                η
                j
              
              ·
              
                
                  G
                  Z
                
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      4
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              η
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            36
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The GCAL 511n may smooth the residual echo reduction gain GE [f, ω] in the frequency domain according to Eq. 36-3 or Eq. 36-4 so as to prevent the communication apparatus from producing a sent speech signal of low quality. In these equations, εj may be [0.1, 0.2, 0.4, 0.2, 0.1] and ηj may be [0.1, 0.2, 0.4, 0.8, 0.4, 0.2, 0.1] for instance.




  
    
      
        
          
            G
            ES
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              
                ɛ
                j
              
              ·
              
                
                  G
                  E
                
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      3
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              ɛ
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            36
          
          ⁢
          
            -
          
          ⁢
          3
        
        )
      
    
  
  
    
      
        
          
            G
            ES
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              
                η
                j
              
              ·
              
                
                  G
                  E
                
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      4
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              η
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            36
          
          ⁢
          
            -
          
          ⁢
          4
        
        )
      
    
  




The SS 511s is provided by the FT 111b with the frequency spectrum Z [f, ω] of the sent input signal and provided by the GCAL 511n with the sent echo reduction gain GZ [f, ω]. The SS 511s suppresses an echo of the frequency spectrum of the sent input signal, and produces a frequency spectrum SZ′ [f, ω] according to Eq. 37.

SZ′[f,ω]=GZ[f,ω]·Z[f,ω]  (Eq. 37)

The ES 511t is provided by the FT 111c with the frequency spectrum E [f, ω] of the residual signal and provided by the GCAL 511n with the residual echo reduction gain GE [f, ω]. The ES 511t suppresses an echo of the frequency spectrum of the residual signal, and produces a frequency spectrum SE′ [f, ω] according to Eq. 38.

SE′[f,ω]=GE[f,ω]·E[f,ω]  (Eq. 37)

The SEL 511L is provided by the SS 511s with the frequency spectrum SZ′ [f, ω] of the echo-suppressed sent input signal, provided by the ES 511t with the frequency spectrum SE′ [f, ω] of the echo-suppressed residual signal, and provided by the CTRL 511k with the control flag ERcontrol [f, ω] indicating for each frequency bin whether the echo cancellation level of the EC 110 is inadequate. The SEL 511L selects one of the frequency spectrum SZ′ [f, ω] of the echo-suppressed sent input signal and the frequency spectrum SE′ [f, ω] of the echo-suppressed residual signal.
Specifically speaking, the SEL 511L selects SZ′ [f, ω] for a frequency bin where the control flag ERcontrol [f, ω] indicates that the echo cancellation level of the EC 110 is inadequate. The SEL 511L selects SE′ [f, ω] for a frequency bin other than the above.
The ER 511 can thus operate separately from the EC 110 if the echo cancellation level of the EC 110 is inadequate, i.e., estimation accuracy of the EC 110 is inadequate.
A flow of operation of the communication apparatus of the fifth embodiment will be described with reference to FIGS. 22 and 23. FIG. 22 is a flow chart showing the flow as a whole. Each of steps shown in FIG. 22 being a same as the corresponding one shown in FIG. 5, the flow chart of the first embodiment, is given the same reference numeral and its explanation is omitted.
The communication apparatus of the first embodiment performs echo reduction at the step S1006. The communication apparatus of the fifth embodiment performs echo reduction of another kind by using a signal produced as a result of the echo cancellation at the step S1005 (step S5006). The communication apparatus then determines whether the call reaches an end at the step S1007.
The EC 110 of the fifth embodiment is a same as the EC110 of the first embodiment. As a matter of course, a flow of operation of the EC 110 of the fifth embodiment is a same as that of the first embodiment, and its explanation is omitted.
FIG. 23 is a flow chart of the echo reduction process of the ER 511 of the fifth embodiment. Each of steps shown in FIG. 23 being a same as the corresponding one shown in FIG. 7 or FIG. 12, the flow chart of the ER 111 of the first embodiment or of the NR 211 of the second embodiment, respectively, is given the same reference numeral and its explanation is omitted.
The ER 511 starts the echo reduction process and goes through the steps S1201r to S1203r, the steps S1201s to S1203s or the steps S1201e to S1203e. After one of the steps S1203r, S1203s and S1203e, the ACLE 511g produces the acoustic coupling level |HZS [f, ω]|2 from the smoothed received power spectrum |XS [f, ω]|2 and the smoothed sent power spectrum |ZS [f, ω]|2 (step S5204s). The ACLE 511g similarly produces the acoustic coupling level |HES [f, ω]|2 from the smoothed received power spectrum |XS [f, ω]|2 and the smoothed sent power spectrum |ZS [f, ω]|2 (step S5204e).
The ELE 511h estimates the sent echo level |YZS [f, ω]|2 from the acoustic coupling level |HZS [f, ω]|2 and the smoothed received power spectrum |XS [f, ω]|2 (step S5205s). The ELE 511h similarly estimates the residual echo level |YES [f, ω]|2 from the acoustic coupling level |HES [f, ω]|2 and the smoothed received power spectrum |XS [f, ω]|2 (step S5205e).
The GCAL 511n is provided by the ELE 511h with the sent echo level |YZS [f, ω]|2 and provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2. The GCAL 511n produces the sent echo reduction gain GZ [f, ω], and controls and keeps GZ [f, ω] above a determined lower threshold (step S1208s).
The GCAL 511n is provided by the ELE 511h with the residual echo level |YES [f, ω]|2 and provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2. The GCAL 511n produces the residual echo reduction gain GE [f, ω], and controls and keeps GE [f, ω] above a determined lower threshold (step S1208e).
Being provided then by the FT 111b with the frequency spectrum Z [f, ω] of the sent input signal and provided by the GCAL 511n with the sent echo reduction gain GZ [f, ω], the SS 511s suppresses the sent input signal, i.e., cancels an echo of the frequency spectrum of the sent input signal (step S5210s).
Being provided, similarly, by the FT 111c with the frequency spectrum E [f, ω] of the residual signal and provided by the GCAL 511n with the residual echo reduction gain GE [f, ω], the SS 511t suppresses the residual signal, i.e., cancels an echo of the frequency spectrum of the residual signal (step S5210e).
After the step S1206 and the step S2207, the SEL 511L is provided by the SS 511s with SZ′ [f, ω], the frequency spectrum of the echo-suppressed sent input signal, provided by the ES 511t with SE′ [f, ω], the frequency spectrum of the echo-suppressed residual signal, and provided by the CTRL 511k with the control flag ERcontrol [f, ω].
The SEL 511L selects the frequency spectrum of the echo-suppressed sent input signal, SZ′ [f, ω], for a frequency bin where the echo cancellation level is inadequate. The SEL 511L selects and outputs the frequency spectrum of the echo-suppressed residual signal, SE′ [f, ω], for a frequency bin other than the above (step S5209). The IFT 111p inversely converts the frequency spectrum selected by the SEL 511L into the time domain (step S1211), and ends the echo reduction process.
In the above description, the ER 511 is of a frequency domain type and operates on a frequency bin-by-frequency bin basis. A method of grouping the frequency bins for the FFT and operating on a group-by-group basis may be implemented. The ER 511 may be implemented as a frequency domain type like a bandwidth division filter like a filter bank.
During variation of echo path loss when double talk occurs, the echo cancellation level of the EC 110 may be inadequate as the residual signal e [n] exceeds the sent input signal z [n] due to the echo cancellation of the EC 110.
In that event, according to the fifth embodiment described above, the ECLE 111i and the CTRL 511k may detect a frequency bin where the echo cancellation level of the EC 110 is inadequate. The SEL 511L and the GCAL 511n can vary weighting put on the EC 110 and put on the ER 511 for each frequency bin so the communication apparatus of the fifth embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
The ER 511 can avoid excessive echo reduction and can avoid producing a sent speech signal of low quality, as the ACLE 511g and the ELE 511h estimates the echo level included in the sent input signal z [n] and the echo level included in the residual signal e [n] separately, as the GCAL 511n produces the sent echo reduction gain GZ [f, ω] and the residual echo reduction gain GE [f, ω] separately, and as the SS 511s and the ES 511t performs echo reduction separately.
6 Sixth Embodiment of the Present Invention
A sixth embodiment of the present invention will be described with reference to FIGS. 24 to 30. FIG. 24 is a block diagram, of a communication apparatus of the sixth embodiment of the present invention. The communication apparatus of the sixth embodiment includes an echo canceller 610 (hereinafter shortened as the EC 610) and an echo reduction unit 611 (hereinafter shortened as the ER 611), instead of the EC 110 and the ER 111 of the first embodiment. Besides, the communication apparatus of the sixth embodiment includes an echo cancellation level estimator 612 (hereinafter shortened as the ECLE 612) outside of the ER 611.
Each of remaining portions of the communication apparatus of the sixth embodiment is a same as the corresponding portion of the communication apparatus of the first embodiment given the same reference numeral, and its explanation is omitted. Each of portions of the ER 611 being a same as the corresponding one of the ER 111 of the first embodiment is given the same reference numeral, and its explanation is omitted.
FIG. 25 is a block diagram of the EC 610 of the communication apparatus of the sixth embodiment. The EC 610 includes a frequency-domain transformer 610d (hereinafter shortened as the FT 610d), a frequency-domain adaptive filter 610e (hereinafter shortened as the FDADF 610e), a frequency-domain inverse-transformer 610f (hereinafter shortened as the IFT 610f), a signal subtractor 610g (hereinafter shortened as the ST 610g), a frequency-domain transformer 610h (hereinafter shortened as the FT 610h) and a frequency-domain double talk detector 610i (hereinafter shortened as the FDDTD 610i).
FIG. 26 is a block diagram of the ER 611 of the communication apparatus of the sixth embodiment. The ER 611 includes the FT 111a, the FT 111b, the FT 111c, the POW 111d, the POW 111e, the ELE 111h, the SEL 111L, the GTBL 111m, the SS 111o and the IFT 111p. The ER 611 includes an acoustic coupling level estimator 611g (hereinafter shortened as the ACLE 611g), a controller 611k (hereinafter shortened as the CTRL 611k), an echo reduction gain generator 611n (hereinafter shortened as the GCAL 611n) and a sent output power evaluation unit 611u (hereinafter shortened as the POW 611u).
FIG. 27 is a block diagram of the ACLE 611g including a minor acoustic coupling level estimator 611g1 (hereinafter shortened as the CACL 611g1), an acoustic coupling level correction unit 611g2 (hereinafter shortened as the ADJ 611g2) and an acoustic coupling level smoother 611g3 (hereinafter shortened as the SMACL 611g3).
Operation of each portion of the communication apparatus of the sixth embodiment as configured above will be described with reference to FIGS. 24 to 27.
The EC 610 is provided by the HPF 109 with the sent input signal z [n] and provided by the DL 102 with the delayed received input signal x [n-D]. The EC 610 cancels an echo component of the sent input signal z [n] according to an overlap-save method or an overlap-add method. The EC 610 thus produces a residual signal e [n] (n=0, 1, . . . , N−1), and produces a filter coefficient HFDAF [f, ω] and an estimation of echo path loss λFDAF [f, ω]. Being provided by the DL 102 with the delayed received input signal x [n-D], the FT 610d converts x [n-D] into a frequency domain representation by using a method of fast Fourier transform (FFT), etc., and produces a frequency spectrum of the received input signal, XFDAF [f, ω]. Meanwhile, the FT 610d may use a method of Hamming windowing, a past frame, a method of zero padding or a method of overlapping according to the overlap-save method or the overlap-add method.
The FDADF 610e is a frequency-domain adaptive filter configured by a transversal filter having a variable filter coefficient HFDAF [f, ω]. The FDADF 610e is provided by the FT 610d with the frequency spectrum of the received input signal, XFDAF [f, ω]. The FDADF 610e is provided by the FT 610h with a frequency spectrum of the residual signal one frame ago, EFDAF [f−1, ω]. The FDADF 610e is provided by the FDDTD 610i with a double talk flag ECstate [f, ω].
If the double talk flag ECstate [f, ω] indicates nonexistence of double talk, the FDADF 610e adaptively learns the filter coefficient HFDAF [f, ω] for each frame f and for each frequency bin ω. If the double talk flag ECstate [f, ω] indicates existence of double talk, the FDADF 610e does not adaptively learn. The FDADF 610e thus produces the filter coefficient HFDAF [f, ω].
The FDADF 610e produces a frequency spectrum Y′FDAF [f, ω] of an echo replica signal by using the frequency spectrum XFDAF [f, ω] of the received input signal provided by the FT 610d, and the filter coefficient HFDAF [f, ω], i.e., Y′FDAF [f, ω]=HFDAF [f, ω]·XFDAF [f, ω].
The FDADF 610e controls a speed of learning the filter coefficients HFDAF [f, ω] by using a variable or constant representing a value of step-size μF[f, ω].
The FDADF 610e may be based on a linear adaptive algorithm like a least-mean-square (LMS) algorithm, a normalized least-mean-square (NLMS) algorithm, an Affine projection or a recursive-least-squares (RLS) algorithm. The FDADF 610e may be based on a nonlinear adaptive algorithm like a gradient-limited normalized least-mean-square (GL-NLMS) algorithm or an adaptive Volterra filter. Although being a gradient-unconstrained frequency-domain adaptive filter in the sixth embodiment, the FDADF 610e may be replaced by a gradient-constrained frequency-domain adaptive filter.
The IFT 610f is provided by the FDADF 610e with the frequency spectrum of an echo replica signal, Y′FDAF [f, ω]. The IFT 610e produces an echo replica signal yFDAF′ [n] (n=0, 1, . . . , N−1) by using, e.g., a method of inverse fast Fourier transform (IFFT). The IFT 610e may use a past frame or a method of zero padding or may remove overlapping as necessary according to the overlap-save method or the overlap-add method.
The ST 610g is provided by the HPF 109 with the sent input signal z [n] and provided by the IFT 610f with the echo replica signal yFDAF′ [n]. The ST 610g subtracts the echo replica signal yFDAF′ [n] from the sent input signal z [n] for each sample n. After canceling an echo component, the ST 610g produces a residual signal e [n].
The FT 610h is provided by the ST 610g with the residual signal e [n] in the time domain. Converting the residual signal e [n] into the frequency domain by using, e.g., a method of fast Fourier transform (FFT), the FT 610h produces a frequency spectrum of the residual signal, EFDAF [f, ω]. The FT 610h may use a method of Hamming windowing, a past frame, a method of zero padding or a method of overlapping as necessary according to the overlap-save method or the overlap-add method.
The FDDTD 610i is provided by the FT 610d with the frequency spectrum XFDAF [f, ω] of the received signal and provided by the FT 610h with the frequency spectrum of the residual signal one frame ago, EFDAF [f−1, ω]. The FDDTD 610i determines whether double talk occurs for each frame f and for each frequency bin ω. The FDDTD 610i produces the double talk flag ECstate [f, ω] indicating whether double talk occurs. The FDDTD 610i produces the estimation of echo path loss λFDAF [f, ω].
Specifically speaking, the FDDTD 610i produces the power spectrum |XFDAF [f, ω]|2 of the received signal and the power spectrum of the residual signal one frame ago, |EFDAF [f−1, ω]|2, for each frame f and for each frequency bin ω. The FDDTD 610i determines occurrence of double talk if a following inequality is true, i.e., |EFDAF [f−1, ω]|2>λFDAF [f, ω]·|XFDAF [f, ω]|2. The estimation of echo path loss λFDAF [f, ω] is a variable which decreases if the adaptive learning moves ahead and increases if the adaptive learning is wrong. The estimation of echo path loss λFDAF [f, ω] is updated and produced for each frame f and for each frequency bin ω where the filter coefficient HFDAF [f, ω] is adaptively learned.
In this case, the EC 610 stores the filter coefficients HFDAF [f, ω], the value of step-size μF[f, ω], the value of echo path loss estimated λFDAF [f, ω], the double talk flag ECstate [f, ω], the power spectrum |XFDAF [f, ω]|2, and the power spectrum |EFDAF [f, ω]|2 in memory as an internal condition.
The ECLE 612 is provided by the FDADF 610e with the filter coefficient HFDAF [f, ω] and provided by the FDDTD 610i with the estimation of echo path loss λFDAF [f, ω]. The ECLE 612 estimates the echo cancellation level of the EC 610, ECL [f, ω], for each frequency bin ω. Specifically speaking, if no double talk occurs, the ECLE 612 approximates the power spectrum of the residual signal |EFDAF [f, ω]|2 as |EFDAF [f, ω]|2=λFDAF [f, ω]·|XFDAF [f, ω]|2.
The ECLE 612 produces the ECL [f, ω] as a ratio of λFDAF [f, ω] to a power spectrum of the sent input signal |Y′FDAF [f, ω]+EFDAF [f, ω]|2 according to Eq. 39.




  
    
      
        
          ECL
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              λ
              FDAF
            
            ⁡
            
              [
              
                f
                ,
                ω
              
              ]
            
          
          
            
              (
              
                
                  
                  
                    
                      H
                      FDAF
                    
                    ⁡
                    
                      [
                      
                        f
                        ,
                        ω
                      
                      ]
                    
                  
                  
                
                +
                
                  
                    
                      λ
                      FDAF
                    
                    ⁡
                    
                      [
                      
                        f
                        ,
                        ω
                      
                      ]
                    
                  
                
              
              )
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          39
        
        )
      
    
  




The ER 611 performs echo reduction, i.e., suppresses an echo component based on the received signal x [n], the sent input signal z [n] and the residual signal e [n]. The ER 611 produces a sent output signal s′ [n] as a result of the echo reduction (n=0, 1, . . . , N−1).
The ACLE 611g is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2 and provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2. The ACLE 611g is provided by the ECLE 612 with the echo cancellation level ECL [f, ω], provided by the FDTD 611j with a frequency-domain double talk flag ERstate [f, ω] and provided by the ELE 111h with the echo level one frame ago, |YS [f−1, ω]|2. The ACLE 611g produces a smoothed corrected acoustic coupling level, |HS [f, ω]|2.
The CACL 611g1 is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2 and provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2. The CACL 611g1 produces the acoustic coupling level |H [f, ω]|2 not by using |ES [f, ω]|2 based on the residual signal but by using |ZS [f, ω]|2 based on the sent input signal, according to Eq. 40, so as not to be affected by the echo cancellation performance of the EC 610.




  
    
      
        
          
            
            
              H
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                
                  Z
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          40
        
        )
      
    
  




The ADJ 611g2 is provided by the CACL 611g1 with the acoustic coupling level |H [f, ω]|2 and provided by the ECLE 612 with the echo cancellation level ECL [f, ω]. The ADJ 611g2 is provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2 and provided by the ELE 111h with the echo level one frame ago, |YS [f−1, ω]|2. The ADJ 611g2 produces a corrected acoustic coupling level |H′ [f, ω]|2 by correcting the acoustic coupling level H [f, ω]|2.
Specifically speaking, the ADJ 611g2 determines for each frequency bin ω at first that the echo cancellation level of the EC 610 is inadequate if both of following inequalities are true, i.e., ECL [f, ω]>βACL [ω] and count>βCACL, where βACL [ω] is preferably from −35 to 8 dB and βCACL is preferably from 10 to 40 percent as many as all frequency bins. The parameter count represents for how many frequency bins per one frame a following inequality is true, i.e., ECL [f, ω]>βACL [ω]. In the sixth embodiment, βACL [ω] is assumed to be 0 dB hereafter.
For a frequency bin where the ADJ 611g2 determines that the echo cancellation level is adequate, the ADJ 611g2 corrects the acoustic coupling level |H [f, ω]|2 according to Eq. 41 and produces the corrected acoustic coupling level |H′ [f, ω]|2, only if the echo level one frame ago, |YS [f−1, ω]|2, is greater than the sent power spectrum |ZS [f, ω]|2.




  
    
      
        
          
            
            
              
                H
                ′
              
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                H
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          ·
          
            
              
                
                
                  
                    Y
                    S
                  
                  ⁡
                  
                    [
                    
                      
                        f
                        -
                        1
                      
                      ,
                      ω
                    
                    ]
                  
                
                
              
              2
            
            
              
                
                
                  
                    Z
                    S
                  
                  ⁡
                  
                    [
                    
                      f
                      ,
                      ω
                    
                    ]
                  
                
                
              
              2
            
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          41
        
        )
      
    
  




Unless the above conditions are satisfied, the ADJ 611g2 sets |H′ [f, ω]|2 equal to |H [f, ω]|2 without correction, i.e., |H′ [f, ω]|2=|H [f, ω]|2. Neither does the ADJ 611g2 for a frequency bin for which the ADJ 611g2 determines that the echo cancellation level of the EC 610 is inadequate.
The SMACL 611g3 is provided by the ADJ 611g2 with the corrected acoustic coupling level |H′ [f, ω]|2 and provided by the FDTD 611j with the frequency-domain double talk flag ERstate [f, ω]. The SMACL 611g3 produces the corrected acoustic coupling level |HS [f, ω]|2 smoothed by using a value thereof one frame ago according to Eq. 42, where αH [ω] is preferably from 0.03 to 0.09.

|HS[f,ω]|2=αH[ω]·|H′[f,ω]|2+(1−αH[ω])·|HS[f−1,ω]|2  (Eq. 42)

The SMACL 611g3 gives αH [ω] a relatively large value, e.g. for five seconds after a voice call begins so that the acoustic coupling level |HS [f, ω]|2 may be quickly updated for that while. As the acoustic coupling level is thus initialized, the communication apparatus may prevent its echo cancellation level from decreasing for that while.
If the frequency-domain double talk flag ERstate [f, ω] provided by the FDTD 611j indicates occurrence of double talk, however, the SMACL 611g3 uses a value of the acoustic coupling level one frame ago, |HS [f−1, ω]|2, without updating the acoustic coupling level so as to maintain ability to track variation of an echo path quickly and to avoid producing the acoustic coupling level for a frequency bin where the double talk occurs.
So does the SMACL 611g3 if the acoustic coupling level steeply changes, i.e., |HS [f, ω]|2>βH [ω]·|HS [f−1, ω]|2, or if amplitude of the received input signal is not great enough, i.e., |XS [f, ω]|2<βX [ω].
As occurrence of double talk may cause a very steep change of the acoustic coupling level, the communication apparatus can avoid producing a sent speech signal of low quality by not updating the acoustic coupling level. In the above inequalities, βH [ω] is preferably from 0.9 to 30, and βX [ω] is preferably from 30 to 40 dB.
The FDTD 611j is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2 and provided by the POW 611u with a smoothed sent output power spectrum one frame ago, |S′S [f−1, ω]|2. The FDTD 611j produces the frequency-domain double talk flag ERstate [f, ω] indicating whether double talk occurs. Specifically, the FDTD 611j determines occurrence of double-talk if a following inequality is true, i.e., |S′S [f−1, ω]|2>λER [f, ω]·|XS [f, ω]|2.
In the above inequality, λER [f, ω] is an estimation of the echo path loss, and is updated for each frame f and for each frequency bin ω where the acoustic coupling level |HS [f, ω]|2 is updated. The estimation of the echo path loss, λER [f, ω], is a variable which decreases as the acoustic coupling level |HS [f, ω]|2 is steadily updated but otherwise increases.
The CTRL 611k is provided by the ECLE 612 with the echo cancellation level ECL [f, ω] and is provided by the FDTD 611j with the frequency-domain double talk flag ERstate [f, ω]. The CTRL 611k determines occurrence of double talk and determines that the echo cancellation level of the EC 610 is inadequate for each frequency bin ω. The CTRL 611k produces a control flag ERcontrol [f, ω] indicating whether double talk occurs and whether the echo cancellation level is inadequate for each frequency bin ω.
The CTRL 611k determines whether double talk occurs according to the FDTD 611j that determines whether double talk occurs for each frequency bin ω.
The CTRL 611k determines for each frequency bin ω that the echo cancellation level of the EC 610 is inadequate if both of following inequalities are true, i.e., ECL [f, ω]>βZ [ω] and count>βC, where βZ [ω] is preferably from −15 to 8 dB and βZ is preferably from 10 to 40 percent as many as all frequency bins. The parameter count represents for how many frequency bins per one frame a following inequality is true, i.e., ECL [f, ω]>βZ [ω]. In the sixth embodiment, βZ [ω] is assumed to be 2.5 (8 dB) hereafter.
The GCAL 611n is provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2, provided by the ELE 111h with the smoothed echo level |YS [f, ω]|2 and provided by the ECLE 612 with the echo cancellation level ECL [f, ω]. The GCAL 611n is provided by the CTRL 611k with the control flag ERcontrol [f, ω] and provided by the GTBL 111m with the parameter γ [ω]. The GCAL 611n produces a smoothed echo reduction gain GS [f, ω].
Specifically speaking, for a frequency bin for which the CTRL 611k determines occurrence of double talk and determines that the echo cancellation level of the EC 610 is inadequate, the GCAL 611n produces the echo reduction gain G [f, ω] by using a Wiener filter method according to Eq. 43.




  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          (
          
            1
            -
            
              
                γ
                ⁡
                
                  [
                  ω
                  ]
                
              
              ·
              
                
                  
                    
                    
                      
                        Y
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
                
                  
                    
                    
                      
                        Z
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
              
            
          
          )
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          43
        
        )
      
    
  




For a frequency bin other than the above, it is assumed that the echo cancellation level of the EC 610 is adequate and that the EC 610 works properly. The GCAL 611n then corrects the echo reduction gain G [f, ω] by using a function F (ECL [f, ω]) according to Eq. 44 so that the echo reduction level of the ER 611 increases. The function F (ECL [f, ω]) includes the echo cancellation level of the EC 610 as a variable, and satisfies a following inequality, i.e., 0≦F (ECL [f, ω])≦1.




  
    
      
        
          G
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            (
            
              1
              -
              
                
                  γ
                  ⁡
                  
                    [
                    ω
                    ]
                  
                
                ·
                
                  
                    
                      
                      
                        
                          Y
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                  
                    
                      
                      
                        
                          Z
                          S
                        
                        ⁡
                        
                          [
                          
                            f
                            ,
                            ω
                          
                          ]
                        
                      
                      
                    
                    2
                  
                
              
            
            )
          
          ·
          
            F
            ⁡
            
              (
              
                ECL
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              )
            
          
        
      
    
    
      
        (
        44
        )
      
    
  




The function F (ECL [f, ω]) is defined by Eq. 45-1 if the variable ECL [f, ω] satisfies a following inequality, i.e., 0≦ECL [f, ω]≦1.

F(ECL[ƒ, ω])=ECL[ƒ, ω]  (Eq. 45-1)

The function F (ECL [f, ω]) is defined by Eq. 45-2 if the variable ECL [f, ω] satisfies a following inequality, 1≦ECL [f, ω]≦βZ [ω].

F(ECL[ƒ, ω])=1  (Eq. 45-2)

The function F (ECL [f, ω]) is defined by Eq. 45-3 or Eq. 45-4 if the variable ECL [f, ω] satisfies a following inequality, i.e., βZ [ω]≦ECL [f, ω].




  
    
      
        
          F
          ⁡
          
            (
            
              ECL
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            )
          
        
        =
        
          
            δ
            C
          
          Count
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            45
          
          ⁢
          
            -
          
          ⁢
          3
        
        )
      
    
  
  
    
      
        
          F
          ⁡
          
            (
            
              ECL
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            )
          
        
        =
        
          
            δ
            C
          
          
            ECL
            ⁡
            
              [
              
                f
                ,
                ω
              
              ]
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            45
          
          ⁢
          
            -
          
          ⁢
          4
        
        )
      
    
  




It can be avoided that the corrected echo reduction gain takes a nonnatural value by setting the function F (ECL [f, ω]), a gain correcting the echo reduction gain, satisfying the inequality 0≦ECL [f, ω]≦1. Hence it may be avoided that the communication apparatus produces a sent speech signal of low quality.
In a case where the echo cancellation level of the EC 610 is inadequate (βZ [ω]≦ECL [f, ω]), the echo reduction gain may be corrected by setting the function F (ECL [f, ω]) nonlinear as described here so that the echo cancellation level increases.
The GCAL 611n controls and keeps the echo reduction gain G [f, ω] above a determined lower threshold so as to prevent the sent speech from deteriorating inequality due to excessive echo reduction and so as to avoid suppressing background noise intermittently.
The GCAL 611n may evaluate a level of background noise for each frequency bin ω by using a level of the sent input signal z [n] or the residual signal e [n] in an interval not being active-voice. The GCAL 611n may control and keep the echo reduction gain G [f, ω] above the level of the background noise so as to communication apparatus from producing a sent speech signal of low quality due to excessive echo reduction.
The GCAL 611n may smooth the echo reduction gain G [f, ω] in the frequency domain according to Eq. 46-1 or Eq. 46-2 so as to prevent the communication apparatus from producing a sent speech signal of low quality. In these equations, εj may be [0.1, 0.2, 0.4, 0.2, 0.1], and ηj may be [0.1, 0.2, 0.4, 0.8, 0.4, 0.2, 0.1] for instance.




  
    
      
        
          
            G
            S
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              
                ɛ
                j
              
              ·
              
                G
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      3
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              5
            
            ⁢
            
              ɛ
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            46
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          
            G
            S
          
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              
                η
                j
              
              ·
              
                G
                ⁡
                
                  [
                  
                    f
                    ,
                    
                      ω
                      +
                      j
                      -
                      4
                    
                  
                  ]
                
              
            
          
          
            
              ∑
              
                j
                =
                1
              
              7
            
            ⁢
            
              η
              j
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            46
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  




The POW 611u is provided by the SS 111o with the frequency spectrum S′ [f, ω] and produces a sent output power spectrum |S′ [f, ω]|2. The POW 611u produces a sent output power spectrum |S′S [f, ω]|2 smoothed by using a value thereof one frame ago, |S′S [f−1, ]|2, according to Eq. 47, where αS [ω] is preferably from 0.75 to 0.999.

|S′S[f,ω]|2=αS[ω]·|S′[f,ω]|2+(1−αS[ω])·|S′S[f−1,ω]|2  (Eq. 47)

A flow of operation of the communication apparatus of the sixth embodiment will be described with reference to FIGS. 28 to 30. FIG. 28 is a flow chart showing the flow as a whole. Each of steps shown in FIG. 28 being a same as the corresponding one shown in FIG. 5, the flow chart of the first embodiment, is given the same reference numeral and its explanation is omitted.
The received input signal x [n] is delayed at the step S1004. Being provided then with the delayed received input signal x [n-D] and the offset-removed sent input signal z [n], the EC 610 performs echo cancellation (step S6005).
Being provided by the FDADF 610e with the filter coefficient HFDAF [f, ω] and provided by FDDTD 610i with the estimation of echo path loss λFDAF [f, ω], the ECLE 612 estimates the echo cancellation level ECL [f, ω] of the EC 610 (step S6008).
Being provided with the delayed received input signal x[n-D] and the offset-removed sent input signal z [n], and provided by the EC 610 with the residual signal e [n] as a result of the echo cancellation, the ER 611 performs echo reduction, i.e., nonlinear echo cancellation (step S6006). The communication apparatus then determines whether the call reaches an end at the step S1007.
FIG. 29 is a flow chart of the echo-cancellation process of the EC 610 of the sixth embodiment.
The flow of echo cancellation process of the EC 610 shown in FIG. 29 will be described as follows. At first, the EC 610 converts the received input signal into the frequency domain and produces the frequency spectrum of the received input signal, XFDAF [f, ω]. The FDDTD 610i then detects occurrence of double talk in the frequency domain by using the frequency spectrum of the received signal, XFDAF [f, ω], and the frequency spectrum of the residual signal one frame ago, EFDAF [f−1, ω] (step S6101).
The FDADF 610e performs an adaptive filtering process in the frequency domain according to the double talk flag ECstate [f, ω] by using the frequency spectrum of the received signal, XFDAF [f, ω], and the frequency spectrum of the residual signal one frame ago, EFDAF [f−1, ω] (step S6102).
The IFT 610f inversely converts the frequency spectrum of the echo replica signal, Y′FDAF [f, ω], into the time domain and produces the echo replica signal, y′FDAF [n]. The ST 610g subtracts the echo replica signal, y′FDAF [n], from the sent input signal z [n] and produces the residual signal e [n]. The EC 610 then ends the echo cancellation process.
FIG. 30 is a flow chart of the echo reduction process of the ER 611 of the sixth embodiment. Each of steps shown in FIG. 30 being a same as the corresponding one shown in FIG. 7, the flow chart of processing of the ER 111 of the first embodiment, is given the same reference numeral and its explanation is omitted.
FIG. 30 does not include a step corresponding to the step 1203e shown in FIG. 7, producing the frequency spectrum of the residual signal, E [f, ω].
The ER 611 of the sixth embodiment starts the echo reduction process and goes through the steps S 1201r to S1203r, the steps S1201s to S1203s or the steps S1201e to S1202e. After one of the steps S1203r, S1203s or S1202e, the FDTD 611j produces the frequency-domain double talk flag ERstate [f, ω] indicating whether double talk occurs. The ACLE 611g produces the acoustic coupling level |HS [f, ω]|2 that is corrected and smoothed based on the smoothed received power spectrum |XS [f, ω]|2, the smoothed sent power spectrum |ZS [f, ω]|2, the echo cancellation level ECL [f, ω] provided by the ECLE 612 and the frequency-domain double talk flag ERstate [f, ω] (step S6204).
The ELE 111h estimates the echo level included in the sent input signal at the step S1205. Being provided then with the echo cancellation level ECL [f, ω] and the frequency-domain double talk flag ERstate [f, ω], the CTRL 611k determines for each frequency bin ω whether double talk occurs and whether the echo cancellation level of the EC 610 is inadequate, and produces the control flag ERcontrol [f, ω] (step S6207).
Being provided with the smoothed sent power spectrum |ZS [f, ω]|2, the echo level |YS [f, ω]|2, the echo cancellation level ECL [f, ω], the control flag ERcontrol [f, ω] and the parameter γ [ω], the GCAL 611n produces the echo reduction gain G [f, ω] (step S6208).
After the steps S1209 and S1210, the POW 611u produces the sent output power spectrum (step S6203ss). The IFT 111p then inversely converts the frequency spectrum S′ [f, ω] provided by the SS 111o into the time domain (step S1211) and ends the echo reduction.
Although being implemented as a frequency-domain type adaptive filter based on the overlap-save method or the overlap-add method as described above, the EC 610 may be implemented as a frequency-domain type adaptive filter based on a circular-convolution method.
In the above description, the ER 611 is of a frequency domain type performing FFT and operates on a frequency bin-by-frequency bin basis. A method of grouping the frequency bins by FFT and operating on a group-by-group basis may be implemented. The ER 611 may be implemented as a frequency domain type like a bandwidth division filter like a filter bank.
According to the sixth embodiment described above, the ECLE 612 and the CTRL 611k may detect a frequency bin where the echo cancellation level of the EC 610 is inadequate. The SEL 111L and the GCAL 611n can vary weighting put on the EC 610 and on the ER 611 for each frequency bin so that the communication apparatus of the sixth embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
6A Variation of the Sixth Embodiment
A variation of the sixth embodiment will be described as follows. A communication apparatus of the variation of the sixth embodiment includes an echo reduction unit 6112 (hereinafter shortened as the ER 6112) instead of the ER 611 of the sixth embodiment.
FIG. 31 is a block diagram of the ER 6112. The ER 6112 includes an acoustic coupling level estimator 611g2 (hereinafter shortened as the ACLE 611g2) instead of the ACLE 611g of the ER 611. Each of remaining portions of the ER 6112 is a same as the corresponding one of the ER 611 given the same reference numeral, and its explanation is omitted.
FIG. 32 is a block diagram of the ACLE 611g2. The ACLE 611g2 includes a minor acoustic coupling level estimator 611g1-2 (hereinafter shortened as the CACL 611g1-2), an acoustic coupling level correction unit 611g2-2 (hereinafter shortened as the ADJ 611g2-2) and an acoustic coupling level smoother 611g3-2 (hereinafter shortened as the SMACL 611g3-2).
The CACL 611g1-2 is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2 and provided by the FDTD 611j with the frequency-domain double talk flag ERstate [f, ω]. The CACL 611g1-2 produces an acoustic coupling level |H [f, ω]|2 for each frequency bin ω not by using |ES [f, ω]|2 based on the residual signal but by using |ZS [f, ω]|2 based on the sent input signal, according to Eq. 48, so as not to be affected by the echo cancellation performance of the EC 610.




  
    
      
        
          
            
            
              H
              ⁡
              
                [
                
                  f
                  ,
                  ω
                
                ]
              
            
            
          
          2
        
        =
        
          
            
              
              
                
                  Z
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          48
        
        )
      
    
  




If the frequency-domain double talk flag ERstate [f, ω] provided by the FDTD 611j indicates occurrence of double talk, however, the ACLE 611g1-2 uses a value of the acoustic coupling level one frame ago, |H [f−1, ω]|2, without updating the acoustic coupling level so as to maintain ability to track variation of an echo path quickly and to avoid producing the acoustic coupling level for a frequency bin where the double talk occurs.
So does the ACLE 611g1-2 if the acoustic coupling level steeply changes, i.e., |H [f, ω]|2>βH [ω]·|H [f−1, ω]|2, or if amplitude of the received input signal is not great enough, i.e., |XS [f, ω]|2<βX [ω], where βH [ω] is preferably from 0.9 to 30, and βX [ω] is preferably from 30 to 40 dB.
As occurrence of double talk may cause a very steep change of the acoustic coupling level, the communication apparatus may avoid producing a sent speech signal of low quality by not updating the acoustic coupling level.
The SMACL 611g3-2 is provided by the CACL 611g1-2 with the acoustic coupling level |H [f, ω]|2 and provided by the ECLE 612 with the echo cancellation level ECL [f, ω]. The SMACL 611g3-2 produces the acoustic coupling level |HS′ [f, ω]|2 smoothed by using a value thereof one frame ago according to Eq. 49.

|HS′[f,ω]|2=αH[ω]·|H[f,ω]|2+(1−αH[ω])·|HS′[f−1,ω]|2  (Eq. 49)

In Eq. 49, αH [ω] is preferably from 0.03 to 0.99, and is set variable for each frequency bin ω based on the echo cancellation level ECL [f, ω] of the EC 610. The more adequate the echo cancellation level ECL [f, ω] is, the nearer to zero αH [ω] is. The less adequate the echo cancellation level ECL [f, ω] is, the nearer to one αH [ω] is.
The ADJ 611g2-2 is provided by the SMACL 611g3-2 with the smoothed acoustic coupling level |HS′ [f, ω]|2 and provided by the ECLE 612 with the echo cancellation level ECL [f, ω]. The ADJ 611g2-2 produces the corrected acoustic coupling level |HS [f, ω]|2.
Specifically speaking, the ADJ 611g2-2 determines at first whether the echo cancellation level ECL [f, ω] of the EC 610 is adequate for each frequency bin ω. For a frequency bin where the ADJ 611g2-2 determines that the echo cancellation level ECL [f, ω] of the EC 610 is adequate, the ADJ 611g2-2 corrects the acoustic coupling level |HS′ [f, ω]|2 smoothed by using a coefficient βHACL [ω] according to Eq. 50 so as to produce the corrected acoustic coupling level |HS [f, ω]|2, where 0<βHACL [ω]≦1.

|HS[f,ω]|2=|HS′[f,ω]|2·βHACL[ω]  (Eq. 50)

For a frequency bin where the ADJ 611g2-2 determines that the echo cancellation level ECL [f, ω] of the EC 610 is inadequate, the ADJ 611g2 sets |HS [f, ω]|2 equal to |HS′ [f, ω]|2, i.e., |HS [f, ω]|2=|HS′ [f, ω]|2, without correcting the smoothed acoustic coupling level |HS′ [f, ω]|2. According to the variation of the sixth embodiment described above, the communication apparatus may avoid producing a sent speech signal of low quality in a case where variation of echo path loss is not very often.
7 Seventh Embodiment of the Present Invention
A seventh embodiment of the present invention will be described with reference to FIGS. 33 to 40. FIG. 33 is a block diagram of a communication apparatus of the seventh embodiment. The communication apparatus of the seventh embodiment includes an echo canceller 710 (hereinafter shortened as the EC 710), an echo reduction unit 711 (hereinafter shortened as the ER 711) and an echo cancellation level estimator 712 (hereinafter shortened as the ECLE 712) instead of the EC 610, the ER 611 and the ECLE 612 of the sixth embodiment, respectively.
Each of remaining portions of the communication apparatus of the seventh embodiment is a same as the corresponding one of the communication apparatus of the sixth embodiment given the same reference numeral, and its explanation is omitted. Each of portions of the ER 711 being a same as the corresponding one of the ER 111 of the first embodiment or of the ER 611 of the sixth embodiment is given the same reference numeral, and its explanation is omitted.
FIG. 34 is a block diagram of the EC 710 of the seventh embodiment. The EC 710 includes a time-domain echo canceller (hereinafter shortened as the TDAF) and a frequency-domain echo canceller (hereinafter shortened as the FDAF) coupled to the TDAF in series, i.e., a signal produced by the TDAF is applied to and processed by the FDAF.
The TDAF is a same as the EC 110 of the first embodiment. The FDAF is a same as the EC 610 of the sixth embodiment.
The DL 102 provides the TDAF (EC 110) and the FDAF (EC 610) with a delayed received input signal x [n-D]. The EC 110 provides the EC 610 with a residual signal e [n] as a sent input signal z [n]. The TDAF is given the same reference numeral as that of the EC 110. The FDAF is given the same reference numeral as that of the EC 610. In this case, an internal condition of the EC 710 is a same as a condition combined the internal condition of the EC110 and the EC610 in memory as an internal condition. An explanation of the EC 710 is omitted.
FIG. 35 is a block diagram of the ER 711. The ER 711 includes the FT 111a, the FT 111b and the FT 111c. The ER 711 includes the POW 111d, the POW 111e and the POW 111f. The ER 711 includes the CTRL 611k, the SEL 111L, the GCAL 611n, the SS 111o and the IFT 111p. The ER 711 includes an echo level estimator 711h (hereinafter shortened as the ELE 711h) and a frequency-domain double talk detector 711j (hereinafter shortened as the FDTD 711j).
FIG. 36 is a block diagram of the ELE 711h. The ELE 711h includes a signal subtractor 711h1 (hereinafter shortened as the ST 711h), an echo level controller 711h2 (hereinafter shortened as the ELECTRL 711h2), a variable gain amplifier 711h3 (hereinafter shortened as the VGA 711h3), a variable gain amplifier 711h4 (hereinafter shortened as the VGA 711h4) and a signal adder 711h5 (hereinafter shortened as the ADD 711h5).
Operation of each portion of the communication apparatus of the seventh embodiment as configured above will be described with reference to FIGS. 33 to 36.
At first, the ECLE 712 is provided by the HPF 109 with the sent input signal z [n] and provided by the ST 610g of the EC 710 with the residual signal in the time domain, e [n]. The ECLE produces an estimation of the echo cancellation level of the EC 610 for each frequency bin ω.
Specifically speaking, at first, the ECLE 712 windows and overlaps the sent input signal z [n]. Converting a signal as a result of windowing and overlapping into the frequency domain by using an FFT method, the ECLE 712 produces a sent power spectrum, |Z′ [f, ω]|2. Next, the ECLE 712 windows and overlaps the residual signal e [n]. Converting a signal as a result of windowing and overlapping into the frequency domain by using an FFT method, the ECLE 712 produces a residual power spectrum, |E′ [f, ω]|2.
The ECLE 712 produces a ratio of the residual power spectrum |E′ [f, ω]|2 to the sent power spectrum |Z′ [f, ω]|2 according to Eq. 51. The ECLE 712 outputs the produced ratio as an echo cancellation level ECL [f, ω] of the EC 710.




  
    
      
        
          ECL
          ⁡
          
            [
            
              f
              ,
              ω
            
            ]
          
        
        =
        
          
            
              
              
                
                  E
                  ′
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  Z
                  ′
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          Eq
          .
          
            
          
          ⁢
          51
        
        )
      
    
  




Operation of the ER 711 of the seventh embodiment will be described with reference to FIGS. 35 and 36.
The ER 711 performs echo reduction, i.e., cancels an echo component based on the received signal x [n], the sent input signal z [n] and the residual signal e [n]. The ER 711 produces a sent output signal s′ [n] as a result of the echo reduction (n=0, 1, . . . , N−1).
The ELE 711h is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2 and provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2. The ELE 711h is provided by the ECLE 712 with the echo cancellation level ECL [f, ω] and provided by the FDTD 711j with a frequency-domain double talk flag ERstate [f, ω]. The ELE 711h produces a smoothed echo level |YS [f, ω]|2.
The ST 711h is provided by the POW 111e with the sent power spectrum |ZS [f, ω]|2 and provided by the POW 111f with the residual power spectrum |ES [f, ω]|2. The ST 711h subtracts the residual power spectrum |ES [f, ω]|2 from the sent power spectrum |ZS [f, ω]|2 for each frame f and for each frequency bin ω. The ST 711h produces a signal, |ZS [f, ω]|2−|ES [f, ω]|2, as a result of subtraction.
The ELECTRL 711h2 is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the POW 111e with the smoothed sent power spectrum |ZS [f, ω]|2 and provided by the POW 111f with the smoothed residual power spectrum |ES [f, ω]|2. The ELECTRL 711h2 is provided by the ECLE 712 with the echo cancellation level ECL [f, ω] and provided by the FDTD 711j with the frequency-domain double talk flag ERstate [f, ω]. The ELECTRL 711h2 provides the VGA 711h3 with a variable gain G1 [f, ω] and provides the VGA 711h4 with a variable gain G2 [f, ω].
Specifically speaking, the ELECTRL 711h2 at first produces following three parameters, GHZ, GHE and GHZE, according to Eqs. 52-1 to 52-3 in a single talk condition, which interference eliminator that the frequency-domain double talk flag ERstate [f, ω] indicates no occurrence of double talk contributing to accurate estimation of the echo level.




  
    
      
        
          G
          HZ
        
        =
        
          
            
              
              
                
                  Z
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            52
          
          ⁢
          
            -
          
          ⁢
          1
        
        )
      
    
  
  
    
      
        
          G
          HE
        
        =
        
          
            
              
              
                
                  E
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
              
                
                  X
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            52
          
          ⁢
          
            -
          
          ⁢
          2
        
        )
      
    
  
  
    
      
        
          G
          HZE
        
        =
        
          
            
              
              
                
                  E
                  S
                
                ⁡
                
                  [
                  
                    f
                    ,
                    ω
                  
                  ]
                
              
              
            
            2
          
          
            
              
                
                
                  
                    Z
                    S
                  
                  ⁡
                  
                    [
                    
                      f
                      ,
                      ω
                    
                    ]
                  
                
                
              
              2
            
            -
            
              
                
                
                  
                    E
                    S
                  
                  ⁡
                  
                    [
                    
                      f
                      ,
                      ω
                    
                    ]
                  
                
                
              
              2
            
          
        
      
    
    
      
        (
        
          
            Eq
            .
            
              
            
            ⁢
            52
          
          ⁢
          
            -
          
          ⁢
          3
        
        )
      
    
  




There are defined three functions of the echo cancellation level ECL [f, ω], i.e., FHZ (ECL [f, ω]), FHE (ECL [f, ω]) and FHZE (ECL [f, ω]), each of which values no less than zero and no more than one under control of the ELECTRL 711h2. If the echo cancellation level ECL [f, ω] is inadequate, the ELECTRL 711h2 lets FHZ (ECL [f, ω]) and FHZE (ECL [f, ω]) be small or near zero and lets FHE (ECL [f, ω]) be near one so that the echo level estimation is less affected by the residual power spectrum |ES [f, ω]|2.
If the echo cancellation level ECL [f, ω] is adequate, the ELECTRL 711h2 lets FHZ (ECL [f, ω]) be small or near zero and lets FHE (ECL [f, ω]) and FHZE (ECL [f, ω]) be near one so as to use the residual power spectrum |ES [f, ω]|2 with confidence. The ELECTRL 711h2 may determine whether the echo cancellation level ECL [f, ω] is adequate based on a same condition as that of the CTRL 611k of the sixth embodiment.
The ELECTRL 711h2 gives a value of the variable gain G1 [f, ω] according to Eq. 53-1. The ELECTRL 711h2 gives a value of the variable gain G2 [f, ω] according to Eq. 53-2.

G1[f,ω]=FHZ(E C L[f,ω])·GHZ+FHE(E C L[f,ω])·GHE  (Eq. 53-1)

G2[f,ω]=FHZE(E C L [f,ω])·GHZE  (Eq. 53-2)

The VGA 711h3 is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2 and provided by the ELECTRL 711h2 with the variable gain G1 [f, ω]. Multiplying |XS [f, ω]|2 and G1 [f, ω], the VGA 711h3 amplifies or attenuates the received power spectrum |XS [f, ω]|2.
The VGA 711h4 is provided by the ST 711h1 with the signal |ZS [f, ω]|2−|ES [f, ω]|2 and provided by the ELECTRL 711h2 with the variable gain G2 [f, ω]. Multiplying |ZS [f, ω]|2−|ES [f, ω]|2 and G2 [f, ω], the VGA 711h3 amplifies or attenuates the signal |ZS [f, ω]|2−|ES [f, ω]|2.
The ADD 711h5 is provided by the VGA 711h3 with |XS [f, ω]|2 multiplied by G1 [f, ω] and provided by the VGA 711h4 with |ZS [f, ω]|2−|ES [f, ω]|2 multiplied by G2 [f, ω]. The ADD 711h5 produces the smoothed echo level |YS [f, ω]|2. Specifically speaking, the ADD 711h5 adds |XS [f, ω]|2 multiplied by G1 [f, ω] and |ZS [f, ω]|2−|ES [f, ω]|2 multiplied by G2 [f, ω] to produce the echo level |Y [f, ω]|2 according to Eq. 54-1 for each frame f and for each frequency bin ω.
Smoothing the echo level |Y [f, ω]|2, the ADD 711h5 produces the smoothed echo level |YS [f, ω]|2 according to Eq. 54-2, where αY[ω] is preferably from 0.7 to 0.99. The ADD 711h5 may output the echo level |Y [f, ω]|2 without smoothing, as a matter of course.

|Y[f,ω]|2=G1[f,ω]·XS[f,ω]|2+G2[f,ω]·(|ZS[f,ω]|2−|ES[f,ω]|2)  (Eq. 54-1)

|YS[f,ω]|2=αY[ω]·|Y[f,ω]|2+(1−αY[ω])·|YS[f−1,ω]|2  (Eq. 54-2)

The FDTD 711j is provided by the POW 111d with the smoothed received power spectrum |XS [f, ω]|2, provided by the ELE 711h with the smoothed echo level one frame ago, |YS [f−1, ω]|2, and provided by the POW 111f with the smoothed received power spectrum |ES [f, λ]|2. The FDTD 711j produces the frequency-domain double talk flag ERstate [f, ω] indicating whether double talk occurs.
Specifically speaking, the FDTD 711j determines occurrence of double talk if a value on a left-hand side of Eq. 55 is greater than a threshold βY [ω] on a right-hand side of Eq. 55, where βY [ω] is preferably from 1.0 to 20.




  
    
      
        
          
            
              
                
                  
                  
                    
                      
                        
                        
                          
                            E
                            S
                          
                          ⁡
                          
                            [
                            
                              f
                              ,
                              ω
                            
                            ]
                          
                        
                        
                      
                      2
                    
                    -
                    
                      
                        
                        
                          
                            Y
                            S
                          
                          ⁡
                          
                            [
                            
                              
                                f
                                -
                                1
                              
                              ,
                              ω
                            
                            ]
                          
                        
                        
                      
                      2
                    
                  
                  
                
                
                  
                    
                    
                      
                        X
                        S
                      
                      ⁡
                      
                        [
                        
                          f
                          ,
                          ω
                        
                        ]
                      
                    
                    
                  
                  2
                
              
              >
              
                
                  β
                  Y
                
                ⁡
                
                  [
                  ω
                  ]
                
              
            
          
          
            
              (
              
                Eq
                .
                
                  
                
                ⁢
                55
              
              )
            
          
        
      
    
    
      
        
      
    
  




A flow of operation of the communication apparatus of the seventh embodiment will be described with reference to FIGS. 37 to 39. FIG. 37 is a flow chart showing the flow as a whole. Each of steps shown in FIG. 37 being a same as the corresponding one shown in FIG. 5, the flow chart of the first embodiment, is given the same reference numeral and its explanation is omitted.
Following the step S1004 and being provided with the delayed received input signal x [n-D] and the offset-removed sent input signal z [n], the EC 710 performs echo cancellation (step S7005).
Being provided by the HPF 109 with the sent input signal z [n] and provided by the ST 610g with the time-domain residual signal e [n], the ECLE 712 estimates the echo cancellation level of the EC 710, ECL [f, ω] (step S7008).
Being provided with the delayed received input signal x [n-D] and the offset-removed sent input signal z [n], and provided by the EC 710 with the residual signal e [n] as a result of the echo cancellation, the ER 711 performs echo reduction, i.e., nonlinear echo cancellation (step S7006). The communication apparatus then determines whether the call reaches an end at the step S1007.
FIG. 38 is a flow chart of the echo cancellation process of the EC 710 of the seventh embodiment. Each of steps shown in FIG. 38 being a same as the corresponding one shown in FIG. 6 or FIG. 29, the flow chart of the EC 110 of the first embodiment or of the EC 610 of the sixth embodiment, respectively, is given the same reference numeral and its explanation is omitted.
At first in FIG. 38, the EC 710 performs double talk detection at the step S1101 and adaptive filtering at the step S1102. The ST 110b subtracts the echo replica signal y′ [n] provided by the ADF 110a from the sent input signal z [n] so as to produce a residual signal eTDAF [n]. The EC 710 then performs frequency-domain double talk detection (step S6101) and frequency-domain adaptive filtering (step S6102). Subtracting the echo replica signal y′FADF [n] provided by the FDADF 610e from the residual signal eTDAF [n], the ST 610g produces the residual signal e [n] (step S6102). The EC 710 then ends the echo cancellation process.
FIG. 39 is a flow chart of the echo reduction process of the ER 711 of the seventh embodiment. Each of steps shown in FIG. 39 being a same as the corresponding one shown in FIG. 7 or FIG. 30, the flow chart of the EC 110 of the first embodiment or of the ER 611 of the sixth embodiment, respectively, is given the same reference numeral and its explanation is omitted.
After one of the steps S1203r, S1203s and S1203e, the FDTD 711j produces the frequency-domain double talk flag ERstate [f, ω] indicating whether double talk occurs. The ELE 711h is provided with the received power spectrum |XS [f, ω]|2, the sent power spectrum |ZS [f, ω]|2, the residual power spectrum |ES [f, ω]|2, the echo cancellation level ECL [f, ω] and the frequency-domain double talk flag ERstate [f, ω]. The ELE 711h produces the smoothed echo level |YS [f, ω]|2 (step S7205).
After the steps S6207, S6208, S 1209 and S1210, the IFT 111p inversely converts the frequency spectrum selected by the SEL 111L into the time domain (step S1211), and ends the echo reduction process.
In the above description, the ER 711 is of a frequency domain type performing FFT and operates on a frequency bin-by-frequency bin basis. A method of grouping the frequency bins for the FFT and operating on a group-by-group basis may be implemented. The ER 711 may be implemented as a frequency domain type like a bandwidth division filter like a filter bank.
According to the seventh embodiment described above, the ECLE 712 and the CTRL 111k may detect a frequency bin where the echo cancellation level of the EC 710 is inadequate. The SEL 111L and the GCAL 611n can vary weighting put on the EC 710 and on the ER 711 for each frequency bin so that the communication apparatus of the seventh embodiment can be robust against variation of echo path loss and can produce the sent output signal of high quality.
7A Variation of the Seventh Embodiment
A variation of the seventh embodiment will be described as follows. A communication apparatus of the variation of the seventh embodiment includes an echo canceller 710r (hereinafter shortened as the EC 710r) instead of the ER 710 of the seventh embodiment. The communication apparatus of the variation of the seventh embodiment includes an echo reduction unit 711r (hereinafter shortened as the ER 711r) instead of the ER 711 of the seventh embodiment. The communication apparatus of the variation of the seventh embodiment includes an echo cancellation level estimator 712r (hereinafter shortened as the ECLE 712r) instead of the ECLE 712 of the seventh embodiment.
The communication apparatus of the variation of the seventh embodiment includes a sent input signal buffer 713 (hereinafter shortened as the BUFF 713), a received input signal buffer 714 (hereinafter shortened as the BUFF 714) and a delay unit 702r (hereinafter shortened as the DL 702r).
The communication apparatus of the seventh embodiment is configured, as shown in FIG. 33, to cancel the echo caused by the received output signal acoustically coupled to the sent input-signal with reference to the received input signal. The communication apparatus of the variation of the seventh embodiment is configured, as shown in FIG. 40, to cancel an echo caused by a sent output signal acoustically coupled to the received input signal at a far end (not shown) with reference to, the sent output signal.
Each of remaining portions of the communication apparatus of the variation of the seventh embodiment is a same as the corresponding one of the communication apparatus of the seventh embodiment given the same reference numeral, and its explanation is omitted.
The BUFF 713 and the BUFF 714 are configured so that the echo generated at the far end may be canceled due to synchronization according to the method of echo cancellation disclosed in Japanese Patent Publication (Kokai), No. 2004-56453, or according to a method of estimating a delay by using cross correlation between the sent input signal and the received input signal.
The DL 702r, the EC 710r, the ER 711r and the ECLE 712r operate in a manner similar to the DL 102, the EC 710, the ER 711 and the ECLE 712 of the seventh embodiment, respectively. The communication apparatus of the variation of the seventh embodiment may thus be configured to cancel the echo generated at the far end.
In the embodiments described above, processes for reducing at least an echo component included in a signal are referred to as “echo cancellation”, “echo reduction”, “echo suppression” or “echo and noise reduction”. In the embodiments described above, the processes for reducing at least a noise component included in a signal is called “noise reduction” or “echo and noise reduction”. These terms of the reference have been adopted as they are generally used, and the present invention is not strictly bound by difference of what these terms of the reference mean.
In the embodiments described above, the above processes are specifically represented by following verbs, i.e., to cancel, to suppress or to attenuate. These verbs have been adopted as they are generally used, and the present invention is not strictly bound by difference of what these verbs mean.
A combination of those processes may be implemented within the scope of the present invention.
The present invention may be applied to a communication apparatus that may be used for voice calls, like a telephone, a cellular phone, an interphone, a hands-free phone and a personal handy-phone. The present invention may be applied to communication software that may be used for voice calls, like VoIP software. The present invention may be applied to a communication system like a VoIP system and a TV conference system.
The particular hardware or software implementation of the present invention may be varied while still remaining within the scope of the present invention. It is therefore to be understood that within the scope of the appended claims and their equivalents, the invention may be practiced otherwise than as specifically described herein.

## Claims

1. A communication apparatus configured to process an input signal including an echo component and a noise component, comprising:
a first interference eliminator configured to reduce the echo component from the input signal so as to produce an intermediate signal;
a selector configured to select one of the input signal and the intermediate signal; and
a second interference eliminator configured to reduce at least one of the echo component and the noise component from the input signal if the input signal is selected by the selector, and to reduce at least one of the echo component and the noise component included in the intermediate signal if the intermediate signal is selected by the selector.

2. The communication apparatus of claim 1, further comprising:
an estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level.

3. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a level of at least one of the echo component and the noise component included in at least one of the input signal and the intermediate signal, and
a reduction controller configured to produce a reduction level based on at least one of the echo cancellation level estimated by the first estimator and the level of one of the echo component and the noise component estimated by the second estimator,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component according to the reduction level.

4. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a level of one of the echo component and the noise component included in the input signal so as to produce a first reduction level, and to estimate a level of one of the echo component and the noise component included in the intermediate signal so as to produce a second reduction level, and
a reduction controller configured to select one of the first reduction level and the second reduction level based on the echo cancellation level,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component according to the one of the first reduction level and the second reduction level selected by the reduction controller.

5. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a level of one of the echo component and the noise component included in the input signal so as to produce a first reduction level, and to estimate a level of one of the echo component and the noise component included in the intermediate signal so as to produce a second reduction level, and
a reduction controller configured to select the first reduction level if the selector selects the input signal, and to select the second reduction level if the selector selects the intermediate signal,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component according to the one of the first reduction level and the second reduction level selected by the reduction controller.

6. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal, and
a second estimator configured to estimate at least one of the echo component and the noise component included in at least one of the input signal and the intermediate signal so as to produce a reduction level,
wherein the second estimator is configured to estimate an echo or noise level based on at least one of the echo cancellation level and the reduction level, and
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component by using the echo or noise level estimated by the second estimator.

7. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a first echo or noise level by estimating one of the echo component and the noise component included in the input signal, and to estimate a second echo or noise level by estimating one of the echo component and the noise component included in the intermediate signal, and
an additional selector configured to select one of the first echo or noise level and the second echo or noise level based on the echo cancellation level,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component by using the one of the first echo or noise level and the second echo or noise level selected by the additional selector.

8. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate at least one of the echo component and the noise component included in at least one of the input signal and the intermediate signal so as to produce a reduction level,
a third estimator configured to estimate an acoustic coupling level so as to estimate one of the echo component and the noise component included in the input signal and included in the intermediate signal,
a corrector configured to correct the acoustic coupling level estimated by the third estimator based on at least one of the echo cancellation level and the reduction level, and
a fourth estimator configured to estimate an echo or noise level by using the acoustic coupling level corrected by the corrector,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component by using the echo or noise level estimated by the fourth estimator.

9. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a first acoustic coupling level so as to estimate one of the echo component and the noise component included in the input signal,
a first corrector configured to correct the first acoustic coupling level estimated by the second estimator based on the echo cancellation level,
a third estimator configured to estimate a first echo or noise level by using the first acoustic coupling level corrected by the first corrector,
a fourth estimator configured to estimate a second acoustic coupling level so as to estimate one of the echo component and the noise component included in the intermediate signal,
a second corrector configured to correct the second acoustic coupling level estimated by the fourth estimator based on the echo cancellation level,
a fifth estimator configured to estimate a second echo or noise level by using the second acoustic coupling level corrected by the second corrector, and
an additional selector configured to select one of the first echo or noise level and the second echo or noise level based on the echo cancellation level,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component by using the one of the first echo or noise level and the second echo or noise level selected by the additional selector.

10. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a level of at least one of the echo component and the noise component included in at least one of the input signal and the intermediate signal, and
a reduction controller configured to estimate a reduction level based on at least one of the echo cancellation level estimated by the first estimator and the level of one of the echo component and the noise component estimated by the second estimator,
wherein the reduction controller includes an echo or noise estimator configured to estimate an echo or noise level of at least one of the echo component and the noise component included in at least one of the input signal and the intermediate signal, a gain generator configured to generate a reduction gain by using the echo or noise level, and a gain corrector configured to correct the reduction gain based on the echo cancellation level, the reduction level being equal to the reduction gain corrected by the gain corrector,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component according to the reduction level.

11. The communication apparatus of claim 1, further comprising:
an estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a first echo or noise estimator configured to estimate a first echo or noise level by estimating one of the echo component and the noise component included in the input signal,
a second echo or noise estimator configured to estimate a second echo or noise level by estimating one of the echo component and the noise component included in the intermediate signal,
a gain generator configured to generate a first reduction gain by using the first echo or noise level, and to generate a second reduction gain by using the second echo or noise level,
a gain corrector configured to correct the first reduction gain and the second reduction gain based on the echo cancellation level, and
an additional selector configured to select one of the first reduction gain and the second reduction corrected by the gain corrector,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level, and the second interference eliminator is configured to reduce one of the echo component and the noise component according to the one of the first reduction gain and the second reduction gain selected by the additional selector.

12. The communication apparatus of claim 1, wherein the selector is configured to select one of the input signal and the intermediate signal for each frequency bin.

13. The communication apparatus of claim 1, further comprising:
an estimator configured to estimate an echo cancellation level of the first interference eliminator for each frequency bin by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level for each frequency bin.

14. The communication apparatus of claim 1, further comprising:
a first estimator configured to estimate an echo cancellation level of the first interference eliminator for each frequency bin by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a second estimator configured to estimate a level of at least one of the echo component and the noise component included in at least one of the input signal and the intermediate signal, and
a reduction controller configured to estimate a reduction level based on at least one of the echo cancellation level estimated by the first estimator and the level of one of the echo component and the noise component estimated by the second estimator for each frequency bin,
wherein the selector is configured to select one of the input signal and the intermediate signal based on the echo cancellation level for each frequency bin, and the second interference eliminator is configured to reduce one of the echo component and the noise component according to the reduction level for each frequency bins bin.

15. A communication apparatus configured to process an input signal including an echo component and a noise component, comprising:
a first interference eliminator configured to reduce the echo component so as to produce an intermediate signal;
an estimator configured to estimate a level of at least one of the echo component and the noise component included in the input signal so as to produce a first reduction level, and to estimate a level of at least one of the echo component and the noise component included in the intermediate signal so as to produce a second reduction level;
a second interference eliminator configured to reduce at least one of the echo component and the noise component included in the input signal according to the first reduction level so as to produce a first output signal, and to reduce at least one of the echo component and the noise component included in the intermediate signal according to the second reduction level so as to produce a second output signal; and
a selector configured to select and output one of the first output signal and the second output signal.

16. The communication apparatus of claim 15, further comprising:
an additional estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
wherein the selector is configured to select and output one of the first output signal and the second output signal based on the echo cancellation level.

17. The communication apparatus of claim 15, further comprising:
an additional estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
wherein the estimator is configured to estimate a first echo or noise level included in the input signal and a second echo or noise level included in the intermediate signal based on the echo cancellation level,
wherein the estimator is configured to estimate the first reduction level by using the first echo or noise level, and to estimate the second reduction level by using the second echo or noise level, and
wherein the selector is configured to select and output one of the first output signal and the second output signal based on the echo cancellation level.

18. The communication apparatus of claim 15, further comprising:
an additional estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
a first acoustic estimator configured to estimate a first acoustic coupling level and a second acoustic coupling level,
a corrector configured to correct the first acoustic coupling level and the second acoustic coupling level based on the echo cancellation level, and
a second acoustic estimator configured to estimate a first echo or noise level included in the input signal by using the first acoustic coupling level corrected by the corrector, and to estimate a second echo or noise level included in the intermediate signal by using the second acoustic coupling level corrected by the corrector,
wherein the estimator is configured to estimate the first reduction level by using the first echo or noise level, the estimator is configured to estimate the second reduction level by using the second echo or noise level, and the selector is configured to select and output one of the first output signal and the second output signal based on the echo cancellation level.

19. The communication apparatus of claim 15, further comprising:
an additional estimator configured to estimate an echo cancellation level of the first interference eliminator by using at least one of an internal condition of the first interference eliminator, the input signal and the intermediate signal,
an echo or noise estimator configured to estimate a first echo or noise level included in the input signal and a second echo or noise level included in the intermediate signal,
a gain generator configured to generate a first reduction gain by using the first echo or noise level, and to generate a second reduction gain by using the second echo or noise level, and
a gain corrector configured to correct the first reduction gain based on the echo cancellation level so as to estimate the first reduction level, and to correct the second reduction gain based on the echo cancellation level so as to estimate the second reduction level,
wherein the selector is configured to select and output one of the first output signal and the second output signal based on the echo cancellation level.

20. A communication apparatus configured to process an input signal including an echo component and a noise component, comprising:
a interference eliminator configured (i) to reduce the echo component included in the input signal so as to produce an intermediate signal, (ii) to estimate a first reduction level by estimating at least one of the echo component and the noise component included in the input signal, (iii) to estimate a second reduction level by estimating at least one of the echo component and the noise component included in the intermediate signal, (iv) to reduce the input signal according to the first reduction level, (v) to reduce the intermediate signal according to the second reduction level, and (vi) to select and output one of the input signal reduced according to the first reduction level and the intermediate signal reduced according to the second reduction level.