WO2021194052A1 - Image decoding method and device - Google Patents
Image decoding method and device Download PDFInfo
- Publication number
- WO2021194052A1 WO2021194052A1 PCT/KR2020/018466 KR2020018466W WO2021194052A1 WO 2021194052 A1 WO2021194052 A1 WO 2021194052A1 KR 2020018466 W KR2020018466 W KR 2020018466W WO 2021194052 A1 WO2021194052 A1 WO 2021194052A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- transform
- block
- object block
- decoding object
- Prior art date
Links
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/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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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 video coding technology, and more particularly, to a method of determining the type of a primary transform of a decoding object block during an image decoding process.
- HD images high definition (HD) images and ultra high definition (UHD) images
- UHD ultra high definition
- VVC Very Video Coding
- ISO/ICE MPEG Motion Picture Experts Group
- ITU-T VCEG Joint Video Exploration Team
- JVET Joint Video Exploration Team
- VVC standardization announced a call for proposal at the 121st MPEG and 9th JVET meeting in Gwangju in January 2018, and a total of 23 organizations proposed video codec technology at the 122nd MPEG and 10th JVET meeting in San Diego. Video standardization has begun. At the 122nd MPEG and 10th JVET meeting, technical review on video codec technologies proposed by each institution and objective compression performance and subjective quality evaluation were performed. The reference software VTM (VVC Test Mode) 1.0 was released. As for the VVC standard, the Committee Draft (CD) was completed after the end of the 127th MPEG and 15th JVET meeting in July 2019, and standardization is in progress with the goal of enacting the Final Draft International Standard (FDIS) in October 2020.
- CD Committee Draft
- FDIS Final Draft International Standard
- a split block structure that combines QTBT (QuadTree Binary Tree) and TT (Ternary Tree) is adopted in VVC.
- QTBT QuadTree Binary Tree
- TT Ternary Tree
- ALF adaptive loop filter technology
- AMP Affine Motion Prediction
- DMVR decoder-side motion vector refinement
- DCT-II a transform kernel mainly used in existing video codecs
- the size of the applied block has been changed to apply up to a larger block size.
- DST-7 kernel which has been applied to small transform blocks such as 4 ⁇ 4 in existing HEVC, has been extended to large transform blocks, and a new transform kernel, DCT-8, has been added as a transform kernel.
- An object of the present invention is to perform inverse transformation in a predefined method according to specific conditions.
- Another technical object of the present invention is to perform decoding by applying a transform type optimized to a decoding object block.
- an image decoding method performed by an image decoding apparatus.
- the image decoding method includes: obtaining information about a parameter indicating whether multiple transform set (MTS) is applicable to a decoding object block, a width of the decoding object block, and a height of the decoding object block; Based on at least one of a parameter indicating whether multiple transform set (MTS) is applicable to the decoding object block, a width of the decoding object block, and information about a height of the decoding object block Determining a transform type, at least one of a parameter indicating whether a multiple transform set (MTS) is applicable to the decoding object block, a width of the decoding object block, and information on a height of the decoding object block setting a zero-out region of the decoding object block based on .
- MTS multiple transform set
- the decoding object block in the step of determining the transformation type of the decoding object block, if at least one of a width or a height of the decoding object block has a value greater than 32, the decoding object block uses a default transformation to be considered converted.
- the width of the decoding object block or The area with a height greater than 32 is set as the zero-out area.
- a parameter indicating whether multiple transform sets can be applied to the decoding object block is sps_mts_enabled_flag.
- an image decoding method performed by an image decoding apparatus.
- the image decoding method includes information on whether a multiple transform set (MTS) is applied to a decoding object block, information on a prediction mode, information on whether to apply a secondary transform, information on whether prediction using a matrix is applied, and the Obtaining at least one of information on the size of the decoding object block, information on whether a multiple transform set is applied to the decoding object block, information on a prediction mode, information on whether a secondary transform is applied, whether prediction using a matrix is applied determining whether an implicit multiple transform set is applied to the decoding object block based on at least one of information on obtaining information about a transform type based on information about
- MTS multiple transform set
- the determining whether the implicit multiple transform set is applied may include information on whether a multiple transform set (MTS) is applied to the decoding object block, and information on a prediction mode. , it is determined whether the implicit multiple transform set is applied using information on whether or not the quadratic transform is applied and whether or not prediction using a matrix is applied.
- MTS multiple transform set
- the set of implicit multiple transforms includes one default transform and at least one extra transform.
- the step of obtaining information on the transformation type based on the information on the size of the decoding object block may include, when all of the horizontal axis lengths of the decoding object block are 4 or more and 16, the decoding object At least one of an extra transform type is applied to the block in the horizontal axis direction.
- the step of obtaining information on the transformation type based on the information on the size of the decoding object block may include, when all of the vertical axis lengths of the decoding object block are 4 or more and 16 or less, the decoding At least one of extra transform types is applied to the target block in the vertical direction.
- the information on whether multiple transform set (MTS) is applied to the decoding object block includes at least one of sps_mts_enabled_flag and sps_explicit_mts_intra_enabled_flag.
- the information on the prediction mode includes CuPredMode.
- the information on whether the quadratic transform is applied includes lfnst_idx.
- information on whether prediction using the matrix is applied includes intra_mip_flag.
- the information on the transformation type of the decoding object block includes information on a horizontal-axis transformation type and information on a vertical-axis transformation type, respectively.
- the step of determining whether an implicit multiple transform set is applied to the decoding object block is obtained by additionally checking whether the decoding object block is a luma block.
- an image decoding apparatus including a memory and at least one processor.
- the image decoding apparatus includes information on whether a multiple transform set (MTS) is applied to a decoding object block, information on a prediction mode, information on whether a secondary transform is applied, information on whether prediction using a matrix is applied, and the Obtaining at least one of information on the size of the decoding object block, information on whether multiple transform sets are applied to the decoding object block, information on prediction mode, information on whether to apply a secondary transform, and whether or not prediction using a matrix is applied It is determined whether an implicit multiple transform set is applied to the decoding object block based on at least one of information about and at least one processor including an inverse transform unit that obtains information on a transform type based on the information and performs an inverse transform based on the information on the transform type.
- MTS multiple transform set
- the inverse transformation can be performed in a predefined method according to specific conditions.
- an effect of improving compression performance can be expected by performing decoding by applying a transform type optimized to a decoding target block.
- FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention can be applied.
- FIG. 2 illustrates an example of an image encoding method performed by a video encoding apparatus.
- FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention can be applied.
- FIG. 4 shows an example of an image decoding method performed by a decoding apparatus.
- 5 shows a scan order of sub-blocks and coefficients for a diagonal scan scheme.
- FIG. 6 shows an example of a 32x32 encoding target block after quantization.
- FIG. 8 illustrates a method of determining whether to apply an implicit MTS function according to an embodiment of the present invention.
- FIG 9 shows a method of deriving transformation information according to the width and height of the corresponding block of the implicit MTS according to an embodiment of the present invention.
- FIG. 10 illustrates a method of performing an inverse transform based on a transform-related parameter according to an embodiment of the present invention.
- 11 shows a valid MTS area marked with a thick line in a 32x32 decoding object block.
- FIG. 12 shows a method of determining a valid MTS according to an embodiment of the present invention.
- FIG. 13 illustrates a method of determining a valid MTS according to another embodiment of the present invention.
- FIG. 14 illustrates a method of determining a valid MTS according to another embodiment of the present invention.
- FIG. 15 illustrates a method of determining whether to apply an explicit MTS function according to an embodiment of the present invention.
- FIG. 16 illustrates a method of performing an inverse transform based on a transform-related parameter according to another embodiment of the present invention.
- each component in the drawings described in the present invention is shown independently for the convenience of description regarding different characteristic functions, and does not mean that each component is implemented as separate hardware or separate software.
- two or more components among each component may be combined to form one component, or one component may be divided into a plurality of components.
- Embodiments in which each component is integrated and/or separated are also included in the scope of the present invention without departing from the essence of the present invention.
- the present invention relates to video/image coding.
- the method/embodiment disclosed in the present invention may be a versatile video coding (VVC) standard, an Essential Video Coding (EVC) standard, an AOMedia Video 1 (AV1) standard, a 2nd generation of audio video coding standard (AVS2) or a next-generation video It can be applied to methods disclosed in /image coding standards (eg, H.267, H.268, etc.).
- a picture generally refers to a unit representing one image in a specific time period
- a slice is a unit constituting a part of a picture in coding.
- One picture may consist of a plurality of slices, and if necessary, a picture and a slice may be used interchangeably.
- a pixel or pel may mean a minimum unit constituting one picture (or image). Also, as a term corresponding to a pixel, a 'sample' may be used. A sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luma component, or may represent only a pixel/pixel value of a chroma component.
- a unit represents a basic unit of image processing.
- the unit may include at least one of a specific region of a picture and information related to the region.
- a unit may be used interchangeably with terms such as a block or an area in some cases.
- an MxN block may represent a set of samples or transform coefficients including M columns and N rows.
- FIG. 1 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention can be applied.
- the video encoding apparatus 100 includes a picture division unit 105 , a prediction unit 110 , a residual processing unit 120 , an entropy encoding unit 130 , an adder 140 , and a filter unit 150 . ) and a memory 160 .
- the residual processing unit 120 may include a subtraction unit 121 , a transform unit 122 , a quantization unit 123 , a rearrangement unit 124 , an inverse quantization unit 125 , and an inverse transform unit 126 .
- the picture divider 105 may divide the input picture into at least one processing unit.
- the processing unit may be referred to as a coding unit (CU).
- the coding unit may be recursively divided from a coding tree unit (CTU) according to a quad-tree binary-tree (QTBT) structure.
- CTU coding tree unit
- QTBT quad-tree binary-tree
- one coding unit may be divided into a plurality of coding units having a lower depth based on a quad tree structure and/or a binary tree structure.
- a quad tree structure may be applied first and a binary tree structure may be applied later.
- the binary tree structure may be applied first.
- the coding procedure according to the present invention may be performed based on the final coding unit that is no longer divided.
- the maximum coding unit may be directly used as the final coding unit based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units having a lower depth than the optimal coding unit if necessary.
- a coding unit of the size of may be used as the final coding unit.
- the coding procedure may include procedures such as prediction, transformation, and restoration, which will be described later.
- the processing unit may include a coding unit (CU), a prediction unit (PU), or a transform unit (TU).
- a coding unit may be split from a largest coding unit (LCU) into coding units of a lower depth along a quad tree structure.
- LCU largest coding unit
- the maximum coding unit may be directly used as the final coding unit based on coding efficiency according to image characteristics, or the coding unit may be recursively divided into coding units having a lower depth than the optimal coding unit if necessary.
- a coding unit of the size of may be used as the final coding unit.
- SCU smallest coding unit
- the coding unit cannot be divided into a coding unit smaller than the smallest coding unit.
- the final coding unit means a coding unit that is a base that is partitioned or divided into a prediction unit or a transform unit.
- a prediction unit is a unit partitioned from a coding unit, and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub-blocks.
- a transform unit may be divided along a quad tree structure from a coding unit, and may be a unit deriving a transform coefficient and/or a unit deriving a residual signal from the transform coefficient.
- the coding unit may be referred to as a coding block (CB)
- the prediction unit may be referred to as a prediction block (PB)
- the transform unit may be referred to as a transform block (TB).
- a prediction block or a prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
- a transform block or transform unit may mean a specific block-shaped region within a picture, and may include transform coefficients or an array of residual samples.
- the prediction unit 110 may perform prediction on a processing target block (hereinafter, referred to as a current block) and generate a predicted block including prediction samples for the current block.
- a unit of prediction performed by the prediction unit 110 may be a coding block, a transform block, or a prediction block.
- the prediction unit 110 may determine whether intra prediction or inter prediction is applied to the current block. For example, the prediction unit 110 may determine whether intra prediction or inter prediction is applied in units of CUs.
- the prediction unit 110 may derive a prediction sample for the current block based on a reference sample outside the current block in a picture to which the current block belongs (hereinafter, referred to as a current picture).
- the prediction unit 110 may (i) derive a prediction sample based on an average or interpolation of neighboring reference samples of the current block, and (ii) a neighboring reference of the current block.
- the prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the prediction sample among the samples.
- the case of (i) may be called a non-directional mode or a non-angular mode, and the case of (ii) may be called a directional mode or an angular mode.
- a prediction mode may have, for example, 33 directional prediction modes and at least two or more non-directional modes.
- the non-directional mode may include a DC prediction mode and a planar mode (Planar mode).
- the prediction unit 110 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the prediction unit 110 may derive a prediction sample for the current block based on a sample specified by a motion vector on a reference picture.
- the prediction unit 110 may derive a prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode.
- the prediction unit 110 may use motion information of a neighboring block as motion information of the current block.
- the skip mode unlike the merge mode, the difference (residual) between the predicted sample and the original sample is not transmitted.
- the motion vector of the current block may be derived by using the motion vector of the neighboring block as a motion vector predictor of the current block.
- a neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in a reference picture.
- the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic).
- Motion information may include a motion vector and a reference picture index.
- Information such as prediction mode information and motion information may be (entropy) encoded and output in the form of a bitstream.
- the highest picture on a reference picture list may be used as a reference picture.
- Reference pictures included in the reference picture list may be sorted based on a picture order count (POC) difference between the current picture and the corresponding reference picture.
- POC picture order count
- the subtraction unit 121 generates a residual sample that is a difference between an original sample and a predicted sample.
- the residual sample may not be generated as described above.
- the transform unit 122 generates transform coefficients by transforming residual samples in units of transform blocks.
- the transform unit 122 may perform transform according to the size of the corresponding transform block and the prediction mode applied to the coding block or prediction block spatially overlapping the corresponding transform block. For example, if intra prediction is applied to the coding block or the prediction block overlapping the transform block, and the transform block is a 4 ⁇ 4 residual array, the residual sample is a Discrete Sine Transform (DST) transform kernel. In other cases, the residual sample may be transformed using a DCT (Discrete Cosine Transform) transformation kernel.
- DST Discrete Sine Transform
- the quantizer 123 may quantize the transform coefficients to generate a quantized transform coefficient.
- the rearrangement unit 124 rearranges the quantized transform coefficients.
- the reordering unit 124 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form through a coefficient scanning method.
- the rearrangement unit 124 has been described as a separate configuration, the rearrangement unit 124 may be a part of the quantization unit 123 .
- the entropy encoding unit 130 may perform entropy encoding on the quantized transform coefficients.
- Entropy encoding may include, for example, an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit 130 may encode information necessary for video reconstruction (eg, a value of a syntax element, etc.) other than the quantized transform coefficient together or separately.
- Entropy-encoded information may be transmitted or stored in a network abstraction layer (NAL) unit unit in the form of a bitstream.
- NAL network abstraction layer
- the inverse quantization unit 125 inversely quantizes the values (quantized transform coefficients) quantized by the quantization unit 123 , and the inverse transform unit 126 inversely transforms the values inversely quantized by the inverse quantization unit 125 to obtain a residual sample. create
- the adder 140 reconstructs a picture by combining the residual sample and the prediction sample.
- a reconstructed block may be generated by adding the residual sample and the prediction sample in units of blocks.
- the adder 140 has been described as a separate configuration, but the adder 140 may be a part of the prediction unit 110 .
- the adder 140 may be referred to as a restoration unit or a restoration block generator.
- the filter unit 150 may apply a deblocking filter and/or a sample adaptive offset to a reconstructed picture. Artifacts of block boundaries in the reconstructed picture or distortion in the quantization process may be corrected through deblocking filtering and/or sample adaptive offset.
- the sample adaptive offset may be applied in units of samples, and may be applied after the process of deblocking filtering is completed.
- the filter unit 150 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and/or sample adaptive offset is applied.
- ALF adaptive loop filter
- the memory 160 may store a reconstructed picture (a decoded picture) or information required for encoding/decoding.
- the reconstructed picture may be a reconstructed picture whose filtering procedure has been completed by the filter unit 150 .
- the stored reconstructed picture may be used as a reference picture for (inter) prediction of another picture.
- the memory 160 may store (reference) pictures used for inter prediction.
- pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
- the image encoding method may include block partitioning, intra/inter prediction, transform, quantization, and entropy encoding.
- the current picture may be divided into a plurality of blocks, a prediction block of the current block may be generated through intra/inter prediction, and the input block of the current block may be subtracted from the prediction block.
- a residual block of the current block may be generated.
- a coefficient block ie, transform coefficients of the current block, may be generated by transforming the residual block.
- the transform coefficients may be quantized and entropy encoded and stored in a bitstream.
- FIG. 3 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention can be applied.
- the video decoding apparatus 300 includes an entropy decoding unit 310 , a residual processing unit 320 , a prediction unit 330 , an adder 340 , a filter unit 350 and a memory 360 .
- the residual processing unit 320 may include a rearrangement unit 321 , an inverse quantization unit 322 , and an inverse transform unit 323 .
- the video decoding apparatus 300 may reconstruct a video corresponding to a process in which the video information is processed by the video encoding apparatus.
- the video decoding apparatus 300 may perform video decoding using a processing unit applied in the video encoding apparatus.
- a processing unit block of video decoding may be, as an example, a coding unit, and may be a coding unit, a prediction unit, or a transform unit, as another example.
- a coding unit may be partitioned from the largest coding unit along a quad tree structure and/or a binary tree structure.
- a prediction unit and a transform unit may be further used depending on the case, in which case a prediction block is a block derived or partitioned from a coding unit, and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub-blocks.
- a transform unit may be divided along a quad tree structure from a coding unit, and may be a unit deriving a transform coefficient or a unit deriving a residual signal from a transform coefficient.
- the entropy decoding unit 310 may parse the bitstream and output information necessary for video or picture restoration. For example, the entropy decoding unit 310 decodes information in a bitstream based on a coding method such as exponential Golomb encoding, CAVLC or CABAC, and a value of a syntax element required for video reconstruction, and a quantized value of a transform coefficient related to a residual can be printed out.
- a coding method such as exponential Golomb encoding, CAVLC or CABAC
- the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes the syntax element information to be decoded and the decoding information of the surrounding and decoding target blocks or the symbol/bin information decoded in the previous step.
- a context model is determined using the context model, and the probability of occurrence of a bin is predicted according to the determined context model, and a symbol corresponding to the value of each syntax element can be generated by performing arithmetic decoding of the bin. have.
- the CABAC entropy decoding method may update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after determining the context model.
- Prediction-related information among the information decoded by the entropy decoding unit 310 is provided to the prediction unit 330, and the residual value on which the entropy decoding is performed in the entropy decoding unit 310, that is, the quantized transform coefficient is a rearrangement unit ( 321) can be entered.
- the reordering unit 321 may rearrange the quantized transform coefficients in a two-dimensional block form.
- the reordering unit 321 may perform reordering in response to coefficient scanning performed by the encoding apparatus.
- the rearrangement unit 321 has been described as a separate configuration, the rearrangement unit 321 may be a part of the inverse quantization unit 322 .
- the inverse quantizer 322 may inverse quantize the quantized transform coefficients based on the (inverse) quantization parameter to output the transform coefficients.
- information for deriving the quantization parameter may be signaled from the encoding device.
- the inverse transform unit 323 may inverse transform the transform coefficients to derive residual samples.
- the prediction unit 330 may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
- a unit of prediction performed by the prediction unit 330 may be a coding block, a transform block, or a prediction block.
- the prediction unit 330 may determine whether to apply intra prediction or inter prediction based on the information on the prediction.
- a unit for determining which one of intra prediction and inter prediction is applied and a unit for generating a prediction sample may be different.
- units for generating prediction samples in inter prediction and intra prediction may also be different.
- which one of inter prediction and intra prediction is to be applied may be determined in units of CUs.
- a prediction mode may be determined in units of PUs and a prediction sample may be generated
- intra prediction a prediction mode may be determined in units of PUs and prediction samples may be generated in units of TUs.
- the prediction unit 330 may derive a prediction sample for the current block based on neighboring reference samples in the current picture.
- the prediction unit 330 may derive a prediction sample for the current block by applying a directional mode or a non-directional mode based on the neighboring reference samples of the current block.
- a prediction mode to be applied to the current block may be determined by using the intra prediction mode of the neighboring block.
- Matrix-based Intra Prediction MIP that performs prediction based on a matrix trained in advance may be used.
- MIP Matrix-based Intra Prediction
- the number of MIP modes and the size of the matrix are defined for each block size, and reference samples are used. After downsampling according to the size of the matrix, the matrix determined by the mode number is multiplied and interpolated to fit the prediction block size to generate a predicted value.
- the prediction unit 330 may derive a prediction sample for the current block based on a sample specified on the reference picture by a motion vector on the reference picture.
- the prediction unit 330 may derive a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
- motion information necessary for inter prediction of the current block provided by the video encoding apparatus for example, information about a motion vector, a reference picture index, etc., may be obtained or derived based on the information about the prediction.
- motion information of a neighboring block may be used as motion information of the current block.
- the neighboring block may include a spatial neighboring block and a temporal neighboring block.
- the prediction unit 330 may construct a merge candidate list with motion information of available neighboring blocks, and use information indicated by a merge index on the merge candidate list as a motion vector of the current block.
- the merge index may be signaled from the encoding device.
- the motion information may include a motion vector and a reference picture. When motion information of a temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
- the difference (residual) between the predicted sample and the original sample is not transmitted.
- the motion vector of the current block may be derived by using the motion vector of the neighboring block as a motion vector predictor.
- the neighboring block may include a spatial neighboring block and a temporal neighboring block.
- a merge candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and/or a motion vector corresponding to a Col block that is a temporal neighboring block.
- the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block.
- the prediction information may include a merge index indicating a candidate block having an optimal motion vector selected from among candidate blocks included in the merge candidate list.
- the prediction unit 330 may derive the motion vector of the current block by using the merge index.
- a motion vector predictor candidate list is generated using a motion vector of a reconstructed spatial neighboring block and/or a motion vector corresponding to a col block that is a temporal neighboring block.
- a motion vector of a reconstructed spatial neighboring block and/or a motion vector corresponding to a col block that is a temporal neighboring block may be used as a motion vector candidate.
- the prediction information may include a prediction motion vector index indicating an optimal motion vector selected from motion vector candidates included in the list.
- the prediction unit 330 may select a prediction motion vector of the current block from among motion vector candidates included in the motion vector candidate list by using the motion vector index.
- the prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, encode it and output it in the form of a bitstream. That is, the MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
- the prediction unit 330 may obtain a motion vector difference included in the prediction-related information, and derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor.
- the prediction unit may also obtain or derive a reference picture index indicating a reference picture from the information about the prediction.
- the adder 340 may reconstruct the current block or the current picture by adding the residual sample and the prediction sample.
- the adder 340 may reconstruct the current picture by adding the residual sample and the prediction sample in units of blocks.
- the prediction sample may be the reconstructed sample.
- the adder 340 is described as a separate configuration, but the adder 340 may be a part of the predictor 330 . Meanwhile, the adder 340 may be referred to as a restoration unit or a restoration block generator.
- the filter unit 350 may apply a deblocking filtering sample adaptive offset and/or ALF to the reconstructed picture.
- the sample adaptive offset may be applied in units of samples or may be applied after deblocking filtering.
- ALF may be applied after deblocking filtering and/or sample adaptive offset.
- the memory 360 may store a reconstructed picture (a decoded picture) or information necessary for decoding.
- the reconstructed picture may be a reconstructed picture whose filtering procedure has been completed by the filter unit 350 .
- the memory 360 may store pictures used for inter prediction.
- pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
- the reconstructed picture may be used as a reference picture for other pictures.
- the memory 360 may output the restored pictures according to the output order.
- the image decoding method may include entropy decoding, inverse quantization, inverse transform, and intra/inter prediction processes.
- the reverse process of the encoding method may be performed.
- quantized transform coefficients may be obtained through entropy decoding of the bitstream, and a coefficient block of the current block, ie, transform coefficients, may be obtained through an inverse quantization process for the quantized transform coefficients.
- a residual block of the current block may be derived through inverse transform on the transform coefficients, and the prediction block of the current block derived through intra/inter prediction is added to the residual block of the current block
- a reconstructed block may be derived.
- Floor(x) may represent a maximum integer value less than or equal to x
- Log2(u) may represent a log value based on 2 of u
- Ceil(x) is greater than or equal to x It can represent the minimum integer value. For example, in the case of Floor(5.93), since the maximum integer value less than or equal to 5.93 is 5, it can represent 5.
- x>>y may represent an operator for right shifting x y times
- x ⁇ y may represent an operator for left shifting x y times.
- the HEVC standard generally uses one transform type, DCT (discrete cosine transform). Accordingly, there is no need to transmit a separate determination process for a transform type and information on the determined transform type. However, when the size of the current luma block is 4x4 and intra prediction is performed, a DST (discrete sine transform) transform type is exceptionally used.
- DCT discrete cosine transform
- Information representing the position of a non-zero coefficient among quantized coefficients that have undergone transformation and quantization can be roughly classified into three types.
- Position (x,y) of the last significant coefficient the position of the lowest non-zero coefficient in the scan order in the encoding object block (hereinafter, the last position) (defined as last position)
- coded sub-block flag A block to be coded is divided into a plurality of sub-blocks, so that each sub-block has a non-zero coefficient A flag indicating whether or not it contains one or more zero coefficients (or a flag indicating whether it is all zero coefficients)
- the position of the last significant coefficient is expressed by dividing it into an x-axis component and a y-axis component, and each component is expressed by dividing it into a prefix and a suffix. That is, the syntax indicating the non-zero positions of the quantized coefficients includes a total of six syntaxes below.
- last_sig_coeff_x_prefix indicates the prefix of the x-axis component indicating the position of the last significant coefficient
- last_sig_coeff_y_prefix indicates the prefix of the y-axis component indicating the position of the last significant coefficient
- last_sig_coeff_x_suffix indicates the suffix of the x component indicating the position of the last significant coefficient
- last_sig_coeff_y_suffix indicates the suffix of the y component indicating the position of the last significant coefficient.
- coded_sub_block_flag indicates "0” if all coefficients in the corresponding sub-block are all zeros, and "1” if one or more non-zero coefficients exist.
- sig_coeff_flag is expressed as "0” in the case of a zero coefficient, and expressed as "1” in the case of a non-zero coefficient.
- a coded_sub_block_flag syntax is transmitted only for sub-blocks that exist before in a scan order in consideration of the position of the last significant coefficient in the block to be coded. When coded_sub_block_flag is “1”, that is, when one or more non-zero coefficients exist, a sig_coeff_flag syntax for each of all coefficients in a corresponding sub-block is transmitted.
- the HEVC standard supports the following three types of scans for coefficients.
- the coefficients of the corresponding block are scanned in an up-right diagonal method, and when the block is encoded using the intra prediction method, the intra prediction mode Accordingly, one of the three types is selected and the coefficients of the corresponding block are scanned.
- the image encoding apparatus scans the coefficients of the corresponding block by selecting one of the three types according to the intra prediction mode.
- the scanning may be performed by the reordering unit 124 in the image encoding apparatus of FIG. 1 , and a two-dimensional block shape coefficient may be changed into a one-dimensional vector form through scanning.
- 5 shows a scan order of sub-blocks and coefficients for a diagonal scan scheme.
- the block of FIG. 5 when the block of FIG. 5 is scanned in a diagonal scan method by the rearrangement unit 124 of the image encoding apparatus, the block of FIG. 5 is scanned in a downward direction and The scan is performed in the diagonal upper direction, and the last scan is performed for sub-block 16 at the lower right. That is, the rearrangement unit 124 is 1, 2, 3, ... , 14, 15, and 16 sub-blocks are scanned in order to rearrange the quantized transform coefficients in the form of a two-dimensional block into a form of a one-dimensional vector. Similarly, the reordering unit 124 of the image encoding apparatus scans coefficients in each sub-block in the same diagonal scan method as that of the sub-block. For example, in subblock 1, 0, 1, 2, ... , 13, 14, and 15 in the order of the scans are performed.
- the stored order is the reverse of the scan order. That is, when the block of FIG. 10 is scanned by the reordering unit 124 of the image encoding apparatus, scans are performed in the order of coefficient 0 to 255, but the order in which each pixel is stored in the bitstream is at position 255 It is stored in the bitstream in order from the pixel at position 0 to the pixel at position 0.
- FIG. 6 shows an example of a 32x32 encoding target block after being quantized by the video encoding apparatus.
- a diagonal method is arbitrarily used.
- a pixel indicated by a diagonal hatch indicates a non-zero coefficient
- a pixel indicated by an x indicates a last significant coefficient. All other white coefficients have a value of zero.
- the coded_sub_block_flag syntax is substituted into the block of FIG. 6, 24 sub-blocks existing before the last position in the scan order among a total of 64 sub-blocks, that is, the thick line in FIG.
- the coded_sub_block_flag value for the first sub-block including the DC value and the 24th sub-block including the last position coefficient among the 24 sub-blocks is " 1" and coded_sub_block_flag values for the remaining 22 sub-blocks are transmitted to the video decoding apparatus through a bitstream.
- the coded_sub_block_flag value is " set to 1".
- the coded_sub_block_flag value of the 4th, 5th, 11th, and 18th sub-blocks that are sub-blocks including gray-marked pixels among 22 sub-blocks excluding the first sub-block and the 24th sub-block is "1 " is set to
- the present specification discloses a method of determining a type of a primary transform of a decoding object block during an image decoding process. That is, when a decoding object block is decoded by an image decoding apparatus, a process of determining whether the image encoding apparatus has primary transformed and coded into what type of transformation is required in the transformation process by the image encoding apparatus.
- a primary transform type consists of one default transform and a plurality of extra transforms.
- the decoding target block uses a default transform or a multiple transform set (MTS) including a default transform and extra transforms according to a condition. That is, the decoding object block may be transformed by using only the default transform or by using a multiple transform set including the default transform and the additional transform in the transform process.
- MTS multiple transform set
- decoding may be performed by determining whether a decoding object block uses only a default transform or a multiple transform set (MTS) including a default transform and an additional transform.
- MTS multiple transform set
- the decoding object block uses the MTS, information about a transform actually used among a plurality of transforms is transmitted or derived.
- a horizontal axis transformation type and a vertical axis transformation type may exist separately. That is, when the decoding object block is transformed using MTS, the image decoding apparatus may perform decoding by receiving or determining which transform type is used and transformed among a plurality of transform types.
- DCT-II may be set as a default transform
- DST-7 and DCT-8 may be set as extra transforms
- the maximum size of DCT-II which is a default transform
- the maximum size of DST-7 and DCT-8 which are extra transforms, is supported up to 32 ⁇ 32.
- the size of the decoding object block is 64 ⁇ 64
- one 64 ⁇ 64 DCT-II is applied to a transform process. That is, when at least one of the width and height of the decoding target block is greater than 32 (greater than 32), a default transform (*) is directly applied without applying the MTS.
- the transform type value of DCT-II is set to “0”, the transform type value of DST-7 is set to “1”, and the transform type value of DCT-8 is set to “2”.
- Table 2 below defines the transform type assigned to each value of the trType syntax.
- Tables 3 and 4 show examples of transform kernels of DST-7 and DST-8 when the size of the decoding and target blocks is 4x4.
- Table 3 shows the coefficient values of the corresponding transform kernel when the tyType is "1" (DST-7) and the size of the decoding target block is 4x4, and Table 4 shows the coefficient values of the corresponding transform kernel when the tyType is "2" (DCT-8) and represents the coefficient value of the corresponding transform kernel when the size of the decoding target block is 4x4.
- a zero-out area may be included in the entire transform area of the decoding object block.
- Transform transforms pixel domain values into frequency domain values.
- an upper-left frequency region is referred to as a low-frequency region and a lower-right frequency region is referred to as a high-frequency region.
- the low frequency component reflects the general (average) characteristics of the corresponding block
- the high frequency component reflects the sharp (unique) characteristic of the corresponding block. Therefore, the low frequency component has a plurality of large values, and the high frequency component has a few small values. Through the quantization process after transformation, a small number of small values in the high-frequency region mostly have zero values.
- the remaining region having most of the zero values is referred to as a zero-out region, and the zero-out region may be excluded from the signaling process.
- a region excluding the zero-out region in the decoding object block is referred to as a valid region.
- the upper left gray area represents the low frequency area
- the white area represents the high frequency zero-out.
- the decoding object block is 64x64
- the upper left 32x32 area becomes a valid area, and the remaining areas except for this become a zero-out area, so that no signaling is performed.
- the size of the decoding object block is one of 64x64, 64x32, and 32x64
- the upper left 32x32 area becomes an effective area, and the remaining part becomes a zero-out area except for the coefficients quantized by the decoder. Since the size of the block is known when parsing the syntax for , the zero-out region is not signaled. That is, an area in which the width or height of the decoding object block is greater than 32 is set as the zero-out area.
- the transform used is DCT-II, which is the default transform. Since the maximum size of DST-7 and DCT-8, which are extra transforms, is supported up to 32 ⁇ 32, MTS is not applied to the target block of this size.
- the size of the decoding object block is one of 32x32, 32x16, and 16x32 and MTS is applied to the decoding object block (for example, when DST-7 or DCT-8 is used)
- the upper left 16x16 area becomes an effective area
- the remaining part is set as a zero-out area.
- the zero-out region may be signaled according to the location of the last significant coefficient and the scanning method. This is because, since the encoder signals the MTS index (mts_idx) value after signaling the quantized coefficient-related syntax, information on the transform type cannot be known when the decoder parses the syntax for the quantized coefficient.
- the decoder can perform transformation only on the effective region after ignoring or removing quantized coefficients corresponding to the zero-out region.
- the information on the actually used transformation type may have a horizontal axis transformation type and a vertical axis transformation type separately.
- the horizontal axis transformation type of the decoding object block is DST-7 or DCT-8
- the horizontal axis (width) effective area of the decoding object block becomes 16
- the vertical axis transformation type of the decoding object block is DST-7 or DCT- In the case of 8
- the effective area of the vertical axis (height) of the decoding object block is 16.
- the size of the decoding object block is one of 32x32, 32x16, and 16x32 and MTS is not applied to the decoding object block (eg, when DCT-II, which is a default transform, is used)
- all regions are valid regions.
- a zero-out region does not exist and is transformed using the default transformation DCT-II.
- a horizontal axis transformation type and a vertical axis transformation type may exist separately.
- the effective area of the horizontal axis (width) of the decoding object block becomes the width of the corresponding block
- the vertical axis transformation type of the decoding object block is DCT-II
- the vertical axis (height) effective area of the decoding target block becomes the height of the corresponding block. That is, all areas (width x height) of the decoding object block become effective areas.
- the decoding object block has a size smaller than 16, which is not defined above, all regions become valid regions, and there is no zero-out region. Whether MTS is applied to the decoding object block and the transform type value are determined by implicit and/or explicit embodiments.
- syntax content for expressing the position of a non-zero coefficient among quantized coefficients that have undergone transformation and quantization is the same as that of the HEVC method.
- the coded_sub_block_flag syntax name is changed to sb_coded_flag and used.
- a method of scanning the quantized coefficients uses an up-right diagonal method.
- MTS may be applied to a luma block (not applied to a chroma block).
- the MTS function may be turned on/off using a flag indicating whether MTS is used, that is, sps_mts_enabled_flag.
- sps_mts_enabled_flag on is set, and it is possible to set whether to explicitly use the MTS function for intra prediction and inter prediction, respectively.
- a flag sps_explicit_mts_intra_enabled_flag indicating whether MTS is used in intra prediction and a flag sps_explicit_mts_inter_enabled_flag indicating whether MTS is used in inter prediction may be separately set.
- the values of the three flags sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, and sps_explicit_mts_inter_enabled_flag indicating whether to use the MTS are described as being located in a sequence parameter set (SPS), but is not limited thereto.
- SPS sequence parameter set
- the three flags are at least one of decoding capability information (DCI), video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), picture header (PH), and slice header (SH). can be set individually.
- the flags indicating whether the three MTSs are used may be defined as high level syntax (HLS).
- MTS can be divided into an explicit method and an implicit method.
- Explicit use of MTS is defined as MTS-related information (e.g., conversion actually used) when a specific condition is satisfied while a flag value indicating whether MTS is used within and/or between screens is set to on in the SPS. information) is transmitted. That is, the image decoding apparatus may receive the MTS-related information and check which transformation type the decoding object block is transformed using based on the MTS-related information, and may perform decoding based on the received MTS-related information. For example, in an environment where explicit MTS is used, the three flags may be set as follows.
- MTS-related information eg, actually used conversion information
- a value of sps_mts_enabled_flag among three flags is set to on in the SPS.
- the three flags may be set as follows.
- the implicit MTS described in this embodiment may be used when the decoding object block is encoded using the intra prediction method. That is, when the decoding object block is encoded by the intra prediction method when the decoding object block is encoded by the video encoding apparatus, encoding and/or decoding may be performed by the video encoding apparatus and/or the video decoding apparatus using the implicit MTS. Meanwhile, whether to use the implicit MTS when decoding the decoding object block may be indicated by the implicitMtsEnabled parameter.
- the image decoding apparatus may determine whether to perform decoding using the implicit MTS by checking the value of the implicitMtsEnabled parameter.
- the implicitMtsEnable parameter when an implicit MTS is used for decoding, the implicitMtsEnable parameter may have a value of 1, otherwise, the implicitMtsEnable parameter may have a value of 0. Meanwhile, in this specification, the implicitMtsEnabled may be indicated as “implicit_MTS_enabled” in some cases.
- sps_mts_enabled_flag is a flag indicating whether MTS is applied regardless of whether it is implicit or explicit. Therefore, it is set to "on" to apply the implicit MTS.
- the implicit MTS is used when the decoding object block is encoded by the video encoding apparatus and encoded by the intra prediction method. Accordingly, the image decoding apparatus may determine whether to use the implicit MTS by checking the sps_explicit_mts_intra_enabled_flag value.
- sps_explicit_mts_intra_enabled_flag is set to “on” when the decoding object block is encoded by the intra prediction method when the decoding object block is encoded by the video encoding apparatus and explicit MTS is applied. Accordingly, when the decoding object block is encoded as implicit MTS by the video encoding apparatus, sps_explicit_mts_intra_enabled_flag is set to “off”. Meanwhile, as described above, the implicit MTS is used when the decoding object block is encoded by the video encoding apparatus using the intra prediction method.
- the sps_explicit_mts_inter_enabled_flag value indicating the explicit MTS when the decoding object block is encoded by the intra prediction method by the video encoding apparatus has.
- the implicit MTS can be used when a decoding object block is encoded by an intra prediction method by an image encoding apparatus, it can be applied when CuPredMode has a MODE_INTRA value.
- the conditions for the decoding object block to be decoded using the implicit MTS by the image decoding apparatus may be listed as follows.
- CuPredMode is equal to MODE_INTRA (in-screen prediction method)
- CuPredMode[ 0 ][ xTbY ][ yTbY ] indicating the prediction mode of the current position in the luma block may have a MODE_INTRA value.
- intra_mip_flag is equal to 0
- the present embodiment describes a method of setting a primary transform type (or MTS) for a decoding object block that does not use a secondary transform while predicting with a general intra prediction method.
- MTS primary transform type
- FIG. 8 illustrates a method of determining whether to apply an implicit MTS function according to an embodiment of the present invention. Each of the steps of FIG. 8 may be performed in the image decoding apparatus.
- the video decoding apparatus determines whether sps_mts_enable_flag has a value of 1, sps_explicit_mts_intra_enable_flag has a value of 0, and CuPredMode has a MODE_INTRA value (S810).
- the image decoding apparatus determines whether lfnst_idx has a value of 0 and intra_mip_flag has a value of 0 (S820), and satisfies both the conditions of S810 and S820.
- the implicit_MTS_enabled value is set to 1 (S830). Meanwhile, the image decoding apparatus sets the implicit_MTS_enabled value to 0 when none of the conditions of S810 or S820 are satisfied (S840).
- an MTS value (transform information actually used) is derived according to the width and height of the corresponding block (refer to FIG. 9 ).
- the transform should not be a sub-block transform (sbt) in which only a part of the target block undergoes a transform process. That is, the cu_sbt_flag value of the target block is “0”.
- FIG. 9 shows a method of deriving transformation information according to the width and height of the corresponding block of the implicit MTS according to an embodiment of the present invention. Each of the steps of FIG. 9 may be performed in the image decoding apparatus.
- the image decoding apparatus determines whether the implicit_MTS_enabled value is '1' (S910). At this time, although not shown in the drawing, the image decoding apparatus may additionally check whether the cu_sbt_flag value has a value of “0”. In this case, when cu_sbt_flag has a value of '1', it indicates that the decoding object block is transformed by sub-block transformation in which only a part of the object block undergoes a transformation process. Conversely, when cu_sbt_flag has a value of '0', it indicates that the decoding object block is not transformed by sub-block transformation in which only a part of the object block undergoes a transformation process. Accordingly, the operations according to FIG. 14 may be set to be operated only when the cu_sbt_flag has a value of '0'.
- nTbW represents the width of the corresponding transform block, and is used to determine whether an additional transform type, DST-7, can be used in the horizontal axis direction.
- trTypeHor is set to '1' (S930), and when the value of nTbW does not have a value of 4 or more and 16 or less, trTypeHor is set to ' 0' (S940).
- the nTbW represents the width of the corresponding transform block, and is used to determine whether an additional transform type, DST-7, can be used in the horizontal axis direction.
- tyTypeHor when tyTypeHor is set to '0', it may be determined that the corresponding transform block is transformed using the DCT-II transform that is the default type transform in the horizontal axis direction. Meanwhile, when the trTypeHor is set to '1', it may be determined that the corresponding transform block is transformed using the DST-7 transform, which is one of the additional transform types, in the horizontal axis direction.
- the image decoding apparatus determines whether the value of nTbH has a value of 4 or more and 16 or less (S950), and sets trTypeVer to '1' when the value of nTbH has a value of 4 or more and 16 or less ( S960), when the value of nTbW does not have a value of 4 or more and 16 or less, trTypeVer is set to '0' (S970).
- the nTbH represents the height of the corresponding transform block, and is used to determine whether an additional transform type, DST-7, can be used in the vertical axis direction.
- trTypeVer when trTypeVer is set to '0', it may be determined that the corresponding transform block is transformed using the DCT-II transform, which is the default type transform in the vertical axis direction. On the other hand, when the trTypeVer is set to '1', it can be determined that the corresponding transform block is transformed using the DST-7 transform, which is one of the additional transform types, in the vertical axis direction.
- FIG. 10 illustrates a method of performing an inverse transform based on a transform-related parameter according to an embodiment of the present invention.
- Each of the steps of FIG. 10 may be performed by an image decoding apparatus, for example, by an inverse transform unit of the decoding apparatus.
- the image decoding apparatus obtains sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, CuPredMode[0][xTbY][yTbY], lfnst_idx, IntraMipFlag[x0, y0], NTbW, nTbH (S1010).
- sps_mts_enabled_flag the related parameters of sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, CuPredMode[0][xTbY][yTbY], lfnst_idx, IntraMipFlag[x0, y0] are described in detail in the description of FIG. Used to determine whether a block can apply implicit MTS.
- NTbW and nTbH respectively indicate the width and height of the corresponding transform block, and are used to determine whether an additional transform type, DST-7, can be used.
- the image decoding apparatus sets implicit_MTS_enabled based on values of sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, CuPredMode[0][xTbY][yTbY], Lfnst_idx, IntraMipFlag[x0, y0] (S1020).
- the implicit_MTS_enable may be set by performing the process of FIG. 13 .
- the image decoding apparatus sets trTypeHor and trTypeVer based on implicit_MTS_enabled, nTbW, and nTbH values (S1030).
- the trTypeHor and trTypeVer methods may be set by performing the process of FIG. 9 .
- the image decoding apparatus performs inverse transformation based on trTypeHor and trTypeVer (S1040).
- An inverse transform applied according to trTypeHor and trTypeVer may be configured according to Table 2. For example, when trTypeHor is “1” and trTypeVer is “0”, DST-7 may be applied in the horizontal axis direction and DST-II may be applied in the vertical axis direction.
- sps_mts_enabled_flag in order to set whether or not to use implicit MTS from the viewpoint of the video encoding apparatus, sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag, CuPredMode[0][xTbY][yTbY], lfnst_idx, IntraMipFlag[x0, nTbHy0], NTbW, n can be set.
- This embodiment describes a transform method applied to a decoding object block when an MTS function is explicitly activated in high level syntax (HLS).
- HLS high level syntax
- sps_mts_enabled_flag is a flag indicating whether MTS is applied regardless of whether it is implicit or explicit, so it is set to "on" for implicit MTS to be applied should be
- sps_explicit_mts_intra_enabled_flag and/or sps_explicit_mts_intra_enabled_flag are all set to “on”. is set Summarizing this, it can be listed as the condition below.
- transform_skip_flag is equal to 0
- intra_subpartitions_mode_flag is equal to 0
- cu_sbt_flag is equal to 0 (see implicit MTS)
- the target block has a width and height of 32 or less
- the intra_subpartitions_mode_flag value indicates that the target block is divided into a plurality of sub-blocks and undergoes prediction, transformation, and quantization processes as one of the intra-picture prediction methods. That is, when the corresponding flag value (intra_subpartitions_mode_flag) is “0”, it means that general intra prediction is performed without dividing the target block into sub-blocks.
- DST-7 and DCT-8 up to 32x32 support, described above
- MTS when the width and height of the target block are 32 or less, MTS can be used. That is, if any one of the width and the height exceeds 32 (the use of MTS is not possible), DCT-II, which is a default transform (*), is performed.
- cu_sbt_flag indicates whether a sub-block transform (sbt) in which only a part of the target block undergoes a transformation process. That is, when the cu_sbt_flag value is “0”, it means that it is not a sub-block transform (sbt) in which only a part of the target block undergoes a transformation process.
- a valid area (hereinafter, a valid MTS area) will be described in detail.
- FIG. 11 shows an example of an effective MTS area marked with a thick line in a 32x32 decoding object block.
- the 16x16 area on the upper left side excluding the DC coefficient becomes the effective MTS area. That is, the upper left 16x16 area excluding the 1x1 (DC) area is an effective MTS area.
- MTS is applicable, and one or more non-zero coefficients values are in the effective MTS area. If it is out of , MTS cannot be applied, so DCT-II, which is a default transform (*), is performed. This is the same concept as the zero-out area described above.
- MTS ie, DST-7 or DCT-8
- the upper left 16x16 becomes a valid area
- the rest of the 32x32 target block becomes a zero-out area.
- MTS ie, DST-7 or DCT-8
- DCT-II which is a default transform (*)
- the valid MTS area needs to be checked, and the following two conditions need to be checked for the valid MTS area.
- last position information may be used.
- the last position refers to the position of the last non-zero coefficient, that is, the last significant coefficient in the scan order in the target block.
- information about the last sub-block including the last position may be used. For example, if the position of the last sub block is not (0, 0), condition (a) may be satisfied. In other words, if the position of the last sub block in the sub block within the target block is not “0” (greater than 0), the condition (a) may be satisfied. Alternatively, if the position of the last sub-block is "0", information about the last scan position indicating the relative position of the last position in the sub-block may be used.
- the MTS of the present invention is applied to a luma block.
- sub-block information including one or more non-zero coefficients may be used.
- sub-block information including one or more non-zero coefficients can be confirmed with an sb_coded_flag value of the corresponding sub-block.
- the condition (b) may be satisfied if the positions of all sub-blocks whose sb_coded_flag value is “1” in the target block are located within (0,0) to (3,3). Conversely, if even one of the sub-blocks having the sb_coded_flag value of “1” in the target block is out of position within (0,0) to (3,3), the condition (b) cannot be satisfied. In other words, if even one of the sub-blocks with the sb_coded_flag value of “1” in the target block has a value greater than 3 among the x-coordinate or the y-coordinate of the sub-block, the condition (b) can be satisfied. None (see FIG. 18).
- FIG. 12 shows a method of determining a valid MTS according to an embodiment of the present invention.
- the embodiment of FIG. 12 relates to a method of confirming the condition of (a) among the two conditions for checking the valid MTS area described above.
- Each of the steps of FIG. 12 may be performed in the image decoding apparatus.
- the image decoding apparatus sets MtsDcOnlyFlag to “1” (S1210).
- the MtsDcOnlyFlag may indicate whether there is one non-zero coefficient in the block and the position is DC. For example, if there is one non-zero coefficient in the block and the position is DC, the MtsDcOnlyFlag has a value of “1”, and in other cases, the MtsDcOnlyFlag has a value of “0”. In this case, the video decoding apparatus may apply MTS when the MtsDcOnlyFlag value has “0”.
- step S1210 The reason for setting MtsDcOnlyFlag to “1” in step S1210 is to set MtsDcOnlyFlag to “0” when the corresponding block satisfies the condition that the block is not in the DC position when there is one non-zero coefficient in the block below. reset to , otherwise, MTS is not applied.
- the image decoding apparatus determines whether the target block is a luma block (S1220).
- the purpose of determining whether the target block is the luma block is because the MTS is applied only to the luma block as described above.
- the image decoding apparatus determines whether the last sub-block is greater than 0 (S1230), and when the last sub-block is greater than 0, sets MtsDcOnlyFlag to “0” (S1240), and ends the process do.
- step S1230 if the last sub-block is not greater than 0, it is determined whether the last scan position is greater than 0 (S1250).
- step S1250 if the last scan position is greater than 0, MtsDcOnlyFlag is set to “0” (S1240), and the process is terminated.
- step S1250 if the last scan position is not greater than 0, the process is terminated.
- MtsDcOnlyFlag is set to “0” if the last sub-block is greater than 0 or the last scan position is greater than 0, otherwise MtsDcOnlyFlag is set to “1”.
- MtsDcOnlyFlag is checked and, if it has a value of “1”, MTS is not applied and DCT-II, which is a default transformation, may be applied.
- FIG. 13 illustrates a method of determining an effective MTS area according to another embodiment of the present invention.
- the embodiment of FIG. 13 specifically shows a method of confirming the condition of (b) among the two conditions for confirming the valid MTS area described above.
- Each of the steps of FIG. 13 may be performed in the image decoding apparatus.
- the video decoding apparatus sets MtsZerooutFlag to “1” (S1305).
- the MtsZerooutFlag indicates whether non-zero coefficients in a block exist in a zero-out region. For example, if at least one of the non-zero coefficients in the block exists in the zero-out region, MtsZerooutFlag has a value of “0”, and all non-zero coefficients in the block are zero-out (zero-out). If it does not exist in the zero-out) area, MtsZerooutFlag may have a value of “1”.
- MtsZerooutFlag the initial value of MtsZerooutFlag is set to “1”, and the conditions of the zero-out region and the non-zero coefficients are MtsZerooutFlag can be set to “0” when both conditions are satisfied.
- explicit MTS may not be applied.
- the image decoding apparatus sets the initial value of the variable i to the value of the last sub block, and subtracts the value of the variable i by 1 until the value of the variable i becomes 0 in the following step S1325
- the processes of steps S1350 to S1350 are repeated (S1320).
- the purpose of repeating the routine of step S1820 is to check the sb_coded_flag values of all sub-blocks from the last sub-block to the first sub-block.
- the corresponding flag value is “1”, it means that one or more non-zero coefficients exist in the corresponding sub-block, and when the corresponding flag value is “0”, non-zero coefficients exist in the corresponding sub-block. means not Therefore, referring to FIG.
- the image decoding apparatus determines whether a condition in which the variable i is smaller than the last sub block (i ⁇ last sub block) and the variable i is larger than 0 (i>0) is simultaneously satisfied (S1325) ). For example, when the routine of step S1320 is first executed, the condition of step S1325 is not satisfied because the initial value of the variable i is set to the same value as that of the last sub block.
- step S1325 when the condition that the variable i is smaller than the last sub block (i ⁇ last sub block) and the variable i is larger than 0 (i>0) simultaneously meets the conditions, sb_coded_flag is parsed (S1830) ). If both conditions are not satisfied at the same time, sb_coded_flag is set to “1” (S1835).
- the parsed sb_coded_flag indicates whether one or more non-zero coefficients exist in the corresponding sub-block.
- sb_coded_flag has a value of “1”
- sb_coded_flag has a value of “0”.
- step S1835 is performed only when i indicates the last sub-block and the first sub-block. That is, since the last position coefficient is included in the last sub-block, a value of “1” is parsed for the sb_coded_flag value, and a DC coefficient exists in the first sub-block, so the sb_coded_flag value has a value of “1”. is parsed
- the image decoding apparatus determines whether the corresponding block is a luma block (S1340).
- the purpose of determining whether the target block is the luma block is because the MTS is applied only to the luma block as described above.
- step S1340 if the corresponding block is a luma block, it is determined whether the condition of “sb_coded_flag && ( xSb > 3
- MtsZerooutFlag is set to “0” to indicate an explicit MTS. It may be judged not applicable.
- FIG. 14 illustrates a method of determining an effective MTS according to another embodiment of the present invention.
- the embodiment of FIG. 14 specifically shows a method of confirming the condition of (b) among the two conditions for confirming the valid MTS area described above.
- the valid MTS area was checked by checking the sb_coded_flag of all sub-blocks, but in the embodiment of FIG. 14 , when the first invalid MTS is found, there is a difference in that the subsequent sb_coded_flag does not need to be checked.
- Each of the steps of FIG. 14 may be performed in the image decoding apparatus.
- the image decoding apparatus sets MtsZerooutFlag to “1” (S1405).
- the MtsZerooutFlag indicates whether non-zero coefficients in a block exist in a zero-out region. For example, if at least one of the non-zero coefficients in the block exists in the zero-out region, MtsZerooutFlag has a value of “0”, and all non-zero coefficients in the block are zero-out (zero-out). If it does not exist in the zero-out) area, MtsZerooutFlag may have a value of “1”.
- MtsZerooutFlag the initial value of MtsZerooutFlag is set to “1”, and the conditions of the zero-out region and the non-zero coefficients are MtsZerooutFlag can be set to “0” when both conditions are satisfied.
- explicit MTS may not be applied.
- the image decoding apparatus sets the initial value of the variable i to the value of the last sub-block, and subtracts the value of the variable i by 1 until the value of the variable i becomes 0 in the following step S1425
- the processes of steps S1450 to S1450 are repeatedly performed (S1420).
- the purpose of repeating the routine of step S1420 is to check the sb_coded_flag values of all sub-blocks from the last sub-block to the first sub-block.
- the sb_coded_flag value when the sb_coded_flag value is “1”, it means that one or more non-zero coefficients exist in the corresponding sub-block, and when the sb_coded_flag value is “0”, there is no non-zero coefficient in the corresponding sub-block. means Therefore, referring to FIG. 16, when the positions of all sub-blocks having the sb_coded_flag value of “1” in the target block exist only within (0, 0) to (3, 3), that is, 0 to 8 based on variable i If it exists only within, it can be determined that the condition (b) for applying the explicit MTS is satisfied.
- the image decoding apparatus determines whether a condition in which the variable i is smaller than the last sub block (i ⁇ last sub block) and the variable i is larger than 0 (i>0) is simultaneously satisfied (S1425) ). For example, when the routine of step S1920 is first executed, the condition of step S1425 is not satisfied because the initial value of the variable i is set to the same value as that of the last sub block.
- step S1425 when the condition that the variable i is smaller than the last sub block (i ⁇ last sub block) and the variable i is larger than 0 (i>0) is simultaneously satisfied, the sb_coded_flag is parsed (S1430) ). If both conditions are not satisfied at the same time, sb_coded_flag is set to “1” (S1435).
- the parsed sb_coded_flag indicates whether one or more non-zero coefficients exist in the corresponding sub-block.
- sb_coded_flag has a value of “1”
- sb_coded_flag has a value of “0”.
- step S1435 is performed only when i indicates the last sub-block and the first sub-block. That is, since the last position coefficient is included in the last sub-block, a value of “1” is parsed for the sb_coded_flag value, and a DC coefficient exists in the first sub-block, so the sb_coded_flag value has a value of “1”. is parsed
- the video decoding apparatus determines whether a condition of “MtsZerooutFlag && luma block” is satisfied (S1440).
- step S1440 if the condition of “MtsZerooutFlag && luma block” is satisfied, it is further determined whether the condition of “sb_coded_flag && (xSb > 3
- step S1440 if the condition of “MtsZerooutFlag && luma block” is not satisfied, the process in the corresponding sub-block is terminated.
- a false value is derived in step S1940 to set the sb_coded_flag value. No need to check anymore.
- trTypeHor means a transform type on the horizontal axis
- trTypeVer means a transform type on the vertical axis.
- Values of transform types in Table 5 mean trType values in Table 2. For example, when the value of mts_idx is "2", DCT-8 (2) may be used as the horizontal axis transform and DST-7 (1) may be used as the vertical axis transformation (transform).
- DCT-II in all cases where the aforementioned default transform (*) DCT-II is used/performed/applied, it may be replaced with the expression “derives the mts_idx value to “0””. That is, when the mts_idx value is "0", this is because DCT-II (0) is set for both the horizontal axis and the vertical axis transform.
- the binarization method of mts_idx uses a truncated rice (TR) method.
- TR truncated rice
- the cMax value which is a parameter value for TR, is "4", and the cRiceParam value is "0".
- Table 6 shows the codewords of the MTS index.
- FIG. 15 illustrates a method of determining whether to apply an explicit MTS function according to an embodiment of the present invention. Each of the steps of FIG. 15 may be performed in the image decoding apparatus.
- (sps_explicit_mts_inter_enabled_flag && CuPredMode MODE_INTER)" is satisfied (S1510).
- sps_explicit_mts_intra_enabled_flag is a flag indicating whether or not to use explicit MTS for intra prediction
- sps_explicit_mts_intra_enabled_flag is a flag indicating whether to use explicit MTS for inter prediction.
- sps_explicit_mts_intra_enabled_flag has a value of “1” when explicit MTS is used for intra prediction, and a value of “0” otherwise.
- sps_explicit_mts_intra_enabled_flag has a value of “1” when explicit MTS is used for inter prediction, and has a value of “0” otherwise.
- CuPredMode indicates whether the decoding object block is encoded by any prediction method.
- CuPredMode has a MODE_INTRA value
- CuPredMode has a MODE_INTER value.
- step S2010 by checking the values of sps_explicit_mts_intra_enabled_flag, sps_explicit_mts_inter_enabled_flag, and CuPredMode, it may be determined whether the decoding object block uses the explicit MTS.
- cbW and cbH represent the width and height of the current block, respectively.
- the maximum size of DCT-II which is the default transform
- the maximum size of DST-7 and DCT-8 which are extra transforms
- the size of the decoding object block is 64 ⁇ 64
- one 64 ⁇ 64 DCT-II is applied to a transform process. That is, when at least one of the width and height of the decoding target block is greater than 32 (greater than 32), a default transform (*) is directly applied without applying the MTS. Therefore, in order for MTS to be applied, both cbW and cbH must have a value of 32 or less.
- intra_subpartitions_mode_flag indicates whether an intra subpartition mode is applied.
- the intra sub-partition mode is one of intra-picture prediction methods, and indicates that the target block is divided into a plurality of sub-blocks and subjected to prediction, transformation, and quantization processes. That is, when the corresponding flag value (intra_subpartitions_mode_flag) is “0”, it means that general intra prediction is performed without dividing the target block into sub-blocks.
- cu_sbt_flag indicates whether sub-block transform (sbt) in which only a part of the target block undergoes a transformation process is applied. That is, when the cu_sbt_flag value is “0”, it means that the sub-block transform (sbt), which undergoes the transformation process of only a part of the target block, is not applied.
- step S1520 it can be determined whether the decoding object block can apply the explicit MTS through whether the condition of step S1520 is satisfied.
- step S1510 If the condition of step S1510 is not satisfied, the image decoding apparatus sets the value of mts_idx to “0” (S1530), and ends the process.
- the MtsZerooutFlag indicates whether non-zero coefficients in a block exist in a zero-out region.
- MtsZerooutFlag has a value of “0” when at least one of the non-zero coefficients in the block is in the zero-out region, and all non-zero coefficients in the block are zero-out. If it does not exist in the region, MtsZerooutFlag may have a value of “1”. In this case, the value of MtsZerooutFlag may be determined by performing the process of FIG. 13 or FIG. 14 .
- MtsDcOnlyFlag indicates whether there is one non-zero coefficient in the block and the position is DC. If there is one non-zero coefficient in the block and the position is DC, the MtsDcOnlyFlag has a value of “1”, and in other cases, MtsDcOnlyFlag has a value of “0”. In this case, the value of MtsDcOnlyFlag may be determined by performing the process of FIG. 17 .
- step S1520 if the condition of step S1520 is not satisfied, the image decoding apparatus sets the value of mts_idx to “0” (S1530), and ends the process.
- the image decoding apparatus parses mts_idx ( S1550 ), and ends the process.
- the transformation type of the horizontal axis and the vertical axis according to the value of mts_idx may be allocated according to Table 5.
- values of transform type in Table 5 mean trType values in Table 2. For example, when the mts_idx value is “2”, DCT-8 may be applied as a transform on the horizontal axis and DST-7 may be applied as a transform on the vertical axis.
- step S1540 sets the value of mts_idx to “0” (S1530) and ends the process.
- FIG. 16 illustrates a method of performing an inverse transform based on a transform-related parameter according to another embodiment of the present invention.
- Each of the steps of FIG. 16 may be performed by an image decoding apparatus, for example, by an inverse transform unit of the decoding apparatus.
- the image decoding apparatus acquires values of sps_explicit_mts_intra_enable_flag, sps_explicit_mts_inter_enable_flag, CuPredMode, lfnst_idx, transform_skip_flag, cbW, cbH, intrafla_subpartitions_mode_flag_flag, cu_sbt (S1610).
- the image decoding apparatus obtains MtsZeroOutFlag and MtsDcOnlyFlag values (S1620).
- the MtsZeroOutFlag may be obtained by performing the process of FIG. 13 or 14
- MtsDcOnlyFlag may be obtained by performing the process of FIG. 12 .
- the image decoding apparatus obtains an mts_idx value based on the parameters obtained in steps S1610 and S1620 ( S1630 ). That is, the image decoding apparatus obtains the MtsDcTsZeroOutlyFlagx values based on sps_explicit_mts_intra_enable_flag, sps_explicit_mts_inter_enable_flag, CuPredMode, lfnst_idx, transform_skip_flag, cbW, cbH, intra_subpartitions_mode_flag, MtsDcOnlyFlag_, MtsDcOnlyFlag_based.
- mts_idx may be obtained by performing the process of FIG. 15 .
- the image decoding apparatus performs inverse transform based on mts_idx (S1640).
- An inverse transform applied according to the mts_idx value may be configured according to Tables 5 and 2. For example, when the mts_idx value is “2”, DCT-8 may be applied in the horizontal axis direction and DST-7 may be applied in the vertical axis direction.
- Embodiments described in this document may be implemented and performed on a processor, microprocessor, controller, or chip.
- the functional units shown in each figure may be implemented and performed on a computer, a processor, a microprocessor, a controller, or a chip.
- information for implementation (ex. information on instructions) or an algorithm may be stored in a digital storage medium.
- the decoding device and the encoding device to which the present invention is applied are a multimedia broadcasting transmission/reception device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, a real-time communication device such as a video communication device, and a mobile streaming device.
- Device storage medium, camcorder, video on demand (VoD) service providing device, OTT video (Over the top video) device, internet streaming service providing device, three-dimensional (3D) video device, videophone video device, vehicle terminal (ex) It may be included in a vehicle terminal, an airplane terminal, a ship terminal, etc.) and a medical video device, and may be used to process a video signal or a data signal.
- the OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smart phone, a tablet PC, a digital video recorder (DVR), and the like.
- a game console a Blu-ray player
- an Internet-connected TV a home theater system
- a smart phone a tablet PC
- DVR digital video recorder
- the processing method to which the present invention is applied may be produced in the form of a program executed by a computer, and may be stored in a computer-readable recording medium.
- Multimedia data having a data structure according to the present invention may also be stored in a computer-readable recording medium.
- the computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored.
- the computer-readable recording medium is, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical It may include a data storage device.
- the computer-readable recording medium includes a medium implemented in the form of a carrier wave (eg, transmission through the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired/wireless communication network.
- an embodiment of the present invention may be implemented as a computer program product by program code, and the program code may be executed in a computer according to an embodiment of the present invention.
- the program code may be stored on a carrier readable by a computer.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (16)
- 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서,An image decoding method performed by an image decoding apparatus, comprising:복호화 대상 블록에 대한 다중 변환 집합(multiple transform set; MTS) 적용 가능 여부를 지시하는 파라미터, 상기 복호화 대상 블록의 너비, 상기 복호화 대상 블록의 높이에 대한 정보를 획득하는 단계;obtaining information about a parameter indicating whether a multiple transform set (MTS) is applicable to a decoding object block, a width of the decoding object block, and a height of the decoding object block;상기 복호화 대상 블록에 대한 다중 변환 집합(multiple transform set; MTS) 적용 가능 여부를 지시하는 파라미터, 상기 복호화 대상 블록의 너비, 상기 복호화 대상 블록의 높이에 대한 정보 중 적어도 하나를 기반으로 상기 복호화 대상 블록의 변환 타입을 판단하는 단계;The decoding object block based on at least one of a parameter indicating whether multiple transform set (MTS) is applicable to the decoding object block, a width of the decoding object block, and information on a height of the decoding object block determining a transformation type of ;상기 복호화 대상 블록에 대한 다중 변환 집합(multiple transform set; MTS) 적용 가능 여부를 지시하는 파라미터, 상기 복호화 대상 블록의 너비, 상기 복호화 대상 블록의 높이에 대한 정보 중 적어도 하나를 기반으로 상기 복호화 대상 블록의 제로-아웃 영역을 설정하는 단계; 및The decoding object block based on at least one of a parameter indicating whether multiple transform set (MTS) is applicable to the decoding object block, a width of the decoding object block, and information on a height of the decoding object block setting a zero-out area of ; and상기 복호화 대상 블록의 제로-아웃 영역 및 변환 타입에 대한 판단 결과에 기반하여 상기 복호화 대상 블록에 대한 역변환을 수행하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.and performing an inverse transform on the decoding object block based on a result of determining a zero-out region and a transform type of the decoding object block.
- 제1항에 있어서, 상기 복호화 대상 블록의 변환 타입을 판단하는 단계에서,The method of claim 1, wherein in the step of determining a transform type of the decoding object block,상기 복호화 대상 블록의 너비 또는 높이 중 적어도 하나가 32보다 큰 값을 갖는 경우, 상기 복호화 대상 블록은 디폴트 변환을 사용하여 변환된 것으로 판단하는 것을 특징으로 하는 영상 복호화 방법.When at least one of a width or a height of the decoding object block has a value greater than 32, it is determined that the decoding object block is transformed using a default transform.
- 제1항에 있어서, 상기 복호화 대상 블록의 제로-아웃 영역을 설정하는 단계에서,The method of claim 1, wherein in the step of setting a zero-out area of the decoding object block,상기 복호화 대상 블록의 너비 또는 높이 중 하나가 32보다 큰 값을 갖는 경우, 상기 복호화 대상 블록의 너비 또는 높이가 32 보다 큰 영역을 제로-아웃 영역으로 설정하는 것을 특징으로 하는 영상 복호화 방법.When one of the width or height of the decoding object block has a value greater than 32, an area in which the width or height of the decoding object block is greater than 32 is set as a zero-out area.
- 제1항에 있어서, 상기 복호화 대상 블록에 대한 다중 변환 집합 적용 가능 여부를 지시하는 파라미터는 sps_mts_enabled_flag 인 것을 특징으로 하는 영상 복호화 방법.The method of claim 1 , wherein the parameter indicating whether multiple transform sets can be applied to the decoding object block is sps_mts_enabled_flag.
- 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서,An image decoding method performed by an image decoding apparatus, comprising:복호화 대상 블록의 다중 변환 집합(multiple transform set; MTS) 적용 여부에 대한 정보, 예측 모드에 대한 정보, 이차 변환 적용 여부에 대한 정보, 행렬을 이용한 예측 적용 여부에 대한 정보, 상기 복호화 대상 블록의 크기에 관한 정보 중 적어도 하나를 획득하는 단계;Information on whether a multiple transform set (MTS) is applied to the decoding object block, information on a prediction mode, information on whether a secondary transform is applied, information on whether prediction using a matrix is applied, and the size of the decoding object block obtaining at least one of information about상기 복호화 대상 블록의 다중 변환 집합 적용 여부에 대한 정보, 예측 모드에 대한 정보, 이차 변환 적용 여부에 대한 정보, 행렬을 이용한 예측 적용 여부에 대한 정보 중 적어도 하나를 기반으로 상기 복호화 대상 블록에 묵시적 다중 변환 집합이 적용되는지 여부를 판단하는 단계;Implicit multiplication is applied to the decoding object block based on at least one of information on whether a multiple transform set is applied to the decoding object block, information on a prediction mode, information on whether a secondary transform is applied, and information on whether prediction using a matrix is applied determining whether a transform set is applied;상기 복호화 대상 블록에 묵시적 다중 변환 집합이 적용되는지 여부에 관한 정보 및 상기 복호화 대상 블록의 크기에 관한 정보를 기반으로 변환 타입에 관한 정보를 획득하는 단계; 및obtaining information on a transform type based on information on whether an implicit multiple transform set is applied to the decoding object block and information on a size of the decoding object block; and상기 변환 타입에 관한 정보를 기반으로 역변환을 수행하는 단계를 포함하는 영상 복호화 방법.and performing an inverse transform based on the information on the transform type.
- 제5항에 있어서, 상기 묵시적 다중 변환 집합이 적용되는지 여부를 판단하는 단계는, The method of claim 5, wherein determining whether the implicit multiple transform set is applied comprises:상기 복호화 대상 블록의 다중 변환 집합(multiple transform set; MTS) 적용 여부에 대한 정보, 예측 모드에 대한 정보, 이차 변환 적용 여부에 대한 정보, 행렬을 이용한 예측 적용 여부에 대한 정보를 이용하여 상기 묵시적 다중 변환 집합이 적용되는지 여부를 판단하는 것을 특징으로 하는 영상 복호화 방법.Using information on whether multiple transform set (MTS) is applied to the decoding target block, information on a prediction mode, information on whether to apply a secondary transform, and information on whether or not prediction using a matrix is applied, the implicit multiple An image decoding method comprising determining whether a transform set is applied.
- 제5항에 있어서, 상기 묵시적 다중 변환 집합은 하나의 디폴트 변환(default transform) 및 적어도 하나 이상의 추가 변환(extra transform)을 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the implicit multiple transform set includes one default transform and at least one extra transform.
- 제7항에 있어서, 상기 복호화 대상 블록의 크기에 대한 정보를 기반으로 변환 타입에 관한 정보를 획득하는 단계는,The method of claim 7 , wherein the acquiring information on a transform type based on information on a size of the decoding object block comprises:상기 복호화 대상 블록의 가로축 길이가 모두 4 이상 16 인 경우, 상기 복호화 대상 블록은 상기 가로축 방향에 대하여 추가 변환 타입(extra transform type) 중 적어도 하나가 적용된 것을 특징으로 하는 영상 복호화 방법.When the horizontal axis length of the decoding object block is 4 or more and 16, at least one of an extra transform type is applied to the decoding object block in the horizontal axis direction.
- 제7항에 있어서, 상기 복호화 대상 블록의 크기에 대한 정보를 기반으로 변환 타입에 관한 정보를 획득하는 단계는,The method of claim 7 , wherein the acquiring information on a transform type based on information on a size of the decoding object block comprises:상기 복호화 대상 블록의 세로축 길이가 모두 4 이상 16 이하 인 경우, 상기 복호화 대상 블록은 상기 세로축 방향에 대하여 추가 변환 타입(extra transform type) 중 적어도 하나가 적용된 것을 특징으로 하는 영상 복호화 방법.When all of the vertical axis lengths of the decoding object block are 4 or more and 16 or less, the decoding object block applies at least one of an extra transform type to the vertical axis direction.
- 제5항에 있어서, 상기 복호화 대상 블록의 다중 변환 집합(multiple transform set; MTS) 적용 여부에 대한 정보는 sps_mts_enabled_flag, sps_explicit_mts_intra_enabled_flag 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the information on whether multiple transform set (MTS) is applied to the decoding object block comprises at least one of sps_mts_enabled_flag and sps_explicit_mts_intra_enabled_flag.
- 제5항에 있어서, 상기 예측 모드에 대한 정보는 CuPredMode 를 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5 , wherein the information on the prediction mode includes CuPredMode.
- 제5항에 있어서, 상기 이차 변환 적용 여부에 대한 정보는 lfnst_idx를 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the information on whether the quadratic transform is applied includes lfnst_idx.
- 제5항에 있어서, 상기 행렬을 이용한 예측 적용 여부에 대한 정보는 intra_mip_flag를 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5 , wherein the information on whether or not prediction using the matrix is applied includes intra_mip_flag.
- 제5항에 있어서, 상기 복호화 대상 블록의 변환 타입에 대한 정보는 각각 가로축 변환 타입에 대한 정보 및 세로축 변환 타입에 대한 정보를 포함하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the information on the transformation type of the decoding object block includes information on a horizontal transformation type and information on a vertical transformation type, respectively.
- 제5항에 있어서, 상기 복호화 대상 블록에 묵시적 다중 변환 집합이 적용되는지 여부를 판단하는 단계는 상기 복호화 대상 블록이 루마(luma) 블록인지 여부를 추가로 확인함으로써 획득되는 것을 특징으로 하는 영상 복호화 방법.The method of claim 5, wherein the determining whether the implicit multiple transform set is applied to the decoding object block is obtained by additionally checking whether the decoding object block is a luma block. .
- 메모리 및 적어도 하나의 프로세서를 포함하는 영상 복호화 장치로서,An image decoding apparatus comprising a memory and at least one processor, comprising:상기 적어도 하나의 프로세서는,the at least one processor,복호화 대상 블록의 다중 변환 집합(multiple transform set; MTS) 적용 여부에 대한 정보, 예측 모드에 대한 정보, 이차 변환 적용 여부에 대한 정보, 행렬을 이용한 예측 적용 여부에 대한 정보, 상기 복호화 대상 블록의 크기에 관한 정보 중 적어도 하나를 획득하고,Information on whether a multiple transform set (MTS) is applied to the decoding object block, information on a prediction mode, information on whether a secondary transform is applied, information on whether prediction using a matrix is applied, and the size of the decoding object block obtain at least one of the information regarding상기 복호화 대상 블록의 다중 변환 집합 적용 여부에 대한 정보, 예측 모드에 대한 정보, 이차 변환 적용 여부에 대한 정보, 행렬을 이용한 예측 적용 여부에 대한 정보 중 적어도 하나를 기반으로 상기 복호화 대상 블록에 묵시적 다중 변환 집합이 적용되는지 여부를 판단하고,Implicit multiplication is applied to the decoding object block based on at least one of information on whether a multiple transform set is applied to the decoding object block, information on a prediction mode, information on whether a secondary transform is applied, and information on whether prediction using a matrix is applied determine whether a transform set is applied;상기 복호화 대상 블록에 묵시적 다중 변환 집합이 적용되는지 여부에 관한 정보 및 상기 복호화 대상 블록의 크기에 관한 정보를 기반으로 변환 타입에 관한 정보를 획득하고,obtaining information on a transform type based on information on whether an implicit multiple transform set is applied to the decoding object block and information on a size of the decoding object block;상기 변환 타입에 관한 정보를 기반으로 역변환을 수행하는 역변환부를 포함하는 영상 복호화 장치.and an inverse transform unit that performs an inverse transform based on the information on the transform type.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR112022014908A BR112022014908A2 (en) | 2020-03-27 | 2020-12-16 | VIDEO DECODING METHODS AND VIDEO DECODING DEVICE |
EP20927108.9A EP4131962A4 (en) | 2020-03-27 | 2020-12-16 | Image decoding method and device |
JP2022504296A JP7446046B2 (en) | 2020-03-27 | 2020-12-16 | Video decoding method and device |
CN202080050502.9A CN114097243A (en) | 2020-03-27 | 2020-12-16 | Image decoding method and device |
US17/667,444 US11516471B2 (en) | 2020-03-27 | 2022-02-08 | Video decoding method and device |
US18/048,816 US11909973B2 (en) | 2020-03-27 | 2022-10-21 | Video decoding method and device |
US18/408,484 US20240155127A1 (en) | 2020-03-27 | 2024-01-09 | Video decoding method and device |
JP2024025878A JP2024057012A (en) | 2020-03-27 | 2024-02-22 | Video decoding method and device |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20200037703 | 2020-03-27 | ||
KR10-2020-0037703 | 2020-03-27 | ||
KR1020200160112A KR102313731B1 (en) | 2020-03-27 | 2020-11-25 | Method and apparatus for video decoding |
KR10-2020-0160112 | 2020-11-25 | ||
KR1020200160114A KR102313732B1 (en) | 2020-03-27 | 2020-11-25 | Method and apparatus for video decoding |
KR10-2020-0160114 | 2020-11-25 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/667,444 Continuation US11516471B2 (en) | 2020-03-27 | 2022-02-08 | Video decoding method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021194052A1 true WO2021194052A1 (en) | 2021-09-30 |
Family
ID=77891943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/018466 WO2021194052A1 (en) | 2020-03-27 | 2020-12-16 | Image decoding method and device |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021194052A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230037443A1 (en) * | 2020-03-25 | 2023-02-09 | Beijing Bytedance Network Technology Co., Ltd. | Coded video processing using enhanced secondary transform |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180018570A (en) * | 2015-06-18 | 2018-02-21 | 퀄컴 인코포레이티드 | Intra prediction and intra mode coding |
KR20180041211A (en) * | 2015-09-10 | 2018-04-23 | 엘지전자 주식회사 | Image processing method based on inter-intra merging prediction mode and apparatus therefor |
KR20200007671A (en) * | 2018-07-13 | 2020-01-22 | 한국전자통신연구원 | Method and apparatus for encoding/decoding image and recording medium for storing bitstream |
-
2020
- 2020-12-16 WO PCT/KR2020/018466 patent/WO2021194052A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180018570A (en) * | 2015-06-18 | 2018-02-21 | 퀄컴 인코포레이티드 | Intra prediction and intra mode coding |
KR20180041211A (en) * | 2015-09-10 | 2018-04-23 | 엘지전자 주식회사 | Image processing method based on inter-intra merging prediction mode and apparatus therefor |
KR20200007671A (en) * | 2018-07-13 | 2020-01-22 | 한국전자통신연구원 | Method and apparatus for encoding/decoding image and recording medium for storing bitstream |
Non-Patent Citations (2)
Title |
---|
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 * |
J. CHEN, Y. YE, S. KIM: "Algorithm description for Versatile Video Coding and Test Model 8 (VTM 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-Q2002, 24 March 2020 (2020-03-24), XP030288001 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230037443A1 (en) * | 2020-03-25 | 2023-02-09 | Beijing Bytedance Network Technology Co., Ltd. | Coded video processing using enhanced secondary transform |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017209328A1 (en) | Intra-prediction method and apparatus in image coding system | |
WO2021096172A1 (en) | Image coding method based on transform, and device therefor | |
WO2020060282A1 (en) | Conversion factor level coding method and device therefor | |
WO2020116961A1 (en) | Image coding method based on secondary transform, and device therefor | |
WO2021040400A1 (en) | Image or video coding based on palette mode | |
WO2021040319A1 (en) | Method and apparatus for deriving rice parameter in video/image coding system | |
WO2021137597A1 (en) | Image decoding method and device using dpb parameter for ols | |
WO2021015537A1 (en) | Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream | |
WO2020213945A1 (en) | Transform in intra prediction-based image coding | |
WO2020071879A1 (en) | Transform coefficient coding method and device therefor | |
WO2020167097A1 (en) | Derivation of inter-prediction type for inter prediction in image coding system | |
WO2020141831A2 (en) | Image coding method and apparatus using intra block copy prediction | |
WO2021040398A1 (en) | Image or video coding based on palette escape coding | |
WO2021025526A1 (en) | Video coding method on basis of transformation, and device therefor | |
WO2021040402A1 (en) | Image or video coding based on palette coding | |
WO2020197274A1 (en) | Transform-based image coding method and device therefor | |
WO2021162494A1 (en) | Image coding/decoding method and device for selectively signaling filter availability information, and method for transmitting bitstream | |
WO2020184966A1 (en) | Image encoding/decoding method and device, and method for transmitting bitstream | |
WO2020185039A1 (en) | Residual coding method and device | |
WO2020145798A1 (en) | Video encoding method and apparatus using transform skip flag | |
WO2021194052A1 (en) | Image decoding method and device | |
WO2021071187A1 (en) | Method and apparatus for deriving rice parameter in video/image coding system | |
WO2021091255A1 (en) | High level syntax signaling method and device for image/video coding | |
WO2020185005A1 (en) | Transform-based image coding method and device therefor | |
WO2021086152A1 (en) | Transform-based method for coding image, and device therefor |
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: 20927108 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022504296 Country of ref document: JP Kind code of ref document: A |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112022014908 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112022014908 Country of ref document: BR Kind code of ref document: A2 Effective date: 20220727 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2020927108 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2020927108 Country of ref document: EP Effective date: 20221027 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |