MXPA01002654A - Celp encoding/decoding method and apparatus - Google Patents

Celp encoding/decoding method and apparatus

Info

Publication number
MXPA01002654A
MXPA01002654A MXPA/A/2001/002654A MXPA01002654A MXPA01002654A MX PA01002654 A MXPA01002654 A MX PA01002654A MX PA01002654 A MXPA01002654 A MX PA01002654A MX PA01002654 A MXPA01002654 A MX PA01002654A
Authority
MX
Mexico
Prior art keywords
codebook
signal block
identification
signal
code
Prior art date
Application number
MXPA/A/2001/002654A
Other languages
Spanish (es)
Inventor
Jonas Svedberg
Uvliden Anders
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 MXPA01002654A publication Critical patent/MXPA01002654A/en

Links

Abstract

A multi-codebook fixed bitrate CELP signal block encoder/decoder includes a codebook selector (22) for selecting, for each signal block, a corresponding codebook identification in accordance with a deterministic selection procedure that is independent of signal type. Included are also means for encoding/decoding each signal block by using a codebook having the selected codebook identification.

Description

METHOD AND DEVICE FOR CODING / DECODING CELP TECHNICAL FIELD The present invention relates to a CELP signal block coding / decoding method and apparatus of multiple codebook book bit rate and multi-code book structure.
BACKGROUND OF THE INVENTION CELP speech coders typically use codebooks to store excitation vectors that are intended to excite synthesis filters to produce a synthetic speech signal. For high bit rates, these codebooks contain a wide variety of excitation vectors to deal with a large spectrum of sound types, however, at low bit rates, for example around 4-7 bis / s, the The number of bits available for the index code book is limited, which means that the number of vectors to be selected should be reduced. Therefore, the low bit rate coders will have a code book structure that is a compromise between precision and richness. These encoders will give regular speech quality for some types of sound and rarely acceptable quality for other types of sound. In order to solve this problem with low-bit rate encoders, a number of multi-mode solutions has been presented [1-5]. References [1-2] describe variable bit rate coding methods that utilize a bit rate distribution. dynamic bit, where the type of sound to be encoded controls the number of bits that are used for encoding. References [3-4] describe constant bit rate coding methods that use various codebooks of equal size that are optimized for different types of sound. The type of sound to be encoded controls which codebook is used. These prior art coding methods all have the disadvantage that the mode information has to be transferred from the encoder to decode in order for the decoder to use the correct decoding mode. This mode information, however, requires extra bandwidth Reference [5] describes a method of coding multiple modes of constant bit rate that also uses codebooks of equal size. In this case a gain of adaptation code book already determined from the previous sub-frame is used to switch from one encoding mode to another coding mode. Since this parameter is transferred from encoder to decoder in any way, extra information is not required. This method, however, is sensitive to bit errors in the gain factor caused by the transfer channel.
COMPENDIUM OF THE INVENTION An object of the present invention is an encoding / decoding scheme in which coding is improved without the need to explicitly transmit coding mode information from the encoder to the decoder. This object is solved in accordance with the appended claims. Briefly. The present invention accomplishes the above object by using several different codebooks of equal size. Each codebook is weak for some signals, but the other codebooks do not share this weakness for those signals. By decisively switching (without regard to the type of signal) between these block code books from speech to speech block, the coding quality is improved. There is no need to transfer information in which the codebook was selected for a particular speech block, since both the encoder and the decoder use the same determinant switching algorithm, 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 together with the accompanying drawings, in which. Figure 1 is a block diagram of the synthesis part of a prior art CELP decoder / decoder.; Figure 2 is a block diagram of the synthesis part of a CELP decoder / decoder according to the present invention; Figure 3 is a diagram illustrating the structure of 4 different algebraic codebooks that are designed in accordance with a preferred embodiment of the present invention; Figure 4 is a block diagram of the synthesis part of another CELP decoder / decoder according to the present invention, and Figure 5 is a flow chart illustrating the CELP coding / decoding method of the present invention. invention, DETAILED DESCRIPTION OF THE PREFERRED MODALITIES In the following description and in the claims, the expression "encoder / decoder" is intended to imply either an encoder or a decoder, since the invention is equally applicable to both cases. Fig. 1 is a block diagram of the synthesis part of a coding / decoding device CELP (Code Excited Linear Prediction) of the prior art. The selected code vectors of a code book 10 are scaled by a G factor of scale in a gain block 12 and are sent to a long-term predictor 14 and then to a short thermal predictor 16. The output signal of the short-term predictor 16 is the final synthetic speech signal s (n) (before possible further processing). The long-term predictor 14 is controlled by control signals on a control line 18, whose signals control include a scale factor (gain) and a delay (delay). Similarly, the short-term predictor 16 is controlled by the control signals that represent filter coefficients in a control line 20. An encoder determines the control signals in the control lines 18, 20 and the best code by a search procedure (analysis by synthesis), while a decoder determines the same control signals and information code book vector received through a transmission channel. The basic principles of the present invention will now be described with reference to Figures 2 and 3. Figure 2 is a block diagram of the synthesis part of a CELP decoder / decoder according to the present invention. Elements 12-20 correspond to elements with the same reference designation in the prior art apparatus of Figure 1. However, instead of providing only one codebook 10 as in Figure 1. the apparatus of the present invention provides a set of equally sized codebook books 10A-D that have vectors of equal length. In figure 2, there are 4 codebooks, but the number of codebooks in the game can be both greater and less than this. number. However, the game must include , »« .., at least 2 code books Since the bit rate is low, each codebook will have some weak points. Therefore, code books are designed / trained in such a way that different codebooks in The game does not have the same weak points One way to see a code book is to consider it as a multidimensional "needle cushion" (typically 40-d? mens? onal), in which the "needles" represent code vectors. model a non-trained stochastic codebook would be represented by a "hyper-spherical" needle cushion in which the code vectors are evenly distributed in each "direction" (the codebook is "white") The training process mentioned above redistributes these vectors in such a way that certain "addresses" are more densely populated than other "addresses". The less densely populated "addresses" correspond to the weak points of the code book. The code is trained differently to ensure that codebooks do not have common weaknesses. Often a stochastic code book is approximated by an algebraic codebook. See [6] This codebook for example may contain vectors of code. code that have a length of 40 samples. However, only very few sample positions actually have values that differ from zero. In addition, in many of these algebraic codebooks the only allowed values (other than zero) are +1 or -1. Figure 3 is a diagram illustrating the structure of 4 different algebraic codebooks A-D that are designed in accordance with an exemplary embodiment of the present invention. These code books have a length of 40 samples and correspond to a sub-frame of 5 ms of speech. Each codebook has pairs of 2 tracks TRACK 0, TRACK 1. Each track has 8 allowed pulse positions P. For example, the second track on the first pair of TRACK 0 tracks in the codebook B has allowed pulse positions at sample positions 3, 8, 13, 18, 23, 28, 33, 38. As you can see from figure 3 the other tracks in a code book have other allowed pulse positions. Additionally, one track of a codebook can also be found in other codebooks, but on another track, finally, each codebook has sample positions excluded, which have been crossed out in figure 3. These are the "points" weak "of the code book. This codebook structure is summarized in the following table: CODE BOOK STRUCTURE Book of P P Track pair 0 Code A 0 0 5 10 15 20 25 30 35 1 2 7 12 17 22 27 32 37 B 0 0 5 10 15 20 25 30 35 1 3 8 13 18 23 28 33 38 C 0 0 5 10 15 20 25 30 35 1 2 7 12 17 22 27 32 37 D 0 0 5 10 15 20 25 30 35 1 3 8 13 18 23 2d 33 38 CODE BOOK STRUCTURE Track Book Pair Track 1 Pos Excluded Code A 0 1 6 11 16 21 26 31 36 4 9 14 19 24 1 3 8 13 18 23 28 33 38 29 34 39 B 0 2 7 12 17 22 27 32 37 1 6 11 16 21 1 4 9 14 19 24 29 34 39 26 31 36 C 0 1 6 11 16 21 26 31 36 3 8 13 18 23 1 4 9 14 19 24 29 34 39 28 33 38 D 0 1 6 11 16 21 26 31 36 2 7 12 17 22 1 4 9 14 19 24 29 34 29 27 32 37 When searching for one of these code books 1 pulse is placed in one of the allowed positions of track 0 and 1 pulse is placed in one of the allowed positions of track 1 of a pair of tracks. This impulse combination is used as a group of potential code vector. The group includes 4 possible code vectors, namely, 1 vector that has 2 positive pulses, 1 vector that has 2 negative pulses, and 2 vectors that have 1 positive and 1 negative pulse. Shifting the impulse positions within each of the 2 tracks in the track pair it becomes possible to form other of these code vector groups The same principles apply to the pair of tracks 1 Testing each possible combination selects the best code vector. This code vector is defined by its corresponding pair of tracks, 2 pulse positions in the tracks of this pair, and the impulse signs. This requires 1 bit to specify pair of tracks, 2 • 3 = 6 bits to specify pulse positions (8 positions are found in a track, which requires 3 bits) in the tracks of this pair, and 2 bits to specify the sign of Each pulse, In this way, a total of 9 bits defines a code vector. Turning to Figure 2, a codebook selector 22 selects one of the codebooks in the game to code / decode a block. of signal, for example a speech frame or sub-frame (typically a block has a length of 5-10 ms), This is done by controlling a switch 23 with a control signal on a control line 24 Switch 23 is controlled in accordance with a determining selection procedure that is independent of the type of signal 5 Here "determinant" means that the codebook selector 22 selects codebooks from the game for coding / decoding of each signal block but does so without no knowledge of signal type, and that the selection algorithm is the same for both the encoder as for the decoder and does not have to be transferred from encoder to decoder The encoder determines the best vector of the codebook selected in accordance with the aforementioned search procedure. Meanwhile he The decoder selects the corresponding vector in the same code book using the received "index" (code vector identifier). The 10A-D code books all have the same bit rate as their operating points. weak are not shared Switching determinantly between the code books of the signal block to the signal block the deficiencies of each codebook will be compensated during the time It has been found that the average perceived sound quality of the encoded audio signals and subsequently The decoding actually increases despite the fact that the signal type is not considered in the switching algorithm. This can be explained by noting that the resulting distortion of a single codebook is not repeated in each subframe or block. Instead, the Variable distortions will soften. In this way, the distortion of this low-bit rate (multi) code book is perceived as less annoying, since it is not repeated continuously. One modality of the selection algorithm is to sequentially and cyclically select each 10A-D codebook. The encoder and decoder are automatically in sync if the number of codebooks corresponds to the number of subframes in a frame and a codebook counter in the encoder and decoder is readjusted to each frame. Otherwise, synchronization can be achieved by readjusting a module n counter, where n is the number of codebooks, in both, encoder and decoder at the start and end of the call. Another selection algorithm is to use a pseudo-random sequence to select codebooks from the game. In this case, the seed of the algorithm that generates the pseudo-random sequence is known by both the encoder and decoder. The synchronization between the encoder and decoder for example a pseudo-random sequence which is based on transmitted and received frame parameters which are determined and analyzed before the codebook search can be achieved. Figure 4 is a block diagram of the synthesis part of another encoder / decoder CELP in accordance with the present invention This TS mode similar to the embodiment of figure 2 but in this case there are various 26A-C games of code books Each game contains books of code that do not share the same weak points just like in figure 2 but each game is also designed to handle different environments for example different types of signal or levels of background sounds The design of each game can be done for example in accordance with the principles described in [5] Figure 4 illustrates 3 sets of code books but 2 or more than 3 games are also possible As in fig. ura 2 a codebook is decisively selected for each signal block in this mode through the switches 23A-C and control lines 24A-C However before a codebook of a game is selected a selector 28 of game determines which game to use through a switch 29 and a control line 30, The game selector 28 bases its selection on information contained in the other parameters, previously determined, on lines 18, 20 and on element 12 of gain. This information, for example, can be determined from the LPC (Linear Predictive Code) or the parameters of LTP (Prolonged Term Predictor) or a combination of LPC and LTP parameters. For example, the detected stationary quality of the LTP parameters can be used to indicate the type of signal. Due to the fact that the parameters used for game selection will be transferred from the encoder to the decoder in any way, no width is lost. band to transfer game selection information. Preferably only protected parameters per channel are used for game detection Additionally, an especially preferred mode of the decoder / decoder of Figure 4 uses only those parts of the protected parameters per channel that have error detection to determine the set of parameters. code book to be used, For example, in the GSM system 6 of the 9 delay bits and 3 of the 4 gain bits of the LTP parameters are provided with error detection. Preferably, these bits are used with stationary test quality (about. let's say, 20 ms) to determine the code book set. Since the game selection precedes the codebook selection, the embodiment of Figure 4 allows a different number of codebooks in each game 26A-C. This requires a separate control line for each switch 23A-C and a separate switching algorithm in the codebook selector 22 for each set. If all games have the same number of code books, a common control line for all switches can be used. Additionally, this mode allows the possibility of inverting the game selections and code book (if allowed for reasons of cause) Typically the functionality of selectors 22, 28 of codebook game is implemented by or several microprocessors or micro / signal processor combinations. Figure 5 is a flow chart illustrating the CELP coding / decoding method of the present invention. The method starts in step SI selected © 1 next block to be encoded / decoded. Step S2 selects a codebook number in accordance with a determinant selection algorithm. Step S3 selects / removes the best vector from the selected codebook, then the procedure returns to step SI. If several sets of codebooks are used, as in the embodiment of Figure 3, there will be an extra S4 step (shown with dashed lines in Figure 5) that determines the appropriate codebook set. This step S4 may precede or follow later (if allowed for reasons of cause) of step S2. It will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departing from the scope thereof, which is defined by the appended claims.
REFERENCES [1] M. Yong and A. Gersho, "Vector Excitation Coding with Dynamic Bit Distribution", Proc GLOBCOM, p. 290-294, December 1988. [2] N. S. Jayant and J. H. Chen, "Speech Coding with Bit Distribution of Variation in Time to Excitation and LPC Parameters", Proc. ICASSP, p. 65-68, May 1989. [3] T. Taniguchi et al. "Multi-Mode Coding: Application to CELP", Proc. ICASSP, p. 156-159, May 1989. [4] M Akamme and Miseki, "CELP Coding with an Adaptation Density Impulse Excitation Model", Proc, ICASSP, pp. 29-32, 1990. [5] K. Ozawa and M. Seriza a, "Coding Speech CELP based on High Quality Multi Impulses at 6 4 kb / s and Subjective Evaluation ", Proc ICASSP, pp. 153-156, 1998. [6] JP Adoul et al. "Fast CELP Coding Based on Algebraic Codes", Proc ICASSP, pp. 1957-1960, 1987.

