KR20190118125A - Method for providing picture splitting information for parallel or distributed processing and apparatus using the same - Google Patents

Method for providing picture splitting information for parallel or distributed processing and apparatus using the same Download PDF

Info

Publication number
KR20190118125A
KR20190118125A KR1020190040156A KR20190040156A KR20190118125A KR 20190118125 A KR20190118125 A KR 20190118125A KR 1020190040156 A KR1020190040156 A KR 1020190040156A KR 20190040156 A KR20190040156 A KR 20190040156A KR 20190118125 A KR20190118125 A KR 20190118125A
Authority
KR
South Korea
Prior art keywords
tile
tiles
picture
divided
information
Prior art date
Application number
KR1020190040156A
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
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to PCT/KR2019/004213 priority Critical patent/WO2019199025A1/en
Priority to US17/046,422 priority patent/US11509937B2/en
Priority to CN201980038439.4A priority patent/CN112292855B/en
Publication of KR20190118125A publication Critical patent/KR20190118125A/en
Priority to US17/803,671 priority patent/US11994345B2/en
Priority to US17/969,934 priority patent/US11792436B2/en
Priority to US17/969,912 priority patent/US11778238B2/en
Priority to US17/969,946 priority patent/US11778239B2/en
Priority to US17/969,898 priority patent/US11902590B2/en
Priority to US18/402,150 priority patent/US20240137568A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

The present disclosure discloses a method for providing picture splitting information for parallel or distributed processing and an apparatus using the same. According to an aspect of the present embodiment, a method of constructing one picture includes a step of determining whether to divide the one picture into a plurality of tiles; a step of dividing the one picture into a plurality of tiles according to the determination, a step of storing information about the divided tile in a PPS, and a step of storing the tile id of the divided tile in each tile header. The information on the divided tile includes information on whether the one picture is divided into a plurality of tiles, and whether all the divided tiles are independent of other divided tiles.

Description

병렬 또는 분산 처리를 위한 화면 분할 정보를 제공하는 방법 및 이를 이용한 장치{METHOD FOR PROVIDING PICTURE SPLITTING INFORMATION FOR PARALLEL OR DISTRIBUTED PROCESSING AND APPARATUS USING THE SAME}TECHNICAL FIELD FOR PROVIDING PICTURE SPLITTING INFORMATION FOR PARALLEL OR DISTRIBUTED PROCESSING AND APPARATUS USING THE SAME}

본 발명은 병렬 또는 분산 처리를 위한 화면 분할 정보를 제공하는 방법 및 이를 이용한 장치에 관한 것이다. The present invention relates to a method for providing screen division information for parallel or distributed processing and an apparatus using the same.

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

스마트폰, 태블릿 PC 등 모바일 기기 및 디지털 TV 등의 화면 해상도가 증가하고 디스플레이 장치도 점차 커지고 있다. 이를 지원하기 위해서는 고화질의 동영상을 빠르게 전송하여야 한다. 다행히 통신의 속도가 빨라지고 있으며, 고화질의 동영상을 제공하기 위한 영상 압축 기술들도 개발되고 있다. 또한, 고화질의 동영상을 서비스하기 위해 영상의 압축과 복원에 이용하기 위한 병렬화 기술도 개발되고 있다. 병렬화 기술은 다수의 프로세서를 동시에 사용함으로써, 많은 연산량을 한꺼번에 처리할 수 있게 해 준다. 다만, 동시에 병렬 처리해야 할 데이터가 서로 영향을 미치지 않아야 한다.Screen resolutions of mobile devices such as smartphones and tablet PCs and digital TVs are increasing, and display devices are gradually increasing. To support this, high quality video must be transmitted quickly. Fortunately, the speed of communication is increasing, and video compression technologies are being developed to provide high quality video. In addition, parallelization techniques have been developed for use in compression and decompression of images in order to service high quality moving images. Parallelism technology allows the use of multiple processors at the same time, allowing a large amount of computation to be processed at once. However, data to be processed in parallel should not affect each other.

영상은 복수의 픽처들로 구성되고, 각각의 픽처는 복수의 슬라이스 또는 타일로 분할되어 압축된다. 분할된 슬라이스/타일이 독립성이 있는지가 영상의 압축 및 복원의 병렬화에 영향을 미친다. 즉, 분할된 슬라이스/타일이 독립성이 있다면 영상의 압축 및 복원을 병렬로 처리할 수 있으나, 분할된 슬라이스/타일이 의존성이 있다면 영향을 미치는 슬라이스/타일을 먼저 처리한 후, 영향을 받는 슬라이스/타일을 처리해야 해 병렬로 처리하기에 어려움이 있다. An image is composed of a plurality of pictures, and each picture is divided into a plurality of slices or tiles and compressed. The independence of the split slices / tiles affects the parallelism of compression and reconstruction of the image. In other words, if the slice / tile is independent, compression and reconstruction of the image can be processed in parallel. If the slice / tile is dependent, the affected slice / tile is processed first, and then the affected slice / tile is processed. The tiles need to be processed, which makes it difficult to process them in parallel.

본 실시예는, 분할된 픽처를 병렬 또는 분산 처리할 수 있도록 픽처 분할 정보를 제공하는 방법에 주된 목적이 있다.The present embodiment has a main purpose in a method for providing picture segmentation information so that divided pictures can be processed in parallel or in a distributed manner.

본 실시예의 일 측면에 의하면, 하나의 픽처를 구성하는 방법은, 상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하는 단계, 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 단계, 상기 분할된 타일에 대한 정보를 포함하는 PPS를 생성하는 단계, 및 상기 분할된 타일의 타일 id를 포함하는 각각의 타일 헤더를 생성하는 단계로 구성되며, 상기 분할된 타일에 대한 정보는 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부, 및 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부에 대한 정보를 포함함을 특징으로 한다.According to an aspect of the present embodiment, a method of constructing a picture includes: determining whether to divide the single picture into a plurality of tiles, and splitting the single picture into a plurality of tiles according to the determination. Generating a PPS including information about the divided tile, and generating each tile header including a tile id of the divided tile, wherein the information about the divided tile is And information on whether one picture is divided into a plurality of tiles, and whether all the divided tiles are independent of other divided tiles.

본 실시예의 다른 측면에 의하면, 하나의 픽처를 구성하는 방법은, 상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하는 단계, 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 단계, 및 상기 분할된 타일에 대한 정보를 포함하는 상기 분할된 타일 각각의 타일 헤더를 생성하는 단계로 구성되며, 상기 분할된 타일에 대한 정보는 상기 분할된 타일을 구성하는 좌상측 CTU id, 상기 분할된 타일을 구성하는 우상측 CTU id, 상기 분할된 타일에 의존성이 있는지 여부, 상기 분할된 타일에 의존성이 있다면 주변 타일과의 관계를 지시하는 정보를 포함함을 특징으로 한다.According to another aspect of the present embodiment, a method of constructing a picture includes: determining whether to divide the single picture into a plurality of tiles, and splitting the single picture into a plurality of tiles according to the determination. And generating a tile header of each of the divided tiles including information about the divided tiles, wherein the information about the divided tiles includes the upper left CTU id constituting the divided tiles, the And a right upper side CTU id constituting the divided tile, whether there is a dependency on the divided tile, and if the dependent tile is dependent, information indicating a relationship with a neighboring tile.

본 실시예의 다른 측면에 의하면, 하나의 픽처를 구성하는 영상 부호화 장치는, 상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하고, 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 블록 분할부, 및 상기 분할된 타일에 대한 정보를 포함하는 PPS를 생성하고, 상기 분할된 타일의 타일 id를 포함하는 각각의 타일 헤더를 생성하여 부호화하는 부호화부를 포함하고, 상기 분할된 타일에 대한 정보는 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부, 및 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부에 대한 정보를 포함함을 특징으로 한다.According to another aspect of the present embodiment, the image encoding apparatus configuring one picture determines whether to divide the single picture into a plurality of tiles, and divides the single picture into a plurality of tiles according to the determination. A block division unit for generating a PPS including information about the divided tiles, and an encoding unit for generating and encoding each tile header including tile IDs of the divided tiles; The information may include information on whether the single picture is divided into a plurality of tiles, and whether all the divided tiles are independent of other divided tiles.

본 실시예의 다른 측면에 의하면, 하나의 픽처를 구성하는 영상 부호화 장치는, 상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하고, 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 블록 분할부, 및 상기 분할된 타일에 대한 정보를 포함하는 상기 분할된 타일 각각의 타일 헤더를 생성하여 부호화하는 부호화부를 포함하고, 상기 분할된 타일에 대한 정보는 상기 분할된 타일을 구성하는 좌상측 CTU id, 상기 분할된 타일을 구성하는 우상측 CTU id, 상기 분할된 타일에 의존성이 있는지 여부, 상기 분할된 타일에 의존성이 있다면 주변 타일과의 관계를 지시하는 정보를 포함함을 특징으로 한다.According to another aspect of the present embodiment, the image encoding apparatus configuring one picture determines whether to divide the single picture into a plurality of tiles, and divides the single picture into a plurality of tiles according to the determination. A block dividing unit and an encoding unit generating and encoding a tile header of each of the divided tiles including information about the divided tiles, wherein the information on the divided tiles includes an upper left of the divided tiles. And a side CTU id, an upper right CTU id constituting the divided tile, information indicating whether there is a dependency on the divided tile, and information indicating a relationship with neighboring tiles if the partitioned tile is dependent. .

이상에서 설명한 바와 같이 본 실시예에 의하면, 분할된 픽처를 병렬 또는 분산 처리할 수 있어 부호화 및 복호화를 빠르게 할 수 있다.As described above, according to the present embodiment, the divided picture can be processed in parallel or distributed, so that encoding and decoding can be speeded up.

도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBT 구조를 이용한 블록 분할의 예시도이다.
도 3은 복수의 인트라 예측 모드들에 대한 예시도이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5는 하나의 픽처를 구성하고 있는 슬라이스의 일 예를 나타낸 도면이다.
도 6은 하나의 픽처를 구성하고 있는 타일의 일 예를 나타낸 도면이다.
도 7은 하나의 픽처에 포함된 MCTS의 일 예를 나타낸 도면이다.
도 8은 본 개시의 일 실시예에 따라 하나의 픽처를 구성하고 있는 타일을 나타낸 도면이다.
도 9는 본 개시의 제1 및 제2 실시예를 설명하기 위한 픽처의 일 예를 나타낸 도면이다.
도 10은 본 개시의 제1 및 제2 실시예를 설명하기 위한 픽처의 다른 일 예를 나타낸 도면이다.
도 11은 본 개시의 제3 실시예를 설명하기 위한 픽처의 일 예를 나타낸 도면이다.
도 12는 본 개시의 제5 실시예를 설명하기 위한 픽처의 일 예를 나타낸 도면이다.
도 13은 영상 부호화 장치가 본 개시에 따른 하나의 픽처를 구성하는 방법의 순서도를 나타낸 도면이다.
도 14는 영상 복호화 장치가 본 개시에 따라 하나로 구성된 픽처를 판단하는 순서도를 나타낸 도면이다.
1 is an exemplary block diagram of an image encoding apparatus that may implement techniques of this disclosure.
2 is an exemplary diagram of block division using a QTBT structure.
3 is an exemplary diagram for a plurality of intra prediction modes.
4 is an exemplary block diagram of an image decoding apparatus that may implement techniques of this disclosure.
5 is a diagram illustrating an example of a slice constituting one picture.
6 is a diagram illustrating an example of tiles constituting one picture.
7 is a diagram illustrating an example of an MCTS included in one picture.
8 is a diagram illustrating tiles constituting one picture according to one embodiment of the present disclosure.
9 is a diagram illustrating an example of a picture for describing the first and second embodiments of the present disclosure.
10 is a diagram illustrating another example of a picture for describing the first and second embodiments of the present disclosure.
11 is a diagram illustrating an example of a picture for describing a third embodiment of the present disclosure.
12 is a diagram illustrating an example of a picture for describing a fifth embodiment of the present disclosure.
FIG. 13 is a flowchart of a method of configuring, by a video encoding apparatus, one picture according to the present disclosure. FIG.
FIG. 14 is a flowchart of a picture decoding apparatus determining a single picture according to the present disclosure.

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

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. Throughout the specification, when a part is said to include, 'include' a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated. . In addition, as described in the specification. The terms 'unit' and 'module' refer to a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.1 is an exemplary block diagram of an image encoding apparatus that may implement techniques of this disclosure.

영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함한다. 영상 부호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 하나 이상의 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.The image encoding apparatus may include a block divider 110, a predictor 120, a subtractor 130, a transformer 140, a quantizer 145, an encoder 150, an inverse quantizer 160, and an inverse transform unit ( 165, an adder 170, a filter unit 180, and a memory 190. The image encoding apparatus may be implemented as a hardware chip, or each component may be implemented in software and one or more microprocessors may be implemented to execute a function of software corresponding to each component.

하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile)로 분할된다. 여기서, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 타일은 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 타일 내의 모든 블록들에 공통적으로 적용되는 정보는 타일의 신택스로서 부호화되거나 다수 개의 타일을 모아 놓은 타일 그룹의 신택스로서 부호화되며, 하나의 픽처들을 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다.One image (video) is composed of a plurality of pictures. Each picture is divided into a plurality of regions, and encoding is performed for each region. For example, one picture is divided into one or more tiles. Here, one or more tiles may be defined as a tile group. Each tile is divided into one or more coding tree units (CTUs). Each CTU is divided into one or more coding units (CUs) by a tree structure. Information applied to each CU is encoded as the syntax of the CU, and information commonly applied to the CUs included in one CTU is encoded as the syntax of the CTU. In addition, information commonly applied to all blocks in one tile is encoded as a syntax of a tile or as a syntax of a tile group in which a plurality of tiles are collected. Information applied to all blocks constituting one picture is It is encoded in a picture parameter set (PPS) or picture header. Furthermore, information commonly referred to by a plurality of pictures is encoded in a sequence parameter set (SPS). Information commonly referred to by one or more SPSs is encoded in a video parameter set (VPS).

블록 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS 의 신택스로서 부호화되어 영상 복호화 장치로 전달된다. 블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 결정된 크기의 복수의 CTU(Coding Tree Unit)로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다. 트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율로 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 하나 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다.The block divider 110 determines the size of a coding tree unit (CTU). Information on the size of the CTU (CTU size) is encoded as a syntax of the SPS or PPS and transmitted to the image decoding apparatus. After dividing each picture constituting an image into a plurality of coding tree units (CTUs) having a predetermined size, the block dividing unit 110 recursively divides the CTUs using a tree structure. Divide. A leaf node in the tree structure becomes a CU (coding unit) which is a basic unit of coding. The tree structure is QuadTree (QT) in which the parent node (or parent node) is divided into four child nodes (or child nodes) of the same size, or BinaryTree in which the parent node is divided into two child nodes. , BT), or a ternary tree (TT) in which a parent node is divided into three child nodes at a 1: 2: 1 ratio, or a mixture of one or more of these QT structures, BT structures, and TT structures. have. For example, a QuadTree plus BinaryTree (QTBT) structure may be used, or a QuadTree plus BinaryTree TernaryTree (QTBTTT) structure may be used.

도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.2 shows a QTBTTT split tree structure. As shown in FIG. 2, the CTU may first be divided into a QT structure. Quadtree splitting may be repeated until the size of the splitting block reaches the minimum block size (MinQTSize) of the leaf nodes allowed in QT. The first flag QT_split_flag indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the encoder 150 and signaled to the image decoding apparatus.

QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할하는 방향과 세로로 분할하는 방향 두 가지가 존재할 수 있다. 도 2와 같이, BTTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(BTTT_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.If the leaf node of the QT is not larger than the maximum block size (MaxBTSize) of the root node allowed in BT, it may be further divided into one or more of the BT structure or the TT structure. There may be a plurality of split directions in the BT structure and / or the TT structure. For example, there may be two directions in which the block of the node splits horizontally and splits vertically. As shown in FIG. 2, when the BTTT segmentation starts, a second flag (BTTT_split_flag) indicating whether or not the nodes are partitioned, a flag indicating a partition direction (vertical or horizontal) and / or a partition type (Binary or Ternary) if the partition is split ) Is encoded by the encoder 150 and signaled to the image decoding apparatus.

트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다.When QTBT is used as another example of the tree structure, two types of horizontally splitting blocks of the node into two blocks of the same size (ie, symmetric horizontal splitting) and two types of vertically splitting (ie, symmetric vertical splitting) There may be branches. A split flag (split_flag) indicating whether each node of the BT structure is divided into blocks of a lower layer and split type information indicating a split type are encoded by the encoder 150 and transmitted to the image decoding apparatus. Meanwhile, there may further be a type in which blocks of the corresponding node are further divided into two blocks having an asymmetric shape. The asymmetrical form may include dividing a block of the node into two rectangular blocks having a size ratio of 1: 3, or dividing the block of the node in a diagonal direction.

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

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

일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 일반적으로 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.In general, current blocks within a picture may each be predictively coded. Prediction of the current block is generally performed using an intra prediction technique (using data from a picture containing the current block) or an inter prediction technique (using data from a picture coded before a picture containing the current block). Can be performed. Inter prediction includes both unidirectional prediction and bidirectional prediction.

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

인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.The intra predictor 122 may determine an intra prediction mode to use to encode the current block. In some examples, intra prediction unit 122 may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, intra predictor 122 calculates rate distortion values using rate-distortion analysis for several tested intra prediction modes, and has the best rate distortion characteristics among the tested modes. Intra prediction mode may be selected.

인트라 예측부(122)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.The intra prediction unit 122 selects one intra prediction mode from among the plurality of intra prediction modes, and predicts the current block by using a neighboring pixel (reference pixel) and an operation formula 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 image decoding apparatus.

인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.The inter prediction unit 124 generates a prediction block for the current block through a motion compensation process. The block most similar to the current block is searched in the coded and decoded reference picture before the current picture, and a predicted block for the current block is generated using the searched block. A motion vector corresponding to a displacement between the current block in the current picture and the prediction block in the reference picture is generated. In general, motion estimation is performed on a luma component, and a motion vector calculated based on the luma component is used for both the luma component and the chroma component. The motion information including the information about the reference picture and the motion vector used to predict the current block is encoded by the encoder 150 and transmitted to the image decoding apparatus.

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

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

