Backward gain adaptation method in code excited linear prediction coders
AssigneeAT&T Bell Laboratories
InventorRichard H. Ketchum
Life of this patent
Estimating the term…
Abstract
An exemplary CELP coder where gain adaptation is performed using previous gain values in conjunction with an entry in a table comprising the logarithms of the root-mean-squared values of the codebook vectors, to predict the next gain value. Not only is this method less complex because the table entries are determined off-line, but in addition the use of a table at both the encoder and the decoder allows fixed-point/floating-point interoperability requirements to be met.
Claims11
In a code excited linear prediction encoder, a method of processing input speech comprising
- receiving a first segment of said input speech,
- determining a first input speech vector from said received first segment,
- scaling a plurality of codevectors from a codebook of vectors by a first gain value,
- synthesizing first speech vectors from each of said first gain scaled codevectors,
- comparing each of said synthesized first speech vectors with said first input speech vector,
- selecting a first one of said plurality of codevectors based on said comparing of each of said synthesized first speech vectors with said first input speech vector,
- selecting a first value, corresponding to said selected first codevector, from a table comprising the logarithms of the root-mean-squared values of said codevectors,
- predicting a second logarithmic gain value based on said selected first value and the logarithm of said first gain value,
- obtaining the inverse logarithm of said predicted second logarithmic gain value to determine a second gain value,
- generating a low bit rate speech signal representing said first segment of said input speech based on said selected first codevector,
- receiving a second segment of said input speech,
- determining a second input speech vector from said received second segment,
- scaling said plurality of codevectors from said codebook by said second gain value,
- synthesizing second speech vectors from each of said second gain scaled codevectors,
- comparing each of said synthesized second speech vectors with said second input speech vector,
- selecting a second one of said plurality of codevectors based on said comparing of said synthesized second speech vectors with said second input speech vector,
- selecting a second value, corresponding to said selected second codevector, from said table comprising said logarithms of said root-mean-squared values of said codevectors,
- predicting a third logarithmic gain value based on said selected second value and the logarithm of said second gain value,
- obtaining the inverse logarithm of said predicted third logarithmic gain value to determine a third gain value for use in processing a third segment of said input speech, and
- generating a low bit rate speech signal representing said second segment of said input speech based said selected second codevector.
In a code excited linear prediction decoder, a method of processing low bit rate speech signals to synthesize output speech,
- receiving a low bit rate first speech signal,
- selecting a first codevector from a codebook of vectors based on said received low bit rate first speech signal,
- scaling said selected first codevector by a first gain value,
- selecting a first value, corresponding to said selected first codevector, from a table comprising the logarithms of the root-mean-squared values of a plurality of codevectors from said codebook,
- predicting a second logarithmic gain value based on said selected first value and the logarithm of said first gain value,
- obtaining the inverse logarithm of said predicted second logarithmic gain value to determine a second gain value,
- synthesizing a first segment of said output speech based on said first gain scaled first codevector,
- receiving a low bit rate second speech signal,
- selecting a second codevector from said codebook based on said received low bit rate second speech signal,
- scaling said selected second codevector by said second gain value,
- selecting a second value, corresponding to said selected second codevector, from said table comprising said logarithms of said root-mean-squared values of said plurality of codevectors from said codebook,
- predicting a third logarithmic gain value based on said selected second value and the logarithm of said second gain value,
- obtaining the inverse logarithm of said predicted third logarithmic gain value to determine a third gain value for use in processing a low bit rate third speech signal, and
- synthesizing a second segment of said output speech based on said second gain scaled second codevector.
In a code excited linear prediction encoder comprising a codebook of vectors, a gain scaling unit for scaling vectors from said codebook, and means for processing input speech and scaled vectors from said gain scaling unit to generate low bit rate speech signals representing said input speech, a method of adjusting the gain value of said gain scaling unit from a first gain value, corresponding to a first segment of said input speech, to a second gain value, corresponding to a second segment of said input speech, said method comprising
- selecting, based on said first segment of said input speech, a vector from said codebook,
- selecting a value, corresponding to said selected vector, from a table comprising the logarithms of the root-mean-squared values of said vectors of said codebook,
- predicting a logarithmic gain value corresponding to said second segment of said input speech based on said value selected from said table and the logarithm of said first gain value,
- obtaining the inverse logarithm of said predicted logarithmic gain value to determine said second gain value, and
- adjusting the gain value of said gain scaling unit from said first gain value to said second gain value.
In a code excited linear prediction decoder for synthesizing speech based on low bit rate speech signals, said decoder comprising a codebook of vectors, a gain scaling unit for scaling vectors from said codebook, and means for synthesizing speech based on said scaled vectors, a method of adjusting the gain value of said gain scaling unit from a first gain value, corresponding to a low bit rate first speech signal, to a second gain value, corresponding to a low bit rate second speech signal, said method comprising
- selecting, based on said low bit rate first speech signal, a vector from said codebook,
- selecting a value, corresponding to said selected vector, from a table comprising the logarithms of the root-mean-squared values of said vectors of said codebook,
- predicting a logarithmic gain value corresponding to said low bit rate second speech signal based on said value selected from said table and the logarithm of said first gain value,
- obtaining the inverse logarithm of said predicted logarithmic gain value to determine said second gain value, and
- adjusting the gain value of said gain scaling unit from said first gain value to said second gain value.
Dependencies are inferred from the claim text.