KR102390384B1 - Apparatus and Method for Video Encoding or Decoding - Google Patents

Apparatus and Method for Video Encoding or Decoding Download PDF

Info

Publication number
KR102390384B1
KR102390384B1 KR1020170031234A KR20170031234A KR102390384B1 KR 102390384 B1 KR102390384 B1 KR 102390384B1 KR 1020170031234 A KR1020170031234 A KR 1020170031234A KR 20170031234 A KR20170031234 A KR 20170031234A KR 102390384 B1 KR102390384 B1 KR 102390384B1
Authority
KR
South Korea
Prior art keywords
block
depth
qtbt
node
image data
Prior art date
Application number
KR1020170031234A
Other languages
Korean (ko)
Other versions
KR20180104451A (en
Inventor
임정연
김형덕
손세훈
신재섭
이선영
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020170031234A priority Critical patent/KR102390384B1/en
Priority to PCT/KR2018/002891 priority patent/WO2018169267A1/en
Publication of KR20180104451A publication Critical patent/KR20180104451A/en
Application granted granted Critical
Publication of KR102390384B1 publication Critical patent/KR102390384B1/en

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

Landscapes

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

Abstract

본 발명은 QTBT(Quadtree plus Binary tree) 기반 블록 파티셔닝에 관한 분할 정보를 효율적으로 시그널링하는 것과 관련이 있다. 본 발명의 일 측면에 따르면, 영상 부호화 장치는 결정된 블록 파티셔닝 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도를 지칭하는 최상위 QT 리프노드 심도를 판단하고, 상기 결정된 블록 파티셔닝 구조에서 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대한 쿼드트리 분할 정보로서, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 시그널링한다.The present invention relates to efficient signaling of partition information related to quadtree plus binary tree (QTBT)-based block partitioning. According to one aspect of the present invention, the image encoding apparatus determines the highest QT leaf node depth indicating the highest depth among the depths in which at least one leaf node of the quadtree exists in the determined block partitioning structure, and As quadtree partition information for all nodes from the root node to the parent node of nodes belonging to the highest QT leaf node depth in the determined block partitioning structure, depth information indicating the highest QT leaf node depth is signaled.

Description

영상 부호화 또는 복호화하기 위한 장치 및 방법{Apparatus and Method for Video Encoding or Decoding}Apparatus and Method for Video Encoding or Decoding

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

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다. The content described in this section merely provides background information for the present embodiment and does not constitute the 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 division 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 coding units (CUs) using a quadtree structure method. When the CU is determined in this way, intra and inter coding prediction is also performed in units of CUs. Each CU is again divided into a PU (Prediction Unit), and after the PU is determined and a prediction process is performed, the CU is divided into a TU (Transformation Unit) for a residual block.

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

또한 HEVC에서 CTU 사이즈는 64였으나 영상의 해상도가 커짐에 따라 128, 256 등 더 큰 블록 사이즈의 필요성이 논의되고 있는 바, CTU에서 블록이 최소 4x4까지 분할될 경우 이러한 분할 정보를 시그널링하는 데 소요되는 데이터량은 점점 더 증가하게 된다.Also, in HEVC, the CTU size was 64, but as the resolution of the image increases, the need for a larger block size such as 128 or 256 is being discussed. The amount of data gradually increases.

본 발명은 QTBT(Quadtree plus Binary tree) 기반 블록 파티셔닝에 관한 분할 정보를 효율적으로 시그널링하는 데 그 목적이 있다.An object of the present invention is to efficiently signal partition information related to 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, the method comprising: determining a QTBT (QuadTree plus BinaryTree) block partitioning structure for encoding a block of image data; and encoding a block of the image data and partition 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 partition information includes determining the highest depth (hereinafter referred to as “the highest QT leaf node depth”) among the depths in which at least one leaf node of a quadtree exists in the determined block partitioning structure. ; and encoding depth information indicating the depth of the highest QT leaf node as quadtree partition 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.

본 발명의 다른 측면에 따르면, 부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계; 상기 분할 정보를 이용하여 상기 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 present invention, the method comprising: parsing a block of encoded image data and segmentation information related to the block of image data; There is provided a method of decoding image data, comprising decoding the block of the encoded image data for each leaf node of the determined QTBT while determining the QTBT using the division 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 a binary tree ( binarytree) is a rooted structure. The partition 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 “the highest QT leaf node depth”). In the determining of the QTBT, using depth information indicating the depth of the highest QT leaf node, a quadtree is divided for all nodes from the root node of the QTBT to the parent node of the nodes belonging to the highest QT leaf node depth. It includes the step of performing

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

도 1은 CTU에 대한 쿼드 트리 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
도 3은 복수의 인트라 예측 모드에 대한 예시를 나타낸다.
도 4는 현재 블록의 주변블록에 대한 예시도이다.
도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한 것이다.
도 6은 영상 부호화 장치가 영상을 부호화하는 예시적인 동작을 도시한 흐름도이다.
도 7은 영상 복호화 장치가 영상을 복호화하는 예시적인 동작을 도시한 흐름도이다.
도 8은 CTU의 QTBT 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다.
도 9는 하나의 CU에서 BT로 표현될 수 있는 가짓수를 도시한 도면이다.
도 10은 CTU의 예시적인 QTBT 분할 구조를 트리 구조로 도시한 도면이다.
1 is a diagram illustrating an example of a quad-tree division structure for a CTU and a tree structure thereof.
2 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
3 shows an example for a plurality of intra prediction modes.
4 is an exemplary diagram of a neighboring block of a current block.
5 illustrates an image decoding apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating an exemplary operation of encoding an image by an image encoding apparatus.
7 is a flowchart illustrating an exemplary operation in which an image decoding apparatus decodes an image.
8 is a diagram illustrating an example of a QTBT division structure of a CTU and a tree structure thereof.
9 is a diagram illustrating the number of items that can be expressed as BT in one CU.
10 is a diagram illustrating an exemplary QTBT partition structure of a CTU in a tree structure.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that in adding identification codes to the components of each drawing, the same components are to have the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related 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 transform unit 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 as software and a microprocessor may be implemented to execute 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를 사용할 수 있다.The block divider 210 divides each picture constituting an image into a plurality of coding tree units (CTUs) and then recursively divides the CTUs using a tree structure. A leaf node in the tree structure becomes a coding unit (CU), which is a basic unit of encoding. As a tree structure, 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 a QT structure and a parent node divided into two child nodes A QTBT (QuadTree plus BinaryTree) structure mixed with a binary tree (BinaryTree, BT) 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, a CTU may first be divided into a QT structure. The quadtree splitting may be repeated until the size of a splitting block reaches the minimum block size of a leaf node (MinQTSize) 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 the BT, it may be further partitioned into the BT structure. In BT, a plurality of partition types may exist. For example, in some examples, there may be two types of horizontally splitting a block of a corresponding node into two blocks of the same size (ie, symmetric horizontal splitting) and a vertical splitting type (ie, symmetric vertical splitting). In addition, there may be further types in which the block of the corresponding node is divided into two blocks having an asymmetric shape. The asymmetric form may include a form in which the block of the corresponding node is divided into two rectangular blocks having a size ratio of 1:3, or may include a form in which the block of the corresponding node is divided in a diagonal direction.