Claims (3)

CLAIMS:
1. - A CELP signal block coding / decoding method of fixed bit rate of multiple codebooks, characterized by selecting, for each signal block, a corresponding codebook identification in accordance with a determinant selection procedure that is independent of the type of signal; and coding / decoding each signal block using a codebook having the codebook identification selected.
2. The method according to claim 1, characterized by providing several sets of codebooks, determining for each signal block, a corresponding set of codebooks based on previously determined values of other block characterization parameters. signs; selecting, for each signal block, a corresponding codebook identification in the game determined in accordance with a determining selection procedure that is independent of the signal type; and encoding / decoding each signal block using a codebook from the given set having the selected codebook identification
3. The method according to claim 1, characterized by selecting, for each signal block, a identification of corresponding code book in accordance with a determining selection procedure that is independent of the type of signal; providing several sets of codebooks, determining, for each signal block, a corresponding set of codebooks based on previously determined values of other signal block characterization parameters; and coding / decoding each signal block using a particular game codebook having the codebook identification selected 4 - The method according to claim 2 or 3, characterized by the other parameters that are protected by channel . 5 - The method according to claim 4, characterized by using only parts of the parameters protected by channel that allow error detection. 6 - The method according to any of the preceding claims, characterized by the determinant selection procedure that is defined staggering cyclically through each codebook identification in the codebook sets. 7. The method according to any of the preceding claims 1-5, characterized by the determinant selection procedure that is defined by randomly staggering through each codebook identification in the codebook sets, 8.- The method according to any of the preceding claims, characterized in that the code books are fixed codebooks. 9. The method according to claim 8, characterized by the code books that are algebraic codebooks. 10. The method according to any of the preceding claims, characterized by the signal block that is an audio frame. 11. The method according to any of the preceding claims 1-9, characterized by the signal block which is an audio sub-frame. 12. A CELP signal block encoder / decoder of a fixed bit rate of multiple codebooks, characterized by a codebook selector for selecting, for each signal block, a corresponding codebook identification in accordance with a determining selection procedure that is independent of the type of signal and means for coding / decoding each signal block using a codebook having the selected codebook identification 13 - The encoder / decoder f icator according to claim 12 characterized by several sets of code books a game selector to determine, for each block signal a corresponding set of code books based on previously determined values of other signal block characterization parameters a codebook selector for selecting for each signal block a corresponding codebook identification in the set determined in accordance with a determining selection procedure that is independent of the type of signal and means for coding / decoding each signal block using a codebook from the given set having the codebook identification selected 14 - The codifier / decoder according to claim 12 characterized by a codebook selector for selecting for each signal block a corresponding codebook identification in accordance with a determinant selection procedure that is independent of the signal type several sets of books of code a game selector to determine, for each signal block a corresponding set of code books based on previously determined values of other signal block characterization parameters And means to code / decode each block d? signal using a codebook from the given set having the codebook identification selected 15 - The encoder / decoder according to claim 12, 13 or 14 characterized by the step codebook selector cyclically through of each codebook identification in code book sets 16 - The encoder / decoder according to claim 12 13 or 14 characterized by the codebook selector that randomly scales through each book identification of code in the code book games. 17, - The encoder / decoder d? any of the preceding claims 12-16, characterized by the code books which are fixed codebooks. 18. The encoder / decoder according to claim 17, characterized by the code books that are algebraic codebooks. 19.- A codebook selection method for CELP signal block coding / decoding of fixed bit rate of multiple codebooks, characterized by: selecting, for each signal block, a corresponding codebook identification of conformity with a determining selection procedure that is independent of the type of signal. 20, - The method according to claim 19, characterized by the determinant selection procedure that is defined by staggering cyclically through each codebook identification in a set of codebooks. 21. The method according to claim 19, characterized by the determinant selection method that is defined by randomly staggering through each codebook identification in a set of books d? code 22.- A codebook selection apparatus for encoding / decoding CELP signal block of fixed bit rate of multiple codebooks, characterized by: a codebook selector for selecting, for each signal block, a identification of corresponding code book in accordance with a determining selection procedure that is independent of the type of signal 23, - the encoder / decoder according to claim 22, characterized by the codebook selector that cycles cyclically through of each codebook identification in a set of code books 24, - The encoder / decoder according to claim 22, characterized by the codebook selector randomly staggering through each book identification. of code in a set of code books 25.- A structure of multiple algebraic codebooks, characterized by ca The codebook has separate tracks with different predetermined allowed pulse positions and excluded pulse positions; and each codebook has different positions d? impulse excluded,
MXPA/A/2001/002654A 1998-09-16 2001-03-14 Celp encoding/decoding method and apparatus MXPA01002654A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9803164-4 1998-09-16

Publications (1)

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

Family

ID=

Similar Documents

Publication Publication Date Title
CA2343191C (en) Celp encoding/decoding method and apparatus
US9852740B2 (en) Method for speech coding, method for speech decoding and their apparatuses
Atal High-quality speech at low bit rates: Multi-pulse and stochastically excited linear predictive coders
KR20010024935A (en) Speech coding
EP0578436B1 (en) Selective application of speech coding techniques
JPH0944195A (en) Voice encoding device
MXPA01002654A (en) Celp encoding/decoding method and apparatus
JP4510977B2 (en) Speech encoding method and speech decoding method and apparatus
JP2943983B1 (en) Audio signal encoding method and decoding method, program recording medium therefor, and codebook used therefor
JP3798433B2 (en) Method and apparatus for smoothing pitch cycle waveform
JPH04333900A (en) Voice encoding device
JPH01177225A (en) System and device for encoding/decoding sound signal
JP3984021B2 (en) Speech / acoustic signal encoding method and electronic apparatus
JP2004046232A (en) Voice decoding device and its method