KR20230156005A - Level setting method and apparatus using the same - Google Patents

Level setting method and apparatus using the same Download PDF

Info

Publication number
KR20230156005A
KR20230156005A KR1020230147491A KR20230147491A KR20230156005A KR 20230156005 A KR20230156005 A KR 20230156005A KR 1020230147491 A KR1020230147491 A KR 1020230147491A KR 20230147491 A KR20230147491 A KR 20230147491A KR 20230156005 A KR20230156005 A KR 20230156005A
Authority
KR
South Korea
Prior art keywords
level
information
default
additional
syntax element
Prior art date
Application number
KR1020230147491A
Other languages
Korean (ko)
Inventor
임정연
신재섭
이선영
손세훈
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190041006A external-priority patent/KR102648468B1/en
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of KR20230156005A publication Critical patent/KR20230156005A/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/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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Abstract

레벨 설정 방법 및 이를 이용한 영상 복호화 장치를 개시한다.
본 발명의 일 실시예에 의하면, 레벨(level)을 하나 이상의 영역 별로 설정하는 방법으로서, 레벨 정의와 관련된 정의 신택스 요소(syntax element)와 대상 지정과 관련된 지정 신택스 요소를 비트스트림으로부터 복호화하는 단계; 상기 정의 신택스 요소를 기초로 하나 이상의 레벨을 정의하는 단계; 및 상기 정의된 레벨 중 상기 지정 신택스 요소가 지정하는 대상 레벨을 상기 지정 신택스 요소가 지정하는 대상 영역에 설정하는 단계를 포함하는 것을 특징으로 하는 레벨 설정 방법을 제공한다.
Disclosed is a level setting method and a video decoding device using the same.
According to an embodiment of the present invention, a method of setting a level for each of one or more areas includes the steps of decoding a definition syntax element related to level definition and a designation syntax element related to target designation from a bitstream; defining one or more levels based on the defining syntax elements; and setting a target level designated by the designated syntax element among the defined levels to a target area designated by the designated syntax element.

Figure P1020230147491
Figure P1020230147491

Description

레벨 설정 방법 및 이를 이용한 영상 복호화 장치{LEVEL SETTING METHOD AND APPARATUS USING THE SAME}Level setting method and video decoding device using the same {LEVEL SETTING METHOD AND APPARATUS USING THE SAME}

본 발명은 영상의 부호화 및 복호화에 관한 것으로서, 더욱 구체적으로는 영역 별로 서로 다른 레벨 또는 티어를 설정하여 부호화 및 복호화의 효율을 향상시킨 레벨 설정 방법 및 이를 이용한 영상 복호화 장치에 관한 것이다.The present invention relates to video encoding and decoding, and more specifically, to a level setting method that improves encoding and decoding efficiency by setting different levels or tiers for each region, and to a video decoding device using the same.

동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다. Since video data has a larger amount of data than audio data or still image data, it requires a lot of hardware resources, including memory, to store or transmit it without processing for compression.

따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다. Therefore, typically, when storing or transmitting video data, an encoder is used to compress the video data and store or transmit it, and a decoder receives the compressed video data, decompresses it, and plays it. These video compression technologies include H.264/AVC and HEVC (High Efficiency Video Coding), which improves coding efficiency by about 40% compared to H.264/AVC.

그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.However, the size, resolution, and frame rate of images are gradually increasing, and the amount of data that needs to be encoded is also increasing accordingly, so a new compression technology with better coding efficiency and higher picture quality improvement effect than existing compression technologies is required.

이러한 요구에 부응하기 위해 본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 하나 이상의 레벨 또는 티어를 미리 정의하고, 대상 영역 별로 서로 다른 레벨 또는 티어를 설정함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.In order to meet these needs, the present invention aims to provide improved video encoding and decoding technology. In particular, one aspect of the present invention is to predefine one or more levels or tiers, and to define different levels or tiers for each target area. It is related to technology that improves the efficiency of encoding and decoding by setting .

본 발명의 일 측면은, 레벨(level)을 하나 이상의 영역 별로 설정하는 방법으로서, 레벨 정의와 관련된 정의 신택스 요소(syntax element)와 대상 지정과 관련된 지정 신택스 요소를 비트스트림으로부터 복호화하는 단계; 상기 정의 신택스 요소를 기초로 하나 이상의 레벨을 정의하는 단계; 및 상기 정의된 레벨 중 상기 지정 신택스 요소가 지정하는 대상 레벨을 상기 지정 신택스 요소가 지정하는 대상 영역에 설정하는 단계를 포함하는 것을 특징으로 하는 레벨 설정 방법을 제공한다.One aspect of the present invention is a method of setting a level for each of one or more areas, comprising the steps of: decoding a definition syntax element related to level definition and a designation syntax element related to target designation from a bitstream; defining one or more levels based on the defining syntax elements; and setting a target level designated by the designated syntax element among the defined levels to a target area designated by the designated syntax element.

본 발명의 다른 일 측면은, 레벨을 하나 이상의 영역 별로 설정하는 영상 복호화 장치로서, 레벨(level) 정의와 관련된 정의 신택스 요소(syntax element)와 대상 지정과 관련된 지정 신택스 요소를 비트스트림으로부터 복호화하는 복호화부; 및 상기 정의 신택스 요소를 기초로 하나 이상의 레벨을 정의하며, 상기 정의된 레벨 중 상기 지정 신택스 요소가 지정하는 대상 레벨을 상기 지정 신택스 요소가 지정하는 대상 영역에 설정하는 제어수단을 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.Another aspect of the present invention is a video decoding device that sets a level for each of one or more regions, and decodes a definition syntax element related to level definition and a designation syntax element related to target designation from a bitstream. wealth; And defining one or more levels based on the definition syntax element, and comprising control means for setting the target level specified by the specified syntax element among the defined levels to the target area specified by the specified syntax element. Provides a video decoding device that

이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 대상 영역 별로 서로 다른 레벨 또는 티어를 설정함으로써 대상 영역의 화질 특성에 최적화된 부호화 및 복호화를 구현할 수 있게 된다.As described above, according to an embodiment of the present invention, it is possible to implement encoding and decoding optimized for the image quality characteristics of the target area by setting different levels or tiers for each target area.

또한, 본 발명의 다른 일 실시예에 의하면, 대상 영역 별로 레벨 또는 티어를 달리 설정하여 실제 화상 표시 대상에 해당하는 뷰포트(viewport) 영역을 다른 영역과 구별할 수 있게 됨으로써 선택적 디코딩을 구현할 수 있게 된다.In addition, according to another embodiment of the present invention, by setting different levels or tiers for each target area, the viewport area corresponding to the actual image display target can be distinguished from other areas, making it possible to implement selective decoding. .

도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3은 복수의 인트라 예측 모드들을 설명하기 위한 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5 및 도 6은 영상 부호화 장치 및 영상 복호화 장치에서 구현되는 레벨 또는 티어 설정 방법에 대한 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 7은 대상 영역 별로 서로 다른 레벨 또는 티어를 설정함으로써 영역 별로 선택적인 디코딩을 구현하는 본 발명의 일 실시예를 설명하기 위한 도면이다.
도 8 및 도 9는 영상 부호화 장치 및 영상 복호화 장치에서 구현되는 대상 레벨 또는 대상 티어 지정에 대한 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 10 및 도 11은 영상 부호화 장치 및 영상 복호화 장치에서 구현되는 레벨 또는 티어 정의에 대한 본 발명의 일 실시예를 설명하기 위한 순서도이다.
1 is an example block diagram of a video encoding device that can implement the techniques of the present disclosure.
Figure 2 is a diagram to explain a method of dividing a block using the QTBTTT structure.
Figure 3 is a diagram for explaining a plurality of intra prediction modes.
Figure 4 is an example block diagram of a video decoding device that can implement the techniques of the present disclosure.
5 and 6 are flowcharts for explaining an embodiment of the present invention for a level or tier setting method implemented in a video encoding device and a video decoding device.
Figure 7 is a diagram for explaining an embodiment of the present invention that implements selective decoding for each region by setting different levels or tiers for each target region.
Figures 8 and 9 are flowcharts for explaining an embodiment of the present invention for specifying a target level or target tier implemented in a video encoding device and a video decoding device.
10 and 11 are flowcharts for explaining an embodiment of the present invention for defining a level or tier implemented in a video encoding device and a video decoding device.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through illustrative drawings. In adding identification codes to components in each drawing, it should be noted that the same components are given the same codes as much as possible even if they are shown in different drawings. Additionally, 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 will be omitted.

도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.1 is an example block diagram of a video encoding device that can implement the techniques of the present disclosure. Hereinafter, the video encoding device and its sub-configurations will be described with reference to FIG. 1.

도 1에 도시된 바와 같이, 영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다. As shown in FIG. 1, the image encoding device includes a block division unit 110, a prediction unit 120, a subtractor 130, a transform unit 140, a quantization unit 145, an encoding unit 150, and an inverse quantization unit. It may be configured to include a unit 160, an inverse transform unit 165, an adder 170, a filter unit 180, and a memory 190.

영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 소프트웨어(구성요소)의 각 기능을 실행하는 형태로 구현될 수도 있다.Each component of the video encoding device may be implemented as hardware or software, or may be implemented as a combination of hardware and software. Additionally, the function of each component may be implemented as software and a microprocessor may execute each function of each software (component).

하나의 영상(비디오)은 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 슬라이스(slice) 또는/및 타일(Tile)로 분할되고, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 슬라이스 또는 타일은 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. One image (video) consists of multiple pictures. Each picture is divided into a plurality of regions and encoding is performed for each region. For example, one picture can be divided into one or more slices and/or tiles, and one or more tiles can be defined as a tile group. Each slice or tile is divided into one or more Coding Tree Units (CTUs). And each CTU is divided into one or more CUs (Coding Units) by a tree structure.

각 CU에 적용되는 정보들은 CU의 신택스(Syntax)로 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로 부호화된다. 또한, 하나의 타일 내의 모든 블록들에 공통적으로 적용되는 정보들은 타일의 신택스로 부호화되거나 해당 타일이 속한 타일 그룹의 신택스로 부호화되며, 하나의 픽처들을 구성하는 모든 블록들에 적용되는 정보들은 픽처 파라미터 셋(PPS, Picture Parameter Set) 또는 픽처 헤더에 부호화된다.Information applied to each CU is encoded with the syntax of the CU, and information commonly applied to CUs included in one CTU is encoded with the syntax of the CTU. In addition, information commonly applied to all blocks within one tile is encoded with the syntax of the tile or with the syntax of the tile group to which the tile belongs, and information applied to all blocks constituting one picture is encoded as a picture parameter. It is encoded in a set (PPS, Picture Parameter Set) or picture header.

나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화되며, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다.Furthermore, information commonly referenced by a plurality of pictures is encoded into a Sequence Parameter Set (SPS), and information commonly referenced by one or more SPSs is encoded into a Video Parameter Set (VPS).

블록 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로 부호화되어 영상 복호화 장치로 전달된다. The block division unit 110 determines the size of the CTU (Coding Tree Unit). Information about the size of the CTU (CTU size) is encoded with SPS or PPS syntax and transmitted to the video decoding device.

블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)로 분할한 이후에, 분할된 CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다. The block division unit 110 divides each picture constituting the image into a plurality of CTUs (Coding Tree Units) having a predetermined size, and then repeatedly divides the divided CTUs using a tree structure. Split recursively. A leaf node in the tree structure becomes a coding unit (CU), the basic unit of encoding.

트리 구조에는 상위 노드(혹은 부모 노드)가 동일한 크기를 가지는 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(Quad Tree, QT), 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(Binary Tree, BT), 상위 노드가 1:2:1 비율로 세 개의 하위 노드로 분할되는 터너리트리(Ternary Tree, TT) 등이 포함될 수 있다.The tree structure includes Quad Tree (QT), in which the parent node is divided into four child nodes (or child nodes) of the same size, and Binary Tree (QT), in which the parent node is divided into two child nodes. Tree, BT), and a Ternary Tree (TT) in which the upper node is divided into three lower nodes in a 1:2:1 ratio.

또한, QT 구조, BT 구조 및 TT 구조 중 둘 이상이 혼용된 구조 등이 포함될 수 있다. 예컨대, QTBT(Quad Tree plus Binary Tree) 구조가 사용될 수 있고, QTBTTT(Quad Tree plus Binary Tree Ternary Tree) 구조가 사용될 수 있다. Additionally, a structure in which two or more of QT structure, BT structure, and TT structure are mixed may be included. For example, a Quad Tree plus Binary Tree (QTBT) structure may be used, and a Quad Tree plus Binary Tree Ternary Tree (QTBTTT) structure may be used.

도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. Figure 2 is a diagram to explain a method of dividing a block using the QTBTTT structure. As shown in Figure 2, the CTU can first be divided into a QT structure. Quadtree splitting can be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf node allowed in QT.

QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. If the leaf nodes of QT are not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, they may be further divided into one or more of the BT structure or TT structure. In the BT structure and/or TT structure, there may be multiple division directions.

예컨대, 일부 예시에서, 해당 노드의 블록을 가로로 분할하는 타입(즉, horizontal splitting)과 세로로 분할하는 타입(즉, vertical splitting) 두 가지가 존재할 수 있다. For example, in some examples, there may be two types: a type that splits the block of the node horizontally (i.e., horizontal splitting) and a type that splits it vertically (i.e., vertical splitting).

도 2에 표현된 바와 같이, BTTT 분할이 수행되면, 노드들이 분할되었는지 여부를 지시하는 플래그, 분할 방향(vertical 또는 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 또는 Ternary)을 나타내는 플래그가 영상 복호화 장치로 시그널링될 수 있다.As shown in FIG. 2, when BTTT splitting is performed, a flag indicating whether the nodes are split, a flag indicating the splitting direction (vertical or horizontal), and/or a flag indicating the splitting type (Binary or Ternary) are used for video decoding. Can be signaled to the device.

한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태, 해당 노드의 블록을 대각선 방향으로 분할하는 형태 등이 포함될 수 있다.Meanwhile, there may be an additional type that divides the block of the corresponding node into two asymmetric blocks. The asymmetric form may include dividing the block of the corresponding node into two rectangular blocks with a size ratio of 1:3, dividing the block of the corresponding node diagonally, etc.

트리 구조의 다른 예시로서 QTBT가 사용되는 경우, CTU는 먼저 QT 구조로 분할된 이후에, QT의 리프 노드들은 BT 구조로 더 분할될 수 있다. When QTBT is used as another example of a tree structure, the CTU may first be divided into a QT structure, and then the leaf nodes of the QT may be further divided into a BT structure.

CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재 블록'이라 지칭한다.A CU can have various sizes depending on the QTBT or QTBTTT division from the CTU. Hereinafter, the block corresponding to the CU (i.e., leaf node of QTBTTT) to be encoded or decoded is referred to as the 'current block'.

예측부(120)는 현재 블록을 예측하여 예측 블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함하여 구성될 수 있다. 일반적으로, 픽처 내 현재 블록들은 각각 예측적으로 코딩될 수 있다. 현재 블록의 예측은 현재 블록을 포함하는 픽처의 데이터를 사용하는 인트라 예측 기술 또는 현재 블록을 포함하는 픽처 이전에 코딩된 픽처의 데이터를 사용하는 인터 예측 기술을 사용하여 수행될 수 있다. The prediction unit 120 predicts the current block and generates a prediction block. The prediction unit 120 may include an intra prediction unit 122 and an inter prediction unit 124. In general, each current block in a picture can be coded predictively. Prediction of the current block may be performed using intra prediction technology using data from a picture including the current block, or inter prediction technology using data from a picture coded before the picture including the current block.

인트라 예측부(122)는 현재 블록이 포함된 현재 픽처 내에서 현재 블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재 블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다. The intra prediction unit 122 predicts pixels within the current block using pixels (reference pixels) located around the current block within the current picture including the current block. There are multiple intra prediction modes depending on the prediction direction. For example, as shown in FIG. 3, the plurality of intra prediction modes may include non-directional modes including planar mode and DC mode and 65 directional modes. The surrounding pixels and calculation formulas to be used are defined differently for each prediction mode.

인트라 예측부(122)는 현재 블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측 모드들을 사용하여 현재 블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. The intra prediction unit 122 may determine the intra prediction mode to be used to encode the current block. In some examples, intra prediction unit 122 may encode the current block using multiple intra prediction modes and select an appropriate intra prediction mode to use from the tested modes.

예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다. For example, the intra prediction unit 122 calculates rate-distortion values using rate-distortion analysis for several tested intra-prediction modes, and selects the rate-distortion value with the best rate-distortion characteristics among the tested modes. You can also select intra prediction mode.

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

인터 예측부(124)는 움직임 추정(motion estimation) 과정을 통해 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재 블록과 가장 유사한 블록을 탐색하고, 움직임 보상 과정을 통해 탐색된 블록을 이용하여 현재 블록에 대한 예측 블록을 생성한다. 인터 예측은 일반적으로 예측 방향에 따라 단방향 예측(Uni-directional prediction)과 양방향 예측(Bi-directional prediction)으로 구별될 수 있다. The inter prediction unit 124 searches for a block most similar to the current block within a reference picture that has been encoded and decoded before the current picture through a motion estimation process, and uses the block searched through a motion compensation process to find the current block. Create a prediction block for the block. Inter prediction can generally be divided into uni-directional prediction and bi-directional prediction depending on the prediction direction.

인터 예측부(124)는 현재 픽처 내의 현재 블록과 참조 픽처 내의 예측 블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. The inter prediction unit 124 generates a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture. Typically, motion estimation is performed on the luma component, and motion vectors calculated based on the luma component are used for both the luma component and the chroma component.

현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다. Motion information including information about the reference picture and information about the motion vector used to predict the current block is encoded by the encoder 150 and transmitted to the video decoding device.

움직임 정보를 부호화하는 데 소요되는 비트량을 감소 또는 최소화시키기 위해 다양한 방법이 사용될 수 있다. 이 다양한 방법들 중 대표적인 예로 Skip 모드, Merge 모드 및 AMVP(Adaptive(Advanced) motion vector predictor) 모드를 들 수 있다.Various methods can be used to reduce or minimize the amount of bits required to encode motion information. Representative examples of these various methods include Skip mode, Merge mode, and AMVP (Adaptive (Advanced) motion vector predictor) mode.

Skip 모드에서는 주변 블록들로부터 미리 설정된 개수의 후보 블록들이 선별되고, 선별된 후보 블록들의 움직임 정보들 중 현재 블록의 움직임 정보로 사용될 하나가 선택된 후, 선택된 움직임 정보의 index 값이 부호화되어 영상 복호화 장치로 시그널링된다. HEVC 표준에서, Skip 모드에 대한 index 값은 merge_idx syntax를 통해 표현된다.In Skip mode, a preset number of candidate blocks are selected from neighboring blocks, one to be used as motion information of the current block among the motion information of the selected candidate blocks is selected, and then the index value of the selected motion information is encoded and used by the video decoding device. It is signaled as In the HEVC standard, the index value for Skip mode is expressed through merge_idx syntax.

Merge 모드에서는 먼저, 주변 블록들로부터 미리 설정된 개수의 후보 블록들이 선별된다. 후보 블록들이 선별되면, 인터 예측부(124)는 후보 블록들이 포함된 머지 리스트(merge list)를 구성하고, 리스트에 포함된 후보 블록의 움직임 정보들 중에서 현재 블록의 움직임 정보로 사용될 움직임 정보를 선택하며, 선택된 움직임 정보(선택된 후보 블록)를 식별하기 위한 merge index 값을 생성한다. In Merge mode, first, a preset number of candidate blocks are selected from neighboring blocks. When the candidate blocks are selected, the inter prediction unit 124 constructs a merge list containing the candidate blocks, and selects motion information to be used as motion information for the current block from among the motion information of the candidate blocks included in the list. and generate a merge index value to identify the selected motion information (selected candidate block).

선택된 움직임 정보의 index 값 즉, merge index 값은 부호화되어 영상 복호화 장치로 시그널링된다. HEVC 표준에서, Merge 모드에 대한 index 값은 merge_idx syntax를 통해 표현된다.The index value of the selected motion information, that is, the merge index value, is encoded and signaled to the video decoding device. In the HEVC standard, the index value for Merge mode is expressed through merge_idx syntax.

AMVP 모드에서는 먼저, 현재 블록의 주변 블록들을 이용하여 현재 블록의 움직임 벡터에 대한 예측 움직임 벡터(motion vector predictor, MVP) 후보들이 유도된다. 예측 움직임 벡터 후보들이 유도되면, 인터 예측부(124)는 현재 블록의 움직임 벡터에 대한 예측 움직임 벡터(mvp)를 결정하고, 현재 블록의 움직임 벡터에서 결정된 예측 움직임 벡터를 감산하여 차분 움직임 벡터(motion vector difference, mvd)를 산출한다. 산출된 차분 움직임 벡터는 부호화되어 영상 복호화 장치로 시그널링된다. In AMVP mode, first, motion vector predictor (MVP) candidates for the motion vector of the current block are derived using neighboring blocks of the current block. When predicted motion vector candidates are derived, the inter prediction unit 124 determines a predicted motion vector (mvp) for the motion vector of the current block, subtracts the determined predicted motion vector from the motion vector of the current block, and produces a differential motion vector (motion vector). Calculate vector difference (mvd). The calculated differential motion vector is encoded and signaled to the video decoding device.

예측 움직임 벡터 후보들로부터 예측 움직임 벡터를 결정하는 과정은 미리 정의된 함수(예를 들어, 중앙 값 연산, 평균 값 연산 등)를 통해 구현될 수 있다. 이 경우, 영상 복호화 장치는 미리 정의된 함수를 적용하도록 설정되어 있다.The process of determining a predicted motion vector from predicted motion vector candidates may be implemented through a predefined function (eg, median value operation, average value operation, etc.). In this case, the video decoding device is set to apply a predefined function.

예측 움직임 벡터 후보들을 유도하기 위해 이용되는 주변 블록들은 이미 부호화 및 복호화가 완료된 블록에 해당하므로, 영상 복호화 장치도 이 주변 블록들에 대한 움직임 벡터를 이미 인지하고 있다. 따라서, 예측 움직임 벡터 후보들을 식별하기 위한 정보들은 부호화될 필요가 없으므로, 영상 부호화 장치는 차분 움직임 벡터에 대한 정보와 현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보만을 부호화한다. Since the neighboring blocks used to derive predicted motion vector candidates correspond to blocks for which encoding and decoding have already been completed, the video decoding device also already recognizes the motion vectors for these neighboring blocks. Accordingly, since information for identifying predicted motion vector candidates does not need to be encoded, the video encoding apparatus encodes only information about the differential motion vector and information about the reference picture used to predict the current block.

예측 움직임 벡터 후보들로부터 예측 움직임 벡터를 결정하는 과정은 예측 움직임 벡터 후보들 중 어느 하나를 선택하는 방식으로 구현될 수도 있다. 이와 같은 경우, 차분 움직임 벡터에 대한 정보, 현재 블록을 예측하기 위해 사용된 참조 픽처에 대한 정보와 함께, 결정된 예측 움직임 벡터를 식별하기 위한 정보가 추가적으로 부호화된다.The process of determining a predicted motion vector from the predicted motion vector candidates may be implemented by selecting one of the predicted motion vector candidates. In this case, information for identifying the determined prediction motion vector is additionally encoded, along with information about the differential motion vector and information about the reference picture used to predict the current block.

감산기(130)는 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측 블록과 현재 블록을 감산하여 잔차 블록을 생성하고, 변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. The subtractor 130 generates a residual block by subtracting the current block from the prediction block generated by the intra prediction unit 122 or the inter prediction unit 124, and the transform unit 140 generates a residual block having pixel values in the spatial domain. The residual signal within the block is converted into a transform coefficient in the frequency domain.

변환부(140)는 잔차 블록 내의 잔차 신호들을 현재 블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 잔차 블록을 더 작은 복수의 서브 블록으로 분할하고 서브 블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. The conversion unit 140 may convert the residual signals in the residual block using the size of the current block as a conversion unit, divide the residual block into a plurality of smaller sub-blocks, and convert the residual signals into a conversion unit of the sub-block size. You may.

잔차 블록을 더 작은 서브 블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기 정의된 동일한 크기의 서브 블록으로 분할할 수도 있으며, 잔차 블록을 루트 노드로 하는 QT(Quad Tree) 방식의 분할을 사용할 수도 있다. There may be various ways to divide the residual block into smaller sub-blocks. For example, it can be divided into predefined sub-blocks of the same size, or QT (Quad Tree) method partitioning with the residual block as the root node can be used.

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

부호화부(150)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화함으로써 비트스트림을 생성한다. 또한, 부호화부(150)는 블록 분할과 관련된 CTU size, QT 분할 플래그, BTTT 분할 플래그, 분할 방향 및 분할 타입 등의 정보를 부호화 및 시그널링하여 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.The encoder 150 generates a bitstream by encoding the quantized transform coefficients using an encoding method such as CABAC. In addition, the encoder 150 encodes and signals information such as CTU size, QT split flag, BTTT split flag, split direction, and split type related to block splitting, so that the video decoding device can split the block in the same way as the video coding device. make it possible

나아가 부호화부(150)는 현재 블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조 픽처 및 움직임벡터에 대한 정보)를 부호화한다. Furthermore, the encoder 150 encodes information about the prediction type indicating whether the current block is encoded by intra prediction or inter prediction, and generates intra prediction information (i.e., intra prediction mode) according to the prediction type. information) or inter prediction information (information about reference pictures and motion vectors) is encoded.

역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차 블록을 복원한다.The inverse quantization unit 160 inversely quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients. The inverse transform unit 165 converts the transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain to restore the residual block.

가산부(170)는 복원된 잔차 블록과 예측부(120)에 의해 생성된 예측 블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 다음 순서 블록의 인트라 예측을 위한 참조 픽셀로 사용된다.The addition unit 170 restores the current block by adding the restored residual block and the prediction block generated by the prediction unit 120. Pixels in the restored current block are used as reference pixels for intra prediction of the next block.

필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 감소시키기 위해, 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO 필터(184)를 포함할 수 있다.The filter unit 180 applies filtering to the restored pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. that occur due to block-based prediction and transformation/quantization. Perform filtering on The filter unit 180 may include a deblocking filter 182 and a SAO filter 184.

디블록킹 필터(180)는 복원된 블록 간의 경계를 필터링하여 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. The deblocking filter 180 filters the boundaries between restored blocks to remove blocking artifacts caused by block-level encoding/decoding, and the SAO filter 184 performs additional filtering on the deblocking-filtered image. Perform.

SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터에 해당한다. 디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원 블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The SAO filter 184 corresponds to a filter used to compensate for the difference between the restored pixel and the original pixel caused by lossy coding. The restored block filtered through the deblocking filter 182 and the SAO filter 184 is stored in the memory 190. When all blocks in one picture are reconstructed, the reconstructed picture is later used as a reference picture for inter prediction of blocks in the picture to be encoded.

도 1에는 표현하지 않았으나, 영상 부호화 장치는 서로 다르거나 동일한 레벨 또는 티어를 영역 별로 설정하는 제어수단을 더 포함하여 구성될 수 있다. 이 제어수단은 도 1에 표현된 하위 구성들과 함께 동일한 물리적 구성(프로세서 등)에서 구현되거나, 도 1에 표현된 하위 구성들과는 다른 물리적 구성에서 구현될 수 있다. 제어수단에 대한 상세한 내용은 후술하도록 한다.Although not shown in FIG. 1, the video encoding device may further include control means for setting different or the same level or tier for each region. This control means may be implemented in the same physical configuration (processor, etc.) as the sub-configurations shown in FIG. 1, or may be implemented in a different physical configuration than the sub-configurations shown in FIG. Details about the control means will be described later.

도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.Figure 4 is an example block diagram of a video decoding device that can implement the techniques of the present disclosure. Hereinafter, the video decoding device and its sub-configurations will be described with reference to FIG. 4.

도 4에 도시된 바와 같이, 영상 복호화 장치는 복호화부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.As shown in FIG. 4, the image decoding device includes a decoder 410, an inverse quantization unit 420, an inverse transform unit 430, a prediction unit 440, an adder 450, a filter unit 460, and a memory ( 470).

영상 복호화 장치는 도 1에 표현된 영상 부호화 장치와 마찬가지로, 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 소프트웨어의 기능을 실행하도록 구성될 수도 있다.Like the video encoding device shown in FIG. 1, the video decoding device may have each component implemented as a hardware chip, the function of each component may be implemented as software, and a microprocessor may be configured to execute the functions of each software. there is.

복호화부(410)는 영상 부호화 장치로부터 수신된 비트스트림을 복호화하여 블록 분할과 관련된 정보(루마 블록의 분할정보 및/또는 크로마 블록의 분할정보)를 추출하고, 이를 이용하여 복호화하고자 하는 현재 블록을 결정하며, 현재 블록을 복원하기 위해 필요한 예측 정보와 잔차 신호에 대한 정보 등을 추출한다.The decoder 410 decodes the bitstream received from the video encoding device, extracts information related to block division (segmentation information of the luma block and/or division information of the chroma block), and uses this to select the current block to be decoded. decision, and extract the prediction information and information about the residual signal necessary to restore the current block.

복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 또한, 복호화부(410)는 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, 비트스트림으로부터 분할 정보를 추출한 후, 이를 이용하여 블록을 분할 또는 복원한다. The decoder 410 extracts information about the CTU size from a Sequence Parameter Set (SPS) or Picture Parameter Set (PPS), determines the size of the CTU, and divides the picture into CTUs of the determined size. Additionally, the decoder 410 determines the CTU as the highest layer of the tree structure, that is, the root node, extracts segmentation information from the bitstream, and then uses this to segment or restore the block.

또한, 복호화부(410)는 QT 분할의 리프 노드에 해당하는 노드에 대해서는 블록의 BT 분할 여부 및 분할 타입(분할 방향)에 대한 정보를 추출하여 해당 리프 노드를 BT 구조로 분할한다. In addition, the decoder 410 extracts information about whether the block is BT-divided and the division type (division direction) for the node corresponding to the leaf node of the QT division and divides the corresponding leaf node into a BT structure.

다른 예로서, QTBTTT 구조를 사용하여 블록을 분할 또는 복원하는 경우, 복호화부(410)는 QT 분할 여부에 대한 정보(플래그)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할하고, QT 분할의 리프 노드(QT 분할이 더 이상 발생하지 않는 노드)에 해당하는 노드에 대해서는 BT 또는 TT로 더 분할되는지 여부, 분할 방향에 대한 정보 및 BT 구조인지 TT 구조인지를 구별하는 분할 타입 정보를 추출하여 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.As another example, when dividing or restoring a block using the QTBTTT structure, the decoder 410 extracts information (flag) about whether the QT is divided, divides each node into four nodes of the lower layer, and divides the QT. For nodes corresponding to leaf nodes (nodes where QT division no longer occurs), extract information about whether it is further divided into BT or TT, information about the direction of division, and information about the division type that distinguishes whether it is a BT structure or a TT structure. Split recursively into BT or TT structures.

이와 같이, 분할정보를 이용하여 복호화하고자 하는 현재 블록이 결정되면, 복호화부(410)는 현재 블록이 인트라 예측되었는지 아니면, 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. In this way, when the current block to be decoded is determined using the partition information, the decoder 410 extracts information about the prediction type indicating whether the current block was intra-predicted or inter-predicted.

예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(410)는 현재 블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조 픽처를 나타내는 정보(현재 블록의 움직임 정보)를 추출한다. When prediction type information indicates intra prediction, the decoder 410 extracts syntax elements for intra prediction information (intra prediction mode) of the current block. When prediction type information indicates inter prediction, the decoder 410 extracts syntax elements for inter prediction information, that is, information indicating a motion vector and the reference picture referenced by the motion vector (motion information of the current block). .

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

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

예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함하여 구성될 수 있는 데, 인트라 예측부(342)는 현재 블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(344)는 현재 블록의 예측 타입이 인트라 예측일 때 활성화된다.The prediction unit 440 may include an intra prediction unit 442 and an inter prediction unit 444. The intra prediction unit 342 is activated when the prediction type of the current block is intra prediction, and the intra prediction unit 342 is activated when the prediction type of the current block is intra prediction. Unit 344 is activated when the prediction type of the current block is intra prediction.

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

인터 예측부(444)는 복호화부(410)로부터 추출된 인터 예측 모드에 대한 신택스 요소를 이용하여 현재 블록의 움직임 벡터와 이 움직임 벡터가 참조하는 참조 픽처를 결정하고, 움직임 벡터와 참조 픽처를 통해 현재 블록을 예측한다. The inter prediction unit 444 determines the motion vector of the current block and the reference picture referenced by this motion vector using the syntax elements for the inter prediction mode extracted from the decoder 410, and determines the motion vector of the current block and the reference picture referred to by the motion vector. Predict the current block.

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

필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함한다. 디블록킹 필터(462)는 복원된 블록 간의 경계를 디블록킹 필터링하여 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거한다. The filter unit 460 includes a deblocking filter 462 and a SAO filter 464. The deblocking filter 462 removes blocking artifacts caused by block-level decoding by deblocking and filtering the boundaries between restored blocks.

SAO 필터(464)는, 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. The SAO filter 464 performs additional filtering on the reconstructed block after deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.

디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원 블록은 메모리(470)에 저장되고, 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The restored blocks filtered through the deblocking filter 462 and the SAO filter 464 are stored in the memory 470, and when all blocks in one picture are restored, the restored picture is interconnected with the blocks in the picture to be encoded later. It is used as a reference picture for prediction.

도 4에는 표현하지 않았으나, 영상 복호화 장치는 서로 다르거나 동일한 레벨 또는 티어를 영역 별로 설정하는 제어수단을 더 포함하여 구성될 수 있다. 이 제어수단은 도 4에 표현된 하위 구성들과 함께 동일한 물리적 구성(프로세서 등)에서 구현되거나, 도 4에 표현된 하위 구성들과는 다른 물리적 구성에서 구현될 수 있다. 제어수단에 대한 상세한 내용은 후술하도록 한다.Although not shown in FIG. 4, the video decoding device may further include control means for setting different or the same level or tier for each region. This control means may be implemented in the same physical configuration (processor, etc.) as the sub-configurations shown in FIG. 4, or may be implemented in a different physical configuration than the sub-configurations shown in FIG. 4. Details about the control means will be described later.

한편, 영상 복호화 장치에 포함되는 제어수단은 영상 부호화 장치에 포함되는 전술된 제어수단과 그 기능 측면에서 대응되는 구성에 해당한다. 이하에서는, 영상 복호화 장치에 포함되는 제어수단과 영상 부호화 장치에 포함되는 제어수단을 용이하게 구별하기 위하여, 영상 복호화 장치에 포함되는 제어수단을 복호화 제어수단으로 지칭하며, 영상 부호화 장치에 포함되는 제어수단을 부호화 제어수단으로 지칭하도록 한다.Meanwhile, the control means included in the video decoding device corresponds to the above-described control means included in the video encoding device in terms of its function. Hereinafter, in order to easily distinguish between the control means included in the video decoding device and the control means included in the video encoding device, the control means included in the video decoding device is referred to as decoding control means, and the control means included in the video encoding device is referred to as decoding control means. The means shall be referred to as encoding control means.

본 발명에 대한 상세한 설명에 앞서, 본 명세서에서 지칭되는 용어들에 대해 정의한다.Before a detailed description of the present invention, terms used in this specification are defined.

본 명세서에서 지칭되는 '영역'은 레벨 또는 티어를 설정하는 대상을 의미하며, 이 영역에는 타일, 슬라이스, 타일 그룹, 슬라이스 세그먼트(segment) 등이 포함될 수 있다.'Area' referred to in this specification refers to an object for setting a level or tier, and this area may include tiles, slices, tile groups, slice segments, etc.

본 명세서에서 지칭되는 '영역 헤더'는 상기 '영역'과 관련되어 정의되는 개념으로서, 영역이 타일에 해당하는 경우에 영역 헤더는 타일 헤더에 해당하며, 영역이 슬라이스에 해당하는 경우에 영역 헤더는 슬라이스 헤더에 해당하고, 영역이 타일 그룹에 해당하는 경우에 영역 헤더는 타일 그룹 헤더에 해당한다.The 'area header' referred to in this specification is a concept defined in relation to the 'area'. When the area corresponds to a tile, the area header corresponds to the tile header, and when the area corresponds to a slice, the area header is It corresponds to a slice header, and if the area corresponds to a tile group, the area header corresponds to the tile group header.

또한, 영역이 픽처에 해당하는 경우에 영역 헤더는 픽처 파라미터 셋(PPS, Picture Parameter Set) 또는 픽처 헤더에 해당하며, 영역이 복수의 픽처에 해당하는 경우에 영역 헤더는 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 해당하고, 하나 이상의 SPS가 공통으로 참조하는 영역에 대한 영역 헤더는 비디오 파라미터 셋(VPS, Video Parameter Set)에 해당한다. Additionally, when the region corresponds to a picture, the region header corresponds to a Picture Parameter Set (PPS) or a picture header, and when the region corresponds to multiple pictures, the region header corresponds to a Sequence Parameter Set (SPS). Parameter Set), and the area header for the area commonly referenced by one or more SPS corresponds to the Video Parameter Set (VPS).

HEVC 등과 같은 종래 표준은 표준 기술이 적용되는 분야(application), 영상 복호화 장치(복호화기)의 성능 등을 고려하여 프로파일(profile), 레벨(level) 및 티어(tier) 등과 같은 개념을 사용하였다.Conventional standards such as HEVC used concepts such as profile, level, and tier in consideration of the application to which the standard technology is applied and the performance of the video decoding device (decoder).

프로파일이란 표준 기술이 적용되는 다양한 애플리케이션에 맞추어 미리 설정된 명세(specification)를 의미하며, HEVC에서는 'Main profile',' Main10 profile', 'Main still picture profile' 등의 프로파일들이 제정되어 있다.A profile refers to a specification set in advance for various applications to which standard technology is applied. In HEVC, profiles such as 'Main profile', 'Main10 profile', and 'Main still picture profile' are established.

레벨이란 프로파일이 동일하더라도 영상 복호화 장치의 특성에 따라 처리할 수 있는 성능의 차이가 발생하는 것을 고려하여 사용하는 개념으로서, 레벨 값에 따라 처리 가능한 영상의 최대 해상도와 프레임률이 결정될 수 있다. Level is a concept used in consideration of the fact that even if the profile is the same, there may be differences in processing performance depending on the characteristics of the video decoding device. The maximum resolution and frame rate of the video that can be processed can be determined according to the level value.

티어란 최대 비트율에 대한 제약에 관한 것으로서, 동일 프로파일과 동일 레벨이라 할지라도 애플리케이션에 따라서 고해상도, 고화질로 영상을 압축하는 경우와 그렇지 않은 경우가 존재하기 때문에 사용하는 개념이다. 즉, 티어란 영상 복호화 장치의 메모리(470)와 관련된 규정이다.Tier refers to restrictions on the maximum bit rate, and is a concept used because even if it is the same profile and level, there are cases where the video is compressed to high resolution and high quality depending on the application and there are cases where it is not. In other words, the tier is a regulation related to the memory 470 of the video decoding device.

프로파일, 레벨, 티어 등의 설정에 대한 종래 방법은 하나 이상의 영상(픽처)이 포함된 시퀀스(sequence)에 대하여 레벨, 티어, 프로파일을 단일의 값으로 설정하였다. 즉, 종래 방법은 하나 이상의 시퀀스 단위로 레벨, 티어, 프로파일을 적용 또는 설정하였다.The conventional method for setting profiles, levels, tiers, etc. sets the levels, tiers, and profiles to a single value for a sequence containing one or more images (pictures). That is, the conventional method applies or sets levels, tiers, and profiles in units of one or more sequences.

이러한 종래 방법과 달리, 본 발명은 픽처 이하의 크기를 가지는 영역을 레벨 및/또는 티어가 설정되는 기준 단위로 사용함으로써 부호화 및 복호화에 대한 효율성을 더욱 향상시키는 발명에 해당한다. 이하에서는, 레벨과 티어 중 레벨을 영역 별로 설정하는 실시예를 중심으로 하여 본 발명에 대해 설명하나, 티어를 영역 별로 설정하는 실시예와 레벨과 티어 모두를 영역 별로 설정하는 실시예도 본 발명에서 제안하는 방법을 통해 구현될 수 있다.Unlike these conventional methods, the present invention corresponds to an invention that further improves the efficiency of encoding and decoding by using an area with a size smaller than a picture as a reference unit for setting levels and/or tiers. In the following, the present invention will be described focusing on an embodiment in which the level among the levels and tiers is set for each area. However, an embodiment for setting the tier for each area and an embodiment for setting both the level and the tier for each area are also proposed in the present invention. It can be implemented through this method.

도 5 및 도 6은 영상 부호화 장치 및 영상 복호화 장치에서 구현되는 레벨 또는 티어 설정 방법에 대한 본 발명의 일 실시예를 설명하기 위한 순서도이다. 이하에서는, 도 5 및 도 6을 참조하여 레벨 설정 방법에 대한 본 발명의 기본적인 실시예에 대해 설명하도록 한다. 5 and 6 are flowcharts for explaining an embodiment of the present invention for a level or tier setting method implemented in a video encoding device and a video decoding device. Hereinafter, a basic embodiment of the present invention regarding a level setting method will be described with reference to FIGS. 5 and 6.

도 5에 도시된 바와 같이, 영상 부호화 장치에 포함되는 제어수단 즉, 부호화 제어수단은 레벨을 정의하는 신택스 요소(syntax element)인 정의 신택스 요소를 이용하여 하나 이상의 레벨을 정의한다(S510). 정의 신택스 요소에 대한 일 예가 아래 표 1에 표현되어 있다.As shown in FIG. 5, the control means included in the video encoding device, that is, the encoding control means, defines one or more levels using a definition syntax element, which is a syntax element that defines a level (S510). An example of a definition syntax element is represented in Table 1 below.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp( ) { DescriptorDescriptor num_base_tier_level_set_minus1num_base_tier_level_set_minus1 for( i = 0; i <= num_base_tier_level_set_minus1; i++ ) { for( i = 0; i <= num_base_tier_level_set_minus1; i++ ) { base_tier_level_set_id[ i ] base_tier_level_set_id[i] base_tier_flag[ i ] base_tier_flag[ i ] base_level_idc[ i ] base_level_idc[ i ] } } }}  

위 표 1에서, num_base_tier_level_set_minus1은 정의하려는 레벨 또는 티어의 개수에서 1을 뺀(차감한) 값을 나타내며(즉, 정의하려는 레벨의 개수를 나타냄), base_tier_level_set_id[i]는 레벨 및 티어 세트의 id를 나타내고, base_tier_flag[i]는 i번째 티어의 값을 나타내며, base_level_idc[i]는 i번째 레벨의 값을 나타낸다. In Table 1 above, num_base_tier_level_set_minus1 represents the number of levels or tiers to be defined minus 1 (i.e., represents the number of levels to be defined), and base_tier_level_set_id[i] represents the id of the level and tier set. , base_tier_flag[i] represents the value of the ith tier, and base_level_idc[i] represents the value of the ith level.

표 1에는, 정의될 레벨 또는 티어의 세트를 id 형태로 나타내는 일 예만이 표현되어 있으나, 실시형태에 따라 정의될 레벨 또는 티어의 세트는 인덱스(idx) 형태로 나타낼 수도 있다(base_tier_level_set_idx). 정의 신택스 요소는 표 1에 표현된 바와 같이 PPS 위치에서 정의되거나, PPS, SPS, VPS, SEI 중 하나 이상의 위치에서 정의될 수도 있다.Table 1 shows only an example of a set of levels or tiers to be defined in the form of an id, but depending on the embodiment, the set of levels or tiers to be defined may be expressed in the form of an index (idx) (base_tier_level_set_idx). The definition syntax element may be defined in the PPS position as shown in Table 1, or may be defined in one or more of PPS, SPS, VPS, and SEI positions.

하나 이상의 레벨이 정의되면, 부호화 제어수단은 지정 신택스 요소를 이용하여 레벨 설정의 대상에 해당하는 대상 영역과 이 대상 영역에 설정될 레벨인 대상 레벨을 지정한다(S520). When one or more levels are defined, the encoding control means uses a designation syntax element to designate a target area corresponding to the target of level setting and a target level, which is the level to be set in this target area (S520).

지정 신택스 요소에는 대상 영역을 지정하는 신택스 요소와 대상 레벨을 지정하는 신택스 요소가 포함될 수 있다. 대상 영역을 지정하는 지정 신택스 요소는 '영역 지정 신택스 요소'로 지칭될 수 있으며, 대상 레벨을 지정하는 지정 신택스 요소는 '레벨 지정 신택스 요소'로 지칭될 수 있다. The specified syntax element may include a syntax element that specifies the target area and a syntax element that specifies the target level. A designated syntax element that specifies a target area may be referred to as an 'area-specified syntax element', and a designated syntax element that specifies a target level may be referred to as a 'level-specified syntax element'.

지정 신택스 요소(영역 지정 신택스 요소 및 레벨 지정 신택스 요소)에 대한 일 예가 아래 표 2에 표현되어 있다.An example of designation syntax elements (region designation syntax element and level designation syntax element) is represented in Table 2 below.

tile_header( ) {tile_header( ) { DescriptorDescriptor tile_idx tile_idx base_tier_level_set_id base_tier_level_set_id }}

위 표 2에서, tile_idx는 타일로 구현된 대상 영역의 인덱스를 지정하는 영역 지정 신택스 요소를 나타내며, base_tier_level_set_id는 미리 정의된 레벨과 티어 중 tile_idx가 지시하는 대상 영역에 적용 또는 지정될 레벨과 티어를 나타내는 레벨 및 티어 지정 신택스 요소를 나타낸다. In Table 2 above, tile_idx represents an area specification syntax element that specifies the index of the target area implemented as a tile, and base_tier_level_set_id represents the level and tier to be applied or specified to the target area indicated by tile_idx among the predefined levels and tiers. Represents level and tier specification syntax elements.

표 2는 대상 영역이 타일에 해당함을 전제로 영역 지정 신택스 요소와 레벨 및 티어 지정 신택스 요소를 나타낸다. 다만, 전술된 바와 같이, 대상 영역은 타일뿐만 아니라 슬라이스, 타일 그룹, 슬라이스 세그먼트 등에 해당할 수 있으므로, 영역 지정 신택스 요소와 레벨 및 티어 지정 신택스 요소는 대상 영역이 해당하는 단위의 헤더에 정의 또는 지정될 수 있다. 예를 들어, 대상 영역이 타일 그룹에 해당하는 경우, 이 타일 그룹 헤더에 영역 지정 신택스 요소와 레벨 및 티어 지정 신택스 요소가 정의 또는 지정될 수 있다. 이와 같은 점은 이하에서 제시되는 다른 표들에도 동일하게 적용된다.Table 2 shows area designation syntax elements and level and tier designation syntax elements assuming that the target area corresponds to a tile. However, as described above, the target area may correspond not only to tiles but also to slices, tile groups, slice segments, etc., so area designation syntax elements and level and tier designation syntax elements must be defined or specified in the header of the unit to which the target area corresponds. It can be. For example, if the target area corresponds to a tile group, area designation syntax elements and level and tier designation syntax elements may be defined or specified in this tile group header. The same applies to other tables presented below.

대상 영역과 대상 레벨의 지정이 완료되면, 부호화부(150)는 정의 신택스 요소와 지정 신택스 요소를 부호화한다(S530). 부호화된 신택스 요소들은 비트스트림에 포함되어 영상 복호화 장치로 시그널링된다(S540).When the designation of the target area and target level is completed, the encoder 150 encodes the definition syntax element and the designation syntax element (S530). The encoded syntax elements are included in the bitstream and signaled to the video decoding device (S540).

도 6에 도시된 바와 같이, 복호화부(410)는 먼저, 영상 부호화장치로부터 시그널링된 비트스트림에서 정의 신택스 요소와 지정 신택스 요소를 파싱(parsing)하고, 이를 복호화한다(S610). 전술된 바와 같이, 지정 신택스 요소에는 대상 영역을 지정하는 영역 지정 신택스 요소와 대상 레벨을 지정하는 레벨 지정 신택스 요소가 포함될 수 있다.As shown in FIG. 6, the decoder 410 first parses the definition syntax element and the designated syntax element in the bitstream signaled from the video encoding device and decodes them (S610). As described above, the designation syntax element may include an area designation syntax element that specifies the target area and a level designation syntax element that specifies the target level.

영상 복호화 장치의 제어수단 즉, 복호화 제어수단은 정의 신택스 요소를 기초로 하나 이상의 레벨을 정의한다(S620). 하나 이상의 레벨이 정의되면, 복호화 제어수단은 정의된 레벨 중 레벨 지정 신택스 요소가 지정하는 대상 레벨을 영역 지정 신택스 요소가 지시하는 대상 영역에 설정한다(S630).The control means of the video decoding device, that is, the decoding control means, defines one or more levels based on definition syntax elements (S620). When one or more levels are defined, the decoding control means sets the target level designated by the level designation syntax element among the defined levels to the target area indicated by the area designation syntax element (S630).

레벨의 설정이 완료되면, 영상 복호화 장치는 각 영역에 설정된 레벨을 기초로 해당 영역들을 디코딩한다(S640). When the level setting is completed, the video decoding device decodes the corresponding areas based on the level set in each area (S640).

이와 같이, 본 발명은 하나 이상의 픽처로 구성되는 시퀀스에 단일의 레벨 또는 티어를 설정하는 것이 아닌, 영역 별로 레벨 또는 티어를 설정하도록 구성되므로, 영역마다의 서로 다른 화질 특성에 최적화된 부호화 및 복호화를 구현할 수 있게 된다.As such, the present invention is configured to set a level or tier for each region rather than setting a single level or tier for a sequence consisting of one or more pictures, so that encoding and decoding optimized for different picture quality characteristics for each region are performed. It becomes possible to implement.

또한, 본 발명은 360 비디오와 같이 전 방향의 영상을 모두 기록하고, 이 중 특정 위치(viewport)의 영상과 다른 위치의 영상을 차등적인 품질로 디코딩 및 재생하고자 하는 경우 또는 뷰포트 영상만을 디코딩 및 재생하고자 하는 경우 등에 더욱 유용하게 활용될 수 있다. 이러한 활용 예를 설명하기 위한 도면이 도 7에 표현되어 있다.In addition, the present invention records images in all directions, such as 360 video, and decodes and plays images from a specific location (viewport) and images from other locations with differential quality, or decodes and plays only viewport images. It can be used more usefully when desired. A drawing to explain this use example is shown in FIG. 7.

도 7에서, 360 비디오의 전체 영역(700)은 복수 개의 영역들(710)로 구성될 수 있으며, 이 복수 개의 영역들(710) 중 #1, #2, #25, #26, #29 및 #30의 영역들이 뷰포트 영역을 나타낸다.In FIG. 7, the entire area 700 of the 360 video may be composed of a plurality of areas 710, of which #1, #2, #25, #26, #29, and Areas #30 represent the viewport area.

