WO2015170899A1 - 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치 - Google Patents

선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치 Download PDF

Info

Publication number
WO2015170899A1
WO2015170899A1 PCT/KR2015/004577 KR2015004577W WO2015170899A1 WO 2015170899 A1 WO2015170899 A1 WO 2015170899A1 KR 2015004577 W KR2015004577 W KR 2015004577W WO 2015170899 A1 WO2015170899 A1 WO 2015170899A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
quantization
prediction
error
quantizer
Prior art date
Application number
PCT/KR2015/004577
Other languages
English (en)
French (fr)
Inventor
성호상
강상원
김종현
오은미
Original Assignee
삼성전자 주식회사
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 한양대학교 산학협력단 filed Critical 삼성전자 주식회사
Priority to US15/309,334 priority Critical patent/US10504532B2/en
Priority to KR1020227016454A priority patent/KR102593442B1/ko
Priority to KR1020237035370A priority patent/KR20230149335A/ko
Priority to CN201580037280.6A priority patent/CN107077857B/zh
Priority to EP24167654.3A priority patent/EP4418266A3/en
Priority to EP15789302.5A priority patent/EP3142110B1/en
Priority to KR1020167031128A priority patent/KR102400540B1/ko
Priority to EP24167632.9A priority patent/EP4375992A3/en
Publication of WO2015170899A1 publication Critical patent/WO2015170899A1/ko
Priority to US16/700,246 priority patent/US11238878B2/en
Priority to US17/571,597 priority patent/US11922960B2/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0016Codebook for LPC parameters

Definitions

  • the present invention relates to linear predictive coefficient quantization and inverse quantization, and more particularly, to a method and apparatus for efficiently quantizing a linear predictive coefficient with low complexity and a method and apparatus for inverse quantization.
  • LPC linear predictive coding
  • the quantization is performed by converting the LPC coefficients into other coefficients that are easy to check the stability of the filter, are advantageous for interpolation, and have good quantization characteristics, and are mainly line spectrum frequencies (hereinafter, referred to as LSF) or emission spectrum frequencies (LSF). It is preferred to quantize it by converting it into an Immittance Spectral Frequency (hereinafter, referred to as ISF).
  • the quantization technique of the LSF coefficients can increase the quantization gain by using a high correlation between the frames of the LSF coefficients in the frequency domain and the time domain.
  • the LSF coefficient represents the frequency characteristic of the short-term sound, and in the case of a frame in which the frequency characteristic of the input sound changes rapidly, the LSF coefficient of the corresponding frame also changes rapidly.
  • a quantizer including an interframe predictor using a high interframe correlation of LSF coefficients it is impossible to properly predict a rapidly changing frame, resulting in poor quantization performance. Therefore, it is necessary to select an optimized quantizer corresponding to the signal characteristics of each frame of the input sound.
  • the technical problem to be solved is to provide a method and apparatus for efficiently quantizing LPC coefficients with low complexity and a method and apparatus for inverse quantization.
  • a quantization apparatus includes a trellis structure vector quantizer for quantizing a first error vector between an N-dimensional sub-vector and a first prediction vector; And an in-frame predictor for generating the first prediction vector from the quantized N-dimensional subvectors, wherein the in-frame predictor uses a prediction coefficient consisting of an NXN matrix and uses the quantized N-dimensional subvectors of the previous stage. In-frame prediction can be performed.
  • the quantization apparatus may further include a vector quantizer for performing quantization with respect to quantization error for the N-dimensional subvector.
  • the apparatus may further include an interframe predictor for generating a prediction vector of the current frame from a vector.
  • the apparatus may further include an interframe predictor for generating a prediction vector of the current frame from a vector, and a vector quantizer for quantizing the quantization error of the prediction error vector.
  • a quantization apparatus includes an intra frame predictor for generating a prediction vector of a current stage from a quantized N-dimensional linear vector of a previous stage and a prediction matrix of the current stage; And a vector quantizer for quantizing an error vector that is a difference between the predicted vector of the current stage and the N-dimensional linear vector of the current stage to generate a quantized error vector, wherein the linear vector of the previous stage includes an error vector of the previous stage and Can be generated based on the prediction vector of the previous stage.
  • the quantization apparatus may further include an error vector quantizer for generating a quantized quantization error vector by performing quantization on a quantization error vector that is a difference between the quantized N-dimensional linear vector and the input N-dimensional linear vector of the current stage.
  • the intra frame predictor may generate a prediction vector from the quantized prediction error vector.
  • the vector quantizer may further include an error vector quantizer that performs quantization on the quantization error of the prediction error vector.
  • an inverse quantizer includes a trellis structure vector inverse quantizer that inversely quantizes a first quantization index for an N-dimensional (where N is two or more) subvectors; And an in-frame predictor for generating a prediction vector from the quantized N-dimensional subvectors, wherein the quantized N-dimensional subvectors add the quantized error vector and the prediction vector obtained from the trellis structure vector dequantizer.
  • the in-frame predictor uses a prediction coefficient composed of an NXN matrix, and may perform in-frame prediction using a quantized N-dimensional subvector of the previous stage.
  • the dequantizer may further include a vector dequantizer for dequantizing a second quantization index for a quantization error for the N-dimensional subvector.
  • the apparatus may further include an interframe predictor for generating a prediction vector of the frame.
  • the apparatus may further include an interframe predictor for generating a prediction vector of the frame and a vector inverse quantizer for inversely quantizing a fourth quantization index for quantization error for the prediction error vector.
  • a speech or audio signal is designed by designing a quantizer having excellent performance at a low bit rate. Can be quantized more efficiently.
  • FIG. 1 is a block diagram illustrating a configuration of a sound encoding apparatus according to an embodiment.
  • FIG. 2 is a block diagram showing a configuration of a sound encoding apparatus according to another embodiment.
  • FIG. 3 is a block diagram illustrating a configuration of an LPC quantization unit according to an embodiment.
  • FIG. 4 is a block diagram illustrating a detailed configuration of the weighting function determiner of FIG. 3 according to an exemplary embodiment.
  • FIG. 5 is a block diagram illustrating a detailed configuration of a first weight function generator of FIG. 4 according to an exemplary embodiment.
  • FIG. 6 is a block diagram illustrating a configuration of an LPC coefficient quantization unit according to an embodiment.
  • FIG. 7 is a block diagram illustrating a configuration of a selector of FIG. 6, according to an exemplary embodiment.
  • FIG. 8 is a flowchart illustrating an operation of a selector of FIG. 6, according to an exemplary embodiment.
  • 9A through 9E are block diagrams illustrating various implementations of the first quantization module illustrated in FIG. 6.
  • 10A to 10D are block diagrams illustrating various implementations of the second quantization module illustrated in FIG. 6.
  • 11A-11F are block diagrams illustrating various implementations of quantizers that weight BC-TCVQ.
  • FIG. 12 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a low rate according to an embodiment.
  • FIG. 13 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a high rate according to an embodiment.
  • FIG. 14 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a low rate according to another exemplary embodiment.
  • FIG. 15 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a high rate according to another exemplary embodiment.
  • 16 is a block diagram illustrating a configuration of an LPC coefficient quantization unit according to an embodiment.
  • 17 is a block diagram illustrating a configuration of a quantization apparatus having a closed loop switching structure according to an embodiment.
  • FIG. 18 is a block diagram illustrating a configuration of a quantization device having a closed loop switching structure according to another embodiment.
  • 19 is a block diagram illustrating a configuration of an inverse quantization apparatus according to an embodiment.
  • 20 is a block diagram showing a detailed configuration of an inverse quantization apparatus according to an embodiment.
  • 21 is a block diagram showing a detailed configuration of an inverse quantization device according to another embodiment.
  • first and second may be used to describe various components, but the components are not limited by the terms. The terms are only used to distinguish one component from another.
  • TCQ quantizes an input vector by assigning one element to each TCQ stage, whereas TCVQ divides an entire input vector to form a subvector, and then uses a structure to allocate each subvector to a TCQ stage. . If one element is used to construct a quantizer, it becomes TCQ. A plurality of elements are combined to form a subvector to form a quantizer, which is TCVQ. Therefore, when the two-dimensional subvector is used, the total number of TCQ stages is equal to the input vector size divided by two.
  • a voice / audio codec encodes an input signal in units of frames and extracts LSF coefficients every frame. The LSF coefficients are usually in the form of a vector, and orders of 10 or 16 are used. In this case, the number of subvectors is 5 or 8 when considering two-dimensional TCVQ.
  • FIG. 1 is a block diagram illustrating a configuration of a sound encoding apparatus according to an embodiment.
  • the sound encoding apparatus 100 illustrated in FIG. 1 may include an encoding mode selection unit 110, an LPC coefficient quantization unit 130, and a CELP encoding unit 150. Each component may be integrated into at least one or more modules and implemented as at least one or more processors (not shown).
  • the sound may mean audio or voice, or a mixed signal of audio and voice.
  • voice sound is referred to as voice for convenience of description.
  • the encoding mode selector 110 may select one of a plurality of encoding modes in response to multi-rate.
  • the encoding mode selector 110 may determine an encoding mode of the current frame using signal characteristics, voice activity detection (VAD) information, or an encoding mode of a previous frame.
  • VAD voice activity detection
  • the LPC coefficient quantization unit 130 may quantize the LPC coefficients using a quantizer corresponding to the selected encoding mode, and determine a quantization index representing the quantized LPC coefficients.
  • the LPC coefficient quantization unit 130 may perform quantization by converting the LPC coefficients into other coefficients suitable for quantization.
  • the excitation signal encoder 150 may perform excitation signal encoding according to the selected encoding mode.
  • Code-Excited Linear Prediction (CELP) or Algebraic CELP (ACELP) algorithms may be used to encode the excitation signal.
  • Representative parameters for encoding LPC coefficients by the CELP technique include an adaptive codebook index, an adaptive codebook gain, a fixed codebook index, and a fixed codebook gain.
  • the excitation signal encoding may be performed based on an encoding mode corresponding to the characteristic of the input signal. For example, four coding modes, an unvoiced coding (UC) mode, a voiced coding (VC) mode, a generic coding (GC) mode, and a transision coding (TC) mode may be used.
  • UC unvoiced coding
  • VC voiced coding
  • GC generic coding
  • TC transision coding
  • the UC mode may be selected when the voice signal is an unvoiced sound or noise having characteristics similar to those of the unvoiced sound.
  • the VC mode may be selected when the voice signal is a voiced sound.
  • the TC mode may be used when encoding a signal of a transition section in which characteristics of a voice signal change rapidly.
  • the GC mode can encode other signals.
  • the UC mode, VC mode, TC mode, and GC mode are in accordance with the definitions and classification criteria described in ITU-T G.718, but are not limited thereto.
  • the excitation signal encoder 150 may include an open loop pitch search unit (not shown), a fixed codebook search unit (not shown), or a gain quantization unit (not shown). The excitation signal encoder 150 may be set according to an encoding mode.
  • the excitation signal encoder 150 may simplify the GC mode and the VC mode when the number of bits allocated to quantization is large, that is, when the bit rate is high. That is, the GC mode can be used up to the UC mode and the TC mode by including the UC mode and the TC mode in the GC mode. Meanwhile, the high bit rate may further include an inactive coding (IC) mode and an audio coding (AC) mode.
  • IC inactive coding
  • AC audio coding
  • the excitation signal encoder 150 may be classified into a GC mode, a UC mode, a VC mode, and a TC mode when the number of bits allocated to quantization is small, that is, when the bit rate is low.
  • the low bit rate may further include an IC mode and an AC mode.
  • the IC mode can be selected in the case of mute, and in the AC mode, it can be selected when the characteristic of the voice signal is close to the audio.
  • the encoding mode may be further subdivided according to the band of the voice signal.
  • the band of the audio signal may be classified into, for example, a narrow band (hereinafter referred to as NB), a broadband (hereinafter referred to as WB), an ultra wide band (hereinafter referred to as SWB), and a full band (hereinafter referred to as FB).
  • NB has a bandwidth of 300-3400 Hz or 50-4000 Hz
  • WB has a bandwidth of 50-7000 Hz or 50-8000 Hz
  • SWB has a bandwidth of 50-14000 Hz or 50-16000 Hz
  • FB It can have a bandwidth up to 20000 Hz.
  • the numerical value related to the bandwidth is set for convenience and is not limited thereto.
  • band division can be set more simply or more complicatedly.
  • the excitation signal encoder 150 may additionally use a transform encoding algorithm according to an encoding mode.
  • the excitation signal may be encoded in units of frames or subframes.
  • FIG. 2 is a block diagram illustrating a configuration of a sound encoding apparatus according to another embodiment.
  • the sound encoding apparatus 200 illustrated in FIG. 2 includes a preprocessor 210, an LP analyzer 220, a weighted signal calculator 230, an open loop pitch searcher 240, a signal analyzer, and a VAD unit 250.
  • the encoder 260 may include a memory updater 270 and a parameter encoder 280. Each component may be integrated into at least one or more modules and implemented as at least one or more processors (not shown).
  • the sound may mean audio or voice, or a mixed signal of audio and voice.
  • voice sound is referred to as voice for convenience of description.
  • the preprocessor 210 may preprocess an input voice signal. Through the preprocessing process, unwanted frequency components may be removed from the speech signal, or the frequency characteristics of the speech signal may be adjusted to favor encoding. In detail, the preprocessor 210 may perform high pass filtering, pre-amphasis, or sampling conversion.
  • the LP analyzer 220 may perform LP analysis on the preprocessed voice signal to extract the LPC coefficients.
  • one LP analysis is performed per frame, but two or more LP analyzes may be performed per frame to further improve sound quality.
  • one may be an LP for frame-end, which is an existing LP analysis, and the other may be an LP for a mid-subframe for improving sound quality.
  • the frame end of the current frame refers to the last subframe among the subframes constituting the current frame
  • the frame end of the previous frame refers to the last subframe among the subframes constituting the previous frame.
  • the intermediate subframe means one or more subframes among the subframes existing between the last subframe that is the frame end of the previous frame and the last subframe that is the frame end of the current frame.
  • one frame may consist of four subframes.
  • the LPC coefficient uses order 10 when the input signal is narrowband and order 16-20 when wideband, but is not limited thereto.
  • the weighted signal calculator 230 may input the preprocessed speech signal and the extracted LPC coefficients, and calculate the cognitive weighted filtered signal based on the cognitive weighted filter.
  • the cognitive weighting filter can reduce the quantization noise of the preprocessed speech signal within the masking range in order to use the masking effect of the human auditory structure.
  • the open loop pitch search unit 240 may search the open loop pitch using the cognitive weighted filtered signal.
  • the signal analysis and VAD unit 250 may analyze various characteristics including frequency characteristics of the input signal to determine whether the input signal is an active voice signal.
  • the encoder 260 determines an encoding mode of the current frame using signal characteristics, VAD information, or an encoding mode of a previous frame, quantizes LPC coefficients using a quantizer corresponding to the selected encoding mode, and according to the selected encoding mode.
  • the excitation signal can be encoded.
  • the encoder 260 may include the components shown in FIG. 1.
  • the memory updater 270 may store the encoded current frame and the parameters used for encoding for encoding the next frame.
  • the parameter encoder 280 may encode a parameter to be used for decoding at the decoding end and include the same in the bitstream.
  • the parameter corresponding to the encoding mode can be encoded.
  • the bitstream generated by the parameter encoder 280 may be used for storage or transmission purposes.
  • Table 1 below shows an example of a quantization scheme and a structure in four encoding modes.
  • a method of quantization without using interframe prediction may be referred to as a safety-net scheme
  • a method of quantization using interframe prediction may be referred to as a predictive scheme.
  • VQ is a vector quantizer
  • BC-TCQ is a block-limited trellis coded quantizer.
  • BC-TCVQ is a block-limited trellis coded vector quantizer.
  • TCVQ generalizes TCQ to enable vector codebooks and branch labels.
  • the main feature of TCVQ is to partition the extended set of VQ symbols into a subset, and label the trellis branch into these subsets.
  • the codebook in TCVQ has 2 (R + R ') L vector codewords.
  • R ' may be referred to as a codebook expansion factor, because the codebook has as many Rwords as 2 R'L times the nominal rate R VQ.
  • the encoding process is briefly described as follows. For each input vector, we first search for the distortion corresponding to the closest codeword in each subset, then set the branch metric for the branch labeled subset S as the searched distortion, and use the Viterbi algorithm to minimize the trellis Find the distortion path.
  • BC-TCVQ has low complexity because it requires 1 bit per source sample to specify the trellis path.
  • the BC-TCVQ structure may have 2 k initial trellis states and 2 v -k last states for each allowed initial trellis state when 0 ⁇ k ⁇ ⁇ .
  • Single Viterbi encoding starts at the allowed initial trellis state and proceeds to the vector stage mk. It takes k bits to specify the initial state and mk bits to specify the path to the vector stage mk. The only terminating path dependent on the initial trellis state is previously specified for each trellis state in the vector stage mk via the vector stage m. Regardless of the value of k, m bits are required to specify the path through the initial trellis state and trellis.
  • the BC-TCVQ for VC mode at a 16 kHz internal sampling frequency may use 16 state 8 stage TCVQ with N-dimensional, for example two-dimensional vectors. LSF subvectors with two elements may be assigned to each stage. Table 2 below shows the initial state and the last state for the 16 state BC-TCVQ. Where k and v are 2 and 4, respectively, and 4 bits for the initial state and the last stay are used.
  • the encoding mode may vary depending on the bit rate applied. As described above, 40 or 41 bits may be used per frame in the GC mode and 46 bits per frame in the TC mode to quantize LPC coefficients at a high bit rate using two modes.
  • FIG. 3 is a block diagram illustrating a configuration of an LPC coefficient quantization unit according to an exemplary embodiment.
  • the LPC coefficient quantization unit 300 illustrated in FIG. 3 may include a first coefficient transformation unit 310, a weighting function determination unit 330, an ISF / LSF quantization unit 350, and a second coefficient conversion unit 379. Can be. Each component may be integrated into at least one or more modules and implemented as at least one or more processors (not shown). The LPC coefficient quantization unit 300 may provide, as input, unquantized LPC coefficients and encoding mode information.
  • the first coefficient converter 310 may convert the extracted LPC coefficients into other types of coefficients by performing LP analysis on a frame end of a current frame or a previous frame of a voice signal.
  • the first coefficient converter 310 may convert the LPC coefficients for the frame end of the current frame or the previous frame into any one of a line spectrum frequency (LSF) coefficient and an emission spectrum frequency (ISF) coefficient.
  • LSF line spectrum frequency
  • ISF emission spectrum frequency
  • the weight function determiner 330 may determine the weight function for the ISF / LSF quantizer 350 using the ISF coefficients or the LSF coefficients converted from the LPC coefficients.
  • the determined weighting function may be used in selecting a quantization path or a quantization scheme or searching a codebook index that minimizes weighting errors in quantization.
  • the weighting function determination unit 330 may determine the final weighting function by combining the weighting function based on the magnitude weighting function, the frequency weighting function, and the position of the ISF / LSF coefficients.
  • the weight function determiner 330 may determine the weight function in consideration of at least one of a frequency band, an encoding mode, and spectrum analysis information. For example, the weight function determiner 330 may derive an optimal weight function for each encoding mode. The weight function determiner 330 may derive an optimal weight function according to the frequency band of the voice signal. In addition, the weighting function determiner 330 may derive an optimal weighting function according to the frequency analysis information of the voice signal. In this case, the frequency analysis information may include spectral tilt information. The weight function determiner 330 will be described in detail later.
  • the ISF / LSF quantizer 350 may obtain an optimal quantization index according to the input encoding mode.
  • the ISF / LSF quantization unit 350 may quantize the ISF coefficients or LSF coefficients of which the LPC coefficients of the frame end of the current frame are converted. If the input signal is a non-stationary signal, the ISF / LSF quantization unit 350 quantizes using only the safety-net scheme without using inter-frame prediction in the corresponding UC mode or TC mode. In the VC mode or the GC mode corresponding to the stationary signal, the optimal quantization scheme may be determined by considering the frame error by switching the prediction scheme and the safety-net scheme.
  • the ISF / LSF quantization unit 350 may quantize the ISF coefficients or the LSF coefficients using the weighting function determined by the weighting function determiner 330.
  • the ISF / LSF quantization unit 350 may quantize the ISF coefficients or LSF coefficients by selecting one of a plurality of quantization paths using the weighting function determined by the weighting function determiner 330.
  • the index obtained as a result of the quantization may be obtained by obtaining a quantized ISF coefficient (QISF) or a quantized LSF coefficient (QLSF) through an inverse quantization process.
  • the second coefficient converter 370 may convert the quantized ISF coefficients QISF or the quantized LSF coefficients QLSF into quantized LPC coefficients QLPC.
  • Vector quantization refers to a process of selecting a codebook index having the least error using a squared error distance measure by considering all entries in a vector as equal importance.
  • the decoding apparatus can improve the performance of the synthesized signal by selecting an optimal codebook index by applying a weighting function representing the importance of each LPC coefficient to the square error distance scale. .
  • the frequency information and the actual spectral size of the ISF or LSF can be used to determine the magnitude weighting function of how each ISF or LSF actually affects the spectral envelope.
  • an additional quantization efficiency may be obtained by combining the frequency weighting function in consideration of the perceptual characteristics of the frequency domain and the distribution of formants with the magnitude weighting function. According to this, since the actual frequency domain size is used, the envelope information of the entire frequency is well reflected, and the weight of each ISF or LSF coefficient can be accurately derived.
  • an additional quantization efficiency may be obtained by combining a weighting function based on location information of LSF coefficients or ISF coefficients with a magnitude weighting function and a frequency weighting function.
  • the accuracy of encoding may be improved by analyzing a spectrum of a frame to be encoded to determine a weighting function that may give more weight to a large energy portion. Larger energy in the spectrum means higher correlation in the time domain.
  • the optimal quantization index in VQ applied to all modes may be determined as an index that minimizes Ewerr (p) of Equation 1 below.
  • w (i) means weighting function.
  • r (i) represents the input of the quantizer
  • c (i) represents the output of the quantizer, and is for obtaining an index that minimizes the weighted distortion between two values.
  • the distortion measure used in BC-TCQ basically follows the scheme disclosed in US 7,630,890.
  • the distortion measure d (x, y) may be represented by Equation 2 below.
  • a weighting function may be applied to the distortion measure d (x, y).
  • the distortion scale used for BC-TCQ can be extended to the vector scale, and then weighted distortion can be obtained by applying a weighting function. That is, the optimal index may be determined by obtaining the weighted distortion at all stages of BC-TCVQ as in Equation 3 below.
  • the ISF / LSF quantizer 350 may perform quantization by switching, for example, a LVQ (lattice vector quantizer) and BC-TCVQ according to the input encoding mode. If the encoding mode is the GC mode, LVQ may be used, and in the VC mode, BC-TCVQ may be used.
  • the quantizer selection process when the LVQ and the BC-TCVQ are mixed will be described in detail as follows. First, a bit rate to be encoded can be selected. If a bitrate to be encoded is selected, a bit for the LPC quantizer corresponding to each bitrate may be determined. Then, the band of the input signal can be determined. The quantization scheme may be changed depending on whether the input signal is narrowband or wideband.
  • an optimal encoding mode may be determined within a limit of available encoding modes according to the determined band. For example, four coding modes (UC, VC, GC, and TC) can be used, but only three modes (VC, GC, and TC) can be used at a high bit rate (for example, 9.6 kbit / s or more). .
  • a quantization scheme for example, LVQ and BC-TCVQ, is selected based on a bit rate to be encoded, a band of an input signal, and an encoding mode, and a quantized index is output based on the selected quantization scheme.
  • the LVQ may be selected.
  • the bit rate falls between 24.4 kbps and 64 kbps, and if the bitrate does not fall between 24.4 kbps and 64 kbps, the LVQ may be selected.
  • the bit rate falls between 24.4 kbps and 64 kbps, it is determined whether the band of the input signal is narrow band, and if the band of the input signal is narrow band, LVQ can be selected.
  • the band of the input signal is not narrow band, it is determined whether the encoding mode is the VC mode, BC-TCVQ is used when the encoding mode is VC mode, and LVQ can be used when the encoding mode is not the VC mode.
  • the LVQ may be selected.
  • the bit rate is between 13.2 kbps and 32 kbps, it is possible to determine whether the bandwidth of the input signal is wideband, and if the bandwidth of the input signal is not wideband, LVQ can be selected.
  • the band of the input signal is a wide band, it is determined whether the encoding mode is the VC mode. If the encoding mode is the VC mode, BC-TCVQ may be used. If the encoding mode is not the VC mode, the LVQ may be used.
  • the encoding apparatus may include a magnitude weighting function using a spectral magnitude corresponding to a frequency of an ISF coefficient or an LSF coefficient converted from an LPC coefficient, a frequency weighting function in consideration of perceptual characteristics and a formant distribution of an input signal, and an LSF coefficient. Or weighting functions based on the position of the ISF coefficients can be combined to determine the optimal weighting function.
  • FIG. 4 is a block diagram illustrating a configuration of the weighting function determiner of FIG. 3, according to an exemplary embodiment.
  • the weight function determiner 400 illustrated in FIG. 4 includes a spectrum analyzer 410, an LP analyzer 430, a first weight function generator 450, a second weight function generator 470, and a combination unit ( 490). Each component may be integrated into at least one processor and implemented.
  • the spectrum analyzer 410 may analyze characteristics of the frequency domain of the input signal through a time-to-frequency mapping process.
  • the input signal may be a preprocessed signal, and the time-frequency mapping process may be performed using the FFT, but is not limited thereto.
  • the spectrum analyzer 410 may provide spectrum analysis information, for example, a spectrum size obtained from an FFT result.
  • the spectral magnitude may have a linear scale.
  • the spectrum analyzer 410 may generate a spectrum size by performing a 128-point FFT.
  • the bandwidth of the spectral magnitude may correspond to a range of 0 to 6400 HZ.
  • the internal sampling frequency is 16 kHz, the number of spectrum sizes may be extended to 160.
  • the spectral magnitude for the range of 6400 to 8000 Hz is missing, which may be generated by the input spectrum.
  • the last 32 spectral sizes corresponding to bandwidths of 4800 to 6400 Hz can be used to replace missing spectral sizes in the range of 6400 to 8000 Hz.
  • the average of the last 32 spectral magnitudes can be used.
  • the LP analyzer 430 may generate an LPC coefficient by performing an LP analysis on the input signal.
  • the LP analyzer 430 may generate ISF or LSF coefficients from the LPC coefficients.
  • the first weighting function generator 450 obtains the magnitude weighting function and the frequency weighting function based on the spectrum analysis information on the ISF or the LSF coefficients, and generates the first weighting function by combining the magnitude weighting function and the frequency weighting function. have.
  • the first weighting function may be obtained based on the FFT, and a larger weight value may be assigned as the spectrum size increases.
  • the first weighting function may be determined by normalizing the spectrum analysis information, that is, the spectral size to fit the ISF or LSF band, and then using the magnitude of the frequency corresponding to each ISF or LSF coefficient.
  • the second weight function generator 470 may determine the second weight function based on the interval or position information of the adjacent ISF or LSF coefficients.
  • a second weighting function related to spectral sensitivity may be generated from two ISF or LSF coefficients adjacent to each ISF or LSF coefficient.
  • the ISF or LSF coefficients are located on the unit circle of the Z-domain, and are characterized by spectral peaks when the interval between adjacent ISF or LSF coefficients is narrower than the surroundings.
  • the second weighting function may approximate the spectral sensitivity of the LSF coefficients based on the position of adjacent LSF coefficients.
  • the density of LSF coefficients can be predicted by measuring how closely adjacent LSF coefficients are located, and a large value weight can be assigned because the signal spectrum can have a peak value near the frequency where the dense LSF coefficients are present. have.
  • various parameters for the LSF coefficients may be additionally used when determining the second weighting function.
  • an inverse relationship between the interval and the weighting function between the ISF or LSF coefficients may be established.
  • the interval may be expressed as a negative number or the interval may be indicated in the denominator.
  • the weighting function obtained by performing a second operation on the weighting function itself, which is primarily obtained may be further reflected.
  • the second weighting function Ws (n) may be obtained by Equation 4 below.
  • lsf i-1 and lsf i + 1 represent LSF coefficients adjacent to the current LSF coefficient lsf i .
  • the second weighting function Ws (n) may be obtained by Equation 5 below.
  • lsf n represents a current LSF coefficient
  • lsf n-1 and lsf n + 1 represent adjacent LSF coefficients
  • M may be 16 as an order of the LP model.
  • the combiner 490 may combine the first and second weight functions to determine the final weight function used for quantization of the LSF coefficients.
  • various methods such as multiplying each weighting function, adding after multiplying an appropriate ratio, or multiplying a predetermined value by using a lookup table or the like, may be added.
  • FIG. 5 is a block diagram illustrating a detailed configuration of a first weight function generator of FIG. 4 according to an exemplary embodiment.
  • the first weight function generator 500 illustrated in FIG. 5 may include a normalizer 510, a magnitude weight function generator 530, a frequency weight function generator 550, and a combination unit 570.
  • the LSF coefficient is used as an input signal of the first weight function generator 500 as an example.
  • the normalization unit 500 may normalize the LSF coefficients within a range of 0 to K-1.
  • LSF coefficients may typically range from 0 to ⁇ .
  • K may be 128, and for 16.4 kHz internal sampling frequency, K may be 160.
  • the magnitude weighting function generator 530 may generate the magnitude weighting function W1 (n) with respect to the normalized LSF coefficients based on the spectrum analysis information. According to one embodiment, the magnitude weighting function may be determined based on the spectral magnitude of the normalized LSF coefficients.
  • the magnitude weighting function may be determined using the size of the spectral bin corresponding to the frequency of the normalized LSF coefficient and the size of two neighboring spectral bins positioned before or after the left and right of the corresponding spectral bin, for example, one. .
  • the weighting function W1 (n) of each size associated with the spectral envelope may be determined based on Equation 6 by extracting a maximum value of three spectral bins.
  • M is 16 and E max (n) represents the maximum of the sizes of the three spectral bins for each LSF coefficient.
  • the frequency weighting function generator 550 may generate the frequency weighting function W 2 (n) based on the frequency information on the normalized LSF coefficients. According to an embodiment, the frequency weighting function may be determined using the perceptual characteristics of the input signal and the formant distribution. The frequency weighting function generator 550 may extract perceptual characteristics of the input signal according to a bark scale. The frequency weighting function generator 550 may determine the weighting function for each frequency based on the first formant among the distributions of the formants. In the case of the frequency weighting function, relatively low weights may be shown at the ultra low frequency and the high frequency, and weights having the same magnitude may be represented in the period corresponding to the first formant in the predetermined frequency section at the low frequency. The frequency weighting function generator 550 may determine the frequency weighting function according to the input bandwidth and the encoding mode.
  • the combination unit 570 may determine the FFT-based weighting function W f (n) by combining the magnitude weighting function W 1 (n) and the frequency weighting function W 2 (n). The combination unit 570 may determine the final weight function by multiplying or adding the magnitude weight function and the frequency weight function. For example, the FFT-based weighting function W f (n) for frame end LSF quantization may be calculated based on Equation 7 below.
  • FIG. 6 is a block diagram illustrating a configuration of an LPC coefficient quantization unit according to an embodiment.
  • the LPC coefficient quantization unit 600 illustrated in FIG. 6 may include a selector 610, a first quantization module 630, and a second quantization module 650.
  • the selector 610 may select one of a quantization process using no interframe prediction and a quantization process using interframe prediction based on a predetermined criterion in an open loop manner.
  • the predetermined criterion may be used for prediction error of unquantized LSF.
  • the prediction error may be obtained based on the interframe prediction value.
  • the first quantization module 630 may quantize the input signal provided through the selector 610 when the quantization process that does not use inter-frame prediction is selected.
  • the second quantization module 650 may quantize the input signal provided through the selector 610.
  • the first quantization module 630 performs quantization without using interframe prediction, and may be referred to as a safety-net scheme.
  • the second quantization module 650 performs quantization using interframe prediction and may be called a predictive scheme.
  • an optimal quantizer can be selected corresponding to various bit rates, from a low bit rate for highly efficient interactive voice service to a high bit rate for providing differentiated quality service.
  • FIG. 7 is a block diagram illustrating a configuration of a selector of FIG. 6, according to an exemplary embodiment.
  • the selector 700 illustrated in FIG. 7 may include a prediction error calculator 710 and a quantization scheme selector 730.
  • the prediction error calculator 710 may be included in the second quantization module 650 of FIG. 6.
  • the prediction error calculator 710 receives an interframe prediction value p (n), a weighting function w (n), and an LSF coefficient z (n) from which a DC value has been removed, based on various methods. Predictive errors can be calculated.
  • the interframe predictor may use the same one used in the prediction scheme of the second quantization module 650.
  • any one of an auto-regressive (AR) method and a moving average (MA) method may be used.
  • Signal z (n) of the previous frame for interframe prediction may use a quantized value or an unquantized value.
  • a weighting function may or may not be applied to obtain a prediction error. According to this, a total of eight combinations are possible, four of which are as follows.
  • Equation 8 a weighted AR prediction error using a quantized z (n) signal of a previous frame may be expressed by Equation 8 below.
  • an AR prediction error using the quantized z (n) signal of the previous frame may be represented by Equation 9 below.
  • Equation 10 the weighted AR prediction error using the z (n) signal of the previous frame may be represented by Equation 10 below.
  • an AR prediction error using a z (n) signal of a previous frame may be represented by Equation 11 below.
  • M means the order of the LSF
  • WB bandwidth of the input voice signal
  • ⁇ (i) means the prediction coefficient of the AR method.
  • the information of the previous frame is generally used, and the quantization scheme can be determined using the prediction error obtained here.
  • the prediction error is greater than the predetermined threshold, this may imply that the current frame tends to be non-stationary. In this case, you can use the safety-net scheme. Otherwise, a prediction scheme is used, which may be limited so that the prediction scheme is not selected continuously.
  • a second prediction error is obtained by using a previous frame of the previous frame and a quantization scheme is performed by using the second prediction error in preparation for the case where there is no information of the previous frame due to a frame error with respect to the previous frame. You can decide.
  • the second prediction error may be expressed as Equation 12 below in comparison with the first case.
  • the quantization scheme selector 730 may determine the quantization scheme of the current frame using the prediction error obtained by the prediction error calculator 710. In this case, the encoding mode obtained by the encoding mode determiner 110 of FIG. 1 may be further considered. According to an embodiment, the quantization scheme selector 730 may operate in the VC mode or the GC mode.
  • FIG. 8 is a flowchart for explaining the operation of the selection unit in FIG.
  • the prediction mode has a value of 0, it means that the safety-net scheme is always used.
  • the prediction mode has a non-zero value, it means that the safety-net scheme and the prediction scheme are switched to determine the quantization scheme.
  • An example of an encoding mode that always uses a safety-net scheme is UC mode or TC mode.
  • an example of an encoding mode used by switching between a safety-net scheme and a prediction scheme may be a VC mode or a GC mode.
  • step 810 it is determined whether a prediction mode of a current frame is zero.
  • the prediction mode is 0, for example, when the current frame is highly volatile, such as the UC mode or the TC mode, inter-frame prediction is difficult, and therefore, always uses a safety-net scheme, that is, the first quantization.
  • the module 630 may be selected (step 850).
  • one of the safety net scheme and the prediction scheme may be determined as the quantization scheme in consideration of the prediction error.
  • the threshold may be determined to an optimal value in advance experimentally or through simulation. For example, in the case of WB of order 16, 3,784,536.3 may be set as an example of the threshold.
  • a restriction may be added so as not to continuously select the prediction scheme.
  • the safety net scheme may be selected (step 850).
  • the prediction scheme may be selected (step 870).
  • FIG. 9A through 9E are block diagrams illustrating various implementations of the first quantization module illustrated in FIG. 6.
  • the LSF vector of order 16 is used as an input of the first quantization module.
  • the first quantization module 900 illustrated in FIG. 9A includes a first quantization unit 911 which quantizes an outline of the entire input vector using a trellis coded quantizer (TCQ) and a second quantization unit that further quantizes the quantization error signal. 913).
  • the first quantizer 911 may be implemented as a quantizer using a trellis structure such as TCQ, trellis coded vector quantizer (TCVQ), block-constrained trellis coded quantizer (BC-TCQ), or BC-TCVQ.
  • the second quantizer 913 may be implemented as a vector quantizer or a scalar quantizer, but is not limited thereto.
  • a split vector quantizer can be used to improve performance while minimizing memory size, or a multi-stage vector quantizer (MSVQ) can be used to improve performance.
  • MSVQ multi-stage vector quantizer
  • a soft decision technique for storing two or more candidates and performing an optimal codebook index search may be used if there is a margin for complexity.
  • the operations of the first quantization unit 911 and the second quantization unit 913 are as follows.
  • a z (n) signal can be obtained by removing a predefined mean value from unquantized LSF coefficients.
  • the first quantizer 911 may perform quantization and inverse quantization on all vectors of the z (n) signal. Examples of the quantizer used herein include TCQ, TCVQ, BC-TCQ or BC-TCVQ.
  • an r (n) signal may be obtained by using a difference value between the z (n) signal and the dequantized signal again.
  • the r (n) signal may be provided as an input of the second quantization unit 913.
  • the second quantization unit 913 may be implemented by SVQ or MSVQ.
  • the quantized signal in the second quantization unit 913 is dequantized and then added to the dequantized result in the first quantization unit 911 and then becomes a quantized z (n) value. You can get the value.
  • the first quantization module 900 illustrated in FIG. 9B may further include an in-frame predictor 932 in 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 coefficients are encoded every frame, prediction may be performed using the 10th or 16th order LSF coefficients in the frame.
  • the z (n) signal may be quantized through the first quantizer 931 and the in-frame predictor 932.
  • the past signal used for intraframe prediction uses the t (n) value of the previous stage quantized through TCQ. Prediction coefficients used in the intra-frame prediction may be predefined through a codebook training process.
  • TCVQ In TCQ, first order is usually used, and in some cases, higher order may be used.
  • the predictive coefficient may be N-dimensional or NXN matrix form corresponding to the vector dimension (N, where N is a natural number of 2 or more). For example, when the dimension of the VQ is 2, it is necessary to obtain a prediction coefficient using a matrix of 2 dimensions or 2 ⁇ 2 in advance.
  • TCVQ uses two dimensions and the intra-frame predictor 932 has a size of 2 ⁇ 2.
  • the intraframe prediction process of TCQ is as follows.
  • the first quantizer 931 that is, t j (n) which is an input signal of the first TCQ may be obtained as shown in Equation 13 below.
  • M is the order of the LPC coefficients
  • ⁇ i is the prediction coefficient in one dimension.
  • the first quantizer 931 may quantize the prediction error vector t (n).
  • the first quantization unit 931 may be implemented using TCQ, and specifically, BC-TCQ, BC-TCVQ, TCQ, and TCVQ.
  • the in-frame predictor 932 used together with the first quantizer 931 may repeat the quantization process and the prediction process in units of elements or subvectors of the input vector.
  • the operation of the second quantization unit 933 is the same as that of the second quantization unit 913 of FIG. 9A.
  • the first quantization unit 931 may determine an error vector between the N-dimensional subvector and the prediction vector. Can be quantized
  • the in-frame predictor 932 can generate the predictive vector from the quantized N-dimensional subvectors.
  • the intra-frame predictor 932 uses a prediction coefficient composed of an NXN matrix, and may perform intra-frame prediction using the quantized N-dimensional subvectors of the previous stage.
  • the second quantization unit 933 may perform quantization on the quantization error of the N-dimensional subvector.
  • the in-frame predictor 932 can generate the prediction vector of the current stage from the quantized N-dimensional linear vector of the previous stage and the prediction matrix of the current stage.
  • the first quantizer 931 may generate a quantized error vector by quantizing an error vector that is a difference between the prediction vector of the current stage and the N-dimensional linear vector of the current stage.
  • the linear vector of the previous stage may be generated based on the error vector of the previous stage and the prediction vector of the previous stage.
  • the second quantization unit 933 may generate a quantized quantization error vector by performing quantization on a quantization error vector that is a difference between the quantized N-dimensional linear vector and the input N-dimensional linear vector of the current stage.
  • the first quantization module 900 may include a first quantization unit 951 and a second quantization unit 953.
  • a technique for quantizing the same LSF input vector into various bits is required.
  • two bits can be allocated in one structure.
  • f H (n) means high rate output
  • f L (n) means low rate output. If only BC-TCQ / BC-TCVQ is used, quantization for low rate can be performed using only the number of bits used here.
  • the error signal of the first quantization unit 951 may be quantized using the additional second quantization unit 953.
  • the 9D further includes an in-frame predictor 972 in the structure of FIG. 9C.
  • the first quantization module 900 may further include an in-frame predictor 972 in the first quantizer 971 and the second quantizer 973.
  • the first quantization unit 971 and the second quantization unit 973 may correspond to the first quantization unit 951 and the second quantization unit 953 of FIG. 9C.
  • FIG. 9E shows the configuration of an input vector when the first quantizers 911, 931, 951, and 971 are implemented using TCVQ using two dimensions in FIGS. 9A to 9D.
  • the number of input vectors 990 of TCVQ using two dimensions may be eight.
  • the input signal of the first quantization unit 931 That is, the prediction residual vector may be obtained as in Equation 14 below.
  • M is the order of the LPC coefficients
  • the quantized vector of A i denotes a prediction matrix of 2 ⁇ 2.
  • a i may be represented by Equation 15 below.
  • the first quantizer 931 is a prediction residual vector
  • the quantization unit 931 and the in-frame predictor 932 Can be quantized, resulting in an i-th order error vector, Quantized vector of Can be expressed as in Equation 16 below.
  • Table 3 below shows examples of BC-TCVQ used in the safety-net scheme, for example, in-frame prediction coefficients for the first quantization unit 931.
  • the first quantizer 1031 and the in-frame predictor 1032 are Can be quantized.
  • an optimal index for each stage of BC-TCVQ may be obtained by searching for an index that minimizes Ewerr (p) of Equation 17 below.
  • the intra-frame predictor 1032 has different prediction coefficients and may use the same process as the intra-frame prediction in the safety-net scheme.
  • the first quantization unit 1031 is a prediction residual vector
  • the first quantizer 1031 and the in-frame predictor 1032 are Can be quantized, and as a result Quantized vector of Can be expressed as in Equation 18 below.
  • Table 4 below shows examples of intra-frame prediction coefficients for the BC-TCVQ, for example, the first quantizer 1031 used in the prediction scheme.
  • the above-described intraframe prediction process may be equally applied to each embodiment when the first quantization unit 931 is implemented by two-dimensional TCVQ, and may be applied regardless of the existence of the second quantization unit 933. have.
  • the intra-frame prediction process may use an AR method, but is not limited thereto.
  • the first quantization module 900 illustrated in FIGS. 9A and 9B may be implemented without the second quantization units 913 and 933. In this case, the quantization index for the quantization error for the one-dimensional or N-dimensional subvector may not be included in the bitstream.
  • 10A through 10D are block diagrams illustrating various implementations of the second quantization module illustrated in FIG. 6.
  • the second quantization module 1000 illustrated in FIG. 10A further adds the interframe predictor 1014 to the structure of FIG. 9B.
  • the second quantization module 1000 illustrated in FIG. 10A may further include an interframe predictor 1014 in the first quantization unit 1011 and the second quantization unit 1013.
  • the interframe predictor 1014 is a technique of predicting a current frame using LSF coefficients quantized in a previous frame. The inter-frame prediction process subtracts from the current frame using the quantized value of the previous frame and adds the contribution again after the quantization is completed. At this time, a prediction coefficient is obtained for each element.
  • the second quantization module 1000 shown in FIG. 10B further adds an intra-frame predictor 1032 to the structure of FIG. 10A.
  • the second quantization module 1000 illustrated in FIG. 10B may further include an intraframe predictor 1032 in the first quantizer 1031, the second quantizer 1033, and the interframe predictor 1034.
  • the first quantization unit 1031 is implemented in N-dimensional (where N is 2 or more) TCVQ or BC-TCVQ
  • the first quantization unit 1031 is a prediction error between the N-dimensional subvector and the prediction vector of the current frame.
  • the error vector which is the difference between the vector and the prediction vector, can be quantized.
  • the in-frame predictor 1032 can generate the predictive vector from the quantized prediction error vector.
  • the interframe predictor 1034 may generate a prediction vector of the current frame from the quantized N-dimensional subvectors of the previous frame.
  • the second quantizer 1033 may perform quantization with respect to a quantization error with respect to the prediction error vector.
  • the first quantizer 1031 may quantize an error vector, which is a difference between a prediction vector of a current frame and an N-dimensional linear vector of a current stage, and a prediction vector of the current stage. have.
  • the in-frame predictor 1032 can generate the prediction vector of the current stage from the quantized prediction error vector of the previous stage and the prediction matrix of the current stage.
  • the second quantization unit 1033 performs quantization by performing quantization on a quantization error vector that is a difference between a prediction error vector that is a difference between the prediction vector of the current frame and an N-dimensional linear vector of the current stage and a quantized prediction error vector of the current stage. Generated quantization error vector.
  • FIG. 10C shows a second quantization module 1000 for codebook sharing in the structure of FIG. 10B. That is, in the structure of FIG. 10B, a codebook of BC-TCQ / BC-TCVQ is shared at a low rate and a high rate.
  • the upper portion represents an output for a low rate without using the second quantizer (not shown), and the lower portion represents an output for a high rate using the second quantizer 1063.
  • FIG. 10D illustrates an example of implementing the second quantization module 1000 by excluding an intra-frame predictor from the structure of FIG. 10C.
  • the above-described intraframe prediction process may be equally applied to each embodiment when the quantization unit is implemented with two-dimensional TCVQ, and may be applied regardless of the existence of the second quantization unit 1033.
  • the intra-frame prediction process may use an AR method, but is not limited thereto.
  • the second quantization module 1000 illustrated in FIGS. 10A and 10B may be implemented without the second quantization units 1013 and 1033. In this case, the quantization index for the quantization error for the 1D or ND prediction error vector may not be included in the bitstream.
  • 11A-11F are block diagrams illustrating various implementations of a quantizer 1100 that applies weights to BC-TCVQ.
  • FIG. 11A illustrates a basic BC-TCVQ quantizer, and may include a weighting function calculator 1111 and a BC-TCVQ unit 1112.
  • a weighting function calculator 1111 When the optimal index is obtained from BC-TCVQ, an index that minimizes the weighted distortion is obtained.
  • FIG. 11B illustrates a structure in which the intra-frame predictor 1123 is added in FIG. 11A.
  • Intra-frame prediction used here may use the AR method or the MA method. According to the embodiment, using the AR scheme, the prediction coefficient used may be predefined.
  • FIG. 11C illustrates a structure in which the interframe predictor 1134 is added to further improve performance in FIG. 11B.
  • 11C shows an example of a quantizer used in the prediction scheme.
  • the interframe prediction used herein may use an AR scheme or an MA scheme.
  • the prediction coefficient used may be predefined.
  • a prediction error value predicted using interframe prediction may be quantized using BC-TCVQ using intraframe prediction.
  • the quantization index value is sent to the decoder.
  • the quantized r (n) value is obtained by adding the intra-frame prediction value to the result of the quantized BC-TCVQ.
  • the final quantized LSF value is determined by adding the average value after adding the prediction value of the interframe predictor 1134.
  • FIG. 11D shows a structure excluding the intra-frame predictor in FIG. 11C.
  • FIG. 11E shows a structure of how weights are applied when the second quantization unit 1153 is added.
  • the weighting function obtained by the weighting function calculator 1151 is used by both the first quantization unit 1152 and the second quantization unit 1153, and an optimal index is obtained using weighted distortion.
  • the first quantization unit 1151 may be implemented with BC-TCQ, BC-TCVQ, TCQ, or TCVQ.
  • the second quantization unit 1153 may be implemented as SQ, VQ, SVQ, or MSVQ.
  • FIG. 11F illustrates a structure in which the intra-frame predictor is excluded in FIG. 11E.
  • the quantizer of the switching structure may be implemented by combining the quantizer forms of the various structures mentioned in FIGS. 11A through 11F.
  • the quantization apparatus 1200 illustrated in FIG. 12 may include a selector 1210, a first quantization module 1230, and a second quantization module 1250.
  • the selector 1210 may select one of a safety-net scheme or a prediction scheme as a quantization scheme based on the prediction error.
  • the first quantization module 1230 performs quantization without using inter-frame prediction, and may include a first quantizer 1231 and a first intra-frame predictor 1232. have.
  • the LSF vector may be quantized to 30 bits by the first quantizer 1231 and the first intra-frame predictor 1232.
  • the second quantization module 1250 performs quantization by using inter-frame prediction.
  • the second quantization module 1250 performs the quantization using the inter-frame prediction, the second quantizer 1251, the second intra-frame predictor 1252, and the inter-frame predictor 1253. It may include.
  • the prediction error corresponding to the difference between the LSF vector from which the average value is removed and the prediction vector may be quantized to 30 bits by the second quantizer 1251 and the second in-frame predictor 1252.
  • the quantizer shown in FIG. 12 shows an example of LSF coefficient quantization using 31 bits in the VC mode.
  • the first and second quantization units 1231 and 1251 may share a codebook with the first and second quantization units 1331 and 1351 in the quantization apparatus of FIG. 13.
  • the z (n) signal may be obtained by removing the average value from the input LSF value f (n).
  • the selector 1210 performs an optimal quantization scheme using p (n) and z (n) values, a weighting function, and a prediction mode (pred_mode) predicted interframe using the z (n) value decoded in the previous frame. You can choose or decide.
  • quantization may be performed using either a safety-net scheme or a prediction scheme.
  • the selected or determined quantization scheme may be encoded by 1 bit.
  • the entire input vector of z (n), which is the LSF coefficient from which the average value is removed, is obtained by using the first quantizer (30) using 30 bits through the first intraframe predictor 1232. Quantization may be performed using 1231.
  • z (n) which is the LSF coefficient whose average value is removed
  • Quantization may be performed using the second quantization unit 1251 using. Examples of the first and second quantizers 1231 and 1251 may include quantizers having the form of TCQ and TCVQ.
  • BC-TCQ or BC-TCVQ is possible.
  • the quantizer uses a total of 31 bits.
  • the quantized result is used as a low rate quantizer output, the main output of the quantizer is the quantized LSF vector and the quantization index.
  • FIG. 13 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a high rate according to an embodiment.
  • the quantization apparatus 1300 illustrated in FIG. 13 may include a selector 1310, a first quantization module 1330, and a second quantization module 1350.
  • a third quantization unit 1333 is added to the first quantization module 1330
  • a fourth quantization unit 1353 is added to the second quantization module 1350.
  • the first quantizers 1231 and 1331 and the second quantizers 1251 and 1351 may use the same codebook, respectively. That is, the 31-bit LSF quantizer 1200 of FIG. 12 and the 41-bit LSF quantizer 1300 of FIG. 13 may use the same codebook for BC-TCVQ. This isn't an optimal codebook, but it can save a lot of memory.
  • the selector 1310 may select one of a safety-net scheme or a prediction scheme as a quantization scheme based on the prediction error.
  • the first quantization module 1330 performs quantization without using inter-frame prediction, and includes a first quantizer 1331, a first in-frame predictor 1332, and a third quantization. It may include a portion 1333.
  • the second quantization module 1350 performs quantization using inter-frame prediction, and includes a second quantizer 1351, a second intra-frame predictor 1352, and a fourth quantizer 1353. And an interframe predictor 1354.
  • the quantizer shown in FIG. 13 shows an example of LSF coefficient quantization using 41 bits in the VC mode.
  • the first and second quantization units 1331 and 1351 share a codebook with the first and second quantization units 1231 and 1251, respectively, in the quantization apparatus 1200 of FIG. 12. can do.
  • the selector 1310 uses the p (n) and z (n) values, the weighting function, and the prediction mode (pred_mode) predicted interframe using the z (n) value decoded in the previous frame to determine an optimal quantization scheme. You can decide.
  • quantization may be performed using either a safety-net scheme or a prediction scheme.
  • the selected or determined quantization scheme may be encoded by 1 bit.
  • the entire input vector of z (n), which is the LSF coefficient from which the average value is removed, is obtained by using a first quantizer using 30 bits through the first intra-frame predictor 1332. Quantization and dequantization may be performed using 1331. Meanwhile, a second error vector representing the difference between the original signal and the dequantized result may be provided as an input of the third quantizer 1333.
  • the third quantizer 1333 may quantize the second error vector using 10 bits. Examples of the third quantization unit 1333 may be SQ, VQ, SVQ, or MSVQ. After quantization and dequantization are completed, the finally quantized vector may be stored for the next frame.
  • the selection unit 1310 when the selection unit 1310 is selected as the prediction scheme, 30 bits are used as the prediction error signal obtained by subtracting p (n) from the interframe predictor 1354 from z (n), which is the LSF coefficient from which the average value is removed.
  • the second quantizer 1351 and the second intra-frame predictor 1352 may be used to quantize or dequantize the quantized unit.
  • Examples of the first and second quantization units 1331 and 1231 may be quantizers having the form of TCQ and TCVQ. Specifically, BC-TCQ or BC-TCVQ is possible. Meanwhile, a second error vector representing the difference between the original signal and the dequantized result may be provided as an input of the fourth quantization unit 1353.
  • the fourth quantization unit 1353 may quantize the second error vector using 10 bits.
  • the second error vector may be divided into two subvectors having an 8 ⁇ 8 dimension and quantized by the fourth quantizer 1353. Since the low band is more cognitively important than the high band, it is possible to encode different number of bits in the first VQ and the second VQ. Examples of the fourth quantization unit 1353 may be SQ, VQ, SVQ, or MSVQ. After quantization and dequantization are completed, the finally quantized vector may be stored for the next frame.
  • the quantizer uses 41 bits in total.
  • the quantized result is used as a high rate quantizer output, the main output of the quantizer is the quantized LSF vector and the quantization index.
  • the first quantization unit 1231 of FIG. 12 and the first quantization unit 1331 of FIG. 13 share a quantization codebook, and the second quantization unit 1251 of FIG. ) And the second quantization unit 1351 of FIG. 13 share the quantization codebook, it is possible to significantly reduce the codebook memory as a whole.
  • the quantization codebooks of the third and fourth quantizers 1333 and 1353 of FIG. 13 may be shared to further reduce codebook memory. In this case, since the input distribution of the third quantization unit 1333 is different from that of the fourth quantization unit 1353, a scaling factor may be used to compensate for the difference between the input distributions.
  • the scaling factor may be calculated in consideration of the input of the third quantizer 1333 and the input distribution of the fourth quantizer 1353.
  • the input signal of the third quantizer 1333 may be divided by a scaling factor, and the resulting signal may be quantized by the third quantizer 1333.
  • the signal quantized by the third quantizer 1333 may be obtained by multiplying the output of the third quantizer 1333 by a scaling factor.
  • FIG. 14 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a low rate according to another exemplary embodiment.
  • the first quantization unit 1431 and the second quantization unit 1451 used in the first quantization module 1430 and the second quantization module 1450 are illustrated in FIGS. 9C and 9D.
  • the low rate portion of can be applied.
  • the weighting function calculator 1400 may obtain a weighting function w (n) using the input LSF value.
  • the obtained weight function w (n) may be used in the selector 1410, the first quantizer 1431, and the second quantizer 1451.
  • the z (n) signal can be obtained by removing the average value from the LSF value f (n).
  • the selector 1410 performs an optimal quantization scheme using a p (n) and z (n) value, a weighting function, and a prediction mode (pred_mode) predicted interframe using the z (n) value decoded in the previous frame. You can decide.
  • quantization may be performed using either a safety-net scheme or a prediction scheme.
  • the selected or determined quantization scheme may be encoded by 1 bit.
  • the LSF coefficient z (n), from which the average value is removed may be quantized by the first quantization unit 1431.
  • the first quantization unit 1431 may use intra-frame prediction for high performance, or may exclude the low-complexity.
  • the entire input vector may be provided to the first quantization unit 1431 which quantizes using TCQ or TCVQ through intra-frame prediction.
  • a second quantizer that quantizes the prediction error signal using the interframe prediction using TCQ or TCVQ through the intra frame prediction is an LSF coefficient whose average value is removed. 1145 may be provided.
  • the first and second quantizers 1431 and 1451 may include quantizers having a form of TCQ and TCVQ. Specifically, BC-TCQ or BC-TCVQ is possible. The quantized result is used as the low rate quantizer output.
  • FIG. 15 is a block diagram illustrating a configuration of a quantization apparatus having an open loop switching structure at a high rate according to another exemplary embodiment.
  • the quantization apparatus 1500 illustrated in FIG. 15 may include a selector 1510, a first quantization module 1530, and a second quantization module 1550.
  • a third quantization unit 1532 is added to the first quantization module 1530
  • a fourth quantization unit 1552 is added to the second quantization module 1550.
  • the first quantizers 1431 and 1153 and the second quantizers 1451 and 1551 may use the same codebook, respectively. This isn't an optimal codebook, but it can save a lot of memory.
  • the first quantization unit 1531 performs the first quantization and inverse quantization, and means a difference between the original signal and the dequantized result.
  • the second error vector may be provided as an input of the third quantizer 1532.
  • the third quantizer 1532 may quantize the second error vector. Examples of the third quantization unit 1532 may be SQ, VQ, SVQ, or MSVQ. After quantization and dequantization are completed, the finally quantized vector may be stored for the next frame.
  • the second quantization unit 1551 performs quantization and inverse quantization, and the second error vector representing the difference between the original signal and the dequantized result is fourth. It may be provided as an input of the quantization unit 1552.
  • the fourth quantization unit 1552 may quantize the second error vector. Examples of the fourth quantization unit 1552 may include SQ, VQ, SVQ, MSVQ, and the like. After quantization and dequantization are completed, the finally quantized vector may be stored for the next frame.
  • 16 is a block diagram illustrating a configuration of an LPC coefficient quantization unit according to another embodiment.
  • the LPC coefficient quantizer 1600 illustrated in FIG. 16 may include a selector 1610, a first quantization module 1630, a second quantization module 1650, and a weighting function calculator 1670. Compared with the LPC coefficient quantization unit 600 illustrated in FIG. 6, there is a difference that further includes a weighting function calculator 1670. A detailed implementation related to FIG. 16 is shown in FIGS. 11A-11F.
  • the quantization apparatus 1700 illustrated in FIG. 17 may include a first quantization module 1710, a second quantization module 1730, and a selector 1750.
  • the first quantization module 1710 includes a first quantization unit 1711, a first in-frame predictor 1712, and a third quantization unit 1713
  • the second quantization module 1730 includes a second quantization unit ( 1731, a second intra-frame predictor 1732, a fourth quantizer 1733, and an inter-frame predictor 1734.
  • the first quantization unit 1711 may quantize the entire input vector using BC-TCVQ or BC-TCQ through the first intra-frame predictor 1712. Can be.
  • the third quantizer 1713 may quantize the quantization error signal to VQ.
  • the second quantization unit 1731 uses the BC-TCVQ or the BC-TCQ to predict the error signal using the interframe predictor 1734 through the second in-frame predictor 1732.
  • the fourth quantization unit 1733 may quantize the quantization error signal to VQ.
  • the selector 1750 may select one of an output of the first quantization module 1710 and an output of the second quantization module 1730.
  • interframe prediction may use one of an AR method and a MA method.
  • an example using a 1st order AR method is shown.
  • the prediction coefficients are predefined, and the past vector for prediction uses a vector selected as an optimal vector among two schemes in the previous frame.
  • the quantization apparatus 1800 illustrated in FIG. 18 may include a first quantization module 1810, a second quantization module 1830, and a selector 1850.
  • the first quantization module 1810 includes a first quantization unit 1811 and a third quantization unit 1812
  • the second quantization module 1830 includes a second quantization unit 1831 and a fourth quantization unit 1832.
  • an interframe predictor 1833 is included in the first quantization module 1810, a second quantization module 1830, and a selector 1850.
  • the first quantization module 1810 includes a first quantization unit 1811 and a third quantization unit 1812
  • the second quantization module 1830 includes a second quantization unit 1831 and a fourth quantization unit 1832.
  • an interframe predictor 1833 is an interframe predictor 1833.
  • the selector 1850 may select or determine an optimal quantization scheme by inputting a weighted distortion using the output of the first quantization module 1810 and the output of the second quantization module 1830.
  • the process of determining the optimal quantization scheme is as follows.
  • the prediction mode when the prediction mode is 0, it means a mode that always uses only the safety-net scheme. When the prediction mode is not 0, it means that the safety-net scheme and the prediction scheme are switched.
  • An example of a mode that always uses only a safety-net scheme is TC or UC mode.
  • WDist [0] means the weighted distortion of the safety-net scheme
  • WDist [1] means the weighted distortion of the prediction scheme.
  • abs_threshold represents a preset threshold. If the prediction mode is not 0, the optimal quantization scheme may be selected in preference to the weighted distortion of the safety-net scheme in consideration of the frame error.
  • the safety-net scheme can be selected regardless of the value of WDist [1].
  • 19 is a block diagram illustrating a configuration of an inverse quantization apparatus according to an embodiment.
  • the dequantization apparatus 1900 illustrated in FIG. 19 may include a selector 1910, a first dequantization module 1930, and a second dequantization module 1950.
  • the selector 1910 may determine an encoded LPC parameter, for example, a prediction residual, based on the quantization scheme information included in the bitstream, from the first inverse quantization module 1930 and the second inverse.
  • an encoded LPC parameter for example, a prediction residual
  • One of the quantization modules 1950 may be provided.
  • the quantization scheme information may be represented by 1 bit.
  • the first dequantization module 1930 may dequantize the encoded LPC parameter, for example, a quantization index, without inter-frame prediction.
  • the second inverse quantization module 1950 may dequantize the encoded LPC parameter, for example, a quantization index, through inter-frame prediction.
  • the first inverse quantization module 1930 and the second inverse quantization module 1950 may be implemented based on inverse processing of each of the first and second quantization modules of the aforementioned various embodiments, according to an encoding apparatus corresponding to the decoding apparatus. have.
  • the inverse quantization apparatus of FIG. 19 may be applied regardless of whether the structure of the quantizer is open-loop or closed-loop.
  • the VC mode may have two decoding rates, for example, 31 bits per frame and 40 or 41 bits per frame.
  • the VC mode can be decoded by, for example, 16 state 8 stage BC-TCVQ.
  • the inverse quantization apparatus 2000 illustrated in FIG. 20 may include a selector 2010, a first inverse quantization module 2030, and a second inverse quantization module 2050.
  • the first inverse quantization module 2030 may include a first inverse quantization unit 2031 and a first in-frame predictor 2032
  • the second inverse quantization module 2050 may include a second inverse quantization unit 2051, A second intra-frame predictor 2052 and an inter-frame predictor 2053 may be included.
  • the inverse quantization apparatus of FIG. 20 may correspond to the quantization apparatus of FIG. 12.
  • the selector 2010 may provide the LPC parameter encoded based on the quantization scheme information included in the bitstream to one of the first inverse quantization module 2030 and the second inverse quantization module 2050. have.
  • the first inverse quantization unit 2031 performs inverse quantization using TCQ, TCVQ, BC-TCQ, or BC-TCVQ. can do.
  • Quantized LSF coefficients may be obtained through the first inverse quantization unit 2031 and the first intra-frame predictor 2032. Adding the average value, which is a predetermined DC value, to the quantized LSF coefficients produces the final decoded LSF coefficients.
  • the second inverse quantization unit 2051 performs inverse quantization using TCQ, TCVQ, BC-TCQ, or BC-TCVQ. can do.
  • the inverse quantization process starts with the lowest vector of the LSF vectors, and the in-frame predictor 2052 uses the decoded vector to generate prediction values for vector elements in the next order.
  • the interframe predictor 2053 generates a prediction value through interframe prediction using the LSF coefficients decoded in the previous frame.
  • the inter-frame prediction value obtained by the inter-frame predictor 2053 is added to the quantized LSF coefficients obtained through the second quantizer 2051 and the intra-frame predictor 2052, and the average value, which is a predetermined DC value, is added to the addition result to finally decode the decoded data.
  • LSF coefficients are generated.
  • the decoding of may be performed by Equation 19 below.
  • the prediction vector p k (i) can be obtained by the following equation (20).
  • p (i) represents an AR prediction coefficient selected for a specific coding mode at a specific internal sampling frequency, for example, VC mode at 16 kHz
  • M represents an LPC order.
  • Equation 21 The decoding of may be performed by Equation 21 below.
  • Quantized LSF Vector for Prediction Scheme Can be obtained by the following equation (22).
  • m (i) represents an average vector in a specific encoding mode, for example, VC mode. Meanwhile, It can be represented as
  • m (i) represents an average vector in a specific encoding mode, for example, VC mode. Meanwhile, It can be represented as
  • FIG. 21 is a block diagram illustrating a detailed configuration of an inverse quantization apparatus according to another embodiment and may correspond to a case of using an encoding rate of 41 bits.
  • the inverse quantization apparatus 2100 illustrated in FIG. 21 may include a selector 2110, a first inverse quantization module 2130, and a second inverse quantization module 2150.
  • the first inverse quantization module 2130 may include a first inverse quantization unit 2131, a first in-frame predictor 2132, and a third inverse quantization unit 2133
  • the second inverse quantization module 2150 may include The second inverse quantizer 2151, the second in-frame predictor 2152, the fourth inverse quantizer 2153, and the inter-frame predictor 2154 may be included.
  • the inverse quantization apparatus of FIG. 21 may correspond to the quantization apparatus of FIG. 13.
  • the selector 2110 may provide an LPC parameter encoded based on quantization scheme information included in a bitstream to one of the first inverse quantization module 2130 and the second inverse quantization module 2150. have.
  • the first inverse quantization unit 2131 may perform inverse quantization using BC-TCVQ.
  • the third inverse quantization unit 2133 may perform inverse quantization using SVQ.
  • the quantized LSF coefficients may be obtained through the first inverse quantization unit 2131 and the first in-frame predictor 2132.
  • the average value which is a predetermined DC value, is added to the addition result, the final decoded LSF coefficients are generated.
  • the second inverse quantization module 2151 may perform inverse quantization using BC-TCVQ in the second inverse quantization module 2150.
  • the inverse quantization process starts with the lowest vector of the LSF vectors, and the second in-frame predictor 2152 uses the decoded vector to generate prediction values for vector elements of the next order.
  • the fourth inverse quantization unit 2153 may perform inverse quantization using SVQ.
  • the quantized LSF coefficients provided from the fourth inverse quantizer 2153 may be added to the quantized LSF coefficients obtained through the second inverse quantizer 2151 and the second in-frame predictor 2152.
  • the interframe predictor 2154 may generate a prediction value through interframe prediction using the LSF coefficients decoded in the previous frame.
  • the third inverse quantization unit 2133 and the fourth inverse quantization unit 2153 may share a codebook.
  • Scheme selection and decoding processing of the first and second inverse quantization units 2131 and 2151 are the same as in FIG. And The decoding may be performed by the third and fourth inverse quantization units 2133 and 2153.
  • the inverse quantization apparatus of FIGS. 19 to 21 may be used as a component of the decoding apparatus corresponding to FIG. 2.
  • k may represent a frame and i or j may represent a stage.
  • BC-TCQ employed in relation to LPC coefficient quantization / dequantization
  • Block Constrained Trellis Coded Vector Quantization of LSF Parameters for Wideband Speech Codecs (Jungeun Park and Sangwon Kang, ETRI Journal, Volume 30, Number 5). , October 2008).
  • TCVQ the contents related to TCVQ are described in detail in "Trellis Coded Vector Quantization” (Thomas R. Fischer et al, IEEE Transactions on Information Theory, Vol. 37, No. 6, November 1991).
  • the quantization method, the inverse magnetization method, the encoding method, and the decoding method according to the embodiments can be written as a program that can be executed in a computer, and in a general-purpose digital computer operating the program using a computer-readable recording medium. Can be implemented.
  • data structures, program instructions, or data files that can be used in the above-described embodiments of the present invention can be recorded on a computer-readable recording medium through various means.
  • the computer-readable recording medium may include all kinds of storage devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include magnetic media, such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, floppy disks, and the like.
  • Such as magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • the computer-readable recording medium may also be a transmission medium for transmitting a signal specifying a program command, a data structure, or the like.
  • Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

양자화장치는 N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 트렐리스 구조 벡터양자화기, 및 양자화된 N차원 서브벡터로부터 제1 예측벡터를 생성하는 프레임내 예측기를 포함하고, 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행한다.

Description

선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
본 발명은 선형예측계수 양자화 및 역양자화에 관한 것으로서, 보다 구체적으로는 낮은 복잡도로 선형예측계수를 효율적으로 양자화하는 방법 및 장치와 역양자화하는 방법 및 장치에 관한 것이다.
음성 혹은 오디오와 같은 사운드 부호화 시스템에서는 사운드의 단구간 주파수 특성을 표현하기 위하여 선형예측부호화(Linear Predictive Coding, 이하 LPC라 약함) 계수가 사용된다. LPC 계수는 입력 사운드를 프레임 단위로 나누고, 각 프레임별로 예측 오차의 에너지를 최소화시키는 형태로 구해진다. 그런데, LPC 계수는 다이나믹 레인지가 크고, 사용되는 LPC 필터의 특성이 LPC 계수의 양자화 에러에 매우 민감하여 필터의 안정성이 보장되지 않는다.
이에, LPC 계수를 필터의 안정성 확인이 용이하고 보간에 유리하며 양자화 특성이 좋은 다른 계수로 변환하여 양자화를 수행하는데, 주로 선 스펙트럼 주파수(Line Spectral Frequency, 이하 LSF라 약함) 혹은 이미턴스 스펙트럼 주파수(Immittance Spectral Frequency, 이하 ISF라 약함)로 변환하여 양자화하는 것이 선호되고 있다. 특히, LSF 계수의 양자화기법은 주파수영역 및 시간영역에서 가지는 LSF 계수의 프레임간 높은 상관도를 이용함으로써 양자화 이득을 높일 수 있다.
LSF 계수는 단구간 사운드의 주파수 특성을 나타내며, 입력 사운드의 주파수 특성이 급격히 변하는 프레임의 경우, 해당 프레임의 LSF 계수 또한 급격히 변화한다. 그런데, LSF 계수의 프레임간 높은 상관도를 이용하는 프레임간 예측기를 포함하는 양자화기의 경우, 급격히 변화하는 프레임에 대해서는 적절한 예측이 불가능하여 양자화 성능이 떨어진다. 따라서, 입력 사운드의 각 프레임별 신호 특성에 대응하여 최적화된 양자화기를 선택할 필요가 있다.
해결하고자 하는 기술적 과제는 낮은 복잡도로 LPC 계수를 효율적으로 양자화하는 방법 및 장치와 역양자화하는 방법 및 장치를 제공하는데 있다.
일측면에 따른 양자화장치는 N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 트렐리스 구조 벡터양자화기; 및 양자화된 N차원 서브벡터로부터 상기 제1 예측벡터를 생성하는 프레임내 예측기를 포함하고, 상기 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행할 수 있다.
상기 양자화장치는 상기 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기 및 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함할 수 있다.
다른 측면에 따른 양자화장치는 이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 인트라 프레임 예측기; 및, 상기 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 에러벡터를 양자화하여 양자화된 에러벡터를 생성하는 벡터 양자화기를 포함하고, 상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성될 수 있다.
상기 양자화장치는 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성하는 에러 벡터 양자화기를 더 포함할 수 있다.
상기 벡터 양자화기가 현재 스테이지의 N차원의 선형벡터와 현재 프레임의 예측벡터간의 예측 에러벡터를 양자화하는 경우, 상기 인트라 프레임 예측기는 양자화된 예측 에러벡터로부터 예측벡터를 생성할 수 있다.
상기 벡터 양자화기가 현재 스테이지의 N차원의 선형벡터와 현재 프레임의 예측벡터간의 예측 에러벡터를 양자화하는 경우, 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 에러 벡터 양자화기를 더 포함할 수 있다.
일측면에 따른 역양자화장치는 N 차원(여기서, N은 2 이상) 서브벡터에 대한 제1 양자화 인덱스를 역양자화하는 트렐리스 구조 벡터 역양자화기; 및 양자화된 N차원 서브벡터로부터 예측벡터를 생성하는 프레임내 예측기를 포함하고, 상기 양자화된 N 차원 서브벡터는 상기 트렐리스 구조 벡터 역양자화기로부터 얻어지는 양자화된 에러벡터와 상기 예측벡터를 가산한 결과이고, 상기 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행할 수 있다.
상기 역양자화장치는 상기 N 차원의 서브벡터에 대한 양자화 에러에 대한 제2 양자화 인덱스를 역양자화하는 벡터역양자화기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터역양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터에 대한 제3 양자화 인덱스를 역양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터역양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터에 대한 제3 양자화 인덱스를 역양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기 및 상기 예측에러 벡터에 대한 양자화 에러에 대한 제4 양자화 인덱스를 역양자화하는 벡터역양자화기를 더 포함할 수 있다.
음성 혹은 오디오 신호의 특성에 따라서 복수의 부호화 모드로 나누고, 각 부호화 모드에 적용되는 압축율에 따라서 다양한 비트수를 할당하여 양자화함에 있어서, 저비트율에서 우수한 성능을 갖는 양자화기를 설계함으로써 음성 혹은 오디오 신호를 보다 효율적으로 양자화할 수 있다.
또한, 다양한 비트레이트를 제공하는 양자화장치를 설계할 때 일부 양자화기의 코드북을 공유함으로써 메모리 사용량을 최소화할 수 있다.
도 1은 일실시예에 따른 사운드 부호화장치의 구성을 나타낸 블록도이다.
도 2는 다른 실시예에 따른 사운드 부호화장치의 구성을 나타낸 블록도이다.
도 3은 일실시예에 따른 LPC 양자화부의 구성을 나타낸 블록도이다.
도 4는 일실시예에 따라 도 3의 가중함수 결정부의 세부 구성을 나타낸 블럭도이다
도 5는 일실시예에 따라 도 4의 제1 가중함수 생성부의 세부 구성을 나타낸 블럭도이다.
도 6은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 7은 일실시예에 따른 도 6의 선택부의 구성을 나타낸 블록도이다.
도 8은 일실시예에 따른 도 6의 선택부의 동작을 설명하는 플로우챠트이다.
도 9A 내지 도 9E는 도 6에 도시된 제1 양자화모듈의 다양한 구현예를 나타낸 블록도이다.
[규칙 제91조에 의한 정정 06.07.2015] 
도 10A 내지 도 10D 는 도 6에 도시된 제2 양자화모듈의 다양한 구현예를 나타낸 블록도이다.
도 11A 내지 도 11F는 BC-TCVQ에 가중치를 적용하는 양자화기의 다양한 구현예를 나타낸 블록도이다.
도 12는 일실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 13은 일실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 14는 다른 실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 15는 다른 실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 16은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 17은 일실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 18은 다른 실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 19는 일실시예에 따른 역양자화장치의 구성을 나타낸 블록도이다.
도 20은 일실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도이다.
도 21은 다른 실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도이다.
본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
일반적으로, TCQ는 입력 벡터를 각 TCQ 스테이지에 하나의 엘리먼트를 할당하여 양자화를 하는데 반해, TCVQ는 전체 입력벡터를 분할하여 서브벡터를 만든 후, 각 서브벡터를 TCQ 스테이지를 할당하는 구조를 사용한다. 하나의 엘리먼트를 사용하여 양자화기를 구성하면 TCQ가 되며, 복수개의 엘리먼트를 조합하여 서브벡터를 만들어 양자화기를 구성하면 TCVQ가 된다. 따라서, 2차원의 서브벡터를 사용하게 되면 전체 TCQ 스테이지의 개수는 입력벡터 크기를 2로 나눈 것과 동일한 크기가 된다. 통상 음성/오디오 코덱에서는 입력신호를 프레임 단위로 부호화를 하게 되며 매 프레임마다 LSF 계수를 추출한다. LSF 계수는 벡터 형태로서, 통상 10 또는 16 차수를 사용하게 되고, 그 경우 2차원의 TCVQ를 고려하게 되면 서브벡터의 개수는 5 또는 8이 된다.
도 1은 일실시예에 따른 사운드 부호화 장치의 구성을 나타낸 블록도이다.
도 1에 도시된 사운드 부호화 장치(100)는 부호화 모드 선택부(110), LPC 계수 양자화부(130), CELP 부호화부(150)을 포함할 수 있다. 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다. 여기서, 사운드는 오디오 혹은 음성, 혹은 오디오와 음성의 혼합신호를 의미할 수 있으므로, 이하에서는 설명의 편의를 위하여 사운드를 음성으로 지칭하기로 한다.
도 1을 참조하면, 부호화 모드 선택부(110)는 멀티-레이트(Multi-rate)에 대응하여 복수개의 부호화 모드 중 하나를 선택할 수 있다. 부호화 모드 선택부(110)는 신호특성, VAD(Voice Activity Detection) 정보 또는 이전 프레임의 부호화모드를 이용하여 현재 프레임의 부호화 모드를 결정할 수 있다.
LPC 계수 양자화부(130)는 LPC 계수를 선택된 부호화 모드에 해당하는 양자화기를 이용하여 양자화하고, 양자화된 LPC 계수를 표현하는 양자화 인덱스를 결정할 수 있다. LPC 계수 양자화부(130)는 LPC 계수를 양자화에 적합한 다른 계수로 변환하여 양자화를 수행할 수 있다.
여기신호 부호화부(150)는 선택된 부호화 모드에 따라서 여기신호 부호화를 수행할 수 있다. 여기신호 부호화를 위하여 CELP(Code-Excited Linear Prediction) 혹은 ACELP(Algebraic CELP) 알고리즘을 사용할 수 있다. CELP 기법에 의하여 LPC 계수를 부호화하기 위한 대표적인 파라미터는 적응 코드북 인덱스, 적응 코드북 이득, 고정 코드북 인덱스, 고정 코드북 이득 등이 있다. 여기신호 부호화는 입력신호의 특성에 대응하는 부호화 모드에 근거하여 수행될 수 있다. 일예를 들면, 4개의 부호화 모드, UC(unvoiced coding) 모드, VC(voiced coding) 모드, GC(generic coding) 모드, TC(transision coding) 모드가 사용될 수 있다. UC 모드는 음성신호가 무성음이거나 무성음과 비슷한 특성을 갖는 노이즈인 경우 선택될 수 있다. VC 모드는 음성신호가 유성음일 때 선택될 수 있다. TC 모드는 음성신호의 특성이 급변하는 트랜지션 구간의 신호를 부호화할 때 사용될 수 있다. GC 모드는 그외의 신호에 대하여 부호화활 수 있다. UC 모드, VC 모드, TC 모드, 및 GC 모드는 ITU-T G.718 에 기재된 정의 및 분류기준에 따른 것이나, 이에 한정되는 것은 아니다. 여기신호 부호화부(150)는 오픈루프 피치탐색부(미도시), 고정코드북 탐색부(미도시) 또는 이득 양자화부(미도시)를 포함할 수 있는데, 부호화 모드에 따라서 여기신호 부호화부(150)에 구성요소가 추가되거나 제거될 수 있다. 예를 들면, VC 모드의 경우 언급한 구성요소가 모두 포함되며, UC 모드의 경우 오픈루프 피치탐색부를 사용하지 않는다. 여기신호 부호화부(150)는 양자화에 할당되는 비트수가 많은 경우, 즉 고비트율인 경우 GC 모드와 VC 모드로 단순화시킬 수 있다. 즉, GC 모드에 UC 모드와 TC 모드를 포함시킴으로써 GC 모드를 UC 모드와 TC 모드까지 사용할 수 있다. 한편, 고비트율인 경우 IC(inactive coding) 모드와 AC(audio coding) 모드를 더 포함할 수 있다. 여기신호 부호화부(150)는 양자화에 할당되는 비트수가 적은 경우, 즉 저비트율인 경우 GC 모드, UC 모드, VC 모드와 TC 모드로 분류할 수 있다. 한편, 저비트율인 경우 IC 모드와 AC 모드를 더 포함할 수 있다. IC 모드는 묵음인 경우에 선택될 수 있고, AC 모드인 경우 음성신호의 특성이 오디오에 가까운 경우 선택될 수 있다.
한편, 부호화 모드는 음성신호의 대역에 따라서 좀 더 세분화될 수 있다. 음성신호의 대역은 예를 들면 협대역(이하 NB라 약함), 광대역(이하 WB라 약함), 초광대역(이하 SWB라 약함), 전대역(FB라 약함)으로 분류할 수 있다. NB는 300-3400 Hz 또는 50-4000 Hz 의 대역폭을 가지며, WB는 50-7000 Hz 또는 50-8000 Hz의 대역폭을 가지며, SWB는 50-14000 Hz 또는 50-16000 Hz 의 대역폭을 가지며, FB는 20000 Hz까지의 대역폭을 가질 수 있다. 여기서, 대역폭과 관련된 수치는 편의상 설정된 것으로서, 이에 한정되는 것은 아니다. 또한, 대역의 구분도 좀 더 간단하거나 복잡하게 설정할 수 있다.
한편, 부호화 모드의 종류 및 개수가 결정되면, 결정된 부호화 모드에 해당하는 음성신호를 이용하여 코드북을 다시 훈련시킬 필요가 있다.
여기신호 부호화부(150)는 부호화 모드에 따라서 변환 부호화 알고리즘이 추가적으로 사용할 수 있다. 여기신호는 프레임 혹은 서브 프레임의 단위로 부호화할 수 있다.
도 2은 다른 실시예에 따른 사운드 부호화 장치의 구성을 나타낸 블록도이다.
도 2에 도시된 사운드 부호화 장치(200)는 전처리부(210), LP 분석부(220), 가중신호 산출부(230), 오픈루프 피치탐색부(240), 신호분석 및 VAD부(250), 부호화부(260), 메모리 갱신부(270)와 파라미터 부호화부(280)를 포함할 수 있다. 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다. 여기서, 사운드는 오디오 혹은 음성, 혹은 오디오와 음성의 혼합신호를 의미할 수 있으므로, 이하에서는 설명의 편의를 위하여 사운드를 음성으로 지칭하기로 한다.
도 2를 참조하면, 전처리부(210)는 입력되는 음성신호를 전처리할 수 있다. 전처리 과정을 통하여, 음성신호로부터 원하지 않는 주파수성분이 제거되거나, 부호화에 유리하도록 음성신호의 주파수 특성이 조정될 수 있다. 구체적으로, 전처리부(210)는 하이패스 필터링(high pass filtering), 프리-엠퍼시스(pre-amphasis) 또는 샘플링(sampling) 변환 등을 수행할 수 있다.
LP 분석부(220)는 전처리된 음성신호에 대하여 LP 분석을 수행하여 LPC 계수를 추출할 수 있다. 일반적으로 프레임당 1회의 LP 분석이 수행되나, 추가적인 음질 향상을 위해 프레임당 2회 이상의 LP 분석이 수행될 수 있다. 이 경우, 한번은 기존의 LP 분석인 프레임 엔드(frame-end)를 위한 LP이며, 나머지는 음질 향상을 위한 중간 서브 프레임(mid-subframe)을 위한 LP일 수 있다. 이때, 현재 프레임의 프레임 엔드는 현재 프레임을 구성하는 서브 프레임 중 마지막 서브 프레임을 의미하고, 이전 프레임의 프레임 엔드는 이전 프레임을 구성하는 서브 프레임 중 마지막 서브 프레임을 의미한다. 중간 서브 프레임은 이전 프레임의 프레임 엔드인 마지막 서브 프레임과 현재 프레임의 프레임 엔드인 마지막 서브 프레임 사이에 존재하는 서브 프레임 중 하나 이상의 서브 프레임을 의미한다. 일례로, 하나의 프레임은 4개의 서브프레임으로 구성될 수 있다. LPC 계수는 입력 신호가 협대역(narrowband)인 경우 차수 10을 사용하며, 광대역(wideband)의 경우 차수 16-20을 사용하나, 이에 한정되지는 않는다.
가중신호 계산부(230)는 전처리된 음성신호와 추출된 LPC 계수를 입력으로 하고, 인지 가중 필터에 근거하여 인지 가중 필터링된 신호를 계산할 수 있다. 인지 가중 필터는 인체 청각 구조의 마스킹 효과를 이용하기 위하여 전처리한 음성신호의 양자화 잡음을 마스킹 범위내로 줄일 수 있다.
오픈루프 피치탐색부(240)는 인지 가중 필터링된 신호를 이용하여 오픈루프 피치를 탐색할 수 있다.
신호분석 및 VAD부(250)는 입력신호의 주파수 특성을 포함하는 다양한 특성을 분석하여 입력신호가 액티브 음성신호인지를 결정할 수 있다.
부호화부(260)는 신호특성, VAD 정보 또는 이전 프레임의 부호화모드를 이용하여 현재 프레임의 부호화 모드를 결정하고, 선택된 부호화 모드에 해당하는 양자화기를 이용하여 LPC 계수를 양자화하고, 선택된 부호화 모드에 따라서 여기신호를 부호화할 수 있다. 부호화부(260)는 도 1에 도시된 구성요소를 포함할 수 있다.
메모리 갱신부(270)는 부호화된 현재 프레임 및 부호화에 사용된 파라미터를 다음 프레임의 부호화를 위하여 저장할 수 있다.
파라미터 부호화부(280)는 복호화단에서 복호화에 사용될 파라미터를 부호화하여 비트스트림에 포함시킬 수 있다. 바람직하게는, 부호화 모드에 대응하는 파라미터를 부호화할 수 있다. 파라미터 부호화부(280)에서 생성된 비트스트림은 저장이나 전송의 목적으로 사용될 수 있다.
다음 표 1은 4 가지 부호화 모드인 경우, 양자화 스킴과 구조의 일예를 나타낸 것이다. 여기서, 프레임간 예측을 사용하지 않고 양자화하는 방식을 세이프티-넷(safety-net) 스킴으로 명명할 수 있으며, 프레임간 예측을 사용하여 양자화하는 방식을 예측(predictive) 스킴으로 명명할 수 있다. 그리고, VQ는 벡터 양자화기, BC-TCQ는 블록제한된 트렐리스 부호화 양자화기를 나타낸 것이다.
표 1
Coding Mode Quantization Scheme Structure
UC, NB/WB Satety-net VQ + BC-TCQ
VC, NB/WB Satety-net Predictive VQ + BC-TCQInter-frame prediction + BC-TCQ with intra-frame prediction
GC, NB/WB Satety-net Predictive VQ + BC-TCQInter-frame prediction + BC-TCQ with intra-frame prediction
TC, NB/WB Satety-net VQ + BC-TCQ
한편, BC-TCVQ는 블록제한된 트렐리스 부호화 벡터 양자화기를 나타낸 것이다. TCVQ는 TCQ를 일반화하여 벡터 코드북과 브랜치 레이블을 가능케 한 것이다. TCVQ의 주요 특징은 확장된 세트의 VQ 심볼들을 서브셋으로 파티셔닝하고, 트렐리스 브랜치를 이들 서브셋으로 레이블링하는 것이다. TCVQ는 레이트 1/2 컨볼루션 코드에 기반하며, N=2ν의 트렐리스 스테이트를 가지며, 각 트렐리스 스테이트에 들어가고 나오는 두개의 브랜치를 가진다. M개의 소스 벡터가 주어진 경우, 비터비 알고리즘을 사용하여 최소 왜곡 경로를 탐색한다. 그 결과 최적의 트렐리스 경로가 임의의 N개의 초기 스테이트에서 시작하고, 임의 N 개의 마지막 스테이트에서 종료할 수 있다. TCVQ에서 코드북은 2(R+R')L 벡터 코드워드를 가진다. 여기서, 코드북은 노미널 레이트 R VQ의 2R'L 배만큼 많은 코드워드를 가지기 때문에 R'은 코드북 확장 요소(codebook expansion factor)라 할 수 있다. 엔코딩 과정을 간단히 살펴보면 다음과 같다. 먼저 각 입력벡터에 대하여 각 서브셋에서 가장 근접한 코드워드와 대응하는 왜곡을 탐색하고, 서브셋 S로 레이블된 브랜치에 대한 브랜치 메트릭을 탐색된 왜곡으로 두고, 비터비 알고리즘을 사용하여 트렐리스를 통한 최소 왜곡 경로를 탐색한다. BC-TCVQ는 트렐리스 경로를 지정하기 위하여 소스 샘플당 1 비트를 필요로 하므로 낮은 복잡도를 가진다. BC-TCVQ 구조는 0≤k≤ν인 경우 2k개의 초기 트렐리스 스테이트와 각 허용된 초기 트렐리스 스테이트에 대하여 2ν-k개의 마지막 스테이트를 가질 수 있다. 싱글 비터비 엔코딩은 허용된 초기 트렐리스 스테이트에서 시작하여 벡터 스테이지 m-k까지 진행한다. 초기 스테이트를 지정하는데 k 비트 소요되고, 벡터 스테이지 m-k까지 경로를 지정하는 m-k 비트 소요된다. 초기 트렐리스 스테이트에 종속적인 유일한 종료 경로(terminating path)는 벡터 스테이지 m을 통하여 벡터 스테이지 m-k에서 각 트렐리스 스테이트에 대하여 미리 지정된다. k 값과는 무관하게, 초기 트렐리스 스테이트와 트렐리스를 통한 경로를 지정하기 위하여 m 비트를 필요로 한다.
16 kHz 내부 샘플링 주파수에서 VC 모드를 위한 BC-TCVQ는 N차원, 예를 들면 2차원 벡터를 갖는 16 스테이트 8 스테이지 TCVQ를 사용할 수 있다. 두개의 엘리먼트를 갖는 LSF 서브벡터들은 각 스테이지에 할당될 수 있다. 다음 표 2는 16 스테이트 BC-TCVQ를 위한 초기 스테이트와 마지막 스테이트를 나타낸다. 여기서, k와 ν는 각각 2와 4이고, 초기 스테이트와 마지막 스테이를 위한 4 비트가 사용된다.
표 2
Initial state Terminal state
0 0,1,2,3
4 4,5,6,7
8 8,9,10,11
12 12,13,14,15
한편, 부호화 모드는 적용되는 비트율에 따라서 변할 수 있다. 상기한 바와 같이 두개의 모드를 사용하는 높은 비트율에서 LPC 계수를 양자화하기 위하여 GC 모드에서 프레임당 40 혹은 41 비트를 사용하고, TC 모드에서 프레임당 46 비트를 사용할 수 있다.
도 3은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 3에 도시된 LPC 계수 양자화부(300)는 제1 계수 변환부(310), 가중함수 결정부(330), ISF/LSF 양자화부(350) 및 제2 계수 변환부(379)를 포함할 수 있다. 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다. LPC 계수 양자화부(300)에는 양자화되지 않은 LPC 계수와 부호화 모드 정보가 입력으로 제공될 수 있다.
도 3을 참조하면, 제1 계수 변환부(310)는 음성신호의 현재 프레임 또는 이전 프레임의 프레임 엔드를 LP 분석하여 추출된 LPC 계수를 다른 형태의 계수로 변환할 수 있다. 일례로, 제1 계수 변환부(310)는 현재 프레임 또는 이전 프레임의 프레임 엔드에 대한 LPC 계수를 선 스펙트럼 주파수(LSF) 계수와 이미턴스 스펙트럼 주파수(ISF) 계수 중 어느 하나의 형태로 변환할 수 있다. 이 때, ISF 계수나 LSF 계수는 LPC 계수를 보다 용이하게 양자화할 수 있는 형태의 예를 나타낸다.
가중함수 결정부(330)는 LPC 계수로부터 변환된 ISF 계수 혹은 LSF 계수를 이용하여, ISF/LSF 양자화부(350)를 위한 가중함수를 결정할 수 있다. 결정된 가중함수는 양자화 경로 혹은 양자화 스킴을 선택하거나, 양자화시 가중에러를 최소화하는 코드북 인덱스를 탐색하는 과정에서 사용될 수 있다. 일례로, 가중함수 결정부(330)는 크기 가중함수, 주파수 가중함수, ISF/LSF 계수의 위치에 근거한 가중함수를 조합하여 최종 가중함수를 결정할 수 있다.
그리고, 가중함수 결정부(330)는 주파수 대역, 부호화 모드 및 스펙트럼 분석 정보 중 적어도 하나를 고려하여 가중함수를 결정할 수 있다. 일례로, 가중함수 결정부(330)는 부호화 모드별로 최적의 가중함수를 도출할 수 있다. 그리고, 가중함수 결정부(330)는 음성신호의 주파수 대역에 따라 최적의 가중함수를 도출할 수 있다. 또한, 가중함수 결정부(330)는 음성신호의 주파수 분석 정보에 따라 최적의 가중함수를 도출할 수 있다. 이때, 주파수 분석 정보는 스펙트럼 틸트 정보를 포함할 수 있다. 가중함수 결정부(330)는 추후 구체적으로 설명하기로 한다.
ISF/LSF 양자화부(350)는 입력된 부호화 모드에 따라서 최적 양자화 인덱스를 구할 수 있다. 구체적으로 ISF/LSF 양자화부(350)는 현재 프레임의 프레임 엔드의 LPC 계수가 변환된 ISF 계수 혹은 LSF 계수를 양자화할 수 있다. ISF/LSF 양자화부(350)는 입력신호가 비정적(non-stationary)인 신호인 경우 해당하는 UC 모드 혹은 TC 모드인 경우에는 프레임간 예측을 사용하지 않고 세이프티-넷 스킴만을 이용하여 양자화를 하며, 정적(stationary)인 신호에 해당하는 VC 모드 혹은 GC 모드인 경우에는 예측 스킴과 세이프티-넷 스킴을 스위칭하여 프레임 에러를 고려하여 최적 양자화 스킴을 결정할 수 있다.
ISF/LSF 양자화부(350)는 가중함수 결정부(330)에서 결정된 가중함수를 이용하여 ISF 계수 혹은 LSF 계수를 양자화할 수 있다. ISF/LSF 양자화부(350)는 가중함수 결정부(330)에서 결정된 가중함수를 이용하여 복수의 양자화 경로 중 하나를 선택하여 ISF 계수 혹은 LSF 계수를 양자화할 수 있다. 양자화 결과 얻어진 인덱스는 역양자화 과정을 통하여 양자화된 ISF 계수(QISF) 혹은 양자화된 LSF 계수(QLSF)가 구해질 수 있다.
제2 계수 변환부(370)는 양자화된 ISF 계수(QISF) 혹은 양자화된 LSF 계수(QLSF)를 양자화된 LPC 계수(QLPC)로 변환할 수 있다.
이하, LPC 계수의 벡터 양자화와 가중함수간의 관계를 설명하기로 한다.
벡터 양자화는 벡터 내의 엔트리(entry)들 모두를 동일한 중요도라고 간주하여 제곱오차거리 척도(squared error distance measure)를 이용하여 가장 적은 에러를 갖는 코드북 인덱스를 선택하는 과정을 의미한다. 그러나, LPC 계수에 있어, 모든 계수의 중요도가 다르므로 중요한 계수의 에러를 감소시키게 되면 최종 합성신호의 지각적인 품질(perceptual quality)이 향상될 수 있다. 따라서, LSF 계수를 양자화할 때 복호화 장치는 각 LPC 계수의 중요도를 표현하는 가중함수(weighting function)를 제곱오차거리 척도에 적용하여 최적의 코드북 인덱스를 선택함으로써, 합성신호의 성능을 향상시킬 수 있다.
일실시예에 따르면, ISF나 LSF의 주파수 정보와 실제 스펙트럼 크기를 이용하여 각 ISF 또는 LSF가 실제로 스펙트럼 포락선에 어떠한 영향을 주는지에 대한 크기 가중함수를 결정할 수 있다. 일실시예에 따르면, 주파수 도메인의 지각적인 특성 및 포만트의 분포를 고려한 주파수 가중함수를 크기 가중함수와 조합하여 추가적인 양자화 효율을 얻을 수 있다. 이에 따르면, 실제 주파수 도메인의 크기를 사용하므로, 전체 주파수의 포락선 정보가 잘 반영되고, 각 ISF 또는 LSF 계수의 가중치를 정확하게 도출할 수 있다. 일실시예에 따르면, 크기 가중함수와 주파수 가중 함수에 LSF 계수들 혹은 ISF 계수들의 위치정보에 근거한 가중함수를 조합하여 추가적인 양자화 효율을 얻을 수 있다.
일실시예에 따르면, LPC 계수를 변환한 ISF 또는 LSF를 벡터 양자화할 때 각 계수의 중요도가 다른 경우 벡터 내에서 어떠한 엔트리가 상대적으로 더 중요한지 여부를 나타내는 가중함수를 결정할 수 있다. 그리고, 부호화하려는 프레임의 스펙트럼을 분석하여 에너지가 큰 부분에 더 많은 가중치를 줄 수 있는 가중함수를 결정함으로써 부호화의 정확도를 향상시킬 수있다. 스펙트럼의 에너지가 크다는 것은 시간 도메인에서 상관도가 높다는 것을 의미한다.
표 1에 있어서 모든 모드에 적용되는 VQ에 있어서 최적 양자화 인덱스는 하기 수학식 1의 Ewerr(p)를 최소화하는 인덱스로 결정할 수 있다.
수학식 1
Figure PCTKR2015004577-appb-M000001
여기서, w(i) 는 가중함수를 의미한다. r(i)는 양자화기의 입력, c(i)는 양자화기의 출력을 나타내며, 두 값간의 가중된 왜곡을 최소화하는 인덱스를 구하기 위한 것이다.
다음, BC-TCQ에서 사용되는 왜곡 척도는 기본적으로 US 7,630,890에 개시된 방식을 따른다. 이때 왜곡 척도 d(x,y)는 하기 수학식 2와 같이 나타낼 수 있다.
수학식 2
Figure PCTKR2015004577-appb-M000002
실시예에 따르면, 왜곡 척도 d(x,y)에 가중함수를 적용할 수 있다. US 7,630,890에서 BC-TCQ를 위해 사용된 왜곡 척도를 벡터에 대한 척도로 확장한 다음 가중함수를 적용하여 가중된 왜곡을 구할 수 있다. 즉, BC-TCVQ의 모든 스테이지에서 하기 수학식 3에서와 같이 가중된 왜곡을 구하여 최적의 인덱스를 결정할 수 있다.
수학식 3
Figure PCTKR2015004577-appb-M000003
한편, ISF/LSF 양자화부(350)는 입력된 부호화 모드에 따라서 예를 들면, LVQ(lattice vector quantizer)와 BC-TCVQ 를 스위칭하여 양자화를 수행할 수 있다. 만약, 부호화모드가 GC 모드이면 LVQ를 이용하고, VC 모드이면 BC-TCVQ를 이용할 수 있다. LVQ와 BC-TCVQ가 혼합되어 있을 때 양자화기 선택 과정을 구체적으로 설명하면 다음과 같다. 먼저 부호화할 비트레이트를 선택할 수 있다. 부호화할 비트레이트가 선택되면 각 비트레이트에 해당하는 LPC 양자화기를 위한 비트를 결정할 수 있다. 이후, 입력신호의 대역을 결정할 수 있다. 입력신호가 협대역인지 광대역인지에 따라서 양자화 방식이 변경될 수 있다. 또한, 입력신호가 광대역인 경우, 추가적으로 실제로 부호화하는 대역의 상한(upper limit)이 6.4KHz인지 8kHz인지를 판단할 필요가 있다. 즉, 내부 샘플링 주파수가 12.8kHz인지 16kHz인지에 따라서 양자화 방식이 변경될 수 있으므로 대역을 확인할 필요가 있다. 다음, 결정된 대역에 따라 사용가능한 부호화 모드의 한도 내에서 최적인 부호화 모드를 결정할 수 있다. 예를 들어 4가지 부호화 모드(UC,VC,GC,TC)를 사용할 수 있으나, 높은 비트레이트(예를 들어 9.6kbit/s 이상)에서는 3가지 모드만(VC,GC,TC)을 사용할 수 있다. 부호화할 비트레이트, 입력신호의 대역, 부호화 모드에 근거하여 양자화 방식 예를 들면 LVQ와 BC-TCVQ 중 하나를 선택하고, 선택된 양자화 방식에 근거하여 양자화된 인덱스를 출력한다.
일실시예에 따르면, 비트레이트가 24.4 kbps와 64 kbps 사이에 해당하는지를 판단하고, 비트레이트가 24.4 kbps와 64 kbps 사이에 해당하지 않으면 LVQ를 선택할 수 있다. 한편, 비트레이트가 24.4 kbps와 64 kbps 사이에 해당하면 입력신호의 대역이 협대역인지를 판단하고, 입력신호의 대역이 협대역이면 LVQ를 선택할 수 있다. 한편, 입력신호의 대역이 협대역이 아니면 부호화 모드가 VC 모드인지를 판단하고 부호화 모드가 VC 모드인 경우 BC-TCVQ를 사용하고, 부호화 모드가 VC 모드가 아니면 LVQ를 사용할 수 있다.
다른 실시예에 따르면, 비트레이트가 13.2 kbps와 32 kbps 사이에 해당하는지를 판단하고, 비트레이트가 13.2 kbps와 32 kbps 사이에 해당하지 않으면 LVQ를 선택할 수 있다. 한편, 비트레이트가 13.2 kbps와 32 kbps 사이에 해당하면 입력신호의 대역이 광대역인지를 판단하고, 입력신호의 대역이 광대역이 아니면 LVQ를 선택할 수 있다. 한편, 입력신호의 대역이 광대역이면 부호화 모드가 VC 모드인지를 판단하고 부호화 모드가 VC 모드인 경우 BC-TCVQ를 사용하고, 부호화 모드가 VC 모드가 아니면 LVQ를 사용할 수 있다.
일실시예에 따르면, 부호화 장치는 LPC 계수로부터 변환된 ISF 계수 또는 LSF 계수의 주파수에 해당하는 스펙트럼 크기를 이용한 크기 가중함수, 입력 신호의 지각적인 특성 및 포먼트분포를 고려한 주파수 가중함수, LSF 계수들 혹은 ISF 계수들의 위치에 근거한 가중함수를 조합하여 최적의 가중함수를 결정할 수 있다.
도 4는 일실시예에 따른 도 3의 가중함수 결정부의 구성을 나타낸 블록도이다.
도 4에 도시된 가중함수 결정부(400)는 스펙트럼 분석부(410), LP 분석부(430), 제1 가중함수 생성부(450), 제2 가중함수 생성부(470) 및 조합부(490)를 포함할 수 있다. 각 구성요소는 적어도 하나의 프로세서로 일체화되어 구현될 수 있다.
도 4를 참조하면, 스펙트럼 분석부(410)는 시간-주파수(Time-to-Frequency) 맵핑 과정을 통해 입력 신호에 대한 주파수 도메인의 특성을 분석할 수 있다. 여기서, 여기서 입력 신호는 전처리된 신호일 수 있고, 시간-주파수 맵핑 과정은 FFT를 이용하여 수행될 수 있으나 이에 한정되는 것은 아니다. 스펙트럼 분석부(410)는 스펙트럼 분석 정보, 일예로 FFT 결과 얻어지는 스펙트럼 크기를 제공할 수 있다. 여기서, 스펙트럼 크기는 선형 스케일을 가질 수 있다. 구체적으로, 스펙트럼 분석부(410)는 128-포인트 FFT를 수행하여 스펙트럼 크기를 생성할 수 있다. 이때 스펙트럼 크기의 대역폭은 0 내지 6400 HZ 의 범위에 해당할 수 있다. 이때, 내부 샘플링 주파수가 16 kHz인 경우 스펙트럼 크기의 수는 160개로 확장될 수 있다. 이 경우, 6400 내지 8000 Hz 범위에 대한 스펙트럼 크기가 누락되는데, 누락된 스펙트럼 크기는 입력 스펙트럼에 의해 생성될 수 있다. 구체적으로, 4800 내지 6400 Hz의 대역폭에 해당하는 마지막 32개의 스펙트럼 크기를 이용하여 6400 내지 8000 Hz 범위의 누락된 스펙트럼 크기를 대체할 수 있다. 일례로, 마지막 32개의 스펙트럼 크기의 평균값을 사용할 수 있다.
LP 분석부(430)는 입력 신호에 대하여 LP 분석을 수행하여 LPC 계수를 생성할 수 있다. LP 분석부(430)는 LPC 계수로부터 ISF 혹은 LSF 계수를 생성할 수 있다.
제1 가중함수 생성부(450)는 ISF 혹은 LSF 계수에 대하여 스펙트럼 분석정보에 근거하여 크기 가중함수와 주파수 가중함수를 얻고, 크기 가중함수와 주파수 가중함수를 조합하여 제1 가중함수를 생성할 수 있다. 제1 가중함수는 FFT를 기반으로 얻어질 수 있으며, 스펙트럼 크기가 클수록 큰 가중치값을 할당할 수 있다. 일례를 들면, 제1 가중함수는 스펙트럼 분석정보 즉, 스펙트럼 크기를 ISF 혹은 LSF 대역에 맞도록 정규화한 다음, 각 ISF 혹은 LSF 계수에 해당하는 주파수의 크기를 이용하여 결정될 수 있다.
제2 가중함수 생성부(470)는 인접한 ISF 혹은 LSF 계수의 간격 혹은 위치 정보에 기초하여 제2 가중함수를 결정할 수 있다. 실시예에 따르면, 각 ISF 혹은 LSF 계수과 인접한 두개의 ISF 혹은 LSF 계수로부터 스펙트럼 민감도와 관련된 제2 가중함수를 생성할 수 있다. 통상 ISF 혹은 LSF 계수는 Z-도메인의 단위 서클위에 위치하며, 인접한 ISF 혹은 LSF 계수의 간격이 주변보다 좁은 경우 스펙트럼 피크로 나타나는 특징이 있다. 결과적으로, 제2 가중함수는 인접한 LSF 계수들의 위치에 근거하여 LSF 계수들의 스펙트럼 민감도를 근사화할 수 있다. 즉, 인접한 LSF 계수들이 얼마나 가까이 위치하는지를 측정함으로써 LSF 계수들의 조밀도가 예측될 수 있고, 조밀한 LSF 계수들이 존재하는 주파수 근처에서 신호 스펙트럼이 피크값을 가질 수 있으므로 큰 값의 가중치가 할당될 수 있다. 여기서, 스펙트럼 민감도의 근사화시 정확도를 높이기 위하여 제2 가중함수 결정시 LSF 계수들에 대한 다양한 파라미터가 추가적으로 사용될 수 있다.
상기한 바에 따르면, ISF 혹은 LSF 계수들간의 간격과 가중함수는 반비례하는 관계가 성립될 수 있다. 이러한 간격과 가중함수간의 관계를 이용하여 다양한 실시예가 가능하다. 일예를 들면, 간격을 음수로 표현하거나 간격을 분모에 표시할 수 있다. 다른 예를 들면, 구해진 가중치를 더 강조하기 위해 가중함수의 각각의 엘리먼트에 상수를 곱하거나 엘리먼트의 제곱으로 나타내는 경우도 가능하다. 또 다른 예를 들면, 1차적으로 구해진 가중함수 자체에 대하여 추가적인 연산 예를 들면 거듭제곱 혹은 세제곱 등을 수행하여 2차적으로 구해진 가중함수를 더 반영할 수 있다.
ISF 혹은 LSF 계수들간의 간격을 이용하여 가중함수를 도출하는 예는 다음과 같다.
일예에 따르면, 제2 가중함수(Ws(n))는 하기 수학식 4에 의해 구해질 수 있다.
수학식 4
Figure PCTKR2015004577-appb-M000004
여기서, lsfi-1 및 lsfi+1은 현재 LSF 계수 lsfi에 인접한 LSF 계수를 나타낸다.
다른 예에 따르면, 제2 가중함수(Ws(n))는 하기 수학식 5에 의해 구해질 수 있다.
수학식 5
Figure PCTKR2015004577-appb-M000005
여기서, lsfn은 현재 LSF 계수를 나타내고, lsfn-1 및 lsfn+1은 인접한 LSF 계수를 나타내며, M은 LP 모델의 차수로서 16일 수 있다. 예를 들어, LSF 계수는 0 내지 π사이에서 스팬되므로 첫번째와 마지막 가중치는 lsf0=0, lsfM=π에 근거하여 산출될 수 있다.
조합부(490)는 제1 가중함수와 제2 가중함수를 조합하여 LSF 계수의 양자화에 사용되는 최종 가중함수를 결정할 수 있다. 이때, 결합 방식으로는 각각의 가중함수를 곱하거나, 적절한 비율을 곱한 후에 더하거나, 각각의 가중치에 대하여 룩업테이블 등을 이용하여 미리 정해진 값을 곱한 후에 이들을 더하는 방식 등 다양한 방식을 사용할 수 있다.
도 5는 일실시예에 따라 도 4의 제1 가중함수 생성부의 세부 구성을 나타낸 블럭도이다.
도 5에 도시된 제1 가중함수 생성부(500)는 정규화부(510), 크기 가중함수 생성부(530), 주파수 가중함수 생성부(550) 및 조합부(570)를 포함할 수 있다. 여기서, 설명의 편의를 위하여 제1 가중함수 생성부(500)의 입력신호로서 LSF 계수를 예로 들기로 한다.
도 5를 참조하면, 정규화부(500)는 LSF 계수를 0 내지 K-1의 범위로 정규화할 수 있다. LSF 계수는 통상 0 내지 π까지의 범위를 가질 수 있다. 12.8 kHz 내부 샘플링 주파수인 경우, K는 128이고, 16.4 kHz 내부 샘플링 주파수인 경우, K는 160일 수 있다.
크기 가중함수 생성부(530)는 정규화된 LSF 계수에 대하여 스펙트럼 분석 정보에 근거하여 크기 가중함수(W1(n))를 생성할 수 있다. 일실시예에 따르면, 크기 가중함수는 정규화된 LSF 계수의 스펙트럼 크기에 근거하여 결정될 수 있다.
구체적으로, 크기 가중함수는 정규화된 LSF 계수의 주파수에 대응하는 스펙트럼 빈의 크기와 해당 스펙트럼 빈의 좌우 예를 들면 하나 이전 혹은 이후에 위치하는 이웃하는 두개의 스펙트럼 빈의 크기를 사용하여 결정될 수 있다. 스펙트럼 엔벨로프와 관련된 각 크기의 가중함수(W1(n))는 3개의 스펙트럼 빈의 크기 중 최대값을 추출하여 하기 수학식 6에 근거하여 결정될 수 있다.
수학식 6
Figure PCTKR2015004577-appb-M000006
여기서, Min은 wf(n)의 최소값을 나타내고, wf(n)는 10log(Emax(n)) (여기서, n=0,...,M-1)로 정의될 수 있다. 여기서, M은 16이고, Emax(n)은 각 LSF 계수에 대한 3개의 스펙트럼 빈의 크기중 최대값을 나타낸다.
주파수 가중함수 생성부(550)는 정규화된 LSF 계수에 대하여 주파수 정보에 근거하여 주파수 가중함수(W2(n))를 생성할 수 있다. 일실시예에 따르면, 주파수 가중함수는 입력신호의 지각적인 특성 및 포먼트 분포를 이용하여 결정할 수 있다. 주파수 가중함수 생성부(550)는 바크 스케일(bark scale)에 따라 입력신호의 지각적인 특성을 추출할 수 있다. 그리고, 주파수 가중함수 생성부(550)는 포먼트의 분포 중 첫번째 포먼트에 기초하여 주파수별 가중함수를 결정할 수 있다. 주파수 가중함수의 경우, 초저주파 및 고주파에서 상대적으로 낮은 가중치를 나타내고, 저주파에서 일정 주파수 구간 내 예를 들면, 첫번째 포만트에 해당하는 구간에서 동일한 크기의 가중치를 나타낼 수 있다. 주파수 가중함수 생성부(550)는 입력 대역폭과 부호화모드를 따라서 주파수 가중함수를 결정할 수 있다.
조합부(570)는 크기 가중함수(W1(n))와 주파수 가중함수(W2(n))를 조합하여 FFT 기반 가중함수(Wf(n))를 결정할 수 있다. 조합부(570)는 크기 가중함수와 주파수 가중함수를 곱하거나 또는 더하여 최종적인 가중함수를 결정할 수 있다. 예를 들어, 프레임 엔드 LSF 양자화를 위한 FFT 기반 가중함수(Wf(n))는 하기 수학식 7에 근거하여 산출될 수 있다.
수학식 7
Figure PCTKR2015004577-appb-M000007
도 6은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 6에 도시된 LPC 계수 양자화부(600)는 선택부(610), 제1 양자화모듈(630)과 제2 양자화모듈(650)를 포함할 수 있다.
도 6을 참조하면, 선택부(610)는 오픈 루프 방식으로, 소정 기준에 근거하여 프레임간 예측을 사용하지 않는 양자화 처리와 프레임간 예측을 사용하는 양자화 처리 중 하나를 선택할 수 있다. 여기서, 소정 기준은 양자화되지 않은 LSF의 예측 에러가 사용될 수 있다. 예측 에러는 프레임간 예측값에 근거하여 얻어질 수 있다.
제1 양자화모듈(630)은 프레임간 예측을 사용하지 않는 양자화 처리가 선택된 경우, 선택부(610)를 통하여 제공되는 입력신호를 양자화할 수 있다.
제2 양자화모듈(650)은 프레임간 예측을 사용하는 양자화 처리가 선택된 경우, 선택부(610)를 통하여 제공되는 입력신호를 양자화할 수 있다.
제1 양자화모듈(630)은 프레임간 예측을 사용하지 않고 양자화를 수행하며, 세이프티-넷(safety-net) 스킴으로 명명할 수 있다. 제2 양자화모듈(650)은 프레임간 예측을 사용하여 양자화를 수행하며, 예측(predictive) 스킴으로 명명할 수 있다.
이에 따르면, 효율성이 높은 대화형 음성서비스를 위한 저비트율에서부터 차별화된 품질의 서비스를 제공하기 위한 고비트율까지 다양한 비트율에 대응하여, 최적의 양자화기가 선택될 수 있다.
도 7은 일실시예에 따른 도 6의 선택부의 구성을 나타낸 블록도이다.
도 7에 도시된 선택부(700)는 예측에러 산출부(710)와 양자화스킴 선택부(730)을 포함할 수 있다. 여기서, 예측에러 산출부(710)는 도 6의 제2 양자화모듈(650)에 포함될 수도 있다.
도 7을 참조하면, 예측에러 산출부(710)는 프레임간 예측값 p(n), 가중함수 w(n), DC 값이 제거된 LSF 계수 z(n)을 입력으로 하여, 다양한 방법에 의거하여 예측에러를 산출할 수 있다. 먼저, 프레임간 예측기는 제2 양자화모듈(650)의 예측 스킴에서 사용되는 것과 동일한 것을 사용할 수 있다. 여기서, AR(auto-regressive) 방식과 MA(moving average) 방식 중 어느 것을 사용해도 무방하다. 프레임간 예측을 위한 이전 프레임의 신호 z(n)은 양자화된 값을 사용할 수도 있고, 양자화되지 않은 값을 사용할 수도 있다. 또한, 예측에러를 구할 때 가중함수를 적용할 수도 있고, 적용하지 않을 수도 있다. 이에 따르면, 전체 8가지의 조합이 가능하며, 그 중 4가지는 다음과 같다.
첫째, 이전 프레임의 양자화된 z(n) 신호를 이용한 가중 AR 예측에러는 다음 수학식 8과 같이 나타낼 수 있다.
수학식 8
Figure PCTKR2015004577-appb-M000008
둘째, 이전 프레임의 양자화된 z(n) 신호를 이용한 AR 예측에러는 다음 수학식 9와 같이 나타낼 수 있다.
수학식 9
Figure PCTKR2015004577-appb-M000009
셋째, 이전 프레임의 z(n) 신호를 이용한 가중 AR 예측에러는 다음 수학식 10과 같이 나타낼 수 있다.
수학식 10
Figure PCTKR2015004577-appb-M000010
넷째, 이전 프레임의 z(n) 신호를 이용한 AR 예측에러는 다음 수학식 11과 같이 나타낼 수 있다.
수학식 11
Figure PCTKR2015004577-appb-M000011
여기서, M은 LSF의 차수를 의미하며, 입력 음성신호의 대역폭이 WB 인 경우,통상 16을 사용한다. ρ(i)는 AR 방식의 예측계수를 의미한다. 이와 같이 바로 이전 프레임의 정보를 이용하는 경우가 일반적이며, 여기서 구해진 예측에러를 이용하여 양자화 스킴을 결정할 수 있다.
한편, 예측에러가 소정 임계치보다 크다면 이는 현재 프레임이 비정적(non-stationary)이 될 경향이 있음을 암시할 수 있다. 이 경우 세이프티-넷 스킴을 사용할 수 있다. 그외에는 예측 스킴을 사용하는데, 이때 예측 스킴이 연속적으로 선택되지 않도록 제한을 가할 수 있다.
일실시예에 따르면, 이전 프레임에 대하여 프레임에러가 발생하여 이전 프레임의 정보가 없는 경우를 대비하여 이전 프레임의 이전 프레임을 이용하여 제2 예측에러를 구하고, 제2 예측에러를 이용하여 양자화 스킴을 결정할 수 있다. 이 경우, 제2 예측에러는 상기한 첫째 경우와 비교하여 다음 수학식 12와 같이 나타낼 수 있다.
수학식 12
Figure PCTKR2015004577-appb-M000012
양자화스킴 선택부(730)는 예측에러 산출부(710)에서 구해진 예측에러를 이용하여 현재 프레임의 양자화 스킴을 결정할 수 있다. 이때, 부호화 모드 결정부(도 1의 110)에서 구해진 부호화 모드를 더 고려할 수 있다. 실시예에 따르면, VC 모드 혹은 GC 모드의 경우 양자화스킴 선택부(730)가 동작할 수 있다.
도 8은 도 6의 선택부의 동작을 설명하는 플로우챠트이다. 예측모드가 0의값을 갖는 경우는 항상 세이프티-넷 스킴을 사용하는 것을 의미하며, 예측모드가 0이 아닌 값을 갖는 경우는 세이프티-넷 스킴과 예측 스킴을 스위칭해서 양자화 스킴을 결정하는 것을 의미한다. 항상 세이프티-넷 스킴을 사용하는 부호화 모드의 예로는 UC 모드 혹은 TC 모드를 들 수 있다. 한편, 세이프티-넷 스킴과 예측 스킴을 스위칭하여 사용하는 부호화 모드의 예로는 VC 모드 혹은 GC 모드를 들 수 있다.
도 8을 참조하면, 810 단계에서는 현재 프레임의 예측 모드(prediction mode)가 0인지를 판단한다. 810 단계에서의 판단결과, 예측 모드가 0인 경우, 예를 들면 UC 모드 혹은 TC 모드와 같이 현재 프레임이 변동성이 큰 경우에는 프레임간 예측이 어렵기 때문에, 항상 세이프티-넷 스킴 즉, 제1 양자화모듈(630)을 선택할 수 있다(850 단계).
한편, 810 단계에서의 판단결과, 예측 모드가 0이 아닌 경우 예측에러를 고려하여 세이프티 넷 스킴과 예측 스킴 중 하나를 양자화 스킴으로 결정할 수 있다. 이를 위하여, 830 단계에서는 예측에러가 소정의 임계치보다 큰지를 판단한다. 여기서, 임계치는 사전에 실험적으로 혹은 시뮬레이션을 통해 최적의 값으로 정해질 수 있다. 일례를 들면, 차수가 16인 WB의 경우 임계치의 예로 3,784,536.3을 설정할 수 있다. 한편, 예측 스킴을 연속하여 선택하지 않도록 제한을 가할 수 있다.
830 단계에서의 판단결과, 예측에러가 임계치보다 크거나 같은 경우 세이프티 넷 스킴을 선택할 수 있다(850 단계). 한편, 830 단계에서의 판단결과, 예측에러가 임계치보다 작은 경우 예측 스킴을 선택할 수 있다(870 단계).
도 9A 내지 도 9E는 도 6에 도시된 제1 양자화모듈의 다양한 구현예를 나타낸 블록도이다. 실시예에 따르면, 제1 양자화모듈의 입력으로 16 차수의 LSF 벡터가 사용되는 것으로 한다. 따라서, 2차원을 이용하는
도 9A에 도시된 제1 양자화모듈(900)은 전체 입력 벡터의 개략을 TCQ(trellis coded quantizer)를 이용하여 양자화하는 제1 양자화부(911)와 양자화 에러신호를 추가적으로 양자화하는 제2 양자화부(913)을 포함할 수 있다. 제1 양자화부(911)는 TCQ, TCVQ(trellis coded vector quantizer), BC-TCQ(block-constrained trellis coded quantizer), 또는 BC-TCVQ 등과 같이 트렐리스 구조를 사용하는 양자화기로 구현될 수 있다. 제2 양자화부(913)는 벡터 양자화기 혹은 스칼라 양자화기로 구현될 수 있으나, 이에 한정되는 것은 아니다. 메모리 크기를 최소화하면서 성능향상을 위하여 SVQ(split vector quantizer)를 사용하거나, 성능향상을 위하여 MSVQ(multi-stage vector quantizer)를 사용할 수도 있다. 제2 양자화부(913)를 SVQ 혹은 MSVQ로 구현할 경우, 복잡도에 대한 여유가 있으면 2개 이상의 후보를 저장하고, 최적 코드북 인덱스 탐색을 수행하는 연판정(soft decision) 기술을 사용할 수도 있다.
제1 양자화부(911) 및 제2 양자화부(913)의 동작은 다음과 같다.
먼저, 양자화되지 않은 LSF 계수에서 사전에 정의된 평균값을 제거하여 z(n) 신호를 얻을 수 있다. 제1 양자화부(911)에서는 z(n) 신호의 전체 벡터에 대하여 양자화 및 역양자화를 수행할 수 있다. 여기서 사용되는 양자화기의 예로는 TCQ, TCVQ, BC-TCQ 혹은 BC-TCVQ를 들 수 있다. 양자화 에러신호를 구하기 위해서 z(n) 신호와 다시 역양자화된 신호와의 차이값을 이용하여 r(n) 신호를 얻을 수 있다. r(n) 신호는 제2 양자화부(913)의 입력으로 제공될 수 있다. 제 2 양자화부(913)는 SVQ 또는 MSVQ 등으로 구현할 수 있다. 제2 양자화부(913)에서 양자화된 신호는 역양자화를 거친 후에 제1 양자화부(911)에서 역양자화된 결과와 더해진 후 양자화된 z(n) 값이 되며 여기에 평균값을 더해주면 양자화된 LSF 값을 구할 수 있다.
도 9B에 도시된 제1 양자화모듈(900)은 제1 양자화부(931)와 제2 양자화부(933)에 프레임내 예측기(932)를 더 포함할 수 있다. 제1 양자화부(931)와 제2 양자화부(933)는 도 9A의 제1 양자화부(911)와 제2 양자화부(913)에 대응될 수 있다. LSF 계수는 매 프레임마다 부호화가 이루어지므로 프레임내에서 10차 혹은 16차의 LSF 계수를 이용하여 예측을 수행할 수 있다. 도 9B에 따르면, z(n) 신호는 제1 양자화부(931)와 프레임내 예측기(932)를 통하여 양자화될 수 있다. 프레임내 예측을 위하여 사용되는 과거신호는 TCQ를 통하여 양자화된 이전 스테이지의 t(n) 값을 사용한다. 프레임내 예측에서 사용되는 예측계수는 사전에 코드북 훈련 과정을 통해 미리 정의될 수 있다. TCQ에서는 통상 1차가 사용되며 경우에 따라서 더 높은 차수를 사용할 수도 있다. TCVQ에서는 벡터이므로 예측계수가 벡터의 차원(N, 여기서 N은 2 이상의 자연수)에 대응하여 N 차원 혹은 NXN 매트릭스 형태가 될 수 있다. 예를 들어 VQ의 차원이 2인 경우에는 2차원 혹은 2X2 크기의 매트릭스를 이용한 예측계수를 미리 구할 필요가 있다. 실시예에 따르면, TCVQ가 2차원을 이용하고 있으며 프레임내 예측기(932)는 2X2의 크기를 갖는다.
TCQ의 프레임내 예측 과정은 다음과 같다. 제1 양자화부(931) 즉, 제1 TCQ의 입력신호인 tj(n)은 하기 수학식 13과 같이 구할 수 있다.
수학식 13
Figure PCTKR2015004577-appb-M000013
여기서, M은 LPC 계수의 차수, ρi는 1차원의 예측계수를 나타낸다.
제1 양자화부(931)은 예측 에러벡터 t(n)을 양자화할 수 있다. 실시예에 따르면 제1 양자화부(931)는 TCQ를 사용하여 구현될 수 있고, 구체적으로는 BC-TCQ, BC-TCVQ, TCQ, TCVQ를 들 수 있다. 제1 양자화부(931)와 함께 사용된 프레임내 예측기(932)는 입력벡터의 각 엘리먼트 단위 또는 서브벡터 단위로 양자화 과정과 예측 과정을 반복할 수 있다. 제2 양자화부(933)의 동작은 도 9A의 제2 양자화부(913)와 동일하다.
한편, 제1 양자화부(931)가 N차원(여기서, N은 2 이상) TCVQ 혹은 BC-TCVQ로 구현되는 경우, 제1 양자화부(931)는 N차원의 서브벡터와 예측벡터간의 에러벡터를 양자화할 수 있다. 프레임내 예측기(932)는 양자화된 N차원 서브벡터로부터 예측벡터를 생성할 수 있다. 여기서, 프레임내 예측기(932)는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행할 수 있다. 제2 양자화부(933)는 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행할 수 있다.
좀 더 구체적으로 설명하면, 프레임내 예측기(932)는 이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성할 수 있다. 제1 양자화부(931)는 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 에러벡터를 양자화하여 양자화된 에러벡터를 생성할 수 있다. 여기서, 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성될 수 있다. 제2 양자화부(933)는 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성할 수 있다.
도 9C는 도 9A의 구조에서 코드북 공유를 위한 제1 양자화모듈(900)을 나타낸다. 제1 양자화모듈(900)은 제1 양자화부(951)와 제2 양자화부(953)을 포함할 수 있다. 음성/오디오 부호화기에서 멀티레이트 부호화를 지원하는 경우 동일한 LSF 입력 벡터를 다양한 비트로 양자화하는 기술을 필요로 한다. 이 경우 사용하는 양자화기의 코드북 메모리를 최소화하면서 효율적인 성능을 갖기 위해서 하나의 구조로 두가지 비트수 할당이 가능하도록 구현할 수 있다. 여기서, fH(n)은 고레이트 출력을 의미하며, fL(n)은 로우 레이트 출력을 의미한다. 이 중에서 BC-TCQ / BC-TCVQ 만을 이용한 경우 여기에 사용되는 비트수만으로 로우 레이트를 위한 양자화를 수행할 수 있다. 여기에 더해서 좀 더 정밀한 양자화가 필요한 경우에는 제1 양자화부(951)의 에러 신호를 추가적인 제 2 양자화부(953)를 이용하여 양자화할 수 있다.
도 9D는 도 9C의 구조에서 프레임내 예측기(972)를 더 포함한 것이다. 제1 양자화모듈(900)은 제1 양자화부(971)와 제2 양자화부(973)에 프레임내 예측기(972)를 더 포함할 수 있다. 제1 양자화부(971)와 제2 양자화부(973)는 도 9C의 제1 양자화부(951)와 제2 양자화부(953)에 대응될 수 있다.
도 9E는 도 9A 내지 도 9D에 있어서 제1 양자화부(911,931,951,971)을 2차원을 사용하는 TCVQ로 구현하는 경우 입력벡터의 구성을 보여준다. 통상적인 입력벡터(980)가 16개인 경우, 2차원을 사용하는 TCVQ의 입력벡터(990)는 8개가 될 수 있다.
이하에서는, 도 9B에 있어서 제1 양자화부(931)가 2차원을 사용하는 TCVQ로 구현되는 경우, 프레임내 예측과정을 구체적으로 설명하기로 한다.
먼저, 제1 양자화부(931)의 입력신호인
Figure PCTKR2015004577-appb-I000001
즉 예측잔차(prediction residual) 벡터는 하기 수학식 14와 같이 구할 수 있다.
수학식 14
Figure PCTKR2015004577-appb-M000014
여기서, M은 LPC 계수의 차수,
Figure PCTKR2015004577-appb-I000002
는 i번째 차수 에러벡터 즉,
Figure PCTKR2015004577-appb-I000003
의 추정치,
Figure PCTKR2015004577-appb-I000004
는 (i-1)번째 차수 에러벡터 즉,
Figure PCTKR2015004577-appb-I000005
의 양자화된 벡터, A i는 2X2의 예측 매트릭스를 나타낸다.
A i는 하기 수학식 15와 같이 나타낼 수 있다.
수학식 15
Figure PCTKR2015004577-appb-M000015
즉, 제1 양자화부(931)는 예측잔차(prediction residual) 벡터
Figure PCTKR2015004577-appb-I000006
를 양자화하고, 제1 양자화부(931)와 프레임내 예측기(932)는
Figure PCTKR2015004577-appb-I000007
를 양자화할 수 있으며, 그 결과 i번째 차수 에러벡터 즉,
Figure PCTKR2015004577-appb-I000008
의 양자화된 벡터
Figure PCTKR2015004577-appb-I000009
는 하기 수학식 16과 같이 나타낼 수 있다.
수학식 16
Figure PCTKR2015004577-appb-M000016
다음 표 3은 세이프티-넷 스킴에서 사용하는 BC-TCVQ 예를 들면 제1 양자화부(931)를 위한 프레임내 예측 계수의 예를 나타낸다.
표 3
계수 번호 계수값 (2 X 2)
A1 -0.452324 0.808759 -0.524298 0.305544
A2 0.009663 0.606028 -0.013208 0.421115
A3 0.144877 0.673495 0.080963 0.580317
A4 0.208825 0.633144 0.215958 0.574520
A5 0.050822 0.767842 0.076879 0.416693
A6 0.005058 0.550614 -0.006786 0.296984
A7 -0.023860 0.611144 -0.162706 0.576228
한편, 후술하는 도 10B에 있어서 제1 양자화부(1031)가 2차원을 사용하는 TCVQ로 구현되는 경우, 프레임내 예측과정을 구체적으로 설명하기로 한다.
이 경우, 제1 양자화부(1031)와 프레임내 예측기(1032)는
Figure PCTKR2015004577-appb-I000010
를 양자화할 수 있다. 제1 양자화부(1031)가 BC-TCVQ로 구현되는 경우, BC-TCVQ의 각 스테이지에 대한 최적 인덱스는 하기 수학식 17의 Ewerr(p)를 최소화하는 인덱스를 탐색하여 얻을 수 있다.
수학식 17
Figure PCTKR2015004577-appb-M000017
여기서, Pj는 j번째 서브 코드북에 있는 코드벡터의 개수,
Figure PCTKR2015004577-appb-I000011
는 j번째 서브 코드북의 p번째 코드벡터, wend(i)는 가중함수,
Figure PCTKR2015004577-appb-I000012
을 각각 나타낸다.
프레임내 예측기(1032)는 서로 다른 예측계수를 가지고, 세이프티-넷 스킴에서의 프레임내 예측과 동일한 과정을 사용할 수 있다.
즉, 제1 양자화부(1031)는 예측잔차(prediction residual) 벡터
Figure PCTKR2015004577-appb-I000013
를 양자화하고, 제1 양자화부(1031)와 프레임내 예측기(1032)는
Figure PCTKR2015004577-appb-I000014
를 양자화할 수 있으며, 그 결과
Figure PCTKR2015004577-appb-I000015
의 양자화된 벡터
Figure PCTKR2015004577-appb-I000016
는 하기 수학식 18과 같이 나타낼 수 있다.
수학식 18
Figure PCTKR2015004577-appb-M000018
다음 표 4는 예측 스킴에서 사용하는 BC-TCVQ 예를 들면 제1 양자화부(1031)를 위한 프레임내 예측 계수의 예를 나타낸다.
표 4
계수 번호 계수값 (2 X 2)
A1 -0.292479 0.676331 -0.422648 0.217490
A2 0.048957 0.500576 0.087301 0.287286
A3 0.199481 0.502784 0.106762 0.420907
A4 0.240459 0.440504 0.214255 0.396496
A5 0.193161 0.494850 0.158690 0.306771
A6 0.093435 0.370662 0.065526 0.148231
A7 0.037417 0.336906 -0.024246 0.187298
상기한 프레임내 예측과정은 각 실시예에 있어서, 제1 양자화부(931)가 2차원의 TCVQ로 구현되는 경우 동일하게 적용될 수 있고, 또한 제2 양자화부(933)의 존재와 상관없이 적용될 수 있다. 일실시예에 따르면, 프레임내 예측과정은 AR 방식을 사용할 수 있으나, 이에 한정되는 것은 아니다.
도 9A 및 도 9B에 도시된 제1 양자화모듈(900)은 제2 양자화부(913, 933) 없이도 구현될 수 있다. 이 경우, 1차원 혹은 N 차원의 서브벡터에 대한 양자화 에러에 대한 양자화 인덱스는 비트스트림에 포함되지 않을 수 있다.
도 10A 내지 도 10D는 도 6에 도시된 제2 양자화모듈의 다양한 구현예를 나타낸 블록도이다.
도 10A에 도시된 제2 양자화모듈(1000)은 도 9B의 구조에 프레임간 예측기(1014)를 더 추가한 것이다. 도 10A에 도시된 제2 양자화모듈(1000)은 제1 양자화부(1011)와 제2 양자화부(1013)에 프레임간 예측기(1014)를 더 포함할 수 있다. 프레임간 예측기(1014)는 이전 프레임에서 양자화된 LSF 계수를 이용하여 현재 프레임을 예측하는 기술이다. 프레임간 예측과정은 이전 프레임의 양자화된 값을 이용하여 현재 프레임에서 빼주고 양자화가 끝나면 그 기여분을 다시 더해주는 방식이다. 이때 예측 계수는 각 엘리먼트 별로 구해진다.
도 10B에 도시된 제2 양자화모듈(1000)은 도 10A의 구조에 프레임내 예측기(1032)를 더 추가한 것이다. 도 10B에 도시된 제2 양자화모듈(1000)은 제1 양자화부(1031), 제2 양자화부(1033), 프레임간 예측기(1034)에 프레임내 예측기(1032)를 더 포함할 수 있다. 제1 양자화부(1031)가 N차원(여기서, N은 2 이상) TCVQ 혹은 BC-TCVQ로 구현되는 경우, 제1 양자화부(1031)는 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 예측벡터간의 차이인 에러벡터를 양자화할 수 있다. 프레임내 예측기(1032)는 양자화된 예측 에러벡터로부터 예측벡터를 생성할 수 있다. 프레임간 예측기(1034)는 이전 프레임의 양자화된 N차원의 서브벡터로부터 현재 프레임의 예측벡터를 생성할 수 있다. 제2 양자화부(1033)는 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행할 수 있다.
좀 더 구체적으로 설명하면, 제1 양자화부(1031)는 현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 상기 현재 스테이지의 예측 벡터간의 차이인 에러벡터를 양자화할 수 있다. 프레임내 예측기(1032)는 이전 스테이지의 양자화된 예측 에러벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성할 수 있다. 제2 양자화부(1033)는 현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 현재 스테이지의 양자화된 예측에러벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성할 수 있다.
도 10C는 도 10B의 구조에서 코드북 공유를 위한 제2 양자화모듈(1000)을 나타낸다. 즉, 도 10B의 구조에서 BC-TCQ/BC-TCVQ의 코드북을 로우 레이트와 하이 레이트에서 공유하는 구조를 나타낸다. 도 10B에서 위쪽은 제2 양자화부(미도시)를 사용하지 않는 로우 레이트에 대한 출력을 의미하며, 아래쪽은 제2 양자화부(1063)를 사용하는 하이 레이트에 대한 출력을 의미한다.
도 10D는 도 10C의 구조에서 프레임내 예측기를 제외시켜 제2 양자화모듈(1000)을 구현한 예를 나타낸다.
상기한 프레임내 예측과정은 각 실시예에 있어서, 양자화부가 2차원의 TCVQ로 구현되는 경우 동일하게 적용될 수 있고, 또한 제2 양자화부(1033)의 존재와 상관없이 적용될 수 있다. 일실시예에 따르면, 프레임내 예측과정은 AR 방식을 사용할 수 있으나, 이에 한정되는 것은 아니다.
도 10A 및 도 10B에 도시된 제2 양자화모듈(1000)은 제2 양자화부(1013, 1033) 없이도 구현될 수 있다. 이 경우, 1차원 혹은 N차원의 예측에러 벡터에 대한 양자화 에러에 대한 양자화 인덱스는 비트스트림에 포함되지 않을 수 있다.
도 11A 내지 도 11F는 BC-TCVQ에 가중치를 적용하는 양자화기(1100)의 다양한 구현예를 나타낸 블록도이다.
도 11A는 기본적인 BC-TCVQ 양자화기를 나타낸 것으로서, 가중함수 산출부(1111)와 BC-TCVQ 부(1112)를 포함할 수 있다. BC-TCVQ에서 최적 인덱스를 구할 때 가중된 왜곡을 최소화하는 인덱스를 구하게 된다. 도 11B는 도 11A에서 프레임내 예측기(1123)를 추가한 구조를 나타낸다. 여기서 사용되는 프레임내 예측은 AR 방식을 이용할 수도 있고, MA 방식을 이용할 수도 있다. 실시예에 따르면, AR 방식을 이용하며, 사용되는 예측 계수는 미리 정의될 수 있다.
도 11C는 도 11B에서 추가적인 성능향상을 위해서 프레임간 예측기(1134)를 추가한 구조를 나타낸다. 도 11C는 예측 스킴에서 사용되는 양자화기의 예를 나타낸다. 여기서 사용되는 프레임간 예측은 AR 방식을 이용할 수도 있고, MA 방식을 이용할 수도 있다. 실시예에 따르면, AR 방식을 이용하며, 사용되는 예측 계수는 미리 정의될 수 있다. 양자화 과정은 살펴보면, 먼저 프레임간 예측을 이용하여 예측된 예측 에러값은 프레임내 예측을 이용하는 BC-TCVQ를 이용하여 양자화할 수 있다. 양자화 인덱스값은 복호화기로 전송된다. 복호화 과정을 살펴보면, 양자화된 BC-TCVQ의 결과에 프레임내 예측값을 더하여 양자화된 r(n)값을 구한다. 여기에 프레임간 예측기(1134)의 예측값을 더해준 후에 평균값을 더해주면 최종 양자화된 LSF 값이 결정된다.
도 11D는 도 11C에서 프레임내 예측기를 제외한 구조를 나타낸다. 도 11E는 제2 양자화부(1153)가 추가된 경우에 가중치를 어떻게 적용하는지에 대한 구조를 나타낸다. 가중함수 산출부(1151)에서 구해진 가중함수는 제1 양자화부(1152)와 제2 양자화부(1153) 모두에서 사용되며, 최적 인덱스는 가중된 왜곡을 이용하여 구한다. 제1 양자화부(1151)는 BC-TCQ, BC-TCVQ, TCQ, 또는 TCVQ로 구현될 수 있다. 제2 양자화부(1153)는 SQ, VQ, SVQ, 또는 MSVQ 로 구현될 수 있다. 도 11F는 도 11E에서 프레임내 예측기가 제외된 구조를 나타낸다.
도 11A 내지 도 11F에서 언급된 다양한 구조의 양자화기 형태를 조합하여 스위칭 구조의 양자화기를 구현할 수 있다.
도 12는 일실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 12에 도시된 양자화장치(1200)는 선택부(1210), 제1 양자화모듈(1230)과 제2 양자화모듈(1250)를 포함할 수 있다.
선택부(1210)는 예측에러에 근거하여, 세이프티-넷 스킴 혹은 예측 스킴 중에 하나를 양자화 스킴으로 선택할 수 있다.
제1 양자화모듈(1230)은 세이프티-넷 스킴이 선택된 경우, 프레임간 예측을 사용하지 않으면서 양자화를 수행하는 것으로서, 제1 양자화부(1231)와 제1 프레임내 예측기(1232)를 포함할 수 있다. 구체적으로, LSF 벡터는 제1 양자화부(1231)와 제1 프레임내 예측기(1232)에 의해 30비트로 양자화될 수 있다.
제2 양자화모듈(1250)은 예측 스킴이 선택된 경우, 프레임간 예측을 사용하여 양자화를 수행하는 것으로서, 제2 양자화부(1251), 제2 프레임내 예측기(1252)와 프레임간 예측기(1253)를 포함할 수 있다. 구체적으로, 평균값이 제거된 LSF 벡터와 예측벡터간의 차에 해당하는 예측 에러는 제2 양자화부(1251)와 제2 프레임내 예측기(1252)에 의해 30비트로 양자화될 수 있다.
도 12에 도시된 양자화장치는 VC 모드인 경우 31비트를 사용하는 LSF 계수 양자화의 예를 나타낸다. 도 12의 양자화장치에 있어서 제1 및 제2 양자화부(1231, 1251)는 도 13의 양자화장치에 있어서 제1 및 제2 양자화부(1331, 1351)와 코드북을 공유할 수 있다. 동작을 살펴보면, 입력된 LSF값 f(n)에서 평균값을 제거하여 z(n) 신호를 얻을 수 있다. 선택부(1210)에서는 이전 프레임에서 복호화된 z(n) 값을 이용하여 프레임간 예측한 p(n) 값과 z(n) 값, 가중함수, 예측 모드(pred_mode)를 이용하여 최적 양자화 스킴을 선택 혹은 결정할 수 있다. 선택 혹은 결정된 결과에 따라 세이프티-넷 스킴 혹은 예측 스킴 중 하나를 이용하여 양자화를 수행할 수 있다. 선택 혹은 결정된 양자화 스킴은 1비트로 부호화될 수 있다.
선택부(1210)에서 세이프티-넷 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)의 전체 입력 벡터는 제1 프레임내 예측기(1232)를 통하여 30비트를 사용하는 제1 양자화부(1231)를 이용하여 양자화가 이루어질 수 있다. 한편, 선택부(1210)에서 예측 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)은 프레임간 예측기(1253)를 이용한 예측 에러신호를 제2 프레임내 예측기(1252)를 통하여 30비트를 사용하는 제2 양자화부(1251)를 이용하여 양자화가 이루어질 수 있다. 제1, 제2 양자화부(1231, 1251)의 예로는 TCQ, TCVQ의 형태를 갖는 양자화기가 가능하다. 구체적으로 BC-TCQ 또는 BC-TCVQ 등이 가능하다. 이 경우 양자화기는 총 31비트를 이용하게 된다. 양자화된 결과는 로우 레이트의 양자화기 출력으로 사용되며, 양자화기의 주요 출력은 양자화된 LSF 벡터와 양자화 인덱스이다.
도 13은 일실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 13에 도시된 양자화장치(1300)는 선택부(1310), 제1 양자화모듈(1330)과 제2 양자화모듈(1350)를 포함할 수 있다. 도 12와 비교할 때, 제1 양자화모듈(1330)에 제3 양자화부(1333)가 추가되고, 제2 양자화모듈(1350)에 제4 양자화부(1353)가 추가된 차이점이 있다. 도 12 및 도 13에 있어서, 제1 양자화부(1231,1331)과 제2 양자화부(1251, 1351)은 각각 동일한 코드북을 사용할 수 있다. 즉, 도 12의 31 비트 LSF 양자화장치(1200)와 도 13의 41 비트 LSF 양자화장치(1300)는 BC-TCVQ에 대하여 동일한 코드북을 사용할 수 있다. 이에 따르면 최적 코드북이라고 할 수는 없지만 메모리 크기를 대폭 절감할 수 있다.
선택부(1310)는 예측에러에 근거하여, 세이프티-넷 스킴 혹은 예측 스킴 중에 하나를 양자화 스킴으로 선택할 수 있다.
제1 양자화모듈(1330)은 세이프티-넷 스킴이 선택된 경우, 프레임간 예측을 사용하지 않으면서 양자화를 수행하는 것으로서, 제1 양자화부(1331), 제1 프레임내 예측기(1332)와 제3 양자화부(1333)를 포함할 수 있다.
제2 양자화모듈(1350)은 예측 스킴이 선택된 경우, 프레임간 예측을 사용하여 양자화를 수행하는 것으로서, 제2 양자화부(1351), 제2 프레임내 예측기(1352), 제4 양자화부(1353) 및 프레임간 예측기(1354)를 포함할 수 있다.
도 13에 도시된 양자화장치는 VC 모드인 경우 41 비트를 사용하는 LSF 계수 양자화의 예를 나타낸다. 도 13의 양자화장치(1300)에 있어서 제1 및 제2 양자화부(1331, 1351)는 도 12의 양자화장치(1200)에 있어서 제1 및 제2 양자화부(1231, 1251)와 각각 코드북을 공유할 수 있다. 동작을 살펴보면, 입력된 LSF 값 f(n)에서 평균값을 제거하면 z(n)신호가 된다. 선택부(1310)에서는 이전 프레임에서 복호화된 z(n) 값을 이용하여 프레임간 예측한 p(n)값과 z(n)값, 가중함수, 예측모드(pred_mode)를 이용하여 최적 양자화 스킴을 결정할 수 있다. 선택 혹은 결정된 결과에 따라 세이프티-넷 스킴 혹은 예측 스킴 중 하나를 이용하여 양자화를 수행할 수 있다. 선택 혹은 결정된 양자화 스킴은 1비트로 부호화될 수 있다.
선택부(1310)에서 세이프티-넷 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)의 전체 입력 벡터는 제1 프레임내 예측기(1332)를 통하여 30비트를 사용하는 제1 양자화부(1331)를 이용하여 양자화 및 역양자화가 이루어질 수 있다. 한편, 원신호와 역양자화된 결과의 차이를 나타내는 제2 에러벡터는 제3 양자화부(1333)의 입력으로 제공될 수 있다. 제3 양자화부(1333)에서는 제2 에러벡터를 10비트를 사용하여 양자화할 수 있다. 제3 양자화부(1333)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
한편, 선택부(1310)에서 예측 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)로부터 프레임간 예측기(1354)로부터의 p(n)을 감산하여 얻어진 예측 에러신호를 30비트를 사용하여 제2 양자화부(1351)와 제2 프레임내 예측기(1352)에 의해 양자화 혹은 역양자화될 수 있다. 제1, 제2 양자화부(1331, 1231)의 예로는 TCQ, TCVQ의 형태를 갖는 양자화기가 가능하다. 구체적으로 BC-TCQ 또는 BC-TCVQ 등이 가능하다. 한편, 원신호와 역양자화된 결과의 차이를 나타내는 제2 에러벡터는 제4 양자화부(1353)의 입력으로 제공될 수 있다. 제4 양자화부(1353)에서는 제2 에러벡터를 10비트를 사용하여 양자화할 수 있다. 여기서, 제2 에러벡터는 8X8 차원의 두개의 서브벡터로 분할되어 제4 양자화부(1353)에서 양자화될 수 있다. 저대역이 고대역보다 인지적으로 중요하기 때문에, 첫번째 VQ와 두번째 VQ에 서로 다른 비트수를 할당하여 부호화할 수 있다. 제4 양자화부(1353)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
이 경우 양자화기는 총 41비트를 이용하게 된다. 양자화된 결과는 하이 레이트의 양자화기 출력으로 사용되며, 양자화기의 주요 출력은 양자화된 LSF 벡터와 양자화 인덱스이다.
결과적으로 도 12와 도 13을 동시에 사용하는 경우, 도 12의 제1 양자화부(1231)와 도 13의 제1 양자화부(1331)가 양자화 코드북을 공유하며, 도 12의 제2 양자화부(1251)와 도 13의 제2 양자화부(1351)가 양자화 코드북을 공유하면, 전체적으로 코드북 메모리를 대폭 절감할 수 있다. 한편, 추가적인 코드북 메모리 절감을 위해 도 13의 제3 양자화부(1333)와 제4 양자화부(1353)의 양자화 코드북도 공유될 수 있다. 이 경우, 제3 양자화부(1333)의 입력 분포가 제4 양자화부(1353)와 상이하기 때문에, 입력 분포간 차이를 보상하기 위하여 스케일링 팩터가 사용될 수 있다. 스케일링 팩터는 제3 양자화부(1333)의 입력과 제4 양자화부(1353)의 입력 분포를 고려하여 산출될 수 있다. 실시예에 따르면, 제3 양자화부(1333)의 입력신호는 스케일링 팩터로 나누고, 그 결과 얻어지는 신호를 제3 양자화부(1333)에서 양자화할 수 있다. 제3 양자화부(1333)에서 양자화된 신호는 제3 양자화부(1333)의 출력을 스케일링 팩터로 승산하여 얻을 수 있다. 이와 같이, 제3 양자화부(1333) 혹은 제4 양자화부(1353)의 입력에 대하여 적절한 스케일링을 한 다음 양자화를 하면 성능을 최대한 유지하면서 코드북을 공유할 수 있다.
도 14는 다른 실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 14의 양자화장치(1400)에 있어서, 제1 양자화모듈(1430)과 제2 양자화모듈(1450)에서 사용중인 제1 양자화부(1431)와 제2 양자화부(1451)은 도 9C 및 도 9D의 로우 레이트 부분이 적용될 수 있다. 동작을 살펴보면, 가중함수 산출부(1400)에서는 입력된 LSF값을 이용하여 가중함수 w(n)을 구할 수 있다. 구해진 가중함수 w(n)은 선택부(1410), 제1 양자화부(1431) 및 제2 양자화부(1451)에서 사용될 수 있다. 한편, LSF값 f(n)에서 평균값을 제거하여 z(n) 신호를 얻을 수 있다. 선택부(1410)에서는 이전 프레임에서 복호화된 z(n)값을 이용하여 프레임간 예측한 p(n)값과 z(n)값, 가중함수, 예측모드(pred_mode)를 이용하여 최적 양자화 스킴을 결정할 수 있다. 선택 혹은 결정된 결과에 따라 세이프티-넷 스킴 혹은 예측 스킴 중 하나를 이용하여 양자화를 수행할 수 있다. 선택 혹은 결정된 양자화 스킴은 1비트로 부호화될 수 있다.
선택부(1410)에서 세이프티-넷 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)은 제 1양자화부(1431)에서 양자화될 수 있다. 제1 양자화부(1431)는 도 9C 및 도 9D에서 설명한 것과 같이 높은 성능을 위해 프레임내 예측을 사용할 수도 있으며, 낮은 복잡도를 위해 제외하여 사용할 수도 있다. 프레임내 예측부를 사용하는 경우에는 전체 입력 벡터를 프레임내 예측을 통하여 TCQ 또는 TCVQ를 이용하여 양자화하는 제 1 양자화부(1431)로 제공할 수 있다.
선택부(1410)에서 예측 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)은 프레임간 예측을 이용한 예측 에러신호를 프레임내 예측을 통하여 TCQ 또는 TCVQ를 이용하여 양자화하는 제 2 양자화부(1451)로 제공할 수 있다. 제1, 제2 양자화부(1431, 1451)의 예로는 TCQ, TCVQ의 형태를 갖는 양자화기가 가능하다. 구체적으로 BC-TCQ 또는 BC-TCVQ 등이 가능하다. 양자화된 결과는 로우 레이트의 양자화기 출력으로 사용된다.
도 15는 다른 실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 15에 도시된 양자화장치(1500)는 선택부 (1510), 제1 양자화모듈(1530)과 제2 양자화모듈(1550)를 포함할 수 있다. 도 14와 비교할 때, 제1 양자화모듈(1530)에 제3 양자화부(1532)가 추가되고, 제2 양자화모듈(1550)에 제4 양자화부(1552)가 추가된 차이점이 있다. 도 14 및 도 15에 있어서, 제1 양자화부(1431,1531)과 제2 양자화부(1451, 1551)은 각각 동일한 코드북을 사용할 수 있다. 이에 따르면 최적 코드북이라고 할 수는 없지만 메모리 크기를 대폭 절감할 수 있다. 동작을 살펴보면, 선택부(1510)에서 세이프티-넷 스킴으로 선택되면, 제1 양자화부(1531)에서 제 1 양자화 및 역양자화를 수행하게 되고, 원신호와 역양자화된 결과의 차이를 의미하는 제2 에러벡터는 제3 양자화부(1532)의 입력으로 제공될 수 있다. 제3 양자화부(1532)에서는 제2 에러벡터를 양자화할 수 있다. 제3 양자화부(1532)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
한편, 선택부(1510)에서 예측 스킴으로 선택되면, 제2 양자화부(1551)에서는 양자화 및 역양자화를 수행하게 되고, 원신호와 역양자화된 결과의 차이를 의미하는 제2 에러벡터는 제4 양자화부(1552)의 입력으로 제공될 수 있다. 제4 양자화부(1552)에서는 제2 에러벡터를 양자화할 수 있다. 제4 양자화부(1552)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
도 16은 다른 실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 16에 도시된 LPC 계수 양자화부(1600)는 선택부(1610), 제1 양자화모듈(1630), 제2 양자화모듈(1650) 및 가중함수 산출부(1670)를 포함할 수 있다. 도 6에 도시된 LPC 계수 양자화부(600)와 비교할 때 가중함수 산출부(1670)를 더 포함하는 차이점이 있다. 도 16과 관련된 세부적 구현예는 도 11A 내지 도 11F에 도시되어 있다.
도 17은 일실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 17에 도시된 양자화장치(1700)는 제1 양자화모듈(1710), 제2 양자화모듈(1730) 및 선택부(1750)을 포함할 수 있다. 제1 양자화모듈(1710)은 제1 양자화부(1711), 제1 프레임내 예측기(1712), 및 제3 양자화부(1713)을 포함하고, 제2 양자화모듈(1730)은 제2 양자화부(1731), 제2 프레임내 예측기(1732), 제4 양자화부(1733) 및 프레임간 예측기(1734)를 포함할 수 있다.
도 17을 참조하면, 제1 양자화모듈(1710)에 있어서, 제1 양자화부(1711)에서는 전체 입력 벡터를 제1 프레임내 예측기(1712)를 통하여 BC-TCVQ 또는 BC-TCQ를 이용하여 양자화할 수 있다. 제3 양자화부(1713)에서는 양자화 에러 신호를 VQ로 양자화할 수 있다.
제2 양자화모듈(1730)에 있어서, 제2 양자화부(1731)에서는 프레임간 예측기(1734)를 이용한 예측 에러신호를 제2 프레임내 예측기(1732)를 통하여 BC-TCVQ 또는 BC-TCQ를 이용하여 양자화할 수 있다. 제4 양자화부(1733)에서는 양자화 에러 신호를 VQ로 양자화할 수 있다.
선택부(1750)는 제1 양자화모듈(1710)의 출력과 제2 양자화모듈(1730)의 출력 중 하나를 선택할 수 있다.
도 17에 있어서, 세이프티-넷 스킴은 도 9B와 동일하고, 예측 스킴은 도 10B와 동일하다. 여기서 프레임간 예측은 AR 방식과 MA 방식 중 하나를 이용할 수 있다. 실시예에 따르면 1st order AR 방식을 이용한 예를 나타낸다. 예측 계수는 미리 정의되며, 예측을 위한 과거 벡터는 이전 프레임에서 두 개의 스킴 중에서 최적 벡터로 선택된 벡터를 이용한다.
도 18은 다른 실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 17과 비교할 때 프레임내 예측기를 제외하여 구현한 예이다. 도 18에 도시된 양자화장치(1800)는 제1 양자화모듈(1810), 제2 양자화모듈(1830) 및 선택부(1850)을 포함할 수 있다. 제1 양자화모듈(1810)은 제1 양자화부(1811), 및 제3 양자화부(1812)을 포함하고, 제2 양자화모듈(1830)은 제2 양자화부(1831), 제4 양자화부(1832) 및 프레임간 예측기(1833)를 포함할 수 있다.
도 18을 참조하면, 선택부(1850)은 제1 양자화모듈(1810)의 출력과 제2 양자화모듈(1830)의 출력을 이용한 가중된 왜곡을 입력으로 하여 최적 양자화 스킴을 선택 혹은 결정할 수 있다. 최적 양자화 스킴을 결정하는 과정을 살펴보면 다음과 같다.
if ( ((predmode!=0) && (WDist[0]<PREFERSFNET*WDist[1]))
||(predmode == 0)
||(WDist[0]<abs_threshold) )
{
safety_net = 1;
}
else{
safety_net = 0;
}
여기서 예측모드(predmode)가 0인 경우에는 항상 세이프티-넷 스킴만을 사용하는 모드를 의미하며 0이 아닌 경우에는 세이프티-넷 스킴과 예측 스킴을 스위칭하여 사용하는 것을 의미한다. 항상 세이프티-넷 스킴만을 사용하는 모드의 예로는 TC 혹은 UC 모드를 들 수 있다. 그리고 WDist[0]은 세이프티-넷 스킴의 가중된 왜곡을 의미하며, WDist[1]은 예측 스킴의 가중된 왜곡을 의미한다. 또한, abs_threshold는 미리 설정된 임계치를 나타낸다. 예측모드가 0이 아닌 경우는 프레임 에러를 고려하여 세이프티-넷 스킴의 가중된 왜곡에 우선하여 최적 양자화 스킴을 선택할 수 있다. 즉, 기본적으로 WDist[0]의 값이 사전에 정의된 임계치보다 적을 때는 WDist[1]의 값에 상관없이 세이프티-넷 스킴이 선택될 수 있다. 그 이외의 경우에도 단순히 가중된 왜곡이 적은 것을 선택하는 것이 아니라 동일한 가중된 왜곡에서는 세이프티-넷 스킴이 선택될 수 있다. 그 이유는 세이프티-넷 스킴이 프레임 에러에 더 강인하기 때문이다. 따라서, WDist[0]가 PREFERSFNET*WDist[1]보다 큰 경우에만 예측 스킴이 선택될 수 있다. 여기서 사용가능한 PREFERSFNET=1.15이나, 이에 한정되는 것은 아니다. 이와 같이 양자화 스킴이 선택되면, 선택된 양자화 스킴을 나타내는 비트정보와 선택된 양자화 스킴으로 양자화하여 얻어지는 양자화 인덱스를 전송할 수 있다.
도 19는 일실시예에 따른 역양자화장치의 구성을 나타낸 블록도이다.
도 19에 도시된 역양자화장치(1900)는 선택부(1910), 제1 역양자화모듈(1930)과 제2 역양자화모듈(1950)을 포함할 수 있다.
도 19를 참조하면, 선택부(1910)는 비트스트림에 포함된 양자화스킴 정보에 근거하여, 부호화된 LPC 파라미터 예를 들면 예측잔차(prediction residual)을 제1 역양자화모듈(1930)과 제2 역양자화모듈(1950) 중 하나로 제공할 수 있다. 일예로, 양자화스킴 정보는 1 비트로 표현될 수 있다.
제1 역양자화모듈(1930)은 부호화된 LPC 파라미터, 예를 들면 양자화 인덱스를 프레임간 예측없이 역양자화할 수 있다.
제2 역양자화모듈(1950)은 부호화된 LPC 파라미터, 예를 들면 양자화 인덱스를 프레임간 예측을 통하여 역양자화할 수 있다.
제1 역양자화모듈(1930)과 제2 역양자화모듈(1950)은 복호화장치에 대응하는 부호화장치에 따라서, 전술한 다양한 실시예의 각 제1 및 제2 양자화모듈의 역처리에 근거하여 구현될 수 있다.
도 19의 역양자화장치는 양자화기 구조가 개루프(open-loop) 방식 혹은 폐루프(closed-loop) 방식에 상관없이 적용할 수 있다.
16 kHz 내부 샘플링 주파수에서 VC 모드는 예를 들면, 프레임당 31 비트와 프레임당 40 혹은 41 비트의 두가지 디코딩 레이트를 가질 수 있다. VC 모드는 예를 들면, 16 스테이트 8 스테이지 BC-TCVQ에 의해 복호화될 수 있다.
도 20은 일실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도로서, 31 비트의 엔코딩 레이트를 사용하는 경우에 해당할 수 있다. 도 20에 도시된 역양자화장치(2000)는 선택부(2010), 제1 역양자화모듈(2030) 및 제2 역양자화모듈(2050)을 포함할 수 있다. 제1 역양자화모듈(2030)는 제1 역양자화부(2031) 및 제1 프레임내 예측기(2032)를 포함할 수 있고, 제2 역양자화모듈(2050)는 제2 역양자화부(2051), 제2 프레임내 예측기(2052) 및 프레임간 예측기(2053)를 포함할 수 있다. 도 20의 역양자화장치는 도 12의 양자화장치에 대응될 수 있다.
도 20을 참조하면, 선택부(2010)는 비트스트림에 포함된 양자화스킴 정보에 근거하여 부호화된 LPC 파라미터를 제1 역양자화모듈(2030)과 제2 역양자화모듈(2050) 중 하나로 제공할 수 있다.
양자화스킴 정보가 세이프티-넷 스킴을 나타내는 경우, 제1 역양자화모듈(2030)에 있어서 제1 역양자화부(2031)는 TCQ, TCVQ, BC-TCQ, 혹은 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 제1 역양자화부(2031)와 제1 프레임내 예측기(2032)를 통하여 양자화된 LSF 계수를 얻을 수 있다. 양자화된 LSF 계수에 소정의 DC 값인 평균값을 가산하면 최종 복호화된 LSF 계수가 생성된다.
한편, 양자화스킴 정보가 예측 스킴을 나타내는 경우, 제2 역양자화모듈(2050)에 있어서 제2 역양자화부(2051)는 TCQ, TCVQ, BC-TCQ, 혹은 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 역양자화 과정은 LSF 벡터 중 가장 낮은 벡터에서부터 시작하며, 프레임내 예측기(2052)는 복호화된 벡터를 이용하여 다음 순서의 벡터 요소를 위한 예측값을 생성한다. 프레임간 예측기(2053)는 이전 프레임에서 복호화된 LSF 계수를 이용하여 프레임간 예측을 통하여 예측값을 생성한다. 제2 양자화부(2051)와 프레임내 예측기(2052)를 통하여 얻어지는 양자화된 LSF 계수에 프레임간 예측기(2053)에서 얻어지는 프레임간 예측값을 가산하고, 가산결과에 소정의 DC 값인 평균값을 더하면 최종 복호화된 LSF 계수가 생성된다.
도 20에 도시된 복호화 과정을 구체적으로 설명하면 다음과 같다.
세이프티-넷 스킴이 사용되는 경우,
Figure PCTKR2015004577-appb-I000017
의 복호화는 하기 수학식 19에 의해 수행될 수 있다.
수학식 19
Figure PCTKR2015004577-appb-M000019
여기서, 예측 잔차(prediction residual),
Figure PCTKR2015004577-appb-I000018
는 제1 역양자화부(2031)에 의해 복호화될 수 있다.
한편, 예측 스킴이 사용되는 경우, 예측 벡터 pk(i)는 하기 수학식 20에 의해 얻어질 수 있다.
수학식 20
Figure PCTKR2015004577-appb-M000020
여기서, ρ(i)는 특정 내부 샘플링 주파수에서 특정 부호화모드, 예를 들면 16 kHz에서 VC 모드에 대하여 선택된 AR 예측계수, M은 LPC 차수를 나타낸다. 한편,
Figure PCTKR2015004577-appb-I000019
으로 나타낼 수 있다.
한편,
Figure PCTKR2015004577-appb-I000020
의 복호화는 하기 수학식 21에 의해 수행될 수 있다.
수학식 21
Figure PCTKR2015004577-appb-M000021
여기서, 예측 잔차(prediction residual),
Figure PCTKR2015004577-appb-I000021
는 제2 역양자화부(2051)에 의해 복호화될 수 있다.
예측 스킴에 대한 양자화된 LSF 벡터
Figure PCTKR2015004577-appb-I000022
는 하기 수학식 22에 의해 얻어질 수 있다.
수학식 22
Figure PCTKR2015004577-appb-M000022
여기서, m(i)는 특정 부호화 모드, 예를 들면 VC 모드에서 평균 벡터를 나타낸다. 한편,
Figure PCTKR2015004577-appb-I000023
으로 나타낼 수 있다.
세이프티-넷 스킴에 대한 양자화된 LSF 벡터
Figure PCTKR2015004577-appb-I000024
는 하기 수학식 23에 의해 얻어질 수 있다.
수학식 23
Figure PCTKR2015004577-appb-M000023
여기서, m(i)는 특정 부호화 모드, 예를 들면 VC 모드에서 평균 벡터를 나타낸다. 한편,
Figure PCTKR2015004577-appb-I000025
으로 나타낼 수 있다.
도 21은 다른 실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도로서, 41 비트의 엔코딩 레이트를 사용하는 경우에 해당할 수 있다. 도 21에 도시된 역양자화장치(2100)는 선택부(2110), 제1 역양자화모듈(2130) 및 제2 역양자화모듈(2150)을 포함할 수 있다. 제1 역양자화모듈(2130)는 제1 역양자화부(2131), 제1 프레임내 예측기(2132) 및 제3 역양자화부(2133)를 포함할 수 있고, 제2 역양자화모듈(2150)는 제2 역양자화부(2151), 제2 프레임내 예측기(2152), 제4 역양자화부(2153) 및 프레임간 예측기(2154)를 포함할 수 있다. 도 21의 역양자화장치는 도 13의 양자화장치에 대응될 수 있다.
도 21을 참조하면, 선택부(2110)는 비트스트림에 포함된 양자화스킴 정보에 근거하여 부호화된 LPC 파라미터를 제1 역양자화모듈(2130)과 제2 역양자화모듈(2150) 중 하나로 제공할 수 있다.
양자화스킴 정보가 세이프티-넷 스킴을 나타내는 경우, 제1 역양자화모듈(2130)에 있어서 제1 역양자화부(2131)는 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 제3 역양자화부(2133)는 SVQ를 사용하여 역양자화를 수행할 수 있다. 제1 역양자화부(2131)와 제1 프레임내 예측기(2132)를 통하여 양자화된 LSF 계수를 얻을 수 있다. 양자화된 LSF 계수와 제3 역양자화부(2133)로부터 얻어지는 양자화된 LSF 계수를 가산하고, 가산결과에 소정의 DC 값인 평균값을 더하면 최종 복호화된 LSF 계수가 생성된다.
한편, 양자화스킴 정보가 예측 스킴을 나타내는 경우, 제2 역양자화모듈(2150)에 있어서 제2 역양자화부(2151)는 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 역양자화 과정은 LSF 벡터 중 가장 낮은 벡터에서부터 시작하며, 제2 프레임내 예측기(2152)는 복호화된 벡터를 이용하여 다음 순서의 벡터 요소를 위한 예측값을 생성한다. 제4 역양자화부(2153)는 SVQ를 사용하여 역양자화를 수행할 수 있다. 제2 역양자화부(2151)와 제2 프레임내 예측기(2152)를 통하여 얻어지는 양자화된 LSF 계수에 제4 역양자화부(2153)로부터 제공되는 양자화된 LSF 계수를 가산할 수 있다. 프레임간 예측기(2154)는 이전 프레임에서 복호화된 LSF 계수를 이용하여 프레임간 예측을 통하여 예측값을 생성할 수 있다. 가산 결과에 프레임간 예측기(2153)에서 얻어지는 프레임간 예측값을 더하고, 소정의 DC 값인 평균값을 더하면 최종 복호화된 LSF 계수가 생성된다.
여기서, 제3 역양자화부(2133)와 제4 역양자화부(2153)는 코드북을 공유할 수 있다.
도 21에 도시된 복호화 과정을 구체적으로 설명하면 다음과 같다.
스킴 선택 및 제1 및 제2 역양자화부(2131,2151)의 복호화처리는 도 20에서와 동일하며,
Figure PCTKR2015004577-appb-I000026
Figure PCTKR2015004577-appb-I000027
의 복호화는 제3 및 제4 역양자화부(2133, 2153)에 의해 수행될 수 있다.
한편, 예측 스킴에 대한 양자화된 LSF 벡터
Figure PCTKR2015004577-appb-I000028
는 하기 수학식 24에 의해 얻어질 수 있다.
수학식 24
Figure PCTKR2015004577-appb-M000024
여기서,
Figure PCTKR2015004577-appb-I000029
는 제2 양자화부(2151) 및 제2 프레임내 예측기(2152)로부터 얻어질 수 있다.
세이프티-넷 스킴에 대한 양자화된 LSF 벡터
Figure PCTKR2015004577-appb-I000030
는 하기 수학식 25에 의해 얻어질 수 있다.
수학식 25
여기서,
Figure PCTKR2015004577-appb-I000031
는 제1 양자화부(2131) 및 제1 프레임내 예측기(2132)로부터 얻어질 수 있다.
한편, 도시되지는 않았으나, 도 19 내지 도 21의 역양자화장치는 도 2에 대응되는 복호화장치의 구성요소로서 사용될 수 있다.
한편, 각 수학식에 있어서 k는 프레임을, i 혹은 j는 스테이지를 나타낼 수 있다.
한편, LPC 계수 양자화/역양자화와 관련하여 채용되는 BC-TCQ와 관련된 내용은 "Block Constrained Trellis Coded Vector Quantization of LSF Parameters for Wideband Speech Codecs" (Jungeun Park and Sangwon Kang, ETRI Journal, Volume 30, Number 5, October 2008)에 자세히 설명되어 있다. 한편, TCVQ와 관련된 내용은 "Trellis Coded Vector Quantization" (Thomas R. Fischer et al, IEEE Transactions on Information Theory, Vol. 37, No. 6, November 1991)에 자세히 설명되어 있다.
상기 실시예들에 따른 양자화방법, 역영자화방법, 부호화방법, 및 복호화방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예들에서 사용될 수 있는 데이터 구조, 프로그램 명령, 혹은 데이터 파일은 컴퓨터로 읽을 수 있는 기록매체에 다양한 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함할 수 있다. 컴퓨터로 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 컴퓨터로 읽을 수 있는 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 전송 매체일 수도 있다. 프로그램 명령의 예로는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상과 같이 본 발명의 일실시예는 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명의 일실시예는 상기 설명된 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 스코프는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 이의 균등 또는 등가적 변형 모두는 본 발명 기술적 사상의 범주에 속한다고 할 것이다.

Claims (28)

  1. N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 트렐리스 구조 벡터양자화기; 및
    양자화된 N차원 서브벡터로부터 상기 제1 예측벡터를 생성하는 프레임내 예측기를 포함하고,
    상기 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행하는 양자화장치.
  2. 제1 항에 있어서, 상기 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함하는 양자화장치.
  3. 제1 항에 있어서, 상기 트렐리스 구조 벡터양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기를 더 포함하는 양자화장치.
  4. 제3 항에 있어서, 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함하는 양자화장치.
  5. 제1 항 또는 제3 항에 있어서, 상기 트렐리스 구조 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  6. 제2 항 또는 제4 항에 있어서, 상기 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  7. 프레임간 예측없이 양자화를 수행하는 제1 양자화모듈; 및
    프레임간 예측에 근거하여 양자화를 수행하는 제2 양자화모듈를 포함하며,
    상기 제1 양자화모듈은
    N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 제1 트렐리스 구조 벡터양자화기; 및
    양자화된 N차원 서브벡터로부터 상기 제1 예측벡터를 생성하는 제1 프레임내 예측기를 포함하고,
    상기 제1 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행하는 양자화장치.
  8. 제7 항에 있어서, 상기 제2 양자화모듈은
    상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 제2 트렐리스 구조 벡터양자화기; 및
    양자화된 예측 에러벡터로부터 상기 제2 예측벡터를 생성하는 제2 프레임내 예측기를 포함하며,
    상기 제2 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행하는 양자화장치.
  9. 제7 항에 있어서, 오픈 루프 방식으로 상기 제1 양자화 모듈 혹은 상기 제2 양자화모듈에 선택하는 선택부를 더 포함하는 양자화장치.
  10. 제7 항에 있어서, 상기 제1 양자화모듈은 상기 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 제1 벡터양자화기를 더 포함하는 양자화장치.
  11. 제7 항에 있어서, 상기 제2 양자화모듈은 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 제2 벡터양자화기를 더 포함하는 양자화장치.
  12. 제7 항 또는 제8 항에 있어서, 상기 제1 혹은 제2 트렐리스 구조 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  13. 제10 항 또는 제11 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  14. 제10 항 또는 제11 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 코드북을 공유하는 양자화장치.
  15. 이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 인트라 프레임 예측기; 및,
    상기 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 제1 에러벡터를 양자화하여 양자화된 제1 에러벡터를 생성하는 벡터 양자화기를 포함하고,
    상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성되는 양자화장치.
  16. 제15 항에 있어서, 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성하는 에러 벡터 양자화기를 더 포함하는 양자화장치.
  17. 제15 항에 있어서, 상기 벡터 양자화기가 현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 상기 현재 스테이지의 예측 벡터간의 차이인 제2 에러벡터를 양자화하여 양자화된 제2 에러벡터를 생성하는 경우, 상기 인트라 프레임 예측기는 이전 스테이지의 양자화된 예측 에러벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 양자화장치.
  18. 제17 항에 있어서, 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 에러 벡터 양자화기를 더 포함하는 양자화장치.
  19. 제15 항 또는 제17 항에 있어서, 상기 벡터 양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  20. 제16 항 또는 제18 항에 있어서, 상기 에러 벡터 양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  21. 프레임간 예측없이 양자화를 수행하는 제1 양자화모듈; 및
    프레임간 예측에 근거하여 양자화를 수행하는 제2 양자화모듈를 포함하며,
    상기 제1 양자화모듈은
    이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 제1 인트라 프레임 예측기; 및,
    상기 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 제1 에러벡터를 양자화하여 양자화된 제1 에러벡터를 생성하는 제1 벡터 양자화기를 포함하고,
    상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성된 것을 특징으로 하는 양자화장치.
  22. 제21 항에 있어서, 상기 제2 양자화모듈은
    이전 스테이지의 양자화된 예측 에러벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 제2 인트라 프레임 예측기; 및,
    현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 상기 현재 스테이지의 예측 벡터간의 차이인 제2 에러벡터를 양자화하여 양자화된 제2 에러벡터를 생성하는 제2 벡터 양자화기를 포함하고,
    상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성된 것을 특징으로 하는 양자화장치.
  23. 제21 항에 있어서, 오픈 루프 방식으로 상기 제1 양자화 모듈 혹은 상기 제2 양자화모듈에 선택하는 선택부를 더 포함하는 양자화장치.
  24. 제21 항에 있어서, 상기 제1 양자화모듈은 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성하는 제1 에러 벡터양자화기를 더 포함하는 양자화장치.
  25. 제22 항에 있어서, 상기 제2 양자화모듈은 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 제2 에러 벡터 양자화기를 더 포함하는 양자화장치.
  26. 제21 항 또는 제22 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  27. 제24 항 또는 제25 항에 있어서, 상기 제1 혹은 제2 에러 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  28. 제21 항 또는 제22 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 코드북을 공유하는 양자화장치.
PCT/KR2015/004577 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치 WO2015170899A1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US15/309,334 US10504532B2 (en) 2014-05-07 2015-05-07 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
KR1020227016454A KR102593442B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
KR1020237035370A KR20230149335A (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
CN201580037280.6A CN107077857B (zh) 2014-05-07 2015-05-07 对线性预测系数量化的方法和装置及解量化的方法和装置
EP24167654.3A EP4418266A3 (en) 2015-05-07 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
EP15789302.5A EP3142110B1 (en) 2014-05-07 2015-05-07 Device for quantizing linear predictive coefficient
KR1020167031128A KR102400540B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
EP24167632.9A EP4375992A3 (en) 2014-05-07 2015-05-07 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
US16/700,246 US11238878B2 (en) 2014-05-07 2019-12-02 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
US17/571,597 US11922960B2 (en) 2014-05-07 2022-01-10 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201461989725P 2014-05-07 2014-05-07
US61/989,725 2014-05-07
US201462029687P 2014-07-28 2014-07-28
US62/029,687 2014-07-28

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/309,334 A-371-Of-International US10504532B2 (en) 2014-05-07 2015-05-07 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same
US16/700,246 Continuation US11238878B2 (en) 2014-05-07 2019-12-02 Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same

Publications (1)

Publication Number Publication Date
WO2015170899A1 true WO2015170899A1 (ko) 2015-11-12

Family

ID=54392696

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/004577 WO2015170899A1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Country Status (5)

Country Link
US (3) US10504532B2 (ko)
EP (2) EP3142110B1 (ko)
KR (3) KR102593442B1 (ko)
CN (3) CN112927702A (ko)
WO (1) WO2015170899A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899748A (zh) * 2020-04-15 2020-11-06 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240010550A (ko) 2014-03-28 2024-01-23 삼성전자주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
WO2015170899A1 (ko) 2014-05-07 2015-11-12 삼성전자 주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
US11270187B2 (en) * 2017-11-07 2022-03-08 Samsung Electronics Co., Ltd Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
KR20210133554A (ko) * 2020-04-29 2021-11-08 한국전자통신연구원 선형 예측 코딩을 이용한 오디오 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화기 및 복호화기
CN115277323A (zh) * 2022-07-25 2022-11-01 Oppo广东移动通信有限公司 数据帧传输方法、装置、芯片、存储介质和蓝牙设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074561A (ko) * 2003-02-19 2004-08-25 삼성전자주식회사 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치
KR100728056B1 (ko) * 2006-04-04 2007-06-13 삼성전자주식회사 다중 경로 트랠리스 부호화 양자화 방법 및 이를 이용한다중 경로 트랠리스 부호화 양자화 장치
KR20080092770A (ko) * 2007-04-13 2008-10-16 한국전자통신연구원 트렐리스 부호 양자화 알로리즘을 이용한 광대역 음성부호화기용 lsf 계수 양자화 장치 및 방법
KR20090070554A (ko) * 2007-12-27 2009-07-01 삼성전자주식회사 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법및 장치
KR20120120086A (ko) * 2011-04-21 2012-11-01 삼성전자주식회사 선형예측계수 양자화방법, 사운드 부호화방법, 선형예측계수 역양자화방법, 사운드 복호화방법, 그 기록매체

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1341126A3 (en) 1992-09-01 2004-02-04 Apple Computer, Inc. Image compression using a shared codebook
US5596659A (en) 1992-09-01 1997-01-21 Apple Computer, Inc. Preprocessing and postprocessing for vector quantization
IT1271959B (it) * 1993-03-03 1997-06-10 Alcatel Italia Codec per il parlato a predizione lineare eccitato da un libro di codici
GB2282943B (en) 1993-03-26 1998-06-03 Motorola Inc Vector quantizer method and apparatus
JP3557255B2 (ja) 1994-10-18 2004-08-25 松下電器産業株式会社 Lspパラメータ復号化装置及び復号化方法
US5774839A (en) 1995-09-29 1998-06-30 Rockwell International Corporation Delayed decision switched prediction multi-stage LSF vector quantization
JP3246715B2 (ja) * 1996-07-01 2002-01-15 松下電器産業株式会社 オーディオ信号圧縮方法,およびオーディオ信号圧縮装置
US6904404B1 (en) 1996-07-01 2005-06-07 Matsushita Electric Industrial Co., Ltd. Multistage inverse quantization having the plurality of frequency bands
US6055496A (en) * 1997-03-19 2000-04-25 Nokia Mobile Phones, Ltd. Vector quantization in celp speech coder
US5974181A (en) * 1997-03-20 1999-10-26 Motorola, Inc. Data compression system, method, and apparatus
TW408298B (en) 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization
US6125149A (en) 1997-11-05 2000-09-26 At&T Corp. Successively refinable trellis coded quantization
US6324218B1 (en) 1998-01-16 2001-11-27 At&T Multiple description trellis coded quantization
US7072832B1 (en) 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6959274B1 (en) 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
AU7486200A (en) * 1999-09-22 2001-04-24 Conexant Systems, Inc. Multimode speech encoder
JP3404024B2 (ja) 2001-02-27 2003-05-06 三菱電機株式会社 音声符号化方法および音声符号化装置
KR20020075592A (ko) * 2001-03-26 2002-10-05 한국전자통신연구원 광대역 음성 부호화기용 lsf 양자화기
JP2003140693A (ja) * 2001-11-02 2003-05-16 Sony Corp 音声復号装置及び方法
CA2388358A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for multi-rate lattice vector quantization
US20070067166A1 (en) 2003-09-17 2007-03-22 Xingde Pan Method and device of multi-resolution vector quantilization for audio encoding and decoding
KR20060068278A (ko) * 2004-12-16 2006-06-21 한국전자통신연구원 분산 음성 인식 시스템에서의 멜켑스트럼 계수의 양자화방법 및 장치
CN101089951B (zh) * 2006-06-16 2011-08-31 北京天籁传音数字技术有限公司 频带扩展编码方法及装置和解码方法及装置
US8589151B2 (en) 2006-06-21 2013-11-19 Harris Corporation Vocoder and associated method that transcodes between mixed excitation linear prediction (MELP) vocoders with different speech frame rates
US7414549B1 (en) 2006-08-04 2008-08-19 The Texas A&M University System Wyner-Ziv coding based on TCQ and LDPC codes
BRPI0721079A2 (pt) 2006-12-13 2014-07-01 Panasonic Corp Dispositivo de codificação, dispositivo de decodificação e método dos mesmos
US8249860B2 (en) * 2006-12-15 2012-08-21 Panasonic Corporation Adaptive sound source vector quantization unit and adaptive sound source vector quantization method
CN101399041A (zh) * 2007-09-30 2009-04-01 华为技术有限公司 背景噪声编解码方法及装置
US8306007B2 (en) * 2008-01-16 2012-11-06 Panasonic Corporation Vector quantizer, vector inverse quantizer, and methods therefor
CN101609682B (zh) 2008-06-16 2012-08-08 向为 自适应多速率宽带不连续发送的一种编码器和方法
EP2139000B1 (en) 2008-06-25 2011-05-25 Thomson Licensing Method and apparatus for encoding or decoding a speech and/or non-speech audio input signal
RU2519027C2 (ru) 2009-02-13 2014-06-10 Панасоник Корпорэйшн Устройство векторного квантования, устройство векторного обратного квантования и способы для этого
US8670990B2 (en) 2009-08-03 2014-03-11 Broadcom Corporation Dynamic time scale modification for reduced bit rate audio coding
WO2011087333A2 (ko) * 2010-01-15 2011-07-21 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
CN102906812B (zh) * 2010-04-08 2016-08-10 Lg电子株式会社 处理音频信号的方法和装置
KR101660843B1 (ko) * 2010-05-27 2016-09-29 삼성전자주식회사 Lpc 계수 양자화를 위한 가중치 함수 결정 장치 및 방법
KR101747917B1 (ko) * 2010-10-18 2017-06-15 삼성전자주식회사 선형 예측 계수를 양자화하기 위한 저복잡도를 가지는 가중치 함수 결정 장치 및 방법
CN103620675B (zh) 2011-04-21 2015-12-23 三星电子株式会社 对线性预测编码系数进行量化的设备、声音编码设备、对线性预测编码系数进行反量化的设备、声音解码设备及其电子装置
CN103050121A (zh) * 2012-12-31 2013-04-17 北京迅光达通信技术有限公司 线性预测语音编码方法及语音合成方法
CN103236262B (zh) * 2013-05-13 2015-08-26 大连理工大学 一种语音编码器码流的转码方法
CN103325375B (zh) * 2013-06-05 2016-05-04 上海交通大学 一种极低码率语音编解码设备及编解码方法
CN103632673B (zh) * 2013-11-05 2016-05-18 无锡北邮感知技术产业研究院有限公司 一种语音线性预测模型的非线性量化方法
KR20240010550A (ko) * 2014-03-28 2024-01-23 삼성전자주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
WO2015170899A1 (ko) * 2014-05-07 2015-11-12 삼성전자 주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074561A (ko) * 2003-02-19 2004-08-25 삼성전자주식회사 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치
KR100728056B1 (ko) * 2006-04-04 2007-06-13 삼성전자주식회사 다중 경로 트랠리스 부호화 양자화 방법 및 이를 이용한다중 경로 트랠리스 부호화 양자화 장치
KR20080092770A (ko) * 2007-04-13 2008-10-16 한국전자통신연구원 트렐리스 부호 양자화 알로리즘을 이용한 광대역 음성부호화기용 lsf 계수 양자화 장치 및 방법
KR20090070554A (ko) * 2007-12-27 2009-07-01 삼성전자주식회사 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법및 장치
KR20120120086A (ko) * 2011-04-21 2012-11-01 삼성전자주식회사 선형예측계수 양자화방법, 사운드 부호화방법, 선형예측계수 역양자화방법, 사운드 복호화방법, 그 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899748A (zh) * 2020-04-15 2020-11-06 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器
CN111899748B (zh) * 2020-04-15 2023-11-28 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器

Also Published As

Publication number Publication date
KR20230149335A (ko) 2023-10-26
EP4375992A3 (en) 2024-07-10
EP4418266A2 (en) 2024-08-21
KR20220067003A (ko) 2022-05-24
US11922960B2 (en) 2024-03-05
US11238878B2 (en) 2022-02-01
KR20170007280A (ko) 2017-01-18
CN112927702A (zh) 2021-06-08
EP4375992A2 (en) 2024-05-29
US20220130403A1 (en) 2022-04-28
EP3142110C0 (en) 2024-06-26
EP3142110A4 (en) 2017-11-29
US10504532B2 (en) 2019-12-10
KR102593442B1 (ko) 2023-10-25
CN112927703A (zh) 2021-06-08
CN107077857B (zh) 2021-03-09
EP3142110B1 (en) 2024-06-26
US20170154632A1 (en) 2017-06-01
CN107077857A (zh) 2017-08-18
US20200105285A1 (en) 2020-04-02
KR102400540B1 (ko) 2022-05-20
EP3142110A1 (en) 2017-03-15

Similar Documents

Publication Publication Date Title
WO2015170899A1 (ko) 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
WO2012144877A2 (en) Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for de-quantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefor
WO2012144878A2 (en) Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium
AU2012246798A1 (en) Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for de-quantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefor
AU2012246799A1 (en) Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium
WO2013141638A1 (ko) 대역폭 확장을 위한 고주파수 부호화/복호화 방법 및 장치
WO2016018058A1 (ko) 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
WO2012036487A2 (en) Apparatus and method for encoding and decoding signal for high frequency bandwidth extension
WO2013002623A4 (ko) 대역폭 확장신호 생성장치 및 방법
WO2012157931A2 (en) Noise filling and audio decoding
WO2012053798A2 (en) Apparatus and method for determining weighting function having low complexity for linear predictive coding (lpc) coefficients quantization
WO2013183977A4 (ko) 프레임 에러 은닉방법 및 장치와 오디오 복호화방법 및 장치
US7599833B2 (en) Apparatus and method for coding residual signals of audio signals into a frequency domain and apparatus and method for decoding the same
WO2013058635A2 (ko) 프레임 에러 은닉방법 및 장치와 오디오 복호화방법 및 장치
WO2012091464A1 (ko) 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법
JPWO2008072670A1 (ja) 符号化装置、復号装置、およびこれらの方法
WO2017222356A1 (ko) 잡음 환경에 적응적인 신호 처리방법 및 장치와 이를 채용하는 단말장치
WO2011002185A2 (ko) 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
WO2013115625A1 (ko) 낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치
WO2016024853A1 (ko) 음질 향상 방법 및 장치, 음성 복호화방법 및 장치와 이를 채용한 멀티미디어 기기
WO2014185569A1 (ko) 오디오 신호의 부호화, 복호화 방법 및 장치
WO2015108358A1 (ko) 선형 예측 부호화 계수를 양자화하기 위한 가중치 함수 결정 장치 및 방법
WO2010134757A2 (ko) 계층형 정현파 펄스 코딩을 이용한 오디오 신호의 인코딩 및 디코딩 방법 및 장치
WO2015122752A1 (ko) 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
WO2015037969A1 (ko) 신호 부호화방법 및 장치와 신호 복호화방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15789302

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20167031128

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015789302

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015789302

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15309334

Country of ref document: US