WO2010067800A1 - 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 - Google Patents

符号化方法、復号方法、それらの装置、プログラム及び記録媒体 Download PDF

Info

Publication number
WO2010067800A1
WO2010067800A1 PCT/JP2009/070551 JP2009070551W WO2010067800A1 WO 2010067800 A1 WO2010067800 A1 WO 2010067800A1 JP 2009070551 W JP2009070551 W JP 2009070551W WO 2010067800 A1 WO2010067800 A1 WO 2010067800A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
prediction order
order
coefficient
code
Prior art date
Application number
PCT/JP2009/070551
Other languages
English (en)
French (fr)
Inventor
健弘 守谷
登 原田
優 鎌本
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2010542108A priority Critical patent/JP4848049B2/ja
Publication of WO2010067800A1 publication Critical patent/WO2010067800A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention relates to a technique for encoding a time-series signal by linear prediction analysis, and in particular, an encoding method for adaptively selecting a prediction order and performing linear prediction encoding, a decoding method thereof, an apparatus thereof, a program, and
  • the present invention relates to a recording medium.
  • the method of transmitting and recording after converting the time-series signals into compressed codes is the transmission efficiency and recording efficiency. This is effective.
  • lossless compression coding Lossy coding: Lossy coding
  • Lossy coding which prioritizes high compression rate, is a reversible condition based on complete reproduction of the original signal.
  • the compression coding (lossless coding) method is being emphasized (for example, see Non-Patent Document 1).
  • FIG. 1 is a block diagram for explaining a functional configuration of a conventional coding apparatus 1100 that performs linear predictive coding.
  • FIG. 2 is a block diagram for explaining a functional configuration of a decoding apparatus 1200 that decodes a code generated by the encoding apparatus 1100 of FIG.
  • FIG. 3 is a graph for explaining the relationship between the prediction order and the code amount (sometimes referred to as “code length”) in the lossless compression encoding method. Note that the horizontal axis in FIG. 3 indicates the predicted order, and the vertical axis indicates the code amount.
  • Sampled and quantized PCM (pulse code modulation) time series signal x (n) (n is an index indicating discrete time) is input to frame buffer 1111 of encoding apparatus 1100.
  • the encoding apparatus 1100 encodes the time series signal x (n) for each frame.
  • e (n) x (n) + ⁇ (1) ⁇ x (n-1) + ⁇ (2) ⁇ x (n-2) + ... + ⁇ (P) ⁇ x (nP)... (1 ) Also, a time series signal y (n) at a certain time point n is converted into P time points n-1, n-2,..., NP time series signals x (n ⁇ 1),
  • the linear FIR (Finite Impulse Response) filter of Equation (2) estimated using x (n-2),..., x (nP) is called a “linear prediction filter”.
  • y (n) - ⁇ (1) ⁇ x (n-1) + ⁇ (2) ⁇ x (n-2) + ... + ⁇ (P) ⁇ x (nP) ⁇ ... (2)
  • P opt is a positive integer indicating the optimal prediction order P, and is referred to as “optimal prediction order”.
  • the optimal prediction order P opt is determined based on the MDL principle (Minimum Description Length Principle).
  • (Codeword length) (description length of model) + (description length of data by the model)
  • the code amount necessary for the PARCOR coefficient increases in proportion to the prediction order.
  • the energy of the prediction residual decreases, and the code amount when the prediction residual is entropy encoded decreases logarithmically as schematically shown by the curve 3B. Therefore, as schematically shown by the curve 3C, which is the sum of the straight line 3A and the curve 3B, the code amount necessary for lossless decoding does not become smaller as the prediction order becomes higher, but becomes smaller at a certain prediction order. It becomes.
  • the linear prediction analysis unit 1112 uses all integers of a predetermined minimum prediction order P min or more and a maximum prediction order P max or less as a search range, and optimizes the prediction order that minimizes the amount of code required for lossless decoding. Select as the prediction order P opt (end of description of [Linear Prediction Analysis and Optimal Prediction Order]).
  • the “quantized PARCOR coefficient” may be the quantized value of the PARCOR coefficient itself, or may be an index attached to the quantized value of the PARCOR coefficient.
  • the optimal prediction order P opt selected by the linear prediction analysis unit 1112, the coefficient code C k generated by the coefficient encoding unit 1114, and the residual code C e generated by the residual encoding unit 1120 are combined into a combining unit. 1130, where it is combined to generate the code Cg .
  • ⁇ Decoding method> Is input to the decoding device 1200 the code C g is the separation unit 1210 is separated into the optimum prediction order P opt and the coefficient code C k and the residual code C e.
  • the decoding apparatus selects all integers that are not less than the minimum prediction order P min and not more than the maximum prediction order P max as the search range, and selects the optimum prediction order P opt .
  • the optimum prediction order P opt selected by the encoding device is sent to the decoding device.
  • the average code length of the code for specifying them becomes longer.
  • the code compression rate is reduced.
  • the present invention has been made in view of these points, and an object of the present invention is to provide a technique capable of reducing the amount of calculation required for searching for the optimum prediction order and improving the code compression rate.
  • the minimum prediction order is a predetermined integer of 0 or more and the maximum prediction order is a predetermined integer larger than the minimum prediction order
  • the minimum prediction order is equal to or higher than the maximum prediction order and equal to or lower than the maximum prediction order.
  • FIG. 4A is a graph for explaining the compression rate when linear predictive coding is performed at each prediction order
  • the block diagram for demonstrating the function structure of the encoding apparatus of 1st Embodiment The block diagram for demonstrating the function structure of the linear prediction analysis part of FIG.
  • the block diagram for demonstrating the function structure of the decoding apparatus of 1st Embodiment The flowchart for demonstrating the encoding method of 1st Embodiment.
  • FIGS. 10A and 10B are examples of code tables for variable length coding.
  • FIG. 4A is a graph for explaining the compression rate when linear predictive coding is performed at each prediction order.
  • the horizontal axis of FIG. 4A indicates the prediction order
  • the vertical axis indicates the average compression rate when linear prediction encoding is performed at each prediction order.
  • the compression rate means (bit length of linear prediction code / bit length of encoding target) ⁇ 100.
  • the average compression ratios corresponding to them are also close to each other.
  • the variation in the average compression ratio accompanying a change in the predicted order is small. That is, the compression performance does not deteriorate greatly even if the optimum prediction order selected as the search range is not less than the whole number of the minimum prediction order Pmin and the maximum prediction order Pmax .
  • the minimum prediction order P min or more and the maximum prediction order P max or less Input from each element of the subset S sub ⁇ S, where some elements are thinned out from the integer set S whose elements are all integers P min , P min +1, ..., P max -1, P max
  • the optimal prediction order for linear prediction encoding of the time series signal thus selected is selected, and a code for designating the optimal prediction order is generated.
  • the minimum prediction order P min is an integer equal to or greater than 0
  • the maximum prediction order P max is an integer equal to or greater than the minimum prediction order P min , both of which are predetermined values.
  • the minimum prediction order P min and the maximum prediction order P max are values determined in advance for each length of a time interval (a frame or a subframe obtained by dividing a frame into a plurality of time segments) as a processing unit.
  • An example of a code for designating the optimal prediction order is a code obtained by variable-length encoding a different index for each optimal prediction order assigned to each optimal prediction order and information for specifying each optimal prediction order. Further, the information specifying each optimum prediction order to be variable-length encoded may be an index different for each optimum prediction order assigned to each optimum prediction order, or may be each optimum prediction order itself. . Examples of variable-length coding include alpha coding, delta coding, Huffman coding, Golomb-Rice coding, Golomb coding, and other entropy. Encoding. In this embodiment, since the range that can be the optimum prediction order is limited, the average code amount of codes necessary for distinguishing and expressing the optimum prediction order P opt in any case can be reduced.
  • Floor ⁇ indicates the following maximum integer.
  • Example 1 The whole integer set S is thinned out at equal intervals. This is an effective setting method when the original optimum prediction order is uniformly distributed over the whole integer set S.
  • An integer greater than or equal to a predetermined value in the integer set S is thinned out at equal intervals, and an integer less than the predetermined value is not used as an element of the subset S sub . This is an effective setting method when the original optimum prediction order is distributed in a large area in the region close to Pmax .
  • the subset S sub is set by thinning out elements from the elements of the integer set S at an unreasonable interval so that the region closer to P max increases the number of elements in the predetermined integer interval. This is an effective setting method when the original optimum prediction order is distributed in a large area in the region close to Pmax .
  • the selection of the optimal prediction order P opt of this embodiment includes, for example, (I) calculating a linear prediction coefficient or a coefficient that can be converted to the linear prediction coefficient from the input time series signal, and (II) specifying the prediction order.
  • step (II) is as follows. (Example 11) All elements of the subset S sub are set as the search range, and the prediction order that minimizes the total value SUM is selected as the optimal prediction order P opt .
  • Example 12 The elements of the subset S sub are searched in a predetermined order (for example, ascending / descending order), and the prediction order in which the total value SUM first becomes equal to or less than a predetermined threshold is selected as the optimal prediction order P opt To do.
  • a predetermined order for example, ascending / descending order
  • Example 13 Selection of the optimal prediction order P opt in the time interval (a frame or a subframe obtained by dividing a frame into a plurality of time segments) is performed according to the above (11) or (12).
  • the time interval that is the subsequent processing unit the element of the smallest subset S sub that is larger than the optimal prediction order selected in the previous time interval (P max if not present) is selected as the prediction order, A new total value SUM corresponding to the newly selected prediction order is obtained.
  • the newly selected prediction order is set as the new optimal prediction order Popt , and the new total value SUM is 1. If the total value SUM obtained in the previous time interval is equal to or greater than the total value SUM, the optimal prediction order selected in the previous time interval is set as a new optimal prediction order P opt .
  • a plurality of types of preliminary sets S pre ⁇ S obtained by thinning out some elements from the integer set S may be set, and one of the preliminary sets S pre may be selected as the subset S sub .
  • a specific example of the preliminary set S pre is the same as the example of the subset S sub described above.
  • selecting a subset S sub from preliminary set S pre depending on whether the time-series signal input is greater than a predetermined threshold value, selecting a subset S sub from preliminary set S pre Can be exemplified. Specific examples thereof are as follows.
  • Example 21 If the input time-series signal exceeds a predetermined threshold, it is determined that the time-series signal is unlikely to contain a silent section, and P min is not included as an element as in (Example 2) When one of the preliminary sets S pre is selected as a subset S sub and the input time series signal is equal to or less than a predetermined threshold, it is determined that the time series signal is likely to include a silent section ( As in Example 3), one of the preliminary sets S pre including P min as an element is selected as a subset S sub .
  • Example 22 When the input time-series signal exceeds a predetermined threshold value, an integer is set so that the number of elements in the predetermined integer interval increases in the region closer to P max as in (Example 4).
  • the preliminary set S pre generated by thinning out elements from the elements of the set S at an unreasonable interval is selected as a subset S sub and the input time-series signal is equal to or less than a predetermined threshold, (Example 3)
  • one of the preliminary sets S pre including P min as an element is selected as a subset S sub .
  • the horizontal axis of FIG. 4B indicates the selected optimum prediction order P opt
  • the vertical axis indicates the frequency. Note that the frequencies in FIG. 4B are normalized so that the sum of them is 1.
  • the frequency at which the prediction order is selected as the optimum prediction order P opt is high.
  • the optimally selected optimal prediction order P opt is rarely distributed uniformly over the whole integer set S, and the frequency distribution of the optimal prediction order P opt selected is rare. Often bias occurs.
  • the maximum prediction order P max is set to be small, the selected optimal prediction order P opt is frequently distributed in the vicinity of the maximum prediction order P max , and the time-series signal includes many silent sections. If so, the frequency of the minimum predicted order P min is also increased.
  • the optimum prediction order P opt selected using a variable-length encoding method in which the frequency of allocation is higher than the frequency of allocation of codes having a longer code length to the first encoding target than the code of the second encoding target. Is variable-length encoded, and this is used as a code for designating the optimum prediction order P opt . Thereby, the code amount of the code for specifying the optimum prediction order P opt can be reduced.
  • the predetermined specific value is, for example, information for specifying the maximum predicted order Pmax .
  • each optimal prediction order P opt to be variable-length encoded, index or attached to the optimum prediction order P opt is itself the optimum prediction order P opt.
  • the optimum prediction order P opt is the minimum prediction order P min to special treatment, short when the optimum prediction order P opt is the minimum prediction order P min code
  • a long code for example, a code with the shortest code length
  • encoding for variable-length coding information specifying the optimal prediction order P opt selected from the elements of the subset S sub It is desirable that rules (for example, a code table) are set independently for each preliminary set S pre , and these encoding rules are used properly for each preliminary set S pre selected as the subset S sub . As a result, the code length can be shortened as compared with the case where a common encoding rule is used for all the preliminary sets S pre .
  • the code for designating the optimum prediction order is a code obtained by variable-length coding information specifying the optimum prediction order.
  • FIG. 5 is a block diagram for explaining a functional configuration of the encoding apparatus 100 according to the first embodiment
  • FIG. 6 is a block diagram for explaining a functional configuration of the linear prediction analysis unit 112 of FIG.
  • FIG. 7 is a block diagram for explaining a functional configuration of the decoding apparatus 200 according to the first embodiment.
  • the same reference numerals as those in FIGS. 1 and 2 are used for the same components as those in FIGS.
  • the encoding apparatus 100 includes a frame buffer 1111, a linear prediction analysis unit 112, a quantization unit 1113, a coefficient encoding unit 1114, a linear prediction coefficient conversion unit 1115, a linear prediction unit 1116, and a subtraction.
  • Unit 1117 optimal prediction order encoding unit 118, residual encoding unit 1120, and synthesis unit 1130.
  • the linear prediction analysis unit 112 includes a coefficient calculation unit 112a, a prediction order designation code amount calculation unit 112b, a coefficient code amount calculation unit 112c, a prediction residual code amount calculation unit 112d, and an optimal prediction order search. Part 112e and selection part 112f.
  • the decoding apparatus 200 includes an optimal prediction order restoration unit 235, a separation unit 1210, a coefficient decoding unit 1231, a linear prediction coefficient conversion unit 1232, a residual decoding unit 1220, a linear prediction unit 1233, and An adder 1234 is included.
  • the encoding apparatus 100 and the decoding apparatus 200 of this embodiment are, for example, a known computer or a dedicated computer including a CPU (central processing unit), a RAM (random-access memory), a ROM (read-only memory), and the like.
  • a CPU central processing unit
  • RAM random-access memory
  • ROM read-only memory
  • the frame buffer 1111 of the encoding device 100 is a memory such as a RAM, a cache memory, and a register, for example, and includes a linear prediction analysis unit 112, a quantization unit 1113, a coefficient encoding unit 1114, a linear prediction coefficient conversion unit 1115,
  • the linear prediction unit 1116, the subtraction unit 1117, the optimal prediction order encoding unit 118, the residual encoding unit 1120, and the synthesis unit 1130 are, for example, processing units that are constructed when the CPU executes a predetermined program.
  • the optimal prediction order restoration unit 235, the separation unit 1210, the coefficient decoding unit 1231, the linear prediction coefficient conversion unit 1232, the residual decoding unit 1220, the linear prediction unit 1233, and the addition unit 1234 of the decoding device 200 are, for example, a CPU. It is a processing unit constructed by executing a predetermined program. Further, at least a part of these processing units may be configured by an electronic circuit such as an integrated circuit. Furthermore, if necessary, the encoding device 100 or the decoding device 200 may be provided with a temporary memory that stores data output by the processing of each processing unit and reads the data during another processing of each processing unit. The method for realizing each processing unit is the same in the following embodiments and modifications thereof.
  • the coefficient calculation unit 112a of the linear prediction analysis unit 112 is set so that each element of the subset S sub thinned out as described above can be used.
  • the optimal prediction order encoding unit 118 of the encoding device 100 is set with a code table for variable-length encoding information specifying the optimal prediction order P opt as described above.
  • the code table is set so that the optimum prediction order restoration unit 235 of the decoding device 200 can decode the code that has been variable-length coded by the optimum prediction order coding unit 118.
  • FIG. 10A shows an example of a code table for variable length coding.
  • the thinned prediction order P which is each element of the subset S sub , and the corresponding code and code length are associated with each other.
  • FIG. 8 is a flowchart for explaining the encoding method of the first embodiment.
  • the encoding method of this embodiment will be described with reference to FIG. In the following, only the processing for one frame will be described, but actually the same processing is executed for each frame.
  • the sampled and quantized PCM format time series signal x (n) is input to the frame buffer 1111 of the encoding apparatus 100 (FIG. 5).
  • These time series signals x (n) may be linearly quantized (sometimes referred to as “uniform quantization”), or companded (for example, ITU-T Recommendation G. 711, “Pulse Code Modulation (PCM)” of “Voice“ Frequencies ”)) may be used for nonlinear quantization (sometimes referred to as“ non-uniform quantization ”).
  • the time series signal x (n) may not be a signal in the PCM format but a signal that is not quantized.
  • the coefficient calculation unit 112a of the linear prediction analysis unit 112 predicts each element of the subset S sub ⁇ S obtained by thinning out some elements from the integer set S including all integers greater than or equal to P min and less than or equal to P max. The order is P.
  • Each prediction order P used in the coefficient calculation unit 112a is sent to the prediction order designation code amount calculation unit 112b, and the prediction order designation code amount calculation unit 112b uses a code amount a for designating each prediction order P. p is calculated (step S12).
  • the prediction order designation code amount calculation unit 112b uses, for example, the same code table (for example, FIG. 10A) used by the optimal prediction order encoding unit 118 to change each prediction order P to a variable length.
  • the code length of the encoded code is extracted and set as the code amount a p .
  • the code amount and the estimated code amount a kp may be obtained by encoding each PARCOR coefficient k (1), ..., k (P) for each prediction order P, The code amount or the estimated code amount for each PARCOR coefficient k (1),..., K (P) may be added for each prediction order P.
  • the code amount corresponding to each prediction order P and the estimated code amount a kp are the PARCOR coefficients k (1),..., K (P) from the first order to the P order corresponding to the prediction order P.
  • k (P) may be obtained by adding the code amount or the estimated code amount of each code obtained by encoding each as a separate encoding target.
  • the prediction residual code amount calculation unit 112d may calculate the estimated code amount a kp using the amplitude value or energy of the prediction residual e (n). For example, the energy E (0) per frame of the time series input signal x (n) is
  • the residual encoding unit 120 performs encoding using Golomb-Rice Coding, the preceding bit of the Golomb-Rice code is an alpha code, and the succeeding bit depends on the Rice parameter. Therefore, it is appropriate to calculate the estimated code amount a kp of the prediction residual e (n) for one frame by the equation (8).
  • the optimum prediction order search unit 112e selects the optimum prediction order P opt from each prediction order P using the total value SUM as an index (step S15).
  • a specific example of this selection method is, as described above, for example, selecting the prediction order P that minimizes the total value SUM as the optimum prediction order Popt .
  • the optimal prediction order P opt selected in step S15 is input to the optimal prediction order encoding unit 118, and the optimal prediction order encoding unit 118 encodes the code C Popt (“optimal prediction order P opt Is generated and output (corresponding to a code for designation) (step S16).
  • this variable-length encoding method uses the first encoding target as the second encoding target when the first encoding target is closer to a predetermined value than the second encoding target.
  • the variable-length coding method is such that the frequency with which a code having a shorter code length than the code is assigned is higher than the frequency with which a code with a longer code length is assigned to the first encoding target than the second encoding target code. is there.
  • An example of the predetermined specific value is the maximum predicted order P max .
  • Huffman coding Huffman Coding
  • the optimal prediction order P opt selected in step S15 is input to the selection unit 112f.
  • This encoding is performed by an entropy encoding method such as a Golomb-Rice encoding method or a Huffman encoding method.
  • the process of dequantizing the quantized PARCOR coefficient i (m) is performed by any one of the predetermined values k ′ (within the range of the PARCOR coefficient k (m) corresponding to the quantized PARCOR coefficient i (m). This is a process for obtaining m).
  • the quantized PARCOR coefficient corresponding to the PARCOR coefficient k (m) of ⁇ 1 ⁇ k (m) ⁇ 2 is i (m)
  • An example of (m) is the average value of ⁇ 1 and ⁇ 2.
  • the linear prediction unit 1116 and the subtraction unit 1117 have the time series signal x (n).
  • the linear prediction unit 1116 and the subtraction unit 1117 are calculated by applying each linear prediction coefficient ⁇ (m) and the time series signal x (n) to the linear prediction filter (equation (2)).
  • the prediction filter process may be performed after the linear prediction value y (n) is mapped to the nonlinear quantum region.
  • the code C Popt generated by the optimal prediction order encoding unit 118, the coefficient code C k generated by the coefficient encoding unit 1114, and the residual code C e generated by the residual encoding unit 1120 are combined into a combining unit.
  • the code C g is generated by being synthesized there (step S23). Then, the encoding device 100 outputs the generated code Cg .
  • FIG. 9 is a flowchart for explaining the decoding method according to the first embodiment.
  • the decoding method of this embodiment will be described with reference to FIG. In the following, only the processing for one frame will be described, but actually the same processing is executed for each frame.
  • the separation unit 1210 of the decoding device 200 separates the input code C g and codes C Popt for designating the optimal prediction order P opt and the quantized PARCOR coefficients i (m) from the first order to the P opt order.
  • the optimum prediction order restoration unit 235 decodes the code C Popt by a decoding method corresponding to the variable length coding method of Step S16, and generates and outputs the optimum prediction order P opt (Step S32).
  • the residual decoding unit 1220 also outputs the residual code C e output from the separation unit 1021 (prediction residual obtained from the result of performing linear prediction analysis with the prediction order being the optimal prediction order on the time-series signal.
  • the coefficient decoding unit 1231 outputs the coefficient code C k output from the separation unit 1210 (linear prediction coefficient obtained by performing linear prediction analysis with the prediction order being the optimal prediction order on the time-series signal or the linear prediction coefficient)
  • the linear prediction analysis unit 112 of the encoding device 100 further includes a search order selection unit 112g that selects a subset S sub from a plurality of types of reserved sets S pre (FIG. 6). Further, in the pretreatment, the coefficient calculation unit 112a of the linear prediction analyzer 112, a plurality of kinds of preliminary set S pre is set, partial one of the preliminary set S pre accordance with an instruction of the search order selection unit 112g set S sub As selectable.
  • the search order selection unit 112g selects one of the spare sets S pre set with a plurality of types as a subset S sub .
  • This selection may be performed in units of frames or subframes, or may be performed in units of a plurality of frames.
  • the selection of the subset S sub performed by the search order selection unit 112g may be performed according to an instruction signal (for example, a signal specifying the frame length) input from the outside to the search order selection unit 112g. It may be performed according to the time series signal x (n) input as described above.
  • the identifier sub that specifies the selected subset S sub is sent to the coefficient calculation unit 112a, and the coefficient calculation unit 112a selects the subset S sub according to the identifier sub, and the processes after step S11 are executed.
  • the optimal prediction order encoding unit 118 performs variable-length encoding on the information specifying the optimal prediction order P opt selected from the elements of the subset S sub with the encoding rule common to all the preliminary sets S pre. If so, the other processes of the encoding method and the process of the decoding method are the same as those in the first embodiment.
  • an encoding rule for variable-length encoding the subset S sub is set independently for each preliminary set S pre , and the optimum prediction order encoding unit 118 converts the encoding rule to the subset S. There are the following differences when properly using each of the preliminary sets S pre selected as sub .
  • an identifier sub specifying the subset S sub selected by the search order selection unit 112g is sent to the optimal prediction order encoding unit 118, and the optimal prediction order encoding unit 118 responds to the identifier sub.
  • optimal encoding rules prediction order P opt for variable-length encoding e.g., code table
  • optimum prediction order information specifying the P opt and variable length coding to output according to the selected encoding rules.
  • the optimal prediction order encoding unit 118 is set so that the two code tables of FIGS. 10A and 10B can be used.
  • the optimal prediction order encoding unit 118 follows the code table of FIG. Information specifying the optimal prediction order P opt is variable-length encoded.
  • the optimal prediction order encoding unit 118 performs optimal prediction according to the code table of FIG. Information specifying the order P opt is variable-length encoded.
  • the decoding apparatus 200 also needs to know what encoding rule the information specifying the optimal prediction order P opt is encoded according to. Therefore, in the process of step S23, the synthesis unit 1130 includes the code C Popt generated by the optimum prediction order encoding unit 118, the coefficient code C k generated by the coefficient encoding unit 1114, and the residual encoding unit 1120. A code C g obtained by synthesizing the residual code C e generated in step 1 and the identifier sub is generated and output. Then, in step S31, the separation unit 1210 of the decoding device 200 separates the input code C g and codes C Popt for designating the optimal prediction order P opt and quantization from the first order to the P opt order.
  • the optimum prediction order restoration unit 235 specifies a decoding method corresponding to the variable length coding method in step S16 using the identifier sub, thereby decoding the code C Popt to generate the optimum prediction order P opt . And output.
  • This embodiment is a modification of the first embodiment.
  • FIG. 11 is a block diagram for explaining a functional configuration of the linear prediction analysis unit 312 of the second embodiment.
  • FIG. 12 is a flowchart for explaining a part of the encoding method of the second embodiment.
  • the linear prediction analysis unit 312 of the present embodiment does not include the prediction order designation code amount calculation unit 112b, and the optimal prediction order search unit 112e is replaced with the optimal prediction order search unit 312e. It is different from the linear prediction analysis unit 112 of the first embodiment.
  • the configuration of the decoding device and the decoding method are the same as those in the first embodiment. Also, a modification of the first embodiment can be applied to the second embodiment.
  • the code amount for designating each prediction order P, the code amount or estimated code amount of the PARCOR coefficient k (m) (m 1,..., P) at each prediction order P, and the remaining
  • the optimum prediction order P opt is selected from each prediction order P.
  • the linear prediction coefficient ⁇ (m) at each prediction order P may be used to select the optimal prediction order P opt from each prediction order P.
  • the coefficient calculation unit of the linear prediction analysis unit calculates a linear prediction coefficient at each prediction order P that is each element of the subset S sub or a coefficient that can be converted to the linear prediction coefficient, and sets each prediction order P to each prediction order P.
  • the optimal prediction order P opt may be selected from the prediction orders P by comparing the code amounts.
  • the optimum prediction order encoding unit 118 performs variable-length encoding on the information specifying the optimum prediction order P opt .
  • information specifying the optimum prediction order P opt may be included in it code C g.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from the portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.
  • a lossless compression encoding / decoding technique of an acoustic signal can be exemplified.
  • the present invention can also be applied to lossless compression encoding / decoding techniques such as video signals, biological signals, seismic wave signals, and sensor array signals in addition to audio signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 符号化装置が、最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の各要素から、入力された時系列信号を線形予測符号化するための最適予測次数を選択し、当該最適予測次数を指定するための符号を出力する。復号装置は、最適予測次数を指定するための符号を用いて最適予測次数を特定する。

Description

符号化方法、復号方法、それらの装置、プログラム及び記録媒体
 本発明は、時系列信号を線形予測分析して符号化する技術に関し、特に、予測次数を適応的に選択して線形予測符号化を行う符号化方法、その復号方法、それらの装置、プログラム及び記録媒体に関する。
 音響信号や映像情報などの時系列信号を通信路によって伝送したり、情報記録媒体に記録する場合、時系列信号を圧縮符号に変換してから伝送したり記録する方法が、伝送効率や記録効率の点で有効である。また、近年のブロードバンドの普及や記憶装置の容量増加に伴い、圧縮率の高さを優先する非可逆圧縮符号化(ロッシー符号化:Lossy Coding)方式よりも原信号の完全再生を条件とした可逆圧縮符号化(ロスレス符号化:Lossless Coding)方式が重視されつつある(例えば、非特許文献1参照)。そのような中、線形予測分析技術を用いて音響信号を可逆圧縮符号化する線形予測符号化方式がMPEG(Moving Picture Expert Group)の国際標準規格「MPEG-4 ALS」として承認されている(例えば、非特許文献2参照)。
 図1は、線形予測符号化を行う従来の符号化装置1100の機能構成を説明するためのブロック図である。図2は、図1の符号化装置1100で生成された符号を復号する復号装置1200の機能構成を説明するためのブロック図である。また、図3は、可逆圧縮符号化方式における予測次数と符号量(「符号長」と呼ぶ場合もある)の関係を説明するためのグラフである。なお、図3の横軸は予測次数を示し、縦軸は符号量を示す。
 <符号化方法>
 符号化装置1100のフレームバッファ1111には、標本化・量子化されたPCM (pulse code modulation)形式の時系列信号x(n)(nは離散時間を示すインデックス)が入力される。フレームバッファ1111は、予め定められた時間区間(以下、「フレーム」と呼ぶ)分の時系列信号x(n)(n=1,...,N)(Nは正の整数)をバッファし、符号化装置1100は、フレーム毎に時系列信号x(n)を符号化する。
 まず、1フレーム分の時系列信号x(n)(n=1,...,N)が線形予測分析部1112に送られ、線形予測分析部1112は、線形予測分析によって1次からPopt次までのPARCOR係数k(m)(m=1,...,Popt)を算出する。
 [線形予測分析と最適予測次数]
 線形予測分析では、ある時点nの時系列信号x(n)と、その時点nよりも過去のP個(Pは正の整数である。Pを「予測次数」と呼ぶ。)の時点n-1,n-2,...,n-Pの時系列信号x(n-1),x(n-2),...,x(n-P)をそれぞれ係数α(m)(m=1,...,P)(「線形予測係数」と呼ぶ)で重み付けしたものと、予測残差e(n)(「予測誤差」と呼ぶ場合もある)と間に線形1次結合が成り立つと仮定する。この仮定に基づいた線形予測モデルは式(1)のようになる。線形予測分析では、入力された時系列信号x(n)(n=1,...,N)に対し、式(1)を満たす線形予測係数α(m)(m=1,...,P)又はそれに変換可能なPARCOR係数k(m)(m=1,...,P)などの係数を算出する(予測次数Pについての線形予測分析)。
 e(n)=x(n)+α(1)・x(n-1)+α(2)・x(n-2)+...+α(P)・x(n-P)    …(1)
 また、ある時点nの時系列信号y(n)を、その時点nよりも過去のP個の時点n-1,n-2,...,n-Pの時系列信号x(n-1),x(n-2),...,x(n-P)を用いて推定する式(2)の線形FIR(Finite Impulse Response)フィルタを「線形予測フィルタ」と呼ぶ。
 y(n)=-{α(1)・x(n-1)+α(2)・x(n-2)+...+α(P)・x(n-P)}    …(2)
 また、Poptは最適な予測次数Pを示す正の整数であり、これを「最適予測次数」と呼ぶ。非特許文献2の方式では、MDL原理(Minimum Description Length Principle)に基づいて、最適予測次数Poptを決定する。MDL原理では、
(符号語長)=(モデルの記述長)+(そのモデルによるデータの記述長)
を最小にするモデルを最良とする。すなわち、非特許文献2の方式では、
(ロスレスで復号するために必要な符号量)=(PARCOR係数のために必要な符号量)+(予測残差のために必要な符号量)   …(3)
を最小にする予測次数Pを最適予測次数Poptとする。
 図3の直線3Aで模式的に示すようにPARCOR係数のために必要な符号量は予測次数に比例して増加する。また、一般に予測次数が高くなれば予測残差のエネルギーは小さくなり、予測残差をエントロピー符号化した場合の符号量は、曲線3Bで模式的に示すように対数的に小さくなる。そのため、直線3Aと曲線3Bの和である曲線3Cで模式的に示すように、ロスレスで復号するために必要な符号量は、予測次数が高くなるほど小さくなるのではなく、或る予測次数で最小となる。線形予測分析部1112は、予め定められた最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数を探索範囲とし、ロスレス復号するために必要な符号量が最小となる予測次数を最適予測次数Poptとして選択する([線形予測分析と最適予測次数]の説明終わり)。
 算出された1次からPopt次までのPARCOR係数k(m)(m=1,...,Popt)は、量子化部1113に送られ、量子化されて1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)が生成される。なお、「量子化PARCOR係数」は、PARCOR係数の量子化値そのものであってもよいし、当該PARCOR係数の量子化値に付されたインデックスであってもよい。1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)は、係数符号化部1114に送られ、そこでエントロピー符号化されて係数符号Ckが生成される。また、1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)は、線形予測係数変換部1115にも送られる。線形予測係数変換部1115は、これらのPARCOR係数i(m)(m=1,...,Popt)と線形予測分析部1112で選択された最適予測次数Poptとを用い、最適予測次数Poptの線形予測フィルタの各線形予測係数α(m)(m=1,...,Popt)を算出する。
 線形予測部1116は、1フレーム分の時系列信号x(n)(n=1,...,N)と各線形予測係数α(m)(m=1,...,Popt)と線形予測分析部1112で選択された最適予測次数Poptとを用い、最適予測次数Poptの線形予測フィルタによって線形予測値y(n)(n=1,...,N)を生成し、減算部1117は、時系列信号x(n)から線形予測値y(n)を減算した予測残差e(n)を算出する(予測フィルタ処理)。算出された予測残差e(n)(n=1,...,N)は、残差符号化部1120に送られ、そこでエントロピー符号化されて残差符号Ceが生成される。
 線形予測分析部1112で選択された最適予測次数Poptと、係数符号化部1114で生成された係数符号Ckと、残差符号化部1120で生成された残差符号Ceは、合成部1130に送られ、そこで合成されて符号Cgが生成される。
 <復号方法>
 復号装置1200に入力された符号Cgは、分離部1210で、最適予測次数Poptと係数符号Ckと残差符号Ceとに分離される。係数符号Ckと残差符号Ceとは、それぞれ係数復号部1231と残差復号部1220で復号され、1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)と、予測残差e(n)(n=1,...,N)とが生成される。
 最適予測次数Poptと量子化PARCOR係数i(m)(m=1,...,Popt)は、線形予測係数変換部1232に送られ、線形予測係数変換部1232は、これらを用いて最適予測次数Poptの線形予測フィルタの各線形予測係数α(m)(m=1,...,Popt)を算出する。線形予測部1233は、1次からPopt次までの各線形予測係数α(m)(m=1,...,Popt)をフィルタ係数とする、最適予測次数Poptの線形予測フィルタによって線形予測値y(n)(n=1,...,N)を生成し、加算部1234は、線形予測値y(n)と予測残差e(n)とをそれぞれ加算して時系列信号のロスレス復元値x(n)(n=1,...,N)を生成する(逆予測フィルタ処理)。
