Abstract:
The filtering coefficients of a frequency domain stereophonic echo canceller are adapted by a method which takes account of the cross-correlation between the input signals relating to the two channels. In particular, the adaptation process takes account of the coherence function, reducing the problems commonly encountered with stereophonic cancellation schemes when relatively correlated input signals occur.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to acoustic echo cancellers which process stereophonic input signals in the frequency domain. 
     Acoustic echo occurs whenever there is a strong coupling between a microphone and a loudspeaker. The microphone then picks up a delayed and attenuated version of the input signal broadcast in the acoustic space by the loudspeaker. Stereophonic echo, or more generally multi-channel acoustic echo, is referred to when the microphone simultaneously picks up echoes from several loudspeakers. 
     Acoustic echo cancellers generally model the acoustic path between each loudspeaker and the microphone by means of an adaptive filter whose coefficients are updated by stochastic gradient algorithms: NLMS (“Normalised Least Mean Squares”), APA (“Affine Projection Algorithm”), FDAF (“Frequency Domain Adaptive Filter”), etc., or exact least squares algorithms: RLS (“Recursive Least Squares”). 
     It is commonly acknowledged that the performance of adaptive filtering algorithms deteriorates if multi-channel acoustic echo cancellation systems are implemented in the presence of highly correlated input signals (see F. Amand et al. “Multi-channel acoustic echo cancellation”, Proc. 4th International Workshop on Acoustic Echo and Noise Control, Roros, June 1995, pages 57-60; M. Mohan Sondhi et al., “Stereophonic Acoustic Echo Cancellation—An Overview of the Fundamental Problem”, IEEE Signal Processing Letters, Vol. 2, No. 8, August 1995, pages 148-151). Various solutions have been proposed in an attempt to overcome this problem: 
     using monophonic filters (A. Hirano et al., “A Compact Multi-Channel Echo Canceller with a single Adaptive Filter per Channel”, Proc. ICASSP 1992, pages 1922-1925; S. Minami, “A Stereophonic Echo Canceller Using Single Adaptative Filter”, Proc, ICASSP 1995, pages 3027-3030); 
     modifying time gradient algorithms (F. Amand et al., “Un algorithme d&#39;annulation d&#39;écho stéréo de type LMS prenant en compte l&#39;inter-corrélation des entrées”, Fifteenth GRETSI conference, Juan-les-Pins, September 1995, pages 407-410; J, Benesty et al, “Un algorithme de projection à deux voies avec contraintes—Application à l&#39;annulation d&#39;écho acoustique stéréophonique”, Fifteenth GRETSI conference, Juan-les-Pins, September 1995, pages 387-390); 
     de-correlating signals before broadcasting them (J. Benesty et al., “A Hybrid Mono/Stereo Acoustic Echo Canceller”, IEEE Workshop on application of signal processing and acoustics (WASPAA&#39;97)). 
     The echo cancellers according to the invention find applications in multi-channel communication systems in particular in video-conferencing systems (see P. Heitkamper et al., “Stereophonic and multichannel Hands-Free Speaking”, Proc. 4th International Workshop on Acoustic Echo and Noise Control, Roros, June 1995, pages 53-56; Y. Mahieux et al., “Annulation d&#39;écho en téléconférence stéréophonique”, 14th GRETSI, Juan-les-Pins, September 1993, pages 515-518), in hands-free telephones and in speech recognition systems (see M. Glanz et al., “Speech Recognition In Cars With Noise Suppression and Car Radio Compensation”, 22nd ISATA, Florence, May 1990, pages 509-516; F. Berthault et al., “Stereophonic Acoustic Echo Cancellation—Application to speech recognition: Some experimental results”, 5th International Workshop on Acoustic Echo and Noise Control, London, September 1997, pages 96-99). 
     Frequency domain stereophonic echo cancellers implement a method wherein first and second input signals (x 1 , x 2 ) are applied to an echo generator system and an observation signal (z) is picked up at an output of said system, the input signals being digitally sampled and processed in successive blocks of 2N samples with frequency domain transformation according to a set of 2N frequencies. In accordance with this method, the processing of a block of 2N samples comprises the steps of: 
     transforming the first input signal from the time domain to the frequency domain to obtain a vector  X   1  having 2N complex components relating to the set of 2N frequencies, including spectral components of the first input signal relating to a sub-set of the set of 2N frequencies; 
     transforming the second input signal from the time domain to the frequency domain to obtain a vector  X   2  having 2N complex components relating to the set of 2N frequencies, including spectral components of the second input signal relating to said sub-set of frequencies; 
     multiplying term by term the vector  X   1  by a vector  H   1  of 2N complex coefficients to produce first estimated spectral echo components relating to the frequencies of the sub-set; 
     multiplying term by term the vector  X   2  by a vector  H   2  of 2N complex coefficients to produce second estimated spectral echo components relating to the frequencies of the sub-set; 
     adding the first and second estimated spectral echo components relating to each frequency of the sub-set to obtain a spectral component belonging to a vector of 2N estimated spectral total echo components; 
     transforming the vector of 2N estimated spectral total echo components from the frequency domain to the time domain to obtain an estimated total echo; 
     subtracting the estimated total echo from the observation signal to produce an error signal; 
     transforming the error signal from the time domain to the frequency domain to obtain a vector  E  of 2N spectral components of the error signal relating to the set of 2N frequencies; and 
     updating the vectors  H   1  and  H   2  for the processing of the next block, on the basis of the vectors  X   1 ,  X   2  and  E . 
     In the known systems, said sub-set of frequencies represents the entire set of 2N frequencies. 
     Usually (stereophonic FDAF algorithm), the updating of the vectors  H   1  and  H   2  for the processing of the next block takes account of the energy gradient of the error signal, estimated by  ∇   i = X * i {circle around (X)} E  for the vector  H   i  (i=1 or 2), where {circle around (X)} denotes the term-by-term product of two vectors and (*) denotes complex conjugation. 
     The gradient is generally normalised:  ∇   Ni = B   i {circle around (X)} ∇   i  for i=1 or 2, where  B   i  is a vector of size 2N, whose term corresponding to a frequency f is the inverse of the spectral energy P ii (f) of the i-th input signal evaluated at the frequency f (in other words, P ii (f)=&lt;X i (f).X i (f)*&gt; is a current average of |X i (f)| 2 =X i (f).X i (f)*, where X i (f) is the component of the vector  X   i  relating to the frequency f). 
     In addition, a constraint is often placed on the normalised gradient in order to retain only the linear convolution terms in the frequency calculation of the gradients:  ∇   Ci = C . ∇   Ni  for i=1 or 2, where  C  denotes a constant constraint matrix. 
     The echo estimation filters are finally adapted by  H   i (k+1)= H   i (k)+μ. ∇   Ci (k) for i=1 or 2, the index k numbering the successive analysis blocks. The coefficient μ, lying between 0 and 1, is the adaptation step. 
     It is noted that each processing channel is subjected to a separate adaptation determined by the error signal and the input signal relating to this channel. This explains the identification errors which might be made by the algorithm in the presence of correlated input signals: two estimation errors for the vectors  H   1  and  H   2  can compensate for one another in the error signal while the algorithm is unable to correct them. 
     An object of the present invention is to propose another method of adapting stereophonic frequency filters which allows a certain degree of correlation between the signals to be taken into account. 
     SUMMARY OF THE INVENTION 
     Accordingly, the invention proposes a method as outlined above, further comprising computing a spectral energy P 11 (f) of the first input signal, a spectral energy P 22 (f) of the second input signal, an inter-spectral energy P 12 (f) of the first and second input signals and a coherence value Γ(f) for each of the frequencies f in the set of 2N frequencies. According to that method, the updating of the vector  H   1  for the processing the next block is performed on the basis of a modified gradient in the form: 
     
       
           ∇   M1   = A     11 {circle around (X)} ∇   1   + A     12 {circle around (X)} ∇   2 =(   A     11   {circle around (X)} X *   1   + A     12   {circle around (X)} X *   2 ) {circle around (X)} E     (1) 
       
     
     where  A   11  denotes a vector of size 2N whose component relating to a frequency f is        1       P   11                       (   f   )     ·     (     1   -     G                   (   f   )         )                                
     and  A   12  denotes a vector of size 2N whose component relating to a frequency f is            -   G                     (   f   )           P   12                       (   f   )     ·     (     1   -     G                   (   f   )         )                                
     G(f) being an increasing real function of the coherence value Γ(f) such that 0≦G(f)&lt;1. On the other hand, the updating of the vector  H   2  for the processing the next block is performed on the basis of a modified gradient in the form: 
       ∇   M2   = A     22 {circle around (X)} ∇   2   + A *   12 {circle around (X)} ∇   1 =(   A     22   {circle around (X)} X *   2   + A *   12   {circle around (X)} X *   1 ){circle around (X)}   E     (2) 
     where  A   22  denotes a vector of size 2N whose component relating to a frequency f is        1       P   22                       (   f   )     ·     (     1   -     G                   (   f   )         )                                
     Another aspect of the present invention relates to a stereophonic echo canceller arranged to implement a method as defined above. 
     Normalisation of the gradient takes account of crossed terms between the two channels, with a weighting determined by the coherence between the two input signals. This approach to adapting the filter coefficients represented by the components of  H   1  and  H   2  may be derived from a “block Newton” type of algorithm, expressed in the frequency domain, with limited hypotheses on the form of the signal correlation matrices. 
     In a preferred embodiment of the method, the spectral energies P 11 (f) and P 22 (f) are respectively averages of |X 1 (f)| 2  and |X 2 (f)| 2  and the inter-spectral energy P 12 (f) is an average of ρ.X 1 (f).X 2 (f)*, where X 1 (f) and X 2 (f) respectively represent the components of the vectors  X   1  and  X   2  relating to the frequency f and ρ is a real coefficient such that 0&lt;ρ≦1. This coefficient ρ allows crossed terms to be accounted for to a greater or lesser degree when adapting the filters. If ρ approaches 0, one tends to the conventional stereophonic FDAF algorithm. If ρ=1, any correlation of the input signals is fully taken into account. 
     A priori, the function G(f) may be equal to the coherence value r(f). However, it is preferable to choose a non-linear function of this coherence value. 
     Said sub-set of frequencies for which echo cancellation is applied by the above method may represent the full set of 2N frequencies. 
     In an advantageous variant of the method, this sub-set of frequencies consists of frequencies for which the first and second input signals verify a correlation criterion. 
     Accordingly, a hybrid mono/stereophonic echo canceller can be provided, which will decide dynamically whether each frequency must be put through monophonic processing (relatively correlated signals) or stereophonic processing (not so highly correlated signals). 
     To this end, the components of the vectors  X   1  and  X   2  relating to the frequencies in the set of 2N frequencies which do not belong to said sub-set are zero, and vectors  X ′ 1  and  X ′ 2  of 2N complex components are formed, the components of said vectors  X ′ 1  and  X ′ 2  being zero for the frequencies of said sub-set and respectively equal to the spectral components of the first and second input signals for the frequencies of the set of 2N frequencies which do not belong to said sub-set. One of the vectors  X ′ 1  and  X ′ 2  is selected and multiplied term by term by a vector  H ′ to obtain estimated spectral monophonic echo components for the frequencies in the set of 2N frequencies not belonging to said sub-set, and the vector of 2N estimated spectral total echo components is completed with said estimated spectral monophonic echo components. The vector  H ′ is typically updated on the basis of a gradient term proportional to the product term by term of the vector  E  and the selected vector  X ′ 1  or  X ′ 2 . 
     The selected vector  X ′ 1  or  X ′ 2  is preferably the one which is ahead of the other in time, so as to verify the causality condition. 
     The correlation criterion used may be evaluated by means of the coherence value computed for each of the frequencies in the set of 2N frequencies. 
     It should be noted that the latter embodiment may generally be applied to any stereophonic echo cancellation scheme in the frequency domain but also in the time domain (in full band or with a sub-band decomposition). After a frequency analysis of the correlations between the input signals, an echo cancellation of the stereophonic type can be applied to the frequencies for which the analysis reveals a weak correlation and an echo cancellation of the monophonic type to the frequencies for which the analysis reveals a strong correlation. Such hybrid echo canceller offers greater flexibility than hybrid echo cancellers which use a fixed frequency limit with a stereophonic scheme at the low frequencies and a monophonic scheme at the high frequencies (see J. Benesty et al., “A Hybrid Mono/Stereo Acoustic Echo Canceller”, IEEE Workshop on application of signal processing and acoustics (WASPAA&#39;97)). 
     In the case of a full band correlation analysis, the proposed hybrid technique allows an appropriate echo cancellation scheme (mono or stereo) to be adopted on a dynamic basis. This will therefore get round the problems encountered with stereophonic systems if the input signals are correlated (a monophonic scheme will then be applied). 
     According to another aspect, the invention proposes a stereophonic echo canceller wherein first and second input signals are applied to an echo generator system and an observation signal is obtained at an output of said system, comprising means for processing said signals in digitally sampled form including: 
     means for stereophonically filtering two signals respectively obtained from the first and second input signals; 
     means for monophonically filtering a signal obtained from the first and second input signals; 
     means for obtaining an estimated echo of the input signals from the outputs of the stereophonic and monophonic filtering means; 
     means for subtracting the estimated echo from the observation signal and producing an error signal; 
     adaptation means for updating the stereophonic and monophonic filtering means on the basis of the input signals and the error signal; and 
     means for analysing correlations between the first and second input signals in order to identify first portions of the two input signals in which they are relatively de-correlated and second portions of the two input signals in which they are more correlated than in the first portions in order to apply two signals constructed respectively from the first portions of the two input signals to the stereophonic filtering means and in order to apply a signal constructed from the second portions of one of the two input signals to the monophonic filtering means. 
     Said first and second portions of the input signals are understood to be time portions and/or frequency portions. The stereophonic and monophonic filtering means preferably operate in the frequency domain but may also operate in the time domain. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a stereophonic echo canceller implementing the invention. 
     FIG. 2 is a block diagram of an adaptation module for the echo canceller illustrated in FIG.  1 . 
     FIG. 3 is a block diagram of a hybrid mono/stereophonic echo canceller implementing the invention. 
    
    
     DESCRIPTION OF PREFERRED EMBODIMENTS 
     The echo canceller illustrated in FIG. 1 is provided in an acoustic system comprising two sound restoration channels to which two digital input signals x 1 , x 2  are respectively applied. For each channel i (i=1, 2), the signal x i  is converted to analogue at  5  and then amplified at  6  before being fed to the loudspeaker  7 . 
     The system also has one or more microphones  8 , whose output signals are amplified at  9  and digitised at  10  to produce one or more digital signals z referred to as observation signals. 
     The echo canceller is used to modify an observation signal z in order to withdraw therefrom echo components of the input signals x 1 , x 2 , which may have been generated due to acoustic coupling between the loudspeakers  7  and the microphone  8 . If the system comprises several sound pick-up channels issuing several observation signals z, an echo canceller may be provided in each sound pick-up channel. 
     As is common practice, the echo canceller may be set up by programming a commercially available digital signal processor (DSP) or by designing an application-specific integrated circuit (ASIC). 
     In the example described here, the echo canceller uses the so-called “overlap-and-save” method (OLS) to perform linear convolution in the frequency domain. Assuming the digital filters modelling the echo paths to be finite impulse response filters with N coefficients, respectively h 1 (1), . . . , h 1 (N) and h 2 (1), . . . , h 2 (N), the input signals x 1  and x 2  are processed in successive blocks of 2N samples. For a typical sampling frequency of F e =8 kHz, the number N may range from several hundred to several thousand. The successive blocks of the input signals, of a size 2N, have mutual overlaps of N samples; the k-th block of signal  x   i  (i=1 or 2), obtained after receiving the sample x i (n) of rank n=k×N, is expressed as: 
     
       
             x     i   = x     i ( k )=[ x   i ( n −2 N +1), . . . ,  x   i ( n−N ),  x   i ( n−N +1), . . . ,  x   i ( n −1),  x   i ( n )] T   
       
     
     In the notations used here: 
     the signals indicated by a lowercase letter represent real signals in the time domain, 
     the signals indicated by an uppercase letter represent complex signals in the frequency domain; 
     the index k between parentheses, most often implicit, denotes the index of the current block of size 2N; 
     underlined notations represent column vectors of size 2N; 
     double-underlined notations represent square matrices of size 2N×2N. 
     It will be noted that, in a known manner, the overlap between blocks of 2N samples could be more than N samples. This allows the adaptation frequency of the filters to be increased and the delay caused by the processing of a block to be decreased, the price for this being increased complexity. 
     Two fast Fourier transform modules  12  convert the blocks of the input signals x 1  and x 2  to the frequency domain. Alternatively, the echo canceller could use other domain transforms (discrete cosine transform, fast Hartley transform, . . . ). If  W  is the matrix of the fast Fourier transform of size 2N, the modules  12  produce, for i=1 or 2, vectors given by: 
     
       
             X     i   = X     i ( k )=   W . x     i   =[X   i (0),  X   i (1), . . . ,  X   i (2 N −1)] T   =[X   i (0 ,k ),  X   i (1 , k ), . . . ,  X   i (2 N −1 ,k )] T   
       
     
     The filters  13  perform the convolutions in the frequency domain, by multiplying each vector  X   i  term by term by a corresponding vector  H   i  of 2N complex coefficients equal to: 
     
       
             H     i   = H     i ( k )=   W .[h   i (1),  h   i (2), . . . ,  h   i ( N ), 0, . . . , 0] T   
       
     
     The resulting vectors  Y   i = Y   i (k)= X   i {circle around (X)}H i  are summed at 14 to obtain a vector  Y  of 2N estimated spectral total echo components. 
     An inverse Fourier transform is applied to this vector  Y  by module  15 , which restores a block  y = W   −1 . Y  of 2N time samples. The first N samples of the block  y  are discarded by module  16  which keeps only the last N samples y(n−N+1), . . . , y(n−1), y(n). A subtractor  17  subtracts these N samples of the estimated total echo y from the corresponding samples of the observation signal z. The result is an error signal e forming the output signal of the echo canceller after possible additional shaping operations. 
     In accordance with the OLS technique, the N samples e(n−N+1), . . . , e(n−1), e(n) of the error signal e issued by the subtractor  17  when processing a block k are converted into a block of size 2N by a module  18  which prefixes the block with N zeros. Module  19  then applies a fast Fourier transform to the error signal block to produce a vector: 
     
       
             E = E   ( k )=   W   .[0, . . . , 0 , e ( n−N +1), . . . ,  e ( n −1),  e ( n )] T   
       
     
     The vector E as well as the vectors  X   1  and  X   2  relating to the current block are applied to an adaptation module  20 , which updates the filter coefficients represented by the complex components of the vectors  H   1  and  H   2 , for the processing of the next block k+1. 
     A possible embodiment of the adaptation module  20  in an echo canceller according to the invention is illustrated in FIG.  2 . Modified gradients  ∇   M1  and  ∇   M2  are computed for both filters  13  using equations (1) and (2). In the example illustrated here, a constraint is placed on each of these modified gradients by a module  22  in order to take account of the fact that the 2N coefficients of the vector  H   i  represent only N coefficients of the impulse response. The constraint is applied by multiplying the vector  ∇   Mi  by the projection matrix  C = W . J . W   −1 , where  J  is the 2N×2N diagonal matrix whose N lower diagonal terms are 1 s and whose N upper diagonal terms are 0s. 
     Multipliers  23  multiply the constrained gradients  ∇   i = C . ∇   Mi  by the adaptation step μ and issue the corrective terms for the filtering coefficients:  H   i (k+1)= H   i (k)+μ. ∇   Ci . 
     The adaptation module  20  takes account (equations (1) and (2)) of gradient weighting vectors  A   11 ,  A   12 ,  A   22  determined by a unit  25 . It comprises units  26 - 28  which produce the conjugated complexes of vectors  X   1 ,  X   2  and  A   12 , and multiplier circuits  30 - 33  which respectively form the products term by term  X * 1 {circle around (X)} A   11 ,  X * 2 {circle around (X)} A   12 ,  X * 2 {circle around (X)} A   22  and  X * 1 {circle around (X)} A   12 . The outputs of multiplier circuits  30  and  31  are summed at  34  and the outputs of multiplier circuits  32  and  33  are summed at  35 . The components of the vectors produced by the adders  34  and  35  are multiplied term by term by those of the vector  E  by multiplier circuits  36 , which give respectively the modified gradients  ∇   M1  and  ∇   M2 . 
     In order to obtain the gradient weightings, the first step is to evaluate, at the current instant, the spectral P 11 (f), P 22 (f) and inter-spectral P 12 (f) energies of the input signals x 1  and x 2 . This operation is performed by a unit  38  which averages the quantities |X 1 (f)| 2 =X 1 (f).X 1 (f)*, |X 2 (f)| 2 =X 2 (f).X 2 (f)* and ρ.X 1 (f).X 2 (f)* over a signal window. These may be the arithmetic averages over a rectangular sliding window. In the example illustrated, they are exponential smoothing averages involving an forgetting factor λ lying between 0 and 1: 
     
       
           P   11 ( f,k )=λ. P   11 ( f,k −1)+(1−λ). X   1 ( f,k ). X   1 ( f,k )*  (3) 
       
     
       P   22 ( f,k )=λ. P   22 ( f,k −1)+(1−λ). X   1 ( f,k ). X   2 ( f,k )*  (4) 
     
       
           P   12 ( f,k )=λ. P   11 ( f,k −1)+ρ.(1−λ). X   1 ( f,k ). X   1 ( f,k )*  (5) 
       
     
     It is noted that in equation (5), unit  38  takes account of an additional coefficient ρ such that 0&lt;ρ≦1. This coefficient makes it possible to control the degree to which crossed terms are taken into account when adapting the filters  13 . 
     A unit  40  receives the energies P 11 (f), P 22 (f) and P 12 (f) evaluated by unit  38  for each of the 2N frequencies of the Fourier transform and estimates the coherence function Γ(f) between the two input signals. This estimation may consists in taking, for each frequency f, i.e. at the resolution of the frequency domain transform:                Γ                   (   f   )       =                P   12                     (   f   )            2         P   11                       (   f   )     ·     P   22                       (   f   )                 (   6   )                                
     Unit  40  may also take account of a subdivision of the spectrum into sub-bands and take as the coherence value Γ(f) for each frequency of a sub-band an average of the coherence function computed according to equation (6) over the sub-band. This sub-band division may be uniform. However, it may advantageously be non-uniform, e.g. using a Mel or Bark type of scale. 
     The 2N coherence values Γ(f) produced by unit  40  are delivered to a unit  41 , which applies a non-linear function to them to obtain values G(f). 
     In order to avoid too sudden variations in the filters, the function G(f) is limited so that the values it assumes are between 0 and G max , where 0&lt;G max &lt;1. Furthermore, the function G(f) is advantageously such that G(f)=0 if Γ(f)&lt;Γ min , where 0&lt;Γ min &lt;1, so that a conventional adaptation will be applied to weakly correlated signals. A possible form is a piecewise linear function: G(f) =0 if Γ(f)&lt;Γ min ; G(f)=G max  if Γ(f)&gt;Γ max  where Γ min &lt;Γ max &lt;1; and          G                   (   f   )       =       G   max                         Γ                   (   f   )       -     Γ   min           Γ   max     -     Γ   min                                  
     if Γ min &lt;Γ(f)&lt;Γ max . 
     From the quantities G(f), P 11 (f), P 22 (f) and P 12 (f), the unit  25  computes the gradient weighting vectors  A   11 ,  A   11 ,  A   22  used in equations (1) and (2):                    A   _     11                     (   f   )       =     1       P   11                       (   f   )     ·     (     1   -     G                   (   f   )         )                   (   7   )                     A   _     12                     (   f   )       =         -   G                     (   f   )           P   12                       (   f   )     ·     (     1   -     G                   (   f   )         )                   (   8   )                     A   _     22                     (   f   )       =     1       P   22                       (   f   )     ·     (     1   -     G                   (   f   )         )                   (   9   )                                
     Equations (1) and (2), which allow a relatively simple implementation of the stereophonic filter adaptation, can be deduced by an approximation of a more general expression of the adaptation equations, derived from a “block Newton” type of algorithm: 
     
       
             H     1 ( k +1)=   H     1 ( k )+μ.   C     .[ U     11 . ∇   1   + U     11 . ∇   2 ]  (10) 
       
     
     
       
             H     2 ( k +1)=   H     2 ( k )+μ.   C     .[ U     22 . ∇   2   + U     21 . ∇   1 ]  (11) 
       
     
     In this expression (10)-(11), the matrices  U   ij  are: 
     
       
             U     11 =(   R ′   11   − R ′   12 (   R ′   22 ) −2     R ′   21 ) −1   
       
     
     
       
             U     12   =− R ′   12 (   R ′   22 ) −1     U     11   
       
     
     
       
             U     22 =(   R ′   22   − R ′   21 (   R ′   11 ) −2     R ′   12 ) −1   
       
     
     
       
             U     21   =− R ′   21 (   R ′   11 ) −1     U     22   
       
     
     where the  R ′ ij  are correlation matrices of a size 2N×2N expressed in the frequency domain as:  R ′ ij = W . R   ij . W   −1 , with  R   ij  equal to the 2N×2N correlation matrix of the input signals x i  and x j . 
     The approximation whereby equations (1)-(2) become expression (10)-(11) implies the hypotheses: (i) that each input signal is perfectly de-correlated by the Fourier transform; and (ii) that the two input signals are mutually de-correlated at different frequencies. The crossed terms, caused by the presence of the inter-spectral energy P 12 (f) in equations (6) and (8), remain to take account of the correlation which the input signals might have at a same frequency. With these two hypotheses, the matrixes  U   11 ,  U   12 ,  U   22  and  U   21  may be approximated by diagonal matrices, whose diagonal terms are those of the vectors  A   11 ,  A   12 ,  A   22  and  A * 12  respectively. 
     In the example illustrated in FIG. 3, the spectral component vectors  X   1   (0)  and  X   2   (0)  produced by the FFT modules  12  are delivered to a module  44  which analyses the correlations between the input signals. This module  44  determines a sub-set S of frequencies f for which the signals x 1  and x 2  are rather correlated. The corresponding spectral components are respectively placed in the vectors  X   1  and  X   2  fed to the stereophonic filters  13  and their adaptation module  20 , which operate as in the example described above with reference to FIGS. 1 and 2. For those of the 2N FFT frequencies which do not belong to the sub-set S, the components of the vectors  X   1  and  X   2  fed to the filters  13  and the adaptation module  20  are set to zero. 
     The module  44  puts the spectral components of the signals x 1  and x 2  relating to the frequencies for which the input signals are rather correlated in vectors  X ′ 1  and  X ′ 2 , in which the components relating to the frequencies in the sub-set S are set to zero. A module  45  selects a vector  X ′ from these two vectors  X ′ 1  and  X ′ 2  and applies it to a monophonic filter  46 . 
     The output vector  Y ′= H ′{circle around (X)} X ′ of the monophonic filter  46  is added to the output vectors  Y   1 = H   1 {circle around (X)} X   1  and  Y   2 = H   2 {circle around (X)} X   2  of the stereo filters  13  by the adder  14 . The resulting vector  Y = Y   1 + Y   2 + Y ′ is then processed as in the preceding example. 
     A monophonic adaptation module  48  handles the updating of filter  46  once each block has been processed, for example applying the FDAF algorithm: 
     
       
             H   ′( k +1)=   H   ′( k )+μ.   C . ∇ ′   
       
     
     where ∇′(f)=E(f).X′(f)*/&lt;X′(f).X′(f)*&gt;. 
     A convenient way for the module  44  to analyse the correlations between the input signals is to rely on the coherence values Γ(f) computed by the units  38  and  40  for each of the FFT frequencies f. Therefore, in the diagram of FIG. 3, it should be understood that the stereo adaptation module  20  does not re-calculate the energies P 11 (f), P 22 (f) and P 12 (f) and the coherence values Γ(f) (see FIG. 2) but receives them from units  38  and  40  operating upstream of the analysis module  44 . 
     In particular, the module  44  may use a threshold T(f), which may be constant or depend on the frequency f, and decide that if Γ(f)&gt;T(f), the input signals are correlated at frequency f so that the components X 1   (0) (f) and X 2   (0) (f) are applied to the selection module  45 , and otherwise that the input signals are de-correlated at frequency f so that the components X 1   (0) (f) and X 2   (0) (f) are applied to the stereo filters  13 . 
     The correlation analysis by module  44  may be carried out for each FFT frequency f. 
     It may also be carried out at the resolution of a sub-band division of the frequency band of the signal: the coherence value Γ(f) (or any other correlation measure) is integrated in each sub-band and the spectral components relating to all the frequencies of this sub-band are applied to the stereo filters  13  or to the selection module for the mono filter  46  depending on the integrated value obtained. 
     Alternatively, the correlation analysis may be carried out in full band: the vectors  X   1   (0)  and  X   2   (0)  are applied globally either to the selection module  45  or to the stereo filters  13 , depending on whether the input signals appear to be more or less correlated. 
     In order to verify the causality hypothesis of the system, the vector  X ′ selected by the module  45  is the one of the vectors X′ 1  and X′ 2  which corresponds to the input signal which is ahead of the other. One of several possible ways of making this selection is to examine the time correlations between the signals x 1  and x 2  over a sliding window of L samples as follows: first computing the correlations          corr                   (   δ   )       =           ∑     t   =   0       L   -   1                         x   1                       (     n   -   t     )     ·     x   2                       (     n   -   t   +   δ     )                   for                  -   d     ≤   δ   ≤   d                            
     determining the number Δ ranging between −d and d which maximises corr(δ); and selecting the vector X′ 1  if Δ&gt;0 and the vector  X ′ 2  if Δ&lt;0. 
     The module  45  may proceed with the selection at the rate of the blocks of size 2N or with a greater periodicity. 
     If, for a given frequency f, there is a shift from a situation where the input signals x 1 , x 2  are considered as being de-correlated (stereo) to a situation where they are considered as being correlated (mono), the filter  46  can be initialised with regard to this frequency f by the sum of the stereo filter corresponding to the channel ahead and the stereo filter corresponding to the delayed channel, put back into phase. With the above-described selection mode, this means taking, at the instant of such transition: H′(f)=H 1 (f)+H 2 (f).exp(−2jπΔf/F e ) if Δ&gt;0, and H′(f)=H 1 (f).exp(2jπΔf/F e )+H 2 (f) if Δ&lt;0. 
     For a transition in the other direction (mono→stereo), it is not possible to use the monophonic filter which has just been identified. There are several possible ways of re-initialising the stereo filters  13 : resetting the coefficients H 1 (f) and H 2 (f) to zero or keeping the last coefficients H 1 (f) and H 2 (f) updated before the transition to monophonic filtering. The latter option is the one adopted in the above-described example because the module  20  adapts the stereo filters on the basis of the gradients  ∇   M1  and  ∇   M2  of equations (1) and (2), whose components are zero like those of the vectors  X   1  and  X   2  for the frequencies f which do not belong to the sub-set S.