LOW DELAY NOISE REDUCTION FILTER

Abstract: A low delay noise reduction filter (30) for enhancing noisy signals, such as speech or music. In accordance with the invention, a noisy signal is passed through a first signal path including an input whitening filter (2) and a gain filter (9) to produce a first signal. The noisy signal is also passed through a second signal path to produce a second signal. The first signal is subtracted from the second signal to form a difference signal which is passed through a third signal path to produce an enhanced output signal. The first signal path may further include a transposed filter (5) corresponding to the input whitening filter (2). The second path may include a transposed noise whitening filter (7). The third path may include one or more inverse noise whitening filters (14). The filter has application in digital audio devices such as telephones, hearing aids, and speech recognition systems.

Description: Low Delay Noise Reduction Filter Field of the Invention The present invention relates to the filtering of signals, such as speech or music signals, to remove unwanted noise. Background of the Invention The reduction of noise in signals has been the focus of much research over the years. The last 20 years has seen an increasing interest in the use of digital filtering for noise reduction. More recently, the proliferation of portable digital devices for communication, hearing aids, radio etc. has led to a demand for more efficient and effective noise reduction techniques. A large variety of techniques have been used to filter noise from signals. Many of the fundamental approaches are reviewed in the article 'Enhancement and Bandwidth Compression of Noisy Speech', J.S. Lim and AN Oppenheim, Proceedings of IEEE, Vol. 67, No 12, December 1979, Section V, ppl 586-1604. A more recent review is given in the book 'Discrete Time Processing of Speech Signals', J.R. Deller, J.G. Proakis and J.I I. Hansen, Macmillan Publishing Company, New York, 1993, section IV, chapter 8, pp 501 -552. Some of the basic techniques are summarized here for comparison. Gain Adjustment The simplest noise reduction systems reduce noise in a noisy signal, which contains signal and noise components, by reducing gain during pauses in the signal component. An example of such a system is given in US 5,533,133 (Lamkin et al). This technique is designed to reduce listener fatigue, however, it is not a signal enhancement system since it does not reduce noise when the signal component is present. Adaptive Noise Cancelation This approach requires that, in addition to the noisy signal, a second signal is available as a reference signal. The second signal should preferably contain noise only, but the approach can be modified to cases where signal and noise are present in both signals (e.g. US 5,406,622 (Silverberg et al)). However, in most applications of commercial interest, only the single noisy signal is available, so this approach cannot be used. Wiener Filtering A classical approach to filtering is provided by the Wiener filter. This filter provides the optimal least squares estimate of a signal corrupted by noise. The Fourier transform of the Wiener filter W (ω) at frequency ω is given by u W / i {ω \ ) -= - — . φ . * s (ω ,) — - , ( .1..) Φ as (ω) + Φ dd (ω) where Φ dd (ω) is the power spectrum of the noise and Φ ss (ω) is the power spectrum of the information signal. The filter requires that the statistics of both the signal and the noise remain stationary. However, most information signals, such as speech and music, do not have stationary statistics, so the Wiener filter must be modified. Further problems with this filter are that it is non-causal, i.e. the filter cannot be realized in real time, and that the information signal power spectrum Φ ss (ω) is both unknown and time varying. Wiener filtering cannot be used directly to reduce noise in speech or music signals. Spectral Subtraction The spectral subtraction technique is described by M.R. Wiess et al, 'Processing Speech Signals to Attenuate Interference', Proceedings of the IEEE Symposium on Speech Recognition, Carnegie Mellon University, April 1974, pp 292-295, and has its roots in a speech coder described in US 3,403,224 (Schroeder). The technique has been used and modified extensively, e.g. S.F. Boll 'Suppression of Acoustic Noise in Speech Using Spectral Subtraction', IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. ASSP-27, No. 2, April l979, US 4,185,168 (Graupe), US 5,012,519(Adlersberg etal), US 5,212,764 (Ariyoshi) and patent application WO95/15550 (Wynn). The basic system of Graupe is shown in figure 1. The input signal is passed through a bank of fixed band pass filters (BPF 1, BPF 2,...,BPF n) to obtain a number of filtered signals. These signals are multiplied by variable gains and summed in the summing circuit. The gains are set according to estimates of the levels of signal and noise in each frequency band. The noise levels are assumed to be fairly constant. The spectral subtraction technique has been used mainly for removing noise from speech signals, but has also been applied to music signals (e.g. O. Cappe, 'Evaluation of Short Term Spectral Attenuation Techniques for the Restoration of Musical Recordings', IEEE Transactions on Speech and Audio Processing, Vol. 3, No 1 , January 1995). The system of Graupe is designed for analog implementation but may be modified for digital implementation by replacing the filter bank with a Fast Fourier Transform. The spectral subtraction technique attempts to overcome some of the difficulties associated with the Wiener filter by replacing the Fourier transform with a short term Fourier transform and noting that the Wiener filter can also be written as where Φ xx (ω) is the power spectrum of the input signal (information signal plus noise) and ω is a radian frequency. The speech power spectrum is not estimated directly, but is estimated from the power spectrum of the noisy input and the power spectrum of the noise. The spectral subtraction technique has been widely used but has a number of limitations which restrict its application. Firstly, the Wiener filter is applied in the frequency domain. Frequency domain filtering is equivalent to circular convolution and introduces non-linear distortion and noise. Data windows and overlap-add processing is often used to help mitigate these effects. Secondly, the block processing introduces a delay into the signal path. Additionally, the spectral distortion of the information signal make the filter unsuitable for use with some voice compression or speech recognition systems. An attempt to solve this latter problem is described in "Constrained Iterative Speech Enhancement with Application to Speech Recognition", J.H. Hansen and M.A. Clements, IEEE Transactions on Signal Processing, Vol. 39, No 4, April 1991 , pp795-805 and in patent application WO 95/15550 (Wynn). This approach requires intensive computation and introduces still further delay due to the use of inter-frame smoothing. Signal or Noise Prediction Prediction methods can be used if (a) the signal is correlated to longer delays than the noise or (b) the noise is correlated to longer delays than the speech. Adaptive prediction filters (such as comb filters) can be used as line enhancers to enhance the periodic components of speech. Sambur ("Adaptive Noise Cancelling for Speech Signals", IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. ASSP-26, No. 5, October 1978, pp 419-423) describes such a system for application to speech enhancement. This system is also known as an adaptive line enhancer, since it enhances tonal components of the signal. A block diagram of the system is shown in figure 2. A reference signal is obtained by delaying the input signal. In Sambur's system the delay is adjusted to be one pitch period of the speech. In other systems the delay is fixed. The reference signal is passed through an adaptive filter to provide the enhanced signal. The difference between the enhanced signal and the input signal is used to adapt the filter. In order to minimize this error, the filter must use the delayed signal to predict the current signal. Another version of this approach is described in US 4.658,426 (Chabries et al), where a fixed delay of l-3ms is used and Fourier transforms are used to improve the adaptation rate of the filter. This method only enhances the tonal components of the signal, and tends to cancel other components of the signal along with the noise, resulting in 'muffled' speech. Since speech and music both contain a mixture of tonal and non-tonal (unvoiced or broadband) components, this method on its own does not provide a complete solution to the problem. Sambur's approach assumes that for short periods the speech is correlated to longer delays than the noise. A related approach assumes that the noise is correlated to longer delays than the speech. This is only true for tonal noise or very low frequency noise. An example is given in US 5,412,735 (Engebretson et al.). In Engebretson's approach a variable filter is used to predict the low frequency component of the noise. Any residual high frequency components are removed by a low pass filter and the resulting noise estimate is subtracted from the orignal signal (the original signal is delayed to compensate for the delay through the low pass filter). However, since voiced speech is correlated to long delays, this system will not reduce the noise in voiced speech. Furthermore, random noise is not at all predictable, so the best prediction of the noise is zero. Consequently Engebretson's approach will not produce any reduction of random noise. In general the speech and the noise will not have different correlation times, so the above approaches will not provide good noise reduction. Kalman Filtering The application of the well known Kalman filter to speech enhancement is described in US 4,025,721 (Graupe et al.) where the noise parameters are estimated during pauses in the speech. More recently, the Kalman filter approach is described in 'Filtering of Colored Noise for Speech Enhancement and Coding', B. Koo and J.D. Gibson, Proceedings of ICASSP-89, May 1989, Glasgow, Scotland, Vol. 1, pp 349-352. The implementation requires extensive matrix manipulations at each processing step and so is not well suited to low cost applications. Further, the recursive nature of the algorithm makes it prone to numerical instabilities. A simplified version of the algorithm, which assumes that the noise is white, is described in 'Method and Filter for Enhancing a Noisy Speech Signal' WY Chen and R.A. Haddad, US 5,148,488. This method uses a limiting Kalman filter in which the Kalman gain is fixed and takes no account of the time varying nature of speech or music. As a consequence, even though the algorithm is well suited to on-line implementation, only limited noise reduction is obtained. The major disadvantage of the Kalman filter is that it requires a mathematical model of the speech signal. Since the clean speech is not available, the model is estimated from the noisy signal. This greatly reduces the performance of the filter. Artificial Neural Networks Artificial Neural Networks have been developed for speech enhancement, see for example 'Improvements to The Noise Reduction Neural Network', S. Tamura and M. Nakamura, Proceedings of ICASSP-90, pp825-828, April 1990, Albuquerque, New Mexico, USA. These systems are computationally expensive, since typically 50-100 inputs and several layers are used, and require extensive off-line training. In addition, they operate in a block processing mode which introduces delay into the signal path. There is therefore a need for a noise reduction filter which introduces a minimum of delay and which can be used as a pre-processor to audio compression or speech recognition systems. Summary of the Invention The present invention provides a method and filter for enhancing noisy signals, particularly audio signals such as speech or music signals. Typically the noisy signal contains an information component and noise component. One object of the invention is to provide a noise reduction filter with low computation and memory requirements. A further object of the invention is to provide a noise reduction filter with very low throughput delay. A further object of the invention is to provide a noise reduction filter that provides a high degree of noise attenuation. A further object of the filter is to provide a noise reduction filter that does not require the estimation of a model for the information component of the signal. A still further object of the invention is to provide a noise reduction filter which can reduce both white noise and colored noise. In accordance with the present invention, the noisy signal, which contains the information signal and noise, is passed to a voice activity detector (VAD) which determines if the information signal is present. (Note that the information signal may be any information bearing signal that contains pauses. Examples include speech and music signals.) The noisy signal is also passed through an analysis means to determine the coefficients of a whitening filter. When the information signal is present the coefficients of this filter relate to the characteristics of the total noisy signal. During pauses in the information signal the coefficients relate to the characteristics of the noise alone. The current filter coefficients and the coefficients from the most recent pause are used to form a noise reduction filter. In the preferred embodiment, the analysis means is an adaptive whitening filter which forms an integral part of the noise reduction filter. In a further embodiment, the analysis means operates on consecutive blocks of data. This method of noise reduction requires a small amount of processing in comparison with other techniques. Further, since the method introduces very little delay into the signal path, the method is well suited to application in communication systems, voice and speech recognition systems, and hearing aids. Brief Description of the Drawings In the drawings, Figure 1 is a block diagram of a spectral subtraction filter of the prior art. Figure 2 is a block diagram of an adaptive line enhancer (comb filter) of the prior art. Figure 3 is a simplified block diagram of a further embodiement of the noise reduction filter of a parent application for use with white noise. Figure 4 is a simplified block diagram of a noise reduction filter acording to the present invention for use with white noise. Figure 5 is a simplified block diagram of one embodiment of the noise reduction filter of the invention. Figure 6 is a simplified block diagram of a further embodiment of the noise reduction filter of the invention. Figure 7 is a simplified block diagram of a further embodiment of the noise reduction filter of the invention. Figure 8 is a simplified block diagram of a further embodiment of the noise reduction filter of the invention. Figure 9 is a simplified block diagram of a still further embodiment of the noise reduction filter of the invention. Figure 10 is a block diagram of an adaptive whitening filter used in the invention. Figure 11 is a block diagram of a further adaptive whitening filter used in the invention. Figure 12 is a block diagram of an inverse whitening filter used in the invention. Figure 13 is a block diagram of a further inverse whitening filter used in the invention. Figure 14 is a simplifed block diagram of a multi-band filter of the invention. Detailed Description of the Invention In parent US patent application serial number 08/679,245, one embodiment of the noise reduction filter has an output signal y (n) which is obtained as a weighted combination of a prediction signal p (n)and a prediction error signal u (n) (which corresponds to e (n) in the parent application). When the prediction gain is set to unity, the output is V («-) = p{n) + K e u (n) . (3) The prediction error is difference between the noisy input signal x(n) and the prediction signal p (n) , hence the prediction signal is related to the noisy input signal x (n) and the prediction error signal by p (n) = x (n) — u (n) . (4) Using this relationship, the output signal can alternatively be written as a weighted combination of the input signal and the error signal y (n) = x {n) - (l - K e ) u {n) . (5) This form is mathematically equivalent to equation 3 used in the parent application but does not require the explicit calculation of a prediction signal. However, the prediction error signal u (n) can be obtained, as in the parent application, by first calculating a prediction signal and then subtracting it from the input signal (discussed with reference to figure 11 below). Alternatively the prediction error signal may be obtained directly using a lattice filter (discussed with reference to figure 10 below). Figure 3 shows a further embodiment of the filter 32 of the parent application for the case when the noise component is white. This filter has the same function as the filter of the parent application, but in this form the explicit calculation of a prediction signal is not required. The output signal 13 can be obtained by passing the input signal 1 through a first signal path which contains an input whitening filter 2 and gain element 9. The whitening filter operates on the input signal to produce the prediction error signal u (n) 4. The prediction error signal u(n) is used to adjust the input whitening filter 2. In the preferred embodiment the filter characteristic is adjusted so as to minimize the power of the output u{n) - this is discussed in more detail with reference to figure 11 below. The gain has the value (1 — K c ) . The signal is also passed along a second signal path with unity response to produce the signal x (n). The outputs from the two signal paths are subtracted at 10 to yield the output signal y (n) . This form assumes that the noise component of the input signal is white (i.e. its average amplitude does not vary with frequency) and is therefore unpredictable. The parent application describes several methods for whitening the noise. One aspect of the system of the parent patent application is that for optimal performance the whitening should be designed to whiten the desired information signal rather than the noisy input signal. This is done by using a modified adaptation algorithm or by using the previous enhanced output signal 11 as an additional input to the whitening filter 2, as shown in figure 3. The noise reduction filter of the current invention provides alternative and improved methods for modifying the filter to enhance signals corrupted by non-white (colored) noise (i.e. noise for which the amplitude varies with frequency). This method utilizes a whitening filter for the noisy input signal rather than a whitening filter for the information signal. One embodiment of the current invention for use when the noise component is white is shown in figure 4. The noise reduction filter 30 has been modified from the previous filter by the inclusion of a transposed filter 5 in the first signal path. Additionally, the whitening filter is designed to whiten the noisy input signal rather than just the information component, so the output signal 11 is no longer used as an auxiliary input to filter 2 and the output u from the whitening filter is a whitened input signal rather than a noisy signal containing a whitened information signal. In a further embodiment the order of filters 2 and 5 is interchanged. The characteristics of the transposed filter 5 will be described below. The whitened input signal 4 and the input signal 1 are used by gain adjuster 16. The whitened input signal u, 4, is also used to adjust the coefficients of the whitening filter 2. For applications where the noise component may or may not be white, significant additional components are required. Several embodiments of the noise reduction filter of the current invention will now be described. A more general embodiment 30' of the noise reduction filter of the current invention is shown in figure 5. The noisy input signal x (n), 1, which contains an information signal component and a noise component, is supplied to an adaptive input whitening filter 2, discussed with respect to figures 10 and 11 below, and also to a noise whitening filter 3. The output u (n), 4, from the adaptive whitening filter is a whitened input signal which is passed through a transposed input whitening filter 5 and then a gain filter 9. The output 6 from the noise whitening filter is passed through a transposed noise whitening filter 7. The output from the transposed input whitening filter is subtracted from the output of the transposed noise whitening filter by signal combiner 10 to form combined signal 11. The combined signal is then passed though inverse filter 12 to form the enhanced output signal y (n) , 13. In the preferred embodiment, the inverse filter 12 comprises a cascade of two inverse noise whitening filters, 14 and 15, discussed with reference to figures 12 and 13 below. Pauses in the information signal are detected by voice activity detector 17 and the coefficients of the filters 3, 7 and 12 are updated during pauses. The attenuation filter 9 is adjusted dependent upon the current characteristics of the whitened input signal 4 and an estimate of the noise characteristics, derived from the noise whitened signal 6. The noise characteristics can be measured during pauses or from minima in the whitened noise signal 6. In one embodiment, the coefficients of the adaptive input whitening filter are copied to the noise whitening filter 3, its transpose 7 and the inverse filter 12 during pauses in the information signal. In another embodiment, the coefficients of the noise whitening filter are adapted when no information signal is present. The coefficients of the input whitening filter 2 are used in the transposed filter 5. The input to the filter 1 at time sample n is x (n) = s (v) + d {n) , (6) where s (n) is the desired information signal and d (n) is a noise or disturbance signal. The operation of the filter will be described in terms of the z transform, although the filters are implemented as time domain filters. The z transform of the signal u is given by u {z) = ∑ u{n)z- n (7) n This is related to the discrete Fourier transform u (ω) by u (ω) = u (z)\ t=e→uT . (8) The z transform of the whitened input signal 4 is u (z) = C (z) x (z) , (9) where C (z) is the transfer function of the input whitening filter 2 and x (z) is the transform of the input signal. The noise whitened signal 6 is w (z) = B (z) x (z) -= B (z) s (z) + v (z) , (10) where B (z) is the transfer function of the noise whitening filter 3 and v (z) is a whitened noise signal. When there is no information signal present s (z) = 0 and so w (z) = v (z) . The characteristics of the filters B (z) and C (z) will be discussed later. The whitened input signal u (z) is passed through transposed filter C τ (z) 5 and gain filter K (z) 9. The noise whitened signal w (z) is passed through transposed filter B τ (z) 1. The resulting signals are combined at 10 to produce combined signal t (z) , 11, where t(z) = B τ (z) w (z) - K{z)C T (z) u (z) . (11) The combined signal is then passed through inverse filter i " (z) , 12, to produce the output signal y (z) , 13, where y(z) = I (z) t (z) . The overall transfer function of the filter 30' is therefore F (z) l- = / ( Z ) (B τ (z) B (z) - K(z)C T (z) C (z)) , (12) x z) where, as stated above, C (z) is an input whitening filter, C τ (z) is the transposed filter associated with C(z), B (z) is a noise whitening filter, B τ (z) is the transposed filter associated with B(z) . I (z) is an inverse filter, and K (z) is a gain filter. In the preferred configuration the inverse filter has response which can be implemented as the cascade This embodiment is shown in figure 5, where each of the inverse filters 14 and 15 has response l/B (z) . The overall response of the filter 30' can be written as F (z) = z 'N Φ (z) W (z) , (15) where and is an all-pass filter. N is the order of the input whitening filter. Since all of the filters apart from the adaptive whitening filter are linear elements, the order in which they are used is a design choice. For example, in a further embodiment, the inverse filter 14 is moved from the single path after the combiner 10 to both signal paths before the combiner. However, the combination of the noise whitening filter and its inverse leaves the signal unchanged and so these filters need not be implemented. The resulting noise reduction filter 30", shown in figure 6, has the same response as the filter 30' in figure 5, but requires one less filter for operation. Since the noise is assumed to have slowly varying characteristics the noise can be estimated from the output of filter 7. When the noise whitening filter and the input whitening filter have the same structure, the noise can alternatively be estimated from the output of filter 2. In a further embodiment of the invention, linear phase whitening filters are used. In this embodiment, shown in figure 7, the overall transfer function of filter 31 is F (z) = ~ = / (z) (B lιn (z) - K(z)C im (z)) , (18) x yz) where C „ (z) is a linear phase input whitening filter 25 and Bι in (z) is a linear phase noise whitening filter 26. As before, / (z) is an inverse filter 12 and 9 is a gain filter adjusted by gain adjustment means 16. Filter 25 is composed of transpose filter 20 and whitening filter 21. Filter 26 is composed of transpose filter 23 and noise whitening filter 24. The characteristics of the filters B (z) , Bu n (z) , C (z) and ιn (z) will be described below. Again, since all of the filters apart from the adaptive whitening filter are linear elements, the order in which they are used is a design choice. For example, in a further embodiment, the inverse filter 14 is moved from the single path after the combiner 10 to both paths before the combiner. In this arrangement, the combination of the noise whitening filter and its inverse leaves the signal unchanged and so the filters need not be implemented. This embodiment 31' of the noise reduction filter of the invention is shown in figure 8. The inverse filter 12 is composed of two inverse noise whitening filters (as in figure 5). In this embodiment, one of these filters 14 is moved from after the combining means 10 to the lower signal path of figure 8. A corresponding filter is not needed in the upper signal path since it cancels with the noise whitening filter 24. Hence this embodiment requires five filters rather than six. Other arrangements will be obvious to those skilled in the art. For example, the input whitening filter need not be continuously adapted. Instead the coefficients can be calculated via linear predictive (LP) analysis on a block of data. The basic concepts of linear prediction analysis are described in 'Discrete Time Processing of Speech Signals', J.R. Deller, J.G. Proakis and J.H. Hansen, Macmillan Publishing Company, New York, 1993, chapter 5, pp 266-309. This arrangement is shown in figure 9. A block of data 60 is passed to LP analysis means 62 which calculates the LP coefficients for the input whitening filter (which are also used in the corresponding transposed filter). The coefficients 63 are passed to noise reduction filter 30 or 31. The presence of the information signal in the block of data is detected and a flag 64 is passed to the noise reduction filter to indicate that the noise whitening filter coefficients should be updated (along with the corresponding transposed and inverse filters). If a long term prediction filter is being used, the pitch information 65 and filter coefficients 64 are also passed to the noise reduction filter. The input signal is delayed in buffer 61 so that the data passing through the filter corresponds to the data used in the LP analysis. This arrangement does not have the low throughput delay of the previous arrangements, but it does have a low computational requirement. In addition, when the noise reduction filter is combined with additional speech processing functions requiring LP or pitch analysis, the analysis need only be performed once, thereby further reducing computation requirements. Additionally, the buffer 61 can also be used by other speech processing functions, thereby reducing memory requirements. Input Whitening Filter This section describes the input whitening filter C (z) . Whitening filters are well known in speech processing and are sometimes referred to as Linear Prediction (LP) analysis filters. The corresponding inverse filters are known as LP synthesis filters. Prior noise reduction techniques based on Kalman filters use a low order linear prediction model for the information signal. This model is not available in practice and, since the model is time varying, cannot be selected in advance. The filter of the current invention, as described above, avoids this problem by using a low order model for the total input signal rather than the desired information signal. The input signal model can be obtained directly from the available data. The assumption is that if the noise and the information signal both have low order models, then so does the noisy input signal. In particular, the total input signal x (n) at sample n is assumed to satisfy the model Λ. x(n) -= — 2_ Cjx(n - j) + u(n), (19) 3 = 1 where N is the order of the filter, c,- are time varying coefficients and u (n) is an excitation signal. This can be rearranged as N u(n) = ∑ c 3 χ ( n - i). (2 ° ) 3=0 where c_ = 1. This equation shows that the excitation signal u(n) can be obtained by passing the input signal x (n) through a filter with coefficients c r This filter is known as a whitening filter, since u has a flatter (or whiter) spectrum than x. The filter can be implemented in a variety of forms. One form of the filter is an adaptive lattice filter (see for example "Adaptive Lattice Analysis of Speech" by J.I. Markoul and L.K. Cosell, IEEE Transactions on Acoustics, Speech and Signal Processing, Vol. ASSP-29, No. 3, June 1981 ). This form, shown in figure 10, does not use the coefficients Cj directly, but has the same impulse response. At each stage i the forward prediction errors f { (n) are given by /, (n) = Λ-i (n) + Ki (n) g^n - 1) (21) and the backward prediction errors g x (n) are given by 9i (n) = Ki (n) ,_! (n) + _ ! (n - 1). (22) The filter coefficients K x (n) , K 2 (n) , . . . , K N (n) are obtained by minimizing the forward prediction errors f x (n) , / 2 (n) , . . . , N (rc) and/or the backward prediction errors 9\ ( n ) . 52 (" ' ) . ■ ■ - . 9N in) ■ This can be done adaptively or by using the Levinson-Durbin recursion algorithm. Another form of the input whitening filter is shown in figure 11. The input signal x (n) 1 is passed to delay element 40. The output 41 of the delay element is the previous input signal which is passed to filter 42 (with coefficients cγ . c 2 , ■ . . , c N ) to produce signal 43. Signal 43 is a prediction of the input signal. The signal 43 is subtracted from the input signal at 44 to give the whitened output signal u (n) 4. This signal corresponds to a prediction error signal. Together with signal 41, the prediction error signal is used by the adaptation means 45 to adjust the coefficients of the filter 42. This form of whitening filter is described in parent US patent application serial number 08/679,245 for example. In all cases, the filter coefficients are adjusted to minimize an estimate of the power of the signal u (n) . The filter 42 may be a Moving Average or Auto Regressive Moving Average filter. Such filters are well known and are used in signal compression algorithms. In a still further form of the filter, the pitch of the input signal is used to produce a long term prediction filter, known as a pitch filter. This filter can be used in series or in parallel with a shorter LP analysis filter. The long term prediction filter assumes that the signal is almost periodic, and the current signal is predicted as a weighted sum of signals from corresponding points in previous periods. One form of long term prediction filter uses the period or pitch of the signal which can be measured from the input signal, the whitened input signal, or the output signal. Other forms use adaptive filters. The lattice filter has the advantage that the stability of the inverse filter can easily be assured. However, the computational requirements are much greater than a simple transversal filter (primarily because digital signal processing chips are designed for pipelined multiply-accumulate operations). One option is to implement the longer C filter as a transversal filter (since its inverse is not required) and to implement the shorter B filter as a lattice. The z - transform of the input excitation signal is u (z) = C (z) x (z) , (23) where _V C W ^ l + The power spectrum of the input signal can be written as where T is the sampling period, ω is the Fourier transform variable (frequency) and Φ xx (z) = (z ("Z)> (26) Φ uu {z) = (u 2 {z)) . (27) The angled brackets denote the expected value. Noise Whitening Filter This section describes the input whitening filter B (z) . The noise signal can be modeled as M d{n) = - |T bjd{n - j) + v(n) (28) 3 = 1 where M is the order of the filter and v (π) is an excitation signal. This can be rearranged as M ) = ∑M( « - J) (29) 3=0 where b 0 = 1. During pauses in the information signal the excitation signal v(n) can be obtained by passing the input signal (which contains only noise) through a filter with coefficients b 3 . The filter with transform B (z) is, therefore, a noise whitening filter. Furthermore, when M — N. the coefficients 6. and c 3 are substantially the same during pauses in the information signal. Consequently, when M -= N there is no need for a separate adaptation process for the noise whitening filter. This can result in considerable computational savings. If M < N, then a separate adaptation process will be required - unless a lattice filter is used. When a lattice filter is used the first M coefficients of the input whiten- ing filter during pauses can be used in the noise whitening filter. In other embodiments, the coefficients of the noise whitening filter are updated during pauses in the information signal. The noise has power spectrum where M B (z) = l + ∑ b 3 (31) 3=1 Transposed Filters For z = e ~ιωT we can write |_3 (z)| 2 = B (l/z) B (z) (32) \C (z)\ 2 = C (l/z) C (z) (33) The transposed filters are defined by B T (z) -_V B (l/z) (34) C r (z) ,-N C (l/z) (35) Both B τ (z) and C τ (z) are causal, realizable filters (provided N > M, as is assumed). In direct form the transposed filters are obtained by reversing the order of the coefficients in the correponding FIR filter. In a lattice filter they are implemented by the same structure as the forward filter (see figure 10), but the backward prediction error is used as the output of the filter rather than the forward prediction error. In figure 10, the forward prediction errors are denoted by { i (n) , / 2 (n) , . . . , f N (n)} and the backward prediction errors by {g λ (n) , i (n) , . . . , g^ (n)} . The whitening filter uses f N (n) as the output while the transposed filter uses g^ (n) as the output. Alternative Embodiment Using Linear Phase Whitening Filters The linear phase input whitening filter (25 in figure 7), has the form C hn (z) = c (z) z ~N c (1/z) = c (z) c τ (z) (36) Referring to figure 7, the input signal 1 is first passed through the transposed filter c r 20 to give ui (r. ) which has transform Uι (z) = c τ (z) x (z) , (37) and then through the whitening filter c 21 to give the whitened signal u (n) 22 which has transform u(z) -= c (z) uι (z) . (38) The filter c is adapted to minimize the correlation between u and u-_ using known techniques. The coefficients of the c 21 filter are also used in the transposed filter c τ 20. Hence the combination of the two filters 20 and 21 will tend to whiten the input signal. Furthermore, since c (z) c (1/z) has zero phase, the combination filter C n (z) will have a linear phase response. The filter c will be referred to as an input whitening filter since its output has a whiter spectrum than the input signal 1 or the signal u . The linear phase noise whitening filter 26 is implemented in an analogous manner, and may use filter coefficients copied from the input whitening filter during pauses in the information signal. This further embodiment 31 of the noise reduction filter of the invention is shown in figure 7. The noisy input signal 1, is supplied to transposed input whitening filter 20 and also to a transposed noise whitening filter 23. The output from the filter 20 is passed through an input whitening filter 21 to provide a whitened input signal 22. This signal is then passed through a gain filter 9. The output from the transposed noise whitening filter 23 is passed through a noise whitening filter 24. The outputs from the two signal paths are combined at summer 10 to form combined signal 11. The combined signal is then passed though inverse filter 12 to form the enhanced output signal 13. Pauses in the information signal are detected by voice activity detector 17 and the coefficients of the filters 23, 24 and 12 are updated during pauses. The gain filter 9 is adjusted dependent upon the current characteristics of the whitened input signal 22 and an estimate of the noise characteristics. The coefficients of transposed filter 20 are obtained from the input whitening filter 21. In the embodiments shown in figures 5, 6, 7 and 8, the output from the input whitening filter tends to have a flatter or whiter spectrum and the output from the noise whitening filter tends to have a whiter noise component. Inverse Filter In this section the implementation of the inverse filter / (z) is described. Ideally, / (z) would have the response , g ) -a . but this filter cannot be realized in real time. The filter must therefore be approximated. Linear Phase Filter In one approach the non-causal impulse response is calculated, truncated for t < — max and then time shifted by max to make it causal. The filter can then be fitted by an au- toregressive/moving average or moving average filter. The main disadvantages of this approach are (1) the truncation will alter the amplitude of the filter response and (2) a significant amount of computation is required. Minimum Phase Filter The second, preferred approach is to apply the filter B ~ 1 twice. The resulting filter has the correct amplitude response, but has a modified phase response. However, the phase response is determined by the slowly varying noise whitening filter and audio signals are insensitive to a simple phase shift (otherwise speech would sound different as a person walked around a room). The filter B is generally minimum phase. This can be assured by using an adaptive lattice filter to determine the coefficients B, but experimentation has shown that B is minimum phase for an adaptive MA filter as well. The inverse lattice filter 14 is shown in figure 12. The inverse of the MA filter is the AR filter shown in figure 13. The input to the filter 51 is combined at 52 with the output from filter 51 to produce output signal 53. The output signal is passed to delay element 54. The delayed (previous) output signal 55 provides the input to filter 51. The filter 51 has the same filter coefficients {bι , b 2 , . . . , b^} as the noise whitening filter. Gain Calculation The gain filter 9 in figures 5, 6, 7 and 8 can take a variety of forms. In its simplest form the filter has a single coefficient and is therefore a simple level or gain adjustment. The dependence of this gain upon the characteristics of the input signal and the noise will now be described. The gain should approach unity when no information signal is present so that the signals in the two branches of the filter tend to cancel at summer 10. When the input signal is much larger than the noise component the gain should be small. The level of the noise component can be determined during pauses in the information signal or from minima in the noise whitened signal. Preferably the levels are determined from the whitened signals u {z) = C (z) x (z) (39) and v (z) = B {z) x (z) . (40) If the noise model is accurate then v (n) will be white and Φ„„ = (v 2 ) can be estimated from the whitened noise power during pauses in the speech (or via a minimum filter). However, u (n) will generally not be white (it will be a pulse train for voiced speech unless a long term prediction filter is used). The situation can be improved by lengthening the prediction filter. If the long term correlation of u (t) is ignored, then Φ uu can be estimated as the power of the signal u (n) . In one embodiment of the invention a simple gain K is calculated from the estimates of Φ vv and Φ uu . An example is where 7 > 0. Examples with 7 = 1 and 7 = 1/2 are described below. Other gain functions will be apparent to those skilled in the art. Gains larger than unity or less than zero may be used to provide further signal enhancement. Relationship to the Non-Causal Wiener Filter When the information signal and the noise are uncorrelated, the z transform of a non-causal Wiener filter can be written as where and v (z) are white noise signals will K be a simple gain. When K = K^ t . it is clear that W = W o p t and that the embodiments of the filter shown in figures 5 and 6 are equivalent to a combination of a non-causal Wiener filter, a delay and an all-pass filter. For other choices of K, and when linear whitening filters are used, there is no relationship between the filters. Relationship to the Spectral Subtraction Filter In spectral subtraction the amplitude of the noise spectrum is estimated and then subtracted from the total spectrum. If circular convolution effects are ignored, this is equivalent to a filter with z transform Substituting for the power spectra as above gives where Note the K ss (z) is, in general, a filter rather than a simple gain. Only when both u (z) and v (z) are white noise signals will K ss be a simple gain. For the embodiments shown in figures 7 and 8, it is clear that when the gain 9 is set to be Kss, the term W is equal to the spectral subtraction gain W S3 . Hence the filter 31 of the current invention is equivalent to a combination of a non-causal spectral subtraction filter, a delay and an all-pass filter. For other choices of K there is no relationship between the filters. Level Estimates The signal levels may be measured via a number of known techniques, often referred to as envelope detection techniques or power estimation techniques. For example, the signal powers can be estimated as Φuu(n) = Φ uu (" - 1) + β u [\u(r> - l)\ a - Φ u »] (48) A_(") = dd(« - l) + β d [\ (n - 1)|" - Φ dd (n)} (49) where 0 < ? u < l, 0 < /3 d < l and > ϋ are parameters. In one embodiment, Φ < ω( ?) is only updated during pauses in the information signal, which requires the use of a voice activity detector (VAD). In a further embodiment Φ (n) is estimated from minima in the noise whitened signal, = 2 provides estimates of the signal powers, = 1 may be used to facilitate computation using fixed point arithmetic. Further signal level estimators are described in parent U.S. patent application 08/679,245. Implementation and Applications The input signal may be passed through a pre-emphasis filter before being passed to the noise reduction filter. The pre-emphasis filter amplifies the higher frequency components of the signal relative to the low frequency components. A corresponding de-emphasis filter can be applied to the output signal. In some applications it may be desirable to apply slightly less de-emphasis to the output, so that the output signal retains some emphasis. In the preferred embodiment, the filter may be implemented by software running on a personal computer or a general purpose digital signal processor. The filter of the invention may conveniently be combined with other speech processing functions (such as voice coding or echo cancellation). Alternatively, it may implemented by a custom digital signal processor. This may be necessary for applications where cost and power consumption are at a premium, such as in digital hearing aids or smart (noise reducing) sensors. In these implementations the input signal is digitized before being passed to the filter. The noise reduction filter of the invention may be applied to one or more channels of a subband filter. In figure 14, which shows a multi-band noise reduction filter, the input signal x(n) is applied to an analysis filter bank 71. The filter bank separates the input signal into a number (F) of constituent components x (π), xl(n) , ..., xF(n) (often frequency components). Filter banks are equivalent to signal transforms, examples include fast Fourier transforms, wavelet transforms and subspace transforms. Preferrably, the component signals _cO(n), _cl(n), ..., xF(n) are received at a lower sampling rate than that of the input signal x(n). Each output signal is either filtered by a noise reduction filter 72-1, 72-2, ..., 72-F to produce an enhanced signal yl(n), y2(n), ..., yF(rι) or is delayed by a delay means 72-0 to produce delayed signal y0(n). These enhanced or delayed signals are then recombined in synthesis filter bank 73 to form the enhanced output signal y(n). In a still further embodiment, the analysis filter bank, 71 in figure 14, has only two output channels. The first channel is an estimate of the periodic (voiced) component x0(rι) of the input signal and second is an estimate of the non-periodic (unvoiced) component xl(n) of the input signal. The periodic component is passed through delay means 72-0 to produce delayed signal y0(v). The non-periodic signal is passed through the noise reduction filter 72-1 of the invention to produce yl(rt). y (n) and yl(n) are combined in 73 to produce the enhanced output signal y{n). This embodiment is a two-band noise reduction filter which may be implemented by block processing or by continuous processing. The synthesis filter bank 73 in this embodiment is a simple signal combiner which adds the delayed periodic signal yO (n ) and the enhanced non-periodic signal yl (n). The filter may also be used in a smart sensor comprising a microphone or other sensor, an analog to digital converter and a digital signal processor. These elements are all packaged together to provide a sensor that senses a noisy physical phenomenon and produces a corresponding noise reduced digital signal. In one embodiment the elements are formed from one or more silicon chips. While a preferred embodiment of the invention has been shown and described, the invention is not to be limited by the above exemplary disclosure, but only by the following claims.

Claims: Claims 1. A method for enhancing an input signal, said input signal including a noise component and an information component, comprising the steps of passing the input signal through a first signal path which includes an input whitening filter and a gain filter to obtain a first signal, passing the input signal through a second signal path to obtain a second signal, subtracting said first signal from said second signal to obtain a difference signal, passing said difference signal through a third signal path to obtain an enhanced signal having a reduced noise component. 2. A method as in claim 1 in which said first signal path includes a first transposed filter corresponding to said input whitening filter. 3. A method as in claim 2 in which said second signal path includes a second transposed filter and said third signal path includes an inverse filter. 4. A method as in claim 3 in which the inverse filter comprises a cascade of two inverse noise whitening filters and in which said second signal path includes a noise whitening filter. 5. A method as in claim 4 in which the gain filter is a simple attenuator in which the attenuation is adjusted dependent upon the levels of the input whitening filter output and an estimate of the level of the noise component in the output from the noise whitening filter. 6. A method as in claim 3 in which the inverse filter comprises an inverse noise whitening filter and in which said first signal path includes an inverse noise whitening filter. 7. A method as in claim 1 in which the gain filter is adjusted dependent upon the current characteristics of the input whitening filter output and an estimate of the characteristics of the noise component. 8. A method as in claim 1 in which said input whitening filter is an adaptive filter. 9. A method as in claim 1 in which said noise whitening filter is an adaptive filter. 10. A method as in claim 1 and including the steps of analyzing said input signal to determine the coefficients of said input whitening filter, passing said coefficients to said input whitening filter and delaying said input signal in a buffer to provide the input to said first and second signal paths. 11. A method as in claim 3 which includes the step of determining if the information component is present in the input signal and in which the characteristics of the noise component of the noise whitening filter output and the characteristics of the noise whitening filter are updated only when the information component is not present. 12. A method as in claim 11 in which the coefficients of the noise whitening filter are copied from the adaptive input whitening filter when the information signal is not present. 13. A method as in claim 1 in which the input whitening filter includes a long term prediction filter and a short term prediction filter. 14. A noise reduction filter for enhancing an input signal, said input signal including a noise component and an information component, said filter comprising: a first signal path which includes an input whitening filter and a gain filter, said first signal path having the input signal as input and producing a first signal as output, second signal path having the input signal as input and producing a second signal as output, signal subtraction means for subtracting said first signal from said second signal to obtain a difference signal, and third signal path having said difference signal as input and producing an enhanced signal as output, said enhanced signals having a reduced noise component. 15. A noise reduction filter as in claim 14 in which said first signal path includes a first transposed filter corresponding to said input whitening filter. 16. A noise reduction filter as in claim 14 in which said signal path includes a second transposed filter and said third signal path includes an inverse filter. 17. A noise reduction filter as in claim 16 in which the inverse filter comprises a cascade of two inverse noise whitening filters and in which said second signal path includes a noise whitening filter. 18. A noise reduction filter as in claim 16 in which the inverse filter comprises an inverse noise whitening filter and in which said first signal path includes an inverse noise whitening filter. 19. A noise reduction filter as in claim 14 and including a gain adjustment means which adjusts the gain filter dependent upon the current characteristics of the input whitened filter output and an estimate of the characteristics of the noise component. 20. A noise reduction filter as in claim 14 in which said input whitening filter is an adaptive filter. 21. A noise reduction filter as in claim 14 in which said noise whitening filter is an adaptive filter. 22. A noise reduction filter as in claim 14 and including block analysis means for analyzing future input signals and updating the coefficients of said input whitening filter and buffer means responsive to future input signals and providing said input signal. 23. A noise reduction filter as in claim 14 and including means for determining if the information component is present in the input signal. 24. A noise reduction filter as in claim 23 and including means for adjusting the characteristics of said noise whitening filter when the information component is not present. 25. A noise reduction filter as in claim 23 and including means for copying the coefficients of the noise whitening filter from the adaptive input whitening filter when the information signal is not present. 26. A noise reduction filter as in claim 14 in which the input whitening filter includes a long term prediction filter and a short term prediction filter. 27. A multi-band noise reduction filter for enhancing an input signal, said input signal including a noise component and an information component, said filter comprising: an analysis filter bank having the input signal as input and producing a plurality of component signals as output, one or more noise reduction filters receiving said component signals as input and producing enhanced component signals as output, one or more delay means receiving said component signals as input and producing delayed component signals as output, a synthesis filter bank responsive to said enhanced component signals and said delayed component siganls and producing an enhanced signal as output, said enhanced signal having a reduced noise component. 28. A two-band noise reduction filter for enhancing an input signal, said input signal including a noise component and an information component, said filter comprising: means for separating the input signal into a periodic signal and a non-periodic signal, a noise reduction filter receiving said non-periodic signal component as input and producing an enhanced non-periodic signal as output, means for delaying said periodic signal by an amount equal to the delay of said noise reduction filter to produce a delayed periodic signal, and means for combining said enhanced non-periodic signal and said delayed periodic signal to produce an enhanced signal as output, said enhanced signal having a reduced noise component.

Inventors: EATWELL GRAHAM P, EATWELL, GRAHAM, P.
Applicants: EATWELL GRAHAM P, EATWELL, GRAHAM, P.
Application year: 1997
Main classification: H04B15
IPC codes: H04B1