MatHans, "Lossless Compression of Digital Audio", IEEE SIGNAL PROCESSING MAGAZINE, July 2001, pp.21-32. ISO/IEC 14496-3 AMENDMENT 2: Audio Lossless Cording (ALS), new audio profiles and BSAC extensions.
 従来方式では、復号装置が最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数を探索範囲とし、最適予測次数Poptを選択していた。
 この場合、最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数が最適予測次数Poptの候補となるため、探索に必要な演算量が増加する。
 また、符号化装置で選択された最適予測次数Poptは復号装置に送られるが、最適予測次数Poptとなり得る整数の候補が多くなるにつれて、それらを指定するための符号の平均符号長も長くなり、符号圧縮率が低下する。
 本発明はこのような点に鑑みてなされたものであり、最適予測次数の探索に必要な演算量を削減し、符号圧縮率を向上させることが可能な技術を提供することを目的とする。
 本発明では、最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の各要素から、入力された時系列信号を線形予測符号化するための最適予測次数を選択し、当該最適予測次数を指定するための符号を出力する。
 これにより、最小予測次数以上かつ最大予測次数以下のすべての整数を最適予測次数の候補とする場合に比べ、最適予測次数の探索に必要な演算量を削減できる。また、最適予測次数となり得る整数の候補を間引くことにより、最適予測次数を指定するための符号の平均符号長も短くなり、符号圧縮率が向上する。
 本発明では、最適予測次数の探索に必要な演算量を削減し、符号圧縮率を向上させることができる。
線形予測符号化を行う従来の符号化装置の機能構成を説明するためのブロック図。 図1の符号化装置で生成された符号を復号する復号装置の機能構成を説明するためのブロック図。 可逆圧縮符号化方式における予測次数と符号量の関係を説明するためのグラフ。 図4(A)は、各予測次数で線形予測符号化を行った場合の圧縮率を説明するためのグラフであり、図4(B)は、最小予測次数Pmin=1及び最大予測次数Pmax=12とし、整数集合Sの全要素を探索範囲として適応的に最適予測次数Poptを選択した場合における、最適予測次数Poptの頻度分布を説明するためのグラフである。 第1実施形態の符号化装置の機能構成を説明するためのブロック図。 図5の線形予測分析部の機能構成を説明するためのブロック図。 第1実施形態の復号装置の機能構成を説明するためのブロック図。 第1実施形態の符号化方法を説明するためのフローチャート。 第1実施形態の復号方法を説明するためのフローチャート。 図10(A)(B)は可変長符号化のための符号表の例示である。 第2実施形態の線形予測分析部の機能構成を説明するためのブロック図。 第2実施形態の符号化方法の一部を説明するためのフローチャート。
 以下では本発明の原理を説明した後、各実施形態の説明を行っていく。
 〔原理〕
 図4(A)は、各予測次数で線形予測符号化を行った場合の圧縮率を説明するためのグラフである。ここで、図4(A)の横軸は予測次数を示し、縦軸は各予測次数で線形予測符号化を行った場合の平均圧縮率を示す。なお、圧縮率とは、(線形予測符号のビット長/符号化対象のビット長)×100を意味する。
 図4(A)に示すように、任意の2つの予測次数が互いに近ければ、それらにそれぞれ対応する平均圧縮率も互いに近い。特に、平均圧縮率を最小にする予測次数の近傍では、予測次数の変化に伴う平均圧縮率の変動が小さい。すなわち、最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数を探索範囲として選択された最適予測次数を用いなくても、圧縮性能は大きく劣化しない。本形態では、最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数を探索範囲として最適予測次数Poptを選択するのではなく、最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数Pmin, Pmin+1,..., Pmax-1, Pmaxを要素とする整数集合Sから一部の要素を間引いた部分集合Ssub⊂Sの各要素から、入力された時系列信号を線形予測符号化するための最適予測次数を選択し、当該最適予測次数を指定するための符号を生成する。これにより、最適予測次数Poptの探索に必要な演算量を削減できるとともに、最適予測次数Poptを指定するための符号の符号長も短くなり、符号圧縮率が向上する。なお、最小予測次数Pminは0以上の整数であり、最大予測次数Pmaxは最小予測次数Pmin以上の整数であり、何れも予め定められた値である。例えば、最小予測次数Pminや最大予測次数Pmaxは、処理単位となる時間区間(フレーム又はフレームを複数の時間区分に区分したサブフレーム)の長さごとに予め定められた値である。また、最適予測次数を指定するための符号の例は、各最適予測次数に付された最適予測次数ごとに異なるインデックスや、各最適予測次数を特定する情報を可変長符号化した符号である。また、可変長符号化される各最適予測次数を特定する情報は、各最適予測次数に付された最適予測次数ごとに異なるインデックスであってもよいし、各最適予測次数そのものであってもよい。また、可変長符号化の例は、アルファ符号化、デルタ符号化、ハフマン符号化(Huffman Coding)、ゴロム・ライス符号化(Golomb-Rice Coding)、ゴロム符号化(Golomb Coding)、及びその他のエントロピー符号化である。本形態では最適予測次数となり得る範囲が限定されるため、いずれの場合も各最適予測次数Poptを区別して表現するために必要な符号の平均符号量を削減できる。
<間引き方の例>
 以下に、最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数Pmin, Pmin+1,..., Pmax-1, Pmaxを要素とする整数集合S=(Pmin, Pmin+1,..., Pmax-1, Pmax)から一部の要素を間引いた部分集合Ssubの設定例を示す。なお、floor{・}は・以下の最大の整数を示す。
 (例1)整数集合Sの全体にわたって等間隔で間引きを行う。これは、本来の最適予測次数が整数集合S全体に一様に分布する場合に有効な設定方法である。
 ・Ssub=(Pmax,Pmax-2, Pmax-4,..., Pmin)
 ・Ssub=(Pmax, floor{(Pmax-Pmin)/2})
 (例2)整数集合Sのうち所定値以上の整数を等間隔で間引き、当該所定値未満の整数は部分集合Ssubの要素としない。これは、本来の最適予測次数がPmaxに近い領域に多く分布する場合に有効な設定方法である。
 ・Ssub=(Pmax,Pmax-1, Pmax-2)
 ・Ssub=(Pmax,Pmax-2, Pmax-4,..., floor{(Pmax-Pmin)/2})
 (例3)整数集合Sのうち所定値以上の整数を等間隔で間引き、当該所定値未満の整数はPmin近傍を除いて部分集合Ssubの要素としない。これは、本来の最適予測次数がPmaxに近い領域とPminに多く分布する場合に有効な設定方法である。
 ・Ssub=(Pmax,Pmax-1, Pmax-2, Pmin)
 ・Ssub=(Pmax,Pmax-2, Pmax-4,..., floor{Pmax/2}, Pmin)
 ・Ssub=(Pmax,Pmax-1, Pmax-2, Pmin+1,Pmin)
 ・Ssub=(Pmax-1, Pmax-2, Pmin+1)
 (例4)Pmaxに近い領域ほど予め定められた整数区間中の要素数が多くなるように、整数集合Sの要素から不当間隔で要素を間引いて部分集合Ssubを設定する。これは、本来の最適予測次数がPmaxに近い領域に多く分布する場合に有効な設定方法である。
 ・Ssub=(Pmax,Pmax-1, Pmax-3, Pmax-6, Pmax-9,..., Pmin)
 ・Ssub=(Pmax,Pmax-1, Pmax-3, Pmax-6, Pmax-9)
 ・Ssub=(Pmax,Pmax-1, Pmax-3, Pmax-6, Pmax-9, Pmin)
 <最適予測次数Poptの選択方法の例>
 本形態の最適予測次数Poptの選択は、例えば、(I) 入力された時系列信号から線形予測係数若しくは当該線形予測係数に変換可能な係数を算出するステップと、(II) 予測次数を指定するための符号の符号量と、当該予測次数での線形予測係数若しくは当該線形予測係数に変換可能な係数の符号量又は推定符号量と、当該線形予測係数を用いて時系列信号の線形予測を行った場合の予測残差の符号量又は推定符号量と、の合計値SUMを指標とし、各予測次数から最適予測次数Poptを選択するステップと、を含む処理によって行なわれる。このように、予測次数を指定するための符号の符号量をも考慮して最適予測次数Poptを選択することで、特にフレーム中のサンプル数Nがさほど大きくない場合に、圧縮率をより向上させることが可能な最適予測次数Poptを選択することができる。なお、ステップ(II)の処理の例は以下の通りである。
(例11)部分集合Ssubの全要素を探索範囲とし、合計値SUMが最小となる予測次数を最適予測次数Poptとして選択する。
 (例12)部分集合Ssubの要素を予め定められた順序(例えば昇降順)で探索し、合計値SUMが最初に予め定められた閾値以下となった予測次数を最適予測次数Poptとして選択する。
 (例13)最初の処理単位となる時間区間(フレーム又はフレームを複数の時間区分に区分したサブフレーム)での最適予測次数Poptの選択は上記(11)又は(12)によって行う。それ以後の処理単位となる時間区間では、1つ前の時間区間で選択された最適予測次数よりも大きな最小の部分集合Ssubの要素(存在しない場合はPmax)を予測次数として選択し、新たに選択した予測次数に対応する新たな合計値SUMを求める。そして、新たな合計値SUMが1つ前の時間区間で求めた合計値SUMよりも小さい場合には、新たに選択した予測次数を新たな最適予測次数Poptとし、新たな合計値SUMが1つ前の時間区間で求めた合計値SUM以上の場合には、1つ前の時間区間で選択された最適予測次数を新たな最適予測次数Poptとする。
 (例14)なお、予測次数Pでの線形予測係数若しくは線形予測係数に変換可能な係数の符号量又は推定符号量と、当該線形予測係数を用いて時系列信号の線形予測を行った場合の予測残差の符号量又は推定符号量との合計値を、当該予測次数Pに対応するSUMとして上記の選択を行ってもよい。
 <複数種類設定された予備集合Spreから部分集合Ssubを選択>
 また、整数集合Sから一部の要素を間引いた予備集合Spre⊂Sを複数種類設定しておき、それらの予備集合Spreの1つを部分集合Ssubとして選択してもよい。なお、予備集合Spreの具体例は、上述の部分集合Ssubの例と同様である。
 また、予備集合Spreから部分集合Ssubを選択する基準としては、入力された時系列信号が予め定められた閾値より大きいか否かに応じて、予備集合Spreから部分集合Ssubを選択するものを例示できる。その具体例は以下の通りである。
 (例21)入力された時系列信号が予め定められた閾値を超える場合、時系列信号が無音区間を含む可能性が低いと判断して(例2)のようにPminを要素に含まない予備集合Spreの一つを部分集合Ssubと選択し、入力された時系列信号が予め定められた閾値以下である場合、時系列信号が無音区間を含む可能性が高いと判断して(例3)のようにPminを要素に含む予備集合Spreの一つを部分集合Ssubと選択する。
 (例22)入力された時系列信号が予め定められた閾値を超える場合、(例4)のようにPmaxに近い領域ほど予め定められた整数区間中の要素数が多くなるように、整数集合Sの要素から不当間隔で要素を間引いて生成された予備集合Spreを部分集合Ssubとして選択し、入力された時系列信号が予め定められた閾値以下である場合、(例3)のようにPminを要素に含む予備集合Spreの一つを部分集合Ssubと選択する。
 <最適予測次数Poptを特定する情報の可変長符号化>
 図4(B)は、最小予測次数Pmin=1及び最大予測次数Pmax=12とし、整数集合Sの全要素を探索範囲として適応的に最適予測次数Poptを選択した場合における、最適予測次数Poptの頻度分布を説明するためのグラフである。ここで、図4(B)の横軸は選択された最適予測次数Poptを示し、縦軸はその頻度を示す。なお、図4(B)の頻度は、それらの合計が1になるように正規化されている。
 図4(B)の例では、最小予測次数Pmin=1及び最大予測次数Pmax=12とが最適予測次数Poptに選択される頻度が高く、それについで最大予測次数Pmax=12に近い予測次数が最適予測次数Poptに選択される頻度が高い。音響信号などの時系列信号の場合、適応的に選択される最適予測次数Poptが整数集合S全体にわたって一様に分布することは稀であり、選択される最適予測次数Poptの頻度分布に偏りが生じることが多い。特に、最大予測次数Pmaxを小さめに設定した場合には、選択される最適予測次数Poptが最大予測次数Pmax近傍に分布する頻度が高く、さらに時系列信号に無音区間が多く含まれている場合には、最小予測次数Pminの頻度も高くなる。
 そのため、第1符号化対象が第2符号化対象よりも予め定められた特定の値に近い場合に、当該第1符号化対象に当該第2符号化対象の符号よりも短い符号長の符号が割り当てられる頻度が、当該第1符号化対象に当該第2符号化対象の符号よりも長い符号長の符号が割り当てられる頻度よりも高い可変長符号化方法を用い、選択された最適予測次数Poptを特定する情報を可変長符号化し、それを、最適予測次数Poptを指定するための符号とする。これにより、最適予測次数Poptを指定するための符号の符号量を削減できる。ここで、予め定められた特定の値は、例えば、最大予測次数Pmaxを特定する情報である。なお、可変長符号化される各最適予測次数Poptを特定する情報の例は、最適予測次数Poptに付されたインデックスや、最適予測次数Poptそのものである。また、このような可変長符号化の例外処理として、最適予測次数Poptが最小予測次数Pminである場合を特別扱いし、最適予測次数Poptが最小予測次数Pminである場合に短い符号長の符号(例えば、符号長が最短の符号)を割り当ててもよい。
 また、複数種類設定された予備集合Spreから部分集合Ssubを選択する場合、部分集合Ssubの要素から選択される最適予測次数Poptを特定する情報を可変長符号化するための符号化規則(例えば、符号表)を予備集合Spreごとに独立に設定しておき、それらの符号化規則を、部分集合Ssubとして選択された予備集合Spreごとに使い分けることが望ましい。これにより、すべての予備集合Spreに共通の符号化規則を用いる場合に比べて符号長を短くできる。
 〔第1実施形態〕
 次に、本発明の第1実施形態を説明する。本形態は、最適予測次数を指定するための符号が、最適予測次数を特定する情報を可変長符号化した符号である形態である。
 図5は、第1実施形態の符号化装置100の機能構成を説明するためのブロック図であり、図6は、図5の線形予測分析部112の機能構成を説明するためのブロック図である。また、図7は、第1実施形態の復号装置200の機能構成を説明するためのブロック図である。なお、これらの図において図1や図2と同じ構成については、図1や図2と同じ符号を用いる。
 図5に示すように、本形態の符号化装置100は、フレームバッファ1111、線形予測分析部112、量子化部1113、係数符号化部1114、線形予測係数変換部1115、線形予測部1116、減算部1117、最適予測次数符号化部118、残差符号化部1120、及び合成部1130を有する。また、図6に示すように、線形予測分析部112は、係数算出部112a、予測次数指定符号量算出部112b、係数符号量算出部112c、予測残差符号量算出部112d、最適予測次数探索部112e、及び選択部112fを有する。
 図7に示すように、本形態の復号装置200は、最適予測次数復元部235、分離部1210、係数復号部1231、線形予測係数変換部1232、残差復号部1220、線形予測部1233、及び加算部1234を有する。
 なお、本形態の符号化装置100や復号装置200は、例えば、CPU(central processing unit)、RAM(random-access memory)、ROM(read-only memory)等を備えた公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することによって構成された特別な装置である。すなわち、符号化装置100のフレームバッファ1111は、例えば、RAM、キャッシュメモリ、レジスタ等のメモリであり、線形予測分析部112、量子化部1113、係数符号化部1114、線形予測係数変換部1115、線形予測部1116、減算部1117、最適予測次数符号化部118、残差符号化部1120、及び合成部1130は、例えば、CPUが所定のプログラムを実行することで構築される処理部である。また、復号装置200の最適予測次数復元部235、分離部1210、係数復号部1231、線形予測係数変換部1232、残差復号部1220、線形予測部1233、及び加算部1234は、例えば、CPUが所定のプログラムを実行することで構築される処理部である。また、これらの処理部の少なくとも一部が集積回路等の電子回路によって構成されてもよい。さらに、必要に応じ、符号化装置100や復号装置200に、各処理部の処理によって出力されたデータを格納し、各処理部の別の処理時にデータが読み出される一時メモリを設けてもよい。また、このような各処理部の実現方法は、以下の各実施形態やその変形例でも同様である。
 <前処理>
 前処理として、線形予測分析部112の係数算出部112aは、上述したように間引きされた部分集合Ssubの各要素を利用できるように設定されている。
 また、符号化装置100の最適予測次数符号化部118は、最適予測次数Poptを特定する情報を前述のように可変長符号化するための符号表が設定されている。また、復号装置200の最適予測次数復元部235は、最適予測次数符号化部118で可変長符号化された符号を復号できるように当該符号表が設定されている。図10(A)は、この可変長符号化のための符号表の例示である。この例の符号表では、部分集合Ssubの各要素である間引かれた予測次数Pとそれに対応する符号と符号長とが対応付けられている。
 <符号化方法>
 図8は、第1実施形態の符号化方法を説明するためのフローチャートである。以下、図8を用いて本形態の符号化方法を説明する。なお、以下では1フレーム分の処理のみを説明するが、実際は同様な処理が各フレームについて実行される。
 符号化装置100(図5)のフレームバッファ1111には、標本化・量子化されたPCM形式の時系列信号x(n)が入力される。これらの時系列信号x(n)は、線形量子化(「一様量子化」と呼ぶ場合もある)されたものであってもよいし、圧伸量子化(例えば、ITU-T Recommendation G.711, “Pulse Code Modulation (PCM) of Voice Frequencies”参照)のような非線形量子化(「非一様量子化」と呼ぶ場合もある)されたものであってもよい。また、時系列信号x(n)がPCM形式の信号ではなく、量子化されていない信号であってもよい。フレームバッファ1111は、1フレーム分の時系列信号x(n)(n=1,...,N)をバッファし、符号化装置100は、フレーム毎に時系列信号x(n)(n=1,...,N)を符号化する。
 1フレーム分の時系列信号x(n)(n=1,...,N)は、線形予測分析部112(図6)に送られる。線形予測分析部112の係数算出部112aは、Pmin以上かつPmax以下のすべての整数を要素とする整数集合Sから一部の要素を間引いた部分集合Ssub⊂Sの各要素を各予測次数Pとする。係数算出部112aは、入力された時系列信号x(n)(n=1,...,N)の線形予測分析を、当該各予測次数Pについてそれぞれ行う。これにより、係数算出部112aは、各予測次数Pにそれぞれ対応する、1次からP次までの各PARCOR係数k(m)(m=1,...,P)を算出して出力する(ステップS11)。なお、係数算出部112aは、時系列信号x(n)(n=1,...,N)をそのまま線形予測分析する構成であってもよいし、非線形量子化されて入力された時系列信号x(n)(n=1,...,N)を線形量子化や他の非線形量子化にマッピングしてから線形予測分析を行う構成であってもよい。すなわち、「時系列信号(n=1,...,N)の線形予測分析」とは、時系列信号x(n)(n=1,...,N)をそのまま線形予測分析すること、又は、非線形量子化されて入力された時系列信号x(n)(n=1,...,N)を線形量子化や他の非線形量子化にマッピングしてから線形予測分析することである。また、PARCOR係数k(m)(m=1,...,P)の算出は、レビンソン・ダービン(Levinson-Durbin)法やバーグ(Burg)法などの逐次的方法によって行われてもよいし、自己相関法や共分散法のように予測次数ごとに連立方程式(予測残差を最小にする線形予測係数を解とする連立方程式)を解くことによって行われてもよい(「守谷健弘著、“音声符号化”、社団法人電子情報通信学会、1998」「日野幹雄著、“スペクトル解析”、朝倉書店、1979」など参照)。
 また、係数算出部112aで用いられた各予測次数Pは予測次数指定符号量算出部112bに送られ、予測次数指定符号量算出部112bは各予測次数Pを指定するための符号の符号量apを算出する(ステップS12)。本形態の場合、予測次数指定符号量算出部112bは、例えば、最適予測次数符号化部118で用いるのと同じ符号表(例えば、図10(A))を用いて各予測次数Pを可変長符号化した符号の符号長を抽出し、それを符号量apとする。また、係数算出部112aで各予測次数Pについてそれぞれ算出された1次からP次までの各PARCOR係数k(m)(m=1,...,P)は、係数符号量算出部112cに送られる。係数符号量算出部112cは、予測次数Pごとに、PARCOR係数k(m)(m=1,...,P)の符号量akpを算出する(ステップS12)。言い換えると、係数符号量算出部112cは、予測次数Pごとに、当該予測次数Pに対応する1次からP次までのPARCOR係数k(m)(m=1,...,P)の符号量akpを算出する。具体的には、係数符号量算出部112cは、例えば、係数符号化部1114と同じ符号化方法によってPARCOR係数k(m)(m=1,...,P)を符号化し、予測次数Pごとに、当該予測次数Pに対応する1次からP次までのPARCOR係数k(m)(m=1,...,P)の符号量akpを算出する。また、PARCOR係数k(m)(m=1,...,P)の振幅値やエネルギーを用いて、予測次数Pごとに、当該予測次数Pに対応する1次からP次までのPARCOR係数k(m)(m=1,...,P)の推定符号量akpを求めてもよい。また、符号量や推定符号量akpは、予測次数Pごとに各PARCOR係数k(1),...,k(P)をまとめて符号化した場合のものであってもよいし、各PARCOR係数k(1),...,k(P)ごとの符号量又は推定符号量を予測次数Pごとに合算したものでもよい。言い換えると、各予測次数Pにそれぞれ対応する符号量や推定符号量akpは、当該予測次数Pに対応する1次からP次までの各PARCOR係数k(1),...,k(P)をまとめて1つの符号化対象として符号化して得られる符号の符号量やその推定量であってもよいし、当該予測次数Pに対応する1次からP次までのPARCOR係数k(1),...,k(P)をそれぞれ別個の符号化対象として符号化して得られる各符号の符号量又は推定符号量を合算したものであってもよい。
 また、係数算出部112aで算出された各予測次数Pでの各PARCOR係数k(m)(m=1,...,P)は予測残差符号量算出部112dにも送られ、予測残差符号量算出部112dは、予測次数Pごとに1フレーム分の予測残差e(n)(n=1,...,N)の符号量akpを算出する(ステップS13)。具体的には、予測残差符号量算出部112dは、例えば、1フレーム分の時系列信号x(n)(n=1,...,N)と各PARCOR係数k(m)(m=1,...,P)とを用い、実際に、予測次数Pに対応する1フレーム分の予測残差e(n)(n=1,...,N)を求め、残差符号化部1120と同じ符号化方法によってそれらの符号化を行って、当該予測次数Pに対応する1フレーム分の予測残差e(n)(n=1,...,N)の符号量akpを算出する。なお、1フレーム分の予測残差e(n)(n=1,...,N)の符号化は、各予測残差e(n)をそれぞれ別個に符号化対象とするものであってもよいし、1フレーム分の予測残差e(n)(n=1,...,N)をまとめて1つの符号化対象とするものであってもよい。
 また、予測残差符号量算出部112dが、予測残差e(n)の振幅値やエネルギーを用いて推定符号量akpを算出してもよい。例えば、時系列入力信号x(n)の1フレームあたりのエネルギーE(0)は
Figure JPOXMLDOC01-appb-M000001
となる。1次のPARCOR係数k(1)を用いて、1次の線形予測を行ったときの予測残差のエネルギーE(1)は、
  E(1)=E(0){1-k(1)2}     …(5)
となる。2次の線形予測を行ったときの予測残差のエネルギーE(2)は、
  E(2)=E(1){1-k(2)2}     …(6)
となる。これを予測次数Pまで繰り返すと、P次の線形予測を行ったときの予測残差のエネルギーE(P)は、
Figure JPOXMLDOC01-appb-M000002
となる。予測残差符号量算出部112dは、この残差エネルギーを用いて予測残差e(n)(n=1,...,N)の推定符号量akpを算出することができる。例えば、残差符号化部120がアルファ符号で符号化を行うのであれば、正の予測残差e(n)の符号量は2・e(n)+1であるため、1フレーム分の予測残差e(n)(n=1,...,N)の推定符号量akp
Figure JPOXMLDOC01-appb-M000003
で算出できる。また、残差符号化部120がゴロム・ライス符号(Golomb-Rice Coding)で符号化を行う場合であっても、ゴロム・ライス符号の前段ビットはアルファ符号であり、後段ビットはライスパラメータに応じた有限長の符号であるため、式(8)で1フレーム分の予測残差e(n)の推定符号量akpを算出することは妥当である。
 ステップS12からS14で算出された予測次数Pを指定するための符号の符号量apと、PARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量akpと、予測残差e(n)(n=1,...,N)の符号量又は推定符号量aepとは、最適予測次数探索部112eに入力される。最適予測次数探索部112eは、これらの合計値SUMを指標として、各予測次数Pから最適予測次数Poptを選択する(ステップS15)。この選択方法の具体例は前述した通り、例えば、合計値SUMを最小にする予測次数Pを最適予測次数Poptとして選択する。
 ステップS15で選択された最適予測次数Poptは最適予測次数符号化部118に入力され、最適予測次数符号化部118は、それを可変長符号化した符号CPopt(「最適予測次数Poptを指定するための符号」に相当)を生成して出力する(ステップS16)。前述した通り、この可変長符号化方法は、第1符号化対象が第2符号化対象よりも予め定められた特定の値に近い場合に、当該第1符号化対象に当該第2符号化対象の符号よりも短い符号長の符号が割り当てられる頻度が、当該第1符号化対象に当該第2符号化対象の符号よりも長い符号長の符号が割り当てられる頻度よりも高い可変長符号化方法である。また、予め定められた特定の値の一例は最大予測次数Pmaxである。このような可変長符号化方法の具体例としては、ハフマン符号化(Huffman Coding)などを例示できる。
 また、ステップS15で選択された最適予測次数Poptは選択部112fに入力される。選択部112fは、係数算出部112aで算出された各予測次数Pに対応するPARCOR係数k(m)(m=1,...,P)から、最適予測次数Poptに対応するPARCOR係数k(m)(m=1,...,Popt)を選択し、出力する(ステップS17)。
 ステップS17で選択された最適予測次数Poptに対応するPARCOR係数k(m)(m=1,...,Popt)は、量子化部1113に送られ、量子化されて1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)が生成される(ステップS18)。
 次に、係数符号化部1114が、ステップS18で生成された1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)に対応する係数符号Ckを生成して出力する(ステップS19)。この符号化は、ゴロム・ライス符号化方法やハフマン符号化方法などのエントロピー符号化方法によって行われる。
 また、ステップS15で選択された最適予測次数Poptや、ステップS17で選択された最適予測次数PoptでのPARCOR係数k(m)(m=1,...,Popt)は線形予測係数変換部1115にも送られる。線形予測係数変換部1115は、これらを用いて予測次数Poptの線形予測フィルタの各線形予測係数α(m)(m=1,...,Popt)を算出する(ステップS20)。この算出は、例えば、量子化PARCOR係数i(m)を逆量子化した後、レビンソン(Levinson)・アルゴリズムを適用して行う。なお、量子化PARCOR係数i(m)を逆量子化する処理は、量子化PARCOR係数i(m)に対応するPARCOR係数k(m)の範囲のうちの予め定めた何れかの値k'(m)を求める処理である。例えば、η1≦k(m)<η2のPARCOR係数k(m)に対応する量子化PARCOR係数がi(m)である場合、量子化PARCOR係数i(m)を逆量子化したPARCOR係数k'(m)の例はη1とη2の平均値である。
 線形予測部1116は、入力された1フレーム分の時系列信号x(n)(n=1,...,N)と各線形予測係数α(m)(m=1,...,Popt)と最適予測次数Poptとを用い、各線形予測係数α(m)(m=1,...,Popt)をフィルタ係数とする、最適予測次数Poptでの線形予測フィルタy(n)(n=1,...,N)を生成して出力する。減算部1117は、入力された線形予測フィルタy(n)(n=1,...,N)と、時系列信号x(n)とを用い、予測残差e(n)を算出する(ステップS21)。なお、線形予測部1116及び減算部1117は、例えば、時系列信号x(n)(n=1,...,N)をそのまま用いて予測フィルタ処理を行う。また、時系列信号x(n)(n=1,...,N)が非線形量子化された信号である場合には、線形予測部1116及び減算部1117は、時系列信号x(n)(n=1,...,N)を線形量子化領域や他の非線形量子領域にマッピングしてから予測フィルタ処理を行ってもよい。また、この場合に、線形予測部1116及び減算部1117が、各線形予測係数α(m)と時系列信号x(n)とを線形予測フィルタ(式(2))に適用して算出された線形予測値y(n)を非線形量子領域にマッピングしてからから予測フィルタ処理を行ってもよい。
 算出された予測残差e(n)(n=1,...,N)は残差符号化部1120に送られ、そこでエントロピー符号化され、予測残差e(n)(n=1,...,N)に対応する残差符号Ceが生成される(ステップS22)。最適予測次数符号化部118で生成された符号CPoptと、係数符号化部1114で生成された係数符号Ckと、残差符号化部1120で生成された残差符号Ceは、合成部1130に送られ、そこで合成されて符号Cgが生成される(ステップS23)。そして、符号化装置100は、生成した符号Cgを出力する。
 <復号方法>
 図9は、第1実施形態の復号方法を説明するためのフローチャートである。以下、図9を用いて本形態の復号方法を説明する。なお、以下では1フレーム分の処理のみを説明するが、実際は同様な処理が各フレームについて実行される。
 復号装置200の分離部1210は、入力された符号Cgを分離し、最適予測次数Poptを指定するための符号CPoptと、1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)に対応する係数符号Ckと、予測残差e(n)(n=1,...,N)に対応する残差符号Ceとを生成して出力する(ステップS31)。最適予測次数復元部235は、ステップS16の可変長符号化方式に対応する復号方式によって符号CPoptを復号し、最適予測次数Poptを生成して出力する(ステップS32)。また、残差復号部1220は、分離部1021から出力された残差符号Ce(予測次数が最適予測次数である線形予測分析を時系列信号に対して行った結果から得られた予測残差の符号)を復号し、予測残差e(n)(n=1,...,N)を生成して出力する(ステップS33)。また、係数復号部1231は、分離部1210から出力された係数符号Ck(予測次数が最適予測次数である線形予測分析を時系列信号に対して行って得られた線形予測係数若しくは当該線形予測係数に変換可能な係数の符号)を復号し、量子化PARCOR係数i(m)(m=1,...,Popt)を生成して出力する(ステップS34)。最適予測次数復元部235で生成された最適予測次数Poptと、係数復号部1231で生成された量子化PARCOR係数i(m)(m=1,...,Popt)とは、線形予測係数変換部1232に入力される。線形予測係数変換部1232は、量子化PARCOR係数i(m)(m=1,...,Popt)を逆量子化したPARCOR係数k'(m)(m=1,...,Popt)を用い、最適予測次数Poptでの各線形予測係数α(m)(m=1,...,Popt)を算出して出力する(ステップS35)。この処理はレビンソン・アルゴリズムを適用して行う。
 線形予測部1233と加算部1234は、最適予測次数復元部235で生成された最適予測次数Poptと、線形予測係数変換部1232で生成された各線形予測係数α(m)(m=1,...,Popt)と、残差復号部1220から出力された予測残差e(n)(n=1,...,N)とを用い、逆予測フィルタ処理によって時系列信号のロスレス復元値x(n)(n=1,...,N)を生成して出力する(ステップS36)。言い換えると、線形予測部1233と加算部1234は、各線形予測係数α(m)(m=1,...,Popt)をフィルタ係数とする線形予測フィルタと、予測残差e(n)(n=1,...,N)とを用い、逆予測フィルタ処理によって時系列信号のロスレス復元値x(n)(n=1,...,N)を生成して出力する。より具体的には、例えば、線形予測部1233が、1次からPopt次までの各線形予測係数α(m)(m=1,...,Popt)をフィルタ係数とする、最適予測次数Poptの線形予測フィルタによって線形予測値y(n)(n=1,...,N)を生成する。そして、加算部1234が、線形予測値y(n)と予測残差e(n)とをそれぞれ加算して時系列信号のロスレス復元値x(n)(n=1,...,N)を生成する。
 〔第1実施形態の変形例〕
 第1実施形態の変形例では、最小予測次数Pmin以上かつ最大予測次数Pmax以下のすべての整数を要素とする整数集合Sから一部の要素を間引いた予備集合Spre⊂Sが複数種類設定されており、複数種類設定された予備集合Spreの1つを部分集合Ssubとして選択する。
 この場合、符号化装置100の線形予測分析部112は、さらに、複数種類設定された予備集合Spreから部分集合Ssubを選択する探索次数選択部112gを有する(図6)。また、前処理において、線形予測分析部112の係数算出部112aには、複数種類の予備集合Spreが設定され、探索次数選択部112gの指示に従って予備集合Spreの1つを部分集合Ssubとして選択可能にされる。
 この場合の符号化方法では、ステップS11の前に、探索次数選択部112gが複数種類設定された予備集合Spreの1つを部分集合Ssubとして選択する。この選択はフレームやサブフレーム単位で行なわれてもよいし、複数のフレーム単位で行なわれてもよい。また、探索次数選択部112gが行う部分集合Ssubの選択は、外部から探索次数選択部112gに入力された指示信号(例えば、フレーム長を特定する信号)に応じて行なわれてもよいし、前述のように入力された時系列信号x(n)に応じて行なわれてもよい。選択された部分集合Ssubを特定する識別子subは、係数算出部112aに送られ、係数算出部112aはそれに従って部分集合Ssubを選択し、ステップS11以降の処理が実行される。
 ここで、最適予測次数符号化部118が、すべての予備集合Spreに共通の符号化規則で部分集合Ssubの要素から選択された最適予測次数Poptを特定する情報を可変長符号化するのであれば、符号化方法の他の処理、及び復号方法の処理は第1実施形態と同じである。一方、部分集合Ssubを可変長符号化するための符号化規則を予備集合Spreごとに独立に設定しておき、最適予測次数符号化部118が、それらの符号化規則を、部分集合Ssubとして選択された予備集合Spreごとに使い分ける場合には以下の相違点がある。
 まず、ステップS16の処理において、探索次数選択部112gが選択した部分集合Ssubを特定する識別子subを最適予測次数符号化部118に送り、最適予測次数符号化部118は、識別子subに応じて最適予測次数Poptを可変長符号化するための符号化規則(例えば、符号表)を選択し、選択した符号化規則に従って最適予測次数Poptを特定する情報を可変長符号化して出力する。例えば、最適予測次数符号化部118が図10(A)(B)の2つの符号表を利用できるように設定しておく。そして、例えば、識別子subが部分集合Ssub=(15,12,7,2,0)を示すものであったならば、最適予測次数符号化部118は、図10(A)の符号表に従って最適予測次数Poptを特定する情報を可変長符号化する。一方、識別子subが部分集合Ssub=(15,13,10,7,4)を示すものであったならば、最適予測次数符号化部118は、図10(B)の符号表に従って最適予測次数Poptを特定する情報を可変長符号化する。
 また、このような場合には、復号装置200でも、最適予測次数Poptを特定する情報がどのような符号化規則に従って符号化されたかを知る必要がある。そのため、ステップS23の処理において、合成部1130は、最適予測次数符号化部118で生成された符号CPoptと、係数符号化部1114で生成された係数符号Ckと、残差符号化部1120で生成された残差符号Ceと、識別子subとを合成した符号Cgを生成して出力する。そして、復号装置200の分離部1210は、ステップS31において、入力された符号Cgを分離し、最適予測次数Poptを指定するための符号CPoptと、1次からPopt次までの量子化PARCOR係数i(m)(m=1,...,Popt)に対応する係数符号Ckと、予測残差e(n)(n=1,...,N)に対応する残差符号Ceと、識別子subとを生成して出力する。最適予測次数復元部235は、ステップS32において、識別子subを用いてステップS16の可変長符号化方式に対応する復号方式を特定し、それによって符号CPoptを復号し、最適予測次数Poptを生成して出力する。
 〔第2実施形態〕
 本形態は、第1実施形態の変形例である。第1実施形態では、符号化の際、予測次数Pを指定するための符号の符号量apと、PARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量akpと、予測残差e(n)(n=1,...,N)の符号量又は推定符号量aepとの合計値SUMを指標として、各予測次数Pから最適予測次数Poptを選択していた(ステップS15)。しかし、第2実施形態では、符号化の際、PARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量akpと、予測残差e(n)(n=1,...,N)の符号量又は推定符号量aepとの合計値SUMを指標として、各予測次数Pから最適予測次数Poptを選択する。
 図11は、第2実施形態の線形予測分析部312の機能構成を説明するためのブロック図である。また、図12は、第2実施形態の符号化方法の一部を説明するためのフローチャートである。
 図11に示すように、本形態の線形予測分析部312は、予測次数指定符号量算出部112bが存在せず、最適予測次数探索部112eが最適予測次数探索部312eに置換された点で、第1実施形態の線形予測分析部112と相違する。そして、図12に示すように、本形態の符号化方法は、ステップS12の処理が実行されず、ステップS15の代わりに、最適予測次数探索部312eが、PARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量akpと、予測残差e(n)(n=1,...,N)の符号量又は推定符号量akpとの合計値SUM指標とし、各予測次数Pから最適予測次数Popを選択する。
 なお、復号装置の構成や復号方法は第1実施形態と同じである。また、第1実施形態の変形例を第2実施形態に適用することも可能である。
 〔その他の変形例〕
 なお、本発明は上述の実施の形態に限定されるものではない。例えば、第1実施形態では、線形予測分析部の係数算出部が、各予測次数Pでの1次からP次までのPARCOR係数k(m)(m=1,...,P)を生成し、各予測次数Pを指定するための符号の符号量と、各予測次数PでのPARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量と、残差e(n)(n=1,...,N)の符号量又は推定符号量との合計値SUMを指標とし、各予測次数Pから最適予測次数Poptを選択していた。また、例えば、第2実施形態では、線形予測分析部の係数算出部が、各予測次数Pでの1次からP次までのPARCOR係数k(m)(m=1,...,P)を生成し、各予測次数PでのPARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量と、残差e(n)(n=1,...,N)の符号量又は推定符号量との合計値SUMを指標とし、各予測次数Pから最適予測次数Poptを選択していた。しかし、線形予測分析部の係数算出部が、各予測次数Pでの線形予測係数α(m)(m=1,...,P)を生成し、最適予測次数探索部が、各予測次数PでのPARCOR係数k(m)(m=1,...,P)の符号量又は推定符号量の代わりに、各予測次数Pでの線形予測係数α(m)(m=1,...,P)の符号量又は推定符号量を用いて各予測次数Pから最適予測次数Poptを選択してもよい。
 また、線形予測分析部の係数算出部で、部分集合Ssubの各要素である各予測次数Pでの線形予測係数若しくは当該線形予測係数に変換可能な係数をそれぞれ算出し、各予測次数Pに対し、それぞれ予測次数Pの符号と、係数の符号と、予測残差e(n)(n=1,...,N)の符号とをすべて生成し、最適予測次数探索部が実際の合計符号量を比較して各予測次数Pから最適予測次数Poptを選択してもよい。
 また、上記の実施形態では、最適予測次数符号化部118が、最適予測次数Poptを特定する情報を可変長符号化することとした。しかし、最適予測次数Poptを特定する情報を可変長符号化することなく、最適予測次数Poptを特定する情報がそのまま符号Cgに含まれもよい。
 また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 本発明の産業上の利用分野としては、例えば、音響信号の可逆圧縮符号化・復号化技術を例示できる。また、本発明は、音響信号以外にも、映像信号、生体信号、地震波信号、センサーアレイ信号などの可逆圧縮符号化・復号化技術にも応用可能である。
 100,1100 符号化装置
 200,1200 復号装置
 

