WO2013129528A1 - 符号化装置、この方法、プログラムおよび記録媒体 - Google Patents
符号化装置、この方法、プログラムおよび記録媒体 Download PDFInfo
- Publication number
- WO2013129528A1 WO2013129528A1 PCT/JP2013/055243 JP2013055243W WO2013129528A1 WO 2013129528 A1 WO2013129528 A1 WO 2013129528A1 JP 2013055243 W JP2013055243 W JP 2013055243W WO 2013129528 A1 WO2013129528 A1 WO 2013129528A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- gain
- code
- bits
- subframe
- sample sequence
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000013139 quantization Methods 0.000 claims abstract description 318
- 238000012545 processing Methods 0.000 claims abstract description 73
- 230000015572 biosynthetic process Effects 0.000 claims description 65
- 238000003786 synthesis reaction Methods 0.000 claims description 65
- 230000003044 adaptive effect Effects 0.000 claims description 55
- 230000005284 excitation Effects 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 39
- 230000000737 periodic effect Effects 0.000 claims description 26
- 238000013459 approach Methods 0.000 claims description 20
- 239000002131 composite material Substances 0.000 claims description 11
- 230000005236 sound signal Effects 0.000 claims description 5
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 73
- 230000004048 modification Effects 0.000 description 55
- 238000012986 modification Methods 0.000 description 55
- 230000006870 function Effects 0.000 description 18
- IVEKVTHFAJJKGA-BQBZGAKWSA-N (2s)-2-amino-5-[[(2r)-1-ethoxy-1-oxo-3-sulfanylpropan-2-yl]amino]-5-oxopentanoic acid Chemical group CCOC(=O)[C@H](CS)NC(=O)CC[C@H](N)C(O)=O IVEKVTHFAJJKGA-BQBZGAKWSA-N 0.000 description 4
- 101001106801 Homo sapiens Rab11 family-interacting protein 5 Proteins 0.000 description 4
- 102100021330 Rab11 family-interacting protein 5 Human genes 0.000 description 4
- 101000912874 Schizosaccharomyces pombe (strain 972 / ATCC 24843) Iron-sensing transcriptional repressor Proteins 0.000 description 4
- 101000886149 Schizosaccharomyces pombe (strain 972 / ATCC 24843) Transcription factor gaf1 Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 230000000541 pulsatile effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- 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/04—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 predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/083—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
Definitions
- Non-Patent Document 1 In the encoding method and decoding method described in Non-Patent Document 1, encoding and decoding at a fixed length are performed for the gain of the periodic component and the gain of the pulse component. However, in the encoding method described in Non-Patent Document 1, encoding and decoding are performed without considering redundancy regarding the frequency of the gain of the periodic component and the gain frequency of the pulse component and the continuity of the gain of the periodic component. Therefore, there is a problem that encoding and decoding efficiency is not good.
- variable-length code that assigns a short code to a frequently occurring index in advance
- index the length of the index code is approximately converted to distortion.
- An index with the most favorable balance between distortion and code length can be selected.
- the average waveform distortion can be made substantially the same as that of the prior art while the average bit rate is smaller than that of the prior art.
- waveform distortion can be reduced while maintaining the same average bit rate as compared with the conventional encoding method.
- each sub-section is configured by a plurality of sub-sections while performing variable-length coding. It is possible to approach the encoding of uniform length around the section.
- the search for pitch codes CT 1 , CT 2 , CT 3 , and CT 4 that specify 4 is performed by, for example, pitch periods of excitation signals generated at each past time point stored in the adaptive codebook 112 for each subframe.
- the perceptual weighting filter is applied to the difference between the synthesized signal obtained by applying the all-pole synthesis filter 117 specified by the linear prediction information LPC info to the signal obtained by delaying the candidate and the input acoustic signal. It is performed so that the value to which 116 is applied is minimized.
- Gain codebook provided in gain quantization section 118 uses a gain codebook that is a table for specifying a gain code corresponding to a set of a quantized pitch gain and a quantized fixed codebook gain.
- the gain quantization unit 118 of this embodiment has one gain codebook (variable length codebook) for obtaining a gain code that is a variable length code and one gain for obtaining a gain code that is a uniform length code.
- a code book uniform length code book
- variable length codebook stores a plurality of sets of quantized pitch gain candidates, quantized fixed codebook gain candidates, and variable length codebook indexes that are variable length codes.
- the variable length code is obtained from the result of quantizing the learning data, for example.
- the variable-length code is a set of a quantized pitch gain candidate and a quantized fixed codebook gain candidate when vector quantization is performed on a set of pitch gain and fixed codebook gain of learning data. Is assigned in advance according to the frequency of selection.
- a variable length codebook index (short code) with a small number of bits is assigned to the selected pair of the most frequently selected quantized pitch gain candidates and the quantized fixed codebook gain candidates.
- variable length codebook index (long code) having a large number of bits is assigned to a set of a low quantized pitch gain candidate and a quantized fixed codebook gain candidate. That is, a plurality of variable length codebook indexes stored in the variable length codebook include those having different numbers of bits.
- An example of such a variable length codebook index is a Huffman code.
- other variable length codes may be used as the variable length codebook index. Note that the frequency for determining the number of bits of each variable-length codebook index is a set of selected quantized pitch gain candidates and quantized fixed codebook gain candidates without using learning data. Therefore, even if variable-length codes are assigned to pairs of quantized pitch gain candidates and quantized fixed codebook gain candidates by predicting the above frequencies without using learning data, Good.
- the quantized pitch gain candidate values stored in the variable length codebook and the uniform length codebook, and the quantized fixed codebook gain candidate values are the results of quantizing the learning data. Obtained from. Therefore, in general, the candidate values stored in the variable-length codebook and the uniform-length codebook are different from each other.
- Gain quantization section 118 performs variable-length coding of fixed codebook gain and pitch gain using the above-described variable-length codebook for the first to third subframes (subframes other than the last subframe). And any variable-length codebook index is obtained as a gain code.
- gain quantization section 118 performs the uniform length coding of the fixed codebook gain and the pitch gain using the above-described uniform length codebook, and any uniform length The codebook index is obtained as a gain code. Details of the vector quantization performed by the gain quantization unit 118 will be described below.
- the [principle] and [example of specific procedure] of vector quantization in the first to third subframes will be described in order.
- variable length code is assigned as a variable length code book index of the variable length code book.
- the selection of the variable-length codebook index is not made based on a criterion for minimizing coding distortion (hereinafter referred to as “distortion”), but the distortion and the number of bits of the variable-length codebook index (code length, amount of information). It is made on the basis of a standard that takes into account the balance. Hereinafter, this standard will be described.
- the strain change rate D g / D 0 can be approximated as follows.
- D g / D 0 2 (-2g / N) ... (2)
- the logarithm of the distortion change rate D g / D 0 is proportional to the number of bits of the code g / N per sample.
- N 64
- the distortion change rate D g / D 0 is improved by about 0.1 dB when the number of code bits g per 64 samples is increased by 1 bit. Similar results can be obtained in experiments.
- Equation (1) approximates the general relationship between the distortion Dg and the number of bits of code per sample g / N.
- D be the distortion caused by using a quantized pitch gain candidate and a quantized fixed codebook gain candidate corresponding to a certain index in the codebook
- b be the number of bits in that index.
- the number of bits output as a whole of the encoding device can be reduced, or the average number of bits of the code output from the encoding device or the restriction that the number of bits is constant within a certain time interval can be saved.
- distortion of the subsequent frame can be reduced by using the bit in the subsequent frame.
- an index selected on the basis of minimizing D is a gain code.
- Equation (6) is based on various assumptions and approximations as described above.
- ⁇ is a positive constant and is used as an index value as in Equation (7). It is preferable to set a value based on an experiment tailored to the purpose.
- D U D (1 + ⁇ b) ...
- the index value D U is not limited to that described above, and a value obtained by adding or multiplying the distortion D and a coefficient that increases as the number of bits b of the variable-length codebook index increases is the index value D U. is a, code index value D U is the minimum need be searched.
- the gain quantization unit 118 receives each of the sample sequences Z obtained by passing the pulse sequence (sample sequence) corresponding to the code index through the synthesis filter 117 for each subframe (time interval).
- a sample string ⁇ Z obtained by multiplying a sample of ⁇ by a quantized fixed codebook gain candidate ⁇ and the past excitation signal by the number of samples corresponding to the pitch period corresponding to the pitch code are obtained through the synthesis filter 117.
- a sample sequence ⁇ Y obtained by multiplying each sample of the sample sequence Y by a quantized pitch gain candidate ⁇ and a corresponding sample to obtain a combined signal sample sequence ⁇ Y + ⁇ Z and an input acoustic signal X Index value obtained by adding or multiplying the distortion D and the coefficient that increases as the number of bits b of the variable-length codebook index increases
- a variable length codebook index U is minimized, and outputs as a gain code GA f1, GA f2, GA f3 . Further, the number of bits of the gain codes GA f1 , GA f2 and GA f3 is also output.
- gain quantization section 118 in the first to third subframes, for each subframe, sample sequence Z obtained by passing a pulse sequence corresponding to a code index through synthesis filter 117, and a pitch corresponding to a pitch code a sample sequence Y obtained through the number of samples only past excitation signal corresponding to the period to the synthesis filter 117, the index value D U is smallest candidate and quantized in quantized pitch gain for the input audio signal X
- the variable-length codebook index corresponding to the set of fixed codebook gain candidates is output as gain codes GAf1 , GAf2 , and GAf3 . Further, the number of bits of the gain codes GA f1 , GA f2 and GA f3 is also output.
- a pulse sequence corresponding to the code index may be obtained from the fixed codebook 113-q and used.
- the pitch code may be decoded to obtain a pitch period corresponding to the pitch code.
- the number of bits of the gain code is output from the gain encoding unit 118 because the bit number management unit 120 uses the number of bits of the gain code. Therefore, since the bit number management unit 120 can obtain the number of bits of the gain code from the gain code itself, it is not essential for the gain encoding unit 118 to output the number of bits of the gain code.
- the set of candidate variable length codebook index candidates and quantized fixed codebook gains of quantized pitch gain corresponding to each index value D U is quantized stored, respectively, in the variable length code book One of a set of a completed pitch gain candidate, a quantized fixed codebook gain candidate, and a variable length codebook index.
- the quantized fixed codebook gain candidate obtained from the quantized fixed codebook gain candidate function value May be ⁇ .
- the quantized pitch gain candidate obtained from the quantized pitch gain candidate function value is ⁇ , Good.
- the number of samples included in the sample sequence Z, the number of samples included in the sample sequence Y, and the number of samples included in the combined signal sample sequence ⁇ Y + ⁇ Z are the same as the number of samples included in the subframe.
- the synthesis filter 117 converts a sample ⁇ (n) at a certain sample point n into samples ⁇ (n) of P sample points n ⁇ 1, n ⁇ 2,..., NP past the sample point n. ⁇ 1), ⁇ (n ⁇ 2),..., ⁇ (n ⁇ P) with linear prediction coefficients a (n ⁇ 1), a (n ⁇ 2),.
- ⁇ (n) a (1) ⁇ ⁇ (n-1) + a (2) ⁇ ⁇ (n-2) + ... + a (P) ⁇ ⁇ (nP)
- the samples included in the sample string A are ⁇ (n ⁇ 1), ⁇ (n ⁇ 2),.
- ⁇ (n) is a sample at the sample point n of the sample sequence C.
- ⁇ (n ⁇ 1), ⁇ (n ⁇ 2),..., ⁇ (n ⁇ P) corresponds to a sample point in the past from the sample sequence A, for example, ⁇ (n ⁇ 1)
- At least part of ⁇ (n ⁇ 2),..., ⁇ (n ⁇ P) is a sample included in a sample sequence before the sample sequence A.
- the adaptive signal component (past excitation signal) v (L f (h ⁇ 1) ),..., V (L f (h) ⁇ 1) in the h-th subframe is obtained through the synthesis filter 117.
- the distortion D in the h-th subframe is expressed as follows.
- index value D U may be a formula described above (4) or (5), may be a less index value D U approximated by equation (6), (7 ).
- Gain quantization section 118 in each of the first to third sub-frame, to select a variable length codebook index value D U is the minimum as the gain code. That is, gain quantization section 118 selects a gain code in each of the first to third subframes in consideration of both distortion D and gain code bit number b (code length).
- the gain quantization unit 118 calculates the bit from the variable-length codebook index.
- the index value D U can be calculated without calculating the number b.
- the gain quantization unit 118 may calculate the index value D U by calculating the number of bits from the variable length code book index. Therefore, it is not essential to store the number of bits b of the variable length codebook index in the variable length codebook.
- the gain quantization unit 118 in each of the first to third sub-frame, corresponding to the candidate of the candidate and the quantized fixed codebook gains of quantized pitch gain which minimizes the following index values D U
- the variable-length codebook index to be searched may be searched from the variable-length codebook, and the obtained variable-length codebook index may be output as a gain code.
- B is the number of bits of a code necessary to uniformly encode a set of all quantized pitch gain candidates and quantized fixed codebook gain candidates stored in the variable length codebook.
- variable-length coding using the variable-length codebook illustrated in Table 4 and the variable-length codebook index with the number of bits of b is a gain code
- the uniform-length coding is changed to variable-length coding. It is assumed that the remaining (Bb) bits can be used to further encode the input acoustic signal, reducing distortion. Actually, if the (Bb) bit is positive, information can be saved, or it can be used after the next subframe.
- equation (11) is obtained from a uniform length code as a reference for selecting a variable length codebook. The variable length code is evaluated by converting into a distortion that the number of bits is smaller. The term (2log2) B / N in equation (11) is very small compared to 1. Therefore, there is no big difference between the index value D U approximate to the formula (10) and (11).
- the vector quantization performed by the gain quantization unit 118 in the fourth subframe is a plurality of uniform length codebook indices stored in the uniform length codebook for each input pitch period and pulse sequence. Is selected as a gain code.
- gain quantization section 118 uses, as a gain code, a uniform length codebook index corresponding to a pair of quantized fixed codebook gain candidates and quantized pitch gain candidates that minimizes distortion D. Output.
- vector quantization in the fourth subframe will be described.
- gain quantization section 118 applies each pulse sequence (sample sequence) corresponding to the code index to each sample of sample sequence Z obtained by passing through synthesis filter 117 for each subframe (time interval).
- a sample sequence ⁇ Z obtained by multiplying a quantized fixed codebook gain candidate ⁇ and a sample sequence of a signal obtained by passing past excitation signals through the synthesis filter 117 by the number of samples corresponding to the pitch corresponding to the pitch code Distortion D between the input acoustic signal X and the synthesized signal sample sequence ⁇ Y + ⁇ Z obtained by adding each sample of Y to the sample sequence ⁇ Y obtained by multiplying each sample of Y by the quantized pitch gain candidate ⁇ .
- the bit number management unit 120 determines and outputs the number of bits of the code index of the next subframe in each subframe except the last subframe.
- the bit number management unit 120 sets the gain codes GA f1 and GA f2 respectively .
- the number of bits is input, and the number of bits of the code index of the next subframe, that is, the second and third subframes is determined as follows. Instead of the number of bits of the gain code GA f1, GA f2, as input gain code GA f1, GA f2 themselves, it may be obtained the number of bits from the gain codes GA f1, GA f2.
- the bit number management unit 120 uses the predetermined value VAL 1,2 (first A value larger than (a predetermined value of 3) is determined and output as the number of bits of the code index of the next subframe.
- predetermined value VAL 1,1 is an expected value of the number of bits of the variable-length codebook index.
- An expected value of the number of bits of the long code is obtained and set as “predetermined value VAL 1,1 ”.
- the “value greater than the predetermined value VAL 1, 2 ” may be a fixed value, or may be a larger value as the difference between the number of gain code bits of the subframe and the predetermined value VAL 1 , 1 is larger. Good.
- the bit number management unit 120 sets a value smaller than the predetermined value VAL 1,2 to the next subframe. Determine the number of bits of the code index and output.
- the “value smaller than the predetermined value VAL 1, 2 ” may be a fixed value, or may be a smaller value as the difference between the number of bits of the gain code of the subframe and the predetermined value VAL 1 , 1 is larger. Good.
- the bit number management unit 120 uses the predetermined value VAL 1,2 as the code index of the next subframe.
- a value larger than the predetermined value VAL 1, 2 may be determined as the number of bits of the code index of the next subframe, or the predetermined value is the same as when the number of bits of the gain code is larger than the predetermined value VAL 1, 1.
- a value smaller than VAL 1, 2 may be determined as the number of bits of the code index of the next subframe.
- the number of bits of the gain code of the subframe is greater than the predetermined value VAL 1,1
- the number of bits of the code index of the next subframe is reduced, and the number of bits of the gain code of the subframe is the predetermined value VAL 1
- the number of bits of the code index of the next subframe is increased.
- the bit number management unit 120 calculates the total number of bits of codes output up to the subframe in the frame to which the first and second subframes belong, and calculates the number of bits.
- the code output up to the subframe is, for example, a code obtained for each frame or a plurality of subframes constituting the frame, and a code obtained for each subframe.
- Examples of codes output up to the subframe include the linear prediction information output from the linear prediction analysis unit 111, the pitch code output from the pitch analysis unit 114, the code index output from the search unit 115, and the gain quantum. This is the gain code output from the conversion unit 118.
- the total number of bits of the code output up to the first and second subframes held in the bit number management unit 120 is the number of bits of the code index in the bit number management unit 120 in the following third subframe. Used for decision.
- the bit numbers of the code indexes of the second and third subframes determined as described above are input to the search unit 115 and used for generation of code indexes C f2 and C f3 by the search unit 115.
- the bit number management unit 120 determines the number of subframes constituting each frame or a plurality of subframes constituting the frame from the number of bits determined in advance for each frame.
- the total number of bits of the code obtained for each frame, the total number of bits of the code obtained for each subframe from the first subframe to the third subframe in the frame, and the fourth subframe (the last subframe) Obtained by subtracting the total number of bits of codes other than the code index and gain code from the codes obtained for the frame) and the number of bits of the uniform length codebook index that is the number of bits of the gain code of the fourth subframe.
- the number of bits is determined and output as the number of bits of the code index of the fourth subframe.
- the bit number management unit 120 calculates the total bit number of the linear prediction information LPC info obtained in the frame from the bit number FB determined in advance for each frame, and the third subframe in the first subframe in the frame.
- the number of bits obtained by subtracting the number of bits of the pitch code CT 4 obtained and the number of bits of the uniform-length codebook index that is the number of bits of the gain code GA f4 is obtained as the code index C f4 of the fourth subframe. Determined as the number of bits.
- the bit number of the code index of the fourth subframe determined as described above is input to search section 115 and used for generation of code index C f4 by search section 115.
- bit number management unit 120 For the fourth subframe (the last subframe in the frame), the bit number management unit 120 does nothing.
- the adaptive codebook 112 has quantized fixed codebook gains g c1 ⁇ , for each sample of the pulse sequences c f1 , c f2 , c f3 , c f4 corresponding to the code indexes C f1 , C f2 , C f3 , C f4 .
- the bit stream generation unit 119 includes linear prediction information LPC info obtained by the linear prediction analysis unit 111, pitch codes CT 1 , CT 2 , CT 3 , CT 4 obtained by the pitch analysis unit 114, and a code index C obtained by the search unit.
- a bit stream BS is generated and output by f1 , C f2 , C f3 , C f4 , and gain codes GA f1 , GA f2 , GA f3 , GA f4 obtained by the gain quantization unit 118.
- the total number of bits of codes included in the bit stream BS is a predetermined number of bits FB.
- FIG. 3 illustrates an encoding procedure performed by the encoding device 11.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 1 and the pitch code (periodic component code) CT 1 .
- search section 115 obtains and outputs pulse sequence c f1 and code index (pulse component code) C f1 of a predetermined number of bits (predetermined value VAL 1,2 ).
- gain quantization section 118 obtains and outputs the number of bits of gain code GA f1 and gain code GA f1 using a variable-length codebook.
- the bit number management unit 120 determines and outputs the number of bits of the code index of the second subframe.
- first pitch analysis section 114 outputs to obtain a pitch period T 2 and a pitch code CT 2.
- search section 115 obtains and outputs pulse sequence c f2 and code index C f2 of the number of bits determined in the first subframe.
- gain quantization section 118 obtains and outputs the number of bits of gain code GA f2 and gain code GA f2 using a variable-length codebook.
- the bit number management unit 120 determines and outputs the number of bits of the code index of the third subframe.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 3 and the pitch code CT 3 .
- search section 115 obtains and outputs pulse sequence c f3 and code index C f3 of the number of bits determined in the second subframe.
- gain quantization section 118 obtains and outputs the number of bits of gain code GA f3 and gain code GA f3 using a variable-length codebook.
- the bit number management unit 120 determines and outputs the number of bits of the code index of the fourth subframe.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 4 and the pitch code CT 4 .
- search section 115 obtains and outputs pulse sequence cf4 and code index Cf4 of the number of bits determined in the third subframe.
- the gain quantization unit 118 obtains and outputs the gain code GA f4 using the uniform length codebook.
- the bit stream generation unit 119 has, for example, linear prediction information LPC info, pitch codes CT 1 , CT 2 , CT 3 , CT 4 , code indexes C f1 , C f2 , C whose total number of bits is the predetermined number of bits FB.
- a bit stream BS including f3 , Cf4 and gain codes GAf1 , GAf2 , GAf3 , GAf4 is generated and output.
- the parameter decoding unit 129 of the decoding device 12 receives the bit stream BS, receives linear prediction information LPC info included in the bit stream BS, pitch codes CT 1 , CT 2 , CT 3 , CT 4 , code index C f1 , Cf2 , Cf3 , Cf4 and gain codes GAf1 , GAf2 , GAf3 , GAf4 are obtained.
- the parameter decoding unit 129 decodes the obtained pitch codes CT 1 , CT 2 , CT 3 and CT 4 to obtain and output pitch periods T 1 ′, T 2 ′, T 3 ′ and T 4 ′.
- the pitch periods T 1 ′, T 2 ′, T 3 ′, and T 4 ′ are input to the adaptive codebook 122.
- the code indexes C f1 , C f2 , C f3 , and C f4 are input to the selection unit 125.
- c f1 , c f2 , c f3 , c f4 are obtained and output. Details of the code index decoding process will be described below.
- An example of the fixed codebook 123-q is the fixed codebook of Tables 1 to 3 described above.
- first sub-frame using the selection unit 125 is code index C f1, controls the fixed codebook 123-q 1 corresponding to the predetermined value VAL 1, 2 (third predetermined value) , and it outputs a pulse sequence c f1 to fixed codebook 123-q 1 corresponds to the code index C f1.
- the selection unit 125 uses the code indexes C f2 , C f3 , and C f4 for each subframe, and is determined by the bit number management unit 130.
- the fixed codebooks 123-q 2 to q 4 corresponding to the number of bits are controlled, and the fixed codebooks 123-q 2 to q 4 correspond to the code indexes C f2 , C f3 , C f4 and the pulse sequences c f2 , c f3 and cf4 are output.
- the selection unit 125 uses the fixed codebook 123-q corresponding to the number of bits determined by the bit number management unit 130 for the k-th subframe. k is controlled, and fixed codebook 123-q k outputs a pulse sequence c fk corresponding to code index C fk .
- the parameter decoding unit 129 decodes the obtained gain codes GA f1 , GA f2 , GA f3 , and GA f4 to obtain the decoding pitch gains g p1 ⁇ , g p2 ⁇ , g p3 ⁇ , g p4 ⁇ and the decoding fixed codebook gain. gc1 ⁇ , gc2 ⁇ , gc3 ⁇ , gc4 ⁇ are obtained and output.
- the parameter decoding unit 129 includes the same variable-length codebook and uniform-length codebook that the gain quantization unit 118 of the encoding device 11 includes, and using these, the gain codes GAf1 , GAf2 , GAf3 , GA Decode f4 .
- the parameter decoding unit 129 uses the variable length codebook described above for each subframe and corresponds to the gain codes GA f1 , GA f2 , GA f3 Decoding pitch gains g p1 , g p2 , g p3, and decoding fixed codebook gains g c1 , g c2 , g c3, and gain codes GA f1 , GA f2 , GA f3 To do.
- the bit number management unit 130 receives the number of bits of the gain code in each subframe except the last subframe, and determines and outputs the number of bits of the code index of the next subframe.
- the bit number management unit 130 uses the bits of the gain codes GA f1 and GA f2 respectively .
- the number is input, and the number of bits of the code index of the next subframe, that is, the second and third subframes is determined according to the same standard as the bit number management unit 120 of the encoding device 11.
- the number of bits of the code index determined by the bit number management unit 130 for the gain codes GA f1 and GA f2 is the number of bits of the code index determined by the bit number management unit 120 for the gain codes GA f1 and GA f2 Are the same.
- the number of bits is determined as follows.
- the bit number management unit 130 has a value larger than the predetermined value VAL 1,2 (third predetermined value). Is determined as the number of bits of the code index of the next subframe and output. If the number of bits gain code of the sub-frame is larger than a predetermined value VAL 1, 1, the number of bits management unit 130 determines a value smaller than the predetermined value VAL 1, 2 as the number of bits of the code index of the next sub-frame Output.
- the bit number management unit 120 of the corresponding encoding device 11 which operation is to be performed is determined in advance according to the bit number management unit 120 of the corresponding encoding device 11.
- Each value is the same as 120.
- the number of bits of the code index of the second and third subframes determined as described above is input to the selection unit 125 and used for decoding of the code indexes C f2 and C f3 in the selection unit 125.
- the bit number management unit 130 calculates and stores the total number of code bits up to the subframe.
- the total number of bits of the code for each frame the total number of bits of the code for each subframe from the first subframe to the third subframe in the frame, and the code of the fourth subframe (last subframe)
- bit number management unit 130 For the fourth subframe (the last subframe in the frame), the bit number management unit 130 does nothing.
- the parameter decoding unit 129 decodes the pitch code (periodic component code) CT 1 to obtain and output the pitch period T 1 ′.
- fixed codebook 123-q 1 corresponding to a predetermined number of bits (predetermined value VAL 1,2 ) outputs pulse sequence c f1 corresponding to code index C f1 .
- the parameter decoding unit 129 decodes the gain code GA f1 using the variable length codebook described above, and sets the number of bits of the decoding pitch gain g p1 ⁇ , the decoded fixed codebook gain g c1 ⁇ , and the gain code GA f1. Output.
- the bit number management unit 130 determines and outputs the number of bits of the code index of the second subframe.
- the parameter decoding unit 129 decodes the pitch code CT 4 to obtain and output the pitch period T 4 ′.
- fixed codebook 123-q 4 corresponding to the number of bits determined in the third subframe outputs pulse sequence cf4 corresponding to code index Cf4 .
- parameter decoding section 129 decodes gain code GA f4 using the above-described uniform length codebook, and outputs decoded pitch gain g p4 ⁇ and decoded fixed codebook gain g c4 ⁇ .
- the plurality of rth uniform length codebook indexes included in the same rth uniform length codebook all have the same number of bits.
- the number of bits from the first uniform length codebook index stored in the R uniform length codebooks to the Rth uniform length codebook index is different for each uniform length codebook. That is, each of the R uniform length codebooks corresponds to the number of bits of the rth uniform length codebook index stored therein, and the rth uniform length of a desired number of bits depends on which uniform length codebook is used.
- a long codebook index can be obtained as a gain code.
- bit number management unit 120 ′ determines and outputs the number of bits of the gain code of the last subframe in addition to the number of bits of the code index of the next subframe.
- the processing of the bit number management unit 120 ′ in the first and second subframes is the number of bits in the first embodiment. This is the same as the management unit 120. Also, the bit number management unit 120 ′ does nothing in the fourth subframe (last subframe).
- the bit number management unit 120 ′ uses a predetermined number of bits for each frame to generate a plurality of frames constituting each frame or the frame.
- the total number of bits of the code obtained for each subframe, the total number of bits of the code obtained for each subframe from the first subframe to the third subframe in the frame, and the fourth subframe is obtained by subtracting the number of bits of the code index and the number of gain codes of the fourth subframe. Is determined as the total number of bits.
- the number-of-bits management unit 120 ′ sets the number of bits in the code index of the fourth subframe and the gain code so that the total number of bits becomes the sum of the number of bits in the code index in the fourth subframe and the number of bits in the gain code. And determine the number of bits. That is, the bit number management unit 120 'distributes the total number of bits to the number of bits of the code index and the number of bits of the gain code in the fourth subframe.
- bit number management unit 130 ′ determines and outputs the number of bits of the gain code of the last subframe in addition to the number of bits of the code index of the next subframe.
- the processing of the bit number management unit 130 ′ in the first and second subframes is the number of bits in the first embodiment. It is the same as the management unit 130. Also, the bit number management unit 130 ′ does nothing in the fourth subframe (last subframe).
- the decoding device 22 includes an adaptive codebook 122, a fixed codebook 223, a selection unit 225, a synthesis filter 127, and a parameter decoding unit 229.
- the parameter decoding unit 229 has a bit number management unit 230.
- ⁇ Encoder 21> The differences of the encoding device 21 of the second embodiment from the encoding device 11 are a fixed codebook 213, a search unit 215, a gain quantization unit 218, and a bit number management unit 220. Others are the same as the first embodiment.
- the code indexes C f1 , C f2 , C f3 , and C f4 have the same number of bits, and all have one predetermined value as described above. Since the pulse sequence is obtained by decoding the code index, it is not essential for the search unit 215 to output it.
- ⁇ is a positive coefficient
- N is the number of samples included in one subframe (the number of samples included in the composite signal sample sequence ⁇ Y + ⁇ Z)
- b is the number of bits of the variable-length codebook index. is there.
- gain quantization section 218 performs, for each subframe, equation (12) corresponding to a set of a quantized pitch gain candidate and a quantized fixed codebook gain candidate.
- the index value D U to obtain a variable length codebook index to minimize outputs them to obtain a gain code GA f1, GA f2, GA f3 of the first to third sub-frame.
- the number of bits of the gain codes GA f1 , GA f2 and GA f3 is also output.
- ⁇ Number of bits management unit 220 If the next subframe is not the last subframe, the bit number management unit 220 determines and outputs the coefficient ⁇ used in the gain quantization unit 218 in the next subframe, and the next subframe is the last subframe. In the case of the subframe, the number of bits of the gain code in the last subframe is determined and output.
- a value larger than the predetermined value VAL 2,2 is set as the value of the coefficient ⁇ of the next subframe.
- the “value greater than the predetermined value VAL 2,2 ” may be a fixed value, or may be a larger value as the difference between the number of bits of the gain code of the subframe and the predetermined value VAL 2,1 increases. Good.
- the predetermined value VAL 2,2 is determined as the value of the coefficient ⁇ of the next subframe. Output.
- the coefficient ⁇ in the second and third subframes determined as described above is input to the gain quantization unit 218 and used for generation of the gain codes GA f1 and GA f2 in the gain quantization unit 218.
- the coefficient ⁇ is determined. Conversely, if the number of bits of the gain code of the subframe is small, the coefficient ⁇ is determined to be an index value D U to induce the large gain code of the number of bits in the next sub-frame is selected. Thereby, the number of bits of the code for each frame can be brought close to the predetermined number of bits FB.
- the bit number management unit 220 determines the total number of bits of the linear prediction information LPC info obtained in the frame from the number of bits predetermined for each frame, and the first subframe to the third subframe in the frame.
- the number of bits obtained by subtracting the number of bits of the pitch code CT 4 and the number of bits of the code index of the fourth subframe is determined as the number of bits of the gain code GA f4 of the fourth subframe.
- the number of bits of the gain code of the fourth subframe determined as described above is input to gain quantization section 218 and used for generation of gain code GA f4 in gain quantization section 218.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 4 and the pitch code CT 4 .
- the search unit 215 obtains and outputs a pulse sequence cf4 and a code index Cf4 having a predetermined number of bits.
- gain quantization section 218 obtains and outputs gain code GA f4 using the uniform length codebook corresponding to the number of bits of the gain code determined in the third subframe.
- a code having a predetermined number of bits FB is obtained for the frame composed of the first to fourth subframes.
- the subsequent encoding procedure is the same as in the first embodiment.
- the parameter decoding unit 229 uses the above-described variable length codebook for each frame, as in the first embodiment, and the gain code GA f1 , GA f2, decoded pitch gain corresponding to GA f3 g p1 ⁇ , g p2 ⁇ , g p3 ⁇ and decoded fixed codebook gain g c1 ⁇ , g c2 ⁇ , g c3 ⁇ and gain code GA f1, GA f2, GA f3 Get the number of bits and output.
- the bit number management unit 230 determines the total number of bits of the linear prediction information LPC info obtained in the frame from the number of bits predetermined for each frame, and the first subframe to the third subframe in the frame.
- the total number of bits of pitch codes CT 1 , CT 2 , CT 3 , code indexes C f1 , C f2 , C f3 and gain codes GA f1 , GA f2 , GA f3 obtained up to the frame and obtained in the fourth subframe
- the number of bits obtained by subtracting the number of bits of the pitch code CT 4 and the number of bits of the code index of the fourth subframe is determined and output as the number of bits of the gain code GA f4 of the fourth subframe.
- FIG. 6 illustrates a decoding procedure performed by the decoding device 22.
- the parameter decoding unit 229 decodes the pitch code (periodic component code) CT 1 to obtain and output the pitch period T 1 ′.
- fixed codebook 223 outputs pulse sequence cf1 corresponding to code index Cf1 .
- parameter decoding section 229 decodes gain code GA f1 using the variable length codebook described above, and outputs decoded pitch gain g p1 ⁇ , decoded fixed codebook gain g c1 ⁇ , and gain code GA f1 bit number To do.
- the bit number management unit 230 calculates and stores the total value of the code bit numbers up to the subframe.
- the parameter decoding unit 229 first decodes the pitch code CT 2 to obtain and output the pitch period T 2 ′.
- fixed codebook 223 outputs pulse sequence cf2 corresponding to code index Cf2 .
- parameter decoding section 229 decodes gain code GA f2 using the above-described variable length codebook, and outputs decoded pitch gain g p2 ⁇ , decoded fixed codebook gain g c2 ⁇ , and gain code GA f2 number of bits. To do.
- the bit number management unit 230 calculates and stores the total value of the code bit numbers up to the subframe.
- the parameter decoding unit 229 first decodes the pitch code CT 4 to obtain and output the pitch period T 4 ′.
- fixed codebook 223 outputs pulse sequence cf4 corresponding to code index Cf4 .
- the parameter decoding unit 229 decodes the gain code GA f4 using the uniform length codebook corresponding to the number of bits of the gain code of the fourth subframe determined in the third subframe, and the decoding pitch gain g p4 ⁇ and decoded fixed codebook gain gc4 ⁇ are output.
- the gain quantization unit 218 of the encoding device 21 includes a plurality of variable length codebooks and uses a variable length codebook predetermined for each value of the coefficient ⁇ in the first to third subframes.
- the gain code may be obtained and output.
- the predetermined value VAL 2,2 is a coefficient ⁇ .
- the coefficient ⁇ of the next subframe determined by the bit number management unit 220 in the first and second subframes is used.
- the parameter decoding unit 229 of the decoding device 22 includes a plurality of variable length codebooks that are the same as the gain quantization unit 218.
- Parameter decoding section 229 decodes the gain code using the variable-length codebook determined in advance for each value of coefficient ⁇ in the first to third subframes.
- the predetermined value VAL 2,2 is a coefficient ⁇ .
- the coefficient ⁇ of the next subframe determined by the bit number management unit 230 in the first and second subframes according to the same standard as the bit number management unit 220 is used.
- Other decoding processes are the same as those in the second embodiment.
- gamma is a positive constant, since ⁇ is a positive coefficient, if a positive coefficient corresponding to ⁇ and w, is the use of index values D U which is obtained by the formula (14) it can.
- D u D (1 + wb)... (14) That is, in the first modification of the second embodiment or the second embodiment, the coefficient w is used in place of the coefficient [nu, index value D calculated by the formula (14) in place of the index value D U which is obtained by the formula (12) U may be used.
- Others are the same as the second embodiment or the first modification of the second embodiment.
- the parameter decoding unit 329 includes a bit number management unit 130 '.
- the configuration that is not included in either the encoding device 11 or the encoding device 21 is the bit number management unit 320.
- Linear prediction analysis unit 111, adaptive codebook 112, fixed codebook 113-q (q 0,..., Q-1), pitch analysis unit 114, search unit 115, perceptual weighting filter 116, synthesis filter 117, and
- the bit stream generation unit 119 is the same as that of the first embodiment, and the gain quantization unit 218 is the same as that of the second embodiment.
- the bit number management unit 320 determines and outputs the number of bits and the coefficient ⁇ of the code index of the next subframe in each subframe except the last subframe.
- the bit number management unit 320 uses the bits of the gain codes GA f1 and GA f2 respectively. The number is input, and the number of bits of the code index of the next subframe, that is, the second and third subframes, and the coefficient ⁇ used by the gain quantization unit 218 are determined in the second and third subframes as follows. .
- the bit number management unit 320 When the number of bits of the gain code of the subframe obtained by the gain quantization unit 218 is smaller than the predetermined value VAL 1,1 (first predetermined value), the bit number management unit 320 has the predetermined value VAL 1,2 (first number). A value larger than a predetermined value VAL 3,2 (a value corresponding to the second predetermined value) is determined as the number of bits of the code index of the next subframe. It is determined and output as the value of the frame coefficient ⁇ .
- the “value greater than the predetermined value VAL 1, 2 ” may be a fixed value, or may be a larger value as the difference between the number of gain code bits of the subframe and the predetermined value VAL 1 , 1 is larger. Good.
- the “value smaller than the predetermined value VAL 3,2 ” may be a fixed value, or may be a smaller value as the difference between the number of gain code bits of the subframe and the predetermined value VAL 1,1 increases. Good.
- the bit number management unit 320 sets a value smaller than the predetermined value VAL 1,2 to the next subframe.
- the number of bits of the code index is determined, and a value larger than the predetermined value VAL 3, 2 is determined and output as the value of the coefficient ⁇ of the next subframe.
- the “value smaller than the predetermined value VAL 1, 2 ” may be a fixed value, or may be a smaller value as the difference between the number of bits of the gain code of the subframe and the predetermined value VAL 1 , 1 is larger.
- the “value greater than the predetermined value VAL 3, 2 ” may be a fixed value, or may be a larger value as the difference between the number of bits of the gain code of the subframe and the predetermined value VAL 1 , 1 increases. Good.
- the bit number management unit 320 uses the predetermined value VAL 1,2 as the code index of the next subframe. It is desirable to determine the number of bits, and to determine and output the predetermined value VAL 3,2 as the value of the coefficient ⁇ of the next subframe.
- the bit number management unit 320 calculates the total number of bits of the code output up to the subframe within the frame to which the first and second subframes belong, and calculates the number of bits. Stored in the management unit 320.
- the bit numbers of the code indexes of the second and third subframes determined as described above are input to the search unit 115 and used for generation of code indexes C f2 and C f3 by the search unit 115.
- the coefficients ⁇ of the second and third subframes determined as described above are input to the gain quantization unit 218 and used for generating gain codes in the second and third subframes.
- the bit number management unit 320 uses a predetermined number of bits for each frame to generate a plurality of sub-frames for each frame or the frame.
- the total number of bits of the code obtained for each frame, the total number of bits of the code obtained for each subframe from the first subframe to the third subframe in the frame, and the fourth subframe (the last subframe) The number of bits obtained by subtracting the code index and the total number of codes other than the gain code among the codes obtained for the frame) is obtained by subtracting the number of bits of the code index of the fourth subframe and the number of bits of the gain code.
- the number-of-bits management unit 320 has the number of bits of the code index of the fourth subframe and the number of gain codes so that the total number of bits is the sum of the number of bits of the code index of the fourth subframe and the number of bits of the gain code. Determine the number of bits. That is, the bit number management unit 320 distributes the total number of bits into the number of bits of the code index and the number of bits of the gain code according to the distribution standard as described above.
- the bit number management unit 320 determines the total number of bits of the linear prediction information LPC info obtained in the frame from the number of bits determined in advance for each frame, and the first subframe to the third subframe in the frame.
- the total number of bits of pitch codes CT 1 , CT 2 , CT 3 , code indexes C f1 , C f2 , C f3 and gain codes GA f1 , GA f2 , GA f3 obtained up to the frame and obtained in the fourth subframe
- the number of bits obtained by subtracting the number of bits of the pitch code CT 4 to be obtained is distributed to the number of bits of the code index and the number of bits of the gain code of the fourth subframe.
- bit number management unit 320 does nothing.
- FIG. 7 illustrates an encoding procedure performed by the encoding device 31.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 1 and the pitch code (periodic component code) CT 1 .
- search section 115 obtains and outputs pulse sequence c f1 and code index (pulse component code) C f1 of a predetermined number of bits (predetermined value VAL 1,2 ).
- the gain quantization unit 218 obtains the number of bits of the gain code GA f1 and gain code GA f1 using an index value D U a variable length code book corresponding to the coefficient is a predetermined value VAL 3,2 [nu Output To do.
- the bit number management unit 320 determines and outputs the number of bits of the code index of the second subframe.
- first pitch analysis section 114 outputs to obtain a pitch period T 2 and a pitch code CT 2.
- search section 115 obtains and outputs pulse sequence c f2 and code index C f2 of the number of bits determined in the first subframe.
- the gain quantization unit 218 obtains the number of bits of the gain code GA f2 and gain code GA f2 using an index value D U a variable length code book corresponding to the coefficients ⁇ determined in the first subframe output To do.
- the bit number management unit 320 determines and outputs the number of bits of the code index of the third subframe.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 3 and the pitch code CT 3 .
- search section 115 obtains and outputs pulse sequence c f3 and code index C f3 of the number of bits determined in the second subframe.
- the gain quantization unit 218 obtains the number of bits of the gain code GA f3 and gain code GA f3 with an index value D U a variable length code book corresponding to ⁇ coefficients determined by the second sub-frame output To do.
- the bit number management unit 320 determines and outputs the number of bits of the code index of the fourth subframe.
- the pitch analysis unit 114 first obtains and outputs the pitch period T 4 and the pitch code CT 4 .
- search section 115 obtains and outputs pulse sequence cf4 and code index Cf4 of the number of bits determined in the third subframe.
- gain quantization section 218 obtains and outputs gain code GA f4 using the uniform length codebook corresponding to the number of bits determined in the third subframe.
- the pitch periods T 1 ′, T 2 ′, T 3 ′, and T 4 ′ are input to the adaptive codebook 122.
- bit number management unit 130 '>> This is the same as the modification of the first embodiment.
- FIG. 8 illustrates a decoding procedure performed by the decoding device 32.
- the parameter decoding unit 329 decodes the pitch code (periodic component code) CT 1 to obtain and output the pitch period T 1 ′.
- fixed codebook 123-q 1 corresponding to a predetermined number of bits (predetermined value VAL 1,2 ) outputs pulse sequence c f1 corresponding to code index C f1 .
- parameter decoding section 329 decodes gain code GA f1 using the variable length codebook described above, and sets the number of bits of decoding pitch gain g p1 ⁇ , decoded fixed codebook gain g c1 ⁇ and gain code GA f1. Output.
- the bit number management unit 130 determines and outputs the number of bits of the code index of the second subframe.
- the parameter decoding unit 329 first decodes the pitch code CT 2 to obtain and output the pitch period T 2 ′.
- the fixed codebook 123-q 2 corresponding to the number of bits determined by the first subframe, outputs a pulse sequence c f2 corresponding to the code index C f2.
- parameter decoding section 329 decodes gain code GA f2 using the variable length codebook described above, and determines the number of bits of decoding pitch gain g p2 ⁇ , decoded fixed codebook gain g c2 ⁇ and gain code GA f1. Output.
- the bit number management unit 130 determines and outputs the number of bits of the code index of the third subframe.
- the parameter decoding unit 329 decodes the pitch code CT 3 to obtain and output the pitch period T 3 ′.
- the fixed codebook 123-q 3 corresponding to the number of bits determined by the second sub-frame, outputs a pulse sequence c f3 corresponding to the code index C f3.
- parameter decoding section 329 decodes gain code GA f3 using the above-described variable length codebook, and sets the number of bits of decoding pitch gain g p3 ⁇ , decoded fixed codebook gain g c3 ⁇ and gain code GA f1. Output.
- the bit number management unit 130 determines and outputs the number of bits of the code index of the fourth subframe.
- the parameter decoding unit 329 first decodes the pitch code CT 4 to obtain and output the pitch period T 4 ′.
- fixed codebook 123-q 4 corresponding to the number of bits determined in the third subframe outputs pulse sequence cf4 corresponding to code index Cf4 .
- parameter decoding section 329 decodes gain code GA f4 using a uniform length codebook corresponding to the number of bits determined in the third subframe, and obtains decoding pitch gain g p4 ⁇ and decoded fixed codebook gain.
- g c4 ⁇ is output.
- Modification 1 of the third embodiment for subframes other than the last subframe in the frame, the number of bits of the code index and the number of bits of the gain code are adjusted for each subframe. For the last subframe, the number of bits of the code index is adjusted, but the number of bits of the gain code is fixed. In this modification, it is not necessary for the gain quantization unit to include a plurality of uniform length codebooks.
- the third embodiment will be described focusing on the differences from the first to third embodiments.
- the decoding device is the decoding device 12 of the first embodiment.
- ⁇ Encoder 31 '> The difference between the encoding device 31 ′ of the modification 1 of the third embodiment and the encoding device 31 is a gain quantization unit 318 ′ and a bit number management unit 320 ′. Others are the same as the third embodiment.
- the gain quantization unit 318 ′ includes one variable length codebook and one uniform length codebook similar to those in the first embodiment.
- the vector quantization performed by the gain quantization unit 318 ′ in the first to third subframes is the same as the vector quantization performed by the gain quantization unit 218 of the third embodiment in the first to third subframes.
- the vector quantization performed by the gain quantization unit 318 ′ in the fourth subframe is the same as the vector quantization performed by the gain quantization unit 118 of the first embodiment in the fourth subframe.
- the bit number management unit 320 ′ determines and outputs the number of bits and the coefficient ⁇ of the code index of the next subframe in each subframe excluding the last subframe and the immediately preceding subframe. Also, the bit number management unit 320 ′ receives the number of bits of the gain code in the subframe immediately before the last subframe, and determines and outputs the number of bits of the code index of the next subframe.
- the processing of the bit number management unit 320 ′ in the first and second subframes is the number of bits in the third embodiment. This is the same as the processing of the management unit 320 in the first and second subframes.
- bit numbers of the code indexes of the second and third subframes determined as described above are input to the search unit 115 and used for generation of code indexes C f2 and C f3 by the search unit 115.
- the coefficients ⁇ of the second and third subframes determined as described above are input to the gain quantization unit 218 and used to generate gain codes in the second and third subframes (FIG. 7).
- the bit number management unit 320 ′ uses a predetermined number of bits for each frame to generate a plurality of frames constituting the frame or the frame.
- the determined number of bits is determined as the number of bits of the code index of the fourth subframe and output.
- This process is the same as the process in the third subframe of the bit number management unit 120 of the first embodiment.
- the number of bits of the code index of the fourth subframe determined as described above is input to search section 115 and used for generation of code index C f4 by search section 115 (FIG. 7).
- the bit number management unit 320 ′ does nothing.
- the gain quantization units 218 and 318 ′ of the encoding device 31 include a plurality of variable length codebooks, and the value of each coefficient ⁇ in the first to third subframes.
- a gain code may be obtained and output using a predetermined variable length codebook.
- the predetermined value VAL 3,2 is a coefficient ⁇ .
- the coefficient ⁇ of the next subframe determined by the bit number management units 320 and 320 ′ in the first and second subframes is used.
- ' may be stored in a gain quantization unit 218, 318' parts 218, 318 selects a variable length code book corresponding to the value of [nu, minimizing the index value D U from the variable-length code book selected
- a variable length codebook index is selected and output as a gain code.
- Other encoding processes are the same as those in the third embodiment or the first modification thereof.
- the parameter decoding unit 329 of the decoding devices 32 and 32 ′ includes a plurality of variable length codebooks that are the same as the gain quantization units 218 and 318 ′, respectively.
- Parameter decoding section 329 decodes the gain code in the first to third subframes using a variable length codebook that is predetermined for each value of coefficient ⁇ .
- the predetermined value VAL 3,2 is a coefficient ⁇ .
- the coefficient v of the next subframe determined by the bit number management unit 130 ′ in the first and second subframes according to the same standard as the bit number management unit 320 is used.
- Other decoding processes are the same as those of the third embodiment or the modification 1 thereof.
- Modification 3 of the third embodiment Modification 1 or 2 of the third embodiment or the third embodiment, in place of the index value D U which is obtained by the formula (12) may be used is the index value D U which is obtained by the formula (13). Others are the same as 3rd embodiment or the modification 1 or 2 of 3rd embodiment.
- the coefficient w is used in place of the coefficient ⁇ , and the index value D obtained in Expression (14) instead of the index value D U obtained in Expression (12). U may be used.
- Others are the same as 3rd embodiment or the modification 1 or 2 of 3rd embodiment.
- the present invention is not limited to the above-described embodiment.
- the linear prediction analysis unit 111 may obtain and output the linear prediction information LPC info for each of a plurality of subframes constituting the frame.
- the example in which the linear prediction information LPC info is obtained for each frame and the code index, the pitch code, and the gain code are obtained for each subframe has been described.
- other codes such as a code representing the power of a signal in a frame may be obtained for each frame, for each of a plurality of subframes constituting the frame, or for each subframe.
- the frame is composed of a plurality of subframes, and the linear prediction residual signal is encoded using a fixed codebook, an adaptive codebook, and a gain codebook.
- a fixed codebook an adaptive codebook
- a gain codebook An example in which the present invention is applied to gain coding has been shown.
- the fixed codebook Even if it does not have any of the adaptive codebooks, or has more than one of the fixed codebook and the adaptive codebook, other than the encoding using the fixed codebook or adaptive codebook Even if the encoding method of the sample sequence is adopted, it is an encoding method that can obtain a waveform information code that is a code corresponding to the sample sequence by any method, and a plurality of predetermined time or frequency sections A waveform sample string obtained by multiplying a sample string corresponding to a waveform information code by a quantized gain (hereinafter referred to as “quantized gain”) and an input signal are provided.
- quantized gain a quantized gain
- the input signal is, for example, a time series signal.
- Examples of input signals are acoustic signals, video signals, biological signals, seismic wave signals, sensor array signals, and the like.
- the input signal may be a time domain signal or a frequency domain signal. Examples of time or frequency intervals are frames and frequency bands, and examples of sub intervals are subframes and subbands.
- the waveform information code is a code that can specify a sample string by decoding the waveform information code.
- the sample sequence corresponding to the waveform information code is obtained, for example, by passing the sample sequence itself obtained by decoding the waveform information code or the sample sequence obtained by decoding the waveform information code through the synthesis filter. Is.
- the encoding device includes a gain quantization unit and an adjustment encoding unit.
- the gain quantization unit stores a plurality of sets of quantized gain candidates or their function values and variable-length codebook indexes, and includes a plurality of variable-length codebook indexes having different numbers of bits. Includes variable length codebook.
- the gain quantization unit corresponds to the waveform information code for each sub-section for at least one sub-section within the time or frequency section (at least one sub-section among the sub-sections within the time or frequency section).
- variable length codebook index having the smallest index value D U that increases as the number of bits of the variable length codebook index corresponding to the candidate increases is obtained as a gain code.
- the adjustment encoding unit obtains the gain quantization unit so that the total number of bits of the code in the time or frequency interval approaches a predetermined number of bits for at least one sub-interval in the time or frequency interval
- a code is obtained by an encoding process including adjustment according to the number of bits of the gain code (an example using a gain quantization unit that performs scalar quantization).
- the gain quantization unit may perform vector quantization.
- the gain quantizing unit that performs vector quantization stores a plurality of first to ⁇ th ( ⁇ is an integer of 2 or more) quantized gain candidates or a set of function values and variable length codebook indexes.
- a variable-length codebook The plurality of variable length codebook indexes include those having different numbers of bits.
- the gain quantizing unit that performs vector quantization, for at least one sub-interval in the time or frequency interval, for each sub-interval, ⁇ first to ⁇ -th ⁇ -th ( ⁇ is 1 or more ⁇ ⁇ -th waveform sample sequence obtained by multiplying each sample of the sample sequence corresponding to the waveform information code of the following integer) by a candidate of the ⁇ -th quantized gain (that is, ⁇ items from the first to the ⁇ ) ),
- the variable-length codebook index having the smallest index value D U that increases as the number of bits of the variable-length codebook index corresponding to the candidate is the largest is obtained as the gain code.
- Other configurations included in the encoding device are the same as those of the “example using a gain quantization unit that performs scalar quantization” (an example using a gain
- index value D U is a value obtained by adding or multiplying the more larger coefficient greater number of bits b of distortion D and the variable length codebook indices described above.
- An example of a coefficient that increases as the number of bits b of the variable-length codebook index increases is a power value that has an exponent with a value that increases as the number of bits of the variable-length codebook index increases.
- Specific examples of the index value D U is the aforementioned formula (4) (5) (7) (10) - (14), and the like.
- the encoding apparatus includes an encoding apparatus 11 according to the first embodiment illustrated in FIG. 1, an encoding apparatus 11 ′ according to a modification of the first embodiment, an encoding apparatus 21 according to the second embodiment and the modification.
- the encoding device 31 of the third embodiment and the encoding device 31 ′ of the modification of the third embodiment are included.
- the configuration in which the gain quantization unit is the gain quantization unit 118 and the adjustment encoding unit is the search unit 115 is the encoding device 11 of the first embodiment.
- a configuration in which the gain quantization unit is the gain quantization unit 118 ′ and the adjustment encoding unit is the search unit 115 and the gain quantization unit 118 ′ is the encoding device 11 ′ according to the modification of the first embodiment.
- the configuration in which the gain quantization unit and the adjustment coding unit are the gain quantization unit 218 is the coding device 21 of the second embodiment or its modification.
- the configuration in which the gain quantization unit is the gain quantization unit 218 and the adjustment encoding unit is the search unit 115 and the gain quantization unit 218 is the encoding device 31 of the third embodiment.
- the gain quantization unit is the gain quantization unit 318 ′ and the adjustment encoding unit is the search unit 115 and the gain quantization unit 318 ′ is the encoding device 31 ′ according to the modification of the third embodiment.
- the quantized gain candidates are the quantized pitch gain candidate ⁇ and the quantized fixed codebook gain candidate ⁇
- the waveform information code is the pitch code and the code index
- the input signal is the input sound. It is a signal, and a section of time or frequency is a frame, and a subsection is a subframe.
- the gain quantization unit 118 multiplies each sample of the sample sequence corresponding to the waveform information code by the quantized gain candidate for the first to third subframes.
- the number of bits of the variable-length codebook index corresponding to the quantized gain candidate for obtaining the waveform sample sequence increases as the distortion D between the waveform sample sequence obtained and the input signal increases.
- the variable-length codebook index that has the smallest index value D U that increases with increasing is obtained as a gain code.
- the search unit 115 sets the number of bits of the gain code obtained by the gain quantization unit 118 so that the total number of bits of the code in the frame approaches the predetermined number of bits.
- a waveform information code is obtained by an encoding process including adjustment according to the size.
- the gain quantization unit 118 of the first embodiment performs the process for the first to third subframes for the fourth to second subframes, and the second of the search unit 115 of the first embodiment.
- the processing for the fourth subframe may be performed for the third to first subframes.
- processing for the first to third subframes of the gain quantization unit 118 of the first embodiment May be performed only for the first subframe, the processing for the second to third subframes of the search unit 115 of the first embodiment is performed only for the third subframe, and the first of the search unit 115 of the first embodiment is performed.
- the processing for 4 subframes may not be performed. In this case, the encoding is not completely uniform in all frames, but can be close to the encoding of uniform length.
- processing for the first to third subframes of the gain quantization unit 118 of the first embodiment May be performed for all of the first to fourth subframes, and the processing for the second to fourth subframes of the search unit 115 of the first embodiment is the same as that of the first embodiment. This may be done for the frame. In this case as well, the entire frame cannot be encoded with a uniform length, but can approach the encoding with a uniform length.
- the distortion D between the waveform sample sequence obtained by multiplying each sample of the sample sequence corresponding to the waveform information code by the quantized gain candidate and the input signal is large.
- the variable length code becomes smaller as the index value D U becomes larger as the number of bits of the variable length codebook index corresponding to the quantized gain candidate for obtaining the waveform sample sequence becomes larger.
- the process of obtaining the book index as a gain code is performed in at least one subframe, and the gain quantization unit 118 obtains the search unit 115 so that the total number of bits of the code in the frame approaches the predetermined number of bits.
- the process of obtaining the waveform information code by the encoding process including adjustment according to the magnitude of the number of bits of the gain code may be performed in at least one subframe.
- the gain quantization unit 218 assigns the quantized gain candidate to each sample of the sample sequence corresponding to the waveform information code for the first to third subframes.
- the variable length codebook index corresponding to the quantized gain candidate for obtaining the waveform sample sequence increases as the distortion D between the waveform sample sequence obtained by multiplication and the input signal increases.
- the variable length codebook index having the smallest index value D U that increases as the number of bits increases is obtained as a gain code.
- the gain quantization unit 218 obtains the number of bits of the gain code obtained by the gain quantization unit 218 so that the total number of bits of the code in the frame approaches the predetermined number of bits.
- the waveform information code is obtained by an encoding process including adjustment according to the size of the signal.
- the gain quantization section 218 of the second embodiment performs the processing for the first to third subframes for the fourth to second subframes, and performs the second implementation.
- the processing for the second to fourth subframes of the form search unit 218 may be performed for the third to first subframes.
- the processing for the first to third subframes of the gain quantization section 218 of the second embodiment May be performed only for the first subframe, and the processing for the second to third subframes of the gain quantization unit 218 of the second embodiment is performed only for the third subframe, and the gain quantization of the second embodiment is performed.
- the processing on the fourth subframe of the unit 218 may not be performed. In this case, the encoding is not completely uniform in the entire frame, but can be close to encoding in the uniform length.
- processing for the first to third subframes of the gain quantization unit 218 of the second embodiment. May be performed for all the first to fourth subframes.
- encoding is not completely uniform in all frames, but it can be approximated to encoding of uniform length.
- the distortion D between the waveform sample sequence obtained by multiplying each sample of the sample sequence corresponding to the waveform information code by the quantized gain candidate and the input signal is large.
- the variable length code becomes smaller as the index value D U becomes larger as the number of bits of the variable length codebook index corresponding to the quantized gain candidate for obtaining the waveform sample sequence becomes larger.
- the process of obtaining the book index as a gain code is performed in at least one subframe, and the gain quantization unit 218 is arranged so that the total number of bits of the code in the frame approaches the predetermined number of bits.
- the processing for obtaining the waveform information code by the encoding processing including the adjustment according to the magnitude of the number of bits of the gain code obtained may be performed in at least one subframe.
- the gain quantizing unit 118, 118 ′, 218, 318 ′ obtains the waveform sample sequence obtained by multiplying each sample of the sample sequence corresponding to the waveform information code by the quantized gain candidate, and the input signal.
- the index value D U increases as the distortion D increases, and increases as the number of bits of the variable-length codebook index corresponding to the quantized gain candidates for obtaining the waveform sample sequence increases.
- the process of obtaining the smallest variable-length codebook index as a gain code is performed in at least one sub-interval, and any one of the search units 115 and 215 and the gain quantization units 118, 118 ′, 218, and 318 ′
- the gain quantizers 118, 118 ′, 218, and 318 are arranged so that the total number of bits of the code in the section composed of a plurality of sub-sections approaches the predetermined number of bits.
- the processing for obtaining the waveform information code by the encoding processing including adjustment according to the magnitude of the number of bits of the gain code obtained by 'may be performed in at least one sub-interval.
- variable length coding using index values D U for at least one sub-section of the time or frequency interval, for at least one sub-section of the time or frequency intervals, the time or Example of obtaining a code by an encoding process including adjustment according to the magnitude of the number of bits of the gain code obtained by the gain quantization unit 418 so that the total number of bits of the code in the frequency section approaches a predetermined number of bits explain.
- Example 1 of encoding apparatus >> 9 includes ⁇ waveform information codebooks 411-1,..., 411 - ⁇ and an encoding unit 412.
- the encoding unit 412 includes a gain quantization unit 418, an adjustment encoding unit 430, and a bit number management unit 420, and the adjustment encoding unit 430 includes a search unit 415.
- ⁇ is an integer of 1 or more.
- Waveform information codebooks 411-1,..., 411 - ⁇ include a fixed codebook. In other words, at least one of ⁇ waveform information codebooks 411-1,..., 411- ⁇ is a fixed codebook.
- the adjustment encoding unit 430 obtains waveform information codes E 1 ,..., E ⁇ corresponding to the input signal X for each sub-interval.
- search section 415 included in adjustment encoding section 430 includes a sample corresponding to input signal X among a plurality of sample sequences obtained from a fixed codebook (including waveform information codebooks 411-1,..., 411- ⁇ ).
- a pulse component code which is a code for specifying a column, is obtained and output as a waveform information code. That is, at least one of the ⁇ waveform information codes E 1 ,..., E ⁇ obtained by the adjustment coding unit 430 is a pulse component code obtained by the search unit 415.
- Gain quantization unit 418 for at least one sub-section in the interval time or frequency, a variable length codebook index value D U is minimized for each sub-section is obtained as a gain code.
- the distortion D in the example of FIG. 9 is expressed as ⁇ 1 for a sample sequence ⁇ ⁇ Y ⁇ obtained by multiplying each sample of the sample sequence Y ⁇ corresponding to the waveform information code E ⁇ by a quantized gain candidate ⁇ ⁇ . Y 1 +...
- sample sequence Y ⁇ corresponding to the waveform information code E ⁇ is a sample sequence obtained by passing the sample sequence from the waveform information code book 411- ⁇ for the waveform information code E ⁇ through the synthesis filter corresponding to the input signal X, , A sample string from the waveform information codebook 411- ⁇ for the waveform information code E ⁇ .
- the adjustment encoding unit 430 gains the gain quantization unit 418 so that the total number of bits of the code in the time or frequency interval approaches a predetermined number of bits.
- a code is obtained by an encoding process including an adjustment according to the magnitude of the number of bits of the gain code obtained.
- the bit number management unit 420 manages the number of bits of a code generated in each sub-section within a time or frequency section.
- Searching unit 415 as the number of bits the number of bits managing unit 420 is determined, for at least one sub-section S A in the interval of time or frequency, gain code the gain quantization unit 418 is obtained outside the subinterval S A of when the number of bits is greater than the first predetermined value, the third predetermined value less than the number of bits pulsatile component codes of the subinterval S a (step 1-1), the gain quantization unit 418 There when the number of bits of the gain code obtained outside the subinterval S a is less than the first predetermined value, the number of bits of the pulse component sign of the third of the predetermined value greater than the subinterval S a (Step 1-2). Note that only step 1-1 or step 1-2 may be executed. Further, when the number of bits gain code the gain quantization unit 418 is obtained outside the subinterval S A is equal to the first predetermined value, the pulse component sign of the third predetermined value the subinterval S A The number of bits may be used.
- the encoding unit 412 outputs a bit stream corresponding to the waveform codes E 1 ,..., E ⁇ and the gain code obtained in this way.
- the encoding device 41 illustrated in FIG. 9 includes the encoding device 11 of the first embodiment illustrated in FIG. 1 and the encoding device 31 ′ of the modification of the third embodiment.
- the waveform information codebook 411-1 is a Q type of fixed codebook 113-q
- the waveform information codebook 411- 2 is the adaptive codebook 112
- the gain quantization unit 418 is the gain quantization unit 118
- the adjustment encoding unit 430 is the search unit 415
- the search unit 415 is the search unit 115
- the bit number management unit 420 Is the encoding device 11 of the first embodiment.
- the quantized gain candidate ⁇ 1 in the gain quantizing unit 418 is the quantized fixed codebook gain candidate ⁇ in the gain quantizing unit 118 and the quantized gain candidate in the gain quantizing unit 418.
- Example 2 of encoding apparatus >> 9 includes ⁇ waveform information codebooks 511-1,..., 511- ⁇ and an encoding unit 512.
- Encoding section 512 includes adjustment encoding section 530, search section 415, and bit number management section 520, and adjustment encoding section 530 includes gain quantization section 518.
- the encoding device 61 illustrated in FIG. 9 includes ⁇ waveform information codebooks 411-1,..., 411 - ⁇ and an encoding unit 612.
- Encoding section 612 includes adjustment encoding section 630 and bit number management section 620, and adjustment encoding section 630 includes gain quantization section 418 and search section 515.
- ⁇ is an integer of 1 or more.
- the waveform information codebooks 411-1,..., 411- ⁇ include a fixed codebook.
- step 3-1 or step 3-2 may be executed. Further, when the number of bits gain code the gain quantization unit 418 is obtained outside the subinterval S A is equal to the first predetermined value, the pulse component sign of the third predetermined value the subinterval S A The number of bits may be used.
- the gain quantization unit 418 is adjusted encoding unit 630 includes, in accordance with the number of bits the number of bits managing unit 620 is determined, for at least one sub-section S B of the interval of time or frequency, the gain quantization unit 518 If the number of bits the subintervals gain code obtained in non S B is less than the first predetermined value, a value smaller than the second predetermined value as the value of the coefficient w of the subinterval S B (step 3 3), the number of bits gain code the gain quantization unit 418 is obtained outside the subinterval S B is greater than the first predetermined value, a value larger than a second predetermined value of the subinterval S B The value of the coefficient w is set (step 3-4).
- step 3-3 or step 3-4 may be executed.
- the number of bits gain code the gain quantization unit 418 is obtained outside the subinterval S B is the equal to the first predetermined value, the second value of the coefficients w of a predetermined value the subinterval S B It is good. Further, it may be the same as the sub-interval S A and subinterval S B, may be different.
- the waveform information codebook 611-1 is a Q type fixed codebook 113-q
- the waveform information codebook 611- 2 is the adaptive codebook 112
- the gain quantization unit 418 is the gain quantization unit 118 ′
- the adjustment coding unit 630 includes the gain quantization unit 418 and the search unit 515
- the search unit 515 is the search unit 115.
- the configuration in which the bit number management unit 620 is the bit number management unit 120 is the encoding device 11 ′ according to the modification of the first embodiment.
- the quantized gain candidate ⁇ 1 in the gain quantizing unit 418 is the quantized fixed codebook gain candidate ⁇ in the gain quantizing unit 218, and the quantized gain candidate in the gain quantizing unit 418 is ⁇ 2 is a quantized pitch gain candidate ⁇ in the gain quantization unit 218,
- the waveform information code E 1 is the code index of the third embodiment, and the waveform information code E 2 is the pitch code of the third embodiment.
- the input signal X is the input acoustic signal of the third embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
利得量子化部には、量子化済固定符号帳利得の候補と量子化済ピッチ利得の候補とインデックスとの組が複数個格納された利得符号帳が記憶されている。複数個のインデックスにはビット数が異なるものが含まれている。時間または周波数の区間が複数のサブ区間によって構成されており、サブ区間ごとに、利得の量子化によって生ずる波形歪みそのものと、対応する符号の長さから換算された歪みとの双方を考慮して選択したインデックスを利得符号とする。選択された利得符号の長さに基づいて以降に処理を行う少なくとも1つサブ区間での符号化方法を調節する。
Description
この発明は、音声、音楽等の音信号を符号化または復号する技術に関する。特に、CELP等の符号化技術で符号化された周期性成分の利得およびパルス性成分の利得を符号化または復号する技術に関する。
従来は、CELP(Code Excited Linear Prediction)の符号化および復号において用いられる周期性成分の利得およびパルス性成分の利得は、符号誤りに対する耐性を強くするために固定長ビットが割り当てられて符号化および復号されていた(例えば、非特許文献1参照)。パルス性成分の利得については、利得そのものではなく過去のサブフレームからの予測値に対する比を符号化の対象とすることにより、利得の値の時間的な連続性を考慮して符号量の削減を行っていた。
また、特許文献1では、周期性成分の利得から周期性成分の利得の値の時間的な連続性の有無を判定し、時間的な連続性があると予測された場合には周期性成分の利得の値の差分を可変長符号化することにより符号量の削減を行っていた。
3rd Generation Partnership Project(3GPP), Technical Specification (TS) 26.090, "AMR speech codec; Transcoding functions", Version 4.0.0 (2001-03)
非特許文献1に記載された符号化方法および復号方法では、周期性成分の利得およびパルス性成分の利得については、固定長での符号化および復号が行われていた。
しかしながら、非特許文献1に記載された符号化方法では、周期性成分の利得およびパルス性成分の利得の頻度に関する冗長性や周期性成分の利得の連続性について考慮することなく符号化および復号されており、符号化および復号の効率が良くないという問題があった。
しかしながら、非特許文献1に記載された符号化方法では、周期性成分の利得およびパルス性成分の利得の頻度に関する冗長性や周期性成分の利得の連続性について考慮することなく符号化および復号されており、符号化および復号の効率が良くないという問題があった。
特許文献1には周期性成分の利得の値の連続性や頻度を考慮して固定長または可変長の符号化および復号を行う技術が開示されている。
しかしながら、特許文献1に記載された可変長符号化および復号は、平均符号量を少なくすることを目的としたものであり、可変長符号化の際にはひずみとインデックスの符号長の双方は考慮されていなかった。
しかしながら、特許文献1に記載された可変長符号化および復号は、平均符号量を少なくすることを目的としたものであり、可変長符号化の際にはひずみとインデックスの符号長の双方は考慮されていなかった。
この発明の課題は、CELPなどの符号化装置で得られた利得を、符号帳を参照して符号化する際に、符号の長さ(情報量)とひずみの双方を考慮した、より効率が良い符号化装置、この方法、プログラムおよび記録媒体を提供することである。
符号化においては、時間または周波数の区間が複数のサブ区間によって構成されており、サブ区間ごとに、量子化済利得に対応する符号帳の中から、最も好ましいインデックスを符号として選択するが、この際に少なくとも1つのサブ区間ではこの符号を用いることで生じる波形のひずみだけでなくこの符号に割り当てられた符号長を考慮する。また、選択された符号の長さに基づいて以降に処理を行う少なくとも1つのサブ区間での符号化方法を調節する。
利得のベクトル量子化のために、予め出現頻度の高いインデックスに短い符号を割り当てるような可変長符号を使い、インデックスを選択する際に、インデックスの符号の長さをひずみに近似的に換算してひずみ尺度を変形し、その変形したひずみ尺度を利用する。ひずみと符号の長さで最も好ましいバランスのインデックスを選択できる。これにより、従来技術よりも小さな平均ビットレートでありながら、平均の波形ひずみについては従来技術とほぼ同じにすることができる。また、節約できた平均のビット数をたとえばパルス成分符号化に充当することで、従来の符号化方法に比べ、同じ平均ビットレートでありながら、波形ひずみを小さくできる。さらに、選択された符号の長さに基づいて少なくとも1つのサブ区間での符号化方法を調節することで、サブ区間ごとには可変長符号化をしながらも、複数のサブ区間によって構成される上記区間あたりでは均一長の符号化に近づけることができる。
以下、この発明の一実施形態について、詳細に説明する。
〔第一実施形態〕
図1に例示するように、第一実施形態の符号化装置11は、線形予測分析部111、適応符号帳112、Q種類の固定符号帳113-q(q=0,...,Q-1、Qは2以上の整数)、ピッチ分析部114(「適応符号帳探索部」に相当)、探索部115(「固定符号帳探索部」に相当)、聴覚重み付けフィルタ116、合成フィルタ117、利得量子化部118、ビットストリーム生成部119、およびビット数管理部120を有する。
図1に例示するように、第一実施形態の符号化装置11は、線形予測分析部111、適応符号帳112、Q種類の固定符号帳113-q(q=0,...,Q-1、Qは2以上の整数)、ピッチ分析部114(「適応符号帳探索部」に相当)、探索部115(「固定符号帳探索部」に相当)、聴覚重み付けフィルタ116、合成フィルタ117、利得量子化部118、ビットストリーム生成部119、およびビット数管理部120を有する。
図2に例示するように、第一実施形態の復号装置12は、適応符号帳122、固定符号帳123-q(q=0,...,Q-1)、選択部125、合成フィルタ127、およびパラメータ復号部129を有する。パラメータ復号部129は、ビット数管理部130を有する。
本形態の符号化装置11および復号装置12は、例えば、CPU(central processing unit)、RAM(random-access memory)、ROM(read-only memory)等を備えた公知のコンピュータまたは専用のコンピュータにプログラムやデータが読み込まれることで構成された特別な装置である。また、符号化装置11および復号装置12の処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
<符号化装置11>
符号化装置11は、デジタル化され、所定時間区間であるフレームの単位で区分された時系列信号である入力音響信号x(n)(n=0,...,L-1、Lは2以上の整数、各nを「サンプル点」と呼ぶ)を入力とし、入力音響信号x(n)(n=0,...,L-1)をフレームごとに符号化し、所定ビット数FB(フレームごとに予め定められたビット数)の符号を生成する。
符号化装置11は、デジタル化され、所定時間区間であるフレームの単位で区分された時系列信号である入力音響信号x(n)(n=0,...,L-1、Lは2以上の整数、各nを「サンプル点」と呼ぶ)を入力とし、入力音響信号x(n)(n=0,...,L-1)をフレームごとに符号化し、所定ビット数FB(フレームごとに予め定められたビット数)の符号を生成する。
≪線形予測分析部111≫
線形予測分析部111は、処理対象のフレーム(「現フレーム」と呼ぶ)に属する各サンプル点n=0,...,L-1での入力音響信号x(n)(n=0,...,L-1)の線形予測分析を行い、当該現フレームでの全極型の合成フィルタ117を特定するための係数の量子化値に対応する符号である線形予測情報LPC info(「予測パラメータ」に含まれる)を出力する。すなわち、線形予測分析部111は、フレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報LPC infoを得て出力する。例えば、線形予測分析部111は、現フレームの入力音響信号x(n)(n=0,...,L-1)に対応する線形予測係数a(m)(m=1,...,P、Pは正の整数である線形予測次数)を算出し、線形予測係数a(m)(m=1,...,P)を線スペクトル対係数LSPに変換し、量子化した線スペクトル対係数LSPに対応する符号を線形予測情報LPC infoとして出力する。
線形予測分析部111は、処理対象のフレーム(「現フレーム」と呼ぶ)に属する各サンプル点n=0,...,L-1での入力音響信号x(n)(n=0,...,L-1)の線形予測分析を行い、当該現フレームでの全極型の合成フィルタ117を特定するための係数の量子化値に対応する符号である線形予測情報LPC info(「予測パラメータ」に含まれる)を出力する。すなわち、線形予測分析部111は、フレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報LPC infoを得て出力する。例えば、線形予測分析部111は、現フレームの入力音響信号x(n)(n=0,...,L-1)に対応する線形予測係数a(m)(m=1,...,P、Pは正の整数である線形予測次数)を算出し、線形予測係数a(m)(m=1,...,P)を線スペクトル対係数LSPに変換し、量子化した線スペクトル対係数LSPに対応する符号を線形予測情報LPC infoとして出力する。
≪固定符号帳113-q(q=0,...,Q-1)≫
符号化装置11は、複数種類の固定符号帳113-q(q=0,...,Q-1)を備える。固定符号帳113-q(q=0,...,Q-1)のそれぞれには、零でない単位パルスとその極性との組み合わせからなる値を持つ1個以上の信号と零値を持つ1個以上の信号とから構成される複数個のパルス系列(「サンプル列」に相当)を特定するための情報が格納される。固定符号帳113-q(q=0,...,Q-1)は、探索部115の制御に従い、1フレームを区分したサブフレームごとに、入力音響信号x(n)に対応するパルス系列を出力する。ここでは1フレームが4個のサブフレームに等区分される例を示す。すなわち、L個のサンプル点0,...,L-1からなるフレームは、サンプル点Lf(0),...,Lf(1)-1からなる1番目のサブフレーム(第1サブフレーム)、サンプル点Lf(1),...,Lf(2)-1からなる2番目のサブフレーム(第2サブフレーム)、サンプル点Lf(2),...,Lf(3)-1からなる3番目のサブフレーム(第3サブフレーム)、およびサンプル点Lf(3),...,Lf(4)-1からなる4番目のサブフレーム(第4サブフレーム)に区分される。Lf(0),Lf(1),Lf(2),Lf(3),Lf(4)は、Lf(0)=0,Lf(4)=L,Lf(0)<Lf(1)<Lf(2)<Lf(3)<Lf(4)を満たす正整数である。第1-4サブフレームに対応するパルス系列cf1,cf2,cf3,cf4はそれぞれ以下のように表現される。
cf1=(cf1(Lf(0)),...,cf1(Lf(1)-1))
cf2=(cf2(Lf(1)),...,cf2(Lf(2)-1))
cf3=(cf3(Lf(2)),...,cf3(Lf(3)-1))
cf4=(cf4(Lf(3)),...,cf4(Lf(4)-1))
符号化装置11は、複数種類の固定符号帳113-q(q=0,...,Q-1)を備える。固定符号帳113-q(q=0,...,Q-1)のそれぞれには、零でない単位パルスとその極性との組み合わせからなる値を持つ1個以上の信号と零値を持つ1個以上の信号とから構成される複数個のパルス系列(「サンプル列」に相当)を特定するための情報が格納される。固定符号帳113-q(q=0,...,Q-1)は、探索部115の制御に従い、1フレームを区分したサブフレームごとに、入力音響信号x(n)に対応するパルス系列を出力する。ここでは1フレームが4個のサブフレームに等区分される例を示す。すなわち、L個のサンプル点0,...,L-1からなるフレームは、サンプル点Lf(0),...,Lf(1)-1からなる1番目のサブフレーム(第1サブフレーム)、サンプル点Lf(1),...,Lf(2)-1からなる2番目のサブフレーム(第2サブフレーム)、サンプル点Lf(2),...,Lf(3)-1からなる3番目のサブフレーム(第3サブフレーム)、およびサンプル点Lf(3),...,Lf(4)-1からなる4番目のサブフレーム(第4サブフレーム)に区分される。Lf(0),Lf(1),Lf(2),Lf(3),Lf(4)は、Lf(0)=0,Lf(4)=L,Lf(0)<Lf(1)<Lf(2)<Lf(3)<Lf(4)を満たす正整数である。第1-4サブフレームに対応するパルス系列cf1,cf2,cf3,cf4はそれぞれ以下のように表現される。
cf1=(cf1(Lf(0)),...,cf1(Lf(1)-1))
cf2=(cf2(Lf(1)),...,cf2(Lf(2)-1))
cf3=(cf3(Lf(2)),...,cf3(Lf(3)-1))
cf4=(cf4(Lf(3)),...,cf4(Lf(4)-1))
固定符号帳113-q(q=0,...,Q-1)のそれぞれは、それぞれから出力されるパルス系列を特定するパルス性成分符号(コードインデックス)のビット数に対応する。同一の固定符号帳113-q(q=0,...,Q-1)から出力されるパルス系列を特定するコードインデックスのビット数は同一である。互いに異なる固定符号帳113-q(q=0,...,Q-1)から出力されるパルス系列を特定するコードインデックスのビット数は異なる。すなわち、固定符号帳113-q(q=0,...,Q-1)からのパルス系列を特定するためのコードインデックスのビット数をBIT(q)(q=0,...,Q-1)とすると、q1=q2であればBIT(q1)=BIT(q2)であり、q1≠q2であればBIT(q1)≠BIT(q2)である。例えば、符号化装置11は、(BITtotal-BITmin)≦BIT(q)≦(BITtotal-BITmax)を満たすすべてのビット数BIT(q)に対応する固定符号帳113-qを有する。ただし、フレームごとに予め定められたビット数をBITtotalとし、フレームごとに得られる符号から第4サブフレーム(最後のサブフレーム)のコードインデックスを除いた符号のビット数の最小値をBITminとして最大値をBITmaxとする。
以下に、固定符号帳113-qの具体例を示す。
この例では1つのサブフレームに対し、それぞれ16個の単位パルスの位置(サンプル点)の候補(Positions)を持つトラック(Track)が4本設定される。各トラックに対して1個ずつの単位パルス(Pulse)の位置およびその極性が選択され、サブフレームに対応するパルス系列が指定される。選択された単位パルスの位置を除く当該サブフレーム内のサンプル点の信号値は零である。このパルス系列を表現するためには、トラックごとに、1個のパルスの位置を区別して表すための情報に4ビットと1個のパルスの極性を表すための情報に1ビットが必要である。すなわち、トラックごとに5ビット、4トラックでの合計20ビットで、サブフレームのパルス系列を表現する。言い換えると、表1の固定符号帳113-qに対応するコードインデックスのビット数は20ビットである。
この例では1つのサブフレームに対し、それぞれ16個の単位パルスの位置(サンプル点)の候補(Positions)を持つトラック(Track)が4本設定される。各トラックに対して1個ずつの単位パルス(Pulse)の位置およびその極性が選択され、サブフレームに対応するパルス系列が指定される。選択された単位パルスの位置を除く当該サブフレーム内のサンプル点の信号値は零である。このパルス系列を表現するためには、トラックごとに、1個のパルスの位置を区別して表すための情報に4ビットと1個のパルスの極性を表すための情報に1ビットが必要である。すなわち、トラックごとに5ビット、4トラックでの合計20ビットで、サブフレームのパルス系列を表現する。言い換えると、表1の固定符号帳113-qに対応するコードインデックスのビット数は20ビットである。
この例では1つのサブフレームに対し、それぞれ16個の単位パルスの位置の候補を持つトラックが3本設定される。各トラックに対して1個ずつの単位パルスの位置およびその極性が選択され、サブフレームに対応するパルス系列が指定される。選択された単位パルスの位置を除く当該サブフレーム内のサンプル点の信号値は零である。表2の固定符号帳113-qに対応するコードインデックスのビット数は15ビットである。
この例では1つのサブフレームに対し、それぞれ16個の単位パルスの位置の候補を持つトラックが3本設定され(Track 1-3)、8個の単位パルスの位置の候補を持つトラックが1本設定される(Track 4)。各トラックに対して1個ずつの単位パルスの位置およびその極性が選択され、サブフレームに対応するパルス系列が指定される。表3の固定符号帳113-qに対応するコードインデックスのビット数は19ビットである。
≪ピッチ分析部114≫
ピッチ分析部114は、サブフレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応するピッチ周期T1,T2,T3,T4を得て、当該ピッチ周期T1,T2,T3,T4と、当該ピッチ周期T1,T2,T3,T4を特定するピッチ符号(周期性成分符号)CT1,CT2,CT3,CT4と、を出力する。各サブフレームのピッチ符号CT1,CT2,CT3,CT4はそれぞれ均一長である。CT1,CT2,CT3,CT4それぞれのビット数は、互いに同一であってもよいし、互いに異なっていてもよい。なお、ピッチ周期はピッチ符号を復号することにより得られるのでピッチ分析部114が出力することは必須ではない。ピッチ周期は、サンプル点の間隔の整数倍のみで表現される場合(整数精度)のみならず、サンプル点の間隔の整数倍と小数値(分数値)とを用いて表現される場合(小数精度)もある。また、ピッチ分析部114は、探索部115で用いるために、サブフレームごとに、ピッチ利得gp1,gp2,gp3,gp4を求めて出力してもよい。
ピッチ分析部114は、サブフレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応するピッチ周期T1,T2,T3,T4を得て、当該ピッチ周期T1,T2,T3,T4と、当該ピッチ周期T1,T2,T3,T4を特定するピッチ符号(周期性成分符号)CT1,CT2,CT3,CT4と、を出力する。各サブフレームのピッチ符号CT1,CT2,CT3,CT4はそれぞれ均一長である。CT1,CT2,CT3,CT4それぞれのビット数は、互いに同一であってもよいし、互いに異なっていてもよい。なお、ピッチ周期はピッチ符号を復号することにより得られるのでピッチ分析部114が出力することは必須ではない。ピッチ周期は、サンプル点の間隔の整数倍のみで表現される場合(整数精度)のみならず、サンプル点の間隔の整数倍と小数値(分数値)とを用いて表現される場合(小数精度)もある。また、ピッチ分析部114は、探索部115で用いるために、サブフレームごとに、ピッチ利得gp1,gp2,gp3,gp4を求めて出力してもよい。
入力音響信号x(n)(n=0,...,L-1)に対応するピッチ周期T1,T2,T3,T4、当該ピッチ周期T1,T2,T3,T4を特定するピッチ符号CT1,CT2,CT3,CT4の探索は、例えば、サブフレームごとに、適応符号帳112に記憶されている過去の各時点で生成された励振信号をピッチ周期の候補で遅延させて得られる信号に線形予測情報LPC infoによって特定される全極型の合成フィルタ117を適用して得られる合成信号と、入力された入力音響信号との差分に、聴覚重み付けフィルタ116を適用した値が最小となるように行われる。
ピッチ利得gp1,gp2,gp3,gp4は、例えば、サブフレームごとに、探索された当該ピッチ周期T1,T2,T3,T4に対応する合成信号と入力された入力音響信号との相互相関値を合成信号の自己相関値で除算した値として求められる。
≪適応符号帳112≫
適応符号帳112には、過去の各時点で生成された励振信号が記憶されている。適応符号帳112は、第1-4サブフレームの各サブフレームで得られるピッチ周期T1,T2,T3,T4に応じて励振信号を遅延させて得られる適応信号成分v(n)(n=0,...,L-1)を出力する。小数精度のピッチ周期を用いて適応信号成分v(n)を表現する場合には、ピッチ周期に応じて遅延させた複数の励振信号に重み付き平均操作を行う補間フィルタが用いられる。
適応符号帳112には、過去の各時点で生成された励振信号が記憶されている。適応符号帳112は、第1-4サブフレームの各サブフレームで得られるピッチ周期T1,T2,T3,T4に応じて励振信号を遅延させて得られる適応信号成分v(n)(n=0,...,L-1)を出力する。小数精度のピッチ周期を用いて適応信号成分v(n)を表現する場合には、ピッチ周期に応じて遅延させた複数の励振信号に重み付き平均操作を行う補間フィルタが用いられる。
≪探索部115≫
探索部115は、サブフレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応するパルス系列cf1,cf2,cf3,cf4と、当該パルス系列cf1,cf2,cf3,cf4に対応するコードインデックスCf1,Cf2,Cf3,Cf4と、を得て出力する。なお、パルス系列はコードインデックスを復号することにより得られるので探索部115が出力することは必須ではない。
探索部115は、サブフレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応するパルス系列cf1,cf2,cf3,cf4と、当該パルス系列cf1,cf2,cf3,cf4に対応するコードインデックスCf1,Cf2,Cf3,Cf4と、を得て出力する。なお、パルス系列はコードインデックスを復号することにより得られるので探索部115が出力することは必須ではない。
探索部115は、予め定められたビット数である所定値VAL1,2(第3の所定値)に対応する固定符号帳113-q1を探索し、第1サブフレームの入力音響信号x(n)(n=Lf(0),...,Lf(1)-1)に対応するパルス系列cf1と、当該パルス系列cf1に対応するコードインデックスCf1と、を得て出力する。
言い換えると、第1サブフレームでは、探索部115は、予め定められたビット数に対応する固定符号帳113-q1から得られる複数のパルス系列のうち入力音響信号x(n)(n=Lf(0),...,Lf(1)-1)に対応するパルス系列cf1と、当該パルス系列cf1を特定するコードインデックスCf1と、を得て出力する。
言い換えると、第1サブフレームでは、探索部115は、予め定められたビット数に対応する固定符号帳113-q1から得られる複数のパルス系列のうち入力音響信号x(n)(n=Lf(0),...,Lf(1)-1)に対応するパルス系列cf1と、当該パルス系列cf1を特定するコードインデックスCf1と、を得て出力する。
第2~第4サブフレーム(最初のサブフレーム以外のサブフレーム)では、探索部115は、サブフレームごとに、ビット数管理部120で決定されたビット数に対応する固定符号帳113-q2~q4を探索し、第2~第4サブフレームでの入力音響信号x(n)(n=Lf(1),...,Lf(4)-1)に対応する、ビット数管理部120で決定されたビット数のコードインデックスCf2,Cf3,Cf4と、当該コードインデックスに対応するパルス系列cf2,cf3,cf4と、を得て出力する。
言い換えると、第kサブフレーム(k=2,3,4)では、探索部115は、ビット数管理部120で第kサブフレームに対して決定されたビット数に対応する固定符号帳113-qkから得られる複数のサンプル列のうち入力音響信号x(n)(n=Lf(k-1),...,Lf(k)-1)に対応するパルス系列cfkと当該パルス系列cfkを特定するコードインデックスCfkと、を得て出力する。
言い換えると、第kサブフレーム(k=2,3,4)では、探索部115は、ビット数管理部120で第kサブフレームに対して決定されたビット数に対応する固定符号帳113-qkから得られる複数のサンプル列のうち入力音響信号x(n)(n=Lf(k-1),...,Lf(k)-1)に対応するパルス系列cfkと当該パルス系列cfkを特定するコードインデックスCfkと、を得て出力する。
入力音響信号x(n)(n=0,...,L-1)に対応するパルス系列cf1,cf2,cf3,cf4、および当該パルス系列cf1,cf2,cf3,cf4に対応するコードインデックスCf1,Cf2,Cf3,Cf4の探索は、例えば、サブフレームごとに、適応信号成分の各サンプルにピッチ利得を乗算して得られるサンプル列と固定符号帳から得られるパルス系列の候補とにより得られる励振信号の仮信号に線形予測情報LPC infoによって特定される全極型の合成フィルタ117を適用して得られる合成信号と、入力された入力音響信号との差分に、聴覚重み付けフィルタ116を適用した値が最小となるように行われる。
≪利得量子化部118≫
利得量子化部118には、入力音響信号x(n)(n=0,...,L-1)および合成信号x’(n)(n=0,...,L-1)が入力される。合成信号x’(n)(n=0,...,L-1)からなるサンプル列は、コードインデックスに対応するパルス系列を合成フィルタ117に通して得られるサンプル列のそれぞれのサンプルに、量子化された固定符号帳利得の候補を乗算して得られるサンプル列と、ピッチ符号に対応するピッチ周期に対応するサンプル数だけ過去の励振信号を合成フィルタ117に通して得られるサンプル列のそれぞれのサンプルに、量子化されたピッチ利得の候補を乗算して得られるサンプル列と、を対応するサンプル毎に加算して得られる。利得量子化部118は、これらを用いてベクトル量子化を行い、すなわちサブフレームごとに、入力音響信号と合成信号の歪が最も小さくなるように、量子化されたピッチ利得またはその関数値と量子化された固定符号帳利得またはその関数値との組に対応する符号を得て出力する。以下では量子化済ピッチ利得そのものと量子化済固定符号帳利得そのものをベクトル量子化の対象とする例について説明する。また、以下では、量子化されたピッチ利得を「量子化済ピッチ利得」と表現し、量子化された固定符号帳利得を「量子化済固定符号帳利得」と表現する。また量子化済ピッチ利得gp1^と量子化済固定符号帳利得gc1^の組に対応する符号、量子化済ピッチ利得gp2^と量子化済固定符号帳利得gc2^の組に対応する符号、量子化済ピッチ利得gp3^と量子化済固定符号帳利得gc3^の組に対応する符号、量子化済ピッチ利得gp4^と量子化済固定符号帳利得gc4^の組に対応する符号を「利得符号GAf1,GAf2,GAf3,GAf4」と表現する。すなわち、利得量子化部118は、第1から第4のサブフレームのそれぞれ(第jサブフレーム)について、量子化済ピッチ利得gpj^と量子化済固定符号帳利得gcj^の組を特定する利得符号GAfjを得て出力する。
利得量子化部118には、入力音響信号x(n)(n=0,...,L-1)および合成信号x’(n)(n=0,...,L-1)が入力される。合成信号x’(n)(n=0,...,L-1)からなるサンプル列は、コードインデックスに対応するパルス系列を合成フィルタ117に通して得られるサンプル列のそれぞれのサンプルに、量子化された固定符号帳利得の候補を乗算して得られるサンプル列と、ピッチ符号に対応するピッチ周期に対応するサンプル数だけ過去の励振信号を合成フィルタ117に通して得られるサンプル列のそれぞれのサンプルに、量子化されたピッチ利得の候補を乗算して得られるサンプル列と、を対応するサンプル毎に加算して得られる。利得量子化部118は、これらを用いてベクトル量子化を行い、すなわちサブフレームごとに、入力音響信号と合成信号の歪が最も小さくなるように、量子化されたピッチ利得またはその関数値と量子化された固定符号帳利得またはその関数値との組に対応する符号を得て出力する。以下では量子化済ピッチ利得そのものと量子化済固定符号帳利得そのものをベクトル量子化の対象とする例について説明する。また、以下では、量子化されたピッチ利得を「量子化済ピッチ利得」と表現し、量子化された固定符号帳利得を「量子化済固定符号帳利得」と表現する。また量子化済ピッチ利得gp1^と量子化済固定符号帳利得gc1^の組に対応する符号、量子化済ピッチ利得gp2^と量子化済固定符号帳利得gc2^の組に対応する符号、量子化済ピッチ利得gp3^と量子化済固定符号帳利得gc3^の組に対応する符号、量子化済ピッチ利得gp4^と量子化済固定符号帳利得gc4^の組に対応する符号を「利得符号GAf1,GAf2,GAf3,GAf4」と表現する。すなわち、利得量子化部118は、第1から第4のサブフレームのそれぞれ(第jサブフレーム)について、量子化済ピッチ利得gpj^と量子化済固定符号帳利得gcj^の組を特定する利得符号GAfjを得て出力する。
量子化済固定符号帳利得の関数値の一例は、過去または現在のサブフレーム(またはフレーム)での固定符号帳113-qからの信号成分のエネルギーを基に予測された現在のサブフレーム(またはフレーム)での固定符号帳利得の推定値と、現在のサブフレーム(またはフレーム)での固定符号帳利得との比を表す補正係数(correction factor)などである。補正係数の例は、非特許文献1の「5.8.2 Quantization of codebook gains」の欄に記載されたγgcである。例えば、第jサブフレーム(j=1,...,4)での量子化済固定符号帳利得gcj^、補正係数γgcの量子化値γgc^、j(j=1,...,4)番目のサブフレームでの固定符号帳利得の推定値の量子化値pgcj^の間には、以下の関係が成り立つ。
gcj^=γgc^×pgcj^
gcj^=γgc^×pgcj^
≪利得量子化部118が備える利得符号帳≫
利得量子化部118によるベクトル量子化には、量子化済ピッチ利得と量子化済固定符号帳利得との組に対応する利得符号を特定するためのテーブルである利得符号帳が用いられる。本形態の利得量子化部118は、可変長符号である利得符号を得るための1個の利得符号帳(可変長符号帳)と、均一長符号である利得符号を得るための1個の利得符号帳(均一長符号帳)とを備える。
利得量子化部118によるベクトル量子化には、量子化済ピッチ利得と量子化済固定符号帳利得との組に対応する利得符号を特定するためのテーブルである利得符号帳が用いられる。本形態の利得量子化部118は、可変長符号である利得符号を得るための1個の利得符号帳(可変長符号帳)と、均一長符号である利得符号を得るための1個の利得符号帳(均一長符号帳)とを備える。
可変長符号帳には、量子化済ピッチ利得の候補と、量子化済固定符号帳利得の候補と、可変長符号である可変長符号帳インデックスとの組が複数個格納されている。可変長符号は、例えば、学習用データを量子化した結果から得られる。具体的には、可変長符号は、学習用データのピッチ利得と固定符号帳利得の組をベクトル量子化した際に量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組が選択された頻度に応じて、予め割り当てられたものである。選択された頻度の高い量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組にはビット数の小さな可変長符号帳インデックス(短い符号)が割り当てられ、選択された頻度の低い量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組にはビット数の大きな可変長符号帳インデックス(長い符号)が割り当てられる。すなわち、可変長符号帳に格納された複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる。このような可変長符号帳インデックスの例はハフマン符号である。しかしながら、その他の可変長符号が可変長符号帳インデックスとして用いられてもよい。なお、各可変長符号帳インデックスのビット数を定めるための上記頻度は、学習用データを用いなくても選択された量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組の頻度はある程度予想できるため、学習用データを用いることなく上記の頻度を予想して量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組に可変長符号を割り当ててもよい。
均一長符号帳には、量子化済ピッチ利得の候補と、量子化済固定符号帳利得の候補と、均一長符号である均一長符号帳インデックスとの組が複数個格納されている。当該複数個の均一長符号帳インデックスは全て同じビット数である。
なお、可変長符号帳及び均一長符号帳のそれぞれに格納された量子化済ピッチ利得の候補の値、量子化済固定符号帳利得の候補の値も、例えば、学習用データを量子化した結果から得られる。そのため、一般に、可変長符号帳及び均一長符号帳のそれぞれに格納された当該候補の値は互いに異なる。
以下に可変長符号帳の具体例を示す。
表4は、可変長符号帳インデックスがハフマン符号であり、可変長符号帳インデックスのビット数も格納される可変長符号帳の例である。表4ではその一部を省略してあるが、表4の可変長符号帳には、量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と可変長符号帳インデックスとによる組が32組格納されている。
表4は、可変長符号帳インデックスがハフマン符号であり、可変長符号帳インデックスのビット数も格納される可変長符号帳の例である。表4ではその一部を省略してあるが、表4の可変長符号帳には、量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と可変長符号帳インデックスとによる組が32組格納されている。
以下に均一長符号帳の具体例を示す。
表5は、均一長符号帳インデックスが2進数表現された“00000”~“11111”(整数0~31に対応)である均一長符号帳の例である。均一長符号帳インデックスのビット数は5である。表5ではその一部を省略してあるが、表5の均一長符号帳には、量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と均一長符号帳インデックスとによる組が32組格納されている。
表5は、均一長符号帳インデックスが2進数表現された“00000”~“11111”(整数0~31に対応)である均一長符号帳の例である。均一長符号帳インデックスのビット数は5である。表5ではその一部を省略してあるが、表5の均一長符号帳には、量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と均一長符号帳インデックスとによる組が32組格納されている。
≪利得量子化部118が行うベクトル量子化≫
利得量子化部118は、第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、上述の可変長符号帳を用いて固定符号帳利得とピッチ利得との可変長符号化を行い、何れかの可変長符号帳インデックスを利得符号として得る。
利得量子化部118は、第4サブフレーム(最後のサブフレーム)については、上述の均一長符号帳を用い、固定符号帳利得とピッチ利得との均一長符号化を行い、何れかの均一長符号帳インデックスを利得符号として得る。
以下に利得量子化部118が行うベクトル量子化の詳細を説明する。
利得量子化部118は、第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、上述の可変長符号帳を用いて固定符号帳利得とピッチ利得との可変長符号化を行い、何れかの可変長符号帳インデックスを利得符号として得る。
利得量子化部118は、第4サブフレーム(最後のサブフレーム)については、上述の均一長符号帳を用い、固定符号帳利得とピッチ利得との均一長符号化を行い、何れかの均一長符号帳インデックスを利得符号として得る。
以下に利得量子化部118が行うベクトル量子化の詳細を説明する。
≪第1~第3サブフレームでのベクトル量子化≫
利得量子化部118が第1~第3サブフレームで行うベクトル量子化は、サブフレームごとに、入力された入力音響信号x(n)(n=0,...,L-1)および合成信号x’(n)(n=0,...,L-1)に対して、可変長符号帳に格納された複数個の可変長符号帳インデックスのうちの何れか1つを選択し、それを利得符号とする。以下、第1~第3サブフレームでのベクトル量子化の[原理]と[具体的な手順の例]について順に説明する。
利得量子化部118が第1~第3サブフレームで行うベクトル量子化は、サブフレームごとに、入力された入力音響信号x(n)(n=0,...,L-1)および合成信号x’(n)(n=0,...,L-1)に対して、可変長符号帳に格納された複数個の可変長符号帳インデックスのうちの何れか1つを選択し、それを利得符号とする。以下、第1~第3サブフレームでのベクトル量子化の[原理]と[具体的な手順の例]について順に説明する。
[原理]
可変長符号帳の可変長符号帳インデックスとして可変長符号が割り当てられる。可変長符号帳インデックスの選択は、符号化歪み(以下「歪み」という)を最小とする基準に基づいてなされるのではなく、歪みと可変長符号帳インデックスのビット数(符号長,情報量)とのバランスを考慮した基準に基づいてなされる。以下、この基準について説明する。
可変長符号帳の可変長符号帳インデックスとして可変長符号が割り当てられる。可変長符号帳インデックスの選択は、符号化歪み(以下「歪み」という)を最小とする基準に基づいてなされるのではなく、歪みと可変長符号帳インデックスのビット数(符号長,情報量)とのバランスを考慮した基準に基づいてなされる。以下、この基準について説明する。
一般に、N個(N≧1)のサンプルが符号化される場合、歪みDgと1サンプルあたりの符号(可変長符号帳インデックス)のビット数g/Nとの間には、以下の近似が成り立つ。
Dg=D02(-2g/N) ...(1)
ただし、符号化対象のN個のサンプルと、当該N個のサンプルに対応する符号が復号された場合に得られるN個の復元サンプルとの間の二乗距離を歪みと定義する。D0は1サンプルあたりの符号のビット数が0である場合の歪みである。
このような関係は、サンプルの振幅が一様に分布する場合、1サンプルあたりの符号のビット数g/Nが1ビット増えると歪みDgは1/4になること、および、サンプルの振幅がどのような分布に従う場合であっても、符号のビット数gがある程度以上ならほぼ同様のことがいえることに基づく。
Dg=D02(-2g/N) ...(1)
ただし、符号化対象のN個のサンプルと、当該N個のサンプルに対応する符号が復号された場合に得られるN個の復元サンプルとの間の二乗距離を歪みと定義する。D0は1サンプルあたりの符号のビット数が0である場合の歪みである。
このような関係は、サンプルの振幅が一様に分布する場合、1サンプルあたりの符号のビット数g/Nが1ビット増えると歪みDgは1/4になること、および、サンプルの振幅がどのような分布に従う場合であっても、符号のビット数gがある程度以上ならほぼ同様のことがいえることに基づく。
よって、歪みの変化率Dg/D0は以下のように近似できる。
Dg/D0=2(-2g/N) ...(2)
これを底10の対数に変換してdB表現すると以下のようになる。
10log10(Dg/D0)
=10log10(2(-2g/N))
=10(-2g/N)log10(2)
=-6.02(g/N) ...(3)
すなわち、一般的に歪みの変化率Dg/D0の対数は1個のサンプルあたりの符号のビット数g/Nに比例する。例えばN=64の場合、64個のサンプルあたりの符号のビット数gが1ビット増加すると歪みの変化率Dg/D0は約0.1dB改善される。実験でもこれと同様な結果が得られる。
Dg/D0=2(-2g/N) ...(2)
これを底10の対数に変換してdB表現すると以下のようになる。
10log10(Dg/D0)
=10log10(2(-2g/N))
=10(-2g/N)log10(2)
=-6.02(g/N) ...(3)
すなわち、一般的に歪みの変化率Dg/D0の対数は1個のサンプルあたりの符号のビット数g/Nに比例する。例えばN=64の場合、64個のサンプルあたりの符号のビット数gが1ビット増加すると歪みの変化率Dg/D0は約0.1dB改善される。実験でもこれと同様な結果が得られる。
以上のように、式(1)は歪みDgと1サンプルあたりの符号のビット数g/Nとの一般的な関係を近似している。符号帳中のあるインデックスに対応する量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補を使うことによって生ずる歪みをDとし、そのインデックスのビット数をbとする。bが小さいと符号化装置全体として出力するビット数が小さくできたり、符号化装置が出力する符号の平均ビット数またはある時間区間内でビット数が一定である制約のもとに、節約できたビットを後続のフレームで利用して後続フレームの歪みを小さくできるという利点がある。従来はDを最小化する基準で選択したインデックスを利得符号としたが、本願では歪みとビット数を1つの指標値で評価して、最適なインデックスを利得符号として選択する。このために、式(1)の関係とこのフレームで一定のビット数のもとに利得量子化で節約できたビットを入力音響信号の符号化に割り当てることを想定する。利得符号にbビットを使うと、(b-1)ビットの場合より、入力音響信号の符号化で使うビット数は1ビット削減する必要があり、式(1)から歪みは2(2/N)倍だけ増加する。したがって、利得符号にbビットを使うと歪みは2(2b/N)倍だけ増加することになる。このようなビット数の消費を歪みに換算した歪みをDUとして式(4)で定義する。
DU=D×2(2b/N) ...(4)
歪みDが小さいほどDUは小さくなり、インデックスを指定するビット数bが小さいほどDUは小さくなる。DUが最小となる符号を探索することで、歪みDおよびインデックスのビット数bを1つの指標値で評価して利得符号を選択することができる。以下、DUを指標値と呼ぶ。
DU=D×2(2b/N) ...(4)
歪みDが小さいほどDUは小さくなり、インデックスを指定するビット数bが小さいほどDUは小さくなる。DUが最小となる符号を探索することで、歪みDおよびインデックスのビット数bを1つの指標値で評価して利得符号を選択することができる。以下、DUを指標値と呼ぶ。
式(4)の代わりに、以下の指標値DUが最小となる符号が探索されてもよい。
DU=10log10(D×2(2b/N))=10log10(D)+(20b/N)log10(2) ...(5)
DU=10log10(D×2(2b/N))=10log10(D)+(20b/N)log10(2) ...(5)
式(4)の指数部2b/Nの値は非常に小さいため、式(4)の指数関数部をテイラー展開し(ex=1+x+x2/2+x3/6+...)、それによって得られる多項式の2項以降を省略してもよい近似となる。従って、以下の指標値DUが最小となる符号が探索されてもよい。
式(6)は上記のようないろいろな仮定と近似に基づいており、一般にはγを正の値である定数として式(7)のような指標値とし、γは符号化装置全体の制約や目的に合わせた実験に基づく値とすることが好ましい。
DU=D(1+γb) ...(7)
要するに、指標値DUは上述のものに限定されず、歪みDと、可変長符号帳インデックスのビット数bが大きいほど大きくなる係数と、を加算または乗算して得られる値が指標値DUとされ、指標値DUが最小となる符号が探索されればよい。
DU=D(1+γb) ...(7)
要するに、指標値DUは上述のものに限定されず、歪みDと、可変長符号帳インデックスのビット数bが大きいほど大きくなる係数と、を加算または乗算して得られる値が指標値DUとされ、指標値DUが最小となる符号が探索されればよい。
[具体的な手順の例]
上記の原理に基づいて、利得量子化部118が第1~第3サブフレームで行うベクトル量子化の具体的な手順を例示する。
利得量子化部118は、第1~第3サブフレームで、サブフレーム(時間区間)ごとに、コードインデックスに対応するパルス系列(サンプル列)を合成フィルタ117に通して得られるサンプル列Zのそれぞれのサンプルに、量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、ピッチ符号に対応するピッチ周期に対応するサンプル数だけ過去の励振信号を合成フィルタ117に通して得られるサンプル列Yのそれぞれのサンプルに、量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bが大きいほど大きくなる係数と、を加算または乗算して得られる指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号GAf1,GAf2,GAf3として得て出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。
上記の原理に基づいて、利得量子化部118が第1~第3サブフレームで行うベクトル量子化の具体的な手順を例示する。
利得量子化部118は、第1~第3サブフレームで、サブフレーム(時間区間)ごとに、コードインデックスに対応するパルス系列(サンプル列)を合成フィルタ117に通して得られるサンプル列Zのそれぞれのサンプルに、量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、ピッチ符号に対応するピッチ周期に対応するサンプル数だけ過去の励振信号を合成フィルタ117に通して得られるサンプル列Yのそれぞれのサンプルに、量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bが大きいほど大きくなる係数と、を加算または乗算して得られる指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号GAf1,GAf2,GAf3として得て出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。
すなわち、利得量子化部118は、第1~第3サブフレームで、サブフレームごとに、コードインデックスに対応するパルス系列を合成フィルタ117に通して得られるサンプル列Zと、ピッチ符号に対応するピッチ周期に対応するサンプル数だけ過去の励振信号を合成フィルタ117に通して得られるサンプル列Yと、入力音響信号Xとに対する指標値DUが最も小さくなる量子化済ピッチ利得の候補および量子化済固定符号帳利得の候補の組に対応する可変長符号帳インデックスを、利得符号GAf1,GAf2,GAf3として出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。パルス系列に代えてコードインデックスが入力される場合は、当該コードインデックスに対応するパルス系列を固定符号帳113-qから得て用いればよい。また、ピッチ周期に代えてピッチ符号が入力される場合は、当該ピッチ符号を復号して当該ピッチ符号に対応するピッチ周期を得て用いればよい。なお、利得符号のビット数は、ビット数管理部120が利得符号のビット数を用いるために利得符号化部118が出力するものである。従って、ビット数管理部120が利得符号そのものから利得符号のビット数を得ることができるので、利得符号化部118が利得符号のビット数を出力することは必須ではない。
ここで各指標値DUに対応する量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と可変長符号帳インデックスとの組は、それぞれ、可変長符号帳に格納された量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と可変長符号帳インデックスとの組の何れかである。なお、可変長符号帳に量子化済固定符号帳利得の候補の関数値が格納されている場合は、量子化済固定符号帳利得の候補の関数値から求まる量子化済固定符号帳利得の候補をβとすればよい。同様に、可変長符号帳に量子化済ピッチ利得の候補の関数値が格納されている場合は、量子化済ピッチ利得の候補の関数値から求まる量子化済ピッチ利得の候補をαとすればよい。また、サンプル列Zに含まれるサンプルの個数、サンプル列Yに含まれるサンプルの個数、および合成信号サンプル列αY+βZに含まれるサンプルの個数は、サブフレームに含まれるサンプルの個数と同じである。合成フィルタ117は、あるサンプル点nのサンプルυ(n)を、そのサンプル点nよりも過去のP個のサンプル点n-1,n-2,...,n-Pのサンプルχ(n-1),χ(n-2),...,χ(n-P)に線形予測係数a(n-1),a(n-2),...,a(n-P)を乗算した値a(n-1)×χ(n-1),a(n-2)×χ(n-2),...,a(n-P)×χ(n-P)の和で表す線形FIR(Finite Impulse Response)フィルタである。以下に合成フィルタ117を表す。
υ(n)=a(1)×χ(n-1)+a(2)×χ(n-2)+...+a(P)×χ(n-P)
例えば、サンプル列Aを合成フィルタ117に通してサンプル列Cが得られる場合、サンプル列Aに含まれるサンプルがχ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部となり、υ(n)がサンプル列Cのサンプル点nでのサンプルとなる。χ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部がサンプル列Aよりも過去のサンプル点に対応する場合、たとえば、当該χ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部はサンプル列Aより過去のサンプル列に含まれるサンプルとされる。あるいは、サンプル列Aよりも過去のサンプル列が存在しない場合、当該当該χ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部は0などの定数とされる。
υ(n)=a(1)×χ(n-1)+a(2)×χ(n-2)+...+a(P)×χ(n-P)
例えば、サンプル列Aを合成フィルタ117に通してサンプル列Cが得られる場合、サンプル列Aに含まれるサンプルがχ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部となり、υ(n)がサンプル列Cのサンプル点nでのサンプルとなる。χ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部がサンプル列Aよりも過去のサンプル点に対応する場合、たとえば、当該χ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部はサンプル列Aより過去のサンプル列に含まれるサンプルとされる。あるいは、サンプル列Aよりも過去のサンプル列が存在しない場合、当該当該χ(n-1),χ(n-2),...,χ(n-P)の少なくとも一部は0などの定数とされる。
以下に指標値DUの具体例を示す。
サブフレームがN個のサンプル点S,...,S+N-1(Nは1以上の整数、Sは0以上の整数)からなり、サブフレームに属する入力音響信号XをベクトルX=(x(S),...,x(S+N-1))と表現し、サンプル列ZをベクトルZ=(z(S),...,z(S+N-1))と表現し、サンプル列YをベクトルY=(y(S),...,y(S+N-1))と表現し、サンプル列αY+βZと入力音響信号Xとの二乗誤差を歪みDと定義する。すると、歪みDは以下のように表される。ただし、σTはσの転置を表す。
サブフレームがN個のサンプル点S,...,S+N-1(Nは1以上の整数、Sは0以上の整数)からなり、サブフレームに属する入力音響信号XをベクトルX=(x(S),...,x(S+N-1))と表現し、サンプル列ZをベクトルZ=(z(S),...,z(S+N-1))と表現し、サンプル列YをベクトルY=(y(S),...,y(S+N-1))と表現し、サンプル列αY+βZと入力音響信号Xとの二乗誤差を歪みDと定義する。すると、歪みDは以下のように表される。ただし、σTはσの転置を表す。
例えば、前述した1フレームが4個のサブフレームに等区分される例の場合、第hサブフレーム(h=1,2,3)は、N=Lf(h)-Lf(h-1)個のサンプル点Lf(h-1),...,Lf(h)-1からなる。ここで、第hサブフレームでの入力音響信号XをベクトルXh=(x(Lf(h-1)),...,x(Lf(h)-1))と表現する。また、第hサブフレームでの固定符号帳113からのパルス系列cfh=(cfh(Lf(h-1)),...,cfh(Lf(h)-1))を合成フィルタ117に通して得られるサンプル列ZをZh=(z(Lf(h-1)),...,z(Lf(h)-1))と表現する。さらに、第hサブフレームでの適応信号成分(過去の励振信号)v(Lf(h-1)),...,v(Lf(h)-1)を合成フィルタ117に通して得られるサンプル列YをベクトルY=(y(Lf(h-1)),...,y(Lf(h)-1))と表現する。すると、第hサブフレームでの歪みDは以下のように表される。
以上のようにDUは、歪みDと利得符号のビット数b(符号長)の双方を考慮した指標値である。利得量子化部118は、第1~第3サブフレームのそれぞれで、指標値DUが最小となる可変長符号帳インデックスを利得符号として選択する。すなわち、利得量子化部118は、第1~第3サブフレームのそれぞれで、歪みDと利得符号のビット数b(符号長)の双方を考慮して利得符号を選択する。
なお、表4のように、可変長符号帳に可変長符号帳インデックスとそのビット数bとが対応付けられて格納されていれば、利得量子化部118は、可変長符号帳インデックスからそのビット数bを算出することなく指標値DUを計算できる。しかしながら、可変長符号帳にビット数bが格納されていなくても、利得量子化部118は、可変長符号帳インデックスからそのビット数を計算して指標値DUを計算できる。そのため、可変長符号帳インデックスのビット数bを可変長符号帳に格納しておくことは必須ではない。
[指標値の変形例]
或いは、利得量子化部118が、第1~第3サブフレームのそれぞれで、以下の指標値DUを最小にする量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補とに対応する可変長符号帳インデックスを可変長符号帳から探索し、得られた可変長符号帳インデックスを利得符号として出力してもよい。
ただし、Bは可変長符号帳に格納された全ての量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組を均一長符号化するために必要な符号のビット数である。例えば、表4に例示した可変長符号帳は32=25個の可変長符号帳インデックスを含み、この場合のBの例は5である。表4に例示した可変長符号帳を用いた可変長符号化でビット数がbの可変長符号帳インデックスが利得符号とされた場合は、均一長符号化を可変長符号化に変更したことにより余った(B-b)ビットを使って入力音響信号を更に符号化することができ、歪を軽減できることを想定する。実際は(B-b)ビットが正であれば情報の節約ができ、あるいは次のサブフレーム以降で使うことができるが、式(11)は、可変長符号帳の選択の基準として均一長符号より可変長符号のほうがビット数が少ないことを歪に換算して評価するものである。式(11)の(2log2)B/Nの項は1と比較して非常に小さい。従って、近似的には式(10)および式(11)の指標値DUの間に大きな違いはない。
或いは、利得量子化部118が、第1~第3サブフレームのそれぞれで、以下の指標値DUを最小にする量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補とに対応する可変長符号帳インデックスを可変長符号帳から探索し、得られた可変長符号帳インデックスを利得符号として出力してもよい。
≪第4サブフレームでのベクトル量子化≫
利得量子化部118が第4サブフレームで行うベクトル量子化は、サブフレームごとに、入力されたピッチ周期とパルス系列に対して、均一長符号帳に格納された複数個の均一長符号帳インデックスのうちの何れか1つを選択し、それを利得符号とする。具体的には、利得量子化部118は歪みDを最小とする、量子化済固定符号帳利得の候補と量子化済ピッチ利得との候補の組に対応する均一長符号帳インデックスを利得符号として出力する。以下、第4サブフレームでのベクトル量子化を説明する。
利得量子化部118が第4サブフレームで行うベクトル量子化は、サブフレームごとに、入力されたピッチ周期とパルス系列に対して、均一長符号帳に格納された複数個の均一長符号帳インデックスのうちの何れか1つを選択し、それを利得符号とする。具体的には、利得量子化部118は歪みDを最小とする、量子化済固定符号帳利得の候補と量子化済ピッチ利得との候補の組に対応する均一長符号帳インデックスを利得符号として出力する。以下、第4サブフレームでのベクトル量子化を説明する。
利得量子化部118は、第4サブフレームで、サブフレーム(時間区間)ごとに、コードインデックスに対応するパルス系列(サンプル列)を合成フィルタ117に通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、ピッチ符号に対応するピッチに対応するサンプル数だけ過去の励振信号を合成フィルタ117に通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプル毎に加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる均一長符号帳インデックスを、利得符号GAf4として得て出力する。
すなわち、利得量子化部118は、第4サブフレームで、コードインデックスに対応するパルス系列を合成フィルタ117に通して得られるサンプル列Zを得る。また利得量子化部118は、第4サブフレームで、ピッチ符号に対応するピッチ周期に対応するサンプル数だけ過去の励振信号を適応符号帳112から得、それらを合成フィルタ117に通して得られるサンプル列Yを得る。さらに利得量子化部118は、第4サブフレームの入力音響信号X=x(n)を得て、歪みDが最も小さくなる均一長符号帳インデックスを利得符号GAf4として出力する。第4サブフレームでの各歪みDに対応する量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と均一長符号帳インデックスとの組は、それぞれ、均一長符号帳に格納された量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補と均一長符号帳インデックスとの組の何れかである。また歪みDの具体例は、前述の式(8)および(9)である。
≪ビット数管理部120≫
ビット数管理部120は、最後のサブフレームを除く各サブフレームにおいて、次のサブフレームのコードインデックスのビット数を決定して出力する。
ビット数管理部120は、最後のサブフレームを除く各サブフレームにおいて、次のサブフレームのコードインデックスのビット数を決定して出力する。
[ビット数管理部120の第1、第2のサブフレームでの処理]
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、それぞれ、ビット数管理部120は、利得符号GAf1,GAf2のビット数を入力とし、以下のように次のサブフレーム、すなわち第2、第3サブフレームのコードインデックスのビット数を決定する。利得符号GAf1,GAf2のビット数に代えて、利得符号GAf1,GAf2そのものを入力として、利得符号GAf1,GAf2からそのビット数を得てもよい。
利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1(第1の所定値)より小さい場合、ビット数管理部120は、所定値VAL1,2(第3の所定値)より大きな値を次のサブフレームのコードインデックスのビット数として決定して出力する。「所定値VAL1,1」の具体例は、可変長符号帳インデックスのビット数の期待値である。例えば、可変長符号帳の学習時に(量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との各組の出現割合)×(可変長符号帳インデックスのビット数)で得られる可変長符号のビット数の期待値を求めておき、それを「所定値VAL1,1」とする。「所定値VAL1,2より大きな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど大きな値であってもよい。
利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1より大きい場合、ビット数管理部120は、所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定して出力する。「所定値VAL1,2より小さな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど小さな値であってもよい。
利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部120は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定して出力するのが望ましい。ただし、利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1である場合であっても、利得符号のビット数が所定値VAL1,1より小さい場合と同様に所定値VAL1,2より大きな値を次のサブフレームのコードインデックスのビット数として決定してもよいし、利得符号のビット数が所定値VAL1,1より大きい場合と同様に所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定してもよい。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、それぞれ、ビット数管理部120は、利得符号GAf1,GAf2のビット数を入力とし、以下のように次のサブフレーム、すなわち第2、第3サブフレームのコードインデックスのビット数を決定する。利得符号GAf1,GAf2のビット数に代えて、利得符号GAf1,GAf2そのものを入力として、利得符号GAf1,GAf2からそのビット数を得てもよい。
利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1(第1の所定値)より小さい場合、ビット数管理部120は、所定値VAL1,2(第3の所定値)より大きな値を次のサブフレームのコードインデックスのビット数として決定して出力する。「所定値VAL1,1」の具体例は、可変長符号帳インデックスのビット数の期待値である。例えば、可変長符号帳の学習時に(量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との各組の出現割合)×(可変長符号帳インデックスのビット数)で得られる可変長符号のビット数の期待値を求めておき、それを「所定値VAL1,1」とする。「所定値VAL1,2より大きな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど大きな値であってもよい。
利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1より大きい場合、ビット数管理部120は、所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定して出力する。「所定値VAL1,2より小さな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど小さな値であってもよい。
利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部120は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定して出力するのが望ましい。ただし、利得量子化部118が得た当該サブフレームの利得符号のビット数が所定値VAL1,1である場合であっても、利得符号のビット数が所定値VAL1,1より小さい場合と同様に所定値VAL1,2より大きな値を次のサブフレームのコードインデックスのビット数として決定してもよいし、利得符号のビット数が所定値VAL1,1より大きい場合と同様に所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定してもよい。
すなわち、当該サブフレームの利得符号のビット数が所定値VAL1,1より多い場合、次のサブフレームのコードインデックスのビット数を減らし、当該サブフレームの利得符号のビット数が所定値VAL1,1より少ない場合、次のサブフレームのコードインデックスのビット数を増やす。これにより、フレームごとの符号の合計ビット数をフレームあたりに予め決められたビット数に近づける。
第1、第2のサブフレームでは、ビット数管理部120は、当該第1、第2のサブフレームが属するフレーム内において当該サブフレームまでに出力された符号の合計ビット数を算出してビット数管理部120内に保持する。当該サブフレームまでに出力された符号とは、例えば、フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号、および、サブフレームごとに得られた符号である。当該サブフレームまでに出力された符号の例は、線形予測分析部111から出力された線形予測情報、ピッチ分析部114から出力されたピッチ符号、探索部115から出力されたコードインデックス、および利得量子化部118から出力された利得符号である。ビット数管理部120内に保持された第1、第2のサブフレームまでに出力された符号の合計ビット数は、以下の第3サブフレームでのビット数管理部120におけるコードインデックスのビット数の決定に用いられる。
以上のように決定された第2、第3のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf2,Cf3の生成に用いられる。
以上のように決定された第2、第3のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf2,Cf3の生成に用いられる。
[ビット数管理部120の第3のサブフレームでの処理]
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部120は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、第4サブフレームの利得符号のビット数である均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数として決定して出力する。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部120は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、第4サブフレームの利得符号のビット数である均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数として決定して出力する。
例えば、ビット数管理部120は、フレームごとに予め定められたビット数FBから、当該フレーム内で得られた線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでで得られたピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームで得られるピッチ符号CT4のビット数と、利得符号GAf4のビット数である均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスCf4のビット数として決定する。
以上のように決定された第4のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf4の生成に用いられる。
以上のように決定された第4のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf4の生成に用いられる。
[ビット数管理部120の第4のサブフレームでの処理]
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部120は何もしない。
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部120は何もしない。
≪適応符号帳112の記憶内容の更新≫
適応符号帳112は、コードインデックスCf1,Cf2,Cf3,Cf4に対応するパルス系列cf1,cf2,cf3,cf4の各サンプルに量子化済固定符号帳利得gc1^,gc2^,gc3^,gc4^を乗算して得られるサンプル列と、適応信号成分v(n)(n=0,...,L-1)の各サンプルに量子化済ピッチ利得gp1^,gp2^,gp3^,gp4^を乗算して得られるサンプル列と、を対応するサンプルごとに加算して以下のような励振信号u’(n)(n=0,...,L-1)を得て、適応符号帳112内に記憶する。
u'(n)=gp1^×v(n)+gc1^×cf1(n) (n=Lf(0),...,Lf(1)-1)
u'(n)=gp2^×v(n)+gc2^×cf2(n) (n=Lf(1),...,Lf(2)-1)
u'(n)=gp3^×v(n)+gc3^×cf3(n) (n=Lf(2),...,Lf(3)-1)
u'(n)=gp4^×v(n)+gc4^×cf4(n) (n=Lf(3),...,Lf(4)-1)
なお、各サブフレームで利得符号が決定されるたびに、そのサブフレームでの励振信号u’(n)が適応符号帳112内に記憶してもよいし、第4サブフレームでの利得符号が決定された後に、第1~4サブフレームでの励振信号u’(n)が適応符号帳112内に記憶してもよい。
適応符号帳112は、コードインデックスCf1,Cf2,Cf3,Cf4に対応するパルス系列cf1,cf2,cf3,cf4の各サンプルに量子化済固定符号帳利得gc1^,gc2^,gc3^,gc4^を乗算して得られるサンプル列と、適応信号成分v(n)(n=0,...,L-1)の各サンプルに量子化済ピッチ利得gp1^,gp2^,gp3^,gp4^を乗算して得られるサンプル列と、を対応するサンプルごとに加算して以下のような励振信号u’(n)(n=0,...,L-1)を得て、適応符号帳112内に記憶する。
u'(n)=gp1^×v(n)+gc1^×cf1(n) (n=Lf(0),...,Lf(1)-1)
u'(n)=gp2^×v(n)+gc2^×cf2(n) (n=Lf(1),...,Lf(2)-1)
u'(n)=gp3^×v(n)+gc3^×cf3(n) (n=Lf(2),...,Lf(3)-1)
u'(n)=gp4^×v(n)+gc4^×cf4(n) (n=Lf(3),...,Lf(4)-1)
なお、各サブフレームで利得符号が決定されるたびに、そのサブフレームでの励振信号u’(n)が適応符号帳112内に記憶してもよいし、第4サブフレームでの利得符号が決定された後に、第1~4サブフレームでの励振信号u’(n)が適応符号帳112内に記憶してもよい。
≪ビットストリーム生成部119≫
ビットストリーム生成部119は、線形予測分析部111で得た線形予測情報LPC info、ピッチ分析部114で得たピッチ符号CT1,CT2,CT3,CT4、探索部で得たコードインデックスCf1,Cf2,Cf3,Cf4、および利得量子化部118で得た利得符号GAf1,GAf2,GAf3,GAf4によるビットストリームBSを生成して出力する。ビットストリームBSに含まれる符号の合計ビット数は所定ビット数FBである。
ビットストリーム生成部119は、線形予測分析部111で得た線形予測情報LPC info、ピッチ分析部114で得たピッチ符号CT1,CT2,CT3,CT4、探索部で得たコードインデックスCf1,Cf2,Cf3,Cf4、および利得量子化部118で得た利得符号GAf1,GAf2,GAf3,GAf4によるビットストリームBSを生成して出力する。ビットストリームBSに含まれる符号の合計ビット数は所定ビット数FBである。
<符号化手順>
図3に符号化装置11が行う符号化手順を例示する。
線形予測分析部111が入力音響信号x(n)(n=0,...,L-1)に対応する線形予測情報LPC infoを得た後、第1~4サブフレームで以下の処理が実行される。
図3に符号化装置11が行う符号化手順を例示する。
線形予測分析部111が入力音響信号x(n)(n=0,...,L-1)に対応する線形予測情報LPC infoを得た後、第1~4サブフレームで以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、まずピッチ分析部114が、ピッチ周期T1とピッチ符号(周期性性成分符号)CT1とを得て出力する。次に探索部115が、パルス系列cf1と予め定められたビット数(所定値VAL1,2)のコードインデックス(パルス性成分符号)Cf1とを得て出力する。次に利得量子化部118が、可変長符号帳を用いて利得符号GAf1および利得符号GAf1のビット数を得て出力する。次にビット数管理部120が、第2サブフレームのコードインデックスのビット数を決定して出力する。
第1サブフレームでは、まずピッチ分析部114が、ピッチ周期T1とピッチ符号(周期性性成分符号)CT1とを得て出力する。次に探索部115が、パルス系列cf1と予め定められたビット数(所定値VAL1,2)のコードインデックス(パルス性成分符号)Cf1とを得て出力する。次に利得量子化部118が、可変長符号帳を用いて利得符号GAf1および利得符号GAf1のビット数を得て出力する。次にビット数管理部120が、第2サブフレームのコードインデックスのビット数を決定して出力する。
≪第2サブフレーム≫
第2サブフレームでは、まずピッチ分析部114が、ピッチ周期T2とピッチ符号CT2とを得て出力する。次に探索部115が、パルス系列cf2と、第1サブフレームで決定されたビット数のコードインデックスCf2とを得て出力する。次に利得量子化部118が、可変長符号帳を用いて利得符号GAf2および利得符号GAf2のビット数を得て出力する。次にビット数管理部120が、第3サブフレームのコードインデックスのビット数を決定して出力する。
第2サブフレームでは、まずピッチ分析部114が、ピッチ周期T2とピッチ符号CT2とを得て出力する。次に探索部115が、パルス系列cf2と、第1サブフレームで決定されたビット数のコードインデックスCf2とを得て出力する。次に利得量子化部118が、可変長符号帳を用いて利得符号GAf2および利得符号GAf2のビット数を得て出力する。次にビット数管理部120が、第3サブフレームのコードインデックスのビット数を決定して出力する。
≪第3サブフレーム≫
第3サブフレームでは、まずピッチ分析部114が、ピッチ周期T3とピッチ符号CT3とを得て出力する。次に探索部115が、パルス系列cf3と、第2サブフレームで決定されたビット数のコードインデックスCf3とを得て出力する。次に利得量子化部118が、可変長符号帳を用いて利得符号GAf3および利得符号GAf3のビット数を得て出力する。次にビット数管理部120が、第4サブフレームのコードインデックスのビット数を決定して出力する。
第3サブフレームでは、まずピッチ分析部114が、ピッチ周期T3とピッチ符号CT3とを得て出力する。次に探索部115が、パルス系列cf3と、第2サブフレームで決定されたビット数のコードインデックスCf3とを得て出力する。次に利得量子化部118が、可変長符号帳を用いて利得符号GAf3および利得符号GAf3のビット数を得て出力する。次にビット数管理部120が、第4サブフレームのコードインデックスのビット数を決定して出力する。
≪第4サブフレーム≫
第4サブフレームでは、まずピッチ分析部114が、ピッチ周期T4とピッチ符号CT4とを得て出力する。次に探索部115が、パルス系列cf4と、第3サブフレームで決定されたビット数のコードインデックスCf4とを得て出力する。次に利得量子化部118が、均一長符号帳を用いて利得符号GAf4を得て出力する。
第4サブフレームでは、まずピッチ分析部114が、ピッチ周期T4とピッチ符号CT4とを得て出力する。次に探索部115が、パルス系列cf4と、第3サブフレームで決定されたビット数のコードインデックスCf4とを得て出力する。次に利得量子化部118が、均一長符号帳を用いて利得符号GAf4を得て出力する。
以上より、上記の第1~4サブフレームからなるフレームについて所定ビット数FBの符号が得られる。ビットストリーム生成部119は、例えば、合計ビット数が当該所定ビット数FBである、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、および利得符号GAf1,GAf2,GAf3,GAf4含むビットストリームBSを生成して出力する。
<復号装置12>
復号装置12(図2)のパラメータ復号部129は、ビットストリームBSを入力とし、ビットストリームBSに含まれる線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4を得る。
復号装置12(図2)のパラメータ復号部129は、ビットストリームBSを入力とし、ビットストリームBSに含まれる線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4を得る。
≪ピッチ符号(周期性成分符号)の復号≫
パラメータ復号部129は、得られたピッチ符号CT1,CT2,CT3,CT4を復号し、ピッチ周期T1’,T2’,T3’,T4’を得て出力する。ピッチ周期T1’,T2’,T3’,T4’は適応符号帳122に入力される。
パラメータ復号部129は、得られたピッチ符号CT1,CT2,CT3,CT4を復号し、ピッチ周期T1’,T2’,T3’,T4’を得て出力する。ピッチ周期T1’,T2’,T3’,T4’は適応符号帳122に入力される。
≪コードインデックス(パルス性成分符号)の復号≫
コードインデックスCf1,Cf2,Cf3,Cf4は、選択部125に入力される。選択部125は、コードインデックスCf1,Cf2,Cf3,Cf4と、ビット数管理部130から出力されたコードインデックスのビット数を用い、固定符号帳123-q(q=0,...,Q-1)を制御する。固定符号帳123-q(q=0,...,Q-1)は、この制御に基づき、サブフレームごとに、コードインデックスCf1,Cf2,Cf3,Cf4を復号してパルス系列cf1,cf2,cf3,cf4を得て出力する。以下にコードインデックスの復号処理の詳細を説明する。
コードインデックスCf1,Cf2,Cf3,Cf4は、選択部125に入力される。選択部125は、コードインデックスCf1,Cf2,Cf3,Cf4と、ビット数管理部130から出力されたコードインデックスのビット数を用い、固定符号帳123-q(q=0,...,Q-1)を制御する。固定符号帳123-q(q=0,...,Q-1)は、この制御に基づき、サブフレームごとに、コードインデックスCf1,Cf2,Cf3,Cf4を復号してパルス系列cf1,cf2,cf3,cf4を得て出力する。以下にコードインデックスの復号処理の詳細を説明する。
固定符号帳123-q(q=0,...,Q-1)は、符号化装置11が備える固定符号帳113-q(q=0,...,Q-1)と同一である。すなわち、固定符号帳123-q(q=0,...,Q-1)のそれぞれは、それぞれから出力されるパルス系列を特定するパルス性成分符号(コードインデックス)のビット数に対応する。固定符号帳123-qの例は、前述の表1~3の固定符号帳である。
第1サブフレーム(最初のサブフレーム)では、選択部125がコードインデックスCf1を用いて、所定値VAL1,2(第3の所定値)に対応する固定符号帳123-q1を制御し、固定符号帳123-q1がコードインデックスCf1に対応するパルス系列cf1を出力する。
第2~第4サブフレーム(最初のサブフレーム以外のサブフレーム)では、選択部125が、サブフレームごとに、コードインデックスCf2,Cf3,Cf4を用い、ビット数管理部130で決定されたビット数に対応する固定符号帳123-q2~q4を制御し、固定符号帳123-q2~q4がコードインデックスCf2,Cf3,Cf4に対応するパルス系列cf2,cf3,cf4を出力する。言い換えると、第kサブフレーム(k=2,3,4)では、選択部125が、ビット数管理部130で第kサブフレームに対して決定されたビット数に対応する固定符号帳123-qkを制御し、固定符号帳123-qkがコードインデックスCfkに対応するパルス系列cfkを出力する。
≪利得符号の復号≫
パラメータ復号部129は、得られた利得符号GAf1,GAf2,GAf3,GAf4を復号し、復号ピッチ利得gp1^,gp2^,gp3^,gp4^および復号固定符号帳利得gc1^,gc2^,gc3^,gc4^を得て出力する。パラメータ復号部129は、符号化装置11の利得量子化部118が備えるのと同一の可変長符号帳および均一長符号帳を備え、これらを用いて利得符号GAf1,GAf2,GAf3,GAf4を復号する。
第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、パラメータ復号部129がサブフレームごとに上述の可変長符号帳を用い、利得符号GAf1,GAf2,GAf3に対応する復号ピッチ利得gp1^,gp2^,gp3^および復号固定符号帳利得gc1^,gc2^,gc3^および利得符号GAf1,GAf2,GAf3のビット数を得て出力する。
第4サブフレーム(最後のサブフレーム)については、パラメータ復号部129が上述の均一長符号帳を用い、利得符号GAf4に対応する復号ピッチ利得gp4^および復号固定符号帳利得gc4^を得て出力する。
パラメータ復号部129は、得られた利得符号GAf1,GAf2,GAf3,GAf4を復号し、復号ピッチ利得gp1^,gp2^,gp3^,gp4^および復号固定符号帳利得gc1^,gc2^,gc3^,gc4^を得て出力する。パラメータ復号部129は、符号化装置11の利得量子化部118が備えるのと同一の可変長符号帳および均一長符号帳を備え、これらを用いて利得符号GAf1,GAf2,GAf3,GAf4を復号する。
第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、パラメータ復号部129がサブフレームごとに上述の可変長符号帳を用い、利得符号GAf1,GAf2,GAf3に対応する復号ピッチ利得gp1^,gp2^,gp3^および復号固定符号帳利得gc1^,gc2^,gc3^および利得符号GAf1,GAf2,GAf3のビット数を得て出力する。
第4サブフレーム(最後のサブフレーム)については、パラメータ復号部129が上述の均一長符号帳を用い、利得符号GAf4に対応する復号ピッチ利得gp4^および復号固定符号帳利得gc4^を得て出力する。
≪ビット数管理部130≫
ビット数管理部130は、最後のサブフレームを除く各サブフレームにおいて、利得符号のビット数を入力とし、次のサブフレームのコードインデックスのビット数を決定して出力する。
ビット数管理部130は、最後のサブフレームを除く各サブフレームにおいて、利得符号のビット数を入力とし、次のサブフレームのコードインデックスのビット数を決定して出力する。
[ビット数管理部130の第1、第2のサブフレームでの処理]
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、それぞれ、ビット数管理部130は利得符号GAf1,GAf2のビット数を入力とし、符号化装置11のビット数管理部120と同一の基準に従って、次のサブフレーム、すなわち第2、第3サブフレームのコードインデックスのビット数を決定する。ビット数管理部130が利得符号GAf1,GAf2に対して決定するコードインデックスのビット数は、ビット数管理部120が当該利得符号GAf1,GAf2に対して決定するコードインデックスのビット数と同一である。すなわち、以下のようにビット数が決定される。
当該サブフレームの利得符号のビット数が所定値VAL1,1(第1の所定値)より小さい場合、ビット数管理部130は、所定値VAL1,2(第3の所定値)より大きな値を次のサブフレームのコードインデックスのビット数として決定して出力する。
当該サブフレームの利得符号のビット数が所定値VAL1,1より大きい場合、ビット数管理部130は、所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定して出力する。
当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部130は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定して出力するのが望ましい。
当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部130は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定して出力するか、利得符号のビット数が所定値VAL1,1より小さい場合と同様に所定値VAL1,2より大きな値を次のサブフレームのコードインデックスのビット数として決定して出力するか、利得符号のビット数が所定値VAL1,1より大きい場合と同様に所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定して出力する。何れの動作とするかは、対応する符号化装置11のビット数管理部120に従って、予め決定される。
ここで用いられる所定値VAL1,1、所定値VAL1,2、所定値VAL1,2より大きな値、所定値VAL1,2より小さな値は、それぞれ、符号化装置11のビット数管理部120における各値と同じである。
以上のように決定された第2、第3のサブフレームのコードインデックスのビット数は、選択部125に入力され、選択部125でのコードインデックスCf2,Cf3の復号に用いられる。また、ビット数管理部130は、当該サブフレームまでの符号のビット数の合計値を計算して保存する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、それぞれ、ビット数管理部130は利得符号GAf1,GAf2のビット数を入力とし、符号化装置11のビット数管理部120と同一の基準に従って、次のサブフレーム、すなわち第2、第3サブフレームのコードインデックスのビット数を決定する。ビット数管理部130が利得符号GAf1,GAf2に対して決定するコードインデックスのビット数は、ビット数管理部120が当該利得符号GAf1,GAf2に対して決定するコードインデックスのビット数と同一である。すなわち、以下のようにビット数が決定される。
当該サブフレームの利得符号のビット数が所定値VAL1,1(第1の所定値)より小さい場合、ビット数管理部130は、所定値VAL1,2(第3の所定値)より大きな値を次のサブフレームのコードインデックスのビット数として決定して出力する。
当該サブフレームの利得符号のビット数が所定値VAL1,1より大きい場合、ビット数管理部130は、所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定して出力する。
当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部130は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定して出力するのが望ましい。
当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部130は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定して出力するか、利得符号のビット数が所定値VAL1,1より小さい場合と同様に所定値VAL1,2より大きな値を次のサブフレームのコードインデックスのビット数として決定して出力するか、利得符号のビット数が所定値VAL1,1より大きい場合と同様に所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定して出力する。何れの動作とするかは、対応する符号化装置11のビット数管理部120に従って、予め決定される。
ここで用いられる所定値VAL1,1、所定値VAL1,2、所定値VAL1,2より大きな値、所定値VAL1,2より小さな値は、それぞれ、符号化装置11のビット数管理部120における各値と同じである。
以上のように決定された第2、第3のサブフレームのコードインデックスのビット数は、選択部125に入力され、選択部125でのコードインデックスCf2,Cf3の復号に用いられる。また、ビット数管理部130は、当該サブフレームまでの符号のビット数の合計値を計算して保存する。
[ビット数管理部130の第3のサブフレームでの処理]
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部130は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとの符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでのサブフレームごとの符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)の符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、第4サブフレームの利得符号のビット数である前述の均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数として決定して出力する。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部130は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとの符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでのサブフレームごとの符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)の符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、第4サブフレームの利得符号のビット数である前述の均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数として決定して出力する。
例えば、ビット数管理部130は、フレームごとに予め定められたビット数から、当該フレーム内の線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでのピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームのピッチ符号CT4のビット数と、第4サブフレームの利得符号のビット数である前述の均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスCf4のビット数として決定する。
以上のように決定された第4のサブフレームのコードインデックスのビット数は、選択部125に入力され、選択部125でのコードインデックスCf4の復号に用いられる。
以上のように決定された第4のサブフレームのコードインデックスのビット数は、選択部125に入力され、選択部125でのコードインデックスCf4の復号に用いられる。
[ビット数管理部130の第4のサブフレームでの処理]
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部130は何もしない。
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部130は何もしない。
≪適応符号帳122≫
適応符号帳122は、入力されたピッチ周期T1’,T2’,T3’,T4’で特定される適応信号成分v’(n)(n=0,...,L-1)を出力する。パルス系列cf1,cf2,cf3,cf4に復号固定符号帳利得gc1^,gc2^,gc3^,gc4^を乗算して得られるサンプル列と、適応信号成分v’(n)(n=0,...,L-1)に復号ピッチ利得gp1^,gp2^,gp3^,gp4^を乗算して得られるサンプル列と、を対応するサンプル毎に加算した以下のような励振信号u’(n)(n=0,...,L-1)が、適応符号帳122に追加される。
u'(n)=gp1^×v'(n)+gc1^×cf1(n) (n=Lf(0),...,Lf(1)-1)
u'(n)=gp2^×v'(n)+gc2^×cf2(n) (n=Lf(1),...,Lf(2)-1)
u'(n)=gp3^×v'(n)+gc3^×cf3(n) (n=Lf(2),...,Lf(3)-1)
u'(n)=gp4^×v'(n)+gc4^×cf4(n) (n=Lf(3),...,Lf(4)-1)
適応符号帳122は、入力されたピッチ周期T1’,T2’,T3’,T4’で特定される適応信号成分v’(n)(n=0,...,L-1)を出力する。パルス系列cf1,cf2,cf3,cf4に復号固定符号帳利得gc1^,gc2^,gc3^,gc4^を乗算して得られるサンプル列と、適応信号成分v’(n)(n=0,...,L-1)に復号ピッチ利得gp1^,gp2^,gp3^,gp4^を乗算して得られるサンプル列と、を対応するサンプル毎に加算した以下のような励振信号u’(n)(n=0,...,L-1)が、適応符号帳122に追加される。
u'(n)=gp1^×v'(n)+gc1^×cf1(n) (n=Lf(0),...,Lf(1)-1)
u'(n)=gp2^×v'(n)+gc2^×cf2(n) (n=Lf(1),...,Lf(2)-1)
u'(n)=gp3^×v'(n)+gc3^×cf3(n) (n=Lf(2),...,Lf(3)-1)
u'(n)=gp4^×v'(n)+gc4^×cf4(n) (n=Lf(3),...,Lf(4)-1)
≪合成フィルタ127≫
励振信号u’(n)(n=0,...,L-1)に、線形予測情報LPC infoによって特定される全極型の合成フィルタ127が適用され、それによって生成された合成信号x’(n)(n=0,...,L-1)が出力される。
励振信号u’(n)(n=0,...,L-1)に、線形予測情報LPC infoによって特定される全極型の合成フィルタ127が適用され、それによって生成された合成信号x’(n)(n=0,...,L-1)が出力される。
<復号手順>
図4に復号装置12が行う復号手順を例示する。ビットストリームBSに含まれる、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4が得られた後、以下の処理が実行される。
図4に復号装置12が行う復号手順を例示する。ビットストリームBSに含まれる、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4が得られた後、以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、パラメータ復号部129がピッチ符号(周期性性成分符号)CT1を復号して、ピッチ周期T1’を得て出力する。次に、予め定められたビット数(所定値VAL1,2)に対応する固定符号帳123-q1が、コードインデックスCf1に対応するパルス系列cf1を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf1を復号して、復号ピッチ利得gp1^および復号固定符号帳利得gc1^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第2サブフレームのコードインデックスのビット数を決定して出力する。
第1サブフレームでは、パラメータ復号部129がピッチ符号(周期性性成分符号)CT1を復号して、ピッチ周期T1’を得て出力する。次に、予め定められたビット数(所定値VAL1,2)に対応する固定符号帳123-q1が、コードインデックスCf1に対応するパルス系列cf1を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf1を復号して、復号ピッチ利得gp1^および復号固定符号帳利得gc1^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第2サブフレームのコードインデックスのビット数を決定して出力する。
≪第2サブフレーム≫
第2サブフレームでは、まずパラメータ復号部129がピッチ符号CT2を復号して、ピッチ周期T2’を得て出力する。次に、第1サブフレームで決定されたビット数に対応する固定符号帳123-q2が、コードインデックスCf2に対応するパルス系列cf2を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf2を復号して、復号ピッチ利得gp2^および復号固定符号帳利得gc2^および利得符号GAf2のビット数を出力する。次にビット数管理部130が、第3サブフレームのコードインデックスのビット数を決定して出力する。
第2サブフレームでは、まずパラメータ復号部129がピッチ符号CT2を復号して、ピッチ周期T2’を得て出力する。次に、第1サブフレームで決定されたビット数に対応する固定符号帳123-q2が、コードインデックスCf2に対応するパルス系列cf2を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf2を復号して、復号ピッチ利得gp2^および復号固定符号帳利得gc2^および利得符号GAf2のビット数を出力する。次にビット数管理部130が、第3サブフレームのコードインデックスのビット数を決定して出力する。
≪第3サブフレーム≫
第3サブフレームでは、まずパラメータ復号部129がピッチ符号CT3を復号して、ピッチ周期T3’を得て出力する。次に、第2サブフレームで決定されたビット数に対応する固定符号帳123-q3が、コードインデックスCf3に対応するパルス系列cf3を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf3を復号して、復号ピッチ利得gp3^および復号固定符号帳利得gc3^および利得符号GAf3のビット数を出力する。次にビット数管理部130が、第4サブフレームのコードインデックスのビット数を決定して出力する。
第3サブフレームでは、まずパラメータ復号部129がピッチ符号CT3を復号して、ピッチ周期T3’を得て出力する。次に、第2サブフレームで決定されたビット数に対応する固定符号帳123-q3が、コードインデックスCf3に対応するパルス系列cf3を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf3を復号して、復号ピッチ利得gp3^および復号固定符号帳利得gc3^および利得符号GAf3のビット数を出力する。次にビット数管理部130が、第4サブフレームのコードインデックスのビット数を決定して出力する。
≪第4サブフレーム≫
第4サブフレームでは、まずパラメータ復号部129がピッチ符号CT4を復号して、ピッチ周期T4’を得て出力する。次に、第3サブフレームで決定されたビット数に対応する固定符号帳123-q4が、コードインデックスCf4に対応するパルス系列cf4を出力する。次に、パラメータ復号部129が上述の均一長符号帳を用いて利得符号GAf4を復号して、復号ピッチ利得gp4^および復号固定符号帳利得gc4^を出力する。
第4サブフレームでは、まずパラメータ復号部129がピッチ符号CT4を復号して、ピッチ周期T4’を得て出力する。次に、第3サブフレームで決定されたビット数に対応する固定符号帳123-q4が、コードインデックスCf4に対応するパルス系列cf4を出力する。次に、パラメータ復号部129が上述の均一長符号帳を用いて利得符号GAf4を復号して、復号ピッチ利得gp4^および復号固定符号帳利得gc4^を出力する。
〔第一実施形態の変形例〕
第一実施形態の符号化では、第4サブフレーム(最後のサブフレーム)のコードインデックスのビット数が調整され、フレームごとに所定ビット数FBの符号が生成された。第一実施形態の変形例の符号化では、第4サブフレームのコードインデックスのビット数、および利得符号のビット数が調整され、フレームごとに所定ビット数FBの符号が生成される。以下では、第一実施形態との相違点を中心に第一実施形態の変形例を説明する。以降、複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
第一実施形態の符号化では、第4サブフレーム(最後のサブフレーム)のコードインデックスのビット数が調整され、フレームごとに所定ビット数FBの符号が生成された。第一実施形態の変形例の符号化では、第4サブフレームのコードインデックスのビット数、および利得符号のビット数が調整され、フレームごとに所定ビット数FBの符号が生成される。以下では、第一実施形態との相違点を中心に第一実施形態の変形例を説明する。以降、複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
図1に例示するように、第一実施形態の変形例の符号化装置11’は、線形予測分析部111、適応符号帳112、Q種類の固定符号帳113-q(q=0,...,Q-1)、ピッチ分析部114、探索部115、聴覚重み付けフィルタ116、合成フィルタ117、利得量子化部118’、ビットストリーム生成部119、およびビット数管理部120’を有する。
図2に例示するように、第一実施形態の変形例の復号装置12’は、適応符号帳122、固定符号帳123-q(q=0,...,Q-1)、選択部125、合成フィルタ127、およびパラメータ復号部129’を有する。パラメータ復号部129’は、ビット数管理部130’を有する。
<符号化装置11’>
第一実施形態の変形例の符号化装置11’の符号化装置11との相違点は、利得量子化部118’、およびビット数管理部120’である。
第一実施形態の変形例の符号化装置11’の符号化装置11との相違点は、利得量子化部118’、およびビット数管理部120’である。
≪利得量子化部118’≫
第一実施形態の利得量子化部118は、1個の可変長符号帳と1個の均一長符号帳を備えていた。第一実施形態の変形例の利得量子化部118’は、1個の可変長符号帳とR個(Rは2以上の整数)の均一長符号帳とを備える。可変長符号帳は第一実施形態と同じである(例えば表4)。一方、R個の均一長符号帳のそれぞれである第r均一長符号帳(rは1以上のR以下の整数)には、量子化済固定符号帳利得の候補と、量子化済ピッチ利得の候補と、第r均一長符号帳インデックスとの組が複数個格納されている。同一の第r均一長符号帳が備える複数個の第r均一長符号帳インデックスは全て同じビット数である。R個の均一長符号帳に格納された第1均一長符号帳インデックスから第R均一長符号帳インデックスのビット数は均一長符号帳ごとに異なる。すなわち、R個の均一長符号帳のそれぞれが、それぞれに格納された第r均一長符号帳インデックスのビット数に対応し、いずれの均一長符号帳を用いるかによって所望のビット数の第r均一長符号帳インデックスを利得符号として得ることができる。
第一実施形態の利得量子化部118は、1個の可変長符号帳と1個の均一長符号帳を備えていた。第一実施形態の変形例の利得量子化部118’は、1個の可変長符号帳とR個(Rは2以上の整数)の均一長符号帳とを備える。可変長符号帳は第一実施形態と同じである(例えば表4)。一方、R個の均一長符号帳のそれぞれである第r均一長符号帳(rは1以上のR以下の整数)には、量子化済固定符号帳利得の候補と、量子化済ピッチ利得の候補と、第r均一長符号帳インデックスとの組が複数個格納されている。同一の第r均一長符号帳が備える複数個の第r均一長符号帳インデックスは全て同じビット数である。R個の均一長符号帳に格納された第1均一長符号帳インデックスから第R均一長符号帳インデックスのビット数は均一長符号帳ごとに異なる。すなわち、R個の均一長符号帳のそれぞれが、それぞれに格納された第r均一長符号帳インデックスのビット数に対応し、いずれの均一長符号帳を用いるかによって所望のビット数の第r均一長符号帳インデックスを利得符号として得ることができる。
利得量子化部118’が第1~第3サブフレームで行うベクトル量子化は、第一実施形態の利得量子化部118が第1~第3サブフレームで行うベクトル量子化と同一である。
第4サブフレーム(最後のサブフレーム)では、利得量子化部118’が、入力されたピッチ周期とパルス系列に対し、ビット数管理部120’で決定されたビット数に対応する第r均一長符号帳に格納された複数個の第r均一長符号帳インデックスのうちの何れか1つを選択し、それ利得符号GAf4として出力する。これにより、第4サブフレームについて、ビット数管理部120’で決定されたビット数の利得符号GAf4が得られる。この均一長符号帳インデックスを選択する方法は、ビット数管理部120’で決定されたビット数に対応する第r均一長符号帳を用いる以外、利得量子化部118の第4サブフレームでのベクトル量子化と同一である。
第4サブフレーム(最後のサブフレーム)では、利得量子化部118’が、入力されたピッチ周期とパルス系列に対し、ビット数管理部120’で決定されたビット数に対応する第r均一長符号帳に格納された複数個の第r均一長符号帳インデックスのうちの何れか1つを選択し、それ利得符号GAf4として出力する。これにより、第4サブフレームについて、ビット数管理部120’で決定されたビット数の利得符号GAf4が得られる。この均一長符号帳インデックスを選択する方法は、ビット数管理部120’で決定されたビット数に対応する第r均一長符号帳を用いる以外、利得量子化部118の第4サブフレームでのベクトル量子化と同一である。
≪ビット数管理部120’≫
ビット数管理部120’は、次のサブフレームのコードインデックスのビット数に加え、最後のサブフレームの利得符号のビット数を決定して出力する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)でのビット数管理部120’の処理は、第一実施形態のビット数管理部120と同一である。また、ビット数管理部120’も第4のサブフレーム(最後のサブフレーム)では何もしない。
ビット数管理部120’は、次のサブフレームのコードインデックスのビット数に加え、最後のサブフレームの利得符号のビット数を決定して出力する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)でのビット数管理部120’の処理は、第一実施形態のビット数管理部120と同一である。また、ビット数管理部120’も第4のサブフレーム(最後のサブフレーム)では何もしない。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部120’は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計ビット数として決定する。ビット数管理部120’は、合計ビット数が第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計値となるように、第4サブフレームのコードインデックスのビット数と利得符号のビット数とを決定する。すなわちビット数管理部120’は、合計ビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数とに分配する。
例えば、ビット数管理部120’は、フレームごとに予め定められたビット数から、当該フレーム内で得られた線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでで得られたピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームで得られるピッチ符号CT4のビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスCf4のビット数と利得符号GAf4のビット数とに分配する。
上記合計ビット数を、どのようにコードインデックスCf4のビット数と利得符号GAf4のビット数とに分配するか(分配基準)は事前に決められる。ビット数管理部120’は、この分配基準に従って、合計ビット数をコードインデックスCf4のビット数と利得符号GAf4のビット数とに分配する。分配基準の例は、所定の分配比率で上記合計ビット数をコードインデックスCf4のビット数と利得符号GAf4のビット数とに分配する基準、上記合計ビット数が所定値以上であるか否かに応じて合計ビット数の分配比率を相違させる基準などである。たとえば第4サブフレームに割り当てられる上記合計ビット数(フレームごとに予め定められたビット数からそれまでに決まったすべてのビット数を減算したもの)をUとすると次のように分配すると決めておく。
以上のように決定された第4のサブフレームのコードインデックスのビット数は探索部115に入力され、利得符号のビット数は利得量子化部118’に入力され、探索部115での第4のサブフレームのコードインデックスCf4の生成、および利得量子化部118’での第4のサブフレームの利得符号GAf4の生成に用いられる(図3)。
<復号装置12’>
第一実施形態の変形例の復号装置12’の復号装置12との相違点は、パラメータ復号部129’である。パラメータ復号部129’のパラメータ復号部129との相違点は、第4サブフレーム(最後のサブフレーム)での利得符号GAf4の復号処理機能と、ビット数管理部130’である。その他は第一実施形態と同じである。
第一実施形態の変形例の復号装置12’の復号装置12との相違点は、パラメータ復号部129’である。パラメータ復号部129’のパラメータ復号部129との相違点は、第4サブフレーム(最後のサブフレーム)での利得符号GAf4の復号処理機能と、ビット数管理部130’である。その他は第一実施形態と同じである。
≪利得符号GAf4の復号処理≫
パラメータ復号部129’は、利得量子化部118’が備えるものと同一の1個の可変長符号帳とR個の均一長符号帳とを備える。パラメータ復号部129’は、ビット数管理部130’で決定された第4のサブフレームの利得符号のビット数に対応する均一長符号帳を用い、利得符号GAf4を復号して復号ピッチ利得gp4^および復号固定符号帳利得gc4^を得て出力する。
パラメータ復号部129’は、利得量子化部118’が備えるものと同一の1個の可変長符号帳とR個の均一長符号帳とを備える。パラメータ復号部129’は、ビット数管理部130’で決定された第4のサブフレームの利得符号のビット数に対応する均一長符号帳を用い、利得符号GAf4を復号して復号ピッチ利得gp4^および復号固定符号帳利得gc4^を得て出力する。
≪ビット数管理部130’≫
ビット数管理部130’は、次のサブフレームのコードインデックスのビット数に加え、最後のサブフレームの利得符号のビット数を決定して出力する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)でのビット数管理部130’の処理は、第一実施形態のビット数管理部130と同一である。また、ビット数管理部130’も第4のサブフレーム(最後のサブフレーム)では何もしない。
ビット数管理部130’は、次のサブフレームのコードインデックスのビット数に加え、最後のサブフレームの利得符号のビット数を決定して出力する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)でのビット数管理部130’の処理は、第一実施形態のビット数管理部130と同一である。また、ビット数管理部130’も第4のサブフレーム(最後のサブフレーム)では何もしない。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部130’は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとの符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでのサブフレームごとの符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)の符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、を減算して得られるビット数が、第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計ビット数として決定する。ビット数管理部130’は、分配基準に従い、合計ビット数が第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計値となるように、第4サブフレームのコードインデックスのビット数と利得符号のビット数を決定する。この分配基準は、符号化装置11’のビット数管理部120’のものと同一である。
例えば、ビット数管理部130は、フレームごとに予め定められたビット数から、当該フレーム内の線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでのピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームのピッチ符号CT4のビット数と、を減算して得られるビット数を、上述の分配基準に従って、コードインデックスCf4のビット数と利得符号GAf4のビット数とに分配する。
以上のように決定された第4のサブフレームのコードインデックスのビット数は選択部125に入力され、第4のサブフレームのコードインデックスCf4の復号に用いられる。一方、以上のように決定された第4のサブフレームの利得符号のビット数は、パラメータ復号部129’での利得符号GAf4の復号処理に用いられる(図4)。
〔第二実施形態〕
第一実施形態では複数個の固定符号帳113-q(q=0,...,Q-1)を用い、サブフレームごとにコードインデックスのビット数が調整された。第二実施形態では、サブフレームごとにコードインデックスのビット数が調整されるのではなく、利得符号のビット数が調整される。以下では、第一実施形態との相違点を中心に第二実施形態を説明する。
第一実施形態では複数個の固定符号帳113-q(q=0,...,Q-1)を用い、サブフレームごとにコードインデックスのビット数が調整された。第二実施形態では、サブフレームごとにコードインデックスのビット数が調整されるのではなく、利得符号のビット数が調整される。以下では、第一実施形態との相違点を中心に第二実施形態を説明する。
図1に例示するように、第二実施形態の符号化装置21は、線形予測分析部111、適応符号帳112、固定符号帳213、ピッチ分析部114、探索部215、聴覚重み付けフィルタ116、合成フィルタ117、利得量子化部218、ビットストリーム生成部119、およびビット数管理部220を有する。
図2に例示するように、第二実施形態の復号装置22は、適応符号帳122、固定符号帳223、選択部225、合成フィルタ127、およびパラメータ復号部229を有する。パラメータ復号部229は、ビット数管理部230を有する。
<符号化装置21>
第二実施形態の符号化装置21の符号化装置11との相違点は、固定符号帳213、探索部215、利得量子化部218、およびビット数管理部220である。その他は第一実施形態と同じである。
第二実施形態の符号化装置21の符号化装置11との相違点は、固定符号帳213、探索部215、利得量子化部218、およびビット数管理部220である。その他は第一実施形態と同じである。
≪固定符号帳213≫
符号化装置21は、1個の固定符号帳213を備える。固定符号帳213には、零でない単位パルスとその極性との組み合わせからなる値を持つ1個以上の信号と零値を持つ1個以上の信号とから構成される複数個のパルス系列(「サンプル列」に相当)を特定するための情報が格納される。固定符号帳213から出力されるパルス系列を特定するパルス性成分符号(コードインデックス)のビット数は、予め定められた1種類の値である。固定符号帳213の具体例は、表1の固定符号帳である。
符号化装置21は、1個の固定符号帳213を備える。固定符号帳213には、零でない単位パルスとその極性との組み合わせからなる値を持つ1個以上の信号と零値を持つ1個以上の信号とから構成される複数個のパルス系列(「サンプル列」に相当)を特定するための情報が格納される。固定符号帳213から出力されるパルス系列を特定するパルス性成分符号(コードインデックス)のビット数は、予め定められた1種類の値である。固定符号帳213の具体例は、表1の固定符号帳である。
≪探索部215≫
探索部215は、1個の固定符号帳213を用い、サブフレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応するパルス系列cf1,cf2,cf3,cf4と、当該パルス系列cf1,cf2,cf3,cf4に対応するコードインデックスCf1,Cf2,Cf3,Cf4と、を得て出力する。コードインデックスCf1,Cf2,Cf3,Cf4のビット数は互いに同一であり、すべて上述の予め定められた1種類の値となる。なお、パルス系列はコードインデックスを復号することにより得られるので探索部215が出力することは必須ではない。
探索部215は、1個の固定符号帳213を用い、サブフレームごとに、入力音響信号x(n)(n=0,...,L-1)に対応するパルス系列cf1,cf2,cf3,cf4と、当該パルス系列cf1,cf2,cf3,cf4に対応するコードインデックスCf1,Cf2,Cf3,Cf4と、を得て出力する。コードインデックスCf1,Cf2,Cf3,Cf4のビット数は互いに同一であり、すべて上述の予め定められた1種類の値となる。なお、パルス系列はコードインデックスを復号することにより得られるので探索部215が出力することは必須ではない。
≪利得量子化部218≫
利得量子化部218には、ピッチ周期T1,T2,T3,T4またはピッチ符号CT1,CT2,CT3,CT4、およびパルス系列cf1,cf2,cf3,cf4またはコードインデックスCf1,Cf2,Cf3,Cf4が入力される。利得量子化部218は、これらを用いてベクトル量子化を行い、第1~4サブフレームの利得符号GAf1,GAf2,GAf3,GAf4を得て出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。第一実施形態の変形例の利得量子化部118’と同様に、利得量子化部218は1個の可変長符号帳とR個の均一長符号帳とを備える。可変長符号帳の構成は第一実施形態と同様である。R個の均一長符号帳の構成は、第一実施形態の変形例と同様である。
利得量子化部218には、ピッチ周期T1,T2,T3,T4またはピッチ符号CT1,CT2,CT3,CT4、およびパルス系列cf1,cf2,cf3,cf4またはコードインデックスCf1,Cf2,Cf3,Cf4が入力される。利得量子化部218は、これらを用いてベクトル量子化を行い、第1~4サブフレームの利得符号GAf1,GAf2,GAf3,GAf4を得て出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。第一実施形態の変形例の利得量子化部118’と同様に、利得量子化部218は1個の可変長符号帳とR個の均一長符号帳とを備える。可変長符号帳の構成は第一実施形態と同様である。R個の均一長符号帳の構成は、第一実施形態の変形例と同様である。
≪利得量子化部218が行うベクトル量子化≫
利得量子化部218は、第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、上述の可変長符号帳を用いて固定符号帳利得とピッチ利得との可変長符号化を行い、サブフレームごとに何れかの可変長符号帳インデックスを選択し、それらを第1~第3サブフレームでの利得符号GAf1,GAf2,GAf3として出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。第一実施形態との相違点は、可変長符号帳インデックスを選択するための指標値DUである。
利得量子化部218は、第4サブフレーム(最後のサブフレーム)については、上述のR個の均一長符号帳の何れかを用い、固定符号帳利得とピッチ利得との均一長符号化を行い、何れかの第r均一長符号帳インデックスを利得符号GAf4として得て出力する。第4サブフレームでの利得符号を得るための処理は、第一実施形態の変形例と同じである。
以下に利得量子化部118が行うベクトル量子化の詳細を説明する。
利得量子化部218は、第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、上述の可変長符号帳を用いて固定符号帳利得とピッチ利得との可変長符号化を行い、サブフレームごとに何れかの可変長符号帳インデックスを選択し、それらを第1~第3サブフレームでの利得符号GAf1,GAf2,GAf3として出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。第一実施形態との相違点は、可変長符号帳インデックスを選択するための指標値DUである。
利得量子化部218は、第4サブフレーム(最後のサブフレーム)については、上述のR個の均一長符号帳の何れかを用い、固定符号帳利得とピッチ利得との均一長符号化を行い、何れかの第r均一長符号帳インデックスを利得符号GAf4として得て出力する。第4サブフレームでの利得符号を得るための処理は、第一実施形態の変形例と同じである。
以下に利得量子化部118が行うベクトル量子化の詳細を説明する。
[第1~第3サブフレームでのベクトル量子化]
第1~第3サブフレームでは、以下の指標値DUが用いられる。
ただし、νは正の係数であり、Nは1個のサブフレームに含まれるサンプルの個数(合成信号サンプル列αY+βZに含まれるサンプルの個数)であり、bは可変長符号帳インデックスのビット数である。
第1~第3サブフレームでは、以下の指標値DUが用いられる。
すなわち第1~第3サブフレームでは、利得量子化部218は、サブフレームごとに、量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との組に対応する式(12)の指標値DUを最小にする可変長符号帳インデックスを得て、それらを第1~第3サブフレームの利得符号GAf1,GAf2,GAf3として得て出力する。また、利得符号GAf1,GAf2,GAf3のビット数も出力する。
式(12)の指標値DUが用いられる場合、係数νが小さいほど、可変長符号帳インデックスのビット数を小さくすることよりも歪みDを小さくすることを優先して可変長符号帳インデックスが選択される。一方、係数νが大きいほど、歪みDを小さくすることよりも可変長符号帳インデックスのビット数を小さくすることを優先して可変長符号帳インデックスが選択される。すなわち、係数νを調整することで、サブフレームごとの利得符号のビット数の大小を調整できる。第1サブフレーム(最初のサブフレーム)では、所定値VAL2,2(第2の所定値に対応する値)が係数νとされ、第2、第3サブフレーム(最初と最後以外のサブフレーム)では、ビット数管理部220が決定した値がνとされる。
[第4サブフレームでのベクトル量子化]
第4サブフレーム(最後のサブフレーム)でのベクトル量子化は、第一実施形態の変形例と同様である。すなわち、利得量子化部218は、入力されたピッチ周期とパルス系列に対し、ビット数管理部220で決定されたビット数に対応する第r均一長符号帳に格納された複数個の第r均一長符号帳インデックスのうちの何れか1つを選択し、それを利得符号GAf4として出力する。これにより、第4サブフレームについて、ビット数管理部220で決定されたビット数の利得符号GAf4が得られる。この均一長符号帳インデックスを選択する方法は、ビット数管理部220で決定されたビット数に対応する第r均一長符号帳を用いる以外、利得量子化部118の第4サブフレームでのベクトル量子化と同一である。
第4サブフレーム(最後のサブフレーム)でのベクトル量子化は、第一実施形態の変形例と同様である。すなわち、利得量子化部218は、入力されたピッチ周期とパルス系列に対し、ビット数管理部220で決定されたビット数に対応する第r均一長符号帳に格納された複数個の第r均一長符号帳インデックスのうちの何れか1つを選択し、それを利得符号GAf4として出力する。これにより、第4サブフレームについて、ビット数管理部220で決定されたビット数の利得符号GAf4が得られる。この均一長符号帳インデックスを選択する方法は、ビット数管理部220で決定されたビット数に対応する第r均一長符号帳を用いる以外、利得量子化部118の第4サブフレームでのベクトル量子化と同一である。
≪ビット数管理部220≫
ビット数管理部220は、次のサブフレームが最後のサブフレームではない場合には、次のサブフレームで利得量子化部218に用いられる係数νを決定して出力し、次のサブフレームが最後のサブフレームである場合には、最後のサブフレームでの利得符号のビット数を決定して出力する。
ビット数管理部220は、次のサブフレームが最後のサブフレームではない場合には、次のサブフレームで利得量子化部218に用いられる係数νを決定して出力し、次のサブフレームが最後のサブフレームである場合には、最後のサブフレームでの利得符号のビット数を決定して出力する。
[ビット数管理部220の第1、第2のサブフレームでの処理]
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、それぞれ、利得符号GAf1,GAf2のビット数を入力とし、以下のように次のサブフレーム、すなわち第2、第3サブフレームで利得量子化部218に用いられる係数νを決定する。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL2,1(第1の所定値)より小さい場合には、所定値VAL2,2(第2の所定値に対応する値)より小さな値を次のサブフレームの係数νの値として決定して出力する。「所定値VAL2,1」の具体例は、可変長符号帳インデックスのビット数の期待値である。例えば、可変長符号帳の学習時に(量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との各組の出現割合)×(可変長符号帳インデックスのビット数)で得られる可変長符号のビット数の期待値を求めておき、それを「所定値VAL2,1」とする。「所定値VAL2,2」の具体例は、1である。「所定値VAL2,2より小さな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL2,1との差分が大きいほど小さな値であってもよい。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL2,1より大きい場合には、所定値VAL2,2より大きな値を次のサブフレームの係数νの値として決定して出力する。「所定値VAL2,2より大きな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL2,1との差分が大きいほど大きな値であってもよい。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL2,1である場合には、所定値VAL2,2を次のサブフレームの係数νの値として決定して出力する。
以上のように決定された第2、第3のサブフレームでの係数νは、利得量子化部218に入力され、利得量子化部218での利得符号GAf1,GAf2の生成に用いられる。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、それぞれ、利得符号GAf1,GAf2のビット数を入力とし、以下のように次のサブフレーム、すなわち第2、第3サブフレームで利得量子化部218に用いられる係数νを決定する。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL2,1(第1の所定値)より小さい場合には、所定値VAL2,2(第2の所定値に対応する値)より小さな値を次のサブフレームの係数νの値として決定して出力する。「所定値VAL2,1」の具体例は、可変長符号帳インデックスのビット数の期待値である。例えば、可変長符号帳の学習時に(量子化済ピッチ利得の候補と量子化済固定符号帳利得の候補との各組の出現割合)×(可変長符号帳インデックスのビット数)で得られる可変長符号のビット数の期待値を求めておき、それを「所定値VAL2,1」とする。「所定値VAL2,2」の具体例は、1である。「所定値VAL2,2より小さな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL2,1との差分が大きいほど小さな値であってもよい。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL2,1より大きい場合には、所定値VAL2,2より大きな値を次のサブフレームの係数νの値として決定して出力する。「所定値VAL2,2より大きな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL2,1との差分が大きいほど大きな値であってもよい。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL2,1である場合には、所定値VAL2,2を次のサブフレームの係数νの値として決定して出力する。
以上のように決定された第2、第3のサブフレームでの係数νは、利得量子化部218に入力され、利得量子化部218での利得符号GAf1,GAf2の生成に用いられる。
すなわち第1、第2のサブフレームでは、当該サブフレームの利得符号のビット数が大きい場合、次のサブフレームでビット数の小さな利得符号が選択されるように誘導する指標値DUとなるように係数νが決定される。逆に、当該サブフレームの利得符号のビット数が小さい場合、次のサブフレームでビット数の大きな利得符号が選択されるように誘導する指標値DUとなるように係数νが決定される。これにより、フレームごとの符号のビット数を所定ビット数FBに近づけることができる。
[ビット数管理部220の第3のサブフレームでの処理]
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部220は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうち利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、第4サブフレームの利得符号のビット数として決定して出力する。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部220は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうち利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、第4サブフレームの利得符号のビット数として決定して出力する。
例えば、ビット数管理部220は、フレームごとに予め定められたビット数から、当該フレーム内で得られた線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでで得られたピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームで得られるピッチ符号CT4のビット数と、第4サブフレームのコードインデックスのビット数と、を減算して得られるビット数を、第4サブフレームの利得符号GAf4のビット数として決定する。
以上のように決定された第4のサブフレームの利得符号のビット数は、利得量子化部218に入力され、利得量子化部218での利得符号GAf4の生成に用いられる。
以上のように決定された第4のサブフレームの利得符号のビット数は、利得量子化部218に入力され、利得量子化部218での利得符号GAf4の生成に用いられる。
[ビット数管理部220の第4のサブフレームでの処理]
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部220は何もしない。
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部220は何もしない。
<符号化手順>
図5に符号化装置21が行う符号化手順を例示する。
線形予測分析部111が入力音響信号x(n)(n=0,...,L-1)に対応する線形予測情報LPC infoを得た後、第1~4サブフレームで以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、まずピッチ分析部114が、ピッチ周期T1とピッチ符号(周期性性成分符号)CT1とを得て出力する。次に探索部215が、パルス系列cf1と予め定められたビット数のコードインデックス(パルス性成分符号)Cf1とを得て出力する。次に利得量子化部218が、所定値VAL2,2である係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf1および利得符号GAf1ビット数を得て出力する。次にビット数管理部220が、第2サブフレームで用いられる係数νを決定して出力する。
図5に符号化装置21が行う符号化手順を例示する。
線形予測分析部111が入力音響信号x(n)(n=0,...,L-1)に対応する線形予測情報LPC infoを得た後、第1~4サブフレームで以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、まずピッチ分析部114が、ピッチ周期T1とピッチ符号(周期性性成分符号)CT1とを得て出力する。次に探索部215が、パルス系列cf1と予め定められたビット数のコードインデックス(パルス性成分符号)Cf1とを得て出力する。次に利得量子化部218が、所定値VAL2,2である係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf1および利得符号GAf1ビット数を得て出力する。次にビット数管理部220が、第2サブフレームで用いられる係数νを決定して出力する。
≪第2サブフレーム≫
第2サブフレームでは、まずピッチ分析部114が、ピッチ周期T2とピッチ符号CT2とを得て出力する。次に探索部215が、パルス系列cf2と、予め定められたビット数のコードインデックスCf2とを得て出力する。次に利得量子化部218が、第1サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf2および利得符号GAf2のビット数を得て出力する。次にビット数管理部220が、第3サブフレームで用いられる係数νを決定して出力する。
第2サブフレームでは、まずピッチ分析部114が、ピッチ周期T2とピッチ符号CT2とを得て出力する。次に探索部215が、パルス系列cf2と、予め定められたビット数のコードインデックスCf2とを得て出力する。次に利得量子化部218が、第1サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf2および利得符号GAf2のビット数を得て出力する。次にビット数管理部220が、第3サブフレームで用いられる係数νを決定して出力する。
≪第3サブフレーム≫
第3サブフレームでは、まずピッチ分析部114が、ピッチ周期T3とピッチ符号CT3とを得て出力する。次に探索部215が、パルス系列cf3と、予め定められたビット数のコードインデックスCf3とを得て出力する。次に利得量子化部218が、第2サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf3および利得符号GAf3ビット数を得て出力する。次にビット数管理部220が、第4サブフレームの利得符号のビット数を決定して出力する。
第3サブフレームでは、まずピッチ分析部114が、ピッチ周期T3とピッチ符号CT3とを得て出力する。次に探索部215が、パルス系列cf3と、予め定められたビット数のコードインデックスCf3とを得て出力する。次に利得量子化部218が、第2サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf3および利得符号GAf3ビット数を得て出力する。次にビット数管理部220が、第4サブフレームの利得符号のビット数を決定して出力する。
≪第4サブフレーム≫
第4サブフレームでは、まずピッチ分析部114が、ピッチ周期T4とピッチ符号CT4とを得て出力する。次に探索部215が、パルス系列cf4と、予め定められたビット数のコードインデックスCf4とを得て出力する。次に利得量子化部218が、第3サブフレームで決定された利得符号のビット数に対応する均一長符号帳を用いて利得符号GAf4を得て出力する。
第4サブフレームでは、まずピッチ分析部114が、ピッチ周期T4とピッチ符号CT4とを得て出力する。次に探索部215が、パルス系列cf4と、予め定められたビット数のコードインデックスCf4とを得て出力する。次に利得量子化部218が、第3サブフレームで決定された利得符号のビット数に対応する均一長符号帳を用いて利得符号GAf4を得て出力する。
以上より、上記の第1~4サブフレームからなるフレームについて所定ビット数FBの符号が得られる。以降の符号化手順は第一実施形態と同様である。
<復号装置22>
第二実施形態の復号装置22の復号装置12との相違点は、パラメータ復号部229、固定符号帳223、および選択部225である。パラメータ復号部229のパラメータ復号部129との相違点は、利得符号GAf4の復号処理機能と、ビット数管理部230である。その他は第一実施形態と同じである。
第二実施形態の復号装置22の復号装置12との相違点は、パラメータ復号部229、固定符号帳223、および選択部225である。パラメータ復号部229のパラメータ復号部129との相違点は、利得符号GAf4の復号処理機能と、ビット数管理部230である。その他は第一実施形態と同じである。
≪ピッチ符号(周期性成分符号)の復号≫
パラメータ復号部229は、第一実施形態と同様にピッチ符号CT1,CT2,CT3,CT4を復号し、ピッチ周期T1’,T2’,T3’,T4’を得て出力する。ピッチ周期T1’,T2’,T3’,T4’は適応符号帳122に入力される。
パラメータ復号部229は、第一実施形態と同様にピッチ符号CT1,CT2,CT3,CT4を復号し、ピッチ周期T1’,T2’,T3’,T4’を得て出力する。ピッチ周期T1’,T2’,T3’,T4’は適応符号帳122に入力される。
≪コードインデックス(パルス性成分符号)の復号≫
コードインデックスCf1,Cf2,Cf3,Cf4は、選択部225に入力される。選択部225は、コードインデックスCf1,Cf2,Cf3,Cf4を用い、1個の固定符号帳223を制御する。固定符号帳223は、この制御に基づき、サブフレームごとに、コードインデックスCf1,Cf2,Cf3,Cf4を復号してパルス系列cf1,cf2,cf3,cf4を得て出力する。固定符号帳223は、符号化装置21の固定符号帳213と同一である。
コードインデックスCf1,Cf2,Cf3,Cf4は、選択部225に入力される。選択部225は、コードインデックスCf1,Cf2,Cf3,Cf4を用い、1個の固定符号帳223を制御する。固定符号帳223は、この制御に基づき、サブフレームごとに、コードインデックスCf1,Cf2,Cf3,Cf4を復号してパルス系列cf1,cf2,cf3,cf4を得て出力する。固定符号帳223は、符号化装置21の固定符号帳213と同一である。
≪利得符号の復号≫
パラメータ復号部229は、符号化装置21の利得量子化部218が備えるのと同一の1個の可変長符号帳およびR個の均一長符号帳を備え、これらを用いて利得符号GAf1,GAf2,GAf3,GAf4を復号する。
第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、第一実施形態と同様に、パラメータ復号部229がフレームごとに上述の可変長符号帳を用い、利得符号GAf1,GAf2,GAf3に対応する復号ピッチ利得gp1^,gp2^,gp3^および復号固定符号帳利得gc1^,gc2^,gc3^および利得符号GAf1,GAf2,GAf3のビット数を得て出力する。
第4サブフレーム(最後のサブフレーム)については、第一実施形態の変形例と同様に、パラメータ復号部229が、ビット数管理部230で決定された第4サブフレームの利得符号のビット数に対応する均一長符号帳を用い、利得符号GAf4を復号して復号ピッチ利得gp4^および復号固定符号帳利得gc4^を得て出力する。
パラメータ復号部229は、符号化装置21の利得量子化部218が備えるのと同一の1個の可変長符号帳およびR個の均一長符号帳を備え、これらを用いて利得符号GAf1,GAf2,GAf3,GAf4を復号する。
第1~第3サブフレーム(最後のサブフレーム以外のサブフレーム)については、第一実施形態と同様に、パラメータ復号部229がフレームごとに上述の可変長符号帳を用い、利得符号GAf1,GAf2,GAf3に対応する復号ピッチ利得gp1^,gp2^,gp3^および復号固定符号帳利得gc1^,gc2^,gc3^および利得符号GAf1,GAf2,GAf3のビット数を得て出力する。
第4サブフレーム(最後のサブフレーム)については、第一実施形態の変形例と同様に、パラメータ復号部229が、ビット数管理部230で決定された第4サブフレームの利得符号のビット数に対応する均一長符号帳を用い、利得符号GAf4を復号して復号ピッチ利得gp4^および復号固定符号帳利得gc4^を得て出力する。
≪ビット数管理部230≫
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、ビット数管理部230は、そのサブフレームまでの符号のビット数の合計値を計算して保存する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、ビット数管理部230は、そのサブフレームまでの符号のビット数の合計値を計算して保存する。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部230は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうち利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、第4サブフレームの利得符号のビット数として決定して出力する。
例えば、ビット数管理部230は、フレームごとに予め定められたビット数から、当該フレーム内で得られた線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでで得られたピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームで得られるピッチ符号CT4のビット数と、第4サブフレームのコードインデックスのビット数と、を減算して得られるビット数を、第4サブフレームの利得符号GAf4のビット数として決定して出力する。
第4サブフレーム(最後のサブフレーム)では、ビット数管理部230は何もしない。
<復号手順>
図6に復号装置22が行う復号手順を例示する。ビットストリームBSに含まれる、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4が得られた後、以下の処理が実行される。
図6に復号装置22が行う復号手順を例示する。ビットストリームBSに含まれる、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4が得られた後、以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、パラメータ復号部229がピッチ符号(周期性性成分符号)CT1を復号して、ピッチ周期T1’を得て出力する。次に、固定符号帳223が、コードインデックスCf1に対応するパルス系列cf1を出力する。次に、パラメータ復号部229が上述の可変長符号帳を用いて利得符号GAf1を復号して、復号ピッチ利得gp1^および復号固定符号帳利得gc1^および利得符号GAf1ビット数を出力する。次にビット数管理部230が、当該サブフレームまでの符号のビット数の合計値を計算して格納する。
第1サブフレームでは、パラメータ復号部229がピッチ符号(周期性性成分符号)CT1を復号して、ピッチ周期T1’を得て出力する。次に、固定符号帳223が、コードインデックスCf1に対応するパルス系列cf1を出力する。次に、パラメータ復号部229が上述の可変長符号帳を用いて利得符号GAf1を復号して、復号ピッチ利得gp1^および復号固定符号帳利得gc1^および利得符号GAf1ビット数を出力する。次にビット数管理部230が、当該サブフレームまでの符号のビット数の合計値を計算して格納する。
≪第2サブフレーム≫
第2サブフレームでは、まずパラメータ復号部229がピッチ符号CT2を復号して、ピッチ周期T2’を得て出力する。次に、固定符号帳223が、コードインデックスCf2に対応するパルス系列cf2を出力する。次に、パラメータ復号部229が上述の可変長符号帳を用いて利得符号GAf2を復号して、復号ピッチ利得gp2^および復号固定符号帳利得gc2^および利得符号GAf2ビット数を出力する。次にビット数管理部230が、当該サブフレームまでの符号のビット数の合計値を計算して格納する。
第2サブフレームでは、まずパラメータ復号部229がピッチ符号CT2を復号して、ピッチ周期T2’を得て出力する。次に、固定符号帳223が、コードインデックスCf2に対応するパルス系列cf2を出力する。次に、パラメータ復号部229が上述の可変長符号帳を用いて利得符号GAf2を復号して、復号ピッチ利得gp2^および復号固定符号帳利得gc2^および利得符号GAf2ビット数を出力する。次にビット数管理部230が、当該サブフレームまでの符号のビット数の合計値を計算して格納する。
≪第3サブフレーム≫
第3サブフレームでは、まずパラメータ復号部229がピッチ符号CT3を復号して、ピッチ周期T3’を得て出力する。次に、固定符号帳223が、コードインデックスCf3に対応するパルス系列cf3を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf3を復号して、復号ピッチ利得gp3^および復号固定符号帳利得gc3^および利得符号GAf3ビット数を出力する。次にビット数管理部230が、第4サブフレームの利得符号のビット数を決定して出力する。
第3サブフレームでは、まずパラメータ復号部229がピッチ符号CT3を復号して、ピッチ周期T3’を得て出力する。次に、固定符号帳223が、コードインデックスCf3に対応するパルス系列cf3を出力する。次に、パラメータ復号部129が上述の可変長符号帳を用いて利得符号GAf3を復号して、復号ピッチ利得gp3^および復号固定符号帳利得gc3^および利得符号GAf3ビット数を出力する。次にビット数管理部230が、第4サブフレームの利得符号のビット数を決定して出力する。
≪第4サブフレーム≫
第4サブフレームでは、まずパラメータ復号部229がピッチ符号CT4を復号して、ピッチ周期T4’を得て出力する。次に、固定符号帳223が、コードインデックスCf4に対応するパルス系列cf4を出力する。次に、パラメータ復号部229が、第3サブフレームで決定された第4サブフレームの利得符号のビット数に対応する均一長符号帳を用いて利得符号GAf4を復号して、復号ピッチ利得gp4^および復号固定符号帳利得gc4^を出力する。
第4サブフレームでは、まずパラメータ復号部229がピッチ符号CT4を復号して、ピッチ周期T4’を得て出力する。次に、固定符号帳223が、コードインデックスCf4に対応するパルス系列cf4を出力する。次に、パラメータ復号部229が、第3サブフレームで決定された第4サブフレームの利得符号のビット数に対応する均一長符号帳を用いて利得符号GAf4を復号して、復号ピッチ利得gp4^および復号固定符号帳利得gc4^を出力する。
〔第二実施形態の変形例1〕
係数νが異なれば、それに対応する最適な可変長符号帳も異なる。そのため、符号化装置21の利得量子化部218が、複数個の可変長符号帳を備え、第1~第3サブフレームで、各係数νの値ごとに予め定められた可変長符号帳を用いて利得符号を得て出力してもよい。第1サブフレームでは、所定値VAL2,2を係数νとする。第2、第3サブフレームでは、ビット数管理部220が第1、第2サブフレームでそれぞれ決定した次のサブフレームの係数νを用いる。例えば、ν=1に対応する可変長符号帳、ν=2に対応する可変長符号帳、ν=0.5に対応する可変長符号帳、の複数個の可変長符号帳を予め利得量子化部218に格納しておき、利得量子化部218が、νの値に対応する可変長符号帳を選択し、選択した可変長符号帳から指標値DUを最小とする可変長符号帳インデックスを選択し、それが利得符号として出力する。これ以外の符号化の処理は第二実施形態と同じである。
係数νが異なれば、それに対応する最適な可変長符号帳も異なる。そのため、符号化装置21の利得量子化部218が、複数個の可変長符号帳を備え、第1~第3サブフレームで、各係数νの値ごとに予め定められた可変長符号帳を用いて利得符号を得て出力してもよい。第1サブフレームでは、所定値VAL2,2を係数νとする。第2、第3サブフレームでは、ビット数管理部220が第1、第2サブフレームでそれぞれ決定した次のサブフレームの係数νを用いる。例えば、ν=1に対応する可変長符号帳、ν=2に対応する可変長符号帳、ν=0.5に対応する可変長符号帳、の複数個の可変長符号帳を予め利得量子化部218に格納しておき、利得量子化部218が、νの値に対応する可変長符号帳を選択し、選択した可変長符号帳から指標値DUを最小とする可変長符号帳インデックスを選択し、それが利得符号として出力する。これ以外の符号化の処理は第二実施形態と同じである。
この場合、復号装置22のパラメータ復号部229は、利得量子化部218が備えるのと同一の複数個の可変長符号帳を備える。パラメータ復号部229は、第1~第3サブフレームで、各係数νの値ごとに予め定められた可変長符号帳を用いて利得符号を復号する。第1サブフレームでは、所定値VAL2,2が係数νとされる。第2、第3サブフレームでは、ビット数管理部230がビット数管理部220と同じ基準に従って第1、第2サブフレームでそれぞれ決定した次のサブフレームの係数νが用いられる。これ以外の復号処理は第二実施形態と同じである。
〔第二実施形態の変形例2〕
式(6)で求まる指標値DUに代えて式(7)で求まる指標値DUを用いることができるのと同様に、式(12)で求まる指標値DUに代えて式(13)で求まる指標値DUを用いることができる。
Du=D(1+νγb) …(13)
すなわち、第二実施形態または第二実施形態の変形例1において、式(12)で求まる指標値DUに代えて、式(13)で求まる指標値DUが用いられてもよい。その他は、第二実施形態または第二実施形態の変形例1と同じである。
式(6)で求まる指標値DUに代えて式(7)で求まる指標値DUを用いることができるのと同様に、式(12)で求まる指標値DUに代えて式(13)で求まる指標値DUを用いることができる。
Du=D(1+νγb) …(13)
すなわち、第二実施形態または第二実施形態の変形例1において、式(12)で求まる指標値DUに代えて、式(13)で求まる指標値DUが用いられてもよい。その他は、第二実施形態または第二実施形態の変形例1と同じである。
また、式(13)において、γは正の定数、νは正の係数であるので、νγに相当する正の係数をwとすれば、式(14)で求まる指標値DUを用いることができる。
Du=D(1+wb) …(14)
すなわち、第二実施形態または第二実施形態の変形例1において、係数νに代えて係数wが用いられ、式(12)で求まる指標値DUに代えて式(14)で求まる指標値DUが用いられてもよい。その他は、第二実施形態または第二実施形態の変形例1と同じである。
Du=D(1+wb) …(14)
すなわち、第二実施形態または第二実施形態の変形例1において、係数νに代えて係数wが用いられ、式(12)で求まる指標値DUに代えて式(14)で求まる指標値DUが用いられてもよい。その他は、第二実施形態または第二実施形態の変形例1と同じである。
〔第三実施形態〕
第一実施形態ではサブフレームごとにコードインデックスのビット数が調整された。第二実施形態ではサブフレームごとに利得符号のビット数が調整された。第三実施形態では、サブフレームごとにコードインデックスのビット数と利得符号のビット数の両方が調整される。以下では、第一、第二実施形態との相違点を中心に第三実施形態を説明する。
第一実施形態ではサブフレームごとにコードインデックスのビット数が調整された。第二実施形態ではサブフレームごとに利得符号のビット数が調整された。第三実施形態では、サブフレームごとにコードインデックスのビット数と利得符号のビット数の両方が調整される。以下では、第一、第二実施形態との相違点を中心に第三実施形態を説明する。
図1に例示するように、第三実施形態の符号化装置31は、線形予測分析部111、適応符号帳112、固定符号帳113-q(q=0,...,Q-1)、ピッチ分析部114、探索部115、聴覚重み付けフィルタ116、合成フィルタ117、利得量子化部218、ビットストリーム生成部119、およびビット数管理部320を有する。
図2に例示するように、第三実施形態の復号装置32は、適応符号帳122、固定符号帳123-q(q=0,...,Q-1)、選択部125、合成フィルタ127、およびパラメータ復号部329を有する。パラメータ復号部329は、ビット数管理部130’を有する。
<符号化装置31>
第三実施形態の符号化装置31が備える構成のうち、符号化装置11にも符号化装置21にも備えられていない構成は、ビット数管理部320である。線形予測分析部111、適応符号帳112、固定符号帳113-q(q=0,...,Q-1)、ピッチ分析部114、探索部115、聴覚重み付けフィルタ116、合成フィルタ117、およびビットストリーム生成部119は、第一実施形態と同じであり、利得量子化部218は第二実施形態と同じである。
第三実施形態の符号化装置31が備える構成のうち、符号化装置11にも符号化装置21にも備えられていない構成は、ビット数管理部320である。線形予測分析部111、適応符号帳112、固定符号帳113-q(q=0,...,Q-1)、ピッチ分析部114、探索部115、聴覚重み付けフィルタ116、合成フィルタ117、およびビットストリーム生成部119は、第一実施形態と同じであり、利得量子化部218は第二実施形態と同じである。
≪ビット数管理部320≫
ビット数管理部320は、最後のサブフレームを除く各サブフレームにおいて、次のサブフレームのコードインデックスのビット数と係数νを決定して出力する。
ビット数管理部320は、最後のサブフレームを除く各サブフレームにおいて、次のサブフレームのコードインデックスのビット数と係数νを決定して出力する。
[ビット数管理部320の第1、第2のサブフレームでの処理]
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、ビット数管理部320は、それぞれ利得符号GAf1,GAf2のビット数を入力とし、以下のように次のサブフレーム、すなわち第2、第3サブフレームのコードインデックスのビット数及び第2、第3サブフレームで利得量子化部218に用いられる係数νを決定する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)では、ビット数管理部320は、それぞれ利得符号GAf1,GAf2のビット数を入力とし、以下のように次のサブフレーム、すなわち第2、第3サブフレームのコードインデックスのビット数及び第2、第3サブフレームで利得量子化部218に用いられる係数νを決定する。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL1,1(第1の所定値)より小さい場合、ビット数管理部320は、所定値VAL1,2(第3の所定値)より大きな値を次のサブフレームのコードインデックスのビット数として決定し、また、所定値VAL3,2(第2の所定値に対応する値)よりも小さな値を次のサブフレームの係数νの値として決定して出力する。「所定値VAL1,2より大きな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど大きな値であってもよい。「所定値VAL3,2より小さな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど小さな値であってもよい。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL1,1より大きい場合、ビット数管理部320は、所定値VAL1,2より小さな値を次のサブフレームのコードインデックスのビット数として決定し、また、所定値VAL3,2よりも大きな値を次のサブフレームの係数νの値として決定して出力する。「所定値VAL1,2より小さな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど小さな値であってもよい。「所定値VAL3,2より大きな値」は、固定値であってもよいし、当該サブフレームの利得符号のビット数と所定値VAL1,1との差分が大きいほど大きな値であってもよい。
利得量子化部218が得た当該サブフレームの利得符号のビット数が所定値VAL1,1である場合、ビット数管理部320は、所定値VAL1,2を次のサブフレームのコードインデックスのビット数として決定し、また、所定値VAL3,2を次のサブフレームの係数νの値として決定して出力するのが望ましい。
第1、第2のサブフレームでは、ビット数管理部320は、当該第1、第2のサブフレームが属するフレーム内において当該サブフレームまでに出力された符号の合計ビット数を算出してビット数管理部320内に保持する。
以上のように決定された第2、第3のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf2,Cf3の生成に用いられる。以上のように決定された第2、第3のサブフレームの係数νは、利得量子化部218に入力され、第2、第3サブフレームでの利得符号の生成に用いられる。
以上のように決定された第2、第3のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf2,Cf3の生成に用いられる。以上のように決定された第2、第3のサブフレームの係数νは、利得量子化部218に入力され、第2、第3サブフレームでの利得符号の生成に用いられる。
[ビット数管理部320の第3のサブフレームでの処理]
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部320は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計ビット数として決定する。ビット数管理部320は、合計ビット数が第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計値となるように、第4サブフレームのコードインデックスのビット数と利得符号のビット数を決定する。すなわちビット数管理部320は、前述したような分配基準に従い、合計ビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数とに分配する。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部320は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計ビット数として決定する。ビット数管理部320は、合計ビット数が第4サブフレームのコードインデックスのビット数と利得符号のビット数との合計値となるように、第4サブフレームのコードインデックスのビット数と利得符号のビット数を決定する。すなわちビット数管理部320は、前述したような分配基準に従い、合計ビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数とに分配する。
例えば、ビット数管理部320は、フレームごとに予め定められたビット数から、当該フレーム内で得られた線形予測情報LPC infoの合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでで得られたピッチ符号CT1,CT2,CT3、コードインデックスCf1,Cf2,Cf3および利得符号GAf1,GAf2,GAf3の合計ビット数と、第4サブフレームで得られるピッチ符号CT4のビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数と利得符号のビット数とに分配する。
以上のように決定された第4のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf4の生成に用いられる。以上のように決定された第4のサブフレームの利得符号のビット数は、利得量子化部218に入力され、第4サブフレームでの利得符号GAf4の生成に用いられる。
[ビット数管理部320の第4のサブフレームでの処理]
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部320は何もしない。
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部320は何もしない。
<符号化手順>
図7に符号化装置31が行う符号化手順を例示する。
線形予測分析部111が入力音響信号x(n)(n=0,...,L-1)に対応する線形予測情報LPC infoを得た後、第1~4サブフレームで以下の処理が実行される。
図7に符号化装置31が行う符号化手順を例示する。
線形予測分析部111が入力音響信号x(n)(n=0,...,L-1)に対応する線形予測情報LPC infoを得た後、第1~4サブフレームで以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、まずピッチ分析部114が、ピッチ周期T1とピッチ符号(周期性性成分符号)CT1とを得て出力する。次に探索部115が、パルス系列cf1と予め定められたビット数(所定値VAL1,2)のコードインデックス(パルス性成分符号)Cf1とを得て出力する。次に利得量子化部218が、所定値VAL3,2である係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf1および利得符号GAf1のビット数を得て出力する。次にビット数管理部320が、第2サブフレームのコードインデックスのビット数を決定して出力する。
第1サブフレームでは、まずピッチ分析部114が、ピッチ周期T1とピッチ符号(周期性性成分符号)CT1とを得て出力する。次に探索部115が、パルス系列cf1と予め定められたビット数(所定値VAL1,2)のコードインデックス(パルス性成分符号)Cf1とを得て出力する。次に利得量子化部218が、所定値VAL3,2である係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf1および利得符号GAf1のビット数を得て出力する。次にビット数管理部320が、第2サブフレームのコードインデックスのビット数を決定して出力する。
≪第2サブフレーム≫
第2サブフレームでは、まずピッチ分析部114が、ピッチ周期T2とピッチ符号CT2とを得て出力する。次に探索部115が、パルス系列cf2と、第1サブフレームで決定されたビット数のコードインデックスCf2とを得て出力する。次に利得量子化部218が、第1サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf2および利得符号GAf2のビット数を得て出力する。次にビット数管理部320が、第3サブフレームのコードインデックスのビット数を決定して出力する。
第2サブフレームでは、まずピッチ分析部114が、ピッチ周期T2とピッチ符号CT2とを得て出力する。次に探索部115が、パルス系列cf2と、第1サブフレームで決定されたビット数のコードインデックスCf2とを得て出力する。次に利得量子化部218が、第1サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf2および利得符号GAf2のビット数を得て出力する。次にビット数管理部320が、第3サブフレームのコードインデックスのビット数を決定して出力する。
≪第3サブフレーム≫
第3サブフレームでは、まずピッチ分析部114が、ピッチ周期T3とピッチ符号CT3とを得て出力する。次に探索部115が、パルス系列cf3と、第2サブフレームで決定されたビット数のコードインデックスCf3とを得て出力する。次に利得量子化部218が、第2サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf3および利得符号GAf3のビット数を得て出力する。次にビット数管理部320が、第4サブフレームのコードインデックスのビット数を決定して出力する。
第3サブフレームでは、まずピッチ分析部114が、ピッチ周期T3とピッチ符号CT3とを得て出力する。次に探索部115が、パルス系列cf3と、第2サブフレームで決定されたビット数のコードインデックスCf3とを得て出力する。次に利得量子化部218が、第2サブフレームで決定された係数νに対応する指標値DUと可変長符号帳を用いて利得符号GAf3および利得符号GAf3のビット数を得て出力する。次にビット数管理部320が、第4サブフレームのコードインデックスのビット数を決定して出力する。
≪第4サブフレーム≫
第4サブフレームでは、まずピッチ分析部114が、ピッチ周期T4とピッチ符号CT4とを得て出力する。次に探索部115が、パルス系列cf4と、第3サブフレームで決定されたビット数のコードインデックスCf4とを得て出力する。次に利得量子化部218が、第3サブフレームで決定されたビット数に対応する均一長符号帳を用いて利得符号GAf4を得て出力する。
第4サブフレームでは、まずピッチ分析部114が、ピッチ周期T4とピッチ符号CT4とを得て出力する。次に探索部115が、パルス系列cf4と、第3サブフレームで決定されたビット数のコードインデックスCf4とを得て出力する。次に利得量子化部218が、第3サブフレームで決定されたビット数に対応する均一長符号帳を用いて利得符号GAf4を得て出力する。
<復号装置32>
≪ピッチ符号(周期性成分符号)の復号≫
パラメータ復号部329は、得られたピッチ符号CT1,CT2,CT3,CT4を復号し、ピッチ周期T1’,T2’,T3’,T4’を得て出力する。ピッチ周期T1’,T2’,T3’,T4’は適応符号帳122に入力される。
≪ピッチ符号(周期性成分符号)の復号≫
パラメータ復号部329は、得られたピッチ符号CT1,CT2,CT3,CT4を復号し、ピッチ周期T1’,T2’,T3’,T4’を得て出力する。ピッチ周期T1’,T2’,T3’,T4’は適応符号帳122に入力される。
≪コードインデックス(パルス性成分符号)の復号≫
第一実施形態と同一である。
第一実施形態と同一である。
≪利得符号の復号≫
第一実施形態の変形例、および第二実施形態と同一である。
第一実施形態の変形例、および第二実施形態と同一である。
≪ビット数管理部130’≫
第一実施形態の変形例と同一である。
第一実施形態の変形例と同一である。
<復号手順>
図8に復号装置32が行う復号手順を例示する。ビットストリームBSに含まれる、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4が得られた後、以下の処理が実行される。
図8に復号装置32が行う復号手順を例示する。ビットストリームBSに含まれる、線形予測情報LPC info、ピッチ符号CT1,CT2,CT3,CT4、コードインデックスCf1,Cf2,Cf3,Cf4、及び利得符号GAf1,GAf2,GAf3,GAf4が得られた後、以下の処理が実行される。
≪第1サブフレーム≫
第1サブフレームでは、パラメータ復号部329がピッチ符号(周期性性成分符号)CT1を復号して、ピッチ周期T1’を得て出力する。次に、予め定められたビット数(所定値VAL1,2)に対応する固定符号帳123-q1が、コードインデックスCf1に対応するパルス系列cf1を出力する。次に、パラメータ復号部329が上述の可変長符号帳を用いて利得符号GAf1を復号して、復号ピッチ利得gp1^および復号固定符号帳利得gc1^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第2サブフレームのコードインデックスのビット数を決定して出力する。
第1サブフレームでは、パラメータ復号部329がピッチ符号(周期性性成分符号)CT1を復号して、ピッチ周期T1’を得て出力する。次に、予め定められたビット数(所定値VAL1,2)に対応する固定符号帳123-q1が、コードインデックスCf1に対応するパルス系列cf1を出力する。次に、パラメータ復号部329が上述の可変長符号帳を用いて利得符号GAf1を復号して、復号ピッチ利得gp1^および復号固定符号帳利得gc1^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第2サブフレームのコードインデックスのビット数を決定して出力する。
≪第2サブフレーム≫
第2サブフレームでは、まずパラメータ復号部329がピッチ符号CT2を復号して、ピッチ周期T2’を得て出力する。次に、第1サブフレームで決定されたビット数に対応する固定符号帳123-q2が、コードインデックスCf2に対応するパルス系列cf2を出力する。次に、パラメータ復号部329が上述の可変長符号帳を用いて利得符号GAf2を復号して、復号ピッチ利得gp2^および復号固定符号帳利得gc2^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第3サブフレームのコードインデックスのビット数を決定して出力する。
第2サブフレームでは、まずパラメータ復号部329がピッチ符号CT2を復号して、ピッチ周期T2’を得て出力する。次に、第1サブフレームで決定されたビット数に対応する固定符号帳123-q2が、コードインデックスCf2に対応するパルス系列cf2を出力する。次に、パラメータ復号部329が上述の可変長符号帳を用いて利得符号GAf2を復号して、復号ピッチ利得gp2^および復号固定符号帳利得gc2^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第3サブフレームのコードインデックスのビット数を決定して出力する。
≪第3サブフレーム≫
第3サブフレームでは、まずパラメータ復号部329がピッチ符号CT3を復号して、ピッチ周期T3’を得て出力する。次に、第2サブフレームで決定されたビット数に対応する固定符号帳123-q3が、コードインデックスCf3に対応するパルス系列cf3を出力する。次に、パラメータ復号部329が上述の可変長符号帳を用いて利得符号GAf3を復号して、復号ピッチ利得gp3^および復号固定符号帳利得gc3^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第4サブフレームのコードインデックスのビット数を決定して出力する。
第3サブフレームでは、まずパラメータ復号部329がピッチ符号CT3を復号して、ピッチ周期T3’を得て出力する。次に、第2サブフレームで決定されたビット数に対応する固定符号帳123-q3が、コードインデックスCf3に対応するパルス系列cf3を出力する。次に、パラメータ復号部329が上述の可変長符号帳を用いて利得符号GAf3を復号して、復号ピッチ利得gp3^および復号固定符号帳利得gc3^および利得符号GAf1のビット数を出力する。次にビット数管理部130が、第4サブフレームのコードインデックスのビット数を決定して出力する。
≪第4サブフレーム≫
第4サブフレームでは、まずパラメータ復号部329がピッチ符号CT4を復号して、ピッチ周期T4’を得て出力する。次に、第3サブフレームで決定されたビット数に対応する固定符号帳123-q4が、コードインデックスCf4に対応するパルス系列cf4を出力する。次に、パラメータ復号部329が、第3サブフレームで決定されたビット数に対応する均一長符号帳を用い、利得符号GAf4を復号して、復号ピッチ利得gp4^および復号固定符号帳利得gc4^を出力する。
第4サブフレームでは、まずパラメータ復号部329がピッチ符号CT4を復号して、ピッチ周期T4’を得て出力する。次に、第3サブフレームで決定されたビット数に対応する固定符号帳123-q4が、コードインデックスCf4に対応するパルス系列cf4を出力する。次に、パラメータ復号部329が、第3サブフレームで決定されたビット数に対応する均一長符号帳を用い、利得符号GAf4を復号して、復号ピッチ利得gp4^および復号固定符号帳利得gc4^を出力する。
〔第三実施形態の変形例1〕
第三実施形態の変形例1では、フレーム内の最後のサブフレーム以外のサブフレームについては、サブフレームごとにコードインデックスのビット数と利得符号のビット数が調整される。最後のサブフレームについては、コードインデックスのビット数が調整されるが、利得符号のビット数は固定とされる。この変形例では、利得量子化部が均一長符号帳を複数備える必要がない。以下では、第一から第三実施形態との相違点を中心に第三実施形態を説明する。
第三実施形態の変形例1では、フレーム内の最後のサブフレーム以外のサブフレームについては、サブフレームごとにコードインデックスのビット数と利得符号のビット数が調整される。最後のサブフレームについては、コードインデックスのビット数が調整されるが、利得符号のビット数は固定とされる。この変形例では、利得量子化部が均一長符号帳を複数備える必要がない。以下では、第一から第三実施形態との相違点を中心に第三実施形態を説明する。
図1に例示するように、第三実施形態の変形例1の符号化装置31’は、線形予測分析部111、適応符号帳112、固定符号帳113-q(q=0,...,Q-1)、ピッチ分析部114、探索部115、聴覚重み付けフィルタ116、合成フィルタ117、利得量子化部318’、ビットストリーム生成部119、およびビット数管理部320’を有する。復号装置は第一実施形態の復号装置12である。
<符号化装置31’>
第三実施形態の変形例1の符号化装置31’の符号化装置31との相違点は、利得量子化部318’、およびビット数管理部320’である。その他は、第三実施形態と同じである。
第三実施形態の変形例1の符号化装置31’の符号化装置31との相違点は、利得量子化部318’、およびビット数管理部320’である。その他は、第三実施形態と同じである。
≪利得量子化部318’≫
利得量子化部318’は、第一実施形態と同様な1個の可変長符号帳と1個の均一長符号帳を備える。
利得量子化部318’が第1~第3サブフレームで行うベクトル量子化は、第三実施形態の利得量子化部218が第1~第3サブフレームで行うベクトル量子化と同一である。
利得量子化部318’が第4サブフレームで行うベクトル量子化は、第一実施形態の利得量子化部118が第4サブフレームで行うベクトル量子化と同一である。
利得量子化部318’は、第一実施形態と同様な1個の可変長符号帳と1個の均一長符号帳を備える。
利得量子化部318’が第1~第3サブフレームで行うベクトル量子化は、第三実施形態の利得量子化部218が第1~第3サブフレームで行うベクトル量子化と同一である。
利得量子化部318’が第4サブフレームで行うベクトル量子化は、第一実施形態の利得量子化部118が第4サブフレームで行うベクトル量子化と同一である。
≪ビット数管理部320’≫
ビット数管理部320’は、最後のサブフレームおよびその直前のサブフレームを除く各サブフレームにおいて、次のサブフレームのコードインデックスのビット数と係数νを決定して出力する。また、ビット数管理部320’は、最後のサブフレームの直前のサブフレームにおいて、利得符号のビット数を入力とし、次のサブフレームのコードインデックスのビット数を決定して出力する。
ビット数管理部320’は、最後のサブフレームおよびその直前のサブフレームを除く各サブフレームにおいて、次のサブフレームのコードインデックスのビット数と係数νを決定して出力する。また、ビット数管理部320’は、最後のサブフレームの直前のサブフレームにおいて、利得符号のビット数を入力とし、次のサブフレームのコードインデックスのビット数を決定して出力する。
第1、第2のサブフレーム(フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレーム)でのビット数管理部320’の処理は、第三実施形態のビット数管理部320の第1、第2のサブフレームでの処理と同一である。
以上のように決定された第2、第3サブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf2,Cf3の生成に用いられる。以上のように決定された第2、第3サブフレームの係数νは、利得量子化部218に入力され、第2、第3サブフレームでの利得符号の生成に用いられる(図7)。
第3サブフレーム(フレーム内の最後のサブフレームの直前のサブフレーム)では、ビット数管理部320’は、フレームごとに予め定められたビット数から、当該フレームごとまたは当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の第1サブフレームから第3サブフレームまでの各サブフレームについて得られた符号の合計ビット数と、第4サブフレーム(最後のサブフレーム)について得られる符号のうちコードインデックスと利得符号以外の符号の合計ビット数と、第4サブフレームの利得符号のビット数である均一長符号帳インデックスのビット数と、を減算して得られるビット数を、第4サブフレームのコードインデックスのビット数として決定して出力する。この処理は、第一実施形態のビット数管理部120の第3のサブフレームでの処理と同一である。以上のように決定された第4のサブフレームのコードインデックスのビット数は、探索部115に入力され、探索部115でのコードインデックスCf4の生成に用いられる(図7)。
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部320’は何もしない。
第4サブフレーム(フレーム内の最後のサブフレーム)については、ビット数管理部320’は何もしない。
〔第三実施形態の変形例2〕
第三実施形態またはその変形例1において、符号化装置31の利得量子化部218,318’が、複数個の可変長符号帳を備え、第1~第3サブフレームで、各係数νの値ごとに予め定められた可変長符号帳を用いて利得符号を得て出力してもよい。第1サブフレームでは、所定値VAL3,2を係数νとする。第2、第3サブフレームでは、ビット数管理部320、320’が第1、第2サブフレームでそれぞれ決定した次のサブフレームの係数νを用いる。例えば、ν=1に対応する可変長符号帳、ν=2に対応する可変長符号帳、ν=0.5に対応する可変長符号帳、の複数個の可変長符号帳を予め利得量子化部218,318’に格納しておき、利得量子化部218,318’が、νの値に対応する可変長符号帳を選択し、選択した可変長符号帳から指標値DUを最小とする可変長符号帳インデックスを選択し、それが利得符号として出力する。これ以外の符号化の処理は第三実施形態またはその変形例1と同じである。
第三実施形態またはその変形例1において、符号化装置31の利得量子化部218,318’が、複数個の可変長符号帳を備え、第1~第3サブフレームで、各係数νの値ごとに予め定められた可変長符号帳を用いて利得符号を得て出力してもよい。第1サブフレームでは、所定値VAL3,2を係数νとする。第2、第3サブフレームでは、ビット数管理部320、320’が第1、第2サブフレームでそれぞれ決定した次のサブフレームの係数νを用いる。例えば、ν=1に対応する可変長符号帳、ν=2に対応する可変長符号帳、ν=0.5に対応する可変長符号帳、の複数個の可変長符号帳を予め利得量子化部218,318’に格納しておき、利得量子化部218,318’が、νの値に対応する可変長符号帳を選択し、選択した可変長符号帳から指標値DUを最小とする可変長符号帳インデックスを選択し、それが利得符号として出力する。これ以外の符号化の処理は第三実施形態またはその変形例1と同じである。
この場合、復号装置32,32’のパラメータ復号部329は、それぞれ、利得量子化部218,318’が備えるのと同一の複数個の可変長符号帳を備える。パラメータ復号部329は、第1~第3サブフレームで、各係数νの値ごとに予め定められた可変長符号帳を用いて利得符号を復号する。第1サブフレームでは、所定値VAL3,2が係数νとされる。第2、第3サブフレームでは、ビット数管理部130’がビット数管理部320と同じ基準に従って第1、第2サブフレームでそれぞれ決定した次のサブフレームの係数νが用いられる。これ以外の復号処理は第三実施形態またはその変形例1と同じである。
〔第三実施形態の変形例3〕
第三実施形態、または第三実施形態の変形例1もしくは2において、式(12)で求まる指標値DUに代えて、式(13)で求まる指標値DUが用いられてもよい。その他は、第三実施形態、または第三実施形態の変形例1もしくは2と同じである。
第三実施形態、または第三実施形態の変形例1もしくは2において、式(12)で求まる指標値DUに代えて、式(13)で求まる指標値DUが用いられてもよい。その他は、第三実施形態、または第三実施形態の変形例1もしくは2と同じである。
第三実施形態、第三実施形態の変形例1または2において、係数νに代えて係数wが用いられ、式(12)で求まる指標値DUに代えて式(14)で求まる指標値DUが用いられてもよい。その他は、第三実施形態、または第三実施形態の変形例1もしくは2と同じである。
〔その他の変形例等〕
本発明は上述の実施形態に限定されるものではない。例えば、線形予測分析部111が、フレームごとに線形予測情報LPC infoを得るのではなく、フレームを構成する複数のサブフレームごとに、線形予測情報LPC infoを得て出力してもよい。
また、上述の実施形態では、フレームごとに線形予測情報LPC infoが得られ、サブフレームごとに、コードインデックス、ピッチ符号および利得符号が得られる例を説明した。しかしながら、例えばフレーム中の信号のパワーを表す符号等のその他の符号が、フレームごと、当該フレームを構成する複数のサブフレームごと、またはサブフレームごとに得られてもよい。
本発明は上述の実施形態に限定されるものではない。例えば、線形予測分析部111が、フレームごとに線形予測情報LPC infoを得るのではなく、フレームを構成する複数のサブフレームごとに、線形予測情報LPC infoを得て出力してもよい。
また、上述の実施形態では、フレームごとに線形予測情報LPC infoが得られ、サブフレームごとに、コードインデックス、ピッチ符号および利得符号が得られる例を説明した。しかしながら、例えばフレーム中の信号のパワーを表す符号等のその他の符号が、フレームごと、当該フレームを構成する複数のサブフレームごと、またはサブフレームごとに得られてもよい。
上述の実施形態では、フレームが複数のサブフレームにより構成されており、線形予測残差残差信号を固定符号帳と適応符号帳と利得符号帳とを用いて符号化する、いわゆるCELP符号化における利得の符号化に本発明を適用する例を示した。しかしながら、線形予測残差残差信号ではなく入力音響信号そのものを符号化対象とするものであっても、音響信号ではない時系列信号を符号化対象とするものであっても、固定符号帳と適応符号帳の何れかを備えないものであっても、固定符号帳と適応符号帳の何れかを複数備えるものであっても、固定符号帳や適応符号帳を用いる符号化の代わりにその他のサンプル列の符号化方法を採用したものであっても、何らかの方法によりサンプル列に対応する符号である波形情報符号を得られる符号化方法であり、かつ、所定の時間または周波数の区間が複数のサブ区間により構成されており、波形情報符号に対応するサンプル列に量子化された利得(以下「量子化済利得」という)を乗算して得られる波形サンプル列と入力信号とが与えられ、入力信号の可変長の利得符号を得る符号化であれば、本発明を適用できる。入力信号は、例えば時系列信号である。入力信号の例は、音響信号、映像信号、生体信号、地震波信号、センサーアレイ信号などである。入力信号は時間領域の信号であってもよいし、周波数領域の信号であってもよい。時間または周波数の区間の例は、フレームや周波数バンドであり、サブ区間の例はサブフレームやサブバンドである。波形情報符号とは、波形情報符号を復号することによりサンプル列を特定することが可能な符号であり、上述の実施形態におけるコードインデックスやピッチ符号やこれらを代替するような符号、たとえば、標本化・量子化されたPCM形式のサンプルを表す符号、である。波形情報符号に対応するサンプル列は、例えば、波形情報符号を復号することにより得られるサンプル列そのもの、や、波形情報符号を復号することにより得られるサンプル列を、合成フィルタに通して得られたものである。
符号化装置は、利得量子化部と調整符号化部とを有する。利得量子化部は、量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含む。利得量子化部は、時間または周波数の区間内の少なくとも1つのサブ区間(時間または周波数の区間内のサブ区間のうち少なくとも1つのサブ区間)については、サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに量子化済利得の候補を乗算して得られる波形サンプル列と、入力信号と、の歪みDが大きいほど大きくなり、かつ、波形サンプル列を得るための量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる可変長符号帳インデックスを、利得符号として得る。調整符号化部は、時間または周波数の区間内の少なくとも1つのサブ区間については、時間または周波数の区間での符号の合計ビット数が所定のビット数に近付くように、利得量子化部が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る(スカラー量子化を行う利得量子化部を用いる例)。
或いは、上記のように利得量子化部がスカラー量子化を行うことに代えて、利得量子化部がベクトル量子化を行ってもよい。ベクトル量子化を行う利得量子化部は、第1から第Γ(Γは2以上の整数)の量子化済利得の候補またはその関数値の組と可変長符号帳インデックスとの組が複数個格納された可変長符号帳を備える。これら複数個の可変長符号帳インデックスにはビット数が異なるものが含まれている。ベクトル量子化を行う利得量子化部は、時間または周波数の区間内の少なくとも1つのサブ区間については、サブ区間ごとに、第1から第ΓまでのΓ個の、第γ(γは1以上Γ以下の整数)の波形情報符号に対応するサンプル列の各サンプルに第γの量子化済利得の候補を乗算して得られる第γの波形サンプル列(すなわち、第1から第ΓまでのΓ個の波形サンプル列)、を対応するサンプル毎に加算して得られる合計波形サンプル列と、入力信号と、の歪みDが大きいほど大きくなり、かつ、合計波形サンプル列を得るための量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる可変長符号帳インデックスを、利得符号として得る。符号化装置が備えるその他の構成は「スカラー量子化を行う利得量子化部を用いる例」の符号化装置と同じである(ベクトル量子化を行う利得量子化部を用いる例)。
指標値DUの例は、上述の歪みDと可変長符号帳インデックスのビット数bが大きいほど大きくなる係数とを加算または乗算して得られる値である。可変長符号帳インデックスのビット数bが大きいほど大きくなる係数の例は、可変長符号帳インデックスのビット数が大きいほど大きくなる値を指数に持つ、べき乗値である。指標値DUの具体例は、前述の式(4)(5)(7)(10)-(14)などである。
なお、この符号化装置は、図1に例示した第一実施形態の符号化装置11、第一実施形態の変形例の符号化装置11’、第二実施形態およびその変形例の符号化装置21、第三実施形態の符号化装置31、ならびに第三実施形態の変形例の符号化装置31’を包含するものである。
具体的には、利得量子化部が利得量子化部118であり、調整符号化部が探索部115である構成が第一実施形態の符号化装置11である。利得量子化部が利得量子化部118’であり、調整符号化部が探索部115および利得量子化部118’である構成が第一実施形態の変形例の符号化装置11’である。利得量子化部および調整符号化部が利得量子化部218である構成が第二実施形態またはその変形例の符号化装置21である。利得量子化部が利得量子化部218であり、調整符号化部が探索部115および利得量子化部218である構成が第三実施形態の符号化装置31である。利得量子化部が利得量子化部318’であり、調整符号化部が探索部115および利得量子化部318’である構成が第三実施形態の変形例の符号化装置31’である。これらの場合、量子化済利得の候補が量子化済ピッチ利得の候補αおよび量子化済固定符号帳利得の候補βであり、波形情報符号がピッチ符号やコードインデックスであり、入力信号が入力音響信号であり、時間または周波数の区間がフレームであり、サブ区間がサブフレームである。
第一実施形態の符号化装置11では、利得量子化部118は、第1~第3サブフレームについては、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得ている。また、探索部115は、第2~第4サブフレームについては、フレームでの符号の合計ビット数が上記所定のビット数に近付くように、利得量子化部118が得た利得符号のビット数の大小に応じた調整を含む符号化処理により波形情報符号を得ている。
しかし、これは第1、第2、第3、第4の順にサブフレームの符号化処理を行う場合の一例であって、例えば第4、第3、第2、第1の順にサブフレームの符号化処理を行う場合は、第一実施形態の利得量子化部118の第1~第3サブフレームについての処理を第4~第2サブフレームについて行い、第一実施形態の探索部115の第2~第4サブフレームについての処理を第3~第1サブフレームについて行ってもよい。
また、第1、第2、第3、第4の順にサブフレームの符号化処理を行う場合であっても、第一実施形態の利得量子化部118の第1~第3サブフレームについての処理を第1サブフレームのみについて行ってもよく、第一実施形態の探索部115の第2~第3サブフレームについての処理を第3サブフレームについてのみ行い、第一実施形態の探索部115の第4サブフレームについての処理を行わないでもよい。この場合は、全フレームで完全に均一長の符号化にはならないが、均一長の符号化に近づけることができる。
または、第1、第2、第3、第4の順にサブフレームの符号化処理を行う場合であっても、第一実施形態の利得量子化部118の第1~第3サブフレームについての処理を第1~第4の全てのサブフレームについて行ってもよく、第一実施形態の探索部115の第2~第4サブフレームについての処理は第一実施形態と同様に第2~第4サブフレームについて行ってもよい。この場合も、フレーム全体で完全に均一長の符号化にはならないが、均一長の符号化に近づけることができる。
要は、利得量子化部118が、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る処理を、少なくとも1つのサブフレームで行い、探索部115が、フレームでの符号の合計ビット数が上記所定のビット数に近付くように、利得量子化部118が得た利得符号のビット数の大小に応じた調整を含む符号化処理により波形情報符号を得る処理を、少なくとも1つのサブフレームで行えばよい。
このことは、第一実施形態の変形例の符号化装置11’、第二実施形態の符号化装置21、第二実施形態の変形例の符号化装置21、第三実施形態の符号化装置31、第三実施形態の変形例の符号化装置31’の全てについて言える。
例えば、第二実施形態の符号化装置21では、利得量子化部218は、第1~第3サブフレームについては、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得ている。また利得量子化部218は、第2~第4サブフレームについては、フレームでの符号の合計ビット数が上記所定のビット数に近付くように、利得量子化部218が得た利得符号のビット数の大小に応じた調整を含む符号化処理により波形情報符号を得ている。
しかし第一実施形態の場合と同様、これは第1、第2、第3、第4の順にサブフレームの符号化処理を行う場合の一例であって、例えば第4、第3、第2、第1の順にサブフレームの符号化処理を行う場合は、第二実施形態の利得量子化部218の第1~第3サブフレームについての処理を第4~第2サブフレームについて行い、第二実施形態の探索部218の第2~第4サブフレームについての処理を第3~第1サブフレームについて行ってもよい。
また、第1、第2、第3、第4の順にサブフレームの符号化処理を行う場合であっても、第二実施形態の利得量子化部218の第1~第3サブフレームについての処理を第1サブフレームのみについて行ってもよく、第二実施形態の利得量子化部218の第2~第3サブフレームについての処理を第3サブフレームについてのみ行い、第二実施形態の利得量子化部218の第4サブフレームについての処理を行わないでもよい。この場合は、フレーム全体で完全に均一長の符号化にはならないが、均一長の符号化に近づけることができる。
または、第1、第2、第3、第4の順にサブフレームの符号化処理を行う場合であっても、第二実施形態の利得量子化部218の第1~第3サブフレームについての処理を第1~第4の全てのサブフレームについて行ってもよい。この場合も、全フレームで完全に均一長の符号化にはならないが、均一長の符号化に近づけることができる。
要は、利得量子化部218が、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る処理を、少なくとも1つのサブフレームで行い、利得量子化部218が、フレームでの符号の合計ビット数が上記所定のビット数に近付くように、利得量子化部218が得た利得符号のビット数の大小に応じた調整を含む符号化処理により波形情報符号を得る処理を、少なくとも1つのサブフレームで行えばよい。
すなわち、利得量子化部118,118’,218,318’が、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る処理を、少なくとも1つのサブ区間で行い、探索部115,215および利得量子化部118,118’,218,318’の何れかが、複数のサブ区間から構成される区間での符号の合計ビット数が上記所定のビット数に近付くように、利得量子化部118,118’,218,318’が得た利得符号のビット数の大小に応じた調整を含む符号化処理により波形情報符号を得る処理を、少なくとも1つのサブ区間で行えばよい。
以下では、時間または周波数の区間のうちの少なくとも1つのサブ区間について指標値DUを用いた可変長符号化を行い、当該時間または周波数の区間のうちの少なくとも1つのサブ区間について、当該時間または周波数の区間での符号の合計ビット数が所定のビット数に近付くように、利得量子化部418が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る例について説明する。
≪符号化装置の例1≫
図9に例示する符号化装置41は、Θ個の波形情報符号帳411-1,…,411-Θと符号化部412とを有する。符号化部412は、利得量子化部418と調整符号化部430とビット数管理部420とを含み、調整符号化部430は探索部415を含む。Θは1以上の整数である。利得量子化部418でスカラー量子化を行う構成ではΘ=1であり、利得量子化部418でベクトル量子化を行う構成ではΘ=Γ≧2である。波形情報符号帳411-1,…,411-Θは固定符号帳を含む。言い換えると、Θ個の波形情報符号帳411-1,…,411-Θのうち、少なくとも1個は固定符号帳である。
図9に例示する符号化装置41は、Θ個の波形情報符号帳411-1,…,411-Θと符号化部412とを有する。符号化部412は、利得量子化部418と調整符号化部430とビット数管理部420とを含み、調整符号化部430は探索部415を含む。Θは1以上の整数である。利得量子化部418でスカラー量子化を行う構成ではΘ=1であり、利得量子化部418でベクトル量子化を行う構成ではΘ=Γ≧2である。波形情報符号帳411-1,…,411-Θは固定符号帳を含む。言い換えると、Θ個の波形情報符号帳411-1,…,411-Θのうち、少なくとも1個は固定符号帳である。
Θ=1の場合の利得量子化部418は、量子化済利得の候補α1またはその関数値と可変長符号帳インデックスとの組が複数個格納された上述の可変長符号帳を含む。Θ=Γ≧2の場合の利得量子化部418は、第1から第Γの量子化済利得の候補αγまたはその関数値の組と可変長符号帳インデックスとの組が複数個格納された上述の可変長符号帳を含む。
調整符号化部430は、サブ区間ごとに、入力信号Xに対応する波形情報符号E1,…,EΘを得る。特に、調整符号化部430が含む探索部415は、固定符号帳(波形情報符号帳411-1,…,411-Θが含む)から得られる複数のサンプル列のうち入力信号Xに対応するサンプル列を特定する符号であるパルス性成分符号を波形情報符号として得て出力する。すなわち、調整符号化部430が得るΘ個の波形情報符号E1,…,EΘのうち、少なくとも1個は探索部415が得るパルス性成分符号である。
利得量子化部418は、時間または周波数の区間内の少なくとも1つのサブ区間については、サブ区間ごとに指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号として得る。前述のように、指標値DUは、歪みDが大きいほど大きくなり、かつ、量子化済利得の候補αθ(θ=1,…,Θ)に対応する可変長符号帳インデックスのビット数bが大きいほど大きくなる値である。図9の例の歪みDは、波形情報符号Eθに対応するサンプル列Yθのそれぞれのサンプルに量子化済利得の候補αθを乗算して得られるサンプル列αθYθについてのα1Y1+…+αΘYΘと、入力信号Xと、の歪みである。波形情報符号Eθに対応するサンプル列Yθの例は、波形情報符号Eθに対する波形情報符号帳411-θからのサンプル列を入力信号Xに対応する合成フィルタに通して得られるサンプル列や、波形情報符号Eθに対する波形情報符号帳411-θからのサンプル列などである。
調整符号化部430は、時間または周波数の区間内の少なくとも1つのサブ区間については、当該時間または周波数の区間での符号の合計ビット数が所定のビット数に近付くように、利得量子化部418が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る。この例では、ビット数管理部420が時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理する。探索部415は、ビット数管理部420が決定したビット数に従い、時間または周波数の区間内の少なくとも1つのサブ区間SAについて、利得量子化部418が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より大きい場合には、第3の所定値より小さい値を当該サブ区間SAのパルス性成分符号のビット数とし(ステップ1-1)、利得量子化部418が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より小さい場合には、第3の所定値より大きい値を当該サブ区間SAのパルス性成分符号のビット数とする(ステップ1-2)。なお、ステップ1-1またはステップ1-2のみが実行されてもよい。また、利得量子化部418が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値に等しい場合には、第3の所定値を当該サブ区間SAのパルス性成分符号のビット数としてもよい。
符号化部412は、このように得られた波形符号E1,…,EΘおよび利得符号に対応するビットストリームを出力する。
なお、図9に例示する符号化装置41は、図1に例示した第一実施形態の符号化装置11、および第三実施形態の変形例の符号化装置31’を包含するものである。
具体的には、図9の符号化装置41であって、Θ=2であり、かつ、波形情報符号帳411-1がQ種類の固定符号帳113-qであり、波形情報符号帳411-2が適応符号帳112であり、利得量子化部418が利得量子化部118であり、調整符号化部430が探索部415であり、探索部415が探索部115であり、ビット数管理部420がビット数管理部120である構成が第一実施形態の符号化装置11である。この場合は、利得量子化部418における量子化済利得の候補α1は利得量子化部118における量子化済固定符号帳利得の候補βであり、利得量子化部418における量子化済利得の候補α2は利得量子化部118における量子化済ピッチ利得の候補αであり、波形情報符号E1は第一実施形態のコードインデックスであり、波形情報符号E2は第一実施形態のピッチ符号であり、入力信号Xは第一実施形態の入力音響信号である。
また、図9の符号化装置41であって、Θ=2であり、かつ、波形情報符号帳411-1がQ種類の固定符号帳113-qであり、波形情報符号帳411-2が適応符号帳112であり、利得量子化部418が利得量子化部318’であり、調整符号化部430が探索部415であり、探索部415が探索部115であり、ビット数管理部420がビット数管理部320’である構成が、第三実施形態の変形例の符号化装置31’である。この場合は、利得量子化部418における量子化済利得の候補α1は利得量子化部318’における量子化済固定符号帳利得の候補βであり、利得量子化部418における量子化済利得の候補α2は利得量子化部318’における量子化済ピッチ利得の候補αであり、波形情報符号E1は第三実施形態の変形例のコードインデックスであり、波形情報符号E2は第三実施形態の変形例のピッチ符号であり、入力信号Xは第三実施形態の変形例の入力音響信号である。
≪符号化装置の例2≫
図9に例示する符号化装置51は、Θ個の波形情報符号帳511-1,…,511-Θと符号化部512とを有する。符号化部512は、調整符号化部530と探索部415とビット数管理部520とを含み、調整符号化部530は利得量子化部518を含む。Θは1以上の整数である。利得量子化部518でスカラー量子化を行う構成ではΘ=1であり、利得量子化部518でベクトル量子化を行う構成ではΘ=Γ≧2である。
図9に例示する符号化装置51は、Θ個の波形情報符号帳511-1,…,511-Θと符号化部512とを有する。符号化部512は、調整符号化部530と探索部415とビット数管理部520とを含み、調整符号化部530は利得量子化部518を含む。Θは1以上の整数である。利得量子化部518でスカラー量子化を行う構成ではΘ=1であり、利得量子化部518でベクトル量子化を行う構成ではΘ=Γ≧2である。
探索部515は、サブ区間ごとに、入力信号Xに対応する波形情報符号E1,…,EΘを得る。利得量子化部518は、時間または周波数の区間内の少なくとも1つのサブ区間については、サブ区間ごとに指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号として得る。ただし、この例の指標値DUは、上述の歪みDと、上述の可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)である。
調整符号化部530は、時間または周波数の区間内の少なくとも1つのサブ区間については、当該時間または周波数の区間での符号の合計ビット数が所定のビット数に近付くように、利得量子化部518が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る。この例では、ビット数管理部520が時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理する。利得量子化部518は、ビット数管理部520が決定したビット数に従い、時間または周波数の区間内の少なくとも1つのサブ区間SBについて、利得量子化部518が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を当該サブ区間SBの係数wの値とし(ステップ2-1)、利得量子化部518が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より大きい場合には、第2の所定値より大きな値を当該サブ区間SBの係数wの値とする(ステップ2-2)。なお、ステップ2-1またはステップ2-2のみが実行されてもよい。また、利得量子化部518が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値に等しい場合には、第2の所定値を当該サブ区間SBの係数wの値としてもよい。
符号化部512は、このように得られた波形符号E1,…,EΘおよび利得符号に対応するビットストリームを出力する。
なお、図9に例示する符号化装置51は、図1に例示した第二実施形態の符号化装置21を包含するものである。具体的には、図9の符号化装置51であって、Θ=2であり、かつ、波形情報符号帳511-1が固定符号帳213であり、波形情報符号帳511-2が適応符号帳112であり、調整符号化部530が利得量子化部518であり、利得量子化部518が利得量子化部218であり、探索部515が探索部215であり、ビット数管理部520がビット数管理部220である構成が第二実施形態の符号化装置21である。この場合は、利得量子化部518における量子化済利得の候補α1は利得量子化部218における量子化済固定符号帳利得の候補βであり、利得量子化部518における量子化済利得の候補α2は利得量子化部218における量子化済ピッチ利得の候補αであり、波形情報符号E1は第二実施形態のコードインデックスであり、波形情報符号E2は第二実施形態のピッチ符号であり、入力信号Xは第二実施形態の入力音響信号である。
≪符号化装置の例3≫
図9に例示する符号化装置61は、Θ個の波形情報符号帳411-1,…,411-Θと符号化部612とを有する。符号化部612は、調整符号化部630とビット数管理部620とを含み、調整符号化部630は利得量子化部418と探索部515とを含む。Θは1以上の整数である。利得量子化部418でスカラー量子化を行う構成ではΘ=1であり、利得量子化部418でベクトル量子化を行う構成ではΘ=Γ≧2である。前述のように、波形情報符号帳411-1,…,411-Θは固定符号帳を含む。
図9に例示する符号化装置61は、Θ個の波形情報符号帳411-1,…,411-Θと符号化部612とを有する。符号化部612は、調整符号化部630とビット数管理部620とを含み、調整符号化部630は利得量子化部418と探索部515とを含む。Θは1以上の整数である。利得量子化部418でスカラー量子化を行う構成ではΘ=1であり、利得量子化部418でベクトル量子化を行う構成ではΘ=Γ≧2である。前述のように、波形情報符号帳411-1,…,411-Θは固定符号帳を含む。
Θ=1の場合の利得量子化部418は、量子化済利得の候補α1またはその関数値と可変長符号帳インデックスとの組が複数個格納された上述の可変長符号帳を含む。Θ=Γ≧2の場合の利得量子化部418は、第1から第Γの量子化済利得の候補αγまたはその関数値の組と可変長符号帳インデックスとの組が複数個格納された上述の可変長符号帳を含む。
調整符号化部630は、サブ区間ごとに、入力信号Xに対応する波形情報符号E1,…,EΘを得る。特に、調整符号化部630が含む探索部415は、固定符号帳(波形情報符号帳411-1,…,411-Θが含む)から得られる複数のサンプル列のうち入力信号Xに対応するサンプル列を特定する符号であるパルス性成分符号を波形情報符号として得て出力する。すなわち、調整符号化部630が得るΘ個の波形情報符号E1,…,EΘのうち、少なくとも1個は探索部415が得るパルス性成分符号である。
調整符号化部630が含む利得量子化部418は、時間または周波数の区間内の少なくとも1つのサブ区間については、サブ区間ごとに指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号として得る。ただし、この例の指標値DUは、上述の歪みDと、上述の可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)である。
調整符号化部630は、時間または周波数の区間内の少なくとも1つのサブ区間については、当該時間または周波数の区間での符号の合計ビット数が所定のビット数に近付くように、利得量子化部418が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る。この例では、ビット数管理部620が時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理する。
調整符号化部630が含む探索部415は、ビット数管理部620が決定したビット数に従い、時間または周波数の区間内の少なくとも1つのサブ区間SAについて、利得量子化部418が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より大きい場合には、第3の所定値より小さい値を当該サブ区間SAのパルス性成分符号のビット数とし(ステップ3-1)、利得量子化部418が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より小さい場合には、第3の所定値より大きい値を当該サブ区間SAのパルス性成分符号のビット数とする(ステップ3-2)。なお、ステップ3-1またはステップ3-2のみが実行されてもよい。また、利得量子化部418が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値に等しい場合には、第3の所定値を当該サブ区間SAのパルス性成分符号のビット数としてもよい。
また、調整符号化部630が含む利得量子化部418は、ビット数管理部620が決定したビット数に従い、時間または周波数の区間内の少なくとも1つのサブ区間SBについて、利得量子化部518が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を当該サブ区間SBの係数wの値とし(ステップ3-3)、利得量子化部418が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より大きい場合には、第2の所定値より大きな値を当該サブ区間SBの係数wの値とする(ステップ3-4)。なお、ステップ3-3またはステップ3-4のみが実行されてもよい。また、利得量子化部418が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値に等しい場合には、第2の所定値を当該サブ区間SBの係数wの値としてもよい。また、サブ区間SAとサブ区間SBとは同一であってもよいし、異なっていてもよい。
符号化部612は、このように得られた波形符号E1,…,EΘおよび利得符号に対応するビットストリームを出力する。
なお、図9に例示する符号化装置61は、図1に例示した第一実施形態の変形例の符号化装置11’、および第三実施形態の符号化装置31を包含するものである。
具体的には、図9の符号化装置61であって、Θ=2であり、かつ、波形情報符号帳611-1がQ種類の固定符号帳113-qであり、波形情報符号帳611-2が適応符号帳112であり、利得量子化部418が利得量子化部118’であり、調整符号化部630が利得量子化部418と探索部515とからなり、探索部515が探索部115であり、ビット数管理部620がビット数管理部120である構成が第一実施形態の変形例の符号化装置11’である。この場合は、利得量子化部418における量子化済利得の候補α1は利得量子化部118’における量子化済固定符号帳利得の候補βであり、利得量子化部418における量子化済利得の候補α2は利得量子化部118’における量子化済ピッチ利得の候補αであり、波形情報符号E1は第一実施形態の変形例のコードインデックスであり、波形情報符号E2は第一実施形態の変形例のピッチ符号であり、入力信号Xは第一実施形態の変形例の入力音響信号である。
また、図9の符号化装置61であって、Θ=2であり、かつ、波形情報符号帳611-1がQ種類の固定符号帳113-qであり、波形情報符号帳611-2が適応符号帳112であり、利得量子化部418が利得量子化部218であり、調整符号化部630が利得量子化部418と探索部515とからなり、探索部515が探索部115であり、ビット数管理部620がビット数管理部320である構成が第三実施形態の符号化装置31である。この場合は、利得量子化部418における量子化済利得の候補α1は利得量子化部218における量子化済固定符号帳利得の候補βであり、利得量子化部418における量子化済利得の候補α2は利得量子化部218における量子化済ピッチ利得の候補αであり、波形情報符号E1は第三実施形態のコードインデックスであり、波形情報符号E2は第三実施形態のピッチ符号であり、入力信号Xは第三実施形態の入力音響信号である。
なお、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェアで実現されてもよい。
11,11’,21,31,31’,41 符号化装置
12,12’,22,32,32’ 復号装置
12,12’,22,32,32’ 復号装置
Claims (34)
- 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化装置であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化部と調整符号化部と、を有し、
上記利得量子化部は、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含み、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化部は、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化部が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化装置。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化装置であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化部と調整符号化部と、を有し、
上記利得量子化部は、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含み、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDと、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化部は、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化部が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化装置。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化装置であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化部と調整符号化部と、を有し、
上記利得量子化部は、
第1から第Γ(Γは2以上の整数)の量子化済利得の候補またはその関数値の組と可変長符号帳インデックスとの組が複数個格納された可変長符号帳を備え、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれており、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、
第1から第ΓまでのΓ個の、第γ(γは1以上Γ以下の整数)の波形情報符号に対応するサンプル列の各サンプルに上記第γの量子化済利得の候補を乗算して得られる第γの波形サンプル列、を対応するサンプル毎に加算して得られる合計波形サンプル列と、入力信号と、の歪みDが大きいほど大きくなり、かつ、上記合計波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化部は、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化部が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化装置。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化装置であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化部と調整符号化部と、を有し、
上記利得量子化部は、
第1から第Γ(Γは2以上の整数)の量子化済利得の候補またはその関数値の組と可変長符号帳インデックスとの組が複数個格納された可変長符号帳を備え、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれており、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、
第1から第ΓまでのΓ個の、第γ(γは1以上Γ以下の整数)の波形情報符号に対応するサンプル列の各サンプルに上記第γの量子化済利得の候補を乗算して得られる第γの波形サンプル列、を対応するサンプル毎に加算して得られる合計波形サンプル列と、上記入力信号と、の歪みDと、上記合計波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化部は、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化部が得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化装置。 - 上記時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理するビット数管理部を更に有し、
上記調整符号化部は、
固定符号帳から得られる複数のサンプル列のうち上記入力信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索部を有し、
上記探索部は、更に、
上記時間または周波数の区間内の少なくとも1つのサブ区間SAについて、
上記利得量子化部が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より大きい場合には、第3の所定値より小さい値を当該サブ区間SAのパルス性成分符号のビット数とする処理と、
上記利得量子化部が当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より小さい場合には、上記第3の所定値より大きい値を当該サブ区間SAのパルス性成分符号のビット数とする処理と、
の少なくとも何れかの処理を行う請求項1から4の何れかに記載の符号化装置。 - 上記時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理するビット数管理部を更に有し、
上記調整符号化部は、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含み、
上記時間または周波数の区間内の少なくとも1つをのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDと、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る第2利得量子化部を更に有し、
上記第2利得量子化部は、更に
上記時間または周波数の区間内の少なくとも1つのサブ区間SBについて、
上記利得量子化部が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を当該サブ区間SBの係数wの値とする処理と、
上記利得量子化部が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より大きい場合には、上記第2の所定値より大きな値を当該サブ区間SBの係数wの値とする処理と、
の少なくとも何れかの処理を行う請求項5記載の符号化装置。 - 上記時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理するビット数管理部を更に有し、
上記調整符号化部は、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含み、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDと、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る第2利得量子化部を更に有し、
上記第2利得量子化部は、更に
上記時間または周波数の区間内の少なくとも1つのサブ区間SBについて、
上記利得量子化部が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を当該サブ区間SBの係数wの値とする処理と、
上記利得量子化部が当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より大きい場合には、上記第2の所定値より大きな値を当該サブ区間SBの係数wの値とする処理と、
の少なくとも何れかの処理を行う請求項1から4の何れかに記載の符号化装置。 - 上記波形情報符号に対応するサンプル列は、上記波形情報符号を復号することにより得られるサンプル列を、合成フィルタに通して得られたものである、
請求項1から4の何れかに記載の符号化装置。 - 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化装置であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測部と、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析部と、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索部と、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化部と、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を格納する適応符号帳と、
を少なくとも備えており、
上記利得量子化部は、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と均一長符号帳インデックスとの組が複数個格納され、上記複数個の均一長符号帳インデックスは全て同じビット数である、均一長符号帳を備え、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数が大きいほど大きくなる係数と、を加算または乗算して得られる指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチに対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる均一長符号帳インデックスを、利得符号として得るものであり、
上記符号化装置は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第3の所定値より大きな値を次のサブフレームのパルス性成分符号のビット数として決定し、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第3の所定値より小さな値を次のサブフレームのパルス性成分符号のビット数として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうちパルス性成分符号と利得符号以外の符号の合計ビット数と、上記均一長符号帳インデックスのビット数と、を減算して得られるビット数を、最後のサブフレームのパルス性成分符号のビット数として決定する
ビット数管理部を更に有し、
上記探索部は、
フレーム内の最初のサブフレームについては、ビット数が上記第3の所定値であるパルス性成分符号を得て、
フレーム内の最初のサブフレーム以外のサブフレームについては、ビット数が上記ビット数管理部で決定されたビット数であるパルス性成分符号を得るものである、
符号化装置。 - 上記指標値DUは、bを上記可変長符号帳インデックスのビット数とし、γを予め定めた正の定数としたDU=D{1+γb}により求まる値である、請求項9記載の符号化装置。
- 上記指標値DUは、bを上記可変長符号帳インデックスのビット数とし、Nを上記サブフレームの入力音響信号のサンプルの個数としたDU=D{1+(2log2)b/N}により求まる値である、請求項9記載の符号化装置。
- 上記指標値DUは、bを上記可変長符号帳インデックスのビット数とし、Bを上記可変長符号帳に格納された全ての量子化済ピッチ利得の候補またはその関数値と量子化済固定符号帳利得の候補またはその関数値との組を均一長符号化するために必要な符号のビット数とし、Nを上記サブフレームの入力音響信号のサンプルの個数としたDU=D{1+(2log2)(b-B)/N}により求まる値である、請求項9記載の符号化装置。
- 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化装置であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測部と、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析部と、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索部と、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化部と、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を格納する適応符号帳と、
を少なくとも備えており、
上記利得量子化部は、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
R個(Rは2以上の整数)の、量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と第r均一長符号帳インデックス(rは1以上のR以下の整数)との組が複数個格納され、上記複数個の第r均一長符号帳インデックスが全て同じビット数である、均一長符号帳と、を備え、
上記R個の均一長符号帳に格納された第1均一長符号帳インデックスから第R均一長符号帳インデックスのビット数は均一長符号帳ごとに異なり、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値Du=D(1+wb)が最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる第r均一長符号帳インデックスの何れかを、最後のサブフレームの利得符号のビット数として決定されたビット数の第r均一長符号帳インデックスが格納された均一長符号帳の中から選択して、利得符号として得るものであり、
上記符号化装置は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を次のサブフレームの係数wの値として決定し、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第2の所定値より大きな値を次のサブフレームの係数wの値として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうち利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、最後のサブフレームの利得符号のビット数として決定する
ビット数管理部を更に有する符号化装置。 - 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化装置であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測部と、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析部と、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索部と、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化部と、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を格納する適応符号帳と、
を少なくとも備えており、
上記利得量子化部は、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
R個(Rは2以上の整数)の、量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と第r均一長符号帳インデックス(rは1以上R以下の整数)との組が複数個格納され、上記複数個の第r均一長符号帳インデックスが全て同じビット数である、均一長符号帳と、
を備え、
上記R個の均一長符号帳に格納された第1均一長符号帳インデックスから第R均一長符号帳インデックスのビット数は均一長符号帳ごとに異なり、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値Du=D(1+wb)が最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる第r均一長符号帳インデックスの何れかを、最後のサブフレームの利得符号のビット数として決定されたビット数の第r均一長符号帳インデックスが格納された均一長符号帳の中から選択して、利得符号として得る
ものであり、
上記符号化装置は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を次のサブフレームの係数wの値として決定し、第3の所定値より大きな値を次のサブフレームのパルス性成分符号のビット数として決定し、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第2の所定値より大きな値を次のサブフレームの係数wの値として決定し、上記第3の所定値より小さな値を次のサブフレームのパルス性成分符号のビット数として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
最後のサブフレームの利得符号のビット数と最後のサブフレームのパルス性成分符号のビット数との合計が、上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうちパルス性成分符号と利得符号以外の符号の合計ビット数と、を減算して得られるビット数となるように、最後のサブフレームの利得符号のビット数と最後のサブフレームのパルス性成分符号のビット数とを決定する
ビット数管理部を更に有し、
上記探索部は、
フレーム内の最初のサブフレームについては、
ビット数が上記第3の所定値であるパルス性成分符号を得て、
フレーム内の最初のサブフレーム以外のサブフレームについては、
ビット数が上記ビット数管理部で決定されたビット数であるパルス性成分符号を得るものである符号化装置。 - 上記利得量子化部には、可変長符号帳が複数個備えられており、
上記利得量子化部は、wの値ごとに予め定められた可変長符号帳を用いて利得符号を得る、請求項13または14記載の符号化装置。 - 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化装置であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測部と、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析部と、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索部と、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化部と、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を格納する適応符号帳と、
を少なくとも備えており、
上記利得量子化部は、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と均一長符号帳インデックスとの組が複数個格納され、上記複数個の均一長符号帳インデックスは全て同じビット数である、均一長符号帳と、を備え、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値Du=D(1+wb)が最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる均一長符号帳インデックスを、利得符号として得る
ものであり、
上記符号化装置は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を次のサブフレームの係数wの値として決定し、第3の所定値より大きな値を次のサブフレームのパルス性成分符号のビット数として決定し、
上記利得量子化部が得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第2の所定値より大きな値を次のサブフレームの係数wの値として決定し、上記第3の所定値より小さな値を次のサブフレームのパルス性成分符号のビット数として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうちパルス性成分符号と利得符号以外の符号の合計ビット数と、上記均一長符号帳インデックスのビット数と、を減算して得られるビット数を、最後のサブフレームのパルス性成分符号のビット数として決定する
ビット数管理部を更に有し、
上記探索部は、
フレーム内の最初のサブフレームについては、
ビット数が上記第3の所定値であるパルス性成分符号を得て、
フレーム内の最初のサブフレーム以外のサブフレームについては、
ビット数が上記ビット数管理部で決定されたビット数であるパルス性成分符号を得るものである、符号化装置。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化方法であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化ステップと調整符号化ステップと、を有し、
上記利得量子化ステップは、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を用い、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDが大きいほど大きくなり、かつ、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化ステップは、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化ステップが得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化方法。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化方法であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化ステップと調整符号化ステップと、を有し、
上記利得量子化ステップは、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を用い、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDと、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化ステップは、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化ステップが得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化方法。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化方法であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化ステップと調整符号化ステップと、を有し、
上記利得量子化ステップは、
第1から第Γ(Γは2以上の整数)の量子化済利得の候補またはその関数値の組と可変長符号帳インデックスとの組が複数個格納された可変長符号帳を用い、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれており、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、
第1から第ΓまでのΓ個の、第γ(γは1以上Γ以下の整数)の波形情報符号に対応するサンプル列の各サンプルに上記第γの量子化済利得の候補を乗算して得られる第γの波形サンプル列、を対応するサンプル毎に加算して得られる合計波形サンプル列と、入力信号と、の歪みDが大きいほど大きくなり、かつ、上記合計波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数が大きいほど大きくなる指標値DU、が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化ステップは、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化ステップが得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化方法。 - 入力信号を符号化して時間または周波数の区間ごとに所定ビット数の符号を得る符号化方法であって、
上記時間または周波数の区間は複数のサブ区間により構成されており、
利得量子化ステップと調整符号化ステップと、を有し、
上記利得量子化ステップは、
第1から第Γ(Γは2以上の整数)の量子化済利得の候補またはその関数値の組と可変長符号帳インデックスとの組が複数個格納された可変長符号帳を用い、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれており、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、
第1から第ΓまでのΓ個の、第γ(γは1以上Γ以下の整数)の波形情報符号に対応するサンプル列の各サンプルに上記第γの量子化済利得の候補を乗算して得られる第γの波形サンプル列、を対応するサンプル毎に加算して得られる合計波形サンプル列と、上記入力信号と、の歪みDと、上記合計波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得て、
上記調整符号化ステップは、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
上記時間または周波数の区間での符号の合計ビット数が上記所定のビット数に近付くように、上記利得量子化ステップが得た利得符号のビット数の大小に応じた調整を含む符号化処理により符号を得る、符号化方法。 - 上記時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理するビット数管理ステップを更に有し、
上記調整符号化ステップは、
固定符号帳から得られる複数のサンプル列のうち上記入力信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索ステップを有し、
上記探索ステップは、更に、
上記時間または周波数の区間内の少なくとも1つのサブ区間SAについて、
上記利得量子化ステップが当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より大きい場合には、第3の所定値より小さい値を当該サブ区間SAのパルス性成分符号のビット数とする処理と、
上記利得量子化ステップが当該サブ区間SA以外で得た利得符号のビット数が第1の所定値より小さい場合には、上記第3の所定値より大きい値を当該サブ区間SAのパルス性成分符号のビット数とする処理と、
の少なくとも何れかの処理を行う請求項17から20の何れかに記載の符号化方法。 - 上記時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理するビット数管理ステップを更に有し、
上記調整符号化ステップは、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含み、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDと、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る第2利得量子化ステップを更に有し、
上記第2利得量子化ステップは、更に
上記時間または周波数の区間内の少なくとも1つのサブ区間SBについて、
上記利得量子化ステップが当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を当該サブ区間SBの係数wの値とする処理と、
上記利得量子化ステップが当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より大きい場合には、第2の所定値より大きな値を当該サブ区間SBの係数wの値とする処理と、
の少なくとも何れかの処理を行う請求項21記載の符号化方法。 - 上記時間または周波数の区間内の各サブ区間で生成される符号のビット数を管理するビット数管理ステップを更に有し、
上記調整符号化ステップは、
量子化済利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳を含み、
上記時間または周波数の区間内の少なくとも1つのサブ区間については、
サブ区間ごとに、波形情報符号に対応するサンプル列の各サンプルに上記量子化済利得の候補を乗算して得られる波形サンプル列と、上記入力信号と、の歪みDと、上記波形サンプル列を得るための上記量子化済利得の候補に対応する可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる上記可変長符号帳インデックスを、利得符号として得る第2利得量子化ステップを更に有し、
上記第2利得量子化ステップは、更に
上記時間または周波数の区間内の少なくとも1つのサブ区間SBについて、
上記利得量子化ステップが当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を当該サブ区間SBの係数wの値とする処理と、
上記利得量子化ステップが当該サブ区間SB以外で得た利得符号のビット数が第1の所定値より大きい場合には、第2の所定値より大きな値を当該サブ区間SBの係数wの値とする処理と、
の少なくとも何れかの処理を行う請求項17から20の何れかに記載の符号化方法。 - 上記波形情報符号に対応するサンプル列は、上記波形情報符号を復号することにより得られるサンプル列を、合成フィルタに通して得られたものである、
請求項17から20の何れかに記載の符号化方法。 - 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化方法であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測ステップと、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析ステップと、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索ステップと、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化ステップと、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を適応符号帳に格納する適応符号帳格納ステップと、
を少なくとも備えており、
上記利得量子化ステップは、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と均一長符号帳インデックスとの組が複数個格納され、上記複数個の均一長符号帳インデックスは全て同じビット数である、均一長符号帳を用い、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数が大きいほど大きくなる係数と、を加算または乗算して得られる指標値DUが最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチに対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる均一長符号帳インデックスを、利得符号として得るものであり、
上記符号化方法は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第3の所定値より大きな値を次のサブフレームのパルス性成分符号のビット数として決定し、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第3の所定値より小さな値を次のサブフレームのパルス性成分符号のビット数として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうちパルス性成分符号と利得符号以外の符号の合計ビット数と、上記均一長符号帳インデックスのビット数と、を減算して得られるビット数を、最後のサブフレームのパルス性成分符号のビット数として決定する
ビット数管理ステップを更に有し、
上記探索ステップは、
フレーム内の最初のサブフレームについては、ビット数が上記第3の所定値であるパルス性成分符号を得て、
フレーム内の最初のサブフレーム以外のサブフレームについては、ビット数が上記ビット数管理ステップで決定されたビット数であるパルス性成分符号を得るものである、
符号化方法。 - 上記指標値DUは、bを上記可変長符号帳インデックスのビット数とし、γを予め定めた正の定数としたDU=D{1+γb}により求まる値である、請求項25記載の符号化方法。
- 上記指標値DUは、bを上記可変長符号帳インデックスのビット数とし、Nを上記サブフレームの入力音響信号のサンプルの個数としたDU=D{1+(2log2)b/N}により求まる値である、請求項25記載の符号化方法。
- 上記指標値DUは、bを上記可変長符号帳インデックスのビット数とし、Bを上記可変長符号帳に格納された全ての量子化済ピッチ利得の候補またはその関数値と量子化済固定符号帳利得の候補またはその関数値との組を均一長符号化するために必要な符号のビット数とし、Nを上記サブフレームの入力音響信号のサンプルの個数としたDU=D{1+(2log2)(b-B)/N}により求まる値である、請求項25記載の符号化方法。
- 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化方法であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測ステップと、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析ステップと、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索ステップと、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化ステップと、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を適応符号帳に格納する適応符号帳格納ステップと、
を少なくとも備えており、
上記利得量子化ステップは、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
R個(Rは2以上の整数)の、量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と第r均一長符号帳インデックス(rは1以上のR以下の整数)との組が複数個格納され、上記複数個の第r均一長符号帳インデックスが全て同じビット数である、均一長符号帳と、を用い、
上記R個の均一長符号帳に格納された第1均一長符号帳インデックスから第R均一長符号帳インデックスのビット数は均一長符号帳ごとに異なり、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値Du=D(1+wb)が最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる第r均一長符号帳インデックスの何れかを、最後のサブフレームの利得符号のビット数として決定されたビット数の第r均一長符号帳インデックスが格納された均一長符号帳の中から選択して、利得符号として得るものであり、
上記符号化方法は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を次のサブフレームの係数wの値として決定し、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第2の所定値より大きな値を次のサブフレームの係数wの値として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうち利得符号以外の符号の合計ビット数と、を減算して得られるビット数を、最後のサブフレームの利得符号のビット数として決定する
ビット数管理ステップを更に有する、符号化方法。 - 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化方法であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測ステップと、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析ステップと、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索ステップと、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化ステップと、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を適応符号帳に格納する適応符号帳格納ステップと、
を少なくとも備えており、
上記利得量子化ステップは、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
R個(Rは2以上の整数)の、量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と第r均一長符号帳インデックス(rは1以上R以下の整数)との組が複数個格納され、上記複数個の第r均一長符号帳インデックスが全て同じビット数である、均一長符号帳と、を用い、
上記R個の均一長符号帳に格納された第1均一長符号帳インデックスから第R均一長符号帳インデックスのビット数は均一長符号帳ごとに異なり、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値Du=D(1+wb)が最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる第r均一長符号帳インデックスの何れかを、最後のサブフレームの利得符号のビット数として決定されたビット数の第r均一長符号帳インデックスが格納された均一長符号帳の中から選択して、利得符号として得る
ものであり、
上記符号化方法は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を次のサブフレームの係数wの値として決定し、第3の所定値より大きな値を次のサブフレームのパルス性成分符号のビット数として決定し、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第2の所定値より大きな値を次のサブフレームの係数wの値として決定し、上記第3の所定値より小さな値を次のサブフレームのパルス性成分符号のビット数として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
最後のサブフレームの利得符号のビット数と最後のサブフレームのパルス性成分符号のビット数との合計が、上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうちパルス性成分符号と利得符号以外の符号の合計ビット数と、を減算して得られるビット数となるように、最後のサブフレームの利得符号のビット数と最後のサブフレームのパルス性成分符号のビット数とを決定する
ビット数管理ステップを更に有し、
上記探索ステップは、
フレーム内の最初のサブフレームについては、
ビット数が上記第3の所定値であるパルス性成分符号を得て、
フレーム内の最初のサブフレーム以外のサブフレームについては、
ビット数が上記ビット数管理ステップで決定されたビット数であるパルス性成分符号を得るものである、
符号化方法。 - 可変長符号帳が複数個備えられており、
上記利得量子化ステップは、wの値ごとに予め定められた可変長符号帳を用いて利得符号を得る、請求項29または30記載の符号化方法。 - 入力音響信号を符号化してフレームごとに所定ビット数の符号を得る符号化方法であって、
上記フレームごと、または、上記フレームを構成する複数のサブフレームごとに、上記入力音響信号に対応する線形予測係数またはこれと互換な係数を特定する符号である線形予測情報を得る線形予測ステップと、
上記サブフレームごとに、上記入力音響信号に対応するピッチ周期を特定する周期性成分符号を得るピッチ分析ステップと、
上記サブフレームごとに、固定符号帳から得られる複数のサンプル列のうち上記入力音響信号に対応するサンプル列を特定する符号であるパルス性成分符号を得る探索ステップと、
上記サブフレームごとに、量子化済固定符号帳利得と量子化済ピッチ利得とに対応する利得符号を得る利得量子化ステップと、
上記サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列のそれぞれのサンプルに上記量子化済固定符号帳利得を乗算して得られるサンプル列と、上記ピッチ周期に対応するサンプル数だけ過去の励振信号のサンプル列のそれぞれのサンプルに上記量子化済ピッチ利得を乗算して得られるサンプル列と、を対応するサンプルごとに加算した励振信号を適応符号帳に格納する適応符号帳格納ステップと、
を少なくとも備えており、
上記利得量子化ステップは、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と可変長符号帳インデックスとの組が複数個格納され、上記複数個の可変長符号帳インデックスにはビット数が異なるものが含まれる、可変長符号帳と、
量子化済固定符号帳利得の候補またはその関数値と量子化済ピッチ利得の候補またはその関数値と均一長符号帳インデックスとの組が複数個格納され、上記複数個の均一長符号帳インデックスは全て同じビット数である、均一長符号帳と、を用い、
フレーム内の最後のサブフレーム以外のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDと、可変長符号帳インデックスのビット数bと、係数wと、により求まる指標値DU=D(1+wb)が最も小さくなる可変長符号帳インデックスを、利得符号として得て、
フレーム内の最後のサブフレームについては、
サブフレームごとに、上記パルス性成分符号に対応する固定符号帳からのサンプル列を上記線形予測係数またはこれと互換な係数による合成フィルタに通して得られるサンプル列Zのそれぞれのサンプルに量子化済固定符号帳利得の候補βを乗算して得られるサンプル列βZと、上記ピッチ周期に対応するサンプル数だけ過去の励振信号を上記合成フィルタに通して得られる信号のサンプル列Yのそれぞれのサンプルに量子化済ピッチ利得の候補αを乗算して得られるサンプル列αYと、を対応するサンプルごとに加算して得られる合成信号サンプル列αY+βZと入力音響信号Xとの歪みDが最も小さくなる均一長符号帳インデックスを、利得符号として得るものであり、
上記符号化方法は、
フレーム内の最後のサブフレームと最後のサブフレームの直前のサブフレームを除くサブフレームについては、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が第1の所定値より小さい場合には、第2の所定値より小さな値を次のサブフレームの係数wの値として決定し、第3の所定値より大きな値を次のサブフレームのパルス性成分符号のビット数として決定し、
上記利得量子化ステップが得た当該サブフレームの利得符号のビット数が上記第1の所定値より大きい場合には、上記第2の所定値より大きな値を次のサブフレームの係数wの値として決定し、上記第3の所定値より小さな値を次のサブフレームのパルス性成分符号のビット数として決定し、
フレーム内の最後のサブフレームの直前のサブフレームについては、
上記所定のビット数から、フレームごと、または、当該フレームを構成する複数のサブフレームごとに得られた符号の合計ビット数と、当該フレーム内の先頭のサブフレームから当該直前のサブフレームまでの各サブフレームについて得られた符号の合計ビット数と、最後のサブフレームについて得られる符号のうちパルス性成分符号と利得符号以外の符号の合計ビット数と、上記均一長符号帳インデックスのビット数と、を減算して得られるビット数を、最後のサブフレームのパルス性成分符号のビット数として決定する
ビット数管理ステップを更に有し、
上記探索ステップは、
フレーム内の最初のサブフレームについては、
ビット数が上記第3の所定値であるパルス性成分符号を得て、
フレーム内の最初のサブフレーム以外のサブフレームについては、
ビット数が上記ビット数管理ステップで決定されたビット数であるパルス性成分符号を得るものである、
符号化方法。 - 請求項1から4、9、13、14、16のいずれかに記載された符号化装置としてコンピュータを機能させるためのプログラム。
- 請求項1から4、9、13、14、16のいずれかに記載された符号化装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014502340A JP5714172B2 (ja) | 2012-02-28 | 2013-02-27 | 符号化装置、この方法、プログラムおよび記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012041553 | 2012-02-28 | ||
JP2012-041553 | 2012-02-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013129528A1 true WO2013129528A1 (ja) | 2013-09-06 |
Family
ID=49082722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/055243 WO2013129528A1 (ja) | 2012-02-28 | 2013-02-27 | 符号化装置、この方法、プログラムおよび記録媒体 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5714172B2 (ja) |
WO (1) | WO2013129528A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004020676A (ja) * | 2002-06-13 | 2004-01-22 | Hitachi Kokusai Electric Inc | 音声符号化/復号化方法及び音声符号化/復号化装置 |
JP2011509426A (ja) * | 2008-01-04 | 2011-03-24 | ドルビー・インターナショナル・アーベー | オーディオエンコーダおよびデコーダ |
JP2011133637A (ja) * | 2009-12-24 | 2011-07-07 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化装置、復号装置及びプログラム |
-
2013
- 2013-02-27 WO PCT/JP2013/055243 patent/WO2013129528A1/ja active Application Filing
- 2013-02-27 JP JP2014502340A patent/JP5714172B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004020676A (ja) * | 2002-06-13 | 2004-01-22 | Hitachi Kokusai Electric Inc | 音声符号化/復号化方法及び音声符号化/復号化装置 |
JP2011509426A (ja) * | 2008-01-04 | 2011-03-24 | ドルビー・インターナショナル・アーベー | オーディオエンコーダおよびデコーダ |
JP2011133637A (ja) * | 2009-12-24 | 2011-07-07 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、復号方法、符号化装置、復号装置及びプログラム |
Non-Patent Citations (1)
Title |
---|
TAKAYOSHI OSHIMA ET AL.: "Variable-length coding of ACELP gain using Entropy-Constrained VQ", INTERNATIONAL SYMPOSIUM ON COMMUNICATIONS AND INFORMATION TECHNOLOGIES (ISCIT), 5 October 2012 (2012-10-05), pages 105 - 109 * |
Also Published As
Publication number | Publication date |
---|---|
JP5714172B2 (ja) | 2015-05-07 |
JPWO2013129528A1 (ja) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11024319B2 (en) | Encoding method, decoding method, encoder, decoder, program, and recording medium | |
JP5596800B2 (ja) | 符号化方法、周期性特徴量決定方法、周期性特徴量決定装置、プログラム | |
JP5613781B2 (ja) | 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体 | |
JP5612698B2 (ja) | 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体 | |
JP5714172B2 (ja) | 符号化装置、この方法、プログラムおよび記録媒体 | |
JP5789816B2 (ja) | 符号化装置、この方法、プログラム及び記録媒体 | |
JP5734519B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
JP5786044B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
WO2013002238A1 (ja) | 符号化方法、装置、プログラム及び記録媒体 | |
JP5762636B2 (ja) | 符号化装置、復号装置、これらの方法、プログラム、および記録媒体 | |
JP5800920B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
JP5635213B2 (ja) | 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体 | |
JP6053145B2 (ja) | 符号化装置、復号装置、これらの方法、プログラム、および記録媒体 |
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: 13754305 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014502340 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13754305 Country of ref document: EP Kind code of ref document: A1 |