KR101984181B1 - Image decoding method and apparatus using same - Google Patents
Image decoding method and apparatus using same Download PDFInfo
- Publication number
- KR101984181B1 KR101984181B1 KR1020157005836A KR20157005836A KR101984181B1 KR 101984181 B1 KR101984181 B1 KR 101984181B1 KR 1020157005836 A KR1020157005836 A KR 1020157005836A KR 20157005836 A KR20157005836 A KR 20157005836A KR 101984181 B1 KR101984181 B1 KR 101984181B1
- Authority
- KR
- South Korea
- Prior art keywords
- picture
- nal unit
- information
- unit
- nal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/188—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 인코딩된 영상에 관련된 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 포함하는 비트스트림을 수신하는 단계와, 상기 NAL 유닛의 NAL 유닛 헤더를 파싱하는 단계를 포함하고, 상기 NAL 유닛 헤더는 확장된 비트스트림에서 확장된 레이어를 식별하는reserved_one_5bits와 비트스트림의 시간적 레이어(temporal layer)를 식별하는 temporal_id 를 포함하는 레이어 정보를 포함하고, 상기 레이어 정보는 reserved_one_5bits는 temporal_id 보다 먼저 수신되는 것을 특징으로 하는 영상 정보 디코딩 방법을 포함할 수 있다. 이로 인하여, 계층적 비트스트림 내 스케일러빌리티 정보를 기술하는 방법이 제공된다.The method includes receiving a bitstream including a Network Abstraction Layer (NAL) unit including information related to an encoded image, parsing a NAL unit header of the NAL unit, Wherein the layer information includes reserved_one_5 bits identifying an extended layer in the extended bit stream and temporal_id identifying a temporal layer of the bit stream, and the reserved_one_5 bits are received prior to the temporal_id And a video information decoding method. Thereby, a method of describing scalability information in a hierarchical bitstream is provided.
Description
본 발명은 비디오 압축 기술에 관한 것으로서 더 구체적으로는 비트스트림 내 영상 정보를 디코딩하는 방법 및 장치에 관한 것이다.The present invention relates to video compression techniques, and more particularly, to a method and apparatus for decoding video information in a bitstream.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가하고 있다.Recently, a demand for high resolution and high quality image has been increasing in various application fields. As the image has high resolution and high quality, the amount of information about the image also increases.
정보량의 증가로 인해 다양한 성능의 장치와 다양한 환경의 네트워크가 등장하고 있다. 다양한 성능의 장치와 다양한 환경의 네트워크가 등장함에 따라서, 동일한 콘텐츠를 다양한 품질로 이용할 수 있게 되었다.Due to the increase in the amount of information, various performance devices and networks of various environments are emerging. With the introduction of various performance devices and networks of various environments, the same contents can be used with various qualities.
구체적으로, 단말 장치가 지원할 수 있는 품질의 영상이 다양해지고, 구축된 네트워크 환경이 다양해짐으로써, 어떤 환경에서는 일반적인 품질의 영상을 이용하지만, 또 다른 환경에서는 더 높은 품질의 영상을 이용할 수 있게 된다.More specifically, video images of a quality that can be supported by the terminal device are diversified, and the network environment is diversified, so that images of general quality are used in some environments but images of higher quality are available in another environment .
예를 들어, 휴대 단말에서 비디오 콘텐츠를 구매한 소비자가 가정 내 대화면의 디스플레이를 통해 동일한 비디오 콘텐츠를 더 큰 화면과 더 높은 해상도로 감상할 수 있게 되는 것이다.For example, a consumer who purchases video content from a mobile terminal can view the same video content on a larger screen and a higher resolution through the display of a large screen in the home.
최근에는 HD(High Definition) 해상도를 가지는 방송이 서비스되면서 많은 사용자들은 이미 고해상도, 고화질의 영상에 익숙해지고 있고, 서비스 제공자와 사용자들은 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)의 서비스에도 관심을 기울이고 있다.In recent years, with the service of high definition (HD) broadcast service, many users are already accustomed to high definition and high definition video, and service providers and users can use UHD (Ultra High Definition) And is also paying attention to its services.
따라서, 다양한 환경에서 사용자가 요구하는 영상 서비스를 품질에 따라서 다양하게 제공하기 위해 고용량 비디오에 대한 고효율의 인코딩/디코딩 방법을 기반으로 영상의 품질, 예컨대 영상의 화질, 영상의 해상도, 영상의 크기, 비디오의 프레임 레이트 등에 스케일러빌러티를 제공하는 것이 필요하다. 또한, 이러한 스케일러빌러티에 수반되는 다양한 영상 처리 방법이 논의되어야 한다.Therefore, in order to provide a variety of video services required by users in various environments, a high-efficiency encoding / decoding method for high-capacity video is used to improve image quality such as image quality, image resolution, It is necessary to provide the scalability to the frame rate of the video. In addition, various image processing methods accompanying such scalabililty should be discussed.
본 발명은 계층적 비트스트림 내 스케일러빌리티 정보를 기술하는 방법 및 장치를 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a method and apparatus for describing scalability information in a hierarchical bitstream.
본 발명은 유연한 방식으로 비트스트림의 스케일러빌리티 정보를 표현하는 방법 및 장치를 제공함에 있다.The present invention provides a method and apparatus for representing scalability information of a bitstream in a flexible manner.
또한, 본 발명은 비트스트림 내 비디오 코딩 레이어 타입을 단순화 하는 방법 및 장치를 제공하는 것을 목적으로 한다.It is another object of the present invention to provide a method and apparatus for simplifying a video coding layer type in a bitstream.
본 발명의 일 실시형태는 인코딩된 영상에 관련된 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 포함하는 비트스트림을 수신하는 단계와, 상기 NAL 유닛의 NAL 유닛 헤더를 파싱하는 단계를 포함하고, 상기 NAL 유닛 헤더는 확장된 비트스트림에서 확장된 레이어를 식별하는reserved_one_5bits와 비트스트림의 시간적 레이어(temporal layer)를 식별하는 temporal_id 를 포함하는 레이어 정보를 포함하고, 상기 레이어 정보는 reserved_one_5bits는 temporal_id 보다 먼저 수신될 수 있다.An embodiment of the present invention includes receiving a bitstream including a Network Abstraction Layer (NAL) unit including information related to an encoded image, and parsing a NAL unit header of the NAL unit, The NAL unit header includes the reserved_one_5 bits identifying the extended layer in the extended bitstream and the layer information including the temporal_id identifying the temporal layer of the bitstream, and the reserved_one_5 bits are received prior to the temporal_id .
reserved_one_5bits과 temporal_id는 동시에 파싱될 수 있다.reserved_one_5bits and temporal_id can be parsed at the same time.
본 발명의 다른 실시예는 인코딩된 영상에 관련된 정보를 포함하는 NAL(Network Abstraction Layer) 유닛을 포함하는 비트스트림을 수신하는 단계와, 상기 NAL 유닛의 NAL 유닛 헤더를 파싱하는 단계를 포함하고, 상기 NAL 유닛 헤더는 NAL 유닛 타입에 대응하는 NAL 유닛 타입 정보를 포함하고, 상기 NAL 유닛 타입은 픽처의 그룹(Group of Picture)이 열린(open) 구조를 가질 때 랜덤 억세스 포인트가 되는 픽처인 CRA(clean random access) 픽처 타입 및 코딩된 픽처가 스플라이싱(splicing)되거나 비트스트림이 중간에 끊어지면 랜덤 억세스 포인트로서 비트스트림 중간에 존재하는 BLA(Broken link access)픽처 타입을 포함할 수 있다.Another embodiment of the present invention includes a method comprising: receiving a bitstream including a Network Abstraction Layer (NAL) unit including information related to an encoded image; parsing a NAL unit header of the NAL unit; The NAL unit header includes NAL unit type information corresponding to the NAL unit type, and the NAL unit type includes a CRA (clean) which is a random access point when the group of pictures has an open structure random access) picture type and a BLA (Broken link access) picture type existing in the bitstream as a random access point if the coded picture is spliced or interrupted in the middle of the bitstream.
이 때, 상기 CAR 픽처는 랜덤 억세스 포인트가 되는 픽처보다 선행하여 출력되고, 후행하여 디코딩되는 리딩 픽처(leading picture)와 무관하게 하나의 NAL 유닛 타입을 가질 수 있다.At this time, the CAR picture may be output prior to a picture to be a random access point, and may have one NAL unit type regardless of a leading picture that is decoded later.
또한, 상기 BLA 픽처의 뒤에는 랜덤 억세스 포인트가 되는 픽처보다 선행하여 출력되고, 후행하여 디코딩되는 리딩 픽처(leading picture)가 존재하지 않을 수 있다.In addition, after the BLA picture, there may not be a leading picture that is outputted before a picture to be a random access point and is decoded later.
상기 BLA 픽처의 뒤에는 랜덤 억세스 포인트가 되는 픽처보다 선행하여 출력되고, 후행하여 디코딩되는 것는 리딩 픽처(leading picture) 중 디코딩되지 않고 제거되는 리딩 픽처가 존재하지 않을 수 있다.After the BLA picture, a preceding picture is outputted before a picture to be a random access point, and a picture to be decoded later is not a leading picture to be decoded and removed from a leading picture.
본 발명의 일 실시예에 따르면, 계층적 비트스트림 내 스케일러빌리티 정보를 기술하는 방법 및 장치가 제공된다.According to an embodiment of the present invention, a method and apparatus are described for describing scalability information in a hierarchical bitstream.
또한, 본 발명의 일 실시예에 따르면 유연한 방식으로 비트스트림의 스케일러빌리티 정보를 표현하는 방법 및 장치가 제공된다.Also, according to an embodiment of the present invention, a method and apparatus for expressing scalability information of a bitstream in a flexible manner are provided.
또한, 본 발명의 일 실시예에 따르면 비트스트림 내 비디오 코딩 레이어 타입을 단순화 하는 방법 및 장치가 제공된다.According to an embodiment of the present invention, a method and apparatus for simplifying a video coding layer type in a bitstream are provided.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 도시한 블록도이다.
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명의 디코딩 장치에서 처리되는 코딩된 영상에 대한 계층 구조를 도시한 도면이다.
도 5는 랜덤 억세스가 가능한 픽처를 설명하기 위한 도면이다.
도 6은 IDR 픽처를 설명하기 위한 도면이다.
도 7은 CRA 픽처를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라 CRA 픽처가 BLA 픽처로 변경되는 것을 설명하기 위한 도면이다.
도 9는 본 발명에 따른 영상 정보의 인코딩 방법을 설명하기 위한 제어 흐름도이다.
도 10은 본 발명에 따른 영상 정보의 디코딩 방법을 설명하기 위한 제어 흐름도이다.1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
2 is a block diagram schematically illustrating a video decoding apparatus according to an embodiment of the present invention.
3 is a conceptual diagram schematically showing an embodiment of a scalable video coding structure using a plurality of layers to which the present invention can be applied.
4 is a diagram showing a hierarchical structure of a coded image processed in the decoding apparatus of the present invention.
5 is a diagram for explaining a picture capable of random access.
6 is a diagram for explaining an IDR picture.
7 is a diagram for explaining a CRA picture.
8 is a diagram for explaining that a CRA picture is changed to a BLA picture according to an embodiment of the present invention.
9 is a control flowchart for explaining a method of encoding image information according to the present invention.
10 is a control flowchart for explaining a method of decoding image information according to the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. However, it is not intended to limit the invention to the specific embodiments. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of the present invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.In the meantime, each configuration on the drawings described in the present invention is shown independently for convenience of explanation of different characteristic functions in the video encoding / decoding device. It does not mean that it is implemented. For example, two or more of the configurations may combine to form one configuration, or one configuration may be divided into a plurality of configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention unless they depart from the essence of the present invention.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same reference numerals will be used for the same constituent elements in the drawings, and redundant explanations for the same constituent elements will be omitted.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다. 비디오 인코딩/ 디코딩 방법 또는 장치는 스케일러빌리티(scalability)를 제공하지 않는 일반적인 비디오 인코딩/ 디코딩 방법 또는 장치의 확장(extension)에 의해 구현될 수 있으며, 도 1의 블록도는 스케일러블 비디오 인코딩 장치의 기초가 될 수 있는 비디오 인코딩 장치의 일 실시예를 나타낸다.1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention. The video encoding / decoding method or apparatus may be implemented by a general video encoding / decoding method or apparatus extension that does not provide scalability, and the block diagram of FIG. 1 illustrates a scalable video encoding apparatus, Lt; RTI ID = 0.0 > a < / RTI > video encoding device.
도 1을 참조하면, 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 인코딩부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.1, the
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위로서의 블록은 예측 유닛(Prediction Unit, 이하 'PU'라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 'TU'라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 'CU'라 함)일 수도 있다.The picture dividing unit 105 can divide the input picture into at least one processing unit block. At this time, the block as a processing unit may be a prediction unit (PU), a transform unit (TU), a coding unit (CU) Quot;). ≪ / RTI >
픽처 분할부(105)에서 분할되는 처리 단위 블록들은 쿼드 트리(quad-tree) 구조를 가질 수 있다.The processing unit blocks divided by the picture dividing unit 105 may have a quad-tree structure.
예측부(110)는 후술하는 바와 같이, 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함한다. 예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 예측부(110)는 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)을 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 예측 방법의 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.The
인터 예측을 통해서는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽처 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.Through the inter prediction, prediction can be performed by performing prediction based on information of at least one of a previous picture and a following picture of the current picture. In addition, through intra prediction, a prediction block can be generated by performing prediction based on pixel information in the current picture.
인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Predtiction) 등을 이용할 수 있다. 인터 예측에서는 PU에 대하여, 참조 픽처를 선택하고 PU에 대응하는 참조 블록을 선택할 수 있다. 참조 블록은 정수 픽셀 단위로 선택될 수 있다. 이어서, 현재 PU와의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되는 예측 블록이 생성된다.As a method of inter prediction, a skip mode, a merge mode, MVP (Motion Vector Prediction), or the like can be used. In the inter prediction, the reference picture can be selected for the PU and the reference block corresponding to the PU can be selected. The reference block may be selected in integer pixel units. Then, a prediction block in which a residual signal with respect to the current PU is minimized and a motion vector size is also minimized is generated.
예측 블록은 정수 샘플 단위로 생성될 수도 있고, 1/2 픽셀 단위 또는 1/4 픽셀 단위와 같이 정수 이하 픽셀 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다.The prediction block may be generated in units of integer samples or in units of pixels or less, such as a half-pixel unit or a quarter-pixel unit. At this time, the motion vector can also be expressed in units of integer pixels or less.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터(ex. Motion Vector Predictor), 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다. 스킵 모드가 적용되는 경우에는 레지듀얼을 예측 블록을 복원 블록으로 할 수 있으므로, 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.Information such as an index of a reference picture selected through inter prediction, a motion vector (Predictor), a residual signal, and the like is entropy-encoded and transmitted to the decoding apparatus. In the case where the skip mode is applied, the residual can be used as a reconstruction block so that residuals can be generated, transformed, quantized, and not transmitted.
인트라 예측을 수행하는 경우에는, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 인트라 예측이 수행될 수도 있다.When intra prediction is performed, the prediction mode is determined in units of PU, and prediction can be performed in units of PU. In addition, the prediction mode may be determined in units of PU, and intra prediction may be performed in units of TU.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래이너 모드(Planar 모드)을 포함할 수 있다.In the intra prediction, the prediction mode may have 33 directional prediction modes and at least two non-directional modes. The non-directional mode may include a DC prediction mode and a planer mode (Planar mode).
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수 있다.In intra prediction, a prediction block can be generated after applying a filter to a reference sample. At this time, whether to apply the filter to the reference sample can be determined according to the intra prediction mode and / or the size of the current block.
PU는 다양한 사이즈/형태의 블록일 수 있으며, 예컨대 인터 예측의 경우에 PU는 2N×2N 블록, 2N×N 블록, N×2N 블록, 또는 N×N 블록 (N은 정수) 등일 수 있다. 인트라 예측의 경우에 PU는 2N×2N 블록 또는 N×N 블록 (N은 정수) 등일 수 있다. 이때, N×N 블록 크기의 PU는 특정한 경우에만 적용하도록 설정할 수 있다. 예컨대 최소 크기 CU에 대해서만 NxN 블록 크기의 PU를 이용하도록 정하거나 인트라 예측에 대해서만 이용하도록 정할 수도 있다. 또한, 상술한 크기의 PU 외에, N×mN 블록, mN×N 블록, 2N×mN 블록 또는 mN×2N 블록 (m<1) 등의 PU를 더 정의하여 사용할 수도 있다.The PU may be a block of various sizes / types. For example, in the case of inter prediction, a PU may be a 2N × 2N block, a 2N × N block, an N × 2N block, or an N × N block (N is an integer). In the case of intra prediction, the PU may be 2N x 2N block or N x N block (N is an integer) or the like. At this time, the NU block size PU can be set to be applied only in a specific case. For example, it may be decided to use PU of NxN block size only for the minimum size CU, or to use only for intra prediction. Further, in addition to the PU of the above-mentioned size, a PU such as an N × mN block, an mN × N block, a 2N × mN block, or an mN × 2N block (m <1) may be further defined.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 인코딩부(130)에서 인코딩되어 디코딩 장치에 전달된다.The residual value (residual block or residual signal) between the generated prediction block and the original block is input to the
변환부(115)는 변환 블록 단위로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다.The
변환 블록은 샘플들의 직사각형 블록으로서 동일한 변환이 적용되는 블록이다. 변환 블록은 변환 유닛(TU)일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다.The transform block is a block to which the same transformation is applied as a rectangular block of samples. The transform block may be a transform unit (TU) and may have a quad tree structure.
변환부(115)는 레지듀얼 블록에 적용된 예측 모드와 블록의 크기에 따라서 변환을 수행할 수 있다.The
예컨대, 레지듀얼 블록에 인트라 예측이 적용되었고 블록이 4x4의 레지듀얼 배열이라면, 레지듀얼 블록을 DST(Discrete Sine Transform)를 이용하여 변환하고, 그 외의 경우라면 레지듀얼 블록을 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.For example, if intraprediction is applied to a residual block and the block is a 4x4 residual array, the residual block is transformed using DST (Discrete Sine Transform). Otherwise, the residual block is subjected to DCT (Discrete Cosine Transform) Can be used.
변환부(115)는 변환에 의해 변환 계수들의 변환 블록을 생성할 수 있다.The
양자화부(120)는 변환부(115)에서 변환된 레지듀얼 값들, 즉 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.The
재정렬부(125)는 양자화부(120)로부터 제공된 양자화된 변환 계수를 재정렬한다. 양자화된 변환 계수를 재정렬함으로써 엔트로피 인코딩부(130)에서의 인코딩 효율을 높일 수 있다.The
재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화된 변환 계수들을 1차원의 벡터 형태로 재정렬할 수 있다.The
엔트로피 인코딩부(130)는 재정렬부(125)에 의해 재정렬된 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 인코딩 방법을 사용할 수 있다. 엔트로피 인코딩부(130)는 재정렬부(125) 및 예측부(110)로부터 전달받은 CU의 양자화된 변환 계수 정보 및 블록 타입 정보, 예측 모드 정보, 분할 단위 정보, PU 정보 및 전송 단위 정보, 움직임 벡터 정보, 참조 픽처 정보, 블록의 보간 정보, 필터링 정보 등 다양한 정보를 인코딩할 수 있다.The
또한, 엔트로피 인코딩부(130)는 필요한 경우에, 전송하는 파라미터 셋(parameter set) 또는 신택스에 일정한 변경을 가할 수도 있다.In addition, the
역양자화부(135)는 양자화부(120)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다.The
역양자화부(135) 및 역변환부(140)에서 생성된 레지듀얼 값과 예측부(110)에서 예측된 예측 블록이 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.A residual value generated by the
도 1에서는 가산기를 통해서, 레지듀얼 블록과 예측 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수도 있다.In FIG. 1, it is explained that a residual block and a prediction block are combined through an adder to generate a restored block. At this time, the adder may be regarded as a separate unit (reconstruction block generation unit) for generating a reconstruction block.
필터부(145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽처에 적용할 수 있다.The
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.The deblocking filter can remove the distortion caused in the boundary between the blocks in the reconstructed picture. The ALF (Adaptive Loop Filter) can perform filtering based on the comparison between the reconstructed image and the original image after the block is filtered through the deblocking filter. ALF may be performed only when high efficiency is applied. SAO restores the offset difference from the original image in units of pixels for a residual block to which a deblocking filter is applied and is applied in the form of a band offset and an edge offset.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수도 있다.On the other hand, the
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.The
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 나타낸 블록도이다. 도 1에서 상술한 바와 같이 스케일러블 비디오 인코딩/디코딩 방법 또는 장치는 스케일러빌리티를 제공하지 않는 일반적인 비디오 인코딩/디코딩 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 디코딩 장치의 기초가 될 수 있는 비디오 디코딩 장치의 일 실시예를 나타낸다2 is a block diagram schematically showing a video decoding apparatus according to an embodiment of the present invention. The scalable video encoding / decoding method or apparatus as described above in FIG. 1 may be implemented by extension of a general video encoding / decoding method or apparatus that does not provide scalability, and the block diagram of FIG. 2 illustrates a scalable video decoding / One embodiment of a video decoding apparatus that may be the basis of the apparatus is shown
도 2를 참조하면, 비디오 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 메모리(240)를 포함할 수 있다.2, the
비디오 인코딩 장치에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 비디오 인코딩 장치에서 영상 정보가 처리된 절차에 따라서 디코딩될 수 있다.When an image bitstream is input in the video encoding apparatus, the input bitstream can be decoded according to a procedure in which image information is processed in the video encoding apparatus.
예컨대, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 부호화(Variable Length Coding: VLC, 이하 'VLC' 라 함)가 사용된 경우에, 엔트로피 디코딩부(210)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(210)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.For example, when variable length coding (VLC), such as CAVLC, is used to perform entropy encoding in a video encoding apparatus, the
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(215)로 입력될 수 있다.Information for generating a predictive block from information decoded by the
재정렬부(215)는 엔트로피 디코딩부(210)에서 엔트로피 디코딩된 비트스트림의 정보, 즉 양자화된 변환 계수를 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다.The
재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 현재 블록(변환 블록)에 적용된 예측 모드와 변환 블록의 크기를 기반으로 계수에 대한 스캐닝을 수행하여 2 차원 블록 형태의 계수(양자화된 변환 계수) 배열을 생성할 수 있다.The
역양자화부(220)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.The
역변환부(225)는 비디오 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다.The
역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(225)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.The inverse transformation may be performed based on the transmission unit determined in the encoding apparatus or the division unit of the image. The DCT and / or DST in the transform unit of the encoding apparatus may be selectively performed according to a plurality of information such as prediction method, size and prediction direction of the current block, and the
예측부(230)는 엔트로피 디코딩부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다.The
현재 PU에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 현재 픽처 내의 픽셀 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다.Prediction can be performed to generate a prediction block based on the pixel information in the current picture when the prediction mode for the current PU is the intra prediction mode.
현재 PU에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 PU에 대한 인터 예측을 수행할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 PU의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.Prediction can be performed on the current PU based on information contained in at least one of a previous picture or a following picture of the current picture when the prediction mode for the current PU is an inter prediction mode. At this time, the motion information necessary for the inter prediction of the current PU provided in the video encoding apparatus, such as the motion vector, the reference picture index, and the like, can be derived from the skip flag and the merge flag received from the encoding apparatus.
복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다. 도 2에서는 가산기에서 예측 블록과 레지듀얼 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다.The reconstruction block may be generated using the prediction block generated by the
스킵 모드가 적용되는 경우에는 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.When the skip mode is applied, the residual is not transmitted and the prediction block can be a restoration block.
복원된 블록 및/또는 픽처는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 ALF 등을 적용할 수 있다.The reconstructed block and / or picture may be provided to the
메모리(240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.The
디코딩 장치(200)에 포함되어 있는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 및 메모리(240) 중 영상의 디코딩에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 등을 다른 구성요소와 구분하여 디코더 또는 디코딩부로 표현할 수 있다.The
또한, 디코딩 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 도시하지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 디코딩부(210)를 포함할 수도 있고, 엔트로피 디코딩부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.In addition, the
도 3은 본 발명이 적용될 수 있는, 복수 계층을 이용한 스케일러블 비디오 코딩 구조의 일 실시예를 개략적으로 나타내는 개념도이다. 도 3에서 GOP(Group of Picture)는 픽처군 즉, 픽처의 그룹을 나타낸다.3 is a conceptual diagram schematically showing an embodiment of a scalable video coding structure using a plurality of layers to which the present invention can be applied. In FIG. 3, a GOP (Group of Pictures) represents a picture group, that is, a group of pictures.
영상 데이터를 전송하기 위해서는 전송 매체가 필요하며, 그 성능은 다양한 네트워크 환경에 따라 전송 매체별로 차이가 있다. 이러한 다양한 전송 매체 또는 네트워크 환경에의 적용을 위해 스케일러블 비디오 코딩 방법이 제공될 수 있다.In order to transmit video data, a transmission medium is required, and the performance of the transmission medium varies depending on various network environments. A scalable video coding method may be provided for application to these various transmission media or network environments.
스케일러블 비디오 코딩 방법은 계층(layer) 간의 텍스쳐 정보, 움직임 정보, 잔여 신호 등을 활용하여 계층 간 중복성을 제거하여 인코딩 및 디코딩 성능을 높이는 코딩 방법이다. 스케일러블 비디오 코딩 방법은, 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라, 공간적, 시간적, 화질적 관점에서 다양한 스케일러빌리티를 제공할 수 있다.The scalable video coding method is a coding method for enhancing the encoding and decoding performance by eliminating inter-layer redundancy using texture information, motion information, residual signal, etc. between layers. The scalable video coding method can provide various scalabilities in terms of spatial, temporal, and image quality according to surrounding conditions such as a transmission bit rate, a transmission error rate, and a system resource.
스케일러블 비디오 코딩은, 다양한 네트워크 상황에 적용 가능한 비트스트림을 제공할 수 있도록, 복수 계층(multiple layers) 구조를 사용하여 수행될 수 있다. 예를 들어 스케일러블 비디오 코딩 구조는, 일반적인 영상 디코딩 방법을 이용하여 영상 데이터를 압축하여 처리하는 기본 계층을 포함할 수 있고, 기본 계층의 디코딩 정보 및 일반적인 영상 디코딩 방법을 함께 사용하여 영상 데이터를 압축 처리하는 향상 계층을 포함할 수 있다.Scalable video coding can be performed using multiple layers structure to provide a bitstream applicable to various network situations. For example, the scalable video coding structure may include a base layer for compressing and processing image data using a general image decoding method, and compressing and compressing the image data using the decoding information of the base layer and a general image decoding method. Lt; RTI ID = 0.0 > layer. ≪ / RTI >
여기서, 계층(layer)은 공간(spatial, 예를 들어, 영상 크기), 시간(temporal, 예를 들어, 디코딩 순서, 영상 출력 순서, 프레임 레이트), 화질, 복잡도 등을 기준으로 구분되는 영상 및 비트스트림(bitstream)의 집합을 의미한다. 또한 기본 계층은 참조 계층 또는 Base layer, 향상 계층은 Enhancement layer를 의미할 수 있다. 또한 복수의 계층들은 서로 간에 종속성을 가질 수도 있다.Here, the layer may be classified into a video and a bit classified based on spatial (e.g., image size), temporal (e.g., decoding order, video output order, frame rate), image quality, Means a set of bitstreams. The base layer may be referred to as a reference layer or the base layer, and the enhancement layer may mean an enhancement layer. The plurality of layers may also have dependencies between each other.
도 3을 참조하면, 예를 들어 기본 계층은 SD(standard definition), 15Hz의 프레임율, 1Mbps 비트율로 정의될 수 있고, 제1 향상 계층은 HD(high definition), 30Hz의 프레임율, 3.9Mbps 비트율로 정의될 수 있으며, 제2 향상 계층은 4K-UHE(ultra high definition), 60Hz의 프레임율, 27.2Mbps 비트율로 정의될 수 있다. 상기 포맷(format), 프레임율, 비트율 등은 하나의 실시예로서, 필요에 따라 달리 정해질 수 있다. 또한 사용되는 계층의 수도 본 실시예에 한정되지 않고 상황에 따라 달리 정해질 수 있다.Referring to FIG. 3, for example, the base layer may be defined by a standard definition (SD), a frame rate of 15 Hz, a bit rate of 1 Mbps, and a first enhancement layer may be defined as high definition (HD), a frame rate of 30 Hz, And the second enhancement layer may be defined as 4K-UHE (ultra high definition), a frame rate of 60 Hz, and a bit rate of 27.2 Mbps. The format, the frame rate, the bit rate, and the like are one example, and can be determined as needed. Also, the number of layers to be used is not limited to the present embodiment, but can be otherwise determined depending on the situation.
예를 들어, 전송 대역폭이 4Mbps라면 상기 제1향상계층 HD의 프레임 레이트를 줄여서 15Hz이하로 전송할 수 있다. 스케일러블 비디오 코딩 방법은 상기 도 3의 실시예에서 상술한 방법에 의해 시간적, 공간적, 화질적 스케일러빌리티를 제공할 수 있다.For example, if the transmission bandwidth is 4 Mbps, the frame rate of the first enhancement layer HD may be reduced to 15 Hz or less. The scalable video coding method can provide temporal, spatial, and image quality scalability by the method described in the embodiment of FIG.
스케일러블 비디오 코딩은 이하 인코딩 관점에서는 스케일러블 비디오 인코딩, 디코딩 관점에서는 스케일러블 비디오 디코딩과 동일한 의미를 가진다.Scalable video coding has the same meaning as scalable video encoding in the encoding aspect and scalable video decoding in the decoding aspect.
상술한 바와 같이, 이종의 통신망 및 다양한 단말로 인해 스케일러빌리티는 현재 비디오 포맷의 중요한 기능이 되고 있다.As described above, the scalability is becoming an important function of the current video format due to heterogeneous communication networks and various terminals.
한편, 복수의 계층을 포함하는 비트스트림은 패킷 스위칭 네트워크(packet-switching network)를 통하여 비디오의 적응적 전송을 용이하게 하는 NAL (Network Abstraction Layer) 유닛들로 구성된다. 복수의 계층과 유사하게 비트스트림 내 복수의 다시점 영상을 포함하는 멀티 뷰 비디오 코딩(multi-view video coding)에서 복수의 시점간의 관계는 복수의 레이어를 지원하는 비디오에서의 공간적 계층(spatial layer)간의 관계와 유사하다.On the other hand, a bitstream including a plurality of layers consists of Network Abstraction Layer (NAL) units that facilitate adaptive transmission of video through a packet-switching network. In a multi-view video coding that includes a plurality of multi-view images in a bit stream, similar to a plurality of layers, a relationship between a plurality of views is a spatial layer in a video supporting a plurality of layers, .
도 4는 디코딩 장치에 처리되는 코딩된 영상에 대한 계층 구조를 도시한 도면이다.4 is a diagram showing a hierarchical structure of a coded image processed in a decoding apparatus.
코딩된 영상은 영상의 디코딩 처리 및 그 자체를 다루는 VCL(video coding layer, 비디오 코딩 계층)과 부호화된 정보를 전송하고 저장하는 하위 시스템의 사이에 있는 NAL(network abstraction layer, 네트워크 추상 계층)로 구분되어 있다.The coded image is divided into a video coding layer (VCL), which handles the decoding process of the image itself, and a network abstraction layer (NAL), which is between the subsystem transmitting and storing the encoded information. .
NAL의 기본 단위인 NAL 유닛은 코딩된 영상을 소정의 규격에 따른 파일 포맷, RTP(Real-time Transport Protocol, TS(Transport Stream) 등과 같은 하위 시스템의 비트열에 매핑시키는 역할을 한다.The NAL unit, which is a basic unit of the NAL, maps a coded image to a bit stream of a subsystem such as a file format according to a predetermined standard, a real-time transport protocol (RTP), a transport stream (TS)
한편, VCL은 시퀀스와 픽처 등의 헤더에 해당하는 파라미터 세트(픽처 파라미터 세트, 시퀀스 파라미터 세트, 비디오 파라미터 세트) 및 영상의 디코딩 과정에 부가적으로 필요한 SEI(Supplemental Enhancement Information) 메세지도 영상에 대한 정보(슬라이스 데이터)와 분리되어 있다. 영상에 대한 정보를 지닌 VCL은 슬라이스 데이터와 슬라이스 헤더로 이루어진다.On the other hand, the VCL includes a parameter set (a picture parameter set, a sequence parameter set, a video parameter set) corresponding to a header such as a sequence and a picture, a SEI (Supplemental Enhancement Information) message additionally required for a decoding process of an image, (Slice data). The VCL with information about the image consists of slice data and slice header.
도시된 바와 같이, NAL 유닛은 NAL 유닛 헤더와 VCL에서 생성된 RBSP(Raw Byte Sequence Payload, 동영상 압축의 결과 데이터)의 두 부분으로 구성된다. NAL 유닛 헤더에는 해당 NAL 유닛의 타입에 대한 정보가 포함되어 있다.As shown, the NAL unit is composed of two parts: a NAL unit header and RBSP (Raw Byte Sequence Payload, generated by the VCL). The NAL unit header contains information about the type of NAL unit in question.
NAL 유닛은 VCL에서 생성된 RBSP의 따라 VCL NAL 유닛과 non-VCL NAL 유닛으로 구분된다. VCL NAL 유닛은 영상에 대한 정보를 포함하고 있는 NAL 유닛을 의미하고, non-VCL NAL 유닛은 영상을 디코딩하기 위하여 필요한 정보(파라미터 세트 또는 SEI 메세지)를 포함하고 있는 NAL 유닛을 나타낸다.The NAL unit is divided into a VCL NAL unit and a non-VCL NAL unit according to the RBSP generated in the VCL. A VCL NAL unit refers to a NAL unit containing information about an image, and a non-VCL NAL unit represents a NAL unit containing information (parameter set or SEI message) necessary for decoding an image.
VCL NAL 유닛은 해당 NAL 유닛이 포함하는 픽처의 성질 및 종류 등에 따라 여러 타입으로 나뉠 수 있다.The VCL NAL unit can be divided into several types depending on the nature and the type of the picture included in the corresponding NAL unit.
한편, 콘텐츠 전달경로(content delivery path)에서의 모든 노드에서 비트스트림을 효과적이며 효율적으로 변환하기 위해서는 비트스트림의 스케일러빌리티 정보가 매우 중요하다. 현재 단일 레이어에 대한 비디오 코딩에 대한 표준(high efficiency video coding)에서는 NAL 유닛 헤더(header)에 계층 정보와 관련된 2개의 필드인 temporal_id와 reserved_one_5bits의 정보가 포함된다. 3 bits의 길이를 갖는 temporal_id는 비디오 비트스트림의 시간적 레이어(temporal layer)를 나타내며, reserved_one_5bits는 추후에 다른 계층 정보를 나타내기 위한 영역에 해당한다. 시간적 레이어는 VCL NAL 유닛으로 구성된 시간적으로 스케일될 수 있는 비트스트림의 레이어를 의미하며, 시간적 레이어는 특정의 temporal_id 값을 갖는다.On the other hand, in order to efficiently and efficiently convert a bitstream in all nodes in a content delivery path, scalability information of the bitstream is very important. Currently, in a high efficiency video coding for a single layer, a NAL unit header includes two fields related to hierarchical information, i.e., temporal_id and reserved_one_5 bits. A temporal_id having a length of 3 bits represents a temporal layer of a video bitstream, and a reserved_one_5bits corresponds to an area for representing other layer information at a later time. The temporal layer refers to a layer of temporally scalable bitstream composed of VCL NAL units, and the temporal layer has a specific temporal_id value.
본 발명은 복수의 레이어를 지원할 수 잇는 비트스트림 내에서 영상의 추출 정보(extraction) 및 계층적 정보(scalability information)를 효과적으로 기술하고, 이를 시그널링 하기 위한 방법 및 이를 구현하는 장치에 대하여 것이다.The present invention relates to a method for efficiently describing and signaling extraction and hierarchical information of an image in a bitstream that can support a plurality of layers, and an apparatus for implementing the method.
이하에서는 설명의 편의를 위하여 비트스트림을 2가지 타입으로 나누어 설명한다. 비트스트림이 시간 스케일러빌리티(temporal scalability)만을 지원하는 경우, 이를 기본 타입(base type)으로 표현하고, 비트스트림이 시간을 포함한 공간/화질/시점을 지원하는 스케일러빌리티를 가질 수 있는 경우 확장 타입(extended type)으로 표현한다.Hereinafter, for convenience of explanation, the bit stream is divided into two types. If the bitstream supports only temporal scalability, it can be represented as a base type. If the bitstream can have scalability supporting space / image quality / time including time, extended type).
표 1은 본 발명의 일 실시예에 따라 인코딩 장치에서 인코딩되어 디코딩 장치에서 디코딩되는 NAL 유닛 헤더의 신택스를 나타낸다.Table 1 shows the syntax of the NAL unit header encoded in the encoding apparatus and decoded in the decoding apparatus according to an embodiment of the present invention.
표 1에서, NAL 유닛 헤더에 포함되어 있는 정보 중 forbidden _ zero _ bit는0이 되어야 한다.In Table 1, forbidden in the information that is included in the NAL unit header _ _ zero bit is to be zero.
nal _ unit _ type은 해당 NAL 유닛에 포함되어 있는 RBSP의 데이터 구조를 의미하는 것으로 RBSP의 데이터 구조에 따라 복수의 타입이 존재한다. _ _ nal unit type is a plurality of types exists according to the data structure of the RBSP to mean a data structure of a RBSP contained in the NAL unit.
nal _ ref _ flag는 인코딩 할 당시 해당 NAL 유닛이 전체 비트스트림 상에서 비 참조 픽처인지 참조 픽처인지 여부를 나타내는 정보를 나타내는 플래그이다. nal_ref_flag가 1이면, NAL 유닛은 SPS(sequence parameter set), PPS(picture parameter set), APS(adaptation parameter set) 또는 참조 픽처의 슬라이스를 포함하는 것을 의미하고, nal_ref_flag가 0이면 NALU는 비 참조 픽처의 일부 혹은 전부를 포함하는 슬라이스를 포함하는 것을 의미한다. nal ref _ _ flag is a flag at the time of encoding the NAL unit indicating information indicating whether the non-reference pictures whether a reference picture on the entire bitstream. If the nal_ref_flag is 1, the NAL unit means to include a sequence parameter set (SPS), a picture parameter set (PPS), an adaptation parameter set (APS), or a slice of a reference picture. If nal_ref_flag is 0, Quot; means to include a slice including some or all of the slices.
reserved _ one _5 bits은 3D 영상 코딩 확장 타입 등과 같이 스케일러빌러티를 지원하는 확장 타입에서 활용될 수 있는 정보로서 코딩된 영상 시퀀스(coded video sequence, CVS) 내 존재하는 추가적인 레이어들을 식별하기 위하여 사용된다. 레이어는 공간적으로 스케일되는 레이어(spatial scalable layer), 화질적으로 스케일되는 레이어(a quality scalable layer), 텍스쳐 뷰(texture view) 또는 깊이 뷰(depth view) 등일 수 있다. reserved _ one _5 bits are used to identify an additional layer present in the 3D video image sequence coding an information that can be used in the expansion-type supporting scalability such as the coding extension type (coded video sequence, CVS) . A layer may be a spatial scalable layer, a quality scalable layer, a texture view, or a depth view.
비트스트림이 기본 타입일 경우, reserved_one_5bits은 0이 되고, 비트스트림의 디코딩 단위에 포함되어 있는 데이터 양을 결정하는 사용될 수 있다.When the bitstream is a basic type, reserved_one_5 bits becomes zero and can be used to determine the amount of data contained in the decoding unit of the bitstream.
temporal _ id는NAL 유닛에 대한 시간적 레이어의 식별자를 의미한다. temporal _ id indicates an identifier of the temporal layer of the NAL unit.
layer _ id는 NAL 유닛에 대한 레이어 식벌자를 의미하며 하나의 억세스 유닛에 대한 모든 VCL NAL 유닛은 동일한 layer_id 값을 갖는다. layer_id는 8 비트로 시그널링 될 수 있다. layer id _ are all VCL NAL units for a single access unit means a layer expression beolja for NAL units having the same value layer_id. The layer_id can be signaled with 8 bits.
표 1의 NAL 유닛 헤더는 nal_unit_type, nal_ref_flag, reserved_one_5bits, temporal_id, layer_id 등의 정보를 포함하고 있지만, NAL 유닛 헤더의 정보를 최소화하여 전송 효율과 코딩/디코딩 효율을 높일 수도 있다.The NAL unit header in Table 1 includes information such as nal_unit_type, nal_ref_flag, reserved_one_5bits, temporal_id, layer_id, etc. However, it is also possible to minimize the information of the NAL unit header and increase the transmission efficiency and coding / decoding efficiency.
즉, NAL 유닛 헤더 레벨에서 필요한 최소한의 정보로서, 예컨대, nal_unit_type, temporal_id, layer_id 등이 NAL 유닛 헤더에 포함되고, 나머지 정보들은 다른 신택스 레벨, 예컨대 NAL 유닛에서 NAL 유닛 헤더를 참조하여 전송되도록 할 수도 있다.That is, for example, nal_unit_type, temporal_id, layer_id, etc. may be included in the NAL unit header and the remaining information may be transmitted with reference to the NAL unit header at another syntax level, for example, NAL unit header have.
표 1에 나타난 바와 같이, nal_unit_type이 단일 계층의 비트스트림을 지원하는 경우, 즉, 비트스트림이 기본 타입이면, reserved_one_5bits과 temporal_id 이 순차적으로 인코딩 및 디코딩되고, 만약 비트스트림이 기본 타입이 아닌 확장 타입이면 layer_id가 인코딩되어 디코딩 장치로 전송된다.As shown in Table 1, when nal_unit_type supports a single layer bitstream, that is, when the bitstream is a basic type, reserved_one_5 bits and temporal_id are sequentially encoded and decoded. If the bitstream is an extension type other than the basic type The layer_id is encoded and transmitted to the decoding device.
예를 들어, 베이스 레이어 즉, 기본 레이어에서는 reserved_one_5bits 및 temporal_id 순으로 시그널링 되고, 확장 레이어에서는 reserved_one_5bits와 temporal_id이 결합된 형태의 layer_id가 시그널링 될 수 있다.For example, the base layer is signaled in the order of reserved_one_5bits and temporal_id in the base layer, and the layer_id in the form of combined reserved_one_5bits and temporal_id can be signaled in the extended layer.
layer_id는 NAL 유닛 헤더뿐만 아니라 비디오 파라미터 세트(Video Parameter Set, VPS)에서 추가적으로 시그널링 될 수 있다.The layer_id may be additionally signaled in the Video Parameter Set (VPS) as well as in the NAL unit header.
한편, NAL 유닛 헤더의 크기는 2 바이트(byte)로 고정되었고, 이러한 2 바이트 공간 내에서 요구되는 모든 정보를 전송해야 한다.On the other hand, the size of the NAL unit header is fixed to 2 bytes and all information required in this 2-byte space must be transmitted.
기본 타입의 비트스트림의 경우 시간적 스케일러빌러티(temporal scalability)만을 지원하고, 이는 temporal_id 신택스에 의하여 설명된다. 하지만, 확장 타입의 경우, 레이어 정보 또는 의존 관계(dependency) 등과 같은 정보가 NAL 유닛 헤더에 포함되어야 하고, 이러한 정보를 전송하기 위하여 기본 타입에서는 사용되지 않았던 reserved_one_5bits가 사용된다.The bitstream of the basic type only supports temporal scalability, which is described by the temporal_id syntax. However, in case of extension type, information such as layer information or dependency should be included in the NAL unit header, and reserved_one_5 bits which is not used in the basic type are used to transmit this information.
reserved_one_5bits는 5비트 신호로 확장 타입에서 요구되는 모든 정보를 전송하는데 부족할 수 있다. 즉, 5비트로 모두 32개의 레이어의 표현이 가능하지만, 비트스트림이 많은 개수의 스케일러빌러티 타입을 지원하거나 복수의 뷰 레이어를 지원하는 경우 모든 레이어 식별하는데 5 비트는 부족할 수 있다.reserved_one_5bits may be insufficient to transmit all the information required by the extension type with a 5 bit signal. That is, it is possible to represent all 32 layers with 5 bits. However, if the bitstream supports a large number of scalability types or supports a plurality of view layers, 5 bits may be insufficient to identify all the layers.
또한, 기존에는 NAL 유닛 헤더에서 temporal_id가 reserved_one_5bits 보다 먼저 시그널링 되었다, 다시 말해, 시간적 레이어를 식별하기 위한 temporal_id가 먼저 시그널링 되고, 그 뒤에 확장 타입에 사용되는 레이어의 식별을 위한 reserved_one_5bits가 시그널링 되었다. 시간적 스케일러빌러티와 다른 타입의 스케일러빌러티 간의 이러한 분리는 혼란을 초래할 수 있다. 시간적 스케일러빌러티는 스케일러빌러티의 하나의 형태일 수 있고, 이런 경우, 시간적 스케일러빌러티는 다른 스케일러빌러티와 유사하게 취급될 수 있다.Previously, the temporal_id was signaled before the reserved_one_5 bits in the NAL unit header. In other words, the temporal_id for identifying the temporal layer was signaled first, followed by the reserved_one_5 bits for identifying the layer used for the extended type. This separation between temporal scalability and other types of scalability can cause confusion. The temporal scalability can be a form of scalability, in which case the temporal scalability can be handled similarly to other scalability.
또한, reserved_one_5bits 전에 temporal_id을 시그널링하는 경우, 시간적 스케일러빌러티를 설명하기 위하여 3 비트가 강제적(mandatory)으로 할당된다. 하지만, 시간적 스케일러빌러티는 항상 사용되는 것이 아니고, 만약 비트스트림이 확장 타입인 경우, 시간적 스케일러빌러티는 지원하지 않고 다른 타입의 스케일러빌러티를 지원할 수 있다. 이런 경우, 시간적 스케일러빌러티에 할당되었던 3 비트는 불필요한 정보가 될 수 있다. 이처럼 불필요한 temporal_id는 다른 스케일러빌러티를 설명하는데 사용될 수 있다.Also, when signaling the temporal_id before reserved_one_5 bits, 3 bits are mandatory allocated to account for temporal scalability. However, the temporal scalability is not always used, and if the bitstream is an extended type, temporal scalability may not be supported and other types of scalability may be supported. In this case, the 3 bits allocated to the temporal scalabilities may be unnecessary information. This unnecessary temporal_id can be used to describe other scalability.
이러한 점을 고려하여, 본 발명은 temporal_id를 확장 타입의 비트스트림에서 레이어를 식별하는 하나의 정보로 사용한다. 즉, 확장 타입에서 레이어의 식별을 위하여 reserved_one_5bits뿐만 아니라 reserved_one_5bits와 temporal_id를 결합시켜 사용한다.In consideration of this point, the present invention uses temporal_id as one piece of information for identifying a layer in the bitstream of the extended type. In other words, reserved_one_5bits and temporal_id are combined as well as reserved_one_5bits for layer identification in extension type.
또한, 본 발명과 같이 기존의 reserved_one_5bits과 temporal_id의 시그널링 순서를 바꾸어 reserved_one_5bits를 temporal_id 보다 먼저 시그널링하는 경우, 파싱 효율이 증가한다. 기존의 경우, 3비트의 temporal_id를 파싱하고, 5 비트의 reserved_one_5bits 를 파싱해야 했지만, 본 발명에 따를 경우, 두 개의 정보, 즉 reserved_one_5bits와 temporal_id를 한번에 파싱할 수 있다. 다시 말해, 5 비트의 비트스트림과 3비트의 비트스트림을 각각 두 번 리드하는 것이 아니라 한 번에 8비트의 비트스트림을 리드할 수 있다.Also, as in the present invention, if the signaling order of the reserved_one_5 bits and the temporal_id is changed, and the reserved_one_5 bits is signaled prior to the temporal_id, the parsing efficiency increases. In the conventional case, the 3-bit temporal_id is parsed and 5-bit reserved_one_5 bits are parsed. According to the present invention, two pieces of information, i.e., reserved_one_5 bits and temporal_id, can be parsed at once. In other words, it is possible to read an 8-bit bit stream at a time instead of reading the 5-bit bit stream and the 3-bit bit stream twice, respectively.
reserved_one_5bits와 temporal_id의 시그널링 순서에 따라 파싱 회수가 달라질 수 있다. 예를 들어 temporal_id 값이 101이고, temporal_id가 나중에 시그널링 되면, reserved_one_5bits와 temporal_i를 파싱한 값은 00000101이 되고, temporal_id가 먼저 시그널링 되면 파싱 값은 10100000이 된다. 기존의 방식에 따른 후자의 경우, 디코딩 장치는 비트스트림을 두 번 파싱해야 한다.The number of parsing can be changed according to the signaling order of reserved_one_5bits and temporal_id. For example, if the temporal_id value is 101 and the temporal_id is signaled later, the value obtained by parsing the reserved_one_5 bits and temporal_i is 00000101, and if the temporal_id is signaled first, the parsing value becomes 10100000. In the latter case, the decoding apparatus must parse the bitstream twice.
또한, layer_id를 시그널링하는 데 8 비트가 필요하다면, 상기와 같이 reserved_one_5bits와 temporal_id를 동시에 파싱하는 것은 layer_id를 파싱하는 것과 유사하게 취급되기 때문에 구현 효율도 증가된다.Also, if 8 bits are required for signaling layer_id, parsing reserved_one_5 bits and temporal_id at the same time is handled similarly to parsing layer_id, thus increasing the implementation efficiency.
본 발명과 같이, temporal_id를 확장 타입의 비트스트림에서 레이어를 식별하는 하나의 정보로 사용할 경우, 레이어를 식별하기 위하여 8비트를 사용할 수 있으므로 기존보다 표현할 수 있는 레이어의 수가 32에서 256개로 증가하는 효과가 있다.When the temporal_id is used as one piece of information for identifying a layer in the bitstream of the extended type as in the present invention, since 8 bits can be used to identify the layer, the number of layers that can be expressed is increased from 32 to 256 .
또한, 본 발명에 따를 경우, 시간적 스케일러빌러티는 다른 타입의 스케일러빌러티와 동일하게 취급되기 때문에 시간적 스케일러빌러티가 다른 타입의 스케일러빌러티와 동일한지 여부에 대한 혼란이 없어진다. 또한, temporal_id는 다른 타입의 스케일러빌러티과 결합하여 사용될 수 있기 때문에 스케일러빌러티를 보다 다양하게 표현할 수 있는 장점이 존재한다.Also, according to the present invention, since temporal scalability is treated the same as other types of scalability, there is no confusion as to whether temporal scalability is the same as other types of scalability. In addition, since temporal_id can be used in combination with other types of scalability, there is an advantage that the scalability can be expressed more variously.
또한, 시간적 스케일러빌러티를 적용하지 않는 비트스트림의 경우, 비트스트림 내에서 시간적 스케일러빌러티에 할당되었던 비트는 다른 스케일러빌러티를 설멍하는 데 유용하게 사용될 수 있다.Also, for bit streams that do not apply temporal scalability, bits that have been assigned to temporal scalability in the bit stream may be useful for exploiting other scalability.
표 2는 본 발명의 다른 실시예에 따른 NAL 유닛 헤더의 신택스를 나타낸다.Table 2 shows the syntax of the NAL unit header according to another embodiment of the present invention.
표 2에 나타나 있는 layer _ id는 NAL 유닛에 대한 시간적 식별자를 의미한다. 하나의 억세스 유닛에 대한 모든 VCL NAL 유닛은 동일한 layer_id 값을 가지며, 단일 계층을 지원하는 비트스트림의 경우 layer_id의 범위는 0부터 7이 될 수 있고, 억세스 유닛이 랜덤 억세스 포인트가 되는 억세스 유닛인 경우 해당 억세스 유닛에 대한 모든 VCL NAL 유닛에 대한 layer_id 값은 0이 된다. _ Id layer shown in Table 2 refers to the temporal identifier for the NAL unit. All VCL NAL units for one access unit have the same layer_id value, and in the case of a bit stream supporting a single layer, the layer_id range can be 0 to 7, and in the case of an access unit in which the access unit becomes a random access point The layer_id value for all VCL NAL units for that access unit is zero.
본 실시예에서는 reserved_one_5bits와 temporal_id를 결합시켜 layer_id라는 새로운 신택스를 사용한다. 상술한 바와 같이, 단일 계층을 지원하는 비트스트림, 즉 기본 타입의 경우 layer_id는 0부터 7까지의 범위를 가질 수 있고, 이 경우 layer_id는 temporal_id과 동일한 정보를 시그널링하는 신택스로 사용될 수 있다.In this embodiment, a new syntax called layer_id is used by combining reserved_one_5 bits and temporal_id. As described above, the layer_id may have a range from 0 to 7 in the case of a bit stream supporting a single layer, that is, a basic type. In this case, the layer_id can be used as a syntax for signaling the same information as the temporal_id.
표 2의 NAL 유닛 헤더도, 표 1과 동일하게 nal_unit_type, nal_ref_flag, reserved_one_5bits, temporal_id, layer_id 등의 정보를 포함하고 있지만, NAL 유닛 헤더의 정보를 최소화하여 전송 효율과 코딩/디코딩 효율을 높일 수도 있다.The NAL unit header of Table 2 also includes information such as nal_unit_type, nal_ref_flag, reserved_one_5bits, temporal_id, layer_id, etc. as in Table 1, but it is also possible to minimize the information of the NAL unit header and increase the transmission efficiency and coding / decoding efficiency.
즉, NAL 유닛 헤더 레벨에서 필요한 최소한의 정보로서, 예컨대, nal_unit_type, temporal_id, layer_id 등이 NAL 유닛 헤더에 포함되고, 나머지 정보들은 다른 신택스 레벨, 예컨대 NAL 유닛에서 NAL 유닛 헤더를 참조하여 전송되도록 할 수도 있다.That is, for example, nal_unit_type, temporal_id, layer_id, etc. may be included in the NAL unit header and the remaining information may be transmitted with reference to the NAL unit header at another syntax level, for example, NAL unit header have.
한편, 모든 비 참조 픽처(non-reference picture)들, 특히 대부분 최상위 시간적 레이어에 해당하는 비 참조 픽처가 추출된다면, 추출 후 남은 모든 픽처들의 nal_ref_flag 는 1이 된다. 그러나, 추출된 비트스트림의 일부 픽처들, 즉 남은 비트스트림에서 최상위 시간적 레이어에 해당하는 픽처는 nal_ref_flag가 1이라고 하더라도 비 참조 픽처들이 된다.On the other hand, if all the non-reference pictures, especially the non-reference pictures corresponding to the most temporal temporal layer, are extracted, the nal_ref_flag of all pictures remaining after extraction is 1. However, some pictures of the extracted bitstream, that is, pictures corresponding to the most significant temporal layer in the remaining bitstream are non-reference pictures even if nal_ref_flag is 1.
따라서, 이러한 nal_ref_flag에 할당되었던 비트를 NAL 유닛 헤더의 다른 신택스 요소들, 예를 들어, temporal_id 또는 reserved_one_5bits에 사용할 수 있다. nal_ref_flag에 할당되었던 1 비트를 temporal_id 또는 reserved_one_5bits에 사용한다면, 비트스트림에 포함되는 보다 많은 수의 레이어를 식별하는 것이 가능해진다.Thus, the bits allocated to this nal_ref_flag may be used for other syntax elements of the NAL unit header, for example, temporal_id or reserved_one_5 bits. If one bit allocated to nal_ref_flag is used for temporal_id or reserved_one_5 bits, it is possible to identify a larger number of layers included in the bitstream.
예를 들어 nal_ref_flag에 할당되었던 1 비트를 reserved_one_5bits에 사용할 경우, reserved_one_5bits는 1비트가 추가된 6 비트 신호가 될 수 있다.For example, when 1 bit allocated to nal_ref_flag is used for reserved_one_5 bits, reserved_one_5 bits can be a 6 bit signal added with 1 bit.
상술한 바와 같이, NAL 유닛은 해당 NAL 유닛이 포함하는 픽처의 성질 및 종류 등에 따라 여러 타입으로 나뉠 수 있다.As described above, the NAL unit can be divided into various types according to the nature and the type of the picture included in the NAL unit.
표 3은 NAL 유닛 타입의 일 예를 나타낸 것이다.Table 3 shows an example of the NAL unit type.
표 3에 기재된 바와 같이, NAL 유닛 타입은 영상에 대한 정보를 포함하고 있는지 여부에 따라 VCL NAL 유닛과 non-VCL NAL 유닛으로 분류될 수 있다. VCL NAL 유닛은 영상에 대한 정보를 포함하고 있는 NAL 유닛을 의미하고, non-VCL NAL 유닛은 영상을 디코딩하기 위하여 필요한 정보(파라미터 세트 또는 SEI 메세지)를 포함하고 있는 NAL 유닛을 나타낸다.As shown in Table 3, the NAL unit type can be classified as a VCL NAL unit and a non-VCL NAL unit, depending on whether or not it includes information about an image. A VCL NAL unit refers to a NAL unit containing information about an image, and a non-VCL NAL unit represents a NAL unit containing information (parameter set or SEI message) necessary for decoding an image.
VCL NAL 유닛은 랜덤 억세스가 가능한 픽처와 그렇지 않은 픽처로 구분될 수 있다. 표 3에서 nal_unit_type이 4 내지 8인 NAL 유닛은 랜덤 억세스가 가능한 픽처이고, nal_unit_type이 1 내지 3인 NAL 유닛은 랜덤 억세스가 되지 않는 픽처들이다.The VCL NAL unit can be divided into a random accessible picture and a non-random accessible picture. In Table 3, a NAL unit having nal_unit_type of 4 to 8 is a random accessable picture, and a NAL unit having nal_unit_type of 1 to 3 is a picture that is not random access.
도 5는 랜덤 억세스가 가능한 픽처를 설명하기 위한 도면이다.5 is a diagram for explaining a picture capable of random access.
랜덤 억세스가 가능한 픽처, 즉 랜덤 억세스 포인트가 되는 IRAP(intra random access point) 픽처는 랜덤 억세스 시 비트스트림에서 디코딩 순서(decoding order) 상 첫 번째 픽처이며, I 슬라이스만을 포함한다.A random access access (IRAP) picture, which is a random access point, is a first picture in a decoding order in a bitstream during random access, and includes only I slices.
도 5에는 픽처의 출력 순서(output order 또는 display order)와 디코딩 순서가 도시되어 있다. 도시된 바와 같이 픽처의 출력 순서와 디코딩 순서는 서로 다를 수 있다. 편의 상 픽처들은 소정의 그룹으로 구분하여 설명된다.FIG. 5 shows an output order or a display order of a picture and a decoding order. As shown, the output order and decoding order of the pictures may be different from each other. Pictures for convenience are divided into predetermined groups and described.
제1 그룹(Ⅰ)에 속하는 픽처들은 IRAP 픽처와 출력 순서 및 디코딩 순서 모두에서 선행하는 픽처를 나타내고, 제2 그룹(Ⅱ)에 속하는 픽처들은 IRAP 픽처보다 출력 순서는 선행하지만 디코딩 순서는 후행하는 픽처를 나타낸다. 마지막 제3 그룹(Ⅲ)의 픽처들은 IRAP 픽처보다 출력 순서 및 디코딩 순서 모두에서 후행한다.The pictures belonging to the first group (I) indicate the preceding pictures in both the IRAP picture and the output order and the decoding order. Pictures belonging to the second group (II) are preceded by the output order of the IRAP pictures, . The pictures in the last third group (III) are followed in both the output order and the decoding order rather than the IRAP pictures.
제1 그룹(Ⅰ)의 픽처들은 IRAP 픽처와 무관하게 디코딩 되어 출력될 수 있다.Pictures of the first group (I) can be decoded and output irrespective of IRAP pictures.
IRAP 픽처에 선행하여 출력되는 제2 그룹(Ⅱ)에 속하는 픽처들을 리딩 픽처(leading picture)라고 하며, 리딩 픽처들은 IRAP 픽처가 랜덤 억세스 포인트로 사용될 경우 디코딩 과정에서 문제될 수 있다.Pictures belonging to the second group II outputted before the IRAP picture are referred to as leading pictures and the leading pictures may be a problem in the decoding process when the IRAP picture is used as a random access point.
출력 및 디코딩 순서가 IRAP 픽처에 후행하는 제3 그룹(Ⅲ)에 속하는 픽처를 노말 픽처라고 한다. 노말 픽처는 리딩 픽처의 참조 픽처로 사용되지 않는다.A picture belonging to the third group (III) whose output and decoding order follows the IRAP picture is referred to as a normal picture. The normal picture is not used as a reference picture of the leading picture.
비트스트림에서 랜덤 억세스가 발생하는 랜덤 억세스 포인트는 IRAP 픽처가 되고, 제2 그룹(Ⅱ)의 첫 번째 퍽처가 출력되면서 랜덤 억세스가 시작 된다.A random access point where random access occurs in the bit stream becomes an IRAP picture, and random access is started while the first puckle of the second group (II) is outputted.
한편, IRAP 픽처는 IDR(instantaneous decoding refresh) 픽처, CRA(clean random access) 픽처, BLA(Broken link access) 픽처 중 어느 하나가 될 수 있다.Meanwhile, the IRAP picture may be an instantaneous decoding refresh (IDR) picture, a clean random access (CRA) picture, or a BLA (Broken link access) picture.
도 6은 IDR 픽처를 설명하기 위한 도면이다.6 is a diagram for explaining an IDR picture.
IDR 픽처는 픽처의 그룹(Group of Picture)이 닫힌(closed) 구조를 가질 때 랜덤 억세스 포인트가 되는 픽처이다. IDR 픽처는 IRAP 픽처이므로 I 슬라이스만을 포함하며, 비트스트림에서 디코딩 순서 상 첫 번째 픽처가 될 수도 있고, 비트스트림 중간에 올 수도 있다. IDR 픽처는 디코딩되면 DPB(decoded picture buffer)에 저장되어 있는 모든 참조 픽처들은"unused for referenc"로 표시된다.An IDR picture is a picture that becomes a random access point when a group of pictures has a closed structure. Since the IDR picture is an IRAP picture, it includes only I slices, and may be the first picture in the decoding order in the bitstream, or may be in the middle of the bitstream. When an IDR picture is decoded, all reference pictures stored in the DPB (decoded picture buffer) are displayed as "unused for referenc".
도 6에 도시되어 있는 막대는 픽처를 나타내고 화살표는 픽처가 다른 픽처를 참조 픽처로 이용할 수 있는지 여부에 대한 참조 관계를 나타낸다. 화살표 상에 표시되어 있는 x 마크는 해당 픽처(들)가 화살표가 가리키는 픽처를 참조할 수 없음을 나타낸다.The bars shown in Fig. 6 represent pictures, and the arrows indicate reference relationships for whether or not the pictures can use other pictures as reference pictures. The x mark displayed on the arrow indicates that the picture (s) can not refer to the picture indicated by the arrow.
도시된 바와 같이, IDR 픽처의 POC는 32이고, POC가 25내지 31며 IDR 픽처에 선행하여 출력되는 픽처는 리딩 픽처들(610)이다. POC가 33보다 큰 픽처들은 노말 픽처(620)에 해당한다.As shown in the figure, the POC of the IDR picture is 32, the POC is 25 to 31, and the picture output before the IDR picture is the
IDR 픽처에 선행하는 리딩 픽처들(610)은 IDR 픽처와 다른 리딩 픽처를 참조 픽처로 이용할 수 있지만, 리딩 픽처들(610)에 선행하는 과거 픽처(630)을 참조 픽처로 이용할 수 없다.Although the
IDR 픽처에 후행하는 노말 픽처들(620)는 IDR 픽처와 리딩 픽처 및 다른 노말 픽처를 참조하여 디코딩 될 수 있다.
도 7은 CRA 픽처를 설명하기 위한 도면이다.7 is a diagram for explaining a CRA picture.
CRA 픽처는 픽처의 그룹(Group of Picture)이 열린(open) 구조를 가질 때 랜덤 억세스 포인트가 되는 픽처이다. CRA 픽처 역시 IRAP 픽처이므로 I 슬라이스만을 포함하며, 비트스트림에서 디코딩 순서 상 첫 번째 픽처가 될 수도 있고, 노멀 플레이를 위하여 비트스트림 중간에 올 수도 있다(appear).A CRA picture is a picture that becomes a random access point when a group of pictures has an open structure. Since the CRA picture is also an IRAP picture, it includes only an I-slice and may be the first picture in the decoding order in the bitstream or may appear in the middle of the bitstream for normal play.
도 7에 도시되어 있는 막대는 픽처를 나타내고 화살표는 픽처가 다른 픽처를 참조 픽처로 이용할 수 있는지 여부에 대한 참조 관계를 나타낸다. 화살표 상에 표시되어 있는 x 마크는 해당 픽처 또는 픽처들이 화살표가 가리키는 픽처를 참조할 수 없음을 나타낸다.The bars shown in Fig. 7 represent pictures, and the arrows indicate reference relationships for whether or not a picture can use a different picture as a reference picture. The x mark displayed on the arrow indicates that the picture or pictures can not refer to the picture indicated by the arrow.
CRA 픽처에 선행하는 리딩 픽처들(710)은 CRA 픽처와 다른 리딩 픽처, 및 리딩 픽처들(710)에 선행하는 과거 픽처(730) 모두를 참조 픽처로 이용할 수 있다.The leading
반면, CRA 픽처에 후행하는 노말 픽처들(720)는 CRA 픽처와 다른 노말 픽처를 참조하여 디코딩 될 수 있지만, 리딩 픽처들(710)을 참조 픽처로 이용할 수 없다.On the other hand, the
BLA 픽처는 CRA 픽처와 유사한 기능 및 성질을 가지며, 코딩된 픽처가 스플라이싱(splicing)되거나 비트스트림이 중간에 끊어지면 랜덤 억세스 포인트로서 비트스트림 중간에 존재하는 픽처를 의미한다. 다만, BLA 픽처는 새로운 시퀀스의 시작으로 간주되기 때문에 CRA 픽처와 달리 BLA 픽처가 디코더에 수신될 때 영상에 대한 파라미터 정보가 다시 모두 수신된다.A BLA picture has functions and properties similar to those of a CRA picture, and refers to a picture existing in the middle of a bitstream as a random access point when a coded picture is spliced or a bitstream is interrupted. However, since the BLA picture is regarded as the start of the new sequence, unlike the CRA picture, when the BLA picture is received by the decoder, the parameter information on the picture is all received again.
BLA 픽처는 인코딩 장치에서부터 정해질 수도 있고, 인코딩 장치로부터 비트스트림을 수신한 시스템에서 수신된 CRA 픽처를 BLA 픽처로 변경할 수 있다. 예를 들어 비트스트림이 스플라이싱이 되는 경우 시스템은 CRA 픽처를 BLA 픽처로 변경하여 영상을 디코딩하는 디코더에게 제공하고, 이 때 영상에 대한 파라미터 정보 역시 시스템으로부터 디코더에 새롭게 제공된다. 본 발명에서 디코더란 영상을 디코딩하는 영상 처리부를 포함하는 모든 디바이스를 의미하며, 도 2의 디코딩 장치로 구현될 수도 있고, 영상을 처리하는 핵심 모듈인 디코딩 모듈을 의미할 수도 있다.The BLA picture may be determined from the encoding apparatus, and the CRA picture received in the system that receives the bitstream from the encoding apparatus may be changed to a BLA picture. For example, when the bitstream is spliced, the system changes the CRA picture to a BLA picture to provide a decoder that decodes the picture, and parameter information for the picture is also newly provided from the system to the decoder. In the present invention, a decoder refers to all devices including an image processing unit for decoding an image, which may be implemented by the decoding apparatus of FIG. 2 or a decoding module which is a core module for processing an image.
다시 표 3으로 돌아가면 TED(tagged for discard) 픽처는 디코딩이 불가능한 리딩 픽처로 버려질 수 있는 픽처를 의미한다. TED 픽처는 가용하지 않는 참조 픽처를 참조하는 것과 같이 정상적으로 디코딩 되지 않는 픽처를 의미하며, TED 픽처는 디코딩 과정 및 출력 과정에서 제외된다.Returning to Table 3, a TED (tagged for discard) picture is a picture that can be discarded as a leading picture that can not be decoded. A TED picture refers to a picture that is not normally decoded, such as reference to an unavailable reference picture, and a TED picture is excluded from the decoding process and the output process.
TLA(temporal layer access) 픽처는 시간적 스케일러빌러티에서 업 스위칭이 가능한 위치를 알려주는 픽처로서, TLA 픽처 또는 TLA 픽처보다 큰 temporal_id를 갖는 서브 레이어를 포함하는 서브 레이어에서 업 스위칭이 가능한지 여부를 알려준다.A temporal layer access (TLA) picture is a picture indicating a position where up-switching is possible in the temporal scalability, and indicates whether up-switching is possible in a sub-layer including a sub-layer having a temporal_id larger than a TLA picture or a TLA picture.
표 3에서 CRA 픽처를 나타내는 nal_unit_type은 4 및 5이고, BLA 픽처를 나타내는 nal_unit_type이 6 및 7이다. CRA 픽처와 BLA 픽처는 아래와 같이 분류될 수 있다.In Table 3, the nal_unit_type representing the CRA picture is 4 and 5, and the nal_unit_type representing the BLA picture is 6 and 7. CRA pictures and BLA pictures can be classified as follows.
-Type 4: Coded slice of a CRAT (CRA with TFD) picture-Type 4: Coded slice of a CRAT (CRA with TFD) picture
-Type 5: Coded slice of a CRANT (CRA with no TFD) picture-Type 5: Coded slice of a CRANT (CRA with no TFD) picture
-Type 6: Coded slice of a BLAT (Broken link access unit with TFD) picture-Type 6: Coded slice of a BLAT (Broken link access unit with TFD) picture
-Type 7: Coded slice of a BLANT (Broken link access unit with no TFD) picture-Type 7: Coded slice of a BLANT (Broken link access unit with no TFD) picture
하지만, 상기 nal_unit_type이 4 내지 7인ㅇ 픽처는 CRA 픽처 및 BLA 픽처를 구분하는데 중복적일 수 있다. TFD 픽처를 수반하는 CRA 픽처(CRA with TFD)와 그렇지 않은 CRA 픽처(CRA with no TFD) 간의 구분이 모호하고, BLA 픽처 역시 TED 픽처를 수반하는지 여부를 구별할 실익이 크지 않다. 따라서, TFD 픽처의 유무에 따라 CRA 픽처와 BLA 픽처를 구분하는 것은 NAL 유닛 타입에 중복성을 더해 불필요할뿐만 아니라 이들의 구분이 명확하지 않아 혼란을 초래할 수 있다.However, the pictures having nal_unit_type of 4 to 7 may be redundant to distinguish the CRA picture and the BLA picture. The distinction between a CRA picture (CRA with TFD) with a TFD picture and a CRA picture without a CRA (CRA with no TFD) is ambiguous, and a BLA picture also has little advantage in discriminating whether or not it involves a TED picture. Therefore, the division of the CRA picture and the BLA picture depending on the presence or absence of the TFD picture is not only unnecessary because redundancy is added to the NAL unit type, and the distinction between the CRA picture and the BLA picture may lead to confusion.
따라서, 본 발명의 일 실시예에서는 NAL 유닛 타입의 중복성을 해소하기 위하여 상기 네 가지 타입을 두 가지 타입으로 재구성할 것을 제안한다.Therefore, in one embodiment of the present invention, it is proposed to reconstruct the above four types into two types in order to solve the redundancy of the NAL unit type.
새로운 NAL 유닛 타입은 TED 픽처의 유무에 관계 없이 CRA 픽처와 BLA 픽처만을 NAL 유닛 타입으로 정의 한다. 즉, 표 3의 CRA 픽처는 Type 4 및 Type 5로 구분되지 않는 하나의 타입으로 표현되고, BLA 픽처 역시 Type 6 및 Type 7로 구분되지 않는 하나의 타입으로 표현될 수 있다.The new NAL unit type defines only the CRA and BLA pictures as the NAL unit type regardless of whether there is a TED picture or not. That is, the CRA picture in Table 3 is expressed as one type not classified as
본 발명에서는 랜덤 억세스 포인트가 되는 픽처로서 뒤에 TED 픽처가 올 수 있는 픽처를 CRA 픽처로 정의하고 하나의 NAL 유닛 타입으로 표현한다.In the present invention, a picture to be a random access point and a TED picture to be followed can be defined as a CRA picture and represented by one NAL unit type.
반면, 새로운 랜덤 억세스 포인트까지 뒤에 TED 픽처가 올 수 없는 픽처를 BLA 픽처로 정의하고 하나의 NAL 유닛 타입으로 표현한다. 즉, BLA 픽처와 다음 랜덤 억세스 포인트 사이에는 TED 픽처가 존재하지 않는다.On the other hand, a picture that can not be followed by a TED picture until a new random access point is defined as a BLA picture and represented by a single NAL unit type. That is, there is no TED picture between the BLA picture and the next random access point.
정리하면, TED 픽처, CRA 픽처 및 BLA 픽처는 각각 독립된 NAL 유닛 타입으로 표현되고, 뒤에 TED 픽처가 올 수 있는 지 여부에 따라 CRA 픽처와 BLA 픽처를 구분할 뿐 CRA 픽처와 BLA 픽처를 두 개의 NAL 유닛 타입으로 분류하지 않는다.In summary, a TED picture, a CRA picture, and a BLA picture are represented as independent NAL unit types, and a CRA picture and a BLA picture are distinguished from each other depending on whether a TED picture can be followed. Do not classify as type.
이와 같이 기능적으로 유사한 4개의 NAL 유닛 타입을 2개로 줄이는 단순화를 통하여 NAL 유닛 타입을 보다 정확하게 정의할 수 있고, 이러한 단순화는 복잡성 낮추는 효과가 있다.By simplifying the functionally similar four NAL unit types to two, the NAL unit type can be more accurately defined, and this simplification has the effect of reducing the complexity.
도 8은 본 발명의 일 실시예에 따라 CRA 픽처가 BLA 픽처로 변경되는 것을 설명하기 위한 도면이다.8 is a diagram for explaining that a CRA picture is changed to a BLA picture according to an embodiment of the present invention.
도 8의 (a)는 인코딩 장치에서 출력되는 원래의 비트스트림을 도시한 것이고, (b)는 시스템에서 디코더에 제공하는 비트스트림을 도시한 도면이다.8 (a) shows an original bit stream outputted from an encoding apparatus, and FIG. 8 (b) shows a bit stream provided to a decoder in a system.
도 8의 CS(coded slice)는 정상적으로 인코딩된 슬라이스를 의미하고, 픽처를 식별하는 숫자는 픽처의 출력 순서, 즉 POC를 나타낸다.The CS (coded slice) in FIG. 8 indicates a normally encoded slice, and the number identifying a picture indicates a picture output order, that is, a POC.
(a)의 비트스트림에서 갑작스럽게 랜넘 억세스가 발생하면, 디코딩 과정은 CRA 픽처에서 시작된다. 이 경우, 시스템은 CRA 픽처의 NAL 유닛 타입을 (b)와 같이 BLA 픽처로 변경하고 CRA 픽처 뒤에 존재했던 모든 TED 픽처를 비트스트림에서 제거할 수 있다.When a random access occurs in the bitstream of (a), the decoding process starts in the CRA picture. In this case, the system can change the NAL unit type of the CRA picture to a BLA picture as shown in (b) and remove all TED pictures existing after the CRA picture from the bitstream.
그런 경우, (b)의 비트스트림을 수신한 디코더는 POC 28의 BLA 픽처를 디코딩한 뒤, 순차적으로 뒤에 존재하는 CS를 디코딩할 수 있다. 이 경우, 디코더는 입력되는 비트스트림의 픽처 비트열을 유지하기 위하여, 즉 픽처를 저장하는 버퍼의 오버플로우나 언더 플로우를 방지하기 위하여 소정의 지연 시간만큼 시간을 지연시킨 후 후속 픽처를 디코딩 할 수 있다.In such a case, the decoder that receives the bitstream of (b) may decode the BLA picture of
도 9는 본 발명에 따른 영상 정보의 인코딩 방법을 설명하기 위한 제어 흐름도이다.9 is a control flowchart for explaining a method of encoding image information according to the present invention.
도시된 바와 같이, 인코딩 장치는 영상에 관련된 정보를 포함하는 NAL 유닛을 인코딩 한다(S910).As shown, the encoding apparatus encodes a NAL unit including information related to an image (S910).
NAL 유닛 헤더는 스케일러블 계층을 지원하는 비트스트림에서 스케일러블 레이어를 식별하기 위한 계층 식별 정보를 포함하고 있다. 이러한 레이어 식별 정보는 reserved_one_5bits 및 temporal_id 또는 layer_id와 같은 신택스로 인코딩될 수 있다.The NAL unit header includes layer identification information for identifying a scalable layer in a bitstream supporting a scalable layer. Such layer identification information may be encoded with syntax such as reserved_one_5 bits and temporal_id or layer_id.
인코딩 장치는 비트스트림이 단일 계층을 지원하는 경우 reserved_one_5bits과 temporal_id을 순차적으로 인코딩하고, 비트스트림이 기본 타입이 아닌 확장 타입이면 layer_id을 인코딩할 수 있다.The encoding apparatus sequentially encodes the reserved_one_5 bits and the temporal_id when the bitstream supports a single layer, and encodes the layer_id if the bitstream is an extension type other than the basic type.
또는, 비트스트림이 지원하는 계층의 수와 관계 없이 reserved_one_5bits와 temporal_id를 결합시켜 layer_id라는 하나의 신택스 정보만을 인코딩 할 수도 있다.Alternatively, it is possible to encode only one syntax information layer_id by combining reserved_one_5 bits and temporal_id regardless of the number of layers supported by the bitstream.
인코딩 장치는 NAL 유닛 타입에 대한 정보를 NAL 유닛 헤더 부분에 인코딩 한다. VCL NAL 유닛 중 랜덤 억세스 포인트가 되는 픽처에는 IDR 픽처, CRA 픽처 및 BLA 픽처가 존재하며, 이러한 IRAP 픽처에 선행하여 출력되는 픽처는 리딩 픽처라고 한다.The encoding device encodes information on the NAL unit type into the NAL unit header portion. The IDR picture, the CRA picture and the BLA picture exist in the picture which becomes the random access point among the VCL NAL units, and the picture output preceding this IRAP picture is called the leading picture.
이러한 각각의 픽처는 서로 다른 nal_unit_type 정보로 식별된다.Each of these pictures is identified by different nal_unit_type information.
기존에는 리딩 픽처 중 디코딩되지 않고 비트스트림에서 제거될 수 있는 TED 픽처의 유무에 따라 CRA 픽처와 BLA 픽처는 각각 두 개의 NAL 유닛 타입으로 표현되었다.The CRA picture and the BLA picture are represented by two NAL unit types, respectively, depending on the presence or absence of a TED picture that can be removed from the bitstream without being decoded among the leading pictures.
본 발명의 일 실시예에 따른 인코딩 장치는 TED 픽처의 유무에 관계 없이 TED 픽처, CRA 픽처 및 BLA 픽처는 각각 독립된 NAL 유닛 타입으로 인코딩하고, 뒤에 TED 픽처가 올 수 있는 지 여부에 따라 CRA 픽처와 BLA 픽처를 구분하여 인코딩한다.The encoding apparatus according to an embodiment of the present invention encodes a TED picture, a CRA picture, and a BLA picture into independent NAL unit types regardless of the presence or absence of a TED picture, The BLA pictures are separately encoded.
다른 실시예에 따르면, NAL 유닛의 NAL 유닛 헤더는 NAL 유닛이 비 참조 픽처의 적어도 일부 또는 전부를 포함하는 슬라이스를 포함하는지 여부를 나타내는 정보인 nal_ref_fla를 포함하지 않을 수 있다.According to another embodiment, the NAL unit header of the NAL unit may not include nal_ref_fla, which is information indicating whether the NAL unit includes a slice including at least a part or all of the non-reference pictures.
또한, 본 발명의 다른 실시예에 따르면, 인코딩 장치는 BLA 픽처 뒤에 인코딩되는 리딩 픽처 중 TED 픽처가 아닌 디코딩 가능한 리딩 픽처가 존재할 경우 이를 식별하기 위하여 이러한 BLA 픽처를 새로운 nal_unit_type 정보로 인코딩 할 수도 있다.According to another embodiment of the present invention, the encoding apparatus may encode such a BLA picture as new nal_unit_type information in order to identify if there is a decodable leading picture that is not a TED picture to be encoded after the BLA picture.
인코딩 장치는 인코딩된 영상에 관련된 정보를 포함하는 NAL 유닛을 비트스트림으로 디코딩 장치로 전송한다(S902)The encoding apparatus transmits a NAL unit including information related to the encoded image as a bitstream to the decoding apparatus (S902)
도 10은 본 발명에 따른 영상 정보의 디코딩 방법을 설명하기 위한 제어 흐름도이다.10 is a control flowchart for explaining a method of decoding image information according to the present invention.
도 10을 참조하면, 디코딩 장치는 비트스트림을 통하여 인코딩된 영상에 관련된 정보를 포함하는 NAL 유닛을 수신한다(S1001).Referring to FIG. 10, the decoding apparatus receives a NAL unit including information related to an image encoded through a bitstream (S1001).
NAL 유닛 헤더에는 스케일러블 계층을 지원하는 비트스트림에서 스케일러블 계층을 식별하기 위한 계층 식별 정보 및 성질에 따라 NAL 유닛을 구분하고 있는 nal_unit_type 정보가 포함되어 있다.The NAL unit header includes layer identification information for identifying a scalable layer in a bitstream supporting a scalable layer and nal_unit_type information for distinguishing NAL units according to properties.
디코딩 장치는 NAL 유닛의 헤더 및 NAL 페이로드(payload)를 파싱한다(S1002). 영상 정보에 대한 파싱은 엔트로피 디코딩부 또는 별도의 파싱부에서 수행될 수 있다.The decoding apparatus parses the header and the NAL payload of the NAL unit (S1002). The parsing of the image information may be performed in an entropy decoding unit or a separate parsing unit.
디코딩 장치는 파싱을 통하여 NAL 유닛 헤더 및 NAL 페이로드에 포함되어 있는 다양한 정보를 획득할 수 있다.The decoding apparatus can acquire various information included in the NAL unit header and the NAL payload through parsing.
디코딩 장치는 단일 계층을 지원하는 비트스트림에서 계층을 식별하는 정보인 reserved_one_5bits 및 temporal_id 순으로 수신하고, 두 개의 정보를 한번에 파싱할 수 있다. 이 경우 복수의 계층을 지원하는 비트스트림에서 계층을 식별하는 정보인 layer_id과 유사한 패턴으로 파싱할 수 있는 효과가 있다.The decoding apparatus can receive information in the order of reserved_one_5 bits and temporal_id, which identify the layer in the bit stream supporting a single layer, and can parse the two pieces of information at a time. In this case, there is an effect that a pattern similar to layer_id, which is information for identifying a layer in a bit stream supporting a plurality of layers, can be parsed.
디코딩 장치는 또한, nal_unit_type을 파싱하여 픽처의 종류를 구분하고, 이에 대응하여 영상을 처리할 수 있다. 예를 들어, IDR 픽처, CRA 픽처 및 BLA 픽처에 대해서는 랜덤 억세스 포인트가 되는 픽처이므로 I 슬라이스에 대응하는 영상 처리를 하고, TED 픽처에 대하여는 디코딩 하지 않는다.The decoding apparatus can also parse nal_unit_type to classify the types of pictures and process the images correspondingly. For example, since the IDR picture, the CRA picture, and the BLA picture are the random access points, the image processing corresponding to the I-slice is performed and the TED picture is not decoded.
디코딩 장치에서 CRA 픽처를 BLA 픽처로 변경할 수 있는 경우, 디코딩 장치는 BLA 픽처로 변경된 픽처 뒤에 수신되는 TED 픽처를 비트스트림에서 제거하거나 디코딩 하지 않을 수 있다.If the CRA picture can be changed to the BLA picture in the decoding apparatus, the decoding apparatus may not remove or decode the TED picture received after the picture changed to the BLA picture from the bitstream.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함할 수 있으므로 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.In the above-described exemplary system, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of the steps, and some steps may occur in different orders . In addition, since the above-described embodiments may include examples of various aspects, combinations of the respective embodiments should also be understood as one embodiment of the present invention. Accordingly, it is intended that the invention include all alternatives, modifications and variations that fall within the scope of the following claims.
210 : 엔트로피 디코딩부 220 : 역양자화부
225 : 역변환부 230 ; 예측부
235 : 필터부 240 : 메모리210: Entropy decoding unit 220: Inverse quantization unit
225: an
235: filter section 240: memory
Claims (15)
상기 NAL 유닛의 NAL 유닛 헤더에서 NAL 유닛 타입을 지시하는 NAL 유닛 타입 정보를 획득하는 단계; 및
상기 NAL 유닛 타입 정보를 기반으로 상기 영상 정보를 디코딩하는 단계를 포함하되,
상기 NAL 유닛 타입은 CRA(clean random access) 픽처에 대한 CRA 픽처 타입 및 BLA(Broken link access) 픽처에 대한 BLA 픽처 타입을 포함하는 NAL 유닛 타입들 중 하나이고,
상기 CRA 픽처는 랜덤 억세스 포인트 픽처이고, 상기 CRA 픽처보다 출력 순서가 선행하는 리딩 픽처(leading picture)로 스킵 픽처가 존재하는지 여부와 무관하게 하나의 NAL 유닛 타입을 갖고,
상기 NAL 유닛 헤더는 확장된 레이어를 식별하기 위한 확장 레이어 정보 및 시간적 레이어를 식별하기 위한 시간적 레이어 정보를 포함하고,
상기 확장 레이어 정보가 상기 시간적 레이어 정보보다 먼저 시그널링 또는 파싱되고,
상기 스킵 픽처는 상기 랜덤 억세스 포인트 픽처로 랜덤 억세스 시 출력되지 않는 리딩 픽처인 것을 특징으로 하는 영상 정보 디코딩 방법.Comprising: receiving a bitstream including a Network Abstraction Layer (NAL) unit including encoded image information;
Obtaining NAL unit type information indicating a NAL unit type in a NAL unit header of the NAL unit; And
And decoding the image information based on the NAL unit type information,
The NAL unit type is one of NAL unit types including a CRA picture type for a clean random access (CRA) picture and a BLA picture type for a BLA (Broken link access) picture,
Wherein the CRA picture is a random access point picture and is a leading picture preceding an output order of the CRA picture and has one NAL unit type regardless of whether a skip picture exists or not,
Wherein the NAL unit header includes enhancement layer information for identifying an extended layer and temporal layer information for identifying a temporal layer,
Wherein the enhancement layer information is signaled or parsed prior to the temporal layer information,
Wherein the skip picture is a random access point picture, and the skip picture is a random picture that is not output upon random access to the random access point picture.
상기 BLA 픽처의 뒤에는 상기 스킵 픽처가 존재하지 않는 것을 특징으로 하는 영상 정보 디코딩 방법.The method according to claim 1,
And the skip picture does not exist after the BLA picture.
상기 NAL 유닛의 NAL 유닛 헤더에서 NAL 유닛 타입을 지시하는 NAL 유닛 타입 정보를 획득하고, 및 상기 NAL 유닛 타입 정보를 기반으로 상기 영상 정보를 디코딩하는 디코더를 포함하되,
상기 NAL 유닛 타입은 CRA(clean random access) 픽처에 대한 CRA 픽처 타입 및 BLA(Broken link access) 픽처에 대한 BLA 픽처 타입을 포함하는 NAL 유닛 타입들 중 하나이고,
상기 CRA 픽처는 랜덤 억세스 포인트 픽처이고, 상기 CRA 픽처보다 출력 순서가 선행하는 리딩 픽처(leading picture)로 스킵 픽처가 존재하는지 여부와 무관하게 하나의 NAL 유닛 타입을 갖고,
상기 NAL 유닛 헤더는 확장된 레이어를 식별하기 위한 확장 레이어 정보 및 시간적 레이어를 식별하기 위한 시간적 레이어 정보를 포함하고,
상기 확장 레이어 정보가 상기 시간적 레이어 정보보다 먼저 시그널링 또는 파싱되고,
상기 스킵 픽처는 상기 랜덤 억세스 포인트 픽처로 랜덤 억세스 시 출력되지 않는 리딩 픽처인 것을 특징으로 하는 영상 정보 디코딩 장치.A receiver for receiving a bitstream including a Network Abstraction Layer (NAL) unit including encoded image information;
A decoder for obtaining NAL unit type information indicating a NAL unit type in a NAL unit header of the NAL unit and decoding the video information based on the NAL unit type information,
The NAL unit type is one of NAL unit types including a CRA picture type for a clean random access (CRA) picture and a BLA picture type for a BLA (Broken link access) picture,
Wherein the CRA picture is a random access point picture and is a leading picture preceding an output order of the CRA picture and has one NAL unit type regardless of whether a skip picture exists or not,
Wherein the NAL unit header includes enhancement layer information for identifying an extended layer and temporal layer information for identifying a temporal layer,
Wherein the enhancement layer information is signaled or parsed prior to the temporal layer information,
Wherein the skip picture is a random access point picture, and the skip picture is a random picture that is not output upon random access to the random access point picture.
상기 BLA 픽처의 뒤에는 상기 스킵 픽처가 존재하지 않는 것을 특징으로 하는 영상 정보 디코딩 장치.11. The method of claim 10,
And the skip picture does not exist after the BLA picture.
상기 결정된 NAL 유닛 타입을 기반으로 NAL 유닛 타입 정보를 도출하는 단계;
상기 NAL 유닛 타입 정보를 포함하는 NAL 유닛 헤더를 구성하는 단계;
상기 NAL 유닛 헤더를 기반으로 상기 현재 픽처에 관한 영상 정보를 포함하는 NAL 유닛을 구성하는 단계;
상기 NAL 유닛을 포함하는 비트스트림을 생성하는 단계를 포함하되,
상기 NAL 유닛 타입은 CRA(clean random access) 픽처에 대한 CRA 픽처 타입 및 BLA(Broken link access) 픽처에 대한 BLA 픽처 타입을 포함하는 NAL 유닛 타입들 중 하나이고,
상기 CRA 픽처는 랜덤 억세스 포인트 픽처이고, 상기 CRA 픽처보다 출력 순서가 선행하는 리딩 픽처(leading picture)로 스킵 픽처가 존재하는지 여부와 무관하게 하나의 NAL 유닛 타입을 갖고,
상기 NAL 유닛 헤더는 확장된 레이어를 식별하기 위한 확장 레이어 정보 및 시간적 레이어를 식별하기 위한 시간적 레이어 정보를 포함하고,
상기 확장 레이어 정보가 상기 시간적 레이어 정보보다 먼저 시그널링 또는 파싱되는 것을 특징으로 하는, 영상 정보 인코딩 방법.Determining a Network Abstraction Layer (NAL) unit type for the current picture;
Deriving NAL unit type information based on the determined NAL unit type;
Configuring a NAL unit header including the NAL unit type information;
Constructing a NAL unit including video information on the current picture based on the NAL unit header;
Generating a bitstream comprising the NAL unit,
The NAL unit type is one of NAL unit types including a CRA picture type for a clean random access (CRA) picture and a BLA picture type for a BLA (Broken link access) picture,
Wherein the CRA picture is a random access point picture and is a leading picture preceding an output order of the CRA picture and has one NAL unit type regardless of whether a skip picture exists or not,
Wherein the NAL unit header includes enhancement layer information for identifying an extended layer and temporal layer information for identifying a temporal layer,
Wherein the enhancement layer information is signaled or parsed prior to the temporal layer information.
A digital storage medium, wherein the bitstream generated by the image information encoding method of claim 14 is stored.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261658421P | 2012-06-12 | 2012-06-12 | |
US201261658422P | 2012-06-12 | 2012-06-12 | |
US61/658,422 | 2012-06-12 | ||
US61/658,421 | 2012-06-12 | ||
PCT/KR2013/005207 WO2013187698A1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147006789A Division KR101626522B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197014916A Division KR102028527B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150031500A KR20150031500A (en) | 2015-03-24 |
KR101984181B1 true KR101984181B1 (en) | 2019-05-30 |
Family
ID=49758464
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197014916A KR102028527B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020197028516A KR102079803B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020167013967A KR101759855B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020207004478A KR102127370B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020147006789A KR101626522B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020157005836A KR101984181B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020207018032A KR20200077615A (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197014916A KR102028527B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020197028516A KR102079803B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020167013967A KR101759855B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020207004478A KR102127370B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
KR1020147006789A KR101626522B1 (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207018032A KR20200077615A (en) | 2012-06-12 | 2013-06-12 | Image decoding method and apparatus using same |
Country Status (4)
Country | Link |
---|---|
US (6) | US9794582B2 (en) |
KR (7) | KR102028527B1 (en) |
CN (5) | CN103843342B (en) |
WO (1) | WO2013187698A1 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103843342B (en) | 2012-06-12 | 2017-04-12 | Lg电子株式会社 | Image decoding method |
US9225978B2 (en) * | 2012-06-28 | 2015-12-29 | Qualcomm Incorporated | Streaming adaption based on clean random access (CRA) pictures |
US10764593B2 (en) * | 2012-07-03 | 2020-09-01 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video having temporal scalability, and method and apparatus for decoding video having temporal scalability |
CN104620578B (en) * | 2012-07-06 | 2018-01-02 | 三星电子株式会社 | Method and apparatus for the multi-layer video coding of random access and the method and apparatus of the multi-layer video decoding for random access |
US20140301436A1 (en) * | 2013-04-05 | 2014-10-09 | Qualcomm Incorporated | Cross-layer alignment in multi-layer video coding |
EP3076670A4 (en) * | 2014-01-03 | 2017-08-23 | Samsung Electronics Co., Ltd. | Method for encoding video and apparatus therefor, and method for decoding video and apparatus therefor using effective parameter delivery |
JP2015136059A (en) * | 2014-01-17 | 2015-07-27 | ソニー株式会社 | Communication device, communication data generation method, and communication data processing method |
US10194182B2 (en) | 2014-02-03 | 2019-01-29 | Lg Electronics Inc. | Signal transmission and reception apparatus and signal transmission and reception method for providing trick play service |
US10645404B2 (en) * | 2014-03-24 | 2020-05-05 | Qualcomm Incorporated | Generic use of HEVC SEI messages for multi-layer codecs |
US9866852B2 (en) * | 2014-06-20 | 2018-01-09 | Qualcomm Incorporated | Video coding using end of sequence network abstraction layer units |
KR102423610B1 (en) * | 2015-02-27 | 2022-07-22 | 소니그룹주식회사 | Transmitting device, sending method, receiving device and receiving method |
KR102477964B1 (en) * | 2015-10-12 | 2022-12-16 | 삼성전자주식회사 | Scheme for supporting random access and playing video bitstream in a media transport system |
US11563938B2 (en) | 2016-02-15 | 2023-01-24 | Qualcomm Incorporated | Geometric transforms for filters for video coding |
CN106658225B (en) * | 2016-10-31 | 2019-11-26 | 日立楼宇技术(广州)有限公司 | The setting of Video Expansion code and video broadcasting method and system |
US10506230B2 (en) * | 2017-01-04 | 2019-12-10 | Qualcomm Incorporated | Modified adaptive loop filter temporal prediction for temporal scalability support |
US11509879B2 (en) | 2018-10-02 | 2022-11-22 | Lg Electronics Inc. | Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video |
US11265580B2 (en) * | 2019-03-22 | 2022-03-01 | Tencent America LLC | Supplemental enhancement information messages for neural network based video post processing |
US11265357B2 (en) | 2019-10-10 | 2022-03-01 | Microsoft Technology Licensing, Llc | AV1 codec for real-time video communication |
CN115152238A (en) * | 2019-12-23 | 2022-10-04 | Lg电子株式会社 | Image coding device and method based on filtering |
CN116034581A (en) * | 2020-06-10 | 2023-04-28 | Lg电子株式会社 | Image encoding/decoding method and apparatus for signaling APS identifier and computer readable recording medium storing bit stream |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101626522B1 (en) * | 2012-06-12 | 2016-06-01 | 엘지전자 주식회사 | Image decoding method and apparatus using same |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266150B2 (en) * | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
US9560367B2 (en) | 2004-09-03 | 2017-01-31 | Nokia Technologies Oy | Parameter set and picture header in video coding |
KR20070012201A (en) * | 2005-07-21 | 2007-01-25 | 엘지전자 주식회사 | Method for encoding and decoding video signal |
KR100770704B1 (en) * | 2005-08-04 | 2007-10-29 | 삼성전자주식회사 | Method and apparatus for picture skip |
CN101317460A (en) | 2005-10-11 | 2008-12-03 | 诺基亚公司 | System and method for efficient scalable stream adaptation |
US7535383B2 (en) * | 2006-07-10 | 2009-05-19 | Sharp Laboratories Of America Inc. | Methods and systems for signaling multi-layer bitstream data |
EP1994721A4 (en) * | 2007-01-12 | 2013-09-25 | Univ Kyung Hee Univ Ind Coop Group | Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, qos control algorithm and apparatus for ipv6 label switching using the format |
US20090187960A1 (en) | 2008-01-17 | 2009-07-23 | Joon Hui Lee | IPTV receiving system and data processing method |
KR100970388B1 (en) * | 2008-10-31 | 2010-07-15 | 한국전자통신연구원 | Network flow based scalable video coding adaptation device and method thereof |
JP5094760B2 (en) * | 2009-02-13 | 2012-12-12 | 三菱電機株式会社 | Video encoding device |
WO2010123198A2 (en) | 2009-04-21 | 2010-10-28 | 엘지전자 주식회사 | Method and apparatus for processing multi-view video signal |
EP2664075A4 (en) * | 2011-01-14 | 2015-08-19 | Vidyo Inc | Improved nal unit header |
KR20130058584A (en) * | 2011-11-25 | 2013-06-04 | 삼성전자주식회사 | Method and apparatus for encoding image, and method and apparatus for decoding image to manage buffer of decoder |
KR102047492B1 (en) * | 2012-03-12 | 2019-11-22 | 삼성전자주식회사 | Method and apparatus for scalable video encoding, method and apparatus for scalable video decoding |
US20130272619A1 (en) * | 2012-04-13 | 2013-10-17 | Sharp Laboratories Of America, Inc. | Devices for identifying a leading picture |
US9351016B2 (en) * | 2012-04-13 | 2016-05-24 | Sharp Kabushiki Kaisha | Devices for identifying a leading picture |
US9532055B2 (en) * | 2012-04-16 | 2016-12-27 | Microsoft Technology Licensing, Llc | Constraints and unit types to simplify video random access |
-
2013
- 2013-06-12 CN CN201380003197.8A patent/CN103843342B/en active Active
- 2013-06-12 KR KR1020197014916A patent/KR102028527B1/en active IP Right Grant
- 2013-06-12 KR KR1020197028516A patent/KR102079803B1/en active IP Right Grant
- 2013-06-12 KR KR1020167013967A patent/KR101759855B1/en active IP Right Grant
- 2013-06-12 CN CN201710145360.4A patent/CN107087203B/en active Active
- 2013-06-12 CN CN201710145392.4A patent/CN107087204B/en active Active
- 2013-06-12 KR KR1020207004478A patent/KR102127370B1/en active IP Right Grant
- 2013-06-12 CN CN201710146465.1A patent/CN107071493B/en active Active
- 2013-06-12 KR KR1020147006789A patent/KR101626522B1/en active IP Right Grant
- 2013-06-12 WO PCT/KR2013/005207 patent/WO2013187698A1/en active Application Filing
- 2013-06-12 KR KR1020157005836A patent/KR101984181B1/en active IP Right Grant
- 2013-06-12 KR KR1020207018032A patent/KR20200077615A/en not_active Application Discontinuation
- 2013-06-12 CN CN201710146449.2A patent/CN107087205B/en active Active
- 2013-06-12 US US14/352,400 patent/US9794582B2/en active Active
-
2017
- 2017-10-03 US US15/723,304 patent/US10448039B2/en active Active
-
2018
- 2018-05-04 US US15/971,724 patent/US10469861B2/en active Active
-
2019
- 2019-10-09 US US16/597,153 patent/US10863187B2/en active Active
-
2020
- 2020-11-06 US US17/091,528 patent/US11546622B2/en active Active
-
2022
- 2022-12-06 US US18/075,748 patent/US20230099035A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101626522B1 (en) * | 2012-06-12 | 2016-06-01 | 엘지전자 주식회사 | Image decoding method and apparatus using same |
Non-Patent Citations (4)
Title |
---|
B. Choi, et al. NAL unit header for scalable extension. JCT-VC of ITU-T and ISO/IEC. JCTVC-I0132 (ver.2). Apr. 24, 2012. pp.1-5 |
G. J. Sullivan. CRA pictures with broken links. JCT-VC of ITU-T and ISO/IEC. JCTVC-I0404 (ver.6). May. 7, 2012, pp.1-3 |
J. Boyce, et al. Parameter sets modifications for temporal scalability and extension hooks. JCT-VC of ITU-T and ISO/IEC. JCTVC-I0230 (ver.3). May. 1, 2012. pp.1-9 |
Y-K. Wang. On allocation of NAL unit types. JCT-VC of ITU-T and ISO/IEC. JCTVC-I0607 (ver.4). May. 7, 2012, pp.1-4 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546622B2 (en) | Image decoding method and apparatus using same | |
KR101614361B1 (en) | Method for decoding image and apparatus using same | |
US20150124864A1 (en) | Image decoding method and apparatus using same | |
KR102477476B1 (en) | Method and apparatus for encoding/decoding images | |
KR20140043240A (en) | Method and apparatus for image encoding/decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |