This application claims priority from Korean Patent Application No. 2003-10484, filed Feb. 19, 2003, in the Korean Industrial Property Office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a speech coding system, and more particularly, to a method and apparatus for quantizing line spectral frequency (LSF) using block-constrained Trellis coded quantization (BC-TCQ).
2. Description of the Related Art
For high quality speech coding in a speech coding system, it is very important to efficiently quantize linear predictive coding (LPC) coefficients indicating the short interval correlation of a voice signal. In an LPC filter, an optimal LPC coefficient value is obtained such that after an input voice signal is divided into frame units, the energy of the prediction error for each frame is minimized. In the third generation partnership project (3GPP), the LPC filter of an adaptive multi-rate wideband (AMR_WB) speech coder standardized for International Mobile Telecommunications-2000 (IMT-2000) is a 16-dimensional all-pole filter and at this time, for quantization of 16 LPC coefficients being used, many bits are allocated. For example, the IS-96A Qualcomm code excited linear prediction (QCELP) coder, which is the speech coding method used in the CDMA mobile communications system, uses 25% of the total bits for LPC quantization, and Nokia's AMR_WB speech coder uses a maximum of 27.3% to a minimum of 9.6% of the total bits in 9 different modes for LPC quantization.
So far, many methods for efficiently quantizing LPC coefficients have been developed and are being used in voice compression apparatuses. Among these methods, direct quantization of LPC filter coefficients has the problems that the characteristic of a filter is too sensitive to quantization errors, and stability of the LPC filter after quantization is not guaranteed. Accordingly, LPC coefficients should be converted into other parameters having a good compression characteristic and then quantized and reflection coefficients or LSFs are used. Particularly, since an LSF value has a characteristic very closely related to the frequency characteristic of voice, most of the recently developed voice compression apparatuses employ a LSF quantization method.
In addition, if inter-frame correlation of LSF coefficients is used, efficient quantization can be implemented. That is, without directly quantizing the LSF of a current frame, the LSF of the current frame is predicted from the LSF information of past frames and then the error between the LSF and its prediction frames is quantized. Since this LSF value has a close relation with the frequency characteristic of a voice signal, this can be predicted temporally and in addition, can obtain a considerable prediction gain.
LSF prediction methods include using an auto-regressive (AR) filter and using a moving average (MA) filter. The AR filter method has good prediction performance, but has a drawback that at the decoder side, the impact of a coefficient transmission error can spread into subsequent frames. Although the MA filter method has prediction performance that is typically lower than that of the AR filter method, the MA filter has an advantage that the impact of a transmission error is constrained temporally. Accordingly, speech compression apparatuses such as AMR, AMR_WB, and selectable mode vocoder (SMV) apparatuses that are used in an environment where transmission errors frequently occur, such as wireless communications, use the MA filter method of predicting LSF. Also, prediction methods using correlation between neighbor LSF element values in a frame, in addition to LSF value prediction between frames, have been developed. Since the LSF values must always be sequentially ordered for a stable filter, if this method is employed additional quantization efficiency can be obtained.
Quantization methods for LSF prediction error can be broken down into scalar quantization and vector quantization (VQ). At present, the vector quantization method is more widely used than the scalar quantization method because VQ requires fewer bits to achieve the same encoding performance. In the vector quantization method, quantization of entire vectors at one time is not feasible because the size of the VQ codebook table is too large and codebook searching takes too much time. To reduce the complexity, a method by which the entire vector is divided into several sub-vectors and each sub-vector is independently vector quantized has been developed and is referred to as a split vector quantization (SVQ) method. For example, if in 10-dimensional vector quantization using 20 bits, quantization is performed for the entire vector, the size of the vector codebook table becomes 10×220. However, if a split vector quantization method is used, by which the vector is divided into two 5-dimensional sub-vectors and 10 bits are allocated for each sub-vector, the size of the vector table becomes just 5×210×2.
Many VQ methods have been developed including a method by which vector quantization is performed in a plurality of operations, a selective vector quantization method by which two tables are used for selective quantization, and a link split vector quantization method by which a table is selected by checking a boundary value of each sub-vector. These methods of LSF quantization can provide transparent sound quality, provided the encoding rate is large enough.
The present invention also provides an apparatus and method by which by applying the block-constrained Trellis coded quantization method, line spectral frequency coefficients are quantized.
According to an aspect of the present invention, there is provided a block-constrained (BC)-Trellis coded quantization (TCQ) method including: in a Trellis structure having total N (N=2v, here v denotes the number of binary memory elements in the finite-state machine defining the convolutional encoder) states, constraining the number of initial states of Trellis paths available for selection, within 2k (0≦k≦v) in total N states, and constraining the number of the states of a last stage within 2v−k among total N states according to the initial states of Trellis paths; after referring to initial states of N survivor paths determined under the initial state constraint by the constraining from a first stage to stage L-log2N (here, L denotes the number of the entire stages and N denotes the number of entire Trellis states), considering Trellis paths in which the state of a last stage is selected among 2v−k states determined by each initial state under the constraint that the state of a last stage is constrained by the remaining v stages; and obtaining an optimum Trellis path among the considered Trellis paths and transmitting the optimum Trellis path.
According to another aspect of the present invention, there is provided a line spectral frequency (LSF) coefficient quantization method in a speech coding system comprising: removing the direct current (DC) component in an input LSF coefficient vector; generating a first prediction error vector by performing inter-frame and intra-frame prediction of the LSF coefficient vector, in which the DC component is removed, quantizing the first prediction error vector by using BC-TCQ algorithm, and then, by performing intra-frame and inter-frame prediction compensation, generating a quantized first LSF coefficient vector; generating a second prediction error vector by performing intra-frame prediction of the LSF coefficient vector, in which the DC component is removed, quantizing the second prediction error vector by using the BC-TCQ algorithm, and then, by performing intra-frame prediction compensation, generating a quantized second LSF coefficient vector; and selectively outputting a vector having a shorter Euclidian distance to the input LSF coefficient vector between the generated quantized first and second LSF coefficient vectors.
According to still another aspect of the present invention, there is provided an LSF coefficient quantization apparatus in a speech coding system comprising: a first subtracter which removes the DC component in an input LSF coefficient vector and provides the LSF coefficient vector, in which the DC component is removed; a memory-based Trellis coded quantization unit which generates a first prediction error vector by performing inter-frame and intra-frame prediction for the LSF coefficient vector provided by the first subtracter, in which the DC component is removed, quantizes the first prediction error vector by using the BC-TCQ algorithm, and then, by performing intra-frame and inter-frame prediction compensation, generates a quantized first LSF coefficient vector; a non-memory Trellis coded quantization unit which generates a second prediction error vector by performing intra-frame prediction for the LSF coefficient vector, in which the DC component is removed, quantizes the second prediction error vector by using BC-TCQ algorithm, and then, by performing intra-frame prediction compensation, generates a quantized second LSF coefficient vector; and a switching unit which selectively outputs a vector having a shorter Euclidian distance to the input LSF coefficient vector between the quantized first and second LSF coefficient vectors provided by the memory-based Trellis coded quantization unit and the non-memory-based Trellis coded quantization unit, respectively.
Additional aspects and/or advantages of the invention will be set forth in part in the description which follows, and, in part, will obvious from the description, or may be learned by practice of the invention.
These and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
Prior to detailed explanation of the present invention, the Trellis coded quantization (TCQ) method will now be explained.
While ordinary vector quantizers require a large memory space and a large amount of computation, the TCQ method is characterized in that it requires a smaller memory size and a smaller amount of computation. An important characteristic of the TCQ method is quantization of an object signal by using a structured codebook which is constructed based on a signal set expansion concept. By using Ungerboeck's set partition concept, a Trellis coding quantizer uses an extended set of quantization levels, and codes an object signal at a desired transmission bit rate. The Viterbi algorithm is used to encode an object signal. At a transmission rate of R bits per sample, an output level is selected among 2R+1 levels when encoding each sample.
Referring to
The memory-based Trellis coded quantization unit 620 receives the LSF coefficient vector (x(n)), in which the DC component is removed, generates prediction error vector (ti(n)) by performing inter-frame prediction and intra-frame prediction, quantizes the prediction error vector (ti(n)) by using the BC-TCQ algorithm to be explained later, and then, by performing intra-frame and inter-frame prediction compensation, generates the quantized and prediction-compensated LSF coefficient vector ({circumflex over (x)}(n)), and provides the final quantized LSF coefficient vector ({circumflex over (f)}1(n)), which is obtained by adding the quantized and prediction-compensated LSF coefficient vector ({circumflex over (x)}(n)) and the DC component (fDC(n)) of the LSF coefficient vector, and is applied as input to the switching unit 640.
For this, MA prediction, for example, a fourth-order MA prediction algorithm is applied to the first predictor 621 and the first predictor 621 generates a prediction value obtained from prediction error vectors of previous frames (n−i, here i=1 . . . 4) which are quantized and intra-frame prediction-compensated. The second subtracter 622 obtains prediction error vector (e(n)) of the current frame (n) by subtracting the prediction value provided by the first predictor 621 from the LSF coefficient vector (x(n)), in which the DC component is removed.
To the second predictor 624, AR prediction, for example a first-order AR prediction algorithm is applied and the second predictor 624 generates a prediction value obtained by multiplying prediction factor (ρi) for the i-th element by the (i−1)-th element value ({circumflex over (e)}i−1(n)) which is quantized by the first BC-TCQ 626 and intra-frame prediction-compensated by the first adder 623. The third subtracter 625 obtains the prediction error vector of i-th element value (ti(n)) by subtracting the prediction value provided by the second predictor 624 from the i-th element value (ei(n)) in prediction error vector (e(n)) of the current frame (n) provided by the second subtracter 622.
The first BC-TCQ 626 generates the quantized prediction error vector with i-th element value ({circumflex over (t)}i(n)), by performing quantization of the prediction error vector with i-th element value (ti(n)), which is provided by the second subtracter 625, by using the BC-TCQ algorithm. The second adder 627 adds the prediction value of the second predictor 624 to the quantized prediction error vector with i-th element value ({circumflex over (t)}i(n)) provided by the first BC-TCQ 626, and by doing so, performs intra-frame prediction compensation for the quantized prediction error vector with i-th element value ({circumflex over (t)}i(n)) and generates the i-th element value (êi(n)) of the quantized inter-frame prediction error vector. The element value of each order forms the quantized prediction error vector ({circumflex over (e)}(n)) of the current frame.
The third adder 628 generates the quantized LSF coefficient vector ({circumflex over (x)}(n)), by adding the prediction value of the first predictor 612 to the quantized inter-frame prediction error vector ({circumflex over (e)}(n)) of the current frame provided by the second adder 627, that is, by performing inter-frame prediction compensation for the quantized prediction error vector ({circumflex over (e)}(n)) of the current frame. The fourth adder 629 generates the quantized LSF coefficient vector ({circumflex over (f)}1(n)), by adding DC component (fDC(n)) of the LSF coefficient vector to the quantized LSF coefficient vector ({circumflex over (x)}(n)) provided by the third adder 628. The finally quantized LSF coefficient vector ({circumflex over (f)}1(n)) is provided to one end of the switching unit 640.
The non-memory Trellis coded quantization unit 630 receives the LSF coefficient vector (x(n)), in which the DC component is removed, performs intra-frame prediction, generates prediction error vector (ti(n)), quantizes the prediction error vector (ti(n)) by using the BC-TCQ algorithm, which will be explained later, then performs intra-frame prediction compensation, and generates the quantized and prediction-compensated LSF coefficient vector ({circumflex over (x)}(n)). The non-memory Trellis coded quantization unit 630 provides the switching unit 640 with the finally quantized LSF coefficient vector ({circumflex over (f)}2(n)), which is obtained by adding quantized and prediction-compensated LSF coefficient vector ({circumflex over (x)}(n)) and DC component (fDC(n)) of the LSF coefficient vector.
For this, AR prediction, for example, a first-order AR prediction algorithm is used in the third predictor 632 and the third predictor 632 generates a prediction value obtained by multiplying prediction element (ρi) for the i-th element by the intra-frame prediction error vector with (i−1)-th element ({circumflex over (x)}i−1(n)) which is quantized by the second BC-TCQ 634 and then intra-frame prediction-compensated by the fifth adder 631. The fourth subtracter 633 generates the prediction error vector with i-th element (ti(n)) by subtracting the prediction value provided by the third predictor 632 from the i-th element (xi(n)) of the LSF coefficient vector (x(n)), in which the DC component is removed, provided by the first subtracter 610.
The second BC-TCQ 634 generates the quantized prediction error vector of i-th element value ({circumflex over (t)}i(n)), by performing quantization of the prediction error vector of i-th element (ti(n)), which is provided by the fourth subtracter 633, by using the BC-TCQ algorithm. The sixth adder 635 adds the prediction value of the third predictor 632 to the quantized prediction error vector of i-th element value ({circumflex over (t)}i(n)) provided by the second BC-TCQ 634, and by doing so, performs intra-frame prediction compensation for the quantized prediction error vector of i-th element value ({circumflex over (t)}i(n)) and generates the quantized and prediction-compensated LSF coefficient vector of i-th element value ({circumflex over (x)}i(n)). The LSF coefficient vector of the element values of each order forms the quantized prediction error vector ({circumflex over (e)}(n)) of the current frame. The seventh adder 636 generates the quantized LSF coefficient vector ({circumflex over (f)}2(n)), by adding the quantized LSF coefficient vector ({circumflex over (x)}(n)) provided by the sixth adder 635 to the DC component (fDC(n)) of the LSF coefficient vector. The finally quantized LSF coefficient vector ({circumflex over (f)}2(n)) is provided to one end of the switching unit 640.
Between LSF coefficient vectors ({circumflex over (f)}1(n), {circumflex over (f)}2(n)) quantized in the memory-based Trellis coded quantization unit 620 and the non-memory Trellis coded quantization unit 630, respectively, the switching unit 640 selects one that has a shorter Euclidian distance from the input LSF coefficient vector (f(n)), and outputs the selected LSF coefficient vector.
In the present embodiment, the fourth adder 629 and the seventh adder 636 are disposed in the memory-based Trellis coded quantization unit 620 and the non-memory Trellis coded quantization unit 630, respectively. In another embodiment, the fourth adder 629 and the seventh adder 636 may be removed and instead, one adder is disposed at the output end of the switching unit 640 so that the DC component (fDC(n)) of the LSF coefficient vector can be added to the quantized LSF coefficient vector ({circumflex over (x)}(n)) which is selectively output from the switching unit 640.
The BC-TCQ algorithm used in the present invention will now be explained.
The BC-TCQ algorithm uses a rate-½ convolutional encoder and N-state Trellis structure (N=2v, here, v denotes the number of binary state variables in the encoder finite state machine) based on an encoder structure without feedback. As prerequisites for the BC-TCQ algorithm, the initial states of Trellis paths that can be selected are limited to 2k (0≦k≦v) among the total of N states, and the number of states of the last stage are limited to 2v−k (0≦k≦v) among a total of N states, and dependent on the initial states of the Trellis path.
In the process for performing single Viterbi encoding by applying this BC-TCQ algorithm, the N survivor paths determined under the initial state constraint are found from the first stage to a stage L-log2N (here, L denotes the number of entire stages, and N denotes the number of entire Trellis states. Then, in the encoding over the remaining v stages, only Trellis paths are considered which terminate in a state of the last stage selected among 2v−k (0≦k≦v) states determined according to each initial state. Among the considered Trellis paths, an optimum Trellis path is selected and transmitted.
Next, the BC-TCQ encoding process performed in Trellis paths selected as shown in
The Viterbi encoding process in the j-th stage in
di′,p=min(d(e′,yi′,p)|yi′,pεDi′,pj) (1)
di″,p=min(d(e″,yi″,p)|yi″,pεDi″,pj) (2)
In equations 1 and 2, Di′,pj denotes a sub-codebook allocated to a branch between state p in the j-th stage and state i′ in the (j−1)-th stage, and Di″,pj denotes a sub-codebook allocated to a branch between state p in the j-th stage and state i″ in the (j−1)-th stage. Here, yi′,p and yi″,p denote code vectors in Di′,pj and Di″,pj, respectively.
Then, a process for selecting one between two Trellis paths connected to state p in the j-th stage and an accumulated distortion update process are performed as the following equation 3 (operation 102b-1 in operation 102b):
ρpj=min(ρi′j−1+di′,p,ρi″j−1+di″,p) (3)
Then, when state i′ of the previous stage between the two paths is determined, the quantization value for xj at state p in j-th stage is obtained as the following equation 4 (operation 102b-2 in operation 102b):
{circumflex over (X)}pj=ê′+μj·{circumflex over (x)}i′j−1 (4)
Next, in operation 104, in the remaining v stages, the only Trellis paths considered are those for which the state of the last stage is selected among 2v−k (0≦k≦v) states determined according to each initial state are considered. For this, in operation 104a, the initial state of each of N survivor paths determined as in the operation 103 and 2v−k (0≦k≦v) Trellis paths in the last v stages are determined in operation 104a.
In operations 104b through 104e, for each of 2v−k (0≦k≦v) states defined according to each initial state value in the entire N survivor paths, information on a Trellis path that has the shortest distance between an input sequence and a quantized sequence in a path determined to the last state, and the codeword information are obtained. In the operations 104b through 104e, ρi,nL denotes the entire distance between an input sequence and a quantized sequence in a path determined to the last state (n=1, . . . 2v−k) in survivor path i, and di,nj denotes the distance between the quantization value of input sample xj and the input sample in a path determined to the last state (n=1, . . . 2v−k) in survivor path i.
Next, the BC-TCQ encoding process performed in Trellis paths selected as shown in
Constraints on the initial state and last state are the same as in the BC-TCQ encoding process in the memory-based Trellis coded quantization unit 620, but inter-frame prediction of input samples is not used.
First, the Viterbi encoding process in the j-th stage of
In operation 111, initialization of the entire distance (ρp0) at state p in stage 0 is performed, and in operations 112 and 113, N survivor paths are determined from the first stage-to-stage L-log2N (here, L denotes the number of entire stages and N denotes the number of entire Trellis states). That is, in operation 112a, for N states from the first stage to stage L-log2N, quantization distortion (di′,p, di″,p) is obtained as the equations 5 and 6 by using sub-codebooks allocated to two branches connected to state p in j-th stage, and stored in distance metric (di′,p, di″,p):
In equations 5 and 6, Di′,pj denotes a sub-codebook allocated to a branch between state p in j-th stage and state i′ in (j−1)-th stage, and Di″,pj denotes a sub-codebook allocated to a branch between state p in j-th stage and state i″ in (j−1)-th stage. Here, yi′,p and yi″,p denote code vectors in Di′,pj and Di″,pj, respectively.
Then, a process for selecting one among two Trellis paths connected to state p in j-th stage and an accumulated distortion update process are performed as equation 7 and according to the result, a path is selected and {circumflex over (x)}pj is updated (operation 112b-1 and 112b-2 in operation 112b):
ρpj=min(ρi′j−1+di′,p,ρi″j−1+di″,p) (7)
The sequence and functions of the next operation, operation 114, are the same as that of the operation 104 shown in
Thus, unlike the TB-TCQ algorithm, the BC-TCQ algorithm according to the present invention enables quantization by a single Viterbi encoding process such that the additional complexity in the TB-TCQ algorithm can be avoided.
Referring to
In operation 122, the LSF coefficient vector (x(n)), in which the DC component is removed in the operation 121, is received, and by performing inter-frame and intra-frame predictions, prediction error vector (ti(n)) is generated. The prediction error vector (ti(n)) is quantized by using the BC-TCQ algorithm, and then, by performing intra-frame and inter-frame prediction compensation, quantized LSF coefficient vector ({circumflex over (x)}(n)) is generated, and Euclidian distance (dmemory) between quantized LSF coefficient vector ({circumflex over (x)}(n)) and the LSF coefficient vector (x(n)), in which the DC component is removed, is obtained.
The operation 122 will now be explained in more detail. In operation 122a, MA prediction, for example, 4-dimensional MA inter-frame prediction, is applied to the LSF coefficient vector (x(n)), in which the DC component is removed in operation 121, and prediction error vector (e(n)) of the current frame (n) is obtained. Operation 122a can be expressed as the following equation 8:
Here, ê(n−i) denotes prediction error vector of the previous frame (n−i, here i=1, . . . 4) which is quantized using the BC-TCQ algorithm and then intra-frame prediction-compensated.
In operation 122b, AR prediction, for example, 1-dimensional AR intra-frame prediction, is applied to the i-th element value (ei(n)) in the prediction error vector (e(n)) of the current frame (n) obtained in operation 122a, and prediction error vector (ti(n)) of the i-th element value is obtained. The AR prediction can be expressed as the following equation 9:
ti(n)=ei(n)−ρi·êi−1(n) (9)
Here, ρi denotes the prediction factor of i-th element, and êi−1(n) denotes the (i−1)-th element value which is quantized using the BC-TCQ algorithm and then, intra-frame prediction-compensated.
Next, the prediction error vector with i-th element value (ti(n)) obtained by the equation 9 is quantized using the BC-TCQ algorithm and the quantized prediction error vector of i-th element value ({circumflex over (t)}i(n)) is obtained. Intra-frame prediction compensation is performed for the quantized prediction error vector with i-th element value ({circumflex over (t)}i(n)) and the LSF coefficient vector with i-th element value (êi(n)) is obtained. LSF coefficient vector of the element value of each order forms quantized inter-frame prediction error vector (ê(n)) of the current frame. The intra-frame prediction compensation can be expressed as the following equation 10:
êi(n)={circumflex over (t)}i(n)+ρi·êi−1(n) (10)
In operation 122c, inter-frame prediction compensation is performed for quantized inter-frame prediction error vector (ê(n)) of the current frame obtained in the operation 122b and quantized LSF coefficient vector ({circumflex over (x)}(n)) is obtained. The operation 122c can be expressed as the following equation 11:
In operation 122d, Euclidian distance (dmemory=d(x,{circumflex over (x)})) between quantized LSF coefficient vector ({circumflex over (x)}(n)) obtained in operation 122c and the LSF coefficient vector (x(n)) input in operation 122a, in which the DC component is removed, is obtained.
In operation 123, the LSF coefficient vector (x(n)), in which the DC component is removed in the operation 121, is received, and by performing intra-frame prediction, prediction error vector (ti(n)) is generated. The prediction error vector (ti(n)) is quantized by using the BC-TCQ algorithm and intra-frame prediction compensated, and by doing so, quantized LSF coefficient vector ({circumflex over (x)}(n)) is generated. Euclidian distance (dmemoryless) between quantized LSF coefficient vector ({circumflex over (x)}(n)) and the LSF coefficient vector (x(n)), in which the DC component is removed, is obtained.
Operation 123 will now be explained in more detail. In operation 123a, AR prediction, for example, 1-dimensional AR intra-frame prediction, is applied to the LSF coefficient vector (x(n)), with i-th element (xi(n)), in which the DC component is removed in operation 121, and intra-frame prediction error vector with i-th element (ti(n)) is obtained. The AR prediction can be expressed as the following equation 12:
ti(n)=xi(n)−ρi·{circumflex over (x)}i−1(n) (12)
Here, ρi denotes the prediction factor of the i-th element, and {circumflex over (x)}i−1(n) denotes intra-frame prediction error vector of the (i−1)-th element which is quantized by BC-TCQ algorithm and then, intra-frame prediction-compensated.
Next, the intra-frame prediction error vector with i-th element (ti(n)) obtained by equation 12 is quantized using the BC-TCQ algorithm and the quantized intra-frame prediction error vector with i-th element ({circumflex over (t)}i(n)) is obtained. Intra-frame prediction compensation is performed for the quantized intra-frame prediction error vector with i-th element ({circumflex over (t)}i(n)) and the quantized LSF coefficient vector with i-th element value ({circumflex over (x)}i(n)) is obtained. The quantized LSF coefficient vector of the element value of each order forms the quantized LSF coefficient vector ({circumflex over (x)}(n)) of the current frame. The intra-frame prediction compensation can be expressed as the following equation 13:
{circumflex over (x)}i(n)={circumflex over (t)}i(n)+ρi·{circumflex over (x)}i−1(n) (13)
In operation 123b, Euclidian distance (dmemory=d(x,{circumflex over (x)})) between the quantized LSF coefficient vector ({circumflex over (x)}(n)) obtained in operation 123a and LSF coefficient vector (x(n)) input in the operation 123a, in which the DC component is removed, is obtained.
In operation 124, Euclidian distances (dmemory, dmemoryless), obtained in operations 122d and 123b, respectively, are compared and the quantized LSF coefficient vector (x(n)) with the smaller Euclidian distance is selected.
In operation 125, the DC component (fDC(n)) of the LSF coefficient vector is added to the quantized LSF coefficient vector ({circumflex over (x)}(n)) selected in the operation 124 and finally the quantized LSF coefficient vector ({circumflex over (f)}(n)) is obtained.
Meanwhile, the present invention may be embodied in a code, which can be read by a computer, on computer readable recording medium. The computer readable recording medium includes all kinds of recording apparatuses on which computer readable data are stored.
The computer readable recording media includes storage media such as magnetic storage media (e.g., ROM's, floppy disks, hard disks, etc.), and optically readable media (e.g., OD-ROMs, DVDs, etc.). Also, the computer readable recording media can be scattered on computer systems connected through a network and can store and execute a computer readable code in a distributed mode. Also, function programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art of the present invention.
In order to compare performances of BC-TCQ algorithm proposed in the present invention and the TB-TCQ algorithm, quantization signal-to-noise ratio (SNR) performance for the memoryless Gaussian source (mean 0, dispersion 1) was evaluated. Table 1 shows SNR performance value comparison with respect to block length. Trellis structure with 16 states and a double output level was used in the performance comparison experiment and 2 bits were allocated for each sample. The reference TB-TCQ system allowed 16 initial trellis states, with a single (identical to the initial state) final state allowed for each initial state.
Referring to table 1, when block lengths of the source are 16 and 32, the TB-TCQ algorithm showed the better SNR performance, while when block lengths of the source are 64 and 128, BC-TCQ algorithm showed the better performance.
Table 2 shows complexity comparison between BC-TCQ algorithm proposed in the present invention and TB-TCQ algorithm, when the block length of the source is 16 as illustrated in table 1.
Referring to table 2, in addition and comparison operations, the complexity of the BC-TCQ algorithm according to the present invention greatly decreased compared to that of the TB-TCQ algorithm.
Meanwhile, the number of initial states that can be held in a 16-state Trellis structure is 2k (0≦k≦v) and table 3 shows comparison of quantization performance for a memoryless Laplacian signal using BC-TCQ when k=0, 1, . . . , 4. The codebook used in the performance comparison experiment has 32 output levels and the encoding rate is 3 bits per sample.
Referring to table 3, it is shown that when k=2, the BC-TCQ algorithm has the best performance. When k=2, 4 states of a total 16 states were allowed as initial states in the BC-TCQ algorithm. Table 4 shows initial state and last state information of BC-TCQ algorithm when k=2.
Next, in order to evaluate the performance of the present invention, voice samples for wideband speech provided by NTT were used. The total length of the voice samples is 13 minutes, and the samples include male Korean, female Korean, male English and female English. In order to compare with the performance of the LSF quantizer S-MSVQ used in 3GPP AMR_WB speech coder, the same process as the AMR_WB speech coder was applied to the preprocessing process before an LSF quantizer, and comparison of spectral distortion (SD) performances, the amounts of computation, and the required memory sizes are shown in tables 5 and 6.
Referring to tables 5 and 6, in SD performance, the present invention showed a decrease of 0.0954 in average SD, and a decrease of 0.2439 in the number of outlier quantization areas between 2 dB˜4 dB, compared to AMR_WB S-MSVQ. Also, the present invention showed a great decrease in the amount of computation needed in addition, multiplication, and comparison that are required for codebook search, and accordingly, the memory requirement also decreased correspondingly.
According to the present invention as described above, by quantizing the first prediction error vector obtained by inter-frame and intra-frame prediction using the input LSF coefficient vector, and the second prediction error vector obtained in intra-frame prediction, using the BC-TCQ algorithm, the memory size required for quantization and the amount of computation in the codebook search process can be greatly reduced.
In addition, when data analyzed in units of frames is transmitted by using Trellis coded quantization algorithm, additional transmission bits for initial states are not needed and the complexity can be greatly reduced.
Further, by introducing a safety net, error propagation that may take place by using predictors is prevented such that outlier quantization areas are reduced, the entire amount of computation and memory requirement decrease and at the same time the SD performance improves.
Although a few embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these elements without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2003-0010484 | Feb 2003 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
5744846 | Batra et al. | Apr 1998 | A |
5774839 | Shlomot | Jun 1998 | A |
5826225 | Hartung et al. | Oct 1998 | A |
6125149 | Jafarkhani et al. | Sep 2000 | A |
6148283 | Das | Nov 2000 | A |
6269333 | Ravishankar | Jul 2001 | B1 |
6622120 | Yoon et al. | Sep 2003 | B1 |
6625224 | Gotting et al. | Sep 2003 | B1 |
6697434 | Kim | Feb 2004 | B1 |
6988067 | Kim et al. | Jan 2006 | B2 |
20050086577 | Sipil et al. | Apr 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20040230429 A1 | Nov 2004 | US |