KR20220065740A - Method and apparatus for encoding and decoding video using picture partition information - Google Patents

Method and apparatus for encoding and decoding video using picture partition information Download PDF

Info

Publication number
KR20220065740A
KR20220065740A KR1020220056855A KR20220056855A KR20220065740A KR 20220065740 A KR20220065740 A KR 20220065740A KR 1020220056855 A KR1020220056855 A KR 1020220056855A KR 20220056855 A KR20220056855 A KR 20220056855A KR 20220065740 A KR20220065740 A KR 20220065740A
Authority
KR
South Korea
Prior art keywords
picture
information
pictures
division
level
Prior art date
Application number
KR1020220056855A
Other languages
Korean (ko)
Inventor
김연희
석진욱
김휘용
기명석
임성창
최진수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020170040439A external-priority patent/KR102397474B1/en
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20220065740A publication Critical patent/KR20220065740A/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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Landscapes

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

Abstract

Disclosed are a method and device for encoding and decoding video using picture segmentation information. Each picture of pictures of video is divided into tiles or slices based on picture division information. Each picture is divided in one of at least two different ways based on picture segmentation information. The picture segmentation information may indicate two or more picture segmentation ways. The picture segmentation method may change periodically or according to a specified rule. The picture segmentation information may describe such periodic change or specified rule.

Description

픽쳐 분할 정보를 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치{METHOD AND APPARATUS FOR ENCODING AND DECODING VIDEO USING PICTURE PARTITION INFORMATION}Method and apparatus for encoding and decoding video using picture segmentation information

아래의 실시예들은 비디오의 복호화 방법, 복호화 장치, 부호화 방법 및 부호화 장치에 관한 것으로서, 보다 상세하게는 픽쳐 분할 정보를 사용하여 동영상에 대한 부호화 및 복호화를 수행하는 방법 및 장치에 관한 것이다.The following embodiments relate to a video decoding method, a decoding apparatus, an encoding method, and an encoding apparatus, and more particularly, to a method and apparatus for encoding and decoding a moving picture using picture segmentation information.

정보 통신 산업의 지속적인 발달을 통해 HD(High Definition) 해상도를 가지는 방송 서비스가 세계적으로 확산되었다. 이러한 확산을 통해, 많은 사용자들이 고해상도이며 고화질인 영상(image) 및/또는 비디오(video)에 익숙해지게 되었다.With the continuous development of the information and communication industry, a broadcasting service having a high definition (HD) resolution has spread worldwide. Through this proliferation, many users have become accustomed to high-resolution and high-definition images and/or videos.

높은 화질에 대한 사용자들의 수요를 만족시키기 위하여, 많은 기관들이 차세대 영상 기기에 대한 개발에 박차를 가하고 있다. 에이치디티브이(High Definition TV; HDTV) 및 풀에이치디(Full HD; FHD) TV뿐만 아니라, FHD TV에 비해 4배 이상의 해상도를 갖는 울트라에이치디(Ultra High Definition; UHD) TV에 대한 사용자들의 관심이 증대하였고, 이러한 관심의 증대에 따라, 더 높은 해상도 및 화질을 갖는 영상에 대한 영상 부호화(encoding)/복호화(decoding) 기술이 요구된다.In order to satisfy users' demand for high picture quality, many organizations are spurring the development of next-generation imaging devices. User interest in High Definition TV (HDTV) and Full HD (FHD) TV, as well as Ultra High Definition (UHD) TV, which has a resolution four times higher than that of FHD TV has increased, and with this increase in interest, image encoding/decoding technology for an image having higher resolution and image quality is required.

영상 부호화(encoding)/복호화(decoding) 장치 및 방법은 고해상도 및 고화질의 영상에 대한 부호화/복호화를 수행하기 위해, 인터(inter) 예측(prediction) 기술, 인트라(intra) 예측 기술 및 엔트로피 부호화 기술 등을 사용할 수 있다. 인터 예측 기술은 시간적으로(temporally) 이전의 픽쳐 및/또는 시간적으로 이후의 픽쳐를 이용하여 현재 픽쳐에 포함된 픽셀의 값을 예측하는 기술일 수 있다. 인트라 예측 기술은 현재 픽쳐 내의 픽셀의 정보를 이용하여 현재 픽쳐에 포함된 픽셀의 값을 예측하는 기술일 수 있다. 엔트로피 부호화 기술은 출현 빈도가 높은 심볼에는 짧은 코드(code)를 할당하고, 출현 빈도가 낮은 심볼에는 긴 코드를 할당하는 기술일 수 있다.An image encoding/decoding apparatus and method for encoding/decoding high-resolution and high-definition images, such as inter prediction technology, intra prediction technology, entropy encoding technology, etc. can be used The inter prediction technique may be a technique of predicting a value of a pixel included in a current picture using a temporally previous picture and/or a temporally later picture. The intra prediction technique may be a technique of predicting the value of a pixel included in the current picture by using information on the pixel in the current picture. The entropy encoding technique may be a technique of allocating a short code to a symbol having a high frequency of occurrence and a technique of assigning a long code to a symbol having a low frequency of occurrence.

영상의 부호화 및 복호화에 있어서, 예측은 원본 신호와 유사한 예측 신호를 생성하는 것을 의미할 수 있다. 예측은 크게 공간적(spatial) 복원(reconstructed) 영상을 참조하는 예측, 시간적(temporal) 복원 영상을 참조하는 예측 및 그 밖의 심볼에 대한 예측으로 분류될 수 있다. 말하자면, 시간적 참조는 시간적 복원 영상을 참조하는 것을 의미할 수 있고, 공간적 참조는 공간적 복원 영상을 참조하는 것을 의미할 수 있다.In encoding and decoding of an image, prediction may mean generating a prediction signal similar to an original signal. Prediction may be largely classified into prediction referring to a spatially reconstructed image, prediction referring to a temporally reconstructed image, and prediction of other symbols. That is, temporal reference may mean referring to a temporally reconstructed image, and spatial reference may mean referring to a spatially reconstructed image.

현재 블록은 현재 부호화 또는 복호화의 대상인 블록일 수 있다. 현재 블록은 대상 블록 또는 대상 유닛으로 명명될 수 있다. 부호화에 있어서, 현재 블록은 부호화 대상 블록 또는 부호화 대상 유닛으로 명명될 수 있다. 복호화에 있어서, 현재 블록은 복호화 대상 블록 또는 복호화 대상 유닛으로 명명될 수 있다.The current block may be a block currently being encoded or decoded. The current block may be called a target block or a target unit. In encoding, the current block may be referred to as an encoding object block or an encoding object unit. In decoding, the current block may be referred to as a decoding object block or a decoding object unit.

인터(inter) 예측은 시간적 참조 및 공간적 참조를 사용하여 현재 블록을 예측하는 기술일 수 있다. 인트라(intra) 예측은 공간적 참조만을 사용하여 현재 블록을 예측하는 기술일 수 있다.Inter prediction may be a technique for predicting a current block using a temporal reference and a spatial reference. Intra prediction may be a technique for predicting a current block using only spatial reference.

비디오를 구성하는 픽쳐들을 부호화함에 있어서, 픽쳐는 복수의 부분(part)들로 분할될 수 있고, 복수의 부분들이 부호화될 수 있다. 이 때, 복호화기가 분할된 픽쳐의 복호화를 수행하기 위해서는 픽쳐의 분할에 관련된 정보가 요구될 수 있다.In encoding pictures constituting a video, the picture may be divided into a plurality of parts, and the plurality of parts may be encoded. In this case, in order for the decoder to decode the divided picture, information related to picture division may be required.

일 실시예는 픽쳐 분할 정보를 사용하는 적응적 부호화 및 복호화를 수행하는 기술을 통해, 부호화 효율 및 복호화 효율을 향상시키는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for improving encoding efficiency and decoding efficiency through a technique for performing adaptive encoding and decoding using picture partition information.

일 실시예는 하나의 픽쳐 분할 정보에 기반하여 복수의 픽쳐들에 대한 픽쳐 분할을 결정하는 부호화 및 복호화를 수행하는 기술을 통해, 부호화 효율 및 복호화 효율을 향상시키는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for improving encoding efficiency and decoding efficiency through a technique for performing encoding and decoding for determining picture division for a plurality of pictures based on one picture division information.

일 실시예는 2개 이상의 상이한 픽쳐 분할 정보들을 이용하여 부호화된 비트스트림에 대하여, 하나의 픽쳐 분할 정보로부터 다른 픽쳐 분할 정보를 도출하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for deriving another picture partitioning information from one picture partitioning information with respect to a bitstream encoded using two or more different picture partitioning information.

일 실시예는 동영상의 픽쳐들 중 적어도 일부의 픽쳐에 대해서 픽쳐 분할 정보의 전송 또는 수신을 생략하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for omitting transmission or reception of picture division information for at least some of pictures of a moving picture.

일 측에 있어서, 복수의 픽쳐들의 부호화를 수행하는 단계; 및 픽쳐 분할 정보 및 상기 부호화된 복수의 픽쳐들을 포함하는 데이터를 생성하는 단계를 포함하고, 상기 복수의 픽쳐들의 각 픽쳐는 픽쳐 분할 정보에 대응하는 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할되는 동영상의 부호화 방법이 제공된다.In one aspect, the method comprising: encoding a plurality of pictures; and generating data including picture division information and the encoded plurality of pictures, wherein each picture of the plurality of pictures is divided in one of at least two different methods corresponding to the picture division information. A video encoding method is provided.

다른 일 측에 있어서, 픽쳐 분할 정보를 획득하는 제어부; 및 복수의 픽쳐들의 복호화를 수행하는 복호화부를 포함하고, 상기 복수의 픽쳐들의 각 픽쳐는 상기 픽쳐 분할 정보에 기반하여 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할되는 동영상의 복호화 방법이 제공된다.In the other side, the control unit for obtaining picture division information; and a decoding unit configured to decode a plurality of pictures, wherein each picture of the plurality of pictures is divided by one of at least two different methods based on the picture division information.

또 다른 일 측에 있어서, 픽쳐 분할 정보를 복호화하는 단계; 및 상기 픽쳐 분할 정보에 기반하여 복수의 픽쳐들의 복호화를 수행하는 단계를 포함하고, 상기 복수의 픽쳐들의 각 픽쳐는 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할되는 동영상의 복호화 방법이 제공된다.In another aspect, the method comprising: decoding picture division information; and performing decoding of a plurality of pictures based on the picture division information, wherein each picture of the plurality of pictures is divided by one of at least two different methods.

상기 복수의 픽쳐들 중 제1 픽쳐는 상기 픽쳐 분할 정보에 기반하여 분할될 수 있다.A first picture among the plurality of pictures may be divided based on the picture division information.

상기 복수의 픽쳐들 중 제2 픽쳐는 상기 픽쳐 분할 정보에 기반하여 유도된 다른 픽쳐 분할 정보에 기반하여 분할될 수 있다.A second picture among the plurality of pictures may be divided based on other picture division information derived based on the picture division information.

상기 복수의 픽쳐들은 상기 픽쳐 분할 정보에 의해 정의되는 주기적으로 변화하는 픽쳐 분할 방식에 의해 분할될 수 있다.The plurality of pictures may be divided by a periodically changing picture division method defined by the picture division information.

상기 복수의 픽쳐들은 상기 픽쳐 분할 정보에 의해 정의되는 규칙에 따라 변화하는 픽쳐 분할 방식에 의해 분할될 수 있다.The plurality of pictures may be divided by a picture division method that changes according to a rule defined by the picture division information.

상기 픽쳐 분할 정보는 상기 복수의 픽쳐들 중 픽쳐 순서를 제1 기정의된 값으로 나누었을 때의 나머지가 제2 기정의된 값인 픽쳐들에게 동일한 픽쳐 분할 방식을 적용할 것을 나타낼 수 있다.The picture division information may indicate that the same picture division method is applied to pictures having a second predefined value remaining when a picture order among the plurality of pictures is divided by a first predefined value.

상기 픽쳐 분할 정보는 상기 복수의 픽쳐들의 각 픽쳐가 몇 개의 타일로 분할될 지를 가리킬 수 있다.The picture division information may indicate how many tiles each picture of the plurality of pictures is divided into.

상기 복수의 픽쳐들의 각 픽쳐는 상기 픽쳐 분할 정보에 기반하여 결정된 개수의 타일들로 분할될 수 있다.Each picture of the plurality of pictures may be divided into a number of tiles determined based on the picture division information.

상기 복수의 픽쳐들의 각 픽쳐는 상기 픽쳐 분할 정보에 기반하여 결정된 개수의 슬라이스들로 분할될 수 있다.Each picture of the plurality of pictures may be divided into a number of slices determined based on the picture division information.

상기 픽쳐 분할 정보는 픽쳐 파라미터 세트(Picture Parameter Set; PPS)에 포함될 수 있다.The picture division information may be included in a picture parameter set (PPS).

상기 PPS는 상기 PPS를 참조하는 픽쳐가 적어도 2개 이상의 상이한 방식들 중 하나의 방식으로 분할되는지 여부를 나타내는 통합 분할 지시 플래그를 포함할 수 있다.The PPS may include an integrated division indication flag indicating whether the picture referring to the PPS is divided by one of at least two or more different methods.

상기 픽쳐 분할 정보는 특정된 레벨의 픽쳐에 대하여 상기 픽쳐의 픽쳐 분할 방식을 가리킬 수 있다.The picture division information may indicate a picture division method of a picture of a specified level.

상기 레벨은 시간적 레벨일 수 있다.The level may be a temporal level.

상기 픽쳐 분할 정보는 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 감소 지시 정보를 포함할 수 있다.The picture division information may include reduction indication information for reducing the number of tiles generated by picture division.

상기 감소 지시 정보는 픽쳐 수평 길이가 픽쳐 수직 길이보다 더 큰 경우 수평 타일 개수를 조절할 수 있고, 상기 픽쳐 수직 길이가 상기 픽쳐 수평 길이보다 더 큰 경우 수직 타일 개수를 조절할 수 있다.The reduction indication information may control the number of horizontal tiles when the horizontal picture length is greater than the vertical picture length, and control the number of vertical tiles when the picture vertical length is greater than the picture horizontal length.

상기 픽쳐 수평 길이는 픽쳐의 수평 길이일 수 있다.The horizontal length of the picture may be the horizontal length of the picture.

상기 픽쳐 수직 길이는 상기 픽쳐의 수직 길이일 수 있다.The vertical length of the picture may be the vertical length of the picture.

상기 수평 타일 개수는 상기 픽쳐의 가로 방향으로의 타일들의 개수일 수 있다.The number of horizontal tiles may be the number of tiles in a horizontal direction of the picture.

상기 수직 타일 개수는 상기 픽쳐의 세로 방향으로의 타일들의 개수일 수 있다.The number of vertical tiles may be the number of tiles in a vertical direction of the picture.

상기 픽쳐 분할 정보는 레벨이 n인 픽쳐에 대해 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 레벨 n 감소 지시 정보를 포함할 수 있다.The picture division information may include level n reduction indication information for reducing the number of tiles generated by picture division for a level n picture.

상기 픽쳐 분할 정보는 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 감소 지시 정보를 포함할 수 있다.The picture division information may include reduction indication information for reducing the number of slices generated by picture division.

상기 픽쳐 분할 정보는 레벨이 n인 픽쳐에 대해 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 레벨 n 감소 지시 정보를 포함할 수 있다.The picture division information may include level n reduction indication information for reducing the number of slices generated by picture division for a level n picture.

상기 적어도 2개의 상이한 방식들은 픽쳐의 분할에 대해서 생성되는 슬라이스들의 개수에 대하여 서로 상이할 수 있다.The at least two different methods may be different from each other with respect to the number of slices generated for picture division.

픽쳐 분할 정보를 사용하는 적응적 부호화 및 복호화를 수행하는 기술을 통해, 부호화 효율 및 복호화 효율을 향상시키는 방법 및 장치가 제공된다.A method and apparatus for improving encoding efficiency and decoding efficiency through a technique for performing adaptive encoding and decoding using picture segmentation information are provided.

하나의 픽쳐 분할 정보에 기반하여 복수의 픽쳐들에 대한 픽쳐 분할을 결정하는 부호화 및 복호화를 수행하는 기술을 통해, 부호화 효율 및 복호화 효율을 향상시키는 방법 및 장치가 제공된다.A method and apparatus for improving encoding efficiency and decoding efficiency through a technique for performing encoding and decoding for determining picture division for a plurality of pictures based on one picture division information are provided.

2개 이상의 상이한 픽쳐 분할 정보들을 이용하여 부호화된 비트스트림에 대하여, 하나의 픽쳐 분할 정보로부터 다른 픽쳐 분할 정보를 도출하는 방법 및 장치가 제공된다.A method and apparatus are provided for deriving different picture partitioning information from one picture partitioning information with respect to a bitstream encoded using two or more different picture partitioning information.

동영상의 픽쳐들 중 적어도 일부의 픽쳐에 대해서 픽쳐 분할 정보의 전송 또는 수신을 생략하는 방법 및 장치가 제공된다.A method and apparatus for omitting transmission or reception of picture division information for at least some of pictures of a moving picture are provided.

도 1은 본 발명이 적용되는 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 영상을 부호화 및 복호화할 때의 영상의 분할 구조를 개략적으로 나타내는 도면이다.
도 4는 코딩 유닛(CU)이 포함할 수 있는 예측 유닛(PU)의 형태를 도시한 도면이다.
도 5는 코딩 유닛(CU)에 포함될 수 있는 변환 유닛(TU)의 형태를 도시한 도면이다.
도 6은 인트라 예측 과정의 실시예를 설명하기 위한 도면이다.
도 7은 인터 예측 과정의 실시예를 설명하기 위한 도면이다.
도 8은 일 예에 따른 타일을 사용하는 픽쳐의 분할을 나타낸다.
도 9는 일 예에 따른 GOP 레벨이 적용된 부호화의 참조 구조를 도시한다.
도 10은 일 예에 따른 GOP의 픽쳐들의 부호화 순서를 나타낸다.
도 11은 일 예에 따른 GOP의 픽쳐들의 병렬 부호화를 도시한다.
도 12는 일 예에 따른 슬라이스를 사용하는 픽쳐의 분할을 나타낸다.
도 13은 일 실시예에 따른 동영상의 부호화를 수행하는 부호화 장치의 구조도이다.
도 14는 일 예에 따른 동영상의 부호화를 수행하는 부호화 방법의 흐름도이다.
도 15는 일 실시예에 따른 동영상의 복호화를 수행하는 복호화 장치의 구조도이다.
도 16은 일 예에 따른 동영상의 복호화를 수행하는 복호화 방법의 흐름도이다.
도 17은 일 실시예에 따른 부호화 장치 및/또는 복호화 장치를 구현하는 전자 장치의 구조도이다.
1 is a block diagram illustrating a configuration of an encoding apparatus to which the present invention is applied according to an embodiment.
2 is a block diagram illustrating a configuration of a decoding apparatus to which the present invention is applied according to an embodiment.
3 is a diagram schematically illustrating a structure of an image segmentation when an image is encoded and decoded.
4 is a diagram illustrating a form of a prediction unit (PU) that a coding unit (CU) may include.
5 is a diagram illustrating a form of a transform unit (TU) that may be included in a coding unit (CU).
6 is a diagram for explaining an embodiment of an intra prediction process.
7 is a diagram for explaining an embodiment of an inter prediction process.
8 illustrates division of a picture using tiles according to an example.
9 illustrates a reference structure of encoding to which a GOP level is applied according to an example.
10 shows an encoding order of pictures of a GOP according to an example.
11 illustrates parallel encoding of pictures of a GOP according to an example.
12 illustrates division of a picture using a slice according to an example.
13 is a structural diagram of an encoding apparatus for encoding a video according to an embodiment.
14 is a flowchart of an encoding method for encoding a video according to an example.
15 is a structural diagram of a decoding apparatus that decodes a video according to an embodiment.
16 is a flowchart of a decoding method for decoding a video according to an example.
17 is a structural diagram of an electronic device implementing an encoding apparatus and/or a decoding apparatus according to an embodiment.

후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] Reference is made to the accompanying drawings, which illustrate specific embodiments by way of example.

도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects. The shapes and sizes of elements in the drawings may be exaggerated for clearer description.

어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 예시적 실시예들에서 특정 구성을 "포함"한다고 기술하는 내용은 상기의 특정 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다.When a component is referred to as being “connected” or “connected” to another component, the two components may be directly connected or connected to each other, but in the above 2 It should be understood that other components may exist in the middle of the components. In addition, the description of "including" a specific configuration in the exemplary embodiments does not exclude components other than the above specific configuration, and additional configuration is the implementation of the exemplary embodiments or the technical spirit of the exemplary embodiments. It means that it can be included in the scope.

각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.Each component is listed as a respective component for convenience of description. For example, at least two components among the components may be combined into one component. Also, one component may be divided into a plurality of components. Integrated embodiments and separate embodiments of each of these components are also included in the scope of rights without departing from the essence.

이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings in order to enable those of ordinary skill in the art to easily implement the embodiments. In describing the embodiments, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present specification, the detailed description thereof will be omitted.

이하에서, 영상은 비디오(video)을 구성하는 하나의 픽쳐(picture)를 의미할 수 있으며, 비디오 자체를 나타낼 수도 있다. 예를 들면, "영상의 부호화 및/또는 복호화"는 "비디오의 부호화 및/또는 복호화"를 의미할 수 있으며, "비디오를 구성하는 영상들 중 하나의 영상의 부호화 및/또는 복호화"를 의미할 수도 있다.Hereinafter, an image may mean one picture constituting a video, or may indicate a video itself. For example, "encoding and/or decoding of an image" may mean "encoding and/or decoding of a video", and may mean "encoding and/or decoding of one image among images constituting a video". may be

이하에서, "비디오" 및 "동영상(motion picture)"은 동일한 의미로 사용될 수 있으며, 서로 교체되어 사용될 수 있다.Hereinafter, "video" and "motion picture" may be used as the same meaning, and may be used interchangeably.

이하에서, "영상", "픽쳐", "프레임(frame)" 및 "스크린(screen)"은 동일한 의미로 사용될 수 있으며, 서로 교체되어 사용될 수 있다.Hereinafter, the terms “image”, “picture”, “frame” and “screen” may be used interchangeably and may be used interchangeably.

실시예들에서, 특정된 정보, 데이터, 플래그(flag) 및 요소(element), 속성(attribute) 등의 각각은 값을 가질 수 있다. 정보, 데이터, 플래그(flag) 및 요소(element), 속성(attribute) 등의 값 "0"은 논리 거짓(logical false) 또는 제1 기정의된(predefined) 값을 나타낼 수 있다. 말하자면, 값 "0", 논리 거짓 및 제1 기정의된 값은 서로 대체되어 사용될 수 있다. 정보, 데이터, 플래그(flag) 및 요소(element), 속성(attribute) 등의 값 "1"은 논리 참(logical true) 또는 제2 기정의된(predefined) 값을 나타낼 수 있다. 말하자면, 값 "1", 논리 참 및 제2 기정의된 값은 서로 대체되어 사용될 수 있다.In embodiments, each of the specified information, data, flags and elements, attributes, etc. may have a value. A value "0" of information, data, flags and elements, attributes, etc. may represent logical false or a first predefined value. In other words, the value “0”, logical false and the first predefined value may be used interchangeably. A value “1” of information, data, flags and elements, attributes, etc. may represent logical true or a second predefined value. In other words, the value “1”, logical true and the second predefined value may be used interchangeably.

행, 열 또는 인덱스(index)를 나타내기 위해 i 또는 j 등의 변수가 사용될 때, i의 값은 0 이상의 정수일 수 있으며, 1 이상의 정수일 수도 있다. 말하자면, 실시예들에서 행, 열 및 인덱스 등은 0에서부터 카운트될 수 있으며, 1에서부터 카운트될 수 있다.When a variable such as i or j is used to indicate a row, column, or index, the value of i may be an integer of 0 or more, or an integer of 1 or more. That is, in embodiments, a row, column, index, etc. may be counted from 0, and may be counted from 1.

아래에서는, 실시예들에서 사용되는 용어가 설명된다.In the following, terms used in the embodiments are described.

유닛(unit): "유닛"은 영상의 부호화 및 복호화의 단위를 나타낼 수 있다. 유닛 및 블록(block)의 의미들은 동일할 수 있다. 또한, 용어 "유닛" 및 "블록"은 서로 교체되어 사용될 수 있다.Unit: A “unit” may indicate a unit of encoding and decoding of an image. The meanings of unit and block may be the same. Also, the terms “unit” and “block” may be used interchangeably.

- 유닛(또는, 블록)은 샘플의 MxN 배열일 수 있다. M 및 N은 각각 양의 정수일 수 있다. 유닛은 흔히 2차원의 샘플의 배열을 의미할 수 있다. 샘플은 픽셀 또는 픽셀 값일 수 있다.- A unit (or block) may be an MxN array of samples. M and N may each be a positive integer. A unit can often mean an array of two-dimensional samples. A sample may be a pixel or a pixel value.

- 용어 "픽셀" 및 "샘플"은 동일한 의미로 사용될 수 있으며, 서로 교체되어 사용될 수 있다.- The terms "pixel" and "sample" may be used interchangeably and may be used interchangeably.

- 영상의 부호화 및 복호화에 있어서, 유닛은 하나의 영상의 분할에 의해 생성된 영역일 수 있다. 하나의 영상은 복수의 유닛들로 분할될 수 있다. 영상의 부호화 및 복호화에 있어서, 유닛의 종류에 따라서 유닛에 대한 기정의된 처리가 수행될 수 있다. 기능에 따라서, 유닛의 타입은 매크로 유닛(Macro Unit), 코딩 유닛(Coding Unit; CU), 예측 유닛(Prediction Unit; PU) 및 변환 유닛(transform Unit; TU) 등으로 분류될 수 있다. 하나의 유닛은 유닛에 비해 더 작은 크기를 갖는 하위 유닛으로 더 분할될 수 있다.- In image encoding and decoding, a unit may be an area generated by segmentation of one image. One image may be divided into a plurality of units. In encoding and decoding of an image, a predefined process for the unit may be performed according to the type of the unit. According to the function, the type of the unit may be classified into a macro unit, a coding unit (CU), a prediction unit (PU), a transform unit (TU), and the like. One unit may be further divided into sub-units having a smaller size compared to the unit.

- 유닛 분할 정보는 유닛의 깊이(depth)에 관한 정보를 포함할 수 있다. 깊이 정보는 유닛이 분할되는 회수 및/또는 정도를 나타낼 수 있다.- The unit division information may include information about the depth of the unit. The depth information may indicate the number and/or degree to which a unit is divided.

- 하나의 유닛은 트리 구조(tree structure)에 기반하여 깊이 정보(depth)를 가지면서 계층적으로 복수의 하위 유닛들로 분할될 수 있다. 말하자면, 유닛 및 상기의 유닛의 분할에 의해 생성된 하위 유닛은 노드 및 상기의 노드의 자식 노드에 각각 대응할 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 유닛의 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 하위 유닛의 분할 정보는 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.- One unit may be hierarchically divided into a plurality of sub-units while having depth information based on a tree structure. In other words, a unit and a sub-unit generated by division of the unit may correspond to a node and a child node of the node, respectively. Each divided sub-unit may have depth information. Since the depth information of the unit indicates the number and/or degree of division of the unit, the division information of the sub-unit may include information about the size of the sub-unit.

- 트리 구조에서, 가장 상위 노드는 분할되지 않은 최초의 유닛에 대응할 수 있다. 가장 상위 노드는 루트 노드(root node)로 칭해질 수 있다. 또한, 가장 상위 노드는 최소의 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있다. - In the tree structure, the highest node may correspond to the first undivided unit. The uppermost node may be referred to as a root node. Also, the highest node may have a minimum depth value. In this case, the highest node may have a depth of level 0.

- 레벨 1의 깊이를 갖는 노드는 최초의 유닛이 한 번 분할됨에 따라 생성된 유닛을 나타낼 수 있다. 레벨 2의 깊이를 갖는 노드는 최초의 유닛이 두 번 분할됨에 따라 생성된 유닛을 나타낼 수 있다.- A node with a depth of level 1 may represent a unit created as the original unit is split once. A node with a depth of level 2 may represent a unit generated as the original unit is split twice.

- 레벨 n의 깊이를 갖는 노드는 최초의 유닛이 n번 분할됨에 따라 생성된 유닛을 나타낼 수 있다.- A node having a depth of level n may represent a unit generated as the original unit is divided n times.

- 리프 노드는 가장 하위의 노드일 수 있으며, 더 분할될 수 없는 노드일 수 있다. 리프 노드의 깊이는 최대 레벨일 수 있다. 예를 들면, 최대 레벨의 기정의된 값은 3일 수 있다.- A leaf node may be the lowest node, and may be a node that cannot be further divided. The depth of the leaf node may be the maximum level. For example, the predefined value of the maximum level may be three.

변환 유닛(Transform Unit): 변환 유닛은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화, 및 변환 계수 복호화 등과 같은 잔차 신호(residual signal) 부호화 및/또는 잔여 신호 복호화에 있어서의 기본 유닛일 수 있다. 하나의 변환 유닛은 더 작은 크기를 갖는 다수의 변환 유닛들 분할될 수 있다.Transform Unit: A transform unit may be a basic unit in residual signal encoding and/or residual signal decoding such as transform, inverse transform, quantization, inverse quantization, transform coefficient encoding, and transform coefficient decoding. . One transform unit may be divided into multiple transform units having a smaller size.

예측 유닛(Prediction Unit) : 예측 유닛은 예측 또는 보상(compensation)의 수행에 있어서의 기본 단위일 수 있다. 예측 유닛은 분할에 의해 다수의 파티션(partition)들이 될 수 있다. 다수의 파티션들 또한 예측 또는 보상의 수행에 있어서의 기본 단위일 수 있다. 예측 유닛의 분할에 의해 생성된 파티션 또한 예측 유닛일 수 있다.Prediction Unit: A prediction unit may be a basic unit in performing prediction or compensation. A prediction unit may be divided into multiple partitions. Multiple partitions may also be a basic unit in the performance of prediction or compensation. A partition generated by division of a prediction unit may also be a prediction unit.

복원된 이웃 유닛(Reconstructed Neighbor Unit) : 복원된 이웃 유닛은 부호화 대상 유닛 또는 복호화 대상 유닛의 주변에 이미 부호화 또는 복호화되어 복원된 유닛일 수 있다. 복원된 이웃 유닛은 대상 유닛에 대한 공간적(spatial) 인접 유닛 또는 시간적(temporal) 인접 유닛일 수 있다.Reconstructed Neighbor Unit: The reconstructed neighboring unit may be a reconstructed unit that has already been encoded or decoded near the encoding object unit or the decoding object unit. The reconstructed neighboring unit may be a spatial (spatial) neighboring unit or a temporal (temporal) neighboring unit with respect to the target unit.

예측 유닛 파티션 : 예측 유닛 파티션은 예측 유닛이 분할된 형태를 의미할 수 있다.Prediction unit partition: A prediction unit partition may mean a form in which a prediction unit is divided.

파라미터 세트(Parameter Set): 파라미터 세트는 비트스트림 내의 구조(structure) 중 헤더(header) 정보에 해당할 수 있다. 예를 들면, 파라미터 세트는 시퀀스 파라미터 세트(sequence parameter set), 픽쳐 파라미터 세트(picture parameter set) 및 적응 파라미터 세트(adaptation parameter set) 등을 포함할 수 있다.Parameter Set: A parameter set may correspond to header information among structures in a bitstream. For example, the parameter set may include a sequence parameter set, a picture parameter set, an adaptation parameter set, and the like.

율-왜곡 최적화(rate-distortion optimization): 부호화 장치는 코딩 유닛의 크기, 예측 모드, 예측 유닛의 크기, 움직임 정보 및, 변환 유닛의 크기 등의 조합을 이용해서 높은 부호화 효율을 제공하기 위해 율-왜곡 최적화를 사용할 수 있다.Rate-distortion optimization: The encoding apparatus uses a combination of a size of a coding unit, a prediction mode, a size of a prediction unit, motion information, and a size of a transform unit to provide high encoding efficiency. Distortion optimization can be used.

- 율-왜곡 최적화 방식은 상기의 조합들 중에서 최적의 조합을 선택하기 위해 각 조합의 율-왜곡 비용(rate-distortion cost)을 계산할 수 있다. 율-왜곡 비용은 아래의 수식 1을 이용하여 계산될 수 있다. 일반적으로 상기 율-왜곡 비용이 최소가 되는 조합이 율-왜곡 최적화 방식에 있어서의 최적의 조합으로 선택될 수 있다.- The rate-distortion optimization method may calculate a rate-distortion cost of each combination in order to select an optimal combination from among the above combinations. The rate-distortion cost can be calculated using Equation 1 below. In general, the combination in which the rate-distortion cost is minimized may be selected as the optimal combination in the rate-distortion optimization method.

[수식 1][Formula 1]

Figure pat00001
Figure pat00001

D는 왜곡을 나타낼 수 있다. D는 변환 블록 내에서 원래의 변환 계수들 및 복원된 변환 계수들 간의 차이 값들의 제곱들의 평균(mean square error)일 수 있다.D may represent distortion. D may be a mean square error of squares of difference values between original transform coefficients and reconstructed transform coefficients in a transform block.

R은 율을 나타낼 수 있다. R은 관련된 문맥 정보를 이용한 비트 율을 나타낼 수 있다.R may represent a rate. R may represent a bit rate using related context information.

λ는 라그랑지안 승수(Lagrangian multiplier)를 나타낼 수 있다. R은 예측 모드, 움직임 정보 및 부호화 블록 플래그(coded block flag) 등과 같은 부호화 파라미터 정보뿐만 아니라, 변환 계수의 부호화에 의해 발생하는 비트도 포함할 수 있다.λ may represent a Lagrangian multiplier. R may include not only encoding parameter information such as prediction mode, motion information, and a coded block flag, but also bits generated by encoding a transform coefficient.

부호화 장치는 정확한 D 및 R을 계산하기 위해 인터 예측 및/또는 인트라 예측, 변환, 양자화, 엔트로피 부호화, 역양자화, 역변환 등의 과정을 수행하는데, 이러한 과정은 부호화 장치에서의 복잡도를 크게 증가시킬 수 있다.The encoding apparatus performs processes such as inter prediction and/or intra prediction, transformation, quantization, entropy encoding, inverse quantization, and inverse transformation to calculate accurate D and R. These processes may significantly increase the complexity of the encoding apparatus. there is.

참조 픽쳐(reference picture) : 참조 픽쳐는 인터 예측 또는 움직임 보상에 사용되는 영상일 수 있다. 참조 픽쳐는 인터 예측 또는 움직임 보상을 위해 대상 유닛이 참조하는 참조 유닛을 포함하는 픽쳐일 수 있다. 픽쳐 및 영상의 의미들은 동일할 수 있다. 또한, 용어 "픽쳐" 및 "영상"은 서로 교체되어 사용될 수 있다.Reference picture: The reference picture may be an image used for inter prediction or motion compensation. The reference picture may be a picture including the reference unit referenced by the target unit for inter prediction or motion compensation. The meanings of the picture and the image may be the same. Also, the terms “picture” and “image” may be used interchangeably.

참조 픽쳐 리스트(reference picture list) : 참조 픽쳐 리스트는 인터 예측 또는 움직임 보상에 사용되는 참조 영상들을 포함하는 리스트일 수 있다. 참조 픽쳐 리스트의 종류는 리스트 조합(List Combined; LC), 리스트 0(List 0; L0) 및 리스트 1(List 1; L1) 등이 있을 수 있다.Reference picture list: The reference picture list may be a list including reference pictures used for inter prediction or motion compensation. The type of the reference picture list may include a list combination (LC), a list 0 (List 0; L0), and a list 1 (List 1; L1).

움직임 벡터(Motion Vector; MV) : 움직임 벡터는 인터 예측에서 사용되는 2차원의 벡터일 수 있다. 예를 들면, MV는 (mvx, mvy)와 같은 형태로 표현될 수 있다. mvx는 수평(horizontal) 성분을 나타낼 수 있고, mvy 는 수직(vertical) 성분을 나타낼 수 있다.Motion Vector (MV): The motion vector may be a two-dimensional vector used in inter prediction. For example, the MV may be expressed in the form (mv x , mv y ). mv x may represent a horizontal component, and mv y may represent a vertical component.

- MV는 대상 픽쳐 및 참조 픽쳐 간의 오프셋(offset)을 나타낼 수 있다.- MV may indicate an offset between the target picture and the reference picture.

탐색 영역(search range) : 탐색 영역은 인터 예측 중 MV에 대한 탐색이 이루어지는 2차원의 영역일 수 있다. 예를 들면, 탐색 영역의 크기는 MxN일 수 있다. M 및 N은 각각 양의 정수일 수 있다.Search range: The search range may be a two-dimensional area in which an MV is searched during inter prediction. For example, the size of the search area may be MxN. M and N may each be a positive integer.

도 1은 본 발명이 적용되는 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of an encoding apparatus to which the present invention is applied according to an embodiment.

부호화 장치(100)는 비디오 부호화 장치 또는 영상 부호화 장치일 수 있다. 비디오는 하나 이상의 영상들을 포함할 수 있다. 부호화 장치(100)는 비디오의 하나 이상의 영상들을 시간에 따라 순차적으로 부호화할 수 있다.The encoding apparatus 100 may be a video encoding apparatus or an image encoding apparatus. A video may include one or more images. The encoding apparatus 100 may sequentially encode one or more images of a video according to time.

도 1을 참조하면, 부호화 장치(100)는 인터 예측부(110), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함할 수 있다.Referring to FIG. 1 , the encoding apparatus 100 includes an inter prediction unit 110 , an intra prediction unit 120 , a switch 115 , a subtractor 125 , a transform unit 130 , a quantization unit 140 , and entropy encoding. It may include a unit 150 , an inverse quantizer 160 , an inverse transform unit 170 , an adder 175 , a filter unit 180 , and a reference picture buffer 190 .

부호화 장치(100)는 입력 영상에 대해 인트라 모드 및/또는 인터 모드로 부호화를 수행할 수 있다. 입력 영상은 현재 부호화의 대상인 현재 영상으로 칭해질 수 있다.The encoding apparatus 100 may encode an input image in an intra mode and/or an inter mode. The input image may be referred to as a current image that is a current encoding target.

또한, 부호화 장치(100)는 입력 영상에 대한 부호화를 통해 부호화의 정보를 포함하는 비트스트림을 생성할 수 있고, 생성된 비트스트림을 출력할 수 있다.Also, the encoding apparatus 100 may generate a bitstream including encoding information through encoding of an input image, and may output the generated bitstream.

인트라 모드가 사용되는 경우, 스위치(115)는 인트라로 전환될 수 있다. 인터 모드가 사용되는 경우, 스위치(115)는 인터로 전환될 수 있다.When the intra mode is used, the switch 115 may be switched to intra. When the inter mode is used, the switch 115 may be switched to the inter mode.

부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성할 수 있다. 또한, 부호화 장치(100)는 예측 블록이 생성된 후, 입력 블록 및 예측 블록의 차분(residual)을 부호화할 수 있다. 입력 블록은 현재 부호화의 대상인 현재 블록으로 칭해질 수 있다.The encoding apparatus 100 may generate a prediction block for the input block of the input image. Also, after the prediction block is generated, the encoding apparatus 100 may encode a residual between the input block and the prediction block. The input block may be referred to as a current block that is a current encoding target.

예측 모드가 인트라 모드인 경우, 인트라 예측부(120)는 현재 블록의 주변에 있는, 이미 부호화된 블록의 픽셀 값을 참조 픽셀로서 이용할 수 있다. 인트라 예측부(120)는 참조 픽셀을 이용하여 현재 블록에 대한 공간적 예측을 수행할 수 있고, 공간적 예측을 통해 현재 블록에 대한 예측 샘플들을 생성할 수 있다.When the prediction mode is the intra mode, the intra prediction unit 120 may use a pixel value of an already encoded block adjacent to the current block as a reference pixel. The intra prediction unit 120 may perform spatial prediction on the current block by using the reference pixel, and may generate prediction samples for the current block through spatial prediction.

인터 예측부(110)는 움직임 예측부 및 움직임 보상부를 포함할 수 있다.The inter prediction unit 110 may include a motion prediction unit and a motion compensator.

예측 모드가 인터 모드인 경우, 움직임 예측부는, 움직임 예측 과정에서 참조 영상으로부터 현재 블록과 가장 매치가 잘 되는 영역을 검색할 수 있고, 현재 블록 및 검색된 영역에 대한 움직임 벡터를 도출할 수 있다. 참조 영상은 참조 픽쳐 버퍼(190)에 저장될 수 있으며, 참조 영상에 대한 부호화 및/또는 복호화가 처리될 때 참조 픽쳐 버퍼(190)에 저장될 수 있다.When the prediction mode is the inter mode, the motion prediction unit may search for a region that best matches the current block from the reference image in the motion prediction process, and may derive a motion vector for the current block and the searched region. The reference picture may be stored in the reference picture buffer 190 , and may be stored in the reference picture buffer 190 when encoding and/or decoding of the reference picture is processed.

움직임 보상부는 움직임 벡터를 이용하는 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기에서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터일 수 있다. 또한 움직임 벡터는 현재 영상 및 참조 영상 간의 오프셋(offset)을 나타낼 수 있다.The motion compensator may generate a prediction block by performing motion compensation using a motion vector. Here, the motion vector may be a two-dimensional vector used for inter prediction. Also, the motion vector may indicate an offset between the current image and the reference image.

감산기(125)는 입력 블록 및 예측 블록의 차분인 잔차 블록(residual block)을 생성할 수 있다. 잔차 블록은 잔차 신호로 칭해질 수도 있다.The subtractor 125 may generate a residual block that is a difference between the input block and the prediction block. The residual block may be referred to as a residual signal.

변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수를 생성할 수 있고, 생성된 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록에 대한 변환을 수행함으로써 생성된 계수 값일 수 있다. 변환 생략(transform skip) 모드가 적용되는 경우, 변환부(130)는 잔차 블록에 대한 변환을 생략할 수도 있다.The transform unit 130 may generate a transform coefficient by performing a transform on the residual block, and may output the generated transform coefficient. Here, the transform coefficient may be a coefficient value generated by performing transform on the residual block. When a transform skip mode is applied, the transform unit 130 may skip transform on the residual block.

변환 계수에 양자화를 적용함으로써 양자화된 변환 계수 레벨(transform coefficient level)이 생성될 수 있다. 이하, 실시예들에서는 양자화된 변환 계수 레벨도 변환 계수로 칭해질 수 있다.A quantized transform coefficient level may be generated by applying quantization to the transform coefficient. Hereinafter, in embodiments, a quantized transform coefficient level may also be referred to as a transform coefficient.

양자화부(140)는 변환 계수를 양자화 파라미터에 맞춰 양자화함으로써 양자화된 변환 계수 레벨(quantized transform coefficient level)을 생성할 수 있다. 양자화부(140)는 생성된 양자화된 변환 계수 레벨을 출력할 수 있다. 이때, 양자화부(140)에서는 양자화 행렬을 사용하여 변환 계수를 양자화할 수 있다.The quantizer 140 may generate a quantized transform coefficient level by quantizing the transform coefficient according to the quantization parameter. The quantization unit 140 may output the generated quantized transform coefficient level. In this case, the quantization unit 140 may quantize the transform coefficients using a quantization matrix.

엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 및/또는 부호화 과정에서 산출된 부호화 파라미터 값들 등에 기초하여 확률 분포에 따른 엔트로피 부호화를 수행함으로써 비트스트림(bitstream)을 생성할 수 있다. 엔트로피 부호화부(150)는 생성된 비트스트림을 출력할 수 있다.The entropy encoding unit 150 may generate a bitstream by performing entropy encoding according to a probability distribution based on the values calculated by the quantization unit 140 and/or encoding parameter values calculated during the encoding process. . The entropy encoder 150 may output the generated bitstream.

엔트로피 부호화부(150)는 영상의 픽셀의 정보 외에 영상의 복호화를 위한 정보에 대한 엔트로피 부호화를 수행할 수 있다. 예를 들면, 영상의 복호화를 위한 정보는 신택스 엘리먼트(syntax element) 등을 포함할 수 있다. The entropy encoding unit 150 may perform entropy encoding on information for decoding an image in addition to information on pixels of the image. For example, information for decoding an image may include a syntax element or the like.

부호화 파라미터는 부호화 및/또는 복호화를 위해 요구되는 정보일 수 있다. 부호화 파라미터는 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보를 포함할 수 있고, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있다. 예를 들면, 복호화 장치로 전달되는 정보로서, 신택스 엘리먼트가 있다.The encoding parameter may be information required for encoding and/or decoding. The encoding parameter may include information encoded by the encoding apparatus and transmitted to the decoding apparatus, and may include information that can be inferred during encoding or decoding. For example, as information transmitted to the decoding apparatus, there is a syntax element.

예를 들면, 부호화 파라미터는 예측 모드, 움직임 벡터, 참조 픽쳐 색인(index), 부호화 블록 패턴(pattern), 잔차 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할(partition) 정보 등의 값 또는 통계를 포함할 수 있다. 예측 모드는 인트라 예측 모드 또는 인터 예측 모드를 가리킬 수 있다.For example, the coding parameters include a prediction mode, a motion vector, a reference picture index, a coding block pattern, presence or absence of a residual signal, a transform coefficient, a quantized transform coefficient, a quantization parameter, a block size, and a block partition. It may include values or statistics such as information. The prediction mode may indicate an intra prediction mode or an inter prediction mode.

잔차 신호는 원 신호 및 예측 신호 간의 차이(difference)를 의미할 수 있다. 또는, 잔차 신호는 원신호 및 예측 신호 간의 차이를 변환(transform)함으로써 생성된 신호일 수 있다. 또는, 잔차 신호는 원 신호 및 예측 신호 간의 차이를 변환 및 양자화함으로써 생성된 신호일 수 있다. 잔차 블록은 블록 단위의 잔차 신호일 수 있다.The residual signal may mean a difference between the original signal and the predicted signal. Alternatively, the residual signal may be a signal generated by transforming a difference between the original signal and the predicted signal. Alternatively, the residual signal may be a signal generated by transforming and quantizing a difference between the original signal and the predicted signal. The residual block may be a residual signal in units of blocks.

엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당될 수 있고, 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당될 수 있다. 이러한 할당을 통해 심볼이 표현됨에 따라, 부호화의 대상인 심볼들에 대한 비트열(bitstring)의 크기가 감소될 수 있다. 따라서, 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 향상될 수 있다. When entropy encoding is applied, a small number of bits may be allocated to a symbol having a high probability of occurrence, and a large number of bits may be allocated to a symbol having a low probability of occurrence. As a symbol is expressed through this allocation, the size of a bitstring for symbols to be encoded may be reduced. Accordingly, compression performance of image encoding may be improved through entropy encoding.

또한, 엔트로피 부호화를 위해 지수 골롬(exponential golomb), 문맥-적응형 가변 길이 코딩(Context-Adaptive Variable Length Coding; CAVLC) 및 문맥-적응형 이진 산술 코딩(Context-Adaptive Binary Arithmetic Coding; CABAC) 등과 같은 부호화 방법이 사용될 수 있다. 예를 들면, 엔트로피 부호화부(150)는 가변 길이 부호화(Variable Lenghth Coding/Code; VLC) 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 예를 들면, 엔트로피 부호화부(150)는 대상 심볼에 대한 이진화(binarization) 방법을 도출할 수 있다. 또한, 엔트로피 부호화부(150)는 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출할 수 있다. 엔트로피 부호화부(150)는 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.In addition, for entropy encoding, such as exponential golomb, context-adaptive variable length coding (CAVLC) and context-adaptive binary arithmetic coding (CABAC), etc. A coding method may be used. For example, the entropy encoding unit 150 may perform entropy encoding using a Variable Length Coding/Code (VLC) table. For example, the entropy encoder 150 may derive a binarization method for a target symbol. Also, the entropy encoder 150 may derive a probability model of a target symbol/bin. The entropy encoding unit 150 may perform entropy encoding using the derived binarization method or a probability model.

부호화 장치(100)에 의해 인터 예측을 통한 부호화를 수행되기 때문에, 부호화된 현재 영상은 이후에 처리되는 다른 영상(들)에 대하여 참조 영상으로서 사용될 수 있다. 따라서, 부호화 장치(100)는 부호화된 현재 영상을 다시 복호화할 수 있고, 복호화된 영상을 참조 영상으로서 저장할 수 있다. 복호화를 위해 부호화된 현재 영상에 대한 역양자화 및 역변환이 처리될 수 있다.Since encoding is performed through inter prediction by the encoding apparatus 100, the encoded current image may be used as a reference image for other image(s) to be processed later. Accordingly, the encoding apparatus 100 may decode the encoded current image again and store the decoded image as a reference image. Inverse quantization and inverse transformation of the encoded current image for decoding may be processed.

양자화된 계수는 역양자화부(160)에서 역양자화될(inversely quantized) 수 있고, 역변환부(170)에서 역변환될(inversely transformed) 수 있다. 역양자화 및 역변환된 계수는 가산기(175)를 통해 예측 블록과 합해질 수 있다, 역양자화 및 역변환된 계수 및 예측 블록을 합함으로써 복원된(reconstructed) 블록이 생성될 수 있다.The quantized coefficient may be inversely quantized by the inverse quantization unit 160 and may be inversely transformed by the inverse transform unit 170 . The inverse quantized and inverse transformed coefficients may be summed with the prediction block through the adder 175. A reconstructed block may be generated by summing the inverse quantized and inverse transformed coefficients and the prediction block.

복원된 블록은 필터부(180)를 거칠 수 있다. 필터부(180)는 디블록킹 필터(deblocking filter), 에스에이오(Sample Adaptive Offset; SAO), 에이엘에프(Adaptive Loop Filter; ALF) 중 적어도 하나 이상을 복원된 블록 또는 복원된 픽쳐에 적용할 수 있다. 필터부(180)는 적응적(adaptive) 인루프(in-loop) 필터로 칭해질 수도 있다.The reconstructed block may pass through the filter unit 180 . The filter unit 180 may apply at least one of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to a reconstructed block or a reconstructed picture. there is. The filter unit 180 may be referred to as an adaptive in-loop filter.

디블록킹 필터는 블록들 간의 경계에서 발생한 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러에 대한 보상을 위해 픽셀 값에 적정 오프셋(offset) 값을 더할 수 있다. ALF는 복원된 영상 및 원래의 영상을 비교한 값에 기반하여 필터링을 수행할 수 있다. 필터부(180)를 거친 복원된 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.The deblocking filter may remove block distortion occurring at the boundary between blocks. The SAO may add an appropriate offset value to the pixel value to compensate for the coding error. The ALF may perform filtering based on a value obtained by comparing the reconstructed image and the original image. The reconstructed block passing through the filter unit 180 may be stored in the reference picture buffer 190 .

도 2는 본 발명이 적용되는 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a decoding apparatus to which the present invention is applied according to an embodiment.

복호화 장치(200)는 비디오 복호화 장치 또는 영상 복호화 장치일 수 있다.The decoding apparatus 200 may be a video decoding apparatus or an image decoding apparatus.

도 2를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 인터 예측부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함할 수 있다.Referring to FIG. 2 , the decoding apparatus 200 includes an entropy decoding unit 210 , an inverse quantization unit 220 , an inverse transform unit 230 , an intra prediction unit 240 , an inter prediction unit 250 , and an adder 255 . , a filter unit 260 and a reference picture buffer 270 may be included.

복호화 장치(200)는 부호화 장치(100)에서 출력된 비트스트림을 수신할 수 있다. 복호화 장치(200)는 비트스트림에 대하여 인트라 모드 및/또는 인터 모드의 복호화를 수행할 수 있다. 또한, 복호화 장치(200)는 복호화를 통해 복원된 영상을 생성할 수 있고, 생성된 복원된 영상을 출력할 수 있다.The decoding apparatus 200 may receive the bitstream output from the encoding apparatus 100 . The decoding apparatus 200 may perform intra-mode and/or inter-mode decoding on the bitstream. Also, the decoding apparatus 200 may generate a reconstructed image through decoding and may output the generated reconstructed image.

예를 들면, 복호화에 사용되는 예측 모드에 따른 인트라 모드 또는 인터 모드로의 전환은 스위치에 의해 이루어질 수 있다. 복호화에 사용되는 예측 모드가 인트라 모드인 경우 스위치가 인트라로 전환될 수 있다. 복호화에 사용되는 예측 모드가 인터 모드인 경우 스위치가 인터로 전환될 수 있다.For example, switching to an intra mode or an inter mode according to a prediction mode used for decoding may be performed by a switch. When the prediction mode used for decoding is the intra mode, the switch may be switched to the intra mode. When the prediction mode used for decoding is the inter mode, the switch may be switched to the inter mode.

복호화 장치(200)는 입력된 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 획득할 수 있고, 예측 블록을 생성할 수 있다. 복원된 잔차 블록 및 예측 블록이 획득되면, 복호화 장치(200)는 복원된 잔차 블록 및 예측 블록을 더함으로써 복원된 블록을 생성할 수 있다.The decoding apparatus 200 may obtain a reconstructed residual block from the input bitstream and generate a prediction block. When the reconstructed residual block and the prediction block are obtained, the decoding apparatus 200 may generate a reconstructed block by adding the reconstructed residual block and the prediction block.

엔트로피 복호화부(210)는 확률 분포에 기초하여 비트스트림에 대한 엔트로피 복호화를 수행함으로써 심볼들을 생성할 수 있다. 생성된 심볼들은 양자화된 계수(quantized coefficient) 형태의 심볼을 포함할 수 있다. 여기에서, 엔트로피 복호화 방법은 상술된 엔트로피 부호화 방법과 유사할 수 있다. 예를 들면, 엔트로피 복호화 방법은 상술된 엔트로피 부호화 방법의 역과정일 수 있다.The entropy decoding unit 210 may generate symbols by performing entropy decoding on the bitstream based on the probability distribution. The generated symbols may include symbols in the form of quantized coefficients. Here, the entropy decoding method may be similar to the entropy encoding method described above. For example, the entropy decoding method may be a reverse process of the entropy encoding method described above.

양자화된 계수는 역양자화부(220)에서 역양자화될 수 있다. 또한, 역양자화된 계수는 역변환부(230)에서 역변환될 수 있다. 양자화된 계수가 역양자화 및 역변환 된 결과로서, 복원된 잔차 블록이 생성될 수 있다. 이때, 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용할 수 있다.The quantized coefficient may be inverse quantized by the inverse quantizer 220 . Also, the inverse quantized coefficient may be inversely transformed by the inverse transform unit 230 . As a result of inverse quantization and inverse transformation of the quantized coefficient, a reconstructed residual block may be generated. In this case, the inverse quantizer 220 may apply a quantization matrix to the quantized coefficients.

인트라 모드가 사용되는 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀 값을 이용하는 공간적 예측을 수행함으로써 예측 블록을 생성할 수 있다.When the intra mode is used, the intra prediction unit 240 may generate a prediction block by performing spatial prediction using pixel values of an already decoded block around the current block.

인터 예측부(250)는 움직임 보상부를 포함할 수 있다. 인터 모드가 사용되는 경우, 움직임 보상부는 움직임 벡터 및 참조 영상을 이용하는 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 참조 영상은 참조 픽쳐 버퍼(270)에 저장될 수 있다.The inter prediction unit 250 may include a motion compensator. When the inter mode is used, the motion compensator may generate a prediction block by performing motion compensation using a motion vector and a reference image. The reference image may be stored in the reference picture buffer 270 .

복원된 잔차 블록 및 예측 블록은 가산기(255)를 통해 더해질 수 있다. 가산기(255)는 복원된 잔차 블록 및 예측 블록을 더함으로써 복원된 블록을 생성할 수 있다.The reconstructed residual block and the prediction block may be added through an adder 255 . The adder 255 may generate a reconstructed block by adding the reconstructed residual block and the prediction block.

복원된 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO 및 ALF 중 적어도 하나 이상을 복원된 블록 또는 복원된 픽쳐에 적용할 수 있다. 필터부(260)는 복원된 영상을 출력할 수 있다. 복원된 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.The reconstructed block may pass through the filter unit 260 . The filter unit 260 may apply at least one of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture. The filter unit 260 may output a reconstructed image. The reconstructed image may be stored in the reference picture buffer 270 and used for inter prediction.

도 3은 영상을 부호화 및 복호화할 때의 영상의 분할 구조를 개략적으로 나타내는 도면이다.3 is a diagram schematically illustrating a structure of an image segmentation when an image is encoded and decoded.

영상을 효율적으로 분할하기 위해, 부호화 및 복호화에 있어서, 코딩 유닛(Coding Unit; CU)이 사용될 수 있다. 유닛은 1) 영상 샘플들을 포함하는 블록 및 2) 구문 요소(syntax element)을 합쳐서 지칭하는 용어일 수 있다. 예를 들면, "유닛의 분할"은 "유닛에 해당하는 블록의 분할"을 의미할 수 있다.In order to efficiently segment an image, a coding unit (CU) may be used in encoding and decoding. A unit may be a term that collectively refers to 1) a block including image samples and 2) a syntax element. For example, "division of a unit" may mean "division of a block corresponding to a unit".

도 3을 참조하면, 영상(300)은 최대 코딩 유닛(Largest Coding Unit; LCU)의 단위로 순차적으로 분할될 수 있고, 영상(300)의 분할 구조는 LCU에 따라서 결정될 수 있다. 여기서, LCU는 코딩 트리 유닛(Coding Tree Unit; CTU)과 동일한 의미로 사용될 수 있다.Referring to FIG. 3 , an image 300 may be sequentially divided in units of a Largest Coding Unit (LCU), and the division structure of the image 300 may be determined according to the LCU. Here, LCU may be used in the same meaning as a Coding Tree Unit (CTU).

분할 구조는 LCU(310) 내에서의, 영상을 효율적으로 부호화하기 위한, 코딩 유닛(Coding Unit; CU)의 분포를 의미할 수 있다. 이러한 분포는 하나의 CU를 4개의 CU들로 분할할지 여부에 따라 결정될 수 있다. 분할에 의해 생성된 CU의 가로 크기 및 세로 크기는 각각 분할 전의 CU의 가로 크기의 절반 및 세로 크기의 절반일 수 있다. 분할된 CU는 동일한 방식으로 가로 크기 및 세로 크기가 절반으로 감소된 4개의 CU로 재귀적으로 분할될 수 있다.The division structure may mean a distribution of coding units (CUs) for efficiently encoding an image in the LCU 310 . This distribution may be determined according to whether one CU is divided into four CUs. The horizontal size and vertical size of the CU generated by division may be half of the horizontal size and half of the vertical size of the CU before division, respectively. The divided CU may be recursively divided into four CUs whose horizontal size and vertical size are reduced by half in the same manner.

이때, CU의 분할은 기정의된 깊이까지 재귀적으로 이루어질 수 있다. 깊이 정보는 CU의 크기를 나타내는 정보일 수 있다. 각 CU 별로 깊이 정보가 저장될 수 있다. 예컨대, LCU의 깊이는 0일 수 있고, 최소 코딩 유닛(Smallest Coding Unit; SCU)의 깊이는 기정의된 최대 깊이일 수 있다. 여기서, LCU는 상술된 것과 같이 최대의 코딩 유닛 크기를 가지는 CU일 수 있고, SCU는 최소의 코딩 유닛 크기를 가지는 CU일 수 있다. In this case, the division of the CU may be performed recursively to a predefined depth. The depth information may be information indicating the size of a CU. Depth information may be stored for each CU. For example, the depth of the LCU may be 0, and the depth of a Smallest Coding Unit (SCU) may be a predefined maximum depth. Here, the LCU may be a CU having the largest coding unit size as described above, and the SCU may be a CU having the smallest coding unit size.

LCU(310)로부터 분할이 시작될 수 있고, 분할에 의해 CU의 가로 크기 및 세로 크기가 절반으로 줄어들 때마다 CU의 깊이는 1씩 증가할 수 있다. 각각의 깊이 별로, 분할되지 않는 CU는 2Nx2N 크기를 가질 수 있다. 또한, 분할되는 CU의 경우, 2Nx2N 크기의 CU가 NxN 크기를 가지는 4개의 CU들로 분할될 수 있다. N의 크기는 깊이가 1씩 증가할 때마다 절반으로 감소할 수 있다. The division may start from the LCU 310, and whenever the horizontal size and the vertical size of the CU are halved by the division, the depth of the CU may increase by one. For each depth, an undivided CU may have a size of 2Nx2N. In addition, in the case of a divided CU, a CU having a size of 2Nx2N may be divided into four CUs having a size of NxN. The size of N can be halved for each increase in depth by 1.

도 3을 참조하면, 깊이가 0인 LCU는 64x64 픽셀들일 수 있다. 0은 최소 깊이일 수 있다. 깊이가 3인 SCU는 8x8 픽셀들일 수 있다. 3은 최대 깊이일 수 있다. 이때, LCU인 64x64 픽셀들의 CU는 깊이 0으로 표현될 수 있다. 32x32 픽셀들의 CU는 깊이 1로 표현될 수 있다. 16x16 픽셀들의 CU는 깊이 2로 표현될 수 있다. SCU인 8x8 픽셀들의 CU는 깊이 3으로 표현될 수 있다. Referring to FIG. 3 , an LCU having a depth of 0 may be 64x64 pixels. 0 may be the minimum depth. An SCU of depth 3 may be 8x8 pixels. 3 may be the maximum depth. In this case, a CU of 64x64 pixels, which is an LCU, may be expressed as depth 0. A CU of 32x32 pixels may be expressed as depth 1. A CU of 16x16 pixels may be represented with depth 2. A CU of 8x8 pixels, which is an SCU, may be expressed as depth 3 .

또한, CU가 분할되는지 여부에 대한 정보는 CU의 분할 정보를 통해 표현될 수 있다. 분할 정보는 1비트의 정보일 수 있다. SCU를 제외한 모든 CU는 분할 정보를 포함할 수 있다. 예를 들면, CU가 분할되지 않는 경우 CU의 분할 정보의 값은 0일 수 있고, CU가 분할되는 경우 CU의 분할 정보의 값은 1일 수 있다.Also, information on whether a CU is split may be expressed through split information of the CU. The division information may be 1-bit information. All CUs except for the SCU may include partition information. For example, if the CU is not split, the value of the split information of the CU may be 0, and if the CU is split, the value of the split information of the CU may be 1.

도 4는 코딩 유닛(CU)이 포함할 수 있는 예측 유닛(PU)의 형태를 도시한 도면이다.4 is a diagram illustrating a form of a prediction unit (PU) that a coding unit (CU) may include.

LCU로부터 분할된 CU 중 더 이상 분할되지 않는 CU는 하나 이상의 예측 유닛(Prediction Unit; PU)들로 분할될 수 있다. 이러한 분할 또한, 파티션(partition)로 칭해질 수 있다.A CU that is no longer split among CUs split from an LCU may be split into one or more prediction units (PUs). This partition may also be referred to as a partition.

PU는 예측에 대한 기본 단위일 수 있다. PU는 스킵(skip) 모드, 인터 모드 및 인트라 모드 중 어느 하나로 부호화 및 복호화될 수 있다. PU는 각 모드에 따라서 다양한 형태로 분할될 수 있다.A PU may be a basic unit for prediction. The PU may be encoded and decoded in any one of a skip mode, an inter mode, and an intra mode. The PU may be divided into various forms according to each mode.

스킵 모드에서는, CU 내에 분할이 존재하지 않을 수 있다. 스킵 모드에서는 분할 없이 PU 및 CU의 크기들이 동일한 2Nx2N 모드(410)가 지원될 수 있다.In skip mode, there may not be a split in a CU. In the skip mode, the 2Nx2N mode 410 in which PU and CU sizes are the same without division may be supported.

인터 모드에서는, CU 내에서 8가지로 분할된 형태들이 지원될 수 있다. 예를 들면, 인터 모드에서는 2Nx2N 모드(410), 2NxN 모드(415), Nx2N 모드(420), NxN 모드(425), 2NxnU 모드(430), 2NxnD 모드(435), nLx2N 모드(440) 및 nRx2N 모드(445)가 지원될 수 있다.In the inter mode, 8 types of divided types within a CU may be supported. For example, in the inter mode, 2Nx2N mode 410, 2NxN mode 415, Nx2N mode 420, NxN mode 425, 2NxnU mode 430, 2NxnD mode 435, nLx2N mode 440, and nRx2N mode Mode 445 may be supported.

인트라 모드에서는, 2Nx2N 모드(410) 및 NxN 모드(425)가 지원될 수 있다.In the intra mode, the 2Nx2N mode 410 and the NxN mode 425 may be supported.

2Nx2N 모드(410)에서는 2Nx2N의 크기의 PU가 부호화될 수 있다. 2Nx2N의 크기의 PU는 CU의 크기와 동일한 크기의 PU를 의미할 수 있다. 예를 들면, 2Nx2N의 크기의 PU는 64x64, 32x32, 16x16 또는 8x8의 크기를 가질 수 있다.In the 2Nx2N mode 410, a PU having a size of 2Nx2N may be encoded. A PU having a size of 2Nx2N may mean a PU having the same size as that of a CU. For example, a PU having a size of 2Nx2N may have a size of 64x64, 32x32, 16x16, or 8x8.

NxN 모드(425)에서는 NxN의 크기의 PU가 부호화될 수 있다.In the NxN mode 425 , a PU having a size of NxN may be encoded.

예를 들면, 인트라 예측에서, PU의 크기가 8x8일 때, 4개의 분할된 PU들이 부호화될 수 있다. 분할된 PU의 크기는 4x4일 수 있다.For example, in intra prediction, when the size of a PU is 8x8, four divided PUs may be coded. The size of the divided PU may be 4x4.

PU가 인트라 모드에 의해 부호화될 경우, PU는 복수의 인트라 예측 모드들 중 하나의 인트라 예측 모드를 사용하여 부호화될 수 있다. 예를 들면, 고 효율 비디오 코딩(High Efficiency Video Coding; HEVC) 기술에서는 35 개의 인트라 예측 모드들을 제공할 수 있고, PU는 35 개의 인트라 예측 모드들 중 하나의 인트라 예측 모드로 부호화될 수 있다.When a PU is encoded by an intra mode, the PU may be encoded using one intra prediction mode among a plurality of intra prediction modes. For example, a High Efficiency Video Coding (HEVC) technique may provide 35 intra prediction modes, and a PU may be encoded in one intra prediction mode among 35 intra prediction modes.

PU가 2Nx2N 모드(410) 및 NxN 모드(425) 중 어느 모드에 의해 부호화될 것인가는 율-왜곡 비용(rate-distortion cost)에 의해 결정될 수 있다.Which mode of the 2Nx2N mode 410 and the NxN mode 425 the PU is coded by may be determined by rate-distortion cost.

부호화 장치(100)는 2Nx2N 크기의 PU에 대해 부호화 연산을 수행할 수 있다. 여기에서, 부호화 연산은 부호화 장치(100)가 사용할 수 있는 복수의 인트라 예측 모드들의 각각으로 PU를 부호화하는 것일 수 있다. 부호화 연산을 통해 2Nx2N 크기의 PU에 대한 최적의 인트라 예측 모드가 도출될 수 있다. 최적의 인트라 예측 모드는 부호화 장치(100)가 사용할 수 있는 복수의 인트라 예측 모드들 중 2Nx2N 크기의 PU의 부호화에 대하여 최소의 율-왜곡 비용을 발생시키는 인트라 예측 모드일 수 있다.The encoding apparatus 100 may perform an encoding operation on a PU having a size of 2Nx2N. Here, the encoding operation may be encoding the PU using each of a plurality of intra prediction modes that the encoding apparatus 100 can use. An optimal intra prediction mode for a PU having a size of 2Nx2N may be derived through an encoding operation. The optimal intra prediction mode may be an intra prediction mode that generates a minimum rate-distortion cost for encoding a PU having a size of 2Nx2N among a plurality of intra prediction modes that can be used by the encoding apparatus 100 .

또한, 부호화 장치(100)는 NxN으로 분할된 PU들의 각 PU에 대해서 순차적으로 부호화 연산을 수행할 수 있다. 여기에서, 부호화 연산은 부호화 장치(100)가 사용할 수 있는 복수의 인트라 예측 모드들의 각각으로 PU를 부호화하는 것일 수 있다. 부호화 연산을 통해 NxN 크기의 PU에 대한 최적의 인트라 예측 모드가 도출될 수 있다. 최적의 인트라 예측 모드는 부호화 장치(100)가 사용할 수 있는 복수의 인트라 예측 모드들 중 NxN 크기의 PU의 부호화에 대하여 최소의 율-왜곡 비용을 발생시키는 인트라 예측 모드일 수 있다.Also, the encoding apparatus 100 may sequentially perform an encoding operation on each PU of the PUs divided into NxN. Here, the encoding operation may be encoding the PU using each of a plurality of intra prediction modes that the encoding apparatus 100 can use. An optimal intra prediction mode for an NxN-sized PU may be derived through an encoding operation. The optimal intra-prediction mode may be an intra-prediction mode that generates a minimum rate-distortion cost for encoding an NxN-sized PU among a plurality of intra prediction modes that can be used by the encoding apparatus 100 .

부호화 장치(100)는 2Nx2N 크기의 PU의 율-왜곡 비용 및 NxN 크기의 PU들의 율-왜곡 비용들의 비교에 기반하여 2Nx2N 크기의 PU 및 NxN 크기의 PU들 중 어느 것을 부호화할 지를 결정할 수 있다.The encoding apparatus 100 may determine which of the 2Nx2N PU and the NxN PUs to be encoded based on a comparison of the rate-distortion cost of the 2Nx2N PU and the rate-distortion costs of the NxN PUs.

도 5는 코딩 유닛(CU)에 포함될 수 있는 변환 유닛(TU)의 형태를 도시한 도면이다.5 is a diagram illustrating a form of a transform unit (TU) that may be included in a coding unit (CU).

변환 유닛(Transform Unit; TU)은 CU 내에서 변환, 양자화, 역변환, 역양자화, 엔트로피 부호화 및 엔트로피 복호화의 과정을 위해 사용되는 기본 단위일 수 있다. TU는 정사각형 형태 또는 직사각형 형태를 가질 수 있다.A transform unit (TU) may be a basic unit used for transform, quantization, inverse transform, inverse quantization, entropy encoding, and entropy decoding processes within a CU. A TU may have a square shape or a rectangular shape.

LCU로부터 분할된 CU 중, 더 이상 CU들로 분할되지 않는 CU는 하나 이상의 TU들로 분할될 수 있다. 이때, TU의 분할 구조는 쿼드-트리(quad-tree) 구조일 수 있다. 예컨대, 도 5에서 도시된 것과 같이, 하나의 CU(510)가 쿼드-트리 구조에 따라서 한 번 혹은 그 이상 분할될 수 있다. 분할을 통해, 하나의 CU(510)는 다양한 크기의 TU들로 구성될 수 있다.Among CUs split from an LCU, a CU that is no longer split into CUs may be split into one or more TUs. In this case, the partition structure of the TU may be a quad-tree structure. For example, as shown in FIG. 5 , one CU 510 may be divided one or more times according to a quad-tree structure. Through division, one CU 510 may be configured with TUs of various sizes.

부호화 장치(100)에서, 64x64 크기의 부호화 트리 유닛(Coding Tree Unit; CTU)는 재귀적인 쿼드-크리 구조에 의해 더 작은 복수의 CU들로 분할될 수 있다. 하나의 CU는 동일한 크기들을 갖는 4개의 CU들로 분할될 수 있다. CU는 재귀적으로 분할될 수 있으며, 각 CU는 쿼드 트리의 구조를 가질 수 있다.In the encoding apparatus 100 , a 64x64 coding tree unit (CTU) may be divided into a plurality of smaller CUs by a recursive quad-tree structure. One CU may be divided into 4 CUs having the same sizes. CUs may be recursively partitioned, and each CU may have a quad tree structure.

CU는 깊이를 가질 수 있다. CU가 분할되면, 분할에 의해 생성된 CU들은 분할된 CU의 깊이에서 1 증가한 깊이를 가질 수 있다.A CU may have depth. When a CU is split, CUs generated by splitting may have a depth increased by 1 from the depth of the split CU.

예를 들면, CU의 깊이는 0 내지 3의 값을 가질 수 있다. CU의 크기는 CU의 깊이에 따라 64x64로부터 8x8까지의 크기일 수 있다.For example, the depth of the CU may have a value of 0 to 3. The size of the CU may range from 64x64 to 8x8 according to the depth of the CU.

CU에 대한 재귀적인 분할을 통해, 최소의 율-왜곡 비율을 발생시키는 최적의 분할 방법이 선택될 수 있다.Through recursive segmentation for CUs, an optimal segmentation method that produces the minimum rate-distortion ratio can be selected.

도 6은 인트라 예측 과정의 실시예를 설명하기 위한 도면이다.6 is a diagram for explaining an embodiment of an intra prediction process.

도 6의 그래프의 중심으로부터 외곽으로의 화살표들은 인트라 예측 모드들의 예측 방향들을 나타낼 수 있다. 또한, 화살표에 근접하게 표시된 숫자는 인트라 예측 모드 또는 인트라 예측 모드의 예측 방향에 할당된 모드 값의 일 예를 나타낼 수 있다.Arrows outward from the center of the graph of FIG. 6 may indicate prediction directions of intra prediction modes. Also, a number indicated adjacent to the arrow may indicate an example of an intra prediction mode or a mode value assigned to a prediction direction of the intra prediction mode.

인트라 부호화 및/또는 복호화는 대상 유닛의 주변의 유닛의 참조 샘플을 이용하여 수행될 수 있다. 주변의 유닛은 주변의 복원된 유닛일 수 있다. 예를 들면, 인트라 부호화 및/또는 복호화는 주변의 복원된 유닛이 포함하는 참조 샘플의 값 또는 부호화 파라미터를 이용하여 수행될 수 있다.Intra encoding and/or decoding may be performed using reference samples of units adjacent to the target unit. The neighboring units may be neighboring restored units. For example, intra encoding and/or decoding may be performed using a value of a reference sample included in a neighboring reconstructed unit or an encoding parameter.

부호화 장치(100) 및/또는 복호화 장치(200)는 현재 픽쳐 내의 샘플의 정보에 기초하여 대상 유닛에 대한 인트라 예측을 수행함으로써 예측 블록을 생성할 수 있다. 인트라 예측을 수행할 때, 부호화 장치(100) 및/또는 복호화 장치(200)는 현재 픽쳐 내의 샘플의 정보에 기반하여 인트라 예측을 수행함으로써 대상 유닛에 대한 예측 블록을 생성할 수 있다. 인트라 예측을 수행할 때, 부호화 장치(100) 및/또는 복호화 장치(200)는 적어도 하나의 복원된 참조 샘플에 기반하여 방향성 예측 및/또는 비방향성 예측을 수행할 수 있다.The encoding apparatus 100 and/or the decoding apparatus 200 may generate a prediction block by performing intra prediction on a target unit based on information on a sample in the current picture. When performing intra prediction, the encoding apparatus 100 and/or the decoding apparatus 200 may generate a prediction block for a target unit by performing intra prediction based on information on a sample in the current picture. When performing intra prediction, the encoding apparatus 100 and/or the decoding apparatus 200 may perform directional prediction and/or non-directional prediction based on at least one reconstructed reference sample.

예측 블록은 인트라 예측의 수행의 결과로 생성된 블록을 의미할 수 있다. 예측 블록은 CU, PU 및 TU 중 적어도 하나에 해당할 수 있다.The prediction block may mean a block generated as a result of performing intra prediction. The prediction block may correspond to at least one of a CU, a PU, and a TU.

예측 블록의 단위는 CU, PU 및 TU 중 적어도 하나의 크기일 수 있다. 예측 블록은 2Nx2N의 크기 또는 NxN의 크기를 갖는, 정사각형의 형태를 가질 수 있다. NxN의 크기는 4x4, 8x8, 16x16, 32x32 및 64x64 등을 포함할 수 있다.The unit of the prediction block may be the size of at least one of CU, PU, and TU. The prediction block may have a square shape having a size of 2Nx2N or NxN. The size of NxN may include 4x4, 8x8, 16x16, 32x32 and 64x64.

또는, 예측 블록은 2x2, 4x4, 16x16, 32x32 또는 64x64 등의 크기를 갖는 정사각형의 형태의 블록일 수 있고, 2x8, 4x8, 2x16, 4x16 및 8x16 등의 크기를 갖는 직사각형 모양의 블록일 수도 있다.Alternatively, the prediction block may be a square-shaped block having a size such as 2x2, 4x4, 16x16, 32x32 or 64x64, or a rectangular block having a size such as 2x8, 4x8, 2x16, 4x16 and 8x16.

인트라 예측은 대상 유닛에 대한 인트라 예측 모드에 따라 수행될 수 있다. 대상 유닛이 가질 수 있는 인트라 예측 모드의 개수는 기정의된 고정된 값일 수 있으며, 예측 블록의 속성에 따라 다르게 결정된 값일 수 있다. 예를 들면, 예측 블록의 속성은 예측 블록의 크기 및 예측 블록의 타입 등을 포함할 수 있다.Intra prediction may be performed according to an intra prediction mode for a target unit. The number of intra prediction modes that the target unit can have may be a predefined fixed value, or a value determined differently according to the properties of the prediction block. For example, the properties of the prediction block may include the size of the prediction block and the type of the prediction block.

예를 들면, 인트라 예측 모드의 개수는 예측 유닛의 크기에 관계없이 35개로 고정될 수 있다. 또는, 예를 들면, 인트라 예측 모드의 개수는 3, 5, 9, 17, 34, 35 또는 36 등일 수 있다.For example, the number of intra prediction modes may be fixed to 35 regardless of the size of the prediction unit. Or, for example, the number of intra prediction modes may be 3, 5, 9, 17, 34, 35, or 36.

인트라 예측 모드는 도 6에서 도시된 것과 같이 2개의 비방향성 모드들 및 33개의 방향성 모드들을 포함할 수 있다. 2개의 비방향성 모드들은 디씨(DC) 모드 및 플래너(Planar) 모드를 포함할 수 있다.The intra prediction mode may include two non-directional modes and 33 directional modes as shown in FIG. 6 . The two non-directional modes may include a DC mode and a planar mode.

예를 들면, 모드 값이 26인 수직 모드의 경우, 참조 샘플의 픽셀 값에 기반하여 수직 방향으로 예측이 수행될 수 있다. 예를 들면, 모드 값이 10인 수평 모드의 경우, 참조 샘플의 픽셀 값에 기반하여 수평 방향으로 예측이 수행될 수 있다.For example, in the case of a vertical mode having a mode value of 26, prediction may be performed in a vertical direction based on a pixel value of a reference sample. For example, in the case of a horizontal mode having a mode value of 10, prediction may be performed in a horizontal direction based on a pixel value of a reference sample.

전술된 모드 이외의 방향성 모드인 경우에도 부호화 장치(100) 및 복호화 장치(200)는 방향성 모드에 대응하는 각도에 따라 참조 샘플을 이용하여 대상 유닛에 대한 인트라 예측을 수행할 수 있다.Even in a directional mode other than the above-described mode, the encoding apparatus 100 and the decoding apparatus 200 may perform intra prediction on a target unit by using a reference sample according to an angle corresponding to the directional mode.

수직 모드의 우측에 위치한 인트라 예측 모드는 수직 우측 모드(vertical-right mode)로 명명될 수 있다. 수평 모드의 하단에 위치한 인트라 예측 모드는 수형 하단 모드(horizontal-below mode)로 명명될 수 있다. 예를 들면, 도 6에서, 모드 값이 27, 28, 29, 30, 31, 32, 33 및 34 중 하나인 인트라 예측 모드들은 수직 우측 모드들(613)일 수 있다. 모드 값이 2, 3, 4, 5, 6, 7, 8 및 9 중 하나인 인트라 예측 모드들은 수평 하단 모드들(616)일 수 있다.The intra prediction mode located to the right of the vertical mode may be referred to as a vertical-right mode. The intra prediction mode located at the bottom of the horizontal mode may be called a horizontal-below mode. For example, in FIG. 6 , intra prediction modes whose mode value is one of 27, 28, 29, 30, 31, 32, 33, and 34 may be vertical right modes 613 . Intra prediction modes in which the mode value is one of 2, 3, 4, 5, 6, 7, 8, and 9 may be horizontal bottom modes 616 .

비방향성 모드는 디씨(DC) 모드 및 플래너(planar) 모드를 포함할 수 있다. 예를 들면, 디씨 모드의 모드 값은 1일 수 있다. 플래너 모드의 모드 값은 0일 수 있다.The non-directional mode may include a DC mode and a planar mode. For example, the mode value of the DC mode may be 1. The mode value of the planner mode may be 0.

방향성 모드는 각진(angular) 모드를 포함할 수 있다. 복수의 인트라 예측 모드들 중 DC 모드 및 플래너 모드를 제외한 나머지의 모드는 방향성 모드일 수 있다.The directional mode may include an angular mode. Modes other than the DC mode and the planar mode among the plurality of intra prediction modes may be a directional mode.

DC 모드인 경우, 복수의 참조 샘플들의 픽셀 값들의 평균에 기반하여 예측 블록이 생성될 수 있다. 예를 들면, 예측 블록의 픽셀의 값은 복수의 참조 샘플들의 픽셀 값들의 평균에 기반하여 결정될 수 있다.In the DC mode, a prediction block may be generated based on an average of pixel values of a plurality of reference samples. For example, a value of a pixel of the prediction block may be determined based on an average of pixel values of a plurality of reference samples.

전술된 인트라 예측 모드들의 개수 및 각 인트라 예측 모드들의 모드 값은 단지 예시적인 것일 수 있다. 전술된 인트라 예측 모드들의 개수 및 각 인트라 예측 모드들의 모드 값은 실시예, 구현 및/또는 필요에 따라 다르게 정의될 수도 있다.The number of intra prediction modes and the mode value of each intra prediction mode described above may be merely exemplary. The number of the above-described intra prediction modes and a mode value of each intra prediction mode may be defined differently according to an embodiment, implementation, and/or need.

인트라 예측 모드의 개수는 색 성분(color component)의 타입에 따라 상이할 수 있다. 예를 들면, 색 성분이 휘도(luma) 신호인지 아니면 색차(chroma) 신호인지에 따라 예측 모드의 개수가 다를 수 있다.The number of intra prediction modes may be different depending on the type of color component. For example, the number of prediction modes may be different depending on whether the color component is a luma signal or a chroma signal.

도 7은 인터 예측 과정의 실시예를 설명하기 위한 도면이다.7 is a diagram for explaining an embodiment of an inter prediction process.

도 7에 도시된 사각형은 영상(또는, 픽쳐)를 나타낼 수 있다. 또한, 도 7에서 화살표는 예측 방향을 나타낼 수 있다. 즉, 영상은 예측 방향에 따라 부호화 및/또는 복호화될 수 있다.The rectangle shown in FIG. 7 may represent an image (or a picture). Also, an arrow in FIG. 7 may indicate a prediction direction. That is, the image may be encoded and/or decoded according to the prediction direction.

각 영상(또는, 픽쳐)는 부호화 타입에 따라 I 픽쳐(Intra Picture), P 픽쳐(Uni-prediction Picture), B 픽쳐(Bi-prediction Picture)로 분류될 수 있다. 각 픽쳐는 각 픽쳐의 부호화 타입에 따라 부호화될 수 있다.Each image (or picture) may be classified into an I picture (intra picture), a P picture (uni-prediction picture), and a B picture (bi-prediction picture) according to an encoding type. Each picture may be encoded according to the encoding type of each picture.

부호화의 대상인 영상이 I 픽쳐인 경우, 영상은 인터 예측 없이 영상 자체에 대해 부호화될 수 있다. 부호화의 대상인 영상이 P 픽쳐인 경우, 영상은 순방향으로만 참조 픽쳐를 이용하는 인터 예측을 통해 부호화될 수 있다. 부호화의 대상인 영상이 B 픽쳐인 경우, 순방향 및 역방향의 양측으로 참조 픽쳐들을 이용하는 인터 예측을 통해 부호화될 수 있으며, 순방향 및 역방향 중 일 방향으로 참조 픽쳐를 이용하는 인터 예측을 통해 부호화될 수 있다.When an image to be encoded is an I picture, the image may be encoded with respect to the image itself without inter prediction. When an image to be encoded is a P picture, the image may be encoded through inter prediction using reference pictures only in the forward direction. When an image to be encoded is a B picture, it may be encoded through inter prediction using reference pictures in both forward and backward directions, and may be encoded through inter prediction using reference pictures in one of the forward and backward directions.

참조 픽쳐를 이용하여 부호화 및/또는 복호화되는 P 픽쳐 및 B 픽쳐는 인터 예측이 사용되는 영상으로 간주될 수 있다.P-pictures and B-pictures that are encoded and/or decoded using a reference picture may be regarded as images for which inter prediction is used.

아래에서, 실시예에 따른 인터 모드에서의 인터 예측에 대해 구체적으로 설명된다.Hereinafter, inter prediction in inter mode according to an embodiment will be described in detail.

인터 모드에서, 부호화 장치(100) 및 복호화 장치(200)는 부호화 대상 유닛 및 복호화 대상 유닛에 대한 예측 및/또는 움직임 보상을 수행할 수 있다. 예를 들면, 부호화 장치(100) 또는 복호화 장치(200)는 복원된 주변 유닛의 움직임 정보를 부호화 대상 유닛 또는 복호화 대상 유닛의 움직임 정보로 사용함으로써 예측 및/또는 움직임 보상을 수행할 수 있다. 여기에서, 부호화 대상 유닛 또는 복호화 대상 유닛은 예측 유닛 및/또는 예측 유닛 파티션을 의미할 수 있다.In the inter mode, the encoding apparatus 100 and the decoding apparatus 200 may perform prediction and/or motion compensation on the encoding object unit and the decoding object unit. For example, the encoding apparatus 100 or the decoding apparatus 200 may perform prediction and/or motion compensation by using the motion information of the reconstructed neighboring unit as the motion information of the encoding object unit or the decoding object unit. Here, the to-be-encoded unit or the to-be-decoded unit may mean a prediction unit and/or a prediction unit partition.

인터 예측은 참조 픽쳐 및 움직임 정보를 이용하여 수행될 수 있다. 또한, 인터 예측은 전술된 스킵 모드를 이용할 수도 있다.Inter prediction may be performed using a reference picture and motion information. In addition, inter prediction may use the skip mode described above.

참조 픽쳐(reference picture)는 현재 픽쳐의 이전 픽쳐 또는 현재 픽쳐의 이후 픽쳐 중 적어도 하나일 수 있다. 이때, 인터 예측은 참조 픽쳐에 기반하여 현재 픽쳐의 블록에 대한 예측을 수행할 수 있다. 여기에서, 참조 픽쳐는 블록의 예측에 이용되는 영상을 의미할 수 있다.The reference picture may be at least one of a picture before the current picture or a picture after the current picture. In this case, the inter prediction may perform prediction on the block of the current picture based on the reference picture. Here, the reference picture may mean an image used for prediction of a block.

이때, 참조 픽쳐 내의 영역은 참조 픽쳐를 지시하는 참조 픽쳐 인덱스(refIdx) 및 후술될 움직임 벡터(motion vector) 등을 이용함으로써 특정될 수 있다.In this case, the region in the reference picture may be specified by using a reference picture index refIdx indicating the reference picture and a motion vector to be described later.

인터 예측은 참조 픽쳐 및 참조 픽쳐 내에서 현재 블록에 대응하는 참조 블록을 선택할 수 있고, 선택된 참조 블록을 사용하여 현재 블록에 대한 예측 블록을 생성할 수 있다. 현재 블록은 현재 픽쳐의 블록들 중 현재 부호화 또는 복호화의 대상인 블록일 수 있다.Inter prediction may select a reference picture and a reference block corresponding to the current block within the reference picture, and may generate a prediction block for the current block using the selected reference block. The current block may be a block to be currently encoded or decoded among blocks of the current picture.

움직임 정보는 부호화 장치(100) 및 복호화 장치(200)의 각각에 의해 인터 예측 중 도출될 수 있다. 또한, 도출된 움직임 정보는 인터 예측을 수행하는데 사용될 수 있다.Motion information may be derived during inter prediction by each of the encoding apparatus 100 and the decoding apparatus 200 . In addition, the derived motion information may be used to perform inter prediction.

이때, 부호화 장치(100) 및 복호화 장치(200)는 복원된 주변 블록(neighboring block)의 움직임 정보 및/또는 콜 블록(collocated block; col block)의 움직임 정보를 이용함으로써 부호화 효율 및/또는 복호화 효율을 향상시킬 수 있다. 콜 블록은 이미 복원된 콜 픽쳐(collocated picture; col picture) 내의 현재 블록에 대응하는 블록일 수 있다.In this case, the encoding apparatus 100 and the decoding apparatus 200 use the reconstructed motion information of a neighboring block and/or motion information of a collocated block to achieve encoding efficiency and/or decoding efficiency. can improve The collocated block may be a block corresponding to a current block in an already reconstructed collocated picture (col picture).

복원된 주변 블록은 현재 픽쳐 내의 블록이면서, 이미 부호화 및/또는 복호화를 통해 복원된 블록일 수 있다. 복원된 블록은 현재 블록에 인접한 이웃 블록 및/또는 현재 블록의 외부 코너에 위치한 블록일 수 있다. 여기에서, 현재 블록의 외부 코너에 위치한 블록이란, 현재 블록에 가로로 인접한 이웃 블록에 세로로 인접한 블록 또는 현재 블록에 세로로 인접한 이웃 블록에 가로로 인접한 블록일 수 있다.The reconstructed neighboring block may be a block within the current picture and already reconstructed through encoding and/or decoding. The reconstructed block may be a neighboring block adjacent to the current block and/or a block located at an outer corner of the current block. Here, the block located at the outer corner of the current block may be a block vertically adjacent to a neighboring block horizontally adjacent to the current block or a block horizontally adjacent to a neighboring block vertically adjacent to the current block.

예를 들면, 복원된 주변 유닛은 대상 유닛의 좌측에 위치한 유닛, 대상 유닛의 상단에 위치한 유닛, 대상 유닛의 좌측 하단 코너에 위치한 유닛, 대상 유닛의 우측 상단 코너에 위치한 유닛 또는 대상 유닛의 좌측 상단 코너에 위치한 유닛일 수 있다.For example, the restored peripheral unit may be a unit located on the left side of the target unit, a unit located on the top of the target unit, a unit located on the lower left corner of the target unit, a unit located on the upper right corner of the target unit, or the upper left corner of the target unit. It may be a unit located in a corner.

부호화 장치(100) 및 복호화 장치(200)의 각각은 콜 픽쳐 내에서 공간적으로 현재 블록에 대응하는 위치에 존재하는 블록을 결정할 수 있고, 결정된 블록을 기준으로 기정의된 상대적인 위치를 결정할 수 있다. 기정의된 상대적인 위치는 공간적으로 현재 블록에 대응하는 위치에 존재하는 블록의 내부 및/또는 외부의 위치일 수 있다. 또한, 부호화 장치(100) 및 복호화 장치(200)의 각각은 결정된 기정의된 상대적인 위치에 기반하여 콜 블록을 도출할 수 있다. 여기서, 콜 픽쳐는 참조 픽쳐 리스트에 포함된 적어도 하나의 참조 픽쳐 중에서 하나의 픽쳐일 수 있다.Each of the encoding apparatus 100 and the decoding apparatus 200 may determine a block existing at a position spatially corresponding to the current block in the collocated picture, and may determine a predefined relative position based on the determined block. The predefined relative position may be a position inside and/or outside a block that exists spatially at a position corresponding to the current block. Also, each of the encoding apparatus 100 and the decoding apparatus 200 may derive a collocated block based on the determined and predefined relative positions. Here, the collocated picture may be one picture from among at least one reference picture included in the reference picture list.

참조 픽쳐 내의 블록은 복원된 참조 픽쳐 내에서 현재 블록의 위치에 공간적으로 대응되는 위치에 존재할 수 있다. 말하자면, 현재 픽쳐 내에서의 현재 블록의 위치 및 참조 픽쳐 내에서의 블록의 위치는 서로 대응할 수 있다. 이하, 참조 픽쳐에 포함된 블록의 움직임 정보는 시간적 움직임 정보로 불릴 수 있다.A block in the reference picture may exist in a position spatially corresponding to the position of the current block in the reconstructed reference picture. That is, the position of the current block in the current picture and the position of the block in the reference picture may correspond to each other. Hereinafter, motion information of a block included in a reference picture may be referred to as temporal motion information.

움직임 정보의 도출 방식은 현재 블록의 예측 모드에 따라 변할 수 있다. 예를 들면, 인터 예측을 위해 적용되는 예측 모드로서, 향상된 움직임 벡터 예측자(Advanced Motion Vector Predictor; AMVP) 및 머지(merge) 등이 있을 수 있다.A method of deriving motion information may change according to a prediction mode of the current block. For example, as a prediction mode applied for inter prediction, there may be an advanced motion vector predictor (AMVP) and a merge.

예를 들면, 예측 모드로서, AMVP가 적용되는 경우, 부호화 장치(100) 및 복호화 장치(200)의 각각은 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터를 이용하여 예측 움직임 벡터 후보 리스트를 생성할 수 있다. 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터는 예측 움직임 벡터 후보로 사용될 수 있다.For example, when AMVP is applied as a prediction mode, each of the encoding apparatus 100 and the decoding apparatus 200 uses a motion vector of a reconstructed neighboring block and/or a motion vector of a collocated block as a prediction motion vector candidate. You can create a list. A motion vector of a reconstructed neighboring block and/or a motion vector of a collocated block may be used as a prediction motion vector candidate.

부호화 장치(100)에 의해 생성된 비트스트림은 예측 움직임 벡터 인덱스를 포함할 수 있다. 예측 움직임 벡터 인덱스는 예측 움직임 벡터 후보 리스트에 포함된 예측 움직임 벡터 후보 중에서 선택된 최적의 예측 움직임 벡터를 지시할 수 있다. 비트스트림을 통해 예측 움직임 벡터 인덱스는 부호화 장치(100)로부터 복호화 장치(200)로 전송될 수 있다.The bitstream generated by the encoding apparatus 100 may include a prediction motion vector index. The prediction motion vector index may indicate an optimal prediction motion vector selected from prediction motion vector candidates included in the prediction motion vector candidate list. The prediction motion vector index may be transmitted from the encoding apparatus 100 to the decoding apparatus 200 through the bitstream.

복호화 장치(200)는 예측 움직임 벡터 인덱스를 이용하여 예측 움직임 벡터 후보 리스트에 포함된 예측 움직임 벡터 후보 중에서 현재 블록의 예측 움직임 벡터를 선택할 수 있다.The decoding apparatus 200 may select the prediction motion vector of the current block from among the prediction motion vector candidates included in the prediction motion vector candidate list by using the prediction motion vector index.

부호화 장치(100)는 현재 블록의 움직임 벡터 및 예측 움직임 벡터 간의 움직임 벡터 차분(MVD: Motion Vector Difference)을 계산할 수 있고, MVD를 부호화할 수 있다. 비트스트림은 부호화된 MVD를 포함할 수 있다. MVD는 비트스트림을 통해 부호화 장치(100)로부터 복호화 장치(200)로 전송될 수 있다. 이 때, 복호화 장치(200)는 수신된 MVD를 복호화할 수 있다. 복호화 장치(200)는 복호화된 MVD 및 예측 움직임 벡터의 합을 통해 현재 블록의 움직임 벡터를 도출할 수 있다.The encoding apparatus 100 may calculate a motion vector difference (MVD) between the motion vector of the current block and the predicted motion vector, and may encode the MVD. The bitstream may include an encoded MVD. The MVD may be transmitted from the encoding apparatus 100 to the decoding apparatus 200 through a bitstream. In this case, the decoding apparatus 200 may decode the received MVD. The decoding apparatus 200 may derive the motion vector of the current block through the sum of the decoded MVD and the predicted motion vector.

비트스트림은 참조 픽쳐를 지시하는 참조 픽쳐 인덱스 등을 포함할 수 있다. 참조 픽쳐 인덱스는 비트스트림을 통해 부호화 장치(100)로부터 복호화 장치(200)로 전송될 수 있다. 복호화 장치(200)는 주변 블록의 움직임 정보들을 이용하여 현재 블록의 움직임 벡터를 예측할 수 있고, 예측된 움직임 벡터 및 움직임 벡터 차분을 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다. 복호화 장치(200)는 유도된 움직임 벡터와 참조 픽쳐 인덱스 정보에 기반하여 현재 블록에 대한 예측 블록을 생성할 수 있다.The bitstream may include a reference picture index indicating a reference picture, and the like. The reference picture index may be transmitted from the encoding apparatus 100 to the decoding apparatus 200 through a bitstream. The decoding apparatus 200 may predict the motion vector of the current block using motion information of the neighboring block, and may derive the motion vector of the current block using the predicted motion vector and the motion vector difference. The decoding apparatus 200 may generate a prediction block for the current block based on the derived motion vector and reference picture index information.

부호화 대상 유닛 및 복호화 대상 유닛에 대해서 복원된 주변 유닛의 움직임 정보가 사용될 수 있기 때문에, 특정한 인터 예측 모드에서는, 부호화 장치(100)가 대상 유닛에 대한 움직임 정보를 별도로 부호화하지 않을 수도 있다. 대상 유닛의 움직임 정보가 부호화되지 않으면, 복호화 장치(200)로 전송되는 비트량이 감소될 수 있고, 부호화 효율이 향상될 수 있다. 예를 들면, 이러한 대상 유닛의 움직임 정보가 부호화되지 않는 인터 예측 모드로서, 스킵 모드(skip mode) 및/또는 머지 모드(merge mode) 등이 있을 수 있다. 이때, 부호화 장치(100) 및 복호화 장치(200)는 복원된 주변 유닛 중 어떤 유닛의 움직임 정보를 대상 유닛의 움직임 정보로서 사용되는지를 지시하는 식별자 및/또는 인덱스를 사용할 수 있다.Since motion information of the reconstructed neighboring unit may be used for the encoding object unit and the decoding object unit, the encoding apparatus 100 may not separately encode the motion information on the object unit in a specific inter prediction mode. If the motion information of the target unit is not encoded, the amount of bits transmitted to the decoding apparatus 200 may be reduced, and encoding efficiency may be improved. For example, as an inter prediction mode in which the motion information of the target unit is not encoded, there may be a skip mode and/or a merge mode. In this case, the encoding apparatus 100 and the decoding apparatus 200 may use an identifier and/or an index indicating which of the reconstructed neighboring units motion information is used as the motion information of the target unit.

움직임 정보의 도출 방식의 다른 예로, 머지(merge)가 있다. 머지란 복수의 블록들에 대한 움직임의 병합을 의미할 수 있다. 머지는 하나의 블록의 움직임 정보를 다른 블록에도 함께 적용시키는 것을 의미할 수 있다. 머지가 적용되는 경우, 부호화 장치(100) 및 복호화 장치(200)의 각각은 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보를 이용하여 머지 후보 목록(merge candidate list)를 생성할 수 있다. 움직임 정보는 1) 움직임 벡터, 2) 참조 영상에 대한 인덱스, 및 3) 예측 방향 중 적어도 하나를 포함할 수 있다. 예측 방향은 단방향 또는 양방향일 수 있다.Another example of a method of deriving motion information is a merge. Merge may refer to merging of motions for a plurality of blocks. Merge may mean applying motion information of one block to another block as well. When merge is applied, each of the encoding apparatus 100 and the decoding apparatus 200 may generate a merge candidate list using motion information of a reconstructed neighboring block and/or motion information of a collocated block. there is. The motion information may include at least one of 1) a motion vector, 2) an index to a reference image, and 3) a prediction direction. The prediction direction may be unidirectional or bidirectional.

이때, 머지는 CU 단위 또는 PU 단위로 적용될 수 있다. CU 단위 또는 PU 단위로 머지가 수행되는 경우, 부호화 장치(100)는 비트스트림을 통해 기정의된 정보를 복호화 장치(200)로 전송할 수 있다. 비트스트림은 기정의된 정보를 포함할 수 있다. 기정의된 정보는, 1) 블록 파티션(partition)별로 머지를 수행할지 여부를 나타내는 정보, 2) 현재 블록에 인접한 주변 블록들 중 어떤 블록과 머지를 할 것인가에 대한 정보를 포함할 수 있다. 예를 들면, 현재 블록의 주변 블록들은 현재 블록의 좌측 인접 블록, 현재 블록의 상단 인접 블록 및 현재 블록의 시간적(temporal) 인접 블록 등을 포함할 수 있다.In this case, the merge may be applied in units of CUs or units of PUs. When the merge is performed in units of CUs or PUs, the encoding apparatus 100 may transmit predefined information to the decoding apparatus 200 through a bitstream. The bitstream may include predefined information. The predefined information may include 1) information indicating whether to perform a merge for each block partition, and 2) information on which block to be merged with among neighboring blocks adjacent to the current block. For example, the neighboring blocks of the current block may include a left neighboring block of the current block, an upper neighboring block of the current block, and a temporal neighboring block of the current block.

머지 후보 목록은 움직임 정보들이 저장된 목록을 나타낼 수 있다. 또한, 머지 후보 목록은 머지가 수행되기 전에 생성될 수 있다. 머지 후보 목록에 저장되는 움직임 정보는, 1) 현재 블록에 인접한 주변 블록의 움직임 정보 또는 2) 참조 영상 에서 현재 블록에 대응하는 콜 블록(collocated block) 움직임 정보일 수 있다. 또한, 머지 후보 목록에 저장된 움직임 정보는 이미 머지 후보 목록에 존재하는 움직임 정보들의 조합에 의해 생성된 새로운 움직임 정보일 수 있다.The merge candidate list may indicate a list in which motion information is stored. Also, the merge candidate list may be generated before merging is performed. The motion information stored in the merge candidate list may be 1) motion information of a neighboring block adjacent to the current block or 2) motion information of a collocated block corresponding to the current block in a reference image. Also, the motion information stored in the merge candidate list may be new motion information generated by a combination of motion information already existing in the merge candidate list.

스킵 모드는 주변 블록의 정보를 그대로 현재 블록에 적용하는 모드일 수 있다. 스킵 모드는 인터 예측에 이용되는 모드 중 하나일 수 있다. 스킵 모드가 사용되는 경우, 부호화 장치(100)는 어떤 블록의 움직임 정보를 현재 블록의 움직임 정보로서 이용할 것인지에 대한 정보만을 비트스트림을 통해 복호화 장치(200)에 전송할 수 있다. 부호화 장치(100)는 다른 정보는 복호화 장치(200)에 전송하지 않을 수 있다. 예를 들면, 다른 정보는 신택스(syntax) 정보일 수 있다. 신택스 정보는 움직임 벡터 차분 정보를 포함할 수 있다.The skip mode may be a mode in which information of a neighboring block is applied to the current block as it is. The skip mode may be one of modes used for inter prediction. When the skip mode is used, the encoding apparatus 100 may transmit only information about which block of motion information to use as the motion information of the current block to the decoding apparatus 200 through the bitstream. The encoding apparatus 100 may not transmit other information to the decoding apparatus 200 . For example, the other information may be syntax information. The syntax information may include motion vector difference information.

픽쳐 분할 정보를 사용하는 픽쳐의 분할Picture division using picture division information

비디오를 구성하는 픽쳐들을 부호화함에 있어서, 픽쳐는 복수의 부분(part)들로 분할될 수 있고, 복수의 부분들의 각각이 부호화될 수 있다. 이 때, 복호화 장치가 분할된 픽쳐의 복호화를 수행하기 위해서는 픽쳐의 분할에 관련된 정보가 요구될 수 있다.In encoding pictures constituting a video, the picture may be divided into a plurality of parts, and each of the plurality of parts may be encoded. In this case, in order for the decoding apparatus to decode the divided picture, information related to picture division may be required.

부호화 장치는 픽쳐의 분할을 나타내는 픽쳐 분할 정보를 복호화 장치로 전송할 수 있다. 복호화 장치는 픽쳐 분할 정보를 사용하여 픽쳐의 복호화를 수행할 수 있다.The encoding apparatus may transmit picture division information indicating picture division to the decoding apparatus. The decoding apparatus may decode the picture by using the picture division information.

픽쳐의 헤더(header) 정보는 픽쳐 분할 정보를 포함할 수 있다. 또는, 픽쳐 분할 정보는 픽쳐의 헤더 정보에 포함될 수 있다. 픽쳐의 헤더 정보는 하나 이상의 픽쳐들의 각각에 적용되는 정보일 수 있다.The header information of the picture may include picture division information. Alternatively, picture division information may be included in header information of a picture. The header information of the picture may be information applied to each of one or more pictures.

연속된 하나 이상의 픽쳐들에서, 픽쳐의 분할이 변경되면 어떻게 픽쳐의 분할이 이루어지는 가를 나타내는 픽쳐 분할 정보가 변경될 수 있다. 부호화 장치는 복수의 픽쳐들을 처리함에 있어서 픽쳐 분할 정보가 변경되면 변경에 따른 새로운 픽쳐 분할 정보를 복호화 장치로 전송할 수 있다.In one or more consecutive pictures, when picture division is changed, picture division information indicating how the picture is divided may be changed. When the picture division information is changed in processing a plurality of pictures, the encoding apparatus may transmit new picture division information according to the change to the decoding apparatus.

예를 들면, 픽쳐 파라미터 세트(Picture Parameter Set; PPS)는 픽쳐 분할 정보를 포함할 수 있고, 부호화 장치는 PPS를 복호화 장치로 전송할 수 있다. PPS는 PPS의 식별자(identifier; ID)인 PPS ID를 포함할 수 있다. 부호화 장치는 PPS ID를 통해 어떠한 PPS가 픽쳐를 위해 사용되는지를 복호화 장치에게 알릴 수 있다. PPS의 픽쳐 분할 정보에 의해 픽쳐의 분할이 이루어질 수 있다.For example, a picture parameter set (PPS) may include picture division information, and the encoding apparatus may transmit the PPS to the decoding apparatus. The PPS may include a PPS ID that is an identifier (ID) of the PPS. The encoding apparatus may inform the decoding apparatus which PPS is used for a picture through the PPS ID. A picture may be divided according to picture division information of the PPS.

동영상의 부호화에 있어서, 동영상을 구성하는 픽쳐들에 대한 픽쳐 분할 정보는 빈번하게 반복적으로 변경될 수 있다. 부호화 장치가 픽쳐 분할 정보가 변경될 때 마다 새로운 픽쳐 분할 정보를 매번 복호화 장치로 전송해야 하면 부호화 효율 및 복호화 효율이 떨어질 수 있다. 따라서, 픽쳐에 적용되는 픽쳐 분할 정보가 변경될 경우에도 픽쳐 분할 정보의 부호화, 전송 및 복호화가 생략될 수 있다면, 부호화 효율 및 복호화 효율이 향상될 수 있다.In encoding of a moving picture, picture division information for pictures constituting a moving picture may be frequently and repeatedly changed. If the encoding apparatus has to transmit new picture division information to the decoding apparatus every time the picture division information is changed, encoding efficiency and decoding efficiency may decrease. Accordingly, if encoding, transmission, and decoding of picture partition information can be omitted even when picture partition information applied to a picture is changed, encoding efficiency and decoding efficiency can be improved.

아래의 실시예들에서는 2개 이상의 픽쳐 분할 정보를 사용하여 부호화된 동영상의 비트스트림에 대하여, 하나의 픽쳐 분할 정보를 사용하여 다른 픽쳐 분할 정보를 유도할 수 있게 하는 방법이 설명된다.In the following embodiments, with respect to a bitstream of a moving picture encoded using two or more pieces of picture division information, a method of deriving another picture division information using one picture division information is described.

하나의 픽쳐 분할 정보에 기반하여 다른 픽쳐 분할 정보가 유도됨에 따라 적어도 2개의 상이한 픽쳐 분할 방식들이 하나의 픽쳐 분할 정보를 포함하는 다른 정보에 의해 제공될 수 있다.As other picture partitioning information is derived based on one piece of picture partitioning information, at least two different picture partitioning schemes may be provided by different information including one picture partitioning information.

도 8은 일 예에 따른 타일을 사용하는 픽쳐의 분할을 나타낸다.8 illustrates division of a picture using tiles according to an example.

도 8에서는, 픽쳐가 실선으로 도시되었고, 타일이 점선으로 도시되었다. 도시된 것과 같이, 픽쳐는 복수의 타일들로 분할될 수 있다.In Fig. 8, pictures are shown with solid lines, and tiles are shown with dotted lines. As shown, the picture may be divided into a plurality of tiles.

타일은 픽쳐의 분할의 단위로서 사용되는 개체(entity) 중 하나일 수 있다. 타일은 픽쳐의 분할의 단위일 수 있다. 또는, 타일은 픽쳐 분할 부호화의 단위일 수 있다.A tile may be one of entities used as a unit of division of a picture. A tile may be a unit of picture division. Alternatively, a tile may be a unit of picture division coding.

타일에 관련된 정보는 PPS를 통해 시그널링될 수 있다. PPS는 픽쳐의 타일들의 정보를 포함하거나, 픽쳐를 복수의 타일들로 분할하기 위한 정보를 포함할 수 있다.Tile-related information may be signaled through the PPS. The PPS may include information on tiles of a picture or information for dividing a picture into a plurality of tiles.

아래의 표 1은 pic_parameter_set_rbsp의 구조의 일 예를 나타낸다. 픽쳐 분할 정보는 pic_parameter_set_rbsp이거나, pic_parameter_set_rbsp을 포함할 수 있다.Table 1 below shows an example of the structure of pic_parameter_set_rbsp. The picture division information may be pic_parameter_set_rbsp or may include pic_parameter_set_rbsp.

Figure pat00002
Figure pat00002

pic_parameter_set_rbsp는 아래와 같은 요소를 포함할 수 있다.pic_parameter_set_rbsp may include the following elements.

- tiles_enabled_flag: tiles_enabled_flag는 PPS를 참조하는 픽쳐 안에 1개 이상의 타일이 존재하는지 여부를 지시하는 타일 존재 지시 플래그일 수 있다.- tiles_enabled_flag: tiles_enabled_flag may be a tile existence indication flag indicating whether one or more tiles exist in a picture referring to the PPS.

예를 들면, tiles_enabled_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐 안에 타일이 존재하지 않는 것을 나타낼 수있다. tiles_enabled_flag의 값이 "1"인 것은은 PPS를 참조하는 픽쳐 안에 1개 이상의 타일이 존재한다는 것을 나타낼 수 있다.For example, a value of "0" of tiles_enabled_flag may indicate that a tile does not exist in a picture referring to the PPS. A value of “1” of tiles_enabled_flag may indicate that one or more tiles exist in a picture referring to the PPS.

하나의 코드된 비디오 시퀀스(Coded Video Sequence; CVS) 내의 모든 활성화된(activated) PPS들의 tile_enabled_flag들의 값들은 동일할 수 있다.Values of tile_enabled_flags of all activated PPSs in one Coded Video Sequence (CVS) may be the same.

- num_tile_columns_minus1: num_tile_columns_minus1은 분할된 픽쳐의 가로 방향의 타일 개수에 대응하는 열 타일 개수 정보일 수 있다. 예를 들면, "num_tile_columns_minus1 + 1"의 값은 분할된 픽쳐에서 가로 방향의 타일들의 개수를 나타낼 수 있다. 또는, "num_tile_columns_minus1 + 1"의 값은 한 행 내의 타일들의 개수를 나타낼 수 있다.- num_tile_columns_minus1: num_tile_columns_minus1 may be column tile number information corresponding to the number of tiles in the horizontal direction of the divided picture. For example, a value of “num_tile_columns_minus1 + 1” may indicate the number of tiles in the horizontal direction in the divided picture. Alternatively, a value of “num_tile_columns_minus1 + 1” may indicate the number of tiles in one row.

- num_tile_rows_minus1: num_tile_rows_minus1은 분할된 픽쳐의 세로 방향의 타일 개수에 대응하는 행 타일 개수 정보일 수 있다. 예를 들면, "num_tile_rows_minus1 + 1"의 값은 분할된 픽쳐에서 세로 방향의 타일들의 개수를 나타낼 수 있다. 또는, "num_tile_row_minus1 + 1"의 값은 한 열 내의 타일들의 개수를 나타낼 수 있다.- num_tile_rows_minus1: num_tile_rows_minus1 may be information on the number of row tiles corresponding to the number of tiles in the vertical direction of the divided picture. For example, a value of “num_tile_rows_minus1 + 1” may indicate the number of tiles in the vertical direction in the divided picture. Alternatively, a value of “num_tile_row_minus1 + 1” may indicate the number of tiles in one column.

- uniform_spacing_flag: uniform_spacing_flag는 픽쳐가 가로 방향 및 세로 방향으로 균등하게 타일들로 분할되는지 여부를 지시하는 균등 분할 지시 플래그일 수 있다. 예를 들면, uniform_spacing_flag는 픽쳐의 타일들의 크기들이 모두 동일한 지 여부를 나타내는 플래그일 수 있다. 예를 들면, uniform_spacing_flag의 값이 "0"인 것은 픽쳐가 가로 방향 및/또는 세로 방향으로 균등하게 분할되지 않는다는 것을 나타낼 수 있다. uniform_spacing_flag의 값이 "1"인 것은 픽쳐가 가로 방향 및 세로 방향으로 균등하게 분할된다는 것을 나타낼 수 있다. uniform_spacing_flag의 값이 "0"인 경우, 픽쳐의 분할을 위해 후술될 column_width_minus1[ i ] 및 row_height_minus1[ i ] 등과 같은 분할을 더 구체적으로 정의하는 요소가 추가적으로 요구될 수 있다.- uniform_spacing_flag: uniform_spacing_flag may be an even division indication flag indicating whether a picture is equally divided into tiles in a horizontal direction and a vertical direction. For example, uniform_spacing_flag may be a flag indicating whether sizes of tiles of a picture are all the same. For example, a value of "0" of uniform_spacing_flag may indicate that the picture is not evenly divided in the horizontal direction and/or the vertical direction. A value of uniform_spacing_flag of “1” may indicate that the picture is equally divided in the horizontal direction and the vertical direction. When the value of uniform_spacing_flag is “0”, an element that more specifically defines division, such as column_width_minus1[ i ] and row_height_minus1[ i ], which will be described later, may be additionally required for picture division.

- column_width_minus1[ i ]: column_width_minus1[ i ]는 i 번째 열의 타일의 넓이에 대응하는 타일 넓이 정보일 수 있다. i 는 0 이상이고, 타일들의 열의 개수 n 보다 작은 정수일 수 있다. 예를 들면, "column_width_minus1[ i ] + 1"는 i+1 번째 열의 타일의 넓이를 나타낼 수 있다. 넓이는 기정의된 단위로 표현될 수 있다. 예를 들면, 넓이의 단위는 코딩 트리 블록(Coding Tree Block; CTB)일 수 있다.- column_width_minus1[ i ]: column_width_minus1[ i ] may be tile width information corresponding to the width of the tile in the i-th column. i may be an integer greater than or equal to 0 and less than the number n of columns of tiles. For example, "column_width_minus1[ i ] + 1" may indicate the width of a tile in the i+1th column. The area may be expressed in a predefined unit. For example, the unit of the area may be a Coding Tree Block (CTB).

- row_height_minus1[ i ]: row_height_minus1[ i ]는 i 번째 행의 타일의 높이에 대응하는 타일 높이 정보일 수 있다. i 는 0 이상이고, 타일들의 행의 개수 n 보다 작은 정수일 수 있다. 예를 들면, "row_height_minus1[ i ] + 1"는 i+1 번째 행의 타일의 높이를 나타낼 수 있다. 높이는 기정의된 단위로 표현될 수 있다. 예를 들면, 높이의 단위는 CTB일 수 있다.- row_height_minus1[ i ]: row_height_minus1[ i ] may be tile height information corresponding to the height of the tile in the i-th row. i may be an integer greater than or equal to 0 and less than the number n of rows of tiles. For example, "row_height_minus1[i] + 1" may indicate the height of the tile in the i+1th row. The height may be expressed in a predefined unit. For example, the unit of height may be CTB.

일 예에 있어서, 픽쳐 분할 정보는 PPS에 포함될 수 있고, PPS가 전송될 때 PPS의 일부로서 전송될 수 있다. 복호화 장치는 픽쳐에 대한 PPS를 참조함으로써 픽쳐의 분할에 대해 요구되는 픽쳐 분할 정보를 획득할 수 있다.In one example, the picture division information may be included in the PPS, and may be transmitted as part of the PPS when the PPS is transmitted. The decoding apparatus may obtain picture division information required for picture division by referring to the PPS for the picture.

부호화 장치가 이전에 전송된 것과는 상이한 픽쳐 분할 정보를 시그널링하기 위해서, 우선 부호화 장치는 새로운 픽쳐 분할 정보를 포함하고, 새로운 PPS ID를 포함하는, 새로운 PPS를 복호화 장치로 전송할 수 있다. 다음으로, 부호화 장치는 상기의 PPS ID를 포함하는 슬라이스 헤더를 복호화 장치로 전송할 수 있다.In order for the encoding apparatus to signal different picture division information from previously transmitted, the encoding apparatus may first transmit a new PPS including new picture division information and a new PPS ID to the decoding apparatus. Next, the encoding apparatus may transmit the slice header including the PPS ID to the decoding apparatus.

특정된 규칙에 따라 변화하는 타일에 기반하는 픽쳐 분할 정보를 시그널링하는 방법의 제안Proposal of a method for signaling picture segmentation information based on tiles that change according to a specified rule

전술된 것과 같이, 일련의 픽쳐들에 있어서, 픽쳐들에게 적용되는 픽쳐 분할 정보들은 변할 수 있으며, 픽쳐 분할 정보가 변할 때마다 매번 새로운 PPS를 다시 전송하는 것이 요구될도 수 있다.As described above, in a series of pictures, picture division information applied to the pictures may change, and it may be required to retransmit a new PPS each time the picture division information changes.

일련의 픽쳐들에 있어서, 픽쳐들에게 적용되는 픽쳐 분할 정보들은 특정된 규칙에 따라 변화할 수 있다. 예를 들면, 픽쳐 분할 정보는 픽쳐들의 번호에 따라 주기적으로 변할 수 있다.In a series of pictures, picture division information applied to the pictures may change according to a specified rule. For example, the picture division information may change periodically according to the number of pictures.

픽쳐 분할 정보들은 특정된 규칙에 따라 변화할 경우, 이러한 규칙을 이용하여 픽쳐 분할 정보의 전송이 생략될 수 있다. 예를 들면, 복호화 장치는 이미 전송된 하나의 픽쳐 분할 정보로부터 다른 픽쳐의 픽쳐 분할 정보를 유도할 수 있다.When the picture division information changes according to a specified rule, transmission of the picture division information may be omitted using this rule. For example, the decoding apparatus may derive picture division information of another picture from the previously transmitted picture division information.

통상적으로, 픽쳐 분할 정보들은 픽쳐 마다 변하는 것은 아닐 수 있으며, 일정한 주기 및 규칙에 따라 반복될 수 있다.In general, the picture division information may not change for each picture and may be repeated according to a certain period and rule.

예를 들면, 픽쳐들의 분할은 병렬 부호화 정책에 상응하여 이루어질 수 있다. 픽쳐들에 대한 병렬 부호화를 수행하기 위해서, 부호화 장치는 픽쳐를 타일들로 분할할 수 있다. 복호화 장치는 병렬 부호화 정책의 정보를 이용하여 픽쳐 분할 정보의 주기적인 변화의 규칙을 획득할 수 있다.For example, pictures may be divided according to a parallel encoding policy. In order to perform parallel encoding on pictures, the encoding apparatus may divide the picture into tiles. The decoding apparatus may obtain a rule of periodic change of picture division information by using the information of the parallel encoding policy.

예를 들면, 픽쳐의 분할 툴(tool)로서 타일(tile)이 사용되는 경우, 부호화 장치의 병렬 부호화 정책의 정보에 따라서 하나의 픽쳐를 복수의 타일들로 분할하는 방식에 대한 주기적으로 변화하는 규칙이 도출될 수 있다.For example, when a tile is used as a picture division tool, a periodically changing rule for a method of dividing one picture into a plurality of tiles according to information on a parallel encoding policy of an encoding apparatus This can be derived.

도 9는 일 예에 따른 GOP 레벨이 적용된 부호화의 참조 구조를 도시한다.9 illustrates a reference structure of encoding to which a GOP level is applied according to an example.

도 9에서는 픽쳐들의 그룹(Group Of Pictures; GOP)를 구성하는 픽쳐들 및 픽쳐들 간의 참조 관계가 도시되었다.9 shows pictures constituting a group of pictures (GOP) and a reference relationship between the pictures.

픽쳐들의 시퀀스를 부호화함에 있어서 GOP가 적용될 수 있다. GOP를 통해 부호화된 비디오에 대한 임의 접근(random access)이 가능해질 수 있다.In encoding a sequence of pictures, GOP may be applied. Random access to the encoded video may be enabled through the GOP.

도 9에서는 GOP의 크기가 8인 것으로 도시되었다. 예를 들면, 하나의 GOP는 8 개의 픽쳐들의 그룹일 수 있다.9 shows that the size of the GOP is 8. For example, one GOP may be a group of 8 pictures.

도 9에서, 픽쳐는 사각형으로 도시되었다. 픽쳐 내의 I, B 또는 b는 픽쳐의 타입을 나타낼 수 있다. 픽쳐의 수평 위치는 픽쳐의 시간적인 순서를 나타낼 수 있다. 픽쳐의 수직 위치는 픽쳐의 레벨을 나타낼 수 있다. 여기에서, 레벨은 시간적(temporal) 레벨일 수 있다. 예를 들면, 픽쳐의 GOP 레벨은 픽쳐의 시간적 레벨에 대응할 수 있다. 또는, 픽쳐의 GOP 레벨은 픽쳐의 시간적 레벨과 동일할 수 있다.In Fig. 9, the picture is shown as a rectangle. I, B, or b in the picture may indicate the type of the picture. The horizontal position of the picture may indicate the temporal order of the picture. The vertical position of the picture may indicate the level of the picture. Here, the level may be a temporal level. For example, the GOP level of the picture may correspond to the temporal level of the picture. Alternatively, the GOP level of the picture may be the same as the temporal level of the picture.

픽쳐의 GOP 레벨은 픽쳐의 픽쳐 순서 카운트(Picture Order Count; POC)에 의해 결정될 수 있다. 픽쳐의 GOP 레벨은 픽쳐의 POC를 GOP의 크기로 나누었을 때의 나머지 값에 의해 결정될 수 있다. 말하자면, 픽쳐의 POC가 8의 배수인 (8k)인 경우 픽쳐의 GOP 레벨은 0일 수 있다. k는 0 이상의 정수일 수 있다. 픽쳐의 POC가 (8k+4)인 경우 픽쳐의 GOP 레벨은 1일 수 있다. 픽쳐의 POC가 (8k+2) 또는 (8k+6)인 경우 GOP 레벨은 2일 수 있다. 픽쳐의 POC가 (8k+1), (8k+3), (8k+5) 또는 (8k+7)인 경우 GOP 레벨은 3일 수 있다.The GOP level of a picture may be determined by a picture order count (POC) of the picture. The GOP level of the picture may be determined by a residual value obtained by dividing the POC of the picture by the size of the GOP. That is, when the POC of the picture is (8k) which is a multiple of 8, the GOP level of the picture may be 0. k may be an integer greater than or equal to 0. When the POC of the picture is (8k+4), the GOP level of the picture may be 1. When the POC of the picture is (8k+2) or (8k+6), the GOP level may be 2. When the POC of the picture is (8k+1), (8k+3), (8k+5), or (8k+7), the GOP level may be 3.

도 9에서는 GOP 레벨 0부터 GOP 레벨 3까지의 GOP 레벨들에 의해 픽쳐들이 구분되었다. 픽쳐들 간의 화살표는 픽쳐들 간의 참조 관계를 나타낼 수 있다. 예를 들면, 첫 번째의 I의 픽쳐로부터 두 번째의 b의 픽쳐로의 화살표는 첫 번째의 I의 픽쳐가 두 번째의 b의 픽쳐에 의해 참조된다는 것을 나타낼 수 있다.In FIG. 9, pictures are divided by GOP levels from GOP level 0 to GOP level 3. Arrows between pictures may indicate a reference relationship between pictures. For example, an arrow from the picture of the first I to the picture of the second b may indicate that the picture of the first I is referenced by the picture of the second b.

도 10은 일 예에 따른 GOP의 픽쳐들의 부호화 순서를 나타낸다.10 shows an encoding order of pictures of a GOP according to an example.

도 10에서는, 픽쳐들의 시퀀스, 시퀀스에서의 순간 복호화기 리프레시(Instantaneous Decoder Refresh; IDR) 주기 및 GOP가 도시되었다. 또한, GOP의 픽쳐들의 부호화 순서가 도시되었다.In FIG. 10 , a sequence of pictures, an Instantaneous Decoder Refresh (IDR) period in the sequence, and a GOP are shown. Also, the coding order of the pictures of the GOP is shown.

도 10에서 내부가 빈 픽쳐는 GOP 레벨 0 또는 GOP 레벨 1의 픽쳐일 수 있다. 내부가 옅게 칠해진 픽쳐는 GOP 레벨 2의 픽쳐일 수 있다. 내부가 진하게 칠해진 픽쳐는 GOP 레벨 3의 픽쳐일 수 있다.In FIG. 10 , a picture with an empty interior may be a GOP level 0 or GOP level 1 picture. The picture in which the inside is lightly painted may be a picture of GOP level 2. The picture in which the inside is darkly colored may be a picture of GOP level 3 .

도시된 것과 같이, GOP의 픽쳐들의 부호화 순서는 픽쳐의 시간적 순서가 아닌 픽쳐의 타입이 우선적으로 적용되어 결정될 수 있다.As illustrated, the encoding order of the pictures of the GOP may be determined by preferentially applying the picture type rather than the temporal order of the pictures.

도 11은 일 예에 따른 GOP의 픽쳐들의 병렬 부호화를 도시한다.11 illustrates parallel encoding of pictures of a GOP according to an example.

일 예에 있어서, 도 9에서 도시된 것과 같은 GOP 레벨들을 갖는 픽쳐들에 대해서, 부호화 장치는 픽쳐 레벨의 병렬화 및 타일 레벨의 병렬화의 조합을 사용하여 픽쳐들을 부호화할 수 있다.In an example, for pictures having GOP levels as shown in FIG. 9 , the encoding apparatus may encode the pictures using a combination of picture-level parallelization and tile-level parallelization.

픽쳐 레벨의 병렬화는 픽쳐들이 서로 간에 참조하지 않기 때문에, 서로 간에 독립적으로 부호화될 수 있는 픽쳐들이 병렬로 부호화되는 것을 의미할 수 있다.Since the pictures do not refer to each other, the picture-level parallelization may mean that pictures that can be independently encoded are encoded in parallel.

타일 레벨의 병렬화는 픽쳐의 분할에 대한 병렬화일 수 있다. 타일 레벨의 병렬화는 하나의 픽쳐를 복수의 타일들로 분할하고, 분할된 복수의 타일들을 병렬로 부호화하는 것을 의미할 수 있다.The tile-level parallelization may be parallelism for picture division. The tile-level parallelization may mean dividing one picture into a plurality of tiles and encoding the plurality of divided tiles in parallel.

픽쳐들의 병렬화에 있어서 이러한 픽쳐 레벨의 병렬화 및 타일 레벨의 병렬화가 동시에 적용될 수 있다. 또는, 픽쳐 레벨의 병렬화 및 타일 레벨의 병렬화는 결합될 수 있다.In parallelization of pictures, the picture-level parallelization and the tile-level parallelization may be simultaneously applied. Alternatively, picture-level parallelism and tile-level parallelism may be combined.

이러한 병렬화를 위해, 도 9에서 도시된 것과 같이, GOP의 픽쳐들 중 GOP 레벨이 0인 픽쳐들을 제외한 나머지의 GOP 레벨이 같은 픽쳐들은 서로 간에 참조하지 않도록 설계될 수 있다. 말하자면, 도 9에서, GOP 레벨이 2인 B의 픽쳐들은 서로 간에 참조하지 않을 수 있고, GOP 레벨이 3인 b의 픽쳐들은 서로 간에 참조하지 않을 수 있다.For such parallelization, as shown in FIG. 9 , pictures having the same GOP level except for pictures having a GOP level of 0 among the pictures of the GOP may be designed not to refer to each other. That is, in FIG. 9 , pictures of B having a GOP level of 2 may not refer to each other, and pictures of B having a GOP level of 3 may not refer to each other.

이러한 설계 하에서, GOP의 픽쳐들 중 GOP 레벨이 0인 픽쳐들을 제외한 나머지의 픽쳐들이 병렬로 부호화될 수 있게 하는 고안이 이루어질 수 있다. GOP 레벨이 2인 2개의 픽쳐들은 서로 간에 참조하지 않기 때문에, GOP 레벨이 2인 2개의 픽쳐들은 병렬로 부호화될 수 있다. 또한, GOP 레벨이 3인 4개의 픽쳐들은 서로 간에 참조하지 않기 때문에, GOP 레벨이 3인 4개의 픽쳐들은 병렬로 부호화될 수 있다.Under this design, a devise may be devised so that pictures of the GOP, except for pictures having a GOP level of 0, can be encoded in parallel. Since two pictures having a GOP level of 2 do not refer to each other, two pictures having a GOP level of 2 may be coded in parallel. In addition, since four pictures having a GOP level of 3 do not refer to each other, the four pictures having a GOP level of 3 may be coded in parallel.

상기와 같은 부호화의 시나리오 하에서, 픽쳐들의 픽쳐 분할 개수들 및 픽쳐 분할 형태는 픽쳐들의 GOP 레벨들에 따라 각각 다르게 할당될 수 있다. 픽쳐의 픽쳐 분할 개수는 픽쳐가 몇 개의 타일들 또는 몇 개의 슬라이스들로 분할되는 가를 나타낼 수 있다. 픽쳐 분할 형태는 타일들 또는 슬라이스들의 각각의 크기들 및/또는 위치들을 나타낼 수 있다.Under the coding scenario as described above, the number of picture divisions and picture division types of pictures may be allocated differently according to GOP levels of the pictures. The number of picture divisions of a picture may indicate how many tiles or how many slices the picture is divided into. The picture division type may indicate respective sizes and/or positions of tiles or slices.

말하자면, 픽쳐의 픽쳐 분할 개수 및 픽쳐 분할 형태는 픽쳐의 GOP 레벨에 기반하여 결정될 수 있다. 픽쳐는 픽쳐의 GOP 레벨에 의해 특정된 개수의 부분들로 분할될 수 있다.That is, the number of picture divisions and the picture division type of a picture may be determined based on the GOP level of the picture. A picture may be divided into a number of parts specified by the GOP level of the picture.

픽쳐의 GOP 레벨 및 픽쳐의 분할은 특정된 관계를 가질 수 있다. 동일한 GOP 레벨들의 픽쳐들은 동일한 픽쳐 분할 정보를 가질 수 있다.The GOP level of a picture and the division of a picture may have a specified relationship. Pictures of the same GOP levels may have the same picture division information.

예를 들면, 도 11과 같은 병렬화가 고안된 경우, GOP 레벨이 0인 픽쳐 및 GOP 레벨이 1인 픽쳐가 4N개의 부분들로 분할되었다면, GOP 레벨이 2인 픽쳐는 2N개의 부분들로 분할될 수 있고, GOP 레벨이 3인 픽쳐는 N개의 부분들로 분할될 수 있다. 여기에서, N은 1 이상의 정수일 수 있다. 이러한 고안에 따라서, 프레임 레벨 병렬화 및 픽쳐 분할 병렬화가 동시에 사용되었을 때의 병렬로 부호화되는 부분들을 위한 쓰레드들의 개수가 확정될 수 있다. 말하자면, 특정된 픽쳐와 병렬로 부호화 또는 복호화될 수 있는 다른 픽쳐가 존재할 경우, 픽쳐 레벨의 병렬화가 우선적으로 수행되고, 하나의 픽쳐에 대한 타일 레벨의 병렬화는 픽쳐 레벨의 병렬화에 반비례하는 정도로 수행될 수 있다.For example, when parallelization as shown in FIG. 11 is devised, if a picture having a GOP level of 0 and a picture having a GOP level of 1 are divided into 4N parts, the picture having a GOP level of 2 can be divided into 2N parts. and a picture having a GOP level of 3 may be divided into N parts. Here, N may be an integer of 1 or more. According to this design, the number of threads for parts to be coded in parallel when frame-level parallelism and picture division parallelism are simultaneously used can be determined. In other words, when there is another picture that can be encoded or decoded in parallel with the specified picture, picture-level parallelization is preferentially performed, and tile-level parallelization for one picture is performed to an extent that is inversely proportional to picture-level parallelism. can

실시예에서는, 주기적으로 변하거나 특정된 규칙에 따라 변하는 픽쳐 분할 정보가 여러 개의 PPS들에 의해 전달되지 않고, 하나의 PPS가 포함하는 픽쳐 분할 정보를 사용하여 다른 픽쳐의 변화된 픽쳐 분할 정보가 유도되는 방법이 제안될 수 있다. 또는, 하나의 픽쳐 분할 정보가 픽쳐를 서로 상이한 형태로 분할하는 복수의 픽쳐 분할 형태들을 나타낼 수 있다.In the embodiment, picture division information that changes periodically or changes according to a specified rule is not transmitted by multiple PPSs, but changed picture division information of another picture is derived using picture division information included in one PPS. A method may be suggested. Alternatively, one picture division information may indicate a plurality of picture division types in which a picture is divided into different types.

예를 들면, 픽쳐 분할 정보는 특정된 GOP 레벨들의 각각에서 병렬로 처리되는 픽쳐들의 개수를 표시할 수 있다. 픽쳐 분할 정보를 이용하여 픽쳐의 픽쳐 분할 개수가 획득될 수 있다.For example, the picture division information may indicate the number of pictures processed in parallel at each of the specified GOP levels. The number of picture divisions of a picture may be obtained using picture division information.

전술된 실시예들에서, 픽쳐의 분할에 관련하여 GOP 레벨에 대해 설명된 내용은, 시간적 식별자(Temporal Identifier; Temporal ID) 또는 시간적 레벨(temporal level)에도 적용될 수 있다. 말하자면, 실시예들에서, "GOP 레벨"은 "시간적 레벨" 또는 "시간적 식별자"로 대체될 수 있다.In the above-described embodiments, the description of the GOP level in relation to picture division may also be applied to a temporal identifier (Temporal ID) or a temporal level. That is to say, in embodiments, “GOP level” may be replaced with “temporal level” or “temporal identifier”.

시간적 식별자는 계층적인 시간적 예측 구조(hierarchical temporal prediction structure) 내에서의 레벨을 가리킬 수 있다.The temporal identifier may indicate a level within a hierarchical temporal prediction structure.

시간적 식별자는 네트워크 추상 레이어(Network Abstraction Layer; NAL) 유닛(unit) 헤더(header)에 포함될 수 있다.The temporal identifier may be included in a Network Abstraction Layer (NAL) unit header.

도 12는 일 예에 따른 슬라이스를 사용하는 픽쳐의 분할을 나타낸다.12 illustrates division of a picture using a slice according to an example.

도 12에서는, 픽쳐가 실선으로 도시되었고, 슬라이스가 굵은 점선으로 도시되었고, 코딩 트리 유닛(Coding Tree Unit; CTU))이 가는 점선으로 도시되었다. 도시된 것과 같이, 픽쳐는 복수의 슬라이스들로 분할될 수 있다. 하나의 슬라이스는 잇따른(subsequent) 하나 이상의 CTU들일 수 있다.In FIG. 12 , a picture is illustrated by a solid line, a slice is illustrated by a thick dotted line, and a Coding Tree Unit (CTU) is illustrated by a thin dotted line. As shown, a picture may be divided into a plurality of slices. One slice may be sequential one or more CTUs.

슬라이스는 픽쳐의 분할의 단위로서 사용되는 개체 중 하나일 수 있다. 슬라이스는 픽쳐의 분할의 단위일 수 있다. 또는, 슬라이스는 픽쳐 분할 부호화의 단위일 수 있다.A slice may be one of entities used as a unit of division of a picture. A slice may be a unit of picture division. Alternatively, a slice may be a unit of picture division coding.

슬라이스에 관련된 정보는 슬라이스 세그먼트 헤더(slice segment header)를 통해 시그널링될 수 있다. 슬라이스 세그먼트 헤더는 슬라이스들의 정보를 포함할 수 있다.Slice-related information may be signaled through a slice segment header. The slice segment header may include information on slices.

슬라이스가 픽쳐 분할 부호화의 단위일 때, 픽쳐 분할 정보는 하나 이상의 슬라이스들의 각 슬라이스의 시작 주소를 정의할 수 있다.When a slice is a unit of picture division coding, picture division information may define a start address of each slice of one or more slices.

슬라이스의 시작 주소의 단위는 CTU일 수 있다. 픽쳐 분할 정보는 하나 이상의 슬라이스들의 각 슬라이스의 시작 CTU 주소를 정의할 수 있다. 슬라이스들의 시작 주소들에 의해 픽쳐 분할 형태가 정의될 수 있다.The unit of the start address of the slice may be a CTU. The picture partition information may define a start CTU address of each slice of one or more slices. A picture division type may be defined by start addresses of slices.

아래의 표 2는 slice_segment_header의 구조의 일 예를 나타낸다. 픽쳐 분할 정보는 slice_segment_header이거나, slice_segment_header를 포함할 수 있다.Table 2 below shows an example of the structure of slice_segment_header. The picture segmentation information may be slice_segment_header or may include slice_segment_header.

Figure pat00003
Figure pat00003

slice_segment_header는 아래와 같은 요소를 포함할 수 있다.slice_segment_header may include the following elements.

- first_slice_segment_in_pic_flag: first_slice_segment_in_pic_flag는 slice_segment_header가 나타내는 슬라이스가 픽쳐의 첫 번째 슬라이스인지 여부를 나타내는 제1 슬라이스 지시 플래그일 수 있다.- first_slice_segment_in_pic_flag: first_slice_segment_in_pic_flag may be a first slice indication flag indicating whether the slice indicated by slice_segment_header is the first slice of the picture.

예를 들면, first_slice_segment_in_pic_flag의 값이 "0"인 것은 슬라이스가 픽쳐의 첫 번째 슬라이스가 아님을 나타낼 수 있다. first_slice_segment_in_pic_flag의 값이 "1"인 것은 슬라이스가 픽쳐의 첫 번째 슬라이스임을 나타낼 수 있다.For example, a value of "0" of first_slice_segment_in_pic_flag may indicate that the slice is not the first slice of the picture. A value of "1" of first_slice_segment_in_pic_flag may indicate that the slice is the first slice of the picture.

- dependent_slice_segment_flag: dependent_slice_segment_flag는 slice_segment_header가 나타내는 슬라이스가 종속(dependent) 슬라이스인지 여부를 나타내는 종속 슬라이스 세그먼트 지시 플래그일 수 있다.- dependent_slice_segment_flag: dependent_slice_segment_flag may be a dependent slice segment indication flag indicating whether the slice indicated by slice_segment_header is a dependent slice.

예를 들면, dependent_slice_segment_flag의 값이 "0"인 것은 슬라이스가 종속 슬라이스가 아니라는 것을 나타낼 수 있다. dependent_slice_segment_flag의 값이 "1"인 것은 슬라이스가 종속 슬라이스인 것을 나타낼 수 있다.For example, a value of "0" of dependent_slice_segment_flag may indicate that the slice is not a dependent slice. A value of "1" of dependent_slice_segment_flag may indicate that the slice is a dependent slice.

예를 들면, 웨이브프론트 병렬 프로세싱(Wavefront Parallel Processing; WPP)의 서브스트림(substream)의 슬라이스는 종속 슬라이스일 수 있다. 종속 슬라이스에 대응하는 독립(independent)가 존재할 수 있다. slice_segment_header가 나타내는 슬라이스가 종속 슬라이스인 경우, slice_segment_header의 적어도 하나의 요소는 존재하지 않을 수 있다. 말하자면, slice_segment_header에서 요소의 값이 정의되지 않을 수 있다. 종속 슬라이스의 값이 정의되지 않은 요소에 대해서는 종속 슬라이스에 대응하는 독립 슬라이스의 요소의 값이 사용될 수 있다. 말하자면, 종속 슬라이스의 slice_segment_header에서 존재하지 않는 특정된 요소의 값은 종속 슬라이스에 대응하는 독립 슬라이스의 slice_segment_header의 특정된 요소의 값과 동일할 수 있다. 예를 들면, 종속 슬라이스는 대응하는 독립 슬라이스의 요소의 값을 상속할 수 있고, 독립 슬라이스의 적어도 일부의 요소의 값을 재정의할 수 있다.For example, a slice of a substream of Wavefront Parallel Processing (WPP) may be a dependent slice. Independent corresponding to the dependent slice may exist. When the slice indicated by slice_segment_header is a dependent slice, at least one element of slice_segment_header may not exist. In other words, the value of an element in slice_segment_header may not be defined. For an element for which the value of the dependent slice is not defined, the value of the element of the independent slice corresponding to the dependent slice may be used. In other words, a value of a specified element that does not exist in slice_segment_header of a dependent slice may be the same as a value of a specified element of slice_segment_header of an independent slice corresponding to the dependent slice. For example, a dependent slice may inherit values of elements of a corresponding independent slice, and may redefine values of elements of at least some of the independent slices.

- slice_segment_address: slice_segment_address는 slice_segment_header가 나타내는 슬라이스의 시작 주소를 지시하는 시작 주소 정보일 수 있다. 시작 주소 정보의 단위는 CTB일 수 있다.- slice_segment_address: slice_segment_address may be start address information indicating the start address of the slice indicated by slice_segment_header. The unit of the start address information may be CTB.

픽쳐를 하나 이상의 슬라이스들로 분할하는 방식은 아래의 방식들 1) 내지 3)을 포함할 수 있다.A method of dividing a picture into one or more slices may include the following methods 1) to 3).

방식 1) 제1 방식은, 하나의 슬라이스가 포함할 수 있는 비트스트림의 최대 크기로 픽쳐를 분할하는 것일 수 있다.Method 1) A first method may be to divide a picture into a maximum size of a bitstream that one slice can include.

방식 2) 제2 방식은, 하나의 슬라이스가 포함할 수 있는 최대 CTU 개수로 픽쳐를 분할하는 것일 수 있다.Method 2) The second method may be to divide a picture into the maximum number of CTUs that one slice can contain.

방식 3) 제3 방식은, 하나의 슬라이스가 포함할 수 있는 최대 타일 개수로 픽쳐를 분할하는 것일 수 있다.Method 3) A third method may be to divide a picture by the maximum number of tiles that one slice can include.

부호화 장치가 슬라이드의 단위로 병렬 부호화를 하려고 할 때 통상적으로 상기의 3가지의 방식들 중 제2 방식 및 제3 방식이 사용될 수 있다.When the encoding apparatus performs parallel encoding in units of slides, the second method and the third method among the above three methods may be generally used.

제1 방식의 경우, 비트스트림의 크기는 부호화가 완료된 후에 알려질 수 있기 때문에, 부호화의 시작의 이전에 병렬로 처리될 슬라이스가 정의되는 것이 어려울 수 있다. 따라서, 슬라이드의 단위의 병렬 부호화가 가능하게 하는 픽쳐 분할 방식은 최대 CTU 개수의 단위를 사용하는 제2 방식 및 최대 타일 개수의 단위를 사용하는 제3 방식일 수 있다.In the case of the first scheme, since the size of the bitstream can be known after encoding is completed, it may be difficult to define slices to be processed in parallel before the start of encoding. Accordingly, the picture partitioning method enabling parallel encoding of slide units may be a second method using a unit of the maximum number of CTUs and a third method using a unit of the maximum number of tiles.

제2 방식 및 제3 방식이 사용될 경우, 픽쳐가 병렬로 부호화되기 전에 픽쳐를 분할할 크기가 미리 정해질 수 있다. 또한, 정해진 크기에 따라서 slice_segment_address가 계산될 수 있다. 부호화 장치가 슬라이스를 병렬 부호화의 단위로서 사용할 경우, 통상적으로 slice_segment_address가 매 픽쳐마다 변하지는 않고 일정한 주기 및/또한 특정된 규칙에 따라서 반복되는 경향을 보일 수 있다.When the second method and the third method are used, a size to divide a picture may be predetermined before the pictures are encoded in parallel. Also, slice_segment_address may be calculated according to a predetermined size. When the encoding apparatus uses a slice as a unit of parallel encoding, slice_segment_address does not usually change for every picture, but tends to be repeated according to a certain period and/or a specified rule.

따라서, 실시예에서는 매 슬라이스 마다 픽쳐 분할 정보가 시그널링되지 않고, 픽쳐에 공통적으로 적용되는 파라미터를 통해 픽쳐 분할 정보가 시그널링되는 방법이 사용될 수 있다.Accordingly, in the embodiment, a method in which picture division information is not signaled for every slice, and picture division information is signaled through a parameter commonly applied to pictures may be used.

도 13은 일 실시예에 따른 동영상의 부호화를 수행하는 부호화 장치의 구조도이다.13 is a structural diagram of an encoding apparatus for encoding a video according to an embodiment.

부호화 장치(1300)는 제어부(1310), 부호화부(1320) 및 통신부(1330)를 포함할 수 있다.The encoding apparatus 1300 may include a control unit 1310 , an encoding unit 1320 , and a communication unit 1330 .

제어부(1310)는 동영상의 부호화를 위한 제어를 수행할 수 있다.The controller 1310 may perform control for encoding a video.

부호화부(1320)는 동영상의 부호화를 수행할 수 있다.The encoder 1320 may encode a video.

부호화부(1320)는 도 1을 참조하여 전술된 인터 예측부(110), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함할 수 있다.The encoder 1320 includes the inter prediction unit 110 , the intra prediction unit 120 , the switch 115 , the subtractor 125 , the transform unit 130 , the quantization unit 140 , and entropy described above with reference to FIG. 1 . It may include an encoder 150 , an inverse quantizer 160 , an inverse transform unit 170 , an adder 175 , a filter unit 180 , and a reference picture buffer 190 .

통신부(1330)는 부호화된 동영상의 데이터를 다른 장치로 전송할 수 있다.The communication unit 1330 may transmit encoded video data to another device.

제어부(1310), 부호화부(1320), 통신부(1330)의 상세한 기능 및 동작에 대해서 아래에서 더 상세하게 설명된다.Detailed functions and operations of the control unit 1310 , the encoder 1320 , and the communication unit 1330 will be described in more detail below.

도 14는 일 예에 따른 동영상의 부호화를 수행하는 부호화 방법의 흐름도이다.14 is a flowchart of an encoding method for encoding a video according to an example.

단계(1410)에서, 제어부(1310)는 동영상의 복수의 픽쳐들에 대한 픽쳐 분할 정보를 생성할 수 있다. 픽쳐 분할 정보는 동영상의 복수의 픽쳐들의 각 픽쳐에 대한 픽쳐 분할 방식을 나타낼 수 있다.In operation 1410, the controller 1310 may generate picture division information for a plurality of pictures of a moving picture. The picture division information may indicate a picture division method for each picture of a plurality of pictures of a moving picture.

예를 들면, 픽쳐 분할 정보는 복수의 픽쳐들의 각 픽쳐가 어떠한 방식으로 분할될 것인가를 나타낼 수 있다. 픽쳐 분할 정보는 복수의 픽쳐들에게 적용될 수 있다. 또한, 픽쳐 분할 정보에 기반하여 복수의 픽쳐들이 분할될 때, 복수의 픽쳐들의 분할의 방식들은 서로 동일하지 않을 수 있다. 분할의 방식은, 분할에 의해 생성되는 부분들의 개수, 부분들의 형태들, 부분들의 크기들, 부분들의 폭들, 부분들의 높이들 및/또는 부분들의 길이들을 나타낼 수 있다.For example, the picture division information may indicate how each picture of a plurality of pictures will be divided. The picture division information may be applied to a plurality of pictures. Also, when a plurality of pictures are divided based on the picture division information, methods of dividing the plurality of pictures may not be the same. The manner of division may indicate the number of parts produced by the division, the shapes of the parts, the sizes of the parts, the widths of the parts, the heights of the parts and/or the lengths of the parts.

예를 들면, 픽쳐 분할 정보는 픽쳐의 분할에 대한 적어도 2개의 상이한 방식들을 나타낼 수 있다. 픽쳐의 분할에 대한 적어도 2개의 상이한 방식들이 픽쳐 분할 정보에 의해 명세될 수 있다. 또한, 픽쳐 분할 정보는 복수의 픽쳐들의 각 픽쳐가 적어도 2개의 상이한 방식들 중 어떤 방식으로 분할될 것인가를 나타낼 수 있다.For example, the picture partitioning information may indicate at least two different ways of partitioning a picture. At least two different ways of partitioning a picture may be specified by the picture partitioning information. Also, the picture division information may indicate in which method each picture of the plurality of pictures will be divided among at least two different methods.

예를 들면, 복수의 픽쳐들은 하나의 GOP의 픽쳐들 또는 하나의 GOP를 구성하는 픽쳐들일 수 있다.For example, the plurality of pictures may be pictures of one GOP or pictures constituting one GOP.

단계(1420)에서, 제어부(1310)는 복수의 픽쳐들의 각 픽쳐를 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할할 수 있다. 적어도 2개의 상이한 방식들은 픽쳐 분할 정보에 대응할 수 있다. 말하자면, 픽쳐 분할 정보는 복수의 픽쳐들을 분할하는 적어도 2개의 상이한 방식들을 특정할 수 있다.In operation 1420 , the controller 1310 may divide each picture of the plurality of pictures by one of at least two different methods. At least two different ways may correspond to picture division information. In other words, the picture division information may specify at least two different ways of dividing a plurality of pictures.

여기에서, 상이한 방식들이란, 분할에 의해 생성된 부분들의 개수, 형태 또는 크기가 서로 상이하다는 것을 의미할 수 있다. 여기에서, 부분들은 타일들 또는 슬라이스들일 수 있다.Here, the different methods may mean that the number, shape, or size of parts generated by division are different from each other. Here, the portions may be tiles or slices.

예를 들면, 제어부(1310)는 픽쳐 분할 정보에 기반하여 복수의 픽쳐들의 각 픽쳐가 적어도 2개의 상이한 방식들 중 어떤 방식으로 분할될 것인가를 결정할 수 있다. 제어부(1310)는 픽쳐를 분할함으로써 픽쳐의 부분들을 생성할 수 있다.For example, the controller 1310 may determine in which method each picture of the plurality of pictures is to be divided among at least two different methods based on the picture division information. The controller 1310 may generate parts of the picture by dividing the picture.

단계(1430)에서, 복호화부(1320)는 픽쳐 분할 정보에 기반하여 분할된 복수의 픽쳐들의 부호화를 수행할 수 있다. 복호화부(1320)는 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할된 각 픽쳐의 부호화를 수행할 수 있다.In operation 1430, the decoder 1320 may perform encoding of a plurality of divided pictures based on picture division information. The decoder 1320 may encode each picture divided by one of at least two different methods.

픽쳐의 부분들은 각각 부호화될 수 있다. 복호화부(1320)는 픽쳐의 분할에 의해 생성된 복수의 부분들에 대해 병렬로 부호화를 수행할 수 있다.Portions of the picture may be coded respectively. The decoder 1320 may perform encoding on a plurality of parts generated by picture division in parallel.

단계(1440)에서, 복호화부(1320)는 픽쳐 분할 정보 및 부호화된 복수의 픽쳐들을 포함하는 데이터를 생성할 수 있다. 데이터는 비트스트림일 수 있다.In operation 1440, the decoder 1320 may generate data including picture division information and a plurality of encoded pictures. The data may be a bitstream.

단계(1450)에서, 통신부(1330)는 생성된 데이터를 복호화 장치로 전송할 수 있다.In operation 1450, the communication unit 1330 may transmit the generated data to the decoding device.

픽쳐 분할 정보 및 픽쳐의 부분에 대해서는 다른 실시예들을 참조하여 더 상세하게 설명된다. 다른 실시예들에서 설명된 픽쳐 분할 정보 및 픽쳐의 부분에 대한 내용은 본 실시예에도 적용될 수 있다. 중복되는 설명은 생략된다.The picture division information and the picture portion will be described in more detail with reference to other embodiments. The picture division information and the picture part described in other embodiments may also be applied to the present embodiment. A duplicate description is omitted.

도 15는 일 실시예에 따른 동영상의 복호화를 수행하는 복호화 장치의 구조도이다.15 is a structural diagram of a decoding apparatus for decoding a video according to an embodiment.

복호화 장치(1500)는 제어부(1510), 복호화부(1520) 및 통신부(1530)을 포함할 수 있다.The decoding apparatus 1500 may include a control unit 1510 , a decoding unit 1520 , and a communication unit 1530 .

제어부(1510)는 동영상의 복호화를 위한 제어를 수행할 수 있다. 예를 들면, 제어부(1510)는 데이터 또는 비트스트림 내의 픽쳐 분할 정보를 획득할 수 있다. 또는, 제어부(1510)는 데이터 또는 비트스트림 내의 픽쳐 분할 정보를 복호화할 수 있다. 또한, 제어부(1510)는 픽쳐 분할 정보에 따라 동영상의 복호화를 수행하도록 복호화부(1520)를 제어할 수 있다.The controller 1510 may perform a control for decoding a video. For example, the controller 1510 may obtain picture division information in data or a bitstream. Alternatively, the controller 1510 may decode picture division information in data or a bitstream. Also, the controller 1510 may control the decoder 1520 to decode a video according to the picture division information.

복호화부(1520)는 동영상의 복호화를 수행할 수 있다.The decoder 1520 may decode the video.

복호화부(1520)는 도 2를 참조하여 전술된 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 인터 예측부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함할 수 있다.The decoder 1520 includes the entropy decoder 210 , the inverse quantizer 220 , the inverse transform 230 , the intra predictor 240 , the inter predictor 250 , and the adder 255 described above with reference to FIG. 2 . ), a filter unit 260 and a reference picture buffer 270 .

통신부(1530)는 다른 장치로부터 부호화된 동영상의 데이터를 수신할 수 있다.The communication unit 1530 may receive encoded video data from another device.

제어부(1510), 복호화부(1520), 통신부(1530)의 상세한 기능 및 동작에 대해서 아래에서 더 상세하게 설명된다.Detailed functions and operations of the control unit 1510 , the decoding unit 1520 , and the communication unit 1530 will be described in more detail below.

도 16은 일 예에 따른 동영상의 복호화를 수행하는 복호화 방법의 흐름도이다.16 is a flowchart of a decoding method for decoding a video according to an example.

단계(1610)에서, 통신부(1530)는 부호화 장치(1300)로부터 부호화된 동영상의 데이터를 수신할 수 있다. 데이터는 비트스트림일 수 있다.In operation 1610 , the communication unit 1530 may receive encoded video data from the encoding apparatus 1300 . The data may be a bitstream.

단계(1620)에서, 제어부(1510)는 데이터 내의 픽쳐 분할 정보를 획득할 수 있다. 제어부(1510)는 데이터 내의 픽쳐 분할 정보를 복호화할 수 있고, 복호화를 통해 픽쳐 분할 정보를 획득할 수 있다.In operation 1620, the controller 1510 may obtain picture division information in data. The controller 1510 may decode picture division information in data, and may obtain picture division information through decoding.

픽쳐 분할 정보는 동영상의 복수의 픽쳐들의 각 픽쳐에 대한 픽쳐 분할 방식을 나타낼 수 있다.The picture division information may indicate a picture division method for each picture of a plurality of pictures of a moving picture.

예를 들면, 픽쳐 분할 정보는 복수의 픽쳐들의 각 픽쳐가 어떠한 방식으로 분할될 것인가를 나타낼 수 있다. 또한, 픽쳐 분할 정보에 기반하여 복수의 픽쳐들이 분할될 때, 복수의 픽쳐들의 분할의 방식들은 서로 동일하지 않을 수 있다.For example, the picture division information may indicate how each picture of a plurality of pictures will be divided. Also, when a plurality of pictures are divided based on the picture division information, methods of dividing the plurality of pictures may not be the same.

분할의 방식은, 분할에 의해 생성되는 부분들의 개수, 부분들의 형태들, 부분들의 크기들, 부분들의 폭들, 부분들의 높이들 및/또는 부분들의 길이들을 나타낼 수 있다.The manner of division may indicate the number of parts produced by the division, the shapes of the parts, the sizes of the parts, the widths of the parts, the heights of the parts and/or the lengths of the parts.

예를 들면, 픽쳐 분할 정보는 픽쳐의 분할에 대한 적어도 2개의 상이한 방식들을 나타낼 수 있다. 픽쳐의 분할에 대한 적어도 2개의 상이한 방식들이 픽쳐 분할 정보에 의해 명세될 수 있다. 또한, 픽쳐 분할 정보는 복수의 픽쳐들의 각 픽쳐가 픽처의 특징 또는 속성에 기초하여 적어도 2개의 상이한 방식들 중 어떤 방식으로 분할될 것인가를 나타낼 수 있다.For example, the picture partitioning information may indicate at least two different ways of partitioning a picture. At least two different ways of partitioning a picture may be specified by the picture partitioning information. Also, the picture division information may indicate in which method each picture of the plurality of pictures will be divided among at least two different methods based on a characteristic or attribute of the picture.

예를 들면, 픽쳐의 속성은 픽쳐의 GOP 레벨, 시간적 식별자 또는 시간적 레벨일 수 있다.For example, the attribute of a picture may be a GOP level, a temporal identifier, or a temporal level of the picture.

예를 들면, 복수의 픽쳐들은 하나의 GOP의 픽쳐들 또는 하나의 GOP를 구성하는 픽쳐들일 수 있다.For example, the plurality of pictures may be pictures of one GOP or pictures constituting one GOP.

단계(1630)에서, 제어부(1510)는 픽쳐 분할 정보에 기반하여 복수의 픽쳐들의 각 픽쳐를 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할할 수 있다. 제어부(1510)는 픽쳐 분할 정보에 기반하여 복수의 픽쳐들의 각 픽쳐가 적어도 2개의 상이한 방식들 중 어떤 방식으로 분할될 것인가를 결정할 수 있다. 제어부(1510)는 픽쳐를 분할함으로써 픽쳐의 부분들을 생성할 수 있다.In operation 1630 , the controller 1510 may divide each picture of the plurality of pictures by one of at least two different methods based on the picture division information. The controller 1510 may determine in which method each picture of the plurality of pictures will be divided among at least two different methods based on the picture division information. The controller 1510 may generate parts of the picture by dividing the picture.

분할에 의해 생성되는 부분은 타일 또는 슬라이스일 수 있다.A portion generated by division may be a tile or a slice.

예를 들면, 제어부(1510)는 픽쳐 분할 정보에 기반하여 복수의 픽쳐들 중 제1 픽쳐를 분할할 수 있다. 제어부(1510)는 픽쳐 분할 정보가 나타내는 제1 픽쳐 분할 방식에 따라서 제1 픽쳐를 분할할 수 있다. 제어부(1510)는 픽쳐 분할 정보에 기반하여 유도된 다른 픽쳐 분할 정보에 기반하여 복수의 픽쳐들 중 제2 픽쳐를 분할할 수 있다. 제1 픽쳐 및 제2 픽쳐는 서로 다른 픽쳐일 수 있다. 예를 들면, 제1 픽쳐의 GOP 레벨 및 제2 픽쳐의 GOP 레벨은 서로 다를 수 있다. 픽쳐 분할 정보의 하나 이상의 요소들 중 적어도 일부의 요소는 픽쳐 분할 정보로부터 다른 픽쳐 분할 정보를 유도하기 위해 사용될 수 있다.For example, the controller 1510 may divide a first picture among a plurality of pictures based on picture division information. The controller 1510 may divide the first picture according to the first picture division method indicated by the picture division information. The controller 1510 may divide the second picture among the plurality of pictures based on other picture division information derived based on the picture division information. The first picture and the second picture may be different pictures. For example, the GOP level of the first picture and the GOP level of the second picture may be different from each other. At least some elements of the one or more elements of the picture partitioning information may be used to derive other picture partitioning information from the picture partitioning information.

또는, 제어부(1510)는 픽쳐 분할 정보에 의해 유도된 제2 픽쳐 분할 방식에 따라서 제2 픽쳐를 분할할 수 있다. 픽쳐 분할 정보의 하나 이상의 요소들 중 적어도 일부의 요소는 제1 픽쳐 분할 방식을 나타낼 수 있다. 픽쳐 분할 정보의 하나 이상의 요소들 중 적어도 일부의 다른 요소는 픽쳐 분할 정보 또는 제1 픽쳐 분할 방식으로부터 제2 픽쳐 분할 방식을 유도하기 위해 사용될 수 있다.Alternatively, the controller 1510 may divide the second picture according to the second picture division method induced by the picture division information. At least some of the one or more elements of the picture division information may indicate the first picture division method. Other elements of at least some of the one or more elements of the picture partitioning information may be used to derive the second picture partitioning scheme from the picture partitioning information or the first picture partitioning scheme.

픽쳐 분할 정보는 주기적으로 변화하는 픽쳐 분할 방식을 정의할 수 있다. 제어부(1510)는 픽쳐 분할 정보에 의해 정의되는 주기적으로 변화하는 픽쳐 분할 방식으로 복수의 픽쳐들을 분할할 수 있다. 말하자면, 특정된 픽쳐 분할 방식들이 일련의 픽쳐들에게 반복되어 적용될 수 있다. 특정된 픽쳐 분할 방식들이 특정된 개수의 픽쳐들에게 적용되면, 특정된 픽쳐 분할 방식들이 다시 다음의 특정된 개수의 픽쳐들에게 반복하여 적용될 수 있다.The picture division information may define a picture division method that is changed periodically. The control unit 1510 may divide a plurality of pictures using a periodically changing picture division method defined by picture division information. In other words, the specified picture division methods may be repeatedly applied to a series of pictures. When the specified picture division methods are applied to the specified number of pictures, the specified picture division methods may be repeatedly applied to the next specified number of pictures again.

픽쳐 분할 정보는 규칙에 따라 변화하는 픽쳐 분할 방식을 정의할 수 있다. 제어부(1510)는 픽쳐 분할 정보에 의해 정의되는 규칙에 따라 변화하는 픽쳐 분할 방식으로 복수의 픽쳐들을 분할할 수 있다. 말하자면, 규칙에 의해 특정된 픽쳐 분할 방식들이 일련의 픽쳐들에게 적용될 수 있다.The picture division information may define a picture division method that changes according to a rule. The controller 1510 may divide the plurality of pictures in a picture division method that changes according to a rule defined by the picture division information. In other words, the picture division methods specified by the rule may be applied to a series of pictures.

단계(1640)에서, 복호화부(1520)는 픽쳐 분할 정보에 기반하여 분할된 복수의 픽쳐들의 복호화를 수행할 수 있다. 복호화부(1520)는 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할된 각 픽쳐의 복호화를 수행할 수 있다.In operation 1640 , the decoder 1520 may decode a plurality of divided pictures based on the picture division information. The decoder 1520 may decode each picture divided by one of at least two different methods.

픽쳐의 부분들은 각각 복호화될 수 있다. 복호화부(1520)는 픽쳐의 분할에 의해 생성된 복수의 부분들에 대해 병렬로 복호화를 수행할 수 있다.Portions of the picture may be decoded respectively. The decoder 1520 may perform decoding on a plurality of parts generated by picture division in parallel.

단계(1650)에서, 복호화부(1520)는 복호화된 복수의 픽쳐들을 포함하는 동영상을 생성할 수 있다.In operation 1650 , the decoder 1520 may generate a video including a plurality of decoded pictures.

전술된 것과 같이, 픽쳐 분할 정보는 PPS 또는 PPS의 적어도 일부의 요소에 의해 정의될 수 있다.As described above, the picture division information may be defined by the PPS or at least some elements of the PPS.

일 실시예에 있어서, PPS는 픽쳐 분할 정보를 포함할 수 있다. 말하자면, PPS는 픽쳐 분할 정보에 대응하는 요소 및 픽쳐 분할 정보와 무관한 요소를 포함할 수 있다. 픽쳐 분할 정보는 PPS의 적어도 일부의 요소에 대응할 수 있다.In an embodiment, the PPS may include picture division information. In other words, the PPS may include an element corresponding to the picture division information and an element independent of the picture division information. The picture division information may correspond to at least some elements of the PPS.

또는, 일 실시예에 있어서, 픽쳐 분할 정보는 PPS를 포함할 수 있다. 말하자면, 픽쳐 분할 정보는 PPS 및 다른 정보에 의해 정의될 수 있다.Alternatively, according to an embodiment, the picture division information may include a PPS. In other words, picture division information can be defined by PPS and other information.

일 실시예에 있어서, 복수의 픽쳐들을 위해 사용되는 픽쳐 분할 정보는 여러 개의 PPS가 아닌 단일한 PPS에 의해 정의될 수 있다. 말하자면, 하나의 PPS에 의해 정의되는 픽쳐 분할 정보가 복수의 픽쳐들에 대한 적어도 2 개의 상이한 형태의 분할들을 위해 사용될 수 있다.In an embodiment, picture division information used for a plurality of pictures may be defined by a single PPS instead of multiple PPSs. In other words, picture division information defined by one PPS may be used for at least two different types of divisions for a plurality of pictures.

말하자면, 실시예에 따르면, 하나의 픽쳐에 대한 픽쳐 분할 정보가 상기의 픽쳐와는 다른 픽쳐 분할 방식으로 분할되는 다른 픽쳐의 분할을 위해서도 사용될 수 있다. 픽쳐 분할 정보는 PPS의 픽쳐를 분할하기 위한 정보 외에도 상기의 다른 픽쳐 분할 방식을 유도하기 위한 정보를 포함할 수 있다.That is, according to an embodiment, picture division information for one picture may be used for division of another picture which is divided in a picture division method different from that of the above picture. The picture division information may include information for inducing another picture division method, in addition to information for dividing a picture of the PPS.

이러한 경우, 하나의 픽쳐 분할 정보가 복수의 픽쳐들에게 적용되는 복수의 픽쳐 분할 방식들을 나타내는 것으로 이해될 수 있다. 예를 들면, 픽쳐 분할 정보의 적어도 일부의 요소는 제1 픽쳐 분할 방식을 정의할 수 있다. 제1 픽쳐 분할 방식은 복수의 픽쳐들 중 제1 픽쳐에 적용될 수 있다. 픽쳐 분할 정보의 다른 적어도 일부의 요소는 제1 픽쳐 분할 방식으로부터 제2 픽쳐 분할 방식을 유도하기 위해 사용될 수 있다. 유도된 제2 픽쳐 분할 방식은 복수의 픽쳐들 중 제2 픽쳐에 적용될 수 있다. 픽쳐 분할 정보는 어떤 픽쳐 분할 방식을 어떤 픽쳐에게 적용할 것인가를 정의하는 정보를 포함할 수 있다. 말하자면, 픽쳐 분할 정보는 복수의 픽쳐들의 각 픽쳐에게 대응하는 픽쳐 분할 방식을 특정하기 위한 정보를 포함할 수 있다.In this case, it may be understood that one picture division information indicates a plurality of picture division methods applied to a plurality of pictures. For example, at least some elements of the picture division information may define the first picture division method. The first picture division method may be applied to a first picture among a plurality of pictures. Other at least some elements of the picture partitioning information may be used to derive the second picture partitioning scheme from the first picture partitioning scheme. The derived second picture division method may be applied to a second picture among a plurality of pictures. The picture division information may include information defining which picture division method is to be applied to which picture. That is, the picture division information may include information for specifying a picture division method corresponding to each picture of a plurality of pictures.

또는, 일 실시예에 있어서, 하나의 PPS는 복수의 픽쳐 분할 정보들을 포함할 수 있다. 복수의 픽쳐 분할 정보들은 복수의 픽쳐들의 분할을 위해 사용될 수 있다. 말하자면, 실시예에 따르면, 하나의 픽쳐에 대한 PPS는 상기의 픽쳐를 분할하기 위한 픽쳐 분할 정보뿐만 아니라 다른 픽쳐를 분할하기 위한 픽쳐 분할 정보를 포함할 수 있다.Alternatively, according to an embodiment, one PPS may include a plurality of picture division information. The plurality of picture division information may be used for division of the plurality of pictures. That is, according to an embodiment, the PPS for one picture may include picture division information for dividing another picture as well as picture division information for dividing the above picture.

이러한 경우, 북수의 픽쳐 분할 정보들이 복수의 서로 상이한 픽쳐 분할 방식들을 각각 나타내고, 복수의 픽쳐 분할 정보들이 하나의 PPS를 통해 부호화 장치로부터 복호화 장치로 전달되는 것으로 이해될 수 있다. 예를 들면, PPS의 적어도 일부의 요소는 픽쳐 분할 정보를 정의할 수 있다. 정의된 픽쳐 분할 정보는 복수의 픽쳐들 중 제1 픽쳐에 적용될 수 있다. PPS의 다른 적어도 일부의 요소는 정의된 픽쳐 분할 정보로부터 다른 픽쳐 분할 정보를 유도하기 위해 사용될 수 있다. 유도된 다른 픽쳐 분할 정보는 복수의 픽쳐들 중 제2 픽쳐에 적용될 수 있다. PPS는 어떤 픽쳐 분할 정보를 어떤 픽쳐에게 적용할 것인가를 정의하는 정보를 포함할 수 있다. 말하자면, PPS는 복수의 픽쳐들의 각 픽쳐에게 대응하는 픽쳐 분할 정보를 특정하기 위한 정보를 포함할 수 있다.In this case, it may be understood that the number of picture division information indicates a plurality of different picture division methods, respectively, and the plurality of picture division information is transmitted from the encoding apparatus to the decoding apparatus through one PPS. For example, at least some elements of the PPS may define picture division information. The defined picture division information may be applied to a first picture among a plurality of pictures. Other at least some elements of the PPS may be used to derive other picture division information from the defined picture division information. The derived other picture division information may be applied to a second picture among a plurality of pictures. The PPS may include information defining which picture division information is to be applied to which picture. In other words, the PPS may include information for specifying picture division information corresponding to each picture of the plurality of pictures.

픽쳐를 타일로 분할하기 위한 픽쳐 분할 정보Picture division information for dividing a picture into tiles

전술된 것과 같이, 분할에 의해 생성되는 픽쳐의 부분들은 타일들일 수 있다. 픽쳐는 복수의 타일들로 분할될 수 있다.As described above, portions of a picture generated by division may be tiles. A picture may be divided into a plurality of tiles.

PPS는 특정된 픽쳐에 적용되는 파라미터들을 정의할 수 있다. 파라미터들 중 적어도 일부는 픽쳐 분할 정보로서 픽쳐 분할 방식을 결정하기 위해 사용될 수 있다. The PPS may define parameters applied to a specified picture. At least some of the parameters may be used to determine a picture division method as picture division information.

실시예에서, 하나의 PPS에 포함된 픽쳐 분할 정보는 복수의 픽쳐들에게 적용될 수 있다. 여기에서, 복수의 픽쳐들은 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할될 수 있다. 말하자면, 적어도 2개의 상이한 픽쳐 분할 방식을 정의하기 위해, 여러 개의 PPS가 아닌, 하나의 PPS가 사용될 수 있다.In an embodiment, picture division information included in one PPS may be applied to a plurality of pictures. Here, the plurality of pictures may be divided in one of at least two different ways. That is, to define at least two different picture division schemes, one PPS may be used instead of several PPSs.

2개의 픽쳐가 서로 상이한 픽쳐 분할 방식들로 각각 분할되어도, 픽쳐 마다 PPS가 시그널링되지 않고, 하나의 PPS 또는 하나의 픽쳐 분할 정보에 의해 변화하는 픽쳐 분할 방식이 유도될 수 있다. 예를 들면, PPS는 하나의 픽쳐에 적용될 픽쳐 분할 정보를 포함할 수 있고, PPS에 의해 다른 픽쳐에 적용될 픽쳐 분할 정보가 유도될 수 있다. 또는, 예를 들면, PPS는 하나의 픽쳐에 적용될 픽쳐 분할 정보를 포함할 수 있고, 픽쳐 분할 정보에 의해 복수의 픽쳐들에게 적용될 픽쳐 분할 방식들이 정의될 수 있다.Even if two pictures are divided by different picture division methods, a PPS is not signaled for each picture, and a changing picture division method can be induced by one PPS or one picture division information. For example, the PPS may include picture division information to be applied to one picture, and picture division information to be applied to another picture may be derived by the PPS. Alternatively, for example, the PPS may include picture division information to be applied to one picture, and picture division methods to be applied to a plurality of pictures may be defined by the picture division information.

예를 들면, PPS는 GOP 레벨 별로 병렬로 처리될 픽쳐들의 개수를 정의할 수 있다. GOP 레벨 별로 병렬로 처리될 픽쳐들의 개수가 정의되면, 특정된 GOP 레벨의 픽쳐의 픽쳐 분할 방식이 결정될 수 있다. 또는, GOP 레벨 별로 병렬로 처리될 픽쳐들의 개수가 정의되면, 특정된 GOP 레벨의 픽쳐가 몇 개의 타일들로 분할될지가 결정될 수 있다.For example, the PPS may define the number of pictures to be processed in parallel for each GOP level. When the number of pictures to be processed in parallel for each GOP level is defined, a picture division method of a picture of the specified GOP level may be determined. Alternatively, if the number of pictures to be processed in parallel for each GOP level is defined, it may be determined how many tiles the picture of the specified GOP level is divided into.

예를 들면, PPS는 시간적 식별자 별로 병렬로 처리될 픽쳐들의 개수를 정의할 수 있다. 시간적 식별자 별로 병렬로 처리될 픽쳐들의 개수가 정의되면, 특정된 시간적 식별자를 갖는 픽쳐의 픽쳐 분할 방식이 결정될 수 있다. 또는, 시간적 식별자 별로 병렬로 처리될 픽쳐들의 개수가 정의되면, 특정된 시간적 식별자를 갖는 픽쳐가 몇 개의 타일들로 분할될지가 결정될 수 있다.For example, the PPS may define the number of pictures to be processed in parallel for each temporal identifier. When the number of pictures to be processed in parallel for each temporal identifier is defined, a picture division method of a picture having a specified temporal identifier may be determined. Alternatively, if the number of pictures to be processed in parallel for each temporal identifier is defined, it may be determined how many tiles a picture having a specified temporal identifier is divided into.

복호화 장치는 참조 픽쳐의 구성을 통해 GOP의 크기를 도출할 수 있고, GOP의 크기로부터 GOP 레벨을 유도(derive)할 수 있다. 또는, 복호화 장치는 시간적 레벨로부터 GOP 레벨을 유도할 수 있다. GOP 레벨 및 시간적 레벨은 아래에서 설명될 것과 같이 픽쳐의 분할을 위해 사용될 수 있다.The decoding apparatus may derive the size of the GOP through the configuration of the reference picture, and may derive the GOP level from the size of the GOP. Alternatively, the decoding apparatus may derive the GOP level from the temporal level. The GOP level and the temporal level may be used for segmentation of a picture as will be described below.

GOP 레벨에 따라서 픽쳐가 타일들로 분할되는 실시예An embodiment in which a picture is divided into tiles according to the GOP level

아래의 표 3은 픽쳐 분할 정보를 시그널링하기 위한 PPS를 나타내는 pic_parameter_set_rbsp의 구조의 일 예를 나타낸다. 픽쳐 분할 정보는 pic_parameter_set_rbsp이거나, pic_parameter_set_rbsp을 포함할 수 있다. pic_parameter_set_rbsp에 의해 픽쳐는 복수의 타일들로 분할될 수 있다.Table 3 below shows an example of a structure of pic_parameter_set_rbsp indicating a PPS for signaling picture split information. The picture division information may be pic_parameter_set_rbsp or may include pic_parameter_set_rbsp. A picture may be divided into a plurality of tiles by pic_parameter_set_rbsp.

Figure pat00004
Figure pat00004

pic_parameter_set_rbsp는 아래와 같은 요소를 포함할 수 있다.pic_parameter_set_rbsp may include the following elements.

- parallel_frame_by_gop_level_enable_flag: parallel_frame_by_gop_level_enable_flag는 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 함께 병렬로 부호화 또는 복호화되는지 여부를 나타내는 GOP 레벨 병렬 처리 플래그일 수 있다.- parallel_frame_by_gop_level_enable_flag: parallel_frame_by_gop_level_enable_flag may be a GOP level parallel processing flag indicating whether a picture referring to the PPS is encoded or decoded in parallel with other pictures having the same GOP level.

예를 들면, parallel_frame_by_gop_level_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 병렬로 부호화 또는 복호화되지 않는다는 것을 나타낼 수 있다. parallel_frame_by_gop_level_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 병렬로 부호화 또는 복호화된다는 것을 나타낼 수 있다.For example, a value of “0” of parallel_frame_by_gop_level_enable_flag may indicate that a picture referring to the PPS is not encoded or decoded in parallel with another picture having the same GOP level. A value of “1” of parallel_frame_by_gop_level_enable_flag may indicate that a picture referring to the PPS is encoded or decoded in parallel with another picture having the same GOP level.

픽쳐가 다른 픽쳐와 함게 병렬로 처리될 경우, 픽쳐 하나를 부분들로 분할하고, 부분들을 병렬로 처리할 필요는 감소한다고 볼 수 있다. 따라서, 픽쳐들에 대한 병렬 처리 및 하나의 픽쳐의 부분들에 대한 병렬 처리는 서로 상관 관계를 갖는다고 볼 수 있다.When a picture is processed in parallel with other pictures, it can be seen that the need for dividing one picture into parts and processing the parts in parallel is reduced. Accordingly, it can be seen that parallel processing of pictures and parallel processing of parts of one picture have a correlation with each other.

픽쳐 분할 정보는 GOP 레벨 n에 대한 병렬 처리 픽쳐 개수 정보를 포함할 수 있다. 특정된 GOP 레벨 n에 대한 병렬 처리 픽쳐 개수 정보는 병렬 처리가 적용될 수 있는 GOP 레벨이 n인 픽쳐들의 개수에 대응할 수 있다. n은 2 이상의 정수일 수 있다. 병렬 처리 픽쳐 개수 정보는 아래의 num_frame_in_parallel_gop_level3_minus1 및 num_frame_in_parallel_gop_level2_minus1를 포함할 수 있다.The picture division information may include parallel processing picture number information for GOP level n. The information on the number of parallel processing pictures for the specified GOP level n may correspond to the number of pictures having a GOP level of n to which parallel processing may be applied. n may be an integer of 2 or more. Parallel processing picture number information may include the following num_frame_in_parallel_gop_level3_minus1 and num_frame_in_parallel_gop_level2_minus1.

- num_frame_in_parallel_gop_level3_minus1: num_frame_in_parallel_gop_level3_minus1는 GOP 레벨 3에 대한 병렬 처리 픽쳐 개수 정보일 수 있다. GOP 레벨 3에 대한 병렬 처리 픽쳐 개수 정보는 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 3인 픽쳐들의 개수에 대응할 수 있다.- num_frame_in_parallel_gop_level3_minus1: num_frame_in_parallel_gop_level3_minus1 may be information on the number of parallel processing pictures for GOP level 3. Information on the number of parallel processing pictures for GOP level 3 may correspond to the number of pictures having a GOP level of 3 that can be encoded or decoded in parallel.

예를 들면, "num_frame_in_parallel_gop_level3_minus1 + 1"의 값은 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 3인 픽쳐들의 개수를 나타낼 수 있다.For example, a value of “num_frame_in_parallel_gop_level3_minus1 + 1” may indicate the number of pictures having a GOP level of 3 that can be encoded or decoded in parallel.

- num_frame_in_parallel_gop_level2_minus1: num_frame_in_parallel_gop_level2_minus1는 GOP 레벨 2에 대한 병렬 처리 픽쳐 개수 정보일 수 있다. GOP 레벨 2에 대한 병렬 처리 픽쳐 개수 정보는 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 2인 픽쳐들의 개수에 대응할 수 있다.- num_frame_in_parallel_gop_level2_minus1: num_frame_in_parallel_gop_level2_minus1 may be information on the number of parallel processing pictures for GOP level 2. Information on the number of parallel processing pictures for GOP level 2 may correspond to the number of pictures having a GOP level of 2 that can be encoded or decoded in parallel.

예를 들면, "num_frame_in_parallel_gop_level2_minus1 + 1"의 값은 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 2인 픽쳐들의 개수를 나타낼 수 있다.For example, a value of “num_frame_in_parallel_gop_level2_minus1 + 1” may indicate the number of pictures having a GOP level of 2 that can be encoded or decoded in parallel.

전술된 pic_parameter_set_rbsp를 사용하는 픽쳐 분할 정보의 시그널링을 사용하여, 부호화된 복수의 픽쳐들은 아래와 같은 과정을 통해 복호화될 수 있다.A plurality of encoded pictures may be decoded through the following process by using the signaling of picture division information using the above-described pic_parameter_set_rbsp.

예를 들면, 현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag"의 값이 "1"이고, 현재의 픽쳐의 GOP 레벨이 2인 경우, 현재의 픽쳐에 적용될 num_tile_columns_minus1 및 num_tile_rows_minus1는 아래의 수식 2 및 수식 3와 같이 재정의될 수 있다.For example, when the value of “parallel_frame_by_gop_level_enable_flag” of the PPS of the current picture is “1” and the GOP level of the current picture is 2, num_tile_columns_minus1 and num_tile_rows_minus1 to be applied to the current picture are expressed in Equation 2 and Equation 3 below. can be redefined.

[수식 2][Equation 2]

new_num_tile_columns = (num_tile_columns_minus1 + 1) / (num_frame_in_parallel_gop_level2_minus1 + 1)new_num_tile_columns = (num_tile_columns_minus1 + 1) / (num_frame_in_parallel_gop_level2_minus1 + 1)

[수식 3][Equation 3]

new_num_tile_rows = (num_tile_rows_minus1 + 1) / (num_frame_in_parallel_gop_level2_minus1 + 1)new_num_tile_rows = (num_tile_rows_minus1 + 1) / (num_frame_in_parallel_gop_level2_minus1 + 1)

여기에서, new_num_tile_columns는 분할된 픽쳐의 수평 방향으로의 타일들의 개수(말하자면, 타일들의 열들의 개수)를 나타낼 수 있다. new_num_tile_rows는 분할된 픽쳐의 수직 방행으로의 타일들의 개수(말하자면, 타일들의 행들의 개수)를 나타낼 수 있다. 현재의 픽쳐는 new_num_tile_columns * new_num_tile_rows개의 타일들로 분할될 수 있다.Here, new_num_tile_columns may indicate the number of tiles in the horizontal direction of the divided picture (that is, the number of columns of tiles). new_num_tile_rows may indicate the number of tiles (that is, the number of rows of tiles) in a vertical direction of the divided picture. The current picture may be divided into new_num_tile_columns * new_num_tile_rows tiles.

예를 들면, 현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag" 값이 "1"이고, 현재의 픽쳐의 GOP 레벨이 3인 경우, 현재의 픽쳐에 적용될 num_tile_columns_minus1 및/또는 num_tile_rows_minus1는 아래의 수식 4 및 수식 5과 같이 재정의될 수 있다.For example, when the "parallel_frame_by_gop_level_enable_flag" value of the PPS of the current picture is "1" and the GOP level of the current picture is 3, num_tile_columns_minus1 and/or num_tile_rows_minus1 to be applied to the current picture are Equations 5 and 4 and Equations 5 and below. can be redefined together.

[수식 4][Equation 4]

new_num_tile_columns = (num_tile_columns_minus1 + 1) / (num_frame_in_parallel_gop_level3_minus1 + 1)new_num_tile_columns = (num_tile_columns_minus1 + 1) / (num_frame_in_parallel_gop_level3_minus1 + 1)

[수식 5][Equation 5]

new_num_tile_rows = (num_tile_rows_minus1 + 1) / (num_frame_in_parallel_gop_level3_minus1 + 1)new_num_tile_rows = (num_tile_rows_minus1 + 1) / (num_frame_in_parallel_gop_level3_minus1 + 1)

상기의 재정의는 new_num_tile_columns 및 new_num_tile_rows 중 하나에 적용되거나, 양자 모두에 적용될 수 있다.The above redefinition may be applied to one of new_num_tile_columns and new_num_tile_rows, or may be applied to both.

전술된 수식 2 내지 수식 5에 따르면, num_frame_in_parallel_gop_level2_minus1 등의 값이 커질수록, new_num_tile_columns의 값은 작아질 수 있다. 말하자면, num_frame_in_parallel_gop_level2_minus1 또는 num_frame_in_parallel_gop_level3_minus1의 값이 커질수록 분할에 의해 생성되는 타일들의 개수는 감소할 수 있다. 따라서, num_frame_in_parallel_gop_level2_minus1 및 num_frame_in_parallel_gop_level3_minus1는 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 감소 지시 정보일 수 있다. 병렬로 부호화 또는 복호화되는 동일한 GOP 레벨을 갖는 픽쳐들의 개수가 더 많아질수록, 각 픽쳐들은 더 적은 개수의 타일들로 분할될 수 있다.According to Equations 2 to 5, as the value of num_frame_in_parallel_gop_level2_minus1 increases, the value of new_num_tile_columns may decrease. That is, as the value of num_frame_in_parallel_gop_level2_minus1 or num_frame_in_parallel_gop_level3_minus1 increases, the number of tiles generated by division may decrease. Accordingly, num_frame_in_parallel_gop_level2_minus1 and num_frame_in_parallel_gop_level3_minus1 may be reduction indication information for reducing the number of tiles generated by picture division. As the number of pictures having the same GOP level to be encoded or decoded in parallel increases, each picture may be divided into a smaller number of tiles.

픽쳐 분할 정보는 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 감소 지시 정보를 포함할 수 있다. 또한, 감소 지시 정보는 병렬로 처리되는 부호화 또는 복호화와 관련하여 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 정도를 나타낼 수 있다.The picture division information may include reduction indication information for reducing the number of tiles generated by picture division. In addition, the reduction indication information may indicate a degree to which the number of tiles generated by dividing a picture in relation to encoding or decoding processed in parallel is reduced.

픽쳐 분할 정보는 GOP 레벨이 n인 픽쳐에 대해 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 GOP 레벨 n 감소 지시 정보를 포함할 수 있다. n은 2 이상의 정수일 수 있다. 예를 들면, num_frame_in_parallel_gop_level2_minus1은 GOP 레벨 2 감소 지시 정보일 수 있다. num_frame_in_parallel_gop_level3_minus1은 GOP 레벨 3 감소 지시 정보일 수 있다.The picture division information may include GOP level n reduction indication information for reducing the number of tiles generated by picture division for a picture having a GOP level of n. n may be an integer of 2 or more. For example, num_frame_in_parallel_gop_level2_minus1 may be GOP level 2 reduction indication information. num_frame_in_parallel_gop_level3_minus1 may be GOP level 3 reduction indication information.

예를 들면, 현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag" 값이 "0"이면, 현재의 픽쳐의 PPS의 num_tile_columns_minus1의 값 및/또는 num_tile_columns_minus1 의 값을 이용하여 현재의 픽쳐는 S개의 타일들로 분할될 수 있다.For example, if the “parallel_frame_by_gop_level_enable_flag” value of the PPS of the current picture is “0”, the current picture can be divided into S tiles using the value of num_tile_columns_minus1 and/or num_tile_columns_minus1 of the PPS of the current picture. there is.

예를 들면, S는 아래의 수식 6에 따라서 계산될 수 있다.For example, S may be calculated according to Equation 6 below.

[수식 6][Equation 6]

S = (num_tile_columns_minus1 + 1) * (num_tile_rows_minus1 + 1)S = (num_tile_columns_minus1 + 1) * (num_tile_rows_minus1 + 1)

수식 2 내지 수식 6와 관련하여 전술된 것과 같이, 픽쳐 분할 정보는 GOP 레벨이 n인 픽쳐에 대한 GOP 레벨 n 감소 지시 정보를 포함할 수 있다. GOP 레벨이 0 또는 1인 픽쳐의 분할에 의해 생성되는 타일들의 열의 개수가 w이고, GOP 레벨이 n인 픽쳐의 분할에 의해 생성되는 타일들의 열의 개수가 w/m일 때, GOP 레벨 n 감소 지시 정보는 m에 대응할 수 있다. 또는, GOP 레벨이 0 또는 1인 픽쳐의 분할에 의해 생성되는 타일들의 행의 개수가 w이고, GOP 레벨이 n인 픽쳐의 분할에 의해 생성되는 타일들의 행의 개수가 w/m일 때, GOP 레벨 n 감소 지시 정보는 m에 대응할 수 있다.As described above in relation to Equations 2 to 6, the picture division information may include GOP level n reduction indication information for a picture having a GOP level n. When the number of columns of tiles generated by division of a picture having a GOP level of 0 or 1 is w, and the number of columns of tiles generated by division of a picture having a GOP level of n is w/m, GOP level n reduction indication The information may correspond to m. Alternatively, when the number of rows of tiles generated by division of a picture having a GOP level of 0 or 1 is w, and the number of rows of tiles generated by division of a picture having a GOP level of n is w/m, the GOP Level n reduction indication information may correspond to m.

수식 2 내지 수식 6와 관련하여 전술된 것과 같이, 픽쳐의 분할에 적용되는 픽쳐 분할 형태는 픽쳐의 GOP 레벨에 기반하여 결정될 수 있다. 또한, 도 10을 참조하여 전술된 것과 같이, 픽쳐의 GOP 레벨은 픽쳐의 픽쳐 순서에 기반하여 결정될 수 있다.As described above in relation to Equations 2 to 6, the picture division type applied to picture division may be determined based on the GOP level of the picture. Also, as described above with reference to FIG. 10 , the GOP level of the picture may be determined based on the picture order of the picture.

픽쳐의 GOP 레벨은 픽쳐의 픽쳐 순서를 기정의된 값으로 나누었을 때의 나머지의 값에 따라 결정될 수 있다. 예를 들면, GOP의 복수의 픽쳐들 중 GOP 레벨이 3인 픽쳐는 픽쳐의 픽쳐 순서를 2로 나누었을 때 나머지가 1인 픽쳐일 수 있다. 예를 들면, GOP의 복수의 픽쳐들 중 GOP 레벨이 2인 픽쳐는 픽쳐의 픽쳐 순서를 4로 나누었을 때 나머지가 2인 픽쳐일 수 있다.The GOP level of the picture may be determined according to a value remaining when the picture order of the picture is divided by a predefined value. For example, a picture having a GOP level of 3 among a plurality of pictures of the GOP may be a picture having a remainder of 1 when the picture order of the picture is divided by 2. For example, a picture having a GOP level of 2 among a plurality of pictures of a GOP may be a picture having a remainder of 2 when the picture order of the picture is divided by 4.

또한, 전술된 것과 같이, GOP의 복수의 픽쳐들 중 GOP 레벨이 동일한 픽쳐들에게는 동일한 픽쳐 분할 방식이 적용될 수 있다. 팍쳐 분할 정보는 복수의 픽쳐들 중 픽쳐 순서를 제1 기정의된 값으로 나누었을 때의 나머지가 제2 기정의된 값인 픽쳐들에게 동일한 픽쳐 분할 방식을 적용할 것을 나타낼 수 있다.Also, as described above, the same picture division method may be applied to pictures having the same GOP level among a plurality of pictures of the GOP. The parsing information may indicate that the same picture division method is applied to pictures having a second predefined value remaining when a picture order is divided by a first predefined value among a plurality of pictures.

픽쳐 분할 정보는 GOP 레벨이 특정된 값인 픽쳐들에 대해서 픽쳐의 픽쳐 분할 방식을 가리킬 수 있다. 또한, 픽쳐 분할 정보는 2개 이상의 GOP 레벨들 중 하나의 GOP 레벨에 해당하는 하나 이상의 픽쳐들에 대하여 픽쳐 분할 방식들을 정의할 수 있다.The picture division information may indicate a picture division method of a picture with respect to pictures whose GOP level is a specified value. Also, the picture division information may define picture division methods for one or more pictures corresponding to one GOP level among two or more GOP levels.

시간적 레벨 등에 따라서 픽쳐가 타일들로 분할되는 실시에In an implementation in which a picture is divided into tiles according to a temporal level, etc.

아래의 표 4는 픽쳐 분할 정보를 시그널링하기 위한 PPS를 나타내는 pic_parameter_set_rbsp의 구조의 일 예를 나타낸다. 픽쳐 분할 정보는 pic_parameter_set_rbsp이거나, pic_parameter_set_rbsp을 포함할 수 있다. pic_parameter_set_rbsp에 의해 픽쳐는 복수의 타일들로 분할될 수 있다.Table 4 below shows an example of the structure of pic_parameter_set_rbsp indicating a PPS for signaling picture split information. The picture division information may be pic_parameter_set_rbsp or may include pic_parameter_set_rbsp. A picture may be divided into a plurality of tiles by pic_parameter_set_rbsp.

Figure pat00005
Figure pat00005

pic_parameter_set_rbsp는 아래와 같은 요소를 포함할 수 있다.pic_parameter_set_rbsp may include the following elements.

- drive_num_tile_enable_flag: drive_num_tile_enable_flag는 PPS를 참조하는 픽쳐가 적어도 2개 이상의 상이한 방식들 중 하나의 방식으로 분할되는지 여부를 나타내는 통합 분할 지시 플래그일 수 있다. 또는, drive_num_tile_enable_flag는 PPS를 참조하는 픽쳐가 타일들로 분할될 때, 분할에 의해 생성되는 타일들의 개수가 동일한지 여부를 나타낼 수 있다.- drive_num_tile_enable_flag: drive_num_tile_enable_flag may be a unified division indication flag indicating whether a picture referring to the PPS is divided by one of at least two or more different methods. Alternatively, drive_num_tile_enable_flag may indicate whether the number of tiles generated by division is the same when a picture referring to the PPS is divided into tiles.

예를 들면, drive_num_tile_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 단일한 방식으로 분할된다는 것을 나타낼 수 있다. 또는, drive_num_tile_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 분할될 때 항상 동일한 개수의 타일들로 분할된다는 것을 나타낼 수 있다.For example, a value of "0" of drive_num_tile_enable_flag may indicate that a picture referring to the PPS is divided in a single manner. Alternatively, a value of “0” of drive_num_tile_enable_flag may indicate that a picture referring to the PPS is always divided into the same number of tiles when divided.

drive_num_tile_enable_flag의 값이 "1"인 것은 하나의 PPS에 의해 복수 개의 분할의 형태들이 정의된다는 것을 나타낼 수 있다. 또는, drive_num_tile_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 적어도 2개 이상의 상이한 방식들 중 하나의 방식으로 분할된다는 것을 나타낼 수 있다. 또는, drive_num_tile_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 분할됨에 의해 생성되는 타일들의 개수가 일정하지 않는다는 것을 나타낼 수 있다.A value of "1" of drive_num_tile_enable_flag may indicate that a plurality of partition types are defined by one PPS. Alternatively, the value of drive_num_tile_enable_flag of “1” may indicate that the picture referring to the PPS is divided by one of at least two or more different methods. Alternatively, the value of drive_num_tile_enable_flag of “1” may indicate that the number of tiles generated by dividing a picture referring to the PPS is not constant.

시간적 확장성(temporal scalability)이 동영상 또는 픽쳐에 적용될 경우, 픽쳐 하나를 부분들로 분할하고, 부분들을 병렬로 처리할 필요는 시간적 식별자와 연관된다고 볼 수 있다. 따라서, 시간적 확장성을 제공하는 픽쳐들에 대한 처리 및 하나의 픽쳐의 부분들로의 분할은 서로 간에 상관 관계를 갖는다고 볼 수 있다.When temporal scalability is applied to a moving picture or picture, it can be seen that the need to divide a picture into parts and process the parts in parallel is related to a temporal identifier. Accordingly, it can be seen that the processing of pictures providing temporal scalability and the division into parts of one picture have a correlation with each other.

픽쳐 분할 정보는 시간적 식별자 n에 대한 타일 개수 정보를 포함할 수 있다. 특정된 시간적 식별자 n에 대한 타일 개수 정보는 시간적 레벨(temporal level) n인 픽쳐가 몇 개의 타일들로 분할되는가를 나타낼 수 있다. n은 1 이상의 정수일 수 있다.The picture division information may include information on the number of tiles for the temporal identifier n. The tile number information for the specified temporal identifier n may indicate how many tiles a picture having a temporal level n is divided into. n may be an integer of 1 or more.

타일 개수 정보는 아래의 num_tile_level1_minus1 및 num_tile_level2_minus1를 포함할 수 있다. 또한, 타일 개수 정보는 하나 이상의 값들에 대한 num_tile_levelN_minus1을 포함할 수 있다.The tile number information may include the following num_tile_level1_minus1 and num_tile_level2_minus1. Also, the tile number information may include num_tile_levelN_minus1 for one or more values.

픽쳐 분할 정보 또는 PPS는 drive_num_tile_enable_flag의 값이 "1"인 경우에 선택적으로 num_tile_level1_minus1, num_tile_level2_minus1 및 num_tile_levelN_minus1 중 적어도 하나를 포함할 수 있다.The picture division information or PPS may selectively include at least one of num_tile_level1_minus1, num_tile_level2_minus1, and num_tile_levelN_minus1 when the value of drive_num_tile_enable_flag is “1”.

- num_tile_level1_minus1: num_tile_level1_minus1는 레벨이 1인 픽쳐에 대한 레벨 1 타일 개수 정보일 수 있다. 레벨은 시간적 레벨일 수 있다. - num_tile_level1_minus1: num_tile_level1_minus1 may be information on the number of level 1 tiles for a picture having a level of 1. The level may be a temporal level.

레벨 1 타일 개수 정보는 레벨이 1인 픽쳐의 분할에 의해 생성되는 타일들의 개수에 대응할 수 있다. 레벨 1 타일 개수 정보는 레벨이 1인 픽쳐의 분할에 의해 생성되는 타일들의 개수에 반비례할 수 있다.The level 1 tile number information may correspond to the number of tiles generated by division of a level 1 picture. The level 1 tile number information may be inversely proportional to the number of tiles generated by division of a level 1 picture.

예를 들면, 레벨이 1인 픽쳐는 m / (num_tile_level1_minus1 + 1) 개의 타일들로 분할될 수 있다. m의 값은 (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1)일 수 있다. 따라서, 레벨 1 타일 개수 정보의 값이 더 커질수록, 레벨이 1인 픽쳐의 분할에 의해 생성되는 타일들의 개수는 더 작아질 수 있다.For example, a picture having a level of 1 may be divided into m / (num_tile_level1_minus1 + 1) tiles. The value of m may be (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1). Accordingly, as the value of the level 1 tile number information increases, the number of tiles generated by division of the level 1 picture may become smaller.

- num_tile_level2_minus1: num_tile_level2_minus1는 레벨이 2인 픽쳐에 대한 레벨 2 타일 개수 정보일 수 있다. 레벨은 시간적 레벨일 수 있다.- num_tile_level2_minus1: num_tile_level2_minus1 may be information on the number of level 2 tiles for a picture having a level of 2. The level may be a temporal level.

레벨 2 타일 개수 정보는 레벨이 2인 픽쳐의 분할에 의해 생성되는 타일들의 개수에 대응할 수 있다. 레벨 2 타일 개수 정보는 레벨이 2인 픽쳐의 분할에 의해 생성되는 타일들의 개수에 반비례할 수 있다.The level 2 tile number information may correspond to the number of tiles generated by division of a level 2 picture. The level 2 tile number information may be inversely proportional to the number of tiles generated by division of a level 2 picture.

예를 들면, 레벨이 2인 픽쳐는 m / (num_tile_level2_minus1 + 1) 개의 타일들로 분할될 수 있다. m의 값은 (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1)일 수 있다. 따라서, 레벨 2 타일 개수 정보의 값이 더 커질수록, 레벨이 2인 픽쳐의 분할에 의해 생성되는 타일들의 개수는 더 작아질 수 있다.For example, a picture having a level of 2 may be divided into m / (num_tile_level2_minus1 + 1) tiles. The value of m may be (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1). Accordingly, as the value of the level 2 tile number information becomes larger, the number of tiles generated by dividing the level 2 picture may be smaller.

- num_tile_levelN_minus1: num_tile_levelN_minus1는 레벨이 N인 픽쳐에 대한 레벨 N 타일 개수 정보일 수 있다. 레벨은 시간적 레벨일 수 있다.- num_tile_levelN_minus1: num_tile_levelN_minus1 may be information on the number of level N tiles for a picture having a level of N. The level may be a temporal level.

레벨 N 타일 개수 정보는 레벨이 N인 픽쳐의 분할에 의해 생성되는 타일들의 개수에 대응할 수 있다. 레벨 N 타일 개수 정보는 레벨이 N인 픽쳐의 분할에 의해 생성되는 타일들의 개수에 반비례할 수 있다.The level N tile number information may correspond to the number of tiles generated by division of a level N picture. The level N tile number information may be inversely proportional to the number of tiles generated by division of a level N picture.

예를 들면, 레벨이 N인 픽쳐는 m / (num_tile_levelN_minus1 + 1) 개의 타일들로 분할될 수 있다. m의 값은 (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1)일 수 있다. 따라서, 레벨 N 타일 개수 정보의 값이 더 커질수록, 레벨이 N인 픽쳐의 분할에 의해 생성되는 타일들의 개수는 더 작아질 수 있다.For example, a picture having a level of N may be divided into m / (num_tile_levelN_minus1 + 1) tiles. The value of m may be (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1). Accordingly, as the value of the level N tile number information increases, the number of tiles generated by dividing the level N picture may be smaller.

num_tile_levelN_minus1는 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 감소 지시 정보일 수 있다.num_tile_levelN_minus1 may be reduction indication information for reducing the number of tiles generated by picture division.

픽쳐 분할 정보는 레벨이 N인 픽쳐에 대해 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 레벨 N 감소 지시 정보를 포함할 쉬 있다. N은 2 이상의 정수일 수 있다. 에를 들면, num_tile_level2_minus1는 레벨 2 감소 지시 정보일 수 있다. num_tile_level3_minus1는 레벨 3 감소 지시 정보일 수 있다.The picture division information may include level N reduction indication information for reducing the number of tiles generated by picture division for a level N picture. N may be an integer of 2 or more. For example, num_tile_level2_minus1 may be level 2 reduction indication information. num_tile_level3_minus1 may be level 3 reduction indication information.

전술된 pic_parameter_set_rbsp를 사용하는 픽쳐 분할 정보의 시그널링을 사용하여, 부호화된 복수의 픽쳐들은 아래와 같은 과정을 통해 복호화될 수 있다.A plurality of encoded pictures may be decoded through the following process by using the signaling of picture division information using the above-described pic_parameter_set_rbsp.

전술된 것과 같이, 픽쳐의 레벨에 따라서 픽쳐의 분할에 의해 생성되는 타일들의 개수가 변할 수 있다. 부호화 장치 및 복호화 장치는 동일한 방식으로 픽쳐를 분할할 수 있다.As described above, the number of tiles generated by dividing a picture may vary according to the level of the picture. The encoding apparatus and the decoding apparatus may divide the picture in the same way.

예를 들면, 현재의 픽쳐의 PPS의 drive_num_tile_enable_flag의 값이 "0"일 경우, 현재의 픽쳐는 (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1) 개의 타일들로 분할될 수 있다. 이하에서, drive_num_tile_enable_flag의 값이 "0"일 경우의 분할을 기본 분할로 명명한다.For example, when the value of drive_num_tile_enable_flag of the PPS of the current picture is “0”, the current picture may be divided into (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1) tiles. Hereinafter, a partition when the value of drive_num_tile_enable_flag is “0” is referred to as a basic partition.

예를 들면, PPS의 drive_num_tile_enable_flag의 값이 "1"이고, num_tile_levelN_minus1 + 1의 값이 P일 경우, 레벨이 N인 픽쳐는 (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1) / P 개의 타일들로 분할될 수 있다. 말하지면, 레벨이 N인 픽쳐에 대해서 분할에 의해 생성되는 타일들의 개수는 기본 분할의 타일들의 개수의 1/P 배가 될 수 있다. 이 때, 레벨이 N인 픽쳐는 아래의 방식들 1) 내지 5) 중 하나에 따라서 분할될 수 있다.For example, when the value of drive_num_tile_enable_flag of the PPS is “1” and the value of num_tile_levelN_minus1 + 1 is P, the picture of level N is to be divided into (num_tile_columns_minus1 + 1) x (num_tile_rows_minus1 + 1) / P tiles. can In other words, for a picture having a level of N, the number of tiles generated by division may be 1/P times the number of tiles of the basic division. In this case, a picture having a level of N may be divided according to one of the following methods 1) to 5).

여기에서, P는 픽쳐의 GOP 레벨일 수 있다.Here, P may be the GOP level of the picture.

N 레벨 수평 타일 개수는 레벨이 N인 픽쳐의 픽쳐의 가로 방향으로의 타일들의 개수(말하자면, 타일들의 열들의 개수)를 나타낼 수 있다.The number of N-level horizontal tiles may indicate the number of tiles (that is, the number of columns of tiles) in the horizontal direction of the picture of the level N picture.

N 레벨 수직 타일 개수는 레벨이 N인 픽쳐의 세로 방향으로의 타일들의 개수(말하자면, 타일들의 행들의 개수)를 나타낼 수 있다.The number of N-level vertical tiles may indicate the number of tiles (that is, the number of rows of tiles) in a vertical direction of a picture having a level of N.

기본 수평 타일 개수는 (num_tile_columns_minus1 + 1)일 수 있다.The basic number of horizontal tiles may be (num_tile_columns_minus1 + 1).

기본 수직 타일 개수는 (num_tile_rows_minus1 + 1)일 수 있다.The basic number of vertical tiles may be (num_tile_rows_minus1 + 1).

픽쳐 수평 길이는 픽쳐의 수평 길이를 나타낼 수 있다.The picture horizontal length may indicate the horizontal length of the picture.

픽쳐 수직 길이는 픽쳐의 수직 길이를 나타낼 수 있다.The picture vertical length may indicate the vertical length of the picture.

방식 1)Method 1)

감소 지시 정보는 픽쳐의 분할에 의한 수평 타일 개수를 조정할 수 있다.The reduction indication information may adjust the number of horizontal tiles by picture division.

N 레벨 수평 타일 개수는 기본 수평 타일 개수의 1/P 배이고, N 레벨 수직 타일 개수는 기본 수직 타일 개수와 동일할 수 있다.The number of N-level horizontal tiles may be 1/P times the number of basic horizontal tiles, and the number of N-level vertical tiles may be equal to the number of basic vertical tiles.

방식 2)Method 2)

감소 지시 정보는 픽쳐의 분할에 의한 수직 타일 개수를 조정할 수 있다.The reduction indication information may adjust the number of vertical tiles by division of a picture.

N 레벨 수직 타일 개수는 기본 수직 타일 개수의 1/P 배이고, N 레벨 수평 타일 개수는 기본 수평 타일 개수와 동일할 수 있다.The number of N-level vertical tiles may be 1/P times the number of basic vertical tiles, and the number of N-level horizontal tiles may be equal to the number of basic horizontal tiles.

방식 3)Method 3)

감소 지시 정보는 픽쳐 수평 길이가 픽쳐 수직 길이보다 더 큰 경우 수평 타일 개수를 조절하고, 픽쳐 수직 길이가 픽쳐 수평 길이보다 더 큰 경우 수직 타일 개수를 조절할 수 있다.The reduction indication information may control the number of horizontal tiles when the horizontal picture length is greater than the vertical picture length, and control the number of vertical tiles when the picture vertical length is greater than the picture horizontal length.

픽쳐 수평 길이 및 픽쳐 수직 길이 간의 비교에 기반하여, N 레벨 수평 타일 개수 및 N 레벨 수직 타일 개수 중 1/P가 적용될 것이 결정될 수 있다.Based on the comparison between the picture horizontal length and the picture vertical length, it may be determined that 1/P of the number of N-level horizontal tiles and the number of N-level vertical tiles is applied.

예를 들면, 픽쳐 수평 길이가 픽쳐 수직 길이보다 더 큰 경우, N 레벨 수평 타일 개수는 기본 수평 타일 개수의 1/P 배이고, N 레벨 수직 타일 개수는 기본 수직 타일 개수와 동일할 수 있다. 픽쳐 수직 길이가 픽쳐 수평 길이보다 더 큰 경우, N 레벨 수직 타일 개수는 기본 수직 타일 개수의 1/P 배이고, N 레벨 수평 타일 개수는 기본 수평 타일 개수와 동일할 수 있다.For example, when the picture horizontal length is greater than the picture vertical length, the number of N-level horizontal tiles may be 1/P times the number of basic horizontal tiles, and the number of N-level vertical tiles may be equal to the number of basic vertical tiles. When the picture vertical length is greater than the picture horizontal length, the number of N-level vertical tiles may be 1/P times the number of basic vertical tiles, and the number of N-level horizontal tiles may be equal to the number of basic horizontal tiles.

픽쳐 수평 길이 및 픽쳐 수직 길이가 동일한 경우, N 레벨 수평 타일 개수는 기본 수평 타일 개수의 1/P 배이고, N 레벨 수직 타일 개수는 기본 수직 타일 개수와 동일할 수 있다. 반대로, 픽쳐 수평 길이 및 픽쳐 수직 길이가 동일한 경우, N 레벨 수직 타일 개수는 기본 수직 타일 개수의 1/P 배이고, N 레벨 수평 타일 개수는 기본 수평 타일 개수와 동일할 수도 있다.When the picture horizontal length and the picture vertical length are the same, the number of N-level horizontal tiles may be 1/P times the number of basic horizontal tiles, and the number of N-level vertical tiles may be equal to the number of basic vertical tiles. Conversely, when the picture horizontal length and the picture vertical length are the same, the number of N-level vertical tiles may be 1/P times the number of basic vertical tiles, and the number of N-level horizontal tiles may be equal to the number of basic horizontal tiles.

예를 들면, 픽쳐 수평 길이가 픽쳐 수직 길이보다 더 큰 경우, N 레벨 수평 타일 개수는 "(num_tile_columns_minus1 + 1) / P"일 수 있고, N 레벨 수직 타일 개수는 "(num_tile_rows_minus1 + 1)"일 수 있다. 픽쳐 수직 길이가 픽쳐 수평 길이보다 더 큰 경우, N 레벨 수평 타일 개수는 "(num_tile_columns_minus1 + 1)"일 수 있고, N 레벨 수직 타일 개수는 "(num_tile_rows_minus1 + 1) / P"일 수 있다.For example, if the picture horizontal length is greater than the picture vertical length, the number of N-level horizontal tiles may be "(num_tile_columns_minus1 + 1) / P", and the number of N-level vertical tiles may be "(num_tile_rows_minus1 + 1)" there is. When the picture vertical length is greater than the picture horizontal length, the number of N-level horizontal tiles may be “(num_tile_columns_minus1 + 1)”, and the number of N-level vertical tiles may be “(num_tile_rows_minus1 + 1) / P”.

방식 4)Method 4)

감소 지시 정보는 기본 수평 타일 개수가 기본 수직 타일 개수보다 더 큰 경우 수평 타일 개수를 조절하고, 기본 수직 타일 개수가 기본 수평 타일 개수보다 더 큰 경우 수직 타일 개수를 조절할 수 있다.The reduction indication information may adjust the number of horizontal tiles when the number of basic horizontal tiles is greater than the number of basic vertical tiles, and may adjust the number of vertical tiles when the number of basic vertical tiles is greater than the number of basic horizontal tiles.

기본 수평 타일 개수 및 기본 수직 타일 개수 간의 비교에 기반하여, N 레벨 수평 타일 개수 및 N 레벨 수직 타일 개수 중 어느 것에 대해 1/P 배의 감소가 적용될 것인가가 결정될 수 있다.Based on the comparison between the basic number of horizontal tiles and the number of basic vertical tiles, it may be determined to which of the number of N-level horizontal tiles and the number of N-level vertical tiles a reduction of 1/P times is to be applied.

예를 들면, 기본 수평 타일 개수가 기본 수직 타일 개수보다 더 큰 경우, N 레벨 수평 타일 개수는 기본 수평 타일 개수의 1/P 배이고, N 레벨 수직 타일 개수는 기본 수직 타일 개수와 동일할 수 있다. 기본 수직 타일 개수가 기본 수평 타일 개수보다 더 큰 경우, N 레벨 수직 타일 개수는 기본 수직 타일 개수의 1/P 배이고, N 레벨 수평 타일 개수는 기본 수평 타일 개수와 동일할 수 있다.For example, when the number of basic horizontal tiles is greater than the number of basic vertical tiles, the number of N-level horizontal tiles may be 1/P times the number of basic horizontal tiles, and the number of N-level vertical tiles may be equal to the number of basic vertical tiles. When the number of basic vertical tiles is greater than the number of basic horizontal tiles, the number of N-level vertical tiles may be 1/P times the number of basic vertical tiles, and the number of N-level horizontal tiles may be equal to the number of basic horizontal tiles.

기본 수평 타일 개수 및 기본 수직 타일 개수가 동일한 경우, N 레벨 수평 타일 개수는 기본 수평 타일 개수의 1/P 배이고, N 레벨 수직 타일 개수는 기본 수직 타일 개수와 동일할 수 있다. 반대로, 기본 수평 타일 개수 및 기본 수직 타일 개수가 동일한 경우, N 레벨 수직 타일 개수는 기본 수직 타일 개수의 1/P 배이고, N 레벨 수평 타일 개수는 기본 수평 타일 개수와 동일할 수도 있다.When the number of basic horizontal tiles and the number of basic vertical tiles are the same, the number of N-level horizontal tiles may be 1/P times the number of basic horizontal tiles, and the number of N-level vertical tiles may be equal to the number of basic vertical tiles. Conversely, when the number of basic horizontal tiles and the number of basic vertical tiles are the same, the number of N-level vertical tiles may be 1/P times the number of basic vertical tiles, and the number of N-level horizontal tiles may be equal to the number of basic horizontal tiles.

예를 들면, 기본 수평 타일 개수가 기본 수직 타일 개수보다 더 큰 경우, N 레벨 수평 타일 개수는 "(num_tile_columns_minus1 + 1) / P"일 수 있고, N 레벨 수직 타일 개수는 "(num_tile_rows_minus1 + 1)"일 수 있다. 기본 수직 타일 개수가 기본 수평 타일 개수보다 더 큰 경우, N 레벨 수평 타일 개수는 "(num_tile_columns_minus1 + 1)"일 수 있고, N 레벨 수직 타일 개수는 "(num_tile_rows_minus1 + 1) / P"일 수 있다.For example, when the basic number of horizontal tiles is greater than the number of basic vertical tiles, the number of N-level horizontal tiles may be "(num_tile_columns_minus1 + 1) / P", and the number of N-level vertical tiles is "(num_tile_rows_minus1 + 1)" can be When the basic number of vertical tiles is greater than the number of basic horizontal tiles, the number of N-level horizontal tiles may be “(num_tile_columns_minus1 + 1)”, and the number of N-level vertical tiles may be “(num_tile_rows_minus1 + 1) / P”.

방식 5)Method 5)

"P=QR"인 경우, N 레벨 수평 타일 개수는 "기본 수평 타일 개수 / Q"일 수 있고, N 레벨 수직 타일 개수는 "기본 수직 타일 개수 / R"일 수 있다.When “P=QR”, the number of N-level horizontal tiles may be “the number of basic horizontal tiles / Q”, and the number of N-level vertical tiles may be “the number of basic vertical tiles / R”.