Claims (15)

  1.  (A) 入力された時系列信号から、線形予測係数若しくは当該線形予測係数に変換可能な係数を算出するステップと、
     (B) 最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の要素である各予測次数について、当該予測次数までの前記線形予測係数若しくは当該線形予測係数に変換可能な係数の符号量又は推定符号量と、当該予測次数までの前記線形予測係数を用いて前記時系列信号の線形予測を行った場合の予測残差の符号量又は推定符号量と、の合計値に相当する値を算出するステップと、
     (C) 前記合計値に相当する値が最小となる予測次数を最適予測次数として求め、当該最適予測次数、を指定するための符号を出力するステップと、
     を有する符号化方法。
  2.  (A) 入力された時系列信号から、線形予測係数若しくは当該線形予測係数に変換可能な係数を算出するステップと、
     (B) 最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の要素である各予測次数について、当該予測次数を指定するための符号の符号量と、当該予測次数までの前記線形予測係数若しくは当該線形予測係数に変換可能な係数の符号量又は推定符号量と、当該予測次数までの前記線形予測係数を用いて前記時系列信号の線形予測を行った場合の予測残差の符号量又は推定符号量と、の合計値に相当する値を算出するステップと、
     (C) 前記合計値に相当する値が最小となる予測次数を最適予測次数として求め、当該最適予測次数を指定するための符号を出力するステップと、
     を有する符号化方法。
  3.  最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の各要素から、入力された時系列信号を線形予測符号化するための最適予測次数を選択し、前記最適予測次数を指定するための符号を出力する、
     ことを特徴とする符号化方法。
  4.  請求項1から3の何れかの符号化方法であって、
     前記最小予測次数以上かつ前記最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた予備集合が複数種類設定されており、
     前記複数種類設定された予備集合の1つを前記部分集合として選択するステップをさらに有する、
     ことを特徴とする符号化方法。
  5.  請求項1から3の何れかの符号化方法であって、
     第1符号化対象が第2符号化対象よりも予め定められた特定の値に近い場合に、当該第1符号化対象に当該第2符号化対象の符号よりも短い符号長の符号が割り当てられる頻度が、当該第1符号化対象に当該第2符号化対象の符号よりも長い符号長の符号が割り当てられる頻度よりも高い可変長符号化方法を用い、前記最適予測次数を特定する情報を可変長符号化するステップをさらに有し、
     前記最適予測次数を指定するための符号は、前記最適予測次数を特定する情報を可変長符号化した符号である、
     ことを特徴とする符号化方法。
  6.  請求項5の符号化方法であって、
     前記予め定められた特定の値は、前記最大予測次数を特定する情報である、
     ことを特徴とする符号化方法。
  7.  (A) 最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の要素である最適予測次数を指定するための符号が入力され、当該最適予測次数を得るステップと、
     (B) 残差符号を復号して予測残差を得るステップと、
     (C)係数符号を復号して、前記最適予測次数までの線形予測係数若しくは当該線形予測係数に変換可能な係数を得るステップと、
     (D) 前記線形予測係数をフィルタ係数とする線形予測フィルタと前記予測残差とを用いて時系列信号を合成して出力するステップと、
     を有する復号方法。
  8.  入力された時系列信号から、線形予測係数若しくは当該線形予測係数に変換可能な係数を算出する係数算出部と、
     最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の要素である各予測次数について、当該予測次数までの前記線形予測係数若しくは当該線形予測係数に変換可能な係数の符号量又は推定符号量と、当該予測次数までの前記線形予測係数を用いて前記時系列信号の線形予測を行った場合の予測残差の符号量又は推定符号量と、の合計値に相当する値を算出し、前記合計値に相当する値が最小となる予測次数を最適予測次数として求め、当該最適予測次数を指定するための符号を出力する最適予測次数探索部と、
     を有する符号化装置。
  9.  入力された時系列信号から、線形予測係数若しくは当該線形予測係数に変換可能な係数を算出する係数算出部と、
     最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の要素である各予測次数について、当該予測次数を指定するための符号の符号量と、当該予測次数までの前記線形予測係数若しくは当該線形予測係数に変換可能な係数の符号量又は推定符号量と、当該予測次数までの前記線形予測係数を用いて前記時系列信号の線形予測を行った場合の予測残差の符号量又は推定符号量と、の合計値に相当する値を算出し、前記合計値に相当する値が最小となる予測次数を最適予測次数として求め、当該最適予測次数を指定するための符号を出力する最適予測次数探索部と、
     を有する符号化装置。
  10.  最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の各要素から、入力された時系列信号を線形予測符号化するための最適予測次数を選択し、当該最適予測次数を指定するための符号を出力する、
     ことを特徴とする符号化装置。
  11.  最小予測次数を予め定められた0以上の整数とし、最大予測次数を当該最小予測次数よりも大きな予め定められた整数とした場合における、当該最小予測次数以上かつ当該最大予測次数以下のすべての整数を要素とする整数集合から一部の要素を間引いた部分集合の要素である最適予測次数を指定するための符号が入力され、当該最適予測次数を得る最適予測次数復元部と、
     残差符号を復号して予測残差を得る予測残差復号部と、
     係数符号を復号して、前記最適予測次数までの線形予測係数若しくは当該線形予測係数に変換可能な係数を得る係数復号部と、
     前記線形予測係数をフィルタ係数とする線形予測フィルタと前記予測残差とを用いて時系列信号を合成して出力する復元処理部と、
     を有する復号装置。
  12.  請求項1から3の何れかの符号化方法の処理をコンピュータに実行させるためのプログラム。
  13.  請求項7の復号方法の処理をコンピュータに実行させるためのプログラム。
  14.  請求項1から3の何れかの符号化方法の処理をコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
  15.  請求項7の復号方法の処理をコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
