CA2435224A1 - Speech encoding method and speech encoding system - Google Patents
Speech encoding method and speech encoding system Download PDFInfo
- Publication number
- CA2435224A1 CA2435224A1 CA002435224A CA2435224A CA2435224A1 CA 2435224 A1 CA2435224 A1 CA 2435224A1 CA 002435224 A CA002435224 A CA 002435224A CA 2435224 A CA2435224 A CA 2435224A CA 2435224 A1 CA2435224 A1 CA 2435224A1
- Authority
- CA
- Canada
- Prior art keywords
- adaptive codebook
- delay
- signal
- circuit
- gain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
In this speech encoding system, the limiter circuit is input with the delay of adaptive codebook obtained for the previous subframe, and the pitch cycle search range is limited so that the delay of adaptive codebook obtained for the previous subframe is not discontinuous to the delay of adaptive codebook to be obtained for the current subframe, and the pitch cycle search range limited is output to the pitch calculation circuit. The pitch calculation circuit is input with output signal X w (n) of the perceptual weighting circuit and the pitch cycle search range output from the limiter, calculating the pitch cycle T op, then outputting at least one pitch cycle T op to the adaptive codebook circuit. The adaptive codebook circuit is input with the perceptual weighting signal x'w (n), the past excitation signal v(n) output from the gain quantization circuit, the perceptual weighting impulse response h w (n) output from the impulse response calculation circuit, and the pitch cycle T op from the pitch calculation circuit, searching near the pitch cycle, calculating the delay of adaptive codebook. With the above composition, the delay of adaptive codebook obtained for each subframe can be prevented from being discontinuous in the process of time.
Description
SPEECH ENCODING METHOD AND SPEECH ENCODING SYSTEM
This application is a division of Canadian Patent Application No. 2,290,859 filed on November 25, 1999.
This invention relates to a speech encoding method and a speech encoding system used to encode voice signal in high quality at a low bit rate.
Known as a method of encoding voice signal in high efficiency is CELP (code excited linear predictive coding) described in, for example, M. Schroeder and B. Atal, "Code-Excited Linear Prediction:
High Quality Speech at Very Low Bit Rates", Proc. ICASSP, pp.937-940, 1985 (prior art 1), and Kleij et al., "Improved Speech Quality and Efficient Vector Quantization in SELP", Proc. ICASSP, pp.155-158, 1988 (prior art 2).
In CELP, on the transmission side, for each frame, e.g. 20 ms, spectral parameter to spectral characteristic is extracted from speech signal by using LPC (linear predictive coding) analysis. A
frame is further divided into subframes, e.g. 5 ms, and for each subframe, based on past excitation signal, parameters (delay parameter and gain parameter corresponding to pitch cycle) at adaptive codebook axe extracted, and speech signal of the subframe is pitch-predicted by the adaptive codebook. For excitation signal obtained bythe pitch-predicting, an optimumsound-source code vector is selected from a sound-source codebook (vector quantization codebook) composed of a predetermined kind of noise signals, and the excitation signal is quantized by calculating optimum gain. The selection of sound-source code vector is conducted so that the error electric power between signal synthesized by the selected noise signal and residual signal can be minimized. Then, the index and gain to indicate tree kind of code vector selected, the spectral parameter and the adaptive codebook parameter are combined by a multiplexes and transmitted.
However, in CELP described above, there is a problem that when the delay of adaptive codebook extracted for current subframe is more than an integer times or less than the inverse number of an integer times, where the integer is two or more, the delay of adaptive codebook calculated for the previous subframe, between the previous codebook and current codebook, the delay of adaptive codebook becomes discontinuous and therefore the tone quality deteriorates. The reason is as follows: although the delay of adaptive codebook extracted for current subframe is searched near a pitch cycle calculated from speech signal by a pitch calculator, when the pitch cycle becomes more than an integer times or less than the inverse number of an integer times the delay of adaptive codebook calculated for the previous subframe, the search range of adaptive codebook for the current subframe does not include near the delay of adaptive codebookfor the previous subframe. Therefore, between the previous codebook and current codebook, the delay of adaptive codebook becomes discontinuous in the process of time.
Accordingly, it is an object of the invention to provide a speech encoding method and a speech encoding system that the delay of adaptive codebook calculated for each subframe can be prevented from being discontinuous in the process of time.
This application is a division of Canadian Patent Application No. 2,290,859 filed on November 25, 1999.
This invention relates to a speech encoding method and a speech encoding system used to encode voice signal in high quality at a low bit rate.
Known as a method of encoding voice signal in high efficiency is CELP (code excited linear predictive coding) described in, for example, M. Schroeder and B. Atal, "Code-Excited Linear Prediction:
High Quality Speech at Very Low Bit Rates", Proc. ICASSP, pp.937-940, 1985 (prior art 1), and Kleij et al., "Improved Speech Quality and Efficient Vector Quantization in SELP", Proc. ICASSP, pp.155-158, 1988 (prior art 2).
In CELP, on the transmission side, for each frame, e.g. 20 ms, spectral parameter to spectral characteristic is extracted from speech signal by using LPC (linear predictive coding) analysis. A
frame is further divided into subframes, e.g. 5 ms, and for each subframe, based on past excitation signal, parameters (delay parameter and gain parameter corresponding to pitch cycle) at adaptive codebook axe extracted, and speech signal of the subframe is pitch-predicted by the adaptive codebook. For excitation signal obtained bythe pitch-predicting, an optimumsound-source code vector is selected from a sound-source codebook (vector quantization codebook) composed of a predetermined kind of noise signals, and the excitation signal is quantized by calculating optimum gain. The selection of sound-source code vector is conducted so that the error electric power between signal synthesized by the selected noise signal and residual signal can be minimized. Then, the index and gain to indicate tree kind of code vector selected, the spectral parameter and the adaptive codebook parameter are combined by a multiplexes and transmitted.
However, in CELP described above, there is a problem that when the delay of adaptive codebook extracted for current subframe is more than an integer times or less than the inverse number of an integer times, where the integer is two or more, the delay of adaptive codebook calculated for the previous subframe, between the previous codebook and current codebook, the delay of adaptive codebook becomes discontinuous and therefore the tone quality deteriorates. The reason is as follows: although the delay of adaptive codebook extracted for current subframe is searched near a pitch cycle calculated from speech signal by a pitch calculator, when the pitch cycle becomes more than an integer times or less than the inverse number of an integer times the delay of adaptive codebook calculated for the previous subframe, the search range of adaptive codebook for the current subframe does not include near the delay of adaptive codebookfor the previous subframe. Therefore, between the previous codebook and current codebook, the delay of adaptive codebook becomes discontinuous in the process of time.
Accordingly, it is an object of the invention to provide a speech encoding method and a speech encoding system that the delay of adaptive codebook calculated for each subframe can be prevented from being discontinuous in the process of time.
According to the invention, a speech encoding method, comprising the steps of calculating a spectral parameter from speech signal to be input and quantizing said spectral parameter;
limiting a search range for a delay of an adaptive codebook based on the delay of an adaptive codebook calculated in the past;
calculating the delay, within the search range, and a gain for said adaptive codebook using excitation signal quantized in the past; quantizing the excitation signal of said speech signal by using said spectral parameter; and quantizing the gain of said 14 excitation signal.
According to another aspect of the invention, a speech encoding system comprising a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal; an adaptive codebook unit that calculates delay and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain; an excitation quantization unit that quantizes the excitation signal of said speech signal by using said spectral parameter; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits said search range for said pitch cycle based on the delay of said adaptive codebook calculated in the past.
According to another aspect of the invention, a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates, within a search range, a pitch cycle from said speech signal; an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain; an excitation quantization unit that quantizes the excitation signal of said speech signal for each of said multiple delays by using said spectral parameter and by then selecting one with smaller signal distortion; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits the search range for said delay based on the delay selected by said excitation quantization unit in the past.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding method, comprising the steps of calculating a spectral parameter from a current frame of speech signal to be input and quantizing said spectral parameter;
deciding a search range for a delay of an adaptive codebook based on the delay calculated in the past and a coding mode calculating said delay in said search range and gain for an adaptive codebook for said current frame of said speech signal using excitation signal from a previous frame of said speech signal quantizing the excitation signal of said current frame of said speech signal using said spectral parameter; and quantizing the gain of said excitation signal.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding method, comprising the steps of calculating a spectral parameter from a current frame of speech signal to be input and quantizing said spectral parameter;
deciding search range for a delay of an adaptive codebook at the current subframe based on the delay calculated in the past and a coding mode; calculating said delay in said search range and gain for said adaptive codebook for said current subframe of said speech signal using excitation signal from a previous subframe of said speech signal; quantizing the excitation signal of said current subframe of said speech signal using said spectral parameter; and quantizing the gain of said excitation signal.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal, an adaptive codebook unit that calculates a delay and gain for an adaptive codebook for said current frame of said speech signal using excitation signal from a previous frame of said speech signal, and that outputs said calculated delay and gain; an excitation quantization unit that quantizes the excitation signal of said current frame of said speech signal using said spectral parameter; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said pitch cycle based on the delay calculated in the past and a coding mode.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal, an adaptive codebook unit that calculates delay and gain for an adaptive codebook for said current subframe of said speech signal using excitation signal from a previous subframe of said speech signal, and that outputs said calculated delay and gain; an excitation quantization unit that quantizes the excitation signal of said current subframe of said speech signal using said spectral parameter; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said pitch cycle of the current subframe based on the delay calculated in the past and a coding mode.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising: a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle, within a search range from said speech signal, an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook for said current frame of said speech signal using excitation signal from a previous frame of said speech signal, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said current frame of said speech signal using said spectral parameter and by selecting one with smaller signal distortion; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said pitch cycle based on the delay selected by said excitation quantization unit in the past and a coding mode.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal, an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook for said current subframe of said speech signal using excitation signal from a previous subframe of said speech signal, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said current subframe of said speech signal using said spectral parameter by then selecting one with smaller signal distortion; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said delay of the current subframe based on the delay selected by said excitation quantization unit in the past and a coding mode.
In this invention, the limiter unit is input with the delay _8_ of adaptive codebook obtained for the previous subfrare, and the search range of pitch cycle is limited so that the delay of adaptive codebook obtained for the previous subfrar"e is not discontinuous to the delay of adaptive codebook to be obtained for the current subframe, and the search range of pitch cycle limited is output to the pitch calculation unit.
The pitch calculation unit is input with perceptual weighting output signal and the search range of pitch cycle output from the lir~iter unit, calculating the pitch cycle, then outputting at least one pitch cycle to the adaptive co3ebook unit. The adaptive codebook unit is input with the perceptual weighting signal, the past excitation signal output from the gain quantization unit, the perceptual weighting impulse response output from the impulse response calculation circuit, and the pitch cycle from the pitch calculation unit, searching near the pitch cycle, calculating the delay of adaptive codebook. Ey using the above composition, the delay of adaptive codebook obtained for each subfrar~e can be prevented fro;,i being discontinuous in the process of time.
The invention will be explained in pore detail in conjunction with the appended drawings, wherein FIG. 1 is a block diagrar. sho~aing the cor~position of a 2~ speech encoding syste;a in a first preferred embodiment according to the invention, FIG. 2 is a block diagram showing the composition of a speech encoding systen in a second preferred e;~aodiment according to the invention, FIG.3 is a black diagram showing the composition of a speech encoding system in a third preferred embodiment according to the invention, and FIG.4 is a block diagram showing the composition of a speech encoding system in a fourth preferred embodiment according to the invention:
The preferred embodiments according to the invention will be explained referring to the drawings.
<First Embodiment>
FIG.1 is a block diagram showing the composition of a speech encoding system in the first preferred embodiment according to the invention. This speech encoding system is configured adding a pitch calculation circuit 400, a delay circuit 410 and a limiter circuit S11 to a speech encoding system that is similar to a speech encoding system disclosed in Japanese patent application laid-open No.08-320700 (1996) (prior art 3) which is filed by the inventor of the present application. Meanwhile, although two sets of gain codebooks are provided for the system in prior art 3, one gain codebook is provided herein.
The speech encoding systen is provided with a frame division circuit 110 that divides speech signal to be input from an input terminal 100 into frames of, e.g. 20 ms. The frames are output to a subframe division circuit 120 and a spectral parameter calculation circuit 200. The subfrarne division circuit 120 divides frame speech signal into subframes of, e.g. 5 ms, shorter than the frame.
The spectral parameter calculation circuit 200 applies a window (e.g. 24 ms) longer than the length of subframe to at least one subframe speech signal to take out voice, calculating the spectral parameter at a predetermined number of order, e.g. P=10. Here, the calculation of spectral parameter can be performed by using well-known LPC analysis, Burg analysis etc. Herein, the Burg analysis is used. The details of the Burg analysis are, for example, described in Nakamizo, "Signal Analysis and System Identification", CORONA Corp., pp.82-87, 1988 (prior art 4). Therefore the explanation is omitted herein. Further, in the spectral parameter calculation circuit 200, linear predictive coefficient as (i=1, ..., 10) calculated by the Burg method is converted into LSP (line spectrum pair) parameter that is suitable for quantization or interpolation.
Here, the conversion from the linear predictive coefficient to the LSP is described in Sugamura et al . , "Speech Information Compression by Line Spectrum Pair (LSP) Speech Analysis and Synthesis", J. of IECEJ. J64-A, pp.599-606, 1981 (prior art 5) . For example, a linear predictive coefficient calculated for second and fourth subframes by the Burg method is converted into LSP parameter, thereby LSP for first and third subframes is calculated by linear interpolation, the LSP calculated by the interpolation is inverse-transformed to a linear predictive coefficient, and linear predictive coefficients ail (i=1, ..., 10. 1=1, .... 5) of the first to fourth subframes are output to an perceptual weighting circuit 230. Also, LSP for the fourth subframe is output to a spectral parameter quantization circuit 210.
The spectral parameter quantization circuit 210 refers to a LSP
codebook 211, quantizing efficiently the LSP parameter of a predetermined subframe, outputting a quantization value to minimize distortion D~ given by:
D~ =~,W(i)(LSP(i)-QLSP(i)~]'-.......................(1) where LSP (i) , QLSP (i) j and w (i) are the i~,,-order LSP before the quantization, the j~;~ result after the quantization and weight coefficient, respectively.
In the examples below, vector quantization is used as the quantization method and the LSP parameter for the fourth subframe is quantized. The vector quantization of LSP parameter can be performed by using well-known methods . For example, the methods are described in Japanese patent application laid-open No.04-171500 (1992) (prior art 6), Japanese patent application laid-open No.04-363000 (1992) (prior art 7), Japanese patent application laid-open No.05-6199 (1993) (prior art 8), T. Nomura et al., "LSP
Coding Using VQ-SVQ with Interpolation in 4.075 kbps M-LCELP Speech Coder", Proc. Mobile Multimedia Communications, pp.B.2.5, 1993 (prior art 9). Therefore, the explanation is omitted herein.
Also, the spectral parameter quantization circuit 210 restores the LSP parameters for the fizst to fourth subframes, based on the LSP parameter to be quantized for the fourth subframe. Hereupon, by conducting the linear interpolation using quantized LSP parameter for the fourth subframe of the current frame and quantized LSP
parameter for the fourth subframe of the previous frame, LSPs for the first to third subframes of the current frame are restored. Here, after selecting such one kind of code vector that can minimize the error electric power between LSP before quantization and LSP after quantization, LSPs for the first to fourth subframes can be restored by linear interpolation. In order to further enhance the performance, after selecting multiple prospective code vectors to minimize the error electric power, for each prospective code vector, the accumulated distortion accumulated is evaluated. Then, the combination of a prospective code vector to minimize the accumulated distortion and an interpolation LSP can be selected. The detailed method is, for example, is described in Japanese patent application laid-open No.06-222797 (1994) (prior art 10).
The spectral parameter quantization circuit 210 converts the LSPs for the first to third subframes, restored as described above, and the quantized LSP for the fourth subframe into linear predictive coefficient a'il (i=1, ..., 10, 1a1, ..., 5) for each subframe, outputting them to an impulse response calculation circuit 310. Also, it outputs an index to indicate the code vector of the quantized LSP
for the fourth subframe to a multiplexer 600.
The spectral parameter calculation circuit 200, the spectral parameter quantization circuit 210 and the LSP codebook 211 compose a spectral parameter calculation uniC for calculating the spectral parameter of input speech signal, quantizing it, then outputting it.
Also, the speech encoding system is provided with the perceptual weighting circuit 230 to conduct the perceptual weighting. The perceptual weighting circuit 230 is input with linear predictive coefficient a'il (i=1, ..., 10, 1=1, ..., 5) before the quantization for each subframe from the spectral parameter calculation circuit 200, and according to prior art 1, it conducts the perceptual weighting to the subframe speech signal, then outputting perceptual weighting signal X"(n) . ' The pitch calculation circuit 400 is input with the perceptual weighting signal X;,(n) of the perceptual weighting circuit 230 and a pitch cycle search range to be output from the limiter circuit 411, calculating a pitch cycle To, within this pitch cycle search range, outputting at least one pitch cycle to an adaptive codebook circuit 500. Selected as the pitch cycle TaD is such a value that, within this p itch cycle search range, maximizes the equation below.
Sap-~,Xw~n)"Xw~n'~"Too)~~, X;,(rt+ToP)........................(2) where L is a pitch analysis length. Here, the pitch calculation circuit 400 is a pitch calculator that outputs calculating the pitch cycle from speech signal, and the limiter circuit 411 is a limiter that when searching the pitch cycle, limits the search range based on the delay of adaptive codebook calculated previously.
The delay circuit 410 is disposed between the adaptive codebook circuit 500 and the limiter circuit 411. The delay circuit 410 is input with the delay of adaptive codebook of the current subframe from the adaptive codebook circuit 500, storing the value until processing the next subframe, outputting the delay of adaptive codebook of the previous subframe to the limiter circuit 411.
The limiter circuit 411 is input with the delay of adaptive codebook calculated for the previous subframe to be output from the delay circuit 410, then outputs the pitch cycle search range. The limiting is, for example, performed as below.
At first, prepared is a table that the range of pitch cycle to be searched is divided into three sections as shown in Table 1.
Table 1 section 1 17, 18, 19, 20, 31, 32, 33, 35 .., section 2 36, 37, 38, 39, _68,69, 70, 71 ..._.
section 3 72, 73 74, 75, 141,142, 143, 144 , For example, if the delay of adaptive codebook calculated for the previous subframe belongs to section 1, then the search range is limited to section 1 and section 2. Here, as the division table for the pitch cycle search range, another table other than Table 1 may be used. Alternatively, the table may be changed in the process of time.
A response signal calculation circuit 240 to calculate response signal is input with linear predictive coefficient a i1 for each subframe from the spectral parameter calculation circuit 200, input with linear predictive coefficient a 'i1, which is quantized, interpolated and restored, for each subframe from the spectral parameterquantization circuit210, thencalculating response signal that input signal is made zero [d(n)=0] for one subframe by using a stored value of filter memory, outputting it to a subtracter 235.
Here, response signal x=(n) is given by:
x;(n) = d (n) - ~ «,.d (n - i) + ~ a. y' y(n - i) + ~ a;' Y'x~ (n -i)............................(3) .-t .-t .-i in case of (n-i)~0, y(n-i)=p(N+(n-i))..............................(4) and x=(n-i)=s"(N+(n-i)).....................(5) where N is a subframe length, Y is a weighting coefficient to control the amount of perceptual weighting and is the same value as that in equation 8 described later, s~(n) and p(n) are output signal of a weighting signal calculation circuit 360 and output signal represented as a denominator of the first section (filter) at the right side of equation 7, described later, respectively. The weighting signal calculation circuit 360 is explained later.
The subtracter 235, according to the equation below, subtracts response signal x=(n) to one subframe fromperceptual weighting signal X"(n) to be output from the perceptual weighting circuit 230, then outputting x'~(n) to the adaptive codebook circuit 500.
DT -~x','',,(n)-[~,x",(n)f",(n-T))''~[~Yi(n-T)).............................(6) -o ~-o ~-o Further, provided is the impulse response calculation circuit 310 that calculates impulse response from quantized spectral parameter. The impulse response calculation circuit 310 calculates a predetermined number L of the impulse response h., (n) of perceptual weighting filter that the z-transform is represented by the equation below, then outputting'it the adaptive codebook circuit 500 and a excitation quantization circuit 350.
-IS-a' ' 1 1 _ ~-' ....................,...................(7) 1-~ay'~'' 1-~a.'y~~-;
.-t ~-t The adaptive codebook circuit 500 calculates delay T and gain j~ by the adaptive codebook from excitation signal quantized in the past based on the output of the pitch calculation circuit 400, calculating the residue (predictive residual signal e"(n)) by predicting the speech signal, outputting the delay T, gain ~ and predictive residual signal e~(n) . The adaptive codebook circuit 500 is input with past excitation signal v(n) from a gain quantization circuit 365, described later, output signal x'"(n) from the subtracter 235, perceptual weighting impulse response h"(n) from the impulse response calculation circuit 310, and pitch cycle ToD from the pitch calculation circuit400. The adaptive codebook circuit 500 searches near the pitch cycle To,, calculating delay T of adaptive codebook so as to minimize the distortion in the equation below, then outputting index to indicate the delay of adaptive codebook to the multiplexer 600. Further the value of delay of adaptive codebook is also output to the delay circuit 410.
Dr =~x'W (n)-(~x~",(n)y",(n-T)]~~(~yW(n-T)J-.............................(8) -o n-o ~-o where, 2 0 y" (n - T) - v(n - T)~h" (n)....................................(9) In equation 9, code (*) represents convolution operation. Then the adaptive codebook circuit 500 calculates gain ~ according to the equation below.
~ ° ~x".(n)y",(n -T)~[~y»_(n -T).............................(10) -o ~-o Here, in order to enhance the precision of delay extraction of adaptive codebook for woman's voice or child's voice, the delay of adaptive codebook may be calculated not by integer sample value but by decimal sample value. For example, the detailed method is described in P. Kroon et al., "Pitch Predictors with High Temporal Resolution", Proc. ICASSP, pp.661-664, 1990 (prior art 11).
Further, the adaptive codebook circuit 500 conducts the pitch prediction according to equation 10, outputting the predictive residual signal ey(n) to the excitation quantization circuit 350.
e",(n) ° x",(n) ' ~'(n -T)~h,Y(n)....................................(11) The excitation quantization circuit 350 that serves to output quantizing the excitation signal of speech signal by using spectral parameter sets up m pulses as the excitation signal. Also, the excitation quantization circuit 350 has B-bit of amplitude codebook or polarity codebook for quantizing M of pulse amplitudes in a lump.
The example of using the polarity codebook is explained below. The polarity codebook is stored in a sound-source codebook 352.
The excitation quantization circuit 350 reads the polarity code vector stored in the sound-source codebook 352, assigning a position to each code vector, selecting such multiple combinations of code vector and position that minimizes equation 12 below.
~I'(n) - a",(i)h",(~ - n), n - 0,...., N -1 (12) where h.,(n) is perceptual weighting impulse response. Equation 12 can be minimized if only calculating the combination of polarity code vector g,;~ and position m; to maximize equation 13 below.
D~k.i, (~e"~(n)s,..k(rn;)]'-~[~sNk(m;).............................(13) -o ~-o Alternatively, they can be selected by maximizing equation 14 below. This can reduce the amount of calculation required to the numerator in equation.
-17_ Dot.;, ° [~~(n)v'k(n)] ~[ s ~(m,).............................(14) -o ~-o where, ~(n) _ ~e".(i)Ji".(i - n), n = 0,...., N -1 (15) Here, the position where each pulse can exist can be restricted so as to reduce the amount of calculation, as shown in prior art 4.
For example, when N=40 and M=5, the position where each pulse can exist is as shown in Table 2.
Table 2 Pulse Number Position First ulse 0, 5. 10, 15. 20, 25, 30, 35 Second ulse 1, 6, 1l, 16, 21, 26, 31, 36 Third ulse 2, 7, 12, 17, 22, 27, 32, 37 Fourth _ulse 3, 8, 13, 1_8,2_3,__2_8,33, 38 Fifth pulse ~ 4, 9, 14, 19, 24, 29, 34, 39 After searching the polarity code vector, the excitation quantization circuit 350 outputs the multiple selected combinations of polarity code vector and position to the gain quantization circuit 365.
The gain quantization circuit 365 that serves to output quantizing the gain of excitation signal is input with the multiple selected combinations of polarity code vector and pulse gosition from the excitation quantization circuit 350, The gain quantization circuit 365 reads gain code vector from a gain codebook 380, searching such gain code vector that equation 16 can be minimized in the multiple selected combinations of polarity code vector and pulse position, selecting such one combination of gain code vector, polarity code vector and position that can minimize the distortion.
Dk = ~~x,~(n) - ~;~(n -T)~hw(n) - G'~ L8'rk h».(n - m~)l'' (16) ~.o Herein explained is an example that the gain quantization -1 g_ circuit 365 conducts simultaneously the sector quantization of both the gain of adaptive codebook and the gain of pulse-indicated sound-source. The gain quantization circuit 365 outputs index to indicate the polarity code vector, code to indicate the position and index to indicate the gain code vector to the multiplexes 600.
Meanwhile, the codebook to quantize the amplitude of multiple pulses may be, in advance, subject to the learning by using speech signal, and then stored. For example, the method of learning the codebook is described in Linde et al . , "An Algorithm for Vector Quantization Design", IEEE Trans. Commun.,pp.84-95, January, 1980 (prior art 12 ) .
The weighting signal calculation circuit 360 is explained below.
The weighting signal calculation circuit 360 is input with each index, reading code vector corresponding to the index, then calculating drive excitation signal v(n) according to equation 17.
i'(n) - Q c v(n - T )~hW(n) + G~; ~ 8~~k a(n m,)l (1~) .-i The drive excitation signal v (n) is output to the adaptive codebook circuit 500. Then, the weighting signal calculation circuit 360 calculates response signal s"(n) for each subframe by using the output parameter of the spectral parameter calculation circuit 200 and the output parameter of the spectral parameter quantization circuit 210 according to equation 18, outputting it to the response signal calculation circuit 240.
s"(n) ° v(ri) - ~a,~'(n - i) + ~a;Y'P(n - i) + ~ a,Y~s" (n -i)............................(18) The multiplexes 600 is input with index to indicate the code vector of quantized LSP for the fourth subframe from the spectral parameter quantization circuit 210, input with the combination of polarity code vector and position from the excitation quantization circuit 350, input with index to indicate the polarity code vector, code to indicate the position and index to indicate the gain code vector from the gain quantization circuit 365. Based on these inputs, the multiplexes 600 outputs reconstructing the code corresponding to speech signal divided into subframes. Thus, the encoding of input speech signal is completed.
In this speech encoding system, the limiter circuit 411 is input with the delay of adaptive codebook obtained for the previous subframe, and the pitch cycle search range is limited so that the delay of adaptive codebook obtained for the previous subframe is not discontinuous to the delay of adaptive codebook to be obtained for the current subframe, and the pitch cycle search range limited is output to the pitch calculation circuit 400.
The pitch calculation circuit 400 is input with output signal X"(n) of the perceptual weighting circuit 230 and the pitch cycle search range output from the limiter 411, calculating the pitch cycle Tai, then outputting at least one pitch cycle Toy to the adaptive codebook circuit 500. The adaptive codebook circuit 500 is input with the perceptual weighting signal x'"(n), the past excitation signal v(n) output from the gain quantization circuit 365, the perceptual weighting impulse response h"(n) output from the impulse response calculation circuit 310, and the pitch cycle Tai from the pitch calculation circuit 400, searching near the pitch cycle, calculating the delay of adaptive codebook. By using the above composition, the delay of adaptive codebook obtained for each subframe can be prevented from being discontinuous in the process of time.
<Second Embodiment>
Referring to FIG.2, the composition of a speech encoding system in the second preferred embodiment according to the invention will be explained. This speech encoding system is different from the system in FIG.1, as to the operations of the adaptive codebook circuit and excitation quantization circuit. In FIG.2, like components are indicated by like numerals used in FIG.1.
The adaptive codebook circuit 511 calculates the delay of adaptive codebook so as to minimize equation 8, then outputting multiple prospects to the excitation quantization circuit 351. For these prospects, in the excitation quantization circuit 351 and gain quantization circuit 365, the quantization of sound-source and gain is conducted as in the first embodiment, and, finally, one combination tominimize equation 16 is selected from the multiple prospects. The other operations are similar to those in the first embodiment.
Also in this speech encoding system, the search range of pitch cycle is limited based on the delay of adaptive codebook calculated in the past. Therefore, the delay of adaptive codebook calculated for each subframe can be prevented from being discontinuous in the process of time.
<Third Embodiment>
Referring to FIG.3, the composition of a speech encoding system in the third preferred embodiment according to the invention will be explained. This speech encoding system is different from the system in FIG.1 in that it is provided with a mode determination circuit 800 and the operation of the limiter circuit is altered. In FIG.3, like components are indicated by like numerals used in FIG.1.
With the mode determination circuit 800 enabling to set multiple modes, though not shown, the operational conditions of adaptive codebook circuit 500 can be changed depending on the mode to be set.
Thus, an optimum encoding can be set for each mode, and therefore a high-quality speech encoding can be performed at a low bit rate.
The mode determination circuit 800 extracts characteristic quantity by using the output signal of the perceptual weighting circuit 230, thereby determining the mode for each frame. Here, as the characteristic quantity, pitch predictive gain can be used. The pitch predictive gain obtained for each subframe is averaged in the entire frame, this average is compared with multiple predetermined thresholds and is classi f ied into one of multiple predetermined modes .
For example, herein, four kinds of modes are used. In this case, modes 0, 1, 2 and 3 correspond approximately to voiceless section, transitional section, weak vocal section and strong vocal section, respectively. For example, according to these modes, the limiter circuit 412 does not limit the pitch cycle search at mode 0, and limits the pitch cycle search at modes 1, 2 and 3. Like this, it switches the search range. Meanwhile, information to indicate the mode determined is also output from the mode determination circuit 800 to the multiplexer 600. The other operations are similar to those in the first embodiment.
<Fourth Embodiment>
Referring to FIG.4, the composition of a speech encoding system in the fourth preferred embodiment according to the invention will be explained. This speech encoding system is different from the system in FIG.2 in that it is provided with the mode determination circuit 800 and the operation of the limiter circuit is altered. In FIG.4, like components are indicated by like numerals used in FIG.2.
Pith the mode determination circuit 800 enabling to set multiple modes like the third embodiment, a high-quality speech encoding can be performed at a low bit rate.
The mode determination circuit 800 extracts characteristic quantity by using the output signal of the perceptual weighting circuit 230, thereby determining the mode for each frame. Here, as the characteristic quantity, pitch predictive gain can be used. The pitch predictive gain obtained for each subframe is averaged in the entire frame, this average is compared with multiple predetermined thresholds and is classified into one of multiple predetermined modes .
For example, herein, four kinds of modes are used. In this case, modes 0, 1, 2 and 3 correspond approximately to voiceless section, transitional section, weak vocal section and strong vocal section, respectively. For example, according to these modes, the limiter circuit 412 does not limit the pitch cycle search at mode 0, and limits the pitch cycle search at modes 1, 2 and 3. Like this, it switches the search range. Meanwhile, information to indicate the mode determined is also output from the mode determination circuit 800 to the multiplexes 600. The other operations are similar to those in the second embodiment.
Although the invention has been described with respect to specific embodiment for complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modification and alternative constructions that may be occurred to one skilled in the art which fairly fall within the basic teaching here is set forth.
limiting a search range for a delay of an adaptive codebook based on the delay of an adaptive codebook calculated in the past;
calculating the delay, within the search range, and a gain for said adaptive codebook using excitation signal quantized in the past; quantizing the excitation signal of said speech signal by using said spectral parameter; and quantizing the gain of said 14 excitation signal.
According to another aspect of the invention, a speech encoding system comprising a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal; an adaptive codebook unit that calculates delay and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain; an excitation quantization unit that quantizes the excitation signal of said speech signal by using said spectral parameter; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits said search range for said pitch cycle based on the delay of said adaptive codebook calculated in the past.
According to another aspect of the invention, a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates, within a search range, a pitch cycle from said speech signal; an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain; an excitation quantization unit that quantizes the excitation signal of said speech signal for each of said multiple delays by using said spectral parameter and by then selecting one with smaller signal distortion; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits the search range for said delay based on the delay selected by said excitation quantization unit in the past.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding method, comprising the steps of calculating a spectral parameter from a current frame of speech signal to be input and quantizing said spectral parameter;
deciding a search range for a delay of an adaptive codebook based on the delay calculated in the past and a coding mode calculating said delay in said search range and gain for an adaptive codebook for said current frame of said speech signal using excitation signal from a previous frame of said speech signal quantizing the excitation signal of said current frame of said speech signal using said spectral parameter; and quantizing the gain of said excitation signal.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding method, comprising the steps of calculating a spectral parameter from a current frame of speech signal to be input and quantizing said spectral parameter;
deciding search range for a delay of an adaptive codebook at the current subframe based on the delay calculated in the past and a coding mode; calculating said delay in said search range and gain for said adaptive codebook for said current subframe of said speech signal using excitation signal from a previous subframe of said speech signal; quantizing the excitation signal of said current subframe of said speech signal using said spectral parameter; and quantizing the gain of said excitation signal.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal, an adaptive codebook unit that calculates a delay and gain for an adaptive codebook for said current frame of said speech signal using excitation signal from a previous frame of said speech signal, and that outputs said calculated delay and gain; an excitation quantization unit that quantizes the excitation signal of said current frame of said speech signal using said spectral parameter; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said pitch cycle based on the delay calculated in the past and a coding mode.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal, an adaptive codebook unit that calculates delay and gain for an adaptive codebook for said current subframe of said speech signal using excitation signal from a previous subframe of said speech signal, and that outputs said calculated delay and gain; an excitation quantization unit that quantizes the excitation signal of said current subframe of said speech signal using said spectral parameter; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said pitch cycle of the current subframe based on the delay calculated in the past and a coding mode.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising: a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter; a pitch calculation unit that calculates a pitch cycle, within a search range from said speech signal, an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook for said current frame of said speech signal using excitation signal from a previous frame of said speech signal, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said current frame of said speech signal using said spectral parameter and by selecting one with smaller signal distortion; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said pitch cycle based on the delay selected by said excitation quantization unit in the past and a coding mode.
According to another aspect of the invention, which is claimed in the parent Application Serial No. 2,290,859, there is provided a speech encoding system, comprising a spectral parameter calculation unit that calculates a spectral parameter from a current frame of speech signal to be input and quantizes said spectral parameter a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal, an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook for said current subframe of said speech signal using excitation signal from a previous subframe of said speech signal, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said current subframe of said speech signal using said spectral parameter by then selecting one with smaller signal distortion; a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that decides said search range for said delay of the current subframe based on the delay selected by said excitation quantization unit in the past and a coding mode.
In this invention, the limiter unit is input with the delay _8_ of adaptive codebook obtained for the previous subfrare, and the search range of pitch cycle is limited so that the delay of adaptive codebook obtained for the previous subfrar"e is not discontinuous to the delay of adaptive codebook to be obtained for the current subframe, and the search range of pitch cycle limited is output to the pitch calculation unit.
The pitch calculation unit is input with perceptual weighting output signal and the search range of pitch cycle output from the lir~iter unit, calculating the pitch cycle, then outputting at least one pitch cycle to the adaptive co3ebook unit. The adaptive codebook unit is input with the perceptual weighting signal, the past excitation signal output from the gain quantization unit, the perceptual weighting impulse response output from the impulse response calculation circuit, and the pitch cycle from the pitch calculation unit, searching near the pitch cycle, calculating the delay of adaptive codebook. Ey using the above composition, the delay of adaptive codebook obtained for each subfrar~e can be prevented fro;,i being discontinuous in the process of time.
The invention will be explained in pore detail in conjunction with the appended drawings, wherein FIG. 1 is a block diagrar. sho~aing the cor~position of a 2~ speech encoding syste;a in a first preferred embodiment according to the invention, FIG. 2 is a block diagram showing the composition of a speech encoding systen in a second preferred e;~aodiment according to the invention, FIG.3 is a black diagram showing the composition of a speech encoding system in a third preferred embodiment according to the invention, and FIG.4 is a block diagram showing the composition of a speech encoding system in a fourth preferred embodiment according to the invention:
The preferred embodiments according to the invention will be explained referring to the drawings.
<First Embodiment>
FIG.1 is a block diagram showing the composition of a speech encoding system in the first preferred embodiment according to the invention. This speech encoding system is configured adding a pitch calculation circuit 400, a delay circuit 410 and a limiter circuit S11 to a speech encoding system that is similar to a speech encoding system disclosed in Japanese patent application laid-open No.08-320700 (1996) (prior art 3) which is filed by the inventor of the present application. Meanwhile, although two sets of gain codebooks are provided for the system in prior art 3, one gain codebook is provided herein.
The speech encoding systen is provided with a frame division circuit 110 that divides speech signal to be input from an input terminal 100 into frames of, e.g. 20 ms. The frames are output to a subframe division circuit 120 and a spectral parameter calculation circuit 200. The subfrarne division circuit 120 divides frame speech signal into subframes of, e.g. 5 ms, shorter than the frame.
The spectral parameter calculation circuit 200 applies a window (e.g. 24 ms) longer than the length of subframe to at least one subframe speech signal to take out voice, calculating the spectral parameter at a predetermined number of order, e.g. P=10. Here, the calculation of spectral parameter can be performed by using well-known LPC analysis, Burg analysis etc. Herein, the Burg analysis is used. The details of the Burg analysis are, for example, described in Nakamizo, "Signal Analysis and System Identification", CORONA Corp., pp.82-87, 1988 (prior art 4). Therefore the explanation is omitted herein. Further, in the spectral parameter calculation circuit 200, linear predictive coefficient as (i=1, ..., 10) calculated by the Burg method is converted into LSP (line spectrum pair) parameter that is suitable for quantization or interpolation.
Here, the conversion from the linear predictive coefficient to the LSP is described in Sugamura et al . , "Speech Information Compression by Line Spectrum Pair (LSP) Speech Analysis and Synthesis", J. of IECEJ. J64-A, pp.599-606, 1981 (prior art 5) . For example, a linear predictive coefficient calculated for second and fourth subframes by the Burg method is converted into LSP parameter, thereby LSP for first and third subframes is calculated by linear interpolation, the LSP calculated by the interpolation is inverse-transformed to a linear predictive coefficient, and linear predictive coefficients ail (i=1, ..., 10. 1=1, .... 5) of the first to fourth subframes are output to an perceptual weighting circuit 230. Also, LSP for the fourth subframe is output to a spectral parameter quantization circuit 210.
The spectral parameter quantization circuit 210 refers to a LSP
codebook 211, quantizing efficiently the LSP parameter of a predetermined subframe, outputting a quantization value to minimize distortion D~ given by:
D~ =~,W(i)(LSP(i)-QLSP(i)~]'-.......................(1) where LSP (i) , QLSP (i) j and w (i) are the i~,,-order LSP before the quantization, the j~;~ result after the quantization and weight coefficient, respectively.
In the examples below, vector quantization is used as the quantization method and the LSP parameter for the fourth subframe is quantized. The vector quantization of LSP parameter can be performed by using well-known methods . For example, the methods are described in Japanese patent application laid-open No.04-171500 (1992) (prior art 6), Japanese patent application laid-open No.04-363000 (1992) (prior art 7), Japanese patent application laid-open No.05-6199 (1993) (prior art 8), T. Nomura et al., "LSP
Coding Using VQ-SVQ with Interpolation in 4.075 kbps M-LCELP Speech Coder", Proc. Mobile Multimedia Communications, pp.B.2.5, 1993 (prior art 9). Therefore, the explanation is omitted herein.
Also, the spectral parameter quantization circuit 210 restores the LSP parameters for the fizst to fourth subframes, based on the LSP parameter to be quantized for the fourth subframe. Hereupon, by conducting the linear interpolation using quantized LSP parameter for the fourth subframe of the current frame and quantized LSP
parameter for the fourth subframe of the previous frame, LSPs for the first to third subframes of the current frame are restored. Here, after selecting such one kind of code vector that can minimize the error electric power between LSP before quantization and LSP after quantization, LSPs for the first to fourth subframes can be restored by linear interpolation. In order to further enhance the performance, after selecting multiple prospective code vectors to minimize the error electric power, for each prospective code vector, the accumulated distortion accumulated is evaluated. Then, the combination of a prospective code vector to minimize the accumulated distortion and an interpolation LSP can be selected. The detailed method is, for example, is described in Japanese patent application laid-open No.06-222797 (1994) (prior art 10).
The spectral parameter quantization circuit 210 converts the LSPs for the first to third subframes, restored as described above, and the quantized LSP for the fourth subframe into linear predictive coefficient a'il (i=1, ..., 10, 1a1, ..., 5) for each subframe, outputting them to an impulse response calculation circuit 310. Also, it outputs an index to indicate the code vector of the quantized LSP
for the fourth subframe to a multiplexer 600.
The spectral parameter calculation circuit 200, the spectral parameter quantization circuit 210 and the LSP codebook 211 compose a spectral parameter calculation uniC for calculating the spectral parameter of input speech signal, quantizing it, then outputting it.
Also, the speech encoding system is provided with the perceptual weighting circuit 230 to conduct the perceptual weighting. The perceptual weighting circuit 230 is input with linear predictive coefficient a'il (i=1, ..., 10, 1=1, ..., 5) before the quantization for each subframe from the spectral parameter calculation circuit 200, and according to prior art 1, it conducts the perceptual weighting to the subframe speech signal, then outputting perceptual weighting signal X"(n) . ' The pitch calculation circuit 400 is input with the perceptual weighting signal X;,(n) of the perceptual weighting circuit 230 and a pitch cycle search range to be output from the limiter circuit 411, calculating a pitch cycle To, within this pitch cycle search range, outputting at least one pitch cycle to an adaptive codebook circuit 500. Selected as the pitch cycle TaD is such a value that, within this p itch cycle search range, maximizes the equation below.
Sap-~,Xw~n)"Xw~n'~"Too)~~, X;,(rt+ToP)........................(2) where L is a pitch analysis length. Here, the pitch calculation circuit 400 is a pitch calculator that outputs calculating the pitch cycle from speech signal, and the limiter circuit 411 is a limiter that when searching the pitch cycle, limits the search range based on the delay of adaptive codebook calculated previously.
The delay circuit 410 is disposed between the adaptive codebook circuit 500 and the limiter circuit 411. The delay circuit 410 is input with the delay of adaptive codebook of the current subframe from the adaptive codebook circuit 500, storing the value until processing the next subframe, outputting the delay of adaptive codebook of the previous subframe to the limiter circuit 411.
The limiter circuit 411 is input with the delay of adaptive codebook calculated for the previous subframe to be output from the delay circuit 410, then outputs the pitch cycle search range. The limiting is, for example, performed as below.
At first, prepared is a table that the range of pitch cycle to be searched is divided into three sections as shown in Table 1.
Table 1 section 1 17, 18, 19, 20, 31, 32, 33, 35 .., section 2 36, 37, 38, 39, _68,69, 70, 71 ..._.
section 3 72, 73 74, 75, 141,142, 143, 144 , For example, if the delay of adaptive codebook calculated for the previous subframe belongs to section 1, then the search range is limited to section 1 and section 2. Here, as the division table for the pitch cycle search range, another table other than Table 1 may be used. Alternatively, the table may be changed in the process of time.
A response signal calculation circuit 240 to calculate response signal is input with linear predictive coefficient a i1 for each subframe from the spectral parameter calculation circuit 200, input with linear predictive coefficient a 'i1, which is quantized, interpolated and restored, for each subframe from the spectral parameterquantization circuit210, thencalculating response signal that input signal is made zero [d(n)=0] for one subframe by using a stored value of filter memory, outputting it to a subtracter 235.
Here, response signal x=(n) is given by:
x;(n) = d (n) - ~ «,.d (n - i) + ~ a. y' y(n - i) + ~ a;' Y'x~ (n -i)............................(3) .-t .-t .-i in case of (n-i)~0, y(n-i)=p(N+(n-i))..............................(4) and x=(n-i)=s"(N+(n-i)).....................(5) where N is a subframe length, Y is a weighting coefficient to control the amount of perceptual weighting and is the same value as that in equation 8 described later, s~(n) and p(n) are output signal of a weighting signal calculation circuit 360 and output signal represented as a denominator of the first section (filter) at the right side of equation 7, described later, respectively. The weighting signal calculation circuit 360 is explained later.
The subtracter 235, according to the equation below, subtracts response signal x=(n) to one subframe fromperceptual weighting signal X"(n) to be output from the perceptual weighting circuit 230, then outputting x'~(n) to the adaptive codebook circuit 500.
DT -~x','',,(n)-[~,x",(n)f",(n-T))''~[~Yi(n-T)).............................(6) -o ~-o ~-o Further, provided is the impulse response calculation circuit 310 that calculates impulse response from quantized spectral parameter. The impulse response calculation circuit 310 calculates a predetermined number L of the impulse response h., (n) of perceptual weighting filter that the z-transform is represented by the equation below, then outputting'it the adaptive codebook circuit 500 and a excitation quantization circuit 350.
-IS-a' ' 1 1 _ ~-' ....................,...................(7) 1-~ay'~'' 1-~a.'y~~-;
.-t ~-t The adaptive codebook circuit 500 calculates delay T and gain j~ by the adaptive codebook from excitation signal quantized in the past based on the output of the pitch calculation circuit 400, calculating the residue (predictive residual signal e"(n)) by predicting the speech signal, outputting the delay T, gain ~ and predictive residual signal e~(n) . The adaptive codebook circuit 500 is input with past excitation signal v(n) from a gain quantization circuit 365, described later, output signal x'"(n) from the subtracter 235, perceptual weighting impulse response h"(n) from the impulse response calculation circuit 310, and pitch cycle ToD from the pitch calculation circuit400. The adaptive codebook circuit 500 searches near the pitch cycle To,, calculating delay T of adaptive codebook so as to minimize the distortion in the equation below, then outputting index to indicate the delay of adaptive codebook to the multiplexer 600. Further the value of delay of adaptive codebook is also output to the delay circuit 410.
Dr =~x'W (n)-(~x~",(n)y",(n-T)]~~(~yW(n-T)J-.............................(8) -o n-o ~-o where, 2 0 y" (n - T) - v(n - T)~h" (n)....................................(9) In equation 9, code (*) represents convolution operation. Then the adaptive codebook circuit 500 calculates gain ~ according to the equation below.
~ ° ~x".(n)y",(n -T)~[~y»_(n -T).............................(10) -o ~-o Here, in order to enhance the precision of delay extraction of adaptive codebook for woman's voice or child's voice, the delay of adaptive codebook may be calculated not by integer sample value but by decimal sample value. For example, the detailed method is described in P. Kroon et al., "Pitch Predictors with High Temporal Resolution", Proc. ICASSP, pp.661-664, 1990 (prior art 11).
Further, the adaptive codebook circuit 500 conducts the pitch prediction according to equation 10, outputting the predictive residual signal ey(n) to the excitation quantization circuit 350.
e",(n) ° x",(n) ' ~'(n -T)~h,Y(n)....................................(11) The excitation quantization circuit 350 that serves to output quantizing the excitation signal of speech signal by using spectral parameter sets up m pulses as the excitation signal. Also, the excitation quantization circuit 350 has B-bit of amplitude codebook or polarity codebook for quantizing M of pulse amplitudes in a lump.
The example of using the polarity codebook is explained below. The polarity codebook is stored in a sound-source codebook 352.
The excitation quantization circuit 350 reads the polarity code vector stored in the sound-source codebook 352, assigning a position to each code vector, selecting such multiple combinations of code vector and position that minimizes equation 12 below.
~I'(n) - a",(i)h",(~ - n), n - 0,...., N -1 (12) where h.,(n) is perceptual weighting impulse response. Equation 12 can be minimized if only calculating the combination of polarity code vector g,;~ and position m; to maximize equation 13 below.
D~k.i, (~e"~(n)s,..k(rn;)]'-~[~sNk(m;).............................(13) -o ~-o Alternatively, they can be selected by maximizing equation 14 below. This can reduce the amount of calculation required to the numerator in equation.
-17_ Dot.;, ° [~~(n)v'k(n)] ~[ s ~(m,).............................(14) -o ~-o where, ~(n) _ ~e".(i)Ji".(i - n), n = 0,...., N -1 (15) Here, the position where each pulse can exist can be restricted so as to reduce the amount of calculation, as shown in prior art 4.
For example, when N=40 and M=5, the position where each pulse can exist is as shown in Table 2.
Table 2 Pulse Number Position First ulse 0, 5. 10, 15. 20, 25, 30, 35 Second ulse 1, 6, 1l, 16, 21, 26, 31, 36 Third ulse 2, 7, 12, 17, 22, 27, 32, 37 Fourth _ulse 3, 8, 13, 1_8,2_3,__2_8,33, 38 Fifth pulse ~ 4, 9, 14, 19, 24, 29, 34, 39 After searching the polarity code vector, the excitation quantization circuit 350 outputs the multiple selected combinations of polarity code vector and position to the gain quantization circuit 365.
The gain quantization circuit 365 that serves to output quantizing the gain of excitation signal is input with the multiple selected combinations of polarity code vector and pulse gosition from the excitation quantization circuit 350, The gain quantization circuit 365 reads gain code vector from a gain codebook 380, searching such gain code vector that equation 16 can be minimized in the multiple selected combinations of polarity code vector and pulse position, selecting such one combination of gain code vector, polarity code vector and position that can minimize the distortion.
Dk = ~~x,~(n) - ~;~(n -T)~hw(n) - G'~ L8'rk h».(n - m~)l'' (16) ~.o Herein explained is an example that the gain quantization -1 g_ circuit 365 conducts simultaneously the sector quantization of both the gain of adaptive codebook and the gain of pulse-indicated sound-source. The gain quantization circuit 365 outputs index to indicate the polarity code vector, code to indicate the position and index to indicate the gain code vector to the multiplexes 600.
Meanwhile, the codebook to quantize the amplitude of multiple pulses may be, in advance, subject to the learning by using speech signal, and then stored. For example, the method of learning the codebook is described in Linde et al . , "An Algorithm for Vector Quantization Design", IEEE Trans. Commun.,pp.84-95, January, 1980 (prior art 12 ) .
The weighting signal calculation circuit 360 is explained below.
The weighting signal calculation circuit 360 is input with each index, reading code vector corresponding to the index, then calculating drive excitation signal v(n) according to equation 17.
i'(n) - Q c v(n - T )~hW(n) + G~; ~ 8~~k a(n m,)l (1~) .-i The drive excitation signal v (n) is output to the adaptive codebook circuit 500. Then, the weighting signal calculation circuit 360 calculates response signal s"(n) for each subframe by using the output parameter of the spectral parameter calculation circuit 200 and the output parameter of the spectral parameter quantization circuit 210 according to equation 18, outputting it to the response signal calculation circuit 240.
s"(n) ° v(ri) - ~a,~'(n - i) + ~a;Y'P(n - i) + ~ a,Y~s" (n -i)............................(18) The multiplexes 600 is input with index to indicate the code vector of quantized LSP for the fourth subframe from the spectral parameter quantization circuit 210, input with the combination of polarity code vector and position from the excitation quantization circuit 350, input with index to indicate the polarity code vector, code to indicate the position and index to indicate the gain code vector from the gain quantization circuit 365. Based on these inputs, the multiplexes 600 outputs reconstructing the code corresponding to speech signal divided into subframes. Thus, the encoding of input speech signal is completed.
In this speech encoding system, the limiter circuit 411 is input with the delay of adaptive codebook obtained for the previous subframe, and the pitch cycle search range is limited so that the delay of adaptive codebook obtained for the previous subframe is not discontinuous to the delay of adaptive codebook to be obtained for the current subframe, and the pitch cycle search range limited is output to the pitch calculation circuit 400.
The pitch calculation circuit 400 is input with output signal X"(n) of the perceptual weighting circuit 230 and the pitch cycle search range output from the limiter 411, calculating the pitch cycle Tai, then outputting at least one pitch cycle Toy to the adaptive codebook circuit 500. The adaptive codebook circuit 500 is input with the perceptual weighting signal x'"(n), the past excitation signal v(n) output from the gain quantization circuit 365, the perceptual weighting impulse response h"(n) output from the impulse response calculation circuit 310, and the pitch cycle Tai from the pitch calculation circuit 400, searching near the pitch cycle, calculating the delay of adaptive codebook. By using the above composition, the delay of adaptive codebook obtained for each subframe can be prevented from being discontinuous in the process of time.
<Second Embodiment>
Referring to FIG.2, the composition of a speech encoding system in the second preferred embodiment according to the invention will be explained. This speech encoding system is different from the system in FIG.1, as to the operations of the adaptive codebook circuit and excitation quantization circuit. In FIG.2, like components are indicated by like numerals used in FIG.1.
The adaptive codebook circuit 511 calculates the delay of adaptive codebook so as to minimize equation 8, then outputting multiple prospects to the excitation quantization circuit 351. For these prospects, in the excitation quantization circuit 351 and gain quantization circuit 365, the quantization of sound-source and gain is conducted as in the first embodiment, and, finally, one combination tominimize equation 16 is selected from the multiple prospects. The other operations are similar to those in the first embodiment.
Also in this speech encoding system, the search range of pitch cycle is limited based on the delay of adaptive codebook calculated in the past. Therefore, the delay of adaptive codebook calculated for each subframe can be prevented from being discontinuous in the process of time.
<Third Embodiment>
Referring to FIG.3, the composition of a speech encoding system in the third preferred embodiment according to the invention will be explained. This speech encoding system is different from the system in FIG.1 in that it is provided with a mode determination circuit 800 and the operation of the limiter circuit is altered. In FIG.3, like components are indicated by like numerals used in FIG.1.
With the mode determination circuit 800 enabling to set multiple modes, though not shown, the operational conditions of adaptive codebook circuit 500 can be changed depending on the mode to be set.
Thus, an optimum encoding can be set for each mode, and therefore a high-quality speech encoding can be performed at a low bit rate.
The mode determination circuit 800 extracts characteristic quantity by using the output signal of the perceptual weighting circuit 230, thereby determining the mode for each frame. Here, as the characteristic quantity, pitch predictive gain can be used. The pitch predictive gain obtained for each subframe is averaged in the entire frame, this average is compared with multiple predetermined thresholds and is classi f ied into one of multiple predetermined modes .
For example, herein, four kinds of modes are used. In this case, modes 0, 1, 2 and 3 correspond approximately to voiceless section, transitional section, weak vocal section and strong vocal section, respectively. For example, according to these modes, the limiter circuit 412 does not limit the pitch cycle search at mode 0, and limits the pitch cycle search at modes 1, 2 and 3. Like this, it switches the search range. Meanwhile, information to indicate the mode determined is also output from the mode determination circuit 800 to the multiplexer 600. The other operations are similar to those in the first embodiment.
<Fourth Embodiment>
Referring to FIG.4, the composition of a speech encoding system in the fourth preferred embodiment according to the invention will be explained. This speech encoding system is different from the system in FIG.2 in that it is provided with the mode determination circuit 800 and the operation of the limiter circuit is altered. In FIG.4, like components are indicated by like numerals used in FIG.2.
Pith the mode determination circuit 800 enabling to set multiple modes like the third embodiment, a high-quality speech encoding can be performed at a low bit rate.
The mode determination circuit 800 extracts characteristic quantity by using the output signal of the perceptual weighting circuit 230, thereby determining the mode for each frame. Here, as the characteristic quantity, pitch predictive gain can be used. The pitch predictive gain obtained for each subframe is averaged in the entire frame, this average is compared with multiple predetermined thresholds and is classified into one of multiple predetermined modes .
For example, herein, four kinds of modes are used. In this case, modes 0, 1, 2 and 3 correspond approximately to voiceless section, transitional section, weak vocal section and strong vocal section, respectively. For example, according to these modes, the limiter circuit 412 does not limit the pitch cycle search at mode 0, and limits the pitch cycle search at modes 1, 2 and 3. Like this, it switches the search range. Meanwhile, information to indicate the mode determined is also output from the mode determination circuit 800 to the multiplexes 600. The other operations are similar to those in the second embodiment.
Although the invention has been described with respect to specific embodiment for complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modification and alternative constructions that may be occurred to one skilled in the art which fairly fall within the basic teaching here is set forth.
Claims (3)
1. A speech encoding method, comprising the steps of:
calculating a spectral parameter from speech signal to be input and quantizing said spectral parameter;
limiting a search range for a delay of an adaptive codebook based on the delay of an adaptive codebook calculated in the past;
calculating the delay, within the search range, and a gain for said adaptive codebook using excitation signal quantized in the past;
quantizing the excitation signal of said speech signal by using said spectral parameter; and quantizing the gain of said excitation signal.
calculating a spectral parameter from speech signal to be input and quantizing said spectral parameter;
limiting a search range for a delay of an adaptive codebook based on the delay of an adaptive codebook calculated in the past;
calculating the delay, within the search range, and a gain for said adaptive codebook using excitation signal quantized in the past;
quantizing the excitation signal of said speech signal by using said spectral parameter; and quantizing the gain of said excitation signal.
2. A speech encoding system comprising:
a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter;
a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal;
an adaptive codebook unit that calculates delay and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said speech signal by using said spectral parameter;
a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits said search range for said pitch cycle based on the delay of said adaptive codebook calculated in the past.
a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter;
a pitch calculation unit that calculates a pitch cycle within a search range from said speech signal;
an adaptive codebook unit that calculates delay and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said speech signal by using said spectral parameter;
a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits said search range for said pitch cycle based on the delay of said adaptive codebook calculated in the past.
3. A speech encoding system, comprising:
a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter;
a pitch calculation unit that calculates, within a search range, a pitch cycle from said speech signal;
an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said speech signal for each of said multiple delays by using said spectral parameter and by then selecting one with smaller signal distortion;
a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits the search range for said delay based on the delay selected by said excitation quantization unit in the past.
a spectral parameter calculation unit that calculates a spectral parameter from speech signal to be input and quantizes said spectral parameter;
a pitch calculation unit that calculates, within a search range, a pitch cycle from said speech signal;
an adaptive codebook unit that calculates multiple delays and gain for an adaptive codebook using excitation signal quantized in the past, and that outputs said calculated delays and gain;
an excitation quantization unit that quantizes the excitation signal of said speech signal for each of said multiple delays by using said spectral parameter and by then selecting one with smaller signal distortion;
a gain quantization unit that quantizes the gain of said excitation signal; and a limiter unit that limits the search range for said delay based on the delay selected by said excitation quantization unit in the past.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-337805 | 1998-11-27 | ||
JP33780598A JP3180786B2 (en) | 1998-11-27 | 1998-11-27 | Audio encoding method and audio encoding device |
CA002290859A CA2290859C (en) | 1998-11-27 | 1999-11-25 | Speech encoding method and speech encoding system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002290859A Division CA2290859C (en) | 1998-11-27 | 1999-11-25 | Speech encoding method and speech encoding system |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2435224A1 true CA2435224A1 (en) | 2000-05-27 |
Family
ID=28042548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002435224A Abandoned CA2435224A1 (en) | 1998-11-27 | 1999-11-25 | Speech encoding method and speech encoding system |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2435224A1 (en) |
-
1999
- 1999-11-25 CA CA002435224A patent/CA2435224A1/en not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2202825C (en) | Speech coder | |
CA2186433C (en) | Speech coding apparatus having amplitude information set to correspond with position information | |
CA2271410C (en) | Speech coding apparatus and speech decoding apparatus | |
CA2290859C (en) | Speech encoding method and speech encoding system | |
JP3582589B2 (en) | Speech coding apparatus and speech decoding apparatus | |
JPH09319398A (en) | Signal encoder | |
CA2239672C (en) | Speech coder for high quality at low bit rates | |
CA2336360C (en) | Speech coder | |
EP1154407A2 (en) | Position information encoding in a multipulse speech coder | |
JP3144284B2 (en) | Audio coding device | |
JP3319396B2 (en) | Speech encoder and speech encoder / decoder | |
JP3299099B2 (en) | Audio coding device | |
CA2435224A1 (en) | Speech encoding method and speech encoding system | |
JP3153075B2 (en) | Audio coding device | |
JP3232701B2 (en) | Audio coding method | |
JPH0830299A (en) | Voice coder | |
JP3047761B2 (en) | Audio coding device | |
CA2325322A1 (en) | Voice coding and decoding apparatus and method thereof | |
JPH0519796A (en) | Excitation signal encoding and decoding method for voice | |
JP3471542B2 (en) | Audio coding device | |
JP3232728B2 (en) | Audio coding method | |
JPH08194499A (en) | Speech encoding device | |
JPH0844397A (en) | Voice encoding device | |
JPH0876800A (en) | Voice coding device | |
JPH09319399A (en) | Voice encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |