EP0899720B1 - Quantization of linear prediction coefficients - Google Patents

Quantization of linear prediction coefficients Download PDF

Info

Publication number
EP0899720B1
EP0899720B1 EP98306906A EP98306906A EP0899720B1 EP 0899720 B1 EP0899720 B1 EP 0899720B1 EP 98306906 A EP98306906 A EP 98306906A EP 98306906 A EP98306906 A EP 98306906A EP 0899720 B1 EP0899720 B1 EP 0899720B1
Authority
EP
European Patent Office
Prior art keywords
lsf
quantizer
lpc
codebooks
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP98306906A
Other languages
German (de)
French (fr)
Other versions
EP0899720A2 (en
EP0899720A3 (en
Inventor
Alan V. Mccree
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of EP0899720A2 publication Critical patent/EP0899720A2/en
Publication of EP0899720A3 publication Critical patent/EP0899720A3/en
Application granted granted Critical
Publication of EP0899720B1 publication Critical patent/EP0899720B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances

Definitions

  • This invention relates to switched-predictive vector quantization and more particularly to quantization of LPC coefficients transformed to line spectral frequencies.
  • the MELP coder is based on the traditional LPC vocoder with either a periodic impulse train or white noise exciting a 10th order on all-pole LPC filter.
  • the synthesizer has the added capabilities of mixed pulse and noise excitation periodic or aperiodic pulses, adaptive spectral enhancement and pulse dispersion filter as shown in Fig. 1.
  • Efficient quantization of the LPC coefficients is an important problem in these coders, since maintaining accuracy of the LPC has a significant effect on processed speech quality, but the bit rate of the LPC quantizer must be low in order to keep the overall bit rate of the speech coder small.
  • the MELP coder for the new Federal Standard uses a 25-bit multi-stage vector quantizer (MSVQ) for line spectral frequencies (LSF) . There is a 1 to 1 transformation between the LPC coefficients and LSF coefficients.
  • Quantization is the process of converting input values into discrete values in accordance with some fidelity criterion.
  • a typical example of quantization is the conversion of a continuous amplitude signal into discrete amplitude values. The signal is first sampled, then quantized.
  • a range of expected values of the input signal is divided into a series of subranges. Each subrange has an associated quantization level. A sample value of the input signal that is within a certain subrange is converted to the associated quantizing level. For example, for 8-bit quantization, a sample of the input signal would be converted to one of 256 levels, each level represented by an 8-bit value.
  • Vector quantization is a method of quantization, which is based on the linear and non-linear correlation between samples and the shape of the probability distribution. Essentially, vector quantization is a lookup process, where the lookup table is referred to as a "codebook”. The codebook lists each quantization level, and each level has an associated "code-vector". The vector quantization process compares an input vector to the code-vectors and determines the best code-vector in terms of minimum distortion. Where x is the input vector, the comparison of distortion values may be expressed as: d(x, y (J) ) ⁇ d(x, y (k) ), for all j not equal to k.
  • the codebook is represented by y (j) , where y (j) is the jth code-vector, 0 ⁇ j ⁇ L, and L is the number of levels in the codebook.
  • Multi-stage vector quantization is a type of vector quantization. This process obtains a central quantized vector (the output vector) by adding a number of quantized vectors. The output vector is sometimes referred to as a "reconstructed" vector. Each vector used in the reconstruction is from a different codebook, each codebook corresponding to a "stage" of the quantization process. Each codebook is designed especially for a stage of the search. An input vector is quantized with the first codebook, and the resulting error vector is quantized with the second codebook, etc.
  • S the number of stages
  • y s the codebook for the sth stage.
  • the codebooks may be searched using a sub-optimal tree search algorithm, also known as an M-algorithm.
  • M-algorithm a sub-optimal tree search algorithm
  • M-best number of "best” code-vectors are passed from one stage to the next.
  • the "best" code-vectors are selected in terms of minimum distortion. The search continues until the final stage, when only one best code-vector is determined.
  • a target vector for quantization in the current frame is the mean-removed input vector minus a predictive value.
  • the predicted value is the previous quantized vector multiplied by a known prediction matrix.
  • switched prediction there is more than one possible prediction matrix and the best prediction matrix is selected for each frame. See S. Wang, et al., "Product Code Vector Quantization of LPC Parameters," in Speech and Audio Coding for Wireless and Network Applications," Ch. 31, pp. 251-258, Kluwer Academic Publishers, 1993.
  • the present invention as claimed in the appended claims provides an improved method of vector quantization of LSF transformation of LPC coefficients by a new weighted distance measure that better correlates with subjective speech quality.
  • This weighting includes running samples from the LPC filter from an impulse and applying these samples to a perceptual weighting filter.
  • the new quantization method like the one used in the 2.4 kb/s Federal Standard MELP coder, uses multi-stage vector quantization (MSVQ) of the Line Spectral Frequency (LSF) transformation of the LPC coefficients (LeBlanc, et al., entitled “Efficient Search and Design Procedures for Robust Multi-Stage VQ or LPC Parameters for 4kb/s Speech Coding," IEEE Transactions on Speech and Audio Processing, Vol. 1, No. 4, October 1993, pp. 373-385.)
  • MSVQ multi-stage vector quantization
  • LSF Line Spectral Frequency
  • An efficient codebook search for multi-stage VQ is disclosed in US Patent Application Serial No. 09/003,172 cited above.
  • the method, described herein improves on the previous one in two ways: the use of switched prediction to take advantage of time redundancy and the use of a new weighted distance measure that better correlates with subjective speech quality.
  • the input LSF vector is quantized directly using MSVQ.
  • MSVQ the target vector for quantization in the current frame
  • the mean-removed input vector minus a predicted value, where the predicted value is the previous quantized vector multiplied by a known prediction matrix.
  • switched prediction there is more than one possible prediction matrix, and the best predictor or prediction matrix is selected for each frame.
  • both the predictor matrix and the MSVQ codebooks are switched.
  • the 10 LPC coefficients are transformed by transformer 23 to 10 LSF coefficients of the Line Spectral Frequency (LSF) vectors.
  • the LSF has 10 dimensional elements or coefficients (for 10 order all-pole filter).
  • the LSF input vector is subtracted in adder 22 by a selected mean vector and the mean-removed input vector is subtracted in adder 25 by a predicted value.
  • the resulting target vector for quantization vector e in the current frame is applied to multi-stage vector quantizer (MSVQ) 27.
  • the predicted value is the previous quantized vector multiplied by a known prediction matrix at multiplier 26.
  • the predicted value in switched prediction has more than one possible prediction matrix.
  • the best predictor (prediction matrix and mean vector) is selected for each frame.
  • both the predictor (the prediction matrix and mean vector) and the MSVQ codebook set are switched.
  • a control 29 first switches in via switch 28 prediction matrix 1 and mean vector 1 and first set of codebooks 1 in quantizer 27.
  • the index corresponding to this first prediction matrix and the MSVQ codebook indices for the first set of codebooks are then provided out of the quantizer to gate 37.
  • the predicted value is added to the quantized output ê for the target vector e at adder 31 to produce a quantized mean-removed vector.
  • the mean-removed vector is added at Adder 70 to the selected mean vector to get quantized vector X and .
  • the squared error for each dimension is determined at squarer 35.
  • the weighted squared error between the input vector X i and the delayed quantized vector X and i is stored at control 29.
  • the control 29 applies control signals to switch in via switch 28 prediction matrix 2 and mean vector 2 and codebook 2 set to likewise measure the weighted squared error for this set at squarer 35.
  • the measured error from the first pair of prediction matrix 1 (with mean vector 1) and codebooks set 1 is compared with prediction matrix 2 (with mean vector 2) and codebook set 2.
  • the set of indices for the codebooks with the minimum error is gated at gate 37 out of the encoder as encoded transmission of indices and a bit is sent out at terminal 38 from control 29 indicating from which pair of prediction matrix and codebooks set the indices was sent (codebook set 1 with mean vector 1 and predictor matrix 1 or codebook set 2 and prediction matrix 2 with mean vector 2).
  • the mean-removed quantized vector from adder 31 associated with the minimum error is gated at gate 33a to frame delay 33 so as to provide the previous mean-removed quantized vector to multiplier 26.
  • Fig. 3 illustrates a decoder 40 for use with LSF encoder 20.
  • the indices for the codebooks from the encoding are received at the quantizer 44 with two sets of codebooks corresponding to codebook set 1 and 2 in the encoder.
  • the bit from terminal 38 selects the appropriate codebook set used in the encoder.
  • the LSF quantized input is added to the predicted value at adder 41 where the predicted value is the previous mean-removed quantized value (from delay 43) multiplied at multiplier 45 by the prediction matrix at 42 that matches the best one selected at the encoder to get mean-removed quantized vector.
  • Both prediction matrix 1 and mean value 1 and prediction matrix 2 and mean value 2 are stored at storage 42 of the decoder.
  • the 1 bit from terminal 38 of the encoder selects the prediction matrix and the mean value at storage 42 that matches the encoder prediction matrix and mean value.
  • the quantized mean-removed vector is added to the selected mean value at adder 48 to get the quantized LSF vector.
  • the quantized LSF vector is transformed to LPC coefficients by transformer 46.
  • LSF vector coefficients correspond to the LPC coefficients.
  • the LSF vector coefficients have better quantization properties than LPC coefficients. There is a 1 to 1 transformation between these two vector coefficients.
  • a weighting function is applied for a particular set of LSFs for a particular set of LPC coefficients that correspond.
  • the Federal Standard MELP coder uses a weighted Euclidean distance for LSF quantization due to its computational simplicity. However, this distance in the LSF domain does not necessarily correspond well with the ideal measure of quantization accuracy: perceived quality of the processed speech signal.
  • the applicant has previously shown in the paper on the new 2.4 kb/s Federal Standard that a perceptually-weighted form of log spectral distortion has close correlation with subjective speech quality.
  • the applicant teaches herein in accordance with an embodiment a weighted LSF distance which corresponds closely to this spectral distortion. This weighting function requires looking into the details of this transformation for a particular set of LSFs for a particular input vector x which is a set of LSFs for a particular set of LPC coefficients that correspond to that set.
  • the coder computes the LPC coefficients and as discussed above, for purposes of quantization, this is converted to LSF vectors which are better behaved. As shown in Fig. 1, the actual synthesizer will take the quantized vector X and and perform an inverse transformation to get an LPC filter for use in the actual speech synthesis.
  • the optimal LSF weights for un-weighted spectral distortion are computed using the formula presented in paper of Gardner, et al., entitled, "Theoretical Analysis of the High-Rate Vector Quantization of the LPC Parameters," IEEE Transactions on Speech and Audio Processing, Vol. 3, No. 5, September 1995, pp. 367-381.
  • R A (m) is the autocorrelation of the impulse response of the LPC synthesis filter at lag m
  • R i (m) is the correlation of the elements in the ith column of the Jacobian matrix of the transformation from LSF's to LPC coefficients. Therefore for a particular input vector x we compute the weight W i .
  • perceptual weighting is applied to the synthesis filter impulse response prior to computation of the autocorrelation function R A (m), so as to reflect a perceptually-weighted form of spectral distortion.
  • the weighting W i is applied to the squared error at 35.
  • the weighted output from error detector 35 is: ⁇ W i ( X i - X i ) 2 .
  • Each entry in a 10 dimensional vector has a weight value.
  • the error sums the weight value for each element.
  • one of the elements has a weight value of three and the others are one then the element with three is given an emphasis by a factor of three times that of the other elements in determining error.
  • the weighting function requires looking into the details of the LPC to LSF conversion.
  • the weight values are determined by applying an impulse to the LPC synthesis filter 21 and providing the resultant sampled output of the LPC synthesis filter 21 to a perceptual weighting filter 47.
  • a computer 39 is programmed with a code based on a pseudo code that follows and is illustrated in the flow chart of Fig. 4.
  • An impulse is gated to the LPC filter 21 and N samples of LPC synthesis filter response (step 51) are taken and applied to a perceptual weighting filter 47 (step 52).
  • low frequencies are weighted more than high frequencies and use the well known Bark scale which matches how the human ear responds to sounds.
  • the coefficients of a filter with this response are determined in advance and stored and time domain coefficients are stored. An 8 order all-pole fit to this spectrum is determined and these 8 coefficients are used as the perceptual weighting filter.
  • the following steps follow the equation for un-weighted spectral distortion from Gardner, et al.
  • R A (m) is the autocorrelation of the impulse response of the LPC synthesis filter at lag m
  • h(n) is an impulse response
  • R 1 (m) is is the correlation function of the elements in the ith column of the Jacobian matrix J ⁇ ( ⁇ ) of the transformation from LSFs to LPC coefficients.
  • the autocorrelation function of the weighted impulse response is calculated (step 53 in Fig. 4). From that the Jacobian matrix for LSFs is computed (step 54). The correlation of rows of Jacobian matrix is then computed (step 55). The LSF weights are then calculated by multiplying correlation matrices (step 56). The computed weight value from computer 39, in Fig. 2, is applied to the error detector 35. The indices from the prediction matrix/codebook set with the least error is then gated from the quantizer 27.
  • the system may be implemented using a microprocessor encapsulating computer 39 and control 29 utilizing the following pseudo code.
  • the pseudo code for computing the weighting vector from the current LPC and LSF follows:
  • the system and method be used without switched prediction for each frame as illustrated in Fig. 5 wherein the weighted error for each frame would be determined at error detector and codebook indices with the least error would be gated out by control 29 and gate 37.
  • the LPC filtered samples of the impulse at filter 21 should be filtered by perception weighting filter 47 and processed by computer 39 using code such as described in the pseudo code to provide the weight vales.
  • the perception weighting filter may use other perceptual weighting besides the bark scale that is perceptually motivated such as weighting low frequencies more than high frequencies, or the perceptual weighting filter as is presently used in CELP coders.

Description

    TECHNICAL FIELD OF THE INVENTION
  • This invention relates to switched-predictive vector quantization and more particularly to quantization of LPC coefficients transformed to line spectral frequencies.
  • BACKGROUND OF THE INVENTION
  • Many speech coders, such as the new 2.4 kb/s Federal Standard Mixed Excitation Linear Prediction (MELP) coder (McCree, et al., entitled, "A 2.4 kbits/s MELP Coder Candidate for the New U. S. Federal Standard," Proc. ICASSP-96, pp. 200-203, May 1996.) use some form of Linear Predictive Coding (LPC) to represent the spectrum of the speech signal. A MELP coder is described in the patent document US-A-6 463 406 entitled "Mixed Excitation Linear Prediction with Fractional Pitch," filed 05/20/96. Fig. 1 illustrates such a MELP coder. The MELP coder is based on the traditional LPC vocoder with either a periodic impulse train or white noise exciting a 10th order on all-pole LPC filter. In the enhanced version, the synthesizer has the added capabilities of mixed pulse and noise excitation periodic or aperiodic pulses, adaptive spectral enhancement and pulse dispersion filter as shown in Fig. 1. Efficient quantization of the LPC coefficients is an important problem in these coders, since maintaining accuracy of the LPC has a significant effect on processed speech quality, but the bit rate of the LPC quantizer must be low in order to keep the overall bit rate of the speech coder small. The MELP coder for the new Federal Standard uses a 25-bit multi-stage vector quantizer (MSVQ) for line spectral frequencies (LSF) . There is a 1 to 1 transformation between the LPC coefficients and LSF coefficients.
  • Quantization is the process of converting input values into discrete values in accordance with some fidelity criterion. A typical example of quantization is the conversion of a continuous amplitude signal into discrete amplitude values. The signal is first sampled, then quantized.
  • For quantization, a range of expected values of the input signal is divided into a series of subranges. Each subrange has an associated quantization level. A sample value of the input signal that is within a certain subrange is converted to the associated quantizing level. For example, for 8-bit quantization, a sample of the input signal would be converted to one of 256 levels, each level represented by an 8-bit value.
  • Vector quantization is a method of quantization, which is based on the linear and non-linear correlation between samples and the shape of the probability distribution. Essentially, vector quantization is a lookup process, where the lookup table is referred to as a "codebook". The codebook lists each quantization level, and each level has an associated "code-vector". The vector quantization process compares an input vector to the code-vectors and determines the best code-vector in terms of minimum distortion. Where x is the input vector, the comparison of distortion values may be expressed as: d(x, y(J)) < d(x, y(k)), for all j not equal to k. The codebook is represented by y(j), where y(j) is the jth code-vector, 0 < j < L, and L is the number of levels in the codebook.
  • Multi-stage vector quantization (MSVQ) is a type of vector quantization. This process obtains a central quantized vector (the output vector) by adding a number of quantized vectors. The output vector is sometimes referred to as a "reconstructed" vector. Each vector used in the reconstruction is from a different codebook, each codebook corresponding to a "stage" of the quantization process. Each codebook is designed especially for a stage of the search. An input vector is quantized with the first codebook, and the resulting error vector is quantized with the second codebook, etc. The set of vectors used in the reconstruction may be expressed as: y (J0,J1- JS-1) = y(J0) 0 + y (J1) 1 + y (JS-1) S-1 , where S is the number of stages and ys is the codebook for the sth stage. For example, for a three-dimensional input vector, such as x = (2,3,4), the reconstruction vectors for a two-stage search might be y0 = (1,2,3) and y1 = (1,1,1) (a perfect quantization and not always the case).
  • During multi-stage vector quantization, the codebooks may be searched using a sub-optimal tree search algorithm, also known as an M-algorithm. At each stage, M-best number of "best" code-vectors are passed from one stage to the next. The "best" code-vectors are selected in terms of minimum distortion. The search continues until the final stage, when only one best code-vector is determined.
  • In predictive quantization a target vector for quantization in the current frame is the mean-removed input vector minus a predictive value. The predicted value is the previous quantized vector multiplied by a known prediction matrix. In switched prediction, there is more than one possible prediction matrix and the best prediction matrix is selected for each frame. See S. Wang, et al., "Product Code Vector Quantization of LPC Parameters," in Speech and Audio Coding for Wireless and Network Applications," Ch. 31, pp. 251-258, Kluwer Academic Publishers, 1993.
  • It is highly desirable to provide an improved weighted distance measure that better correlates with subjective speech quality.
  • SUMMARY OF THE INVENTION
  • In accordance with a preferred embodiment the present invention as claimed in the appended claims provides an improved method of vector quantization of LSF transformation of LPC coefficients by a new weighted distance measure that better correlates with subjective speech quality. This weighting includes running samples from the LPC filter from an impulse and applying these samples to a perceptual weighting filter.
  • DESCRIPTION OF THE DRAWINGS
  • Embodiments of the present invention will now be further described, by way of example, with reference to the accompanying drawings in which:
  • Fig. 1 is a block diagram of Mixed Excitation Linear Prediction Coder;
  • Fig. 2 is a block diagram of switch-predictive vector quantization encoder according to the present invention;
  • Fig. 3 is a block diagram of a decoder according to the present invention;
  • Fig. 4 is a flow chart for determining a weighted distance measure in accordance with an embodiment of the present invention; and
  • Fig. 5 is a block diagram of an encoder according to an embodiment of the present invention.
  • DESCRIPTION OF PREFERRED EMBODIMENTS OF THE PRESENT INVENTION
  • The new quantization method, like the one used in the 2.4 kb/s Federal Standard MELP coder, uses multi-stage vector quantization (MSVQ) of the Line Spectral Frequency (LSF) transformation of the LPC coefficients (LeBlanc, et al., entitled "Efficient Search and Design Procedures for Robust Multi-Stage VQ or LPC Parameters for 4kb/s Speech Coding," IEEE Transactions on Speech and Audio Processing, Vol. 1, No. 4, October 1993, pp. 373-385.) An efficient codebook search for multi-stage VQ is disclosed in US Patent Application Serial No. 09/003,172 cited above. However, the method, described herein, improves on the previous one in two ways: the use of switched prediction to take advantage of time redundancy and the use of a new weighted distance measure that better correlates with subjective speech quality.
  • In the Federal Standard MELP coder, the input LSF vector is quantized directly using MSVQ. However, there is a significant redundancy between LSF vectors of neighboring frames, and quantization accuracy can be improved by exploiting this redundancy. As discussed previously in predictive quantization, the target vector for quantization in the current frame is the mean-removed input vector minus a predicted value, where the predicted value is the previous quantized vector multiplied by a known prediction matrix. In switched prediction, there is more than one possible prediction matrix, and the best predictor or prediction matrix is selected for each frame. In accordance with an embodiment of the present invention, both the predictor matrix and the MSVQ codebooks are switched. For each input frame, we search every possible predictor/codebooks set combination for the predictor/codebooks set which minimizes the squared error. An index corresponding to this pair and the MSVQ codebook indices are then encoded for transmission. This differs from previous techniques in that the codebooks are switched as well as the predictors. Traditional methods share a single codebook set in order to reduce codebook storage, but we have found that the MSVQ codebooks used in switched predictive quantization can be considerably smaller than non-predictive codebooks, and that multiple smaller codebooks do not require any more storage space than one larger codebook. From our experiments, the use of separate predictor/codebooks pairs results in a significant performance improvement over a single shared codebook, with no increase in bit rate.
  • Referring to the LSF encoder with switched predictive quantizer 20 of Fig. 2, the 10 LPC coefficients are transformed by transformer 23 to 10 LSF coefficients of the Line Spectral Frequency (LSF) vectors. The LSF has 10 dimensional elements or coefficients (for 10 order all-pole filter). The LSF input vector is subtracted in adder 22 by a selected mean vector and the mean-removed input vector is subtracted in adder 25 by a predicted value. The resulting target vector for quantization vector e in the current frame is applied to multi-stage vector quantizer (MSVQ) 27. The predicted value is the previous quantized vector multiplied by a known prediction matrix at multiplier 26. The predicted value in switched prediction has more than one possible prediction matrix. The best predictor (prediction matrix and mean vector) is selected for each frame. In accordance with an embodiment of the present invention, both the predictor (the prediction matrix and mean vector) and the MSVQ codebook set are switched. A control 29 first switches in via switch 28 prediction matrix 1 and mean vector 1 and first set of codebooks 1 in quantizer 27. The index corresponding to this first prediction matrix and the MSVQ codebook indices for the first set of codebooks are then provided out of the quantizer to gate 37. The predicted value is added to the quantized output ê for the target vector e at adder 31 to produce a quantized mean-removed vector. The mean-removed vector is added at Adder 70 to the selected mean vector to get quantized vector X and. The squared error for each dimension is determined at squarer 35. The weighted squared error between the input vector Xi and the delayed quantized vector X andi is stored at control 29. The control 29 applies control signals to switch in via switch 28 prediction matrix 2 and mean vector 2 and codebook 2 set to likewise measure the weighted squared error for this set at squarer 35. The measured error from the first pair of prediction matrix 1 (with mean vector 1) and codebooks set 1 is compared with prediction matrix 2 (with mean vector 2) and codebook set 2. The set of indices for the codebooks with the minimum error is gated at gate 37 out of the encoder as encoded transmission of indices and a bit is sent out at terminal 38 from control 29 indicating from which pair of prediction matrix and codebooks set the indices was sent (codebook set 1 with mean vector 1 and predictor matrix 1 or codebook set 2 and prediction matrix 2 with mean vector 2). The mean-removed quantized vector from adder 31 associated with the minimum error is gated at gate 33a to frame delay 33 so as to provide the previous mean-removed quantized vector to multiplier 26.
  • Fig. 3 illustrates a decoder 40 for use with LSF encoder 20. At the decoder 40, the indices for the codebooks from the encoding are received at the quantizer 44 with two sets of codebooks corresponding to codebook set 1 and 2 in the encoder. The bit from terminal 38 selects the appropriate codebook set used in the encoder. The LSF quantized input is added to the predicted value at adder 41 where the predicted value is the previous mean-removed quantized value (from delay 43) multiplied at multiplier 45 by the prediction matrix at 42 that matches the best one selected at the encoder to get mean-removed quantized vector. Both prediction matrix 1 and mean value 1 and prediction matrix 2 and mean value 2 are stored at storage 42 of the decoder. The 1 bit from terminal 38 of the encoder selects the prediction matrix and the mean value at storage 42 that matches the encoder prediction matrix and mean value. The quantized mean-removed vector is added to the selected mean value at adder 48 to get the quantized LSF vector. The quantized LSF vector is transformed to LPC coefficients by transformer 46.
  • As discussed previously, LSF vector coefficients correspond to the LPC coefficients. The LSF vector coefficients have better quantization properties than LPC coefficients. There is a 1 to 1 transformation between these two vector coefficients. A weighting function is applied for a particular set of LSFs for a particular set of LPC coefficients that correspond.
  • The Federal Standard MELP coder uses a weighted Euclidean distance for LSF quantization due to its computational simplicity. However, this distance in the LSF domain does not necessarily correspond well with the ideal measure of quantization accuracy: perceived quality of the processed speech signal. The applicant has previously shown in the paper on the new 2.4 kb/s Federal Standard that a perceptually-weighted form of log spectral distortion has close correlation with subjective speech quality. The applicant teaches herein in accordance with an embodiment a weighted LSF distance which corresponds closely to this spectral distortion. This weighting function requires looking into the details of this transformation for a particular set of LSFs for a particular input vector x which is a set of LSFs for a particular set of LPC coefficients that correspond to that set. The coder computes the LPC coefficients and as discussed above, for purposes of quantization, this is converted to LSF vectors which are better behaved. As shown in Fig. 1, the actual synthesizer will take the quantized vector X and and perform an inverse transformation to get an LPC filter for use in the actual speech synthesis. The optimal LSF weights for un-weighted spectral distortion are computed using the formula presented in paper of Gardner, et al., entitled, "Theoretical Analysis of the High-Rate Vector Quantization of the LPC Parameters," IEEE Transactions on Speech and Audio Processing, Vol. 3, No. 5, September 1995, pp. 367-381.
    Figure 00080001
       where RA(m) is the autocorrelation of the impulse response of the LPC synthesis filter at lag m, and Ri(m) is the correlation of the elements in the ith column of the Jacobian matrix of the transformation from LSF's to LPC coefficients. Therefore for a particular input vector x we compute the weight Wi.
  • The difference in the present solution is that perceptual weighting is applied to the synthesis filter impulse response prior to computation of the autocorrelation function RA(m), so as to reflect a perceptually-weighted form of spectral distortion.
  • In accordance with the weighting function as applies to the embodiment of Fig. 2, the weighting Wi is applied to the squared error at 35. The weighted output from error detector 35 is: ΣWi (Xi - X i )2 .
  • Each entry in a 10 dimensional vector has a weight value. The error sums the weight value for each element. In applying the weight, for example, one of the elements has a weight value of three and the others are one then the element with three is given an emphasis by a factor of three times that of the other elements in determining error.
  • As stated previously, the weighting function requires looking into the details of the LPC to LSF conversion. The weight values are determined by applying an impulse to the LPC synthesis filter 21 and providing the resultant sampled output of the LPC synthesis filter 21 to a perceptual weighting filter 47. A computer 39 is programmed with a code based on a pseudo code that follows and is illustrated in the flow chart of Fig. 4. An impulse is gated to the LPC filter 21 and N samples of LPC synthesis filter response (step 51) are taken and applied to a perceptual weighting filter 47 (step 52). In accordance with one embodiment of the invention low frequencies are weighted more than high frequencies and use the well known Bark scale which matches how the human ear responds to sounds. The equation for Bark weighting WB(f) is WB (f) = 125+75(1+1.4( t 1000 )2)0 69 The coefficients of a filter with this response are determined in advance and stored and time domain coefficients are stored. An 8 order all-pole fit to this spectrum is determined and these 8 coefficients are used as the perceptual weighting filter. The following steps follow the equation for un-weighted spectral distortion from Gardner, et al. paper found on page 375 are expressed as
    Figure 00100001
       where RA(m) is the autocorrelation of the impulse response of the LPC synthesis filter at lag m, where
    Figure 00100002
    h(n) is an impulse response, R1 (m) is
    Figure 00100003
    is the correlation function of the elements in the ith column of the Jacobian matrix Jω (ω) of the transformation from LSFs to LPC coefficients. Each column of Jω (ω) can be found by
    Figure 00100004
    since
    Figure 00100005
    The values of ji(n) can be found by simple polynomial division of the coefficients of P(ω) by the coefficients of
    Figure 00100006
    (ω). Since the first coefficient of (ω) = 1, no actual divisions are necessary in this procedure. Also, ji(n) = ji(v + 1- n): i odd; 0 < n < v, so only half the values must be computed. Similar conditions with an anti-symmetry property exist for the even columns.
  • The autocorrelation function of the weighted impulse response is calculated (step 53 in Fig. 4). From that the Jacobian matrix for LSFs is computed (step 54). The correlation of rows of Jacobian matrix is then computed (step 55). The LSF weights are then calculated by multiplying correlation matrices (step 56). The computed weight value from computer 39, in Fig. 2, is applied to the error detector 35. The indices from the prediction matrix/codebook set with the least error is then gated from the quantizer 27. The system may be implemented using a microprocessor encapsulating computer 39 and control 29 utilizing the following pseudo code. The pseudo code for computing the weighting vector from the current LPC and LSF follows:
    Figure 00110001
  • The code for the above is provided in Appendix A.
    The pseudo code for the encode input vector follows:
    Figure 00110002
  • The pseudo code for regenerate quantized vector follows:
    Figure 00120001
  • We have implemented a 20-bit LSF quantizer based on this new approach which produces equivalent performance to the 25-bit quantizer used in the Federal Standard MELP coder, at a lower bit rate. There are two predictor/codebook pairs, with each consisting of a diagonal first-order prediction matrix and a four stage MSVQ with codebook of size 64, 32, 16, and 16 vectors each. Both the codebook storage and computational complexity of this new quantizer are less than in the previous version.
  • Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the scope of the invention as defined by the appended claims.
  • For example it is anticipated that the system and method be used without switched prediction for each frame as illustrated in Fig. 5 wherein the weighted error for each frame would be determined at error detector and codebook indices with the least error would be gated out by control 29 and gate 37. For each frame, the LPC filtered samples of the impulse at filter 21 should be filtered by perception weighting filter 47 and processed by computer 39 using code such as described in the pseudo code to provide the weight vales. Also the perception weighting filter may use other perceptual weighting besides the bark scale that is perceptually motivated such as weighting low frequencies more than high frequencies, or the perceptual weighting filter as is presently used in CELP coders.
  • APPENDIX A
  • Figure 00130001
    Figure 00140001

Claims (15)

  1. A method of vector quantization of LPC coefficients comprising the steps of:
    translating LPC coefficients to LSF coefficients;
    providing a plurality of predictor matrices and a quantizer with a plurality of codebooks for quantizing LSF target vectors using switched predictive quantization;
    searching a predictor/codebooks set combination for determining LSF target vectors that result in quantized output that best match LPC coefficients by switching both the predictor matrices and the codebooks, which minimizes a squared error;
    applying said target vectors to said codebooks to get quantized vectors;
    said searching step comprising a step of determining the squared error multiplied by a weighting value for each dimension between the LSF coefficients and the quantized output wherein said weighting value is a function of perceptual weighting;
    and said determining calculating step including the steps of:
    calculating an autocorrelation function of a weighted impulse response; and
    calculating LSF weights (56) from perceptual-weighted input response.
  2. The method of Claim 1, comprising computing a Jacobian matrix (54) for said LSF vectors;
       computing the correlation (55) of rows of the Jacobian matrix; and
       wherein the LSF weights are calculated by multiplying correlation matrices.
  3. The method of Claim 1or Claim 2, wherein said determining step comprises the further steps for finding said weighting value of:
    applying an impulse to said LPC filter and running N samples (51) of the LPC synthesis response; and
    filtering (52) the samples with a perceptual filter;
    calculating the autocorrelation function (53) of the weighted impulse response;
    computing the Jacobian matrix (54) for said LSF vectors;
    computing the correlation (55) of rows of Jacobian matrix; and
    calculating LSF weights (56) by multiplying correlation matrices.
  4. The method of Claim 3 wherein the step (52) of filtering the samples with said perceptual filter comprises weighting low frequencies more than high frequencies.
  5. The method of Claim 4 wherein the step (52) of filtering the samples with said perceptual filter comprises following the bark scale.
  6. The method of any preceding Claim wherein said step of providing said quantizer comprises providing a multi-stage vector quantizer.
  7. The method of any preceding Claim wherein said step of providing said quantizer comprises providing a quantizer having one or more sets of codebooks.
  8. A quantizer (20) for a coder including an LPC filter (21) and a translator (23) for translating LPC coefficients to LSF coefficients comprising:
    means for providing a plurality of predictor matrices and a plurality of codebooks (27) for quantizing LSF target vectors using switched predictive quantisation;
    means (39) for searching a predictor/codebooks set combination for determining LSF target vectors that result in quantized output that best match LPC coefficients by switching both the predictor matrices and the codebooks, which minimizes a squared error;
    means (29) for applying said LSF target vectors to said codebooks to provide a quantized output;
    said searching means including means for applying an impulse to said LPC filter (21);
    means for running samples of said LPC response;
    a perceptual filter (47) for filtering said samples; and
    means (35) for calculating an autocorrelation function by weighted response to provide LSF weights computed from perceptual-weighted input response to the LPC filter (21).
  9. The quantizer (20) of Claim 8, wherein the means (35) for calculating an autocorrelation function is operable to calculate a Jacobian matrix for the LSF vectors, a correlation of rows of the Jacobian matrix, and to calculate the LSF weights by multiplying correlation matrices.
  10. The quantizer (20) of Claim 8 or Claim 9, further operable to:
    run N samples of LPC synthesis response upon application of the weighted impulse response; and
    filter the samples using a perceptual filter (47).
  11. The quantizer (20) of Claim 10, wherein the perceptual filter (47) is used to weight low frequencies more than high frequencies.
  12. The quantizer (20) of Claim 11, wherein the perceptual filter (47) follows the bark scale.
  13. The quantizer (20) of any one of Claims 8 to 12, further operable to provide multi-stage vector quantization.
  14. The quantizer (20) of any one of Claims 8 to 13, comprising one or more sets of codebooks (27).
  15. A coder incorporating the quantizer (20) according to any one of Claims 8 to 14.
EP98306906A 1997-08-28 1998-08-27 Quantization of linear prediction coefficients Expired - Lifetime EP0899720B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5711497P 1997-08-28 1997-08-28
US57114P 1997-08-28

Publications (3)

Publication Number Publication Date
EP0899720A2 EP0899720A2 (en) 1999-03-03
EP0899720A3 EP0899720A3 (en) 1999-09-15
EP0899720B1 true EP0899720B1 (en) 2004-12-15

Family

ID=22008595

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98306906A Expired - Lifetime EP0899720B1 (en) 1997-08-28 1998-08-27 Quantization of linear prediction coefficients

Country Status (3)

Country Link
EP (1) EP0899720B1 (en)
JP (1) JPH11143498A (en)
DE (1) DE69828119D1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW408298B (en) * 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization
KR100464310B1 (en) * 1999-03-13 2004-12-31 삼성전자주식회사 Method for pattern matching using LSP
KR100474969B1 (en) * 2002-06-04 2005-03-10 에스엘투 주식회사 Vector quantization method of line spectral coefficients for coding voice singals and method for calculating masking critical valule therefor
KR101001170B1 (en) * 2002-07-16 2010-12-15 코닌클리케 필립스 일렉트로닉스 엔.브이. Audio coding
KR100647290B1 (en) 2004-09-22 2006-11-23 삼성전자주식회사 Voice encoder/decoder for selecting quantization/dequantization using synthesized speech-characteristics
WO2007077841A1 (en) * 2005-12-27 2007-07-12 Matsushita Electric Industrial Co., Ltd. Audio decoding device and audio decoding method
CN101320565B (en) * 2007-06-08 2011-05-11 华为技术有限公司 Perception weighting filtering wave method and perception weighting filter thererof
KR101747917B1 (en) * 2010-10-18 2017-06-15 삼성전자주식회사 Apparatus and method for determining weighting function having low complexity for lpc coefficients quantization
EP4095854A1 (en) * 2014-01-15 2022-11-30 Samsung Electronics Co., Ltd. Weight function determination device and method for quantizing linear prediction coding coefficient

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW408298B (en) * 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization

Also Published As

Publication number Publication date
EP0899720A2 (en) 1999-03-03
JPH11143498A (en) 1999-05-28
EP0899720A3 (en) 1999-09-15
DE69828119D1 (en) 2005-01-20

Similar Documents

Publication Publication Date Title
EP0905680B1 (en) Method for quantizing LPC parameters using switched-predictive quantization
EP0443548B1 (en) Speech coder
US5675702A (en) Multi-segment vector quantizer for a speech coder suitable for use in a radiotelephone
CA2061832C (en) Speech parameter coding method and apparatus
US5684920A (en) Acoustic signal transform coding method and decoding method having a high efficiency envelope flattening method therein
EP1576585B1 (en) Method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
KR100872538B1 (en) Vector quantizing device for lpc parameters
US5950155A (en) Apparatus and method for speech encoding based on short-term prediction valves
CA2202825C (en) Speech coder
CA2061830C (en) Speech coding system
US6889185B1 (en) Quantization of linear prediction coefficients using perceptual weighting
KR19980024885A (en) Vector quantization method, speech coding method and apparatus
EP0657874B1 (en) Voice coder and a method for searching codebooks
KR100408911B1 (en) And apparatus for generating and encoding a linear spectral square root
EP0899720B1 (en) Quantization of linear prediction coefficients
US5839102A (en) Speech coding parameter sequence reconstruction by sequence classification and interpolation
EP0866443B1 (en) Speech signal coder
US5822722A (en) Wide-band signal encoder
Li et al. Coding of variable dimension speech spectral vectors using weighted nonsquare transform vector quantization
JP3194930B2 (en) Audio coding device
JP2808841B2 (en) Audio coding method
EP0910064B1 (en) Speech parameter coding apparatus
JPH1097299A (en) Vector quantizing method, method and device for voice coding, and voice decoding method

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE FR GB IT NL

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

RIC1 Information provided on ipc code assigned before grant

Free format text: 6G 10L 9/14 A, 6G 10L 3/02 B

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17P Request for examination filed

Effective date: 20000218

AKX Designation fees paid

Free format text: DE FR GB IT NL

17Q First examination report despatched

Effective date: 20030430

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIC1 Information provided on ipc code assigned before grant

Ipc: 7G 10L 19/06 A

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT NL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20041215

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20041215

Ref country code: FR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20041215

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 69828119

Country of ref document: DE

Date of ref document: 20050120

Kind code of ref document: P

Owner name: OY AIRAM AB

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050316

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20050916

EN Fr: translation not filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20130726

Year of fee payment: 16

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20140827

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140827