블록 분할부(210)가 QTBT 구조에 의해 CTU를 분할하여 생성하는 분할 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다. 본 개시의 예시들은 일반적으로 QTBT 블록 파티션 정보의 시그널링하는 기법과 QTBT 블록 파티션 정보로부터 블록 파티셔닝을 결정하는 기법에 관한 것이다. 이와 같이, 본 개시의 소정의 기법들은 부호화부(250)에 의해 수행될 수도 있다. 즉, 예를 들어, 부호화부(250)는 아래의 도 8 내지 도 10에 대해 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 부호화 장치의 하나 이상의 다른 유닛들이 추가적이거나 대안적으로 본 개시의 기법들을 수행하는 것을 담당할 수도 있다.The division information generated by the block division unit 210 by dividing the CTU according to the QTBT structure is encoded by the encoding unit 250 and transmitted to the image decoding apparatus. Examples of the present disclosure generally relate to a signaling technique of 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 additionally or alternatively be responsible for performing the techniques of the present disclosure.

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

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

인트라 예측부(222)는 현재 블록이 포함된 현재 픽처 내에서 현재 블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재 블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. 특히, 인트라 예측부(222)는 현재 블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(222)는 여러 인트라 예측 모드들을 사용하여 현재 블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(222)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다. The intra prediction unit 222 predicts pixels in the current block by using pixels (reference pixels) located in the vicinity of the current block in the current picture including the current block. A plurality of intra prediction modes exist according to a prediction direction, and neighboring pixels to be used and an arithmetic expression are defined differently according to each prediction mode. In particular, the intra prediction unit 222 may determine an intra prediction mode to be used for encoding the current block. In some examples, the 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, the intra prediction unit 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. An intra prediction mode may be selected.

도 3은 복수의 인트라 예측 모드에 대한 예시를 나타낸다. 3 shows an example for 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 prediction unit 222 selects one intra prediction mode from among a plurality of intra prediction modes, and predicts the current block by using a neighboring pixel (reference pixel) determined according to the selected intra prediction mode and an arithmetic expression. Information on the selected intra prediction mode is encoded by the encoder 250 and transmitted to an 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 is configured to efficiently encode intra prediction mode information indicating which of the plurality of intra prediction modes is used as the intra prediction mode of the current block, the current block among the plurality of intra prediction modes. As an intra prediction mode of , some modes with high probability may be determined as the most probable mode (MPM). Then, mode information indicating whether the intra prediction mode of the current block is selected from among the MPMs is generated and transmitted to the encoder 250 . In general, when the intra prediction mode of the current block is selected from among the MPMs, first intra identification information for indicating which mode of the MPM is selected as the intra prediction mode of the current block is transmitted to the encoder. On the other hand, when the intra prediction mode of the current block is not selected from among the MPMs, second intra identification information for indicating which of the remaining modes other than the MPM is selected as the intra prediction mode of the current block is transmitted to the encoder. Alternatively, instead of explicitly signaling which mode among MPMs and/or non-MPMs is selected as the intra prediction mode for predicting the current block, the intra prediction unit 222 according to an aspect of the present invention For example, MPMs and/or non-MPMs may be grouped, and an index of a group to which an intra mode for predicting a current block belongs may be signaled.

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

먼저, 현재 블록의 주변블록들의 인트라 예측 모드를 이용하여 MPM 리스트를 구성한다. 주변블록은, 예컨대 도 4에 도시된 바와 같이, 현재 블록의 좌측블록(L), 상단블록(A), 좌하단블록(BL), 우상단블록(AR), 좌상단블록(AL) 중에서 전부 또는 일부를 포함할 수 있다. First, an MPM list is constructed using intra prediction modes of neighboring blocks of the current block. The neighboring blocks are, for example, all or part 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, as shown in FIG. 4 . may include

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

MPM 리스트에는 서로 다른 인트라 예측 모드만이 포함된다. 즉, 중복된 모드(duplicated mode)가 존재하는 경우 그 중 하나의 모드만이 MPM 리스트에 포함된다.The MPM list includes only different intra prediction modes. That is, when duplicated modes exist, 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 a predetermined number (eg, 6), MPMs may be derived by adding -1 or +1 to the directional modes in the list. In addition, if the number of MPMs in the list is smaller than the predetermined number, add the insufficient number of modes to the MPM list in the order of a vertical mode, a vertical mode, a diagonal mode, etc. You may.

인터 예측부(224)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재 블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재 블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재 블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(250)에 의해 부호화되어 영상 복호화 장치로 전달된다.The inter prediction unit 224 searches for a block most similar to the current block in the reference picture encoded and decoded before the current picture, and generates a prediction block for the current block by using the searched block. Then, a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture is generated. Motion information including information on a reference picture and information on a 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 generates a residual block by subtracting the prediction block generated by the intra prediction unit 222 or the inter prediction unit 224 from the current block.

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

양자화부(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 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, and split type related to block splitting so that the video decoding apparatus is identical to the video encoding apparatus. Allows the block to be partitioned.

부호화부(250)는 현재 블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보 또는 인터 예측정보를 부호화한다. The encoder 250 encodes information on a prediction type indicating whether the 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 quantization unit 260 generates transform coefficients by inverse quantizing the quantized transform coefficients output from the quantization unit 245 . The inverse transform unit 265 transforms the transform coefficients output from the inverse quantization unit 260 from the frequency domain to the spatial domain to reconstruct the residual block.

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

필터부(280)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(290)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The filter unit 280 deblocks and filters the boundary between the reconstructed blocks in order to remove a blocking artifact that occurs due to block-by-block encoding/decoding, and stores the deblocking-filtering in the memory 290 . When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of blocks 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 transform unit 530 , a predictor 540 , an adder 550 , a filter unit 560 , and a memory 570 . Like the image encoding apparatus of FIG. 2 , each component of the image decoding apparatus may be implemented as a hardware chip, or may be implemented as software and a microprocessor may be implemented 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 predicts information necessary for reconstructing the current block, information on the residual signal, etc. to 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), determines the size of the CTU, and sets the picture of the determined size. Split into CTUs. Then, the CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure (eg, QTBT structure) by extracting the division information on the CTU.

본 개시의 예시들은 일반적으로 QTBT 블록 파티션 정보의 시그널링하는 기법과 QTBT 블록 파티션 정보로부터 블록 파티셔닝을 결정하는 기법에 관한 것이다. 이와 같이, 본 개시의 소정의 기법들은 복호화부(510)에 의해 수행될 수도 있다. 즉, 예를 들어, 복호화부(510)는 아래의 도 8 내지 도 10에 대해 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 복호화 장치의 하나 이상의 다른 유닛들이 추가적이거나 대안적으로 본 개시의 기법들을 수행하는 것을 담당할 수도 있다.Examples of the present disclosure generally relate to a signaling technique of 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 the present disclosure described with reference to FIGS. 8 to 10 below. In other examples, one or more other units of the decoding apparatus may additionally or alternatively be responsible for performing the techniques of the present disclosure.

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