양자화부(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(Context-based Adaptive Binary Arithmetic Code) 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 부호화부(150)는 블록 분할과 관련된 CTU size, QT 분할 플래그, BT 분할 플래그, 분할 방향, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.The encoder 150 generates a bitstream by encoding the quantized transform coefficients using a coding scheme such as CABAC (Context-based Adaptive Binary Arithmetic Code). The encoder 150 encodes information such as a CTU size, a QT split flag, a BT split flag, a split direction, and a split type related to block division, so that the image decoding apparatus may split the block in the same manner as the image encoding apparatus. .

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

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

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

필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.The filter unit 180 filters the reconstructed pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, and the like caused by block-based prediction and transformation / quantization. Do this. The filter unit 180 may include a deblocking filter 182 and a sample adaptive offset (SAO) filter 184.

디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.The deblocking filter 180 filters the boundaries between the reconstructed blocks to remove blocking artifacts caused by block-by-block encoding / decoding, and the SAO filter 184 adds an additional block to the deblocking filtered image. Perform filtering. The SAO filter 184 is a filter used to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy coding.

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

도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.4 is an exemplary block diagram of an image decoding apparatus that may implement techniques of this disclosure.

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

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

복호화부(410)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조를 이용하여 분할한다. 예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BTTT의 분할과 관련된 제2 플래그(BTTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 BTTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.The decoder 410 extracts information on the CTU size from a Sequence Parameter Set (SPS) or Picture Parameter Set (PPS) to determine the size of the CTU, and divides the picture into a CTU of the determined size. The CTU is determined as the highest layer of the tree structure, that is, the root node, and the CTU is partitioned using the tree structure by extracting partition information about the CTU. For example, when splitting a CTU using the QTBTTT structure, first, a first flag (QT_split_flag) related to splitting of QT is extracted, and each node is divided into four nodes of a lower layer. For the node corresponding to the leaf node of the QT, the second flag BTTT_split_flag and the split direction (vertical / horizontal) and / or split type (binary / ternary) information related to the splitting of the BTTT are extracted and the corresponding leaf node is BTTT. Split into structures. Through this, each node below the leaf node of the QT is recursively divided into BT or TT structures.

또 다른 예로서, QTBTTT 구조를 사용하여 블록을 분할하는 경우, 먼저 분할 여부에 대한 정보(예를 들어, 플래그)를 추출하고, 해당 블록이 분할된 경우 분할 타입 정보를 추출한다. 분할 타입이 QT인 경우, 각 노드를 하위 레이어에 해당하는 네 개의 노드들로 분할한다. 분할 타입이 QT 분할의 리프 노드(QT 분할이 더 이상 발생하지 않는 노드) 타입 즉, BT 또는 TT로 분할되었음을 나타내는 경우, 추가적으로 분할 방향에 대한 정보 및 BT 구조인지 TT 구조인지를 구별하는 분할 타입 정보를 추출하여 BT 또는 TT 구조로 분할한다. 다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.As another example, when dividing a block using the QTBTTT structure, first, information (eg, a flag) on whether to divide is extracted, and when the block is divided, split type information is extracted. If the partition type is QT, each node is divided into four nodes corresponding to lower layers. If the split type indicates that the split node is a leaf node of the QT split (node where QT split no longer occurs), that is, split into BT or TT, additionally, information about split direction and split type information for distinguishing between a BT or TT structure Extract and split into BT or TT structures. As another example, when splitting the CTU using the QTBT structure, the first flag QT_split_flag related to the splitting of the QT is extracted to divide each node into four nodes of the lower layer. Then, for the node corresponding to the leaf node of the QT, a split flag (split_flag) indicating splitting or splitting direction information indicating whether to be split further by BT is extracted.

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

예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다.When the prediction type information indicates intra prediction, the decoder 410 extracts a syntax element for intra prediction information (intra prediction mode) of the current block.

예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.When the prediction type information indicates inter prediction, the decoder 410 extracts a syntax element for inter prediction information, that is, a motion vector and information representing a reference picture to which the motion vector refers.

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

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

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

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

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

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

영상 복원기(400)에 의해 CU들에 해당하는 현재블록들을 순차적으로 복원함으로써, CU들로 구성된 CTU, CTU들로 구성된 픽처가 복원된다.By sequentially reconstructing the current blocks corresponding to the CUs by the image reconstructor 400, a CTU composed of CUs and a picture composed of CTUs are reconstructed.

필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함한다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는, 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원 블록은 메모리(470)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.The filter unit 460 includes a deblocking filter 462 and a SAO filter 464. The deblocking filter 462 deblocks and filters the boundary between the reconstructed blocks to remove blocking artifacts that occur due to block-by-block decoding. The SAO filter 464 performs additional filtering on the reconstructed block after the deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel resulting from lossy coding. The reconstructed block filtered through the deblocking filter 462 and the SAO filter 464 is stored in the memory 470. When all the blocks in a picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be encoded later.

본 개시는 분할된 픽처를 병렬 처리하거나 분산 처리하기 위해 영상 부호화 장치가 상기 분할된 픽처에 대한 정보를 어떻게 구성하여 전달할지에 대해 제시한다.The present disclosure proposes how the image encoding apparatus constructs and delivers information about the divided picture in order to parallel process or divide process the divided picture.

앞서, 픽처를 분할하는 방법에 대해 간략하게 설명하였지만, 여기서는 보다 자세하게 설명한다.The method of dividing the picture has been briefly described above, but it will be described in more detail here.

첫 번째 방법은 픽처를 슬라이스(slice)로 분할하는 것으로, 하나의 픽처는 하나 이상의 슬라이스로 구성될 수 있다. 하나의 픽처는 CTU 단위로 분할되어, 부호화 및 복호화를 가능하게 한다. 이때 상기 하나의 픽처는 라스터 스캔(raster scan) 순으로 분할될 수 있다. The first method is to divide a picture into slices, and one picture may be composed of one or more slices. One picture is divided into CTU units to enable encoding and decoding. In this case, the one picture may be divided in the order of raster scan.

하나의 슬라이스는 하나 이상의 슬라이스 세그먼트(slice segment)로 구성될 수 있다. 슬라이스 세그먼트에는 독립 슬라이스 세그먼트와 종속 슬라이스 세그먼트(또는 의존 슬라이스 세그먼트), 두 종류가 있다. 상기 독립 슬라이스 세그먼트는 인터 예측, 인트라 예측, 코딩 모드 및 엔트로피 코딩시 다른 슬라이스 세그먼트에 종속적이지 않으며, 독립 슬라이스 세그먼트에 대한 헤더 정보가 존재한다. 반면, 상기 종속 슬라이스 세그먼트는 인터 예측, 인트라 예측, 코딩 모드 및 엔트로피 코딩시 다른 선행하는 독립 슬라이스 세그먼트에 종속적이다. 상기 종속 슬라이스 세그먼트는 상기 종속 슬라이스 세그먼트가 종속하는 독립 슬라이스 세그먼트의 헤더 정보를 대부분 참조하며, 일부만 별도의 헤더 정보로 전송한다.One slice may be composed of one or more slice segments. There are two kinds of slice segments: independent slice segments and dependent slice segments (or dependent slice segments). The independent slice segment is not dependent on another slice segment in inter prediction, intra prediction, coding mode and entropy coding, and header information for the independent slice segment exists. In contrast, the dependent slice segment is dependent on other preceding independent slice segments in inter prediction, intra prediction, coding mode, and entropy coding. The dependent slice segment refers to most of header information of the independent slice segment to which the dependent slice segment depends, and only a part thereof is transmitted as separate header information.

도 5는 하나의 픽처를 구성하고 있는 슬라이스의 일 예를 나타낸 도면이다.5 is a diagram illustrating an example of a slice constituting one picture.

도 5에서 하나의 픽처는 두 개의 슬라이스(510, 520)로 구성되어 있다. 제1 슬라이스(510)는 하나의 독립 슬라이스 세그먼트(512)와 두 개의 종속 슬라이스 세그먼트(514, 516)로 구성되어 있다. 제2 슬라이스(520)는 하나의 독립 슬라이스 세그먼트로 구성되어 있다. 슬라이스 사이에는 슬라이스 경계(slice boundary)(530)가 존재한다. 다만, 슬라이스 경계(530)는 가로축 경계만이 존재할 수 있다. 참고로, 제2 슬라이스(520)와 같이 하나의 슬라이스는 독립 슬라이스 세그먼트만으로도 구성될 수 있다.In FIG. 5, one picture is composed of two slices 510 and 520. The first slice 510 is composed of one independent slice segment 512 and two dependent slice segments 514 and 516. The second slice 520 is composed of one independent slice segment. There is a slice boundary 530 between the slices. However, the slice boundary 530 may have only a horizontal axis boundary. For reference, as in the second slice 520, one slice may be composed of only independent slice segments.

아래의 [표 1]과 [표 2]는 슬라이스에 대한 신택스를 나타낸 것이다.Tables 1 and 2 below show syntax for slices.

구체적으로, [표 1]은 PPS의 일 예를 나타낸 것이다. PPS에는 픽처 내에 종속 슬라이스 세그먼트의 사용 여부를 나타내는 플래그(dependent_slice_segments_enabled_flag)가 포함되어 있다.Specifically, Table 1 shows an example of the PPS. The PPS includes a flag (dependent_slice_segments_enabled_flag) indicating whether the dependent slice segment is used in the picture.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp () { pps_pic_parameter_set_id pps_pic_parameter_set_id pps_seq_parameter_set_id pps_seq_parameter_set_id dependent_slice_segments_enabled_flagdependent_slice_segments_enabled_flag } }

아래의 [표 2]는 슬라이스 세그먼트의 헤더 정보의 일 예를 나타낸 것이다.Table 2 below shows an example of header information of a slice segment.

slice_segment_header( ) {slice_segment_header () { first_slice_segment_in_pic_flagfirst_slice_segment_in_pic_flag if( nal_unit_type >= BLA_W_LP && nal_unit_type <= RSV_IRAP_VCL23 ) if (nal_unit_type> = BLA_W_LP && nal_unit_type <= RSV_IRAP_VCL23) no_output_of_prior_pics_flag no_output_of_prior_pics_flag slice_pic_parameter_set_id slice_pic_parameter_set_id if( !first_slice_segment_in_pic_flag ) { if (! first_slice_segment_in_pic_flag) { if( dependent_slice_segments_enabled_flag ) if (dependent_slice_segments_enabled_flag) dependent_slice_segment_flagdependent_slice_segment_flag slice_segment_addressslice_segment_address } } if( !dependent_slice_segment_flag ) { if (! dependent_slice_segment_flag) {     … } } if(tiles_enabled_flag | | entropy_coding_sync_enabled_flag) { if (tiles_enabled_flag | | entropy_coding_sync_enabled_flag) { num_entry_point_offsets num_entry_point_offsets if( num_entry_point_offsets > 0 ) { if (num_entry_point_offsets> 0) { offset_len_minus1 offset_len_minus1 for( i = 0; i < num_entry_point_offsets; i++ ) for (i = 0; i <num_entry_point_offsets; i ++) entry_point_offset_minus1[ i ] entry_point_offset_minus1 [i] } } } } }}

픽처 내 첫 번째 슬라이스 세그먼트는 무조건 독립 슬라이스 세그먼트가 되기 때문에, 슬라이스 세그먼트의 헤더 정보에는 첫 번째 슬라이스 세그먼트인지를 나타내는 플래그(first_slice_segment_in_pic_flag), 첫 번째 슬라이스 세그먼트를 제외한 나머지 슬라이스 세그먼트에 대해 독립 슬라이스 세그먼트인지 또는 종속 슬라이스 세그먼트인지를 나타내는 플래그(dependent_slice_segment_flag)와, 슬라이스 세그먼트의 어드레스(slice_segment_address)가 포함된다.Since the first slice segment in a picture is an independent slice segment unconditionally, the header information of the slice segment includes a flag indicating whether it is the first slice segment (first_slice_segment_in_pic_flag), whether it is an independent slice segment or dependent on the remaining slice segments except the first slice segment. A flag (dependent_slice_segment_flag) indicating whether a slice segment is present and an address (slice_segment_address) of the slice segment are included.

두 번째 방법은 픽처를 하나 이상의 타일(tile)로 분할하고, 하나 이상의 타일을 하나의 타일 그룹(tile group)으로 묶는 것으로, 슬라이스와 마찬가지로 하나의 픽처는 하나 이상의 타일 및/또는 타일 그룹으로 구성될 수 있다. 하나의 픽처가 일정 크기/단위로 분할되면, 타일은 일정 단위를 기준으로 다수 개의 열(column) 및 행(row)으로 분할된 형태를 의미한다. 즉, 하나의 타일 크기는 일정 단위의 배수 값이다. 예컨대, 일정 단위가 CTU 인 경우, 하나의 픽처는 CTU 단위로 분할되고, 타일은 하나의 픽처를 CTU 단위로 다수 개의 열(column) 및 행(row)으로 분할된 것으로, 독립적으로 부호화 및 복호화를 가능하게 한다. 타일은 인트라 예측 및 엔트로피 코딩시 다른 타일에 종속적이지 않다. 즉, 타일은 인트라 예측 및 엔트로피 코딩시 항상 독립적으로 수행된다. 다만, 인터 예측의 경우 인코더 이슈로 두거나 PPS, 타일 그룹 헤더 (TGH: tile group header), SEI (supplement enhancement information)와 같은 형식으로 관련 정보를 전송할 수 있다. 타일의 인-루프 필터링시 다른 타일에 종속 여부는 PPS 및/또는 TGH의 플래그로 제어 가능하다.The second method is to divide a picture into one or more tiles and to group one or more tiles into one tile group. Like slices, a picture can be composed of one or more tiles and / or tile groups. Can be. When one picture is divided into a certain size / unit, the tile refers to a form divided into a plurality of columns and rows based on the predetermined unit. That is, one tile size is a multiple of a certain unit. For example, when a certain unit is a CTU, one picture is divided into CTU units, and a tile is divided into a plurality of columns and rows in CTU units, and independently encoded and decoded. Make it possible. Tiles are not dependent on other tiles in intra prediction and entropy coding. That is, tiles are always performed independently in intra prediction and entropy coding. However, in case of inter prediction, related information may be transmitted as an encoder issue or in a format such as a PPS, a tile group header (TGH), and supplementation enhancement information (SEI). Whether to depend on other tiles in in-loop filtering of tiles can be controlled by flags of PPS and / or TGH.

도 6은 하나의 픽처를 구성하고 있는 타일의 일 예를 나타낸 도면이다.6 is a diagram illustrating an example of tiles constituting one picture.

도 6에서 하나의 픽처는 3 columns 및 3 rows으로 분할되어, 9개의 타일로 구성되어 있다. 하나의 픽처를 구성하는 타일은 라스터 스캔(raster scan) 순으로 부호화 또는 복호화될 수 있으며, 하나의 타일을 구성하는 다수의 CTU도 라스터 스캔 순으로 부호화 또는 복호화될 수 있다. 도 6에 도시된 번호는 CTU의 번호로, 부호화 또는 복호화되는 라스터 스캔 순이 될 수 있다. In FIG. 6, one picture is divided into 3 columns and 3 rows, and consists of 9 tiles. Tiles constituting one picture may be encoded or decoded in raster scan order, and a plurality of CTUs constituting one tile may be encoded or decoded in raster scan order. The number shown in FIG. 6 is a number of CTUs and may be in a raster scan order to be encoded or decoded.

한편, 세로로 분할되는 타일에는 세로축 경계(column boundary)(610, 615)가, 가로로 분할되는 타일에는 가로축 경계(row boundary)(620, 625)가 존재한다. 타일은 분할하는 방법에 따라 균등 분할 또는 개별 분할 모두 가능하다. The vertically divided tiles have column boundaries 610 and 615, and the horizontally divided tiles have row boundaries 620 and 625. Tiles can be split evenly or individually, depending on how they are split.

아래의 [표 3]은 타일에 대한 신택스의 일 예를 나타낸 것이다. 구체적으로, [표 3]은 PPS의 일 예를 나타낸 것이다.Table 3 below shows an example of syntax for tiles. Specifically, Table 3 shows an example of the PPS.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp () { tiles_enabled_flagtiles_enabled_flag if( tiles_enabled_flag ) { if (tiles_enabled_flag) { num_tile_columns_minus1num_tile_columns_minus1 num_tile_rows_minus1num_tile_rows_minus1 uniform_spacing_flaguniform_spacing_flag if( !uniform_spacing_flag ) { if (! uniform_spacing_flag) { for( i = 0; i < num_tile_columns_minus1; i++ ) for (i = 0; i <num_tile_columns_minus1; i ++) column_width_minus1[ i ] column_width_minus1[I] for( i = 0; i < num_tile_rows_minus1; i++ ) for (i = 0; i <num_tile_rows_minus1; i ++) row_height_minus1[ i ] row_height_minus1[I] } } loop_filter_across_tiles_enabled_flagloop_filter_across_tiles_enabled_flag } }

PPS에는 타일 기능의 on/off를 지시하는 플래그(tiles_enabled_flag)가 포함된다. 상기 플래그가 on이 되면, 타일의 크기를 지정할 수 있는 다수의 신택스들이 추가적으로 PPS에 포함된다. 예를 들어, 상기 플래그가 on이 되면, 픽처의 세로축 경계 기준으로 분할된 타일의 개수에서 1을 뺀 개수를 나타내는 신택스(num_tile_columns_minus1), 픽처의 가로축 경계 기준으로 분할된 타일의 개수에서 1을 뺀 개수를 나타내는 신택스(num_tile_rows_minus1), 타일이 가로 및 세로로 균등하게 분할되었음을 나타내는 플래그(uniform_spacing_flag) 등이 PPS에 포함될 수 있다. 만약, 타일이 가로 및 세로로 균등하게 분할되지 않았을 경우(uniform_spacing_flag = off), 세로축 경계 기준으로 각 타일에 대한 너비를 나타내는 신택스(column_width_minus1)와 가로축 경계 기준으로 각 타일에 대한 높이를 나타내는 신택스(row_height_minus1)가 추가로 PPS에 포함될 수 있다. 마지막으로, 타일간 경계 영역에서 루프 필터의 실행 여부를 나타내는 플래그(loop_filter_across_tiles_enabled_flag)도 PPS에 포함될 수 있다.The PPS includes a flag (tiles_enabled_flag) indicating on / off of a tile function. When the flag is turned on, a plurality of syntaxes that can specify the size of the tile are additionally included in the PPS. For example, when the flag is turned on, a syntax (num_tile_columns_minus1) indicating the number of tiles divided by the vertical axis boundary of the picture minus 1, the number of tiles divided by the horizontal axis boundary of the picture, minus 1 A syntax indicating num_tile_rows_minus1, a flag indicating that tiles are divided evenly horizontally and vertically, and the like may be included in the PPS. If the tiles are not evenly divided horizontally and vertically (uniform_spacing_flag = off), the syntax (column_width_minus1) representing the width of each tile based on the vertical boundary and the syntax (row_height_minus1) indicating the height of each tile based on the horizontal boundary ) May be further included in the PPS. Finally, a flag (loop_filter_across_tiles_enabled_flag) indicating whether the loop filter is executed in the inter-tile boundary region may also be included in the PPS.

그밖에, 서로 다른 타일간 인터 예측시 참조 여부를 서술하는 MCTS(motion constrained tile set)는 SEI(supplement enhancement information) 메시지에 포함될 수 있다. 아래의 [표 4]는 MCTS 신택스의 일 예를 나타낸 것이다.In addition, a motion constrained tile set (MCTS) that describes whether to refer to inter prediction between different tiles may be included in a supplement enhancement information (SEI) message. Table 4 below shows an example of MCTS syntax.

temporal_motion_constrained_tile_sets( payloadSize ) {temporal_motion_constrained_tile_sets (payloadSize) { mc_all_tiles_exact_sample_value_match_flag mc_all_tiles_exact_sample_value_match_flag each_tile_one_tile_set_flag each_tile_one_tile_set_flag if( !each_tile_one_tile_set_flag ) { if (! each_tile_one_tile_set_flag) { limited_tile_set_display_flag limited_tile_set_display_flag num_sets_in_message_minus1num_sets_in_message_minus1 for( i = 0; i <= num_sets_in_message_minus1; i++ ) { for (i = 0; i <= num_sets_in_message_minus1; i ++) { mcts_id[ i ] mcts_id[i] if( limited_tile_set_display_flag ) if (limited_tile_set_display_flag) display_tile_set_flag[ i ] display_tile_set_flag [i] num_tile_rects_in_set_minus1[ i ] num_tile_rects_in_set_minus1[I] for( j = 0; j <= num_tile_rects_in_set_minus1[ i ]; j++ ) { for (j = 0; j <= num_tile_rects_in_set_minus1 [i]; j ++) { top_left_tile_index[ i ][ j ] top_left_tile_index[ i] [ j] bottom_right_tile_index[ i ][ j ] bottom_right_tile_index[I] [ j] } } if( !mc_all_tiles_exact_sample_value_match_flag ) if (! mc_all_tiles_exact_sample_value_match_flag) mc_exact_sample_value_match_flag[ i ] mc_exact_sample_value_match_flag [i] } } } else { } else { } } }}

MCTS에는 하나의 픽처 내에 존재하는 타일 셋의 개수(num_sets_in_message_minus1), 각각의 타일 셋을 구성하는 타일 rectangular의 개수(num_tile_rects_in_set_minus1), 각각의 타일 rectangular를 구성하는 타일의 인덱스(top_left_tile_index[i][j], bottom_right_tile_index[i][j]) 등의 정보가 포함된다.In MCTS, the number of tile sets existing in one picture (num_sets_in_message_minus1), the number of tile rectangles constituting each tile set (num_tile_rects_in_set_minus1), and the index of tiles constituting each tile rectangular (top_left_tile_index [i] [j], information such as bottom_right_tile_index [i] [j]) is included.

도 7은 하나의 픽처에 포함된 MCTS의 일 예를 나타낸 도면이다.7 is a diagram illustrating an example of an MCTS included in one picture.

도 7에 따르면, 하나의 픽처는 48개의 타일로 구성되어 있다. 도 7에 도시된 번호는 타일 인덱스를 나타낸다. 상기 하나의 픽처는 하나의 타일 셋(710)을 포함하며, 상기 하나의 타일 셋은 두 개의 타일 rectangular를 포함한다. 첫 번째 타일 rectangular(720)는 3개의 타일을 포함하며, 좌측 상단의 타일 인덱스는 16이며, 우측 하단의 타일 인덱스는 32이다. 두 번째 타일 rectangular(730)은 9개의 타일을 포함하며, 좌측 상단의 타일 인덱스는 21이며, 우측 하단의 타일 인덱스는 39이다. 하나의 타일 셋에 속하는 타일간에는 인터 예측시 서로 참조가 가능하다.According to FIG. 7, one picture is composed of 48 tiles. The number shown in FIG. 7 represents a tile index. The one picture includes one tile set 710 and the one tile set includes two tile rectangular. The first tile rectangular 720 includes three tiles, a tile index of the upper left is 16, and a tile index of the lower right is 32. The second tile rectangular 730 includes nine tiles, the tile index of the upper left is 21, and the tile index of the lower right is 39. Tiles belonging to one tile set may be referred to each other in inter prediction.

도 7의 MCTS를 [표 4]의 MCTS 신택스를 이용해 나타내면, When the MCTS of FIG. 7 is represented using the MCTS syntax of [Table 4],

num_sets_in_message_minus1 = 0;num_sets_in_message_minus1 = 0;

mcts_id[0] = 0;mcts_id [0] = 0;

num_tile_rects_in_set_minus1[0] = 1;num_tile_rects_in_set_minus1 [0] = 1;

{top_left_tile_index[0][0] = 16, bottom_right_tile_index[0][0] = 32},{top_left_tile_index [0] [0] = 16, bottom_right_tile_index [0] [0] = 32},

{top_left_tile_index[0][1] = 21, bottom_right_tile_index[0][1] = 39};{top_left_tile_index [0] [1] = 21, bottom_right_tile_index [0] [1] = 39};

과 같이 나타낼 수 있다. It can be expressed as

픽처의 병렬 처리를 위해서는 주로 슬라이스가 이용되며, 부호화/복호화와 관련된 정보는 슬라이스 헤더에 포함되어 전송된다. 반면, 타일의 경우, 별도의 헤더는 없으며, 타일과 관련된 정보 중 일부가 SEI(supplement enhancement information) 메시지에 포함되어 전송된다. Slices are mainly used for parallel processing of pictures, and information related to encoding / decoding is included in a slice header and transmitted. On the other hand, in the case of a tile, there is no separate header, and some of the tile-related information is included in a supplementation enhancement information (SEI) message and transmitted.

한편, 슬라이스의 경우 경계가 가로축으로만 결정될 수 있지만, 타일의 경우 경계가 가로축뿐만 아니라 세로축으로도 결정될 수 있다. 현재 영상 부호화/복호화 장치의 대역 처리를 위한 용량 및 성능이 월등히 향상됨에 따라 기존 슬라이스와 같은 행 단위의 처리 방식이 병렬 처리와 품질 향상에 제약을 줄 수 있다. 이에 본 개시에서는 병렬 처리 및 분산 처리에 타일을 이용하면서 슬라이스의 특징을 보완한 다양한 방법을 제시한다. 구체적으로, 본 개시에서는 분할된 하나의 픽처를 어떻게 타일로 구성하고, 타일에 대한 정보를 어떻게 전달할 지에 대해 제안한다.Meanwhile, in the case of slices, the boundary may be determined only on the horizontal axis, but in the case of tiles, the boundary may be determined not only on the horizontal axis but also on the vertical axis. As the capacity and performance for band processing of the current image encoding / decoding apparatus are greatly improved, row-based processing methods such as existing slices may limit parallel processing and quality improvement. Accordingly, the present disclosure proposes a variety of methods to complement the features of the slice while using the tile for parallel processing and distributed processing. Specifically, the present disclosure proposes how to configure one divided picture into tiles and how to transmit information about the tiles.

앞서 설명한 바와 같이 본 개시에 따른 '타일'도 하나의 픽처를 가로축 및 세로축으로 분할한 것일 수 있다. 그러나 본 개시에 따른 타일 및/또는 타일 그룹은 NAL(Network Abstraction Layer)을 구성하는 기본 단위일 수 있으며, 슬라이스 세그먼트와 유사하게 다른 타일 및/또는 타일 그룹에 종속적(또는 의존적)이거나 다른 타일 및/또는 타일 그룹에 대해 독립적일 수 있다. 그 외에도 본 개시에 따른 타일/타일 그룹은 다양한 정보를 포함할 수 있다. As described above, the 'tile' according to the present disclosure may also be a single picture divided into horizontal and vertical axes. However, a tile and / or a tile group according to the present disclosure may be a basic unit constituting a network abstraction layer (NAL), and similarly to a slice segment, may be dependent (or dependent) on another tile and / or tile group, or different tiles and / or Or independent of the tile group. In addition, the tile / tile group according to the present disclosure may include various information.

도 8은 본 개시의 일 실시예에 따라 하나의 픽처를 구성하고 있는 타일을 나타낸 도면이다.8 is a diagram illustrating tiles constituting one picture according to one embodiment of the present disclosure.

상기 하나의 픽처는 다수 개의 타일로 분할될 수 있다. 상기 분할된 타일 중 서로 의존하는 타일이 사각형을 이루는 경우 이를 하나의 영역(즉, 타일 셋)으로 구성하고, 서로 의존하는 타일 셋을 하나의 타일 그룹으로 구성할 수 있다. 즉, 하나의 타일 그룹 내 포함된 하나 이상의 타일 셋 또는 타일들은 서로 의존 관계일 수 있으며, 타일 그룹 간에는 의존성이 존재하지 않는다. 다시 말해, 서로 다른 타일 그룹 간에는 독립성이 보장된다. 여기서, 사각형을 이루는 영역을 통틀어 뷰포트 영역(viewport region)(혹은 ROI(region of interest))으로 본 개시에서는 정의한다. 또한, 상기 하나의 픽처에서 앞서 구성된 사각형의 영역, 즉 뷰포트 영역을 제외한 나머지 영역을 따로 구성할 수 있으며, 본 개시에서는 백그라운드 영역(background region)으로 정의한다. 백그라운드 영역을 구성하는 타일도 의존성이 있거나 또는 독립성이 있을 수 있다.The one picture may be divided into a plurality of tiles. When the tiles that are mutually dependent among the divided tiles form a quadrangle, the tiles may be configured as one region (that is, a tile set), and the tile sets that depend on each other may be configured as one tile group. That is, one or more tile sets or tiles included in one tile group may be dependent on each other, and there is no dependency between tile groups. In other words, independence is ensured between different tile groups. Here, in the present disclosure, a viewport region (or ROI (region of interest)) is defined throughout the quadrangular region. In addition, the above-described rectangular region, that is, a region other than the viewport region, may be separately configured in the one picture, and is defined as a background region in the present disclosure. The tiles that make up the background area may also be dependent or independent.

도 8에서 하나의 픽처는 뷰포트 영역(810, 820)과 백그라운드 영역(830)로 구성되어 있다. 뷰포트 영역(810, 820)과 백그라운드 영역(830)은 각각 하나 이상의 타일로 구성되며 픽처의 특정 영역을 지시한다. 예를 들어, 뷰포트 영역(810, 820)은 360 비디오를 서비스하는 경우 사용자의 시점이 머무르는 영역일 수 있으며, 또는 픽처 내 물체가 존재하는 영역일 수 있다. 뷰포트 영역(810, 820)은 일반적으로 사각형의 형태로 구성된다. 반면, 백그라운드 영역(830)은 상기 하나의 픽처에서 뷰포트 영역(810, 820)을 제외한 영역으로, 사각형이 아닐 수 있다. 도 8에서도 도 5의 슬라이스 세그먼트와 마찬가지로 타일간 의존성이 있는 경우에는 점선으로, 타일간 의존성이 없는 즉, 독립성이 있는 경우에는 실선으로 도시하고 있다. 따라서, 뷰포트 영역(810, 820)을 구성하는 타일간에는 서로 의존성이 존재하여 인터 예측 또는/및 필터링시 서로에게 영향을 줄 수 있지만, 백그라운드 영역(830)을 구성하는 타일간에는 서로 의존성이 없으므로 인트라 예측, 인터 예측, 엔트로피 코딩, 및 필터링시 독립적으로 동작한다. 이하에서도 타일간에 의존성이 있다면 점선으로, 독립성이 있다면 실선으로 나타낸다. 참고로, 도 8에서는 하나의 픽처 내 뷰포트 영역과 백그라운드 영역이 모두 존재하는 것으로 나타나 있으나, 반드시 모두 존재하여야 하는 것은 아니다. 즉, 하나의 픽처는 뷰포트 영역 또는 백그라운드 영역만으로 구성될 수도 있다. In FIG. 8, one picture includes viewport areas 810 and 820 and a background area 830. The viewport areas 810 and 820 and the background area 830 are each composed of one or more tiles and indicate a specific area of a picture. For example, the viewport areas 810 and 820 may be areas where a user's viewpoint stays when servicing 360 video, or may be an area where an object in a picture exists. The viewport areas 810 and 820 are generally configured in the form of a rectangle. On the other hand, the background area 830 is an area excluding the viewport areas 810 and 820 of the single picture and may not be a rectangle. Similarly with the slice segment of FIG. 5, in FIG. 8, it shows by the dotted line when there is dependency between tiles, and the solid line when there is no dependency between tiles, ie, independence. Accordingly, the tiles constituting the viewport regions 810 and 820 may have dependencies on each other and thus may affect each other in inter prediction or / and filtering. However, the tiles constituting the background region 830 do not depend on each other. Operates independently in inter prediction, entropy coding, and filtering. Hereinafter, if there is a dependency between tiles, a dotted line is shown and if there is an independence, a solid line is shown. For reference, although FIG. 8 shows that both a viewport area and a background area exist in one picture, they do not have to exist. That is, one picture may consist of only a viewport area or a background area.

이하에서는 하나의 픽처를 구성하는 타일에 대한 정보를 전달하는 다양한 실시예에 대해 상세하게 설명한다. Hereinafter, various embodiments of transferring information about tiles constituting one picture will be described in detail.

<제1 실시예><First Embodiment>

본 개시의 제1 실시예에 따르면, 영상 부호화 장치는 픽처의 분할 정보 및 상기 픽처를 구성하는 타일의 독립성 정보를 PPS에 저장하고, 타일 헤더에는 타일 id 정보를 저장해 영상 복호화 장치로 전달한다. 제1 실시예에서는 인트라 예측 및 엔트로피 코딩시 모든 타일은 독립적이나, 인터 예측 및 필터링시 타일은 상기 PPS에 저장된 타일의 독립성 정보에 따라 독립적이거나 의존적이다.According to the first embodiment of the present disclosure, the apparatus for encoding an image stores split information of a picture and independence information of tiles constituting the picture in a PPS, and stores tile id information in a tile header and transmits the information to a video decoding apparatus. In the first embodiment, all tiles are independent in intra prediction and entropy coding, but in inter prediction and filtering, tiles are independent or dependent on the independence information of the tiles stored in the PPS.

아래의 [표 5]는 제1 실시예에 따른 PPS를 나타낸 것이다.Table 5 below shows the PPS according to the first embodiment.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp () { multiple_tiles_in_pic_flagmultiple_tiles_in_pic_flag if( multiple_tiles_in_pic_flag ) { if (multiple_tiles_in_pic_flag) { num_tile_columns_minus1num_tile_columns_minus1 num_tile_rows_minus1num_tile_rows_minus1 uniform_spacing_flaguniform_spacing_flag if( !uniform_spacing_flag ) { if (! uniform_spacing_flag) { for( i = 0; i < num_tile_columns_minus1; i++ ) for (i = 0; i <num_tile_columns_minus1; i ++) column_width_minus1[ i ] column_width_minus1[I] for( i = 0; i < num_tile_rows_minus1; i++ ) for (i = 0; i <num_tile_rows_minus1; i ++) row_height_minus1[ i ] row_height_minus1[I] } } all_independent_tile_flag    all_independent_tile_flag if( !all_independent_tile_flag ) {    if (! all_independent_tile_flag) { num_tile_groups_in_pic_minus1      num_tile_groups_in_pic_minus1 for( i = 0; i < num_tile_groups_in_pic_minus1; i++ ) {      for (i = 0; i <num_tile_groups_in_pic_minus1; i ++) { tile_group_id[ i ] tile_group_id [i] num_tile_sets_in_tg_minus1        num_tile_sets_in_tg_minus1 for( j = 0; j < num_tile_sets_in_tg_minus1; j++ ) {        for (j = 0; j <num_tile_sets_in_tg_minus1; j ++) { tile_set_id[ i ][ j ] tile_set_id [i] [j] topleft_tile_id[ i ][ j ] topleft_tile_id [i] [j] bottomright_tile_id[ i ][ j ] bottomright_tile_id [i] [j] }        } } } } } }  } }}

제1 실시예에 따른 PPS에는 하나의 픽처가 다수 개의 타일로 분할되는지 여부를 나타내는 플래그(multiple_tiles_in_pic_flag), 모든 타일이 독립성이 있는지 여부를 나타내는 플래그(all_independent_tile_flag)를 포함할 수 있다. 여기서, 하나의 픽처가 다수 개의 타일로 분할되는지 여부를 나타내는 플래그(multiple_tiles_in_pic_flag)는 하나의 픽처가 하나의 타일로 구성되는지 여부를 나타내기도 하며, 하나의 픽처가 하나의 타일로 구성되는지 여부를 나타내는 플래그(single_tile_in_pic_flag)를 선택적으로 이용할 수도 있다. 예컨대, multiple_tiles_in_pic_flag 값이 "1"이면, 하나의 픽처가 다수 개의 타일로 분할되었음을 의미하고, multiple_tiles_in_pic_flag 값이 "0"이면, 하나의 픽처가 하나의 타일로 구성되었음을 의미한다.The PPS according to the first embodiment may include a flag (multiple_tiles_in_pic_flag) indicating whether one picture is divided into a plurality of tiles and a flag (all_independent_tile_flag) indicating whether all tiles are independent. Here, a flag (multiple_tiles_in_pic_flag) indicating whether a picture is divided into multiple tiles may indicate whether one picture is composed of one tile, and a flag indicating whether one picture is composed of one tile. (single_tile_in_pic_flag) may be selectively used. For example, if the value of multiple_tiles_in_pic_flag is "1", it means that one picture is divided into a plurality of tiles, and if the value of multiple_tiles_in_pic_flag is "0", it means that one picture is composed of one tile.

또한, 모든 타일이 독립성이 있는지 여부를 나타내는 플래그(all_independent_tile_flag)는 하나의 픽처 내 타일간의 의존성을 표시하는 타일 그룹의 존재 여부를 나타내는 플래그일 수 있다. 예컨대, all_independent_tile_flag 값이 "1"이면, 하나의 픽처 내 모든 타일들이 독립적이므로 하나의 타일이 하나의 타일 그룹을 형성함을 의미하고, all_independent_tile_flag 값이 "0"이면, 하나의 픽처 내 타일 간의 의존성이 있는 타일들이 존재하므로 다수 개의 타일들이 하나의 타일 그룹에 속할 수 있다. 즉, 다수 개의 타일들이 포함된 적어도 하나의 타일 그룹이 픽처 내에 존재함을 의미한다. 대안적으로, 하나의 타일이 하나의 타일 그룹을 형성하는 경우에는 타일 그룹 당 하나의 타일로 구성되어 있음을 나타내는 플래그(single_tile_per_tile_group_flag)로도 대체 가능하다. In addition, a flag (all_independent_tile_flag) indicating whether all tiles are independent may be a flag indicating whether a tile group indicating dependency between tiles in one picture exists. For example, if the all_independent_tile_flag value is "1", it means that one tile forms one tile group because all tiles in one picture are independent. If the all_independent_tile_flag value is "0", the dependency between tiles in one picture is Since there are tiles present, multiple tiles may belong to one tile group. That is, at least one tile group including a plurality of tiles is present in the picture. Alternatively, when one tile forms one tile group, it may be replaced by a flag (single_tile_per_tile_group_flag) indicating that one tile is configured per tile group.

타일간의 의존성이 있는 경우, 하나의 픽처에 속한 타일 그룹(group) 개수를 나타내는 신택스(num_tile_groups_in_pic_minus1), 타일 그룹의 id를 나타내는 신택스(tile_group_id), 하나의 타일 그룹에 속한 타일 셋의 개수를 나타내는 신택스(num_tile_sets_in_tg_minus1), 타일 셋의 id를 나타내는 신택스(tile_set_id), 타일 셋의 사각형 영역을 구성하는 좌상측 타일 id값을 지시하는 신택스(topleft_tile_id), 및 타일 셋의 사각형 영역을 구성하는 우하측 타일 id값을 지시하는 신택스(bottomright_tile_id)가 포함될 수 있다. 여기서, 타일 그룹의 개수를 나타내는 신택스(num_tile_groups_in_pic_minus1)만큼 타일 그룹의 id를 표시한다. 또한, 명시적으로 타일 그룹의 id를 전송할지를 결정하는 플래그(explicit_tile_group_id_flag)를 추가적으로 두어, 해당 플래그 값에 따라 타일 그룹 id를 전송할 수 있다. 예컨대, explicit_tile_group_id_flag 값이 "1"이면, 타일 그룹의 개수를 나타내는 신택스(num_tile_groups_in_pic_minus1)만큼 타일 그룹의 id를 표시하고, explicit_tile_group_id_flag 값이 "0"이면, 타일 그룹의 id를 전송하지 않을 수도 있다.When there is a dependency between tiles, a syntax (num_tile_groups_in_pic_minus1) indicating the number of tile groups belonging to one picture, a syntax (tile_group_id) indicating an id of a tile group, and a syntax indicating the number of tile sets belonging to one tile group ( num_tile_sets_in_tg_minus1), syntax indicating the tile set id (tile_set_id), syntax indicating the upper left tile id value constituting the rectangular area of the tile set, and right bottom tile id value constituting the rectangular area of the tile set. An indicating syntax (bottomright_tile_id) may be included. Here, the id of the tile group is indicated by the syntax (num_tile_groups_in_pic_minus1) indicating the number of tile groups. In addition, a flag (explicit_tile_group_id_flag) that determines whether to explicitly transmit the id of the tile group may be additionally provided and the tile group id may be transmitted according to the corresponding flag value. For example, if the explicit_tile_group_id_flag value is "1", the ID of the tile group may be indicated by the syntax (num_tile_groups_in_pic_minus1) indicating the number of tile groups. If the explicit_tile_group_id_flag value is "0", the ID of the tile group may not be transmitted.

제1 실시예에서 픽처 내 뷰포트 영역 중 하나의 사각형 영역을 구성하는 타일들은 하나의 타일 셋으로 정의될 수 있으며, 다수의 타일 셋이 서로 의존적이라면 하나의 타일 그룹으로 정의될 수 있다. In the first embodiment, tiles constituting one rectangular area of the viewport area in the picture may be defined as one tile set, and may be defined as one tile group when a plurality of tile sets are dependent on each other.

아래의 [표 6]은 제1 실시예에 따른 타일 헤더를 나타낸 것이다.Table 6 below shows the tile header according to the first embodiment.

tile_header( ) {tile_header () { tile_idtile_id }}

제1 실시예에 따른 타일 헤더에는 해당 타일 id(tile_id)가 포함된다.The tile header according to the first embodiment includes a corresponding tile id (tile_id).

타일 그룹 및 타일 셋에 대한 정보는 PPS에 포함되어 있지만, 아래의 [표 7]과 같이 타일 헤더에도 해당 타일이 독립성이 있는지 여부, 타일 그룹, 및 타일 셋에 대한 정보가 포함될 수 있다.The information about the tile group and the tile set is included in the PPS, but as shown in [Table 7] below, the tile header may include information about whether the corresponding tile is independent, the tile group, and the tile set.

tile_header( ) {tile_header () { tile_idtile_id if ( !all_independent_tile_flag )  if (! all_independent_tile_flag) independent_tile_flag (default: on) independent_tile_flag (default: on) if( !independent_tile_flag ) { if (! independent_tile_flag) { tile_group_id    tile_group_id tile_set_id    tile_set_id } } }}

구체적으로, 타일 헤더에는 해당 타일의 의존성 여부를 나타내는 플래그(independent_tile_flag), 상기 해당 타일에 대해 PPS에서 설정된 타일 그룹의 id 를 지시하는 신택스(tile_group_id), 및 상기 해당 타일에 대해 PPS에서 설정된 타일 셋의 id를 지시하는 신택스(tile_set_id) 중 적어도 하나가 포함될 수 있다.In detail, a tile header includes a flag (independent_tile_flag) indicating whether a corresponding tile is dependent, a syntax (tile_group_id) indicating an id of a tile group set in the PPS for the corresponding tile, and a tile set configured in the PPS for the corresponding tile. At least one of the syntax (tile_set_id) indicating the id may be included.

제1 실시예에 따르면, 타일 그룹의 id(tile_group_id) 및 타일 셋의 id(tile_set_id)가 동일한 타일간에는 인터 예측과 필터링시 서로 의존하는 특성을 갖는다. 즉, 영상 부호화/복호화 장치는 인터 예측과 필터링시 상기 타일 그룹의 id 및 상기 타일 셋의 id를 확인하여 참조/사용 여부를 결정한다. 선택적으로, 영상 부호화/복호화 장치는 인터 예측과 필터링시, 상기 타일 그룹의 id만을 확인하여 참조/사용 여부를 결정할 수도 있다.According to the first embodiment, between tiles having the same id (tile_group_id) of a tile group and id (tile_set_id) of a tile set have mutually dependent characteristics in inter prediction and filtering. That is, the image encoding / decoding apparatus determines the ID / ID of the tile group and the ID of the tile set in inter prediction and filtering to determine whether to refer to / use. Optionally, the image encoding / decoding apparatus may determine only reference / use by checking only the id of the tile group during inter prediction and filtering.

도 9는 본 개시의 제1 및 제2 실시예를 설명하기 위한 픽처의 일 예를 나타낸 도면이다.9 is a diagram illustrating an example of a picture for describing the first and second embodiments of the present disclosure.

도 9에 따르면, 상기 픽처는 48개의 타일로 구성되어 있으며, 타일 id를 도시하고 있다. 또한, 상기 픽처는 백그라운드 영역(940)과 뷰포트 영역(910, 920, 930)으로 구성되어 있다. 백그라운드 영역(940)을 구성하는 타일들은 독립성이 있어 모두 실선으로 표시되어 있다. 그러나, 뷰포트 영역(910, 920, 930)을 구성하는 타일들은 서로 의존적이어서 모두 점선으로 표시되어 있다. According to FIG. 9, the picture is composed of 48 tiles and shows tile ids. In addition, the picture includes a background area 940 and a viewport area 910, 920, and 930. The tiles constituting the background area 940 are independent and are all indicated by solid lines. However, the tiles constituting the viewport areas 910, 920, and 930 are dependent on each other and are all indicated by dotted lines.

도 9에서 뷰포트 영역(910, 920, 930)은 세 개의 타일 셋(910, 920, 930)으로 구성되고, 이 중 두 개의 타일 셋(910, 920)은 하나의 타일 그룹으로 구성됨을 가정한다. 이 경우, 상기 뷰포트 영역의 타일 그룹은 총 두 개로 구성된다. In FIG. 9, it is assumed that the viewport areas 910, 920, and 930 are composed of three tile sets 910, 920, and 930, and two of the tile sets 910, 920 are configured as one tile group. In this case, the tile group of the viewport area is composed of a total of two.

도 9의 픽처를 제1 실시예에 따른 PPS를 이용해 나타내면,Referring to the picture of FIG. 9 using the PPS according to the first embodiment,

all_independent_tile_flag = off;all_independent_tile_flag = off;

num_tile_groups_minus1 = 1;num_tile_groups_minus1 = 1;

{tile_group_id = 0; {tile_group_id = 0;

num_tile_sets_minus1 = 1,      num_tile_sets_minus1 = 1,

tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,      tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,

tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};      tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1; {tile_group_id = 1;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};      tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};

과 같이 나타낼 수 있다.It can be expressed as

아래의 [표 8]은 제1 실시예에 따른 도 9의 일부 타일의 타일 헤더를 나타낸 것이다.Table 8 below shows tile headers of some tiles of FIG. 9 according to the first embodiment.

tile_idtile_id 00 1One 22 88 3131 3333 3939 4343 independent_tile_flagindependent_tile_flag 00 00 1One 00 00 00 00 00 tile_group_idtile_group_id 00 00 -- 00 00 1One 00 1One tile_set_idtile_set_id 00 00 -- 00 1One 00 1One 00

예를 들어, 도 9에서 타일 id가 8인 타일은 경계가 점선으로 표시된 부분이 있어 의존적이므로 이를 지시하는 플래그인 independent_tile_flag가 0으로 표시된다. 또한, 상기 타일은 2개의 타일 그룹(0과 1) 중 0에 속하며, 2개의 타일 셋(0과 1) 중 0에 속함을 타일 헤더에 나타내고 있다. 다른 예로, 타일 id가 43인 타일은 경계가 점선으로 표시된 부분이 있어 의존적이므로 이를 지시하는 플래그인 independent_tile_flag가 0으로 표시되고, 타일 id가 8인 타일과는 타일 그룹이 달라 타일 그룹은 1이 되며, 타일 셋은 하나 밖에 없기 때문에 0이 된다.For example, in FIG. 9, since a tile having a tile id of 8 is dependent because a boundary is indicated by a dotted line, independent_tile_flag, which is a flag indicating this, is displayed as 0. FIG. In addition, the tiles belong to 0 of the 2 tile groups 0 and 1, and belong to 0 of the 2 tile sets 0 and 1 in the tile header. As another example, a tile with a tile id of 43 has a dotted border and is dependent, so the flag indicating independent_tile_flag is 0, and the tile group is 1 because the tile group is different from the tile with tile id 8. , Since there is only one tile set, it is zero.

도 9에서 백그라운드 영역(940)을 구성하는 타일은 모두 독립성이 있어서 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부를 나타내는 플래그와 상기 모든 타일이 독립성이 있는지 여부를 나타내는 플래그로 백그라운드 영역(940)에 대한 정보를 나타낼 수 있다. 이하에서는, 백그라운드 영역(940)을 구성하는 타일이 의존성이 있는 경우, 이를 나타내는 실시예에 대해 설명한다.In FIG. 9, all of the tiles constituting the background area 940 are independent, so that the background area 940 is a flag indicating whether the single picture is divided into a plurality of tiles and a flag indicating whether all the tiles are independent. It can represent information about. Hereinafter, an embodiment in which a tile constituting the background area 940 has a dependency will be described.

도 10은 본 개시의 제1 실시예를 설명하기 위한 픽처의 다른 일 예를 나타낸 도면이다.10 is a diagram illustrating another example of a picture for explaining a first embodiment of the present disclosure.

도 10은 백그라운드 영역(1010)을 구성하는 타일이 의존적인 것만 제외하고는 도 9와 동일하다. 백그라운드 영역(1010)을 구성하는 타일이 의존적인 경우, 뷰포트 영역과 마찬가지로 타일 그룹과 타일 셋의 정보를 갖는다. FIG. 10 is the same as FIG. 9 except that the tiles constituting the background area 1010 are dependent. When the tiles constituting the background area 1010 are dependent, as in the viewport area, information about a tile group and a tile set is included.

도 10의 픽처를 제1 실시예에 따른 PPS를 이용해 나타내면,Referring to the picture of FIG. 10 using the PPS according to the first embodiment,

all_independent_tile_flag = off;all_independent_tile_flag = off;

num_tile_groups_minus1 = 2;num_tile_groups_minus1 = 2;

{tile_group_id = 0; {tile_group_id = 0;

num_tile_sets_minus1 = 1,      num_tile_sets_minus1 = 1,

tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9      tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9

tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};      tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1; {tile_group_id = 1;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};      tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};

{tile_group_id = 2; {tile_group_id = 2;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 255 (reserved, bg_tile)}; tile_set_id = 255 (reserved, bg_tile) };

과 같이 나타낼 수 있다. 백그라운드 영역(1010)의 타일 그룹은 2가 되고, 타일 셋은 총 하나이며, 타일 셋의 id는 255이다. 백그라운드 영역(1010)의 경우 타일 셋의 id를 255로 미리 정해놓을 수 있다. 여기서, 255는 미리 정해진 숫자를 의미하며, 255로 한정하는 것은 아니다. 즉, 타일 셋의 id가 255이면, 백그라운드 영역이기 때문에 별도로 상기 타일 셋을 구성하는 영역을 표시하지 않아도 된다.It can be expressed as The tile group of the background area 1010 is 2, the tile set is one in total, and the id of the tile set is 255. In the case of the background area 1010, the id of the tile set may be preset to 255. Here, 255 means a predetermined number, and is not limited to 255. That is, if the id of the tile set is 255, since it is a background region, an area constituting the tile set does not need to be separately displayed.

아래의 [표 9]은 제1 실시예에 따른 도 10의 일부 타일의 타일 헤더를 나타낸 것이다.Table 9 below shows tile headers of some tiles of FIG. 10 according to the first embodiment.

tile_idtile_id 00 1One 22 33 3131 3333 3939 4545 independent_tile_flagindependent_tile_flag 00 00 00 00 00 00 00 00 tile_group_idtile_group_id 00 00 22 22 00 1One 00 22 tile_set_idtile_set_id 00 00 255255 255255 1One 00 1One 255255

예를 들어, 도 10에서 타일 id가 3인 타일은 경계가 점선으로 표시되어 있어 의존적이므로 이를 지시하는 플래그인 independent_tile_flag가 0으로 표시된다. 또한, 상기 타일은 3개의 타일 그룹(0, 1, 및 2) 중 2에 속하며, 백그라운드 영역에 속하므로 타일 셋의 id는 255임을 타일 헤더에 나타낼 수 있다.For example, in FIG. 10, since a tile having a tile id of 3 is dependent because the boundary is indicated by a dotted line, independent_tile_flag, which is a flag indicating this, is displayed as 0. FIG. In addition, since the tile belongs to 2 of 3 tile groups (0, 1, and 2), and belongs to a background region, the tile set may have an id of 255 in the tile header.

도 10의 픽처를 제1 실시예에 따른 PPS를 이용해 다른 방법으로 나타내면,If the picture of Fig. 10 is represented by another method using the PPS according to the first embodiment,

all_independent_tile_flag = off;all_independent_tile_flag = off;

num_tile_groups_minus1 = 2;num_tile_groups_minus1 = 2;

{tile_group_id = 0; {tile_group_id = 0;

num_tile_sets_minus1 = 1,      num_tile_sets_minus1 = 1,

tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,      tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,

tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};      tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1; {tile_group_id = 1;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};      tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};

{tile_group_id = 255 (reserved, bg_tile)};{ tile_group_id = 255 (reserved, bg_tile) };

과 같이 나타낼 수 있다. 여기서는 백그라운드 영역(1010)의 타일 그룹이 255이다. 여기서, 255는 미리 정해진 숫자를 의미하며, 255로 한정하는 것은 아니다. 즉, 타일 그룹의 id가 255이면, 백그라운드 영역이기 때문에 별도로 타일 셋 및 타일 셋을 구성하는 영역을 표시하지 않아도 된다.It can be expressed as In this case, the tile group of the background area 1010 is 255. Here, 255 means a predetermined number, and is not limited to 255. That is, if the id of the tile group is 255, since it is a background region, it is not necessary to separately display the tile set and the region constituting the tile set.

아래의 [표 10]은 제1 실시예에 따른 도 10의 일부 타일의 타일 헤더를 다른 방법으로 나타낸 것이다.Table 10 below illustrates tile tiles of some tiles of FIG. 10 according to the first exemplary embodiment.

tile_idtile_id 00 1One 22 33 3131 3333 3939 4545 independent_tile_flagindependent_tile_flag 00 00 00 00 00 00 00 00 tile_group_idtile_group_id 00 00 255255 255255 00 1One 00 255255 tile_set_idtile_set_id 00 00 -- -- 1One 00 1One --

예를 들어, 도 10에서 타일 id가 3인 타일은 경계가 점선으로 표시되어 있어 의존적이므로 이를 지시하는 플래그인 independent_tile_flag가 0으로 표시된다. 또한, 상기 타일은 백그라운드 영역에 속하므로, 타일 그룹의 id는 255임을 타일 헤더에 나타낼 수 있다.For example, in FIG. 10, since a tile having a tile id of 3 is dependent because the boundary is indicated by a dotted line, independent_tile_flag, which is a flag indicating this, is displayed as 0. FIG. In addition, since the tile belongs to the background region, the tile group may indicate that the id of the tile group is 255 in the tile header.

이하의 실시예에서는 제1 실시예와 동일한 부분에 대해서는 그 설명을 생략한다.In the following embodiment, the description about the same part as 1st embodiment is abbreviate | omitted.

<제2 실시예>Second Embodiment

본 개시의 제2 실시예에서도 픽처의 분할 정보 및 상기 픽처를 구성하는 타일의 독립성 정보는 PPS에 저장되고, 타일 헤더에는 타일 id 정보만이 저장된다. 다만, 제2 실시예에서는 백그라운드 영역임을 나타내는 별도의 신택스가 존재한다. 즉, 제1 실시예에서는 타일 그룹의 id 또는 타일 셋의 id로 백그라운 영역임을 나타냈으나, 제2 실시예에서는 백그라운드 영역임을 나타내는 별도의 신택스를 갖는다. 제2 실시예에서의 PPS와 타일 헤더는 해당 타일이 백그라운드 영역에 포함되는지에 따라 달라질 수 있다. 또한, 타일 헤더에는 타일이 독립성이 있는지 여부, 타일 그룹, 및 타일 셋에 대한 정보가 포함될 수 있다. In the second embodiment of the present disclosure, the split information of the picture and the independence information of the tiles constituting the picture are stored in the PPS, and only the tile id information is stored in the tile header. However, in the second embodiment, there is a separate syntax indicating that it is a background region. That is, in the first embodiment, the background region is indicated by the id of the tile group or the id of the tile set, but in the second embodiment, a separate syntax indicating the background region is provided. The PPS and the tile header in the second embodiment may vary depending on whether the corresponding tile is included in the background area. In addition, the tile header may include information on whether the tile is independent, tile group, and tile set.

제2 실시예에서도, 타일 그룹의 id(tile_group_id) 및 타일 셋의 id(tile_set_id)가 동일한 타일간에는 인터 예측과 필터링시 서로 의존적이다. 즉, 인터 예측과 필터링시, 상기 타일 그룹의 id 및 상기 타일 셋의 id에 따라 참조/사용 여부가 결정된다. 선택적으로, 인터 예측과 필터링시, 타일의 타일 그룹의 id만을 확인하여 참조/사용 여부를 결정할 수도 있다.Also in the second embodiment, between tiles having the same id (tile_group_id) of the tile group and id (tile_set_id) of the tile set are mutually dependent upon inter prediction and filtering. That is, during inter prediction and filtering, it is determined whether to refer to or use the ID of the tile group and the ID of the tile set. Optionally, during inter prediction and filtering, only the id of the tile group of the tile may be checked to determine whether to refer to or use the tile.

아래의 [표 11]은 제2 실시예에 따른 PPS를 나타낸 것이다.Table 11 below shows the PPS according to the second embodiment.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp () { multiple_tiles_in_pic_flag multiple_tiles_in_pic_flag if( multiple_tiles_in_pic_flag ) { if (multiple_tiles_in_pic_flag) { num_tile_columns_minus1 num_tile_columns_minus1 num_tile_rows_minus1 num_tile_rows_minus1 uniform_spacing_flag uniform_spacing_flag if( !uniform_spacing_flag ) { if (! uniform_spacing_flag) { for( i = 0; i < num_tile_columns_minus1; i++ ) for (i = 0; i <num_tile_columns_minus1; i ++) column_width_minus1[ i ] column_width_minus1 [i] for( i = 0; i < num_tile_rows_minus1; i++ ) for (i = 0; i <num_tile_rows_minus1; i ++) row_height_minus1[ i ] row_height_minus1 [i] } } all_independent_tile_flag all_independent_tile_flag if( !all_independent_tile_flag ) {    if (! all_independent_tile_flag) { bg_tile_set_enabled_flagbg_tile_set_enabled_flag num_tile_groups_minus1 num_tile_groups_minus1 for( i = 0; i < num_tile_groups_minus1; i++ ) {      for (i = 0; i <num_tile_groups_minus1; i ++) { tile_group_id[ i ] tile_group_id [i] num_tile_sets_minus1 num_tile_sets_minus1 for( j = 0; j < num_tile_sets_minus1; j++ ) {        for (j = 0; j <num_tile_sets_minus1; j ++) { tile_set_id[ i ][ j ] tile_set_id [i] [j] if( bg_tile_set_enabled_flag )          if (bg_tile_set_enabled_flag) bg_tile_set_flag[ i ][ j ] (default: off) bg_tile_set_flag [i] [j] (default: off) if( !bg_tile_set_flag ) {          if (! bg_tile_set_flag) { topleft_tile_id[ i ][ j ]            topleft_tile_id [i] [j] bottomright_tile_id[ i ][ j ]bottomright_tile_id [i] [j] }          } }        } } } } } } } }}

제2 실시예에 따른 PPS에는 백그라운드 영역이 존재함을 명시적으로 나타내는 플래그(bg_tile_set_enabled_flag), 해당 타일 셋이 백그라운드 영역인지를 나타내는 플래그(bg_tile_set_flag)가 포함된다. 상기 해당 타일 셋이 백그라운드 영역인지를 나타내는 플래그(bg_tile_set_flag)가 "on"이면, 해당 타일 셋은 백그라운드 영역을 구성하는 타일 셋으로 인식하고, 별도로 타일 셋을 구성하는 영역을 지시하지 않는다.The PPS according to the second embodiment includes a flag (bg_tile_set_enabled_flag) explicitly indicating that a background region exists and a flag (bg_tile_set_flag) indicating whether the corresponding tile set is a background region. If the flag (bg_tile_set_flag) indicating whether the corresponding tile set is a background area is "on", the tile set is recognized as a tile set constituting the background area and does not separately indicate an area constituting the tile set.

도 9의 픽처를 제2 실시예에 따른 PPS를 이용해 나타내면,Referring to the picture of FIG. 9 using the PPS according to the second embodiment,

