KR20150095625A - 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치 - Google Patents

비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치 Download PDF

Info

Publication number
KR20150095625A
KR20150095625A KR1020157011908A KR20157011908A KR20150095625A KR 20150095625 A KR20150095625 A KR 20150095625A KR 1020157011908 A KR1020157011908 A KR 1020157011908A KR 20157011908 A KR20157011908 A KR 20157011908A KR 20150095625 A KR20150095625 A KR 20150095625A
Authority
KR
South Korea
Prior art keywords
picture
layer
prediction
interlayer
current
Prior art date
Application number
KR1020157011908A
Other languages
English (en)
Inventor
헨드리 헨드리
박준영
김철근
전병문
김정선
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20150095625A publication Critical patent/KR20150095625A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

본 발명은 멀티 레이어 구조에서의 스케일러블 비디오 코딩 방법으로서, 본 발명에 따른 비디오 인코딩 방법은 참조 레이어의 픽처를 복호화하고 저장하는 단계, 현재 레이어의 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도하는 단계, 상기 인터 레이어 참조 픽처 및 상기 현재 레이어의 참조 픽처를 포함하는 참조 픽처 리스트를 구성하는 단계, 상기 참조 픽처 리스트를 상기 현재 레이어의 현재 블록에 대한 예측을 수행하여 상기 현재 블록에 대한 예측 샘플을 유도하는 단계, 상기 예측 샘플과 상기 현재 블록에 대한 예측 블록을 기반으로 상기 현재 블록에 대한 복원 샘플을 유도하는 단계 및 상기 참조 레이어의 픽처들 중에서 인터 레이어에 예측에 이용될 수 있는 픽처를 지시하는 참조 정보를 전송하는 단계를 포함할 수 있다.

Description

