ACOUSTIC ECHO CANCELLATION

Abstract: A multiple channel steered spatialised signal is generated from a signal input (12) modified according to respective spatialisation gain functions (<i>g1, g2</i>) to generate a plurality of audio channels <i>(x1(t), x2(t))</i>. An echo cancellation signal e(t) is applied to a return path (22) using a combined spatialisation and echo path estimate (ĥ1, ĥ2). The estimate is derived from the gain functions applied to the respective channels 14L, 14R. When the gain functions applied in the respective channels are changed, for instance to represent a different apparent position of the sound source (10), a new estimate (h1, h2) of the echo paths (ĥ1, ĥ2) is generated, based on a previous estimate of the echo path and on the new gain functions (<i>g1, g2</i>).

Description: ACOUSTIC ECHO CANCELLATION This invention relates to a method for multiple channel acoustic echo cancellation (AEC), applicable to systems that derive a multi-channel spatia sed signal from a monophonic signal, each channel of which is applied to a respective member of an array of loudspeakers at differing gains to give the percept or audible illusion of directionality. This class of spatiahsed signal will be termed here as steered mono. A steered mono system uses two or more gain elements to represent the spatialisation, which is mapped to a panning processor to generate corresponding loudspeaker outputs. In the embodiments to be described, a two-channel stereophonic signal is used, with two loudspeakers - a system known as "stereo from steered mono" (SSM), but the principles of the invention can be applied to systems with more than two channels The invention has application in teleconferencing systems where each talker's voice is artificially given spatial positioning for the benefit of the listener. For comfortable speech communication in a teleconference system that uses a loudspeaker and microphone, as opposed to a headset, a method of acoustic echo cancellation (AEC) is required. For monophonic systems the topology shown in Figure 1 can be used with a number of different adaptive processes such as least mean square (LMS), recursive least squares (RLS) or fast affme projection (FAP). However, for stereophonic and multiple channel systems, existing solutions are far less advanced with some major obstacles yet to be overcome. The example in Figure 2 shows that for a stereophonic system there are two echo paths, A, and A 2 (which include the microphone and loudspeaker impulse responses), compared to the single path in the monophonic case. (This assumes a single microphone is used, which is generally the case when spatialisation is to be created artificially. More generally, the number of echo paths is the product of the number of loudspeakers with the number of microphones). Existing solutions to the stereo acoustic echo cancellation problem generally assume the system arrangement shown in Figure 2 where the talker-to-microphone path responses are unknown. The aim of the adaptive process in the echo canceller is to use the signals x i (t),x 2 (t) and e(t) to tram the adaptive filters A, and A 2 such that e(t) → 0 ( 1 ) With existing adaptive filter processes it is not possible to achieve a convergent set of filters such that A, = A, and Λ, = l (2) Instead, a convergent solution such as the following is obtained A, * g, + 2 * g 2 = /., * g λ + A 2 * g, (3) where * is the convolution operator Note that Equation (3) satisfies Equation ( 1 ), but that Equation (2) is not a unique solution for Equation (3), so the values for A, and A- cannot be derived from this result. If the filters g ] or g ^ change, possibly due to the talker moving, the equality in Equation (3) no longer holds (unless Equation (2) is also met) . Thus, the echo canceller no longer produces a convergent solution and the echo heard by the talker rises in level. Various solutions to this problem have been proposed that either manipulate the loudspeaker signals, A, and τ, , or use the properties of the signals x, and A 2 The aim of these solutions is to make use of the cross-correlation properties of the two signals as it can be shown that a solution to Equation (2) exists when the two signals are sufficiently decorrelated. However, as the signals x, and Λ 2 are inherently highly correlated in a teleconferencing system, techniques that exploit the small decorrelated features in the signals have poor performance in anything but ideal conditions. It has been proposed to add a small amount of independent white noise to the signals A, and x 2 It is shown that this significantly aids the convergence of the solution to that in Equation (2) by introducing some signal de-correlation. However, although adding noise in this manner does improve the convergence, the noise has to be added at such a level that it is undesirably audible. According to the invention, there is provided a method of acoustic echo cancellation for a multiple channel steered spatiahsed signal, the steered spatiahsed signal being generated from a signal input modified according to respective spatialisation gain functions to generate a plurality of audio channels, the echo cancellation process using a combined spatialisation and echo path estimate, the estimate being derived from the gam functions applied to the respective channels, whereby when the gain functions applied in the respective channels are changed, an estimate of the echo paths is generated, the estimate being based on a previous estimate of the echo path and on the gain functions, the echo path estimates being used to generate an echo cancellation signal. According to another aspect, there is provided apparatus for acoustic echo cancellation in a multiple channel steered spatiahsed audio system, the spatiahsed audio system comprising signal input means for receiving an audio signal, a plurality of audio output means for generating acoustic signals derived from the audio signal; control means associated with the audio output means for generating gam control functions controlling the audio output means such that a spatiahsed version of the audio signal is generated by the said plurality of audio output means; audio input means for detecting acoustic signals; signal output means for transmitting a signal derived from the acoustic signals detected by the audio input means; echo path estimation means comprising detection means for identifying changes in the gam control functions in the respective control means, and estimation means for generating an estimate of the echo path between the acoustic output means and the acoustic input means, the estimate being based on a previous estimate of the echo path and on the gain control functions detected by the detection means, echo cancellation signal generation means for generating an echo cancellation signal derived from the spatiahsed audio signals generated by the control means and the estimates derived by the echo path estimation means, and signal combination means for applying the echo cancellation signal to the signal generated by the audio input means. This invention is an adaptation of the monophonic LMS process. The invention avoids multiple updates of two of more echo path estimates, such as A, and A, , and reduces the number of filter operations required when compared with existing stereo echo cancellation processes, such as A, * A, and Λ 2 * x 2 . Additionally, the invention uses the spatialisation parameters in the adaptive process, unlike existing stereo echo cancellation processes. The LMS update is modified to take into account the spatialisation parameters that are used to update the aggregated echo path estimate each time the spatialisation changes. After the N th spatialisation change, (where N is the number of channels in the system), the aggregated echo path estimate converges towards the aggregate echo path for future changes in spatialisation. Prior to the N th spatialisation change the process converges to a local solution for the aggregated echo path estimate so that some echo signal reduction is still given in the learning stage of the process. The learning stage can be made part of a set-up phase prior to use of the system for live traffic. For example, the required number of spatialisation changes can be achieved by operating the monophonic LMS process for each channel in turn, by setting the gains of the other channels to zero. An embodiment of the invention will now be described, by way of example , with reference to the Figures in which Figure 1 illustrates the principles of monophonic echo cancellation Figure 2 illustrates the basic principles of stereophonic echo cancellation (only one half of return path shown) Figure 3 illustrates an embodiment of the invention Figure 4 illustrates a theoretical equivalent system to that of Figure 3 Figure 5 is a graphical illustration of the averaged error for the system shown in Figure 3 comparing prior art systems with that of the invention Figure 6 illustrates the decline over time in the misadjustment in the error path estimates h, and h o using the inventive process. Figure 7 is a flow diagram showing the updating process of the preferred embodiment. The monophonic system illustrated in Figure 1 comprises an input path 1 2 connected to the source (microphone 1 1 and speaker 1 0) of the original signal s(t) . This signal ^(t) is modified by the transmission path 1 2 to generate a loudspeaker signal x(t) which is fed to the loudspeaker 1 3. The return path consists of a microphone 21 , return transmission path 22 and loudspeaker 23. An acoustic path A, exists between the loudspeaker 1 3 of one path and the microphone 21 of the other path. Hence, some sound originating with the speaker 10 will be returned to the loudspeaker 23 and will be heard by the speaker 10 as echo. This effect can be intrusive, especially as the transmission paths 1 2, 22 can introduce delays, so an echo cancellation processor 24, 25, 26 is installed to eliminate this signal. An adaptive processor 24 compares the signal e(t) to be transmitted over the return path 22 with the signal x(t) arriving over the input path 1 2 and identifies correlations between them. This is used to control an adaptive filter bank 25 , to generate a vector h i . This vector is an estimate of the acoustic path A, . This vector is applied to the input signal x(t) by the filter and the result subtracted from the input y(t) from the microphone 21 in a combiner 26 to generate a return signal e(t) . If the adaptive filter 25 generates an accurate estimate h -i of the function A, , the echo signal ^(t) should therefore be cancelled out by the output from the adaptive filter 25 and e(t) should therefore be zero. Therefore the only signals transmitted over the return path 22 will be sounds generated near the microphone 21 and not received from the loudspeaker 13. Figure 2 illustrates a generalised stereophonic system. The situation is similar to that of Figure 1 , except that there are now two loudspeakers and two microphones (indicated by the suffixes "L" and "R" in Figure 2) at each end. Only one channel 22L of the return path is shown. For each return path 22L, (22R) there are two echo path estimates h li , h 2i , one for each outward path 1 2ι_, 1 2R, because each microphone 21 L, (21 R) is capable of receiving acoustic feedback from both loudspeakers 1 3L, 1 3R. Because the two outward paths 1 2L, 1 2R are carrying signals from the same source 1 0, there is significant correlation between the two estimates h , h 2i and the processes generating the adaptive filter values 25LL, 25RL are therefore not independent. In the general case shown in Figure 2, the original functions gt, g∑ are unknown at the receiving end, being dependant on the relative positions of the microphones 1 1 L, 1 1 R and the speaker 1 0. It is therefore not possible to derive a unique solution for h 1Δ , h 2Λ . For a given spatialisation the adaptive processor 24L will generate two suitable functions n , h 2i , for which equation (3) above holds: A, * g, + Λ 2 * g 2 = A, * g ] + J * g 2 (3) but this does not necessarily imply that Equation (2) also holds. A, = Λ, and Λ 2 = Λ 2 (2) If the spatialisation, and hence the functions g , g 2 are changed it will be seen that the adaptive filters must be reset to correspond to the new spatialisation. In a steered system such as that illustrated in Figures 3 and 4, a monophonic source 1 1 is used and the functions g , g 2 become scalar values g λ , g 2 representing gam. Consequently, there is only one transmit path 1 2, 22 in each direction. Control information, either generated at the receive end or transmitted with the monophonic signal s(t) , is used to control variable gam amplifiers 1 4L, 1 4R to vary the gam functions g λ , g 2 defining the spatialisation at the receive end, to emulate a stereophonic source. The fact that the gam functions g ,g 2 are known at the receive end allows them to be used in the adaptive processor 24, 25. The operation of the adaptive processor 24, 25 will now be described, with reference to Figure 7. The underlying mathematical theory will then be described, with reference to Figures 3 and 4. Following an initialisation step 101 in which notional values for the gam functions g , g 2 are set, the process runs on an iterative loop for each sampling period n as follows. Firstly, values b, , k 2 , b 3 are set (step 102) These identify the last three sampling periods at which the spatialisation values g , g 2 changed. If the spatialisation gain values g ,g 2 have not changed since the previous sample n - \ , the values of k } , k 2 , k 3 are the same as for the previous sample. However, if the values have changed, then b 3 is set to the previous value of k η , k η is set to the previous value of b, , and k is set to n - 1 . The estimated gain function is then determined (step 103) . This is the matrix = G( - ,b, ) If the spatialisation values g , g 2 are unchanged, this matrix is also unchanged and does not need to be recalculated The inverse of this matrix is then determined j-'oo y 01 = G ~l (k 2 k.) } ' xo } ' xx Again, if the spatialisation values, g,,g\ are unchanged, this matrix is also unchanged and does not need to be recalculated. Next, (step 104), if r = n-k ] +1 is less than the number of terms L in the estimated echo path vector h (in other words, if the number of samples r elapsed since the last spatialisation change is less than L), one term in the estimated echo path vector h-_, is amended as follows (-]-_, is the specific instance of the estimated echo path function h from the previous iteration). All other terms Λ-_,(0)...Λ-_ ] (r-l) and A-.^r + l^.-A-^Ob-l) remain unchanged The error cancellation signal s^ h„-ι (where s n is the vector representing the last L samples of the input signal s(n) ) is then generated using the revised estimate echo path vector h n _, (step 105) and subtracted from the signal y(n) to generate the output signal e(n) . The estimated echo path vector h n _, is then adapted in response to the echo signal e(n) (step 106) for use in the next iteration. where £ • (/?) = s s„e(/z) and μ is the step size The progress is stable provided that the spatialisation changes on a longer timescale than the period L, and that 0 < μ < 2 The computational complexity of steps 1 05- 1 06 in the above process is the same as the normalised LMS process which is of the order 2E The number of computations is of the order of two multiplications and one division for the matrix inversion used in step 1 03 As this is only performed once after each change in spatialisation it adds little to the complexity of the process for large L . Step 104 is only calculated in the first L samples after a spatialisation change and is insignificant for large L Thus, when the process shown above is used for acoustic echo cancellation with a steered mono system, for which it is likely that Z > 100 , the process has a complexity of approximately 2L . A mathematical description follows. This will start from the system shown in Figure 4 and then proceed to show that it is equivalent to the system according to the invention shown in Figure 3 which utilises a single aggregated echo path estimate. As shown in Figure 4, the two microphone impulse response paths 1 2L, 1 2R (Figure 2) are replaced by two artificially generated impulse responses g x and g 2 that act upon a single microphone signal s(t) received over the monophonic path 1 2 to generate the percept or illusion of spatialisation. For the solution presented here the functions g ] and g- are further simplified by representing them as simple gain functions rather than impulse responses. This system works in a completely different manner from the prior art system of Figure 2 as, rather than trying to decorrelate the signals x, and x 2 to help the convergence, the method presented here relies upon the inherent highly correlated nature of the signals A, and λ-, . The method uses the knowledge of the functions g l and g 2 (which are unknown in the prior art systems) to achieve a convergent echo cancellation. Before describing an adaptive filter solution to the echo problem it will be demonstrated that a solution to the problem exists. Let the input to the spatialisation block at sample time n be represented by a column vector s„ = s(n-ϊ)... s(n - (L - l))j , the input to the listener end microphone by >'„ =[>'(«) y(n-\)... y(n-(L-\)) and the two loudspeaker-to- microphone echo paths be length L column vectors h, and h, (which incorporate the loudspeaker and microphone impulse responses), then where the spatialisation is represented as the gain values g λ (n) and g 2 (n) which are constant over the sample periods n-(L-\)...n , and S„ = [s ... s„_ (i _ 1) j (This is a "Toeplitz" matrix, that is, a symmetrical matrix of order L x L, having the terms of s n in the first row and the first column, the terms of sn-t in the second row and column, and so on). It can be shown that h, and h, cannot be solved from Equation (4). However, now consider using a second set of input and output observations at sample time n + a where a ≥ L and gι(n + a) = g l (n + a-l) = ... = g 1 (n + 1) ≠ J , (/.) g 2 (n + a) = g 2 (n + a-\) = ... = g 2 (n + 1) ≠ g 2 (n) (5) in other words the functions g l and g ^ have changed between sample time n and sample time n + l, but then remained unchanged between time n + \ and sample time n + a . Hence, where 1^, is the LxL identity matrix, and ® is the Kronecker product. (The Kronecker product of two matrices A and B is given by multiplying matrix B separately by each individual term in matrix A and forming a new matrix, (whose order is the product of the original two matrices) with the resulting terms). The solution to Equation (6) is n + a <8>I L,) (8) and using Kronecker product identities Thus, a solution for h, and h 2 exists if the signal s is persistently exciting (i.e. it has a full spectral content) and the matrix G- n+ _ιs non-singular, that is, it has an inverse matrix The non-singular condition for G_ Λ+fl is met if the spatialisation values at sample times n and n + a are different and not scalar multiples of each other (i.e gχ( n )Hι( n ) ≠ g \ ( n + a )lgι( n + a ) )■ Ideally the values should be sufficiently different such that the solution of Equation (9) is well conditioned. Having established that a solution exists the adaptive process for the solution is now derived from the LMS process. The normalised LMS (NLMS) process is used to perform monophonic echo cancellation as discussed with reference to Figure 1 using the following updates e(n) = y(n)-s n τ h n _ (10) ε(n) = s n τ s n e(n) (11) h . = h ■„ .-, >-μs n ε(n) (12) where e(n) is the echo signal, μ is the step size parameter and h n is the echo path estimate at the «th sample instance. The single channel normalised LMS equations above can be modified for the steered mono case by using a single aggregate echo path estimate and redefining h„_, as where A,(t) and Λ 2 (t)are functions representing the two echo path estimates at sample interval n . Likewise define h as the combination of A,(t) and A 2 (t) in a form equivalent to that shown in Equation (13) The task is then to use and update h such that the normalised LMS updates of equations 10, 11 and 12 are used for the echo cancellation rather than using two echo path estimates explicitly. If the values of g λ (n) and g 2 (n) are constant for all n then the updates in Equation 10, 11 and 12 can be used unchanged to determine an estimate of h , as h is constant over time. However, if g,(») and g 2 ( ) change over time then this solution can not be used as a change in h is not taken into account in the LMS updates of Equations 10, 11 and 12. Consider three sample epochs i,i-a and i-b where b»L>a (15) and i? ι ( = i? ι ' -i) = --- = i? ι ' -«)≠-? ι ' -α-i) = -? ι ' -α-2) = ... = -? 1 , -fe) g s (i-b)≠g,(i-b-\) = g ] (i-b-2) = ... = g l (i-∞) (16) and likewise for g-,(n) , i.e. values of < § " ,(») and g 2 (n) change only on the epochs i — a and i-b . Consider the value of the y ' th coefficient in the combined echo path at the epochs i — a- and i-b - (i.e. just prior to the spatialisation changes) which from Equations 14 and 16 is given by A,.,,, (j) = (i)g x (i-b-\) + h 2 (j)g 2 (i-b- 1) 17) (18) A,._„_, (j) = A, (J)g (i~ -\) + h 2 (j)g 2 (i-a-Y) Equations 17 and 18 can be expressed as and thus using the definition of G from (7) Further consider the value of the j th coefficient in the combined echo path at the epoch i which, from (14) and (16) is given by h,U) = (21) If the elements of G _1 are defined by a variable γ such that then from (19), (21) and (22) K 0) = (XOO Kb-X 0) + /oxHa-X 0))g (0 + (Equation 23) This equation is the additional update required for the normalised LMS update of Equations (10), (11) and (12). Note that from (21) only one coefficient in h need be updated in each sample period to take account of a spatialisation change. The process can be extended to a system that has more than two channels, by making a small modification to the process. Specifically for an N- channel system the previous N + l changes in the spatialisation position are recorded in variables k N+l ,...,k from the least to most recent respectively. The matrix G is generalised as The step 104 may be generalised as A (r) h (r) = [ g] (n) ... g .v (/7)]G- (25) Λ(r) The steps 1 05 and 106 remain unchanged. To demonstrate the described process both the stereo normalised least mean square process according to the invention and the normalised least mean square process were simulated using the configuration shown in Figure 3 and with echo paths taken from actual measured microphone/speaker paths. The spatialisation position was changed five times during the simulation to test the ability of the process to adapt to changing spatialisation. Figure 5 shows the ensemble-averaged error in the echo cancellation for a sampled Gaussian white noise (GWN) input. For the simulations the step-size parameter μ was 0.1 , the filter length L = 200 , the sample rate was 8 kHz and a noise signal was added 40 dB below the input signal. Figure 5 shows that initially the Normalised LMS process (Figure 5a) and the Stereo Normalised LMS process according to the invention (Figure 5b) have identical performance up until sample 40000. Note that the error in both processes falls initially as the adaptive filters converge to the static value of the aggregate path vector h . However, at sample period 1 9000 the spatialisation changes, such that h changes and consequently the error rises suddenly in both processes. The normalised LMS process (Figure 5a) does not yet have enough information to form the correct aggregate path vector h as it requires two spatialisation positions to determine the individual path vectors h, and h 2 . However, after the second spatialisation position the process according to the invention can make an estimate of the value of the changed h . This can be observed in Figure 5 as the error does not rise after sample 40000 for the error curve in b) unlike that for the normalised LMS process in a) which demonstrates increases in the error each time the spatialisation changes. The performance of the process according to the invention can also be observed for speech signals in Figure 6 which shows the misadjustment in the two echo path estimate vectors h, and h 2 . These vectors are not actually calculated explicitly by the process: however, it does use a solution for them as part of the update. Equation 20 was used to form the graphs shown in Figure 6. Note that the misadjustment falls in one of the filters and rises in the other over the course of the first spatialisation position, which is between samples 0 and 1 9000. This is caused by the fact that g ] (0) = 0.2 and g 2 (0) = 0.8 which means that most of the echo signal energy is derived from the second filter path such that the aggregate filter estimate h tends towards the second path filter h, . At this point there is no a priori information which allows the true solution of h, and h 2 . However, as soon as the second spatialisation position starts at sample 1 9000 the misadjustment in both h, and h 2 starts to fall as the Stereo Normalised LMS process allows a solution for h, and h 2 to be formed. The process described uses the normalised least mean square adaptive filter to form the update of the combined echo path estimate. However, any current or future adaptive process that updates an estimate of an unknown filter on a sample by sample basis can be used in place of the described normalised least mean square algorithm. The only modification required is to replace the process step 1 06 with another filter update. Suitable existing examples are fast affine projection, least mean squares or recursive least mean squares adaptive filters.

Claims: CLAIMS 1 . A method of acoustic echo cancellation for a multiple channel steered spatiahsed signal, the steered spatiahsed signal being generated from a signal input 1 2 modified according to respective spatialisation gam functions (gi g∑) to generate a plurality of audio channels (xι(t), x∑ft)], the echo cancellation process using a combined spatialisation and echo path estimate ( h, , h , ), the estimate being derived from the gam functions applied to the respective channels, whereby when the gain functions applied in the respective channels are changed, an estimate ( h, , h , ) of the echo paths (h,, h 2 ) is generated, the estimate being based on a previous estimate of the echo path and on the gain functions (gi g∑), the echo path estimates ( h, , h ) being used to generate an echo cancellation signal e(t). 2. A method according to claim 1 , in which the gam functions applied to the respective channels are scalar gam factors 3. A method according to claim 1 or 2 in which a normalised least mean square adaptive filter is used to form the update of the combined echo path estimate 4. A method according to claim 1 or 2 in whicn a fast affme projection adaptive filter is used to form the update of the combined echo path estimate. 5. A method according to claim 1 or 2 in which a recursive least mean squares adaptive filter is used to form the update of the combined echo path estimate. 6. Apparatus for acoustic echo cancellation in a multiple channel steered spatiahsed audio system, the spatiahsed audio system comprising signal input means ( 1 2) for receiving an audio signal sft), a plurality of audio output means ( 1 3L, 1 3R) for generating acoustic signals (xι(t), X2(t)l derived from the audio signal sft); control means ( 14L, 1 4R) associated with the audio output means (1 3L, 1 3R) for generating gain control inputs gi, ^ controlling the audio output means such that a spatiahsed version hi, ∑ of the audio signal s(t) is generated by the said plurality of audio output means ( 1 3L, 1 3R); audio input means (21 ) for detecting acoustic signals; signal output means (22) for transmitting a signal y(t) derived from the acoustic signals detected by the audio input means (21 ); echo path estimation means (25) comprising detection means for identifying changes in the gain functions gi, g∑ in the respective control means ( 14L, 14R), and estimation means for generating an estimate of the echo path between the acoustic output means 1 3L, 1 3R and the acoustic input means (21 ) , the estimate being based on a previous estimate of the echo path and on the gain functions gi, g∑ detected by the detection means, echo cancellation signal generation means (24L, 24R) for generating an echo cancellation signal derived from the spatiahsed audio signals generated by the control means ( 14L, 14R) and the estimates derived by the echo path estimation means (25), and signal combination means (26) for applying the echo cancellation signal to the signal generated by the audio input means. 7. A method according to Claim 6 , in which the gain functions applied to the respective channels are scalar gain factors 8. A method according to claim 6 or 7 in which a normalised least mean square adaptive filter is used to form the update of the combined echo path estimate. 9. A method according to claim 6 or 7 in which a fast affine projection adaptive filter is used to form the update of the combined echo path estimate. 10. A method according to claim 6 or 7 in which a recursive least mean squares adaptive filter is used to form the update of the combined echo path estimate.

Inventors: HAWKSFORD MALCOLM JOHN, REED MARTIN, HAWKSFORD, MALCOLM, JOHN, REED, MARTIN
Applicants: BRITISH TELECOMM, HAWKSFORD MALCOLM JOHN, REED MARTIN, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY, HAWKSFORD, MALCOLM, JOHN, REED, MARTIN
Application year: 2000
Main classification: H04M9
IPC codes: G10L21, H04B7, H04M1, H04M9, H04R3