all_independent_tile_flag = off;all_independent_tile_flag = off;

bg_tile_set_enabled_flag = off;bg_tile_set_enabled_flag = off;

num_tile_groups_minus1 = 1;num_tile_groups_minus1 = 1;

{tile_group_id = 0; {tile_group_id = 0;

num_tile_sets_minus1 = 1,      num_tile_sets_minus1 = 1,

tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,      tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,

tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};      tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1; {tile_group_id = 1;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};      tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};

과 같이 나타낼 수 있다. 즉, 백그라운드 영역을 구성하는 타일이 독립성이 있다면, bg_tile_set_enabled_flag가 off로 표시되는 것만 제외하고는 제1 실시예와 동일하다.It can be expressed as That is, if the tiles constituting the background area are independent, the same as the first embodiment except that bg_tile_set_enabled_flag is displayed as off.

반면, 백그라운드 영역을 구성하는 타일이 의존성이 있는 도 10의 픽처를 제2 실시예에 따른 PPS를 이용해 나타내면,On the other hand, if the picture constituting the background region is shown in Figure 10 using the PPS according to the second embodiment of the dependency,

all_independent_tile_flag = off;all_independent_tile_flag = off;

bg_tile_set_enabled_flag = on;bg_tile_set_enabled_flag = on;

num_tile_groups_minus1 = 2;num_tile_groups_minus1 = 2;

{tile_group_id = 0; {tile_group_id = 0;

num_tile_sets_minus1 = 1,        num_tile_sets_minus1 = 1,

tile_set_id = 0, bg_tile_set_flag = off, topleft_tile_id = 0, bottomright_tile_id = 9,tile_set_id = 0, bg_tile_set_flag = off , topleft_tile_id = 0, bottomright_tile_id = 9,

tile_set_id = 1, bg_tile_set_flag = off, topleft_tile_id = 29, bottomright_tile_id = 39};tile_set_id = 1, bg_tile_set_flag = off , topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1; {tile_group_id = 1;

num_tile_sets_minus1 = 0,        num_tile_sets_minus1 = 0,

tile_set_id = 0, bg_tile_set_flag = off, topleft_tile_id = 33, bottomright_tile_id = 43};tile_set_id = 0, bg_tile_set_flag = off , topleft_tile_id = 33, bottomright_tile_id = 43};

{tile_group_id = 2; {tile_group_id = 2;

num_tile_sets_minus1 = 0,        num_tile_sets_minus1 = 0,

tile_set_id = 0, bg_tile_set_flag = on};tile_set_id = 0, bg_tile_set_flag = on };

과 같이 나타낼 수 있다. 백그라운드를 구성하는 타일이 의존적이라면, bg_tile_set_enabled_flag을 on으로 표시하는 것 외에도, 타일 셋 각각이 백그라운드 영역인지 여부를 나타내는 플래그(bg_tile_set_flag)가 포함된다. It can be expressed as If the tiles constituting the background are dependent, in addition to marking bg_tile_set_enabled_flag on, a flag (bg_tile_set_flag) indicating whether each tile set is a background region is included.

아래의 [표 12]은 제2 실시예에 따른 도 10의 일부 타일의 타일 헤더를 나타낸 것이다.Table 12 below shows tile headers of some tiles of FIG. 10 according to the second embodiment.

tile_idtile_id 00 1One 22 33 3131 3333 3939 4545 independent_tile_flagindependent_tile_flag 00 00 00 00 00 00 00 00 tile_group_idtile_group_id 00 00 22 22 00 1One 00 22 tile_set_idtile_set_id 00 00 00 00 1One 00 1One 00

예를 들어, 도 10에서 타일 id가 3인 타일은 3개의 타일 그룹(0, 1, 및 2) 중 2에 속하며, 타일 셋의 id는 0임을 타일 헤더에 나타낼 수 있다. For example, in FIG. 10, a tile having a tile id of 3 belongs to 2 of 3 tile groups (0, 1, and 2), and may indicate that the id of the tile set is 0 in the tile header.

아래의 [표 13]은 제2 실시예에 따른 다른 PPS를 나타낸 것이다.Table 13 below shows another PPS according to the second embodiment.

pic_parameter_set_rbsp( ) {pic_parameter_set_rbsp () { multiple_tiles_in_pic_flag multiple_tiles_in_pic_flag if( multiple_tiles_in_pic_flag ) { if (multiple_tiles_in_pic_flag) { num_tile_columns_minus1 num_tile_columns_minus1 num_tile_rows_minus1 num_tile_rows_minus1 uniform_spacing_flag uniform_spacing_flag if( !uniform_spacing_flag ) { if (! uniform_spacing_flag) { for( i = 0; i < num_tile_columns_minus1; i++ ) for (i = 0; i <num_tile_columns_minus1; i ++) column_width_minus1[ i ] column_width_minus1 [i] for( i = 0; i < num_tile_rows_minus1; i++ ) for (i = 0; i <num_tile_rows_minus1; i ++) row_height_minus1[ i ] row_height_minus1 [i] } } all_independent_tile_flag    all_independent_tile_flag if( !all_independent_tile_flag ) {    if (! all_independent_tile_flag) { bg_tile_group_enabled_flagbg_tile_group_enabled_flag num_tile_groups_minus1      num_tile_groups_minus1 for( i = 0; i < num_tile_groups_minus1; i++ ) {      for (i = 0; i <num_tile_groups_minus1; i ++) { tile_group_id[ i ]        tile_group_id [i] if( bg_tile_group_enabled_flag )       if (bg_tile_group_enabled_flag) bg_tile_group_flag[ i ] (default: off) bg_tile_group_flag [i] (default: off) if( !bg_tile_group_flag ) {        if (! bg_tile_group_flag) { num_tile_sets_minus1        num_tile_sets_minus1 for( j = 0; j < num_tile_sets_minus1; j++ ) {          for (j = 0; j <num_tile_sets_minus1; j ++) { tile_set_id[ i ][ j ]            tile_set_id [i] [j] topleft_tile_id[ i ][ j ]            topleft_tile_id [i] [j] bottomright_tile_id[ i ][ j ]bottomright_tile_id [i] [j] }          } }        } } } } } }  } }}

제2 실시예에 따른 다른 PPS에는 백그라운드 영역이 존재함을 명시적으로 나타내는 플래그(bg_tile_group_enabled_flag), 해당 타일 그룹이 백그라운드 영역인지를 나타내는 플래그(bg_tile_group_flag)가 포함된다. 상기 해당 타일 그룹이 백그라운드 영역인지를 나타내는 플래그(bg_tile_group_flag)가 "on"이면, 해당 타일 그룹은 백그라운드 영역을 구성하는 타일 그룹으로 인식하고, 별도로 타일 그룹을 구성하는 타일 셋 영역을 지시하지 않는다.Another PPS according to the second embodiment includes a flag (bg_tile_group_enabled_flag) explicitly indicating that a background region exists and a flag (bg_tile_group_flag) indicating whether the corresponding tile group is a background region. If the flag bg_tile_group_flag indicating whether the corresponding tile group is a background region is "on", the tile group is recognized as a tile group constituting the background region and does not separately indicate a tile set region constituting the tile group.

도 9의 픽처를 제2 실시예에 따른 다른 PPS를 이용해 나타내면,If the picture of Fig. 9 is shown using another PPS according to the second embodiment,

all_independent_tile_flag = off;all_independent_tile_flag = off;

bg_tile_group_enabled_flag = off;bg_tile_group_enabled_flag = off;

num_tile_groups_minus1 = 1;num_tile_groups_minus1 = 1;

{tile_group_id = 0; {tile_group_id = 0;

num_tile_sets_minus1 = 1,      num_tile_sets_minus1 = 1,

tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,      tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,

tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};      tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1; {tile_group_id = 1;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};      tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};

과 같이 나타낼 수 있다. 즉, 백그라운드 영역을 구성하는 타일이 독립성이 있다면, 상기 백그라운드 영역이 존재함을 명시적으로 나타내는 플래그(bg_tile_group_enabled_flag)을 off로 표시하는 것만 제외하고는 제1 실시예와 동일하다.It can be expressed as That is, if the tiles constituting the background area are independent, the same as the first embodiment except that a flag (bg_tile_group_enabled_flag) explicitly indicating that the background area exists is displayed as off.

백그라운드 영역을 구성하는 타일이 의존성이 있는 도 10의 픽처를 제2 실시예에 따른 다른 PPS를 이용해 나타내면,If the picture constituting the background region is shown in Fig. 10 with a dependency on using a different PPS according to the second embodiment,

all_independent_tile_flag = off;all_independent_tile_flag = off;

bg_tile_group_enabled_flag = on;bg_tile_group_enabled_flag = on;

num_tile_groups_minus1 = 2;num_tile_groups_minus1 = 2;

{tile_group_id = 0, bg_tile_group_flag = off; {tile_group_id = 0, bg_tile_group_flag = off ;

num_tile_sets_minus1 = 1,      num_tile_sets_minus1 = 1,

tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,      tile_set_id = 0, topleft_tile_id = 0, bottomright_tile_id = 9,

tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};      tile_set_id = 1, topleft_tile_id = 29, bottomright_tile_id = 39};

{tile_group_id = 1, bg_tile_group_flag = off; {tile_group_id = 1, bg_tile_group_flag = off ;

num_tile_sets_minus1 = 0,      num_tile_sets_minus1 = 0,

tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};      tile_set_id = 0, topleft_tile_id = 33, bottomright_tile_id = 43};

{tile_group_id = 2, bg_tile_group_flag = on};{tile_group_id = 2, bg_tile_group_flag = on };

과 같이 나타낼 수 있다. 백그라운드 영역을 구성하는 타일이 의존적이라면, 상기 백그라운드 영역이 존재함을 명시적으로 나타내는 플래그(bg_tile_group_enabled_flag)를 on으로 나타내는 것 외에도, 타일 그룹 각각이 백그라운드 영역에 포함되는지 여부를 나타내는 플래그(bg_tile_group_flag)가 포함된다.It can be expressed as If the tiles constituting the background area are dependent, in addition to indicating a flag (bg_tile_group_enabled_flag) explicitly indicating that the background area exists, a flag (bg_tile_group_flag) indicating whether each tile group is included in the background area is included. do.

아래의 [표 14]은 제2 실시예에 따른 도 10의 일부 타일의 다른 타일 헤더를 나타낸 것이다.Table 14 below shows another tile header of some tiles of FIG. 10 according to the second embodiment.

tile_idtile_id 00 1One 22 33 3131 3333 3939 4545 independent_tile_flagindependent_tile_flag 00 00 00 00 00 00 00 00 tile_group_idtile_group_id 00 00 22 22 00 1One 00 22 tile_set_idtile_set_id 00 00 -- -- 1One 00 1One --

예를 들어, 도 10에서 타일 id가 3인 타일은 타일 그룹의 id가 2임을 타일 헤더에 나타낼 수 있다. For example, in FIG. 10, a tile having a tile id of 3 may indicate that an id of a tile group is 2 in a tile header.

<제3 실시예>Third Embodiment

본 개시의 제3 실시예에서는 픽처의 분할 정보 및 상기 픽처를 구성하는 타일의 독립성 정보가 모두 타일 헤더에 저장된다. 제3 실시예에 따르면 PPS 없이 타일 헤더만으로 타일의 위치, 크기, 및 의존성 여부 등을 판단할 수 있다.In the third embodiment of the present disclosure, both the split information of the picture and the independence information of the tiles constituting the picture are stored in the tile header. According to the third embodiment, it is possible to determine the position, size, and dependence of a tile using only a tile header without a PPS.

아래의 [표 15]는 제3 실시예에 따른 타일 헤더를 나타낸 것이다.Table 15 below shows the tile header according to the third embodiment.

tile_header( ) {tile_header () { tile_position  tile_position tile_width  tile_width independent_tile_flag   independent_tile_flag if( !independent_tile_flag ) if (! independent_tile_flag) tile_layout_type     tile_layout_type     … }}

제3 실시예에 따른 타일 헤더에는 타일 시작점(즉, 좌상측)의 CTU id를 지시하는 신택스(tile_position), 타일 가로축 끝점(즉, 우상측)의 CTU id와 타일 시작점의 CTU id의 차이값을 지시하는 신택스(tile_width), 해당 타일의 의존성 여부를 나타내는 플래그(independent_tile_flag), 및 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)가 포함된다. 여기서, 타일의 시작점은 타일 내 첫번째 CTU를 의미하고, 타일의 가로축 끝점은 타일 내 우상측 CTU를 의미한다. 상기 해당 타일과 주변 타일간의 관계를 나타내는 신택스는 상기 해당 타일의 레이아웃의 종류를 나타내며, 이하에서 자세히 설명한다.The tile header according to the third embodiment includes a syntax value indicating a CTU id of a tile start point (ie, upper left), a difference value between a CTU id of a tile horizontal axis end point (ie, upper right) and a CTU id of a tile start point. The indicating syntax (tile_width), a flag indicating whether or not the corresponding tile is dependent (independent_tile_flag), and a syntax (tile_layout_type) indicating a relationship between the tile and neighboring tiles are included. Here, the starting point of the tile refers to the first CTU in the tile, and the horizontal axis end point of the tile refers to the right upper CTU in the tile. The syntax indicating the relationship between the tile and the surrounding tile indicates the type of layout of the tile, which will be described in detail below.

아래의 [표 16]은 제3 실시예에 따른 다른 타일 헤더를 나타낸 것이다.Table 16 below shows another tile header according to the third embodiment.

tile_header( ) {tile_header () { tile_position  tile_position tile_width  tile_width if ( !all_independent_tile_flag )  if (! all_independent_tile_flag) independent_tile_flag (default: on) independent_tile_flag (default: on) if( !independent_tile_flag ) if (! independent_tile_flag) tile_layout_typetile_layout_type }}

제3 실시예에 따른 다른 타일 헤더에는 SPS 또는 PPS와 같이 상위 헤더에 기록된 플래그(all_independent_tile_flag)가 포함될 수 있다. Another tile header according to the third embodiment may include a flag (all_independent_tile_flag) recorded in an upper header such as an SPS or a PPS.

도 11은 본 개시의 제3 실시예를 설명하기 위한 픽처의 일 예를 나타낸 도면이다.11 is a diagram illustrating an example of a picture for describing a third embodiment of the present disclosure.

도 11은 도 9의 픽처를 타일 id가 아닌 CTU id로 나타낸 것이다.FIG. 11 illustrates the picture of FIG. 9 as a CTU id rather than a tile id.

아래의 [표 17]은 제3 실시예에 따른 도 11의 일부 타일에 대한 타일 헤더를 나타낸 것이다.Table 17 below shows tile headers for some tiles of FIG. 11 according to the third embodiment.

tile_positiontile_position 00 22 44 66 110110 130130 142142 166166 tile_widthtile_width 1One 1One 1One 1One 1One 1One 1One 1One independent_tile_flagindependent_tile_flag 00 00 1One 1One 00 00 00 00 tile_layout_typetile_layout_type ** ** -- -- ** ** ** **

예를 들어, 도 11에서 CTU id가 4로 시작하는 타일은 상기 타일의 가로축 끝점의 CTU id가 5이어서 타일 끝점의 CTU id와 타일 시작점의 CTU id의 차이값(tile_width)은 1이며, 독립성이 있어 주변 타일과의 관계를 나타내는 신택스가 의미없다. 다른 예로, 도 11에서 CTU id가 0으로 시작하는 타일은 상기 타일의 가로축 끝점의 CTU id가 1이고, 타일 끝점의 CTU id와 타일 시작점의 CTU id의 차이값(tile_width)은 1이며, 의존성이 있어 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)로 주변 타일과의 관계를 나타낸다. For example, in FIG. 11, a tile whose CTU id starts with 4 has a CTU id of the horizontal end point of the tile of 5, so that a difference value (tile_width) between the CTU id of the tile end point and the CTU id of the tile start point is 1, There is no meaning in syntax which shows relation with neighboring tile. As another example, in FIG. 11, a tile having a CTU id starting with 0 has a CTU id of 1 on the horizontal axis end point of the tile, and a difference (tile_width) between the CTU id of the tile end point and the CTU id of the tile start point is 1, In this case, a syntax (tile_layout_type) indicating a relationship between a corresponding tile and a neighboring tile indicates a relationship with a neighboring tile.

해당 타일과 주변 타일간의 관계는 다양한 방법으로 나타낼 수 있다. The relationship between the tile and the neighboring tiles can be represented in various ways.

일 예로, 하나의 타일에 인접한 8개의 타일에 대한 의존성 여부를 최대 8bit로 나타낼 수 있다. 다만, 해당 타일이 픽처의 경계에 위치한다면, 즉 인접 타일이 존재하지 않는다면 bit로 나타내지 않을 수 있다. 예컨대, 도 12에서 CTU id가 130으로 시작하는 타일의 경우, 좌상측 타일을 기준으로 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)는 "00001011"으로 나타낼 수 있다. 상기 "00001011"의 첫 번째 bit인 0은 CTU id가 96으로 시작하는 타일과의 관계가 독립적임을 나타내며, 상기 "00001011"의 두 번째 bit인 0은 CTU id가 98로 시작하는 타일과의 관계가 독립적임을 나타내고, 상기 "00001011"의 다섯 번째 bit인 1은 CTU id가 132로 시작하는 타일과의 관계가 의존적임을 나타낸다. 즉, CTU id가 130으로 시작하는 타일은 CTU id가 132, 162, 및 164로 시작하는 타일과 의존성을 가진다. 다른 예로, 도 12에서 CTU id가 166으로 시작하는 타일의 경우, 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)는 "11010"으로 나타낼 수 있다. 상기 CTU id가 166으로 시작하는 타일은 픽처의 경계에 위치하여 상기 신택스를 5bit로 나타낼 수 있다. 상기 "11010"의 첫 번째 bit인 1은 CTU id가 132로 시작하는 타일과의 관계가 의존적임을 나타내며, 상기 "11010"의 세 번째 bit인 0은 CTU id가 136으로 시작하는 타일과의 관계가 독립적임을 나타낸다. 즉, CTU id가 166으로 시작하는 타일은 CTU id가 132, 134, 및 164로 시작하는 타일과 의존성을 가진다. 여기서는 의존적일 경우 1로 나타내고 독립적일 경우 0으로 나타냈으나, 반대로도 나타낼 수 있다. 또한, 좌상측 타일이 아닌 다른 위치의 타일을 기준으로 상기 신택스를 나타낼 수 있다.As an example, whether or not dependence on eight tiles adjacent to one tile may be indicated by a maximum of 8 bits. However, if the corresponding tile is located at the boundary of the picture, that is, if there is no adjacent tile, it may not be represented as a bit. For example, in the case of a tile having a CTU id starting with 130 in FIG. 12, a syntax (tile_layout_type) indicating a relationship between the tile and the neighboring tiles based on the upper left tile may be represented as “00001011”. The first bit of "00001011", 0, indicates that the relationship with the tile whose CTU id starts with 96 is independent, and the second bit of "00001011", 0 has a relationship with the tile whose CTU id starts with 98. 1 indicates that the fifth bit of "00001011" is dependent on a tile whose CTU id starts with 132. That is, a tile whose CTU id starts with 130 has a dependency with tiles whose CTU id starts with 132, 162, and 164. As another example, in the case of a tile having a CTU id starting with 166 in FIG. 12, a syntax (tile_layout_type) indicating a relationship between the corresponding tile and the neighboring tile may be represented by “11010”. A tile whose CTU id starts with 166 may be located at the boundary of a picture to represent the syntax as 5 bits. The first bit of "11010" indicates that the relationship with the tile whose CTU id starts with 132 is dependent, and the 0 as the third bit of "11010" indicates the relationship with the tile whose CTU id starts with 136. Independent. That is, a tile whose CTU id starts with 166 has a dependency with a tile whose CTU id begins with 132, 134, and 164. In this case, it is represented as 1 when dependent and 0 when independent, but vice versa. In addition, the syntax may be indicated based on tiles at positions other than the upper left tile.

다른 예로, 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)의 총 비트 수를 결정하고, 각 비트가 의미하는 바를 정의할 수 있다. 예컨대, 첫 번째 bit는 해당 타일이 타일 셋 내부에 위치하는지 또는 경계하는지를 나타내고(ex. 0: 내부, 1: 경계), 두 번째 bit는 해당 타일이 경계에 위치한다면 코너인지 여부를 나타낼 수 있다(ex. 0: 코너 x, 1: 코너). 또, 세 번째 bit와 네 번째 bit는 해당 타일이 경계에 위치한다면 경계의 상, 하, 좌, 우 중 어디에 위치하는지 구체적인 위치를 나타낼 수 있다(ex. 해당 타일이 코너에 위치하지 않으면, 00: 좌측 경계, 01: 상측 경계, 10: 우측 경계, 11: 하측 경계, 해당 타일이 코너에 위치하면, 00: 좌측 상단 코너, 01: 우측 상단 코너, 10: 우측 하단 코너, 11: 좌측 하단 코너). 예컨대, 도 11에서 CTU id가 130으로 시작하는 타일의 경우, 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)는 "1100"으로 나타낼 수 있다. 상기 "1100"의 첫 번째 bit인 1은 상기 CTU id가 130으로 시작하는 타일이 타일 셋 경계에 위치함을 의미하며, 상기 "1100"의 두 번째 bit인 1은 타일 셋의 코너에 위치함을 나타낸다. 또, 상기 "1100"의 세 번째 bit와 네 번째 bit인 00은 상기 해당 타일이 좌측 상단 코너에 위치함을 나타낸다. 다른 예로, 도 11에서 CTU id가 132로 시작하는 타일의 경우, 해당 타일과 주변 타일간의 관계를 나타내는 신택스(tile_layout_type)는 "1001"로 나타낼 수 있다. 상기 "1001"의 첫 번째 bit인 1은 상기 CTU id가 132로 시작하는 타일이 타일 셋 경계에 위치함을 나타내며, 상기 "1001"의 두 번째 bit인 0은 타일 셋의 코너가 아닌 곳에 위치함을 의미한다. 또, 상기 "1001"의 세 번째 bit와 네 번째 bit인 01은 상기 해당 타일이 상측 경계에 위치함을 나타낸다.As another example, the total number of bits of the syntax (tile_layout_type) indicating the relationship between the tile and the neighboring tiles may be determined, and what each bit means. For example, the first bit may indicate whether the tile is located inside or inside the tile set (ex. 0: inside, 1: boundary), and the second bit may indicate whether the tile is a corner if the tile is located at the boundary ( ex. 0: corner x, 1: corner). In addition, the third bit and the fourth bit may indicate a specific position of the top, bottom, left and right of the boundary if the tile is located at the boundary (ex. 00: if the tile is not located at the corner). Left border, 01: top border, 10: right border, 11: bottom border, if the tile is in the corner, 00: top left corner, 01: top right corner, 10: bottom right corner, 11: bottom left corner) . For example, in the case of a tile having a CTU id starting with 130 in FIG. 11, a syntax (tile_layout_type) indicating a relationship between the corresponding tile and the neighboring tile may be represented by “1100”. The first bit of "1100" means that the tile whose CTU id starts with 130 is located at the tile set boundary, and the second bit of "1100" is 1 is located at the corner of the tile set. Indicates. In addition, the third bit and the fourth bit of "1100", 00 indicates that the corresponding tile is located in the upper left corner. As another example, in the case of a tile having a CTU id starting with 132 in FIG. 11, a syntax (tile_layout_type) indicating a relationship between the corresponding tile and the neighboring tile may be represented by “1001”. A first bit of “1001” indicates that a tile starting with the CTU id of 132 is located at a tile set boundary, and a second bit of “1001” is located outside a corner of a tile set. Means. In addition, the third bit and the fourth bit of "1001", 01 indicates that the corresponding tile is located at an upper boundary.

이 외에도 다양한 방법으로 해당 타일과 주변 타일간의 관계를 나타낼 수 있을 것이다.In addition, the relationship between the tile and the surrounding tile may be represented in various ways.

<제4 실시예>Fourth Example

본 개시의 제4 실시예에서 픽처의 분할 정보는 타일 헤더에 저장되고, 각 타일은 항상 독립성이 있다. 또는, 상기 픽처의 분할 정보는 PPS에, 타일 헤더에는 타일 id가 저장되고, 각 타일은 항상 독립적이다. 즉, 인트라 예측, 인터 예측, 엔트로피 코딩, 및 필터링시 모든 타일이 독립적이다. 그러므로, 타일 헤더에는 위치 정보만이 포함된다. 제4 실시예에 의하면 각 타일간에 의존성이 없기 때문에 병렬 처리뿐만 아니라 분산 처리 또한 가능하다. 이는 클라우딩 컴퓨팅과 같은 환경에서 N개의 부호화 장치로 N개의 타일을 독자적으로 인코딩 및 디코딩할 수 있다. 다만, 재생시 다수개의 타일을 병합할 때, 타일 경계에 열화가 발생하는 문제가 생길 수 있다. In the fourth embodiment of the present disclosure, split information of a picture is stored in a tile header, and each tile is always independent. Alternatively, the split information of the picture is stored in a PPS, a tile id is stored in a tile header, and each tile is always independent. That is, all tiles are independent in intra prediction, inter prediction, entropy coding, and filtering. Therefore, only the location information is included in the tile header. According to the fourth embodiment, since there is no dependency between tiles, not only parallel processing but also distributed processing are possible. It can independently encode and decode N tiles with N encoding devices in an environment such as cloud computing. However, when merging a plurality of tiles during reproduction, deterioration may occur at a tile boundary.

아래의 [표 18]은 제4 실시예에 따른 타일 헤더를 나타낸 것이다.Table 18 below shows a tile header according to the fourth embodiment.

tile_header( ) {tile_header () { tile_position  tile_position tile_width  tile_width }}

제4 실시예에 따른 타일 헤더에는 타일 시작점의 CTU id를 지시하는 신택스(tile_position), 타일 가로축 끝점의 CTU id와 타일 시작점의 CTU id의 차이값을 지시하는 신택스(tile_width)가 포함된다. The tile header according to the fourth embodiment includes a syntax (tile_position) indicating a CTU id of a tile start point, and a syntax (tile_width) indicating a difference value between a CTU id of a tile horizontal axis end point and a CTU id of a tile start point.

<제5 실시예>Fifth Embodiment

제4 실시예를 따르는 경우 타일의 경계에서 발생하는 열화를 해결하기 위해, 본 개시의 제5 실시예에서는 각 타일의 경계에 패딩 영역(padding region) 또는 가드 밴드(guard band)을 추가한다. 추가한 패딩 영역에 정보는 타일 헤더에 포함된다.According to the fourth embodiment, in order to solve the degradation occurring at the boundary of the tiles, the fifth embodiment of the present disclosure adds a padding region or a guard band to the boundary of each tile. The information on the added padding area is included in the tile header.

아래의 [표 19]는 제5 실시예에 따른 타일 헤더를 나타낸 것이다.Table 19 below shows a tile header according to the fifth embodiment.

tile_header( ) {tile_header () { tile_position  tile_position tile_width  tile_width for( i = 0; i < 4; i++ ) {  for (i = 0; i <4; i ++) { band_width[ i ] band_width [i] band_type[ i ] band_type [i] }  } }}

제5 실시예에 따른 타일 헤더에는 타일 시작점의 CTU id를 지시하는 신택스(tile_position), 타일 가로축 끝점의 CTU id와 타일 시작점의 CTU id의 차이값을 지시하는 신택스(tile_width)가 포함된다. 이외에 타일의 좌측, 상측, 우측, 및 하측 패딩 영역의 루마 픽셀값을 나타내는 신택스(band_width)와 상기 패딩 영역에 채워지는 값의 종류를 나타내는 신택스(band_type)가 포함된다. 상기 패딩 영역에 채워지는 값의 종류에는 해당 타일 내 경계에 위치하는 픽셀값, 인접한 타일의 실제 픽셀값, 및 해당 타일 내 경계에 위치하는 픽셀값과 인접한 타일의 실제 픽셀값과의 거리를 고려한 평균값이 있다. The tile header according to the fifth embodiment includes a syntax (tile_position) indicating a CTU id of a tile start point, and a syntax (tile_width) indicating a difference value between a CTU id of a tile horizontal axis end point and a CTU id of a tile start point. In addition, a syntax (band_width) indicating luma pixel values of the left, upper, right, and lower padding areas of the tile, and a syntax (band_type) indicating the type of values filled in the padding area are included. Types of values filled in the padding area include an average value in consideration of the pixel value located at the boundary of the tile, the actual pixel value of the adjacent tile, and the distance between the pixel value located at the boundary of the tile and the actual pixel value of the adjacent tile. There is this.

도 12는 본 개시의 제5 실시예를 설명하기 위한 픽처의 일 예를 나타낸 도면이다. 12 is a diagram illustrating an example of a picture for describing a fifth embodiment of the present disclosure.

도 12에서 하나의 픽처는 4개의 타일로 구성되어 있다. 상기 4개의 타일의 좌측, 상측, 우측, 및 하측에 패딩 영역(1210, 1220, 1230, 1240)을 설정하고, 상기 패딩 영역에 값을 채운다. 이후, 인코딩/디코딩시 각 타일별로 분산 처리한다. 디코딩 후에는 패딩 영역(1210, 1220, 1230, 1240)을 제거하고 타일들을 병합함으로써 타일의 경계에 발생하는 열화를 해결할 수 있다.In FIG. 12, one picture is composed of four tiles. Padding areas 1210, 1220, 1230, and 1240 are set on the left, top, right, and bottom sides of the four tiles, and the padding areas are filled with values. Subsequently, the encoding / decoding process is distributed for each tile. After decoding, the degradation occurring at the boundary of the tiles may be solved by removing the padding areas 1210, 1220, 1230, and 1240 and merging the tiles.

추가적으로, 본 개시에 따른 제3 실시예 내지 제5 실시예의 타일 헤더에는 타일에 대한 타입 정보가 포함될 수 있다. 상기 타일에 대한 타입 정보는 해당 타일이 타일 셋에 속하는지 여부 및/또는 백그라운드 영역에 포함되는 타일인지 여부 등일 수 있다. In addition, the tile header of the third to fifth embodiments according to the present disclosure may include type information about a tile. The type information on the tile may be whether the corresponding tile belongs to the tile set and / or whether the tile is included in the background area.

또한, 본 개시에서 id는 배열의 index로 대체될 수 있다. Also, in the present disclosure, id may be replaced with an index of the array.

도 13은 영상 부호화 장치가 본 개시에 따른 하나의 픽처를 구성하는 방법의 순서도를 나타낸 도면이다. FIG. 13 is a flowchart of a method of configuring, by an image encoding apparatus, one picture according to the present disclosure. FIG.

상기 장치, 상세하게는 상기 장치의 블록 분할부는 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정한다(S1310). The device, specifically, the block division part of the device determines whether to divide one picture into a plurality of tiles (S1310).

상기 장치는 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할한다(S1320). 상기 하나의 픽처가 다수 개의 타일로 분할되었는지 여부는 플래그(예컨대, multiple_tiles_in_pic_flag)에 저장될 수 있다.The device divides the one picture into a plurality of tiles according to the determination (S1320). Whether one picture is divided into a plurality of tiles may be stored in a flag (eg, multiple_tiles_in_pic_flag).

상기 장치, 상세하게는 상기 장치의 부호화부는 상기 분할된 타일에 대한 정보를 포함하는 PPS를 생성한다(S1330). 상기 분할된 타일에 대한 정보는 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부, 및 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부에 대한 정보를 포함할 수 있다. 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부도 플래그(예를 들어, all_independent_tile_flag)에 저장해 PPS에 포함될 수 있다. In detail, the apparatus, in detail, an encoder of the apparatus, generates a PPS including information about the divided tiles (S1330). The information on the divided tile may include information on whether the single picture is divided into a plurality of tiles and whether all the divided tiles are independent of other divided tiles. Whether all the divided tiles are independent of other divided tiles may be stored in a flag (eg, all_independent_tile_flag) and included in the PPS.

상기 장치는 상기 분할된 타일의 타일 id를 포함하는 각각의 타일 헤더를 생성한다(S1340).The device generates each tile header including the tile id of the divided tile (S1340).

본 개시에서는 구체적으로 상기 장치의 블록 분할부, 부호화부가 상기 절차를 수행하는 것으로 언급하고 있으나, 하나의 구성이 상기 절차를 모두 수행하거나 또는 다수의 구성이 나누어 상기 절차를 수행할 수도 있다. In the present disclosure, the block division unit and the encoding unit of the apparatus are specifically referred to as performing the above procedure, but one configuration may perform all of the above procedures or a plurality of configurations may be performed to perform the above procedure.

도 14는 영상 복호화 장치가 본 개시에 따라 하나로 구성된 픽처를 판단하는 순서도를 나타낸 도면이다.FIG. 14 is a flowchart of a picture decoding apparatus determining a single picture according to the present disclosure.

상기 장치는, 상세하게는 상기 장치의 복호화부는 비트스트림을 수신하고, 상기 수신된 비트스트림을 복호화하여 타일 헤더에 포함된 타일 id를 확인한다(S1410). 상기 장치는 상기 타일 id를 이용해 하나의 픽처가 다수 개의 타일로 분할되었는지 판단할 수 있다.In detail, the apparatus, the decoder of the apparatus receives a bitstream, and decodes the received bitstream to check the tile id included in the tile header (S1410). The device may determine whether a picture is divided into a plurality of tiles using the tile id.

상기 장치는 상기 수신된 비트스트림 내에 포함된 PPS를 이용해 분할된 타일에 대한 정보를 유추한다(S1420). 또한, 상기 장치는 상기 분할된 타일에 대한 정보를 이용해 하나의 픽처가 다수 개의 타일로 분할되었는지 판단할 수 있다. 상기 분할된 타일에 대한 정보는 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부, 및 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부에 대한 정보를 포함할 수 있다. 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부도 PPS에 플래그(예를 들어, all_independent_tile_flag)로 포함되어 수신될 수 있다.The device infers information about the divided tile using the PPS included in the received bitstream (S1420). Also, the device may determine whether one picture is divided into a plurality of tiles by using the information about the divided tiles. The information on the divided tile may include information on whether the single picture is divided into a plurality of tiles and whether all the divided tiles are independent of other divided tiles. Whether all the divided tiles are independent of other divided tiles may be received as a flag (eg, all_independent_tile_flag) in the PPS.

도 13 및 도 14에서는 과정 S1310 내지 과정 S1340, 과정 S1410 내지 과정 S1420을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 13 및 도 14에 기재된 순서를 변경하여 실행하거나 과정 S1310 내지 과정 S1340, 과정 S1410 내지 과정 S1420 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 13 및 도 14는 시계열적인 순서로 한정되는 것은 아니다.13 and 14, the processes S1310 to S1340 and the processes S1410 to S1420 are described as being sequentially executed, but this is merely illustrative of the technical idea of an embodiment of the present invention. In other words, one of ordinary skill in the art to which an embodiment of the present invention belongs may execute the process described in FIGS. 13 and 14 by changing the order described in FIGS. 13 and 14 without departing from the essential characteristics of the embodiment of the present invention. 13 and 14 are not limited to the time-series order because they may be variously modified and modified by performing one or more processes in steps S1340 and S1410 to S1420 in parallel.

한편, 도 13 및 도 14에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.13 and 14 may be embodied as computer readable codes on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. That is, the computer-readable recording medium may be a magnetic storage medium (for example, ROM, floppy disk, hard disk, etc.), an optical reading medium (for example, CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet Storage medium). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

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

Claims (9)

하나의 픽처를 구성하는 방법에 있어서,
상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하는 단계,
상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 단계,
상기 분할된 타일에 대한 정보를 포함하는 PPS(Picture Parameter Set)를 생성하는 단계, 및
상기 분할된 타일의 타일 id를 포함하는 각각의 타일 헤더를 생성하는 단계로 구성되며,
상기 분할된 타일에 대한 정보는 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부, 및 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부에 대한 정보를 포함함을 특징으로 하는 하나의 픽처를 구성하는 방법.
In the method of constructing one picture,
Determining whether to divide the one picture into a plurality of tiles;
Dividing the single picture into a plurality of tiles according to the determination;
Generating a picture parameter set (PPS) including information about the divided tile, and
Generating each tile header including a tile id of the divided tile,
The information on the divided tile includes information on whether the single picture is divided into a plurality of tiles and whether all the divided tiles are independent of other divided tiles. How to organize your pictures.
제1항에 있어서,
상기 분할된 타일 중 의존성이 있는 타일이 존재하는 경우,
상기 분할된 타일에 대한 정보는 서로 의존하는 타일이 사각형의 영역을 구성하는 경우 이를 지시하는 정보, 상기 구성된 사각형의 영역이 서로 의존하는 경우 이를 지시하는 정보를 더 포함함을 특징으로 하는 하나의 픽처를 구성하는 방법.
The method of claim 1,
If there is a tile of dependence among the divided tiles,
The information about the divided tiles further includes information indicating when the tiles which are mutually dependent constitute a rectangular area, and information indicating when the divided rectangular areas depend on each other. How to configure.
제2항에 있어서,
상기 서로 의존하는 타일이 사각형의 영역을 구성함을 지시하는 정보 또는 상기 구성된 사각형의 영역이 서로 의존함을 지시하는 정보를 이용해 상기 하나의 픽처에서 상기 구성된 사각형의 영역을 제외한 영역을 구성하는 타일이 서로 의존하는지를 지시함을 특징으로 하는 하나의 픽처를 구성하는 방법.
The method of claim 2,
A tile constituting an area excluding the configured rectangular area in the single picture is determined by using information indicating that the mutually dependent tiles constitute a rectangular area or information indicating that the configured rectangular areas are dependent on each other. A method of constructing a picture, characterized by indicating whether they depend on each other.
제2항에 있어서,
상기 타일 헤더에 상기 분할된 타일이 독립성이 있는지 여부, 상기 분할된 타일이 의존성이 있다면 상기 분할된 타일이 포함되는 사각형의 영역에 대한 정보, 상기 분할된 타일이 의존하는 사각형의 영역에 대한 정보 중 적어도 하나를 더 포함함을 특징으로 하는 하나의 픽처를 구성하는 방법.
The method of claim 2,
Whether the divided tile is independent in the tile header, information about an area of a rectangle including the divided tile, and information about an area of a rectangle on which the divided tile depends, if the divided tile is dependent. And at least one picture.
제2항에 있어서,
상기 분할된 타일에 대한 정보는 상기 하나의 픽처에서 상기 구성된 사각형의 영역을 제외한 영역을 구성하는 타일이 의존성이 있는지 여부를 지시하는 정보를 더 포함함을 특징으로 하는 하나의 픽처를 구성하는 방법.
The method of claim 2,
The information on the divided tile further includes information indicating whether or not the tiles constituting the region excluding the configured rectangular region in the one picture is dependent.
하나의 픽처를 구성하는 방법에 있어서,
상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하는 단계,
상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 단계, 및
상기 분할된 타일에 대한 정보를 포함하는 상기 분할된 타일 각각의 타일 헤더를 생성하는 단계로 구성되며,
상기 분할된 타일에 대한 정보는 상기 분할된 타일을 구성하는 좌상측 CTU id, 상기 분할된 타일을 구성하는 우상측 CTU id, 상기 분할된 타일에 의존성이 있는지 여부, 상기 분할된 타일에 의존성이 있다면 주변 타일과의 관계를 지시하는 정보를 포함함을 특징으로 하는 하나의 픽처를 구성하는 방법.
In the method of constructing one picture,
Determining whether to divide the one picture into a plurality of tiles;
Dividing the single picture into a plurality of tiles according to the determination, and
Generating a tile header of each of the divided tiles including information about the divided tiles,
The information on the partitioned tile may include the upper left CTU id constituting the partitioned tile, the upper right CTU id constituting the partitioned tile, whether there is a dependency on the partitioned tile, and if there is a dependency on the partitioned tile. A method for constructing a picture, characterized in that it comprises information indicating a relationship with a neighboring tile.
제6항에 있어서,
상기 주변 타일과의 관계를 지시하는 정보는 상기 분할된 타일이 상기 주변 타일 각각과의 의존성이 있는지 여부를 지시하는 정보임을 특징으로 하는 하나의 픽처를 구성하는 방법.
The method of claim 6,
And information indicating the relationship with the neighboring tiles is information indicating whether the divided tile is dependent on each of the neighboring tiles.
하나의 픽처를 구성하는 영상 부호화 장치에 있어서,
상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하고, 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 블록 분할부, 및
상기 분할된 타일에 대한 정보를 포함하는 PPS(Picture Parameter Set)를 생성하고, 상기 분할된 타일의 타일 id를 포함하는 각각의 타일 헤더를 생성하여 부호화하는 부호화부를 포함하고,
상기 분할된 타일에 대한 정보는 상기 하나의 픽처가 다수 개의 타일로 분할되는지 여부, 및 상기 분할된 모든 타일이 다른 분할된 타일에 대해 독립성이 있는지 여부에 대한 정보를 포함함을 특징으로 하는 영상 부호화 장치.
In the video encoding apparatus constituting one picture,
A block dividing unit configured to determine whether to divide the single picture into a plurality of tiles, and to divide the single picture into a plurality of tiles according to the determination; and
A coding unit for generating a picture parameter set (PPS) including information about the divided tiles, generating and encoding each tile header including the tile id of the divided tiles,
The information about the divided tiles includes information on whether the single picture is divided into a plurality of tiles and whether all the divided tiles are independent of other divided tiles. Device.
하나의 픽처를 구성하는 영상 부호화 장치에 있어서,
상기 하나의 픽처를 다수 개의 타일로 분할할 지 여부를 결정하고, 상기 결정에 따라 상기 하나의 픽처를 다수 개의 타일로 분할하는 블록 분할부, 및
상기 분할된 타일에 대한 정보를 포함하는 상기 분할된 타일 각각의 타일 헤더를 생성하여 부호화하는 부호화부를 포함하고,
상기 분할된 타일에 대한 정보는 상기 분할된 타일을 구성하는 좌상측 CTU id, 상기 분할된 타일을 구성하는 우상측 CTU id, 상기 분할된 타일에 의존성이 있는지 여부, 상기 분할된 타일에 의존성이 있다면 주변 타일과의 관계를 지시하는 정보를 포함함을 특징으로 하는 영상 부호화 장치.
In the video encoding apparatus constituting one picture,
A block dividing unit configured to determine whether to divide the single picture into a plurality of tiles, and to divide the single picture into a plurality of tiles according to the determination; and
An encoder which generates and encodes a tile header of each of the divided tiles including information about the divided tiles,
The information on the partitioned tile may include the upper left CTU id constituting the partitioned tile, the upper right CTU id constituting the partitioned tile, whether there is a dependency on the partitioned tile, and if there is a dependency on the partitioned tile. And image information indicating a relationship with neighboring tiles.
KR1020190040156A 2018-04-08 2019-04-05 Method for providing picture splitting information for parallel or distributed processing and apparatus using the same KR20190118125A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
PCT/KR2019/004213 WO2019199025A1 (en) 2018-04-09 2019-04-09 Method and device for encoding/decoding image
US17/046,422 US11509937B2 (en) 2018-04-09 2019-04-09 Method and apparatus for encoding/decoding video
CN201980038439.4A CN112292855B (en) 2018-04-09 2019-04-09 Method and apparatus for encoding/decoding image
US17/803,671 US11994345B2 (en) 2018-04-09 2022-10-04 Process for the commercial production of high-quality catalyst material
US17/969,934 US11792436B2 (en) 2018-04-09 2022-10-20 Method and apparatus for encoding/decoding video
US17/969,912 US11778238B2 (en) 2018-04-09 2022-10-20 Method and apparatus for encoding/decoding video
US17/969,946 US11778239B2 (en) 2018-04-09 2022-10-20 Method and apparatus for encoding/decoding video
US17/969,898 US11902590B2 (en) 2018-04-09 2022-10-20 Method and apparatus for encoding/decoding video
US18/402,150 US20240137568A1 (en) 2018-04-08 2024-01-02 Method and apparatus for encoding/decoding video

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180041165 2018-04-09
KR1020180041165 2018-04-09

Publications (1)

Publication Number Publication Date
KR20190118125A true KR20190118125A (en) 2019-10-17

Family

ID=68424043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190040156A KR20190118125A (en) 2018-04-08 2019-04-05 Method for providing picture splitting information for parallel or distributed processing and apparatus using the same

Country Status (1)

Country Link
KR (1) KR20190118125A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021101249A1 (en) * 2019-11-20 2021-05-27 주식회사 엑스리스 Image signal encoding/decoding method and apparatus therefor
WO2021125752A1 (en) * 2019-12-17 2021-06-24 주식회사 엑스리스 Image signal encoding/decoding method and device therefor
KR102641876B1 (en) 2023-06-27 2024-02-29 주식회사 인텔리빅스 Apparatus and Method for Simultaneous Playback of Interest Video

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021101249A1 (en) * 2019-11-20 2021-05-27 주식회사 엑스리스 Image signal encoding/decoding method and apparatus therefor
CN113170164A (en) * 2019-11-20 2021-07-23 株式会社 Xris Method for encoding/decoding image signal and apparatus therefor
US11470314B2 (en) 2019-11-20 2022-10-11 Xris Corporation Method for encoding/decoding image signal, and device for same
US11818347B2 (en) 2019-11-20 2023-11-14 Xris Corporation Method for encoding/decoding image signal, and device for the same
WO2021125752A1 (en) * 2019-12-17 2021-06-24 주식회사 엑스리스 Image signal encoding/decoding method and device therefor
KR102641876B1 (en) 2023-06-27 2024-02-29 주식회사 인텔리빅스 Apparatus and Method for Simultaneous Playback of Interest Video

Similar Documents

Publication Publication Date Title
US8654860B2 (en) Apparatus and method for high efficiency video coding using flexible slice structure
US11509937B2 (en) Method and apparatus for encoding/decoding video
EP3975557A1 (en) Determining boundary strength values for deblocking filtering for video coding
WO2014100603A1 (en) Multi-type parallelized sample adaptive offset in video coding
CN114731434B (en) Image coding method and device based on transformation
CN114846798B (en) Method for transform-based image coding and apparatus therefor
CN113841407A (en) Transform in image coding based on intra prediction
KR20190118125A (en) Method for providing picture splitting information for parallel or distributed processing and apparatus using the same
KR20220047824A (en) Image encoding/decoding method using reference sample filtering, apparatus, and method of transmitting a bitstream
EP2941882B1 (en) Inter-layer reference picture generation for hls-only scalable video coding
CN117750036A (en) Image encoding/decoding method, storage medium, and data transmission method
CN114762343B (en) Image coding method and device based on transformation
CN114651445B (en) Video coding method and device based on transformation
KR20220163419A (en) Image decoding method for residual coding and apparatus therefor
CN117459743A (en) Image encoding/decoding method, storage medium, and data transmission method
US11902590B2 (en) Method and apparatus for encoding/decoding video
CN114762338B (en) Image coding method and device based on transformation
CN114747221B (en) Image coding method and device based on transformation
CN114762344B (en) Image coding method and device based on transformation
KR20200081179A (en) Method and apparatus for picture splitting for parallel processing
KR20220137954A (en) An image coding method based on tile-related information and slice-related information in a video or image coding system