부호화 또는 복호화 제어수단은 뷰포트 영역(#1, #2, #25, #26, #29 및 #30)과 다른 영역들에 서로 다른 레벨 또는 티어를 설정하여 뷰포트 영역에 상대적인 고화질 또는 저화질의 부호화 및 복호화가 적용되도록 함으로써 차별적인 품질의 부호화 및 복호화를 구현할 수 있다.The encoding or decoding control means sets different levels or tiers in the viewport area (#1, #2, #25, #26, #29, and #30) and other areas to encode and encode high or low image quality relative to the viewport area. By allowing decoding to be applied, encoding and decoding of differentiated quality can be implemented.

또한, 부호화 또는 복호화 제어수단은 디코딩하려는 뷰포트 영역(#1, #2, #25, #26, #29 및 #30)을 별도의 레벨 또는 티어로 설정하여 전체 영역(700)에서 뷰포트 영역(#1, #2, #25, #26, #29 및 #30)만이 디코딩 및 재생되도록 할 수 있다.In addition, the encoding or decoding control means sets the viewport area (#1, #2, #25, #26, #29, and #30) to be decoded to a separate level or tier, so that the viewport area (# 1, #2, #25, #26, #29 and #30) can be decoded and played back.

예를 들어, 영상 복호화 장치가 MPEG-4 AVC Main profile, Level 3(L3)를 지원하여 L3 이하의 디코딩 및 재생이 가능한 상태에서 360 비디오의 뷰포트 영역이 L3 레벨이고 다른 영역이 L5 레벨인 경우, 뷰포트 영역에 대한 레벨을 L3로 설정하여 뷰포트 영역만의 디코딩 및 재생을 구현할 수 있다.For example, if the video decoding device supports MPEG-4 AVC Main profile, Level 3 (L3) and enables decoding and playback of L3 or lower, and the viewport area of the 360 video is at the L3 level and the other areas are at the L5 level, By setting the level for the viewport area to L3, decoding and playback of the viewport area only can be implemented.

도 8 및 도 9는 영상 부호화 장치 및 영상 복호화 장치에서 구현되는 대상 레벨 또는 대상 티어 지정에 대한 본 발명의 일 실시예를 설명하기 위한 순서도이다. 이하에서는, 도 8 및 도 9를 참조하여 레벨 지정에 대한 본 발명의 일 실시예에 대해 설명하도록 한다.Figures 8 and 9 are flowcharts for explaining an embodiment of the present invention for specifying a target level or target tier implemented in a video encoding device and a video decoding device. Hereinafter, an embodiment of the present invention for level designation will be described with reference to FIGS. 8 and 9.

정의 신택스 요소에는 디폴트(default) 레벨을 정의하는 신택스 요소(디폴트 정의 신택스 요소)와 하나 이상의 엑스트라(extra) 레벨을 정의하는 신택스 요소(엑스트라 정의 신택스 요소)가 포함될 수 있다. 여기서, 디폴트 레벨은 대상 영역에 지정될 수 있는 레벨들 중 기본 레벨에 해당하며, 엑스트라 레벨은 디폴트 레벨을 제외한 레벨에 해당한다.The definition syntax element may include a syntax element defining a default level (default definition syntax element) and a syntax element defining one or more extra levels (extra definition syntax element). Here, the default level corresponds to the basic level among the levels that can be assigned to the target area, and the extra level corresponds to the level excluding the default level.

디폴트 정의 신택스 요소에 대한 일 예가 아래 표 3에 표현되어 있다.An example of a default definition syntax element is represented in Table 3 below.

seq_parameter_set_rbsp( ) {seq_parameter_set_rbsp( ) { DescriptorDescriptor default_tier_flag default_tier_flag default_level_idc default_level_idc }}  

위 표 3에서, default_tier_flag는 정의할 디폴트 티어의 값을 나타내는 디폴트 티어 신택스 요소에 해당하며, default_level_idc는 정의할 디폴트 레벨의 값을 나타내는 디폴트 레벨 신택스 요소에 해당한다.In Table 3 above, default_tier_flag corresponds to the default tier syntax element indicating the value of the default tier to be defined, and default_level_idc corresponds to the default level syntax element indicating the value of the default level to be defined.

엑스트라 정의 신택스 요소에 대한 일 예가 아래 표 4에 표현되어 있다.An example of an extra definition syntax element is represented in Table 4 below.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp( ) { DescriptorDescriptor num_extra_tier_level_setnum_extra_tier_level_set for( i = 0; i < num_extra_tier_level_set; i++ ) { for( i = 0; i < num_extra_tier_level_set; i++ ) { extra_tier_level_set_id[ i ] extra_tier_level_set_id[i] extra_tier_flag[ i ] extra_tier_flag[ i ] extra_level_idc[ i ] extra_level_idc[ i ] } } }}  

위 표 4에서, num_extra_tier_level_set는 추가로 정의하려는 엑스트라 레벨 및 엑스트라 티어의 개수를 나타내며, extra_tier_level_set_id[i]는 추가로 정의할 엑스트라 레벨과 엑스트라 티어의 id를 나타내고, extra_tier_flag[i]는 추가로 정의할 엑스트라 티어의 값을 나타내며, extra_level_idc[i]는 추가로 정의할 엑스트라 레벨의 값을 나타낸다.In Table 4 above, num_extra_tier_level_set represents the number of extra levels and extra tiers to be additionally defined, extra_tier_level_set_id[i] represents the id of the extra level and extra tier to be additionally defined, and extra_tier_flag[i] is the extra level to be additionally defined. Indicates the tier value, and extra_level_idc[i] represents the value of the extra level to be additionally defined.

표 4에는 추가로 정의될 레벨 또는 티어의 세트를 id 형태로 나타내는 일 예만이 표현되어 있으나, 실시형태에 따라, 추가로 정의될 레벨 또는 티어의 세트는 인덱스(idx) 형태(extra_tier_level_set_idx)로 나타낼 수 있다. 이러한 점은 이하에서 제시되는 다른 표들에도 동일하게 적용된다.Table 4 shows only an example representing a set of additionally defined levels or tiers in the form of an id. However, depending on the embodiment, the set of levels or tiers to be additionally defined may be expressed in the form of an index (idx) (extra_tier_level_set_idx). there is. This equally applies to other tables presented below.

부호화 제어수단은 디폴트 정의 신택스 요소를 이용하여 디폴트 레벨을 정의하고, 엑스트라 정의 신택스 요소를 이용하여 하나 이상의 엑스트라 레벨을 정의한다(S810).The encoding control means defines a default level using a default definition syntax element and defines one or more extra levels using an extra definition syntax element (S810).

정의된 디폴트 레벨과 엑스트라 레벨 중 어느 레벨을 대상 레벨로 이용할 것인지 여부가 결정되어야 하는데, 부호화 제어수단은 디폴트 레벨의 사용 여부를 지시하는 디폴트 사용 신택스 요소를 지정 신택스 요소에 포함시켜 이를 결정한다(S820).It must be decided which of the defined default levels and extra levels will be used as the target level, and the encoding control means determines this by including a default use syntax element indicating whether to use the default level in the designated syntax element (S820 ).

지정 신택스 요소에 포함되는 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하는 경우(S830), 영상 복호화 장치에서는 디폴트 사용 신택스 요소의 지시에 따라 디폴트 레벨을 대상 레벨로 사용 가능하므로, 부호화 제어수단은 대상 레벨 결정을 위한 별도의 신택스 요소 또는 정보를 추가하지 않는다. When the default use syntax element included in the designated syntax element indicates the use of the default level (S830), the video decoding device can use the default level as the target level according to the instructions of the default use syntax element, so the encoding control means is used as the target level. No separate syntax elements or information are added for level determination.

이와 달리, 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하지 않는 경우(S830), 하나 이상의 엑스트라 레벨 중 대상 레벨로 사용할 레벨을 선택하는 과정이 영상 복호화 장치에서 수행되어야 하므로, 이를 위해 부호화 제어수단은 대상 레벨 결정을 위한 별도의 신택스 요소(레벨 지정 신택스 요소)를 지정 신택스 요소에 추가한다(S840).On the other hand, if the default use syntax element does not indicate the use of the default level (S830), the process of selecting a level to use as the target level among one or more extra levels must be performed in the video decoding device, so for this purpose, the encoding control means is A separate syntax element (level designation syntax element) for determining the target level is added to the designation syntax element (S840).

디폴트 사용 신택스 요소와 레벨 지정 신택스 요소에 대한 일 예가 표 5에 표현되어 있다.An example of default usage syntax elements and level specification syntax elements is shown in Table 5.

tile_header( ) {tile_header( ) { DescriptorDescriptor tile_idxtile_idx default_tier_level_flag default_tier_level_flag if ( !default_tier_level_flag ) if ( !default_tier_level_flag ) extra_tier_level_set_id extra_tier_level_set_id }}

위 표 5에서, default_tier_level_flag는 플래그 형태로 구현된 디폴트 사용 신택스 요소를 나타내며, extra_tier_level_set_id는 레벨(티어) 지정 신택스 요소를 나타낸다. 이와 같은 과정들을 통해 결정된 정의 신택스 요소와 지정 신택스 요소는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다(S850).In Table 5 above, default_tier_level_flag represents a default usage syntax element implemented in the form of a flag, and extra_tier_level_set_id represents a level (tier) designation syntax element. The definition syntax elements and designated syntax elements determined through these processes are encoded by the encoder 150 and signaled to the video decoding device (S850).

표 5는 타일 그룹에 대한 일 예이며, 슬라이스, 타일 그룹, 슬라이스 세그먼트 각각에 해당하는 헤더에서도 디폴트 사용 신택스 요소 및/또는 레벨(티어) 지정 신택스 요소를 나타낼 수 있다.Table 5 is an example of a tile group, and the header corresponding to each slice, tile group, and slice segment may also indicate default usage syntax elements and/or level (tier) designation syntax elements.

도 9에 도시된 바와 같이, 복호화부(410)는 영상 부호화장치로부터 시그널링된 비트스트림에서 정의 신택스 요소와 지정 신택스 요소를 파싱하고, 이를 복호화한다(S910).As shown in FIG. 9, the decoder 410 parses the definition syntax elements and designated syntax elements from the bitstream signaled from the video encoding device and decodes them (S910).

복호화 제어수단은 정의 신택스 요소에 포함된 디폴트 정의 신택스 요소를 기초로 디폴트 레벨을 정의하며, 정의 신택스 요소에 포함된 엑스트라 정의 신택스 요소를 기초로 하나 이상의 엑스트라 레벨을 정의한다(S920).The decoding control means defines a default level based on a default definition syntax element included in the definition syntax element, and defines one or more extra levels based on an extra definition syntax element included in the definition syntax element (S920).

복호화 제어수단은 지정 신택스 요소에 포함된 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하지 여부를 판단하고(S930), 그 판단 결과를 기초로 디폴트 레벨 또는 엑스트라 레벨 중 어느 하나를 대상 레벨로 결정한다.The decoding control means determines whether the default use syntax element included in the designated syntax element indicates use of the default level (S930), and determines either the default level or the extra level as the target level based on the determination result. .

구체적으로, 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하는 경우, 복호화 제어수단은 미리 정의된 디폴트 레벨을 대상 레벨로 결정하고(S940), 대상 영역에 상기 대상 레벨(디폴트 레벨)을 설정한다(S970).Specifically, when the default use syntax element indicates the use of the default level, the decoding control means determines a predefined default level as the target level (S940) and sets the target level (default level) in the target area ( S970).

이와 달리, 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하지 않는 경우, 복호화 제어수단은 미리 정의된 엑스트라 레벨 중 레벨 지정 신택스 요소가 지시하는 레벨을 대상 레벨로 결정하며(S960), 대상 영역에 상기 대상 레벨(엑스트라 레벨 중 지시된 레벨)을 설정한다(S970). 여기서, 레벨 지정 신택스 요소는 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하지 않는 경우에 한하여 영상 부호화 장치로부터 시그널링된다.On the other hand, if the default use syntax element does not indicate the use of the default level, the decoding control means determines the level indicated by the level designation syntax element among predefined extra levels as the target level (S960), and places the level in the target area. Set the target level (indicated level among extra levels) (S970). Here, the level designation syntax element is signaled from the video encoding device only when the default use syntax element does not indicate use of the default level.

도 10 및 도 11은 영상 부호화 장치 및 영상 복호화 장치에서 구현되는 레벨 또는 티어의 정의에 대한 본 발명의 일 실시예를 설명하기 위한 순서도이다. 이하에서는, 도 10 및 도 11을 참조하여 레벨 또는 티어의 정의에 대한 본 발명의 일 실시예에 대해 설명하도록 한다.10 and 11 are flowcharts for explaining an embodiment of the present invention for defining levels or tiers implemented in a video encoding device and a video decoding device. Hereinafter, an embodiment of the present invention regarding the definition of a level or tier will be described with reference to FIGS. 10 and 11.

도 8 및 도 9를 통해 설명된 실시예는 디폴트 레벨과 엑스트라 레벨이 별도로 정의됨을 전제로 두 개의 레벨 중 어느 레벨을 대상 영역에 지정할 것인지에 대한 실시예에 해당하는 반면, 도 10 및 도 11을 통해 설명되는 실시예들은 엑스트라 레벨을 선택적으로 정의하는 실시예에 해당한다.While the embodiment described through FIGS. 8 and 9 corresponds to an embodiment of which of the two levels to designate to the target area on the premise that the default level and the extra level are defined separately, through FIGS. 10 and 11 The described embodiments correspond to embodiments that selectively define extra levels.

이 실시예에서, 정의 신택스 요소에는 디폴트 레벨을 정의하는 신택스 요소(디폴트 정의 신택스 요소)와 엑스트라 레벨의 정의 여부를 지시하는 추가 정의 신택스 요소가 포함될 수 있다. 디폴트 정의 신택스 요소와 추가 정의 신택스 요소에 대한 일 예가 아래 표 6에 표현되어 있다.In this embodiment, the definition syntax element may include a syntax element defining the default level (default definition syntax element) and an additional definition syntax element indicating whether an extra level is defined. An example of default definition syntax elements and additional definition syntax elements is represented in Table 6 below.

seq_parameter_set_rbsp( ) {seq_parameter_set_rbsp( ) { DescriptorDescriptor default_tier_flag default_tier_flag default_level_idc default_level_idc extra_tier_level_flag extra_tier_level_flag }}  

위 표 6에서, default_tier_flag와 default_level_flag 각각은 전술된 바와 동일하게 디폴트 티어의 값을 나타내는 신택스 요소와 디폴트 레벨의 값을 나타내는 신택스 요소에 해당한다. extra_tier_level_flag는 엑스트라 레벨의 정의 여부를 나타내는 추가 정의 신택스 요소에 해당한다.In Table 6 above, default_tier_flag and default_level_flag each correspond to a syntax element indicating the value of the default tier and a syntax element indicating the value of the default level, as described above. extra_tier_level_flag corresponds to an additional definition syntax element that indicates whether an extra level is defined.

도 10에 도시된 바와 같이, 부호화 제어수단은 디폴트 정의 신택스 요소를 이용하여 디폴트 레벨을 정의하고(S1010), 엑스트라 레벨의 정의 여부를 결정하기 위해 추가 정의 신택스 요소를 정의 신택스 요소에 더 포함시킨다(S1020).As shown in FIG. 10, the encoding control means defines the default level using the default definition syntax element (S1010), and further includes an additional definition syntax element in the definition syntax element to determine whether to define an extra level (S1010). S1020).

추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하는 경우(S1030), 부호화 제어수단은 엑스트라 정의 신택스 요소를 정의 신택스 요소에 더 포함시켜 하나 이상의 엑스트라 레벨을 정의한다(S1040). When the additional definition syntax element indicates the definition of an extra level (S1030), the encoding control means defines one or more extra levels by further including the extra definition syntax element in the definition syntax element (S1040).

이와 달리, 추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하지 않는 경우(S1030), 부호화 제어수단은 엑스트라 레벨을 추가적으로 정의하지 않는다. 즉, 부호화 제어수단은 엑스트라 정의 신택스 요소를 정의 신택스 요소에 포함시키지 않는다.In contrast, when the additional definition syntax element does not indicate the definition of an extra level (S1030), the encoding control means does not additionally define the extra level. That is, the encoding control means does not include extra definition syntax elements in definition syntax elements.

추가 정의 신택스 요소와 엑스트라 정의 신택스 요소에 대한 일 예가 아래 표 7에 표현되어 있다.An example of additional definition syntax elements and extra definition syntax elements is represented in Table 7 below.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp( ) { DescriptorDescriptor if ( extra_tier_level_flag ) { if (extra_tier_level_flag) { num_extra_tier_level_set_minus1num_extra_tier_level_set_minus1 for( i = 0; i <= num_extra_tier_level_set_minus1; i++ ) { for( i = 0; i <= num_extra_tier_level_set_minus1; i++ ) { extra_tier_level_set_id[ i ] extra_tier_level_set_id[i] extra_tier_flag[ i ] extra_tier_flag[ i ] extra_level_idc[ i ] extra_level_idc[ i ] } } } } }}  

표 7에 나타낸 바와 같이, 추가 정의 신택스 요소(extra_tier_level_flag)가 엑스트라 레벨 또는 티어의 정의를 지시하는 경우에 한하여, 엑스트라 레벨(extra_level_flag) 또는 엑스트라 티어(extra_tier_flag)가 추가적으로 정의된다.As shown in Table 7, an extra level (extra_level_flag) or an extra tier (extra_tier_flag) is additionally defined only when the additional definition syntax element (extra_tier_level_flag) indicates the definition of an extra level or tier.

표 7에는 추가로 정의될 레벨 또는 티어의 세트를 id 형태로 나타내는 일 예만이 표현되어 있으나, 실시형태에 따라, 추가로 정의될 레벨 또는 티어의 세트는 인덱스(idx) 형태(extra_tier_level_set_idx)로 나타낼 수 있다.Table 7 shows only an example of a set of additionally defined levels or tiers in the form of an id. However, depending on the embodiment, the set of levels or tiers to be additionally defined may be expressed in the form of an index (idx) (extra_tier_level_set_idx). there is.

표 7에는 추가 정의 신택스 요소가 플래그 형태로 구현되어 엑스트라 레벨의 정의 여부를 이분법적으로 지시하는 예가 표현되어 있으나, 실시형태에 따라 추가 정의 신택스 요소는 정의될 엑스트라 레벨의 개수(n, n은 0 이상의 정수)를 지시하는 정보 형태로 구현될 수도 있다.Table 7 shows an example where the additional definition syntax element is implemented in the form of a flag to dichotomously indicate whether or not an extra level is defined. However, depending on the embodiment, the additional definition syntax element is the number of extra levels to be defined (n, n is 0) It may also be implemented in the form of information indicating an integer or more.

추가 정의 신택스 요소가 엑스트라 레벨의 개수를 지시하는 실시예의 경우, 부호화 제어수단은 0개(n=0)를 지시하는 추가 정의 신택스 요소에 대해 엑스트라 레벨을 정의하지 않고, 1개 이상(n≥1)을 지시하는 추가 정의 신택스 요소에 대해 대응하는 개수(추가 정의 신택스 요소가 지시하는 개수)만큼의 엑스트라 레벨을 정의할 수 있다. In the case of an embodiment in which the additional definition syntax element indicates the number of extra levels, the encoding control means does not define the extra level for the additional definition syntax element indicating 0 (n = 0), but 1 or more (n ≥ 1) ), the number of extra levels corresponding to the additional definition syntax element indicating (the number indicated by the additional definition syntax element) can be defined.

전술된 과정들을 통해 결정된 정의 신택스 요소와 지정 신택스 요소는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다(S1050).The definition syntax elements and designated syntax elements determined through the above-described processes are encoded by the encoder 150 and signaled to the video decoding device (S1050).

도 11에 도시된 바와 같이, 복호화부(410)는 영상 부호화 장치로부터 시그널링된 비트스트림에서 정의 신택스 요소와 지정 신택스 요소를 파싱하고, 이를 복호화한다(S1110).As shown in FIG. 11, the decoder 410 parses the definition syntax elements and designated syntax elements from the bitstream signaled from the video encoding device and decodes them (S1110).

복호화 제어수단은 정의 신택스 요소에 포함된 디폴트 정의 신택스 요소를 기초로 디폴트 레벨을 정의하고(S1120), 정의 신택스 요소에 포함된 추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하는 지 판단한다(S1130).The decoding control means defines the default level based on the default definition syntax element included in the definition syntax element (S1120), and determines whether the additional definition syntax element included in the definition syntax element indicates the definition of an extra level (S1130). .

추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하는 경우, 복호화 제어수단은 엑스트라 정의 신택스 요소를 기초로 하나 이상의 엑스트라 레벨을 정의한다(S1140). 여기서, 엑스트라 정의 신택스 요소는 추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하는 경우에 한하여 영상 부호화 장치로부터 시그널링된다.When the additional definition syntax element indicates the definition of an extra level, the decoding control means defines one or more extra levels based on the extra definition syntax element (S1140). Here, the extra definition syntax element is signaled from the video encoding device only when the additional definition syntax element indicates the definition of the extra level.

추가 정의 신택스 요소가 엑스트라 레벨의 개수를 지시하는 형태로 구현된 경우, 복호화 제어수단은 추가 정의 신택스 요소가 지시하는 개수와 동일한 개수로 엑스트라 레벨을 정의하며, 디폴트 사용 신택스 요소의 지시에 따라 디폴트 레벨 또는 엑스트라 레벨 중 어느 하나를 대상 레벨로 이용하는 전술된 실시예가 수행될 수 있다.If the additional definition syntax element is implemented in a form that indicates the number of extra levels, the decoding control means defines the extra level in the same number as the number indicated by the additional definition syntax element, and sets the default level according to the instructions of the default usage syntax element. Alternatively, the above-described embodiment may be performed using any one of the extra levels as the target level.

이와 반대로, 추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하지 않는 경우, 복호화 제어수단은 (엑스트라 정의 신택스 요소가 시그널링되지 않으므로) 엑스트라 레벨에 대한 정의 없이 레벨 정의 과정을 종료하며, 디폴트 레벨의 사용 여부를 판단하는 전술된 과정 없이 디폴트 레벨을 대상 영역에 설정할 수 있다. 여기서, 디폴트 레벨은 대상 레벨에 해당한다.Conversely, if the additional definition syntax element does not indicate the definition of an extra level, the decoding control means terminates the level definition process without defining the extra level (since the extra definition syntax element is not signaled) and determines whether the default level is used. The default level can be set in the target area without the above-described process of determining . Here, the default level corresponds to the target level.

실시형태에 따라, 추가 정의 신택스 요소가 엑스트라 레벨의 정의를 지시하지 않아 엑스트라 레벨이 정의되지 않는 경우에도 디폴트 레벨의 사용 여부를 판단하는 전술된 과정이 수행될 수 있다. 예를 들어, 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하지 않는 경우, 부호화 제어수단은 대상 영역에 실제 적용된 레벨을 지정 신택스 요소에 포함하여 시그널링하며, 복호화 제어수단은 이 실제 적용된 레벨(시그널링된 실제 레벨, 적용 레벨)을 대상 레벨로하여 대상 영역에 설정할 수 있다.Depending on the embodiment, the above-described process of determining whether to use the default level may be performed even when the extra level is not defined because the additional definition syntax element does not indicate the definition of the extra level. For example, if the default use syntax element does not indicate the use of the default level, the encoding control means signals the level actually applied to the target area by including it in the designated syntax element, and the decoding control means signals this actually applied level (signaled It can be set in the target area using the actual level, applied level) as the target level.

대상 영역에 실제 적용된 레벨 즉, 적용 레벨을 대상 레벨로 결정하는 실시예는 추가 정의 신택스 요소에 대한 판단 없이 구현될 수 있다. 즉, 부호화 제어수단은 추가 정의 신택스 요소 없이 디폴트 정의 신택스 요소만을 시그널링하고, 복호화 제어수단은 시그널링된 디폴트 정의 신택스 요소를 기초로 디폴트 레벨을 정의한 후, 디폴트 사용 신택스 요소를 판단한다.An embodiment of determining the level actually applied to the target area, that is, the application level, as the target level can be implemented without determining additional definition syntax elements. That is, the encoding control means signals only the default definition syntax element without additional definition syntax elements, and the decoding control means defines the default level based on the signaled default definition syntax element and then determines the default use syntax element.

복호화 제어수단은 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하는 경우 미리 정의된 디폴트 레벨을 대상 영역에 설정하고, 디폴트 사용 신택스 요소가 디폴트 레벨의 사용을 지시하지 않는 경우 시그널링된 적용 레벨을 대상 영역에 설정할 수 있다. The decoding control means sets a predefined default level in the target area if the default use syntax element indicates use of the default level, and sets the signaled application level to the target area if the default use syntax element does not indicate use of the default level. It can be set to .

이와 같은 실시예에서 이용되는 신택스 요소들에 대한 일 예가 아래 표 8 및 표 9에 표현되어 있다.An example of syntax elements used in this embodiment is shown in Tables 8 and 9 below.

seq_parameter_set_rbsp( ) {seq_parameter_set_rbsp( ) { DescriptorDescriptor default_tier_flag default_tier_flag default_level_idc default_level_idc }}  

표 8에 표현된 바와 같이, 디폴트 정의 신택스 요소(default_tier_flag, default_level_idc)를 이용하여 디폴트 레벨 및/또는 디폴트 티어가 정의될 수 있다.As expressed in Table 8, the default level and/or default tier may be defined using default definition syntax elements (default_tier_flag, default_level_idc).

tile_header( ) {tile_header( ) { DescriptorDescriptor tile_idxtile_idx default_tier_level_flag default_tier_level_flag if ( !default_tier_level_flag ) { if (!default_tier_level_flag) { tier_flag tier_flag level_idc level_idc } } }}

표 9에 표현된 바와 같이, 디폴트 레벨 및/또는 티어의 사용 여부가 디폴트 사용 신택스 요소(default_tier_level_flag)에 의해 결정될 수 있다. 디폴트 사용 신택스 요소가 디폴트 레벨 및/또는 티어의 사용을 지시하는 경우, 미리 정의된 디폴트 레벨 및/또는 디폴트 티어가 대상 영역에 설정될 수 있다. 이와 달리, 디폴트 사용 신택스 요소가 디폴트 레벨 및/또는 티어의 사용을 지시하지 않는 경우, 레벨 및/또는 티어의 설정을 위해 적용 레벨(level_idc) 및/또는 적용 티어(tier_flag)가 대상 영역에 설정될 수 있다.As expressed in Table 9, whether to use the default level and/or tier may be determined by the default use syntax element (default_tier_level_flag). If the default use syntax element indicates the use of a default level and/or tier, a predefined default level and/or default tier may be set in the target area. Alternatively, if the default usage syntax element does not indicate the use of a default level and/or tier, the application level (level_idc) and/or application tier (tier_flag) may be set in the target area for setting the level and/or tier. You can.

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

410: 복호화부 420: 역양자화부
430: 역변환부 440: 예측부
442: 인트라 예측부 444: 인터 예측부
450: 가산기 460: 필터
410: Decryption unit 420: Inverse quantization unit
430: Inverse transformation unit 440: Prediction unit
442: Intra prediction unit 444: Inter prediction unit
450: adder 460: filter

Claims (8)

