WO2018128511A1 - Device and method for encoding or decoding image - Google Patents
Device and method for encoding or decoding image Download PDFInfo
- Publication number
- WO2018128511A1 WO2018128511A1 PCT/KR2018/000380 KR2018000380W WO2018128511A1 WO 2018128511 A1 WO2018128511 A1 WO 2018128511A1 KR 2018000380 W KR2018000380 W KR 2018000380W WO 2018128511 A1 WO2018128511 A1 WO 2018128511A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- current block
- split
- intra
- intra mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
Definitions
- the present invention relates to image encoding or decoding for efficiently encoding an image. More specifically, it relates to intra prediction techniques that can be useful in blocks with different textures in the form of diagonal edges or diagonal shapes.
- JEM Joint Exploration Model
- JVET Joint Video Exploration Team
- CU coding unit
- QTBT recursive Quadtree plus Binarytree partition structure.
- PU Prediction Unit
- TU Transform Unit
- HEVC High Efficiency Video Coding
- 360-degree video (hereinafter referred to as '360 video') is a video taken from multiple directions with multiple cameras or omni-directional cameras, and the video in multiple directions can be compressed into one 2D video to compress and transmit video from multiple scenes. Stitching, the stitched image is compressed and transmitted to the decoding apparatus. After the decoding apparatus decodes the compressed image, the decoding apparatus maps and reproduces the image in 3D.
- EPR Equirectangular Projection
- the EPR format has the disadvantage of distorting the 3D sphere-shaped 360 image by increasing the pixels at the top and bottom of the image and severely distorting the image.
- the EPR format also increases the data amount and the encoding throughput in the enlarged portion. Accordingly, various projection formats have been proposed that can replace the EPR format.
- ISP Icosahedral projection
- FIG. 1 (a) is a general native layout form, and (b) and (c) are two kinds of compact layouts. All three types illustrated in FIG. 1 include a lot of diagonal edges due to the characteristics of the icosahedron composed of triangular faces.
- 2 is a compact layout of an Octahedron projection (OHP) map of 360 video. As shown in FIG. 2, the area where two faces in one block exist occupies a significant portion of the image.
- OHP Octahedron projection
- the present disclosure describes intra prediction techniques that can be useful in blocks with different textures in diagonal shapes or diagonal shapes.
- intra prediction technique of the present disclosure consider adding a new intra mode referred to as a "split intra mode" to existing intra modes.
- the prediction region is divided into two regions in the diagonal direction so that each region can be predicted in a separate directional or non-directional mode.
- a method comprising: decoding syntax elements defining an intra mode and a residual block of a current block of image data from an encoded bitstream; Based on the decoded syntax elements defining the intra mode of the current block, the plurality of available intra modes including a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode; Determining an intra mode; Determining a prediction block for the current block based on the determined intra mode of the current block; And reconstructing the current block based on the prediction block and the residual block.
- the divisional intra mode is a mode in which one of the plurality of directional modes and the plurality of non-directional modes is individually applied to each of two regions divided by dividing the current block diagonally.
- an apparatus for decoding image data comprising a memory and one or more processors, the one or more processors are syntax that defines an intra mode and a residual block of a current block of image data from an encoded bitstream Decrypting the elements; Based on the decoded syntax elements defining the intra mode of the current block, the plurality of available intra modes including a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode; Determining an intra mode; Determining a prediction block for the current block based on the determined intra mode of the current block; And reconstruct the current block based on the prediction block and the residual block.
- ISP Icosahedral projection
- ODP Octahedron projection
- FIG. 3 is a block diagram of an image encoding apparatus that may use the techniques of this disclosure.
- FIG. 4 is a conceptual diagram of exemplary block partitioning using a QTBT structure.
- FIG. 5 is a conceptual diagram illustrating a plurality of intra modes that can be used for intra prediction.
- FIG. 6 is an exemplary diagram of neighboring blocks of a current block.
- FIG 7 illustrates an image decoding apparatus that may use the techniques of the present disclosure.
- FIG. 8 is a diagram illustrating a positional relationship between a current block and reference samples in intra prediction.
- 9A and 9B are conceptual diagrams illustrating how reference samples are used for a current block in directional intra mode.
- 10A and 10B are diagrams illustrating types of split intra mode applied to a square block.
- 11A and 11B illustrate types of split intra mode applied to a rectangular block.
- 12A and 12B are diagrams for describing respective reference pixels used for two regions of the current block in the split intra mode.
- 13A, 13B, 14A, and 14B are conceptual diagrams illustrating some exemplary schemes in which reference samples are used for two regions in split intra mode
- 15A to 15C are conceptual views illustrating a method of determining prediction pixel values on a diagonal line in a split intra mode of the split_right_down type.
- 16 is a flowchart illustrating an example method for encoding image data according to one or more examples of the present invention.
- 17 is a flowchart illustrating an example method for decoding image data in accordance with one or more examples of the present invention.
- FIG. 3 is a block diagram of an image encoding apparatus that may use the techniques of this disclosure.
- the image encoding apparatus includes a block divider 310, a predictor 320, a subtractor 330, a transformer 340, a quantizer 345, an encoder 350, an inverse quantizer 360, and an inverse transform unit ( 365, an adder 370, a filter unit 380, and a memory 390.
- each component may be implemented as a hardware chip, or may be implemented in software and implemented so that the microprocessor executes a function of software corresponding to each component.
- the block dividing unit 310 After dividing each picture constituting the image into a plurality of coding tree units (CTUs), the block dividing unit 310 recursively divides the CTUs using a tree structure.
- a leaf node in the tree structure becomes a CU (coding unit) which is a basic unit of coding.
- CU coding unit
- QT QuadTree
- QTBT QuadTree
- BT binaryTree
- BinaryTree BinaryTree
- the CTU is first divided into a QT structure.
- the leaf nodes of the QT may then be further partitioned by BT.
- the partition information generated by the block divider 310 by dividing the CTU by the QTBT structure is encoded by the encoder 350 and transmitted to the image decoding apparatus.
- a first flag (QT split flag, QT_split_flag) indicating whether a block of a corresponding node is split is encoded. If the first flag is 1, the block of the node is divided into four blocks of the same size. If the first flag is 1, the node is no longer divided by QT.
- a second flag (BT split flag, BT_split_flag) indicating whether a block of the corresponding node is split is encoded.
- BT there may be a plurality of partition types. For example, there may be two types of partitioning a block of a node horizontally into two blocks of the same size and a type of partitioning vertically. Alternatively, there may further be a type in which blocks of the corresponding node are further divided into two blocks having an asymmetric shape.
- the asymmetric form may include a form in which a block of a node is divided into two rectangular blocks having a size ratio of 1: 3.
- FIG. 4 is an exemplary diagram of block division using a QTBT structure.
- 4A illustrates an example of dividing a block by a QTBT structure
- FIG. 4B illustrates a tree structure.
- the solid line indicates the division by the QT structure
- the dotted line indicates the division by the BT structure.
- the parenthesis indicates a layer of QT
- the parenthesis indicates a layer of BT.
- a number represents partition type information.
- the block corresponding to the first node of layer 1 of the QT proceeds to BT.
- BT there are two types of BT splitting a block of a node into two blocks of the same size horizontally and vertically.
- BT_split_flag indicating that the split is performed by BT.
- the partition type of the second block of (layer 1) divided from the root node of the BT is horizontal, the block corresponding to the root node of the BT is QT divided. That is, it is a case where it should be expressed by QT split information rather than BT split information.
- the following information may be further encoded.
- the information is encoded as header information of an image, for example, may be encoded by a sequence parameter set (SPS) or a picture parameter set (PPS).
- SPS sequence parameter set
- PPS picture parameter set
- CTU size the top layer of QTBT, that is, the block size of the root node
- MinQTSize the minimum block size of leaf nodes allowed in QT
- MaxBTSize the maximum block size of the root node allowed by BT
- MaxBTDepth the maximum depth allowed by BT
- MinBTSize the minimum block size of leaf nodes allowed in BT
- a block having the same size as MinBTSize in BT is no longer split and no split information (second flag, split type information) regarding BT is also encoded.
- second flag, split type information the maximum or minimum block size that a loop or leaf node of the QT and BT can have at a high level such as a sequence parameter set (SPS) or a picture parameter set (PPS) can be defined to determine whether the CTU is divided or not.
- SPS sequence parameter set
- PPS picture parameter set
- the amount of coding for the information indicating the partition type can be reduced.
- a block corresponding to a CU to be encoded or decoded is called a 'current block'.
- the prediction unit 320 predicts the current block and generates a prediction block.
- the predictor 320 includes an intra predictor 322 and an inter predictor 324.
- the intra predictor 322 predicts pixels in the current block by using pixels (reference pixels) positioned around the current block in the current picture including the current block. There are a plurality of intra prediction modes according to the prediction direction, and the peripheral pixels to be used and the equations are defined differently according to each prediction mode. In particular, the intra predictor 322 may determine an intra mode to be used to encode the current block. In some examples, intra prediction unit 322 may encode the current block using several intra modes and select an appropriate intra mode to use from the tested modes. For example, intra predictor 322 calculates rate distortion values using rate-distortion analysis for several tested intra modes, and intra with the best rate distortion characteristics of the tested modes. You can also select the mode.
- the plurality of available intra modes may include two non-directional modes (planar mode and DC mode) and 65 directional modes.
- the present disclosure proposes an additional intra mode suitable for intra prediction of blocks having diagonal edges.
- the number of directional and non-directional modes, the number of all intra modes, etc. are merely exemplary, and various combinations are possible within the scope of the present invention.
- the intra predictor 322 selects one intra mode from among a plurality of intra modes, and selects a current block by using a peripheral equation (which may be referred to as a reference pixel or a reference sample) determined by the selected intra mode and an expression. Predict. Information on the selected intra mode is encoded by the encoder 350 and transmitted to the image decoding apparatus.
- the intra prediction unit 322 is used as an intra mode of the current block among the plurality of intra modes in order to efficiently encode intra mode information indicating which mode of the plurality of intra modes is used as the intra mode of the current block. Some of the more likely modes can be determined as the most probable mode (MPM).
- mode information indicating whether the intra mode of the current block is selected from the MPM is generated and transmitted to the encoder 350.
- the intra mode of the current block is selected from the MPMs
- the first intra identification information for indicating which mode of the MPMs is selected as the intra mode of the current block is transmitted to the encoder.
- the second intra identification information for indicating which mode other than the MPM is selected as the intra mode of the current block is transmitted to the encoder.
- the present invention is not limited thereto, and the number of MPMs included in the MPM list may be selected within a range of 3 to 10.
- the MPM list is constructed using the intra mode of neighboring blocks of the current block.
- the neighboring block may be, for example, all or some of the left block L, the upper block A, the lower left block BL, the upper right block AR, and the upper left block AL of the current block. It may include.
- the intra mode of these neighboring blocks is included in the MPM list.
- the intra prediction mode of the valid blocks in the order of the left block (L), the top block (A), the bottom left block (BL), the top right block (AR), and the top left block (AL) is included in the MPM list
- a candidate is formed by adding a planar mode and a DC mode to the intra modes of the blocks.
- valid modes in the order of the left block (L), the top block (A), the planar mode, the DC mode, the bottom left block (BL), the top right block (AR), and the top left block (AL) may be added to the MPM list.
- valid modes in the order of the left block (L), the top block (A), the planar mode, the bottom left block (BL), the top right block (AR), the top left block (AL), and the DC mode may be added to the MPM list. have.
- the MPM list contains only different intra modes. That is, when a duplicated mode is present, only one of them is included in the MPM list.
- the MPM may be derived by adding -1 or +1 to the directional modes in the list.
- the number of modes that are insufficient in the order of vertical mode, horizontal mode, diagonal mode, etc. are added to the MPM list. You may.
- the inter prediction unit 324 searches a block most similar to the current block in the reference picture encoded and decoded before the current picture, and generates a prediction block for the current block by using the searched block. A motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated.
- the motion information including the information about the reference picture and the motion vector used to predict the current block is encoded by the encoder 350 and transmitted to the image decoding apparatus.
- the subtractor 330 subtracts the prediction block generated by the intra predictor 322 or the inter predictor 324 from the current block to generate a residual block.
- the transformer 340 converts the residual signal in the residual block having pixel values of the spatial domain into a transform coefficient of the frequency domain.
- the transform unit 340 may convert the residual signals in the residual block using the size of the current block as a conversion unit, or divide the residual block into a plurality of smaller subblocks and convert the residual signals in a subblock-sized transform unit. You can also convert. There may be various ways of dividing the residual block into smaller subblocks. For example, it may be divided into sub-blocks of a predetermined same size, or a quadtree (QT) scheme may be used in which the residual block is a root node.
- QT quadtree
- the encoder 350 generates a bitstream by encoding the quantized transform coefficients by using an encoding method such as CABAC.
- the encoder 350 encodes information such as CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT split flag, BT split flag, split type, etc. related to block division, so that the image decoding apparatus is the same as the image encoding apparatus. Allows you to split blocks.
- the encoder 350 encodes information about a prediction type indicating whether a current block is encoded by intra prediction or inter prediction, and encodes intra prediction information or inter prediction information according to the prediction type.
- the inverse quantizer 360 inverse quantizes the quantized transform coefficients output from the quantizer 345 to generate transform coefficients.
- the inverse transformer 365 restores the residual block by converting the transform coefficients output from the inverse quantizer 360 from the frequency domain to the spatial domain.
- the adder 370 adds the reconstructed residual block and the predicted block generated by the predictor 320 to reconstruct the current block.
- the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next order of blocks.
- the filter unit 380 deblocks and filters the boundary between the reconstructed blocks in order to remove blocking artifacts that occur due to encoding / decoding of blocks. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
- FIG 7 illustrates an image decoding apparatus that may use the techniques of the present disclosure.
- the image decoding apparatus includes a decoder 710, an inverse quantizer 720, an inverse transformer 730, a predictor 740, an adder 750, a filter 760, and a memory 770.
- the image decoding apparatus may be implemented by each component as a hardware chip, or may be implemented by software and a microprocessor to execute a function of software corresponding to each component.
- the decoder 710 decodes the bitstream received from the image encoding apparatus, extracts information related to block division, determines a current block to be decoded, and includes prediction information and residual signal information necessary for reconstructing the current block. Extract
- the decoder 710 extracts information on the CTU size from a Sequence Parameter Set (SPS) or Picture Parameter Set (PPS) to determine the size of the CTU, and divides the picture into a CTU of the determined size.
- the CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is partitioned using the tree structure by extracting partition information about the CTU. For example, when splitting a CTU using a QTBT structure, first, a first flag (QT_split_flag) related to splitting of QT is extracted, and each node is divided into four nodes of a lower layer. For the node corresponding to the leaf node of the QT, the second flag BT_split_flag and the split type information related to the splitting of the BT are extracted to split the corresponding leaf node into the BT structure.
- SPS Sequence Parameter Set
- PPS Picture Parameter Set
- the QT splitting flag QT_split_flag corresponding to the node of the highest layer of the QTBT structure is extracted. Since the value of the extracted QT split flag QT_split_flag is 1, the node of the highest layer is divided into four nodes of the lower layer (layer 1 of QT). Then, the QT splitting flag QT_split_flag for the first node of layer 1 is extracted. Since the extracted QT split flag (QT_split_flag) has a value of 0, the first node of layer 1 is no longer split into a QT structure.
- BT which is the root node of BT.
- the BT split flag (BT_split_flag) for the first node of (layer 1) split from the root node of BT is extracted. Since the BT split flag BT_split_flag is 1, the split type information of the block of the first node of (layer 1) is extracted. Since the partition type information of the block of the first node of (layer 1) is 1, the block of the first node of (layer 1) is vertically divided. Then, the BT split flag BT_split_flag of the second node of (layer 1) divided from the root node of BT is extracted. Since the BT split flag BT_split_flag is 0, it is no longer split by BT.
- BT split flag (BT_split_flag 1) for the first node of (layer 1) partitioned from the root node of BT, and extracting the partition type information (0), the first node of (layer 1)
- the blocks are divided horizontally.
- the BT split flag BT_split_flag of the second node of (layer 1) divided from the root node of BT is extracted. If the BT split flag BT_split_flag is 1, the split type information is automatically set to 1 without extracting the split type information anymore, and the block of the second node of (layer 1) is vertically split.
- the decoder 710 first extracts the QT split flag QT_split_flag repeatedly to split the CTU into a QT structure.
- the BT split flag (BT_split_flag) is extracted for the leaf node of the QT, and when the BT split flag (BT_split_flag) indicates the split, split type information is extracted.
- the decoder 710 may confirm that the CTU is divided into a structure as shown in FIG.
- the decoder 710 extracts the information and uses the information when extracting the split information for QT and BT. Can reflect.
- the decoder 710 does not extract the split information (QT split flag) about the QT of the block from the bitstream (that is, the QT split flag of the block does not exist in the bitstream), and automatically extracts the value. Set to zero.
- the decoder 710 does not extract the BT partition flag for the leaf node having a block larger than MaxBTSize in QT, and automatically sets the BT partition flag to 0.
- the depth of the node of the BT reaches MaxBTDepth, the block of the node is no longer split.
- the BT partition flag of the corresponding node is not extracted from the bitstream, and its value is automatically set to zero. Also, in BT, blocks having the same size as MinBTSize are no longer split. Accordingly, the decoder 710 does not extract the BT partition flag of the block having the same size as MinBTSize from the bitstream, and automatically sets the value to zero.
- the decoder 710 determines the current block (current block) to be decoded by splitting the tree structure, the decoder 710 extracts information about a prediction type indicating whether the current block is intra predicted or inter predicted.
- the decoder 710 extracts syntax elements of intra prediction information (intra mode) of the current block. First, the decoder 710 extracts mode information (ie, an MPM flag) indicating whether an intra mode of a current block is selected from the MPMs. Also, in general, when the intra mode encoding information indicates that the intra mode of the current block is selected from the MPMs, first intra identification information for indicating which mode of the MPMs is selected as the intra mode of the current block is extracted; When the intra mode encoding information indicates that the intra mode of the current block is not selected among the MPMs, the second intra identification information for indicating which mode other than the MPM is selected as the intra mode of the current block is extracted. do.
- mode information ie, an MPM flag
- the decoder 710 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
- the inverse quantizer 720 inversely quantizes the quantized transform coefficients, and the inverse transformer 730 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to generate a residual block for the current block.
- the predictor 740 includes an intra predictor 742 and an inter predictor 744.
- the intra predictor 742 is activated when the intra prediction is the prediction type of the current block
- the inter predictor 744 is activated when the intra prediction is the prediction type of the current block.
- the intra predictor 742 determines the intra mode of the current block among the plurality of intra modes from the syntax element for the intra mode extracted from the decoder 710, and uses the reference pixels around the current block according to the intra mode. Predict the block.
- the intra predictor 742 constructs an MPM list including a predetermined number of MPMs from neighboring blocks of the current block.
- the method of constructing the MPM list is the same as that of the intra predictor 322 of FIG. 3.
- the intra prediction unit 742 may determine the first intra identification information among the MPMs in the MPM list. Select the indicated MPM as the intra mode of the current block. On the other hand, if the mode information indicates that the intra mode of the current block is not selected from the MPM, the intra mode of the current block is determined among the remaining intra modes except the MPMs in the MPM list using the second intra identification information.
- the inter predictor 744 determines motion information of the current block using a syntax element for the intra mode extracted from the decoder 710, and predicts the current block using the determined motion information.
- the adder 750 reconstructs the current block by adding the residual block output from the inverse transformer and the prediction block output from the inter predictor or the intra predictor.
- the pixels in the reconstructed current block are utilized as reference pixels in intra prediction of the block to be subsequently decoded.
- the filter unit 760 deblocks and filters the boundary between the reconstructed blocks in order to remove blocking artifacts caused by block-by-block decoding, and stores them in the memory 390. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be decoded later.
- the techniques disclosed below relate to intra coding.
- the techniques of this disclosure may be performed by, for example, the image encoding apparatus and the image decoding apparatus shown and described with respect to FIGS. 3 and 7. That is, in one example, the intra prediction unit described with respect to FIG. 3 may perform certain techniques described below when performing intra prediction while encoding a block of image data. In another example, the intra prediction unit described with respect to FIG. 7 may perform certain techniques described below when performing intra prediction while decoding a block of video data.
- FIGS. 9A and 9B are conceptual diagrams illustrating how reference samples are used for a current block in directional intra mode. As illustrated in FIGS. 9A and 9B, the predictive block of the current block is generated singularly according to the direction of the selected intra mode.
- the present disclosure is directed to intra prediction techniques that can be useful in blocks with different textures in the form of diagonal edges or diagonal shapes.
- the current block to be predicted is divided into two regions, and each region can be predicted individually according to the directional or non-directional mode illustrated in FIG. 5.
- the new intra mode proposed in the present disclosure may be referred to as "split intra mode" in the following description.
- split intra mode In split intra mode, a first type (referred to as “Split_right_down type”), in which two areas are separated by a diagonal line connecting the upper and lower right corners of the block, and two areas are divided by a diagonal line connecting the left and right ears of the block. There are two types (referred to as “Split_right_up type”). As shown in Figs. 10A, 10B, 11A and 11B, in the divided intra mode, the two regions are divided by a diagonal line crossing the current block. Two types for square blocks are illustrated in FIGS. 10A and 10B, and two types for rectangular blocks are illustrated in FIGS. 11A and 11B.
- FIG. 12A is a diagram for describing respective reference pixels used for two regions of the current block in the split intra mode of the Split_right_down type.
- the lower left region of the current block includes the left reference pixels R 0,1 , R 0,2 , (hatched in (a) of FIG. 12A).
- R 0,3 , ... R 0,2N are used to determine predicted pixel values
- the upper right region includes the upper reference pixels R 1,0 , R 2,0 , (hatched in (b) of FIG. 12A).
- R 3,0 ... R 2N, 0 ) is used to determine prediction pixel values.
- R 0,0 may or may not be used as the reference pixel for both regions.
- the upper left region is the left and upper reference pixels ( ⁇ R 0, 0 , R 0 , 1 , R 0 , 2 , adjacent to the corresponding block (hatched in (a) of FIG. 12B).
- the lower right region is the left and upper reference pixels R 0, N + 1 that are not adjacent to the corresponding block (hatched in (b) of FIG. 12B).
- R 0, N + 2 , R 0 , N + 3 , ... R 0,2N and R N + 1, 0 , R N + 2, 0 , R N + 3,0 , ... R 2N, 0 ) is used to determine prediction pixel values.
- R 0, N +1 and R N + 1,0 may or may not be used as reference pixels for both regions.
- R 0, N +1 and R N + 1,0 may be used only to generate predicted pixel values on the diagonal. That is, the predicted pixel values on the diagonal may be determined from R 0, N + 1 and R N + 1,0 .
- each mode to be used for prediction of two regions in split intra mode may be fixed. That is, one or two modes selected from the directional or non-directional modes illustrated in FIG. 5 may be assigned to each region as a default mode.
- the default modes assigned to the two regions may have the same direction or reverse directions.
- the default modes allocated to the two regions may be planar or DC mode, which is a non-directional mode.
- the lower left region of the current block determines predictive pixel values in a DC mode using left reference pixels
- the upper right region predicts pixel values in a DC mode using upper reference pixels. Can be determined.
- the default modes assigned to the two regions may have the directionality illustrated in FIGS. 13A and 13B.
- each mode to be used for prediction of the two regions in the split intra mode may be selected by the image encoding apparatus in consideration of compression efficiency, among the directional or non-directional modes illustrated in FIG. 5. .
- FIGS. 14A and 14B are conceptual diagrams illustrating some example ways in which reference samples are used for two regions in split intra mode.
- the two regions are predicted in opposite directions, and in the example of FIG. 13B, the predictions for the two regions have the same direction.
- the predictions for the two regions have different directions from each other.
- the prediction shown by the scheme illustrated in FIG. 13B is bidirectional. That is, the left reference pixels R 0,0 , R 0,1 , R 0,2 , R 0, 3 , ...
- each pixel in the current block is predicted using a left reference pixel and an upper reference pixel value located on a straight line parallel to a diagonal line dividing the current block into two regions.
- the prediction pixel and the two reference pixels used to predict the pixel value lie on a straight line parallel to the diagonal that divides the current block into two regions.
- the prediction pixels P 1, 1 is predicted from the left reference pixels (R 0,2) and an upper reference pixel (R 2,0).
- Predicted pixel P N , 1 (or P 1, N ) is predicted from left R 0, N +1 and top R N + 1,0 .
- P N, N is predicted from the left R 0,2N and the upper R 2N, 0 .
- weights according to the distance from the prediction pixel position to the reference pixel position may be given to the reference pixel values.
- the pixel value of the prediction pixel P N , 1 may be determined to be closer to R N + 1,0 than to R 0, N + 1 .
- the first method is to treat split_right_down and split_right_up as new intra modes and signal them. For example, if the two intra modes are added to a video standard having n intra modes, split_right_down may be in ( n +1) times and split_right_up may be in ( n +2) times. Or you can reverse the order. The added two modes are signaled in the same way as other existing modes.
- the second method is to treat split_right_down and split_right_up as one split_intra_mode and signal it. For example, if one intra mode is added to a video standard having n intra modes, split_intra_mode may be ( n + 1) times. The added one mode is signaled in the same manner as other existing modes. Here, when the ( n + 1) mode is selected, the 1-bit flag is additionally used to signal whether split_right_down or split_right_up is used.
- the third method is to treat split_right_down and split_right_up as one split_intra_mode and signal them. For example, if one intra mode is added to a video standard having n intra modes, split_intra_mode may be ( n + 1) times. The added one mode is signaled in the same manner as other existing modes. In this case, when the ( n + 1) mode is selected, whether split_right_down or split_right_up is derived is derived from values of reference pixels by the image decoding apparatus without signaling of a separate syntax element.
- split_right_down was selected as the type of split intra mode of a given block, the lower left region of the current block would have a different texture than the lower right region, so that the reference pixels adjacent to the lower left side were also different from the reference pixels adjacent to the upper right region. Note that it is likely to have different values. Accordingly, the apparatus for decoding an image may infer that split_right_down is used if Equation 1 is satisfied, or infer that split_right_up is selected if it is not satisfied.
- Equation 1 the left side is the left reference pixels R 0, 1 , R 0 , 2 , for the lower left region when split_right_down is applied.
- R 0 , 3 ...
- R 3,0 ... R 2N, 0 ) represents the difference between the mean values.
- the right side is the left and upper reference pixels R 0, 0 , R 0 , 1 , R 0 , 2 , adjacent to the corresponding block for the upper left region when split_right_up is applied.
- the left and upper reference pixels R 0 N + 1 , R 0 , N + 2 , not adjacent to the corresponding block for the lower right region and the average value of R N, 0 ) R 0 , N + 3 , ... R 0,2N & R N + 1, 0 , R N + 2, 0 , R N + 3,0 , ... R 2N, 0 ) represents the difference between the mean values.
- 2N reference pixels are all considered in Equation 1, a similar scheme may be applied to N reference pixels selected from 2N to reduce the amount of computation. For example, a similar approach is applied for reference pixels selected one pixel across, such as "0, 2, 4, 6, 8, 10 " or "1, 3, 5, 7, 9 ". It may be.
- split_right_up can be used instead of the existing DC mode.
- split_right_up may be one of a non-directional mode (diagonal planar).
- the intra mode may include two non-directional modes and 65 directional modes including the conventional (vertical / horizontal) planar mode and the diagonal planar mode.
- the diagonal planar mode may replace the DC mode in every encoding / decoding process including the MPM setting process described with reference to FIGS. 3 to 7.
- the split intra mode when a mode for two regions of the current block is selected by the image encoding apparatus from among a plurality of intra modes including directional and non-directional modes, additional signaling is required for each mode applied to the two regions. .
- the default mode when the default mode is allocated to two regions for the split intra mode, only information on whether the split intra mode is applied to the current block is sufficient.
- prediction pixel values placed on a diagonal line separating two regions may be determined using reference samples of either region. That is, the pixels on the diagonal may be included in either area and may be predicted in the same mode as the other pixels in the area. Alternatively, pixels on the diagonal can be determined using both reference samples in both regions.
- FIG. 15A to 15C are conceptual views illustrating a method of determining prediction pixel values on a diagonal line in a split intra mode of the split_right_down type.
- FIG. 15A is an example of how predictive pixel values on a diagonal line are determined using reference samples for the upper right region
- FIG. 15B is an example of how predictive pixel values on diagonal line are determined using reference samples for the lower left region.
- 15C is an example of how the prediction pixel values on the diagonal line are determined using both reference samples for the upper right region and reference samples for the lower left region.
- segmented intra mode may be particularly useful for intra prediction of 360 images in which projection formats consisting of triangular faces may be used.
- a 360 image is converted to a two-dimensional image based on Icosahedral projection (ISP) and Octahedron projection (OHP)
- ISP Icosahedral projection
- OHP Octahedron projection
- the prediction pixels should also be filled using the lower right reference sample values. If the information about the original pixel values on the diagonal is unknown, the prediction pixels can be filled using the upper left and lower right reference sample values.
- the image encoding apparatus and the image decoding apparatus may generate prediction pixel values on a diagonal line using reference samples of a predetermined region.
- the apparatus for encoding an image may generate prediction pixel values on a diagonal line using reference samples of a specific (upper left or lower right) region and then explicitly signal information about the diagonal.
- the split intra mode may be activated / deactivated by a flag indicating activation / deactivation of the split intra mode.
- the split intra mode may be activated / deactivated by a flag indicating 360 video.
- the split intra mode may be activated / deactivated by a syntax element that defines the projection format used for the two-dimensional representation of 360 video. As such, split intra mode may or may not be included in the plurality of available intra modes, as desired.
- 16 is a flowchart illustrating an example method for encoding image data in accordance with one or more examples described above of the present invention.
- the video encoding apparatus determines an intra mode for predicting a current block of video data among a plurality of available intra modes (S1610).
- the plurality of available intra modes includes a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode.
- the prediction block for the current block is predicted separately for each of the two regions (ie, the first region and the second region) divided by dividing the current block diagonally.
- One of a plurality of directional modes and a plurality of non-directional modes is applied to the prediction for each region.
- One directional or non-directional mode may be commonly applied to the two regions, and a mode different from the mode applied to the first region may be applied to the second region.
- the mode applied to the first region and the mode applied to the second region may be predetermined among a plurality of directional or non-directional modes.
- Each region of the split intra mode may be assigned one or two modes selected from a plurality of directional or non-directional modes as a default mode. Default modes assigned to the two regions may have the same directionality, reverse direction to each other, or both directions at the same time.
- the default modes allocated to the two regions may be planar or DC mode, which is a non-directional mode.
- each mode to be used for prediction of the two regions in the split intra mode may be selected by the image encoding apparatus in consideration of compression efficiency, among the directional or non-directional modes illustrated in FIG. 5. .
- the plurality of available intra modes include two split intra modes, a first split intra mode in which two areas are separated by a diagonal line connecting the upper and lower right corners of the current block, and the two areas are current blocks. There may be a second split intra mode separated by a diagonal line connecting the lower left and upper right ears of.
- the one split intra mode is a first type in which two areas are divided by a diagonal line connecting the upper left and the right lower end of the current block, and a second type in which the two areas are separated by a diagonal connecting the left and right ears of the current block. This may exist.
- the image encoding apparatus determines a prediction block for the current block based on the determined intra mode of the current block (S1620).
- the determined intra mode of the current block S1620.
- split intra modes at least some of the reference pixels used to determine the prediction pixels for the first region are different from the reference pixels used to determine the prediction pixels for the second region.
- the first split intra mode is determined to be the intra mode of the current block
- at least some of the reference samples used to determine the prediction pixels for the first area are At least some of the reference samples selected on the left block L and the bottom left block BL of the current block, and used to determine the prediction pixels for the second region (the top right region) are the top block A of the current block.
- the upper right block (AR) is the upper right block (AR).
- the second split intra mode is determined to be the intra mode of the current block
- at least some of the reference samples used to determine the prediction pixels for the first of the two regions are the current block.
- At least some of the reference samples selected on the left block (L) and the top block (A) of and used to determine the prediction pixels for the second region (lower region) are the lower left block BL of the current block.
- the upper right block AR is the upper right block AR.
- the image encoding apparatus determines a residual block based on the current block and the prediction block (S1630).
- the image encoding apparatus encodes syntax elements that define an intra mode and a residual block of the current block (S1640).
- the image encoding apparatus may further encode syntax elements that define one of a plurality of directional modes and a plurality of non-directional modes applied to each of the two regions.
- 17 is a flow chart illustrating an exemplary method of decoding image data in accordance with one or more examples described above of the present invention.
- the image decoding apparatus decodes syntax elements that define an intra mode and a residual block for the current block of image data from the encoded bitstream (S1710).
- the image decoding apparatus determines an intra mode for predicting a current block of image data, from among a plurality of available intra modes, based on the decoded syntax elements (S1720).
- the plurality of available intra modes includes a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode.
- the image decoding apparatus further decodes syntax elements defining one of a plurality of directional modes and a plurality of non-directional modes applied to each of two regions from the encoded bitstream. can do.
- the image decoding apparatus determines a prediction block for the current block based on the determined intra mode of the current block (S1730).
- the image decoding apparatus reconstructs the current block based on the determined prediction block and the residual block (S1740).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 영상을 효율적으로 부호화하기 위한 영상 부호화 또는 복호화에 관한 것이다. 보다 상세하게는, 대각선 모양의 에지(edge) 혹은 대각선 형태로 다른 텍스처(texture)가 존재하는 블록 내에서 유용하게 작용할 수 있는 인트라 예측 기법들에 관한 것이다.The present invention relates to image encoding or decoding for efficiently encoding an image. More specifically, it relates to intra prediction techniques that can be useful in blocks with different textures in the form of diagonal edges or diagonal shapes.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다. The contents described in this section merely provide background information on the present embodiment and do not constitute a prior art.
차세대 비디오 표준 기술 탐색을 진행하고 있는 JVET(Joint Video Exploration Team)의 참조 SW코덱인 JEM(Joint Exploration Model)은 재귀적 QTBT(Quadtree plus Binarytree) 분할 구조의 부호화 단위(CU: Coding Unit)를 제공한다. QTBT를 통하여, HEVC(High Efficiency Video Coding)에서의 CU, PU(Prediction Unit), 및 TU(Transform Unit)의 중복적인 부호화 블록 구조 개념을 중복성을 제거하는 동시에, 비정방형 형태와 같이 더 유연하고 다양한 CU 구조를 갖는 블록 구조가 시도되고 있다. Joint Exploration Model (JEM), a reference SW codec of the Joint Video Exploration Team (JVET), which is exploring next-generation video standard technology, provides a coding unit (CU) of a recursive Quadtree plus Binarytree (QTBT) partition structure. . Through QTBT, the redundant coding block structure concept of CU, Prediction Unit (PU), and Transform Unit (TU) in High Efficiency Video Coding (HEVC) eliminates redundancy, and is more flexible and versatile, such as non-square. A block structure with a CU structure has been attempted.
한편, JVET는 차세대 비디오 코딩 표준에 360도 비디오 코딩 기술을 포함시킬 필요성을 연구하고 있다. 360도 비디오 (이하, '360 영상'으로 칭함)은 여러 대의 카메라 또는 전방향 카메라로 여러 방향에서 촬영한 영상으로, 여러 장면의 영상을 압축, 전송할 수 있도록 여러 방향의 영상을 하나의 2D 영상으로 스티칭(stitching)하며, 스티칭된 영상은 압축되어 복호화 장치로 전송된다. 복호화 장치는 압축된 영상을 복호화한 이후에 3D로 매핑하여 재생한다.JVET, meanwhile, is investigating the need to include 360-degree video coding technology in next-generation video coding standards. 360-degree video (hereinafter referred to as '360 video') is a video taken from multiple directions with multiple cameras or omni-directional cameras, and the video in multiple directions can be compressed into one 2D video to compress and transmit video from multiple scenes. Stitching, the stitched image is compressed and transmitted to the decoding apparatus. After the decoding apparatus decodes the compressed image, the decoding apparatus maps and reproduces the image in 3D.
360 영상에 대한 투영 포맷(projection format)으로 대표적인 것은 EPR(Equirectangular Projection)이다. EPR 포맷은 3D 구(sphere) 모양의 360 영상의 위, 아래 부분의 픽셀을 늘려 심하게 왜곡시키는 단점이 있으며, 영상의 압축 시에도 늘어난 부분에 데이터량을 증가시키고 인코딩 처리량을 늘리는 단점이 있다. 이에 따라, EPR 포맷을 대체할 수 있는 다양한 투영 포맷들이 제안되고 있다.An example of a projection format for 360 images is EPR (Equirectangular Projection). The EPR format has the disadvantage of distorting the 3D sphere-shaped 360 image by increasing the pixels at the top and bottom of the image and severely distorting the image. The EPR format also increases the data amount and the encoding throughput in the enlarged portion. Accordingly, various projection formats have been proposed that can replace the EPR format.
Icosahedral projection (ISP)을 2D 이미지로 펼치게 되면, 도 1과 같은 형태가 된다. 도 1에서, (a)는 일반적인 native layout 형태이며, (b)와 (c)는 두 종류의 컴팩트 레이아웃(compact layout)이다. 도 1에 예시된 세 가지 타입 모두 삼각형 모양의 면들로 구성된 20면체의 특성으로 인해 대각선 에지들이 많이 포함되어 있다. 도 2는 360 비디오의 Octahedron projection (OHP) map을 컴팩트 레이아웃으로 표현한 것이다. 도 2에서 보이는 것처럼, 하나의 블록 내 두 개의 면(face)가 존재하는 영역이 이미지 내 상당 부분을 차지한다. 따라서, 도 2에서 예시적으로 보인 직사각형 혹은 정사각형 모양의 CU에 하나의 인트라 모드를 적용하는 것은 공간 압축 효율을 떨어뜨릴 것이다. When Icosahedral projection (ISP) is unfolded as a 2D image, it becomes as shown in FIG. In FIG. 1, (a) is a general native layout form, and (b) and (c) are two kinds of compact layouts. All three types illustrated in FIG. 1 include a lot of diagonal edges due to the characteristics of the icosahedron composed of triangular faces. 2 is a compact layout of an Octahedron projection (OHP) map of 360 video. As shown in FIG. 2, the area where two faces in one block exist occupies a significant portion of the image. Thus, applying one intra mode to a rectangular or square shaped CU shown by way of example in FIG. 2 will reduce spatial compression efficiency.
본 개시는 대각선 모양의 에지(edge) 혹은 대각선 형태로 다른 텍스처(texture)가 존재하는 블록 내에서 유용하게 작용할 수 있는 인트라 예측 기법들을 설명한다. 본 개시의 인트라 예측 기법에서는, 기존의 인트라 모드들에 "분할 인트라 모드"로 지칭되는 새로운 인트라 모드를 추가하는 것을 고려한다. 분할 인트라 모드에서는, 예측 영역이 대각선 방향으로 두 영역으로 나누어져, 각 영역이 별개의 방향성 혹은 비방향성 모드로 예측될 수 있다.The present disclosure describes intra prediction techniques that can be useful in blocks with different textures in diagonal shapes or diagonal shapes. In the intra prediction technique of the present disclosure, consider adding a new intra mode referred to as a "split intra mode" to existing intra modes. In the split intra mode, the prediction region is divided into two regions in the diagonal direction so that each region can be predicted in a separate directional or non-directional mode.
본 발명의 일 측면에 따르면, 부호화된 비트스트림으로부터 영상 데이터의 현재 블록의 인트라 모드 및 잔차 블록을 정의하는 신택스 엘리먼트들을 복호화하는 단계; 상기 현재 블록의 인트라 모드를 정의하는 복호화된 신택스 엘리먼트들에 기초하여, 복수의 방향성 모드, 복수의 비방향성 모드, 및 적어도 하나의 분할 인트라 모드를 포함하는 복수의 가용한 인트라 모드 중에서 상기 현재 블록의 인트라 모드를 결정하는 단계; 상기 현재 블록의 결정된 인트라 모드를 기초로, 상기 현재 블록을 위한 예측 블록을 결정하는 단계; 및 상기 예측 블록 및 상기 잔차 블록에 기초하여 상기 현재 블록을 재구성하는 단계를 포함하는 영상 데이터를 복호화하는 방법을 제공한다. 여기서, 상기 분할 인트라 모드는 상기 현재 블록을 대각선으로 분할하여 구분된 2개의 영역 각각에 상기 복수의 방향성 모드 및 상기 복수의 비방향성 모드 중 하나를 개별적으로 적용하는 모드이다. According to an aspect of the present invention, there is provided a method, comprising: decoding syntax elements defining an intra mode and a residual block of a current block of image data from an encoded bitstream; Based on the decoded syntax elements defining the intra mode of the current block, the plurality of available intra modes including a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode; Determining an intra mode; Determining a prediction block for the current block based on the determined intra mode of the current block; And reconstructing the current block based on the prediction block and the residual block. The divisional intra mode is a mode in which one of the plurality of directional modes and the plurality of non-directional modes is individually applied to each of two regions divided by dividing the current block diagonally.
본 발명의 다른 측면에 따르면, 메모리 및 하나 이상의 프로세서들를 포함하는 영상 데이터를 복호화하는 장치로서, 상기 하나 이상의 프로세서들은, 부호화된 비트스트림으로부터 영상 데이터의 현재 블록의 인트라 모드 및 잔차 블록을 정의하는 신택스 엘리먼트들을 복호화하는 단계; 상기 현재 블록의 인트라 모드를 정의하는 복호화된 신택스 엘리먼트들에 기초하여, 복수의 방향성 모드, 복수의 비방향성 모드, 및 적어도 하나의 분할 인트라 모드를 포하는 복수의 가용한 인트라 모드 중에서 상기 현재 블록의 인트라 모드를 결정하는 단계; 상기 현재 블록의 결정된 인트라 모드를 기초로, 상기 현재 블록을 위한 예측 블록을 결정하는 단계; 및 상기 예측 블록 및 상기 잔차 블록에 기초하여 상기 현재 블록을 재구성하는 단계를 수행하도록 구성된, 영상 데이터를 복호화하는 장치를 제공한다.According to another aspect of the invention, an apparatus for decoding image data comprising a memory and one or more processors, the one or more processors are syntax that defines an intra mode and a residual block of a current block of image data from an encoded bitstream Decrypting the elements; Based on the decoded syntax elements defining the intra mode of the current block, the plurality of available intra modes including a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode; Determining an intra mode; Determining a prediction block for the current block based on the determined intra mode of the current block; And reconstruct the current block based on the prediction block and the residual block.
도 1은 Icosahedral projection (ISP)의 다양한 2차원 레이아웃을 예시한 도면이다.1 is a diagram illustrating various two-dimensional layouts of Icosahedral projection (ISP).
도 2는 Octahedron projection (OHP)의 다양한 2차원 레이아웃을 예시한 도면이다.2 illustrates various two-dimensional layouts of Octahedron projection (OHP).
도 3은 본 개시의 기술들을 이용될 수 있는 영상 부호화 장치에 대한 블록도이다.3 is a block diagram of an image encoding apparatus that may use the techniques of this disclosure.
도 4는 QTBT 구조를 이용한 예시적인 블록 분할의 개념도이다. 4 is a conceptual diagram of exemplary block partitioning using a QTBT structure.
도 5는 인트라 예측에 사용 가능한 복수의 인트라 모드들을 예시한 개념도이다. 5 is a conceptual diagram illustrating a plurality of intra modes that can be used for intra prediction.
도 6은 현재 블록의 주변블록에 대한 예시도이다.6 is an exemplary diagram of neighboring blocks of a current block.
도 7은 본 개시의 기술들을 이용될 수 있는 영상 복호화 장치를 도시한 것이다.7 illustrates an image decoding apparatus that may use the techniques of the present disclosure.
도 8은 인트라 예측에서 현재 블록과 참조 샘플들간의 위치 관계를 보인 도면이다. 8 is a diagram illustrating a positional relationship between a current block and reference samples in intra prediction.
도 9a 및 도 9b는 방향성 인트라 모드에서 현재 블록에 대해 참조 샘플들이 이용되는 방식을 나타낸 개념도이다. 9A and 9B are conceptual diagrams illustrating how reference samples are used for a current block in directional intra mode.
도 10a 및 도 10b은 정사각형 블록에 적용되는 분할 인트라 모드의 타입들을 도시한 도면이다. 10A and 10B are diagrams illustrating types of split intra mode applied to a square block.
도 11a 및 도 11b는 직사각형 블록에 적용되는 분할 인트라 모드의 타입들을 도시한 도면이다. 11A and 11B illustrate types of split intra mode applied to a rectangular block.
도 12a 및 도 12b는 분할 인트라 모드에서 현재 블록의 두 개의 영역에 대해 사용되는 각각의 참조 픽셀들을 설명하기 위한 도면이다.12A and 12B are diagrams for describing respective reference pixels used for two regions of the current block in the split intra mode.
도 13a, 도 13b, 도 14a, 및 도 14b는 분할 인트라 모드에서 두 영역에 대해, 참조 샘플들이 이용되는 몇몇 예시적인 방식들을 나타낸 개념도이다13A, 13B, 14A, and 14B are conceptual diagrams illustrating some exemplary schemes in which reference samples are used for two regions in split intra mode;
도 15a 내지 도 15c는 split_right_down 타입의 분할 인트라 모드에서 대각선 상의 예측 픽셀 값들을 결정하는 방식을 보인 개념도이다.15A to 15C are conceptual views illustrating a method of determining prediction pixel values on a diagonal line in a split intra mode of the split_right_down type.
도 16은 본 발명의 하나 이상의 예시들에 따라 영상 데이터를 부호화하는 예시적인 방법을 도시한 흐름도이다. 16 is a flowchart illustrating an example method for encoding image data according to one or more examples of the present invention.
도 17은 본 발명의 하나 이상의 예시들에 따라 영상 데이터를 복호화하는 예시적인 방법을 도시한 흐름도이다. 17 is a flowchart illustrating an example method for decoding image data in accordance with one or more examples of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding an identification code to the components of each drawing, it should be noted that the same components as possible, even if shown on different drawings have the same reference numerals. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
도 3은 본 개시의 기술들을 이용될 수 있는 영상 부호화 장치에 대한 블록도이다.3 is a block diagram of an image encoding apparatus that may use the techniques of this disclosure.
영상 부호화 장치는 블록 분할부(310), 예측부(320), 감산기(330), 변환부(340), 양자화부(345), 부호화부(350), 역양자화부(360), 역변환부(365), 가산기(370), 필터부(380) 및 메모리(390)를 포함한다. 영상 부호화 장치는 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image encoding apparatus includes a
블록 분할부(310)는 영상을 구성하는 각 픽처(picture)를 복수의 CTU(Coding Tree Unit)으로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU (coding unit)가 된다. 트리 구조로는 상위 노드가 네 개의 하위 노드로 분할하는 쿼드트리(QuadTree, QT), 또는 QT 구조 및 상위 노드가 두 개의 하위 노드로 분할하는 바이너리트리(BinaryTree, BT) 구조를 혼용한 QTBT (QuadTree plus BinaryTree) 구조가 사용될 수 있다. After dividing each picture constituting the image into a plurality of coding tree units (CTUs), the
QTBT (QuadTree plus BinaryTree) 구조에서, CTU는 먼저 QT 구조로 분할된다. 이후, QT의 리프 노드들은 BT에 의해 추가로 더 분할될 수 있다. 블록 분할부(310)가 QTBT 구조에 의해 CTU를 분할하여 생성하는 분할 정보는 부호화부(350)에 의해 부호화되어 영상 복호화 장치로 전달된다. In a QTBT (QuadTree plus BinaryTree) structure, the CTU is first divided into a QT structure. The leaf nodes of the QT may then be further partitioned by BT. The partition information generated by the
QT에서는 해당 노드의 블록이 분할 여부를 지시하는 제1 플래그(QT 분할 플래그, QT_split_flag)가 부호화된다. 제1 플래그가 1이면 해당 노드의 블록이 동일 크기의 네 개의 블록으로 분할되고, 0이면 해당 노드는 QT에 의해 더 이상 분할되지 않는다. In QT, a first flag (QT split flag, QT_split_flag) indicating whether a block of a corresponding node is split is encoded. If the first flag is 1, the block of the node is divided into four blocks of the same size. If the first flag is 1, the node is no longer divided by QT.
BT에서는 해당 노드의 블록의 분할 여부를 지시하는 제2 플래그(BT 분할 플래그, BT_split_flag)가 부호화된다. BT 에서는 복수의 분할 타입이 존재할 수 있다. 예컨대, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입 두 가지가 존재할 수 있다. 또는, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있다. 이렇게 BT가 복수의 분할 타입을 가지는 경우에는, 블록이 분할됨을 의미하는 제2 플래그가 부호화되면, 해당 블록의 분할 타입을 지시하는 분할 타입 정보가 추가로 부호화된다.In BT, a second flag (BT split flag, BT_split_flag) indicating whether a block of the corresponding node is split is encoded. In BT, there may be a plurality of partition types. For example, there may be two types of partitioning a block of a node horizontally into two blocks of the same size and a type of partitioning vertically. Alternatively, there may further be a type in which blocks of the corresponding node are further divided into two blocks having an asymmetric shape. The asymmetric form may include a form in which a block of a node is divided into two rectangular blocks having a size ratio of 1: 3. When the BT has a plurality of division types in this manner, when a second flag indicating that a block is divided is encoded, partition type information indicating a partition type of the corresponding block is further encoded.
도 4는 QTBT 구조를 이용한 블록 분할의 예시도이다. 도 4의 (a)는 QTBT 구조에 의해 블록이 분할되는 예시이고, (b)는 이를 트리구조로 표현한 것이다. 도 4에서 실선은 QT 구조에 의한 분할을, 점선은 BT 구조에 의한 분할을 나타낸다. 또한, 도 4의 (b)에서 layer 표기와 관련하여, 괄호가 없는 것은 QT의 레이어를, 괄호가 있는 것은 BT의 레이어를 나타낸다. 점선으로 표현된 BT 구조에서 숫자는 분할 타입 정보를 나타낸다.4 is an exemplary diagram of block division using a QTBT structure. 4A illustrates an example of dividing a block by a QTBT structure, and FIG. 4B illustrates a tree structure. In FIG. 4, the solid line indicates the division by the QT structure, and the dotted line indicates the division by the BT structure. In addition, with reference to the layer notation in FIG. 4B, the parenthesis indicates a layer of QT, and the parenthesis indicates a layer of BT. In the BT structure represented by a dotted line, a number represents partition type information.
도 4에서, QT의 최상위 레이어인 CTU는 layer 1의 네 개의 노드로 분할된다. 이에 따라 블록 분할부(310)는 CTU가 분할됨을 지시하는 QT 분할 플래그(QT_split_flag = 1)를 생성한다. layer 1의 첫 번째 노드에 해당하는 블록은 더 이상 QT에 의해 분할되지 않다. 따라서, 블록 분할부(310)는 QT_split_flag = 0을 생성한다. In FIG. 4, the CTU, which is the highest layer of QT, is divided into four nodes of
이후, QT의 layer 1의 첫 번째 노드에 해당하는 블록은 BT로 진행한다. 본 예시에서는, BT가 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입 두 가지가 존재하는 것으로 설명한다. QT의 layer 1의 첫 번째 노드는 BT의 루트 노드(root node, (layer 0))가 된다. BT의 루트 노드에 해당하는 블록은 (layer 1)의 블록으로 더 분할되므로, 블록 분할부(310)는 BT에 의해 분할됨을 지시하는 BT 분할 플래그(BT_split_flag) = 1을 생성한다. 이후, 해당 블록이 가로로 분할되는지 아니면 세로로 분할되는지 여부를 지시하는 분할 타입 정보를 생성한다. 도 4에서 BT의 루트 노드에 해당하는 블록은 세로로 분할되므로 세로 분할을 지시하는 1이 분할 타입 정보로서 생성된다. 루트 노드로부터 분할된 (layer 1)의 블록 중 첫 번째 블록은 추가로 더 분할되고 분할 타입은 세로이므로, BT_split_flag = 1 및 분할 타입 정보 1을 생성한다. 반면, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 블록은 더 이상 분할되지 않으므로 BT_split_flag = 0을 생성한다. Thereafter, the block corresponding to the first node of
이와 같이, 도 4에서 BT의 루트 노드에 해당하는 좌상 블록은 세로로 분할되므로, BT에 의해 분할됨을 지시하는 BT 분할 플래그(BT_split_flag) = 1 와 세로 분할을 지시하는 1이 분할 타입 정보로서 생성된다. 만약, BT의 루트 노드로부터 분할된 (layer 1)의 블록 중 첫 번째 블록이 추가로 더 분할되고 그 분할 타입이 가로라면, BT_split_flag = 1 및 분할 타입 정보 0이 생성될 것이다. 이때, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 블록도 추가로 더 분할되었다면, 그 분할 타입은 반드시 세로이어야 한다. 왜냐하면, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 블록의 분할 타입이 가로라면, 결국 BT의 루트 노드에 해당하는 블록이 QT 분할된 형태이기 때문이다. 즉, BT 분할 정보가 아닌 QT 분할 정보로 표현해야 하는 경우가 된다. 그러나, 본 예에서는 BT의 루트 노드에 해당하는 블록은 이미 QT 분할이 끝났으므로, 이와 같은 분할 형태는 취할 수 없다. 따라서, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 블록의 분할 타입은 세로이어야 하고, 나아가 복호화기에서 분할 타입 정보를 1로 유추할 수 있으므로, BT_split_flag = 1 외에 분할 타입 정보는 시그널링될 필요가 없다. As described above, since the upper left block corresponding to the root node of BT in FIG. 4 is vertically divided, BT split flag (BT_split_flag) = 1 indicating splitting by BT and 1 indicating vertical splitting are generated as split type information. . If the first block of blocks of (layer 1) partitioned from the root node of BT is further split and its split type is horizontal, BT_split_flag = 1 and split
한편, QTBT 구조에 의한 블록 분할에 대한 정보를 효율적으로 영상 복호화 장치로 시그널링하기 위해, 다음의 정보가 추가로 부호화될 수 있다. 이 정보들은 영상의 헤더 정보로서 부호화되는데, 예컨대 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set)로 부호화될 수 있다.On the other hand, in order to efficiently signal the information about the block division by the QTBT structure to the image decoding apparatus, the following information may be further encoded. The information is encoded as header information of an image, for example, may be encoded by a sequence parameter set (SPS) or a picture parameter set (PPS).
- CTU size: QTBT의 최상위 레이어, 즉, 루트 노드의 블록 크기CTU size: the top layer of QTBT, that is, the block size of the root node
- MinQTSize: QT에서 허용되는 리프 노드의 최소 블록 크기MinQTSize: the minimum block size of leaf nodes allowed in QT
- MaxBTSize: BT에서 허용되는 루트 노드의 최대 블록 크기MaxBTSize: the maximum block size of the root node allowed by BT
- MaxBTDepth: BT에서 허용되는 최대 심도(Depth)MaxBTDepth: the maximum depth allowed by BT
- MinBTSize: BT에서 허용되는 리프 노드의 최소 블록 크기MinBTSize: the minimum block size of leaf nodes allowed in BT
QT에서 MinQTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않으며, 따라서 해당 블록에 대응하는 QT에 관한 분할 정보(제1 플래그)는 부호화되지 않는다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 해당 블록에 대응하는 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보)는 부호화되지 않는다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않으며 해당 노드의 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보) 또한 부호화되지 않는다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않으며 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보) 또한 부호화되지 않는다. 이렇게, QT와 BT의 루프나 리프 노드가 가질 수 있는 최대 또는 최소 블록 크기를 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set) 등의 하이 레벨(high level)에서 정의함으로써, CTU의 분할 여부나 분할 타입을 지시하는 정보들에 대한 부호화량을 줄일 수 있다.In QT, a block having the same size as MinQTSize is no longer split, and thus split information (first flag) about QT corresponding to the block is not encoded. In addition, there is no BT in a block having a size larger than MaxBTSize in QT. Therefore, splitting information (second flag, splitting type information) regarding BT corresponding to the block is not encoded. In addition, when the depth of the corresponding node of the BT reaches MaxBTDepth, the block of the corresponding node is no longer split and no splitting information (second flag, split type information) regarding the BT of the corresponding node is not encoded. In addition, a block having the same size as MinBTSize in BT is no longer split and no split information (second flag, split type information) regarding BT is also encoded. In this way, the maximum or minimum block size that a loop or leaf node of the QT and BT can have at a high level such as a sequence parameter set (SPS) or a picture parameter set (PPS) can be defined to determine whether the CTU is divided or not. The amount of coding for the information indicating the partition type can be reduced.
한편, CTU의 휘도(luma) 성분과 색차(chroma) 성분은 동일한 QTBT 구조로 분할될 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며 휘도 성분과 색차 성분이 각각 별개의 QTBT 구조를 사용하여 분할될 수 있다. 예컨대, I (Intra) 슬라이스의 경우에는 루마(luma) 성분과 chroma 성분이 서로 다른 QTBT 구조로 분할될 수도 있다.Meanwhile, the luma component and the chroma component of the CTU may be divided into the same QTBT structure. However, the present invention is not limited thereto, and the luminance component and the chrominance component may be divided using separate QTBT structures, respectively. For example, in the case of an I (Intra) slice, a luma component and a chroma component may be divided into different QTBT structures.
이하에서는, 부호화 또는 복호화하고자 하는 CU에 해당하는 블록을 '현재 블록'이라 칭한다.Hereinafter, a block corresponding to a CU to be encoded or decoded is called a 'current block'.
예측부(320)는 현재 블록을 예측하여 예측블록을 생성한다. 예측부(320)는 인트라 예측부(322)와 인터 예측부(324)를 포함한다. The
인트라 예측부(322)는 현재 블록이 포함된 현재 픽처 내에서 현재 블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재 블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. 특히, 인트라 예측부(322)는 현재 블록을 부호화하는데 사용할 인트라 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(322)는 여러 인트라 모드들을 사용하여 현재 블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(322)는 여러 테스트된 인트라 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 모드를 선택할 수도 있다. The
도 5는 인트라 예측에 사용 가능한 복수의 인트라 모드들을 예시한 개념도이다. 도 5에서 보는 바와 같이, 복수의 가용한 인트라 모드는 2개의 비방향성 모드(planar 모드 및 DC 모드)와 65개의 방향성 모드를 포함할 수 있다. 이에 더해, 후술하는 바와 같이, 본 개시는 대각선 방향의 에지를 가지는 블록의 인트라 예측에 적합한 추가적인 인트라 모드를 제안한다. 다만, 이러한 방향성 및 비방향성 모드의 개수, 전체 인트라 모드의 개수 등은 예시적인 것이 불과하며, 본 발명의 목적범위 내에서 다양한 조합이 가능함은 물론이다.5 is a conceptual diagram illustrating a plurality of intra modes that can be used for intra prediction. As shown in FIG. 5, the plurality of available intra modes may include two non-directional modes (planar mode and DC mode) and 65 directional modes. In addition, as described below, the present disclosure proposes an additional intra mode suitable for intra prediction of blocks having diagonal edges. However, the number of directional and non-directional modes, the number of all intra modes, etc. are merely exemplary, and various combinations are possible within the scope of the present invention.
인트라 예측부(322)는 복수의 인트라 모드 중에서 하나의 인트라 모드를 선택하고, 선택된 인트라 모드에 따라 결정되는 주변 픽셀(참조 픽셀 혹은 참조 샘플로 지칭될 수 있음)과 연산식을 사용하여 현재 블록을 예측한다. 선택된 인트라 모드에 대한 정보는 부호화부(350)에 의해 부호화되어 영상 복호화 장치로 전달된다.The
한편, 인트라 예측부(322)는, 복수의 인트라 모드 중 어느 모드가 현재 블록의 인트라 모드로 사용되었는지를 지시하는 인트라 모드 정보를 효율적으로 부호화하기 위해, 복수의 인트라 모드 중 현재 블록의 인트라 모드로서 가능성이 높은 일부의 모드를 MPM(most probable mode)으로 결정할 수 있다. 그리고, 현재 블록의 인트라 모드가 MPM 중에서 선택되는지 여부를 지시하는 모드 정보를 생성하여 부호화부(350)로 전달한다. 일반적으로, 현재 블록의 인트라 모드가 MPM 중에서 선택되는 경우, MPM 중 어느 모드가 현재 블록의 인트라 모드로 선택되었는지를 지시하기 위한 제1 인트라 식별정보를 부호화부로 전달한다. 반면 현재 블록의 인트라 모드가 MPM 중에서 선택되지 않은 경우, MPM이 아닌 나머지 모드들 중 어느 모드가 현재 블록의 인트라 모드로 선택되었는지를 지시하기 위한 제2 인트라 식별정보를 부호화부로 전달한다. On the other hand, the
이하에서는, MPM 리스트를 구성하는 방법을 설명한다. 여기서는, 6개의 MPM으로 MPM 리스트를 구성하는 것을 예로 설명하나, 본 발명이 이에 한정되는 것은 아니며 MPM 리스트에 포함되는 MPM의 개수는 3개 내지 10개의 범위 내에서 선택될 수 있다.Hereinafter, a method of constructing the MPM list will be described. Herein, an example of configuring an MPM list with six MPMs is described as an example. However, the present invention is not limited thereto, and the number of MPMs included in the MPM list may be selected within a range of 3 to 10.
먼저, 현재 블록의 주변블록들의 인트라 모드를 이용하여 MPM 리스트를 구성한다. 주변블록은, 예컨대 도 6에 도시된 바와 같이, 현재 블록의 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL) 중에서 전부 또는 일부를 포함할 수 있다. First, the MPM list is constructed using the intra mode of neighboring blocks of the current block. The neighboring block may be, for example, all or some of the left block L, the upper block A, the lower left block BL, the upper right block AR, and the upper left block AL of the current block. It may include.
이 주변블록들의 인트라 모드가 MPM 리스트에 포함된다. 여기서, 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순서로 유효한 블록의 인트라 예측모드가 MPM 리스트에 포함되고, 이 주변블록들의 인트라 모드들에 planar 모드 및 DC 모드를 추가하여 후보를 구성한다. 또는, 좌측블록(L), 상단블록(A), planar 모드, DC 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순으로 유효한 모드가 MPM 리스트에 추가될 수도 있다. 또는, 좌측블록(L), 상단블록(A), planar 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL), DC 모드의 순으로 유효한 모드가 MPM 리스트에 추가될 수도 있다.The intra mode of these neighboring blocks is included in the MPM list. In this case, the intra prediction mode of the valid blocks in the order of the left block (L), the top block (A), the bottom left block (BL), the top right block (AR), and the top left block (AL) is included in the MPM list, A candidate is formed by adding a planar mode and a DC mode to the intra modes of the blocks. Alternatively, valid modes in the order of the left block (L), the top block (A), the planar mode, the DC mode, the bottom left block (BL), the top right block (AR), and the top left block (AL) may be added to the MPM list. have. Alternatively, valid modes in the order of the left block (L), the top block (A), the planar mode, the bottom left block (BL), the top right block (AR), the top left block (AL), and the DC mode may be added to the MPM list. have.
MPM 리스트에는 서로 다른 인트라 모드만이 포함된다. 즉, 중복된 모드(duplicated mode)가 존재하는 경우 그 중 하나의 모드만이 MPM 리스트에 포함된다.The MPM list contains only different intra modes. That is, when a duplicated mode is present, only one of them is included in the MPM list.
만약, 리스트 내의 MPM의 개수가 기결정된 개수(예컨대, 6)보다 작은 경우에는, 리스트 내의 방향성 모드들에 -1 또는 +1을 가산하여 MPM을 유도할 수도 있다. 또한, 리스트 내의 MPM의 개수가 기결정된 개수보다 작은 경우에는, 수직 모드(vertical mode), 수직 모드(horizontal mode), 대각선 모드(diagonal mode) 등의 순서로 부족한 개수만큼의 모드를 MPM 리스트에 추가할 수도 있다.If the number of MPMs in the list is smaller than the predetermined number (eg, 6), the MPM may be derived by adding -1 or +1 to the directional modes in the list. In addition, when the number of MPMs in the list is smaller than the predetermined number, the number of modes that are insufficient in the order of vertical mode, horizontal mode, diagonal mode, etc. are added to the MPM list. You may.
인터 예측부(324)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재 블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재 블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재 블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(350)에 의해 부호화되어 영상 복호화 장치로 전달된다.The
감산기(330)는 현재 블록으로부터 인트라 예측부(322) 또는 인터 예측부(324)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.The
변환부(340)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(340)는 잔차 블록 내의 잔차 신호들을 현재 블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다. The
양자화부(345)는 변환부(340)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(350)로 출력한다.The
부호화부(350)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 또한, 부호화부(350)는 블록 분할과 관련된 CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT 분할 플래그, BT 분할 플래그, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.The
부호화부(350)는 현재 블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보 또는 인터 예측정보를 부호화한다. The
역양자화부(360)는 양자화부(345)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(365)는 역양자화부(360)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.The
가산부(370)는 복원된 잔차블록과 예측부(320)에 의해 생성된 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.The
필터부(380)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(390)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The
도 7은 본 개시의 기술들을 이용될 수 있는 영상 복호화 장치를 도시한 것이다.7 illustrates an image decoding apparatus that may use the techniques of the present disclosure.
영상 복호화 장치는 복호화부(710), 역양자화부(720), 역변환부(730), 예측부(740), 가산기(750), 필터부(760) 및 메모리(770)를 포함한다. 도 2의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image decoding apparatus includes a
복호화부(710)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재 블록을 결정하고, 현재 블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.The
복호화부(710)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조를 이용하여 분할한다. 예컨대, QTBT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT의 분할과 관련된 제2 플래그(BT_split_flag) 및 분할 타입 정보를 추출하여 해당 리프 노드를 BT 구조로 분할한다.The
도 4의 블록 분할 구조를 예로 들면, QTBT 구조의 최상위 레이어의 노드에 대응하는 QT 분할 플래그(QT_split_flag)를 추출한다. 추출된 QT 분할 플래그(QT_split_flag)의 값은 1이므로, 최상위 레이어의 노드는 하위 레이어(QT의 layer 1)의 네 개의 노드로 분할된다. 그리고, layer 1의 첫 번째 노드에 대한 QT 분할 플래그(QT_split_flag)를 추출한다. 추출된 QT 분할 플래그(QT_split_flag) 값은 0이므로, layer 1의 첫 번째 노드는 더 이상 QT 구조로 분할되지 않는다. Taking the block splitting structure of FIG. 4 as an example, the QT splitting flag QT_split_flag corresponding to the node of the highest layer of the QTBT structure is extracted. Since the value of the extracted QT split flag QT_split_flag is 1, the node of the highest layer is divided into four nodes of the lower layer (
QT의 layer 1의 첫 번째 노드는 QT의 리프 노드가 되므로, QT의 layer 1의 첫 번째 노드를 BT의 루트 노드로 하는 BT로 진행한다. BT의 루트 노드, 즉 (layer 0))에 대응하는 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)는 1이므로, BT의 루트 노드는 (layer 1)의 두 개의 노드로 분할된다. BT의 루트 노드가 분할되므로, BT의 루트 노드에 대응하는 블록이 세로로 분할되는지 아니면 가로로 분할되는지 여부를 지시하는 분할 타입 정보를 추출한다. 분할 타입 정보가 1이므로, BT의 루트 노드에 대응하는 블록은 세로로 분할된다. 이후, BT의 루트 노드로부터 분할된 (layer 1)의 첫 번째 노드에 대한 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 1이므로, (layer 1)의 첫 번째 노드의 블록의 분할 타입 정보를 추출한다. (layer 1)의 첫 번째 노드의 블록의 분할 타입 정보가 1이므로 (layer 1)의 첫 번째 노드의 블록은 세로로 분할된다. 이후, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 노드의 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 0이므로, 더 이상 BT에 의해 분할되지 않는다.Since the first node of
가령, BT의 루트 노드로부터 분할된 (layer 1)의 첫 번째 노드에 대한 BT 분할 플래그(BT_split_flag = 1)를 추출하고, 분할 타입 정보 (0)를 추출하면, (layer 1)의 첫 번째 노드의 블록은 가로로 분할된다. 이후, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 노드의 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 1이면, 더 이상 분할 타입 정보를 추출하지 않고, 분할 타입 정보를 자동으로 1로 설정하고, (layer 1)의 두 번째 노드의 블록을 세로로 분할한다.For example, extracting the BT split flag (BT_split_flag = 1) for the first node of (layer 1) partitioned from the root node of BT, and extracting the partition type information (0), the first node of (layer 1) The blocks are divided horizontally. Then, the BT split flag BT_split_flag of the second node of (layer 1) divided from the root node of BT is extracted. If the BT split flag BT_split_flag is 1, the split type information is automatically set to 1 without extracting the split type information anymore, and the block of the second node of (layer 1) is vertically split.
이렇게, 복호화부(710)는 먼저 QT 분할 플래그(QT_split_flag)를 반복적으로(recursively) 추출하여 CTU를 QT 구조로 분할한다. 그리고 QT의 리프 노드에 대해서는 BT 분할 플래그(BT_split_flag)를 추출하고, BT 분할 플래그(BT_split_flag)가 분할을 지시하면 분할 타입 정보를 추출한다. 이러한 방식을 통해 복호화부(710)은 CTU가 도 4의 (a)와 같은 구조로 분할됨을 확인할 수 있다.In this way, the
한편, SPS 또는 PPS에 MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize 등의 정보가 추가로 정의되어 있는 경우에는, 복호화부(710)는 해당 정보를 추출하고 QT 및 BT에 대한 분할 정보를 추출할 때 이 정보를 반영할 수 있다.On the other hand, if information such as MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, etc. is additionally defined in the SPS or PPS, the
예컨대, QT에서 MinQTSize 과 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서 복호화부(710)는 해당 블록의 QT에 관한 분할 정보(QT 분할 플래그)를 비트스트림으로부터 추출하지 않으며(즉, 비트스트림에는 해당 블록의 QT 분할 플래그가 존재하지 않음), 그 값을 자동으로 0으로 설정한다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 복호화부(710)는 QT에서 MaxBTSize보다 큰 크기의 블록을 가지는 리프 노드에 대한 BT 분할 플래그가 추출하지 않으며, BT 분할 플래그를 자동으로 0으로 설정한다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않는다. 따라서, 해당 노드의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서, 복호화부(710)는 MinBTSize와 동일한 크기를 가지는 블록의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다.For example, blocks having the same size as MinQTSize in QT are no longer split. Therefore, the
한편, 복호화부(710)는 트리 구조의 분할을 통해 복호화하고자 하는 현재 블록(현재 블록)을 결정하게 되면, 현재 블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. On the other hand, when the
예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(710)는 현재 블록의 인트라 예측정보(인트라 모드)에 대한 신택스 요소들을 추출한다. 먼저, 복호화부(710)는 현재 블록의 인트라 모드가 MPM 중에서 선택되는지 여부를 지시하는 모드 정보(즉, MPM 플래그)를 추출한다. 또한, 일반적으로, 인트라 모드 부호화 정보가 현재 블록의 인트라 모드가 MPM 중에서 선택됨을 지시하는 경우, MPM 중 어느 모드가 현재 블록의 인트라 모드로 선택되었는지를 지시하기 위한 제1 인트라 식별정보를 추출하고, 인트라 모드 부호화 정보가 현재 블록의 인트라 모드가 MPM 중에서 선택되지 않음을 지시하는 경우, MPM이 아닌 나머지 모드들 중 어느 모드가 현재 블록의 인트라 모드로 선택되었는지를 지시하기 위한 제2 인트라 식별정보를 추출한다. When the prediction type information indicates intra prediction, the
한편, 복호화부(710)는 잔차신호에 대한 정보로서 현재 블록의 양자화된 변환계수들에 대한 정보를 추출한다.Meanwhile, the
역양자화부(720)는 양자화된 변환계수들을 역양자화하고 역변환부(730)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재 블록에 대한 잔차블록을 생성한다.The
예측부(740)는 인트라 예측부(742) 및 인터 예측부(744)를 포함한다. 인트라 예측부(742)는 현재 블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(744)는 현재 블록의 예측 타입인 인트라 예측일 때 활성화된다.The
인트라 예측부(742)는 복호화부(710)로부터 추출된 인트라 모드에 대한 신택스 요소로부터 복수의 인트라 모드 중 현재 블록의 인트라 모드를 결정하고, 인트라 모드에 따라 현재 블록 주변의 참조 픽셀들을 이용하여 현재 블록을 예측한다. The
현재 블록의 인트라 모드를 결정하기 위해, 인트라 예측부(742)는 현재 블록의 주변블록으로부터 기 결정된 개수의 MPM들을 포함하는 MPM 리스트를 구성한다. MPM 리스트를 구성하는 방법은 도 3의 인트라 예측부(322)와 동일하다. To determine the intra mode of the current block, the
일반적으로, 인트라 예측의 모드 정보(즉, MPM 플래그)가 현재 블록의 인트라 모드가 MPM 중에서 선택됨을 지시하는 경우에는, 인트라 예측부(742)는 MPM 리스트 내의 MPM들 중 제1 인트라 식별정보에 의해 지시되는 MPM을 현재 블록의 인트라 모드로 선택한다. 반면, 모드 정보가 현재 블록의 인트라 모드가 MPM으로부터 선택되지 않음을 지시하는 경우, 제2 인트라 식별정보를 이용하여 MPM 리스트 내의 MPM들을 제외한 나머지 인트라 모드들 중에서 현재 블록의 인트라 모드를 결정한다. In general, when the mode information of the intra prediction (ie, the MPM flag) indicates that the intra mode of the current block is selected from the MPMs, the
인터 예측부(744)는 복호화부(710)로부터 추출된 인트라 모드에 대한 신택스 요소를 이용하여 현재 블록의 움직임정보를 결정하고, 결정된 움직임정보를 이용하여 현재 블록을 예측한다.The
가산기(750)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.The
필터부(760)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(390)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The
이하에 개시된 기법들은 인트라 코딩에 관한 것이다. 본 개시의 기법들은 예를 들어, 도 3 및 도 7에 대해 도시되고 기술된 영상 부호화 장치 및 영상 복호화 장치에 의해 수행될 수 있다. 즉, 일 예에서, 도 3에 대해 기술된 인트라 예측 유닛은 영상 데이터의 블록을 부호화하는 동안 인트라 예측을 수행할 때 이하에 설명되는 소정의 기법들을 수행할 수도 있다. 다른 예에서, 도 7에 대해 기술된 인트라 예측 유닛은 비디오 데이터의 블록을 복호화하는 동안 인트라 예측을 수행할 때 아래에 기술된 소정의 기법들을 수행할 수도 있다. The techniques disclosed below relate to intra coding. The techniques of this disclosure may be performed by, for example, the image encoding apparatus and the image decoding apparatus shown and described with respect to FIGS. 3 and 7. That is, in one example, the intra prediction unit described with respect to FIG. 3 may perform certain techniques described below when performing intra prediction while encoding a block of image data. In another example, the intra prediction unit described with respect to FIG. 7 may perform certain techniques described below when performing intra prediction while decoding a block of video data.
도 8은 인트라 예측에서 현재 블록과 참조 샘플들간의 위치 관계를 보인 도면이다. 종래의 일반적인 방향성 모드 및 비방향성 모드들에서는 현재 블록의 좌측 참조 픽셀들(R0,1, R0,2, R0,3, … R0,2N)과 상측 참조 픽셀들(R1,0, R2,0, R3,0, … R2N,0)을 이용하여 현재 블록을 위한 예측 픽셀 값들을 결정한다. 도 9a 및 도 9b는 방향성 인트라 모드에서 현재 블록에 대해 참조 샘플들이 이용되는 방식을 나타낸 개념도이다. 도 9a 및 도 9b에 예시된 바와 같이, 현재 블록의 예측블록은 선택된 인트라 모드의 방향성에 따라 단일하게 생성된다.8 is a diagram illustrating a positional relationship between a current block and reference samples in intra prediction. In conventional general directional mode and non-directional modes, the left reference pixels R 0,1 , R 0,2 , R 0,3 , ... R 0,2N ) and the upper reference pixels R 1,0 , R 2,0 , R 3,0 ... R 2N, 0 ) is used to determine prediction pixel values for the current block. 9A and 9B are conceptual diagrams illustrating how reference samples are used for a current block in directional intra mode. As illustrated in FIGS. 9A and 9B, the predictive block of the current block is generated singularly according to the direction of the selected intra mode.
본 개시는 대각선 모양의 에지(edge) 혹은 대각선 형태로 다른 텍스처(texture)가 존재하는 블록 내에서 유용하게 작용할 수 있는 인트라 예측 기법들에 관한 것이다. 본 개시에서 제안하는 새로운 인트라 모드에서는, 예측하고자 하는 현재 블록이 두 개의 영역으로 나누어져, 각 영역이 개별적으로 도 5에 예시된 방향성 혹은 비방향성 모드에 따라 예측될 수 있다. 본 개시에서 제안된 새로운 인트라 모드는, 이하의 설명에서, "분할 인트라 모드(split intra mode)"로 지칭될 수 있다. The present disclosure is directed to intra prediction techniques that can be useful in blocks with different textures in the form of diagonal edges or diagonal shapes. In the new intra mode proposed in the present disclosure, the current block to be predicted is divided into two regions, and each region can be predicted individually according to the directional or non-directional mode illustrated in FIG. 5. The new intra mode proposed in the present disclosure may be referred to as "split intra mode" in the following description.
분할 인트라 모드에는 두 개의 영역이 블록의 좌상귀와 우하귀를 잇는 대각선에 의해 구분되는 제1 타입("Split_right_down type"으로 지칭됨)과 2개의 영역이 블록의 좌하귀와 우상귀를 잇는 대각선에 의해 구분되는 제2 타입("Split_right_up type"으로 지칭됨)이 존재한다. 도 10a, 도 10b, 도 11a 및 도 11b와 같이, 분할 인트라 모드에서 두 영역은 현재 블록을 가로지르는 대각선에 의해 구분된다. 도 10a 및 도 10b에는 정사각형 블록에 대한 두 가지 타입들이 예시되어 있으며, 도 11a 및 도 11b에는 직사각형 블록에 대한 두 가지 타입들이 예시되어 있다.In split intra mode, a first type (referred to as "Split_right_down type"), in which two areas are separated by a diagonal line connecting the upper and lower right corners of the block, and two areas are divided by a diagonal line connecting the left and right ears of the block. There are two types (referred to as "Split_right_up type"). As shown in Figs. 10A, 10B, 11A and 11B, in the divided intra mode, the two regions are divided by a diagonal line crossing the current block. Two types for square blocks are illustrated in FIGS. 10A and 10B, and two types for rectangular blocks are illustrated in FIGS. 11A and 11B.
도 12a는 Split_right_down 타입의 분할 인트라 모드에서 현재 블록의 두 개의 영역에 대해 사용되는 각각의 참조 픽셀들을 설명하기 위한 도면이다. Split_right_down type에서, 현재 블록의 좌하측 영역은 (도 12a의 (a)에서 빗금 표시된) 좌측 참조 픽셀들(R0,1, R0,2, R0,3, … R0,2N)을 이용하여 예측 픽셀 값들을 결정하고, 우상측 영역은 (도 12a의 (b)에서 빗금 표시된) 상측 참조 픽셀들(R1,0, R2,0, R3,0, … R2N,0)을 이용하여 예측 픽셀 값들을 결정한다. 여기서, R0,0 은 두 영역 모두에 대해 참조 픽셀로 사용될 수도 있고, 사용되지 않을 수도 있다. 12A is a diagram for describing respective reference pixels used for two regions of the current block in the split intra mode of the Split_right_down type. In the Split_right_down type, the lower left region of the current block includes the left reference pixels R 0,1 , R 0,2 , (hatched in (a) of FIG. 12A). R 0,3 , ... R 0,2N ) are used to determine predicted pixel values, and the upper right region includes the upper reference pixels R 1,0 , R 2,0 , (hatched in (b) of FIG. 12A). R 3,0 ... R 2N, 0 ) is used to determine prediction pixel values. Here, R 0,0 may or may not be used as the reference pixel for both regions.
도 12b는 Split_right_up 타입의 분할 인트라 모드에서 현재 블록의 두 개의 영역에 대해 사용되는 각각의 참조 픽셀들을 설명하기 위한 도면이다. Split_right_up type에서, 좌상측 영역은 (도 12b의 (a)에서 빗금 표시된) 해당 블록과 인접한 좌측 및 상측 참조 픽셀들({R0, 0 , R0 , 1 , R0 , 2 , R0 ,3 , … R0,N} 및 {R1, 0 , R2 ,0 , R3,0 , … RN,0})을 이용하여 예측 픽셀 값들을 결정하고, 우하측 영역은 (도 12b의 (b)에서 빗금 표시된) 해당 블록과 인접하지 않은 좌측 및 상측 참조 픽셀들(R0,N+1 , R0, N+ 2 , R0 , N+3 , … R0,2N 및 R N+1, 0 , R N+2, 0 , R N+3,0 , … R2N,0)을 이용하여 예측 픽셀 값들을 결정한다. 여기서, R0,N +1 및 RN+1,0 은 두 영역 모두에 대해 참조 픽셀로 사용될 수도 있고, 사용되지 않을 수도 있다. 혹은 R0,N +1 및 RN+1,0 은 대각선 상의 예측 픽셀값을 생성하는 데에만 사용될 수도 있다. 즉, 대각선 상의 예측 픽셀값들은 R0,N+1 및 RN+1,0 로부터 결정될 수도 있다.12B is a diagram for describing respective reference pixels used for two regions of the current block in the split intra mode of the Split_right_up type. In the Split_right_up type, the upper left region is the left and upper reference pixels ({R 0, 0 , R 0 , 1 , R 0 , 2 , adjacent to the corresponding block (hatched in (a) of FIG. 12B). R 0 , 3 , ... R 0, N } and {R 1, 0 , R 2 , 0 , R 3,0 ... R N, 0 }) to determine the prediction pixel values, and the lower right region is the left and upper reference pixels R 0, N + 1 that are not adjacent to the corresponding block (hatched in (b) of FIG. 12B). , R 0, N + 2 , R 0 , N + 3 , ... R 0,2N and R N + 1, 0 , R N + 2, 0 , R N + 3,0 , ... R 2N, 0 ) is used to determine prediction pixel values. Here, R 0, N +1 and R N + 1,0 may or may not be used as reference pixels for both regions. Alternatively, R 0, N +1 and R N + 1,0 may be used only to generate predicted pixel values on the diagonal. That is, the predicted pixel values on the diagonal may be determined from R 0, N + 1 and R N + 1,0 .
일부 실시예들에서, 분할 인트라 모드에서 두 영역의 예측에 사용될 각각의 모드는 고정되어 있을 수 있다. 즉, 도 5에 예시된 방향성 혹은 비방향성 모드 중에서 선택된 하나 혹은 2개의 모드가 디폴트 모드로서 각 영역에 할당되어 있을 수 있다. 두 영역에 할당된 디폴트 모드들은 동일한 방향성을 가지거나 서로 역방향성을 가질 수 있다. 또한, 두 영역에 할당된 디폴트 모드들은 비방향성 모드인 planar 혹은 DC 모드일 수 있다. 예를 들어, Split_right_down type에서, 현재 블록의 좌하측 영역은 좌측 참조 픽셀들을 이용하여 DC 모드 방식으로 예측 픽셀 값들이 결정되고, 우상측 영역은 상측 참조 픽셀들을 이용하여 DC 모드 방식으로 예측 픽셀 값들이 결정될 수 있다. 다른 일부 실시예들에서, 두 영역에 할당된 디폴트 모드들은 도 13a 및 도 13b에 예시된 방향성을 가질 수 있다.In some embodiments, each mode to be used for prediction of two regions in split intra mode may be fixed. That is, one or two modes selected from the directional or non-directional modes illustrated in FIG. 5 may be assigned to each region as a default mode. The default modes assigned to the two regions may have the same direction or reverse directions. In addition, the default modes allocated to the two regions may be planar or DC mode, which is a non-directional mode. For example, in the Split_right_down type, the lower left region of the current block determines predictive pixel values in a DC mode using left reference pixels, and the upper right region predicts pixel values in a DC mode using upper reference pixels. Can be determined. In some other embodiments, the default modes assigned to the two regions may have the directionality illustrated in FIGS. 13A and 13B.
다른 일부 실시예들에서, 분할 인트라 모드에서 두 영역의 예측에 사용될 각각의 모드는 도 5에 예시된 방향성 혹은 비방향성 모드들 중에서, 압축 효율 등을 고려하여, 영상 부호화 장치에 의해 선택될 수 있다. In some other embodiments, each mode to be used for prediction of the two regions in the split intra mode may be selected by the image encoding apparatus in consideration of compression efficiency, among the directional or non-directional modes illustrated in FIG. 5. .
도 13a, 도 13b, 도 14a, 및 도 14b는 분할 인트라 모드에서 두 영역에 대해, 참조 샘플들이 이용되는 몇몇 예시적인 방식들을 나타낸 개념도이다. 도 13a의 예시에서 두 영역은 서로 역방향으로 예측되고, 도 13b의 예시에서 두 영역에 대한 예측은 서로 동일한 방향성을 가진다. 도 14a 및 도 14b의 예시에서 두 영역에 대한 예측은 서로 상이한 방향성을 가진다. 특히, 도 13b에 예시된 방식이 보이는 예측은 양쪽 방향성을 가진다. 즉, 좌측 참조 픽셀들 (R0,0, R0,1, R0,2, R0, 3, ..., R0 ,2N)은 (대각선의 각도와 동일하면서) 상측으로 향하는 방향으로, 상측 참조 픽셀들 (R1,0, R2,0, R3, 0, ..., R2N,0)은 (대각선의 각도와 동일하면서) 하측으로 향하는 방향으로, 두 개의 참조 픽셀들 값을 이용하여 하나의 예측 픽셀 값이 계산된다. 즉, 현재 블록 내의 각 픽셀은, 현재 블록을 2개의 영역으로 구분하는 대각선과 평행한 직선 상에 위치한 좌측 참조 픽셀과 상측 참조 픽셀 값을 이용하여 예측된다. 다시 말해, 예측 픽셀과 그 픽셀 값을 예측하는 데 사용되는 2개의 참조 픽셀들은, 현재 블록을 2개의 영역으로 구분하는 대각선과 평행한 직선 상에 놓인다. 예컨대, 예측 픽셀 P1,1은 좌측 참조 픽셀(R0,2) 및 상측 참조 픽셀(R2,0)로부터 예측된다. 예측 픽셀 PN,1 (혹은 P1,N)은 좌측 R0,N +1 및 상측 RN+1,0 로부터 예측된다. 또한, PN,N은 좌측 R0,2N 및 상측 R2N,0 로부터 예측된다. 여기서, 두 개의 참조 픽셀들로부터 하나의 예측 픽셀 값을 예측할 때에, 해당 예측 픽셀 위치에서부터 해당 참조 픽셀 위치까지의 거리에 따른 가중치가 참조 픽셀값들에 부여될 수 있다. 예컨대, 예측 픽셀 PN,1의 픽셀 값은 R0,N+1 보다는 RN+1,0 과 가까운 값으로 결정될 수 있다. 13A, 13B, 14A, and 14B are conceptual diagrams illustrating some example ways in which reference samples are used for two regions in split intra mode. In the example of FIG. 13A, the two regions are predicted in opposite directions, and in the example of FIG. 13B, the predictions for the two regions have the same direction. In the example of FIGS. 14A and 14B, the predictions for the two regions have different directions from each other. In particular, the prediction shown by the scheme illustrated in FIG. 13B is bidirectional. That is, the left reference pixels R 0,0 , R 0,1 , R 0,2 , R 0, 3 , ... , R 0 , 2N ) are directed upwards (with the same angle as the diagonal), and the upper reference pixels R 1,0 , R 2,0 , R 3, 0 , ... , R 2N, 0 ) are computed with one reference pixel value using two reference pixels values in the downward direction (same as the angle of the diagonal). That is, each pixel in the current block is predicted using a left reference pixel and an upper reference pixel value located on a straight line parallel to a diagonal line dividing the current block into two regions. In other words, the prediction pixel and the two reference pixels used to predict the pixel value lie on a straight line parallel to the diagonal that divides the current block into two regions. For example, the prediction pixels P 1, 1 is predicted from the left reference pixels (R 0,2) and an upper reference pixel (R 2,0). Predicted pixel P N , 1 (or P 1, N ) is predicted from left R 0, N +1 and top R N + 1,0 . In addition, P N, N is predicted from the left R 0,2N and the upper R 2N, 0 . Here, when predicting one prediction pixel value from two reference pixels, weights according to the distance from the prediction pixel position to the reference pixel position may be given to the reference pixel values. For example, the pixel value of the prediction pixel P N , 1 may be determined to be closer to R N + 1,0 than to R 0, N + 1 .
현재 블록에 대해 분할 인트라 모드가 선택되었음을 시그널링하는 데에는 다음과 같이 네 가지 방법이 고려될 수 있다.The following four methods can be considered for signaling that the split intra mode is selected for the current block.
첫 번째 방법은 split_right_down 및 split_right_up를 각각 새로운 인트라 모드로 취급하여 시그널링하는 것이다. 예를 들어, 기존 n 개의 인트라 모드를 가진 비디오 표준에 상기 두 개의 인트라 모드가 더해진다면, split_right_down은 (n+1) 번 모드로, split_right_up은 (n+2) 번 모드가 될 수 있다. 혹은 그 순서를 서로 바꿀 수 있다. 추가된 두 개의 모드는 기존 다른 모드들과 동일한 방법으로 시그널링 된다. The first method is to treat split_right_down and split_right_up as new intra modes and signal them. For example, if the two intra modes are added to a video standard having n intra modes, split_right_down may be in ( n +1) times and split_right_up may be in ( n +2) times. Or you can reverse the order. The added two modes are signaled in the same way as other existing modes.
두 번째 방법은 split_right_down 및 split_right_up를 하나의 split_intra_mode로 취급하여 시그널링 하는 것이다. 예를 들어, 기존 n 개의 인트라 모드를 가진 비디오 표준에 상기 하나의 인트라 모드가 더해진다면, split_intra_mode는 (n+1) 번 모드가 될 수 있다. 추가된 상기 하나의 모드는 기존 다른 모드들과 동일한 방법으로 시그널링 된다. 여기서, (n+1) 번 모드가 선택이 되면, 1-비트 플래그를 추가로 사용하여, split_right_down 인지 split_right_up 인지를 시그널링 한다.The second method is to treat split_right_down and split_right_up as one split_intra_mode and signal it. For example, if one intra mode is added to a video standard having n intra modes, split_intra_mode may be ( n + 1) times. The added one mode is signaled in the same manner as other existing modes. Here, when the ( n + 1) mode is selected, the 1-bit flag is additionally used to signal whether split_right_down or split_right_up is used.
세 번째 방법은 split_right_down 및 split_right_up를 하나의 split_intra_mode로 취급하여 시그널링 하는 것이다. 예를 들어, 기존 n 개의 intra mode를 가진 비디오 표준에 상기 하나의 인트라 모드가 더해진다면, split_intra_mode는 (n+1) 번 모드가 될 수 있다. 추가된 상기 하나의 모드는 기존 다른 모드들과 동일한 방법으로 시그널링 된다. 여기서, (n+1) 번 모드가 선택이 되면 split_right_down 인지 split_right_up 인지 여부는, 별도의 신택스 요소의 시그널링없이, 영상 복호화 장치에 의해 참조 픽셀들의 값으로부터 유도된다.The third method is to treat split_right_down and split_right_up as one split_intra_mode and signal them. For example, if one intra mode is added to a video standard having n intra modes, split_intra_mode may be ( n + 1) times. The added one mode is signaled in the same manner as other existing modes. In this case, when the ( n + 1) mode is selected, whether split_right_down or split_right_up is derived is derived from values of reference pixels by the image decoding apparatus without signaling of a separate syntax element.
주어진 블록의 분할 인트라 모드의 타입으로 split_right_down이 선택되었다면, 현재 블록의 좌하측 영역이 우하측 영역과는 상이한 텍스처를 가졌을 것인 바, 좌하측에 인접한 참조 픽셀들도 우상측 영역에 인접한 참조 픽셀들과는 상이한 값을 가질 가능성이 높다는 점에 주목하라. 따라서, 영상 복호화 장치는, 다음 수학식 1이 만족하면 split_right_down이 사용된 것으로 추론할 수 있으며, 만족하지 않으면 split_right_up이 선택된 것으로 추론할 수 있다. If split_right_down was selected as the type of split intra mode of a given block, the lower left region of the current block would have a different texture than the lower right region, so that the reference pixels adjacent to the lower left side were also different from the reference pixels adjacent to the upper right region. Note that it is likely to have different values. Accordingly, the apparatus for decoding an image may infer that split_right_down is used if
수학식 1에서, 좌변은, split_right_down이 적용될 때, 좌하측 영역을 위한 좌측 참조 픽셀들(R0,
1 , R0
,
2 , R0
,3 , … R0,2N)의 평균값과 우상측 영역을 위한 상측 참조 픽셀들(R1,0 , R2,0 , R3,0 , … R2N,0)의 평균값 간의 차이를 나타낸다. In
수학식 1에서, 우변은, split_right_up이 적용될 때, 좌상측 영역을 위한 해당 블록과 인접한 좌측 및 상측 참조 픽셀들(R0,
0 , R0
,
1 , R0
,
2 , R0
,3 , … R0,N & R1,
0 , R2
,0 , R3,0 , … RN,0)의 평균값과 우하측 영역을 위한 해당 블록과 인접하지 않은 좌측 및 상측 참조 픽셀들(R0,N
+
1 , R0
, N+
2 , R0
, N+3 , … R0,2N & R N+1,
0 , R N+2,
0 , R N+3,0 , … R2N,0)의 평균값 간의 차이를 나타낸다. In
수학식 1에서는 2N 개의 참조 픽셀들이 모두 고려되고 있으나, 이와 달리, 연산량을 줄이기 위해, 2N 개에서 선택된 N 개의 참조 픽셀들에 대해 유사한 방식이 적용될 수도 있다. 예를 들어 "0, 2, 4, 6, 8, 10 ..." 혹은 "1, 3, 5, 7, 9 ..." 과 같이 한 픽셀 건너 하나씩 선택된 참조 픽셀들이에 대해 유사한 방식이 적용될 수도 있다.Although 2N reference pixels are all considered in
네 번째 방법은 split_right_down 혹은 split_right_up 중 하나를 기존의 인트라 모드로 대체하는 것이다. 가령, 기존의 DC 모드를 대체하여 split_right_up을 사용할 수 있다. 이때, split_right_up은 비방향성 모드 중 하나(diagonal planar)가 될 수 있다. 결과적으로, 인트라 모드는 기존의 (vertical/horizontal) planar 모드 및 diagonal planar 모드를 포함한 2개의 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 도 3 내지 도 7을 참조하여 설명한 MPM 설정 과정을 포함한 모든 부/복호화 과정에서 diagonal planar 모드가 DC 모드를 대체할 수 있다.The fourth way is to replace either split_right_down or split_right_up with the existing intra mode. For example, split_right_up can be used instead of the existing DC mode. In this case, split_right_up may be one of a non-directional mode (diagonal planar). As a result, the intra mode may include two non-directional modes and 65 directional modes including the conventional (vertical / horizontal) planar mode and the diagonal planar mode. The diagonal planar mode may replace the DC mode in every encoding / decoding process including the MPM setting process described with reference to FIGS. 3 to 7.
분할 인트라 모드에서, 현재 블록의 두 영역에 대한 모드가 방향성 및 비방향성 모드들을 포함한 복수의 인트라 모드들 중에서 영상 부호화 장치에 의해 선택되는 경우에, 두 영역에 적용된 각 모드에 대해 추가적으로 시그널링이 필요하다. 반면, 분할 인트라 모드에 대한 두 영역에 대해 디폴트 모드가 할당되어 있는 경우에, 현재 블록에 분할 인트라 모드가 적용되는지 여부에 대한 정보만이 시그널링되면 족하다.In the split intra mode, when a mode for two regions of the current block is selected by the image encoding apparatus from among a plurality of intra modes including directional and non-directional modes, additional signaling is required for each mode applied to the two regions. . On the other hand, when the default mode is allocated to two regions for the split intra mode, only information on whether the split intra mode is applied to the current block is sufficient.
한편, 분할 인트라 모드에서 예측 픽셀 값들을 생성할 때, 두 영역을 구분 짓는 대각선 상에 놓인 예측 픽셀 값들은 어느 한쪽 영역의 참조 샘플들을 이용하여 결정될 수 있다. 즉, 대각선 상의 픽셀들은 어느 한쪽 영역에 포함되어 해당 영역의 다른 픽셀들과 동일한 모드로 예측될 수 있다. 대안적으로, 대각선 상의 픽셀들은 두 영역의 참조 샘플들 모두를 이용하여 결정될 수 있다. On the other hand, when generating the prediction pixel values in the split intra mode, prediction pixel values placed on a diagonal line separating two regions may be determined using reference samples of either region. That is, the pixels on the diagonal may be included in either area and may be predicted in the same mode as the other pixels in the area. Alternatively, pixels on the diagonal can be determined using both reference samples in both regions.
도 15a 내지 도 15c은 split_right_down 타입의 분할 인트라 모드에서 대각선 상의 예측 픽셀 값들을 결정하는 방식을 보인 개념도이다. 도 15a는 우상측 영역에 대한 참조 샘플들을 이용하여 대각선 상의 예측 픽셀 값들이 결정되는 방식의 예시이며, 도 15b는 좌하측 영역에 대한 참조 샘플들을 이용하여 대각선 상의 예측 픽셀 값들이 결정되는 방식의 예시이며, 도 15c는 우상측 영역에 대한 참조 샘플들과 좌하측 영역에 대한 참조 샘플들 모두를 이용하여 대각선 상의 예측 픽셀 값들이 결정되는 방식의 예시이다. 15A to 15C are conceptual views illustrating a method of determining prediction pixel values on a diagonal line in a split intra mode of the split_right_down type. FIG. 15A is an example of how predictive pixel values on a diagonal line are determined using reference samples for the upper right region, and FIG. 15B is an example of how predictive pixel values on diagonal line are determined using reference samples for the lower left region. 15C is an example of how the prediction pixel values on the diagonal line are determined using both reference samples for the upper right region and reference samples for the lower left region.
전술한 바와 같이, 분할 인트라 모드는 삼각형 모양의 면들로 구성된 투영 포맷들이 사용될 수 있는 360 영상의 인트라 예측에 특히 유용할 수 있다. 360 영상이 Icosahedral projection (ISP) 및 Octahedron projection (OHP)에 기반하여 2차원 이미지로 변환된 경우에, 대각선 상의 오리지널 픽셀값들이 좌상측 영역 값으로 채워졌다면, 대각선 상의 예측 픽셀들도 좌상측 참조 샘플값을 이용하여 채워져야 하고, 대각선 상의 오리지널 픽셀값들이 우하측 영역 값으로 채워졌다면, 예측 픽셀들도 우하측 참조 샘플값들을 이용하여 채워져야 한다. 대각선 상의 오리지널 픽셀값들에 대한 정보를 알 수 없다면, 예측 픽셀들은 좌상측 및 우하측 참조 샘플값들을 이용하여 채워질 수 있다. 혹은 영상 부호화 장치 및 영상 복호화 장치가 동일하게 미리 정해진 영역의 참조 샘플들을 이용하여 대각선 상의 예측 픽셀값들을 생성할 수 있다. 다른 대안으로, 영상 부호화 장치는 특정 (좌상측 혹은 우하측) 영역의 참조 샘플들을 이용하여 대각선 상의 예측 픽셀값들을 생성한 후, 이에 대한 정보를 명시적으로 시그널링할 수도 있다.As described above, segmented intra mode may be particularly useful for intra prediction of 360 images in which projection formats consisting of triangular faces may be used. When a 360 image is converted to a two-dimensional image based on Icosahedral projection (ISP) and Octahedron projection (OHP), if the original pixel values on the diagonal are filled with the upper left region value, the predicted pixels on the diagonal are also the upper left reference sample. Value should be filled in, and if the original pixel values on the diagonal were filled with the lower right region value, the prediction pixels should also be filled using the lower right reference sample values. If the information about the original pixel values on the diagonal is unknown, the prediction pixels can be filled using the upper left and lower right reference sample values. Alternatively, the image encoding apparatus and the image decoding apparatus may generate prediction pixel values on a diagonal line using reference samples of a predetermined region. Alternatively, the apparatus for encoding an image may generate prediction pixel values on a diagonal line using reference samples of a specific (upper left or lower right) region and then explicitly signal information about the diagonal.
한편, 분할 인트라 모드는 분할 인트라 모드의 활성/비활성을 나타내는 플래그에 의해 활성화/비활성화될 수 있다. 또한, 분할 인트라 모드는 360 비디오를 나타내는 플래그에 의해 활성화/비활성화될 수 있다. 또한, 분할 인트라 모드는 360 비디오의 2차원 표현에 사용된 투영 포맷을 정의하는 신택스 엘리먼트에 의해 활성화/비활성화될 수 있다. 이와 같이, 분할 인트라 모드는, 필요에 따라, 복수의 가용한 인트라 모드에 포함되거나 포함되지 않을 수 있다. Meanwhile, the split intra mode may be activated / deactivated by a flag indicating activation / deactivation of the split intra mode. In addition, the split intra mode may be activated / deactivated by a flag indicating 360 video. In addition, the split intra mode may be activated / deactivated by a syntax element that defines the projection format used for the two-dimensional representation of 360 video. As such, split intra mode may or may not be included in the plurality of available intra modes, as desired.
도 16은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 부호화하는 예시적인 방법을 도시한 흐름도이다. 16 is a flowchart illustrating an example method for encoding image data in accordance with one or more examples described above of the present invention.
영상 부호화 장치는, 복수의 가용한 인트라 모드 중에서, 영상 데이터의 현재 블록을 예측하기 위한 인트라 모드를 결정한다(S1610). 여기서 복수의 가용한 인트라 모드는 복수의 방향성 모드, 복수의 비방향성 모드, 및 적어도 하나의 분할 인트라 모드를 포함한다. 분할 인트라 모드에서, 현재 블록을 위한 예측 블록은 현재 블록을 대각선으로 분할하여 구분된 2개의 영역(즉, 제1영역 및 제2영역) 각각에 대해 개별적으로 예측된다. 각 영역에 대한 예측에는 복수의 방향성 모드 및 복수의 비방향성 모드 중 하나가 적용된다. 하나의 방향성 혹은 비방향성 모드가 2개의 영역에 공통적으로 적용될 수도 있고, 제1영역에 적용되는 모드와는 상이한 모드가 제2영역에 적용될 수도 있다. 제1영역에 적용되는 모드와 제2영역에 적용되는 모드는 복수의 방향성 혹은 비방향성 모드 중에서 미리 정해져 있을 수 있다. 분할 인트라 모드의 각 영역에는 복수의 방향성 혹은 비방향성 모드 중에서 선택된 하나 혹은 2개의 모드가 디폴트 모드로서 할당되어 있을 수 있다. 두 영역에 할당된 디폴트 모드들은 동일한 방향성을 가지거나 서로 역방향성을 가지거나 혹은 동시에 양쪽 방향성을 가질 수 있다. 또한, 두 영역에 할당된 디폴트 모드들은 비방향성 모드인 planar 혹은 DC 모드일 수 있다. 다른 일부 실시예들에서, 분할 인트라 모드에서 두 영역의 예측에 사용될 각각의 모드는 도 5에 예시된 방향성 혹은 비방향성 모드들 중에서, 압축 효율 등을 고려하여, 영상 부호화 장치에 의해 선택될 수 있다. The video encoding apparatus determines an intra mode for predicting a current block of video data among a plurality of available intra modes (S1610). Wherein the plurality of available intra modes includes a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode. In the split intra mode, the prediction block for the current block is predicted separately for each of the two regions (ie, the first region and the second region) divided by dividing the current block diagonally. One of a plurality of directional modes and a plurality of non-directional modes is applied to the prediction for each region. One directional or non-directional mode may be commonly applied to the two regions, and a mode different from the mode applied to the first region may be applied to the second region. The mode applied to the first region and the mode applied to the second region may be predetermined among a plurality of directional or non-directional modes. Each region of the split intra mode may be assigned one or two modes selected from a plurality of directional or non-directional modes as a default mode. Default modes assigned to the two regions may have the same directionality, reverse direction to each other, or both directions at the same time. In addition, the default modes allocated to the two regions may be planar or DC mode, which is a non-directional mode. In some other embodiments, each mode to be used for prediction of the two regions in the split intra mode may be selected by the image encoding apparatus in consideration of compression efficiency, among the directional or non-directional modes illustrated in FIG. 5. .
일부 실시예에서, 복수의 가용한 인트라 모드에는 2개의 분할 인트라 모드, 즉, 2개의 영역이 현재 블록의 좌상귀와 우하귀를 잇는 대각선에 의해 구분되는 제1 분할 인트라 모드와, 2개의 영역이 현재 블록의 좌하귀와 우상귀를 잇는 대각선에 의해 구분되는 제2 분할 인트라 모드가 존재할 수 있다.In some embodiments, the plurality of available intra modes include two split intra modes, a first split intra mode in which two areas are separated by a diagonal line connecting the upper and lower right corners of the current block, and the two areas are current blocks. There may be a second split intra mode separated by a diagonal line connecting the lower left and upper right ears of.
다른 일부 예시에서, 복수의 가용한 인트라 모드에는 하나의 분할 인트라 모드가 존재할 수 있다. 상기 하나의 분할 인트라 모드는 2개의 영역이 현재 블록의 좌상귀와 우하귀를 잇는 대각선에 의해 구분되는 제1 타입과 상기 2개의 영역이 상기 현재 블록의 좌하귀와 우상귀를 잇는 대각선에 의해 구분되는 제2 타입이 존재할 수 있다.In some other examples, there may be one split intra mode in the plurality of available intra modes. The one split intra mode is a first type in which two areas are divided by a diagonal line connecting the upper left and the right lower end of the current block, and a second type in which the two areas are separated by a diagonal connecting the left and right ears of the current block. This may exist.
다음으로, 영상 부호화 장치는 현재 블록의 결정된 인트라 모드를 기초로, 현재 블록을 위한 예측 블록을 결정한다(S1620). 분할 인트라 모드들에서, 제1영역에 대한 예측 픽셀들을 결정하는 데 사용되는 참조 픽셀들의 적어도 일부는 제2영역에 대한 예측 픽셀들을 결정하는 데 사용되는 참조 픽셀들과 상이하다.Next, the image encoding apparatus determines a prediction block for the current block based on the determined intra mode of the current block (S1620). In split intra modes, at least some of the reference pixels used to determine the prediction pixels for the first region are different from the reference pixels used to determine the prediction pixels for the second region.
예컨대, 제1 분할 인트라 모드가 현재 블록의 인트라 모드로 결정된 경우에, 현재 블록의 2개의 영역 중에서, 제1영역(좌하측 영역)을 위한 예측 픽셀들을 결정하는 데 사용되는 참조 샘플들의 적어도 일부는 현재 블록의 좌측 블록(L) 및 좌하단 블록(BL) 상에서 선택되며, 제2영역(우상측 영역)을 위한 예측 픽셀들을 결정하는 데 사용되는 참조 샘플들의 적어도 일부는 현재 블록의 상단 블록(A) 및 우상단 블록(AR) 상에서 선택된다. For example, when the first split intra mode is determined to be the intra mode of the current block, among the two areas of the current block, at least some of the reference samples used to determine the prediction pixels for the first area (the lower left area) are At least some of the reference samples selected on the left block L and the bottom left block BL of the current block, and used to determine the prediction pixels for the second region (the top right region) are the top block A of the current block. ) And the upper right block (AR).
또한, 제2 분할 인트라 모드가 현재 블록의 인트라 모드로 결정된 경우에, 상기 2개의 영역 중 제1영역(좌상측 영역)을 위한 예측 픽셀들을 결정하는 데 사용되는 참조 샘플들의 적어도 일부는 상기 현재 블록의 좌측 블록(L) 및 상단 블록(A) 상에서 선택되며, 제2영역(우하측 영역)을 위한 예측 픽셀들을 결정하는 데 사용되는 참조 샘플들의 적어도 일부는 상기 현재 블록의 좌하단 블록(BL) 및 우상단 블록(AR) 상에서 선택된다.Further, when the second split intra mode is determined to be the intra mode of the current block, at least some of the reference samples used to determine the prediction pixels for the first of the two regions (the upper left region) are the current block. At least some of the reference samples selected on the left block (L) and the top block (A) of and used to determine the prediction pixels for the second region (lower region) are the lower left block BL of the current block. And the upper right block AR.
영상 부호화 장치는 현재 블록 및 예측 블록에 기초하여 잔차 블록을 결정한다(S1630). 영상 부호화 장치는 현재 블록의 인트라 모드 및 잔차 블록을 정의하는 신택스 엘리먼트들을 부호화한다(S1640). 분할 인트라 모드가 현재 블록의 인트라 모드로 결정된 경우에, 영상 부호화 장치는 두 영역 각각에 적용되는 복수의 방향성 모드 및 복수의 비방향성 모드 중 하나를 정의하는 신택스 엘리먼트들을 추가로 부호화할 수 있다.The image encoding apparatus determines a residual block based on the current block and the prediction block (S1630). The image encoding apparatus encodes syntax elements that define an intra mode and a residual block of the current block (S1640). When the split intra mode is determined as the intra mode of the current block, the image encoding apparatus may further encode syntax elements that define one of a plurality of directional modes and a plurality of non-directional modes applied to each of the two regions.
도 17은 본 발명의 전술한 하나 이상의 예시들에 따라 영상 데이터를 복호화하는 예시적인 방법을 도시한 흐름도이다. 17 is a flow chart illustrating an exemplary method of decoding image data in accordance with one or more examples described above of the present invention.
영상 복호화 장치는 부호화된 비트스트림으로부터 영상 데이터의 현재 블록을 위한 인트라 모드 및 잔차 블록을 정의하는 신택스 엘리먼트들을 복호화한다(S1710).The image decoding apparatus decodes syntax elements that define an intra mode and a residual block for the current block of image data from the encoded bitstream (S1710).
다음으로, 영상 복호화 장치는, 복호화된 신택스 엘리먼트들에 기초하여, 복수의 가용한 인트라 모드 중에서, 영상 데이터의 현재 블록을 예측하기 위한 인트라 모드를 결정한다(S1720). 여기서 복수의 가용한 인트라 모드는 복수의 방향성 모드, 복수의 비방향성 모드, 및 적어도 하나의 분할 인트라 모드를 포함한다. 분할 인트라 모드가 현재 블록의 인트라 모드로 결정된 경우에, 영상 복호화 장치는 부호화된 비트스트림으로부터 두 영역 각각에 적용되는 복수의 방향성 모드 및 복수의 비방향성 모드 중 하나를 정의하는 신택스 엘리먼트들을 추가로 복호화할 수 있다.Next, the image decoding apparatus determines an intra mode for predicting a current block of image data, from among a plurality of available intra modes, based on the decoded syntax elements (S1720). Wherein the plurality of available intra modes includes a plurality of directional modes, a plurality of non-directional modes, and at least one split intra mode. When the split intra mode is determined as the intra mode of the current block, the image decoding apparatus further decodes syntax elements defining one of a plurality of directional modes and a plurality of non-directional modes applied to each of two regions from the encoded bitstream. can do.
다음으로, 영상 복호화 장치는 현재 블록의 결정된 인트라 모드를 기초로, 현재 블록을 위한 예측 블록을 결정한다(S1730).Next, the image decoding apparatus determines a prediction block for the current block based on the determined intra mode of the current block (S1730).
다음으로, 영상 복호화 장치는 결정된 예측 블록과 잔차 블록에 기초하여 현재 블록을 재구성한다(S1740).Next, the image decoding apparatus reconstructs the current block based on the determined prediction block and the residual block (S1740).
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those skilled in the art to which the present embodiment belongs may make various modifications and changes without departing from the essential characteristics of the present embodiment. Therefore, the present embodiments are not intended to limit the technical idea of the present embodiment but to describe the present invention, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.
CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2017년 01월 09일 한국에 출원한 특허출원번호 제10-2017-0003158호, 및 2018년 01월 08일 한국에 출원한 특허출원번호 제10-2018-0002063호에 대해 우선권을 주장한다.This patent application is incorporated by reference in Korean Patent Application No. 10-2017-0003158 filed on Jan. 09, 2017, and Jan. 08, 2018, which is incorporated by reference in its entirety. Claim priority on No. 10-2018-0002063.
Claims (12)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201880005740.0A CN110169060B (en) | 2017-01-09 | 2018-01-09 | Apparatus and method for encoding or decoding images |
| US16/476,847 US10904522B2 (en) | 2017-01-09 | 2018-01-09 | Apparatus and method for video encoding or decoding using intra-predicting diagonal edges |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20170003158 | 2017-01-09 | ||
| KR10-2017-0003158 | 2017-01-09 | ||
| KR10-2018-0002063 | 2018-01-08 | ||
| KR1020180002063A KR102528387B1 (en) | 2017-01-09 | 2018-01-08 | Apparatus and Method for Video Encoding or Decoding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018128511A1 true WO2018128511A1 (en) | 2018-07-12 |
Family
ID=62790981
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2018/000380 Ceased WO2018128511A1 (en) | 2017-01-09 | 2018-01-09 | Device and method for encoding or decoding image |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018128511A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2577056A (en) * | 2018-09-11 | 2020-03-18 | British Broadcasting Corp | Bitstream decoder |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100571814B1 (en) * | 2002-09-30 | 2006-04-17 | 삼성전자주식회사 | Image coding method and apparatus using spatial predictive coding of chrominance |
| KR20130005233A (en) * | 2011-07-05 | 2013-01-15 | 한국전자통신연구원 | Encoding and decoding methods for video information |
| KR101292093B1 (en) * | 2010-07-02 | 2013-08-08 | (주)휴맥스 | Apparatuses and methods for encoding/decoding of video for intra prediction |
| KR20140005257A (en) * | 2011-01-21 | 2014-01-14 | 톰슨 라이센싱 | Methods and apparatus for geometric-based intra prediction |
| KR101629475B1 (en) * | 2009-09-23 | 2016-06-22 | 삼성전자주식회사 | Device and method for coding of depth image using geometry based block partitioning intra prediction |
-
2018
- 2018-01-09 WO PCT/KR2018/000380 patent/WO2018128511A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100571814B1 (en) * | 2002-09-30 | 2006-04-17 | 삼성전자주식회사 | Image coding method and apparatus using spatial predictive coding of chrominance |
| KR101629475B1 (en) * | 2009-09-23 | 2016-06-22 | 삼성전자주식회사 | Device and method for coding of depth image using geometry based block partitioning intra prediction |
| KR101292093B1 (en) * | 2010-07-02 | 2013-08-08 | (주)휴맥스 | Apparatuses and methods for encoding/decoding of video for intra prediction |
| KR20140005257A (en) * | 2011-01-21 | 2014-01-14 | 톰슨 라이센싱 | Methods and apparatus for geometric-based intra prediction |
| KR20130005233A (en) * | 2011-07-05 | 2013-01-15 | 한국전자통신연구원 | Encoding and decoding methods for video information |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2577056A (en) * | 2018-09-11 | 2020-03-18 | British Broadcasting Corp | Bitstream decoder |
| GB2577056B (en) * | 2018-09-11 | 2022-12-14 | British Broadcasting Corp | Bitstream decoder |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7197728B2 (en) | Video coding using transform indices | |
| US20190260990A1 (en) | Apparatus and method for video encoding or decoding | |
| CN110169060B (en) | Apparatus and method for encoding or decoding images | |
| KR20240151687A (en) | Method and Apparatus for Video Encoding or Decoding | |
| JP7379656B2 (en) | Video signal processing method and device | |
| WO2018128466A1 (en) | Device and method for encoding or decoding image | |
| WO2019194500A1 (en) | Intra-prediction-based image coding method and device therefor | |
| WO2019135628A1 (en) | Method and device for encoding or decoding image | |
| WO2019198997A1 (en) | Intra-prediction-based image coding method and apparatus thereof | |
| WO2019059721A1 (en) | Image encoding and decoding using resolution enhancement technique | |
| CN113016180A (en) | Virtual pipeline for video encoding and decoding | |
| WO2020251260A1 (en) | Video signal processing method and device using block dpcm prediction method | |
| CN113875256A (en) | Method and apparatus for video coding and decoding | |
| WO2019240425A1 (en) | Inter-prediction method and image decoding device | |
| JP7506176B2 (en) | Method and computer program for processing video information | |
| WO2014073877A1 (en) | Method and apparatus for processing multiview video signal | |
| WO2019135636A1 (en) | Image coding/decoding method and apparatus using correlation in ycbcr | |
| CN113892262B (en) | Intra mode candidate configuration method and video decoding apparatus | |
| WO2018169267A1 (en) | Device and method for encoding or decoding image | |
| WO2018124686A1 (en) | Image encoding and decoding using intra prediction | |
| WO2018212582A1 (en) | Intra prediction encoding or decoding method and device | |
| WO2022114742A1 (en) | Apparatus and method for video encoding and decoding | |
| WO2018128511A1 (en) | Device and method for encoding or decoding image | |
| WO2016056755A1 (en) | Method and device for encoding/decoding 3d video | |
| WO2022030980A1 (en) | Method and apparatus for patch book-based encoding and decoding of video data |
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: 18736454 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18736454 Country of ref document: EP Kind code of ref document: A1 |