예를 들면, (P, Q, R)은 (P, P, 1), (P, 1, P), (T2, T, T), (6, 3, 2), (6, 2, 3), (8, 4, 2) 및 (8, 2, 4) 등 중 하나일 수 있으며, P, Q, R 및 T는 각각 1 이상의 정수일 수 있다.For example, (P, Q, R) is (P, P, 1), (P, 1, P), (T 2 , T, T), (6, 3, 2), (6, 2, 3), (8, 4, 2), and (8, 2, 4), and the like, and each of P, Q, R and T may be an integer of 1 or more.

픽쳐를 슬라이스로 분할하기 위한 픽쳐 분할 정보Picture division information for dividing a picture into slices

전술된 것과 같이, 분할에 의해 생성되는 픽쳐의 부분들은 슬라이스들일 수 있다. 픽쳐는 복수의 슬라이스들로 분할될 수 있다.As described above, portions of a picture generated by division may be slices. A picture may be divided into a plurality of slices.

전술된 실시예들에서, 픽쳐 분할 정보는 slice_segment_header에 의해 시그널링될 수 있다. slice_segment_header의 slice_segment_address는 픽쳐의 분할을 위해 사용될 수 있다.In the above-described embodiments, picture segmentation information may be signaled by slice_segment_header. slice_segment_address of slice_segment_header may be used for picture segmentation.

아래의 실시예에서, slice_segment_address는 slice_segment_header가 아닌 PPS에 포함될 수 있다. 말하자면, slice_segment_address를 포함하는 PPS가 픽쳐를 복수의 슬라이스들로 분할하기 위해 사용될 수 있다.In the following embodiment, slice_segment_address may be included in the PPS rather than the slice_segment_header. In other words, a PPS including slice_segment_address may be used to divide a picture into a plurality of slices.

PPS는 특정된 픽쳐에 적용되는 파라미터들을 정의할 수 있다. 여기에서, 파라미터들 중 적어도 일부는 픽쳐 분할 정보로서 픽쳐 분할 방식을 결정하기 위해 사용될 수 있다.The PPS may define parameters applied to a specified picture. Here, at least some of the parameters may be used to determine a picture division method as picture division information.

실시예에서, 하나의 PPS에 포함된 픽쳐 분할 정보는 복수의 픽쳐들에게 적용될 수 있다. 여기에서, 복수의 픽쳐들은 적어도 2개의 상이한 방식들 중 하나의 방식으로 분할될 수 있다. 말하자면, 적어도 2개의 상이한 픽쳐 분할 방식을 정의하기 위해, 여러 개의 PPS가 아닌, 하나의 PPS가 사용될 수 있다. 2개의 픽쳐가 서로 상이한 픽쳐 분할 방식들로 각각 분할되어도, 픽쳐 마다 PPS가 시그널링되지 않고, 하나의 PPS의 픽쳐 분할 정보에 의해 변화하는 픽쳐 분할 방식이 유도될 수 있다. 예를 들면, PPS는 하나의 픽쳐에 적용될 픽쳐 분할 정보를 포함할 수 있고, PPS에 의해 다른 픽쳐에 적용될 픽쳐 분할 정보가 유도될 수 있다. 또는, 예를 들면, PPS는 하나의 픽쳐에 적용될 픽쳐 분할 정보를 포함할 수 있고, 픽쳐 분할 정보에 의해 복수의 픽쳐들에게 적용될 픽쳐 분할 방식들이 정의될 수 있다.In an embodiment, picture division information included in one PPS may be applied to a plurality of pictures. Here, the plurality of pictures may be divided in one of at least two different ways. That is, to define at least two different picture division schemes, one PPS may be used instead of several PPSs. Even if two pictures are divided by different picture division methods, a PPS is not signaled for each picture, and a changing picture division method may be induced by picture division information of one PPS. For example, the PPS may include picture division information to be applied to one picture, and picture division information to be applied to another picture may be derived by the PPS. Alternatively, for example, the PPS may include picture division information to be applied to one picture, and picture division methods to be applied to a plurality of pictures may be defined by the picture division information.

예를 들면, PPS는 GOP 레벨 별로 병렬로 처리될 픽쳐들의 개수를 정의할 수 있다. GOP 레벨 별로 병렬로 처리될 픽쳐들의 개수가 정의되면, 특정된 GOP 레벨의 픽쳐의 픽쳐 분할 방식이 결정될 수 있다. 또는, GOP 레벨 별로 병렬로 처리될 픽쳐들의 개수가 정의되면, 특정된 GOP 레벨의 픽쳐가 몇 개의 슬라이스들로 분할될지가 결정될 수 있다.For example, the PPS may define the number of pictures to be processed in parallel for each GOP level. When the number of pictures to be processed in parallel for each GOP level is defined, a picture division method of a picture of the specified GOP level may be determined. Alternatively, if the number of pictures to be processed in parallel for each GOP level is defined, it may be determined how many slices the picture of the specified GOP level is divided into.

GOP 레벨에 따라서 픽쳐가 슬라이스들로 분할되는 실시예An embodiment in which a picture is divided into slices according to the GOP level

아래의 표 5는 픽쳐 분할 정보를 시그널링하기 위한 PPS를 나타내는 pic_parameter_set_rbsp의 구조의 일 예를 나타낸다. 픽쳐 분할 정보는 pic_parameter_set_rbsp이거나, pic_parameter_set_rbsp을 포함할 수 있다. pic_parameter_set_rbsp에 의해 픽쳐는 복수의 슬라이스들로 분할될 수 있다. 복수의 슬라이스들의 형태는 주기적으로 변할 수 있다.Table 5 below shows an example of a structure of pic_parameter_set_rbsp indicating a PPS for signaling picture split information. The picture division information may be pic_parameter_set_rbsp or may include pic_parameter_set_rbsp. A picture may be divided into a plurality of slices by pic_parameter_set_rbsp. The shape of the plurality of slices may change periodically.

Figure pat00006
Figure pat00006

아래의 표 6은 표 5의 PPS가 사용될 경우의 slice_segment_header의 구조의 일 예를 나타낸다.Table 6 below shows an example of the structure of slice_segment_header when the PPS of Table 5 is used.

Figure pat00007
Figure pat00007

표 5를 참조하면, pic_parameter_set_rbsp는 아래와 같은 요소를 포함할 수 있다.Referring to Table 5, pic_parameter_set_rbsp may include the following elements.

- parallel_slice_enabled_flag: parallel_slice_enabled_flag는 슬라이스 분할 정보 플래그일 수 있다. 슬라이스 분할 정보 플래그는 PPS가 PPS를 참조하는 픽쳐에게 적용되는 슬라이스 분할 정보를 포함하는지 여부를 나타낼 수 있다.- parallel_slice_enabled_flag: parallel_slice_enabled_flag may be a slice division information flag. The slice division information flag may indicate whether the PPS includes slice division information applied to a picture referring to the PPS.

예를 들면, parallel_slice_enabled_flag의 값이 "1"인 것은 PPS가 PPS를 참조하는 픽쳐에게 적용될 슬라이스 분할 정보를 포함한다는 것을 나타낼 수 있다. parallel_slice_enabled_flag의 값이 "0"인 것은 PPS가 PPS를 참조하는 픽쳐에게 적용될 슬라이스 분할 정보를 포함하지 않는다는 것을 나타낼 수 있다.For example, a value of “1” of parallel_slice_enabled_flag may indicate that the PPS includes slice division information to be applied to a picture referring to the PPS. A value of "0" of parallel_slice_enabled_flag may indicate that the PPS does not include slice division information to be applied to a picture referring to the PPS.

예를 들면, parallel_slice_enabled_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐의 슬라이스 분할 정보는 slice_segment_header 내에 존재한다는 것을 나타낼 수 있다. 여기에서, 슬라이스 분할 정보는 slice_segment_address를 포함할 수 있다.For example, a value of "0" of parallel_slice_enabled_flag may indicate that slice segmentation information of a picture referring to the PPS exists in slice_segment_header. Here, the slice segmentation information may include slice_segment_address.

- num_parallel_slice_minus1: num_parallel_slice_minus1는 분할된 픽쳐의 슬라이스의 개수에 대응하는 슬라이스 개수 정보일 수 있다.- num_parallel_slice_minus1: num_parallel_slice_minus1 may be slice number information corresponding to the number of slices of a divided picture.

예를 들면, "num_parallel_slice_minus1 + 1"의 값은 분할된 픽쳐에서의 슬라이스의 개수를 나타낼 수 있다.For example, a value of “num_parallel_slice_minus1 + 1” may indicate the number of slices in the divided picture.

- slice_uniform_spacing_flag: slice_uniform_spacing_flag는 슬라이스들의 크기가 모두 동일한지 여부를 지시하는 균등 스페이싱 플래그일 수 있다.- slice_uniform_spacing_flag: slice_uniform_spacing_flag may be a uniform spacing flag indicating whether all slices have the same size.

예를 들면, slice_uniform_spacing_flag의 값이 "0"인 경우, 슬라이스들의 크기들이 모두 동일하다고 간주될 수 없으며, 슬라이스들의 크기들을 결정하기 위한 다른 정보가 요구될 수 있다.For example, when the value of slice_uniform_spacing_flag is “0”, the sizes of slices cannot all be considered to be the same, and other information for determining the sizes of slices may be required.

예를 들면, slice_uniform_spacing_flag의 값이 "1"인 경우, 슬라이스들의 크기들은 모두 동일할 수 있다. 또한, slice_uniform_spacing_flag의 값이 "1"인 경우, 슬라이스들의 크기들이 모두 동일하기 때문에, 슬라이스들에 대한 슬라이스 분할 정보는 픽쳐의 전체의 크기 및 슬라이스의 개수에 의해 유도될 수 있다.For example, when the value of slice_uniform_spacing_flag is “1”, the sizes of slices may all be the same. In addition, when the value of slice_uniform_spacing_flag is “1”, since sizes of slices are all the same, slice division information for slices may be derived by the total size of a picture and the number of slices.

- parallel_slice_segment_address_minus1[i]: parallel_slice_segment_address_minus1는 픽쳐의 분할에 의해 생성된 슬라이스들의 크기들을 나타낼 수 있다. 예를 들면, "parallel_slice_segment_address_minus1[i] + 1"의 값은 i 번째 슬라이스의 크기를 나타낼 수 있다. 슬라이스의 크기의 단위는 CTB일 수 있다. i는 0 이상 n 보다 작은 정수일 수 있다. n은 슬라이스의 개수일 수 있다.- parallel_slice_segment_address_minus1[i]: parallel_slice_segment_address_minus1 may indicate sizes of slices generated by picture division. For example, a value of “parallel_slice_segment_address_minus1[i] + 1” may indicate the size of the i-th slice. The unit of the size of the slice may be CTB. i may be an integer greater than or equal to 0 and less than n. n may be the number of slices.

- parallel_frame_by_gop_level_enable_flag: parallel_frame_by_gop_level_enable_flag는 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 함께 병렬로 부호화 또는 복호화되는지 여부를 나타내는 GOP 레벨 병렬 처리 플래그일 수 있다.- parallel_frame_by_gop_level_enable_flag: parallel_frame_by_gop_level_enable_flag may be a GOP level parallel processing flag indicating whether a picture referring to the PPS is encoded or decoded in parallel with other pictures having the same GOP level.

예를 들면, parallel_frame_by_gop_level_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 병렬로 부호화 또는 복호화되지 않는다는 것을 나타낼 수 있다. parallel_frame_by_gop_level_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 병렬로 부호화 또는 복호화된다는 것을 나타낼 수 있다.For example, a value of “0” of parallel_frame_by_gop_level_enable_flag may indicate that a picture referring to the PPS is not encoded or decoded in parallel with another picture having the same GOP level. A value of “1” of parallel_frame_by_gop_level_enable_flag may indicate that a picture referring to the PPS is encoded or decoded in parallel with another picture having the same GOP level.

parallel_frame_by_gop_level_enable_flag의 값이 "1"인 경우, 픽쳐 레벨의 병렬화에 따라, 픽쳐의 분할의 정도가 조절될 필요가 있다.When the value of parallel_frame_by_gop_level_enable_flag is “1”, the degree of picture division needs to be adjusted according to picture level parallelization.

픽쳐 분할 정보는 GOP 레벨 n에 대한 병렬 처리 픽쳐 개수 정보를 포함할 수 있다. 특정된 GOP 레벨 n에 대한 병렬 처리 픽쳐 개수 정보는 병렬 처리가 적용될 수 있는 GOP 레벨이 n인 픽쳐들의 개수에 대응할 수 있다. n은 2 이상의 정수일 수 있다.The picture division information may include parallel processing picture number information for GOP level n. The information on the number of parallel processing pictures for the specified GOP level n may correspond to the number of pictures having a GOP level n to which parallel processing may be applied. n may be an integer of 2 or more.

병렬 처리 픽쳐 개수 정보는 아래의 num_frame_in_parallel_gop_level3_minus1 및 num_frame_in_parallel_gop_level2_minus1를 포함할 수 있다.Parallel processing picture number information may include the following num_frame_in_parallel_gop_level3_minus1 and num_frame_in_parallel_gop_level2_minus1.

- num_frame_in_parallel_gop_level3_minus1: num_frame_in_parallel_gop_level3_minus1는 GOP 레벨 3에 대한 병렬 처리 픽쳐 개수 정보일 수 있다. GOP 레벨 3에 대한 병렬 처리 픽쳐 개수 정보는 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 3인 픽쳐들의 개수에 대응할 수 있다.- num_frame_in_parallel_gop_level3_minus1: num_frame_in_parallel_gop_level3_minus1 may be information on the number of parallel processing pictures for GOP level 3. Information on the number of parallel processing pictures for GOP level 3 may correspond to the number of pictures having a GOP level of 3 that can be encoded or decoded in parallel.

예를 들면, "num_frame_in_parallel_gop_level3_minus1 + 1"의 값은 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 3인 픽쳐들의 개수를 나타낼 수 있다.For example, a value of “num_frame_in_parallel_gop_level3_minus1 + 1” may indicate the number of pictures having a GOP level of 3 that can be encoded or decoded in parallel.

- num_frame_in_parallel_gop_level2_minus1: num_frame_in_parallel_gop_level2_minus1는 GOP 레벨 2에 대한 병렬 처리 픽쳐 개수 정보일 수 있다. GOP 레벨 2에 대한 병렬 처리 픽쳐 개수 정보는 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 2인 픽쳐들의 개수에 대응할 수 있다.- num_frame_in_parallel_gop_level2_minus1: num_frame_in_parallel_gop_level2_minus1 may be information on the number of parallel processing pictures for GOP level 2. Information on the number of parallel processing pictures for GOP level 2 may correspond to the number of pictures having a GOP level of 2 that can be encoded or decoded in parallel.

예를 들면, "num_frame_in_parallel_gop_level2_minus1 + 1"의 값은 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 2인 픽쳐들의 개수를 나타낼 수 있다.For example, a value of “num_frame_in_parallel_gop_level2_minus1 + 1” may indicate the number of pictures having a GOP level of 2 that can be encoded or decoded in parallel.

전술된 pic_parameter_set_rbsp를 사용하는 픽쳐 분할 정보의 시그널링을 사용하여, 부호화된 복수의 픽쳐들은 아래와 같은 과정을 통해 복호화될 수 있다.A plurality of encoded pictures may be decoded through the following process by using the signaling of picture division information using the above-described pic_parameter_set_rbsp.

예를 들면, 현재의 픽쳐의 PPS의 "parallel_slice_enabled_flag"의 값이 "1"이면, 픽쳐는 1개 이상의 슬라이스들로 분할될 수 있다. 픽쳐를 슬라이스들로 분할하기 위해서는 슬라이스 분할 정보인 slice_segment_address가 계산되어야 할 수 있다. PPS가 수신된 후 PPS의 요소에 기반하여 slice_segment_address가 계산될 수 있다.For example, if the value of “parallel_slice_enabled_flag” of the PPS of the current picture is “1”, the picture may be divided into one or more slices. In order to divide a picture into slices, slice_segment_address, which is slice segmentation information, may need to be calculated. After the PPS is received, slice_segment_address may be calculated based on the elements of the PPS.

"slice_uniform_spacing_flag"의 값이 "1" 이면, 모든 슬라이스들의 크기들은 동일할 수 있다. 말하자면, 픽쳐의 크기 및 슬라이스들의 개수에 따라서 단위 슬라이스의 크기가 계산될 수 있고, 모든 슬라이스들의 크기들은 계산된 단위 슬라이스의 크기와 동일할 수 있다. 또한, 단위 슬라이스의 크기를 사용하여 모든 슬라이스들의 slice_segment_address들이 계산될 수 있다. "slice_uniform_spacing_flag"의 값이 "1"인 경우, 단위 슬라이스의 크기 및 슬라이스들의 slice_segment_address 들은 아래의 표 7의 코드에 따라서 계산될 수 있다.If the value of “slice_uniform_spacing_flag” is “1”, the sizes of all slices may be the same. That is, the size of the unit slice may be calculated according to the size of the picture and the number of slices, and sizes of all slices may be the same as the calculated size of the unit slice. Also, slice_segment_addresses of all slices may be calculated using the size of the unit slice. When the value of “slice_uniform_spacing_flag” is “1”, the size of a unit slice and slice_segment_addresses of slices may be calculated according to the code of Table 7 below.

num_CTB_in_slice = 픽쳐 내의 CTB의 개수 / (num_parallel_slice_minus1 + 1)
slice_segment_address[0] = 0;
for( i = 1; i < num_parallel_slice_minus1 + 1; i++ ){
slice_segment_address[i] = slice_segment_address[i - 1] + num_CTB_in_slice;
}
num_CTB_in_slice = the number of CTBs in the picture / (num_parallel_slice_minus1 + 1)
slice_segment_address[0] = 0;
for( i = 1; i < num_parallel_slice_minus1 + 1; i++ ){
slice_segment_address[i] = slice_segment_address[i - 1] + num_CTB_in_slice;
}

"slice_uniform_spacing_flag"의 값이 "0"인 경우, PPS에서 slice_segment_address[i]가 파싱될 수 있다. 말하자면, "slice_uniform_spacing_flag"의 값이 "0"인 경우, PPS는 slice_segment_address[i]를 포함할 수 있다. i는 0 이상 n 보다 작은 정수일 수 있다. n은 슬라이스들의 개수일 수 있다.예를 들면, 현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag"의 값이 "1"이면 num_parallel_slice_minus1 및 slice_segment_address[i]가 재정의될 수 있다.When the value of "slice_uniform_spacing_flag" is "0", slice_segment_address[i] may be parsed in the PPS. That is, when the value of "slice_uniform_spacing_flag" is "0", the PPS may include slice_segment_address[i]. i may be an integer greater than or equal to 0 and less than n. n may be the number of slices. For example, if the value of “parallel_frame_by_gop_level_enable_flag” of the PPS of the current picture is “1”, num_parallel_slice_minus1 and slice_segment_address[i] may be redefined.

현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag"의 값이 "1"이고, 현재의 픽쳐의 GOP Level이 2인 경우, 현재의 픽쳐에 적용될 num_parallel_slice_minus1는 아래의 수식 7과 같이 재정의될 수 있다.When the value of “parallel_frame_by_gop_level_enable_flag” of the PPS of the current picture is “1” and the GOP Level of the current picture is 2, num_parallel_slice_minus1 to be applied to the current picture may be redefined as in Equation 7 below.

[수식 7][Equation 7]

new_num_parallel_slice_minus1 = (num_parallel_slice_minus1) / (num_frame_in_parallel_gop_level2_minus1 + 1)new_num_parallel_slice_minus1 = (num_parallel_slice_minus1) / (num_frame_in_parallel_gop_level2_minus1 + 1)

여기에서, new_num_parallel_slice_minus1는 GOP Level이 2인 현재의 픽쳐의 슬라이스의 개수에 대응할 수 있다. 예를 들면, "new_num_parallel_slice_minus1 + 1"의 값은 분할된 현재의 픽쳐에서 슬라이스의 개수를 나타낼 수 있다.Here, new_num_parallel_slice_minus1 may correspond to the number of slices of a current picture having a GOP level of 2. For example, a value of “new_num_parallel_slice_minus1 + 1” may indicate the number of slices in the divided current picture.

현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag"의 값이 "1"이고, 현재의 픽쳐의 GOP Level이 3인 경우, 현재의 픽쳐에 적용될 num_parallel_slice_minus1는 아래의 수식 8과 같이 재정의될 수 있다.When the value of “parallel_frame_by_gop_level_enable_flag” of the PPS of the current picture is “1” and the GOP Level of the current picture is 3, num_parallel_slice_minus1 to be applied to the current picture may be redefined as in Equation 8 below.

[수식 8][Equation 8]

new_num_parallel_slice_minus1 = (num_parallel_slice_minus1) / (num_frame_in_parallel_gop_level3_minus1 + 1)new_num_parallel_slice_minus1 = (num_parallel_slice_minus1) / (num_frame_in_parallel_gop_level3_minus1 + 1)

여기에서, new_num_parallel_slice_minus1는 GOP Level이 3인 현재의 픽쳐의 슬라이스의 개수에 대응할 수 있다. 예를 들면, "new_num_parallel_slice_minus1 + 1"의 값은 분할된 현재의 픽쳐에서 슬라이스의 개수를 나타낼 수 있다.Here, new_num_parallel_slice_minus1 may correspond to the number of slices of a current picture having a GOP level of 3. For example, a value of “new_num_parallel_slice_minus1 + 1” may indicate the number of slices in the divided current picture.

전술된 수식 7 및 수식 8에 따르면, num_frame_in_parallel_gop_level2_minus1 또는 num_frame_in_parallel_gop_level3_minus1의 값이 커질수록, new_num_parallel_slice_minus1의 값은 작아질 수 있다. 말하자면, num_frame_in_parallel_gop_level2_minus1 또는 num_frame_in_parallel_gop_level3_minus1의 값이 커질수록 분할에 의해 생성되는 슬라이스들의 개수는 감소할 수 있다. 따라서, num_frame_in_parallel_gop_level2_minus1 및 num_frame_in_parallel_gop_level3_minus1는 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 감소 지시 정보일 수 있다. 병렬로 부호화 또는 복호화되는 동일한 GOP 레벨을 갖는 픽쳐들의 개수가 더 많아질수록, 각 픽쳐들은 더 적은 개수의 슬라이스들로 분할될 수 있다.According to Equations 7 and 8, as the value of num_frame_in_parallel_gop_level2_minus1 or num_frame_in_parallel_gop_level3_minus1 increases, the value of new_num_parallel_slice_minus1 may decrease. That is, as the value of num_frame_in_parallel_gop_level2_minus1 or num_frame_in_parallel_gop_level3_minus1 increases, the number of slices generated by division may decrease. Accordingly, num_frame_in_parallel_gop_level2_minus1 and num_frame_in_parallel_gop_level3_minus1 may be reduction indication information for reducing the number of slices generated by picture division. As the number of pictures having the same GOP level to be encoded or decoded in parallel increases, each picture may be divided into a smaller number of slices.

픽쳐 분할 정보는 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 감소 지시 정보를 포함할 수 있다. 또한, 감소 지시 정보는 병렬로 처리되는 부호화 또는 복호화와 관련하여 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 정도를 나타낼 수 있다. 픽쳐 분할 정보는 GOP 레벨이 n인 픽쳐에 대해 픽쳐의 분할에 의해 생성되는 타일들의 개수를 감소시키는 GOP 레벨 n 감소 지시 정보를 포함할 수 있다. n은 2 이상의 정수일 수 있다. 예를 들면, num_frame_in_parallel_gop_level2_minus1은 GOP 레벨 2 감소 지시 정보일 수 있다. num_frame_in_parallel_gop_level3_minus1은 GOP 레벨 3 감소 지시 정보일 수 있다.The picture division information may include reduction indication information for reducing the number of tiles generated by picture division. In addition, the reduction indication information may indicate a degree to which the number of slices generated by picture division in relation to encoding or decoding processed in parallel is reduced. The picture division information may include GOP level n reduction indication information for reducing the number of tiles generated by picture division for a picture having a GOP level of n. n may be an integer of 2 or more. For example, num_frame_in_parallel_gop_level2_minus1 may be GOP level 2 reduction indication information. num_frame_in_parallel_gop_level3_minus1 may be GOP level 3 reduction indication information.

수식 7 및 수식 8이 관련하여 전술된 것과 같이, 픽쳐 분할 정보는 GOP 레벨이 n인 픽쳐에 대한 GOP 레벨 n 감소 지시 정보를 포함할 수 있다. GOP 레벨이 0 또는 1인 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수가 w이고, GOP 레벨이 n인 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수가 w/m일 때, GOP 레벨 n 감소 지시 정보는 m에 대응할 수 있다.As described above in relation to Equations 7 and 8, the picture division information may include GOP level n reduction indication information for a picture having a GOP level n. When the number of slices generated by division of a picture having a GOP level of 0 or 1 is w, and the number of slices generated by division of a picture having a GOP level of n is w/m, the GOP level n reduction indication information is can correspond to m.

수식 7 및 수식 8의 재정의에 의해, 현재의 픽쳐의 슬라이스들의 slice_segment_address들은 아래의 표 8의 코드에 의해 계산될 수 있다.By redefining Equations 7 and 8, slice_segment_addresses of slices of the current picture can be calculated by the code of Table 8 below.

new_num_CTB_in_slice = 픽쳐 내의 CTB의 개수 / (new_num_parallel_slice_minus1 + 1)
slice_segment_address[0] = 0;
for( i = 1; i < new_num_parallel_slice_minus1+1; i++ ){
slice_segment_address[i] = slice_segment_address[i - 1] + new_num_CTB_in_slice;
}
new_num_CTB_in_slice = the number of CTBs in the picture / (new_num_parallel_slice_minus1 + 1)
slice_segment_address[0] = 0;
for( i = 1; i <new_num_parallel_slice_minus1+1; i++ ){
slice_segment_address[i] = slice_segment_address[i - 1] + new_num_CTB_in_slice;
}

GOP 레벨 또는 시간적 레벨에 따라서 픽쳐가 슬라이스들로 분할되는 실시예아래의 표 9는 픽쳐 분할 정보를 시그널링하기 위한 PPS를 나타내는 pic_parameter_set_rbsp의 구조의 일 예를 나타낸다. 픽쳐 분할 정보는 pic_parameter_set_rbsp이거나, pic_parameter_set_rbsp을 포함할 수 있다. pic_parameter_set_rbsp에 의해 픽쳐는 복수의 슬라이스들로 분할될 수 있다. 복수의 슬라이스들의 형태는 주기적으로 변할 수 있다. An embodiment in which a picture is divided into slices according to a GOP level or a temporal level Table 9 below shows an example of a structure of a pic_parameter_set_rbsp indicating a PPS for signaling picture division information. The picture division information may be pic_parameter_set_rbsp or may include pic_parameter_set_rbsp. A picture may be divided into a plurality of slices by pic_parameter_set_rbsp. The shape of the plurality of slices may change periodically.

Figure pat00008
Figure pat00008

아래의 표 10은 표 9의 PPS가 사용될 경우의 slice_segment_header의 구조의 일 예를 나타낸다.Table 10 below shows an example of the structure of slice_segment_header when the PPS of Table 9 is used.

Figure pat00009
Figure pat00009

표 9를 참조하면, pic_parameter_set_rbsp는 아래와 같은 요소를 포함할 수 있다.Referring to Table 9, pic_parameter_set_rbsp may include the following elements.

- unified_slice_segment_enabled_flag: unified_slice_segment_enabled_flag는 슬라이스 분할 정보 플래그일 수 있다. 슬라이스 분할 정보 플래그는 PPS가 PPS를 참조하는 픽쳐에게 적용되는 슬라이스 분할 정보를 포함하는지 여부를 나타낼 수 있다.- unified_slice_segment_enabled_flag: unified_slice_segment_enabled_flag may be a slice segmentation information flag. The slice division information flag may indicate whether the PPS includes slice division information applied to a picture referring to the PPS.

예를 들면, unified_slice_segment_enabled_flag의 값이 "1"인 것은 PPS가 PPS를 참조하는 픽쳐에게 적용될 슬라이스 분할 정보를 포함한다는 것을 나타낼 수 있다. unified_slice_segment_enabled_flag의 값이 "0"인 것은 PPS가 PPS를 참조하는 픽쳐에게 적용될 슬라이스 분할 정보를 포함하지 않는다는 것을 나타낼 수 있다.For example, a value of “1” of unified_slice_segment_enabled_flag may indicate that the PPS includes slice division information to be applied to a picture referring to the PPS. A value of "0" of unified_slice_segment_enabled_flag may indicate that the PPS does not include slice segmentation information to be applied to a picture referring to the PPS.

예를 들면, unified_slice_segment_enabled_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐의 슬라이스 분할 정보는 slice_segment_header 내에 존재한다는 것을 나타낼 수 있다. 여기에서, 슬라이스 분할 정보는 slice_segment_address를 포함할 수 있다.For example, a value of “0” of unified_slice_segment_enabled_flag may indicate that slice segmentation information of a picture referring to the PPS exists in slice_segment_header. Here, the slice segmentation information may include slice_segment_address.

- num_slice_minus1: num_slice_minus1는 분할된 픽쳐의 슬라이스의 개수에 대응하는 슬라이스 개수 정보일 수 있다. 예를 들면, "num_slice_minus1 + 1"의 값은 분할된 픽쳐에서의 슬라이스의 개수를 나타낼 수 있다.- num_slice_minus1: num_slice_minus1 may be slice number information corresponding to the number of slices of a divided picture. For example, a value of “num_slice_minus1 + 1” may indicate the number of slices in the divided picture.

- slice_uniform_spacing_flag: slice_uniform_spacing_flag는 슬라이스들의 크기가 모두 동일한지 여부를 지시하는 균등 스페이싱 플래그일 수 있다.- slice_uniform_spacing_flag: slice_uniform_spacing_flag may be a uniform spacing flag indicating whether all slices have the same size.

예를 들면, slice_uniform_spacing_flag의 값이 "0"인 경우, 슬라이스들의 크기들이 모두 동일하다고 간주될 수 없으며, 슬라이스들의 크기들을 결정하기 위한 다른 정보가 요구될 수 있다. 예를 들면, slice_uniform_spacing_flag의 값이 "1"인 경우, 슬라이스들의 크기들은 모두 동일할 수 있다.For example, when the value of slice_uniform_spacing_flag is “0”, the sizes of slices cannot all be considered to be the same, and other information for determining the sizes of slices may be required. For example, when the value of slice_uniform_spacing_flag is “1”, the sizes of slices may all be the same.

또한, slice_uniform_spacing_flag의 값이 "1"인 경우, 슬라이스들의 크기들이 모두 동일하기 때문에, 슬라이스들에 대한 슬라이스 분할 정보는 픽쳐의 전체의 크기 및 슬라이스의 개수에 의해 유도될 수 있다.In addition, when the value of slice_uniform_spacing_flag is “1”, since sizes of slices are all the same, slice division information for slices may be derived by the total size of a picture and the number of slices.

- unified_slice_segment_address_minus1[i]: unified_slice_segment_address_minus1는 픽쳐의 분할에 의해 생성된 슬라이스들의 크기들을 나타낼 수 있다.- unified_slice_segment_address_minus1[i]: unified_slice_segment_address_minus1 may indicate sizes of slices created by picture division.

예를 들면, "unified_slice_segment_address_minus1[i] + 1"의 값은 i 번째 슬라이스의 크기를 나타낼 수 있다. 슬라이스의 크기의 단위는 CTB일 수 있다. i는 0 이상 n 보다 작은 정수일 수 있다. n은 슬라이스의 개수일 수 있다.For example, a value of “unified_slice_segment_address_minus1[i] + 1” may indicate the size of the i-th slice. The unit of the size of the slice may be CTB. i may be an integer greater than or equal to 0 and less than n. n may be the number of slices.

- unified_slice_segment_by_gop_level_enable_flag: unified_slice_segment_by_gop_level_enable_flag는 PPS를 참조하는 픽쳐가 적어도 2개 이상의 상이한 방식들 중 하나의 방식으로 분할되는지 여부를 나타내는 분할 방식 지시 플래그일 수 있다.- unified_slice_segment_by_gop_level_enable_flag: unified_slice_segment_by_gop_level_enable_flag may be a division method indication flag indicating whether a picture referring to the PPS is divided in one of at least two or more different methods.

또는, unified_slice_segment_by_gop_level_enable_flag는 PPS를 참조하는 픽쳐가 슬라이스들로 분할될 때, 분할에 의해 생성되는 슬라이스들의 개수 및 형태들이 동일한지 여부를 나타낼 수 있다. 슬라이스의 형태는 슬라이스의 시작 위치, 슬라이스의 길이 및 슬라이스의 끝 위치 중 하나 이상을 포함할 수 있다.Alternatively, unified_slice_segment_by_gop_level_enable_flag may indicate whether the number and shapes of slices generated by division are the same when a picture referring to the PPS is divided into slices. The shape of the slice may include one or more of a start position of the slice, a length of the slice, and an end position of the slice.

예를 들면, unified_slice_segment_by_gop_level_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 단일한 방식으로 분할된다는 것을 나타낼 수 있다. 또는, unified_slice_segment_by_gop_level_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 분할될 때 생생되는 슬라이스들의 개수가 항상 동일하고, 슬라이스들의 형태들이 항상 일정하다는 것을 나타낼 수 있다.For example, a value of "0" of unified_slice_segment_by_gop_level_enable_flag may indicate that a picture referring to the PPS is divided in a single method. Alternatively, the value of unified_slice_segment_by_gop_level_enable_flag of “0” may indicate that the number of slices created when a picture referring to the PPS is divided is always the same and the shapes of the slices are always constant.

예를 들면, unified_slice_segment_by_gop_level_enable_flag의 값이 "1"인 것은 하나의 PPS에 의해 복수 개의 분할의 형태들이 정의된다는 것을 나타낼 수 있다. 또는, unified_slice_segment_by_gop_level_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 적어도 2개 이상의 상이한 방식들 중 하나의 방식으로 분할된다는 것을 나타낼 수 있다. 픽쳐가 상이한 방식으로 분할된다는 것은 픽쳐가 분할됨에 의해 생성되는 슬라이스들의 개수 및/또는 슬라이스들의 형태들이 상이하다는 것을 의미할 수 있다.For example, a value of “1” of unified_slice_segment_by_gop_level_enable_flag may indicate that a plurality of division types are defined by one PPS. Alternatively, the value of unified_slice_segment_by_gop_level_enable_flag of “1” may indicate that the picture referring to the PPS is divided by one of at least two or more different methods. That the picture is divided in different ways may mean that the number of slices and/or shapes of slices generated by the picture being divided are different.

예를 들면, unified_slice_segment_by_gop_level_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 분할됨에 의해 생성되는 슬라이스들의 개수 또는 슬라이스들의 형태들이 일정하지 않는다는 것을 나타낼 수 있다.For example, a value of “1” of unified_slice_segment_by_gop_level_enable_flag may indicate that the number of slices or shapes of slices generated by splitting a picture referring to the PPS is not constant.

또는, unified_slice_segment_by_gop_level_enable_flag는 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 함께 병렬로 부호화 또는 복호화되는지 여부를 나타내는 GOP 레벨 병렬 처리 플래그일 수 있다.Alternatively, unified_slice_segment_by_gop_level_enable_flag may be a GOP level parallel processing flag indicating whether a picture referring to the PPS is encoded or decoded in parallel with other pictures having the same GOP level.

예를 들면, unified_slice_segment_by_gop_level_enable_flag의 값이 "0"인 것은 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 병렬로 부호화 또는 복호화되지 않는다는 것을 나타낼 수 있다. unified_slice_segment_by_gop_level_enable_flag의 값이 "1"인 것은 PPS를 참조하는 픽쳐가 GOP 레벨이 동일한 다른 픽쳐와 병렬로 부호화 또는 복호화된다는 것을 나타낼 수 있다. unified_slice_segment_by_gop_level_enable_flag의 값이 "1"인 경우, 픽쳐 레벨의 병렬화에 따라, 픽쳐의 분할의 정도가 조절될 필요가 있다.For example, a value of "0" of unified_slice_segment_by_gop_level_enable_flag may indicate that a picture referring to the PPS is not encoded or decoded in parallel with another picture having the same GOP level. A value of unified_slice_segment_by_gop_level_enable_flag of “1” may indicate that a picture referring to the PPS is encoded or decoded in parallel with another picture having the same GOP level. When the value of unified_slice_segment_by_gop_level_enable_flag is "1", the degree of picture division needs to be adjusted according to picture level parallelization.

픽쳐 분할 정보는 GOP 레벨 n에 대한 프레임 개수 지시 정보를 포함할 수 있다. 특정된 GOP 레벨 n에 대한 프레임 개수 지시 정보는 병렬 처리가 적용될 수 있는 GOP 레벨이 n인 픽쳐들의 개수에 대응할 수 있다. n은 2 이상의 정수일 수 있다.The picture division information may include frame number indication information for GOP level n. The frame number indication information for the specified GOP level n may correspond to the number of pictures having a GOP level of n to which parallel processing may be applied. n may be an integer of 2 or more.

프레임 개수 지시 정보는 아래의 num_frame_by_gop_level2_minus1 및 num_frame_by_gop_level3_minus1를 포함할 수 있다. 또한, 프레임 개수 지시 정보는 하나 이상의 값들에 대한 num_frame_by_gop_levelN_minus1을 포함할 수 있다.The frame number indication information may include the following num_frame_by_gop_level2_minus1 and num_frame_by_gop_level3_minus1. Also, the frame number indication information may include num_frame_by_gop_levelN_minus1 for one or more values.

픽쳐 분할 정보 또는 PPS는 unified_slice_segment_by_gop_level_enable_flag의 값이 "1"인 경우에 선택적으로 num_frame_by_gop_level2_minus1, num_frame_by_gop_level3_minus1 및 num_frame_by_gop_levelN_minus1 중 적어도 하나를 포함할 수 있다.The picture segmentation information or PPS may optionally include at least one of num_frame_by_gop_level2_minus1, num_frame_by_gop_level3_minus1, and num_frame_by_gop_levelN_minus1 when the value of unified_slice_segment_by_gop_level_enable_flag is “1”.

- num_frame_by_gop_level3_minus1: num_frame_by_gop_level3_minus1는 GOP 레벨 3에 대한 프레임 개수 정보일 수 있다. GOP 레벨 3에 대한 프레임 개수 정보는 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 3인 픽쳐들의 개수에 대응할 수 있다.- num_frame_by_gop_level3_minus1: num_frame_by_gop_level3_minus1 may be frame number information for GOP level 3. The frame number information for the GOP level 3 may correspond to the number of pictures having the GOP level 3 that can be encoded or decoded in parallel.

예를 들면, "num_frame_by_gop_level3_minus1 + 1"의 값은 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 3인 픽쳐들의 개수를 나타낼 수 있다.For example, a value of “num_frame_by_gop_level3_minus1 + 1” may indicate the number of pictures having a GOP level of 3 that can be encoded or decoded in parallel.

- num_frame_by_gop_level2_minus1: num_frame_by_gop_level2_minus1는 GOP 레벨 2에 대한 프레임 개수 정보일 수 있다. GOP 레벨 2에 대한 프레임 개수 정보는 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 2인 픽쳐들의 개수에 대응할 수 있다.- num_frame_by_gop_level2_minus1: num_frame_by_gop_level2_minus1 may be frame number information for GOP level 2. The frame number information for GOP level 2 may correspond to the number of pictures having a GOP level of 2 that can be encoded or decoded in parallel.

예를 들면, "num_frame_by_gop_level3_minus1 + 1"의 값은 병렬로 부호화 또는 복호화될 수 있는 GOP 레벨이 2인 픽쳐들의 개수를 나타낼 수 있다.For example, a value of “num_frame_by_gop_level3_minus1 + 1” may indicate the number of pictures having a GOP level of 2 that can be encoded or decoded in parallel.

전술된 설명은 시간적 레벨에도 적용될 수 있다. 말하자면, 실시예에서 "GOP"는 "시간적 식별자"로 대체될 수 있고, "GOP 레벨"은 "시간적 레벨"로 대체될 수 있다.The above description can also be applied to the temporal level. That is, in the embodiment, "GOP" may be replaced with "temporal identifier", and "GOP level" may be replaced with "temporal level".

전술된 pic_parameter_set_rbsp를 사용하는 픽쳐 분할 정보의 시그널링을 사용하여, 부호화된 복수의 픽쳐들은 아래와 같은 과정을 통해 복호화될 수 있다.A plurality of encoded pictures may be decoded through the following process by using the signaling of picture division information using the above-described pic_parameter_set_rbsp.

우선, 현재의 픽쳐의 PPS의 "unified_slice_segment_enabled_flag"의 값이 "1"이면, 픽쳐는 1개 이상의 슬라이스들로 분할될 수 있다.First, if the value of “unified_slice_segment_enabled_flag” of the PPS of the current picture is “1”, the picture may be divided into one or more slices.

또한, 현재의 픽쳐의 PPS의 "unified_slice_segment_by_gop_level_enable_flag"의 값이 "1"이면, PPS를 참조하는 픽쳐는 적어도 2개 이상의 상이한 방식들 중 하나의 방식으로 분할될 수 있다.In addition, if the value of “unified_slice_segment_by_gop_level_enable_flag” of the PPS of the current picture is “1”, the picture referring to the PPS may be divided by one of at least two or more different schemes.

픽쳐를 슬라이스들로 분할하기 위해서는 슬라이스 분할 정보인 slice_segment_address가 계산되어야 할 수 있다. PPS가 수신된 후 PPS의 요소에 기반하여 slice_segment_address가 계산될 수 있다.In order to divide a picture into slices, slice_segment_address, which is slice segmentation information, may need to be calculated. After the PPS is received, slice_segment_address may be calculated based on the elements of the PPS.

"slice_uniform_spacing_flag"의 값이 "1" 이면, 모든 슬라이스들의 크기들은 동일할 수 있다. 말하자면, 단위 슬라이스의 크기가 계산될 수 있고, 모든 슬라이스들의 크기들은 계산된 단위 슬라이스의 크기와 동일할 수 있다. 단위 슬라이스의 크기를 사용하여 모든 슬라이스들의 slice_segment_address들이 계산될 수 있다. "slice_uniform_spacing_flag"의 값이 "1"인 경우, 단위 슬라이스의 크기 및 슬라이스들의 unified_slice_segment_address 들은 아래의 표 11의 코드에 따라서 계산될 수 있다.If the value of “slice_uniform_spacing_flag” is “1”, the sizes of all slices may be the same. That is, the size of the unit slice may be calculated, and sizes of all slices may be equal to the calculated size of the unit slice. slice_segment_addresses of all slices may be calculated using the size of the unit slice. When the value of “slice_uniform_spacing_flag” is “1”, the size of the unit slice and unified_slice_segment_addresses of the slices may be calculated according to the code of Table 11 below.

num_CTB_in_slice = 픽쳐 내의 CTB의 개수 / (num_slice_minus1 + 1)
unified_slice_segment_address[0] = 0;
for( i = 1; i < num_slice_minus1 + 1; i++){
unified_slice_segment_address[i] = unified_slice_segment_address[i - 1] + num_CTB_in_slice;
}
num_CTB_in_slice = the number of CTBs in the picture / (num_slice_minus1 + 1)
unified_slice_segment_address[0] = 0;
for( i = 1; i < num_slice_minus1 + 1; i++){
unified_slice_segment_address[i] = unified_slice_segment_address[i - 1] + num_CTB_in_slice;
}

"slice_uniform_spacing_flag"의 값이 "0"인 경우, PPS에서 unified_slice_segment_address[i]가 파싱될 수 있다. 말하자면, "slice_uniform_spacing_flag"의 값이 "0"인 경우, PPS는 unified_slice_segment_address[i]를 포함할 수 있다. i는 0 이상 n 보다 작은 정수일 수 있다. n은 슬라이스들의 개수일 수 있다.예를 들면, 현재의 픽쳐의 PPS의 "unified_slice_segment_by_gop_level_enable_flag"의 값이 "1"이면 num_slice_minus1 및 unified_slice_segment_address[i]가 재정의될 수 있다.If the value of "slice_uniform_spacing_flag" is "0", unified_slice_segment_address[i] may be parsed in PPS. That is, when the value of "slice_uniform_spacing_flag" is "0", the PPS may include unified_slice_segment_address[i]. i may be an integer greater than or equal to 0 and less than n. n may be the number of slices. For example, if the value of “unified_slice_segment_by_gop_level_enable_flag” of the PPS of the current picture is “1”, num_slice_minus1 and unified_slice_segment_address[i] may be redefined.

현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag"의 값이 "1"이고, 현재의 픽쳐의 GOP Level이 2인 경우, 현재의 픽쳐에 적용될 num_slice_minus1는 아래의 수식 9와 같이 재정의될 수 있다.When the value of “parallel_frame_by_gop_level_enable_flag” of the PPS of the current picture is “1” and the GOP Level of the current picture is 2, num_slice_minus1 to be applied to the current picture may be redefined as in Equation 9 below.

[수식 9][Equation 9]

num_slice_minus1 = (num_slice_minus1) / (num_frame_by_gop_level2_minus1 + 1)num_slice_minus1 = (num_slice_minus1) / (num_frame_by_gop_level2_minus1 + 1)

여기에서, 재정의된 num_slice_minus1는 GOP Level이 2인 현재의 픽쳐의 슬라이스의 개수에 대응할 수 있다. 예를 들면, "num_slice_minus1 + 1"의 값은 분할된 현재의 픽쳐에서 슬라이스의 개수를 나타낼 수 있다.Here, the redefined num_slice_minus1 may correspond to the number of slices of a current picture having a GOP level of 2. For example, a value of “num_slice_minus1 + 1” may indicate the number of slices in the divided current picture.

현재의 픽쳐의 PPS의 "parallel_frame_by_gop_level_enable_flag"의 값이 "1"이고, 현재의 픽쳐의 GOP Level이 3인 경우, 현재의 픽쳐에 적용될 num_parallel_slice_minus1는 아래의 수식 10과 같이 재정의될 수 있다.When the value of “parallel_frame_by_gop_level_enable_flag” of the PPS of the current picture is “1” and the GOP Level of the current picture is 3, num_parallel_slice_minus1 to be applied to the current picture may be redefined as in Equation 10 below.

[수식 10][Equation 10]

num_slice_minus1 = (num_slice_minus1) / (num_frame_by_gop_level3_minus1 + 1)num_slice_minus1 = (num_slice_minus1) / (num_frame_by_gop_level3_minus1 + 1)

여기에서, 재정의된 num_slice_minus1는 GOP Level이 3인 현재의 픽쳐의 슬라이스의 개수에 대응할 수 있다. 예를 들면, "num_slice_minus1 + 1"의 값은 분할된 현재의 픽쳐에서 슬라이스의 개수를 나타낼 수 있다.Here, the redefined num_slice_minus1 may correspond to the number of slices of a current picture having a GOP level of 3. For example, a value of “num_slice_minus1 + 1” may indicate the number of slices in the divided current picture.

전술된 수식 9 및 수식 10에 따르면, num_frame_by_gop_level2_minus1 또는 num_frame_by_gop_level3_minus1의 값이 커질수록, num_slice_minus1의 값은 작아질 수 있다. 말하자면, num_frame_by_gop_level2_minus1 또는 num_frame_by_gop_level3_minus1의 값이 커질수록 분할에 의해 생성되는 슬라이스들의 개수는 감소할 수 있다. 따라서, num_frame_by_gop_level2_minus1 및 num_frame_by_gop_level3_minus1은 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 감소 지시 정보일 수 있다. 병렬로 부호화 또는 복호화되는 동일한 GOP 레벨을 갖는 픽쳐들의 개수가 더 많아질수록, 각 픽쳐들은 더 적은 개수의 슬라이스들로 분할될 수 있다.According to Equations 9 and 10, as the value of num_frame_by_gop_level2_minus1 or num_frame_by_gop_level3_minus1 increases, the value of num_slice_minus1 may decrease. That is, as the value of num_frame_by_gop_level2_minus1 or num_frame_by_gop_level3_minus1 increases, the number of slices generated by division may decrease. Accordingly, num_frame_by_gop_level2_minus1 and num_frame_by_gop_level3_minus1 may be reduction indication information for reducing the number of slices generated by picture division. As the number of pictures having the same GOP level to be encoded or decoded in parallel increases, each picture may be divided into a smaller number of slices.

픽쳐 분할 정보는 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 감소 지시 정보를 포함할 수 있다. 또한, 감소 지시 정보는 병렬로 처리되는 부호화 또는 복호화와 관련하여 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 정도를 나타낼 수 있다. 픽쳐 분할 정보는 GOP 레벨이 n인 픽쳐에 대해 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수를 감소시키는 GOP 레벨 n 감소 지시 정보를 포함할 수 있다. n은 2 이상의 정수일 수 있다. 예를 들면, num_frame_by_gop_level2_minus1은 GOP 레벨 2 감소 지시 정보일 수 있다. num_frame_by_gop_level3_minus1은 GOP 레벨 3 감소 지시 정보일 수 있다.The picture division information may include reduction indication information for reducing the number of slices generated by picture division. In addition, the reduction indication information may indicate a degree to which the number of slices generated by picture division in relation to encoding or decoding processed in parallel is reduced. The picture division information may include GOP level n reduction indication information for reducing the number of slices generated by picture division for a picture having a GOP level of n. n may be an integer of 2 or more. For example, num_frame_by_gop_level2_minus1 may be GOP level 2 reduction indication information. num_frame_by_gop_level3_minus1 may be GOP level 3 reduction indication information.

수식 9 및 수식 10에 관련하여 전술된 것과 같이, 픽쳐 분할 정보는 GOP 레벨이 n인 픽쳐에 대한 GOP 레벨 n 감소 지시 정보를 포함할 수 있다. GOP 레벨이 0 또는 1인 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수가 w이고, GOP 레벨이 n인 픽쳐의 분할에 의해 생성되는 슬라이스들의 개수가 w/m일 때, GOP 레벨 n 감소 지시 정보는 m에 대응할 수 있다.As described above with respect to Equations 9 and 10, the picture division information may include GOP level n reduction indication information for a picture having a GOP level of n. When the number of slices generated by division of a picture having a GOP level of 0 or 1 is w, and the number of slices generated by division of a picture having a GOP level of n is w/m, the GOP level n reduction indication information is can correspond to m.

수식 9 및 수식 10의 재정의에 의해, 현재의 픽쳐의 슬라이스들의 unified_slice_segment_address들은 아래의 표 12의 코드에 의해 계산될 수 있다.By redefining Equations 9 and 10, unified_slice_segment_addresses of slices of the current picture may be calculated by the codes of Table 12 below.

new_num_CTB_in_slice = 픽쳐 내의 CTB의 개수 / (num_slice_minus1 + 1)
unified_slice_segment_address[0] = 0;
for( i = 1; i < num_slice_minus1 + 1; i++ ){
unified_slice_segment_address[i] = unified_slice_segment_address[i - 1] + num_CTB_in_slice;
}
new_num_CTB_in_slice = the number of CTBs in the picture / (num_slice_minus1 + 1)
unified_slice_segment_address[0] = 0;
for( i = 1; i < num_slice_minus1 + 1; i++ ){
unified_slice_segment_address[i] = unified_slice_segment_address[i - 1] + num_CTB_in_slice;
}

아래의 표 13은 복수의 픽쳐들에게 적용되는 픽쳐 분할 방식이 픽쳐에 따라서 변경될 때, 픽쳐 분할 정보를 시그널링하기 위한 PPS의 신택스의 일 예를 나타낸다.Table 13 below shows an example of a syntax of a PPS for signaling picture splitting information when a picture splitting method applied to a plurality of pictures is changed according to a picture.

Figure pat00010
Figure pat00010

아래의 표 14는 복수의 픽쳐들에게 적용되는 픽쳐 분할 방식이 픽쳐에 따라서 변경될 때, 픽쳐 분할 정보를 시그널링하기 위한 Slice segment header의 신택스의 일 예를 나타낸다.Table 14 below shows an example of a syntax of a slice segment header for signaling picture splitting information when a picture splitting method applied to a plurality of pictures is changed according to a picture.

Figure pat00011
Figure pat00011

아래의 표 15는 복수의 픽쳐들에게 적용되는 픽쳐 분할 방식이 픽쳐에 따라서 변경될 때, 픽쳐 분할 정보를 시그널링하기 위한 PPS의 신택스의 다른 일 예를 나타낸다.Table 15 below shows another example of syntax of a PPS for signaling picture splitting information when a picture splitting method applied to a plurality of pictures is changed according to a picture.

Figure pat00012
Figure pat00012

아래의 표 16은 복수의 픽쳐들에게 적용되는 픽쳐 분할 방식이 픽쳐에 따라서 변경될 때, 픽쳐 분할 정보를 시그널링하기 위한 Slice segment header의 신택스의 다른 일 예를 나타낸다.Table 16 below shows another example of a syntax of a slice segment header for signaling picture splitting information when a picture splitting method applied to a plurality of pictures is changed according to a picture.

Figure pat00013
Figure pat00013

전술된 실시예들에 의해 비트스트림 내에서 픽쳐 분할 정보가 부호화 장치(1300)로부터 복호화 장치(1500)로 전송될 수 있다.According to the above-described embodiments, picture division information in a bitstream may be transmitted from the encoding apparatus 1300 to the decoding apparatus 1500 .

실시예들에 따르면, 복수의 픽쳐들이 서로 상이한 방식으로 분할되는 경우에도, 픽쳐 분할 정보가 픽쳐 별로 또는 픽쳐의 분할 별로 매번 시그널링되지는 않을 수 있다.According to embodiments, even when a plurality of pictures are divided in different ways, picture division information may not be signaled for each picture or for each picture division.

실시예들에 따르면, 복수의 픽쳐들이 서로 상이한 방식으로 분할되는 경우에도 픽쳐 분할 정보가 픽쳐 별로 또는 픽쳐의 부분 별로 매번 부호화되지는 않을 수 있다. 부호화 및 시그널링이 효율적으로 이루어짐에 따라, 부호화된 비트스트림의 크기가 작아질 수 있으며, 부호화의 효율이 향상될 수 있고, 복호화 장치(1500)의 구현 복잡도가 낮아질 수 있다.According to embodiments, even when a plurality of pictures are divided in different ways, the picture division information may not be coded for each picture or for each picture part each time. As encoding and signaling are efficiently performed, the size of the encoded bitstream may be reduced, encoding efficiency may be improved, and implementation complexity of the decoding apparatus 1500 may be reduced.

도 17은 일 실시예에 따른 부호화 장치 및/또는 복호화 장치를 구현하는 전자 장치의 구조도이다.17 is a structural diagram of an electronic device implementing an encoding apparatus and/or a decoding apparatus according to an embodiment.

일 실시예에 따르면, 부호화 장치(1300)의 제어부(1310), 부호화부(1320) 및 통신부(1330)의 적어도 일부는 프로그램 모듈들일 수 있으며, 외부의 장치 또는 시스템과 통신할 수 있다. 프로그램 모듈들은 운영 체제, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 부호화 장치(1300)에 포함될 수 있다.According to an embodiment, at least some of the control unit 1310 , the encoder 1320 , and the communication unit 1330 of the encoding apparatus 1300 may be program modules, and may communicate with an external device or system. The program modules may be included in the encoding apparatus 1300 in the form of an operating system, an application program module, and other program modules.

또한, 일 실시예에 따르면, 복호화 장치(1500)의 제어부(1510), 복호화부(1520) 및 통신부(1530)의 적어도 일부는 프로그램 모듈들일 수 있으며, 외부의 장치 또는 시스템과 통신할 수 있다. 프로그램 모듈들은 운영 체제, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 복호화 장치(1500)에 포함될 수 있다.Also, according to an embodiment, at least some of the control unit 1510 , the decryption unit 1520 , and the communication unit 1530 of the decryption apparatus 1500 may be program modules, and may communicate with an external device or system. The program modules may be included in the decryption apparatus 1500 in the form of an operating system, an application program module, and other program modules.

프로그램 모듈들은 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 부호화 장치(1300)와 통신 가능한 원격 기억 장치 또는 복호화 장치(1500)와 통신 가능한 원격 기억 장치 에 저장될 수도 있다.Program modules may be physically stored on various known storage devices. Also, at least some of these program modules may be stored in a remote storage device capable of communicating with the encoding device 1300 or a remote storage device capable of communicating with the decoding device 1500 .

프로그램 모듈들은 일 실시예에 따른 기능 또는 동작을 수행하거나, 일 실시예에 따른 추상 데이터 유형을 구현하는 루틴(routine), 서브루틴(subroutine), 프로그램, 오브젝트(object), 컴포넌트(component) 및 데이터 구조(data structure) 등을 포괄할 수 있지만, 이에 제한되지는 않는다.Program modules include routines, subroutines, programs, objects, components, and data that perform functions or operations according to an embodiment or implement abstract data types according to an embodiment. It may include, but is not limited to, a data structure and the like.

프로그램 모듈들은 부호화 장치(1300)의 적어도 하나의 프로세서(processor) 또는 복호화 장치(1500)의 적어도 하나의 프로세서에 의해 수행되는 명령어(instruction) 또는 코드(code)로 구성될 수 있다.The program modules may include instructions or codes executed by at least one processor of the encoding apparatus 1300 or at least one processor of the decoding apparatus 1500 .

부호화 장치(1300) 및/또는 복호화 장치(1500)는 도 17에서 도시된 전자 장치(1700)로서 구현될 수 있다. 전자 장치(1700)는 부호화 장치(1300) 및/또는 복호화 장치(1500)로서 동작하는 범용의 컴퓨터 시스템일 수 있다.The encoding apparatus 1300 and/or the decoding apparatus 1500 may be implemented as the electronic apparatus 1700 illustrated in FIG. 17 . The electronic device 1700 may be a general-purpose computer system operating as the encoding device 1300 and/or the decoding device 1500 .

도 17에서 도시된 바와 같이, 전자 장치(1700)는 버스(1790)를 통하여 서로 통신하는 적어도 하나의 프로세서(1710), 메모리(1730), 사용자 인터페이스(User Interface; UI) 입력 디바이스(1750), UI 출력 디바이스(1760) 및 저장소(1740)를 포함할 수 있다. 또한, 전자 장치(1700)는 네트워크(1799)에 연결되는 통신부(1720)를 더 포함할 수 있다. 프로세서(1710)는 중앙 처리 장치(Central Processing Unit; CPU), 메모리(1730) 또는 저장소(1740)에 저장된 프로세싱(processing) 명령어(instruction)들을 실행하는 반도체 장치일 수 있다. 메모리(1730) 및 저장소(1740)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들면, 메모리는 롬(ROM)(1731) 및 램(RAM)(1732) 중 적어도 하나를 포함할 수 있다.As shown in FIG. 17 , the electronic device 1700 includes at least one processor 1710 , a memory 1730 , a user interface (UI) input device 1750 that communicate with each other through a bus 1790 , It may include a UI output device 1760 and storage 1740 . Also, the electronic device 1700 may further include a communication unit 1720 connected to the network 1799 . The processor 1710 may be a semiconductor device that executes processing instructions stored in a central processing unit (CPU), the memory 1730 , or the storage 1740 . Memory 1730 and storage 1740 may be various types of volatile or non-volatile storage media. For example, the memory may include at least one of a ROM 1731 and a RAM 1732 .

부호화 장치(1300) 및/또는 복호화 장치(1500)는 컴퓨터에 의해 독출(read)될 수 있는 기록 매체를 포함하는 컴퓨터 시스템에서 구현될 수 있다.The encoding apparatus 1300 and/or the decoding apparatus 1500 may be implemented in a computer system including a recording medium that can be read by a computer.

기록 매체는 전자 장치(1700)가 부호화 장치(1300) 및/또는 복호화 장치(1500)로서 동작하기 위해 요구되는 적어도 하나의 모듈을 저장할 수 있다. 메모리(1730)는 적어도 하나의 모듈을 저장할 수 있고, 적어도 하나의 프로세서(1710)에 의하여 실행되도록 구성될 수 있다.The recording medium may store at least one module required for the electronic device 1700 to operate as the encoding apparatus 1300 and/or the decoding apparatus 1500 . The memory 1730 may store at least one module and may be configured to be executed by at least one processor 1710 .

부호화 장치(1300) 및/또는 복호화 장치(1500)의 데이터 또는 정보의 통신과 관련된 기능은 통신부(1720)를 통해 수행될 수 있다. 예를 들면, 부호화 징치(1300)의 제어부(1310) 및 부호화부(1320)는 프로세서(1710)에 대응할 수 있고, 통신부(1330)는 통신부(1720)에 대응할 수 있다. 예를 들면, 복호화 징치(1500)의 제어부(1510) 및 복호화부(1520)는 프로세서(1710)에 대응할 수 있고, 통신부(1530)는 통신부(1720)에 대응할 수 있다.A function related to communication of data or information of the encoding apparatus 1300 and/or the decoding apparatus 1500 may be performed through the communication unit 1720 . For example, the control unit 1310 and the encoder 1320 of the encoding unit 1300 may correspond to the processor 1710 , and the communication unit 1330 may correspond to the communication unit 1720 . For example, the control unit 1510 and the decryption unit 1520 of the decryption unit 1500 may correspond to the processor 1710 , and the communication unit 1530 may correspond to the communication unit 1720 .

상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiments, the methods are described on the basis of a flowchart as a series of steps or units, but the present invention is not limited to the order of steps, and some steps may occur in a different order or at the same time as other steps as described above. can In addition, those of ordinary skill in the art will recognize that the steps shown in the flowchart are not exclusive, other steps may be included, or that one or more steps in the flowchart may be deleted without affecting the scope of the present invention. you will understand

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto--tical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. tical media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations can be devised from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described below but also all modifications equivalently or equivalently to the claims described below belong to the scope of the spirit of the present invention. will do it

Claims (20)

픽쳐 분할 정보를 획득하는 단계; 및
상기 픽쳐 분할 정보에 기반하여 상기 복수의 픽쳐들에 대한 분할을 수행하는 단계
를 포함하고,
상기 복수의 픽쳐들은 복수의 분할 방법들을 사용하여 각각 분할되고,
상기 복수의 픽쳐들의 각 픽쳐는 상기 복수의 분할 방법들의 하나를 사용하여 분할되고,
상기 복수의 분할 방법들의 각 분할 방법은 픽쳐를 하나 이상의 부분들로 분할하고,
상기 하나 이상의 부분들의 각 부분은 하나 이상의 타일들을 갖는, 복호화 방법.
obtaining picture division information; and
performing division on the plurality of pictures based on the picture division information
including,
Each of the plurality of pictures is divided using a plurality of division methods,
Each picture of the plurality of pictures is partitioned using one of the plurality of partitioning methods,
Each division method of the plurality of division methods divides a picture into one or more parts,
and each part of the one or more parts has one or more tiles.
제1항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들에 대한 파라미터 세트에 포함되는, 복호화 방법.
The method of claim 1,
The picture division information is included in a parameter set for the plurality of pictures.
제1항에 있어서,
상기 픽쳐 분할 정보는 비트스트림을 통해 한 번 전송되고, 상기 복수의 픽쳐들에 대하여 한 번 복호화되는, 복호화 방법.
The method of claim 1,
The picture division information is transmitted once through a bitstream and decoded once for the plurality of pictures.
제1항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들의 개수 및 모양을 결정하는, 복호화 방법.
The method of claim 1,
The picture division information determines the number and shape of the plurality of pictures.
제1항에 있어서,
상기 복수의 픽쳐들은 서로 다른 식별자들을 각각 갖는, 복호화 방법.
The method of claim 1,
The plurality of pictures each have different identifiers.
제1항에 있어서,
상기 복수의 픽쳐들의 픽쳐 파라미터 세트들은 서로 다른, 복호화 방법.
According to claim 1,
The picture parameter sets of the plurality of pictures are different from each other.
제1항에 있어서,
상기 하나 이상의 부분들로의 분할이 수행되는지 여부를 나타내는 정보가 사용되는, 복호화 방법.
The method of claim 1,
and information indicating whether the division into the one or more parts is performed is used.
복수의 픽쳐들에 적용되는 분할 방식을 가리키는 픽쳐 분할 정보를 생성하는 단계; 및
상기 픽쳐 분할 정보를 포함하는 비트스트림을 생성하는 단계
를 포함하고,
상기 복수의 픽쳐들은 복수의 분할 방법들을 사용하여 각각 분할되고,
상기 복수의 픽쳐들의 각 픽쳐는 상기 복수의 분할 방법들의 하나를 사용하여 분할되고,
상기 복수의 분할 방법들의 각 분할 방법은 픽쳐를 하나 이상의 부분들로 분할하고,
상기 하나 이상의 부분들의 각 부분은 하나 이상의 타일들을 포함하는, 부호화 방법.
generating picture division information indicating a division method applied to a plurality of pictures; and
generating a bitstream including the picture division information
including,
Each of the plurality of pictures is divided using a plurality of division methods,
Each picture of the plurality of pictures is partitioned using one of the plurality of partitioning methods,
Each division method of the plurality of division methods divides a picture into one or more parts,
and each part of the one or more parts comprises one or more tiles.
제8항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들에 대한 파라미터 세트에 포함되는, 부호화 방법.
9. The method of claim 8,
The picture division information is included in a parameter set for the plurality of pictures.
제8항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들에 대하여 비트스트림 내에 한 번 부호화되는, 부호화 방법.
9. The method of claim 8,
The picture division information is encoded once in a bitstream with respect to the plurality of pictures.
제8항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들의 개수 및 모양을 결정하는, 부호화 방법.
9. The method of claim 8,
The picture division information determines the number and shape of the plurality of pictures.
제8항에 있어서,
상기 복수의 픽쳐들은 서로 다른 식별자들을 각각 갖는, 부호화 방법.
9. The method of claim 8,
The plurality of pictures each have different identifiers.
제8항에 있어서,
상기 복수의 픽쳐들의 픽쳐 파라미터 세트들은 서로 다른, 부호화 방법.
9. The method of claim 8,
and picture parameter sets of the plurality of pictures are different from each other.
제8항에 있어서,
상기 하나 이상의 부분들로의 분할이 수행되는지 여부를 나타내는 정보가 생성되는, 부호화 방법.
9. The method of claim 8,
and information indicating whether division into the one or more parts is performed is generated.
제8항에 기재된 부호화 방법에 의하여 생성된 상기 비트스트림을 기록하는 기록 매체.A recording medium for recording the bitstream generated by the encoding method according to claim 8. 비트스트림을 저장하는 컴퓨터 판독 가능한 기록 매체에 있어서,
상기 비트스트림은,
픽쳐 분할 정보
를 포함하고,
상기 픽쳐 분할 정보에 기반하여 복수의 픽쳐들이 분할되고,
상기 복수의 픽처들은 복수의 분할 방법들을 사용하여 각각 분할되고,
상기 복수의 픽쳐들의 각 픽쳐는 상기 복수의 분할 방법들의 하나를 사용하여 분할되고,
상기 복수의 분할 방법들의 각 분할 방법은 픽쳐를 하나 이상의 부분들로 분할하고,
상기 하나 이상의 부분들의 각 부분은 하나 이상의 타일들을 포함하는, 컴퓨터 판독 가능한 기록 매체.
A computer-readable recording medium for storing a bitstream, comprising:
The bitstream is
Picture division information
including,
A plurality of pictures are divided based on the picture division information,
Each of the plurality of pictures is divided using a plurality of division methods,
Each picture of the plurality of pictures is partitioned using one of the plurality of partitioning methods,
Each division method of the plurality of division methods divides a picture into one or more parts,
wherein each portion of the one or more portions comprises one or more tiles.
제16항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들에 대한 파라미터 세트에 포함되는, 컴퓨터 판독 가능한 기록 매체.
17. The method of claim 16,
The picture division information is included in a parameter set for the plurality of pictures.
제16항에 있어서,
상기 픽쳐 분할 정보는 상기 비트스트림을 통해 한 번 전송되고, 상기 복수의 픽쳐들에 대하여 한 번 복호화되는, 컴퓨터 판독 가능한 기록 매체.
17. The method of claim 16,
The picture division information is transmitted once through the bitstream and decoded once for the plurality of pictures.
제16항에 있어서,
상기 픽쳐 분할 정보는 상기 복수의 픽쳐들의 개수 및 모양을 결정하는, 컴퓨터 판독 가능한 기록 매체.
17. The method of claim 16,
The picture division information determines the number and shape of the plurality of pictures.
제16항에 있어서,
상기 복수의 픽쳐들의 픽쳐 파라미터 세트들은 서로 다른, 컴퓨터 판독 가능한 기록 매체.
17. The method of claim 16,
The picture parameter sets of the plurality of pictures are different from each other.
KR1020220056855A 2016-03-30 2022-05-09 Method and apparatus for encoding and decoding video using picture partition information KR20220065740A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160038461 2016-03-30
KR20160038461 2016-03-30
KR1020170040439A KR102397474B1 (en) 2016-03-30 2017-03-30 Method and apparatus for encoding and decoding video using picture partition information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170040439A Division KR102397474B1 (en) 2016-03-30 2017-03-30 Method and apparatus for encoding and decoding video using picture partition information

Publications (1)

Publication Number Publication Date
KR20220065740A true KR20220065740A (en) 2022-05-20

Family

ID=59966209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220056855A KR20220065740A (en) 2016-03-30 2022-05-09 Method and apparatus for encoding and decoding video using picture partition information

Country Status (2)

Country Link
KR (1) KR20220065740A (en)
WO (1) WO2017171438A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021010005A (en) * 2019-02-26 2021-09-21 Apple Inc Image signal encoding/decoding method and device for same.
EP4346215A3 (en) * 2019-10-09 2024-04-24 Apple Inc. Video signal encoding/decoding method and device therefor
KR20210061944A (en) * 2019-11-20 2021-05-28 주식회사 엑스리스 Method for encoding/decoidng video signal and apparatus therefor
WO2021125752A1 (en) * 2019-12-17 2021-06-24 주식회사 엑스리스 Image signal encoding/decoding method and device therefor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
CN104365100A (en) * 2012-04-15 2015-02-18 三星电子株式会社 Video encoding method and device and video decoding method and device for parallel processing
WO2014003676A1 (en) * 2012-06-29 2014-01-03 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and methods thereof for video processing
CN108769698B (en) * 2012-09-26 2021-07-02 威勒斯媒体国际有限公司 Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
CN104737540B (en) * 2012-11-13 2018-05-22 英特尔公司 For the Video Codec framework of next-generation video

Also Published As

Publication number Publication date
WO2017171438A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
KR102397474B1 (en) Method and apparatus for encoding and decoding video using picture partition information
KR102591695B1 (en) A method for encoding/decoding a video and a readable medium therefor
KR102668840B1 (en) Method and apparatus for using inter prediction information
KR20240027646A (en) Method and apparatus for derivation of motion prediction information
KR20240037910A (en) Method for encoding/decoding video and apparatus thereof
KR20210145111A (en) Method and apparatus for intra prediction
KR20240066144A (en) Method and apparatus for encoding and decoding using selective information sharing over channels
KR20220082791A (en) Method and apparatus for derivation of motion prediction information
KR20220065740A (en) Method and apparatus for encoding and decoding video using picture partition information
KR20220136316A (en) Method and apparatus for prediction using reference block
KR102549488B1 (en) Method and apparatus for using inter prediction information
KR102448084B1 (en) Method and apparatus for prediction of residual signal
KR20240040694A (en) Method, apparatus and recording medium for encoding/decoding image using subpicture
KR20170120418A (en) Apparatus and method for fast motion estimation encoding/decoding of enhancement later
KR20210125920A (en) Method, apparatus and recording medium for encoding/decoding image using geometrical partitioning
KR102627232B1 (en) Method, apparatus and recording medium for encoding/decoding image using reference picture
KR102650429B1 (en) Method, apparatus and recording medium for encoding/decoding image using subpicture
KR102634795B1 (en) Method for encoding/decoding video and apparatus thereof
KR102472462B1 (en) Method and apparatus for adaptive encoding and decoding based on image complexity
KR20230146472A (en) Method and apparatus for video encoding/decoding using intra block copy
KR20200145753A (en) Method, apparatus and recording medium for encoding/decoding image using reference picture
KR20170089778A (en) Method and apparatus for encoding and decoding video using prediction

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment