WO2012005212A1 - 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体 - Google Patents
符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体 Download PDFInfo
- Publication number
- WO2012005212A1 WO2012005212A1 PCT/JP2011/065276 JP2011065276W WO2012005212A1 WO 2012005212 A1 WO2012005212 A1 WO 2012005212A1 JP 2011065276 W JP2011065276 W JP 2011065276W WO 2012005212 A1 WO2012005212 A1 WO 2012005212A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sample position
- coefficient
- sample
- bits
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 239000013598 vector Substances 0.000 claims abstract description 204
- 238000013139 quantization Methods 0.000 claims abstract description 161
- 238000012545 processing Methods 0.000 claims description 17
- 230000000875 corresponding effect Effects 0.000 description 64
- 238000004364 calculation method Methods 0.000 description 52
- 238000012937 correction Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 29
- 238000010606 normalization Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000009499 grossing Methods 0.000 description 7
- 239000000665 guar gum Substances 0.000 description 6
- 235000010417 guar gum Nutrition 0.000 description 6
- 239000000216 gellan gum Substances 0.000 description 5
- 235000010492 gellan gum Nutrition 0.000 description 5
- 239000000594 mannitol Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000231 karaya gum Substances 0.000 description 2
- 235000010494 karaya gum Nutrition 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000001922 Gum ghatti Substances 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 239000000205 acacia gum Substances 0.000 description 1
- 235000010489 acacia gum Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 235000019314 gum ghatti Nutrition 0.000 description 1
- 239000000711 locust bean gum Substances 0.000 description 1
- 235000010420 locust bean gum Nutrition 0.000 description 1
- 239000001912 oat gum Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000600 sorbitol Substances 0.000 description 1
- 239000000213 tara gum Substances 0.000 description 1
- 235000010491 tara gum Nutrition 0.000 description 1
- 239000000196 tragacanth Substances 0.000 description 1
- 235000010487 tragacanth Nutrition 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000000230 xanthan gum Substances 0.000 description 1
- 235000010493 xanthan gum Nutrition 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
Definitions
- an efficient vector quantization method with little quantization noise for example, an SVQ method (Spherical Vector Quantization, for example, see Non-Patent Document 1) or the like, a plurality of input signals within a preset number of quantization bits.
- SVQ method Spherical Vector Quantization, for example, see Non-Patent Document 1
- a vector quantization method for collectively quantizing the above is widely used.
- AVQ method Algebraic Vector Quantization, see Non-Patent Document 2, for example
- the AVQ method is a method that assumes signal sparsity like the SVQ method, but can obtain a quantized value capable of restoring more frequency components than the SVQ method.
- the amplitude quantization accuracy of the AVQ method is rough compared to the SVQ method. Even if the frequency of missing frequency components from the decoded signal is low, musical noise or the like occurs if the amplitude quantization accuracy is low. Such a problem is not limited to the AVQ method, and is common when musical noise or the like is generated based on quantization accuracy. Such a problem may occur not only when the input signal is a frequency domain signal but also when the input signal is a time domain signal.
- a plurality of samples are collectively vector-quantized to obtain a vector quantization index and a quantization value of each of the plurality of samples, and a vector quantization index is calculated from the number of bits allocated for the code corresponding to the vector quantization index.
- the number of bits equal to or less than the number obtained by subtracting the number of bits used for the code corresponding to is one of a plurality of sample position sets each having a plurality of sample positions and given a priority based on auditory characteristics.
- a plurality of values corresponding to the input vector quantization index are obtained as decoded values corresponding to a plurality of sample positions, and a predetermined priority based on auditory characteristics among a plurality of sample position sets constituting the sample positions
- a set of sample positions to which the number of bits is assigned according to the rank is set as a processing target, and a set of predetermined coefficients corresponding to a plurality of sample positions represented by the input index information is used, and is included in the sample position set to be processed.
- a value obtained by multiplying the decoded value and the coefficient corresponding to each sample position is output.
- the encoding device 11 includes, for example, a normalized value calculation unit 112, a normalized value quantization unit 113, a vector quantization unit 115, and a gradient calculation unit 116.
- the gradient calculation unit 116 corresponds to a “bit allocation unit” and a “coefficient group selection unit”.
- the decoding device 12 includes, for example, a normalized value decoding unit 121, a vector decoding unit 122, and a gradient correction unit 124.
- the encoding device 11 may include a frequency domain transform unit 111, for example.
- the decoding device 12 may include a time domain conversion unit 125 and a smoothing unit 126.
- L is a predetermined positive number, for example, an integer larger than 1, such as 64 or 80.
- every frame composed of L samples, which are input time-series signals, is converted into the frequency domain, and the frame to be converted is 1 ⁇ 2 frame, that is, L / 2. Shifted by samples.
- C 0 is L or a common divisor of L other than 1 and L.
- setting C 0 to L means obtaining a normalized value for every L samples.
- ⁇ 0, and the normalized value ⁇ X 0 ⁇ is a value representative of L samples.
- k ⁇ ⁇ C 0 regardless of the value of C 0, ⁇ , a ( ⁇ + 1) ⁇ C 0 -1. ⁇ X 0 ⁇ calculated by the normalization value calculation unit 112 is sent to the normalization value quantization unit 113.
- normalized value ⁇ X 0 ⁇ is the average amplitude value of C 0 samples as follows:
- the normalized value ⁇ X 0 ⁇ is not limited to the above example (end of description of [specific example of normalized value ⁇ X 0 ⁇ ]).
- Normalization value quantizer 113 normalization value tau X 0 - quantizing quantized normalization value tau X - and the quantized normalization value tau X - to determine the normalization value quantization index corresponding ( Step E2).
- ⁇ X - means a superscript bar of X.
- the quantization normalized value ⁇ X ⁇ is sent to the vector quantization unit 115, and a code (bit stream) corresponding to the normalized value quantization index is sent to the decoding device 12.
- the vector quantization unit 115 generates a vector quantization index by vector-quantizing a plurality of samples X (k) out of L samples of the input signal X (k) input for each frame.
- the vector quantization index is an index representing a quantization representative vector.
- the vector quantization unit 115 normalizes a plurality of X (k) using the quantized normalized value ⁇ X ⁇ to obtain a plurality of normalized samples X (k) ′.
- the vector quantization unit 115 obtains X (k) ′ by dividing X (k) by ⁇ X ⁇ or by multiplying X (k) by the inverse of ⁇ X ⁇ .
- the vector quantization unit 115 is, for example, a quantization representative closest to a vector having a plurality of X (k) ′ components among a plurality of quantization representative vectors stored in a vector codebook storage unit (not shown). Vector quantization is performed by selecting a vector and outputting a vector quantization index representing the selected quantization representative vector. The vector quantization unit 115 performs vector quantization by collecting, for example, C 0 X (k) ′. The vector quantization unit 115 performs vector quantization using a vector quantization method such as the AVQ method (see, for example, Non-Patent Document 2), but other vector quantization methods may be employed.
- AVQ method see, for example, Non-Patent Document 2
- C 0 is the number of samples of the sub-bands
- the lower priority sub-bands in consideration of human auditory characteristics it may not made vector quantization. For example, the priority is higher for subbands corresponding to frequencies that are easily perceived by humans. For example, a higher priority is given to a subband having a larger quantization normalization value ⁇ X ⁇ .
- the number of bits of the code obtained by vector quantization varies depending on the input signal. Depending on the input signal, the number of bits of the code (vector quantization index, etc.) obtained by vector quantization is less than the number of bits allocated for vector quantization, and some of the bits allocated for vector quantization There may be a surplus.
- the “bits allocated for vector quantization” refers to codes (codes corresponding to vector quantization indexes) obtained by vector quantization among codes sent from the encoding device 11 to the decoding device 12. Means bits allocated for. “Number of bits allocated for vector quantization” represents the number of bits allocated for vector quantization. The “number of bits allocated for vector quantization” may be determined for each frame, or may be determined for each subband.
- the vector quantization unit 115 calculates, as the unused bit number U, the number of bits that are not used in actual vector quantization among the bits allocated for vector quantization. In the example of the present embodiment, the number of unused bits U is calculated every frame (every L samples). For example, the vector quantization unit 115 calculates the vector quantization index obtained by vector quantization of L samples actually belonging to the frame from the number of bits allocated for vector quantization in the processing target frame. A value obtained by subtracting the total number of bits is defined as an unused bit number U. U is an integer of 0 or more.
- the vector quantization unit 115 obtains and outputs a plurality of quantized values X ⁇ (k) that are values obtained by local decoding of the vector quantization index. For example, the vector quantization unit 115 de-normalizes each component X (k) ′ of the quantized representative vector represented by the vector quantization index using the quantization normalized value ⁇ X ⁇ . The quantized value X ⁇ (k) of k) is output. For example, the vector quantization unit 115 outputs a multiplication value of X (k) ′ and ⁇ X ⁇ as a quantization value X ⁇ (k).
- the quantized value X ⁇ (k) in this example is equal to the decoded value X ⁇ (k) obtained by the decoding device 12.
- the quantized value X ⁇ (k) of the subband not subjected to vector quantization is 0.
- X ⁇ means a superscript hat of X.
- the vector quantization unit 115 sends the vector quantization index, the number of unused bits U, and the quantized value X ⁇ (k) to the gradient calculation unit 116 (step E3).
- the gradient calculation unit 116 holds, for example, a storage unit (not shown) that includes M MAX sets configured by C 0 gradient coefficients (gradient correction gains). M MAX is an integer of 2 or more.
- the gradient calculation unit 116 corresponds to a plurality of samples X (k) from the gradient matrix ⁇ having the gradient coefficient vector ⁇ m having the plurality of gradient coefficients ⁇ m (k ′) as elements as row vectors.
- the index information idx representing the row number m ′ of the gradient coefficient vector that minimizes the error between is output and placed in the unused bit area of the code (bitstream) corresponding to the vector quantization index (step E4).
- the encoding device 11 can send information for correcting the quantization error of the amplitude by effectively using the unused bit area to the decoding device 12, and the musical noise generated based on the quantization accuracy, etc. Can be reduced.
- each gradient coefficient vector ⁇ m is a vector having a plurality of gradient coefficients ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) as elements.
- X ( ⁇ ⁇ C 0 ),..., X (( ⁇ + 1) ⁇ C 0 ⁇ 1) takes k as the first axis and X (k) as the second axis (k, X (k)) In many cases, the distribution is biased to straight lines or curves on a plane.
- Gradient coefficients ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) in consideration of such characteristics of X ( ⁇ ⁇ C 0 ),..., X (( ⁇ + 1) ⁇ C 0 ⁇ 1) ) by using a gradient coefficient vector gamma m to the element can be corrected with high accuracy quantization error.
- each gradient coefficient ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) corresponding to the same row number m corresponds to a frequency corresponding to k ′ (gradient coefficient ⁇ m (k ′)).
- a vector whose elements are the gradient coefficients ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) on a straight line on a (k ′, ⁇ m (k ′)) plane or a specific curve.
- a straight line on a plane or a specific curve is different for each row number m, for example.
- the following is an example of the gradient matrix ⁇ .
- An example of the error between the first vector and the second vector is the distance between the first vector and the second vector.
- the definition of the distance is not limited, and any one such as a Manhattan distance, an Euclidean distance, or a modification thereof may be used.
- Examples of the gradient coefficient vector that minimizes the error between the first vector and the second vector include the gradient coefficient vector that minimizes the error between the first vector and the second vector, and the first within a certain search condition and search range. For example, a gradient coefficient vector that minimizes an error between the first vector and the second vector.
- the unused bit area can be specified by, for example, the determined reference position (for example, the head address) of the unused bit area and the number U of the input unused bits.
- the upper limit of the number of bits of the index information idx that can be written in the unused bit area is the number of unused bits U. Therefore, the index information idx corresponding to every row number cannot always be written in the unused bit area. Therefore, for example, the gradient calculation unit 116 sets only the row numbers in the range of row numbers that can be identified by the index information idx that can be written in the unused bit area as the search range. In other words, the gradient calculation unit 116 selects only the row number represented by the index information idx that can be written to the unused bit area.
- the number m ′ is specified, and the index information idx corresponding to the row number m ′ is written in the unused bit area.
- ⁇ ⁇ ⁇ is the norm of argmin m ⁇ ⁇ ⁇ means that m that minimizes ⁇ ⁇ ⁇ is m ′
- argmin m means the subscript m of argmin
- ⁇ [X ( ⁇ ⁇ C 0 ),..., X (( ⁇ + 1) ⁇ C 0 ⁇ 1)]
- ⁇ ⁇ [X ⁇ ( ⁇ ⁇ C 0 ),..., X ⁇ (( ⁇ + 1) ⁇ C 0 ⁇ 1)]
- the gradient calculation unit 116 arranges index information idx representing the row number m ′ of the gradient coefficient vector for each subband in the unused bit area. To do. In this case, in order to store the index information idx corresponding to each subband, the unused bit area must be distributed to each subband. The gradient calculation unit 116 determines a bit area in the unused bit area in which the index information idx of each subband is arranged, for example, according to a predetermined priority order in consideration of human auditory characteristics.
- the gradient calculation unit 116 determines the size of the bit area in which the index information idx corresponding to each subband is arranged according to the priority given to each subband (corresponding to “sample position set”). For example, the priority is higher for subbands corresponding to frequencies that are easily perceived by humans. For example, the gradient calculation unit 116 preferentially arranges the index information idx of the subband having a high priority in the unused bit area. Specifically, for example, the gradient calculation unit 116 sets the bit area in which the index information idx corresponding to the subband with the higher priority is arranged than the bit area in which the index information idx corresponding to the subband with the low priority is arranged. Enlarge.
- the gradient calculation unit 116 does not allocate a bit area for arranging the index information idx corresponding to the subband that has not been subjected to vector quantization by the vector quantization unit 115. For example, since X ⁇ (k) of subbands that have not been subjected to vector quantization are all 0, the gradient calculation unit 116 uses the index information for subbands in which the sum of the amplitude and energy of X ⁇ (k) to which the subband belongs is 0. A bit area for allocating idx is not allocated. In this case, it is not necessary to perform, for example, processing for specifying the index information idx for the subband that has not been subjected to vector quantization.
- the gradient calculation unit 116 hears at least a part of the number of bits allocated to the code corresponding to the vector quantization index that is not actually used for the code corresponding to the vector quantization index. Assign to a plurality of samples according to a predetermined priority order based on characteristics, and output index information idx of the number of bits assigned to the plurality of samples. In other words, the gradient calculation unit 116 subtracts the number of bits obtained by subtracting the number of bits used for the code corresponding to the vector quantization index from the number of bits allocated for the code corresponding to the vector quantization index.
- sample position sets of a plurality of sample position sets each consisting of a plurality of sample positions and given a priority order based on auditory characteristics according to a predetermined priority order based on auditory characteristics, and the number of bits
- the value of the sample belonging to the sample position set and the quantum of the sample belonging to the sample position set Of the error between the normalized value and the value multiplied by the coefficient corresponding to the position of each sample
- the “position of each sample” in the present embodiment is a position on the frequency axis corresponding to each discrete frequency number k. Thereby, the index information idx can be transmitted using only the unused bit area.
- the gradient calculation unit 116 of this example performs each process described in FIGS. 3 and 4 and writes the index information idx representing the row number of the selected gradient coefficient vector in the unused bit area.
- C 0 represents the number of subband samples
- G represents the total number of subbands in one frame.
- the comparison method in the case of “compare ⁇ and ⁇ ” is not limited, and any comparison method may be used as long as the magnitude relationship between ⁇ and ⁇ can be determined.
- the process of comparing ⁇ and ⁇ to know whether or not ⁇ ⁇ is satisfied is a process of determining whether or not ⁇ ⁇ is satisfied, and whether or not 0 ⁇ is satisfied is determined. Or a process for determining whether or not ⁇ ⁇ ⁇ is satisfied, or a process for determining whether or not 0 ⁇ ⁇ is satisfied.
- C 0 represents the number of subband samples
- the leading element is expressed as the 0th element.
- the priority of the subband identified by 0 is the highest, and the priority of the subband identified by 7 is the lowest.
- the priority order of each subband in one frame may be dynamically determined according to the input signal X (k), or may be fixedly determined.
- An example of a method for dynamically determining priority is a method of increasing the priority for a subband having a larger quantized normalized value ⁇ X ⁇ .
- flg (b) is a quantization presence / absence flag indicating whether or not vector quantization of the subband (sample set to be processed) identified by b has been performed by the vector quantization unit 115.
- the maximum value M MAX (equation (1)) of the row number of the gradient matrix ⁇ is 2 or more.
- a is the upper limit of the number of bits of the index information idx representing the row number m of the gradient coefficient vector ⁇ m in this search range.
- the gradient calculation unit 116 decrements h (updates the value of h by setting h-1 as a new value of h) (step E49), and performs the calculation represented by the following equation (step E410).
- the gradient calculation unit 116 compares the m and m MAX (step E412), if m ⁇ m MAX, perform calculations represented by the following formula (step E413), e MIN and e (Step E414). If e MIN > e, m is incremented by 1 (step E416), and the process proceeds to step E412.
- step E412 the gradient calculation unit 116 writes idx in the unused bit area and updates u by setting u ⁇ a as a new u (step E417). ), Go to Step E418.
- the gradient calculation unit 116 writes idx in an unused a-bit area of the unused bit area.
- the decoding device 12 is configured to be able to specify where the necessary idx is arranged in the unused bit area based on a. For example, the order in which unused areas of unused bit areas are allocated is determined in advance, and the gradient calculation unit 116 determines an area for storing idx according to this order.
- the gradient calculation unit 116 has a plurality of quantized values X ⁇ (b ⁇ C 0 ) ,. Without updating ((b + 1) ⁇ C 0 ⁇ 1) (step E420), i is incremented by 1 (step E421), and the process proceeds to step E42.
- the gradient calculation unit 116 outputs the index information idx that can be expressed by the number of bits assigned to the processing target subband (processing target sample set).
- the code (bit stream) corresponding to the corrected vector quantization index including the vector quantization index and the index information idx written in the unused bit area is sent to the decoding device 12.
- the decoding device 12 executes each step of the decoding method illustrated in FIG.
- the normalized value decoding unit 121 obtains a decoded normalized value ⁇ X ⁇ corresponding to the normalized value quantization index input to the decoding device 12 (step D1).
- the decoded normalized value ⁇ X ⁇ is sent to the vector decoding unit 122.
- the vector decoding unit 122 calculates the number of bits that are not used in actual vector quantization among the bits allocated for vector quantization as the number of unused bits U. In the example of this embodiment, the vector decoding unit 122 calculates the number of unused bits U for each frame (for every L samples). For example, the vector decoding unit 122 subtracts a value obtained by subtracting the total number of bits of the vector quantization index corresponding to the frame from the number of bits allocated for vector quantization in the processing target frame. And
- the gradient correcting unit 124 has the gradient coefficient of the row number m ′ represented by the index information idx in the gradient matrix ⁇ having the gradient coefficient vector ⁇ m having the plurality of gradient coefficients ⁇ m (k ′) as elements. Using each element ⁇ m ′ (k ′) of the vector ⁇ m ′ , a plurality of decoded values X ⁇ (k) are corrected (step D3).
- the gradient correcting unit 124 calculates a multiplication value of the element ⁇ m ′ (k ′) of the gradient coefficient vector ⁇ m ′ of the row number m ′ represented by the index information idx and the decoded value X ⁇ (k) as the decoded value X ⁇ .
- the gradient correction unit 124 outputs a correction value X ⁇ UD (k). That is, the gradient correcting unit 124 receives a set of sample positions, to which a number of bits are assigned according to a predetermined priority order based on auditory characteristics, from among a plurality of sample position sets constituting a plurality of sample positions.
- a value obtained by multiplying a decoded value and a coefficient corresponding to each sample position included in the sample position set to be processed is output. To do.
- flg (b) is a quantization presence / absence flag indicating whether or not the vector quantization of the subband identified by b is performed by the vector quantization unit 115.
- the gradient correcting unit 124 decrements h (step D39), and reads the index information idx from the unused bit area included in the corrected vector quantization index based on a (step D310).
- the gradient correcting unit 124 updates the value of u by setting u ⁇ a as a new u (step D311).
- the correction value X ⁇ UD (k) output from the gradient correction unit 124 is input to the time domain conversion unit 125, and the time domain conversion unit 125 calculates X ⁇ UD (k). For example, it is converted into a time domain signal z (n) by inverse Fourier transform and output.
- a vector having elements of gradient coefficients ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) having correlation with each other is defined as a gradient coefficient vector ⁇ m .
- a plurality of gradient coefficients ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) distributed on a straight line on a (k, ⁇ m (k)) plane or a specific curve are used as elements.
- the vector was the gradient coefficient vector ⁇ m .
- the envelope of an input signal such as an audio signal or an acoustic signal often forms a straight line or a curve.
- the quantization error can be corrected with high accuracy.
- of the input signal in the subbands k 0,. Therefore, a gradient coefficient vector ⁇ whose elements are gradient coefficients ⁇ m (0),..., ⁇ m (7) distributed in a straight line with a negative slope on the (k, ⁇ m (k)) plane.
- Error can be reduced.
- the quantization error can be efficiently reduced by using the gradient coefficient vector ⁇ m suitable for the characteristics of the input signal for each subband. Further, since the index information idx for specifying the gradient coefficient vector ⁇ m ′ selected by the encoding device 11 is transmitted using the unused bit area effectively, an additional area for transmitting the index information idx is provided. It is unnecessary.
- the upper limit of the number of bits that can be written in the unused bit area is the number of unused bits U, and the index information idx for all subbands is not necessarily written in the unused bit area. Therefore, in this embodiment, the index information idx corresponding to the subband having a high priority is preferentially written in the unused bit area. Thereby, for example, quantization errors in subbands important for human auditory characteristics can be reduced, and musical noise and the like can be reduced.
- Condition 1 Conventional technique (as in Patent Document 1, a code obtained by vector quantization of an input signal is decoded to obtain a decoded signal)
- Condition 2 Embodiment technology (as in the above-described embodiment, a code obtained by performing vector quantization and gradient calculation of an input signal is decoded to obtain a decoded signal)
- the SNR was calculated only from a frame in which the number of unused bits U of vector quantization is 1 bit or more.
- Three types of input signals were used: voice, Japanese music, and Western music. The results are shown below.
- the SNR can be improved by about 0.35 dB on average for three types of input signals of voice, Japanese music, and Western music compared to the conventional technique.
- the smoothing unit 126 receives the correction value X ⁇ UD (k) obtained in step D3 (FIG. 5) as an input, and the correction value X ⁇ UD (k). 'If it is not 0, the past of the correction value X ⁇ UD (k)' the past of the correction value X ⁇ UD (k) than the correction value X ⁇ UD (k) the added value weighted and smoothed value X ⁇ POST Output as (k).
- X ⁇ POST (k) is expressed as follows.
- ⁇ ( ⁇ ) represents the sign of •.
- X ⁇ POST (k) output from the smoothing unit 126 is input to the time domain conversion unit 125, and the time domain conversion unit 125 reverses X ⁇ POST (k), for example.
- a time domain signal z (n) is converted and output by Fourier transform.
- each gradient coefficient ⁇ m (0),..., ⁇ m (C 0 ⁇ 1) corresponding to the same row number m is represented by the (k ′, ⁇ m (k ′)) plane. It shall be located on the upper straight line or on a specific curve.
- k and k ′ are discrete time numbers corresponding to the discrete time
- “the position of each sample” is a position on the time axis corresponding to the discrete time number k.
- the gradient calculation unit 116 of the encoding device 10 determines whether or not idx> 0. If idx> 0, a plurality of quantized values X ⁇ (b ⁇ C 0 ), .., X ⁇ ((b + 1) ⁇ C 0 ⁇ 1) is updated, and if idx> 0, it is not updated (FIG. 4 / steps E418 to E421). Further, the gradient correction unit 124 of the decoding device 12 determines whether or not idx> 0.
- a plurality of quantized values X ⁇ (b ⁇ C0 ), ..., X ⁇ (( b + 1) ⁇ C 0 -1) is updated, and unless idx> 0, it is not updated (FIG. 7 / steps D312 to D314).
- ⁇ ⁇ 1 (C 0 ⁇ 1)] [1,..., 1]
- the gradient calculation unit 116 and the gradient correction unit 124 regardless of whether idx> 0, Such a calculation may be performed.
- index information idx is stored in the unused bit area having the number of unused bits U.
- the index information idx may not be stored in the unused bit area.
- the index information idx may be stored in another finite bit area having the number of bits U included in the code.
- the above-described processing may be executed in which the “unused bit area” is replaced with the “finite bit area”, and the “unused bit number U” is replaced with the “bit number U of the finite bit area”.
- the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Needless to say, other modifications are possible without departing from the spirit of the present invention.
- a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
- the computer reads the program stored in its own recording medium and executes the process according to the read program.
- the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially.
- processing units of the encoding device 11 and the decoding device 12 may be configured by a special integrated circuit.
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)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
復号時に、入力されたベクトル量子化インデックスに対応する複数の値を複数のサンプル位置それぞれに対応する復号値として求め、サンプル位置を構成する複数のサンプル位置集合のうち、聴覚特性に基づく所定の優先順位に従ってビット数が割り当てられたサンプル位置の集合を処理対象として、入力されたインデックス情報が表す、複数のサンプル位置に対応する予め定めた係数による組を用い、処理対象のサンプル位置集合に含まれる各サンプル位置に対応する、復号値と係数とを乗算した値を出力する。
復号においては、インデックス情報が表す複数個の勾配係数による組を用いて複数の復号値を修正するため、量子化誤差を低減でき、ミュージカルノイズ等を低減することができる。
(構成)
図1に例示するように、実施形態の符号化装置11は、正規化値計算部112、正規化値量子化部113、ベクトル量子化部115及び勾配計算部116を例えば含む。勾配計算部116は、「ビット割当部」及び「係数組選択部」に相当する。
図1に例示するように、実施形態の復号装置12は、正規化値復号部121、ベクトル復号部122及び勾配修正部124を例えば含む。必要に応じて、符号化装置11は、周波数領域変換部111を例えば含んでいてもよい。復号装置12は、時間領域変換部125、平滑化部126を例えば含んでいてもよい。
符号化装置11は図2に例示する符号化方法の各ステップを実行する。
入力信号X(k)は正規化値計算部112、ベクトル量子化部115及び勾配計算部116に入力される。この例の入力信号X(k)は、音響信号などの時系列信号である時間領域信号x(n)を周波数領域に変換して得られる周波数領域信号である。周波数領域の入力信号X(k)が符号化装置11に直接入力されてもよいし、周波数領域変換部111が入力された時間領域の入力信号x(n)を周波数領域に変換して周波数領域の入力信号X(k)が生成されてもよい。周波数領域変換部111が周波数領域の入力信号X(k)を生成する場合、周波数領域変換部111は、入力された時間領域の入力信号x(n)を、例えばMDCT(Modified Discrete Cosine Transform)により周波数領域の入力信号X(k)に変換して出力する。nは時間領域での信号の番号(離散時間番号)であり、kは周波数領域での信号(サンプル)の番号(離散周波数番号)である。nの値が大きいほど遅い時間に対応する。kの値が大きいほど高い周波数に対応する。1フレームがL個のサンプルで構成されているとして、時間領域信号x(n)はフレームごとに周波数領域に変換され、L個の周波数成分を構成する周波数領域の入力信号X(k)(k=0,1,…,L-1)が生成される。Lは所定の正の数、例えば64や80などの1よりも大きな整数である。なお、MDCTを用いる場合には、入力された時系列信号であるL個のサンプルからなるフレームごとに周波数領域へ変換され、この変換対象となるフレームが1/2フレームずつ、すなわち、L/2個のサンプルずつシフトされる。
正規化値τX0 -は、C0個のサンプルを代表する値である。言い換えると、正規化値τX0 -は、C0個のサンプルに対応する値である。正規化値τX0 -の例は、以下のようなC0個のサンプルのパワー平均値に対する平方根である。
正規化値τX0 -の他の例は、以下のようなC0個のサンプルのパワー合計値に対する平方根をC0で除した値である。
正規化値τX0 -の他の例は、以下のようなC0個のサンプルの平均振幅値である。
正規化値τX0 -は上記の例に限定されない([正規化値τX0 -の具体例]の説明終わり)。
勾配計算部116は、MMAX組の、C0個の勾配係数(傾き補正ゲイン)により構成される組を、例えば図示していない記憶部に保持する。MMAXは2以上の整数である。例えば、勾配計算部116は、C0個の勾配係数(傾き補正ゲイン)γm(k’)(k’=0,・・・,C0-1)を要素とする勾配係数ベクトルγm=[γm(0),・・・,γm(C0-1)](複数個の勾配係数による組)をm(m=0,・・・,MMAX-1)行目の行ベクトルとする式(1)に示す勾配行列γを保持する。
これにより、符号化装置11は、未使用ビット領域を有効利用して振幅の量子化誤差を修正するための情報を復号装置12に送ることができ、量子化精度に基づいて発生するミュージカルノイズ等を低減させることができる。
なお、∥・∥は・のノルムであり、argminm∥・∥は∥・∥を最小にするmをm’とすることを意味し、argminmはargminの下付きのmを意味し、χ=[X(τ・C0),…,X((τ+1)・C0-1)]、χ^=[X^(τ・C0),…,X^((τ+1)・C0-1)]であり、Amは以下のような行番号mに対応する勾配係数ベクトルγm=[γm(0),・・・,γm(C0-1)](m=0,…,mMAX-1)を対角成分に持つ対角行列を意味する。
に対する
言い換えると、勾配計算部116は、ベクトル量子化インデックスに対応する符号用に割り当てられたビット数からベクトル量子化インデックスに対応する符号に用いられたビット数を減算して得られる数以下のビット数を、それぞれが複数のサンプル位置からなり聴覚特性に基づく優先順位が与えられた複数のサンプル位置集合のうちの1個以上のサンプル位置集合に、聴覚特性に基づく所定の優先順位に従って割り当て、ビット数が割り当てられたサンプル位置集合それぞれについて、複数組の、サンプルそれぞれの位置に対応する予め定めた係数による組のうち、該サンプル位置集合に属するサンプルの値と、該サンプル位置集合に属するサンプルの量子化値とサンプルそれぞれの位置に対応する係数とを乗算した値との間の誤差の該サンプル位置集合に属する全サンプル位置についての和を最小にする係数の組を表すインデックス情報idxを出力する。なお、本形態の「サンプルそれぞれの位置」は、各離散周波数番号kに対応する周波数軸上の位置である。
これにより、未使用ビット領域のみを用いてインデックス情報idxを伝送できる。
この例の勾配計算部116は、図3及び図4に記載された各処理を行い、選択した勾配係数ベクトルの行番号を表すインデックス情報idxを、未使用ビット領域に書き込む。
ステップE45でflg(b)>0であれば(flg(b)=ηであれば)勾配計算部116は、u-hと0とを比較し(uとhとを比較することと等価)(ステップE46)、u-h>0であればmMAX=3、a=2とし(ステップE47)、u-h>0でなければmMAX=1、a=1とする(ステップE48)。すなわち、勾配計算部116は、ベクトル量子化インデックスに対応する符号に用いられなかったビット数のうちサブバンドの何れにも割り当てられていない残りのビット数uが、ビット数の割り当てが行われていないサブバンドの個数hよりも大きくない場合に、ビット数の割り当てが行われていないサブバンドのうち最も優先順位が高いものに第1ビット数(a=1)を割り当て、残りのビット数uが、ビット数の割り当てが行われていないサブバンドの個数hよりも大きい場合に、ビット数の割り当てが行われていない前サブバンドのうち最も前記優先順位が高いものに前記第1ビット数(a=1)よりも大きな第2ビット数(a=2)を割り当てる。またmMAXは勾配行列γの探索範囲を定める。すなわち、勾配行列γの行番号m=0からmMAX-1までの勾配係数ベクトルγmが探索範囲となる。この例では勾配行列γの行番号の最大値MMAX(式(1))は2以上である。aはこの探索範囲の勾配係数ベクトルγmの行番号mを表すインデックス情報idxのビット数の上限である。なお、aビットで2a個の値を伝送できるが、2a個の値のうち1個は補正を行わないことを表すidx=0に割り当てられる。
ステップE412では、勾配計算部116は、mとmMAXとを比較し(ステップE412)、m<mMAXであれば、以下の式に表される計算を行い(ステップE413)、eMINとeとを比較し(ステップE414)、eMIN>eでなければ、mを1だけインクリメントし(ステップE416)、ステップE412に進む。eMIN>eであれば勾配計算部116は、idx=m+1及びeMIN=eとしてidx及びeMINを更新し(ステップE415)、mを1だけインクリメントして(ステップE416)、ステップE412に進む。
idx>0でなければ(idx=0であれば)、以下に示すように、勾配計算部116は、ローカルデコード値である複数の量子化値X^(b・C0),…,X^((b+1)・C0-1)を更新することなく(ステップE420)、iを1だけインクリメントして(ステップE421)、ステップE42に進む。
以上のように、勾配計算部116は、処理対象のサブバンド(処理対象のサンプル集合)に割り当てられたビット数で表現可能なインデックス情報idxを出力する。
ステップE4は、図3及び図4に示すように、例えば以下のように実行されてもよい。
ステップE41~E45が実行され、ステップE45でflg(b)>0でない(flg(b)=0である)と判定されれば勾配計算部116は、iを1だけインクリメントし(ステップE421)、ステップE42に進む。ステップE45でflg(b)>0である(flg(b)=ηである)と判定されれば、勾配計算部116は、mMAX=1、a=1とし(ステップE48’)、ステップE46に進む。
ステップE4の具体例1,2において、式(2)の代わりに、以下のような計算が行われてもよい。
また、ステップE4の具体例1,2において、式(3)の代わりに、以下のような計算が行われてもよい。
これで[ステップE4の具体例]の説明を終える。
復号装置12は図5に例示する復号方法の各ステップを実行する。
正規化値復号部121は、復号装置12に入力された正規化値量子化インデックスに対応する復号正規化値τX-を求める(ステップD1)。復号正規化値τX-は、ベクトル復号部122に送られる。
勾配修正部124は、符号化装置11で使用したのと同じ勾配行列γ(式(1)参照)を、例えば図示していない記憶部に保持する。勾配修正部124は、復号装置12に入力された修正後ベクトル量子化インデックスが含む未使用ビット領域からインデックス情報idxを読み出し、idxが表す行番号m’の勾配係数ベクトルγm’の各要素γm’(k’)(k’=0,・・・,C0-1)を用い、C0個の復号値X^(k)(k=τ・C0,・・・,(τ+1)・C0-1)を修正する。言い換えると、勾配修正部124は、複数の勾配係数γm(k’)を要素とする勾配係数ベクトルγmを行ベクトルとする勾配行列γ中のインデックス情報idxが表す行番号m’の勾配係数ベクトルγm’の各要素γm’(k’)を用い、複数の復号値X^(k)を修正する(ステップD3)。例えば、勾配修正部124は、インデックス情報idxが表す行番号m’の勾配係数ベクトルγm’の要素γm’(k’)と復号値X^(k)との乗算値を復号値X^(k)の修正値X^ UD(k)とする。勾配修正部124は修正値X^ UD(k)を出力する。すなわち、勾配修正部124は、複数個のサンプル位置を構成する複数のサンプル位置集合のうち、聴覚特性に基づく所定の優先順位に従ってビット数が割り当てられたサンプル位置の集合を処理対象として、入力されたインデックス情報idxが表す、複数のサンプル位置に対応する予め定めた係数による組を用い、処理対象のサンプル位置集合に含まれる各サンプル位置に対応する、復号値と係数とを乗算した値を出力する。
この例の勾配修正部124は、図6及び図7に記載された各処理を行い、復号値X^(k)を修正する。
勾配修正部124は、i=0,h=H,u=Uとすることでi,h及びuの値を初期化し、ステップD32に進む(ステップD31)。
勾配修正部124は、iとG(G=L/C0)とを比較し(ステップD32)、i<GであればステップD33に進み、i<GでなければステップD3の処理を終える。
ステップD33では、勾配修正部124は、uと0とを比較し(ステップD33)、u>0でなければステップD3の処理を終え、u>0であればb=o(i)とする(ステップD34)。符号化装置11のo(i)と復号装置12のo(i)は同一である。
idx>0でなければ(idx=0であれば)、以下に示すように、勾配修正部124は、複数の復号値X^(b・C0),…,X^((b+1)・C0-1)を更新することなく(ステップD314)、iを1だけインクリメントして(ステップD315)、ステップD32に進む。
ステップD3は、図6及び図7に示すように、例えば以下のように実行されてもよい。
ステップD31~D35が実行され、ステップD35でflg(b)>0でない(flg(b)=0である)と判定されれば勾配修正部124は、iを1だけインクリメントし(ステップD315)、ステップD32に進む。ステップD35でflg(b)>0である(flg(b)=ηである)と判定されれば、勾配修正部124は、mMAX=1、a=1とし(ステップD38’)、ステップD36に進む。
このように本形態では、復号装置12が符号化装置11で選択された勾配係数ベクトルを用いて複数の復号値X^(k)を修正するため、量子化誤差に基づくミュージカルノイズ等を軽減できる。
また、符号化装置11で選択された勾配係数ベクトルγm’を特定するためのインデックス情報idxは未使用ビット領域を有効利用して伝送されるため、インデックス情報idxを伝送するための付加領域が不要である。
本形態の効果を表す実験結果を示す。
本実験では、以下の2条件について、入力信号と復号信号との間のSNR(Signal to Noise Ratio)を求めた。
条件1:従来技術(特許文献1のように入力信号のベクトル量子化を行って得られた符号が復号されて復号信号が得られる)
条件2:実施形態技術(上述の実施形態のように入力信号のベクトル量子化と勾配計算とを行って得られた符号が復号されて復号信号が得られる)
なお、本発明は上述の実施の形態に限定されるものではない。例えば、復号装置12が平滑化部126を含む場合、平滑化部126は、ステップD3(図5)で得られた修正値X^ UD(k)を入力とし、修正値X^ UD(k)よりも過去の修正値X^ UD(k)’が0でない場合、過去の修正値X^ UD(k)’と修正値X^ UD(k)とを重み付き加算した値を平滑化値X^ POST(k)として出力する。X^ UD(k)’が0の場合、平滑化部126は、修正値の重み付き加算、すなわち修正値の平滑化を行わず、X^ UD(kをX^ POST(k)として出力する(図5/ステップD4’)。過去の修正値X^ UD(k)’の例は、修正値X^ UD(k)に対応するフレームの1フレーム過去のステップD3で得られた修正値や、修正値X^ UD(k)に対応するフレームの1フレーム過去のステップD4’で得られた平滑化値などである。
また、入力信号X(k)は、周波数領域信号である必要はなく、時間領域信号等の任意の信号であってもよい。すなわち、この発明は、周波数領域信号以外の任意の信号に対する符号化、復号に用いることができる。この場合、同一の行番号mに対応する各勾配係数γm(0),・・・, γm(C0-1)は、例えばk’(勾配係数γm(k’)に対応する時間に対応する値)を第1軸にとりγm(k’)(勾配係数の値)を第2軸にとる(k’, γm(k’))平面上の直線又は特定の曲線に偏って分布するものとする。より具体的には、例えば同一の行番号mに対応する各勾配係数γm(0),・・・, γm(C0-1)が、(k’, γm(k’))平面上の直線上又は特定の曲線上に位置するものとする。なお、この変形例ではk,k’が離散時間に対応する離散時間番号であり、「サンプルそれぞれの位置」は、離散時間番号kに対応する時間軸上の位置である。k,k’が離散時間番号である場合、k,k’の値が大きいほど遅い時間に対応する。
また、上記の実施形態ではインデックス情報idxを未使用ビット数Uの未使用ビット領域に格納する例を示したが、インデックス情報idxが未使用ビット領域に格納されない形態であってもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述した符号化装置11や復号装置12は、例えば、CPU(central processing unit)やRAM(random-access memory)などからなる公知又は専用のコンピュータと上述の処理内容が記述された特別なプログラムとから構成される。この場合、特別なプログラムはCPUに読み込まれ、CPUが特別なプログラムを実行することによって各機能が実現される。また、特別なプログラムは、単一のプログラム列によって構成されてもよいし、他のプログラムやライブラリを読み出して目的の機能を達成するものであってもよい。
111 周波数領域変換部
112 正規化値計算部
113 正規化値量子化部
115 ベクトル量子化部
116 勾配計算部
12 復号装置
121 正規化値復号部
122 ベクトル復号部
124 勾配修正部
125 時間領域変換部
126 平滑化部
Claims (20)
- 複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化ステップと、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に用いられたビット数を減算して得られる数以下のビット数を、それぞれが複数のサンプル位置からなり聴覚特性に基づく優先順位が与えられた複数のサンプル位置集合のうちの1個以上のサンプル位置集合に、前記聴覚特性に基づく所定の優先順位に従って割り当てるビット割当ステップと、
前記ビット割当ステップでビット数が割り当てられたサンプル位置集合それぞれについて、複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組のうち、該サンプル位置集合に属するサンプルの値と、該サンプル位置集合に属するサンプルの量子化値と前記サンプルそれぞれの位置に対応する係数とを乗算した値との間の誤差の該サンプル位置集合に属する全サンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択ステップと、
を有する符号化方法。 - 請求項1の符号化方法であって、
前記サンプル位置集合の何れかである第1サンプル位置集合に割り当てられるビット数は、当該第1サンプル位置集合よりも前記優先順位が低い前記サンプル位置集合の何れかである第2サンプル位置集合に割り当てられるビット数以上である。 - 請求項1の符号化方法であって、
前記ビット割当ステップは、
前記ベクトル量子化インデックスに対応する符号に用いられなかったビット数のうち前記サンプル位置集合の何れにも割り当てられていない残りのビット数が、前記複数のサンプル位置集合のうちビット数の割り当てが行われていないサンプル位置集合の個数よりも大きくない場合に、ビット数の割り当てが行われていない前記サンプル位置集合のうち最も前記優先順位が高いものに第1ビット数を割り当て、
前記残りのビット数が、前記複数のサンプル位置集合のうちビット数の割り当てが行われていないサンプル位置集合の個数よりも大きい場合に、ビット数の割り当てが行われていない前記サンプル位置集合のうち最も前記優先順位が高いものに前記第1ビット数よりも大きな第2ビット数を割り当てるステップを含む。 - 請求項1から3の何れかの符号化方法であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線上にある係数により構成される。 - 請求項1から3の何れかの符号化方法であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。 - 入力されたベクトル量子化インデックスに対応する複数の値を複数のサンプル位置それぞれに対応する復号値として求めるベクトル復号ステップと、
前記サンプル位置を構成する複数のサンプル位置集合のうち、聴覚特性に基づく所定の優先順位に従ってビット数が割り当てられたサンプル位置の集合を処理対象として、入力されたインデックス情報が表す、複数のサンプル位置に対応する予め定めた係数による組を用い、前記処理対象のサンプル位置集合に含まれる各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算ステップと、
を有する復号方法。 - 請求項6の復号方法であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線上にある係数により構成される。 - 請求項6の復号方法であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。 - 複数のサンプルをまとめてベクトル量子化してベクトル量子化インデックスと前記複数のサンプルそれぞれの量子化値を求めるベクトル量子化部と、
ベクトル量子化インデックスに対応する符号用に割り当てられたビット数から前記ベクトル量子化インデックスに対応する符号に用いられたビット数を減算して得られる数以下のビット数を、それぞれが複数のサンプル位置からなり聴覚特性に基づく優先順位が与えられた複数のサンプル位置集合のうちの1個以上のサンプル位置集合に、前記聴覚特性に基づく所定の優先順位に従って割り当てるビット割当部と、
前記ビット割当部でビット数が割り当てられたサンプル位置集合それぞれについて、複数組の、前記サンプルそれぞれの位置に対応する予め定めた係数による組のうち、該サンプル位置集合に属するサンプルの値と、該サンプル位置集合に属するサンプルの量子化値と前記サンプルそれぞれの位置に対応する係数とを乗算した値との間の誤差の該サンプル位置集合に属する全サンプル位置についての和を最小にする係数の組を表すインデックス情報を出力する係数組選択部と、
を有する符号化装置。 - 請求項9の符号化装置であって、
前記サンプル位置集合の何れかである第1サンプル位置集合に割り当てられるビット数は、当該第1サンプル位置集合よりも前記優先順位が低い前記サンプル位置集合の何れかである第2サンプル位置集合に割り当てられるビット数以上である。 - 請求項9の符号化装置であって、
前記ビット割当部は、
前記ベクトル量子化インデックスに対応する符号に用いられなかったビット数のうち前記サンプル位置集合の何れにも割り当てられていない残りのビット数が、前記複数のサンプル位置集合のうちビット数の割り当てが行われていないサンプル位置集合の個数よりも大きくない場合に、ビット数の割り当てが行われていない前記サンプル位置集合のうち最も前記優先順位が高いものに第1ビット数を割り当て、
前記残りのビット数が、前記複数のサンプル位置集合のうちビット数の割り当てが行われていないサンプル位置集合の個数よりも大きい場合に、ビット数の割り当てが行われていない前記サンプル位置集合のうち最も前記優先順位が高いものに前記第1ビット数よりも大きな第2ビット数を割り当てるように構成される。 - 請求項9から11の何れかの符号化装置であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線上にある係数により構成される。 - 請求項9から11の何れかの符号化装置であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。 - 入力されたベクトル量子化インデックスに対応する複数の値を複数のサンプル位置それぞれに対応する復号値として求めるベクトル復号部と、
前記サンプル位置を構成する複数のサンプル位置集合のうち、聴覚特性に基づく所定の優先順位に従ってビット数が割り当てられたサンプル位置の集合を処理対象として、入力されたインデックス情報が表す、複数のサンプル位置に対応する予め定めた係数による組を用い、前記処理対象のサンプル位置集合に含まれる各サンプル位置に対応する、前記復号値と前記係数とを乗算した値を出力する係数乗算部と、
を有する復号装置。 - 請求項14の復号装置であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線上にある係数により構成される。 - 請求項14の復号装置であって、
前記係数による組は、
前記係数が対応するサンプル位置に対応する時間又は周波数の値を第1軸にとり前記係数の値を第2軸にとる平面上の直線又は特定の曲線に偏って分布する係数により構成される。 - 請求項1の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
- 請求項6の復号方法の各ステップをコンピュータに実行させるためのプログラム。
- 請求項1の符号化方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項6の復号方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180031632.9A CN102959623B (zh) | 2010-07-05 | 2011-07-04 | 编码方法、解码方法、编码装置、解码装置、程序及记录介质 |
JP2012523859A JP5337305B2 (ja) | 2010-07-05 | 2011-07-04 | 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体 |
US13/807,139 US8711012B2 (en) | 2010-07-05 | 2011-07-04 | Encoding method, decoding method, encoding device, decoding device, program, and recording medium |
EP11803546.8A EP2573766B1 (en) | 2010-07-05 | 2011-07-04 | Encoding method, decoding method, encoding device, decoding device, program, and recording medium |
CA2803276A CA2803276A1 (en) | 2010-07-05 | 2011-07-04 | Encoding method, decoding method, encoding device, decoding device, program, and recording medium |
ES11803546.8T ES2536902T3 (es) | 2010-07-05 | 2011-07-04 | Método codificador, método decodificador, dispositivo codificador, dispositivo decodificador, programa y medio de grabación |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-152971 | 2010-07-05 | ||
JP2010152971 | 2010-07-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012005212A1 true WO2012005212A1 (ja) | 2012-01-12 |
Family
ID=45441191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/065276 WO2012005212A1 (ja) | 2010-07-05 | 2011-07-04 | 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8711012B2 (ja) |
EP (1) | EP2573766B1 (ja) |
JP (1) | JP5337305B2 (ja) |
CN (1) | CN102959623B (ja) |
CA (1) | CA2803276A1 (ja) |
ES (1) | ES2536902T3 (ja) |
WO (1) | WO2012005212A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013057895A1 (ja) * | 2011-10-19 | 2013-04-25 | パナソニック株式会社 | 符号化装置及び符号化方法 |
WO2013151004A1 (ja) * | 2012-04-02 | 2013-10-10 | 日本電信電話株式会社 | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 |
WO2013187498A1 (ja) * | 2012-06-15 | 2013-12-19 | 日本電信電話株式会社 | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9911427B2 (en) * | 2014-03-24 | 2018-03-06 | Nippon Telegraph And Telephone Corporation | Gain adjustment coding for audio encoder by periodicity-based and non-periodicity-based encoding methods |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002084194A (ja) * | 2001-07-16 | 2002-03-22 | Toshiba Corp | 利得形状ベクトル量子化方法とこれを用いた音声符号化方法及び装置 |
WO2006041055A1 (ja) * | 2004-10-13 | 2006-04-20 | Matsushita Electric Industrial Co., Ltd. | スケーラブル符号化装置、スケーラブル復号装置及びスケーラブル符号化方法 |
WO2007043648A1 (ja) * | 2005-10-14 | 2007-04-19 | Matsushita Electric Industrial Co., Ltd. | 変換符号化装置および変換符号化方法 |
WO2009093714A1 (ja) * | 2008-01-24 | 2009-07-30 | Nippon Telegraph And Telephone Corporation | 符号化方法、復号化方法、それらの装置、及びそれらのプログラムと記録媒体 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3186007B2 (ja) | 1994-03-17 | 2001-07-11 | 日本電信電話株式会社 | 変換符号化方法、復号化方法 |
US7200561B2 (en) * | 2001-08-23 | 2007-04-03 | Nippon Telegraph And Telephone Corporation | Digital signal coding and decoding methods and apparatuses and programs therefor |
DE60208426T2 (de) * | 2001-11-02 | 2006-08-24 | Matsushita Electric Industrial Co., Ltd., Kadoma | Vorrichtung zur signalkodierung, signaldekodierung und system zum verteilen von audiodaten |
EP1388813A2 (en) * | 2002-08-09 | 2004-02-11 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for image watermarking |
JP4800645B2 (ja) * | 2005-03-18 | 2011-10-26 | カシオ計算機株式会社 | 音声符号化装置、及び音声符号化方法 |
US7966190B2 (en) * | 2005-07-11 | 2011-06-21 | Lg Electronics Inc. | Apparatus and method for processing an audio signal using linear prediction |
US8374857B2 (en) * | 2006-08-08 | 2013-02-12 | Stmicroelectronics Asia Pacific Pte, Ltd. | Estimating rate controlling parameters in perceptual audio encoders |
-
2011
- 2011-07-04 EP EP11803546.8A patent/EP2573766B1/en active Active
- 2011-07-04 WO PCT/JP2011/065276 patent/WO2012005212A1/ja active Application Filing
- 2011-07-04 CA CA2803276A patent/CA2803276A1/en not_active Abandoned
- 2011-07-04 JP JP2012523859A patent/JP5337305B2/ja active Active
- 2011-07-04 ES ES11803546.8T patent/ES2536902T3/es active Active
- 2011-07-04 CN CN201180031632.9A patent/CN102959623B/zh active Active
- 2011-07-04 US US13/807,139 patent/US8711012B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002084194A (ja) * | 2001-07-16 | 2002-03-22 | Toshiba Corp | 利得形状ベクトル量子化方法とこれを用いた音声符号化方法及び装置 |
WO2006041055A1 (ja) * | 2004-10-13 | 2006-04-20 | Matsushita Electric Industrial Co., Ltd. | スケーラブル符号化装置、スケーラブル復号装置及びスケーラブル符号化方法 |
WO2007043648A1 (ja) * | 2005-10-14 | 2007-04-19 | Matsushita Electric Industrial Co., Ltd. | 変換符号化装置および変換符号化方法 |
WO2009093714A1 (ja) * | 2008-01-24 | 2009-07-30 | Nippon Telegraph And Telephone Corporation | 符号化方法、復号化方法、それらの装置、及びそれらのプログラムと記録媒体 |
Non-Patent Citations (2)
Title |
---|
SATOSHI KUMADA ET AL.: "Vector Quantization of Transform Coefficients in Audio Transform Coding", HEISEI 5 NENDO REPORT OF THE AUTUMN MEETING, 5 October 1993 (1993-10-05), pages 307 - 308, XP008167270 * |
See also references of EP2573766A4 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013057895A1 (ja) * | 2011-10-19 | 2013-04-25 | パナソニック株式会社 | 符号化装置及び符号化方法 |
WO2013151004A1 (ja) * | 2012-04-02 | 2013-10-10 | 日本電信電話株式会社 | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 |
JP5738480B2 (ja) * | 2012-04-02 | 2015-06-24 | 日本電信電話株式会社 | 符号化方法、符号化装置、復号方法、復号装置及びプログラム |
WO2013187498A1 (ja) * | 2012-06-15 | 2013-12-19 | 日本電信電話株式会社 | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 |
JP5734519B2 (ja) * | 2012-06-15 | 2015-06-17 | 日本電信電話株式会社 | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
US8711012B2 (en) | 2014-04-29 |
JP5337305B2 (ja) | 2013-11-06 |
EP2573766B1 (en) | 2015-03-18 |
ES2536902T3 (es) | 2015-05-29 |
EP2573766A4 (en) | 2013-11-13 |
JPWO2012005212A1 (ja) | 2013-09-02 |
CN102959623B (zh) | 2014-08-13 |
EP2573766A1 (en) | 2013-03-27 |
CN102959623A (zh) | 2013-03-06 |
CA2803276A1 (en) | 2012-01-12 |
US20130106626A1 (en) | 2013-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5331249B2 (ja) | 符号化方法、復号方法、装置、プログラムおよび記録媒体 | |
JP5625076B2 (ja) | コーディングコンテキストのピッチ依存適合を用いた、オーディオ信号復号器、オーディオ信号符号化器、オーディオ信号を復号するための方法、オーディオ信号を符号化するための方法、およびコンピュータプログラム | |
WO2011063594A1 (zh) | 格型矢量量化音频编解码方法和系统 | |
WO2011127757A1 (zh) | 可分层音频编解码方法和系统及瞬态信号可分层编解码方法 | |
US8606567B2 (en) | Signal encoding apparatus, signal decoding apparatus, signal processing system, signal encoding process method, signal decoding process method, and program | |
JP5337305B2 (ja) | 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体 | |
JP2019529979A (ja) | インデックスコーディング及びビットスケジューリングを備えた量子化器 | |
JP5256375B2 (ja) | 符号化方法、復号方法、装置、プログラム及び記録媒体 | |
JP5325340B2 (ja) | 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体 | |
CN110491398B (zh) | 编码方法、编码装置以及记录介质 | |
WO2011097963A1 (zh) | 编码方法、解码方法、编码器和解码器 | |
JP5331248B2 (ja) | 符号化方法、復号方法、装置、プログラム及び記録媒体 | |
WO2011045926A1 (ja) | 符号化装置、復号装置およびこれらの方法 | |
JP5734519B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
US8949117B2 (en) | Encoding device, decoding device and methods therefor | |
JP5635213B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
JP2002503834A (ja) | スプリット・ベクトル量子化データ符号化のためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180031632.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11803546 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011803546 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2803276 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012523859 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13807139 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |