Speech coding system

Abstract: An input speech signal is splitted into a time section and the splitted signal is generated as a speech vector and LPC coefficient sets are developed by linear prediction analysis for every time section of the speech vector. The speech vector is weighted based on the developed LPC coefficient sets, then a plurality of the weighted speech vectors are connected and the connected speech vector having a predetermined frame length is generated. An excitation codevector whose weighted synthesized signal is the most similar to the weighted speech vector is determined among from a plurality of excitation vectors each having the frame length which are previously stored as a sound source. A plurality of adaptive codevectors each having the frame length and obtained by cutting out a sound source signal produced from the determined excitation vectors at predetermined timing points are stored in an adaptive codebook (145). An adaptive codevector whose weighted synthesized signal is the most similar to the weighted speech vector is determined among from the plurality of adaptive codevectors.

Description: The present invention relates to a speech coding system for high quality coding of a speech signal at a low bit rate, e.g., 8 K bps or lower. One example of conventional speech coding system is known as the CELP (Code Excited LPC Coding) disclosed in a technical paper entitled: "CODE-EXCITED LINEAR PREDICTION (CELP): HIGH QUALITY SPEECH AT VERY LOW BIT RATES" IEEE Proc. ICASSP-85, pp 937-940, 1985 by M. Schroeder and B. Atal. In this system, linear predictive analysis is first performed on the speech (voice) signal in a frame of a predetermined period at the transmission side to obtain the linear predictive coefficient sets. In an adaptive codebook are stored a plurality of adaptive codevectors produced by cutting out the previously synthesized sound source signal at predetermined timings. From the adaptive codebook, the adaptive codevector having the smallest square distance is searched based upon the perceptual weighted speech vector and perceptual weighted synthesized adaptive codevectors in the adaptive codebook. The searched synthesized adaptive codevector is subtracted from the weighted speech vector to obtain the residual vector. In an excitation codebook are stored a plurality of excitation codevectors obtained from, for example, noise signal in a predetermined frame. An excitation codevector having the smallest square distance is searched based upon the perceptual weighted synthesized excitation codevector or residual vector. Optimum gains are calculated for the searched adaptive codevector and excitation codevector. Indexes of the searched adaptive codevector, the excitation codevector, and the gains and the linear predictive coefficient set are transmitted. At the receiving side, the speech signal is synthesized based on these indexes. A disadvantage of the conventional speech coding system is degradation in speech quality. The reason is that the square distance on the weighted vectors is calculated using the same LPC coefficient set within the vector in the codebook searching. Accordingly, if the vector length is long, changes in frequency characteristics of the speech signal in the vector cannot be sufficiently approximated. EP-A-0 342 687 describes a coded speech communication system having code books for synthesizing small-amplitude components. EP-A-0 443 548 discloses a speech coder including an LPC analyzer, an adaptive codebook and two excitation codebooks. US-A-4 975 956 relates to a low-bit-rate speech coder using LPC data reduction processing. In view of above, it is an object of the present invention to overcome the above disadvantage and to provide a speech coding system having the codebook searching capable of efficiently quantizing the speech signal. This object is achieved with a speech coding system according to independent claim 1. According to the present invention, there is provided a speech coding system comprising, a first means for splitting an input speech signal into a time section and generating the splitted signal as a speech vector, a second means for developing LPC coefficient set by linear prediction analysis for every time section of the speech vector, a third means for weighting the speech vector based on the developed LPC coefficient set, a fourth means for connecting a plurality of the weighted speech vectors and generating connected speech vector having a predetermined frame length, a fifth means storing a plurality of excitation vectors each having the frame length, a sixth means for determining an excitation codevector whose weighted synthesized signal is the most similar to the weighted speech vector among from the plurality of excitation vectors, a seventh means storing a plurality of adaptive codevectors each having the frame length and obtained by cutting out a sound source signal produced from the determined excitation vectors by the sixth means at predetermined timing points, and an eighth means for determining an adaptive codevector whose weighted synthesized signal is the most similar to the weighted speech vector among the plurality of adaptive codevectors. LPC coefficient set may be developed by linear prediction analysis for a predetermined time period longer than the time section and LPC coefficient set may be developed by interpolation of the frame LPC coefficient set for the predetermined time period. Other objects and features will be clarified from the following description with reference to attached drawing. FIG. 1 is a block diagram of one embodiment of the speech coding system according to the present invention. In operation of the speech coding system according to the present invention, in order to determine the adaptive codevector and the excitation codevector, firstly, a speech vector synthesized by a filter is calculated for each speech vector in a given time length of the input speech signal using the LPC coefficient set obtained through linear prediction of the input speech. Then, the linear predictive analysis is performed in each of the predetermined sections (e.g., two sections of 0 to N/2-1 and N/2 to N-1, where N is vector length = frame length) within the vector to develop the section LPC coefficient sets. The developed LPC coefficient sets are used for perceptual weighting the speech vector. The squared sum of the weighted synthesized signal is developed in accordance with the following expression (1). Each codevector having the smallest distance is searched based upon the developed squared sum. k =0 N -1 ( x w k - g ac , j x w ac , k - g ec , j x w ec,k ) where x w / k represents the k-th element of the perceptual weighted speech vector for the speech vector element x k and is given by: x w k = W i (γ 2 q -1 ) W i (γ 1 q -1 ) x k where the weighting function is given by: W i (γ 2 q -1 ) W i (γ 1 q -1 ) Wi(q -1 ) is given by: W i ( q -1 )= 1 + l =1 L w i (l)q -1 q -1 is a shift operator representing time delay at time i satisfying the following expressions: x k q -i = x k-i q -i q -j = q -i-j i represents the number of sections. w i (l) is the value of l order of the LPC coefficients for the i-th element of the speech vector (which is obtained through linear predictive analysis of the input speech signal in the analysis window including the section) while L is the order of analysis. γ 1 and γ 2 are coefficients for adjusting the perceptual weighting. x w / ac,k is the k-th element of the weighted synthesized adaptive vector of the adaptive codevector element C ac,k ( j ) for the index j and is given by the following expression: x w ac,k = W i (γ 2 q -1 ) W i (γ 1 q -1 ) 1 H i ( q -1 ) C ac,k (j) H i ( q -1 ) = 1 + l =1 L a i (l)q -1 a i (l) is the l order value for the LPC coefficients through, for example, quantizing and decoding corresponding to the speech vector (by way of, for example, linear predictive analysis of the input speech signal in the analysis window including the splitted frame). x w / ec,k represents the k-th element of the weighted synthesized excitation vector for the excitation codevector element C ec,k ( j ) for the index j and is given by the following expression: x w ec,k = W i (γ 2 q -1 ) W i (γ 1 q -1 ) 1 H i ( q -1 ) C ec,k ( j ) where q ac,j and q ec,j are optimum gains when the adaptive codevector and the excitation codevector for the index j are searched. The expression l is utilized for codebook searching to correspond to any change in frequency response of the speech signal within the vector, thereby improving the quality of the coded speech. Now, one embodiment of the speech coding system according to the present invention will be described by reference to FIG. 1. Illustrated in FIG. 1 is a block diagram of one preferred embodiment of the present invention. A speech signal is received at an input terminal 10 and is applied to a frame splitter 100, a perceptual weighting splitter 120 and a synthesis filter splitter 130. The frame splitter 100 splits the speech signal at every frame length (e.g., 5 ms) and the splitted speech signal is supplied to an in-frame splitter 105 as the speech vector. The in-frame splitter 105 further splits the speech vector supplied from the frame splitter 100 into halves, for example, and supplies the fine (in-frame) splitted speech vectors to a weighting filter 110. The perceptual weighting splitter 120 splits the speech signal from the input terminal 10 into, for example 20 ms, window length to develop the LPC coefficient sets to be used for perceptual weighting by an LPC analyzer 125 through the linear prediction analysis. The LPC interpolator 127 calculates interpolation set of the LPC coefficient sets supplied from the LPC analyzer 125 for each splitted speech vector. The interpolation set is then sent to the LPC weighting filter 110, a weighting filter 160 and a weighting filter 195. The synthesis filter splitter 130 splits the speech signal from the input terminal 10 into, for example 20 ms, window length for developing the LPC coefficient sets to be used for synthesis by an LPC analyzer 135 through the linear prediction analysis. An LPC coefficient quantizer 140 quantizes the LPC coefficient set from the LPC analyzer 135 and supplies the quantization index to a multiplexer 300 and also the decoded LPC coefficient set to an LPC interpolator 142. The LPC interpolator 142 calculates interpolation set of the LPC coefficient sets received from the LPC analyzer 135 corresponding to each fine splitted speech vector by using the known method. The calculated interpolation set is sent to a synthesis filter 155 and a synthesis filter 190. The weighting filter 110 performs perceptual weighting on the fine splitted speech vector received from the in-frame splitter 105 using the interpolated LPC coefficient sets received from the LPC interpolator 127 and sends the perceptual weighted splitted speech vector to a connector 115. The connector 115 connects the fine splitted speech vectors received from the weighting filter 110 and sends them to a subtractor 175 and a least square error index searcher 170. An adaptive codebook 145 stores the pitch information of the speech signal such as the past synthesized sound source signal of a predetermined several frames received from an adder 205 (which will be described hereinafter). The adaptive codevector in a given frame length cut out in predetermined timings is sent to an in-frame splitter 150. The in-frame splitter 150 splits the adaptive codevector received from the adaptive codebook 145 into, for example, halves and sends the fine splitted adaptive codevector to a synthesis filter 155. The synthesis filter 155 filters the fine splitted adaptive codevector received from the in-frame splitter 150 using the interpolated LPC coefficient set received from the LPC interpolator 142. The weighting filter 160 is used for perceptual weighting the signal vector synthesized by the synthesis filter 155 in accordance with the interpolated LPC coefficient set received from the LPC interpolator 127. The connector 165 includes a similar buffer memory and connects the perceptual weighted splitted adaptive codevector received from the weighted filter 160. The least square error index searcher 170 calculates the square distance of the weighted synthesized adaptive codevector received from the connector 165 and the weighted speech vector received from the connector 115. The weighted synthesized adaptive codevector is sent to the subtractor 175 when the square distance is minimum. The adaptive codevector received from the adaptive codebook 145 is sent to the adder 205 and its index is sent to the multiplexer 300. The subtractor 175 develops the adaptive codebook residual vectors by subtracting the weighted synthesized adaptive codevector received from the least square error index searcher 170 from the weighted speech vector received from the connector 115. The adaptive codebook residual vector is then sent to a least square error index searcher 207. An excitation codebook 180 sends the excitation codevector to an in-frame splitter 185. The in-frame splitter 185 further splits (fine splits) the excitation codevector received from the excitation codebook 180 into, for example, halves and sends the fine splitted excitation codevector to a synthesis filter 190. The synthesis filter 190 filters the splitted excitation codevector received from the in-frame splitter 185 using the interpolated LPC coefficient set received from the LPC interpolator 142. The weighting filter 195 performs perceptual weighting of the synthesized vector received from the synthesis filter 190 using the interpolated LPC coefficient set received from the LPC interpolator 127. The connector 200 connects the weighted synthesized and fine splitted excitation codevectors received from the weighting filter 195 and sends the connected vector to the least square error index searcher 207. The least square error index searcher 207 develops the square distance between the adaptive codebook residual vector received from the subtractor 175 and the weighted synthesized excitation codevector received from the connector 200. When the minimum square distance is searched, the excitation codevector received from the excitation codebook 180 is sent to the adder 205 and its index is sent to the multiplexer 300. The adder 205 adds the adaptive codevector received from the least square error index searcher 170 and the excitation codevector received from the least square error index searcher 207 and supplies the added result to the adaptive codebook 145. The multiplexer 300 combines the outputs from the LPC quantizer/decoder 140 and the least square error index searcher 170 and also the indexes from the least square error index searcher 207 and sends the combined data to an output terminal 305. In the above coding system, the perceptual weighting LPC coefficient sets may be the LPC coefficient sets from the LPC analyzer 135 or the quantized LPC coefficient set. In this case, the perceptual weighting splitter 120 and the LPC analyzer 125 are unnecessary. The LPC interpolator 127 can be eliminated if the LPC coefficient sets for perceptual weighting are obtained by performing linear estimation analysis equal to the number of splits in the frame. The number of in-frame splits may be 1. Also, the LPC analyzer may be modified to perform linear prediction analysis of the speech signal for the predetermined window length (e.g., 20 ms) at every period (e.g., 20 ms) equal to multiple times of the frame length. In the foregoing embodiments, the determination of the searched excitation codevector and adaptive codevector correspond to the determination of the sound source information and the pitch information of the input speech signal. As understood from the above description, the speech coding apparatus according to the present invention performs codebook search using the weighted synthesized square distance splitted in a frame, thereby enabling to provide improved quality as compared to the conventional method.

Claims: A speech coding system comprising: a) means (100) for splitting an input speech signal (10) and generating speech vectors; b) means (105) for further splitting said speech vectors and generating speech subvectors; c) means (110) for weighting said speech subvectors by using weighting filter coefficients; d) means (120, 125, 127) for receiving the input speech signal (10) and for calculating said weighting filter coefficients for each of said speech subvectors; e) means (130, 135, 140, 142) for receiving the input speech signal (10) and for calculating synthesis filter coefficients for each of said speech subvectors; f) adaptive codebook means (145) for storing a plurality of adaptive codevectors each having the same length as said speech vectors, generated on the basis of the sound source signal reproduced in the past; g) means (150, 155, 160, 165) for synthesizing and weighting said adaptive codevectors for each time section corresponding to each speech subvector by using said synthesis filter coefficients and said weighting filter coefficients; h) means (170) for selecting an adaptive codevector for a speech subvector by comparing the weighted speech subvector with said weighted synthesized adaptive codevectors; i) means (180) for storing a plurality of excitation codevectors each having the same length as said speech vectors; l) means (185, 190, 195, 200) for synthesizing and weighting said excitation codevectors for each time section corresponding to each speech subvector by using said synthesis filter coefficients and said weighting filter coefficients; and m) means (175, 207) for selecting an excitation codevector for a speech subvector by comparing said weighted synthesized excitation codevectors with a function of the weighted speech subvector and the subvector obtained by synthesizing and weighting the selected adaptive codevector. The speech coding system according to claim 1, wherein the weighting filter coefficients for each speech subvector are calculated by using, as a weighting filter coefficient corresponding to a speech subvector other than the last part of the speech vector, coefficients obtained by interpolating weighting filter coefficients corresponding to the speech subvector in the last part of a speech vector in the past and weighting filter coefficients corresponding to the speech subvector in the last part of the pertinent speech vector. The speech coding system according to claim 1, wherein LPC coefficients are used as the weighting filter coefficients.

Inventors: SERIZAWA MASAHIRO, SERIZAWA, MASAHIRO, SERIZAWA, MASAHIRO, C/O NEC CORPORATION
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1993
Main classification: G10L19
IPC codes: G10L19