Patent ID: 7546239

Claim:
A speech encoder, comprising: an adaptive codebook that generates an adaptive codevector representing a pitch component; a random codebook that generates a random codevector representing a random component; a synthesis filter that uses filter coefficients obtained by analyzing an input speech signal and generates a synthetic speech signal by being excited by the adaptive codevector and the random codevector, and a distortion calculator that calculates a distortion between the input speech signal and the synthetic speech signal, wherein the random codebook comprises: an input vector provider that provides an input vector having at least one pulse from an algebraic codebook table, each pulse having a pre-determined position and a respective polarity; a dispersion pattern determiner that determines a dispersion pattern out of a set of waveforms defined before a start of encoding; and a dispersed vector generator that convolutes the input vector and the determined dispersion pattern to generate a dispersed vector, as the random codevector, wherein a length of the waveforms is shorter than a length of a sub-frame, and wherein the distortion calculator comprises: a system that computes power, p t H t Hp, of a signal, Hp, obtained by synthesis in the synthesis filter using the adaptive codevector, computes an auto-correlation matrix, H t H, of the filter coefficients of the synthesis filter and calculates a first matrix, N=(p t H t Hp)H t H, by multiplying each element of the auto-correlation matrix by the power; a system that calculates a second matrix, M, by providing a time reverse synthesis, r t =p t H t H, to the signal, Hp, obtained by synthesis in the synthesis filter using the adaptive codevector and by taking an outer product, M=rr t , of the resultant signal by the time reverse synthesis; a system that calculates a third matrix, L=N−M, by using the first matrix and the second matrix; and a calculator that calculates the distortion using the third matrix and the random codevector, wherein p is the adaptive codevector, H is the synthesis filter coefficient matrix, and t denotes transpose.