← Back to Patent Explorer
EP0379296A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

A low-delay code-excited linear predictive coder for speech or audio

Assignee: AT&T Inc
•
Filing: 1990-01-10
•
Granted: —
•
Expires: 2010-01-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A code-excited linear-predictive (CELP) coder for speech or audio transmission at compressed (e.g., 16 kb/s) data rates is adapted for low-delay (e.g., less than 'five ms. per vector) coding by performing spectral analysis of at least a portion of a previous frame of simulated decoded speech to determine a synthesis filter of a much higher order than conventionally used for decoding synthesis and then transmitting only the index for the vector which produces the lowest internal error signal. In other contexts, performing less critical portions of analysis on a previous frame of data has been termed "backward-adaptive". Two types of gain adaptation are used in respective implementations, both of which are backward-adaptive and one of which is dynamic to the extent that weighting coefficients are iteration-dependent. The spectral analysis is twentieth-order to fiftieth-order linear prediction analysis. Pseudo-Gray coding is used to reduce errors induced by channel noise; and the effects of the gain and specrtral analyses are taken into account in the training procedures which determine the sets of vectors which are the reference or candidate excitation vectors.

Inventors

  • 👤 Juin-Hwey Chen

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-01 20:58
CPC Classifications
H; H04; H04B; H04B14/00; H04B14/02; H04B14/06; G; G10; G10L; G10L19/00; G10L19/005; G10L19/04; G10L19/08; G10L19/12; G10L2019/0001; G10L2019/0003; G10L25/00; G10L25/03; G10L25/18

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 287 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of grouping said speech into frames of speech each having a plurality of samples with each frame representing a portion of said speech; forming a target set of speech-related information in response to at least a portion of a frame of speech which is the current frame of speech; determining a set of synthesis filter coefficients in response to at least a portion of a frame of speech; calculating information representing a synthesis filter from said set of synthesis filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table in response to the filter information and each of said candidate sets and said target set of speech-related information, including calculating an adapted gain by which each candidate set is multiplied prior to calculating the respective error value; selecting one of said candidate sets of excitation information as producing the smallest error value; communicating information including information representing the location in the table of the selected one of said candidate sets of excitation information for reproduction of said speech for the current frame of speech, CHARACTERIZED IN THAT the forming step includes forming a target set of speech-related information in response to a portion of the current frame of speech, which portion is the current speech vector; the communicating step excludes communicating the set of synthesis filter coefficients, and the step of determining the set of synthesis filter coefficients includes determining them by linear predictive analysis from a speech vector representing at least a portion of a frame of simulated decoded speech, which vector occurred prior to the current speech vector.
Claim 2
Independent Claim 287 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of grouping said speech into frames of speech each having a plurality of samples with each frame representing a portion of said speech; forming a target set of speech-related information in response to at least a portion of a frame of speech which is the current frame of speech; determining a set of synthesis filter coefficients in response to at least a portion of a frame of speech; calculating information representing a synthesis filter from said set of synthesis filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table in response to the filter information and each of said candidate sets and said target set of speech-related information, including calculating an adapted gain by which each candidate set is multiplied prior to calculating the respective error value; selecting one of said candidate sets of excitation information as producing the smallest error value; communicating information including information representing the location in the table of the selected one of said candidate sets of excitation information for reproduction of said speech for the current frame of speech, CHARACTERIZED IN THAT the forming step includes forming a target set of speech-related information in response to a portion of the current frame of speech, which portion is the current speech vector; the communicating step excludes communicating the set of synthesis filter coefficients, and the step of determining the set of synthesis filter coefficients includes determining them by linear predictive analysis from a speech vector representing at least a portion of a frame of simulated decoded speech, which vector occurred prior to the current speech vector.
Claim 3
Dependent Claim 63 words
A method of encoding speech as claimed in claim 1 wherein the step of determining the set of filter coefficients includes determining, for every frame after the first frame, such a number of them and a precision of them that transmitting them for every speech vector of every frame would be impractical at the design bit rate and required accuracy of the coder.
Claim 4
Dependent Claim 65 words
A method of encoding speech as claimed in claim 1, wherein the iteratively calculating and selecting steps include multiplying candidate sets of excitation information by a gain factor, including iteratively updating the gain factor by a logarithmic-based calculation that produces a weighted average of the previously calculated gains associated with previously selected vectors, said updating step including updating the weighting factors for the weighted average.
Claim 5
Independent Claim 237 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of: grouping said speech into frames of speech each having at least four (4) samples with each frame representing a portion of said speech: forming a target set of excitation information in response to a present one of said frames of speech; determining a set of filter coefficients in response either to a starting signal or a frame of speech which occurred prior to said present frame of speech; calculating information representing a finite impulse response filter from said set of filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table and selected in an order based on frequency of use in prior encoding of speech, in response to the finite impulse-response filter information and each of said candidate sets and said target set of excitation information, including multiplying each of said candidate sets by a gain factor, wherein a single candidate set is used in different iterations when and if multiplied by different gain factors; selecting a candidate set of excitation information and a gain factor producing an error value below a predetermined value; and communicating information including information representing the location in the table of the selected one of the candidate sets of excitation information, said communicated information not including any information regarding the set of filter coefficients.
Claim 6
Independent Claim 237 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of: grouping said speech into frames of speech each having at least four (4) samples with each frame representing a portion of said speech: forming a target set of excitation information in response to a present one of said frames of speech; determining a set of filter coefficients in response either to a starting signal or a frame of speech which occurred prior to said present frame of speech; calculating information representing a finite impulse response filter from said set of filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table and selected in an order based on frequency of use in prior encoding of speech, in response to the finite impulse-response filter information and each of said candidate sets and said target set of excitation information, including multiplying each of said candidate sets by a gain factor, wherein a single candidate set is used in different iterations when and if multiplied by different gain factors; selecting a candidate set of excitation information and a gain factor producing an error value below a predetermined value; and communicating information including information representing the location in the table of the selected one of the candidate sets of excitation information, said communicated information not including any information regarding the set of filter coefficients.
Claim 7
Dependent Claim 59 words
A method of encoding speech as claimed in claim 4, wherein the step of determining .the set of filter coefficients includes determining, for every frame after the first frame, such a number of them and a precision of them that transmitting them for every frame would be impractical at the design bit rate and required accuracy of the coder.
Claim 8
Dependent Claim 54 words
A method of encoding speech as claimed in claim 4, wherein the iteratively calculating and selecting steps include updating the gain factor by a logarithmic-based calaculation that produces a weighted average of the previously calculated gains associated with previously selected vectors and then multiplying each of said candidate sets by the updated gain factor.
Claim 9
Dependent Claim 32 words
A method of encoding speech as claimed in claim 6 or claim 3, wherein the gain up-dating step includes providing weighting factors for the logarithmic-based calculation that supply a stable gain characteristic.
Claim 10
Dependent Claim 56 words
A method of encoding speech as claimed in claim 7, wherein the step of determining a set of synthesis filter coefficients includes holding them constant for a plurality of additional frames, and the communicating step includes communicating gain information that is less than all of the gain information available from the iteratively calculating and selecting steps.
Claim 11
Dependent Claim 19 words
A method of encoding speech as claimed in claim 8, wherein the communicating step includes communicating a sign bit.
Claim 12
Dependent Claim 37 words
A method of encoding speech as claimed in claim 8 or claim 9, wherein the communicating step includes communicating a gain amplitude adjustment that is distinguishable from the gain factor associated with communicated set of excitation information.
Claim 13
Independent Claim 58 words
A method of encoding speech as claimed in any of the preceding claims including associating each of the candidate sets of excitation information for storage in the table with an index that can be efficiently communicated and arranging the association of indices to limit inaccuracy in the event of a one-bit error in communicating each of said indices.
Claim 14
Dependent Claim 90 words
A method of encoding speech as claimed in claim 3, including the additional step of iteratively pre-selecting the plurality of candidate sets of excitation information from among a larger plurality of such sets for storage in the table by multiplying each of the larger plurality by each of a number of candidate gain factors, testing the products for accuracy in modelling a set of training speech samples, and reducing the larger plurality to the plurality for storage in the table on the basis of the results of the testing step.
Claim 15
Independent Claim 92 words
A method of encoding speech as claimed in any of claims 8 to 10, including the additional step of iteratively pre-selecting the plurality candidates of excitation information from among a larger plurality of such sets for storage in the table by multiplying each of the larger plurality by each of a number of candidate gain factors, testing the products for accuracy in modeling a set of training speech samples, and reducing the larger plurality to the plurality for storage in the table on the basis of the results of the testing step.
Claim 16
Independent Claim 30 words
A method of encoding speech as claimed in any of the preceding claims, wherein the step of determining a set of filter coefficients includes determining at least twenty of them.
Claim 17
Independent Claim 128 words
A method of decoding speech encoded by a method as claimed in any of the preceding claims comprising the steps of initializing a synthesis filter suitably matched to the synthesis filter of the encoding method; receiving a signal produced by the encoding method; decoding the received signal to yield a set of excitation information; assembling frames of output speech from a combination of the synthesis filter and the excitation information from the decoding step, each frame having a plurality of sample of the output speech; determining a set of synthesis filter coefficients when appropriate in response to at least one frame of assembled output speech; and calculating information representing a synthesis filter from said set of filter coefficients in preparation for the subsequent portion of the received signal.
Claim 18
Independent Claim 83 words
A method of communicating, employing an encoding method as claimed in any of claims 1 to 14 and any corresponding decoding method, wherein the iteratively calculating step of the encoding method includes on a repetition cycle extending over a plurality of frames, omitting calculations for half of the candidate sets of excitation information stored in the encoding table, and the communicating step includes inserting a synchronization bit for each occurrence of the omitting step; and the decoding method includes detecting the synchronization bit.
Claim 19
Independent Claim 366 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of grouping said speech into frames of speech each having a plurality of samples with each frame representing a portion of said speech; forming a target set of speech-related information in response to at least a portion of a frame of speech which is the current frame of speech; determining a set of synthesis filter coefficients in response to at least a portion of a frame of speech; calculating information representing a synthesis filter from said set of synthesis filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table in response to the filter information and each of said candidate sets and said target set of excitation information, including calculating an adapted gain for each of said candidate sets of excitation information by which said candidate set is multiplied prior to calculating the respective error value; selecting one of said candidate sets of excitation information as multiplied by said adapted gain as having the smallest error value; communicating information including information representing the location in the table of the selected ones of said candidate sets of excitation information for reproduction of said speech for the current frame of speech, CHARACTERIZED IN THAT the forming step includes forming a target set of speech-related information in response to a portion of the current frame of speech, which portion is the current speech vector; the communicating step excludes communicating the set of filter coefficients and at least a portion of information necessary to specify said adapted gain; the step of determining the set of filter coefficients includes determining them from at least one speech vector representing at least a portion of a frame of simulated decoded speech, which vector occurred prior to the current speech vector; and the gain calculating step includes calculating said portion of the information necessary to specify the adapted gain at least partly from the prior adapted gain which multiplied the selected set of excitation information for a speech vector prior to the current speech vector, including multiplying said prior gain by a weighting factor which is iteration-dependent.
Claim 20
Independent Claim 366 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of grouping said speech into frames of speech each having a plurality of samples with each frame representing a portion of said speech; forming a target set of speech-related information in response to at least a portion of a frame of speech which is the current frame of speech; determining a set of synthesis filter coefficients in response to at least a portion of a frame of speech; calculating information representing a synthesis filter from said set of synthesis filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table in response to the filter information and each of said candidate sets and said target set of excitation information, including calculating an adapted gain for each of said candidate sets of excitation information by which said candidate set is multiplied prior to calculating the respective error value; selecting one of said candidate sets of excitation information as multiplied by said adapted gain as having the smallest error value; communicating information including information representing the location in the table of the selected ones of said candidate sets of excitation information for reproduction of said speech for the current frame of speech, CHARACTERIZED IN THAT the forming step includes forming a target set of speech-related information in response to a portion of the current frame of speech, which portion is the current speech vector; the communicating step excludes communicating the set of filter coefficients and at least a portion of information necessary to specify said adapted gain; the step of determining the set of filter coefficients includes determining them from at least one speech vector representing at least a portion of a frame of simulated decoded speech, which vector occurred prior to the current speech vector; and the gain calculating step includes calculating said portion of the information necessary to specify the adapted gain at least partly from the prior adapted gain which multiplied the selected set of excitation information for a speech vector prior to the current speech vector, including multiplying said prior gain by a weighting factor which is iteration-dependent.
Claim 21
Dependent Claim 29 words
A method of encoding speech as claimed in claim 17, wherein the step of determining the set of filter coefficients includes determining an order of them exceeding twentieth order.
Claim 22
Independent Claim 323 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of grouping said speech into frames of speech each having a plurality of samples with each frame representing a portion of said speech; forming a target set of speech-related information in response to at least a portion of a frame of speech which is the current frame of speech; determining a set of synthesis filter coefficients in response to at least a portion of a frame of speech; calculating information representing a synthesis filter from said set of synthesis filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table in response to the filter information and each of said candidate sets and said target set of excitation information, including calculating an adapted gain for each of said candidate sets of excitation information by which said candidate set is multiplied prior to calculating the respective error value; selecting one of said candidate sets of excitation information as multiplied by said adapted gain as having the smallest error value; communicating information including information representing the location in the table of the selected ones of said candidate sets of excitation information for reproduction of said speech for the current frame of speech, CHARACTERIZED IN THAT the forming step includes forming a target set of speech-related information in response to a portion of the current frame of speech, which portion is the current speech vector; the communicating step excludes communicating the set of filter coefficients and at least a portion of information necessary to specify said adapted gain; and the step of determining the set of filter coefficients includes determining a set of filter coefficients for a synthesis of at least twentieth order from at least one speech vector representing at least a portion of a frame of simulated decoded speech, which vector occurred prior to the current speech vector.
Claim 23
Independent Claim 323 words
A method of encoding speech for communication to a decoder for reproduction, comprising the steps of grouping said speech into frames of speech each having a plurality of samples with each frame representing a portion of said speech; forming a target set of speech-related information in response to at least a portion of a frame of speech which is the current frame of speech; determining a set of synthesis filter coefficients in response to at least a portion of a frame of speech; calculating information representing a synthesis filter from said set of synthesis filter coefficients; iteratively calculating an error value for each of a plurality of candidate sets of excitation information stored in a table in response to the filter information and each of said candidate sets and said target set of excitation information, including calculating an adapted gain for each of said candidate sets of excitation information by which said candidate set is multiplied prior to calculating the respective error value; selecting one of said candidate sets of excitation information as multiplied by said adapted gain as having the smallest error value; communicating information including information representing the location in the table of the selected ones of said candidate sets of excitation information for reproduction of said speech for the current frame of speech, CHARACTERIZED IN THAT the forming step includes forming a target set of speech-related information in response to a portion of the current frame of speech, which portion is the current speech vector; the communicating step excludes communicating the set of filter coefficients and at least a portion of information necessary to specify said adapted gain; and the step of determining the set of filter coefficients includes determining a set of filter coefficients for a synthesis of at least twentieth order from at least one speech vector representing at least a portion of a frame of simulated decoded speech, which vector occurred prior to the current speech vector.
Claim 24
Dependent Claim 66 words
A method of encoding speech as claimed in claim 19, wherein the gain calculating step includes calculating said portion of the information necessary to specify the adapted gain at least partly from the prior adapted gain which multiplied the selected set of excitation information for a speech vector prior to the current speech vector, including multiplying said prior gain by a weighting factor which is iteration-dependent.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag