Voice coder system

Abstract: A voice coder system capable of coding at low bit rates under 4.8 kb/s with high speech quality. Speech signals are divided into frames and further divided into subframes. A spectral parameter calculator part (200) calculates spectral parameters representing spectral feature of the speech signals in at least one subframe and a spectral parameter quantization part (210) quantizes the spectral parameters of at least one subframe preselected by using a plurality of stages of quantization code books (211) to obtain quantized spectral parameters. A mode classifier part (245) classifies the speech signals in the frame into a plurality of modes by calculating predetermined feature amounts of the speech signals and a weighting part (230) weights perceptual weights to the speech signals by using the spectral parameters obtained in the spectral parameter calculator part to obtain weighted signals. An adaptive code book part (300) obtains pitch parameters representing pitch periods of the speech signals in a predetermined mode by using the mode classification in the mode classifier part, the spectral parameters obtained in the spectral parameter calculator part, the quantized spectral parameters obtained in the spectral parameter quantization part and the weighted signals and a excitation quantization part (350) searches a plurality of stages of excitation code books and a gain code book (355) by using the spectral parameters, the quantized spectral parameters, the weighted signals and the pitch parameters to obtain quantized excitation signals of the speech signals.

Description: The present invention relates to a voice coder system for coding speech signals at low bit rates, particularly under 4.8 kb/s with high quality. Conventionally, as a coder system for coding speech signals at low bit rates under 4.8 kb/s, a CELP (code excited LPC coding) system has been known, as disclosed in some documents, for example, "Code-Excited Linear Prediction: High Quality Speech At Very Low Bit Rates" by M. Schroeder and B. Atal, Proc. ICASSP, pp. 939-940, 1985 (Document 1), "Improved Speech Quality And Efficient Vector Quantization In SELP" by Kleijin et al., Proc. ICASSP, pp. 155-158, 1988 (Document 2) and the like. In this system, a linear prediction analysis of speech signals is carried out per each frame (for example, 20 ms) on a transmitter side to extract spectral parameters representing spectral characteristics of the speech signals. Then the frame is further divided into subframes (for example, 5 ms) and parameters such as delay parameters or gain parameters in an adaptive code book are extracted based on past excitation signals per each subframe. Then, by the adaptive code book, a pitch prediction of the speech signals of the subframes is executed and against a residual signal obtained by the pitch prediction, an optimum excitation code vector is selected from an excitation code book (vector quantization code book) composed of predetermined kinds of noise signals to calculate an optimum gain. The selection of the optimum excitation code vector is conducted so as to minimize an error power between a signal synthesized from the selected noise signal and the aforementioned residual signal. Afterwards, an index representing the kind of the selected excitation code vector and the optimum gain as well as the parameters extracted from the adaptive code book are transmitted. A description on a receiver side is omitted. In the above-described conventional system disclosed in the Documents 1 and 2, a sufficiently large size (for example, 10 bits) of the excitation code book is required for obtaining good speech quality. Accordingly, vast amounts of calculations are required for the search of the excitation code book. Further, a necessary memory capacity is also vast (for example, in case of 10 bits 40 dimensions, a memory capacity of 40 K words) and thus it is difficult to realize a compact hardware. Also, when increasing the frame length and the subframe length in order to reduce the bit rate and increasing the dimension number without reducing the bit number of the excitation code book, the calculation amount is quite remarkably increased. As a method for reducing the size of the code book, for example, as disclosed in "Multiple Stage Vector Quantization For Speech Coding" by B. Juang et al., Proc. ICASSP, pp. 597-600, 1982 (Document 3), there is a multiple stage vector quantization method wherein the code book is divided into multiple stages to be composed of multiple stages of subcode books and each subcode book is independently searched. In this method, since the code book is divided into a plurality of stages of the subcode books, the size of the subcode book per one stage is reduced to, for example, B/L bits (B represents the whole bit number and L represents the stage number) and thus the calculation amount required for the search of the code book is reduced to L x 2 B/L in comparison with one stage of B bits. Further, the necessary memory capacity for storing the code book is also reduced. However, in this method, each stage of the subcode book is independently learned and searched, and the performance is largely dropped as compared with one stage of B bits. ICASSP 86, vol. 3, April 1986, Tokyo, JP, pages 1697-1700, S. Iai et al., "8 kbit/s speech coder with pitch adaptive vector quantizer" discloses a speech coder with pitch adaptive vector quantizer, which efficiently quantizes the speech wave form in the time domain. The codebook of the pitch adaptive vector quantizer is classified into sub-groups each of which has the same maximum absolute magnitude (pitch peak) position. Each input vector is encoded by referring to the sub-group codebook having the same pitch peak position as that of the input vector, instead of referring to the whole codebook. If the codebook size of the pitch adaptive vector quantizer is equal to that of the conventional full-search vector quantizer, computational complexity of the quantizer is reduced much less than that of the conventional VQ. Signal Processing VI, EUSIPCO-92, vol. 1, no. 24, August 1992, Brussels, pages 319-322, C. O'Neill et al., "An efficient algorithm for pitch prediction using fractional delays" discloses an efficient algorithm to implement pitch prediction with fractional delays in CELP speech coders. This algorithm uses an interpolated adaptive codebook implemented as multiple interleaved sub-codebooks. This allows the use of the recursive energy method with end-point correction to calculate the minimum weighted mean square error. The algorithm is extended to include a method for dealing with pitch delays which are less than the analysis sub-frame. The complexity of the search is identical to the search complexity for pitch prediction using integer delays with the same size adaptive codebook. It is therefore an object of the present invention to provide a voice coder system, free from the aforementioned problems of the prior art, which is capable of coding speech signals at low bit rates, particularly under 4.8 kb/s with good speech quality by a relatively small quantity of calculation and memory capacity. In accordance with one aspect of the present invention, there is provided a voice coder system, comprising spectral parameter calculator means for dividing input speech signals into frames and further dividing the speech signals into a plurality of subframes at every predetermined timing, and calculating spectral parameters representing spectral features of the speech signals in at least one subframe; spectral parameter quantization means for quantizing the spectral parameters of at least one subframe preselected by using a plurality stages of quantization code books to obtain quantized spectral parameters; mode classifier means for classifying the speech signals in the frame into a plurality of modes by calculating predetermined feature amounts of the speech signals; weighting means for weighting perceptual weights to the speech signals depending on the spectral parameters obtained in the spectral parameter calculator means to obtain weighted signals; adaptive code book means for obtaining pitch parameters representing pitches of the speech signals corresponding to the modes depending on the mode classification in the mode classifier means, the spectral parameters obtained in the spectral parameter calculator means, the quantized spectral parameters obtained in the spectral parameter quantization means and the weighted signals; and excitation quantization means for searching a plurality of stages of excitation code books and a gain code book depending on the spectral parameters, the quantized spectral parameters, the weighted signals and the pitch parameters to obtain quantized excitation signals of the speech signals. In the voice coder system, the mode classifier means can include means for calculating pitch prediction distortions of the subframes from the weighted signals obtained in the weighting means and means for executing the mode classification by using a cumulative value of the pitch prediction distortions throughout the frame. In the voice coder system, the spectral parameter quantization means can include means for switching the quantization code books depending on the mode classification result in the mode classifier means when the spectral parameters are quantized. In the voice coder system, the excitation quantization means can include means for switching the excitation code books and the gain code book depending on the mode classification result in the mode classifier means when the excitation signals are quantized. In the excitation quantization means, at least one stage of the excitation code books includes at least one code book having a predetermined decimation rate. Next, the function of a voice coder system according to the present invention will be described. Input speech signals are divided into frames (for example, 40 ms) in a frame divider part and each frame of the speech signals is further divided into subframes (for example, 8 ms) in a subframe divider part. In a spectral parameter calculator part, a well-known LPC analysis is applied to at least one subframe (for example, the first, third and/or fifth subframes of the 5 subframes) to obtain spectral parameters (LPC parameters). In a spectral parameter quantization part, the LPC parameters corresponding to a predetermined subframe (for example, the fifth subframe) are quantized by using a quantized code book. In this case, any of a vector quantized code book, a scalar quantized code book and a vector-scalar quantized code book can be used as the code book. Next, in a mode classifier part, predetermined feature amounts are calculated from the speech signals of the frame and the obtained values are compared with predetermined threshold values. Based on the comparison results, the speech signals are classified into a plurality of kinds of modes (for example, 4 kinds) every frame. Then, in a perceptual weighting part, by using the spectral parameters a i (i = 1 to P) of the first, third and fifth subframes, perceptual weighting signals are calculated according to formula (1) every subframe. However, for example, the spectral parameters of the second and fourth subframes are calculated by a linear interpolation of the spectral parameters of the first and third subframes and of the third and fifth subframes, respectively. wherein x(z) and X w (z) represent z-transforms of the speech signals and the perceptual weighting signals of the frame, P represents a dimension of the spectral parameters and η, γ represents a constant for controlling a perceptual weighting amount, for example, usually selected to approximately 1.0 and 0.8 respectively. Next, in an adaptive code book part, a delay T and a gain β as parameters concerning a pitch are calculated against the perceptual weighting signals every subframe. In this case, the delay corresponds to a pitch period. The aforementioned Document 2 can be referred to for a calculation method of the parameters of the adaptive code book. Also, in order to improve the performance of the adaptive code book against a female speaker in particular, the delay per each subframe can not be represented by an integer value but a decimal value of every sampling time. More specifically, a paper entitled "Pitch predictors with high temporal resolution" by P. Kroon and B. Atal, Proc. ICASSP, pp. 661-664, 1990 (Document 4) or the like can be referred to. In this manner, for example, for representing the delay amount of each subframe by the integer value, 7 bits are required. However, for representing the delay amount by the fractional value, the necessary bit number increases to approximately 8 bits but the female speech can he remarkably improved. Further, in order to reduce the calculation amount relating to the calculation of the parameters of the adaptive code book, first, against the perceptual weighting signals, a plurality of kinds of proposed delays are obtained every subframe in order from maximizing formula (2) by an open loop search. D(T) = P 2 (T)/Q(T) But As described above, at least one kind of the proposed delay is obtained every subframe by the open loop search and thereafter the neighbor of this proposed value is searched every subframe by a closed loop search using drive excitation signals of a past frame to obtain a pitch period (delay) and a gain. (For a more specific method, reference is made to, e.g., JP-A-4-270 398 (Document 5) or the like.) In a vocal section, the delay amount of the adaptive code book is extremely highly correlated between the subframes and by taking a delay amount difference between the subframes and transmitting this difference, a transmission amount required for transmitting the delay of the adaptive code book can be largely reduced in comparison with a method for transmitting the delay amount every subframe independently. For instance, when the delay amount represented by 8 bits is transmitted in the first subframe and the difference from the delay amount of the just previous subframe is transmitted by 3 bits in the second to fifth subframes every frame, a transmission information amount can be reduced from 40 to 20 bits per each frame in comparison with a case that the delay amount is transmitted by 8 bits in all subframes. Next, in an excitation quantization part, excitation code books composed of a plurality stages of vector quantization code books are searched to select a code vector every stage so that an error power between the above-described weighting signal and a weighted reproduction signal calculated by each code vector in the excitation code books may be minimized. For example, when the excitation code books are composed of two stages of code books, the search of the code vector is carried out according to formula (5) as follows. In this formula, βv(n-T) represents the adaptive code vector calculated in the closed loop search of the adaptive code book part and β represents the gain of the adaptive code vector. Further, C 1j (n) and C 2i (n) represent the j-th and i-th vectors of the first and second code books, respectively. Also, h w (n) represents impulse responses indicating characteristics of the weighting filter of formula (6). Also, γ 1 and γ 2 represent the optimum gains concerning the first and second code books, respectively. wherein η and γ represent constants for controlling the perceptual weighting signals of formula (1). Next, after the code vector for minimizing formula (5) of the excitation code books is searched, the gain code book is searched so as to minimize formula (7) as follows. wherein γ 1k , γ 2k represent k-th gain code vectors of the two-dimensional gain code book. In order to reduce the calculation amount when searching the optimum code vectors of the excitation code books, a plurality of kinds of proposed excitation code vectors (for example, m 1 kinds for the first stage and m 2 kinds for the second stage) can be selected and then all combinations (m 1 × m 2 ) of the first and second stages of the proposed values can be searched to select a combination of the proposed values minimizing formula (5). Also, when the gain code book is searched, the gain code book can be searched against all the combinations of the above-described proposed excitation code vectors or a predetermined number of the combinations of the proposed excitation code vectors selected from all the combinations in a small number order of the error power according to formula (7) to obtain the combination of the gain code vector and the excitation code vector for minimizing the error power. In this way, the calculation amount is increased but the performance can be improved. Next, in the mode classifier part, a cumulative pitch prediction distortion as the feature amount is used. First, against the proposed pitch periods T selected every subframe by the open loop search in the adaptive code book part. pitch prediction error distortions as pitch prediction distortions are obtained every subframe according to formula (8) as follows. wherein 1 represents the subframe number. According to formula (9), the cumulative prediction error power of the whole frame is obtained and this value is compared with predetermined threshold values to classify the speech signals into a plurality of modes. For example, when the modes are classified into 4 kinds, 3 kinds of the threshold values are determined and the value of formula (9) is compared with the 3 kinds of the threshold values to carry out the mode classification. In this case, as the pitch prediction distortions, pitch prediction gains or the like can be used in addition to the above description. In the spectral parameter quantization part, spectrum quantization code books with respect to training signals are prepared against some modes classified in the mode classifier part in advance and when coding, the spectrum quantization code books are switched for using by using the mode information. In this manner, the memory capacity for storing the code books is increased by the switching kinds but it becomes equivalent to providing a larger size of code books as the whole sum. As a result, the performance can be improved without increasing the transmission information amount. In the excitation quantization part, the training signals are classified into the modes in advance and different excitation code books and gain code books are prepared for every predetermined mode in advance. When coding, the excitation code books and the gain code books are switched for using by using the mode information. In this way, the memory capacity for storing the code books is increased by the switching kinds but it becomes equivalent to providing a larger size of code books as the whole sum. Hence, the performance can be improved without increasing the transmission information amount. Further, in the excitation quantization part, at least one stage of the plurality stages of the code books has a regular pulse construction with a decimation rate (for example, decimation rate = 2) whose code vector elements are predetermined. Now, assuming that the decimation rate = 1, a usual structure is obtained. By such a construction, the memory amount required for storing the excitation code books can be reduced to 1/decimation rate (for example, reduced to 1/2 in case of decimation rate = 2). Also, the calculation amount required for the excitation code book search can be reduced to nearly below 1/decimation rate. Further, by decimating the elements of the excitation code vectors to make pulses, in vowel parts of the speech or the like, in particular, auditorily important pitch pulses can be expressed well and thus the speech quality can be improved. The objects, features and advantages of the present invention will become more apparent from the consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which: Fig. 1 is a block diagram of a first embodiment of a voice coder system according to the present invention; Fig. 2 is a block diagram of a second embodiment of a voice coder system according to the present invention; Fig. 3 is a block diagram of a third embodiment of a voice coder system according to the present invention; Fig. 4 is a block diagram of a fourth embodiment of a voice coder system according to the present invention; and Fig. 5 is a timing chart showing a regular pulse used in the fourth embodiment shown in Fig. 4. Referring now to the drawings, wherein like reference characters designate like or corresponding parts throughout the views and thus the repeated description thereof can be omitted for brevity, there is shown in Fig. 1 the first embodiment of a voice coder system according to the present invention. As shown in Fig. 1, in the voice coder system, speech signals input from an input terminal 100 are divided into frames (for example, 40 ms per each frame) in a frame divider circuit 110 and are further divided into subframes (for example, 8 ms per each subframe) shorter than the frames in a subframe divider circuit 120. In a spectral parameter calculator circuit 200, the speech signals of at least one subframe are covered with a long window (for example, 24 ms) longer than the subframe to cut out the speech and the spectral parameters are calculated at a predetermined dimension (for example, dimension P = 10). The spectral parameters largely vary temporally in a transient interval, particularly, between a consonant and a vowel and hence it is desirable to carry out an analysis every short time. However, by such an analysis per short time, the calculation amount required for the analysis increases and thus the spectral parameters are calculated against an L (> 1) number of some subframes (for example, L = 3; the first, third and fifth subframes) within the frame. In the not-analyzed subframes (such as the second and fourth subframes), the respective spectral parameters for the second and fourth subframes are calculated by a linear interpolation on an LSP described hereinafter by using the spectral parameters of the first and third subframes and of the third and fifth subframes. In this case, for the calculation of the spectral parameters, a well-known LPC analysis, a Burg analysis or the like can be used. In this embodiment, the Burg analysis is used. In detail, the Burg analysis is described, for example, in a book entitled "Signal Analysis and System Identification" by Nakamizo, Corona Publishing Ltd., pp. 82-87, 1988 (Document 6). Further, in the spectral parameter calculator circuit 200, linear prediction coefficients α i (i = 1 to 10) calculated by the Burg method are transformed into linear spectral pair (LSP) parameters suitable for quantization and interpolation. The conversion of the linear prediction factors to the LSP parameters, for example, is executed by using a method disclosed in a paper entitled as "Speech Information Compression by Linear Spectral Pair (LSP) Speech Analysis Synthesizing System" by Sugamura et al., Institute of Electronics and Communication Engineers of Japan Proceedings, J64-A, pp. 599-606, 1981 (Document 7). That is, the linear prediction factors obtained by the Burg method in the first, third and fifth subframes are transformed into the LSP parameters and the LSP parameters of the second and fourth subframes are calculated by the linear interpolation. The LSP parameters of the second and fourth subframes are restored to the linear prediction coefficients by an inverse transformation and the linear prediction factors α i1 (i = 1 to 10, 1 = 1 to 5) of the first to fifth subframes are output to a perceptual weighting circuit 230. Also, the LSP parameters of the first to fifth subframes are fed to a spectral parameter quantization circuit 210 having a code book 211. In the spectral parameter quantization circuit 210, the LSP parameters of the predetermined subframes are effectively quantized. In this embodiment, by using a vector quantization as the quantizing method, the LSP parameters of the fifth subframe are quantized. For the method of the vector quantization of the LSP parameters, well-known methods can be used. (For example, refer to JP-A-4-171500 (Document 8), JP-A-4-363 000 (Document 9), JP-A-5-6199 (Document 10) and the like). Further, in the spectral parameter quantization circuit 210, based on the quantized LSP parameters of the fifth subframe, the LSP parameters of the first to fourth subframes are restored. In this embodiment, by the linear interpolation of the quantized LSP parameters of the fifth subframe in the present frame and the quantized LSP parameters of the fifth subframe in one past frame, the LSP parameters of the first to fourth subframes are restored. That is, after one kind of a code vector for minimizing the LSP parameters before the quantization and the error power of the LSP parameters after the quantization is selected, the LSP parameters of the first to fourth subframes can be restored by the linear interpolation. In order to further improve the performance, after a plurality of proposed code vectors for minimizing the error power are selected, a cumulative distortion for the proposed code vectors is evaluated according to formula (10) shown below and a set of the proposed code vectors for minimizing the cumulative distortion and interpolation LSP parameters can be selected. wherein lsp il , lsp' l represent the LSP parameters of the ℓ-th subframe before the quantization and the LSP parameters of the ℓ-th subframe restored after the quantization, respectively, and b il represents the weighting factors obtained by applying formula (11) to the LSP parameters of the ℓ-th subframe before the quantization. b il = (l/[lsp i, l - lsp i - l, l ]) + (l/[lsp i + l, l - lsp i, l ]) Also, c i is the weighting factors in the degree direction of the LSP parameters and, for instance, can be obtained by using formula (12) as follows. ci = 1.0(i = 1 to 8), 0.8(i = 9 to 10) The LSP parameters of the first to fourth subframes, restored as described above and the quantized LSP parameters of the fifth subframe are transformed into linear prediction factors α' il (i = 1 to 10, l = 1 to 5) every subframe and the obtained linear prediction factors are output to an impulse response calculator circuit 310. Also, an index representing a code vector of the quantized LSP parameters of the fifth subframe is sent to a multiplexer (MUX) 400. In the above-described operation, in place of the linear interpolation, a predetermined bit number (for example, 2 bits) of storage patterns of the LSP parameters is prepared and the LSP parameters of the first to fourth subframes are restored with respect to these patterns to evaluate formula (10). And a set of the code vectors for minimizing formula (10) and the interpolation patterns can be selected. In this manner, the transmission information for the bit number of the storage patterns increases. However, the temporal change of the LSP parameters within the frame can be more precisely expressed. In this case, the storage patterns can be learned and prepared in advance by using the LSP parameter data for training or predetermined patterns can be stored. In a mode classifier circuit 245, as feature amounts for carrying out a mode classification, prediction error powers of the spectral parameters are used. The linear prediction factors for the 5 subframes, calculated in the spectral parameter calculator circuit 200 are input and transformed into K parameters and a cumulative prediction error power E of the 5 subframes is calculated according to formula (13) as follows. wherein G 1 is represented as follows. In this formula, P 1 represents a power of the input signal of the first subframe. Next, the cumulative prediction error power E is compared with predetermined threshold values to classify the speech signals into a plurality kinds of modes. For example, when classifying into four kinds of modes, the cumulative prediction error power is compared with three kinds of threshold values. The mode information obtained by the classification is output to an adaptive code book circuit 300 and the index (in case of four kinds of modes, 2 bits) representing the mode information is output to the multiplexer 400. The perceptual weighting circuit 230 inputs the linear prediction factors α il (i = 1 to 10, l = 1 to 5) every subframe from the spectral parameter calculator circuit 200 and executes a perceptual weighting against the speech signals of the subframes according to formula (1) to output perceptual weighting signals. A response signal calculator circuit 240 inputs the linear prediction factors α il in each subframe from the spectral parameter calculator circuit 200, also inputs the linear prediction factors α' il which are quantized and restored by the interpolation, in each subframe from the spectral parameter quantization circuit 210, and calculates response signals x 2 (n) for one subframe by using values stored in a filter memory when it is considered that the input signal d(n) = 0 to output the calculation result to a subtracter 250. In this case, the response signals x 2 (n) are shown by formula (15) as follows. wherein γ represents the same value as that indicated in formula (1). The subtracter 250 subtracts the response signals of one subframe from the perceptual weighting signals according to formula (16) to obtain signals x w '(n) which are sent to the adaptive code book circuit 300. x w '(n) = x w (n) - x 2 (n) The impulse response calculator circuit 310 calculates a predetermined point number L of impulse responses h w (n) of weighting filters, whose z-transform is represented by formula (17) and outputs the calculation result to the adaptive code book circuit 300 and a excitation quantization circuit 350. The adaptive code book circuit 300 inputs the mode information from the mode classifier circuit 245 and obtains a pitch parameter only in the case of the predetermined mode. In this case, there are four modes and, assuming that the threshold values at the mode classification increase from mode 0 to mode 3, it is considered that mode 0 and modes 1 to 3 correspond to a consonant part and a vowel part, respectively. Hence, the adaptive code book circuit 300 is to seek the pitch parameters only in the case of mode 1 to mode 3. First, in an open loop search, against the output signals of the perceptual weighting circuit 230, a plurality of kinds (for example, M kinds) of proposed integer delays for maximizing formula (2) every subframe are selected. Further, in a short delay area (for example, delay of 20 to 80), by using the aforementioned Document 4 or the like against each proposed value, near the integer delays, a plurality kinds of proposed fractional delays are obtained and lastly at least one kind of the proposed fractional delay for maximizing formula (2) is selected every subframe. In the following, for simplifying the description, it is assumed that the proposed number is one kind and one kind of delay selected every subframe is d l (l = 1 to 5). Next, in a closed loop search, based on drive excitation signals v(n) of the past frame, formula (18) is evaluated against predetermined several points ε near d l every subframe to obtain the delay maximizing its value every subframe and an index I d representing the delay is output to the multiplexer 400. Also, according to formula (21), adaptive code vectors are calculated to output the calculated adaptive code vectors to the excitation quantization circuit 350. D'(d l + ε) = P' 2 (d l + ε)/Q(d l + ε) But wherein h w (n) is the output of the impulse response calculator circuit 310 and symbol (*) denotes the convolutional operation . q(n) = β · v {n-(d l + ε)} · h w (n) wherein β = P' (d l + ε)/Q(d l + ε) Further, as described above in the function of the present invention, in a vocal section (for example, mode 1 to mode 3), a delay difference between the subframes can be taken and the difference can be transmitted. In such a construction, for instance, 8 bits can be transmitted by the fractional delay of the first subframe in the frame and the delay difference from the previous subframe can be transmitted by 3 bits per each subframe in the second to fifth subframes. Also, at the open loop delay search time, in the second to fifth subframes, an approximate value of the delay of the previous frame is to be searched for 3 bits and the proposed delays are not further selected every subframe but the cumulative error power for 5 subframes is obtained against the path of the 5 subframes of the proposed delays. Also, the path of the proposed delay for minimizing this cumulative error power is obtained to output the obtained path to the closed loop search. In the closed loop search, the neighbor of the delay value obtained by the closed loop search in the previous subframe is searched for 3 bits to obtain the final delay value and the index corresponding to the obtained delay value every subframe is output to the multiplexer 400. The excitation quantization circuit 350 inputs the output signal of the subtracter 250, the output signal of the adaptive code book circuit 300 and the output signal of the impulse response calculator circuit 310 and firstly carries out a search of a plurality of stages of vector quantization code books. In Fig. 1, a plurality of kinds of the vector quantization code books are shown as excitation code books 351 l to 351 N . In the following explanation, for simplifying the description, it is assumed that the stages are determined to be 2. The search of each stage of code vectors is carried out according to formula (23) obtained by correcting formula (5). wherein x w '(n) is the output signal of the subtracter 250. Also, in mode 0, since the adaptive code book is not used, in stead of formula (23), a code vector for minimizing formula (24) is searched. There are various methods for searching the first and second stages of code vectors for minimizing formula (23). In this case, a plurality of proposed values are selected from the first and second stages and thereafter a search of a set of both the proposed values is executed to decide a combination of the proposed values for minimizing the distortion of formula (23). Also, the first and second stages of the vector quantization code books are previously designed by using a large amount of speech database in consideration of the aforementioned searching method. The indexes I C1 and I C2 of the first and second stages of the code vectors determined as described above are output to the multiplexer 400. Further, the excitation quantization circuit 350 also executes a search of a gain code book 355. In mode 1 to mode 3 using the code books, the gain code book 355 performs a search by using the determined indexes of the excitation code books 351 l to 351 N so as to minimize formula (25). In this case, the gains of the adaptive code vectors and the gains of the first and second stages of the excitation code vectors are to be quantized by using the gain code book 355. Now, (β k , γ 1k , γ 2k ) is its k-th code vector. In order to minimize formula (25), for instance, a gain code vector for minimizing formula (25) against the whole gain code vectors (k = 0 to 2 B -1) can be obtained. Alternatively, a plurality of kinds of proposed gain code vectors are preliminarily selected and the gain code vector for minimizing formula (25) can be selected from the plurality kinds. After the decision of the gain code vectors, an index I z representing the selected gain code vector is output. On the other hand, in the mode not using the adaptive code book, the gain code book 355 is searched so as to minimize formula (26) as follows. In this case, a two-dimensional gain code book is used. A weighting signal calculator circuit 360 inputs the parameters output from the spectral parameter calculator circuit 200 and the respective indexes and reads out the code vectors corresponding to the indexes to calculate firstly the drive excitation signals v(n) according to formula (27) as follows. v(n) = β'v(n-d) + γ' 1 c 1 (n) + γ' 2 c 2 (n) However, in the mode not using the adaptive code book, it is considered that β' = 0. Next, by using the parameters output from the spectral parameter calculator circuit 200 and the parameters output from the spectral parameter quantization circuit 210, the weighting signals S w (n) are calculated per each subframe according to formula (28) to output the calculated weighting signals to the response signal calculator circuit 240. Fig. 2 illustrates the second embodiment of a voice coder system according to the present invention. This embodiment concerns a mode classifier circuit 410. In this embodiment, in place of the adaptive code book circuit 300 of the first embodiment, there is provided an adaptive code book circuit 420 including an open loop calculator circuit 421 and a closed loop calculator circuit 422. In Fig. 2, the open loop calculator circuit 421 calculates at least one kind of proposed delay every subframe according to formulas (2) and (3) and outputs the obtained proposed delay to the closed loop calculator circuit 422. Further, the open loop calculator circuit 421 calculates the pitch prediction error power of formula (29) every subframe as follows. The obtained value P G1 is output to the mode classifier circuit 410. The closed loop calculator circuit 422 inputs the mode information from the mode classifier circuit 410, at least one kind of the proposed delay of every subframe from the open loop calculator circuit 421 and the perceptual weighting signals from the perceptual weighting circuit 230 and executes the same operation as the closed loop search part of the adaptive code book circuit 300 of the first embodiment. The mode classifier circuit 410 calculates the cumulative prediction error power E G as the characterizing amount according to formula (30) and compares this cumulative prediction error power E G with a plurality kinds of threshold values to classify the speech signals into the modes and the mode information is output. Fig. 3 shows the third embodiment of a voice coder system according to the present invention. In this embodiment, as shown in Fig. 3, a spectral parameter quantization circuit 450 including a plurality of kinds of quantization code books 451 0 to 451 M-1 for a spectral parameter quantization inputs the mode information from the mode classifier circuit 445 and uses the quantization code books 451 0 to 451 M-1 by switching the quantization code books in every predetermined mode. In the quantization code books 451 0 to 451 M-1 , a large amount of spectral parameters for training is classified into the modes in advance and the quantization code books can be designed for every predetermined mode. In this embodiment, with such a construction, while the transmission information amount of the indexes of the quantized spectral parameters and the calculation amount of the code book search can be kept in the same manner as the first embodiment shown in Fig. 1, it is nearly equivalent to becoming several times of a code book size and hence the performance of the spectral parameter quantization can be largely improved. Fig. 4 illustrates the fourth embodiment of a voice coder system according to the present invention. In this embodiment, as shown in Fig. 4, a excitation quantization circuit 470 includes M (M > 1) sets of N (N > 1) stages of excitation code books 471 10 to 471 1M-1 , excitation code books 471 N0 to 471 NM-1 , (total N × M kinds) and M sets of gain code books 481 0 to 481 M-1 . In the excitation quantization circuit 470, by using the mode information output from the mode classifier circuit 245, in a predetermined mode, the N stages of the excitation code books in a predetermined j-th set within the M sets are selected and the gain code book of the predetermined j-th set is selected to carry out the quantization of the excitation signals. When the excitation code books and the gain code books are designed, a large amount of speech detabase is classified every mode in advance and by using the above-described method, the code books can be designed for every predetermined mode. By using these code books, while the excitation code books, the transmission information amount of the indexes of the gain code books and the calculation amount of the excitation code book search can be maintained in the same manner as the first embodiment shown in Fig. 1, it is nearly equivalent to becoming M times of the code book size and hence the performance of the excitation quantization can be largely improved. In the excitation quantization circuit 470 shown in Fig. 4, the N stages of the code books are provided and at least one stage of these code books has a regular pulse construction of a predetermined decimation rate, as shown in Fig. 5. In Fig. 5, one example of a decimation rate m = 2 is shown. By using the regular pulse construction, in a position where an amplitude is zero, the calculation processing is unnecessary and thus the calculation amount required for the code book search can be reduced to approximately 1/m. Further, there is no need to store the code books in the position where the amplitude is zero and hence the necessary memory amount for storing the code books can be reduced to approximately 1/m. Details of the regular pulse construction are disclosed in a paper entitled as "A 6 kbps Regular Pulse CELP Coder for Mobile Radio Communications" by M. Delprat et al., edited by Atal, Kluwer Academic Publishers, pp. 179-188, 1990 (Document 11) or the like and the detailed description can be omitted for brevity. The code books of the regular pulse construction are also trained in advance in the same manner as the above-described method. Further, the amplitude patterns of different phases are expressed as the patterns in common to design the code books and at the coding time, by using the code books by shifting only the phase in temporal, in case of m = 2, the memory amount and the calculation amount can be further reduced to 1/2. Moreover, in order to reduce the memory amount, a multi-pulse construction can be used in addition to the regular pulse construction. According to the present invention, various changes and modifications can be made in the above-described embodiments. For example, first, as the spectral parameters, other well-known parameters can be used in addition to the LSP parameters. Further, in the spectral parameter calculator circuit 200, when the spectral parameters are calculated in at least one subframe within the frame, an RMS change or a power change between the previous subframe and the present subframe is measured and based on the change, the spectral parameters against a plurality of the large subframes can be calculated. In this manner, at the speech change point, the spectral parameters are necessarily analyzed and hence, even when the subframe number to be analyzed is reduced, a degradation of the performance can be prevented. For the quantization of the spectral parameters, a well-known method such as a vector quantization, a scalar quantization, a vector-scalar quantization or the like can be used. As to the selection of the interpolation pattern in the spectral parameter quantization circuit, other well-known distance scales can be used in addition to formula (10). For instance, formula (31) can be used as follows. wherein In this formula, RMS l is the RMS or the power of the ℓ-th subframe. Further, in the excitation quantization circuit, the gains γ 1 and γ 2 can be equal in formulas (23) to (26). In this case, in the mode using the adaptive code books, the gain code book is of the two-dimensional gain and in the mode not using the adaptive code books, the gain code book is of one-dimensional gain. Also, the stage number of the excitation code books, the bit number of the excitation code books of each stage or the bit number of the gain code book can be changed every mode. For example, mode 0 can be of three stages and mode 1 to mode 3 can be of two stages. Moreover, for example, when the construction of the excitation code books is of two stages, the second stage of the code book is designed corresponding to the first stage of the code book and the code books to be searched in the second stage can be switched depending on the code vector selected in the first stage. In this case, the memory amount is increased but the performance can be further improved. Also, in the search of the sound source code books and the training of the same, other well-known measure as the distance measure can be used. Further, concerning the gain code book, the code book having a several times larger size in whole than the transmission bit number is trained in advance and a partial area of this code book is assigned to a use area every predetermined mode. When coding, the use area can be used by switching the same depending on the modes. Furthermore, although a convolutional calculation is carried out at the searches in the adaptive code book circuit and the excitation quantization circuit like formulas (19) to (21) and formulas (23) to (26), respectively, by using the impulse responses h w (n), this can be also performed by a filtering calculation by using the weighting filter whose transfer characteristics can be represented by formula (6). In this way, the calculation amount is increased but the performance can be further improved. As described above, according to the present invention, the speech is classified into the modes by using the feature amounts of the speech, and the quantization methods of the spectral parameters, the operations of the adaptive code books and the excitation quantization methods are switched depending on the modes. As a result, high speech quality can be obtained at lower bit rates as compared with the conventional system. While the present invention has been described with reference to the particular illustrative embodiments, it is not to be restricted by those embodiments but only by the appended claims. It is to be appreciated that those skilled in the art can change or modify the embodiments without departing from the scope of the present invention as defined by the appended claims.

Claims: A voice coder system, comprising: spectral parameter calculator means (200) for dividing an input speech signal into frames and further dividing each frame into a plurality of subframes of equal length, and calculating spectral parameters representing spectral features of the speech signal in at least two selected subframes of each frame and for obtaining spectral parameters for the remaining subframes of the frame by interpolation; spectral parameter quantization means (210) for quantizing the spectral parameters of at least one preselected subframe of each frame by using a plurality of stages of quantization code books to obtain quantized spectral parameters, and for obtaining quantized spectral parameters for the remaining subframes of the frame by interpolation; mode classifier means (245,410,445) for classifying the speech signal in each frame into one of at least three modes by calculating predetermined feature amounts of the speech signal, and by comparing said calculated feature amounts with predetermined threshold values; calculating means for weighting perceptual weights to the speech signal for each subframe depending on the spectral parameters obtained in the spectral parameter calculator means (200) to obtain weighted signals; adaptive code book means (300, 420) for obtaining pitch parameters for each subframe representing pitches of the speech signal according to the mode selected by the mode classifier means, the spectral parameters obtained in the spectral parameter calculator means, the quantized spectral parameters obtained in the spectral parameter quantization means and the weighted signals; and excitation quantization means (350) for searching a plurality of stages of excitation code books (351 l to 351 N ) and a gain code book (355) depending on the spectral parameters, the quantized spectral parameters, the weighted signals and the pitch parameters to obtain quantized excitation signals of the speech signal. The voice coder system as claimed in claim 1, wherein the mode classifier means (245, 410, 445) includes means for calculating pitch prediction distortions of the subframes from the weighted signals obtained in the calculating means (360) and means for executing the mode classification by using a cumulative value of the pitch prediction distortions throughout the frame. The voice coder system as claimed in claim 1 or 2, wherein the spectral parameter quantization means (210) includes means for switching the quantization code books depending on the mode classification result in the mode classifier means when the spectral parameters are quantized. The voice coder system as claimed in any of claims 1 to 3, wherein the excitation quantization means (350) includes means for switching the excitation code books (351 l to 351 N ) and the gain code book (355) depending on the mode classification result in the mode classifier means when the excitation signals are quantized. The voice coder system as claimed in any of claims 1 to 4, wherein in the excitation quantization means (350), at least one stage of the excitation code books includes at least one code book having a predetermined decimation rate.

Inventors: OZAWA KAZUNORI, OZAWA, KAZUNORI, OZAWA, KAZUNORI, C/O NEC CORPORATION
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1994
Main classification: G10L9
IPC codes: G10L19