Method of use of voice message coder/decoder
First Claim
1. A method of processing a sequence of input samples comprisinggain adjusting each of a plurality of codevectors in a backward adaptive gain controller to produce corresponding gain-adjusted codevectors, each of said codevectors being identified by a corresponding index,filtering each of said gain-adjusted codevectors in a synthesis filter characterized by a plurality of filter parameters to generate candidate codevectors, the synthesis filter comprising a short term synthesis filter and a long term synthesis filter, the long term synthesis filter being forward adaptive,comparing said sequence of input samples with each of said candidate codevectors to determine, for said sequence of input samples, a candidate codevector substantially approximating said sequence of input samples, andoutputting(i) the index for the candidate codevector, and(ii) the parameters of said long term synthesis filter.
1 Assignment
0 Petitions
Accused Products
Abstract
A code excited linear predictive coder and decoder well suited to speech recording, transmission and reproduction, especially in voice messaging systems, provides backward adaptive gain control of stored codevectors to be applied to a synthesis filter prior to being compared with sequences of input speech signals. Simplified linear predictive parameter quantization using efficient table lookup procedures, efficient codevector storage and search all contribute in an illustrative embodiment to high quality coding and decoding with reduced computational complexity.
-
Citations
45 Claims
-
1. A method of processing a sequence of input samples comprising
gain adjusting each of a plurality of codevectors in a backward adaptive gain controller to produce corresponding gain-adjusted codevectors, each of said codevectors being identified by a corresponding index, filtering each of said gain-adjusted codevectors in a synthesis filter characterized by a plurality of filter parameters to generate candidate codevectors, the synthesis filter comprising a short term synthesis filter and a long term synthesis filter, the long term synthesis filter being forward adaptive, comparing said sequence of input samples with each of said candidate codevectors to determine, for said sequence of input samples, a candidate codevector substantially approximating said sequence of input samples, and outputting (i) the index for the candidate codevector, and (ii) the parameters of said long term synthesis filter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
21. The method of claim 1 wherein said sequence of input samples is a current sequence of input samples in a plurality of consecutive sequences of input samples, said plurality of consecutive sequences of input samples having at least one sequence of input samples preceding said current sequence of input samples, said synthesis filter comprising memory, said memory storing a residual signal reflecting codevector information corresponding to said at least part of at least one sequence of input samples preceding said current sequence of input samples, said residual signal giving rise to a contribution to said candidate codevectors, the method further comprising
removing said contribution to said candidate codevectors prior to said comparing. -
22. The method of claim 1, wherein said comparing comprises
perceptually weighting said input samples and said candidate codevectors prior to said comparing. -
23. The method of claim 22 wherein said sequence of input samples is a current sequence of input samples in a plurality of consecutive sequences of input samples, said plurality of consecutive sequences of input samples havinq at least one sequence of input samples preceding said current sequence of input samples, said synthesis filter comprising memory, said memory storinq a residual signal reflecting codevector information corresponding to said at least part of at least one sequence of input samples preceding said current sequence of input samples, said residual signal giving rise to a contribution to said candidate codevectors, the method further comprising
removing said contribution to said candidate codevectors prior to said comparing. -
24. The method of claim 1 wherein
said plurality of codevectors comprises M/2 linearly independent codevectors, where M is the number of codevectors that are gain adjusted, said comparing comprises comparing M codevectors, said M codevectors being based on said M/2 linearly independent codevectors and each of two sign values for said codevectors. -
25. The method of claim 1, wherein said backward adaptive gain controller is adaptively adjusted by the further step of
passing gain information relating to said codevector corresponding to said outputted index through said gain controller. -
26. The method of claim 1 further comprising storing said outputted index and parameters.
-
27. The method of claim 1 further comprising transmitting said outputted index and parameters to a communications medium.
-
28. The method of claim 1 for processing a set of additional sequences of input samples, the set of additional sequences of input samples being subsequent to the sequence of input samples previously processed, the method comprising:
-
(a) adjusting the parameters of the synthesis filter in response to a previous sequence of input samples; (b) repeating the steps of gain adjusting, filtering, comparing, and outputting for a next sequence of input samples from the set of additional sequences of input samples; and (c) repeating steps (a) and (b) until each sequence in the set of additional sequences of input samples has been processed.
-
-
29. The method of claim 1 wherein the step of comparing further comprises determining the candidate codevector having the minimum difference relative to the sequence of input samples.
-
30. A method of processing a sequence of input samples comprising:
-
(a) gain adjusting the sequence of input samples in a backward adaptive gain controller to produce a gain-adjusted sequence of input samples; (b) filtering each of a plurality of codevectors in a synthesis filter characterized by a plurality of filter parameters to generate a plurality of candidate codevectors, the synthesis filter comprising a short term synthesis filter and a long term synthesis filter, the long term synthesis filter being forward adaptive, each of the plurality of codevectors having an index associated therewith; (c) comparing the plurality of candidate codevectors with the gain-adjusted sequence of input samples to determine a candidate codevector substantially approximating the gain-adjusted sequence of input samples; and (d) outputting (i) the index associated with the candidate codevector substantially approximating the gain-adjusted sequence of input samples; and (ii) the parameters of said long term synthesis filter. - View Dependent Claims (31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
37. A method of processing a first signal by utilizing a set of second signals, the method comprising:
-
(a) in a backward adaptive gain controller, producing a gain-adjusted first signal and a gain-adjusted set of second signals; (b) filtering the gain-adjusted set of second signals in a synthesis filter characterized by a plurality of filter parameters to generate a filtered set of second signals, the synthesis filter comprising a short term synthesis filter and a long term synthesis filter, the long term synthesis filter being forward adaptive, each signal in the filtered set of second signals having an index associated therewith; (c) comparing each signal in the filtered set of second signals with the gain-adjusted first signal to determine a filtered second signal substantially approximating the gain-adjusted first signal; and (d) outputting (i) the index associated with the filtered second signal; and (ii) the parameters of said long term synthesis filter.
-
Specification