Abstract:
A method of echo cancellation, particularly for use in high definition applications, splits an input signal and reference signal into M single-sided sub-band. The subbanded signals are downsampled at a downsampling rate N, where N≦M, adaptively filtered, and recombined to produce an output signal. The sub-bands are preferably oversampled such that N&lt;M. The use of oversampling and single-sided sub-banding reduces complexity and avoids aliasing problems.

Description:
PRIORITY APPLICATION 
       [0001]    This application claims priority to Great Britain Application Serial No. 1115451.5, entitled “Over-Sampled Single-Sided Subband Echo Cancellation,” filed on Sep. 7, 2011, which is fully incorporated by reference herein. 
       FIELD OF INVENTION 
       [0002]    This invention relates to the field of signal processing, and more particularly to echo cancellation. 
       BACKGROUND OF THE INVENTION 
       [0003]    Echo cancellation is typically used in telephony to describe the process of removing echo from a voice communication in order to improve voice quality on a telephone call. Adaptive filters are used to model the echo remove the echo from the signal. In telepresence video conferencing systems, the audio signal has high sampling rate and the filter length increases proportionally to the sampling rate. How to manage the computation complexity for high definition audio cancellation is a challenge task. 
         [0004]    Echo cancellation has been used extensively in telecommunications, cellular phone and video conferencing. The search for mathematical algorithms to perform echo cancellation has produced many different approaches with varying degrees of complexity, cost, and performance. 
         [0005]    In some applications, for example the cancellation of acoustic speech echoes, the echo duration can be extremely long, in the order of 100 msec to 500 msec. A traditional approach to echo cancellation uses an adaptive transversal filter of length L, where L equals the number of samples necessary to extend just beyond the duration of the echo. The computational requirement is proportional to 2 L for the popular LMS class of algorithm, and proportional to L2 or higher for algorithms such as RLS. The more robust algorithms (RLS being one example) have improved convergence characteristics, but the computational load increases dramatically with L. It is also fair to say that the convergence time increases exponentially with the size of L for most algorithms. It is important to have fast convergence, and this is especially true in the example of acoustic speech echo cancellation because the echo path may be continually changing as people and objects move within the environment. An echo canceller that can deal with an echo length of 500 msec or more has problems with computational complexity as well as convergence speed. 
         [0006]    In the recent application of Tele Presence systems, the high definition quality of an audio signal with a 48 KHz sampling rate further increases computational complexity (or MIPS requirement) for echo cancellation. A 256 ms. echo tails means a filter length of 12288 samples and adaptation has to be done 48000 times per second. A simple LMS approach will need a 1200MIPS operation. To reduce the computational burden, one commonly known approach, known as sub-band processing, involves separating the speech signal into frequency bands and processing each band separately. This has some inherent advantages, most notably reduced computational complexity, and increased convergence speed. Such as system is described in Q. Jin, K. M. Wong and Z. Q. Luo, “Optimum Filter Banks for Signal Decomposition and Its Application in Adaptive Echo Cancellation”, IEEE Trans. on SP. Vol. 44, No. 7, 1996, pp. 1669-1680, and U.S. Pat. No. 5,937,009, the contents of which are herein incorporated by reference. 
         [0007]    Sub-band processing is an attractive approach because it reduces computational complexity. By dividing the signal into M sub-bands, there are M adaptive filters to implement instead of only 1, but these sub-band signals can be down-sampled by a factor of M, consequently the filter outputs need only be calculated 1/M as often. Additionally the length of the filters themselves is reduced from length L to length L/M. This has the overall effect of reducing the computational complexity (not including filter banks) to something on the order of 2 L/M for LMS type adaptive filters, which also improves convergence behavior due to the use of shorter LMS filters. It can be seen that when L is large, there is a significant reduction in computational load, making the overhead necessary for filter banks insignificant. 
         [0008]    A typical prior echo cancellation technique using a sub-band filter bank is shown in  FIG. 1 . Both echo and reference signal are decomposed into sub-bands and the adaptive algorithm is implemented in each individual band. Finally, the echo-reduced signal is reconstructed with a bank of synthesis filters. 
         [0009]    The problem with the sub-band filter bank approach is that the transition between bands makes it impossible to perfectly isolate each band from the adjacent ones without the use of “ideal” band pass filters. “Ideal” in this context means filters with infinitely sharp cut-off. There is a trade-off between the amounts of echo cancellation possible, the filter roll-off, filter group delay distortion, and reconstruct ability of the sub-bands to regenerate the original input signal without distortion. A type of filter known as a QMF is one method of filter bank design that has been used in the past to help overcome these problems. 
         [0010]    The main concern with echo cancellation using sub-band decomposition is that the down sampling process creates distortion in each band due to aliasing. This effect causes the echo channel to be time-varying, a violation of an underlying assumption that we need to make in order to apply known methods of adaptive filters for voice echo cancellation. The echo channel must be both linear and time-invariant. Any processing done on the signal decomposition invalidates this property and results in signal distortion. This limits the amount of overall achievable echo cancellation using the method of sub-band decomposition and reconstruction. 
         [0011]    One previous approach to fix the aliasing problem is cross-band echo cancellation described in U.S. Pat. No. 5,937,009. It uses adjacent band to cancel the aliasing echo component when the sub-band filter is not a brick-wall filter. The problem with such approach is that the computation complexity for LMS filter increases by three times. 
       SUMMARY OF THE INVENTION 
       [0012]    The challenge with HD audio applications is the high audio sampling rate, which means high computational cost and low convergence speed. The present invention finds a compromise between the product cost and echo cancellation perfbrmance. 
         [0013]    According to the present invention there is provided a method of echo cancellation comprising splitting an input signal and reference signal into M single-sided sub-bands; downsampling the input signal in the sub-bands at a downsampling rate N, where N≦M; adaptively filtering the single-sided sub-bands; and recombining the filtered sub-bands to produce an output signal. In one embodiment, N&lt;M, so that the signal in the subbands is oversampled. 
         [0014]    This invention uses subband technology to reduce the computation complexity and also solves the aliasing problem present in the subband approach. 
         [0015]    According to a second aspect of the invention there is provided an echo cancellation circuit comprising an analysis band part wherein an input signal and reference signal are split into M single-sided sub-bands; downsamplers for downsampling the input signal in the sub-bands by a downsampling rate N, where N&lt;M; adaptive filters for adaptively filtering the single-sided sub-bands; and a synthesis band part or recombining the filtered sub-bands to produce an output signal. 
         [0016]    The invention is preferably implemented using a polyphase DFT-based filter bank architecture on a real signal to reduce implementation complexity. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]    This invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:— 
           [0018]      FIG. 1  shows a prior art sub-band echo cancellation architecture; 
           [0019]      FIG. 2  shows an oversampled sub-band architecture for echo cancellation; 
           [0020]      FIG. 3  illustrates the aliasing of a down-sampled signal; 
           [0021]      FIG. 4  illustrates the aliasing of down-sampling for a single-sided signal; 
           [0022]      FIG. 5  shows an exemplary single sided over-sampled sub-band architecture; 
           [0023]      FIG. 6  shows the frequency response of a prototype filter for a DFT-based single-sided sub-band filter bank (M=16); 
           [0024]      FIG. 7  shows a polyphase structure for the analysis band in the proposed Architecture; 
           [0025]      FIG. 8  shows a polyphase Structure for the synthesis hand in the proposed architecture; and 
           [0026]      FIG. 9  shows the polyphase structure for the synthesis band in the proposed architecture with real filter coefficients. 
       
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
       [0027]    One way to solve the aliasing problem is not to use the critical sampling rate. If the signal is decomposed into M bands, the signal downsampling rate N is set as a value smaller than M. This will give us an oversampled filter bank. The oversampled filter bank for echo cancellation is shown in  FIG. 2 . The architecture in  FIG. 2  is very similar to the one in  FIG. 1 . In  FIG. 2  the input signal is split into M bands by the analysis filter bank down, and each sub-band is downsampled by downsamplcrs  12 . The filtered subbands are then upsampled by upsamplers  14  passed through a synthesis filter bank  16  and recombined in summer  25 . 
         [0028]    The reference signal is likewise split into M subbands by filter bank  18  and downsampled by downsamplers  20 . 
         [0029]    Adaptive filters  22  modify the reference signal, which is subtracted from the echo signal in subtractors  24  (Adders with a minus input). 
         [0030]    The only difference between  FIG. 1  and  FIG. 2  is the down sampling rate, after M analysis filter bank for echo and reference signals, is N&lt;M, instead of M. 
         [0031]    In general, the smaller the down sampling rate N is, the less the alias is. This is true for the low-pass filter. For a band-pass filter H k (z), if the filter coefficient is real, it will have two symmetrical bands, U k  and V k  as shown in  FIG. 3 . Let input signal be X(z). Passing through H k (z), we have Y(z)=X(z) H k (z). After down sampling N, we have the final analysis band output 
         [0000]    
       
         
           
             
               1 
               N 
             
              
             
               
                 ∑ 
                 
                   n 
                   = 
                   0 
                 
                 
                   N 
                   - 
                   1 
                 
               
                
               
                 
                   
                     H 
                     k 
                   
                    
                   
                     ( 
                     
                       
                         z 
                         
                           1 
                           / 
                           N 
                         
                       
                        
                       
                         W 
                         n 
                       
                     
                     ) 
                   
                 
                  
                 
                   X 
                    
                   
                     ( 
                     
                       
                         z 
                         
                           1 
                           / 
                           N 
                         
                       
                        
                       
                         W 
                         n 
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    with W=e −j2π/N . The aliasing component is X(zW n ) H k (zW n ) for n≠0. 
         [0032]    In  FIG. 3  ( a ), which shows a critical downsampling rate (N=M), the shift version of U k  in X(zW n ) H k (zW n ) (n≠0) will not create aliasing in itself but to V k . For the oversampled signal (N&lt;M), the U k (zW) is further away from U k , and U k (zW −(k−1) ) is further away from V k  (as shown in  FIG. 3(   b )). The aliasing will be reduced for these two components. But the aliasing between U k (zW −k ) and V k  increases. The overall aliasing is thus not reduced but increased. 
         [0033]      FIG. 4  shows the single sided band decomposition in frequency domain. The single sided band has only one band with complex filter coefficients. Because there is only one band, the number of analysis sub-bands will double that of in  FIG. 3  if U k  has the same bandwidth for  FIG. 3  and  FIG. 4 . 
         [0034]      FIG. 4(   a ) shows the single side band with critical down sampling rate (N=M). The aliasing components for U k  mainly come from U k (zW) and U k (zW −1 ). With the oversampled filter bank (N&lt;M), both U k (zW) and U k (zW −1 ) move away from U k , and aliasing will be reduced with decreasing of down sampling rate N. Therefore, the architecture of  FIG. 2  with oversampled filter bank (N&lt;M) will reduce aliasing in each sub-band and provide better echo cancellation performance. 
         [0035]    For single-sided sub-band decomposition, the decomposed signals are all complex numbers, which means that the multiplication operation will be increased by four times and addition will be increased by twice. Overall MIPS consumption will be possible four times higher for LMS filtering. However, for a real input signal, the sub-band signal has symmetrical property (symmetrical for real part and anti-symmetrical for the imaginary part). This means that it is possible to process only half of sub-band signals, and this will reduce operations by 2 times with a MIPS reduction of ½. The synthesis filter bank is also reduced by half and the final echo reduced signal output will take only the real part of its synthesis output, as shown in  FIG. 5 , where unit  28  takes the real part of summer  25 . 
         [0036]    In  FIG. 5 , we process M/2 bands with a down sampling rate of N (N≦M). The computation reduction (with respect to the whole band LMS algorithm) is 2M/N 2 . If we chose M=16 and N=14, the MIPS requirement will be reduced to 0.1633 of the original value. 
         [0037]    All analysis band and synthesis band filters can be derived from a single prototype filter through frequency shifting. This creates a so-called DFT (Discreet Fourier Transform) Based Filter Bank as described in and P. P. Vaidyanathan, “Multirate Systems and Filter Banks” Prentice-Hall, Inc. 1993 Yuan-Pei Lin and P. P. Vaidyanathan, “A Kaiser Window Approach for the Design of Prototype Filters of Cosine Modulation Filterbanks”. IEEE Signal Processing Letters, vol. 5, No. 6, June 1998, pp. 132-134, the contents of which are herein incorporated by reference. 
         [0038]    An example of a prototype filter frequency response with linear phase is shown in  FIG. 6  with M=16. Let symmetrical linear phase prototype filter be P(z). The analysis and synthesis filter banks can be obtained as H k (z)=F k (z)=P(zW M   k ) with W M =e i2π/M . 
         [0039]    An exemplary polyphase implementation for analysis and synthesis banks is shown in  FIGS. 7 and 8  respectively, where E l (z) is the lth polyphase of P(z) with 
         [0000]    
       
         
           
             
               
                 E 
                 l 
               
                
               
                 ( 
                 z 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 
                   g 
                   = 
                   0 
                 
                 ∞ 
               
                
               
                 
                   p 
                    
                   
                     ( 
                     
                        
                       + 
                       gL 
                     
                     ) 
                   
                 
                  
                 
                   z 
                   
                     
                       - 
                       gL 
                     
                     / 
                     N 
                   
                 
               
             
           
         
       
     
         [0000]    and W is an L by M/2 matrix with its lmth element being W M   lm . W T  is the transpose of matrix W. L is the least integer common multiple of M and N such that L/M and L/N are both integers 
         [0040]    In  FIG. 7 , the input signal s(n) is input to downsamplers  30  through a delay line  31 . The subbanded signals are passed through polyphase filter  32  to matrix multiplication block  34 , which outputs the processed subbanded signals s 0 (n), s 1 (n) . . . In  FIG. 8 , the processed subbanded signals y 0 (n), y 1 (n) are input to matrix block  36 , passed through polyphase filter  38 , upsamplers  40 , and through delay lines  35  to unit  42  for extracting the real part of the signal. 
         [0041]    The polyphase structure will reduce M/2 filters to one filter with an extra L by M/2 matrix multiplications at reduced sampling rate. These are the extra operations beside adaptive operations and all these operations are dealing with complexity numbers. Therefore, one multiplication is equivalent to four real number multiplication. 
         [0042]    If a low pass prototype filter p(n) is used with real coefficients, we can modify the matrix element (W) to be W M   lm+1/2 . The end result will be the poly phase filters E 1 (Z L ) (l=0, 1, . . . , L−1) are all real coefficients and the analysis band matrix operation becomes L by M/2 real and complex matrix multiplications, and the MAC operation is reduced by half comparing with two complex number multiplication. The synthesis band matrix operation can also be reduced by half by taking the real output of the matrix multiplications (see  FIG. 9 ). The final polyphase filter is done with real numbers. 
         [0043]    In  FIG. 9 , the processed subbanded signals y 0 (n), y 1 (n) are input to matrix block  44 . Units  46  take the real parts of the output of matrix block  44  and apply them to polyphase filters  48 . The outputs of the polyphase filters are passed through upsamplers  50  and combined with delay line  52  to provide output y out . 
         [0044]    Features of the described embodiments include the use of oversampling for sub-band for echo cancellation, single sided DFT based filter bank for echo cancellation, and oversampled single sided DFT based filter bank for echo cancellation. 
         [0045]    It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. The invention may be implemented on a processor, which may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included. The term circuit is used herein to encompass functional blocks that may in practice be implemented in software.