WO2022130477A1 - 符号化装置、復号装置、符号化方法、復号方法およびプログラム - Google Patents

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

Info

Publication number
WO2022130477A1
WO2022130477A1 PCT/JP2020/046638 JP2020046638W WO2022130477A1 WO 2022130477 A1 WO2022130477 A1 WO 2022130477A1 JP 2020046638 W JP2020046638 W JP 2020046638W WO 2022130477 A1 WO2022130477 A1 WO 2022130477A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
value
unit
candidate
processed
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2020/046638
Other languages
English (en)
French (fr)
Japanese (ja)
Inventor
フロリアン バイエ
勇人 逸身
浩一 二瓶
チャルヴィ ヴィタル
悠介 篠原
孝法 岩井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2022569349A priority Critical patent/JP7521603B2/ja
Priority to PCT/JP2020/046638 priority patent/WO2022130477A1/ja
Priority to US18/266,173 priority patent/US12425594B2/en
Publication of WO2022130477A1 publication Critical patent/WO2022130477A1/ja
Anticipated expiration legal-status Critical
Priority to JP2024110556A priority patent/JP7838598B2/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a coding device, a decoding device, a coding method, a decoding method and a program.
  • the user of the image designates a region of interest of the image, sets a quantization rate different from that of other regions for the region of interest, and controls compression based on the set quantization rate.
  • It describes an image compression device that can be used and a compression / decompression device corresponding to the image compression device.
  • the compression / decompression device controls image division means for dividing an image into a plurality of regions, a quantization rate setting means for designating one or a plurality of regions of interest in an image, and compression control for each region based on the set quantization rate. It has a compression control means to be used.
  • the image compression device transmits the quantization rate determined for each region to the compression / decompression device together with the code obtained by compressing the image at the quantization rate.
  • the quantization rate is indicated using the quantization interval.
  • a QP value may be used as an index value of the quantization interval.
  • One object of the present invention is to provide a coding device, a decoding device, a coding method, a decoding method, and a program that solve the above problems.
  • the coding apparatus determines the quantization interval for quantizing the input element value, which is an element of the input value to be processed, based on the processed quantization value.
  • the estimation unit that determines the probability distribution of the quantization candidate value, which is a candidate for the quantization value of the input element value based on the processed quantization value, and the quantization interval are used to quantize the input element value into a quantum quantum. It includes a quantization unit that determines the quantization value, and an entropy coding unit that entropy-encodes the quantization series including the quantization value code indicating the quantization value of the input element value using the probability distribution.
  • the decoding apparatus determines the quantization interval for dequantizing the quantization value code to be processed based on the processed quantization value to determine the quantization value.
  • An estimation unit that determines the probability distribution of the quantization candidate value that is a candidate for the quantization value based on the processed quantization value, and an entropy decoding of the coding series using the probability distribution to obtain the quantization value code. It includes an entropy decoding unit that generates a quantized value series including the quantized value series, and an inverse quantized unit that dequantizes the quantized value code included in the quantized value series to determine the quantized value.
  • the coding method in the coding apparatus is the quantization for quantizing the input element value which is the element of the input value to be processed based on the processed quantization value.
  • An estimation process that determines the interval and determines the probability distribution of the quantization candidate value that is a candidate for the quantization value of the input element value based on the processed quantization value, and the input element value using the quantization interval.
  • the estimation process that determines the probability distribution of the quantization candidate value, which is the candidate for the quantization value, based on the processed quantization value.
  • the quantization interval in decoding the coding series obtained by coding, the quantization interval can be estimated even if the information on the quantization interval is not provided. Therefore, it is possible to avoid an increase in the amount of information due to the provision of information on the quantization interval.
  • FIG. 1 is a schematic block diagram showing a configuration example of the data processing system 1 according to the first embodiment.
  • the data processing system 1 includes a coding device 10 and a decoding device 20.
  • the coding device 10 and the decoding device 20 are mainly configured as an image coding device and an image decoding device, respectively, will be taken as an example.
  • the input value to be processed by the coding device 10 and the output value to be the result of the decoding process by the decoding device 20 may be signal values for each pixel, feature quantities indicating the characteristics of the image, or features thereof.
  • the coding device 10 and the decoding device 20 may be configured to be included in a part of other devices, respectively.
  • Other devices are not limited to general-purpose information devices such as PCs (Personal Computers), tablet terminal devices, multifunctional mobile phones, and content servers, but also dedicated devices such as photographers, recorders, and players. You may.
  • the coding apparatus 10 determines a quantization interval for quantization of an input element value which is an element of an input value to be processed based on the processed quantization value, and inputs based on the processed quantization value. Determine the probability distribution of the quantization candidate value, which is a candidate for the quantization value of the element value.
  • the coding apparatus 10 quantizes the input element value using the determined quantization interval to determine the quantized value.
  • the coding apparatus 10 entropy-codes a quantization series including a quantization value code indicating the quantization value of the input element value using a predetermined probability distribution.
  • the coding device 10 outputs the coding sequence generated by the entropy coding to the decoding device 20. In the decoding device 20, a coding sequence is input to the coding device 10.
  • the decoding device 20 dequantizes the quantization value code to be processed based on the processed quantization value to determine the quantization interval for determining the quantization value, and the decoding device 20 determines the quantization interval based on the processed quantization value. Determine the probability distribution of the quantization candidate value, which is a candidate for the quantization value.
  • the decoding device 20 entropy-decodes the coded sequence using the determined probability distribution, and generates a quantized value series including the quantized value code to be processed.
  • the decoding device 20 dequantizes the quantized value code included in the quantized value series to determine the quantized value.
  • the coding device 10 includes an input unit 122, a quantization unit 124, a quantization value storage unit 126, a quantization interval estimation unit 128, and an entropy coding unit 130.
  • the input value to be processed is input to the input unit 122.
  • the input value (input) input at one time may be one element value (element) or may include two or more element values.
  • the element value included in the input value is referred to as an "input element value”.
  • the input unit 122 sequentially outputs the input element values input to its own unit to the quantization unit 124.
  • the input element value is input to the quantization unit 124 from the input unit 122, and the quantization interval is input from the quantization interval estimation unit 128.
  • the quantization unit 124 quantizes the input input element value z i according to the input quantization interval Q i , determines the quantization value Z i of the input element value, and quantizes the input element value z i.
  • a code indicating the value (hereinafter referred to as “quantized value code”) is determined.
  • the input element value z i is the value to be encoded in the input sequence z 1 , ..., z i , which is the input value. i etc. indicate an index for identifying individual input element values.
  • the quantization interval for one input element value is given by, for example, one predetermined value (scalar) for the entire range.
  • the quantization value for the input element value is the input element value among the plurality of discrete values that are discretized at the quantization interval between the minimum value and the maximum value of the value. Is the closest value to.
  • the quantization interval for one input element value may be given by one predetermined value for each of a plurality of intervals in which the range is divided. In that case, the quantization interval is a vector that includes one interval for each interval as an element value.
  • Each section may be composed of one quantization interval each, or may include two or more quantization intervals.
  • the quantization value for the input element value included in the interval containing two or more quantization intervals is the closest to the input element value among the multiple discrete values that divide the interval into two or more quantization intervals. It becomes a discrete value. Therefore, these discrete values are candidates for the quantized value.
  • the candidate for the quantized value may be referred to as "quantized candidate value”.
  • the quantized value code is a code corresponding to a defined quantized value among the codes corresponding to each of the plurality of quantized candidate values.
  • the code corresponding to each of the plurality of quantization candidate values may be, for example, a number determined in ascending order from the minimum value, or a bit string indicating the number. For example, a certain quantization value 1 is quantized with a quantization value code 1 obtained by using a quantization interval 1, and another quantization value 2 different from the quantization value 1 is quantized with a different quantization interval 1.
  • the quantized value code 2 obtained using the interval 2 may be equal or different.
  • the code for each of the plurality of quantization candidate values may be referred to as a "quantized candidate code".
  • the quantization unit 124 stores the determined quantized value in the quantized value storage unit 126, and outputs the quantized value code indicating the quantized value to the entropy coding unit 130.
  • the quantized value Z i defined by the quantized unit 124 is sequentially stored in the quantized value storage unit 126.
  • the quantized value stored in the quantized value storage unit 126 corresponds to the quantized value code encoded by the entropy coding unit 130.
  • the quantized values Z 1 , ..., Z i-1 corresponding to the earlier processed input element values are stored in the quantized value storage unit 126. It becomes.
  • the quantization interval estimation unit 128 uses a predetermined mathematical model, and the quantization interval with respect to the input element value to be processed based on the quantization value of the processed input element value stored in the quantization value storage unit 126. And, the probability distribution of the quantization candidate value with respect to the input element value is determined.
  • there are a plurality of values that are candidates for the quantization interval hereinafter, referred to as "quantization interval candidate value (quantization interval candidate)").
  • the plurality of quantization interval candidate values are real numbers or integers, respectively.
  • a plurality of types of quantization interval candidate values may be set in advance in the quantization interval estimation unit 128.
  • the quantization interval estimation unit 128 refers to the process for determining the probability distribution of the quantization candidate value as a unit for executing the coding process at one time in entropy coding (hereinafter, "entropy coding unit"). It may be reset (reset) every time it is called.
  • the entropy coding unit is a series composed of N quantization value codes (N is 2 or more predetermined integers).
  • the entropy coding unit corresponds to the entropy decoding unit (described later) in the decoding device 20.
  • the probability distribution of the quantized candidate values that are candidates for the quantized value Z i for the input element value to be processed is based on the quantized values Z 1 ,..., Z i-1 for the processed input element values.
  • the probability distribution of the quantized candidate values can also be regarded as the predicted value predicted from the quantized values Z 1 , ..., Z i-1 with respect to the processed input element value.
  • the probability distribution of the quantization candidate values is a discrete probability distribution showing the appearance probability of each quantization candidate value.
  • the quantized value corresponds to one of those quantized candidate values.
  • the quantization interval estimation unit 128 sets the initial value P 1 set in advance as the probability distribution of the quantization candidate value with respect to the quantization value Z 1 immediately after resetting for each entropy coding unit. For example, a uniform distribution may be applied as the initial value P 1 . In a uniform distribution, the appearance probabilities of each quantization candidate value are real values equal to each other.
  • the mathematical model applied to the quantization interval estimation unit 128 includes a mathematical model for determining the quantization interval (hereinafter referred to as "quantization interval model”) and the probability of candidates for the quantization value.
  • quantization interval model There is a mathematical model for determining the distribution (hereinafter referred to as “probability distribution model”).
  • the quantization interval estimation unit 128 uses, for example, the latest predetermined number (for example, M up to i-1 and M is a predetermined integer of 1 or more) as an explanatory variable of the quantization interval model.
  • the quantization value Z i-1-M ,..., Z i-1 for the processed input element value is read from the quantization value storage unit 126, and is used as an objective variable for the input element value z i at that time.
  • the quantization interval estimation unit 128 can determine the quantization interval candidate value that gives the highest appearance probability as the quantization interval Q i with respect to the input element value z i .
  • the quantization interval estimation unit 128 predicts the quantization interval Q i for the input element value z i to be processed from the quantization values Z i-1-M ,..., Z i-1 for the processed input element values. It can also be regarded as.
  • the quantization interval estimation unit 128 adopts, for example, the quantized values Z i-1-M ,..., Z i-1 read out as explanatory variables of the probability distribution model, and quantizes the input element value z i at that time.
  • Quantization interval for the value Z i The probability of appearance for each candidate value is determined by the probability distribution P ( ⁇ Z i ⁇
  • ⁇ Z i ⁇ indicates a set of quantization candidate values of the quantization value Z i .
  • the calculated probability distribution is a conditional probability distribution of the quantized value Z i , provided that M processed quantized values Z i-1-M , ..., Z i-1 are given. Will be.
  • Z i-1-N ,..., Z i-1 ) may be expressed by the probability of appearance for each quantization candidate value, or corresponds to each quantization candidate value. It may be expressed by the appearance probability for each quantization candidate value code.
  • a neural network such as a recurrent neural network (RNN) or a convolutional neural network (CNN) can be applied.
  • the applicable mathematical model is not limited to the neural network, but may be another type of machine learning model such as a random forest (RF: Random Forest) or a support vector machine (SVM). ..
  • the quantization interval estimation unit 128 outputs the quantization interval Q i determined for the input element value z i at that time to the quantization unit 124, and the probability distribution P ( ⁇ Z i ⁇
  • i-1-M , ..., Z i-1 ) is output to the entropy coding unit 130.
  • a quantization value code corresponding to the quantization value Z i defined by the quantization unit 124 is input to the entropy coding unit 130, and the probability distribution P ( ⁇ ) of the quantization candidate value defined by the quantization interval estimation unit 128.
  • Z i-1-N ,..., Z i-1 ) is input.
  • the entropy coding unit 130 performs entropy coding for each entropy coding unit forming a quantization series including a plurality of quantization value codes, and generates a coding series.
  • Entropy coding is a type of lossless coding (sometimes called lossless compression). As will be described later, the original quantization sequence can be restored by performing entropy decoding, which is an inverse processing of entropy coding, on the generated coding sequence.
  • the entropy coding unit can execute the process illustrated in FIG. 4 to determine the coding sequence.
  • Step S122 The entropy coding unit 130 uses the probability distribution P (Z i
  • Step S124 A plurality of codewords are set in advance in the entropy coding unit 130.
  • the codeword is, for example, a bit sequence composed of one or more bits.
  • the bit strings that make up each of a plurality of codewords are different from each other.
  • the entropy coding unit 130 defines a code word having a larger amount of information (bit length) as the quantization candidate value code giving a lower appearance probability for each quantization candidate value code, and each quantization candidate value code and one code. Save a set of codewords associated with words.
  • the entropy coding unit 130 can use any method such as Huffman coding or arithmetic coding in coding the quantization candidate value code.
  • the entropy coding unit 130 refers to the stored codeword set and identifies the codeword corresponding to the quantization candidate value code equal to the quantization value code corresponding to the input quantization value Z i . do. (Step S128) The entropy coding unit 130 concatenates codewords specified for each quantized value code in the order in which the quantized value code is input to generate a coded sequence. The entropy coding unit 130 outputs the generated coding sequence to the decoding device 20.
  • the decoding device 20 includes an entropy decoding unit 242, an inverse quantization unit 244, a quantization value storage unit 246, a quantization interval estimation unit 248, and an output unit 250.
  • a coding sequence is input to the entropy decoding unit 242 for each entropy decoding unit from the coding device 10, and the probability distribution P ( ⁇ Z i ⁇
  • M ,..., Z i-1 ) is input for each decoded quantized value.
  • the entropy decoding unit 242 performs entropy decoding on the coding sequence input from the coding apparatus 10 (hereinafter referred to as “input coding sequence”) to obtain a quantization sequence including N quantization value codes.
  • the generated and generated quantization value codes are individually output to the inverse quantization unit 244 according to the order.
  • Z i-1-M ,..., Z i-1 ) input from the quantization interval estimation unit 248 is quantized as output to the inverse quantization unit 244. It corresponds to the probability distribution P ( ⁇ Z i ⁇
  • the entropy decoding unit 242 recursively defines a reconstructed sequence that is equal to the input coded sequence, so that the quantized value including the quantized value code indicating the individual quantized value Z i is included. The code can be decoded.
  • the restored coding series is a code restored using the probability distribution P ( ⁇ Z i ⁇
  • the conversion series is shown.
  • the entropy decoding unit 242 can execute the process illustrated in FIG. 5 to determine the quantization series. Similar to the entropy coding unit 130, the entropy decoding unit 242 is preset with a plurality of codewords and a plurality of quantization candidate value codes. Here, the entropy decoding unit 242 uses a method corresponding to the reverse processing of the entropy coding method used by the entropy coding unit 130 as the entropy decoding method.
  • Step S222 The entropy decoding unit 242 segments the input coding sequence into a sequence of N codewords. In the division of codewords into forward sequences, the entropy decoding unit 242 sequentially identifies codewords having a bit string that matches the bit strings that are part of the input coding sequence in the division of the input coding sequence. In general, there are a plurality of sequences of N codewords included in an input coding sequence. Further, it is possible that a part of the preset codeword is not included in the divided sequence, or that the other part is included more than once.
  • Step S224 The entropy decoding unit 242 tentatively determines a quantization candidate value code corresponding to each codeword, and associates each codeword with one tentatively determined quantization candidate value code. Remember the set.
  • the entropy decoding unit 242 refers to the stored codeword set, determines the corresponding quantization candidate value code for each divided codeword, and corresponds to the codeword according to the arrangement order in the input coding series.
  • the quantization candidate value code is sequentially output to the inverse quantization unit 244 as the quantization value code.
  • the entropy decoding unit 242 sequentially multiplies the probability distribution P (Z i
  • Step S230 The entropy decoding unit 242 resets a codeword having a larger amount of information as the quantization candidate value code giving a lower appearance probability for each quantization candidate value code, and relates to the original quantization candidate value code.
  • the codeword set is updated to a codeword set in which the reconfigured codeword corresponding to the quantization candidate value code is associated with the codeword.
  • the entropy decoding unit 242 refers to the stored codeword set and refers to the quantum corresponding to each of the input probability distributions P (Z i
  • the quantization candidate value code equal to the quantization value code that gives the quantized value is specified, and the code word corresponding to the specified quantized candidate value code is specified.
  • the entropy decoding unit 242 concatenates the codewords specified for each quantized value code constituting the input coded sequence in the specified order to generate a coded sequence as a restored coded sequence. do.
  • Step S236 The entropy decoding unit 242 determines whether or not the generated restoration coding sequence and the input coding sequence are equal to each other. When it is determined that they are equal (step S236 YES), the process proceeds to step S238, and when it is determined that they are not equal (step S236 NO), the process returns to step S222, and the entropy decoding unit 242 proceeds from step S222 to this step. Repeat the process of. However, the entropy decoding unit 242 executes either one or both of (1) and (2) in the repeated process. Therefore, a different restored coded sequence is generated, and the generated restored coded sequence and the input coded sequence are collated.
  • step S222 the division pattern of N codewords into a sequence is changed to a new division pattern that has not been used in the executed processing.
  • step S224 the codewords and quantization candidates are changed. Change the correspondence relationship with the value code to a new correspondence relationship that was not used in the executed process.
  • Step S238) The entropy decoding unit 242 determines the sequence of the quantization value codes corresponding to each of the N codewords forming the restoration coding sequence as the quantization sequence which is the processing result of the entropy decoding.
  • the entropy decoding unit 242 outputs the determined quantization sequence to the inverse quantization unit 244. After that, the process of FIG. 6 is terminated.
  • the inverse quantization unit 244 is input from the entropy decoding unit 242, and each quantization value code included in the determined quantization series is dequantized and quantized using the quantization interval for the quantization value code. Calculate the value Z i .
  • the inverse quantization unit 244 outputs the calculated quantization value Z i to the output unit 250.
  • the output unit 250 holds the quantization value Z i input from the inverse quantization unit 244 as an output element value which is an element of the output value.
  • the output unit 250 outputs an output value including an output element value to the outside of the decoding device 20 or to another member.
  • the inverse quantization unit 244 In the inverse quantization unit 244, individual quantization value codes are sequentially input from the entropy decoding unit 242, and the quantization interval Q i with respect to the quantization value Z i related to the quantization value code is sequentially input.
  • the quantized value code input at this stage is the quantized value code input from the entropy decoding unit 242 input in step S226.
  • the dequantization unit 244 de-quantizes each quantized value code using the corresponding quantization interval Q i to calculate the quantized value Z i .
  • the inverse quantization unit 244 stores the determined quantization value in the quantization value storage unit 246.
  • the processing performed by the quantization value storage unit 246 and the quantization interval estimation unit 248 is the same as the processing performed by the quantization value storage unit 126 and the quantization interval estimation unit 128, respectively. That is, the quantized value Z i defined by the inverse quantized unit 244 is sequentially stored in the quantized value storage unit 246.
  • the quantized value stored in the quantized value storage unit 246 corresponds to the quantized value code defined by the entropy decoding unit 242.
  • the quantized values Z 1 , ..., Z i-1 determined in advance are stored in the quantized value storage unit 246.
  • the quantization interval estimation unit 248 uses the quantization interval model and the probability distribution model, and the quantization interval Q with respect to the quantization value Z i based on the processed quantization value stored in the quantization value storage unit 246.
  • Z i-1-N ,..., Z i-1 ) of the quantization candidate value for i and its quantization value Z i is determined respectively.
  • the quantization interval estimation unit 248 outputs the determined quantization interval Q i to the inverse quantization unit 244, and the probability distribution P ( ⁇ Z i ⁇
  • the entropy coding unit 130 and the entropy decoding unit 242 use, for example, the arithmetic coding method described in the following document and the corresponding decoding as a method for defining a code word corresponding to a quantized value code indicating an individual quantized value.
  • a processing method can be used. Jorma Rissanen and Glen G Langdon. Arithmetic coding. IBM Journal of research and development, 23 (2): 149-162, 1979 Glen G Langdon. An introduction to arithmetic coding. IBM Journal of research and development, 1984 Jun Han, et al. Deep Generative Video Compression. 33rd Conference on Neural Information Processing Systems (NeurIPS 2019), Vancouver, Canada, 2019
  • FIG. 2 is a schematic block diagram showing a hardware configuration example of the coding apparatus 10 according to the present embodiment.
  • the coding device 10 includes a processor 102, a drive unit 106, an input / output unit 108, a ROM 112, and a RAM 114.
  • the processor 102 controls the processing for exerting the function of the coding device 10 and the function of each part constituting the coding device 10.
  • the processor 102 is, for example, a CPU (Central Processing Unit).
  • the drive unit 106 makes the storage medium 104 removable, reads various data stored in the storage medium 104, or stores various data in the storage medium 104.
  • the drive unit 106 is, for example, a semiconductor drive (SSD: solid state drive).
  • the storage medium 104 is, for example, a volatile memory such as a RAM (Random Access Memory) or a flash memory.
  • the input / output unit 108 inputs or outputs various data wirelessly or by wire with other devices.
  • the input / output unit 108 may connect to other devices via a communication network so that various data can be input / output.
  • the input / output unit 108 may be, for example, any of an input / output interface, a communication interface, and the like, or any combination thereof.
  • the ROM (Read Only Memory) 112 is composed of a program in which instructions instructing various processes executed by each part of the coding apparatus 10 are described, various data such as parameters for the execution thereof, and each part of the coding apparatus 10. Permanently store various acquired data. In the following description, executing the process instructed by the instruction described in the program may be referred to as "execution of the program", "execution of the program", or the like.
  • the RAM 114 is mainly used as a work area of the CPU 110.
  • the CPU 10 records the program and parameters stored in the ROM 112 in the RAM 114 in response to its activation. Then, the CPU 110 temporarily records the calculation result obtained by the execution, the acquired data, and the like in the RAM 114.
  • Each part of the decoding device 20 may also be configured to include a dedicated member, but may also be configured to include the hardware configuration exemplified in FIG. 2.
  • FIG. 3 shows a CNN as an example of a machine learning model according to this embodiment.
  • CNN is a kind of artificial neural network, and includes one layer (input layer), a plurality of intermediate layers (intermediate layer, hidden layer), and one layer (output layer).
  • the CNN exemplified in FIG. 3 includes an input layer Il, an intermediate layer Ml-1 to Ml-L of an L layer (L is an integer of 2 or more), and an output layer Ol.
  • Each layer has a predetermined number of nodes (nodes).
  • the plurality of intermediate layers includes at least one convolutional layer and one pooling layer.
  • Each node of the input layer Il outputs the input value input to its own unit to at least one node of the next layer.
  • Each node of the output layer Ol outputs the input value input from at least one node of the immediately preceding layer to the outside.
  • the number of kernels is preset in the convolution layer. The number of kernels corresponds to the number of kernels used for processing (for example, calculation) for each input value. The number of kernels is usually less than the number of input values.
  • the kernel refers to a processing unit for calculating one output value at a time. The output value calculated in one layer is used as the input value to the next layer.
  • the kernel is also called a filter.
  • the kernel size indicates the number of input values used in one process in the kernel. The kernel size is usually an integer greater than or equal to 2.
  • the convolution value (convolved value) is calculated by performing a convolution operation for each kernel on the input value input from the immediately preceding layer at each of the multiple nodes, and the calculated convolution value and bias value (bias). Is a layer for calculating a corrected value by adding.
  • the convolution layer calculates the function value of a predetermined activation function for the calculated correction value, and outputs the calculated output value to the next layer.
  • One or more input values are input to each node of the convolution layer from the immediately preceding layer, and an independent convolution coefficient is used for each input value to calculate the convolution value at each node.
  • the parameters of the convolution coefficient, bias value and activation function are part of a set of model parameters.
  • the activation function for example, a rectified linear unit, a sigmoid function, etc. can be used.
  • the normalized linear unit is a function that sets an output value for an input value equal to or less than a predetermined threshold value (for example, 0) and outputs the input value exceeding the predetermined threshold value as it is. Therefore, this threshold can be part of a set of model parameters. Further, for the convolutional layer, the necessity of referencing the input value from the node of the immediately preceding layer and the necessity of outputting the output value to the node of the next layer can be a part of one set of model parameters.
  • the pooling layer is a layer having nodes that determine one representative value from input values input from a plurality of nodes of the immediately preceding layer and output the determined representative value as an output value to the next layer.
  • the representative value for example, a value that statistically represents a plurality of input values such as a maximum value, an average value, and a mode value is used.
  • a stride is set in advance for the pooling layer. The stride indicates the range of nodes adjacent to each other in the layer immediately before referring to the input value for one node. Therefore, the pooling layer can also be regarded as a layer that reduces the input value from the immediately preceding layer to a lower dimension (down-sampling) and provides the output value to the next layer.
  • the coding device 10 may include a parameter learning unit (not shown) for performing model learning processing on training data and acquiring a parameter set of each machine learning model. .. Training data may also be referred to as teacher data (supervised data), learning data (learning data), and the like. The training data is composed of a large number of data sets that are a set of known explanatory variables and known objective variables corresponding to the explanatory variables.
  • the parameter learning unit As training data for acquiring model parameters, the parameter learning unit has a plurality of data sets that are a set of a known input value as an explanatory variable and a known output value corresponding to the input value as an objective variable. Get it. Then, in parameter learning, the parameter learning unit determines the loss from the output value included in the data set with respect to the estimated value calculated by using a predetermined machine learning model for the input value contained in each data set.
  • the model parameters of the machine learning model can be calculated recursively so that the magnitude is minimized as a whole training data.
  • the parameter learning unit may use, for example, a gradient descent method, a stochastic gradient descent method, a conjugate gradient method, a back propagation method, and the like. Etc. can be used. Etc. can be used.
  • the minimization includes not only the absolute minimization but also the search for a model parameter that gives a smaller loss. Therefore, in the minimization procedure, the loss may temporarily increase.
  • the quantization interval estimation units 128 and 248 can set the model parameters calculated by the parameter learning units in their own machine learning model.
  • the parameter learning unit As input values (explanatory variables), the parameter learning unit has M quantization values Z i-1-M , ..., Z i-1 up to the immediately processed quantization value, and output values (objective variables).
  • a quantization interval vector indicating the quantization interval Q i defined for the quantization value Z i to be processed at that time is acquired, and a data set in which the input value and the output value are associated with each other is constructed.
  • the quantization interval vector is configured to include, as element values, the corresponding flags indicated by integer values 1 and 0, respectively, as element values for each predetermined quantization interval candidate value, indicating whether or not it corresponds to the quantization interval expressed by the vector. Will be done. Therefore, among the quantization interval candidate values included in the quantization interval vector, the value of the corresponding flag corresponding to the value equal to the defined quantization interval is 1, and the value of the corresponding flag corresponding to the other quantization interval candidate values is 1. Is 0.
  • the parameter learning unit When determining the quantization interval Q i shown as the output value, the parameter learning unit sets a predetermined cost value for each individual quantization interval candidate value for the input element value z i that gives the quantization value Z i .
  • the quantization interval candidate value that is calculated and gives the lowest cost value for quantization is defined as the optimal quantization interval Q i for the quantization value Z i .
  • the cost value is for calculating an index value indicating the quantization cost by synthesizing the first cost component indicating a higher cost as the amount of information is larger and the second cost component indicating a lower cost as the quantization error is smaller. It is an index value.
  • the larger the quantization interval Q i the smaller the amount of information in the quantization candidate value code for indicating the quantization value Z i , but the larger the quantization error. Since the first cost component and the second cost component have a trade-off tendency to change according to the change of the quantization interval Q i , one type of quantization is performed for a given input element value z i .
  • the interval Q i is determined. Therefore, the confidence of each quantization interval candidate value as the output value calculated using the quantization interval model for M quantization values Z i-1-M , ..., Z i-1 as input values. It is expected that the degree will be obtained.
  • the parameter learning unit can determine a multiplication value obtained by multiplying the bit length of the predetermined quantization candidate value code by the predetermined first weighting factor with respect to the quantization interval Q i as the first cost component.
  • the parameter learning unit rounds up the logarithm obtained based on the quotient ⁇ i obtained by dividing the value range width W i of the quantization value Z i to an integer value.
  • the second cost component for example, a real value that quantitatively indicates the magnitude of the quantization error can be applied.
  • the parameter learning unit uses, for example, a multiplication value obtained by multiplying the absolute value of the quantization error, which is the difference between the input element value z i and the quantization value Z i , by a predetermined second weighting coefficient as the second cost component. Can be determined.
  • the input element value and the quantized value are vectors, SSD, SAD, cross entropy and the like can be applied instead of the absolute value.
  • optimization includes not only determining the most appropriate quantization candidate value but also searching for a quantization candidate value that gives a lower cost value. Therefore, in the optimization procedure, the cost value may increase or the quantization candidate value giving a larger cost value may be determined.
  • the parameter learning unit As input values (explanatory variables), the parameter learning unit has M quantization values Z i-1-M , ..., Z i-1 up to the immediately processed quantization value, and output values (objective variables).
  • the probability distribution of the quantization candidate value for the quantization value Z i to be processed is acquired, and a data set in which the input value and the output value are associated with each other is constructed.
  • the probability distribution of the quantized candidate values corresponds to the frequency of appearance of the individual quantized candidate values. Further, there are a plurality of quantization candidate values for one quantization candidate value.
  • the parameter learning unit counts the appearance frequency of each quantization candidate value for each quantization interval Q i , and normalizes by dividing the counted appearance frequency by the sum of the appearance frequencies to determine the probability of the quantization candidate value. The distribution can be determined.
  • the parameter learning unit determines the quantum for the input element value z i among the quantization candidate values for the quantization interval Q i determined for each input element value z i . Increase the frequency of occurrence of quantization candidate values equal to the quantized value Z i by one time (increment), and maintain the frequency of appearance of other quantized candidate values.
  • the appearance probability for each quantization candidate value that is, It is expected that a probability distribution of quantization candidate values can be obtained.
  • FIG. 6 is a flowchart showing an example of the coding process according to the present embodiment.
  • Step S102 The input unit 122 acquires the input value to be processed and outputs it to the quantization unit 124.
  • the quantization interval estimation unit 128 determines the quantization interval of the quantization values to be processed by using the quantization interval model for N processed quantization values up to that point.
  • the quantization interval estimation unit 128 outputs the determined quantization interval to the quantization unit 124.
  • the quantization unit 124 quantizes the input element value included in the acquired input value using the quantization interval estimated by the quantization interval estimation unit 128.
  • the quantization unit 124 stores the quantization value obtained by quantization in the quantization value storage unit 126.
  • the quantization interval estimation unit 128 uses a probability distribution model for N processed quantization values up to that time, and is a quantization candidate related to the quantization value to be processed at that time. Estimate the probability distribution of values.
  • the quantization interval estimation unit 128 outputs the estimated probability distribution to the entropy coding unit 130.
  • the entropy coding unit 130 includes a quantization code indicating an individual quantization value calculated by the quantization unit 124 using the appearance probability estimated for each quantization value for each entropy coding unit. Entropy code the quantization series. The entropy coding unit 130 outputs a coding sequence generated by performing entropy coding. After that, the process shown in FIG. 6 is terminated.
  • FIG. 7 is a flowchart showing an example of the decoding process according to the present embodiment.
  • the quantization interval estimation unit 248 determines the quantization interval of the quantization values to be processed by using the quantization interval model for N processed quantization values up to that point.
  • the quantization interval estimation unit 248 outputs the determined quantization interval to the inverse quantization unit 244.
  • the quantization interval estimation unit 248 uses a probability distribution model for N processed quantization values up to that point in time, and a quantization candidate for the quantization value to be processed at that time point. Estimate the probability distribution of values.
  • the quantization interval estimation unit 128 outputs the estimated probability distribution to the entropy decoding unit 242.
  • Step S206 A coding sequence for each entropy decoding unit is input to the entropy decoding unit 242.
  • the entropy decoding unit 242 uses the appearance probability estimated for each quantization value to perform entropy decoding for the input quantization series.
  • the entropy decoding unit 242 outputs the quantization code included in the quantization series generated by performing the entropy decoding to the inverse quantization unit 244.
  • the inverse quantization unit 244 inversely quantizes the quantization code input from the entropy decoding unit 242 using the quantization interval input from the quantization interval estimation unit 248 to obtain a quantization value. calculate.
  • the dequantization unit 244 stores the quantized value obtained by dequantization in the quantized value storage unit 246.
  • the inverse quantization unit 244 outputs a quantization value based on the quantization code included in the quantization series determined by the entropy decoding unit 242 to the output unit 250.
  • the output unit 250 outputs an output value including the quantization value input from the inverse quantization unit 244 as an output element value. After that, the process shown in FIG. 7 is terminated.
  • FIG. 8 is a schematic block diagram showing a configuration example of the data processing system 1 according to the second embodiment.
  • the data processing system 1 includes a coding device 10 and a decoding device 20.
  • the coding device 10 includes an input unit 122, a quantization unit 124, a quantization value storage unit 126, a quantization interval estimation unit 128, an entropy coding unit 130, a probability distribution estimation unit 132, and a second quantization unit 134. Be prepared.
  • the probability distribution estimation unit 132 uses a predetermined probability distribution estimation model to quantize the input element value to be processed based on the quantized value of the processed input element value stored in the quantization value storage unit 126. Determine the continuous probability distribution of candidate values.
  • the probability distribution estimation unit 132 defines a predetermined distribution function parameter (hereinafter, referred to as “distribution function parameter”) indicating the characteristics of the continuous probability distribution.
  • a predetermined distribution function for example, a normal distribution (including a multidimensional normal distribution having two or more dimensions), a Poisson distribution, a Laplace distribution, or a weighted sum thereof can be applied.
  • the distribution function parameters are weight, mean, and variance for each normal distribution.
  • the distribution function parameters are the weighting factors, base, rate and random variable values (number of occurrences) for the individual Poisson distributions. If a given distribution function is the weighted sum of the Laplace distributions, the distribution function parameters are the weighting factors, scales and locations for the individual Laplace distributions.
  • the probability distribution estimation unit 132 calculates the distribution function parameters for the processed M quantized values Z i-1-M , ..., Z i-1 using the probability distribution estimation model. The probability distribution estimation unit 132 outputs the calculated distribution function parameter to the second quantization unit 134.
  • M quantization values Z i-1-M , ..., Z i-1 up to the immediately processed quantization value are used.
  • Z i-1-N ,..., Z i-1 ) of the quantization candidate value for the quantization value Z i to be processed is adopted as the output value.
  • the model learning unit performs a known regression analysis on the distribution function P (Z i
  • the quantization interval Q i is input to the second quantization unit 134 from the quantization interval estimation unit 128, and the distribution function parameter is input from the second quantization unit 134.
  • the second quantization unit 134 inputs the continuous probability distribution p ( ⁇ z i ⁇
  • Z i-1-N ,..., Z i-1 ) shows the probability of appearance for each quantization candidate value determined by the quantization interval. More specifically, the second quantization unit 134 gives a quantization candidate determined by using the quantization interval. Continuous probability distribution p ( ⁇ z i ⁇
  • the second quantization unit 134 may use a cumulative distribution function (CDF: Cumulative Distribution Function) for the continuous probability distribution in the integral operation of the one-dimensional continuous probability distribution.
  • CDF is an integral form of a continuous probability distribution.
  • the integral value in the range of the continuous probability distribution is a difference value obtained by subtracting the function value of CDF for the lower limit of the range from the function value of CDF for the upper limit of the range.
  • the entropy coding unit 130 performs entropy coding processing on the quantized series using the probability distribution P (Z i
  • Z i-1-N ,..., Z i-1 ) may be omitted. Therefore, the probability distribution model does not have to be set in the quantization interval estimation unit 128.
  • the probability distribution estimation unit 252 uses the probability distribution estimation model to process the quantized value to be processed based on the processed quantized value stored in the quantized value storage unit 246. Determine the continuous probability distribution of the quantization candidate values for. The continuous probability distribution is represented using the probability distribution parameters. The probability distribution estimation unit 252 outputs the determined probability distribution parameter to the quantization unit 254.
  • the quantization interval Q i is input to the quantization unit 254 from the quantization interval estimation unit 248, and the distribution function parameter is input from the quantization unit 254.
  • the quantization unit 254 uses the same method as the second quantization unit 134 to generate the continuous probability distribution p ( ⁇ z i ⁇
  • the quantization unit 254 outputs the generated probability distribution P (Z i
  • the entropy decoding unit 242 performs entropy coding processing on the quantized series using the probability distribution P (Z i
  • the quantization interval estimation unit 248 may omit the processing and configuration related to the estimation of the probability distribution P (Z i
  • the quantization candidate value constituting the probability distribution output from the second quantization unit 134 or the quantization unit 254 may be represented by using the quantization candidate value code.
  • FIG. 9 is a flowchart showing an example of the coding process according to the present embodiment.
  • the coding process according to the present embodiment includes the processes of steps S102, S104, S106, S108a, S108b and step S110.
  • the process proceeds to the processing of step S108a.
  • the probability distribution estimation unit 132 uses a predetermined probability distribution estimation model, and based on the quantized value of the processed input element value, the continuous probability distribution of the quantization candidate values with respect to the input element value to be processed. To determine.
  • Step S108b The second quantization unit 134 quantizes the continuous probability distribution determined by the probability distribution estimation unit 132 using the quantization interval defined by the quantization interval estimation unit 128, and the quantization value which is a discrete probability distribution. Generate a candidate probability distribution. After that, the process proceeds to step S110.
  • FIG. 10 is a flowchart showing an example of the decoding process according to the present embodiment.
  • the coding process according to the present embodiment includes the processes of steps S202, S204a, S204b, S206, S208 and step S210.
  • the process proceeds to the processing of step S204a.
  • the probability distribution estimation unit 252 determines a continuous probability distribution of quantization candidate values for the quantization value to be processed based on the processed quantization value by using a predetermined probability distribution estimation model.
  • Step S204b The quantization unit 254 quantizes the continuous probability distribution determined by the probability distribution estimation unit 252 using the quantization interval defined by the quantization interval estimation unit 248, and the quantization value candidate which is a discrete probability distribution. Generate a probability distribution. After that, the process proceeds to step S206.
  • processing target information is information indicated by an input value input to the coding device 10, a quantized value quantized by the coding device 10, or a quantized value decoded by the decoding device 20. Applies to.
  • the information to be processed may be any information that can be expressed as a quantized value obtained by being sequentially acquired spatially or temporally and quantized.
  • the processing target information may be, for example, a signal value for each pixel indicating an image, a predicted coding residual in a block forming a part of the image, a conversion coefficient to the frequency domain, or the like.
  • the processing target information may be any of predictive coefficients indicating frequency characteristics for each predetermined section, fundamental frequency, gain for each harmonic component, and the like. ..
  • the processing target information may be point cloud data (point cloud).
  • Point cloud data is data showing the state of the surface of an object in three-dimensional space.
  • the point cloud data is data showing the coordinates in the three-dimensional space for each of the plurality of sample points and the state (for example, color, brightness, temperature, pressure, etc.) at the coordinates.
  • an input value to be processed target information may be input to the coding device 10, and a feature analysis unit (feature analysis unit) for performing predetermined arithmetic processing in order to determine the processing target information from the input data to the own device. (Not shown) may be provided.
  • the arithmetic processing of the feature analysis unit may be a dedicated step for determining the processing target information from the input data, may be a part of the known coding processing, and is mainly coding. It may be a partial step of other unintended processing (eg, image recognition, voice recognition, surveillance, etc.).
  • the feature analysis unit uses, for example, image data indicating a signal value for each pixel or point group data indicating a signal value for each coordinate as input data, and uses a predetermined mathematical model with the signal value for each pixel as an explanatory variable. Feature quantities (features) including individual element values calculated by the above are generated as processing target information.
  • the predetermined mathematical model is a neural network
  • the feature analysis unit may provide the output value obtained as the objective variable as the processing target information, or the calculated value obtained in any of the intermediate layers as the processing target. It may be provided as information.
  • the decoding device 20 may output the quantized value to be processed obtained by the decoding process, or may perform a predetermined inverse operation process from the acquired quantized value to generate the restored output data.
  • the information restoration unit (not shown) may be provided.
  • the arithmetic processing of the information restoration unit may be a dedicated step for generating output data from the data to be processed, or may be a partial step for performing a known decoding process. , It may be a part of other processing (for example, image recognition, voice recognition, monitoring, etc.) whose main purpose is not decoding.
  • the information restoration unit calculates the signal value for each pixel using a predetermined mathematical model using, for example, a feature amount which is a quantization value restored as processing target information as an explanatory variable, and image data showing the calculated signal value.
  • a predetermined mathematical model is a neural network
  • the information restoration unit may process the processing target information as an input value obtained as an explanatory variable, or assumes that the input value is input as an explanatory variable.
  • the processing target information may be supplied instead of the calculated value obtained in the predetermined intermediate layer.
  • the predetermined intermediate layer may be a layer associated with the intermediate layer to which the feature analysis unit has provided the feature amount.
  • the information to be processed may be represented by a scalar, a vector, or a high-dimensional variable value in which each sample is represented by a vector of two or more dimensions.
  • the processing target information provided may be, for example, a feature quantity in which each sample contains element values specified in x rows, y columns, and c channels.
  • each sample is an output value or an operation value from one node constituting each layer, or an input value or an operation value to the one node, and is described above. Corresponds to index i.
  • the quantization interval model and the probability distribution model are each mathematical models, but the present invention is not limited to this.
  • M quantization values Z i-1-M , ..., Z i-1 are associated with the quantization interval Q i obtained for the input value as an output value. It may be a data table shown in.
  • the quantization interval estimation unit 128, 248 refers to the data table set in its own unit, and refers to the quantum corresponding to the processed M quantized values Z i-1-M , ..., Z i-1 .
  • Quantization interval Q i can be determined.
  • the probability distribution model is a probability distribution (or) of the quantization candidate values obtained for the input values as output values for each of M quantization values Z i-1-M , ..., Z i-1 as input values. It may be a data table showing in association with the distribution function parameter) of the probability distribution.
  • the quantization interval estimation unit 128, 248 or the probability distribution estimation units 132, 252 refer to the data table set in the own unit, and the processed M quantization values Z i-1-M , ..., It is possible to determine the probability distribution (or the distribution function parameter of the probability distribution) of the quantization candidate values corresponding to Z i-1 .
  • the processed quantization values Z i-1-M , ..., Z i-1 that the quantization interval estimation unit 128 and 248 refer to when determining the quantization interval Q i related to the quantization value Z i are set to It does not necessarily include the quantized value of the sample spatially or temporally adjacent to the quantized value Z i , but is spatially or temporally isolated from the quantized value Z i (eg, adjacent frame, adjacent block). (Block), or in-phase sample in adjacent slices) may only contain the quantized value. In-phase means that the relative ranks or positions in processing units such as frames, blocks, or slices are equal.
  • the already quantized value Z i-1-M ,..., Z i-1 does not necessarily include the quantized value of the sample spatially or temporally adjacent to the quantized value Z i , and the quantized value Z i It may contain only the quantized values of the samples that are spatially or temporally isolated.
  • FIG. 11 is a schematic block diagram illustrating the minimum configuration of the coding device 10.
  • FIG. 12 is a schematic block diagram illustrating the minimum configuration of the decoding device 20.
  • the coding device 10 includes an estimation unit 128m, a quantization unit 124, and an entropy coding unit 130.
  • the estimation unit 128m determines the quantization interval for quantizing the input element value, which is an element of the input value to be processed, based on the processed quantization value, and the processing target is based on the processed quantization value.
  • the quantization unit 124 quantizes the input element value using the quantization interval determined by the estimation unit 128m, and determines the quantization value.
  • the entropy coding unit 130 entropy-codes a quantization series including a quantization value code indicating the quantization value of the input element value using the probability distribution determined by the estimation unit 128m.
  • the decoding device 20 includes an estimation unit 248m, an entropy decoding unit 242, and an inverse quantization unit 244.
  • the estimation unit 248m dequantizes the quantized value code to be processed based on the processed quantized value, determines the quantization interval for determining the quantized value, and quantizes based on the processed quantized value. Determine the probability distribution of the quantization candidate value, which is a candidate for the quantization value.
  • the entropy decoding unit 242 entropy-decodes the coded sequence using the probability distribution determined by the estimation unit 248 m, and generates a quantized value sequence including the quantized value code to be processed.
  • the dequantization unit 244 dequantizes the quantized value code included in the quantized value series to determine the quantized value.
  • the quantization interval for the input element value to be processed and the probability distribution of the quantization candidate value are determined based on the processed quantization value.
  • a quantized value code for expressing a quantized value can be determined based on a probability distribution of quantized candidate values.
  • the quantization interval for the quantization value code to be processed and the probability distribution of the quantization candidate value are determined based on the processed quantization value.
  • a quantized value code for expressing a quantized value can be determined based on a probability distribution of quantized candidate values.
  • the decoding device 20 uses the coding sequence obtained by the coding to quantize the quantization interval used in the coding device 10, and thus the quantum.
  • the quantized value can be reconstructed.
  • the estimation unit 128m may be realized in different forms such as the quantization interval estimation unit 128 (FIG. 1), or the quantization interval estimation unit 128 and the probability distribution estimation unit 132 (FIG. 8).
  • the estimation unit 128m is determined by the quantization unit 124 using a mathematical model in which the processed quantization value is used as an explanatory variable and the quantization interval for quantizing the input element value is set as the objective variable.
  • the quantization interval may be determined from the processed quantization value. With this configuration, the quantization interval from the processed quantization value to the input element value to be processed is determined.
  • the estimation unit 248m also uses a mathematical model in which the processed quantization value is used as an explanatory variable and the quantization interval for dequantizing the quantization value code to be processed is the objective variable.
  • the quantization interval may be determined from the processed quantization value defined by 244.
  • the quantization interval for the processing target is predicted from the processed quantization value. Therefore, when the input element value to be processed is quantized or the quantization value code is dequantized, the quantization interval according to the processing target is acquired. Therefore, the delay in quantization or dequantization can be suppressed.
  • the estimation unit 128m uses the processed quantization value as an explanatory variable, and quantizes the distribution function parameter, which is a parameter of the probability distribution function indicating the appearance probability of the quantization candidate value, which is a candidate for the quantization value to be processed.
  • the distribution function parameter of the probability distribution function may be determined from the processed quantization value determined by the quantization unit 124 using a mathematical model set with the quantization interval for the purpose as the objective variable.
  • the coding apparatus 10 may include a second quantization unit 134 (FIG. 8) that discriminates the probability distribution function for each quantization candidate value based on the quantization interval and determines the probability distribution of the quantization candidate value. ..
  • the estimation unit 248m uses the processed quantization value as an explanatory variable, and quantizes the distribution function parameter which is a parameter of the probability distribution function indicating the appearance probability of the quantization candidate value which is a candidate of the quantization value to be processed.
  • the distribution function parameter of the probability distribution function may be determined from the processed quantization value determined by the inverse quantization unit 244 by using a mathematical model in which the quantization interval for the purpose is set as the objective variable.
  • the decoding device 20 may include a quantization unit 254 (FIG. 8) that discriminates the probability distribution function for each quantization candidate value based on the quantization interval and determines the probability distribution of the quantization candidate value.
  • the appearance probability of the quantization candidate value is expressed by a smaller number of distribution function parameters as a whole. Therefore, it is possible to reduce the amount of calculation related to the calculation of the appearance probability of the quantization candidate value.
  • the quantization interval may be a vector including N (N is a predetermined integer of 2 or more) for each interval.
  • the section is a range in which the range of the input element value is divided into N pieces. Since the quantization interval for each section can be different for each section, it is possible to obtain a quantization value with different accuracy depending on the section.
  • the coding apparatus 10 uses a mathematical model in which the signal value for each pixel constituting the image is used as an explanatory variable and the feature amount including a plurality of element values is used as the objective variable, and the element value of the feature amount is obtained from the signal value. It may be provided with a feature analysis unit defined as an input element value.
  • the decoding device 20 uses a mathematical model in which a feature amount including a plurality of element values is used as an objective variable and a signal value for each pixel constituting the image as an explanatory variable, and a signal for each pixel is obtained from the element values included in the feature amount. It may be provided with an information recovery unit that determines a value. With this configuration, it is possible to encode the feature amount obtained from the image data showing the signal value for each pixel. Further, it is possible to reconstruct the image data showing the signal value for each pixel from the decoded feature amount.
  • the entropy coding unit 130 is a code indicating the quantization candidate value in the coding unit based on the probability distribution of the quantization candidate value for each quantization value of the input element value in the predetermined coding unit. The probability of appearance for each candidate value code may be determined. The entropy coding unit 130 may determine a code word corresponding to the quantization candidate value code based on the appearance probability, and generate a code word including the code word corresponding to the quantized value. Further, the entropy decoding unit 242 quantizes a code indicating the quantization candidate value in the decoding unit based on the probability distribution of the quantization candidate value for each quantization value indicated by the quantization value code in the predetermined decoding unit.
  • the appearance probability for each candidate value code may be determined.
  • the entropy decoding unit 242 may determine a code word corresponding to a quantized candidate value code based on a determined appearance probability, and may determine a quantized value code corresponding to each code word constituting the coding series.
  • a codeword is defined according to the appearance probability of each coding candidate value code for each coding unit or decoding unit, and a quantization value corresponding to the quantization candidate value corresponding to the defined codeword is expressed. .. Therefore, it is possible to reduce the amount of information in the entire coding series for each coding unit or decoding unit.
  • the above-mentioned coding device 10 and decoding device 20 may each have a computer system inside.
  • the processor described above can be a component of a computer system.
  • each process of the above-mentioned processing is stored in a computer-readable storage medium in the form of a program, and the processing is performed by reading and executing this program by a computer.
  • the computer system shall include software such as an OS (Operation System), device driver, utility program, and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a portable medium such as a magnetic disk, a magneto-optical disk, a ROM (ReadOnlyMemory), a semiconductor memory, and a storage device such as a hard disk built in a computer system.
  • a computer-readable recording medium is a medium that dynamically holds a program for a short time, such as a communication line used when transmitting a program using a network such as the Internet or a communication line such as a telephone line. It may also include a program that holds a program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or a client. Further, the above program may be for realizing a part of the above-mentioned functions, and further, a so-called difference file (difference) which can realize the above-mentioned functions in combination with a program already recorded in the computer system. It may be a program).
  • a part or all of the coding device 10 or the decoding device 20 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
  • LSI Large Scale Integration
  • Each functional block of the coding device 10 or the decoding device 20 may be individually processed into a processor, or a part or all of them may be integrated into a processor.
  • the method of making an integrated circuit is not limited to the LSI, and may be realized by a dedicated circuit or a general-purpose processor. Further, when an integrated circuit technology that replaces an LSI appears due to advances in semiconductor technology, an integrated circuit based on this technology may be used.
  • the quantization interval for the input element value to be processed and the quantization candidate value are based on the processed quantization value.
  • the probability distribution is determined.
  • a quantized value code for expressing a quantized value can be determined based on a probability distribution of quantized candidate values. Therefore, the decoding device can reconstruct the quantization interval and thus the quantization value used for the quantization in the coding device without providing the information of the quantization interval from the coding device. Therefore, the quantized value can be compatible with the reduction of the amount of information related to the expression.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
PCT/JP2020/046638 2020-12-15 2020-12-15 符号化装置、復号装置、符号化方法、復号方法およびプログラム Ceased WO2022130477A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022569349A JP7521603B2 (ja) 2020-12-15 2020-12-15 符号化装置、復号装置、符号化方法、復号方法およびプログラム
PCT/JP2020/046638 WO2022130477A1 (ja) 2020-12-15 2020-12-15 符号化装置、復号装置、符号化方法、復号方法およびプログラム
US18/266,173 US12425594B2 (en) 2020-12-15 2020-12-15 Encoding device, decoding device, encoding method, decoding method, and program
JP2024110556A JP7838598B2 (ja) 2020-12-15 2024-07-09 符号化装置および復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/046638 WO2022130477A1 (ja) 2020-12-15 2020-12-15 符号化装置、復号装置、符号化方法、復号方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2022130477A1 true WO2022130477A1 (ja) 2022-06-23

Family

ID=82057438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046638 Ceased WO2022130477A1 (ja) 2020-12-15 2020-12-15 符号化装置、復号装置、符号化方法、復号方法およびプログラム

Country Status (3)

Country Link
US (1) US12425594B2 (https=)
JP (2) JP7521603B2 (https=)
WO (1) WO2022130477A1 (https=)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119917567B (zh) * 2025-04-02 2025-06-13 山东征途信息科技股份有限公司 一种基于大数据的物联设备的数据管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053618A (ja) * 1999-08-06 2001-02-23 Mitsubishi Heavy Ind Ltd 画像符号化方法、画像符号化装置および記録媒体
JP2014502827A (ja) * 2011-01-14 2014-02-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化および復号化スキーム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003339047A (ja) 2001-07-26 2003-11-28 Ricoh Co Ltd 画像圧縮装置、画像伸長装置、画像圧縮伸長装置、画像圧縮方法、画像伸長方法、プログラム、及び該プログラムを記録した記録媒体
JP5087627B2 (ja) 2006-09-28 2012-12-05 トムソン ライセンシング 効果的なレート制御および拡張したビデオ符号化品質のためのρ領域フレームレベルビット割り当てのための方法
JP4802200B2 (ja) 2008-02-14 2011-10-26 日本電信電話株式会社 映像品質推定装置、方法、およびプログラム
HUE037656T2 (hu) * 2010-04-13 2018-09-28 Fraunhofer Ges Forschung Valószínûség intervallum partícionáló kódoló és dekódoló
EP2734942A4 (en) 2011-08-23 2014-06-04 Huawei Tech Co Ltd ESTIMATOR FOR ESTIMATING PROBABILITY DISTRIBUTION OF A QUANTIFICATION INDEX
JP6244864B2 (ja) 2013-12-06 2017-12-13 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP6311821B2 (ja) 2017-04-18 2018-04-18 富士通株式会社 動画像処理装置及び動画像処理方法
US11997275B2 (en) 2018-08-27 2024-05-28 AT Technologies ULC Benefit-based bitrate distribution for video encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053618A (ja) * 1999-08-06 2001-02-23 Mitsubishi Heavy Ind Ltd 画像符号化方法、画像符号化装置および記録媒体
JP2014502827A (ja) * 2011-01-14 2014-02-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化および復号化スキーム

Also Published As

Publication number Publication date
US20240048703A1 (en) 2024-02-08
US12425594B2 (en) 2025-09-23
JP7838598B2 (ja) 2026-04-01
JP7521603B2 (ja) 2024-07-24
JPWO2022130477A1 (https=) 2022-06-23
JP2024124559A (ja) 2024-09-12

Similar Documents

Publication Publication Date Title
JP3017380B2 (ja) データ圧縮方法及び装置並びにデータ伸長方法及び装置
KR100281165B1 (ko) 효율적 처리를 위한 데이터의 다중 해상도의 무손실/유손실 압축 및 기억 방법 및 그 시스템
US10382789B2 (en) Systems and methods for digital media compression and recompression
JP7233875B2 (ja) 作成方法、コンピュータ及びプログラム
WO2022190195A1 (ja) 情報処理システム、符号化装置、復号装置、モデル学習装置、情報処理方法、符号化方法、復号方法、モデル学習方法、および、プログラム記憶媒体
JP7838598B2 (ja) 符号化装置および復号装置
JP2968666B2 (ja) 画像符号化方法および装置
EP2372699B1 (en) Coding of audio or video samples using multiple quantizers
JPH10336654A (ja) 画像符号化装置
JP7534239B2 (ja) 演算装置、圧縮方法
EP4676047A1 (en) Image decoding and encoding method and apparatus, device, and storage medium
HUE033524T2 (en) Procedure for compressing data
US20020039449A1 (en) Image compression apparatus
JP2006270737A (ja) 復号化装置、分布推定方法、復号化方法及びこれらのプログラム
US8260070B1 (en) Method and system to generate a compressed image utilizing custom probability tables
JP2004064126A (ja) 画像符号化装置および画像符号化方法、コンピュータプログラム
EP4730205A1 (en) Model quantization method and apparatus, and device and storage medium
Lakshmi A Novel Image Compression Technique With the Application of Discrete Tchebichef Transform and Singular Value Decomposition (Dtt-svd)
CN116437087A (zh) 图像处理方法及装置、电子设备和存储介质
WO1994030002A1 (en) Digital image compression using tile subdivision
US8117149B1 (en) Prediction weighting method based on prediction contexts
WO2025212980A1 (en) Method, apparatus, and medium for visual data processing
JPH1028266A (ja) 画像符号化装置
CN115880379A (zh) 语义可伸缩图像编码方法、系统、设备及存储介质
CN119277093A (zh) 图像处理方法及装置

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: 20965865

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022569349

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18266173

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20965865

Country of ref document: EP

Kind code of ref document: A1

WWG Wipo information: grant in national office

Ref document number: 18266173

Country of ref document: US