Method for noise weighting filtering

Abstract: The invention is used to shape noise in time domain and frequency domain coding schemes. The method advantageously uses a noise weighting filter based on a filterbank with variable gains. A method is presented for computing the gains in the noise weighting filterbank with filter parameters derived from the masking properties of speech. Illustrative embodiments of the method in various coding schemes are illustrated.

Description: Technical Field This invention relates to noise weighting filtering in a communication system. Background of the Invention Advances in digital networks such as ISDN (Integrated Services Digital Network) have rekindled interest in teleconferencing and in the transmission of high quality image and sound. In an age of compact discs and high-definition television, the trend toward higher and higher fidelity has come to include the telephone as well. Aside from pure listening pleasure, there is a need for better sounding telephones, especially in the business world. Traditional telephony, with its limited bandwidth of 300-3400 Hz for transmission of narrowband speech, tends to strain the listeners over the length of a telephone conversation. Wideband speech in the 50-7000 Hz range, on the other hand, offers the listener more presence (by reason of transmission and reception of signals in the 50-300 Hz range) and more intelligibility (by reason of transmission and reception of signals in the 3000-7000 Hz range) and is easily tolerated over long periods. Thus, wideband speech is a natural choice for improving the quality of telephone service. In order to transmit speech (either wideband or narrowband) over the telephone network, an input speech signal, which can be characterized as a continuous function of a continuous time variable, must be converted to a digital signal -- a signal that is discrete in both time and amplitude. The conversion is a two step process. First, the input speech signal is sampled periodically in time (i.e. at a particular rate) to produce a sequence of samples where the samples take on a continuum of values. Then the values are quantized to a finite set of values, represented by binary digits (bits), to yield the digital signal. The digital signal is characterized by a bit rate, i.e. a specified number of bits per second that reflects how often the input signal was sampled and many bits were used to quantize the sampled values. The improved quality of telephone service made possible through transmission of wideband speech, unfortunately, typically requires higher bit rate transmission unless the wideband signal is properly coded, i.e. such that the wideband signal can be significantly compressed into representation by fewer number of bits without introducing obvious distortion due to quantization errors. Recently some coders of high-fidelity speech and audio have relied on the notion that mean-squared-error measures of distortion ( e.g. measures of the energy difference between a signal and the signal after coding and decoding) do not necessarily describe the perceived quality of the coded waveform - in short, not all kinds of distortion are equally perceptible. M. R. Schroeder, B. S. Atal and J. L. Hall, "Optimizing Digital Speech Coders by Exploiting Masking Properties of the Human Ear," J. Acous. Soc. Am., vol. 66, 1647-1652, 1979. For example, the signal-to-noise ratio between s(t) and - s ( t ) is -6dB, and yet the ear cannot distinguish the two signals. Thus, given some knowledge of how the auditory system tolerates different kinds of noise, it has been possible to design coders that minimize the audibility ― though not necessarily the energy ― of quantization errors. More specifically, these recent coders exploit a phenomenon of the human auditory system known as masking. Auditory masking is a term describing the phenomenon of human hearing whereby one sound obscures or drowns out another. A common example is where the sound of a car engine is drowned out if the volume of the car radio is high enough. Similarly, if one is in the shower and misses a telephone call, it is because the-sound of the shower masked the sound of the telephone ring; if the shower had not been running, the ring would have been heard. In the case of a coder, noise introduced by the coder ("coder" or "quantization" noise) is masked by the original signal, and thus perceptually lossless (or transparent) compression results when the quantization noise is shaped by the coder so as to be completely masked by the original signal at all times. Typically, this requires that the coding noise have approximately the same spectral shape as the signal since the amount of masking in a given frequency band depends roughly on the amount of signal energy in that band. P. Kroon and B. S. Atal, "Predictive Coding of Speech Using Analysis-by-Synthesis Techniques," in Advances in Speech Signal Processing (S. Furui and M. M. Sondhi, eds.) Marcel Dekker, Inc., New York, 1992. Until now there have been two distinct approaches to perceptually lossless compression, corresponding respectively to two commercially significant audio sources and their different characteristics -- compact disc/high-fidelity music and wideband (50-7000 Hz) speech. High-fidelity music, because of its greater spectral complexity, has lent itself well to a first approach using transform coding strategies. J. D. Johnston, "Transform Coding of Audio Signals Using Perceptual Criteria," IEEE J. Sel. Areas in Comm., 314-323, June 1988; B. S. Atal and M. R. Schroeder, "Predictive Coding of Speech Signals and Subjective Error Criteria," IEEE Trans. ASSP , 247-254, June 1979. In the speech processing arena, by contrast, a second approach using time-based masking schemes, e.g. code-excited linear predictive coding (CELP) and low-delay CELP (LD-CELP) has proved successful. E. Ordentlich and Y. Shoham, "Low Delay Code-Excited Linear Predictive Coding of Wideband Speech at 32 Kbps," Proc. ICASSP , 1991; J. H. Chen, "A Robust, Low-Delay CELP Speech Coder at 16 Kb/s," GLOBECOM 89, vol. 2, 1237-1240, 1989. The two approaches rely on different techniques for shaping quantization noise to exploit masking effects. Transform coders use a technique in which for every frame of an audio signals, a coder attempts to compute a priori the perceptual threshold of noise. This threshold is typically characterized as a signal-to-noise ratio where, for a given signal power, the ratio is determined by the level of noise power added to the signal that meets the threshold. One commonly used perceptual threshold, measured as a power spectrum, is known as the just-noticeable difference (JND) since it represents the most noise that can be added to a given frame of audio without introducing noticeable distortion. The perceptual threshold calculation, described in detail in Johnston, supra, relies on noise masking models developed by Schroeder, supra, by way of psychoacoustic experiments. Thus, the quantization noise in JND-based systems is closely matched to known properties of the ear. Frequency domain or transform coders can use JND spectra as a measure of the minimum fidelity ― and therefore the minimum number of bits ― required to represent each spectral component so that the coded result cannot be distinguished from the original. Time-based masking schemes involving linear predictive coding have used different techniques. The quantization noise introduced by linear predictive speech coders is approximately white, provided that the predictor is of sufficiently high order and includes a pitch loop. B. Scharf, "Complex Sounds and Critical Bands," Psychol. Bull., vol. 58, 205-217, 1961; N. S. Jayant and P. Noll, Digital Coding of Waveforms , Prentice-Hall, Englewood Cliffs, NJ, 1984. Because speech spectra are usually not flat, however, this distortion can become quite audible in inter-formant regions or at high frequencies, where the noise power may be greater than the speech power. In the case of wideband speech, with its extreme spectral dynamic range (up to 100dB), the mismatch between noise and signal leads to severe audible defects. One solution to the problems of time-based masking schemes is to filter the signal through a noise weighting (or perceptual whitening) filter designed to match the spectrum of the JND. In current CELP systems, the noise weighting filter is derived mathematically from the system's linear predictive code (LPC) inverse filter in such a way as to concentrate coding distortions in the formant regions where the speech power is greater. This solution, although leading to improvements in actual systems, suffers from two important inadequacies. First, because the noise weighting filter depends directly on the LPC filter, it can only be as accurate as the LPC analysis itself. Second, the spectral shape of the noise weighting filter is only a crude approximation to the actual JND spectrum and is divorced from any particular relevant knowledge such as psychoacoustic models or experiments. EP-A-0 240 330 discloses a method which takes account of noise levels in speech recognition. Signals reaching a microphone are digitised and passed through a filter bank to be separated into frequency channels. "Distance" measurements on which recognition is based are derived for each channel. If the signal in a channel is above noise then the distance is determined, by the recogniser, from the negative logarithm of a probability density function, but if a channel signal is below noise then the distance is determined from the negative logarithm of the cumulative distance of the probability density function to the noise level. WO-A-9611467, which forms part of the state of the art, if at all, only by virtue of Art. 54(3) EPC, discloses a method in which the first step for calculating a signal-to-mask ratio for a sub-band in a sub-band audio encoder is calculating a signal level for each of the sub-bands based on an audio frame. Then, the masking level is calculated for the particular sub-band based on the signal levels, an offset function, and a weighting function. EP-A-0 289 080 discloses a system for sub-band coding of a digital audio signal which includes in the coder a filter bank for splitting the audio signal band, with sampling rate reduction, into subtends of approximately critical bandwidth and in the decoder a filter bank for merging these sub-bands, with sampling rate increase. For each sub-band the coder comprises a detector for determining a parameter representative of the signal level in a block of M samples of the sub-band signal as well as a quantizer for adaptively block quantizing this sub-band signal in response to parameter, and the decoder comprises a dequantizer for adaptively block dequantizing the quantized sub-band signal in response to parameter. Summary of the Invention Coding and decoding methods and a decoding system according to the invention are as set out in the independent claims. Preferred forms are set out in the dependent claims. In accordance with the invention, a masking matrix is advantageously used to control a quantization of an input signal. The masking matrix is of the type described in European Patent application EP-A-720146. In a preferred embodiment, the input signal is separated into a set of subband signal components and the quantization of the input signal is controlled responsive to control signals generated based on a) the power level in each subband signal component and b) the masking matrix. In particular embodiments of the invention, the control signals are used to control the quantization of the input signal by allocating a set of quantization bits among a set of quantizers. In other embodiments, the control signals are used to control the quantization by preprocessing the input signal to be quantized by multiplying subband signal components of the input signal by respective gain parameters so as to shape the spectrum of the signal to be quantized. In either case, the level of quantization noise in the resulting quantized signal meets the perceptual threshold of noise that was used in the process of deriving the masking matrix. Brief Description of the Drawings Advantages of the invention will become apparent from the following detailed description taken together with the drawings in which: FIG. 1 is a block diagram of a communication system in which the inventive method may be practiced. FIG. 2 is a block diagram of the inventive noise weighting filter in a communication system. FIG. 3 is a block diagram of an analysis-by-synthesis coder and decoder which includes the inventive noise weighting filter. FIG. 4 is a block diagram of a subband coder and decoder with the inventive noise weighting filter used to allocate quantization bits. FIG. 5 is a block diagram of the inventive noise weighting filter with no gain used to allocate quantization bits. Detailed Description FIG. 1 is a block diagram of a system in which the inventive method for noise weighting filtering may be used. A speech signal is input into noise weighting filter 120 which filters the spectrum of the signal so that the perceptual masking of the quantization noise introduced by speech coder 130 is increased. The output of noise weighting filter 120 is input to speech encoder 130 as is any information that must be transmitted as side information (see below). Speech encoder 130 may be either a frequency domain or time domain coder. Speech encoder 130 produces a bit stream which is then input to channel encoder 140 which encodes the bit stream for transmission over channel 145. The received encoded bit stream is then input to channel decoder 150 to generate a decoded bit stream. The decoded bit stream is then input into speech decoder 160. Speech decoder 160 outputs estimates of the weighted speech signal and side information which are the input to inverse noise weighting filter 170 to produce an estimate of the speech signal. The inventive method recognizes that knowledge about speech masking properties can be used to better encode an input signal. In particular, such knowledge can be used to filter the input signal so that quantization noise introduced by a speech coder is reduced. For example, the knowledge can be used in subband coders. In subband coders, an input signal is broken down into subband components, as for example, by a filterbank, and then each subband component is quantized in a subband quantizer, i.e. the continuum of values of the subband component are quantized to a finite set of values represented by a specified number of quantization bits. As shown below, knowledge of speech masking properties can be used to allocate the specified number of quantization bits among the subband quantizer, i.e. larger numbers of quantization bits (and thus a smaller amount of quantization noise) are allocated to quantizers associated with those subband components of an input speech signal where, without proper allocation, the quantization noise would be most noticeable. In accordance with the present invention, a masking matrix is advantageously used to generate signals which control the quantization of an input signal. Control of the quantization of the input signal may be achieved by controlling parameters of a quantizer, as for example by controlling the number of quantization bits available or by allocating quantization bits among subband quantizers. Control of the quantization of the input signal may also be achieved by preprocessing the input signal to shape the input signal such that the quantized, preprocessed input signal has certain desired properties. For example, the subband components of the input signal may be multiplied by gain parameters so that the noise introduced during quantization is perceptually less noticeable. In either case, the level of quantization noise in the resulting quantized signal meets the perceptual threshold of noise that was used in the process of deriving the masking matrix. In the inventive method, the input signal is separated into a set of n subband signal components and the masking matrix is an n × n matrix where each element q i,j represents the amount of (power) of noise in band j that may be added to signal component i so as to meet a masking threshold. Thus, the masking matrix Q incorporates knowledge of speech masking properties. The signals used to control the quantization of the input signals are a function of the masking matrix and the power in the subband signal components. FIG. 2 illustrates a first embodiment of the inventive noise weighting filter 120 in the context of the system of FIG. 1. The quantization is open loop in that noise weighting filter 120 is not a part of the quantization process in speech coder 130. The speech signal is input to noise weighting filter 120 and applied to filterbank comprising n filters 121- i, i =1,2,... n. Each filter 121 - i is characterized by a respective transfer function H i ( z ). The output of each filter 121 - i is respective subband component s i . The power p i in the respective output component signals is measured by power measures 122- i , and the measures are input to masking processor 124. The power of the input speech signal is denoted as Masking processor 124 determines how to adjust each subband component s i of the speech input using a respective gain signal g i so that the noise added by speech coder 130 is perceptually less noticeable when inverse filtered at the receiver. The power in the weighted speech signal is The weighted speech signal is coded by speech coder 130, and the gain parameters are also coded by speech coder 130 as side information for use by inverse noise weighting filter 170. The gain signals g i ,i = 1,2,... n , are determined by masking processor 124. Note that the g i 's have a degree of freedom of one scale factor in that all of the g i 's may be multiplied by a fixed constant and the result will be the same, i.e. if γ g 1 , γg 2 ··· γg n were the selected, then inverse filter 170 would simply multiply the respective subbands by 1/γ g 1 , 1/γ g 2 ...1/γ g n to produce the estimate of the speech signal. So to simplify, it is conveniently assumed that the g i 's are selected to be power preserving: At this point it is advantageous to define notation to describe the operation of masking processor 124. In particular, V p is defined to be the vector of input powers from power measures 122 - i. Masking processor 124 can also access elements q i , j of masking matrix Q . The elements may be stored in a memory device ( e.g . a read only memory or a read and write memory) that is either incorporated in masking processor 124 or accessed by masking processor 124. Each q i , j represents the amount of noise in band j that may be added to signal component i so as to meet a masking threshold. A method describing how the Q masking matrix is obtained is disclosed in the above cited EP-A-720146. It is convenient at this point to note that it is advantageous that the characteristics of filterbank 121 be identical to the characteristics of the filterbank used to determined the Q matrix (see the copending application, supra ). The vector W 0 is the "ideal" or desired noise level vector that approximates the masking threshold used in obtaining values for the Q matrix. The vector W represents the actual noise powers at the receiver, i.e. The vector W is a function of the weighted speech power, P w , the gains and of a quantizer factor β. The quantizer factor is a function of the particular type of coder used and of the number of bits allocated for quantizing signals in each band. The objective is to make W equal to W 0 up to a scale factor α , i.e. the shape of the two noise power vectors should be the same. Thus, W = α W 0 = α QV p Substituting for the variables and solving for the gains yields: β P 1 g 2 i = α W 0 i g 2 i = P β α 1 W 0 i Observe that and substituting yields Thus, in order to determine the gains g i , the noise weighting filter must measure the subband powers p i and determine the total input power P . Then, the noise vector W 0 is computed using equation (1), and equation (2) is then used to determine the gains. The masking processor then generates gain signals for scaling the subband signals. The gains must be transmitted in some form as side information in this embodiment in order to de-equalize the coded speech during decoding. FIG. 3 illustrates the inventive noise-shaping filter in a closed-loop, analysis-by-synthesis system such as CELP. Note that the filterbank 321 and masking processor 324 have taken the place of the noise weighting filter W ( z ) in a traditional CELP system. Note also that because the noise weighting is carried out in a closed loop, no additional side information is required to be transmitted. FIG. 4 shows another embodiment of the invention based on subband coding in which each subband has its own quantizer 430-i. In this configuration, noise weighting filter 120 is used to shape the spectrum of the input signal and to generate a control signal to allocate quantization bits. Bit Allocator 440 uses the weighted signals to determine how many bits each subband quantizer 430 - i may use to quantize g i s i . The goal is to allocate bits such that all quantizers generate the same noise power. Let B i be the subband quantizer factor of the i th quantizer. The bit allocation procedure determines B i for all i such that B i P iqi is a constant. This is because for all i , the weighted speech in all bands is equally important. FIG. 5 is a block diagram of a noise weighting filter with no gain (i.e. all the g i 's = 1) used to generate a control signal to allocate quantization bits. In this embodiment the task is to allocate bits among subband quantizers 530 - i such that: β i p i = α W 0 i for all i or β i p i β j p j = W 0 i W 0 j Again, some record of the bit allocation will need to be sent as side information. This disclosure describes a method an apparatus for noise weighting filtering. The method and apparatus have been described without reference to specific hardware or software. Instead, the method and apparatus have been described in such a manner that those skilled in the art can readily adapt such hardware or software as may be available or preferable. While the above teaching of the present invention has been in terms of filtering speech signals, those skilled in the art of digital signal processing will recognize the applicability of the teaching to other specific contexts, e.g. filtering music signals, audio signals or video signals.

Claims: A method for coding an input signal (120, 130) comprising the steps of: separating (121) the input signal into a set of n sub-band signal components ( S 1 - S n ); generating (124) a set of gain signals ( g 1 - g n ) based on the power in each sub-band signal component and on a masking matrix; generating a set of multiplied sub-band signals by multiplying each gain signal in said set of gain signals by a respective sub-band component in said set of sub-band signal components; and coding (130) said input signal based on a combination of said multiplied sub-band signals. The method of claim 1 wherein said input signal is a speech signal. The method of claim 1 or claim 2 wherein said step of separating comprises the step of: applying said input signal to a filter bank, said filter bank comprising a set of n filters (121) wherein the output of each filter in the set of n filters is a respective sub-band signal component in said set of n sub-band signal components. The method of any of the preceding claims further comprising the step of controlling a quantization (130) of said input signal based on said set of gain signals. The method of claim 4 wherein the step of controlling comprises the step of allocating (440) quantization bits among a set of n quantizers (430). The method of any of the preceding claims wherein said masking matrix is an nxn matrix wherein each element q i,j of said masking matrix is the ratio of a noise power in band j that can be masked to a sub-band signal component characterized by the power level of the sub-band signal component in band i. The method of claim 6 wherein said ratio is indicative of an extent to which speech signals mask noise signals. The method of claim 7 wherein said ratio is based on measurements of components in band i of said speech signals masking components in band j of said noise signals. The method of claim 1 further comprising the step of generating a transformed signal by quantizing said input signal responsive to said powers in each sub-band signal component and to said masking matrix, wherein the step of generating comprises the step of multiplying a respective one of said sub-band signal components by a respective one of said gain signals in said set of gain signals. The method of claim 9 wherein said transformed signal has an associated spectrum and wherein said associated spectrum comprises components, wherein each component in said associated spectrum has a power level and wherein each component in said associated spectrum masks a noise signal, wherein said noise signal has an associated spectrum comprising components, wherein each component of the spectrum associated with said noise signal has an associated power level and wherein each component of the spectrum associated with said noise signal is of equal power. The method of claim 10 wherein the ratio of the power level associated with each component in the spectrum associated with said transformed signal to the power level of a component in the spectrum associated with said noise signal is a just-noticeable-distortion level. The method of claim 10 wherein the ratio of the power level associated with each component in the spectrum associated with said transformed signal to the power level of a component in the spectrum associated with said noise signal is a an audible-but-not-annoying level. The method of claim 9 wherein the quantizing is performed by a single quantizer. A method for decoding an encoded signal (160, 170) comprising the steps of: receiving (150) a signal comprising side information and the encoded signal; separating the encoded signal into a set of n sub-band signal components; multiplying each sub-band signal component by a corresponding one of a set of n gain values (1/ g 1 - 1/ g n ) to generate a corresponding one of a set of n multiplied sub-band signal components, the set of n gain values based on said side information and on a masking matrix; and combining the n multiplied sub-band signal components to produce a decoded signal. The method of claim 14 wherein said encoded signal is an encoded speech signal. The method of claim 14 or claim 15 wherein said side information comprises a set of measurements, wherein each measurement reflects a power level of a sub-band component of an input signal, said input signal having been encoded to form said encoded signal. The method of claim 16 wherein said masking matrix is an n×n matrix wherein each element q ij of said masking matrix is the ratio of a noise power in band j that can be masked to a power level of the sub-band component in band i. The method of claim 17 wherein said sub-band component is an output of a filter bank comprising a set of n filters wherein the output of each filter is a respective sub-band signal component. The method of any of claims 14 to 18 wherein said side information comprises said set of n gain values. A system for decoding an encoded signal (160, 170) comprising: means (150) for receiving a signal comprising side information and the encoded signal; means for separating the encoded signal into a set of n sub-band signal components; means for multiplying each sub-band signal component by a corresponding one of a set of n gain values (1/ g 1 - 1/ g n ) to generate a corresponding one of a set of n multiplied sub-band signal components, the set of n gain values based on said side information and on a masking matrix; and means for combining the n multiplied sub-band signal components to produce a decoded signal. The system of claim 20 wherein said encoded signal is an encoded speech signal. The system of claim 20 or claim 21 wherein said masking matrix Q is an n×n matrix wherein each element q ij of said masking matrix is the ratio of a noise power in band j that can be masked to a power level of a sub-band component in band i. The system of any of claims 20 to 22 wherein said means for separating comprises a filter bank comprising a set of n filters wherein the output of each filter is a respective sub-band signal component. The system of any of claims 20 to 23 wherein said side information comprises said set of n gain values. The system of any of claims 20 to 23 wherein said side information comprises a set of measurements, wherein each measurement reflects a power level of a sub-band component of an input signal, said input signal having been encoded to form said encoded signal.

Inventors: SHOHAM YAIR, WIERZYNSKI CASIMIR, SHOHAM, YAIR, WIERZYNSKI, CASIMIR
Applicants: AT & T CORP, WIERZYNSKI CASIMIR, AT&T CORP., WIERZYNSKI, CASIMIR
Application year: 1995
Main classification: G10L19
IPC codes: H03M7, G10L19, H03H17