Method and device for quantizing linear prediction coefficients and method and device for dequantizing linear prediction coefficients

By quantizing the error vector of LPC coefficients using grille structured vector quantizer and intra/inter predictor, the dynamic range and stability problems in LPC system quantization are solved, and efficient quantization performance is achieved.

CN112927703BActive Publication Date: 2025-04-25SAMSUNG ELECTRONICS CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110189590.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2014-07-28
Filing Date
2015-05-07
Publication Date
2025-04-25
Estimated Expiration
2035-05-07

AI Technical Summary

Technical Problem

In the prior art, when quantizing linear predictive encoding (LPC) coefficients, it is difficult to effectively deal with the large dynamic range of the LPC coefficient and the stability of the filter, especially in frames where frequency characteristics change dramatically.

Method used

Using a grille structured vector quantizer and intra/inter predictor, a quantized N-dimensional subvector is generated by quantizing the error vector between the first prediction vector and the N-dimensional subvector, and intra prediction is performed using the quantized subvector of the previous stage.

Benefits of technology

Highly efficient quantization of linear predictive coding (LPC) coefficients at low complexity is achieved, and the quantization performance is improved, especially in frames where frequency characteristics change dramatically.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112927703B_ABST
    Figure CN112927703B_ABST
Patent Text Reader

Abstract

A quantization device includes: a grid structured vector quantizer that quantizes a first error vector between an N-dimensional (here, "N" is two or more) sub-vector and a first prediction vector; and an inter-frame predictor that generates a first prediction vector from the quantized N-dimensional sub-vector, wherein the inter-frame predictor uses a prediction coefficient including an N×N matrix and uses the quantized N-dimensional sub-vector of a previous stage to perform inter-frame prediction.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Divisional application statement

[0002] This application is a divisional application of patent application No. 201580037280.6, whose application date is May 7, 2015 and whose invention name is "Method and device for quantizing linear prediction coefficients and method and device for dequantization". Technical Field

[0003] One or more exemplary embodiments relate to quantization and inverse quantization of linear prediction coefficients, and more particularly, to a method and apparatus for efficiently quantizing a linear prediction coefficient with low complexity, and a method and apparatus for inverse quantization. Background Art

[0004] In a system for encoding sound (such as speech or audio), linear predictive coding (LPC) coefficients are used to represent the short-term frequency characteristics of the sound. The LPC coefficients are obtained in a form that divides the input sound into frames and minimizes the energy of the prediction error of each frame. However, the LPC coefficients have a large dynamic range, and the characteristics of the LPC filter used are very sensitive to the quantization error of the LPC coefficients, so the stability of the filter cannot be guaranteed.

[0005] Therefore, by converting the LPC coefficient into another coefficient that is easy to confirm the stability of the filter to quantize the LPC coefficient, interpolation is advantageous, and the quantization characteristics are good. It is most preferred to quantize the LPC coefficient by converting the LPC coefficient into a line spectrum frequency (LSF) or an guided spectrum frequency (ISF). Specifically, the scheme of quantizing the LSF coefficient can use the high inter-frame correlation of the LSF coefficient in the frequency domain and the time domain, thereby increasing the quantization gain.

[0006] The LSF coefficient expresses the frequency characteristics of short-term sound, and in the case of a frame in which the frequency characteristics of the input sound change sharply, the LSF coefficient of the corresponding frame also changes sharply. However, a quantizer including an inter-frame predictor using a high inter-frame correlation of the LSF coefficient cannot perform appropriate prediction for the sharply changing frame, and thus the quantization performance is reduced. Therefore, it is necessary to select an optimized quantizer corresponding to the signal characteristics of each frame of the input sound. Summary of the invention

[0007] Technical issues

[0008] One or more exemplary embodiments include methods and apparatus for efficiently quantizing linear predictive coding (LPC) coefficients with low complexity and methods and apparatus for inverse quantization.

[0009] Technical Solution

[0010] According to one or more exemplary embodiments, a quantization device includes: a grid structured vector quantizer, which is configured to quantize a first error vector between a first prediction vector and an N-dimensional sub-vector, wherein N is a natural number greater than or equal to 2; and an intra-frame predictor, which is configured to generate the first error vector from the quantized N-dimensional sub-vector, wherein the intra-frame predictor is configured to use a prediction coefficient having an N×N matrix and to perform intra-frame prediction by using a quantized N-dimensional sub-vector of a previous stage.

[0011] The apparatus may further include a vector quantizer configured to quantize a quantization error of the N-dimensional sub-vector.

[0012] The device may also include an inter-frame predictor, which is configured to generate a prediction vector for the current frame from a quantized N-dimensional sub-vector of a previous frame when the grid structured vector quantizer is configured to quantize the second error vector (which corresponds to the difference between the prediction error vector and the second vector), and the prediction error vector is obtained from the N-dimensional sub-vector of the current frame and the prediction vector.

[0013] The device may also include an inter-frame predictor, which, when the grid structured vector quantizer is configured to quantize the second error vector (which corresponds to the difference between the prediction error vector and the second vector), is configured to generate a prediction vector for the current frame from a quantized N-dimensional sub-vector of a previous frame and a vector quantizer configured to quantize the quantization error of the prediction error vector, wherein the prediction error vector is obtained from the N-dimensional sub-vector of the current frame and the prediction vector.

[0014] According to one or more exemplary embodiments, a quantization device includes: a first quantization module, the first quantization module is used to perform quantization without inter-frame prediction; and a second quantization module, the second quantization module is used to perform quantization using inter-frame prediction, wherein the first quantization module includes: a first grid structured vector quantizer, the first grid structured vector quantizer is configured to quantize a first error vector between a first prediction vector and an N-dimensional sub-vector, wherein N is a natural number greater than or equal to 2; and a first intra-frame predictor, the first intra-frame predictor is configured to generate the first error vector from the quantized N-dimensional sub-vector, wherein the first intra-frame predictor is configured to use a prediction coefficient having an N×N matrix and to perform intra-frame prediction by using a quantized N-dimensional sub-vector of a previous stage.

[0015] The apparatus may further include an error vector quantizer configured to generate a quantized quantization error vector by quantizing a quantization error vector corresponding to a difference between a quantized N-dimensional linear vector of a current stage and an input N-dimensional linear vector.

[0016] The intra predictor may be configured to generate a prediction vector from a quantized prediction error vector when the vector quantizer is configured to quantize a prediction error vector between the N-dimensional linear vector of the current level and the prediction vector of the current frame.

[0017] The apparatus may further include an error vector quantizer configured to quantize a quantization error of a prediction error vector when the vector quantizer is configured to quantize a prediction error vector between the N-dimensional linear vector of the current stage and the prediction vector of the current frame.

[0018] According to one or more exemplary embodiments, an inverse quantization device includes: a grid structured vector inverse quantizer, which is configured to inverse quantize a first quantization index of an N-dimensional sub-vector, wherein N is a natural number greater than or equal to 2; and an intra-frame predictor, which is configured to generate a prediction vector from the quantized N-dimensional sub-vector, wherein the quantized N-dimensional sub-vector corresponds to a result obtained by adding a quantization error vector from the grid structured vector inverse quantizer to the prediction vector, and the intra-frame predictor is configured to use a prediction coefficient having an N×N matrix and to perform intra-frame prediction by using the quantized N-dimensional sub-vector of the previous stage.

[0019] The inverse quantization apparatus may further include a vector inverse quantizer configured to quantize a second quantization indicator of a quantization error of the N-dimensional sub-vector.

[0020] The inverse quantization device may also include an inter-frame predictor configured to generate a prediction vector for the current frame from a quantized N-dimensional sub-vector of a previous frame when the grid structured vector inverse quantizer is configured to inverse quantize a third quantization index of a quantization error vector between the N-dimensional sub-vector and the prediction vector of the current frame.

[0021] The inverse quantization device may also include: an inter-frame predictor, which is configured to generate a prediction vector of a current frame from a quantized N-dimensional sub-vector of a previous frame; and a vector inverse quantizer, which is configured to quantize a fourth quantization index of a quantization error of the prediction error vector when the grid structured vector inverse quantizer is configured to inverse quantize a third quantization index of a quantization error vector between the N-dimensional sub-vector and the prediction vector of the current frame.

[0022] Beneficial Effects

[0023] According to an exemplary embodiment, when a speech or audio signal is quantized by classifying the speech or audio signal into a plurality of coding modes according to the signal characteristics of the speech or audio, and a different number of bits are allocated according to the compression ratio applied to each coding mode, the speech or audio signal can be quantized more efficiently by designing a quantizer with good performance at a low bit rate.

[0024] Furthermore, when designing quantization devices for providing various bit rates, memory usage can be minimized by sharing some codebooks for quantizers. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] These and / or other aspects will become clear and more readily understood from the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:

[0026] Figure 1 is a block diagram of a sound encoding apparatus according to an exemplary embodiment.

[0027] Figure 2 is a block diagram of a sound encoding apparatus according to another exemplary embodiment.

[0028] Figure 3 is a block diagram of a linear predictive coding (LPC) quantization unit according to an exemplary embodiment.

[0029] Figure 4 According to an exemplary embodiment Figure 3 Detailed block diagram of the weighting function determination unit.

[0030] Figure 5 According to an exemplary embodiment Figure 4 Detailed block diagram of the first weighting function generating unit.

[0031] Figure 6 is a block diagram of an LPC coefficient quantization unit according to an exemplary embodiment.

[0032] Figure 7 According to an exemplary embodiment Figure 6 Block diagram of the selection unit.

[0033] Figure 8 is a description according to an exemplary embodiment Figure 6 A flow chart of the operation of the selection unit.

[0034] 9A to 9E show Figure 6 Block diagrams of examples of various implementations of the first quantization module are shown.

[0035] 10A to 10D show Figure 6 Block diagrams of examples of various implementations of the second quantization module are shown.

[0036] 11A-11F are block diagrams illustrating examples of various implementations of a quantizer in which weights are applied to a block constrained trellis coded vector quantizer (BC-TCVQ).

[0037] Fig.12 is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a low rate according to an exemplary embodiment.

[0038] Fig.13 is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a high rate according to an exemplary embodiment.

[0039] Fig.14 is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a low rate according to another exemplary embodiment.

[0040] Fig.15 is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a high rate according to another exemplary embodiment.

[0041] Fig.16 is a block diagram of an LPC coefficient quantization unit according to an exemplary embodiment.

[0042] Fig.17 is a block diagram of a quantization apparatus having a switching structure of a closed-loop scheme according to an exemplary embodiment.

[0043] Fig.18 is a block diagram of a quantization apparatus having a switching structure of a closed-loop scheme according to another exemplary embodiment.

[0044] Fig.19 is a block diagram of a dequantization apparatus according to an exemplary embodiment.

[0045] Fig. 20 is a detailed block diagram of a dequantization apparatus according to an exemplary embodiment.

[0046] Fig.21 is a detailed block diagram of a dequantization apparatus according to another exemplary embodiment. DETAILED DESCRIPTION

