MXPA01002655A - Linear predictive analysis-by-synthesis encoding method and encoder - Google Patents

Linear predictive analysis-by-synthesis encoding method and encoder

Info

Publication number
MXPA01002655A
MXPA01002655A MXPA/A/2001/002655A MXPA01002655A MXPA01002655A MX PA01002655 A MXPA01002655 A MX PA01002655A MX PA01002655 A MXPA01002655 A MX PA01002655A MX PA01002655 A MXPA01002655 A MX PA01002655A
Authority
MX
Mexico
Prior art keywords
vector
gains
encoder
subframes
filter
Prior art date
Application number
MXPA/A/2001/002655A
Other languages
Spanish (es)
Inventor
Roar Hagen
Erik Ekudden
Original Assignee
Telefonaktiebolaget Lm Ericsson
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson filed Critical Telefonaktiebolaget Lm Ericsson
Publication of MXPA01002655A publication Critical patent/MXPA01002655A/en

Links

Abstract

A linear predictive analysis-by-synthesis encoder includes a search algorithm block (50) and a vector quantizer (58) for vector quantizing optimal gains from a plurality of subframes in a frame. The internal encoder states are updated using (50, 52, 54, 56) the vector quantized gains.

Description

METHOD OF CODING OF ANALYSIS-PO-LINEAR PREDICTIVE SYNTHESIS AND ENCODER TECHNICAL FIELD The present invention relates to a coding method of linear predictive synthesis-analysis (LPAS) and encoder.
BACKGROUND OF THE INVENTION The dominant coding model in cellular application is the Code Excited Linear Prediction (CELP) technology. This waveform matching procedure is known to work well, at least for bit rates of say 8kb / s or more. However, when the bit rate is reduced, the coding efficiency decreases as the number of bits available for each parameter decreases and the precision of quantization suffers. [1] and [2] suggest quantitative vector gain methods collectively related to information in various sub-frames. However, these methods do not consider the internal states of the encoder and decoder. The result will be that the decoded signal in the decoder will differ from the optimal synthesized signal in the encoder COMPENDIUM OF THE INVENTION An object of the present invention is a coding method based on CELP analysis by predictive synthesis line (LPAS) and encoder that is efficient at low bit rates, typically at bit rates less than 8 kbits / s and synchronizes its internal states with those of the decoder This object is solved in accordance with the appended claims Briefly, the present invention increases coding efficiency by means of optimal vector quantization gain parameters of various subframes. The internal encoder states are then updated using quantized vector gains. This reduces the number of bits required to encode a frame while maintaining synchronization between the internal states of the encoder and decoder.
BRIEF DESCRIPTION OF THE DRAWINGS The invention, together with additional objects and advantages thereof, can be better understood by reference to the following description taken in conjunction with the accompanying drawings, in which Figure 1 is a block diagram illustrating an LPAS encoder typical of the prior art; Figure 2 is a flow chart illustrating the method according to the present invention; and Figure 3 is a block diagram illustrating an embodiment of an LPAS encoder in accordance with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED MODALITIES In order to better understand the present invention, this specification will begin with a short description of a typical LPAS encoder. Figure 1 is a block diagram illustrating said typical LPAS encoder of the prior art. The encoder comprises an analysis part and a synthesis part. In the analysis part, a linear predictor 10 receives speech frames (typically 20 ms of speech sampled at 8000 Hz) and determines the filter coefficients to control, after quantization in a quantizer 12, a filter 12 of synthesis (typically a filter of all poles of the order of 10). The unquantized filter coefficients are also _afca > at < B «» "7 - x'aáy used to control the weighing filter 18 In the code vectors and synthesis part of a book 18 of adaptation codes and a book 20 of fi x codes are scaled in the elements 22 and 24 of scale, respectively, and the scaled vectors are added in an adder 26 to form an excitation vector that excites the synthesis filter 14 This results in a synthetic speech signal s A feedback line 28 updates the book 18 adaptation code with new excitation vectors An adder 30 forms the difference e between the actual speech signal s and the synthetic speech signal s This error signal e is weighted in the weighing filter 16, and the new error signal heavy is sent to a block 32 of search algorithm The search algorithm block 32 determines the best combination of the coding vectors ca, cf of the code books 18, 20 and the gains ga, gf in elements 22, 24 of he scale evaluation on control lines 34, 36, 38 and 40, respectively, minimizing the distance measurement D = || ew || 2 = | | W • (s - f) | | = | | -W • s - W • H • (ga ca + gf cf) | | 2 (1) on a frame Here W denotes a weigh filter matrix and H denotes a synthesis filter matrix The search algorithm can be summarized as follows 5 For each frame 1 The synthesis filter 14 is computed by linear prediction and the filter coefficients 2 are quantized. Linear prediction coefficients 10 are interpolated between the current and the previous frame (in some domain, v gr, Line Spectrum Frequencies) to obtain linear prediction coefficients for each subframe (typically 5). more than spoken to 8000 samples Hz, that is, 40 samples) The weighing filter 16 is computed from the linear prediction filter coefficients for each subframe within the table 2 Find the vector code ca looking for the 2nd book 18 of adaptation code assuming that gf is zero and that ga is equal to the optimal value (not quantified) 2 Find the vector cf of code looking for the book 20 of fi x code and using the vector ca code and the Ga gain found in the z j ^ ¡b. • < • * - »J * ._ _. . > ~.? > -f_.?vm i previous step The gain gf is assumed equal to the optimal value (not quantified) 3 Quantify the ga and gf factors of gain The quantification method can be quantification of scale or vector 4 Update the book 18 of adaptation code with the generated excitation signal of ac and cf and the quantized values of ga and gf Update the synthesis status and the weighing filter In the structure described, each sub-frame is separately coded This facilitates synchronization encoder and decoder, and is an essential feature of LPAS coding. Due to the separate coding of subframes, the internal states of the decoder, which correspond to the synthesis part of an encoder, are updated in the same way during the decoding in which the internal states of the decoder were updated during coding This synchronizes the internal states of the decoder and decoder However, it is also desirable to increase the use of vector quantization as much as possible since this method is known to provide accurate coding at low bit rates As will be shown below In accordance with the present invention, it is possible to quantify vector gains in various sub-frames simultaneously and still maintain synchronization between the encoder and decoder. The present invention will now be described with reference to Figures 2 and 3. Figure 2 is a flow chart illustrating the method according to the present invention. The following algorithm can be used to encode 2 consecutive subframes (assuming that the linear prediction analysis, quantization and interpolation have already been performed in accordance with the prior art): 51 Find the best vector code of adaptation code book (of sub-frame length) for sub-frame 1 by minimizing the heavy error: DAI = | | swl - swl | | 2 = | | -Wl • yes - Wl -Hl -gal • cal | | 2 (2) of sub-table 1. Here "1" refers to sub-box 1 in whole equation (2) Furthermore, it is assumed that the optimal value (not quantized) of gal is used when evaluating each possible vector cal. 52 Find the best cfl vector code book for subframe 1 by minimizing the heavy error DF1 = | | swl - swl | | 2 = | | Wl si - Wl Hl • (gal cal + gfl cfl) | | 2 (3) assuming that the optimal gfl value is used when evaluating every possible cfl vector In this step the vector cal was determined in step SI and the optimal gal value is used Store a copy of this adaptation code book current, the current synthesis filter status as well as the current weighing filter status The adaptation code book is a FIFO element (First Inside First Out) The status of this element is represented by the values that are currently in the FIFO A filter is a combination of delay elements, scale-up elements and adders The state of a filter is represented by the current input signals of the delay elements AND the scale values (filter coefficients) Update the adaptation code book status the state synthesis of filter as well as the filter status of weighed using the temporary excitation vector * & xl = gal cal + gfl cfl of subframe 1 found in steps SI and S2 In this way this vector is shifted to the adaptation code book (and a vector of the same length moves out of the adaptation code book in the another end) The synthesis filter status and the weigh filter status are updated by updating the respective filter coefficients with their interpolated values and feeding this excitation vector through the synthesis filter and the resulting error vector to through the weighing filter S5 Find the best adaptation codebook vector c2 for subframe 2 by minimizing the heavy error DA2 = | | sw2 - sw2 | | 2 = | | W2 s2 - W2 H2 ga2 ca2 | | 2 (4) of sub-table 2 Here "2" refers to sub-frame 2 through the equation (4j) Furthermore, it is assumed that the optimal value (not quantized) of ga2 is used when evaluating each possible ca2 vector S6 Find the best cf2 codebook vector for subframe 2 by minimizing the heavy error: DF2 | sw2 - sw2 | | 2 = | | W2 • s2 - W2 • H2 • (qa2 • ca2 + gf2 cf2) | 2 (5) 5 assuming that the optimal gf2 value is used when evaluating every possible cf2 vector In this step, the vector ca2 that was determined in step S5 and the optimal ga2 value are used S7 Quantify in vector all the gains gal, 10 gfl, ga2, and gf2 The corresponding quantized vector [gal gfl ga2d gf2] is obtained from a gain code book by the vector quantifier.This codebook can be represented as: 15 [gal gfl ga2 gf 2] t e1 { 0, (0) c, (1) C, (2) cA ^)] t} u-í (6) 1-0 where c. (O), cy (2) and c. (3) are the specific values to which the gains can be quantified. In this way, i, that you can vary from 0 to N-1, it is selected to represent all 4 gains, and the task of the vector quantifier is to find this index. This is achieved by minimizing the next expression. 25 DG = a • DG1 + ß DG2 (7 where a, ß are constants and the gain quantification criteria for sub-frames l9 and 2a are provided by: DG1 = | | swl - swl || 2 = | | W1 if - Wl -Gl • (c. (0) -cal + c. (L) -cfl) | | 2 (8) DG2 = || SW2 - SW2 || 2 = | | Wl • s2 - W1-H2- (ct (2) 'ca2 + c. (3) cf2) | | 2 (9) Therefore j = arg min. { a-DGl + ß DG2} (10) And [gal gfl ga2 gf2] t = c} (0) Cj (1) Cj (2) cj (3)] T (11) S8 Restore adaptation code book status, synthesis filter status and weigh filter status by removing the states stored in step S3 S9 Update adaptation code book, synthesis filter and weigh filter using the final excitation for the Ia subframe, this time with quantified gains, that is, xl = gal • cal + gfAcfl SIO Update the adaptation code book, synthesis filter and weighing filter using the final excitation for the 2nd sub-frame, this time with quantized gains, that is, x2 = ga2 - ca2 + gf 2 • cf 2. The coding process is now finished for both subframes. The next step is to repeat steps S1-S10 for the next 2 sub-frames or, if the end of a frame has been reached, start a new coding cycle with linear prediction of the following frame. The reason for storing and restoring states of the adaptation code book, synthesis filter and weigh filter is that the unquantized (optimal) gains are used to update these elements in step S4. However, these gains are not available in the decoder, since they are calculated from the actual speech signal s Instead, only the quantized gains will be available in the decoder, which means that the correct internal states have to be recreated in the encoder after the decoder. quantification of earnings. Otherwise, the encoder and decoder will not have the same internal states, which would result in different synthetic speech signals in the encoder and decoder for the same speech parameters. The weighing factors a, ß in equations (7) and (10) are included to take into account the relative importance of the ls and 2a subframes. They are advantageously determined by the energy parameters so that the high energy subframes obtain a weight lower than the low 5 energy subframes This improves the functioning in the principles (beginning of word) and end (end of word) Other functions of weighing for example, based on the voice during the segments of no beginning or end, are also feasible An appropriate algorithm for this weighing process 10 can be summarized as If the energy of sub-frame 2 >; 2 for the energy of subframe 1 then a = 2ß If the energy of subframe 2 < 0 25 for the energy of subframe 1 then a = 0 5β 15 otherwise a = ß Figure 3 is a block diagram illustrating an embodiment of an LPAS encoder in accordance with the present invention The elements -10-40 correspond to similar elements in FIG. 1. However, the search algorithm block 32 has been replaced by a search algorithm block 50 which, in addition to the codebooks and scale elements, controls the blocks 52 54 56 of storage and a vector quantizer 58 across lines 60 62 - ^ aite. Tie ja > * r * < j., j ~? t_á__B ». - J-g * «-. «As» nt _ »» J_ »»? M m. _ nßt. 64 and 66 of control, respectively. Storage blocks 52 54 and 56 are used to store and restore states of adaptation code book 18, synthesis filter 14 and weighing filter 16, respectively. Vector quantizer 58 is found the best gain quantization vector from a gain code book 6d The functionality of the algorithm search block 50 and the vector quantizer 58 for example is implemented as one or more microprocessors or micro / processor combinations In the previous description, it has been assumed that the gains of 2 subframes are quantized per vector. If it is acceptable to increase the complexity, an additional performance improvement can be obtained by extending this idea and quantifying by vector the gains of all the subframes of a speech table This requires following several subframes again in order to obtain the correct final internal states in the After the quantification by vector of the gains, it has been shown that the quantization by vector of gains over limits of subframe is possible without sacrificing the synchronization between encoder and decoder This significantly improves the compression performance and allows significant bit-rate savings. For example, it has been found that when 6 bits are used for quantization by 2-dimensional vector of 5 gains in each sub-frame, 8 bits can be used in quanti fi cation per 4-dimensional vector of gains of 2 sub-frames without loss of quality. this way, 2 bits are saved per subframe (1/2 (2 * 6)). This corresponds to 0 4 kbits / s for sub-frames of 5 ms, a very significant savings at low bit rates (less than 8 kbits / s, for example) It should be noted that no algorithmic delay is introduced, since processing is only changed in the subframe and not at the frame level In addition, this changed processing is associated with only a small increase in complexity. The preferred embodiment, which includes error weighing between the sub-frames (a, β) leads to improved speech quality. It will be understood by those skilled in the art that various modifications and changes may be made to the present invention without abandoning the scope thereof, which is defined by the appended claims.
REFERENCES [1] EP 0 764 939 (AT & T), page 6 paragraph A - page 7 [2] EP 0 684 705 (Nippon Telegraph &Telephone) col 30 line 17 - col 40, line 4 TO:

Claims (7)

1. - A coding method of analysis by linear predictive synthesis, characterized by: determining optimal gains of a plurality of subframes; quantify the optimal gains by vector; and update the internal encoder states using the quantized gains per vector.
2 - The method according to claim 1, characterized by storing an internal encoder state after encoding a subframe with optimal gains, restoring the internal encoder state after the quantization of the gain vector of various subframes; and updating the internal encoder states using determined codebook vectors and the quantized gains per vector.
3 - The method according to claim 2, characterized by the internal filter states including an adaptation codebook state, a synthesis filter state and a weigh filter status.
4. - The method according to claim 1, 2 or 3, characterized by vector quantification gains of 2 subframes.
5. The method according to claim 1, 2 or 3, characterized by quantifying by vector all the gains of all the sub-frames of the table.
6. The method according to claim 1, characterized by. We weigh error contributions of different subframes by weighing factors; and minimize the sum of heavy error contributions.
7. The method according to claim 6, characterized by each weighing factor that depends on the energy of its corresponding sub-frame 8.- An analysis encoder by linear predictive synthesis, characterized by a search algorithm block to determine profits optimal of a plurality of subframes a vector quantifier to quantify by vector the optimal gains; and means for updating the internal encoder states using the quantized gains per vector. 9. The encoder according to claim 8, characterized by means for storing an internal encoder state after encoding a subframe with optimal gains; means for restoring the internal encoder state after quantization by vector of gains of various subframes; and means for updating the internal encoder states using determined codebook vectors and the quantized gains per vector. 10. The encoder according to claim 9, characterized by the means for storing internal filter states including a storage means of adaptation code book state, a storage medium of synthesis filter state and a medium storage condition of heavy filter. 11. The encoder according to claim 8, 9 or 10, characterized by means to quantify by means of vector gains of 2 subframes, 12.- The encoder in accordance with the su- -M-í _? ZI-claim 8, or 10, characterized by means for quantifying by vector all the gains of all the sub-frames of a speech frame. 13. The encoder according to claim 8, characterized by means for weighing error contributions of different subframes by weighing factors and minimizing the sum of the heavy error contributions 14. The method according to claim 13 , characterized by means for determining weighing factors that depend on the energy of corresponding subframes. J.4.
MXPA/A/2001/002655A 1998-09-16 2001-03-14 Linear predictive analysis-by-synthesis encoding method and encoder MXPA01002655A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9803165-1 1998-09-16

Publications (1)

Publication Number Publication Date
MXPA01002655A true MXPA01002655A (en) 2001-11-21

Family

ID=

Similar Documents

Publication Publication Date Title
USRE49363E1 (en) Variable bit rate LPC filter quantizing and inverse quantizing device and method
US6345248B1 (en) Low bit-rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
KR100304682B1 (en) Fast Excitation Coding for Speech Coders
WO1994023426A1 (en) Vector quantizer method and apparatus
WO2002093551A2 (en) Method and system for line spectral frequency vector quantization in speech codec
CA2342353C (en) An adaptive criterion for speech coding
US7047188B2 (en) Method and apparatus for improvement coding of the subframe gain in a speech coding system
US6330531B1 (en) Comb codebook structure
US6704703B2 (en) Recursively excited linear prediction speech coder
CA2344302C (en) Linear predictive analysis-by-synthesis encoding method and encoder
JPH0341500A (en) Low-delay low bit-rate voice coder
US20040148162A1 (en) Method for encoding and transmitting voice signals
MXPA01002655A (en) Linear predictive analysis-by-synthesis encoding method and encoder
Tzeng Analysis-by-synthesis linear predictive speech coding at 2.4 kbit/s
KR100346729B1 (en) Method of drawing up noise codebook for use in code-excited linear prediction coding method
Salami et al. A fully vector quantised self-excited vocoder
KR100389898B1 (en) Method for quantizing linear spectrum pair coefficient in coding voice
JPH05165498A (en) Voice coding method