Speech coding device

Abstract: A speech coding device in which an excitation signal of speech signals is expressed as a sum of a plurality of pulse strings, and positions of the pulse strings are selected from predetermined pulse position candidates to determine the excitation signal so that distortion between an input speech signal and a reproduced speech signal obtained by exciting a synthetic filter using the excitation signal may be minimized, resulting in obtaining reproduced speech signals with high quality in a small operational amount. In a pulse searcher (58), a pulse generating section (11 to 15) outputs a plurality of pulse strings, and a pulse searching section (21 to 24, 31 to 34, 41, 42) sequentially searches the pulse strings to determine the positions of the plurality of pulse strings constituting the excitation signal. One pulse searching section (21 to 24) searches using a Viterbi algorithm. Another pulse searching section (31 to 34) preliminarily searches in a tree shape of pulse position candidates. Another pulse searching section (41, 42) searches every pulse position candidate group.

Description: BACKGROUND OF THE INVENTION The present invention relates to a speech coding device capable of determining an excitation signal so as to minimize distortion between a reproduction speech signal and an input speech signal, and more particularly to a speech coding device for coding speech signals with high speech quality by a low operational amount. Description of the Related Art As a conventional coding system for speech signals at low bit rates of equal to or less than 4.8 kbits/sec. for example, a CELP (code-excited linear prediction) coding system has been known, as disclosed in "Code-Excited Linear Prediction: High-Quality Speech At Very Low Bit Rates", by M.R. Schroeder and B. S. Atal, Proc. ICASSP, pp. 937-940, 1985 (the first Document), and "Improved Speech Quality And Efficient Vector Quantization In CELP", by W.B. Kleijin, D.J. Krasinski and R.H. Ketchum, Proc. ICASSP, pp. 155-158, 1988 (the second Document). In this CELP coding system, when coding on a transmitter side, first, spectral parameters representing spectral characteristics of speech signal are extracted from the speech signal using a LPC (linear predictive coding) analysis, for example, every frame of 20 ms composed of the speech signals. Further, the frame is divided into, for example, subframes of 5 ms, and parameters (a delay parameter and a gain parameter corresponding to a pitch cycle) are extracted based on an excitation signal for every frame using an adaptive codebook. In the CELP coding system, the speech signals of the above described subframes are predicted from the adaptive codebook, and the optimum random code vector is selected from a random codebook (a vector quantized codebook) consisting of predetermined kinds of noise signals to calculate the optimum gain, resulting in quantizing the excitation signal. On this occasion, the optimum random code vector is selected so that an error power between the input speech signal and the reproduced speech signal synthesized by considering the selected random code vector as the excitation signal may be minimized. The gain and the index representing the kind of the selected random code vector, and the foregoing spectral parameter and the parameter of the adaptive codebook are combined in a multiplexer to output a combination of the codes from an output terminal for transmitting. A decoding procedure on a receiver side is conducted in a conventional manner and the detailed description thereof can be omitted for brevity. Further, in order to reduce a memory amount and an operational amount in the CELP coding system, a conventional fast coding method has been proposed, as disclosed in "Fast CELP Coding Based On Algebraic Codes", by J-P. Adoul, P. Mabilleau, M. Delprat and S. Morissette, Proc. ICASSP, pp. 1957-1960, 1987 (the third document). Next, a conventional excitation signal search method using pulse strings produced in an algebraic manner as an excitation signal in a CELP coding system will be described. In this search method, an excitation signal is expressed in the form of a sum of pulse strings selected from a plurality of channels. The pulse strings are selected from pulse candidate positions predetermined for each channel. The amplitude of each pulse is only of a polarity. For example, when a subframe length sampled at 8 kHz is 5 ms (a sample number N = 8k × 5m = 40), an excitation signal per subframe is expressed, for example, by a sum of P = 5 single pulses selected from P = 5 channels. In this instance, each of the P = 5 channels has M (= N/P = 40/5) = 8 number of predetermined pulse candidate positions. The optimum excitation signal can be searched so that the distortion between the input speech signal and the reproduced speech signal obtained by exciting a synthetic filter using the excitation signal may be minimized. Now, when using the excitation signal as the pulse string, the minimization of the distortion between the input speech signal and the reproduced speech signal becomes equivalent to the maximization of the following formula (1). In this formula, a symbol a(i), [i = 0, ..., P-1] represents "1" or "-1", a symbol  (i, j), [i, = 0, ..., N-1] represents an auto-correlation function responsive to an impulse in a synthetic filter, and a symbol d(i), [i = 0, ..., N-1] represents a target signal obtained from an input speech signal and an impulse response signal. A symbol k can be resulted from "m(i)"[i = 0, ..., P-1] representing an excitation signal and can be transmitted at "(1 + log 2 M) × P" bits. The search according to an evaluation function of formula (1) can be carried out sequentially one by one using P-times loops. In the above conventional speech coding system, the excitation signal is expressed by the pulse string of only the polarity in the search method of the excitation signal. The search of this pulse position is sequentially implemented one by one against the entire candidates, and the operational amount in the searching turns out to be very high. On the other hand, when performing a preliminary selection of the pulse positions to be searched in order to reduce the operational amount in the searching, the quantizing efficiency deteriorates and the reproduced speech signal quality is degraded. In "A new model of LPC excitation for producing natural-sounding speech at low bit-rates", ICASSP' 82, pp. 614-617, there is shown a procedure determining the location and amplitude of pulses on a one-pulse-at-a-time basis. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a speech coding device in view of the aforementioned problems of the prior art, which is capable of searching the optimum pulse string representing an excitation signal in a low operational amount to obtain a reproduction speech with high quality. According to the invention there are provided speech coding devices as set out in claims 1, 2 and 3. BRIEF DESCRIPTION OF THE DRAWINGS 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 speech coding device according to one embodiment of the present invention; Fig. 2 is a block diagram of a first embodiment of a pulse searcher shown in Fig. 1; Fig. 3 is a block diagram of a second embodiment of a pulse searcher shown in Fig. 1; and Fig. 4 is a block diagram of a third embodiment of a pulse searcher shown in Fig. 1. DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to the drawings, in Fig. 1, there is shown a speech coding device according to one embodiment of the present invention. In Fig. 1, the speech coding device comprises a frame divider 51, a subframe divider 52, a spectral parameter calculator 53, a spectral parameter quantizer 54, a filter factor calculator 55 of a (human auditory) perceptual weighting synthetic filter, a (human auditory) perceptual weighter 56, an adaptive codebook searcher 57, a pulse searcher 58, a gain codebook searcher 59, and a multiplexer (MUX) 50. More specifically, first, speech signals input from an input terminal are divided, for example, into frames of 20 ms in the frame divider 51 and are further divided, for example, into subframes of 5 ms of the frame in the subframe divider 52. The spectral parameter calculator 53 cuts out speech using a frame of, for example, 10 ms longer than a subframe length (in this case, 5 ms in the case of sampling at 8 kHz with a sampling number N = 40) against the speech signals of at least one subframe and it is assumed that the spectral parameter calculator 53 calculates spectral parameters by a predetermined dimensional number L of, for example, ten degrees (L = 10). For the calculation of the spectral parameters, a well-known LPC analysis can be used. Further, the spectral parameter calculator 53 converts linear predictive factors a(i), [i = 1, ..., L] into LSP (line spectrum pair) parameters adaptive to a quantization and an interpolation. For the conversion from the linear predictive factors into the LSP parameters, a paper "Speech Data Compression By LSP Speech Analysis-Synthesis Technique", by N. Sugamura and F. Itakura, IECE J64-A, pp. 599-606, 1981 (the fourth document) can be used. The linear predictive factors are output to the filter factor calculator 55, and the LSP parameters are to the spectral parameter quantizer 54. The spectral parameter quantizer 54 quantizes the LSP parameters effectively. For this quantization of the LSP parameters, well-known quantizing methods can be used. For example, Japanese Patent Application Laid-Open Publication No. 4-171500 (the fifth document) or the like can be referred to, and the description thereof can be omitted for brevity. The spectral parameter quantizer 54 further converts the quantized LSP parameters into the linear predictive factors a(i),[i = 1, ..., L] to output the obtained linear predictive factors to the filter factor calculator 55 and also outputs codes representing code vectors of the quantized LSP parameters to the multiplexer 50. The filter factor calculator 55 inputs the linear predictive factors before the quantization from the spectral parameter calculator 53 and the quantized linear predictive factors from the spectral parameter quantizer 54 and calculates factors of a perceptual weighting filter expressed by formula (2) to output the calculated factors to the perceptual weighter 56. The filter factor calculator 55 further outputs factors of a perceptual weighting synthetic filter consisting of a linear predictive synthetic filter and a perceptual weighting filter to the adaptive codebook searcher 57, and the pulse searcher 58 and the gain codebook searcher 59. In this formula, R1 and R2 represent weighting factors for controlling a perceptual weighting amount, and, for example, R1 = 0.9 and R2 = 1.0 are applied. The perceptual weighter 56 reproduces the weighting filter from the factors of the perceptual weighting filter supplied from the filter factor calculator 55 and weights the input signal to output perceptual weighted input signal X(n) to the adaptive codebook searcher 57, the pulse searcher 58 and the gain codebook searcher 59. The adaptive codebook searcher 57 cuts out a segment of a delay d (a pitch cycle) from a past excitation signal and repeatedly connects the cutout segments until the connected segments have the subframe length N to produce the adaptive code vector Ad(n) corresponding to the delay d, and selects the pitch cycle d and the adaptive code vector Ad(n) so that an error power between a perceptual weighting input signal and a perceptual weighting synthetic signal obtained using the produced adaptive code vector Ad(n) may be minimized. Further, the adaptive codebook searcher 57 outputs a code representing the selected pitch cycle d to the multiplexer 50, outputs the selected adaptive code vector Ad(n) to the gain codebook searcher 59, and outputs the perceptual- weighted and selected adaptive code vector SAd(n) to the pulse searcher 58. The pulse searcher 58 calculates the optimum pulse string Cj(n) using the factor of the perceptual weighting synthetic filter, the perceptual weighted input signal X(n), and the perceptual- weighted and selected adaptive code vector SAd(n) and outputs the calculated optimum pulse string Cj(n) to the gain codebook searcher 59 and the multiplexer 50. According to the present invention, the pulse searcher 58 includes a plurality of embodiments and their detailed description will be described later. The gain codebook searcher 59 inputs the selected adaptive code vector Ad(n) from the adaptive codebook searcher 57, the optimum pulse string Cj(n) from the pulse searcher 58, the perceptual weighted input signal X(n) from the perceptual weighter 56 and the factors of the perceptual weighting synthetic filter from the filter factor calculator 55, and produces the perceptual weighting synthetic filter. The gain codebook searcher 59 then calculates an excitation signal Ek(n) as a linear sum of the adaptive code vector Ad(n) and the optimum pulse string Cj(n), as expressed in formula (3), and selects a gain code vector so that an error power between the perceptual weighted input signal and the perceptual weighted synthetic signal obtained by driving the perceptual weighting synthetic filter using the calculated excitation signal Ek(n) may be minimized. The gain codebook searcher 59 outputs the selected gain code vector to the multiplexer 50. Ek(n) = Gk(1) • Ad(n) - Gk(2) • Cj(n) In formula (3), Gk(1) and Gk(2) represent k-th two-dimensional gain code vectors. The multiplexer 50 inputs the codes representing code vectors of the quantized LSP parameters from the spectral parameter quantizer 54, the code representing the selected pitch cycle d from the adaptive codebook searcher 57, the code representing the pulse string from the pulse searcher 58 and the code representing the gain code vector from the gain codebook searcher 59, and combines the input codes to output the combined codes to an output terminal. Figs. 2 to 4 show the first to third embodiments of the pulse searcher 58 of the speech coding device shown in Fig. 1 corresponding to the speech coding device according to the first to third embodiments of the present invention, which are characterized by the first to third embodiments of the pulse searcher 58. The first embodiment of the pulse searcher 58 of the speech coding device shown in Fig. 1 will be described with reference to Fig. 2. In Fig. 2, the pulse searcher 58 includes a target signal generating circuit 10, first, second, third, fourth and fifth pulse generating circuits 11 to 15, a pulse string coding circuit 20, and first, second, third and fourth Viterbi searching circuits 21 to 24. The pulse searcher 58 produces an excitation signal which is expressed as a sum of pulse strings selected from a plurality of channels. The pulse strings are selected from pulse position candidates predetermined for each channel. The amplitude of each pulse is only a polarity. For example, in the case of a subframe length of 5 ms and sampling at 8 kHz (a sampling number N = 40), it is assumed that an excitation signal per subframe is expressed as a sum of, for example, P (= 5) number of single pulses selected from P (= 5) channels. In this instance, each of the P (= 5) channels has a predetermined number M (= N/P = 40/5 = 8) of pulse position candidates. In Fig. 2, the target signal generating circuit 10 inputs the factors of the perceptual weighting synthetic filter and constitutes the perceptual weighting synthetic filter. Further, the target signal generating circuit 10 inputs the perceptual weighted input signal X(n) from the perceptual weighter 56 and the perceptual- weighted and selected adaptive code vector SAd(n) from the adaptive codebook searcher 57 and calculates an error signal z(n) according to formula (4) wherein a symbol G is expressed by formula (5). z(n) = X(n) - G • SAd(n) Further, the target signal generating circuit 10 filters the error signal z(n) backwards using the perceptual weighting synthetic filter to prepare a target signal d(n), produces an auto-correlation function  (i, j) responsive to an impulse in the perceptual weighting synthetic filter, and outputs the target signal d(n) and the auto-correlation functions  (i, j) to the first, second, third and fourth Viterbi searching circuits 21, 22, 23 and 24. The first pulse generating circuit 11 places single pulses against predetermined 8 pulse position candidates (e.g. , N = 0, 5, 10, 15, 20, 25, 30, 35) and outputs these pulses to the first Viterbi searching circuit 21. The second pulse generating circuit 12 places single pulses against predetermined 8 pulse position candidates (e.g., N = 1, 6, 11, 16, 21, 26, 31, 36) and similar to the first pulse generating circuit 11, outputs these pulses to the first Viterbi searching circuit 21. The third pulse generating circuit 13 places single pulses against predetermined 8 pulse position candidates (e.g. , N = 2, 7, 12, 17, 22, 27, 32, 37) and outputs these pulses to the second Viterbi searching circuit 22. The fourth pulse generating circuit 14 places single pulses against predetermined 8 pulse position candidates (e.g., N = 3, 8, 13, 18, 23, 28, 33, 38) and outputs these pulses to the third Viterbi searching circuit 23. Similarly, the fifth pulse generating circuit 15 places single pulses against predetermined 8 pulse position candidates (e.g., N = = 4, 9, 14, 19, 24, 29, 34, 39) and outputs these pulses to the fourth Viterbi searching circuit 24. The pulse position candidates in the first to fifth pulse generating circuits 11 to 15 are one example and, of course, another positioning can be possible in the pulse position candidates. The searching of the pulse strings in the first to fourth viterbi searching circuits 21 to 24 is carried out by selecting the optimum combination of the signals supplied from the two pulse generating circuits on the basis of a Viterbi algorithm. In the first Viterbi searching circuit 21, when the 8 pulse signals (the pulse position m(1) = 1, 6, 11, 16, 21, 26, 31, 36) output from the second pulse generating circuit 12 are placed, the optimum combinations with the 8 pulse signals (the pulse position m(0) = 0, 5, 10, 15, 20, 25, 30, 35) output from the first pulse generating circuit 11 are selected based on the Viterbi algorithm. That is, the first Viterbi searching circuit 21 adds the 8 pulse signals output from the first pulse generating circuit 11 to each of the 8 pulse signals output from the second pulse generating circuit 12, and selects one pulse signal from the obtained 8 pulse signals so that an evaluation value P (in this case, P = 2) in formula (1) may be maximum. As a result, the 8 selected pulse signals including the pulse position candidates of the second pulse generating circuit 12 are obtained as the candidates and these candidates are output to the second Viterbi searching circuit 22. In the second Viterbi searching circuit 22, when the 8 pulse signals (the pulse position m(2) = 2, 7, 12, 17, 22, 27, 32, 37) output from the third pulse generating circuit 13 are placed, the optimum combinations with the 8 pulse signals output from the first Viterbi searching circuit 21 are selected (in this case, P = 3) in the same manner as described above, and the selected pulse signals including the pulse position candidates of the third pulse generating circuit 13, obtained as the candidates are output to the third Viterbi searching circuit 23. In the third Viterbi searching circuit 23, a searching is executed (in this case, P = 4) in the same manner as described above, and the selected pulse signals including the pulse position candidates (the pulse position m(3) = 3, 8, 13, 18, 23, 28, 33, 38) of the fourth pulse generating circuit 14 are obtained as the candidates, and these candidates are output to the fourth Viterbi searching circuit 24. Similarly, in the fourth Viterbi searching circuit 24, a searching is carried out, and the selected pulse signals including the pulse position candidates (the pulse position m(4) = 4, 9, 14, 19, 24, 29, 34, 39) of the fifth pulse generating circuit 15 are obtained as the candidates, and one pulse signal is finally selected from the obtained signals so that the evaluation value P (in this case, P = 5) in formula (1) may be maximum. The selected pulse signal is output to the pulse string coding circuit 20. In this embodiment, any connection between the pulse generating circuits 11 to 1.5 and the Viterbi searching circuits 21 to 24 can be possible. For example, besides the above described connection, priority of each pulse generating circuit is determined by the evaluation value P (in this case, P = 1) in formula (1), and the pulse generating circuits 11 to 15 may be connected to the Viterbi searching circuits 21 to 24 in the priority order. In the pulse string coding circuit 20, codes are produced from the P (= 5) number of pulse positions constituting the pulse signal input from the fourth Viterbi searching circuit 24. The produced codes are output to the multiplexer 50 and the pulse signal is supplied to the gain codebook searcher 59. The second embodiment of the pulse searcher 58 of the speech coding device shown in Fig. 1 will be described with reference to Fig. 3. In Fig. 3, the pulse searcher 58 includes a target signal generating circuit 10, first, second, third, fourth and fifth pulse generating circuits 11 to 15, a pulse string coding circuit 20, and first, second, third and fourth preliminary searching circuits 31 to 34. In this embodiment, as shown in Fig. 3, the second embodiment of the pulse searcher 58 has the same construction as the first embodiment shown in Fig. 2, except that the first to fourth preliminary searching circuits 31 to 34 are used instead of the first to fourth Viterbi searching circuits 21 to 24. Thus, the description of the same parts as those of the first embodiment can be omitted for brevity. The target signal generating circuit 10 outputs the target signal d(n) and the auto-correlation function  (i, j) to the first, second, third and fourth preliminary searching circuits 31, 32, 33 and 34. The first, second, third, fourth and fifth pulse generating circuits 11 to 15 output the pulses to the first, first, second, third and fourth preliminary searching circuits 31 to 34, respectively, in the same manner as the first embodiment shown in Fig. 2. In this embodiment, a search of pulse strings is carried out by placing the pulses strings in a tree shape obtained by increasing by one pulse per channel and by performing a preliminary selection of candidates on each pulse increase. The first preliminary searching circuit 31 preliminarily selects Q (= 8) pulse signals from the M 2 (= 8 2 = 64) pulse signals of a combination of M (= 8) pulse signals (the pulse position m(0) = 0, 5, 10, 15, 20, 25, 30, 35) output from the first pulse generating circuit 11 and of M (= 8) pulse signals (the pulse position m(1) = 1, 6, 11, 16, 21, 26, 31, 36) output from the second pulse generating circuit 12 so that the evaluation value P (in this case, P = 2) in formula (1) may be maximum, and outputs the selected pulse signals to the second preliminary searching circuit 32. The second preliminary searching circuit 32 preliminarily selects Q (= 8) pulse signals from the Q × M (= 8 × 8 = 64) pulse signals of a combination of M (= 8) pulse signals (the pulse position m(2) = 2, 7, 12, 17, 22, 27, 32, 37) output from the third pulse generating circuit 13 and of Q (= 8) pulse signals preliminarily selected in the first preliminary searching circuit 31 so that the evaluation value P (in this case. P = 3) in formula (1) may be maximum, and outputs the selected pulse signals to the third preliminary searching circuit 33. In the third preliminary searching circuit 33 a preliminary searching is implemented in the same manner as described above, to select the Q (= 8) pulse signals from the Q × M (= 64) pulse signals including the signals (the pulse position m(3) = 3, 8, 13, 18, 23, 28, 33, 38) and the signals preliminarily selected in the second preliminary searching circuit 32 so that the evaluation value P (in this case, P = 4) in formula (1) may be maximum, and the selected pulse signals are output to the fourth preliminary searching circuit 34. Similarly, the fourth preliminary searching circuit 34 executes a preliminary searching so as to finally select one pulse signal from the Q × M (= 64) pulse signals including the signals (the pulse position m(4) = 4, 9, 14, 19, 24, 29, 34, 39) and the signals preliminarily selected in the third preliminary searching circuit 33 so that the evaluation value P (in this case, P = 5) in formula (1) may be maximum. The selected pulse signal is output to the pulse string coding circuit 20. The pulse string coding circuit 20 outputs the produced codes to the multiplexer 50 and the selected pulse signal to the gain codebook searcher 59 in the same manner as the first embodiment described above. The third embodiment of the pulse searcher 58 of the speech coding device shown in Fig. 1 will be described with reference to Fig. 4. In Fig. 4, the pulse searcher 58 includes a target signal generating circuit 10, first, second, third, fourth and fifth pulse generating circuits 11 to 15, a pulse string coding circuit 20, and first and second searching circuits 41 to 42. In this embodiment, as shown in Fig. 4, the third embodiment of the pulse searcher 58 has the same construction as the second embodiment shown in Fig. 3, except that the first and second searching circuits 41 to 42 are used instead of the first to fourth preliminary searching circuits 31 to 34. Thus, the description of the same parts as those of the second embodiment can be omitted for brevity. The target signal generating circuit 10 outputs the target signal d(n) and the auto-correlation function  (i, j) to the first and second searching circuits 41 and 42. The first to third pulse generating circuits 11 to 13 output the pulses to the first searching circuits 41 and the fourth and fifth pulse generating circuits 14 and 15 output the pulses to the second searching circuits 42. The first searching circuit 41 preliminarily selects, for example, Q (= 8) pulse signals from the M 3 (= 8 3 = 512) pulse signals of a combination of M (= 8) pulse signals (the pulse position m(0) 0, 5, 10, 15, 20, 25, 30, 35) output from the first pulse generating circuit 11, of M (= 8) pulse signals (the pulse position m(1) = 1, 6, 11, 16, 21, 26, 31, 36) output from the second pulse generating circuit 12, and of M (= 8) pulse signals (the pulse position m(2) = 2, 7, 12, 17, 22, 27, 32, 37) output from the third pulse generating circuit 13 so that the evaluation value P (in this case, P = 3) in formula (1) may be maximum, and the selected 8 pulse signals are output to the second searching circuit 42. The second searching circuit 42 finally selects one pulse signal from the Q × M 2 (= 8 × 8 2 = 512) pulse signals of a combination of M (= 8) pulse signals (the pulse position m(3) = 3, 8, 13, 18, 23, 28, 33, 38) output from the fourth pulse generating circuit 14, of M (= 8) pulse signals (the pulse position m(4) = 4, 9, 14, 19, 24, 29, 34, 39) output from the fifth pulse generating circuit 15, and of Q (= 8) pulse signals preliminarily selected in the first searching circuit 41 so that the evaluation value P (in this case, P = 5) in formula (1) may be maximum. The selected pulse signal is output to the pulse string coding circuit 20. The pulse string coding circuit 20 outputs the produced codes to the multiplexer 50 and the selected pulse signal to the gain codebook searcher 59 in the same manner as the first embodiment described above. Further, in the third embodiment, a plurality of Viterbi searching circuits used in the first embodiment or a plurality of preliminary searching circuits used in the second embodiment may be used for the searching circuits to which a plurality of pulse generating circuits are connected. As described above, according to the present invention, in a speech coding device including a plurality of pulse searching circuits, when coding speech signals, position candidates of a plurality of pulse strings constituting the excitation signal are divided into groups, and the pulse searching circuits carry out the searching every group to determine the positions of the plurality of pulse strings. Hence, in the searching of the pulse strings constituting the excitation signal, the operational amount can be reduced without deteriorating reproduction speech signal quality, resulting in reproduced speech with high quality by a small operational amount. While the present invention has been described with reference to the particular illustrative embodiments, it is not to be restricted by those embodiments. 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, which is only limited by the appended claims.

Claims: A speech coding device, in which an excitation signal of speech signals is expressed as a sum of a plurality of pulse strings, and positions of the pulse strings are selected from predetermined pulse position candidates to determine the excitation signal so that distortion between an input speech signal and a reproduced speech signal obtained by exciting a synthetic filter using the excitation signal may be minimized, comprising: means (11 to 15) for generating a plurality of pulse strings; and means (21 to 24) for searching the pulse strings sequentially for every pulse string using a Viterbi algorithm to determine the positions of the plurality of pulse strings constituting the excitation signal. A speech coding device, in which an excitation signal of speech signals is expressed as a sum of a plurality of pulse strings, and positions of the pulse strings are selected from predetermined pulse position candidates to determine the excitation signal so that distortion between an input speech signal and a reproduced speech signal obtained by exciting a synthetic filter using the excitation signal may be minimized, comprising: means (11 to 15) for generating a plurality of pulse strings, pulse position candidates of the pulse strings being expressed in a tree shape; and means (31 to 34) for searching the pulse strings sequentially for every pulse string by a preliminary searching to determine the positions of the plurality of pulse strings constituting the excitation signal, and wherein in each preliminary search a plurality of pulse strings is preliminarily selected, for which an evaluation value may be maximum. A speech coding device, in which an excitation signal of speech signals is expressed as a sum of a plurality of pulse strings, and positions of the pulse strings are selected from predetermined pulse position candidates to determine the excitation signal so that distortion between an input speech signal and a reproduced speech signal obtained by exciting a synthetic filter using the excitation signal may be minimized, comprising: means (11 to 15) for generating a plurality of pulse strings, pulse position candidates of the pulse strings being divided into pulse position candidate groups; and means (41, 42) for searching the pulse strings sequentially for every pulse position candidate group to determine the positions of the plurality of pulse strings constituting the excitation signal, and wherein as a result of the searching a plurality of combinations of pulse signals is preliminarily selected, for which an evaluation function may be maximum.

Inventors: NOMURA TOSHIYUKI, NOMURA, TOSHIYUKI
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1996
Main classification: G10L19
IPC codes: G10L19, H03M13