비디오 시퀀스에 포함된 픽처들 각각으로부터 분할된 복수의 영역 각각에 대한 레벨(level) 정보를 비트스트림의 SEI(supplemental enhancement information) 메시지로부터 복호화하기 위한 장치에 있어서,
상기 레벨 정보는 상기 장치가 처리할 수 있는 최대 해상도를 포함하여 상기 장치의 복호화 능력의 레벨을 정의하기 위한 정보이고,
상기 장치는 적어도 하나의 프로세서를 포함하고,
상기 프로세서는,
적어도 하나의 디폴트(default) 레벨을 정의하기 위한 디폴트 레벨 정보를 복호화하고,
추가 정보(extra information)가 정의되는지 여부를 지시하는 제1 플래그를 복호화하되, 상기 추가 정보는 상기 디폴트 레벨 정보와 관련되고 상기 영역에 대응하는 레벨을 설정하기 위해 사용되고,
상기 제1 플래그에 따라 상기 추가 정보를 복호화하고,
상기 디폴트 레벨 정보와 상기 추가 정보를 사용하여 상기 영역에 대응하는 레벨을 설정하는 것을 특징으로 하는, 장치.
In an apparatus for decoding level information for each of a plurality of regions divided from each of the pictures included in a video sequence from a supplemental enhancement information (SEI) message of a bitstream,
The level information is information for defining the level of decoding ability of the device, including the maximum resolution that the device can process,
The device includes at least one processor,
The processor,
Decrypt the default level information to define at least one default level,
Decode a first flag indicating whether extra information is defined, wherein the extra information is related to the default level information and is used to set a level corresponding to the area,
Decrypt the additional information according to the first flag,
Characterized in that setting a level corresponding to the area using the default level information and the additional information.
제1항에 있어서,
상기 디폴트 레벨 정보는 상기 비디오 시퀀스에 포함된 픽처들에 적용 가능한 적어도 하나의 디폴트 레벨을 나타내고,
상기 추가 정보는 상기 영역에 적용 가능한 추가 레벨들의 개수를 나타내기 위한 개수 정보, 및 상기 추가 레벨들의 개수만큼의 추가 레벨 신택스 요소를 포함하되, 상기 추가 레벨 신택스 요소들은 각각 추가 레벨을 나타내는 것을 특징으로 하는, 장치.
According to paragraph 1,
The default level information indicates at least one default level applicable to pictures included in the video sequence,
The additional information includes number information for indicating the number of additional levels applicable to the area, and additional level syntax elements equal to the number of additional levels, wherein the additional level syntax elements each represent an additional level. device to do.
제2항에 있어서,
상기 프로세서는,
상기 영역과 관련된 신택스 요소들이 포함되는 헤더로부터 상기 적어도 하나의 디폴트 레벨과 상기 추가 레벨들 중 하나를 선택하기 위한 하나 이상의 지정 신택스 요소들을 복호화하고,
상기 하나 이상의 지정 신택스 요소들을 이용하여 상기 적어도 하나의 디폴트 레벨과 상기 추가 레벨들 중에서 상기 영역에 대응하는 레벨을 설정하는 것을 특징으로 하는, 장치.
According to paragraph 2,
The processor,
Decode one or more specified syntax elements for selecting one of the at least one default level and the additional levels from a header containing syntax elements related to the region,
The device is characterized in that, setting a level corresponding to the region among the at least one default level and the additional levels using the one or more specified syntax elements.
제3항에 있어서,
상기 하나 이상의 지정 신택스 요소들은,
상기 적어도 하나의 디폴트 레벨이 상기 영역에 적용되는지 여부를 지시하기 위한 제2 플래그, 및
상기 적어도 하나의 디폴트 레벨이 적용되지 않음이 상기 제2 플래그에 의해 지시될 때 복호화되고 상기 추가 레벨들 중 하나를 지시하는 지시자
를 포함하는 것을 특징으로 하는, 장치.
According to paragraph 3,
The one or more specified syntax elements include:
a second flag to indicate whether the at least one default level applies to the area, and
An indicator that is decrypted when it is indicated by the second flag that the at least one default level does not apply and indicates one of the additional levels
A device comprising:
제4항에 있어서,
상기 프로세서는,
상기 제2 플래그가 상기 적어도 하나의 디폴트 레벨이 적용되지 않음을 지시할 때, 상기 추가 레벨들 중 상기 지시자에 의해 지시되는 추가 레벨을 상기 영역에 대응하는 레벨로 설정하고,
상기 제2 플래그가 상기 적어도 하나의 디폴트 레벨이 적용됨을 지시할 때, 상기 적어도 하나의 디폴트 레벨을 상기 영역에 대응하는 레벨로 설정하는 것을 특징으로 하는, 장치.
According to paragraph 4,
The processor,
When the second flag indicates that the at least one default level is not applied, set the additional level indicated by the indicator among the additional levels to the level corresponding to the area,
When the second flag indicates that the at least one default level is applied, the device sets the at least one default level to a level corresponding to the area.
제2항에 있어서,
싱기 디폴트 레벨 정보는 상기 비디오 시퀀스의 헤더로부터 복호화되고, 상기 추가 정보는 픽처 레벨의 헤더로부터 복호화되는 것을 특징으로 하는 장치.
According to paragraph 2,
The device is characterized in that the default level information is decoded from the header of the video sequence, and the additional information is decoded from the header of the picture level.
비디오 시퀀스에 포함된 픽처들 각각으로부터 분할된 복수의 영역 각각에 대한 레벨(level) 정보를 비트스트림의 SEI(supplemental enhancement information) 메시지 내에 부호화하기 위한 영상 부호화 장치에 있어서,
상기 레벨 정보는 영상 복호화 장치가 처리할 수 있는 최대 해상도를 포함하여 상기 영상 복호화 장치의 복호화 능력의 레벨을 정의하기 위한 정보이고,
상기 영상 부호화 장치는 적어도 하나의 프로세서를 포함하고,
상기 프로세서는,
적어도 하나의 디폴트(default) 레벨을 정의하기 위한 디폴트 레벨 정보를 부호화하고,
추가 정보(extra information)가 정의되는지 여부를 지시하는 제1 플래그를 부호화하되, 상기 추가 정보는 상기 디폴트 레벨 정보와 관련되고 상기 영역에 대응하는 레벨을 설정하기 위해 사용되고,
상기 제1 플래그에 따라, 상기 영상 복호화 장치가 상기 디폴트 레벨 정보와 상기 추가 정보를 사용하여 상기 영역에 대응하는 레벨을 설정하도록, 상기 추가 정보를 부호화하는 것을 특징으로 하는, 영상 부호화 장치.
In a video encoding device for encoding level information for each of a plurality of regions divided from each of the pictures included in a video sequence into an SEI (supplemental enhancement information) message of a bitstream,
The level information is information for defining the level of decoding ability of the video decoding device, including the maximum resolution that the video decoding device can process,
The video encoding device includes at least one processor,
The processor,
Encode default level information to define at least one default level,
Encoding a first flag indicating whether extra information is defined, wherein the extra information is related to the default level information and is used to set a level corresponding to the area,
According to the first flag, the video decoding device encodes the additional information so that the video decoding device sets a level corresponding to the region using the default level information and the additional information.
비디오 시퀀스에 포함된 픽처들 각각으로부터 분할된 복수의 영역 각각에 대한 레벨(level) 정보를 포함하는 비트스트림을 저장하기 위한 방법에 있어서,
상기 레벨 정보는 영상 복호화 장치가 처리할 수 있는 최대 해상도를 포함하여 상기 영상 복호화 장치의 복호화 능력의 레벨을 정의하기 위한 정보이고,
상기 방법은,
상기 레벨 정보를 SEI (supplemental enhancement information) 내에 부호화함으로써 상기 비트스트림을 생성하는 단계; 및
상기 비트스트림을 비일시적 기록 매체에 저장하는 단계를 포함하고,
상기 레벨 정보를 부호화하는 것은,
추가 정보(extra information)가 정의되는지 여부를 지시하는 제1 플래그, 및 적어도 하나의 디폴트(default) 레벨을 정의하기 위한 디폴트 레벨 정보를 부호화하는 단계, 상기 추가 정보는 상기 디폴트 레벨 정보와 관련되고 상기 영역에 대응하는 레벨을 설정하기 위해 사용됨; 및
상기 제1 플래그에 따라, 상기 영상 복호화 장치가 상기 디폴트 레벨 정보와 상기 추가 정보를 사용하여 상기 영역에 대응하는 레벨을 설정하도록, 상기 추가 정보를 부호화하는 단계
를 포함하는 것을 특징으로 하는 방법.
In a method for storing a bitstream containing level information for each of a plurality of regions divided from each of the pictures included in a video sequence,
The level information is information for defining the level of decoding ability of the video decoding device, including the maximum resolution that the video decoding device can process,
The above method is,
generating the bitstream by encoding the level information into supplemental enhancement information (SEI); and
comprising storing the bitstream in a non-transitory recording medium,
Encoding the level information is,
A first flag indicating whether extra information is defined, and encoding default level information to define at least one default level, the additional information being related to the default level information and Used to set the level corresponding to the area; and
Encoding the additional information so that the video decoding device sets a level corresponding to the region using the default level information and the additional information according to the first flag.
A method comprising:
KR1020230147491A 2018-04-10 2023-10-31 Level setting method and apparatus using the same KR20230156005A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20180041702 2018-04-10
KR1020180041702 2018-04-10
KR1020190041006A KR102648468B1 (en) 2018-04-10 2019-04-08 Level setting method and apparatus using the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190041006A Division KR102648468B1 (en) 2018-04-09 2019-04-08 Level setting method and apparatus using the same

Publications (1)

Publication Number Publication Date
KR20230156005A true KR20230156005A (en) 2023-11-13

Family

ID=88742410

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020230147492A KR20230155386A (en) 2018-04-10 2023-10-31 Level setting method and apparatus using the same
KR1020230147493A KR20230155387A (en) 2018-04-10 2023-10-31 Level setting method and apparatus using the same
KR1020230147491A KR20230156005A (en) 2018-04-10 2023-10-31 Level setting method and apparatus using the same

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020230147492A KR20230155386A (en) 2018-04-10 2023-10-31 Level setting method and apparatus using the same
KR1020230147493A KR20230155387A (en) 2018-04-10 2023-10-31 Level setting method and apparatus using the same

Country Status (1)

Country Link
KR (3) KR20230155386A (en)

Also Published As

Publication number Publication date
KR20230155387A (en) 2023-11-10
KR20230155386A (en) 2023-11-10

Similar Documents

Publication Publication Date Title
US11368722B2 (en) Method and device for encoding or decoding video
US11509937B2 (en) Method and apparatus for encoding/decoding video
KR20140131902A (en) Encoding method and apparatus, and decoding method and apparatus of image
US11812061B2 (en) Method and device for encoding or decoding video
US11671584B2 (en) Inter-prediction method and video decoding apparatus using the same
US20230134711A1 (en) Bidirectional prediction method and video decoding apparatus
KR20230133829A (en) Prediction method and apparatus using the current picture referencing mode
US11425391B2 (en) Inter-prediction method and image decoding device
KR20210035036A (en) Method and apparatus for deriving temporal motion vector predictor
KR102648468B1 (en) Level setting method and apparatus using the same
KR20230156005A (en) Level setting method and apparatus using the same
US11902590B2 (en) Method and apparatus for encoding/decoding video
KR20200040168A (en) Method for determining motion information and apparatus using the same
US11962764B2 (en) Inter-prediction method and video decoding apparatus using the same
US20240137568A1 (en) Method and apparatus for encoding/decoding video
US20230262213A1 (en) Inter-prediction method and video decoding apparatus using the same
US11240535B2 (en) Method and device for filtering image in image coding system
KR20240037834A (en) Method and Apparatus for Video Coding Using Single Tree and Dual Tree Adaptively in Single Block
KR20200081186A (en) Method for deriving motion vector of temporal candidate and apparatus using the same
KR20210043436A (en) Method and apparatus for constructing reference picture list
KR20220118351A (en) Method for generating prediction block using weighted sum of intra prediction signal and inter prediction signal and apparatus using the same
KR20210075844A (en) Method and apparatus for deriving location of chroma sample
KR20230160171A (en) Method And Apparatus for Video Coding Using Fusion Cross-component Prediction
KR20200110138A (en) Method and apparatus for deriving motion information using shared candidate list

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal