WO2019198383A1 - 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 - Google Patents

符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 Download PDF

Info

Publication number
WO2019198383A1
WO2019198383A1 PCT/JP2019/008388 JP2019008388W WO2019198383A1 WO 2019198383 A1 WO2019198383 A1 WO 2019198383A1 JP 2019008388 W JP2019008388 W JP 2019008388W WO 2019198383 A1 WO2019198383 A1 WO 2019198383A1
Authority
WO
WIPO (PCT)
Prior art keywords
integer
value
values
unit
integer values
Prior art date
Application number
PCT/JP2019/008388
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 EP19785986.1A priority Critical patent/EP3780396B1/en
Priority to CN201980024567.3A priority patent/CN111971902B/zh
Priority to JP2020513119A priority patent/JP7173134B2/ja
Priority to US17/044,968 priority patent/US11501782B2/en
Publication of WO2019198383A1 publication Critical patent/WO2019198383A1/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/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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/3082Vector coding
    • 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/55Compression Theory, e.g. compression of random number, repeated compression
    • 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/70Type of the data to be coded, other than image and sound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Definitions

  • the present invention relates to a technique for encoding and decoding a sample sequence composed of integer values such as a sample sequence of a time series digital signal of voice or sound.
  • a finite-precision value obtained by quantizing a sample value (hereinafter referred to as an integer value) is losslessly encoded, thereby enabling a description of the sample sequence.
  • an integer value a finite-precision value obtained by quantizing a sample value
  • variable-length lossless encoding there is a restriction on the configuration of codes assigned to integer values due to restrictions on decodability. Specifically, if a short code is assigned to a certain integer value, a long code must be assigned to another integer value in order to obtain a decodable code. Therefore, in order to increase the compression performance, the code configuration (assignment of codes to each integer value) needs to be suitable for the distribution of values in the integer value series. Specifically, by assigning a short code to integer values with a high probability of occurrence and assigning a long code to integer values with a low probability of occurrence, the expected value of the bit length after compression of the sequence of integer values Can be reduced.
  • Non-Patent Document 1 There is a technique described in Non-Patent Document 1 as a technique for encoding a sample sequence.
  • the technique described in Non-Patent Document 1 obtains a sequence based on the number of bits assigned to each sample included in a sample sequence that is a frequency spectrum sequence of an audio-acoustic signal, and the code of each bit number included in the sequence based on the number of bits is obtained. As obtained, this is a technique for losslessly encoding each sample of a quantized sample sequence.
  • the technology described in Non-Patent Document 1 is based on the assumption that the frequency spectrum sequence of the audio acoustic signal includes a larger number of samples having small amplitude values, and the envelope in the frequency spectrum sequence of the audio acoustic signal. Referring to FIG. 4, a sample with a bit number such that the number of bits decreases as a sample with a smaller envelope value or the like is obtained, and each sample of the frequency spectrum sequence of the audio-acoustic signal is encoded
  • Non-Patent Document 1 compression can be performed while suppressing distortion under a high bit rate condition.
  • a bit number of an integer value of 1 or more is assigned to one sample of the frequency spectrum.
  • the compression efficiency decreases under a low bit rate condition, and the distortion of the decoded sample sequence increases with respect to the average number of bits allocated to the sample sequence.
  • An object of the present invention is to realize encoding and decoding that substantially allocates a fractional number of bits per sample.
  • the encoding apparatus includes a set of input L (L is an integer of 3 or more) integer values (hereinafter referred to as “input integer values”). Is selected from L input integer values, and M (M is an integer of 2 or more less than L) is selected as an integer value (hereinafter referred to as “selected integer value”), and the selected M selected integer values are L
  • An integer selection unit that obtains selection information of a J value (J is an integer of 2 or more) that identifies which of the input integer values is an integer, M selection integer values, and an integer corresponding to the selection information of the J value
  • An integer integration unit that obtains one integer value (hereinafter referred to as “the converted integer value”) by reversible conversion, and an integer encoding unit that encodes the converted integer value to obtain a code, including.
  • a decoding device includes an integer decoding unit that decodes a code to obtain one integer value (hereinafter referred to as “transformed integer value”), and 1 By reversible conversion from the converted integer values, M (M is an integer of 2 or more) integer values (hereinafter referred to as “selected integer values”) and J values (J is an integer of 2 or more) Selection information, and M selection integer values, the selection information of L integer values (L is an integer greater than M) (hereinafter referred to as “output integer value”) And an integer set restoration unit that obtains a set of L output integer values by setting M output integer values to be 0 and LM as the remaining LM output integer values.
  • FIG. 1 is a diagram illustrating a functional configuration of an encoding device.
  • FIG. 2 is a diagram illustrating a processing procedure of the encoding method.
  • FIG. 3 is a diagram illustrating a functional configuration of the integer conversion unit.
  • FIG. 4 is a diagram illustrating a processing procedure of the integer value (series) conversion method.
  • FIG. 5 is a diagram illustrating a functional configuration of the decoding device.
  • FIG. 6 is a diagram illustrating a processing procedure of the decoding method.
  • FIG. 7 is a diagram illustrating a functional configuration of the integer inverse transform unit.
  • FIG. 8 is a diagram illustrating a processing procedure of the inverse conversion method of the converted integer value (series).
  • the encoding apparatus 100 of 1st embodiment is provided with the integer conversion part 11 and the integer encoding part 12, as shown in FIG.
  • the encoding apparatus 100 executes the processing of step S11 and step S12 shown in FIG. 2 to realize the encoding method of the first embodiment.
  • a series of integer values is input to the encoding device 100 of the first embodiment.
  • the integer value series include, for example, a signal obtained by converting voice or music collected by a microphone into a digital signal in the time domain or frequency domain, or an image or video captured by a camera in the time domain or frequency domain.
  • a part or all of a signal obtained by converting it into a digital signal may be quantized by an existing technique to obtain a finite precision value. More specifically, for example, a time domain sound signal is converted into 3N points (N is a positive integer) MDCT coefficient sequence in a frequency domain in a frame unit of a predetermined time length, and each coefficient of the MDCT coefficient sequence is non-negative. Or a series of integer values obtained by setting each sample value to a non-negative integer value in a frame unit of a predetermined time length for a sound signal in the time domain.
  • the encoding apparatus 100 has two integers from three integer values for each set of three integer values (hereinafter also referred to as an integer set) in a series of input non-negative integer values. Select a numerical value, obtain selection information that identifies the selected item, and obtain a single integer value by reversible transformation (transformation that can be inversely transformed) for a pair of two integer values and the selection information.
  • a numerical value obtain selection information that identifies the selected item
  • the integer conversion unit 11 receives a series of integer values of 3N samples (N is a natural number).
  • a series of input integer values is an integer series x_1, x_2, ..., x_3N.
  • the integer conversion unit 11 obtains a sequence y_1, y_2,..., Y_N by N integer values from the input integer sequence x_1, x_2,..., X_3N, and outputs it to the integer encoding unit 12 (step S11).
  • the integer conversion unit 11 includes, for example, an integer set generation unit 111, an integer selection unit 112, and an integer integration unit 113, and executes the processes of step S111, step S112, and step S113 shown in FIG.
  • the integer set generation unit 111 obtains N integer sets of three integer values from the input integer series x_1, x_2,..., X_3N according to a predetermined rule, and outputs them to the integer selection unit 112 (step S111).
  • the predetermined rule for obtaining N sets of integers is a rule in which three integers in the order in the input integer series x_1, x_2,..., X_3N are set as integers, that is, x_1, x_2 and x_3, x_4, x_5, x_6,..., rules such as x_3N-2, x_3N-1, and x_3N, which are integer sets, and are stored in advance in the encoding device 100 and a decoding device 200 described later. Any rule is acceptable.
  • the integer selection unit 112 selects two integer values out of three integer values for each input integer set, and selects the first integer value and the second integer that are the two selected integer values.
  • the numerical value and selection information that is information for specifying the selected item are output to the integer integration unit 113 (step S112).
  • the integer selection unit 112 selects, for each input integer set, the one having the smallest sample number among the three integer values as the first integer value.
  • the integer selection unit 112 selects, as the second integer value, the larger one of the two integer values having the larger sample number among the three integer values.
  • the integer selection unit 112 selects 0 as the selection information when the second integer value is the larger of the two integer values of the two integer values of the three integer values. In the case where the second integer value is the smaller integer number of the two integer values having the larger sample number of the three integer values, 1 is obtained as the selection information.
  • the integer selecting unit 112 sets the equal integer value as the second integer value and obtains 0 as the selection information. .
  • 1 may be obtained as selection information.
  • the selection information may be any information as long as it is information indicating which of the two integer values having the larger sample number of the three integer values is selected. However, here, it is assumed that the selection information is obtained as 0 or 1 so as to meet the formula (1) calculated by the integer integration unit 113 described below.
  • the integer selection unit 112 selects one integer value from two integer values, and obtains binary selection information indicating which of the two integer values is the selected integer value. I am trying to work including that.
  • the integer sequence input to the integer transform unit 11 is a sequence in low frequency order by integer values obtained by making each coefficient of the MDCT coefficient sequence in the frequency domain a non-negative integer value.
  • distortion of the decoded signal due to the MDCT coefficient which is not selected by the encoding device 100 and is not encoded and consequently cannot be obtained by the decoding device 200 described later, is reduced.
  • the integer integration unit 113 obtains one integer value by reversible conversion (reversible conversion) from the input first integer value, second integer value, and selection information for each integer pair, Is output to the conversion unit 12 (step S113).
  • the integer integration unit 113 sets the input first integer value as x 1 , the input second integer value as x 2 , and the input selection information as s as one integer according to equation (1). Get the number y.
  • the integer value y is referred to as a converted integer value.
  • the selection information s is subtracted, but the selection information s may be added.
  • Formula (1) is a single post-conversion integer that can be expressed algebraically from the first integer value, the second integer value, and the integer value (0 or 1) corresponding to the selection information s.
  • the conversion performed by the integer integration unit 113 is not necessarily a conversion that can be expressed algebraically, and the first integer value, the second integer value, and 2 corresponding to the selection information s. Any conversion may be used as long as it is a method of obtaining one integer value after conversion by reversible conversion from the integer value of the value, that is, conversion that can be inversely converted.
  • the conversion performed by the integer integration unit 113 obtains a smaller converted integer value as the first integer value is smaller, as in Equation (1), and It is desirable that the smaller the second integer value, the smaller the converted integer value, and the smaller the converted integer value possible.
  • the integer integration unit 113 includes x_1, x_2, and x_3 in the integer series x_1, x_2,..., X_3N input to the integer conversion unit 11.
  • Integer value y_1 after conversion from integer pair of x
  • integer value y_2 after conversion from integer pair of x_4, x_5 and x_6, ..., after conversion from integer pair of x_3N-2, x_3N-1 and x_3N
  • An integer value y_N is obtained, and a converted integer sequence y_1, y_2, ..., y_N, which is a sequence based on the obtained converted integer value, is output.
  • the integer conversion unit 11 obtains one integer value for the set of three input integer values, and outputs the obtained one integer value as a converted integer value. Will do.
  • the integer encoding unit 12 receives the converted integer series y_1, y_2,..., Y_N output from the integer conversion unit 11.
  • the integer encoding unit 12 encodes each converted integer value included in the converted integer series y_1, y_2,..., Y_N, and obtains codes C_1, C_2,.
  • a code group based on the obtained codes is output as an integer code (step S12).
  • the method of encoding each converted integer value may be any method as long as it obtains a sign for each converted integer value included in the converted integer series y_1, y_2, ..., y_N.
  • the encoding unit 12 determines the number of bits to be assigned to each converted integer value included in the converted integer series y_1, y_2, ..., y_N, and encodes each converted integer value with the determined number of bits.
  • the code group by C_1, C_2, ..., C_N is output as an integer code. More specifically, the integer encoding unit 12 obtains a code representing each converted integer value included in the converted integer series y_1, y_2,..., Y_N in binary numbers, and determines each obtained code. Codes C_1, C_2, ..., C_N are stored in the number of bits, and a code group with codes C_1, C_2, ..., C_N is output as an integer code.
  • the decoding device 200 includes, for example, an integer decoding unit 21 and an integer inverse transform unit 22.
  • the decoding apparatus 200 executes the processing of step S21 and step S22 shown in FIG. 6, thereby realizing the decoding method of the first embodiment.
  • the integer code output from the encoding device 100 of the first embodiment is input to the decoding device 200 of the first embodiment.
  • the decoding device 200 according to the first embodiment decodes the input integer code by a decoding process corresponding to the encoding device 100 according to the first embodiment to obtain a sequence based on the integer value.
  • the integer decoding unit 21 receives N integer codes (N is a natural number) input to the decoding apparatus 200.
  • the input integer codes are C_1, C_2,..., C_N.
  • the integer decoding unit 21 decodes the input integer codes C_1, C_2,..., C_N to obtain integer values y_1, y_2,..., Y_N, respectively, and converts the obtained integer value sequence into an integer sequence y_1.
  • y_2,..., y_N are output to the integer inverse transform unit 22 (step S21).
  • the method for decoding each integer code is a decoding method corresponding to the encoding method performed by the integer encoding unit 12 of the corresponding encoding device 100.
  • the method for decoding each integer code is a method for obtaining an integer value for each code C_1, C_2,..., C_N included in the integer code, and a method for obtaining one integer value for one code. It is.
  • the integer decoding unit 21 obtains binary numbers represented by the codes C_1, C_2,..., C_N included in the integer code as the integer values y_1, y_2,.
  • the integer series y_1, y_2,..., Y_N are output to the integer inverse transform unit 22.
  • Each of the integer values y_1, y_2,..., Y_N is also called a converted integer value.
  • the converted integer sequence y_1, y_2,..., Y_N output from the integer decoding unit 21 is input to the integer inverse transform unit 22.
  • the integer inverse transform unit 22 obtains and outputs an integer sequence x_1, x_2,..., X_3N from the input converted integer sequence y_1, y_2,..., Y_N (step S22).
  • the integer inverse transform unit 22 includes, for example, an integer separation unit 221, an integer set restoration unit 222, and an integer series restoration unit 223, and executes the processes of step S 221, step S 222, and step S 223 shown in FIG. To do.
  • the integer separation unit 221 performs inverse conversion corresponding to the conversion performed by the integer integration unit 113 of the encoding device 100 of the first embodiment for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence.
  • converted by the two first integer value x 1 is an integer and the second integer value x 2, to give the selection information s, and outputs to the integer pairs restored section 222 (step S221).
  • the integer separation unit 221 uses the equation (1) as the inverse conversion of the conversion of the equation (1).
  • the first integer value x 1 , the second integer value x 2, and the selection information s are obtained from one integer value y by 2) and Equation (3).
  • the integer separation unit 221 performs, for example, the following Step A-1 to A-3-1 or Step A-1 to A-2, A-3-2 instead of the calculation of Expression (3). Also good.
  • Step A-1 Get the largest integer b that does not exceed the square root of y '.
  • Step A-2 Find the square of b (b 2 ).
  • Step A-3-1 When the difference between y ′ and the square of b is an even number, that is, when y′-b 2 is an even number, b is set to an integer value x 1 and y ′ to b A value (y′ ⁇ b 2 ) / 2 obtained by dividing the value obtained by subtracting the square by 2 is obtained as an integer value x 2 .
  • Step A-3-2 When the difference between y ′ and the square of b is an odd number, that is, when y′-b 2 is an odd number, b is set to an integer value x 2 and y ′ to b A value (y′ ⁇ b 2 ⁇ 1) / 2 obtained by dividing the value obtained by subtracting the square and 1 by 2 is obtained as an integer value x 1 .
  • the transformations according to the equations (2) and (3) are the inverse transformations of the transformation of the equation (1), and the first integer value and the first one are obtained by a reversible transformation that can be expressed algebraically from one integer value after the transformation.
  • This is a method for obtaining two integer values and an integer value (0 or 1) corresponding to the selection information, but the conversion performed by the integer separation unit 221 is not necessarily a conversion that can be expressed algebraically, and is a reversible conversion. 2 corresponding to the first integer value, the second integer value, and the selection information from one converted integer value in the inverse transform of the transform performed by the integer integration unit 113 of the encoding device 100. Any conversion may be used as long as it is a method for obtaining an integer value.
  • the integer separation unit 221 replaces equation (2) with the following equation (2 ′ ).
  • the integer set restoration unit 222 uses the first integer value input from the integer separation unit 221 for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 22. From x 1 , the second integer value x 2 and the selection information s (binary selection information), an integer set of three integer values is obtained by a process corresponding to the process performed by the integer selection unit 112 of the encoding device 100. Obtained and output to the integer sequence restoration unit 223 (step S222).
  • the integer set restoration unit 222 inputs the first integer value input for each of the converted integer values y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 22.
  • x 1 be the smallest sample number in an integer set of three integer values.
  • the integer pairs restored section 222 when selection information is 0, the sample number of the integer pairs by the second integer value x 2 three integral values entered is assumed largest, 0 If the sample number is the second largest in the integer set of three integer values and the selection information is 1, the input second integer value x 2 is the integer set of three integer values. Is the second largest sample number, and 0 is the largest sample number in the integer set of three integer values.
  • first integer value x 1 Sample number is the smallest x_1.
  • the integer set restoration unit 222 sets the input second integer value x 2 as x_3, 0 as x_2, and when the selection information is 1, the input is input. the second integer value x 2 and x_2, 0 to the X_3.
  • the operation of the integer set restoration unit 222 is performed by the integer selection unit 112 of the encoding device 100 so as to reduce the information amount of selection information by limiting the choices to two ways.
  • the operation corresponds to an operation including selecting a numerical value and obtaining binary selection information indicating which of the two integer values is the selected one integer value. Operation of obtaining two integer values from one integer value and binary selection information indicating which of the two integer values is one integer value.
  • the integer sequence restoration unit 223 includes three integers input from the integer set restoration unit 222 for the converted integer values y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 22.
  • An integer sequence x_1, x_2,..., X_3N is obtained from the integer set N set by numerical values according to the rule corresponding to the rule performed by the integer set generation unit 111 of the encoding device 100 of the first embodiment (step S223). .
  • the integer set restoration unit 222 receives the input conversion An integer pair of integer value x_1, integer value x_2, and integer value x_3 is obtained from the converted integer y_1 in the subsequent integer series y_1, ⁇ ⁇ y_2,..., y_N, and the integer value x_4 and the integer value x_5 are obtained from the converted integer y_2.
  • An integer pair is obtained by the numerical value x_6,..., An integer pair by the integer value x_3N-2, the integer value x_3N-1 and the integer value x_3N is obtained from the converted integer y_N, and the integer sequence restoration unit 223 restores the integer pair An integer sequence x_1, x_2,..., X_3N, which is a sequence of integer sets obtained by the unit 222, is obtained and output.
  • the integer selection unit 112 selects one integer value from two integer values, and the selected integer value is one of two integer values. Is obtained by selecting an integer value from three or more integer values by selecting an integer value from the three or more integer values. An operation including obtaining selection information of three or more values representing which of the integer values is three or more integer values may be performed. Similarly, the integer set restoration unit of the decoding device may select three or more integers from three or more selection information indicating one integer value or three or more integer values. An operation including obtaining a numerical value may be performed.
  • the integer selection unit has S integers for each set of S + 1 (S is an integer equal to or greater than 2) integer values in the sequence of input non-negative integer values.
  • a coding apparatus including an operation of selecting one integer value from a numerical value and obtaining S value selection information indicating which of the S integer values the selected integer value corresponds to.
  • Decoding device ie, integer set restoration unit, obtains S integer values from S value selection information indicating which one integer value and which one integer value is S integer values Will be described.
  • the first embodiment corresponds to the case where S in the second embodiment is 2.
  • the encoding apparatus 101 of 2nd embodiment is provided with the integer conversion part 13 and the integer encoding part 14 similarly to the encoding apparatus of 1st embodiment, for example.
  • the encoding apparatus 101 executes the processing of step S13 and step S14 shown in FIG. 2 to realize the encoding method of the second embodiment.
  • the operation of the integer encoding unit 14 of the encoding device 101 of the second embodiment and the processing of step S14 executed by the integer encoding unit 14 are the operation of the integer encoding unit 12 of the encoding device 100 of the first embodiment and the integer. Since this is the same as the processing of step S12 executed by the encoding unit 12, only the integer conversion unit 13 that operates differently from the first embodiment will be described here.
  • a series of integer values similar to the encoding apparatus 100 of the first embodiment is input to the encoding apparatus 101 of the second embodiment. More specifically, for example, each of the coefficients in the MDCT coefficient sequence of (S + 1) N points ((S + 1) ⁇ N points) in the frequency domain for a sound signal in the time domain in a frame unit of a predetermined time length.
  • This is a series of integer values obtained by setting non-negative integer values, or a series of integer values obtained by setting each sample value to a non-negative integer value in a time unit of a sound signal in the time domain.
  • the integer conversion unit 13 receives a series of integer values of (S + 1) N samples.
  • a series of input integer values is an integer series x_1, x_2, ..., x _ ((S + 1) N).
  • the integer conversion unit 13 obtains a sequence y_1, y_2,..., Y_N of N integer values from the input integer sequence x_1, x_2,..., X _ ((S + 1) N), and sends it to the integer encoding unit 14.
  • Output step S13
  • the integer conversion unit 13 includes, for example, an integer set generation unit 131, an integer selection unit 132, and an integer integration unit 133, and executes the processes of step S131, step S132, and step S133 shown in FIG.
  • the integer set generation unit 131 obtains N integer sets of S + 1 integer values from the input integer series x_1, x_2,..., X _ ((S + 1) N) according to a predetermined rule, and selects an integer set It outputs to 132 (step S131).
  • the predetermined rule for obtaining N sets of integers is an integer set of S + 1 integers that are consecutive in the input integer sequence x_1, x_2, ..., x _ ((S + 1) N) Rules, i.e., x_1 to x_ (S + 1), x_ (S + 2) to x _ ((S + 1) 2), ..., x _ ((S + 1) (N-1) +1 ) To x _ ((S + 1) N), and any rule that can be stored in advance in the encoding device 101 and a decoding device 201 described later, such as a rule that uses integer pairs. It may be.
  • the integer selection unit 132 selects two integer values from among the S + 1 integer values for each input integer set, and selects the first integer value that is the two selected integer values and the first integer value.
  • the two integer values and selection information that is information for identifying the selected item are output to the integer integration unit 133 (step S132).
  • the integer selection unit 132 selects, as the first integer value, the smallest sample number of S + 1 integer values for each input integer set.
  • the integer selection unit 132 selects, as the second integer value, the largest integer value among the S integer values having the larger sample number among the S + 1 integer values.
  • the integer selection unit 132 sets the second integer value to 0 when the sample number is the largest of the S integer values having the larger sample number of the S + 1 integer values. Obtained as selection information, if the second integer value is the second largest sample number of the S integer values of the S + 1 integer values, the sample number is the second largest. Obtained as information, when the second integer value is the smallest sample number of the S integer values of the S + 1 integer values with the largest sample number, the S- 1 is obtained as selection information.
  • the integer selecting unit 132 determines that the largest integer value among the plurality of S + 1 integer values having the largest sample number is included in S having the largest sample number.
  • a value representing the largest sample number among a plurality of largest integer values is obtained as selection information as the second integer value.
  • the largest of the S integer values with the larger sample number is the second largest sample number and the third largest sample number.
  • 1 representing the second largest sample number is obtained as selection information.
  • a value representing any sample number among a plurality of largest integer values may be obtained as selection information.
  • the integer selection unit 132 sets x_1 having the smallest sample number to the first integer for the integer pair of x_1, x_2, x_3, and x_4. Select as a number. Moreover, the integer selection part 132 selects the largest value among x_2, x_3, and x_4 as the second integer value. Further, the integer selection unit 132 obtains 0 as selection information when the second integer value is x_4, obtains 1 as selection information when the second integer value is x_3, and the second integer value is x_2. 2 is obtained as selection information.
  • the integer integration unit 133 obtains one integer value by reversible conversion (conversion that can be inversely converted) from the input first integer value, second integer value, and selection information for each integer set, and the integer code
  • the data is output to the conversion unit 14 (step S133).
  • the integer integration unit 133 sets the input first integer value as x 1 , the input second integer value as x 2 , and the input selection information as s as one integer according to Equation (4). Get the number y.
  • Expression (4) is expressed by a reversible transformation that can be expressed algebraically from the first integer value, the second integer value, and the integer value (any one of 0 to S-1) corresponding to the selection information s. This is a method of obtaining an integer value after conversion, but the conversion performed by the integer integration unit 133 is not necessarily a conversion that can be expressed algebraically.
  • the first integer value, the second integer value, and the selection information Any conversion may be used as long as it is a method of obtaining one converted integer value by reversible conversion, that is, conversion that can be inversely converted, from the integer value of the S value corresponding to s.
  • the conversion performed by the integer integration unit 133 obtains a smaller converted integer value as the first integer value is smaller as shown in Equation (4), and It is desirable that the conversion is such that the smaller the integer value, the smaller the converted integer value, and the smaller the converted integer value possible.
  • the integer integration unit 133 includes x_1 and x_2 in the integer series x_1, x_2,..., X_4N input to the integer conversion unit 13.
  • X_3N, x_4N-2, and x_4N A converted integer value y_N is obtained from an integer set of -1 and x_4N, and a converted integer sequence y_1, y_2, ..., y_N, which is a sequence based on the obtained converted integer value, is output.
  • the integer conversion unit 13 obtains one integer value for the set of input (S + 1) integer values, and after converting the obtained one integer value It will be output as an integer value.
  • the processing procedure of the decoding method which the decoding apparatus of 2nd embodiment performs is demonstrated. Similar to the decoding device of the first embodiment, the decoding device 201 of the second embodiment includes an integer decoding unit 23 and an integer inverse transform unit 24, for example. The decoding apparatus 201 executes the processing of step S23 and step S24 shown in FIG. 6, thereby realizing the decoding method of the second embodiment.
  • the integer code output from the encoding apparatus 101 of the second embodiment is input to the decoding apparatus 201 of the second embodiment.
  • the decoding device 201 of the second embodiment decodes the input integer code by a decoding process corresponding to the encoding device 101 of the second embodiment to obtain a sequence based on the integer value, and in the sequence based on the obtained integer value
  • the two integer values for (S + 1) in the series of integer values input to the encoding apparatus 101 of the second embodiment are correctly restored.
  • the operation of the integer decoding unit 23 of the decoding device 201 of the second embodiment and the process of step S23 executed by the integer decoding unit 23 are executed by the operation of the integer decoding unit 21 of the decoding device 200 of the first embodiment and the integer decoding unit 21. Therefore, only the integer inverse transform unit 24 that operates differently from the first embodiment will be described here.
  • the integer inverse transformation unit 24 receives the converted integer series y_1, y_2,..., Y_N output from the integer decoding unit 23.
  • the integer inverse transform unit 24 obtains and outputs an integer sequence x_1, x_2,..., X _ ((S + 1) N) from the input converted integer sequence y_1, y_2,..., Y_N (step S24).
  • the integer inverse transform unit 24 includes, for example, an integer separation unit 241, an integer set restoration unit 242, and an integer sequence restoration unit 243, and executes the processes of steps S241, S242, and S243 shown in FIG. To do.
  • the integer separation unit 241 performs inverse conversion corresponding to the conversion performed by the integer integration unit 133 of the encoding device 101 of the second embodiment for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence. by convention, the two first integer value x 1 is an integer and the second integer value x 2, to give the selection information s, and outputs to the integer pairs restored section 242 (step S241).
  • the integer separation unit 241 uses the equation (4) as the inverse conversion of the equation (4). 5) and obtain an integer value s of formula (6) and the J value corresponding to one of the first integer x 1 and the second integer value x 2 and the selection information from the integer value y by the equation (3).
  • the integer separation unit 241 performs, for example, the above-described Step -1A-1 to A-3-1 or Step-1A-1 to A-2, A-3-2 instead of the calculation of Expression (3). Also good.
  • the conversion according to Expression (5), Expression (6), and Expression (3) is the inverse conversion of the conversion of Expression (4), and is performed by a reversible conversion that can be expressed algebraically from one converted integer value.
  • the integer value s, the second integer value, and the integer value s of the S value corresponding to the selection information (any of 0 to S-1) are obtained, but the conversion performed by the integer separator 241 is not necessarily algebraic.
  • the integer separation unit 241 replaces Expression (5) and Expression (6) with (5 ') and (6') may be performed.
  • the integer set restoration unit 242 uses the first integer value input from the integer separation unit 241 for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 24. From the x 1 , the second integer value x 2 and the selection information s (the integer value s of the S value corresponding to the selection information), a process corresponding to the process performed by the integer selection unit 132 of the encoding apparatus 101 is performed as S + 1. An integer set of the integer values is obtained and output to the integer sequence restoration unit 243 (step S242).
  • the integer set restoration unit 242 inputs the first integer value input for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 24.
  • x 1 be the smallest sample number in an integer set of S + 1 integer values.
  • the sample number of the integer set by numerical value is the second largest, 0 is the remaining S-1 of the integer set of S + 1 integer values, and the selection information is S-1 If it is, the second integer value x 2 and shall sample number of the integer pairs by S + 1 integer values is the second smallest input, integer 0 by S + 1 integer values Let the remaining S-1 in the set.
  • the integer pairs restored 242 first integer value x 1 Sample number is the smallest x_1.
  • the integer set restoration unit 242 sets the input second integer value x 2 as x_4, 0 as x_2 and x_3, and when the selection information is 1, the input is input. it is defined as a second integer value x 2 and X_3 to 0 x_2 and X_4, when selection information is 2, the second integer value x 2 and x_2 input, and 0 to X_3 and X_4.
  • the integer sequence restoration unit 243 receives S + 1 pieces of input integer values y_1, y_2,..., Y_N included in the converted integer series input to the integer inverse conversion unit 24 and input from the integer set restoration unit 242. , An integer sequence x_1, x_2,..., X _ ((S + 1) N) according to a rule corresponding to the rule performed by the integer set generation unit 131 of the encoding apparatus 101 of the second embodiment. ) And output (step S243).
  • the integer set restoration unit 242 is input. From the converted integer series y_1, y_2,..., y_N, an integer pair is obtained from the integer y_1 from the integer x_1 by the integer value x_ (S + 1), and from the integer y_2 after the conversion to the integer value x_ (S + 2) to obtain an integer pair with integer value x _ ((S + 1) 2), ..., after conversion, integer y_N to integer value x _ ((S + 1) (N-1) +1) to integer value An integer set by x _ ((S + 1) N) is obtained, and the integer sequence restoration unit 243 obtains an integer sequence x_1, x_2, ..., x _ ((S + 1) Obtain and output N).
  • the integer selection unit 132 of the encoding apparatus 101 selects one integer value from S (S is an integer of 2 or more) integer values, and the selected one integer value is S.
  • the integer set restoration unit 242 of the decoding apparatus 201 includes S integer values that are S integers. An embodiment has been described in which an operation for obtaining S integer values from S value selection information that represents an integer value is included.
  • the integer selection unit of the encoding device selects M (M is an integer of 2 or more) integer values from L (L is an integer of 3 or more) integer values, and selects the selected M pieces.
  • the encoding apparatus 102 of 3rd embodiment is provided with the integer conversion part 15 and the integer encoding part 16, for example similarly to the encoding apparatus of 2nd embodiment.
  • the encoding apparatus 102 executes the processing of step S15 and step S16 shown in FIG. 2, thereby realizing the encoding method of the third embodiment.
  • the operation of the integer encoding unit 16 of the encoding device 102 of the third embodiment and the process of step S16 executed by the integer encoding unit 16 are the same as the operation of the integer encoding unit 14 of the encoding device 101 of the second embodiment and Since the processing is the same as the processing of step S14 executed by the integer encoding unit 14, only the integer converting unit 15 having an operation different from that of the second embodiment will be described here.
  • the time domain sound signal is obtained by setting each coefficient of the MDCT coefficient sequence at the LN point (L ⁇ N point) in the frequency domain in a frame unit of a predetermined time length as a non-negative integer value. It is a series of numerical values, or a series of integer values obtained by setting each sample value to a non-negative integer value in a frame unit of a predetermined time length for a sound signal in a time domain.
  • the integer conversion unit 15 receives a series of integer values for each LN sample.
  • a series of input integer values is an integer series x_1, x_2, ..., x_LN.
  • the integer conversion unit 15 obtains a sequence y_1, y_2,..., Y_N by N integer values from the input integer sequence x_1, x_2,..., X_LN, and outputs it to the integer encoding unit 16 (step S15).
  • the integer conversion unit 15 includes, for example, an integer set generation unit 151, an integer selection unit 152, and an integer integration unit 153, and executes the processes of step S151, step S152, and step S153 shown in FIG.
  • the integer set generation unit 151 obtains N integer sets of M integer values from the input integer series x_1, x_2,..., X_LN according to a predetermined rule, and outputs them to the integer selection unit 152 (step S151).
  • the predetermined rule for obtaining N sets of integers is a rule in which L integers having consecutive orders in the input integer series x_1, x_2, ..., x_LN are set as integers, that is, from x_1 to x_L, x_ From (L + 1) to x_2L,..., X_ (L (N-1) +1) to x_LN, each of which is an integer set, and the like. Any rule may be used as long as it can be stored in advance in 202.
  • the integer selection unit 152 selects M integer values from among the L integer values for each input integer set, and selects the M integers from the first integer value that is the selected M integer values. Up to a numerical value and J value selection information that specifies which M integer values are L integer values are output to the integer integration unit 153 (step S152).
  • the selection information becomes any integer value between 0 and J-1, but the value of the selection information is adjusted between 0 and J-1. It is not essential to use a numerical value, and the integer selection unit 152 may obtain selection information that is any one of predetermined J consecutive integer values.
  • the selection information may be an integer value of 1 or more and J or less, or may be an integer value of 2 or more and J + 1 or less.
  • the selection information obtained by the integer selection unit 152 is any one of the predetermined J consecutive integer values.
  • the conversion of the equation (7) performed by the integer integration unit 153 described later is a reversible conversion. This is because.
  • the selection information obtained by the integer selection unit 152 be any one of predetermined J consecutive integer values.
  • the information may be information on a J value that specifies which M integer values are L integer values.
  • the binary selection information is obtained, and the integer selection unit 152 performs the same operation as the integer selection unit 132 of the second embodiment for the remaining S 2 +1 integer values of the L integer values.
  • the integer selection unit 152 may perform an operation combining the first example and the third example described above or an operation combining the second example and the third example described above. In short, the integer selection unit 152 selects M integer values from among the L integer values for each input integer set, and starts from the first integer value that is the selected M integer values. If the operation of outputting up to M integer values and selection information of J values that specify which M integer values are L integer values to the integer integration unit 153, what operation is performed May be.
  • the integer integration unit 153 reversibly transforms each integer set from the input M integer values from the first integer value to the Mth integer value and the J value selection information (conversion that can be inversely transformed). ) To obtain one integer value and output it to the integer encoding unit 12 (step S153).
  • the integer integration unit 153 sets x 1 , x 2 ,..., X M as the input from the first integer value to the Mth integer value, and sets the input information of the J value as 0 to J.
  • an integer value s up to ⁇ 1 one integer value y is obtained by Equation (7).
  • f M '(x 1, x 2, ..., x M') is, 'series by the number of variables (series) x 1, x 2, ... , x M' M as input, output one variable Is a recursive function with M 'variables x 1 , x 2 ,..., x M' , the maximum value is x max , the maximum number of variables is K, and the maximum number of K variables is M'-K variables with the numbers in each variable series m 1 , m 2 ,..., m K , and the variable series x 1 , x 2 ,..., x M ' excluding the variable that takes the maximum value
  • f 0 is 0, and M ′ C K is the number of combinations for selecting K from M ′, Equation (8) It is a function represented by
  • Equation (7) is obtained by a reversible transformation that can be expressed algebraically from M integer values from the first integer value to the Mth integer value and the integer value corresponding to the selection information of the J value.
  • the conversion performed by the integer integration unit 153 is not necessarily a conversion that can be expressed algebraically, and the first integer is obtained by reversible conversion, that is, conversion that can be inversely converted. Any conversion may be used as long as one converted integer value is obtained from the M integer values from the numerical value to the Mth integer value and the integer value corresponding to the selection information of the J value. .
  • the conversion performed by the integer integration unit 153 is a smaller conversion as each integer value from the first integer value to the Mth integer value is smaller as in Expression (7). It is desirable that the conversion is to obtain a later integer value and obtain an integer value after conversion as small as possible.
  • the decoding device 202 of the third embodiment includes an integer decoding unit 25 and an integer inverse transformation unit 26, for example.
  • the decoding apparatus 202 executes the processing of step S25 and step S26 shown in FIG. 6, thereby realizing the decoding method of the third embodiment.
  • the integer code output from the encoding device 102 of the third embodiment is input to the decoding device 202 of the third embodiment.
  • the decoding device 202 according to the third embodiment decodes the input integer code by a decoding process corresponding to the encoding device 102 according to the third embodiment to obtain a sequence based on the integer value.
  • M integer values out of L integer values input to the encoding device 102 by inverse conversion corresponding to the conversion performed by the encoding device 102 of the third embodiment for each integer value By obtaining M integer values out of L integer values input to the encoding device 102 by inverse conversion corresponding to the conversion performed by the encoding device 102 of the third embodiment for each integer value, The M integer values for L in the series of integer values input to the encoding device 102 of the third embodiment are correctly restored.
  • the operation of the integer decoding unit 25 of the decoding device 202 of the third embodiment and the process of step S25 executed by the integer decoding unit 25 are the same as the operation of the integer decoding unit 23 of the decoding device 201 of the second embodiment and the integer decoding unit 23. Since it is the same as the process of step S23 to be executed, only the integer inverse transform unit 26 having an operation different from that of the second embodiment will be described here.
  • the integer inverse transformation unit 26 receives the converted integer series y_1, y_2,..., Y_N output from the integer decoding unit 25.
  • the integer inverse transform unit 26 obtains and outputs the integer sequences x_1, x_2,..., X_LN from the input converted integer sequences y_1, y_2,..., Y_N (step S26).
  • the integer inverse transform unit 26 includes, for example, an integer separation unit 261, an integer set restoration unit 262, and an integer sequence restoration unit 263, and executes the processes of step S 261, step S 262, and step S 263 shown in FIG. To do.
  • the integer separation unit 261 performs inverse conversion corresponding to the conversion performed by the integer integration unit 153 of the encoding device 102 of the third embodiment for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence. the conversion, and M integer value from the first integral value x 1 to the M integer value x M, to obtain the selection information s, and outputs to the integer pairs restored section 262 (step S261).
  • the integer separation unit 261 uses the equation (7) as the inverse conversion of the equation (7). 9) and equation (10) from single integer y by equation (11), and M an integer value from the first integral value x 1 to the M integer value x M, J value corresponding to the selection information To obtain an integer value s.
  • f M ' -1 (y') is a recursive function with one variable as input and M 'variables as output, and the maximum M'th square root that does not exceed y
  • a variable sequence consisting of M′-K variables obtained by the following equation: ⁇ x 1 , ⁇ x 2 ,..., ⁇ x M′-K ,
  • M ′ integer values x 1 , x 2 ,..., X M ′ are obtained and output.
  • F 0 -1 (y ') means a function that outputs nothing.
  • the conversion according to Expression (9), Expression (10), and Expression (11) is an inverse conversion of the conversion of Expression (7), and is a reversible conversion that can be expressed algebraically from one converted integer value.
  • This is a method for obtaining M integer values from the first integer value to the Mth integer value and an integer value of J value (any one of 0 to J-1) corresponding to the selection information.
  • the conversion performed by H.261 is not necessarily a conversion that can be expressed algebraically, is a reversible conversion, and is an inverse conversion of the conversion performed by the integer integration unit 153 of the encoding device 102.
  • any conversion may be used as long as it is a method for obtaining M integer values from the first to the Mth integer value and the integer value of the J value corresponding to the selection information.
  • the integer separation unit 261 replaces Equation (9) and Equation (10) with (9 ′) and (10 ′) may be performed.
  • the integer integration unit 153 of the encoding device 102 does not use any integer value from 0 to J ⁇ 1 in the expression (7) as the selection information s, but instead of the selection information of the input J value.
  • the integer separation unit 261 represents the equation (9). Instead, the following equation (9 ′′) may be performed.
  • the integer separation unit 261 performs reversible conversion on one integer value y obtained by the integer integration unit 153 of the encoding device 102 for M integer values from the first integer value to the Mth integer value.
  • One integer value as a value obtained by subtracting or adding an integer value corresponding to selection information from among predetermined J consecutive integer values to a value obtained by multiplying one obtained integer value by J It is only necessary to obtain M integer values from the first integer value to the Mth integer value and an integer value corresponding to the selection information from y.
  • the integer set restoration unit 262 outputs the first integer value input from the integer separation unit 261 for each converted integer value y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 26.
  • the integer selection unit 152 of the encoding device 102 from the M integer values from the Mth to the Mth integer value and the selection information s (the integer value s of the J value corresponding to the selection information).
  • an integer set of L integer values is obtained and output to the integer sequence restoration unit 263 (step S262).
  • the same operation as the integer set restoration unit 242 of the second embodiment is performed.
  • the integer set restoration unit 262 may perform an operation corresponding to the operation of the integer selection unit 152.
  • the same operation as the integer set restoration unit 242 of the second embodiment is performed from two integer values of the input four integer values and the binary first selection information, and S 1 +1 An integer value is obtained, and the same operation as the integer set restoration unit 242 of the second embodiment is performed from the remaining two integer values of the input four integer values and the binary second selection information.
  • the integer set restoration unit 262 sets the input M integer values as M integer values specified by the selection information among the L integer values of the integer set, for example, a predetermined rule such as 0 Is set to the remaining LM integer values of the L integer values of the integer set, thereby obtaining an integer set of L integer values.
  • the integer set restoration unit 262 may perform an operation combining the first example and the third example described above or an operation combining the second example and the third example described above. .
  • the integer set restoration unit 262 is based on the input M integer values from the first integer value to the Mth integer value and the selection information s (the integer value s of the J value corresponding to the selection information). If the operation corresponding to the processing performed by the integer selection unit 152 of the encoding apparatus 102 obtains an integer set of L integer values and outputs it to the integer sequence restoration unit 263, what kind of operation is performed. May be.
  • the integer sequence restoration unit 263 includes L integers input from the integer set restoration unit 262 for the converted integer values y_1, y_2,..., Y_N included in the converted integer sequence input to the integer inverse conversion unit 26.
  • An integer sequence x_1, x_2,..., X_LN is obtained from the integer set N by numerical values according to the rule corresponding to the rule performed by the integer set generation unit 151 of the encoding device 102 of the third embodiment (step S263). .
  • the integer set restoration unit 262 receives the input conversion Obtains an integer pair of integer values x_1 to x_L from the converted integer y_1 in the subsequent integer series y_1, y_2,..., y_N, and from the converted integer y_2 to the integer value x_ (L + 1) to the integer value x_2L An integer set is obtained,..., An integer set from an integer y_N to an integer value x_ (L (N-1) +1) to an integer value x_LN is obtained, and the integer sequence restoration unit 263 restores the integer set An integer sequence x_1, x_2,..., X_LN which is a sequence of integer sets obtained by the unit 262 is obtained and output.
  • 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, for example, 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. When executing the process, this computer reads the program stored in its own storage device and executes the process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
  • ASP Application Service Provider
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical 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サンプルあたりに小数値のビット数を実質的に割り当て、符号化及び復号する。整数変換部11は、L個の入力整数値による組について、L個の入力整数値からM個の選択整数値を選択し、M個の選択整数値がL個の入力整数値の何れであるかを特定するJ値の選択情報を得る。また、整数変換部11は、M個の選択整数値とJ値の選択情報に対応する整数値とについて、可逆な変換により1個の変換後整数値を得る。整数符号化部12は、変換後整数値を符号化して符号を得る。

Description

符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
 この発明は音声や音響の時系列ディジタル信号のサンプル系列などの整数値から成るサンプル系列を符号化、復号する技術に関する。
 圧縮を目的としてサンプル系列を符号化する技術として、サンプル値を量子化することにより得た有限精度の値(以下、これを整数値と呼ぶ)を可逆符号化することにより、サンプル系列の記述に用いるビット長を削減する技術がある。この技術においては、どの整数値に対してどの長さの符号を割り当てるかが圧縮の性能に直結する。この事実は、画像信号のサンプル列を符号化復号する画像符号化や、音響信号のサンプル列を符号化復号する音響符号化などの、サンプル系列の符号化復号の工学的応用先においても例外ではない。また、可逆符号化はサンプル系列の量子化と組み合わせることで、よりビット長を削減できる非可逆符号化にも応用することができる。
 一般的に可変長の可逆符号化においては、復号可能性の制約により、整数値に割り当てる符号の構成に制約がある。具体的には、ある整数値に対して短い符号を割り当てるとすると、復号可能な符号にするには、他の整数値に対して長い符号を割り当てなければならない、という制約である。従って、圧縮性能を高くするためには、符号の構成(各整数値への符号の割り当て)は整数値の系列中の値の分布に適したものとする必要がある。具体的には、出現確率が高い整数値に対しては短い符号を割り当て、出現確率が低い整数値に対しては長い符号を割り当てることで、整数値の系列の圧縮後のビット長の期待値を小さくすることができる。
 サンプル系列を符号化する技術としては、非特許文献1に記載された技術がある。非特許文献1に記載された技術は、音声音響信号の周波数スペクトル系列であるサンプル系列に含まれる各サンプルに割り当てるビット数による系列を得て、ビット数による系列に含まれる各ビット数の符号が得られるように、量子化されたサンプル系列の各サンプルを可逆符号化する技術である。非特許文献1に記載された技術は、音声音響信号の周波数スペクトル系列には振幅値が小さいサンプルがより多く含まれるという統計的な分布を想定して、音声音響信号の周波数スペクトル系列における包絡などを参考に、包絡値などが小さいサンプルほどビット数が少なくなるようなビット数による系列を得て、得られたビット数で音声音響信号の周波数スペクトル系列の各サンプルを符号化するものである。
R. Zelinski and P. Noll, "Adaptive transform coding of speech signals," in IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 25, no. 4, pp. 299-309, Aug 1977.
 非特許文献1に記載された技術では、ビットレートの高い条件下においては歪みを小さく抑えて圧縮することができるが、周波数スペクトル1サンプルあたりに1以上の整数値のビット数しか割り当てられないため、ビットレートの低い条件下では圧縮の効率が低下し、サンプル系列に割り当てられる平均ビット数に対する復号サンプル系列の歪みが大きくなってしまうという課題がある。
 本発明は、1サンプルあたりに小数値のビット数を実質的に割り当てる符号化及び復号を実現することを目的とする。
 上記の課題を解決するために、この発明の第一の態様の符号化装置は、入力されたL個(Lは3以上の整数)の整数値(以下、「入力整数値」という)による組について、L個の入力整数値からM個(Mは、L未満の2以上の整数)の整数値(以下、「選択整数値」という)を選択し、選択したM個の選択整数値がL個の入力整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る整数選択部と、M個の選択整数値と、J値の選択情報に対応する整数値と、について、可逆な変換により、1個の整数値(以下、「変換後整数値」という)を得る整数統合部と、変換後整数値を符号化して符号を得る整数符号化部と、を含む。
 上記の課題を解決するために、この発明の第二の態様の復号装置は、符号を復号して1個の整数値(以下、「変換後整数値」という)を得る整数復号部と、1個の変換後整数値から、可逆な変換により、M個(Mは、2以上の整数)の整数値(以下、「選択整数値」という)と、J値(Jは、2以上の整数)の選択情報と、を得る整数分離部と、M個の選択整数値を、L個(LはMより大きい整数)の整数値(以下、「出力整数値」という)のうちの選択情報が特定するM個の出力整数値とし、0をL-M個の残りの出力整数値とすることで、L個の出力整数値による組を得る整数組復元部と、を含む。
 この発明によれば、1サンプルあたりに小数値のビット数を実質的に割り当てる符号化及び復号を実現することができる。
図1は、符号化装置の機能構成を例示する図である。 図2は、符号化方法の処理手続きを例示する図である。 図3は、整数変換部の機能構成を例示する図である。 図4は、整数値(系列)の変換方法の処理手続きを例示する図である。 図5は、復号装置の機能構成を例示する図である。 図6は、復号方法の処理手続きを例示する図である。 図7は、整数逆変換部の機能構成を例示する図である。 図8は、変換後整数値(系列)の逆変換方法の処理手続きを例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 文中で使用する記号「~」は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。
 <第一実施形態>
 ≪符号化装置≫
 図1および図2を参照して、第一実施形態の符号化装置が実行する符号化方法の処理手続きを説明する。第一実施形態の符号化装置100は、図1に示すように、整数変換部11および整数符号化部12を例えば備える。この符号化装置100が図2に示すステップS11およびステップS12の処理を実行することにより、第一実施形態の符号化方法が実現される。
 第一実施形態の符号化装置100には、整数値による系列が入力される。この整数値による系列としては、例えば、マイクロホンで収音した音声や音楽などを時間領域もしくは周波数領域のディジタル信号に変換して得た信号やカメラで撮像した画像や映像を時間領域もしくは周波数領域のディジタル信号に変換して得た信号などの一部あるいは全部を既存の技術により量子化し、有限精度の値にして得たものを入力してもよい。より具体的には、例えば、時間領域の音信号を所定の時間長のフレーム単位で周波数領域の3N点(Nは正の整数)のMDCT係数列に変換し、MDCT係数列の各係数を非負の整数値にして得た整数値による系列や、時間領域の音信号を所定の時間長のフレーム単位で各サンプル値を非負の整数値にして得た整数値による系列である。
 第一実施形態の符号化装置100は、入力された非負の整数値による系列中の3個の整数値による組(以下、整数組とも呼ぶ)それぞれについて、3個の整数値から2個の整数値を選択し、選択したものを特定する選択情報を得て、2個の整数値と選択情報による組について可逆な変換(逆変換可能な変換)により1個の整数値を得て、得た整数値による系列に含まれる各整数値を1ビット以上の整数ビット数で符号化することで、符号化装置100に入力された非負の整数値それぞれ1サンプルあたりに小数値のビット数を実質的に割り当てる符号化処理を実現するものである。
 [整数変換部11]
 整数変換部11には、符号化装置100に入力された整数値による系列のうちの、3Nサンプル(Nは自然数)ずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1, x_2, …, x_3Nとする。整数変換部11は、入力された整数系列x_1, x_2, …, x_3NからN個の整数値による系列y_1, y_2, …, y_Nを得て整数符号化部12に出力する(ステップS11)。整数変換部11は、図3に示すように、整数組生成部111および整数選択部112および整数統合部113を例えば備え、図4に示すステップS111およびステップS112およびステップS113の処理を実行する。
 [[整数組生成部111]]
 整数組生成部111は、入力された整数系列x_1, x_2, …, x_3Nから所定の規則に従って3個の整数値による整数組をN組得て整数選択部112に出力する(ステップS111)。N組の整数組を得る所定の規則は、入力された整数系列x_1, x_2, …, x_3N内の順番が連続する3個の整数値を整数組とする規則、すなわち、x_1とx_2とx_3、x_4とx_5とx_6、・・・、x_3N-2とx_3N-1とx_3Nをそれぞれ整数組とする規則などの、予め定めて符号化装置100と後述する復号装置200に予め記憶しておける規則であればどのような規則であってもよい。
 [[整数選択部112]]
 整数選択部112は、入力されたそれぞれの整数組について、3個の整数値のうちの2個の整数値を選択して、選択した2個の整数値である第1整数値と第2整数値と、選択したものを特定する情報である選択情報と、を整数統合部113に出力する(ステップS112)。
 具体的には、整数選択部112は、入力されたそれぞれの整数組について、3個の整数値のうちのサンプル番号が一番小さいものを第1整数値として選択する。また、整数選択部112は、3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうち値が大きいほうを第2整数値として選択する。さらに、整数選択部112は、第2整数値が3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうちのサンプル番号が大きいほうである場合には0を選択情報として得、第2整数値が3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうちのサンプル番号が小さいほうである場合には1を選択情報として得る。なお、整数選択部112は、3個の整数値のうちのサンプル番号が大きいほうの2個の整数値が等しい場合には、その等しい整数値を第2整数値とし、0を選択情報として得る。この場合には、1を選択情報として得てもよい。なお、選択情報は3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうちのいずれの整数値を選択したかを示す情報であればどのようなものであってもよいが、ここでは、以降で説明する整数統合部113が計算する式(1)に合うように選択情報を0または1として得るものとした。
 例えば、x_1とx_2とx_3の整数組であれば、整数選択部112は、サンプル番号が一番小さいx_1を第1整数値として選択する。また、整数選択部112は、x_2とx_3のうち値が大きいほうを第2整数値として選択する。さらに、整数選択部112は、第2整数値がx_3である場合には0を選択情報として得、第2整数値がx_2である場合には1を選択情報として得る。なお、整数選択部112は、x_2とx_3が等しい場合には、その等しい整数値x_2=x_3を第2整数値とし、0を選択情報として得る。
 3個の整数値による整数組から2個の整数値を自由に選択すると、選択肢は3通りになる。しかし、上述した方法では、3個の整数値から1個の整数値は予め定めた規則により選択し、残りの2個の整数値から1個の整数値を選択する構成を採用することにより、選択肢を2通りに限定し、選択情報の情報量を少なくしている。すなわち、整数選択部112が、2個の整数値から1個の整数値を選択し、選択した1個の整数値が2個の整数値の何れであるかを表す2値の選択情報を得ることを含む動作をするようにしている。
 またこの構成によれば、例えば、整数変換部11に入力された整数系列が、周波数領域のMDCT係数列の各係数を非負の整数値にして得た整数値による低周波数順の系列である場合には、整数組のうち値が大きい可能性が一番高い最も低い周波数の整数値は必ず選択し、周波数が高いほうの2個の整数値のうちの値が大きいほうを選択することになる。これにより符号化装置100で選択されずに符号化されず、結果的には後述する復号装置200で復号値を得られないMDCT係数による復号信号の歪みを小さく抑えることが期待できる。
 [[整数統合部113]]
 整数統合部113は、それぞれの整数組について、入力された第1整数値と第2整数値と選択情報から可逆な変換(逆変換可能な変換)により1個の整数値を得て、整数符号化部12に出力する(ステップS113)。
 例えば、整数統合部113は、入力された第1整数値をx1とし、入力された第2整数値をx2とし、入力された選択情報をsとして、式(1)によって1個の整数値yを得る。以下では、整数値yを変換後整数値と呼ぶ。
Figure JPOXMLDOC01-appb-M000001
 式(1)では選択情報sを減算しているが、選択情報sを加算するようにしてもよい。式(1)は、第1整数値と、第2整数値と、選択情報sに対応する整数値(0または1)と、から代数的に表現可能な可逆な変換により1個の変換後整数値を得る方法であるが、整数統合部113が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、第1整数値と、第2整数値と、選択情報sに対応する2値の整数値と、から可逆な変換、すなわち逆変換可能な変換、により1個の変換後整数値を得る方法であればどのような変換であってもよい。ただし、後述する整数符号化部12の符号化処理を考慮すると、整数統合部113が行う変換は、式(1)のように、第1整数値が小さいほど小さな変換後整数値を得、かつ、第2整数値が小さいほど小さな変換後整数値を得、かつ、なるべく小さな変換後整数値を得る変換であることが望ましい。
 順番が連続する3個の整数値を整数組とする規則であれば、整数統合部113は、整数変換部11に入力された整数系列x_1, x_2, …, x_3Nのうちのx_1とx_2とx_3の整数組から変換後整数値y_1を得て、x_4とx_5とx_6の整数組から変換後整数値y_2を得て、・・・、x_3N-2とx_3N-1とx_3Nの整数組から変換後整数値y_Nを得て、得た変換後整数値による系列である変換後整数系列y_1, y_2, …, y_Nを出力する。
 なお、N=1の場合には、整数変換部11は、入力された3個の整数値による組について1個の整数値を得て、得た1個の整数値を変換後整数値として出力することになる。
 [整数符号化部12]
 整数符号化部12には、整数変換部11が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数符号化部12は、変換後整数系列y_1, y_2, …, y_Nに含まれる各変換後整数値を符号化して、各変換後整数値に対する符号C_1, C_2, …, C_Nをそれぞれ得て、得た符号による符号群を整数符号として出力する(ステップS12)。
 各変換後整数値を符号化する方法は、変換後整数系列y_1, y_2, …, y_Nに含まれる変換後整数値それぞれについて符号を得る方法であればどのような方法でもよいが、例えば、整数符号化部12は、変換後整数系列y_1, y_2, …, y_Nに含まれる各変換後整数値に割り当てるビット数を決定し、決定したビット数で各変換後整数値を符号化して得た符号C_1, C_2, …, C_Nによる符号群を整数符号として出力する。より具体的には、整数符号化部12は、変換後整数系列y_1, y_2, …, y_Nに含まれる各変換後整数値を二進数で表した符号を得て、得た各符号を決定したビット数に収めて符号C_1, C_2, …, C_Nとし、符号C_1, C_2, …, C_Nによる符号群を整数符号として出力する。
 ≪復号装置≫
 図5および図6を参照して、第一実施形態の復号装置が実行する復号方法の処理手続きを説明する。第一実施形態の復号装置200は、図5に示すように、整数復号部21および整数逆変換部22を例えば備える。この復号装置200が図6に示すステップS21およびステップS22の処理を実行することにより、第一実施形態の復号方法が実現される。
 第一実施形態の復号装置200には、第一実施形態の符号化装置100が出力した整数符号が入力される。第一実施形態の復号装置200は、入力された整数符号を第一実施形態の符号化装置100に対応する復号処理で復号して整数値による系列を得て、得た整数値による系列中の整数値それぞれについて第一実施形態の符号化装置100が行った変換に対応する逆変換により符号化装置100に入力された3個の整数値のうちの2個の整数値を得ることで、第一実施形態の符号化装置100に入力された整数値による系列のうちの3分の2個の整数値を正しく復元するものである。
 [整数復号部21]
 整数復号部21には、復号装置200に入力された整数符号がN個(Nは自然数)ずつ入力される。ここで、入力された整数符号をC_1, C_2, …, C_Nとする。整数復号部21は、入力された各整数符号C_1, C_2, …, C_Nを復号して、整数値y_1, y_2, …, y_Nそれぞれを得て、得た整数値による系列を変換後整数系列y_1, y_2, …, y_Nとして整数逆変換部22に出力する(ステップS21)。各整数符号を復号する方法は、対応する符号化装置100の整数符号化部12が行った符号化方法に対応する復号方法である。すなわち、各整数符号を復号する方法は、整数符号に含まれる各符号C_1, C_2, …, C_Nそれぞれについて整数値を得る方法であり、1個の符号に対して1個の整数値を得る方法である。例えば、整数復号部21は、整数符号に含まれる各符号C_1, C_2, …, C_Nが表す二進数を各整数値y_1, y_2, …, y_Nとして得て、得た整数値による系列を変換後整数系列y_1, y_2, …, y_Nとして整数逆変換部22に出力する。整数値y_1, y_2, …, y_Nそれぞれのことを変換後整数値とも呼ぶ。
 [整数逆変換部22]
 整数逆変換部22には、整数復号部21が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数逆変換部22は、入力された変換後整数系列y_1, y_2, …, y_Nから整数系列x_1, x_2, …, x_3Nを得て出力する(ステップS22)。整数逆変換部22は、図7に示すように、整数分離部221および整数組復元部222および整数系列復元部223を例えば備え、図8に示すステップS221およびステップS222およびステップS223の処理を実行する。
 [[整数分離部221]]
 整数分離部221は、変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、第一実施形態の符号化装置100の整数統合部113が行った変換に対応する逆変換により、2個の整数値である第1整数値x1と第2整数値x2と、選択情報sと、を得て、整数組復元部222に出力する(ステップS221)。
 例えば、第一実施形態の符号化装置100の整数統合部113が式(1)の変換を行った場合には、整数分離部221は、式(1)の変換の逆の変換として、式(2)と式(3)によって1個の整数値yから第1整数値x1と第2整数値x2と選択情報sを得る。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 ここで、式(3)の
Figure JPOXMLDOC01-appb-M000004
は、y'の平方根の床関数、すなわち、y'の平方根を超えない最も大きい整数である。
 整数分離部221は、式(3)の演算に代えて、例えば、下記のStep A-1~A-3-1またはStep A-1~A-2, A-3-2の手順を行ってもよい。
 Step A-1:y'の平方根を超えない最も大きい整数bを得る。
 Step A-2:bの二乗(b2)を求める。
 Step A-3-1:y'とbの二乗との差が偶数である場合、すなわち、y'-b2が偶数である場合には、bを整数値x1とし、y'からbの二乗を減算して得た値を2で割って得た値(y'-b2)/2を整数値x2として得る。
 Step A-3-2:y'とbの二乗との差が奇数である場合、すなわち、y'-b2が奇数である場合には、bを整数値x2とし、y'からbの二乗と1を減算して得た値を2で割って得た値(y'-b2-1)/2を整数値x1として得る。
 式(2)と式(3)による変換は、式(1)の変換の逆変換であって、1個の変換後整数値から代数的に表現可能な可逆な変換により第1整数値と第2整数値と選択情報に対応する整数値(0または1)とを得る方法であるが、整数分離部221が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換であり、かつ、符号化装置100の整数統合部113が行った変換の逆変換で、1個の変換後整数値から、第1整数値と、第2整数値と、選択情報に対応する2値の整数値と、を得る方法であればどのような変換であってもよい。なお、符号化装置100の整数統合部113が式(1)の選択情報sの減算に代えて加算をした場合には、整数分離部221は式(2)に代えて以下の式(2’)を行えばよい。
Figure JPOXMLDOC01-appb-M000005
 [[整数組復元部222]]
 整数組復元部222は、整数逆変換部22に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、整数分離部221から入力された第1整数値x1と第2整数値x2と選択情報s(2値の選択情報)から、符号化装置100の整数選択部112が行った処理に対応する処理によって、3個の整数値による整数組を得て、整数系列復元部223に出力する(ステップS222)。
 具体的には、整数組復元部222は、整数逆変換部22に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、入力された第1整数値x1を3個の整数値による整数組のうちのサンプル番号が一番小さいものとする。また、整数組復元部222は、選択情報が0である場合には、入力された第2整数値x2を3個の整数値による整数組のうちのサンプル番号が一番大きいものとし、0を3個の整数値による整数組のうちのサンプル番号が2番目に大きいものとし、選択情報が1である場合には、入力された第2整数値x2を3個の整数値による整数組のうちのサンプル番号が2番目に大きいものとし、0を3個の整数値による整数組のうちのサンプル番号が一番大きいものとする。
 例えば、y_1からx_1とx_2とx_3の整数組を得るのであれば、整数組復元部222は、第1整数値x1をサンプル番号が一番小さいx_1とする。また、整数組復元部222は、選択情報が0である場合には、入力された第2整数値x2をx_3とし、0をx_2とし、選択情報が1である場合には、入力された第2整数値x2をx_2とし、0をx_3とする。
 この整数組復元部222の動作は、選択肢を2通りに限定して選択情報の情報量を少なくするために、符号化装置100の整数選択部112が、2個の整数値から1個の整数値を選択し、選択した1個の整数値が2個の整数値の何れであるかを表す2値の選択情報を得ることを含む動作をするようにしていることに対応する動作であることから、1個の整数値と、その1個の整数値が2個の整数値の何れであるかを表す2値の選択情報と、から2個の整数値を得る動作を含む。
 [[整数系列復元部223]]
 整数系列復元部223は、整数逆変換部22に入力された変換後整数系列に含まれる変換後整数値y_1, y_2, …, y_Nについての、整数組復元部222から入力された3個の整数値による整数組N組から、第一実施形態の符号化装置100の整数組生成部111が行った規則に対応する規則に従って整数系列x_1, x_2, …, x_3Nを得て出力する(ステップS223)。
 第一実施形態の符号化装置100の整数組生成部111が行った規則が順番が連続する3個の整数値を整数組とする規則であれば、整数組復元部222は、入力された変換後整数系列y_1, y_2, …, y_Nのうちの変換後整数y_1から整数値x_1と整数値x_2と整数値x_3による整数組を得て、変換後整数y_2から整数値x_4と整数値x_5と整数値x_6による整数組を得て、・・・、変換後整数y_Nから整数値x_3N-2と整数値x_3N-1と整数値x_3Nによる整数組を得て、整数系列復元部223は、整数組復元部222が得た整数組による系列である整数系列x_1, x_2, …, x_3Nを得て出力する。
 <第二実施形態>
 第一実施形態の符号化装置100は、整数選択部112が、2個の整数値から1個の整数値を選択し、選択した1個の整数値が2個の整数値の何れであるかを表す2値の選択情報を得ることを含む動作をするものであったが、符号化装置の整数選択部が、3個以上の整数値から1個の整数値を選択し、選択した1個の整数値が3個以上の整数値の何れであるかを表す3値以上の選択情報を得ることを含む動作をするようにしてもよい。同様に、復号装置の整数組復元部が、1個の整数値とその1個の整数値が3個以上の整数値の何れであるかを表す3値以上の選択情報から3個以上の整数値を得ることを含む動作をするようにしてもよい。
 第二実施形態ではこの一形態として、入力された非負の整数値による系列中のS+1個(Sは2以上の整数)の整数値による組それぞれについて、整数選択部が、S個の整数値から1個の整数値を選択し、選択した1個の整数値がS個の整数値の何れであるかを表すS値の選択情報を得る動作を含む符号化装置と、これに対応する復号装置、すなわち、整数組復元部が、1個の整数値とその1個の整数値がS個の整数値の何れであるかを表すS値の選択情報からS個の整数値を得る動作を含む復号装置と、について説明する。なお、第一実施形態は第二実施形態のSが2である場合に相当する。
 ≪符号化装置≫
 図1および図2を参照して、第二実施形態の符号化装置が実行する符号化方法の処理手続きを説明する。第二実施形態の符号化装置101は、第一実施形態の符号化装置と同様に、整数変換部13および整数符号化部14を例えば備える。この符号化装置101が図2に示すステップS13およびステップS14の処理を実行することにより、第二実施形態の符号化方法が実現される。第二実施形態の符号化装置101の整数符号化部14の動作および整数符号化部14が実行するステップS14の処理は第一実施形態の符号化装置100の整数符号化部12の動作および整数符号化部12が実行するステップS12の処理と同じであるため、ここでは、第一実施形態とは動作が異なる整数変換部13についてのみ説明する。
 第二実施形態の符号化装置101には、第一実施形態の符号化装置100と同様の整数値による系列が入力される。より具体的には、例えば、時間領域の音信号を所定の時間長のフレーム単位で周波数領域の(S+1)N点((S+1)×N点)のMDCT係数列の各係数を非負の整数値にして得た整数値による系列や、時間領域の音信号を所定の時間長のフレーム単位で各サンプル値を非負の整数値にして得た整数値による系列である。
 [整数変換部13]
 整数変換部13には、符号化装置101に入力された整数値による系列のうちの、(S+1)Nサンプルずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1,x_2, …, x_((S+1)N)とする。整数変換部13は、入力された整数系列x_1, x_2, …, x_((S+1)N)からN個の整数値による系列y_1, y_2, …, y_Nを得て整数符号化部14に出力する(ステップS13)。整数変換部13は、図3に示すように、整数組生成部131および整数選択部132および整数統合部133を例えば備え、図4に示すステップS131およびステップS132およびステップS133の処理を実行する。
 [[整数組生成部131]]
 整数組生成部131は、入力された整数系列x_1, x_2, …, x_((S+1)N)から所定の規則に従ってS+1個の整数値による整数組をN組得て整数選択部132に出力する(ステップS131)。N組の整数組を得る所定の規則は、入力された整数系列x_1, x_2, …, x_((S+1)N)内の順番が連続するS+1個の整数値を整数組とする規則、すなわち、x_1からx_(S+1)まで、x_(S+2)からx_((S+1)2)まで、・・・、x_((S+1)(N-1)+1)からx_((S+1)N)まで、をそれぞれ整数組とする規則などの、予め定めて符号化装置101と後述する復号装置201に予め記憶しておける規則であればどのような規則であってもよい。
 [[整数選択部132]]
 整数選択部132は、入力されたそれぞれの整数組について、S+1個の整数値のうちの2個の整数値を選択して、選択した2個の整数値である第1整数値と第2整数値と、選択したものを特定する情報である選択情報と、を整数統合部133に出力する(ステップS132)。
 具体的には、整数選択部132は、入力されたそれぞれの整数組について、S+1個の整数値のうちのサンプル番号が一番小さいものを第1整数値として選択する。また、整数選択部132は、S+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうち値が最も大きいものを第2整数値として選択する。さらに、整数選択部132は、第2整数値がS+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちのサンプル番号が最も大きいものである場合には0を選択情報として得、第2整数値がS+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちのサンプル番号が2番目に大きいものである場合には1を選択情報として得、・・・、第2整数値がS+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちのサンプル番号が最も小さいものである場合にはS-1を選択情報として得る。
 なお、整数選択部132は、S+1個の整数値のうちのサンプル番号が大きいほうのS個に値が最も大きいものが複数個含まれる場合には、その複数個ある最も大きい整数値を第2整数値とし、複数個ある最も大きい整数値のうちの最も大きいサンプル番号を表す値を選択情報として得る。例えば、S+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちの値が最も大きいものが、サンプル番号が2番目に大きいものとサンプル番号が3番目に大きいものの2個である場合には、2番目に大きいサンプル番号を表す1を選択情報として得る。ただし、この場合には、複数個ある最も大きい整数値のうちの何れかのサンプル番号を表す値を選択情報として得てもよい。
 例えば、順番が連続する4個の整数値を整数組とするのであれば、x_1とx_2とx_3とx_4の整数組については、整数選択部132は、サンプル番号が一番小さいx_1を第1整数値として選択する。また、整数選択部132は、x_2とx_3とx_4のうち値が最も大きいものを第2整数値として選択する。さらに、整数選択部132は、第2整数値がx_4である場合には0を選択情報として得、第2整数値がx_3である場合には1を選択情報として得、第2整数値がx_2である場合には2を選択情報として得る。なお、整数選択部132は、x_2とx_3とx_4のうちの値が最も大きいものがx_3とx_4の2個である場合には、その等しい整数値x_3=x_4を第2整数値とし、0を選択情報として得る。
 S+1個の整数値による整数組から2個の整数値を自由に選択すると、選択肢はS+1C2通りになる。しかし、上述した方法では、S+1個の整数値から1個の整数値は予め定めた規則により選択し、残りのS個の整数値から1個の整数値を選択する構成を採用することにより、選択肢をSC1=S通りに限定し、選択情報の情報量を少なくしている。すなわち、整数選択部132が、S個の整数値から1個の整数値を選択し、選択した1個の整数値がS個の整数値の何れであるかを表すS値の選択情報を得ることを含む動作をするようにしている。
 [[整数統合部133]]
 整数統合部133は、それぞれの整数組について、入力された第1整数値と第2整数値と選択情報から可逆な変換(逆変換可能な変換)により1個の整数値を得て、整数符号化部14に出力する(ステップS133)。
 例えば、整数統合部133は、入力された第1整数値をx1とし、入力された第2整数値をx2とし、入力された選択情報をsとして、式(4)によって1個の整数値yを得る。
Figure JPOXMLDOC01-appb-M000006
 式(4)では選択情報sを減算しているが、選択情報sを加算するようにしてもよい。式(4)は、第1整数値と、第2整数値と、選択情報sに対応する整数値(0からS-1の何れか)と、から代数的に表現可能な可逆な変換により1個の変換後整数値を得る方法であるが、整数統合部133が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、第1整数値と、第2整数値と、選択情報sに対応するS値の整数値、から可逆な変換、すなわち逆変換可能な変換、により1個の変換後整数値を得る方法であればどのような変換であってもよい。ただし、整数符号化部14の符号化処理を考慮すると、整数統合部133が行う変換は、式(4)のように、第1整数値が小さいほど小さな変換後整数値を得、かつ、第2整数値が小さいほど小さな変換後整数値を得、かつ、なるべく小さな変換後整数値を得る変換であることが望ましい。
 例えば、順番が連続する4個の整数値を整数組とする規則であれば、整数統合部133は、整数変換部13に入力された整数系列x_1, x_2, …, x_4Nのうちのx_1とx_2とx_3とx_4の整数組から変換後整数値y_1を得て、x_5とx_6とx_7とx_8の整数組から変換後整数値y_2を得て、・・・、x_4N-3とx_4N-2とx_4N-1とx_4Nの整数組から変換後整数値y_Nを得て、得た変換後整数値による系列である変換後整数系列y_1, y_2, …, y_Nを出力する。
 なお、N=1の場合には、整数変換部13は、入力された(S+1)個の整数値による組について1個の整数値を得て、得た1個の整数値を変換後整数値として出力することになる。
 ≪復号装置≫
 図5および図6を参照して、第二実施形態の復号装置が実行する復号方法の処理手続きを説明する。第二実施形態の復号装置201は、第一実施形態の復号装置と同様に、整数復号部23および整数逆変換部24を例えば備える。この復号装置201が図6に示すステップS23およびステップS24の処理を実行することにより、第二実施形態の復号方法が実現される。
 第二実施形態の復号装置201には、第二実施形態の符号化装置101が出力した整数符号が入力される。第二実施形態の復号装置201は、入力された整数符号を第二実施形態の符号化装置101に対応する復号処理で復号して整数値による系列を得て、得た整数値による系列中の整数値それぞれについて第二実施形態の符号化装置101が行った変換に対応する逆変換により符号化装置101に入力されたS+1個の整数値のうちの2個の整数値を得ることで、第二実施形態の符号化装置101に入力された整数値による系列のうちの(S+1)分の2個の整数値を正しく復元するものである。
 第二実施形態の復号装置201の整数復号部23の動作および整数復号部23が実行するステップS23の処理は第一実施形態の復号装置200の整数復号部21の動作および整数復号部21が実行するステップS21の処理と同じであるため、ここでは、第一実施形態とは動作が異なる整数逆変換部24についてのみ説明する。
 [整数逆変換部24]
 整数逆変換部24には、整数復号部23が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数逆変換部24は、入力された変換後整数系列y_1, y_2, …, y_Nから整数系列x_1, x_2, …, x_((S+1)N)を得て出力する(ステップS24)。整数逆変換部24は、図7に示すように、整数分離部241および整数組復元部242および整数系列復元部243を例えば備え、図8に示すステップS241およびステップS242およびステップS243の処理を実行する。
 [[整数分離部241]]
 整数分離部241は、変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、第二実施形態の符号化装置101の整数統合部133が行った変換に対応する逆変換により、2個の整数値である第1整数値x1と第2整数値x2と、選択情報sと、を得て、整数組復元部242に出力する(ステップS241)。
 例えば、第二実施形態の符号化装置101の整数統合部133が式(4)の変換を行った場合には、整数分離部241は、式(4)の変換の逆の変換として、式(5)と式(6)と式(3)によって1個の整数値yから第1整数値x1と第2整数値x2と選択情報に対応するJ値の整数値sを得る。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 整数分離部241は、式(3)の演算に代えて、例えば、上述したStep A-1~A-3-1またはStep A-1~A-2, A-3-2の手順を行ってもよい。
 式(5)と式(6)と式(3)による変換は、式(4)の変換の逆変換であって、1個の変換後整数値から代数的に表現可能な可逆な変換により第1整数値と第2整数値と選択情報に対応するS値の整数値s(0からS-1の何れか)とを得る方法であるが、整数分離部241が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換であり、かつ、符号化装置101の整数統合部133が行った変換の逆変換で、1個の変換後整数値から、第1整数値と、第2整数値と、選択情報に対応するS値の整数値と、を得る方法であればどのような変換であってもよい。なお、符号化装置101の整数統合部133が式(4)の選択情報sの減算に代えて加算をした場合には、整数分離部241は式(5)と式(6)に代えて以下の式(5’)と式(6’)を行えばよい。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
 [[整数組復元部242]]
 整数組復元部242は、整数逆変換部24に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、整数分離部241から入力された第1整数値x1と第2整数値x2と選択情報s(選択情報に対応するS値の整数値s)から、符号化装置101の整数選択部132が行った処理に対応する処理によって、S+1個の整数値による整数組を得て、整数系列復元部243に出力する(ステップS242)。
 具体的には、整数組復元部242は、整数逆変換部24に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、入力された第1整数値x1をS+1個の整数値による整数組のうちのサンプル番号が一番小さいものとする。また、整数組復元部242は、選択情報が0である場合には、入力された第2整数値x2をS+1個の整数値による整数組のうちのサンプル番号が一番大きいものとし、0をS+1個の整数値による整数組のうちの残りのS-1個とし、選択情報が1である場合には、入力された第2整数値x2をS+1個の整数値による整数組のうちのサンプル番号が2番目に大きいものとし、0をS+1個の整数値による整数組のうちの残りのS-1個とし、・・・、選択情報がS-1である場合には、入力された第2整数値x2をS+1個の整数値による整数組のうちのサンプル番号が2番目に小さいものとし、0をS+1個の整数値による整数組のうちの残りのS-1個とする。
 例えば、y_1からx_1とx_2とx_3とx_4の整数組を得るのであれば、整数組復元部242は、第1整数値x1をサンプル番号が一番小さいx_1とする。また、整数組復元部242は、選択情報が0である場合には、入力された第2整数値x2をx_4とし、0をx_2とx_3とし、選択情報が1である場合には、入力された第2整数値x2をx_3とし、0をx_2とx_4とし、選択情報が2である場合には、入力された第2整数値x2をx_2とし、0をx_3とx_4とする。
 [[整数系列復元部243]]
 整数系列復元部243は、整数逆変換部24に入力された変換後整数系列に含まれる変換後整数値y_1, y_2, …, y_Nについての、整数組復元部242から入力されたS+1個の整数値による整数組N組から、第二実施形態の符号化装置101の整数組生成部131が行った規則に対応する規則に従って整数系列x_1, x_2, …, x_((S+1)N)を得て出力する(ステップS243)。
 第二実施形態の符号化装置101の整数組生成部131が行った規則が順番が連続するS+1個の整数値を整数組とする規則であれば、整数組復元部242は、入力された変換後整数系列y_1, y_2, …, y_Nのうちの変換後整数y_1から整数値x_1から整数値x_(S+1)による整数組を得て、変換後整数y_2から整数値x_(S+2)から整数値x_((S+1)2)による整数組を得て、・・・、変換後整数y_Nから整数値x_((S+1)(N-1)+1)から整数値x_((S+1)N)による整数組を得て、整数系列復元部243は、整数組復元部242が得た整数組による系列である整数系列x_1, x_2, …, x_((S+1)N)を得て出力する。
 <第三実施形態>
 第二実施形態では、符号化装置101の整数選択部132を、S個(Sは2以上の整数)の整数値から1個の整数値を選択し、選択した1個の整数値がS個の整数値の何れであるかを表すS値の選択情報を得る動作を含むようにし、これに対応するように、復号装置201の整数組復元部242が、1個の整数値がS個の整数値の何れであるかを表すS値の選択情報からS個の整数値を得る動作を含むようにする形態について説明した。これに対して、符号化装置の整数選択部は、L個(Lは3以上の整数)の整数値からM個(Mは2以上の整数)の整数値を選択し、選択したM個の整数値がL個の整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る動作をし、これに対応するように、復号装置の整数組復元部は、M個の整数値がL個の整数値の何れであるかを特定するJ値の選択情報からL個の整数値を得る動作としてもよい。第三実施形態ではこの一形態について説明する。
 ≪符号化装置≫
 図1および図2を参照して、第三実施形態の符号化装置が実行する符号化方法の処理手続きを説明する。第三実施形態の符号化装置102は、第二実施形態の符号化装置と同様に、整数変換部15および整数符号化部16を例えば備える。この符号化装置102が図2に示すステップS15およびステップS16の処理を実行することにより、第三実施形態の符号化方法が実現される。
 第三実施形態の符号化装置102の整数符号化部16の動作および整数符号化部16が実行するステップS16の処理は、第二実施形態の符号化装置101の整数符号化部14の動作および整数符号化部14が実行するステップS14の処理と同じであるため、ここでは、第二実施形態とは動作が異なる整数変換部15についてのみ説明する。
 第三実施形態の符号化装置102には、第二実施形態の符号化装置101と同様の整数値による系列が入力される。より具体的には、例えば、時間領域の音信号を所定の時間長のフレーム単位で周波数領域のLN点(L×N点)のMDCT係数列の各係数を非負の整数値にして得た整数値による系列や、時間領域の音信号を所定の時間長のフレーム単位で各サンプル値を非負の整数値にして得た整数値による系列である。
 [整数変換部15]
 整数変換部15には、符号化装置102に入力された整数値による系列のうちの、LNサンプルずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1, x_2, …, x_LNとする。整数変換部15は、入力された整数系列x_1, x_2, …, x_LNからN個の整数値による系列y_1, y_2, …, y_Nを得て整数符号化部16に出力する(ステップS15)。整数変換部15は、図3に示すように、整数組生成部151および整数選択部152および整数統合部153を例えば備え、図4に示すステップS151およびステップS152およびステップS153の処理を実行する。
 [[整数組生成部151]]
 整数組生成部151は、入力された整数系列x_1, x_2, …, x_LNから所定の規則に従ってM個の整数値による整数組をN組得て整数選択部152に出力する(ステップS151)。N組の整数組を得る所定の規則は、入力された整数系列x_1, x_2, …, x_LN内の順番が連続するL個の整数値を整数組とする規則、すなわち、x_1からx_Lまで、x_(L+1)からx_2Lまで、・・・、x_(L(N-1)+1)からx_LNまで、をそれぞれ整数組とする規則などの、予め定めて符号化装置102と後述する復号装置202に予め記憶しておける規則であればどのような規則であってもよい。
 [[整数選択部152]]
 整数選択部152は、入力されたそれぞれの整数組について、L個の整数値のうちのM個の整数値を選択して、選択したM個の整数値である第1整数値から第M整数値までと、M個の整数値がL個の整数値の何れであるかを特定するJ値の選択情報と、を整数統合部153に出力する(ステップS152)。
 [[[整数選択部152の動作の第1例]]]
 整数選択部152は、第二実施形態の整数選択部132と同じ動作をしてもよい。この場合には、整数選択部152は、L=S+1、M=2、J=Sとして、整数選択部152が第二実施形態の整数選択部132と同じ動作をする。この場合には、選択情報は、実際には、L個の整数値のうちのサンプル番号が一番小さいものを除くL-1=S個の整数値から選択した1個の整数値のサンプル番号を表す値である。しかし、M個の整数値がL個の整数値の何れであるかを復号側で特定できることが選択情報の目的であることからすると、予め定めた規則も選択情報に含まれると解釈することもできる。したがって、選択情報は、M=2個の整数値がL=S+1個の整数値の何れであるかを特定するJ=S値の選択情報だといえる。
 整数選択部152が第二実施形態の整数選択部132と同じ動作をすると選択情報は0以上J-1以下の整数値の何れかとなるが、選択情報の値を0以上J-1以下の整数値とするのは必須ではなく、整数選択部152は、予め定めたJ個の連続する整数値のうちの何れかである選択情報を得るようにしてもよい。例えば、選択情報は、1以上J以下の整数値としてもよいし、2以上J+1以下の整数値としてもよい。なお、整数選択部152が得る選択情報を予め定めたJ個の連続する整数値のうちの何れかとしているのは、後述する整数統合部153が行う例えば式(7)の変換を可逆な変換とするためである。したがって、式(7)とは異なる可逆な変換を行う場合には、整数選択部152が得る選択情報を予め定めたJ個の連続する整数値のうちの何れかとするのは必須ではなく、選択情報は上述したようにM個の整数値がL個の整数値の何れであるかを特定するJ値の情報であればよい。
 [[[整数選択部152の動作の第2例]]]
 整数選択部152は、第二実施形態の整数選択部132と同じ動作を複数個含んでもよい。この場合には、例えば、整数選択部152は、L=S1+S2+2(S1とS2は2以上の正の整数)、M=4、J=4として、L個の整数値のうちのS1+1個の整数値について整数選択部152が第二実施形態の整数選択部132と同じ動作をして、S1+1個の整数値から2個の整数値を選択して2値の選択情報を得て、L個の整数値のうちの残りのS2+1個の整数値について整数選択部152が第二実施形態の整数選択部132と同じ動作をして、S2+1個の整数値から2個の整数値を選択して2値の選択情報を得て、選択したM=4個(2個×2)の整数値と、J=4値(2値×2値)の選択情報と、を得るようにすればよい。
 [[[整数選択部152の動作の第3例]]]
 整数選択部152は、第二実施形態の整数選択部132のような予め定めた規則を含まずに、L個の整数値のうちのM個の整数値を自由に選択してもよい。すなわち、整数選択部152は、L個の整数値からM個の整数値を選択し、選択したM個の整数値と、M個の整数値がL個の整数値の何れであるかを特定するJ=LCM値の選択情報を整数統合部153に出力してもよい。
 [[[整数選択部152の動作のその他の例など]]]
 組み合わせは多数あるので説明は省略するが、整数選択部152は、上述した第1例と第3例を組み合わせた動作や上述した第2例と第3例を組み合わせた動作をしてもよい。要するに、整数選択部152は、入力されたそれぞれの整数組について、L個の整数値のうちのM個の整数値を選択して、選択したM個の整数値である第1整数値から第M整数値までと、M個の整数値がL個の整数値の何れであるかを特定するJ値の選択情報と、を整数統合部153に出力する動作をすれば、どのような動作をしてもよい。
 [[整数統合部153]]
 整数統合部153は、それぞれの整数組について、入力された第1整数値から第M整数値までのM個の整数値と、J値の選択情報と、から可逆な変換(逆変換可能な変換)により1個の整数値を得て、整数符号化部12に出力する(ステップS153)。
 例えば、整数統合部153は、入力された第1整数値から第M整数値までのそれぞれをx1, x2, ..., xMとし、入力されたJ値の選択情報を0からJ-1までの整数値sとして、式(7)によって1個の整数値yを得る。
