Abstract:
A method is described for generating an undisturbed signal out of an audio signal including a disturbing signal. The method comprises the steps of: estimating auto-correlation matrices and cross-correlation vectors of the equation of the Wiener filtering problem, calculating the coefficients of the solution vector of the equation of the Wiener filtering problem, evaluating the quality of the calculated coefficients, controlling the estimation step depending on the quality of the calculated coefficients, generating a correction signal out of the disturbing signal depending on the calculated coefficients, and correcting the audio signal depending on the correction signal.

Description:
[0001]    The present application hereby claims priority under 35 U.S.C. §119 on European patent publication number 02007621.2 filed Apr. 4, 2002, the entire contents of which are hereby incorporated by reference. 
     
    
     
       FIELD OF INVENTION  
         [0002]    The invention relates to a method of generating an undisturbed signal out of an audio signal including a disturbing signal.  
         BACKGROUND OF THE INVENTION  
         [0003]    It is known to build up a so-called acoustic echo cancellation system. There are two sound sources in such a system, one is the subject of interest, e.g. a speaker, and the other is a disturbance. The mixture of these sounds is recorded by a microphone. A reference of the disturbance is also available.  
           [0004]    The acoustic echo cancellation system adapts itself such that its output only includes the speech signal of the speaker and no disturbance anymore.  
           [0005]    For that purpose, the acoustic echo cancellation system generates a correction signal which depends on the signal received by the microphone and on the signal output by the loudspeaker. This correction signal is generated such that it cancels the signal of the loudspeaker so that this disturbing signal is rejected as much as possible. In order to generate the correction signal, mathematical algorithms are used. One possibility would be to use the equation of the so-called Wiener filtering problem. However, this would require very high processing power in order to fulfill real time requirements.  
         SUMMARY OF INVENTION  
         [0006]    It is therefore an object of the invention to provide a method of generating an undisturbed signal out of an audio signal including a disturbing signal which is able to fulfill real time requirements with lower processing power. An embodiment of the present invention solves this object with a method of generating an undisturbed signal out of an audio signal including a disturbing signal. The method includes estimating auto-correlation matrices and cross-correlation vectors of the equation of the Wiener filtering problem, calculating the coefficients of the solution vector of the equation of the Wiener filtering problem, evaluating the quality of the calculated coefficients, controlling the estimation step depending on the quality of the calculated coefficients, generating a correction signal out of the disturbing signal depending on the calculated coefficients, and correcting the audio signal depending on the correction signal.  
           [0007]    The method according to an embodiment of the present invention provides a feedback path from the solution vector of the equation of the Wiener filtering problem back to the estimation of the coefficients of the auto-correlation matrix and the cross-correlation vector of the equation of the Wiener filtering. This feedback path allows an adaptation of the aforementioned coefficients such that the quality of the solution vector is increased.  
           [0008]    Furthermore, in the case of multi channel disturbing signals, the method according to the invention allows to calculate the equation of the multi-channel Wiener filtering problem in a recursive form. This is done by partitioning the matrices of the equation of the Wiener filtering problem.  
           [0009]    Therefore, an embodiment of the present invention provides a method for generating an undisturbed signal with high quality under real time conditions.  
           [0010]    In advantageous embodiments of the invention, the calculation step may include dividing the equation of the Wiener filtering problem into a diagonal part and some non-diagonal partitions, wherein the diagonal part is a Toeplitz matrix and the non-diagonal partitions are Toeplitz-like matrices so that the diagonal part and the non-diagonal partitions result in the aforementioned recursive form of the equation of the Wiener filtering problem.  
           [0011]    The invention together with further objects, advantages, features and aspects thereof will be more clearly understood from the following description taken in connection with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTIONS OF THE DRAWINGS  
       [0012]    [0012]FIG. 1 a  is a schematic block diagram of an acoustic echo cancellation system;  
         [0013]    [0013]FIG. 1 b  is a schematic block diagram of a referenced noise cancellation system; and  
         [0014]    [0014]FIG. 2 is a schematic block diagram of an embodiment of a method according to an embodiment of the present invention used in the systems of FIGS. 1 a  and  1   b.   
     
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0015]    [0015]FIG. 1 a  shows an acoustic echo cancellation system  10 . This is a special case of the echo cancellation problem in a loudspeaker-enclosure-microphone (LEM) system where the voice of a far-end speaker shall be eliminated. Examples of such systems are hands-free telephone sets, audio/video conference systems, and the like.  
         [0016]    A local speaker  11  who is lecturing for example, creates an audio signal SP. This signal SP is influenced by a function Hs(s) which represents the room between the speaker and a microphone  12 . The resulting signal SP′ is added to a signal X′ which will be described below. The microphone  12 , therefore, receives a signal Y which is the sum of the signals SP′ and X′ and which is therefore different from the signal SP. This signal Y is adapted as described later and a signal S is generated.  
         [0017]    The voice of the far-end speaker is the output of an LEM system  13  which is reproduced by a loudspeaker  14  as a signal X. The signal X generated by the loudspeaker  14  may be heard by the speaker  11 . The signal X is influenced by a function H E (S) which represents the room between the loudspeaker  14  and the microphone  12 . the resulting signal X′ is added, as already mentioned, to the signal SP′. The signal X′ may be recognized as a disturbing signal as it disturbs the signal SP′ created by the speaker  11 .  
         [0018]    As mentioned, the acoustic echo cancellation system  10  which has an output signal Y, is adapted in a way to minimize the disturbance. For that purpose, a method  15  is provided. The method  15  receives the signal Y and the signal X as input signals, both in electronic form. Depending on these input signals, the method  15  generates an output signal K which is subtracted from the signal Y. The resulting signal is the already mentioned signal S which is then provided to the LEM system  13 .  
         [0019]    In the acoustic echo cancellation system  10  of FIG. 1 a , the method  15  adapts this system  10  such that the signal S provided to the LEM system  13  only includes the audio signal SP of the speaker  11  and minimized disturbance from the signal X output by the loudspeaker  14 . As a result, the method  15  cancels the acoustic echo which is present due to the LEM system  13 .  
         [0020]    [0020]FIG. 1 b  shows a referenced noise cancellation system  16 . Features and signals which are similar to FIG. 1 a  are characterized by the same reference numerals.  
         [0021]    In the system  16  of FIG. 1 b , the signal S which is a function of the signal Y received by the microphone  12  and the signal K generated by the method  15 , is received e.g. by a speech recognition system  17  or the like.  
         [0022]    The loudspeaker  14  or any other local noise source, produces any kind of noise, e.g. the output signal of a television set disturbs the speaker SP. The signal X output by the loudspeaker  14  is influenced by a function HN(S) which represents the room between the loudspeaker  14  and the microphone  12 . The resulting signal X′ is added to the signal SP′. The signal X′ may again be recognized as a disturbing signal as it disturbs the audio signal SP′ created by the speaker  11 . Furthermore, the signal X of the loudspeaker  14  is forwarded in electronic form to the method  15 .  
         [0023]    In the referenced noise cancellation system  16  of FIG. 1 b , the method  15  provides the signal Y received by the microphone  12  such that the signal S provided to the speech recognition system  17  includes the audio signal SP of the speaker  11  and minimized disturbance from the signal X output by the loudspeaker  14  or other local noise source. As a result, the method  15  cancels the noise generated by the loudspeaker  14 .  
         [0024]    [0024]FIG. 2 shows the method  15  used in the systems  10  and  16  of FIGS. 1 a  and  1   b . As described in connection with FIGS. 1 a  and  1   b , the method  15  of FIG. 2 receives the signals Y and X as input signals and generates the output signal K which is then subtracted from the signal Y.  
         [0025]    The method  15  may be realized as a number of computer instructions establishing a computer program. The computer program is stored on a computer-readable medium. The computer-readable medium may be introduced into a digital computer in order to carry out the method  15 . The method  15  may also be realized by dedicated hardware, i.e. by an electrical circuit. As shown in FIG. 2, the method  15  comprises the following steps and features:  
         [0026]    The signal Y is forwarded to a block  20  which is drawn by dashed lines. This block  20  will be considered later. For the purpose of the subsequent description, the signal Y on both sides of the block  20  is assumed to be identical.  
         [0027]    According to FIG. 2, the signal Y is provided to a de-correlation filter  21  and the signal X is provided to a number of de-correlation filters  22 . From there, the decorrelated signal Y is forwarded to a first estimator  23  and the number of de-correlated signals X are forwarded to the first estimator  23  and a second estimator  24 . The first estimator  23  relates to the cross-correlation of the signals X and Y and the second estimator  24  relates to the auto- and cross-correlations of the signals X and Y.  
         [0028]    The so-called Wiener filtering problem is characterized by the following equation:  
         
       R*w=P 
       xy  
     
         [0029]    with R being the auto-correlation matrix, w being the solution vector and P xy  being the cross-correlation vector. The solution vector w can be calculated if the auto-correlation matrix R and the cross-correlation vector P xy  are known. Further information concerning the Wiener filtering problem may be taken from B. Widrow, S. D. Stearns: “Adaptive Signal Processing”, Prentice Hall,  1985 .  
         [0030]    The first estimator  23  evaluates an estimation for the cross-correlation vector P xy . This evaluation depends on the decorrelated signals Y and X.  
         [0031]    The second estimator  24  evaluates an estimation for the auto-correlation matrix R. The auto-correlation matrix R is assumed in a form of a so-called Toeplitz matrix. Thus, it can be represented by the auto-correlation vector r xx . This evaluation depends on the de-correlated signals X. Further information concerning Toeplitz matrices may be taken from A. D. Poularikas: “The Handbook of Formulas and Tables for Signal Processing”, CRC Press LCC, 1999.  
         [0032]    The estimated cross-correlation vector p xy  and auto-correlation vector r xx  are then forwarded to a first conditioner  25  and to a second conditioner  26 . The cross-correlation vector p xy , and the auto-correlation vector r xx  are influenced by the conditioners  25 ,  26  such that the Multi Channel Wiener filtering problem may be solved in a recursive form as described below. From the conditioners  25 ,  26 , the resulting coefficients p xyd  and r xxd  are forwarded to a calculator  27 .  
         [0033]    The calculator  27  calculates the equation of the Wiener filtering problem. In particular, the calculator  27  evaluates the solution vector w d .  
         [0034]    For that purpose, the equation of the Wiener filtering problem is partitioned into a number of equations. These equations may be calculated faster and with less processing power than the original hypermatrix type of the equation of the Wiener filtering problem.  
         [0035]    In particular, the equation of the Wiener filtering problem which is a hypermatrix type equation, can be divided into diagonal parts and some non-diagonal partitions. The non-diagonal partitions are collected to the right side of the equation. The diagonal parts are symmetric positive definitive Toeplitz matrices. The non-diagonal partitions are also Toeplitz-like matrices. Therefore, fast Fourier transformations (so-called FFTs) may be used for the necessary matrix vector multiplications.  
         [0036]    The solution vector W d  corresponds to the diagonal parts and may be considered as the current solutions which have to be found. The vectors with the non-diagonal partitions may be considered as the previous solutions. This results in a recursive form of the equation of the Wiener filtering problem.  
         [0037]    Based on this procedure, the calculator  27  solves the equation of the Wiener filtering problem and provides the solution Vector w d  as its output.  
         [0038]    The solution vector w d , is forwarded to an evaluator  28  which evaluates the quality of the received coefficients w d . For that purpose, the evaluator  28  comprises criteria relating to the quality of the coefficients w d . The evaluator  28  compares the received coefficients w d  with these criteria and creates coefficients w d .  
         [0039]    If the evaluator  28  judges the coefficients w d  to have a nonsufficient quality, the evaluator  28  does not change the current coefficients w n  at its output. However, if the evaluator  28  judges the coefficients w d  to have a sufficient quality, then the current coefficients w n  are substituted by these coefficients w d . In this case, therefore, the current coefficients w d  are forwarded to the output of the evaluator  28  as new coefficients w n .  
         [0040]    Furthermore, the evaluator  28  calculates an error signal E based on the received coefficients w d . This error signal E depends on the quality of the coefficients w d . Both, the coefficients w n  and the error signal E are forwarded to a controller  29 .  
         [0041]    First, the controller  29  generates feedback control signals F 1 , F 2  which are provided to the first and second estimator  23 ,  24  and to the first and second conditioner  25 ,  26 . The feedback control signals F 1 , F 2  are generated as a function of the error signal E. Tie generation of the feedback control signals F 1 , F 2  is carded out such that the quality of the coefficients w d  is increased.  
         [0042]    Second, the controller  29  reviews and decides whether the received coefficients w n  shall be used as the solution of the Wiener filtering problem. This decision also depends on the error signal E and the prescribed tracing features, i.e. the manner how e.g. the acoustic echo cancellation system  10  is able to follow the changes of the parameters of the LEM system  13 . The controller  29 , therefore, allows to influence the update e.g. of the acoustic echo cancellation system  10  in order to increase its tracing capability.  
         [0043]    If this decision is positive, the coefficients w n  are forwarded as the solution vector w to a filter  30 . If the decision is negative, the coefficients w n , are not forwarded to the filter  30  and the current solution vector w received by the filter  30  is not changed.  
         [0044]    In particular, the aforementioned decision depends e.g. on the following cases: Whether the room characteristic comprising the microphone  12  is stationary or not, i.e. whether the functions H S (s) and H E (s)/H N (s) do not change rapidly or do, and whether the auto- and cross-correlations of the signals X and y are time variant or not, i.e. whether the successive auto- and cross-correlation vectors r xx  and p xy  are time to time spread apart from their previous values or are close together. If the environment is not stationary due to movements in the room or if one of the signals is time variant, then the solution vector w d  is updated only slowly.  
         [0045]    However, if the room comprising the microphone  12  is stationary, i.e. if the functions H s (s) and H E (S)/H N (s) do not change rapidly, and if furthermore the correlation between the signals X and Y is time invariant, i.e. if the auto- and cross-correlation vector r xx  and p xy  are not spread apart from their previous values, then the solution vector w d  is updated fast in order to consider the new state as fast as possible.  
         [0046]    The filter  30  is provided for filtering the signal X. In particular, the filter  30  is realized as a so-called FIR filter (FIR=finite impulse response). Further information concerning such FIR filters may be taken from V. K. Madisetti and D. B. Williams (editors): “The Digital Signal Processing Handbook”, CRC Press JCC, 1998.  
         [0047]    The filter  30  receives the signal X as its input and generates the signal K as its output. Furthermore, the filter  30  receives the coefficients w from the controller  29 . Based on the signal X and the coefficients w, the filter  30  generates the signal K. The signal K is then subtracted from the signal Y in order to generate the signal S.  
         [0048]    As already described, the signal S does not include the signal X, i.e. it comprises only as few disturbances from the loudspeaker  14  as possible, see FIGS. 1 a  and  1   b . The signal K is therefore generated such that it cancels the significant parts of the signal Y which are based on the signal X.  
         [0049]    For starting the described method, the following measures are provided:  
         [0050]    As already described, the signal Y is forwarded to a block  20  which is shown in dashed lines. The block  20  delays the signal Y for a given period of time. This has the consequence that—after starting the described method—the first few coefficients of the solution vector w d  have to be zero. The evaluator  28  are prepared to check whether this requirement is fulfilled.  
         [0051]    If the first several coefficients of the solution vector W d  are close enough to zero, then the coefficients are assumed to be correct and are forwarded to the filter  30 . However, if the first coefficients are not close enough to zero, then the solution vector w d  is not forwarded.  
         [0052]    Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating exemplary embodiments of the present invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.