[go: up one dir, main page]

WO2018169267A1 - Device and method for encoding or decoding image - Google Patents

Device and method for encoding or decoding image Download PDF

Info

Publication number
WO2018169267A1
WO2018169267A1 PCT/KR2018/002891 KR2018002891W WO2018169267A1 WO 2018169267 A1 WO2018169267 A1 WO 2018169267A1 KR 2018002891 W KR2018002891 W KR 2018002891W WO 2018169267 A1 WO2018169267 A1 WO 2018169267A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
qtbt
depth
node
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2018/002891
Other languages
French (fr)
Korean (ko)
Inventor
임정연
김형덕
손세훈
신재섭
이선영
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Telecom Co Ltd
Original Assignee
SK Telecom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Telecom Co Ltd filed Critical SK Telecom Co Ltd
Publication of WO2018169267A1 publication Critical patent/WO2018169267A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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 image encoding or decoding for efficiently encoding an image. More specifically, the present invention relates to a technique for signaling partition information about Quadtree plus Binary tree (QTBT) based block partitioning.
  • QTBT Quadtree plus Binary tree
  • a coding tree unit is a coding tree for reflecting various local characteristics in an image, and is divided into a coding unit (CU) using a quadtree structure.
  • CU coding unit
  • intra and inter coding prediction is also performed in the CU unit.
  • Each CU is again divided into a PU (Prediction Unit).
  • PU Prediction Unit
  • TU Transformation Unit
  • the QTBT structure removes existing CU, PU, and TU concepts, and proposes various CU partition shapes to match various local features of video data. That is, in QTBT, a CU may be defined to have a square or rectangular shape.
  • the CTU size was 64 in HEVC
  • the necessity of larger block sizes such as 128 and 256 has been discussed as the resolution of the image increases, and it is necessary to signal such segmentation information when the block is divided into at least 4x4 in the CTU.
  • the amount of data that is added increases.
  • An object of the present invention is to efficiently signal partitioning information about a quadtree plus binary tree (QTBT) based block partitioning.
  • QTBT quadtree plus binary tree
  • the QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree.
  • the encoding of the split information may include determining, from the determined block partitioning structure, the highest depth among depths in which at least one leaf node of the quadtree exists (hereinafter, referred to as “highest QT leaf node depth”). ; And encoding depth information indicating the highest QT leaf node depth as quadtree split information from a root node to parent nodes of nodes belonging to the highest QT leaf node depth in the determined block partitioning structure.
  • the block of the encoded image data is divided into a plurality of divided blocks according to a quadtree plus binarytree (QTBT) block partitioning structure, and the QTBT block partitioning structure is formed from a binary tree (leaf node) of a quadtree (quadtree).
  • QTBT quadtree plus binarytree
  • the splitting information includes depth information indicating the highest depth among the depths in which at least one leaf node of the quadtree exists in the QTBT block partitioning structure (hereinafter, referred to as “highest QT leaf node depth”).
  • the determining of the QTBT includes quadtree splitting for all nodes from a root node of the QTBT to a parent node of nodes belonging to the highest QT leaf node depth using depth information indicating the highest QT leaf node depth. It includes the step of performing.
  • an apparatus for decoding image data includes a memory and one or more processors, wherein the one or more processors are configured to parse the block of encoded image data and the partition information associated with the block of the image data and determine the QTBT using the partition information. And decoding the block of the encoded image data for each leaf node of the QTBT.
  • FIG. 1 is a diagram illustrating an example of a quad tree splitting structure for a CTU and a tree structure thereof.
  • FIG. 2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 3 shows an example of a plurality of intra prediction modes.
  • FIG. 4 is an exemplary diagram of neighboring blocks of a current block.
  • FIG 5 illustrates an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating an exemplary operation of encoding an image by the image encoding apparatus.
  • FIG. 7 is a flowchart illustrating an exemplary operation of decoding an image by the image decoding device.
  • FIG. 8 is a diagram illustrating an example of a QTBT splitting structure of a CTU and a tree structure thereof.
  • FIG. 9 is a diagram illustrating the number of bits that can be represented as BT in one CU.
  • FIG. 10 is a diagram illustrating an exemplary QTBT splitting structure of a CTU in a tree structure.
  • 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 divider 210, a predictor 220, a subtractor 230, a transformer 240, a quantizer 245, an encoder 250, an inverse quantizer 260, and an inverse transform unit ( 265, an adder 270, a filter unit 280, and a memory 290.
  • each component may be implemented as a hardware chip, or may be implemented in software and implemented so that the microprocessor executes a function of software corresponding to each component.
  • the block dividing unit 210 After dividing each picture constituting the image into a plurality of coding tree units (CTUs), the block dividing unit 210 recursively divides the CTUs using a tree structure.
  • a leaf node in the tree structure becomes a CU (coding unit) which is a basic unit of coding.
  • the tree structure is a quadtree (QT) in which a parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or such a QT structure and a parent node are divided into two child nodes.
  • QTBT QuadTree plus BinaryTree
  • the CTU may be first divided into a QT structure.
  • Quadtree splitting may be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf nodes allowed in QT. If the leaf node of the quadtree is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further partitioned into the BT structure.
  • MaxBTSize maximum block size of the root node allowed in BT
  • BT there may be a plurality of partition types. For example, in some examples, there may be two types of horizontally dividing a block of a node into two blocks of the same size (ie, symmetric horizontal splitting) and vertically dividing (ie, symmetric vertical splitting).
  • the asymmetrical form may include dividing a block of the node into two rectangular blocks having a size ratio of 1: 3, or dividing the block of the node in a diagonal direction.
  • the partition information generated by the block divider 210 by dividing the CTU by the QTBT structure is encoded by the encoder 250 and transmitted to the image decoding apparatus.
  • Examples of the present disclosure generally relate to a technique for signaling QTBT block partition information and a technique for determining block partitioning from QTBT block partition information.
  • certain techniques of the present disclosure may be performed by the encoder 250. That is, for example, the encoder 250 may perform the techniques of the present disclosure described with reference to FIGS. 8 to 10 below.
  • one or more other units of the encoding apparatus may be responsible for additionally or alternatively performing the techniques of this disclosure.
  • a block corresponding to a CU that is, a leaf node of QTBT
  • a 'current block' a block corresponding to a CU (that is, a leaf node of QTBT) to be encoded or decoded
  • the prediction unit 220 generates a prediction block by predicting the current block.
  • the predictor 220 includes an intra predictor 222 and an inter predictor 224.
  • the intra predictor 222 predicts pixels in the current block by using pixels (reference pixels) positioned around the current block in the current picture including the current block. There are a plurality of intra prediction modes according to the prediction direction, and the peripheral pixels to be used and the equations are defined differently according to each prediction mode. In particular, the intra predictor 222 may determine an intra prediction mode to be used to encode the current block. In some examples, intra prediction unit 222 may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, intra predictor 222 calculates rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. Intra prediction mode may be selected.
  • FIG. 3 shows an example of a plurality of intra prediction modes.
  • the plurality of intra prediction modes may include two non-directional modes (planar mode and DC mode) and 65 directional modes.
  • the intra predictor 222 selects one intra prediction mode from among the plurality of intra prediction modes, and predicts the current block by using a peripheral pixel (reference pixel) and an operation formula determined according to the selected intra prediction mode.
  • Information on the selected intra prediction mode is encoded by the encoder 250 and transmitted to the image decoding apparatus.
  • the intra prediction unit 222 may efficiently encode intra prediction mode information indicating which mode of the plurality of intra prediction modes is used as the intra prediction mode of the current block. Some of the most probable modes as the intra prediction mode of may be determined as the most probable mode (MPM). In addition, mode information indicating whether the intra prediction mode of the current block is selected from the MPM is generated and transmitted to the encoder 250. In general, when the intra prediction mode of the current block is selected from the MPMs, the first intra identification information for indicating which mode of the MPMs is selected as the intra prediction mode of the current block is transmitted to the encoder.
  • MPM most probable mode
  • the intra prediction unit 222 instead of explicitly signaling which mode among the MPMs and / or non-MPMs is selected as the intra prediction mode for predicting the current block. Can group the MPMs and / or non-MPMs and signal the index of the group to which the intra mode for predicting the current block belongs.
  • the present invention is not limited thereto, and the number of MPMs included in the MPM list may be selected within a range of 3 to 10.
  • the MPM list is constructed using the intra prediction mode of neighboring blocks of the current block.
  • the neighboring block may be, for example, all or some of the left block L, the upper block A, the lower left block BL, the upper right block AR, and the upper left block AL of the current block. It may include.
  • the intra prediction mode of these neighboring blocks is included in the MPM list.
  • the intra prediction mode of the valid blocks in the order of the left block (L), the top block (A), the bottom left block (BL), the top right block (AR), and the top left block (AL) is included in the MPM list.
  • the candidate is configured by adding a planar mode and a DC mode to the intra prediction modes of the blocks.
  • valid modes in the order of the left block (L), the top block (A), the planar mode, the DC mode, the bottom left block (BL), the top right block (AR), and the top left block (AL) may be added to the MPM list. have.
  • the MPM list includes only different intra prediction modes. That is, when a duplicated mode is present, only one of them is included in the MPM list.
  • the MPM may be derived by adding -1 or +1 to the directional modes in the list.
  • the number of insufficient modes is added to the MPM list in the order of vertical mode, horizontal mode, diagonal mode, and the like. You may.
  • the inter prediction unit 224 searches for the block most similar to the current block in the coded and decoded reference picture before the current picture, and generates a prediction block for the current block using the searched block. A motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • the motion information including the information about the reference picture and the motion vector used to predict the current block is encoded by the encoder 250 and transmitted to the image decoding apparatus.
  • the subtractor 230 subtracts the prediction block generated by the intra predictor 222 or the inter predictor 224 from the current block to generate a residual block.
  • the converter 240 converts the residual signal in the residual block having pixel values of the spatial domain into a transform coefficient of the frequency domain.
  • the transform unit 240 may convert the residual signals in the residual block using the size of the current block as a conversion unit, or divide the residual block into a plurality of smaller subblocks and convert the residual signals in a subblock-sized transform unit. You can also convert. There may be various ways of dividing the residual block into smaller subblocks. For example, it may be divided into sub-blocks of a predetermined same size, or a quadtree (QT) scheme may be used in which the residual block is a root node.
  • QT quadtree
  • the quantization unit 245 quantizes the transform coefficients output from the transform unit 240, and outputs the quantized transform coefficients to the encoder 250.
  • the encoder 250 generates a bitstream by encoding the quantized transform coefficients by using an encoding method such as CABAC.
  • the encoder 250 encodes information such as CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT split flag, BT split flag, split type, etc. related to block division, so that the image decoding apparatus is the same as the image encoding apparatus. Allows you to split blocks.
  • the encoder 250 encodes information about a prediction type indicating whether a current block is encoded by intra prediction or inter prediction, and encodes intra prediction information or inter prediction information according to the prediction type.
  • the inverse quantizer 260 inversely quantizes the quantized transform coefficients output from the quantizer 245 to generate transform coefficients.
  • the inverse transformer 265 restores the residual block by converting the transform coefficients output from the inverse quantizer 260 from the frequency domain to the spatial domain.
  • the adder 270 reconstructs the current block by adding the reconstructed residual block and the predicted block generated by the predictor 220.
  • the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next order of blocks.
  • the filter unit 280 deblocks and filters the boundary between the reconstructed blocks in order to remove blocking artifacts that occur due to encoding / decoding of blocks. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.
  • FIG 5 illustrates an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus includes a decoder 510, an inverse quantizer 520, an inverse transformer 530, a predictor 540, an adder 550, a filter 560, and a memory 570.
  • the image decoding apparatus may be implemented by each component as a hardware chip, or may be implemented by software and a microprocessor to execute a function of software corresponding to each component.
  • the decoder 510 decodes the bitstream received from the image encoding apparatus, extracts information related to block division, determines a current block to be decoded, and includes prediction information and residual signal information necessary for reconstructing the current block. Extract
  • the decoder 510 extracts information about the CTU size from a high level syntax such as a Sequence Parameter Set (SPS) or a Picture Parameter Set (PPS) to determine the size of the CTU and determine a picture of the determined size.
  • a high level syntax such as a Sequence Parameter Set (SPS) or a Picture Parameter Set (PPS) to determine the size of the CTU and determine a picture of the determined size.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • Split into CTUs The CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is partitioned using a tree structure (eg, a QTBT structure) by extracting partition information about the CTU.
  • a tree structure eg, a QTBT structure
  • Examples of the present disclosure generally relate to a technique for signaling QTBT block partition information and a technique for determining block partitioning from QTBT block partition information.
  • certain techniques of the present disclosure may be performed by the decoder 510. That is, for example, the decoder 510 may perform the techniques of this disclosure described with respect to FIGS. 8 through 10 below.
  • one or more other units of the decryption apparatus may be responsible for additionally or alternatively performing the techniques of this disclosure.
  • the decoder 510 determines the current block (current block) to be decoded by splitting the tree structure, the decoder 510 extracts information about a prediction type indicating whether the current block is intra predicted or inter predicted.
  • the decoder 510 extracts a syntax element for intra prediction information (intra prediction mode) of the current block. First, the decoder 510 extracts mode information (ie, an MPM flag) indicating whether an intra prediction mode of a current block is selected from the MPMs. Also, in general, when the intra mode encoding information indicates that the intra prediction mode of the current block is selected from the MPMs, the first intra identification information for indicating which mode of the MPMs is selected as the intra prediction mode of the current block is extracted. And if the intra mode encoding information indicates that the intra prediction mode of the current block is not selected among the MPMs, a second intra for indicating which mode other than the MPM is selected as the intra prediction mode of the current block.
  • mode information ie, an MPM flag
  • the intra prediction unit 222 may indicate an intra identification information indicating which mode among MPMs and / or non-MPMs is selected as an intra prediction mode for predicting a current block.
  • group MPMs and / or non-MPMs and extract intra identification information eg, group index, etc. indicating whether an intra mode for predicting the current block belongs.
  • the decoder 510 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
  • the inverse quantizer 520 inversely quantizes the quantized transform coefficients, and the inverse transformer 530 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to generate a residual block for the current block.
  • the predictor 540 includes an intra predictor 542 and an inter predictor 544.
  • the intra predictor 542 is activated when the intra prediction is the prediction type of the current block
  • the inter predictor 544 is activated when the intra prediction is the prediction type of the current block.
  • the intra predictor 542 determines the intra prediction mode of the current block among the plurality of intra prediction modes from the syntax elements for the intra prediction mode extracted from the decoder 510, and references pixels around the current block according to the intra prediction mode. Predict the current block using
  • the intra predictor 542 constructs an MPM list including a predetermined number of MPMs from neighboring blocks of the current block.
  • the method of constructing the MPM list is the same as that of the intra predictor 222 of FIG. 2.
  • the intra prediction unit 542 may assign the first intra identification information among the MPMs in the MPM list. Select the MPM indicated by the intra prediction mode of the current block. On the other hand, if the mode information indicates that the intra prediction mode of the current block is not selected from the MPM, the intra prediction mode of the current block is determined among the remaining intra prediction modes except the MPMs in the MPM list using the second intra identification information. do.
  • the intra prediction unit 222 of the image encoding apparatus may determine the final intra mode (that is, the intra mode for predicting the current block) by evaluating the intra modes belonging to the corresponding group. For example, in some examples, the intra predictor 542 may generate a reconstructed block for a plurality of intra modes belonging to a group, and evaluate the reconstructed blocks to determine a final intra mode.
  • the inter predictor 544 determines motion information of the current block by using a syntax element for the intra prediction mode extracted from the decoder 510, and predicts the current block by using the determined motion information.
  • the adder 550 reconstructs the current block by adding the residual block output from the inverse transformer and the prediction block output from the inter predictor or the intra predictor.
  • the pixels in the reconstructed current block are utilized as reference pixels in intra prediction of the block to be subsequently decoded.
  • the filter unit 560 deblocks and filters the boundary between the reconstructed blocks in order to remove blocking artifacts that occur due to block-by-block decoding and stores them in the memory 570.
  • the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be decoded later.
  • the image encoding apparatus determines a QTBT block partitioning structure for encoding a block of image data (S610).
  • the QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree.
  • the image encoding apparatus generates an encoded bitstream including the block of the image data and the segmentation information representing the determined block partitioning structure based on the determined block partitioning structure (S620).
  • the image decoding apparatus parses a block of image data encoded from a bitstream and segmentation information associated with the block of the image data (S710).
  • the block of the encoded image data is divided into a plurality of partitioned blocks according to a QTBT block partitioning structure, and the QTBT block partitioning structure is a structure in which a binary tree is routed from a leaf node of a quadtree.
  • the image decoding apparatus determines the leaf nodes of the QTBT using the split information, and decodes the block of the encoded image data for each leaf node of the QTBT (S720).
  • the techniques disclosed below relate to a technique for signaling QTBT block partition information applied to step S620 of FIG. 6 and a technique for determining block partitioning from QTBT block partition information applied to step S720 of FIG. 7.
  • the techniques of this disclosure may be performed by, for example, the image encoding apparatus and the image decoding apparatus shown and described with respect to FIGS. 2 and 5. That is, in one example, the encoder described with reference to FIG. 2 may perform certain techniques described below when determining block partitioning to encode a block of image data. In another example, the decoder described with respect to FIG. 5 may perform certain techniques described below when determining block partitioning to decode a block of image data.
  • the QTBT block partitioning can be used to partition a CTU into CUs. That is, the root node of the QTBT may be a CTU, and the leaf node of the QTBT may be a CU.
  • the encoding apparatus signals the split information obtained by dividing the CTU into a plurality of CUs, and correspondingly, the decoding apparatus uses the signaled split information to convert the CTU into the plurality of CUs.
  • Embodiments for determining partitioning to be divided are described.
  • the CTU that is the root node may be first divided into a QT structure.
  • the encoding apparatus uses a first flag (QT split flag, QT_split_flag) to indicate whether the root node of the QTBT is split into a QT structure.
  • QT split flag QT_split_flag
  • the QT division of each node may be repeated recursively.
  • BT partitioning may be performed on blocks that are not QT partitioned.
  • the encoding apparatus further uses a second flag (BT split flag, BT_split_flag) to indicate whether a block is split into a BT structure.
  • the BT split may have a plurality of split types. In this case, when the block is divided into BT structures, the encoding apparatus further uses split type information indicating the BT split type
  • FIG. 8 is a diagram illustrating an example of a QTBT splitting structure of a CTU and a tree structure thereof.
  • the solid line indicates the division by the QT structure
  • the dotted line indicates the division by the BT structure.
  • BT splitting has two splitting types, that is, a splitting of a block of a node into two blocks of the same size and a splitting type vertically.
  • QT_split_flag 1
  • the block corresponding to the first node of the depth 1 is no longer divided by the QT, but is BT divided, and the BT division type is a vertical type.
  • the block corresponding to the first node of depth 2 is a child node of the BT partitioned parent node (that is, the first node of depth 1), and is again BT split.
  • the BT split may be recursively repeated, but child nodes of the BT split node are not QT split again. Therefore, in generating split information for child nodes of the BT split node, there is no need to explicitly signal that the block is not QT split. For example, in FIG.
  • the BT partition type information 1 indicating the type is encoded.
  • a decoding apparatus determines a partitioning for dividing a CTU into a plurality of CUs using split information signaled from the encoding apparatus in the present embodiment.
  • the decoding apparatus first extracts a first flag (QT_split_flag) related to the division of the QT.
  • QT_split_flag a first flag related to the division of the QT.
  • the decoding apparatus divides the corresponding node into four nodes of lower depths.
  • the second flag BT_split_flag and the split type information related to the splitting of the BT are extracted to split the corresponding leaf node into the BT structure.
  • the demodulation device extracts a QT splitting flag QT_split_flag corresponding to the node of the highest depth of the QTBT structure. Since the value of the extracted QT split flag QT_split_flag is 1, the node of the highest depth is divided into four nodes of the lower depth (depth 1 of QT). Then, the QT splitting flag QT_split_flag of the first node of depth 1 is extracted. Since the extracted QT split flag QT_split_flag value is 0, the first node of depth 1 is no longer split into a QT structure.
  • the process proceeds to the BT having the first node of the depth 1 of the QT as the root node of the BT.
  • the BT split flag BT_split_flag corresponding to the root node of the BT ie, depth 0
  • the root node of BT is split into two nodes of depth 1.
  • split type information indicating whether a block corresponding to the root node of the BT is split vertically or horizontally is extracted. Since the split type information is 1, the block corresponding to the root node of BT is split vertically.
  • the BT split flag (BT_split_flag) for the first node of the depth 1 split from the root node of BT is extracted. Since the BT split flag BT_split_flag is 1, split type information of a block of the first node of depth 1 is extracted. Since the partition type information of the block of the first node of depth 1 is 1, the block of the first node of depth 1 is vertically divided. Then, the BT split flag BT_split_flag of the second node of the depth 1 split from the root node of BT is extracted. Since the BT split flag BT_split_flag is 0, it is no longer split by BT.
  • the decoder 510 first extracts the QT split flag QT_split_flag repeatedly to split the CTU into a QT structure.
  • the BT split flag (BT_split_flag) is extracted for the leaf node of the QT, and when the BT split flag (BT_split_flag) indicates the split, split type information is extracted.
  • the decoding apparatus may confirm that the CTU is divided by the encoding apparatus into a structure as shown in FIG.
  • the QTBT splitting structure As the CTU size grows larger, in the QTBT splitting structure, it is highly likely that all nodes will be QT split again until the size of the split blocks decreases below a certain level.
  • the number of times the QT division is repeated increases, the number of bits required to express these QT division information using the QT division flag is increased by n-th power of four.
  • This embodiment aims to reduce the QT partitioning information of these nodes when all nodes from the highest depth (that is, depth 0) to a certain lower depth are commonly QT partitioned.
  • the encoding apparatus uses the QT splitting flag to express these depths instead of expressing these QT split information. Depth information that specifies can be signaled.
  • the encoding apparatus may signal depth information indicating the highest depth in which the leaf nodes of the QT exist among the depths of the QTBT partition structure.
  • the highest depth in which the leaf nodes of the QT exist may be referred to as the 'highest QT leaf node depth'.
  • 'top QT leaf node depth 2' means that the root node of the QTBT belonging to the highest depth (0) of the QTBT is QT splitted, and each of the four child nodes (which belong to depth 1) of the root node are also QTBT.
  • QT split, and further, at least some of the nodes belonging to depth 2 are leafs of QT that are not QT split.
  • the depth information may function as QT partitioning information from a root node to parent nodes of nodes belonging to the highest QT leaf node depth in the QTBT partitioning structure.
  • the depth information may be expressed, for example, in a truncated unary manner.
  • Depth information may be expressed in a CTU header.
  • An example codeword for each depth is as follows.
  • the QT structure repeated from the root node can be represented by a breadth first scan method, and the remaining lower QTs or BTs are similar to those of the first embodiment.
  • the QT split flag, the BT split flag, and the BT split type information may be used to express the depth first scan method.
  • the example QTBT splitting structure of FIG. 8 is the leaf nodes of QT where the root node is QT split and the first and second and fourth nodes of depth 1 are no longer QT split.
  • the highest QT leaf node depth is 1 in the example QTBT splitting structure of FIG. 8.
  • the QTBT splitting structure of FIG. 8 if the highest QT leaf node depth is separately indicated using the codeword of Table 1, a total of 35 bits are required as follows.
  • the underlined bits relate to the BT division and the remaining bits relate to the QT division.
  • a signaling method with depth information may be extended to a slice, a picture, or a sequence level.
  • the depth can be expressed in the Slice Header.
  • the depth expressed in the slice header may function as QT split information for all nodes existing between the highest depth and the depth expressed in the slice header, for all CTUs included in the slice.
  • the remaining lower QT or BT may be expressed using the QT split flag, the BT split flag, and the BT split type information similarly to the first embodiment.
  • a slice consisting of four CTUs is exemplarily described.
  • the highest QT leaf node depth of CTU No. 1 the highest QT leaf node depth of CTU No. 2 is 2, and the highest CTU No. 3 CTU.
  • the QT leaf node depth is 4 and the highest QT leaf node depth of CTU # 4 is 3.
  • all four CTUs are divided into the same shape up to depth 2. That is, all the CTUs are recursively QT-divided until all the CTU blocks reach depth 2.
  • the encoding apparatus may express information indicating that all CTUs of the corresponding slice are QT-split up to depth 2 in the slice header.
  • the depth is added to the picture-level header information (e.g., picture parameter sets). (in a picture parameter set (PPS)).
  • the depth is determined in sequence-level header information (e.g., a sequence parameter set parameter set (SPS)).
  • QT common depth The depth expressed in the picture-level header information, the sequence-level header information, and the sequence-level header information in this manner is referred to as "QT common depth" below.
  • the QT common depth is used as part of the QTBT segmentation information for all CTUs included in that level.
  • Table 2 shows an example syntax element for indicating the QT common depth in a Sequence Parameter Set (SPS). As shown in Table 2, in order to signal the QT common depth, a flag indicating that there is a QT common depth (QT_depth_signal_flag) and a parameter (QT_comm_depth_minus3) that specifies the QT common depth may be used. Similar syntax elements may be included in a Picture Parameter Set (PPS) or Slice Header.
  • PPS Picture Parameter Set
  • Slice Header Similar syntax elements may be included in a Picture Parameter Set (PPS) or Slice Header.
  • the QT common depth represented in picture-level header information, sequence-level header information, or sequence-level header information is determined whether all CTUs of that level are actually divided into the same form up to that QT common depth. Regardless, it may be a predetermined default value. In this case, the encoding apparatus may additionally signal a difference value between the QT common depth defaulted to the SPS, PPS, or Slice and the highest QT leaf node depth of each CTU. The default value may be predetermined based on statistics related to the likelihood of matching the highest QT leafnode depth of the CTUs included in that level.
  • the decoding apparatus may determine the CTU. A method of determining partitioning to be divided into a plurality of CUs will be described.
  • the decoding apparatus first extracts depth information indicating the highest depth (that is, the highest QT leaf node depth) among depths in which at least one leaf node of the quadtree exists in the QTBT structure from the encoded bitstream. Using depth information indicating the highest QT leaf node depth, the decoding apparatus performs QT splitting for all nodes from a root node of the QTBT to a parent node of nodes belonging to the highest QT leaf node depth. For example, when the highest QT leaf node depth is 2, the root node is QT splitted, and the four child nodes (which belong to depth 1) of the root node are each QT splitted.
  • the highest QT leaf node depth at least some of the nodes belonging to the highest QT leaf node depth are not QT split. In addition, some of the nodes belonging to the highest QT leaf node depth are neither BT split nor QT split or BT split. In other words, some of the nodes belonging to the highest QT leaf node depth may be further QT split, BT split, or leaf nodes of QTBT (either QT split or BT split). Therefore, nodes belonging to the highest QT leaf node depth are determined in a partition structure in substantially the same manner as in the first embodiment.
  • the decoding apparatus parses the bitstream to process a sequence parameter set (SPS), a picture parameter set (PPS), or a slice. Extract depth information expressed in Header. Using the extracted depth information, the decoding apparatus may recursively split all nodes until the depth indicated by the depth information is reached.
  • SPS sequence parameter set
  • PPS picture parameter set
  • Slice Slice
  • the leaf nodes of the quadtree in the QTBT partition structure may be further partitioned into the BT structure.
  • BT there may be a plurality of split types, for example, a type of dividing a block of a node horizontally into two blocks of the same size (ie, symmetric horizontal splitting) and a type of splitting vertically (ie, symmetrical). There may be two kinds of symmetric vertical splitting.
  • a technique for reducing the amount of bits representing such BT is proposed.
  • the BT partition information representation scheme proposed in this embodiment may be used together with the QT partition information representation scheme illustrated in the first or second embodiment.
  • FIG. 9 is a diagram illustrating the number of bits that can be represented as BT in one CU.
  • the parent node is divided horizontally (up and down) and the child node is divided vertically (left and right), or the parent node is divided vertically (left and right) and the child node is horizontal.
  • the division into (up and down) is not considered.
  • 16 expressions are possible. In FIG. 9, these combinations are represented by 4 bits to 6 bits using the BT partition flag and the BT partition type flag.
  • the present invention represents a method of reducing the amount of bits representing the combination of these parent and child nodes by representing the parent node in 2 bits and the child node in a fixed length codeword of 3 bits.
  • Adopt Example codewords are listed in Table 3. In the case of “10 10 10” and “11 11 11”, where the parent node and the child node are divided in the same form, the leaf node is different, but when the child node is marked with a specific bit, the first two bits (2 bits of the parent node) are divided. Prediction of the method is possible.
  • Child Node (First embodiment, 2 to 4 bits) Child Node (3rd Embodiment, 3 bits) 10/11 0 0 000 0 10 001 to 110 0 11 10 0 10 11 11 0 11 10 10 10 10 111 11 11 11 11
  • 1 0 11 11 0 0 0 (No. 1 BT) and 0 10 0 0 (No. 2 BT) are used as the depth priority method.
  • 1 0 11 10 11 11 0 0 10 0 0 0 0 (BT 3, 4) 0 0 0 0 0 0 10 10 0 0 10 0 0 (BT 5) 0 0 (52 bits total) Can be.
  • the following information may be additionally used to efficiently signal information about block division by the QTBT structure.
  • the information is encoded as header information of an image, for example, may be encoded by a sequence parameter set (SPS) or a picture parameter set (PPS).
  • SPS sequence parameter set
  • PPS picture parameter set
  • CTU size the top layer of QTBT, that is, the block size of the root node
  • MinQTSize the minimum block size of leaf nodes allowed in QT
  • MaxBTSize the maximum block size of the root node allowed by BT
  • MaxBTDepth the maximum depth allowed by BT
  • MinBTSize the minimum block size of leaf nodes allowed in BT
  • a block having the same size as MinBTSize in BT is no longer split and no split information (second flag, split type information) regarding BT is also encoded.
  • second flag, split type information the maximum or minimum block size that a loop or leaf node of the QT and BT can have at a high level such as a sequence parameter set (SPS) or a picture parameter set (PPS) can be defined to determine whether the CTU is divided or not.
  • SPS sequence parameter set
  • PPS picture parameter set
  • the amount of coding for the information indicating the partition type can be reduced.
  • the decoding apparatus extracts the information and reflects this information when extracting the split information for QT and BT. Can be.
  • the decoding apparatus does not extract the split information (QT split flag) about the QT of the block from the bitstream (that is, the QT split flag of the block does not exist in the bitstream), and sets the value to 0 automatically. do.
  • the decoding apparatus does not extract the BT partition flag for the leaf node having a block larger than MaxBTSize in QT, and automatically sets the BT partition flag to 0.
  • the depth of the node of the BT reaches MaxBTDepth, the block of the node is no longer split.
  • the BT partition flag of the corresponding node is not extracted from the bitstream, and its value is automatically set to zero. Also, in BT, blocks having the same size as MinBTSize are no longer split. Therefore, the decoding apparatus does not extract the BT partition flag of the block having the same size as MinBTSize from the bitstream, and automatically sets the value to zero.
  • the luma component and the chroma component of the CTU may be divided into the same QTBT structure.
  • the luminance component and the chrominance component may each be divided into separate QTBT structures.
  • the luminance component and the chrominance component may be divided into different QTBT structures. That is, CTU may be divided into luminance coding blocks (CBs) and color difference CBs to perform block partitioning, and block block information may be generated for each CB and transmitted to a decoding apparatus.
  • CBs luminance coding blocks
  • CBs luminance difference CBs
  • the color difference information may not require a detailed block partition.
  • only QT partition information among all block partition information of luminance may be used as block partition information of the color difference CB.
  • a separate syntax split_cb_flag_for_QT_in_CTU
  • the decoding apparatus converts the QT partition information from the entire block partition information of luminance to the QT partition information of the luminance CB.
  • the CB is used as QT block partition information, and this value is 1, different block partition information may be sent to the decoding apparatus as before.
  • the QT common depth of the QT when expressed in any one of a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), and a Slice Header, in some examples, the luminance in the CTU unit
  • the QT common depth for the color difference may refer to the QT common depth set higher than the CTU (that is, set in the SPS, PPS, or Slice Header).
  • the QT common depth for luminance and color difference in the CTU unit may be expressed as a difference value from the QT common depth set above the CTU.

Landscapes

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

Abstract

The present invention relates to efficiently signaling division information related to quadtree plus binary tree (QTBT)-based block partitioning. An image encoding device according to one aspect of the present invention determines the greatest QT leaf node depth for indicating the highest depth among depths in which at least one leaf node of a quadtree is present in a determined block portioning structure, and signals depth information for indicating the greatest QT leaf node depth as quadtree division information on all nodes from a root node to a parent node of nodes belonging to the greatest QT leaf node depth in the determined block partitioning structure.

Description

영상 부호화 또는 복호화하기 위한 장치 및 방법Apparatus and method for image encoding or decoding

본 발명은 영상을 효율적으로 부호화하기 위한 영상 부호화 또는 복호화에 관한 것이다. 보다 상세하게는, QTBT(Quadtree plus Binary tree) 기반 블록 파티셔닝에 관한 분할 정보를 시그널링하는 기법에 관한 것이다.The present invention relates to image encoding or decoding for efficiently encoding an image. More specifically, the present invention relates to a technique for signaling partition information about Quadtree plus Binary tree (QTBT) based block partitioning.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다. The contents described in this section merely provide background information on the present embodiment and do not constitute a prior art.

도 1은 CTU에 대한 쿼드 트리 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다. HEVC에서 CTU(Coding Tree Unit)은 영상 내 다양한 로컬의 특성을 반영하기 위한 코딩 트리로 쿼드트리(quadtree) 구조 방식을 이용하여 CU(Coding Unit)로 나눈다. 이렇게 CU가 결정되면 인트라, 인터 코딩 예측도 CU 단위에서 이루어지게 된다. 각각의 CU는 다시 PU(Prediction Unit)으로 나뉘며 PU가 결정이 되고 예측 과정이 진행된 후 CU는 잔차 블록(residual block)에 대해 TU(Transformation Unit)으로 나뉘는 과정이 이루어진다. 1 is a diagram illustrating an example of a quad tree splitting structure for a CTU and a tree structure thereof. In HEVC, a coding tree unit (CTU) is a coding tree for reflecting various local characteristics in an image, and is divided into a coding unit (CU) using a quadtree structure. When the CU is determined in this way, intra and inter coding prediction is also performed in the CU unit. Each CU is again divided into a PU (Prediction Unit). After the PU is determined and the prediction process is performed, the CU is divided into a TU (Transformation Unit) for the residual block.

최근에 QTBT(Quadtree plus Binary tree) 구조가 새롭게 논의되고 있는데, 이러한 QTBT 구조는 기존의 CU, PU, TU 개념을 제거하면서도 비디오 데이터의 다양한 로컬 특징을 매칭하기 위해 다양한 CU 분할 모양을 제안한다. 즉, QTBT에서 CU는 정사각형 혹은 직사각형의 모양이 될 수 있도록 정의할 수 있다. Recently, a quadtree plus binary tree (QTBT) structure is newly discussed. The QTBT structure removes existing CU, PU, and TU concepts, and proposes various CU partition shapes to match various local features of video data. That is, in QTBT, a CU may be defined to have a square or rectangular shape.

또한, HEVC에서 CTU 사이즈는 64였으나 영상의 해상도가 커짐에 따라 128, 256 등 더 큰 블록 사이즈의 필요성이 논의되고 있는 바, CTU에서 블록이 최소 4x4까지 분할될 경우 이러한 분할 정보를 시그널링하는 데 소요되는 데이터량은 점점 더 증가하게 된다.In addition, although the CTU size was 64 in HEVC, the necessity of larger block sizes such as 128 and 256 has been discussed as the resolution of the image increases, and it is necessary to signal such segmentation information when the block is divided into at least 4x4 in the CTU. The amount of data that is added increases.

본 발명은 QTBT(Quadtree plus Binary tree) 기반 블록 파티셔닝에 관한 분할 정보를 효율적으로 시그널링하는 데 그 목적이 있다.An object of the present invention is to efficiently signal partitioning information about a quadtree plus binary tree (QTBT) based block partitioning.

본 발명의 일 측면에 따르면, 영상 데이터의 블록을 부호화하기 위한 QTBT(QuadTree plus BinaryTree) 블록 파티셔닝 구조를 결정하는 단계; 및 상기 결정된 블록 파티셔닝 구조에 기초하여, 상기 영상 데이터의 블록과 상기 결정된 블록 파티셔닝 구조를 표현하는 분할 정보를 부호화하는 단계를 포함하는 영상 데이터를 부호화하는 방법을 제공한다. 상기 QTBT 블록 파티셔닝 구조는 쿼드트리의 리프 노드(leaf node)로부터 바이너리트리가 루트된(rooted) 구조이다. 상기 분할 정보를 부호화하는 것은 상기 결정된 블록 파티셔닝 구조에서, 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 판단하는 단계; 및 상기 결정된 블록 파티셔닝 구조에서 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 쿼드트리 분할 정보로서, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 부호화하는 단계를 포함한다.According to an aspect of the present invention, determining a QuadTree plus BinaryTree (QTBT) block partitioning structure for encoding a block of image data; And encoding the block of the image data and the segmentation information representing the determined block partitioning structure based on the determined block partitioning structure. The QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree. The encoding of the split information may include determining, from the determined block partitioning structure, the highest depth among depths in which at least one leaf node of the quadtree exists (hereinafter, referred to as “highest QT leaf node depth”). ; And encoding depth information indicating the highest QT leaf node depth as quadtree split information from a root node to parent nodes of nodes belonging to the highest QT leaf node depth in the determined block partitioning structure.

본 발명의 다른 측면에 따르면, 부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계; 상기 분할 정보를 이용하여 상기 QTBT를 결정하면서 상기 결정된 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계를 포함하는 영상 데이터를 복호화하는 방법을 제공한다. 상기 부호화된 영상 데이터의 블록은 QTBT(quadtree plus binarytree) 블록 파티셔닝 구조에 따라 복수의 분할 블록으로 분할되어 있으며, 상기 QTBT 블록 파티셔닝 구조는 쿼드트리(quadtree)의 리프 노드(leaf node)로부터 바이너리트리(binarytree)가 루트된(rooted) 구조이다. 상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 나타내는 심도 정보를 포함한다. 상기 QTBT를 결정하는 단계는, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 이용하여, 상기 QTBT의 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대해 쿼드트리 분할을 수행하는 단계를 포함한다.According to another aspect of the invention, parsing the block of the encoded image data and the segmentation information associated with the block of the image data; And decoding the block of the encoded image data for each leaf node of the determined QTBT while determining the QTBT using the split information. The block of the encoded image data is divided into a plurality of divided blocks according to a quadtree plus binarytree (QTBT) block partitioning structure, and the QTBT block partitioning structure is formed from a binary tree (leaf node) of a quadtree (quadtree). binarytree) is a rooted structure. The splitting information includes depth information indicating the highest depth among the depths in which at least one leaf node of the quadtree exists in the QTBT block partitioning structure (hereinafter, referred to as “highest QT leaf node depth”). The determining of the QTBT includes quadtree splitting for all nodes from a root node of the QTBT to a parent node of nodes belonging to the highest QT leaf node depth using depth information indicating the highest QT leaf node depth. It includes the step of performing.

본 발명의 다른 측면에 따르면, 영상 데이터를 복호화하는 장치를 제공한다. 복호화 장치는 메모리 및 하나 이상의 프로세서들을 포함하며, 상기 하나 이상의 프로세서들은, 부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계와 상기 분할 정보를 이용하여 상기 QTBT를 결정하면서, 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계를 수행하도록 구성된다.According to another aspect of the present invention, an apparatus for decoding image data is provided. The decoding apparatus includes a memory and one or more processors, wherein the one or more processors are configured to parse the block of encoded image data and the partition information associated with the block of the image data and determine the QTBT using the partition information. And decoding the block of the encoded image data for each leaf node of the QTBT.

도 1은 CTU에 대한 쿼드 트리 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다. 1 is a diagram illustrating an example of a quad tree splitting structure for a CTU and a tree structure thereof.

도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.

도 3은 복수의 인트라 예측 모드에 대한 예시를 나타낸다. 3 shows an example of a plurality of intra prediction modes.

도 4는 현재 블록의 주변블록에 대한 예시도이다.4 is an exemplary diagram of neighboring blocks of a current block.

도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한 것이다.5 illustrates an image decoding apparatus according to an embodiment of the present invention.

도 6은 영상 부호화 장치가 영상을 부호화하는 예시적인 동작을 도시한 흐름도이다.6 is a flowchart illustrating an exemplary operation of encoding an image by the image encoding apparatus.

도 7은 영상 복호화 장치가 영상을 복호화하는 예시적인 동작을 도시한 흐름도이다.7 is a flowchart illustrating an exemplary operation of decoding an image by the image decoding device.

도 8은 CTU의 QTBT 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다. 8 is a diagram illustrating an example of a QTBT splitting structure of a CTU and a tree structure thereof.

도 9는 하나의 CU에서 BT로 표현될 수 있는 가짓수를 도시한 도면이다. FIG. 9 is a diagram illustrating the number of bits that can be represented as BT in one CU.

도 10은 CTU의 예시적인 QTBT 분할 구조를 트리 구조로 도시한 도면이다.10 is a diagram illustrating an exemplary QTBT splitting structure of a CTU in a tree structure.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding an identification code to the components of each drawing, it should be noted that the same components as possible, even if shown on different drawings have the same reference numerals. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.

영상 부호화 장치는 블록 분할부(210), 예측부(220), 감산기(230), 변환부(240), 양자화부(245), 부호화부(250), 역양자화부(260), 역변환부(265), 가산기(270), 필터부(280) 및 메모리(290)를 포함한다. 영상 부호화 장치는 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image encoding apparatus includes a block divider 210, a predictor 220, a subtractor 230, a transformer 240, a quantizer 245, an encoder 250, an inverse quantizer 260, and an inverse transform unit ( 265, an adder 270, a filter unit 280, and a memory 290. In the image encoding apparatus, each component may be implemented as a hardware chip, or may be implemented in software and implemented so that the microprocessor executes a function of software corresponding to each component.

블록 분할부(210)는 영상을 구성하는 각 픽처(picture)를 복수의 CTU(Coding Tree Unit)으로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU (coding unit)가 된다. 트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(QuadTree, QT), 또는 이러한 QT 구조 및 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT) 구조를 혼용한 QTBT (QuadTree plus BinaryTree) 구조가 사용될 수 있다. 즉, CTU를 다수의 CU로 분할하기 위해 QTBT를 사용할 수 있다.After dividing each picture constituting the image into a plurality of coding tree units (CTUs), the block dividing unit 210 recursively divides the CTUs using a tree structure. A leaf node in the tree structure becomes a CU (coding unit) which is a basic unit of coding. The tree structure is a quadtree (QT) in which a parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or such a QT structure and a parent node are divided into two child nodes. A QTBT (QuadTree plus BinaryTree) structure that uses a binary tree structure may be used. That is, QTBT may be used to divide a CTU into a plurality of CUs.

QTBT (QuadTree plus BinaryTree) 구조에서, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달 할 때까지 반복 될 수 있다. 쿼드트리의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 크지 않은 경우, BT 구조로 더 파티셔닝될 수 있다. BT에서는 복수의 분할 타입이 존재할 수 있다. 예컨대, 일부 예시에서, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. 또한, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다.In a QTBT (QuadTree plus BinaryTree) structure, the CTU may be first divided into a QT structure. Quadtree splitting may be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf nodes allowed in QT. If the leaf node of the quadtree is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further partitioned into the BT structure. In BT, there may be a plurality of partition types. For example, in some examples, there may be two types of horizontally dividing a block of a node into two blocks of the same size (ie, symmetric horizontal splitting) and vertically dividing (ie, symmetric vertical splitting). In addition, there may further be a type of dividing the block of the node into two blocks having an asymmetric shape. The asymmetrical form may include dividing a block of the node into two rectangular blocks having a size ratio of 1: 3, or dividing the block of the node in a diagonal direction.

블록 분할부(210)가 QTBT 구조에 의해 CTU를 분할하여 생성하는 분할 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다. 본 개시의 예시들은 일반적으로 QTBT 블록 파티션 정보의 시그널링하는 기법과 QTBT 블록 파티션 정보로부터 블록 파티셔닝을 결정하는 기법에 관한 것이다. 이와 같이, 본 개시의 소정의 기법들은 부호화부(250)에 의해 수행될 수도 있다. 즉, 예를 들어, 부호화부(250)는 아래의 도 8 내지 도 10에 대해 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 부호화 장치의 하나 이상의 다른 유닛들이 추가적이거나 대안적으로 본 개시의 기법들을 수행하는 것을 담당할 수도 있다.The partition information generated by the block divider 210 by dividing the CTU by the QTBT structure is encoded by the encoder 250 and transmitted to the image decoding apparatus. Examples of the present disclosure generally relate to a technique for signaling QTBT block partition information and a technique for determining block partitioning from QTBT block partition information. As such, certain techniques of the present disclosure may be performed by the encoder 250. That is, for example, the encoder 250 may perform the techniques of the present disclosure described with reference to FIGS. 8 to 10 below. In other examples, one or more other units of the encoding apparatus may be responsible for additionally or alternatively performing the techniques of this disclosure.

이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBT의 리프 노드)에 해당하는 블록을 '현재 블록'이라 칭한다.Hereinafter, a block corresponding to a CU (that is, a leaf node of QTBT) to be encoded or decoded is called a 'current block'.

예측부(220)는 현재 블록을 예측하여 예측블록을 생성한다. 예측부(220)는 인트라 예측부(222)와 인터 예측부(224)를 포함한다. The prediction unit 220 generates a prediction block by predicting the current block. The predictor 220 includes an intra predictor 222 and an inter predictor 224.

인트라 예측부(222)는 현재 블록이 포함된 현재 픽처 내에서 현재 블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재 블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. 특히, 인트라 예측부(222)는 현재 블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(222)는 여러 인트라 예측 모드들을 사용하여 현재 블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(222)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다. The intra predictor 222 predicts pixels in the current block by using pixels (reference pixels) positioned around the current block in the current picture including the current block. There are a plurality of intra prediction modes according to the prediction direction, and the peripheral pixels to be used and the equations are defined differently according to each prediction mode. In particular, the intra predictor 222 may determine an intra prediction mode to be used to encode the current block. In some examples, intra prediction unit 222 may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, intra predictor 222 calculates rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. Intra prediction mode may be selected.

도 3은 복수의 인트라 예측 모드에 대한 예시를 나타낸다. 3 shows an example of a plurality of intra prediction modes.

도 3에서 보는 바와 같이, 복수의 인트라 예측 모드는 2개의 비방향성 모드(planar 모드 및 DC 모드)와 65개의 방향성 모드를 포함할 수 있다.As shown in FIG. 3, the plurality of intra prediction modes may include two non-directional modes (planar mode and DC mode) and 65 directional modes.

인트라 예측부(222)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재 블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.The intra predictor 222 selects one intra prediction mode from among the plurality of intra prediction modes, and predicts the current block by using a peripheral pixel (reference pixel) and an operation formula determined according to the selected intra prediction mode. Information on the selected intra prediction mode is encoded by the encoder 250 and transmitted to the image decoding apparatus.

한편, 인트라 예측부(222)는, 복수의 인트라 예측 모드 중 어느 모드가 현재 블록의 인트라 예측 모드로 사용되었는지를 지시하는 인트라 예측 모드 정보를 효율적으로 부호화하기 위해, 복수의 인트라 예측 모드 중 현재 블록의 인트라 예측 모드로서 가능성이 높은 일부의 모드를 MPM(most probable mode)으로 결정할 수 있다. 그리고, 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되는지 여부를 지시하는 모드 정보를 생성하여 부호화부(250)로 전달한다. 일반적으로, 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되는 경우, MPM 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제1 인트라 식별정보를 부호화부로 전달한다. 반면 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되지 않은 경우, MPM이 아닌 나머지 모드들 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제2 인트라 식별정보를 부호화부로 전달한다. 대안적으로, 본 발명의 일 측면에 따른 인트라 예측부(222)는 MPM들 및/또는 non-MPM들 중에서 어느 모드가 현재 블록을 예측하기 위한 인트라 예측 모드로 선택되었는지를 명시적으로 시그널링하는 대신에, MPM들 및/또는 non-MPM들을 그룹화하고, 현재 블록을 예측하기 위한 인트라 모드가 속하는 그룹의 인덱스를 시그널링할 수 있다.Meanwhile, the intra prediction unit 222 may efficiently encode intra prediction mode information indicating which mode of the plurality of intra prediction modes is used as the intra prediction mode of the current block. Some of the most probable modes as the intra prediction mode of may be determined as the most probable mode (MPM). In addition, mode information indicating whether the intra prediction mode of the current block is selected from the MPM is generated and transmitted to the encoder 250. In general, when the intra prediction mode of the current block is selected from the MPMs, the first intra identification information for indicating which mode of the MPMs is selected as the intra prediction mode of the current block is transmitted to the encoder. On the other hand, if the intra prediction mode of the current block is not selected from the MPM, the second intra identification information for indicating which mode other than the MPM is selected as the intra prediction mode of the current block is transmitted to the encoder. Alternatively, the intra prediction unit 222 according to an aspect of the present invention instead of explicitly signaling which mode among the MPMs and / or non-MPMs is selected as the intra prediction mode for predicting the current block. Can group the MPMs and / or non-MPMs and signal the index of the group to which the intra mode for predicting the current block belongs.

이하에서는, MPM 리스트를 구성하는 방법을 설명한다. 여기서는, 6개의 MPM으로 MPM 리스트를 구성하는 것을 예로 설명하나, 본 발명이 이에 한정되는 것은 아니며 MPM 리스트에 포함되는 MPM의 개수는 3개 내지 10개의 범위 내에서 선택될 수 있다.Hereinafter, a method of constructing the MPM list will be described. Herein, an example of configuring an MPM list with six MPMs is described as an example. However, the present invention is not limited thereto, and the number of MPMs included in the MPM list may be selected within a range of 3 to 10.

먼저, 현재 블록의 주변블록들의 인트라 예측 모드를 이용하여 MPM 리스트를 구성한다. 주변블록은, 예컨대 도 4에 도시된 바와 같이, 현재 블록의 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL) 중에서 전부 또는 일부를 포함할 수 있다. First, the MPM list is constructed using the intra prediction mode of neighboring blocks of the current block. The neighboring block may be, for example, all or some of the left block L, the upper block A, the lower left block BL, the upper right block AR, and the upper left block AL of the current block. It may include.

이 주변블록들의 인트라 예측 모드가 MPM 리스트에 포함된다. 여기서, 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순서로 유효한 블록의 인트라 예측모드가 MPM 리스트에 포함되고, 이 주변블록들의 인트라 예측 모드들에 planar 모드 및 DC 모드를 추가하여 후보를 구성한다. 또는, 좌측블록(L), 상단블록(A), planar 모드, DC 모드, 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL)의 순으로 유효한 모드가 MPM 리스트에 추가될 수도 있다. The intra prediction mode of these neighboring blocks is included in the MPM list. In this case, the intra prediction mode of the valid blocks in the order of the left block (L), the top block (A), the bottom left block (BL), the top right block (AR), and the top left block (AL) is included in the MPM list, The candidate is configured by adding a planar mode and a DC mode to the intra prediction modes of the blocks. Alternatively, valid modes in the order of the left block (L), the top block (A), the planar mode, the DC mode, the bottom left block (BL), the top right block (AR), and the top left block (AL) may be added to the MPM list. have.

MPM 리스트에는 서로 다른 인트라 예측 모드만이 포함된다. 즉, 중복된 모드(duplicated mode)가 존재하는 경우 그 중 하나의 모드만이 MPM 리스트에 포함된다.The MPM list includes only different intra prediction modes. That is, when a duplicated mode is present, only one of them is included in the MPM list.

만약, 리스트 내의 MPM의 개수가 기결정된 개수(예컨대, 6)보다 작은 경우에는, 리스트 내의 방향성 모드들에 -1 또는 +1을 가산하여 MPM을 유도할 수도 있다. 또한, 리스트 내의 MPM의 개수가 기결정된 개수보다 작은 경우에는, 수직 모드(vertical mode), 수직 모드(horizontal mode), 대각선 모드(diagonal mode) 등의 순서로 부족한 개수 만큼의 모드를 MPM 리스트에 추가할 수도 있다.If the number of MPMs in the list is smaller than the predetermined number (eg, 6), the MPM may be derived by adding -1 or +1 to the directional modes in the list. In addition, when the number of MPMs in the list is smaller than the predetermined number, the number of insufficient modes is added to the MPM list in the order of vertical mode, horizontal mode, diagonal mode, and the like. You may.

인터 예측부(224)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재 블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재 블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재 블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.The inter prediction unit 224 searches for the block most similar to the current block in the coded and decoded reference picture before the current picture, and generates a prediction block for the current block using the searched block. A motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated. The motion information including the information about the reference picture and the motion vector used to predict the current block is encoded by the encoder 250 and transmitted to the image decoding apparatus.

감산기(230)는 현재 블록으로부터 인트라 예측부(222) 또는 인터 예측부(224)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.The subtractor 230 subtracts the prediction block generated by the intra predictor 222 or the inter predictor 224 from the current block to generate a residual block.

변환부(240)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(240)는 잔차 블록 내의 잔차 신호들을 현재 블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다. The converter 240 converts the residual signal in the residual block having pixel values of the spatial domain into a transform coefficient of the frequency domain. The transform unit 240 may convert the residual signals in the residual block using the size of the current block as a conversion unit, or divide the residual block into a plurality of smaller subblocks and convert the residual signals in a subblock-sized transform unit. You can also convert. There may be various ways of dividing the residual block into smaller subblocks. For example, it may be divided into sub-blocks of a predetermined same size, or a quadtree (QT) scheme may be used in which the residual block is a root node.

양자화부(245)는 변환부(240)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(250)로 출력한다.The quantization unit 245 quantizes the transform coefficients output from the transform unit 240, and outputs the quantized transform coefficients to the encoder 250.

부호화부(250)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 또한, 부호화부(250)는 블록 분할과 관련된 CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT 분할 플래그, BT 분할 플래그, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.The encoder 250 generates a bitstream by encoding the quantized transform coefficients by using an encoding method such as CABAC. In addition, the encoder 250 encodes information such as CTU size, MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, QT split flag, BT split flag, split type, etc. related to block division, so that the image decoding apparatus is the same as the image encoding apparatus. Allows you to split blocks.

부호화부(250)는 현재 블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보 또는 인터 예측정보를 부호화한다. The encoder 250 encodes information about a prediction type indicating whether a current block is encoded by intra prediction or inter prediction, and encodes intra prediction information or inter prediction information according to the prediction type.

역양자화부(260)는 양자화부(245)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(265)는 역양자화부(260)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.The inverse quantizer 260 inversely quantizes the quantized transform coefficients output from the quantizer 245 to generate transform coefficients. The inverse transformer 265 restores the residual block by converting the transform coefficients output from the inverse quantizer 260 from the frequency domain to the spatial domain.

가산부(270)는 복원된 잔차블록과 예측부(220)에 의해 생성된 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.The adder 270 reconstructs the current block by adding the reconstructed residual block and the predicted block generated by the predictor 220. The pixels in the reconstructed current block are used as reference pixels when intra prediction of the next order of blocks.

필터부(280)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The filter unit 280 deblocks and filters the boundary between the reconstructed blocks in order to remove blocking artifacts that occur due to encoding / decoding of blocks. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.

이하에서는 영상 복호화 장치에 대해 설명한다.Hereinafter, an image decoding apparatus will be described.

도 5는 본 발명의 실시예에 따른 영상 복호화 장치를 도시한 것이다.5 illustrates an image decoding apparatus according to an embodiment of the present invention.

영상 복호화 장치는 복호화부(510), 역양자화부(520), 역변환부(530), 예측부(540), 가산기(550), 필터부(560) 및 메모리(570)를 포함한다. 도 2의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image decoding apparatus includes a decoder 510, an inverse quantizer 520, an inverse transformer 530, a predictor 540, an adder 550, a filter 560, and a memory 570. Like the image encoding apparatus of FIG. 2, the image decoding apparatus may be implemented by each component as a hardware chip, or may be implemented by software and a microprocessor to execute a function of software corresponding to each component.

복호화부(510)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재 블록을 결정하고, 현재 블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.The decoder 510 decodes the bitstream received from the image encoding apparatus, extracts information related to block division, determines a current block to be decoded, and includes prediction information and residual signal information necessary for reconstructing the current block. Extract

복호화부(510)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)과 같은 하이 레벨 신택스(high level syntax)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조(예컨대, QTBT 구조)를 이용하여 분할한다. The decoder 510 extracts information about the CTU size from a high level syntax such as a Sequence Parameter Set (SPS) or a Picture Parameter Set (PPS) to determine the size of the CTU and determine a picture of the determined size. Split into CTUs. The CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is partitioned using a tree structure (eg, a QTBT structure) by extracting partition information about the CTU.

본 개시의 예시들은 일반적으로 QTBT 블록 파티션 정보의 시그널링하는 기법과 QTBT 블록 파티션 정보로부터 블록 파티셔닝을 결정하는 기법에 관한 것이다. 이와 같이, 본 개시의 소정의 기법들은 복호화부(510)에 의해 수행될 수도 있다. 즉, 예를 들어, 복호화부(510)는 아래의 도 8 내지 도 10에 대해 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 복호화 장치의 하나 이상의 다른 유닛들이 추가적이거나 대안적으로 본 개시의 기법들을 수행하는 것을 담당할 수도 있다.Examples of the present disclosure generally relate to a technique for signaling QTBT block partition information and a technique for determining block partitioning from QTBT block partition information. As such, certain techniques of the present disclosure may be performed by the decoder 510. That is, for example, the decoder 510 may perform the techniques of this disclosure described with respect to FIGS. 8 through 10 below. In other examples, one or more other units of the decryption apparatus may be responsible for additionally or alternatively performing the techniques of this disclosure.

복호화부(510)는 트리 구조의 분할을 통해 복호화하고자 하는 현재 블록(현재 블록)을 결정하게 되면, 현재 블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. When the decoder 510 determines the current block (current block) to be decoded by splitting the tree structure, the decoder 510 extracts information about a prediction type indicating whether the current block is intra predicted or inter predicted.

예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(510)는 현재 블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 먼저, 복호화부(510)는 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되는지 여부를 지시하는 모드 정보(즉, MPM 플래그)를 추출한다. 또한, 일반적으로, 인트라 모드 부호화 정보가 현재 블록의 인트라 예측 모드가 MPM 중에서 선택됨을 지시하는 경우, MPM 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제1 인트라 식별정보를 추출하고, 인트라 모드 부호화 정보가 현재 블록의 인트라 예측 모드가 MPM 중에서 선택되지 않음을 지시하는 경우, MPM이 아닌 나머지 모드들 중 어느 모드가 현재 블록의 인트라 예측 모드로 선택되었는지를 지시하기 위한 제2 인트라 식별정보를 추출한다. 대안적으로, 본 발명의 일 측면에 따른 인트라 예측부(222)는, MPM들 및/또는 non-MPM들 중에서 어느 모드가 현재 블록을 예측하기 위한 인트라 예측 모드로 선택되었는지를 지시하는 인트라 식별정보를 추출하는 대신에, MPM들 및/또는 non-MPM들을 그룹화하고, 현재 블록을 예측하기 위한 인트라 모드가 속하는지를 지시하는 인트라 식별정보(예컨대, 그룹의 인덱스 등)를 추출한다. When the prediction type information indicates intra prediction, the decoder 510 extracts a syntax element for intra prediction information (intra prediction mode) of the current block. First, the decoder 510 extracts mode information (ie, an MPM flag) indicating whether an intra prediction mode of a current block is selected from the MPMs. Also, in general, when the intra mode encoding information indicates that the intra prediction mode of the current block is selected from the MPMs, the first intra identification information for indicating which mode of the MPMs is selected as the intra prediction mode of the current block is extracted. And if the intra mode encoding information indicates that the intra prediction mode of the current block is not selected among the MPMs, a second intra for indicating which mode other than the MPM is selected as the intra prediction mode of the current block. Extract identification information. Alternatively, the intra prediction unit 222 according to an aspect of the present invention may indicate an intra identification information indicating which mode among MPMs and / or non-MPMs is selected as an intra prediction mode for predicting a current block. Instead of extracting, group MPMs and / or non-MPMs and extract intra identification information (eg, group index, etc.) indicating whether an intra mode for predicting the current block belongs.

한편, 복호화부(510)는 잔차신호에 대한 정보로서 현재 블록의 양자화된 변환계수들에 대한 정보를 추출한다.Meanwhile, the decoder 510 extracts information on the quantized transform coefficients of the current block as information on the residual signal.

역양자화부(520)는 양자화된 변환계수들을 역양자화하고 역변환부(530)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재 블록에 대한 잔차블록을 생성한다.The inverse quantizer 520 inversely quantizes the quantized transform coefficients, and the inverse transformer 530 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to generate a residual block for the current block.

예측부(540)는 인트라 예측부(542) 및 인터 예측부(544)를 포함한다. 인트라 예측부(542)는 현재 블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(544)는 현재 블록의 예측 타입인 인트라 예측일 때 활성화된다.The predictor 540 includes an intra predictor 542 and an inter predictor 544. The intra predictor 542 is activated when the intra prediction is the prediction type of the current block, and the inter predictor 544 is activated when the intra prediction is the prediction type of the current block.

인트라 예측부(542)는 복호화부(510)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재 블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재 블록 주변의 참조 픽셀들을 이용하여 현재 블록을 예측한다. The intra predictor 542 determines the intra prediction mode of the current block among the plurality of intra prediction modes from the syntax elements for the intra prediction mode extracted from the decoder 510, and references pixels around the current block according to the intra prediction mode. Predict the current block using

현재 블록의 인트라 예측 모드를 결정하기 위해, 인트라 예측부(542)는 현재 블록의 주변블록으로부터 기 결정된 개수의 MPM들을 포함하는 MPM 리스트를 구성한다. MPM 리스트를 구성하는 방법은 도 2의 인트라 예측부(222)와 동일하다. To determine the intra prediction mode of the current block, the intra predictor 542 constructs an MPM list including a predetermined number of MPMs from neighboring blocks of the current block. The method of constructing the MPM list is the same as that of the intra predictor 222 of FIG. 2.

일반적으로, 인트라 예측의 모드 정보(즉, MPM 플래그)가 현재 블록의 인트라 예측 모드가 MPM 중에서 선택됨을 지시하는 경우에는, 인트라 예측부(542)는 MPM 리스트 내의 MPM들 중 제1 인트라 식별정보에 의해 지시되는 MPM을 현재 블록의 인트라 예측 모드로 선택한다. 반면, 모드 정보가 현재 블록의 인트라 예측 모드가 MPM으로부터 선택되지 않음을 지시하는 경우, 제2 인트라 식별정보를 이용하여 MPM 리스트 내의 MPM들을 제외한 나머지 인트라 예측 모드들 중에서 현재 블록의 인트라 예측 모드를 결정한다. In general, when the mode information of the intra prediction (ie, the MPM flag) indicates that the intra prediction mode of the current block is selected from the MPMs, the intra prediction unit 542 may assign the first intra identification information among the MPMs in the MPM list. Select the MPM indicated by the intra prediction mode of the current block. On the other hand, if the mode information indicates that the intra prediction mode of the current block is not selected from the MPM, the intra prediction mode of the current block is determined among the remaining intra prediction modes except the MPMs in the MPM list using the second intra identification information. do.

대안적으로, 본 발명의 일 측면에 따른 영상 부호화 장치의 인트라 예측부(222)는, 전술한 바와 같이, MPM들 및/또는 non-MPM들 중에서 어느 모드가 현재 블록을 예측하기 위한 인트라 예측 모드로 선택되었는지를 명시적으로 시그널링하는 대신에, MPM들 및/또는 non-MPM들을 그룹화하고, 현재 블록을 예측하기 위한 인트라 모드가 속하는 그룹의 인덱스를 시그널링한다. 이 경우, 영상 복호화 장치의 인트라 예측부(542)는 해당 그룹에 속한 인트라 모드들을 평가하여 최종 인트라 모드(즉, 현재 블록을 예측하기 위한 인트라 모드)를 결정할 수 있다. 예컨대, 일부 예들에서, 인트라 예측부(542)는 한 그룹에 속한 다수 개의 인트라 모드에 대해, 복원 블록(reconstructed block)을 생성하고, 복원 블록들을 평가하여 최종 인트라 모드를 결정할 수 있다. Alternatively, the intra prediction unit 222 of the image encoding apparatus according to an aspect of the present invention, as described above, an intra prediction mode for which mode among the MPMs and / or non-MPMs predicts the current block. Instead of explicitly signaling whether or not is selected, group the MPMs and / or non-MPMs and signal the index of the group to which the intra mode to predict the current block belongs. In this case, the intra prediction unit 542 of the image decoding apparatus may determine the final intra mode (that is, the intra mode for predicting the current block) by evaluating the intra modes belonging to the corresponding group. For example, in some examples, the intra predictor 542 may generate a reconstructed block for a plurality of intra modes belonging to a group, and evaluate the reconstructed blocks to determine a final intra mode.

인터 예측부(544)는 복호화부(510)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재 블록의 움직임정보를 결정하고, 결정된 움직임정보를 이용하여 현재 블록을 예측한다.The inter predictor 544 determines motion information of the current block by using a syntax element for the intra prediction mode extracted from the decoder 510, and predicts the current block by using the determined motion information.

가산기(550)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.The adder 550 reconstructs the current block by adding the residual block output from the inverse transformer and the prediction block output from the inter predictor or the intra predictor. The pixels in the reconstructed current block are utilized as reference pixels in intra prediction of the block to be subsequently decoded.

필터부(560)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(570)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The filter unit 560 deblocks and filters the boundary between the reconstructed blocks in order to remove blocking artifacts that occur due to block-by-block decoding and stores them in the memory 570. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be decoded later.

도 6은 영상 부호화 장치가 영상을 부호화하는 예시적인 동작을 도시한 흐름도이다. 도 6의 예에서, 영상 부호화 장치는 영상 데이터의 블록을 부호화하기 위한 QTBT 블록 파티셔닝 구조를 결정한다(S610). 여기서 상기 QTBT 블록 파티셔닝 구조는 쿼드트리의 리프 노드(leaf node)로부터 바이너리트리가 루트되는(rooted) 구조이다. 영상 부호화 장치는 상기 결정된 블록 파티셔닝 구조에 기초하여, 상기 영상 데이터의 블록과 상기 결정된 블록 파티셔닝 구조를 표현하는 분할 정보를 포함하는 부호화된 비트스트림을 생성한다(S620).6 is a flowchart illustrating an exemplary operation of encoding an image by the image encoding apparatus. In the example of FIG. 6, the image encoding apparatus determines a QTBT block partitioning structure for encoding a block of image data (S610). The QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree. The image encoding apparatus generates an encoded bitstream including the block of the image data and the segmentation information representing the determined block partitioning structure based on the determined block partitioning structure (S620).

도 7은 영상 복호화 장치가 영상을 복호화하는 예시적인 동작을 도시한 흐름도이다. 도 7의 예에서, 영상 복호화 장치는 비트스트림으로부터 부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱한다(S710). 여기서 상기 부호화된 영상 데이터의 블록은 QTBT 블록 파티셔닝 구조에 따라 복수의 분할 블록으로 분할되어 있으며, 상기 QTBT 블록 파티셔닝 구조는 쿼드트리의 리프 노드로부터 바이너리트리가 루트되는 구조이다. 영상 복호화 장치는 상기 분할 정보를 이용하여 상기 QTBT의 리프 노드들을 결정하면서, QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화한다(S720). 7 is a flowchart illustrating an exemplary operation of decoding an image by the image decoding device. In the example of FIG. 7, the image decoding apparatus parses a block of image data encoded from a bitstream and segmentation information associated with the block of the image data (S710). The block of the encoded image data is divided into a plurality of partitioned blocks according to a QTBT block partitioning structure, and the QTBT block partitioning structure is a structure in which a binary tree is routed from a leaf node of a quadtree. The image decoding apparatus determines the leaf nodes of the QTBT using the split information, and decodes the block of the encoded image data for each leaf node of the QTBT (S720).

이하에 개시된 기법들은 도 6의 S620 단계에 적용되는 QTBT 블록 파티션 정보를 시그널링하는 기법과, 도 7의 S720 단계에 적용되는 QTBT 블록 파티션 정보로부터 블록 파티셔닝을 결정하는 기법에 관한 것이다. 본 개시의 기법들은 예를 들어, 도 2 및 도 5에 대해 도시되고 기술된 영상 부호화 장치 및 영상 복호화 장치에 의해 수행될 수 있다. 즉, 일 예에서, 도 2에 대해 기술된 부호화부는 영상 데이터의 블록을 부호화하기 위해 블록 파티셔닝을 결정할 때 이하에 설명되는 소정의 기법들을 수행할 수도 있다. 다른 예에서, 도 5에 대해 기술된 복호화부는 영상 데이터의 블록을 복호화하기 위해 블록 파티셔닝을 결정할 때 아래에 기술된 소정의 기법들을 수행할 수도 있다. 상기 QTBT 블록 파티셔닝은 CTU를 CU들로 파티셔닝하는데 사용될 수 있다. 즉, QTBT의 루트 노드(root node)는 CTU 일 수 있으며, QTBT의 리프 노드는 CU일 수 있다.The techniques disclosed below relate to a technique for signaling QTBT block partition information applied to step S620 of FIG. 6 and a technique for determining block partitioning from QTBT block partition information applied to step S720 of FIG. 7. The techniques of this disclosure may be performed by, for example, the image encoding apparatus and the image decoding apparatus shown and described with respect to FIGS. 2 and 5. That is, in one example, the encoder described with reference to FIG. 2 may perform certain techniques described below when determining block partitioning to encode a block of image data. In another example, the decoder described with respect to FIG. 5 may perform certain techniques described below when determining block partitioning to decode a block of image data. The QTBT block partitioning can be used to partition a CTU into CUs. That is, the root node of the QTBT may be a CTU, and the leaf node of the QTBT may be a CU.

이제, 도 8 내지 도 10을 참조하여, 부호화 장치가 CTU를 복수의 CU로 분할한 분할 정보를 시그널링하는 방식과, 이에 대응하여, 복호화 장치가 시그널링된 분할 정보를 이용하여 CTU를 복수의 CU로 분할하는 파티셔닝을 결정하는 실시예들을 설명한다. Now, referring to FIGS. 8 to 10, the encoding apparatus signals the split information obtained by dividing the CTU into a plurality of CUs, and correspondingly, the decoding apparatus uses the signaled split information to convert the CTU into the plurality of CUs. Embodiments for determining partitioning to be divided are described.

제1 실시예First embodiment

QTBT 구조에서, 루트 노드인 CTU는 먼저 QT 구조로 분할될 수 있다. 부호화 장치는 QTBT의 루트 노드가 QT 구조로 분할되는지 여부를 지시하기 위해 제1 플래그(QT 분할 플래그, QT_split_flag)를 사용한다. 예컨대, 제1 플래그 = 1은 루트 노드가 동일 크기의 네 개의 블록으로 분할됨을 나타내며, 제1 플래그 = 0은 루트 노드가 QT 분할되지 않음을 의미한다. 각 노드들의 QT 분할은 재귀적으로 반복될 수 있다. QT 분할되지 않는 블록들은 BT 분할이 수행될 수 있다. 부호화 장치는 어떤 블록이 BT 구조로 분할되는지 여부를 지시하기 위해 제2 플래그(BT 분할 플래그, BT_split_flag)를 추가로 사용한다. BT 분할은 복수의 분할 타입을 가질 수 있다. 이 경우, 블록이 BT 구조로 분할되면, 부호화 장치는 해당 블록의 BT 분할 타입을 지시하는 분할 타입 정보를 추가로 사용한다.In the QTBT structure, the CTU that is the root node may be first divided into a QT structure. The encoding apparatus uses a first flag (QT split flag, QT_split_flag) to indicate whether the root node of the QTBT is split into a QT structure. For example, the first flag = 1 indicates that the root node is divided into four blocks of the same size, and the first flag = 0 means that the root node is not QT divided. The QT division of each node may be repeated recursively. BT partitioning may be performed on blocks that are not QT partitioned. The encoding apparatus further uses a second flag (BT split flag, BT_split_flag) to indicate whether a block is split into a BT structure. The BT split may have a plurality of split types. In this case, when the block is divided into BT structures, the encoding apparatus further uses split type information indicating the BT split type of the corresponding block.

도 8은 CTU의 QTBT 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다. 도 8에서 실선은 QT 구조에 의한 분할을, 점선은 BT 구조에 의한 분할을 나타낸다. 도 8에서는 BT 분할이 두 가지 분할 타입 즉, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입이 존재하는 것으로 가정하고 있음에 유의한다.8 is a diagram illustrating an example of a QTBT splitting structure of a CTU and a tree structure thereof. In FIG. 8, the solid line indicates the division by the QT structure, and the dotted line indicates the division by the BT structure. In FIG. 8, it is assumed that BT splitting has two splitting types, that is, a splitting of a block of a node into two blocks of the same size and a splitting type vertically.

도 8에 예시된 QTBT 분할 구조에서, QTBT의 루트 노드(root node)에 해당하는 CTU는 심도 1에 속하는 네 개의 자식 노드로 분할되어 있다. 이에 따라 부호화 장치는 CTU가 QT 분할됨을 지시하는 QT 분할 플래그(QT_split_flag = 1)를 부호화한다. 심도 1의 첫 번째 노드에 해당하는 블록은 더 이상 QT에 의해 분할되지 않고, BT 분할되어 있으며, 그 BT 분할 타입은 세로 타입이다. 따라서, 부호화 장치는 심도 1의 첫 번째 노드에 해당하는 블록에 대해, 해당 블록이 QT 분할되지 않음을 지시하는 QT 분할 플래그(QT_split_flag) = 0과, 해당 블록이 BT 분할됨을 지시하는 BT 분할 플래그(BT_split_flag) = 1과, 해당 블록의 BT 분할 타입이 세로 타입임을 지시하는 BT 분할 타입 정보 1를 부호화한다. In the QTBT splitting structure illustrated in FIG. 8, the CTU corresponding to the root node of the QTBT is divided into four child nodes belonging to depth 1. Accordingly, the encoding apparatus encodes a QT split flag (QT_split_flag = 1) indicating that the CTU is QT split. The block corresponding to the first node of the depth 1 is no longer divided by the QT, but is BT divided, and the BT division type is a vertical type. Accordingly, the encoding apparatus determines that the block corresponding to the first node of depth 1 has a QT split flag (QT_split_flag) = 0 indicating that the block is not QT splitted and a BT split flag indicating that the corresponding block is BT splitted ( BT_split_flag) = 1 and BT split type information 1 indicating that the BT split type of the corresponding block is a vertical type is encoded.

도 8에서, 심도 2의 첫 번째 노드에 해당하는 블록은 BT 분할된 부모 노드(즉, 심도 1의 첫 번째 노드)의 자식 노드로서, 재차 BT 분할되어 있다. BT 분할은 재귀적으로 반복될 수 있으나, BT 분할된 노드의 자식 노드들은 다시 QT 분할되지는 않음에 유의한다. 따라서, BT 분할된 노드의 자식노드들에 대해 분할정보를 생성함에 있어서, 해당 블록이 QT 분할되지 않음을 명시적으로 시그널링할 필요가 없다. 예컨대, 도 8에서, 심도 2의 첫 번째 노드에 해당하는 블록의 분할 정보를 시그널링함에 있어서, 부호화 장치는 QT 분할 플래그(QT_split_flag) 생략하고, BT 분할 플래그(BT_split_flag) = 1과 BT 분할 타입이 세로 타입임을 지시하는 BT 분할 타입 정보 1를 부호화한다.In FIG. 8, the block corresponding to the first node of depth 2 is a child node of the BT partitioned parent node (that is, the first node of depth 1), and is again BT split. Note that the BT split may be recursively repeated, but child nodes of the BT split node are not QT split again. Therefore, in generating split information for child nodes of the BT split node, there is no need to explicitly signal that the block is not QT split. For example, in FIG. 8, in signaling split information of a block corresponding to the first node of depth 2, the encoding apparatus omits the QT split flag QT_split_flag, and the BT split flag BT_split_flag = 1 and the BT split type are vertical. The BT partition type information 1 indicating the type is encoded.

도 8에서, 심도 3의 첫 번째 노드에 해당하는 블록은 BT 분할된 부모 노드(즉, 심도 2의 첫 번째 노드)의 자식 노드로서, 더 이상 BT 분할되어 있지 않다. 따라서, 부호화 장치는 해당 블록이 BT 분할되지 않음을 지시하는 BT 분할 플래그(BT_split_flag) = 0만을 부호화한다.In FIG. 8, the block corresponding to the first node of depth 3 is a child node of the BT partitioned parent node (ie, the first node of depth 2) and is no longer BT partitioned. Accordingly, the encoding apparatus encodes only the BT split flag BT_split_flag = 0 indicating that the corresponding block is not BT split.

그 결과, 깊이 우선 스캔(Depth-First Search) 방식으로 도 8의 분할 구조를 기록하면, 다음과 같이, 총 34 bits가 필요하다. 여기서, 밑줄 표시된 비트는 BT 분할에 관한 것이고, 나머지 비트들은 QT 분할에 관한 것이다.As a result, when the division structure of FIG. 8 is recorded by the depth-first search method, a total of 34 bits are required as follows. Here, the underlined bits relate to the BT division and the remaining bits relate to the QT division.

1 (One ( QTBT의Of QTBT 리프Leaf 노드) 0  Node) 0 11 1111 11 0 0 0 0 0 0 (심도 1의 첫 번째 노드와 이에  (The first node in depth 1 and 루트된Rooted 노드들) Nodes) 0 0 10 0 010 0 0 (심도 1의 두 번째 노드와 이에 (The second node at depth 1 and 루트된Rooted 노드들) 1 0  Nodes) 1 0 11 0 10 0 011 0 10 0 0 0 0 00 0 0 00 0  0 10 0 010 0 0 (심도 1의 세 번째 노드와 이에 (The third node at depth 1 and 루트된Rooted 노드들) 0 Nodes) 0 00 (심도 1의 네 번째 노드) (Fourth node in depth 1)

이제, 본 실시예에서 부호화 장치로부터 시그널링된 분할 정보를 이용하여, 복호화 장치가, CTU를 복수의 CU로 분할하는 파티셔닝을 결정하는 방식을 설명한다.Now, a description will be given of a method in which a decoding apparatus determines a partitioning for dividing a CTU into a plurality of CUs using split information signaled from the encoding apparatus in the present embodiment.

복호화 장치는 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여, 제1 플래그가 QT 분할을 지시하면 대응하는 노드를 하위 심도의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT의 분할과 관련된 제2 플래그(BT_split_flag) 및 분할 타입 정보를 추출하여 해당 리프 노드를 BT 구조로 분할한다.The decoding apparatus first extracts a first flag (QT_split_flag) related to the division of the QT. When the first flag indicates the division of the QT, the decoding apparatus divides the corresponding node into four nodes of lower depths. For the node corresponding to the leaf node of the QT, the second flag BT_split_flag and the split type information related to the splitting of the BT are extracted to split the corresponding leaf node into the BT structure.

도 8의 블록 분할 구조를 예로 들면, 복화화 장치는 QTBT 구조의 최상위 심도의 노드에 대응하는 QT 분할 플래그(QT_split_flag)를 추출한다. 추출된 QT 분할 플래그(QT_split_flag)의 값은 1이므로, 최상위 심도의 노드는 하위 심도(QT의 심도 1)의 네 개의 노드로 분할된다. 그리고, 심도 1의 첫 번째 노드에 대한 QT 분할 플래그(QT_split_flag)를 추출한다. 추출된 QT 분할 플래그(QT_split_flag) 값은 0이므로, 심도 1의 첫 번째 노드는 더 이상 QT 구조로 분할되지 않는다. Taking the block splitting structure of FIG. 8 as an example, the demodulation device extracts a QT splitting flag QT_split_flag corresponding to the node of the highest depth of the QTBT structure. Since the value of the extracted QT split flag QT_split_flag is 1, the node of the highest depth is divided into four nodes of the lower depth (depth 1 of QT). Then, the QT splitting flag QT_split_flag of the first node of depth 1 is extracted. Since the extracted QT split flag QT_split_flag value is 0, the first node of depth 1 is no longer split into a QT structure.

QT의 심도 1의 첫 번째 노드는 QT의 리프 노드가 되므로, QT의 심도 1의 첫 번째 노드를 BT의 루트 노드로 하는 BT로 진행한다. BT의 루트 노드(즉, 심도 0)에 대응하는 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)는 1이므로, BT의 루트 노드는 심도 1의 두 개의 노드로 분할된다. BT의 루트 노드가 분할되므로, BT의 루트 노드에 대응하는 블록이 세로로 분할되는지 아니면 가로로 분할되는지 여부를 지시하는 분할 타입 정보를 추출한다. 분할 타입 정보가 1이므로, BT의 루트 노드에 대응하는 블록은 세로로 분할된다. 이후, BT의 루트 노드로부터 분할된 심도 1의 첫 번째 노드에 대한 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 1이므로, 심도 1의 첫 번째 노드의 블록의 분할 타입 정보를 추출한다. 심도 1의 첫 번째 노드의 블록의 분할 타입 정보가 1이므로 심도 1의 첫 번째 노드의 블록은 세로로 분할된다. 이후, BT의 루트 노드로부터 분할된 심도 1의 두 번째 노드의 BT 분할 플래그(BT_split_flag)를 추출한다. BT 분할 플래그(BT_split_flag)가 0이므로, 더 이상 BT에 의해 분할되지 않는다.Since the first node of the depth 1 of the QT becomes the leaf node of the QT, the process proceeds to the BT having the first node of the depth 1 of the QT as the root node of the BT. The BT split flag BT_split_flag corresponding to the root node of the BT (ie, depth 0) is extracted. Since the BT split flag BT_split_flag is 1, the root node of BT is split into two nodes of depth 1. Since the root node of the BT is split, split type information indicating whether a block corresponding to the root node of the BT is split vertically or horizontally is extracted. Since the split type information is 1, the block corresponding to the root node of BT is split vertically. Then, the BT split flag (BT_split_flag) for the first node of the depth 1 split from the root node of BT is extracted. Since the BT split flag BT_split_flag is 1, split type information of a block of the first node of depth 1 is extracted. Since the partition type information of the block of the first node of depth 1 is 1, the block of the first node of depth 1 is vertically divided. Then, the BT split flag BT_split_flag of the second node of the depth 1 split from the root node of BT is extracted. Since the BT split flag BT_split_flag is 0, it is no longer split by BT.

이렇게, 복호화부(510)는 먼저 QT 분할 플래그(QT_split_flag)를 반복적으로(recursively) 추출하여 CTU를 QT 구조로 분할한다. 그리고 QT의 리프 노드에 대해서는 BT 분할 플래그(BT_split_flag)를 추출하고, BT 분할 플래그(BT_split_flag)가 분할을 지시하면 분할 타입 정보를 추출한다. 이러한 방식을 통해 복호화 장치는 CTU가 도 8의 (a)와 같은 구조로 부호화 장치에 의해 분할되었음을 확인할 수 있다.In this way, the decoder 510 first extracts the QT split flag QT_split_flag repeatedly to split the CTU into a QT structure. The BT split flag (BT_split_flag) is extracted for the leaf node of the QT, and when the BT split flag (BT_split_flag) indicates the split, split type information is extracted. In this manner, the decoding apparatus may confirm that the CTU is divided by the encoding apparatus into a structure as shown in FIG.

제2 실시예Second embodiment

CTU 사이즈가 커짐에 따라, QTBT 분할 구조에서, 분할된 블록들의 사이즈가 일정 수준 이하로 작아질 때까지 모든 노드들이 재차 QT 분할될 가능성이 높다. 전술한 제1 실시예에 따르면, QT 분할이 반복되는 횟수가 증가함에 따라, QT 분할 플래그를 이용하여 이들 QT 분할 정보를 표현하는 데 필요한 비트수는 4의 n승으로 증가하게 된다. 본 실시예는, 최상위 심도(즉, depth 0)부터 어느 하위 심도까지 모든 노드가 공통적으로 QT 분할되는 경우에, 이들 노드들의 QT 분할 정보를 줄이는 데 목적이 있다. As the CTU size grows larger, in the QTBT splitting structure, it is highly likely that all nodes will be QT split again until the size of the split blocks decreases below a certain level. According to the first embodiment described above, as the number of times the QT division is repeated increases, the number of bits required to express these QT division information using the QT division flag is increased by n-th power of four. This embodiment aims to reduce the QT partitioning information of these nodes when all nodes from the highest depth (that is, depth 0) to a certain lower depth are commonly QT partitioned.

본 실시예에서, 분할된 블록이 어느 심도에 이를 때까지 루트 노드가 재귀적으로 QT 분할되는 경우에, 부호화 장치는, QT 분할 플래그를 이용하여 이들 QT 분할 정보를 표현하는 대신에, 그 심도를 특정하는 심도 정보를 시그널링할 수 있다.In the present embodiment, when the root node is recursively QT divided until the divided block reaches a certain depth, the encoding apparatus uses the QT splitting flag to express these depths instead of expressing these QT split information. Depth information that specifies can be signaled.

부호화 장치는 상기 QTBT 분할 구조의 심도들 중에서 QT의 리프 노드가 존재하는 가장 상위의 심도를 나타내는 심도 정보를 시그널링할 수 있다. 이하에서는, 상기 QTBT 분할 구조의 심도들 중에서 QT의 리프 노드가 존재하는 가장 상위의 심도를 '최상위 QT 리프노드 심도'로 지칭할 수 있다. 예를 들어, '최상위 QT 리프노드 심도 = 2' 라는 것은, QTBT의 최상위 심도(0)에 속하는 QTBT의 루트 노드가 QT 분할되고, 루트 노드의 (심도 1에 속하는) 4개의 자식 노드들도 각각 QT 분할됨을 의미하고, 나아가 심도 2에 속하는 노드들 중 적어도 일부는 QT 분할되지 않는 QT의 리프임을 의미한다. 즉, 최상위 QT 리프노드 심도 = 2의 QTBT 분할 구조에서, 심도 2에 속하는 노드들 중 일부는 BT 분할되거나, QT 분할도 BT 분할도 되지 않는다. 따라서, 상기 심도 정보는 상기 QTBT 파티셔닝 구조에서 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 QT 분할 정보로서 기능할 수 있다.The encoding apparatus may signal depth information indicating the highest depth in which the leaf nodes of the QT exist among the depths of the QTBT partition structure. Hereinafter, among the depths of the QTBT splitting structure, the highest depth in which the leaf nodes of the QT exist may be referred to as the 'highest QT leaf node depth'. For example, 'top QT leaf node depth = 2' means that the root node of the QTBT belonging to the highest depth (0) of the QTBT is QT splitted, and each of the four child nodes (which belong to depth 1) of the root node are also QTBT. QT split, and further, at least some of the nodes belonging to depth 2 are leafs of QT that are not QT split. That is, in the QTBT splitting structure of the highest QT leaf node depth = 2, some of nodes belonging to the depth 2 are BT splitted, neither QT splitted nor BT splitted. Accordingly, the depth information may function as QT partitioning information from a root node to parent nodes of nodes belonging to the highest QT leaf node depth in the QTBT partitioning structure.

상기 심도 정보는, 예컨대, 절삭된 유너리(truncated unary) 방식으로 표기될 수 있다. 심도 정보는 CTU Header에 표현될 수 있다. 심도(depth) 별 예시적인 코드워드(codeword)는 다음과 같다.The depth information may be expressed, for example, in a truncated unary manner. Depth information may be expressed in a CTU header. An example codeword for each depth is as follows.

DepthDepth Codeword (Max=3)Codeword (Max = 3) 00 00 1One 1010 22 110110 33 111111