Figure JPOXMLDOC01-appb-M000011
 ただし、fM’(x1, x2, …, xM’)は、M’個の変数による系列(変数系列)x1, x2, …,xM’を入力とし、1変数を出力とする再帰的な関数であり、M’個の変数x1, x2, …, xM’の最大値をxmax、最大値をとる変数の個数をK、最大値をとるK個の変数それぞれの変数系列内での番号をそれぞれm1, m2, …, mK、変数系列x1, x2, …, xM’から最大値をとる変数を除いたM’-K個の変数による系列を~x1, ~x2, …, ~xM’-K、f0を0、M’CKをM’個からK個を選択する組み合わせの数としたとき、式(8)で表される関数である。
Figure JPOXMLDOC01-appb-M000012
 式(7)では選択情報sを減算しているが、選択情報sを加算するようにしてもよい。また、式(7)において、0からJ-1までの整数値の何れかを選択情報sとするのではなく、入力されたJ値の選択情報のそれぞれに対応するように予め定めたJ個の連続する整数値J0からJ0+J-1までのうちの何れかを選択情報sとしてもよい。式(7)は、第1整数値から第M整数値までのM個の整数値と、J値の選択情報に対応する整数値と、から代数的に表現可能な可逆な変換により1個の変換後整数値を得る方法であるが、整数統合部153が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換、すなわち逆変換可能な変換、により、第1整数値から第M整数値までのM個の整数値と、J値の選択情報に対応する整数値と、から1個の変換後整数値を得る方法であればどのような変換であってもよい。ただし、整数符号化部16の符号化処理を考慮すると、整数統合部153が行う変換は、式(7)のように、第1整数値から第M整数値の各整数値が小さいほど小さな変換後整数値を得、かつ、なるべく小さな変換後整数値を得る変換であることが望ましい。
 ≪復号装置≫
 図5および図6を参照して、第三実施形態の復号装置が実行する復号方法の処理手続きを説明する。第三実施形態の復号装置202は、第二実施形態の復号装置と同様に、整数復号部25および整数逆変換部26を例えば備える。この復号装置202が図6に示すステップS25およびステップS26の処理を実行することにより、第三実施形態の復号方法が実現される。
 第三実施形態の復号装置202には、第三実施形態の符号化装置102が出力した整数符号が入力される。第三実施形態の復号装置202は、入力された整数符号を第三実施形態の符号化装置102に対応する復号処理で復号して整数値による系列を得て、得た整数値による系列中の整数値それぞれについて第三実施形態の符号化装置102が行った変換に対応する逆変換により符号化装置102に入力されたL個の整数値のうちのM個の整数値を得ることで、第三実施形態の符号化装置102に入力された整数値による系列のうちのL分のM個の整数値を正しく復元するものである。
 第三実施形態の復号装置202の整数復号部25の動作および整数復号部25が実行するステップS25の処理は、第二実施形態の復号装置201の整数復号部23の動作および整数復号部23が実行するステップS23の処理と同じであるため、ここでは、第二実施形態とは動作が異なる整数逆変換部26についてのみ説明する。
 [整数逆変換部26]
 整数逆変換部26には、整数復号部25が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数逆変換部26は、入力された変換後整数系列y_1, y_2, …, y_Nから整数系列x_1, x_2, …, x_LNを得て出力する(ステップS26)。整数逆変換部26は、図7に示すように、整数分離部261および整数組復元部262および整数系列復元部263を例えば備え、図8に示すステップS261およびステップS262およびステップS263の処理を実行する。
 [[整数分離部261]]
 整数分離部261は、変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、第三実施形態の符号化装置102の整数統合部153が行った変換に対応する逆変換により、第1整数値x1から第M整数値xMまでのM個の整数値と、選択情報sと、を得て、整数組復元部262に出力する(ステップS261)。
 例えば、第三実施形態の符号化装置102の整数統合部153が式(7)の変換を行った場合には、整数分離部261は、式(7)の変換の逆の変換として、式(9)と式(10)と式(11)によって1個の整数値yから、第1整数値x1から第M整数値xMまでのM個の整数値と、選択情報に対応するJ値の整数値sと、を得る。
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
 ただし、fM’ -1(y')は1変数を入力とし、M’個の変数を出力とする再帰的な関数であり、yを超えない最大のM’次平方根
Figure JPOXMLDOC01-appb-M000016

と、
Figure JPOXMLDOC01-appb-M000017
が0を下回らない最大のKと、
Figure JPOXMLDOC01-appb-M000018
により得られるM’-K個の変数からなる変数系列~x1, ~x2, …, ~xM’-Kと、
Figure JPOXMLDOC01-appb-M000019
M’CKで割った余りであるλM’を用いて、m=0からm=M’-1までに関してそれぞれ、i1=0, i2=0を初期値として式(12)を計算することでM’個の整数値x1, x2, …, xM’を得て、出力する。
Figure JPOXMLDOC01-appb-M000020
また、f0 -1(y')は何も出力しない関数を意味する。
 式(9)と式(10)と式(11)による変換は、式(7)の変換の逆変換であって、1個の変換後整数値から代数的に表現可能な可逆な変換により、第1整数値から第M整数値までのM個の整数値と、選択情報に対応するJ値の整数値(0からJ-1の何れか)と、を得る方法であるが、整数分離部261が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換であり、かつ、符号化装置102の整数統合部153が行った変換の逆変換で、第1整数値から第M整数値までのM個の整数値と、選択情報に対応するJ値の整数値と、を得る方法であればどのような変換であってもよい。なお、符号化装置102の整数統合部153が式(7)の選択情報sの減算に代えて加算をした場合には、整数分離部261は式(9)と式(10)に代えて以下の式(9’)と式(10’)を行えばよい。
Figure JPOXMLDOC01-appb-M000021
Figure JPOXMLDOC01-appb-M000022
 また、符号化装置102の整数統合部153が、式(7)において、0からJ-1までの整数値の何れかを選択情報sとするのではなく、入力されたJ値の選択情報のそれぞれに対応するように予め定めたJ個の連続する整数値J0からJ0+J-1のうちの何れかを選択情報sとした場合には、整数分離部261は式(9)に代えて以下の式(9”)を行えばよい。
Figure JPOXMLDOC01-appb-M000023
 すなわち、整数分離部261は、符号化装置102の整数統合部153が得た1個の整数値yが、第1整数値から第M整数値までのM個の整数値についての可逆な変換により得られた1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの選択情報に対応する整数値を減算または加算した値であるとして、1個の整数値yから、第1整数値から第M整数値までのM個の整数値と、選択情報に対応する整数値と、を得ればよい。
 [[整数組復元部262]]
 整数組復元部262は、整数逆変換部26に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、整数分離部261から入力された第1整数値から第M整数値までのM個の整数値と、選択情報s(選択情報に対応するJ値の整数値s)と、から、符号化装置102の整数選択部152が行った処理に対応する処理によって、L個の整数値による整数組を得て、整数系列復元部263に出力する(ステップS262)。
 [[[整数組復元部262の動作の第1例]]]
 符号化装置102の整数選択部152が第1例の動作をした場合には、整数組復元部262は、L=S+1、M=2、J=Sとして、整数組復元部262が第二実施形態の整数組復元部242と同じ動作をする。この場合には、選択情報は、実際には、L個の整数値のうちのサンプル番号が一番小さいものを除くL-1=S個の整数値から1個の整数値のサンプル番号を特定する値である。しかし、符号化装置102の整数選択部152の第1例でも説明した通り、予め定めた規則も選択情報に含まれると解釈することもできる。したがって、選択情報は、M=2個の整数値がL=S+1個の整数値の何れであるかを特定するJ=S値の選択情報だといえる。
 なお、整数選択部152が、第二実施形態の整数選択部132と同じ動作ではなく、予め定めたJ個の連続する整数値のうちの何れかである選択情報を得る動作をした場合には、整数組復元部262は、その整数選択部152の動作に対応する動作をすればよい。
 [[[整数組復元部262の動作の第2例]]]
 符号化装置102の整数選択部152が第2例の動作をした場合には、整数組復元部262は、L=S1+S2+2(S1とS2は2以上の正の整数)、M=4、J=4として、整数組復元部262は、J=4値(2値×2値)の選択情報から2値の第1選択情報と2値の第2選択情報を得て、入力された4個の整数値のうちの2個の整数値と2値の第1選択情報とから第二実施形態の整数組復元部242と同じ動作をしてS1+1個の整数値を得て、入力された4個の整数値のうちの残りの2個の整数値と2値の第2選択情報とから第二実施形態の整数組復元部242と同じ動作をしてS2+1個の整数値を得て、得たS1+1個の整数値とS2+1個の整数値とをL=S1+S2+2個の整数値による整数組を得るようにすればよい。
 [[[整数組復元部262の動作の第3例]]]
 符号化装置102の整数選択部152が第3例の動作をした場合には、整数組復元部262が、入力されたM個の整数値と、M個の整数値がL個の整数値の何れであるかを特定するJ=LCM値の選択情報と、から、L個の整数値による整数組を得るようにすればよい。例えば、整数組復元部262は、入力されたM個の整数値を、整数組のL個の整数値のうちの選択情報が特定するM個の整数値とし、例えば0などの予め定めた規則によって定まる値を、整数組のL個の整数値のうち残りのL-M個の整数値とすることで、L個の整数値による整数組を得ればよい。
 [[[整数組復元部262の動作のその他の例など]]]
 組み合わせは多数あるので説明は省略するが、整数組復元部262は、上述した第1例と第3例を組み合わせた動作や上述した第2例と第3例を組み合わせた動作をしてもよい。要するに、整数組復元部262は、入力された第1整数値から第M整数値までのM個の整数値と、選択情報s(選択情報に対応するJ値の整数値s)と、から、符号化装置102の整数選択部152が行った処理に対応する処理によって、L個の整数値による整数組を得て、整数系列復元部263に出力する動作をすれば、どのような動作をしてもよい。
 [[整数系列復元部263]]
 整数系列復元部263は、整数逆変換部26に入力された変換後整数系列に含まれる変換後整数値y_1, y_2, …, y_Nについての、整数組復元部262から入力されたL個の整数値による整数組N組から、第三実施形態の符号化装置102の整数組生成部151が行った規則に対応する規則に従って整数系列x_1, x_2, …, x_LNを得て出力する(ステップS263)。
 第三実施形態の符号化装置102の整数組生成部151が行った規則が順番が連続するL個の整数値を整数組とする規則であれば、整数組復元部262は、入力された変換後整数系列y_1, y_2, …, y_Nのうちの変換後整数y_1から整数値x_1からx_Lまでによる整数組を得て、変換後整数y_2から整数値x_(L+1)から整数値x_2Lまでによる整数組を得て、・・・、変換後整数y_Nから整数値x_(L(N-1)+1)から整数値x_LNまでによる整数組を得て、整数系列復元部263は、整数組復元部262が得た整数組による系列である整数系列x_1, x_2, …, x_LNを得て出力する。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 <プログラム、記録媒体>
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (16)

  1.  入力されたL個(Lは3以上の整数)の整数値(以下、「入力整数値」という)による組について、L個の上記入力整数値からM個(Mは、L未満の2以上の整数)の整数値(以下、「選択整数値」という)を選択し、選択したM個の上記選択整数値がL個の上記入力整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る整数選択部と、
     M個の上記選択整数値と、J値の上記選択情報に対応する整数値と、について、可逆な変換により、1個の整数値(以下、「変換後整数値」という)を得る整数統合部と、
     上記変換後整数値を符号化して符号を得る整数符号化部と、
     を含む符号化装置。
  2.  請求項1に記載の符号化装置であって、
     上記整数選択部は、
    L個の上記入力整数値からM個の上記選択整数値を選択する処理に、
    L個の上記入力整数値に含まれるS個(Sは2以上L以下の整数)の整数値から、M個の上記選択整数値に含まれる1個の整数値を選択し、選択した1個の整数値がS個の上記整数値の何れであるかを特定するS値の選択情報を得る処理を含む
     符号化装置。
  3.  請求項1または2に記載の符号化装置であって、
     上記整数統合部は、
    上記M個の選択整数値についての可逆な変換により得られる1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値を、上記変換後整数値として得る
     符号化装置。
  4.  符号を復号して1個の整数値(以下、「変換後整数値」という)を得る整数復号部と、
     1個の上記変換後整数値から、可逆な変換により、M個(Mは、2以上の整数)の整数値(以下、「選択整数値」という)と、J値(Jは、2以上の整数)の選択情報と、を得る整数分離部と、
     M個の上記選択整数値を、L個(LはMより大きい整数)の整数値(以下、「出力整数値」という)のうちの上記選択情報が特定するM個の上記出力整数値とし、0をL-M個の残りの上記出力整数値とすることで、L個の上記出力整数値による組を得る整数組復元部と、
     を含む復号装置。
  5.  請求項4に記載の復号装置であって、
     上記整数組復元部は、
    M個の上記選択整数値からL個の上記出力整数値を得る処理に、
    M個の上記選択整数値に含まれる1個の整数値を、L個の上記出力整数値に含まれるS個(Sは2以上L以下の整数)の上記出力整数値のうちの上記選択情報が特定する1個の上記出力整数値とし、0をL個の上記出力整数値に含まれるS個の上記出力整数値のうちの残りの上記出力整数値とする処理を含む
     復号装置。
  6.  請求項4または5に記載の復号装置であって、
     上記整数分離部は、
    上記変換後整数値が、上記M個の選択整数値についての可逆な変換により得られた1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値であるとして、上記M個の選択整数値と、上記選択情報に対応する整数値と、を得る
     復号装置。
  7.  整数選択部が、入力されたL個(Lは3以上の整数)の整数値(以下、「入力整数値」という)による組について、L個の上記入力整数値からM個(Mは、L未満の2以上の整数)の整数値(以下、「選択整数値」という)を選択し、選択したM個の上記選択整数値がL個の上記入力整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る整数選択ステップと、
     整数統合部が、M個の上記選択整数値と、J値の上記選択情報に対応する整数値と、について、可逆な変換により、1個の整数値(以下、「変換後整数値」という)を得る整数統合ステップと、
     整数符号化部が、上記変換後整数値を符号化して符号を得る整数符号化ステップと、
     を含む符号化方法。
  8.  請求項7に記載の符号化方法であって、
     上記整数選択ステップは、
    L個の上記入力整数値からM個の上記選択整数値を選択する処理に、
    L個の上記入力整数値に含まれるS個(Sは2以上L以下の整数)の整数値から、M個の上記選択整数値に含まれる1個の整数値を選択し、選択した1個の整数値がS個の上記整数値の何れであるかを特定するS値の選択情報を得る処理を含む
     符号化方法。
  9.  請求項7または8に記載の符号化方法であって、
     上記整数統合ステップは、
    上記M個の選択整数値についての可逆な変換により得られる1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値を、上記変換後整数値として得る
     符号化方法。
  10.  整数復号部が、符号を復号して1個の整数値(以下、「変換後整数値」という)を得る整数復号ステップと、
     整数分離部が、1個の上記変換後整数値から、可逆な変換により、M個(Mは、2以上の整数)の整数値(以下、「選択整数値」という)と、J値(Jは、2以上の整数)の選択情報と、を得る整数分離ステップと、
     整数組復元部が、M個の上記選択整数値を、L個(LはMより大きい整数)の整数値(以下、「出力整数値」という)のうちの上記選択情報が特定するM個の上記出力整数値とし、0をL-M個の残りの上記出力整数値とすることで、L個の上記出力整数値による組を得る整数組復元ステップと、
     を含む復号方法。
  11.  請求項10に記載の復号方法であって、
     上記整数組復元ステップは、
    M個の上記選択整数値からL個の上記出力整数値を得る処理に、
    M個の上記選択整数値に含まれる1個の整数値を、L個の上記出力整数値に含まれるS個(Sは2以上L以下の整数)の上記出力整数値のうちの上記選択情報が特定する1個の上記出力整数値とし、0をL個の上記出力整数値に含まれるS個の上記出力整数値のうちの残りの上記出力整数値とする処理を含む
     復号方法。
  12.  請求項10または11に記載の復号方法であって、
     上記整数分離ステップは、
    上記変換後整数値が、上記M個の選択整数値についての可逆な変換により得られた1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値であるとして、上記M個の選択整数値と、上記選択情報に対応する整数値と、を得る
     復号方法。
  13.  請求項7から9の何れかに記載の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
  14.  請求項10から12の何れかに記載の復号方法の各ステップをコンピュータに実行させるためのプログラム。
  15.  請求項7から9の何れかに記載の符号化方法の各ステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  16.  請求項10から12の何れかに記載の復号方法の各ステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
PCT/JP2019/008388 2018-04-13 2019-03-04 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 WO2019198383A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19785986.1A EP3780396B1 (en) 2018-04-13 2019-03-04 Encoding device, decoding device, encoding method, decoding method, program, and recording medium
CN201980024567.3A CN111971902B (zh) 2018-04-13 2019-03-04 编码装置、解码装置、编码方法、解码方法、程序及记录介质
JP2020513119A JP7173134B2 (ja) 2018-04-13 2019-03-04 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
US17/044,968 US11501782B2 (en) 2018-04-13 2019-03-04 Encoder, decoder, encoding method, decoding method, program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018077457 2018-04-13
JP2018-077457 2018-04-13

Publications (1)

Publication Number Publication Date
WO2019198383A1 true WO2019198383A1 (ja) 2019-10-17

Family

ID=68162864

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/008388 WO2019198383A1 (ja) 2018-04-13 2019-03-04 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体

Country Status (5)

Country Link
US (1) US11501782B2 (ja)
EP (1) EP3780396B1 (ja)
JP (1) JP7173134B2 (ja)
CN (1) CN111971902B (ja)
WO (1) WO2019198383A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008059752A1 (fr) * 2006-11-14 2008-05-22 Nippon Telegraph And Telephone Corporation Procédé d'encodage et procédé de décodage de signal d'image, procédé d'encodage et procédé de décodage de source d'information, dispositifs pour ceux-ci, leurs programmes, et support de mémoire avec programme enregistré
JP2017227904A (ja) * 2014-03-24 2017-12-28 日本電信電話株式会社 符号化方法、符号化装置、プログラム、および記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333339A (ja) 2002-05-13 2003-11-21 Sony Corp 画像符号化装置及び画像符号化方法
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
JP4396683B2 (ja) * 2006-10-02 2010-01-13 カシオ計算機株式会社 音声符号化装置、音声符号化方法、及び、プログラム
WO2010067800A1 (ja) 2008-12-09 2010-06-17 日本電信電話株式会社 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
PL3154057T3 (pl) * 2011-04-05 2019-04-30 Nippon Telegraph & Telephone Dekodowanie sygnału akustycznego
ES2657039T3 (es) * 2012-10-01 2018-03-01 Nippon Telegraph And Telephone Corporation Método de codificación, dispositivo de codificación, programa, y medio de grabación
CN106233112B (zh) 2014-02-17 2019-06-28 三星电子株式会社 信号编码方法和设备以及信号解码方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008059752A1 (fr) * 2006-11-14 2008-05-22 Nippon Telegraph And Telephone Corporation Procédé d'encodage et procédé de décodage de signal d'image, procédé d'encodage et procédé de décodage de source d'information, dispositifs pour ceux-ci, leurs programmes, et support de mémoire avec programme enregistré
JP2017227904A (ja) * 2014-03-24 2017-12-28 日本電信電話株式会社 符号化方法、符号化装置、プログラム、および記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. ZELINSKIP. NOLL: "Adaptive transform coding of speech signals", IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, vol. 25, no. 4, August 1977 (1977-08-01), pages 299 - 309, XP000615094, DOI: 10.1109/TASSP.1977.1162974
See also references of EP3780396A4

Also Published As

Publication number Publication date
JP7173134B2 (ja) 2022-11-16
CN111971902A (zh) 2020-11-20
EP3780396A1 (en) 2021-02-17
EP3780396A4 (en) 2022-01-19
US20210166700A1 (en) 2021-06-03
US11501782B2 (en) 2022-11-15
CN111971902B (zh) 2024-03-29
JPWO2019198383A1 (ja) 2021-04-08
EP3780396B1 (en) 2023-05-31

Similar Documents

Publication Publication Date Title
US8237594B2 (en) Encoding apparatus, decoding apparatus, information processing system, and computer-readable storage medium
US8665945B2 (en) Encoding method, decoding method, encoding device, decoding device, program, and recording medium
US10666289B1 (en) Data compression using dictionary encoding
US7965206B2 (en) Apparatus and method of lossless coding and decoding
JP2004258603A (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
JP4382090B2 (ja) 符号化装置、符号化方法およびコードブック
JP2016527546A (ja) 信号の符号化および復号化の方法および装置
WO2019198383A1 (ja) 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
CN107105249B (zh) 图像量化参数解码方法
JP2020053820A (ja) 量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラム
JP4918103B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
CN112956131B (zh) 编码装置、解码装置、编码方法、解码方法、计算机可读取的记录介质
JP6885466B2 (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム
Vimala et al. Enhanced ambtc for image compression using block classification and interpolation
JP6766264B2 (ja) 符号化装置、復号装置、符号化方法、復号方法、およびプログラム
US12028093B2 (en) Encoder, decoder, encoding method, decoding method and program
JP5281485B2 (ja) 双方向予測符号化装置、双方向予測復号装置、それらの方法、それらのプログラム及びその記録媒体
WO2010067800A1 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP7183776B2 (ja) 符号化装置、復号装置、これらの方法及びプログラム
JP2009031519A (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: 19785986

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020513119

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019785986

Country of ref document: EP