Efficient speech coding procedures are continually developed. In the prior art, Code Excited Linear Prediction (CELP) coding is known, which is explained in detail in the article by M. R. Schroeder and B. S. Atal: `Code-Excited Linear Prediction (CELP): High Quality Speech at Very Low Bit Rates`, Proceedings of the IEEE International Conference of Acoustics, Speech and Signal Processing ICASSP, Vol. 3, pp 937-940, March 1985.
Coding according to an algorithm of the CELP-type could be considered an efficient procedure in the prior art, but a disadvantage is the high computational power it will require. A CELP coder comprises a plurality of filters modeling speech generation, for which a suitable excitation signal is selected from a codebook containing a set of excitation vectors. The CELP coder usually comprises both short and long term filters where a synthesized version of the original speech signal is generated. In a CELP coder for an exhaustive search each individual excitation vector stored in the codebook for each speech block is applied to the synthesizer comprising the long and short term filters. The synthesized speech signal is compared with the original speech signal in order to generate an error signal. The error signal is then applied to a weighting filter forming the error signal according to the perceptive response of human hearing, resulting in a measure for the coding error which better corresponds to the auditory perception. An optimal excitation vector for the respective speech block to be processed is obtained by selecting from the codebook that excitation vector which produces the smallest weighted error signal for the speech block in question.
For example, if the sampling rate is 8 kHz, a block having the length of 5 milliseconds would consist of 40 samples. When the desired transmission rate for the excitation is 0.25 bits per sample, a random code book of 1024 random vectors is required. An exhaustive search for all these vectors results in approximately 120,000,000 multiply and Accumulate (MAC) operations per second. Such a computation volume is clearly an unrealistic task for today's signal processing technology. In addition, the memory consumption is unpractical since a Read Only Memory of 640 kilobit would be needed to store the codebook of 1024 vectors (1024 vectors; 40 samples per vector; each sample represented by a 16-bit word).
The above computational problem is well known, and in order to simplify the computation different proposals have been presented, with which the computational load and the memory consumption can be substantially reduced so that it would be possible to realize the CELP algorithm with signal processors in real time. Two different approaches may be mentioned here:
1) implementing the search procedure in a transform domain using e.g. a discreet Fourier transform; see I. M. Trancoso, B. S. Atal: `Efficient Procedures for Finding the Optimum Innovation in Stochastic Coders`. Proc ICASSP, Vol. 4, p. 2375-2378, April 1986;
2) the use of vector sum techniques; I. A. Gershon, M. A. Jasiuk: `Vector Sum Excited Linear Prediction Speech Coding at 8 kbit/s`, Proc. ICASSP, p. 461-464, 1990.
USPTO Backgrounds
USPTO Backgrounds