위와 같이 최상위 QT 리프노드 심도를 사용하는 경우에, 루트 노드로부터 반복되는 QT 구조는 너비 우선 스캔(Breath First Scan) 방식으로 표현이 가능하고, 나머지 하위 QT나 BT는, 실시예 1과 유사하게, QT 분할 플래그, BT 분할 플래그 및 BT 분할 타입 정보를 이용하여 깊이 우선 스캔(Depth First Scan) 방식으로 표현이 가능하다. 도 8의 예시적인 QTBT 분할 구조는 루트 노드가 QT 분할되고, 심도 1의 첫 번째 노드와 두 번째 노드와 네번째 노드가 더 이상 QT 분할되지 않는, QT의 리프 노드들이다. 따라서, 도 8의 예시적인 QTBT 분할 구조에서 최상위 QT 리프 노드 심도는 1이다. 도 8의 QTBT 분할 구조를 표현함에 있어서, 최상위 QT 리프노드 심도를 표 1의 코드워드를 이용하여 별도로 표기하면, 다음과 같이, 총 35 bits가 필요하다. 여기서, 밑줄 표시된 비트는 BT 분할에 관한 것이고, 나머지 비트들은 QT 분할에 관한 것이다.In the case of using the highest QT leaf node depth as described above, the QT structure repeated from the root node can be represented by a breadth first scan method, and the remaining lower QTs or BTs are similar to those of the first embodiment. The QT split flag, the BT split flag, and the BT split type information may be used to express the depth first scan method. The example QTBT splitting structure of FIG. 8 is the leaf nodes of QT where the root node is QT split and the first and second and fourth nodes of depth 1 are no longer QT split. Thus, the highest QT leaf node depth is 1 in the example QTBT splitting structure of FIG. 8. In representing the QTBT splitting structure of FIG. 8, if the highest QT leaf node depth is separately indicated using the codeword of Table 1, a total of 35 bits are required as follows. Here, the underlined bits relate to the BT division and the remaining bits relate to the QT division.

1 0 (최상위 QT 1 0 (top QT 리프노드Leaf node 심도) 0  Depth) 0 11 1111 11 0 0 0 0 0 0 (심도 1의 첫 번째 노드와 이에  (The first node in depth 1 and 루트된Rooted 노드들) 0  Nodes) 0 10 0 010 0 0 (심도 1의 두 번째 노드와 이에 (The second node at depth 1 and 루트된Rooted 노드들) 1 0  Nodes) 1 0 11 0 10 0 011 0 10 0 0 00 00 0 0 00 0  0 10 0 010 0 0 (심도 1의 세 번째 노드와 이에 (The third node at depth 1 and 루트된Rooted 노드들) 0 Nodes) 0 00 (심도 1의 네 번째 노드)  (Fourth node in depth 1)

최상위 QT 리프노드 심도가 1인 도 8의 예시적인 분할 구조를 표현함에 있어서, 제2 실시예의 방식에 따르면 제1 실시예에 비해 1 bit가 추가로 소요됨을 알 수 있다. 그러나 최상위 QT 리프노드 심도가 2인 경우, 제1 실시예는 심도 0 및 심도 1의 노드들의 QT 분할 플래그들을 표현하기 위해 1 + 4 = 5 bit를 필요로 하지만, 제2 실시예는 공통 QT의 심도를 나타내는 3 bits (표 1의 “110”)로 표현이 가능하다. 또한, 최상위 QT 리프노드 심도가 3인 경우, 제1 실시예는 심도 0, 심도 1 및 심도 2의 노드들의 QT 분할 플래그들을 표현하기 위해 1 + 4 + 16 = 21 bits를 필요로 하지만, 제2 실시예의 경우 최상위 QT 리프노드 심도를 나타내는 3 bits (표 1의 “111”)로 표현이 가능하다. 즉, 최상위 QT 리프노드 심도가 증가함에 따라, QT는 4의 n승으로 증가하기 때문에, 공통으로 쓰이는 QT의 심도를 깊이 우선 방식이 아닌 심도로만 표기하는 경우 데이터량을 절감할 수 있다. CTU 사이즈가 256x256 또는 128x128로 커짐에 따라, 분할된 블록의 사이즈가 32x32 또는 16x16로 될 때 까지는 모든 노드들이 반복적으로 QT 분할될 가능성이 높다는 점에 유의하라. In representing the exemplary partitioning structure of FIG. 8 with the highest QT leaf node depth of 1, it can be seen that according to the method of the second embodiment, 1 bit is additionally taken as compared to the first embodiment. However, if the highest QT leaf node depth is 2, the first embodiment needs 1 + 4 = 5 bits to represent the QT split flags of nodes of depth 0 and depth 1, while the second embodiment uses a common QT. It can be expressed as 3 bits (“110” in Table 1) indicating the depth. Also, when the highest QT leaf node depth is 3, the first embodiment requires 1 + 4 + 16 = 21 bits to represent the QT split flags of nodes of depth 0, depth 1, and depth 2, but the second In the case of the embodiment, it can be represented by 3 bits (“111” in Table 1) indicating the highest QT leaf node depth. That is, as the depth of the highest QT leaf node increases, the QT increases by n-th power of 4, so that the data amount can be reduced when the depth of the commonly used QT is expressed only as the depth, not the depth-first method. Note that as the CTU size grows to 256x256 or 128x128, it is likely that all nodes will be repeatedly QT split until the size of the split block is 32x32 or 16x16.

위와 같이, QTBT 블록 파티셔닝 구조에서 QT 분할 구조를 표현함에 있어서, 심도 정보로 시그널링하는 기법은 슬라이스(Slice), 픽쳐(Picture), 혹은 시퀀스(Sequence) 레벨로 확장될 수 있다. 예컨대, 하나의 슬라이스(Slice)에 포함된 모든 CTU들이, 공통적으로, 최상위 심도부터 어느 심도까지의 모든 노드들이 재귀적으로 QT 분할되는 경우에, (예컨대, 표 1과 같은 code word를 사용하여) 그 심도를 Slice Header에 표현할 수 있다. Slice Header에 표현된 심도는 해당 Slice에 포함된 모든 CTU들에 대해, 최상위 심도부터 Slice Header에 표현된 심도 사이의 존재하는 모든 노드들에 대한 QT 분할 정보로서 기능할 수 있다. 나머지 하위 QT나 BT는, 실시예 1과 유사하게, QT 분할 플래그, BT 분할 플래그 및 BT 분할 타입 정보를 이용하여 표현될 수 있다.As described above, in representing the QT segmentation structure in the QTBT block partitioning structure, a signaling method with depth information may be extended to a slice, a picture, or a sequence level. For example, when all the CTUs included in one slice are commonly QT split recursively for all nodes from the highest depth to a depth (for example, using a code word as shown in Table 1) The depth can be expressed in the Slice Header. The depth expressed in the slice header may function as QT split information for all nodes existing between the highest depth and the depth expressed in the slice header, for all CTUs included in the slice. The remaining lower QT or BT may be expressed using the QT split flag, the BT split flag, and the BT split type information similarly to the first embodiment.

이해를 돕기 위해, 4개의 CTU로 구성된 Slice에 대해 예시적으로 설명하면, 1번 CTU의 최상위 QT 리프노드 심도가 3이고, 2번 CTU의 최상위 QT 리프노드 심도가 2이고, 3번 CTU의 최상위 QT 리프노드 심도가 4이며, 4번 CTU의 최상위 QT 리프노드 심도가 3이라고 가정하자. 이 경우, 4개의 CTU들은 심도 2까지는 모두 동일한 형태로 분할된다. 즉, 모든 CTU들은 공통적으로 분할된 블록이 심도 2에 이를 때까지 모든 노드들이 재귀적으로 QT 분할된다. 따라서, 부호화 장치는 Slice Header에, 해당 Slice의 모든 CTU들이 심도 2까지 QT분할됨을 나타내는 정보를 표현할 수 있다. For clarity, a slice consisting of four CTUs is exemplarily described. The highest QT leaf node depth of CTU No. 1, the highest QT leaf node depth of CTU No. 2 is 2, and the highest CTU No. 3 CTU. Assume that the QT leaf node depth is 4 and the highest QT leaf node depth of CTU # 4 is 3. In this case, all four CTUs are divided into the same shape up to depth 2. That is, all the CTUs are recursively QT-divided until all the CTU blocks reach depth 2. Accordingly, the encoding apparatus may express information indicating that all CTUs of the corresponding slice are QT-split up to depth 2 in the slice header.

유사하게, 하나의 Picture에 포함된 모든 CTU들의 QTBT 분할 구조에서, 어느 심도까지 모든 노드들이 재귀적으로 QT 분할되는 경우에, 그 심도를 픽처-레벨 헤더 정보에(예를 들어, 픽처 파라미터 세트들(picture parameter set; PPS) 내에) 표현할 수 있다. 나아가, 하나의 Sequence에 포함된 모든 CTU들의 QTBT 분할 구조에서, 어느 심도까지 모든 노드들이 재귀적으로 QT 분할되는 경우에, 그 심도를 시퀀스-레벨 헤더 정보에(예를 들어, 시퀀스 파라미터 세트(sequence parameter set; SPS) 내에) 표현할 수 있다.  Similarly, in the QTBT splitting structure of all the CTUs included in one picture, when all the nodes are recursively QT splitted to a certain depth, the depth is added to the picture-level header information (e.g., picture parameter sets). (in a picture parameter set (PPS)). Furthermore, in the QTBT splitting structure of all the CTUs included in one sequence, when all nodes are recursively QT splitted to a certain depth, the depth is determined in sequence-level header information (e.g., a sequence parameter set parameter set (SPS)).

이와 같이 픽쳐-레벨 헤더 정보, 시퀀스-레벨 헤더 정보, 시퀀스-레벨 헤더 정보에 표현되는 심도는, 이하에서 “QT 공통 심도”로 지칭된다. QT 공통 심도는 해당 레벨에 포함된 모든 CTU에 대해 QTBT 분할 정보의 일부로 사용된다. 표 2에는 SPS(Sequence Parameter Set)에 QT 공통 심도를 표기하는 예시적인 신택스 요소가 표현되어 있다. 표 2와 같이, QT 공통 심도를 시그널링 하기 위해, QT 공통 심도가 존재함을 나타내는 플래그(QT_depth_signal_flag)와 QT 공통 심도를 특정하는 파라미터(QT_comm_depth_minus3)가 사용될 수 있다. 유사한 신택스 요소가 PPS(Picture Parameter Set) 혹은 Slice Header에 포함될 수 있다.The depth expressed in the picture-level header information, the sequence-level header information, and the sequence-level header information in this manner is referred to as "QT common depth" below. The QT common depth is used as part of the QTBT segmentation information for all CTUs included in that level. Table 2 shows an example syntax element for indicating the QT common depth in a Sequence Parameter Set (SPS). As shown in Table 2, in order to signal the QT common depth, a flag indicating that there is a QT common depth (QT_depth_signal_flag) and a parameter (QT_comm_depth_minus3) that specifies the QT common depth may be used. Similar syntax elements may be included in a Picture Parameter Set (PPS) or Slice Header.

seq_parameter_set_rbsp( ) {seq_parameter_set_rbsp () { ...  ... QT_depth_signal_flag  QT_depth_signal_flag if(QT_depth_signal_flag) {if (QT_depth_signal_flag) { QT_comm_depth_minus3    QT_comm_depth_minus3 ...   ...

다른 일부 예시들에서, 픽쳐-레벨 헤더 정보, 시퀀스-레벨 헤더 정보, 혹은 시퀀스-레벨 헤더 정보에 표현되는 QT 공통 심도는, 해당 레벨의 모든 CTU들이 실제로 그 QT 공통 심도까지 동일한 형태로 분할되는지 여부와 관계없이, 사전에 결정된 디폴트(default) 값일 수 있다. 이 경우, 부호화 장치는 SPS, PPS, 혹은 Slice에 디폴트 설정된 QT 공통 심도와 각 CTU의 최상위 QT 리프노드 심도 간의 차이값을 추가적으로 시그널링할 수 있다. 디폴트 값은 해당 레벨에 포함된 CTU들의 최상위 QT 리프노드 심도와 일치할 가능성과 관련된 통계에 기초하여 사전에 결정된 것일 수 있다. CTU 사이즈가 256x256 또는 128x128로 커짐에 따라, QT의 리프 노드의 사이즈가 32x32 또는 16x16로 될 때 까지는 모든 노드들이 QT 분할될 가능성이 높다는 점을 고려할 때, 심도 3 혹은 심도 4를 디폴트 값으로 설정하는 것이 비트 절감에 효율적일 수 있다. 또한, 디폴트 값은 해당 레벨에 포함된 모든 CTU들의 최상위 QT 리프노드 심도의 평균에 기초하여 결정될 수도 있다.이제, 본 실시예에서 부호화 장치로부터 시그널링된 분할 정보를 이용하여, 복호화 장치가, CTU를 복수의 CU로 분할하는 파티셔닝을 결정하는 방식을 설명한다.In some other examples, the QT common depth represented in picture-level header information, sequence-level header information, or sequence-level header information is determined whether all CTUs of that level are actually divided into the same form up to that QT common depth. Regardless, it may be a predetermined default value. In this case, the encoding apparatus may additionally signal a difference value between the QT common depth defaulted to the SPS, PPS, or Slice and the highest QT leaf node depth of each CTU. The default value may be predetermined based on statistics related to the likelihood of matching the highest QT leafnode depth of the CTUs included in that level. Considering that as the CTU size grows to 256x256 or 128x128, all nodes are likely to be QT split until the size of the leaf nodes of the QT is 32x32 or 16x16, setting depth 3 or depth 4 to the default value. It can be efficient for bit savings. In addition, the default value may be determined based on an average of the highest QT leaf node depths of all the CTUs included in the level. Now, in the present embodiment, using the split information signaled from the encoding apparatus, the decoding apparatus may determine the CTU. A method of determining partitioning to be divided into a plurality of CUs will be described.

복호화 장치는 먼저 QTBT 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(즉, 최상위 QT 리프노드 심도)를 나타내는 심도 정보를 부호화된 비트스트림으로부터 추출한다. 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 이용하여, 복호화 장치는 상기 QTBT의 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대해 QT 분할을 수행한다. 예컨대, 최상위 QT 리프노드 심도가 2인 경우, 루트 노드를 QT 분할하고, 루트 노드의 (심도 1에 속하는) 4개의 자식 노드들을 각각 QT 분할한다. The decoding apparatus first extracts depth information indicating the highest depth (that is, the highest QT leaf node depth) among depths in which at least one leaf node of the quadtree exists in the QTBT structure from the encoded bitstream. Using depth information indicating the highest QT leaf node depth, the decoding apparatus performs QT splitting for all nodes from a root node of the QTBT to a parent node of nodes belonging to the highest QT leaf node depth. For example, when the highest QT leaf node depth is 2, the root node is QT splitted, and the four child nodes (which belong to depth 1) of the root node are each QT splitted.

최상위 QT 리프노드 심도의 정의에 의해, 상기 최상위 QT 리프노드 심도에 속하는 노드들 중 적어도 일부는 QT 분할되지 않는다. 또한, 상기 최상위 QT 리프노드 심도에 속하는 노드들 중 일부는 BT 분할되거나, QT분할도 BT 분할도 되지 않는다. 다시 말해, 상기 최상위 QT 리프노드 심도에 속하는 노드들 중 일부는 추가로 QT 분할될 수도, BT 분할될 수도, (QT 분할도 BT 분할도 되지 않는) QTBT의 리프 노드일 수도 있다. 따라서, 상기 최상위 QT 리프노드 심도에 속하는 노드들부터는 전술한 제1실시예와 실질적으로 동일한 방식으로 분할 구조를 결정하게 된다. 즉, 복호화부(510)는 상기 최상위 QT 리프노드 심도에 속하는 노드들에 대해, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출한다. 제1플래그가 QT 분할됨을 지시(QT_split_flag = 1)하면, 대응되는 노드를 재차 QT 분할한다. 제1플래그가 QT 분할되지 않음을 지시(QT_split_flag = 0)하면, BT 분할과 관련된 제2 플래그(BT_split_flag)를 추출한다. 제2플래그가 BT 분할됨을 지시(BT_split_flag = 1)하면, BT 분할 타입 정보를 추가로 추출하여, 추출된 BT 분할 타입 정보에 따라 대응되는 노드를 BT 분할한다. 제2플래그가 QT 분할되지 않음을 지시(BT_split_flag = 0)하면 대응되는 노드는 더 이상 분할되지 않고, QTBT의 리프 노드(즉, CU)로 결정된다.By definition of the highest QT leaf node depth, at least some of the nodes belonging to the highest QT leaf node depth are not QT split. In addition, some of the nodes belonging to the highest QT leaf node depth are neither BT split nor QT split or BT split. In other words, some of the nodes belonging to the highest QT leaf node depth may be further QT split, BT split, or leaf nodes of QTBT (either QT split or BT split). Therefore, nodes belonging to the highest QT leaf node depth are determined in a partition structure in substantially the same manner as in the first embodiment. That is, the decoder 510 extracts a first flag QT_split_flag related to the division of the QT, for nodes belonging to the highest QT leaf node depth. If the first flag indicates that the QT is split (QT_split_flag = 1), the corresponding node is QT split again. If the first flag indicates that the QT is not divided (QT_split_flag = 0), a second flag (BT_split_flag) related to the BT division is extracted. If the second flag indicates that the BT is split (BT_split_flag = 1), the BT split type information is further extracted, and the corresponding node is split according to the extracted BT split type information. If the second flag indicates that the QT is not split (BT_split_flag = 0), the corresponding node is no longer split, and is determined as the leaf node (ie, CU) of the QTBT.

나아가, 전술한 바와 같이, QT 공통 심도를 시그널링하는 기법이 Slice, Picture, 혹은 Sequence 레벨에 적용된 경우에, 복호화 장치는 비트스트림을 파싱하여 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 혹은 Slice Header에 표현된 심도정보를 추출한다. 추출된 심도정보를 이용하여, 복호화 장치는 심도정보가 지시하는 심도에 이를 때까지 모든 노드들을 재귀적으로 QT 분할할 수 있다. Furthermore, as described above, when the technique for signaling the QT common depth is applied to the slice, picture, or sequence level, the decoding apparatus parses the bitstream to process a sequence parameter set (SPS), a picture parameter set (PPS), or a slice. Extract depth information expressed in Header. Using the extracted depth information, the decoding apparatus may recursively split all nodes until the depth indicated by the depth information is reached.

제3 실시예Third embodiment

전술한 바와 같이, QTBT 분할 구조에서 쿼드트리의 리프 노드는 BT 구조로 더 파티셔닝될 수 있다. BT에서는 복수의 분할 타입이 존재할 수 있으며, 예컨대 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, 대칭 수평 분할; symmetric horizontal splitting)과 세로로 분할하는 타입(즉, 대칭 수직 분할; symmetric vertical splitting) 두 가지가 존재할 수 있다. 본 실시예에서는 이러한 BT를 표현하는 비트량을 줄일 수 있는 기법을 제안한다. 본 실시예에서 제안하는 BT 분할 정보의 표현 기법은 제1 실시예 혹은 제2 실시예에 예시된 QT 분할 정보의 표현 기법과 함께 사용될 수 있다.As described above, the leaf nodes of the quadtree in the QTBT partition structure may be further partitioned into the BT structure. In BT, there may be a plurality of split types, for example, a type of dividing a block of a node horizontally into two blocks of the same size (ie, symmetric horizontal splitting) and a type of splitting vertically (ie, symmetrical). There may be two kinds of symmetric vertical splitting. In this embodiment, a technique for reducing the amount of bits representing such BT is proposed. The BT partition information representation scheme proposed in this embodiment may be used together with the QT partition information representation scheme illustrated in the first or second embodiment.

도 9은 하나의 CU에서 BT로 표현될 수 있는 가짓수를 도시한 도면이다.FIG. 9 is a diagram illustrating the number of bits that can be represented as BT in one CU.

BT는 분할되는 경우 2 bits로 표현되는데, 첫번째 비트는 QT가 0인 이후 분할이 끝났는지(no split = 0) 혹은 BT가 시작됨(1)을 나타내고, 첫 번째 비트가 1인 경우 두 번째 비트는 BT의 분할 타입을 나타낸다. 예컨대, 0은 대칭 수평 분할을, 1은 대칭 수직 분할을 나타낸다. 부모 노드와 자식 노드의 가능한 조합을 고려하면, 부모 노드가 각각 대칭 수평 분할과 대칭 수직 분할로 나뉘어지는 경우에, 도 9과 같이, 자식 노드의 분할 방식은 각각 8가지로 구별된다. 여기서, QT 종료 후 BT가 시작되면, QT가 다시 반복되지 않는 것을 전제하고 있음에 유의한다. 즉, QT의 반복형태로 볼 수 있는, 부모 노드가 수평(상, 하)으로 나뉘고 자식 노드는 수직(좌, 우)으로 나뉘거나, 부모 노드가 수직(좌, 우)으로 나뉘고 자식 노드는 수평(상, 하)으로 나뉘는 것은 고려하지 않는다. 부모 노드와 자식 노드의 분할들의 조합을 고려할 경우 총 16가지 표현이 가능하다. 도 9에는 이들 조합들이, BT 분할 플래그와 BT 분할 타입 플래그를 이용하여, 4 bits ~ 6 bits으로 표현되어 있다. BT is expressed as 2 bits when it is split, where the first bit indicates whether the split has ended after QT is 0 (no split = 0) or if BT is started (1), and if the first bit is 1 the second bit is Indicates the split type of BT. For example, 0 represents symmetrical horizontal division and 1 represents symmetrical vertical division. Considering possible combinations of the parent node and the child node, when the parent node is divided into symmetrical horizontal division and symmetrical vertical division, respectively, as shown in FIG. It is noted here that if BT is started after QT ends, QT is not repeated again. In other words, the parent node is divided horizontally (up and down) and the child node is divided vertically (left and right), or the parent node is divided vertically (left and right) and the child node is horizontal. The division into (up and down) is not considered. Considering the combination of parent node and child node partitions, 16 expressions are possible. In FIG. 9, these combinations are represented by 4 bits to 6 bits using the BT partition flag and the BT partition type flag.

도 9에서 수평 또는 수직으로 나뉜 부모 노드에서 자식 노드가 반복적으로 표현되는 점에 유의한다. 이에 착안하여, 본 발명은 부모 노드를 2 bits로 표현하고 자식 노드를 3 bits의 고정 길이(fixed length) 코드워드로 표현함으로써, 이들 부모 노드 및 자식 노드의 조합들을 표현하는 비트량을 줄이는 방식을 채용한다. 표 3에 예시적인 코드워드가 나열되어 있다. 부모 노드와 자식 노드가 같은 형태로 나눠지는 “10 10 10”와 “11 11 11”의 경우 리프 노드는 다르지만, 자식 노드를 특정 비트로 표기하면, 앞의 첫 두 비트(부모 노드의 2bit)로 분할 방법의 예측이 가능하다.In FIG. 9, it is noted that child nodes are repeatedly represented in horizontally or vertically divided parent nodes. In view of this, the present invention represents a method of reducing the amount of bits representing the combination of these parent and child nodes by representing the parent node in 2 bits and the child node in a fixed length codeword of 3 bits. Adopt. Example codewords are listed in Table 3. In the case of “10 10 10” and “11 11 11”, where the parent node and the child node are divided in the same form, the leaf node is different, but when the child node is marked with a specific bit, the first two bits (2 bits of the parent node) are divided. Prediction of the method is possible.

부모 노드(2bits)Parent node (2 bits) 자식노드 (제1실시예, 2 ~ 4 bits)Child Node (First embodiment, 2 to 4 bits) 자식노드 (제3실시예, 3 bits)Child Node (3rd Embodiment, 3 bits) 10/1110/11 0 00 0 000000 0 100 10 001 ~ 110001 to 110 0 110 11 10 010 0 10 1110 11 11 011 0 11 1011 10 1010 10 1010 10 111111 1111 11 1111 11

예를 들어, 도 10와 같은 블록 분할 구조에 대해, 제1 실시예에서 설명한 방식에 따르면, 깊이 우선 방식으로 1 0 11 11 0 0 0 (1번 BT), 0 10 0 0 (2번 BT), 1 0 11 10 11 11 0 0 10 0 0 0 11 0 0 (3, 4번 BT) 00 00 0 10 10 0 0 10 0 0(5번 BT) 00 (총 52 bit)으로 표현될 수 있다. 본 실시예에서 제안하는 방식에 따라, 부모 노드(2 bits) + 자식 노드(3 bits)의 고정 비트로 표기할 경우, 1 0 11 101 (자식 노드 3 bits) 0 0 (1번 BT), 0 10 000 (2번 BT), 1 0 11 100 (3번 BT) 11 110 (4번 BT) 0 0 0 0 0 0 0 , 00 00 , 0 10 111 0 0 0 0 (5번 BT) 00 (총 50bit)으로 표현될 수 있다. 이상에서 설명한 제1 실시예 내지 제3 실시예에서, QTBT 구조에 의한 블록 분할에 대한 정보를 효율적으로 시그널링하기 위해, 다음의 정보가 추가로 사용될 수 있다. 이 정보들은 영상의 헤더 정보로서 부호화되는데, 예컨대 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set)로 부호화될 수 있다.For example, with respect to the block division structure as shown in FIG. 10, according to the method described in the first embodiment, 1 0 11 11 0 0 0 (No. 1 BT) and 0 10 0 0 (No. 2 BT) are used as the depth priority method. , 1 0 11 10 11 11 0 0 10 0 0 0 11 0 0 (BT 3, 4) 0 0 0 0 0 0 10 10 0 0 10 0 0 (BT 5) 0 0 (52 bits total) Can be. According to the scheme proposed in this embodiment, when a fixed bit of a parent node (2 bits) + a child node (3 bits) is expressed, 1 0 11 101 (child node 3 bits) 0 0 (No. 1 BT), 0 10 000 (BT 2), 1 0 11 100 (BT 3) 11 110 (BT 4) 0 0 0 0 0 0 0 , 0 0 0 0 , 0 10 111 0 0 0 0 (BT 5) 0 0 (50 bits in total). In the first to third embodiments described above, the following information may be additionally used to efficiently signal information about block division by the QTBT structure. The information is encoded as header information of an image, for example, may be encoded by a sequence parameter set (SPS) or a picture parameter set (PPS).

- CTU size: QTBT의 최상위 레이어, 즉, 루트 노드의 블록 크기CTU size: the top layer of QTBT, that is, the block size of the root node

- MinQTSize: QT에서 허용되는 리프 노드의 최소 블록 크기MinQTSize: the minimum block size of leaf nodes allowed in QT

- MaxBTSize: BT에서 허용되는 루트 노드의 최대 블록 크기MaxBTSize: the maximum block size of the root node allowed by BT

- MaxBTDepth: BT에서 허용되는 최대 심도(Depth)MaxBTDepth: the maximum depth allowed by BT

- MinBTSize: BT에서 허용되는 리프 노드의 최소 블록 크기MinBTSize: the minimum block size of leaf nodes allowed in BT

QT에서 MinQTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않으며, 따라서 해당 블록에 대응하는 QT에 관한 분할 정보(제1 플래그)는 부호화되지 않는다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 해당 블록에 대응하는 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보)는 부호화되지 않는다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않으며 해당 노드의 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보) 또한 부호화되지 않는다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않으며 BT에 관한 분할 정보(제2 플래그, 분할 타입 정보) 또한 부호화되지 않는다. 이렇게, QT와 BT의 루프나 리프 노드가 가질 수 있는 최대 또는 최소 블록 크기를 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set) 등의 하이 레벨(high level)에서 정의함으로써, CTU의 분할 여부나 분할 타입을 지시하는 정보들에 대한 부호화량을 줄일 수 있다.In QT, a block having the same size as MinQTSize is no longer split, and thus split information (first flag) about QT corresponding to the block is not encoded. In addition, there is no BT in a block having a size larger than MaxBTSize in QT. Therefore, splitting information (second flag, splitting type information) regarding BT corresponding to the block is not encoded. In addition, when the depth of the corresponding node of the BT reaches MaxBTDepth, the block of the corresponding node is no longer split and no splitting information (second flag, split type information) regarding the BT of the corresponding node is not encoded. In addition, a block having the same size as MinBTSize in BT is no longer split and no split information (second flag, split type information) regarding BT is also encoded. In this way, the maximum or minimum block size that a loop or leaf node of the QT and BT can have at a high level such as a sequence parameter set (SPS) or a picture parameter set (PPS) can be defined to determine whether the CTU is divided or not. The amount of coding for the information indicating the partition type can be reduced.

이와 같이, SPS 또는 PPS에 MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize 등의 정보가 추가로 정의되어 있는 경우에는, 복호화 장치는 해당 정보를 추출하고 QT 및 BT에 대한 분할 정보를 추출할 때 이 정보를 반영할 수 있다.As such, when information such as MinQTSize, MaxBTSize, MaxBTDepth, MinBTSize, etc. is additionally defined in the SPS or PPS, the decoding apparatus extracts the information and reflects this information when extracting the split information for QT and BT. Can be.

예컨대, QT에서 MinQTSize 과 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서 복호화 장치는 해당 블록의 QT에 관한 분할 정보(QT 분할 플래그)를 비트스트림으로부터 추출하지 않으며(즉, 비트스트림에는 해당 블록의 QT 분할 플래그가 존재하지 않음), 그 값을 자동으로 0으로 설정한다. 또한, QT에서 MaxBTSize보다 큰 크기를 가지는 블록은 BT가 존재하지 않는다. 따라서, 복호화 장치는 QT에서 MaxBTSize보다 큰 크기의 블록을 가지는 리프 노드에 대한 BT 분할 플래그가 추출하지 않으며, BT 분할 플래그를 자동으로 0으로 설정한다. 또한, BT의 해당 노드의 심도(depth)가 MaxBTDepth에 도달하면, 해당 노드의 블록은 더 이상 분할되지 않는다. 따라서, 해당 노드의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다. 또한, BT에서 MinBTSize와 동일한 크기를 가지는 블록은 더 이상 분할되지 않는다. 따라서, 복호화 장치는 MinBTSize와 동일한 크기를 가지는 블록의 BT 분할 플래그를 비트스트림으로부터 추출되지 않으며, 그 값을 자동으로 0으로 설정한다.For example, blocks having the same size as MinQTSize in QT are no longer split. Therefore, the decoding apparatus does not extract the split information (QT split flag) about the QT of the block from the bitstream (that is, the QT split flag of the block does not exist in the bitstream), and sets the value to 0 automatically. do. In addition, there is no BT in a block having a size larger than MaxBTSize in QT. Therefore, the decoding apparatus does not extract the BT partition flag for the leaf node having a block larger than MaxBTSize in QT, and automatically sets the BT partition flag to 0. In addition, when the depth of the node of the BT reaches MaxBTDepth, the block of the node is no longer split. Therefore, the BT partition flag of the corresponding node is not extracted from the bitstream, and its value is automatically set to zero. Also, in BT, blocks having the same size as MinBTSize are no longer split. Therefore, the decoding apparatus does not extract the BT partition flag of the block having the same size as MinBTSize from the bitstream, and automatically sets the value to zero.

한편, 일부 예시들에서, CTU의 휘도(luma) 성분과 색차(chroma) 성분은 동일한 QTBT 구조로 분할될 수 있다. 다른 예시들에서, 휘도 성분과 색차 성분이 각각 별개의 QTBT 구조로 분할될 수 있다. 예컨대, I (Intra) 슬라이스의 경우에는 휘도 성분과 색차 성분이 서로 다른 QTBT 구조로 분할될 수도 있다. 즉, CTU를 휘도 CB(Coding Block)와 색차 CB로 분리하여 블록 파티셔닝을 수행하고, 블록 파티션 정보를 각 CB별로 생성하여 복호화 장치에 전달할 수 있다. 이 경우에 한 픽쳐 내의 CTU 중 휘도와 색차의 블록 파티션의 모양이 같다면, 동일한 블록 파티션 정보를 중복으로 전달하는 것이 되므로 비트 효율성이 떨어지게 된다. 이를 고려하여, 본 발명의 일부 예시에서는, CTU를 표현한 신택스(syntax)에 별도의 신택스(split_cb_flag_in_CTU)를 추가하여, 이 값이 0인 경우에는 복호화 장치에서 휘도 CB에 대한 블록 파티션 정보를 색차 CB의 블록 파티션 정보로써 사용하고, 이 값이 1인 경우에는 기존과 같이 서로 다른 블록 파티션 정보를 복화화 장치에 보낼 수 있다. 즉, QTBT를 포함한 휘도의 전체 블록 파티션 정보를 색차에서 그대로 활용할 수 있다.Meanwhile, in some examples, the luma component and the chroma component of the CTU may be divided into the same QTBT structure. In other examples, the luminance component and the chrominance component may each be divided into separate QTBT structures. For example, in the case of an I (Intra) slice, the luminance component and the chrominance component may be divided into different QTBT structures. That is, CTU may be divided into luminance coding blocks (CBs) and color difference CBs to perform block partitioning, and block block information may be generated for each CB and transmitted to a decoding apparatus. In this case, if the shape of the block partitions of luminance and color difference among the CTUs in one picture is the same, the same block partition information is transferred redundantly, thereby reducing the bit efficiency. In consideration of this, in some examples of the present invention, an additional syntax (split_cb_flag_in_CTU) is added to the syntax representing the CTU, and when this value is 0, the decoding apparatus adds block partition information for the luminance CB to the color difference CB. When used as block partition information, and this value is 1, different block partition information can be sent to the decoding apparatus as before. That is, all block partition information of luminance including QTBT can be utilized as it is in color difference.

또한, 색차 정보가 휘도 정보와 달리 세부적인 블록 파티션이 필요하지 않을 수 있다. 이를 고려하여, 일부 예시들에서, 휘도의 전체 블록 파티션 정보 중에서(즉, QTBT 파티션 정보 중에서) QT 파티션 정보만을 색차 CB의 블록 파티션 정보로 활용할 수 있다. 예컨대, CTU를 표현한 신택스(syntax)에 별도의 신택스 (split_cb_flag_for_QT_in_CTU)를 추가하여, 이 값이 0인 경우에는 복호화 장치에서 휘도에 대한 전체 블록 파티션 정보 중에서 QT 파티션 정보을 휘도 CB에 대한 QT 파티션 정보를 색차 CB의 QT 블록 파티션 정보로써 사용하고, 이 값이 1인 경우에는 기존과 같이 서로 다른 블록 파티션 정보를 복호화 장치에 보낼 수 있다.In addition, unlike the luminance information, the color difference information may not require a detailed block partition. In consideration of this, in some examples, only QT partition information among all block partition information of luminance (that is, among QTBT partition information) may be used as block partition information of the color difference CB. For example, a separate syntax (split_cb_flag_for_QT_in_CTU) is added to the syntax representing the CTU, and when this value is 0, the decoding apparatus converts the QT partition information from the entire block partition information of luminance to the QT partition information of the luminance CB. When the CB is used as QT block partition information, and this value is 1, different block partition information may be sent to the decoding apparatus as before.

제2실시예와 관련하여 설명한 바와 같이, QT의 QT 공통 심도가 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 및 Slice Header 중 어느 하나에 표현되는 경우에, 일부 예시에서, CTU 단위 내 휘도 및 색차에 대한 QT 공통 심도는 CTU 보다 상위에서 설정한(즉, SPS, PPS, 혹은 Slice Header에 설정한) QT 공통 심도를 그대로 참조할 수 있다. 다른 일부 예시들에서, CTU 단위 내 휘도 및 색차에 대한 QT 공통 심도는 CTU 보다 상위에서 설정한 QT 공통 심도와의 차이값으로 표기될 수 있다.As described in connection with the second embodiment, when the QT common depth of the QT is expressed in any one of a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), and a Slice Header, in some examples, the luminance in the CTU unit The QT common depth for the color difference may refer to the QT common depth set higher than the CTU (that is, set in the SPS, PPS, or Slice Header). In some other examples, the QT common depth for luminance and color difference in the CTU unit may be expressed as a difference value from the QT common depth set above the CTU.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those skilled in the art to which the present embodiment belongs may make various modifications and changes without departing from the essential characteristics of the present embodiment. Therefore, the present embodiments are not intended to limit the technical idea of the present embodiment but to describe the present invention, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION

본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는 2017년 03월 13일 한국에 출원한 특허출원번호 제10-2017-0031234호에 대해 우선권을 주장한다.This patent application claims priority to Korean Patent Application No. 10-2017-0031234 filed on March 13, 2017, which is hereby incorporated by reference in its entirety.

Claims (15)

영상 데이터를 부호화하는 방법으로서,As a method of encoding image data, 영상 데이터의 블록을 부호화하기 위한 QTBT(QuadTree plus BinaryTree) 블록 파티셔닝 구조를 결정하는 단계, 여기서 상기 QTBT 블록 파티셔닝 구조는 쿼드트리의 리프 노드(leaf node)로부터 바이너리트리가 루트된(rooted) 구조임; 및Determining a QuadTree plus BinaryTree (QTBT) block partitioning structure for encoding a block of image data, wherein the QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree; And 상기 결정된 블록 파티셔닝 구조에 기초하여, 상기 영상 데이터의 블록과 상기 결정된 블록 파티셔닝 구조를 표현하는 분할 정보를 부호화하는 단계를 포함하고, Encoding partition information representing a block of the image data and the determined block partitioning structure based on the determined block partitioning structure; 상기 분할 정보를 부호화하는 것은, Encoding the split information, 상기 결정된 블록 파티셔닝 구조에서, 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 판단하는 단계; 및Determining, in the determined block partitioning structure, the highest depth among the depths in which at least one leaf node of the quadtree exists (hereinafter, referred to as “top QT leaf node depth”); And 상기 결정된 블록 파티셔닝 구조에서 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 쿼드트리 분할 정보로서, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 부호화하는 단계를 포함하는, 영상 데이터를 부호화하는 방법.And encoding depth information representing the highest QT leaf node depth as quadtree split information from a root node to a parent node of nodes belonging to the highest QT leaf node depth in the determined block partitioning structure. How to encode. 제1항에 있어서,The method of claim 1, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보는, Depth information indicating the highest QT leaf node depth, 절삭된 유너리(truncated unary) 코드워드로 표현되어, 상기 QTBT의 심도들 중에서 상기 최상위 QT 리프노드 심도를 특정하는 것임을 특징으로 하는, 영상 데이터를 부호화하는 방법.A truncated unary codeword, characterized by specifying the highest QT leaf node depth among the depths of the QTBT. 제1항에 있어서, The method of claim 1, 상기 바이너리트리는 부모 노드를 2개의 자식 노드로 분할하는 분할 타입들에 의해 정의되며, 상기 분할 타입들은 대칭 수평 분할 및 대칭 수직 분할을 포함하는, 영상 데이터를 부호화하는 방법.And wherein the binary tree is defined by partition types for dividing a parent node into two child nodes, wherein the partition types include symmetrical horizontal partitioning and symmetrical vertical partitioning. 제5항에 있어서,The method of claim 5, 상기 분할 정보를 부호화하는 단계는,Encoding the split information, 상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합들 중에서 어느 하나를 특정하는 방식으로, 상기 결정된 블록 파티셔닝 구조에서 바이너리트리를 표현하는 바이너리트리 분할 정보를 부호화하는 단계를 더 포함하는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.And encoding binary tree partitioning information representing a binary tree in the determined block partitioning structure in a manner that specifies any one of possible combinations of partitioning of the parent node and partitioning of the child node. A method of encoding video data. 제6항에 있어서,The method of claim 6, 상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합은, Possible combinations of partitioning of the parent node and partitioning of the child node, 상기 부모 노드의 분할을 나타내는 고정길이 코드워드와 상기 자식 노드의 분할을 나타내는 고정길이 코드워드로 구분되는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.And a fixed length codeword indicating the division of the parent node and a fixed length codeword indicating the division of the child node. 제1항에 있어서,The method of claim 1, 상기 영상 데이터의 블록을 부호화하기 위한 QTBT 블록 파티셔닝 구조를 결정하는 단계는,Determining a QTBT block partitioning structure for encoding the block of the image data, 상기 영상 데이터의 블록의 휘도(luma) 성분과 색차(chroma) 성분에 대해 개별적으로 상기 QTBT 블록 파티셔닝 구조를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.And determining the QTBT block partitioning structure separately for a luma component and a chroma component of the block of image data. 제6항에 있어서,The method of claim 6, 상기 분할 정보를 부호화하는 단계는,Encoding the split information, 상기 휘도 성분에 대해 결정된 QTBT 블록 파티셔닝 구조와 상기 크로마 성분에 대해 결정된 QTBT 블록 파티셔닝 구조 간의 동일 여부를 나타내는 플래그를 부호화하는 단계; 및 Encoding a flag indicating whether the QTBT block partitioning structure determined for the luminance component and the QTBT block partitioning structure determined for the chroma component are the same; And 상기 휘도 성분에 대해 결정된 QTBT 블록 파티셔닝 구조와 상기 크로마 성분에 대해 결정된 QTBT 블록 파티셔닝 구조가 서로 동일한 경우에, 상기 휘도 성분에 대해 결정된 QTBT 블록 파티셔닝 구조와 상기 크로마 성분에 대해 결정된 QTBT 블록 파티셔닝 구조 중 어느 하나만의 분할 정보를 부호화하는 단계When the QTBT block partitioning structure determined for the luminance component and the QTBT block partitioning structure determined for the chroma component are the same, any of the QTBT block partitioning structure determined for the luminance component and the QTBT block partitioning structure determined for the chroma component Encoding only partition information 를 더 포함하는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.The method of encoding image data, further comprising. 영상 데이터를 복호화하는 방법으로서,As a method of decoding image data, 부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계, 여기서 상기 부호화된 영상 데이터의 블록은 QTBT(quadtree plus binarytree) 블록 파티셔닝 구조에 따라 복수의 분할 블록으로 분할되어 있으며, 상기 QTBT 블록 파티셔닝 구조는 쿼드트리(quadtree)의 리프 노드(leaf node)로부터 바이너리트리(binarytree)가 루트된(rooted) 구조임; 및Parsing a block of encoded image data and partition information associated with the block of the image data, wherein the block of encoded image data is divided into a plurality of partition blocks according to a quadtree plus binarytree (QTBT) block partitioning structure, The QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree; And 상기 분할 정보를 이용하여 상기 QTBT를 결정하면서 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계를 포함하고,Decoding the block of the encoded image data for each leaf node of the QTBT while determining the QTBT using the split information; 상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 나타내는 심도 정보를 포함하며,The splitting information includes depth information indicating the highest depth among the depths in which at least one leaf node of the quadtree exists in the QTBT block partitioning structure (hereinafter, referred to as “highest QT leaf node depth”). 상기 QTBT를 결정하는 것은, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 이용하여, 상기 QTBT의 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대해 쿼드트리 분할을 수행하는 단계를 포함하는, 영상 데이터를 복호화하는 방법.Determining the QTBT uses quadrature splitting for all nodes from the root node of the QTBT to the parent node of nodes belonging to the highest QT leaf node depth using depth information indicating the highest QT leaf node depth. A method of decoding image data, comprising the step of performing. 제8항에 있어서,The method of claim 8, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보는, Depth information indicating the highest QT leaf node depth, 절삭된 유너리(truncated unary) 코드워드로 표현되어, 상기 QTBT의 심도들 중에서 상기 최상위 QT 리프노드 심도를 특정하는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.Characterized by the truncated unary codeword, specifying the highest QT leaf node depth among the depths of the QTBT. 제8항에 있어서, The method of claim 8, 상기 바이너리트리는 부모 노드를 2개의 자식 노드로 분할하는 분할 타입들에 의해 정의되며, 상기 분할 타입들은 대칭 수평 분할 및 대칭 수직 분할을 포함하는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.The binary tree is defined by partition types for dividing a parent node into two child nodes, wherein the partition types include symmetrical horizontal partitioning and symmetrical vertical partitioning. 제10항에 있어서,The method of claim 10, 상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 바이너리트리 분할 정보를 포함하고, 상기 바이너리트리 분할 정보는 상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합들 중에서 어느 하나를 특정하는 방식으로 표현된 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.The partitioning information includes binary tree partitioning information in the QTBT block partitioning structure, and the binary tree partitioning information is expressed by specifying one of possible combinations of partitioning of the parent node and partitioning of the child node. Characterized in that the video data is decoded. 제11항에 있어서,The method of claim 11, 상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합은, Possible combinations of partitioning of the parent node and partitioning of the child node, 상기 부모 노드의 분할을 나타내는 고정길이 코드워드와 상기 자식 노드의 분할을 나타내는 고정길이 코드워드로 구분되는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.And a fixed length codeword indicating the division of the parent node and a fixed length codeword indicating the division of the child node. 제11항에 있어서,The method of claim 11, 상기 분할 정보를 부호화하는 단계는,Encoding the split information, 상기 바이너리트리 분할 정보를 이용하여, 상기 쿼드트리의 리프 노드들에 대해 바이너리 분할을 수행하는 단계를 포함하는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.And performing binary partitioning on the leaf nodes of the quadtree by using the binary tree partitioning information. 제8항에 있어서,The method of claim 8, 상기 분할 정보는 상기 영상 데이터의 블록에서 휘도 성분에 대한 QTBT 블록 파티셔닝 구조와 크로마 성분에 대한 QTBT 블록 파티셔닝 구조 간의 동일 여부를 나타내는 플래그를 포함하고, The segmentation information includes a flag indicating whether the QTBT block partitioning structure for the luminance component and the QTBT block partitioning structure for the chroma component are the same in the block of the image data 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계는, 상기 플래그가 상기 휘도 성분에 대한 QTBT 블록 파티셔닝 구조와 상기 크로마 성분에 대한 QTBT 블록 파티셔닝 구조가 서로 동일하다고 지시하는 경우에, 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록의 휘도(luma) 성분과 색차(chroma) 성분에 대해 복호화하는 단계를 포함하는, 영상 데이터를 복호화하는 방법.The decoding of the encoded image data block for each leaf node of the QTBT may be performed when the flag indicates that the QTBT block partitioning structure for the luminance component and the QTBT block partitioning structure for the chroma component are the same. And decoding the luma component and the chroma component of the block of the encoded image data for each leaf node of the QTBT. 영상 데이터를 복호화하는 장치로서, An apparatus for decoding video data, 메모리; 및Memory; And 하나 이상의 프로세서들을 포함하며, Includes one or more processors, 상기 하나 이상의 프로세서들은,The one or more processors, 부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계, 여기서 상기 부호화된 영상 데이터의 블록은 QTBT(quadtree plus binarytree) 블록 파티셔닝 구조에 따라 복수의 분할 블록으로 분할되어 있고, 상기 QTBT 블록 파티셔닝 구조는 쿼드트리(quadtree)의 리프 노드(leaf node)로부터 바이너리트리(binarytree)가 루트된(rooted) 구조이며, 상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 나타내는 심도 정보를 포함함; 및Parsing a block of encoded image data and partition information associated with the block of image data, wherein the block of encoded image data is divided into a plurality of partition blocks according to a quadtree plus binarytree (QTBT) block partitioning structure, The QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree, and the partitioning information includes at least a leaf tree of a quadtree in the QTBT block partitioning structure. Includes depth information indicative of the highest depth of the existing depths (hereinafter referred to as "top QT leaf node depth"); And 상기 분할 정보를 이용하여 상기 QTBT를 결정하면서, 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계를 수행하도록 구성되되, And determining the QTBT using the split information, and decoding the block of the encoded image data for each leaf node of the QTBT. 상기 QTBT를 결정하는 것은,Determining the QTBT, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 이용하여, 상기 QTBT의 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대해 쿼드트리 분할을 수행하는 단계를 포함하는, 영상 데이터를 복호화하는 장치.Performing quadtree splitting on all nodes from a root node of the QTBT to a parent node of nodes belonging to the highest QT leaf node depth, using depth information indicating the highest QT leaf node depth, An apparatus for decoding image data.
PCT/KR2018/002891 2017-03-13 2018-03-12 Device and method for encoding or decoding image Ceased WO2018169267A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0031234 2017-03-13
KR1020170031234A KR102390384B1 (en) 2017-03-13 2017-03-13 Apparatus and Method for Video Encoding or Decoding

Publications (1)

Publication Number Publication Date
WO2018169267A1 true WO2018169267A1 (en) 2018-09-20

Family

ID=63522489

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/002891 Ceased WO2018169267A1 (en) 2017-03-13 2018-03-12 Device and method for encoding or decoding image

Country Status (2)

Country Link
KR (1) KR102390384B1 (en)
WO (1) WO2018169267A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060259A1 (en) * 2018-09-21 2020-03-26 엘지전자 주식회사 Method for decoding image by using block partitioning in image coding system, and device therefor
CN111107378A (en) * 2018-10-26 2020-05-05 北京字节跳动网络技术有限公司 Signaling of segmentation information
CN113396586A (en) * 2019-02-11 2021-09-14 北京字节跳动网络技术有限公司 Conditional dependent video block segmentation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021016157A (en) 2019-06-19 2022-03-11 Lg Electronics Inc Image encoding/decoding method and device using adaptive size limiting of chroma block and bitstream transmission method.

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130030240A (en) * 2011-09-16 2013-03-26 한국항공대학교산학협력단 Method for image encoding/decoding and apparatus thereof
WO2016091161A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
KR20160077166A (en) * 2013-12-27 2016-07-01 인텔 코포레이션 Content adaptive gain compensated prediction for next generation video coding
KR20170019344A (en) * 2014-05-01 2017-02-21 퀄컴 인코포레이티드 Method and device for decoding multi-layer video data by determining the capability of the decoder based on profile, tier and level associated with partition containing one or more layers
KR20170023893A (en) * 2017-02-07 2017-03-06 인텔렉추얼디스커버리 주식회사 Apparatus and Method of Adaptive Quantization Parameter Encoding and Decoder based on Quad Tree Structure

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462275B2 (en) * 2012-01-30 2016-10-04 Qualcomm Incorporated Residual quad tree (RQT) coding for video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130030240A (en) * 2011-09-16 2013-03-26 한국항공대학교산학협력단 Method for image encoding/decoding and apparatus thereof
KR20160077166A (en) * 2013-12-27 2016-07-01 인텔 코포레이션 Content adaptive gain compensated prediction for next generation video coding
KR20170019344A (en) * 2014-05-01 2017-02-21 퀄컴 인코포레이티드 Method and device for decoding multi-layer video data by determining the capability of the decoder based on profile, tier and level associated with partition containing one or more layers
WO2016091161A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
KR20170023893A (en) * 2017-02-07 2017-03-06 인텔렉추얼디스커버리 주식회사 Apparatus and Method of Adaptive Quantization Parameter Encoding and Decoder based on Quad Tree Structure

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060259A1 (en) * 2018-09-21 2020-03-26 엘지전자 주식회사 Method for decoding image by using block partitioning in image coding system, and device therefor
US11368687B2 (en) 2018-09-21 2022-06-21 Lg Electronics Inc. Method for decoding image by using block partitioning in image coding system, and device therefor
US11882280B2 (en) 2018-09-21 2024-01-23 Lg Electronics Inc. Method for decoding image by using block partitioning in image coding system, and device therefor
CN111107378A (en) * 2018-10-26 2020-05-05 北京字节跳动网络技术有限公司 Signaling of segmentation information
CN111107378B (en) * 2018-10-26 2024-05-14 北京字节跳动网络技术有限公司 Signaling of segmentation information
CN113396586A (en) * 2019-02-11 2021-09-14 北京字节跳动网络技术有限公司 Conditional dependent video block segmentation
US12244826B2 (en) 2019-02-11 2025-03-04 Beijing Bytedance Network Technology Co., Ltd. Video block partition based on quinary-tree
US12395647B2 (en) 2019-02-11 2025-08-19 Beijing Bytedance Network Technology Co. Ltd. Condition dependent video block partition

Also Published As

Publication number Publication date
KR20180104451A (en) 2018-09-21
KR102390384B1 (en) 2022-04-22

Similar Documents

Publication Publication Date Title
WO2018128466A1 (en) Device and method for encoding or decoding image
EP3183881B1 (en) Methods incorporating extensions to copy-above mode for palette mode coding
WO2019135628A1 (en) Method and device for encoding or decoding image
WO2012057528A2 (en) Adaptive intra-prediction encoding and decoding method
WO2013069932A1 (en) Method and apparatus for encoding image, and method and apparatus for decoding image
KR20150139902A (en) Determining palettes in palette-based video coding
WO2020185009A1 (en) Method and apparatus for efficiently coding residual blocks
WO2011133002A2 (en) Image encoding device and method
WO2012058909A1 (en) Appraatus and method for high efficiency video coding using flexible slice structure
WO2011087271A2 (en) Processing method and device for video signals
WO2020251260A1 (en) Video signal processing method and device using block dpcm prediction method
JP2022521911A (en) Intra-prediction-based video signal processing methods and equipment
US20210360244A1 (en) Signaling for video block partition mode
JP2023181460A (en) Video signal processing method and device
KR20170028905A (en) Method for palette mode coding
WO2019194500A1 (en) Intra-prediction-based image coding method and device therefor
WO2018169267A1 (en) Device and method for encoding or decoding image
WO2019059721A1 (en) Image encoding and decoding using resolution enhancement technique
WO2018079873A1 (en) Video coding method and apparatus using any types of block partitioning
WO2018074812A1 (en) Device and method for encoding or decoding image
WO2018070555A1 (en) Video coding method and apparatus utilizing combination of diverse block partitioning structures
WO2019132567A1 (en) Video coding method and device which use sub-block unit intra prediction
WO2018070556A1 (en) Method and apparatus for extracting intra prediction mode data of square or rectangular block
KR20200136300A (en) Method and apparatus for constructing intra mode candidates
WO2021137445A1 (en) Method for determining transform kernels for video signal processing and apparatus therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18768374

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

Country of ref document: EP

Kind code of ref document: A1