WO2019045498A1 - 인트라 예측을 이용한 영상의 부호화 및 복호화 - Google Patents

인트라 예측을 이용한 영상의 부호화 및 복호화 Download PDF

Info

Publication number
WO2019045498A1
WO2019045498A1 PCT/KR2018/010085 KR2018010085W WO2019045498A1 WO 2019045498 A1 WO2019045498 A1 WO 2019045498A1 KR 2018010085 W KR2018010085 W KR 2018010085W WO 2019045498 A1 WO2019045498 A1 WO 2019045498A1
Authority
WO
WIPO (PCT)
Prior art keywords
intra prediction
block
mode
current block
prediction mode
Prior art date
Application number
PCT/KR2018/010085
Other languages
English (en)
French (fr)
Inventor
임정연
이선영
신재섭
이경택
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180001598A external-priority patent/KR102489081B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2019045498A1 publication Critical patent/WO2019045498A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to encoding or decoding of an image using intra prediction. More particularly, the present invention relates to a method and apparatus for encoding or decoding an intra prediction mode used for predicting a current block in intra prediction.
  • the image encoding apparatus selects one final mode for a current block to be encoded in a plurality of intra prediction modes, and transmits information on the mode to the image decoding apparatus.
  • the most probable mode is used to efficiently express the selected intra mode.
  • FIG. 1 is a diagram showing intra modes available for intraprediction in HEVC.
  • the HEVC there are a total of 35 intra modes including 33 angular modes having directionality and two non-directional modes as shown in FIG.
  • three MPMs for the block are selected using the neighboring blocks of the block and the statistically most frequently used modes.
  • a 1 bit MPM flag indicating whether the final mode of the block is the same as the MPM is transmitted, and if the final mode is MPM, the MPM index value is further transmitted. If the final mode is not MPM, it will explicitly transmit which of the remaining modes.
  • the prediction efficiency can be increased.
  • increasing the MPM may lower the compression efficiency.
  • An object of the present invention is to efficiently signal an intra prediction mode for predicting a current block in intra prediction coding.
  • a method of encoding an intra prediction mode of a current block comprising: determining intra prediction modes of a first group using intra prediction modes of neighboring blocks of the current block; Encoding a first flag indicating whether an intra prediction mode of a current block belongs to the first group; Encoding first index information for indicating an intra prediction mode of the current block in the first group when the intra prediction mode of the current block belongs to the first group; When the intra prediction mode of the current block does not belong to the first group, determines a second group composed of intra prediction modes having a predefined mode number or intra prediction modes derived from a directional mode in the first group Encoding a second flag indicating whether the intra prediction mode of the current block belongs to the second group; Encoding second index information for indicating an intra prediction mode of the current block in the second group when the intra prediction mode of the current block belongs to the second group; And a third group including intra prediction modes other than the intra prediction modes belonging to the first group and
  • a method of encoding an intra prediction mode of a current block comprising: generating a candidate group including a part of all intra prediction modes; And encoding index information for indicating an intra prediction mode of the current block among the intra prediction modes belonging to the candidate group, And an index value is assigned to the prediction modes.
  • a method of decoding an intra prediction mode of a current block comprising: decoding index information for identifying an intra prediction mode of the current block from a bitstream; Generating a candidate group including a part of all intra prediction modes; And determining, as an intra prediction mode of the current block, an intra prediction mode indicated by the index information among intra prediction modes belonging to the candidate group, based on a block shape of the current block, And an index value is assigned to the intra prediction modes belonging to the candidate group.
  • Figure 1 shows intra modes available for intra prediction in HEVC
  • FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an example of a plurality of intra prediction modes according to an embodiment of the present invention
  • FIG. 5 is a flowchart for encoding an intra prediction mode of a current block according to an embodiment of the present invention
  • FIG. 6 is an exemplary diagram showing neighboring blocks of a current block used to generate an MPM group
  • FIG. 7 is another example showing a peripheral block of a current block used for creating an MPM group
  • FIG. 8 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a process of decoding a syntax element for an intra prediction mode of a current block according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a process of determining an intra prediction mode of a current block according to an embodiment of the present invention.
  • FIG. 11 is an exemplary diagram showing a QTBT divided structure of a luminance block and a color difference block.
  • FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus includes a block division unit 210, a prediction unit 220, a subtractor 230, a transform unit 240, a quantization unit 245, an encoding unit 250, an inverse quantization unit 260, 265, an adder 270, a filter unit 280, and a memory 290.
  • Each component of the image encoding apparatus may be embodied as a hardware chip, or may be embodied as software, and the microprocessor may be implemented to execute the function of the software corresponding to each component.
  • the block division unit 210 divides each picture constituting an image into a plurality of CTUs (Coding Tree Units), and then recursively divides the CTUs using a tree structure.
  • a leaf node in a tree structure becomes a coding unit (CU) which is a basic unit of coding.
  • CU coding unit
  • a quad tree (QuadTree, QT) in which an upper node divides into four subnodes
  • a QTBT QuadTBT
  • BT binary tree plus BinaryTree
  • a CTU is first divided into a QT structure. Thereafter, the leaf nodes of the QT may be further subdivided by BT.
  • the division information generated by the block division unit 210 by dividing the CTU by the QTBT structure is encoded by the encoding unit 250 and transmitted to the image decoding apparatus.
  • a first flag (QT split flag, QT_split_flag) indicating whether or not the block of the corresponding node is divided is coded. 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 0, the node is not further divided by QT.
  • a second flag (BT division flag, BT_split_flag) indicating whether or not the block of the node is divided is coded.
  • BT there may be a plurality of split types. For example, there may be two types of a block in which a block of the node is horizontally divided into two blocks of the same size and a vertically-divided block. Alternatively, there may be additional types of dividing the block of the node into two blocks of an asymmetric type. In the asymmetric form, the block of the node may be divided into two rectangular blocks having a size ratio of 1: 3, or the block of the corresponding node may be divided into diagonal directions.
  • the second flag indicating that the block is segmented is coded
  • the segmentation type information indicating the segmentation type of the block is further encoded.
  • FIG. 3 is an exemplary diagram of block partitioning using a QTBT structure.
  • FIG. 3A is an example in which a block is divided by a QTBT structure
  • FIG. 3B is a tree structure.
  • the solid line represents the division by the QT structure
  • the dotted line represents the division by the BT structure.
  • the absence of parentheses indicates a layer of QT
  • the presence of parentheses indicates a layer of BT.
  • the numbers represent the division type information.
  • the block corresponding to the first node of layer 1 of QT proceeds to BT.
  • BT exists in two types: a type in which a block of the node is horizontally divided into two blocks of the same size, and a type in which the BT is divided vertically.
  • BT_split_flag indicating that the block is divided by BT.
  • BT_split_flag 1 and the partition type information 1 are generated because the first block of the block (layer 1) divided from the root node is further divided and the partition type is vertical.
  • BT_split_flag 0 is generated because the second block (layer 1) from the root node of BT is no longer divided.
  • the following information can be further encoded.
  • These pieces of information are encoded as header information of an image, and can be encoded into, for example, an SPS (Sequence Parameter Set) or a PPS (Picture Parameter Set).
  • MinBTSize Minimum block size of leaf nodes allowed in BT
  • a block having the same size as that of MinQTSize in QT is no longer divided, and thus segmentation information (first flag) related to the QT corresponding to the block is not encoded.
  • segmentation information (second flag, segmentation type information) regarding BT corresponding to the block is not encoded.
  • the depth of the corresponding node of BT reaches MaxBTDepth, the block of the corresponding node is no longer divided and the division information (second flag, division type information) about the BT of the node is also not coded.
  • the block having the same size as MinBTSize in BT is no longer divided, and the segmentation information (second flag, segmentation type information) about BT is also not encoded.
  • segmentation information second flag, segmentation type information
  • SPS sequence parameter set
  • PPS picture parameter set
  • a block corresponding to a CU to be encoded or decoded is referred to as a 'current block'.
  • the prediction unit 220 generates a prediction block by predicting the current block.
  • the prediction unit 220 includes an intra prediction unit 222 and an inter prediction unit 224.
  • the intraprediction unit 222 predicts pixels in the current block using pixels (reference pixels) located 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 neighboring pixels to be used and the calculation formula are defined differently according to each prediction mode. In particular, the intra prediction unit 222 may determine an intra prediction mode to be used for coding the current block. In some examples, the intra-prediction unit 222 may encode the current block using a plurality of intra-prediction modes and may select an appropriate intra-prediction mode to use from the tested modes. For example, the intra-prediction unit 222 may calculate rate-distortion values using a rate-distortion analysis for various tested intra-prediction modes, and may employ rate- The intra prediction mode may be selected.
  • FIG. 4 illustrates an example of a plurality of intra prediction modes according to an embodiment of the present invention.
  • the plurality of intra prediction modes may include two non-directional modes (planar mode and DC mode) and 65 directional modes.
  • the intra prediction unit 222 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block using neighboring pixels (reference pixels) determined by the selected intra prediction mode and an equation.
  • the information on the selected intra prediction mode is encoded by the encoding unit 250 and transmitted to the image decoding apparatus. A method for efficiently encoding information on an intra prediction mode of a current block will be described later with reference to FIGS.
  • the inter prediction unit 224 searches for a block most similar to the current block in the reference picture coded and decoded earlier than the current picture, and generates a prediction block for the current block using the searched block. Then, a motion vector corresponding to the 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 on the reference picture used for predicting the current block and the information on the motion vector is encoded by the encoding unit 250 and transmitted to the video decoding apparatus.
  • the subtracter 230 subtracts the prediction block generated by the intra prediction unit 222 or the inter prediction unit 224 from the current block to generate a residual block.
  • the transform unit 240 transforms the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain.
  • the transform unit 240 may transform the residual signals in the residual block using the size of the current block as a transform unit or divide the residual block into a plurality of smaller subblocks and transform residual signals into subblock- Conversion. There are various ways of dividing the residual block into smaller sub-blocks. For example, it may be divided into sub blocks of the same size that have been set, or a QT (quadtree) type partition using a residual block as a root node.
  • QT quadtree
  • the quantization unit 245 quantizes the transform coefficients output from the transform unit 240 and outputs the quantized transform coefficients to the encoding unit 250.
  • the encoding unit 250 encodes the quantized transform coefficients using a coding scheme such as CABAC to generate a bitstream.
  • the encoding unit 250 encodes information such as a CTU size, a MinQTSize, a MaxBTSize, a MaxBTDepth, a MinBTSize, a QT division flag, a BT division flag, and a division type associated with the block division so that the video decoding apparatus So that the block can be divided.
  • the encoding unit 250 encodes information on a prediction type indicating whether the current block is coded by intraprediction or inter prediction, and generates a syntax element for the intra prediction mode or inter prediction information according to the prediction type. .
  • the inverse quantization unit 260 dequantizes the quantized transform coefficients output from the quantization unit 245 to generate transform coefficients.
  • the inverse transform unit 265 transforms the transform coefficients output from the inverse quantization unit 260 from the frequency domain to the spatial domain and restores the residual block.
  • the adder 270 adds the reconstructed residual block and the prediction block generated by the predictor 220 to reconstruct the current block.
  • the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next-order block is performed.
  • the filter unit 280 deblock-filters the boundaries between the restored blocks and stores them in the memory 290 in order to remove blocking artifacts caused by block-based encoding / decoding. When all the blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be coded later.
  • the image encoding apparatus 200 classifies all the intra prediction modes into a plurality of candidate groups. And information on which group of the plurality of candidate groups the intra prediction mode of the current block belongs and index information for indicating the intra prediction mode of the current block in the corresponding group are encoded.
  • the plurality of candidate groups can be generated by classifying the entire intra prediction modes of the current block according to the occurrence frequency.
  • the plurality of candidate groups include the following groups.
  • a group (hereinafter referred to as an MPM group) having a mode (MPM, most probable mode) having the highest probability of being selected as an intra prediction mode of the current block,
  • Second group modes frequently appearing among modes other than MPMs (hereinafter referred to as a " Selected Mode group "
  • FIG. 5 is a flowchart for coding an intra prediction mode of a current block according to an embodiment of the present invention.
  • the image encoding apparatus 200 After determining the intra prediction mode (Mcurr) of the current block, the image encoding apparatus 200 generates an MPM group using the intra prediction modes of neighboring blocks adjacent to the current block (S502) Mcurr belongs to the MPM group (S504). If the intra prediction mode (Mcurr) of the current block belongs to the MPM group, the image encoding apparatus 200 encodes the first flag indicating that the intra prediction mode (Mcurr) of the current block belongs to the MPM group (S506). For example, the first flag is encoded as 1. The first index information for indicating the intra prediction mode (Mcurr) of the current block among the intra prediction modes belonging to the MPM group is encoded (S508).
  • the image encoding apparatus 200 encodes the first flag indicating that the intra prediction mode (Mcurr) of the current block does not belong to the MPM group (S510 ). For example, the first flag is encoded as zero.
  • the image encoding apparatus 200 generates a Selected Mode group (S512), and determines whether the intra prediction mode (Mcurr) of the current block belongs to the Selected Mode group (S514). If the intra prediction mode (Mcurr) of the current block belongs to the Selected Mode group, the image encoding apparatus 200 encodes the second flag indicating that the intra prediction mode (Mcurr) of the current block belongs to the Selected Mode group ). For example, the second flag is encoded as 1. Then, in step S518, second index information for indicating an intra prediction mode (Mcurr) of the current block is encoded from intra prediction modes belonging to the Selected Mode group.
  • the image encoding apparatus 200 encodes the second flag indicating that the intra prediction mode (Mcurr) of the current block does not belong to the Selected Mode group (S520). For example, the second flag is encoded as zero.
  • a non-selected mode group including intra prediction modes other than the modes belonging to the MPM group and the selected mode group is generated in all intra prediction modes (S522).
  • the intra prediction mode Mcurr) is encoded (S524).
  • the first to third index information is subjected to a binarization process for entropy coding.
  • a method of binarizing the first to third index information will be described, and then an MPM group creation method, a Selected Mode group creation method, and a non-Selected Mode group creation method will be described, respectively.
  • the index information may be binarized in various manners.
  • the first index information for the MPM group, the second index information for the Selected Mode group, and the third index information for the non-Selected Mode group are truncated unary TU, fixed-length (FL), and truncated binary (TB).
  • the number of intra modes belonging to each group can be variously set. For example, six, sixteen, and forty-five intra prediction modes may be set in the MPM group, the Selected Mode group, and the non-Selected Mode group, respectively, or five, sixteen, and fourteen intra prediction modes may be set.
  • Embodiment 1-1 is an example of setting 6, 16, and 45 intra prediction modes in the MPM group, the Selected Mode group, and the non-Selected Mode group, respectively.
  • Table 1 shows the codewords allocated to the index values according to the binarization method of each group.
  • Table 2 shows the number of bits required to signal the intra prediction mode of the current block when each group is selected.
  • the MPM group using the TU binarization method takes a total of 1 to 5 bits for the index value and takes one bit for the first flag
  • a total of 2 to 6 bits are required to encode the mode.
  • the Selected Mode group using the FL binarization scheme a total of 4 bits are required for the index value and one bit is required for the first flag and the second flag, respectively. Therefore, when the intra prediction mode of the current block belongs to the Selected Mode group, A total of 6 bits are required to encode the intra prediction mode of the current block.
  • the non-selected mode group using the TB binarization method takes a total of 5 to 6 bits for the index value and takes one to seven bits for the first flag and the second flag.
  • Embodiment 1-2 is an example of setting 5, 16, and 46 intra prediction modes in MPM group, Selected Mode group, and non-Selected Mode group, respectively.
  • Table 3 shows a codeword allocated to the index value according to the binarization method of each group.
  • Table 4 shows the number of bits required to signal the intra prediction mode of the current block when each group is selected.
  • Embodiment 1-2 allocates the least bits to the MPM group, then allocates few bits to the selected mode group, and then allocates many bits to the non-selected mode group without overlapping the total number of bits for each group.
  • the embodiment 1-2 determines the number of bits required to encode the intra prediction mode of the current block This is the same as Example 1-1. However, when the intra prediction mode of the current block belongs to the MPM group, a total of 2 to 5 bits are required to encode the intra prediction mode of the current block. It is possible to efficiently encode the intra prediction mode of the current block than that of the embodiment 1-1 in consideration of the fact that intra prediction modes belonging to the MPM group frequently appear compared to the Selected Mode group.
  • the MPM group is configured using the intra prediction modes of the neighboring blocks.
  • various embodiments for constructing the MPM group using the intra prediction modes of the neighboring blocks will be described.
  • FIG. 6 is an exemplary diagram showing neighboring blocks of a current block used to generate an MPM group.
  • the left block (L) of the current block is a block including pixels at a position shifted one pixel to the left from the position of the leftmost lower pixel in the current block
  • the upper block (A) Means a block including a pixel at a position shifted by one pixel from the position of the upper right pixel.
  • the lower left block (BL) means a block including a pixel at a position shifted one pixel downward by one pixel from the position of the leftmost bottom pixel in the current block
  • the upper right block (AR) The upper left block (AL) is a block that moves upward by one pixel from the position of the upper left pixel in the current block, and then moves to the left Quot; refers to a block including pixels at a position shifted by one pixel.
  • a mode effective in the order of the left block L, the upper block A, the planar mode, the DC mode, the lower left block BL, the upper left block AR and the upper left block AL is added to the MPM group.
  • the index values for identifying the intra prediction modes in the MPM group include the left block L, the upper block A, the planar mode, the DC mode, the lower left block BL, the upper left block AR, ) ≪ / RTI > modes.
  • an index value 0 is assigned to the intra prediction mode of the left block L
  • an index value 1 is assigned to the intra prediction mode of the upper block A
  • an index value 2 is assigned to the planar mode
  • an index value 3 is assigned to the DC mode.
  • an index value 4 is assigned to the intra prediction mode of the next upper right block AR.
  • a mode effective in order of the left block L, the upper block A, the planar mode, the lower left block BL, the upper right block AR, the upper left block AL, and the DC mode is added to the MPM group It is possible.
  • the MPM group includes only different intra prediction modes. That is, when there is a duplicated mode, only one mode is included in the MPM group. If the number of MPMs in the list is less than a predetermined number (e.g., 6), the MPM may be derived by adding -1 or +1 to the directional modes in the MPM group. If the number of MPMs in the list is smaller than the predetermined number, an insufficient number of modes are added to the MPM group in the order of vertical mode, horizontal mode, and diagonal mode. You may. For example, MPM groups may be generated in the order of Table 5.
  • the planar mode and the DC mode are included in the MPM group in the order of priority after the left block L and the upper block A.
  • the present invention is not limited to this, It can be located anywhere in For example, the order of the left block L, planar, DC, and upper block A is also possible.
  • the left block L, the upper block A, the lower left block BL, the upper left block AR, and the upper left block AL are used to generate the MPM group.
  • Additional peripheral blocks may be used.
  • the current block may have a rectangular shape as well as a square shape.
  • the embodiments described below allocate an index value to the intra-prediction mode in the MPM group according to the shape of the current block.
  • a smaller index value is allocated to the intra prediction mode of the upper block than the intra prediction mode of the left block of the current block, And assigns a smaller index value to the intra prediction mode of the block.
  • the order of assigning index values to the intra-prediction mode is different between the left block L and the upper block A and between the lower left block BL and the upper right block AL according to the current block type do.
  • the present embodiment is the same as Embodiment 2-1 when the current block has a square shape.
  • a lower index value is assigned to the intra prediction mode of the left block L than the intra prediction mode of the upper block A when the current block is longer than the horizontal length and a lower index value is assigned to the intra prediction mode of the lower left block BL To a lower index value than the intra prediction mode of the upper-left block (AR).
  • a lower index value is assigned to the intra prediction mode of the upper block A than the intra prediction mode of the left block L, Assign a low index value to the block (AR).
  • the DC mode has the priority following the left block (L), the top block (A), and the planar mode. However, the order of the DC mode may be set to the position after the upper left block AL.
  • the present embodiment differs in the order of assigning priorities, i.e., index values, between the left block L, the upper block A, the lower left block BL and the upper right block AR according to the current block type.
  • the lowest index value is allocated in the order of the left block (L) and the lower left block (BL).
  • the upper block A and the upper right block AR allocate a larger index value than the left block L and the lower left block BL.
  • Planar and DC have the following priorities (BL) or (AR). However, it is also possible to set different priorities for Planar and DC. For example, the priorities of Planar and DC can be set as shown in Table 8.
  • FIG. 7 is another example of a peripheral block of a current block used for creating an MPM group.
  • This embodiment further uses A1 and L1 in addition to L2 (L in Fig. 6), A2 (A in Fig. 6), BL, AR, and AL to generate MPM groups.
  • Block A1 represents a block including pixels shifted one pixel upward from the uppermost right pixel position in the block located on the left when the width of the current block is halved.
  • L1 represents the height of the current block divided by half A block including pixels shifted one pixel to the left from the position of the leftmost bottom pixel in the block located at the top.
  • the priority between (L1), (L2), (A1), and (A2) and between (BL) and (AR), that is, the index value is assigned differently depending on the type of the current block. As shown in Table 9, when the current block has a square shape, it can be expressed as L1, L2, A1, A2, Planar, DC, BL, ), The index values are assigned to the respective intra prediction modes.
  • an index value smaller than (A1) and (A2) located at the top of blocks L1 and L2 located at the left side is allocated.
  • an index value smaller than (AR) is assigned to (BL). That is, the order in which the index values are assigned is the same as in the case of the square shape.
  • the current block is a rectangle having a length greater than the vertical length, a smaller index value is allocated to blocks A1 and A2 located at the top than blocks L1 and L2 located at the left.
  • an index value smaller than (BL) is assigned to (AR). Therefore, the order in which the index values are assigned is (A1), (A2), (L1), (L2), Planar, DC, (AR), (BL), (AL).
  • the present embodiment differs in the order of assigning the index values between (L1), (L2), (A1), (A2), (BL) and (AR) according to the current block type.
  • the current block has a rectangular shape with a length greater than the width of the block, an index value smaller than (A1), (A2) and (AR) located at the upper end of the blocks L1, L2, .
  • the index (A1), (A2) and (AR) Value is assigned.
  • an index value may be assigned in the order of Table 10 or Table 11.
  • a plurality of upper blocks A1 and A2 and a plurality of left blocks L1 and L2 are considered as candidate blocks for the MPM only when the current block is rectangular.
  • the number of the upper block or the left block to be considered differs depending on whether the current block has a long length or a long length.
  • L1 located on the left side is considered as a candidate, but A1 on the upper side is not considered.
  • (L1), (L2) are assigned index values lower than (A2), and (BL) are assigned index values smaller than (AR).
  • A1 at the top is considered as a candidate, but L1 at the left is not considered.
  • An index value smaller than (L2) is assigned to (A1), (A2), and an index value smaller than (BL) is assigned to (AR).
  • Embodiment 2-7 is similar to Embodiment 2-6, but the order of assigning priorities, that is, index values, to BL and AR is different according to the block type of the current block.
  • index values smaller than (A2) are allocated to (L1), (L2) and (BL).
  • index values smaller than (L2) are assigned to (A1), (A2) and (AR).
  • an index value may be assigned in the order of Table 10 or Table 11.
  • Embodiments 2-2 to 2-7 various orders for assigning index values to the intra-prediction modes according to the current block type have been described with specific examples, but the scope of the present invention is not limited to the examples.
  • a smaller index value is allocated to the block located on the left side of the block located at the top of the current block.
  • the width is longer than the vertical length, As long as a method of allocating a smaller index value to the intra prediction mode of a block located in the block is included in the scope of the present invention.
  • the order of the non-directional modes (planar mode and DC mode) excluding the intra-prediction modes of the neighboring blocks adjacent to the current block may be placed between the intra-prediction modes of the neighboring blocks.
  • the DC mode it can be placed in the position after the upper left block (AL).
  • the Selected Mode group is generated using modes other than the intra prediction mode belonging to the MPM group.
  • the number of modes belonging to the Selected Mode group can be set variously, but it is described that there are 16 here.
  • the Selected Mode group may be filled with intra prediction modes having a mode number of a multiple of four based on the index number being reset.
  • the Selected Mode group can be created using each MPM belonging to the MPM group.
  • the selected mode group may be created by sequentially applying an offset to the directional modes belonging to the MPM group.
  • the sequentially applied offsets are -1, +1, -2, +2, -3, +3, -4, +4 ... Order, or -2, +2, -4, +4, -6, +6, -8, +8, ≪ / RTI >
  • the order of - and + may be changed.
  • the Selected Mode group is generated as follows.
  • the Selected Mode group may include the prediction modes not set to the MPM group among the intra prediction mode candidates selectable by the MPM group setting method in the Selected Mode group. For example, 10, 34, 0, 1, 2, 56, and 14 modes are selected by the MPM group setting method (except for the overlapping prediction mode) If 0, 1, and 2 modes are set, the remaining 56 and 14 modes are included in the Selected Mode group.
  • the intra prediction mode candidates selectable by the MPM group setting method are " 2. Quot; MPM group generation method ", which can be all or part of the intra prediction modes that can be derived.
  • the intra prediction mode candidates may be intra prediction modes of neighboring blocks, prediction modes including a planar mode and a DC mode.
  • the remaining prediction modes other than the two prediction modes 56 and 14 among the 16 modes of the Selected Mode group may be filled with predetermined intra prediction modes.
  • the predetermined prediction mode may be 18, 4, 6, 8, 12, 14, 16, 20, 22, 24, 28, 30, 32, 9,
  • the remaining 14 prediction modes can be added to the Selected Mode group by sequentially applying an offset to the directional modes belonging to the MPM group.
  • the sequentially applied offsets are -1, +1, -2, +2, -3, +3, -4, +4 ... Order, or -2, +2, -4, +4, -6, +6, -8, +8, ≪ / RTI >
  • the order of - and + may be changed.
  • the non-Selected Mode group consists of the MPM group and the remaining modes not belonging to the Selected Mode group among the total 67 intra prediction modes.
  • Intra prediction modes having a mode number of a multiple of 4 according to the ordered order after arranging the modes not belonging to the MPM group among the 67 intra prediction modes in the ascending order of the mode numbers belong to the Selected Mode group,
  • the intra prediction modes other than the intra prediction mode belong to the non-selected mode group.
  • the non-Selected Modes group is generated as follows, and the index values are sequentially determined from mode 1.
  • Non-Selected Modes Group ⁇ 1, 2, 3, 5, 6, 7, 9, 10, ... , 58, 59 ⁇
  • the index value of the non-selected mode group is binarized by the TB scheme, the smaller the index value, the smaller the number of bits required. Accordingly, it may be effective to assign a small index value to modes in which intra-prediction modes belonging to a non-selected mode group occur frequently.
  • an index value is assigned to each mode in the non-Selected Mode group based on the prediction direction of the directional mode having the lowest index value among the intra-prediction modes belonging to the MPM group. For example, when the first directional mode (the directional mode having the lowest index value) among the intra-prediction modes belonging to the MPM group is a vertically-oriented mode, the larger the mode number of the intra- To the intra prediction modes belonging to the non-Selected Mode group. In contrast, when the first directional mode among the intra prediction modes belonging to the MPM group is a vertically-oriented mode, the smaller the mode number of the intra prediction mode, the smaller the index value is allocated, The index values are assigned to the intra prediction modes belonging to the intra prediction mode.
  • mode 12 is a horizontally oriented mode, and index values are sequentially allocated to the remaining modes in ascending order of mode numbers. If the first directional mode belonging to the MPM group is mode 40, mode 40 is vertically oriented mode, so that index values are sequentially allocated to the remaining modes in descending order of mode number.
  • an index value is assigned to each mode in the non-Selected Mode group according to the type of the current block. For example, in the case where the current block is a square shape or a block having a longer vertical length than the horizontal length, the larger the mode number of the intra-prediction mode is, the larger the index value is allocated to the intra-prediction modes belonging to the non- Assign a value. On the other hand, when the current block has a block shape having a longer length than the vertical length, an index value is assigned to intra prediction modes belonging to a non-selected mode group in such a manner that a smaller index value is assigned as the mode number of the intra prediction mode becomes larger do.
  • FIG. 8 illustrates an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus includes a decoding unit 810, an inverse quantization unit 820, an inverse transformation unit 830, a prediction unit 840, an adder 850, a filter unit 860, and a memory 870.
  • each component may be implemented as a hardware chip, or may be implemented as software, and a microprocessor may be implemented to execute functions of software corresponding to each component.
  • the decoding unit 810 decodes the bit stream received from the image encoding device to extract information related to the block division to determine a current block to be decoded and outputs prediction information necessary for restoring the current block and information about the residual signal .
  • the decoding unit 810 extracts information on a CTU size from an SPS (Sequence Parameter Set) or a PPS (Picture Parameter Set) to determine a size of the CTU, and divides the picture into CTUs of a predetermined size. Then, the CTU is determined as the top layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting the partition information for the CTU. For example, when the CTU is divided using the QTBT structure, the first flag (QT_split_flag) related to the division of the QT is first extracted and each node is divided into four nodes of the lower layer. For the node corresponding to the leaf node of the QT, the second flag (BT_split_flag) related to the BT division and the division type information are extracted and the corresponding leaf node is divided into the BT structure.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the QT division 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 division flag (QT_split_flag) is 1, the node of the uppermost layer is divided into four nodes of the lower layer (layer 1 of QT). Then, the QT division flag (QT_split_flag) for the first node of the layer 1 is extracted. Since the value of the extracted QT split flag (QT_split_flag) is 0, the first node of layer 1 is no longer divided into the QT structure.
  • BT_split_flag corresponding to the root node of the BT, that is, (layer 0). Since the BT division flag (BT_split_flag) is 1, the BT's root node is divided into two nodes of (layer 1). Since the root node of BT is divided, segment type information indicating whether the block corresponding to the root node of BT is vertically divided or horizontally divided is extracted. Since the partition type information is 1, the block corresponding to the root node of BT is vertically divided.
  • the BT division flag (BT_split_flag) for the first node of the layer 1 is extracted from the BT root node. Since the BT partition flag BT_split_flag is 1, the partition 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 division flag (BT_split_flag) of the second node of the layer 1 (layer 1) is extracted from the BT root node. Since the BT division flag (BT_split_flag) is 0, it is no longer divided by BT.
  • the decoding unit 810 recursively extracts the QT division flag (QT_split_flag) and divides the CTU into the QT structure.
  • the BT division flag (BT_split_flag) is extracted for the leaf node of QT, and the division type information is extracted when the BT division flag (BT_split_flag) indicates division.
  • the decryption unit 810 can confirm that the CTU is divided into a structure as shown in FIG. 3 (a).
  • the decoding unit 810 extracts the corresponding information and extracts the information about the QT and the BT Can be reflected.
  • the decoding unit 810 does not extract the division information (QT division flag) related to the QT of the block from the bit stream (i.e., the QT division flag of the corresponding block does not exist in the bit stream) 0 is set.
  • a block having a size larger than MaxBTSize in QT does not have BT. Therefore, the decoding unit 810 does not extract the BT division flag for a leaf node having a block larger than MaxBTSize in QT, and automatically sets the BT division flag to 0. [
  • the depth of the corresponding node of BT reaches MaxBTDepth, the block of the node is not further divided.
  • the BT division flag of the node is not extracted from the bit stream, and the value is automatically set to zero.
  • a block having the same size as MinBTSize in BT is not further divided. Therefore, the decoding unit 810 does not extract the BT division flag of the block having the same size as MinBTSize from the bitstream, and automatically sets the BT division flag to zero.
  • the decoding unit 810 extracts information on a prediction type indicating whether the current block is intra-predicted or inter-predicted.
  • the decoding unit 810 decodes the syntax element for the intra prediction information (intra prediction mode) of the current block and transfers the decoded syntax element to the intra prediction unit 842.
  • the syntax element includes information for identifying a group to which the intra prediction mode of the current block belongs among the plurality of groups and index information for indicating the intra prediction mode of the current block in the group to which the intra prediction mode of the current block belongs. That is, the decoding unit 810 decodes the information for identifying the group to which the intra prediction mode of the current block belongs, and decodes the index information for indicating the intra prediction mode of the current block in the identified group.
  • the decoding unit 810 decodes the first flag indicating whether the intra prediction mode of the current block is selected in the MPM group (S902).
  • the decoding unit 810 decodes the intra prediction mode of the current block among the intra prediction modes belonging to the MPM group (S904, S906).
  • the decoding unit 810 determines that the intra prediction mode of the current block is within the Selected Mode group (Step S908).
  • the second flag is set to " 0 ".
  • the decoding unit 810 instructs the intra prediction mode of the current block in the Selected Mode group (S910, S912).
  • the decoding unit 810 decodes the current block And decodes the third index information for indicating the intra prediction mode (S910, S914).
  • the decoding unit 810 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
  • the inverse quantization unit 820 dequantizes the quantized transform coefficients and the inverse transform unit 830 inversely transforms the dequantized transform coefficients from the frequency domain to the spatial domain to generate residual blocks for the current block by restoring the residual signals.
  • the prediction unit 840 includes an intra prediction unit 642 and an inter prediction unit 644.
  • the intra prediction unit 842 is activated when the intra prediction is the prediction type of the current block
  • the inter prediction unit 844 is activated when the intra prediction is the prediction type of the current block.
  • the intra prediction unit 842 determines the intra prediction mode of the current block among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the decoding unit 810, To predict the current block.
  • the intra prediction unit 842 performs intra prediction Include some in that group. Then, the intra prediction mode of the current block is determined from the intra prediction modes of the corresponding group using the index information decoded from the decoding unit 810.
  • the intra predictor 842 generates an MPM group (S1002). If the first flag decoded by the decoding unit 810 indicates that the intra prediction mode of the current block belongs to the MPM group, the intra prediction mode of the current block among the intra prediction modes in the MPM group using the first index information (S1004, S1006).
  • the intra prediction unit 842 If the first flag indicates that the intra prediction mode of the current block does not belong to the MPM group, the intra prediction unit 842 generates a Selected Mode group (S1004, S1008). If the second flag decoded from the decoding unit 810 indicates that the intra prediction mode of the current block belongs to the Selected Mode group, the intra prediction mode of the current block among the intra prediction modes in the Selected Mode group Mode is determined (S1010, S1012).
  • the intra prediction unit 842 If the second flag indicates that the intra prediction mode of the current block does not belong to the Selected Mode group, the intra prediction unit 842 generates a non-Selected Mode group (S1010, S1014). Then, the intra prediction mode of the current block is determined from the intra prediction modes in the non-selected mode group using the third index information decoded from the decoding unit 810 (S1016).
  • the intra prediction unit 842 generates an MPM group, a selected mode group, and a non-selected mode group, and assigns index values to the groups, which are the same as those of the image encoding apparatus 200, and thus will not be described in detail.
  • the inter-prediction unit 844 determines the motion information of the current block using the syntax element of the inter-prediction information extracted from the decoding unit 810, and predicts the current block using the determined motion information.
  • the adder 850 adds the residual block output from the inverse transform unit and the prediction block output from the inter prediction unit or the intra prediction unit to reconstruct the current block.
  • the pixels in the reconstructed current block are utilized as reference pixels for intra prediction of a block to be decoded later.
  • the filter unit 860 deblock-filters the boundaries between the restored blocks and stores them in the memory 870 in order to remove blocking artifacts caused by decoding on a block-by-block basis. When all blocks in one 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 pixel values of the current block include a luminance component and a chrominance component.
  • the intraprediction mode coding described above is applied to a luma block made up of luminance components.
  • a method for encoding or decoding an intra prediction mode of a chroma block composed of chrominance components will be described.
  • the intra-prediction mode of the chrominance block is determined among the candidate intra-prediction modes including a part of the entire intra-prediction modes.
  • the following intra-prediction modes may be included in the color-difference block candidate intra-prediction mode.
  • DM direct mode
  • the present embodiment configures a candidate group for an intra prediction mode of a chrominance block using one or more DMs and one or more peripheral modes.
  • the luminance component and chrominance component of the CTU can be divided into the same QTBT structure.
  • the intra prediction mode of the luminance block is determined to be the intra prediction mode of the color difference block.
  • the luminance component and the chrominance component of the CTU may be divided into different QTBT structures.
  • 11 (a) shows a QTBT divided structure of a luminance block
  • FIG. 11 (b) shows a QTBT structure of a color difference block.
  • the luminance block corresponding to the left-hand color difference block hatched in the QTBT structure of the color difference block is the hatched left block in FIG. 11 (a).
  • This hatched left luminance block includes a plurality of luminance blocks.
  • the DM is determined using the intra prediction mode of the luminance blocks including the pixel at the specific position in the left luminance block corresponding to the left color difference block.
  • the luminance block including the pixels is checked in the order of the center pixel CR, the upper left upper pixel TL, the upper right upper pixel TR, the lower left pixel BL, and the lower right lower pixel BR,
  • the intra prediction mode of the block is sequentially selected in one or more DM modes.
  • the surrounding modes may be derived from intra prediction modes of neighboring chrominance blocks adjacent to the current chrominance block. 6, all or part of the left color difference block L, the upper color difference block A, the left lower color difference block BL, the upper left color difference block AR, and the upper left color difference block AL of the current color difference block It can be used as surrounding color difference blocks.
  • the priorities included in the candidate group may be the order of the left color difference block L, the upper color difference block A, the lower left color difference block BL, the upper right color difference block AR, and the upper left color difference block AL. That is, the index value increases in the order of the left color difference block L, the upper color difference block A, the lower left color difference block BL, the upper left color difference block AR, and the upper left color difference block AL.
  • the priority order included in the candidate group may be determined differently according to the shape of the current color difference block. If the current color difference block is a square shape, index values are assigned in the same order of latitude. When the current color difference block is longer than the horizontal length, a lower index value is allocated to the block located on the left side of the block located at the upper end of the current block. On the other hand, when the horizontal length is longer than the vertical length, a lower index value is assigned to the intra prediction mode of the block located at the upper position than the intra prediction mode of the block located at the left side. For example, an index value may be assigned in the order of Table 15 or Table 16. The index value indicating the intra prediction mode of the current color difference block can be binarized into a truncated unary form.
  • the image encoding apparatus of the present embodiment encodes index information for indicating an intra prediction mode of a current color difference block in a candidate group including one or more DMs and one or more peripheral modes and transmits the encoded index information to the image decoding apparatus, After generating a candidate group including one or more DMs and one or more peripheral modes in the same manner as the encoding apparatus, the intra prediction mode of the current color difference block is determined using the received index information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 인트라 예측을 이용한 영상의 부호화 또는 복호화에 관한 것으로, 전체 인트라 예측모드들 중 일부를 포함하는 후보 그룹을 생성하는 단계; 및 상기 후보 그룹에 속하는 인트라 예측모드들 중 부호화 대상 블록인 현재블록의 인트라 예측모드를 지시하기 위한 색인정보를 부호화하는 단계를 포함하되, 상기 현재블록의 블록 형태(shape)에 근거하여 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값이 할당되는 것을 특징으로 하는 인트라 예측모드 부호화 방법을 제시한다. 대표도: 도 2

Description

인트라 예측을 이용한 영상의 부호화 및 복호화
본 발명은 인트라 예측을 이용한 영상의 부호화 또는 복호화에 관한 것이다. 보다 상세하게는, 인트라 예측 시, 부호화 대상 블록을 예측하기 위해 사용된 인트라 예측모드를 부호화 또는 복호화하기 위한 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다.
현재 픽처 내의 픽셀 정보를 이용하여 현재 픽처에 포함된 픽셀 값을 예측하는 인트라 예측 및 코딩에는 복수의 인트라 예측모드가 존재한다. 영상 부호화 장치는 복수의 인트라 예측모드 중에 부호화 대상인 현재블록에 대한 최종 하나의 모드를 선정하여 영상 복호화 장치에 해당 모드에 대한 정보를 전달하게 된다. 이때, 선정된 인트라 모드를 효율적으로 표현하기 위해 최고 확률 모드(most probable mode, MPM)를 이용하게 된다.
도 1은 HEVC에서 인트라 예측에 사용 가능한 인트라 모드들을 도시한 도면이다. HEVC의 경우, 도 11과 같이 방향성을 가진 33개의 각도 모드들 및 방향성이 없는 2개의 모드들로 포함하는 총 35개의 인트라 모드가 존재한다. 35개 모드 중 부호화 대상 블록의 최종 인트라 모드를 부호화하기 위해 해당 블록의 주변블록 및 통계적으로 가장 자주 사용되는 모드들을 이용하여 해당 블록을 위한 3개의 MPM을 선정한다.
해당 블록의 최종 모드가 MPM과 동일한지 여부를 나타내는 1 bit MPM 플래그(flag)를 전송하고, 최종 모드가 MPM 이라면, 추가로 MPM 인덱스(index) 값을 전송한다. 최종 모드가 MPM이 아니라면, 나머지 모드들 중 어느 모드인지를 명백하게 전송하게 된다.
한편, 영상의 해상도가 64x64에서 256x256 등으로 점점 커지면서 예측 블록의 단위도 점점 커지고 있으며, 그에 따라 많은 인트라 모드들이 추가될 가능성이 높아지고 있으나, 예측한 MPM이 여전히 다른 경우, 여전히 기존 값을 고정길이 부호(fixed length code)화하여 보내야 하는 경우도 발생될 수 있다.
또한, 영상이 커지면서 많은 인트라 모드가 추가되어 예측한 MPM을 증가시키는 경우, 예측 효율을 높일 수 있다. 그러나 MPM들을 식별하기 위한 색인값들은 truncated unary 형태로 이진화되므로, MPM을 증가시키는 것이 오히려 압축 효율을 낮출 가능성이 있다.
본 발명은 인트라 예측 코딩에서, 현재블록을 예측하기 위한 인트라 예측모드를 효율적으로 시그널링하는 데 일 목적이 있다.
본 발명의 일 측면에 따르면, 부호화 대상 블록인 현재블록의 인트라 예측모드를 부호화하는 방법에 있어서, 상기 현재블록의 주변블록들의 인트라 예측모드를 이용하여 제1 그룹의 인트라 예측모드들을 결정하고, 상기 현재블록의 인트라 예측모드가 상기 제1 그룹에 속하는지 여부를 지시하는 제1 플래그를 부호화하는 단계; 상기 현재블록의 인트라 예측모드가 상기 제1 그룹에 속할 때, 상기 제1 그룹에서 상기 현재블록의 인트라 예측모드를 지시하기 위한 제1 색인정보를 부호화하는 단계; 상기 현재블록의 인트라 예측모드가 상기 제1 그룹에 속하지 않을 때, 기 정의된 모드 번호를 가지는 인트라 예측모드들 또는 상기 제 1그룹 내의 방향성 모드로부터 도출된 인트라 예측모드들로 구성된 제2 그룹을 결정하고 상기 현재블록의 인트라 예측모드가 상기 제2 그룹에 속하는지 여부를 지시하는 제2 플래그를 부호화 단계; 상기 현재블록의 인트라 예측모드가 상기 제2 그룹에 속할 때 상기 제2 그룹에서 상기 현재블록의 인트라 예측모드를 지시하기 위한 제2 색인정보를 부호화하는 단계; 및 상기 현재블록의 인트라 예측모드가 상기 제2 그룹에 속하지 않을 때, 상기 제1 그룹 및 상기 제2 그룹에 속하는 인트라 예측모드들을 제외한 나머지 인트라 예측모드들로 구성된 제3 그룹에서 상기 현재블록의 인트라 예측모드를 지시하기 위한 제3 색인정보를 부호화하는 단계를 포함하되, 상기 제1 그룹에 속하는 인트라 예측모드들 중 가장 낮은 색인값을 가지는 방향성 모드의 예측 방향 또는 상기 현재블록의 블록 형태(shape)에 근거하여 상기 제3 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드를 부호화하는 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 부호화 대상 블록인 현재블록의 인트라 예측모드를 부호화하는 방법에 있어서, 전체 인트라 예측모드들 중 일부를 포함하는 후보 그룹을 생성하는 단계; 및 상기 후보 그룹에 속하는 인트라 예측모드들 중 상기 현재블록의 인트라 예측모드를 지시하기 위한 색인정보를 부호화하는 단계를 포함하되, 상기 현재블록의 블록 형태(shape)에 근거하여 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값이 할당되는 것을 특징으로 하는 인트라 예측모드 부호화 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 복호화 대상 블록인 현재블록의 인트라 예측모드를 복호화하는 방법에 있어서, 비트스트림으로부터 상기 현재블록의 인트라 예측모드를 식별하기 위한 색인정보를 복호화하는 단계; 전체 인트라 예측모드들 중 일부를 포함하는 후보 그룹을 생성하는 단계; 및 상기 후보 그룹에 속하는 인트라 예측모드들 중에서 상기 색인정보에 의해 지시되는 인트라 예측모드를 상기 현재블록의 인트라 예측모드로 결정하는 단계를 포함하되, 상기 현재블록의 블록 형태(shape)에 근거하여 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값이 할당되는 것을 특징으로 하는 인트라 예측모드 복호화 방법을 제공한다.
도 1은 HEVC에서 인트라 예측에 사용 가능한 인트라 모드들을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도,
도 3은 QTBT 구조를 이용한 블록 분할의 예시도,
도 4는 본 발명의 일 실시예에 따른 복수의 인트라 예측모드에 대한 예시도,
도 5는 본 발명의 일 실시예에 따른 현재블록의 인트라 예측모드를 부호화하기 위한 순서도,
도 6은 MPM 그룹을 생성하기 위해 사용되는 현재블록의 주변블록들을 나타내는 예시도,
도 7은 MPM 그룹을 생성하기 위해 사용되는 현재블록의 주변블록을 나타내는 또 다른 예시도,
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 블록도,
도 9는 본 발명의 일 실시예 따른 현재블록의 인트라 예측모드에 대한 신택스 요소를 복호화하는 과정을 나타내는 순서도,
도 10은 본 발명의 일 실시예 따른 현재블록의 인트라 예측모드를 결정하는 과정을 나타내는 순서도,
도 11은 휘도블록과 색차블록의 QTBT 분할 구조를 나타내는 예시도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
영상 부호화 장치는 블록 분할부(210), 예측부(220), 감산기(230), 변환부(240), 양자화부(245), 부호화부(250), 역양자화부(260), 역변환부(265), 가산기(270), 필터부(280) 및 메모리(290)를 포함한다. 영상 부호화 장치는 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
블록 분할부(210)는 영상을 구성하는 각 픽처(picture)를 복수의 CTU(Coding Tree Unit)로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU (coding unit)가 된다. 트리 구조로는 상위 노드가 네 개의 하위 노드로 분할하는 쿼드트리(QuadTree, QT), 또는 QT 구조 및 상위 노드가 두 개의 하위 노드로 분할하는 바이너리트리(BinaryTree, BT) 구조를 혼용한 QTBT (QuadTree plus BinaryTree) 구조가 사용될 수 있다.
QTBT (QuadTree plus BinaryTree) 구조에서, CTU는 먼저 QT 구조로 분할된다. 이후, QT의 리프 노드들은 BT에 의해 추가로 더 분할될 수 있다. 블록 분할부(210)가 QTBT 구조에 의해 CTU를 분할하여 생성하는 분할 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
QT에서는 해당 노드의 블록이 분할 여부를 지시하는 제1 플래그(QT 분할 플래그, QT_split_flag)가 부호화된다. 제1 플래그가 1이면 해당 노드의 블록이 동일 크기의 네 개의 블록으로 분할되고, 0이면 해당 노드는 QT에 의해 더 이상 분할되지 않는다.
BT에서는 해당 노드의 블록의 분할 여부를 지시하는 제2 플래그(BT 분할 플래그, BT_split_flag)가 부호화된다. BT 에서는 복수의 분할 타입이 존재할 수 있다. 예컨대, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입 두 가지가 존재할 수 있다. 또는, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 또는 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다. 이렇게 BT가 복수의 분할 타입을 가지는 경우에는, 블록이 분할됨을 의미하는 제2 플래그가 부호화되면, 해당 블록의 분할 타입을 지시하는 분할 타입 정보가 추가로 부호화된다.
도 3은 QTBT 구조를 이용한 블록 분할의 예시도이다. 도 3의 (a)는 QTBT 구조에 의해 블록이 분할되는 예시이고, (b)는 이를 트리구조로 표현한 것이다. 도 3에서 실선은 QT 구조에 의한 분할을, 점선은 BT 구조에 의한 분할을 나타낸다. 또한, 도 3 (b)에서 layer 표기와 관련하여, 괄호가 없는 것은 QT의 레이어를, 괄호가 있는 것은 BT의 레이어를 나타낸다. 점선으로 표현된 BT 구조에서 숫자는 분할 타입 정보를 나타낸다.
도 3에서, QT의 최상위 레이어인 CTU는 layer 1의 네 개의 노드로 분할된다. 이에 따라 블록 분할부(210)는 CTU가 분할됨을 지시하는 QT 분할 플래그(QT_split_flag = 1)를 생성한다. layer 1의 첫 번째 노드에 해당하는 블록은 더 이상 QT에 의해 분할되지 않다. 따라서, 블록 분할부(210)는 QT_split_flag = 0을 생성한다.
이후, QT의 layer 1의 첫 번째 노드에 해당하는 블록은 BT로 진행한다. 본 실시예에서는, BT가 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입 두 가지가 존재하는 것으로 설명한다. QT의 layer 1의 첫 번째 노드는 BT의 루트 노드(root node, (layer 0))가 된다. BT의 루트 노드에 해당하는 블록은 (layer 1)의 블록으로 더 분할되므로, 블록 분할부(210)는 BT에 의해 분할됨을 지시하는 BT 분할 플래그(BT_split_flag) = 1을 생성한다. 이후, 해당 블록이 가로로 분할되는지 아니면 세로로 분할되는지 여부를 지시하는 분할 타입 정보를 생성한다. 도 3에서 BT의 루트 노드에 해당하는 블록은 세로로 분할되므로 세로 분할을 지시하는 1이 분할 타입 정보로서 생성된다. 루트 노드로부터 분할된 (layer 1)의 블록 중 첫 번째 블록은 추가로 더 분할되고 분할 타입은 세로이므로, BT_split_flag = 1 및 분할 타입 정보 1을 생성한다. 반면, BT의 루트 노드로부터 분할된 (layer 1)의 두 번째 블록은 더 이상 분할되지 않으므로 BT_split_flag = 0을 생성한다.
한편, QTBT 구조에 의한 블록 분할에 대한 정보를 효율적으로 영상 복호화 장치로 시그널링하기 위해, 다음의 정보가 추가로 부호화될 수 있다. 이 정보들은 영상의 헤더 정보로서 부호화되는데, 예컨대 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set)로 부호화될 수 있다.
- CTU size: QTBT의 최상위 레이어, 즉, 루트 노드의 블록 크기
- MinQTSize: QT에서 허용되는 리프 노드의 최소 블록 크기
- MaxBTSize: BT에서 허용되는 루트 노드의 최대 블록 크기
- MaxBTDepth: BT에서 허용되는 최대 심도(Depth)
- MinBTSize: 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의 분할 여부나 분할 타입을 지시하는 정보들에 대한 부호화량을 줄일 수 있다.
이하에서는, 부호화 또는 복호화하고자 하는 CU에 해당하는 블록을 '현재블록'이라 칭한다.
예측부(220)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(220)는 인트라 예측부(222)와 인터 예측부(224)를 포함한다.
인트라 예측부(222)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. 특히, 인트라 예측부(222)는 현재블록을 부호화하는데 사용할 인트라 예측모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(222)는 여러 인트라 예측모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(222)는 여러 테스트된 인트라 예측모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측모드를 선택할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 복수의 인트라 예측모드에 대한 예시를 나타낸다.
도 4에서 보는 바와 같이, 복수의 인트라 예측모드는 2개의 비방향성 모드(planar 모드 및 DC 모드)와 65개의 방향성 모드를 포함할 수 있다.
인트라 예측부(222)는 복수의 인트라 예측모드 중에서 하나의 인트라 예측모드를 선택하고, 선택된 인트라 예측모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측모드에 대한 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다. 현재블록의 인트라 예측모드에 대한 정보를 효율적으로 부호화하기 위한 방법은 도 5 내지 7을 참조하여 후술한다.
인터 예측부(224)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 현재블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(230)는 현재블록으로부터 인트라 예측부(222) 또는 인터 예측부(224)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.
변환부(240)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(240)는 잔차 블록 내의 잔차 신호들을 현재블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다.
양자화부(245)는 변환부(240)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(250)로 출력한다.
부호화부(250)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 또한, 부호화부(250)는 블록 분할과 관련된 CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT 분할 플래그, BT 분할 플래그, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
부호화부(250)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측모드 또는 인터 예측정보에 대한 신택스 요소를 부호화한다.
역양자화부(260)는 양자화부(245)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(265)는 역양자화부(260)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(270)는 복원된 잔차블록과 예측부(220)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(280)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이하에서는 영상 부호화 장치(200)가 현재블록의 인트라 예측모드를 효율적으로 부호화하기 위해 수행하는 프로세스에 대해 설명한다.
일 실시예에서 영상 부호화 장치(200)는 현재블록의 인트라 예측모드를 결정한 이후에, 전체 인트라 예측모드들을 복수의 후보 그룹을 분류한다. 그리고 현재블록의 인트라 예측모드가 복수의 후보 그룹 중 어느 그룹에 속하는지에 대한 정보와 해당 그룹 내에서 현재블록의 인트라 예측모드를 지시하기 위한 색인 정보를 부호화한다. 복수의 후보 그룹은, 현재블록의 전체 인트라 예측모드들을 발생 빈도에 따라 분류함으로써 생성될 수 있다. 예컨대, 복수의 후보 그룹은 다음의 그룹을 포함한다.
(1) 제1 그룹: 현재블록의 인트라 예측모드로 선택될 확률이 가장 높은 모드(MPM, most probable mode)들로 이루어진 그룹(이하, MPM 그룹이라 함)
(2) 제2 그룹: MPM들 이외의 모드들 중 자주 출현하는 모드들 (이하, Selected Mode 그룹)
(3) 제3 그룹; 나머지 모드들 (이하, non-Selected Mode 그룹)
도 5는 본 발명의 일 실시예에 따른 현재블록의 인트라 예측모드를 부호화하기 위한 순서도이다.
영상 부호화 장치(200)는 현재블록의 인트라 예측모드(Mcurr)를 결정한 이후에, 현재블록에 인접한 주변블록들의 인트라 예측모드들을 이용하여 MPM 그룹을 생성하고(S502), 현재블록의 인트라 예측모드(Mcurr)가 MPM 그룹에 속하는지 여부를 판단한다(S504). 현재블록의 인트라 예측모드(Mcurr)가 MPM 그룹에 속하면, 영상 부호화 장치(200)는 현재블록의 인트라 예측모드(Mcurr)가 MPM 그룹에 속함을 지시하는 제1 플래그를 부호화한다(S506). 예컨대, 제1 플래그를 1로 부호화한다. 그리고, MPM 그룹에 속하는 인트라 예측모드들 중 현재블록의 인트라 예측모드(Mcurr)를 지시하기 위한 제1 색인정보를 부호화한다(S508).
만약 현재블록의 인트라 예측모드(Mcurr)가 MPM 그룹에 속하는 않으면, 영상 부호화 장치(200)는 현재블록의 인트라 예측모드(Mcurr)가 MPM 그룹에 속하지 않음을 지시하는 제1 플래그를 부호화한다(S510). 예컨대, 제1 플래그를 0으로 부호화한다.
영상 부호화 장치(200)는 Selected Mode 그룹을 생성하고(S512), 현재블록의 인트라 예측모드(Mcurr)가 Selected Mode 그룹에 속하는지 여부를 판단한다(S514). 현재블록의 인트라 예측모드(Mcurr)가 Selected Mode 그룹에 속하면, 영상 부호화 장치(200)는 현재블록의 인트라 예측모드(Mcurr)가 Selected Mode 그룹에 속함을 지시하는 제2 플래그를 부호화한다(S516). 예컨대, 제2 플래그를 1로 부호화한다. 그리고 Selected Mode 그룹에 속하는 인트라 예측모드들 중에서 현재블록의 인트라 예측모드(Mcurr)를 지시하기 위한 제2 색인정보를 부호화한다(S518).
만약 현재블록의 인트라 예측모드(Mcurr)가 Selected Mode 그룹에 속하지 않으면, 영상 부호화 장치(200)는 현재블록의 인트라 예측모드(Mcurr)가 Selected Mode 그룹에 속하지 않음을 지시하는 제2 플래그를 부호화한다(S520). 예컨대, 제2 플래그를 0으로 부호화한다. 그리고 전체 인트라 예측모드들에서 MPM 그룹 및 Selected Mode 그룹에 속하는 모드들을 제외한 나머지 인트라 예측모드들로 이루어진 non-Selected Mode 그룹을 생성하고(S522), non-Selected Mode 그룹에서 현재블록의 인트라 예측모드(Mcurr)를 지시하기 위한 제3 색인정보를 부호화한다(S524).
제1 내지 제3 색인정보는 엔트로피 부호화(entropy coding)를 위해 이진화(binarization) 과정을 거친다. 이하에서, 제1 내지 제3 색인정보의 이진화 방법을 설명하고, 이어서 MPM 그룹 생성 방법, Selected Mode 그룹 생성 방법, non-Selected Mode 그룹 생성 방법을 각각 설명한다.
1. 색인정보의 이진화 방법
색인정보들은 다양한 방식으로 이진화될 수 있는데, 본 실시예에서 MPM 그룹에 대한 제1 색인정보, Selected Mode 그룹에 대한 제2 색인정보 및 non-Selected Mode 그룹에 대한 제3 색인정보는 각각 truncated unary(TU) 방식, fixed-length(FL) 방식, truncated binary(TB) 방식으로 이진화된다.
도 4에 도시된 총 67개의 인트라 예측모드를 세 개의 그룹으로 분류할 때, 각 그룹에 속하는 인트라 모드들의 개수는 다양하게 설정될 수 있다. 예컨대, MPM 그룹, Selected Mode 그룹, non-Selected Mode 그룹에 각각 6개, 16개, 45개의 인트라 예측모드를 설정할 수도 있고, 또는 각각 5개, 16개, 44개의 인트라 예측모드를 설정할 수도 있다.
실시예 1-1
실시예 1-1은 MPM 그룹, Selected Mode 그룹, non-Selected Mode 그룹에 각각 6개, 16개, 45개의 인트라 예측모드를 설정한 경우에 대한 예시이다.
표 1은 각 그룹의 이진화 방법에 따라 색인값에 할당되는 코드워드(codeword)를 나타내고, 표 2는 각 그룹이 선택되었을 때에 현재블록의 인트라 예측모드를 시그널링하기 위해 소요되는 비트수를 나타낸다.
Figure PCTKR2018010085-appb-T000001
group index bits first flag value second flag value total bits
MPM 1~5 1 - 2~6
non_MPM Selected 4 0 1 6
non-Selected 5~6 0 0 7~8
TU 이진화 방식을 사용하는 MPM 그룹은 색인값을 위해 총 1~5 비트가 소요되고, 제1 플래그를 위해 1 비트가 소요되므로, 현재블록의 인트라 예측모드가 MPM 그룹에 속하는 경우 현재블록의 인트라 예측모드를 부호화하기 위해 총 2~6비트가 소요된다. FL 이진화 방식을 사용하는 Selected Mode 그룹은 색인값을 위해 총 4비트가 소요되고 제1 플래그와 제2 플래그를 위해 각각 1 비트가 소요되므로, 현재블록의 인트라 예측모드가 Selected Mode 그룹에 속하는 경우, 현재블록의 인트라 예측모드를 부호화하기 위해 총 6비트가 소요된다. TB 이진화 방식을 사용하는 non-Selected Mode 그룹은 색인값을 위해 총 5~6 비트가 소요되고, 제1 플래그와 제2 플래그를 위해 각각 1 비트가 소요되므로 총 7~8 비트가 소요된다.
실시예 1-2
실시예 1-2는 MPM 그룹, Selected Mode 그룹, non-Selected Mode 그룹에 각각 5개, 16개, 46개의 인트라 예측모드를 설정한 경우에 대한 예시이다.
표 3은 각 그룹의 이진화 방법에 따라 색인값에 할당되는 코드워드(codeword)를 나타내고, 표 4는 각 그룹이 선택되었을 때에 현재블록의 인트라 예측모드를 시그널링하기 위해 소요되는 비트수를 나타낸다.
Figure PCTKR2018010085-appb-T000002
group index bits first flag value second flag value total bits
MPM 1~4 1 - 2~6
non_MPM Selected 4 0 1 6
non-Selected 5~6 0 0 7~8
실시예 1-2는 각 그룹별 총 bits 수가 겹치지 않고, MPM 그룹에 가장 적은 bits를 할당하고, 그 다음으로 selected mode 그룹에 적은 bits를, 마지막으로 non-selected mode 그룹에 많은 bits를 할당한다.
표 3과 표 4를 참조하면, 현재블록의 인트라 예측모드가 Selected Mode 그룹이나 non-Selected Mode 그룹에 속하는 경우, 실시예 1-2는 현재블록의 인트라 예측모드를 부호화하기 위해 소요되는 비트수가 실시예 1-1과 동일하다. 그러나, 현재블록의 인트라 예측모드가 MPM 그룹에 속하는 경우 현재블록의 인트라 예측모드를 부호화하기 위해 총 2~5비트가 소요된다. Selected Mode 그룹에 비해 MPM 그룹에 속하는 인트라 예측모드가 자주 출현한다는 점을 고려할 때, 실시예 1-2는 실시예 1-1보다 현재블록의 인트라 예측모드를 더 효율적으로 부호화할 수 있다.
2. MPM 그룹 생성 방법
현재블록은 주변블록과 높은 상관성을 나타내는 경향이 있으므로, 현재블록의 인트라 예측모드는 주변블록의 인트라 예측모드와 동일할 확률이 크다. 따라서, MPM 그룹은 주변블록의 인트라 예측모드들을 이용하여 구성한다. 이하에서는, 주변블록의 인트라 예측모드들을 이용하여 MPM 그룹을 구성하는 다양한 실시예를 설명한다.
실시예 2-1
도 6은 MPM 그룹을 생성하기 위해 사용되는 현재블록의 주변블록들을 나타내는 예시도이다.
MPM 그룹을 생성하기 위해, 도 6에 도시된 바와 같이, 현재블록의 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 전부 또는 일부가 이용될 수 있다. 여기서, 현재블록의 좌측블록(L)은 현재블록 내의 최좌측하단 픽셀의 위치에서 왼쪽으로 한 픽셀 이동한 위치의 픽셀을 포함한 블록을 의미하며, 현재블록의 상단블록(A)은 현재블록 내의 최우측상단 픽셀의 위치에서 위쪽으로 한 픽셀 이동한 위치의 픽셀을 포함한 블록을 의미한다. 좌하단블록(BL)은 현재블록 내의 최좌측하단 픽셀의 위치에서 위쪽으로 한 픽셀 이동 후 아래쪽으로 한 픽셀 이동한 위치의 픽셀을 포함한 블록을 의미하고, 우상단블록(AR)은 현재블록 내의 최우측상단 픽셀의 위치에서 위쪽으로 한 픽셀 이동 후 오른쪽으로 한 픽셀 이동한 위치의 픽셀을 포함한 블록을 의미하며, 좌상단블록(AL)은 현재블록 내의 최좌측상단 픽셀의 위치에서 위쪽으로 한 픽셀 이동 후 왼쪽으로 한 픽셀 이동한 위치의 픽셀을 포함한 블록을 의미한다.
좌측블록(L), 상단블록(A), planar 모드, DC 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순으로 유효한 모드가 MPM 그룹에 추가된다. 즉, MPM 그룹 내의 인트라 예측 모드들을 식별하기 위한 색인값들은 좌측블록(L), 상단블록(A), planar 모드, DC 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 모드들 순서로 증가한다. 예컨대, 좌측블록(L)의 인트라 예측 모드에 색인값 0, 상단블록(A)의 인트라 예측 모드에 색인값 1, planar 모드에 색인값 2, DC 모드에 색인값 3을 할당한다. 만약, 좌하단블록(BL)이 유효하지 않다면, 다음 순서인 우상단블록(AR)의 인트라 예측 모드에 색인값 4를 할당한다.
다른 예로, 좌측블록(L), 상단블록(A), planar 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL), DC 모드의 순으로 유효한 모드가 MPM 그룹에 추가될 수도 있다.
한편, MPM 그룹에는 서로 다른 인트라 예측모드만이 포함된다. 즉, 중복된 모드(duplicated mode)가 존재하는 경우 그 중 하나의 모드만이 MPM 그룹에 포함된다. 만약, 리스트 내의 MPM의 개수가 기결정된 개수(예컨대, 6)보다 작은 경우에는, MPM 그룹 내의 방향성 모드들에 -1 또는 +1을 가산하여 MPM을 유도할 수도 있다. 또한, 리스트 내의 MPM의 개수가 기결정된 개수보다 작은 경우에는, 수직 모드(vertical mode), 수직 모드(horizontal mode), 대각선 모드(diagonal mode) 등의 순서로 부족한 개수만큼의 모드를 MPM 그룹에 추가할 수도 있다. 예컨대, MPM 그룹은 표 5의 순서로 생성될 수 있다.
Figure PCTKR2018010085-appb-T000003
위 실시예에서 planar 모드와 DC 모드는 좌측블록(L)과 상단블록(A) 다음의 우선순위로 MPM 그룹에 포함되는 것으로 설명하였으나, 본 발명이 이에 한정되는 것은 아니며 주변블록의 인트라 예측 인트라 사이의 어느 자리에 위치해도 가능하다. 예컨대, 좌측블록(L), planar, DC, 상단블록(A)의 순서도 가능하다.
또한, 위 실시예에서는 MPM 그룹을 생성하기 위해 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)을 사용하는 것으로 설명하였으나, 다른 주변블록들이 추가로 더 사용될 수도 있다.
한편, 전술한 바와 같이, MPM 그룹의 인덱스는 TU 방식으로 이진화되므로, 발생 확률이 높은 인트라 예측 모드에 작은 색인값을 할당해야 부호화 효율이 증가한다. 도 3에 도시된 바와 같이, 현재블록은 정사각 형태뿐만 아니라 직사각 형태를 가질 수 있다. 이하에서 설명하는 실시예들은 현재블록의 형태(shape)에 따라 MPM 그룹 내의 인트라 예측 모드에 색인값을 할당한다. 현재블록이 세로길이보다 가로길이가 긴 블록 형태를 가질 때, 현재블록의 좌측블록의 인트라 예측모드보다 상단블록의 인트라 예측모드에 더 작은 색인값을 할당하고, 좌하단블록의 인트라 예측모드보다 우상단블록의 인트라 예측모드에 더 작은 색인값을 할당한다. 반면, 현재블록이 가로길이보다 세로길이가 긴 블록 형태를 가질 때, 현재블록의 상단블록의 인트라 예측모드보다 좌측블록의 인트라 예측모드에 더 작은 색인값을 할당하고, 우상단블록의 인트라 예측모드보다 좌하단블록의 인트라 예측모드에 더 작은 색인값을 할당한다.
실시예 2-2
본 실시예는 현재블록의 형태에 따라 좌측블록(L)과 상단블록(A) 간, 그리고 좌하단블록(BL)과 우측상단블록(AL) 간에 인트라 예측 모드에 색인값을 할당하는 순서를 달리한다.
Figure PCTKR2018010085-appb-T000004
표 6를 참조하면, 현재블록이 정사각 형태일 때에는 실시예 2-1과 동일하다. 현재블록이 가로길이보다 세로길이가 길 때, 상단블록(A)의 인트라 예측모드보다 좌측블록(L)의 인트라 예측모드에 더 낮은 색인값을 할당하고, 좌하단블록(BL)의 인트라 예측모드에 우상단블록(AR)의 인트라 예측모드보다 낮은 색인값을 할당한다. 반면, 현재블록이 세로길이보다 가로길이가 길 때, 좌측블록(L)의 인트라 예측모드보다 상단블록(A)의 인트라 예측 모드에 더 낮은 색인값을 할당하고, 좌하단블록(BL)보다 우상단블록(AR)에 낮은 색인값을 할당한다. 표 6에서 DC 모드는 좌측블록(L), 상단블록(A), 및 planar 모드 다음의 우선순위를 갖는다. 그러나, DC 모드의 순서를 좌상단블록(AL) 다음의 위치에 놓을 수도 있다.
실시예 2-3
본 실시예는 현재블록의 형태에 따라 좌측블록(L), 상단블록(A), 좌하단블록(BL) 및 우상단블록(AR) 간의 우선순위, 즉 색인값을 할당하는 순서를 달리한다.
Figure PCTKR2018010085-appb-T000005
표 7에서 보는 바와 같이, 현재블록이 가로길이보다 세로길이가 길 때 좌측블록(L)과 좌하단블록(BL)의 순서로 가장 낮은 색인값을 할당한다. 상단블록(A)와 우상단블록(AR)은 좌측블록(L)과 좌하단블록(BL)보다 큰 색인값을 할당한다.
반면, 현재블록이 세로길이보다 가로길이가 길 때 상단블록(A)와 우상단블록(AR)의 순서로 가장 낮은 색인값을 할당한다. 좌측블록(L)과 좌하단블록(BL)에는 상단블록(A)와 우상단블록(AR)보다 큰 색인값을 할당한다. 표 7에서 현재블록이 직사각 형태일 때 Planar와 DC는 (BL) 또는 (AR) 다음의 우선순위를 갖는다. 그러나, Planar와 DC의 우선순위를 다르게 설정하는 것도 가능하다. 예컨대, 표 8과 같이 Planar와 DC의 우선순위를 설정할 수도 있다.
Figure PCTKR2018010085-appb-T000006
실시예 2-4
본 실시예에서는 다수 개의 좌측블록과 다수 개의 상측블록이 추가로 더 고려된다. 도 7은 MPM 그룹을 생성하기 위해 사용되는 현재블록의 주변블록을 나타내는 또 다른 예시도이다. 본 실시예는 MPM 그룹을 생성하기 위해 L2(도 6의 L), A2(도 6의 A), BL, AR, AL 이외에 A1과 L1을 추가로 더 사용한다. 블록 A1은, 현재블록의 폭을 반으로 나누었을 때 좌측에 위치한 블록 내의 최우측상단 픽셀 위치에서 위쪽으로 한 픽셀 이동한 픽셀을 포함하는 블록을 나타내고, L1은 현재블록의 높이를 반으로 나누었을 때 위쪽에 위치하는 블록 내의 최좌측하단 픽셀 위치에서 왼쪽으로 한 픽셀 이동한 픽셀을 포함하는 블록이다.
Figure PCTKR2018010085-appb-T000007
본 실시예에서는, (L1), (L2)와 (A1), (A2) 간, 그리고 (BL)과 (AR) 간의 우선순위, 즉, 색인값을 현재블록의 형태에 따라 다르게 할당한다. 표 9에서 보는 바와 같이, 본 실시예는 현재블록이 정사각 형태일 때, (L1), (L2), (A1), (A2), Planar, DC, (BL), (AR), and (AL)의 순서로 각 인트라 예측모드에 색인값을 할당한다.
현재블록이 가로길이보다 세로길이가 긴 직사각 형태일 때에는, 좌측에 위치한 블록 (L1)과 (L2)가 상단에 위치한 (A1) 및 (A2)보다 작은 색인값이 할당된다. 또한, (BL)에 (AR)보다 작은 색인값이 할당된다. 즉, 색인값이 할당되는 순서는 정사각 형태일 때와 동일하다. 반면, 현재블록이 세로길이보다 가로길이가 긴 직사각 형태일 때, 상단에 위치한 (A1) 및 (A2)에 좌측에 위치한 블록 (L1)과 (L2)보다 작은 색인값이 할당된다. 또한, (AR)에 (BL)보다 작은 색인값이 할당된다. 따라서, 색인값이 할당되는 순서는 (A1), (A2), (L1), (L2), Planar, DC, (AR), (BL), (AL)이다.
실시예 2-5
본 실시예는 현재블록의 형태에 따라 (L1), (L2), (A1), (A2), (BL) 및 (AR)간에 색인값을 할당하는 순서를 다르게 한다. 현재블록이 가로길이보다 세로길이가 긴 직사각 형태일 때에는, 좌측에 위치한 블록 (L1), (L2) 및 (BL)에 상단에 위치한 (A1), (A2) 및 (AR)보다 작은 색인값이 할당된다. 반면, 현재블록이 세로길이보다 가로길이가 긴 직사각 형태일 때, 상단에 위치한 (A1), (A2) 및 (AR)에 좌측에 위치한 블록 (L1), (L2) 및 (BL)보다 작은 색인값이 할당된다. 예컨대, 표 10 또는 표 11의 순서로 색인값이 할당될 수 있다.
Figure PCTKR2018010085-appb-T000008
Figure PCTKR2018010085-appb-T000009
실시예 2-6
본 실시예에서는 현재블록이 직사각 형태일 때에만 다수의 상단블록(A1, A2)과 다수의 좌측블록(L1, L2)을 MPM을 위한 후보블록으로 고려한다. 또한, 현재블록이 가로길이가 긴 형태인지 세로길이가 긴 형태인지 여부에 따라, 고려되는 상단블록 또는 좌측블록의 개수가 달라진다.
Figure PCTKR2018010085-appb-T000010
표 12를 참조하면, 현재블록이 정사각 형태일 때에는 L1과 A1은 고려되지 않고, (L2), (A2), Planar, DC, (BL), (AR), 및 (AL)의 순서로 각 인트라 예측모드에 색인값을 할당한다.
현재블록이 세로길이가 긴 직사각 형태일 때에는, 좌측에 위치한 L1는 후보로서 고려되나 상단의 A1은 고려되지 않는다. 그리고 (L1), (L2)에 (A2)보다 낮은 색인값을 할당되고, (BL)에 (AR)보다 작은 색인값이 할당된다. 반면, 현재블록이 가로길이가 긴 직사각 형태일 때에는, 상단의 A1은 후보로서 고려되나 좌측의 L1은 고려되지 않는다. 그리고 (A1), (A2)에 (L2)보다 작은 색인값이 할당되고, (AR)에 (BL)보다 작은 색인값이 할당된다.
실시예 2-7
실시예 2-7은 실시예 2-6과 유사하나, (BL)과 (AR)도 현재블록의 블록 형태에 따라 우선순위, 즉, 색인값을 할당하는 순서를 달리한다.
즉, 현재블록이 세로길이가 긴 직사각 형태일 때, (L1), (L2) 및 (BL)에 (A2)보다 작은 색인값을 할당한다. 반면, 현재블록이 가로길이가 긴 직사각 형태일 때에는, (A1), (A2) 및 (AR)에 (L2)보다 작은 색인값을 할당한다. 예컨대, 표 10 또는 표 11의 순서로 색인값이 할당될 수 있다.
Figure PCTKR2018010085-appb-T000011
Figure PCTKR2018010085-appb-T000012
실시예 2-2 내지 2-7에서는 현재블록의 형태에 따라 인트라 예측 모드들에 색인값을 할당하는 다양한 순서를 구체적인 예시를 들어 설명하였으나, 본 발명의 범위가 그 예시에 한정되지는 않는다. 현재블록이 가로길이보다 세로길이가 길 때 현재블록의 상단에 위치한 블록보다 좌측에 위치한 블록에 더 작은 색인값을 할당하고, 세로길이보다 가로길이가 길 때 좌측에 위치한 블록의 인트라 예측모드보다 상단에 위치한 블록의 인트라 예측 모드에 더 작은 색인값을 할당하는 방식을 취하는 한, 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
실시예 2-2 내지 2-7에서는 현재블록에 인접한 주변블록들의 인트라 예측모드들을 제외한 비방향성 모드 (planar 모드 및 DC 모드)의 순서는 주변블록들의 인트라 예측모드 사이에 놓일 수 있다. 예를 들어, DC 모드의 경우에는 좌상단블록(AL) 다음의 위치에 놓일 수 있다.
3. Selected Mode 그룹 생성 방법
Selected Mode 그룹은, MPM 그룹에 속한 인트라 예측모드를 제외한 나머지 모드들을 이용하여 생성된다. Selected Mode 그룹에 속하는 모드의 개수는 다양하게 설정할 수 있으나, 여기서는 16개인 것으로 설명한다.
총 67개 전체 예측모드 중에서 MPM 그룹에 속한 6개의 예측모드를 제외한 나머지 61개의 모드들을 재 인덱싱하면, 0번 인덱스부터 60번 인덱스까지 생성된다. Selected Mode 그룹은 재설정된 인덱스 번호를 기준으로 4의 배수의 모드번호를 가지는 인트라 예측모드들로 채워질 수 있다.
Selected Mode = {0, 4, 8, 12, 16, ......., 56, 60}
또한, Selected Mode 그룹은 MPM 그룹에 속한 각 MPM들을 이용하여 생성할 수도 있다. 예컨대, MPM 그룹 내에 속한 방향성 모드들에 순차적으로 오프셋(offset)을 적용하여 Selected Mode 그룹을 생성할 수도 있다. 순차적으로 적용되는 오프셋은, -1, +1, -2, +2, -3, +3, -4, +4 … 순서일 수 있고, 또는 -2, +2, -4, +4, -6, +6, -8, +8 … 의 순서일 수도 있다. 여기서, - 및 +의 순서는 바뀔 수도 있다.
예를 들어, -1, +1, -2, +2, -3, +3, -4, +4 …의 순서로 오프셋이 적용된다고 하자. MPM = {4, 18, 0, 35, 1, 58}인 경우, Selected Mode 그룹은 다음과 같이 생성된다.
Selected Mode = {3, 5, 17, 19, 34, 36, 57, 59, / 2, 6, 16, 20, 33, 37, 56, 60}
다른 예로, MPM = {16, 21, 22, 0, 1, 45}인 경우, Selected Mode 그룹은 다음과 같이 생성된다.
Selected Mode = {15, 17, 20, 23, 44, 46, / 14, 18, 19, 24, 43, 47, / 13, 25, 42, 48}
여기서, 이미 Selected Mode 그룹에 존재하는 모드와 중복되는 모드들은 추가되지 않는다.
다른 예로, Selected Mode 그룹은 MPM 그룹 설정 방법에 의해 선택가능한 인트라 예측모드 후보들 중에서 MPM 그룹으로 설정되지 않은 예측모드들을 Selected Mode 그룹에 포함할 수 있다. 예컨대, MPM 그룹 설정 방법에 의해 (중복된 예측모드를 제외하고) 10, 34, 0, 1, 2, 56, 14 모드들이 선택이 되고, 이 중 우선 순위에 따라 실제 MPM 그룹에 10, 34, 0, 1, 2 모드들이 설정되었다면, 남은 56, 14 모드들은 Selected Mode 그룹에 포함된다. 여기서, MPM의 개수를 5개인 경우를 예시로 들었지만, 이에 한정하지 않는다. 한편, MPM 그룹 설정 방법에 의해 선택 가능한 인트라 예측모드 후보들은, “2. MPM 그룹 생성 방법”에서 설명한 방법으로 도출 가능한 인트라 예측모드들의 전부 또는 일부일 수 있다. 예컨대, 그 인트라 예측모드 후보들은 주변 블록들의 인트라 예측모드들과 planar 모드, DC 모드를 포함하는 예측모드들일 수 있다. 또는, 주변 블록들의 인트라 예측모드들 중 방향성 모드들에 -1 또는 +1을 가산한 인트라 예측모드들을 더 포함할 수도 있고, 더 나아가 수직 모드, 수평 모드, 대각선 모드 등의 디폴트 모드들을 추가로 더 포함할 수도 있다.
Selected Mode 그룹의 16개 모드 중 2개의 예측모드(56, 14) 이외의 남은 예측모드들은 기설정된 인트라 예측모드들로 채워질 수 있다. 예컨대, 기설정된 예측모드에는 18, 4, 6, 8, 12, 14, 16, 20, 22, 24, 28, 30, 32, 9, 11, 25 순일 수 있다. 또한, 남은 14개의 예측모드들은 MPM 그룹 내에 속한 방향성 모드들에 순차적으로 오프셋(offset)을 적용하여 Selected Mode 그룹에 추가할 수 있다. 순차적으로 적용되는 오프셋은, -1, +1, -2, +2, -3, +3, -4, +4 … 순서일 수 있고, 또는 -2, +2, -4, +4, -6, +6, -8, +8 … 의 순서일 수도 있다. 여기서, - 및 +의 순서는 바뀔 수도 있다.
4. non-Selected Mode 그룹 생성 방법
non-Selected Mode 그룹은 전체 67개의 인트라 예측모드들 중에서 MPM 그룹 및 Selected Mode 그룹에 속하지 않는 나머지 모드들로 구성된다. 전체 67개의 인트라 예측모드들 중에서 MPM 그룹에 속하지 않은 모드들을 모드 번호의 오름차순으로 정렬한 후 정렬된 순서에 따라 4의 배수의 모드 번호를 가지는 인트라 예측모드들은 Selected Mode 그룹에 속하고, 4의 배수를 제외한 나머지 인트라 예측모드들이 non-Selected Mode 그룹에 속한다. non-Selected Modes 그룹은 다음과 같이 생성되고, mode 1부터 순차적으로 색인값이 정해진다.
non-Selected Modes 그룹 = {1, 2, 3, 5, 6, 7, 9, 10, …, 58, 59}
non-Selected Mode 그룹의 색인값은 TB 방식으로 이진화되므로, 색인값이 작을수록 소요되는 비트수가 감소한다. 따라서, non-Selected Mode 그룹에 속하는 인트라 예측모드들도 발생 빈도가 높은 모드들에 작은 색인값을 할당하는 것이 효율적일 수 있다.
하나의 실시예에서, MPM 그룹에 속하는 인트라 예측모드들 중 가장 낮은 색인값을 가지는 방향성 모드의 예측 방향에 근거하여, non-Selected Mode 그룹 내의 각 모드들에 색인값이 할당된다. 예컨대, MPM 그룹에 속하는 인트라 예측모드들 중 첫 번째 방향성 모드(가장 낮은 색인값을 가지는 방향성 모드)가 수평으로 지향된(vertically-oriented) 모드인 경우, 인트라 예측모드의 모드 번호가 클수록 큰 색인값을 할당하는 방식으로 non-Selected Mode 그룹에 속하는 인트라 예측모드들에 색인값을 할당한다. 반면, MPM 그룹에 속하는 인트라 예측모드들 중 첫 번째 방향성 모드가 수직으로 지향된(vertically-oriented) 모드인 경우, 인트라 예측모드의 모드 번호가 클수록 작은 색인값을 할당하는 방식으로 non-Selected Mode 그룹에 속하는 인트라 예측모드들에 색인값을 할당한다.
MPM 그룹에 속하는 첫 번째 방향성 모드가 mode 12라 하자. 도 4를 참조하면 mode 12는 수평으로 지향된 모드이므로, 모드 번호의 오름차순으로 나머지 모드들에 색인값을 순차적으로 할당하게 된다. 만약 MPM 그룹에 속하는 첫 번째 방향성 모드가 mode 40이라면, mode 40은 수직으로 지향된 모드이므로, 모드 번호의 내림차순으로 나머지 모드들에 색인값을 순차적으로 할당하게 된다.
다른 실시예로서, 현재블록의 형태에 따라 non-Selected Mode 그룹 내의 각 모드들에 색인값이 할당된다. 예컨대, 현재블록이 정사각 형태이거나 또는 가로길이보다 세로길이가 긴 블록 형태인 경우, 인트라 예측모드의 모드 번호가 클수록 큰 색인값을 할당하는 방식으로 non-Selected Mode 그룹에 속하는 인트라 예측모드들에 색인값을 할당한다. 반면, 현재블록이 세로길이보다 가로길이가 긴 블록 형태를 가질 때, 인트라 예측모드의 모드 번호가 클수록 작은 색인값을 할당하는 방식으로 non-Selected Mode 그룹에 속하는 인트라 예측모드들에 색인값을 할당한다.
도 8은 본 발명의 실시예에 따른 영상 복호화 장치를 도시한 것이다.
영상 복호화 장치는 복호화부(810), 역양자화부(820), 역변환부(830), 예측부(840), 가산기(850), 필터부(860) 및 메모리(870)를 포함한다. 도 2의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(810)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(810)는 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 구조로 분할한다.
도 3의 블록 분할 구조를 예로 들면, 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 구조로 분할되지 않는다.
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에 의해 분할되지 않는다.
이렇게, 복호화부(810)는 먼저 QT 분할 플래그(QT_split_flag)를 반복적으로(recursively) 추출하여 CTU를 QT 구조로 분할한다. 그리고 QT의 리프 노드에 대해서는 BT 분할 플래그(BT_split_flag)를 추출하고, BT 분할 플래그(BT_split_flag)가 분할을 지시하면 분할 타입 정보를 추출한다. 이러한 방식을 통해 복호화부(810)은 CTU가 도 3의 (a)와 같은 구조로 분할됨을 확인할 수 있다.
한편, SPS 또는 PPS에 MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize 등의 정보가 추가로 정의되어 있는 경우에는, 복호화부(810)는 해당 정보를 추출하고 QT 및 BT에 대한 분할 정보를 추출할 때 이 정보를 반영할 수 있다.
예컨대, QT에서 MinQTSize 과 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서 복호화부(810)는 해당 블록의 QT에 관한 분할 정보(QT 분할 플래그)를 비트스트림으로부터 추출하지 않으며(즉, 비트스트림에는 해당 블록의 QT 분할 플래그가 존재하지 않음), 그 값을 자동으로 0으로 설정한다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 복호화부(810)는 QT에서 MaxBTSize보다 큰 크기의 블록을 가지는 리프 노드에 대한 BT 분할 플래그가 추출하지 않으며, BT 분할 플래그를 자동으로 0으로 설정한다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않는다. 따라서, 해당 노드의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서, 복호화부(810)는 MinBTSize와 동일한 크기를 가지는 블록의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다.
한편, 복호화부(810)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다.
예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(810)는 현재블록의 인트라 예측정보(인트라 예측모드)에 대한 신택스 요소를 복호화하여 인트라 예측부(842)로 전달한다. 상기 신택스 요소에는 복수의 그룹 중 현재블록의 인트라 예측모드가 속하는 그룹을 식별하기 위한 정보 및 현재블록의 인트라 예측모드가 속하는 그룹 내에서 현재블록의 인트라 예측모드를 지시하기 위한 색인정보가 포함된다. 즉, 복호화부(810)는 현재블록의 인트라 예측모드가 속하는 그룹을 식별하기 위한 정보를 복호화하고, 식별된 그룹 내에서 현재블록의 인트라 예측모드를 지시하기 위한 색인정보를 복호화한다.
일 실시예로서, 도 9를 참조하면, 복호화부(810)는 현재블록의 인트라 예측모드가 MPM 그룹 내에서 선택되는지 여부를 지시하는 제1 플래그를 복호화한다(S902). 제1 플래그가 현재블록의 인트라 예측모드가 MPM 그룹 내에서 선택됨을 지시하면(예컨대, 제1 플래그 = 1), 복호화부(810)는 MPM 그룹에 속하는 인트라 예측모드들 중 현재블록의 인트라 예측모드를 지시하는 제1 색인정보를 복호화한다(S904, S906). 반면, 제1 플래그가 현재블록의 인트라 예측모드가 MPM 그룹 내에서 선택되지 않음을 지시하면(예컨대, 제1 플래그 = 0), 복호화부(810)는 현재블록의 인트라 예측모드가 Selected Mode 그룹 내에서 선택되는지 여부를 지시하는 제2 플래그를 복호화한다(S908).
제2 플래그가 현재블록의 인트라 예측모드가 Selected Mode 그룹 내에서 선택됨을 지시하면(예컨대, 제2 플래그 = 1), 복호화부(810)는 Selected Mode 그룹 내에서 현재블록의 인트라 예측모드를 지시하기 위한 제2 색인정보를 복호화한다(S910, S912).
반면, 제2 플래그가 현재블록의 인트라 예측모드가 Selected Mode 그룹 내에서 선택되지 않음을 지시하면(예컨대, 제2 플래그 = 0), 복호화부(810)는 non-Selected Mode 그룹 내에서 현재블록의 인트라 예측모드를 지시하기 위한 제3 색인정보를 복호화한다(S910, S914).
한편, 복호화부(810)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(820)는 양자화된 변환계수들을 역양자화하고 역변환부(830)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
예측부(840)는 인트라 예측부(642) 및 인터 예측부(644)를 포함한다. 인트라 예측부(842)는 현재블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(844)는 현재블록의 예측 타입인 인트라 예측일 때 활성화된다.
인트라 예측부(842)는 복호화부(810)로부터 추출된 인트라 예측모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다. 인트라 예측부(842)는 복호화부(810)로부터 복호화된 현재블록의 인트라 예측모드가 속하는 그룹을 식별하기 위한 정보에 의해 현재블록의 인트라 예측모드가 속하는 그룹이 결정되면, 전체 인트라 예측모드들 중 일부를 해당 그룹 내에 포함시킨다. 그리고 복호화부(810)로부터 복호화된 색인정보를 이용하여 해당 그룹의 인트라 예측모드들 중에서 현재블록의 인트라 예측모드를 결정한다.
예컨대, 도 9 및 10을 참조하면, 인트라 예측부(842)는 MPM 그룹을 생성한다(S1002). 그리고, 복호화부(810)로부터 복호화된 제1 플래그가 현재블록의 인트라 예측모드가 MPM 그룹에 속함을 지시하면, 제1 색인정보를 이용하여 MPM 그룹 내의 인트라 예측모드들 중에서 현재블록의 인트라 예측모드를 결정한다(S1004, S1006).
만약 제1 플래그가 현재블록의 인트라 예측모드가 MPM 그룹에 속하지 않음을 지시하면, 인트라 예측부(842)는 Selected Mode 그룹을 생성한다(S1004, S1008). 그리고 복호화부(810)로부터 복호화된 제2 플래그가 현재블록의 인트라 예측모드가 Selected Mode 그룹에 속함을 지시하면, 제2 색인정보를 이용하여 Selected Mode 그룹 내의 인트라 예측모드들 중에서 현재블록의 인트라 예측모드를 결정한다(S1010, S1012).
만약 제2 플래그가 현재블록의 인트라 예측모드가 Selected Mode 그룹에 속하지 않음을 지시하면, 인트라 예측부(842)는 non-Selected Mode 그룹을 생성한다(S1010, S1014). 그리고, 복호화부(810)로부터 복호화된 제3 색인정보를 이용하여 non-Selected Mode 그룹 내의 인트라 예측모드들 중에서 현재블록의 인트라 예측모드를 결정한다(S1016).
인트라 예측부(842)가 MPM 그룹, Selected Mode 그룹 및 non-Selected Mode 그룹을 생성하고, 각 그룹에 색인값을 할당하는 방법은 영상 부호화 장치(200)와 동일하므로 더 이상의 상세한 설명은 생략한다.
인터 예측부(844)는 복호화부(810)로부터 추출된 인터 예측정보에 대한 신택스 요소를 이용하여 현재블록의 움직임정보를 결정하고, 결정된 움직임정보를 이용하여 현재블록을 예측한다.
가산기(850)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(860)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(870)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조픽처로 사용된다.
현재블록의 픽셀값들은 휘도(luminance) 성분과 색차(chrominance) 성분을 포함한다. 이상에서 설명한 인트라 예측 모드 부호화는 휘도성분으로 이루어진 휘도블록(luma block)에 적용된다. 이하에서는, 색차성분으로 이루어진 색차블록(chroma block)의 인트라 예측모드를 부호화 또는 복호화하기 위한 방법에 대해 기술한다.
색차블록의 인트라 예측모드는 전체 인트라 예측모드들 중 일부를 포함하는 후보 인트라 예측모드들 중에서 결정된다. 색차블록의 후보 인트라 예측모드로는 다음의 모드들이 포함될 수 있다.
- DM (direct mode): 색차블록과 동일한 위치의 휘도블록이 가지는 인트라 예측모드
- 주변 모드 (neighboring mode): 색차블록에 인접한 주변 색차블록들의 인트라 예측모드들
본 실시예는, 하나 이상의 DM과 하나 이상의 주변 모드를 이용하여 색차블록의 인트라 예측모드를 위한 후보 그룹을 구성한다.
DM (direct mode)
CTU의 휘도성분과 색차성분은 동일한 QTBT 구조로 분할될 수 있다. 이 경우, 색차블록과 동일한 위치의 휘도블록은 하나이므로 휘도블록의 인트라 예측모드가 색차블록의 인트라 예측모드로 결정된다.
CTU의 휘도성분과 색차성분은 서로 다른 QTBT 구조로 분할될 수도 있다. 도 11의 (a)는 휘도블록의 QTBT 분할 구조를, (b)는 색차블록의 QTBT 구조를 나타낸다. 색차블록의 QTBT 구조에서 빗금친 좌측 색차블록에 대응하는 휘도블록은 도 11(a)에서 빗금친 좌측블록이다. 이 빗금친 좌측 휘도블록은 다수의 휘도블록들을 포함한다. 이 경우, 좌측 색차블록에 대응하는 좌측 휘도블록 내에서 특정 위치의 픽셀을 포함하는 휘도블록들의 인트라 예측모드를 이용하여 DM을 결정한다. 예컨대, 중심 픽셀(CR), 최좌상단 픽셀(TL), 최우상단 픽셀(TR), 죄좌하단 픽셀(BL), 최우하단 픽셀(BR)의 순서로 해당 픽셀들 포함하는 휘도블록을 체크하여 유효한 휘도블록의 인트라 예측모드를 하나 이상의 DM 모드들로 순차적으로 선정한다.
주변 모드 (neighboring mode)
주변 모드들은 현재 색차블록에 인접한 주변 색차블록들의 인트라 예측모드들로부터 유도될 수 있다. 도 6을 참조하면, 현재 색차블록의 좌측 색차블록(L), 상단 색차블록(A), 좌하단 색차블록(BL), 우상단 색차블록(AR), 좌상단 색차블록(AL)의 전부 또는 일부가 주변 색차블록들로 사용될 수 있다. 후보 그룹에 포함되는 우선순위는 좌측 색차블록(L), 상단 색차블록(A), 좌하단 색차블록(BL), 우상단 색차블록(AR), 좌상단 색차블록(AL)의 순서일 수 있다. 즉, 좌측 색차블록(L), 상단 색차블록(A), 좌하단 색차블록(BL), 우상단 색차블록(AR), 좌상단 색차블록(AL) 순서로 색인값이 증가한다.
또는, 현재 색차블록의 형태에 따라 후보 그룹에 포함되는 우선순위, 즉, 색인값을 할당하는 순서를 달리 결정할 수도 있다. 현재 색차블록이 정사각 형태이면, 위도 동일한 순서로 색인값이 할당된다. 현재 색차블록이 가로길이보다 세로길이가 길 때에는, 현재블록의 상단에 위치한 블록보다 좌측에 위치한 블록에 더 낮은 색인값을 할당한다. 반면, 세로길이보다 가로길이가 길 때 좌측에 위치한 블록의 인트라 예측모드보다 상단에 위치한 블록의 인트라 예측 모드에 더 낮은 색인값을 할당한다. 예컨대, 표 15 또는 표 16의 순서로 색인값이 할당될 수 있다. 현재 색차블록의 인트라 예측모드를 지시하는 색인값은 truncated unary 형태로 이진화될 수 있다.
Figure PCTKR2018010085-appb-T000013
Figure PCTKR2018010085-appb-T000014
본 실시예의 영상 부호화 장치는 하나 이상의 DM과 하나 이상의 주변 모드들을 포함하는 후보 그룹 내에서 현재 색차블록의 인트라 예측모드를 지시하기 위한 색인정보를 부호화하여 영상 복호화 장치로 전달하고, 영상 복호화 장치는 영상 부호화 장치와 동일한 방식으로 하나 이상의 DM과 하나 이상의 주변 모드들을 포함하는 후보 그룹을 생성한 이후에, 수신한 색인정보를 이용하여 현재 색차블록의 인트라 예측모드를 결정한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는, 2017년 08월 31일자로 한국에 출원한 특허출원번호 제10-2017-0111368호 및 2018년 01월 05일자로 한국에 출원한 특허출원번호 제10-2018-0001598호에 대해 우선권을 주장한다.

Claims (17)

  1. 부호화 대상 블록인 현재블록의 인트라 예측모드를 부호화하는 방법에 있어서,
    상기 현재블록의 주변블록들의 인트라 예측모드를 이용하여 제1 그룹의 인트라 예측모드들을 결정하고, 상기 현재블록의 인트라 예측모드가 상기 제1 그룹에 속하는지 여부를 지시하는 제1 플래그를 부호화하는 단계;
    상기 현재블록의 인트라 예측모드가 상기 제1 그룹에 속할 때, 상기 제1 그룹에서 상기 현재블록의 인트라 예측모드를 지시하기 위한 제1 색인정보를 부호화하는 단계;
    상기 현재블록의 인트라 예측모드가 상기 제1 그룹에 속하지 않을 때, 기정의된 모드 번호를 가지는 인트라 예측모드들로 구성되거나 또는 상기 제 1그룹 내의 방향성 모드로부터 도출된 인트라 예측모드들로 구성된 제2 그룹을 결정하고 상기 현재블록의 인트라 예측모드가 상기 제2 그룹에 속하는지 여부를 지시하는 제2 플래그를 부호화 단계;
    상기 현재블록의 인트라 예측모드가 상기 제2 그룹에 속할 때 상기 제2 그룹에서 상기 현재블록의 인트라 예측모드를 지시하기 위한 제2 색인정보를 부호화하는 단계; 및
    상기 현재블록의 인트라 예측모드가 상기 제2 그룹에 속하지 않을 때, 상기 제1 그룹 및 상기 제2 그룹에 속하는 인트라 예측모드들을 제외한 나머지 인트라 예측모드들로 구성된 제3 그룹에서 상기 현재블록의 인트라 예측모드를 지시하기 위한 제3 색인정보를 부호화하는 단계를 포함하되,
    상기 제1 그룹에 속하는 인트라 예측모드들 중 가장 낮은 색인값을 가지는 방향성 모드의 예측 방향 또는 상기 현재블록의 블록 형태(shape)에 근거하여 상기 제3 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드를 부호화하는 방법.
  2. 제1항에 있어서,
    상기 제1 그룹에 속하는 인트라 예측모드들 중 가장 낮은 색인값을 가지는 방향성 모드가 수평으로 지향된 모드인 경우, 인트라 예측모드의 모드 번호가 클수록 큰 색인값을 할당하는 방식으로 상기 제3 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  3. 제1항에 있어서,
    상기 제1 그룹에 속하는 인트라 예측모드들 중 가장 낮은 색인값을 가지는 방향성 모드가 수직으로 지향된 모드인 경우, 인트라 예측모드의 모드 번호가 클수록 작은 색인값을 할당하는 방식으로 상기 제3 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  4. 부호화 대상 블록인 현재블록의 인트라 예측모드를 부호화하는 방법에 있어서
    전체 인트라 예측모드들 중 일부를 포함하는 후보 그룹을 생성하는 단계; 및
    상기 후보 그룹에 속하는 인트라 예측모드들 중 상기 현재블록의 인트라 예측모드를 지시하기 위한 색인정보를 부호화하는 단계를 포함하되,
    상기 현재블록의 블록 형태(shape)에 근거하여 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값이 할당되는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  5. 제4항에 있어서,
    상기 후보 그룹은 상기 현재블록의 주변블록의 인트라 예측모드들로부터 유도된 MPM(most probable mode)들로 구성된 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  6. 제5항에 있어서,
    상기 현재블록이 세로길이보다 가로길이가 긴 블록 형태를 가질 때,
    상기 현재블록의 좌측블록의 인트라 예측모드보다 상단블록의 인트라 예측모드에 더 작은 색인값을 할당하고,
    좌측하단블록의 인트라 예측모드보다 우측상단블록의 인트라 예측모드에 더 작은 색인값을 할당하는 특징으로 것을 하는 인트라 예측모드 부호화 방법.
  7. 제5항에 있어서,
    상기 현재블록이 가로길이보다 세로길이가 긴 블록 형태를 가질 때,
    상기 현재블록의 상단블록의 인트라 예측모드보다 좌측블록의 인트라 예측모드에 더 작은 색인값을 할당하고,
    우측상단블록의 인트라 예측모드보다 좌측하단블록의 인트라 예측모드에 더 작은 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  8. 제4항에 있어서,
    상기 후보 그룹은 전체 인트라 예측모드들 중 기결정된 인트라 예측모드들을 제외한 나머지 인트라 예측모드들로 구성된 것을 특징으로 하되,
    상기 기결정된 인트라 예측모드들은,
    상기 현재블록의 주변블록의 인트라 예측모드들로부터 유도된 MPM(most probable mode)들, 및
    기 정의된 모드 번호들을 가지는 인트라 예측모드들, 또는 상기 MPM(most probable mode)들 중 방향성 모드로부터 도출된 인트라 예측모드들
    을 포함하는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  9. 제8항에 있어서,
    상기 현재블록이 세로길이보다 가로길이가 긴 블록 형태를 가질 때, 인트라 예측모드의 모드 번호가 클수록 큰 색인값을 할당하는 방식으로 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  10. 제8항에 있어서,
    상기 현재블록이 가로길이보다 세로길이가 긴 블록 형태를 가질 때, 인트라 예측모드의 모드 번호가 클수록 큰 색인값을 할당하는 방식으로 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 부호화 방법.
  11. 복호화 대상 블록인 현재블록의 인트라 예측모드를 복호화하는 방법에 있어서,
    비트스트림으로부터 상기 현재블록의 인트라 예측모드를 식별하기 위한 색인정보를 복호화하는 단계;
    전체 인트라 예측모드들 중 일부를 포함하는 후보 그룹을 생성하는 단계; 및
    상기 후보 그룹에 속하는 인트라 예측모드들 중에서 상기 색인정보에 의해 지시되는 인트라 예측모드를 상기 현재블록의 인트라 예측모드로 결정하는 단계를 포함하되,
    상기 현재블록의 블록 형태(shape)에 근거하여 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값이 할당되는 것을 특징으로 하는 인트라 예측모드 복호화 방법.
  12. 제11항에 있어서,
    상기 후보 그룹은 상기 현재블록의 주변블록의 인트라 예측모드들로부터 유도된 MPM(most probable mode)들로 구성된 것을 특징으로 하는 인트라 예측모드 복호화 방법.
  13. 제12항에 있어서,
    상기 현재블록이 세로길이보다 가로길이가 긴 블록 형태를 가질 때,
    상기 현재블록의 좌측블록의 인트라 예측모드보다 상단블록의 인트라 예측모드에 더 작은 색인값을 할당하고,
    좌측하단블록의 인트라 예측모드보다 우측상단블록의 인트라 예측모드에 더 작은 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 복호화 방법.
  14. 제12항에 있어서,
    상기 현재블록이 가로길이보다 세로길이가 긴 블록 형태를 가질 때,
    상기 현재블록의 상단블록의 인트라 예측모드보다 좌측블록의 인트라 예측모드에 더 작은 색인값을 할당하고,
    우측상단블록의 인트라 예측모드보다 좌측하단블록의 인트라 예측모드에 더 작은 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 복호화 방법.
  15. 제11항에 있어서,
    상기 후보 그룹은 전체 인트라 예측모드들 중 기결정된 인트라 예측모드들을 제외한 나머지 인트라 예측모드들로 구성된 것을 특징으로 하되,
    상기 기결정된 인트라 예측모드들은,
    상기 현재블록의 주변블록의 인트라 예측모드들로부터 유도된 MPM(most probable mode)들, 및
    기 정의된 모드 번호들을 가지는 인트라 예측모드들, 또는 상기 MPM(most probable mode)들 중 방향성 모드로부터 도출된 인트라 예측모드들
    을 포함하는 것을 특징으로 하는 인트라 예측모드 복호화 방법.
  16. 제15항에 있어서,
    상기 현재블록이 세로길이보다 가로길이가 긴 블록 형태를 가질 때, 인트라 예측모드의 모드 번호가 클수록 작은 색인값을 할당하는 방식으로 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 복호화 방법.
  17. 제15항에 있어서,
    상기 현재블록이 가로길이보다 세로길이가 긴 블록 형태를 가질 때, 인트라 예측모드의 모드 번호가 클수록 큰 색인값을 할당하는 방식으로 상기 후보 그룹에 속하는 인트라 예측모드들에 색인값을 할당하는 것을 특징으로 하는 인트라 예측모드 복호화 방법.
PCT/KR2018/010085 2017-08-31 2018-08-30 인트라 예측을 이용한 영상의 부호화 및 복호화 WO2019045498A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170111368 2017-08-31
KR10-2017-0111368 2017-08-31
KR10-2018-0001598 2018-01-05
KR1020180001598A KR102489081B1 (ko) 2017-08-31 2018-01-05 인트라 예측을 이용한 영상의 부호화 및 복호화

Publications (1)

Publication Number Publication Date
WO2019045498A1 true WO2019045498A1 (ko) 2019-03-07

Family

ID=65525952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/010085 WO2019045498A1 (ko) 2017-08-31 2018-08-30 인트라 예측을 이용한 영상의 부호화 및 복호화

Country Status (1)

Country Link
WO (1) WO2019045498A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130109976A (ko) * 2010-05-30 2013-10-08 엘지전자 주식회사 향상된 인트라 예측 모드 시그날링
KR20140007283A (ko) * 2012-07-06 2014-01-17 삼성전자주식회사 깊이 영상의 부호화 장치 및 방법, 복호화 장치 및 방법
KR20140017014A (ko) * 2011-06-03 2014-02-10 퀄컴 인코포레이티드 방향성 파티션들에 의한 인트라 예측 모드 코딩
KR101585565B1 (ko) * 2011-06-17 2016-01-14 미디어텍 인크. 인트라 예측 모드의 코딩을 위한 방법 및 장치
US20170188035A1 (en) * 2015-12-25 2017-06-29 Le Holdings (Beijing) Co., Ltd. Transcoding method and electronic apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130109976A (ko) * 2010-05-30 2013-10-08 엘지전자 주식회사 향상된 인트라 예측 모드 시그날링
KR20140017014A (ko) * 2011-06-03 2014-02-10 퀄컴 인코포레이티드 방향성 파티션들에 의한 인트라 예측 모드 코딩
KR101585565B1 (ko) * 2011-06-17 2016-01-14 미디어텍 인크. 인트라 예측 모드의 코딩을 위한 방법 및 장치
KR20140007283A (ko) * 2012-07-06 2014-01-17 삼성전자주식회사 깊이 영상의 부호화 장치 및 방법, 복호화 장치 및 방법
US20170188035A1 (en) * 2015-12-25 2017-06-29 Le Holdings (Beijing) Co., Ltd. Transcoding method and electronic apparatus

Similar Documents

Publication Publication Date Title
WO2020222484A1 (ko) 인트라 예측 기반 비디오 신호 처리 방법 및 장치
WO2019125093A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018066863A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2019083284A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018080135A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2017022973A1 (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2019147087A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020185004A1 (ko) 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
WO2017061671A1 (ko) 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치
WO2017159901A1 (ko) 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
WO2020262951A1 (ko) 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
WO2018074812A1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2020242181A1 (ko) 인트라 모드 후보 구성 방법 및 영상 복호화 장치
WO2021060804A1 (ko) 크로마블록의 잔차블록 복원 방법 및 복호화 장치
WO2019027200A1 (ko) 비-제로 계수들의 위치를 표현하는 방법 및 장치
WO2019066175A1 (ko) 영상 코딩 시스템에서 블록 분할 구조에 따른 영상 디코딩 방법 및 장치
WO2023038447A1 (ko) 비디오 부호화/복호화 방법 및 장치
WO2018124686A1 (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
WO2017078450A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2021040459A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019045498A1 (ko) 인트라 예측을 이용한 영상의 부호화 및 복호화
WO2019203487A1 (ko) 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
WO2019199142A1 (ko) 인트라 예측 방법을 결정하기 위한 영상 코딩 방법 및 장치
WO2023038444A1 (ko) 비디오 부호화/복호화 방법 및 장치

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

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

Country of ref document: EP

Kind code of ref document: A1