Digital speech coder having improved vector excitation source
First Claim
1. A method of generating at least one of a set of Y codebook vectors for a vector quantizer comprising the steps of:
- (a) inputting at least one selector codeword;
(b) defining a plurality of interim data signals based upon said selector codeword;
(c) inputting a set of X basis vectors, where X<
Y;
(d) generating said codebook vectors by performing linear transformations on said X basis vectors, said linear transformations defined by said interim data signals.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved excitation vector generation and search technique (FIG. 1) is described for a code-excited linear prediction (CELP) speech coder (100) using a codebook of excitation code vectors. A set of M basis vectors Vm (n) are used along with the excitation signal codewords (i) to generate the codebook of excitation vectors ui (n) according to a "vector sum" technique (120) of converting the selector codewords into a plurality of interim data signals, multiplying the set of M basis vectors by the interim data signals, and summing the resultant vectors to produce the set of 2M codebook vectors. The entire codebook of 2M possible excitation vectors is efficiently searched by using the vector sum generation technique with the M basis vectors--without ever having to generate and evaluate each of the 2M code vectors themselves. Furthermore, only M basis vectors need to be stored in memory (114), as opposed to all 2M code vectors.
109 Citations
53 Claims
-
1. A method of generating at least one of a set of Y codebook vectors for a vector quantizer comprising the steps of:
-
(a) inputting at least one selector codeword; (b) defining a plurality of interim data signals based upon said selector codeword; (c) inputting a set of X basis vectors, where X<
Y;(d) generating said codebook vectors by performing linear transformations on said X basis vectors, said linear transformations defined by said interim data signals. - View Dependent Claims (2, 3, 4)
-
-
5. A means for generating a set of 2M codebook vectors for a vector quantizer, said codebook vector generating means comprising:
-
means for converting a set of selector codewords into a plurality of interim data signals; means for inputting a set of M basis vectors; multiplying said set of basis vectors by said plurality of interim data signals to produce a plurality of interim vectors; and means for summing said plurality of interim vectors to produce said set of codebook vectors. - View Dependent Claims (6, 7)
-
-
8. A method of generating an excitation vector codebook for a speech synthesizer, said codebook having at least 2M excitation vectors ui (n), each having N elements, where 1≦
- n≦
N, and where 0≦
i≦
2M -1, from a memory containing M basis vectors vm (n), each having N elements, where 1≦
n≦
N and where 1≦
m≦
M, using a set of 2M digital codewords Ii, each having M bits, where 0≦
i≦
2M -1, comprising the steps of;(a) identifying a signal θ
im for each bit of each codeword Ii, such that θ
im has a first value if bit m of codeword Ii is of a first state, and such that θ
im has a second value if bit m of codeword Ii is of a second state; and(b) calculating said codebook of 2M excitation vectors ui (n) according to the equation;
##EQU29## where 1≦
n≦
N.
- n≦
-
9. A method of reconstructing a signal from a set of basis vectors and from a particular excitation codeword, said signal reconstructing method comprising the steps of:
-
(a) defining a plurality of interim data signals based upon said particular codeword; (b) multiplying said set of basis vectors by said plurality of interim data signals to produce a plurality of interim vectors; (c) summing said plurality of interim vectors to produce a single excitation vector; and (d) signal processing said excitation vector to produce said reconstructed signal. - View Dependent Claims (10, 11, 12)
-
-
13. A method of selecting a codeword for a code-excited signal coder, said selected codeword corresponding to a particular excitation vector having characteristics favorable to those of a given input signal, said particular excitation vector being one of a set of Y excitation vectors, said codeword selecting method comprising the steps of:
-
(a) identifying a test codeword; (b) defining a plurality of interim data signals based upon said test codeword; (c) inputting a set of X basis vectors, where X<
Y;(d) generating a test excitation vector from said set of basis vectors and said plurality of interim data signals; (e) signal processing said test excitation vector to produce a reconstructed signal; (f) calculating an error signal representative of the difference between said reconstructed signal and said input signal; and (g) repeating steps (a) through (f) identifying different test codewords, and selecting one test codeword that produces an error signal which meets predetermined error criteria. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method of selecting a single excitation codeword for a code-excited signal coder, said single codeword corresponding to a particular excitation vector having characteristics most favorable to those of a portion of a given input signal, said single codeword being one of a set of codewords corresponding to a set of Y possible excitation vectors, said codeword selecting method comprising the steps of:
-
(a) generating an input vector corresponding to said input signal portion; (b) inputting a set of X basis vectors, where X<
Y;(c) generating a plurality of processed vectors from said basis vectors; (d) producing comparison signals based upon said processed vectors and said input vector; (e) calculating parameters for each of said set of codewords based upon said comparison signals; and (f) evaluating said calculated parameters for each codeword, and selecting one particular codeword having parameters which meet predetermined criteria, without generating said set of Y possible excitation vectors. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A codebook search controller for a code-excited signal coder, said codebook search controller capable of selecting a particular codeword from a set of codewords, said particular codeword corresponding to a desired code vector, said desired code vector being one of at least 2M possible code vectors, said particular codeword selected according to similarity characteristics between a given input signal and a reconstructed signal derived from said desired code vector, said codebook search controller comprising:
-
means for generating a set of processed vectors from a set of M basis vectors; means for generating an input vector corresponding to said input signal; means for producing comparison signals based upon said processed vectors and said input vector; means for calculating parameters for each codeword corresponding to each of said 2M possible code vectors, said parameters based upon said comparison signals; and means for selecting a particular codeword having calculated parameters which meet predetermined criteria, without generating said 2M possible code vectors. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. In a code-excited signal coder, a method of selecting a particular excitation codeword I from a set of Y excitation codewords, said particular excitation codeword representative of a desired excitation vector uI (n) capable of coding a portion of a given input signal, said input signal portion divided into a plurality of N signal samples, said selecting method comprising the steps of:
- (a) generating an input vector y(n) from said input signal portion, where 1≦
n≦
N;(b) compensating said input vector y(n) for previous filter states, thereby providing compensated vector p(n); (c) inputting a set of M basis vectors vm (n), where 1≦
m≦
M<
Y;(d) filtering said basis vectors to produce zero-state response vectors qm (n) for each of said M basis vectors; (e) generating correlation signals from said zero-state response vectors qm (n) and said compensated vector p(n); (f) identifying a test codeword i from said set of Y excitation codewords; (g) calculating parameters for said test codeword i based upon said correlation signals; and (h) repeating only steps (f) and (g) identifying different test codewords i from said set of Y excitation codewords, and selecting the particular excitation codeword I having calculated parameters which meet predetermined criteria. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48)
- (a) generating an input vector y(n) from said input signal portion, where 1≦
-
49. A method of generating an excitation signal for a code-excited speech coder, said generating method comprising the steps of:
-
(a) signal processing an input signal to produce an input vector; (b) providing a set of basis vectors from a memory; (c) signal processing said basis vectors to produce a plurality of processed vectors; (d) comparing said processed vectors with said input vector to produce comparison signals; (e) providing a set of address words; (f) calculating parameters for each address word using said comparison signals; (g) selecting a particular address word having calculated parameters which meet predetermined error criteria; (h) converting said particular address word into a plurality of interim data words; and (i) generating said excitation signal from said set of basis vectors and said plurality of interim data words.
-
-
50. A speech coder comprising:
-
input means for providing an input vector corresponding to a segment of input speech; means for providing a set of codewords corresponding to a set of Y possible excitation vectors; a first signal path including; means for filtering excitation vectors; a second signal path including; means for providing X basis vectors, where X<
Y;means for filtering said basis vectors; means for comparing said filtered basis vectors to said input vector, thereby providing comparison signals; controller means for evaluating said set of codewords and said comparison signals, and for providing a particular codeword representative of a single excitation vector which, when passed through said first signal path, most closely resembles said input vector; and generator means for generating said single excitation vector by performing a linear transformation on said basis vectors as defined by said particular codeword, whereby the evaluation of said set of Y possible excitation vectors is simulated without passing each of said Y possible excitation vectors through said first signal path. - View Dependent Claims (51, 52, 53)
-
Specification