PCT/JP2009/070551 2008-12-09 2009-12-08 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 WO2010067800A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010542108A JP4848049B2 (ja) 2008-12-09 2009-12-08 符号化方法、復号方法、それらの装置、プログラム及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-313530 2008-12-09
JP2008313530 2008-12-09

Publications (1)

Publication Number Publication Date
WO2010067800A1 true WO2010067800A1 (ja) 2010-06-17

Family

ID=42242789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/070551 WO2010067800A1 (ja) 2008-12-09 2009-12-08 符号化方法、復号方法、それらの装置、プログラム及び記録媒体

Country Status (2)

Country Link
JP (1) JP4848049B2 (ja)
WO (1) WO2010067800A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111971902A (zh) * 2018-04-13 2020-11-20 日本电信电话株式会社 编码装置、解码装置、编码方法、解码方法、程序及记录介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3859734B1 (en) * 2014-05-01 2022-01-26 Nippon Telegraph And Telephone Corporation Sound signal decoding device, sound signal decoding method, program and recording medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0511799A (ja) * 1991-07-08 1993-01-22 Fujitsu Ltd 音声符号化方式
JP2007279393A (ja) * 2006-04-06 2007-10-25 Nippon Telegr & Teleph Corp <Ntt> Parcor係数算出装置、parcor係数算出方法、そのプログラムおよびその記録媒体
JP2007286200A (ja) * 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> 適応ブロック長符号化装置、その方法、プログラム及び記録媒体
JP2007286146A (ja) * 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> 適応ブロック長符号化装置、その方法、プログラム及び記録媒体
JP2007318691A (ja) * 2006-05-29 2007-12-06 Nippon Telegr & Teleph Corp <Ntt> 線形予測モデル次数決定装置、線形予測モデル次数決定方法、そのプログラムおよび記録媒体
JP2008026460A (ja) * 2006-07-19 2008-02-07 Nippon Telegr & Teleph Corp <Ntt> 符号化装置、それらの方法、プログラム及び記録媒体
JP2009025497A (ja) * 2007-07-18 2009-02-05 Nippon Telegr & Teleph Corp <Ntt> マルチチャネル線形予測符号化の予測係数決定方法及び装置、プログラム、記録媒体
JP2009025496A (ja) * 2007-07-18 2009-02-05 Nippon Telegr & Teleph Corp <Ntt> 線形予測符号化の予測次数決定方法及びそれを使った予測係数決定方法及び装置、プログラム、その記録媒体
JP2009069309A (ja) * 2007-09-11 2009-04-02 Nippon Telegr & Teleph Corp <Ntt> 線形予測モデル次数決定装置、線形予測モデル次数決定方法、そのプログラムおよび記録媒体

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0511799A (ja) * 1991-07-08 1993-01-22 Fujitsu Ltd 音声符号化方式
JP2007279393A (ja) * 2006-04-06 2007-10-25 Nippon Telegr & Teleph Corp <Ntt> Parcor係数算出装置、parcor係数算出方法、そのプログラムおよびその記録媒体
JP2007286200A (ja) * 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> 適応ブロック長符号化装置、その方法、プログラム及び記録媒体
JP2007286146A (ja) * 2006-04-13 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> 適応ブロック長符号化装置、その方法、プログラム及び記録媒体
JP2007318691A (ja) * 2006-05-29 2007-12-06 Nippon Telegr & Teleph Corp <Ntt> 線形予測モデル次数決定装置、線形予測モデル次数決定方法、そのプログラムおよび記録媒体
JP2008026460A (ja) * 2006-07-19 2008-02-07 Nippon Telegr & Teleph Corp <Ntt> 符号化装置、それらの方法、プログラム及び記録媒体
JP2009025497A (ja) * 2007-07-18 2009-02-05 Nippon Telegr & Teleph Corp <Ntt> マルチチャネル線形予測符号化の予測係数決定方法及び装置、プログラム、記録媒体
JP2009025496A (ja) * 2007-07-18 2009-02-05 Nippon Telegr & Teleph Corp <Ntt> 線形予測符号化の予測次数決定方法及びそれを使った予測係数決定方法及び装置、プログラム、その記録媒体
JP2009069309A (ja) * 2007-09-11 2009-04-02 Nippon Telegr & Teleph Corp <Ntt> 線形予測モデル次数決定装置、線形予測モデル次数決定方法、そのプログラムおよび記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111971902A (zh) * 2018-04-13 2020-11-20 日本电信电话株式会社 编码装置、解码装置、编码方法、解码方法、程序及记录介质
EP3780396A4 (en) * 2018-04-13 2022-01-19 Nippon Telegraph And Telephone Corporation ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD, DECODING METHOD, PROGRAM AND RECORDING MEDIUM
JP7173134B2 (ja) 2018-04-13 2022-11-16 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
CN111971902B (zh) * 2018-04-13 2024-03-29 日本电信电话株式会社 编码装置、解码装置、编码方法、解码方法、程序及记录介质

Also Published As

Publication number Publication date
JP4848049B2 (ja) 2011-12-28
JPWO2010067800A1 (ja) 2012-05-17

Similar Documents

Publication Publication Date Title
US8862463B2 (en) Adaptive time/frequency-based audio encoding and decoding apparatuses and methods
JP5337235B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体
JP5688861B2 (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
JPH11143499A (ja) 切替え型予測量子化の改良された方法
US8576910B2 (en) Parameter selection method, parameter selection apparatus, program, and recording medium
JP5303074B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP2007510170A (ja) オーディオ符号化における高速コードブック選択方法
JP4848049B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP4359949B2 (ja) 信号符号化装置及び方法、並びに信号復号装置及び方法
JP4918103B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP4191503B2 (ja) 音声楽音信号符号化方法、復号化方法、符号化装置、復号化装置、符号化プログラム、および復号化プログラム
JP4834179B2 (ja) 符号化方法、その装置、プログラム及び記録媒体
JP4091506B2 (ja) 2段音声画像符号化方法、その装置及びプログラム及びこのプログラムを記録した記録媒体
US8576927B2 (en) Encoding method, encoding device, decoding method, decoding device, program, and recording medium
JP4787889B2 (ja) 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体
JP2011223615A (ja) 符号化方法、符号化装置、復号方法、復号装置及びプログラム
JP2001175295A (ja) 音声符号化装置
JP2001188592A (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: 09831904

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010542108

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09831904

Country of ref document: EP

Kind code of ref document: A1