예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(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 the current block is selected from among MPMs. Also, in general, when the intra mode encoding information indicates that the intra prediction mode of the current block is selected from among the MPMs, first intra identification information for indicating which mode of the MPM is selected as the intra prediction mode of the current block is extracted and, when the intra mode encoding information indicates that the intra prediction mode of the current block is not selected from MPM, a second intra for indicating which of the remaining modes 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 provides intra identification information indicating which mode among MPMs and/or non-MPMs is selected as the intra prediction mode for predicting the current block. Instead of extracting MPMs and/or non-MPMs, intra identification information (eg, group index, etc.) indicating whether an intra mode for predicting a current block belongs is extracted.

한편, 복호화부(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 quantization unit 520 inverse quantizes the quantized transform coefficients, and the inverse transform unit 530 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to restore residual signals to generate a residual block for the current block.

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

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

현재 블록의 인트라 예측 모드를 결정하기 위해, 인트라 예측부(542)는 현재 블록의 주변블록으로부터 기 결정된 개수의 MPM들을 포함하는 MPM 리스트를 구성한다. MPM 리스트를 구성하는 방법은 도 2의 인트라 예측부(222)와 동일하다. In order to determine the intra prediction mode of the current block, the intra prediction unit 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 prediction unit 222 of FIG. 2 .

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

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

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

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

필터부(560)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(570)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The filter unit 560 deblocks and filters the boundary between the reconstructed blocks in order to remove a blocking artifact caused by block-by-block decoding, and stores the deblocking filter in the memory 570 . When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of blocks 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 an image encoding apparatus encoding an image. In the example of FIG. 6 , the image encoding apparatus determines a QTBT block partitioning structure for encoding a block of image data ( S610 ). Here, 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 a block of the image data and partition 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 in which an image decoding apparatus decodes an image. In the example of FIG. 7 , the image decoding apparatus parses a block of encoded image data from a bitstream and segmentation information related to the block of image data ( S710 ). Here, the coded image data block is divided into a plurality of divided blocks according to a QTBT block partitioning structure, and the QTBT block partitioning structure is a structure in which a binary tree is rooted from a leaf node of a quadtree. The image decoding apparatus decodes the encoded image data block for each leaf node of the QTBT while determining the leaf nodes of the QTBT using the division information (S720).

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

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

제1 first 실시예Example

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, a CTU, which is a root node, may first be 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 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. Blocks that are not QT partitioned may be BT partitioned. The encoding apparatus additionally uses a second flag (BT split flag, BT_split_flag) to indicate whether a block is split into a BT structure. The BT partition may have a plurality of partition types. In this case, when a block is divided into a BT structure, the encoding apparatus additionally uses division type information indicating a BT division type of the corresponding block.

도 8은 CTU의 QTBT 분할 구조의 일례와 이를 트리 구조로 나타내는 도면이다. 도 8에서 실선은 QT 구조에 의한 분할을, 점선은 BT 구조에 의한 분할을 나타낸다. 도 8에서는 BT 분할이 두 가지 분할 타입 즉, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입과 세로로 분할하는 타입이 존재하는 것으로 가정하고 있음에 유의한다.8 is a diagram illustrating an example of a QTBT division structure of a CTU and a tree structure thereof. In FIG. 8 , the solid line indicates division by the QT structure, and the dotted line indicates division by the BT structure. Note that in FIG. 8 , it is assumed that there are two types of BT division, that is, a type in which a block of a corresponding node is divided horizontally into two blocks of the same size and a type in which a block of a corresponding node is divided 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 partition structure illustrated in FIG. 8 , a CTU corresponding to a root node of QTBT is partitioned 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 depth 1 is no longer divided by QT, but is BT partitioned, and the BT partition type is vertical. Accordingly, for the block corresponding to the first node of depth 1, the encoding device sets a QT split flag (QT_split_flag) = 0 indicating that the corresponding block is not QT split, and a BT split flag that indicates that the corresponding block is BT split ( 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 , a block corresponding to the first node of depth 2 is a child node of the BT partitioned parent node (ie, the first node of depth 1), and is BT partitioned again. Note that BT partitioning may be repeated recursively, but child nodes of the BT partitioned node are not QT partitioned again. Therefore, in generating partition information for the child nodes of the BT partitioned node, there is no need to explicitly signal that the corresponding block is not QT partitioned. For example, in FIG. 8 , in signaling the split information of the 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 is vertical. The BT split type information 1 indicating the type is encoded.

도 8에서, 심도 3의 첫 번째 노드에 해당하는 블록은 BT 분할된 부모 노드(즉, 심도 2의 첫 번째 노드)의 자식 노드로서, 더 이상 BT 분할되어 있지 않다. 따라서, 부호화 장치는 해당 블록이 BT 분할되지 않음을 지시하는 BT 분할 플래그(BT_split_flag) = 0만을 부호화한다.In FIG. 8 , a block corresponding to the first node of depth 3 is a child node of a 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 using a depth-first scan method, a total of 34 bits are required as follows. Here, the underlined bits relate to the BT partition, and the remaining bits relate to the QT partition.

1 (One ( QTBT의QTBT's 리프leaf 노드) 0 node) 0 11 1111 11 0 0 0 0 0 0 (심도 1의 첫 번째 노드와 이에 (The first node of depth 1 and 루트된rooted 노드들) nodes) 0 0 10 0 010 0 0 (심도 1의 두 번째 노드와 이에 (The second node of 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 of depth 1 and 루트된rooted 노드들) 0 nodes) 0 00 (심도 1의 네 번째 노드) (4th node of depth 1)

이제, 본 실시예에서 부호화 장치로부터 시그널링된 분할 정보를 이용하여, 복호화 장치가, CTU를 복수의 CU로 분할하는 파티셔닝을 결정하는 방식을 설명한다.Now, a description will be given of a method in which the decoding apparatus determines partitioning for dividing a CTU into a plurality of CUs by using the partitioning 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 QT splitting, and when the first flag indicates QT splitting, the corresponding node is split into four nodes of lower depth. And, for a node corresponding to a leaf node of QT, a second flag (BT_split_flag) related to BT splitting and split type information are extracted and the corresponding leaf node is split into a 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 split structure of FIG. 8 as an example, the decoding apparatus extracts a QT split flag (QT_split_flag) corresponding to a node of the highest depth of the QTBT structure. Since the extracted value of the 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, a QT split flag (QT_split_flag) for 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 depth 1 of QT becomes a leaf node of QT, it proceeds to BT using the first node of depth 1 of QT as the root node of BT. Extracts the BT split flag (BT_split_flag) corresponding to the root node of the BT (ie, depth 0). 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 divided, partition type information indicating whether a block corresponding to the root node of the BT is divided vertically or horizontally is extracted. Since the partition type information is 1, the block corresponding to the root node of the BT is vertically partitioned. Thereafter, the BT split flag (BT_split_flag) for the first node of the split depth 1 is extracted from the root node of the BT. Since the BT split flag (BT_split_flag) is 1, split type information of the 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 partitioned. Thereafter, the BT split flag (BT_split_flag) of the second node of the split depth 1 is extracted from the root node of the BT. 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 recursively extracts the QT split flag (QT_split_flag) to split the CTU into a QT structure. In addition, the BT split flag (BT_split_flag) is extracted from the leaf node of the QT, and when the BT split flag (BT_split_flag) indicates split, split type information is extracted. Through this method, the decoding apparatus can confirm that the CTU has been split by the encoding apparatus in the structure shown in FIG. 8(a).

제2 second 실시예Example

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

본 실시예에서, 분할된 블록이 어느 심도에 이를 때까지 루트 노드가 재귀적으로 QT 분할되는 경우에, 부호화 장치는, QT 분할 플래그를 이용하여 이들 QT 분할 정보를 표현하는 대신에, 그 심도를 특정하는 심도 정보를 시그널링할 수 있다.In the present embodiment, in the case where the root node is recursively QT-divided until the divided block reaches a certain depth, the encoding device uses the QT split flag to express these QT split information instead of expressing the depth. The specified depth information 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 a leaf node of QT exists among the depths of the QTBT split structure. Hereinafter, the highest depth in which a leaf node of QT exists among the depths of the QTBT partition structure may be referred to as a 'topmost QT leaf node depth'. For example, 'top QT leaf node depth = 2' means that the root node of QTBT belonging to the highest depth (0) of QTBT is QT partitioned, and 4 child nodes (belonging to depth 1) of the root node are also each This means that QT is split, and further, at least some of the nodes belonging to depth 2 are QT leaves that are not QT split. That is, in the QTBT partition structure of the highest QT leaf node depth = 2, some of the nodes belonging to depth 2 are BT partitioned, or neither QT partition nor BT partition is performed. Accordingly, the depth information may function as QT partitioning information from a root node to a parent node 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 in, for example, a truncated unary method. Depth information may be expressed in the CTU Header. Exemplary codewords for each depth are 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) 방식으로 표현이 가능하다. In the case of using the highest QT leaf node depth as above, the QT structure repeated from the root node can be expressed by a breath first scan method, and the remaining lower QTs or BTs are similar to Example 1, It can be expressed in a Depth First Scan method using the QT division flag, the BT division flag, and the BT division type information.

도 8의 예시적인 QTBT 분할 구조는 루트 노드가 QT 분할되고, 심도 1의 첫 번째 노드와 두 번째 노드와 네번째 노드가 더 이상 QT 분할되지 않는, QT의 리프 노드들이다. 따라서, 도 8의 예시적인 QTBT 분할 구조에서 최상위 QT 리프 노드 심도는 1이다. 도 8의 QTBT 분할 구조를 표현함에 있어서, 최상위 QT 리프노드 심도를 표 1의 코드워드를 이용하여 별도로 표기하면, 다음과 같이, 총 35 bits가 필요하다. 여기서, 밑줄 표시된 비트는 BT 분할에 관한 것이고, 나머지 비트들은 QT 분할에 관한 것이다.The exemplary QTBT partitioning structure of FIG. 8 is leaf nodes of QT, in which the root node is QT partitioned, and the first node, the second node, and the fourth node of depth 1 are no longer QT partitioned. Accordingly, in the exemplary QTBT partitioning structure of FIG. 8 , the highest QT leaf node depth is 1. In expressing the QTBT partition structure of FIG. 8, if the highest QT leaf node depth is separately expressed using the codewords of Table 1, a total of 35 bits is required as follows. Here, the underlined bits relate to the BT partition, and the remaining bits relate to the QT partition.

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 of depth 1 and 루트된rooted 노드들) 0 nodes) 0 10 0 010 0 0 (심도 1의 두 번째 노드와 이에 (The second node of 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 of depth 1 and 루트된rooted 노드들) 0 nodes) 0 00 (심도 1의 네 번째 노드) (4th node of 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 expressing the exemplary partition structure of FIG. 8 in which the highest QT leaf node depth is 1, it can be seen that according to the method of the second embodiment, 1 bit is additionally required compared to that of the first embodiment. However, when the highest QT leaf node depth is 2, the first embodiment requires 1 + 4 = 5 bits to express the QT split flags of the nodes of depth 0 and depth 1, whereas the second embodiment requires a common QT It can be expressed with 3 bits (“110” in Table 1) indicating the depth. In addition, when the highest QT leaf node depth is 3, the first embodiment requires 1 + 4 + 16 = 21 bits to express the QT split flags of the nodes of depth 0, depth 1 and depth 2, but the second In the case of an embodiment, it can be expressed as 3 bits (“111” in Table 1) indicating the depth of the highest QT leaf node. That is, as the depth of the top QT leaf node increases, QT increases to the nth power of 4, so that the amount of data can be reduced when the depth of a commonly used QT is expressed only with the depth rather than the depth-priority method. Note that, as the CTU size increases to 256x256 or 128x128, it is highly likely that all nodes are repeatedly QT-divided until the size of the divided block becomes 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 expressing the QT partition structure in the QTBT block partitioning structure, the signaling technique with depth information may be extended to a slice, a picture, or a sequence level. For example, when all CTUs included in one slice are QT-divided recursively from the highest depth to a certain depth in common, (eg, 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 partition information for all nodes existing between the highest depth and the depth expressed in the Slice Header for all CTUs included in the corresponding Slice. The remaining lower QTs or BTs 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 better understanding, if a Slice consisting of 4 CTUs is exemplarily described, the highest QT leaf node depth of CTU 1 is 3, the highest QT leaf node depth of CTU 2 is 2, and the highest QT leaf node depth of CTU 3 is Assume that the depth of the QT leaf node is 4, and the depth of the highest QT leaf node of CTU 4 is 3. In this case, all four CTUs are divided in the same form up to depth 2. That is, all CTUs are recursively QT-divided by all nodes until the commonly split block reaches depth 2. Accordingly, the encoding apparatus may express, in the Slice Header, information indicating that all CTUs of the corresponding Slice are QT-segmented to a depth of 2.

유사하게, 하나의 Picture에 포함된 모든 CTU들의 QTBT 분할 구조에서, 어느 심도까지 모든 노드들이 재귀적으로 QT 분할되는 경우에, 그 심도를 픽처-레벨 헤더 정보에(예를 들어, 픽처 파라미터 세트들(picture parameter set; PPS) 내에) 표현할 수 있다. 나아가, 하나의 Sequence에 포함된 모든 CTU들의 QTBT 분할 구조에서, 어느 심도까지 모든 노드들이 재귀적으로 QT 분할되는 경우에, 그 심도를 시퀀스-레벨 헤더 정보에(예를 들어, 시퀀스 파라미터 세트(sequence parameter set; SPS) 내에) 표현할 수 있다. Similarly, in the QTBT partition structure of all CTUs included in one Picture, when all nodes are recursively QT partitioned up to a certain depth, the depth is included in the picture-level header information (eg, picture parameter sets). (in the picture parameter set; PPS). Furthermore, in the QTBT partition structure of all CTUs included in one sequence, when all nodes are recursively QT partitioned to a certain depth, the depth is included in the sequence-level header information (eg, a sequence parameter set (sequence in a 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에 포함될 수 있다.As described above, the depth expressed in the picture-level header information, the sequence-level header information, and the sequence-level header information is referred to as a “QT common depth” hereinafter. The QT common depth is used as part of the QTBT partitioning information for all CTUs included in the corresponding level. Table 2 shows exemplary syntax elements 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 (QT_depth_signal_flag) indicating the existence of the QT common depth and a parameter (QT_comm_depth_minus3) specifying the QT common depth may be used. A similar syntax element may be included in a picture parameter set (PPS) or a 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_ QT_ commcomm _depth__depth_ minus3minus3 ... ...

다른 일부 예시들에서, 픽쳐-레벨 헤더 정보, 시퀀스-레벨 헤더 정보, 혹은 시퀀스-레벨 헤더 정보에 표현되는 QT 공통 심도는, 해당 레벨의 모든 CTU들이 실제로 그 QT 공통 심도까지 동일한 형태로 분할되는지 여부와 관계없이, 사전에 결정된 디폴트(default) 값일 수 있다. 이 경우, 부호화 장치는 SPS, PPS, 혹은 Slice에 디폴트 설정된 QT 공통 심도와 각 CTU의 최상위 QT 리프노드 심도 간의 차이값을 추가적으로 시그널링할 수 있다. 디폴트 값은 해당 레벨에 포함된 CTU들의 최상위 QT 리프노드 심도와 일치할 가능성과 관련된 통계에 기초하여 사전에 결정된 것일 수 있다. CTU 사이즈가 256x256 또는 128x128로 커짐에 따라, QT의 리프 노드의 사이즈가 32x32 또는 16x16로 될 때 까지는 모든 노드들이 QT 분할될 가능성이 높다는 점을 고려할 때, 심도 3 혹은 심도 4를 디폴트 값으로 설정하는 것이 비트 절감에 효율적일 수 있다. 또한, 디폴트 값은 해당 레벨에 포함된 모든 CTU들의 최상위 QT 리프노드 심도의 평균에 기초하여 결정될 수도 있다.In some other examples, the QT common depth expressed in the picture-level header information, the sequence-level header information, or the sequence-level header information is determined whether all CTUs of the corresponding level are actually divided in the same form up to the QT common depth. Regardless of , 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 SPS, PPS, or Slice and the depth of the highest QT leaf node of each CTU. The default value may be predetermined based on statistics related to the likelihood of matching the depth of the highest QT leaf node of CTUs included in the corresponding level. Considering that as the CTU size increases to 256x256 or 128x128, all nodes are highly likely to be QT split until the size of the leaf node of QT becomes 32x32 or 16x16, to set depth 3 or depth 4 as a default value This can be effective in saving bits. In addition, the default value may be determined based on the average of the depth of the highest QT leaf node of all CTUs included in the corresponding level.

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

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

최상위 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 depth of the highest QT leaf node are BT partitioned or neither QT partitioned nor BT partitioned. In other words, some of the nodes belonging to the highest QT leaf node depth may be further QT split, BT split, or QTBT leaf nodes (neither QT split nor BT split). Accordingly, from the nodes belonging to the highest QT leaf node depth, the partition structure is determined in substantially the same manner as in the first embodiment. That is, the decoder 510 extracts a first flag (QT_split_flag) related to QT splitting from nodes belonging to the highest QT leaf node depth. When the first flag indicates that QT is split (QT_split_flag = 1), the corresponding node is QT split again. When the first flag indicates that QT is not split (QT_split_flag = 0), a second flag (BT_split_flag) related to BT split is extracted. When the second flag indicates that BT splitting is performed (BT_split_flag = 1), BT splitting type information is additionally extracted, and a corresponding node is BT split according to the extracted BT splitting type information. If the second flag indicates that QT is not split (BT_split_flag = 0), the corresponding node is not split any more and is determined as a leaf node (ie, CU) of QTBT.

나아가, 전술한 바와 같이, QT 공통 심도를 시그널링하는 기법이 Slice, Picture, 혹은 Sequence 레벨에 적용된 경우에, 복호화 장치는 비트스트림을 파싱하여 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 혹은 Slice Header에 표현된 심도정보를 추출한다. 추출된 심도정보를 이용하여, 복호화 장치는 심도정보가 지시하는 심도에 이를 때까지 모든 노드들을 재귀적으로 QT 분할할 수 있다. Furthermore, as described above, when the technique of signaling the QT common depth is applied to the Slice, Picture, or Sequence level, the decoding apparatus parses the bitstream to obtain a Sequence Parameter Set (SPS), Picture Parameter Set (PPS) or Slice Extracts the depth information expressed in the header. Using the extracted depth information, the decoding apparatus may recursively perform QT partitioning of 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, a plurality of splitting types may exist, for example, a type that horizontally splits the block of the corresponding node into two blocks of the same size (ie, symmetric horizontal splitting) and a type that splits vertically (ie, symmetrical) There may be two types of vertical splitting: symmetric vertical splitting. This embodiment proposes a technique capable of reducing the amount of bits expressing such BT. The expression technique of the BT partition information proposed in this embodiment may be used together with the expression technique of the QT partition information illustrated in the first embodiment or the second embodiment.

도 9은 하나의 CU에서 BT로 표현될 수 있는 가짓수를 도시한 도면이다.9 is a diagram illustrating the number of items that can be expressed 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으로 표현되어 있다. When BT is split, it is expressed as 2 bits. The first bit indicates whether the split ends after QT is 0 (no split = 0) or BT starts (1), and when the first bit is 1, the second bit is Indicates the division type of BT. For example, 0 indicates symmetric horizontal division and 1 indicates symmetric vertical division. Considering possible combinations of parent nodes and child nodes, when a parent node is divided into symmetric horizontal division and symmetric vertical division, respectively, as shown in FIG. 9 , 8 types of division methods of child nodes are distinguished. Note that, when BT is started after QT is finished, it is assumed that QT is not repeated again. That is, it can be seen as a repeating form of QT, in which the parent node is divided horizontally (top, bottom) and the child node is divided vertically (left, right), or the parent node is divided vertically (left, right) and the child node is horizontal (top, bottom) is not considered. When considering the combination of divisions of parent and child nodes, a total of 16 expressions are possible. In FIG. 9 , these combinations are expressed as 4 bits to 6 bits using the BT division flag and the BT division type flag.

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

부모 노드(2bits)parent node (2bits) 자식노드 (제1실시예, 2 ~ 4 bits)Child node (1st embodiment, 2 ~ 4 bits) 자식노드 (제3실시예, 3 bits)Child node (3rd embodiment, 3 bits) 10/1110/11 0 00 0 000000 0 100 10 001 ~ 110




001 to 110




0 110 11 10 010 0 10 1110 11 11 011 0 11 1011 10 1010 10 1010 10 111
111
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)으로 표현될 수 있다.For example, according to the method described in the first embodiment with respect to the block division structure as shown in FIG. 10, 1 0 11 11 0 0 0 (BT No. 1), 0 10 0 0 (BT No. 2) in the depth-first method. , 1 0 11 10 11 11 0 0 10 0 0 0 11 0 0 (BT 3, 4) 0 0 0 0 0 10 10 0 0 10 0 0 (BT 5) 0 0 (total 52 bits) can According to the method proposed in this embodiment, when expressed as fixed bits of parent node (2 bits) + child node (3 bits), 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 (total 50 bits).

이상에서 설명한 제1 실시예 내지 제3 실시예에서, QTBT 구조에 의한 블록 분할에 대한 정보를 효율적으로 시그널링하기 위해, 다음의 정보가 추가로 사용될 수 있다. 이 정보들은 영상의 헤더 정보로서 부호화되는데, 예컨대 SPS (Sequence Parameter Set)이나 PPS (Picture Parameter Set)로 부호화될 수 있다.In the first to third embodiments described above, the following information may be additionally used to efficiently signal information on block division by the QTBT structure. This information is encoded as header information of an image, and may be encoded as, for example, a sequence parameter set (SPS) or a picture parameter set (PPS).

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

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

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

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

- MinBTSize: BT에서 허용되는 리프 노드의 최소 블록 크기- MinBTSize: 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 divided, and therefore, partition information (a first flag) regarding QT corresponding to the block is not coded. In addition, BT does not exist in a block having a size larger than MaxBTSize in QT. Accordingly, partition information (second flag, partition type information) on the 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 not divided any more, and partition information (second flag, partition type information) about the BT of the corresponding node is also not encoded. In addition, a block having the same size as MinBTSize in BT is no longer divided, and division information (second flag, division type information) about BT is also not coded. In this way, by defining the maximum or minimum block size that a loop or leaf node of QT and BT can have at a high level such as SPS (Sequence Parameter Set) or PPS (Picture Parameter Set), whether the CTU is divided or not It is possible to reduce the amount of encoding for information indicating the partition type.

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

예컨대, 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, in QT, a block having the same size as MinQTSize is no longer divided. Accordingly, the decoding apparatus does not extract QT-related partitioning information (QT partitioning flag) of the corresponding block from the bitstream (that is, the QT partitioning flag of the corresponding block does not exist in the bitstream), and automatically sets the value to 0 do. In addition, BT does not exist in a block having a size larger than MaxBTSize in QT. Accordingly, the decoding apparatus does not extract the BT split flag for a leaf node having a block size larger than MaxBTSize in QT, and automatically sets the BT split flag to 0. In addition, when the depth of the corresponding node of BT reaches MaxBTDepth, the block of the corresponding node is no longer divided. Therefore, the BT split flag of the corresponding node is not extracted from the bitstream, and its value is automatically set to 0. Also, a block having the same size as MinBTSize in BT is no longer divided. Accordingly, the decoding apparatus does not extract the BT split flag of a block having the same size as MinBTSize from the bitstream, and automatically sets the value to 0.

한편, 일부 예시들에서, 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 luminance (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 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, the CTU may be divided into a luminance coding block (CB) and a chrominance CB to perform block partitioning, and block partition information may be generated for each CB and transmitted to the decoding apparatus. In this case, if the shape of the block partition of the luminance and the chrominance among the CTUs in one picture is the same, the same block partition information is transmitted in duplicate, so that the bit efficiency decreases. In consideration of this, in some examples of the present invention, a separate syntax (split_cb_flag_in_CTU) is added to the syntax expressing the CTU, and when this value is 0, the decoding apparatus transmits block partition information for the luminance CB to the chrominance CB. It is used as block partition information, and when this value is 1, different block partition information can be sent to the decryption device as before. That is, the entire block partition information of the luminance including QTBT can be used as it is in the color difference.

또한, 색차 정보가 휘도 정보와 달리 세부적인 블록 파티션이 필요하지 않을 수 있다. 이를 고려하여, 일부 예시들에서, 휘도의 전체 블록 파티션 정보 중에서(즉, QTBT 파티션 정보 중에서) QT 파티션 정보만을 색차 CB의 블록 파티션 정보로 활용할 수 있다. 예컨대, CTU를 표현한 신택스(syntax)에 별도의 신택스 (split_cb_flag_for_QT_in_CTU)를 추가하여, 이 값이 0인 경우에는 복호화 장치에서 휘도에 대한 전체 블록 파티션 정보 중에서 QT 파티션 정보을 휘도 CB에 대한 QT 파티션 정보를 색차 CB의 QT 블록 파티션 정보로써 사용하고, 이 값이 1인 경우에는 기존과 같이 서로 다른 블록 파티션 정보를 복호화 장치에 보낼 수 있다.Also, unlike luminance information for color difference information, a detailed block partition may not be required. In consideration of this, in some examples, only QT partition information among all block partition information of luminance (ie, among QTBT partition information) may be used as block partition information of color difference CB. For example, a separate syntax (split_cb_flag_for_QT_in_CTU) is added to the syntax expressing CTU, and when this value is 0, the decoding apparatus uses QT partition information among all block partition information for luminance and QT partition information for luminance CB as color difference It is used as the QT block partition information of the CB, and when this value is 1, different block partition information can be sent to the decoding device 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 relation to the second embodiment, when the QT common depth of QT is expressed in any one of Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Slice Header, in some examples, luminance within the CTU unit And the QT common depth for color difference may refer to the QT common depth set higher than the CTU (ie, set in the SPS, PPS, or Slice Header) as it is. In some other examples, the QT common depth for luminance and chrominance within a CTU unit may be expressed as a difference value from the QT common depth set higher than the CTU.

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

Claims (15)

영상 데이터를 부호화하는 방법으로서,
영상 데이터의 블록을 부호화하기 위한 QTBT(QuadTree plus BinaryTree) 블록 파티셔닝 구조를 결정하는 단계, 여기서 상기 QTBT 블록 파티셔닝 구조는 쿼드트리의 리프 노드(leaf node)로부터 바이너리트리가 루트된(rooted) 구조임; 및
상기 결정된 블록 파티셔닝 구조에 기초하여, 상기 영상 데이터의 블록과 상기 결정된 블록 파티셔닝 구조를 표현하는 분할 정보를 부호화하는 단계를 포함하고,
상기 분할 정보를 부호화하는 것은,
상기 결정된 블록 파티셔닝 구조에서, 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 판단하는 단계; 및
상기 결정된 블록 파티셔닝 구조에서 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 쿼드트리 분할 정보로서, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 부호화하는 단계를 포함하는, 영상 데이터를 부호화하는 방법.
A method of encoding image data, comprising:
determining a QTBT (QuadTree plus BinaryTree) 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 the quadtree; and
encoding the block of the image data and partition information representing the determined block partitioning structure based on the determined block partitioning structure;
Encoding the segmentation information comprises:
determining, in the determined block partitioning structure, the highest depth (hereinafter, referred to as “the highest QT leaf node depth”) among depths in which at least one leaf node of the quadtree exists; and
In the determined block partitioning structure, as quadtree partition information from a root node to a parent node of nodes belonging to the highest QT leaf node depth, encoding depth information indicating the highest QT leaf node depth image data, How to encode.
제1항에 있어서,
상기 최상위 QT 리프노드 심도를 나타내는 심도 정보는,
절삭된 유너리(truncated unary) 코드워드로 표현되어, 상기 QTBT의 심도들 중에서 상기 최상위 QT 리프노드 심도를 특정하는 것임을 특징으로 하는, 영상 데이터를 부호화하는 방법.
According to claim 1,
The depth information indicating the depth of the highest QT leaf node is,
A method of encoding image data, characterized in that it is expressed as a truncated unary codeword to specify the depth of the highest QT leaf node among the depths of the QTBT.
제1항에 있어서,
상기 바이너리트리는 부모 노드를 2개의 자식 노드로 분할하는 분할 타입들에 의해 정의되며, 상기 분할 타입들은 대칭 수평 분할 및 대칭 수직 분할을 포함하는, 영상 데이터를 부호화하는 방법.
According to claim 1,
The binary tree is defined by division types that divide a parent node into two child nodes, wherein the division types include symmetric horizontal division and symmetric vertical division.
제3항에 있어서,
상기 분할 정보를 부호화하는 단계는,
상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합들 중에서 어느 하나를 특정하는 방식으로, 상기 결정된 블록 파티셔닝 구조에서 바이너리트리를 표현하는 바이너리트리 분할 정보를 부호화하는 단계를 더 포함하는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.
4. The method of claim 3,
The step of encoding the segmentation information comprises:
The method further comprises 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 image data.
제4항에 있어서,
상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합은,
상기 부모 노드의 분할을 나타내는 고정길이 코드워드와 상기 자식 노드의 분할을 나타내는 고정길이 코드워드로 구분되는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.
5. The method of claim 4,
A possible combination of partitioning of the parent node and partitioning of the child node is:
A method for encoding image data, characterized in that the codeword is divided into a fixed-length codeword indicating division of the parent node and a fixed-length codeword indicating division of the child node.
제1항에 있어서,
상기 영상 데이터의 블록을 부호화하기 위한 QTBT 블록 파티셔닝 구조를 결정하는 단계는,
상기 영상 데이터의 블록의 휘도(luma) 성분과 색차(chroma) 성분에 대해 개별적으로 상기 QTBT 블록 파티셔닝 구조를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.
According to claim 1,
Determining a QTBT block partitioning structure for encoding the block of image data comprises:
The method of encoding image data, further comprising: individually determining the QTBT block partitioning structure for a luma component and a chroma component of the block of the image data.
제6항에 있어서,
상기 분할 정보를 부호화하는 단계는,
상기 휘도 성분에 대해 결정된 QTBT 블록 파티셔닝 구조와 상기 색차 성분에 대해 결정된 QTBT 블록 파티셔닝 구조 간의 동일 여부를 나타내는 플래그를 부호화하는 단계; 및
상기 휘도 성분에 대해 결정된 QTBT 블록 파티셔닝 구조와 상기 색차 성분에 대해 결정된 QTBT 블록 파티셔닝 구조가 서로 동일한 경우에, 상기 휘도 성분에 대해 결정된 QTBT 블록 파티셔닝 구조와 상기 색차 성분에 대해 결정된 QTBT 블록 파티셔닝 구조 중 어느 하나만의 분할 정보를 부호화하는 단계
를 더 포함하는 것을 특징으로 하는, 영상 데이터를 부호화하는 방법.
7. The method of claim 6,
The step of encoding the segmentation information comprises:
encoding a flag indicating whether the QTBT block partitioning structure determined for the luminance component and the QTBT block partitioning structure determined for the chrominance component are identical; and
When the QTBT block partitioning structure determined for the luminance component and the QTBT block partitioning structure determined for the chrominance component are identical to each other, any of the QTBT block partitioning structure determined for the luminance component and the QTBT block partitioning structure determined for the chrominance component Encoding only one piece of segmentation information
Method for encoding image data, characterized in that it further comprises.
영상 데이터를 복호화하는 방법으로서,
부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계, 여기서 상기 부호화된 영상 데이터의 블록은 QTBT(quadtree plus binarytree) 블록 파티셔닝 구조에 따라 복수의 분할 블록으로 분할되어 있으며, 상기 QTBT 블록 파티셔닝 구조는 쿼드트리(quadtree)의 리프 노드(leaf node)로부터 바이너리트리(binarytree)가 루트된(rooted) 구조임; 및
상기 분할 정보를 이용하여 상기 QTBT를 결정하면서 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계를 포함하고,
상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 나타내는 심도 정보를 포함하며,
상기 QTBT를 결정하는 것은, 상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 이용하여, 상기 QTBT의 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대해 쿼드트리 분할을 수행하는 단계를 포함하는, 영상 데이터를 복호화하는 방법.
A method of decoding image data, comprising:
Parsing a block of encoded image data and segmentation information related to the block of image data, wherein the block of encoded image data is divided into a plurality of segmentation 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
Decoding the block of the encoded image data for each leaf node of the QTBT while determining the QTBT using the partition information,
The partitioning information includes depth information indicating the highest depth (hereinafter referred to as “the highest QT leaf node depth”) among the depths in which at least one leaf node of the quadtree exists in the QTBT block partitioning structure,
Determining the QTBT includes using depth information indicating the depth of the highest QT leaf node to divide a quadtree for all nodes from the root node of the QTBT to the parent node of the nodes belonging to the highest QT leaf node depth. A method of decoding image data, comprising the step of performing.
제8항에 있어서,
상기 최상위 QT 리프노드 심도를 나타내는 심도 정보는,
절삭된 유너리(truncated unary) 코드워드로 표현되어, 상기 QTBT의 심도들 중에서 상기 최상위 QT 리프노드 심도를 특정하는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.
9. The method of claim 8,
The depth information indicating the depth of the highest QT leaf node is,
A method of decoding image data, characterized in that it is expressed as a truncated unary codeword to specify the depth of the highest QT leaf node among the depths of the QTBT.
제8항에 있어서,
상기 바이너리트리는 부모 노드를 2개의 자식 노드로 분할하는 분할 타입들에 의해 정의되며, 상기 분할 타입들은 대칭 수평 분할 및 대칭 수직 분할을 포함하는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.
9. The method of claim 8,
The binary tree is defined by division types that divide a parent node into two child nodes, wherein the division types include symmetric horizontal division and symmetric vertical division.
제10항에 있어서,
상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 바이너리트리 분할 정보를 포함하고, 상기 바이너리트리 분할 정보는 상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합들 중에서 어느 하나를 특정하는 방식으로 표현된 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.
11. The method of claim 10,
The partitioning information includes binary tree partitioning information in the QTBT block partitioning structure, and the binary tree partitioning information is expressed in a way that specifies any one of possible combinations of partitioning of the parent node and partitioning of the child node. A method of decoding image data, characterized in that.
제11항에 있어서,
상기 부모 노드의 분할과 상기 자식 노드의 분할의 가능한 조합은,
상기 부모 노드의 분할을 나타내는 고정길이 코드워드와 상기 자식 노드의 분할을 나타내는 고정길이 코드워드로 구분되는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.
12. The method of claim 11,
A possible combination of partitioning of the parent node and partitioning of the child node is:
A method for decoding image data, characterized in that it is divided into a fixed-length codeword indicating division of the parent node and a fixed-length codeword indicating division of the child node.
제11항에 있어서,
상기 부호화된 영상 데이터의 블록을 복호화하는 단계는,
상기 바이너리트리 분할 정보를 이용하여, 상기 쿼드트리의 리프 노드들에 대해 바이너리 분할을 수행하는 단계를 포함하는 것을 특징으로 하는, 영상 데이터를 복호화하는 방법.
12. The method of claim 11,
The decoding of the block of the encoded image data comprises:
and performing binary division on leaf nodes of the quadtree by using the binary tree division information.
제8항에 있어서,
상기 분할 정보는 상기 영상 데이터의 블록에서 휘도 성분에 대한 QTBT 블록 파티셔닝 구조와 색차 성분에 대한 QTBT 블록 파티셔닝 구조 간의 동일 여부를 나타내는 플래그를 포함하고,
상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계는, 상기 플래그가 상기 휘도 성분에 대한 QTBT 블록 파티셔닝 구조와 상기 색차 성분에 대한 QTBT 블록 파티셔닝 구조가 서로 동일하다고 지시하는 경우에, 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록의 휘도(luma) 성분과 색차(chroma) 성분에 대해 복호화하는 단계를 포함하는, 영상 데이터를 복호화하는 방법.
9. The method of claim 8,
The division information includes a flag indicating whether the QTBT block partitioning structure for the luminance component and the QTBT block partitioning structure for the chrominance component are identical in the block of the image data,
The decoding of the block of the encoded image data 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 chrominance component are identical to each other. , decoding the luminance (luma) component and the chrominance (chroma) component of the block of the encoded image data for each leaf node of the QTBT.
영상 데이터를 복호화하는 장치로서,
메모리; 및
하나 이상의 프로세서들을 포함하며,
상기 하나 이상의 프로세서들은,
부호화된 영상 데이터의 블록 및 상기 영상 데이터의 블록과 관련된 분할 정보를 파싱하는 단계, 여기서 상기 부호화된 영상 데이터의 블록은 QTBT(quadtree plus binarytree) 블록 파티셔닝 구조에 따라 복수의 분할 블록으로 분할되어 있고, 상기 QTBT 블록 파티셔닝 구조는 쿼드트리(quadtree)의 리프 노드(leaf node)로부터 바이너리트리(binarytree)가 루트된(rooted) 구조이며, 상기 분할 정보는 상기 QTBT 블록 파티셔닝 구조에서 쿼드트리의 리프 노드가 적어도 하나 존재하는 심도(depth)들 중 가장 상위의 심도(이하 “최상위 QT 리프노드 심도”로 지칭함)를 나타내는 심도 정보를 포함함; 및
상기 분할 정보를 이용하여 상기 QTBT를 결정하면서, 상기 QTBT의 각 리프 노드별로 상기 부호화된 영상 데이터의 블록을 복호화하는 단계를 수행하도록 구성되되,
상기 QTBT를 결정하는 것은,
상기 최상위 QT 리프노드 심도를 나타내는 심도 정보를 이용하여, 상기 QTBT의 루트 노드로부터 상기 최상위 QT 리프노드 심도에 속하는 노드들의 부모 노드까지의 모든 노드들에 대해 쿼드트리 분할을 수행하는 단계를 포함하는, 영상 데이터를 복호화하는 장치.
An apparatus for decoding image data, comprising:
Memory; and
one or more processors,
the one or more processors,
Parsing a block of encoded image data and segmentation information related to the block of image data, wherein the block of encoded image data is divided into a plurality of segmentation 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 partition information is at least a leaf node of the quadtree in the QTBT block partitioning structure. one includes depth information indicating the highest depth among existing depths (hereinafter referred to as “the highest QT leaf node depth”); and
and decoding the coded image data block for each leaf node of the QTBT while determining the QTBT using the segmentation information,
Determining the QTBT is,
Using the depth information indicating the depth of the highest QT leaf node, performing quadtree division on all nodes from the root node of the QTBT to the parent node of nodes belonging to the depth of the highest QT leaf node. A device for decoding video data.
KR1020170031234A 2017-03-13 2017-03-13 Apparatus and Method for Video Encoding or Decoding KR102390384B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170031234A KR102390384B1 (en) 2017-03-13 2017-03-13 Apparatus and Method for Video Encoding or Decoding
PCT/KR2018/002891 WO2018169267A1 (en) 2017-03-13 2018-03-12 Device and method for encoding or decoding image

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20180104451A KR20180104451A (en) 2018-09-21
KR102390384B1 true KR102390384B1 (en) 2022-04-22

Family

ID=63522489

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117041575A (en) * 2018-09-21 2023-11-10 Lg电子株式会社 Video decoding and encoding method, storage medium, and data transmission method
CN111107358A (en) * 2018-10-26 2020-05-05 北京字节跳动网络技术有限公司 Redundancy reduction in block partitioning
KR20230013160A (en) * 2019-06-19 2023-01-26 엘지전자 주식회사 Image encoding/decoding method, apparatus and method for transmitting bitstream using adaptive size limitation of chroma block

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016091161A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101959482B1 (en) * 2011-09-16 2019-03-18 한국항공대학교산학협력단 Method for image encoding/decoding and apparatus thereof
US9462275B2 (en) * 2012-01-30 2016-10-04 Qualcomm Incorporated Residual quad tree (RQT) coding for video coding
KR101789954B1 (en) * 2013-12-27 2017-10-25 인텔 코포레이션 Content adaptive gain compensated prediction for next generation video coding
US10390087B2 (en) * 2014-05-01 2019-08-20 Qualcomm Incorporated Hypothetical reference decoder parameters for partitioning schemes in video coding
KR101801255B1 (en) * 2017-02-07 2017-11-27 인텔렉추얼디스커버리 주식회사 Apparatus and Method of Adaptive Quantization Parameter Encoding and Decoder based on Quad Tree Structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016091161A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning

Also Published As

Publication number Publication date
KR20180104451A (en) 2018-09-21
WO2018169267A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
KR102515610B1 (en) Apparatus and Method for Video Encoding or Decoding
US10979708B2 (en) Apparatus and method for video encoding or decoding
US20190356915A1 (en) Method and apparatus for encoding/decoding video signal using secondary transform
KR102435895B1 (en) Apparatus and Method for Video Encoding or Decoding
US20210144407A1 (en) Method and device for encoding or decoding video
KR20180082330A (en) Apparatus and Method for Video Encoding or Decoding
US11272220B2 (en) Boundary forced partition
EP3772262A1 (en) Multi-type-tree framework for transform in video coding
KR102390384B1 (en) Apparatus and Method for Video Encoding or Decoding
US20210021840A1 (en) Method for processing image and apparatus therefor
US20220353505A1 (en) Method for reconstructing residual blocks of chroma blocks, and video decoding apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant