Vector excitation speech or audio coder for transmission or storage
AssigneeVoicecraft, Inc.
InventorsGrant Davidson, Allen Gersho
Life of this patent
Estimating the term…
Abstract
A vector excitation coder compresses vectors by using an optimum codebook designed off line, using an initial arbitrary codebook and a set of speech training vectors exploiting codevector sparsity (i.e., by making zero all but a selected number of samples of lowest amplitude in each of N codebook vectors). A fast-search method selects a number N.sub.c of good excitation vectors from the codebook, where N.sub.c is much smaller tha ORIGIN OF INVENTION The invention described herein was made in the performance of work under a NASA contract, and is subject to the provisions of Public Law 96-517 (35 USC 202) under which the inventors were granted a request to retain title.
Claims12
An improvement in the method for compressing digitally encoded speech or audio signal by using a permanent indexed codebook of N predetermined excitation vectors of dimension k, each having an assigned codebook index j to find indices which identify the best match between an input speech vector s.sub.n that is to be coded and a vector c.sub.j from a codebook, where the subscript j is an index which uniquely identifies a codevector in said codebook, and the index of which is to be associated with the vector code, comprising the steps of
- buffering and grouping said vectors into frames of L samples, with L/k vectors for each frame,
- performing initial analyses for each successive frame to determine a set of parameters for specifying long-term synthesis filtering, short-term synthesis filtering, and perceptual weighting,
- computing a zero-input response of a long-term synthesis filter, short-term synthesis filter, and perceptual weighting filter,
- perceptually weighting each input vector s.sub.n of a frame and subtracting from each input vector s.sub.n said zero input response to produce a vector z.sub.n,
- obtaining each codevector c.sub.j from said codebook one at a time and processing each codevector c.sub.j through a scaling unit, said unit being controlled by a gain factor G.sub.j, and further processing each scaled codevector c.sub.j through a long-term synthesis filter, short-term synthesis filter and perceptual weighting filter in cascade, said cascaded filters being controlled by said set of parameters to produce a set of estimates z.sub.j of said vector z.sub.n, one estimate for each codevector c.sub.j,
- finding the estimate z.sub.j which best matches the vector z.sub.n,
- computing a quantized value of said gain factor G.sub.j using said vector z.sub.n and the estimate z.sub.j which best matches z.sub.n,
- pairing together the index j of the estimate z.sub.j which best matches z.sub.n and said quantized value of said gain factor G.sub.j as index-gain pairs for later reconstruction of said digitally encoded speech or audio signal,
- associating with each frame said index-gain pairs from said frame along with the quantized values of said parameters otained by initial analysis for use in specifying long-term synthesis filtering and short-term synthesis filtering in said reconstruction of said digitally encoded speech or audio signal, and
- during said reconstruction, reading out of a codebook a codevector c.sub.j that is identical to the codevector c.sub.j used for finding said best estimate by processing said reconstruction codevector c.sub.j through said scalar and said cascaded long-term and short-term synthesis filters.
An improvement in the method for compressing digitally encoded speech or audio signal by using a permanent indexed codebook of N predetermined excitation vectors of dimension k, each having an assigned codebook index j to find indices which identify the best match between an input speech vector s.sub.n that is to be coded and a vector c.sub.j from a codebook, where the subscript j is an index which uniquely identifies a codevector in said codebook, and the index of which is to be associated with the vector code, comprising the steps of
- designing said codebook to have sparse vectors by extracting vectors from an initial arbitrary codebook, one at a time, and setting to zero value all but a selected number of samples of highest amplitude values in each vector, thereby generating a sparse vector with the same number of samples as the initial vector, but with only said selected number of samples having nonzero values,
- buffering and grouping said vectors into frames of L samples, with L/k vectors for each frame,
- performing initial analyzes for each successive frame to determine a set of parameters for specifying long-term synthesis filtering, short-term synthesis filtering, and perceptual weighting,
- computing a zero-input response of a long-term synthesis filter, short-term synthesis fiIter, and perceptual weighting filter,
- perceptually weighting each input vector s.sub.n of a frame and subtracting from each input vector s.sub.n said zero input response to produce a vector z.sub.n,
- obtaining each codevector c.sub.j from said codebook one at a time and processing each codevector c.sub.j through a scaling unit, said unit being controlled by a gain factor G.sub.j, and further processing each scaled codevector c.sub.j through a long-term synthesis filter, short-term synthesis filter, said cascaded filters being controlled by said set of parameters to produce a set of estimates z.sub.j of said vector z.sub.n, one estimate for each codevector c.sub.j,
- finding the estimate z.sub.j which best matches the vector z.sub.n,
- computing a quantized value of said gain factor G.sub.j using said vector z.sub.n and the estimate z.sub.j which best matches z.sub.n
- pairing together the index j of the estimate z.sub.j which best matches z.sub.n and said quantized value of said gain factor G.sub.j for later reconstruction of said digitally encoded speech or audio signal,
- associating with each frame said index-gain pairs from said frame along with the quantized values of said parameters obtained by initial analysis for use in specifying long-term synthesis filtering and short-term synthesis filtering in said reconstruction of said digitally encoded speech or audio signal, and
- during said reconstruction, reading out of a codebook a codevector c.sub.j that is identical codevector c.sub.j used for finding said best estimate by processing said reconstruction codevector c.sub.j through said scalar and said cascaded long-term and short-term synthesis filters.
Dependencies are inferred from the claim text.