[0047] The inventive concept may allow for various changes or modifications and various forms of changes, and specific embodiments will be shown in the drawings and described in detail in the specification. However, it should be understood that the specific embodiments do not limit the inventive concept to a specific disclosed form, but include each modified, equivalent or alternative embodiment within the spirit and technical scope of the inventive concept. In the description of the inventive concept, when it is determined that the specific description of the relevant well-known features may obscure the essence of the inventive concept, its detailed description is omitted.

[0048] Although terms such as 'first' and 'second' may be used to describe various elements, the elements cannot be limited by these terms. These terms may be used to classify a certain element from another element.

[0049] The terms used in this application are only used to describe specific embodiments, and do not have any intention to limit the inventive concept. The terms used in this specification are those general terms that are currently widely used in this area, but these terms can change according to the intention of those of ordinary skill in the art, precedents or new technologies in this area. In addition, the applicant can select a designated term, and in this case, its detailed meaning will be described in the detailed description. Therefore, the terms used in the specification should be understood to be not simple names, but based on the meaning and overall description of the terms.

[0050] Expressions in the singular include expressions in the plural unless they are clearly different from each other in the context. In the present application, it should be understood that terms such as 'including' and 'having' are used to indicate the existence of implemented features, quantities, steps, operations, elements, parts or combinations thereof, without excluding in advance the possibility of the existence or addition of one or more other features, quantities, steps, operations, elements, parts or combinations thereof.

[0051] Hereinafter, embodiments of the present inventive concept will be described in detail with reference to the accompanying drawings, and the same reference numerals in the drawings denote the same elements, and thus repeated descriptions thereof will be omitted.

[0052] Typically, a trellis coded quantizer (TCQ) quantizes an input vector by assigning one element to each TCQ level, while a trellis coded vector quantizer (TCVQ) uses a structure that generates subvectors by dividing the entire input vector into subvectors and then assigning each subvector to a TCQ level. When a quantizer is formed using one element, a TCQ is formed, and when a quantizer is formed using subvectors by combining multiple elements, a TCVQ is formed. Therefore, when a two-dimensional (2D) subvector is used, the total number of TCQ levels is the same as the size obtained by dividing the size of the input vector by 2. Typically, a speech / audio codec encodes an input signal in units of frames, and extracts a linear frequency spectrum (LSF) coefficient for each frame. The LSF coefficient has a vector form, and a dimension of 10 or 16 is used for the LSF coefficient. In this case, when a 2D TCVQ is considered, the number of subvectors is 5 or 8.

[0053] Figure 1 is a block diagram of a sound encoding apparatus according to an exemplary embodiment.

[0054] Figure 1The illustrated sound encoding device 100 may include a coding mode selection unit 110, a linear predictive coding (LPC) coefficient quantization unit 130, and a CELP encoding unit 150. Each component may be implemented as at least one processor (not shown) by being integrated into at least one module. In one embodiment, since the sound may indicate an audio or speech, or a mixed signal of audio and speech, the sound is referred to as speech hereinafter for convenience of description.

[0055] Reference Figure 1 The encoding mode selection unit 110 may select one of a plurality of encoding modes corresponding to a plurality of rates. The encoding mode selection unit 110 may determine the encoding mode of the current frame by using a signal feature of a previous frame, voice activity detection (VAD) information, or an encoding mode.

[0056] The LPC coefficient quantization unit 130 may quantize the LPC coefficient by using a quantizer corresponding to the selected encoding mode and determine a quantization index representing the quantized LPC coefficient. The LPC coefficient quantization unit 130 may perform quantization by converting the LPC coefficient into another coefficient suitable for quantization.

[0057] The excitation signal encoding unit 150 may perform excitation signal encoding according to the selected encoding mode. For excitation signal encoding, a code excited linear prediction (CELP) or an algebraic CELP (ACELP) algorithm may be used. Representative parameters for encoding LPC coefficients by the CELP scheme are adaptive codebook index, adaptive codebook gain, fixed codebook index, fixed codebook gain, etc. Excitation signal encoding may be performed based on an encoding mode corresponding to the characteristics of the input signal. For example, four encoding modes may be used, namely, unvoiced coding (UC) mode, voiced coding (VC) mode, general coding (GC) mode, and transition coding (TC) mode. When the speech signal is unvoiced or has noise with characteristics similar to unvoiced, the UC mode may be selected. When the speech signal is voiced, the VC mode may be selected. When encoding a signal in a transition period in which the characteristics of the speech signal change sharply, the TC mode may be used. The GC mode may be used to encode other signals. The UC mode, the VC mode, the TC mode, and the GC mode follow the definition and classification standards drafted in ITU-T G.718, but are not limited thereto. The excitation signal encoding unit 150 may include an open-loop tone search unit (not shown), a fixed codebook search unit (not shown), or a gain quantization unit (not shown), but the components may be added to the excitation signal encoding unit 150 or omitted from the excitation signal encoding unit 150 according to the coding mode. For example, in the VC mode, all the above components are included, and in the UC mode, the open-loop tone search unit is not used. When the number of bits allocated to quantization is large, that is, in the case of a high bit rate, the excitation signal encoding unit 150 can be simplified in the GC mode and the VC mode. That is, by including the UC mode and the TC mode in the GC mode, the GC mode can be used for the UC mode and the TC mode. In the case of a high bit rate, an inactive coding (IC) mode and an audio coding (AC) mode may also be included. When the number of bits allocated to quantization is small, that is, in the case of a low bit rate, the excitation signal encoding unit 150 may classify the coding mode into a GC mode, a UC mode, a VC mode, and a TC mode. In the case of a low bit rate, an IC mode and an AC mode may also be included. The IC mode may be selected for silence, and the AC mode may be selected when the characteristics of the speech signal are close to the audio.

[0058] The coding mode can be further subdivided according to the bandwidth of the speech signal. The bandwidth of the speech signal can be classified into, for example, narrowband (NB), wideband (WB), ultra-wideband (SWB) and full band (FB). NB can have a bandwidth of 300-3400Hz or 50-4000Hz, WB can have a bandwidth of 50-7000Hz or 50-8000Hz, SWB can have a bandwidth of 50-14000Hz or 50-16000Hz, and FB can have a bandwidth of up to 20000Hz. Herein, the numerical values ​​related to the bandwidth are set for convenience and are not limited thereto. In addition, the classification of bandwidth can also be set to be simpler or more complex.

[0059] When the type and number of coding modes are determined, it is necessary to train the codebook again using a speech signal corresponding to the determined coding mode.

[0060] The excitation signal encoding unit 150 may additionally use a transform encoding algorithm according to the encoding mode. The excitation signal may be encoded in a frame or subframe unit.

[0061] Figure 2 is a block diagram of a sound encoding apparatus according to another exemplary embodiment.

[0062] Figure 2 The voice encoding device 200 shown may include a preprocessing unit 210, an LP analysis unit 220, a weighted signal calculation unit 230, an open-loop pitch search unit 240, a signal analysis and voice activity detection (VAD) unit 250, an encoding unit 260, a memory update unit 270, and a parameter encoding unit 280. Each component may be implemented as at least one processor (not shown) by being integrated into at least one module. In the embodiment, since the sound may indicate audio or speech, or a mixed signal of audio and speech, the sound is referred to as speech hereinafter for convenience of description.

[0063] Reference Figure 2 The preprocessing unit 210 may preprocess the input voice signal. Through the preprocessing process, undesirable frequency components may be removed from the voice signal, or the frequency characteristics of the voice signal may be adjusted to facilitate encoding. In detail, the preprocessing unit 210 may perform high-pass filtering, pre-emphasis, sampling conversion, etc.

[0064] The LP analysis unit 220 can extract LPC coefficients by performing LP analysis on the preprocessed speech signal. Typically, one LP analysis is performed per frame, but two or more LP analyses may be performed per frame for additional sound quality enhancement. In this case, one analysis is an LP for the end of the frame, which is an existing LP analysis, and the other analysis may be an LP for an intermediate subframe to enhance the sound quality. Herein, the end of the frame of the current frame indicates the last subframe in the subframes constituting the current frame, and the end of the frame of the previous frame indicates the last subframe in the subframes constituting the previous frame. An intermediate subframe indicates one or more subframes that exist in a subframe between the last subframe as the end of the frame of the previous frame and the last subframe as the end of the frame of the current frame. For example, a frame may consist of four subframes. When the input signal is NB, dimension 10 is used for the LPC coefficients, and when the input signal is WB, dimensions 16-20 are used for the LPC coefficients, but the implementation is not limited thereto.

[0065] The weighted signal calculation unit 230 may receive the preprocessed speech signal and the extracted LPC coefficients and calculate a perceptual weighted filtered signal based on a perceptual weighting filter. The perceptual weighting filter may reduce quantization noise of the preprocessed speech signal within a masking range so as to use the masking effect of the human auditory structure.

[0066] The open-loop tone search unit 240 may search for an open-loop tone by using the perceptually weighted filtered signal.

[0067] The signal analysis and VAD unit 250 may determine whether the input signal is an active voice signal by analyzing various characteristics including frequency characteristics of the input signal.

[0068] The encoding unit 260 may determine the encoding mode of the current frame by using the signal characteristics of the previous frame, VAD information or the encoding mode, quantize the LPC coefficient by using a quantizer corresponding to the selected encoding mode, and encode the excitation signal according to the selected encoding mode. The encoding unit 260 may include Figure 1 Parts shown.

[0069] The memory update unit 270 may store the encoded current frame and parameters used for encoding of subsequent frames during encoding.

[0070] The parameter encoding unit 280 may encode parameters to be used for decoding at a decoding end, and include the encoded parameters in a bitstream. Preferably, the parameters corresponding to the encoding mode may be encoded. The bitstream generated by the parameter encoding unit 280 may be used for storage or transmission purposes.

[0071] Table 1 below shows examples of quantization schemes and structures for four coding modes. A scheme in which quantization is performed without inter-frame prediction may be referred to as a safety net scheme, and a scheme in which quantization is performed with inter-frame prediction may be referred to as a prediction scheme. In addition, VQ stands for vector quantizer, and BC-TCQ stands for block constrained grid coded quantizer.

[0072] [Table 1]

[0073]

[0074] BC-TCVQ stands for Block Constrained Trellis Coded Vector Quantizer. TCVQ generalizes TCQ to allow vector codebooks and branch labels. The main feature of TCVQ is to partition the extended set of VQ symbols into subsets and label the trellis branches with these subsets. TCVQ is based on a rate 1 / 2 convolutional code with N=2 v trellis states, and has two branches entering and leaving each trellis state. When M source vectors are given, the minimum distortion path is searched for using the Viterbi algorithm. Therefore, the optimal trellis path can start in any of the N initial states and end in any of the N terminal states. The codebook in TCVQ has 2 (R+R')L In this paper, since the codebook has a nominal rate R VQ of 2 R'L times the codeword, so R' can be the codebook expansion factor. The encoding operation is simply described as follows. First, for each input vector, the distortion corresponding to the closest codeword in each subset is searched, and the Viterbi algorithm is used to search for the minimum distortion path through the grid by inputting the searched distortion as the branch metric for marking the branch to the subset S. Since BC-TCVQ requires one bit for each source sample to specify the grid path, BC-TCVQ has low complexity. When 0≤k≤ν, the BC-TCVQ structure can have 2 for each allowed initial grid state. k initial grid state and 2 ν-k A single Viterbi code starts with an allowed initial trellis state and ends at vector level mk. To specify the initial state, k bits are required, and to specify the path to vector level mk, mk bits are required. A unique terminating path that depends on the initial trellis state is pre-specified at vector level mk through vector level m for each trellis state. Regardless of the value of k, m bits are required to specify the initial trellis state and the path through the trellis.

[0075] The BC-TCVQ for VC mode at an internal sampling frequency of 16KHz can use a 16-state and 8-level TCVQ with N dimensions (e.g., 2D vectors). An LSF subvector with two elements can be assigned to each level. Table 2 below shows the initial state and the final state of the 16-state BC-TCVQ. In this article, k and v represent 2 and 4, respectively, and four bits are used for the initial state and the final state.

[0076] [Table 2]

[0077] Initial state Termination Status 0 0、1、2、3 4 4、5、6、7 8 8、9、10、11 12 12、13、14、15

[0078] The coding mode may vary depending on the bit rate of the application. As described above, in order to quantize the LPC coefficients at a high bit rate using the two coding modes, 40 or 41 bits per frame may be used in the GC mode, and 46 bits per frame may be used in the TC mode.

[0079] Figure 3 is a block diagram of an LPC coefficient quantization unit according to an exemplary embodiment.

[0080] Figure 3 The LPC coefficient quantization unit 300 shown may include a first coefficient conversion unit 310, a weighting function determination unit 330, an ISF / LSF quantization unit 350, and a second coefficient conversion unit 379. Each component may be implemented as at least one processor (not shown) by being integrated into at least one module. Unquantized LPC coefficients and coding mode information may be provided as inputs to the LPC coefficient quantization unit 300.

[0081] Reference Figure 3 , the first coefficient conversion unit 310 may convert the LPC coefficient extracted by performing LP analysis on the frame tail of the current frame or the previous frame of the speech signal into coefficients of different forms. For example, the first coefficient conversion unit 310 may convert the LPC coefficient of the frame tail of the current frame or the previous frame into any one of the forms of LSF coefficients and ISF coefficients. In this case, the ISF coefficient or the LSF coefficient indicates an example of a form in which the LPC coefficient can be more easily quantized.

[0082] The weighting function determination unit 330 may determine the weighting function of the ISF / LSF quantization unit 350 by using the ISF coefficient or the LSF coefficient converted from the LPC coefficient. The determined weighting function may be used in an operation of selecting a quantization path or a quantization scheme or searching for a codebook index with which a weighted error is minimized in quantization. For example, the weighting function determination unit 330 may determine the final weighting function by combining an amplitude weighting function, a frequency weighting function, and a weighting function based on the position of the ISF / LSF coefficient.

[0083] In addition, the weighting function determination unit 330 can determine the weighting function by considering at least one of the frequency bandwidth, the coding mode and the spectrum analysis information. For example, the weighting function determination unit 330 can derive the best weighting function for each coding mode. Alternatively, the weighting function determination unit 330 can derive the best weighting function according to the frequency bandwidth of the speech signal. Alternatively, the weighting function determination unit 330 can derive the best weighting function according to the frequency analysis information of the speech signal. In this case, the frequency analysis information may include spectrum tilt information. The weighting function determination unit 330 is described in detail below.

[0084] The ISF / LSF quantization unit 350 may obtain an optimal quantization index according to an input coding mode. Specifically, the ISF / LSF quantization unit 350 may quantize an ISF coefficient or an LSF coefficient converted from an LPC coefficient at the end of a frame of a current frame. When the input signal is a UC mode or a TC mode corresponding to a non-stationary signal, the ISF / LSF quantization unit 350 may quantize the input signal by using only a safety net scheme without inter-frame prediction, and when the input signal is a VC mode or a GC mode corresponding to a stationary signal, the ISF / LSF quantization unit 350 may determine an optimal quantization scheme taking into account a frame error by switching a prediction scheme and a safety net scheme.

[0085] The ISF / LSF quantization unit 350 may quantize the ISF coefficient or the LSF coefficient by using the weighting function determined by the weighting function determination unit 330. The ISF / LSF quantization unit 350 may select one of a plurality of quantization paths by quantizing the ISF coefficient or the LSF coefficient by using the weighting function determined by the weighting function determination unit 330. An index obtained as a result of the quantization may be used to obtain a quantized ISF (QISF) coefficient or a quantized LSF (QLSF) coefficient through an inverse quantization operation.

[0086] The second coefficient conversion unit 370 may convert the QISF coefficient or the QLSF coefficient into a quantized LPC (QLPC) coefficient.

[0087] Hereinafter, the relationship between vector quantization of LPC coefficients and the weighting function is described.

[0088] Vector quantization indicates an operation of selecting a codebook index with the minimum error by using a square error distance measure based on the consideration that all entries in a vector have the same importance. However, for LPC coefficients, since all coefficients have different importance, when the error of important coefficients is reduced, the perceived quality of the final synthesized signal can be improved. Therefore, when quantizing the LSF coefficients, the decoding device can select the optimal codebook index by applying a weighting function representing the importance of each LPC coefficient to the square error distance measure, thereby improving the performance of the synthesized signal.

[0089] According to one embodiment, the frequency information of ISF and LSF and the actual spectrum amplitude can be used to determine the amplitude weighting function about what is actually affected by each ISF or LSF to the spectrum envelope. According to one embodiment, additional quantization efficiency can be obtained by combining the frequency weighting function in which the perceptual characteristics of the frequency domain and the resonance peak distribution are considered with the amplitude weighting function. In this case, since the actual amplitude in the frequency domain is used, the envelope information of the entire frequency can be well reflected, and the weight of each ISF or LSF coefficient can be accurately derived. According to one embodiment, additional quantization efficiency can be obtained by combining the weighting function based on the position information of the LSF coefficient or the ISF coefficient with the amplitude weighting function and the frequency weighting function.

[0090] According to one embodiment, when vector quantizing the ISF or LSF converted from the LPC coefficient, if the importance of each coefficient is different, a weighting function indicating which entry is relatively more important in the vector can be determined. In addition, by determining a weighting function that can assign higher weights to higher energy parts by analyzing the spectrum of the frame to be encoded, the accuracy of encoding can be improved. High energy in the spectrum indicates high correlation in the time domain.

[0091] In Table 1, the optimal quantitative index for VQ applied to all modes can be determined as E for minimizing Eq. werr (p)(E 加权误差 (p)) indicators.

[0092] [Equation 1]

[0093] (w end (w 末尾 ))

[0094] In Equation 1, w(i) represents a weighting function, r(i) represents an input of a quantizer, and c(i) represents an output of the quantizer, and is used to obtain an index that minimizes weighted distortion between two values.

[0095] Next, the distortion measurement used by BC-TCQ essentially follows the method disclosed in US 7,630, 890. In this case, the distortion measurement d(x,y) can be expressed by Eq.

[0096] [Equation 2]

[0097]

[0098] According to one embodiment, a weighting function may be applied to the distortion measure d(x,y). The weighted distortion may be obtained by extending the distortion measure for BC-TCQ in US 7,630,890 to a measure for vectors and then applying a weighting function to the extended measure. That is, the optimal metric may be determined by obtaining the weighted distortion as expressed in Equation 3 below at all stages of BC-TCVQ.

[0099] [Equation 3]

[0100]

[0101] The ISF / LSF quantization unit 350 may perform quantization according to the input coding mode, for example, by switching a lattice vector quantizer (LVQ) and BC-TCVQ. If the coding mode is the GC mode, then the LVQ may be used, and if the coding mode is the VC mode, then the BC-TCVQ may be used. The operation of selecting the quantizer when the LVQ and BC-TCVQ are mixed is described as follows. First, the bit rate for encoding may be selected. After selecting the bit rate for encoding, the bit of the LPC quantizer corresponding to each bit rate may be determined. Thereafter, the bandwidth of the input signal may be determined. The quantization scheme may vary depending on whether the input signal is NB or WB. In addition, when the input signal is WB, it is necessary to additionally determine whether the upper limit of the bandwidth to be actually encoded is 6.4KHz or 8KHz. That is, since the quantization scheme may vary depending on whether the internal sampling frequency is 12.8KHz or 16KHz, the bandwidth must be checked. Next, the optimal coding mode within the limits of the available coding mode may be determined based on the determined bandwidth. For example, four coding modes (UC, VC, GC, and TC) may be used, but only three modes (VC, GC, and TC) may be used at high bit rates (e.g., 9.6 Kbit / s or higher). A quantization scheme, such as one of LVQ and BC-TCVQ, is selected based on the bit rate used for encoding, the bandwidth of the input signal, and the coding mode, and an index quantized based on the selected quantization scheme is output.

[0102] According to one embodiment, it is determined whether the bit rate corresponds to between 24.4 Kbps and 65 Kbps, and if the bit rate does not correspond to between 24.4 Kbps and 65 Kbps, LVQ may be selected. Otherwise, if the bit rate corresponds to between 24.4 Kbps and 65 Kbps, it is determined whether the bandwidth of the input signal is NB, and if the bandwidth of the input signal is NB, LVQ may be selected. Otherwise, if the bandwidth of the input signal is not NB, it is determined whether the coding mode is VC mode, and if the coding mode is VC mode, BC-TCVQ may be used, and if the coding mode is not VC mode, LVQ may be used.

[0103] According to another embodiment, it is determined whether the bit rate corresponds to between 13.2 Kbps and 32 Kbps, and if the bit rate does not correspond to between 13.2 Kbps and 32 Kbps, LVQ may be selected. Otherwise, if the bit rate corresponds to between 13.2 Kbps and 32 Kbps, it is determined whether the bandwidth of the input signal is WB, and if the bandwidth of the input signal is not WB, LVQ may be selected. Otherwise, if the bandwidth of the input signal is WB, it is determined whether the encoding mode is VC mode, and if the encoding mode is VC mode, BC-TCVQ may be used, and if the encoding mode is not VC mode, LVQ may be used.

[0104] According to one embodiment, the encoding device can determine the optimal weighting function by combining an amplitude weighting function using a spectral amplitude corresponding to the frequency of an ISF coefficient or an LSF coefficient converted from an LPC coefficient, a frequency weighting function in which the perceptual characteristics of the input signal and the resonance peak distribution are taken into account, and a weighting function based on the position of the LSF coefficient or the ISF coefficient.

[0105] Figure 4 According to an exemplary embodiment Figure 3 Block diagram of a weighting function determination unit.

[0106] Figure 4 The illustrated weighting function determination unit 400 may include a spectrum analysis unit 410, an LP analysis unit 430, a first weighting function generation unit 450, a second weighting function generation unit 470, and a combination unit 490. Each component may be integrated and implemented as at least one processor.

[0107] Reference Figure 4, the spectrum analysis unit 410 can analyze the frequency domain characteristics of the input signal by a time-to-frequency mapping operation. In this article, the input signal can be a preprocessed signal, and a fast Fourier transform (FFT) can be used to perform a time-to-frequency mapping operation, but the embodiment is not limited thereto. The spectrum analysis unit 410 can provide spectrum analysis information, such as a spectrum amplitude obtained as a result of FFT. In this article, the spectrum amplitude can have a linear scale. In detail, the spectrum analysis unit 410 can generate a spectrum amplitude by performing a 128-point FFT. In this case, the bandwidth of the spectrum amplitude can correspond to a range of 0-6400Hz. When the internal sampling frequency is 16KHz, the number of spectrum amplitudes can be extended to 160. In this case, the spectrum amplitude in the range of 6400-8000Hz is omitted, and the omitted spectrum amplitude can be generated by the input spectrum. In detail, the last 32 spectrum amplitudes corresponding to the bandwidth of 4800-6400Hz can be used to replace the omitted spectrum amplitude in the range of 6400-8000Hz. For example, the average value of the last 32 spectrum sizes can be used.

[0108] The LP analysis unit 430 may generate an LPC coefficient by performing LP analysis on the input signal. The LP analysis unit 430 may generate an ISF or LSF coefficient from the LPC coefficient.

[0109] The first weighting function generating unit 450 can obtain an amplitude weighting function and a frequency weighting function based on the spectrum analysis information of the ISF or LSF coefficient, and generate a first weighting function by combining the amplitude weighting function with the frequency weighting function. The first weighting function can be obtained based on FFT, and a larger weight can be assigned when the spectrum amplitude is larger. For example, the first weighting function can be determined by normalizing the spectrum analysis information (i.e., the spectrum amplitude) so as to meet the ISF or LSF band and then using the amplitude of the frequency corresponding to each ISF or LSF coefficient.

[0110] The second weighting function generating unit 470 can determine the second weighting function based on the interval or position information of adjacent ISF or LSF coefficients. According to one embodiment, the second weighting function related to the spectrum sensitivity can be generated from two ISF or LSF coefficients adjacent to each ISF or LSF coefficient. Usually, the ISF or LSF coefficient is located on the unit circle of the Z domain, and is characterized in that when the interval between adjacent ISF or LSF coefficients is narrower than the surrounding interval, a spectrum peak occurs. Therefore, the second weighting function can be used to approximate the spectrum sensitivity of the LSF coefficient based on the position of adjacent LSF coefficients. That is, by measuring how close the adjacent LSF coefficients are positioned, the density of the LSF coefficient can be predicted, and since the signal spectrum can have a peak near the frequency where the dense LSF coefficients exist, a larger weight can be assigned. In this article, in order to improve accuracy when approximating the spectrum sensitivity, various parameters of the LSF coefficient can be additionally used when determining the second weighting function.

[0111] As mentioned above, the interval between the ISF or LSF coefficient and the weighting function may have an inverse proportional relationship. Various embodiments may be performed using this relationship between the interval and the weighting function. For example, the interval may be represented by a negative value or may be represented as a denominator. As another example, in order to further emphasize the weight obtained, each element of the weighting function may be multiplied by a constant or may be represented as the square of the element. As another example, the weighting function obtained secondarily by performing an additional calculation (e.g., square or cube) of the weighting function obtained primarily may be further reflected.

[0112] An example of deriving a weighting function by using the spacing between ISF or LSF coefficients is as follows.

[0113] According to one embodiment, the second weighting function W can be obtained by the following equation 4: s (n).

[0114] [Equation 4]

[0115] for

[0116] otherwise

[0117] where d i =lsf i+1 -lsf i-1

[0118] In Equation 4, lsf i-1 and lsf i+1 Indicates the LSF coefficients adjacent to the current LSF coefficient.

[0119] According to another embodiment, the second weighting function W s(n) can be obtained by equation 5 below.

[0120] [Equation 5]

[0121]

[0122] In Equation 5, lsf n Indicates the current LSF coefficient, lsf n-1 and lsf n+1 represents adjacent LSF coefficients, and M is the dimension of the LP model and can be 16. For example, since the LSF coefficients span between 0 and π, it can be based on the lsf 0 =0 and lsf M =π to calculate the first and final weights.

[0123] The combination unit 490 can determine a final weighting function to be used for quantizing the LSF coefficient by combining the first weighting function with the second weighting function. In this case, as a combination scheme, various schemes can be used: such as a scheme of multiplying the first weighting function with the second weighting function, a scheme of multiplying each weighting function by an appropriate ratio and then adding the multiplication results, and a scheme of multiplying each weight with a predetermined value using a lookup table or the like and then adding the multiplication results.

[0124] Figure 5 According to an exemplary embodiment Figure 4 Detailed block diagram of the first weighting function generating unit.

[0125] Figure 5 The illustrated first weighting function generating unit 500 may include a normalizing unit 510, a magnitude weighting function generating unit 530, a frequency weighting function generating unit 550, and a combining unit 570. Herein, for ease of description, LSF coefficients are used as an example of an input signal of the first weighting function generating unit 500.

[0126] Reference Figure 5 , the normalization unit 510 may normalize the LSF coefficients within a range of 0 to K-1. The LSF coefficients may generally have a range of 0 to π. For an internal sampling frequency of 12.8 KHz, K may be 128, and for an internal sampling frequency of 16.4 KHz, K may be 160.

[0127] The amplitude weighting function generating unit 530 may generate an amplitude weighting function W based on the spectrum analysis information of the normalized LSF coefficient. 1 (n) According to one embodiment, the magnitude weighting function may be determined based on the spectral magnitudes of the normalized LSF coefficients.

[0128] In detail, the amplitude weighting function may be determined using a spectral bin corresponding to the frequency of the normalized LSF coefficient and two adjacent spectral bins located to the left and right of the corresponding spectral bin (e.g., one before or after). Each amplitude weighting function W associated with the spectral envelope 1 (n) can be determined based on Equation 6 below by extracting the maximum value among the magnitudes of the three spectral bins.

[0129] [Equation 6]

[0130] For n=0, ..., M-1

[0131] In Equation 6, Min (minimum value) represents w f (n) is the minimum value, and w f (n) can be obtained by 10log(E 最大 (n)) (herein, n=0, ..., M-1) is defined. Herein, M represents 16, and E 最大 (n)(E max (n)) represents the maximum value among the magnitudes of the three spectral bins for each LSF coefficient.

[0132] The frequency weighting function generating unit 550 may generate a frequency weighting function W based on the frequency information of the normalized LSF coefficient. 2 (n). According to one embodiment, the frequency weighting function can be determined using the perceptual features and the resonance peak distribution of the input signal. The frequency weighting function generation unit 550 can extract the perceptual features of the input signal according to the Bark scale. In addition, the frequency weighting function generation unit 550 can determine the weighting function of each frequency based on the first resonance peak of the resonance peak distribution. The frequency weighting function can show relatively low weights at very low frequencies and high frequencies, and show the same size of weights at low frequencies in a certain frequency period (for example, a period corresponding to the first resonance peak). The frequency weighting function generation unit 550 can determine the frequency weighting function according to the input bandwidth and the coding mode.

[0133] The combining unit 570 can be configured by applying the amplitude weighting function W 1 (n) and the frequency weighting function W 2 (n) Combining to determine the FFT-based weighting function W f (n). The combination unit 570 may determine the final weighting function by multiplying or adding the amplitude weighting function and the frequency weighting function. For example, the FFT-based weighting function W for frame tail LSF quantization may be calculated based on Equation 7 below: f (n).

[0134] [Equation 7]

[0135] W f(n) =W 1 (n) ·W 2 (n), for n=0, ..., M-1

[0136] Figure 6 is a block diagram of an LPC coefficient quantization unit according to an exemplary embodiment.

[0137] Figure 6 The illustrated LPC coefficient quantization unit 600 may include a selection unit 610 , a first quantization module 630 , and a second quantization module 650 .

[0138] Reference Figure 6 , the selection unit 610 may select one of quantization without inter-frame prediction and quantization with inter-frame prediction based on a predetermined criterion. Herein, as the predetermined criterion, a prediction error of an unquantized LSF may be used. The prediction error may be obtained based on an inter-frame prediction value.

[0139] When quantization without inter prediction is selected, the first quantization module 630 may quantize the input signal provided through the selection unit 610 .

[0140] When quantization with inter prediction is selected, the second quantization module 650 may quantize the input signal provided through the selection unit 610 .

[0141] The first quantization module 630 may perform quantization without inter prediction and may be referred to as a safety net scheme. The second quantization module 650 may perform quantization using inter prediction and may be referred to as a prediction scheme.

[0142] Therefore, an optimal quantizer can be selected corresponding to various bit rates from a low bit rate for an efficient interactive voice service to a high bit rate for providing a service with differentiated quality.

[0143] Figure 7 According to an exemplary embodiment Figure 6 Block diagram of the selection unit.

[0144] Figure 7 The selection unit 700 shown may include a prediction error calculation unit 710 and a quantization scheme selection unit 730. In this article, the prediction error calculation unit 710 may include Figure 6 In the second quantization module 650.

[0145] Reference Figure 7, the prediction error calculation unit 710 can calculate the prediction error based on various methods by receiving (as input) the inter-frame prediction value p(n), the weighting function w(n) and the LSF coefficient z(n) from which the DC value has been removed. First, the same inter-frame predictor as used in the prediction scheme of the second quantization module 650 can be used. In this article, any of the autoregression (AR) method and the moving average (MA) method can be used. As the signal z(n) of the previous frame for inter-frame prediction, a quantized value or an unquantized value can be used. In addition, when obtaining the prediction error, the weighting function may or may not be applied. Therefore, a total of eight combinations can be obtained, and four of the eight combinations are as follows.

[0146] First, a weighted AR prediction error using a quantized signal z(n) of a previous frame may be expressed by Equation 8 below.

[0147] [Equation 8]

[0148]

[0149] Second, an AR prediction error using a quantized signal z(n) of a previous frame may be expressed by Equation 9 below.

[0150] [Equation 9]

[0151]

[0152] Third, the weighted AR prediction error using the signal z(n) of the previous frame can be expressed by Equation 10 below.

[0153] [Equation 10]

[0154]

[0155] Fourth, an AR prediction error using a signal z(n) of a previous frame may be expressed by Equation 11 below.

[0156] [Equation 11]

[0157]

[0158] Herein, M represents the dimension of LSF, and when the bandwidth of the input speech signal is WB, 16 is used for M, and ρ(i) represents the prediction coefficient of the AR method. As described above, the case of using information about the previous frame is common, and the prediction error obtained as described above can be used to determine the quantization scheme.

[0159] If the prediction error is greater than a predetermined threshold, this may imply that the current frame is tending toward non-stationary. In this case, a safety net solution may be used. Otherwise, a prediction solution is used, and in this case, the prediction solution may be constrained so that it is not selected continuously.

[0160] According to one embodiment, in order to prepare for a situation where there is no information about a previous frame due to a frame error occurring on the previous frame, a previous frame of the previous frame may be used to obtain a second prediction error, and the second prediction error may be used to determine a quantization scheme. In this case, compared to the first case described above, the second prediction error may be expressed by Equation 12 below.

[0161] [Equation 12]

[0162]

[0163] The quantization scheme selection unit 730 may determine the quantization scheme of the current frame by using the prediction error obtained by the prediction error calculation unit 710. In this case, the quantization scheme selected by the encoding mode determination unit ( Figure 1 According to one embodiment, the quantization scheme selection unit 730 is operable in the VC mode or the GC mode.

[0164] Figure 8 is used to describe according to one embodiment Figure 6 A flowchart of the operation of the selection unit of . When the prediction mode has a value of 0, this indicates that the safety net scheme is always used, and when the prediction mode has a value other than 0, this indicates that the quantization scheme is determined by switching the safety net scheme with the prediction scheme. Examples of the coding mode in which the safety net scheme is always used may be the UC mode and the TC mode. In addition, examples of the coding mode in which the safety net scheme and the prediction scheme are switched and used may be the VC mode and the GC mode.

[0165] Reference Figure 8 , in operation 810, it is determined whether the prediction mode of the current frame is 0. As a result of the determination in operation 810, if the prediction mode is 0, for example, if the current frame has high variability as in the UC mode or the TC mode, then since prediction between frames is difficult, the safety net scheme (i.e., the first quantization module 630) may always be selected in operation 850.

[0166] Otherwise, as a result of the determination in operation 810, if the prediction mode is not 0, one of the safety net scheme and the prediction scheme may be determined as a quantization scheme that takes into account the prediction error. To this end, in operation 830, it is determined whether the prediction error is greater than a predetermined threshold. Herein, the threshold may be predetermined by experiment or simulation. For example, for a WB with a dimension of 16, the threshold may be determined to be, for example, 3,784,536.3. However, the prediction scheme may be constrained so that the prediction scheme is not selected continuously.

[0167] As a result of the determination in operation 830, if the prediction error is greater than or equal to the threshold, the safety net scheme may be selected in operation 850. Otherwise, as a result of the determination in operation 830, if the prediction error is less than the threshold, the prediction scheme may be selected in operation 870.

[0168] 9A to 9E show Figure 6 Block diagram of examples of various implementations of the first quantization module shown. According to one embodiment, it is assumed that a 16-dimensional LSF vector is used as input to the first quantization module.

[0169] The first quantization module 900 shown in FIG9A may include: a first quantizer 911 for quantizing the profile of the entire input vector by using TCQ and a second quantizer 913 for additionally quantizing the quantization error signal. The first quantizer 911 can be implemented using a grid structure quantizer such as TCQ, TCVQ, BC-TCQ or BC-TCVQ. The second quantizer 913 can be implemented using a vector quantizer or a scalar quantizer, but is not limited thereto. In order to improve performance while minimizing memory size, a split vector quantizer (SVQ) can be used, or in order to improve performance, a multi-level vector quantizer (MSVQ) can be used. When the second quantizer 913 is implemented using SVQ or MSVQ, if there is a spare complexity, two or more candidates can be stored, and then a soft decision technique for performing an optimal codebook index search can be used.

[0170] The operations of the first quantizer 911 and the second quantizer 913 are as follows.

[0171] First, the signal z(n) can be obtained by removing a predefined average value from the unquantized LSF coefficients. The first quantizer 911 can quantize or dequantize the entire vector of the signal z(n). The quantizer used in this article can be, for example, TCQ, TCVQ, BC-TCQ or BC-TCVQ. In order to obtain a quantization error signal, the difference between the signal z(n) and the dequantized signal can be used to obtain the signal r(n). The signal r(n) can be provided as an input to the second quantizer 913. The second quantizer 913 can be implemented using SVQ, MSVQ, etc. The signal quantized by the second quantizer 913 becomes a quantized value after being dequantized. and is then added to the result of the inverse quantization performed by the first quantizer 911 And the quantified LSF value This can be done by adding the average value to the quantized value To obtain.

[0172] The first quantization module 900 shown in FIG. 9B may further include an intra-frame predictor 932 in addition to the first quantizer 931 and the second quantizer 933. The first quantizer 931 and the second quantizer 933 may correspond to the first quantizer 911 and the second quantizer 913 of FIG. 9A. Since the LSF coefficient is encoded for each frame, a 10-dimensional or 16-dimensional LSF coefficient may be used in one frame to perform prediction. According to FIG. 9B, the signal z(n) may be quantized by the first quantizer 931 and the intra-frame predictor 932. As a past signal to be used for intra-frame prediction, the value t(n) of the previous stage quantized by TCQ is used. The prediction coefficient to be used for intra-frame prediction may be predefined by a codebook training operation. For TCQ, one dimension is generally used, and a higher degree or dimension may be used depending on the situation. Since TCVQ processes a vector, the prediction coefficient may have an N-dimensional or N×N matrix form corresponding to the size of the dimension N of the vector. In this article, N may be a natural number greater than or equal to 2. For example, when the dimension of VQ is 2, the prediction coefficients need to be obtained in advance by using a matrix of 2 dimensions or 2×2 size. According to one embodiment, TCVQ uses 2D, and the intra predictor 932 has a size of 2×2.

[0173] The intra-frame prediction operation of TCQ is as follows. The input signal t of the first quantizer 931 is j (n) (ie, the first TCQ) can be obtained by Equation 13 below.

[0174] [Equation 13]

[0175]

[0176] In this paper, M represents the dimension of LSF coefficients, and ρ j represents 1D prediction coefficients.

[0177] The first quantizer 931 may quantize the prediction error vector t(n). According to one embodiment, the first quantizer 931 may be implemented using TCQ (in detail, BC-TCQ, BC-TCVQ, TCQ or TCVQ). The intra-frame predictor 932 used together with the first quantizer 931 may repeat the quantization operation and the prediction operation in the element unit or the sub-vector unit of the input vector. The operation of the second quantizer 933 is the same as the operation of the second quantizer 913 of FIG. 9A.

[0178] When the first quantizer 931 is implemented based on N-dimensional TCVQ or N-dimensional BC-TCVQ, the first quantizer 931 may quantize the error vector between the N-dimensional sub-vector and the prediction vector. Herein, N may be a natural number greater than or equal to 2. The intra-frame predictor 932 may generate a prediction vector from the quantized N-dimensional sub-vector. The intra-frame predictor 932 may use a prediction coefficient having an N×N matrix, and may perform intra-frame prediction by using the quantized N-dimensional sub-vector of the previous stage. The second quantizer 933 may quantize the quantization error of the N-dimensional sub-vector.

[0179] In more detail, the intra predictor 932 may generate a prediction vector of the current level by using the quantized N-dimensional linear vector of the previous level and the prediction matrix of the current level. The first quantizer 931 may generate a quantized error vector by quantizing an error vector, the error vector corresponding to the difference between the prediction vector of the current level and the N-dimensional linear vector of the current level. The linear vector of the previous level may be generated based on the error vector of the previous level and the prediction vector of the previous level. The second quantizer 933 may generate a quantized quantized error vector by quantizing the quantized error vector, the quantized error vector corresponding to the difference between the quantized N-dimensional linear vector of the current level and the input N-dimensional linear vector.

[0180] FIG. 9C shows a first quantization module 900 for codebook sharing in addition to the structure of FIG. 9A. The first quantization module 900 may include a first quantizer 951 and a second quantizer 953. When the speech / audio encoder supports multi-rate coding, a technique for quantizing the same LSF input vector into various bits is required. In this case, in order to minimize the codebook memory of the quantizer to be used while showing effective performance, two types of bit number allocations can be implemented to enable a structure. In FIG. 9C, f H (n) indicates high rate output, and f L (n) represents a low rate output. In FIG9C , when only BC-TCQ / BC-TCVQ is used, low rate quantization can be performed using only the number of bits used for BC-TCQ / BC-TCVQ. If more accurate quantization is required in addition to the above quantization, an additional second quantizer 953 can be used to quantize the error signal of the first quantizer 951.

[0181] 9D further includes an intra predictor 972 in addition to the structure of FIG. 9C. The first quantization module 900 may further include the intra predictor 972 in addition to the first quantizer 971 and the second quantizer 973. The first quantizer 971 and the second quantizer 973 may correspond to the first quantizer 951 and the second quantizer 953 of FIG. 9C.

[0182] 9E shows the configuration of the input vector when the first quantizer 911, 931, 951 or 971 is implemented by the 2-dimensional TCVQ in FIG9A to FIG9D. In general, when the input vector is 16, the input vector 990 of the 2-dimensional TCVQ may be 8.

[0183] Hereinafter, when the first quantizer 931 is implemented by the 2-dimensional TCVQ in FIG. 9B , the intra prediction process will be described in detail.

[0184] First, the input signal t can be obtained k (i), i.e., the predicted residual vector of the first quantizer 931, as represented by Equation 14 below.

[0185] [Equation 14]

[0186] t k (0) = z k (0)

[0187] For i=1, ..., M / 2-1

[0188] in For i=1, ..., M / 2-1

[0189] In this paper, M represents the dimension of LSF coefficients, Represents the i-th dimension error vector, i.e. z k The estimated value of (i), represents the (i-1)th dimension error vector, i.e. z k (i-1) quantized vector, and A j Represents a 2×2 prediction matrix.

[0190] A j It can be expressed in Equation 15 below.

[0191] [Equation 15]

[0192] For i=1, ..., M / 2-1

[0193] in

[0194] That is, the first quantizer 931 may perform the prediction on the residual vector t k (i) quantization is performed, and the first quantizer 931 and the intra-frame predictor 932 may quantize z k (i) is quantized. Therefore, the i-th dimension error vector, i.e., z k Quantization vector of (i) It can be expressed by Equation 16 below.

[0195] [Equation 16]

[0196] For i=0, ..., M / 2-1

[0197] Table 3 below shows an example of intra prediction coefficients for BC-TCVQ (eg, the first quantizer 931 used in the safety net scheme).

[0198] [Table 3]

[0199]

[0200]

[0201] Hereinafter, when the first quantizer 1031 is implemented by the 2-dimensional TCVQ in FIG. 10B , the intra prediction process will be described in detail.

[0202] In this case, the first quantizer 1031 and the intra-frame predictor 1032 may k (i) quantization. When the first quantizer 1031 is implemented by BC-TCVQ, the E of equation 17 can be searched to werr (p) Minimize the metric to obtain the optimal metric for each level of BC-TCVQ.

[0203] [Equation 17]

[0204]

[0205] For p=1, ..., P j and j=1, ..., M / 2

[0206] In Equation 17, P j represents the number of code vectors in the jth sub-codebook, represents the pth code vector in the jth subcodebook, w end (w 末尾 (i)) represents the weighting function, and it can also be inferred that

[0207] The intra predictor 1032 may use the same intra prediction process with different prediction coefficients than the safety net scheme.

[0208] That is, the first quantizer 1031 may predict the residual vector t k (i) quantization is performed, and the first quantizer 1031 and the intra-frame predictor 1032 may quantize r k (i) is quantized. Therefore, r can be expressed by the following equation 18: k Quantization vector of (i)

[0209] [Equation 18]

[0210] For i=0, ..., M / 2-1

[0211] Table 4 below shows an example of intra prediction coefficients for BC-TCVQ (eg, the first quantizer 1031 used in the prediction scheme).

[0212] [Table 4]

[0213]

[0214] Even in the case where the first quantizer 931 is implemented by 2-dimensional TCVQ, the above intra prediction process of each embodiment can be similarly applied, and the above intra prediction process can be applied regardless of whether the second quantizer 933 exists. According to an embodiment, the intra prediction process may use an AR method, but is not limited thereto.

[0215] 9A and 9B may be implemented without the second quantizer 913 or 933. In this case, a quantization index for a quantization error of a one-dimensional or N-dimensional sub-vector may not be included in a bitstream.

[0216] 10A to 10D show Figure 6 Block diagrams of examples of various implementations of the second quantization module are shown.

[0217] In addition to the structure of FIG. 9B , the second quantization module 10000 shown in FIG. 10A further includes an inter-frame predictor 1014. In addition to the first quantizer 1011 and the second quantizer 1013, the second quantization module 10000 shown in FIG. 10A may further include an inter-frame predictor 1014. The inter-frame predictor 1014 is a technique for predicting a current frame by using LSF coefficients quantized relative to a previous frame. The inter-frame prediction operation uses a method of performing subtraction from a current frame by using a quantized value of a previous frame and then performing addition of a contribution portion after quantization. In this case, a prediction coefficient is obtained for each element.

[0218] In addition to the structure of FIG. 10A , the second quantization module 10000 shown in FIG. 10B further includes an intra-frame predictor 1032. In addition to the first quantizer 1031, the second quantizer 1033, and the inter-frame predictor 1034, the second quantization module 10000 shown in FIG. 10B may further include an intra-frame predictor 1032. When the first quantizer 1031 is implemented based on N-dimensional TCVQ or N-dimensional BC-TCVQ, the first quantizer 1031 may quantize an error vector corresponding to the difference between the prediction error vector (between the N-dimensional sub-vector and the prediction vector of the current frame) and the prediction vector. In this article, N may be a natural number greater than or equal to 2. The intra-frame predictor 1032 may generate a prediction vector from the quantized prediction error vector. The inter-frame predictor 1034 may use the prediction vector of the current frame of the quantized N-dimensional sub-vector from the previous frame. The second quantizer 1033 may quantize the quantization error of the prediction error vector.

[0219] In more detail, the first quantizer 1031 may quantize an error vector corresponding to a difference between a prediction error vector of a current level and a prediction vector. The prediction error vector may correspond to a difference between a prediction vector of a current frame and an N-dimensional linear vector of a current level. The intra-frame predictor 1032 may generate a prediction vector of a current level from a quantized prediction error vector of a previous level and a prediction matrix of a current level. The second quantizer 1033 may generate a quantized quantized error vector by quantizing a quantized error vector corresponding to a difference between a quantized prediction error vector of a current level and a prediction error vector, the prediction error vector corresponding to a difference between a prediction vector of a current frame and an N-dimensional linear vector of a current level.

[0220] FIG10C shows a second quantization module 1000 for codebook sharing in addition to the structure of FIG10B. That is, in addition to the structure of FIG10B, the structure of the codebook for sharing BC-TCQ / BC-TCVQ between low rate and high rate is also shown. In FIG10B, the upper circuit diagram indicates the output associated with the low rate without using the second quantizer (not shown), and the lower circuit diagram indicates the output associated with the high rate using the second quantizer 1063.

[0221] FIG. 10D shows an example of implementing the second quantization module 1000 by omitting the intra predictor from the structure of FIG. 10C .

[0222] Even in the case where the quantizer is implemented by 2-dimensional TCVQ, the above intra prediction process of each embodiment can be similarly applied and can be applied regardless of whether the second quantizer 933 exists. According to an embodiment, the intra prediction process may use an AR method, but is not limited thereto.

[0223] The first quantization module 1000 shown in FIGS. 10A and 10B may be implemented without the second quantizer 1013 or 1033. In this case, a quantization index for a quantization error of a one-dimensional or N-dimensional sub-vector may not be included in a bitstream.

[0224] 11A-11F are block diagrams illustrating examples of various implementations of a quantizer 1100 in which weights are applied to BC-TCVQ.

[0225] FIG. 11A shows a basic BC-TCVQ and may include a weighting function calculation unit 1111 and a BC-TCVQ part 1112. When BC-TCVQ obtains an optimal index, an index by which weighted distortion is minimized is obtained. FIG. 11B shows a structure in which an intra-frame predictor 1123 is added to FIG. 11A. For the intra-frame prediction used in FIG. 11B, an AR method or an MA method may be used. According to one embodiment, the AR method is used and the prediction coefficient to be used may be predefined.

[0226] Figure 11C shows a structure in which an inter-frame predictor 1134 is added to Figure 11B for additional performance improvement. Figure 11C shows an example of a quantizer used in a prediction scheme. For the inter-frame prediction used in Figure 11C, an AR method or an MA method can be used. According to one embodiment, the AR method is used, and the prediction coefficients to be used can be predefined. The quantization operation is described as follows. First, the prediction error value predicted using inter-frame prediction can be quantized by means of BC-TCVQ using inter-frame prediction. The quantization index value is sent to the decoder. The decoding operation is described as follows. The quantization value r(n) is obtained by adding the intra-frame prediction value to the quantization result of BC-TCVQ. The final quantized LSF value is obtained by adding the prediction value of the inter-frame predictor 1134 to the quantization value r(n) and then adding the average value to the addition result.

[0227] FIG. 11D shows a structure in which the intra-frame predictor is omitted from FIG. 11C. FIG. 11E shows a structure in which a weight is applied when the second quantizer 1153 is added. The weighting function obtained by the weighting function calculation unit 1151 is used for both the first quantizer 1152 and the second quantizer 1153, and the weighted distortion is used to obtain the optimal index. The first quantizer 1152 can be implemented using BC-TCQ, BC-TCVQ, TCQ or TCVQ. The second quantizer 1153 can be implemented using SQ, VQ, SVQ or MSVQ. FIG. 11F shows a structure in which the inter-frame predictor is omitted from FIG. 11E.

[0228] The quantizer of the switching structure can be realized by combining the quantizer forms of various structures that have been described with reference to FIGS. 11A to 11F .

[0229] Fig.12is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a low rate according to an exemplary embodiment. Fig.12 The illustrated quantization apparatus 1200 may include a selection unit 1210 , a first quantization module 1230 , and a second quantization module 1250 .

[0230] The selection unit 1210 may select one of the safety net scheme and the prediction scheme as a quantization scheme based on the prediction error.

[0231] When the safety net scheme is selected, the first quantization module 1230 performs quantization without inter prediction and may include a first quantizer 1231 and a first intra predictor 1232. In detail, the LSF vector may be quantized into 30 bits by the first quantizer 1231 and the first intra predictor 1232.

[0232] When the prediction scheme is selected, the second quantization module 1250 performs quantization using inter prediction, and may include a second quantizer 1251, a second intra predictor 1252, and an inter predictor 1253. In detail, a prediction error corresponding to a difference between an LSF vector from which a mean value has been removed and a prediction vector may be quantized into 30 bits by the second quantizer 1251 and the second intra predictor 1252.

[0233] Fig.12 The quantization apparatus shown shows an example of LSF coefficient quantization using 31 bits in VC mode. Fig.12 The first quantizer 1231 and the second quantizer 1251 in the quantization device can be Fig.13 The first quantizer 1331 and the second quantizer 1351 in the quantization device share a codebook. Fig.12 The operation of the quantization device shown is described as follows. A signal z(n) can be obtained by removing the average value from the input LSF value f(n). The selection unit 1210 can select or determine the best quantization scheme by using the values ​​p(n) and z(n) for inter-frame prediction using the decoded value z(n) in the previous frame, a weighting function, and a prediction mode pred_mode. According to the selected or determined result, quantization can be performed using one of a safety net scheme and a prediction scheme. The selected or determined quantization scheme can be encoded by one bit.

[0234] When the safety net scheme is selected by the selection unit 1210, the entire input vector of the LSF coefficient z(n) from which the average value has been removed can be quantized by the first intra-frame predictor 1232 and using the first quantizer 1231 using 30 bits. However, when the prediction scheme is selected by the selection unit 1210, the prediction error signal obtained from the LSF coefficient z(n) from which the average value has been removed using the inter-frame predictor 1253 can be quantized by the second intra-frame predictor 1252 and using the second quantizer 1251 using 30 bits. The first quantizer 1231 and the second quantizer 1251 can be, for example, a quantizer in the form of TCQ or TCVQ. In detail, BC-TCQ, BC-TCVQ, etc. can be used. In this case, the quantizer uses a total of 31 bits. The quantization result is used as the output of the quantizer at a low rate, and the main output of the quantizer is the quantized LSF vector and the quantization index.

[0235] Fig.13 is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a high rate according to an exemplary embodiment. Fig.13 The quantization device 1300 shown may include a selection unit 1310, a first quantization module 1330, and a second quantization module 1350. Fig.12 When compared, there is a difference in that a third quantizer 1333 is added to the first quantization module 1330, and a fourth quantizer 1353 is added to the second quantization module 1350. Fig.12 and Fig.13 In the example, the first quantizers 1231 and 1331 and the second quantizers 1251 and 1351 may use the same codebook, respectively. That is, Fig.12 31-bit LSF quantization device 1200 and Fig.13 The 41-bit LSF quantization apparatus 1300 of FIG. 1 can use the same codebook for BC-TCVQ. Therefore, although the codebook cannot be called an optimal codebook, the memory size can be significantly saved.

[0236] The selection unit 1310 may select one of the safety net scheme and the prediction scheme as a quantization scheme based on the prediction error.

[0237] When the safety net scheme is selected, the first quantization module 1330 may perform quantization without inter prediction, and may include a first quantizer 1331 , a first intra predictor 1332 , and a third quantizer 1333 .

[0238] When the prediction scheme is selected, the second quantization module 1350 may perform quantization using inter prediction, and may include a second quantizer 1351 , a second intra predictor 1352 , a fourth quantizer 1353 , and an inter predictor 1354 .

[0239] Fig.13 The quantization apparatus shown shows an example of LSF coefficient quantization using 41 bits in VC mode. Fig.13 The first quantizer 1331 and the second quantizer 1351 in the quantization device 1300 can be respectively Fig.12 The first quantizer 1231 and the second quantizer 1251 in the quantization device 1200 share a codebook. The operation of the quantization device 1300 is described as follows. The signal z(n) can be obtained by removing the average value from the input LSF value f(n). The selection unit 1310 can select or determine the optimal quantization scheme by using the values ​​p(n) and z(n) used for inter-frame prediction using the decoded value z(n) in the previous frame, the weighting function, and the prediction mode pred_mode. According to the selected or determined result, quantization can be performed using one of the safety net scheme and the prediction scheme. The selected or determined quantization scheme can be encoded by one bit.

[0240] When the safety net scheme is selected by the selection unit 1310, the entire input vector of the LSF coefficient z(n) from which the average value has been removed may be quantized and dequantized by the first intra-frame predictor 1332 and the first quantizer 1331 using 30 bits. A second error vector indicating a difference between the original signal and the dequantized result may be provided as an input to the third quantizer 1333. The third quantizer 1333 may quantize the second error vector by using 10 bits. The third quantizer 1333 may be, for example, SQ, VQ, SVQ, or MSVQ. After quantization and dequantization, the final quantized vector may be stored for subsequent frames.

[0241] However, when the prediction scheme is selected by the selection unit 1310, the prediction error signal obtained by subtracting p(n) of the inter-frame predictor 1354 from the LSF coefficient z(n) from which the average value has been removed can be quantized or dequantized by using a second quantizer 1351 and a second intra-frame predictor 1352 using 30 bits. The first quantizer 1331 and the second quantizer 1351 can be, for example, quantizers in the form of TCQ or TCVQ. In detail, BC-TCQ, BC-TCVQ, etc. can be used. The second error vector indicating the difference between the original signal and the dequantized result can be provided as an input to the fourth quantizer 1353. The fourth quantizer 1353 can quantize the second error vector by using 10 bits. In this article, the second error vector can be divided into two 8×8 dimensional sub-vectors and then quantized by the fourth quantizer 1353. Since the low frequency band is more important than the high frequency band in terms of perception, the second error vector can be encoded by allocating different numbers of bits to the first VQ and the second VQ. The fourth quantizer 1353 may be, for example, SQ, VQ, SVQ, or MSVQ.After quantization and inverse quantization, the final quantized vector may be stored for subsequent frames.

[0242] In this case, the quantizer uses a total of 41 bits. The quantization result is used as the output of the high-rate quantizer, and the main outputs of the quantizer are the quantized LSF vector and the quantization index.

[0243] Therefore, when using Fig.12 and Fig.13 hour, Fig.12 The first quantizer 1231 and Fig.13 The first quantizer 1331 may share a quantization codebook, and Fig.12 The second quantizer 1251 and Fig.13 The second quantizer 1351 of the third quantizer 1333 can share the quantization codebook, thereby significantly saving the entire codebook memory. In order to further save the codebook memory, the third quantizer 1333 and the fourth quantizer 1353 can also share the quantization codebook. In this case, since the input distribution of the third quantizer 1333 is different from the input distribution of the fourth quantizer 1353, the scaling factor can be used to compensate for the difference between the input distributions. The scaling factor can be calculated by considering the input of the third quantizer 1333 and the input distribution of the fourth quantizer 1353. According to one embodiment, the input signal of the third quantizer 1333 can be divided by the scaling factor, and the signal obtained by the division result can be quantized by the third quantizer 1333. The signal quantized by the third quantizer 1333 can be obtained by multiplying the output of the third quantizer 1333 by the scaling factor. As described above, if the input of the third quantizer 1333 or the fourth quantizer 1353 is appropriately scaled and then quantized, the codebook can be shared while maintaining performance at most.

[0244] Fig.14 is a block diagram of a quantization device having a switching structure with an open-loop scheme at a low rate according to another exemplary embodiment. Fig.14 In the quantization device 1400 of FIG. 9C and FIG. 9D, the low rate portion can be applied to the first quantizer 1431 and the second quantizer 1451 used by the first quantization module 1430 and the second quantization module 1450. The operation of the quantization device 1400 is described as follows. The weighting function calculation 1400 can obtain the weighting function w(n) by using the input LSF value. The obtained weighting function w(n) can be used by the first quantizer 1431 and the second quantizer 1451. The signal z(n) can be obtained by removing the average value from the LSF value f(n). The selection unit 1410 can determine the best quantization scheme by using the values ​​p(n) and z(n) used for inter-frame prediction using the decoded value z(n) in the previous frame, the weighting function, and the prediction mode pred_mode. According to the selected or determined result, quantization can be performed using one of the safety net scheme and the prediction scheme. The selected or determined quantization scheme can be encoded by one bit.

[0245] When the safety net scheme is selected by the selection unit 1410, the LSF coefficient z(n) from which the mean value has been removed may be quantized by the first quantizer 1431. As described with reference to FIGS. 9C and 9D, the first quantizer 1431 may use intra prediction for high performance or may not use intra prediction for low complexity. When the intra predictor is used, the entire input vector may be provided to the first quantizer 1431 for quantizing the entire input vector by using TCQ or TCVQ through intra prediction.

[0246] When the prediction scheme is selected by the selection unit 1410, the LSF coefficient z(n) from which the average value has been removed may be provided to the second quantizer 1451 for quantizing the prediction error signal obtained using inter-frame prediction by using TCQ or TCVQ by intra-frame prediction. The first quantizer 1431 and the second quantizer 1451 may be, for example, quantizers in the form of TCQ or TCVQ. In detail, BC-TCQ, BC-TCVQ, etc. may be used. The quantization result is used as the output of the quantizer of the low rate.

[0247] Fig.15 is a block diagram of a quantization apparatus having a switching structure of an open-loop scheme at a high rate according to another embodiment. Fig.15 The quantization device 1500 shown may include a selection unit 1510, a first quantization module 1530, and a second quantization module 1550. Fig.14 When compared, there is a difference in that a third quantizer 1532 is added to the first quantization module 1530, and a fourth quantizer 1552 is added to the second quantization module 1550. Fig.14 and 15 , the first quantizers 1431 and 1531 and the second quantizers 1451 and 1551 may use the same codebook, respectively. Therefore, although the codebook cannot be called the optimal codebook, the memory size can be significantly saved. The operation of the quantization device 1500 is described as follows. When the safety net scheme is selected by the selection unit 1510, the first quantizer 1531 performs the first quantization and inverse quantization, and the second error vector indicating the difference between the original signal and the inverse quantization result may be provided as an input to the third quantizer 1532. The third quantizer 1532 may quantize the second error vector. The third quantizer 1532 may be, for example, SQ, VQ, SVQ or MSVQ. After quantization and inverse quantization, the final quantized vector may be stored for subsequent frames.

[0248] However, when the prediction scheme is selected by the selection unit 1510, the second quantizer 1551 performs quantization and inverse quantization, and a second error vector indicating the difference between the original signal and the inverse quantization result may be provided as an input to the fourth quantizer 1552. The fourth quantizer 1552 may quantize the second error vector. The fourth quantizer 1552 may be, for example, SQ, VQ, SVQ, or MSVQ. After quantization and inverse quantization, the final quantized vector may be stored for subsequent frames.

[0249] Fig.16 is a block diagram of an LPC coefficient quantization unit according to another exemplary embodiment.

[0250] Fig.16 The LPC coefficient quantization unit 1600 shown may include a selection unit 1610, a first quantization module 1630, a second quantization module 1650 and a weighting function calculation unit 1670. Figure 6 Compared with the LPC coefficient quantization unit 600 shown in FIG. 16 , the difference is that it further includes a weighting function calculation unit 1670. A detailed implementation example is shown in FIG. 11A to FIG. 11F .

[0251] Fig.17 is a block diagram of a quantization device having a switching structure of a closed-loop scheme according to one embodiment. Fig.17 The illustrated quantization device 1700 may include a first quantization module 1710, a second quantization module 1730, and a selection unit 1750. The first quantization module 1710 may include a first quantizer 1711, a first intra predictor 1712, and a third quantizer 1713, and the second quantization module 1730 may include a second quantizer 1731, a second intra predictor 1732, a fourth quantizer 1733, and an inter predictor 1734.

[0252] Reference Fig.17 In the first quantization module 1710, the first quantizer 1711 may quantize the entire input vector by using BC-TCVQ or BC-TCQ through the first intra predictor 1712. The third quantizer 1713 may quantize the quantization error signal by using VQ.

[0253] In the second quantization module 1730, the second quantizer 1731 may quantize the prediction error signal by using BC-TCVQ or BC-TCQ through the second intra predictor 1732. The fourth quantizer 1733 may quantize the quantization error signal by using VQ.

[0254] The selection unit 1750 may select one of the output of the first quantization module 1710 and the output of the second quantization module 1730 .

[0255] exist Fig.17, the safety net scheme is the same as that of FIG. 9B , and the prediction scheme is the same as that of FIG. 10B . Herein, for inter-frame prediction, one of the AR method and the MA method may be used. According to one embodiment, an example using a first-order AR method is shown. The prediction coefficient is predefined, and as a past vector for prediction, a vector that is the best vector between two schemes in a previous frame is selected.

[0256] Fig.18 is a block diagram of a quantization device having a switching structure with a closed-loop scheme according to another exemplary embodiment. Fig.17 In comparison, the intra predictor is omitted. Fig.18 The quantization device 1800 shown may include a first quantization module 1810, a second quantization module 1830 and a selection unit 1850. The first quantization module 1810 may include a first quantizer 1811 and a third quantizer 1812, and the second quantization module 1830 may include a second quantizer 1831, a fourth quantizer 1832 and an inter-frame predictor 1833.

[0257] Reference Fig.18 , the selection unit 1850 may select or determine the best quantization scheme by using as input the weighted distortion obtained using the output of the first quantization module 1810 and the output of the second quantization module 1830. The operation of determining the best quantization scheme is described as follows.

[0258]

[0259] Herein, when the prediction mode (predmode) is 0, this indicates a mode in which the safety net scheme is always used, and when the prediction mode (predmode) is not 0, this indicates switching and using the safety net scheme and the prediction scheme. An example of a mode in which the safety net scheme is always used may be a TC mode or a UC mode. In addition, WDist[0] represents the weighted distortion of the safety net scheme, and WDist[1] represents the weighted distortion of the prediction scheme. In addition, abs_threshold represents a preset threshold value. When the prediction mode is not 0, the optimal quantization scheme may be selected by giving a higher priority to the weighted distortion of the safety net scheme in consideration of the frame error. That is, basically, if the value of WDist[0] is less than a predefined threshold, the safety net scheme may be selected regardless of the value of WDist[1]. Even in other cases, for the same weighted distortion, the safety net scheme may be selected instead of simply selecting a less weighted distortion because the safety net scheme is more stable to the frame error. Therefore, the prediction scheme may be selected only when WDist[0] is greater than PREFERSFNET*WDist[1]. Herein, PREFERSFNET=1.15 may be used, but is not limited thereto. By doing so, when a quantization scheme is selected, bit information indicating the selected quantization scheme and a quantization index obtained by performing quantization using the selected quantization scheme may be transmitted.

[0260] Fig.19 is a block diagram of a dequantization apparatus according to an exemplary embodiment.

[0261] Fig.19 The illustrated inverse quantization device 1900 may include a selection unit 1910 , a first inverse quantization module 1930 , and a second inverse quantization module 1950 .

[0262] Reference Fig.19 The selection unit 1910 may provide the encoded LPC parameter (eg, prediction residual) to one of the first inverse quantization module 1930 and the second inverse quantization module 1950 based on the quantization scheme information included in the bitstream. For example, the quantization scheme information may be represented by one bit.

[0263] The first inverse quantization module 1930 may inverse quantize the encoded LPC parameters without performing inter-frame prediction.

[0264] The second inverse quantization module 1950 may inverse quantize the encoded LPC parameters using inter-frame prediction.

[0265] The first inverse quantization module 1930 and the second inverse quantization module 1950 may be implemented based on inverse processing of the first quantization module and the second quantization module according to each of the above-described various implementations of the encoding device corresponding to the decoding device.

[0266] Applicable Fig.19 The invention relates to a dequantization device of the present invention, regardless of whether the quantizer structure is an open-loop scheme or a closed-loop scheme.

[0267] VC mode at an internal sampling frequency of 16 KHz may have two decoding rates, for example 31 bits per frame or 40 or 41 bits per frame.VC mode may be decoded by a 16-state 8-level BC TCVQ.

[0268] Fig. 20 is a block diagram of a dequantization apparatus according to an exemplary embodiment, which may correspond to a coding rate of 31 bits. Fig. 20 The dequantization device 2000 shown may include a selection unit 2010, a first dequantization module 2030, and a second dequantization module 2050. The first dequantization module 2030 may include a first dequantizer 2031 and a first intra-frame predictor 2032, and the second dequantization module 2050 may include a second dequantizer 2051, a second intra-frame predictor 2052, and an inter-frame predictor 2053. Fig. 20 The dequantization device can correspond to Fig.12 quantification equipment.

[0269] Reference Fig. 20 , the selection unit 2010 may provide the encoded LPC parameter to one of the first inverse quantization module 2030 and the second inverse quantization module 2050 based on the quantization scheme information included in the bitstream.

[0270] When the quantization scheme information indicates the safety net scheme, the first inverse quantizer 2031 of the first inverse quantization module 2030 may perform inverse quantization by using TCQ, TCVQ, BC-TCQ, or BC-TCVQ. The quantized LSF coefficient may be obtained by the first inverse quantizer 2031 and the first intra predictor 2032. The final decoded LSF coefficient is generated by adding an average value, which is a predetermined DC value, to the quantized LSF coefficient.

[0271] However, when the quantization scheme information indicates a prediction scheme, the second inverse quantizer 2051 of the second inverse quantization module 2050 may perform inverse quantization by using TCQ, TCVQ, BC-TCQ or BC-TCVQ. The inverse quantization operation starts from the lowest vector in the LSF vector, and the intra-frame predictor 2052 generates a prediction value of the vector element of the next level by using the decoded vector. The inter-frame predictor 2053 generates a prediction value by prediction between frames by using the LSF coefficients decoded in the previous frame. The final decoded LSF coefficient is generated by adding the inter-frame prediction value obtained by the inter-frame predictor 2053 to the quantized LSF coefficients obtained by the second inverse quantizer 2051 and the intra-frame predictor 2052 and then adding the average value of a predetermined DC value to the addition result.

[0272] Fig. 20 The decoding process in will be described as follows.

[0273] When using the safety net approach, it can be implemented as follows in Equation 19: Decoding.

[0274] [Equation 19] For i=2, ..., M / 2

[0275] In this paper, the prediction residual t k (i) can be decoded by the first inverse quantizer 2031.

[0276] When the prediction scheme is used, the prediction vector p can be obtained by the following equation 20: k (i).

[0277] [Equation 20]

[0278] For i=0, ..., M-1

[0279] Here, ρ(i) represents the AR prediction coefficient selected for a specific coding mode at a specific internal sampling frequency (e.g., VC mode at 16 kHz), and M represents the dimension of LPC.

[0280]

[0281] This can be implemented by the following equation 21: Decoding.

[0282] [Equation 21]

[0283] For i=2, ..., M / 2

[0284] In this paper, the prediction residual t k (i) can be decoded by the second inverse quantizer 2051.

[0285] Quantized LSF vector for prediction scheme It can be obtained by the following equation 22.

[0286] [Equation 22]

[0287] For i=0, ..., M-1

[0288] In this paper, m(i) represents the average vector in a specific coding mode (such as VC mode). It can also be inferred that

[0289] Quantified LSF vectors for safety net schemes It can be obtained by equation 23 below.

[0290] [Equation 23]

[0291] For i=0, ..., M-1

[0292] In this paper, m(i) represents the average vector in a specific coding mode (e.g., VC mode). It can also be inferred that

[0293] Fig.21 is a detailed block diagram of a dequantization apparatus according to another embodiment, which may correspond to a coding rate of 41 bits. Fig.21 The dequantization device 2100 shown may include a selection unit 2110, a first dequantization module 2130, and a second dequantization module 2150. The first dequantization module 2130 may include a first dequantizer 2131, a first intra-frame predictor 2132, and a third dequantizer 2133, and the second dequantization module 2150 may include a second dequantizer 2151, a second intra-frame predictor 2152, a fourth dequantizer 2153, and an inter-frame predictor 2154. Fig.21 The dequantization device can correspond to Fig.13 quantification equipment.

[0294] Reference Fig.21 , the selection unit 2110 may provide the encoded LPC parameter to one of the first inverse quantization module 2130 and the second inverse quantization module 2150 based on the quantization scheme information included in the bitstream.

[0295] When the quantization scheme information indicates the safety net scheme, the first inverse quantizer 2131 of the first inverse quantization module 2130 may perform inverse quantization by using BC-TCVQ. The third inverse quantizer 2133 may perform inverse quantization by using SVQ. The quantized LSF coefficient may be obtained by the first inverse quantizer 2131 and the first intra predictor 2132. The final decoded LSF coefficient is generated by adding the quantized LSF coefficient obtained by the third inverse quantizer 2133 to the quantized LSF coefficient and then adding the average value as a predetermined DC value to the addition result.

[0296] However, when the quantization scheme information indicates a prediction scheme, the second inverse quantizer 2151 of the second inverse quantization module 2150 may perform inverse quantization by using BC-TCVQ. The inverse quantization operation starts from the lowest vector in the LSF vector, and the second intra-frame predictor 2152 generates a prediction value of the vector element of the next level by using the decoded vector. The fourth inverse quantizer 2153 may perform inverse quantization by using SVQ. The quantized LSF coefficient provided from the fourth inverse quantizer 2153 may be added to the quantized LSF coefficient obtained by the second inverse quantizer 2151 and the second intra-frame predictor 2152. The inter-frame predictor 2154 may generate a prediction value by prediction between frames using the LSF coefficient decoded in the previous frame. The final decoded LSF coefficient is generated by adding the inter-frame prediction value obtained by the inter-frame predictor 2153 to the addition result and then adding the average value as a predetermined DC value to the addition result.

[0297] Herein, the third inverse quantizer 2133 and the fourth inverse quantizer 2153 may share a codebook.

[0298] Fig.21 The decoding process in will be described as follows.

[0299] The scheme selection and decoding process of the first dequantizer 2131 and the second dequantizer 2151 are the same as Fig. 20 The scheme selection and decoding process are the same. and The decoding can also be performed by the third dequantizer 2133 and the fourth dequantizer 2153.

[0300] Quantized LSF vector for prediction scheme It can be obtained by equation 24 below.

[0301] [Equation 24]

[0302] for

[0303] In this article, It can be obtained by the second inverse quantizer 2151 and the second intra-frame predictor 2152.

[0304] Quantized LSF vectors for safety net schemes It can be obtained by equation 25 below.

[0305] [Equation 25]

[0306] For i=0, ..., M-1

[0307] In this article, It can be obtained through the first inverse quantizer 2131 and the first intra-frame predictor 2132.

[0308] Although not shown, Figures 19 to 21 The dequantization device can be used as a corresponding Figure 2 Components of a decoding device.

[0309] In each equation, k may represent a frame, and i or j may represent a level.

[0310] Contents related to BC-TCVQ used in association with LPC coefficient quantization / dequantization are described in detail in "Block Constrained Trellis Coded Vector Quantization of LSF Parameters for Wideband Speech Codecs" (Jungeun Park and Sangwon Kang, ETRI Journal, October 2008, Issue 5, Volume 30). In addition, contents related to TCVQ are described in detail in "Trellis Coded Vector Quantization" (Thomas R. Fischer et al., IEEE Transactions on Information Theory, November 1991, Issue 6, Volume 37).

[0311] The method according to each embodiment can be edited by a computer executable program and implemented in a general-purpose digital computer for executing the program by using a computer-readable recording medium. In addition, the data structure, program command or data file that can be used in each embodiment of the present invention can be recorded in a computer-readable recording medium by various means. The computer-readable recording medium may include all types of storage devices for storing data that can be read by a computer system. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks or tapes, optical media such as compact disk read-only memories (CD-ROMs) or digital versatile disks (DVDs), magneto-optical media such as floppy optical disks, and hardware devices specially configured to store and execute program commands, such as ROMs, RAMs or flash memories. In addition, the computer-readable recording medium may be a transmission medium for sending signals for specifying program commands, data structures, etc. Examples of program commands include high-level language codes that can be executed by a computer using an interpreter and machine language codes made by a compiler.

[0312] Although the embodiments of the present invention have been described with reference to limited embodiments and drawings, the embodiments of the present invention are not limited to the above embodiments, and their updates and modifications can be performed in many aspects from the present disclosure by ordinary technicians in the field. Therefore, the scope of the present invention is not limited by the above description, but by the claims, and all consistent or equivalent modifications thereof will fall within the scope of the technical idea of ​​the present invention.

Claims

1. A quantization device for quantizing line spectrum frequency (LSF) coefficients of a speech or audio signal, comprising: A first quantizer, comprising a trellis coded vector quantizer, configured to quantize an error vector between a prediction vector of a current level and an N-dimensional sub-vector of the current level, wherein N is a natural number greater than or equal to 2; an intra predictor configured to generate the prediction vector of the current stage by using the quantized N-dimensional sub-vector of the previous stage and a prediction matrix of the current stage, wherein the prediction matrix corresponds to a prediction coefficient having an N×N matrix format; and a second quantizer, comprising a vector quantizer, configured to quantize a quantization error vector corresponding to a difference between the quantized N-dimensional sub-vector of the current stage and the N-dimensional sub-vector of the current stage, wherein the N-dimensional sub-vector of the current level is obtained by removing a predefined average value from the line spectrum frequency LSF coefficients, and The quantized N-dimensional sub-vector of the previous stage is obtained based on the quantized error vector of the previous stage and the prediction vector of the previous stage.

2. The device according to claim 1, wherein The first quantizer is configured to search for an optimal indicator based on a weighting function.

3. The device according to claim 1, wherein: The second quantizer is configured to search for an optimal indicator based on a weighting function.

Citation Information

Patent Citations

  • Block-constrained TCQ method, and method and apparatus for quantizing LSF parameter employing the same in speech coding system

    US7630890B2

  • Band spreading coding method and device and decode method and device

    CN101089951A

  • Vector quantizer, vector inverse quantizer, and methods therefor

    CN101911185A