WO2021187023A1 - 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム - Google Patents
画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム Download PDFInfo
- Publication number
- WO2021187023A1 WO2021187023A1 PCT/JP2021/006754 JP2021006754W WO2021187023A1 WO 2021187023 A1 WO2021187023 A1 WO 2021187023A1 JP 2021006754 W JP2021006754 W JP 2021006754W WO 2021187023 A1 WO2021187023 A1 WO 2021187023A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- coefficient
- conversion
- image
- quantization
- prediction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000006243 chemical reaction Methods 0.000 claims abstract description 237
- 238000013139 quantization Methods 0.000 claims abstract description 163
- 230000008569 process Effects 0.000 claims abstract description 90
- 230000009466 transformation Effects 0.000 claims description 67
- 238000000926 separation method Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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 set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to image coding.
- HEVC High Efficiency Video Coding
- HEVC High Efficiency Video Coding
- the Main 10 profile corresponds to an image with a bit depth of 8 bits to 10 bits.
- a profile corresponding to a 12-bit or 16-bit image is defined.
- Japanese Unexamined Patent Publication No. 2014-131172 discloses a coding technique corresponding to an image coding method corresponding to such a high bit depth.
- VVC Very Video Coding
- VVC in coding processing such as orthogonal transformation and quantization, the ease of implementation is improved by limiting the value of the processing result. Specifically, by limiting the possible values of the coefficient after the quantization process (hereinafter referred to as the quantization coefficient) to -32768 to 32767, the coefficient coding process and the inverse quantization process on the decoding side can be performed. It facilitates implementation. As a result, in VVC, it is considered that the hardware mounting cost does not increase so much even when encoding an image with a high bit depth. On the other hand, due to the above-mentioned restrictions, there is a problem that the calculation accuracy is lowered and the image quality is not improved, especially for an image having a high bit depth.
- the image coding apparatus of the present invention has, for example, the following configuration so that the range of possible values of the coefficient value in the coding or decoding process can be adaptively determined. That is, the image coding apparatus first performs a prediction means for generating a prediction error which is a difference between the prediction image obtained by the prediction processing for the input image and the input image, and an orthogonal conversion process for the prediction error. The first conversion means for generating the conversion coefficient, the second conversion means for generating the second conversion coefficient by performing LFNST processing on the first conversion coefficient, and the quantization for the second conversion coefficient.
- It has a quantization means for performing processing to generate a quantization coefficient and a coding means for encoding the quantization coefficient, and the coding means has at least a range of values that the second conversion coefficient can take. Encodes information indicating whether the range is determined by the bit depth or a fixed range.
- the image decoding device of the present invention has, for example, the following configuration. That is, the image decoding device is an image decoding device that decodes an image from the input bit stream, and performs a decoding means for decoding the quantization coefficient from the bit stream and an inverse quantization process on the quantization coefficient.
- the decoding means has a second conversion means for deriving a prediction error by performing an inverse orthogonal conversion process, and the decoding means has at least a range of values that the first conversion coefficient can take, which is a range determined by the bit depth. The information indicating whether to set the coefficient or the fixed range is decoded from the bit stream.
- the image coding apparatus of the present invention has, for example, the following configuration. That is, the image coding apparatus encodes the prediction error by using a prediction means for generating a prediction error which is a difference between the prediction image obtained by the prediction processing for the input image and the input image, and at least BDPCM processing. It has a coding means, and the coding means encodes information indicating whether at least a range of values obtained by the BDPCM processing is a range determined by a bit depth or a fixed range. do.
- the image decoding device of the present invention has, for example, the following configuration. That is, the image decoding device is an image decoding device that decodes an image from the input bit stream, and predicts from the quantization coefficient by using a decoding means that decodes the quantization coefficient from the bit stream and at least BDPCM processing. It has an inverse quantization means for deriving an error, and the decoding means indicates whether at least the range of values obtained by the BDPCM processing is a range determined by the bit depth or a fixed range. Information is decoded from the bitstream.
- FIG. 1 is a block configuration diagram of the image coding device 100 of the present embodiment.
- the image coding device 100 has a control unit 150 that controls the entire device.
- the control unit 150 has a CPU, a ROM for storing a program executed by the CPU, and a RAM used as a work area of the CPU.
- the image coding device 100 includes an input terminal 101, a block division unit 102, a coefficient range information generation unit 103, a prediction unit 104, a conversion / quantization unit 105, an inverse quantization / inverse conversion unit 106, and an image reproduction unit 107. It has a frame memory 108, an in-loop filter unit 109, a coding unit 110, an integrated coding unit 111, and an output terminal 112.
- the input terminal 101 inputs the image data to be encoded in frame units.
- the image data is acquired from an imaging device that captures an image, a file server that stores the image data to be encoded, a storage medium, or the like, but the type is not limited.
- the output terminal 112 outputs the coded data to the output destination device, and the output destination device is not particularly limited to a storage medium, a file server, or the like.
- the block division unit 102 divides the image of the input frame (picture) into a plurality of basic blocks, and outputs one of the basic blocks to the prediction unit 104 in the subsequent stage in order.
- the basic block may be a block of 128 ⁇ 128 pixels, or a block of 64 ⁇ 64 pixels or 32 ⁇ 32 pixels may be a basic block. Further, a smaller block may be used as a basic block.
- the basic block is, for example, a coding tree unit or a coding unit.
- the basic block may be a unit that can be further subdivided into subblocks.
- the coefficient range information generation unit 103 generates coefficient range information indicating a range of possible values of the coefficient value, which is the result of each coding process described later, and the subsequent conversion / quantization unit 105, inverse quantization / inverse conversion. Output to unit 106 and integrated coding unit 111.
- the prediction unit 104 determines the sub-block division for the image data in the basic block unit. At this time, the prediction unit 104 determines whether or not to divide the basic block into sub-blocks, and if so, how to divide the basic block. If not divided into subblocks, the subblock will be the same size as the basic block.
- the subblock may be a square or a rectangle other than a square.
- the prediction unit 104 performs intra-frame prediction, which is intra-frame prediction, inter-frame prediction, which is inter-frame prediction, and the like in divided sub-block units, and generates prediction image data for each sub-block unit.
- the prediction unit 104 selects, for example, a prediction method to be performed for a certain subblock from intra-prediction, inter-prediction, and prediction that combines intra-prediction and inter-prediction, and performs the selected prediction. To generate predicted image data for the subblock.
- the prediction unit 104 calculates and outputs a prediction error in pixel units from the input image data and the predicted image data in subblock units. For example, the prediction unit 104 calculates the difference between each pixel value of the image data of the subblock and each pixel value of the predicted image data generated by the prediction for the subblock, and calculates it as a prediction error.
- the prediction unit 104 provides information necessary for prediction, for example, information indicating subblock division (division state from basic block to subblock) (information indicating how the basic block is divided into subblocks). Output together with the prediction error. Further, the prediction unit 104 also outputs information such as a prediction mode and a motion vector used in the prediction of the sub-block together with the prediction error.
- prediction information the information necessary for this prediction will be referred to as prediction information.
- the conversion / quantization unit 105 orthogonally converts the prediction error input from the prediction unit 104 in subblock units to obtain an orthogonal conversion coefficient representing each frequency component of the prediction error. Further, the conversion / quantization unit 105 determines whether or not to perform low-frequency conversion on the low-frequency portion of the orthogonal transformation coefficient, and generates the information as low-frequency conversion information. That is, the low-frequency conversion information is information indicating whether or not to perform low-frequency conversion on the low-frequency portion of the orthogonal transformation coefficient. When low-frequency conversion is applied to the sub-block, the conversion / quantization unit 105 applies low-frequency conversion processing to the low-frequency component of the obtained orthogonal conversion coefficient to obtain a low-frequency conversion coefficient, and further lower-frequency conversion coefficient.
- the conversion / quantization unit 105 performs quantization of the orthogonal transformation coefficient to obtain a residual coefficient.
- the low frequency conversion is a process of LFNST (Low frequency non-separable transform), and is a process of converting the orthogonal transformation coefficient and reproducing (deriving) the low frequency conversion coefficient.
- the inverse quantization / inverse conversion unit 106 inputs the residual coefficient and low frequency conversion information from the conversion / quantization unit 105, inversely quantizes the residual coefficient, and reproduces the conversion coefficient. At this time, the inverse quantization / inverse conversion unit 106 reproduces the conversion coefficient with respect to the residual coefficient input from the conversion / quantization unit 105 by using the quantization matrix and the quantization parameter. In this way, the process of regenerating (deriving) the conversion coefficient from the residual coefficient using the quantization matrix and the quantization parameter is referred to as inverse quantization.
- the quantization matrix does not necessarily have to be used in the inverse quantization process.
- the quantization matrix when the quantization matrix is not used in the quantization process of the conversion / quantization unit 105, the quantization matrix is not used in the inverse quantization process of the inverse quantization / inverse conversion unit 106.
- whether or not the quantization matrix is applied may be determined depending on whether or not low frequency conversion has been performed in the subblock. For example, if low frequency conversion is performed in the sub-block, dequantization is performed without using the quantization matrix, and if not, dequantization is performed using the quantization matrix.
- the inverse quantization / inverse conversion unit 106 determines whether or not low frequency conversion has been performed on the subblock based on the input low frequency conversion information.
- the inverse quantization / inverse conversion unit 106 is inversely opposite to the conversion coefficient (low frequency conversion coefficient) obtained by inverse quantization with respect to the residual coefficient.
- the low-frequency conversion process is performed to reproduce the orthogonal transformation coefficient, and the orthogonal transformation coefficient is further subjected to inverse orthogonal transformation to reproduce the prediction error.
- the inverse quantization / inverse conversion unit 106 obtains a conversion coefficient (orthogonal conversion coefficient) by inversely quantizing the residual coefficient. Is subjected to inverse orthogonal transformation to reproduce the prediction error.
- the inverse low frequency conversion process indicates the process of inverse LFNST, and is a process of converting the low frequency conversion coefficient and reproducing (deriving) the orthogonal conversion coefficient.
- the image reproduction unit 107 generates prediction image data by appropriately referring to the frame memory 108 based on the prediction information output from the prediction unit 104.
- the image reproduction unit 107 adds the prediction error input from the inverse quantization / inverse conversion unit 106 to the predicted image data to generate the reproduced image data (reconcluded picture) and stores it in the frame memory 108.
- the in-loop filter 109 performs in-loop filter processing such as a deblocking filter and a sample adaptive offset on the reproduced image stored in the frame memory 108, and stores the filtered image data in the frame memory 108 again.
- the coding unit 110 encodes the residual coefficient and low frequency conversion information output from the conversion / quantization unit 105, and the prediction information output from the prediction unit 104 to generate code data, and the integrated coding unit 111. Output to.
- the integrated coding unit 111 encodes the coefficient range information from the coefficient range information generation unit 103 and generates the coefficient range information code. Then, the header code data including the coefficient range information code is generated. Then, the integrated coding unit 111 causes the header code data to follow the code data output from the coding unit 110 to form a bit stream. Then, the integrated coding unit 111 outputs the formed bit stream via the output terminal 112.
- 16-bit moving image data is input from the input terminal 101 in frame units, but still image data for one frame may be input.
- the block division unit 101 will be described as dividing the image data input from the input terminal into basic blocks of 8 ⁇ 8 pixels.
- the basic block referred to here is, for example, a coding tree unit.
- the size of the coding tree unit is 8 ⁇ 8 pixels will be described, but other sizes may be used.
- the size may be any one of 32 ⁇ 32 pixels to 128 ⁇ 128 pixels.
- the range of possible values of the coefficients in the coding process of the present embodiment is determined.
- the coefficient range information generation unit 103 indicates whether the range of possible values of the coefficient in the coding process is variable depending on the bit depth of the input image or the range is fixed regardless of the bit depth.
- the high-precision coefficient range is the one in which the range of possible values of the coefficient in the coding process is variable depending on the bit depth of the former image
- the fixed coefficient is the one in which the range is fixed regardless of the bit depth of the latter image. Called a range.
- the coefficient range information is 1 when the former high-precision coefficient range is selected, and 0 when the latter fixed coefficient range is selected.
- the combination of the selected coefficient range and the coefficient range information is not limited to these.
- the method for determining the coefficient range information is not particularly limited, and the coefficient range information may be determined prior to the coding process assuming the application used by the coding apparatus and the corresponding decoding apparatus, or may be selected by the user. good.
- the coefficient range information is set to 1, otherwise it is set to 0. It is in good condition.
- the generated coefficient range information is output to the integrated coding unit 111, the conversion / quantization unit 105, and the inverse quantization / inverse conversion unit 106.
- the integrated coding unit 111 encodes the coefficient range information input from the coefficient range information generation unit 103 to generate a coefficient range information code, and integrates the coefficient range information code into the header information required for encoding the image data.
- the image data for one frame input from the input terminal 101 is supplied to the block division unit 102.
- the block division unit 102 divides the input one-frame image data into a plurality of basic blocks, and outputs the image data in basic block units to the prediction unit 104.
- image data in basic block units of 8 ⁇ 8 pixels is supplied to the prediction unit 104.
- the prediction unit 104 executes prediction processing on the image data of the basic block unit input from the block division unit 102. Specifically, the sub-block division that divides the basic block into smaller sub-blocks is determined, and the prediction modes such as intra-prediction and inter-prediction are further determined for each sub-block. Intra-prediction uses coded pixels located in the spatial periphery of the block to be coded to generate prediction pixels of the block to be coded, and intra-prediction indicating an intra-prediction method such as horizontal prediction, vertical prediction, and DC prediction. Also generate a mode.
- the predicted pixels of the coded target block are generated using the encoded pixels of the frame whose frame is different in time from the coded target block, and the motion information indicating the frame to be referred to, the motion vector, and the like is also generated.
- FIG. 7B shows an example of the conventional square subblock division, in which the 8 ⁇ 8 pixel basic block 701 is divided into four 4 ⁇ 4 pixel subblocks.
- FIGS. 7C to 7F represent an example of rectangular subblock division.
- FIG. 7C shows that the basic block 702 is divided into two subblocks (longitudinal in the vertical direction) having a size of 4 ⁇ 8 pixels.
- FIG. 7C shows that the basic block 702 is divided into two subblocks (longitudinal in the vertical direction) having a size of 4 ⁇ 8 pixels.
- 7D shows that the basic block 703 is divided into two subblocks (horizontally longitudinal) having a size of 8 ⁇ 4 pixels.
- 7E and 7F are divided into three rectangular sub-blocks at a ratio of 1: 2: 1 in the case of the basic blocks 704 and 705, although the division method is different. In this way, not only the square but also the rectangular sub-block is used for the coding process.
- FIG. 7A in which the basic block having an 8 ⁇ 8 pixel size is not divided into sub-blocks, is used, but the sub-block division method is not limited to this.
- a quadtree division as shown in FIG. 7B, a ternary division as shown in FIGS. 7E and 7F, or a binary tree division as shown in FIGS. 7C and 7D may be used.
- the prediction unit 104 generates prediction image data from the determined prediction mode and the encoded area stored in the frame memory 108, and further predicts an error in pixel units from the input image data and the prediction image data. Is calculated, and the error is output to the conversion / quantization unit 105. Further, the prediction unit 104 outputs information such as subblock division and prediction mode as prediction information to the coding unit 110 and the image reproduction unit 107.
- the conversion / quantization unit 105 first inputs the coefficient range information from the coefficient range generation unit 103, and determines the range of possible values of the coefficient in the conversion process and the quantization process.
- the result of each calculation such as one-dimensional orthogonal transformation in each of the horizontal and vertical directions, secondary transformation in which the coefficient after orthogonal transformation is further converted, and quantization is performed.
- the range in which the coefficient can be taken shall be determined.
- the combination of the coefficient range information and the possible range of the coefficient of each calculation result is not limited to these.
- since the bit depth of the input image is 16, it will be in the range of -32768 to 32767 or ⁇ 838608 to 8388607 depending on the coefficient range information.
- the processing when each calculation result is out of the above range is not particularly limited, but the result can be kept within the above range by the clip processing or the bit shift processing.
- the conversion / quantization unit 105 performs orthogonal transformation / quantization on the prediction error input from the prediction unit 104 based on the above-mentioned coefficient range, and generates a residual coefficient. Specifically, the conversion / quantization unit 105 first performs an orthogonal transformation process corresponding to the size of the subblock on the prediction error to generate an orthogonal transformation coefficient. Next, the conversion / quantization unit 105 determines whether or not to perform low-frequency conversion on the low-frequency portion of the orthogonal transformation coefficient, generates the information as low-frequency conversion information, and the inverse quantization / inverse conversion unit 106. And output to the coding unit 110.
- the method for determining the low-frequency conversion information is not particularly limited, but the low-frequency conversion is further performed when the orthogonal transformation coefficient is concentrated on the low-frequency component and further improvement in compression efficiency can be expected by performing the low-frequency conversion. Can be applied.
- the conversion / quantization unit 105 performs low frequency conversion on the low frequency portion of the orthogonal transformation coefficient to generate a low frequency conversion coefficient, while high frequency without low frequency conversion. The component is treated as if it was 0 regardless of the value of the orthogonal transformation coefficient. Then, when the low frequency conversion is performed, the conversion / quantization unit 105 quantizes the low frequency conversion coefficient and generates a residual coefficient. On the other hand, when low frequency conversion is not performed, the conversion / quantization unit 105 quantizes the orthogonal transformation coefficient and generates a residual coefficient.
- the coefficient range information is input from the coefficient range generation unit 103, and the possible values of the coefficients in the inverse quantization processing and the inverse conversion processing are obtained. Determine the range.
- the inverse quantization process, the inverse low frequency conversion process for the low frequency component, and the one-dimensional inverse in the vertical / horizontal direction are performed based on the table shown in FIG. It is assumed that the range in which the coefficient of each calculation result such as the orthogonal transformation process can be taken is determined.
- the range since the bit depth of the input image is 16 as in the conversion / quantization unit 105, the range is set to -32768 to 32767 or ⁇ 838608 to 8388607 according to the coefficient range information.
- the inverse quantization / inverse conversion unit 106 reproduces the conversion coefficient by inversely quantizing the residual coefficient input from the conversion / quantization unit 105 based on the above-mentioned coefficient range. Further, the inverse quantization / inverse conversion unit 106 determines whether or not low frequency conversion is performed on the subblock based on the low frequency conversion information input from the conversion / quantization unit 105. When the subblock is subjected to low frequency conversion, the inverse quantization / inverse conversion unit 106 performs an inverse low frequency conversion process on the conversion coefficient to reproduce the orthogonal transformation coefficient, and further reverses the orthogonal transformation coefficient. Orthogonal transformation is performed to reproduce the prediction error.
- the inverse quantization / inverse transformation unit 106 performs inverse orthogonal transformation of the conversion coefficient and reproduces the prediction error.
- the prediction error reproduced in this way is output to the image reproduction unit 107.
- the values of CoeffMin and CoeffMax in the equation (1) are determined based on the coefficient range information.
- the coefficient range information is 0, that is, when the fixed coefficient range is selected, CoeffMin is -32768, CoeffMax is 32767, and the output value can be represented by signed 16 bits.
- the coefficient range information is 1, that is, when the high-precision coefficient range is selected, CoeffMin is ⁇ 838608, and CoeffMax is 8388607.
- the image reproduction unit 107 appropriately refers to the frame memory 108 based on the prediction information input from the prediction unit 104, and reproduces the predicted image. Then, the image reproduction unit 107 generates the reproduced image data based on the reproduced predicted image and the prediction error reproduced by the inverse quantization / inverse conversion unit 106, and stores the reproduced image data in the frame memory 108.
- the in-loop filter unit 109 reads the reproduced image data from the frame memory 108 and performs in-loop filter processing such as a deblocking filter. Then, the in-loop filter unit 109 re-stores the filtered image data in the frame memory 108.
- the coding unit 110 entropy-codes the residual coefficient and low-frequency conversion information in subblock units generated by the conversion / quantization unit 105, and the prediction information input from the prediction unit 104, and generates code data. ..
- the method of entropy coding is not particularly specified, but Golomb coding, arithmetic coding, Huffman coding, etc. can be used.
- the coding unit 110 outputs the generated code data to the integrated coding unit 111.
- the integrated coding unit 111 forms a bit stream by multiplexing the code data input from the coding unit 110 together with the code data of the header described above. Then, the integrated coding unit 111 outputs the formed bit stream from the output terminal 112 to the outside (storage medium, network, etc.).
- FIG. 6A is an example of the data structure of the bit stream output in this embodiment.
- the sequence header contains a coefficient range information code.
- the encoded position is not limited to this, and of course, a configuration in which the image header portion as shown in FIG. 6B or the header portion spanning a plurality of pictures is encoded may be used.
- FIG. 3 is a flowchart showing the coding process for one frame of the control unit 150 in the image coding device 100 of the embodiment.
- control unit 150 controls the coefficient range information generation unit 103 to generate the coefficient range information.
- control unit 150 controls the integrated coding unit 111 to encode the coefficient range information generated in S301 and generate the coefficient range information code.
- control unit 150 controls the integrated coding unit 111 to encode and output the header information necessary for encoding the image data together with the generated coefficient range information code.
- control unit 150 controls the block division unit 102 to divide the input image in frame units into basic block units.
- control unit 150 controls the prediction unit 104 to execute prediction processing on the image data of the basic block unit generated in S304, and predictive information such as sub-block division information and prediction mode and Generate predicted image data. Further, the control unit 150 controls the prediction unit 104 to calculate the prediction error from the input image data and the prediction image data.
- the control unit 150 controls the conversion / quantization unit 105, and determines the coefficient range in the coding process of this step based on the coefficient range information generated in S301. For example, when the coefficient range information is 1, the control unit 150 determines the coefficient range in the coding process of this step as a high-precision coefficient range, and when the coefficient range information is 0, in the coding process of this step. The coefficient range is determined as the fixed coefficient range. Next, the control unit 150 controls the conversion / quantization unit 105 to perform orthogonal transformation on the prediction error calculated in S305, and generate an orthogonal transformation coefficient.
- the control unit 150 controls the conversion / quantization unit 105 to determine whether or not to perform low-frequency conversion on the orthogonal transformation coefficient generated in the subblock, and uses that information as low-frequency conversion information. Generate. When it is determined to perform low frequency conversion, the control unit 150 controls the conversion / quantization unit 105 to perform low frequency conversion on the low frequency component of the orthogonal transformation coefficient, and then perform quantization, and the residual coefficient. To generate. On the other hand, when it is determined not to perform low frequency conversion, the control unit 150 controls the conversion / quantization unit 105 to quantize the orthogonal transformation coefficient and generate a residual coefficient.
- the control unit 150 controls the inverse quantization / inverse transformation unit 106, and determines the coefficient range in the coding process of this step based on the coefficient range information generated in S301. For example, when the coefficient range information is 1, the control unit 150 determines the coefficient range in the coding process of this step as a high-precision coefficient range, and when the coefficient range information is 0, in the coding process of this step. The coefficient range is determined as the fixed coefficient range.
- the control unit 150 controls the inverse quantization / inverse conversion unit 106, causes the residual coefficient generated in S306 to be inversely quantized, and regenerates the conversion coefficient.
- control unit 150 controls the inverse quantization / inverse conversion unit 106, and determines whether or not the low frequency conversion has been performed in the subblock based on the low frequency conversion information generated in S306.
- the control unit 150 controls the inverse quantization / inverse conversion unit 106 and causes the conversion coefficient to be subjected to the inverse low frequency conversion process to reproduce the orthogonal transformation coefficient.
- the orthogonal transformation coefficient is subjected to inverse orthogonal transformation to reproduce the prediction error.
- the control unit 150 controls the inverse quantization / inverse transformation unit 106 to perform inverse orthogonal transformation on the conversion coefficient to reproduce the prediction error. ..
- control unit 150 controls the image reproduction unit 107, reproduces the predicted image based on the prediction information generated in S305, and generates image data from the reproduced predicted image and the prediction error generated in S307. It is reproduced and stored in the frame memory 108.
- control unit 150 controls the coding unit 110 to encode the prediction information generated in S305 and the residual coefficient and low frequency conversion information generated in S306 to generate code data. .. Further, the coding unit 110 outputs the generated code data to the integrated coding unit 111. The integrated coding unit 111 positions and outputs the coded data from the coding unit 110 so as to follow the previously generated header.
- control unit 150 determines whether or not the coding of all the basic blocks in the frame of interest has been completed. The control unit 150 proceeds to S311 when it determines that it has finished, returns processing to S304 when it determines that an uncoded basic block remains, and continues encoding for the next basic block. Let me.
- control unit 150 controls the in-loop filter unit 109, performs in-loop filter processing on the image data reproduced in S308, generates a filtered image, and ends the processing.
- the coefficient range has been described as a range of possible values of the coefficient resulting from the conversion process or the quantization process, but as a range of possible values of the coefficient resulting from other coding processing. You may use it.
- a technique called BDPCM Block-based Delta Pulse Code Modulation
- BDPCM Block-based Delta Pulse Code Modulation
- BDPCM instead of encoding the residual coefficient that has been converted and quantized for the prediction error, BDPCM only performs quantization without converting the prediction error to generate the quantization coefficient, left or This is a method of encoding the difference value from the quantization coefficient adjacent to the top.
- the coefficient range may be applied to this difference value.
- the coefficient range information code can be omitted. This is because the minimum coefficient value and the maximum coefficient value are equal regardless of the coefficient range information, which can reduce redundant codes.
- the bit depth of the input image from which the coding of the coefficient range information can be omitted is not limited to 8 bits, and the code of the coefficient range information when the minimum coefficient value and the maximum coefficient value are equal regardless of the coefficient range information in other embodiments. It is possible to omit the conversion.
- FIG. 2 is a block configuration diagram of an image decoding device 200 that decodes the coded image data generated by the image coding device 100 in the embodiment.
- the configuration and its operation related to the decoding process will be described with reference to the figure.
- the image decoding device 200 has a control unit 250 that controls the entire device.
- the control unit 250 has a CPU, a ROM for storing a program executed by the CPU, and a RAM used as a work area of the CPU.
- the image decoding device 200 includes an input terminal 201, a separation decoding unit 202, a decoding unit 203, an inverse quantization / inverse conversion unit 204, an image reproduction unit 205, a frame memory 206, an in-loop filter unit 207, an output terminal 208, and the like.
- the input terminal 201 inputs a coded bit stream
- the input source is, for example, a storage medium storing the coded stream, but it may be input from a network, and the type thereof does not matter.
- the separation / decoding unit 202 separates the bitstream into code data related to information related to decoding processing and coefficients, and decodes the code data existing in the header part of the bitstream.
- the separation decoding unit 202 of the present embodiment separates the coefficient range information code and outputs it to the coefficient range information decoding unit 209. Further, the separation / decoding unit 202 outputs the code data of the image to the decoding unit 203.
- the coefficient range information decoding unit 209 reproduces the coefficient range information by decoding the coefficient range information code supplied from the separation decoding unit 202, and outputs the coefficient range information to the subsequent inverse quantization / inverse conversion unit 204.
- the decoding unit 203 decodes the code data of the image output from the separation decoding unit 202, and reproduces the residual coefficient, the low frequency conversion information, and the prediction information.
- the inverse quantization / inverse conversion unit 204 performs inverse quantization on the residual coefficient and reproduces the conversion coefficient which is the coefficient after the inverse quantization, as in the inverse quantization / inverse conversion unit 106 of FIG. Further, the inverse quantization / inverse transformation unit 204 uses the low frequency conversion information to determine whether or not the subblock has undergone low frequency transformation. When the sub-block is subjected to low-frequency conversion, the inverse quantization / inverse conversion unit 204 performs inverse low-frequency conversion processing on the low-frequency conversion coefficient to reproduce the orthogonal transformation coefficient. The inverse quantization / inverse conversion unit 204 further executes an inverse orthogonal transformation on the orthogonal transformation coefficient or the conversion coefficient to reproduce the prediction error. On the other hand, when the subblock is not subjected to low frequency conversion, the inverse quantization / inverse conversion unit 204 performs inverse orthogonal transformation of the orthogonal transformation coefficient and reproduces the prediction error.
- the image reproduction unit 205 generates the predicted image data by appropriately referring to the frame memory 206 based on the input prediction information. Then, the image reproduction unit 205 generates the reproduction image data from the predicted image data and the prediction error reproduced by the inverse quantization / inverse conversion unit 204, and stores the reproduced image data in the frame memory 206.
- the in-loop filter unit 207 performs in-loop filter processing such as a deblocking filter on the reproduced image data stored in the frame memory 206, and frames the processed image data. Restore in memory 206.
- in-loop filter processing such as a deblocking filter
- the output terminal 208 sequentially outputs the frame images stored in the frame memory 206 to the outside.
- the output destination is generally a display device, but other devices may be used.
- the encoded bit stream is input in frame units.
- the bit stream for one frame input from the input terminal 201 is supplied to the separation / decoding unit 202.
- the separation / decoding unit 202 separates the bitstream into information related to the decoding process and code data related to the coefficient, and decodes the code data existing in the header unit of the bitstream. Then, the separation decoding unit 202 supplies the coefficient range information code included in the header unit to the coefficient range information decoding unit 209, and supplies the code data of the image data to the decoding unit 203.
- the separation decoding unit 202 first extracts the coefficient range information code from the sequence header of the bit stream shown in FIG. 6A and outputs it to the coefficient range information decoding unit 209. Subsequently, the code data of the basic block unit of the picture data is extracted and output to the decoding unit 203.
- the coefficient range information decoding unit 209 decodes the coefficient range information code input from the separation decoding unit 202 to obtain the coefficient range information. Similar to the coding side, when the coefficient range information is 1, the high-precision coefficient range is used, and when the coefficient range information is 0, the fixed coefficient range is used. The coefficient range information is output to the inverse quantization / inverse transformation unit 204. In the present embodiment, a 16-bit image is input on the coding side and a 16-bit image is output on the decoding side. Therefore, when the coefficient range information is 0, the coefficient range information is -32768 to 32767, and the coefficient range information is 1. In that case, the range will be in the range of ⁇ 838608 to 8388607.
- the decoding unit 203 decodes the code data supplied from the separation decoding unit 202, reproduces the prediction information, and further reproduces the residual coefficient and the low frequency conversion information. First, the decoding unit 203 reproduces the prediction information and acquires the prediction mode used in the subblock. The decoding unit 203 outputs the reproduced residual coefficient and low frequency conversion information to the inverse quantization / inverse conversion unit 204, and outputs the reproduced prediction information to the image reproduction unit 205.
- the inverse quantization / inverse transformation unit 204 performs inverse quantization on the input residual coefficient based on the above-mentioned coefficient range to generate a conversion coefficient. Then, the inverse quantization / inverse conversion unit 204 determines whether or not the low frequency conversion has been performed in the subblock based on the input low frequency conversion information. When low frequency conversion is applied to the subblock, the inverse quantization / inverse conversion unit 204 performs low frequency conversion processing on the conversion coefficient to reproduce the orthogonal transformation coefficient, and further inversely orthogonal to the orthogonal transformation coefficient. Perform conversion and reproduce the prediction error.
- the inverse quantization / inverse transformation unit 204 performs inverse orthogonal transformation on the conversion coefficient to reproduce the prediction error.
- the prediction error reproduced in this way is output to the image reproduction unit 205.
- the image reproduction unit 205 appropriately refers to the frame memory 206 based on the prediction information input from the decoding unit 203, and reproduces the predicted image.
- the image reproduction unit 205 of the present embodiment uses intra-prediction and inter-prediction as in the prediction unit 104 on the coding side. Since the specific prediction processing is the same as that of the prediction unit 104 on the coding side, the description thereof will be omitted.
- the image reproduction unit 205 reproduces the image data from the predicted image and the prediction error input from the inverse quantization / inverse conversion unit 204, and stores the image data in the frame memory 206. The stored image data is used as a reference when making a prediction.
- the in-loop filter unit 207 reads the reproduced image from the frame memory 206 and performs in-loop filter processing such as a deblocking filter. Then, the in-loop filter unit 207 re-stores the filtered image in the frame memory 206.
- the reproduced image stored in the frame memory 206 is finally output from the output terminal 208 to the outside (a display device is a representative example).
- FIG. 4 is a flowchart showing a decoding process of the control unit 205 in the image decoding device 200 according to the embodiment.
- the control unit 250 controls the separation / decoding unit 202 to separate the bitstream into code data related to information related to decoding processing and coefficients, and decodes the code data of the header portion. More specifically, the separation decoding unit 202 supplies the coefficient range information code to the coefficient range information decoding unit 209, and supplies the code data of the image to the decoding unit 203.
- control unit 250 controls the coefficient range information decoding unit 209 to decode the coefficient range information code reproduced in S401.
- the specific operation of the coefficient range information decoding unit 209 here has already been explained and will be omitted.
- control unit 250 controls the decoding unit 203, decodes the code data separated in S401, reproduces the prediction information, and reproduces the residual coefficient and the low frequency conversion information.
- the control unit 250 controls the inverse quantization / inverse transformation unit 204, returns to the coefficient range information decoded in S402, and determines the coefficient range in the decoding process of this step. For example, when the coefficient range information is 1, the control unit 150 determines the coefficient range in the decoding process of this step as the high-precision coefficient range, and when the coefficient range information is 0, the coefficient range in the decoding process of this step. Is determined as the fixed coefficient range.
- the control unit 250 controls the inverse quantization / inverse conversion unit 204, performs inverse quantization on the residual coefficient reproduced in S403, and generates a conversion coefficient.
- control unit 250 controls the inverse quantization / inverse conversion unit 204, and determines whether or not the low frequency conversion has been performed in the subblock based on the low frequency conversion information reproduced in S403.
- the control unit 250 controls the inverse quantization / inverse conversion unit 204 and causes the conversion coefficient to be subjected to the inverse low frequency conversion process to reproduce the orthogonal transformation coefficient. Then, the orthogonal transformation coefficient is subjected to inverse orthogonal transformation to reproduce the prediction error.
- the control unit 250 controls the inverse quantization / inverse transformation unit 204 to perform inverse orthogonal transformation on the conversion coefficient to reproduce the prediction error. ..
- the control unit 250 controls the image reproduction unit 205 to reproduce the image based on the prediction information generated in S403. Specifically, the image reproduction unit 205 reproduces the predicted image with reference to the frame memory 206 based on the prediction information. At this time, the image reproduction unit 205 uses intra-prediction and inter-prediction as in S305 on the coding side. Then, the image reproduction unit 205 reproduces the image data from the reproduced predicted image and the prediction error generated in S404, and stores the reproduced image data in the frame memory 206.
- control unit 250 determines whether or not the decoding of all the basic blocks in the frame of interest has been completed, and if so, proceeds to S407, and if there is an unsigned basic block. Returns the process for decoding the next basic block back to S403.
- control unit 250 controls the in-loop filter unit 207, performs in-loop filter processing on the image data reproduced in S405, generates a filtered image, and ends the processing.
- the coefficient range has been described as a range of possible values of the coefficient resulting from the inverse quantization processing or the inverse transformation processing, but a range of possible values of the coefficient resulting from other decoding processing.
- This coefficient range may be applied in the BDPCM processing as in the case of the coding side, for example.
- dz [x] [y] Clip3 (CoffMin, CoffMax, dz [x-1] [y] + dz [x] [y]) ... (2) (However, Clip3 (a, b, c) indicates a process of clipping the value c with the minimum value a and the maximum value b.)
- the above equation (2) is one of the calculation equations used in the decoding process of BDPCM, and the quantization coefficient dz [x-1] [y] on the left side of the reproduction of the quantization coefficient dz [x] [y]. The difference value is added to, and the clipping process is performed in the coefficient range.
- the CoffMin and CoffMax of the formula (2) correspond to the minimum coefficient value and the maximum coefficient value of FIG.
- the quantization coefficient dz [x] [y] which is the output of Eq. (2), takes the range of -32768 to 32767 and is 16 bits with a sign. Can be expressed.
- a 16-bit multiplication / addition instruction or the like can be used in the inverse quantization process, which is the subsequent decoding process, there is an advantage that the mounting cost can be suppressed.
- the coefficient range information is 1, that is, when the high-precision coefficient range is selected, the implementation cost in the subsequent decoding process such as the inverse quantization process is high, but the high-precision decoding process can be realized. .. As a result, the bit stream generated by increasing the compression efficiency on the coding side can be decoded with higher image quality.
- each processing unit included in the image coding device 100 and the image decoding device 200 of the above embodiment is configured by hardware.
- the processing performed by each processing unit shown in these figures may be configured by a computer program.
- FIG. 5 is a block diagram showing a configuration example of computer hardware applicable to the image coding device 100 and the image decoding device 200 according to the above embodiment.
- the CPU 501 controls the entire computer using computer programs and data stored in the RAM 502 and ROM 503, and performs each of the above-described processes as performed by the image coding device 100 or the image decoding device 200 according to the above embodiment. Run. That is, the CPU 501 functions as each processing unit shown in FIGS. 1 and 2.
- the RAM 502 has an area for temporarily storing data acquired from the outside via the external storage device 506 and the I / F (interface) 507. Further, the RAM 502 is also used as a work area used by the CPU 501 when executing various processes.
- the RAM 502 can be allocated as a frame memory, for example, or various other areas can be provided as appropriate.
- the ROM 503 stores the setting data of this computer, the boot program, and the like.
- the operation unit 504 is composed of a keyboard, a mouse, and the like, and can be operated by a user of the computer to input various instructions to the CPU 501.
- the display unit 505 displays the processing result by the CPU 501.
- the display unit 505 is composed of, for example, a liquid crystal display.
- the external storage device 506 is a large-capacity information storage device represented by a hard disk drive device.
- the external storage device 506 stores an OS (operating system) and a computer program (application program) for realizing the functions of the respective parts shown in FIGS. 1 and 2 in the CPU 501. Further, each image data as a processing target may be stored in the external storage device 506.
- the computer programs and data stored in the external storage device 506 are appropriately loaded into the RAM 502 according to the control by the CPU 501, and are processed by the CPU 501.
- a network such as a LAN or the Internet, or other devices such as a projection device or a display device can be connected to the I / F 507, and the computer acquires and sends various information via the I / F 507. Can be done.
- Reference numeral 508 is a bus connecting the above-mentioned parts.
- the CPU 501 executes the boot program stored in the ROM 503, loads the OS stored in the external storage device 506 into the RAM 502, and executes the boot program. Then, under the control of the OS, the CPU 501 loads the application program related to coding or decoding from the external storage device 506 into the RAM 502 and executes it.
- the CPU 501 functions as each processing unit of FIG. 1 or 2, and the present device functions as an image coding device or an image decoding device.
- the present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
- a circuit for example, ASIC
- the range of possible values of the coefficient value in the coding or decoding process can be adaptively determined.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
入力画像に対する予測処理により得られた予測画像と入力画像との差分である予測誤差を生成する予測手段と、予測誤差に直交変換処理を行って第一の変換係数を生成する第一の変換手段と、第一の変換係数に対しLFNST処理を行って第二の変換係数を生成する第二の変換手段と、第二の変換係数に対し量子化処理を行って量子化係数を生成する量子化手段と、量子化係数を符号化する符号化手段とを有し、符号化手段は、少なくとも第二の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化する。
Description
本発明は、画像の符号化に関するものである。
動画像の圧縮記録の符号化方式として、HEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。HEVCでは符号化技術の制限を定義した複数のプロファイルが定義されており、Main 10プロファイルは8ビット~10ビットまでのビット深度の画像に対応している。また、HEVCにおいては、さらに高いビット深度の画像にも対応するため、12ビットや16ビットの画像にも対応したプロファイルが定義されている。特開2014-131172号公報には、このような高ビット深度に対応した画像符号化方式に対応した符号化技術が開示されている。
近年、HEVCの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。JVET(Joint Video Experts Team)がISO/IECとITU-Tの間で設立され、VVC(Versatile Video Coding)符号化方式(以下、VVC)として標準化が進められている。符号化効率向上のため、VVCでは従来の直交変換に加え、直交変換を施した後の係数(以下、直交変換係数と記す)の低周波成分に対しさらに二次的な変換(LFNST、以下低周波変換と呼称する)を施す新たな技術も検討されている。
VVCでは、直交変換や量子化などといった符号化処理において、処理結果の値に制限を加えることにより、実装の容易性を高めている。具体的には、量子化処理後の係数(以下、量子化係数と記す)の取り得る値を-32768~32767に制限することで、係数の符号化処理や復号側での逆量子化処理の実装を容易にしている。これにより、VVCでは、高ビット深度の画像を符号化する場合においてもハードウェアの実装コストはさほど上昇しないと考えられている。一方で上述のような制限により、特に高ビット深度の画像に対しては演算精度の低下が発生し、画質が向上しないといった問題が生じている。
符号化または復号処理における係数値の取り得る値の範囲を適応的に決定できるようにするため、本発明の画像符号化装置は、例えば、以下の構成を備える。すなわち、画像符号化装置は、入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測手段と、前記予測誤差に直交変換処理を行って第一の変換係数を生成する第一の変換手段と、前記第一の変換係数に対しLFNST処理を行って第二の変換係数を生成する第二の変換手段と、前記第二の変換係数に対し量子化処理を行って量子化係数を生成する量子化手段と、前記量子化係数を符号化する符号化手段とを有し、前記符号化手段は、少なくとも前記第二の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化する。
また、上記課題を解決するため、本発明の画像復号装置は、例えば、以下の構成を備える。すなわち、画像復号装置は、入力されたビットストリームから画像を復号する画像復号装置であって、前記ビットストリームから量子化係数を復号する復号手段と、前記量子化係数に逆量子化処理を施して第一の変換係数を導出する逆量子化手段と、前記第一の変換係数に対し逆LFNST処理を施して第二の変換係数を導出する第一の変換手段と、前記第二の変換係数に対し逆直交変換処理を施して予測誤差を導出する第二の変換手段とを有し、前記復号手段は、少なくとも前記第一の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号する。
また、上記課題を解決するため、本発明の画像符号化装置は、例えば、以下の構成を備える。すなわち、画像符号化装置は、入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測手段と、少なくともBDPCM処理を用いて前記予測誤差を符号化する符号化手段とを有し、前記符号化手段は、少なくとも前記BDPCM処理により得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化する。
また、上記課題を解決するため、本発明の画像復号装置は、例えば、以下の構成を備える。すなわち、画像復号装置は、入力されたビットストリームから画像を復号する画像復号装置であって、前記ビットストリームから量子化係数を復号する復号手段と、少なくともBDPCM処理を用いて前記量子化係数から予測誤差を導出する逆量子化手段とを有し、前記復号手段は、少なくとも前記BDPCM処理によって得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号する。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態において示す構成は一例に過ぎず、図示された構成に限定されるものではない。
(実施形態1)
実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わされてもよい。さらに添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わされてもよい。さらに添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
図1は本実施形態の画像符号化装置100のブロック構成図である。画像符号化装置100は、装置全体の制御を司る制御部150を有する。この制御部150はCPU、CPUが実行するプログラムを格納するROM、CPUのワークエリアとして利用するRAMを有する。また、画像符号化装置100は、入力端子101、ブロック分割部102、係数レンジ情報生成部103、予測部104、変換・量子化部105、逆量子化・逆変換部106、画像再生部107、フレームメモリ108、インループフィルタ部109、符号化部110、統合符号化部111、および、出力端子112を有する。
入力端子101は、符号化対象の画像データをフレーム単位に入力する。画像データは、画像を撮像する撮像装置や、符号化対象の画像データを記憶したファイルサーバや記憶媒体等から取得されるが、その種類は問わない。また、出力端子112は、符号化データを出力先装置に出力するが、その出力先装置も記憶媒体、ファイルサーバ等、特に問わない。
ブロック分割部102は、入力したフレーム(ピクチャ)の画像を複数の基本ブロックに分割し、その1つを基本ブロックとして後段の予測部104に順に出力する。また、一例として、基本ブロックは、128×128画素のブロックでもよいし、64×64画素や32×32画素のブロックを基本ブロックとしてもよい。また、更に小さいブロックを基本ブロックとしてもよい。また、基本ブロックとは、例えば、coding treeunitやcoding unitである。基本ブロックとは、サブブロックへと、更に細かく分割可能な単位であればよい。
係数レンジ情報生成部103は、後述の各符号化処理の結果である係数値の取り得る値の範囲を示す係数レンジ情報を生成し、後段の変換・量子化部105、逆量子化・逆変換部106、統合符号化部111に出力する。
予測部104は、基本ブロック単位の画像データに対し、サブブロック分割を決定する。このとき、予測部104は、基本ブロックをサブブロックへと分割するか否かを決定し、分割するとすればどのように分割するか決定する。サブブロックへ分割しない場合、サブブロックは基本ブロックと同じサイズとなる。サブブロックは正方形でもよいし、正方形以外の長方形であってもよい。
そして、予測部104は、分割したサブブロック単位でフレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、サブブロック単位の予測画像データを生成する。このとき、予測部104は、例えば、あるサブブロックに対して行う予測方法を、イントラ予測、インター予測、及び、イントラ予測とインター予測とを組み合わせた予測の中から選択し、選択した予測を行って、当該サブブロックのための予測画像データを生成する。
さらに、予測部104は、入力された画像データと予測画像データから画素単位の予測誤差をサブブロック単位で算出し、出力する。例えば、予測部104は、サブブロックの画像データの各画素値と、当該サブブロックに対する予測によって生成された予測画像データの各画素値との差分を算出し、それを予測誤差として算出する。
また、予測部104は、予測に必要な情報、例えばサブブロック分割(基本ブロックからサブブロックへの分割状態)を示す情報(基本ブロックがどのようにサブブロックに分割されているかを示す情報)を予測誤差と併せて出力する。また、予測部104は、当該サブブロックの予測で用いる予測モードや動きベクトル等の情報も予測誤差と併せて出力する。以降、この予測に必要な情報を予測情報と呼称する。
変換・量子化部105は、予測部104から入力した予測誤差をサブブロック単位で直交変換して、予測誤差の各周波数成分を表す直交変換係数を得る。また、変換・量子化部105は、直交変換係数の低周波部分に低周波変換を施すか否かを決定し、その情報を低周波変換情報として生成する。つまり、低周波変換情報は、直交変換係数の低周波部分に低周波変換を施すか否かを示す情報である。当該サブブロックに低周波変換を施す場合、変換・量子化部105は、得られた直交変換係数の低周波成分に低周波変換処理を施して低周波変換係数を得て、さらに低周波変換係数を量子化することで残差係数(量子化後の直交変換係数)を得る。一方、当該サブブロックに低周波変換を施さない場合、変換・量子化部105は、直交変換係数の量子化を行い、残差係数を得る。なお、低周波変換とは、LFNST(Low frequency non-separable transform)の処理を示し、直交変換係数を変換して低周波変換係数を再生(導出)する処理である。
逆量子化・逆変換部106は、変換・量子化部105から残差係数および低周波変換情報を入力し、残差係数に対して逆量子化し変換係数を再生する。このとき、逆量子化・逆変換部106は、変換・量子化部105から入力された残差係数に対し、量子化マトリクスと量子化パラメータとを用いて、変換係数を再生する。このように、量子化マトリクスと量子化パラメータとを用いて、残差係数から変換係数を再生(導出)する処理を逆量子化と称するものとする。なお、逆量子化の処理において量子化マトリクスは必ずしも用いなくてもよい。特に変換・量子化部105の量子化処理において量子化マトリクスが用いられなかった場合、逆量子化・逆変換部106の逆量子化処理には量子化マトリクスは用いられない。さらには、当該サブブロックにおいて低周波変換が施されていたか否かによって、量子化マトリクスの適用の有無を決定してもよい。例えば、当該サブブロックにおいて低周波変換が施されていた場合には量子化マトリクスを用いずに逆量子化し、そうでない場合には量子化マトリクスを用いて逆量子化をするといった具合である。
また、逆量子化・逆変換部106は、入力された低周波変換情報に基づき当該サブブロックに対し低周波変換が施されていたか否かの判定を行う。当該サブブロックに対し低周波変換が施されていた場合、逆量子化・逆変換部106は、残差係数に対して逆量子化することで得られた変換係数(低周波変換係数)に逆低周波変換処理を施して直交変換係数を再生し、さらに当該直交変換係数に逆直交変換を施し予測誤差を再生する。一方、当該サブブロックに対し低周波変換が施されていなかった場合、逆量子化・逆変換部106は、残差係数に対して逆量子化することで得られた変換係数(直交変換係数)に逆直交変換を施して予測誤差を再生する。なお、逆低周波変換処理とは、逆LFNSTの処理を示し、低周波変換係数を変換して直交変換係数を再生(導出)する処理である。
画像再生部107は、予測部104から出力された予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成する。画像再生部107は、この予測画像データに、逆量子化・逆変換部106から入力された予測誤差を加算することで、再生画像データ(reconstructed picture)を生成し、フレームメモリ108に格納する。
インループフィルタ109は、フレームメモリ108に格納されている再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理後の画像データを再度フレームメモリ108に格納する。
符号化部110は、変換・量子化部105から出力された残差係数や低周波変換情報、予測部104から出力された予測情報を符号化して、符号データを生成し、統合符号化部111に出力する。
統合符号化部111は、係数レンジ情報生成部103からの係数レンジ情報を符号化し、係数レンジ情報符号を生成する。そして係数レンジ情報符号を含むヘッダ符号データを生成する。そして、統合符号化部111は、ヘッダ符号データに、符号化部110から出力された符号データと後続させ、ビットストリームを形成する。そして、統合符号化部111は、形成したビットストリームを、出力端子112を介して出力する。
ここで、画像符号化装置における画像の符号化動作をより詳しく以下に説明する。本実施形態では、入力端子101より、16ビットの動画像データをフレーム単位に入力する構成とするが、1フレーム分の静止画データを入力する構成としても構わない。また、本実施形態では説明のため、ブロック分割部101においては、入力端子より入力した画像データを8×8画素の基本ブロックに分割するものとして説明する。また、ここでいう、基本ブロックは、例えば、coding tree unitである。なお、一例として、coding tree unitのサイズが8×8画素である例について説明するが、他のサイズでもよい。例えば、32×32画素~128×128画素の内のいずれかのサイズでもよい。
画像の符号化に先立ち、本実施形態の符号化処理における係数の取り得る値の範囲を決定する。
係数レンジ情報生成部103は、入力された画像のビット深度によって符号化処理における係数の取り得る値の範囲を可変とするか、ビット深度によらず当該範囲を固定とするかを示す係数レンジ情報を生成する。以下、前者の画像のビット深度によって符号化処理における係数の取り得る値の範囲を可変としたものを高精度係数レンジ、後者の画像のビット深度によらず当該範囲を固定としたものを固定係数レンジと呼称する。本実施形態では、前者の高精度係数レンジが選択された場合には係数レンジ情報は1、後者の固定係数レンジが選択された場合には係数レンジ情報は0となるものとする。ただし、選択された係数レンジと係数レンジ情報との組み合わせはこれらに限定されない。また、係数レンジ情報の決定方法も特に限定されず、本符号化装置および対応する復号装置が使用するアプリケーションを想定して符号化処理に先立って決定してもよいし、ユーザによって選択されてもよい。例えば、本実施形態の画像符号化装置100が画質最優先で演算精度を重視するアプリケーションで使用されることが想定される場合には、係数レンジ情報を1とし、そうでなければ0とするといった具合である。生成された係数レンジ情報は、統合符号化部111、変換・量子化部105および逆量子化・逆変換部106に出力される。
統合符号化部111は、係数レンジ情報生成部103から入力された係数レンジ情報を符号化して係数レンジ情報符号を生成し、画像データの符号化に必要なヘッダ情報に統合する。
続いて、画像データの符号化が行われる。入力端子101から入力された1フレーム分の画像データはブロック分割部102に供給される。
ブロック分割部102は、入力された1フレームの画像データを複数の基本ブロックに分割し、基本ブロック単位の画像データを予測部104に出力する。本実施形態では、8×8画素の基本ブロック単位の画像データが予測部104に供給されることとなる。
予測部104は、ブロック分割部102から入力された基本ブロック単位の画像データに対し予測処理を実行する。具体的には、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割を決定し、さらにサブブロック単位でイントラ予測やインター予測などの予測モードを決定する。イントラ予測は符号化対象ブロックの空間的に周辺に位置する符号化済画素を用いて符号化対象ブロックの予測画素を生成し、水平予測や垂直予測、DC予測などのイントラ予測方法を示すイントラ予測モードも生成する。インター予測は符号化対象ブロックとは時間的に異なるフレームの符号化済画素を用いて符号化対象ブロックの予測画素を生成し、参照するフレームや動きベクトルなどを示す動き情報も生成する。
図7を参照してサブブロック分割方法を説明する。図7A~図7Fのブロック700~705の太枠は基本ブロックと同じ8×8画素のサイズである。太枠内の各四角形はサブブロックを表している。図7Bは従来の正方形サブブロック分割の一例を表しており、8×8画素の基本ブロック701は、4個の4×4画素のサブブロックに分割されている。一方、図7C~図7Fは長方形サブブロック分割の一例を表している。図7Cは、基本ブロック702が4×8画素サイズの2個のサブブロック(垂直方向に長手)に分割されることを示している。図7Dは、基本ブロック703が、8×4画素サイズの2個のサブブロック(水平方向に長手)に分割されることを示している。図7E、図7Fは、基本ブロック704、705の場合、分割方法が異なるものの、1:2:1の比で3つの長方形サブブロックに分割されている。このように正方形だけではなく、長方形のサブブロックも用いて符号化処理を行っている。
本実施形態では、8×8画素サイズの基本ブロックを、サブブロックに分割しない図7Aのみが用いられるものとするが、サブブロック分割方法はこれに限定されない。図7Bのような四分木分割、図7E、図7Fのような三分木分割または図7Cや図7Dのような二分木分割を用いても構わない。
予測部104は、決定した予測モード、および、フレームメモリ108に格納されている符号化済の領域から予測画像データを生成し、さらに入力された画像データと前記予測画像データから画素単位の予測誤差を算出し、その誤差を変換・量子化部105に出力する。また、予測部104は、サブブロック分割や予測モードなどの情報を予測情報として、符号化部110、画像再生部107に出力する。
変換・量子化部105は、まず、係数レンジ生成部103から係数レンジ情報を入力し、変換処理や量子化処理における係数の取り得る値の範囲を決定する。本実施形態では、図8に示されたテーブルに基づいて、水平・垂直各方向の一次元の直交変換や、直交変換後の係数にさらに変換を施す二次変換、量子化といった各演算結果の係数が取り得る範囲を決定するものとする。ただし、係数レンジ情報と各演算結果の係数の取り得る範囲の組み合わせはこれらに限定されない。本実施形態では、入力画像のビット深度が16であることから、係数レンジ情報に応じて、-32768~32767または-8388608~8388607の範囲をとることとなる。各演算結果が上記の範囲外になった場合の処理については特に限定しないが、クリップ処理やビットシフト処理により結果を上記の範囲内に収めることができる。
次に変換・量子化部105は、上述した係数レンジに基づいて、予測部104より入力した予測誤差に対し、直交変換・量子化を行い、残差係数を生成する。具体的には、変換・量子化部105は、まず、予測誤差に対し、サブブロックのサイズに対応した直交変換処理を施し直交変換係数を生成する。次に変換・量子化部105は、直交変換係数の低周波部分に対し低周波変換を施すか否かを決定し、その情報を低周波変換情報として生成し、逆量子化・逆変換部106および符号化部110に出力する。低周波変換情報の決定方法は特に限定しないが、直交変換係数が低周波成分に集中しており、低周波変換を施すことにより更なる圧縮効率の向上が期待できる場合などに低周波変換をさらに施すことができる。低周波変換を施すことに決定した場合、変換・量子化部105は、直交変換係数の低周波部分に低周波変換を施し低周波変換係数を生成する一方、低周波変換が施されなかった高周波成分は直交変換係数の値に関わらず0であったものとして扱う。そして、変換・量子化部105は、低周波変換を施した場合は、低周波変換係数を量子化し、残差係数を生成する。一方、低周波変換を施さなかった場合には、変換・量子化部105は、直交変換係数を量子化し、残差係数を生成する。
逆量子化・逆変換部106においても変換・量子化部105と同様に、まず、係数レンジ生成部103から係数レンジ情報を入力し、逆量子化処理や逆変換処理における係数の取り得る値の範囲を決定する。本実施形態では、変換・量子化部105と同様に、図8に示されたテーブルに基づいて、逆量子化処理や低周波成分に対する逆低周波変換処理、垂直・水平方向の一次元の逆直交変換処理といった各演算結果の係数が取り得る範囲を決定するものとする。本実施形態では、変換・量子化部105同様、入力画像のビット深度が16であることから、係数レンジ情報に応じて、-32768~32767または-8388608~8388607の範囲をとることとなる。
次に、逆量子化・逆変換部106は、上述した係数レンジに基づいて、変換・量子化部105から入力した残差係数を、逆量子化することで変換係数を再生する。また、逆量子化・逆変換部106は、変換・量子化部105から入力した低周波変換情報に基づき、当該サブブロックに対し低周波変換が施されているか否かを判定する。当該サブブロックに対して低周波変換が施されていた場合、逆量子化・逆変換部106は、変換係数に逆低周波変換処理を施して直交変換係数を再生し、さらに直交変換係数に逆直交変換を施し予測誤差を再生する。一方、当該サブブロックに対して低周波変換が施されていなかった場合、逆量子化・逆変換部106は、変換係数を逆直交変換して予測誤差を再生する。こうして再生された予測誤差は画像再生部107に出力される。
y=Clip3(CoeffMin,CoeffMax,((ΣlowFreqTransMatrix[j]×x)+64)>>7) …(1)
(ただし、Clip3(a,b,c)は値cを最小値aおよび最大値bでクリップする処理を示し、「>>」は右へのビットシフトを表す。)
上記の式(1)は本実施形態の逆量子化・逆変換部106における逆低周波変換処理で用いられる計算式の一つである。ここで式(1)のCoeffMinは図8の最小係数値が、式(1)のCoeffMaxは図8の最大係数値が対応している。本実施形態では入力画像のビット深度が16ビットであるため、係数レンジ情報に基づいて式(1)のCoeffMin、CoeffMaxの値が定まることとなる。係数レンジ情報が0である場合、すなわち固定係数レンジが選択されている場合、CoeffMinは-32768、CoeffMaxは32767となり、出力値は符号付き16ビットで表現することができる。この場合、以降の符号化処理において16ビットの加算・乗算命令などが使えることになるため、実装コストが高くならないといったメリットがある。一方で、係数レンジ情報が1である場合、すなわち高精度係数レンジが選択されている場合、CoeffMinは-8388608、CoeffMaxは8388607となる。この場合、出力値が符号付き16ビットでは表現することができないため、以降の符号化処理における実装コストは高くなるが、16ビットといった高ビット深度にふさわしい高演算精度の符号化処理を実現することができる。結果として、圧縮効率を高めたり、符号化結果のビットストリームを復号した際の画質を高めたりする効果がある。
(ただし、Clip3(a,b,c)は値cを最小値aおよび最大値bでクリップする処理を示し、「>>」は右へのビットシフトを表す。)
上記の式(1)は本実施形態の逆量子化・逆変換部106における逆低周波変換処理で用いられる計算式の一つである。ここで式(1)のCoeffMinは図8の最小係数値が、式(1)のCoeffMaxは図8の最大係数値が対応している。本実施形態では入力画像のビット深度が16ビットであるため、係数レンジ情報に基づいて式(1)のCoeffMin、CoeffMaxの値が定まることとなる。係数レンジ情報が0である場合、すなわち固定係数レンジが選択されている場合、CoeffMinは-32768、CoeffMaxは32767となり、出力値は符号付き16ビットで表現することができる。この場合、以降の符号化処理において16ビットの加算・乗算命令などが使えることになるため、実装コストが高くならないといったメリットがある。一方で、係数レンジ情報が1である場合、すなわち高精度係数レンジが選択されている場合、CoeffMinは-8388608、CoeffMaxは8388607となる。この場合、出力値が符号付き16ビットでは表現することができないため、以降の符号化処理における実装コストは高くなるが、16ビットといった高ビット深度にふさわしい高演算精度の符号化処理を実現することができる。結果として、圧縮効率を高めたり、符号化結果のビットストリームを復号した際の画質を高めたりする効果がある。
画像再生部107は、予測部104から入力される予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像を再生する。そして画像再生部107は、再生された予測画像と、逆量子化・逆変換部106により再生された予測誤差とに基づき、再生画像データを生成し、フレームメモリ108に格納する。
インループフィルタ部109は、フレームメモリ108から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部109は、フィルタ処理された画像データをフレームメモリ108に再格納する。
符号化部110は、変換・量子化部105で生成されたサブブロック単位の残差係数や低周波変換情報、並びに、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。符号化部110は、生成された符号データを統合符号化部111に出力する。
統合符号化部111は、前述のヘッダの符号データとともに、符号化部110から入力された符号データなどを多重化してビットストリームを形成する。そして、統合符号化部111は、形成したビットストリームを出力端子112から外部(記憶媒体やネットワークなど)に出力する。
図6Aは本実施形態で出力されるビットストリームのデータ構造の一例である。シーケンスヘッダには、係数レンジ情報符号が含まれている。ただし、符号化される位置はこれに限定されず、図6Bのようなピクチャヘッダ部や複数のピクチャにまたがるヘッダ部に符号化される構成をとってももちろん構わない。
図3は、実施形態の画像符号化装置100における制御部150の1フレーム分の符号化処理を示すフローチャートである。
まず、画像の符号化に先立ち、S301にて、制御部150は、係数レンジ情報生成部103を制御し、係数レンジ情報を生成させる。
S302にて、制御部150は、統合符号化部111を制御し、S301にて生成された係数レンジ情報の符号化を行わせ、係数レンジ情報符号を生成させる。
S303にて、制御部150は、統合符号化部111を制御し、生成された係数レンジ情報符号とともに、画像データの符号化に必要なヘッダ情報を符号化し、出力させる。
S304にて、制御部150は、ブロック分割部102を制御し、フレーム単位の入力画像を基本ブロック単位に分割させる。
S305にて、制御部150は、予測部104を制御し、S304にて生成された基本ブロック単位の画像データに対して、予測処理を実行させ、サブブロック分割情報や予測モードなどの予測情報および予測画像データを生成させる。さらに、制御部150は、予測部104を制御して、入力された画像データと予測画像データから予測誤差を算出させる。
S306にて、制御部150は、変換・量子化部105を制御し、S301で生成された係数レンジ情報に基づいて、本ステップの符号化処理における係数レンジを決定する。例えば、制御部150は、係数レンジ情報が1である場合、本ステップの符号化処理における係数レンジを高精度係数レンジとして決定し、係数レンジ情報が0である場合、本ステップの符号化処理における係数レンジを固定係数レンジとして決定する。次に制御部150は、変換・量子化部105を制御し、S305で算出された予測誤差に対して直交変換を行わせ、直交変換係数を生成させる。そして、制御部150は、変換・量子化部105を制御し、当該サブブロックにおいて生成された直交変換係数に対して低周波変換を施すか否かを決定させ、その情報を低周波変換情報として生成させる。低周波変換を施すと決定した場合、制御部150は、変換・量子化部105を制御し、直交変換係数の低周波成分に低周波変換を施させた後に量子化を行わせ、残差係数を生成させる。一方、低周波変換を施さないと決定した場合、制御部150は、変換・量子化部105を制御し、直交変換係数に量子化を施させ、残差係数を生成させる。
S307にて、制御部150は、逆量子化・逆変換部106を制御し、S301で生成された係数レンジ情報に基づいて、本ステップの符号化処理における係数レンジを決定する。例えば、制御部150は、係数レンジ情報が1である場合、本ステップの符号化処理における係数レンジを高精度係数レンジとして決定し、係数レンジ情報が0である場合、本ステップの符号化処理における係数レンジを固定係数レンジとして決定する。次に制御部150は、逆量子化・逆変換部106を制御し、S306で生成された残差係数を、逆量子化を行わせ、変換係数を再生させる。次に、制御部150は、逆量子化・逆変換部106を制御し、S306で生成された低周波変換情報に基づき、当該サブブロックにおいて低周波変換が施されていたか否かを判定する。当該サブブロックに対して低周波変換が施されていた場合、制御部150は、逆量子化・逆変換部106を制御し、変換係数に逆低周波変換処理を施させて直交変換係数を再生させ、さらに直交変換係数に逆直交変換を施させて予測誤差を再生させる。一方、当該サブブロックに対して低周波変換が施されていない場合、制御部150は、逆量子化・逆変換部106を制御し、変換係数に逆直交変換を施させて予測誤差を再生させる。
S308にて、制御部150は、画像再生部107を制御し、S305で生成された予測情報に基づいて予測画像を再生させ、再生された予測画像とS307で生成された予測誤差から画像データを再生させ、フレームメモリ108に格納させる。
S309にて、制御部150は、符号化部110を制御し、S305で生成された予測情報およびS306で生成された残差係数や低周波変換情報の符号化を行わせ、符号データを生成させる。また、符号化部110は、生成した符号データを統合符号化部111に出力する。統合符号化部111は、符号化部110からの符号化データを、先に生成したヘッダに後続するように位置させ、出力する。
S310にて、制御部150は、着目フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行う。制御部150は、終了していると判定した場合にはS311に進め、未符号化の基本ブロックが残っていると判断した場合にはS304に処理を戻し、次の基本ブロックに対する符号化を継続させる。
S311にて、制御部150は、インループフィルタ部109を制御し、S308で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
以上の構成と動作、特にS302において、係数レンジ情報を符号化することで、アプリケーションの要求仕様に応じて演算精度や実装コストの異なる符号化処理の切り替え可能なビットストリームを生成させることができる。
なお、本実施形態では、係数レンジを変換処理や量子化処理の結果となる係数の取り得る値の範囲として説明したが、それ以外の符号化処理の結果となる係数の取り得る値の範囲として用いても構わない。例えば、VVCでは主にロスレス符号化時の圧縮効率を高めるため、BDPCM(Block-based Delta Pulse Code Modulation)と呼ばれる技術が採用されている。BDPCMは、予測誤差に対して変換・量子化を施した残差係数を符号化する代わりに、予測誤差に対して変換を施さずに量子化のみを施して量子化係数を生成し、左もしくは上に隣接する量子化係数との差分値を符号化する方式である。ここで、係数レンジをこの差分値に適用してもよい。これより、BDPCMの適用の有無に関わらず、符号化される係数の取り得る値の範囲が固定係数レンジか高精度係数レンジかが定まるので、片方のレンジのみをサポートする符号化部を実装することで、実装コストを低減することが可能となる。
また、本実施形態において、例えば入力画像のビット深度が8ビットであった場合、係数レンジ情報符号を省略することも可能である。これは、最小係数値および最大係数値が、係数レンジ情報に関わらず等しくなるためで、これにより冗長な符号を削減することができる。係数レンジ情報の符号化が省略できる入力画像のビット深度は8ビットに限定されず、他の実施形態において最小係数値と最大係数値が係数レンジ情報に関わらず等しくなる場合に係数レンジ情報の符号化を省略することが可能である。
図2は、実施形態における上記画像符号化装置100で生成された符号化画像データを復号する画像復号装置200のブロック構成図である。以下、同図を参照し、復号処理に係る構成とその動作を説明する。
画像復号装置200は、装置全体の制御を司る制御部250を有する。この制御部250は、CPU、CPUが実行するプログラムを格納するROM、CPUのワークエリアとして利用するRAMを有する。また、画像復号装置200は、入力端子201、分離復号部202、復号部203、逆量子化・逆変換部204、画像再生部205、フレームメモリ206、インループフィルタ部207、出力端子208、及び、係数レンジ情報復号部209を有する。
入力端子201は、符号化されたビットストリームを入力するものであり、入力源は例えば符号化ストリームを格納した記憶媒体であるが、ネットワークから入力しても良く、その種類は問わない。
分離復号部202は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、またビットストリームのヘッダ部に存在する符号データを復号する。本実施形態の分離復号部202は、係数レンジ情報符号を分離し、係数レンジ情報復号部209に出力する。また、分離復号部202は、画像の符号データを復号部203に出力する。
係数レンジ情報復号部209は、分離復号部202より供給された係数レンジ情報符号を復号することで係数レンジ情報を再生し、後段の逆量子化・逆変換部204に出力する。
復号部203は、分離復号部202から出力された画像の符号データを復号し、残差係数、低周波変換情報および予測情報を再生する。
逆量子化・逆変換部204は、図1の逆量子化・逆変換部106と同様、残差係数に対して逆量子化を行い、逆量子化後の係数である変換係数を再生する。また、逆量子化・逆変換部204は、低周波変換情報を用いて、当該サブブロックに対して低周波変換が施されていたか否かの判定を行う。逆量子化・逆変換部204は、当該サブブロックに対し低周波変換が施されていた場合、低周波変換係数に逆低周波変換処理を施して直交変換係数を再生する。逆量子化・逆変換部204は、さらにこの直交変換係数または変換係数に対し逆直交変換を実行することで、予測誤差を再生する。一方、当該サブブロックに対して低周波変換が施されていなかった場合、逆量子化・逆変換部204は、直交変換係数を逆直交変換して予測誤差を再生する。
画像再生部205は、入力された予測情報に基づいてフレームメモリ206を適宜参照して予測画像データを生成する。そして、画像再生部205は、この予測画像データと逆量子化・逆変換部204で再生された予測誤差から再生画像データを生成し、フレームメモリ206に格納する。
インループフィルタ部207は、図1のインループフィルタ部109と同様、フレームメモリ206に格納された再生画像データに対し、デブロッキングフィルタなどのインループフィルタ処理を行い、処理後の画像データをフレームメモリ206に再格納する。
出力端子208は、フレームメモリ206に格納されたフレーム画像を順次、外部に出力する。出力先は表示装置が一般的であるが、他のデバイスであっても構わない。
上記実施形態の画像復号装置200の画像の復号に係る動作をさらに詳しく説明する。本実施形態では、符号化されたビットストリームをフレーム単位で入力する構成となっている。
図2において、入力端子201から入力された1フレーム分のビットストリームは分離復号部202に供給される。分離復号部202では、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、ビットストリームのヘッダ部に存在する符号データを復号する。そして、分離復号部202には、ヘッダ部に含まれていた係数レンジ情報符号を係数レンジ情報復号部209に供給し、画像データの符号データを復号部203に供給する。具体的には、分離復号部202は、まず、図6Aに示されるビットストリームのシーケンスヘッダから係数レンジ情報符号を抽出し、係数レンジ情報復号部209に出力する。続いて、ピクチャデータの基本ブロック単位の符号データを抽出し、復号部203に出力する。
係数レンジ情報復号部209は、分離復号部202から入力された係数レンジ情報符号を復号し、係数レンジ情報を得る。符号化側同様、係数レンジ情報が1の際は高精度係数レンジが用いられ、係数レンジ情報が0の際は固定係数レンジが用いられる。係数レンジ情報は逆量子化・逆変換部204に出力される。本実施形態では、符号化側で16ビットの画像を入力し、復号側で16ビットの画像を出力する構成のため、係数レンジ情報が0の際は-32768~32767、係数レンジ情報が1の際は-8388608~8388607の範囲をとることとなる。
復号部203は、分離復号部202から供給された符号データを復号し、予測情報を再生し、さらに残差係数および低周波変換情報を再生する。まず、復号部203は、予測情報を再生し、当該サブブロックで用いられる予測モードを取得する。復号部203は、再生された残差係数および低周波変換情報を逆量子化・逆変換部204に出力し、再生された予測情報を画像再生部205に出力する。
逆量子化・逆変換部204は、入力された残差係数に対し、上述した係数レンジに基づいて逆量子化を行って変換係数を生成する。そして逆量子化・逆変換部204は、入力された低周波変換情報に基づき、当該サブブロックにおいて低周波変換が施されていたか否かの判定を行う。当該サブブロックに対して低周波変換が施されていた場合、逆量子化・逆変換部204は、変換係数に低周波変換処理を施して直交変換係数を再生し、さらに直交変換係数に逆直交変換を施し予測誤差を再生する。一方、当該サブブロックに対して低周波変換が施されていない場合、逆量子化・逆変換部204は、変換係数に逆直交変換を施して予測誤差を再生する。こうして再生された予測誤差は画像再生部205に出力される。
画像再生部205は、復号部203から入力された予測情報に基づいて、フレームメモリ206を適宜参照し、予測画像を再生する。本実施形態の画像再生部205は、符号化側の予測部104と同様、イントラ予測やインター予測が用いられる。具体的な予測の処理については、符号化側の予測部104と同様であるため、説明を省略する。画像再生部205は、この予測画像と逆量子化・逆変換部204から入力された予測誤差から画像データを再生し、フレームメモリ206に格納する。格納された画像データは予測の際の参照に用いられる。
インループフィルタ部207は、符号化側のインループフィルタ部109と同様、フレームメモリ206から再生画像を読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部207は、フィルタ処理された画像をフレームメモリ206に再格納する。
フレームメモリ206に格納された再生画像は、最終的には出力端子208から外部(表示装置がその代表となる)に出力される。
図4は、実施形態に係る画像復号装置200における制御部205の復号処理を示すフローチャートである。
まず、S401にて、制御部250は、分離復号部202を制御して、ビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号する。より具体的には、分離復号部202は、係数レンジ情報符号を係数レンジ情報復号部209に供給し、画像の符号データを復号部203に供給させる。
S402にて、制御部250は、係数レンジ情報復号部209を制御し、S401で再生された係数レンジ情報符号を復号させる。ここでの係数レンジ情報復号部209の具体的な動作は、説明済であるため省略する。
S403にて、制御部250は、復号部203を制御し、S401で分離された符号データを復号し、予測情報を再生し、残差係数および低周波変換情報を再生する。
S404にて、制御部250は、逆量子化・逆変換部204を制御し、S402で復号された係数レンジ情報に戻づいて、本ステップの復号処理における係数レンジを決定する。例えば、制御部150は、係数レンジ情報が1である場合、本ステップの復号処理における係数レンジを高精度係数レンジとして決定し、係数レンジ情報が0である場合、本ステップの復号処理における係数レンジを固定係数レンジとして決定する。次に制御部250は、逆量子化・逆変換部204を制御し、S403で再生された残差係数に対し逆量子化を行って変換係数を生成させる。また、制御部250は、逆量子化・逆変換部204を制御し、S403で再生された低周波変換情報に基づき、当該サブブロックにおいて低周波変換が施されていたか否かの判定を行う。当該サブブロックに対して低周波変換が施されていた場合、制御部250は、逆量子化・逆変換部204を制御し、変換係数に逆低周波変換処理を施させて直交変換係数を再生させ、さらに直交変換係数に逆直交変換を施させて予測誤差を再生させる。一方、当該サブブロックに対して低周波変換が施されていない場合、制御部250は、逆量子化・逆変換部204を制御し、変換係数に逆直交変換を施させて予測誤差を再生させる。
S405にて、制御部250は画像再生部205を制御し、S403で生成された予測情報に基づき画像を再生させる。具体的には、画像再生部205は、予測情報に基づき、フレームメモリ206を参照して予測画像を再生する。このとき、画像再生部205は、符号化側のS305と同様、イントラ予測やインター予測が用いられる。そして、画像再生部205は、再生された予測画像とS404で生成された予測誤差から画像データを再生し、再生した画像データをフレームメモリ206に格納する。
S406にて、制御部250は、着目フレーム内の全ての基本ブロックの復号が終了したか否かの判定を行い、終了していれば処理をS407に進み、未符号の基本ブロックが存在する場合は次の基本ブロックを復号対象とするための処理をS403に戻す。
S407にて、制御部250は、インループフィルタ部207を制御し、S405で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
以上の構成と動作により、先に説明した画像符号化装置100で生成された、符号化ビットストリーム、すなわち、アプリケーションの要求仕様に応じて演算精度や実装コストの異なる復号処理の切り替えを可能にしたビットストリームを復号することができる。
なお、本実施形態では、係数レンジを逆量子化処理や逆変換処理の結果となる係数の取り得る値の範囲として説明したが、それ以外の復号処理の結果となる係数の取り得る値の範囲として用いても構わない、例えば、符号化側と同様、BDPCM処理においてこの係数レンジを適用しても構わない。
dz[x][y]=Clip3(CoeffMin,CoeffMax,
dz[x-1][y]+dz[x][y]) …(2)
(ただし、Clip3(a,b,c)は値cを最小値aおよび最大値bでクリップする処理を示す。)
上記の式(2)はBDPCMの復号処理において用いられる計算式の一つであり、量子化係数dz[x][y]の再生に左隣の量子化係数dz[x-1][y]に差分値を加算し、係数レンジでクリップ処理をしたものである。式(1)同様、式(2)のCoeffMinおよびCoeffMaxは、図8の最小係数値および最大係数値が対応している。係数レンジ情報が0、すなわち固定係数レンジが用いられていた場合、式(2)の出力である量子化係数dz[x][y]は-32768~32767の範囲をとり、符号付き16ビットで表現することができる。この場合、以降の復号処理である逆量子化処理において、16ビットの乗算・加算命令などが使えることになるため、実装コストを抑えられるといったメリットがある。一方で係数レンジ情報が1、すなわち高精度係数レンジが選択されている場合、逆量子化処理などの以降の復号処理における実装コストは高くなるが、高演算精度の復号処理を実現することができる。結果として、符号化側で圧縮効率を高め生成されたビットストリームを、より高画質で復号することができる。
dz[x-1][y]+dz[x][y]) …(2)
(ただし、Clip3(a,b,c)は値cを最小値aおよび最大値bでクリップする処理を示す。)
上記の式(2)はBDPCMの復号処理において用いられる計算式の一つであり、量子化係数dz[x][y]の再生に左隣の量子化係数dz[x-1][y]に差分値を加算し、係数レンジでクリップ処理をしたものである。式(1)同様、式(2)のCoeffMinおよびCoeffMaxは、図8の最小係数値および最大係数値が対応している。係数レンジ情報が0、すなわち固定係数レンジが用いられていた場合、式(2)の出力である量子化係数dz[x][y]は-32768~32767の範囲をとり、符号付き16ビットで表現することができる。この場合、以降の復号処理である逆量子化処理において、16ビットの乗算・加算命令などが使えることになるため、実装コストを抑えられるといったメリットがある。一方で係数レンジ情報が1、すなわち高精度係数レンジが選択されている場合、逆量子化処理などの以降の復号処理における実装コストは高くなるが、高演算精度の復号処理を実現することができる。結果として、符号化側で圧縮効率を高め生成されたビットストリームを、より高画質で復号することができる。
上記実施形態の画像符号化装置100および画像復号装置200が有する各処理部はハードウェアでもって構成しているものとして説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
図5は、上記実施形態に係る画像符号化装置100、画像復号装置200に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記実施形態に係る画像符号化装置100または画像復号装置200が行うものとして上述した各処理を実行する。即ち、CPU501は、図1、図2に示した各処理部として機能することになる。
RAM502は、外部記憶装置506、I/F(インターフェース)507を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリアとしても利用される。RAM502は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
ROM503には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部504は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU501に対して入力することができる。表示部505は、CPU501による処理結果を表示する。また表示部505は例えば液晶ディスプレイで構成される。
外部記憶装置506は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)や、図1、図2に示した各部の機能をCPU501に実現させるためのコンピュータプログラム(アプリケーションプログラム)が保存されている。更には、外部記憶装置506には、処理対象としての各画像データが保存されていても良い。
外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜、RAM502にロードされ、CPU501による処理対象となる。I/F507には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F507を介して様々な情報を取得したり、送出したりすることができる。508は上述の各部を繋ぐバスである。
上記構成において、本装置に電源が投入されると、CPU501はROM503に格納されたブートプログラムを実行し、外部記憶装置506に格納されたOSをRAM502にロードし実行する。そして、CPU501は、OSの制御下にて、外部記憶装置506から符号化、或いは、復号に係るアプリケーションプログラムをRAM502にロードし、実行する。この結果、CPU501は、図1或いは図2の各処理部として機能し、本装置が画像符号化装置、或いは、画像復号装置として機能することになる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上の各実施形態によれば、符号化または復号処理における係数値の取り得る値の範囲を適応的に決定することができる。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
本願は、2020年3月18日提出の日本国特許出願特願2020-048201を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。
Claims (14)
- 入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測手段と、
前記予測誤差に直交変換処理を行って第一の変換係数を生成する第一の変換手段と、
前記第一の変換係数に対しLFNST処理を行って第二の変換係数を生成する第二の変換手段と、
前記第二の変換係数に対し量子化処理を行って量子化係数を生成する量子化手段と、
前記量子化係数を符号化する符号化手段とを有し、
前記符号化手段は、少なくとも前記第二の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化することを特徴とする画像符号化装置。 - 前記LFNST処理は、Low frequency non separable transformation processであることを特徴とする請求項1に記載の画像符号化装置。
- 入力されたビットストリームから画像を復号する画像復号装置であって、
前記ビットストリームから量子化係数を復号する復号手段と、
前記量子化係数に逆量子化処理を施して第一の変換係数を導出する逆量子化手段と、
前記第一の変換係数に対し逆LFNST処理を施して第二の変換係数を導出する第一の変換手段と、
前記第二の変換係数に対し逆直交変換処理を施して予測誤差を導出する第二の変換手段とを有し、
前記復号手段は、少なくとも前記第一の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号することを特徴とする画像復号装置。 - 前記第一の変換手段は、前記第一の変換係数に対し逆LFNST処理を施して前記第二の変換係数を導出することを特徴とする請求項3に記載の画像復号装置。
- 入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測手段と、
少なくともBDPCM処理を用いて前記予測誤差を符号化する符号化手段とを有し、
前記符号化手段は、少なくとも前記BDPCM処理により得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化することを特徴とする画像符号化装置。 - 入力されたビットストリームから画像を復号する画像復号装置であって、
前記ビットストリームから量子化係数を復号する復号手段と、
少なくともBDPCM処理を用いて前記量子化係数から予測誤差を導出する逆量子化手段とを有し、
前記復号手段は、少なくとも前記BDPCM処理によって得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号することを特徴とする画像復号装置。 - 入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測工程と、
前記予測誤差に直交変換処理を行って第一の変換係数を生成する第一の変換工程と、
前記第一の変換係数に対しLFNST処理を行って第二の変換係数を生成する第二の変換工程と、
前記第二の変換係数に対し量子化処理を行って量子化係数を生成する量子化工程と、
前記量子化係数を符号化する符号化工程とを有し、
前記符号化工程において、少なくとも前記第二の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化することを特徴とする画像符号化方法。 - 入力されたビットストリームから画像を復号する画像復号方法であって、
前記ビットストリームから量子化係数を復号する復号工程と、
前記量子化係数に逆量子化処理を施して第一の変換係数を導出する逆量子化工程と、
前記第一の変換係数に対し逆LFNST処理を施して第二の変換係数を導出する第一の変換工程と、
前記第二の変換係数に対し逆直交変換処理を施して予測誤差を導出する第二の変換工程とを有し、
前記復号工程において、少なくとも前記第一の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号することを特徴とする画像復号方法。 - 入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測工程と、
少なくともBDPCM処理を用いて前記予測誤差を符号化する符号化工程とを有し、
前記符号化工程において、少なくとも前記BDPCM処理により得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化することを特徴とする画像符号化方法。 - 入力されたビットストリームから画像を復号する画像復号方法であって、
前記ビットストリームから量子化係数を復号する復号工程と、
少なくともBDPCM処理を用いて前記量子化係数から予測誤差を導出する逆量子化工程とを有し、
前記復号工程において、少なくとも前記BDPCM処理によって得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号することを特徴とする画像復号方法。 - A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method, the method comprising:
入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測工程、
前記予測誤差に直交変換処理を行って第一の変換係数を生成する第一の変換工程と、
前記第一の変換係数に対しLFNST処理を行って第二の変換係数を生成する第二の変換工程、
前記第二の変換係数に対し量子化処理を行って量子化係数を生成する量子化工程と、
前記量子化係数を符号化する符号化工程、
wherein 前記符号化工程において、少なくとも前記第二の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化する。 - A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method for decoding 画像 from 入力されたビットストリーム, the method comprising:
前記ビットストリームから量子化係数を復号する復号工程、
前記量子化係数に逆量子化処理を施して第一の変換係数を導出する逆量子化工程、
前記第一の変換係数に対し逆LFNST処理を施して第二の変換係数を導出する第一の変換工程、
前記第二の変換係数に対し逆直交変換処理を施して予測誤差を導出する第二の変換工程、
wherein 前記復号工程において、少なくとも前記第一の変換係数が取り得る値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号する。 - A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method, the method comprising:
入力画像に対する予測処理により得られた予測画像と前記入力画像との差分である予測誤差を生成する予測工程、
少なくともBDPCM処理を用いて前記予測誤差を符号化する符号化工程、
wherein 前記符号化工程において、少なくとも前記BDPCM処理により得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を符号化する。 - A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method for decoding 画像 from 入力されたビットストリーム, the method comprising:
前記ビットストリームから量子化係数を復号する復号工程、
少なくともBDPCM処理を用いて前記量子化係数から予測誤差を導出する逆量子化工程、
wherein 前記復号工程において、少なくとも前記BDPCM処理によって得られた値の範囲を、ビット深度によって決定される範囲とするか、固定の範囲とするかを示す情報を前記ビットストリームから復号する。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227035006A KR20220156017A (ko) | 2020-03-18 | 2021-02-24 | 화상 부호화 장치, 화상 부호화 방법 및 기억 매체, 화상 복호 장치, 화상 복호 방법 및 기억 매체 |
EP21772526.6A EP4124039A4 (en) | 2020-03-18 | 2021-02-24 | IMAGE CODING DEVICE, IMAGE CODING METHOD AND PROGRAM, IMAGE DECODING DEVICE AND IMAGE DECODING METHOD AND PROGRAM |
CN202180022188.8A CN115315952A (zh) | 2020-03-18 | 2021-02-24 | 图像编码装置、图像编码方法和程序、图像解码装置、图像解码方法和程序 |
US17/931,450 US20230007311A1 (en) | 2020-03-18 | 2022-09-12 | Image encoding device, image encoding method and storage medium, image decoding device, and image decoding method and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020048201A JP7536484B2 (ja) | 2020-03-18 | 2020-03-18 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2020-048201 | 2020-03-18 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/931,450 Continuation US20230007311A1 (en) | 2020-03-18 | 2022-09-12 | Image encoding device, image encoding method and storage medium, image decoding device, and image decoding method and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021187023A1 true WO2021187023A1 (ja) | 2021-09-23 |
Family
ID=77771957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/006754 WO2021187023A1 (ja) | 2020-03-18 | 2021-02-24 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230007311A1 (ja) |
EP (1) | EP4124039A4 (ja) |
JP (1) | JP7536484B2 (ja) |
KR (1) | KR20220156017A (ja) |
CN (1) | CN115315952A (ja) |
WO (1) | WO2021187023A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014131172A (ja) | 2012-12-28 | 2014-07-10 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2016519514A (ja) * | 2013-04-08 | 2016-06-30 | ソニー株式会社 | データ符号化及び復号化 |
JP2017514353A (ja) * | 2014-03-17 | 2017-06-01 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | メッシュベースの計算を使用した低複雑な順変換のためのシステムおよび方法 |
WO2017195666A1 (ja) * | 2016-05-13 | 2017-11-16 | ソニー株式会社 | 画像処理装置および方法 |
JP2020048201A (ja) | 2013-05-20 | 2020-03-26 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ライセンススペクトラムおよびアンライセンススペクトラム上の同時ワイヤレス通信 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020216303A1 (en) * | 2019-04-23 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Selective use of secondary transform in coded video |
CN113906753B (zh) * | 2019-04-24 | 2023-12-01 | 字节跳动有限公司 | 编解码视频的量化残差差分脉冲编解码调制表示的约束 |
CN110636313B (zh) * | 2019-09-18 | 2022-07-15 | 浙江大华技术股份有限公司 | 变换、二次变换矩阵训练方法、编码器及相关装置 |
-
2020
- 2020-03-18 JP JP2020048201A patent/JP7536484B2/ja active Active
-
2021
- 2021-02-24 EP EP21772526.6A patent/EP4124039A4/en active Pending
- 2021-02-24 KR KR1020227035006A patent/KR20220156017A/ko active Search and Examination
- 2021-02-24 WO PCT/JP2021/006754 patent/WO2021187023A1/ja unknown
- 2021-02-24 CN CN202180022188.8A patent/CN115315952A/zh active Pending
-
2022
- 2022-09-12 US US17/931,450 patent/US20230007311A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014131172A (ja) | 2012-12-28 | 2014-07-10 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP2016519514A (ja) * | 2013-04-08 | 2016-06-30 | ソニー株式会社 | データ符号化及び復号化 |
JP2020048201A (ja) | 2013-05-20 | 2020-03-26 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ライセンススペクトラムおよびアンライセンススペクトラム上の同時ワイヤレス通信 |
JP2017514353A (ja) * | 2014-03-17 | 2017-06-01 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | メッシュベースの計算を使用した低複雑な順変換のためのシステムおよび方法 |
WO2017195666A1 (ja) * | 2016-05-13 | 2017-11-16 | ソニー株式会社 | 画像処理装置および方法 |
Non-Patent Citations (3)
Title |
---|
ANONYMOUS: "SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS Infrastructure of audiovisual services-Coding of moving video ", RECOMMENDATION ITU-T H.265 (10/2014)HIGH EFFICIENCY VIDEO CODING, ITU-T,, 12 January 2015 (2015-01-12), pages 37, 77 - 78, XP055224026 * |
BENJAMIN BROSS , JIANLE CHEN , SHAN LIU , YE-KUI WANG: "Versatile Video Coding (Draft 8)", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q2001-vE, 12 March 2020 (2020-03-12), pages 1 - 510, XP030285390 * |
See also references of EP4124039A4 |
Also Published As
Publication number | Publication date |
---|---|
EP4124039A4 (en) | 2024-08-07 |
EP4124039A1 (en) | 2023-01-25 |
JP7536484B2 (ja) | 2024-08-20 |
KR20220156017A (ko) | 2022-11-24 |
JP2021150788A (ja) | 2021-09-27 |
CN115315952A (zh) | 2022-11-08 |
US20230007311A1 (en) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020184229A1 (ja) | 画像符号化装置、画像符号化方法、及びプログラム | |
JP7508675B2 (ja) | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム | |
US20240089440A1 (en) | Image decoding device, method, and non-transitory computer-readable storage medium | |
JP7545556B2 (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム | |
TWI795635B (zh) | 圖像解碼裝置、圖像解碼方法及程式 | |
TWI791959B (zh) | 圖像解碼裝置、圖像解碼方法及程式 | |
WO2021187023A1 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
WO2020003740A1 (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム | |
JP7508676B2 (ja) | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム | |
WO2020255820A1 (ja) | 画像符号化装置及び画像復号装置及び方法及びコンピュータプログラム | |
WO2020183859A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム | |
JP2021150723A (ja) | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム | |
JP2021048532A (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: 21772526 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20227035006 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2021772526 Country of ref document: EP Effective date: 20221018 |