비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치{METHOD FOR ENCODING VIDEO, METHOD FOR DECODING VIDEO, AND APPARATUS USING SAME}
본 발명은 비디오 부호화 및 복호화에 관한 것으로서, 더 구체적으로는 멀티 레이어 구조에서 다른 레이어의 정보를 기반으로 현재 레이어의 부호화/복호화 대상 픽처를 복원하는 방법 및 장치에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가하고 있다.
정보량의 증가로 인해 다양한 성능의 장치와 다양한 환경의 네트워크가 등장하고 있다. 다양한 성능의 장치와 다양한 환경의 네트워크가 등장함에 따라서, 동일한 콘텐츠를 다양한 품질로 이용할 수 있게 되었다.
구체적으로, 단말 장치가 지원할 수 있는 품질의 영상이 다양해지고, 구축된 네트워크 환경이 다양해짐으로써, 어떤 환경에서는 일반적인 품질의 영상을 이용하지만, 또 다른 환경에서는 더 높은 품질의 영상을 이용할 수 있게 된다.
예를 들어, 휴대 단말에서 비디오 콘텐츠를 구매한 소비자가 가정 내 대화면의 디스플레이를 통해 동일한 비디오 콘텐츠를 더 큰 화면과 더 높은 해상도로 감상할 수 있게 되는 것이다.
최근에는 HD(High Definition) 해상도를 가지는 방송이 서비스되면서 많은 사용자들은 이미 고해상도, 고화질의 영상에 익숙해지고 있고, 서비스 제공자와 사용자들은 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)의 서비스에도 관심을 기울이고 있다.
따라서, 다양한 환경에서 사용자가 요구하는 영상 서비스를 품질에 따라서 다양하게 제공하기 위해 고용량 비디오에 대한 고효율의 인코딩/디코딩 방법을 기반으로 영상의 품질, 예컨대 영상의 화질, 영상의 해상도, 영상의 크기, 비디오의 프레임 레이트 등에 스케일러빌러티를 제공하는 것이 필요하다. 또한, 이러한 스케일러빌러티에 수반되는 다양한 영상 처리 방법이 논의될 필요가 있다.
본 발명은 멀티 레이어 구조의 스케일러블 비디오 코딩에서 효과적인 인터 레이어 예측이 수행되기 위한 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 멀티 레이어 구조의 스케일러블 비디오 코딩에서 인터 레이어 예측을 위해 참조 레이어의 픽처들에 대한 선별적인 처리가 수행될 수 있도록 하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 멀티 레이어 구조의 스케일러블 비디오 코딩에서 인터 레이어 예측을 위해 참조 레이어의 픽처들 중 현재 레이어에서 참조 가능한 픽처들이 특정될 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 멀티 레이어 구조의 스케일러블 비디오 코딩에서 인터 레이어 예측을 위해 특정된 참조 레이어의 픽처들을 기반으로 인터 레이어 예측을 효과적으로 수행할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시 형태는 멀티 레이어 구조에서의 스케일러블 비디오 인코딩 방법으로서, 참조 레이어의 픽처를 복호화하고 저장하는 단계, 상기 참조 레이어의 복호화된 픽처로부터 현재 레이어의 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도하는 단계, 상기 인터 레이어 참조 픽처 및 상기 현재 레이어의 참조 픽처를 포함하는 참조 픽처 리스트를 구성하는 단계, 상기 참조 픽처 리스트를 상기 현재 레이어의 현재 블록에 대한 예측을 수행하여 상기 현재 블록에 대한 예측 샘플을 유도하는 단계, 상기 예측 샘플과 상기 현재 블록에 대한 예측 블록을 기반으로 상기 현재 블록에 대한 복원 샘플을 유도하는 단계 및 상기 참조 레이어의 픽처들 중에서 인터 레이어에 예측에 이용될 수 있는 픽처를 지시하는 참조 정보를 전송하는 단계를 포함할 수 있다.
본 발명의 다른 실시 형태는 멀티 레이어 구조에서의 스케일러블 비디오 디코딩 방법으로서, 참조 레이어의 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시하는 참조 정보를 수신하는 단계, 상기 참조 정보를 기반으로 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계, 상기 참조 정보를 기반으로 상기 참조 레이어의 복호화된 픽처로부터 현재 레이어의 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도하는 단계, 상기 인터 레이어 참조 픽처 및 상기 현재 레이어의 참조 픽처를 포함하는 참조 픽처 리스트를 구성하는 단계, 상기 참조 픽처 리스트를 기반으로 상기 현재 레이어의 현재 블록에 대한 예측을 수행하여 상기 현재 블록에 대한 예측 샘플을 유도하는 단계 및 상기 예측 샘플과 상기 현재 블록에 대한 레지듀얼 샘플을 기반으로 상기 현재 블록에 대한 복원 샘플을 유도하는 단계를 포함할 수 있다.
본 발명에 의하면, 멀티 레이어 구조의 스케일러블 비디오 코딩에서 효과적인 인터 레이어 예측이 수행될 수 있다.
본 발명에 의하면, 멀티 레이어 구조의 스케일러블 비디오 코딩에서 인터 레이어 예측을 위해 참조 레이어의 픽처들에 대한 선별적인 처리가 수행될 수 있다.
본 발명에 의하면, 멀티 레이어 구조의 스케일러블 비디오 코딩에서 인터 레이어 예측을 위해 참조 레이어의 픽처들 중 현재 레이어에서 참조 가능한 픽처들이 특정될 수 있다.
본 발명에 의하면, 멀티 레이어 구조의 스케일러블 비디오 코딩에서 인터 레이어 예측을 위해 특정된 참조 레이어의 픽처들을 기반으로 인터 레이어 예측을 효과적으로 수행될 수 있다.
도 1은 본 발명의 일 실시예에 따라 스케일러빌러티를 지원하는 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명에 따라서 스케일러블 코딩을 수행하는 인코딩 장치에서의 인터 레이어 예측에 관한 일 예를 설명하는 블록도이다.
도 3은 본 발명이 적용될 수 있는 두 공간적(spatial) 레이어 시퀀스 구조의 일 예를 개략적으로 설명하는 도면이다.
도 4는 본 실시예에 관하여 개략적으로 설명하는 도면으로서, 디코딩 장치에 전달할 필요가 없거나 디코딩될 필요가 없는 고딩된 픽처들을 제거하는 방법의 일 예를 도시하고 있다.
도 5는 메모리 관리의 일 예에 관하여 개략적으로 설명하는 도면이다.
도 6은 본 발명에 따른 메모리 관리의 일 예를 개략적으로 설명하는 도면이다.
도 7은 도 6의 예에서 디코딩 과정에 필요하지 않은 픽처들을 제외한 상황을 개략적으로 설명하는 도면이다.
도 8은 각 픽처의 디코딩 과정에서 콘텐트/메모리 상태/DPB 상태에 관한 일 예를 개략적으로 설명하는 도면이다.
도 9는 본 발명에 따른, 비디오 인코딩 장치의 동작에 관한 일 예를 개략적으로 설명하는 순서도이다.
도 10은 본 발명에 따른 비디오 디코딩 장치의 동작에 관한 일 예를을 개략적으로 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
스케일러빌러티를 지원하는 비디오 코딩 방법(이하, ‘스케일러블 코딩’이라 함)에서는 입력 신호들을 레이어 별로 처리할 수 있다. 레이어에 따라서 입력 신호(입력 영상)들은 해상도(resolution), 프레임 레이트(frame rate), 비트 뎁스(bit-depth), 컬러 포맷(color format), 애스팩트 율(aspect ratio), 뷰(view) 중 적어도 하나가 상이할 수 있다.
본 명세서에서, 스케일러블 코딩이라 함은 스케일러블 인코딩과 스케일러블 디코딩을 포함한다.
스케일러블 인코딩/디코딩에서는 레이어 간의 차이점을 이용하여, 즉 스케일러빌러티에 기반하여, 레이어 간의 예측을 수행함으로써 정보의 중복 전송/처리를 줄이고 압축 효율을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따라 스케일러빌러티를 지원하는 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 1의 예에서는, 설명의 편의를 위해 두 개의 레이어로 구성된 멀티 레이어 구조를 예로서 설명한다. 하지만, 본 발명은 이에 한정되지 않으며, 본 발명이 적용되는 멀티 레이어 구조는 둘 이상의 레이어를 포함할 수 있음에 유의한다.
도 1을 참조하면, 인코딩 장치(100)는 레이어 1에 대한 인코딩부(105)와 레이어 0에 대한 인코딩부(135)를 포함한다.
레이어 0은 베이스 레이어, 참조 레이어 혹은 하위 레이어일 수 있으며, 레이어 1은 인핸스먼트 레이어, 현재 레이어 혹은 상위 레이어일 수 있다.
레이어 1의 인코딩부(105)는 예측부(110), 변환/양자화부(115), 필터링부(120), DPB(Decoded Picture Buffer, 125), 엔트로피 코딩부(130), 및 MUX(Multiplexer, 165)를 포함한다.
레이어 0의 인코딩부(135)는 예측부(140), 변환/양자화부(145), 필터링부(150), DPB(155) 및 엔트로피 코딩부(160)를 포함한다.
예측부(110, 140)는 입력된 영상에 대하여 인터 예측과 인트라 예측을 수행할 수 있다. 예측부(110, 140)는 소정의 처리 단위로 예측을 수행할 수 있다. 예측의 수행 단위는 코딩 유닛(Coding Unit: CU)일 수도 있고, 예측 유닛(Prediction Unit: PU)일 수도 있으며, 변환 유닛(Transform Unit: TU)일 수도 있다.
예컨대, 예측부(110, 140)는 CU 단위로 인터 예측을 적용할 것인지 인트라 예측을 적용할 것인지를 결정하고, PU 단위로 예측의 모드를 결정하며, PU 단위 혹은 TU 단위로 예측을 수행할 수도 있다. 수행되는 예측은 예측 블록의 생성과 레지듀얼 블록(레지듀얼 신호)의 생성을 포함한다.
인터 예측을 통해서는 현재 픽쳐의 이전 픽쳐 및/또는 이후 픽쳐 중 적어도 하나의 픽쳐의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 인트라 예측을 통해서는 현재 픽쳐 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측의 모드 또는 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Predictor) 모드 방법 등이 있다. 인터 예측에서는 예측 대상인 현재 PU에 대하여 참조 픽쳐를 선택하고, 참조 픽쳐 내에서 현재 PU에 대응하는 참조 블록을 선택할 수 있다. 예측부(110, 140)는 참조 블록을 기반으로 예측 블록을 생성할 수 있다.
예측 블록은 정수 샘플 단위로 생성될 수도 있고, 정수 이하 픽셀 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 픽셀 단위 혹은 정수 픽셀 이하의 단위로 표현될 수 있다.
인터 예측에 있어서 움직임 정보 즉, 참조 픽쳐의 인덱스, 움직임 벡터, 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다. 스킵 모드가 적용되는 경우에는 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 두 개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래이너 모드(Planar 모드)을 포함할 수 있다. 인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수도 있다.
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를 더 정의하여 사용할 수도 있다.
또한, 예측부(110)는 레이어 0의 정보를 이용하여 레이어 1에 대한 예측을 수행할 수 있다. 본 명세서에서는 다른 레이어의 정보를 이용하여 현재 레이어의 정보를 예측하는 방법을, 설명의 편의를 위해, 인터 레이어 예측이라고 한다.
다른 레이어의 정보를 이용하여 예측되는 (즉, 인터 레이어 예측에 의해 예측되는) 현재 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
또한, 현재 레이어에 대한 예측에 이용되는 (즉, 인터 레이어 예측에 이용되는) 다른 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
인터 레이어 예측에 있어서, 현재 블록은 현재 레이어(도 1의 예에서는 레이어 1) 내 현재 픽처 내의 블록으로서, 부호화 대상 블록일 수 있다. 참조 블록은 현재 블록의 예측에 참조되는 레이어(참조 레이어, 도 1의 예에서는 레이어 0)에서 현재 블록이 속하는 픽처(현재 픽처)와 동일한 액세스 유닛(AU: access Unit)에 속하는 픽처(참조 픽처) 내의 블록으로서, 현재 블록에 대응하는 블록일 수 있다.
인터 레이어 예측의 일 예로서, 참조 레이어의 움직임 정보를 이용하여 현재 레이어의 움직임 정보를 예측하는 인터 레이어 움직임 예측이 있다. 인터 레이어 움직임 예측에 의하면, 참조 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다..
인터 레이어 움직임 예측을 적용하는 경우에, 에측부(110)는 참조 레이어의 움직임 정보를 스케일링하여 이용할 수도 있다.
인터 레이어 예측의 또 다른 예로서 인터 레이어 텍스쳐 예측은 복원된 참조 블록의 텍스처를 현재 블록에 대한 예측 값으로 사용할 수 있다. 이때, 예측부(110)는 참조 블록의 텍스처를 업샘플링에 의해 스케일링될 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 유닛 정보 예측에서는 참조 레이어의 유닛(CU, PU 및/또는 TU) 정보를 유도하여 현재 레이어의 유닛 정보로 사용하거나, 참조 레이어의 유닛 정보를 기반으로 현재 레이어의 유닛 정보를 결정할 수 있다.
이때, 유닛 정보는 각 유닛 레벨에서의 정보를 포함할 수 있다. 예컨대, CU 정보의 경우, 파티션(CU, PU 및 또는 TU)에 관한 정보, 변환에 관한 정보, 예측에 대한 정보, 코딩에 대한 정보를 포함할 수 있다. PU 정보의 경우, PU 파티션에 관한 정보, 예측에 관한 정보(예컨대, 움직임 정보, 예측 모드에 관한 정보 등) 등을 포함할 수 있다. TU에 관한 정보는 TU 파티션에 관한 정보, 변환에 관한 정보(변환 계수, 변환 방법 등) 등을 포함할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 파라미터 예측에서는 참조 레이어의 유도된 파라미터를 현재 레이어에서 재사용하거나 참조 레이어에서 사용한 파라미터를 기반으로 현재 레이어에 대한 파라미터를 유도할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 레지듀얼 예측에서는 다른 레이어의 레지듀얼 정보를 이용하여 현재 레이어의 레지듀얼을 예측하고 이를 기반으로 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 차분 예측에서는, 현재 레이어의 복원 픽쳐와 참조 레이어의 복원 픽쳐를 업샘플링 혹은 다운샘플링한 영상들 간의 차분을 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 신택스 예측에서는 참조 레이어의 신택스 정보를 이용하여 현재 블록의 텍스처를 예측하거나 생성할 수 있다. 이때, 참조되는 참조 레이어의 신택스 정보는 인트라 예측 모드에 관한 정보, 움직임 정보를 포함할 수 있다.
상술된 인터 레이어를 이용한 여러 예측 방법은 특정 블록에 대한 예측 시 복 수개가 이용될 수도 있다.
여기서는 인터 레이어 예측의 예로서, 인터 레이어 텍스처 예측, 인터 레이어 움직임 예측, 인터 레이어 유닛 정보 예측, 인터 레이어 파라미터 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 차분 예측, 인터 레이어 신택스 예측 등을 설명하였으나, 본 발명에서 적용할 수 있는 인터 레이어 예측은 이에 한정되지 않는다.
예컨대, 인터 레이어 예측을 현재 레이어에 대한 인터 예측의 확장으로서 적용할 수도 있다. 즉, 참조 레이어로부터 유도된 참조 픽처를 현재 블록의 인터 예측에 참조 가능한 참조 픽처들에 포함시켜서, 현재 블록에 대한 인터 예측을 수행할 수도 있다.
이 경우, 인터 레이어 참조 픽처는 현재 블록에 대한 참조 픽처 리스트에 포함될 수 있다. 예측부(110)는 인터 레이어 참조 픽처를 이용하여 현재 블록에 대한 인터 예측을 수행할 수 있다.
여기서, 인터 레이어 참조 픽처는 참조 레이어의 복원된 픽처를 현재 레이어에 대응하도록 샘플링하여 구성된 참조 픽처일 수 있다. 따라서, 참조 레이어의 복원된 픽처가 현재 레이어의 픽처에 대응하는 경우에는, 샘플링 없이 참조 레이어의 복원된 픽처를 인터 레이어 참조 픽처로 이용할 수 있다. 예컨대, 참조 레이의 복원된 픽처와 현재 레이어의 복원된 픽처에서 샘플들의 폭과 높이가 동일하고, 참조 레이어의 픽처에서 좌상단, 우상단, 좌하단, 우하단과 현재 레이어 의 픽처에서 좌상단, 우상단, 좌하단, 우하단 사이의 오프셋이 0이라면, 참조 레이어의 복원된 픽처를 다시 샘플링하지 않고, 현재 레이어의 인터 레이어 참조 픽처로 사용할 수도 있다.
또한, 인터 레이어 참조 픽처가 유도되는 참조 레이어의 복원 픽처는 부호화 대상인 현재 픽처와 동일한 AU에 속하는 픽처일 수 있다.
인터 레이어 참조 픽처를 참조 픽처 리스트에 포함하여, 현재 블록에 대한 인터 예측을 수행하는 경우에, 인터 레이어 참조 픽처의 참조 픽처 리스트 내 위치는 참조 픽처 리스트 L0과 L1에서 상이할 수 있다. 예컨대, 참조 픽처 리스트 L0에서는 현재 픽처 이전의 단기 참조 픽처들 다음에 인터 레이어 참조 픽처가 위치할 수 있고, 참조 픽처 리스트 L1에서는 참조 픽처 리스트의 마지막에 인터 레이어 참조 픽처가 위치할 수도 있다.
여기서, 참조 픽처 리스트 L0은 P 슬라이스의 인터 예측에 사용되는 참조 픽처 리스트 또는 B 슬라이스의 인터 예측에서 첫 번째 참조 픽처 리스트로 사용되는 참조 픽처 리스트이다. 참조 픽처 리스트 L1은 B 슬라이스의 인터 예측에 사용되는 두 번째 참조 픽처 리스트이다.
따라서, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처의 순서로 구성될 수 있다.
이때, P 슬라이스(predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 1개의 움직임 벡터 및 참조 픽처 인덱스를 이용하여 인터 예측이 수행되는 슬라이스이다. B 슬라이스(bi-predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 두 개의 움직임 벡터와 참조 픽처 인덱스를 이용하여 예측이 수행되는 슬라이스이다. 이와 관련하여, I 슬라이스(intra slice)는 인트라 예측만이 적용된 슬라이스이다.
슬라이스는 하나 이상의 슬라이스 시그먼트(segment)들의 시퀀스이다. 슬라이스 시퀀스는 독립(independent) 슬라이스 시그먼트로부터 시작한다. 동일한 액세서 유닛 내에서 다음 번 독립 슬라이스 시그먼트보다 선행하는 종속(dependent) 슬라이스 시그먼트들이 존재한다면, 슬라이스는 슬라이스 시퀀스가 시작된 독립 슬라이스 시그먼트와 다음 독립 슬라이스 전의 종속 슬라이스 시그먼트들을 포함한다.
슬라이스 시그먼트는 타일 스캔에서 연속적으로 정렬(consecutively ordered)되고 단일 NAL(Network Abstraction Layer) 유닛에 포함된 코딩 트리 유닛(Coding Tree Unit: CTU) 또는 코딩 트리 블록(Coding Tree Block: CTB)의 시퀀스일 수 있다. 코딩 트리 유닛은 쿼드 트리(Quad-Tree) 구조의 코딩 유닛으로서, 최대 크기 코딩 유닛(Largest Coding Unit: LCU)일 수 있다. 본 명세서에서는 발명의 이해를 돕기 위해 필요한 곳에서 코딩 트리 유닛, 최대 코딩 유닛을 혼용하여 설명할 수도 있다.
슬라이스 시그먼트 내에서, 슬라이스 시그먼트의 첫 번째 코딩 트리 블록(코딩 트리 유닛) 혹은 모든 코딩 트리 블록(코딩 트리 유닛)들에 대한 데이터 요소를 포함하는 부분을 슬라이스 시그먼트 헤드라고 한다. 이때, 독립 슬라이스 시그먼트의 슬라이스 시그먼트 헤드를 슬라이스 헤더라고 한다.
슬라이스는 NAL 유닛의 전송 단위일 수 있다. 예컨대, NAL 유닛은 슬라이스들 혹은 슬라인스 세그먼트들로 구성될 수 있다.
또한, 인터 레이어 참조 픽처를 포함하는 참조 픽처 리스트를 기반으로 현재 블록에 대한 인터 예측을 수행하는 경우에, 참조 픽처 리스트는 복수의 레이어에서 유도된 복수의 인터 레이어 참조 픽처를 포함할 수 있다.
복수의 인터 레이어 참조 픽처를 포함하는 경우에, 인터 레이어 참조 픽처들은 참조 픽처 리스트 L0과 L1에서 교차 배치될 수도 있다. 예컨대, 두 개의 인터 레이어 참조 픽처, 인터 레이어 참조 픽처 ILRPi와 인터 레이어 참조 픽처 ILRPj가 현재 블록의 인터 예측에 사용되는 참조 픽처 리스트에 포함되는 경우를 가정하자. 이 경우, 참조 픽처 리스트 L0에서 ILRPi는 현재 픽처 이전의 단기 참조 픽처들 다음에 위치하고, ILRPj는 리스트의 마지막에 위치할 수 있다. 또한, 참조 픽처 리스트 L1에서 ILRPi는 리스트의 마지막에 위치하고, ILRPj는 현재 픽처 이후의 단기 참조 픽처들 다음에 위치할 수 있다.
이 경우, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPj의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPj, 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
또한, 두 인터 레이어 참조 픽처들 중 하나는 해상도에 관한 스케일러블 레이어로부터 유도한 인터 레이어 참조 픽처이고, 다른 하나는 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처일 수도 있다. 이 경우, 예컨대, ILRPi가 다른 해상도를 제공하는 레이어로부터 유도한 인? 레이어 참조 픽처이고, ILRPj가 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처라면, 뷰(view)를 제외한 스케일러빌러티만을 지원하는 스케일러블 비디오 코딩의 경우 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있고, 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
한편, 인터 레이어 예측에서 인터 레이어 참조 픽처의 정보는 샘플 값만 이용될 수도 있고, 움직임 정보(움직임 벡터)만 이용될 수도 있으며, 샘플 값과 움직임 정보가 모두 이용될 수도 있다. 예측부(110)는 참조 픽처 인덱스가 인터 레이어 참조 픽처를 지시하는 경우에, 인코딩 장치로부터 수신한 정보에 따라서 인터 레이어 참조 픽처의 샘플 값만 이용하거나, 인터 레이어 참조 픽처의 움직임 정보(움직임 벡터)만 이용하거나, 인터 레이어 참조 픽처의 샘플 값과 움직임 정보를 모두 이용할 수 있다.
인터 레이어 참조 픽처의 샘플 값만을 이용하는 경우에, 예측부(110)는 인터 레이어 참조 픽처에서 움직임 벡터가 특정하는 블록의 샘플들을 현재 블록의 예측 샘플로서 유도할 수 있다. 뷰(view)를 고려하지 않는 스케일러블 비디오 코딩의 경우에, 인터 레이어 참조 픽처를 이용하는 인터 예측(인터 레이어 예측)에서의 움직임 벡터는 고정된 값(예컨대, 0)으로 설정될 수 있다.
인터 레이어 참조 픽처의 움직임 정보만을 이용하는 경우에, 예측부(110)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터를 유도하기 위한 움직임 벡터 예측자로 사용할 수 있다. 또한, 예측부(110)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터로 이용할 수도 있다.
인터 레이어 참조 픽처의 샘플과 움직임 정보를 모두 이용하는 경우에, 예측부(110)는 인터 레이어 참조 픽처에서 현재 블록에 대응하는 영역의 샘플과 인터 레이어 참조 픽처에서 특정되는 움직임 정보(움직임 벡터)를 현재 블록의 예측에 이용할 수 있다.
인코딩 장치는 인터 레이어 예측이 적용되는 경우에, 참조 픽처 리스트에서 인터 레이어 참조 픽처를 지시하는 참조 인덱스를 디코딩 장치로 전송할 수 있으며, 인터 레이어 참조 픽처로부터 어떤 정보(샘플 정보, 움직임 정보 또는 샘플 정보와 움직임 정보)를 이용할 것인지를 특정하는 정보, 즉 두 레이어 사이에서 인터 레이어 예측에 관한 디펜던시(의존성, dependency)의 타입(dependency type)을 특정하는 정보도 디코딩 장치로 전송할 수 있다.
변환/양자화부(115, 145)는 변환 블록 단위로 레지듀얼 블록에 대한 변환을 수행하여 변환 계수를 생성하고, 변환 계수를 양자화 할 수 있다.
변환 블록은 샘플들의 사각형 블록으로서 동일한 변환이 적용되는 블록이다. 변환 블록은 변환 유닛(TU)일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다.
변환/양자화부(115, 145)는 레지듀얼 블록에 적용된 예측 모드와 블록의 크기에 따라서 변환을 수행해서 변환 계수들의 2차원 어레이를 생성할 수 있다. 예컨대, 레지듀얼 블록에 인트라 예측이 적용되었고 블록이 4x4의 레지듀얼 배열이라면, 레지듀얼 블록을 DST(Discrete Sine Transform)를 이용하여 변환하고, 그 외의 경우라면 레지듀얼 블록을 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
변환/양자화부(115, 145)는 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다.
변환/양자화부(115, 145)는 양자화된 변환 계수를 엔트로피 코딩부(130, 180)로 전달할 수 있다. 이때, 변환/양자화부(145)는 양자화된 변환 계수의 2차원 어레이를 소정의 스캔 순서에 따라 1차원 어레이로 재정렬하여 엔트로피 코딩부(130, 180)로 전달할 수도 있다. 또한, 변환/양자화부(115, 145)는 인터 예측을 위해, 레지듀얼과 예측 블록을 기반으로 생성된 복원 블록을 변환/양자화하지 않고, 필터링부(120, 150)에 전달할 수 있다.
한편, 변환/양자화부(115, 145)는 필요에 따라서, 변환을 생략(skip)하고 양자화만 수행하거나 변환과 양자화를 모두 생략할 수도 있다. 예컨대, 변환/양자화부(115, 165)는 특정한 예측 방법이 적용되거나 특정 크기를 갖는 블록, 혹은 특정 예측 블록이 적용된 특정한 크기의 블록에 대하여 변환을 생략할 수도 있다.
엔트로피 코딩부(130, 160)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 인코딩 방법을 사용할 수 있다.
필터링부(120, 150)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽쳐에 적용할 수 있다.
디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
필터링부(120, 150)는 디블록킹 필터, ALF, SAO를 모두 적용하지 않고 디블록킹 필터만 적용하거나 디블록킹 필터와 ALF만 적용하거나 디블록킹 필터와 SAO만을 적용할 수도 있다.
DPB(125, 155)는 필터링부(120, 150)로부터 복원 블록 또는 복원 픽쳐를 전달받아 저장할 수 있다. DPB(125, 155)는 복원 블록 또는 픽쳐를 인터 예측을 수행하는 예측부(110, 140)에 제공할 수 있다.
레이어 0의 엔트로피 코딩부(160)에서 출력되는 정보와 레이어 1의 엔트로피 코딩부(130)에서 출력되는 정보는 MUX(185)에서 멀티플렉싱되어 비트스트림으로 출력될 수 있다.
한편, 여기서는 설명의 편의를 위해, 레이어 1의 인코딩부(105)가 MUX(165)를 포함하는 것으로 설명하였으나, MUX는 레이어 1의 인코딩부(105) 및 레이어 0의 인코딩부(135)와는 별도의 장치 혹은 모듈일 수 있다.
또한, 여기서는 두 개의 레이어로 구성된 멀티 레이어 구조에서 스케일러블 비디오 코딩이 수행되는 것을 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 도 1의 인코딩 장치는 둘 이상의 레이어를 포함하는 멀티 레이어 구조에도 적용될 수 있다. N개의 레이어로 구성된 멀티 레이어 구조에 적용되는 경우에, 도 1의 레이어 0과 레이어 1은 N 개의 레이어 중 참조 관계를 나타내는 두 레이어일 수 있다.
이때, 인코딩 장치는 두 레이어 간의 참조 관계를 나타내는 정보를 디코딩 장치로 전송할 수 있다. 예컨대, 두 레이어 간에 인터 레이어 예측의 의존 관계가 존재하는 경우, 인코딩 장치는 direct_dependency_flag[L][M]을 전송할 수 있다. direct_dependency_flag[L][M]의 값이 1인 경우에 L 번째 레이어는 M 번째 레이어를 참조하여 예측될 수 있다.
도 2는 본 발명에 따라서 스케일러블 코딩을 수행하는 인코딩 장치에서의 인터 레이어 예측에 관한 일 예를 설명하는 블록도이다.
도 2를 참조하면, 디코딩 장치(200)는 레이어 1의 디코딩부(210)와 레이어 0의 디코딩부(250)를 포함한다.
레이어 0은 베이스 레이어, 참조 레이어 혹은 하위 레이어일 수 있으며, 레이어 1은 인핸스먼트 레이어, 현재 레이어 혹은 상위 레이어일 수 있다.
레이어 1의 디코딩부(210)는 엔트로피 디코딩부(215), 재정렬부(220), 역양자화부(225), 역변환부(230), 예측부(235), 필터링부(240), 메모리를 포함할 수 있다.
레이어 0의 디코딩부(250)는 엔트로피 디코딩부(255), 재정렬부(260), 역양자화부(265), 역변환부(270), 예측부(275), 필터링부(280), 메모리(285)를 포함할 수 있다.
인코딩 장치로부터 영상 정보를 포함하는 비트스트림이 전송되면, DEMUX(205)는 레이어별로 정보를 디멀티플렉싱하여 각 레이어별 디코딩 장치로 전달할 수 있다.
엔트로피 디코딩부(215, 255)는 인코딩 장치에서 사용한 엔트로피 코딩 방식에 대응하여 엔트로피 디코딩을 수행할 수 있다. 예컨대, 인코딩 장치에서 CABAC이 사용된 경우에, 엔트로피 디코딩부(215, 255)도 CABAC을 이용하여 엔트로피 디코딩을 수행할 수 있다.
엔트로피 디코딩부(215, 255)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(235, 275)로 제공되고, 엔트로피 디코딩부(215, 255)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(220, 260)로 입력될 수 있다.
재정렬부(220, 260)는 엔트로피 디코딩부(215, 255)에서 엔트로피 디코딩된 비트스트림의 정보, 즉 양자화된 변환 계수를 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다.
예컨대, 재정렬부(220, 260)는 1차원 어레이의 양자화된 변환 계수들을 다시 2차원 어레이의 계수들로 재정렬할 수 있다. 재정렬부(220, 260)는 현재 블록(변환 블록)에 적용된 예측 모드 및/또는 변환 블록의 크기를 기반으로 스캐닝을 수행하여 계수(양자화된 변환 계수)들의 2차원 어레이를 생성할 수 있다.
역양자화부(225, 265)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행하여 변환 계수들을 생성할 수 있다.
역변환부(230, 270)는 변환 계수들에 대하여 인코딩 장치의 변환부가 수행한 변환에 대한 역변환을 수행할 수 있다. 역변환부(230, 270)는 인코딩 장치에서 수행된 DCT(Discrete Cosine Transform) 및 DST(Discrete Sine Transform)에 대해 역DCT 및/또는 역DST를 수행할 수 있다.
인코딩 장치에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(230, 270)는 인코딩 장치에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예컨대, 역변환부(230, 270)은 예측 모드/블록 크기에 따라서 역DCT와 역DST를 적용할 수 있다. 가령, 역변환부(230, 270)은 인트라 예측이 적용된 4x4 루마 블록에 대해서 역DST를 적용할 수도 있다.
또한, 역변환부(230, 270)는 예측 모드/블록 크기에 상관 없이, 특정 역변환 방법을 고정적으로 사용할 수도 있다. 예컨대, 역변환부(330, 370)는 모든 변환 블록에 역DST만을 적용할 수 있다. 또한, 역변환부(330, 370)는 모든 변환 블록에 역DCT만을 적용할 수도 있다.
역변환부(230, 270)는 변환 계수들 혹은 변환 계수의 블록을 역변환하여 레지듀얼 혹은 레지듀얼 블록을 생성할 수 있다.
역변환부(230, 270)는 또한, 필요에 따라서 혹은 인코딩 장치에서 인코딩된 방식에 따라서, 변환을 생략(skip) 할 수도 있다. 예컨대, 역변환(230, 270)는 특정한 예측 방법이 적용되거나 특정 크기를 갖는 블록, 혹은 특정 예측 블록이 적용된 특정한 크기의 블록에 대하여 변환을 생략할 수도 있다.
예측부(235, 275)는 엔트로피 디코딩부(215, 255)로부터 전달된 예측 블록 생성 관련 정보와 메모리(245, 285)에서 제공된 이전에 디코딩된 블록 및/또는 픽쳐 정보를 기초로 현재 블록에 대한 예측 블록을 생성할 수 있다.
현재 블록에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 예측부(235, 275)는 현재 픽쳐 내의 픽셀 정보를 기초로 현재 블록에 대한 인트라 예측을 수행할 수 있다.
현재 블록에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 예측부(235, 275)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐에 포함된 정보를 기초로 현재 블록에 대한 인터 예측을 수행할 수 있다. 인터 예측에 필요한 움직임 정보의 일부 또는 전부는 인코딩 장치로부터 수신한 정보를 확인하고, 이에 대응하여 유도될 수 있다.
인터 예측의 모드로서 스킵 모드가 적용되는 경우에는 인코딩 장치로부터 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.
한편, 레이어 1의 예측부(235)는 레이어 1 내의 정보만을 이용하여 인터 예측 또는 인트라 예측을 수행할 수도 있고, 다른 레이어(레이어 0)의 정보를 이용하여 인터 레이어 예측을 수행할 수도 있다.
다른 레이어의 정보를 이용하여 예측되는 (즉, 인터 레이어 예측에 의해 예측되는) 현재 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
또한, 현재 레이어에 대한 예측에 이용되는 (즉, 인터 레이어 예측에 이용되는) 다른 레이어의 정보로는 텍스처, 움직임 정보, 유닛 정보, 소정의 파라미터(예컨대, 필터링 파라미터 등) 중 적어도 하나일 수 있다.
인터 레이어 예측에 있어서, 현재 블록은 현재 레이어(도 2의 예에서는 레이어 1) 내 현재 픽처 내의 블록으로서, 복호화 대상 블록일 수 있다. 참조 블록은 현재 블록의 예측에 참조되는 레이어(참조 레이어, 도 2의 예에서는 레이어 0)에서 현재 블록이 속하는 픽처(현재 픽처)와 동일한 액세스 유닛(AU: access Unit)에 속하는 픽처(참조 픽처) 내의 블록으로서, 현재 블록에 대응하는 블록일 수 있다.
인터 레이어 예측의 일 예로서, 참조 레이어의 움직임 정보를 이용하여 현재 레이어의 움직임 정보를 예측하는 인터 레이어 움직임 예측이 있다. 인터 레이어 움직임 예측에 의하면, 참조 블록의 움직임 정보를 이용하여 현재 블록의 움직임 정보를 예측할 수 있다.
인터 레이어 움직임 예측을 적용하는 경우에, 에측부(235)는 참조 레이어의 움직임 정보를 스케일링하여 이용할 수도 있다.
인터 레이어 예측의 또 다른 예로서 인터 레이어 텍스쳐 예측은 복원된 참조 블록의 텍스처를 현재 블록에 대한 예측 값으로 사용할 수 있다. 이때, 예측부(235)는 참조 블록의 텍스처를 업샘플링에 의해 스케일링될 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 유닛 정보 예측에서는 참조 레이어의 유닛(CU, PU 및/또는 TU) 정보를 유도하여 현재 레이어의 유닛 정보로 사용하거나, 참조 레이어의 유닛 정보를 기반으로 현재 레이어의 유닛 정보를 결정할 수 있다.
이때, 유닛 정보는 각 유닛 레벨에서의 정보를 포함할 수 있다. 예컨대, CU 정보의 경우, 파티션(CU, PU 및 또는 TU)에 관한 정보, 변환에 관한 정보, 예측에 대한 정보, 코딩에 대한 정보를 포함할 수 있다. PU 정보의 경우, PU 파티션에 관한 정보, 예측에 관한 정보(예컨대, 움직임 정보, 예측 모드에 관한 정보 등) 등을 포함할 수 있다. TU에 관한 정보는 TU 파티션에 관한 정보, 변환에 관한 정보(변환 계수, 변환 방법 등) 등을 포함할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 파라미터 예측에서는 참조 레이어의 유도된 파라미터를 현재 레이어에서 재사용하거나 참조 레이어에서 사용한 파라미터를 기반으로 현재 레이어에 대한 파라미터를 유도할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 레지듀얼 예측에서는 다른 레이어의 레지듀얼 정보를 이용하여 현재 레이어의 레지듀얼을 예측하고 이를 기반으로 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 차분 예측에서는, 현재 레이어의 복원 픽쳐와 참조 레이어의 복원 픽쳐를 업샘플링 혹은 다운샘플링한 영상들 간의 차분을 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
인터 레이어 예측의 또 다른 예인 인터 레이어 신택스 예측에서는 참조 레이어의 신택스 정보를 이용하여 현재 블록의 텍스처를 예측하거나 생성할 수 있다. 이때, 참조되는 참조 레이어의 신택스 정보는 인트라 예측 모드에 관한 정보, 움직임 정보를 포함할 수 있다.
상술된 인터 레이어를 이용한 여러 예측 방법은 특정 블록에 대한 예측 시 복 수 개가 이용될 수도 있다.
여기서는 인터 레이어 예측의 예로서, 인터 레이어 텍스처 예측, 인터 레이어 움직임 예측, 인터 레이어 유닛 정보 예측, 인터 레이어 파라미터 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 차분 예측, 인터 레이어 신택스 예측 등을 설명하였으나, 본 발명에서 적용할 수 있는 인터 레이어 예측은 이에 한정되지 않는다.
예컨대, 인터 레이어 예측을 현재 레이어에 대한 인터 예측의 확장으로서 적용할 수도 있다. 즉, 참조 레이어로부터 유도된 참조 픽처를 현재 블록의 인터 예측에 참조 가능한 참조 픽처들에 포함시켜서, 현재 블록에 대한 인터 예측을 수행할 수도 있다.
예측부(235)는 인코딩 장치로부터 수신한 참조 픽처 인덱스 혹은 주변 블록으로부터 유도한 참조 픽처 인덱스가 참조 픽처 리스트 내에서 인터 레이어 참조 픽처를 지시하는 경우에, 인터 레이어 참조 픽처를 이용한 인터 레이어 예측을 수행할 수 있다. 예컨대, 예측부(235)는 참조 픽처 인덱스가 인터 레이어 참조 픽처를 지시하는 경우에, 인터 레이어 참조 픽처에서 움직임 벡터에 의해 특정되는 영역의 샘플 값을 현재 블록에 대한 예측 블록으로 유도할 수 있다.
이 경우, 인터 레이어 참조 픽처는 현재 블록에 대한 참조 픽처 리스트에 포함될 수 있다. 예측부(235)는 인터 레이어 참조 픽처를 이용하여 현재 블록에 대한 인터 예측을 수행할 수 있다.
여기서, 인터 레이어 참조 픽처는 참조 레이어의 복원된 픽처를 현재 레이어에 대응하도록 샘플링하여 구성된 참조 픽처일 수 있다. 따라서, 참조 레이어의 복원된 픽처가 현재 레이어의 픽처에 대응하는 경우에는, 샘플링 없이 참조 레이어의 복원된 픽처를 인터 레이어 참조 픽처로 이용할 수 있다. 예컨대, 참조 레이의 복원된 픽처와 현재 레이어의 복원된 픽처에서 샘플들의 폭과 높이가 동일하고, 참조 레이어의 픽처에서 좌상단, 우상단, 좌하단, 우하단과 현재 레이어 의 픽처에서 좌상단, 우상단, 좌하단, 우하단 사이의 오프셋이 0이라면, 참조 레이어의 복원된 픽처를 다시 샘플링하지 않고, 현재 레이어의 인터 레이어 참조 픽처로 사용할 수도 있다.
또한, 인터 레이어 참조 픽처가 유도되는 참조 레이어의 복원 픽처는 부호화 대상인 현재 픽처와 동일한 AU에 속하는 픽처일 수 있다. 인터 레이어 참조 픽처를 참조 픽처 리스트에 포함하여, 현재 블록에 대한 인터 예측을 수행하는 경우에, 인터 레이어 참조 픽처의 참조 픽처 리스트 내 위치는 참조 픽처 리스트 L0과 L1에서 상이할 수 있다. 예컨대, 참조 픽처 리스트 L0에서는 현재 픽처 이전의 단기 참조 픽처들 다음에 인터 레이어 참조 픽처가 위치할 수 있고, 참조 픽처 리스트 L1에서는 참조 픽처 리스트의 마지막에 인터 레이어 참조 픽처가 위치할 수도 있다.
여기서, 참조 픽처 리스트 L0은 P 슬라이스의 인터 예측에 사용되는 참조 픽처 리스트 또는 B 슬라이스의 인터 예측에서 첫 번째 참조 픽처 리스트로 사용되는 참조 픽처 리스트이다. 참조 픽처 리스트 L1은 B 슬라이스의 인터 예측에 사용되는 두 번째 참조 픽처 리스트이다.
따라서, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처의 순서로 구성될 수 있다.
이때, P 슬라이스(predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 1개의 움직임 벡터 및 참조 픽처 인덱스를 이용하여 인터 예측이 수행되는 슬라이스이다. B 슬라이스(bi-predictive slice)는 인트라 예측이 수행되거나 예측 블록 당 최대 두 개의 움직임 벡터와 참조 픽처 인덱스를 이용하여 예측이 수행되는 슬라이스이다. 이와 관련하여, I 슬라이스(intra slice)는 인트라 예측만이 적용된 슬라이스이다.
또한, 인터 레이어 참조 픽처를 포함하는 참조 픽처 리스트를 기반으로 현재 블록에 대한 인터 예측을 수행하는 경우에, 참조 픽처 리스트는 복수의 레이어에서 유도된 복수의 인터 레이어 참조 픽처를 포함할 수 있다.
복수의 인터 레이어 참조 픽처를 포함하는 경우에, 인터 레이어 참조 픽처들은 참조 픽처 리스트 L0과 L1에서 교차 배치될 수도 있다. 예컨대, 두 개의 인터 레이어 참조 픽처, 인터 레이어 참조 픽처 ILRPi와 인터 레이어 참조 픽처 ILRPj가 현재 블록의 인터 예측에 사용되는 참조 픽처 리스트에 포함되는 경우를 가정하자. 이 경우, 참조 픽처 리스트 L0에서 ILRPi는 현재 픽처 이전의 단기 참조 픽처들 다음에 위치하고, ILRPj는 리스트의 마지막에 위치할 수 있다. 또한, 참조 픽처 리스트 L1에서 ILRPi는 리스트의 마지막에 위치하고, ILRPj는 현재 픽처 이후의 단기 참조 픽처들 다음에 위치할 수 있다.
이 경우, 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPj의 순서로 구성될 수 있다. 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPj, 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
또한, 두 인터 레이어 참조 픽처들 중 하나는 해상도에 관한 스케일러블 레이어로부터 유도한 인터 레이어 참조 픽처이고, 다른 하나는 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처일 수도 있다. 이 경우, 예컨대, ILRPi가 다른 해상도를 제공하는 레이어로부터 유도한 인? 레이어 참조 픽처이고, ILRPj가 다른 뷰를 제공하는 레이어로부터 유도한 인터 레이어 참조 픽처라면, 뷰(view)를 제외한 스케일러빌러티만을 지원하는 스케일러블 비디오 코딩의 경우 참조 픽처 리스트 L0은 현재 픽처 이전의 단기 참조 픽처(들), 인터 레이어 참조 픽처 ILRPi, 현재 픽처 이후의 단기 참조 픽처(들), 장기 참조 픽처의 순서로 구성될 수 있고, 참조 픽처 리스트 L1은 현재 픽처 이후의 단기 참조 픽처(들), 현재 픽처 이전의 단기 참조 픽처(들), 장기 참조 픽처, 인터 레이어 참조 픽처 ILRPi의 순서로 구성될 수 있다.
한편, 인터 레이어 예측에서 인터 레이어 참조 픽처의 정보는 샘플 값만 이용될 수도 있고, 움직임 정보(움직임 벡터)만 이용될 수도 있으며, 샘플 값과 움직임 정보가 모두 이용될 수도 있다. 예측부(235)는 참조 픽처 인덱스가 인터 레이어 참조 픽처를 지시하는 경우에, 인코딩 장치로부터 수신한 정보에 따라서 인터 레이어 참조 픽처의 샘플 값만 이용하거나, 인터 레이어 참조 픽처의 움직임 정보(움직임 벡터)만 이용하거나, 인터 레이어 참조 픽처의 샘플 값과 움직임 정보를 모두 이용할 수 있다.
인터 레이어 참조 픽처의 샘플 값만을 이용하는 경우에, 예측부(235)는 인터 레이어 참조 픽처에서 움직임 벡터가 특정하는 블록의 샘플들을 현재 블록의 예측 샘플로서 유도할 수 있다. 뷰(view)를 고려하지 않는 스케일러블 비디오 코딩의 경우에, 인터 레이어 참조 픽처를 이용하는 인터 예측(인터 레이어 예측)에서의 움직임 벡터는 고정된 값(예컨대, 0)으로 설정될 수 있다.
인터 레이어 참조 픽처의 움직임 정보만을 이용하는 경우에, 예측부(235)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터를 유도하기 위한 움직임 벡터 예측자로 사용할 수 있다. 또한, 예측브(235)는 인터 레이어 참조 픽처에서 특정되는 움직임 벡터를 현재 블록의 움직임 벡터로 이용할 수도 있다.
인터 레이어 참조 픽처의 샘플과 움직임 정보를 모두 이용하는 경우에, 예측부(235)는 인터 레이어 참조 픽처에서 현재 블록에 대응하는 영역의 샘플과 인터 레이어 참조 픽처에서 특정되는 움직임 정보(움직임 벡터)를 현재 블록의 예측에 이용할 수 있다.
디코딩 장치는 참조 픽처 리스트에서 인터 레이어 참조 픽처를 지시하는 참조 인덱스를 인코딩 장치로부터 수신하고, 이를 기반으로 인터 레이어 예측을 수행할 수 있다. 또한, 디코딩 장치는 인터 레이어 참조 픽처로부터 어떤 정보(샘플 정보, 움직임 정보, 샘플 정보와 움직임 정보)를 이용할 것인지를 지시하는 정보, 즉 두 레이어 사이에서 인터 레이어 예측에 관한 디펜던시(의존성, dependency)의 타입(dependency type)을 특정하는 정보도 인코딩 장치로부터 수신할 수 있다.
가산기(290, 295)는 예측부(235, 275)에서 생성된 예측 블록과 역변환부(230, 270)에서 생성된 레지듀얼 블록을 이용해 복원 블록을 생성할 수 있다. 이 경우, 가산기(290, 295)를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다.
가산기(290, 295)에서 복원된 블록 및/또는 픽쳐는 필터링부(240, 280)로 제공될 수 있다.
도 2의 예를 참조하면, 레이어 1의 필터링부(240)는 레이어 1의 예측부(235) 및/또는 레이어 0의 필터링부(280)으로부터 전달되는 파라미터 정보를 이용하여 복원된 픽쳐에 대한 필터링을 수행할 수도 있다. 예컨대, 레이어 1에서 필터링부(240)는 레이어 0에서 적용된 필터링의 파라미터로부터 예측된 파라미터를 이용하여 레이어 1에 대한 혹은 레이어 간의 필터링을 적용할 수 있다.
메모리(245, 285)는 복원된 픽쳐 또는 블록을 저장하여 참조 픽쳐 또는 참조 블록으로 사용할 수 있도록 할 수 있다. 메모리(245, 285)는 저장된 복원 픽쳐를 소정의 출력부(미도시) 혹은 디스플레이(미도시)를 통해 출력할 수도 있다.
도 2의 예에서는 재정렬부, 역양자화부, 역변환부 등으로 나누어 설명하였으나, 도 1의 인코딩 장치에서와 같이, 역양자화/역변환부의 한 모듈에서 재정렬, 역양자화, 역변환을 순서대로 수행하도록 디코딩 장치를 구성할 수도 있다.
또한, 여기서는 두 개의 레이어로 구성된 멀티 레이어 구조에서 스케일러블 비디오 디코딩이 수행되는 것을 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 도 2의 디코딩 장치는 둘 이상의 레이어를 포함하는 멀티 레이어 구조에도 적용될 수 있다. N개의 레이어로 구성된 멀티 레이어 구조에 적용되는 경우에, 도 2의 레이어 0과 레이어 1은 N 개의 레이어 중 참조 관계를 나타내는 두 레이어일 수 있다.
이때, 디코딩 장치는 두 레이어 간의 참조 관계를 나타내는 정보를 인코딩 장치로부터 수신할 수 있다. 예컨대, 두 레이어 간에 인터 레이어 예측의 의존 관계가 존재하는 경우, 디코딩 장치는 direct_dependency_flag[L][M]을 수신할 수 있다. direct_dependency_flag[L][M]의 값이 1인 경우에 L 번째 레이어는 M 번째 레이어를 참조하여 예측될 수 있다.
도 1 및 도 2의 예에서는 예측부로 설명하였으나, 발명의 이해를 돕기 위해, 레이어 1의 예측부는 다른 레이어(레이어 0)의 정보를 이용하여 예측을 수행하는 인터 레이어 예측부와 다른 레이어(레이어 0)의 정보를 이용하지 않고 예측을 수행하는 인터/인트라 예측부를 포함하는 것으로 볼 수도 있다.
비트스트림 내 복수의 레이어를 지원하는 비디오의 부호화 및 복호화, 즉 스케일러블 코딩(scalable coding)의 경우, 복수의 레이어 간에는 강한 연관성(correlation)이 존재하기 때문에 이런 연관성을 이용하여 예측을 수행하면 데이터의 중복 요소를 제거할 수 있고 영상의 부호화 성능을 향상시킬 수 있다.
복수의 계층들은 해상도, 프레임 레이트, 컬러 포맷, 뷰(view) 중 적어도 하나가 상이할 수 있다. 따라서, 인터 레이어 예측 시에 다른 레이어의 정보를 이용하기 위해서, 해상도의 조절을 위한 업샘플링 또는 다운샘플링이 수행될 수 있다.
서로 다른 레이어 사이의 인터 레이어 의존성(Inter-layer dependency)은 한 레이어의 블록/픽쳐가 다른 레이어의 다른 블록/픽쳐를 참조하여 디코딩될 수 있는지를 나타낸다. 따라서, 멀티 레이어 구조에서 현재 레이어와 참조 레이어 사이에 의존성이 존재하는 경우에, 현재 레이어는 참조 레이어를 참조하여 예측될 수 있다. “레이어”는 코딩 디멘젼을 나타내는 것(representation)일 수 있다. 코딩 디멘젼(coding dimension)은, 스케일러빌러티(예를 들어, 공간적 스케일러빌러티, 시간적 스케일러빌러티, 화질적 스케일러빌러티), 뷰(시점, view) 및 뎁스(depth) 코딩 레프리젠테이션 등일 수 있다. 인터 레이어 디펜던시는 인터 레이어 예측을 적용함에 따라서 고려되는 것으로 여겨질 수도 있지만, 이에 한정되지는 않는다. 예컨대, 지만, 상술한 인터 레이어 인트라 예측, 인터 레이어 움직임 예측, 인터 레이어 신택스 예측, 인터 레이어 레지듀얼 예측, 인터 레이어 유닛 예측 등이 인터 레이어 디펜던시에 포함될 수도 있다.
특정 레이어에서 픽처를 처리(processing)할 때, 인코딩 장치는 R-D(Rate and Distortion) 퍼포먼스를 기반으로 인터 레이어 예측을 사용할 것인지를 선택할 수 있다.
도 3은 본 발명이 적용될 수 있는 두 공간적(spatial) 레이어 시퀀스 구조의 일 예를 개략적으로 설명하는 도면이다.
공간적 레이어는 지원되는 스케일러빌러티가 공간적 스케일러빌러티인 레이어를 의미한다.
도 3을 참조하면, 검고 굵은 화살표는 동일한 공간적 레이어 내 픽처들 사이의 시간적 디펜던시를 나타낸다. 또한, 도 3에서 붉은 점선 화살표는 서로 다른 공간적 레이어의 픽처들 사이에서 인터 레이어 디펜던시를 나타낸다.
도 3의 예에서 xy는 레이어 y에서 x 번째 픽처를 나타낸다.
도시된 바와 같이, 도 3의 예는 인터 레이어 예측이 픽처 0, 픽처 3, 픽처 6 등에서 적용되는 경우를 예로서 설명한다. 도 3의 예와 같은 구조에서, 픽처들의 인코딩 순서 및 인코딩 장치로부터 디코딩 장치로의 전달 순서(delivery order)는 다음의 순서 1과 같다.
순서 1: 00 01 10 11 20 21 30 31 40 41 50 51 60 61 ....
픽처들의 디코딩 순서 및 인코딩 장치로부터 디코딩 장치로 수신되는 순서 역시 순서 1과 같다.
이와 관련하여, 인터 레이어 예측은 선택적(optionally)으로 이용될 수도 있다. 즉, 최상위 레이어(top layer)가 아닌 레이어에 존재하는 모든 픽처들에 적용되지는 않을 수도 있다.
예컨대, 도 3의 예에서 디스플레이를 위한 타겟 레이어가 공간적 인핸스먼트 레이어 1라면, 공간적 베이스 레이어의 모든 픽처들이 디코딩될 필요는 없다. 예컨대, 도 3의 예에서 픽처 10과 40은 디코딩될 필요가 없다. 왜냐하면, 두 픽처 10과 40은, 도시된 바와 같이, 인터 레이어 예측에서 참조 픽처로서 사용되지 않으며, 동일한 공간적 레이어(베이스 레이어) 내의 픽처들 중 인터 레이어 예측에 이용되는 픽처들에 의해 직/간접적으로 참조되지도 않기 때문이다.
따라서, 10과 40이 디코딩되지 않는다고 할 때, 인코딩 장치로부터 디코딩 장치로의 전달 순서는 순서 1과 같지만, 픽처들의 디코딩 순서는 순서 2와 같게 된다.
순서 2: 00 10 11 20 21 30 31 41 50 51 60 61 ....
순서 1과 순서 2를 비교하면, 순서 2의 경우는 픽처 10과 픽처 40의 디코딩이 제외된 것을 알 수 있다. 상술한 바와 같이, 두 픽처 10과 40은, 도시된 바와 같이, 인터 레이어 예측에서 참조 픽처로서 사용되지 않으며, 동일한 공간적 레이어(베이스 레이어) 내의 픽처들 중 인터 레이어 예측에 이용되는 픽처들에 의해 직/간접적으로 참조되지도 않기 때문이다.
순서 2와 같이, 인터 레이어 예측에 이용되지 않는 픽처와 인터 레이어 예측에 이용되는 동일 레이어 내 다른 픽처들로부터도 직/간접적으로 참조되지 않는 픽처를 디코딩하지 않음으로써 얻게 되는 이득은 다음과 같다.
(1) 연산 자원의 절약(computing resource saving). 이들 픽처를 연산/디코딩하는 것보다, 연산 자원을 다른 픽처에 관한 연산/디코딩에 사용할 수 있으므로, 부호화/복호화 프로세스의 속도를 높일 수 있다.
(2) 메모리 절약(memory saving). 이들 픽처를 연산하지 않음으로써, 메모리 공간을 이들을 위해 할당할 필요가 없게 되며, 메모리 공간을 절약할 수 있다.
하지만, 이와 관련하여 인터 레이어 예측에 이용되지도 않고 인터 레이어 예측에 이용되는 동일 레이어 내 다른 픽처들로부터도 직/간접적으로 참조되지도 않는 픽처를 디코딩하지 않음으로써 이득을 볼 수 있다고 하여도, 디코딩/디스플레이를 위한 타겟 레이어가 주어졌을 때 어떤 픽처가 디코딩에서 생략되는지(skipped for decoding) 또는 어떤 픽처가 입력 시퀀스로부터 제거되는지(removed from input sequence)를 알 수 있는 방법이 필요하다.
이하, 본 발명에 따라서 어떤 픽처의 디코딩이 생략되고 드롭될 수 있는지(skipped/dropped)를 결정하는 방법에 대하여 설명한다.
인터 레이어 예측에 참조되지도 않고 인터 레이어 예측에 이용되는 동일 레이어 내 다른 픽처들로부터도 직/간접적으로 참조되지도 않는 픽처를 디코딩하지 않기 위한 방법은 명시적인 정보의 전송, 디코딩 방법의 변경, 메모리 관리 등 다양한 방법으로 접근할 수 있다.
실시예 I. 명시적인 정보의 전송에 기반한 베이스 레이어 픽처의 디코딩 생략
본 방법에 의하면, 각각의 픽처에 대하여 명시적으로 정보를 전송하여 해당 픽처가 인터 레이어 예측에 필요한지(다른 레이어의 인터 레이어 예측에 참조되는지)를 지시할 수 있다.
전송되는 제1 정보는, 제1 정보에 의해 지시되는 레이어의 픽처가 다른 레이어의 픽처에 대한 인터 레이어 예측에 필요한지(다른 레이어의 픽처에 대한 인터 레이어 예측에 참조되는지)를 지시할 수 있다.
예컨대, 제1 정보가 ilp_flag라고 하면, ilp_flag의 값이 1일 때, 해당 레이어는 다른 레이어의 인터 레이어 예측에 필요하다는 것을 지시할 수 있으며, ilp_flag의 값이 0이면, 해당 레이어는 다른 레이어의 인터 레이어 예측에 필요하지 않다는 것을 지시할 수 있다.
제1 정보는 NAL 유닛 헤더에서 전송될 수도 있고, 슬라이스 헤더에서 전송될 수도 있다. 또한 제1 정보는 일정한 제한을 가지고 전송될 수도 있다. 예컨대, 제1 정보가 슬라이스 헤더에서 전송되는 경우에, 일정한 제한으로서, 제1 정보의 값은 동일한 픽처 내의 슬라이스 헤더마다 동일하도록 설정될 수도 있다.
전송되는 제2 정보는, 제2 정보가 특정하는 픽처가 동일 레이어 내의 다른 픽처들 중 인터 레이어 예측에 필요한 픽처들에 의해 직/간접적으로 참조되는지를 지시하는 정보일 수 있다.
예컨대, 제2 정보가 ilp_ref_flag이라고 하면, ilp_ref_flag의 값이 1일 때, ilp_ref_flag이 특정하는 픽처는 동일 레이어 내의 다른 픽처들 중 인터 레이어 예측에 필요한 픽처들에 의해 직/간접적으로 참조되는 픽처일 수 있다.
제2 정보는 NAL 유닛 헤더에서 전송될 수도 있고, 슬라이스 헤더에서 전송될 수도 있다. 또한 제2 정보는 일정한 제한을 가지고 전송될 수도 있다. 예컨대, 제2 정보가 슬라이스 헤더에서 전송되는 경우에, 일정한 제한으로서, 제2 정보의 값은 동일한 픽처 내의 슬라이스 헤더마다 동일하도록 설정될 수도 있다.
제1 정보 및 제2 정보에 있어서, ‘정보에 의해 특정되는 픽처’는 그 정보가 적용되는 픽처를 의미한다.
제1 정보(예컨대, ilp_flag)와 제2 정보(예컨대, ilp_ref_flag)는 서로 독립적일 수 있으며, 각 픽처는 서로 다른 값의 ilp_ref와 ilp_ref_flag를 가질 수도 있다. 예컨대, ilp_flag는 ilp_ref_flag와 무관하게 독립적인 값을 가질 수 있고, ilp_ref_flag도 ilp_flag의 값과 무관한 값을 가질 수 있다.
이하, 설명의 편의를 위해, 제1 정보의 예로서 ilp_flag, 제2 정보의 예로서 ilp_ref_flag를 들어 본 발명의 실시예들을 설명하도록 한다.
( 실시예 I-1) NAL ( Network Abstract Layer ) 유닛 헤더에서의 정보 전송
전송에 관한 실시예 I-1에서는 NAL 유닛 헤더에서 제1 정보와 제2 정보가 전송될 수 있다. 예컨대, 표 1과 같이 NAL 유닛 헤더에서 ilp_flag와 ilp_ref_flag가 전송될 수 있다.
Figure pct00001
상술한 바와 같이, ilp_flag는 현재 코딩된 부호화된 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시한다. ilp_ref_flag는 현재 코딩된 픽처(coded picture)가 동일 레이어 내의 픽처들 중에서 인터 레이어 예측에 필요한 픽처(들)에 의해 참조되거나 이용되는지를 지시한다.
즉, 본 예에서 ilp_flag와 ilp_ref_flag는 NAL 유닛 헤더에서 전송되며, 이 NAL 유닛 헤더에 대응하는 픽처가 직/간접적으로 인터 레이어 예측에 이용될 것인지를 지시한다.
디코딩 장치는 NAL 유닛 헤더에서 ilp_flag와 ilp_ref_flag를 수신하고, 참조 레이어 내 대상 픽처가 현재 블록(현재 레이어 내 복호화 대상 블록)의 인터 레이어 예측에 직/간접적으로 사용되지 않는다는 것을 ilp_flag와 ilp_ref_flag가 지시하면, 상기 대상 픽처에 대한 디코딩을 생략할 수 있다.
( 실시예 I-2) 슬라이스 시그먼트 헤더에서의 정보 전송
전송에 관한 실시예 I-2에서는 슬라이스 시그먼트 헤더에서 제1 정보와 제2 정보가 전송될 수 있다. 예컨대, 표 2와 같이 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag가 전송될 수 있다.
Figure pct00002
상술한 바와 같이, ilp_flag는 현재 슬라이스가 인터 레이어 예측에 이용될 수 있는지를 지시한다. ilp_ref_flag는 현재 슬라이스가 동일 레이어 내의 픽처들 중에서 인터 레이어 예측에 필요한 픽처(들)에 의해 참조되거나 이용되는지를 지시한다.
즉, 본 예에서 ilp_flag와 ilp_ref_flag는 슬라이스 시그먼트 헤더에서 전송되며, 이 슬라이스 시그먼트 헤더에 대응하는 슬라이스가 직/간접적으로 인터 레이어 예측에 이용될 것인지를 지시한다.
디코딩 장치는 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag를 수신하고, 참조 레이어 내 대상 슬라이스가 현재 블록(현재 레이어 내 복호화 대상 블록)의 인터 레이어 예측에 직/간접적으로 사용되지 않는다는 것을 ilp_flag와 ilp_ref_flag가 지시하면, 상기 대상 슬라이스 또는 픽처에 대한 디코딩을 생략할 수 있다.
이와 달리, ilp_flag는 현재 코딩된 부호화된 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시하며, 이때 ilp_flag의 값이 코딩된 픽처의 모든 슬라이스 시그먼트 헤더에 대해서 동일하도록 할 수도 있다. 또한, ilp_ref_flag 역시 현재 코딩된 픽처가 동일 레이어 내의 픽처들 중에서 인터 레이어 예측에 필요한 픽처(들)에 의해 참조되거나 이용되는지를 지시하며, 이때 ilp_ref_flag의 값이 코딩딘 픽처의 모든 슬라이스 시그먼트 헤더에 대해서 동일하도록 할 수도 있다.
이 경우, 디코딩 장치는 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag를 수신하고, 참조 레이어 내 대상 슬라이스가 현재 블록(현재 레이어 내 복호화 대상 블록)의 인터 레이어 예측에 직/간접적으로 사용되지 않는다는 것을 ilp_flag와 ilp_ref_flag가 지시하면, 상기 대상 슬라이스가 속하는 픽처에 대한 디코딩을 생략할 수 있다.
( 실시예 I-3) 서브 레이어들에 대하여 VPS(Video Parameter Set)에서 정보의 전송
본 예는 두 가지 방식으로 제1 정보(ilp_flag)를 전송할 수 있다.
방식 1에서는, 표 3과 같이 각 서브 레이어에 대한 ilp_flag의 값이 다른 레이어 내 동일한 서브 레이어에 대해서도 동일하게 설정될 수 있다.
Figure pct00003
표 3의 VPS에서,vps_max_sub_layers_minus1은 코딩된 비디오 시퀀스(Coded Video Sequence) 내에 존재할 수 있는 시간적 서브 레이어의 최개 개수를 특정한다. 표 3의 VPS에서, vps_ilp_flag[i]의 값이 1이면, 코딩된 픽처/슬라이스 중 서브 레이어를 특정하는 시간적 ID(이하, temporalID)가 i인 픽처/슬라이스는 인터 레이어 예측에 이용될 수 있다는 것을 지시한다. 그렇지 않은 경우, 즉 vps_ilp_flag[i]의 값이 0이면, 코딩된 픽처/슬라이스 중 temporalID가 i인 픽처/슬라이스는 인터 레이어 예측에 이용될 수 없다는 것을 지시한다.
방식 2의 경우, 표 4와 같이 각 서브 레이어에 대한 ilp_flag의 값이 다른 레이어 내 동일한 서브 레이어의 ilp_flag 값과 상이할 수도 있다.
Figure pct00004
표 4의 VPS에서 vps_max_num_layers_minus1은코딩된 비디오 시퀀스(Coded Video Sequence) 내에 존재할 수 있는 레이어의 개수를 특정하며, vps_max_sub_layers_minus1은 코딩된 비디오 시퀀스(Coded Video Sequence) 내에 존재할 수 있는 시간적 서브 레이어의 최개 개수를 특정한다. 표 4의 예에서, vps_ilp_flag[i][j]의 값이 1이면, 코딩된 픽처/슬라이스 중 레이어를 특정하는 레이어 ID(이하, LayerID)가 i이고 temporalID가 j인 픽처/슬라이스는 인터 레이어 예측에 이용될 수 있다는 것을 지시한다. 그렇지 않은 경우, 즉 vps_ilp_flag[i]의 값이 0이면, 코딩된 픽처/슬라이스 중 LayerID가 i이고 temporalID가 j인 픽처/슬라이스는 인터 레이어 예측에 이용될 수 없다는 것을 지시한다.
방식 1을 적용하는 경우는 복잡도를 낮추고 전송량을 줄일 수 있으며, 방식 2를 적용하는 경우는 인터 레이어 예측의 효과를 향상시키기 위한 높은 플렉서빌러티를 얻을 수 있다.
( 실시예 I-4) 픽처와 서브 레이어들에 대한 인터 레이어 예측 정보 전송의 조합
본 실시예에 의하면, 인터 레이어 정보를 조합하여 전송할 수 있다. 구체적으로, 슬라이스 시그먼트 헤더에서 ilp_flag 및 ilp_ref_flag와 서브 레이어에서 ilp_flag를 함께 적용할 수 있다.
이 경우, 다음과 같은 제한을 적용할 수 있다. (1) TemporalID i에 대하여 ilp_flag의 값이 1이면, TemporalID가 i인 슬라이스 시그먼트의 헤더에서 ilp_flag의 값은 1 또는 0일 수 있다. (2) 그렇지 않고 만약, TemporalID i에 대하여 ilp_flag의 값이 0이면, TemporalID가 i인 슬라이스 시그먼트의 헤더에서 ilp_flag의 값은 0이 된다.
실시예 II. 디코딩 방법에 기반한 베이스 레이어 픽처의 디코딩 생략
본 실시예에 의하면, 인코딩 장치와 디코딩 장치 사이의 전달/전송 시스템 및 디코딩 장치의 효율을 높일 수 있다. 본 실시예는 특정 레이어 ID, ilp_flag, ilp_ref_flag를 가진 코딩된 픽처가 처리될 필요가 있는지를 전달 시스템과 디코징 장치가 효과적으로 결정할 수 있게 한다.
구체적으로, 본 실시예 II에서는 특정 레이어 ID와 ilp_flag, ilp_ref_flag를 가진 코딩된 픽처를 포함하는 패키지(pakage)가 전달될 필요가 있는지 혹은 드롭될(dropped) 필요가 있는지를 인코딩 장치와 디코딩 장치 사이의 전달(delivery)/전송(transport) 시스템이 결정할 수 있도록 한다. 또한, 본 실시예 II에서는 특정 레이어 ID와 ilp_flag, ilp_ref_flag를 가진 코딩된 픽처가 코딩될 필요가 있는지를 디코딩 장치가 결정할 수 있도록 한다.
본 실시예 II 를 포함하는 본 명세서에서, 타켓 레이어를 특정하는 TargetLayer는 디스플레이 되거나 디코딩 장치에 의해 출력되는 가장 높은 레이어의 레이어 ID이다. 또한, LayerID는 각 코딩된 픽처의 레이어 ID이며, ilp_flag은 각 코딩된 픽처의 ilp_flag 값을 나타내며, ilp_ref_flag는 각 코딩된 픽처의 ilp_ref_flag 값을 나타낸다.
본 실시예에 따르면, 특정한 TargetLaye에 대하여 아래의 조건 (i)~(iii)가 모두 만족되는 경우에는 상기 TargetLayer에 대응하는 코딩된 픽처는 코딩되지 않거나 드롭된다.
조건(i) LayerID < TargetLayer
조건(ii) ilp_flag의 값이 거짓(false). 즉, ilp_flag의 값이 0.
조건(iii) ilp_ref_flag의 값이 거짓(false), 즉, ilp_ref_flag의 값이 0.
도 4는 본 실시예에 관하여 개략적으로 설명하는 도면으로서, 디코딩 장치에 전달할 필요가 없거나 디코딩될 필요가 없는 고딩된 픽처들을 제거하는 방법의 일 예를 도시하고 있다.
도 4의 예를 참조하면, 타겟 레이어가 공간적 인핸스먼트 레이어 1인 경우, 코딩된 픽처 10과 40은 디코딩 장치에 전달될 필요가 없거나 디코딩될 필요가 없다. 왜냐하면, 픽처 10과 픽처 40에 대하여 상기 조건 (i)~(iii)가 모두 만족되기 때문이다.
즉, 도 4의 예에서, 픽처 10과 픽처 40는 레이어 0의 픽처들로서, TargetLayer보다 LayerID가 작은 레이어의 픽처들이고, ilp_flag과 ilp_ref_flag의 값이 모두 0이다.
따라서, 도 4의 예에서, 인코딩 순서/전달 순서는 순서 3과 같고, 디코딩 순서는 순서 4와 같게 된다.
순서 3: 00 01 10 11 20 21 30 31 40 41 50 51 60 61
순서 4: 00 01 11 20 21 30 31 41 50 51 60 61
따라서, 실시예 II에 의하면, 인코딩 장치는 조건 (i)~(iii)이 모두 만족되는 경우에 해당 픽처를 전달하지 않을 수도 있고, 디코딩 장치는 조건 (i)~(iii)이 모두 만족되는 경우에 해당 픽처를 드롭하거나 디코딩 하지 않을 수 있다.
실시예 III. 메모리 관리에 기반한 베이스 레이어 픽처의 디코딩 생략
본 실시예에 따르면, 인코딩 장치와 디코딩 장치의 메모리 관리(memory management)에 기반해, 특정 레이어 ID와 ilp_flag 및 ilp_ref_flag에 대응하는 코딩된 픽처의 복원 픽처를 메모리에 저장하거나 유지할 것인지를 결정할 수 있다.
또한, 본 실시예에 따르면, 인코딩 장치와 디코딩 장치의 메모리 관리를 기반으로, 특정 레이어 ID와 ilp_flag 및 ilp_ref_flag에 대응하는 코딩된 픽처의 복원 픽처가 메모리로부터 제거되어야 하는지를 결정할 수 있다.
본 실시예 III와 본 명세서에서 메모리는 DPB(Decoded Picture Buffer)일 수 있다.
본 실시예에서도, 타켓 레이어를 특정하는 TargetLayer는 디스플레이 되거나 디코딩 장치에 의해 출력되는 가장 높은 레이어의 레이어 ID이다. 또한, LayerID는 각 코딩된 픽처의 레이어 ID이며, ilp_flag은 각 코딩된 픽처의 ilp_flag 값을 나타내며, ilp_ref_flag는 각 코딩된 픽처의 ilp_ref_flag 값을 나타낸다.
본 실시예에서, 주어진 특정 TargetLayer(given particular TargetLayer)에 대하여, 코딩된 픽처의 복원 픽처는 다음의 조건 (i)~(iii)가 모두 만족되면 메모리 내에 유지될 수 없다.
조건(i) LayerID < TargetLayer
조건(ii)ilp_flag의 값이 거짓(false). 즉, ilp_flag의 값이 0.
조건(iii)ilp_ref_flag의 값이 거짓(false), 즉, ilp_ref_flag의 값이 0.
또한, 본 실시예에서, 주어진 특정 TargetLayer에 대하여, 픽처의 출력 순서에 대응하는 POC(Picture Order Count)가 pic_curr이고 LayerID가 curr_layer_id (즉, layer_id ≤ TargetLayer)인 코딩된 픽처(coded picture)를 디코딩한 후에는, 다음의 조건 (a)~(d)이 모두 만족되는 경우에 메모리 내 참조 픽처들 중 해당 참조 픽처는 제거된다.
조건 (a) 참조 픽처의 POC가 poc_curr과 동일하다.
조건 (b)참조 픽처의 LayerID가 curr_layer_id보다 작다.
조건 (c) 참조 픽처의 ilp_flag가 참, 즉 참조 픽처의 ilp_flag 값이 1
조건 (d) 참조 픽처의 ilp_ref_flag가 거짓, 즉 참조 픽처의 ilp_ref_flag 값이 0
이때, 조건 (c)는 항상 적용될 수도 있고, 선택적으로 적용될 수도 있다.
본 실시예에 따르면, 디코딩 장치는 LayerID < TargetLayer이고, ilp_flag의 값과 ilp_ref_flag의 값이 0이면, 복원된 픽처를 메모리에 저장하거나 유지하지 않는다.
또한, 디코딩 장치는 POC(Picture Order Count)가 pic_curr이고 LayerID가 curr_layer_id인 픽처를 디코딩 한 후에, 참조 픽처들 중에서 POC가 poc_curr과 동일하고, LayerID가 curr_layer_id보다 작으며, ilp_flag 값이 1이고, ilp_ref_flag 값이 0인 참조 픽처를 메모리에서 제거할 수 있다.
TargetLayer를 고려하고 ilp_flag와 ilp_ref_flag를 활용하는 실시예 III에 따른 메모리 관리를 적용함으로써, 비트스트림을 처리하고 디코딩하는데 필요한 메모리 사이즈를 줄일 수 있다.
도 5는 메모리 관리의 일 예에 관하여 개략적으로 설명하는 도면이다.
도 5의 예를 참조하면, 본 실시예에 따른 메모리 관리를 적용한 경우에 메모리 사이즈를 줄일 수 있다는 것을 확인할 수 있다.
도 5의 예에서는 랜덤 액세스 설정에 따른 픽처 구조를 예로서 설명한다. 도 5의 예에서는 4개의 시간적 레벨을 가지는 두 개의 공간적 스케일러빌러티 레이어(spatial scalability layers)의 경우를 설명한다.
도 5의 예에서, 공간적 베이스 레이어에서 시간적 레벨이 0과 1인 픽처들은 인터 레이어 예측에 사용될 수 있다. 반면, 공간적 베이스 레이어에서 시간적 레벨이 2와 3인 픽처들은 인터 레이어 예측에 사용되지 않는다.
이런 도 5의 구조의 경우, 공간적 베이스 레이어(spatial base layer)의 디코딩에서는 적어도 6 개의 참조 픽처들을 저장하기 위해 메모리를 할당해야 한다. 이때, ilp_flag와 ilp_ref_flag를 활용하지 않는다면, 공간적 인핸스먼트 레이어(spatila enhancement layer)의 디코딩을 위해서는 적어도 11개의 참조 픽처들을 저장하기 위해 메모리를 할당해야 한다.
도 6은 본 발명에 따른 메모리 관리의 일 예를 개략적으로 설명하는 도면이다.
도 6의 예는 도 5의 예와 동일한 픽처 구조(picture structure)를 가진다. 다만, 도 6의 예는 도 5의 예와 달리, 두 개의 정보 ilp_flag와 ilp_ref_flag를 활용하는 경우를 설명한다.
이 두 정보, ilp_flag와 ilp_ref_flag를 활용함으로써, 공간적 베이스 레이어에서 시간적 레벨이 2와 3인 픽처들이 인터 레이어 예측에 기반한 인핸스먼트 레이어의 디코딩에 필요하지 않고, 따라서 제거될 수 있다는 것이 지시될 수 있다.
ilp_flag와 ilp_ref_flag를 활용하지 않는 도 5의 예와 달리, ilp_flag와 ilp_ref_flag를 활용하는 도 6의 예에서는, 도시된 바와 같이, 공간적 베이스 레이어의 디코딩 과정에서 3 개의 픽처를 저장하기 위한 메모리만 할당하면 된다.
도 7은 도 6의 예에서 디코딩 과정에 필요하지 않은 픽처들을 제외한 상황을 개략적으로 설명하는 도면이다.
도 6의 예에서 설명한 바와 같이, 도 5 내지 도 7의 예에 따른 픽처 구조에서 베이스 레이어의 픽처들 중 시간적 레벨이 2와 3인 픽처들은 인핸스먼트 레이어의 디코딩에 사용되지 않으므로, 도 7의 예와 같이 메모리에서 제거할 수 있다. 따라서, 도 6과 도 7의 예에서 베이스 레이어에 대해 요구되는 메모리는 도 5의 예와 달리 3 개의 픽처를 저장할 메모리로 충분하다.
도 8은 각 픽처의 디코딩 과정에서 콘텐트/메모리 상태/DPB 상태에 관한 일 예를 개략적으로 설명하는 도면이다. 도 8의 예에서, 각 픽처는 디코딩 순서에 따라서 설명되고 있으며, 픽처 구조는 도 6 및 도 7의 예와 동일하다.
도 8의 예에서도, 타겟 레이어 TargetLayer의 값이 1이라고 가정한다.
X 표시가 부여된 픽처들은 DPB로부터 제거되는 픽처들이다.
도 8의 예에서 보듯이, 본 실시예에 따른 메모리 관리를 적용하면 필요한 메모리 사이즈는 11 픽처를 저장하기 위한 메모리 사이즈로부터 7 픽처를 저장하기 위한 메모리 사이즈로 줄어든다.
실시예 IV. 참조 픽처 리스트 구성 및 관리에 기반한 베이스 레이어 픽처의 디코딩 생략
본 실시예에서는 ilp_flag와 ilp_ref_flag를 이용하여, 참조 픽처 리스트를 구성하는 방법을 수정할 수도 있다.
본 실시예에 따라서, ilp_flag와 ilp_ref_flag를 이용하는 경우, 슬라이스의 참조 픽처 리스트는 다음과 같이 구성될 수 있다.
① 상기 슬라이스의 ilp_flag 값이 0이면, 상기 슬라이스에 대한 참조 픽처 리스트는 참조 픽처 세트(Reference Picture Set: RPS)만을 기반으로 해서 구성될 수 있다. 즉, 현재 참조 픽처 리스트 구성에 변화가 없다.
② 상기 슬라이스의 ilp_flag 값이 1이면, 상기 슬라이스에 대한 참조 픽처 리스트는 ilp_ref_flag의 값이 1이고 이 슬라이스에 대한 RPS에 포함된 참조 픽처들을 포함하여 구성된다.
참조 픽처 세트(RPS)는 픽처와 연관된 참조 픽처들의 집합(set of reference pictures associated with a picture)로서 디코딩 순서에서 상기 연관된 픽처보다 선행하는 모든 참조 픽처로 구성되며, 이 참조 픽처들은 상기 연관된 픽처 혹은 또는 상기 연관된 픽처보다 디코딩 순서에서 후행하는 픽처의 인터 예측에 이용될 수 있다.
참조 픽처 세트는 참조 픽처 세트 리스트를 포함할 수 있다. 참조 픽처 세트 리스트는 POC 순서상 현재 픽처에 선행하는 단기 참조 픽처들로 구성된 리스트와 POC 순서상 현재 픽처에 후행하는 단기 참조 픽처들로 구성된 리스트 그리고, 장기 참조 픽처들로 구성된 리스트를 포함할 수 있다.
참조 픽처 리스트는 POC 순서상 현재 픽처에 선행하는 단기 참조 픽처(들), POC 순서상 현재 픽처에 후행하는 단기 참조 픽처(들), 장기 참조 픽처들 그리고 인터 레이어 참조 픽처(들) 중 적어도 하나 이상을 포함하여 구성될 수 있다.
본 실시예 IV에 따라 참조 픽처 리스트의 구성을 수정하는 방법을 구체적으로 설명한다.
본 실시예에서, NumRpsCurrTempList0 는 임시 리스트 0에서 현재 슬라이스에 대한 차조 픽처들의 개수(Number of reference pictures for current slice in temporal list 0)를 나타낸다. RefPicListTemp0는 임시 리스트 0에서 현재 슬라이스에 대한 참조 픽처들의 POC의 리스트(List of POC of reference pictures for current slice in temporal list 0)를 나타낸다. NumRpsCurrTempList1는 임시 리스트 1에서 현재 슬라이스에 대한 참조 픽처들의 개수(Number of reference pictures for current slice in temporal list 1)를 나타낸다. RefPicListTemp1는 임시 리스트 1에서 현재 슬라이스에 대한 참조 픽처들의 POC의 리스트(List of POC of reference pictures for current slice in temporal list 1)를 나타낸다. NumPocStCurrBefore는 현재 슬라이스에 대한 단기 참조 픽처들 중 현재 슬라이스의 POC보다 작은 POC를 가지는 단기 참조 픽처들의 개수(Number of short term reference pictures for current slice whose POC is smaller than POC of current slice)를 나타낸다. NumPocStCurrAfter는 현재 슬라이스에 대한 단기 참조 픽처들 중에서 현재 슬라이스의 POC보다 큰 POC를 가지는 단기 참조 픽처들의 개수(Number of short term reference pictures for current slice whose POC is greater than POC of current slice)를 나타낸다. NumPocLtCurr는 현재 슬라이스에 대한 장기 참조 픽처들의 개수(Number of long term reference pictures for current slice)를 나타낸다. RefPicList0는 현재 슬라이스에 대한 참조 픽처들의 리스트 L0(List 0 of reference pictures for current slice)를 나타낸다. RefPicList1는 현재 슬라이스에 대한 참조 픽처들의 리스트 L1(List 1 of reference pictures for current slice)를 나타낸다. ref_pic_list_modification_flag_l0는 RefPicList0에 대한 수정이 필요한지를 지시하는 정보이다. 예컨대, ref_pic_list_modification_flag_l0의 값이 1이면 RefPicList0에 대한 수정이 필요하다는 것을 지시하고, ref_pic_list_modification_flag_l0의 값이 0이면 RefPicList0에 대한 수정이 필요 없다는 것을 지시할 수 있다. ref_pic_list_modification_flag_l1는 RefPicList1에 대한 수정이 필요한지를 지시하는 정보이다. 예컨대, ref_pic_list_modification_flag_l1의 값이 1이면 RefPicList1에 대한 수정이 필요하다는 것을 지시하고, ref_pic_list_modification_flag_l1의 값이 0이면 RefPicList1에 대한 수정이 필요 없다는 것을 지시할 수 있다. IlpRefList는 픽처들의 ilp_ref_flag의 리스트(List of ilp_ref_flag of pictures)이다. IlpRefList [x]는 픽처 x의 ilp_ref_flag(ilp_ref_flag of picture x)이며, 인덱스 x는 픽처의 POC를 나타낼 수 있다.
본 실시예에 따른 참조 픽처 리스트의 구성은 다음과 같다.
각 슬라이스의 디코딩 프로세가 시작될 때(at the beginning of the decoding process), 참조 픽처 리스트 RefPicList0 및 B 픽처에 대한 RefPicList1이 다음과 같이 구성될 수 있다.
변수 NumRpsCurrTempList0은 Max( num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr )로 설정되며, 리스트 RefPicListTemp0는 표 5와 같이 구성될 수 있다.
Figure pct00005
따라서, 참조 픽처 리스트 RefPicList0는 표 6과 같이 구성될 수 있다.
Figure pct00006
한편, 슬라이스가 B 슬라이스인 경우에는, 두 번째 참조 픽처 리스트 RefPicList1을 이용할 수 있다. 이 경우에는 변수 NumRpsCurrTempList1을 Max( num_ref_idx_l0_active_minus1 + 1, NumPocTotalCurr )로 설정하고, 리스트 RefPicListTemp1를 표 7과 같이 구성될 수 있다.
Figure pct00007
따라서, 슬라이스가 B 슬라이스일 때, 참조 픽처 리스트 RefPicList1는 표 8과 같이 구성될 수 있다.
Figure pct00008
표 5 내지 표 8을 참조하면, 임시 리스트(RefPicListTemp0, RefPicListTemp1)는 ref_flag와 ilp_ref_flag를 이용하는 상기 ① 및 ②에 따라서, 구성되며, 임시 리스트를 기반으로 해서, 참조 픽처 리스트의 수정이 없는 경우(ref_pic_list_modification_flag_lX = 0, X = 0 또는 1)에는 임시 리스트를 참조 픽처 리스트를 하고, 참조 픽처 리스트의 수정이 있는 경우(ref_pic_list_modification_flag_lX = 1)에는 부호화 장치로부터 전송되는 리스트 엔트리 정보(list_entry_lx[rIdx], lx = l0 혹은 l1)에 따라 수정된 임시 리스트를 참조 픽처 리스트로 할 수 있다.
지금까지 본 발명에 따라서, 시그널링(정보 전송), 디코딩 방법, 메모리 관리, 참조 픽처 리스트 구성에 기반해서 베이스 레이어의 참조 픽처의 디코딩을 생략하는 방법에 관하여 설명하였다.
이에 추가하여, 효율적인 인터 레이어 예측을 수행하기 위해 인터 레이어 예측을 픽처 레벨에서 제어하는 방법도 고려할 수 있다.
멀티-레이어 비트스트림에서, 디코딩 복잡도는 최상위가 아닌 레이어(non-highest)의 픽처 또는 출력되지 않는 레이어(non-outputted)의 픽처가 인터 레이어 예측에 필요하지 않는 경우 경감될 수 있다. 이때는 상기 픽처들을 앞서 설명한 바와 같이 디코딩 하지 않거나 제거할 수 있기 때문이다.
이하, 이에 관하여 픽처 레벨에서 제어하는 방법을 시그널링 방법과 디코딩 방법을 기반으로 구체적으로 설명한다.
실시예 V. 시그널링 방법에 기반한 인터 레이어 예측의 제어
(실시예 V-1)
실시예 V-1에서는 표 9와 같이 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag가 전송될 수 있다.
Figure pct00009
상술한 바와 같이, ilp_flag는 현재 슬라이스가 인터 레이어 예측에 이용될 수 있는지를 지시한다. ilp _ ref _ flag는 현재 슬라이스가 동일 레이어 내의 픽처들 중에서 인터 레이어 예측에 필요한 픽처(들)에 의해 참조되거나 이용되는지를 지시한다.
즉, 본 예에서 ilp_flag와 ilp_ref_flag는 슬라이스 시그먼트 헤더에서 전송되며, 이 슬라이스 시그먼트 헤더에 대응하는 슬라이스가 직/간접적으로 인터 레이어 예측에 이용될 것인지를 지시한다.
디코딩 장치는 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag를 수신하고, 참조 레이어 내 대상 슬라이스가 현재 블록(현재 레이어 내 복호화 대상 블록)의 인터 레이어 예측에 직/간접적으로 사용되지 않는다는 것을 ilp_flag와 ilp_ref_flag가 지시하면, 상기 대상 슬라이스 또는 픽처에 대한 디코딩을 생략할 수 있다.
이때, 픽처 레벨에서 ilp_flag와 ilp_ref_flag의 값을 제어할 수도 있다.
구체적으로, ilp_flag는 현재 코딩된 부호화된 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시하며, ilp_flag의 값이 코딩된 픽처의 모든 슬라이스 시그먼트 헤더에 대해서 동일하도록 할 수도 있다.
또한, ilp_ref_flag 역시 현재 코딩된 픽처가 동일 레이어 내의 픽처들 중에서 인터 레이어 예측에 필요한 픽처(들)에 의해 참조되거나 이용되는지를 지시하며, ilp_ref_flag의 값이 코딩딘 픽처의 모든 슬라이스 시그먼트 헤더에 대해서 동일하도록 할 수도 있다.
이 경우, 디코딩 장치는 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag를 수신하고, 참조 레이어 내 대상 슬라이스가 현재 블록(현재 레이어 내 복호화 대상 블록)의 인터 레이어 예측에 직/간접적으로 사용되지 않는다는 것을 ilp_flag와 ilp_ref_flag가 지시하면, 상기 대상 슬라이스가 속하는 픽처에 대한 디코딩을 생략할 수 있다.
(실시예 V-2)
실시예 V-2에서는 표 10과 같이 슬라이스 시그먼트 헤더에서 인터 레이어 예측에 관한 정보를 시그널링 할 수 있다.
Figure pct00010
표 10에서 need_for_ilp_flag는 현재 슬라이스가 인터 레이어 예측에 이용되는지 혹은 현재 슬라이스가 동일한 레이어의 픽처들 중에서 인터 레이어 예측에 필요한 다른 픽처(들)의 인터 예측에 이용되거나 참조되는지를 지시한다. 즉, need_for_ilp_flag의 값이 1이면 need_for_ilp_flag이 지시하는 픽처는 인터 예측에 직/간접적으로 이용/참조되며, need_for_ilp_flag의 값이 0이면 need_for_ilp_flag이 지시하는 픽처는 인터 레이어 예측에 직/간접적으로 이용/참조되지 않는다.
여기서, need_for_ilp_flag를 픽처 레벨에서 더 제어할 수도 있다.
이 경우, need_for_ilp_flag는 앞서와 마찬가지로, 현재 슬라이스가 인터 레이어 예측에 이용되는지 혹은 현재 슬라이스가 동일한 레이어의 픽처들 중에서 인터 레이어 예측에 필요한 다른 픽처(들)의 인터 예측에 이용되거나 참조되는지를 지시한다. 다만, need_for_ilp_flag의 값은 코딩된 픽처의 모든 슬라이스 헤어들에서 동일한 값을 가진다(that the value of need_for_ilp_flag shall be the same in all slice segment headers of a coded picture).
실시예 VI. 디코딩 과정에 대한 영향을 기반으로 하는 인터 레이어 예측의 제어
(실시예 VI-1)
본 실시예 VI-1에서 TargetDecLayerIdList는 nuh_layer_id 값들의 리스트로서, 디코딩될 NAL 유닛들의 nuh_layer_id 값들이 오름 차순으로 정렬된 리스트일 수 있다. nuh_layer_id는 멀티-레이어 구조에서 레이어를 특정하는 NAL 유닛 레벨의 정보이다. TargetOutputLayerIdList는 nuh_layer_id 값들의 리스트로서, 출력될 NAL 유닛들의 nuh_layer_id 값들이 오름 차순으로 정렬된 리스트일 수 있다. HighestTid는 디코딩될 가장 높은 시간적 서브 레이어(the highest temporal sub-layer to be decoded)를 나타낸다.
실시예 VI-1의 일 예로서, 현재 픽처에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 거짓(false)이고 현재 NAL 유닛의 nu_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처는 디코딩 프로세스에서 생략(skip)될 수 있다. 따라서, 디코딩 장치는 현재 픽처에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 0이고, 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처를 디코딩하지 않을 수 있다.
실시예 VI-1의 다른 예로서, 현재 슬라이스에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 거짓(false)이고 현재 NAL 유닛의 nu_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 슬라이스는 디코딩 프로세스에서 생략(skip)될 수 있다. 따라서, 디코딩 장치는 현재 슬라이스에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 0이고, 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 슬라이스를 디코딩하지 않을 수 있다.
실시예 VI-1의 또 다른 예로서, 현재 픽처에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 거짓(false)이고 현재 NAL 유닛의 nu_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처의 PicOutputFlagdml 값을 0으로 설정할 수 있다. 현재 픽처에 대한 PicOutputFlag의 값은 현재 픽처를 출력할 것인지를 지시할 수 있다. 예컨대, PicOutputFlag의 값이 1이면 대응하는 픽처를 출력하고 PicOutputFlag의 값이 0이면 대응하는 픽처를 출력하지 않을 수 있다. 따라서, 디코딩 장치는 현재 픽처에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 0이고, 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처에 대한 PicOutputFlag의 값을 0으로 설정하고, 현재 픽처를 출력하지 않을 수 있다.
실시예 VI-1의 또 다른 예로서, 현재 슬라이스에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 거짓(false)이고 현재 NAL 유닛의 nu_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처의 PicOutputFlagdml 값을 0으로 설정할 수 있다. 따라서, 디코딩 장치는 현재 슬라이스에 대한 ilp_flag와 ilp_ref_flag의 값들이 모두 0이고, 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처에 대한 PicOutputFlag의 값을 0으로 설정하고, 현재 픽처를 출력하지 않을 수 있다.
( 실시예 VI-2)
본 실시예 VI-2에서도 TargetDecLayerIdList는 nuh_layer_id 값들의 리스트로서, 디코딩될 NAL 유닛들의 nuh_layer_id 값들이 오름 차순으로 정렬된 리스트일 수 있다. nuh_layer_id는 멀티-레이어 구조에서 레이어를 특정하는 NAL 유닛 헤더 레벨의 정보이다. TargetOutputLayerIdList는 nuh_layer_id 값들의 리스트로서, 출력될 NAL 유닛들의 nuh_layer_id 값들이 오름 차순으로 정렬된 리스트일 수 있다. HighestTid는 디코딩될 가장 높은 시간적 서브 레이어(the highest temporal sub-layer to be decoded)를 나타낸다.
실시예 VI-2의 일 예로서, 현재 픽처에 대한 need_for_ilp_flag의 값이 거짓(flase)이고 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처는 디코딩 프로세스에서 생략(skip)될 수 있다. 따라서, 디코딩 장치는 현재 픽처에 대한 need_for_ilp_flag의 값이 0이고 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처를 디코딩 하지 않을 수 있다.
실시예 VI-2의 다른 예로서, 현재 픽처에 대한 need_for_ilp_flag의 값이 거짓(flase)이고 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 슬라이스는 디코딩 프로세스에서 생략(skip)될 수 있다. 따라서, 디코딩 장치는 현재 픽처에 대한 need_for_ilp_flag의 값이 0이고 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 슬라이스를 디코딩 하지 않을 수 있다.
실시예 VI-2의 또 다른 예로서, 현재 픽처에 대한 need_for_ilp_flag의 값이 거짓(flase)이고 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처에 대한 PicOutputFlag를 0으로 설정할 수 있다. . 현재 픽처에 대한 PicOutputFlag의 값은 현재 픽처를 출력할 것인지를 지시할 수 있다. 예컨대, PicOutputFlag의 값이 1이면 대응하는 픽처를 출력하고 PicOutputFlag의 값이 0이면 대응하는 픽처를 출력하지 않을 수 있다. 따라서, 디코딩 장치는 현재 픽처에 대한 need_for_ilp_flag의 값이 0이고, 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처에 대한 PicOutputFlag의 값을 0으로 설정하고, 현재 픽처를 출력하지 않을 수 있다.
실시예 VI-2의 또 다른 예로서, 현재 슬라이스에 대한 need_for_ilp_flag의 값이 거짓(flase)이고 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처에 대한 PicOutputFlag를 0으로 설정할 수 있다. . 따라서, 디코딩 장치는 현재 슬라이스에 대한 need_for_ilp_flag의 값이 0이고, 현재 NAL 유닛의 nuh_layer_id가 TargetOutputLayerIdList에 포함되어 있지 않으면, 현재 픽처에 대한 PicOutputFlag의 값을 0으로 설정하고, 현재 픽처를 출력하지 않을 수 있다.
한편, 앞서 참조 픽처 리스트의 구성을 통해 참조 레이어의 디코딩을 제어하는 방법을 설명하였으나, 이와 관련하여 인터 레이어 예측에 필요하지 않은 픽처를 고려하여 참조 픽처 리스트를 관리할 수도 있다.
이와 관련하여, 여기서는 본 발명에 따라서 참조 픽처 리스트를 관리하는 방법에 관하여 구체적으로 설명한다.
실시예 VII. 인터 레이어 예측에서 필요하지 않은 픽처들을 고려한 참조 픽처 리스트의 관리
상술한 바와 같이, 멀티-레이어 비트스트림에서, 디코딩 복잡도는 최상위가 아닌 레이어(non-highest)의 픽처 또는 출력되지 않는 레이어(non-outputted)의 픽처가 인터 레이어 예측에 필요하지 않는 경우 경감될 수 있다. 이때는 상기 픽처들을 앞서 설명한 바와 같이 디코딩 하지 않거나 제거할 수 있기 때문이다.
본 실시예에서는 참조 픽처 리스트에 포함되는 인터 레이어 참조 픽처들 중에서, 현재 픽처(현재 블록)의 예측에 필요하지 않은 픽처를 제거하거나 “참조되지 않음(unused for reference)”으로 마킹하는 방법을 구체적으로 설명한다.
( 실시예 VII-1)
인터 레이어 예측의 이용을 지시하는 정보가 시퀀스 레벨에서만 전송된다고 하면, 표 11의 예를 적용할 수 있다.
Figure pct00011
표 11에서, direct_dependency_flag[i][j]은 멀티 레이어 구조에서 레이어 간의 의존성(dependency)을 특정한다. direct_dependency_flag[i][j] 값이 0이면, 인덱스 j의 레이어는 인덱스 i인 레이어에 대한 예측에 직접 참조되는 레이어(direct reference layer)가 아니다. direct_dependency_flag[i][j]의 값이 1이면, 인덱스 j인 레이어는 인덱스 i인 레이어에 대한 예측에 직접 참조 되는 레이어일 수 있다.
표 11에서, max_sublayer_for_ilp_plus1[i]는 인터 레이어 예측에 이용/참조 될 수 있는 레이어 i의 최대 서브 레이어를 특정한다. max_sublayer_for_ilp_plus1[i]의 값이 0이면, RAP(Random Access Point) 픽처만 인터 레이어 예측에 이용될 수 있다. max_sublayer_for_ilp_plus1[i]의 값이 0 보다 큰 경우에, max_sublayer_for_ilp_plus1[i] - 1보다 같거나 작은 temporalID를 가지는 픽처들은 인터 레이어 예측에 이용될 수 있다.
이 같은 상황에서, temporalID가 max_sublayer_for_ilp_plus1[참조 레이어의 레이어 ID layerID] 보다 크거나 같은 참조 레이어로부터의 인터 레이어 참조 픽처는 현재 픽처의 참조 픽처 세트에 대한 리스트에 포함되지 않는다. 다시 말하면, 본 실시예에서, temporalID가 max_sublayer_for_ilp_plus1[참조 레이어의 레이어 ID layerID]에 의해 특정되는 최대 서브 레이어의 temporalID 보다 크거나 같은 참조 레이어의 픽처는 현재 픽처의 참조 픽처 리스트에 포함되지 않는다.
이를 위해, 인터 레이어 참조 픽처 세트에 대한 복원 과정이 다음과 같이 수정될 수 있다.
인터 레이어 참조 픽처 세트에 대한 복원 과정의 출력은 인터 레이어 참조 픽처들의 업데이트된 리스트 RefPicSetInterLayer이 된다. 리스트 RefPicSetInterLayer는 처음에는 빈 것(empty)으로 설정되며, 복원 과정을 통해 표 12와 같이 유도될 수 있다.
Figure pct00012
상위 레이어의 픽처를 디코딩 하고 난 뒤, 상기 상위 레이어보다 레이어 id가 낮고 동일한 POC를 가지는 DPB 내의 픽처(들)은 다음의 조건을 만족하는 경우에, 상기 픽처(들)은 “참조되지 않음(unused for reference)”으로 마킹되거나 DPB에서 제거될 수 있다.
<조건> 픽처의 temporalID가 max_sublayer_for_ilp_plus1[refLayerId [LayerIdInVps[Nuh_layer_id]][i]] 보다 크다.
상기 조건은 또한, 다음과 같이 적용될 수도 있다: 픽처의 temporalID가 max_sublayer_for_ilp_plus1에 의해 특정되는 최대 서브 레이어의 temporalID보다 크다.
이 경우, 디코딩 장치는 해당 픽처를 DPB에서 제거하거나 “참조 되지 않음(unused for reference)”로 마킹해서 인터 레이어 예측에서 참조되지 않도록 할 수 있다. DPB에서 제거하거나 “참조 되지 않음(unused for reference)”로 마킹된 픽처는 인터 레이어 예측에 사용되는 참조 픽처 리스트에 포함되지 않는다.
( 실시예 VII-2)
픽처가 인터 레이어 예측에 필요한지를 지시하기 위한 다양한 방법의 일 예로서, 두 개의 정보, 예컨대 ilp_flag와 ilp_ref_flag가 이용될 수 있다.
표 13은 슬라이스 시그먼트 헤더에서 ilp_flag와 ilp_ref_flag를 시그널링하는 일 예를 나타낸 것이다.
Figure pct00013
표 13에서 ilp_flag는 현재 코딩된 부호화된 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시한다. ilp_ref_flag는 현재 코딩된 픽처(coded picture)가 동일 레이어 내의 픽처들 중에서 인터 레이어 예측에 필요한 픽처(들)에 의해 참조되거나 이용되는지를 지시한다.
이때, ilp_flag의 값이 0이면 ilp_flag가 지시하는 픽처는 인터 레이어 예측에 참조/이용되지 않으므로, 현재 픽처에 대한 인터 레이어 참조 픽처들의 리스트에 포함되지 않는다.
이를 위해, 인터 레이어 참조 픽처 세트에 대한 복원 과정이 다음과 같이 수정될 수 있다.
인터 레이어 참조 픽처 세트에 대한 복원 과정의 출력은 인터 레이어 참조 픽처들의 업데이트된 리스트 RefPicSetInterLayer이 된다. 리스트 RefPicSetInterLayer는 처음에는 빈 것(empty)으로 설정되며, 복원 과정을 통해 표 14와 같이 유도될 수 있다.
Figure pct00014
두 개의 정보가 인터 레이어 예측을 지시하기 위해 이용되는 경우에, 상위 레이어의 픽처를 디코딩 하고 난 뒤, 상기 상위 레이어보다 레이어 id가 낮고 동일한 POC를 가지는 DPB 내의 픽처(들)이 다음의 조건을 만족하면, 상기 픽처(들)은 “참조되지 않음(unused for reference)”으로 마킹되거나 DPB에서 제거될 수 있다.
<조건>ilp_flag의 값이 0이고, ilp_ref_flag의 값이 0이거나, ilp_flag의 값이 1이고, ilp_ref_flag의 값이 0이다.
따라서, 디코딩 장치는 ilp_ref_flag의 값이 0이면, ilp_ref_flag가 지시하는 픽처를 “참조되지 않음(unused for reference)”으로 마킹되거나 DPB에서 제거하여 인터 레이어 예측에 참조/이용되지 않도록 할 수 있다. DPB에서 제거하거나 “참조 되지 않음(unused for reference)”로 마킹된 픽처는 인터 레이어 예측에 사용되는 참조 픽처 리스트에 포함되지 않는다.
한편, 두 개의 정보(ilp_flag와 ilp_ref_flag)를 사용하지 않고 하나의 정보(need_for_ilp_flag)만을 이용하여 픽처가 인터 레이어 예측에 필요한지를 지시할 수도 있다.
표 15는 슬라이스 시그먼트 헤더에서 need_for_ilp_flag를 시그널링하는 일 예를 나타낸 것이다.
Figure pct00015
표 15에서 need_for_ilp_flag는 현재 슬라이스가 인터 레이어 예측에 이용되는지 혹은 현재 슬라이스가 동일한 레이어의 픽처들 중에서 인터 레이어 예측에 필요한 다른 픽처(들)의 인터 예측에 이용되거나 참조되는지를 지시한다. 즉, need_for_ilp_flag의 값이 1이면 need_for_ilp_flag이 지시하는 픽처는 인터 예측에 직/간접적으로 이용/참조되며, need_for_ilp_flag의 값이 0이면 need_for_ilp_flag이 지시하는 픽처는 인터 레이어 예측에 직/간접적으로 이용/참조되지 않는다.
따라서, need_for_ilp_flag의 값이 0이면 need_for_ilp_flag가 지시하는 픽처는 인터 레이어 예측에 참조/이용되지 않으므로, 현재 픽처에 대한 인터 레이어 참조 픽처들의 리스트에 포함되지 않는다.
이를 위해, 인터 레이어 참조 픽처 세트에 대한 복원 과정이 다음과 같이 수정될 수 있다.
인터 레이어 참조 픽처 세트에 대한 복원 과정의 출력은 인터 레이어 참조 픽처들의 업데이트된 리스트 RefPicSetInterLayer이 된다. 리스트 RefPicSetInterLayer는 처음에는 빈 것(empty)으로 설정되며, 복원 과정을 통해 표 16과 같이 유도될 수 있다.
Figure pct00016
따라서, 하나의 정보(need_for_ilp_flag)가 인터 레이어 예측을 지시하기 위해 이용되는 경우에, 상위 레이어의 픽처를 디코딩 하고 난 뒤, 상기 상위 레이어보다 레이어 id가 낮고 동일한 POC를 가지는 DPB 내의 픽처(들)이 다음의 조건을 만족하면, 상기 픽처(들)은 “참조되지 않음(unused for reference)”으로 마킹되거나 DPB에서 제거될 수 있다.
<조건> need_for_ilp_flag의 값이 0이다.
따라서, 디코딩 장치는 need_for_ilp_flag의 값이 0이면, need_for_ilp_flag가 지시하는 픽처를 “참조되지 않음(unused for reference)”으로 마킹되거나 DPB에서 제거하여 인터 레이어 예측에 참조/이용되지 않도록 할 수 있다. DPB에서 제거하거나 “참조 되지 않음(unused for reference)”로 마킹된 픽처는 인터 레이어 예측에 사용되는 참조 픽처 리스트에 포함되지 않는다.
( 실시예 VII-3)
본 실시예 VII-3에서는 시퀀스 레벨의 시그널링과 픽처 레벨의 시그널링을 모두 사용할 수 있다.
본 실시예 VII-3의 일 예에서, 인터 레이어 참조 픽처 세트에 대한 복원 과정은 다음과 같이 수정될 수 있다.
인터 레이어 참조 픽처 세트에 대한 복원 과정의 출력은 인터 레이어 참조 픽처들의 업데이트된 리스트 RefPicSetInterLayer이 된다. 리스트 RefPicSetInterLayer는 처음에는 빈 것(empty)으로 설정되며, 복원 과정을 통해 표 17과 같이 유도될 수 있다.
Figure pct00017
표 17이 적용되는 예에서, 상위 레이어의 픽처를 디코딩 하고 난 뒤, 상기 상위 레이어보다 레이어 id가 낮고 동일한 POC를 가지는 DPB 내의 픽처(들)이 다음의 조건을 만족하면, 상기 픽처(들)은 “참조되지 않음(unused for reference)”으로 마킹되거나 DPB에서 제거될 수 있다.
<조건> (1) 픽처의 temporalID가 max_sublayer_for_ilp_plus1[refLayerId [LayerIdInVps[Nuh_layer_id]][i]] 보다 크거나, (2) ilp_flag의 값이 0이고 ilp_ref_flag의 값이 0이거나, (3) ilp_flag의 값이 1이고 ilp_ref_flag의 값이 0. 여기서, (1)은 픽처의 temporalID가 max_sublayer_for_ilp_plus1에 의해 특정되는 최대 서브 레이어의 temporalID보다 크다는 것으로 대체될 수 있고, (2)와 (3)은 need_for_ilp_flag의 값이 0이라는 것으로 대체될 수도 있다.
본 실시예 VII-3의 다른 예에 의하면, 인터 레이어 참조 픽처 세트에 대한 복원 과정 17은 표 18로 대체될 수도 있다.
역시 인터 레이어 참조 픽처 세트에 대한 복원 과정의 출력은 인터 레이어 참조 픽처들의 업데이트된 리스트 RefPicSetInterLayer이 된다. 리스트 RefPicSetInterLayer는 처음에는 빈 것(empty)으로 설정되며, 복원 과정을 통해 표 18과 같이 유도될 수 있다.
Figure pct00018
도 9는 본 발명에 따른, 비디오 인코딩 장치의 동작에 관한 일 예를 개략적으로 설명하는 순서도이다.
도 9를 참조하면, 인코딩 장치는 참조 레이어의 픽처를 복호화하고 저장할 수 있다(S910). 멀티 레이어 구조를 지원하는 스케일러블 비디오 코딩에 있어서, 인코징 장치는 참조 레이어의 픽처를 복호화 하고, 복호화된 픽처를 DPB(Decoded Picture Buffer)에 저장할 수 있다. 복호화되는 참조 레이어의 픽처는 현재 레이어의 복호화 대상 픽처와 동일한 AU의 픽처일 수 있다.
참조 레이어의 픽처가 현재 블록에 대한 예측에 참조되지 않고, 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에도 참조되지 않는 경우에, 인코딩 장치는 상기 참조 레이어의 픽처에 대하여 참조되지 않음을 마킹할 수 있다.
이 경우, 인코딩 장치는 현재 블록에 대한 예측에 참조되지 않고, 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에도 참조되지 않는 픽처에 대한 정보를 후술하는 참조 정보(예컨대, ilp_flag, ilp_ref_flag, need_for_ilp_flag emd)을 통해 디코더 장치로 전달할 수도 있다.
인코딩 장치는 참조되지 않음으로 마킹되지 않은 픽처를 복호화하거나, 참조되지 않음으로 마킹되지 않은 픽처를 저장할 수 있다. 혹은 인코딩 장치는 참조되지 않음으로 마킹된 픽처를 메모리에서 제거할 수도 있다.
인코딩 장치는 현재 블록의 예측에 대한 인터 레이어 참조 픽처를 유도할 수 있다(S920). 인코딩 장치는 참조 레이어의 픽처로부터 현재 레이어 내 현재 픽처의 복호화 대상 블록(현재 블록)에 대한 참조 픽처(인터 레이어 참조 픽처)를 유도할 수 있다. 이 경우, 인코딩 장치는 페이즈(phase)와 해상도를 고려한 샘플링을 수행하여 인터 레이어 참조 픽처를 유도할 수도 있다.
인코딩 장치는 현재 블록에 대한 예측에 참조 될 수 있거나 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에 참조될 수 있는 픽처들을 기반으로 인터 레이어 참조 픽처를 유도할 수 있다.
이때, 현재 블록에 대한 예측에 참조되지 않고, 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 픽처를 특정하는 정보는 후술하는 상기 참조 정보는 상기 현재 블록에 대한 예측에 참조되지 않고, 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 픽처를 특정하는 정보는 후술하는 참조 정보(예컨대, ilp_flag, ilp_ref_flag, need_for_ilp_flag emd)을 통해 디코더 장치로 전달될 수도 있다.
인코딩 장치는 현재 블록의 예측에 이용되는 참조 픽처 리스트를 구성할 수 있다(S930). 참조 픽처 리스트는 현재 슬라이스(복호화 대상 슬라이스)에 따라서 참조 픽처 리스트 L0일 수도 있고, 참조 픽처 리스트 L0과 참조 픽처 리스트 L1일 수도 있다.
참조 픽처 리스트는 현재 픽처와 동일한 레이어(현재 레이어)의 픽처들과 현재 레이어와 다른 참조 레이어로부터 유도된 참조 픽처(인터 레이어 참조 픽처)를 포함할 수 있다. 이때, 참조 픽처 리스트는 하나의 참조 레이어로부터 유도된 하나의 인터 레이어 참조 픽처를 포함할 수도 있고, 둘 이상의 참조 레이어로부터 유도된 둘 이상의 인터 레이어 참조 픽처를 포함할 수도 있다.
인코딩 장치는 참조 픽처 리스트를 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다(S940). 인코딩 장치는 참조 픽처 리스트의 픽처들 중 적어도 하나를 이용하여 현재 블록에 대한 인터 예측을 수행할 수 있다. 예컨대, 인코딩 장치는 참조 레이어로부터 유도된 인터 레이어 참조 픽처를 이용하여 현재 블록에 대한 예측을 수행할 수 있다.
인코딩 장치는 예측 샘플을 기반으로 복원 샘플을 유도할 수 있다(S950). 인코딩 장치는 예측 샘플과 레지듀얼 신호을 더하여 복원 샘플을 유도할 수 있다. 인코딩 장치는 복원 샘플을 현재 블록 단위로 유도할 수도 있고, 현재 픽처 단위로 유도할 수도 있다.
인코딩 장치는 참조 정보를 전송할 수 있다(S960). 인코딩 장치는 참조 정보를 통해, 인터 레이어 예측에 이용 가능한 참조 레이어의 픽처에 관한 정보를 전달할 수 있다. 예컨대, 참조 레이어의 픽처가 현재 블록에 대한 예측에 참조 될 수 있거나 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에 참조될 수 있는 경우에, 참조 정보는 참조 레이어의 상기 픽처가 인터 레이어 예측에 참조될 수 있다고 지시할 수 있다. 혹은, 참조 레이어의 픽처가 현재 블록에 대한 예측에 참조되지 않고, 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 경우에, 참조 정보는 참조 레이어의 픽처가 인터 레이어 예측에 참조되지 않는다는 것을 지시할 수도 있다.
인코딩 장치는 슬라이스 시그먼트 헤더에서 대응하는 현재 픽처에 대한 참조 정보를 전송할 수 있다. 혹은 인코딩 장치는 픽처 레벨에서 현재 픽처에 대한 참조 정보를 전송할 수도 있다.
정보의 전송 단계에서, 인코딩 장치는 참조 정보 외 원본 신호와 예측 신호의 차이인 레지듀얼 정보 등을 전송할 수도 있다.
여기서는 멀티 레이어 구조에서 현재 블록에 대한 예측을 포함하는 부호화에 관하여 설명하였으나, 본 발명은 이에 한정되지 않으며, 부호화의 구체적인 내용은 본 명세서에서 설명한 기술적 사항들을 모두 포함할 수 있다.
도 10은 본 발명에 따른 비디오 디코딩 장치의 동작에 관한 일 예를을 개략적으로 설명하는 순서도이다.
도 10을 참조하면, 디코딩 장치는 참조 정보를 수신할 수 있다(S1010). 디코딩 장치는 인코딩 장치로부터 참조 레이어의 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시하는 참조 정보를 수신할 수 있다.
예컨대, 참조 레이어의 픽처가 현재 블록에 대한 예측에 참조 될 수 있거나 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에 참조될 수 있는 경우에, 참조 정보는 참조 레이어의 상기 픽처가 인터 레이어 예측에 이용될 수 있다고 지시할 수 있다.
혹은 참조 레이어의 픽처가 현재 블록에 대한 예측에 참조되지 않고, 또한, 현재 블록에 대한 예측에 참조되는 참조 레이어의 다른 픽처에 대한 예측에도 참조되지 않는 경우에, 참조 정보는 참조 레이어의 상기 픽처가 인터 레이어 예측에 이용되지 않는다는 것을 지시할 수도 있다.
디코딩 장치는 참조 레이어의 픽처를 복호화하고 저장할 수 있다(S1020). 디코딩 장치는 인터 레이어 예측에 이용되지 않는다고 참조 정보에 의해 지시된 픽처에 대하여 ‘참조되지 않음(unused for reference)’로 마킹을 할 수 있다
디코딩 장치는 참조되지 않음으로 마킹되지 않은 픽처를 복호화하거나, 참조되지 않음으로 마킹되지 않은 픽처를 저장할 수 있다. 혹은 디코딩 장치는 참조되지 않음으로 마킹된 픽처를 메모리(예컨대, DPB)로부터 제거할 수 있다.
디코딩 장치는 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도할 수 있다(S1030). 디코딩 장치는 참조 레이어의 복호화된 픽처로부터 현재 레이어의 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도할 수 있다
예컨대, 디코딩 장치는 참조 레이어의 픽처들 중에서 인터 레이어 예측에 이용된다고 참조 정보가 지시한 픽처들을 기반으로 인터 레이어 참조 픽처를 유도할 수 있다. 이때, 디코딩 장치는 하나의 참조 레이어로부터 하나의 인터 레이어 참조 픽처를 유도할 수도 있고, 복수의 참조 레이어로부터 복수의 인터 레이어 참조 픽처를 유도할 수도 있다.
이때, S1020 단계에서 인터 레이어 예측에 이용되지 않는다고 참조 정보에 의해 지시된 픽처에 대하여 ‘참조되지 않음(unused for reference)’로 마킹이 된 경우에, 디코딩 장치는 참조되지 않음으로 마킹되지 않은 상기 참조 레이어의 픽처로부터 인터 레이어 참조 픽처를 유도할 수 있다.
또한, S1020 단계에서 인터 레이어 예측에 이용되지 않는다고 참조 정보에 의해 지시된 픽처에 대하여 ‘참조되지 않음(unused for reference)’로 마킹이 되고, 마킹된 픽처가 메모리에서 제거된 경우에, 디코딩 장치는 메모리에 남아있는 참조 레이어의 픽처로부터 인터 레이어 참조 픽처를 유도할 수 있다.
또한, 디코딩 장치는 현재 픽처에 의해 인터 레이어 예측에 이용될 수 있는 것으로 지시된 레이어에서 참조 정보에 의해 인터 레이어 예측에 참조될 수 있는 것으로 지시된 픽처로부터 인터 레이어 참조 픽처를 유도할 수도 있다.
이때, 디코딩 장치는 참조 레이어의 픽처들 중에서 현재 픽처와 동일한 액세스 유닛에 속하는 픽처로부터 인터 레이어 참조 픽처를 유도할 수 있다.
디코딩 장치는 현재 블록의 인터 예측에 이용할 참조 픽처 리스트를 유도할 수 있다(S1040). 디코딩 장치는 인터 레이어 참조 픽처 및 현재 레이어의 참조 픽처를 포함하는 참조 픽처 리스트를 구성할 수 있다.
참조 픽처 리스트는 현재 슬라이스(복호화 대상 슬라이스)에 따라서 참조 픽처 리스트 L0일 수도 있고, 참조 픽처 리스트 L0과 참조 픽처 리스트 L1일 수도 있다.
참조 픽처 리스트는 현재 픽처와 동일한 레이어(현재 레이어)의 픽처들과 현재 레이어와 다른 참조 레이어로부터 유도된 참조 픽처(인터 레이어 참조 픽처)를 포함할 수 있다. 이때, 참조 픽처 리스트는 하나의 참조 레이어로부터 유도된 하나의 인터 레이어 참조 픽처를 포함할 수도 있고, 둘 이상의 참조 레이어로부터 유도된 둘 이상의 인터 레이어 참조 픽처를 포함할 수도 있다.
디코딩 장치는 현재 블록에 대한 예측 샘플을 유도할 수 있다(S1050). 디코딩 장치는 참조 픽처 리스트를 기반으로 현재 레이어의 현재 블록에 대한 예측을 수행하여 상기 현재 블록에 대한 예측 샘플을 유도할 수 있다.
디코딩 장치는 예측 샘플을 기반으로 복원 샘플을 유도할 수 있다(S1060). 디코딩 장치는 예측 샘플과 레지듀얼 신호을 더하여 복원 샘플을 유도할 수 있다. 디코딩 장치는 복원 샘플을 현재 블록 단위로 유도할 수도 있고, 현재 픽처 단위로 유도할 수도 있다.
본 명세서에서는 베이스 레이어와 공간적 베이스 레이어를 혼용하여 기재하고, 인핸스먼트 레이어와 공간적 인핸스먼트 레이어를 혼용하여 기재하고 있으나 이는 설명의 편의를 위한 것이다. 따라서 본 발명의 실시예들은 공간적 베이스 레이어와 공간적 인핸스먼트 레이어에 한정되지 않는다. 공간적 베이스 레이어는 베이스 레이어의 스케일러빌러티로서 해상도가 적용되는 경우에 대한 예로서 사용된 것이며, 공간적 인핸스먼트 레이어는 인핸스먼트 레이어의 스케일러빌러티로서 해상도가 적용되는 경우에 대한 예로서 사용된 것이다. 본 발명의 실시예들은 해상도 외에 상술한 바와 같이 다양한 스케일러빌러티(시점, 비트율, 프레임율 등)에도 동일하게 적용될 수 있음에 유의한다.
본 명세서에서는 설명의 편의를 위해 인터 (레이어) 예측에 참조된다는 표현과 인터 (레이어) 예측에 이용된다는 표현 그리고 인터 (레이어) 예측에 필요하다는 표현을 혼용하고 있다. 이 표현들은 서로 모순되거나 배타적인 표현이 아니며, 두 표현은 동일한 의미를 가지는 표현일 수 있다. 또한, 이 표현들에 대하여 포함 관계가 성립할 수도 있다. 구체적으로 인터 레이어 예측에 이용된다는 것과 인터 레이어 예측에 필요하다는 것은 예측 대상 픽처(블록)의 예측에 직접 참조되는 픽처의 예측에 참조된다는 것을 포함할 수 있다.
NAL 유닛 헤더와 슬라이스 시그먼트 헤더에 관한 일반론
이용: 간접 참조 포함
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함할 수 있으므로 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (19)

  1. 참조 레이어의 픽처가 인터 레이어 예측에 이용될 수 있는지를 지시하는 참조 정보를 수신하는 단계;
    상기 참조 정보를 기반으로 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계;
    상기 참조 정보를 기반으로 상기 참조 레이어의 복호화된 픽처로부터 현재 레이어의 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도하는 단계;
    상기 인터 레이어 참조 픽처 및 상기 현재 레이어의 참조 픽처를 포함하는 참조 픽처 리스트를 구성하는 단계;
    상기 참조 픽처 리스트를 기반으로 상기 현재 레이어의 현재 블록에 대한 예측을 수행하여 상기 현재 블록에 대한 예측 샘플을 유도하는 단계; 및
    상기 예측 샘플과 상기 현재 블록에 대한 레지듀얼 샘플을 기반으로 상기 현재 블록에 대한 복원 샘플을 유도하는 단계를 포함하는 비디오 디코딩 방법.
  2. 제1항에 있어서, 상기 참조 레이어의 픽처가 상기 현재 블록에 대한 예측에 참조 될 수 있거나 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조될 수 있는 경우에, 상기 참조 정보는 상기 참조 레이어의 상기 픽처가 인터 레이어 예측에 이용될 수 있다고 지시하는 것을 특징으로 하는 비디오 디코딩 방법.
  3. 제1항에 있어서, 상기 참조 레이어의 픽처가 상기 현재 블록에 대한 예측에 참조되지 않고, 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 경우에, 상기 참조 정보는 상기 참조 레이어의 픽처가 인터 레이어 예측에 이용되지 않는다는 것을 지시하는 것을 특징으로 하는 비디오 디코딩 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    상기 참조 정보가 인터 레이어 예측에 이용되지 않는다고 지시한 픽처에 대하여 참조되지 않음을 마킹하는 것을 특징으로 하는 비디오 디코딩 방법.
  5. 제4항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    참조되지 않음으로 마킹되지 않은 픽처를 복호화하거나, 참조되지 않음으로 마킹되지 않은 픽처를 저장하는 것을 특징으로 하는 비디오 디코딩 방법.
  6. 제4항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    참조되지 않음으로 마킹된 픽처는 메모리로부터 제거하는 것을 특징으로 하는 비디오 디코딩 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 인터 레이어 참조 픽처를 유도하는 단계에서는,
    상기 참조 레이어의 픽처들 중에서 상기 참조 정보가 인터 레이어 예측에 이용된다고 지시한 픽처들을 기반으로 상기 인터 레이어 참조 픽처를 유도하는 것을 특징으로 하는 비디오 복호화 방법.
  8. 제7항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    상기 참조 정보가 인터 레이어 예측에 참조되지 않는다고 지시한 픽처에 대하여 참조되지 않음을 마킹하며,
    상기 인터 레이어 참조 픽처를 유도하는 단계에서는,
    참조되지 않음으로 마킹되지 않은 상기 참조 레이어의 픽처로부터 상기 인터 레이어 참조 픽처를 유도하는 것을 특징으로 하는 비디오 디코딩 방법.
  9. 제7항에 있어서, 상기 인터 레이어 참조 픽처는 상기 현재 픽처에 의해 인터 레이어 예측에 이용될 수 있는 것으로 지시된 레이어에서 상기 참조 정보에 의해 인터 레이어 예측에 참조될 수 있는 것으로 지시된 픽처로부터 유도되는 것을 특징으로 하는 비디오 디코딩 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 참조 정보를 수신하는 단계에서는, 상기 참조 정보를 슬라이스 시그먼트 헤더에서 수신하는 것을 특징으로 하는 비디오 디코딩 방법.
  11. 참조 레이어의 픽처를 복호화하고 저장하는 단계;
    상기 참조 레이어의 복호화된 픽처로부터 현재 레이어의 현재 블록에 대한 예측에 참조되는 인터 레이어 참조 픽처를 유도하는 단계;
    상기 인터 레이어 참조 픽처 및 상기 현재 레이어의 참조 픽처를 포함하는 참조 픽처 리스트를 구성하는 단계;
    상기 참조 픽처 리스트를 상기 현재 레이어의 현재 블록에 대한 예측을 수행하여 상기 현재 블록에 대한 예측 샘플을 유도하는 단계;
    상기 예측 샘플과 상기 현재 블록에 대한 예측 블록을 기반으로 상기 현재 블록에 대한 복원 샘플을 유도하는 단계; 및
    상기 참조 레이어의 픽처들 중에서 인터 레이어에 예측에 이용될 수 있는 픽처를 지시하는 참조 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  12. 제11항에 있어서, 상기 참조 레이어의 픽처가 상기 현재 블록에 대한 예측에 참조 될 수 있거나 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조될 수 있는 경우에, 상기 참조 정보는 상기 참조 레이어의 상기 픽처가 인터 레이어 예측에 이용될 수 있다고 지시하는 것을 특징으로 하는 비디오 인코딩 방법.
  13. 제11항에 있어서, 상기 참조 레이어의 픽처가 상기 현재 블록에 대한 예측에 참조되지 않고, 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 경우에, 상기 참조 정보는 상기 참조 레이어의 픽처가 인터 레이어 예측에 이용되지 않는다는 것을 지시하는 것을 특징으로 하는 비디오 인코딩 방법.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    상기 참조 레이어의 픽처가 상기 현재 블록에 대한 예측에 참조되지 않고, 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 경우에, 상기 참조 레이어의 픽처에 대하여 참조 되지 않음을 마킹하며,
    상기 참조 정보는 상기 현재 블록에 대한 예측에 참조되지 않고, 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 픽처를 특정하는 정보를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  15. 제14항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    참조되지 않음으로 마킹되지 않은 픽처를 복호화하거나, 참조되지 않음으로 마킹되지 않은 픽처를 저장하는 것을 특징으로 하는 비디오 인코딩 방법.
  16. 제14항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    참조되지 않음으로 마킹된 픽처는 메모리로부터 제거하는 것을 특징으로 하는 비디오 인코딩 방법.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서, 상기 인터 레이어 참조 픽처를 유도하는 단계에서는,
    상기 현재 블록에 대한 예측에 참조 될 수 있거나 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조될 수 있는 픽처들을 기반으로 상기 인터 레이어 참조 픽처를 유도하고,
    상기 참조 정보는 상기 현재 블록에 대한 예측에 참조되지 않고, 상기 현재 블록에 대한 예측에 참조되는 상기 참조 레이어의 다른 픽처에 대한 예측에 참조되지 않는 픽처를 특정하는 정보를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  18. 제17항에 있어서, 상기 참조 레이어의 픽처를 복호화하고 저장하는 단계에서는,
    상기 참조 정보가 인터 레이어 예측에 참조되지 않는다고 지시하는 픽처에 대하여 참조되지 않음을 마킹하며,
    상기 인터 레이어 참조 픽처를 유도하는 단계에서는,
    참조되지 않음으로 마킹되지 않은 상기 참조 레이어의 픽처로부터 상기 인터 레이어 참조 픽처를 유도하는 것을 특징으로 하는 비디오 인코딩 방법.
  19. 제11항 내지 제18항 중 어느 한 항에 있어서, 참조 정보를 전송하는 단계에서는, 상기 참조 정보를 슬라이스 시그먼트 헤더에서 전송하는 것을 특징으로 하는 비디오 인코딩 방법.
KR1020157011908A 2012-12-14 2013-12-16 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치 KR20150095625A (ko)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261737112P 2012-12-14 2012-12-14
US61/737,112 2012-12-14
US201361749401P 2013-01-07 2013-01-07
US61/749,401 2013-01-07
US201361753879P 2013-01-17 2013-01-17
US61/753,879 2013-01-17
US201361803084P 2013-03-18 2013-03-18
US61/803,084 2013-03-18
US201361804592P 2013-03-22 2013-03-22
US61/804,592 2013-03-22
US201361810232P 2013-04-09 2013-04-09
US61/810,232 2013-04-09
PCT/KR2013/011671 WO2014092515A1 (ko) 2012-12-14 2013-12-16 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치

Publications (1)

Publication Number Publication Date
KR20150095625A true KR20150095625A (ko) 2015-08-21

Family

ID=50934697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157011908A KR20150095625A (ko) 2012-12-14 2013-12-16 비디오 인코딩 방법 및 비디오 디코딩 방법과 이를 이용하는 장치

Country Status (6)

Country Link
US (3) US10116940B2 (ko)
EP (1) EP2934010A4 (ko)
JP (1) JP6166380B2 (ko)
KR (1) KR20150095625A (ko)
CN (5) CN104871540B (ko)
WO (1) WO2014092515A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021235882A1 (ko) * 2020-05-22 2021-11-25 엘지전자 주식회사 Ilrp의 레이어 인덱스에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105191314B (zh) * 2013-01-10 2018-12-21 三星电子株式会社 用于对多层视频进行编码的方法和设备、用于对多层视频进行解码的方法和设备
EP2966864A4 (en) * 2013-04-05 2016-10-19 Samsung Electronics Co Ltd METHOD AND DEVICE FOR DECODING A MULTILAYER VIDEO AND METHOD AND DEVICE FOR CODING MULTILAYER VIDEOS
US9532067B2 (en) * 2013-04-05 2016-12-27 Sharp Kabushiki Kaisha Decoding of inter-layer reference picture set and reference picture list construction
US11438609B2 (en) * 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
KR20150009424A (ko) * 2013-07-15 2015-01-26 한국전자통신연구원 시간적 서브 레이어 정보에 기반한 계층간 예측을 이용한 영상 부, 복호화 방법 및 그 장치
US20150195564A1 (en) * 2014-01-03 2015-07-09 Qualcomm Incorporated Method for coding a reference picture set (rps) in multi-layer coding
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US9838697B2 (en) * 2014-06-25 2017-12-05 Qualcomm Incorporated Multi-layer video coding
KR20170101983A (ko) 2014-12-31 2017-09-06 노키아 테크놀로지스 오와이 스케일러블 비디오 코딩 및 디코딩을 위한 계층 간 예측
US10178403B2 (en) * 2015-06-23 2019-01-08 Qualcomm Incorporated Reference picture list construction in intra block copy mode
US20170094288A1 (en) * 2015-09-25 2017-03-30 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10645380B2 (en) * 2018-07-09 2020-05-05 Tencent America LLC Method and apparatus for video coding
US11196988B2 (en) 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction
US11595652B2 (en) * 2019-01-28 2023-02-28 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
CN113892266A (zh) * 2019-05-30 2022-01-04 华为技术有限公司 分层视频译码中的参考图像管理
WO2020256615A1 (en) * 2019-06-21 2020-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Video coding layer up-switching indication
CN111131831B (zh) * 2019-12-20 2022-11-15 西安万像电子科技有限公司 数据传输方法及装置
KR20220155293A (ko) * 2020-03-17 2022-11-22 바이트댄스 아이엔씨 비디오 코딩에서 픽처 출력 플래그 표시

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714696B1 (ko) * 2005-06-24 2007-05-04 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
KR100770704B1 (ko) * 2005-08-04 2007-10-29 삼성전자주식회사 픽쳐 스킵 방법 및 장치
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US20070086521A1 (en) 2005-10-11 2007-04-19 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
WO2008030067A1 (en) * 2006-09-07 2008-03-13 Lg Electronics Inc. Method and apparatus for decoding/encoding of a video signal
KR101120648B1 (ko) * 2006-10-16 2012-03-23 노키아 코포레이션 멀티뷰 비디오 코딩에서 효율적인 디코딩된 버퍼 관리를 구현하기 위한 시스템 및 방법
KR20090085581A (ko) 2006-10-24 2009-08-07 톰슨 라이센싱 다중-뷰 비디오 코딩을 위한 화상 관리
US8054885B2 (en) * 2006-11-09 2011-11-08 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
KR100896289B1 (ko) 2006-11-17 2009-05-07 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
WO2012122423A1 (en) * 2011-03-10 2012-09-13 Dolby Laboratories Licensing Corporation Pre-processing for bitdepth and color format scalable video coding
WO2012033327A2 (ko) * 2010-09-08 2012-03-15 엘지전자 주식회사 참조 픽쳐 리스트 구성 방법을 포함하는 영상 복호화 방법 및 장치
WO2012148128A2 (ko) * 2011-04-24 2012-11-01 엘지전자 주식회사 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치
CA2942838C (en) * 2014-03-17 2019-10-01 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021235882A1 (ko) * 2020-05-22 2021-11-25 엘지전자 주식회사 Ilrp의 레이어 인덱스에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Also Published As

Publication number Publication date
CN109982078B (zh) 2023-03-28
CN109905704B (zh) 2022-12-16
CN109982077A (zh) 2019-07-05
JP6166380B2 (ja) 2017-07-19
CN109982077B (zh) 2022-12-13
CN104871540A (zh) 2015-08-26
EP2934010A1 (en) 2015-10-21
US10462469B2 (en) 2019-10-29
US10873750B2 (en) 2020-12-22
CN109982076B (zh) 2022-12-13
US10116940B2 (en) 2018-10-30
CN104871540B (zh) 2019-04-02
US20150334399A1 (en) 2015-11-19
US20190028712A1 (en) 2019-01-24
EP2934010A4 (en) 2016-05-25
CN109982078A (zh) 2019-07-05
CN109982076A (zh) 2019-07-05
WO2014092515A1 (ko) 2014-06-19
CN109905704A (zh) 2019-06-18
JP2016504859A (ja) 2016-02-12
US20200014935A1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
US10873750B2 (en) Method for encoding video, method for decoding video, and apparatus using same
US9674532B2 (en) Image decoding method using information on a random access picture and apparatus using same
US10616607B2 (en) Method for encoding video of multi-layer structure supporting scalability and method for decoding same and apparatus therefor
JP5993092B2 (ja) 映像復号化方法及びそれを利用する装置
JP6082123B2 (ja) 複数のレイヤをサポートする映像符号化/復号化方法
WO2013094385A1 (ja) 画像処理装置および方法
KR20160019068A (ko) 멀티-계층 비디오 코딩에서의 계층간 예측 타입들에 관한 비트스트림 제약들의 프로세싱
KR20190060008A (ko) 영상 디코딩 방법 및 이를 이용하는 장치
US20220141478A1 (en) Video decoding method and apparatus using the same
US9654786B2 (en) Image decoding method and apparatus using same
CN105075260B (zh) 编码支持可伸缩性的多层结构视频的方法和解码其的方法以及用于其的装置
WO2013147497A1 (ko) 스케일러블 비디오 코딩에서 샘플 적응적 오프셋 적용 방법 및 이를 이용한 장치

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
E601 Decision to refuse application
E801 Decision on dismissal of amendment